From af8d6bfff8ed8ad9e32818f8408531f9655e7a37 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 19 Oct 2020 20:57:58 +0200 Subject: [PATCH 001/123] Fix mbstring support for Shift-JIS - Reject otherwise valid kuten codes which don't map to anything in JIS X 0208. - Handle truncated multi-byte characters as an error. - Convert Shift-JIS 0x7E to Unicode 0x203E (overline) as recommended by the Unicode Consortium, and as iconv does. - Convert Shift-JIS 0x5C to Unicode 0xA5 (yen sign) as recommended by the Unicode Consortium, and as iconv does. - Immediately handle error if first Shift-JIS byte is over 0xEF, rather than waiting to see the next byte. (Previously, the value used was 0xFC, which is the limit for the 2nd byte and not the 1st byte of a multi-byte character.) - Don't allow 'control characters' to appear in the middle of a multi-byte character. --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 144 +++++++++---------- 1 file changed, 69 insertions(+), 75 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index d993c89d7f06b..f4871981433f2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -36,6 +36,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" +static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ @@ -82,8 +83,8 @@ const struct mbfl_convert_vtbl vtbl_sjis_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_sjis_wchar_flush, + NULL }; const struct mbfl_convert_vtbl vtbl_wchar_sjis = { @@ -93,7 +94,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { NULL, mbfl_filt_conv_wchar_sjis, mbfl_filt_conv_common_flush, - NULL, + NULL }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) @@ -141,35 +142,32 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { } \ } while (0) - -/* - * SJIS => wchar - */ -int -mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) +int mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) { - int c1, s1, s2, w; + int s1, s2, w; switch (filter->status) { case 0: - if (c >= 0 && c < 0x80) { /* latin */ + if (c == 0x5C) { + CK((*filter->output_function)(0xA5, filter->data)); + } else if (c == 0x7E) { + CK((*filter->output_function)(0x203E, filter->data)); + } else if (c >= 0 && c < 0x80) { /* ASCII */ CK((*filter->output_function)(c, filter->data)); - } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ + CK((*filter->output_function)(0xFEC0 + c, filter->data)); + } else if (c > 0x80 && c < 0xF0 && c != 0xA0) { /* Kanji, first byte */ filter->status = 1; filter->cache = c; } else { - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + CK((*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data)); } break; - case 1: /* kanji second char */ + case 1: /* Kanji, second byte */ filter->status = 0; - c1 = filter->cache; - if (c >= 0x40 && c <= 0xfc && c != 0x7f) { + int c1 = filter->cache; + if (c >= 0x40 && c <= 0xFC && c != 0x7F) { SJIS_DECODE(c1, c, s1, s2); w = (s1 - 0x21)*94 + s2 - 0x21; if (w >= 0 && w < jisx0208_ucs_table_size) { @@ -178,40 +176,36 @@ mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) w = 0; } if (w <= 0) { - if (s1 < 0x7f && s2 < 0x7f) { - w = (s1 << 8) | s2; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0208; + if (s1 < 0x7F && s2 < 0x7F) { + w = (s1 << 8) | s2 | MBFL_WCSPLANE_JIS0208; } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; + w = (c1 << 8) | c | MBFL_WCSGROUP_THROUGH; } } CK((*filter->output_function)(w, filter->data)); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; + w = (c1 << 8) | c | MBFL_WCSGROUP_THROUGH; CK((*filter->output_function)(w, filter->data)); } - break; - - default: - filter->status = 0; - break; } return c; } -/* - * wchar => SJIS - */ -int -mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) +static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status) { + mbfl_filt_conv_illegal_output(filter->cache, filter); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + +int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -226,42 +220,37 @@ mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; - } else if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ - } else if (c == 0x203e) { /* OVER LINE */ - s1 = 0x2131; /* FULLWIDTH MACRON */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + if (c == 0xA5) { /* YEN SIGN */ + s1 = 0x5C; + } else if (c == 0x203E) { /* OVER LINE */ + s1 = 0x7E; + } else if (c == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ + } else if (c == 0xFF5E) { /* FULLWIDTH TILDE */ s1 = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ + } else if (c == 0x2225) { /* PARALLEL TO */ s1 = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ - s1 = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ + } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s1 = 0x215D; + } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ s1 = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ + } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ s1 = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ - s1 = 0x224c; - } - if (c == 0) { + } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s1 = 0x224C; + } else if (c == 0) { s1 = 0; - } else if (s1 <= 0) { - s1 = -1; } - } else if (s1 >= 0x8080) { + } else if (s1 >= 0x8080) { /* JIS X 0212; not supported */ s1 = -1; } + if (s1 >= 0) { - if (s1 < 0x100) { /* latin or kana */ + if (s1 < 0x100) { /* Latin/Kana */ CK((*filter->output_function)(s1, filter->data)); - } else { /* kanji */ - c1 = (s1 >> 8) & 0xff; - c2 = s1 & 0xff; + } else { /* Kanji */ + c1 = (s1 >> 8) & 0xFF; + c2 = s1 & 0xFF; SJIS_ENCODE(c1, c2, s1, s2); CK((*filter->output_function)(s1, filter->data)); CK((*filter->output_function)(s2, filter->data)); @@ -275,18 +264,23 @@ mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter) { - if (filter->status) { /* kanji second char */ - if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ + if (filter->status) { /* Kanji, second byte */ + if (c < 0x40 || c > 0xFC || c == 0x7F) { filter->flag = 1; + } else { + int s1, s2; + SJIS_DECODE(filter->status, c, s1, s2); + int w = ((s1 - 0x21) * 94) + s2 - 0x21; + if (w >= jisx0208_ucs_table_size || !jisx0208_ucs_table[w]) { + filter->flag = 1; + } } filter->status = 0; - } else if (c >= 0 && c < 0x80) { /* latin ok */ - ; - } else if (c > 0xa0 && c < 0xe0) { /* kana ok */ + } else if (c < 0x80 || (c > 0xA0 && c < 0xE0)) { /* Latin/Kana */ ; - } else if (c > 0x80 && c < 0xf0 && c != 0xa0) { /* kanji first char */ - filter->status = 1; - } else { /* bad */ + } else if (c > 0x80 && c < 0xF0 && c != 0xA0) { /* Kanji, first byte */ + filter->status = c; + } else { filter->flag = 1; } From ffb01c9d13927cf31c287c59852d876569331324 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 19 Oct 2020 21:01:34 +0200 Subject: [PATCH 002/123] Add test suite for Shift-JIS encoding --- ext/mbstring/tests/data/SHIFTJIS.txt | 7097 +++++++++++++++++++++++++ ext/mbstring/tests/sjis_encoding.phpt | 39 + 2 files changed, 7136 insertions(+) create mode 100644 ext/mbstring/tests/data/SHIFTJIS.txt create mode 100644 ext/mbstring/tests/sjis_encoding.phpt diff --git a/ext/mbstring/tests/data/SHIFTJIS.txt b/ext/mbstring/tests/data/SHIFTJIS.txt new file mode 100644 index 0000000000000..757d5a10995d1 --- /dev/null +++ b/ext/mbstring/tests/data/SHIFTJIS.txt @@ -0,0 +1,7097 @@ +# SHIFTJIS.TXT +# Date: 2015-12-02 23:52:00 GMT [KW] +# © 2015 Unicode®, Inc. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# Name: Shift-JIS to Unicode +# Unicode version: 1.1 +# Table version: 2.0 +# Table format: Format A +# Date: 2011 October 14 (header updated: 2015 December 02) +# +# General notes: +# +# +# This table contains one set of mappings from Shift-JIS into Unicode. +# Note that these data are *possible* mappings only and may not be the +# same as those used by actual products, nor may they be the best suited +# for all uses. For more information on the mappings between various code +# pages incorporating the repertoire of Shift-JIS and Unicode, consult the +# VENDORS mapping data. +# +# +# Format: Three tab-separated columns +# Column #1 is the shift-JIS code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# The official names for Unicode characters U+4E00 +# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX", +# where XXXX is the code point. Including all these +# names in this file increases its size substantially +# and needlessly. The token "" is used for the +# name of these characters. If necessary, it can be +# expanded algorithmically by a parser or editor. +# +# The entries are ordered by their Shift-JIS codes as follows: +# Single-byte characters precede double-byte characters +# The single-byte and double-byte blocks are in ascending +# hexadecimal order +# There is an alternative order some people might be preferred, +# where all the entries are in order of the top (or only) byte. +# This alternate order can be generated from the one given here +# by a simple sort. +# +# Revision History: +# +# [v2.0, 2015 December 02] +# updates to copyright notice and terms of use +# no changes to character mappings +# +# [v1.0, 2011 October 14] +# Updated terms of use to current wording. +# Updated contact information. +# No changes to the mapping data. +# +# [v0.9, 8 March 1994] +# First release. +# +# Use the Unicode reporting form +# for any questions or comments or to report errors in the data. +# +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x00A5 # YEN SIGN +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x203E # OVERLINE +0x8140 0x3000 # IDEOGRAPHIC SPACE +0x8141 0x3001 # IDEOGRAPHIC COMMA +0x8142 0x3002 # IDEOGRAPHIC FULL STOP +0x8143 0xFF0C # FULLWIDTH COMMA +0x8144 0xFF0E # FULLWIDTH FULL STOP +0x8145 0x30FB # KATAKANA MIDDLE DOT +0x8146 0xFF1A # FULLWIDTH COLON +0x8147 0xFF1B # FULLWIDTH SEMICOLON +0x8148 0xFF1F # FULLWIDTH QUESTION MARK +0x8149 0xFF01 # FULLWIDTH EXCLAMATION MARK +0x814A 0x309B # KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B 0x309C # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C 0x00B4 # ACUTE ACCENT +0x814D 0xFF40 # FULLWIDTH GRAVE ACCENT +0x814E 0x00A8 # DIAERESIS +0x814F 0xFF3E # FULLWIDTH CIRCUMFLEX ACCENT +0x8150 0xFFE3 # FULLWIDTH MACRON +0x8151 0xFF3F # FULLWIDTH LOW LINE +0x8152 0x30FD # KATAKANA ITERATION MARK +0x8153 0x30FE # KATAKANA VOICED ITERATION MARK +0x8154 0x309D # HIRAGANA ITERATION MARK +0x8155 0x309E # HIRAGANA VOICED ITERATION MARK +0x8156 0x3003 # DITTO MARK +0x8157 0x4EDD # +0x8158 0x3005 # IDEOGRAPHIC ITERATION MARK +0x8159 0x3006 # IDEOGRAPHIC CLOSING MARK +0x815A 0x3007 # IDEOGRAPHIC NUMBER ZERO +0x815B 0x30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C 0x2015 # HORIZONTAL BAR +0x815D 0x2010 # HYPHEN +0x815E 0xFF0F # FULLWIDTH SOLIDUS +0x815F 0x005C # REVERSE SOLIDUS +0x8160 0x301C # WAVE DASH +0x8161 0x2016 # DOUBLE VERTICAL LINE +0x8162 0xFF5C # FULLWIDTH VERTICAL LINE +0x8163 0x2026 # HORIZONTAL ELLIPSIS +0x8164 0x2025 # TWO DOT LEADER +0x8165 0x2018 # LEFT SINGLE QUOTATION MARK +0x8166 0x2019 # RIGHT SINGLE QUOTATION MARK +0x8167 0x201C # LEFT DOUBLE QUOTATION MARK +0x8168 0x201D # RIGHT DOUBLE QUOTATION MARK +0x8169 0xFF08 # FULLWIDTH LEFT PARENTHESIS +0x816A 0xFF09 # FULLWIDTH RIGHT PARENTHESIS +0x816B 0x3014 # LEFT TORTOISE SHELL BRACKET +0x816C 0x3015 # RIGHT TORTOISE SHELL BRACKET +0x816D 0xFF3B # FULLWIDTH LEFT SQUARE BRACKET +0x816E 0xFF3D # FULLWIDTH RIGHT SQUARE BRACKET +0x816F 0xFF5B # FULLWIDTH LEFT CURLY BRACKET +0x8170 0xFF5D # FULLWIDTH RIGHT CURLY BRACKET +0x8171 0x3008 # LEFT ANGLE BRACKET +0x8172 0x3009 # RIGHT ANGLE BRACKET +0x8173 0x300A # LEFT DOUBLE ANGLE BRACKET +0x8174 0x300B # RIGHT DOUBLE ANGLE BRACKET +0x8175 0x300C # LEFT CORNER BRACKET +0x8176 0x300D # RIGHT CORNER BRACKET +0x8177 0x300E # LEFT WHITE CORNER BRACKET +0x8178 0x300F # RIGHT WHITE CORNER BRACKET +0x8179 0x3010 # LEFT BLACK LENTICULAR BRACKET +0x817A 0x3011 # RIGHT BLACK LENTICULAR BRACKET +0x817B 0xFF0B # FULLWIDTH PLUS SIGN +0x817C 0x2212 # MINUS SIGN +0x817D 0x00B1 # PLUS-MINUS SIGN +0x817E 0x00D7 # MULTIPLICATION SIGN +0x8180 0x00F7 # DIVISION SIGN +0x8181 0xFF1D # FULLWIDTH EQUALS SIGN +0x8182 0x2260 # NOT EQUAL TO +0x8183 0xFF1C # FULLWIDTH LESS-THAN SIGN +0x8184 0xFF1E # FULLWIDTH GREATER-THAN SIGN +0x8185 0x2266 # LESS-THAN OVER EQUAL TO +0x8186 0x2267 # GREATER-THAN OVER EQUAL TO +0x8187 0x221E # INFINITY +0x8188 0x2234 # THEREFORE +0x8189 0x2642 # MALE SIGN +0x818A 0x2640 # FEMALE SIGN +0x818B 0x00B0 # DEGREE SIGN +0x818C 0x2032 # PRIME +0x818D 0x2033 # DOUBLE PRIME +0x818E 0x2103 # DEGREE CELSIUS +0x818F 0xFFE5 # FULLWIDTH YEN SIGN +0x8190 0xFF04 # FULLWIDTH DOLLAR SIGN +0x8191 0x00A2 # CENT SIGN +0x8192 0x00A3 # POUND SIGN +0x8193 0xFF05 # FULLWIDTH PERCENT SIGN +0x8194 0xFF03 # FULLWIDTH NUMBER SIGN +0x8195 0xFF06 # FULLWIDTH AMPERSAND +0x8196 0xFF0A # FULLWIDTH ASTERISK +0x8197 0xFF20 # FULLWIDTH COMMERCIAL AT +0x8198 0x00A7 # SECTION SIGN +0x8199 0x2606 # WHITE STAR +0x819A 0x2605 # BLACK STAR +0x819B 0x25CB # WHITE CIRCLE +0x819C 0x25CF # BLACK CIRCLE +0x819D 0x25CE # BULLSEYE +0x819E 0x25C7 # WHITE DIAMOND +0x819F 0x25C6 # BLACK DIAMOND +0x81A0 0x25A1 # WHITE SQUARE +0x81A1 0x25A0 # BLACK SQUARE +0x81A2 0x25B3 # WHITE UP-POINTING TRIANGLE +0x81A3 0x25B2 # BLACK UP-POINTING TRIANGLE +0x81A4 0x25BD # WHITE DOWN-POINTING TRIANGLE +0x81A5 0x25BC # BLACK DOWN-POINTING TRIANGLE +0x81A6 0x203B # REFERENCE MARK +0x81A7 0x3012 # POSTAL MARK +0x81A8 0x2192 # RIGHTWARDS ARROW +0x81A9 0x2190 # LEFTWARDS ARROW +0x81AA 0x2191 # UPWARDS ARROW +0x81AB 0x2193 # DOWNWARDS ARROW +0x81AC 0x3013 # GETA MARK +0x81B8 0x2208 # ELEMENT OF +0x81B9 0x220B # CONTAINS AS MEMBER +0x81BA 0x2286 # SUBSET OF OR EQUAL TO +0x81BB 0x2287 # SUPERSET OF OR EQUAL TO +0x81BC 0x2282 # SUBSET OF +0x81BD 0x2283 # SUPERSET OF +0x81BE 0x222A # UNION +0x81BF 0x2229 # INTERSECTION +0x81C8 0x2227 # LOGICAL AND +0x81C9 0x2228 # LOGICAL OR +0x81CA 0x00AC # NOT SIGN +0x81CB 0x21D2 # RIGHTWARDS DOUBLE ARROW +0x81CC 0x21D4 # LEFT RIGHT DOUBLE ARROW +0x81CD 0x2200 # FOR ALL +0x81CE 0x2203 # THERE EXISTS +0x81DA 0x2220 # ANGLE +0x81DB 0x22A5 # UP TACK +0x81DC 0x2312 # ARC +0x81DD 0x2202 # PARTIAL DIFFERENTIAL +0x81DE 0x2207 # NABLA +0x81DF 0x2261 # IDENTICAL TO +0x81E0 0x2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x81E1 0x226A # MUCH LESS-THAN +0x81E2 0x226B # MUCH GREATER-THAN +0x81E3 0x221A # SQUARE ROOT +0x81E4 0x223D # REVERSED TILDE +0x81E5 0x221D # PROPORTIONAL TO +0x81E6 0x2235 # BECAUSE +0x81E7 0x222B # INTEGRAL +0x81E8 0x222C # DOUBLE INTEGRAL +0x81F0 0x212B # ANGSTROM SIGN +0x81F1 0x2030 # PER MILLE SIGN +0x81F2 0x266F # MUSIC SHARP SIGN +0x81F3 0x266D # MUSIC FLAT SIGN +0x81F4 0x266A # EIGHTH NOTE +0x81F5 0x2020 # DAGGER +0x81F6 0x2021 # DOUBLE DAGGER +0x81F7 0x00B6 # PILCROW SIGN +0x81FC 0x25EF # LARGE CIRCLE +0x824F 0xFF10 # FULLWIDTH DIGIT ZERO +0x8250 0xFF11 # FULLWIDTH DIGIT ONE +0x8251 0xFF12 # FULLWIDTH DIGIT TWO +0x8252 0xFF13 # FULLWIDTH DIGIT THREE +0x8253 0xFF14 # FULLWIDTH DIGIT FOUR +0x8254 0xFF15 # FULLWIDTH DIGIT FIVE +0x8255 0xFF16 # FULLWIDTH DIGIT SIX +0x8256 0xFF17 # FULLWIDTH DIGIT SEVEN +0x8257 0xFF18 # FULLWIDTH DIGIT EIGHT +0x8258 0xFF19 # FULLWIDTH DIGIT NINE +0x8260 0xFF21 # FULLWIDTH LATIN CAPITAL LETTER A +0x8261 0xFF22 # FULLWIDTH LATIN CAPITAL LETTER B +0x8262 0xFF23 # FULLWIDTH LATIN CAPITAL LETTER C +0x8263 0xFF24 # FULLWIDTH LATIN CAPITAL LETTER D +0x8264 0xFF25 # FULLWIDTH LATIN CAPITAL LETTER E +0x8265 0xFF26 # FULLWIDTH LATIN CAPITAL LETTER F +0x8266 0xFF27 # FULLWIDTH LATIN CAPITAL LETTER G +0x8267 0xFF28 # FULLWIDTH LATIN CAPITAL LETTER H +0x8268 0xFF29 # FULLWIDTH LATIN CAPITAL LETTER I +0x8269 0xFF2A # FULLWIDTH LATIN CAPITAL LETTER J +0x826A 0xFF2B # FULLWIDTH LATIN CAPITAL LETTER K +0x826B 0xFF2C # FULLWIDTH LATIN CAPITAL LETTER L +0x826C 0xFF2D # FULLWIDTH LATIN CAPITAL LETTER M +0x826D 0xFF2E # FULLWIDTH LATIN CAPITAL LETTER N +0x826E 0xFF2F # FULLWIDTH LATIN CAPITAL LETTER O +0x826F 0xFF30 # FULLWIDTH LATIN CAPITAL LETTER P +0x8270 0xFF31 # FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 0xFF32 # FULLWIDTH LATIN CAPITAL LETTER R +0x8272 0xFF33 # FULLWIDTH LATIN CAPITAL LETTER S +0x8273 0xFF34 # FULLWIDTH LATIN CAPITAL LETTER T +0x8274 0xFF35 # FULLWIDTH LATIN CAPITAL LETTER U +0x8275 0xFF36 # FULLWIDTH LATIN CAPITAL LETTER V +0x8276 0xFF37 # FULLWIDTH LATIN CAPITAL LETTER W +0x8277 0xFF38 # FULLWIDTH LATIN CAPITAL LETTER X +0x8278 0xFF39 # FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 0xFF3A # FULLWIDTH LATIN CAPITAL LETTER Z +0x8281 0xFF41 # FULLWIDTH LATIN SMALL LETTER A +0x8282 0xFF42 # FULLWIDTH LATIN SMALL LETTER B +0x8283 0xFF43 # FULLWIDTH LATIN SMALL LETTER C +0x8284 0xFF44 # FULLWIDTH LATIN SMALL LETTER D +0x8285 0xFF45 # FULLWIDTH LATIN SMALL LETTER E +0x8286 0xFF46 # FULLWIDTH LATIN SMALL LETTER F +0x8287 0xFF47 # FULLWIDTH LATIN SMALL LETTER G +0x8288 0xFF48 # FULLWIDTH LATIN SMALL LETTER H +0x8289 0xFF49 # FULLWIDTH LATIN SMALL LETTER I +0x828A 0xFF4A # FULLWIDTH LATIN SMALL LETTER J +0x828B 0xFF4B # FULLWIDTH LATIN SMALL LETTER K +0x828C 0xFF4C # FULLWIDTH LATIN SMALL LETTER L +0x828D 0xFF4D # FULLWIDTH LATIN SMALL LETTER M +0x828E 0xFF4E # FULLWIDTH LATIN SMALL LETTER N +0x828F 0xFF4F # FULLWIDTH LATIN SMALL LETTER O +0x8290 0xFF50 # FULLWIDTH LATIN SMALL LETTER P +0x8291 0xFF51 # FULLWIDTH LATIN SMALL LETTER Q +0x8292 0xFF52 # FULLWIDTH LATIN SMALL LETTER R +0x8293 0xFF53 # FULLWIDTH LATIN SMALL LETTER S +0x8294 0xFF54 # FULLWIDTH LATIN SMALL LETTER T +0x8295 0xFF55 # FULLWIDTH LATIN SMALL LETTER U +0x8296 0xFF56 # FULLWIDTH LATIN SMALL LETTER V +0x8297 0xFF57 # FULLWIDTH LATIN SMALL LETTER W +0x8298 0xFF58 # FULLWIDTH LATIN SMALL LETTER X +0x8299 0xFF59 # FULLWIDTH LATIN SMALL LETTER Y +0x829A 0xFF5A # FULLWIDTH LATIN SMALL LETTER Z +0x829F 0x3041 # HIRAGANA LETTER SMALL A +0x82A0 0x3042 # HIRAGANA LETTER A +0x82A1 0x3043 # HIRAGANA LETTER SMALL I +0x82A2 0x3044 # HIRAGANA LETTER I +0x82A3 0x3045 # HIRAGANA LETTER SMALL U +0x82A4 0x3046 # HIRAGANA LETTER U +0x82A5 0x3047 # HIRAGANA LETTER SMALL E +0x82A6 0x3048 # HIRAGANA LETTER E +0x82A7 0x3049 # HIRAGANA LETTER SMALL O +0x82A8 0x304A # HIRAGANA LETTER O +0x82A9 0x304B # HIRAGANA LETTER KA +0x82AA 0x304C # HIRAGANA LETTER GA +0x82AB 0x304D # HIRAGANA LETTER KI +0x82AC 0x304E # HIRAGANA LETTER GI +0x82AD 0x304F # HIRAGANA LETTER KU +0x82AE 0x3050 # HIRAGANA LETTER GU +0x82AF 0x3051 # HIRAGANA LETTER KE +0x82B0 0x3052 # HIRAGANA LETTER GE +0x82B1 0x3053 # HIRAGANA LETTER KO +0x82B2 0x3054 # HIRAGANA LETTER GO +0x82B3 0x3055 # HIRAGANA LETTER SA +0x82B4 0x3056 # HIRAGANA LETTER ZA +0x82B5 0x3057 # HIRAGANA LETTER SI +0x82B6 0x3058 # HIRAGANA LETTER ZI +0x82B7 0x3059 # HIRAGANA LETTER SU +0x82B8 0x305A # HIRAGANA LETTER ZU +0x82B9 0x305B # HIRAGANA LETTER SE +0x82BA 0x305C # HIRAGANA LETTER ZE +0x82BB 0x305D # HIRAGANA LETTER SO +0x82BC 0x305E # HIRAGANA LETTER ZO +0x82BD 0x305F # HIRAGANA LETTER TA +0x82BE 0x3060 # HIRAGANA LETTER DA +0x82BF 0x3061 # HIRAGANA LETTER TI +0x82C0 0x3062 # HIRAGANA LETTER DI +0x82C1 0x3063 # HIRAGANA LETTER SMALL TU +0x82C2 0x3064 # HIRAGANA LETTER TU +0x82C3 0x3065 # HIRAGANA LETTER DU +0x82C4 0x3066 # HIRAGANA LETTER TE +0x82C5 0x3067 # HIRAGANA LETTER DE +0x82C6 0x3068 # HIRAGANA LETTER TO +0x82C7 0x3069 # HIRAGANA LETTER DO +0x82C8 0x306A # HIRAGANA LETTER NA +0x82C9 0x306B # HIRAGANA LETTER NI +0x82CA 0x306C # HIRAGANA LETTER NU +0x82CB 0x306D # HIRAGANA LETTER NE +0x82CC 0x306E # HIRAGANA LETTER NO +0x82CD 0x306F # HIRAGANA LETTER HA +0x82CE 0x3070 # HIRAGANA LETTER BA +0x82CF 0x3071 # HIRAGANA LETTER PA +0x82D0 0x3072 # HIRAGANA LETTER HI +0x82D1 0x3073 # HIRAGANA LETTER BI +0x82D2 0x3074 # HIRAGANA LETTER PI +0x82D3 0x3075 # HIRAGANA LETTER HU +0x82D4 0x3076 # HIRAGANA LETTER BU +0x82D5 0x3077 # HIRAGANA LETTER PU +0x82D6 0x3078 # HIRAGANA LETTER HE +0x82D7 0x3079 # HIRAGANA LETTER BE +0x82D8 0x307A # HIRAGANA LETTER PE +0x82D9 0x307B # HIRAGANA LETTER HO +0x82DA 0x307C # HIRAGANA LETTER BO +0x82DB 0x307D # HIRAGANA LETTER PO +0x82DC 0x307E # HIRAGANA LETTER MA +0x82DD 0x307F # HIRAGANA LETTER MI +0x82DE 0x3080 # HIRAGANA LETTER MU +0x82DF 0x3081 # HIRAGANA LETTER ME +0x82E0 0x3082 # HIRAGANA LETTER MO +0x82E1 0x3083 # HIRAGANA LETTER SMALL YA +0x82E2 0x3084 # HIRAGANA LETTER YA +0x82E3 0x3085 # HIRAGANA LETTER SMALL YU +0x82E4 0x3086 # HIRAGANA LETTER YU +0x82E5 0x3087 # HIRAGANA LETTER SMALL YO +0x82E6 0x3088 # HIRAGANA LETTER YO +0x82E7 0x3089 # HIRAGANA LETTER RA +0x82E8 0x308A # HIRAGANA LETTER RI +0x82E9 0x308B # HIRAGANA LETTER RU +0x82EA 0x308C # HIRAGANA LETTER RE +0x82EB 0x308D # HIRAGANA LETTER RO +0x82EC 0x308E # HIRAGANA LETTER SMALL WA +0x82ED 0x308F # HIRAGANA LETTER WA +0x82EE 0x3090 # HIRAGANA LETTER WI +0x82EF 0x3091 # HIRAGANA LETTER WE +0x82F0 0x3092 # HIRAGANA LETTER WO +0x82F1 0x3093 # HIRAGANA LETTER N +0x8340 0x30A1 # KATAKANA LETTER SMALL A +0x8341 0x30A2 # KATAKANA LETTER A +0x8342 0x30A3 # KATAKANA LETTER SMALL I +0x8343 0x30A4 # KATAKANA LETTER I +0x8344 0x30A5 # KATAKANA LETTER SMALL U +0x8345 0x30A6 # KATAKANA LETTER U +0x8346 0x30A7 # KATAKANA LETTER SMALL E +0x8347 0x30A8 # KATAKANA LETTER E +0x8348 0x30A9 # KATAKANA LETTER SMALL O +0x8349 0x30AA # KATAKANA LETTER O +0x834A 0x30AB # KATAKANA LETTER KA +0x834B 0x30AC # KATAKANA LETTER GA +0x834C 0x30AD # KATAKANA LETTER KI +0x834D 0x30AE # KATAKANA LETTER GI +0x834E 0x30AF # KATAKANA LETTER KU +0x834F 0x30B0 # KATAKANA LETTER GU +0x8350 0x30B1 # KATAKANA LETTER KE +0x8351 0x30B2 # KATAKANA LETTER GE +0x8352 0x30B3 # KATAKANA LETTER KO +0x8353 0x30B4 # KATAKANA LETTER GO +0x8354 0x30B5 # KATAKANA LETTER SA +0x8355 0x30B6 # KATAKANA LETTER ZA +0x8356 0x30B7 # KATAKANA LETTER SI +0x8357 0x30B8 # KATAKANA LETTER ZI +0x8358 0x30B9 # KATAKANA LETTER SU +0x8359 0x30BA # KATAKANA LETTER ZU +0x835A 0x30BB # KATAKANA LETTER SE +0x835B 0x30BC # KATAKANA LETTER ZE +0x835C 0x30BD # KATAKANA LETTER SO +0x835D 0x30BE # KATAKANA LETTER ZO +0x835E 0x30BF # KATAKANA LETTER TA +0x835F 0x30C0 # KATAKANA LETTER DA +0x8360 0x30C1 # KATAKANA LETTER TI +0x8361 0x30C2 # KATAKANA LETTER DI +0x8362 0x30C3 # KATAKANA LETTER SMALL TU +0x8363 0x30C4 # KATAKANA LETTER TU +0x8364 0x30C5 # KATAKANA LETTER DU +0x8365 0x30C6 # KATAKANA LETTER TE +0x8366 0x30C7 # KATAKANA LETTER DE +0x8367 0x30C8 # KATAKANA LETTER TO +0x8368 0x30C9 # KATAKANA LETTER DO +0x8369 0x30CA # KATAKANA LETTER NA +0x836A 0x30CB # KATAKANA LETTER NI +0x836B 0x30CC # KATAKANA LETTER NU +0x836C 0x30CD # KATAKANA LETTER NE +0x836D 0x30CE # KATAKANA LETTER NO +0x836E 0x30CF # KATAKANA LETTER HA +0x836F 0x30D0 # KATAKANA LETTER BA +0x8370 0x30D1 # KATAKANA LETTER PA +0x8371 0x30D2 # KATAKANA LETTER HI +0x8372 0x30D3 # KATAKANA LETTER BI +0x8373 0x30D4 # KATAKANA LETTER PI +0x8374 0x30D5 # KATAKANA LETTER HU +0x8375 0x30D6 # KATAKANA LETTER BU +0x8376 0x30D7 # KATAKANA LETTER PU +0x8377 0x30D8 # KATAKANA LETTER HE +0x8378 0x30D9 # KATAKANA LETTER BE +0x8379 0x30DA # KATAKANA LETTER PE +0x837A 0x30DB # KATAKANA LETTER HO +0x837B 0x30DC # KATAKANA LETTER BO +0x837C 0x30DD # KATAKANA LETTER PO +0x837D 0x30DE # KATAKANA LETTER MA +0x837E 0x30DF # KATAKANA LETTER MI +0x8380 0x30E0 # KATAKANA LETTER MU +0x8381 0x30E1 # KATAKANA LETTER ME +0x8382 0x30E2 # KATAKANA LETTER MO +0x8383 0x30E3 # KATAKANA LETTER SMALL YA +0x8384 0x30E4 # KATAKANA LETTER YA +0x8385 0x30E5 # KATAKANA LETTER SMALL YU +0x8386 0x30E6 # KATAKANA LETTER YU +0x8387 0x30E7 # KATAKANA LETTER SMALL YO +0x8388 0x30E8 # KATAKANA LETTER YO +0x8389 0x30E9 # KATAKANA LETTER RA +0x838A 0x30EA # KATAKANA LETTER RI +0x838B 0x30EB # KATAKANA LETTER RU +0x838C 0x30EC # KATAKANA LETTER RE +0x838D 0x30ED # KATAKANA LETTER RO +0x838E 0x30EE # KATAKANA LETTER SMALL WA +0x838F 0x30EF # KATAKANA LETTER WA +0x8390 0x30F0 # KATAKANA LETTER WI +0x8391 0x30F1 # KATAKANA LETTER WE +0x8392 0x30F2 # KATAKANA LETTER WO +0x8393 0x30F3 # KATAKANA LETTER N +0x8394 0x30F4 # KATAKANA LETTER VU +0x8395 0x30F5 # KATAKANA LETTER SMALL KA +0x8396 0x30F6 # KATAKANA LETTER SMALL KE +0x839F 0x0391 # GREEK CAPITAL LETTER ALPHA +0x83A0 0x0392 # GREEK CAPITAL LETTER BETA +0x83A1 0x0393 # GREEK CAPITAL LETTER GAMMA +0x83A2 0x0394 # GREEK CAPITAL LETTER DELTA +0x83A3 0x0395 # GREEK CAPITAL LETTER EPSILON +0x83A4 0x0396 # GREEK CAPITAL LETTER ZETA +0x83A5 0x0397 # GREEK CAPITAL LETTER ETA +0x83A6 0x0398 # GREEK CAPITAL LETTER THETA +0x83A7 0x0399 # GREEK CAPITAL LETTER IOTA +0x83A8 0x039A # GREEK CAPITAL LETTER KAPPA +0x83A9 0x039B # GREEK CAPITAL LETTER LAMDA +0x83AA 0x039C # GREEK CAPITAL LETTER MU +0x83AB 0x039D # GREEK CAPITAL LETTER NU +0x83AC 0x039E # GREEK CAPITAL LETTER XI +0x83AD 0x039F # GREEK CAPITAL LETTER OMICRON +0x83AE 0x03A0 # GREEK CAPITAL LETTER PI +0x83AF 0x03A1 # GREEK CAPITAL LETTER RHO +0x83B0 0x03A3 # GREEK CAPITAL LETTER SIGMA +0x83B1 0x03A4 # GREEK CAPITAL LETTER TAU +0x83B2 0x03A5 # GREEK CAPITAL LETTER UPSILON +0x83B3 0x03A6 # GREEK CAPITAL LETTER PHI +0x83B4 0x03A7 # GREEK CAPITAL LETTER CHI +0x83B5 0x03A8 # GREEK CAPITAL LETTER PSI +0x83B6 0x03A9 # GREEK CAPITAL LETTER OMEGA +0x83BF 0x03B1 # GREEK SMALL LETTER ALPHA +0x83C0 0x03B2 # GREEK SMALL LETTER BETA +0x83C1 0x03B3 # GREEK SMALL LETTER GAMMA +0x83C2 0x03B4 # GREEK SMALL LETTER DELTA +0x83C3 0x03B5 # GREEK SMALL LETTER EPSILON +0x83C4 0x03B6 # GREEK SMALL LETTER ZETA +0x83C5 0x03B7 # GREEK SMALL LETTER ETA +0x83C6 0x03B8 # GREEK SMALL LETTER THETA +0x83C7 0x03B9 # GREEK SMALL LETTER IOTA +0x83C8 0x03BA # GREEK SMALL LETTER KAPPA +0x83C9 0x03BB # GREEK SMALL LETTER LAMDA +0x83CA 0x03BC # GREEK SMALL LETTER MU +0x83CB 0x03BD # GREEK SMALL LETTER NU +0x83CC 0x03BE # GREEK SMALL LETTER XI +0x83CD 0x03BF # GREEK SMALL LETTER OMICRON +0x83CE 0x03C0 # GREEK SMALL LETTER PI +0x83CF 0x03C1 # GREEK SMALL LETTER RHO +0x83D0 0x03C3 # GREEK SMALL LETTER SIGMA +0x83D1 0x03C4 # GREEK SMALL LETTER TAU +0x83D2 0x03C5 # GREEK SMALL LETTER UPSILON +0x83D3 0x03C6 # GREEK SMALL LETTER PHI +0x83D4 0x03C7 # GREEK SMALL LETTER CHI +0x83D5 0x03C8 # GREEK SMALL LETTER PSI +0x83D6 0x03C9 # GREEK SMALL LETTER OMEGA +0x8440 0x0410 # CYRILLIC CAPITAL LETTER A +0x8441 0x0411 # CYRILLIC CAPITAL LETTER BE +0x8442 0x0412 # CYRILLIC CAPITAL LETTER VE +0x8443 0x0413 # CYRILLIC CAPITAL LETTER GHE +0x8444 0x0414 # CYRILLIC CAPITAL LETTER DE +0x8445 0x0415 # CYRILLIC CAPITAL LETTER IE +0x8446 0x0401 # CYRILLIC CAPITAL LETTER IO +0x8447 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0x8448 0x0417 # CYRILLIC CAPITAL LETTER ZE +0x8449 0x0418 # CYRILLIC CAPITAL LETTER I +0x844A 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0x844B 0x041A # CYRILLIC CAPITAL LETTER KA +0x844C 0x041B # CYRILLIC CAPITAL LETTER EL +0x844D 0x041C # CYRILLIC CAPITAL LETTER EM +0x844E 0x041D # CYRILLIC CAPITAL LETTER EN +0x844F 0x041E # CYRILLIC CAPITAL LETTER O +0x8450 0x041F # CYRILLIC CAPITAL LETTER PE +0x8451 0x0420 # CYRILLIC CAPITAL LETTER ER +0x8452 0x0421 # CYRILLIC CAPITAL LETTER ES +0x8453 0x0422 # CYRILLIC CAPITAL LETTER TE +0x8454 0x0423 # CYRILLIC CAPITAL LETTER U +0x8455 0x0424 # CYRILLIC CAPITAL LETTER EF +0x8456 0x0425 # CYRILLIC CAPITAL LETTER HA +0x8457 0x0426 # CYRILLIC CAPITAL LETTER TSE +0x8458 0x0427 # CYRILLIC CAPITAL LETTER CHE +0x8459 0x0428 # CYRILLIC CAPITAL LETTER SHA +0x845A 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0x845B 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +0x845C 0x042B # CYRILLIC CAPITAL LETTER YERU +0x845D 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E 0x042D # CYRILLIC CAPITAL LETTER E +0x845F 0x042E # CYRILLIC CAPITAL LETTER YU +0x8460 0x042F # CYRILLIC CAPITAL LETTER YA +0x8470 0x0430 # CYRILLIC SMALL LETTER A +0x8471 0x0431 # CYRILLIC SMALL LETTER BE +0x8472 0x0432 # CYRILLIC SMALL LETTER VE +0x8473 0x0433 # CYRILLIC SMALL LETTER GHE +0x8474 0x0434 # CYRILLIC SMALL LETTER DE +0x8475 0x0435 # CYRILLIC SMALL LETTER IE +0x8476 0x0451 # CYRILLIC SMALL LETTER IO +0x8477 0x0436 # CYRILLIC SMALL LETTER ZHE +0x8478 0x0437 # CYRILLIC SMALL LETTER ZE +0x8479 0x0438 # CYRILLIC SMALL LETTER I +0x847A 0x0439 # CYRILLIC SMALL LETTER SHORT I +0x847B 0x043A # CYRILLIC SMALL LETTER KA +0x847C 0x043B # CYRILLIC SMALL LETTER EL +0x847D 0x043C # CYRILLIC SMALL LETTER EM +0x847E 0x043D # CYRILLIC SMALL LETTER EN +0x8480 0x043E # CYRILLIC SMALL LETTER O +0x8481 0x043F # CYRILLIC SMALL LETTER PE +0x8482 0x0440 # CYRILLIC SMALL LETTER ER +0x8483 0x0441 # CYRILLIC SMALL LETTER ES +0x8484 0x0442 # CYRILLIC SMALL LETTER TE +0x8485 0x0443 # CYRILLIC SMALL LETTER U +0x8486 0x0444 # CYRILLIC SMALL LETTER EF +0x8487 0x0445 # CYRILLIC SMALL LETTER HA +0x8488 0x0446 # CYRILLIC SMALL LETTER TSE +0x8489 0x0447 # CYRILLIC SMALL LETTER CHE +0x848A 0x0448 # CYRILLIC SMALL LETTER SHA +0x848B 0x0449 # CYRILLIC SMALL LETTER SHCHA +0x848C 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0x848D 0x044B # CYRILLIC SMALL LETTER YERU +0x848E 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0x848F 0x044D # CYRILLIC SMALL LETTER E +0x8490 0x044E # CYRILLIC SMALL LETTER YU +0x8491 0x044F # CYRILLIC SMALL LETTER YA +0x849F 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x84A0 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x84A1 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x84A2 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84A3 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x84A4 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x84A5 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x84A6 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x84A7 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x84A8 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x84A9 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x84AA 0x2501 # BOX DRAWINGS HEAVY HORIZONTAL +0x84AB 0x2503 # BOX DRAWINGS HEAVY VERTICAL +0x84AC 0x250F # BOX DRAWINGS HEAVY DOWN AND RIGHT +0x84AD 0x2513 # BOX DRAWINGS HEAVY DOWN AND LEFT +0x84AE 0x251B # BOX DRAWINGS HEAVY UP AND LEFT +0x84AF 0x2517 # BOX DRAWINGS HEAVY UP AND RIGHT +0x84B0 0x2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT +0x84B1 0x2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL +0x84B2 0x252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT +0x84B3 0x253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL +0x84B4 0x254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +0x84B5 0x2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT +0x84B6 0x252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY +0x84B7 0x2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT +0x84B8 0x2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY +0x84B9 0x253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY +0x84BA 0x251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY +0x84BB 0x2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT +0x84BC 0x2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY +0x84BD 0x2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT +0x84BE 0x2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT +0x889F 0x4E9C # +0x88A0 0x5516 # +0x88A1 0x5A03 # +0x88A2 0x963F # +0x88A3 0x54C0 # +0x88A4 0x611B # +0x88A5 0x6328 # +0x88A6 0x59F6 # +0x88A7 0x9022 # +0x88A8 0x8475 # +0x88A9 0x831C # +0x88AA 0x7A50 # +0x88AB 0x60AA # +0x88AC 0x63E1 # +0x88AD 0x6E25 # +0x88AE 0x65ED # +0x88AF 0x8466 # +0x88B0 0x82A6 # +0x88B1 0x9BF5 # +0x88B2 0x6893 # +0x88B3 0x5727 # +0x88B4 0x65A1 # +0x88B5 0x6271 # +0x88B6 0x5B9B # +0x88B7 0x59D0 # +0x88B8 0x867B # +0x88B9 0x98F4 # +0x88BA 0x7D62 # +0x88BB 0x7DBE # +0x88BC 0x9B8E # +0x88BD 0x6216 # +0x88BE 0x7C9F # +0x88BF 0x88B7 # +0x88C0 0x5B89 # +0x88C1 0x5EB5 # +0x88C2 0x6309 # +0x88C3 0x6697 # +0x88C4 0x6848 # +0x88C5 0x95C7 # +0x88C6 0x978D # +0x88C7 0x674F # +0x88C8 0x4EE5 # +0x88C9 0x4F0A # +0x88CA 0x4F4D # +0x88CB 0x4F9D # +0x88CC 0x5049 # +0x88CD 0x56F2 # +0x88CE 0x5937 # +0x88CF 0x59D4 # +0x88D0 0x5A01 # +0x88D1 0x5C09 # +0x88D2 0x60DF # +0x88D3 0x610F # +0x88D4 0x6170 # +0x88D5 0x6613 # +0x88D6 0x6905 # +0x88D7 0x70BA # +0x88D8 0x754F # +0x88D9 0x7570 # +0x88DA 0x79FB # +0x88DB 0x7DAD # +0x88DC 0x7DEF # +0x88DD 0x80C3 # +0x88DE 0x840E # +0x88DF 0x8863 # +0x88E0 0x8B02 # +0x88E1 0x9055 # +0x88E2 0x907A # +0x88E3 0x533B # +0x88E4 0x4E95 # +0x88E5 0x4EA5 # +0x88E6 0x57DF # +0x88E7 0x80B2 # +0x88E8 0x90C1 # +0x88E9 0x78EF # +0x88EA 0x4E00 # +0x88EB 0x58F1 # +0x88EC 0x6EA2 # +0x88ED 0x9038 # +0x88EE 0x7A32 # +0x88EF 0x8328 # +0x88F0 0x828B # +0x88F1 0x9C2F # +0x88F2 0x5141 # +0x88F3 0x5370 # +0x88F4 0x54BD # +0x88F5 0x54E1 # +0x88F6 0x56E0 # +0x88F7 0x59FB # +0x88F8 0x5F15 # +0x88F9 0x98F2 # +0x88FA 0x6DEB # +0x88FB 0x80E4 # +0x88FC 0x852D # +0x8940 0x9662 # +0x8941 0x9670 # +0x8942 0x96A0 # +0x8943 0x97FB # +0x8944 0x540B # +0x8945 0x53F3 # +0x8946 0x5B87 # +0x8947 0x70CF # +0x8948 0x7FBD # +0x8949 0x8FC2 # +0x894A 0x96E8 # +0x894B 0x536F # +0x894C 0x9D5C # +0x894D 0x7ABA # +0x894E 0x4E11 # +0x894F 0x7893 # +0x8950 0x81FC # +0x8951 0x6E26 # +0x8952 0x5618 # +0x8953 0x5504 # +0x8954 0x6B1D # +0x8955 0x851A # +0x8956 0x9C3B # +0x8957 0x59E5 # +0x8958 0x53A9 # +0x8959 0x6D66 # +0x895A 0x74DC # +0x895B 0x958F # +0x895C 0x5642 # +0x895D 0x4E91 # +0x895E 0x904B # +0x895F 0x96F2 # +0x8960 0x834F # +0x8961 0x990C # +0x8962 0x53E1 # +0x8963 0x55B6 # +0x8964 0x5B30 # +0x8965 0x5F71 # +0x8966 0x6620 # +0x8967 0x66F3 # +0x8968 0x6804 # +0x8969 0x6C38 # +0x896A 0x6CF3 # +0x896B 0x6D29 # +0x896C 0x745B # +0x896D 0x76C8 # +0x896E 0x7A4E # +0x896F 0x9834 # +0x8970 0x82F1 # +0x8971 0x885B # +0x8972 0x8A60 # +0x8973 0x92ED # +0x8974 0x6DB2 # +0x8975 0x75AB # +0x8976 0x76CA # +0x8977 0x99C5 # +0x8978 0x60A6 # +0x8979 0x8B01 # +0x897A 0x8D8A # +0x897B 0x95B2 # +0x897C 0x698E # +0x897D 0x53AD # +0x897E 0x5186 # +0x8980 0x5712 # +0x8981 0x5830 # +0x8982 0x5944 # +0x8983 0x5BB4 # +0x8984 0x5EF6 # +0x8985 0x6028 # +0x8986 0x63A9 # +0x8987 0x63F4 # +0x8988 0x6CBF # +0x8989 0x6F14 # +0x898A 0x708E # +0x898B 0x7114 # +0x898C 0x7159 # +0x898D 0x71D5 # +0x898E 0x733F # +0x898F 0x7E01 # +0x8990 0x8276 # +0x8991 0x82D1 # +0x8992 0x8597 # +0x8993 0x9060 # +0x8994 0x925B # +0x8995 0x9D1B # +0x8996 0x5869 # +0x8997 0x65BC # +0x8998 0x6C5A # +0x8999 0x7525 # +0x899A 0x51F9 # +0x899B 0x592E # +0x899C 0x5965 # +0x899D 0x5F80 # +0x899E 0x5FDC # +0x899F 0x62BC # +0x89A0 0x65FA # +0x89A1 0x6A2A # +0x89A2 0x6B27 # +0x89A3 0x6BB4 # +0x89A4 0x738B # +0x89A5 0x7FC1 # +0x89A6 0x8956 # +0x89A7 0x9D2C # +0x89A8 0x9D0E # +0x89A9 0x9EC4 # +0x89AA 0x5CA1 # +0x89AB 0x6C96 # +0x89AC 0x837B # +0x89AD 0x5104 # +0x89AE 0x5C4B # +0x89AF 0x61B6 # +0x89B0 0x81C6 # +0x89B1 0x6876 # +0x89B2 0x7261 # +0x89B3 0x4E59 # +0x89B4 0x4FFA # +0x89B5 0x5378 # +0x89B6 0x6069 # +0x89B7 0x6E29 # +0x89B8 0x7A4F # +0x89B9 0x97F3 # +0x89BA 0x4E0B # +0x89BB 0x5316 # +0x89BC 0x4EEE # +0x89BD 0x4F55 # +0x89BE 0x4F3D # +0x89BF 0x4FA1 # +0x89C0 0x4F73 # +0x89C1 0x52A0 # +0x89C2 0x53EF # +0x89C3 0x5609 # +0x89C4 0x590F # +0x89C5 0x5AC1 # +0x89C6 0x5BB6 # +0x89C7 0x5BE1 # +0x89C8 0x79D1 # +0x89C9 0x6687 # +0x89CA 0x679C # +0x89CB 0x67B6 # +0x89CC 0x6B4C # +0x89CD 0x6CB3 # +0x89CE 0x706B # +0x89CF 0x73C2 # +0x89D0 0x798D # +0x89D1 0x79BE # +0x89D2 0x7A3C # +0x89D3 0x7B87 # +0x89D4 0x82B1 # +0x89D5 0x82DB # +0x89D6 0x8304 # +0x89D7 0x8377 # +0x89D8 0x83EF # +0x89D9 0x83D3 # +0x89DA 0x8766 # +0x89DB 0x8AB2 # +0x89DC 0x5629 # +0x89DD 0x8CA8 # +0x89DE 0x8FE6 # +0x89DF 0x904E # +0x89E0 0x971E # +0x89E1 0x868A # +0x89E2 0x4FC4 # +0x89E3 0x5CE8 # +0x89E4 0x6211 # +0x89E5 0x7259 # +0x89E6 0x753B # +0x89E7 0x81E5 # +0x89E8 0x82BD # +0x89E9 0x86FE # +0x89EA 0x8CC0 # +0x89EB 0x96C5 # +0x89EC 0x9913 # +0x89ED 0x99D5 # +0x89EE 0x4ECB # +0x89EF 0x4F1A # +0x89F0 0x89E3 # +0x89F1 0x56DE # +0x89F2 0x584A # +0x89F3 0x58CA # +0x89F4 0x5EFB # +0x89F5 0x5FEB # +0x89F6 0x602A # +0x89F7 0x6094 # +0x89F8 0x6062 # +0x89F9 0x61D0 # +0x89FA 0x6212 # +0x89FB 0x62D0 # +0x89FC 0x6539 # +0x8A40 0x9B41 # +0x8A41 0x6666 # +0x8A42 0x68B0 # +0x8A43 0x6D77 # +0x8A44 0x7070 # +0x8A45 0x754C # +0x8A46 0x7686 # +0x8A47 0x7D75 # +0x8A48 0x82A5 # +0x8A49 0x87F9 # +0x8A4A 0x958B # +0x8A4B 0x968E # +0x8A4C 0x8C9D # +0x8A4D 0x51F1 # +0x8A4E 0x52BE # +0x8A4F 0x5916 # +0x8A50 0x54B3 # +0x8A51 0x5BB3 # +0x8A52 0x5D16 # +0x8A53 0x6168 # +0x8A54 0x6982 # +0x8A55 0x6DAF # +0x8A56 0x788D # +0x8A57 0x84CB # +0x8A58 0x8857 # +0x8A59 0x8A72 # +0x8A5A 0x93A7 # +0x8A5B 0x9AB8 # +0x8A5C 0x6D6C # +0x8A5D 0x99A8 # +0x8A5E 0x86D9 # +0x8A5F 0x57A3 # +0x8A60 0x67FF # +0x8A61 0x86CE # +0x8A62 0x920E # +0x8A63 0x5283 # +0x8A64 0x5687 # +0x8A65 0x5404 # +0x8A66 0x5ED3 # +0x8A67 0x62E1 # +0x8A68 0x64B9 # +0x8A69 0x683C # +0x8A6A 0x6838 # +0x8A6B 0x6BBB # +0x8A6C 0x7372 # +0x8A6D 0x78BA # +0x8A6E 0x7A6B # +0x8A6F 0x899A # +0x8A70 0x89D2 # +0x8A71 0x8D6B # +0x8A72 0x8F03 # +0x8A73 0x90ED # +0x8A74 0x95A3 # +0x8A75 0x9694 # +0x8A76 0x9769 # +0x8A77 0x5B66 # +0x8A78 0x5CB3 # +0x8A79 0x697D # +0x8A7A 0x984D # +0x8A7B 0x984E # +0x8A7C 0x639B # +0x8A7D 0x7B20 # +0x8A7E 0x6A2B # +0x8A80 0x6A7F # +0x8A81 0x68B6 # +0x8A82 0x9C0D # +0x8A83 0x6F5F # +0x8A84 0x5272 # +0x8A85 0x559D # +0x8A86 0x6070 # +0x8A87 0x62EC # +0x8A88 0x6D3B # +0x8A89 0x6E07 # +0x8A8A 0x6ED1 # +0x8A8B 0x845B # +0x8A8C 0x8910 # +0x8A8D 0x8F44 # +0x8A8E 0x4E14 # +0x8A8F 0x9C39 # +0x8A90 0x53F6 # +0x8A91 0x691B # +0x8A92 0x6A3A # +0x8A93 0x9784 # +0x8A94 0x682A # +0x8A95 0x515C # +0x8A96 0x7AC3 # +0x8A97 0x84B2 # +0x8A98 0x91DC # +0x8A99 0x938C # +0x8A9A 0x565B # +0x8A9B 0x9D28 # +0x8A9C 0x6822 # +0x8A9D 0x8305 # +0x8A9E 0x8431 # +0x8A9F 0x7CA5 # +0x8AA0 0x5208 # +0x8AA1 0x82C5 # +0x8AA2 0x74E6 # +0x8AA3 0x4E7E # +0x8AA4 0x4F83 # +0x8AA5 0x51A0 # +0x8AA6 0x5BD2 # +0x8AA7 0x520A # +0x8AA8 0x52D8 # +0x8AA9 0x52E7 # +0x8AAA 0x5DFB # +0x8AAB 0x559A # +0x8AAC 0x582A # +0x8AAD 0x59E6 # +0x8AAE 0x5B8C # +0x8AAF 0x5B98 # +0x8AB0 0x5BDB # +0x8AB1 0x5E72 # +0x8AB2 0x5E79 # +0x8AB3 0x60A3 # +0x8AB4 0x611F # +0x8AB5 0x6163 # +0x8AB6 0x61BE # +0x8AB7 0x63DB # +0x8AB8 0x6562 # +0x8AB9 0x67D1 # +0x8ABA 0x6853 # +0x8ABB 0x68FA # +0x8ABC 0x6B3E # +0x8ABD 0x6B53 # +0x8ABE 0x6C57 # +0x8ABF 0x6F22 # +0x8AC0 0x6F97 # +0x8AC1 0x6F45 # +0x8AC2 0x74B0 # +0x8AC3 0x7518 # +0x8AC4 0x76E3 # +0x8AC5 0x770B # +0x8AC6 0x7AFF # +0x8AC7 0x7BA1 # +0x8AC8 0x7C21 # +0x8AC9 0x7DE9 # +0x8ACA 0x7F36 # +0x8ACB 0x7FF0 # +0x8ACC 0x809D # +0x8ACD 0x8266 # +0x8ACE 0x839E # +0x8ACF 0x89B3 # +0x8AD0 0x8ACC # +0x8AD1 0x8CAB # +0x8AD2 0x9084 # +0x8AD3 0x9451 # +0x8AD4 0x9593 # +0x8AD5 0x9591 # +0x8AD6 0x95A2 # +0x8AD7 0x9665 # +0x8AD8 0x97D3 # +0x8AD9 0x9928 # +0x8ADA 0x8218 # +0x8ADB 0x4E38 # +0x8ADC 0x542B # +0x8ADD 0x5CB8 # +0x8ADE 0x5DCC # +0x8ADF 0x73A9 # +0x8AE0 0x764C # +0x8AE1 0x773C # +0x8AE2 0x5CA9 # +0x8AE3 0x7FEB # +0x8AE4 0x8D0B # +0x8AE5 0x96C1 # +0x8AE6 0x9811 # +0x8AE7 0x9854 # +0x8AE8 0x9858 # +0x8AE9 0x4F01 # +0x8AEA 0x4F0E # +0x8AEB 0x5371 # +0x8AEC 0x559C # +0x8AED 0x5668 # +0x8AEE 0x57FA # +0x8AEF 0x5947 # +0x8AF0 0x5B09 # +0x8AF1 0x5BC4 # +0x8AF2 0x5C90 # +0x8AF3 0x5E0C # +0x8AF4 0x5E7E # +0x8AF5 0x5FCC # +0x8AF6 0x63EE # +0x8AF7 0x673A # +0x8AF8 0x65D7 # +0x8AF9 0x65E2 # +0x8AFA 0x671F # +0x8AFB 0x68CB # +0x8AFC 0x68C4 # +0x8B40 0x6A5F # +0x8B41 0x5E30 # +0x8B42 0x6BC5 # +0x8B43 0x6C17 # +0x8B44 0x6C7D # +0x8B45 0x757F # +0x8B46 0x7948 # +0x8B47 0x5B63 # +0x8B48 0x7A00 # +0x8B49 0x7D00 # +0x8B4A 0x5FBD # +0x8B4B 0x898F # +0x8B4C 0x8A18 # +0x8B4D 0x8CB4 # +0x8B4E 0x8D77 # +0x8B4F 0x8ECC # +0x8B50 0x8F1D # +0x8B51 0x98E2 # +0x8B52 0x9A0E # +0x8B53 0x9B3C # +0x8B54 0x4E80 # +0x8B55 0x507D # +0x8B56 0x5100 # +0x8B57 0x5993 # +0x8B58 0x5B9C # +0x8B59 0x622F # +0x8B5A 0x6280 # +0x8B5B 0x64EC # +0x8B5C 0x6B3A # +0x8B5D 0x72A0 # +0x8B5E 0x7591 # +0x8B5F 0x7947 # +0x8B60 0x7FA9 # +0x8B61 0x87FB # +0x8B62 0x8ABC # +0x8B63 0x8B70 # +0x8B64 0x63AC # +0x8B65 0x83CA # +0x8B66 0x97A0 # +0x8B67 0x5409 # +0x8B68 0x5403 # +0x8B69 0x55AB # +0x8B6A 0x6854 # +0x8B6B 0x6A58 # +0x8B6C 0x8A70 # +0x8B6D 0x7827 # +0x8B6E 0x6775 # +0x8B6F 0x9ECD # +0x8B70 0x5374 # +0x8B71 0x5BA2 # +0x8B72 0x811A # +0x8B73 0x8650 # +0x8B74 0x9006 # +0x8B75 0x4E18 # +0x8B76 0x4E45 # +0x8B77 0x4EC7 # +0x8B78 0x4F11 # +0x8B79 0x53CA # +0x8B7A 0x5438 # +0x8B7B 0x5BAE # +0x8B7C 0x5F13 # +0x8B7D 0x6025 # +0x8B7E 0x6551 # +0x8B80 0x673D # +0x8B81 0x6C42 # +0x8B82 0x6C72 # +0x8B83 0x6CE3 # +0x8B84 0x7078 # +0x8B85 0x7403 # +0x8B86 0x7A76 # +0x8B87 0x7AAE # +0x8B88 0x7B08 # +0x8B89 0x7D1A # +0x8B8A 0x7CFE # +0x8B8B 0x7D66 # +0x8B8C 0x65E7 # +0x8B8D 0x725B # +0x8B8E 0x53BB # +0x8B8F 0x5C45 # +0x8B90 0x5DE8 # +0x8B91 0x62D2 # +0x8B92 0x62E0 # +0x8B93 0x6319 # +0x8B94 0x6E20 # +0x8B95 0x865A # +0x8B96 0x8A31 # +0x8B97 0x8DDD # +0x8B98 0x92F8 # +0x8B99 0x6F01 # +0x8B9A 0x79A6 # +0x8B9B 0x9B5A # +0x8B9C 0x4EA8 # +0x8B9D 0x4EAB # +0x8B9E 0x4EAC # +0x8B9F 0x4F9B # +0x8BA0 0x4FA0 # +0x8BA1 0x50D1 # +0x8BA2 0x5147 # +0x8BA3 0x7AF6 # +0x8BA4 0x5171 # +0x8BA5 0x51F6 # +0x8BA6 0x5354 # +0x8BA7 0x5321 # +0x8BA8 0x537F # +0x8BA9 0x53EB # +0x8BAA 0x55AC # +0x8BAB 0x5883 # +0x8BAC 0x5CE1 # +0x8BAD 0x5F37 # +0x8BAE 0x5F4A # +0x8BAF 0x602F # +0x8BB0 0x6050 # +0x8BB1 0x606D # +0x8BB2 0x631F # +0x8BB3 0x6559 # +0x8BB4 0x6A4B # +0x8BB5 0x6CC1 # +0x8BB6 0x72C2 # +0x8BB7 0x72ED # +0x8BB8 0x77EF # +0x8BB9 0x80F8 # +0x8BBA 0x8105 # +0x8BBB 0x8208 # +0x8BBC 0x854E # +0x8BBD 0x90F7 # +0x8BBE 0x93E1 # +0x8BBF 0x97FF # +0x8BC0 0x9957 # +0x8BC1 0x9A5A # +0x8BC2 0x4EF0 # +0x8BC3 0x51DD # +0x8BC4 0x5C2D # +0x8BC5 0x6681 # +0x8BC6 0x696D # +0x8BC7 0x5C40 # +0x8BC8 0x66F2 # +0x8BC9 0x6975 # +0x8BCA 0x7389 # +0x8BCB 0x6850 # +0x8BCC 0x7C81 # +0x8BCD 0x50C5 # +0x8BCE 0x52E4 # +0x8BCF 0x5747 # +0x8BD0 0x5DFE # +0x8BD1 0x9326 # +0x8BD2 0x65A4 # +0x8BD3 0x6B23 # +0x8BD4 0x6B3D # +0x8BD5 0x7434 # +0x8BD6 0x7981 # +0x8BD7 0x79BD # +0x8BD8 0x7B4B # +0x8BD9 0x7DCA # +0x8BDA 0x82B9 # +0x8BDB 0x83CC # +0x8BDC 0x887F # +0x8BDD 0x895F # +0x8BDE 0x8B39 # +0x8BDF 0x8FD1 # +0x8BE0 0x91D1 # +0x8BE1 0x541F # +0x8BE2 0x9280 # +0x8BE3 0x4E5D # +0x8BE4 0x5036 # +0x8BE5 0x53E5 # +0x8BE6 0x533A # +0x8BE7 0x72D7 # +0x8BE8 0x7396 # +0x8BE9 0x77E9 # +0x8BEA 0x82E6 # +0x8BEB 0x8EAF # +0x8BEC 0x99C6 # +0x8BED 0x99C8 # +0x8BEE 0x99D2 # +0x8BEF 0x5177 # +0x8BF0 0x611A # +0x8BF1 0x865E # +0x8BF2 0x55B0 # +0x8BF3 0x7A7A # +0x8BF4 0x5076 # +0x8BF5 0x5BD3 # +0x8BF6 0x9047 # +0x8BF7 0x9685 # +0x8BF8 0x4E32 # +0x8BF9 0x6ADB # +0x8BFA 0x91E7 # +0x8BFB 0x5C51 # +0x8BFC 0x5C48 # +0x8C40 0x6398 # +0x8C41 0x7A9F # +0x8C42 0x6C93 # +0x8C43 0x9774 # +0x8C44 0x8F61 # +0x8C45 0x7AAA # +0x8C46 0x718A # +0x8C47 0x9688 # +0x8C48 0x7C82 # +0x8C49 0x6817 # +0x8C4A 0x7E70 # +0x8C4B 0x6851 # +0x8C4C 0x936C # +0x8C4D 0x52F2 # +0x8C4E 0x541B # +0x8C4F 0x85AB # +0x8C50 0x8A13 # +0x8C51 0x7FA4 # +0x8C52 0x8ECD # +0x8C53 0x90E1 # +0x8C54 0x5366 # +0x8C55 0x8888 # +0x8C56 0x7941 # +0x8C57 0x4FC2 # +0x8C58 0x50BE # +0x8C59 0x5211 # +0x8C5A 0x5144 # +0x8C5B 0x5553 # +0x8C5C 0x572D # +0x8C5D 0x73EA # +0x8C5E 0x578B # +0x8C5F 0x5951 # +0x8C60 0x5F62 # +0x8C61 0x5F84 # +0x8C62 0x6075 # +0x8C63 0x6176 # +0x8C64 0x6167 # +0x8C65 0x61A9 # +0x8C66 0x63B2 # +0x8C67 0x643A # +0x8C68 0x656C # +0x8C69 0x666F # +0x8C6A 0x6842 # +0x8C6B 0x6E13 # +0x8C6C 0x7566 # +0x8C6D 0x7A3D # +0x8C6E 0x7CFB # +0x8C6F 0x7D4C # +0x8C70 0x7D99 # +0x8C71 0x7E4B # +0x8C72 0x7F6B # +0x8C73 0x830E # +0x8C74 0x834A # +0x8C75 0x86CD # +0x8C76 0x8A08 # +0x8C77 0x8A63 # +0x8C78 0x8B66 # +0x8C79 0x8EFD # +0x8C7A 0x981A # +0x8C7B 0x9D8F # +0x8C7C 0x82B8 # +0x8C7D 0x8FCE # +0x8C7E 0x9BE8 # +0x8C80 0x5287 # +0x8C81 0x621F # +0x8C82 0x6483 # +0x8C83 0x6FC0 # +0x8C84 0x9699 # +0x8C85 0x6841 # +0x8C86 0x5091 # +0x8C87 0x6B20 # +0x8C88 0x6C7A # +0x8C89 0x6F54 # +0x8C8A 0x7A74 # +0x8C8B 0x7D50 # +0x8C8C 0x8840 # +0x8C8D 0x8A23 # +0x8C8E 0x6708 # +0x8C8F 0x4EF6 # +0x8C90 0x5039 # +0x8C91 0x5026 # +0x8C92 0x5065 # +0x8C93 0x517C # +0x8C94 0x5238 # +0x8C95 0x5263 # +0x8C96 0x55A7 # +0x8C97 0x570F # +0x8C98 0x5805 # +0x8C99 0x5ACC # +0x8C9A 0x5EFA # +0x8C9B 0x61B2 # +0x8C9C 0x61F8 # +0x8C9D 0x62F3 # +0x8C9E 0x6372 # +0x8C9F 0x691C # +0x8CA0 0x6A29 # +0x8CA1 0x727D # +0x8CA2 0x72AC # +0x8CA3 0x732E # +0x8CA4 0x7814 # +0x8CA5 0x786F # +0x8CA6 0x7D79 # +0x8CA7 0x770C # +0x8CA8 0x80A9 # +0x8CA9 0x898B # +0x8CAA 0x8B19 # +0x8CAB 0x8CE2 # +0x8CAC 0x8ED2 # +0x8CAD 0x9063 # +0x8CAE 0x9375 # +0x8CAF 0x967A # +0x8CB0 0x9855 # +0x8CB1 0x9A13 # +0x8CB2 0x9E78 # +0x8CB3 0x5143 # +0x8CB4 0x539F # +0x8CB5 0x53B3 # +0x8CB6 0x5E7B # +0x8CB7 0x5F26 # +0x8CB8 0x6E1B # +0x8CB9 0x6E90 # +0x8CBA 0x7384 # +0x8CBB 0x73FE # +0x8CBC 0x7D43 # +0x8CBD 0x8237 # +0x8CBE 0x8A00 # +0x8CBF 0x8AFA # +0x8CC0 0x9650 # +0x8CC1 0x4E4E # +0x8CC2 0x500B # +0x8CC3 0x53E4 # +0x8CC4 0x547C # +0x8CC5 0x56FA # +0x8CC6 0x59D1 # +0x8CC7 0x5B64 # +0x8CC8 0x5DF1 # +0x8CC9 0x5EAB # +0x8CCA 0x5F27 # +0x8CCB 0x6238 # +0x8CCC 0x6545 # +0x8CCD 0x67AF # +0x8CCE 0x6E56 # +0x8CCF 0x72D0 # +0x8CD0 0x7CCA # +0x8CD1 0x88B4 # +0x8CD2 0x80A1 # +0x8CD3 0x80E1 # +0x8CD4 0x83F0 # +0x8CD5 0x864E # +0x8CD6 0x8A87 # +0x8CD7 0x8DE8 # +0x8CD8 0x9237 # +0x8CD9 0x96C7 # +0x8CDA 0x9867 # +0x8CDB 0x9F13 # +0x8CDC 0x4E94 # +0x8CDD 0x4E92 # +0x8CDE 0x4F0D # +0x8CDF 0x5348 # +0x8CE0 0x5449 # +0x8CE1 0x543E # +0x8CE2 0x5A2F # +0x8CE3 0x5F8C # +0x8CE4 0x5FA1 # +0x8CE5 0x609F # +0x8CE6 0x68A7 # +0x8CE7 0x6A8E # +0x8CE8 0x745A # +0x8CE9 0x7881 # +0x8CEA 0x8A9E # +0x8CEB 0x8AA4 # +0x8CEC 0x8B77 # +0x8CED 0x9190 # +0x8CEE 0x4E5E # +0x8CEF 0x9BC9 # +0x8CF0 0x4EA4 # +0x8CF1 0x4F7C # +0x8CF2 0x4FAF # +0x8CF3 0x5019 # +0x8CF4 0x5016 # +0x8CF5 0x5149 # +0x8CF6 0x516C # +0x8CF7 0x529F # +0x8CF8 0x52B9 # +0x8CF9 0x52FE # +0x8CFA 0x539A # +0x8CFB 0x53E3 # +0x8CFC 0x5411 # +0x8D40 0x540E # +0x8D41 0x5589 # +0x8D42 0x5751 # +0x8D43 0x57A2 # +0x8D44 0x597D # +0x8D45 0x5B54 # +0x8D46 0x5B5D # +0x8D47 0x5B8F # +0x8D48 0x5DE5 # +0x8D49 0x5DE7 # +0x8D4A 0x5DF7 # +0x8D4B 0x5E78 # +0x8D4C 0x5E83 # +0x8D4D 0x5E9A # +0x8D4E 0x5EB7 # +0x8D4F 0x5F18 # +0x8D50 0x6052 # +0x8D51 0x614C # +0x8D52 0x6297 # +0x8D53 0x62D8 # +0x8D54 0x63A7 # +0x8D55 0x653B # +0x8D56 0x6602 # +0x8D57 0x6643 # +0x8D58 0x66F4 # +0x8D59 0x676D # +0x8D5A 0x6821 # +0x8D5B 0x6897 # +0x8D5C 0x69CB # +0x8D5D 0x6C5F # +0x8D5E 0x6D2A # +0x8D5F 0x6D69 # +0x8D60 0x6E2F # +0x8D61 0x6E9D # +0x8D62 0x7532 # +0x8D63 0x7687 # +0x8D64 0x786C # +0x8D65 0x7A3F # +0x8D66 0x7CE0 # +0x8D67 0x7D05 # +0x8D68 0x7D18 # +0x8D69 0x7D5E # +0x8D6A 0x7DB1 # +0x8D6B 0x8015 # +0x8D6C 0x8003 # +0x8D6D 0x80AF # +0x8D6E 0x80B1 # +0x8D6F 0x8154 # +0x8D70 0x818F # +0x8D71 0x822A # +0x8D72 0x8352 # +0x8D73 0x884C # +0x8D74 0x8861 # +0x8D75 0x8B1B # +0x8D76 0x8CA2 # +0x8D77 0x8CFC # +0x8D78 0x90CA # +0x8D79 0x9175 # +0x8D7A 0x9271 # +0x8D7B 0x783F # +0x8D7C 0x92FC # +0x8D7D 0x95A4 # +0x8D7E 0x964D # +0x8D80 0x9805 # +0x8D81 0x9999 # +0x8D82 0x9AD8 # +0x8D83 0x9D3B # +0x8D84 0x525B # +0x8D85 0x52AB # +0x8D86 0x53F7 # +0x8D87 0x5408 # +0x8D88 0x58D5 # +0x8D89 0x62F7 # +0x8D8A 0x6FE0 # +0x8D8B 0x8C6A # +0x8D8C 0x8F5F # +0x8D8D 0x9EB9 # +0x8D8E 0x514B # +0x8D8F 0x523B # +0x8D90 0x544A # +0x8D91 0x56FD # +0x8D92 0x7A40 # +0x8D93 0x9177 # +0x8D94 0x9D60 # +0x8D95 0x9ED2 # +0x8D96 0x7344 # +0x8D97 0x6F09 # +0x8D98 0x8170 # +0x8D99 0x7511 # +0x8D9A 0x5FFD # +0x8D9B 0x60DA # +0x8D9C 0x9AA8 # +0x8D9D 0x72DB # +0x8D9E 0x8FBC # +0x8D9F 0x6B64 # +0x8DA0 0x9803 # +0x8DA1 0x4ECA # +0x8DA2 0x56F0 # +0x8DA3 0x5764 # +0x8DA4 0x58BE # +0x8DA5 0x5A5A # +0x8DA6 0x6068 # +0x8DA7 0x61C7 # +0x8DA8 0x660F # +0x8DA9 0x6606 # +0x8DAA 0x6839 # +0x8DAB 0x68B1 # +0x8DAC 0x6DF7 # +0x8DAD 0x75D5 # +0x8DAE 0x7D3A # +0x8DAF 0x826E # +0x8DB0 0x9B42 # +0x8DB1 0x4E9B # +0x8DB2 0x4F50 # +0x8DB3 0x53C9 # +0x8DB4 0x5506 # +0x8DB5 0x5D6F # +0x8DB6 0x5DE6 # +0x8DB7 0x5DEE # +0x8DB8 0x67FB # +0x8DB9 0x6C99 # +0x8DBA 0x7473 # +0x8DBB 0x7802 # +0x8DBC 0x8A50 # +0x8DBD 0x9396 # +0x8DBE 0x88DF # +0x8DBF 0x5750 # +0x8DC0 0x5EA7 # +0x8DC1 0x632B # +0x8DC2 0x50B5 # +0x8DC3 0x50AC # +0x8DC4 0x518D # +0x8DC5 0x6700 # +0x8DC6 0x54C9 # +0x8DC7 0x585E # +0x8DC8 0x59BB # +0x8DC9 0x5BB0 # +0x8DCA 0x5F69 # +0x8DCB 0x624D # +0x8DCC 0x63A1 # +0x8DCD 0x683D # +0x8DCE 0x6B73 # +0x8DCF 0x6E08 # +0x8DD0 0x707D # +0x8DD1 0x91C7 # +0x8DD2 0x7280 # +0x8DD3 0x7815 # +0x8DD4 0x7826 # +0x8DD5 0x796D # +0x8DD6 0x658E # +0x8DD7 0x7D30 # +0x8DD8 0x83DC # +0x8DD9 0x88C1 # +0x8DDA 0x8F09 # +0x8DDB 0x969B # +0x8DDC 0x5264 # +0x8DDD 0x5728 # +0x8DDE 0x6750 # +0x8DDF 0x7F6A # +0x8DE0 0x8CA1 # +0x8DE1 0x51B4 # +0x8DE2 0x5742 # +0x8DE3 0x962A # +0x8DE4 0x583A # +0x8DE5 0x698A # +0x8DE6 0x80B4 # +0x8DE7 0x54B2 # +0x8DE8 0x5D0E # +0x8DE9 0x57FC # +0x8DEA 0x7895 # +0x8DEB 0x9DFA # +0x8DEC 0x4F5C # +0x8DED 0x524A # +0x8DEE 0x548B # +0x8DEF 0x643E # +0x8DF0 0x6628 # +0x8DF1 0x6714 # +0x8DF2 0x67F5 # +0x8DF3 0x7A84 # +0x8DF4 0x7B56 # +0x8DF5 0x7D22 # +0x8DF6 0x932F # +0x8DF7 0x685C # +0x8DF8 0x9BAD # +0x8DF9 0x7B39 # +0x8DFA 0x5319 # +0x8DFB 0x518A # +0x8DFC 0x5237 # +0x8E40 0x5BDF # +0x8E41 0x62F6 # +0x8E42 0x64AE # +0x8E43 0x64E6 # +0x8E44 0x672D # +0x8E45 0x6BBA # +0x8E46 0x85A9 # +0x8E47 0x96D1 # +0x8E48 0x7690 # +0x8E49 0x9BD6 # +0x8E4A 0x634C # +0x8E4B 0x9306 # +0x8E4C 0x9BAB # +0x8E4D 0x76BF # +0x8E4E 0x6652 # +0x8E4F 0x4E09 # +0x8E50 0x5098 # +0x8E51 0x53C2 # +0x8E52 0x5C71 # +0x8E53 0x60E8 # +0x8E54 0x6492 # +0x8E55 0x6563 # +0x8E56 0x685F # +0x8E57 0x71E6 # +0x8E58 0x73CA # +0x8E59 0x7523 # +0x8E5A 0x7B97 # +0x8E5B 0x7E82 # +0x8E5C 0x8695 # +0x8E5D 0x8B83 # +0x8E5E 0x8CDB # +0x8E5F 0x9178 # +0x8E60 0x9910 # +0x8E61 0x65AC # +0x8E62 0x66AB # +0x8E63 0x6B8B # +0x8E64 0x4ED5 # +0x8E65 0x4ED4 # +0x8E66 0x4F3A # +0x8E67 0x4F7F # +0x8E68 0x523A # +0x8E69 0x53F8 # +0x8E6A 0x53F2 # +0x8E6B 0x55E3 # +0x8E6C 0x56DB # +0x8E6D 0x58EB # +0x8E6E 0x59CB # +0x8E6F 0x59C9 # +0x8E70 0x59FF # +0x8E71 0x5B50 # +0x8E72 0x5C4D # +0x8E73 0x5E02 # +0x8E74 0x5E2B # +0x8E75 0x5FD7 # +0x8E76 0x601D # +0x8E77 0x6307 # +0x8E78 0x652F # +0x8E79 0x5B5C # +0x8E7A 0x65AF # +0x8E7B 0x65BD # +0x8E7C 0x65E8 # +0x8E7D 0x679D # +0x8E7E 0x6B62 # +0x8E80 0x6B7B # +0x8E81 0x6C0F # +0x8E82 0x7345 # +0x8E83 0x7949 # +0x8E84 0x79C1 # +0x8E85 0x7CF8 # +0x8E86 0x7D19 # +0x8E87 0x7D2B # +0x8E88 0x80A2 # +0x8E89 0x8102 # +0x8E8A 0x81F3 # +0x8E8B 0x8996 # +0x8E8C 0x8A5E # +0x8E8D 0x8A69 # +0x8E8E 0x8A66 # +0x8E8F 0x8A8C # +0x8E90 0x8AEE # +0x8E91 0x8CC7 # +0x8E92 0x8CDC # +0x8E93 0x96CC # +0x8E94 0x98FC # +0x8E95 0x6B6F # +0x8E96 0x4E8B # +0x8E97 0x4F3C # +0x8E98 0x4F8D # +0x8E99 0x5150 # +0x8E9A 0x5B57 # +0x8E9B 0x5BFA # +0x8E9C 0x6148 # +0x8E9D 0x6301 # +0x8E9E 0x6642 # +0x8E9F 0x6B21 # +0x8EA0 0x6ECB # +0x8EA1 0x6CBB # +0x8EA2 0x723E # +0x8EA3 0x74BD # +0x8EA4 0x75D4 # +0x8EA5 0x78C1 # +0x8EA6 0x793A # +0x8EA7 0x800C # +0x8EA8 0x8033 # +0x8EA9 0x81EA # +0x8EAA 0x8494 # +0x8EAB 0x8F9E # +0x8EAC 0x6C50 # +0x8EAD 0x9E7F # +0x8EAE 0x5F0F # +0x8EAF 0x8B58 # +0x8EB0 0x9D2B # +0x8EB1 0x7AFA # +0x8EB2 0x8EF8 # +0x8EB3 0x5B8D # +0x8EB4 0x96EB # +0x8EB5 0x4E03 # +0x8EB6 0x53F1 # +0x8EB7 0x57F7 # +0x8EB8 0x5931 # +0x8EB9 0x5AC9 # +0x8EBA 0x5BA4 # +0x8EBB 0x6089 # +0x8EBC 0x6E7F # +0x8EBD 0x6F06 # +0x8EBE 0x75BE # +0x8EBF 0x8CEA # +0x8EC0 0x5B9F # +0x8EC1 0x8500 # +0x8EC2 0x7BE0 # +0x8EC3 0x5072 # +0x8EC4 0x67F4 # +0x8EC5 0x829D # +0x8EC6 0x5C61 # +0x8EC7 0x854A # +0x8EC8 0x7E1E # +0x8EC9 0x820E # +0x8ECA 0x5199 # +0x8ECB 0x5C04 # +0x8ECC 0x6368 # +0x8ECD 0x8D66 # +0x8ECE 0x659C # +0x8ECF 0x716E # +0x8ED0 0x793E # +0x8ED1 0x7D17 # +0x8ED2 0x8005 # +0x8ED3 0x8B1D # +0x8ED4 0x8ECA # +0x8ED5 0x906E # +0x8ED6 0x86C7 # +0x8ED7 0x90AA # +0x8ED8 0x501F # +0x8ED9 0x52FA # +0x8EDA 0x5C3A # +0x8EDB 0x6753 # +0x8EDC 0x707C # +0x8EDD 0x7235 # +0x8EDE 0x914C # +0x8EDF 0x91C8 # +0x8EE0 0x932B # +0x8EE1 0x82E5 # +0x8EE2 0x5BC2 # +0x8EE3 0x5F31 # +0x8EE4 0x60F9 # +0x8EE5 0x4E3B # +0x8EE6 0x53D6 # +0x8EE7 0x5B88 # +0x8EE8 0x624B # +0x8EE9 0x6731 # +0x8EEA 0x6B8A # +0x8EEB 0x72E9 # +0x8EEC 0x73E0 # +0x8EED 0x7A2E # +0x8EEE 0x816B # +0x8EEF 0x8DA3 # +0x8EF0 0x9152 # +0x8EF1 0x9996 # +0x8EF2 0x5112 # +0x8EF3 0x53D7 # +0x8EF4 0x546A # +0x8EF5 0x5BFF # +0x8EF6 0x6388 # +0x8EF7 0x6A39 # +0x8EF8 0x7DAC # +0x8EF9 0x9700 # +0x8EFA 0x56DA # +0x8EFB 0x53CE # +0x8EFC 0x5468 # +0x8F40 0x5B97 # +0x8F41 0x5C31 # +0x8F42 0x5DDE # +0x8F43 0x4FEE # +0x8F44 0x6101 # +0x8F45 0x62FE # +0x8F46 0x6D32 # +0x8F47 0x79C0 # +0x8F48 0x79CB # +0x8F49 0x7D42 # +0x8F4A 0x7E4D # +0x8F4B 0x7FD2 # +0x8F4C 0x81ED # +0x8F4D 0x821F # +0x8F4E 0x8490 # +0x8F4F 0x8846 # +0x8F50 0x8972 # +0x8F51 0x8B90 # +0x8F52 0x8E74 # +0x8F53 0x8F2F # +0x8F54 0x9031 # +0x8F55 0x914B # +0x8F56 0x916C # +0x8F57 0x96C6 # +0x8F58 0x919C # +0x8F59 0x4EC0 # +0x8F5A 0x4F4F # +0x8F5B 0x5145 # +0x8F5C 0x5341 # +0x8F5D 0x5F93 # +0x8F5E 0x620E # +0x8F5F 0x67D4 # +0x8F60 0x6C41 # +0x8F61 0x6E0B # +0x8F62 0x7363 # +0x8F63 0x7E26 # +0x8F64 0x91CD # +0x8F65 0x9283 # +0x8F66 0x53D4 # +0x8F67 0x5919 # +0x8F68 0x5BBF # +0x8F69 0x6DD1 # +0x8F6A 0x795D # +0x8F6B 0x7E2E # +0x8F6C 0x7C9B # +0x8F6D 0x587E # +0x8F6E 0x719F # +0x8F6F 0x51FA # +0x8F70 0x8853 # +0x8F71 0x8FF0 # +0x8F72 0x4FCA # +0x8F73 0x5CFB # +0x8F74 0x6625 # +0x8F75 0x77AC # +0x8F76 0x7AE3 # +0x8F77 0x821C # +0x8F78 0x99FF # +0x8F79 0x51C6 # +0x8F7A 0x5FAA # +0x8F7B 0x65EC # +0x8F7C 0x696F # +0x8F7D 0x6B89 # +0x8F7E 0x6DF3 # +0x8F80 0x6E96 # +0x8F81 0x6F64 # +0x8F82 0x76FE # +0x8F83 0x7D14 # +0x8F84 0x5DE1 # +0x8F85 0x9075 # +0x8F86 0x9187 # +0x8F87 0x9806 # +0x8F88 0x51E6 # +0x8F89 0x521D # +0x8F8A 0x6240 # +0x8F8B 0x6691 # +0x8F8C 0x66D9 # +0x8F8D 0x6E1A # +0x8F8E 0x5EB6 # +0x8F8F 0x7DD2 # +0x8F90 0x7F72 # +0x8F91 0x66F8 # +0x8F92 0x85AF # +0x8F93 0x85F7 # +0x8F94 0x8AF8 # +0x8F95 0x52A9 # +0x8F96 0x53D9 # +0x8F97 0x5973 # +0x8F98 0x5E8F # +0x8F99 0x5F90 # +0x8F9A 0x6055 # +0x8F9B 0x92E4 # +0x8F9C 0x9664 # +0x8F9D 0x50B7 # +0x8F9E 0x511F # +0x8F9F 0x52DD # +0x8FA0 0x5320 # +0x8FA1 0x5347 # +0x8FA2 0x53EC # +0x8FA3 0x54E8 # +0x8FA4 0x5546 # +0x8FA5 0x5531 # +0x8FA6 0x5617 # +0x8FA7 0x5968 # +0x8FA8 0x59BE # +0x8FA9 0x5A3C # +0x8FAA 0x5BB5 # +0x8FAB 0x5C06 # +0x8FAC 0x5C0F # +0x8FAD 0x5C11 # +0x8FAE 0x5C1A # +0x8FAF 0x5E84 # +0x8FB0 0x5E8A # +0x8FB1 0x5EE0 # +0x8FB2 0x5F70 # +0x8FB3 0x627F # +0x8FB4 0x6284 # +0x8FB5 0x62DB # +0x8FB6 0x638C # +0x8FB7 0x6377 # +0x8FB8 0x6607 # +0x8FB9 0x660C # +0x8FBA 0x662D # +0x8FBB 0x6676 # +0x8FBC 0x677E # +0x8FBD 0x68A2 # +0x8FBE 0x6A1F # +0x8FBF 0x6A35 # +0x8FC0 0x6CBC # +0x8FC1 0x6D88 # +0x8FC2 0x6E09 # +0x8FC3 0x6E58 # +0x8FC4 0x713C # +0x8FC5 0x7126 # +0x8FC6 0x7167 # +0x8FC7 0x75C7 # +0x8FC8 0x7701 # +0x8FC9 0x785D # +0x8FCA 0x7901 # +0x8FCB 0x7965 # +0x8FCC 0x79F0 # +0x8FCD 0x7AE0 # +0x8FCE 0x7B11 # +0x8FCF 0x7CA7 # +0x8FD0 0x7D39 # +0x8FD1 0x8096 # +0x8FD2 0x83D6 # +0x8FD3 0x848B # +0x8FD4 0x8549 # +0x8FD5 0x885D # +0x8FD6 0x88F3 # +0x8FD7 0x8A1F # +0x8FD8 0x8A3C # +0x8FD9 0x8A54 # +0x8FDA 0x8A73 # +0x8FDB 0x8C61 # +0x8FDC 0x8CDE # +0x8FDD 0x91A4 # +0x8FDE 0x9266 # +0x8FDF 0x937E # +0x8FE0 0x9418 # +0x8FE1 0x969C # +0x8FE2 0x9798 # +0x8FE3 0x4E0A # +0x8FE4 0x4E08 # +0x8FE5 0x4E1E # +0x8FE6 0x4E57 # +0x8FE7 0x5197 # +0x8FE8 0x5270 # +0x8FE9 0x57CE # +0x8FEA 0x5834 # +0x8FEB 0x58CC # +0x8FEC 0x5B22 # +0x8FED 0x5E38 # +0x8FEE 0x60C5 # +0x8FEF 0x64FE # +0x8FF0 0x6761 # +0x8FF1 0x6756 # +0x8FF2 0x6D44 # +0x8FF3 0x72B6 # +0x8FF4 0x7573 # +0x8FF5 0x7A63 # +0x8FF6 0x84B8 # +0x8FF7 0x8B72 # +0x8FF8 0x91B8 # +0x8FF9 0x9320 # +0x8FFA 0x5631 # +0x8FFB 0x57F4 # +0x8FFC 0x98FE # +0x9040 0x62ED # +0x9041 0x690D # +0x9042 0x6B96 # +0x9043 0x71ED # +0x9044 0x7E54 # +0x9045 0x8077 # +0x9046 0x8272 # +0x9047 0x89E6 # +0x9048 0x98DF # +0x9049 0x8755 # +0x904A 0x8FB1 # +0x904B 0x5C3B # +0x904C 0x4F38 # +0x904D 0x4FE1 # +0x904E 0x4FB5 # +0x904F 0x5507 # +0x9050 0x5A20 # +0x9051 0x5BDD # +0x9052 0x5BE9 # +0x9053 0x5FC3 # +0x9054 0x614E # +0x9055 0x632F # +0x9056 0x65B0 # +0x9057 0x664B # +0x9058 0x68EE # +0x9059 0x699B # +0x905A 0x6D78 # +0x905B 0x6DF1 # +0x905C 0x7533 # +0x905D 0x75B9 # +0x905E 0x771F # +0x905F 0x795E # +0x9060 0x79E6 # +0x9061 0x7D33 # +0x9062 0x81E3 # +0x9063 0x82AF # +0x9064 0x85AA # +0x9065 0x89AA # +0x9066 0x8A3A # +0x9067 0x8EAB # +0x9068 0x8F9B # +0x9069 0x9032 # +0x906A 0x91DD # +0x906B 0x9707 # +0x906C 0x4EBA # +0x906D 0x4EC1 # +0x906E 0x5203 # +0x906F 0x5875 # +0x9070 0x58EC # +0x9071 0x5C0B # +0x9072 0x751A # +0x9073 0x5C3D # +0x9074 0x814E # +0x9075 0x8A0A # +0x9076 0x8FC5 # +0x9077 0x9663 # +0x9078 0x976D # +0x9079 0x7B25 # +0x907A 0x8ACF # +0x907B 0x9808 # +0x907C 0x9162 # +0x907D 0x56F3 # +0x907E 0x53A8 # +0x9080 0x9017 # +0x9081 0x5439 # +0x9082 0x5782 # +0x9083 0x5E25 # +0x9084 0x63A8 # +0x9085 0x6C34 # +0x9086 0x708A # +0x9087 0x7761 # +0x9088 0x7C8B # +0x9089 0x7FE0 # +0x908A 0x8870 # +0x908B 0x9042 # +0x908C 0x9154 # +0x908D 0x9310 # +0x908E 0x9318 # +0x908F 0x968F # +0x9090 0x745E # +0x9091 0x9AC4 # +0x9092 0x5D07 # +0x9093 0x5D69 # +0x9094 0x6570 # +0x9095 0x67A2 # +0x9096 0x8DA8 # +0x9097 0x96DB # +0x9098 0x636E # +0x9099 0x6749 # +0x909A 0x6919 # +0x909B 0x83C5 # +0x909C 0x9817 # +0x909D 0x96C0 # +0x909E 0x88FE # +0x909F 0x6F84 # +0x90A0 0x647A # +0x90A1 0x5BF8 # +0x90A2 0x4E16 # +0x90A3 0x702C # +0x90A4 0x755D # +0x90A5 0x662F # +0x90A6 0x51C4 # +0x90A7 0x5236 # +0x90A8 0x52E2 # +0x90A9 0x59D3 # +0x90AA 0x5F81 # +0x90AB 0x6027 # +0x90AC 0x6210 # +0x90AD 0x653F # +0x90AE 0x6574 # +0x90AF 0x661F # +0x90B0 0x6674 # +0x90B1 0x68F2 # +0x90B2 0x6816 # +0x90B3 0x6B63 # +0x90B4 0x6E05 # +0x90B5 0x7272 # +0x90B6 0x751F # +0x90B7 0x76DB # +0x90B8 0x7CBE # +0x90B9 0x8056 # +0x90BA 0x58F0 # +0x90BB 0x88FD # +0x90BC 0x897F # +0x90BD 0x8AA0 # +0x90BE 0x8A93 # +0x90BF 0x8ACB # +0x90C0 0x901D # +0x90C1 0x9192 # +0x90C2 0x9752 # +0x90C3 0x9759 # +0x90C4 0x6589 # +0x90C5 0x7A0E # +0x90C6 0x8106 # +0x90C7 0x96BB # +0x90C8 0x5E2D # +0x90C9 0x60DC # +0x90CA 0x621A # +0x90CB 0x65A5 # +0x90CC 0x6614 # +0x90CD 0x6790 # +0x90CE 0x77F3 # +0x90CF 0x7A4D # +0x90D0 0x7C4D # +0x90D1 0x7E3E # +0x90D2 0x810A # +0x90D3 0x8CAC # +0x90D4 0x8D64 # +0x90D5 0x8DE1 # +0x90D6 0x8E5F # +0x90D7 0x78A9 # +0x90D8 0x5207 # +0x90D9 0x62D9 # +0x90DA 0x63A5 # +0x90DB 0x6442 # +0x90DC 0x6298 # +0x90DD 0x8A2D # +0x90DE 0x7A83 # +0x90DF 0x7BC0 # +0x90E0 0x8AAC # +0x90E1 0x96EA # +0x90E2 0x7D76 # +0x90E3 0x820C # +0x90E4 0x8749 # +0x90E5 0x4ED9 # +0x90E6 0x5148 # +0x90E7 0x5343 # +0x90E8 0x5360 # +0x90E9 0x5BA3 # +0x90EA 0x5C02 # +0x90EB 0x5C16 # +0x90EC 0x5DDD # +0x90ED 0x6226 # +0x90EE 0x6247 # +0x90EF 0x64B0 # +0x90F0 0x6813 # +0x90F1 0x6834 # +0x90F2 0x6CC9 # +0x90F3 0x6D45 # +0x90F4 0x6D17 # +0x90F5 0x67D3 # +0x90F6 0x6F5C # +0x90F7 0x714E # +0x90F8 0x717D # +0x90F9 0x65CB # +0x90FA 0x7A7F # +0x90FB 0x7BAD # +0x90FC 0x7DDA # +0x9140 0x7E4A # +0x9141 0x7FA8 # +0x9142 0x817A # +0x9143 0x821B # +0x9144 0x8239 # +0x9145 0x85A6 # +0x9146 0x8A6E # +0x9147 0x8CCE # +0x9148 0x8DF5 # +0x9149 0x9078 # +0x914A 0x9077 # +0x914B 0x92AD # +0x914C 0x9291 # +0x914D 0x9583 # +0x914E 0x9BAE # +0x914F 0x524D # +0x9150 0x5584 # +0x9151 0x6F38 # +0x9152 0x7136 # +0x9153 0x5168 # +0x9154 0x7985 # +0x9155 0x7E55 # +0x9156 0x81B3 # +0x9157 0x7CCE # +0x9158 0x564C # +0x9159 0x5851 # +0x915A 0x5CA8 # +0x915B 0x63AA # +0x915C 0x66FE # +0x915D 0x66FD # +0x915E 0x695A # +0x915F 0x72D9 # +0x9160 0x758F # +0x9161 0x758E # +0x9162 0x790E # +0x9163 0x7956 # +0x9164 0x79DF # +0x9165 0x7C97 # +0x9166 0x7D20 # +0x9167 0x7D44 # +0x9168 0x8607 # +0x9169 0x8A34 # +0x916A 0x963B # +0x916B 0x9061 # +0x916C 0x9F20 # +0x916D 0x50E7 # +0x916E 0x5275 # +0x916F 0x53CC # +0x9170 0x53E2 # +0x9171 0x5009 # +0x9172 0x55AA # +0x9173 0x58EE # +0x9174 0x594F # +0x9175 0x723D # +0x9176 0x5B8B # +0x9177 0x5C64 # +0x9178 0x531D # +0x9179 0x60E3 # +0x917A 0x60F3 # +0x917B 0x635C # +0x917C 0x6383 # +0x917D 0x633F # +0x917E 0x63BB # +0x9180 0x64CD # +0x9181 0x65E9 # +0x9182 0x66F9 # +0x9183 0x5DE3 # +0x9184 0x69CD # +0x9185 0x69FD # +0x9186 0x6F15 # +0x9187 0x71E5 # +0x9188 0x4E89 # +0x9189 0x75E9 # +0x918A 0x76F8 # +0x918B 0x7A93 # +0x918C 0x7CDF # +0x918D 0x7DCF # +0x918E 0x7D9C # +0x918F 0x8061 # +0x9190 0x8349 # +0x9191 0x8358 # +0x9192 0x846C # +0x9193 0x84BC # +0x9194 0x85FB # +0x9195 0x88C5 # +0x9196 0x8D70 # +0x9197 0x9001 # +0x9198 0x906D # +0x9199 0x9397 # +0x919A 0x971C # +0x919B 0x9A12 # +0x919C 0x50CF # +0x919D 0x5897 # +0x919E 0x618E # +0x919F 0x81D3 # +0x91A0 0x8535 # +0x91A1 0x8D08 # +0x91A2 0x9020 # +0x91A3 0x4FC3 # +0x91A4 0x5074 # +0x91A5 0x5247 # +0x91A6 0x5373 # +0x91A7 0x606F # +0x91A8 0x6349 # +0x91A9 0x675F # +0x91AA 0x6E2C # +0x91AB 0x8DB3 # +0x91AC 0x901F # +0x91AD 0x4FD7 # +0x91AE 0x5C5E # +0x91AF 0x8CCA # +0x91B0 0x65CF # +0x91B1 0x7D9A # +0x91B2 0x5352 # +0x91B3 0x8896 # +0x91B4 0x5176 # +0x91B5 0x63C3 # +0x91B6 0x5B58 # +0x91B7 0x5B6B # +0x91B8 0x5C0A # +0x91B9 0x640D # +0x91BA 0x6751 # +0x91BB 0x905C # +0x91BC 0x4ED6 # +0x91BD 0x591A # +0x91BE 0x592A # +0x91BF 0x6C70 # +0x91C0 0x8A51 # +0x91C1 0x553E # +0x91C2 0x5815 # +0x91C3 0x59A5 # +0x91C4 0x60F0 # +0x91C5 0x6253 # +0x91C6 0x67C1 # +0x91C7 0x8235 # +0x91C8 0x6955 # +0x91C9 0x9640 # +0x91CA 0x99C4 # +0x91CB 0x9A28 # +0x91CC 0x4F53 # +0x91CD 0x5806 # +0x91CE 0x5BFE # +0x91CF 0x8010 # +0x91D0 0x5CB1 # +0x91D1 0x5E2F # +0x91D2 0x5F85 # +0x91D3 0x6020 # +0x91D4 0x614B # +0x91D5 0x6234 # +0x91D6 0x66FF # +0x91D7 0x6CF0 # +0x91D8 0x6EDE # +0x91D9 0x80CE # +0x91DA 0x817F # +0x91DB 0x82D4 # +0x91DC 0x888B # +0x91DD 0x8CB8 # +0x91DE 0x9000 # +0x91DF 0x902E # +0x91E0 0x968A # +0x91E1 0x9EDB # +0x91E2 0x9BDB # +0x91E3 0x4EE3 # +0x91E4 0x53F0 # +0x91E5 0x5927 # +0x91E6 0x7B2C # +0x91E7 0x918D # +0x91E8 0x984C # +0x91E9 0x9DF9 # +0x91EA 0x6EDD # +0x91EB 0x7027 # +0x91EC 0x5353 # +0x91ED 0x5544 # +0x91EE 0x5B85 # +0x91EF 0x6258 # +0x91F0 0x629E # +0x91F1 0x62D3 # +0x91F2 0x6CA2 # +0x91F3 0x6FEF # +0x91F4 0x7422 # +0x91F5 0x8A17 # +0x91F6 0x9438 # +0x91F7 0x6FC1 # +0x91F8 0x8AFE # +0x91F9 0x8338 # +0x91FA 0x51E7 # +0x91FB 0x86F8 # +0x91FC 0x53EA # +0x9240 0x53E9 # +0x9241 0x4F46 # +0x9242 0x9054 # +0x9243 0x8FB0 # +0x9244 0x596A # +0x9245 0x8131 # +0x9246 0x5DFD # +0x9247 0x7AEA # +0x9248 0x8FBF # +0x9249 0x68DA # +0x924A 0x8C37 # +0x924B 0x72F8 # +0x924C 0x9C48 # +0x924D 0x6A3D # +0x924E 0x8AB0 # +0x924F 0x4E39 # +0x9250 0x5358 # +0x9251 0x5606 # +0x9252 0x5766 # +0x9253 0x62C5 # +0x9254 0x63A2 # +0x9255 0x65E6 # +0x9256 0x6B4E # +0x9257 0x6DE1 # +0x9258 0x6E5B # +0x9259 0x70AD # +0x925A 0x77ED # +0x925B 0x7AEF # +0x925C 0x7BAA # +0x925D 0x7DBB # +0x925E 0x803D # +0x925F 0x80C6 # +0x9260 0x86CB # +0x9261 0x8A95 # +0x9262 0x935B # +0x9263 0x56E3 # +0x9264 0x58C7 # +0x9265 0x5F3E # +0x9266 0x65AD # +0x9267 0x6696 # +0x9268 0x6A80 # +0x9269 0x6BB5 # +0x926A 0x7537 # +0x926B 0x8AC7 # +0x926C 0x5024 # +0x926D 0x77E5 # +0x926E 0x5730 # +0x926F 0x5F1B # +0x9270 0x6065 # +0x9271 0x667A # +0x9272 0x6C60 # +0x9273 0x75F4 # +0x9274 0x7A1A # +0x9275 0x7F6E # +0x9276 0x81F4 # +0x9277 0x8718 # +0x9278 0x9045 # +0x9279 0x99B3 # +0x927A 0x7BC9 # +0x927B 0x755C # +0x927C 0x7AF9 # +0x927D 0x7B51 # +0x927E 0x84C4 # +0x9280 0x9010 # +0x9281 0x79E9 # +0x9282 0x7A92 # +0x9283 0x8336 # +0x9284 0x5AE1 # +0x9285 0x7740 # +0x9286 0x4E2D # +0x9287 0x4EF2 # +0x9288 0x5B99 # +0x9289 0x5FE0 # +0x928A 0x62BD # +0x928B 0x663C # +0x928C 0x67F1 # +0x928D 0x6CE8 # +0x928E 0x866B # +0x928F 0x8877 # +0x9290 0x8A3B # +0x9291 0x914E # +0x9292 0x92F3 # +0x9293 0x99D0 # +0x9294 0x6A17 # +0x9295 0x7026 # +0x9296 0x732A # +0x9297 0x82E7 # +0x9298 0x8457 # +0x9299 0x8CAF # +0x929A 0x4E01 # +0x929B 0x5146 # +0x929C 0x51CB # +0x929D 0x558B # +0x929E 0x5BF5 # +0x929F 0x5E16 # +0x92A0 0x5E33 # +0x92A1 0x5E81 # +0x92A2 0x5F14 # +0x92A3 0x5F35 # +0x92A4 0x5F6B # +0x92A5 0x5FB4 # +0x92A6 0x61F2 # +0x92A7 0x6311 # +0x92A8 0x66A2 # +0x92A9 0x671D # +0x92AA 0x6F6E # +0x92AB 0x7252 # +0x92AC 0x753A # +0x92AD 0x773A # +0x92AE 0x8074 # +0x92AF 0x8139 # +0x92B0 0x8178 # +0x92B1 0x8776 # +0x92B2 0x8ABF # +0x92B3 0x8ADC # +0x92B4 0x8D85 # +0x92B5 0x8DF3 # +0x92B6 0x929A # +0x92B7 0x9577 # +0x92B8 0x9802 # +0x92B9 0x9CE5 # +0x92BA 0x52C5 # +0x92BB 0x6357 # +0x92BC 0x76F4 # +0x92BD 0x6715 # +0x92BE 0x6C88 # +0x92BF 0x73CD # +0x92C0 0x8CC3 # +0x92C1 0x93AE # +0x92C2 0x9673 # +0x92C3 0x6D25 # +0x92C4 0x589C # +0x92C5 0x690E # +0x92C6 0x69CC # +0x92C7 0x8FFD # +0x92C8 0x939A # +0x92C9 0x75DB # +0x92CA 0x901A # +0x92CB 0x585A # +0x92CC 0x6802 # +0x92CD 0x63B4 # +0x92CE 0x69FB # +0x92CF 0x4F43 # +0x92D0 0x6F2C # +0x92D1 0x67D8 # +0x92D2 0x8FBB # +0x92D3 0x8526 # +0x92D4 0x7DB4 # +0x92D5 0x9354 # +0x92D6 0x693F # +0x92D7 0x6F70 # +0x92D8 0x576A # +0x92D9 0x58F7 # +0x92DA 0x5B2C # +0x92DB 0x7D2C # +0x92DC 0x722A # +0x92DD 0x540A # +0x92DE 0x91E3 # +0x92DF 0x9DB4 # +0x92E0 0x4EAD # +0x92E1 0x4F4E # +0x92E2 0x505C # +0x92E3 0x5075 # +0x92E4 0x5243 # +0x92E5 0x8C9E # +0x92E6 0x5448 # +0x92E7 0x5824 # +0x92E8 0x5B9A # +0x92E9 0x5E1D # +0x92EA 0x5E95 # +0x92EB 0x5EAD # +0x92EC 0x5EF7 # +0x92ED 0x5F1F # +0x92EE 0x608C # +0x92EF 0x62B5 # +0x92F0 0x633A # +0x92F1 0x63D0 # +0x92F2 0x68AF # +0x92F3 0x6C40 # +0x92F4 0x7887 # +0x92F5 0x798E # +0x92F6 0x7A0B # +0x92F7 0x7DE0 # +0x92F8 0x8247 # +0x92F9 0x8A02 # +0x92FA 0x8AE6 # +0x92FB 0x8E44 # +0x92FC 0x9013 # +0x9340 0x90B8 # +0x9341 0x912D # +0x9342 0x91D8 # +0x9343 0x9F0E # +0x9344 0x6CE5 # +0x9345 0x6458 # +0x9346 0x64E2 # +0x9347 0x6575 # +0x9348 0x6EF4 # +0x9349 0x7684 # +0x934A 0x7B1B # +0x934B 0x9069 # +0x934C 0x93D1 # +0x934D 0x6EBA # +0x934E 0x54F2 # +0x934F 0x5FB9 # +0x9350 0x64A4 # +0x9351 0x8F4D # +0x9352 0x8FED # +0x9353 0x9244 # +0x9354 0x5178 # +0x9355 0x586B # +0x9356 0x5929 # +0x9357 0x5C55 # +0x9358 0x5E97 # +0x9359 0x6DFB # +0x935A 0x7E8F # +0x935B 0x751C # +0x935C 0x8CBC # +0x935D 0x8EE2 # +0x935E 0x985B # +0x935F 0x70B9 # +0x9360 0x4F1D # +0x9361 0x6BBF # +0x9362 0x6FB1 # +0x9363 0x7530 # +0x9364 0x96FB # +0x9365 0x514E # +0x9366 0x5410 # +0x9367 0x5835 # +0x9368 0x5857 # +0x9369 0x59AC # +0x936A 0x5C60 # +0x936B 0x5F92 # +0x936C 0x6597 # +0x936D 0x675C # +0x936E 0x6E21 # +0x936F 0x767B # +0x9370 0x83DF # +0x9371 0x8CED # +0x9372 0x9014 # +0x9373 0x90FD # +0x9374 0x934D # +0x9375 0x7825 # +0x9376 0x783A # +0x9377 0x52AA # +0x9378 0x5EA6 # +0x9379 0x571F # +0x937A 0x5974 # +0x937B 0x6012 # +0x937C 0x5012 # +0x937D 0x515A # +0x937E 0x51AC # +0x9380 0x51CD # +0x9381 0x5200 # +0x9382 0x5510 # +0x9383 0x5854 # +0x9384 0x5858 # +0x9385 0x5957 # +0x9386 0x5B95 # +0x9387 0x5CF6 # +0x9388 0x5D8B # +0x9389 0x60BC # +0x938A 0x6295 # +0x938B 0x642D # +0x938C 0x6771 # +0x938D 0x6843 # +0x938E 0x68BC # +0x938F 0x68DF # +0x9390 0x76D7 # +0x9391 0x6DD8 # +0x9392 0x6E6F # +0x9393 0x6D9B # +0x9394 0x706F # +0x9395 0x71C8 # +0x9396 0x5F53 # +0x9397 0x75D8 # +0x9398 0x7977 # +0x9399 0x7B49 # +0x939A 0x7B54 # +0x939B 0x7B52 # +0x939C 0x7CD6 # +0x939D 0x7D71 # +0x939E 0x5230 # +0x939F 0x8463 # +0x93A0 0x8569 # +0x93A1 0x85E4 # +0x93A2 0x8A0E # +0x93A3 0x8B04 # +0x93A4 0x8C46 # +0x93A5 0x8E0F # +0x93A6 0x9003 # +0x93A7 0x900F # +0x93A8 0x9419 # +0x93A9 0x9676 # +0x93AA 0x982D # +0x93AB 0x9A30 # +0x93AC 0x95D8 # +0x93AD 0x50CD # +0x93AE 0x52D5 # +0x93AF 0x540C # +0x93B0 0x5802 # +0x93B1 0x5C0E # +0x93B2 0x61A7 # +0x93B3 0x649E # +0x93B4 0x6D1E # +0x93B5 0x77B3 # +0x93B6 0x7AE5 # +0x93B7 0x80F4 # +0x93B8 0x8404 # +0x93B9 0x9053 # +0x93BA 0x9285 # +0x93BB 0x5CE0 # +0x93BC 0x9D07 # +0x93BD 0x533F # +0x93BE 0x5F97 # +0x93BF 0x5FB3 # +0x93C0 0x6D9C # +0x93C1 0x7279 # +0x93C2 0x7763 # +0x93C3 0x79BF # +0x93C4 0x7BE4 # +0x93C5 0x6BD2 # +0x93C6 0x72EC # +0x93C7 0x8AAD # +0x93C8 0x6803 # +0x93C9 0x6A61 # +0x93CA 0x51F8 # +0x93CB 0x7A81 # +0x93CC 0x6934 # +0x93CD 0x5C4A # +0x93CE 0x9CF6 # +0x93CF 0x82EB # +0x93D0 0x5BC5 # +0x93D1 0x9149 # +0x93D2 0x701E # +0x93D3 0x5678 # +0x93D4 0x5C6F # +0x93D5 0x60C7 # +0x93D6 0x6566 # +0x93D7 0x6C8C # +0x93D8 0x8C5A # +0x93D9 0x9041 # +0x93DA 0x9813 # +0x93DB 0x5451 # +0x93DC 0x66C7 # +0x93DD 0x920D # +0x93DE 0x5948 # +0x93DF 0x90A3 # +0x93E0 0x5185 # +0x93E1 0x4E4D # +0x93E2 0x51EA # +0x93E3 0x8599 # +0x93E4 0x8B0E # +0x93E5 0x7058 # +0x93E6 0x637A # +0x93E7 0x934B # +0x93E8 0x6962 # +0x93E9 0x99B4 # +0x93EA 0x7E04 # +0x93EB 0x7577 # +0x93EC 0x5357 # +0x93ED 0x6960 # +0x93EE 0x8EDF # +0x93EF 0x96E3 # +0x93F0 0x6C5D # +0x93F1 0x4E8C # +0x93F2 0x5C3C # +0x93F3 0x5F10 # +0x93F4 0x8FE9 # +0x93F5 0x5302 # +0x93F6 0x8CD1 # +0x93F7 0x8089 # +0x93F8 0x8679 # +0x93F9 0x5EFF # +0x93FA 0x65E5 # +0x93FB 0x4E73 # +0x93FC 0x5165 # +0x9440 0x5982 # +0x9441 0x5C3F # +0x9442 0x97EE # +0x9443 0x4EFB # +0x9444 0x598A # +0x9445 0x5FCD # +0x9446 0x8A8D # +0x9447 0x6FE1 # +0x9448 0x79B0 # +0x9449 0x7962 # +0x944A 0x5BE7 # +0x944B 0x8471 # +0x944C 0x732B # +0x944D 0x71B1 # +0x944E 0x5E74 # +0x944F 0x5FF5 # +0x9450 0x637B # +0x9451 0x649A # +0x9452 0x71C3 # +0x9453 0x7C98 # +0x9454 0x4E43 # +0x9455 0x5EFC # +0x9456 0x4E4B # +0x9457 0x57DC # +0x9458 0x56A2 # +0x9459 0x60A9 # +0x945A 0x6FC3 # +0x945B 0x7D0D # +0x945C 0x80FD # +0x945D 0x8133 # +0x945E 0x81BF # +0x945F 0x8FB2 # +0x9460 0x8997 # +0x9461 0x86A4 # +0x9462 0x5DF4 # +0x9463 0x628A # +0x9464 0x64AD # +0x9465 0x8987 # +0x9466 0x6777 # +0x9467 0x6CE2 # +0x9468 0x6D3E # +0x9469 0x7436 # +0x946A 0x7834 # +0x946B 0x5A46 # +0x946C 0x7F75 # +0x946D 0x82AD # +0x946E 0x99AC # +0x946F 0x4FF3 # +0x9470 0x5EC3 # +0x9471 0x62DD # +0x9472 0x6392 # +0x9473 0x6557 # +0x9474 0x676F # +0x9475 0x76C3 # +0x9476 0x724C # +0x9477 0x80CC # +0x9478 0x80BA # +0x9479 0x8F29 # +0x947A 0x914D # +0x947B 0x500D # +0x947C 0x57F9 # +0x947D 0x5A92 # +0x947E 0x6885 # +0x9480 0x6973 # +0x9481 0x7164 # +0x9482 0x72FD # +0x9483 0x8CB7 # +0x9484 0x58F2 # +0x9485 0x8CE0 # +0x9486 0x966A # +0x9487 0x9019 # +0x9488 0x877F # +0x9489 0x79E4 # +0x948A 0x77E7 # +0x948B 0x8429 # +0x948C 0x4F2F # +0x948D 0x5265 # +0x948E 0x535A # +0x948F 0x62CD # +0x9490 0x67CF # +0x9491 0x6CCA # +0x9492 0x767D # +0x9493 0x7B94 # +0x9494 0x7C95 # +0x9495 0x8236 # +0x9496 0x8584 # +0x9497 0x8FEB # +0x9498 0x66DD # +0x9499 0x6F20 # +0x949A 0x7206 # +0x949B 0x7E1B # +0x949C 0x83AB # +0x949D 0x99C1 # +0x949E 0x9EA6 # +0x949F 0x51FD # +0x94A0 0x7BB1 # +0x94A1 0x7872 # +0x94A2 0x7BB8 # +0x94A3 0x8087 # +0x94A4 0x7B48 # +0x94A5 0x6AE8 # +0x94A6 0x5E61 # +0x94A7 0x808C # +0x94A8 0x7551 # +0x94A9 0x7560 # +0x94AA 0x516B # +0x94AB 0x9262 # +0x94AC 0x6E8C # +0x94AD 0x767A # +0x94AE 0x9197 # +0x94AF 0x9AEA # +0x94B0 0x4F10 # +0x94B1 0x7F70 # +0x94B2 0x629C # +0x94B3 0x7B4F # +0x94B4 0x95A5 # +0x94B5 0x9CE9 # +0x94B6 0x567A # +0x94B7 0x5859 # +0x94B8 0x86E4 # +0x94B9 0x96BC # +0x94BA 0x4F34 # +0x94BB 0x5224 # +0x94BC 0x534A # +0x94BD 0x53CD # +0x94BE 0x53DB # +0x94BF 0x5E06 # +0x94C0 0x642C # +0x94C1 0x6591 # +0x94C2 0x677F # +0x94C3 0x6C3E # +0x94C4 0x6C4E # +0x94C5 0x7248 # +0x94C6 0x72AF # +0x94C7 0x73ED # +0x94C8 0x7554 # +0x94C9 0x7E41 # +0x94CA 0x822C # +0x94CB 0x85E9 # +0x94CC 0x8CA9 # +0x94CD 0x7BC4 # +0x94CE 0x91C6 # +0x94CF 0x7169 # +0x94D0 0x9812 # +0x94D1 0x98EF # +0x94D2 0x633D # +0x94D3 0x6669 # +0x94D4 0x756A # +0x94D5 0x76E4 # +0x94D6 0x78D0 # +0x94D7 0x8543 # +0x94D8 0x86EE # +0x94D9 0x532A # +0x94DA 0x5351 # +0x94DB 0x5426 # +0x94DC 0x5983 # +0x94DD 0x5E87 # +0x94DE 0x5F7C # +0x94DF 0x60B2 # +0x94E0 0x6249 # +0x94E1 0x6279 # +0x94E2 0x62AB # +0x94E3 0x6590 # +0x94E4 0x6BD4 # +0x94E5 0x6CCC # +0x94E6 0x75B2 # +0x94E7 0x76AE # +0x94E8 0x7891 # +0x94E9 0x79D8 # +0x94EA 0x7DCB # +0x94EB 0x7F77 # +0x94EC 0x80A5 # +0x94ED 0x88AB # +0x94EE 0x8AB9 # +0x94EF 0x8CBB # +0x94F0 0x907F # +0x94F1 0x975E # +0x94F2 0x98DB # +0x94F3 0x6A0B # +0x94F4 0x7C38 # +0x94F5 0x5099 # +0x94F6 0x5C3E # +0x94F7 0x5FAE # +0x94F8 0x6787 # +0x94F9 0x6BD8 # +0x94FA 0x7435 # +0x94FB 0x7709 # +0x94FC 0x7F8E # +0x9540 0x9F3B # +0x9541 0x67CA # +0x9542 0x7A17 # +0x9543 0x5339 # +0x9544 0x758B # +0x9545 0x9AED # +0x9546 0x5F66 # +0x9547 0x819D # +0x9548 0x83F1 # +0x9549 0x8098 # +0x954A 0x5F3C # +0x954B 0x5FC5 # +0x954C 0x7562 # +0x954D 0x7B46 # +0x954E 0x903C # +0x954F 0x6867 # +0x9550 0x59EB # +0x9551 0x5A9B # +0x9552 0x7D10 # +0x9553 0x767E # +0x9554 0x8B2C # +0x9555 0x4FF5 # +0x9556 0x5F6A # +0x9557 0x6A19 # +0x9558 0x6C37 # +0x9559 0x6F02 # +0x955A 0x74E2 # +0x955B 0x7968 # +0x955C 0x8868 # +0x955D 0x8A55 # +0x955E 0x8C79 # +0x955F 0x5EDF # +0x9560 0x63CF # +0x9561 0x75C5 # +0x9562 0x79D2 # +0x9563 0x82D7 # +0x9564 0x9328 # +0x9565 0x92F2 # +0x9566 0x849C # +0x9567 0x86ED # +0x9568 0x9C2D # +0x9569 0x54C1 # +0x956A 0x5F6C # +0x956B 0x658C # +0x956C 0x6D5C # +0x956D 0x7015 # +0x956E 0x8CA7 # +0x956F 0x8CD3 # +0x9570 0x983B # +0x9571 0x654F # +0x9572 0x74F6 # +0x9573 0x4E0D # +0x9574 0x4ED8 # +0x9575 0x57E0 # +0x9576 0x592B # +0x9577 0x5A66 # +0x9578 0x5BCC # +0x9579 0x51A8 # +0x957A 0x5E03 # +0x957B 0x5E9C # +0x957C 0x6016 # +0x957D 0x6276 # +0x957E 0x6577 # +0x9580 0x65A7 # +0x9581 0x666E # +0x9582 0x6D6E # +0x9583 0x7236 # +0x9584 0x7B26 # +0x9585 0x8150 # +0x9586 0x819A # +0x9587 0x8299 # +0x9588 0x8B5C # +0x9589 0x8CA0 # +0x958A 0x8CE6 # +0x958B 0x8D74 # +0x958C 0x961C # +0x958D 0x9644 # +0x958E 0x4FAE # +0x958F 0x64AB # +0x9590 0x6B66 # +0x9591 0x821E # +0x9592 0x8461 # +0x9593 0x856A # +0x9594 0x90E8 # +0x9595 0x5C01 # +0x9596 0x6953 # +0x9597 0x98A8 # +0x9598 0x847A # +0x9599 0x8557 # +0x959A 0x4F0F # +0x959B 0x526F # +0x959C 0x5FA9 # +0x959D 0x5E45 # +0x959E 0x670D # +0x959F 0x798F # +0x95A0 0x8179 # +0x95A1 0x8907 # +0x95A2 0x8986 # +0x95A3 0x6DF5 # +0x95A4 0x5F17 # +0x95A5 0x6255 # +0x95A6 0x6CB8 # +0x95A7 0x4ECF # +0x95A8 0x7269 # +0x95A9 0x9B92 # +0x95AA 0x5206 # +0x95AB 0x543B # +0x95AC 0x5674 # +0x95AD 0x58B3 # +0x95AE 0x61A4 # +0x95AF 0x626E # +0x95B0 0x711A # +0x95B1 0x596E # +0x95B2 0x7C89 # +0x95B3 0x7CDE # +0x95B4 0x7D1B # +0x95B5 0x96F0 # +0x95B6 0x6587 # +0x95B7 0x805E # +0x95B8 0x4E19 # +0x95B9 0x4F75 # +0x95BA 0x5175 # +0x95BB 0x5840 # +0x95BC 0x5E63 # +0x95BD 0x5E73 # +0x95BE 0x5F0A # +0x95BF 0x67C4 # +0x95C0 0x4E26 # +0x95C1 0x853D # +0x95C2 0x9589 # +0x95C3 0x965B # +0x95C4 0x7C73 # +0x95C5 0x9801 # +0x95C6 0x50FB # +0x95C7 0x58C1 # +0x95C8 0x7656 # +0x95C9 0x78A7 # +0x95CA 0x5225 # +0x95CB 0x77A5 # +0x95CC 0x8511 # +0x95CD 0x7B86 # +0x95CE 0x504F # +0x95CF 0x5909 # +0x95D0 0x7247 # +0x95D1 0x7BC7 # +0x95D2 0x7DE8 # +0x95D3 0x8FBA # +0x95D4 0x8FD4 # +0x95D5 0x904D # +0x95D6 0x4FBF # +0x95D7 0x52C9 # +0x95D8 0x5A29 # +0x95D9 0x5F01 # +0x95DA 0x97AD # +0x95DB 0x4FDD # +0x95DC 0x8217 # +0x95DD 0x92EA # +0x95DE 0x5703 # +0x95DF 0x6355 # +0x95E0 0x6B69 # +0x95E1 0x752B # +0x95E2 0x88DC # +0x95E3 0x8F14 # +0x95E4 0x7A42 # +0x95E5 0x52DF # +0x95E6 0x5893 # +0x95E7 0x6155 # +0x95E8 0x620A # +0x95E9 0x66AE # +0x95EA 0x6BCD # +0x95EB 0x7C3F # +0x95EC 0x83E9 # +0x95ED 0x5023 # +0x95EE 0x4FF8 # +0x95EF 0x5305 # +0x95F0 0x5446 # +0x95F1 0x5831 # +0x95F2 0x5949 # +0x95F3 0x5B9D # +0x95F4 0x5CF0 # +0x95F5 0x5CEF # +0x95F6 0x5D29 # +0x95F7 0x5E96 # +0x95F8 0x62B1 # +0x95F9 0x6367 # +0x95FA 0x653E # +0x95FB 0x65B9 # +0x95FC 0x670B # +0x9640 0x6CD5 # +0x9641 0x6CE1 # +0x9642 0x70F9 # +0x9643 0x7832 # +0x9644 0x7E2B # +0x9645 0x80DE # +0x9646 0x82B3 # +0x9647 0x840C # +0x9648 0x84EC # +0x9649 0x8702 # +0x964A 0x8912 # +0x964B 0x8A2A # +0x964C 0x8C4A # +0x964D 0x90A6 # +0x964E 0x92D2 # +0x964F 0x98FD # +0x9650 0x9CF3 # +0x9651 0x9D6C # +0x9652 0x4E4F # +0x9653 0x4EA1 # +0x9654 0x508D # +0x9655 0x5256 # +0x9656 0x574A # +0x9657 0x59A8 # +0x9658 0x5E3D # +0x9659 0x5FD8 # +0x965A 0x5FD9 # +0x965B 0x623F # +0x965C 0x66B4 # +0x965D 0x671B # +0x965E 0x67D0 # +0x965F 0x68D2 # +0x9660 0x5192 # +0x9661 0x7D21 # +0x9662 0x80AA # +0x9663 0x81A8 # +0x9664 0x8B00 # +0x9665 0x8C8C # +0x9666 0x8CBF # +0x9667 0x927E # +0x9668 0x9632 # +0x9669 0x5420 # +0x966A 0x982C # +0x966B 0x5317 # +0x966C 0x50D5 # +0x966D 0x535C # +0x966E 0x58A8 # +0x966F 0x64B2 # +0x9670 0x6734 # +0x9671 0x7267 # +0x9672 0x7766 # +0x9673 0x7A46 # +0x9674 0x91E6 # +0x9675 0x52C3 # +0x9676 0x6CA1 # +0x9677 0x6B86 # +0x9678 0x5800 # +0x9679 0x5E4C # +0x967A 0x5954 # +0x967B 0x672C # +0x967C 0x7FFB # +0x967D 0x51E1 # +0x967E 0x76C6 # +0x9680 0x6469 # +0x9681 0x78E8 # +0x9682 0x9B54 # +0x9683 0x9EBB # +0x9684 0x57CB # +0x9685 0x59B9 # +0x9686 0x6627 # +0x9687 0x679A # +0x9688 0x6BCE # +0x9689 0x54E9 # +0x968A 0x69D9 # +0x968B 0x5E55 # +0x968C 0x819C # +0x968D 0x6795 # +0x968E 0x9BAA # +0x968F 0x67FE # +0x9690 0x9C52 # +0x9691 0x685D # +0x9692 0x4EA6 # +0x9693 0x4FE3 # +0x9694 0x53C8 # +0x9695 0x62B9 # +0x9696 0x672B # +0x9697 0x6CAB # +0x9698 0x8FC4 # +0x9699 0x4FAD # +0x969A 0x7E6D # +0x969B 0x9EBF # +0x969C 0x4E07 # +0x969D 0x6162 # +0x969E 0x6E80 # +0x969F 0x6F2B # +0x96A0 0x8513 # +0x96A1 0x5473 # +0x96A2 0x672A # +0x96A3 0x9B45 # +0x96A4 0x5DF3 # +0x96A5 0x7B95 # +0x96A6 0x5CAC # +0x96A7 0x5BC6 # +0x96A8 0x871C # +0x96A9 0x6E4A # +0x96AA 0x84D1 # +0x96AB 0x7A14 # +0x96AC 0x8108 # +0x96AD 0x5999 # +0x96AE 0x7C8D # +0x96AF 0x6C11 # +0x96B0 0x7720 # +0x96B1 0x52D9 # +0x96B2 0x5922 # +0x96B3 0x7121 # +0x96B4 0x725F # +0x96B5 0x77DB # +0x96B6 0x9727 # +0x96B7 0x9D61 # +0x96B8 0x690B # +0x96B9 0x5A7F # +0x96BA 0x5A18 # +0x96BB 0x51A5 # +0x96BC 0x540D # +0x96BD 0x547D # +0x96BE 0x660E # +0x96BF 0x76DF # +0x96C0 0x8FF7 # +0x96C1 0x9298 # +0x96C2 0x9CF4 # +0x96C3 0x59EA # +0x96C4 0x725D # +0x96C5 0x6EC5 # +0x96C6 0x514D # +0x96C7 0x68C9 # +0x96C8 0x7DBF # +0x96C9 0x7DEC # +0x96CA 0x9762 # +0x96CB 0x9EBA # +0x96CC 0x6478 # +0x96CD 0x6A21 # +0x96CE 0x8302 # +0x96CF 0x5984 # +0x96D0 0x5B5F # +0x96D1 0x6BDB # +0x96D2 0x731B # +0x96D3 0x76F2 # +0x96D4 0x7DB2 # +0x96D5 0x8017 # +0x96D6 0x8499 # +0x96D7 0x5132 # +0x96D8 0x6728 # +0x96D9 0x9ED9 # +0x96DA 0x76EE # +0x96DB 0x6762 # +0x96DC 0x52FF # +0x96DD 0x9905 # +0x96DE 0x5C24 # +0x96DF 0x623B # +0x96E0 0x7C7E # +0x96E1 0x8CB0 # +0x96E2 0x554F # +0x96E3 0x60B6 # +0x96E4 0x7D0B # +0x96E5 0x9580 # +0x96E6 0x5301 # +0x96E7 0x4E5F # +0x96E8 0x51B6 # +0x96E9 0x591C # +0x96EA 0x723A # +0x96EB 0x8036 # +0x96EC 0x91CE # +0x96ED 0x5F25 # +0x96EE 0x77E2 # +0x96EF 0x5384 # +0x96F0 0x5F79 # +0x96F1 0x7D04 # +0x96F2 0x85AC # +0x96F3 0x8A33 # +0x96F4 0x8E8D # +0x96F5 0x9756 # +0x96F6 0x67F3 # +0x96F7 0x85AE # +0x96F8 0x9453 # +0x96F9 0x6109 # +0x96FA 0x6108 # +0x96FB 0x6CB9 # +0x96FC 0x7652 # +0x9740 0x8AED # +0x9741 0x8F38 # +0x9742 0x552F # +0x9743 0x4F51 # +0x9744 0x512A # +0x9745 0x52C7 # +0x9746 0x53CB # +0x9747 0x5BA5 # +0x9748 0x5E7D # +0x9749 0x60A0 # +0x974A 0x6182 # +0x974B 0x63D6 # +0x974C 0x6709 # +0x974D 0x67DA # +0x974E 0x6E67 # +0x974F 0x6D8C # +0x9750 0x7336 # +0x9751 0x7337 # +0x9752 0x7531 # +0x9753 0x7950 # +0x9754 0x88D5 # +0x9755 0x8A98 # +0x9756 0x904A # +0x9757 0x9091 # +0x9758 0x90F5 # +0x9759 0x96C4 # +0x975A 0x878D # +0x975B 0x5915 # +0x975C 0x4E88 # +0x975D 0x4F59 # +0x975E 0x4E0E # +0x975F 0x8A89 # +0x9760 0x8F3F # +0x9761 0x9810 # +0x9762 0x50AD # +0x9763 0x5E7C # +0x9764 0x5996 # +0x9765 0x5BB9 # +0x9766 0x5EB8 # +0x9767 0x63DA # +0x9768 0x63FA # +0x9769 0x64C1 # +0x976A 0x66DC # +0x976B 0x694A # +0x976C 0x69D8 # +0x976D 0x6D0B # +0x976E 0x6EB6 # +0x976F 0x7194 # +0x9770 0x7528 # +0x9771 0x7AAF # +0x9772 0x7F8A # +0x9773 0x8000 # +0x9774 0x8449 # +0x9775 0x84C9 # +0x9776 0x8981 # +0x9777 0x8B21 # +0x9778 0x8E0A # +0x9779 0x9065 # +0x977A 0x967D # +0x977B 0x990A # +0x977C 0x617E # +0x977D 0x6291 # +0x977E 0x6B32 # +0x9780 0x6C83 # +0x9781 0x6D74 # +0x9782 0x7FCC # +0x9783 0x7FFC # +0x9784 0x6DC0 # +0x9785 0x7F85 # +0x9786 0x87BA # +0x9787 0x88F8 # +0x9788 0x6765 # +0x9789 0x83B1 # +0x978A 0x983C # +0x978B 0x96F7 # +0x978C 0x6D1B # +0x978D 0x7D61 # +0x978E 0x843D # +0x978F 0x916A # +0x9790 0x4E71 # +0x9791 0x5375 # +0x9792 0x5D50 # +0x9793 0x6B04 # +0x9794 0x6FEB # +0x9795 0x85CD # +0x9796 0x862D # +0x9797 0x89A7 # +0x9798 0x5229 # +0x9799 0x540F # +0x979A 0x5C65 # +0x979B 0x674E # +0x979C 0x68A8 # +0x979D 0x7406 # +0x979E 0x7483 # +0x979F 0x75E2 # +0x97A0 0x88CF # +0x97A1 0x88E1 # +0x97A2 0x91CC # +0x97A3 0x96E2 # +0x97A4 0x9678 # +0x97A5 0x5F8B # +0x97A6 0x7387 # +0x97A7 0x7ACB # +0x97A8 0x844E # +0x97A9 0x63A0 # +0x97AA 0x7565 # +0x97AB 0x5289 # +0x97AC 0x6D41 # +0x97AD 0x6E9C # +0x97AE 0x7409 # +0x97AF 0x7559 # +0x97B0 0x786B # +0x97B1 0x7C92 # +0x97B2 0x9686 # +0x97B3 0x7ADC # +0x97B4 0x9F8D # +0x97B5 0x4FB6 # +0x97B6 0x616E # +0x97B7 0x65C5 # +0x97B8 0x865C # +0x97B9 0x4E86 # +0x97BA 0x4EAE # +0x97BB 0x50DA # +0x97BC 0x4E21 # +0x97BD 0x51CC # +0x97BE 0x5BEE # +0x97BF 0x6599 # +0x97C0 0x6881 # +0x97C1 0x6DBC # +0x97C2 0x731F # +0x97C3 0x7642 # +0x97C4 0x77AD # +0x97C5 0x7A1C # +0x97C6 0x7CE7 # +0x97C7 0x826F # +0x97C8 0x8AD2 # +0x97C9 0x907C # +0x97CA 0x91CF # +0x97CB 0x9675 # +0x97CC 0x9818 # +0x97CD 0x529B # +0x97CE 0x7DD1 # +0x97CF 0x502B # +0x97D0 0x5398 # +0x97D1 0x6797 # +0x97D2 0x6DCB # +0x97D3 0x71D0 # +0x97D4 0x7433 # +0x97D5 0x81E8 # +0x97D6 0x8F2A # +0x97D7 0x96A3 # +0x97D8 0x9C57 # +0x97D9 0x9E9F # +0x97DA 0x7460 # +0x97DB 0x5841 # +0x97DC 0x6D99 # +0x97DD 0x7D2F # +0x97DE 0x985E # +0x97DF 0x4EE4 # +0x97E0 0x4F36 # +0x97E1 0x4F8B # +0x97E2 0x51B7 # +0x97E3 0x52B1 # +0x97E4 0x5DBA # +0x97E5 0x601C # +0x97E6 0x73B2 # +0x97E7 0x793C # +0x97E8 0x82D3 # +0x97E9 0x9234 # +0x97EA 0x96B7 # +0x97EB 0x96F6 # +0x97EC 0x970A # +0x97ED 0x9E97 # +0x97EE 0x9F62 # +0x97EF 0x66A6 # +0x97F0 0x6B74 # +0x97F1 0x5217 # +0x97F2 0x52A3 # +0x97F3 0x70C8 # +0x97F4 0x88C2 # +0x97F5 0x5EC9 # +0x97F6 0x604B # +0x97F7 0x6190 # +0x97F8 0x6F23 # +0x97F9 0x7149 # +0x97FA 0x7C3E # +0x97FB 0x7DF4 # +0x97FC 0x806F # +0x9840 0x84EE # +0x9841 0x9023 # +0x9842 0x932C # +0x9843 0x5442 # +0x9844 0x9B6F # +0x9845 0x6AD3 # +0x9846 0x7089 # +0x9847 0x8CC2 # +0x9848 0x8DEF # +0x9849 0x9732 # +0x984A 0x52B4 # +0x984B 0x5A41 # +0x984C 0x5ECA # +0x984D 0x5F04 # +0x984E 0x6717 # +0x984F 0x697C # +0x9850 0x6994 # +0x9851 0x6D6A # +0x9852 0x6F0F # +0x9853 0x7262 # +0x9854 0x72FC # +0x9855 0x7BED # +0x9856 0x8001 # +0x9857 0x807E # +0x9858 0x874B # +0x9859 0x90CE # +0x985A 0x516D # +0x985B 0x9E93 # +0x985C 0x7984 # +0x985D 0x808B # +0x985E 0x9332 # +0x985F 0x8AD6 # +0x9860 0x502D # +0x9861 0x548C # +0x9862 0x8A71 # +0x9863 0x6B6A # +0x9864 0x8CC4 # +0x9865 0x8107 # +0x9866 0x60D1 # +0x9867 0x67A0 # +0x9868 0x9DF2 # +0x9869 0x4E99 # +0x986A 0x4E98 # +0x986B 0x9C10 # +0x986C 0x8A6B # +0x986D 0x85C1 # +0x986E 0x8568 # +0x986F 0x6900 # +0x9870 0x6E7E # +0x9871 0x7897 # +0x9872 0x8155 # +0x989F 0x5F0C # +0x98A0 0x4E10 # +0x98A1 0x4E15 # +0x98A2 0x4E2A # +0x98A3 0x4E31 # +0x98A4 0x4E36 # +0x98A5 0x4E3C # +0x98A6 0x4E3F # +0x98A7 0x4E42 # +0x98A8 0x4E56 # +0x98A9 0x4E58 # +0x98AA 0x4E82 # +0x98AB 0x4E85 # +0x98AC 0x8C6B # +0x98AD 0x4E8A # +0x98AE 0x8212 # +0x98AF 0x5F0D # +0x98B0 0x4E8E # +0x98B1 0x4E9E # +0x98B2 0x4E9F # +0x98B3 0x4EA0 # +0x98B4 0x4EA2 # +0x98B5 0x4EB0 # +0x98B6 0x4EB3 # +0x98B7 0x4EB6 # +0x98B8 0x4ECE # +0x98B9 0x4ECD # +0x98BA 0x4EC4 # +0x98BB 0x4EC6 # +0x98BC 0x4EC2 # +0x98BD 0x4ED7 # +0x98BE 0x4EDE # +0x98BF 0x4EED # +0x98C0 0x4EDF # +0x98C1 0x4EF7 # +0x98C2 0x4F09 # +0x98C3 0x4F5A # +0x98C4 0x4F30 # +0x98C5 0x4F5B # +0x98C6 0x4F5D # +0x98C7 0x4F57 # +0x98C8 0x4F47 # +0x98C9 0x4F76 # +0x98CA 0x4F88 # +0x98CB 0x4F8F # +0x98CC 0x4F98 # +0x98CD 0x4F7B # +0x98CE 0x4F69 # +0x98CF 0x4F70 # +0x98D0 0x4F91 # +0x98D1 0x4F6F # +0x98D2 0x4F86 # +0x98D3 0x4F96 # +0x98D4 0x5118 # +0x98D5 0x4FD4 # +0x98D6 0x4FDF # +0x98D7 0x4FCE # +0x98D8 0x4FD8 # +0x98D9 0x4FDB # +0x98DA 0x4FD1 # +0x98DB 0x4FDA # +0x98DC 0x4FD0 # +0x98DD 0x4FE4 # +0x98DE 0x4FE5 # +0x98DF 0x501A # +0x98E0 0x5028 # +0x98E1 0x5014 # +0x98E2 0x502A # +0x98E3 0x5025 # +0x98E4 0x5005 # +0x98E5 0x4F1C # +0x98E6 0x4FF6 # +0x98E7 0x5021 # +0x98E8 0x5029 # +0x98E9 0x502C # +0x98EA 0x4FFE # +0x98EB 0x4FEF # +0x98EC 0x5011 # +0x98ED 0x5006 # +0x98EE 0x5043 # +0x98EF 0x5047 # +0x98F0 0x6703 # +0x98F1 0x5055 # +0x98F2 0x5050 # +0x98F3 0x5048 # +0x98F4 0x505A # +0x98F5 0x5056 # +0x98F6 0x506C # +0x98F7 0x5078 # +0x98F8 0x5080 # +0x98F9 0x509A # +0x98FA 0x5085 # +0x98FB 0x50B4 # +0x98FC 0x50B2 # +0x9940 0x50C9 # +0x9941 0x50CA # +0x9942 0x50B3 # +0x9943 0x50C2 # +0x9944 0x50D6 # +0x9945 0x50DE # +0x9946 0x50E5 # +0x9947 0x50ED # +0x9948 0x50E3 # +0x9949 0x50EE # +0x994A 0x50F9 # +0x994B 0x50F5 # +0x994C 0x5109 # +0x994D 0x5101 # +0x994E 0x5102 # +0x994F 0x5116 # +0x9950 0x5115 # +0x9951 0x5114 # +0x9952 0x511A # +0x9953 0x5121 # +0x9954 0x513A # +0x9955 0x5137 # +0x9956 0x513C # +0x9957 0x513B # +0x9958 0x513F # +0x9959 0x5140 # +0x995A 0x5152 # +0x995B 0x514C # +0x995C 0x5154 # +0x995D 0x5162 # +0x995E 0x7AF8 # +0x995F 0x5169 # +0x9960 0x516A # +0x9961 0x516E # +0x9962 0x5180 # +0x9963 0x5182 # +0x9964 0x56D8 # +0x9965 0x518C # +0x9966 0x5189 # +0x9967 0x518F # +0x9968 0x5191 # +0x9969 0x5193 # +0x996A 0x5195 # +0x996B 0x5196 # +0x996C 0x51A4 # +0x996D 0x51A6 # +0x996E 0x51A2 # +0x996F 0x51A9 # +0x9970 0x51AA # +0x9971 0x51AB # +0x9972 0x51B3 # +0x9973 0x51B1 # +0x9974 0x51B2 # +0x9975 0x51B0 # +0x9976 0x51B5 # +0x9977 0x51BD # +0x9978 0x51C5 # +0x9979 0x51C9 # +0x997A 0x51DB # +0x997B 0x51E0 # +0x997C 0x8655 # +0x997D 0x51E9 # +0x997E 0x51ED # +0x9980 0x51F0 # +0x9981 0x51F5 # +0x9982 0x51FE # +0x9983 0x5204 # +0x9984 0x520B # +0x9985 0x5214 # +0x9986 0x520E # +0x9987 0x5227 # +0x9988 0x522A # +0x9989 0x522E # +0x998A 0x5233 # +0x998B 0x5239 # +0x998C 0x524F # +0x998D 0x5244 # +0x998E 0x524B # +0x998F 0x524C # +0x9990 0x525E # +0x9991 0x5254 # +0x9992 0x526A # +0x9993 0x5274 # +0x9994 0x5269 # +0x9995 0x5273 # +0x9996 0x527F # +0x9997 0x527D # +0x9998 0x528D # +0x9999 0x5294 # +0x999A 0x5292 # +0x999B 0x5271 # +0x999C 0x5288 # +0x999D 0x5291 # +0x999E 0x8FA8 # +0x999F 0x8FA7 # +0x99A0 0x52AC # +0x99A1 0x52AD # +0x99A2 0x52BC # +0x99A3 0x52B5 # +0x99A4 0x52C1 # +0x99A5 0x52CD # +0x99A6 0x52D7 # +0x99A7 0x52DE # +0x99A8 0x52E3 # +0x99A9 0x52E6 # +0x99AA 0x98ED # +0x99AB 0x52E0 # +0x99AC 0x52F3 # +0x99AD 0x52F5 # +0x99AE 0x52F8 # +0x99AF 0x52F9 # +0x99B0 0x5306 # +0x99B1 0x5308 # +0x99B2 0x7538 # +0x99B3 0x530D # +0x99B4 0x5310 # +0x99B5 0x530F # +0x99B6 0x5315 # +0x99B7 0x531A # +0x99B8 0x5323 # +0x99B9 0x532F # +0x99BA 0x5331 # +0x99BB 0x5333 # +0x99BC 0x5338 # +0x99BD 0x5340 # +0x99BE 0x5346 # +0x99BF 0x5345 # +0x99C0 0x4E17 # +0x99C1 0x5349 # +0x99C2 0x534D # +0x99C3 0x51D6 # +0x99C4 0x535E # +0x99C5 0x5369 # +0x99C6 0x536E # +0x99C7 0x5918 # +0x99C8 0x537B # +0x99C9 0x5377 # +0x99CA 0x5382 # +0x99CB 0x5396 # +0x99CC 0x53A0 # +0x99CD 0x53A6 # +0x99CE 0x53A5 # +0x99CF 0x53AE # +0x99D0 0x53B0 # +0x99D1 0x53B6 # +0x99D2 0x53C3 # +0x99D3 0x7C12 # +0x99D4 0x96D9 # +0x99D5 0x53DF # +0x99D6 0x66FC # +0x99D7 0x71EE # +0x99D8 0x53EE # +0x99D9 0x53E8 # +0x99DA 0x53ED # +0x99DB 0x53FA # +0x99DC 0x5401 # +0x99DD 0x543D # +0x99DE 0x5440 # +0x99DF 0x542C # +0x99E0 0x542D # +0x99E1 0x543C # +0x99E2 0x542E # +0x99E3 0x5436 # +0x99E4 0x5429 # +0x99E5 0x541D # +0x99E6 0x544E # +0x99E7 0x548F # +0x99E8 0x5475 # +0x99E9 0x548E # +0x99EA 0x545F # +0x99EB 0x5471 # +0x99EC 0x5477 # +0x99ED 0x5470 # +0x99EE 0x5492 # +0x99EF 0x547B # +0x99F0 0x5480 # +0x99F1 0x5476 # +0x99F2 0x5484 # +0x99F3 0x5490 # +0x99F4 0x5486 # +0x99F5 0x54C7 # +0x99F6 0x54A2 # +0x99F7 0x54B8 # +0x99F8 0x54A5 # +0x99F9 0x54AC # +0x99FA 0x54C4 # +0x99FB 0x54C8 # +0x99FC 0x54A8 # +0x9A40 0x54AB # +0x9A41 0x54C2 # +0x9A42 0x54A4 # +0x9A43 0x54BE # +0x9A44 0x54BC # +0x9A45 0x54D8 # +0x9A46 0x54E5 # +0x9A47 0x54E6 # +0x9A48 0x550F # +0x9A49 0x5514 # +0x9A4A 0x54FD # +0x9A4B 0x54EE # +0x9A4C 0x54ED # +0x9A4D 0x54FA # +0x9A4E 0x54E2 # +0x9A4F 0x5539 # +0x9A50 0x5540 # +0x9A51 0x5563 # +0x9A52 0x554C # +0x9A53 0x552E # +0x9A54 0x555C # +0x9A55 0x5545 # +0x9A56 0x5556 # +0x9A57 0x5557 # +0x9A58 0x5538 # +0x9A59 0x5533 # +0x9A5A 0x555D # +0x9A5B 0x5599 # +0x9A5C 0x5580 # +0x9A5D 0x54AF # +0x9A5E 0x558A # +0x9A5F 0x559F # +0x9A60 0x557B # +0x9A61 0x557E # +0x9A62 0x5598 # +0x9A63 0x559E # +0x9A64 0x55AE # +0x9A65 0x557C # +0x9A66 0x5583 # +0x9A67 0x55A9 # +0x9A68 0x5587 # +0x9A69 0x55A8 # +0x9A6A 0x55DA # +0x9A6B 0x55C5 # +0x9A6C 0x55DF # +0x9A6D 0x55C4 # +0x9A6E 0x55DC # +0x9A6F 0x55E4 # +0x9A70 0x55D4 # +0x9A71 0x5614 # +0x9A72 0x55F7 # +0x9A73 0x5616 # +0x9A74 0x55FE # +0x9A75 0x55FD # +0x9A76 0x561B # +0x9A77 0x55F9 # +0x9A78 0x564E # +0x9A79 0x5650 # +0x9A7A 0x71DF # +0x9A7B 0x5634 # +0x9A7C 0x5636 # +0x9A7D 0x5632 # +0x9A7E 0x5638 # +0x9A80 0x566B # +0x9A81 0x5664 # +0x9A82 0x562F # +0x9A83 0x566C # +0x9A84 0x566A # +0x9A85 0x5686 # +0x9A86 0x5680 # +0x9A87 0x568A # +0x9A88 0x56A0 # +0x9A89 0x5694 # +0x9A8A 0x568F # +0x9A8B 0x56A5 # +0x9A8C 0x56AE # +0x9A8D 0x56B6 # +0x9A8E 0x56B4 # +0x9A8F 0x56C2 # +0x9A90 0x56BC # +0x9A91 0x56C1 # +0x9A92 0x56C3 # +0x9A93 0x56C0 # +0x9A94 0x56C8 # +0x9A95 0x56CE # +0x9A96 0x56D1 # +0x9A97 0x56D3 # +0x9A98 0x56D7 # +0x9A99 0x56EE # +0x9A9A 0x56F9 # +0x9A9B 0x5700 # +0x9A9C 0x56FF # +0x9A9D 0x5704 # +0x9A9E 0x5709 # +0x9A9F 0x5708 # +0x9AA0 0x570B # +0x9AA1 0x570D # +0x9AA2 0x5713 # +0x9AA3 0x5718 # +0x9AA4 0x5716 # +0x9AA5 0x55C7 # +0x9AA6 0x571C # +0x9AA7 0x5726 # +0x9AA8 0x5737 # +0x9AA9 0x5738 # +0x9AAA 0x574E # +0x9AAB 0x573B # +0x9AAC 0x5740 # +0x9AAD 0x574F # +0x9AAE 0x5769 # +0x9AAF 0x57C0 # +0x9AB0 0x5788 # +0x9AB1 0x5761 # +0x9AB2 0x577F # +0x9AB3 0x5789 # +0x9AB4 0x5793 # +0x9AB5 0x57A0 # +0x9AB6 0x57B3 # +0x9AB7 0x57A4 # +0x9AB8 0x57AA # +0x9AB9 0x57B0 # +0x9ABA 0x57C3 # +0x9ABB 0x57C6 # +0x9ABC 0x57D4 # +0x9ABD 0x57D2 # +0x9ABE 0x57D3 # +0x9ABF 0x580A # +0x9AC0 0x57D6 # +0x9AC1 0x57E3 # +0x9AC2 0x580B # +0x9AC3 0x5819 # +0x9AC4 0x581D # +0x9AC5 0x5872 # +0x9AC6 0x5821 # +0x9AC7 0x5862 # +0x9AC8 0x584B # +0x9AC9 0x5870 # +0x9ACA 0x6BC0 # +0x9ACB 0x5852 # +0x9ACC 0x583D # +0x9ACD 0x5879 # +0x9ACE 0x5885 # +0x9ACF 0x58B9 # +0x9AD0 0x589F # +0x9AD1 0x58AB # +0x9AD2 0x58BA # +0x9AD3 0x58DE # +0x9AD4 0x58BB # +0x9AD5 0x58B8 # +0x9AD6 0x58AE # +0x9AD7 0x58C5 # +0x9AD8 0x58D3 # +0x9AD9 0x58D1 # +0x9ADA 0x58D7 # +0x9ADB 0x58D9 # +0x9ADC 0x58D8 # +0x9ADD 0x58E5 # +0x9ADE 0x58DC # +0x9ADF 0x58E4 # +0x9AE0 0x58DF # +0x9AE1 0x58EF # +0x9AE2 0x58FA # +0x9AE3 0x58F9 # +0x9AE4 0x58FB # +0x9AE5 0x58FC # +0x9AE6 0x58FD # +0x9AE7 0x5902 # +0x9AE8 0x590A # +0x9AE9 0x5910 # +0x9AEA 0x591B # +0x9AEB 0x68A6 # +0x9AEC 0x5925 # +0x9AED 0x592C # +0x9AEE 0x592D # +0x9AEF 0x5932 # +0x9AF0 0x5938 # +0x9AF1 0x593E # +0x9AF2 0x7AD2 # +0x9AF3 0x5955 # +0x9AF4 0x5950 # +0x9AF5 0x594E # +0x9AF6 0x595A # +0x9AF7 0x5958 # +0x9AF8 0x5962 # +0x9AF9 0x5960 # +0x9AFA 0x5967 # +0x9AFB 0x596C # +0x9AFC 0x5969 # +0x9B40 0x5978 # +0x9B41 0x5981 # +0x9B42 0x599D # +0x9B43 0x4F5E # +0x9B44 0x4FAB # +0x9B45 0x59A3 # +0x9B46 0x59B2 # +0x9B47 0x59C6 # +0x9B48 0x59E8 # +0x9B49 0x59DC # +0x9B4A 0x598D # +0x9B4B 0x59D9 # +0x9B4C 0x59DA # +0x9B4D 0x5A25 # +0x9B4E 0x5A1F # +0x9B4F 0x5A11 # +0x9B50 0x5A1C # +0x9B51 0x5A09 # +0x9B52 0x5A1A # +0x9B53 0x5A40 # +0x9B54 0x5A6C # +0x9B55 0x5A49 # +0x9B56 0x5A35 # +0x9B57 0x5A36 # +0x9B58 0x5A62 # +0x9B59 0x5A6A # +0x9B5A 0x5A9A # +0x9B5B 0x5ABC # +0x9B5C 0x5ABE # +0x9B5D 0x5ACB # +0x9B5E 0x5AC2 # +0x9B5F 0x5ABD # +0x9B60 0x5AE3 # +0x9B61 0x5AD7 # +0x9B62 0x5AE6 # +0x9B63 0x5AE9 # +0x9B64 0x5AD6 # +0x9B65 0x5AFA # +0x9B66 0x5AFB # +0x9B67 0x5B0C # +0x9B68 0x5B0B # +0x9B69 0x5B16 # +0x9B6A 0x5B32 # +0x9B6B 0x5AD0 # +0x9B6C 0x5B2A # +0x9B6D 0x5B36 # +0x9B6E 0x5B3E # +0x9B6F 0x5B43 # +0x9B70 0x5B45 # +0x9B71 0x5B40 # +0x9B72 0x5B51 # +0x9B73 0x5B55 # +0x9B74 0x5B5A # +0x9B75 0x5B5B # +0x9B76 0x5B65 # +0x9B77 0x5B69 # +0x9B78 0x5B70 # +0x9B79 0x5B73 # +0x9B7A 0x5B75 # +0x9B7B 0x5B78 # +0x9B7C 0x6588 # +0x9B7D 0x5B7A # +0x9B7E 0x5B80 # +0x9B80 0x5B83 # +0x9B81 0x5BA6 # +0x9B82 0x5BB8 # +0x9B83 0x5BC3 # +0x9B84 0x5BC7 # +0x9B85 0x5BC9 # +0x9B86 0x5BD4 # +0x9B87 0x5BD0 # +0x9B88 0x5BE4 # +0x9B89 0x5BE6 # +0x9B8A 0x5BE2 # +0x9B8B 0x5BDE # +0x9B8C 0x5BE5 # +0x9B8D 0x5BEB # +0x9B8E 0x5BF0 # +0x9B8F 0x5BF6 # +0x9B90 0x5BF3 # +0x9B91 0x5C05 # +0x9B92 0x5C07 # +0x9B93 0x5C08 # +0x9B94 0x5C0D # +0x9B95 0x5C13 # +0x9B96 0x5C20 # +0x9B97 0x5C22 # +0x9B98 0x5C28 # +0x9B99 0x5C38 # +0x9B9A 0x5C39 # +0x9B9B 0x5C41 # +0x9B9C 0x5C46 # +0x9B9D 0x5C4E # +0x9B9E 0x5C53 # +0x9B9F 0x5C50 # +0x9BA0 0x5C4F # +0x9BA1 0x5B71 # +0x9BA2 0x5C6C # +0x9BA3 0x5C6E # +0x9BA4 0x4E62 # +0x9BA5 0x5C76 # +0x9BA6 0x5C79 # +0x9BA7 0x5C8C # +0x9BA8 0x5C91 # +0x9BA9 0x5C94 # +0x9BAA 0x599B # +0x9BAB 0x5CAB # +0x9BAC 0x5CBB # +0x9BAD 0x5CB6 # +0x9BAE 0x5CBC # +0x9BAF 0x5CB7 # +0x9BB0 0x5CC5 # +0x9BB1 0x5CBE # +0x9BB2 0x5CC7 # +0x9BB3 0x5CD9 # +0x9BB4 0x5CE9 # +0x9BB5 0x5CFD # +0x9BB6 0x5CFA # +0x9BB7 0x5CED # +0x9BB8 0x5D8C # +0x9BB9 0x5CEA # +0x9BBA 0x5D0B # +0x9BBB 0x5D15 # +0x9BBC 0x5D17 # +0x9BBD 0x5D5C # +0x9BBE 0x5D1F # +0x9BBF 0x5D1B # +0x9BC0 0x5D11 # +0x9BC1 0x5D14 # +0x9BC2 0x5D22 # +0x9BC3 0x5D1A # +0x9BC4 0x5D19 # +0x9BC5 0x5D18 # +0x9BC6 0x5D4C # +0x9BC7 0x5D52 # +0x9BC8 0x5D4E # +0x9BC9 0x5D4B # +0x9BCA 0x5D6C # +0x9BCB 0x5D73 # +0x9BCC 0x5D76 # +0x9BCD 0x5D87 # +0x9BCE 0x5D84 # +0x9BCF 0x5D82 # +0x9BD0 0x5DA2 # +0x9BD1 0x5D9D # +0x9BD2 0x5DAC # +0x9BD3 0x5DAE # +0x9BD4 0x5DBD # +0x9BD5 0x5D90 # +0x9BD6 0x5DB7 # +0x9BD7 0x5DBC # +0x9BD8 0x5DC9 # +0x9BD9 0x5DCD # +0x9BDA 0x5DD3 # +0x9BDB 0x5DD2 # +0x9BDC 0x5DD6 # +0x9BDD 0x5DDB # +0x9BDE 0x5DEB # +0x9BDF 0x5DF2 # +0x9BE0 0x5DF5 # +0x9BE1 0x5E0B # +0x9BE2 0x5E1A # +0x9BE3 0x5E19 # +0x9BE4 0x5E11 # +0x9BE5 0x5E1B # +0x9BE6 0x5E36 # +0x9BE7 0x5E37 # +0x9BE8 0x5E44 # +0x9BE9 0x5E43 # +0x9BEA 0x5E40 # +0x9BEB 0x5E4E # +0x9BEC 0x5E57 # +0x9BED 0x5E54 # +0x9BEE 0x5E5F # +0x9BEF 0x5E62 # +0x9BF0 0x5E64 # +0x9BF1 0x5E47 # +0x9BF2 0x5E75 # +0x9BF3 0x5E76 # +0x9BF4 0x5E7A # +0x9BF5 0x9EBC # +0x9BF6 0x5E7F # +0x9BF7 0x5EA0 # +0x9BF8 0x5EC1 # +0x9BF9 0x5EC2 # +0x9BFA 0x5EC8 # +0x9BFB 0x5ED0 # +0x9BFC 0x5ECF # +0x9C40 0x5ED6 # +0x9C41 0x5EE3 # +0x9C42 0x5EDD # +0x9C43 0x5EDA # +0x9C44 0x5EDB # +0x9C45 0x5EE2 # +0x9C46 0x5EE1 # +0x9C47 0x5EE8 # +0x9C48 0x5EE9 # +0x9C49 0x5EEC # +0x9C4A 0x5EF1 # +0x9C4B 0x5EF3 # +0x9C4C 0x5EF0 # +0x9C4D 0x5EF4 # +0x9C4E 0x5EF8 # +0x9C4F 0x5EFE # +0x9C50 0x5F03 # +0x9C51 0x5F09 # +0x9C52 0x5F5D # +0x9C53 0x5F5C # +0x9C54 0x5F0B # +0x9C55 0x5F11 # +0x9C56 0x5F16 # +0x9C57 0x5F29 # +0x9C58 0x5F2D # +0x9C59 0x5F38 # +0x9C5A 0x5F41 # +0x9C5B 0x5F48 # +0x9C5C 0x5F4C # +0x9C5D 0x5F4E # +0x9C5E 0x5F2F # +0x9C5F 0x5F51 # +0x9C60 0x5F56 # +0x9C61 0x5F57 # +0x9C62 0x5F59 # +0x9C63 0x5F61 # +0x9C64 0x5F6D # +0x9C65 0x5F73 # +0x9C66 0x5F77 # +0x9C67 0x5F83 # +0x9C68 0x5F82 # +0x9C69 0x5F7F # +0x9C6A 0x5F8A # +0x9C6B 0x5F88 # +0x9C6C 0x5F91 # +0x9C6D 0x5F87 # +0x9C6E 0x5F9E # +0x9C6F 0x5F99 # +0x9C70 0x5F98 # +0x9C71 0x5FA0 # +0x9C72 0x5FA8 # +0x9C73 0x5FAD # +0x9C74 0x5FBC # +0x9C75 0x5FD6 # +0x9C76 0x5FFB # +0x9C77 0x5FE4 # +0x9C78 0x5FF8 # +0x9C79 0x5FF1 # +0x9C7A 0x5FDD # +0x9C7B 0x60B3 # +0x9C7C 0x5FFF # +0x9C7D 0x6021 # +0x9C7E 0x6060 # +0x9C80 0x6019 # +0x9C81 0x6010 # +0x9C82 0x6029 # +0x9C83 0x600E # +0x9C84 0x6031 # +0x9C85 0x601B # +0x9C86 0x6015 # +0x9C87 0x602B # +0x9C88 0x6026 # +0x9C89 0x600F # +0x9C8A 0x603A # +0x9C8B 0x605A # +0x9C8C 0x6041 # +0x9C8D 0x606A # +0x9C8E 0x6077 # +0x9C8F 0x605F # +0x9C90 0x604A # +0x9C91 0x6046 # +0x9C92 0x604D # +0x9C93 0x6063 # +0x9C94 0x6043 # +0x9C95 0x6064 # +0x9C96 0x6042 # +0x9C97 0x606C # +0x9C98 0x606B # +0x9C99 0x6059 # +0x9C9A 0x6081 # +0x9C9B 0x608D # +0x9C9C 0x60E7 # +0x9C9D 0x6083 # +0x9C9E 0x609A # +0x9C9F 0x6084 # +0x9CA0 0x609B # +0x9CA1 0x6096 # +0x9CA2 0x6097 # +0x9CA3 0x6092 # +0x9CA4 0x60A7 # +0x9CA5 0x608B # +0x9CA6 0x60E1 # +0x9CA7 0x60B8 # +0x9CA8 0x60E0 # +0x9CA9 0x60D3 # +0x9CAA 0x60B4 # +0x9CAB 0x5FF0 # +0x9CAC 0x60BD # +0x9CAD 0x60C6 # +0x9CAE 0x60B5 # +0x9CAF 0x60D8 # +0x9CB0 0x614D # +0x9CB1 0x6115 # +0x9CB2 0x6106 # +0x9CB3 0x60F6 # +0x9CB4 0x60F7 # +0x9CB5 0x6100 # +0x9CB6 0x60F4 # +0x9CB7 0x60FA # +0x9CB8 0x6103 # +0x9CB9 0x6121 # +0x9CBA 0x60FB # +0x9CBB 0x60F1 # +0x9CBC 0x610D # +0x9CBD 0x610E # +0x9CBE 0x6147 # +0x9CBF 0x613E # +0x9CC0 0x6128 # +0x9CC1 0x6127 # +0x9CC2 0x614A # +0x9CC3 0x613F # +0x9CC4 0x613C # +0x9CC5 0x612C # +0x9CC6 0x6134 # +0x9CC7 0x613D # +0x9CC8 0x6142 # +0x9CC9 0x6144 # +0x9CCA 0x6173 # +0x9CCB 0x6177 # +0x9CCC 0x6158 # +0x9CCD 0x6159 # +0x9CCE 0x615A # +0x9CCF 0x616B # +0x9CD0 0x6174 # +0x9CD1 0x616F # +0x9CD2 0x6165 # +0x9CD3 0x6171 # +0x9CD4 0x615F # +0x9CD5 0x615D # +0x9CD6 0x6153 # +0x9CD7 0x6175 # +0x9CD8 0x6199 # +0x9CD9 0x6196 # +0x9CDA 0x6187 # +0x9CDB 0x61AC # +0x9CDC 0x6194 # +0x9CDD 0x619A # +0x9CDE 0x618A # +0x9CDF 0x6191 # +0x9CE0 0x61AB # +0x9CE1 0x61AE # +0x9CE2 0x61CC # +0x9CE3 0x61CA # +0x9CE4 0x61C9 # +0x9CE5 0x61F7 # +0x9CE6 0x61C8 # +0x9CE7 0x61C3 # +0x9CE8 0x61C6 # +0x9CE9 0x61BA # +0x9CEA 0x61CB # +0x9CEB 0x7F79 # +0x9CEC 0x61CD # +0x9CED 0x61E6 # +0x9CEE 0x61E3 # +0x9CEF 0x61F6 # +0x9CF0 0x61FA # +0x9CF1 0x61F4 # +0x9CF2 0x61FF # +0x9CF3 0x61FD # +0x9CF4 0x61FC # +0x9CF5 0x61FE # +0x9CF6 0x6200 # +0x9CF7 0x6208 # +0x9CF8 0x6209 # +0x9CF9 0x620D # +0x9CFA 0x620C # +0x9CFB 0x6214 # +0x9CFC 0x621B # +0x9D40 0x621E # +0x9D41 0x6221 # +0x9D42 0x622A # +0x9D43 0x622E # +0x9D44 0x6230 # +0x9D45 0x6232 # +0x9D46 0x6233 # +0x9D47 0x6241 # +0x9D48 0x624E # +0x9D49 0x625E # +0x9D4A 0x6263 # +0x9D4B 0x625B # +0x9D4C 0x6260 # +0x9D4D 0x6268 # +0x9D4E 0x627C # +0x9D4F 0x6282 # +0x9D50 0x6289 # +0x9D51 0x627E # +0x9D52 0x6292 # +0x9D53 0x6293 # +0x9D54 0x6296 # +0x9D55 0x62D4 # +0x9D56 0x6283 # +0x9D57 0x6294 # +0x9D58 0x62D7 # +0x9D59 0x62D1 # +0x9D5A 0x62BB # +0x9D5B 0x62CF # +0x9D5C 0x62FF # +0x9D5D 0x62C6 # +0x9D5E 0x64D4 # +0x9D5F 0x62C8 # +0x9D60 0x62DC # +0x9D61 0x62CC # +0x9D62 0x62CA # +0x9D63 0x62C2 # +0x9D64 0x62C7 # +0x9D65 0x629B # +0x9D66 0x62C9 # +0x9D67 0x630C # +0x9D68 0x62EE # +0x9D69 0x62F1 # +0x9D6A 0x6327 # +0x9D6B 0x6302 # +0x9D6C 0x6308 # +0x9D6D 0x62EF # +0x9D6E 0x62F5 # +0x9D6F 0x6350 # +0x9D70 0x633E # +0x9D71 0x634D # +0x9D72 0x641C # +0x9D73 0x634F # +0x9D74 0x6396 # +0x9D75 0x638E # +0x9D76 0x6380 # +0x9D77 0x63AB # +0x9D78 0x6376 # +0x9D79 0x63A3 # +0x9D7A 0x638F # +0x9D7B 0x6389 # +0x9D7C 0x639F # +0x9D7D 0x63B5 # +0x9D7E 0x636B # +0x9D80 0x6369 # +0x9D81 0x63BE # +0x9D82 0x63E9 # +0x9D83 0x63C0 # +0x9D84 0x63C6 # +0x9D85 0x63E3 # +0x9D86 0x63C9 # +0x9D87 0x63D2 # +0x9D88 0x63F6 # +0x9D89 0x63C4 # +0x9D8A 0x6416 # +0x9D8B 0x6434 # +0x9D8C 0x6406 # +0x9D8D 0x6413 # +0x9D8E 0x6426 # +0x9D8F 0x6436 # +0x9D90 0x651D # +0x9D91 0x6417 # +0x9D92 0x6428 # +0x9D93 0x640F # +0x9D94 0x6467 # +0x9D95 0x646F # +0x9D96 0x6476 # +0x9D97 0x644E # +0x9D98 0x652A # +0x9D99 0x6495 # +0x9D9A 0x6493 # +0x9D9B 0x64A5 # +0x9D9C 0x64A9 # +0x9D9D 0x6488 # +0x9D9E 0x64BC # +0x9D9F 0x64DA # +0x9DA0 0x64D2 # +0x9DA1 0x64C5 # +0x9DA2 0x64C7 # +0x9DA3 0x64BB # +0x9DA4 0x64D8 # +0x9DA5 0x64C2 # +0x9DA6 0x64F1 # +0x9DA7 0x64E7 # +0x9DA8 0x8209 # +0x9DA9 0x64E0 # +0x9DAA 0x64E1 # +0x9DAB 0x62AC # +0x9DAC 0x64E3 # +0x9DAD 0x64EF # +0x9DAE 0x652C # +0x9DAF 0x64F6 # +0x9DB0 0x64F4 # +0x9DB1 0x64F2 # +0x9DB2 0x64FA # +0x9DB3 0x6500 # +0x9DB4 0x64FD # +0x9DB5 0x6518 # +0x9DB6 0x651C # +0x9DB7 0x6505 # +0x9DB8 0x6524 # +0x9DB9 0x6523 # +0x9DBA 0x652B # +0x9DBB 0x6534 # +0x9DBC 0x6535 # +0x9DBD 0x6537 # +0x9DBE 0x6536 # +0x9DBF 0x6538 # +0x9DC0 0x754B # +0x9DC1 0x6548 # +0x9DC2 0x6556 # +0x9DC3 0x6555 # +0x9DC4 0x654D # +0x9DC5 0x6558 # +0x9DC6 0x655E # +0x9DC7 0x655D # +0x9DC8 0x6572 # +0x9DC9 0x6578 # +0x9DCA 0x6582 # +0x9DCB 0x6583 # +0x9DCC 0x8B8A # +0x9DCD 0x659B # +0x9DCE 0x659F # +0x9DCF 0x65AB # +0x9DD0 0x65B7 # +0x9DD1 0x65C3 # +0x9DD2 0x65C6 # +0x9DD3 0x65C1 # +0x9DD4 0x65C4 # +0x9DD5 0x65CC # +0x9DD6 0x65D2 # +0x9DD7 0x65DB # +0x9DD8 0x65D9 # +0x9DD9 0x65E0 # +0x9DDA 0x65E1 # +0x9DDB 0x65F1 # +0x9DDC 0x6772 # +0x9DDD 0x660A # +0x9DDE 0x6603 # +0x9DDF 0x65FB # +0x9DE0 0x6773 # +0x9DE1 0x6635 # +0x9DE2 0x6636 # +0x9DE3 0x6634 # +0x9DE4 0x661C # +0x9DE5 0x664F # +0x9DE6 0x6644 # +0x9DE7 0x6649 # +0x9DE8 0x6641 # +0x9DE9 0x665E # +0x9DEA 0x665D # +0x9DEB 0x6664 # +0x9DEC 0x6667 # +0x9DED 0x6668 # +0x9DEE 0x665F # +0x9DEF 0x6662 # +0x9DF0 0x6670 # +0x9DF1 0x6683 # +0x9DF2 0x6688 # +0x9DF3 0x668E # +0x9DF4 0x6689 # +0x9DF5 0x6684 # +0x9DF6 0x6698 # +0x9DF7 0x669D # +0x9DF8 0x66C1 # +0x9DF9 0x66B9 # +0x9DFA 0x66C9 # +0x9DFB 0x66BE # +0x9DFC 0x66BC # +0x9E40 0x66C4 # +0x9E41 0x66B8 # +0x9E42 0x66D6 # +0x9E43 0x66DA # +0x9E44 0x66E0 # +0x9E45 0x663F # +0x9E46 0x66E6 # +0x9E47 0x66E9 # +0x9E48 0x66F0 # +0x9E49 0x66F5 # +0x9E4A 0x66F7 # +0x9E4B 0x670F # +0x9E4C 0x6716 # +0x9E4D 0x671E # +0x9E4E 0x6726 # +0x9E4F 0x6727 # +0x9E50 0x9738 # +0x9E51 0x672E # +0x9E52 0x673F # +0x9E53 0x6736 # +0x9E54 0x6741 # +0x9E55 0x6738 # +0x9E56 0x6737 # +0x9E57 0x6746 # +0x9E58 0x675E # +0x9E59 0x6760 # +0x9E5A 0x6759 # +0x9E5B 0x6763 # +0x9E5C 0x6764 # +0x9E5D 0x6789 # +0x9E5E 0x6770 # +0x9E5F 0x67A9 # +0x9E60 0x677C # +0x9E61 0x676A # +0x9E62 0x678C # +0x9E63 0x678B # +0x9E64 0x67A6 # +0x9E65 0x67A1 # +0x9E66 0x6785 # +0x9E67 0x67B7 # +0x9E68 0x67EF # +0x9E69 0x67B4 # +0x9E6A 0x67EC # +0x9E6B 0x67B3 # +0x9E6C 0x67E9 # +0x9E6D 0x67B8 # +0x9E6E 0x67E4 # +0x9E6F 0x67DE # +0x9E70 0x67DD # +0x9E71 0x67E2 # +0x9E72 0x67EE # +0x9E73 0x67B9 # +0x9E74 0x67CE # +0x9E75 0x67C6 # +0x9E76 0x67E7 # +0x9E77 0x6A9C # +0x9E78 0x681E # +0x9E79 0x6846 # +0x9E7A 0x6829 # +0x9E7B 0x6840 # +0x9E7C 0x684D # +0x9E7D 0x6832 # +0x9E7E 0x684E # +0x9E80 0x68B3 # +0x9E81 0x682B # +0x9E82 0x6859 # +0x9E83 0x6863 # +0x9E84 0x6877 # +0x9E85 0x687F # +0x9E86 0x689F # +0x9E87 0x688F # +0x9E88 0x68AD # +0x9E89 0x6894 # +0x9E8A 0x689D # +0x9E8B 0x689B # +0x9E8C 0x6883 # +0x9E8D 0x6AAE # +0x9E8E 0x68B9 # +0x9E8F 0x6874 # +0x9E90 0x68B5 # +0x9E91 0x68A0 # +0x9E92 0x68BA # +0x9E93 0x690F # +0x9E94 0x688D # +0x9E95 0x687E # +0x9E96 0x6901 # +0x9E97 0x68CA # +0x9E98 0x6908 # +0x9E99 0x68D8 # +0x9E9A 0x6922 # +0x9E9B 0x6926 # +0x9E9C 0x68E1 # +0x9E9D 0x690C # +0x9E9E 0x68CD # +0x9E9F 0x68D4 # +0x9EA0 0x68E7 # +0x9EA1 0x68D5 # +0x9EA2 0x6936 # +0x9EA3 0x6912 # +0x9EA4 0x6904 # +0x9EA5 0x68D7 # +0x9EA6 0x68E3 # +0x9EA7 0x6925 # +0x9EA8 0x68F9 # +0x9EA9 0x68E0 # +0x9EAA 0x68EF # +0x9EAB 0x6928 # +0x9EAC 0x692A # +0x9EAD 0x691A # +0x9EAE 0x6923 # +0x9EAF 0x6921 # +0x9EB0 0x68C6 # +0x9EB1 0x6979 # +0x9EB2 0x6977 # +0x9EB3 0x695C # +0x9EB4 0x6978 # +0x9EB5 0x696B # +0x9EB6 0x6954 # +0x9EB7 0x697E # +0x9EB8 0x696E # +0x9EB9 0x6939 # +0x9EBA 0x6974 # +0x9EBB 0x693D # +0x9EBC 0x6959 # +0x9EBD 0x6930 # +0x9EBE 0x6961 # +0x9EBF 0x695E # +0x9EC0 0x695D # +0x9EC1 0x6981 # +0x9EC2 0x696A # +0x9EC3 0x69B2 # +0x9EC4 0x69AE # +0x9EC5 0x69D0 # +0x9EC6 0x69BF # +0x9EC7 0x69C1 # +0x9EC8 0x69D3 # +0x9EC9 0x69BE # +0x9ECA 0x69CE # +0x9ECB 0x5BE8 # +0x9ECC 0x69CA # +0x9ECD 0x69DD # +0x9ECE 0x69BB # +0x9ECF 0x69C3 # +0x9ED0 0x69A7 # +0x9ED1 0x6A2E # +0x9ED2 0x6991 # +0x9ED3 0x69A0 # +0x9ED4 0x699C # +0x9ED5 0x6995 # +0x9ED6 0x69B4 # +0x9ED7 0x69DE # +0x9ED8 0x69E8 # +0x9ED9 0x6A02 # +0x9EDA 0x6A1B # +0x9EDB 0x69FF # +0x9EDC 0x6B0A # +0x9EDD 0x69F9 # +0x9EDE 0x69F2 # +0x9EDF 0x69E7 # +0x9EE0 0x6A05 # +0x9EE1 0x69B1 # +0x9EE2 0x6A1E # +0x9EE3 0x69ED # +0x9EE4 0x6A14 # +0x9EE5 0x69EB # +0x9EE6 0x6A0A # +0x9EE7 0x6A12 # +0x9EE8 0x6AC1 # +0x9EE9 0x6A23 # +0x9EEA 0x6A13 # +0x9EEB 0x6A44 # +0x9EEC 0x6A0C # +0x9EED 0x6A72 # +0x9EEE 0x6A36 # +0x9EEF 0x6A78 # +0x9EF0 0x6A47 # +0x9EF1 0x6A62 # +0x9EF2 0x6A59 # +0x9EF3 0x6A66 # +0x9EF4 0x6A48 # +0x9EF5 0x6A38 # +0x9EF6 0x6A22 # +0x9EF7 0x6A90 # +0x9EF8 0x6A8D # +0x9EF9 0x6AA0 # +0x9EFA 0x6A84 # +0x9EFB 0x6AA2 # +0x9EFC 0x6AA3 # +0x9F40 0x6A97 # +0x9F41 0x8617 # +0x9F42 0x6ABB # +0x9F43 0x6AC3 # +0x9F44 0x6AC2 # +0x9F45 0x6AB8 # +0x9F46 0x6AB3 # +0x9F47 0x6AAC # +0x9F48 0x6ADE # +0x9F49 0x6AD1 # +0x9F4A 0x6ADF # +0x9F4B 0x6AAA # +0x9F4C 0x6ADA # +0x9F4D 0x6AEA # +0x9F4E 0x6AFB # +0x9F4F 0x6B05 # +0x9F50 0x8616 # +0x9F51 0x6AFA # +0x9F52 0x6B12 # +0x9F53 0x6B16 # +0x9F54 0x9B31 # +0x9F55 0x6B1F # +0x9F56 0x6B38 # +0x9F57 0x6B37 # +0x9F58 0x76DC # +0x9F59 0x6B39 # +0x9F5A 0x98EE # +0x9F5B 0x6B47 # +0x9F5C 0x6B43 # +0x9F5D 0x6B49 # +0x9F5E 0x6B50 # +0x9F5F 0x6B59 # +0x9F60 0x6B54 # +0x9F61 0x6B5B # +0x9F62 0x6B5F # +0x9F63 0x6B61 # +0x9F64 0x6B78 # +0x9F65 0x6B79 # +0x9F66 0x6B7F # +0x9F67 0x6B80 # +0x9F68 0x6B84 # +0x9F69 0x6B83 # +0x9F6A 0x6B8D # +0x9F6B 0x6B98 # +0x9F6C 0x6B95 # +0x9F6D 0x6B9E # +0x9F6E 0x6BA4 # +0x9F6F 0x6BAA # +0x9F70 0x6BAB # +0x9F71 0x6BAF # +0x9F72 0x6BB2 # +0x9F73 0x6BB1 # +0x9F74 0x6BB3 # +0x9F75 0x6BB7 # +0x9F76 0x6BBC # +0x9F77 0x6BC6 # +0x9F78 0x6BCB # +0x9F79 0x6BD3 # +0x9F7A 0x6BDF # +0x9F7B 0x6BEC # +0x9F7C 0x6BEB # +0x9F7D 0x6BF3 # +0x9F7E 0x6BEF # +0x9F80 0x9EBE # +0x9F81 0x6C08 # +0x9F82 0x6C13 # +0x9F83 0x6C14 # +0x9F84 0x6C1B # +0x9F85 0x6C24 # +0x9F86 0x6C23 # +0x9F87 0x6C5E # +0x9F88 0x6C55 # +0x9F89 0x6C62 # +0x9F8A 0x6C6A # +0x9F8B 0x6C82 # +0x9F8C 0x6C8D # +0x9F8D 0x6C9A # +0x9F8E 0x6C81 # +0x9F8F 0x6C9B # +0x9F90 0x6C7E # +0x9F91 0x6C68 # +0x9F92 0x6C73 # +0x9F93 0x6C92 # +0x9F94 0x6C90 # +0x9F95 0x6CC4 # +0x9F96 0x6CF1 # +0x9F97 0x6CD3 # +0x9F98 0x6CBD # +0x9F99 0x6CD7 # +0x9F9A 0x6CC5 # +0x9F9B 0x6CDD # +0x9F9C 0x6CAE # +0x9F9D 0x6CB1 # +0x9F9E 0x6CBE # +0x9F9F 0x6CBA # +0x9FA0 0x6CDB # +0x9FA1 0x6CEF # +0x9FA2 0x6CD9 # +0x9FA3 0x6CEA # +0x9FA4 0x6D1F # +0x9FA5 0x884D # +0x9FA6 0x6D36 # +0x9FA7 0x6D2B # +0x9FA8 0x6D3D # +0x9FA9 0x6D38 # +0x9FAA 0x6D19 # +0x9FAB 0x6D35 # +0x9FAC 0x6D33 # +0x9FAD 0x6D12 # +0x9FAE 0x6D0C # +0x9FAF 0x6D63 # +0x9FB0 0x6D93 # +0x9FB1 0x6D64 # +0x9FB2 0x6D5A # +0x9FB3 0x6D79 # +0x9FB4 0x6D59 # +0x9FB5 0x6D8E # +0x9FB6 0x6D95 # +0x9FB7 0x6FE4 # +0x9FB8 0x6D85 # +0x9FB9 0x6DF9 # +0x9FBA 0x6E15 # +0x9FBB 0x6E0A # +0x9FBC 0x6DB5 # +0x9FBD 0x6DC7 # +0x9FBE 0x6DE6 # +0x9FBF 0x6DB8 # +0x9FC0 0x6DC6 # +0x9FC1 0x6DEC # +0x9FC2 0x6DDE # +0x9FC3 0x6DCC # +0x9FC4 0x6DE8 # +0x9FC5 0x6DD2 # +0x9FC6 0x6DC5 # +0x9FC7 0x6DFA # +0x9FC8 0x6DD9 # +0x9FC9 0x6DE4 # +0x9FCA 0x6DD5 # +0x9FCB 0x6DEA # +0x9FCC 0x6DEE # +0x9FCD 0x6E2D # +0x9FCE 0x6E6E # +0x9FCF 0x6E2E # +0x9FD0 0x6E19 # +0x9FD1 0x6E72 # +0x9FD2 0x6E5F # +0x9FD3 0x6E3E # +0x9FD4 0x6E23 # +0x9FD5 0x6E6B # +0x9FD6 0x6E2B # +0x9FD7 0x6E76 # +0x9FD8 0x6E4D # +0x9FD9 0x6E1F # +0x9FDA 0x6E43 # +0x9FDB 0x6E3A # +0x9FDC 0x6E4E # +0x9FDD 0x6E24 # +0x9FDE 0x6EFF # +0x9FDF 0x6E1D # +0x9FE0 0x6E38 # +0x9FE1 0x6E82 # +0x9FE2 0x6EAA # +0x9FE3 0x6E98 # +0x9FE4 0x6EC9 # +0x9FE5 0x6EB7 # +0x9FE6 0x6ED3 # +0x9FE7 0x6EBD # +0x9FE8 0x6EAF # +0x9FE9 0x6EC4 # +0x9FEA 0x6EB2 # +0x9FEB 0x6ED4 # +0x9FEC 0x6ED5 # +0x9FED 0x6E8F # +0x9FEE 0x6EA5 # +0x9FEF 0x6EC2 # +0x9FF0 0x6E9F # +0x9FF1 0x6F41 # +0x9FF2 0x6F11 # +0x9FF3 0x704C # +0x9FF4 0x6EEC # +0x9FF5 0x6EF8 # +0x9FF6 0x6EFE # +0x9FF7 0x6F3F # +0x9FF8 0x6EF2 # +0x9FF9 0x6F31 # +0x9FFA 0x6EEF # +0x9FFB 0x6F32 # +0x9FFC 0x6ECC # +0xA1 0xFF61 # HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 0xFF62 # HALFWIDTH LEFT CORNER BRACKET +0xA3 0xFF63 # HALFWIDTH RIGHT CORNER BRACKET +0xA4 0xFF64 # HALFWIDTH IDEOGRAPHIC COMMA +0xA5 0xFF65 # HALFWIDTH KATAKANA MIDDLE DOT +0xA6 0xFF66 # HALFWIDTH KATAKANA LETTER WO +0xA7 0xFF67 # HALFWIDTH KATAKANA LETTER SMALL A +0xA8 0xFF68 # HALFWIDTH KATAKANA LETTER SMALL I +0xA9 0xFF69 # HALFWIDTH KATAKANA LETTER SMALL U +0xAA 0xFF6A # HALFWIDTH KATAKANA LETTER SMALL E +0xAB 0xFF6B # HALFWIDTH KATAKANA LETTER SMALL O +0xAC 0xFF6C # HALFWIDTH KATAKANA LETTER SMALL YA +0xAD 0xFF6D # HALFWIDTH KATAKANA LETTER SMALL YU +0xAE 0xFF6E # HALFWIDTH KATAKANA LETTER SMALL YO +0xAF 0xFF6F # HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 0xFF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 0xFF71 # HALFWIDTH KATAKANA LETTER A +0xB2 0xFF72 # HALFWIDTH KATAKANA LETTER I +0xB3 0xFF73 # HALFWIDTH KATAKANA LETTER U +0xB4 0xFF74 # HALFWIDTH KATAKANA LETTER E +0xB5 0xFF75 # HALFWIDTH KATAKANA LETTER O +0xB6 0xFF76 # HALFWIDTH KATAKANA LETTER KA +0xB7 0xFF77 # HALFWIDTH KATAKANA LETTER KI +0xB8 0xFF78 # HALFWIDTH KATAKANA LETTER KU +0xB9 0xFF79 # HALFWIDTH KATAKANA LETTER KE +0xBA 0xFF7A # HALFWIDTH KATAKANA LETTER KO +0xBB 0xFF7B # HALFWIDTH KATAKANA LETTER SA +0xBC 0xFF7C # HALFWIDTH KATAKANA LETTER SI +0xBD 0xFF7D # HALFWIDTH KATAKANA LETTER SU +0xBE 0xFF7E # HALFWIDTH KATAKANA LETTER SE +0xBF 0xFF7F # HALFWIDTH KATAKANA LETTER SO +0xC0 0xFF80 # HALFWIDTH KATAKANA LETTER TA +0xC1 0xFF81 # HALFWIDTH KATAKANA LETTER TI +0xC2 0xFF82 # HALFWIDTH KATAKANA LETTER TU +0xC3 0xFF83 # HALFWIDTH KATAKANA LETTER TE +0xC4 0xFF84 # HALFWIDTH KATAKANA LETTER TO +0xC5 0xFF85 # HALFWIDTH KATAKANA LETTER NA +0xC6 0xFF86 # HALFWIDTH KATAKANA LETTER NI +0xC7 0xFF87 # HALFWIDTH KATAKANA LETTER NU +0xC8 0xFF88 # HALFWIDTH KATAKANA LETTER NE +0xC9 0xFF89 # HALFWIDTH KATAKANA LETTER NO +0xCA 0xFF8A # HALFWIDTH KATAKANA LETTER HA +0xCB 0xFF8B # HALFWIDTH KATAKANA LETTER HI +0xCC 0xFF8C # HALFWIDTH KATAKANA LETTER HU +0xCD 0xFF8D # HALFWIDTH KATAKANA LETTER HE +0xCE 0xFF8E # HALFWIDTH KATAKANA LETTER HO +0xCF 0xFF8F # HALFWIDTH KATAKANA LETTER MA +0xD0 0xFF90 # HALFWIDTH KATAKANA LETTER MI +0xD1 0xFF91 # HALFWIDTH KATAKANA LETTER MU +0xD2 0xFF92 # HALFWIDTH KATAKANA LETTER ME +0xD3 0xFF93 # HALFWIDTH KATAKANA LETTER MO +0xD4 0xFF94 # HALFWIDTH KATAKANA LETTER YA +0xD5 0xFF95 # HALFWIDTH KATAKANA LETTER YU +0xD6 0xFF96 # HALFWIDTH KATAKANA LETTER YO +0xD7 0xFF97 # HALFWIDTH KATAKANA LETTER RA +0xD8 0xFF98 # HALFWIDTH KATAKANA LETTER RI +0xD9 0xFF99 # HALFWIDTH KATAKANA LETTER RU +0xDA 0xFF9A # HALFWIDTH KATAKANA LETTER RE +0xDB 0xFF9B # HALFWIDTH KATAKANA LETTER RO +0xDC 0xFF9C # HALFWIDTH KATAKANA LETTER WA +0xDD 0xFF9D # HALFWIDTH KATAKANA LETTER N +0xDE 0xFF9E # HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF 0xFF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +0xE040 0x6F3E # +0xE041 0x6F13 # +0xE042 0x6EF7 # +0xE043 0x6F86 # +0xE044 0x6F7A # +0xE045 0x6F78 # +0xE046 0x6F81 # +0xE047 0x6F80 # +0xE048 0x6F6F # +0xE049 0x6F5B # +0xE04A 0x6FF3 # +0xE04B 0x6F6D # +0xE04C 0x6F82 # +0xE04D 0x6F7C # +0xE04E 0x6F58 # +0xE04F 0x6F8E # +0xE050 0x6F91 # +0xE051 0x6FC2 # +0xE052 0x6F66 # +0xE053 0x6FB3 # +0xE054 0x6FA3 # +0xE055 0x6FA1 # +0xE056 0x6FA4 # +0xE057 0x6FB9 # +0xE058 0x6FC6 # +0xE059 0x6FAA # +0xE05A 0x6FDF # +0xE05B 0x6FD5 # +0xE05C 0x6FEC # +0xE05D 0x6FD4 # +0xE05E 0x6FD8 # +0xE05F 0x6FF1 # +0xE060 0x6FEE # +0xE061 0x6FDB # +0xE062 0x7009 # +0xE063 0x700B # +0xE064 0x6FFA # +0xE065 0x7011 # +0xE066 0x7001 # +0xE067 0x700F # +0xE068 0x6FFE # +0xE069 0x701B # +0xE06A 0x701A # +0xE06B 0x6F74 # +0xE06C 0x701D # +0xE06D 0x7018 # +0xE06E 0x701F # +0xE06F 0x7030 # +0xE070 0x703E # +0xE071 0x7032 # +0xE072 0x7051 # +0xE073 0x7063 # +0xE074 0x7099 # +0xE075 0x7092 # +0xE076 0x70AF # +0xE077 0x70F1 # +0xE078 0x70AC # +0xE079 0x70B8 # +0xE07A 0x70B3 # +0xE07B 0x70AE # +0xE07C 0x70DF # +0xE07D 0x70CB # +0xE07E 0x70DD # +0xE080 0x70D9 # +0xE081 0x7109 # +0xE082 0x70FD # +0xE083 0x711C # +0xE084 0x7119 # +0xE085 0x7165 # +0xE086 0x7155 # +0xE087 0x7188 # +0xE088 0x7166 # +0xE089 0x7162 # +0xE08A 0x714C # +0xE08B 0x7156 # +0xE08C 0x716C # +0xE08D 0x718F # +0xE08E 0x71FB # +0xE08F 0x7184 # +0xE090 0x7195 # +0xE091 0x71A8 # +0xE092 0x71AC # +0xE093 0x71D7 # +0xE094 0x71B9 # +0xE095 0x71BE # +0xE096 0x71D2 # +0xE097 0x71C9 # +0xE098 0x71D4 # +0xE099 0x71CE # +0xE09A 0x71E0 # +0xE09B 0x71EC # +0xE09C 0x71E7 # +0xE09D 0x71F5 # +0xE09E 0x71FC # +0xE09F 0x71F9 # +0xE0A0 0x71FF # +0xE0A1 0x720D # +0xE0A2 0x7210 # +0xE0A3 0x721B # +0xE0A4 0x7228 # +0xE0A5 0x722D # +0xE0A6 0x722C # +0xE0A7 0x7230 # +0xE0A8 0x7232 # +0xE0A9 0x723B # +0xE0AA 0x723C # +0xE0AB 0x723F # +0xE0AC 0x7240 # +0xE0AD 0x7246 # +0xE0AE 0x724B # +0xE0AF 0x7258 # +0xE0B0 0x7274 # +0xE0B1 0x727E # +0xE0B2 0x7282 # +0xE0B3 0x7281 # +0xE0B4 0x7287 # +0xE0B5 0x7292 # +0xE0B6 0x7296 # +0xE0B7 0x72A2 # +0xE0B8 0x72A7 # +0xE0B9 0x72B9 # +0xE0BA 0x72B2 # +0xE0BB 0x72C3 # +0xE0BC 0x72C6 # +0xE0BD 0x72C4 # +0xE0BE 0x72CE # +0xE0BF 0x72D2 # +0xE0C0 0x72E2 # +0xE0C1 0x72E0 # +0xE0C2 0x72E1 # +0xE0C3 0x72F9 # +0xE0C4 0x72F7 # +0xE0C5 0x500F # +0xE0C6 0x7317 # +0xE0C7 0x730A # +0xE0C8 0x731C # +0xE0C9 0x7316 # +0xE0CA 0x731D # +0xE0CB 0x7334 # +0xE0CC 0x732F # +0xE0CD 0x7329 # +0xE0CE 0x7325 # +0xE0CF 0x733E # +0xE0D0 0x734E # +0xE0D1 0x734F # +0xE0D2 0x9ED8 # +0xE0D3 0x7357 # +0xE0D4 0x736A # +0xE0D5 0x7368 # +0xE0D6 0x7370 # +0xE0D7 0x7378 # +0xE0D8 0x7375 # +0xE0D9 0x737B # +0xE0DA 0x737A # +0xE0DB 0x73C8 # +0xE0DC 0x73B3 # +0xE0DD 0x73CE # +0xE0DE 0x73BB # +0xE0DF 0x73C0 # +0xE0E0 0x73E5 # +0xE0E1 0x73EE # +0xE0E2 0x73DE # +0xE0E3 0x74A2 # +0xE0E4 0x7405 # +0xE0E5 0x746F # +0xE0E6 0x7425 # +0xE0E7 0x73F8 # +0xE0E8 0x7432 # +0xE0E9 0x743A # +0xE0EA 0x7455 # +0xE0EB 0x743F # +0xE0EC 0x745F # +0xE0ED 0x7459 # +0xE0EE 0x7441 # +0xE0EF 0x745C # +0xE0F0 0x7469 # +0xE0F1 0x7470 # +0xE0F2 0x7463 # +0xE0F3 0x746A # +0xE0F4 0x7476 # +0xE0F5 0x747E # +0xE0F6 0x748B # +0xE0F7 0x749E # +0xE0F8 0x74A7 # +0xE0F9 0x74CA # +0xE0FA 0x74CF # +0xE0FB 0x74D4 # +0xE0FC 0x73F1 # +0xE140 0x74E0 # +0xE141 0x74E3 # +0xE142 0x74E7 # +0xE143 0x74E9 # +0xE144 0x74EE # +0xE145 0x74F2 # +0xE146 0x74F0 # +0xE147 0x74F1 # +0xE148 0x74F8 # +0xE149 0x74F7 # +0xE14A 0x7504 # +0xE14B 0x7503 # +0xE14C 0x7505 # +0xE14D 0x750C # +0xE14E 0x750E # +0xE14F 0x750D # +0xE150 0x7515 # +0xE151 0x7513 # +0xE152 0x751E # +0xE153 0x7526 # +0xE154 0x752C # +0xE155 0x753C # +0xE156 0x7544 # +0xE157 0x754D # +0xE158 0x754A # +0xE159 0x7549 # +0xE15A 0x755B # +0xE15B 0x7546 # +0xE15C 0x755A # +0xE15D 0x7569 # +0xE15E 0x7564 # +0xE15F 0x7567 # +0xE160 0x756B # +0xE161 0x756D # +0xE162 0x7578 # +0xE163 0x7576 # +0xE164 0x7586 # +0xE165 0x7587 # +0xE166 0x7574 # +0xE167 0x758A # +0xE168 0x7589 # +0xE169 0x7582 # +0xE16A 0x7594 # +0xE16B 0x759A # +0xE16C 0x759D # +0xE16D 0x75A5 # +0xE16E 0x75A3 # +0xE16F 0x75C2 # +0xE170 0x75B3 # +0xE171 0x75C3 # +0xE172 0x75B5 # +0xE173 0x75BD # +0xE174 0x75B8 # +0xE175 0x75BC # +0xE176 0x75B1 # +0xE177 0x75CD # +0xE178 0x75CA # +0xE179 0x75D2 # +0xE17A 0x75D9 # +0xE17B 0x75E3 # +0xE17C 0x75DE # +0xE17D 0x75FE # +0xE17E 0x75FF # +0xE180 0x75FC # +0xE181 0x7601 # +0xE182 0x75F0 # +0xE183 0x75FA # +0xE184 0x75F2 # +0xE185 0x75F3 # +0xE186 0x760B # +0xE187 0x760D # +0xE188 0x7609 # +0xE189 0x761F # +0xE18A 0x7627 # +0xE18B 0x7620 # +0xE18C 0x7621 # +0xE18D 0x7622 # +0xE18E 0x7624 # +0xE18F 0x7634 # +0xE190 0x7630 # +0xE191 0x763B # +0xE192 0x7647 # +0xE193 0x7648 # +0xE194 0x7646 # +0xE195 0x765C # +0xE196 0x7658 # +0xE197 0x7661 # +0xE198 0x7662 # +0xE199 0x7668 # +0xE19A 0x7669 # +0xE19B 0x766A # +0xE19C 0x7667 # +0xE19D 0x766C # +0xE19E 0x7670 # +0xE19F 0x7672 # +0xE1A0 0x7676 # +0xE1A1 0x7678 # +0xE1A2 0x767C # +0xE1A3 0x7680 # +0xE1A4 0x7683 # +0xE1A5 0x7688 # +0xE1A6 0x768B # +0xE1A7 0x768E # +0xE1A8 0x7696 # +0xE1A9 0x7693 # +0xE1AA 0x7699 # +0xE1AB 0x769A # +0xE1AC 0x76B0 # +0xE1AD 0x76B4 # +0xE1AE 0x76B8 # +0xE1AF 0x76B9 # +0xE1B0 0x76BA # +0xE1B1 0x76C2 # +0xE1B2 0x76CD # +0xE1B3 0x76D6 # +0xE1B4 0x76D2 # +0xE1B5 0x76DE # +0xE1B6 0x76E1 # +0xE1B7 0x76E5 # +0xE1B8 0x76E7 # +0xE1B9 0x76EA # +0xE1BA 0x862F # +0xE1BB 0x76FB # +0xE1BC 0x7708 # +0xE1BD 0x7707 # +0xE1BE 0x7704 # +0xE1BF 0x7729 # +0xE1C0 0x7724 # +0xE1C1 0x771E # +0xE1C2 0x7725 # +0xE1C3 0x7726 # +0xE1C4 0x771B # +0xE1C5 0x7737 # +0xE1C6 0x7738 # +0xE1C7 0x7747 # +0xE1C8 0x775A # +0xE1C9 0x7768 # +0xE1CA 0x776B # +0xE1CB 0x775B # +0xE1CC 0x7765 # +0xE1CD 0x777F # +0xE1CE 0x777E # +0xE1CF 0x7779 # +0xE1D0 0x778E # +0xE1D1 0x778B # +0xE1D2 0x7791 # +0xE1D3 0x77A0 # +0xE1D4 0x779E # +0xE1D5 0x77B0 # +0xE1D6 0x77B6 # +0xE1D7 0x77B9 # +0xE1D8 0x77BF # +0xE1D9 0x77BC # +0xE1DA 0x77BD # +0xE1DB 0x77BB # +0xE1DC 0x77C7 # +0xE1DD 0x77CD # +0xE1DE 0x77D7 # +0xE1DF 0x77DA # +0xE1E0 0x77DC # +0xE1E1 0x77E3 # +0xE1E2 0x77EE # +0xE1E3 0x77FC # +0xE1E4 0x780C # +0xE1E5 0x7812 # +0xE1E6 0x7926 # +0xE1E7 0x7820 # +0xE1E8 0x792A # +0xE1E9 0x7845 # +0xE1EA 0x788E # +0xE1EB 0x7874 # +0xE1EC 0x7886 # +0xE1ED 0x787C # +0xE1EE 0x789A # +0xE1EF 0x788C # +0xE1F0 0x78A3 # +0xE1F1 0x78B5 # +0xE1F2 0x78AA # +0xE1F3 0x78AF # +0xE1F4 0x78D1 # +0xE1F5 0x78C6 # +0xE1F6 0x78CB # +0xE1F7 0x78D4 # +0xE1F8 0x78BE # +0xE1F9 0x78BC # +0xE1FA 0x78C5 # +0xE1FB 0x78CA # +0xE1FC 0x78EC # +0xE240 0x78E7 # +0xE241 0x78DA # +0xE242 0x78FD # +0xE243 0x78F4 # +0xE244 0x7907 # +0xE245 0x7912 # +0xE246 0x7911 # +0xE247 0x7919 # +0xE248 0x792C # +0xE249 0x792B # +0xE24A 0x7940 # +0xE24B 0x7960 # +0xE24C 0x7957 # +0xE24D 0x795F # +0xE24E 0x795A # +0xE24F 0x7955 # +0xE250 0x7953 # +0xE251 0x797A # +0xE252 0x797F # +0xE253 0x798A # +0xE254 0x799D # +0xE255 0x79A7 # +0xE256 0x9F4B # +0xE257 0x79AA # +0xE258 0x79AE # +0xE259 0x79B3 # +0xE25A 0x79B9 # +0xE25B 0x79BA # +0xE25C 0x79C9 # +0xE25D 0x79D5 # +0xE25E 0x79E7 # +0xE25F 0x79EC # +0xE260 0x79E1 # +0xE261 0x79E3 # +0xE262 0x7A08 # +0xE263 0x7A0D # +0xE264 0x7A18 # +0xE265 0x7A19 # +0xE266 0x7A20 # +0xE267 0x7A1F # +0xE268 0x7980 # +0xE269 0x7A31 # +0xE26A 0x7A3B # +0xE26B 0x7A3E # +0xE26C 0x7A37 # +0xE26D 0x7A43 # +0xE26E 0x7A57 # +0xE26F 0x7A49 # +0xE270 0x7A61 # +0xE271 0x7A62 # +0xE272 0x7A69 # +0xE273 0x9F9D # +0xE274 0x7A70 # +0xE275 0x7A79 # +0xE276 0x7A7D # +0xE277 0x7A88 # +0xE278 0x7A97 # +0xE279 0x7A95 # +0xE27A 0x7A98 # +0xE27B 0x7A96 # +0xE27C 0x7AA9 # +0xE27D 0x7AC8 # +0xE27E 0x7AB0 # +0xE280 0x7AB6 # +0xE281 0x7AC5 # +0xE282 0x7AC4 # +0xE283 0x7ABF # +0xE284 0x9083 # +0xE285 0x7AC7 # +0xE286 0x7ACA # +0xE287 0x7ACD # +0xE288 0x7ACF # +0xE289 0x7AD5 # +0xE28A 0x7AD3 # +0xE28B 0x7AD9 # +0xE28C 0x7ADA # +0xE28D 0x7ADD # +0xE28E 0x7AE1 # +0xE28F 0x7AE2 # +0xE290 0x7AE6 # +0xE291 0x7AED # +0xE292 0x7AF0 # +0xE293 0x7B02 # +0xE294 0x7B0F # +0xE295 0x7B0A # +0xE296 0x7B06 # +0xE297 0x7B33 # +0xE298 0x7B18 # +0xE299 0x7B19 # +0xE29A 0x7B1E # +0xE29B 0x7B35 # +0xE29C 0x7B28 # +0xE29D 0x7B36 # +0xE29E 0x7B50 # +0xE29F 0x7B7A # +0xE2A0 0x7B04 # +0xE2A1 0x7B4D # +0xE2A2 0x7B0B # +0xE2A3 0x7B4C # +0xE2A4 0x7B45 # +0xE2A5 0x7B75 # +0xE2A6 0x7B65 # +0xE2A7 0x7B74 # +0xE2A8 0x7B67 # +0xE2A9 0x7B70 # +0xE2AA 0x7B71 # +0xE2AB 0x7B6C # +0xE2AC 0x7B6E # +0xE2AD 0x7B9D # +0xE2AE 0x7B98 # +0xE2AF 0x7B9F # +0xE2B0 0x7B8D # +0xE2B1 0x7B9C # +0xE2B2 0x7B9A # +0xE2B3 0x7B8B # +0xE2B4 0x7B92 # +0xE2B5 0x7B8F # +0xE2B6 0x7B5D # +0xE2B7 0x7B99 # +0xE2B8 0x7BCB # +0xE2B9 0x7BC1 # +0xE2BA 0x7BCC # +0xE2BB 0x7BCF # +0xE2BC 0x7BB4 # +0xE2BD 0x7BC6 # +0xE2BE 0x7BDD # +0xE2BF 0x7BE9 # +0xE2C0 0x7C11 # +0xE2C1 0x7C14 # +0xE2C2 0x7BE6 # +0xE2C3 0x7BE5 # +0xE2C4 0x7C60 # +0xE2C5 0x7C00 # +0xE2C6 0x7C07 # +0xE2C7 0x7C13 # +0xE2C8 0x7BF3 # +0xE2C9 0x7BF7 # +0xE2CA 0x7C17 # +0xE2CB 0x7C0D # +0xE2CC 0x7BF6 # +0xE2CD 0x7C23 # +0xE2CE 0x7C27 # +0xE2CF 0x7C2A # +0xE2D0 0x7C1F # +0xE2D1 0x7C37 # +0xE2D2 0x7C2B # +0xE2D3 0x7C3D # +0xE2D4 0x7C4C # +0xE2D5 0x7C43 # +0xE2D6 0x7C54 # +0xE2D7 0x7C4F # +0xE2D8 0x7C40 # +0xE2D9 0x7C50 # +0xE2DA 0x7C58 # +0xE2DB 0x7C5F # +0xE2DC 0x7C64 # +0xE2DD 0x7C56 # +0xE2DE 0x7C65 # +0xE2DF 0x7C6C # +0xE2E0 0x7C75 # +0xE2E1 0x7C83 # +0xE2E2 0x7C90 # +0xE2E3 0x7CA4 # +0xE2E4 0x7CAD # +0xE2E5 0x7CA2 # +0xE2E6 0x7CAB # +0xE2E7 0x7CA1 # +0xE2E8 0x7CA8 # +0xE2E9 0x7CB3 # +0xE2EA 0x7CB2 # +0xE2EB 0x7CB1 # +0xE2EC 0x7CAE # +0xE2ED 0x7CB9 # +0xE2EE 0x7CBD # +0xE2EF 0x7CC0 # +0xE2F0 0x7CC5 # +0xE2F1 0x7CC2 # +0xE2F2 0x7CD8 # +0xE2F3 0x7CD2 # +0xE2F4 0x7CDC # +0xE2F5 0x7CE2 # +0xE2F6 0x9B3B # +0xE2F7 0x7CEF # +0xE2F8 0x7CF2 # +0xE2F9 0x7CF4 # +0xE2FA 0x7CF6 # +0xE2FB 0x7CFA # +0xE2FC 0x7D06 # +0xE340 0x7D02 # +0xE341 0x7D1C # +0xE342 0x7D15 # +0xE343 0x7D0A # +0xE344 0x7D45 # +0xE345 0x7D4B # +0xE346 0x7D2E # +0xE347 0x7D32 # +0xE348 0x7D3F # +0xE349 0x7D35 # +0xE34A 0x7D46 # +0xE34B 0x7D73 # +0xE34C 0x7D56 # +0xE34D 0x7D4E # +0xE34E 0x7D72 # +0xE34F 0x7D68 # +0xE350 0x7D6E # +0xE351 0x7D4F # +0xE352 0x7D63 # +0xE353 0x7D93 # +0xE354 0x7D89 # +0xE355 0x7D5B # +0xE356 0x7D8F # +0xE357 0x7D7D # +0xE358 0x7D9B # +0xE359 0x7DBA # +0xE35A 0x7DAE # +0xE35B 0x7DA3 # +0xE35C 0x7DB5 # +0xE35D 0x7DC7 # +0xE35E 0x7DBD # +0xE35F 0x7DAB # +0xE360 0x7E3D # +0xE361 0x7DA2 # +0xE362 0x7DAF # +0xE363 0x7DDC # +0xE364 0x7DB8 # +0xE365 0x7D9F # +0xE366 0x7DB0 # +0xE367 0x7DD8 # +0xE368 0x7DDD # +0xE369 0x7DE4 # +0xE36A 0x7DDE # +0xE36B 0x7DFB # +0xE36C 0x7DF2 # +0xE36D 0x7DE1 # +0xE36E 0x7E05 # +0xE36F 0x7E0A # +0xE370 0x7E23 # +0xE371 0x7E21 # +0xE372 0x7E12 # +0xE373 0x7E31 # +0xE374 0x7E1F # +0xE375 0x7E09 # +0xE376 0x7E0B # +0xE377 0x7E22 # +0xE378 0x7E46 # +0xE379 0x7E66 # +0xE37A 0x7E3B # +0xE37B 0x7E35 # +0xE37C 0x7E39 # +0xE37D 0x7E43 # +0xE37E 0x7E37 # +0xE380 0x7E32 # +0xE381 0x7E3A # +0xE382 0x7E67 # +0xE383 0x7E5D # +0xE384 0x7E56 # +0xE385 0x7E5E # +0xE386 0x7E59 # +0xE387 0x7E5A # +0xE388 0x7E79 # +0xE389 0x7E6A # +0xE38A 0x7E69 # +0xE38B 0x7E7C # +0xE38C 0x7E7B # +0xE38D 0x7E83 # +0xE38E 0x7DD5 # +0xE38F 0x7E7D # +0xE390 0x8FAE # +0xE391 0x7E7F # +0xE392 0x7E88 # +0xE393 0x7E89 # +0xE394 0x7E8C # +0xE395 0x7E92 # +0xE396 0x7E90 # +0xE397 0x7E93 # +0xE398 0x7E94 # +0xE399 0x7E96 # +0xE39A 0x7E8E # +0xE39B 0x7E9B # +0xE39C 0x7E9C # +0xE39D 0x7F38 # +0xE39E 0x7F3A # +0xE39F 0x7F45 # +0xE3A0 0x7F4C # +0xE3A1 0x7F4D # +0xE3A2 0x7F4E # +0xE3A3 0x7F50 # +0xE3A4 0x7F51 # +0xE3A5 0x7F55 # +0xE3A6 0x7F54 # +0xE3A7 0x7F58 # +0xE3A8 0x7F5F # +0xE3A9 0x7F60 # +0xE3AA 0x7F68 # +0xE3AB 0x7F69 # +0xE3AC 0x7F67 # +0xE3AD 0x7F78 # +0xE3AE 0x7F82 # +0xE3AF 0x7F86 # +0xE3B0 0x7F83 # +0xE3B1 0x7F88 # +0xE3B2 0x7F87 # +0xE3B3 0x7F8C # +0xE3B4 0x7F94 # +0xE3B5 0x7F9E # +0xE3B6 0x7F9D # +0xE3B7 0x7F9A # +0xE3B8 0x7FA3 # +0xE3B9 0x7FAF # +0xE3BA 0x7FB2 # +0xE3BB 0x7FB9 # +0xE3BC 0x7FAE # +0xE3BD 0x7FB6 # +0xE3BE 0x7FB8 # +0xE3BF 0x8B71 # +0xE3C0 0x7FC5 # +0xE3C1 0x7FC6 # +0xE3C2 0x7FCA # +0xE3C3 0x7FD5 # +0xE3C4 0x7FD4 # +0xE3C5 0x7FE1 # +0xE3C6 0x7FE6 # +0xE3C7 0x7FE9 # +0xE3C8 0x7FF3 # +0xE3C9 0x7FF9 # +0xE3CA 0x98DC # +0xE3CB 0x8006 # +0xE3CC 0x8004 # +0xE3CD 0x800B # +0xE3CE 0x8012 # +0xE3CF 0x8018 # +0xE3D0 0x8019 # +0xE3D1 0x801C # +0xE3D2 0x8021 # +0xE3D3 0x8028 # +0xE3D4 0x803F # +0xE3D5 0x803B # +0xE3D6 0x804A # +0xE3D7 0x8046 # +0xE3D8 0x8052 # +0xE3D9 0x8058 # +0xE3DA 0x805A # +0xE3DB 0x805F # +0xE3DC 0x8062 # +0xE3DD 0x8068 # +0xE3DE 0x8073 # +0xE3DF 0x8072 # +0xE3E0 0x8070 # +0xE3E1 0x8076 # +0xE3E2 0x8079 # +0xE3E3 0x807D # +0xE3E4 0x807F # +0xE3E5 0x8084 # +0xE3E6 0x8086 # +0xE3E7 0x8085 # +0xE3E8 0x809B # +0xE3E9 0x8093 # +0xE3EA 0x809A # +0xE3EB 0x80AD # +0xE3EC 0x5190 # +0xE3ED 0x80AC # +0xE3EE 0x80DB # +0xE3EF 0x80E5 # +0xE3F0 0x80D9 # +0xE3F1 0x80DD # +0xE3F2 0x80C4 # +0xE3F3 0x80DA # +0xE3F4 0x80D6 # +0xE3F5 0x8109 # +0xE3F6 0x80EF # +0xE3F7 0x80F1 # +0xE3F8 0x811B # +0xE3F9 0x8129 # +0xE3FA 0x8123 # +0xE3FB 0x812F # +0xE3FC 0x814B # +0xE440 0x968B # +0xE441 0x8146 # +0xE442 0x813E # +0xE443 0x8153 # +0xE444 0x8151 # +0xE445 0x80FC # +0xE446 0x8171 # +0xE447 0x816E # +0xE448 0x8165 # +0xE449 0x8166 # +0xE44A 0x8174 # +0xE44B 0x8183 # +0xE44C 0x8188 # +0xE44D 0x818A # +0xE44E 0x8180 # +0xE44F 0x8182 # +0xE450 0x81A0 # +0xE451 0x8195 # +0xE452 0x81A4 # +0xE453 0x81A3 # +0xE454 0x815F # +0xE455 0x8193 # +0xE456 0x81A9 # +0xE457 0x81B0 # +0xE458 0x81B5 # +0xE459 0x81BE # +0xE45A 0x81B8 # +0xE45B 0x81BD # +0xE45C 0x81C0 # +0xE45D 0x81C2 # +0xE45E 0x81BA # +0xE45F 0x81C9 # +0xE460 0x81CD # +0xE461 0x81D1 # +0xE462 0x81D9 # +0xE463 0x81D8 # +0xE464 0x81C8 # +0xE465 0x81DA # +0xE466 0x81DF # +0xE467 0x81E0 # +0xE468 0x81E7 # +0xE469 0x81FA # +0xE46A 0x81FB # +0xE46B 0x81FE # +0xE46C 0x8201 # +0xE46D 0x8202 # +0xE46E 0x8205 # +0xE46F 0x8207 # +0xE470 0x820A # +0xE471 0x820D # +0xE472 0x8210 # +0xE473 0x8216 # +0xE474 0x8229 # +0xE475 0x822B # +0xE476 0x8238 # +0xE477 0x8233 # +0xE478 0x8240 # +0xE479 0x8259 # +0xE47A 0x8258 # +0xE47B 0x825D # +0xE47C 0x825A # +0xE47D 0x825F # +0xE47E 0x8264 # +0xE480 0x8262 # +0xE481 0x8268 # +0xE482 0x826A # +0xE483 0x826B # +0xE484 0x822E # +0xE485 0x8271 # +0xE486 0x8277 # +0xE487 0x8278 # +0xE488 0x827E # +0xE489 0x828D # +0xE48A 0x8292 # +0xE48B 0x82AB # +0xE48C 0x829F # +0xE48D 0x82BB # +0xE48E 0x82AC # +0xE48F 0x82E1 # +0xE490 0x82E3 # +0xE491 0x82DF # +0xE492 0x82D2 # +0xE493 0x82F4 # +0xE494 0x82F3 # +0xE495 0x82FA # +0xE496 0x8393 # +0xE497 0x8303 # +0xE498 0x82FB # +0xE499 0x82F9 # +0xE49A 0x82DE # +0xE49B 0x8306 # +0xE49C 0x82DC # +0xE49D 0x8309 # +0xE49E 0x82D9 # +0xE49F 0x8335 # +0xE4A0 0x8334 # +0xE4A1 0x8316 # +0xE4A2 0x8332 # +0xE4A3 0x8331 # +0xE4A4 0x8340 # +0xE4A5 0x8339 # +0xE4A6 0x8350 # +0xE4A7 0x8345 # +0xE4A8 0x832F # +0xE4A9 0x832B # +0xE4AA 0x8317 # +0xE4AB 0x8318 # +0xE4AC 0x8385 # +0xE4AD 0x839A # +0xE4AE 0x83AA # +0xE4AF 0x839F # +0xE4B0 0x83A2 # +0xE4B1 0x8396 # +0xE4B2 0x8323 # +0xE4B3 0x838E # +0xE4B4 0x8387 # +0xE4B5 0x838A # +0xE4B6 0x837C # +0xE4B7 0x83B5 # +0xE4B8 0x8373 # +0xE4B9 0x8375 # +0xE4BA 0x83A0 # +0xE4BB 0x8389 # +0xE4BC 0x83A8 # +0xE4BD 0x83F4 # +0xE4BE 0x8413 # +0xE4BF 0x83EB # +0xE4C0 0x83CE # +0xE4C1 0x83FD # +0xE4C2 0x8403 # +0xE4C3 0x83D8 # +0xE4C4 0x840B # +0xE4C5 0x83C1 # +0xE4C6 0x83F7 # +0xE4C7 0x8407 # +0xE4C8 0x83E0 # +0xE4C9 0x83F2 # +0xE4CA 0x840D # +0xE4CB 0x8422 # +0xE4CC 0x8420 # +0xE4CD 0x83BD # +0xE4CE 0x8438 # +0xE4CF 0x8506 # +0xE4D0 0x83FB # +0xE4D1 0x846D # +0xE4D2 0x842A # +0xE4D3 0x843C # +0xE4D4 0x855A # +0xE4D5 0x8484 # +0xE4D6 0x8477 # +0xE4D7 0x846B # +0xE4D8 0x84AD # +0xE4D9 0x846E # +0xE4DA 0x8482 # +0xE4DB 0x8469 # +0xE4DC 0x8446 # +0xE4DD 0x842C # +0xE4DE 0x846F # +0xE4DF 0x8479 # +0xE4E0 0x8435 # +0xE4E1 0x84CA # +0xE4E2 0x8462 # +0xE4E3 0x84B9 # +0xE4E4 0x84BF # +0xE4E5 0x849F # +0xE4E6 0x84D9 # +0xE4E7 0x84CD # +0xE4E8 0x84BB # +0xE4E9 0x84DA # +0xE4EA 0x84D0 # +0xE4EB 0x84C1 # +0xE4EC 0x84C6 # +0xE4ED 0x84D6 # +0xE4EE 0x84A1 # +0xE4EF 0x8521 # +0xE4F0 0x84FF # +0xE4F1 0x84F4 # +0xE4F2 0x8517 # +0xE4F3 0x8518 # +0xE4F4 0x852C # +0xE4F5 0x851F # +0xE4F6 0x8515 # +0xE4F7 0x8514 # +0xE4F8 0x84FC # +0xE4F9 0x8540 # +0xE4FA 0x8563 # +0xE4FB 0x8558 # +0xE4FC 0x8548 # +0xE540 0x8541 # +0xE541 0x8602 # +0xE542 0x854B # +0xE543 0x8555 # +0xE544 0x8580 # +0xE545 0x85A4 # +0xE546 0x8588 # +0xE547 0x8591 # +0xE548 0x858A # +0xE549 0x85A8 # +0xE54A 0x856D # +0xE54B 0x8594 # +0xE54C 0x859B # +0xE54D 0x85EA # +0xE54E 0x8587 # +0xE54F 0x859C # +0xE550 0x8577 # +0xE551 0x857E # +0xE552 0x8590 # +0xE553 0x85C9 # +0xE554 0x85BA # +0xE555 0x85CF # +0xE556 0x85B9 # +0xE557 0x85D0 # +0xE558 0x85D5 # +0xE559 0x85DD # +0xE55A 0x85E5 # +0xE55B 0x85DC # +0xE55C 0x85F9 # +0xE55D 0x860A # +0xE55E 0x8613 # +0xE55F 0x860B # +0xE560 0x85FE # +0xE561 0x85FA # +0xE562 0x8606 # +0xE563 0x8622 # +0xE564 0x861A # +0xE565 0x8630 # +0xE566 0x863F # +0xE567 0x864D # +0xE568 0x4E55 # +0xE569 0x8654 # +0xE56A 0x865F # +0xE56B 0x8667 # +0xE56C 0x8671 # +0xE56D 0x8693 # +0xE56E 0x86A3 # +0xE56F 0x86A9 # +0xE570 0x86AA # +0xE571 0x868B # +0xE572 0x868C # +0xE573 0x86B6 # +0xE574 0x86AF # +0xE575 0x86C4 # +0xE576 0x86C6 # +0xE577 0x86B0 # +0xE578 0x86C9 # +0xE579 0x8823 # +0xE57A 0x86AB # +0xE57B 0x86D4 # +0xE57C 0x86DE # +0xE57D 0x86E9 # +0xE57E 0x86EC # +0xE580 0x86DF # +0xE581 0x86DB # +0xE582 0x86EF # +0xE583 0x8712 # +0xE584 0x8706 # +0xE585 0x8708 # +0xE586 0x8700 # +0xE587 0x8703 # +0xE588 0x86FB # +0xE589 0x8711 # +0xE58A 0x8709 # +0xE58B 0x870D # +0xE58C 0x86F9 # +0xE58D 0x870A # +0xE58E 0x8734 # +0xE58F 0x873F # +0xE590 0x8737 # +0xE591 0x873B # +0xE592 0x8725 # +0xE593 0x8729 # +0xE594 0x871A # +0xE595 0x8760 # +0xE596 0x875F # +0xE597 0x8778 # +0xE598 0x874C # +0xE599 0x874E # +0xE59A 0x8774 # +0xE59B 0x8757 # +0xE59C 0x8768 # +0xE59D 0x876E # +0xE59E 0x8759 # +0xE59F 0x8753 # +0xE5A0 0x8763 # +0xE5A1 0x876A # +0xE5A2 0x8805 # +0xE5A3 0x87A2 # +0xE5A4 0x879F # +0xE5A5 0x8782 # +0xE5A6 0x87AF # +0xE5A7 0x87CB # +0xE5A8 0x87BD # +0xE5A9 0x87C0 # +0xE5AA 0x87D0 # +0xE5AB 0x96D6 # +0xE5AC 0x87AB # +0xE5AD 0x87C4 # +0xE5AE 0x87B3 # +0xE5AF 0x87C7 # +0xE5B0 0x87C6 # +0xE5B1 0x87BB # +0xE5B2 0x87EF # +0xE5B3 0x87F2 # +0xE5B4 0x87E0 # +0xE5B5 0x880F # +0xE5B6 0x880D # +0xE5B7 0x87FE # +0xE5B8 0x87F6 # +0xE5B9 0x87F7 # +0xE5BA 0x880E # +0xE5BB 0x87D2 # +0xE5BC 0x8811 # +0xE5BD 0x8816 # +0xE5BE 0x8815 # +0xE5BF 0x8822 # +0xE5C0 0x8821 # +0xE5C1 0x8831 # +0xE5C2 0x8836 # +0xE5C3 0x8839 # +0xE5C4 0x8827 # +0xE5C5 0x883B # +0xE5C6 0x8844 # +0xE5C7 0x8842 # +0xE5C8 0x8852 # +0xE5C9 0x8859 # +0xE5CA 0x885E # +0xE5CB 0x8862 # +0xE5CC 0x886B # +0xE5CD 0x8881 # +0xE5CE 0x887E # +0xE5CF 0x889E # +0xE5D0 0x8875 # +0xE5D1 0x887D # +0xE5D2 0x88B5 # +0xE5D3 0x8872 # +0xE5D4 0x8882 # +0xE5D5 0x8897 # +0xE5D6 0x8892 # +0xE5D7 0x88AE # +0xE5D8 0x8899 # +0xE5D9 0x88A2 # +0xE5DA 0x888D # +0xE5DB 0x88A4 # +0xE5DC 0x88B0 # +0xE5DD 0x88BF # +0xE5DE 0x88B1 # +0xE5DF 0x88C3 # +0xE5E0 0x88C4 # +0xE5E1 0x88D4 # +0xE5E2 0x88D8 # +0xE5E3 0x88D9 # +0xE5E4 0x88DD # +0xE5E5 0x88F9 # +0xE5E6 0x8902 # +0xE5E7 0x88FC # +0xE5E8 0x88F4 # +0xE5E9 0x88E8 # +0xE5EA 0x88F2 # +0xE5EB 0x8904 # +0xE5EC 0x890C # +0xE5ED 0x890A # +0xE5EE 0x8913 # +0xE5EF 0x8943 # +0xE5F0 0x891E # +0xE5F1 0x8925 # +0xE5F2 0x892A # +0xE5F3 0x892B # +0xE5F4 0x8941 # +0xE5F5 0x8944 # +0xE5F6 0x893B # +0xE5F7 0x8936 # +0xE5F8 0x8938 # +0xE5F9 0x894C # +0xE5FA 0x891D # +0xE5FB 0x8960 # +0xE5FC 0x895E # +0xE640 0x8966 # +0xE641 0x8964 # +0xE642 0x896D # +0xE643 0x896A # +0xE644 0x896F # +0xE645 0x8974 # +0xE646 0x8977 # +0xE647 0x897E # +0xE648 0x8983 # +0xE649 0x8988 # +0xE64A 0x898A # +0xE64B 0x8993 # +0xE64C 0x8998 # +0xE64D 0x89A1 # +0xE64E 0x89A9 # +0xE64F 0x89A6 # +0xE650 0x89AC # +0xE651 0x89AF # +0xE652 0x89B2 # +0xE653 0x89BA # +0xE654 0x89BD # +0xE655 0x89BF # +0xE656 0x89C0 # +0xE657 0x89DA # +0xE658 0x89DC # +0xE659 0x89DD # +0xE65A 0x89E7 # +0xE65B 0x89F4 # +0xE65C 0x89F8 # +0xE65D 0x8A03 # +0xE65E 0x8A16 # +0xE65F 0x8A10 # +0xE660 0x8A0C # +0xE661 0x8A1B # +0xE662 0x8A1D # +0xE663 0x8A25 # +0xE664 0x8A36 # +0xE665 0x8A41 # +0xE666 0x8A5B # +0xE667 0x8A52 # +0xE668 0x8A46 # +0xE669 0x8A48 # +0xE66A 0x8A7C # +0xE66B 0x8A6D # +0xE66C 0x8A6C # +0xE66D 0x8A62 # +0xE66E 0x8A85 # +0xE66F 0x8A82 # +0xE670 0x8A84 # +0xE671 0x8AA8 # +0xE672 0x8AA1 # +0xE673 0x8A91 # +0xE674 0x8AA5 # +0xE675 0x8AA6 # +0xE676 0x8A9A # +0xE677 0x8AA3 # +0xE678 0x8AC4 # +0xE679 0x8ACD # +0xE67A 0x8AC2 # +0xE67B 0x8ADA # +0xE67C 0x8AEB # +0xE67D 0x8AF3 # +0xE67E 0x8AE7 # +0xE680 0x8AE4 # +0xE681 0x8AF1 # +0xE682 0x8B14 # +0xE683 0x8AE0 # +0xE684 0x8AE2 # +0xE685 0x8AF7 # +0xE686 0x8ADE # +0xE687 0x8ADB # +0xE688 0x8B0C # +0xE689 0x8B07 # +0xE68A 0x8B1A # +0xE68B 0x8AE1 # +0xE68C 0x8B16 # +0xE68D 0x8B10 # +0xE68E 0x8B17 # +0xE68F 0x8B20 # +0xE690 0x8B33 # +0xE691 0x97AB # +0xE692 0x8B26 # +0xE693 0x8B2B # +0xE694 0x8B3E # +0xE695 0x8B28 # +0xE696 0x8B41 # +0xE697 0x8B4C # +0xE698 0x8B4F # +0xE699 0x8B4E # +0xE69A 0x8B49 # +0xE69B 0x8B56 # +0xE69C 0x8B5B # +0xE69D 0x8B5A # +0xE69E 0x8B6B # +0xE69F 0x8B5F # +0xE6A0 0x8B6C # +0xE6A1 0x8B6F # +0xE6A2 0x8B74 # +0xE6A3 0x8B7D # +0xE6A4 0x8B80 # +0xE6A5 0x8B8C # +0xE6A6 0x8B8E # +0xE6A7 0x8B92 # +0xE6A8 0x8B93 # +0xE6A9 0x8B96 # +0xE6AA 0x8B99 # +0xE6AB 0x8B9A # +0xE6AC 0x8C3A # +0xE6AD 0x8C41 # +0xE6AE 0x8C3F # +0xE6AF 0x8C48 # +0xE6B0 0x8C4C # +0xE6B1 0x8C4E # +0xE6B2 0x8C50 # +0xE6B3 0x8C55 # +0xE6B4 0x8C62 # +0xE6B5 0x8C6C # +0xE6B6 0x8C78 # +0xE6B7 0x8C7A # +0xE6B8 0x8C82 # +0xE6B9 0x8C89 # +0xE6BA 0x8C85 # +0xE6BB 0x8C8A # +0xE6BC 0x8C8D # +0xE6BD 0x8C8E # +0xE6BE 0x8C94 # +0xE6BF 0x8C7C # +0xE6C0 0x8C98 # +0xE6C1 0x621D # +0xE6C2 0x8CAD # +0xE6C3 0x8CAA # +0xE6C4 0x8CBD # +0xE6C5 0x8CB2 # +0xE6C6 0x8CB3 # +0xE6C7 0x8CAE # +0xE6C8 0x8CB6 # +0xE6C9 0x8CC8 # +0xE6CA 0x8CC1 # +0xE6CB 0x8CE4 # +0xE6CC 0x8CE3 # +0xE6CD 0x8CDA # +0xE6CE 0x8CFD # +0xE6CF 0x8CFA # +0xE6D0 0x8CFB # +0xE6D1 0x8D04 # +0xE6D2 0x8D05 # +0xE6D3 0x8D0A # +0xE6D4 0x8D07 # +0xE6D5 0x8D0F # +0xE6D6 0x8D0D # +0xE6D7 0x8D10 # +0xE6D8 0x9F4E # +0xE6D9 0x8D13 # +0xE6DA 0x8CCD # +0xE6DB 0x8D14 # +0xE6DC 0x8D16 # +0xE6DD 0x8D67 # +0xE6DE 0x8D6D # +0xE6DF 0x8D71 # +0xE6E0 0x8D73 # +0xE6E1 0x8D81 # +0xE6E2 0x8D99 # +0xE6E3 0x8DC2 # +0xE6E4 0x8DBE # +0xE6E5 0x8DBA # +0xE6E6 0x8DCF # +0xE6E7 0x8DDA # +0xE6E8 0x8DD6 # +0xE6E9 0x8DCC # +0xE6EA 0x8DDB # +0xE6EB 0x8DCB # +0xE6EC 0x8DEA # +0xE6ED 0x8DEB # +0xE6EE 0x8DDF # +0xE6EF 0x8DE3 # +0xE6F0 0x8DFC # +0xE6F1 0x8E08 # +0xE6F2 0x8E09 # +0xE6F3 0x8DFF # +0xE6F4 0x8E1D # +0xE6F5 0x8E1E # +0xE6F6 0x8E10 # +0xE6F7 0x8E1F # +0xE6F8 0x8E42 # +0xE6F9 0x8E35 # +0xE6FA 0x8E30 # +0xE6FB 0x8E34 # +0xE6FC 0x8E4A # +0xE740 0x8E47 # +0xE741 0x8E49 # +0xE742 0x8E4C # +0xE743 0x8E50 # +0xE744 0x8E48 # +0xE745 0x8E59 # +0xE746 0x8E64 # +0xE747 0x8E60 # +0xE748 0x8E2A # +0xE749 0x8E63 # +0xE74A 0x8E55 # +0xE74B 0x8E76 # +0xE74C 0x8E72 # +0xE74D 0x8E7C # +0xE74E 0x8E81 # +0xE74F 0x8E87 # +0xE750 0x8E85 # +0xE751 0x8E84 # +0xE752 0x8E8B # +0xE753 0x8E8A # +0xE754 0x8E93 # +0xE755 0x8E91 # +0xE756 0x8E94 # +0xE757 0x8E99 # +0xE758 0x8EAA # +0xE759 0x8EA1 # +0xE75A 0x8EAC # +0xE75B 0x8EB0 # +0xE75C 0x8EC6 # +0xE75D 0x8EB1 # +0xE75E 0x8EBE # +0xE75F 0x8EC5 # +0xE760 0x8EC8 # +0xE761 0x8ECB # +0xE762 0x8EDB # +0xE763 0x8EE3 # +0xE764 0x8EFC # +0xE765 0x8EFB # +0xE766 0x8EEB # +0xE767 0x8EFE # +0xE768 0x8F0A # +0xE769 0x8F05 # +0xE76A 0x8F15 # +0xE76B 0x8F12 # +0xE76C 0x8F19 # +0xE76D 0x8F13 # +0xE76E 0x8F1C # +0xE76F 0x8F1F # +0xE770 0x8F1B # +0xE771 0x8F0C # +0xE772 0x8F26 # +0xE773 0x8F33 # +0xE774 0x8F3B # +0xE775 0x8F39 # +0xE776 0x8F45 # +0xE777 0x8F42 # +0xE778 0x8F3E # +0xE779 0x8F4C # +0xE77A 0x8F49 # +0xE77B 0x8F46 # +0xE77C 0x8F4E # +0xE77D 0x8F57 # +0xE77E 0x8F5C # +0xE780 0x8F62 # +0xE781 0x8F63 # +0xE782 0x8F64 # +0xE783 0x8F9C # +0xE784 0x8F9F # +0xE785 0x8FA3 # +0xE786 0x8FAD # +0xE787 0x8FAF # +0xE788 0x8FB7 # +0xE789 0x8FDA # +0xE78A 0x8FE5 # +0xE78B 0x8FE2 # +0xE78C 0x8FEA # +0xE78D 0x8FEF # +0xE78E 0x9087 # +0xE78F 0x8FF4 # +0xE790 0x9005 # +0xE791 0x8FF9 # +0xE792 0x8FFA # +0xE793 0x9011 # +0xE794 0x9015 # +0xE795 0x9021 # +0xE796 0x900D # +0xE797 0x901E # +0xE798 0x9016 # +0xE799 0x900B # +0xE79A 0x9027 # +0xE79B 0x9036 # +0xE79C 0x9035 # +0xE79D 0x9039 # +0xE79E 0x8FF8 # +0xE79F 0x904F # +0xE7A0 0x9050 # +0xE7A1 0x9051 # +0xE7A2 0x9052 # +0xE7A3 0x900E # +0xE7A4 0x9049 # +0xE7A5 0x903E # +0xE7A6 0x9056 # +0xE7A7 0x9058 # +0xE7A8 0x905E # +0xE7A9 0x9068 # +0xE7AA 0x906F # +0xE7AB 0x9076 # +0xE7AC 0x96A8 # +0xE7AD 0x9072 # +0xE7AE 0x9082 # +0xE7AF 0x907D # +0xE7B0 0x9081 # +0xE7B1 0x9080 # +0xE7B2 0x908A # +0xE7B3 0x9089 # +0xE7B4 0x908F # +0xE7B5 0x90A8 # +0xE7B6 0x90AF # +0xE7B7 0x90B1 # +0xE7B8 0x90B5 # +0xE7B9 0x90E2 # +0xE7BA 0x90E4 # +0xE7BB 0x6248 # +0xE7BC 0x90DB # +0xE7BD 0x9102 # +0xE7BE 0x9112 # +0xE7BF 0x9119 # +0xE7C0 0x9132 # +0xE7C1 0x9130 # +0xE7C2 0x914A # +0xE7C3 0x9156 # +0xE7C4 0x9158 # +0xE7C5 0x9163 # +0xE7C6 0x9165 # +0xE7C7 0x9169 # +0xE7C8 0x9173 # +0xE7C9 0x9172 # +0xE7CA 0x918B # +0xE7CB 0x9189 # +0xE7CC 0x9182 # +0xE7CD 0x91A2 # +0xE7CE 0x91AB # +0xE7CF 0x91AF # +0xE7D0 0x91AA # +0xE7D1 0x91B5 # +0xE7D2 0x91B4 # +0xE7D3 0x91BA # +0xE7D4 0x91C0 # +0xE7D5 0x91C1 # +0xE7D6 0x91C9 # +0xE7D7 0x91CB # +0xE7D8 0x91D0 # +0xE7D9 0x91D6 # +0xE7DA 0x91DF # +0xE7DB 0x91E1 # +0xE7DC 0x91DB # +0xE7DD 0x91FC # +0xE7DE 0x91F5 # +0xE7DF 0x91F6 # +0xE7E0 0x921E # +0xE7E1 0x91FF # +0xE7E2 0x9214 # +0xE7E3 0x922C # +0xE7E4 0x9215 # +0xE7E5 0x9211 # +0xE7E6 0x925E # +0xE7E7 0x9257 # +0xE7E8 0x9245 # +0xE7E9 0x9249 # +0xE7EA 0x9264 # +0xE7EB 0x9248 # +0xE7EC 0x9295 # +0xE7ED 0x923F # +0xE7EE 0x924B # +0xE7EF 0x9250 # +0xE7F0 0x929C # +0xE7F1 0x9296 # +0xE7F2 0x9293 # +0xE7F3 0x929B # +0xE7F4 0x925A # +0xE7F5 0x92CF # +0xE7F6 0x92B9 # +0xE7F7 0x92B7 # +0xE7F8 0x92E9 # +0xE7F9 0x930F # +0xE7FA 0x92FA # +0xE7FB 0x9344 # +0xE7FC 0x932E # +0xE840 0x9319 # +0xE841 0x9322 # +0xE842 0x931A # +0xE843 0x9323 # +0xE844 0x933A # +0xE845 0x9335 # +0xE846 0x933B # +0xE847 0x935C # +0xE848 0x9360 # +0xE849 0x937C # +0xE84A 0x936E # +0xE84B 0x9356 # +0xE84C 0x93B0 # +0xE84D 0x93AC # +0xE84E 0x93AD # +0xE84F 0x9394 # +0xE850 0x93B9 # +0xE851 0x93D6 # +0xE852 0x93D7 # +0xE853 0x93E8 # +0xE854 0x93E5 # +0xE855 0x93D8 # +0xE856 0x93C3 # +0xE857 0x93DD # +0xE858 0x93D0 # +0xE859 0x93C8 # +0xE85A 0x93E4 # +0xE85B 0x941A # +0xE85C 0x9414 # +0xE85D 0x9413 # +0xE85E 0x9403 # +0xE85F 0x9407 # +0xE860 0x9410 # +0xE861 0x9436 # +0xE862 0x942B # +0xE863 0x9435 # +0xE864 0x9421 # +0xE865 0x943A # +0xE866 0x9441 # +0xE867 0x9452 # +0xE868 0x9444 # +0xE869 0x945B # +0xE86A 0x9460 # +0xE86B 0x9462 # +0xE86C 0x945E # +0xE86D 0x946A # +0xE86E 0x9229 # +0xE86F 0x9470 # +0xE870 0x9475 # +0xE871 0x9477 # +0xE872 0x947D # +0xE873 0x945A # +0xE874 0x947C # +0xE875 0x947E # +0xE876 0x9481 # +0xE877 0x947F # +0xE878 0x9582 # +0xE879 0x9587 # +0xE87A 0x958A # +0xE87B 0x9594 # +0xE87C 0x9596 # +0xE87D 0x9598 # +0xE87E 0x9599 # +0xE880 0x95A0 # +0xE881 0x95A8 # +0xE882 0x95A7 # +0xE883 0x95AD # +0xE884 0x95BC # +0xE885 0x95BB # +0xE886 0x95B9 # +0xE887 0x95BE # +0xE888 0x95CA # +0xE889 0x6FF6 # +0xE88A 0x95C3 # +0xE88B 0x95CD # +0xE88C 0x95CC # +0xE88D 0x95D5 # +0xE88E 0x95D4 # +0xE88F 0x95D6 # +0xE890 0x95DC # +0xE891 0x95E1 # +0xE892 0x95E5 # +0xE893 0x95E2 # +0xE894 0x9621 # +0xE895 0x9628 # +0xE896 0x962E # +0xE897 0x962F # +0xE898 0x9642 # +0xE899 0x964C # +0xE89A 0x964F # +0xE89B 0x964B # +0xE89C 0x9677 # +0xE89D 0x965C # +0xE89E 0x965E # +0xE89F 0x965D # +0xE8A0 0x965F # +0xE8A1 0x9666 # +0xE8A2 0x9672 # +0xE8A3 0x966C # +0xE8A4 0x968D # +0xE8A5 0x9698 # +0xE8A6 0x9695 # +0xE8A7 0x9697 # +0xE8A8 0x96AA # +0xE8A9 0x96A7 # +0xE8AA 0x96B1 # +0xE8AB 0x96B2 # +0xE8AC 0x96B0 # +0xE8AD 0x96B4 # +0xE8AE 0x96B6 # +0xE8AF 0x96B8 # +0xE8B0 0x96B9 # +0xE8B1 0x96CE # +0xE8B2 0x96CB # +0xE8B3 0x96C9 # +0xE8B4 0x96CD # +0xE8B5 0x894D # +0xE8B6 0x96DC # +0xE8B7 0x970D # +0xE8B8 0x96D5 # +0xE8B9 0x96F9 # +0xE8BA 0x9704 # +0xE8BB 0x9706 # +0xE8BC 0x9708 # +0xE8BD 0x9713 # +0xE8BE 0x970E # +0xE8BF 0x9711 # +0xE8C0 0x970F # +0xE8C1 0x9716 # +0xE8C2 0x9719 # +0xE8C3 0x9724 # +0xE8C4 0x972A # +0xE8C5 0x9730 # +0xE8C6 0x9739 # +0xE8C7 0x973D # +0xE8C8 0x973E # +0xE8C9 0x9744 # +0xE8CA 0x9746 # +0xE8CB 0x9748 # +0xE8CC 0x9742 # +0xE8CD 0x9749 # +0xE8CE 0x975C # +0xE8CF 0x9760 # +0xE8D0 0x9764 # +0xE8D1 0x9766 # +0xE8D2 0x9768 # +0xE8D3 0x52D2 # +0xE8D4 0x976B # +0xE8D5 0x9771 # +0xE8D6 0x9779 # +0xE8D7 0x9785 # +0xE8D8 0x977C # +0xE8D9 0x9781 # +0xE8DA 0x977A # +0xE8DB 0x9786 # +0xE8DC 0x978B # +0xE8DD 0x978F # +0xE8DE 0x9790 # +0xE8DF 0x979C # +0xE8E0 0x97A8 # +0xE8E1 0x97A6 # +0xE8E2 0x97A3 # +0xE8E3 0x97B3 # +0xE8E4 0x97B4 # +0xE8E5 0x97C3 # +0xE8E6 0x97C6 # +0xE8E7 0x97C8 # +0xE8E8 0x97CB # +0xE8E9 0x97DC # +0xE8EA 0x97ED # +0xE8EB 0x9F4F # +0xE8EC 0x97F2 # +0xE8ED 0x7ADF # +0xE8EE 0x97F6 # +0xE8EF 0x97F5 # +0xE8F0 0x980F # +0xE8F1 0x980C # +0xE8F2 0x9838 # +0xE8F3 0x9824 # +0xE8F4 0x9821 # +0xE8F5 0x9837 # +0xE8F6 0x983D # +0xE8F7 0x9846 # +0xE8F8 0x984F # +0xE8F9 0x984B # +0xE8FA 0x986B # +0xE8FB 0x986F # +0xE8FC 0x9870 # +0xE940 0x9871 # +0xE941 0x9874 # +0xE942 0x9873 # +0xE943 0x98AA # +0xE944 0x98AF # +0xE945 0x98B1 # +0xE946 0x98B6 # +0xE947 0x98C4 # +0xE948 0x98C3 # +0xE949 0x98C6 # +0xE94A 0x98E9 # +0xE94B 0x98EB # +0xE94C 0x9903 # +0xE94D 0x9909 # +0xE94E 0x9912 # +0xE94F 0x9914 # +0xE950 0x9918 # +0xE951 0x9921 # +0xE952 0x991D # +0xE953 0x991E # +0xE954 0x9924 # +0xE955 0x9920 # +0xE956 0x992C # +0xE957 0x992E # +0xE958 0x993D # +0xE959 0x993E # +0xE95A 0x9942 # +0xE95B 0x9949 # +0xE95C 0x9945 # +0xE95D 0x9950 # +0xE95E 0x994B # +0xE95F 0x9951 # +0xE960 0x9952 # +0xE961 0x994C # +0xE962 0x9955 # +0xE963 0x9997 # +0xE964 0x9998 # +0xE965 0x99A5 # +0xE966 0x99AD # +0xE967 0x99AE # +0xE968 0x99BC # +0xE969 0x99DF # +0xE96A 0x99DB # +0xE96B 0x99DD # +0xE96C 0x99D8 # +0xE96D 0x99D1 # +0xE96E 0x99ED # +0xE96F 0x99EE # +0xE970 0x99F1 # +0xE971 0x99F2 # +0xE972 0x99FB # +0xE973 0x99F8 # +0xE974 0x9A01 # +0xE975 0x9A0F # +0xE976 0x9A05 # +0xE977 0x99E2 # +0xE978 0x9A19 # +0xE979 0x9A2B # +0xE97A 0x9A37 # +0xE97B 0x9A45 # +0xE97C 0x9A42 # +0xE97D 0x9A40 # +0xE97E 0x9A43 # +0xE980 0x9A3E # +0xE981 0x9A55 # +0xE982 0x9A4D # +0xE983 0x9A5B # +0xE984 0x9A57 # +0xE985 0x9A5F # +0xE986 0x9A62 # +0xE987 0x9A65 # +0xE988 0x9A64 # +0xE989 0x9A69 # +0xE98A 0x9A6B # +0xE98B 0x9A6A # +0xE98C 0x9AAD # +0xE98D 0x9AB0 # +0xE98E 0x9ABC # +0xE98F 0x9AC0 # +0xE990 0x9ACF # +0xE991 0x9AD1 # +0xE992 0x9AD3 # +0xE993 0x9AD4 # +0xE994 0x9ADE # +0xE995 0x9ADF # +0xE996 0x9AE2 # +0xE997 0x9AE3 # +0xE998 0x9AE6 # +0xE999 0x9AEF # +0xE99A 0x9AEB # +0xE99B 0x9AEE # +0xE99C 0x9AF4 # +0xE99D 0x9AF1 # +0xE99E 0x9AF7 # +0xE99F 0x9AFB # +0xE9A0 0x9B06 # +0xE9A1 0x9B18 # +0xE9A2 0x9B1A # +0xE9A3 0x9B1F # +0xE9A4 0x9B22 # +0xE9A5 0x9B23 # +0xE9A6 0x9B25 # +0xE9A7 0x9B27 # +0xE9A8 0x9B28 # +0xE9A9 0x9B29 # +0xE9AA 0x9B2A # +0xE9AB 0x9B2E # +0xE9AC 0x9B2F # +0xE9AD 0x9B32 # +0xE9AE 0x9B44 # +0xE9AF 0x9B43 # +0xE9B0 0x9B4F # +0xE9B1 0x9B4D # +0xE9B2 0x9B4E # +0xE9B3 0x9B51 # +0xE9B4 0x9B58 # +0xE9B5 0x9B74 # +0xE9B6 0x9B93 # +0xE9B7 0x9B83 # +0xE9B8 0x9B91 # +0xE9B9 0x9B96 # +0xE9BA 0x9B97 # +0xE9BB 0x9B9F # +0xE9BC 0x9BA0 # +0xE9BD 0x9BA8 # +0xE9BE 0x9BB4 # +0xE9BF 0x9BC0 # +0xE9C0 0x9BCA # +0xE9C1 0x9BB9 # +0xE9C2 0x9BC6 # +0xE9C3 0x9BCF # +0xE9C4 0x9BD1 # +0xE9C5 0x9BD2 # +0xE9C6 0x9BE3 # +0xE9C7 0x9BE2 # +0xE9C8 0x9BE4 # +0xE9C9 0x9BD4 # +0xE9CA 0x9BE1 # +0xE9CB 0x9C3A # +0xE9CC 0x9BF2 # +0xE9CD 0x9BF1 # +0xE9CE 0x9BF0 # +0xE9CF 0x9C15 # +0xE9D0 0x9C14 # +0xE9D1 0x9C09 # +0xE9D2 0x9C13 # +0xE9D3 0x9C0C # +0xE9D4 0x9C06 # +0xE9D5 0x9C08 # +0xE9D6 0x9C12 # +0xE9D7 0x9C0A # +0xE9D8 0x9C04 # +0xE9D9 0x9C2E # +0xE9DA 0x9C1B # +0xE9DB 0x9C25 # +0xE9DC 0x9C24 # +0xE9DD 0x9C21 # +0xE9DE 0x9C30 # +0xE9DF 0x9C47 # +0xE9E0 0x9C32 # +0xE9E1 0x9C46 # +0xE9E2 0x9C3E # +0xE9E3 0x9C5A # +0xE9E4 0x9C60 # +0xE9E5 0x9C67 # +0xE9E6 0x9C76 # +0xE9E7 0x9C78 # +0xE9E8 0x9CE7 # +0xE9E9 0x9CEC # +0xE9EA 0x9CF0 # +0xE9EB 0x9D09 # +0xE9EC 0x9D08 # +0xE9ED 0x9CEB # +0xE9EE 0x9D03 # +0xE9EF 0x9D06 # +0xE9F0 0x9D2A # +0xE9F1 0x9D26 # +0xE9F2 0x9DAF # +0xE9F3 0x9D23 # +0xE9F4 0x9D1F # +0xE9F5 0x9D44 # +0xE9F6 0x9D15 # +0xE9F7 0x9D12 # +0xE9F8 0x9D41 # +0xE9F9 0x9D3F # +0xE9FA 0x9D3E # +0xE9FB 0x9D46 # +0xE9FC 0x9D48 # +0xEA40 0x9D5D # +0xEA41 0x9D5E # +0xEA42 0x9D64 # +0xEA43 0x9D51 # +0xEA44 0x9D50 # +0xEA45 0x9D59 # +0xEA46 0x9D72 # +0xEA47 0x9D89 # +0xEA48 0x9D87 # +0xEA49 0x9DAB # +0xEA4A 0x9D6F # +0xEA4B 0x9D7A # +0xEA4C 0x9D9A # +0xEA4D 0x9DA4 # +0xEA4E 0x9DA9 # +0xEA4F 0x9DB2 # +0xEA50 0x9DC4 # +0xEA51 0x9DC1 # +0xEA52 0x9DBB # +0xEA53 0x9DB8 # +0xEA54 0x9DBA # +0xEA55 0x9DC6 # +0xEA56 0x9DCF # +0xEA57 0x9DC2 # +0xEA58 0x9DD9 # +0xEA59 0x9DD3 # +0xEA5A 0x9DF8 # +0xEA5B 0x9DE6 # +0xEA5C 0x9DED # +0xEA5D 0x9DEF # +0xEA5E 0x9DFD # +0xEA5F 0x9E1A # +0xEA60 0x9E1B # +0xEA61 0x9E1E # +0xEA62 0x9E75 # +0xEA63 0x9E79 # +0xEA64 0x9E7D # +0xEA65 0x9E81 # +0xEA66 0x9E88 # +0xEA67 0x9E8B # +0xEA68 0x9E8C # +0xEA69 0x9E92 # +0xEA6A 0x9E95 # +0xEA6B 0x9E91 # +0xEA6C 0x9E9D # +0xEA6D 0x9EA5 # +0xEA6E 0x9EA9 # +0xEA6F 0x9EB8 # +0xEA70 0x9EAA # +0xEA71 0x9EAD # +0xEA72 0x9761 # +0xEA73 0x9ECC # +0xEA74 0x9ECE # +0xEA75 0x9ECF # +0xEA76 0x9ED0 # +0xEA77 0x9ED4 # +0xEA78 0x9EDC # +0xEA79 0x9EDE # +0xEA7A 0x9EDD # +0xEA7B 0x9EE0 # +0xEA7C 0x9EE5 # +0xEA7D 0x9EE8 # +0xEA7E 0x9EEF # +0xEA80 0x9EF4 # +0xEA81 0x9EF6 # +0xEA82 0x9EF7 # +0xEA83 0x9EF9 # +0xEA84 0x9EFB # +0xEA85 0x9EFC # +0xEA86 0x9EFD # +0xEA87 0x9F07 # +0xEA88 0x9F08 # +0xEA89 0x76B7 # +0xEA8A 0x9F15 # +0xEA8B 0x9F21 # +0xEA8C 0x9F2C # +0xEA8D 0x9F3E # +0xEA8E 0x9F4A # +0xEA8F 0x9F52 # +0xEA90 0x9F54 # +0xEA91 0x9F63 # +0xEA92 0x9F5F # +0xEA93 0x9F60 # +0xEA94 0x9F61 # +0xEA95 0x9F66 # +0xEA96 0x9F67 # +0xEA97 0x9F6C # +0xEA98 0x9F6A # +0xEA99 0x9F77 # +0xEA9A 0x9F72 # +0xEA9B 0x9F76 # +0xEA9C 0x9F95 # +0xEA9D 0x9F9C # +0xEA9E 0x9FA0 # +0xEA9F 0x582F # +0xEAA0 0x69C7 # +0xEAA1 0x9059 # +0xEAA2 0x7464 # +0xEAA3 0x51DC # +0xEAA4 0x7199 # diff --git a/ext/mbstring/tests/sjis_encoding.phpt b/ext/mbstring/tests/sjis_encoding.phpt new file mode 100644 index 0000000000000..a14883d5c84c0 --- /dev/null +++ b/ext/mbstring/tests/sjis_encoding.phpt @@ -0,0 +1,39 @@ +--TEST-- +Exhaustive test of Shift-JIS encoding verification and conversion +--SKIPIF-- + +--FILE-- + SJIS conversion works on all invalid characters\n"; +?> +--EXPECT-- +SJIS verification and conversion works on all valid characters +SJIS verification and conversion works on all invalid characters +Unicode -> SJIS conversion works on all invalid characters From b96b1f40001e96682a3951c4605317624fd52166 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 7 Sep 2020 21:37:50 +0200 Subject: [PATCH 003/123] Add identify filter for Shift-JIS-2004 This encoding is almost the same as Shift-JIS, but some additional ranges of two-byte characters have been added which start with 0xF0-0xFC. --- .../libmbfl/filters/mbfilter_sjis_2004.c | 38 ++++++++++++++++++- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 + 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index e611f3f8468cb..a5fe4e89cd4cc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -27,6 +27,8 @@ * */ +/* Ref: http://x0213.org/codetable/sjis-0213-2004-std.txt */ + #include "mbfilter.h" #include "mbfilter_sjis_2004.h" @@ -35,10 +37,11 @@ extern const unsigned char mblen_table_sjis[]; -extern int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); extern int mbfl_bisec_srch(int w, const unsigned short *tbl, int n); extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); +static int mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter); + static const char *mbfl_encoding_sjis2004_aliases[] = {"SJIS2004","Shift_JIS-2004", NULL}; const mbfl_encoding mbfl_encoding_sjis2004 = { @@ -55,7 +58,7 @@ const mbfl_encoding mbfl_encoding_sjis2004 = { const struct mbfl_identify_vtbl vtbl_identify_sjis2004 = { mbfl_no_encoding_sjis2004, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis + mbfl_filt_ident_sjis_2004 }; const struct mbfl_convert_vtbl vtbl_sjis2004_wchar = { @@ -720,3 +723,34 @@ mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) return 0; } + +/* SJIS-2004 doesn't use all the 2-byte sequences which would otherwise be legal; + * many are not mapped to any character */ +static int in_reserved_range(unsigned char byte1, unsigned char byte2) +{ + int s1, s2; + SJIS_DECODE(byte1, byte2, s1, s2); + unsigned int s = (s1 - 0x21)*94 + s2 - 0x21; + if (s < jisx0213_ucs_table_size && jisx0213_ucs_table[s]) { + return 0; + } + s = (s1 << 8) | s2; + return mbfl_bisec_srch2(s, jisx0213_jis_u5_key, jisx0213_u5_tbl_len) == -1 && + mbfl_bisec_srch2(s, jisx0213_u2_key, jisx0213_u2_tbl_len) == -1; +} + +static int mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter) +{ + if (filter->status) { /* Kanji, second byte */ + if (c < 0x40 || c > 0xFC || c == 0x7F || in_reserved_range(filter->status, c)) { + filter->flag = 1; /* bad */ + } + filter->status = 0; + } else if ((c >= 0x81 && c <= 0x9F) || (c >= 0xE0 && c <= 0xFC)) { + /* 2-byte character */ + filter->status = c; + } else if (c == 0x80 || c == 0xA0 || c >= 0xF0) { + filter->flag = 1; + } + return c; +} diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index a48762ee3d943..6c0f827de2b8c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -45,6 +45,7 @@ #include "filters/mbfilter_sjis.h" #include "filters/mbfilter_sjis_open.h" #include "filters/mbfilter_sjis_mobile.h" +#include "filters/mbfilter_sjis_2004.h" #include "filters/mbfilter_jis.h" #include "filters/mbfilter_iso2022_jp_ms.h" #include "filters/mbfilter_iso2022jp_2004.h" @@ -172,6 +173,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_utf32, &vtbl_identify_utf32be, &vtbl_identify_utf32le, + &vtbl_identify_sjis2004, &vtbl_identify_false, NULL }; From 714a7d190763985b7e19bf2217e07e4f676431fe Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 8 Sep 2020 22:57:28 +0200 Subject: [PATCH 004/123] SJIS-2004 encoding conversion: handle invalid (or truncated) 2nd byte for Kanji correctly If the 2nd byte of a 2-byte character is invalid, then mb_substitute_character() should be respected. Instead, what mbstring was doing was 'swallowing' the first byte, then emitting the 2nd byte as if it was an ASCII character. Likewise, if the 2nd byte is missing, instead of just keeping quiet, report an illegal character as specified by mb_substitute_character(). --- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 18 +++++++++++++++--- .../libmbfl/filters/mbfilter_sjis_2004.h | 3 ++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index c6c708b3378a4..d5e2702ff1fb3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -69,6 +69,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjp2004 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis2004, - mbfl_filt_conv_jis2004_flush, + mbfl_filt_conv_wchar_jis2004_flush, NULL, }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index b381f09bea56e..6b4a04fa1608d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -69,7 +69,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis2004, - mbfl_filt_conv_jis2004_flush, + mbfl_filt_conv_wchar_jis2004_flush, NULL, }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index a5fe4e89cd4cc..cff0739f69de7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -67,7 +67,7 @@ const struct mbfl_convert_vtbl vtbl_sjis2004_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis2004_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_jis2004_wchar_flush, NULL, }; @@ -77,7 +77,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis2004 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis2004, - mbfl_filt_conv_jis2004_flush, + mbfl_filt_conv_wchar_jis2004_flush, NULL, }; @@ -212,6 +212,9 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { if (c >= 0x40 && c <= 0xfc && c != 0x7f) { SJIS_DECODE(c1, c, s1, s2); + } else { + CK((*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data)); + break; } } else { s1 = c1; @@ -481,6 +484,15 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) return c; } +int mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) +{ + int status = filter->status & 0xF; + if (status == 1 || status == 4 || status == 5) { + CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); + } + return 0; +} + int mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { int k; @@ -675,7 +687,7 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { } int -mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) +mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) { int k, c1, c2, s1, s2; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h index c75e3a910b741..9cb0a0ab818a1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h @@ -40,7 +40,8 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_sjis2004; int mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter); +int mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter); +int mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_SJIS_2004_H */ From 9ece2b385dbb51f0d758bfbef4d85c68f36ba492 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 17 Sep 2020 22:34:59 +0200 Subject: [PATCH 005/123] Don't mangle non-Japanese chars which appear after a 'combining' kana in SJIS-2004 Unicode has 'combining' characters which join with another following character. Japanese hiragana and katakana with the 'two dots' voice mark can be represented in this way, with one Unicode character for the 'base' kana and another one which adds the voice mark. In SJIS-2004, however, there are dedicated characters for voiced and unvoiced kana. So some special checks are done to identify sequences of Unicode characters which need to be 'collapsed' into a single SJIS-2004 character. If a kana is immediately followed by some other unrelated character, like a Cyrillic letter, then the cached kana should be output 'as is' and we proceed with encoding the unrelated character. When doing this, though, we need to re-initialize local variables, or else the unrelated character will be mangled in some cases. --- ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index cff0739f69de7..a355afa8b60ed 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -555,6 +555,7 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { CK((*filter->output_function)(s1, filter->data)); CK((*filter->output_function)(s2, filter->data)); + s1 = 0; goto retry; } } From 4bba8520564eee3ce6ee0e4717619b394218fa57 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 8 Sep 2020 22:14:36 +0200 Subject: [PATCH 006/123] Add test suite for SJIS-2004 encoding --- ext/mbstring/docs/SJIS-2004.txt | 11549 ++++++++++++++++++++ ext/mbstring/tests/sjis2004_encoding.phpt | 56 + 2 files changed, 11605 insertions(+) create mode 100644 ext/mbstring/docs/SJIS-2004.txt create mode 100644 ext/mbstring/tests/sjis2004_encoding.phpt diff --git a/ext/mbstring/docs/SJIS-2004.txt b/ext/mbstring/docs/SJIS-2004.txt new file mode 100644 index 0000000000000..2db475d088175 --- /dev/null +++ b/ext/mbstring/docs/SJIS-2004.txt @@ -0,0 +1,11549 @@ +## Shift_JIS-2004 (JIS X 0213:2004 Appendix 1) vs Unicode mapping table +## +## Date: 3 May 2009 +## License: +## Copyright (C) 2001 earthian@tama.or.jp, All Rights Reserved. +## Copyright (C) 2001 I'O, All Rights Reserved. +## Copyright (C) 2006, 2009 Project X0213, All Rights Reserved. +## You can use, modify, distribute this table freely. +## Note: +## [1983] JIS codepoint defined by JIS X 0208-1983 +## [1990] JIS codepoint defined by JIS X 0208-1990 +## [2000] JIS codepoint defined by JIS X 0213:2000 +## [2004] JIS codepoint defined by JIS X 0213:2004 +## [Unicode3.1] UCS codepoint defined by Unicode 3.1 +## [Unicode3.2] UCS codepoint defined by Unicode 3.2 +## Fullwidth UCS fullwidth form (U+Fxxx) +## Windows Windows (CP932) mapping +## Some 0213 character can't represent by one UCS character. +## In this table, such characters are described as 'U+xxxx+xxxx'. +## +## JIS Unicode Name Note +0x00 U+0000 # +0x01 U+0001 # +0x02 U+0002 # +0x03 U+0003 # +0x04 U+0004 # +0x05 U+0005 # +0x06 U+0006 # +0x07 U+0007 # +0x08 U+0008 # +0x09 U+0009 # +0x0A U+000A # +0x0B U+000B # +0x0C U+000C # +0x0D U+000D # +0x0E U+000E # +0x0F U+000F # +0x10 U+0010 # +0x11 U+0011 # +0x12 U+0012 # +0x13 U+0013 # +0x14 U+0014 # +0x15 U+0015 # +0x16 U+0016 # +0x17 U+0017 # +0x18 U+0018 # +0x19 U+0019 # +0x1A U+001A # +0x1B U+001B # +0x1C U+001C # +0x1D U+001D # +0x1E U+001E # +0x1F U+001F # +0x20 U+0020 # SPACE +0x21 U+0021 # EXCLAMATION MARK +0x22 U+0022 # QUOTATION MARK +0x23 U+0023 # NUMBER SIGN +0x24 U+0024 # DOLLAR SIGN +0x25 U+0025 # PERCENT SIGN +0x26 U+0026 # AMPERSAND +0x27 U+0027 # APOSTROPHE +0x28 U+0028 # LEFT PARENTHESIS +0x29 U+0029 # RIGHT PARENTHESIS +0x2A U+002A # ASTERISK +0x2B U+002B # PLUS SIGN +0x2C U+002C # COMMA +0x2D U+002D # HYPHEN-MINUS +0x2E U+002E # FULL STOP +0x2F U+002F # SOLIDUS +0x30 U+0030 # DIGIT ZERO +0x31 U+0031 # DIGIT ONE +0x32 U+0032 # DIGIT TWO +0x33 U+0033 # DIGIT THREE +0x34 U+0034 # DIGIT FOUR +0x35 U+0035 # DIGIT FIVE +0x36 U+0036 # DIGIT SIX +0x37 U+0037 # DIGIT SEVEN +0x38 U+0038 # DIGIT EIGHT +0x39 U+0039 # DIGIT NINE +0x3A U+003A # COLON +0x3B U+003B # SEMICOLON +0x3C U+003C # LESS-THAN SIGN +0x3D U+003D # EQUALS SIGN +0x3E U+003E # GREATER-THAN SIGN +0x3F U+003F # QUESTION MARK +0x40 U+0040 # COMMERCIAL AT +0x41 U+0041 # LATIN CAPITAL LETTER A +0x42 U+0042 # LATIN CAPITAL LETTER B +0x43 U+0043 # LATIN CAPITAL LETTER C +0x44 U+0044 # LATIN CAPITAL LETTER D +0x45 U+0045 # LATIN CAPITAL LETTER E +0x46 U+0046 # LATIN CAPITAL LETTER F +0x47 U+0047 # LATIN CAPITAL LETTER G +0x48 U+0048 # LATIN CAPITAL LETTER H +0x49 U+0049 # LATIN CAPITAL LETTER I +0x4A U+004A # LATIN CAPITAL LETTER J +0x4B U+004B # LATIN CAPITAL LETTER K +0x4C U+004C # LATIN CAPITAL LETTER L +0x4D U+004D # LATIN CAPITAL LETTER M +0x4E U+004E # LATIN CAPITAL LETTER N +0x4F U+004F # LATIN CAPITAL LETTER O +0x50 U+0050 # LATIN CAPITAL LETTER P +0x51 U+0051 # LATIN CAPITAL LETTER Q +0x52 U+0052 # LATIN CAPITAL LETTER R +0x53 U+0053 # LATIN CAPITAL LETTER S +0x54 U+0054 # LATIN CAPITAL LETTER T +0x55 U+0055 # LATIN CAPITAL LETTER U +0x56 U+0056 # LATIN CAPITAL LETTER V +0x57 U+0057 # LATIN CAPITAL LETTER W +0x58 U+0058 # LATIN CAPITAL LETTER X +0x59 U+0059 # LATIN CAPITAL LETTER Y +0x5A U+005A # LATIN CAPITAL LETTER Z +0x5B U+005B # LEFT SQUARE BRACKET +0x5C U+00A5 # YEN SIGN +0x5D U+005D # RIGHT SQUARE BRACKET +0x5E U+005E # CIRCUMFLEX ACCENT +0x5F U+005F # LOW LINE +0x60 U+0060 # GRAVE ACCENT +0x61 U+0061 # LATIN SMALL LETTER A +0x62 U+0062 # LATIN SMALL LETTER B +0x63 U+0063 # LATIN SMALL LETTER C +0x64 U+0064 # LATIN SMALL LETTER D +0x65 U+0065 # LATIN SMALL LETTER E +0x66 U+0066 # LATIN SMALL LETTER F +0x67 U+0067 # LATIN SMALL LETTER G +0x68 U+0068 # LATIN SMALL LETTER H +0x69 U+0069 # LATIN SMALL LETTER I +0x6A U+006A # LATIN SMALL LETTER J +0x6B U+006B # LATIN SMALL LETTER K +0x6C U+006C # LATIN SMALL LETTER L +0x6D U+006D # LATIN SMALL LETTER M +0x6E U+006E # LATIN SMALL LETTER N +0x6F U+006F # LATIN SMALL LETTER O +0x70 U+0070 # LATIN SMALL LETTER P +0x71 U+0071 # LATIN SMALL LETTER Q +0x72 U+0072 # LATIN SMALL LETTER R +0x73 U+0073 # LATIN SMALL LETTER S +0x74 U+0074 # LATIN SMALL LETTER T +0x75 U+0075 # LATIN SMALL LETTER U +0x76 U+0076 # LATIN SMALL LETTER V +0x77 U+0077 # LATIN SMALL LETTER W +0x78 U+0078 # LATIN SMALL LETTER X +0x79 U+0079 # LATIN SMALL LETTER Y +0x7A U+007A # LATIN SMALL LETTER Z +0x7B U+007B # LEFT CURLY BRACKET +0x7C U+007C # VERTICAL LINE +0x7D U+007D # RIGHT CURLY BRACKET +0x7E U+203E # OVERLINE +0x7F U+007F # +0x80 # +0x81 # +0x82 # +0x83 # +0x84 # +0x85 # +0x86 # +0x87 # +0x88 # +0x89 # +0x8A # +0x8B # +0x8C # +0x8D # +0x8E # +0x8F # +0x90 # +0x91 # +0x92 # +0x93 # +0x94 # +0x95 # +0x96 # +0x97 # +0x98 # +0x99 # +0x9A # +0x9B # +0x9C # +0x9D # +0x9E # +0x9F # +0xA0 # +0xA1 U+FF61 # HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 U+FF62 # HALFWIDTH LEFT CORNER BRACKET +0xA3 U+FF63 # HALFWIDTH RIGHT CORNER BRACKET +0xA4 U+FF64 # HALFWIDTH IDEOGRAPHIC COMMA +0xA5 U+FF65 # HALFWIDTH KATAKANA MIDDLE DOT +0xA6 U+FF66 # HALFWIDTH KATAKANA LETTER WO +0xA7 U+FF67 # HALFWIDTH KATAKANA LETTER SMALL A +0xA8 U+FF68 # HALFWIDTH KATAKANA LETTER SMALL I +0xA9 U+FF69 # HALFWIDTH KATAKANA LETTER SMALL U +0xAA U+FF6A # HALFWIDTH KATAKANA LETTER SMALL E +0xAB U+FF6B # HALFWIDTH KATAKANA LETTER SMALL O +0xAC U+FF6C # HALFWIDTH KATAKANA LETTER SMALL YA +0xAD U+FF6D # HALFWIDTH KATAKANA LETTER SMALL YU +0xAE U+FF6E # HALFWIDTH KATAKANA LETTER SMALL YO +0xAF U+FF6F # HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 U+FF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 U+FF71 # HALFWIDTH KATAKANA LETTER A +0xB2 U+FF72 # HALFWIDTH KATAKANA LETTER I +0xB3 U+FF73 # HALFWIDTH KATAKANA LETTER U +0xB4 U+FF74 # HALFWIDTH KATAKANA LETTER E +0xB5 U+FF75 # HALFWIDTH KATAKANA LETTER O +0xB6 U+FF76 # HALFWIDTH KATAKANA LETTER KA +0xB7 U+FF77 # HALFWIDTH KATAKANA LETTER KI +0xB8 U+FF78 # HALFWIDTH KATAKANA LETTER KU +0xB9 U+FF79 # HALFWIDTH KATAKANA LETTER KE +0xBA U+FF7A # HALFWIDTH KATAKANA LETTER KO +0xBB U+FF7B # HALFWIDTH KATAKANA LETTER SA +0xBC U+FF7C # HALFWIDTH KATAKANA LETTER SI +0xBD U+FF7D # HALFWIDTH KATAKANA LETTER SU +0xBE U+FF7E # HALFWIDTH KATAKANA LETTER SE +0xBF U+FF7F # HALFWIDTH KATAKANA LETTER SO +0xC0 U+FF80 # HALFWIDTH KATAKANA LETTER TA +0xC1 U+FF81 # HALFWIDTH KATAKANA LETTER TI +0xC2 U+FF82 # HALFWIDTH KATAKANA LETTER TU +0xC3 U+FF83 # HALFWIDTH KATAKANA LETTER TE +0xC4 U+FF84 # HALFWIDTH KATAKANA LETTER TO +0xC5 U+FF85 # HALFWIDTH KATAKANA LETTER NA +0xC6 U+FF86 # HALFWIDTH KATAKANA LETTER NI +0xC7 U+FF87 # HALFWIDTH KATAKANA LETTER NU +0xC8 U+FF88 # HALFWIDTH KATAKANA LETTER NE +0xC9 U+FF89 # HALFWIDTH KATAKANA LETTER NO +0xCA U+FF8A # HALFWIDTH KATAKANA LETTER HA +0xCB U+FF8B # HALFWIDTH KATAKANA LETTER HI +0xCC U+FF8C # HALFWIDTH KATAKANA LETTER HU +0xCD U+FF8D # HALFWIDTH KATAKANA LETTER HE +0xCE U+FF8E # HALFWIDTH KATAKANA LETTER HO +0xCF U+FF8F # HALFWIDTH KATAKANA LETTER MA +0xD0 U+FF90 # HALFWIDTH KATAKANA LETTER MI +0xD1 U+FF91 # HALFWIDTH KATAKANA LETTER MU +0xD2 U+FF92 # HALFWIDTH KATAKANA LETTER ME +0xD3 U+FF93 # HALFWIDTH KATAKANA LETTER MO +0xD4 U+FF94 # HALFWIDTH KATAKANA LETTER YA +0xD5 U+FF95 # HALFWIDTH KATAKANA LETTER YU +0xD6 U+FF96 # HALFWIDTH KATAKANA LETTER YO +0xD7 U+FF97 # HALFWIDTH KATAKANA LETTER RA +0xD8 U+FF98 # HALFWIDTH KATAKANA LETTER RI +0xD9 U+FF99 # HALFWIDTH KATAKANA LETTER RU +0xDA U+FF9A # HALFWIDTH KATAKANA LETTER RE +0xDB U+FF9B # HALFWIDTH KATAKANA LETTER RO +0xDC U+FF9C # HALFWIDTH KATAKANA LETTER WA +0xDD U+FF9D # HALFWIDTH KATAKANA LETTER N +0xDE U+FF9E # HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF U+FF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +0xE0 # +0xE1 # +0xE2 # +0xE3 # +0xE4 # +0xE5 # +0xE6 # +0xE7 # +0xE8 # +0xE9 # +0xEA # +0xEB # +0xEC # +0xED # +0xEE # +0xEF # +0xF0 # +0xF1 # +0xF2 # +0xF3 # +0xF4 # +0xF5 # +0xF6 # +0xF7 # +0xF8 # +0xF9 # +0xFA # +0xFB # +0xFC # +0xFD # +0xFE # +0xFF # +0x8140 U+3000 # IDEOGRAPHIC SPACE +0x8141 U+3001 # IDEOGRAPHIC COMMA +0x8142 U+3002 # IDEOGRAPHIC FULL STOP +0x8143 U+FF0C # FULLWIDTH COMMA +0x8144 U+FF0E # FULLWIDTH FULL STOP +0x8145 U+30FB # KATAKANA MIDDLE DOT +0x8146 U+FF1A # FULLWIDTH COLON +0x8147 U+FF1B # FULLWIDTH SEMICOLON +0x8148 U+FF1F # FULLWIDTH QUESTION MARK +0x8149 U+FF01 # FULLWIDTH EXCLAMATION MARK +0x814A U+309B # KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B U+309C # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C U+00B4 # ACUTE ACCENT +0x814D U+FF40 # FULLWIDTH GRAVE ACCENT +0x814E U+00A8 # DIAERESIS +0x814F U+FF3E # FULLWIDTH CIRCUMFLEX ACCENT +0x8150 U+FFE3 # FULLWIDTH MACRON +0x8151 U+FF3F # FULLWIDTH LOW LINE +0x8152 U+30FD # KATAKANA ITERATION MARK +0x8153 U+30FE # KATAKANA VOICED ITERATION MARK +0x8154 U+309D # HIRAGANA ITERATION MARK +0x8155 U+309E # HIRAGANA VOICED ITERATION MARK +0x8156 U+3003 # DITTO MARK +0x8157 U+4EDD # +0x8158 U+3005 # IDEOGRAPHIC ITERATION MARK +0x8159 U+3006 # IDEOGRAPHIC CLOSING MARK +0x815A U+3007 # IDEOGRAPHIC NUMBER ZERO +0x815B U+30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C U+2014 # EM DASH Windows: U+2015 +0x815D U+2010 # HYPHEN +0x815E U+FF0F # FULLWIDTH SOLIDUS +0x815F U+005C # REVERSE SOLIDUS Fullwidth: U+FF3C +0x8160 U+301C # WAVE DASH Windows: U+FF5E +0x8161 U+2016 # DOUBLE VERTICAL LINE Windows: U+2225 +0x8162 U+FF5C # FULLWIDTH VERTICAL LINE +0x8163 U+2026 # HORIZONTAL ELLIPSIS +0x8164 U+2025 # TWO DOT LEADER +0x8165 U+2018 # LEFT SINGLE QUOTATION MARK +0x8166 U+2019 # RIGHT SINGLE QUOTATION MARK +0x8167 U+201C # LEFT DOUBLE QUOTATION MARK +0x8168 U+201D # RIGHT DOUBLE QUOTATION MARK +0x8169 U+FF08 # FULLWIDTH LEFT PARENTHESIS +0x816A U+FF09 # FULLWIDTH RIGHT PARENTHESIS +0x816B U+3014 # LEFT TORTOISE SHELL BRACKET +0x816C U+3015 # RIGHT TORTOISE SHELL BRACKET +0x816D U+FF3B # FULLWIDTH LEFT SQUARE BRACKET +0x816E U+FF3D # FULLWIDTH RIGHT SQUARE BRACKET +0x816F U+FF5B # FULLWIDTH LEFT CURLY BRACKET +0x8170 U+FF5D # FULLWIDTH RIGHT CURLY BRACKET +0x8171 U+3008 # LEFT ANGLE BRACKET +0x8172 U+3009 # RIGHT ANGLE BRACKET +0x8173 U+300A # LEFT DOUBLE ANGLE BRACKET +0x8174 U+300B # RIGHT DOUBLE ANGLE BRACKET +0x8175 U+300C # LEFT CORNER BRACKET +0x8176 U+300D # RIGHT CORNER BRACKET +0x8177 U+300E # LEFT WHITE CORNER BRACKET +0x8178 U+300F # RIGHT WHITE CORNER BRACKET +0x8179 U+3010 # LEFT BLACK LENTICULAR BRACKET +0x817A U+3011 # RIGHT BLACK LENTICULAR BRACKET +0x817B U+FF0B # FULLWIDTH PLUS SIGN +0x817C U+2212 # MINUS SIGN Windows: U+FF0D +0x817D U+00B1 # PLUS-MINUS SIGN +0x817E U+00D7 # MULTIPLICATION SIGN +0x8180 U+00F7 # DIVISION SIGN +0x8181 U+FF1D # FULLWIDTH EQUALS SIGN +0x8182 U+2260 # NOT EQUAL TO +0x8183 U+FF1C # FULLWIDTH LESS-THAN SIGN +0x8184 U+FF1E # FULLWIDTH GREATER-THAN SIGN +0x8185 U+2266 # LESS-THAN OVER EQUAL TO +0x8186 U+2267 # GREATER-THAN OVER EQUAL TO +0x8187 U+221E # INFINITY +0x8188 U+2234 # THEREFORE +0x8189 U+2642 # MALE SIGN +0x818A U+2640 # FEMALE SIGN +0x818B U+00B0 # DEGREE SIGN +0x818C U+2032 # PRIME +0x818D U+2033 # DOUBLE PRIME +0x818E U+2103 # DEGREE CELSIUS +0x818F U+FFE5 # FULLWIDTH YEN SIGN +0x8190 U+FF04 # FULLWIDTH DOLLAR SIGN +0x8191 U+00A2 # CENT SIGN Windows: U+FFE0 +0x8192 U+00A3 # POUND SIGN Windows: U+FFE1 +0x8193 U+FF05 # FULLWIDTH PERCENT SIGN +0x8194 U+FF03 # FULLWIDTH NUMBER SIGN +0x8195 U+FF06 # FULLWIDTH AMPERSAND +0x8196 U+FF0A # FULLWIDTH ASTERISK +0x8197 U+FF20 # FULLWIDTH COMMERCIAL AT +0x8198 U+00A7 # SECTION SIGN +0x8199 U+2606 # WHITE STAR +0x819A U+2605 # BLACK STAR +0x819B U+25CB # WHITE CIRCLE +0x819C U+25CF # BLACK CIRCLE +0x819D U+25CE # BULLSEYE +0x819E U+25C7 # WHITE DIAMOND +0x819F U+25C6 # BLACK DIAMOND +0x81A0 U+25A1 # WHITE SQUARE +0x81A1 U+25A0 # BLACK SQUARE +0x81A2 U+25B3 # WHITE UP-POINTING TRIANGLE +0x81A3 U+25B2 # BLACK UP-POINTING TRIANGLE +0x81A4 U+25BD # WHITE DOWN-POINTING TRIANGLE +0x81A5 U+25BC # BLACK DOWN-POINTING TRIANGLE +0x81A6 U+203B # REFERENCE MARK +0x81A7 U+3012 # POSTAL MARK +0x81A8 U+2192 # RIGHTWARDS ARROW +0x81A9 U+2190 # LEFTWARDS ARROW +0x81AA U+2191 # UPWARDS ARROW +0x81AB U+2193 # DOWNWARDS ARROW +0x81AC U+3013 # GETA MARK +0x81AD U+FF07 # FULLWIDTH APOSTROPHE [2000] +0x81AE U+FF02 # FULLWIDTH QUOTATION MARK [2000] +0x81AF U+FF0D # FULLWIDTH HYPHEN-MINUS [2000] +0x81B0 U+007E # TILDE [2000] Fullwidth: U+FF5E +0x81B1 U+3033 # VERTICAL KANA REPEAT MARK UPPER HALF [2000] +0x81B2 U+3034 # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF [2000] +0x81B3 U+3035 # VERTICAL KANA REPEAT MARK LOWER HALF [2000] +0x81B4 U+303B # VERTICAL IDEOGRAPHIC ITERATION MARK [2000] [Unicode3.2] +0x81B5 U+303C # MASU MARK [2000] [Unicode3.2] +0x81B6 U+30FF # KATAKANA DIGRAPH KOTO [2000] [Unicode3.2] +0x81B7 U+309F # HIRAGANA DIGRAPH YORI [2000] [Unicode3.2] +0x81B8 U+2208 # ELEMENT OF [1983] +0x81B9 U+220B # CONTAINS AS MEMBER [1983] +0x81BA U+2286 # SUBSET OF OR EQUAL TO [1983] +0x81BB U+2287 # SUPERSET OF OR EQUAL TO [1983] +0x81BC U+2282 # SUBSET OF [1983] +0x81BD U+2283 # SUPERSET OF [1983] +0x81BE U+222A # UNION [1983] +0x81BF U+2229 # INTERSECTION [1983] +0x81C0 U+2284 # NOT A SUBSET OF [2000] +0x81C1 U+2285 # NOT A SUPERSET OF [2000] +0x81C2 U+228A # SUBSET OF WITH NOT EQUAL TO [2000] +0x81C3 U+228B # SUPERSET OF WITH NOT EQUAL TO [2000] +0x81C4 U+2209 # NOT AN ELEMENT OF [2000] +0x81C5 U+2205 # EMPTY SET [2000] +0x81C6 U+2305 # PROJECTIVE [2000] +0x81C7 U+2306 # PERSPECTIVE [2000] +0x81C8 U+2227 # LOGICAL AND [1983] +0x81C9 U+2228 # LOGICAL OR [1983] +0x81CA U+00AC # NOT SIGN [1983] Windows: U+FFE2 +0x81CB U+21D2 # RIGHTWARDS DOUBLE ARROW [1983] +0x81CC U+21D4 # LEFT RIGHT DOUBLE ARROW [1983] +0x81CD U+2200 # FOR ALL [1983] +0x81CE U+2203 # THERE EXISTS [1983] +0x81CF U+2295 # CIRCLED PLUS [2000] +0x81D0 U+2296 # CIRCLED MINUS [2000] +0x81D1 U+2297 # CIRCLED TIMES [2000] +0x81D2 U+2225 # PARALLEL TO [2000] +0x81D3 U+2226 # NOT PARALLEL TO [2000] +0x81D4 U+FF5F # FULLWIDTH LEFT WHITE PARENTHESIS [2000] [Unicode3.2] +0x81D5 U+FF60 # FULLWIDTH RIGHT WHITE PARENTHESIS [2000] [Unicode3.2] +0x81D6 U+3018 # LEFT WHITE TORTOISE SHELL BRACKET [2000] +0x81D7 U+3019 # RIGHT WHITE TORTOISE SHELL BRACKET [2000] +0x81D8 U+3016 # LEFT WHITE LENTICULAR BRACKET [2000] +0x81D9 U+3017 # RIGHT WHITE LENTICULAR BRACKET [2000] +0x81DA U+2220 # ANGLE [1983] +0x81DB U+22A5 # UP TACK [1983] +0x81DC U+2312 # ARC [1983] +0x81DD U+2202 # PARTIAL DIFFERENTIAL [1983] +0x81DE U+2207 # NABLA [1983] +0x81DF U+2261 # IDENTICAL TO [1983] +0x81E0 U+2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF [1983] +0x81E1 U+226A # MUCH LESS-THAN [1983] +0x81E2 U+226B # MUCH GREATER-THAN [1983] +0x81E3 U+221A # SQUARE ROOT [1983] +0x81E4 U+223D # REVERSED TILDE [1983] +0x81E5 U+221D # PROPORTIONAL TO [1983] +0x81E6 U+2235 # BECAUSE [1983] +0x81E7 U+222B # INTEGRAL [1983] +0x81E8 U+222C # DOUBLE INTEGRAL [1983] +0x81E9 U+2262 # NOT IDENTICAL TO [2000] +0x81EA U+2243 # ASYMPTOTICALLY EQUAL TO [2000] +0x81EB U+2245 # APPROXIMATELY EQUAL TO [2000] +0x81EC U+2248 # ALMOST EQUAL TO [2000] +0x81ED U+2276 # LESS-THAN OR GREATER-THAN [2000] +0x81EE U+2277 # GREATER-THAN OR LESS-THAN [2000] +0x81EF U+2194 # LEFT RIGHT ARROW [2000] +0x81F0 U+212B # ANGSTROM SIGN [1983] +0x81F1 U+2030 # PER MILLE SIGN [1983] +0x81F2 U+266F # MUSIC SHARP SIGN [1983] +0x81F3 U+266D # MUSIC FLAT SIGN [1983] +0x81F4 U+266A # EIGHTH NOTE [1983] +0x81F5 U+2020 # DAGGER [1983] +0x81F6 U+2021 # DOUBLE DAGGER [1983] +0x81F7 U+00B6 # PILCROW SIGN [1983] +0x81F8 U+266E # MUSIC NATURAL SIGN [2000] +0x81F9 U+266B # BEAMED EIGHTH NOTES [2000] +0x81FA U+266C # BEAMED SIXTEENTH NOTES [2000] +0x81FB U+2669 # QUARTER NOTE [2000] +0x81FC U+25EF # LARGE CIRCLE [1983] +0x8240 U+25B7 # WHITE RIGHT-POINTING TRIANGLE [2000] +0x8241 U+25B6 # BLACK RIGHT-POINTING TRIANGLE [2000] +0x8242 U+25C1 # WHITE LEFT-POINTING TRIANGLE [2000] +0x8243 U+25C0 # BLACK LEFT-POINTING TRIANGLE [2000] +0x8244 U+2197 # NORTH EAST ARROW [2000] +0x8245 U+2198 # SOUTH EAST ARROW [2000] +0x8246 U+2196 # NORTH WEST ARROW [2000] +0x8247 U+2199 # SOUTH WEST ARROW [2000] +0x8248 U+21C4 # RIGHTWARDS ARROW OVER LEFTWARDS ARROW [2000] +0x8249 U+21E8 # RIGHTWARDS WHITE ARROW [2000] +0x824A U+21E6 # LEFTWARDS WHITE ARROW [2000] +0x824B U+21E7 # UPWARDS WHITE ARROW [2000] +0x824C U+21E9 # DOWNWARDS WHITE ARROW [2000] +0x824D U+2934 # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS [2000] [Unicode3.2] +0x824E U+2935 # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS [2000] [Unicode3.2] +0x824F U+FF10 # FULLWIDTH DIGIT ZERO +0x8250 U+FF11 # FULLWIDTH DIGIT ONE +0x8251 U+FF12 # FULLWIDTH DIGIT TWO +0x8252 U+FF13 # FULLWIDTH DIGIT THREE +0x8253 U+FF14 # FULLWIDTH DIGIT FOUR +0x8254 U+FF15 # FULLWIDTH DIGIT FIVE +0x8255 U+FF16 # FULLWIDTH DIGIT SIX +0x8256 U+FF17 # FULLWIDTH DIGIT SEVEN +0x8257 U+FF18 # FULLWIDTH DIGIT EIGHT +0x8258 U+FF19 # FULLWIDTH DIGIT NINE +0x8259 U+29BF # CIRCLED BULLET [2000] [Unicode3.2] +0x825A U+25C9 # FISHEYE [2000] +0x825B U+303D # PART ALTERNATION MARK [2000] [Unicode3.2] +0x825C U+FE46 # WHITE SESAME DOT [2000] [Unicode3.2] +0x825D U+FE45 # SESAME DOT [2000] [Unicode3.2] +0x825E U+25E6 # WHITE BULLET [2000] +0x825F U+2022 # BULLET [2000] +0x8260 U+FF21 # FULLWIDTH LATIN CAPITAL LETTER A +0x8261 U+FF22 # FULLWIDTH LATIN CAPITAL LETTER B +0x8262 U+FF23 # FULLWIDTH LATIN CAPITAL LETTER C +0x8263 U+FF24 # FULLWIDTH LATIN CAPITAL LETTER D +0x8264 U+FF25 # FULLWIDTH LATIN CAPITAL LETTER E +0x8265 U+FF26 # FULLWIDTH LATIN CAPITAL LETTER F +0x8266 U+FF27 # FULLWIDTH LATIN CAPITAL LETTER G +0x8267 U+FF28 # FULLWIDTH LATIN CAPITAL LETTER H +0x8268 U+FF29 # FULLWIDTH LATIN CAPITAL LETTER I +0x8269 U+FF2A # FULLWIDTH LATIN CAPITAL LETTER J +0x826A U+FF2B # FULLWIDTH LATIN CAPITAL LETTER K +0x826B U+FF2C # FULLWIDTH LATIN CAPITAL LETTER L +0x826C U+FF2D # FULLWIDTH LATIN CAPITAL LETTER M +0x826D U+FF2E # FULLWIDTH LATIN CAPITAL LETTER N +0x826E U+FF2F # FULLWIDTH LATIN CAPITAL LETTER O +0x826F U+FF30 # FULLWIDTH LATIN CAPITAL LETTER P +0x8270 U+FF31 # FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 U+FF32 # FULLWIDTH LATIN CAPITAL LETTER R +0x8272 U+FF33 # FULLWIDTH LATIN CAPITAL LETTER S +0x8273 U+FF34 # FULLWIDTH LATIN CAPITAL LETTER T +0x8274 U+FF35 # FULLWIDTH LATIN CAPITAL LETTER U +0x8275 U+FF36 # FULLWIDTH LATIN CAPITAL LETTER V +0x8276 U+FF37 # FULLWIDTH LATIN CAPITAL LETTER W +0x8277 U+FF38 # FULLWIDTH LATIN CAPITAL LETTER X +0x8278 U+FF39 # FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 U+FF3A # FULLWIDTH LATIN CAPITAL LETTER Z +0x827A U+2213 # MINUS-OR-PLUS SIGN [2000] +0x827B U+2135 # ALEF SYMBOL [2000] +0x827C U+210F # PLANCK CONSTANT OVER TWO PI [2000] +0x827D U+33CB # SQUARE HP [2000] +0x827E U+2113 # SCRIPT SMALL L [2000] +0x8280 U+2127 # INVERTED OHM SIGN [2000] +0x8281 U+FF41 # FULLWIDTH LATIN SMALL LETTER A +0x8282 U+FF42 # FULLWIDTH LATIN SMALL LETTER B +0x8283 U+FF43 # FULLWIDTH LATIN SMALL LETTER C +0x8284 U+FF44 # FULLWIDTH LATIN SMALL LETTER D +0x8285 U+FF45 # FULLWIDTH LATIN SMALL LETTER E +0x8286 U+FF46 # FULLWIDTH LATIN SMALL LETTER F +0x8287 U+FF47 # FULLWIDTH LATIN SMALL LETTER G +0x8288 U+FF48 # FULLWIDTH LATIN SMALL LETTER H +0x8289 U+FF49 # FULLWIDTH LATIN SMALL LETTER I +0x828A U+FF4A # FULLWIDTH LATIN SMALL LETTER J +0x828B U+FF4B # FULLWIDTH LATIN SMALL LETTER K +0x828C U+FF4C # FULLWIDTH LATIN SMALL LETTER L +0x828D U+FF4D # FULLWIDTH LATIN SMALL LETTER M +0x828E U+FF4E # FULLWIDTH LATIN SMALL LETTER N +0x828F U+FF4F # FULLWIDTH LATIN SMALL LETTER O +0x8290 U+FF50 # FULLWIDTH LATIN SMALL LETTER P +0x8291 U+FF51 # FULLWIDTH LATIN SMALL LETTER Q +0x8292 U+FF52 # FULLWIDTH LATIN SMALL LETTER R +0x8293 U+FF53 # FULLWIDTH LATIN SMALL LETTER S +0x8294 U+FF54 # FULLWIDTH LATIN SMALL LETTER T +0x8295 U+FF55 # FULLWIDTH LATIN SMALL LETTER U +0x8296 U+FF56 # FULLWIDTH LATIN SMALL LETTER V +0x8297 U+FF57 # FULLWIDTH LATIN SMALL LETTER W +0x8298 U+FF58 # FULLWIDTH LATIN SMALL LETTER X +0x8299 U+FF59 # FULLWIDTH LATIN SMALL LETTER Y +0x829A U+FF5A # FULLWIDTH LATIN SMALL LETTER Z +0x829B U+30A0 # KATAKANA-HIRAGANA DOUBLE HYPHEN [2000] [Unicode3.2] +0x829C U+2013 # EN DASH [2000] +0x829D U+29FA # DOUBLE PLUS [2000] [Unicode3.2] +0x829E U+29FB # TRIPLE PLUS [2000] [Unicode3.2] +0x829F U+3041 # HIRAGANA LETTER SMALL A +0x82A0 U+3042 # HIRAGANA LETTER A +0x82A1 U+3043 # HIRAGANA LETTER SMALL I +0x82A2 U+3044 # HIRAGANA LETTER I +0x82A3 U+3045 # HIRAGANA LETTER SMALL U +0x82A4 U+3046 # HIRAGANA LETTER U +0x82A5 U+3047 # HIRAGANA LETTER SMALL E +0x82A6 U+3048 # HIRAGANA LETTER E +0x82A7 U+3049 # HIRAGANA LETTER SMALL O +0x82A8 U+304A # HIRAGANA LETTER O +0x82A9 U+304B # HIRAGANA LETTER KA +0x82AA U+304C # HIRAGANA LETTER GA +0x82AB U+304D # HIRAGANA LETTER KI +0x82AC U+304E # HIRAGANA LETTER GI +0x82AD U+304F # HIRAGANA LETTER KU +0x82AE U+3050 # HIRAGANA LETTER GU +0x82AF U+3051 # HIRAGANA LETTER KE +0x82B0 U+3052 # HIRAGANA LETTER GE +0x82B1 U+3053 # HIRAGANA LETTER KO +0x82B2 U+3054 # HIRAGANA LETTER GO +0x82B3 U+3055 # HIRAGANA LETTER SA +0x82B4 U+3056 # HIRAGANA LETTER ZA +0x82B5 U+3057 # HIRAGANA LETTER SI +0x82B6 U+3058 # HIRAGANA LETTER ZI +0x82B7 U+3059 # HIRAGANA LETTER SU +0x82B8 U+305A # HIRAGANA LETTER ZU +0x82B9 U+305B # HIRAGANA LETTER SE +0x82BA U+305C # HIRAGANA LETTER ZE +0x82BB U+305D # HIRAGANA LETTER SO +0x82BC U+305E # HIRAGANA LETTER ZO +0x82BD U+305F # HIRAGANA LETTER TA +0x82BE U+3060 # HIRAGANA LETTER DA +0x82BF U+3061 # HIRAGANA LETTER TI +0x82C0 U+3062 # HIRAGANA LETTER DI +0x82C1 U+3063 # HIRAGANA LETTER SMALL TU +0x82C2 U+3064 # HIRAGANA LETTER TU +0x82C3 U+3065 # HIRAGANA LETTER DU +0x82C4 U+3066 # HIRAGANA LETTER TE +0x82C5 U+3067 # HIRAGANA LETTER DE +0x82C6 U+3068 # HIRAGANA LETTER TO +0x82C7 U+3069 # HIRAGANA LETTER DO +0x82C8 U+306A # HIRAGANA LETTER NA +0x82C9 U+306B # HIRAGANA LETTER NI +0x82CA U+306C # HIRAGANA LETTER NU +0x82CB U+306D # HIRAGANA LETTER NE +0x82CC U+306E # HIRAGANA LETTER NO +0x82CD U+306F # HIRAGANA LETTER HA +0x82CE U+3070 # HIRAGANA LETTER BA +0x82CF U+3071 # HIRAGANA LETTER PA +0x82D0 U+3072 # HIRAGANA LETTER HI +0x82D1 U+3073 # HIRAGANA LETTER BI +0x82D2 U+3074 # HIRAGANA LETTER PI +0x82D3 U+3075 # HIRAGANA LETTER HU +0x82D4 U+3076 # HIRAGANA LETTER BU +0x82D5 U+3077 # HIRAGANA LETTER PU +0x82D6 U+3078 # HIRAGANA LETTER HE +0x82D7 U+3079 # HIRAGANA LETTER BE +0x82D8 U+307A # HIRAGANA LETTER PE +0x82D9 U+307B # HIRAGANA LETTER HO +0x82DA U+307C # HIRAGANA LETTER BO +0x82DB U+307D # HIRAGANA LETTER PO +0x82DC U+307E # HIRAGANA LETTER MA +0x82DD U+307F # HIRAGANA LETTER MI +0x82DE U+3080 # HIRAGANA LETTER MU +0x82DF U+3081 # HIRAGANA LETTER ME +0x82E0 U+3082 # HIRAGANA LETTER MO +0x82E1 U+3083 # HIRAGANA LETTER SMALL YA +0x82E2 U+3084 # HIRAGANA LETTER YA +0x82E3 U+3085 # HIRAGANA LETTER SMALL YU +0x82E4 U+3086 # HIRAGANA LETTER YU +0x82E5 U+3087 # HIRAGANA LETTER SMALL YO +0x82E6 U+3088 # HIRAGANA LETTER YO +0x82E7 U+3089 # HIRAGANA LETTER RA +0x82E8 U+308A # HIRAGANA LETTER RI +0x82E9 U+308B # HIRAGANA LETTER RU +0x82EA U+308C # HIRAGANA LETTER RE +0x82EB U+308D # HIRAGANA LETTER RO +0x82EC U+308E # HIRAGANA LETTER SMALL WA +0x82ED U+308F # HIRAGANA LETTER WA +0x82EE U+3090 # HIRAGANA LETTER WI +0x82EF U+3091 # HIRAGANA LETTER WE +0x82F0 U+3092 # HIRAGANA LETTER WO +0x82F1 U+3093 # HIRAGANA LETTER N +0x82F2 U+3094 # HIRAGANA LETTER VU [2000] +0x82F3 U+3095 # HIRAGANA LETTER SMALL KA [2000] [Unicode3.2] +0x82F4 U+3096 # HIRAGANA LETTER SMALL KE [2000] [Unicode3.2] +0x82F5 U+304B+309A # [2000] +0x82F6 U+304D+309A # [2000] +0x82F7 U+304F+309A # [2000] +0x82F8 U+3051+309A # [2000] +0x82F9 U+3053+309A # [2000] +0x82FA # +0x82FB # +0x82FC # +0x8340 U+30A1 # KATAKANA LETTER SMALL A +0x8341 U+30A2 # KATAKANA LETTER A +0x8342 U+30A3 # KATAKANA LETTER SMALL I +0x8343 U+30A4 # KATAKANA LETTER I +0x8344 U+30A5 # KATAKANA LETTER SMALL U +0x8345 U+30A6 # KATAKANA LETTER U +0x8346 U+30A7 # KATAKANA LETTER SMALL E +0x8347 U+30A8 # KATAKANA LETTER E +0x8348 U+30A9 # KATAKANA LETTER SMALL O +0x8349 U+30AA # KATAKANA LETTER O +0x834A U+30AB # KATAKANA LETTER KA +0x834B U+30AC # KATAKANA LETTER GA +0x834C U+30AD # KATAKANA LETTER KI +0x834D U+30AE # KATAKANA LETTER GI +0x834E U+30AF # KATAKANA LETTER KU +0x834F U+30B0 # KATAKANA LETTER GU +0x8350 U+30B1 # KATAKANA LETTER KE +0x8351 U+30B2 # KATAKANA LETTER GE +0x8352 U+30B3 # KATAKANA LETTER KO +0x8353 U+30B4 # KATAKANA LETTER GO +0x8354 U+30B5 # KATAKANA LETTER SA +0x8355 U+30B6 # KATAKANA LETTER ZA +0x8356 U+30B7 # KATAKANA LETTER SI +0x8357 U+30B8 # KATAKANA LETTER ZI +0x8358 U+30B9 # KATAKANA LETTER SU +0x8359 U+30BA # KATAKANA LETTER ZU +0x835A U+30BB # KATAKANA LETTER SE +0x835B U+30BC # KATAKANA LETTER ZE +0x835C U+30BD # KATAKANA LETTER SO +0x835D U+30BE # KATAKANA LETTER ZO +0x835E U+30BF # KATAKANA LETTER TA +0x835F U+30C0 # KATAKANA LETTER DA +0x8360 U+30C1 # KATAKANA LETTER TI +0x8361 U+30C2 # KATAKANA LETTER DI +0x8362 U+30C3 # KATAKANA LETTER SMALL TU +0x8363 U+30C4 # KATAKANA LETTER TU +0x8364 U+30C5 # KATAKANA LETTER DU +0x8365 U+30C6 # KATAKANA LETTER TE +0x8366 U+30C7 # KATAKANA LETTER DE +0x8367 U+30C8 # KATAKANA LETTER TO +0x8368 U+30C9 # KATAKANA LETTER DO +0x8369 U+30CA # KATAKANA LETTER NA +0x836A U+30CB # KATAKANA LETTER NI +0x836B U+30CC # KATAKANA LETTER NU +0x836C U+30CD # KATAKANA LETTER NE +0x836D U+30CE # KATAKANA LETTER NO +0x836E U+30CF # KATAKANA LETTER HA +0x836F U+30D0 # KATAKANA LETTER BA +0x8370 U+30D1 # KATAKANA LETTER PA +0x8371 U+30D2 # KATAKANA LETTER HI +0x8372 U+30D3 # KATAKANA LETTER BI +0x8373 U+30D4 # KATAKANA LETTER PI +0x8374 U+30D5 # KATAKANA LETTER HU +0x8375 U+30D6 # KATAKANA LETTER BU +0x8376 U+30D7 # KATAKANA LETTER PU +0x8377 U+30D8 # KATAKANA LETTER HE +0x8378 U+30D9 # KATAKANA LETTER BE +0x8379 U+30DA # KATAKANA LETTER PE +0x837A U+30DB # KATAKANA LETTER HO +0x837B U+30DC # KATAKANA LETTER BO +0x837C U+30DD # KATAKANA LETTER PO +0x837D U+30DE # KATAKANA LETTER MA +0x837E U+30DF # KATAKANA LETTER MI +0x8380 U+30E0 # KATAKANA LETTER MU +0x8381 U+30E1 # KATAKANA LETTER ME +0x8382 U+30E2 # KATAKANA LETTER MO +0x8383 U+30E3 # KATAKANA LETTER SMALL YA +0x8384 U+30E4 # KATAKANA LETTER YA +0x8385 U+30E5 # KATAKANA LETTER SMALL YU +0x8386 U+30E6 # KATAKANA LETTER YU +0x8387 U+30E7 # KATAKANA LETTER SMALL YO +0x8388 U+30E8 # KATAKANA LETTER YO +0x8389 U+30E9 # KATAKANA LETTER RA +0x838A U+30EA # KATAKANA LETTER RI +0x838B U+30EB # KATAKANA LETTER RU +0x838C U+30EC # KATAKANA LETTER RE +0x838D U+30ED # KATAKANA LETTER RO +0x838E U+30EE # KATAKANA LETTER SMALL WA +0x838F U+30EF # KATAKANA LETTER WA +0x8390 U+30F0 # KATAKANA LETTER WI +0x8391 U+30F1 # KATAKANA LETTER WE +0x8392 U+30F2 # KATAKANA LETTER WO +0x8393 U+30F3 # KATAKANA LETTER N +0x8394 U+30F4 # KATAKANA LETTER VU +0x8395 U+30F5 # KATAKANA LETTER SMALL KA +0x8396 U+30F6 # KATAKANA LETTER SMALL KE +0x8397 U+30AB+309A # [2000] +0x8398 U+30AD+309A # [2000] +0x8399 U+30AF+309A # [2000] +0x839A U+30B1+309A # [2000] +0x839B U+30B3+309A # [2000] +0x839C U+30BB+309A # [2000] +0x839D U+30C4+309A # [2000] +0x839E U+30C8+309A # [2000] +0x839F U+0391 # GREEK CAPITAL LETTER ALPHA +0x83A0 U+0392 # GREEK CAPITAL LETTER BETA +0x83A1 U+0393 # GREEK CAPITAL LETTER GAMMA +0x83A2 U+0394 # GREEK CAPITAL LETTER DELTA +0x83A3 U+0395 # GREEK CAPITAL LETTER EPSILON +0x83A4 U+0396 # GREEK CAPITAL LETTER ZETA +0x83A5 U+0397 # GREEK CAPITAL LETTER ETA +0x83A6 U+0398 # GREEK CAPITAL LETTER THETA +0x83A7 U+0399 # GREEK CAPITAL LETTER IOTA +0x83A8 U+039A # GREEK CAPITAL LETTER KAPPA +0x83A9 U+039B # GREEK CAPITAL LETTER LAMDA +0x83AA U+039C # GREEK CAPITAL LETTER MU +0x83AB U+039D # GREEK CAPITAL LETTER NU +0x83AC U+039E # GREEK CAPITAL LETTER XI +0x83AD U+039F # GREEK CAPITAL LETTER OMICRON +0x83AE U+03A0 # GREEK CAPITAL LETTER PI +0x83AF U+03A1 # GREEK CAPITAL LETTER RHO +0x83B0 U+03A3 # GREEK CAPITAL LETTER SIGMA +0x83B1 U+03A4 # GREEK CAPITAL LETTER TAU +0x83B2 U+03A5 # GREEK CAPITAL LETTER UPSILON +0x83B3 U+03A6 # GREEK CAPITAL LETTER PHI +0x83B4 U+03A7 # GREEK CAPITAL LETTER CHI +0x83B5 U+03A8 # GREEK CAPITAL LETTER PSI +0x83B6 U+03A9 # GREEK CAPITAL LETTER OMEGA +0x83B7 U+2664 # WHITE SPADE SUIT [2000] +0x83B8 U+2660 # BLACK SPADE SUIT [2000] +0x83B9 U+2662 # WHITE DIAMOND SUIT [2000] +0x83BA U+2666 # BLACK DIAMOND SUIT [2000] +0x83BB U+2661 # WHITE HEART SUIT [2000] +0x83BC U+2665 # BLACK HEART SUIT [2000] +0x83BD U+2667 # WHITE CLUB SUIT [2000] +0x83BE U+2663 # BLACK CLUB SUIT [2000] +0x83BF U+03B1 # GREEK SMALL LETTER ALPHA +0x83C0 U+03B2 # GREEK SMALL LETTER BETA +0x83C1 U+03B3 # GREEK SMALL LETTER GAMMA +0x83C2 U+03B4 # GREEK SMALL LETTER DELTA +0x83C3 U+03B5 # GREEK SMALL LETTER EPSILON +0x83C4 U+03B6 # GREEK SMALL LETTER ZETA +0x83C5 U+03B7 # GREEK SMALL LETTER ETA +0x83C6 U+03B8 # GREEK SMALL LETTER THETA +0x83C7 U+03B9 # GREEK SMALL LETTER IOTA +0x83C8 U+03BA # GREEK SMALL LETTER KAPPA +0x83C9 U+03BB # GREEK SMALL LETTER LAMDA +0x83CA U+03BC # GREEK SMALL LETTER MU +0x83CB U+03BD # GREEK SMALL LETTER NU +0x83CC U+03BE # GREEK SMALL LETTER XI +0x83CD U+03BF # GREEK SMALL LETTER OMICRON +0x83CE U+03C0 # GREEK SMALL LETTER PI +0x83CF U+03C1 # GREEK SMALL LETTER RHO +0x83D0 U+03C3 # GREEK SMALL LETTER SIGMA +0x83D1 U+03C4 # GREEK SMALL LETTER TAU +0x83D2 U+03C5 # GREEK SMALL LETTER UPSILON +0x83D3 U+03C6 # GREEK SMALL LETTER PHI +0x83D4 U+03C7 # GREEK SMALL LETTER CHI +0x83D5 U+03C8 # GREEK SMALL LETTER PSI +0x83D6 U+03C9 # GREEK SMALL LETTER OMEGA +0x83D7 U+03C2 # GREEK SMALL LETTER FINAL SIGMA [2000] +0x83D8 U+24F5 # DOUBLE CIRCLED DIGIT ONE [2000] [Unicode3.2] +0x83D9 U+24F6 # DOUBLE CIRCLED DIGIT TWO [2000] [Unicode3.2] +0x83DA U+24F7 # DOUBLE CIRCLED DIGIT THREE [2000] [Unicode3.2] +0x83DB U+24F8 # DOUBLE CIRCLED DIGIT FOUR [2000] [Unicode3.2] +0x83DC U+24F9 # DOUBLE CIRCLED DIGIT FIVE [2000] [Unicode3.2] +0x83DD U+24FA # DOUBLE CIRCLED DIGIT SIX [2000] [Unicode3.2] +0x83DE U+24FB # DOUBLE CIRCLED DIGIT SEVEN [2000] [Unicode3.2] +0x83DF U+24FC # DOUBLE CIRCLED DIGIT EIGHT [2000] [Unicode3.2] +0x83E0 U+24FD # DOUBLE CIRCLED DIGIT NINE [2000] [Unicode3.2] +0x83E1 U+24FE # DOUBLE CIRCLED NUMBER TEN [2000] [Unicode3.2] +0x83E2 U+2616 # WHITE SHOGI PIECE [2000] [Unicode3.2] +0x83E3 U+2617 # BLACK SHOGI PIECE [2000] [Unicode3.2] +0x83E4 U+3020 # POSTAL MARK FACE [2000] +0x83E5 U+260E # BLACK TELEPHONE [2000] +0x83E6 U+2600 # BLACK SUN WITH RAYS [2000] +0x83E7 U+2601 # CLOUD [2000] +0x83E8 U+2602 # UMBRELLA [2000] +0x83E9 U+2603 # SNOWMAN [2000] +0x83EA U+2668 # HOT SPRINGS [2000] +0x83EB U+25B1 # WHITE PARALLELOGRAM [2000] +0x83EC U+31F0 # KATAKANA LETTER SMALL KU [2000] [Unicode3.2] +0x83ED U+31F1 # KATAKANA LETTER SMALL SI [2000] [Unicode3.2] +0x83EE U+31F2 # KATAKANA LETTER SMALL SU [2000] [Unicode3.2] +0x83EF U+31F3 # KATAKANA LETTER SMALL TO [2000] [Unicode3.2] +0x83F0 U+31F4 # KATAKANA LETTER SMALL NU [2000] [Unicode3.2] +0x83F1 U+31F5 # KATAKANA LETTER SMALL HA [2000] [Unicode3.2] +0x83F2 U+31F6 # KATAKANA LETTER SMALL HI [2000] [Unicode3.2] +0x83F3 U+31F7 # KATAKANA LETTER SMALL HU [2000] [Unicode3.2] +0x83F4 U+31F8 # KATAKANA LETTER SMALL HE [2000] [Unicode3.2] +0x83F5 U+31F9 # KATAKANA LETTER SMALL HO [2000] [Unicode3.2] +0x83F6 U+31F7+309A # [2000] +0x83F7 U+31FA # KATAKANA LETTER SMALL MU [2000] [Unicode3.2] +0x83F8 U+31FB # KATAKANA LETTER SMALL RA [2000] [Unicode3.2] +0x83F9 U+31FC # KATAKANA LETTER SMALL RI [2000] [Unicode3.2] +0x83FA U+31FD # KATAKANA LETTER SMALL RU [2000] [Unicode3.2] +0x83FB U+31FE # KATAKANA LETTER SMALL RE [2000] [Unicode3.2] +0x83FC U+31FF # KATAKANA LETTER SMALL RO [2000] [Unicode3.2] +0x8440 U+0410 # CYRILLIC CAPITAL LETTER A +0x8441 U+0411 # CYRILLIC CAPITAL LETTER BE +0x8442 U+0412 # CYRILLIC CAPITAL LETTER VE +0x8443 U+0413 # CYRILLIC CAPITAL LETTER GHE +0x8444 U+0414 # CYRILLIC CAPITAL LETTER DE +0x8445 U+0415 # CYRILLIC CAPITAL LETTER IE +0x8446 U+0401 # CYRILLIC CAPITAL LETTER IO +0x8447 U+0416 # CYRILLIC CAPITAL LETTER ZHE +0x8448 U+0417 # CYRILLIC CAPITAL LETTER ZE +0x8449 U+0418 # CYRILLIC CAPITAL LETTER I +0x844A U+0419 # CYRILLIC CAPITAL LETTER SHORT I +0x844B U+041A # CYRILLIC CAPITAL LETTER KA +0x844C U+041B # CYRILLIC CAPITAL LETTER EL +0x844D U+041C # CYRILLIC CAPITAL LETTER EM +0x844E U+041D # CYRILLIC CAPITAL LETTER EN +0x844F U+041E # CYRILLIC CAPITAL LETTER O +0x8450 U+041F # CYRILLIC CAPITAL LETTER PE +0x8451 U+0420 # CYRILLIC CAPITAL LETTER ER +0x8452 U+0421 # CYRILLIC CAPITAL LETTER ES +0x8453 U+0422 # CYRILLIC CAPITAL LETTER TE +0x8454 U+0423 # CYRILLIC CAPITAL LETTER U +0x8455 U+0424 # CYRILLIC CAPITAL LETTER EF +0x8456 U+0425 # CYRILLIC CAPITAL LETTER HA +0x8457 U+0426 # CYRILLIC CAPITAL LETTER TSE +0x8458 U+0427 # CYRILLIC CAPITAL LETTER CHE +0x8459 U+0428 # CYRILLIC CAPITAL LETTER SHA +0x845A U+0429 # CYRILLIC CAPITAL LETTER SHCHA +0x845B U+042A # CYRILLIC CAPITAL LETTER HARD SIGN +0x845C U+042B # CYRILLIC CAPITAL LETTER YERU +0x845D U+042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E U+042D # CYRILLIC CAPITAL LETTER E +0x845F U+042E # CYRILLIC CAPITAL LETTER YU +0x8460 U+042F # CYRILLIC CAPITAL LETTER YA +0x8461 U+23BE # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT [2000] [Unicode3.2] +0x8462 U+23BF # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT [2000] [Unicode3.2] +0x8463 U+23C0 # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE [2000] [Unicode3.2] +0x8464 U+23C1 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE [2000] [Unicode3.2] +0x8465 U+23C2 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE [2000] [Unicode3.2] +0x8466 U+23C3 # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE [2000] [Unicode3.2] +0x8467 U+23C4 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE [2000] [Unicode3.2] +0x8468 U+23C5 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE [2000] [Unicode3.2] +0x8469 U+23C6 # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE [2000] [Unicode3.2] +0x846A U+23C7 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE [2000] [Unicode3.2] +0x846B U+23C8 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE [2000] [Unicode3.2] +0x846C U+23C9 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL [2000] [Unicode3.2] +0x846D U+23CA # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL [2000] [Unicode3.2] +0x846E U+23CB # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT [2000] [Unicode3.2] +0x846F U+23CC # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT [2000] [Unicode3.2] +0x8470 U+0430 # CYRILLIC SMALL LETTER A +0x8471 U+0431 # CYRILLIC SMALL LETTER BE +0x8472 U+0432 # CYRILLIC SMALL LETTER VE +0x8473 U+0433 # CYRILLIC SMALL LETTER GHE +0x8474 U+0434 # CYRILLIC SMALL LETTER DE +0x8475 U+0435 # CYRILLIC SMALL LETTER IE +0x8476 U+0451 # CYRILLIC SMALL LETTER IO +0x8477 U+0436 # CYRILLIC SMALL LETTER ZHE +0x8478 U+0437 # CYRILLIC SMALL LETTER ZE +0x8479 U+0438 # CYRILLIC SMALL LETTER I +0x847A U+0439 # CYRILLIC SMALL LETTER SHORT I +0x847B U+043A # CYRILLIC SMALL LETTER KA +0x847C U+043B # CYRILLIC SMALL LETTER EL +0x847D U+043C # CYRILLIC SMALL LETTER EM +0x847E U+043D # CYRILLIC SMALL LETTER EN +0x8480 U+043E # CYRILLIC SMALL LETTER O +0x8481 U+043F # CYRILLIC SMALL LETTER PE +0x8482 U+0440 # CYRILLIC SMALL LETTER ER +0x8483 U+0441 # CYRILLIC SMALL LETTER ES +0x8484 U+0442 # CYRILLIC SMALL LETTER TE +0x8485 U+0443 # CYRILLIC SMALL LETTER U +0x8486 U+0444 # CYRILLIC SMALL LETTER EF +0x8487 U+0445 # CYRILLIC SMALL LETTER HA +0x8488 U+0446 # CYRILLIC SMALL LETTER TSE +0x8489 U+0447 # CYRILLIC SMALL LETTER CHE +0x848A U+0448 # CYRILLIC SMALL LETTER SHA +0x848B U+0449 # CYRILLIC SMALL LETTER SHCHA +0x848C U+044A # CYRILLIC SMALL LETTER HARD SIGN +0x848D U+044B # CYRILLIC SMALL LETTER YERU +0x848E U+044C # CYRILLIC SMALL LETTER SOFT SIGN +0x848F U+044D # CYRILLIC SMALL LETTER E +0x8490 U+044E # CYRILLIC SMALL LETTER YU +0x8491 U+044F # CYRILLIC SMALL LETTER YA +0x8492 U+30F7 # KATAKANA LETTER VA [2000] +0x8493 U+30F8 # KATAKANA LETTER VI [2000] +0x8494 U+30F9 # KATAKANA LETTER VE [2000] +0x8495 U+30FA # KATAKANA LETTER VO [2000] +0x8496 U+22DA # LESS-THAN EQUAL TO OR GREATER-THAN [2000] +0x8497 U+22DB # GREATER-THAN EQUAL TO OR LESS-THAN [2000] +0x8498 U+2153 # VULGAR FRACTION ONE THIRD [2000] +0x8499 U+2154 # VULGAR FRACTION TWO THIRDS [2000] +0x849A U+2155 # VULGAR FRACTION ONE FIFTH [2000] +0x849B U+2713 # CHECK MARK [2000] +0x849C U+2318 # PLACE OF INTEREST SIGN [2000] +0x849D U+2423 # OPEN BOX [2000] +0x849E U+23CE # RETURN SYMBOL [2000] [Unicode3.2] +0x849F U+2500 # BOX DRAWINGS LIGHT HORIZONTAL [1983] +0x84A0 U+2502 # BOX DRAWINGS LIGHT VERTICAL [1983] +0x84A1 U+250C # BOX DRAWINGS LIGHT DOWN AND RIGHT [1983] +0x84A2 U+2510 # BOX DRAWINGS LIGHT DOWN AND LEFT [1983] +0x84A3 U+2518 # BOX DRAWINGS LIGHT UP AND LEFT [1983] +0x84A4 U+2514 # BOX DRAWINGS LIGHT UP AND RIGHT [1983] +0x84A5 U+251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT [1983] +0x84A6 U+252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL [1983] +0x84A7 U+2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT [1983] +0x84A8 U+2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL [1983] +0x84A9 U+253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL [1983] +0x84AA U+2501 # BOX DRAWINGS HEAVY HORIZONTAL [1983] +0x84AB U+2503 # BOX DRAWINGS HEAVY VERTICAL [1983] +0x84AC U+250F # BOX DRAWINGS HEAVY DOWN AND RIGHT [1983] +0x84AD U+2513 # BOX DRAWINGS HEAVY DOWN AND LEFT [1983] +0x84AE U+251B # BOX DRAWINGS HEAVY UP AND LEFT [1983] +0x84AF U+2517 # BOX DRAWINGS HEAVY UP AND RIGHT [1983] +0x84B0 U+2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT [1983] +0x84B1 U+2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL [1983] +0x84B2 U+252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT [1983] +0x84B3 U+253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL [1983] +0x84B4 U+254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL [1983] +0x84B5 U+2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT [1983] +0x84B6 U+252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY [1983] +0x84B7 U+2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT [1983] +0x84B8 U+2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY [1983] +0x84B9 U+253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY [1983] +0x84BA U+251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY [1983] +0x84BB U+2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT [1983] +0x84BC U+2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY [1983] +0x84BD U+2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT [1983] +0x84BE U+2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT [1983] +0x84BF U+3251 # CIRCLED NUMBER TWENTY ONE [2000] [Unicode3.2] +0x84C0 U+3252 # CIRCLED NUMBER TWENTY TWO [2000] [Unicode3.2] +0x84C1 U+3253 # CIRCLED NUMBER TWENTY THREE [2000] [Unicode3.2] +0x84C2 U+3254 # CIRCLED NUMBER TWENTY FOUR [2000] [Unicode3.2] +0x84C3 U+3255 # CIRCLED NUMBER TWENTY FIVE [2000] [Unicode3.2] +0x84C4 U+3256 # CIRCLED NUMBER TWENTY SIX [2000] [Unicode3.2] +0x84C5 U+3257 # CIRCLED NUMBER TWENTY SEVEN [2000] [Unicode3.2] +0x84C6 U+3258 # CIRCLED NUMBER TWENTY EIGHT [2000] [Unicode3.2] +0x84C7 U+3259 # CIRCLED NUMBER TWENTY NINE [2000] [Unicode3.2] +0x84C8 U+325A # CIRCLED NUMBER THIRTY [2000] [Unicode3.2] +0x84C9 U+325B # CIRCLED NUMBER THIRTY ONE [2000] [Unicode3.2] +0x84CA U+325C # CIRCLED NUMBER THIRTY TWO [2000] [Unicode3.2] +0x84CB U+325D # CIRCLED NUMBER THIRTY THREE [2000] [Unicode3.2] +0x84CC U+325E # CIRCLED NUMBER THIRTY FOUR [2000] [Unicode3.2] +0x84CD U+325F # CIRCLED NUMBER THIRTY FIVE [2000] [Unicode3.2] +0x84CE U+32B1 # CIRCLED NUMBER THIRTY SIX [2000] [Unicode3.2] +0x84CF U+32B2 # CIRCLED NUMBER THIRTY SEVEN [2000] [Unicode3.2] +0x84D0 U+32B3 # CIRCLED NUMBER THIRTY EIGHT [2000] [Unicode3.2] +0x84D1 U+32B4 # CIRCLED NUMBER THIRTY NINE [2000] [Unicode3.2] +0x84D2 U+32B5 # CIRCLED NUMBER FORTY [2000] [Unicode3.2] +0x84D3 U+32B6 # CIRCLED NUMBER FORTY ONE [2000] [Unicode3.2] +0x84D4 U+32B7 # CIRCLED NUMBER FORTY TWO [2000] [Unicode3.2] +0x84D5 U+32B8 # CIRCLED NUMBER FORTY THREE [2000] [Unicode3.2] +0x84D6 U+32B9 # CIRCLED NUMBER FORTY FOUR [2000] [Unicode3.2] +0x84D7 U+32BA # CIRCLED NUMBER FORTY FIVE [2000] [Unicode3.2] +0x84D8 U+32BB # CIRCLED NUMBER FORTY SIX [2000] [Unicode3.2] +0x84D9 U+32BC # CIRCLED NUMBER FORTY SEVEN [2000] [Unicode3.2] +0x84DA U+32BD # CIRCLED NUMBER FORTY EIGHT [2000] [Unicode3.2] +0x84DB U+32BE # CIRCLED NUMBER FORTY NINE [2000] [Unicode3.2] +0x84DC U+32BF # CIRCLED NUMBER FIFTY [2000] [Unicode3.2] +0x84DD # +0x84DE # +0x84DF # +0x84E0 # +0x84E1 # +0x84E2 # +0x84E3 # +0x84E4 # +0x84E5 U+25D0 # CIRCLE WITH LEFT HALF BLACK [2000] +0x84E6 U+25D1 # CIRCLE WITH RIGHT HALF BLACK [2000] +0x84E7 U+25D2 # CIRCLE WITH LOWER HALF BLACK [2000] +0x84E8 U+25D3 # CIRCLE WITH UPPER HALF BLACK [2000] +0x84E9 U+203C # DOUBLE EXCLAMATION MARK [2000] +0x84EA U+2047 # DOUBLE QUESTION MARK [2000] [Unicode3.2] +0x84EB U+2048 # QUESTION EXCLAMATION MARK [2000] +0x84EC U+2049 # EXCLAMATION QUESTION MARK [2000] +0x84ED U+01CD # LATIN CAPITAL LETTER A WITH CARON [2000] +0x84EE U+01CE # LATIN SMALL LETTER A WITH CARON [2000] +0x84EF U+01D0 # LATIN SMALL LETTER I WITH CARON [2000] +0x84F0 U+1E3E # LATIN CAPITAL LETTER M WITH ACUTE [2000] +0x84F1 U+1E3F # LATIN SMALL LETTER M WITH ACUTE [2000] +0x84F2 U+01F8 # LATIN CAPITAL LETTER N WITH GRAVE [2000] +0x84F3 U+01F9 # LATIN SMALL LETTER N WITH GRAVE [2000] +0x84F4 U+01D1 # LATIN CAPITAL LETTER O WITH CARON [2000] +0x84F5 U+01D2 # LATIN SMALL LETTER O WITH CARON [2000] +0x84F6 U+01D4 # LATIN SMALL LETTER U WITH CARON [2000] +0x84F7 U+01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON [2000] +0x84F8 U+01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE [2000] +0x84F9 U+01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON [2000] +0x84FA U+01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE [2000] +0x84FB # +0x84FC # +0x8540 U+20AC # EURO SIGN [2000] +0x8541 U+00A0 # NO-BREAK SPACE [2000] +0x8542 U+00A1 # INVERTED EXCLAMATION MARK [2000] +0x8543 U+00A4 # CURRENCY SIGN [2000] +0x8544 U+00A6 # BROKEN BAR [2000] +0x8545 U+00A9 # COPYRIGHT SIGN [2000] +0x8546 U+00AA # FEMININE ORDINAL INDICATOR [2000] +0x8547 U+00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [2000] +0x8548 U+00AD # SOFT HYPHEN [2000] +0x8549 U+00AE # REGISTERED SIGN [2000] +0x854A U+00AF # MACRON [2000] +0x854B U+00B2 # SUPERSCRIPT TWO [2000] +0x854C U+00B3 # SUPERSCRIPT THREE [2000] +0x854D U+00B7 # MIDDLE DOT [2000] +0x854E U+00B8 # CEDILLA [2000] +0x854F U+00B9 # SUPERSCRIPT ONE [2000] +0x8550 U+00BA # MASCULINE ORDINAL INDICATOR [2000] +0x8551 U+00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [2000] +0x8552 U+00BC # VULGAR FRACTION ONE QUARTER [2000] +0x8553 U+00BD # VULGAR FRACTION ONE HALF [2000] +0x8554 U+00BE # VULGAR FRACTION THREE QUARTERS [2000] +0x8555 U+00BF # INVERTED QUESTION MARK [2000] +0x8556 U+00C0 # LATIN CAPITAL LETTER A WITH GRAVE [2000] +0x8557 U+00C1 # LATIN CAPITAL LETTER A WITH ACUTE [2000] +0x8558 U+00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX [2000] +0x8559 U+00C3 # LATIN CAPITAL LETTER A WITH TILDE [2000] +0x855A U+00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS [2000] +0x855B U+00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE [2000] +0x855C U+00C6 # LATIN CAPITAL LETTER AE [2000] +0x855D U+00C7 # LATIN CAPITAL LETTER C WITH CEDILLA [2000] +0x855E U+00C8 # LATIN CAPITAL LETTER E WITH GRAVE [2000] +0x855F U+00C9 # LATIN CAPITAL LETTER E WITH ACUTE [2000] +0x8560 U+00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX [2000] +0x8561 U+00CB # LATIN CAPITAL LETTER E WITH DIAERESIS [2000] +0x8562 U+00CC # LATIN CAPITAL LETTER I WITH GRAVE [2000] +0x8563 U+00CD # LATIN CAPITAL LETTER I WITH ACUTE [2000] +0x8564 U+00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX [2000] +0x8565 U+00CF # LATIN CAPITAL LETTER I WITH DIAERESIS [2000] +0x8566 U+00D0 # LATIN CAPITAL LETTER ETH [2000] +0x8567 U+00D1 # LATIN CAPITAL LETTER N WITH TILDE [2000] +0x8568 U+00D2 # LATIN CAPITAL LETTER O WITH GRAVE [2000] +0x8569 U+00D3 # LATIN CAPITAL LETTER O WITH ACUTE [2000] +0x856A U+00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX [2000] +0x856B U+00D5 # LATIN CAPITAL LETTER O WITH TILDE [2000] +0x856C U+00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS [2000] +0x856D U+00D8 # LATIN CAPITAL LETTER O WITH STROKE [2000] +0x856E U+00D9 # LATIN CAPITAL LETTER U WITH GRAVE [2000] +0x856F U+00DA # LATIN CAPITAL LETTER U WITH ACUTE [2000] +0x8570 U+00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX [2000] +0x8571 U+00DC # LATIN CAPITAL LETTER U WITH DIAERESIS [2000] +0x8572 U+00DD # LATIN CAPITAL LETTER Y WITH ACUTE [2000] +0x8573 U+00DE # LATIN CAPITAL LETTER THORN [2000] +0x8574 U+00DF # LATIN SMALL LETTER SHARP S [2000] +0x8575 U+00E0 # LATIN SMALL LETTER A WITH GRAVE [2000] +0x8576 U+00E1 # LATIN SMALL LETTER A WITH ACUTE [2000] +0x8577 U+00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX [2000] +0x8578 U+00E3 # LATIN SMALL LETTER A WITH TILDE [2000] +0x8579 U+00E4 # LATIN SMALL LETTER A WITH DIAERESIS [2000] +0x857A U+00E5 # LATIN SMALL LETTER A WITH RING ABOVE [2000] +0x857B U+00E6 # LATIN SMALL LETTER AE [2000] +0x857C U+00E7 # LATIN SMALL LETTER C WITH CEDILLA [2000] +0x857D U+00E8 # LATIN SMALL LETTER E WITH GRAVE [2000] +0x857E U+00E9 # LATIN SMALL LETTER E WITH ACUTE [2000] +0x8580 U+00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX [2000] +0x8581 U+00EB # LATIN SMALL LETTER E WITH DIAERESIS [2000] +0x8582 U+00EC # LATIN SMALL LETTER I WITH GRAVE [2000] +0x8583 U+00ED # LATIN SMALL LETTER I WITH ACUTE [2000] +0x8584 U+00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX [2000] +0x8585 U+00EF # LATIN SMALL LETTER I WITH DIAERESIS [2000] +0x8586 U+00F0 # LATIN SMALL LETTER ETH [2000] +0x8587 U+00F1 # LATIN SMALL LETTER N WITH TILDE [2000] +0x8588 U+00F2 # LATIN SMALL LETTER O WITH GRAVE [2000] +0x8589 U+00F3 # LATIN SMALL LETTER O WITH ACUTE [2000] +0x858A U+00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX [2000] +0x858B U+00F5 # LATIN SMALL LETTER O WITH TILDE [2000] +0x858C U+00F6 # LATIN SMALL LETTER O WITH DIAERESIS [2000] +0x858D U+00F8 # LATIN SMALL LETTER O WITH STROKE [2000] +0x858E U+00F9 # LATIN SMALL LETTER U WITH GRAVE [2000] +0x858F U+00FA # LATIN SMALL LETTER U WITH ACUTE [2000] +0x8590 U+00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX [2000] +0x8591 U+00FC # LATIN SMALL LETTER U WITH DIAERESIS [2000] +0x8592 U+00FD # LATIN SMALL LETTER Y WITH ACUTE [2000] +0x8593 U+00FE # LATIN SMALL LETTER THORN [2000] +0x8594 U+00FF # LATIN SMALL LETTER Y WITH DIAERESIS [2000] +0x8595 U+0100 # LATIN CAPITAL LETTER A WITH MACRON [2000] +0x8596 U+012A # LATIN CAPITAL LETTER I WITH MACRON [2000] +0x8597 U+016A # LATIN CAPITAL LETTER U WITH MACRON [2000] +0x8598 U+0112 # LATIN CAPITAL LETTER E WITH MACRON [2000] +0x8599 U+014C # LATIN CAPITAL LETTER O WITH MACRON [2000] +0x859A U+0101 # LATIN SMALL LETTER A WITH MACRON [2000] +0x859B U+012B # LATIN SMALL LETTER I WITH MACRON [2000] +0x859C U+016B # LATIN SMALL LETTER U WITH MACRON [2000] +0x859D U+0113 # LATIN SMALL LETTER E WITH MACRON [2000] +0x859E U+014D # LATIN SMALL LETTER O WITH MACRON [2000] +0x859F U+0104 # LATIN CAPITAL LETTER A WITH OGONEK [2000] +0x85A0 U+02D8 # BREVE [2000] +0x85A1 U+0141 # LATIN CAPITAL LETTER L WITH STROKE [2000] +0x85A2 U+013D # LATIN CAPITAL LETTER L WITH CARON [2000] +0x85A3 U+015A # LATIN CAPITAL LETTER S WITH ACUTE [2000] +0x85A4 U+0160 # LATIN CAPITAL LETTER S WITH CARON [2000] +0x85A5 U+015E # LATIN CAPITAL LETTER S WITH CEDILLA [2000] +0x85A6 U+0164 # LATIN CAPITAL LETTER T WITH CARON [2000] +0x85A7 U+0179 # LATIN CAPITAL LETTER Z WITH ACUTE [2000] +0x85A8 U+017D # LATIN CAPITAL LETTER Z WITH CARON [2000] +0x85A9 U+017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE [2000] +0x85AA U+0105 # LATIN SMALL LETTER A WITH OGONEK [2000] +0x85AB U+02DB # OGONEK [2000] +0x85AC U+0142 # LATIN SMALL LETTER L WITH STROKE [2000] +0x85AD U+013E # LATIN SMALL LETTER L WITH CARON [2000] +0x85AE U+015B # LATIN SMALL LETTER S WITH ACUTE [2000] +0x85AF U+02C7 # CARON [2000] +0x85B0 U+0161 # LATIN SMALL LETTER S WITH CARON [2000] +0x85B1 U+015F # LATIN SMALL LETTER S WITH CEDILLA [2000] +0x85B2 U+0165 # LATIN SMALL LETTER T WITH CARON [2000] +0x85B3 U+017A # LATIN SMALL LETTER Z WITH ACUTE [2000] +0x85B4 U+02DD # DOUBLE ACUTE ACCENT [2000] +0x85B5 U+017E # LATIN SMALL LETTER Z WITH CARON [2000] +0x85B6 U+017C # LATIN SMALL LETTER Z WITH DOT ABOVE [2000] +0x85B7 U+0154 # LATIN CAPITAL LETTER R WITH ACUTE [2000] +0x85B8 U+0102 # LATIN CAPITAL LETTER A WITH BREVE [2000] +0x85B9 U+0139 # LATIN CAPITAL LETTER L WITH ACUTE [2000] +0x85BA U+0106 # LATIN CAPITAL LETTER C WITH ACUTE [2000] +0x85BB U+010C # LATIN CAPITAL LETTER C WITH CARON [2000] +0x85BC U+0118 # LATIN CAPITAL LETTER E WITH OGONEK [2000] +0x85BD U+011A # LATIN CAPITAL LETTER E WITH CARON [2000] +0x85BE U+010E # LATIN CAPITAL LETTER D WITH CARON [2000] +0x85BF U+0143 # LATIN CAPITAL LETTER N WITH ACUTE [2000] +0x85C0 U+0147 # LATIN CAPITAL LETTER N WITH CARON [2000] +0x85C1 U+0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE [2000] +0x85C2 U+0158 # LATIN CAPITAL LETTER R WITH CARON [2000] +0x85C3 U+016E # LATIN CAPITAL LETTER U WITH RING ABOVE [2000] +0x85C4 U+0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE [2000] +0x85C5 U+0162 # LATIN CAPITAL LETTER T WITH CEDILLA [2000] +0x85C6 U+0155 # LATIN SMALL LETTER R WITH ACUTE [2000] +0x85C7 U+0103 # LATIN SMALL LETTER A WITH BREVE [2000] +0x85C8 U+013A # LATIN SMALL LETTER L WITH ACUTE [2000] +0x85C9 U+0107 # LATIN SMALL LETTER C WITH ACUTE [2000] +0x85CA U+010D # LATIN SMALL LETTER C WITH CARON [2000] +0x85CB U+0119 # LATIN SMALL LETTER E WITH OGONEK [2000] +0x85CC U+011B # LATIN SMALL LETTER E WITH CARON [2000] +0x85CD U+010F # LATIN SMALL LETTER D WITH CARON [2000] +0x85CE U+0111 # LATIN SMALL LETTER D WITH STROKE [2000] +0x85CF U+0144 # LATIN SMALL LETTER N WITH ACUTE [2000] +0x85D0 U+0148 # LATIN SMALL LETTER N WITH CARON [2000] +0x85D1 U+0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE [2000] +0x85D2 U+0159 # LATIN SMALL LETTER R WITH CARON [2000] +0x85D3 U+016F # LATIN SMALL LETTER U WITH RING ABOVE [2000] +0x85D4 U+0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE [2000] +0x85D5 U+0163 # LATIN SMALL LETTER T WITH CEDILLA [2000] +0x85D6 U+02D9 # DOT ABOVE [2000] +0x85D7 U+0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX [2000] +0x85D8 U+011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX [2000] +0x85D9 U+0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX [2000] +0x85DA U+0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX [2000] +0x85DB U+015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX [2000] +0x85DC U+016C # LATIN CAPITAL LETTER U WITH BREVE [2000] +0x85DD U+0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX [2000] +0x85DE U+011D # LATIN SMALL LETTER G WITH CIRCUMFLEX [2000] +0x85DF U+0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX [2000] +0x85E0 U+0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX [2000] +0x85E1 U+015D # LATIN SMALL LETTER S WITH CIRCUMFLEX [2000] +0x85E2 U+016D # LATIN SMALL LETTER U WITH BREVE [2000] +0x85E3 U+0271 # LATIN SMALL LETTER M WITH HOOK [2000] +0x85E4 U+028B # LATIN SMALL LETTER V WITH HOOK [2000] +0x85E5 U+027E # LATIN SMALL LETTER R WITH FISHHOOK [2000] +0x85E6 U+0283 # LATIN SMALL LETTER ESH [2000] +0x85E7 U+0292 # LATIN SMALL LETTER EZH [2000] +0x85E8 U+026C # LATIN SMALL LETTER L WITH BELT [2000] +0x85E9 U+026E # LATIN SMALL LETTER LEZH [2000] +0x85EA U+0279 # LATIN SMALL LETTER TURNED R [2000] +0x85EB U+0288 # LATIN SMALL LETTER T WITH RETROFLEX HOOK [2000] +0x85EC U+0256 # LATIN SMALL LETTER D WITH TAIL [2000] +0x85ED U+0273 # LATIN SMALL LETTER N WITH RETROFLEX HOOK [2000] +0x85EE U+027D # LATIN SMALL LETTER R WITH TAIL [2000] +0x85EF U+0282 # LATIN SMALL LETTER S WITH HOOK [2000] +0x85F0 U+0290 # LATIN SMALL LETTER Z WITH RETROFLEX HOOK [2000] +0x85F1 U+027B # LATIN SMALL LETTER TURNED R WITH HOOK [2000] +0x85F2 U+026D # LATIN SMALL LETTER L WITH RETROFLEX HOOK [2000] +0x85F3 U+025F # LATIN SMALL LETTER DOTLESS J WITH STROKE [2000] +0x85F4 U+0272 # LATIN SMALL LETTER N WITH LEFT HOOK [2000] +0x85F5 U+029D # LATIN SMALL LETTER J WITH CROSSED-TAIL [2000] +0x85F6 U+028E # LATIN SMALL LETTER TURNED Y [2000] +0x85F7 U+0261 # LATIN SMALL LETTER SCRIPT G [2000] +0x85F8 U+014B # LATIN SMALL LETTER ENG [2000] +0x85F9 U+0270 # LATIN SMALL LETTER TURNED M WITH LONG LEG [2000] +0x85FA U+0281 # LATIN LETTER SMALL CAPITAL INVERTED R [2000] +0x85FB U+0127 # LATIN SMALL LETTER H WITH STROKE [2000] +0x85FC U+0295 # LATIN LETTER PHARYNGEAL VOICED FRICATIVE [2000] +0x8640 U+0294 # LATIN LETTER GLOTTAL STOP [2000] +0x8641 U+0266 # LATIN SMALL LETTER H WITH HOOK [2000] +0x8642 U+0298 # LATIN LETTER BILABIAL CLICK [2000] +0x8643 U+01C2 # LATIN LETTER ALVEOLAR CLICK [2000] +0x8644 U+0253 # LATIN SMALL LETTER B WITH HOOK [2000] +0x8645 U+0257 # LATIN SMALL LETTER D WITH HOOK [2000] +0x8646 U+0284 # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK [2000] +0x8647 U+0260 # LATIN SMALL LETTER G WITH HOOK [2000] +0x8648 U+0193 # LATIN CAPITAL LETTER G WITH HOOK [2000] +0x8649 U+0153 # LATIN SMALL LIGATURE OE [2000] +0x864A U+0152 # LATIN CAPITAL LIGATURE OE [2000] +0x864B U+0268 # LATIN SMALL LETTER I WITH STROKE [2000] +0x864C U+0289 # LATIN SMALL LETTER U BAR [2000] +0x864D U+0258 # LATIN SMALL LETTER REVERSED E [2000] +0x864E U+0275 # LATIN SMALL LETTER BARRED O [2000] +0x864F U+0259 # LATIN SMALL LETTER SCHWA [2000] +0x8650 U+025C # LATIN SMALL LETTER REVERSED OPEN E [2000] +0x8651 U+025E # LATIN SMALL LETTER CLOSED REVERSED OPEN E [2000] +0x8652 U+0250 # LATIN SMALL LETTER TURNED A [2000] +0x8653 U+026F # LATIN SMALL LETTER TURNED M [2000] +0x8654 U+028A # LATIN SMALL LETTER UPSILON [2000] +0x8655 U+0264 # LATIN SMALL LETTER RAMS HORN [2000] +0x8656 U+028C # LATIN SMALL LETTER TURNED V [2000] +0x8657 U+0254 # LATIN SMALL LETTER OPEN O [2000] +0x8658 U+0251 # LATIN SMALL LETTER ALPHA [2000] +0x8659 U+0252 # LATIN SMALL LETTER TURNED ALPHA [2000] +0x865A U+028D # LATIN SMALL LETTER TURNED W [2000] +0x865B U+0265 # LATIN SMALL LETTER TURNED H [2000] +0x865C U+02A2 # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE [2000] +0x865D U+02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE [2000] +0x865E U+0255 # LATIN SMALL LETTER C WITH CURL [2000] +0x865F U+0291 # LATIN SMALL LETTER Z WITH CURL [2000] +0x8660 U+027A # LATIN SMALL LETTER TURNED R WITH LONG LEG [2000] +0x8661 U+0267 # LATIN SMALL LETTER HENG WITH HOOK [2000] +0x8662 U+025A # LATIN SMALL LETTER SCHWA WITH HOOK [2000] +0x8663 U+00E6+0300 # [2000] +0x8664 U+01FD # LATIN SMALL LETTER AE WITH ACUTE [2000] +0x8665 U+1F70 # GREEK SMALL LETTER ALPHA WITH VARIA [2000] +0x8666 U+1F71 # GREEK SMALL LETTER ALPHA WITH OXIA [2000] +0x8667 U+0254+0300 # [2000] +0x8668 U+0254+0301 # [2000] +0x8669 U+028C+0300 # [2000] +0x866A U+028C+0301 # [2000] +0x866B U+0259+0300 # [2000] +0x866C U+0259+0301 # [2000] +0x866D U+025A+0300 # [2000] +0x866E U+025A+0301 # [2000] +0x866F U+1F72 # GREEK SMALL LETTER EPSILON WITH VARIA [2000] +0x8670 U+1F73 # GREEK SMALL LETTER EPSILON WITH OXIA [2000] +0x8671 U+0361 # COMBINING DOUBLE INVERTED BREVE [2000] +0x8672 U+02C8 # MODIFIER LETTER VERTICAL LINE [2000] +0x8673 U+02CC # MODIFIER LETTER LOW VERTICAL LINE [2000] +0x8674 U+02D0 # MODIFIER LETTER TRIANGULAR COLON [2000] +0x8675 U+02D1 # MODIFIER LETTER HALF TRIANGULAR COLON [2000] +0x8676 U+0306 # COMBINING BREVE [2000] +0x8677 U+203F # UNDERTIE [2000] +0x8678 U+030B # COMBINING DOUBLE ACUTE ACCENT [2000] +0x8679 U+0301 # COMBINING ACUTE ACCENT [2000] +0x867A U+0304 # COMBINING MACRON [2000] +0x867B U+0300 # COMBINING GRAVE ACCENT [2000] +0x867C U+030F # COMBINING DOUBLE GRAVE ACCENT [2000] +0x867D U+030C # COMBINING CARON [2000] +0x867E U+0302 # COMBINING CIRCUMFLEX ACCENT [2000] +0x8680 U+02E5 # MODIFIER LETTER EXTRA-HIGH TONE BAR [2000] +0x8681 U+02E6 # MODIFIER LETTER HIGH TONE BAR [2000] +0x8682 U+02E7 # MODIFIER LETTER MID TONE BAR [2000] +0x8683 U+02E8 # MODIFIER LETTER LOW TONE BAR [2000] +0x8684 U+02E9 # MODIFIER LETTER EXTRA-LOW TONE BAR [2000] +0x8685 U+02E9+02E5 # [2000] +0x8686 U+02E5+02E9 # [2000] +0x8687 U+0325 # COMBINING RING BELOW [2000] +0x8688 U+032C # COMBINING CARON BELOW [2000] +0x8689 U+0339 # COMBINING RIGHT HALF RING BELOW [2000] +0x868A U+031C # COMBINING LEFT HALF RING BELOW [2000] +0x868B U+031F # COMBINING PLUS SIGN BELOW [2000] +0x868C U+0320 # COMBINING MINUS SIGN BELOW [2000] +0x868D U+0308 # COMBINING DIAERESIS [2000] +0x868E U+033D # COMBINING X ABOVE [2000] +0x868F U+0329 # COMBINING VERTICAL LINE BELOW [2000] +0x8690 U+032F # COMBINING INVERTED BREVE BELOW [2000] +0x8691 U+02DE # MODIFIER LETTER RHOTIC HOOK [2000] +0x8692 U+0324 # COMBINING DIAERESIS BELOW [2000] +0x8693 U+0330 # COMBINING TILDE BELOW [2000] +0x8694 U+033C # COMBINING SEAGULL BELOW [2000] +0x8695 U+0334 # COMBINING TILDE OVERLAY [2000] +0x8696 U+031D # COMBINING UP TACK BELOW [2000] +0x8697 U+031E # COMBINING DOWN TACK BELOW [2000] +0x8698 U+0318 # COMBINING LEFT TACK BELOW [2000] +0x8699 U+0319 # COMBINING RIGHT TACK BELOW [2000] +0x869A U+032A # COMBINING BRIDGE BELOW [2000] +0x869B U+033A # COMBINING INVERTED BRIDGE BELOW [2000] +0x869C U+033B # COMBINING SQUARE BELOW [2000] +0x869D U+0303 # COMBINING TILDE [2000] +0x869E U+031A # COMBINING LEFT ANGLE ABOVE [2000] +0x869F U+2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE [2000] +0x86A0 U+2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO [2000] +0x86A1 U+2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE [2000] +0x86A2 U+2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR [2000] +0x86A3 U+277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE [2000] +0x86A4 U+277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX [2000] +0x86A5 U+277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN [2000] +0x86A6 U+277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT [2000] +0x86A7 U+277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE [2000] +0x86A8 U+277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN [2000] +0x86A9 U+24EB # NEGATIVE CIRCLED NUMBER ELEVEN [2000] [Unicode3.2] +0x86AA U+24EC # NEGATIVE CIRCLED NUMBER TWELVE [2000] [Unicode3.2] +0x86AB U+24ED # NEGATIVE CIRCLED NUMBER THIRTEEN [2000] [Unicode3.2] +0x86AC U+24EE # NEGATIVE CIRCLED NUMBER FOURTEEN [2000] [Unicode3.2] +0x86AD U+24EF # NEGATIVE CIRCLED NUMBER FIFTEEN [2000] [Unicode3.2] +0x86AE U+24F0 # NEGATIVE CIRCLED NUMBER SIXTEEN [2000] [Unicode3.2] +0x86AF U+24F1 # NEGATIVE CIRCLED NUMBER SEVENTEEN [2000] [Unicode3.2] +0x86B0 U+24F2 # NEGATIVE CIRCLED NUMBER EIGHTEEN [2000] [Unicode3.2] +0x86B1 U+24F3 # NEGATIVE CIRCLED NUMBER NINETEEN [2000] [Unicode3.2] +0x86B2 U+24F4 # NEGATIVE CIRCLED NUMBER TWENTY [2000] [Unicode3.2] +0x86B3 U+2170 # SMALL ROMAN NUMERAL ONE [2000] +0x86B4 U+2171 # SMALL ROMAN NUMERAL TWO [2000] +0x86B5 U+2172 # SMALL ROMAN NUMERAL THREE [2000] +0x86B6 U+2173 # SMALL ROMAN NUMERAL FOUR [2000] +0x86B7 U+2174 # SMALL ROMAN NUMERAL FIVE [2000] +0x86B8 U+2175 # SMALL ROMAN NUMERAL SIX [2000] +0x86B9 U+2176 # SMALL ROMAN NUMERAL SEVEN [2000] +0x86BA U+2177 # SMALL ROMAN NUMERAL EIGHT [2000] +0x86BB U+2178 # SMALL ROMAN NUMERAL NINE [2000] +0x86BC U+2179 # SMALL ROMAN NUMERAL TEN [2000] +0x86BD U+217A # SMALL ROMAN NUMERAL ELEVEN [2000] +0x86BE U+217B # SMALL ROMAN NUMERAL TWELVE [2000] +0x86BF U+24D0 # CIRCLED LATIN SMALL LETTER A [2000] +0x86C0 U+24D1 # CIRCLED LATIN SMALL LETTER B [2000] +0x86C1 U+24D2 # CIRCLED LATIN SMALL LETTER C [2000] +0x86C2 U+24D3 # CIRCLED LATIN SMALL LETTER D [2000] +0x86C3 U+24D4 # CIRCLED LATIN SMALL LETTER E [2000] +0x86C4 U+24D5 # CIRCLED LATIN SMALL LETTER F [2000] +0x86C5 U+24D6 # CIRCLED LATIN SMALL LETTER G [2000] +0x86C6 U+24D7 # CIRCLED LATIN SMALL LETTER H [2000] +0x86C7 U+24D8 # CIRCLED LATIN SMALL LETTER I [2000] +0x86C8 U+24D9 # CIRCLED LATIN SMALL LETTER J [2000] +0x86C9 U+24DA # CIRCLED LATIN SMALL LETTER K [2000] +0x86CA U+24DB # CIRCLED LATIN SMALL LETTER L [2000] +0x86CB U+24DC # CIRCLED LATIN SMALL LETTER M [2000] +0x86CC U+24DD # CIRCLED LATIN SMALL LETTER N [2000] +0x86CD U+24DE # CIRCLED LATIN SMALL LETTER O [2000] +0x86CE U+24DF # CIRCLED LATIN SMALL LETTER P [2000] +0x86CF U+24E0 # CIRCLED LATIN SMALL LETTER Q [2000] +0x86D0 U+24E1 # CIRCLED LATIN SMALL LETTER R [2000] +0x86D1 U+24E2 # CIRCLED LATIN SMALL LETTER S [2000] +0x86D2 U+24E3 # CIRCLED LATIN SMALL LETTER T [2000] +0x86D3 U+24E4 # CIRCLED LATIN SMALL LETTER U [2000] +0x86D4 U+24E5 # CIRCLED LATIN SMALL LETTER V [2000] +0x86D5 U+24E6 # CIRCLED LATIN SMALL LETTER W [2000] +0x86D6 U+24E7 # CIRCLED LATIN SMALL LETTER X [2000] +0x86D7 U+24E8 # CIRCLED LATIN SMALL LETTER Y [2000] +0x86D8 U+24E9 # CIRCLED LATIN SMALL LETTER Z [2000] +0x86D9 U+32D0 # CIRCLED KATAKANA A [2000] +0x86DA U+32D1 # CIRCLED KATAKANA I [2000] +0x86DB U+32D2 # CIRCLED KATAKANA U [2000] +0x86DC U+32D3 # CIRCLED KATAKANA E [2000] +0x86DD U+32D4 # CIRCLED KATAKANA O [2000] +0x86DE U+32D5 # CIRCLED KATAKANA KA [2000] +0x86DF U+32D6 # CIRCLED KATAKANA KI [2000] +0x86E0 U+32D7 # CIRCLED KATAKANA KU [2000] +0x86E1 U+32D8 # CIRCLED KATAKANA KE [2000] +0x86E2 U+32D9 # CIRCLED KATAKANA KO [2000] +0x86E3 U+32DA # CIRCLED KATAKANA SA [2000] +0x86E4 U+32DB # CIRCLED KATAKANA SI [2000] +0x86E5 U+32DC # CIRCLED KATAKANA SU [2000] +0x86E6 U+32DD # CIRCLED KATAKANA SE [2000] +0x86E7 U+32DE # CIRCLED KATAKANA SO [2000] +0x86E8 U+32DF # CIRCLED KATAKANA TA [2000] +0x86E9 U+32E0 # CIRCLED KATAKANA TI [2000] +0x86EA U+32E1 # CIRCLED KATAKANA TU [2000] +0x86EB U+32E2 # CIRCLED KATAKANA TE [2000] +0x86EC U+32E3 # CIRCLED KATAKANA TO [2000] +0x86ED U+32FA # CIRCLED KATAKANA RO [2000] +0x86EE U+32E9 # CIRCLED KATAKANA HA [2000] +0x86EF U+32E5 # CIRCLED KATAKANA NI [2000] +0x86F0 U+32ED # CIRCLED KATAKANA HO [2000] +0x86F1 U+32EC # CIRCLED KATAKANA HE [2000] +0x86F2 # +0x86F3 # +0x86F4 # +0x86F5 # +0x86F6 # +0x86F7 # +0x86F8 # +0x86F9 # +0x86FA # +0x86FB U+2051 # TWO ASTERISKS ALIGNED VERTICALLY [2000] [Unicode3.2] +0x86FC U+2042 # ASTERISM [2000] +0x8740 U+2460 # CIRCLED DIGIT ONE [2000] +0x8741 U+2461 # CIRCLED DIGIT TWO [2000] +0x8742 U+2462 # CIRCLED DIGIT THREE [2000] +0x8743 U+2463 # CIRCLED DIGIT FOUR [2000] +0x8744 U+2464 # CIRCLED DIGIT FIVE [2000] +0x8745 U+2465 # CIRCLED DIGIT SIX [2000] +0x8746 U+2466 # CIRCLED DIGIT SEVEN [2000] +0x8747 U+2467 # CIRCLED DIGIT EIGHT [2000] +0x8748 U+2468 # CIRCLED DIGIT NINE [2000] +0x8749 U+2469 # CIRCLED NUMBER TEN [2000] +0x874A U+246A # CIRCLED NUMBER ELEVEN [2000] +0x874B U+246B # CIRCLED NUMBER TWELVE [2000] +0x874C U+246C # CIRCLED NUMBER THIRTEEN [2000] +0x874D U+246D # CIRCLED NUMBER FOURTEEN [2000] +0x874E U+246E # CIRCLED NUMBER FIFTEEN [2000] +0x874F U+246F # CIRCLED NUMBER SIXTEEN [2000] +0x8750 U+2470 # CIRCLED NUMBER SEVENTEEN [2000] +0x8751 U+2471 # CIRCLED NUMBER EIGHTEEN [2000] +0x8752 U+2472 # CIRCLED NUMBER NINETEEN [2000] +0x8753 U+2473 # CIRCLED NUMBER TWENTY [2000] +0x8754 U+2160 # ROMAN NUMERAL ONE [2000] +0x8755 U+2161 # ROMAN NUMERAL TWO [2000] +0x8756 U+2162 # ROMAN NUMERAL THREE [2000] +0x8757 U+2163 # ROMAN NUMERAL FOUR [2000] +0x8758 U+2164 # ROMAN NUMERAL FIVE [2000] +0x8759 U+2165 # ROMAN NUMERAL SIX [2000] +0x875A U+2166 # ROMAN NUMERAL SEVEN [2000] +0x875B U+2167 # ROMAN NUMERAL EIGHT [2000] +0x875C U+2168 # ROMAN NUMERAL NINE [2000] +0x875D U+2169 # ROMAN NUMERAL TEN [2000] +0x875E U+216A # ROMAN NUMERAL ELEVEN [2000] +0x875F U+3349 # SQUARE MIRI [2000] +0x8760 U+3314 # SQUARE KIRO [2000] +0x8761 U+3322 # SQUARE SENTI [2000] +0x8762 U+334D # SQUARE MEETORU [2000] +0x8763 U+3318 # SQUARE GURAMU [2000] +0x8764 U+3327 # SQUARE TON [2000] +0x8765 U+3303 # SQUARE AARU [2000] +0x8766 U+3336 # SQUARE HEKUTAARU [2000] +0x8767 U+3351 # SQUARE RITTORU [2000] +0x8768 U+3357 # SQUARE WATTO [2000] +0x8769 U+330D # SQUARE KARORII [2000] +0x876A U+3326 # SQUARE DORU [2000] +0x876B U+3323 # SQUARE SENTO [2000] +0x876C U+332B # SQUARE PAASENTO [2000] +0x876D U+334A # SQUARE MIRIBAARU [2000] +0x876E U+333B # SQUARE PEEZI [2000] +0x876F U+339C # SQUARE MM [2000] +0x8770 U+339D # SQUARE CM [2000] +0x8771 U+339E # SQUARE KM [2000] +0x8772 U+338E # SQUARE MG [2000] +0x8773 U+338F # SQUARE KG [2000] +0x8774 U+33C4 # SQUARE CC [2000] +0x8775 U+33A1 # SQUARE M SQUARED [2000] +0x8776 U+216B # ROMAN NUMERAL TWELVE [2000] +0x8777 # +0x8778 # +0x8779 # +0x877A # +0x877B # +0x877C # +0x877D # +0x877E U+337B # SQUARE ERA NAME HEISEI [2000] +0x8780 U+301D # REVERSED DOUBLE PRIME QUOTATION MARK [2000] +0x8781 U+301F # LOW DOUBLE PRIME QUOTATION MARK [2000] +0x8782 U+2116 # NUMERO SIGN [2000] +0x8783 U+33CD # SQUARE KK [2000] +0x8784 U+2121 # TELEPHONE SIGN [2000] +0x8785 U+32A4 # CIRCLED IDEOGRAPH HIGH [2000] +0x8786 U+32A5 # CIRCLED IDEOGRAPH CENTRE [2000] +0x8787 U+32A6 # CIRCLED IDEOGRAPH LOW [2000] +0x8788 U+32A7 # CIRCLED IDEOGRAPH LEFT [2000] +0x8789 U+32A8 # CIRCLED IDEOGRAPH RIGHT [2000] +0x878A U+3231 # PARENTHESIZED IDEOGRAPH STOCK [2000] +0x878B U+3232 # PARENTHESIZED IDEOGRAPH HAVE [2000] +0x878C U+3239 # PARENTHESIZED IDEOGRAPH REPRESENT [2000] +0x878D U+337E # SQUARE ERA NAME MEIZI [2000] +0x878E U+337D # SQUARE ERA NAME TAISYOU [2000] +0x878F U+337C # SQUARE ERA NAME SYOUWA [2000] +0x8790 # Windows: U+2252 +0x8791 # Windows: U+2261 +0x8792 # Windows: U+222B +0x8793 U+222E # CONTOUR INTEGRAL [2000] +0x8794 # Windows: U+2211 +0x8795 # Windows: U+221A +0x8796 # Windows: U+22A5 +0x8797 # Windows: U+2220 +0x8798 U+221F # RIGHT ANGLE [2000] +0x8799 U+22BF # RIGHT TRIANGLE [2000] +0x879A # Windows: U+2235 +0x879B # Windows: U+2229 +0x879C # Windows: U+222A +0x879D U+2756 # BLACK DIAMOND MINUS WHITE X [2000] +0x879E U+261E # WHITE RIGHT POINTING INDEX [2000] +0x879F U+4FF1 # [2004] +0x87A0 U+2000B # [2000] [Unicode3.1] +0x87A1 U+3402 # [2000] +0x87A2 U+4E28 # [2000] +0x87A3 U+4E2F # [2000] +0x87A4 U+4E30 # [2000] +0x87A5 U+4E8D # [2000] +0x87A6 U+4EE1 # [2000] +0x87A7 U+4EFD # [2000] +0x87A8 U+4EFF # [2000] +0x87A9 U+4F03 # [2000] +0x87AA U+4F0B # [2000] +0x87AB U+4F60 # [2000] +0x87AC U+4F48 # [2000] +0x87AD U+4F49 # [2000] +0x87AE U+4F56 # [2000] +0x87AF U+4F5F # [2000] +0x87B0 U+4F6A # [2000] +0x87B1 U+4F6C # [2000] +0x87B2 U+4F7E # [2000] +0x87B3 U+4F8A # [2000] +0x87B4 U+4F94 # [2000] +0x87B5 U+4F97 # [2000] +0x87B6 U+FA30 # CJK COMPATIBILITY IDEOGRAPH-FA30 [2000] [Unicode3.2] +0x87B7 U+4FC9 # [2000] +0x87B8 U+4FE0 # [2000] +0x87B9 U+5001 # [2000] +0x87BA U+5002 # [2000] +0x87BB U+500E # [2000] +0x87BC U+5018 # [2000] +0x87BD U+5027 # [2000] +0x87BE U+502E # [2000] +0x87BF U+5040 # [2000] +0x87C0 U+503B # [2000] +0x87C1 U+5041 # [2000] +0x87C2 U+5094 # [2000] +0x87C3 U+50CC # [2000] +0x87C4 U+50F2 # [2000] +0x87C5 U+50D0 # [2000] +0x87C6 U+50E6 # [2000] +0x87C7 U+FA31 # CJK COMPATIBILITY IDEOGRAPH-FA31 [2000] [Unicode3.2] +0x87C8 U+5106 # [2000] +0x87C9 U+5103 # [2000] +0x87CA U+510B # [2000] +0x87CB U+511E # [2000] +0x87CC U+5135 # [2000] +0x87CD U+514A # [2000] +0x87CE U+FA32 # CJK COMPATIBILITY IDEOGRAPH-FA32 [2000] [Unicode3.2] +0x87CF U+5155 # [2000] +0x87D0 U+5157 # [2000] +0x87D1 U+34B5 # [2000] +0x87D2 U+519D # [2000] +0x87D3 U+51C3 # [2000] +0x87D4 U+51CA # [2000] +0x87D5 U+51DE # [2000] +0x87D6 U+51E2 # [2000] +0x87D7 U+51EE # [2000] +0x87D8 U+5201 # [2000] +0x87D9 U+34DB # [2000] +0x87DA U+5213 # [2000] +0x87DB U+5215 # [2000] +0x87DC U+5249 # [2000] +0x87DD U+5257 # [2000] +0x87DE U+5261 # [2000] +0x87DF U+5293 # [2000] +0x87E0 U+52C8 # [2000] +0x87E1 U+FA33 # CJK COMPATIBILITY IDEOGRAPH-FA33 [2000] [Unicode3.2] +0x87E2 U+52CC # [2000] +0x87E3 U+52D0 # [2000] +0x87E4 U+52D6 # [2000] +0x87E5 U+52DB # [2000] +0x87E6 U+FA34 # CJK COMPATIBILITY IDEOGRAPH-FA34 [2000] [Unicode3.2] +0x87E7 U+52F0 # [2000] +0x87E8 U+52FB # [2000] +0x87E9 U+5300 # [2000] +0x87EA U+5307 # [2000] +0x87EB U+531C # [2000] +0x87EC U+FA35 # CJK COMPATIBILITY IDEOGRAPH-FA35 [2000] [Unicode3.2] +0x87ED U+5361 # [2000] +0x87EE U+5363 # [2000] +0x87EF U+537D # [2000] +0x87F0 U+5393 # [2000] +0x87F1 U+539D # [2000] +0x87F2 U+53B2 # [2000] +0x87F3 U+5412 # [2000] +0x87F4 U+5427 # [2000] +0x87F5 U+544D # [2000] +0x87F6 U+549C # [2000] +0x87F7 U+546B # [2000] +0x87F8 U+5474 # [2000] +0x87F9 U+547F # [2000] +0x87FA U+5488 # [2000] +0x87FB U+5496 # [2000] +0x87FC U+54A1 # [2000] +0x8840 U+54A9 # [2000] +0x8841 U+54C6 # [2000] +0x8842 U+54FF # [2000] +0x8843 U+550E # [2000] +0x8844 U+552B # [2000] +0x8845 U+5535 # [2000] +0x8846 U+5550 # [2000] +0x8847 U+555E # [2000] +0x8848 U+5581 # [2000] +0x8849 U+5586 # [2000] +0x884A U+558E # [2000] +0x884B U+FA36 # CJK COMPATIBILITY IDEOGRAPH-FA36 [2000] [Unicode3.2] +0x884C U+55AD # [2000] +0x884D U+55CE # [2000] +0x884E U+FA37 # CJK COMPATIBILITY IDEOGRAPH-FA37 [2000] [Unicode3.2] +0x884F U+5608 # [2000] +0x8850 U+560E # [2000] +0x8851 U+563B # [2000] +0x8852 U+5649 # [2000] +0x8853 U+5676 # [2000] +0x8854 U+5666 # [2000] +0x8855 U+FA38 # CJK COMPATIBILITY IDEOGRAPH-FA38 [2000] [Unicode3.2] +0x8856 U+566F # [2000] +0x8857 U+5671 # [2000] +0x8858 U+5672 # [2000] +0x8859 U+5699 # [2000] +0x885A U+569E # [2000] +0x885B U+56A9 # [2000] +0x885C U+56AC # [2000] +0x885D U+56B3 # [2000] +0x885E U+56C9 # [2000] +0x885F U+56CA # [2000] +0x8860 U+570A # [2000] +0x8861 U+2123D # [2000] [Unicode3.1] +0x8862 U+5721 # [2000] +0x8863 U+572F # [2000] +0x8864 U+5733 # [2000] +0x8865 U+5734 # [2000] +0x8866 U+5770 # [2000] +0x8867 U+5777 # [2000] +0x8868 U+577C # [2000] +0x8869 U+579C # [2000] +0x886A U+FA0F # CJK COMPATIBILITY IDEOGRAPH-FA0F [2000] +0x886B U+2131B # [2000] [Unicode3.1] +0x886C U+57B8 # [2000] +0x886D U+57C7 # [2000] +0x886E U+57C8 # [2000] +0x886F U+57CF # [2000] +0x8870 U+57E4 # [2000] +0x8871 U+57ED # [2000] +0x8872 U+57F5 # [2000] +0x8873 U+57F6 # [2000] +0x8874 U+57FF # [2000] +0x8875 U+5809 # [2000] +0x8876 U+FA10 # CJK COMPATIBILITY IDEOGRAPH-FA10 [2000] +0x8877 U+5861 # [2000] +0x8878 U+5864 # [2000] +0x8879 U+FA39 # CJK COMPATIBILITY IDEOGRAPH-FA39 [2000] [Unicode3.2] +0x887A U+587C # [2000] +0x887B U+5889 # [2000] +0x887C U+589E # [2000] +0x887D U+FA3A # CJK COMPATIBILITY IDEOGRAPH-FA3A [2000] [Unicode3.2] +0x887E U+58A9 # [2000] +0x8880 U+2146E # [2000] [Unicode3.1] +0x8881 U+58D2 # [2000] +0x8882 U+58CE # [2000] +0x8883 U+58D4 # [2000] +0x8884 U+58DA # [2000] +0x8885 U+58E0 # [2000] +0x8886 U+58E9 # [2000] +0x8887 U+590C # [2000] +0x8888 U+8641 # [2000] +0x8889 U+595D # [2000] +0x888A U+596D # [2000] +0x888B U+598B # [2000] +0x888C U+5992 # [2000] +0x888D U+59A4 # [2000] +0x888E U+59C3 # [2000] +0x888F U+59D2 # [2000] +0x8890 U+59DD # [2000] +0x8891 U+5A13 # [2000] +0x8892 U+5A23 # [2000] +0x8893 U+5A67 # [2000] +0x8894 U+5A6D # [2000] +0x8895 U+5A77 # [2000] +0x8896 U+5A7E # [2000] +0x8897 U+5A84 # [2000] +0x8898 U+5A9E # [2000] +0x8899 U+5AA7 # [2000] +0x889A U+5AC4 # [2000] +0x889B U+218BD # [2000] [Unicode3.1] +0x889C U+5B19 # [2000] +0x889D U+5B25 # [2000] +0x889E U+525D # [2004] +0x889F U+4E9C # +0x88A0 U+5516 # +0x88A1 U+5A03 # +0x88A2 U+963F # +0x88A3 U+54C0 # +0x88A4 U+611B # +0x88A5 U+6328 # +0x88A6 U+59F6 # +0x88A7 U+9022 # +0x88A8 U+8475 # +0x88A9 U+831C # +0x88AA U+7A50 # +0x88AB U+60AA # +0x88AC U+63E1 # +0x88AD U+6E25 # +0x88AE U+65ED # +0x88AF U+8466 # +0x88B0 U+82A6 # +0x88B1 U+9BF5 # +0x88B2 U+6893 # +0x88B3 U+5727 # +0x88B4 U+65A1 # +0x88B5 U+6271 # +0x88B6 U+5B9B # +0x88B7 U+59D0 # +0x88B8 U+867B # +0x88B9 U+98F4 # +0x88BA U+7D62 # +0x88BB U+7DBE # +0x88BC U+9B8E # +0x88BD U+6216 # +0x88BE U+7C9F # +0x88BF U+88B7 # +0x88C0 U+5B89 # +0x88C1 U+5EB5 # +0x88C2 U+6309 # +0x88C3 U+6697 # +0x88C4 U+6848 # +0x88C5 U+95C7 # +0x88C6 U+978D # +0x88C7 U+674F # +0x88C8 U+4EE5 # +0x88C9 U+4F0A # +0x88CA U+4F4D # +0x88CB U+4F9D # +0x88CC U+5049 # +0x88CD U+56F2 # +0x88CE U+5937 # +0x88CF U+59D4 # +0x88D0 U+5A01 # +0x88D1 U+5C09 # +0x88D2 U+60DF # +0x88D3 U+610F # +0x88D4 U+6170 # +0x88D5 U+6613 # +0x88D6 U+6905 # +0x88D7 U+70BA # +0x88D8 U+754F # +0x88D9 U+7570 # +0x88DA U+79FB # +0x88DB U+7DAD # +0x88DC U+7DEF # +0x88DD U+80C3 # +0x88DE U+840E # +0x88DF U+8863 # +0x88E0 U+8B02 # +0x88E1 U+9055 # +0x88E2 U+907A # +0x88E3 U+533B # +0x88E4 U+4E95 # +0x88E5 U+4EA5 # +0x88E6 U+57DF # +0x88E7 U+80B2 # +0x88E8 U+90C1 # +0x88E9 U+78EF # +0x88EA U+4E00 # +0x88EB U+58F1 # +0x88EC U+6EA2 # +0x88ED U+9038 # +0x88EE U+7A32 # +0x88EF U+8328 # +0x88F0 U+828B # +0x88F1 U+9C2F # +0x88F2 U+5141 # +0x88F3 U+5370 # +0x88F4 U+54BD # +0x88F5 U+54E1 # +0x88F6 U+56E0 # +0x88F7 U+59FB # +0x88F8 U+5F15 # +0x88F9 U+98F2 # +0x88FA U+6DEB # +0x88FB U+80E4 # +0x88FC U+852D # +0x8940 U+9662 # +0x8941 U+9670 # +0x8942 U+96A0 # +0x8943 U+97FB # +0x8944 U+540B # +0x8945 U+53F3 # +0x8946 U+5B87 # +0x8947 U+70CF # +0x8948 U+7FBD # +0x8949 U+8FC2 # +0x894A U+96E8 # +0x894B U+536F # +0x894C U+9D5C # +0x894D U+7ABA # +0x894E U+4E11 # +0x894F U+7893 # +0x8950 U+81FC # +0x8951 U+6E26 # +0x8952 U+5618 # +0x8953 U+5504 # +0x8954 U+6B1D # +0x8955 U+851A # +0x8956 U+9C3B # +0x8957 U+59E5 # +0x8958 U+53A9 # +0x8959 U+6D66 # +0x895A U+74DC # +0x895B U+958F # +0x895C U+5642 # +0x895D U+4E91 # +0x895E U+904B # +0x895F U+96F2 # +0x8960 U+834F # +0x8961 U+990C # +0x8962 U+53E1 # +0x8963 U+55B6 # +0x8964 U+5B30 # +0x8965 U+5F71 # +0x8966 U+6620 # +0x8967 U+66F3 # +0x8968 U+6804 # +0x8969 U+6C38 # +0x896A U+6CF3 # +0x896B U+6D29 # +0x896C U+745B # +0x896D U+76C8 # +0x896E U+7A4E # +0x896F U+9834 # +0x8970 U+82F1 # +0x8971 U+885B # +0x8972 U+8A60 # +0x8973 U+92ED # +0x8974 U+6DB2 # +0x8975 U+75AB # +0x8976 U+76CA # +0x8977 U+99C5 # +0x8978 U+60A6 # +0x8979 U+8B01 # +0x897A U+8D8A # +0x897B U+95B2 # +0x897C U+698E # +0x897D U+53AD # +0x897E U+5186 # +0x8980 U+5712 # +0x8981 U+5830 # +0x8982 U+5944 # +0x8983 U+5BB4 # +0x8984 U+5EF6 # +0x8985 U+6028 # +0x8986 U+63A9 # +0x8987 U+63F4 # +0x8988 U+6CBF # +0x8989 U+6F14 # +0x898A U+708E # +0x898B U+7114 # +0x898C U+7159 # +0x898D U+71D5 # +0x898E U+733F # +0x898F U+7E01 # +0x8990 U+8276 # +0x8991 U+82D1 # +0x8992 U+8597 # +0x8993 U+9060 # +0x8994 U+925B # +0x8995 U+9D1B # +0x8996 U+5869 # +0x8997 U+65BC # +0x8998 U+6C5A # +0x8999 U+7525 # +0x899A U+51F9 # +0x899B U+592E # +0x899C U+5965 # +0x899D U+5F80 # +0x899E U+5FDC # +0x899F U+62BC # +0x89A0 U+65FA # +0x89A1 U+6A2A # +0x89A2 U+6B27 # +0x89A3 U+6BB4 # +0x89A4 U+738B # +0x89A5 U+7FC1 # +0x89A6 U+8956 # +0x89A7 U+9D2C # +0x89A8 U+9D0E # +0x89A9 U+9EC4 # +0x89AA U+5CA1 # +0x89AB U+6C96 # +0x89AC U+837B # +0x89AD U+5104 # +0x89AE U+5C4B # +0x89AF U+61B6 # +0x89B0 U+81C6 # +0x89B1 U+6876 # +0x89B2 U+7261 # +0x89B3 U+4E59 # +0x89B4 U+4FFA # +0x89B5 U+5378 # +0x89B6 U+6069 # +0x89B7 U+6E29 # +0x89B8 U+7A4F # +0x89B9 U+97F3 # +0x89BA U+4E0B # +0x89BB U+5316 # +0x89BC U+4EEE # +0x89BD U+4F55 # +0x89BE U+4F3D # +0x89BF U+4FA1 # +0x89C0 U+4F73 # +0x89C1 U+52A0 # +0x89C2 U+53EF # +0x89C3 U+5609 # +0x89C4 U+590F # +0x89C5 U+5AC1 # +0x89C6 U+5BB6 # +0x89C7 U+5BE1 # +0x89C8 U+79D1 # +0x89C9 U+6687 # +0x89CA U+679C # +0x89CB U+67B6 # +0x89CC U+6B4C # +0x89CD U+6CB3 # +0x89CE U+706B # +0x89CF U+73C2 # +0x89D0 U+798D # +0x89D1 U+79BE # +0x89D2 U+7A3C # +0x89D3 U+7B87 # +0x89D4 U+82B1 # +0x89D5 U+82DB # +0x89D6 U+8304 # +0x89D7 U+8377 # +0x89D8 U+83EF # +0x89D9 U+83D3 # +0x89DA U+8766 # +0x89DB U+8AB2 # +0x89DC U+5629 # +0x89DD U+8CA8 # +0x89DE U+8FE6 # +0x89DF U+904E # +0x89E0 U+971E # +0x89E1 U+868A # +0x89E2 U+4FC4 # +0x89E3 U+5CE8 # +0x89E4 U+6211 # +0x89E5 U+7259 # +0x89E6 U+753B # +0x89E7 U+81E5 # +0x89E8 U+82BD # +0x89E9 U+86FE # +0x89EA U+8CC0 # +0x89EB U+96C5 # +0x89EC U+9913 # +0x89ED U+99D5 # +0x89EE U+4ECB # +0x89EF U+4F1A # +0x89F0 U+89E3 # +0x89F1 U+56DE # +0x89F2 U+584A # +0x89F3 U+58CA # +0x89F4 U+5EFB # +0x89F5 U+5FEB # +0x89F6 U+602A # +0x89F7 U+6094 # +0x89F8 U+6062 # +0x89F9 U+61D0 # +0x89FA U+6212 # +0x89FB U+62D0 # +0x89FC U+6539 # +0x8A40 U+9B41 # +0x8A41 U+6666 # +0x8A42 U+68B0 # +0x8A43 U+6D77 # +0x8A44 U+7070 # +0x8A45 U+754C # +0x8A46 U+7686 # +0x8A47 U+7D75 # +0x8A48 U+82A5 # +0x8A49 U+87F9 # +0x8A4A U+958B # +0x8A4B U+968E # +0x8A4C U+8C9D # +0x8A4D U+51F1 # +0x8A4E U+52BE # +0x8A4F U+5916 # +0x8A50 U+54B3 # +0x8A51 U+5BB3 # +0x8A52 U+5D16 # +0x8A53 U+6168 # +0x8A54 U+6982 # +0x8A55 U+6DAF # +0x8A56 U+788D # +0x8A57 U+84CB # +0x8A58 U+8857 # +0x8A59 U+8A72 # +0x8A5A U+93A7 # +0x8A5B U+9AB8 # +0x8A5C U+6D6C # +0x8A5D U+99A8 # +0x8A5E U+86D9 # +0x8A5F U+57A3 # +0x8A60 U+67FF # +0x8A61 U+86CE # +0x8A62 U+920E # +0x8A63 U+5283 # +0x8A64 U+5687 # +0x8A65 U+5404 # +0x8A66 U+5ED3 # +0x8A67 U+62E1 # +0x8A68 U+64B9 # +0x8A69 U+683C # +0x8A6A U+6838 # +0x8A6B U+6BBB # +0x8A6C U+7372 # +0x8A6D U+78BA # +0x8A6E U+7A6B # +0x8A6F U+899A # +0x8A70 U+89D2 # +0x8A71 U+8D6B # +0x8A72 U+8F03 # +0x8A73 U+90ED # +0x8A74 U+95A3 # +0x8A75 U+9694 # +0x8A76 U+9769 # +0x8A77 U+5B66 # +0x8A78 U+5CB3 # +0x8A79 U+697D # +0x8A7A U+984D # +0x8A7B U+984E # +0x8A7C U+639B # +0x8A7D U+7B20 # +0x8A7E U+6A2B # +0x8A80 U+6A7F # +0x8A81 U+68B6 # +0x8A82 U+9C0D # +0x8A83 U+6F5F # +0x8A84 U+5272 # +0x8A85 U+559D # +0x8A86 U+6070 # +0x8A87 U+62EC # +0x8A88 U+6D3B # +0x8A89 U+6E07 # +0x8A8A U+6ED1 # +0x8A8B U+845B # +0x8A8C U+8910 # +0x8A8D U+8F44 # +0x8A8E U+4E14 # +0x8A8F U+9C39 # +0x8A90 U+53F6 # +0x8A91 U+691B # +0x8A92 U+6A3A # +0x8A93 U+9784 # +0x8A94 U+682A # +0x8A95 U+515C # +0x8A96 U+7AC3 # +0x8A97 U+84B2 # +0x8A98 U+91DC # +0x8A99 U+938C # +0x8A9A U+565B # +0x8A9B U+9D28 # +0x8A9C U+6822 # +0x8A9D U+8305 # +0x8A9E U+8431 # +0x8A9F U+7CA5 # +0x8AA0 U+5208 # +0x8AA1 U+82C5 # +0x8AA2 U+74E6 # +0x8AA3 U+4E7E # +0x8AA4 U+4F83 # +0x8AA5 U+51A0 # +0x8AA6 U+5BD2 # +0x8AA7 U+520A # +0x8AA8 U+52D8 # +0x8AA9 U+52E7 # +0x8AAA U+5DFB # +0x8AAB U+559A # +0x8AAC U+582A # +0x8AAD U+59E6 # +0x8AAE U+5B8C # +0x8AAF U+5B98 # +0x8AB0 U+5BDB # +0x8AB1 U+5E72 # +0x8AB2 U+5E79 # +0x8AB3 U+60A3 # +0x8AB4 U+611F # +0x8AB5 U+6163 # +0x8AB6 U+61BE # +0x8AB7 U+63DB # +0x8AB8 U+6562 # +0x8AB9 U+67D1 # +0x8ABA U+6853 # +0x8ABB U+68FA # +0x8ABC U+6B3E # +0x8ABD U+6B53 # +0x8ABE U+6C57 # +0x8ABF U+6F22 # +0x8AC0 U+6F97 # +0x8AC1 U+6F45 # +0x8AC2 U+74B0 # +0x8AC3 U+7518 # +0x8AC4 U+76E3 # +0x8AC5 U+770B # +0x8AC6 U+7AFF # +0x8AC7 U+7BA1 # +0x8AC8 U+7C21 # +0x8AC9 U+7DE9 # +0x8ACA U+7F36 # +0x8ACB U+7FF0 # +0x8ACC U+809D # +0x8ACD U+8266 # +0x8ACE U+839E # +0x8ACF U+89B3 # +0x8AD0 U+8ACC # +0x8AD1 U+8CAB # +0x8AD2 U+9084 # +0x8AD3 U+9451 # +0x8AD4 U+9593 # +0x8AD5 U+9591 # +0x8AD6 U+95A2 # +0x8AD7 U+9665 # +0x8AD8 U+97D3 # +0x8AD9 U+9928 # +0x8ADA U+8218 # +0x8ADB U+4E38 # +0x8ADC U+542B # +0x8ADD U+5CB8 # +0x8ADE U+5DCC # +0x8ADF U+73A9 # +0x8AE0 U+764C # +0x8AE1 U+773C # +0x8AE2 U+5CA9 # +0x8AE3 U+7FEB # +0x8AE4 U+8D0B # +0x8AE5 U+96C1 # +0x8AE6 U+9811 # +0x8AE7 U+9854 # +0x8AE8 U+9858 # +0x8AE9 U+4F01 # +0x8AEA U+4F0E # +0x8AEB U+5371 # +0x8AEC U+559C # +0x8AED U+5668 # +0x8AEE U+57FA # +0x8AEF U+5947 # +0x8AF0 U+5B09 # +0x8AF1 U+5BC4 # +0x8AF2 U+5C90 # +0x8AF3 U+5E0C # +0x8AF4 U+5E7E # +0x8AF5 U+5FCC # +0x8AF6 U+63EE # +0x8AF7 U+673A # +0x8AF8 U+65D7 # +0x8AF9 U+65E2 # +0x8AFA U+671F # +0x8AFB U+68CB # +0x8AFC U+68C4 # +0x8B40 U+6A5F # +0x8B41 U+5E30 # +0x8B42 U+6BC5 # +0x8B43 U+6C17 # +0x8B44 U+6C7D # +0x8B45 U+757F # +0x8B46 U+7948 # +0x8B47 U+5B63 # +0x8B48 U+7A00 # +0x8B49 U+7D00 # +0x8B4A U+5FBD # +0x8B4B U+898F # +0x8B4C U+8A18 # +0x8B4D U+8CB4 # +0x8B4E U+8D77 # +0x8B4F U+8ECC # +0x8B50 U+8F1D # +0x8B51 U+98E2 # +0x8B52 U+9A0E # +0x8B53 U+9B3C # +0x8B54 U+4E80 # +0x8B55 U+507D # +0x8B56 U+5100 # +0x8B57 U+5993 # +0x8B58 U+5B9C # +0x8B59 U+622F # +0x8B5A U+6280 # +0x8B5B U+64EC # +0x8B5C U+6B3A # +0x8B5D U+72A0 # +0x8B5E U+7591 # +0x8B5F U+7947 # +0x8B60 U+7FA9 # +0x8B61 U+87FB # +0x8B62 U+8ABC # +0x8B63 U+8B70 # +0x8B64 U+63AC # +0x8B65 U+83CA # +0x8B66 U+97A0 # +0x8B67 U+5409 # +0x8B68 U+5403 # +0x8B69 U+55AB # +0x8B6A U+6854 # +0x8B6B U+6A58 # +0x8B6C U+8A70 # +0x8B6D U+7827 # +0x8B6E U+6775 # +0x8B6F U+9ECD # +0x8B70 U+5374 # +0x8B71 U+5BA2 # +0x8B72 U+811A # +0x8B73 U+8650 # +0x8B74 U+9006 # +0x8B75 U+4E18 # +0x8B76 U+4E45 # +0x8B77 U+4EC7 # +0x8B78 U+4F11 # +0x8B79 U+53CA # +0x8B7A U+5438 # +0x8B7B U+5BAE # +0x8B7C U+5F13 # +0x8B7D U+6025 # +0x8B7E U+6551 # +0x8B80 U+673D # +0x8B81 U+6C42 # +0x8B82 U+6C72 # +0x8B83 U+6CE3 # +0x8B84 U+7078 # +0x8B85 U+7403 # +0x8B86 U+7A76 # +0x8B87 U+7AAE # +0x8B88 U+7B08 # +0x8B89 U+7D1A # +0x8B8A U+7CFE # +0x8B8B U+7D66 # +0x8B8C U+65E7 # +0x8B8D U+725B # +0x8B8E U+53BB # +0x8B8F U+5C45 # +0x8B90 U+5DE8 # +0x8B91 U+62D2 # +0x8B92 U+62E0 # +0x8B93 U+6319 # +0x8B94 U+6E20 # +0x8B95 U+865A # +0x8B96 U+8A31 # +0x8B97 U+8DDD # +0x8B98 U+92F8 # +0x8B99 U+6F01 # +0x8B9A U+79A6 # +0x8B9B U+9B5A # +0x8B9C U+4EA8 # +0x8B9D U+4EAB # +0x8B9E U+4EAC # +0x8B9F U+4F9B # +0x8BA0 U+4FA0 # +0x8BA1 U+50D1 # +0x8BA2 U+5147 # +0x8BA3 U+7AF6 # +0x8BA4 U+5171 # +0x8BA5 U+51F6 # +0x8BA6 U+5354 # +0x8BA7 U+5321 # +0x8BA8 U+537F # +0x8BA9 U+53EB # +0x8BAA U+55AC # +0x8BAB U+5883 # +0x8BAC U+5CE1 # +0x8BAD U+5F37 # +0x8BAE U+5F4A # +0x8BAF U+602F # +0x8BB0 U+6050 # +0x8BB1 U+606D # +0x8BB2 U+631F # +0x8BB3 U+6559 # +0x8BB4 U+6A4B # +0x8BB5 U+6CC1 # +0x8BB6 U+72C2 # +0x8BB7 U+72ED # +0x8BB8 U+77EF # +0x8BB9 U+80F8 # +0x8BBA U+8105 # +0x8BBB U+8208 # +0x8BBC U+854E # +0x8BBD U+90F7 # +0x8BBE U+93E1 # +0x8BBF U+97FF # +0x8BC0 U+9957 # +0x8BC1 U+9A5A # +0x8BC2 U+4EF0 # +0x8BC3 U+51DD # +0x8BC4 U+5C2D # +0x8BC5 U+6681 # +0x8BC6 U+696D # +0x8BC7 U+5C40 # +0x8BC8 U+66F2 # +0x8BC9 U+6975 # +0x8BCA U+7389 # +0x8BCB U+6850 # +0x8BCC U+7C81 # +0x8BCD U+50C5 # +0x8BCE U+52E4 # +0x8BCF U+5747 # +0x8BD0 U+5DFE # +0x8BD1 U+9326 # +0x8BD2 U+65A4 # +0x8BD3 U+6B23 # +0x8BD4 U+6B3D # +0x8BD5 U+7434 # +0x8BD6 U+7981 # +0x8BD7 U+79BD # +0x8BD8 U+7B4B # +0x8BD9 U+7DCA # +0x8BDA U+82B9 # +0x8BDB U+83CC # +0x8BDC U+887F # +0x8BDD U+895F # +0x8BDE U+8B39 # +0x8BDF U+8FD1 # +0x8BE0 U+91D1 # +0x8BE1 U+541F # +0x8BE2 U+9280 # +0x8BE3 U+4E5D # +0x8BE4 U+5036 # +0x8BE5 U+53E5 # +0x8BE6 U+533A # +0x8BE7 U+72D7 # +0x8BE8 U+7396 # +0x8BE9 U+77E9 # +0x8BEA U+82E6 # +0x8BEB U+8EAF # +0x8BEC U+99C6 # +0x8BED U+99C8 # +0x8BEE U+99D2 # +0x8BEF U+5177 # +0x8BF0 U+611A # +0x8BF1 U+865E # +0x8BF2 U+55B0 # +0x8BF3 U+7A7A # +0x8BF4 U+5076 # +0x8BF5 U+5BD3 # +0x8BF6 U+9047 # +0x8BF7 U+9685 # +0x8BF8 U+4E32 # +0x8BF9 U+6ADB # +0x8BFA U+91E7 # +0x8BFB U+5C51 # +0x8BFC U+5C48 # +0x8C40 U+6398 # +0x8C41 U+7A9F # +0x8C42 U+6C93 # +0x8C43 U+9774 # +0x8C44 U+8F61 # +0x8C45 U+7AAA # +0x8C46 U+718A # +0x8C47 U+9688 # +0x8C48 U+7C82 # +0x8C49 U+6817 # +0x8C4A U+7E70 # +0x8C4B U+6851 # +0x8C4C U+936C # +0x8C4D U+52F2 # +0x8C4E U+541B # +0x8C4F U+85AB # +0x8C50 U+8A13 # +0x8C51 U+7FA4 # +0x8C52 U+8ECD # +0x8C53 U+90E1 # +0x8C54 U+5366 # +0x8C55 U+8888 # +0x8C56 U+7941 # +0x8C57 U+4FC2 # +0x8C58 U+50BE # +0x8C59 U+5211 # +0x8C5A U+5144 # +0x8C5B U+5553 # +0x8C5C U+572D # +0x8C5D U+73EA # +0x8C5E U+578B # +0x8C5F U+5951 # +0x8C60 U+5F62 # +0x8C61 U+5F84 # +0x8C62 U+6075 # +0x8C63 U+6176 # +0x8C64 U+6167 # +0x8C65 U+61A9 # +0x8C66 U+63B2 # +0x8C67 U+643A # +0x8C68 U+656C # +0x8C69 U+666F # +0x8C6A U+6842 # +0x8C6B U+6E13 # +0x8C6C U+7566 # +0x8C6D U+7A3D # +0x8C6E U+7CFB # +0x8C6F U+7D4C # +0x8C70 U+7D99 # +0x8C71 U+7E4B # +0x8C72 U+7F6B # +0x8C73 U+830E # +0x8C74 U+834A # +0x8C75 U+86CD # +0x8C76 U+8A08 # +0x8C77 U+8A63 # +0x8C78 U+8B66 # +0x8C79 U+8EFD # +0x8C7A U+981A # +0x8C7B U+9D8F # +0x8C7C U+82B8 # +0x8C7D U+8FCE # +0x8C7E U+9BE8 # +0x8C80 U+5287 # +0x8C81 U+621F # +0x8C82 U+6483 # +0x8C83 U+6FC0 # +0x8C84 U+9699 # +0x8C85 U+6841 # +0x8C86 U+5091 # +0x8C87 U+6B20 # +0x8C88 U+6C7A # +0x8C89 U+6F54 # +0x8C8A U+7A74 # +0x8C8B U+7D50 # +0x8C8C U+8840 # +0x8C8D U+8A23 # +0x8C8E U+6708 # +0x8C8F U+4EF6 # +0x8C90 U+5039 # +0x8C91 U+5026 # +0x8C92 U+5065 # +0x8C93 U+517C # +0x8C94 U+5238 # +0x8C95 U+5263 # +0x8C96 U+55A7 # +0x8C97 U+570F # +0x8C98 U+5805 # +0x8C99 U+5ACC # +0x8C9A U+5EFA # +0x8C9B U+61B2 # +0x8C9C U+61F8 # +0x8C9D U+62F3 # +0x8C9E U+6372 # +0x8C9F U+691C # +0x8CA0 U+6A29 # +0x8CA1 U+727D # +0x8CA2 U+72AC # +0x8CA3 U+732E # +0x8CA4 U+7814 # +0x8CA5 U+786F # +0x8CA6 U+7D79 # +0x8CA7 U+770C # +0x8CA8 U+80A9 # +0x8CA9 U+898B # +0x8CAA U+8B19 # +0x8CAB U+8CE2 # +0x8CAC U+8ED2 # +0x8CAD U+9063 # +0x8CAE U+9375 # +0x8CAF U+967A # +0x8CB0 U+9855 # +0x8CB1 U+9A13 # +0x8CB2 U+9E78 # +0x8CB3 U+5143 # +0x8CB4 U+539F # +0x8CB5 U+53B3 # +0x8CB6 U+5E7B # +0x8CB7 U+5F26 # +0x8CB8 U+6E1B # +0x8CB9 U+6E90 # +0x8CBA U+7384 # +0x8CBB U+73FE # +0x8CBC U+7D43 # +0x8CBD U+8237 # +0x8CBE U+8A00 # +0x8CBF U+8AFA # +0x8CC0 U+9650 # +0x8CC1 U+4E4E # +0x8CC2 U+500B # +0x8CC3 U+53E4 # +0x8CC4 U+547C # +0x8CC5 U+56FA # +0x8CC6 U+59D1 # +0x8CC7 U+5B64 # +0x8CC8 U+5DF1 # +0x8CC9 U+5EAB # +0x8CCA U+5F27 # +0x8CCB U+6238 # +0x8CCC U+6545 # +0x8CCD U+67AF # +0x8CCE U+6E56 # +0x8CCF U+72D0 # +0x8CD0 U+7CCA # +0x8CD1 U+88B4 # +0x8CD2 U+80A1 # +0x8CD3 U+80E1 # +0x8CD4 U+83F0 # +0x8CD5 U+864E # +0x8CD6 U+8A87 # +0x8CD7 U+8DE8 # +0x8CD8 U+9237 # +0x8CD9 U+96C7 # +0x8CDA U+9867 # +0x8CDB U+9F13 # +0x8CDC U+4E94 # +0x8CDD U+4E92 # +0x8CDE U+4F0D # +0x8CDF U+5348 # +0x8CE0 U+5449 # +0x8CE1 U+543E # +0x8CE2 U+5A2F # +0x8CE3 U+5F8C # +0x8CE4 U+5FA1 # +0x8CE5 U+609F # +0x8CE6 U+68A7 # +0x8CE7 U+6A8E # +0x8CE8 U+745A # +0x8CE9 U+7881 # +0x8CEA U+8A9E # +0x8CEB U+8AA4 # +0x8CEC U+8B77 # +0x8CED U+9190 # +0x8CEE U+4E5E # +0x8CEF U+9BC9 # +0x8CF0 U+4EA4 # +0x8CF1 U+4F7C # +0x8CF2 U+4FAF # +0x8CF3 U+5019 # +0x8CF4 U+5016 # +0x8CF5 U+5149 # +0x8CF6 U+516C # +0x8CF7 U+529F # +0x8CF8 U+52B9 # +0x8CF9 U+52FE # +0x8CFA U+539A # +0x8CFB U+53E3 # +0x8CFC U+5411 # +0x8D40 U+540E # +0x8D41 U+5589 # +0x8D42 U+5751 # +0x8D43 U+57A2 # +0x8D44 U+597D # +0x8D45 U+5B54 # +0x8D46 U+5B5D # +0x8D47 U+5B8F # +0x8D48 U+5DE5 # +0x8D49 U+5DE7 # +0x8D4A U+5DF7 # +0x8D4B U+5E78 # +0x8D4C U+5E83 # +0x8D4D U+5E9A # +0x8D4E U+5EB7 # +0x8D4F U+5F18 # +0x8D50 U+6052 # +0x8D51 U+614C # +0x8D52 U+6297 # +0x8D53 U+62D8 # +0x8D54 U+63A7 # +0x8D55 U+653B # +0x8D56 U+6602 # +0x8D57 U+6643 # +0x8D58 U+66F4 # +0x8D59 U+676D # +0x8D5A U+6821 # +0x8D5B U+6897 # +0x8D5C U+69CB # +0x8D5D U+6C5F # +0x8D5E U+6D2A # +0x8D5F U+6D69 # +0x8D60 U+6E2F # +0x8D61 U+6E9D # +0x8D62 U+7532 # +0x8D63 U+7687 # +0x8D64 U+786C # +0x8D65 U+7A3F # +0x8D66 U+7CE0 # +0x8D67 U+7D05 # +0x8D68 U+7D18 # +0x8D69 U+7D5E # +0x8D6A U+7DB1 # +0x8D6B U+8015 # +0x8D6C U+8003 # +0x8D6D U+80AF # +0x8D6E U+80B1 # +0x8D6F U+8154 # +0x8D70 U+818F # +0x8D71 U+822A # +0x8D72 U+8352 # +0x8D73 U+884C # +0x8D74 U+8861 # +0x8D75 U+8B1B # +0x8D76 U+8CA2 # +0x8D77 U+8CFC # +0x8D78 U+90CA # +0x8D79 U+9175 # +0x8D7A U+9271 # +0x8D7B U+783F # +0x8D7C U+92FC # +0x8D7D U+95A4 # +0x8D7E U+964D # +0x8D80 U+9805 # +0x8D81 U+9999 # +0x8D82 U+9AD8 # +0x8D83 U+9D3B # +0x8D84 U+525B # +0x8D85 U+52AB # +0x8D86 U+53F7 # +0x8D87 U+5408 # +0x8D88 U+58D5 # +0x8D89 U+62F7 # +0x8D8A U+6FE0 # +0x8D8B U+8C6A # +0x8D8C U+8F5F # +0x8D8D U+9EB9 # +0x8D8E U+514B # +0x8D8F U+523B # +0x8D90 U+544A # +0x8D91 U+56FD # +0x8D92 U+7A40 # +0x8D93 U+9177 # +0x8D94 U+9D60 # +0x8D95 U+9ED2 # +0x8D96 U+7344 # +0x8D97 U+6F09 # +0x8D98 U+8170 # +0x8D99 U+7511 # +0x8D9A U+5FFD # +0x8D9B U+60DA # +0x8D9C U+9AA8 # +0x8D9D U+72DB # +0x8D9E U+8FBC # +0x8D9F U+6B64 # +0x8DA0 U+9803 # +0x8DA1 U+4ECA # +0x8DA2 U+56F0 # +0x8DA3 U+5764 # +0x8DA4 U+58BE # +0x8DA5 U+5A5A # +0x8DA6 U+6068 # +0x8DA7 U+61C7 # +0x8DA8 U+660F # +0x8DA9 U+6606 # +0x8DAA U+6839 # +0x8DAB U+68B1 # +0x8DAC U+6DF7 # +0x8DAD U+75D5 # +0x8DAE U+7D3A # +0x8DAF U+826E # +0x8DB0 U+9B42 # +0x8DB1 U+4E9B # +0x8DB2 U+4F50 # +0x8DB3 U+53C9 # +0x8DB4 U+5506 # +0x8DB5 U+5D6F # +0x8DB6 U+5DE6 # +0x8DB7 U+5DEE # +0x8DB8 U+67FB # +0x8DB9 U+6C99 # +0x8DBA U+7473 # +0x8DBB U+7802 # +0x8DBC U+8A50 # +0x8DBD U+9396 # +0x8DBE U+88DF # +0x8DBF U+5750 # +0x8DC0 U+5EA7 # +0x8DC1 U+632B # +0x8DC2 U+50B5 # +0x8DC3 U+50AC # +0x8DC4 U+518D # +0x8DC5 U+6700 # +0x8DC6 U+54C9 # +0x8DC7 U+585E # +0x8DC8 U+59BB # +0x8DC9 U+5BB0 # +0x8DCA U+5F69 # +0x8DCB U+624D # +0x8DCC U+63A1 # +0x8DCD U+683D # +0x8DCE U+6B73 # +0x8DCF U+6E08 # +0x8DD0 U+707D # +0x8DD1 U+91C7 # +0x8DD2 U+7280 # +0x8DD3 U+7815 # +0x8DD4 U+7826 # +0x8DD5 U+796D # +0x8DD6 U+658E # +0x8DD7 U+7D30 # +0x8DD8 U+83DC # +0x8DD9 U+88C1 # +0x8DDA U+8F09 # +0x8DDB U+969B # +0x8DDC U+5264 # +0x8DDD U+5728 # +0x8DDE U+6750 # +0x8DDF U+7F6A # +0x8DE0 U+8CA1 # +0x8DE1 U+51B4 # +0x8DE2 U+5742 # +0x8DE3 U+962A # +0x8DE4 U+583A # +0x8DE5 U+698A # +0x8DE6 U+80B4 # +0x8DE7 U+54B2 # +0x8DE8 U+5D0E # +0x8DE9 U+57FC # +0x8DEA U+7895 # +0x8DEB U+9DFA # +0x8DEC U+4F5C # +0x8DED U+524A # +0x8DEE U+548B # +0x8DEF U+643E # +0x8DF0 U+6628 # +0x8DF1 U+6714 # +0x8DF2 U+67F5 # +0x8DF3 U+7A84 # +0x8DF4 U+7B56 # +0x8DF5 U+7D22 # +0x8DF6 U+932F # +0x8DF7 U+685C # +0x8DF8 U+9BAD # +0x8DF9 U+7B39 # +0x8DFA U+5319 # +0x8DFB U+518A # +0x8DFC U+5237 # +0x8E40 U+5BDF # +0x8E41 U+62F6 # +0x8E42 U+64AE # +0x8E43 U+64E6 # +0x8E44 U+672D # +0x8E45 U+6BBA # +0x8E46 U+85A9 # +0x8E47 U+96D1 # +0x8E48 U+7690 # +0x8E49 U+9BD6 # +0x8E4A U+634C # +0x8E4B U+9306 # +0x8E4C U+9BAB # +0x8E4D U+76BF # +0x8E4E U+6652 # +0x8E4F U+4E09 # +0x8E50 U+5098 # +0x8E51 U+53C2 # +0x8E52 U+5C71 # +0x8E53 U+60E8 # +0x8E54 U+6492 # +0x8E55 U+6563 # +0x8E56 U+685F # +0x8E57 U+71E6 # +0x8E58 U+73CA # +0x8E59 U+7523 # +0x8E5A U+7B97 # +0x8E5B U+7E82 # +0x8E5C U+8695 # +0x8E5D U+8B83 # +0x8E5E U+8CDB # +0x8E5F U+9178 # +0x8E60 U+9910 # +0x8E61 U+65AC # +0x8E62 U+66AB # +0x8E63 U+6B8B # +0x8E64 U+4ED5 # +0x8E65 U+4ED4 # +0x8E66 U+4F3A # +0x8E67 U+4F7F # +0x8E68 U+523A # +0x8E69 U+53F8 # +0x8E6A U+53F2 # +0x8E6B U+55E3 # +0x8E6C U+56DB # +0x8E6D U+58EB # +0x8E6E U+59CB # +0x8E6F U+59C9 # +0x8E70 U+59FF # +0x8E71 U+5B50 # +0x8E72 U+5C4D # +0x8E73 U+5E02 # +0x8E74 U+5E2B # +0x8E75 U+5FD7 # +0x8E76 U+601D # +0x8E77 U+6307 # +0x8E78 U+652F # +0x8E79 U+5B5C # +0x8E7A U+65AF # +0x8E7B U+65BD # +0x8E7C U+65E8 # +0x8E7D U+679D # +0x8E7E U+6B62 # +0x8E80 U+6B7B # +0x8E81 U+6C0F # +0x8E82 U+7345 # +0x8E83 U+7949 # +0x8E84 U+79C1 # +0x8E85 U+7CF8 # +0x8E86 U+7D19 # +0x8E87 U+7D2B # +0x8E88 U+80A2 # +0x8E89 U+8102 # +0x8E8A U+81F3 # +0x8E8B U+8996 # +0x8E8C U+8A5E # +0x8E8D U+8A69 # +0x8E8E U+8A66 # +0x8E8F U+8A8C # +0x8E90 U+8AEE # +0x8E91 U+8CC7 # +0x8E92 U+8CDC # +0x8E93 U+96CC # +0x8E94 U+98FC # +0x8E95 U+6B6F # +0x8E96 U+4E8B # +0x8E97 U+4F3C # +0x8E98 U+4F8D # +0x8E99 U+5150 # +0x8E9A U+5B57 # +0x8E9B U+5BFA # +0x8E9C U+6148 # +0x8E9D U+6301 # +0x8E9E U+6642 # +0x8E9F U+6B21 # +0x8EA0 U+6ECB # +0x8EA1 U+6CBB # +0x8EA2 U+723E # +0x8EA3 U+74BD # +0x8EA4 U+75D4 # +0x8EA5 U+78C1 # +0x8EA6 U+793A # +0x8EA7 U+800C # +0x8EA8 U+8033 # +0x8EA9 U+81EA # +0x8EAA U+8494 # +0x8EAB U+8F9E # +0x8EAC U+6C50 # +0x8EAD U+9E7F # +0x8EAE U+5F0F # +0x8EAF U+8B58 # +0x8EB0 U+9D2B # +0x8EB1 U+7AFA # +0x8EB2 U+8EF8 # +0x8EB3 U+5B8D # +0x8EB4 U+96EB # +0x8EB5 U+4E03 # +0x8EB6 U+53F1 # +0x8EB7 U+57F7 # +0x8EB8 U+5931 # +0x8EB9 U+5AC9 # +0x8EBA U+5BA4 # +0x8EBB U+6089 # +0x8EBC U+6E7F # +0x8EBD U+6F06 # +0x8EBE U+75BE # +0x8EBF U+8CEA # +0x8EC0 U+5B9F # +0x8EC1 U+8500 # +0x8EC2 U+7BE0 # +0x8EC3 U+5072 # +0x8EC4 U+67F4 # +0x8EC5 U+829D # +0x8EC6 U+5C61 # +0x8EC7 U+854A # +0x8EC8 U+7E1E # +0x8EC9 U+820E # +0x8ECA U+5199 # +0x8ECB U+5C04 # +0x8ECC U+6368 # +0x8ECD U+8D66 # +0x8ECE U+659C # +0x8ECF U+716E # +0x8ED0 U+793E # +0x8ED1 U+7D17 # +0x8ED2 U+8005 # +0x8ED3 U+8B1D # +0x8ED4 U+8ECA # +0x8ED5 U+906E # +0x8ED6 U+86C7 # +0x8ED7 U+90AA # +0x8ED8 U+501F # +0x8ED9 U+52FA # +0x8EDA U+5C3A # +0x8EDB U+6753 # +0x8EDC U+707C # +0x8EDD U+7235 # +0x8EDE U+914C # +0x8EDF U+91C8 # +0x8EE0 U+932B # +0x8EE1 U+82E5 # +0x8EE2 U+5BC2 # +0x8EE3 U+5F31 # +0x8EE4 U+60F9 # +0x8EE5 U+4E3B # +0x8EE6 U+53D6 # +0x8EE7 U+5B88 # +0x8EE8 U+624B # +0x8EE9 U+6731 # +0x8EEA U+6B8A # +0x8EEB U+72E9 # +0x8EEC U+73E0 # +0x8EED U+7A2E # +0x8EEE U+816B # +0x8EEF U+8DA3 # +0x8EF0 U+9152 # +0x8EF1 U+9996 # +0x8EF2 U+5112 # +0x8EF3 U+53D7 # +0x8EF4 U+546A # +0x8EF5 U+5BFF # +0x8EF6 U+6388 # +0x8EF7 U+6A39 # +0x8EF8 U+7DAC # +0x8EF9 U+9700 # +0x8EFA U+56DA # +0x8EFB U+53CE # +0x8EFC U+5468 # +0x8F40 U+5B97 # +0x8F41 U+5C31 # +0x8F42 U+5DDE # +0x8F43 U+4FEE # +0x8F44 U+6101 # +0x8F45 U+62FE # +0x8F46 U+6D32 # +0x8F47 U+79C0 # +0x8F48 U+79CB # +0x8F49 U+7D42 # +0x8F4A U+7E4D # +0x8F4B U+7FD2 # +0x8F4C U+81ED # +0x8F4D U+821F # +0x8F4E U+8490 # +0x8F4F U+8846 # +0x8F50 U+8972 # +0x8F51 U+8B90 # +0x8F52 U+8E74 # +0x8F53 U+8F2F # +0x8F54 U+9031 # +0x8F55 U+914B # +0x8F56 U+916C # +0x8F57 U+96C6 # +0x8F58 U+919C # +0x8F59 U+4EC0 # +0x8F5A U+4F4F # +0x8F5B U+5145 # +0x8F5C U+5341 # +0x8F5D U+5F93 # +0x8F5E U+620E # +0x8F5F U+67D4 # +0x8F60 U+6C41 # +0x8F61 U+6E0B # +0x8F62 U+7363 # +0x8F63 U+7E26 # +0x8F64 U+91CD # +0x8F65 U+9283 # +0x8F66 U+53D4 # +0x8F67 U+5919 # +0x8F68 U+5BBF # +0x8F69 U+6DD1 # +0x8F6A U+795D # +0x8F6B U+7E2E # +0x8F6C U+7C9B # +0x8F6D U+587E # +0x8F6E U+719F # +0x8F6F U+51FA # +0x8F70 U+8853 # +0x8F71 U+8FF0 # +0x8F72 U+4FCA # +0x8F73 U+5CFB # +0x8F74 U+6625 # +0x8F75 U+77AC # +0x8F76 U+7AE3 # +0x8F77 U+821C # +0x8F78 U+99FF # +0x8F79 U+51C6 # +0x8F7A U+5FAA # +0x8F7B U+65EC # +0x8F7C U+696F # +0x8F7D U+6B89 # +0x8F7E U+6DF3 # +0x8F80 U+6E96 # +0x8F81 U+6F64 # +0x8F82 U+76FE # +0x8F83 U+7D14 # +0x8F84 U+5DE1 # +0x8F85 U+9075 # +0x8F86 U+9187 # +0x8F87 U+9806 # +0x8F88 U+51E6 # +0x8F89 U+521D # +0x8F8A U+6240 # +0x8F8B U+6691 # +0x8F8C U+66D9 # +0x8F8D U+6E1A # +0x8F8E U+5EB6 # +0x8F8F U+7DD2 # +0x8F90 U+7F72 # +0x8F91 U+66F8 # +0x8F92 U+85AF # +0x8F93 U+85F7 # +0x8F94 U+8AF8 # +0x8F95 U+52A9 # +0x8F96 U+53D9 # +0x8F97 U+5973 # +0x8F98 U+5E8F # +0x8F99 U+5F90 # +0x8F9A U+6055 # +0x8F9B U+92E4 # +0x8F9C U+9664 # +0x8F9D U+50B7 # +0x8F9E U+511F # +0x8F9F U+52DD # +0x8FA0 U+5320 # +0x8FA1 U+5347 # +0x8FA2 U+53EC # +0x8FA3 U+54E8 # +0x8FA4 U+5546 # +0x8FA5 U+5531 # +0x8FA6 U+5617 # +0x8FA7 U+5968 # +0x8FA8 U+59BE # +0x8FA9 U+5A3C # +0x8FAA U+5BB5 # +0x8FAB U+5C06 # +0x8FAC U+5C0F # +0x8FAD U+5C11 # +0x8FAE U+5C1A # +0x8FAF U+5E84 # +0x8FB0 U+5E8A # +0x8FB1 U+5EE0 # +0x8FB2 U+5F70 # +0x8FB3 U+627F # +0x8FB4 U+6284 # +0x8FB5 U+62DB # +0x8FB6 U+638C # +0x8FB7 U+6377 # +0x8FB8 U+6607 # +0x8FB9 U+660C # +0x8FBA U+662D # +0x8FBB U+6676 # +0x8FBC U+677E # +0x8FBD U+68A2 # +0x8FBE U+6A1F # +0x8FBF U+6A35 # +0x8FC0 U+6CBC # +0x8FC1 U+6D88 # +0x8FC2 U+6E09 # +0x8FC3 U+6E58 # +0x8FC4 U+713C # +0x8FC5 U+7126 # +0x8FC6 U+7167 # +0x8FC7 U+75C7 # +0x8FC8 U+7701 # +0x8FC9 U+785D # +0x8FCA U+7901 # +0x8FCB U+7965 # +0x8FCC U+79F0 # +0x8FCD U+7AE0 # +0x8FCE U+7B11 # +0x8FCF U+7CA7 # +0x8FD0 U+7D39 # +0x8FD1 U+8096 # +0x8FD2 U+83D6 # +0x8FD3 U+848B # +0x8FD4 U+8549 # +0x8FD5 U+885D # +0x8FD6 U+88F3 # +0x8FD7 U+8A1F # +0x8FD8 U+8A3C # +0x8FD9 U+8A54 # +0x8FDA U+8A73 # +0x8FDB U+8C61 # +0x8FDC U+8CDE # +0x8FDD U+91A4 # +0x8FDE U+9266 # +0x8FDF U+937E # +0x8FE0 U+9418 # +0x8FE1 U+969C # +0x8FE2 U+9798 # +0x8FE3 U+4E0A # +0x8FE4 U+4E08 # +0x8FE5 U+4E1E # +0x8FE6 U+4E57 # +0x8FE7 U+5197 # +0x8FE8 U+5270 # +0x8FE9 U+57CE # +0x8FEA U+5834 # +0x8FEB U+58CC # +0x8FEC U+5B22 # +0x8FED U+5E38 # +0x8FEE U+60C5 # +0x8FEF U+64FE # +0x8FF0 U+6761 # +0x8FF1 U+6756 # +0x8FF2 U+6D44 # +0x8FF3 U+72B6 # +0x8FF4 U+7573 # +0x8FF5 U+7A63 # +0x8FF6 U+84B8 # +0x8FF7 U+8B72 # +0x8FF8 U+91B8 # +0x8FF9 U+9320 # +0x8FFA U+5631 # +0x8FFB U+57F4 # +0x8FFC U+98FE # +0x9040 U+62ED # +0x9041 U+690D # +0x9042 U+6B96 # +0x9043 U+71ED # +0x9044 U+7E54 # +0x9045 U+8077 # +0x9046 U+8272 # +0x9047 U+89E6 # +0x9048 U+98DF # +0x9049 U+8755 # +0x904A U+8FB1 # +0x904B U+5C3B # +0x904C U+4F38 # +0x904D U+4FE1 # +0x904E U+4FB5 # +0x904F U+5507 # +0x9050 U+5A20 # +0x9051 U+5BDD # +0x9052 U+5BE9 # +0x9053 U+5FC3 # +0x9054 U+614E # +0x9055 U+632F # +0x9056 U+65B0 # +0x9057 U+664B # +0x9058 U+68EE # +0x9059 U+699B # +0x905A U+6D78 # +0x905B U+6DF1 # +0x905C U+7533 # +0x905D U+75B9 # +0x905E U+771F # +0x905F U+795E # +0x9060 U+79E6 # +0x9061 U+7D33 # +0x9062 U+81E3 # +0x9063 U+82AF # +0x9064 U+85AA # +0x9065 U+89AA # +0x9066 U+8A3A # +0x9067 U+8EAB # +0x9068 U+8F9B # +0x9069 U+9032 # +0x906A U+91DD # +0x906B U+9707 # +0x906C U+4EBA # +0x906D U+4EC1 # +0x906E U+5203 # +0x906F U+5875 # +0x9070 U+58EC # +0x9071 U+5C0B # +0x9072 U+751A # +0x9073 U+5C3D # +0x9074 U+814E # +0x9075 U+8A0A # +0x9076 U+8FC5 # +0x9077 U+9663 # +0x9078 U+976D # +0x9079 U+7B25 # +0x907A U+8ACF # +0x907B U+9808 # +0x907C U+9162 # +0x907D U+56F3 # +0x907E U+53A8 # +0x9080 U+9017 # +0x9081 U+5439 # +0x9082 U+5782 # +0x9083 U+5E25 # +0x9084 U+63A8 # +0x9085 U+6C34 # +0x9086 U+708A # +0x9087 U+7761 # +0x9088 U+7C8B # +0x9089 U+7FE0 # +0x908A U+8870 # +0x908B U+9042 # +0x908C U+9154 # +0x908D U+9310 # +0x908E U+9318 # +0x908F U+968F # +0x9090 U+745E # +0x9091 U+9AC4 # +0x9092 U+5D07 # +0x9093 U+5D69 # +0x9094 U+6570 # +0x9095 U+67A2 # +0x9096 U+8DA8 # +0x9097 U+96DB # +0x9098 U+636E # +0x9099 U+6749 # +0x909A U+6919 # +0x909B U+83C5 # +0x909C U+9817 # +0x909D U+96C0 # +0x909E U+88FE # +0x909F U+6F84 # +0x90A0 U+647A # +0x90A1 U+5BF8 # +0x90A2 U+4E16 # +0x90A3 U+702C # +0x90A4 U+755D # +0x90A5 U+662F # +0x90A6 U+51C4 # +0x90A7 U+5236 # +0x90A8 U+52E2 # +0x90A9 U+59D3 # +0x90AA U+5F81 # +0x90AB U+6027 # +0x90AC U+6210 # +0x90AD U+653F # +0x90AE U+6574 # +0x90AF U+661F # +0x90B0 U+6674 # +0x90B1 U+68F2 # +0x90B2 U+6816 # +0x90B3 U+6B63 # +0x90B4 U+6E05 # +0x90B5 U+7272 # +0x90B6 U+751F # +0x90B7 U+76DB # +0x90B8 U+7CBE # +0x90B9 U+8056 # +0x90BA U+58F0 # +0x90BB U+88FD # +0x90BC U+897F # +0x90BD U+8AA0 # +0x90BE U+8A93 # +0x90BF U+8ACB # +0x90C0 U+901D # +0x90C1 U+9192 # +0x90C2 U+9752 # +0x90C3 U+9759 # +0x90C4 U+6589 # +0x90C5 U+7A0E # +0x90C6 U+8106 # +0x90C7 U+96BB # +0x90C8 U+5E2D # +0x90C9 U+60DC # +0x90CA U+621A # +0x90CB U+65A5 # +0x90CC U+6614 # +0x90CD U+6790 # +0x90CE U+77F3 # +0x90CF U+7A4D # +0x90D0 U+7C4D # +0x90D1 U+7E3E # +0x90D2 U+810A # +0x90D3 U+8CAC # +0x90D4 U+8D64 # +0x90D5 U+8DE1 # +0x90D6 U+8E5F # +0x90D7 U+78A9 # +0x90D8 U+5207 # +0x90D9 U+62D9 # +0x90DA U+63A5 # +0x90DB U+6442 # +0x90DC U+6298 # +0x90DD U+8A2D # +0x90DE U+7A83 # +0x90DF U+7BC0 # +0x90E0 U+8AAC # +0x90E1 U+96EA # +0x90E2 U+7D76 # +0x90E3 U+820C # +0x90E4 U+8749 # +0x90E5 U+4ED9 # +0x90E6 U+5148 # +0x90E7 U+5343 # +0x90E8 U+5360 # +0x90E9 U+5BA3 # +0x90EA U+5C02 # +0x90EB U+5C16 # +0x90EC U+5DDD # +0x90ED U+6226 # +0x90EE U+6247 # +0x90EF U+64B0 # +0x90F0 U+6813 # +0x90F1 U+6834 # +0x90F2 U+6CC9 # +0x90F3 U+6D45 # +0x90F4 U+6D17 # +0x90F5 U+67D3 # +0x90F6 U+6F5C # +0x90F7 U+714E # +0x90F8 U+717D # +0x90F9 U+65CB # +0x90FA U+7A7F # +0x90FB U+7BAD # +0x90FC U+7DDA # +0x9140 U+7E4A # +0x9141 U+7FA8 # +0x9142 U+817A # +0x9143 U+821B # +0x9144 U+8239 # +0x9145 U+85A6 # +0x9146 U+8A6E # +0x9147 U+8CCE # +0x9148 U+8DF5 # +0x9149 U+9078 # +0x914A U+9077 # +0x914B U+92AD # +0x914C U+9291 # +0x914D U+9583 # +0x914E U+9BAE # +0x914F U+524D # +0x9150 U+5584 # +0x9151 U+6F38 # +0x9152 U+7136 # +0x9153 U+5168 # +0x9154 U+7985 # +0x9155 U+7E55 # +0x9156 U+81B3 # +0x9157 U+7CCE # +0x9158 U+564C # +0x9159 U+5851 # +0x915A U+5CA8 # +0x915B U+63AA # +0x915C U+66FE # +0x915D U+66FD # +0x915E U+695A # +0x915F U+72D9 # +0x9160 U+758F # +0x9161 U+758E # +0x9162 U+790E # +0x9163 U+7956 # +0x9164 U+79DF # +0x9165 U+7C97 # +0x9166 U+7D20 # +0x9167 U+7D44 # +0x9168 U+8607 # +0x9169 U+8A34 # +0x916A U+963B # +0x916B U+9061 # +0x916C U+9F20 # +0x916D U+50E7 # +0x916E U+5275 # +0x916F U+53CC # +0x9170 U+53E2 # +0x9171 U+5009 # +0x9172 U+55AA # +0x9173 U+58EE # +0x9174 U+594F # +0x9175 U+723D # +0x9176 U+5B8B # +0x9177 U+5C64 # +0x9178 U+531D # +0x9179 U+60E3 # +0x917A U+60F3 # +0x917B U+635C # +0x917C U+6383 # +0x917D U+633F # +0x917E U+63BB # +0x9180 U+64CD # +0x9181 U+65E9 # +0x9182 U+66F9 # +0x9183 U+5DE3 # +0x9184 U+69CD # +0x9185 U+69FD # +0x9186 U+6F15 # +0x9187 U+71E5 # +0x9188 U+4E89 # +0x9189 U+75E9 # +0x918A U+76F8 # +0x918B U+7A93 # +0x918C U+7CDF # +0x918D U+7DCF # +0x918E U+7D9C # +0x918F U+8061 # +0x9190 U+8349 # +0x9191 U+8358 # +0x9192 U+846C # +0x9193 U+84BC # +0x9194 U+85FB # +0x9195 U+88C5 # +0x9196 U+8D70 # +0x9197 U+9001 # +0x9198 U+906D # +0x9199 U+9397 # +0x919A U+971C # +0x919B U+9A12 # +0x919C U+50CF # +0x919D U+5897 # +0x919E U+618E # +0x919F U+81D3 # +0x91A0 U+8535 # +0x91A1 U+8D08 # +0x91A2 U+9020 # +0x91A3 U+4FC3 # +0x91A4 U+5074 # +0x91A5 U+5247 # +0x91A6 U+5373 # +0x91A7 U+606F # +0x91A8 U+6349 # +0x91A9 U+675F # +0x91AA U+6E2C # +0x91AB U+8DB3 # +0x91AC U+901F # +0x91AD U+4FD7 # +0x91AE U+5C5E # +0x91AF U+8CCA # +0x91B0 U+65CF # +0x91B1 U+7D9A # +0x91B2 U+5352 # +0x91B3 U+8896 # +0x91B4 U+5176 # +0x91B5 U+63C3 # +0x91B6 U+5B58 # +0x91B7 U+5B6B # +0x91B8 U+5C0A # +0x91B9 U+640D # +0x91BA U+6751 # +0x91BB U+905C # +0x91BC U+4ED6 # +0x91BD U+591A # +0x91BE U+592A # +0x91BF U+6C70 # +0x91C0 U+8A51 # +0x91C1 U+553E # +0x91C2 U+5815 # +0x91C3 U+59A5 # +0x91C4 U+60F0 # +0x91C5 U+6253 # +0x91C6 U+67C1 # +0x91C7 U+8235 # +0x91C8 U+6955 # +0x91C9 U+9640 # +0x91CA U+99C4 # +0x91CB U+9A28 # +0x91CC U+4F53 # +0x91CD U+5806 # +0x91CE U+5BFE # +0x91CF U+8010 # +0x91D0 U+5CB1 # +0x91D1 U+5E2F # +0x91D2 U+5F85 # +0x91D3 U+6020 # +0x91D4 U+614B # +0x91D5 U+6234 # +0x91D6 U+66FF # +0x91D7 U+6CF0 # +0x91D8 U+6EDE # +0x91D9 U+80CE # +0x91DA U+817F # +0x91DB U+82D4 # +0x91DC U+888B # +0x91DD U+8CB8 # +0x91DE U+9000 # +0x91DF U+902E # +0x91E0 U+968A # +0x91E1 U+9EDB # +0x91E2 U+9BDB # +0x91E3 U+4EE3 # +0x91E4 U+53F0 # +0x91E5 U+5927 # +0x91E6 U+7B2C # +0x91E7 U+918D # +0x91E8 U+984C # +0x91E9 U+9DF9 # +0x91EA U+6EDD # +0x91EB U+7027 # +0x91EC U+5353 # +0x91ED U+5544 # +0x91EE U+5B85 # +0x91EF U+6258 # +0x91F0 U+629E # +0x91F1 U+62D3 # +0x91F2 U+6CA2 # +0x91F3 U+6FEF # +0x91F4 U+7422 # +0x91F5 U+8A17 # +0x91F6 U+9438 # +0x91F7 U+6FC1 # +0x91F8 U+8AFE # +0x91F9 U+8338 # +0x91FA U+51E7 # +0x91FB U+86F8 # +0x91FC U+53EA # +0x9240 U+53E9 # +0x9241 U+4F46 # +0x9242 U+9054 # +0x9243 U+8FB0 # +0x9244 U+596A # +0x9245 U+8131 # +0x9246 U+5DFD # +0x9247 U+7AEA # +0x9248 U+8FBF # +0x9249 U+68DA # +0x924A U+8C37 # +0x924B U+72F8 # +0x924C U+9C48 # +0x924D U+6A3D # +0x924E U+8AB0 # +0x924F U+4E39 # +0x9250 U+5358 # +0x9251 U+5606 # +0x9252 U+5766 # +0x9253 U+62C5 # +0x9254 U+63A2 # +0x9255 U+65E6 # +0x9256 U+6B4E # +0x9257 U+6DE1 # +0x9258 U+6E5B # +0x9259 U+70AD # +0x925A U+77ED # +0x925B U+7AEF # +0x925C U+7BAA # +0x925D U+7DBB # +0x925E U+803D # +0x925F U+80C6 # +0x9260 U+86CB # +0x9261 U+8A95 # +0x9262 U+935B # +0x9263 U+56E3 # +0x9264 U+58C7 # +0x9265 U+5F3E # +0x9266 U+65AD # +0x9267 U+6696 # +0x9268 U+6A80 # +0x9269 U+6BB5 # +0x926A U+7537 # +0x926B U+8AC7 # +0x926C U+5024 # +0x926D U+77E5 # +0x926E U+5730 # +0x926F U+5F1B # +0x9270 U+6065 # +0x9271 U+667A # +0x9272 U+6C60 # +0x9273 U+75F4 # +0x9274 U+7A1A # +0x9275 U+7F6E # +0x9276 U+81F4 # +0x9277 U+8718 # +0x9278 U+9045 # +0x9279 U+99B3 # +0x927A U+7BC9 # +0x927B U+755C # +0x927C U+7AF9 # +0x927D U+7B51 # +0x927E U+84C4 # +0x9280 U+9010 # +0x9281 U+79E9 # +0x9282 U+7A92 # +0x9283 U+8336 # +0x9284 U+5AE1 # +0x9285 U+7740 # +0x9286 U+4E2D # +0x9287 U+4EF2 # +0x9288 U+5B99 # +0x9289 U+5FE0 # +0x928A U+62BD # +0x928B U+663C # +0x928C U+67F1 # +0x928D U+6CE8 # +0x928E U+866B # +0x928F U+8877 # +0x9290 U+8A3B # +0x9291 U+914E # +0x9292 U+92F3 # +0x9293 U+99D0 # +0x9294 U+6A17 # +0x9295 U+7026 # +0x9296 U+732A # +0x9297 U+82E7 # +0x9298 U+8457 # +0x9299 U+8CAF # +0x929A U+4E01 # +0x929B U+5146 # +0x929C U+51CB # +0x929D U+558B # +0x929E U+5BF5 # +0x929F U+5E16 # +0x92A0 U+5E33 # +0x92A1 U+5E81 # +0x92A2 U+5F14 # +0x92A3 U+5F35 # +0x92A4 U+5F6B # +0x92A5 U+5FB4 # +0x92A6 U+61F2 # +0x92A7 U+6311 # +0x92A8 U+66A2 # +0x92A9 U+671D # +0x92AA U+6F6E # +0x92AB U+7252 # +0x92AC U+753A # +0x92AD U+773A # +0x92AE U+8074 # +0x92AF U+8139 # +0x92B0 U+8178 # +0x92B1 U+8776 # +0x92B2 U+8ABF # +0x92B3 U+8ADC # +0x92B4 U+8D85 # +0x92B5 U+8DF3 # +0x92B6 U+929A # +0x92B7 U+9577 # +0x92B8 U+9802 # +0x92B9 U+9CE5 # +0x92BA U+52C5 # +0x92BB U+6357 # +0x92BC U+76F4 # +0x92BD U+6715 # +0x92BE U+6C88 # +0x92BF U+73CD # +0x92C0 U+8CC3 # +0x92C1 U+93AE # +0x92C2 U+9673 # +0x92C3 U+6D25 # +0x92C4 U+589C # +0x92C5 U+690E # +0x92C6 U+69CC # +0x92C7 U+8FFD # +0x92C8 U+939A # +0x92C9 U+75DB # +0x92CA U+901A # +0x92CB U+585A # +0x92CC U+6802 # +0x92CD U+63B4 # +0x92CE U+69FB # +0x92CF U+4F43 # +0x92D0 U+6F2C # +0x92D1 U+67D8 # +0x92D2 U+8FBB # +0x92D3 U+8526 # +0x92D4 U+7DB4 # +0x92D5 U+9354 # +0x92D6 U+693F # +0x92D7 U+6F70 # +0x92D8 U+576A # +0x92D9 U+58F7 # +0x92DA U+5B2C # +0x92DB U+7D2C # +0x92DC U+722A # +0x92DD U+540A # +0x92DE U+91E3 # +0x92DF U+9DB4 # +0x92E0 U+4EAD # +0x92E1 U+4F4E # +0x92E2 U+505C # +0x92E3 U+5075 # +0x92E4 U+5243 # +0x92E5 U+8C9E # +0x92E6 U+5448 # +0x92E7 U+5824 # +0x92E8 U+5B9A # +0x92E9 U+5E1D # +0x92EA U+5E95 # +0x92EB U+5EAD # +0x92EC U+5EF7 # +0x92ED U+5F1F # +0x92EE U+608C # +0x92EF U+62B5 # +0x92F0 U+633A # +0x92F1 U+63D0 # +0x92F2 U+68AF # +0x92F3 U+6C40 # +0x92F4 U+7887 # +0x92F5 U+798E # +0x92F6 U+7A0B # +0x92F7 U+7DE0 # +0x92F8 U+8247 # +0x92F9 U+8A02 # +0x92FA U+8AE6 # +0x92FB U+8E44 # +0x92FC U+9013 # +0x9340 U+90B8 # +0x9341 U+912D # +0x9342 U+91D8 # +0x9343 U+9F0E # +0x9344 U+6CE5 # +0x9345 U+6458 # +0x9346 U+64E2 # +0x9347 U+6575 # +0x9348 U+6EF4 # +0x9349 U+7684 # +0x934A U+7B1B # +0x934B U+9069 # +0x934C U+93D1 # +0x934D U+6EBA # +0x934E U+54F2 # +0x934F U+5FB9 # +0x9350 U+64A4 # +0x9351 U+8F4D # +0x9352 U+8FED # +0x9353 U+9244 # +0x9354 U+5178 # +0x9355 U+586B # +0x9356 U+5929 # +0x9357 U+5C55 # +0x9358 U+5E97 # +0x9359 U+6DFB # +0x935A U+7E8F # +0x935B U+751C # +0x935C U+8CBC # +0x935D U+8EE2 # +0x935E U+985B # +0x935F U+70B9 # +0x9360 U+4F1D # +0x9361 U+6BBF # +0x9362 U+6FB1 # +0x9363 U+7530 # +0x9364 U+96FB # +0x9365 U+514E # +0x9366 U+5410 # +0x9367 U+5835 # +0x9368 U+5857 # +0x9369 U+59AC # +0x936A U+5C60 # +0x936B U+5F92 # +0x936C U+6597 # +0x936D U+675C # +0x936E U+6E21 # +0x936F U+767B # +0x9370 U+83DF # +0x9371 U+8CED # +0x9372 U+9014 # +0x9373 U+90FD # +0x9374 U+934D # +0x9375 U+7825 # +0x9376 U+783A # +0x9377 U+52AA # +0x9378 U+5EA6 # +0x9379 U+571F # +0x937A U+5974 # +0x937B U+6012 # +0x937C U+5012 # +0x937D U+515A # +0x937E U+51AC # +0x9380 U+51CD # +0x9381 U+5200 # +0x9382 U+5510 # +0x9383 U+5854 # +0x9384 U+5858 # +0x9385 U+5957 # +0x9386 U+5B95 # +0x9387 U+5CF6 # +0x9388 U+5D8B # +0x9389 U+60BC # +0x938A U+6295 # +0x938B U+642D # +0x938C U+6771 # +0x938D U+6843 # +0x938E U+68BC # +0x938F U+68DF # +0x9390 U+76D7 # +0x9391 U+6DD8 # +0x9392 U+6E6F # +0x9393 U+6D9B # +0x9394 U+706F # +0x9395 U+71C8 # +0x9396 U+5F53 # +0x9397 U+75D8 # +0x9398 U+7977 # +0x9399 U+7B49 # +0x939A U+7B54 # +0x939B U+7B52 # +0x939C U+7CD6 # +0x939D U+7D71 # +0x939E U+5230 # +0x939F U+8463 # +0x93A0 U+8569 # +0x93A1 U+85E4 # +0x93A2 U+8A0E # +0x93A3 U+8B04 # +0x93A4 U+8C46 # +0x93A5 U+8E0F # +0x93A6 U+9003 # +0x93A7 U+900F # +0x93A8 U+9419 # +0x93A9 U+9676 # +0x93AA U+982D # +0x93AB U+9A30 # +0x93AC U+95D8 # +0x93AD U+50CD # +0x93AE U+52D5 # +0x93AF U+540C # +0x93B0 U+5802 # +0x93B1 U+5C0E # +0x93B2 U+61A7 # +0x93B3 U+649E # +0x93B4 U+6D1E # +0x93B5 U+77B3 # +0x93B6 U+7AE5 # +0x93B7 U+80F4 # +0x93B8 U+8404 # +0x93B9 U+9053 # +0x93BA U+9285 # +0x93BB U+5CE0 # +0x93BC U+9D07 # +0x93BD U+533F # +0x93BE U+5F97 # +0x93BF U+5FB3 # +0x93C0 U+6D9C # +0x93C1 U+7279 # +0x93C2 U+7763 # +0x93C3 U+79BF # +0x93C4 U+7BE4 # +0x93C5 U+6BD2 # +0x93C6 U+72EC # +0x93C7 U+8AAD # +0x93C8 U+6803 # +0x93C9 U+6A61 # +0x93CA U+51F8 # +0x93CB U+7A81 # +0x93CC U+6934 # +0x93CD U+5C4A # +0x93CE U+9CF6 # +0x93CF U+82EB # +0x93D0 U+5BC5 # +0x93D1 U+9149 # +0x93D2 U+701E # +0x93D3 U+5678 # +0x93D4 U+5C6F # +0x93D5 U+60C7 # +0x93D6 U+6566 # +0x93D7 U+6C8C # +0x93D8 U+8C5A # +0x93D9 U+9041 # +0x93DA U+9813 # +0x93DB U+5451 # +0x93DC U+66C7 # +0x93DD U+920D # +0x93DE U+5948 # +0x93DF U+90A3 # +0x93E0 U+5185 # +0x93E1 U+4E4D # +0x93E2 U+51EA # +0x93E3 U+8599 # +0x93E4 U+8B0E # +0x93E5 U+7058 # +0x93E6 U+637A # +0x93E7 U+934B # +0x93E8 U+6962 # +0x93E9 U+99B4 # +0x93EA U+7E04 # +0x93EB U+7577 # +0x93EC U+5357 # +0x93ED U+6960 # +0x93EE U+8EDF # +0x93EF U+96E3 # +0x93F0 U+6C5D # +0x93F1 U+4E8C # +0x93F2 U+5C3C # +0x93F3 U+5F10 # +0x93F4 U+8FE9 # +0x93F5 U+5302 # +0x93F6 U+8CD1 # +0x93F7 U+8089 # +0x93F8 U+8679 # +0x93F9 U+5EFF # +0x93FA U+65E5 # +0x93FB U+4E73 # +0x93FC U+5165 # +0x9440 U+5982 # +0x9441 U+5C3F # +0x9442 U+97EE # +0x9443 U+4EFB # +0x9444 U+598A # +0x9445 U+5FCD # +0x9446 U+8A8D # +0x9447 U+6FE1 # +0x9448 U+79B0 # +0x9449 U+7962 # +0x944A U+5BE7 # +0x944B U+8471 # +0x944C U+732B # +0x944D U+71B1 # +0x944E U+5E74 # +0x944F U+5FF5 # +0x9450 U+637B # +0x9451 U+649A # +0x9452 U+71C3 # +0x9453 U+7C98 # +0x9454 U+4E43 # +0x9455 U+5EFC # +0x9456 U+4E4B # +0x9457 U+57DC # +0x9458 U+56A2 # +0x9459 U+60A9 # +0x945A U+6FC3 # +0x945B U+7D0D # +0x945C U+80FD # +0x945D U+8133 # +0x945E U+81BF # +0x945F U+8FB2 # +0x9460 U+8997 # +0x9461 U+86A4 # +0x9462 U+5DF4 # +0x9463 U+628A # +0x9464 U+64AD # +0x9465 U+8987 # +0x9466 U+6777 # +0x9467 U+6CE2 # +0x9468 U+6D3E # +0x9469 U+7436 # +0x946A U+7834 # +0x946B U+5A46 # +0x946C U+7F75 # +0x946D U+82AD # +0x946E U+99AC # +0x946F U+4FF3 # +0x9470 U+5EC3 # +0x9471 U+62DD # +0x9472 U+6392 # +0x9473 U+6557 # +0x9474 U+676F # +0x9475 U+76C3 # +0x9476 U+724C # +0x9477 U+80CC # +0x9478 U+80BA # +0x9479 U+8F29 # +0x947A U+914D # +0x947B U+500D # +0x947C U+57F9 # +0x947D U+5A92 # +0x947E U+6885 # +0x9480 U+6973 # +0x9481 U+7164 # +0x9482 U+72FD # +0x9483 U+8CB7 # +0x9484 U+58F2 # +0x9485 U+8CE0 # +0x9486 U+966A # +0x9487 U+9019 # +0x9488 U+877F # +0x9489 U+79E4 # +0x948A U+77E7 # +0x948B U+8429 # +0x948C U+4F2F # +0x948D U+5265 # +0x948E U+535A # +0x948F U+62CD # +0x9490 U+67CF # +0x9491 U+6CCA # +0x9492 U+767D # +0x9493 U+7B94 # +0x9494 U+7C95 # +0x9495 U+8236 # +0x9496 U+8584 # +0x9497 U+8FEB # +0x9498 U+66DD # +0x9499 U+6F20 # +0x949A U+7206 # +0x949B U+7E1B # +0x949C U+83AB # +0x949D U+99C1 # +0x949E U+9EA6 # +0x949F U+51FD # +0x94A0 U+7BB1 # +0x94A1 U+7872 # +0x94A2 U+7BB8 # +0x94A3 U+8087 # +0x94A4 U+7B48 # +0x94A5 U+6AE8 # +0x94A6 U+5E61 # +0x94A7 U+808C # +0x94A8 U+7551 # +0x94A9 U+7560 # +0x94AA U+516B # +0x94AB U+9262 # +0x94AC U+6E8C # +0x94AD U+767A # +0x94AE U+9197 # +0x94AF U+9AEA # +0x94B0 U+4F10 # +0x94B1 U+7F70 # +0x94B2 U+629C # +0x94B3 U+7B4F # +0x94B4 U+95A5 # +0x94B5 U+9CE9 # +0x94B6 U+567A # +0x94B7 U+5859 # +0x94B8 U+86E4 # +0x94B9 U+96BC # +0x94BA U+4F34 # +0x94BB U+5224 # +0x94BC U+534A # +0x94BD U+53CD # +0x94BE U+53DB # +0x94BF U+5E06 # +0x94C0 U+642C # +0x94C1 U+6591 # +0x94C2 U+677F # +0x94C3 U+6C3E # +0x94C4 U+6C4E # +0x94C5 U+7248 # +0x94C6 U+72AF # +0x94C7 U+73ED # +0x94C8 U+7554 # +0x94C9 U+7E41 # +0x94CA U+822C # +0x94CB U+85E9 # +0x94CC U+8CA9 # +0x94CD U+7BC4 # +0x94CE U+91C6 # +0x94CF U+7169 # +0x94D0 U+9812 # +0x94D1 U+98EF # +0x94D2 U+633D # +0x94D3 U+6669 # +0x94D4 U+756A # +0x94D5 U+76E4 # +0x94D6 U+78D0 # +0x94D7 U+8543 # +0x94D8 U+86EE # +0x94D9 U+532A # +0x94DA U+5351 # +0x94DB U+5426 # +0x94DC U+5983 # +0x94DD U+5E87 # +0x94DE U+5F7C # +0x94DF U+60B2 # +0x94E0 U+6249 # +0x94E1 U+6279 # +0x94E2 U+62AB # +0x94E3 U+6590 # +0x94E4 U+6BD4 # +0x94E5 U+6CCC # +0x94E6 U+75B2 # +0x94E7 U+76AE # +0x94E8 U+7891 # +0x94E9 U+79D8 # +0x94EA U+7DCB # +0x94EB U+7F77 # +0x94EC U+80A5 # +0x94ED U+88AB # +0x94EE U+8AB9 # +0x94EF U+8CBB # +0x94F0 U+907F # +0x94F1 U+975E # +0x94F2 U+98DB # +0x94F3 U+6A0B # +0x94F4 U+7C38 # +0x94F5 U+5099 # +0x94F6 U+5C3E # +0x94F7 U+5FAE # +0x94F8 U+6787 # +0x94F9 U+6BD8 # +0x94FA U+7435 # +0x94FB U+7709 # +0x94FC U+7F8E # +0x9540 U+9F3B # +0x9541 U+67CA # +0x9542 U+7A17 # +0x9543 U+5339 # +0x9544 U+758B # +0x9545 U+9AED # +0x9546 U+5F66 # +0x9547 U+819D # +0x9548 U+83F1 # +0x9549 U+8098 # +0x954A U+5F3C # +0x954B U+5FC5 # +0x954C U+7562 # +0x954D U+7B46 # +0x954E U+903C # +0x954F U+6867 # +0x9550 U+59EB # +0x9551 U+5A9B # +0x9552 U+7D10 # +0x9553 U+767E # +0x9554 U+8B2C # +0x9555 U+4FF5 # +0x9556 U+5F6A # +0x9557 U+6A19 # +0x9558 U+6C37 # +0x9559 U+6F02 # +0x955A U+74E2 # +0x955B U+7968 # +0x955C U+8868 # +0x955D U+8A55 # +0x955E U+8C79 # +0x955F U+5EDF # +0x9560 U+63CF # +0x9561 U+75C5 # +0x9562 U+79D2 # +0x9563 U+82D7 # +0x9564 U+9328 # +0x9565 U+92F2 # +0x9566 U+849C # +0x9567 U+86ED # +0x9568 U+9C2D # +0x9569 U+54C1 # +0x956A U+5F6C # +0x956B U+658C # +0x956C U+6D5C # +0x956D U+7015 # +0x956E U+8CA7 # +0x956F U+8CD3 # +0x9570 U+983B # +0x9571 U+654F # +0x9572 U+74F6 # +0x9573 U+4E0D # +0x9574 U+4ED8 # +0x9575 U+57E0 # +0x9576 U+592B # +0x9577 U+5A66 # +0x9578 U+5BCC # +0x9579 U+51A8 # +0x957A U+5E03 # +0x957B U+5E9C # +0x957C U+6016 # +0x957D U+6276 # +0x957E U+6577 # +0x9580 U+65A7 # +0x9581 U+666E # +0x9582 U+6D6E # +0x9583 U+7236 # +0x9584 U+7B26 # +0x9585 U+8150 # +0x9586 U+819A # +0x9587 U+8299 # +0x9588 U+8B5C # +0x9589 U+8CA0 # +0x958A U+8CE6 # +0x958B U+8D74 # +0x958C U+961C # +0x958D U+9644 # +0x958E U+4FAE # +0x958F U+64AB # +0x9590 U+6B66 # +0x9591 U+821E # +0x9592 U+8461 # +0x9593 U+856A # +0x9594 U+90E8 # +0x9595 U+5C01 # +0x9596 U+6953 # +0x9597 U+98A8 # +0x9598 U+847A # +0x9599 U+8557 # +0x959A U+4F0F # +0x959B U+526F # +0x959C U+5FA9 # +0x959D U+5E45 # +0x959E U+670D # +0x959F U+798F # +0x95A0 U+8179 # +0x95A1 U+8907 # +0x95A2 U+8986 # +0x95A3 U+6DF5 # +0x95A4 U+5F17 # +0x95A5 U+6255 # +0x95A6 U+6CB8 # +0x95A7 U+4ECF # +0x95A8 U+7269 # +0x95A9 U+9B92 # +0x95AA U+5206 # +0x95AB U+543B # +0x95AC U+5674 # +0x95AD U+58B3 # +0x95AE U+61A4 # +0x95AF U+626E # +0x95B0 U+711A # +0x95B1 U+596E # +0x95B2 U+7C89 # +0x95B3 U+7CDE # +0x95B4 U+7D1B # +0x95B5 U+96F0 # +0x95B6 U+6587 # +0x95B7 U+805E # +0x95B8 U+4E19 # +0x95B9 U+4F75 # +0x95BA U+5175 # +0x95BB U+5840 # +0x95BC U+5E63 # +0x95BD U+5E73 # +0x95BE U+5F0A # +0x95BF U+67C4 # +0x95C0 U+4E26 # +0x95C1 U+853D # +0x95C2 U+9589 # +0x95C3 U+965B # +0x95C4 U+7C73 # +0x95C5 U+9801 # +0x95C6 U+50FB # +0x95C7 U+58C1 # +0x95C8 U+7656 # +0x95C9 U+78A7 # +0x95CA U+5225 # +0x95CB U+77A5 # +0x95CC U+8511 # +0x95CD U+7B86 # +0x95CE U+504F # +0x95CF U+5909 # +0x95D0 U+7247 # +0x95D1 U+7BC7 # +0x95D2 U+7DE8 # +0x95D3 U+8FBA # +0x95D4 U+8FD4 # +0x95D5 U+904D # +0x95D6 U+4FBF # +0x95D7 U+52C9 # +0x95D8 U+5A29 # +0x95D9 U+5F01 # +0x95DA U+97AD # +0x95DB U+4FDD # +0x95DC U+8217 # +0x95DD U+92EA # +0x95DE U+5703 # +0x95DF U+6355 # +0x95E0 U+6B69 # +0x95E1 U+752B # +0x95E2 U+88DC # +0x95E3 U+8F14 # +0x95E4 U+7A42 # +0x95E5 U+52DF # +0x95E6 U+5893 # +0x95E7 U+6155 # +0x95E8 U+620A # +0x95E9 U+66AE # +0x95EA U+6BCD # +0x95EB U+7C3F # +0x95EC U+83E9 # +0x95ED U+5023 # +0x95EE U+4FF8 # +0x95EF U+5305 # +0x95F0 U+5446 # +0x95F1 U+5831 # +0x95F2 U+5949 # +0x95F3 U+5B9D # +0x95F4 U+5CF0 # +0x95F5 U+5CEF # +0x95F6 U+5D29 # +0x95F7 U+5E96 # +0x95F8 U+62B1 # +0x95F9 U+6367 # +0x95FA U+653E # +0x95FB U+65B9 # +0x95FC U+670B # +0x9640 U+6CD5 # +0x9641 U+6CE1 # +0x9642 U+70F9 # +0x9643 U+7832 # +0x9644 U+7E2B # +0x9645 U+80DE # +0x9646 U+82B3 # +0x9647 U+840C # +0x9648 U+84EC # +0x9649 U+8702 # +0x964A U+8912 # +0x964B U+8A2A # +0x964C U+8C4A # +0x964D U+90A6 # +0x964E U+92D2 # +0x964F U+98FD # +0x9650 U+9CF3 # +0x9651 U+9D6C # +0x9652 U+4E4F # +0x9653 U+4EA1 # +0x9654 U+508D # +0x9655 U+5256 # +0x9656 U+574A # +0x9657 U+59A8 # +0x9658 U+5E3D # +0x9659 U+5FD8 # +0x965A U+5FD9 # +0x965B U+623F # +0x965C U+66B4 # +0x965D U+671B # +0x965E U+67D0 # +0x965F U+68D2 # +0x9660 U+5192 # +0x9661 U+7D21 # +0x9662 U+80AA # +0x9663 U+81A8 # +0x9664 U+8B00 # +0x9665 U+8C8C # +0x9666 U+8CBF # +0x9667 U+927E # +0x9668 U+9632 # +0x9669 U+5420 # +0x966A U+982C # +0x966B U+5317 # +0x966C U+50D5 # +0x966D U+535C # +0x966E U+58A8 # +0x966F U+64B2 # +0x9670 U+6734 # +0x9671 U+7267 # +0x9672 U+7766 # +0x9673 U+7A46 # +0x9674 U+91E6 # +0x9675 U+52C3 # +0x9676 U+6CA1 # +0x9677 U+6B86 # +0x9678 U+5800 # +0x9679 U+5E4C # +0x967A U+5954 # +0x967B U+672C # +0x967C U+7FFB # +0x967D U+51E1 # +0x967E U+76C6 # +0x9680 U+6469 # +0x9681 U+78E8 # +0x9682 U+9B54 # +0x9683 U+9EBB # +0x9684 U+57CB # +0x9685 U+59B9 # +0x9686 U+6627 # +0x9687 U+679A # +0x9688 U+6BCE # +0x9689 U+54E9 # +0x968A U+69D9 # +0x968B U+5E55 # +0x968C U+819C # +0x968D U+6795 # +0x968E U+9BAA # +0x968F U+67FE # +0x9690 U+9C52 # +0x9691 U+685D # +0x9692 U+4EA6 # +0x9693 U+4FE3 # +0x9694 U+53C8 # +0x9695 U+62B9 # +0x9696 U+672B # +0x9697 U+6CAB # +0x9698 U+8FC4 # +0x9699 U+4FAD # +0x969A U+7E6D # +0x969B U+9EBF # +0x969C U+4E07 # +0x969D U+6162 # +0x969E U+6E80 # +0x969F U+6F2B # +0x96A0 U+8513 # +0x96A1 U+5473 # +0x96A2 U+672A # +0x96A3 U+9B45 # +0x96A4 U+5DF3 # +0x96A5 U+7B95 # +0x96A6 U+5CAC # +0x96A7 U+5BC6 # +0x96A8 U+871C # +0x96A9 U+6E4A # +0x96AA U+84D1 # +0x96AB U+7A14 # +0x96AC U+8108 # +0x96AD U+5999 # +0x96AE U+7C8D # +0x96AF U+6C11 # +0x96B0 U+7720 # +0x96B1 U+52D9 # +0x96B2 U+5922 # +0x96B3 U+7121 # +0x96B4 U+725F # +0x96B5 U+77DB # +0x96B6 U+9727 # +0x96B7 U+9D61 # +0x96B8 U+690B # +0x96B9 U+5A7F # +0x96BA U+5A18 # +0x96BB U+51A5 # +0x96BC U+540D # +0x96BD U+547D # +0x96BE U+660E # +0x96BF U+76DF # +0x96C0 U+8FF7 # +0x96C1 U+9298 # +0x96C2 U+9CF4 # +0x96C3 U+59EA # +0x96C4 U+725D # +0x96C5 U+6EC5 # +0x96C6 U+514D # +0x96C7 U+68C9 # +0x96C8 U+7DBF # +0x96C9 U+7DEC # +0x96CA U+9762 # +0x96CB U+9EBA # +0x96CC U+6478 # +0x96CD U+6A21 # +0x96CE U+8302 # +0x96CF U+5984 # +0x96D0 U+5B5F # +0x96D1 U+6BDB # +0x96D2 U+731B # +0x96D3 U+76F2 # +0x96D4 U+7DB2 # +0x96D5 U+8017 # +0x96D6 U+8499 # +0x96D7 U+5132 # +0x96D8 U+6728 # +0x96D9 U+9ED9 # +0x96DA U+76EE # +0x96DB U+6762 # +0x96DC U+52FF # +0x96DD U+9905 # +0x96DE U+5C24 # +0x96DF U+623B # +0x96E0 U+7C7E # +0x96E1 U+8CB0 # +0x96E2 U+554F # +0x96E3 U+60B6 # +0x96E4 U+7D0B # +0x96E5 U+9580 # +0x96E6 U+5301 # +0x96E7 U+4E5F # +0x96E8 U+51B6 # +0x96E9 U+591C # +0x96EA U+723A # +0x96EB U+8036 # +0x96EC U+91CE # +0x96ED U+5F25 # +0x96EE U+77E2 # +0x96EF U+5384 # +0x96F0 U+5F79 # +0x96F1 U+7D04 # +0x96F2 U+85AC # +0x96F3 U+8A33 # +0x96F4 U+8E8D # +0x96F5 U+9756 # +0x96F6 U+67F3 # +0x96F7 U+85AE # +0x96F8 U+9453 # +0x96F9 U+6109 # +0x96FA U+6108 # +0x96FB U+6CB9 # +0x96FC U+7652 # +0x9740 U+8AED # +0x9741 U+8F38 # +0x9742 U+552F # +0x9743 U+4F51 # +0x9744 U+512A # +0x9745 U+52C7 # +0x9746 U+53CB # +0x9747 U+5BA5 # +0x9748 U+5E7D # +0x9749 U+60A0 # +0x974A U+6182 # +0x974B U+63D6 # +0x974C U+6709 # +0x974D U+67DA # +0x974E U+6E67 # +0x974F U+6D8C # +0x9750 U+7336 # +0x9751 U+7337 # +0x9752 U+7531 # +0x9753 U+7950 # +0x9754 U+88D5 # +0x9755 U+8A98 # +0x9756 U+904A # +0x9757 U+9091 # +0x9758 U+90F5 # +0x9759 U+96C4 # +0x975A U+878D # +0x975B U+5915 # +0x975C U+4E88 # +0x975D U+4F59 # +0x975E U+4E0E # +0x975F U+8A89 # +0x9760 U+8F3F # +0x9761 U+9810 # +0x9762 U+50AD # +0x9763 U+5E7C # +0x9764 U+5996 # +0x9765 U+5BB9 # +0x9766 U+5EB8 # +0x9767 U+63DA # +0x9768 U+63FA # +0x9769 U+64C1 # +0x976A U+66DC # +0x976B U+694A # +0x976C U+69D8 # +0x976D U+6D0B # +0x976E U+6EB6 # +0x976F U+7194 # +0x9770 U+7528 # +0x9771 U+7AAF # +0x9772 U+7F8A # +0x9773 U+8000 # +0x9774 U+8449 # +0x9775 U+84C9 # +0x9776 U+8981 # +0x9777 U+8B21 # +0x9778 U+8E0A # +0x9779 U+9065 # +0x977A U+967D # +0x977B U+990A # +0x977C U+617E # +0x977D U+6291 # +0x977E U+6B32 # +0x9780 U+6C83 # +0x9781 U+6D74 # +0x9782 U+7FCC # +0x9783 U+7FFC # +0x9784 U+6DC0 # +0x9785 U+7F85 # +0x9786 U+87BA # +0x9787 U+88F8 # +0x9788 U+6765 # +0x9789 U+83B1 # +0x978A U+983C # +0x978B U+96F7 # +0x978C U+6D1B # +0x978D U+7D61 # +0x978E U+843D # +0x978F U+916A # +0x9790 U+4E71 # +0x9791 U+5375 # +0x9792 U+5D50 # +0x9793 U+6B04 # +0x9794 U+6FEB # +0x9795 U+85CD # +0x9796 U+862D # +0x9797 U+89A7 # +0x9798 U+5229 # +0x9799 U+540F # +0x979A U+5C65 # +0x979B U+674E # +0x979C U+68A8 # +0x979D U+7406 # +0x979E U+7483 # +0x979F U+75E2 # +0x97A0 U+88CF # +0x97A1 U+88E1 # +0x97A2 U+91CC # +0x97A3 U+96E2 # +0x97A4 U+9678 # +0x97A5 U+5F8B # +0x97A6 U+7387 # +0x97A7 U+7ACB # +0x97A8 U+844E # +0x97A9 U+63A0 # +0x97AA U+7565 # +0x97AB U+5289 # +0x97AC U+6D41 # +0x97AD U+6E9C # +0x97AE U+7409 # +0x97AF U+7559 # +0x97B0 U+786B # +0x97B1 U+7C92 # +0x97B2 U+9686 # +0x97B3 U+7ADC # +0x97B4 U+9F8D # +0x97B5 U+4FB6 # +0x97B6 U+616E # +0x97B7 U+65C5 # +0x97B8 U+865C # +0x97B9 U+4E86 # +0x97BA U+4EAE # +0x97BB U+50DA # +0x97BC U+4E21 # +0x97BD U+51CC # +0x97BE U+5BEE # +0x97BF U+6599 # +0x97C0 U+6881 # +0x97C1 U+6DBC # +0x97C2 U+731F # +0x97C3 U+7642 # +0x97C4 U+77AD # +0x97C5 U+7A1C # +0x97C6 U+7CE7 # +0x97C7 U+826F # +0x97C8 U+8AD2 # +0x97C9 U+907C # +0x97CA U+91CF # +0x97CB U+9675 # +0x97CC U+9818 # +0x97CD U+529B # +0x97CE U+7DD1 # +0x97CF U+502B # +0x97D0 U+5398 # +0x97D1 U+6797 # +0x97D2 U+6DCB # +0x97D3 U+71D0 # +0x97D4 U+7433 # +0x97D5 U+81E8 # +0x97D6 U+8F2A # +0x97D7 U+96A3 # +0x97D8 U+9C57 # +0x97D9 U+9E9F # +0x97DA U+7460 # +0x97DB U+5841 # +0x97DC U+6D99 # +0x97DD U+7D2F # +0x97DE U+985E # +0x97DF U+4EE4 # +0x97E0 U+4F36 # +0x97E1 U+4F8B # +0x97E2 U+51B7 # +0x97E3 U+52B1 # +0x97E4 U+5DBA # +0x97E5 U+601C # +0x97E6 U+73B2 # +0x97E7 U+793C # +0x97E8 U+82D3 # +0x97E9 U+9234 # +0x97EA U+96B7 # +0x97EB U+96F6 # +0x97EC U+970A # +0x97ED U+9E97 # +0x97EE U+9F62 # +0x97EF U+66A6 # +0x97F0 U+6B74 # +0x97F1 U+5217 # +0x97F2 U+52A3 # +0x97F3 U+70C8 # +0x97F4 U+88C2 # +0x97F5 U+5EC9 # +0x97F6 U+604B # +0x97F7 U+6190 # +0x97F8 U+6F23 # +0x97F9 U+7149 # +0x97FA U+7C3E # +0x97FB U+7DF4 # +0x97FC U+806F # +0x9840 U+84EE # +0x9841 U+9023 # +0x9842 U+932C # +0x9843 U+5442 # +0x9844 U+9B6F # +0x9845 U+6AD3 # +0x9846 U+7089 # +0x9847 U+8CC2 # +0x9848 U+8DEF # +0x9849 U+9732 # +0x984A U+52B4 # +0x984B U+5A41 # +0x984C U+5ECA # +0x984D U+5F04 # +0x984E U+6717 # +0x984F U+697C # +0x9850 U+6994 # +0x9851 U+6D6A # +0x9852 U+6F0F # +0x9853 U+7262 # +0x9854 U+72FC # +0x9855 U+7BED # +0x9856 U+8001 # +0x9857 U+807E # +0x9858 U+874B # +0x9859 U+90CE # +0x985A U+516D # +0x985B U+9E93 # +0x985C U+7984 # +0x985D U+808B # +0x985E U+9332 # +0x985F U+8AD6 # +0x9860 U+502D # +0x9861 U+548C # +0x9862 U+8A71 # +0x9863 U+6B6A # +0x9864 U+8CC4 # +0x9865 U+8107 # +0x9866 U+60D1 # +0x9867 U+67A0 # +0x9868 U+9DF2 # +0x9869 U+4E99 # +0x986A U+4E98 # +0x986B U+9C10 # +0x986C U+8A6B # +0x986D U+85C1 # +0x986E U+8568 # +0x986F U+6900 # +0x9870 U+6E7E # +0x9871 U+7897 # +0x9872 U+8155 # +0x9873 U+20B9F # [2004] [Unicode3.1] +0x9874 U+5B41 # [2000] +0x9875 U+5B56 # [2000] +0x9876 U+5B7D # [2000] +0x9877 U+5B93 # [2000] +0x9878 U+5BD8 # [2000] +0x9879 U+5BEC # [2000] +0x987A U+5C12 # [2000] +0x987B U+5C1E # [2000] +0x987C U+5C23 # [2000] +0x987D U+5C2B # [2000] +0x987E U+378D # [2000] +0x9880 U+5C62 # [2000] +0x9881 U+FA3B # CJK COMPATIBILITY IDEOGRAPH-FA3B [2000] [Unicode3.2] +0x9882 U+FA3C # CJK COMPATIBILITY IDEOGRAPH-FA3C [2000] [Unicode3.2] +0x9883 U+216B4 # [2000] [Unicode3.1] +0x9884 U+5C7A # [2000] +0x9885 U+5C8F # [2000] +0x9886 U+5C9F # [2000] +0x9887 U+5CA3 # [2000] +0x9888 U+5CAA # [2000] +0x9889 U+5CBA # [2000] +0x988A U+5CCB # [2000] +0x988B U+5CD0 # [2000] +0x988C U+5CD2 # [2000] +0x988D U+5CF4 # [2000] +0x988E U+21E34 # [2000] [Unicode3.1] +0x988F U+37E2 # [2000] +0x9890 U+5D0D # [2000] +0x9891 U+5D27 # [2000] +0x9892 U+FA11 # CJK COMPATIBILITY IDEOGRAPH-FA11 [2000] +0x9893 U+5D46 # [2000] +0x9894 U+5D47 # [2000] +0x9895 U+5D53 # [2000] +0x9896 U+5D4A # [2000] +0x9897 U+5D6D # [2000] +0x9898 U+5D81 # [2000] +0x9899 U+5DA0 # [2000] +0x989A U+5DA4 # [2000] +0x989B U+5DA7 # [2000] +0x989C U+5DB8 # [2000] +0x989D U+5DCB # [2000] +0x989E U+541E # [2004] +0x989F U+5F0C # +0x98A0 U+4E10 # +0x98A1 U+4E15 # +0x98A2 U+4E2A # +0x98A3 U+4E31 # +0x98A4 U+4E36 # +0x98A5 U+4E3C # +0x98A6 U+4E3F # +0x98A7 U+4E42 # +0x98A8 U+4E56 # +0x98A9 U+4E58 # +0x98AA U+4E82 # +0x98AB U+4E85 # +0x98AC U+8C6B # +0x98AD U+4E8A # +0x98AE U+8212 # +0x98AF U+5F0D # +0x98B0 U+4E8E # +0x98B1 U+4E9E # +0x98B2 U+4E9F # +0x98B3 U+4EA0 # +0x98B4 U+4EA2 # +0x98B5 U+4EB0 # +0x98B6 U+4EB3 # +0x98B7 U+4EB6 # +0x98B8 U+4ECE # +0x98B9 U+4ECD # +0x98BA U+4EC4 # +0x98BB U+4EC6 # +0x98BC U+4EC2 # +0x98BD U+4ED7 # +0x98BE U+4EDE # +0x98BF U+4EED # +0x98C0 U+4EDF # +0x98C1 U+4EF7 # +0x98C2 U+4F09 # +0x98C3 U+4F5A # +0x98C4 U+4F30 # +0x98C5 U+4F5B # +0x98C6 U+4F5D # +0x98C7 U+4F57 # +0x98C8 U+4F47 # +0x98C9 U+4F76 # +0x98CA U+4F88 # +0x98CB U+4F8F # +0x98CC U+4F98 # +0x98CD U+4F7B # +0x98CE U+4F69 # +0x98CF U+4F70 # +0x98D0 U+4F91 # +0x98D1 U+4F6F # +0x98D2 U+4F86 # +0x98D3 U+4F96 # +0x98D4 U+5118 # +0x98D5 U+4FD4 # +0x98D6 U+4FDF # +0x98D7 U+4FCE # +0x98D8 U+4FD8 # +0x98D9 U+4FDB # +0x98DA U+4FD1 # +0x98DB U+4FDA # +0x98DC U+4FD0 # +0x98DD U+4FE4 # +0x98DE U+4FE5 # +0x98DF U+501A # +0x98E0 U+5028 # +0x98E1 U+5014 # +0x98E2 U+502A # +0x98E3 U+5025 # +0x98E4 U+5005 # +0x98E5 U+4F1C # +0x98E6 U+4FF6 # +0x98E7 U+5021 # +0x98E8 U+5029 # +0x98E9 U+502C # +0x98EA U+4FFE # +0x98EB U+4FEF # +0x98EC U+5011 # +0x98ED U+5006 # +0x98EE U+5043 # +0x98EF U+5047 # +0x98F0 U+6703 # +0x98F1 U+5055 # +0x98F2 U+5050 # +0x98F3 U+5048 # +0x98F4 U+505A # +0x98F5 U+5056 # +0x98F6 U+506C # +0x98F7 U+5078 # +0x98F8 U+5080 # +0x98F9 U+509A # +0x98FA U+5085 # +0x98FB U+50B4 # +0x98FC U+50B2 # +0x9940 U+50C9 # +0x9941 U+50CA # +0x9942 U+50B3 # +0x9943 U+50C2 # +0x9944 U+50D6 # +0x9945 U+50DE # +0x9946 U+50E5 # +0x9947 U+50ED # +0x9948 U+50E3 # +0x9949 U+50EE # +0x994A U+50F9 # +0x994B U+50F5 # +0x994C U+5109 # +0x994D U+5101 # +0x994E U+5102 # +0x994F U+5116 # +0x9950 U+5115 # +0x9951 U+5114 # +0x9952 U+511A # +0x9953 U+5121 # +0x9954 U+513A # +0x9955 U+5137 # +0x9956 U+513C # +0x9957 U+513B # +0x9958 U+513F # +0x9959 U+5140 # +0x995A U+5152 # +0x995B U+514C # +0x995C U+5154 # +0x995D U+5162 # +0x995E U+7AF8 # +0x995F U+5169 # +0x9960 U+516A # +0x9961 U+516E # +0x9962 U+5180 # +0x9963 U+5182 # +0x9964 U+56D8 # +0x9965 U+518C # +0x9966 U+5189 # +0x9967 U+518F # +0x9968 U+5191 # +0x9969 U+5193 # +0x996A U+5195 # +0x996B U+5196 # +0x996C U+51A4 # +0x996D U+51A6 # +0x996E U+51A2 # +0x996F U+51A9 # +0x9970 U+51AA # +0x9971 U+51AB # +0x9972 U+51B3 # +0x9973 U+51B1 # +0x9974 U+51B2 # +0x9975 U+51B0 # +0x9976 U+51B5 # +0x9977 U+51BD # +0x9978 U+51C5 # +0x9979 U+51C9 # +0x997A U+51DB # +0x997B U+51E0 # +0x997C U+8655 # +0x997D U+51E9 # +0x997E U+51ED # +0x9980 U+51F0 # +0x9981 U+51F5 # +0x9982 U+51FE # +0x9983 U+5204 # +0x9984 U+520B # +0x9985 U+5214 # +0x9986 U+520E # +0x9987 U+5227 # +0x9988 U+522A # +0x9989 U+522E # +0x998A U+5233 # +0x998B U+5239 # +0x998C U+524F # +0x998D U+5244 # +0x998E U+524B # +0x998F U+524C # +0x9990 U+525E # +0x9991 U+5254 # +0x9992 U+526A # +0x9993 U+5274 # +0x9994 U+5269 # +0x9995 U+5273 # +0x9996 U+527F # +0x9997 U+527D # +0x9998 U+528D # +0x9999 U+5294 # +0x999A U+5292 # +0x999B U+5271 # +0x999C U+5288 # +0x999D U+5291 # +0x999E U+8FA8 # +0x999F U+8FA7 # +0x99A0 U+52AC # +0x99A1 U+52AD # +0x99A2 U+52BC # +0x99A3 U+52B5 # +0x99A4 U+52C1 # +0x99A5 U+52CD # +0x99A6 U+52D7 # +0x99A7 U+52DE # +0x99A8 U+52E3 # +0x99A9 U+52E6 # +0x99AA U+98ED # +0x99AB U+52E0 # +0x99AC U+52F3 # +0x99AD U+52F5 # +0x99AE U+52F8 # +0x99AF U+52F9 # +0x99B0 U+5306 # +0x99B1 U+5308 # +0x99B2 U+7538 # +0x99B3 U+530D # +0x99B4 U+5310 # +0x99B5 U+530F # +0x99B6 U+5315 # +0x99B7 U+531A # +0x99B8 U+5323 # +0x99B9 U+532F # +0x99BA U+5331 # +0x99BB U+5333 # +0x99BC U+5338 # +0x99BD U+5340 # +0x99BE U+5346 # +0x99BF U+5345 # +0x99C0 U+4E17 # +0x99C1 U+5349 # +0x99C2 U+534D # +0x99C3 U+51D6 # +0x99C4 U+535E # +0x99C5 U+5369 # +0x99C6 U+536E # +0x99C7 U+5918 # +0x99C8 U+537B # +0x99C9 U+5377 # +0x99CA U+5382 # +0x99CB U+5396 # +0x99CC U+53A0 # +0x99CD U+53A6 # +0x99CE U+53A5 # +0x99CF U+53AE # +0x99D0 U+53B0 # +0x99D1 U+53B6 # +0x99D2 U+53C3 # +0x99D3 U+7C12 # +0x99D4 U+96D9 # +0x99D5 U+53DF # +0x99D6 U+66FC # +0x99D7 U+71EE # +0x99D8 U+53EE # +0x99D9 U+53E8 # +0x99DA U+53ED # +0x99DB U+53FA # +0x99DC U+5401 # +0x99DD U+543D # +0x99DE U+5440 # +0x99DF U+542C # +0x99E0 U+542D # +0x99E1 U+543C # +0x99E2 U+542E # +0x99E3 U+5436 # +0x99E4 U+5429 # +0x99E5 U+541D # +0x99E6 U+544E # +0x99E7 U+548F # +0x99E8 U+5475 # +0x99E9 U+548E # +0x99EA U+545F # +0x99EB U+5471 # +0x99EC U+5477 # +0x99ED U+5470 # +0x99EE U+5492 # +0x99EF U+547B # +0x99F0 U+5480 # +0x99F1 U+5476 # +0x99F2 U+5484 # +0x99F3 U+5490 # +0x99F4 U+5486 # +0x99F5 U+54C7 # +0x99F6 U+54A2 # +0x99F7 U+54B8 # +0x99F8 U+54A5 # +0x99F9 U+54AC # +0x99FA U+54C4 # +0x99FB U+54C8 # +0x99FC U+54A8 # +0x9A40 U+54AB # +0x9A41 U+54C2 # +0x9A42 U+54A4 # +0x9A43 U+54BE # +0x9A44 U+54BC # +0x9A45 U+54D8 # +0x9A46 U+54E5 # +0x9A47 U+54E6 # +0x9A48 U+550F # +0x9A49 U+5514 # +0x9A4A U+54FD # +0x9A4B U+54EE # +0x9A4C U+54ED # +0x9A4D U+54FA # +0x9A4E U+54E2 # +0x9A4F U+5539 # +0x9A50 U+5540 # +0x9A51 U+5563 # +0x9A52 U+554C # +0x9A53 U+552E # +0x9A54 U+555C # +0x9A55 U+5545 # +0x9A56 U+5556 # +0x9A57 U+5557 # +0x9A58 U+5538 # +0x9A59 U+5533 # +0x9A5A U+555D # +0x9A5B U+5599 # +0x9A5C U+5580 # +0x9A5D U+54AF # +0x9A5E U+558A # +0x9A5F U+559F # +0x9A60 U+557B # +0x9A61 U+557E # +0x9A62 U+5598 # +0x9A63 U+559E # +0x9A64 U+55AE # +0x9A65 U+557C # +0x9A66 U+5583 # +0x9A67 U+55A9 # +0x9A68 U+5587 # +0x9A69 U+55A8 # +0x9A6A U+55DA # +0x9A6B U+55C5 # +0x9A6C U+55DF # +0x9A6D U+55C4 # +0x9A6E U+55DC # +0x9A6F U+55E4 # +0x9A70 U+55D4 # +0x9A71 U+5614 # +0x9A72 U+55F7 # +0x9A73 U+5616 # +0x9A74 U+55FE # +0x9A75 U+55FD # +0x9A76 U+561B # +0x9A77 U+55F9 # +0x9A78 U+564E # +0x9A79 U+5650 # +0x9A7A U+71DF # +0x9A7B U+5634 # +0x9A7C U+5636 # +0x9A7D U+5632 # +0x9A7E U+5638 # +0x9A80 U+566B # +0x9A81 U+5664 # +0x9A82 U+562F # +0x9A83 U+566C # +0x9A84 U+566A # +0x9A85 U+5686 # +0x9A86 U+5680 # +0x9A87 U+568A # +0x9A88 U+56A0 # +0x9A89 U+5694 # +0x9A8A U+568F # +0x9A8B U+56A5 # +0x9A8C U+56AE # +0x9A8D U+56B6 # +0x9A8E U+56B4 # +0x9A8F U+56C2 # +0x9A90 U+56BC # +0x9A91 U+56C1 # +0x9A92 U+56C3 # +0x9A93 U+56C0 # +0x9A94 U+56C8 # +0x9A95 U+56CE # +0x9A96 U+56D1 # +0x9A97 U+56D3 # +0x9A98 U+56D7 # +0x9A99 U+56EE # +0x9A9A U+56F9 # +0x9A9B U+5700 # +0x9A9C U+56FF # +0x9A9D U+5704 # +0x9A9E U+5709 # +0x9A9F U+5708 # +0x9AA0 U+570B # +0x9AA1 U+570D # +0x9AA2 U+5713 # +0x9AA3 U+5718 # +0x9AA4 U+5716 # +0x9AA5 U+55C7 # +0x9AA6 U+571C # +0x9AA7 U+5726 # +0x9AA8 U+5737 # +0x9AA9 U+5738 # +0x9AAA U+574E # +0x9AAB U+573B # +0x9AAC U+5740 # +0x9AAD U+574F # +0x9AAE U+5769 # +0x9AAF U+57C0 # +0x9AB0 U+5788 # +0x9AB1 U+5761 # +0x9AB2 U+577F # +0x9AB3 U+5789 # +0x9AB4 U+5793 # +0x9AB5 U+57A0 # +0x9AB6 U+57B3 # +0x9AB7 U+57A4 # +0x9AB8 U+57AA # +0x9AB9 U+57B0 # +0x9ABA U+57C3 # +0x9ABB U+57C6 # +0x9ABC U+57D4 # +0x9ABD U+57D2 # +0x9ABE U+57D3 # +0x9ABF U+580A # +0x9AC0 U+57D6 # +0x9AC1 U+57E3 # +0x9AC2 U+580B # +0x9AC3 U+5819 # +0x9AC4 U+581D # +0x9AC5 U+5872 # +0x9AC6 U+5821 # +0x9AC7 U+5862 # +0x9AC8 U+584B # +0x9AC9 U+5870 # +0x9ACA U+6BC0 # +0x9ACB U+5852 # +0x9ACC U+583D # +0x9ACD U+5879 # +0x9ACE U+5885 # +0x9ACF U+58B9 # +0x9AD0 U+589F # +0x9AD1 U+58AB # +0x9AD2 U+58BA # +0x9AD3 U+58DE # +0x9AD4 U+58BB # +0x9AD5 U+58B8 # +0x9AD6 U+58AE # +0x9AD7 U+58C5 # +0x9AD8 U+58D3 # +0x9AD9 U+58D1 # +0x9ADA U+58D7 # +0x9ADB U+58D9 # +0x9ADC U+58D8 # +0x9ADD U+58E5 # +0x9ADE U+58DC # +0x9ADF U+58E4 # +0x9AE0 U+58DF # +0x9AE1 U+58EF # +0x9AE2 U+58FA # +0x9AE3 U+58F9 # +0x9AE4 U+58FB # +0x9AE5 U+58FC # +0x9AE6 U+58FD # +0x9AE7 U+5902 # +0x9AE8 U+590A # +0x9AE9 U+5910 # +0x9AEA U+591B # +0x9AEB U+68A6 # +0x9AEC U+5925 # +0x9AED U+592C # +0x9AEE U+592D # +0x9AEF U+5932 # +0x9AF0 U+5938 # +0x9AF1 U+593E # +0x9AF2 U+7AD2 # +0x9AF3 U+5955 # +0x9AF4 U+5950 # +0x9AF5 U+594E # +0x9AF6 U+595A # +0x9AF7 U+5958 # +0x9AF8 U+5962 # +0x9AF9 U+5960 # +0x9AFA U+5967 # +0x9AFB U+596C # +0x9AFC U+5969 # +0x9B40 U+5978 # +0x9B41 U+5981 # +0x9B42 U+599D # +0x9B43 U+4F5E # +0x9B44 U+4FAB # +0x9B45 U+59A3 # +0x9B46 U+59B2 # +0x9B47 U+59C6 # +0x9B48 U+59E8 # +0x9B49 U+59DC # +0x9B4A U+598D # +0x9B4B U+59D9 # +0x9B4C U+59DA # +0x9B4D U+5A25 # +0x9B4E U+5A1F # +0x9B4F U+5A11 # +0x9B50 U+5A1C # +0x9B51 U+5A09 # +0x9B52 U+5A1A # +0x9B53 U+5A40 # +0x9B54 U+5A6C # +0x9B55 U+5A49 # +0x9B56 U+5A35 # +0x9B57 U+5A36 # +0x9B58 U+5A62 # +0x9B59 U+5A6A # +0x9B5A U+5A9A # +0x9B5B U+5ABC # +0x9B5C U+5ABE # +0x9B5D U+5ACB # +0x9B5E U+5AC2 # +0x9B5F U+5ABD # +0x9B60 U+5AE3 # +0x9B61 U+5AD7 # +0x9B62 U+5AE6 # +0x9B63 U+5AE9 # +0x9B64 U+5AD6 # +0x9B65 U+5AFA # +0x9B66 U+5AFB # +0x9B67 U+5B0C # +0x9B68 U+5B0B # +0x9B69 U+5B16 # +0x9B6A U+5B32 # +0x9B6B U+5AD0 # +0x9B6C U+5B2A # +0x9B6D U+5B36 # +0x9B6E U+5B3E # +0x9B6F U+5B43 # +0x9B70 U+5B45 # +0x9B71 U+5B40 # +0x9B72 U+5B51 # +0x9B73 U+5B55 # +0x9B74 U+5B5A # +0x9B75 U+5B5B # +0x9B76 U+5B65 # +0x9B77 U+5B69 # +0x9B78 U+5B70 # +0x9B79 U+5B73 # +0x9B7A U+5B75 # +0x9B7B U+5B78 # +0x9B7C U+6588 # +0x9B7D U+5B7A # +0x9B7E U+5B80 # +0x9B80 U+5B83 # +0x9B81 U+5BA6 # +0x9B82 U+5BB8 # +0x9B83 U+5BC3 # +0x9B84 U+5BC7 # +0x9B85 U+5BC9 # +0x9B86 U+5BD4 # +0x9B87 U+5BD0 # +0x9B88 U+5BE4 # +0x9B89 U+5BE6 # +0x9B8A U+5BE2 # +0x9B8B U+5BDE # +0x9B8C U+5BE5 # +0x9B8D U+5BEB # +0x9B8E U+5BF0 # +0x9B8F U+5BF6 # +0x9B90 U+5BF3 # +0x9B91 U+5C05 # +0x9B92 U+5C07 # +0x9B93 U+5C08 # +0x9B94 U+5C0D # +0x9B95 U+5C13 # +0x9B96 U+5C20 # +0x9B97 U+5C22 # +0x9B98 U+5C28 # +0x9B99 U+5C38 # +0x9B9A U+5C39 # +0x9B9B U+5C41 # +0x9B9C U+5C46 # +0x9B9D U+5C4E # +0x9B9E U+5C53 # +0x9B9F U+5C50 # +0x9BA0 U+5C4F # +0x9BA1 U+5B71 # +0x9BA2 U+5C6C # +0x9BA3 U+5C6E # +0x9BA4 U+4E62 # +0x9BA5 U+5C76 # +0x9BA6 U+5C79 # +0x9BA7 U+5C8C # +0x9BA8 U+5C91 # +0x9BA9 U+5C94 # +0x9BAA U+599B # +0x9BAB U+5CAB # +0x9BAC U+5CBB # +0x9BAD U+5CB6 # +0x9BAE U+5CBC # +0x9BAF U+5CB7 # +0x9BB0 U+5CC5 # +0x9BB1 U+5CBE # +0x9BB2 U+5CC7 # +0x9BB3 U+5CD9 # +0x9BB4 U+5CE9 # +0x9BB5 U+5CFD # +0x9BB6 U+5CFA # +0x9BB7 U+5CED # +0x9BB8 U+5D8C # +0x9BB9 U+5CEA # +0x9BBA U+5D0B # +0x9BBB U+5D15 # +0x9BBC U+5D17 # +0x9BBD U+5D5C # +0x9BBE U+5D1F # +0x9BBF U+5D1B # +0x9BC0 U+5D11 # +0x9BC1 U+5D14 # +0x9BC2 U+5D22 # +0x9BC3 U+5D1A # +0x9BC4 U+5D19 # +0x9BC5 U+5D18 # +0x9BC6 U+5D4C # +0x9BC7 U+5D52 # +0x9BC8 U+5D4E # +0x9BC9 U+5D4B # +0x9BCA U+5D6C # +0x9BCB U+5D73 # +0x9BCC U+5D76 # +0x9BCD U+5D87 # +0x9BCE U+5D84 # +0x9BCF U+5D82 # +0x9BD0 U+5DA2 # +0x9BD1 U+5D9D # +0x9BD2 U+5DAC # +0x9BD3 U+5DAE # +0x9BD4 U+5DBD # +0x9BD5 U+5D90 # +0x9BD6 U+5DB7 # +0x9BD7 U+5DBC # +0x9BD8 U+5DC9 # +0x9BD9 U+5DCD # +0x9BDA U+5DD3 # +0x9BDB U+5DD2 # +0x9BDC U+5DD6 # +0x9BDD U+5DDB # +0x9BDE U+5DEB # +0x9BDF U+5DF2 # +0x9BE0 U+5DF5 # +0x9BE1 U+5E0B # +0x9BE2 U+5E1A # +0x9BE3 U+5E19 # +0x9BE4 U+5E11 # +0x9BE5 U+5E1B # +0x9BE6 U+5E36 # +0x9BE7 U+5E37 # +0x9BE8 U+5E44 # +0x9BE9 U+5E43 # +0x9BEA U+5E40 # +0x9BEB U+5E4E # +0x9BEC U+5E57 # +0x9BED U+5E54 # +0x9BEE U+5E5F # +0x9BEF U+5E62 # +0x9BF0 U+5E64 # +0x9BF1 U+5E47 # +0x9BF2 U+5E75 # +0x9BF3 U+5E76 # +0x9BF4 U+5E7A # +0x9BF5 U+9EBC # +0x9BF6 U+5E7F # +0x9BF7 U+5EA0 # +0x9BF8 U+5EC1 # +0x9BF9 U+5EC2 # +0x9BFA U+5EC8 # +0x9BFB U+5ED0 # +0x9BFC U+5ECF # +0x9C40 U+5ED6 # +0x9C41 U+5EE3 # +0x9C42 U+5EDD # +0x9C43 U+5EDA # +0x9C44 U+5EDB # +0x9C45 U+5EE2 # +0x9C46 U+5EE1 # +0x9C47 U+5EE8 # +0x9C48 U+5EE9 # +0x9C49 U+5EEC # +0x9C4A U+5EF1 # +0x9C4B U+5EF3 # +0x9C4C U+5EF0 # +0x9C4D U+5EF4 # +0x9C4E U+5EF8 # +0x9C4F U+5EFE # +0x9C50 U+5F03 # +0x9C51 U+5F09 # +0x9C52 U+5F5D # +0x9C53 U+5F5C # +0x9C54 U+5F0B # +0x9C55 U+5F11 # +0x9C56 U+5F16 # +0x9C57 U+5F29 # +0x9C58 U+5F2D # +0x9C59 U+5F38 # +0x9C5A U+5F41 # +0x9C5B U+5F48 # +0x9C5C U+5F4C # +0x9C5D U+5F4E # +0x9C5E U+5F2F # +0x9C5F U+5F51 # +0x9C60 U+5F56 # +0x9C61 U+5F57 # +0x9C62 U+5F59 # +0x9C63 U+5F61 # +0x9C64 U+5F6D # +0x9C65 U+5F73 # +0x9C66 U+5F77 # +0x9C67 U+5F83 # +0x9C68 U+5F82 # +0x9C69 U+5F7F # +0x9C6A U+5F8A # +0x9C6B U+5F88 # +0x9C6C U+5F91 # +0x9C6D U+5F87 # +0x9C6E U+5F9E # +0x9C6F U+5F99 # +0x9C70 U+5F98 # +0x9C71 U+5FA0 # +0x9C72 U+5FA8 # +0x9C73 U+5FAD # +0x9C74 U+5FBC # +0x9C75 U+5FD6 # +0x9C76 U+5FFB # +0x9C77 U+5FE4 # +0x9C78 U+5FF8 # +0x9C79 U+5FF1 # +0x9C7A U+5FDD # +0x9C7B U+60B3 # +0x9C7C U+5FFF # +0x9C7D U+6021 # +0x9C7E U+6060 # +0x9C80 U+6019 # +0x9C81 U+6010 # +0x9C82 U+6029 # +0x9C83 U+600E # +0x9C84 U+6031 # +0x9C85 U+601B # +0x9C86 U+6015 # +0x9C87 U+602B # +0x9C88 U+6026 # +0x9C89 U+600F # +0x9C8A U+603A # +0x9C8B U+605A # +0x9C8C U+6041 # +0x9C8D U+606A # +0x9C8E U+6077 # +0x9C8F U+605F # +0x9C90 U+604A # +0x9C91 U+6046 # +0x9C92 U+604D # +0x9C93 U+6063 # +0x9C94 U+6043 # +0x9C95 U+6064 # +0x9C96 U+6042 # +0x9C97 U+606C # +0x9C98 U+606B # +0x9C99 U+6059 # +0x9C9A U+6081 # +0x9C9B U+608D # +0x9C9C U+60E7 # +0x9C9D U+6083 # +0x9C9E U+609A # +0x9C9F U+6084 # +0x9CA0 U+609B # +0x9CA1 U+6096 # +0x9CA2 U+6097 # +0x9CA3 U+6092 # +0x9CA4 U+60A7 # +0x9CA5 U+608B # +0x9CA6 U+60E1 # +0x9CA7 U+60B8 # +0x9CA8 U+60E0 # +0x9CA9 U+60D3 # +0x9CAA U+60B4 # +0x9CAB U+5FF0 # +0x9CAC U+60BD # +0x9CAD U+60C6 # +0x9CAE U+60B5 # +0x9CAF U+60D8 # +0x9CB0 U+614D # +0x9CB1 U+6115 # +0x9CB2 U+6106 # +0x9CB3 U+60F6 # +0x9CB4 U+60F7 # +0x9CB5 U+6100 # +0x9CB6 U+60F4 # +0x9CB7 U+60FA # +0x9CB8 U+6103 # +0x9CB9 U+6121 # +0x9CBA U+60FB # +0x9CBB U+60F1 # +0x9CBC U+610D # +0x9CBD U+610E # +0x9CBE U+6147 # +0x9CBF U+613E # +0x9CC0 U+6128 # +0x9CC1 U+6127 # +0x9CC2 U+614A # +0x9CC3 U+613F # +0x9CC4 U+613C # +0x9CC5 U+612C # +0x9CC6 U+6134 # +0x9CC7 U+613D # +0x9CC8 U+6142 # +0x9CC9 U+6144 # +0x9CCA U+6173 # +0x9CCB U+6177 # +0x9CCC U+6158 # +0x9CCD U+6159 # +0x9CCE U+615A # +0x9CCF U+616B # +0x9CD0 U+6174 # +0x9CD1 U+616F # +0x9CD2 U+6165 # +0x9CD3 U+6171 # +0x9CD4 U+615F # +0x9CD5 U+615D # +0x9CD6 U+6153 # +0x9CD7 U+6175 # +0x9CD8 U+6199 # +0x9CD9 U+6196 # +0x9CDA U+6187 # +0x9CDB U+61AC # +0x9CDC U+6194 # +0x9CDD U+619A # +0x9CDE U+618A # +0x9CDF U+6191 # +0x9CE0 U+61AB # +0x9CE1 U+61AE # +0x9CE2 U+61CC # +0x9CE3 U+61CA # +0x9CE4 U+61C9 # +0x9CE5 U+61F7 # +0x9CE6 U+61C8 # +0x9CE7 U+61C3 # +0x9CE8 U+61C6 # +0x9CE9 U+61BA # +0x9CEA U+61CB # +0x9CEB U+7F79 # +0x9CEC U+61CD # +0x9CED U+61E6 # +0x9CEE U+61E3 # +0x9CEF U+61F6 # +0x9CF0 U+61FA # +0x9CF1 U+61F4 # +0x9CF2 U+61FF # +0x9CF3 U+61FD # +0x9CF4 U+61FC # +0x9CF5 U+61FE # +0x9CF6 U+6200 # +0x9CF7 U+6208 # +0x9CF8 U+6209 # +0x9CF9 U+620D # +0x9CFA U+620C # +0x9CFB U+6214 # +0x9CFC U+621B # +0x9D40 U+621E # +0x9D41 U+6221 # +0x9D42 U+622A # +0x9D43 U+622E # +0x9D44 U+6230 # +0x9D45 U+6232 # +0x9D46 U+6233 # +0x9D47 U+6241 # +0x9D48 U+624E # +0x9D49 U+625E # +0x9D4A U+6263 # +0x9D4B U+625B # +0x9D4C U+6260 # +0x9D4D U+6268 # +0x9D4E U+627C # +0x9D4F U+6282 # +0x9D50 U+6289 # +0x9D51 U+627E # +0x9D52 U+6292 # +0x9D53 U+6293 # +0x9D54 U+6296 # +0x9D55 U+62D4 # +0x9D56 U+6283 # +0x9D57 U+6294 # +0x9D58 U+62D7 # +0x9D59 U+62D1 # +0x9D5A U+62BB # +0x9D5B U+62CF # +0x9D5C U+62FF # +0x9D5D U+62C6 # +0x9D5E U+64D4 # +0x9D5F U+62C8 # +0x9D60 U+62DC # +0x9D61 U+62CC # +0x9D62 U+62CA # +0x9D63 U+62C2 # +0x9D64 U+62C7 # +0x9D65 U+629B # +0x9D66 U+62C9 # +0x9D67 U+630C # +0x9D68 U+62EE # +0x9D69 U+62F1 # +0x9D6A U+6327 # +0x9D6B U+6302 # +0x9D6C U+6308 # +0x9D6D U+62EF # +0x9D6E U+62F5 # +0x9D6F U+6350 # +0x9D70 U+633E # +0x9D71 U+634D # +0x9D72 U+641C # +0x9D73 U+634F # +0x9D74 U+6396 # +0x9D75 U+638E # +0x9D76 U+6380 # +0x9D77 U+63AB # +0x9D78 U+6376 # +0x9D79 U+63A3 # +0x9D7A U+638F # +0x9D7B U+6389 # +0x9D7C U+639F # +0x9D7D U+63B5 # +0x9D7E U+636B # +0x9D80 U+6369 # +0x9D81 U+63BE # +0x9D82 U+63E9 # +0x9D83 U+63C0 # +0x9D84 U+63C6 # +0x9D85 U+63E3 # +0x9D86 U+63C9 # +0x9D87 U+63D2 # +0x9D88 U+63F6 # +0x9D89 U+63C4 # +0x9D8A U+6416 # +0x9D8B U+6434 # +0x9D8C U+6406 # +0x9D8D U+6413 # +0x9D8E U+6426 # +0x9D8F U+6436 # +0x9D90 U+651D # +0x9D91 U+6417 # +0x9D92 U+6428 # +0x9D93 U+640F # +0x9D94 U+6467 # +0x9D95 U+646F # +0x9D96 U+6476 # +0x9D97 U+644E # +0x9D98 U+652A # +0x9D99 U+6495 # +0x9D9A U+6493 # +0x9D9B U+64A5 # +0x9D9C U+64A9 # +0x9D9D U+6488 # +0x9D9E U+64BC # +0x9D9F U+64DA # +0x9DA0 U+64D2 # +0x9DA1 U+64C5 # +0x9DA2 U+64C7 # +0x9DA3 U+64BB # +0x9DA4 U+64D8 # +0x9DA5 U+64C2 # +0x9DA6 U+64F1 # +0x9DA7 U+64E7 # +0x9DA8 U+8209 # +0x9DA9 U+64E0 # +0x9DAA U+64E1 # +0x9DAB U+62AC # +0x9DAC U+64E3 # +0x9DAD U+64EF # +0x9DAE U+652C # +0x9DAF U+64F6 # +0x9DB0 U+64F4 # +0x9DB1 U+64F2 # +0x9DB2 U+64FA # +0x9DB3 U+6500 # +0x9DB4 U+64FD # +0x9DB5 U+6518 # +0x9DB6 U+651C # +0x9DB7 U+6505 # +0x9DB8 U+6524 # +0x9DB9 U+6523 # +0x9DBA U+652B # +0x9DBB U+6534 # +0x9DBC U+6535 # +0x9DBD U+6537 # +0x9DBE U+6536 # +0x9DBF U+6538 # +0x9DC0 U+754B # +0x9DC1 U+6548 # +0x9DC2 U+6556 # +0x9DC3 U+6555 # +0x9DC4 U+654D # +0x9DC5 U+6558 # +0x9DC6 U+655E # +0x9DC7 U+655D # +0x9DC8 U+6572 # +0x9DC9 U+6578 # +0x9DCA U+6582 # +0x9DCB U+6583 # +0x9DCC U+8B8A # +0x9DCD U+659B # +0x9DCE U+659F # +0x9DCF U+65AB # +0x9DD0 U+65B7 # +0x9DD1 U+65C3 # +0x9DD2 U+65C6 # +0x9DD3 U+65C1 # +0x9DD4 U+65C4 # +0x9DD5 U+65CC # +0x9DD6 U+65D2 # +0x9DD7 U+65DB # +0x9DD8 U+65D9 # +0x9DD9 U+65E0 # +0x9DDA U+65E1 # +0x9DDB U+65F1 # +0x9DDC U+6772 # +0x9DDD U+660A # +0x9DDE U+6603 # +0x9DDF U+65FB # +0x9DE0 U+6773 # +0x9DE1 U+6635 # +0x9DE2 U+6636 # +0x9DE3 U+6634 # +0x9DE4 U+661C # +0x9DE5 U+664F # +0x9DE6 U+6644 # +0x9DE7 U+6649 # +0x9DE8 U+6641 # +0x9DE9 U+665E # +0x9DEA U+665D # +0x9DEB U+6664 # +0x9DEC U+6667 # +0x9DED U+6668 # +0x9DEE U+665F # +0x9DEF U+6662 # +0x9DF0 U+6670 # +0x9DF1 U+6683 # +0x9DF2 U+6688 # +0x9DF3 U+668E # +0x9DF4 U+6689 # +0x9DF5 U+6684 # +0x9DF6 U+6698 # +0x9DF7 U+669D # +0x9DF8 U+66C1 # +0x9DF9 U+66B9 # +0x9DFA U+66C9 # +0x9DFB U+66BE # +0x9DFC U+66BC # +0x9E40 U+66C4 # +0x9E41 U+66B8 # +0x9E42 U+66D6 # +0x9E43 U+66DA # +0x9E44 U+66E0 # +0x9E45 U+663F # +0x9E46 U+66E6 # +0x9E47 U+66E9 # +0x9E48 U+66F0 # +0x9E49 U+66F5 # +0x9E4A U+66F7 # +0x9E4B U+670F # +0x9E4C U+6716 # +0x9E4D U+671E # +0x9E4E U+6726 # +0x9E4F U+6727 # +0x9E50 U+9738 # +0x9E51 U+672E # +0x9E52 U+673F # +0x9E53 U+6736 # +0x9E54 U+6741 # +0x9E55 U+6738 # +0x9E56 U+6737 # +0x9E57 U+6746 # +0x9E58 U+675E # +0x9E59 U+6760 # +0x9E5A U+6759 # +0x9E5B U+6763 # +0x9E5C U+6764 # +0x9E5D U+6789 # +0x9E5E U+6770 # +0x9E5F U+67A9 # +0x9E60 U+677C # +0x9E61 U+676A # +0x9E62 U+678C # +0x9E63 U+678B # +0x9E64 U+67A6 # +0x9E65 U+67A1 # +0x9E66 U+6785 # +0x9E67 U+67B7 # +0x9E68 U+67EF # +0x9E69 U+67B4 # +0x9E6A U+67EC # +0x9E6B U+67B3 # +0x9E6C U+67E9 # +0x9E6D U+67B8 # +0x9E6E U+67E4 # +0x9E6F U+67DE # +0x9E70 U+67DD # +0x9E71 U+67E2 # +0x9E72 U+67EE # +0x9E73 U+67B9 # +0x9E74 U+67CE # +0x9E75 U+67C6 # +0x9E76 U+67E7 # +0x9E77 U+6A9C # +0x9E78 U+681E # +0x9E79 U+6846 # +0x9E7A U+6829 # +0x9E7B U+6840 # +0x9E7C U+684D # +0x9E7D U+6832 # +0x9E7E U+684E # +0x9E80 U+68B3 # +0x9E81 U+682B # +0x9E82 U+6859 # +0x9E83 U+6863 # +0x9E84 U+6877 # +0x9E85 U+687F # +0x9E86 U+689F # +0x9E87 U+688F # +0x9E88 U+68AD # +0x9E89 U+6894 # +0x9E8A U+689D # +0x9E8B U+689B # +0x9E8C U+6883 # +0x9E8D U+6AAE # +0x9E8E U+68B9 # +0x9E8F U+6874 # +0x9E90 U+68B5 # +0x9E91 U+68A0 # +0x9E92 U+68BA # +0x9E93 U+690F # +0x9E94 U+688D # +0x9E95 U+687E # +0x9E96 U+6901 # +0x9E97 U+68CA # +0x9E98 U+6908 # +0x9E99 U+68D8 # +0x9E9A U+6922 # +0x9E9B U+6926 # +0x9E9C U+68E1 # +0x9E9D U+690C # +0x9E9E U+68CD # +0x9E9F U+68D4 # +0x9EA0 U+68E7 # +0x9EA1 U+68D5 # +0x9EA2 U+6936 # +0x9EA3 U+6912 # +0x9EA4 U+6904 # +0x9EA5 U+68D7 # +0x9EA6 U+68E3 # +0x9EA7 U+6925 # +0x9EA8 U+68F9 # +0x9EA9 U+68E0 # +0x9EAA U+68EF # +0x9EAB U+6928 # +0x9EAC U+692A # +0x9EAD U+691A # +0x9EAE U+6923 # +0x9EAF U+6921 # +0x9EB0 U+68C6 # +0x9EB1 U+6979 # +0x9EB2 U+6977 # +0x9EB3 U+695C # +0x9EB4 U+6978 # +0x9EB5 U+696B # +0x9EB6 U+6954 # +0x9EB7 U+697E # +0x9EB8 U+696E # +0x9EB9 U+6939 # +0x9EBA U+6974 # +0x9EBB U+693D # +0x9EBC U+6959 # +0x9EBD U+6930 # +0x9EBE U+6961 # +0x9EBF U+695E # +0x9EC0 U+695D # +0x9EC1 U+6981 # +0x9EC2 U+696A # +0x9EC3 U+69B2 # +0x9EC4 U+69AE # +0x9EC5 U+69D0 # +0x9EC6 U+69BF # +0x9EC7 U+69C1 # +0x9EC8 U+69D3 # +0x9EC9 U+69BE # +0x9ECA U+69CE # +0x9ECB U+5BE8 # +0x9ECC U+69CA # +0x9ECD U+69DD # +0x9ECE U+69BB # +0x9ECF U+69C3 # +0x9ED0 U+69A7 # +0x9ED1 U+6A2E # +0x9ED2 U+6991 # +0x9ED3 U+69A0 # +0x9ED4 U+699C # +0x9ED5 U+6995 # +0x9ED6 U+69B4 # +0x9ED7 U+69DE # +0x9ED8 U+69E8 # +0x9ED9 U+6A02 # +0x9EDA U+6A1B # +0x9EDB U+69FF # +0x9EDC U+6B0A # +0x9EDD U+69F9 # +0x9EDE U+69F2 # +0x9EDF U+69E7 # +0x9EE0 U+6A05 # +0x9EE1 U+69B1 # +0x9EE2 U+6A1E # +0x9EE3 U+69ED # +0x9EE4 U+6A14 # +0x9EE5 U+69EB # +0x9EE6 U+6A0A # +0x9EE7 U+6A12 # +0x9EE8 U+6AC1 # +0x9EE9 U+6A23 # +0x9EEA U+6A13 # +0x9EEB U+6A44 # +0x9EEC U+6A0C # +0x9EED U+6A72 # +0x9EEE U+6A36 # +0x9EEF U+6A78 # +0x9EF0 U+6A47 # +0x9EF1 U+6A62 # +0x9EF2 U+6A59 # +0x9EF3 U+6A66 # +0x9EF4 U+6A48 # +0x9EF5 U+6A38 # +0x9EF6 U+6A22 # +0x9EF7 U+6A90 # +0x9EF8 U+6A8D # +0x9EF9 U+6AA0 # +0x9EFA U+6A84 # +0x9EFB U+6AA2 # +0x9EFC U+6AA3 # +0x9F40 U+6A97 # +0x9F41 U+8617 # +0x9F42 U+6ABB # +0x9F43 U+6AC3 # +0x9F44 U+6AC2 # +0x9F45 U+6AB8 # +0x9F46 U+6AB3 # +0x9F47 U+6AAC # +0x9F48 U+6ADE # +0x9F49 U+6AD1 # +0x9F4A U+6ADF # +0x9F4B U+6AAA # +0x9F4C U+6ADA # +0x9F4D U+6AEA # +0x9F4E U+6AFB # +0x9F4F U+6B05 # +0x9F50 U+8616 # +0x9F51 U+6AFA # +0x9F52 U+6B12 # +0x9F53 U+6B16 # +0x9F54 U+9B31 # +0x9F55 U+6B1F # +0x9F56 U+6B38 # +0x9F57 U+6B37 # +0x9F58 U+76DC # +0x9F59 U+6B39 # +0x9F5A U+98EE # +0x9F5B U+6B47 # +0x9F5C U+6B43 # +0x9F5D U+6B49 # +0x9F5E U+6B50 # +0x9F5F U+6B59 # +0x9F60 U+6B54 # +0x9F61 U+6B5B # +0x9F62 U+6B5F # +0x9F63 U+6B61 # +0x9F64 U+6B78 # +0x9F65 U+6B79 # +0x9F66 U+6B7F # +0x9F67 U+6B80 # +0x9F68 U+6B84 # +0x9F69 U+6B83 # +0x9F6A U+6B8D # +0x9F6B U+6B98 # +0x9F6C U+6B95 # +0x9F6D U+6B9E # +0x9F6E U+6BA4 # +0x9F6F U+6BAA # +0x9F70 U+6BAB # +0x9F71 U+6BAF # +0x9F72 U+6BB2 # +0x9F73 U+6BB1 # +0x9F74 U+6BB3 # +0x9F75 U+6BB7 # +0x9F76 U+6BBC # +0x9F77 U+6BC6 # +0x9F78 U+6BCB # +0x9F79 U+6BD3 # +0x9F7A U+6BDF # +0x9F7B U+6BEC # +0x9F7C U+6BEB # +0x9F7D U+6BF3 # +0x9F7E U+6BEF # +0x9F80 U+9EBE # +0x9F81 U+6C08 # +0x9F82 U+6C13 # +0x9F83 U+6C14 # +0x9F84 U+6C1B # +0x9F85 U+6C24 # +0x9F86 U+6C23 # +0x9F87 U+6C5E # +0x9F88 U+6C55 # +0x9F89 U+6C62 # +0x9F8A U+6C6A # +0x9F8B U+6C82 # +0x9F8C U+6C8D # +0x9F8D U+6C9A # +0x9F8E U+6C81 # +0x9F8F U+6C9B # +0x9F90 U+6C7E # +0x9F91 U+6C68 # +0x9F92 U+6C73 # +0x9F93 U+6C92 # +0x9F94 U+6C90 # +0x9F95 U+6CC4 # +0x9F96 U+6CF1 # +0x9F97 U+6CD3 # +0x9F98 U+6CBD # +0x9F99 U+6CD7 # +0x9F9A U+6CC5 # +0x9F9B U+6CDD # +0x9F9C U+6CAE # +0x9F9D U+6CB1 # +0x9F9E U+6CBE # +0x9F9F U+6CBA # +0x9FA0 U+6CDB # +0x9FA1 U+6CEF # +0x9FA2 U+6CD9 # +0x9FA3 U+6CEA # +0x9FA4 U+6D1F # +0x9FA5 U+884D # +0x9FA6 U+6D36 # +0x9FA7 U+6D2B # +0x9FA8 U+6D3D # +0x9FA9 U+6D38 # +0x9FAA U+6D19 # +0x9FAB U+6D35 # +0x9FAC U+6D33 # +0x9FAD U+6D12 # +0x9FAE U+6D0C # +0x9FAF U+6D63 # +0x9FB0 U+6D93 # +0x9FB1 U+6D64 # +0x9FB2 U+6D5A # +0x9FB3 U+6D79 # +0x9FB4 U+6D59 # +0x9FB5 U+6D8E # +0x9FB6 U+6D95 # +0x9FB7 U+6FE4 # +0x9FB8 U+6D85 # +0x9FB9 U+6DF9 # +0x9FBA U+6E15 # +0x9FBB U+6E0A # +0x9FBC U+6DB5 # +0x9FBD U+6DC7 # +0x9FBE U+6DE6 # +0x9FBF U+6DB8 # +0x9FC0 U+6DC6 # +0x9FC1 U+6DEC # +0x9FC2 U+6DDE # +0x9FC3 U+6DCC # +0x9FC4 U+6DE8 # +0x9FC5 U+6DD2 # +0x9FC6 U+6DC5 # +0x9FC7 U+6DFA # +0x9FC8 U+6DD9 # +0x9FC9 U+6DE4 # +0x9FCA U+6DD5 # +0x9FCB U+6DEA # +0x9FCC U+6DEE # +0x9FCD U+6E2D # +0x9FCE U+6E6E # +0x9FCF U+6E2E # +0x9FD0 U+6E19 # +0x9FD1 U+6E72 # +0x9FD2 U+6E5F # +0x9FD3 U+6E3E # +0x9FD4 U+6E23 # +0x9FD5 U+6E6B # +0x9FD6 U+6E2B # +0x9FD7 U+6E76 # +0x9FD8 U+6E4D # +0x9FD9 U+6E1F # +0x9FDA U+6E43 # +0x9FDB U+6E3A # +0x9FDC U+6E4E # +0x9FDD U+6E24 # +0x9FDE U+6EFF # +0x9FDF U+6E1D # +0x9FE0 U+6E38 # +0x9FE1 U+6E82 # +0x9FE2 U+6EAA # +0x9FE3 U+6E98 # +0x9FE4 U+6EC9 # +0x9FE5 U+6EB7 # +0x9FE6 U+6ED3 # +0x9FE7 U+6EBD # +0x9FE8 U+6EAF # +0x9FE9 U+6EC4 # +0x9FEA U+6EB2 # +0x9FEB U+6ED4 # +0x9FEC U+6ED5 # +0x9FED U+6E8F # +0x9FEE U+6EA5 # +0x9FEF U+6EC2 # +0x9FF0 U+6E9F # +0x9FF1 U+6F41 # +0x9FF2 U+6F11 # +0x9FF3 U+704C # +0x9FF4 U+6EEC # +0x9FF5 U+6EF8 # +0x9FF6 U+6EFE # +0x9FF7 U+6F3F # +0x9FF8 U+6EF2 # +0x9FF9 U+6F31 # +0x9FFA U+6EEF # +0x9FFB U+6F32 # +0x9FFC U+6ECC # +0xE040 U+6F3E # +0xE041 U+6F13 # +0xE042 U+6EF7 # +0xE043 U+6F86 # +0xE044 U+6F7A # +0xE045 U+6F78 # +0xE046 U+6F81 # +0xE047 U+6F80 # +0xE048 U+6F6F # +0xE049 U+6F5B # +0xE04A U+6FF3 # +0xE04B U+6F6D # +0xE04C U+6F82 # +0xE04D U+6F7C # +0xE04E U+6F58 # +0xE04F U+6F8E # +0xE050 U+6F91 # +0xE051 U+6FC2 # +0xE052 U+6F66 # +0xE053 U+6FB3 # +0xE054 U+6FA3 # +0xE055 U+6FA1 # +0xE056 U+6FA4 # +0xE057 U+6FB9 # +0xE058 U+6FC6 # +0xE059 U+6FAA # +0xE05A U+6FDF # +0xE05B U+6FD5 # +0xE05C U+6FEC # +0xE05D U+6FD4 # +0xE05E U+6FD8 # +0xE05F U+6FF1 # +0xE060 U+6FEE # +0xE061 U+6FDB # +0xE062 U+7009 # +0xE063 U+700B # +0xE064 U+6FFA # +0xE065 U+7011 # +0xE066 U+7001 # +0xE067 U+700F # +0xE068 U+6FFE # +0xE069 U+701B # +0xE06A U+701A # +0xE06B U+6F74 # +0xE06C U+701D # +0xE06D U+7018 # +0xE06E U+701F # +0xE06F U+7030 # +0xE070 U+703E # +0xE071 U+7032 # +0xE072 U+7051 # +0xE073 U+7063 # +0xE074 U+7099 # +0xE075 U+7092 # +0xE076 U+70AF # +0xE077 U+70F1 # +0xE078 U+70AC # +0xE079 U+70B8 # +0xE07A U+70B3 # +0xE07B U+70AE # +0xE07C U+70DF # +0xE07D U+70CB # +0xE07E U+70DD # +0xE080 U+70D9 # +0xE081 U+7109 # +0xE082 U+70FD # +0xE083 U+711C # +0xE084 U+7119 # +0xE085 U+7165 # +0xE086 U+7155 # +0xE087 U+7188 # +0xE088 U+7166 # +0xE089 U+7162 # +0xE08A U+714C # +0xE08B U+7156 # +0xE08C U+716C # +0xE08D U+718F # +0xE08E U+71FB # +0xE08F U+7184 # +0xE090 U+7195 # +0xE091 U+71A8 # +0xE092 U+71AC # +0xE093 U+71D7 # +0xE094 U+71B9 # +0xE095 U+71BE # +0xE096 U+71D2 # +0xE097 U+71C9 # +0xE098 U+71D4 # +0xE099 U+71CE # +0xE09A U+71E0 # +0xE09B U+71EC # +0xE09C U+71E7 # +0xE09D U+71F5 # +0xE09E U+71FC # +0xE09F U+71F9 # +0xE0A0 U+71FF # +0xE0A1 U+720D # +0xE0A2 U+7210 # +0xE0A3 U+721B # +0xE0A4 U+7228 # +0xE0A5 U+722D # +0xE0A6 U+722C # +0xE0A7 U+7230 # +0xE0A8 U+7232 # +0xE0A9 U+723B # +0xE0AA U+723C # +0xE0AB U+723F # +0xE0AC U+7240 # +0xE0AD U+7246 # +0xE0AE U+724B # +0xE0AF U+7258 # +0xE0B0 U+7274 # +0xE0B1 U+727E # +0xE0B2 U+7282 # +0xE0B3 U+7281 # +0xE0B4 U+7287 # +0xE0B5 U+7292 # +0xE0B6 U+7296 # +0xE0B7 U+72A2 # +0xE0B8 U+72A7 # +0xE0B9 U+72B9 # +0xE0BA U+72B2 # +0xE0BB U+72C3 # +0xE0BC U+72C6 # +0xE0BD U+72C4 # +0xE0BE U+72CE # +0xE0BF U+72D2 # +0xE0C0 U+72E2 # +0xE0C1 U+72E0 # +0xE0C2 U+72E1 # +0xE0C3 U+72F9 # +0xE0C4 U+72F7 # +0xE0C5 U+500F # +0xE0C6 U+7317 # +0xE0C7 U+730A # +0xE0C8 U+731C # +0xE0C9 U+7316 # +0xE0CA U+731D # +0xE0CB U+7334 # +0xE0CC U+732F # +0xE0CD U+7329 # +0xE0CE U+7325 # +0xE0CF U+733E # +0xE0D0 U+734E # +0xE0D1 U+734F # +0xE0D2 U+9ED8 # +0xE0D3 U+7357 # +0xE0D4 U+736A # +0xE0D5 U+7368 # +0xE0D6 U+7370 # +0xE0D7 U+7378 # +0xE0D8 U+7375 # +0xE0D9 U+737B # +0xE0DA U+737A # +0xE0DB U+73C8 # +0xE0DC U+73B3 # +0xE0DD U+73CE # +0xE0DE U+73BB # +0xE0DF U+73C0 # +0xE0E0 U+73E5 # +0xE0E1 U+73EE # +0xE0E2 U+73DE # +0xE0E3 U+74A2 # +0xE0E4 U+7405 # +0xE0E5 U+746F # +0xE0E6 U+7425 # +0xE0E7 U+73F8 # +0xE0E8 U+7432 # +0xE0E9 U+743A # +0xE0EA U+7455 # +0xE0EB U+743F # +0xE0EC U+745F # +0xE0ED U+7459 # +0xE0EE U+7441 # +0xE0EF U+745C # +0xE0F0 U+7469 # +0xE0F1 U+7470 # +0xE0F2 U+7463 # +0xE0F3 U+746A # +0xE0F4 U+7476 # +0xE0F5 U+747E # +0xE0F6 U+748B # +0xE0F7 U+749E # +0xE0F8 U+74A7 # +0xE0F9 U+74CA # +0xE0FA U+74CF # +0xE0FB U+74D4 # +0xE0FC U+73F1 # +0xE140 U+74E0 # +0xE141 U+74E3 # +0xE142 U+74E7 # +0xE143 U+74E9 # +0xE144 U+74EE # +0xE145 U+74F2 # +0xE146 U+74F0 # +0xE147 U+74F1 # +0xE148 U+74F8 # +0xE149 U+74F7 # +0xE14A U+7504 # +0xE14B U+7503 # +0xE14C U+7505 # +0xE14D U+750C # +0xE14E U+750E # +0xE14F U+750D # +0xE150 U+7515 # +0xE151 U+7513 # +0xE152 U+751E # +0xE153 U+7526 # +0xE154 U+752C # +0xE155 U+753C # +0xE156 U+7544 # +0xE157 U+754D # +0xE158 U+754A # +0xE159 U+7549 # +0xE15A U+755B # +0xE15B U+7546 # +0xE15C U+755A # +0xE15D U+7569 # +0xE15E U+7564 # +0xE15F U+7567 # +0xE160 U+756B # +0xE161 U+756D # +0xE162 U+7578 # +0xE163 U+7576 # +0xE164 U+7586 # +0xE165 U+7587 # +0xE166 U+7574 # +0xE167 U+758A # +0xE168 U+7589 # +0xE169 U+7582 # +0xE16A U+7594 # +0xE16B U+759A # +0xE16C U+759D # +0xE16D U+75A5 # +0xE16E U+75A3 # +0xE16F U+75C2 # +0xE170 U+75B3 # +0xE171 U+75C3 # +0xE172 U+75B5 # +0xE173 U+75BD # +0xE174 U+75B8 # +0xE175 U+75BC # +0xE176 U+75B1 # +0xE177 U+75CD # +0xE178 U+75CA # +0xE179 U+75D2 # +0xE17A U+75D9 # +0xE17B U+75E3 # +0xE17C U+75DE # +0xE17D U+75FE # +0xE17E U+75FF # +0xE180 U+75FC # +0xE181 U+7601 # +0xE182 U+75F0 # +0xE183 U+75FA # +0xE184 U+75F2 # +0xE185 U+75F3 # +0xE186 U+760B # +0xE187 U+760D # +0xE188 U+7609 # +0xE189 U+761F # +0xE18A U+7627 # +0xE18B U+7620 # +0xE18C U+7621 # +0xE18D U+7622 # +0xE18E U+7624 # +0xE18F U+7634 # +0xE190 U+7630 # +0xE191 U+763B # +0xE192 U+7647 # +0xE193 U+7648 # +0xE194 U+7646 # +0xE195 U+765C # +0xE196 U+7658 # +0xE197 U+7661 # +0xE198 U+7662 # +0xE199 U+7668 # +0xE19A U+7669 # +0xE19B U+766A # +0xE19C U+7667 # +0xE19D U+766C # +0xE19E U+7670 # +0xE19F U+7672 # +0xE1A0 U+7676 # +0xE1A1 U+7678 # +0xE1A2 U+767C # +0xE1A3 U+7680 # +0xE1A4 U+7683 # +0xE1A5 U+7688 # +0xE1A6 U+768B # +0xE1A7 U+768E # +0xE1A8 U+7696 # +0xE1A9 U+7693 # +0xE1AA U+7699 # +0xE1AB U+769A # +0xE1AC U+76B0 # +0xE1AD U+76B4 # +0xE1AE U+76B8 # +0xE1AF U+76B9 # +0xE1B0 U+76BA # +0xE1B1 U+76C2 # +0xE1B2 U+76CD # +0xE1B3 U+76D6 # +0xE1B4 U+76D2 # +0xE1B5 U+76DE # +0xE1B6 U+76E1 # +0xE1B7 U+76E5 # +0xE1B8 U+76E7 # +0xE1B9 U+76EA # +0xE1BA U+862F # +0xE1BB U+76FB # +0xE1BC U+7708 # +0xE1BD U+7707 # +0xE1BE U+7704 # +0xE1BF U+7729 # +0xE1C0 U+7724 # +0xE1C1 U+771E # +0xE1C2 U+7725 # +0xE1C3 U+7726 # +0xE1C4 U+771B # +0xE1C5 U+7737 # +0xE1C6 U+7738 # +0xE1C7 U+7747 # +0xE1C8 U+775A # +0xE1C9 U+7768 # +0xE1CA U+776B # +0xE1CB U+775B # +0xE1CC U+7765 # +0xE1CD U+777F # +0xE1CE U+777E # +0xE1CF U+7779 # +0xE1D0 U+778E # +0xE1D1 U+778B # +0xE1D2 U+7791 # +0xE1D3 U+77A0 # +0xE1D4 U+779E # +0xE1D5 U+77B0 # +0xE1D6 U+77B6 # +0xE1D7 U+77B9 # +0xE1D8 U+77BF # +0xE1D9 U+77BC # +0xE1DA U+77BD # +0xE1DB U+77BB # +0xE1DC U+77C7 # +0xE1DD U+77CD # +0xE1DE U+77D7 # +0xE1DF U+77DA # +0xE1E0 U+77DC # +0xE1E1 U+77E3 # +0xE1E2 U+77EE # +0xE1E3 U+77FC # +0xE1E4 U+780C # +0xE1E5 U+7812 # +0xE1E6 U+7926 # +0xE1E7 U+7820 # +0xE1E8 U+792A # +0xE1E9 U+7845 # +0xE1EA U+788E # +0xE1EB U+7874 # +0xE1EC U+7886 # +0xE1ED U+787C # +0xE1EE U+789A # +0xE1EF U+788C # +0xE1F0 U+78A3 # +0xE1F1 U+78B5 # +0xE1F2 U+78AA # +0xE1F3 U+78AF # +0xE1F4 U+78D1 # +0xE1F5 U+78C6 # +0xE1F6 U+78CB # +0xE1F7 U+78D4 # +0xE1F8 U+78BE # +0xE1F9 U+78BC # +0xE1FA U+78C5 # +0xE1FB U+78CA # +0xE1FC U+78EC # +0xE240 U+78E7 # +0xE241 U+78DA # +0xE242 U+78FD # +0xE243 U+78F4 # +0xE244 U+7907 # +0xE245 U+7912 # +0xE246 U+7911 # +0xE247 U+7919 # +0xE248 U+792C # +0xE249 U+792B # +0xE24A U+7940 # +0xE24B U+7960 # +0xE24C U+7957 # +0xE24D U+795F # +0xE24E U+795A # +0xE24F U+7955 # +0xE250 U+7953 # +0xE251 U+797A # +0xE252 U+797F # +0xE253 U+798A # +0xE254 U+799D # +0xE255 U+79A7 # +0xE256 U+9F4B # +0xE257 U+79AA # +0xE258 U+79AE # +0xE259 U+79B3 # +0xE25A U+79B9 # +0xE25B U+79BA # +0xE25C U+79C9 # +0xE25D U+79D5 # +0xE25E U+79E7 # +0xE25F U+79EC # +0xE260 U+79E1 # +0xE261 U+79E3 # +0xE262 U+7A08 # +0xE263 U+7A0D # +0xE264 U+7A18 # +0xE265 U+7A19 # +0xE266 U+7A20 # +0xE267 U+7A1F # +0xE268 U+7980 # +0xE269 U+7A31 # +0xE26A U+7A3B # +0xE26B U+7A3E # +0xE26C U+7A37 # +0xE26D U+7A43 # +0xE26E U+7A57 # +0xE26F U+7A49 # +0xE270 U+7A61 # +0xE271 U+7A62 # +0xE272 U+7A69 # +0xE273 U+9F9D # +0xE274 U+7A70 # +0xE275 U+7A79 # +0xE276 U+7A7D # +0xE277 U+7A88 # +0xE278 U+7A97 # +0xE279 U+7A95 # +0xE27A U+7A98 # +0xE27B U+7A96 # +0xE27C U+7AA9 # +0xE27D U+7AC8 # +0xE27E U+7AB0 # +0xE280 U+7AB6 # +0xE281 U+7AC5 # +0xE282 U+7AC4 # +0xE283 U+7ABF # +0xE284 U+9083 # +0xE285 U+7AC7 # +0xE286 U+7ACA # +0xE287 U+7ACD # +0xE288 U+7ACF # +0xE289 U+7AD5 # +0xE28A U+7AD3 # +0xE28B U+7AD9 # +0xE28C U+7ADA # +0xE28D U+7ADD # +0xE28E U+7AE1 # +0xE28F U+7AE2 # +0xE290 U+7AE6 # +0xE291 U+7AED # +0xE292 U+7AF0 # +0xE293 U+7B02 # +0xE294 U+7B0F # +0xE295 U+7B0A # +0xE296 U+7B06 # +0xE297 U+7B33 # +0xE298 U+7B18 # +0xE299 U+7B19 # +0xE29A U+7B1E # +0xE29B U+7B35 # +0xE29C U+7B28 # +0xE29D U+7B36 # +0xE29E U+7B50 # +0xE29F U+7B7A # +0xE2A0 U+7B04 # +0xE2A1 U+7B4D # +0xE2A2 U+7B0B # +0xE2A3 U+7B4C # +0xE2A4 U+7B45 # +0xE2A5 U+7B75 # +0xE2A6 U+7B65 # +0xE2A7 U+7B74 # +0xE2A8 U+7B67 # +0xE2A9 U+7B70 # +0xE2AA U+7B71 # +0xE2AB U+7B6C # +0xE2AC U+7B6E # +0xE2AD U+7B9D # +0xE2AE U+7B98 # +0xE2AF U+7B9F # +0xE2B0 U+7B8D # +0xE2B1 U+7B9C # +0xE2B2 U+7B9A # +0xE2B3 U+7B8B # +0xE2B4 U+7B92 # +0xE2B5 U+7B8F # +0xE2B6 U+7B5D # +0xE2B7 U+7B99 # +0xE2B8 U+7BCB # +0xE2B9 U+7BC1 # +0xE2BA U+7BCC # +0xE2BB U+7BCF # +0xE2BC U+7BB4 # +0xE2BD U+7BC6 # +0xE2BE U+7BDD # +0xE2BF U+7BE9 # +0xE2C0 U+7C11 # +0xE2C1 U+7C14 # +0xE2C2 U+7BE6 # +0xE2C3 U+7BE5 # +0xE2C4 U+7C60 # +0xE2C5 U+7C00 # +0xE2C6 U+7C07 # +0xE2C7 U+7C13 # +0xE2C8 U+7BF3 # +0xE2C9 U+7BF7 # +0xE2CA U+7C17 # +0xE2CB U+7C0D # +0xE2CC U+7BF6 # +0xE2CD U+7C23 # +0xE2CE U+7C27 # +0xE2CF U+7C2A # +0xE2D0 U+7C1F # +0xE2D1 U+7C37 # +0xE2D2 U+7C2B # +0xE2D3 U+7C3D # +0xE2D4 U+7C4C # +0xE2D5 U+7C43 # +0xE2D6 U+7C54 # +0xE2D7 U+7C4F # +0xE2D8 U+7C40 # +0xE2D9 U+7C50 # +0xE2DA U+7C58 # +0xE2DB U+7C5F # +0xE2DC U+7C64 # +0xE2DD U+7C56 # +0xE2DE U+7C65 # +0xE2DF U+7C6C # +0xE2E0 U+7C75 # +0xE2E1 U+7C83 # +0xE2E2 U+7C90 # +0xE2E3 U+7CA4 # +0xE2E4 U+7CAD # +0xE2E5 U+7CA2 # +0xE2E6 U+7CAB # +0xE2E7 U+7CA1 # +0xE2E8 U+7CA8 # +0xE2E9 U+7CB3 # +0xE2EA U+7CB2 # +0xE2EB U+7CB1 # +0xE2EC U+7CAE # +0xE2ED U+7CB9 # +0xE2EE U+7CBD # +0xE2EF U+7CC0 # +0xE2F0 U+7CC5 # +0xE2F1 U+7CC2 # +0xE2F2 U+7CD8 # +0xE2F3 U+7CD2 # +0xE2F4 U+7CDC # +0xE2F5 U+7CE2 # +0xE2F6 U+9B3B # +0xE2F7 U+7CEF # +0xE2F8 U+7CF2 # +0xE2F9 U+7CF4 # +0xE2FA U+7CF6 # +0xE2FB U+7CFA # +0xE2FC U+7D06 # +0xE340 U+7D02 # +0xE341 U+7D1C # +0xE342 U+7D15 # +0xE343 U+7D0A # +0xE344 U+7D45 # +0xE345 U+7D4B # +0xE346 U+7D2E # +0xE347 U+7D32 # +0xE348 U+7D3F # +0xE349 U+7D35 # +0xE34A U+7D46 # +0xE34B U+7D73 # +0xE34C U+7D56 # +0xE34D U+7D4E # +0xE34E U+7D72 # +0xE34F U+7D68 # +0xE350 U+7D6E # +0xE351 U+7D4F # +0xE352 U+7D63 # +0xE353 U+7D93 # +0xE354 U+7D89 # +0xE355 U+7D5B # +0xE356 U+7D8F # +0xE357 U+7D7D # +0xE358 U+7D9B # +0xE359 U+7DBA # +0xE35A U+7DAE # +0xE35B U+7DA3 # +0xE35C U+7DB5 # +0xE35D U+7DC7 # +0xE35E U+7DBD # +0xE35F U+7DAB # +0xE360 U+7E3D # +0xE361 U+7DA2 # +0xE362 U+7DAF # +0xE363 U+7DDC # +0xE364 U+7DB8 # +0xE365 U+7D9F # +0xE366 U+7DB0 # +0xE367 U+7DD8 # +0xE368 U+7DDD # +0xE369 U+7DE4 # +0xE36A U+7DDE # +0xE36B U+7DFB # +0xE36C U+7DF2 # +0xE36D U+7DE1 # +0xE36E U+7E05 # +0xE36F U+7E0A # +0xE370 U+7E23 # +0xE371 U+7E21 # +0xE372 U+7E12 # +0xE373 U+7E31 # +0xE374 U+7E1F # +0xE375 U+7E09 # +0xE376 U+7E0B # +0xE377 U+7E22 # +0xE378 U+7E46 # +0xE379 U+7E66 # +0xE37A U+7E3B # +0xE37B U+7E35 # +0xE37C U+7E39 # +0xE37D U+7E43 # +0xE37E U+7E37 # +0xE380 U+7E32 # +0xE381 U+7E3A # +0xE382 U+7E67 # +0xE383 U+7E5D # +0xE384 U+7E56 # +0xE385 U+7E5E # +0xE386 U+7E59 # +0xE387 U+7E5A # +0xE388 U+7E79 # +0xE389 U+7E6A # +0xE38A U+7E69 # +0xE38B U+7E7C # +0xE38C U+7E7B # +0xE38D U+7E83 # +0xE38E U+7DD5 # +0xE38F U+7E7D # +0xE390 U+8FAE # +0xE391 U+7E7F # +0xE392 U+7E88 # +0xE393 U+7E89 # +0xE394 U+7E8C # +0xE395 U+7E92 # +0xE396 U+7E90 # +0xE397 U+7E93 # +0xE398 U+7E94 # +0xE399 U+7E96 # +0xE39A U+7E8E # +0xE39B U+7E9B # +0xE39C U+7E9C # +0xE39D U+7F38 # +0xE39E U+7F3A # +0xE39F U+7F45 # +0xE3A0 U+7F4C # +0xE3A1 U+7F4D # +0xE3A2 U+7F4E # +0xE3A3 U+7F50 # +0xE3A4 U+7F51 # +0xE3A5 U+7F55 # +0xE3A6 U+7F54 # +0xE3A7 U+7F58 # +0xE3A8 U+7F5F # +0xE3A9 U+7F60 # +0xE3AA U+7F68 # +0xE3AB U+7F69 # +0xE3AC U+7F67 # +0xE3AD U+7F78 # +0xE3AE U+7F82 # +0xE3AF U+7F86 # +0xE3B0 U+7F83 # +0xE3B1 U+7F88 # +0xE3B2 U+7F87 # +0xE3B3 U+7F8C # +0xE3B4 U+7F94 # +0xE3B5 U+7F9E # +0xE3B6 U+7F9D # +0xE3B7 U+7F9A # +0xE3B8 U+7FA3 # +0xE3B9 U+7FAF # +0xE3BA U+7FB2 # +0xE3BB U+7FB9 # +0xE3BC U+7FAE # +0xE3BD U+7FB6 # +0xE3BE U+7FB8 # +0xE3BF U+8B71 # +0xE3C0 U+7FC5 # +0xE3C1 U+7FC6 # +0xE3C2 U+7FCA # +0xE3C3 U+7FD5 # +0xE3C4 U+7FD4 # +0xE3C5 U+7FE1 # +0xE3C6 U+7FE6 # +0xE3C7 U+7FE9 # +0xE3C8 U+7FF3 # +0xE3C9 U+7FF9 # +0xE3CA U+98DC # +0xE3CB U+8006 # +0xE3CC U+8004 # +0xE3CD U+800B # +0xE3CE U+8012 # +0xE3CF U+8018 # +0xE3D0 U+8019 # +0xE3D1 U+801C # +0xE3D2 U+8021 # +0xE3D3 U+8028 # +0xE3D4 U+803F # +0xE3D5 U+803B # +0xE3D6 U+804A # +0xE3D7 U+8046 # +0xE3D8 U+8052 # +0xE3D9 U+8058 # +0xE3DA U+805A # +0xE3DB U+805F # +0xE3DC U+8062 # +0xE3DD U+8068 # +0xE3DE U+8073 # +0xE3DF U+8072 # +0xE3E0 U+8070 # +0xE3E1 U+8076 # +0xE3E2 U+8079 # +0xE3E3 U+807D # +0xE3E4 U+807F # +0xE3E5 U+8084 # +0xE3E6 U+8086 # +0xE3E7 U+8085 # +0xE3E8 U+809B # +0xE3E9 U+8093 # +0xE3EA U+809A # +0xE3EB U+80AD # +0xE3EC U+5190 # +0xE3ED U+80AC # +0xE3EE U+80DB # +0xE3EF U+80E5 # +0xE3F0 U+80D9 # +0xE3F1 U+80DD # +0xE3F2 U+80C4 # +0xE3F3 U+80DA # +0xE3F4 U+80D6 # +0xE3F5 U+8109 # +0xE3F6 U+80EF # +0xE3F7 U+80F1 # +0xE3F8 U+811B # +0xE3F9 U+8129 # +0xE3FA U+8123 # +0xE3FB U+812F # +0xE3FC U+814B # +0xE440 U+968B # +0xE441 U+8146 # +0xE442 U+813E # +0xE443 U+8153 # +0xE444 U+8151 # +0xE445 U+80FC # +0xE446 U+8171 # +0xE447 U+816E # +0xE448 U+8165 # +0xE449 U+8166 # +0xE44A U+8174 # +0xE44B U+8183 # +0xE44C U+8188 # +0xE44D U+818A # +0xE44E U+8180 # +0xE44F U+8182 # +0xE450 U+81A0 # +0xE451 U+8195 # +0xE452 U+81A4 # +0xE453 U+81A3 # +0xE454 U+815F # +0xE455 U+8193 # +0xE456 U+81A9 # +0xE457 U+81B0 # +0xE458 U+81B5 # +0xE459 U+81BE # +0xE45A U+81B8 # +0xE45B U+81BD # +0xE45C U+81C0 # +0xE45D U+81C2 # +0xE45E U+81BA # +0xE45F U+81C9 # +0xE460 U+81CD # +0xE461 U+81D1 # +0xE462 U+81D9 # +0xE463 U+81D8 # +0xE464 U+81C8 # +0xE465 U+81DA # +0xE466 U+81DF # +0xE467 U+81E0 # +0xE468 U+81E7 # +0xE469 U+81FA # +0xE46A U+81FB # +0xE46B U+81FE # +0xE46C U+8201 # +0xE46D U+8202 # +0xE46E U+8205 # +0xE46F U+8207 # +0xE470 U+820A # +0xE471 U+820D # +0xE472 U+8210 # +0xE473 U+8216 # +0xE474 U+8229 # +0xE475 U+822B # +0xE476 U+8238 # +0xE477 U+8233 # +0xE478 U+8240 # +0xE479 U+8259 # +0xE47A U+8258 # +0xE47B U+825D # +0xE47C U+825A # +0xE47D U+825F # +0xE47E U+8264 # +0xE480 U+8262 # +0xE481 U+8268 # +0xE482 U+826A # +0xE483 U+826B # +0xE484 U+822E # +0xE485 U+8271 # +0xE486 U+8277 # +0xE487 U+8278 # +0xE488 U+827E # +0xE489 U+828D # +0xE48A U+8292 # +0xE48B U+82AB # +0xE48C U+829F # +0xE48D U+82BB # +0xE48E U+82AC # +0xE48F U+82E1 # +0xE490 U+82E3 # +0xE491 U+82DF # +0xE492 U+82D2 # +0xE493 U+82F4 # +0xE494 U+82F3 # +0xE495 U+82FA # +0xE496 U+8393 # +0xE497 U+8303 # +0xE498 U+82FB # +0xE499 U+82F9 # +0xE49A U+82DE # +0xE49B U+8306 # +0xE49C U+82DC # +0xE49D U+8309 # +0xE49E U+82D9 # +0xE49F U+8335 # +0xE4A0 U+8334 # +0xE4A1 U+8316 # +0xE4A2 U+8332 # +0xE4A3 U+8331 # +0xE4A4 U+8340 # +0xE4A5 U+8339 # +0xE4A6 U+8350 # +0xE4A7 U+8345 # +0xE4A8 U+832F # +0xE4A9 U+832B # +0xE4AA U+8317 # +0xE4AB U+8318 # +0xE4AC U+8385 # +0xE4AD U+839A # +0xE4AE U+83AA # +0xE4AF U+839F # +0xE4B0 U+83A2 # +0xE4B1 U+8396 # +0xE4B2 U+8323 # +0xE4B3 U+838E # +0xE4B4 U+8387 # +0xE4B5 U+838A # +0xE4B6 U+837C # +0xE4B7 U+83B5 # +0xE4B8 U+8373 # +0xE4B9 U+8375 # +0xE4BA U+83A0 # +0xE4BB U+8389 # +0xE4BC U+83A8 # +0xE4BD U+83F4 # +0xE4BE U+8413 # +0xE4BF U+83EB # +0xE4C0 U+83CE # +0xE4C1 U+83FD # +0xE4C2 U+8403 # +0xE4C3 U+83D8 # +0xE4C4 U+840B # +0xE4C5 U+83C1 # +0xE4C6 U+83F7 # +0xE4C7 U+8407 # +0xE4C8 U+83E0 # +0xE4C9 U+83F2 # +0xE4CA U+840D # +0xE4CB U+8422 # +0xE4CC U+8420 # +0xE4CD U+83BD # +0xE4CE U+8438 # +0xE4CF U+8506 # +0xE4D0 U+83FB # +0xE4D1 U+846D # +0xE4D2 U+842A # +0xE4D3 U+843C # +0xE4D4 U+855A # +0xE4D5 U+8484 # +0xE4D6 U+8477 # +0xE4D7 U+846B # +0xE4D8 U+84AD # +0xE4D9 U+846E # +0xE4DA U+8482 # +0xE4DB U+8469 # +0xE4DC U+8446 # +0xE4DD U+842C # +0xE4DE U+846F # +0xE4DF U+8479 # +0xE4E0 U+8435 # +0xE4E1 U+84CA # +0xE4E2 U+8462 # +0xE4E3 U+84B9 # +0xE4E4 U+84BF # +0xE4E5 U+849F # +0xE4E6 U+84D9 # +0xE4E7 U+84CD # +0xE4E8 U+84BB # +0xE4E9 U+84DA # +0xE4EA U+84D0 # +0xE4EB U+84C1 # +0xE4EC U+84C6 # +0xE4ED U+84D6 # +0xE4EE U+84A1 # +0xE4EF U+8521 # +0xE4F0 U+84FF # +0xE4F1 U+84F4 # +0xE4F2 U+8517 # +0xE4F3 U+8518 # +0xE4F4 U+852C # +0xE4F5 U+851F # +0xE4F6 U+8515 # +0xE4F7 U+8514 # +0xE4F8 U+84FC # +0xE4F9 U+8540 # +0xE4FA U+8563 # +0xE4FB U+8558 # +0xE4FC U+8548 # +0xE540 U+8541 # +0xE541 U+8602 # +0xE542 U+854B # +0xE543 U+8555 # +0xE544 U+8580 # +0xE545 U+85A4 # +0xE546 U+8588 # +0xE547 U+8591 # +0xE548 U+858A # +0xE549 U+85A8 # +0xE54A U+856D # +0xE54B U+8594 # +0xE54C U+859B # +0xE54D U+85EA # +0xE54E U+8587 # +0xE54F U+859C # +0xE550 U+8577 # +0xE551 U+857E # +0xE552 U+8590 # +0xE553 U+85C9 # +0xE554 U+85BA # +0xE555 U+85CF # +0xE556 U+85B9 # +0xE557 U+85D0 # +0xE558 U+85D5 # +0xE559 U+85DD # +0xE55A U+85E5 # +0xE55B U+85DC # +0xE55C U+85F9 # +0xE55D U+860A # +0xE55E U+8613 # +0xE55F U+860B # +0xE560 U+85FE # +0xE561 U+85FA # +0xE562 U+8606 # +0xE563 U+8622 # +0xE564 U+861A # +0xE565 U+8630 # +0xE566 U+863F # +0xE567 U+864D # +0xE568 U+4E55 # +0xE569 U+8654 # +0xE56A U+865F # +0xE56B U+8667 # +0xE56C U+8671 # +0xE56D U+8693 # +0xE56E U+86A3 # +0xE56F U+86A9 # +0xE570 U+86AA # +0xE571 U+868B # +0xE572 U+868C # +0xE573 U+86B6 # +0xE574 U+86AF # +0xE575 U+86C4 # +0xE576 U+86C6 # +0xE577 U+86B0 # +0xE578 U+86C9 # +0xE579 U+8823 # +0xE57A U+86AB # +0xE57B U+86D4 # +0xE57C U+86DE # +0xE57D U+86E9 # +0xE57E U+86EC # +0xE580 U+86DF # +0xE581 U+86DB # +0xE582 U+86EF # +0xE583 U+8712 # +0xE584 U+8706 # +0xE585 U+8708 # +0xE586 U+8700 # +0xE587 U+8703 # +0xE588 U+86FB # +0xE589 U+8711 # +0xE58A U+8709 # +0xE58B U+870D # +0xE58C U+86F9 # +0xE58D U+870A # +0xE58E U+8734 # +0xE58F U+873F # +0xE590 U+8737 # +0xE591 U+873B # +0xE592 U+8725 # +0xE593 U+8729 # +0xE594 U+871A # +0xE595 U+8760 # +0xE596 U+875F # +0xE597 U+8778 # +0xE598 U+874C # +0xE599 U+874E # +0xE59A U+8774 # +0xE59B U+8757 # +0xE59C U+8768 # +0xE59D U+876E # +0xE59E U+8759 # +0xE59F U+8753 # +0xE5A0 U+8763 # +0xE5A1 U+876A # +0xE5A2 U+8805 # +0xE5A3 U+87A2 # +0xE5A4 U+879F # +0xE5A5 U+8782 # +0xE5A6 U+87AF # +0xE5A7 U+87CB # +0xE5A8 U+87BD # +0xE5A9 U+87C0 # +0xE5AA U+87D0 # +0xE5AB U+96D6 # +0xE5AC U+87AB # +0xE5AD U+87C4 # +0xE5AE U+87B3 # +0xE5AF U+87C7 # +0xE5B0 U+87C6 # +0xE5B1 U+87BB # +0xE5B2 U+87EF # +0xE5B3 U+87F2 # +0xE5B4 U+87E0 # +0xE5B5 U+880F # +0xE5B6 U+880D # +0xE5B7 U+87FE # +0xE5B8 U+87F6 # +0xE5B9 U+87F7 # +0xE5BA U+880E # +0xE5BB U+87D2 # +0xE5BC U+8811 # +0xE5BD U+8816 # +0xE5BE U+8815 # +0xE5BF U+8822 # +0xE5C0 U+8821 # +0xE5C1 U+8831 # +0xE5C2 U+8836 # +0xE5C3 U+8839 # +0xE5C4 U+8827 # +0xE5C5 U+883B # +0xE5C6 U+8844 # +0xE5C7 U+8842 # +0xE5C8 U+8852 # +0xE5C9 U+8859 # +0xE5CA U+885E # +0xE5CB U+8862 # +0xE5CC U+886B # +0xE5CD U+8881 # +0xE5CE U+887E # +0xE5CF U+889E # +0xE5D0 U+8875 # +0xE5D1 U+887D # +0xE5D2 U+88B5 # +0xE5D3 U+8872 # +0xE5D4 U+8882 # +0xE5D5 U+8897 # +0xE5D6 U+8892 # +0xE5D7 U+88AE # +0xE5D8 U+8899 # +0xE5D9 U+88A2 # +0xE5DA U+888D # +0xE5DB U+88A4 # +0xE5DC U+88B0 # +0xE5DD U+88BF # +0xE5DE U+88B1 # +0xE5DF U+88C3 # +0xE5E0 U+88C4 # +0xE5E1 U+88D4 # +0xE5E2 U+88D8 # +0xE5E3 U+88D9 # +0xE5E4 U+88DD # +0xE5E5 U+88F9 # +0xE5E6 U+8902 # +0xE5E7 U+88FC # +0xE5E8 U+88F4 # +0xE5E9 U+88E8 # +0xE5EA U+88F2 # +0xE5EB U+8904 # +0xE5EC U+890C # +0xE5ED U+890A # +0xE5EE U+8913 # +0xE5EF U+8943 # +0xE5F0 U+891E # +0xE5F1 U+8925 # +0xE5F2 U+892A # +0xE5F3 U+892B # +0xE5F4 U+8941 # +0xE5F5 U+8944 # +0xE5F6 U+893B # +0xE5F7 U+8936 # +0xE5F8 U+8938 # +0xE5F9 U+894C # +0xE5FA U+891D # +0xE5FB U+8960 # +0xE5FC U+895E # +0xE640 U+8966 # +0xE641 U+8964 # +0xE642 U+896D # +0xE643 U+896A # +0xE644 U+896F # +0xE645 U+8974 # +0xE646 U+8977 # +0xE647 U+897E # +0xE648 U+8983 # +0xE649 U+8988 # +0xE64A U+898A # +0xE64B U+8993 # +0xE64C U+8998 # +0xE64D U+89A1 # +0xE64E U+89A9 # +0xE64F U+89A6 # +0xE650 U+89AC # +0xE651 U+89AF # +0xE652 U+89B2 # +0xE653 U+89BA # +0xE654 U+89BD # +0xE655 U+89BF # +0xE656 U+89C0 # +0xE657 U+89DA # +0xE658 U+89DC # +0xE659 U+89DD # +0xE65A U+89E7 # +0xE65B U+89F4 # +0xE65C U+89F8 # +0xE65D U+8A03 # +0xE65E U+8A16 # +0xE65F U+8A10 # +0xE660 U+8A0C # +0xE661 U+8A1B # +0xE662 U+8A1D # +0xE663 U+8A25 # +0xE664 U+8A36 # +0xE665 U+8A41 # +0xE666 U+8A5B # +0xE667 U+8A52 # +0xE668 U+8A46 # +0xE669 U+8A48 # +0xE66A U+8A7C # +0xE66B U+8A6D # +0xE66C U+8A6C # +0xE66D U+8A62 # +0xE66E U+8A85 # +0xE66F U+8A82 # +0xE670 U+8A84 # +0xE671 U+8AA8 # +0xE672 U+8AA1 # +0xE673 U+8A91 # +0xE674 U+8AA5 # +0xE675 U+8AA6 # +0xE676 U+8A9A # +0xE677 U+8AA3 # +0xE678 U+8AC4 # +0xE679 U+8ACD # +0xE67A U+8AC2 # +0xE67B U+8ADA # +0xE67C U+8AEB # +0xE67D U+8AF3 # +0xE67E U+8AE7 # +0xE680 U+8AE4 # +0xE681 U+8AF1 # +0xE682 U+8B14 # +0xE683 U+8AE0 # +0xE684 U+8AE2 # +0xE685 U+8AF7 # +0xE686 U+8ADE # +0xE687 U+8ADB # +0xE688 U+8B0C # +0xE689 U+8B07 # +0xE68A U+8B1A # +0xE68B U+8AE1 # +0xE68C U+8B16 # +0xE68D U+8B10 # +0xE68E U+8B17 # +0xE68F U+8B20 # +0xE690 U+8B33 # +0xE691 U+97AB # +0xE692 U+8B26 # +0xE693 U+8B2B # +0xE694 U+8B3E # +0xE695 U+8B28 # +0xE696 U+8B41 # +0xE697 U+8B4C # +0xE698 U+8B4F # +0xE699 U+8B4E # +0xE69A U+8B49 # +0xE69B U+8B56 # +0xE69C U+8B5B # +0xE69D U+8B5A # +0xE69E U+8B6B # +0xE69F U+8B5F # +0xE6A0 U+8B6C # +0xE6A1 U+8B6F # +0xE6A2 U+8B74 # +0xE6A3 U+8B7D # +0xE6A4 U+8B80 # +0xE6A5 U+8B8C # +0xE6A6 U+8B8E # +0xE6A7 U+8B92 # +0xE6A8 U+8B93 # +0xE6A9 U+8B96 # +0xE6AA U+8B99 # +0xE6AB U+8B9A # +0xE6AC U+8C3A # +0xE6AD U+8C41 # +0xE6AE U+8C3F # +0xE6AF U+8C48 # +0xE6B0 U+8C4C # +0xE6B1 U+8C4E # +0xE6B2 U+8C50 # +0xE6B3 U+8C55 # +0xE6B4 U+8C62 # +0xE6B5 U+8C6C # +0xE6B6 U+8C78 # +0xE6B7 U+8C7A # +0xE6B8 U+8C82 # +0xE6B9 U+8C89 # +0xE6BA U+8C85 # +0xE6BB U+8C8A # +0xE6BC U+8C8D # +0xE6BD U+8C8E # +0xE6BE U+8C94 # +0xE6BF U+8C7C # +0xE6C0 U+8C98 # +0xE6C1 U+621D # +0xE6C2 U+8CAD # +0xE6C3 U+8CAA # +0xE6C4 U+8CBD # +0xE6C5 U+8CB2 # +0xE6C6 U+8CB3 # +0xE6C7 U+8CAE # +0xE6C8 U+8CB6 # +0xE6C9 U+8CC8 # +0xE6CA U+8CC1 # +0xE6CB U+8CE4 # +0xE6CC U+8CE3 # +0xE6CD U+8CDA # +0xE6CE U+8CFD # +0xE6CF U+8CFA # +0xE6D0 U+8CFB # +0xE6D1 U+8D04 # +0xE6D2 U+8D05 # +0xE6D3 U+8D0A # +0xE6D4 U+8D07 # +0xE6D5 U+8D0F # +0xE6D6 U+8D0D # +0xE6D7 U+8D10 # +0xE6D8 U+9F4E # +0xE6D9 U+8D13 # +0xE6DA U+8CCD # +0xE6DB U+8D14 # +0xE6DC U+8D16 # +0xE6DD U+8D67 # +0xE6DE U+8D6D # +0xE6DF U+8D71 # +0xE6E0 U+8D73 # +0xE6E1 U+8D81 # +0xE6E2 U+8D99 # +0xE6E3 U+8DC2 # +0xE6E4 U+8DBE # +0xE6E5 U+8DBA # +0xE6E6 U+8DCF # +0xE6E7 U+8DDA # +0xE6E8 U+8DD6 # +0xE6E9 U+8DCC # +0xE6EA U+8DDB # +0xE6EB U+8DCB # +0xE6EC U+8DEA # +0xE6ED U+8DEB # +0xE6EE U+8DDF # +0xE6EF U+8DE3 # +0xE6F0 U+8DFC # +0xE6F1 U+8E08 # +0xE6F2 U+8E09 # +0xE6F3 U+8DFF # +0xE6F4 U+8E1D # +0xE6F5 U+8E1E # +0xE6F6 U+8E10 # +0xE6F7 U+8E1F # +0xE6F8 U+8E42 # +0xE6F9 U+8E35 # +0xE6FA U+8E30 # +0xE6FB U+8E34 # +0xE6FC U+8E4A # +0xE740 U+8E47 # +0xE741 U+8E49 # +0xE742 U+8E4C # +0xE743 U+8E50 # +0xE744 U+8E48 # +0xE745 U+8E59 # +0xE746 U+8E64 # +0xE747 U+8E60 # +0xE748 U+8E2A # +0xE749 U+8E63 # +0xE74A U+8E55 # +0xE74B U+8E76 # +0xE74C U+8E72 # +0xE74D U+8E7C # +0xE74E U+8E81 # +0xE74F U+8E87 # +0xE750 U+8E85 # +0xE751 U+8E84 # +0xE752 U+8E8B # +0xE753 U+8E8A # +0xE754 U+8E93 # +0xE755 U+8E91 # +0xE756 U+8E94 # +0xE757 U+8E99 # +0xE758 U+8EAA # +0xE759 U+8EA1 # +0xE75A U+8EAC # +0xE75B U+8EB0 # +0xE75C U+8EC6 # +0xE75D U+8EB1 # +0xE75E U+8EBE # +0xE75F U+8EC5 # +0xE760 U+8EC8 # +0xE761 U+8ECB # +0xE762 U+8EDB # +0xE763 U+8EE3 # +0xE764 U+8EFC # +0xE765 U+8EFB # +0xE766 U+8EEB # +0xE767 U+8EFE # +0xE768 U+8F0A # +0xE769 U+8F05 # +0xE76A U+8F15 # +0xE76B U+8F12 # +0xE76C U+8F19 # +0xE76D U+8F13 # +0xE76E U+8F1C # +0xE76F U+8F1F # +0xE770 U+8F1B # +0xE771 U+8F0C # +0xE772 U+8F26 # +0xE773 U+8F33 # +0xE774 U+8F3B # +0xE775 U+8F39 # +0xE776 U+8F45 # +0xE777 U+8F42 # +0xE778 U+8F3E # +0xE779 U+8F4C # +0xE77A U+8F49 # +0xE77B U+8F46 # +0xE77C U+8F4E # +0xE77D U+8F57 # +0xE77E U+8F5C # +0xE780 U+8F62 # +0xE781 U+8F63 # +0xE782 U+8F64 # +0xE783 U+8F9C # +0xE784 U+8F9F # +0xE785 U+8FA3 # +0xE786 U+8FAD # +0xE787 U+8FAF # +0xE788 U+8FB7 # +0xE789 U+8FDA # +0xE78A U+8FE5 # +0xE78B U+8FE2 # +0xE78C U+8FEA # +0xE78D U+8FEF # +0xE78E U+9087 # +0xE78F U+8FF4 # +0xE790 U+9005 # +0xE791 U+8FF9 # +0xE792 U+8FFA # +0xE793 U+9011 # +0xE794 U+9015 # +0xE795 U+9021 # +0xE796 U+900D # +0xE797 U+901E # +0xE798 U+9016 # +0xE799 U+900B # +0xE79A U+9027 # +0xE79B U+9036 # +0xE79C U+9035 # +0xE79D U+9039 # +0xE79E U+8FF8 # +0xE79F U+904F # +0xE7A0 U+9050 # +0xE7A1 U+9051 # +0xE7A2 U+9052 # +0xE7A3 U+900E # +0xE7A4 U+9049 # +0xE7A5 U+903E # +0xE7A6 U+9056 # +0xE7A7 U+9058 # +0xE7A8 U+905E # +0xE7A9 U+9068 # +0xE7AA U+906F # +0xE7AB U+9076 # +0xE7AC U+96A8 # +0xE7AD U+9072 # +0xE7AE U+9082 # +0xE7AF U+907D # +0xE7B0 U+9081 # +0xE7B1 U+9080 # +0xE7B2 U+908A # +0xE7B3 U+9089 # +0xE7B4 U+908F # +0xE7B5 U+90A8 # +0xE7B6 U+90AF # +0xE7B7 U+90B1 # +0xE7B8 U+90B5 # +0xE7B9 U+90E2 # +0xE7BA U+90E4 # +0xE7BB U+6248 # +0xE7BC U+90DB # +0xE7BD U+9102 # +0xE7BE U+9112 # +0xE7BF U+9119 # +0xE7C0 U+9132 # +0xE7C1 U+9130 # +0xE7C2 U+914A # +0xE7C3 U+9156 # +0xE7C4 U+9158 # +0xE7C5 U+9163 # +0xE7C6 U+9165 # +0xE7C7 U+9169 # +0xE7C8 U+9173 # +0xE7C9 U+9172 # +0xE7CA U+918B # +0xE7CB U+9189 # +0xE7CC U+9182 # +0xE7CD U+91A2 # +0xE7CE U+91AB # +0xE7CF U+91AF # +0xE7D0 U+91AA # +0xE7D1 U+91B5 # +0xE7D2 U+91B4 # +0xE7D3 U+91BA # +0xE7D4 U+91C0 # +0xE7D5 U+91C1 # +0xE7D6 U+91C9 # +0xE7D7 U+91CB # +0xE7D8 U+91D0 # +0xE7D9 U+91D6 # +0xE7DA U+91DF # +0xE7DB U+91E1 # +0xE7DC U+91DB # +0xE7DD U+91FC # +0xE7DE U+91F5 # +0xE7DF U+91F6 # +0xE7E0 U+921E # +0xE7E1 U+91FF # +0xE7E2 U+9214 # +0xE7E3 U+922C # +0xE7E4 U+9215 # +0xE7E5 U+9211 # +0xE7E6 U+925E # +0xE7E7 U+9257 # +0xE7E8 U+9245 # +0xE7E9 U+9249 # +0xE7EA U+9264 # +0xE7EB U+9248 # +0xE7EC U+9295 # +0xE7ED U+923F # +0xE7EE U+924B # +0xE7EF U+9250 # +0xE7F0 U+929C # +0xE7F1 U+9296 # +0xE7F2 U+9293 # +0xE7F3 U+929B # +0xE7F4 U+925A # +0xE7F5 U+92CF # +0xE7F6 U+92B9 # +0xE7F7 U+92B7 # +0xE7F8 U+92E9 # +0xE7F9 U+930F # +0xE7FA U+92FA # +0xE7FB U+9344 # +0xE7FC U+932E # +0xE840 U+9319 # +0xE841 U+9322 # +0xE842 U+931A # +0xE843 U+9323 # +0xE844 U+933A # +0xE845 U+9335 # +0xE846 U+933B # +0xE847 U+935C # +0xE848 U+9360 # +0xE849 U+937C # +0xE84A U+936E # +0xE84B U+9356 # +0xE84C U+93B0 # +0xE84D U+93AC # +0xE84E U+93AD # +0xE84F U+9394 # +0xE850 U+93B9 # +0xE851 U+93D6 # +0xE852 U+93D7 # +0xE853 U+93E8 # +0xE854 U+93E5 # +0xE855 U+93D8 # +0xE856 U+93C3 # +0xE857 U+93DD # +0xE858 U+93D0 # +0xE859 U+93C8 # +0xE85A U+93E4 # +0xE85B U+941A # +0xE85C U+9414 # +0xE85D U+9413 # +0xE85E U+9403 # +0xE85F U+9407 # +0xE860 U+9410 # +0xE861 U+9436 # +0xE862 U+942B # +0xE863 U+9435 # +0xE864 U+9421 # +0xE865 U+943A # +0xE866 U+9441 # +0xE867 U+9452 # +0xE868 U+9444 # +0xE869 U+945B # +0xE86A U+9460 # +0xE86B U+9462 # +0xE86C U+945E # +0xE86D U+946A # +0xE86E U+9229 # +0xE86F U+9470 # +0xE870 U+9475 # +0xE871 U+9477 # +0xE872 U+947D # +0xE873 U+945A # +0xE874 U+947C # +0xE875 U+947E # +0xE876 U+9481 # +0xE877 U+947F # +0xE878 U+9582 # +0xE879 U+9587 # +0xE87A U+958A # +0xE87B U+9594 # +0xE87C U+9596 # +0xE87D U+9598 # +0xE87E U+9599 # +0xE880 U+95A0 # +0xE881 U+95A8 # +0xE882 U+95A7 # +0xE883 U+95AD # +0xE884 U+95BC # +0xE885 U+95BB # +0xE886 U+95B9 # +0xE887 U+95BE # +0xE888 U+95CA # +0xE889 U+6FF6 # +0xE88A U+95C3 # +0xE88B U+95CD # +0xE88C U+95CC # +0xE88D U+95D5 # +0xE88E U+95D4 # +0xE88F U+95D6 # +0xE890 U+95DC # +0xE891 U+95E1 # +0xE892 U+95E5 # +0xE893 U+95E2 # +0xE894 U+9621 # +0xE895 U+9628 # +0xE896 U+962E # +0xE897 U+962F # +0xE898 U+9642 # +0xE899 U+964C # +0xE89A U+964F # +0xE89B U+964B # +0xE89C U+9677 # +0xE89D U+965C # +0xE89E U+965E # +0xE89F U+965D # +0xE8A0 U+965F # +0xE8A1 U+9666 # +0xE8A2 U+9672 # +0xE8A3 U+966C # +0xE8A4 U+968D # +0xE8A5 U+9698 # +0xE8A6 U+9695 # +0xE8A7 U+9697 # +0xE8A8 U+96AA # +0xE8A9 U+96A7 # +0xE8AA U+96B1 # +0xE8AB U+96B2 # +0xE8AC U+96B0 # +0xE8AD U+96B4 # +0xE8AE U+96B6 # +0xE8AF U+96B8 # +0xE8B0 U+96B9 # +0xE8B1 U+96CE # +0xE8B2 U+96CB # +0xE8B3 U+96C9 # +0xE8B4 U+96CD # +0xE8B5 U+894D # +0xE8B6 U+96DC # +0xE8B7 U+970D # +0xE8B8 U+96D5 # +0xE8B9 U+96F9 # +0xE8BA U+9704 # +0xE8BB U+9706 # +0xE8BC U+9708 # +0xE8BD U+9713 # +0xE8BE U+970E # +0xE8BF U+9711 # +0xE8C0 U+970F # +0xE8C1 U+9716 # +0xE8C2 U+9719 # +0xE8C3 U+9724 # +0xE8C4 U+972A # +0xE8C5 U+9730 # +0xE8C6 U+9739 # +0xE8C7 U+973D # +0xE8C8 U+973E # +0xE8C9 U+9744 # +0xE8CA U+9746 # +0xE8CB U+9748 # +0xE8CC U+9742 # +0xE8CD U+9749 # +0xE8CE U+975C # +0xE8CF U+9760 # +0xE8D0 U+9764 # +0xE8D1 U+9766 # +0xE8D2 U+9768 # +0xE8D3 U+52D2 # +0xE8D4 U+976B # +0xE8D5 U+9771 # +0xE8D6 U+9779 # +0xE8D7 U+9785 # +0xE8D8 U+977C # +0xE8D9 U+9781 # +0xE8DA U+977A # +0xE8DB U+9786 # +0xE8DC U+978B # +0xE8DD U+978F # +0xE8DE U+9790 # +0xE8DF U+979C # +0xE8E0 U+97A8 # +0xE8E1 U+97A6 # +0xE8E2 U+97A3 # +0xE8E3 U+97B3 # +0xE8E4 U+97B4 # +0xE8E5 U+97C3 # +0xE8E6 U+97C6 # +0xE8E7 U+97C8 # +0xE8E8 U+97CB # +0xE8E9 U+97DC # +0xE8EA U+97ED # +0xE8EB U+9F4F # +0xE8EC U+97F2 # +0xE8ED U+7ADF # +0xE8EE U+97F6 # +0xE8EF U+97F5 # +0xE8F0 U+980F # +0xE8F1 U+980C # +0xE8F2 U+9838 # +0xE8F3 U+9824 # +0xE8F4 U+9821 # +0xE8F5 U+9837 # +0xE8F6 U+983D # +0xE8F7 U+9846 # +0xE8F8 U+984F # +0xE8F9 U+984B # +0xE8FA U+986B # +0xE8FB U+986F # +0xE8FC U+9870 # +0xE940 U+9871 # +0xE941 U+9874 # +0xE942 U+9873 # +0xE943 U+98AA # +0xE944 U+98AF # +0xE945 U+98B1 # +0xE946 U+98B6 # +0xE947 U+98C4 # +0xE948 U+98C3 # +0xE949 U+98C6 # +0xE94A U+98E9 # +0xE94B U+98EB # +0xE94C U+9903 # +0xE94D U+9909 # +0xE94E U+9912 # +0xE94F U+9914 # +0xE950 U+9918 # +0xE951 U+9921 # +0xE952 U+991D # +0xE953 U+991E # +0xE954 U+9924 # +0xE955 U+9920 # +0xE956 U+992C # +0xE957 U+992E # +0xE958 U+993D # +0xE959 U+993E # +0xE95A U+9942 # +0xE95B U+9949 # +0xE95C U+9945 # +0xE95D U+9950 # +0xE95E U+994B # +0xE95F U+9951 # +0xE960 U+9952 # +0xE961 U+994C # +0xE962 U+9955 # +0xE963 U+9997 # +0xE964 U+9998 # +0xE965 U+99A5 # +0xE966 U+99AD # +0xE967 U+99AE # +0xE968 U+99BC # +0xE969 U+99DF # +0xE96A U+99DB # +0xE96B U+99DD # +0xE96C U+99D8 # +0xE96D U+99D1 # +0xE96E U+99ED # +0xE96F U+99EE # +0xE970 U+99F1 # +0xE971 U+99F2 # +0xE972 U+99FB # +0xE973 U+99F8 # +0xE974 U+9A01 # +0xE975 U+9A0F # +0xE976 U+9A05 # +0xE977 U+99E2 # +0xE978 U+9A19 # +0xE979 U+9A2B # +0xE97A U+9A37 # +0xE97B U+9A45 # +0xE97C U+9A42 # +0xE97D U+9A40 # +0xE97E U+9A43 # +0xE980 U+9A3E # +0xE981 U+9A55 # +0xE982 U+9A4D # +0xE983 U+9A5B # +0xE984 U+9A57 # +0xE985 U+9A5F # +0xE986 U+9A62 # +0xE987 U+9A65 # +0xE988 U+9A64 # +0xE989 U+9A69 # +0xE98A U+9A6B # +0xE98B U+9A6A # +0xE98C U+9AAD # +0xE98D U+9AB0 # +0xE98E U+9ABC # +0xE98F U+9AC0 # +0xE990 U+9ACF # +0xE991 U+9AD1 # +0xE992 U+9AD3 # +0xE993 U+9AD4 # +0xE994 U+9ADE # +0xE995 U+9ADF # +0xE996 U+9AE2 # +0xE997 U+9AE3 # +0xE998 U+9AE6 # +0xE999 U+9AEF # +0xE99A U+9AEB # +0xE99B U+9AEE # +0xE99C U+9AF4 # +0xE99D U+9AF1 # +0xE99E U+9AF7 # +0xE99F U+9AFB # +0xE9A0 U+9B06 # +0xE9A1 U+9B18 # +0xE9A2 U+9B1A # +0xE9A3 U+9B1F # +0xE9A4 U+9B22 # +0xE9A5 U+9B23 # +0xE9A6 U+9B25 # +0xE9A7 U+9B27 # +0xE9A8 U+9B28 # +0xE9A9 U+9B29 # +0xE9AA U+9B2A # +0xE9AB U+9B2E # +0xE9AC U+9B2F # +0xE9AD U+9B32 # +0xE9AE U+9B44 # +0xE9AF U+9B43 # +0xE9B0 U+9B4F # +0xE9B1 U+9B4D # +0xE9B2 U+9B4E # +0xE9B3 U+9B51 # +0xE9B4 U+9B58 # +0xE9B5 U+9B74 # +0xE9B6 U+9B93 # +0xE9B7 U+9B83 # +0xE9B8 U+9B91 # +0xE9B9 U+9B96 # +0xE9BA U+9B97 # +0xE9BB U+9B9F # +0xE9BC U+9BA0 # +0xE9BD U+9BA8 # +0xE9BE U+9BB4 # +0xE9BF U+9BC0 # +0xE9C0 U+9BCA # +0xE9C1 U+9BB9 # +0xE9C2 U+9BC6 # +0xE9C3 U+9BCF # +0xE9C4 U+9BD1 # +0xE9C5 U+9BD2 # +0xE9C6 U+9BE3 # +0xE9C7 U+9BE2 # +0xE9C8 U+9BE4 # +0xE9C9 U+9BD4 # +0xE9CA U+9BE1 # +0xE9CB U+9C3A # +0xE9CC U+9BF2 # +0xE9CD U+9BF1 # +0xE9CE U+9BF0 # +0xE9CF U+9C15 # +0xE9D0 U+9C14 # +0xE9D1 U+9C09 # +0xE9D2 U+9C13 # +0xE9D3 U+9C0C # +0xE9D4 U+9C06 # +0xE9D5 U+9C08 # +0xE9D6 U+9C12 # +0xE9D7 U+9C0A # +0xE9D8 U+9C04 # +0xE9D9 U+9C2E # +0xE9DA U+9C1B # +0xE9DB U+9C25 # +0xE9DC U+9C24 # +0xE9DD U+9C21 # +0xE9DE U+9C30 # +0xE9DF U+9C47 # +0xE9E0 U+9C32 # +0xE9E1 U+9C46 # +0xE9E2 U+9C3E # +0xE9E3 U+9C5A # +0xE9E4 U+9C60 # +0xE9E5 U+9C67 # +0xE9E6 U+9C76 # +0xE9E7 U+9C78 # +0xE9E8 U+9CE7 # +0xE9E9 U+9CEC # +0xE9EA U+9CF0 # +0xE9EB U+9D09 # +0xE9EC U+9D08 # +0xE9ED U+9CEB # +0xE9EE U+9D03 # +0xE9EF U+9D06 # +0xE9F0 U+9D2A # +0xE9F1 U+9D26 # +0xE9F2 U+9DAF # +0xE9F3 U+9D23 # +0xE9F4 U+9D1F # +0xE9F5 U+9D44 # +0xE9F6 U+9D15 # +0xE9F7 U+9D12 # +0xE9F8 U+9D41 # +0xE9F9 U+9D3F # +0xE9FA U+9D3E # +0xE9FB U+9D46 # +0xE9FC U+9D48 # +0xEA40 U+9D5D # +0xEA41 U+9D5E # +0xEA42 U+9D64 # +0xEA43 U+9D51 # +0xEA44 U+9D50 # +0xEA45 U+9D59 # +0xEA46 U+9D72 # +0xEA47 U+9D89 # +0xEA48 U+9D87 # +0xEA49 U+9DAB # +0xEA4A U+9D6F # +0xEA4B U+9D7A # +0xEA4C U+9D9A # +0xEA4D U+9DA4 # +0xEA4E U+9DA9 # +0xEA4F U+9DB2 # +0xEA50 U+9DC4 # +0xEA51 U+9DC1 # +0xEA52 U+9DBB # +0xEA53 U+9DB8 # +0xEA54 U+9DBA # +0xEA55 U+9DC6 # +0xEA56 U+9DCF # +0xEA57 U+9DC2 # +0xEA58 U+9DD9 # +0xEA59 U+9DD3 # +0xEA5A U+9DF8 # +0xEA5B U+9DE6 # +0xEA5C U+9DED # +0xEA5D U+9DEF # +0xEA5E U+9DFD # +0xEA5F U+9E1A # +0xEA60 U+9E1B # +0xEA61 U+9E1E # +0xEA62 U+9E75 # +0xEA63 U+9E79 # +0xEA64 U+9E7D # +0xEA65 U+9E81 # +0xEA66 U+9E88 # +0xEA67 U+9E8B # +0xEA68 U+9E8C # +0xEA69 U+9E92 # +0xEA6A U+9E95 # +0xEA6B U+9E91 # +0xEA6C U+9E9D # +0xEA6D U+9EA5 # +0xEA6E U+9EA9 # +0xEA6F U+9EB8 # +0xEA70 U+9EAA # +0xEA71 U+9EAD # +0xEA72 U+9761 # +0xEA73 U+9ECC # +0xEA74 U+9ECE # +0xEA75 U+9ECF # +0xEA76 U+9ED0 # +0xEA77 U+9ED4 # +0xEA78 U+9EDC # +0xEA79 U+9EDE # +0xEA7A U+9EDD # +0xEA7B U+9EE0 # +0xEA7C U+9EE5 # +0xEA7D U+9EE8 # +0xEA7E U+9EEF # +0xEA80 U+9EF4 # +0xEA81 U+9EF6 # +0xEA82 U+9EF7 # +0xEA83 U+9EF9 # +0xEA84 U+9EFB # +0xEA85 U+9EFC # +0xEA86 U+9EFD # +0xEA87 U+9F07 # +0xEA88 U+9F08 # +0xEA89 U+76B7 # +0xEA8A U+9F15 # +0xEA8B U+9F21 # +0xEA8C U+9F2C # +0xEA8D U+9F3E # +0xEA8E U+9F4A # +0xEA8F U+9F52 # +0xEA90 U+9F54 # +0xEA91 U+9F63 # +0xEA92 U+9F5F # +0xEA93 U+9F60 # +0xEA94 U+9F61 # +0xEA95 U+9F66 # +0xEA96 U+9F67 # +0xEA97 U+9F6C # +0xEA98 U+9F6A # +0xEA99 U+9F77 # +0xEA9A U+9F72 # +0xEA9B U+9F76 # +0xEA9C U+9F95 # +0xEA9D U+9F9C # +0xEA9E U+9FA0 # +0xEA9F U+582F # [1983] +0xEAA0 U+69C7 # [1983] +0xEAA1 U+9059 # [1983] +0xEAA2 U+7464 # [1983] +0xEAA3 U+51DC # [1990] +0xEAA4 U+7199 # [1990] +0xEAA5 U+5653 # [2004] +0xEAA6 U+5DE2 # [2000] +0xEAA7 U+5E14 # [2000] +0xEAA8 U+5E18 # [2000] +0xEAA9 U+5E58 # [2000] +0xEAAA U+5E5E # [2000] +0xEAAB U+5EBE # [2000] +0xEAAC U+F928 # CJK COMPATIBILITY IDEOGRAPH-F928 [2000] +0xEAAD U+5ECB # [2000] +0xEAAE U+5EF9 # [2000] +0xEAAF U+5F00 # [2000] +0xEAB0 U+5F02 # [2000] +0xEAB1 U+5F07 # [2000] +0xEAB2 U+5F1D # [2000] +0xEAB3 U+5F23 # [2000] +0xEAB4 U+5F34 # [2000] +0xEAB5 U+5F36 # [2000] +0xEAB6 U+5F3D # [2000] +0xEAB7 U+5F40 # [2000] +0xEAB8 U+5F45 # [2000] +0xEAB9 U+5F54 # [2000] +0xEABA U+5F58 # [2000] +0xEABB U+5F64 # [2000] +0xEABC U+5F67 # [2000] +0xEABD U+5F7D # [2000] +0xEABE U+5F89 # [2000] +0xEABF U+5F9C # [2000] +0xEAC0 U+5FA7 # [2000] +0xEAC1 U+5FAF # [2000] +0xEAC2 U+5FB5 # [2000] +0xEAC3 U+5FB7 # [2000] +0xEAC4 U+5FC9 # [2000] +0xEAC5 U+5FDE # [2000] +0xEAC6 U+5FE1 # [2000] +0xEAC7 U+5FE9 # [2000] +0xEAC8 U+600D # [2000] +0xEAC9 U+6014 # [2000] +0xEACA U+6018 # [2000] +0xEACB U+6033 # [2000] +0xEACC U+6035 # [2000] +0xEACD U+6047 # [2000] +0xEACE U+FA3D # CJK COMPATIBILITY IDEOGRAPH-FA3D [2000] [Unicode3.2] +0xEACF U+609D # [2000] +0xEAD0 U+609E # [2000] +0xEAD1 U+60CB # [2000] +0xEAD2 U+60D4 # [2000] +0xEAD3 U+60D5 # [2000] +0xEAD4 U+60DD # [2000] +0xEAD5 U+60F8 # [2000] +0xEAD6 U+611C # [2000] +0xEAD7 U+612B # [2000] +0xEAD8 U+6130 # [2000] +0xEAD9 U+6137 # [2000] +0xEADA U+FA3E # CJK COMPATIBILITY IDEOGRAPH-FA3E [2000] [Unicode3.2] +0xEADB U+618D # [2000] +0xEADC U+FA3F # CJK COMPATIBILITY IDEOGRAPH-FA3F [2000] [Unicode3.2] +0xEADD U+61BC # [2000] +0xEADE U+61B9 # [2000] +0xEADF U+FA40 # CJK COMPATIBILITY IDEOGRAPH-FA40 [2000] [Unicode3.2] +0xEAE0 U+6222 # [2000] +0xEAE1 U+623E # [2000] +0xEAE2 U+6243 # [2000] +0xEAE3 U+6256 # [2000] +0xEAE4 U+625A # [2000] +0xEAE5 U+626F # [2000] +0xEAE6 U+6285 # [2000] +0xEAE7 U+62C4 # [2000] +0xEAE8 U+62D6 # [2000] +0xEAE9 U+62FC # [2000] +0xEAEA U+630A # [2000] +0xEAEB U+6318 # [2000] +0xEAEC U+6339 # [2000] +0xEAED U+6343 # [2000] +0xEAEE U+6365 # [2000] +0xEAEF U+637C # [2000] +0xEAF0 U+63E5 # [2000] +0xEAF1 U+63ED # [2000] +0xEAF2 U+63F5 # [2000] +0xEAF3 U+6410 # [2000] +0xEAF4 U+6414 # [2000] +0xEAF5 U+6422 # [2000] +0xEAF6 U+6479 # [2000] +0xEAF7 U+6451 # [2000] +0xEAF8 U+6460 # [2000] +0xEAF9 U+646D # [2000] +0xEAFA U+64CE # [2000] +0xEAFB U+64BE # [2000] +0xEAFC U+64BF # [2000] +0xEB40 U+64C4 # [2000] +0xEB41 U+64CA # [2000] +0xEB42 U+64D0 # [2000] +0xEB43 U+64F7 # [2000] +0xEB44 U+64FB # [2000] +0xEB45 U+6522 # [2000] +0xEB46 U+6529 # [2000] +0xEB47 U+FA41 # CJK COMPATIBILITY IDEOGRAPH-FA41 [2000] [Unicode3.2] +0xEB48 U+6567 # [2000] +0xEB49 U+659D # [2000] +0xEB4A U+FA42 # CJK COMPATIBILITY IDEOGRAPH-FA42 [2000] [Unicode3.2] +0xEB4B U+6600 # [2000] +0xEB4C U+6609 # [2000] +0xEB4D U+6615 # [2000] +0xEB4E U+661E # [2000] +0xEB4F U+663A # [2000] +0xEB50 U+6622 # [2000] +0xEB51 U+6624 # [2000] +0xEB52 U+662B # [2000] +0xEB53 U+6630 # [2000] +0xEB54 U+6631 # [2000] +0xEB55 U+6633 # [2000] +0xEB56 U+66FB # [2000] +0xEB57 U+6648 # [2000] +0xEB58 U+664C # [2000] +0xEB59 U+231C4 # [2000] [Unicode3.1] +0xEB5A U+6659 # [2000] +0xEB5B U+665A # [2000] +0xEB5C U+6661 # [2000] +0xEB5D U+6665 # [2000] +0xEB5E U+6673 # [2000] +0xEB5F U+6677 # [2000] +0xEB60 U+6678 # [2000] +0xEB61 U+668D # [2000] +0xEB62 U+FA43 # CJK COMPATIBILITY IDEOGRAPH-FA43 [2000] [Unicode3.2] +0xEB63 U+66A0 # [2000] +0xEB64 U+66B2 # [2000] +0xEB65 U+66BB # [2000] +0xEB66 U+66C6 # [2000] +0xEB67 U+66C8 # [2000] +0xEB68 U+3B22 # [2000] +0xEB69 U+66DB # [2000] +0xEB6A U+66E8 # [2000] +0xEB6B U+66FA # [2000] +0xEB6C U+6713 # [2000] +0xEB6D U+F929 # CJK COMPATIBILITY IDEOGRAPH-F929 [2000] +0xEB6E U+6733 # [2000] +0xEB6F U+6766 # [2000] +0xEB70 U+6747 # [2000] +0xEB71 U+6748 # [2000] +0xEB72 U+677B # [2000] +0xEB73 U+6781 # [2000] +0xEB74 U+6793 # [2000] +0xEB75 U+6798 # [2000] +0xEB76 U+679B # [2000] +0xEB77 U+67BB # [2000] +0xEB78 U+67F9 # [2000] +0xEB79 U+67C0 # [2000] +0xEB7A U+67D7 # [2000] +0xEB7B U+67FC # [2000] +0xEB7C U+6801 # [2000] +0xEB7D U+6852 # [2000] +0xEB7E U+681D # [2000] +0xEB80 U+682C # [2000] +0xEB81 U+6831 # [2000] +0xEB82 U+685B # [2000] +0xEB83 U+6872 # [2000] +0xEB84 U+6875 # [2000] +0xEB85 U+FA44 # CJK COMPATIBILITY IDEOGRAPH-FA44 [2000] [Unicode3.2] +0xEB86 U+68A3 # [2000] +0xEB87 U+68A5 # [2000] +0xEB88 U+68B2 # [2000] +0xEB89 U+68C8 # [2000] +0xEB8A U+68D0 # [2000] +0xEB8B U+68E8 # [2000] +0xEB8C U+68ED # [2000] +0xEB8D U+68F0 # [2000] +0xEB8E U+68F1 # [2000] +0xEB8F U+68FC # [2000] +0xEB90 U+690A # [2000] +0xEB91 U+6949 # [2000] +0xEB92 U+235C4 # [2000] [Unicode3.1] +0xEB93 U+6935 # [2000] +0xEB94 U+6942 # [2000] +0xEB95 U+6957 # [2000] +0xEB96 U+6963 # [2000] +0xEB97 U+6964 # [2000] +0xEB98 U+6968 # [2000] +0xEB99 U+6980 # [2000] +0xEB9A U+FA14 # CJK COMPATIBILITY IDEOGRAPH-FA14 [2000] +0xEB9B U+69A5 # [2000] +0xEB9C U+69AD # [2000] +0xEB9D U+69CF # [2000] +0xEB9E U+3BB6 # [2000] +0xEB9F U+3BC3 # [2000] +0xEBA0 U+69E2 # [2000] +0xEBA1 U+69E9 # [2000] +0xEBA2 U+69EA # [2000] +0xEBA3 U+69F5 # [2000] +0xEBA4 U+69F6 # [2000] +0xEBA5 U+6A0F # [2000] +0xEBA6 U+6A15 # [2000] +0xEBA7 U+2373F # [2000] [Unicode3.1] +0xEBA8 U+6A3B # [2000] +0xEBA9 U+6A3E # [2000] +0xEBAA U+6A45 # [2000] +0xEBAB U+6A50 # [2000] +0xEBAC U+6A56 # [2000] +0xEBAD U+6A5B # [2000] +0xEBAE U+6A6B # [2000] +0xEBAF U+6A73 # [2000] +0xEBB0 U+23763 # [2000] [Unicode3.1] +0xEBB1 U+6A89 # [2000] +0xEBB2 U+6A94 # [2000] +0xEBB3 U+6A9D # [2000] +0xEBB4 U+6A9E # [2000] +0xEBB5 U+6AA5 # [2000] +0xEBB6 U+6AE4 # [2000] +0xEBB7 U+6AE7 # [2000] +0xEBB8 U+3C0F # [2000] +0xEBB9 U+F91D # CJK COMPATIBILITY IDEOGRAPH-F91D [2000] +0xEBBA U+6B1B # [2000] +0xEBBB U+6B1E # [2000] +0xEBBC U+6B2C # [2000] +0xEBBD U+6B35 # [2000] +0xEBBE U+6B46 # [2000] +0xEBBF U+6B56 # [2000] +0xEBC0 U+6B60 # [2000] +0xEBC1 U+6B65 # [2000] +0xEBC2 U+6B67 # [2000] +0xEBC3 U+6B77 # [2000] +0xEBC4 U+6B82 # [2000] +0xEBC5 U+6BA9 # [2000] +0xEBC6 U+6BAD # [2000] +0xEBC7 U+F970 # CJK COMPATIBILITY IDEOGRAPH-F970 [2000] +0xEBC8 U+6BCF # [2000] +0xEBC9 U+6BD6 # [2000] +0xEBCA U+6BD7 # [2000] +0xEBCB U+6BFF # [2000] +0xEBCC U+6C05 # [2000] +0xEBCD U+6C10 # [2000] +0xEBCE U+6C33 # [2000] +0xEBCF U+6C59 # [2000] +0xEBD0 U+6C5C # [2000] +0xEBD1 U+6CAA # [2000] +0xEBD2 U+6C74 # [2000] +0xEBD3 U+6C76 # [2000] +0xEBD4 U+6C85 # [2000] +0xEBD5 U+6C86 # [2000] +0xEBD6 U+6C98 # [2000] +0xEBD7 U+6C9C # [2000] +0xEBD8 U+6CFB # [2000] +0xEBD9 U+6CC6 # [2000] +0xEBDA U+6CD4 # [2000] +0xEBDB U+6CE0 # [2000] +0xEBDC U+6CEB # [2000] +0xEBDD U+6CEE # [2000] +0xEBDE U+23CFE # [2000] [Unicode3.1] +0xEBDF U+6D04 # [2000] +0xEBE0 U+6D0E # [2000] +0xEBE1 U+6D2E # [2000] +0xEBE2 U+6D31 # [2000] +0xEBE3 U+6D39 # [2000] +0xEBE4 U+6D3F # [2000] +0xEBE5 U+6D58 # [2000] +0xEBE6 U+6D65 # [2000] +0xEBE7 U+FA45 # CJK COMPATIBILITY IDEOGRAPH-FA45 [2000] [Unicode3.2] +0xEBE8 U+6D82 # [2000] +0xEBE9 U+6D87 # [2000] +0xEBEA U+6D89 # [2000] +0xEBEB U+6D94 # [2000] +0xEBEC U+6DAA # [2000] +0xEBED U+6DAC # [2000] +0xEBEE U+6DBF # [2000] +0xEBEF U+6DC4 # [2000] +0xEBF0 U+6DD6 # [2000] +0xEBF1 U+6DDA # [2000] +0xEBF2 U+6DDB # [2000] +0xEBF3 U+6DDD # [2000] +0xEBF4 U+6DFC # [2000] +0xEBF5 U+FA46 # CJK COMPATIBILITY IDEOGRAPH-FA46 [2000] [Unicode3.2] +0xEBF6 U+6E34 # [2000] +0xEBF7 U+6E44 # [2000] +0xEBF8 U+6E5C # [2000] +0xEBF9 U+6E5E # [2000] +0xEBFA U+6EAB # [2000] +0xEBFB U+6EB1 # [2000] +0xEBFC U+6EC1 # [2000] +0xEC40 U+6EC7 # [2000] +0xEC41 U+6ECE # [2000] +0xEC42 U+6F10 # [2000] +0xEC43 U+6F1A # [2000] +0xEC44 U+FA47 # CJK COMPATIBILITY IDEOGRAPH-FA47 [2000] [Unicode3.2] +0xEC45 U+6F2A # [2000] +0xEC46 U+6F2F # [2000] +0xEC47 U+6F33 # [2000] +0xEC48 U+6F51 # [2000] +0xEC49 U+6F59 # [2000] +0xEC4A U+6F5E # [2000] +0xEC4B U+6F61 # [2000] +0xEC4C U+6F62 # [2000] +0xEC4D U+6F7E # [2000] +0xEC4E U+6F88 # [2000] +0xEC4F U+6F8C # [2000] +0xEC50 U+6F8D # [2000] +0xEC51 U+6F94 # [2000] +0xEC52 U+6FA0 # [2000] +0xEC53 U+6FA7 # [2000] +0xEC54 U+6FB6 # [2000] +0xEC55 U+6FBC # [2000] +0xEC56 U+6FC7 # [2000] +0xEC57 U+6FCA # [2000] +0xEC58 U+6FF9 # [2000] +0xEC59 U+6FF0 # [2000] +0xEC5A U+6FF5 # [2000] +0xEC5B U+7005 # [2000] +0xEC5C U+7006 # [2000] +0xEC5D U+7028 # [2000] +0xEC5E U+704A # [2000] +0xEC5F U+705D # [2000] +0xEC60 U+705E # [2000] +0xEC61 U+704E # [2000] +0xEC62 U+7064 # [2000] +0xEC63 U+7075 # [2000] +0xEC64 U+7085 # [2000] +0xEC65 U+70A4 # [2000] +0xEC66 U+70AB # [2000] +0xEC67 U+70B7 # [2000] +0xEC68 U+70D4 # [2000] +0xEC69 U+70D8 # [2000] +0xEC6A U+70E4 # [2000] +0xEC6B U+710F # [2000] +0xEC6C U+712B # [2000] +0xEC6D U+711E # [2000] +0xEC6E U+7120 # [2000] +0xEC6F U+712E # [2000] +0xEC70 U+7130 # [2000] +0xEC71 U+7146 # [2000] +0xEC72 U+7147 # [2000] +0xEC73 U+7151 # [2000] +0xEC74 U+FA48 # CJK COMPATIBILITY IDEOGRAPH-FA48 [2000] [Unicode3.2] +0xEC75 U+7152 # [2000] +0xEC76 U+715C # [2000] +0xEC77 U+7160 # [2000] +0xEC78 U+7168 # [2000] +0xEC79 U+FA15 # CJK COMPATIBILITY IDEOGRAPH-FA15 [2000] +0xEC7A U+7185 # [2000] +0xEC7B U+7187 # [2000] +0xEC7C U+7192 # [2000] +0xEC7D U+71C1 # [2000] +0xEC7E U+71BA # [2000] +0xEC80 U+71C4 # [2000] +0xEC81 U+71FE # [2000] +0xEC82 U+7200 # [2000] +0xEC83 U+7215 # [2000] +0xEC84 U+7255 # [2000] +0xEC85 U+7256 # [2000] +0xEC86 U+3E3F # [2000] +0xEC87 U+728D # [2000] +0xEC88 U+729B # [2000] +0xEC89 U+72BE # [2000] +0xEC8A U+72C0 # [2000] +0xEC8B U+72FB # [2000] +0xEC8C U+247F1 # [2000] [Unicode3.1] +0xEC8D U+7327 # [2000] +0xEC8E U+7328 # [2000] +0xEC8F U+FA16 # CJK COMPATIBILITY IDEOGRAPH-FA16 [2000] +0xEC90 U+7350 # [2000] +0xEC91 U+7366 # [2000] +0xEC92 U+737C # [2000] +0xEC93 U+7395 # [2000] +0xEC94 U+739F # [2000] +0xEC95 U+73A0 # [2000] +0xEC96 U+73A2 # [2000] +0xEC97 U+73A6 # [2000] +0xEC98 U+73AB # [2000] +0xEC99 U+73C9 # [2000] +0xEC9A U+73CF # [2000] +0xEC9B U+73D6 # [2000] +0xEC9C U+73D9 # [2000] +0xEC9D U+73E3 # [2000] +0xEC9E U+73E9 # [2000] +0xEC9F U+7407 # [2000] +0xECA0 U+740A # [2000] +0xECA1 U+741A # [2000] +0xECA2 U+741B # [2000] +0xECA3 U+FA4A # CJK COMPATIBILITY IDEOGRAPH-FA4A [2000] [Unicode3.2] +0xECA4 U+7426 # [2000] +0xECA5 U+7428 # [2000] +0xECA6 U+742A # [2000] +0xECA7 U+742B # [2000] +0xECA8 U+742C # [2000] +0xECA9 U+742E # [2000] +0xECAA U+742F # [2000] +0xECAB U+7430 # [2000] +0xECAC U+7444 # [2000] +0xECAD U+7446 # [2000] +0xECAE U+7447 # [2000] +0xECAF U+744B # [2000] +0xECB0 U+7457 # [2000] +0xECB1 U+7462 # [2000] +0xECB2 U+746B # [2000] +0xECB3 U+746D # [2000] +0xECB4 U+7486 # [2000] +0xECB5 U+7487 # [2000] +0xECB6 U+7489 # [2000] +0xECB7 U+7498 # [2000] +0xECB8 U+749C # [2000] +0xECB9 U+749F # [2000] +0xECBA U+74A3 # [2000] +0xECBB U+7490 # [2000] +0xECBC U+74A6 # [2000] +0xECBD U+74A8 # [2000] +0xECBE U+74A9 # [2000] +0xECBF U+74B5 # [2000] +0xECC0 U+74BF # [2000] +0xECC1 U+74C8 # [2000] +0xECC2 U+74C9 # [2000] +0xECC3 U+74DA # [2000] +0xECC4 U+74FF # [2000] +0xECC5 U+7501 # [2000] +0xECC6 U+7517 # [2000] +0xECC7 U+752F # [2000] +0xECC8 U+756F # [2000] +0xECC9 U+7579 # [2000] +0xECCA U+7592 # [2000] +0xECCB U+3F72 # [2000] +0xECCC U+75CE # [2000] +0xECCD U+75E4 # [2000] +0xECCE U+7600 # [2000] +0xECCF U+7602 # [2000] +0xECD0 U+7608 # [2000] +0xECD1 U+7615 # [2000] +0xECD2 U+7616 # [2000] +0xECD3 U+7619 # [2000] +0xECD4 U+761E # [2000] +0xECD5 U+762D # [2000] +0xECD6 U+7635 # [2000] +0xECD7 U+7643 # [2000] +0xECD8 U+764B # [2000] +0xECD9 U+7664 # [2000] +0xECDA U+7665 # [2000] +0xECDB U+766D # [2000] +0xECDC U+766F # [2000] +0xECDD U+7671 # [2000] +0xECDE U+7681 # [2000] +0xECDF U+769B # [2000] +0xECE0 U+769D # [2000] +0xECE1 U+769E # [2000] +0xECE2 U+76A6 # [2000] +0xECE3 U+76AA # [2000] +0xECE4 U+76B6 # [2000] +0xECE5 U+76C5 # [2000] +0xECE6 U+76CC # [2000] +0xECE7 U+76CE # [2000] +0xECE8 U+76D4 # [2000] +0xECE9 U+76E6 # [2000] +0xECEA U+76F1 # [2000] +0xECEB U+76FC # [2000] +0xECEC U+770A # [2000] +0xECED U+7719 # [2000] +0xECEE U+7734 # [2000] +0xECEF U+7736 # [2000] +0xECF0 U+7746 # [2000] +0xECF1 U+774D # [2000] +0xECF2 U+774E # [2000] +0xECF3 U+775C # [2000] +0xECF4 U+775F # [2000] +0xECF5 U+7762 # [2000] +0xECF6 U+777A # [2000] +0xECF7 U+7780 # [2000] +0xECF8 U+7794 # [2000] +0xECF9 U+77AA # [2000] +0xECFA U+77E0 # [2000] +0xECFB U+782D # [2000] +0xECFC U+2548E # [2000] [Unicode3.1] +0xED40 U+7843 # [2000] +0xED41 U+784E # [2000] +0xED42 U+784F # [2000] +0xED43 U+7851 # [2000] +0xED44 U+7868 # [2000] +0xED45 U+786E # [2000] +0xED46 U+FA4B # CJK COMPATIBILITY IDEOGRAPH-FA4B [2000] [Unicode3.2] +0xED47 U+78B0 # [2000] +0xED48 U+2550E # [2000] [Unicode3.1] +0xED49 U+78AD # [2000] +0xED4A U+78E4 # [2000] +0xED4B U+78F2 # [2000] +0xED4C U+7900 # [2000] +0xED4D U+78F7 # [2000] +0xED4E U+791C # [2000] +0xED4F U+792E # [2000] +0xED50 U+7931 # [2000] +0xED51 U+7934 # [2000] +0xED52 U+FA4C # CJK COMPATIBILITY IDEOGRAPH-FA4C [2000] [Unicode3.2] +0xED53 U+FA4D # CJK COMPATIBILITY IDEOGRAPH-FA4D [2000] [Unicode3.2] +0xED54 U+7945 # [2000] +0xED55 U+7946 # [2000] +0xED56 U+FA4E # CJK COMPATIBILITY IDEOGRAPH-FA4E [2000] [Unicode3.2] +0xED57 U+FA4F # CJK COMPATIBILITY IDEOGRAPH-FA4F [2000] [Unicode3.2] +0xED58 U+FA50 # CJK COMPATIBILITY IDEOGRAPH-FA50 [2000] [Unicode3.2] +0xED59 U+795C # [2000] +0xED5A U+FA51 # CJK COMPATIBILITY IDEOGRAPH-FA51 [2000] [Unicode3.2] +0xED5B U+FA19 # CJK COMPATIBILITY IDEOGRAPH-FA19 [2000] +0xED5C U+FA1A # CJK COMPATIBILITY IDEOGRAPH-FA1A [2000] +0xED5D U+7979 # [2000] +0xED5E U+FA52 # CJK COMPATIBILITY IDEOGRAPH-FA52 [2000] [Unicode3.2] +0xED5F U+FA53 # CJK COMPATIBILITY IDEOGRAPH-FA53 [2000] [Unicode3.2] +0xED60 U+FA1B # CJK COMPATIBILITY IDEOGRAPH-FA1B [2000] +0xED61 U+7998 # [2000] +0xED62 U+79B1 # [2000] +0xED63 U+79B8 # [2000] +0xED64 U+79C8 # [2000] +0xED65 U+79CA # [2000] +0xED66 U+25771 # [2000] [Unicode3.1] +0xED67 U+79D4 # [2000] +0xED68 U+79DE # [2000] +0xED69 U+79EB # [2000] +0xED6A U+79ED # [2000] +0xED6B U+7A03 # [2000] +0xED6C U+FA54 # CJK COMPATIBILITY IDEOGRAPH-FA54 [2000] [Unicode3.2] +0xED6D U+7A39 # [2000] +0xED6E U+7A5D # [2000] +0xED6F U+7A6D # [2000] +0xED70 U+FA55 # CJK COMPATIBILITY IDEOGRAPH-FA55 [2000] [Unicode3.2] +0xED71 U+7A85 # [2000] +0xED72 U+7AA0 # [2000] +0xED73 U+259C4 # [2000] [Unicode3.1] +0xED74 U+7AB3 # [2000] +0xED75 U+7ABB # [2000] +0xED76 U+7ACE # [2000] +0xED77 U+7AEB # [2000] +0xED78 U+7AFD # [2000] +0xED79 U+7B12 # [2000] +0xED7A U+7B2D # [2000] +0xED7B U+7B3B # [2000] +0xED7C U+7B47 # [2000] +0xED7D U+7B4E # [2000] +0xED7E U+7B60 # [2000] +0xED80 U+7B6D # [2000] +0xED81 U+7B6F # [2000] +0xED82 U+7B72 # [2000] +0xED83 U+7B9E # [2000] +0xED84 U+FA56 # CJK COMPATIBILITY IDEOGRAPH-FA56 [2000] [Unicode3.2] +0xED85 U+7BD7 # [2000] +0xED86 U+7BD9 # [2000] +0xED87 U+7C01 # [2000] +0xED88 U+7C31 # [2000] +0xED89 U+7C1E # [2000] +0xED8A U+7C20 # [2000] +0xED8B U+7C33 # [2000] +0xED8C U+7C36 # [2000] +0xED8D U+4264 # [2000] +0xED8E U+25DA1 # [2000] [Unicode3.1] +0xED8F U+7C59 # [2000] +0xED90 U+7C6D # [2000] +0xED91 U+7C79 # [2000] +0xED92 U+7C8F # [2000] +0xED93 U+7C94 # [2000] +0xED94 U+7CA0 # [2000] +0xED95 U+7CBC # [2000] +0xED96 U+7CD5 # [2000] +0xED97 U+7CD9 # [2000] +0xED98 U+7CDD # [2000] +0xED99 U+7D07 # [2000] +0xED9A U+7D08 # [2000] +0xED9B U+7D13 # [2000] +0xED9C U+7D1D # [2000] +0xED9D U+7D23 # [2000] +0xED9E U+7D31 # [2000] +0xED9F U+7D41 # [2000] +0xEDA0 U+7D48 # [2000] +0xEDA1 U+7D53 # [2000] +0xEDA2 U+7D5C # [2000] +0xEDA3 U+7D7A # [2000] +0xEDA4 U+7D83 # [2000] +0xEDA5 U+7D8B # [2000] +0xEDA6 U+7DA0 # [2000] +0xEDA7 U+7DA6 # [2000] +0xEDA8 U+7DC2 # [2000] +0xEDA9 U+7DCC # [2000] +0xEDAA U+7DD6 # [2000] +0xEDAB U+7DE3 # [2000] +0xEDAC U+FA57 # CJK COMPATIBILITY IDEOGRAPH-FA57 [2000] [Unicode3.2] +0xEDAD U+7E28 # [2000] +0xEDAE U+7E08 # [2000] +0xEDAF U+7E11 # [2000] +0xEDB0 U+7E15 # [2000] +0xEDB1 U+FA59 # CJK COMPATIBILITY IDEOGRAPH-FA59 [2000] [Unicode3.2] +0xEDB2 U+7E47 # [2000] +0xEDB3 U+7E52 # [2000] +0xEDB4 U+7E61 # [2000] +0xEDB5 U+7E8A # [2000] +0xEDB6 U+7E8D # [2000] +0xEDB7 U+7F47 # [2000] +0xEDB8 U+FA5A # CJK COMPATIBILITY IDEOGRAPH-FA5A [2000] [Unicode3.2] +0xEDB9 U+7F91 # [2000] +0xEDBA U+7F97 # [2000] +0xEDBB U+7FBF # [2000] +0xEDBC U+7FCE # [2000] +0xEDBD U+7FDB # [2000] +0xEDBE U+7FDF # [2000] +0xEDBF U+7FEC # [2000] +0xEDC0 U+7FEE # [2000] +0xEDC1 U+7FFA # [2000] +0xEDC2 U+FA5B # CJK COMPATIBILITY IDEOGRAPH-FA5B [2000] [Unicode3.2] +0xEDC3 U+8014 # [2000] +0xEDC4 U+8026 # [2000] +0xEDC5 U+8035 # [2000] +0xEDC6 U+8037 # [2000] +0xEDC7 U+803C # [2000] +0xEDC8 U+80CA # [2000] +0xEDC9 U+80D7 # [2000] +0xEDCA U+80E0 # [2000] +0xEDCB U+80F3 # [2000] +0xEDCC U+8118 # [2000] +0xEDCD U+814A # [2000] +0xEDCE U+8160 # [2000] +0xEDCF U+8167 # [2000] +0xEDD0 U+8168 # [2000] +0xEDD1 U+816D # [2000] +0xEDD2 U+81BB # [2000] +0xEDD3 U+81CA # [2000] +0xEDD4 U+81CF # [2000] +0xEDD5 U+81D7 # [2000] +0xEDD6 U+FA5C # CJK COMPATIBILITY IDEOGRAPH-FA5C [2000] [Unicode3.2] +0xEDD7 U+4453 # [2000] +0xEDD8 U+445B # [2000] +0xEDD9 U+8260 # [2000] +0xEDDA U+8274 # [2000] +0xEDDB U+26AFF # [2000] [Unicode3.1] +0xEDDC U+828E # [2000] +0xEDDD U+82A1 # [2000] +0xEDDE U+82A3 # [2000] +0xEDDF U+82A4 # [2000] +0xEDE0 U+82A9 # [2000] +0xEDE1 U+82AE # [2000] +0xEDE2 U+82B7 # [2000] +0xEDE3 U+82BE # [2000] +0xEDE4 U+82BF # [2000] +0xEDE5 U+82C6 # [2000] +0xEDE6 U+82D5 # [2000] +0xEDE7 U+82FD # [2000] +0xEDE8 U+82FE # [2000] +0xEDE9 U+8300 # [2000] +0xEDEA U+8301 # [2000] +0xEDEB U+8362 # [2000] +0xEDEC U+8322 # [2000] +0xEDED U+832D # [2000] +0xEDEE U+833A # [2000] +0xEDEF U+8343 # [2000] +0xEDF0 U+8347 # [2000] +0xEDF1 U+8351 # [2000] +0xEDF2 U+8355 # [2000] +0xEDF3 U+837D # [2000] +0xEDF4 U+8386 # [2000] +0xEDF5 U+8392 # [2000] +0xEDF6 U+8398 # [2000] +0xEDF7 U+83A7 # [2000] +0xEDF8 U+83A9 # [2000] +0xEDF9 U+83BF # [2000] +0xEDFA U+83C0 # [2000] +0xEDFB U+83C7 # [2000] +0xEDFC U+83CF # [2000] +0xEE40 U+83D1 # [2000] +0xEE41 U+83E1 # [2000] +0xEE42 U+83EA # [2000] +0xEE43 U+8401 # [2000] +0xEE44 U+8406 # [2000] +0xEE45 U+840A # [2000] +0xEE46 U+FA5F # CJK COMPATIBILITY IDEOGRAPH-FA5F [2000] [Unicode3.2] +0xEE47 U+8448 # [2000] +0xEE48 U+845F # [2000] +0xEE49 U+8470 # [2000] +0xEE4A U+8473 # [2000] +0xEE4B U+8485 # [2000] +0xEE4C U+849E # [2000] +0xEE4D U+84AF # [2000] +0xEE4E U+84B4 # [2000] +0xEE4F U+84BA # [2000] +0xEE50 U+84C0 # [2000] +0xEE51 U+84C2 # [2000] +0xEE52 U+26E40 # [2000] [Unicode3.1] +0xEE53 U+8532 # [2000] +0xEE54 U+851E # [2000] +0xEE55 U+8523 # [2000] +0xEE56 U+852F # [2000] +0xEE57 U+8559 # [2000] +0xEE58 U+8564 # [2000] +0xEE59 U+FA1F # CJK COMPATIBILITY IDEOGRAPH-FA1F [2000] +0xEE5A U+85AD # [2000] +0xEE5B U+857A # [2000] +0xEE5C U+858C # [2000] +0xEE5D U+858F # [2000] +0xEE5E U+85A2 # [2000] +0xEE5F U+85B0 # [2000] +0xEE60 U+85CB # [2000] +0xEE61 U+85CE # [2000] +0xEE62 U+85ED # [2000] +0xEE63 U+8612 # [2000] +0xEE64 U+85FF # [2000] +0xEE65 U+8604 # [2000] +0xEE66 U+8605 # [2000] +0xEE67 U+8610 # [2000] +0xEE68 U+270F4 # [2000] [Unicode3.1] +0xEE69 U+8618 # [2000] +0xEE6A U+8629 # [2000] +0xEE6B U+8638 # [2000] +0xEE6C U+8657 # [2000] +0xEE6D U+865B # [2000] +0xEE6E U+F936 # CJK COMPATIBILITY IDEOGRAPH-F936 [2000] +0xEE6F U+8662 # [2000] +0xEE70 U+459D # [2000] +0xEE71 U+866C # [2000] +0xEE72 U+8675 # [2000] +0xEE73 U+8698 # [2000] +0xEE74 U+86B8 # [2000] +0xEE75 U+86FA # [2000] +0xEE76 U+86FC # [2000] +0xEE77 U+86FD # [2000] +0xEE78 U+870B # [2000] +0xEE79 U+8771 # [2000] +0xEE7A U+8787 # [2000] +0xEE7B U+8788 # [2000] +0xEE7C U+87AC # [2000] +0xEE7D U+87AD # [2000] +0xEE7E U+87B5 # [2000] +0xEE80 U+45EA # [2000] +0xEE81 U+87D6 # [2000] +0xEE82 U+87EC # [2000] +0xEE83 U+8806 # [2000] +0xEE84 U+880A # [2000] +0xEE85 U+8810 # [2000] +0xEE86 U+8814 # [2000] +0xEE87 U+881F # [2000] +0xEE88 U+8898 # [2000] +0xEE89 U+88AA # [2000] +0xEE8A U+88CA # [2000] +0xEE8B U+88CE # [2000] +0xEE8C U+27684 # [2000] [Unicode3.1] +0xEE8D U+88F5 # [2000] +0xEE8E U+891C # [2000] +0xEE8F U+FA60 # CJK COMPATIBILITY IDEOGRAPH-FA60 [2000] [Unicode3.2] +0xEE90 U+8918 # [2000] +0xEE91 U+8919 # [2000] +0xEE92 U+891A # [2000] +0xEE93 U+8927 # [2000] +0xEE94 U+8930 # [2000] +0xEE95 U+8932 # [2000] +0xEE96 U+8939 # [2000] +0xEE97 U+8940 # [2000] +0xEE98 U+8994 # [2000] +0xEE99 U+FA61 # CJK COMPATIBILITY IDEOGRAPH-FA61 [2000] [Unicode3.2] +0xEE9A U+89D4 # [2000] +0xEE9B U+89E5 # [2000] +0xEE9C U+89F6 # [2000] +0xEE9D U+8A12 # [2000] +0xEE9E U+8A15 # [2000] +0xEE9F U+8A22 # [2000] +0xEEA0 U+8A37 # [2000] +0xEEA1 U+8A47 # [2000] +0xEEA2 U+8A4E # [2000] +0xEEA3 U+8A5D # [2000] +0xEEA4 U+8A61 # [2000] +0xEEA5 U+8A75 # [2000] +0xEEA6 U+8A79 # [2000] +0xEEA7 U+8AA7 # [2000] +0xEEA8 U+8AD0 # [2000] +0xEEA9 U+8ADF # [2000] +0xEEAA U+8AF4 # [2000] +0xEEAB U+8AF6 # [2000] +0xEEAC U+FA22 # CJK COMPATIBILITY IDEOGRAPH-FA22 [2000] +0xEEAD U+FA62 # CJK COMPATIBILITY IDEOGRAPH-FA62 [2000] [Unicode3.2] +0xEEAE U+FA63 # CJK COMPATIBILITY IDEOGRAPH-FA63 [2000] [Unicode3.2] +0xEEAF U+8B46 # [2000] +0xEEB0 U+8B54 # [2000] +0xEEB1 U+8B59 # [2000] +0xEEB2 U+8B69 # [2000] +0xEEB3 U+8B9D # [2000] +0xEEB4 U+8C49 # [2000] +0xEEB5 U+8C68 # [2000] +0xEEB6 U+FA64 # CJK COMPATIBILITY IDEOGRAPH-FA64 [2000] [Unicode3.2] +0xEEB7 U+8CE1 # [2000] +0xEEB8 U+8CF4 # [2000] +0xEEB9 U+8CF8 # [2000] +0xEEBA U+8CFE # [2000] +0xEEBB U+FA65 # CJK COMPATIBILITY IDEOGRAPH-FA65 [2000] [Unicode3.2] +0xEEBC U+8D12 # [2000] +0xEEBD U+8D1B # [2000] +0xEEBE U+8DAF # [2000] +0xEEBF U+8DCE # [2000] +0xEEC0 U+8DD1 # [2000] +0xEEC1 U+8DD7 # [2000] +0xEEC2 U+8E20 # [2000] +0xEEC3 U+8E23 # [2000] +0xEEC4 U+8E3D # [2000] +0xEEC5 U+8E70 # [2000] +0xEEC6 U+8E7B # [2000] +0xEEC7 U+28277 # [2000] [Unicode3.1] +0xEEC8 U+8EC0 # [2000] +0xEEC9 U+4844 # [2000] +0xEECA U+8EFA # [2000] +0xEECB U+8F1E # [2000] +0xEECC U+8F2D # [2000] +0xEECD U+8F36 # [2000] +0xEECE U+8F54 # [2000] +0xEECF U+283CD # [2000] [Unicode3.1] +0xEED0 U+8FA6 # [2000] +0xEED1 U+8FB5 # [2000] +0xEED2 U+8FE4 # [2000] +0xEED3 U+8FE8 # [2000] +0xEED4 U+8FEE # [2000] +0xEED5 U+9008 # [2000] +0xEED6 U+902D # [2000] +0xEED7 U+FA67 # CJK COMPATIBILITY IDEOGRAPH-FA67 [2000] [Unicode3.2] +0xEED8 U+9088 # [2000] +0xEED9 U+9095 # [2000] +0xEEDA U+9097 # [2000] +0xEEDB U+9099 # [2000] +0xEEDC U+909B # [2000] +0xEEDD U+90A2 # [2000] +0xEEDE U+90B3 # [2000] +0xEEDF U+90BE # [2000] +0xEEE0 U+90C4 # [2000] +0xEEE1 U+90C5 # [2000] +0xEEE2 U+90C7 # [2000] +0xEEE3 U+90D7 # [2000] +0xEEE4 U+90DD # [2000] +0xEEE5 U+90DE # [2000] +0xEEE6 U+90EF # [2000] +0xEEE7 U+90F4 # [2000] +0xEEE8 U+FA26 # CJK COMPATIBILITY IDEOGRAPH-FA26 [2000] +0xEEE9 U+9114 # [2000] +0xEEEA U+9115 # [2000] +0xEEEB U+9116 # [2000] +0xEEEC U+9122 # [2000] +0xEEED U+9123 # [2000] +0xEEEE U+9127 # [2000] +0xEEEF U+912F # [2000] +0xEEF0 U+9131 # [2000] +0xEEF1 U+9134 # [2000] +0xEEF2 U+913D # [2000] +0xEEF3 U+9148 # [2000] +0xEEF4 U+915B # [2000] +0xEEF5 U+9183 # [2000] +0xEEF6 U+919E # [2000] +0xEEF7 U+91AC # [2000] +0xEEF8 U+91B1 # [2000] +0xEEF9 U+91BC # [2000] +0xEEFA U+91D7 # [2000] +0xEEFB U+91FB # [2000] +0xEEFC U+91E4 # [2000] +0xEF40 U+91E5 # [2000] +0xEF41 U+91ED # [2000] +0xEF42 U+91F1 # [2000] +0xEF43 U+9207 # [2000] +0xEF44 U+9210 # [2000] +0xEF45 U+9238 # [2000] +0xEF46 U+9239 # [2000] +0xEF47 U+923A # [2000] +0xEF48 U+923C # [2000] +0xEF49 U+9240 # [2000] +0xEF4A U+9243 # [2000] +0xEF4B U+924F # [2000] +0xEF4C U+9278 # [2000] +0xEF4D U+9288 # [2000] +0xEF4E U+92C2 # [2000] +0xEF4F U+92CB # [2000] +0xEF50 U+92CC # [2000] +0xEF51 U+92D3 # [2000] +0xEF52 U+92E0 # [2000] +0xEF53 U+92FF # [2000] +0xEF54 U+9304 # [2000] +0xEF55 U+931F # [2000] +0xEF56 U+9321 # [2000] +0xEF57 U+9325 # [2000] +0xEF58 U+9348 # [2000] +0xEF59 U+9349 # [2000] +0xEF5A U+934A # [2000] +0xEF5B U+9364 # [2000] +0xEF5C U+9365 # [2000] +0xEF5D U+936A # [2000] +0xEF5E U+9370 # [2000] +0xEF5F U+939B # [2000] +0xEF60 U+93A3 # [2000] +0xEF61 U+93BA # [2000] +0xEF62 U+93C6 # [2000] +0xEF63 U+93DE # [2000] +0xEF64 U+93DF # [2000] +0xEF65 U+9404 # [2000] +0xEF66 U+93FD # [2000] +0xEF67 U+9433 # [2000] +0xEF68 U+944A # [2000] +0xEF69 U+9463 # [2000] +0xEF6A U+946B # [2000] +0xEF6B U+9471 # [2000] +0xEF6C U+9472 # [2000] +0xEF6D U+958E # [2000] +0xEF6E U+959F # [2000] +0xEF6F U+95A6 # [2000] +0xEF70 U+95A9 # [2000] +0xEF71 U+95AC # [2000] +0xEF72 U+95B6 # [2000] +0xEF73 U+95BD # [2000] +0xEF74 U+95CB # [2000] +0xEF75 U+95D0 # [2000] +0xEF76 U+95D3 # [2000] +0xEF77 U+49B0 # [2000] +0xEF78 U+95DA # [2000] +0xEF79 U+95DE # [2000] +0xEF7A U+9658 # [2000] +0xEF7B U+9684 # [2000] +0xEF7C U+F9DC # CJK COMPATIBILITY IDEOGRAPH-F9DC [2000] +0xEF7D U+969D # [2000] +0xEF7E U+96A4 # [2000] +0xEF80 U+96A5 # [2000] +0xEF81 U+96D2 # [2000] +0xEF82 U+96DE # [2000] +0xEF83 U+FA68 # CJK COMPATIBILITY IDEOGRAPH-FA68 [2000] [Unicode3.2] +0xEF84 U+96E9 # [2000] +0xEF85 U+96EF # [2000] +0xEF86 U+9733 # [2000] +0xEF87 U+973B # [2000] +0xEF88 U+974D # [2000] +0xEF89 U+974E # [2000] +0xEF8A U+974F # [2000] +0xEF8B U+975A # [2000] +0xEF8C U+976E # [2000] +0xEF8D U+9773 # [2000] +0xEF8E U+9795 # [2000] +0xEF8F U+97AE # [2000] +0xEF90 U+97BA # [2000] +0xEF91 U+97C1 # [2000] +0xEF92 U+97C9 # [2000] +0xEF93 U+97DE # [2000] +0xEF94 U+97DB # [2000] +0xEF95 U+97F4 # [2000] +0xEF96 U+FA69 # CJK COMPATIBILITY IDEOGRAPH-FA69 [2000] [Unicode3.2] +0xEF97 U+980A # [2000] +0xEF98 U+981E # [2000] +0xEF99 U+982B # [2000] +0xEF9A U+9830 # [2000] +0xEF9B U+FA6A # CJK COMPATIBILITY IDEOGRAPH-FA6A [2000] [Unicode3.2] +0xEF9C U+9852 # [2000] +0xEF9D U+9853 # [2000] +0xEF9E U+9856 # [2000] +0xEF9F U+9857 # [2000] +0xEFA0 U+9859 # [2000] +0xEFA1 U+985A # [2000] +0xEFA2 U+F9D0 # CJK COMPATIBILITY IDEOGRAPH-F9D0 [2000] +0xEFA3 U+9865 # [2000] +0xEFA4 U+986C # [2000] +0xEFA5 U+98BA # [2000] +0xEFA6 U+98C8 # [2000] +0xEFA7 U+98E7 # [2000] +0xEFA8 U+9958 # [2000] +0xEFA9 U+999E # [2000] +0xEFAA U+9A02 # [2000] +0xEFAB U+9A03 # [2000] +0xEFAC U+9A24 # [2000] +0xEFAD U+9A2D # [2000] +0xEFAE U+9A2E # [2000] +0xEFAF U+9A38 # [2000] +0xEFB0 U+9A4A # [2000] +0xEFB1 U+9A4E # [2000] +0xEFB2 U+9A52 # [2000] +0xEFB3 U+9AB6 # [2000] +0xEFB4 U+9AC1 # [2000] +0xEFB5 U+9AC3 # [2000] +0xEFB6 U+9ACE # [2000] +0xEFB7 U+9AD6 # [2000] +0xEFB8 U+9AF9 # [2000] +0xEFB9 U+9B02 # [2000] +0xEFBA U+9B08 # [2000] +0xEFBB U+9B20 # [2000] +0xEFBC U+4C17 # [2000] +0xEFBD U+9B2D # [2000] +0xEFBE U+9B5E # [2000] +0xEFBF U+9B79 # [2000] +0xEFC0 U+9B66 # [2000] +0xEFC1 U+9B72 # [2000] +0xEFC2 U+9B75 # [2000] +0xEFC3 U+9B84 # [2000] +0xEFC4 U+9B8A # [2000] +0xEFC5 U+9B8F # [2000] +0xEFC6 U+9B9E # [2000] +0xEFC7 U+9BA7 # [2000] +0xEFC8 U+9BC1 # [2000] +0xEFC9 U+9BCE # [2000] +0xEFCA U+9BE5 # [2000] +0xEFCB U+9BF8 # [2000] +0xEFCC U+9BFD # [2000] +0xEFCD U+9C00 # [2000] +0xEFCE U+9C23 # [2000] +0xEFCF U+9C41 # [2000] +0xEFD0 U+9C4F # [2000] +0xEFD1 U+9C50 # [2000] +0xEFD2 U+9C53 # [2000] +0xEFD3 U+9C63 # [2000] +0xEFD4 U+9C65 # [2000] +0xEFD5 U+9C77 # [2000] +0xEFD6 U+9D1D # [2000] +0xEFD7 U+9D1E # [2000] +0xEFD8 U+9D43 # [2000] +0xEFD9 U+9D47 # [2000] +0xEFDA U+9D52 # [2000] +0xEFDB U+9D63 # [2000] +0xEFDC U+9D70 # [2000] +0xEFDD U+9D7C # [2000] +0xEFDE U+9D8A # [2000] +0xEFDF U+9D96 # [2000] +0xEFE0 U+9DC0 # [2000] +0xEFE1 U+9DAC # [2000] +0xEFE2 U+9DBC # [2000] +0xEFE3 U+9DD7 # [2000] +0xEFE4 U+2A190 # [2000] [Unicode3.1] +0xEFE5 U+9DE7 # [2000] +0xEFE6 U+9E07 # [2000] +0xEFE7 U+9E15 # [2000] +0xEFE8 U+9E7C # [2000] +0xEFE9 U+9E9E # [2000] +0xEFEA U+9EA4 # [2000] +0xEFEB U+9EAC # [2000] +0xEFEC U+9EAF # [2000] +0xEFED U+9EB4 # [2000] +0xEFEE U+9EB5 # [2000] +0xEFEF U+9EC3 # [2000] +0xEFF0 U+9ED1 # [2000] +0xEFF1 U+9F10 # [2000] +0xEFF2 U+9F39 # [2000] +0xEFF3 U+9F57 # [2000] +0xEFF4 U+9F90 # [2000] +0xEFF5 U+9F94 # [2000] +0xEFF6 U+9F97 # [2000] +0xEFF7 U+9FA2 # [2000] +0xEFF8 U+59F8 # [2004] +0xEFF9 U+5C5B # [2004] +0xEFFA U+5E77 # [2004] +0xEFFB U+7626 # [2004] +0xEFFC U+7E6B # [2004] +0xF040 U+20089 # [2000] [Unicode3.1] +0xF041 U+4E02 # [2000] +0xF042 U+4E0F # [2000] +0xF043 U+4E12 # [2000] +0xF044 U+4E29 # [2000] +0xF045 U+4E2B # [2000] +0xF046 U+4E2E # [2000] +0xF047 U+4E40 # [2000] +0xF048 U+4E47 # [2000] +0xF049 U+4E48 # [2000] +0xF04A U+200A2 # [2000] [Unicode3.1] +0xF04B U+4E51 # [2000] +0xF04C U+3406 # [2000] +0xF04D U+200A4 # [2000] [Unicode3.1] +0xF04E U+4E5A # [2000] +0xF04F U+4E69 # [2000] +0xF050 U+4E9D # [2000] +0xF051 U+342C # [2000] +0xF052 U+342E # [2000] +0xF053 U+4EB9 # [2000] +0xF054 U+4EBB # [2000] +0xF055 U+201A2 # [2000] [Unicode3.1] +0xF056 U+4EBC # [2000] +0xF057 U+4EC3 # [2000] +0xF058 U+4EC8 # [2000] +0xF059 U+4ED0 # [2000] +0xF05A U+4EEB # [2000] +0xF05B U+4EDA # [2000] +0xF05C U+4EF1 # [2000] +0xF05D U+4EF5 # [2000] +0xF05E U+4F00 # [2000] +0xF05F U+4F16 # [2000] +0xF060 U+4F64 # [2000] +0xF061 U+4F37 # [2000] +0xF062 U+4F3E # [2000] +0xF063 U+4F54 # [2000] +0xF064 U+4F58 # [2000] +0xF065 U+20213 # [2000] [Unicode3.1] +0xF066 U+4F77 # [2000] +0xF067 U+4F78 # [2000] +0xF068 U+4F7A # [2000] +0xF069 U+4F7D # [2000] +0xF06A U+4F82 # [2000] +0xF06B U+4F85 # [2000] +0xF06C U+4F92 # [2000] +0xF06D U+4F9A # [2000] +0xF06E U+4FE6 # [2000] +0xF06F U+4FB2 # [2000] +0xF070 U+4FBE # [2000] +0xF071 U+4FC5 # [2000] +0xF072 U+4FCB # [2000] +0xF073 U+4FCF # [2000] +0xF074 U+4FD2 # [2000] +0xF075 U+346A # [2000] +0xF076 U+4FF2 # [2000] +0xF077 U+5000 # [2000] +0xF078 U+5010 # [2000] +0xF079 U+5013 # [2000] +0xF07A U+501C # [2000] +0xF07B U+501E # [2000] +0xF07C U+5022 # [2000] +0xF07D U+3468 # [2000] +0xF07E U+5042 # [2000] +0xF080 U+5046 # [2000] +0xF081 U+504E # [2000] +0xF082 U+5053 # [2000] +0xF083 U+5057 # [2000] +0xF084 U+5063 # [2000] +0xF085 U+5066 # [2000] +0xF086 U+506A # [2000] +0xF087 U+5070 # [2000] +0xF088 U+50A3 # [2000] +0xF089 U+5088 # [2000] +0xF08A U+5092 # [2000] +0xF08B U+5093 # [2000] +0xF08C U+5095 # [2000] +0xF08D U+5096 # [2000] +0xF08E U+509C # [2000] +0xF08F U+50AA # [2000] +0xF090 U+2032B # [2000] [Unicode3.1] +0xF091 U+50B1 # [2000] +0xF092 U+50BA # [2000] +0xF093 U+50BB # [2000] +0xF094 U+50C4 # [2000] +0xF095 U+50C7 # [2000] +0xF096 U+50F3 # [2000] +0xF097 U+20381 # [2000] [Unicode3.1] +0xF098 U+50CE # [2000] +0xF099 U+20371 # [2000] [Unicode3.1] +0xF09A U+50D4 # [2000] +0xF09B U+50D9 # [2000] +0xF09C U+50E1 # [2000] +0xF09D U+50E9 # [2000] +0xF09E U+3492 # [2000] +0xF140 U+5108 # [2000] +0xF141 U+203F9 # [2000] [Unicode3.1] +0xF142 U+5117 # [2000] +0xF143 U+511B # [2000] +0xF144 U+2044A # [2000] [Unicode3.1] +0xF145 U+5160 # [2000] +0xF146 U+20509 # [2000] [Unicode3.1] +0xF147 U+5173 # [2000] +0xF148 U+5183 # [2000] +0xF149 U+518B # [2000] +0xF14A U+34BC # [2000] +0xF14B U+5198 # [2000] +0xF14C U+51A3 # [2000] +0xF14D U+51AD # [2000] +0xF14E U+34C7 # [2000] +0xF14F U+51BC # [2000] +0xF150 U+205D6 # [2000] [Unicode3.1] +0xF151 U+20628 # [2000] [Unicode3.1] +0xF152 U+51F3 # [2000] +0xF153 U+51F4 # [2000] +0xF154 U+5202 # [2000] +0xF155 U+5212 # [2000] +0xF156 U+5216 # [2000] +0xF157 U+2074F # [2000] [Unicode3.1] +0xF158 U+5255 # [2000] +0xF159 U+525C # [2000] +0xF15A U+526C # [2000] +0xF15B U+5277 # [2000] +0xF15C U+5284 # [2000] +0xF15D U+5282 # [2000] +0xF15E U+20807 # [2000] [Unicode3.1] +0xF15F U+5298 # [2000] +0xF160 U+2083A # [2000] [Unicode3.1] +0xF161 U+52A4 # [2000] +0xF162 U+52A6 # [2000] +0xF163 U+52AF # [2000] +0xF164 U+52BA # [2000] +0xF165 U+52BB # [2000] +0xF166 U+52CA # [2000] +0xF167 U+351F # [2000] +0xF168 U+52D1 # [2000] +0xF169 U+208B9 # [2000] [Unicode3.1] +0xF16A U+52F7 # [2000] +0xF16B U+530A # [2000] +0xF16C U+530B # [2000] +0xF16D U+5324 # [2000] +0xF16E U+5335 # [2000] +0xF16F U+533E # [2000] +0xF170 U+5342 # [2000] +0xF171 U+2097C # [2000] [Unicode3.1] +0xF172 U+2099D # [2000] [Unicode3.1] +0xF173 U+5367 # [2000] +0xF174 U+536C # [2000] +0xF175 U+537A # [2000] +0xF176 U+53A4 # [2000] +0xF177 U+53B4 # [2000] +0xF178 U+20AD3 # [2000] [Unicode3.1] +0xF179 U+53B7 # [2000] +0xF17A U+53C0 # [2000] +0xF17B U+20B1D # [2000] [Unicode3.1] +0xF17C U+355D # [2000] +0xF17D U+355E # [2000] +0xF17E U+53D5 # [2000] +0xF180 U+53DA # [2000] +0xF181 U+3563 # [2000] +0xF182 U+53F4 # [2000] +0xF183 U+53F5 # [2000] +0xF184 U+5455 # [2000] +0xF185 U+5424 # [2000] +0xF186 U+5428 # [2000] +0xF187 U+356E # [2000] +0xF188 U+5443 # [2000] +0xF189 U+5462 # [2000] +0xF18A U+5466 # [2000] +0xF18B U+546C # [2000] +0xF18C U+548A # [2000] +0xF18D U+548D # [2000] +0xF18E U+5495 # [2000] +0xF18F U+54A0 # [2000] +0xF190 U+54A6 # [2000] +0xF191 U+54AD # [2000] +0xF192 U+54AE # [2000] +0xF193 U+54B7 # [2000] +0xF194 U+54BA # [2000] +0xF195 U+54BF # [2000] +0xF196 U+54C3 # [2000] +0xF197 U+20D45 # [2000] [Unicode3.1] +0xF198 U+54EC # [2000] +0xF199 U+54EF # [2000] +0xF19A U+54F1 # [2000] +0xF19B U+54F3 # [2000] +0xF19C U+5500 # [2000] +0xF19D U+5501 # [2000] +0xF19E U+5509 # [2000] +0xF19F U+553C # [2000] +0xF1A0 U+5541 # [2000] +0xF1A1 U+35A6 # [2000] +0xF1A2 U+5547 # [2000] +0xF1A3 U+554A # [2000] +0xF1A4 U+35A8 # [2000] +0xF1A5 U+5560 # [2000] +0xF1A6 U+5561 # [2000] +0xF1A7 U+5564 # [2000] +0xF1A8 U+20DE1 # [2000] [Unicode3.1] +0xF1A9 U+557D # [2000] +0xF1AA U+5582 # [2000] +0xF1AB U+5588 # [2000] +0xF1AC U+5591 # [2000] +0xF1AD U+35C5 # [2000] +0xF1AE U+55D2 # [2000] +0xF1AF U+20E95 # [2000] [Unicode3.1] +0xF1B0 U+20E6D # [2000] [Unicode3.1] +0xF1B1 U+55BF # [2000] +0xF1B2 U+55C9 # [2000] +0xF1B3 U+55CC # [2000] +0xF1B4 U+55D1 # [2000] +0xF1B5 U+55DD # [2000] +0xF1B6 U+35DA # [2000] +0xF1B7 U+55E2 # [2000] +0xF1B8 U+20E64 # [2000] [Unicode3.1] +0xF1B9 U+55E9 # [2000] +0xF1BA U+5628 # [2000] +0xF1BB U+20F5F # [2000] [Unicode3.1] +0xF1BC U+5607 # [2000] +0xF1BD U+5610 # [2000] +0xF1BE U+5630 # [2000] +0xF1BF U+5637 # [2000] +0xF1C0 U+35F4 # [2000] +0xF1C1 U+563D # [2000] +0xF1C2 U+563F # [2000] +0xF1C3 U+5640 # [2000] +0xF1C4 U+5647 # [2000] +0xF1C5 U+565E # [2000] +0xF1C6 U+5660 # [2000] +0xF1C7 U+566D # [2000] +0xF1C8 U+3605 # [2000] +0xF1C9 U+5688 # [2000] +0xF1CA U+568C # [2000] +0xF1CB U+5695 # [2000] +0xF1CC U+569A # [2000] +0xF1CD U+569D # [2000] +0xF1CE U+56A8 # [2000] +0xF1CF U+56AD # [2000] +0xF1D0 U+56B2 # [2000] +0xF1D1 U+56C5 # [2000] +0xF1D2 U+56CD # [2000] +0xF1D3 U+56DF # [2000] +0xF1D4 U+56E8 # [2000] +0xF1D5 U+56F6 # [2000] +0xF1D6 U+56F7 # [2000] +0xF1D7 U+21201 # [2000] [Unicode3.1] +0xF1D8 U+5715 # [2000] +0xF1D9 U+5723 # [2000] +0xF1DA U+21255 # [2000] [Unicode3.1] +0xF1DB U+5729 # [2000] +0xF1DC U+2127B # [2000] [Unicode3.1] +0xF1DD U+5745 # [2000] +0xF1DE U+5746 # [2000] +0xF1DF U+574C # [2000] +0xF1E0 U+574D # [2000] +0xF1E1 U+21274 # [2000] [Unicode3.1] +0xF1E2 U+5768 # [2000] +0xF1E3 U+576F # [2000] +0xF1E4 U+5773 # [2000] +0xF1E5 U+5774 # [2000] +0xF1E6 U+5775 # [2000] +0xF1E7 U+577B # [2000] +0xF1E8 U+212E4 # [2000] [Unicode3.1] +0xF1E9 U+212D7 # [2000] [Unicode3.1] +0xF1EA U+57AC # [2000] +0xF1EB U+579A # [2000] +0xF1EC U+579D # [2000] +0xF1ED U+579E # [2000] +0xF1EE U+57A8 # [2000] +0xF1EF U+57D7 # [2000] +0xF1F0 U+212FD # [2000] [Unicode3.1] +0xF1F1 U+57CC # [2000] +0xF1F2 U+21336 # [2000] [Unicode3.1] +0xF1F3 U+21344 # [2000] [Unicode3.1] +0xF1F4 U+57DE # [2000] +0xF1F5 U+57E6 # [2000] +0xF1F6 U+57F0 # [2000] +0xF1F7 U+364A # [2000] +0xF1F8 U+57F8 # [2000] +0xF1F9 U+57FB # [2000] +0xF1FA U+57FD # [2000] +0xF1FB U+5804 # [2000] +0xF1FC U+581E # [2000] +0xF240 U+5820 # [2000] +0xF241 U+5827 # [2000] +0xF242 U+5832 # [2000] +0xF243 U+5839 # [2000] +0xF244 U+213C4 # [2000] [Unicode3.1] +0xF245 U+5849 # [2000] +0xF246 U+584C # [2000] +0xF247 U+5867 # [2000] +0xF248 U+588A # [2000] +0xF249 U+588B # [2000] +0xF24A U+588D # [2000] +0xF24B U+588F # [2000] +0xF24C U+5890 # [2000] +0xF24D U+5894 # [2000] +0xF24E U+589D # [2000] +0xF24F U+58AA # [2000] +0xF250 U+58B1 # [2000] +0xF251 U+2146D # [2000] [Unicode3.1] +0xF252 U+58C3 # [2000] +0xF253 U+58CD # [2000] +0xF254 U+58E2 # [2000] +0xF255 U+58F3 # [2000] +0xF256 U+58F4 # [2000] +0xF257 U+5905 # [2000] +0xF258 U+5906 # [2000] +0xF259 U+590B # [2000] +0xF25A U+590D # [2000] +0xF25B U+5914 # [2000] +0xF25C U+5924 # [2000] +0xF25D U+215D7 # [2000] [Unicode3.1] +0xF25E U+3691 # [2000] +0xF25F U+593D # [2000] +0xF260 U+3699 # [2000] +0xF261 U+5946 # [2000] +0xF262 U+3696 # [2000] +0xF263 U+26C29 # [2000] [Unicode3.1] +0xF264 U+595B # [2000] +0xF265 U+595F # [2000] +0xF266 U+21647 # [2000] [Unicode3.1] +0xF267 U+5975 # [2000] +0xF268 U+5976 # [2000] +0xF269 U+597C # [2000] +0xF26A U+599F # [2000] +0xF26B U+59AE # [2000] +0xF26C U+59BC # [2000] +0xF26D U+59C8 # [2000] +0xF26E U+59CD # [2000] +0xF26F U+59DE # [2000] +0xF270 U+59E3 # [2000] +0xF271 U+59E4 # [2000] +0xF272 U+59E7 # [2000] +0xF273 U+59EE # [2000] +0xF274 U+21706 # [2000] [Unicode3.1] +0xF275 U+21742 # [2000] [Unicode3.1] +0xF276 U+36CF # [2000] +0xF277 U+5A0C # [2000] +0xF278 U+5A0D # [2000] +0xF279 U+5A17 # [2000] +0xF27A U+5A27 # [2000] +0xF27B U+5A2D # [2000] +0xF27C U+5A55 # [2000] +0xF27D U+5A65 # [2000] +0xF27E U+5A7A # [2000] +0xF280 U+5A8B # [2000] +0xF281 U+5A9C # [2000] +0xF282 U+5A9F # [2000] +0xF283 U+5AA0 # [2000] +0xF284 U+5AA2 # [2000] +0xF285 U+5AB1 # [2000] +0xF286 U+5AB3 # [2000] +0xF287 U+5AB5 # [2000] +0xF288 U+5ABA # [2000] +0xF289 U+5ABF # [2000] +0xF28A U+5ADA # [2000] +0xF28B U+5ADC # [2000] +0xF28C U+5AE0 # [2000] +0xF28D U+5AE5 # [2000] +0xF28E U+5AF0 # [2000] +0xF28F U+5AEE # [2000] +0xF290 U+5AF5 # [2000] +0xF291 U+5B00 # [2000] +0xF292 U+5B08 # [2000] +0xF293 U+5B17 # [2000] +0xF294 U+5B34 # [2000] +0xF295 U+5B2D # [2000] +0xF296 U+5B4C # [2000] +0xF297 U+5B52 # [2000] +0xF298 U+5B68 # [2000] +0xF299 U+5B6F # [2000] +0xF29A U+5B7C # [2000] +0xF29B U+5B7F # [2000] +0xF29C U+5B81 # [2000] +0xF29D U+5B84 # [2000] +0xF29E U+219C3 # [2000] [Unicode3.1] +0xF09F U+5B96 # [2000] +0xF0A0 U+5BAC # [2000] +0xF0A1 U+3761 # [2000] +0xF0A2 U+5BC0 # [2000] +0xF0A3 U+3762 # [2000] +0xF0A4 U+5BCE # [2000] +0xF0A5 U+5BD6 # [2000] +0xF0A6 U+376C # [2000] +0xF0A7 U+376B # [2000] +0xF0A8 U+5BF1 # [2000] +0xF0A9 U+5BFD # [2000] +0xF0AA U+3775 # [2000] +0xF0AB U+5C03 # [2000] +0xF0AC U+5C29 # [2000] +0xF0AD U+5C30 # [2000] +0xF0AE U+21C56 # [2000] [Unicode3.1] +0xF0AF U+5C5F # [2000] +0xF0B0 U+5C63 # [2000] +0xF0B1 U+5C67 # [2000] +0xF0B2 U+5C68 # [2000] +0xF0B3 U+5C69 # [2000] +0xF0B4 U+5C70 # [2000] +0xF0B5 U+21D2D # [2000] [Unicode3.1] +0xF0B6 U+21D45 # [2000] [Unicode3.1] +0xF0B7 U+5C7C # [2000] +0xF0B8 U+21D78 # [2000] [Unicode3.1] +0xF0B9 U+21D62 # [2000] [Unicode3.1] +0xF0BA U+5C88 # [2000] +0xF0BB U+5C8A # [2000] +0xF0BC U+37C1 # [2000] +0xF0BD U+21DA1 # [2000] [Unicode3.1] +0xF0BE U+21D9C # [2000] [Unicode3.1] +0xF0BF U+5CA0 # [2000] +0xF0C0 U+5CA2 # [2000] +0xF0C1 U+5CA6 # [2000] +0xF0C2 U+5CA7 # [2000] +0xF0C3 U+21D92 # [2000] [Unicode3.1] +0xF0C4 U+5CAD # [2000] +0xF0C5 U+5CB5 # [2000] +0xF0C6 U+21DB7 # [2000] [Unicode3.1] +0xF0C7 U+5CC9 # [2000] +0xF0C8 U+21DE0 # [2000] [Unicode3.1] +0xF0C9 U+21E33 # [2000] [Unicode3.1] +0xF0CA U+5D06 # [2000] +0xF0CB U+5D10 # [2000] +0xF0CC U+5D2B # [2000] +0xF0CD U+5D1D # [2000] +0xF0CE U+5D20 # [2000] +0xF0CF U+5D24 # [2000] +0xF0D0 U+5D26 # [2000] +0xF0D1 U+5D31 # [2000] +0xF0D2 U+5D39 # [2000] +0xF0D3 U+5D42 # [2000] +0xF0D4 U+37E8 # [2000] +0xF0D5 U+5D61 # [2000] +0xF0D6 U+5D6A # [2000] +0xF0D7 U+37F4 # [2000] +0xF0D8 U+5D70 # [2000] +0xF0D9 U+21F1E # [2000] [Unicode3.1] +0xF0DA U+37FD # [2000] +0xF0DB U+5D88 # [2000] +0xF0DC U+3800 # [2000] +0xF0DD U+5D92 # [2000] +0xF0DE U+5D94 # [2000] +0xF0DF U+5D97 # [2000] +0xF0E0 U+5D99 # [2000] +0xF0E1 U+5DB0 # [2000] +0xF0E2 U+5DB2 # [2000] +0xF0E3 U+5DB4 # [2000] +0xF0E4 U+21F76 # [2000] [Unicode3.1] +0xF0E5 U+5DB9 # [2000] +0xF0E6 U+5DD1 # [2000] +0xF0E7 U+5DD7 # [2000] +0xF0E8 U+5DD8 # [2000] +0xF0E9 U+5DE0 # [2000] +0xF0EA U+21FFA # [2000] [Unicode3.1] +0xF0EB U+5DE4 # [2000] +0xF0EC U+5DE9 # [2000] +0xF0ED U+382F # [2000] +0xF0EE U+5E00 # [2000] +0xF0EF U+3836 # [2000] +0xF0F0 U+5E12 # [2000] +0xF0F1 U+5E15 # [2000] +0xF0F2 U+3840 # [2000] +0xF0F3 U+5E1F # [2000] +0xF0F4 U+5E2E # [2000] +0xF0F5 U+5E3E # [2000] +0xF0F6 U+5E49 # [2000] +0xF0F7 U+385C # [2000] +0xF0F8 U+5E56 # [2000] +0xF0F9 U+3861 # [2000] +0xF0FA U+5E6B # [2000] +0xF0FB U+5E6C # [2000] +0xF0FC U+5E6D # [2000] +0xF29F U+5E6E # [2000] +0xF2A0 U+2217B # [2000] [Unicode3.1] +0xF2A1 U+5EA5 # [2000] +0xF2A2 U+5EAA # [2000] +0xF2A3 U+5EAC # [2000] +0xF2A4 U+5EB9 # [2000] +0xF2A5 U+5EBF # [2000] +0xF2A6 U+5EC6 # [2000] +0xF2A7 U+5ED2 # [2000] +0xF2A8 U+5ED9 # [2000] +0xF2A9 U+2231E # [2000] [Unicode3.1] +0xF2AA U+5EFD # [2000] +0xF2AB U+5F08 # [2000] +0xF2AC U+5F0E # [2000] +0xF2AD U+5F1C # [2000] +0xF2AE U+223AD # [2000] [Unicode3.1] +0xF2AF U+5F1E # [2000] +0xF2B0 U+5F47 # [2000] +0xF2B1 U+5F63 # [2000] +0xF2B2 U+5F72 # [2000] +0xF2B3 U+5F7E # [2000] +0xF2B4 U+5F8F # [2000] +0xF2B5 U+5FA2 # [2000] +0xF2B6 U+5FA4 # [2000] +0xF2B7 U+5FB8 # [2000] +0xF2B8 U+5FC4 # [2000] +0xF2B9 U+38FA # [2000] +0xF2BA U+5FC7 # [2000] +0xF2BB U+5FCB # [2000] +0xF2BC U+5FD2 # [2000] +0xF2BD U+5FD3 # [2000] +0xF2BE U+5FD4 # [2000] +0xF2BF U+5FE2 # [2000] +0xF2C0 U+5FEE # [2000] +0xF2C1 U+5FEF # [2000] +0xF2C2 U+5FF3 # [2000] +0xF2C3 U+5FFC # [2000] +0xF2C4 U+3917 # [2000] +0xF2C5 U+6017 # [2000] +0xF2C6 U+6022 # [2000] +0xF2C7 U+6024 # [2000] +0xF2C8 U+391A # [2000] +0xF2C9 U+604C # [2000] +0xF2CA U+607F # [2000] +0xF2CB U+608A # [2000] +0xF2CC U+6095 # [2000] +0xF2CD U+60A8 # [2000] +0xF2CE U+226F3 # [2000] [Unicode3.1] +0xF2CF U+60B0 # [2000] +0xF2D0 U+60B1 # [2000] +0xF2D1 U+60BE # [2000] +0xF2D2 U+60C8 # [2000] +0xF2D3 U+60D9 # [2000] +0xF2D4 U+60DB # [2000] +0xF2D5 U+60EE # [2000] +0xF2D6 U+60F2 # [2000] +0xF2D7 U+60F5 # [2000] +0xF2D8 U+6110 # [2000] +0xF2D9 U+6112 # [2000] +0xF2DA U+6113 # [2000] +0xF2DB U+6119 # [2000] +0xF2DC U+611E # [2000] +0xF2DD U+613A # [2000] +0xF2DE U+396F # [2000] +0xF2DF U+6141 # [2000] +0xF2E0 U+6146 # [2000] +0xF2E1 U+6160 # [2000] +0xF2E2 U+617C # [2000] +0xF2E3 U+2285B # [2000] [Unicode3.1] +0xF2E4 U+6192 # [2000] +0xF2E5 U+6193 # [2000] +0xF2E6 U+6197 # [2000] +0xF2E7 U+6198 # [2000] +0xF2E8 U+61A5 # [2000] +0xF2E9 U+61A8 # [2000] +0xF2EA U+61AD # [2000] +0xF2EB U+228AB # [2000] [Unicode3.1] +0xF2EC U+61D5 # [2000] +0xF2ED U+61DD # [2000] +0xF2EE U+61DF # [2000] +0xF2EF U+61F5 # [2000] +0xF2F0 U+2298F # [2000] [Unicode3.1] +0xF2F1 U+6215 # [2000] +0xF2F2 U+6223 # [2000] +0xF2F3 U+6229 # [2000] +0xF2F4 U+6246 # [2000] +0xF2F5 U+624C # [2000] +0xF2F6 U+6251 # [2000] +0xF2F7 U+6252 # [2000] +0xF2F8 U+6261 # [2000] +0xF2F9 U+6264 # [2000] +0xF2FA U+627B # [2000] +0xF2FB U+626D # [2000] +0xF2FC U+6273 # [2000] +0xF340 U+6299 # [2000] +0xF341 U+62A6 # [2000] +0xF342 U+62D5 # [2000] +0xF343 U+22AB8 # [2000] [Unicode3.1] +0xF344 U+62FD # [2000] +0xF345 U+6303 # [2000] +0xF346 U+630D # [2000] +0xF347 U+6310 # [2000] +0xF348 U+22B4F # [2000] [Unicode3.1] +0xF349 U+22B50 # [2000] [Unicode3.1] +0xF34A U+6332 # [2000] +0xF34B U+6335 # [2000] +0xF34C U+633B # [2000] +0xF34D U+633C # [2000] +0xF34E U+6341 # [2000] +0xF34F U+6344 # [2000] +0xF350 U+634E # [2000] +0xF351 U+22B46 # [2000] [Unicode3.1] +0xF352 U+6359 # [2000] +0xF353 U+22C1D # [2000] [Unicode3.1] +0xF354 U+22BA6 # [2000] [Unicode3.1] +0xF355 U+636C # [2000] +0xF356 U+6384 # [2000] +0xF357 U+6399 # [2000] +0xF358 U+22C24 # [2000] [Unicode3.1] +0xF359 U+6394 # [2000] +0xF35A U+63BD # [2000] +0xF35B U+63F7 # [2000] +0xF35C U+63D4 # [2000] +0xF35D U+63D5 # [2000] +0xF35E U+63DC # [2000] +0xF35F U+63E0 # [2000] +0xF360 U+63EB # [2000] +0xF361 U+63EC # [2000] +0xF362 U+63F2 # [2000] +0xF363 U+6409 # [2000] +0xF364 U+641E # [2000] +0xF365 U+6425 # [2000] +0xF366 U+6429 # [2000] +0xF367 U+642F # [2000] +0xF368 U+645A # [2000] +0xF369 U+645B # [2000] +0xF36A U+645D # [2000] +0xF36B U+6473 # [2000] +0xF36C U+647D # [2000] +0xF36D U+6487 # [2000] +0xF36E U+6491 # [2000] +0xF36F U+649D # [2000] +0xF370 U+649F # [2000] +0xF371 U+64CB # [2000] +0xF372 U+64CC # [2000] +0xF373 U+64D5 # [2000] +0xF374 U+64D7 # [2000] +0xF375 U+22DE1 # [2000] [Unicode3.1] +0xF376 U+64E4 # [2000] +0xF377 U+64E5 # [2000] +0xF378 U+64FF # [2000] +0xF379 U+6504 # [2000] +0xF37A U+3A6E # [2000] +0xF37B U+650F # [2000] +0xF37C U+6514 # [2000] +0xF37D U+6516 # [2000] +0xF37E U+3A73 # [2000] +0xF380 U+651E # [2000] +0xF381 U+6532 # [2000] +0xF382 U+6544 # [2000] +0xF383 U+6554 # [2000] +0xF384 U+656B # [2000] +0xF385 U+657A # [2000] +0xF386 U+6581 # [2000] +0xF387 U+6584 # [2000] +0xF388 U+6585 # [2000] +0xF389 U+658A # [2000] +0xF38A U+65B2 # [2000] +0xF38B U+65B5 # [2000] +0xF38C U+65B8 # [2000] +0xF38D U+65BF # [2000] +0xF38E U+65C2 # [2000] +0xF38F U+65C9 # [2000] +0xF390 U+65D4 # [2000] +0xF391 U+3AD6 # [2000] +0xF392 U+65F2 # [2000] +0xF393 U+65F9 # [2000] +0xF394 U+65FC # [2000] +0xF395 U+6604 # [2000] +0xF396 U+6608 # [2000] +0xF397 U+6621 # [2000] +0xF398 U+662A # [2000] +0xF399 U+6645 # [2000] +0xF39A U+6651 # [2000] +0xF39B U+664E # [2000] +0xF39C U+3AEA # [2000] +0xF39D U+231C3 # [2000] [Unicode3.1] +0xF39E U+6657 # [2000] +0xF39F U+665B # [2000] +0xF3A0 U+6663 # [2000] +0xF3A1 U+231F5 # [2000] [Unicode3.1] +0xF3A2 U+231B6 # [2000] [Unicode3.1] +0xF3A3 U+666A # [2000] +0xF3A4 U+666B # [2000] +0xF3A5 U+666C # [2000] +0xF3A6 U+666D # [2000] +0xF3A7 U+667B # [2000] +0xF3A8 U+6680 # [2000] +0xF3A9 U+6690 # [2000] +0xF3AA U+6692 # [2000] +0xF3AB U+6699 # [2000] +0xF3AC U+3B0E # [2000] +0xF3AD U+66AD # [2000] +0xF3AE U+66B1 # [2000] +0xF3AF U+66B5 # [2000] +0xF3B0 U+3B1A # [2000] +0xF3B1 U+66BF # [2000] +0xF3B2 U+3B1C # [2000] +0xF3B3 U+66EC # [2000] +0xF3B4 U+3AD7 # [2000] +0xF3B5 U+6701 # [2000] +0xF3B6 U+6705 # [2000] +0xF3B7 U+6712 # [2000] +0xF3B8 U+23372 # [2000] [Unicode3.1] +0xF3B9 U+6719 # [2000] +0xF3BA U+233D3 # [2000] [Unicode3.1] +0xF3BB U+233D2 # [2000] [Unicode3.1] +0xF3BC U+674C # [2000] +0xF3BD U+674D # [2000] +0xF3BE U+6754 # [2000] +0xF3BF U+675D # [2000] +0xF3C0 U+233D0 # [2000] [Unicode3.1] +0xF3C1 U+233E4 # [2000] [Unicode3.1] +0xF3C2 U+233D5 # [2000] [Unicode3.1] +0xF3C3 U+6774 # [2000] +0xF3C4 U+6776 # [2000] +0xF3C5 U+233DA # [2000] [Unicode3.1] +0xF3C6 U+6792 # [2000] +0xF3C7 U+233DF # [2000] [Unicode3.1] +0xF3C8 U+8363 # [2000] +0xF3C9 U+6810 # [2000] +0xF3CA U+67B0 # [2000] +0xF3CB U+67B2 # [2000] +0xF3CC U+67C3 # [2000] +0xF3CD U+67C8 # [2000] +0xF3CE U+67D2 # [2000] +0xF3CF U+67D9 # [2000] +0xF3D0 U+67DB # [2000] +0xF3D1 U+67F0 # [2000] +0xF3D2 U+67F7 # [2000] +0xF3D3 U+2344A # [2000] [Unicode3.1] +0xF3D4 U+23451 # [2000] [Unicode3.1] +0xF3D5 U+2344B # [2000] [Unicode3.1] +0xF3D6 U+6818 # [2000] +0xF3D7 U+681F # [2000] +0xF3D8 U+682D # [2000] +0xF3D9 U+23465 # [2000] [Unicode3.1] +0xF3DA U+6833 # [2000] +0xF3DB U+683B # [2000] +0xF3DC U+683E # [2000] +0xF3DD U+6844 # [2000] +0xF3DE U+6845 # [2000] +0xF3DF U+6849 # [2000] +0xF3E0 U+684C # [2000] +0xF3E1 U+6855 # [2000] +0xF3E2 U+6857 # [2000] +0xF3E3 U+3B77 # [2000] +0xF3E4 U+686B # [2000] +0xF3E5 U+686E # [2000] +0xF3E6 U+687A # [2000] +0xF3E7 U+687C # [2000] +0xF3E8 U+6882 # [2000] +0xF3E9 U+6890 # [2000] +0xF3EA U+6896 # [2000] +0xF3EB U+3B6D # [2000] +0xF3EC U+6898 # [2000] +0xF3ED U+6899 # [2000] +0xF3EE U+689A # [2000] +0xF3EF U+689C # [2000] +0xF3F0 U+68AA # [2000] +0xF3F1 U+68AB # [2000] +0xF3F2 U+68B4 # [2000] +0xF3F3 U+68BB # [2000] +0xF3F4 U+68FB # [2000] +0xF3F5 U+234E4 # [2000] [Unicode3.1] +0xF3F6 U+2355A # [2000] [Unicode3.1] +0xF3F7 U+FA13 # CJK COMPATIBILITY IDEOGRAPH-FA13 [2000] +0xF3F8 U+68C3 # [2000] +0xF3F9 U+68C5 # [2000] +0xF3FA U+68CC # [2000] +0xF3FB U+68CF # [2000] +0xF3FC U+68D6 # [2000] +0xF440 U+68D9 # [2000] +0xF441 U+68E4 # [2000] +0xF442 U+68E5 # [2000] +0xF443 U+68EC # [2000] +0xF444 U+68F7 # [2000] +0xF445 U+6903 # [2000] +0xF446 U+6907 # [2000] +0xF447 U+3B87 # [2000] +0xF448 U+3B88 # [2000] +0xF449 U+23594 # [2000] [Unicode3.1] +0xF44A U+693B # [2000] +0xF44B U+3B8D # [2000] +0xF44C U+6946 # [2000] +0xF44D U+6969 # [2000] +0xF44E U+696C # [2000] +0xF44F U+6972 # [2000] +0xF450 U+697A # [2000] +0xF451 U+697F # [2000] +0xF452 U+6992 # [2000] +0xF453 U+3BA4 # [2000] +0xF454 U+6996 # [2000] +0xF455 U+6998 # [2000] +0xF456 U+69A6 # [2000] +0xF457 U+69B0 # [2000] +0xF458 U+69B7 # [2000] +0xF459 U+69BA # [2000] +0xF45A U+69BC # [2000] +0xF45B U+69C0 # [2000] +0xF45C U+69D1 # [2000] +0xF45D U+69D6 # [2000] +0xF45E U+23639 # [2000] [Unicode3.1] +0xF45F U+23647 # [2000] [Unicode3.1] +0xF460 U+6A30 # [2000] +0xF461 U+23638 # [2000] [Unicode3.1] +0xF462 U+2363A # [2000] [Unicode3.1] +0xF463 U+69E3 # [2000] +0xF464 U+69EE # [2000] +0xF465 U+69EF # [2000] +0xF466 U+69F3 # [2000] +0xF467 U+3BCD # [2000] +0xF468 U+69F4 # [2000] +0xF469 U+69FE # [2000] +0xF46A U+6A11 # [2000] +0xF46B U+6A1A # [2000] +0xF46C U+6A1D # [2000] +0xF46D U+2371C # [2000] [Unicode3.1] +0xF46E U+6A32 # [2000] +0xF46F U+6A33 # [2000] +0xF470 U+6A34 # [2000] +0xF471 U+6A3F # [2000] +0xF472 U+6A46 # [2000] +0xF473 U+6A49 # [2000] +0xF474 U+6A7A # [2000] +0xF475 U+6A4E # [2000] +0xF476 U+6A52 # [2000] +0xF477 U+6A64 # [2000] +0xF478 U+2370C # [2000] [Unicode3.1] +0xF479 U+6A7E # [2000] +0xF47A U+6A83 # [2000] +0xF47B U+6A8B # [2000] +0xF47C U+3BF0 # [2000] +0xF47D U+6A91 # [2000] +0xF47E U+6A9F # [2000] +0xF480 U+6AA1 # [2000] +0xF481 U+23764 # [2000] [Unicode3.1] +0xF482 U+6AAB # [2000] +0xF483 U+6ABD # [2000] +0xF484 U+6AC6 # [2000] +0xF485 U+6AD4 # [2000] +0xF486 U+6AD0 # [2000] +0xF487 U+6ADC # [2000] +0xF488 U+6ADD # [2000] +0xF489 U+237FF # [2000] [Unicode3.1] +0xF48A U+237E7 # [2000] [Unicode3.1] +0xF48B U+6AEC # [2000] +0xF48C U+6AF1 # [2000] +0xF48D U+6AF2 # [2000] +0xF48E U+6AF3 # [2000] +0xF48F U+6AFD # [2000] +0xF490 U+23824 # [2000] [Unicode3.1] +0xF491 U+6B0B # [2000] +0xF492 U+6B0F # [2000] +0xF493 U+6B10 # [2000] +0xF494 U+6B11 # [2000] +0xF495 U+2383D # [2000] [Unicode3.1] +0xF496 U+6B17 # [2000] +0xF497 U+3C26 # [2000] +0xF498 U+6B2F # [2000] +0xF499 U+6B4A # [2000] +0xF49A U+6B58 # [2000] +0xF49B U+6B6C # [2000] +0xF49C U+6B75 # [2000] +0xF49D U+6B7A # [2000] +0xF49E U+6B81 # [2000] +0xF49F U+6B9B # [2000] +0xF4A0 U+6BAE # [2000] +0xF4A1 U+23A98 # [2000] [Unicode3.1] +0xF4A2 U+6BBD # [2000] +0xF4A3 U+6BBE # [2000] +0xF4A4 U+6BC7 # [2000] +0xF4A5 U+6BC8 # [2000] +0xF4A6 U+6BC9 # [2000] +0xF4A7 U+6BDA # [2000] +0xF4A8 U+6BE6 # [2000] +0xF4A9 U+6BE7 # [2000] +0xF4AA U+6BEE # [2000] +0xF4AB U+6BF1 # [2000] +0xF4AC U+6C02 # [2000] +0xF4AD U+6C0A # [2000] +0xF4AE U+6C0E # [2000] +0xF4AF U+6C35 # [2000] +0xF4B0 U+6C36 # [2000] +0xF4B1 U+6C3A # [2000] +0xF4B2 U+23C7F # [2000] [Unicode3.1] +0xF4B3 U+6C3F # [2000] +0xF4B4 U+6C4D # [2000] +0xF4B5 U+6C5B # [2000] +0xF4B6 U+6C6D # [2000] +0xF4B7 U+6C84 # [2000] +0xF4B8 U+6C89 # [2000] +0xF4B9 U+3CC3 # [2000] +0xF4BA U+6C94 # [2000] +0xF4BB U+6C95 # [2000] +0xF4BC U+6C97 # [2000] +0xF4BD U+6CAD # [2000] +0xF4BE U+6CC2 # [2000] +0xF4BF U+6CD0 # [2000] +0xF4C0 U+3CD2 # [2000] +0xF4C1 U+6CD6 # [2000] +0xF4C2 U+6CDA # [2000] +0xF4C3 U+6CDC # [2000] +0xF4C4 U+6CE9 # [2000] +0xF4C5 U+6CEC # [2000] +0xF4C6 U+6CED # [2000] +0xF4C7 U+23D00 # [2000] [Unicode3.1] +0xF4C8 U+6D00 # [2000] +0xF4C9 U+6D0A # [2000] +0xF4CA U+6D24 # [2000] +0xF4CB U+6D26 # [2000] +0xF4CC U+6D27 # [2000] +0xF4CD U+6C67 # [2000] +0xF4CE U+6D2F # [2000] +0xF4CF U+6D3C # [2000] +0xF4D0 U+6D5B # [2000] +0xF4D1 U+6D5E # [2000] +0xF4D2 U+6D60 # [2000] +0xF4D3 U+6D70 # [2000] +0xF4D4 U+6D80 # [2000] +0xF4D5 U+6D81 # [2000] +0xF4D6 U+6D8A # [2000] +0xF4D7 U+6D8D # [2000] +0xF4D8 U+6D91 # [2000] +0xF4D9 U+6D98 # [2000] +0xF4DA U+23D40 # [2000] [Unicode3.1] +0xF4DB U+6E17 # [2000] +0xF4DC U+23DFA # [2000] [Unicode3.1] +0xF4DD U+23DF9 # [2000] [Unicode3.1] +0xF4DE U+23DD3 # [2000] [Unicode3.1] +0xF4DF U+6DAB # [2000] +0xF4E0 U+6DAE # [2000] +0xF4E1 U+6DB4 # [2000] +0xF4E2 U+6DC2 # [2000] +0xF4E3 U+6D34 # [2000] +0xF4E4 U+6DC8 # [2000] +0xF4E5 U+6DCE # [2000] +0xF4E6 U+6DCF # [2000] +0xF4E7 U+6DD0 # [2000] +0xF4E8 U+6DDF # [2000] +0xF4E9 U+6DE9 # [2000] +0xF4EA U+6DF6 # [2000] +0xF4EB U+6E36 # [2000] +0xF4EC U+6E1E # [2000] +0xF4ED U+6E22 # [2000] +0xF4EE U+6E27 # [2000] +0xF4EF U+3D11 # [2000] +0xF4F0 U+6E32 # [2000] +0xF4F1 U+6E3C # [2000] +0xF4F2 U+6E48 # [2000] +0xF4F3 U+6E49 # [2000] +0xF4F4 U+6E4B # [2000] +0xF4F5 U+6E4C # [2000] +0xF4F6 U+6E4F # [2000] +0xF4F7 U+6E51 # [2000] +0xF4F8 U+6E53 # [2000] +0xF4F9 U+6E54 # [2000] +0xF4FA U+6E57 # [2000] +0xF4FB U+6E63 # [2000] +0xF4FC U+3D1E # [2000] +0xF540 U+6E93 # [2000] +0xF541 U+6EA7 # [2000] +0xF542 U+6EB4 # [2000] +0xF543 U+6EBF # [2000] +0xF544 U+6EC3 # [2000] +0xF545 U+6ECA # [2000] +0xF546 U+6ED9 # [2000] +0xF547 U+6F35 # [2000] +0xF548 U+6EEB # [2000] +0xF549 U+6EF9 # [2000] +0xF54A U+6EFB # [2000] +0xF54B U+6F0A # [2000] +0xF54C U+6F0C # [2000] +0xF54D U+6F18 # [2000] +0xF54E U+6F25 # [2000] +0xF54F U+6F36 # [2000] +0xF550 U+6F3C # [2000] +0xF551 U+23F7E # [2000] [Unicode3.1] +0xF552 U+6F52 # [2000] +0xF553 U+6F57 # [2000] +0xF554 U+6F5A # [2000] +0xF555 U+6F60 # [2000] +0xF556 U+6F68 # [2000] +0xF557 U+6F98 # [2000] +0xF558 U+6F7D # [2000] +0xF559 U+6F90 # [2000] +0xF55A U+6F96 # [2000] +0xF55B U+6FBE # [2000] +0xF55C U+6F9F # [2000] +0xF55D U+6FA5 # [2000] +0xF55E U+6FAF # [2000] +0xF55F U+3D64 # [2000] +0xF560 U+6FB5 # [2000] +0xF561 U+6FC8 # [2000] +0xF562 U+6FC9 # [2000] +0xF563 U+6FDA # [2000] +0xF564 U+6FDE # [2000] +0xF565 U+6FE9 # [2000] +0xF566 U+24096 # [2000] [Unicode3.1] +0xF567 U+6FFC # [2000] +0xF568 U+7000 # [2000] +0xF569 U+7007 # [2000] +0xF56A U+700A # [2000] +0xF56B U+7023 # [2000] +0xF56C U+24103 # [2000] [Unicode3.1] +0xF56D U+7039 # [2000] +0xF56E U+703A # [2000] +0xF56F U+703C # [2000] +0xF570 U+7043 # [2000] +0xF571 U+7047 # [2000] +0xF572 U+704B # [2000] +0xF573 U+3D9A # [2000] +0xF574 U+7054 # [2000] +0xF575 U+7065 # [2000] +0xF576 U+7069 # [2000] +0xF577 U+706C # [2000] +0xF578 U+706E # [2000] +0xF579 U+7076 # [2000] +0xF57A U+707E # [2000] +0xF57B U+7081 # [2000] +0xF57C U+7086 # [2000] +0xF57D U+7095 # [2000] +0xF57E U+7097 # [2000] +0xF580 U+70BB # [2000] +0xF581 U+241C6 # [2000] [Unicode3.1] +0xF582 U+709F # [2000] +0xF583 U+70B1 # [2000] +0xF584 U+241FE # [2000] [Unicode3.1] +0xF585 U+70EC # [2000] +0xF586 U+70CA # [2000] +0xF587 U+70D1 # [2000] +0xF588 U+70D3 # [2000] +0xF589 U+70DC # [2000] +0xF58A U+7103 # [2000] +0xF58B U+7104 # [2000] +0xF58C U+7106 # [2000] +0xF58D U+7107 # [2000] +0xF58E U+7108 # [2000] +0xF58F U+710C # [2000] +0xF590 U+3DC0 # [2000] +0xF591 U+712F # [2000] +0xF592 U+7131 # [2000] +0xF593 U+7150 # [2000] +0xF594 U+714A # [2000] +0xF595 U+7153 # [2000] +0xF596 U+715E # [2000] +0xF597 U+3DD4 # [2000] +0xF598 U+7196 # [2000] +0xF599 U+7180 # [2000] +0xF59A U+719B # [2000] +0xF59B U+71A0 # [2000] +0xF59C U+71A2 # [2000] +0xF59D U+71AE # [2000] +0xF59E U+71AF # [2000] +0xF59F U+71B3 # [2000] +0xF5A0 U+243BC # [2000] [Unicode3.1] +0xF5A1 U+71CB # [2000] +0xF5A2 U+71D3 # [2000] +0xF5A3 U+71D9 # [2000] +0xF5A4 U+71DC # [2000] +0xF5A5 U+7207 # [2000] +0xF5A6 U+3E05 # [2000] +0xF5A7 U+FA49 # CJK COMPATIBILITY IDEOGRAPH-FA49 [2000] [Unicode3.2] +0xF5A8 U+722B # [2000] +0xF5A9 U+7234 # [2000] +0xF5AA U+7238 # [2000] +0xF5AB U+7239 # [2000] +0xF5AC U+4E2C # [2000] +0xF5AD U+7242 # [2000] +0xF5AE U+7253 # [2000] +0xF5AF U+7257 # [2000] +0xF5B0 U+7263 # [2000] +0xF5B1 U+24629 # [2000] [Unicode3.1] +0xF5B2 U+726E # [2000] +0xF5B3 U+726F # [2000] +0xF5B4 U+7278 # [2000] +0xF5B5 U+727F # [2000] +0xF5B6 U+728E # [2000] +0xF5B7 U+246A5 # [2000] [Unicode3.1] +0xF5B8 U+72AD # [2000] +0xF5B9 U+72AE # [2000] +0xF5BA U+72B0 # [2000] +0xF5BB U+72B1 # [2000] +0xF5BC U+72C1 # [2000] +0xF5BD U+3E60 # [2000] +0xF5BE U+72CC # [2000] +0xF5BF U+3E66 # [2000] +0xF5C0 U+3E68 # [2000] +0xF5C1 U+72F3 # [2000] +0xF5C2 U+72FA # [2000] +0xF5C3 U+7307 # [2000] +0xF5C4 U+7312 # [2000] +0xF5C5 U+7318 # [2000] +0xF5C6 U+7319 # [2000] +0xF5C7 U+3E83 # [2000] +0xF5C8 U+7339 # [2000] +0xF5C9 U+732C # [2000] +0xF5CA U+7331 # [2000] +0xF5CB U+7333 # [2000] +0xF5CC U+733D # [2000] +0xF5CD U+7352 # [2000] +0xF5CE U+3E94 # [2000] +0xF5CF U+736B # [2000] +0xF5D0 U+736C # [2000] +0xF5D1 U+24896 # [2000] [Unicode3.1] +0xF5D2 U+736E # [2000] +0xF5D3 U+736F # [2000] +0xF5D4 U+7371 # [2000] +0xF5D5 U+7377 # [2000] +0xF5D6 U+7381 # [2000] +0xF5D7 U+7385 # [2000] +0xF5D8 U+738A # [2000] +0xF5D9 U+7394 # [2000] +0xF5DA U+7398 # [2000] +0xF5DB U+739C # [2000] +0xF5DC U+739E # [2000] +0xF5DD U+73A5 # [2000] +0xF5DE U+73A8 # [2000] +0xF5DF U+73B5 # [2000] +0xF5E0 U+73B7 # [2000] +0xF5E1 U+73B9 # [2000] +0xF5E2 U+73BC # [2000] +0xF5E3 U+73BF # [2000] +0xF5E4 U+73C5 # [2000] +0xF5E5 U+73CB # [2000] +0xF5E6 U+73E1 # [2000] +0xF5E7 U+73E7 # [2000] +0xF5E8 U+73F9 # [2000] +0xF5E9 U+7413 # [2000] +0xF5EA U+73FA # [2000] +0xF5EB U+7401 # [2000] +0xF5EC U+7424 # [2000] +0xF5ED U+7431 # [2000] +0xF5EE U+7439 # [2000] +0xF5EF U+7453 # [2000] +0xF5F0 U+7440 # [2000] +0xF5F1 U+7443 # [2000] +0xF5F2 U+744D # [2000] +0xF5F3 U+7452 # [2000] +0xF5F4 U+745D # [2000] +0xF5F5 U+7471 # [2000] +0xF5F6 U+7481 # [2000] +0xF5F7 U+7485 # [2000] +0xF5F8 U+7488 # [2000] +0xF5F9 U+24A4D # [2000] [Unicode3.1] +0xF5FA U+7492 # [2000] +0xF5FB U+7497 # [2000] +0xF5FC U+7499 # [2000] +0xF640 U+74A0 # [2000] +0xF641 U+74A1 # [2000] +0xF642 U+74A5 # [2000] +0xF643 U+74AA # [2000] +0xF644 U+74AB # [2000] +0xF645 U+74B9 # [2000] +0xF646 U+74BB # [2000] +0xF647 U+74BA # [2000] +0xF648 U+74D6 # [2000] +0xF649 U+74D8 # [2000] +0xF64A U+74DE # [2000] +0xF64B U+74EF # [2000] +0xF64C U+74EB # [2000] +0xF64D U+24B56 # [2000] [Unicode3.1] +0xF64E U+74FA # [2000] +0xF64F U+24B6F # [2000] [Unicode3.1] +0xF650 U+7520 # [2000] +0xF651 U+7524 # [2000] +0xF652 U+752A # [2000] +0xF653 U+3F57 # [2000] +0xF654 U+24C16 # [2000] [Unicode3.1] +0xF655 U+753D # [2000] +0xF656 U+753E # [2000] +0xF657 U+7540 # [2000] +0xF658 U+7548 # [2000] +0xF659 U+754E # [2000] +0xF65A U+7550 # [2000] +0xF65B U+7552 # [2000] +0xF65C U+756C # [2000] +0xF65D U+7572 # [2000] +0xF65E U+7571 # [2000] +0xF65F U+757A # [2000] +0xF660 U+757D # [2000] +0xF661 U+757E # [2000] +0xF662 U+7581 # [2000] +0xF663 U+24D14 # [2000] [Unicode3.1] +0xF664 U+758C # [2000] +0xF665 U+3F75 # [2000] +0xF666 U+75A2 # [2000] +0xF667 U+3F77 # [2000] +0xF668 U+75B0 # [2000] +0xF669 U+75B7 # [2000] +0xF66A U+75BF # [2000] +0xF66B U+75C0 # [2000] +0xF66C U+75C6 # [2000] +0xF66D U+75CF # [2000] +0xF66E U+75D3 # [2000] +0xF66F U+75DD # [2000] +0xF670 U+75DF # [2000] +0xF671 U+75E0 # [2000] +0xF672 U+75E7 # [2000] +0xF673 U+75EC # [2000] +0xF674 U+75EE # [2000] +0xF675 U+75F1 # [2000] +0xF676 U+75F9 # [2000] +0xF677 U+7603 # [2000] +0xF678 U+7618 # [2000] +0xF679 U+7607 # [2000] +0xF67A U+760F # [2000] +0xF67B U+3FAE # [2000] +0xF67C U+24E0E # [2000] [Unicode3.1] +0xF67D U+7613 # [2000] +0xF67E U+761B # [2000] +0xF680 U+761C # [2000] +0xF681 U+24E37 # [2000] [Unicode3.1] +0xF682 U+7625 # [2000] +0xF683 U+7628 # [2000] +0xF684 U+763C # [2000] +0xF685 U+7633 # [2000] +0xF686 U+24E6A # [2000] [Unicode3.1] +0xF687 U+3FC9 # [2000] +0xF688 U+7641 # [2000] +0xF689 U+24E8B # [2000] [Unicode3.1] +0xF68A U+7649 # [2000] +0xF68B U+7655 # [2000] +0xF68C U+3FD7 # [2000] +0xF68D U+766E # [2000] +0xF68E U+7695 # [2000] +0xF68F U+769C # [2000] +0xF690 U+76A1 # [2000] +0xF691 U+76A0 # [2000] +0xF692 U+76A7 # [2000] +0xF693 U+76A8 # [2000] +0xF694 U+76AF # [2000] +0xF695 U+2504A # [2000] [Unicode3.1] +0xF696 U+76C9 # [2000] +0xF697 U+25055 # [2000] [Unicode3.1] +0xF698 U+76E8 # [2000] +0xF699 U+76EC # [2000] +0xF69A U+25122 # [2000] [Unicode3.1] +0xF69B U+7717 # [2000] +0xF69C U+771A # [2000] +0xF69D U+772D # [2000] +0xF69E U+7735 # [2000] +0xF69F U+251A9 # [2000] [Unicode3.1] +0xF6A0 U+4039 # [2000] +0xF6A1 U+251E5 # [2000] [Unicode3.1] +0xF6A2 U+251CD # [2000] [Unicode3.1] +0xF6A3 U+7758 # [2000] +0xF6A4 U+7760 # [2000] +0xF6A5 U+776A # [2000] +0xF6A6 U+2521E # [2000] [Unicode3.1] +0xF6A7 U+7772 # [2000] +0xF6A8 U+777C # [2000] +0xF6A9 U+777D # [2000] +0xF6AA U+2524C # [2000] [Unicode3.1] +0xF6AB U+4058 # [2000] +0xF6AC U+779A # [2000] +0xF6AD U+779F # [2000] +0xF6AE U+77A2 # [2000] +0xF6AF U+77A4 # [2000] +0xF6B0 U+77A9 # [2000] +0xF6B1 U+77DE # [2000] +0xF6B2 U+77DF # [2000] +0xF6B3 U+77E4 # [2000] +0xF6B4 U+77E6 # [2000] +0xF6B5 U+77EA # [2000] +0xF6B6 U+77EC # [2000] +0xF6B7 U+4093 # [2000] +0xF6B8 U+77F0 # [2000] +0xF6B9 U+77F4 # [2000] +0xF6BA U+77FB # [2000] +0xF6BB U+2542E # [2000] [Unicode3.1] +0xF6BC U+7805 # [2000] +0xF6BD U+7806 # [2000] +0xF6BE U+7809 # [2000] +0xF6BF U+780D # [2000] +0xF6C0 U+7819 # [2000] +0xF6C1 U+7821 # [2000] +0xF6C2 U+782C # [2000] +0xF6C3 U+7847 # [2000] +0xF6C4 U+7864 # [2000] +0xF6C5 U+786A # [2000] +0xF6C6 U+254D9 # [2000] [Unicode3.1] +0xF6C7 U+788A # [2000] +0xF6C8 U+7894 # [2000] +0xF6C9 U+78A4 # [2000] +0xF6CA U+789D # [2000] +0xF6CB U+789E # [2000] +0xF6CC U+789F # [2000] +0xF6CD U+78BB # [2000] +0xF6CE U+78C8 # [2000] +0xF6CF U+78CC # [2000] +0xF6D0 U+78CE # [2000] +0xF6D1 U+78D5 # [2000] +0xF6D2 U+78E0 # [2000] +0xF6D3 U+78E1 # [2000] +0xF6D4 U+78E6 # [2000] +0xF6D5 U+78F9 # [2000] +0xF6D6 U+78FA # [2000] +0xF6D7 U+78FB # [2000] +0xF6D8 U+78FE # [2000] +0xF6D9 U+255A7 # [2000] [Unicode3.1] +0xF6DA U+7910 # [2000] +0xF6DB U+791B # [2000] +0xF6DC U+7930 # [2000] +0xF6DD U+7925 # [2000] +0xF6DE U+793B # [2000] +0xF6DF U+794A # [2000] +0xF6E0 U+7958 # [2000] +0xF6E1 U+795B # [2000] +0xF6E2 U+4105 # [2000] +0xF6E3 U+7967 # [2000] +0xF6E4 U+7972 # [2000] +0xF6E5 U+7994 # [2000] +0xF6E6 U+7995 # [2000] +0xF6E7 U+7996 # [2000] +0xF6E8 U+799B # [2000] +0xF6E9 U+79A1 # [2000] +0xF6EA U+79A9 # [2000] +0xF6EB U+79B4 # [2000] +0xF6EC U+79BB # [2000] +0xF6ED U+79C2 # [2000] +0xF6EE U+79C7 # [2000] +0xF6EF U+79CC # [2000] +0xF6F0 U+79CD # [2000] +0xF6F1 U+79D6 # [2000] +0xF6F2 U+4148 # [2000] +0xF6F3 U+257A9 # [2000] [Unicode3.1] +0xF6F4 U+257B4 # [2000] [Unicode3.1] +0xF6F5 U+414F # [2000] +0xF6F6 U+7A0A # [2000] +0xF6F7 U+7A11 # [2000] +0xF6F8 U+7A15 # [2000] +0xF6F9 U+7A1B # [2000] +0xF6FA U+7A1E # [2000] +0xF6FB U+4163 # [2000] +0xF6FC U+7A2D # [2000] +0xF740 U+7A38 # [2000] +0xF741 U+7A47 # [2000] +0xF742 U+7A4C # [2000] +0xF743 U+7A56 # [2000] +0xF744 U+7A59 # [2000] +0xF745 U+7A5C # [2000] +0xF746 U+7A5F # [2000] +0xF747 U+7A60 # [2000] +0xF748 U+7A67 # [2000] +0xF749 U+7A6A # [2000] +0xF74A U+7A75 # [2000] +0xF74B U+7A78 # [2000] +0xF74C U+7A82 # [2000] +0xF74D U+7A8A # [2000] +0xF74E U+7A90 # [2000] +0xF74F U+7AA3 # [2000] +0xF750 U+7AAC # [2000] +0xF751 U+259D4 # [2000] [Unicode3.1] +0xF752 U+41B4 # [2000] +0xF753 U+7AB9 # [2000] +0xF754 U+7ABC # [2000] +0xF755 U+7ABE # [2000] +0xF756 U+41BF # [2000] +0xF757 U+7ACC # [2000] +0xF758 U+7AD1 # [2000] +0xF759 U+7AE7 # [2000] +0xF75A U+7AE8 # [2000] +0xF75B U+7AF4 # [2000] +0xF75C U+25AE4 # [2000] [Unicode3.1] +0xF75D U+25AE3 # [2000] [Unicode3.1] +0xF75E U+7B07 # [2000] +0xF75F U+25AF1 # [2000] [Unicode3.1] +0xF760 U+7B3D # [2000] +0xF761 U+7B27 # [2000] +0xF762 U+7B2A # [2000] +0xF763 U+7B2E # [2000] +0xF764 U+7B2F # [2000] +0xF765 U+7B31 # [2000] +0xF766 U+41E6 # [2000] +0xF767 U+41F3 # [2000] +0xF768 U+7B7F # [2000] +0xF769 U+7B41 # [2000] +0xF76A U+41EE # [2000] +0xF76B U+7B55 # [2000] +0xF76C U+7B79 # [2000] +0xF76D U+7B64 # [2000] +0xF76E U+7B66 # [2000] +0xF76F U+7B69 # [2000] +0xF770 U+7B73 # [2000] +0xF771 U+25BB2 # [2000] [Unicode3.1] +0xF772 U+4207 # [2000] +0xF773 U+7B90 # [2000] +0xF774 U+7B91 # [2000] +0xF775 U+7B9B # [2000] +0xF776 U+420E # [2000] +0xF777 U+7BAF # [2000] +0xF778 U+7BB5 # [2000] +0xF779 U+7BBC # [2000] +0xF77A U+7BC5 # [2000] +0xF77B U+7BCA # [2000] +0xF77C U+25C4B # [2000] [Unicode3.1] +0xF77D U+25C64 # [2000] [Unicode3.1] +0xF77E U+7BD4 # [2000] +0xF780 U+7BD6 # [2000] +0xF781 U+7BDA # [2000] +0xF782 U+7BEA # [2000] +0xF783 U+7BF0 # [2000] +0xF784 U+7C03 # [2000] +0xF785 U+7C0B # [2000] +0xF786 U+7C0E # [2000] +0xF787 U+7C0F # [2000] +0xF788 U+7C26 # [2000] +0xF789 U+7C45 # [2000] +0xF78A U+7C4A # [2000] +0xF78B U+7C51 # [2000] +0xF78C U+7C57 # [2000] +0xF78D U+7C5E # [2000] +0xF78E U+7C61 # [2000] +0xF78F U+7C69 # [2000] +0xF790 U+7C6E # [2000] +0xF791 U+7C6F # [2000] +0xF792 U+7C70 # [2000] +0xF793 U+25E2E # [2000] [Unicode3.1] +0xF794 U+25E56 # [2000] [Unicode3.1] +0xF795 U+25E65 # [2000] [Unicode3.1] +0xF796 U+7CA6 # [2000] +0xF797 U+25E62 # [2000] [Unicode3.1] +0xF798 U+7CB6 # [2000] +0xF799 U+7CB7 # [2000] +0xF79A U+7CBF # [2000] +0xF79B U+25ED8 # [2000] [Unicode3.1] +0xF79C U+7CC4 # [2000] +0xF79D U+25EC2 # [2000] [Unicode3.1] +0xF79E U+7CC8 # [2000] +0xF79F U+7CCD # [2000] +0xF7A0 U+25EE8 # [2000] [Unicode3.1] +0xF7A1 U+7CD7 # [2000] +0xF7A2 U+25F23 # [2000] [Unicode3.1] +0xF7A3 U+7CE6 # [2000] +0xF7A4 U+7CEB # [2000] +0xF7A5 U+25F5C # [2000] [Unicode3.1] +0xF7A6 U+7CF5 # [2000] +0xF7A7 U+7D03 # [2000] +0xF7A8 U+7D09 # [2000] +0xF7A9 U+42C6 # [2000] +0xF7AA U+7D12 # [2000] +0xF7AB U+7D1E # [2000] +0xF7AC U+25FE0 # [2000] [Unicode3.1] +0xF7AD U+25FD4 # [2000] [Unicode3.1] +0xF7AE U+7D3D # [2000] +0xF7AF U+7D3E # [2000] +0xF7B0 U+7D40 # [2000] +0xF7B1 U+7D47 # [2000] +0xF7B2 U+2600C # [2000] [Unicode3.1] +0xF7B3 U+25FFB # [2000] [Unicode3.1] +0xF7B4 U+42D6 # [2000] +0xF7B5 U+7D59 # [2000] +0xF7B6 U+7D5A # [2000] +0xF7B7 U+7D6A # [2000] +0xF7B8 U+7D70 # [2000] +0xF7B9 U+42DD # [2000] +0xF7BA U+7D7F # [2000] +0xF7BB U+26017 # [2000] [Unicode3.1] +0xF7BC U+7D86 # [2000] +0xF7BD U+7D88 # [2000] +0xF7BE U+7D8C # [2000] +0xF7BF U+7D97 # [2000] +0xF7C0 U+26060 # [2000] [Unicode3.1] +0xF7C1 U+7D9D # [2000] +0xF7C2 U+7DA7 # [2000] +0xF7C3 U+7DAA # [2000] +0xF7C4 U+7DB6 # [2000] +0xF7C5 U+7DB7 # [2000] +0xF7C6 U+7DC0 # [2000] +0xF7C7 U+7DD7 # [2000] +0xF7C8 U+7DD9 # [2000] +0xF7C9 U+7DE6 # [2000] +0xF7CA U+7DF1 # [2000] +0xF7CB U+7DF9 # [2000] +0xF7CC U+4302 # [2000] +0xF7CD U+260ED # [2000] [Unicode3.1] +0xF7CE U+FA58 # CJK COMPATIBILITY IDEOGRAPH-FA58 [2000] [Unicode3.2] +0xF7CF U+7E10 # [2000] +0xF7D0 U+7E17 # [2000] +0xF7D1 U+7E1D # [2000] +0xF7D2 U+7E20 # [2000] +0xF7D3 U+7E27 # [2000] +0xF7D4 U+7E2C # [2000] +0xF7D5 U+7E45 # [2000] +0xF7D6 U+7E73 # [2000] +0xF7D7 U+7E75 # [2000] +0xF7D8 U+7E7E # [2000] +0xF7D9 U+7E86 # [2000] +0xF7DA U+7E87 # [2000] +0xF7DB U+432B # [2000] +0xF7DC U+7E91 # [2000] +0xF7DD U+7E98 # [2000] +0xF7DE U+7E9A # [2000] +0xF7DF U+4343 # [2000] +0xF7E0 U+7F3C # [2000] +0xF7E1 U+7F3B # [2000] +0xF7E2 U+7F3E # [2000] +0xF7E3 U+7F43 # [2000] +0xF7E4 U+7F44 # [2000] +0xF7E5 U+7F4F # [2000] +0xF7E6 U+34C1 # [2000] +0xF7E7 U+26270 # [2000] [Unicode3.1] +0xF7E8 U+7F52 # [2000] +0xF7E9 U+26286 # [2000] [Unicode3.1] +0xF7EA U+7F61 # [2000] +0xF7EB U+7F63 # [2000] +0xF7EC U+7F64 # [2000] +0xF7ED U+7F6D # [2000] +0xF7EE U+7F7D # [2000] +0xF7EF U+7F7E # [2000] +0xF7F0 U+2634C # [2000] [Unicode3.1] +0xF7F1 U+7F90 # [2000] +0xF7F2 U+517B # [2000] +0xF7F3 U+23D0E # [2000] [Unicode3.1] +0xF7F4 U+7F96 # [2000] +0xF7F5 U+7F9C # [2000] +0xF7F6 U+7FAD # [2000] +0xF7F7 U+26402 # [2000] [Unicode3.1] +0xF7F8 U+7FC3 # [2000] +0xF7F9 U+7FCF # [2000] +0xF7FA U+7FE3 # [2000] +0xF7FB U+7FE5 # [2000] +0xF7FC U+7FEF # [2000] +0xF840 U+7FF2 # [2000] +0xF841 U+8002 # [2000] +0xF842 U+800A # [2000] +0xF843 U+8008 # [2000] +0xF844 U+800E # [2000] +0xF845 U+8011 # [2000] +0xF846 U+8016 # [2000] +0xF847 U+8024 # [2000] +0xF848 U+802C # [2000] +0xF849 U+8030 # [2000] +0xF84A U+8043 # [2000] +0xF84B U+8066 # [2000] +0xF84C U+8071 # [2000] +0xF84D U+8075 # [2000] +0xF84E U+807B # [2000] +0xF84F U+8099 # [2000] +0xF850 U+809C # [2000] +0xF851 U+80A4 # [2000] +0xF852 U+80A7 # [2000] +0xF853 U+80B8 # [2000] +0xF854 U+2667E # [2000] [Unicode3.1] +0xF855 U+80C5 # [2000] +0xF856 U+80D5 # [2000] +0xF857 U+80D8 # [2000] +0xF858 U+80E6 # [2000] +0xF859 U+266B0 # [2000] [Unicode3.1] +0xF85A U+810D # [2000] +0xF85B U+80F5 # [2000] +0xF85C U+80FB # [2000] +0xF85D U+43EE # [2000] +0xF85E U+8135 # [2000] +0xF85F U+8116 # [2000] +0xF860 U+811E # [2000] +0xF861 U+43F0 # [2000] +0xF862 U+8124 # [2000] +0xF863 U+8127 # [2000] +0xF864 U+812C # [2000] +0xF865 U+2671D # [2000] [Unicode3.1] +0xF866 U+813D # [2000] +0xF867 U+4408 # [2000] +0xF868 U+8169 # [2000] +0xF869 U+4417 # [2000] +0xF86A U+8181 # [2000] +0xF86B U+441C # [2000] +0xF86C U+8184 # [2000] +0xF86D U+8185 # [2000] +0xF86E U+4422 # [2000] +0xF86F U+8198 # [2000] +0xF870 U+81B2 # [2000] +0xF871 U+81C1 # [2000] +0xF872 U+81C3 # [2000] +0xF873 U+81D6 # [2000] +0xF874 U+81DB # [2000] +0xF875 U+268DD # [2000] [Unicode3.1] +0xF876 U+81E4 # [2000] +0xF877 U+268EA # [2000] [Unicode3.1] +0xF878 U+81EC # [2000] +0xF879 U+26951 # [2000] [Unicode3.1] +0xF87A U+81FD # [2000] +0xF87B U+81FF # [2000] +0xF87C U+2696F # [2000] [Unicode3.1] +0xF87D U+8204 # [2000] +0xF87E U+269DD # [2000] [Unicode3.1] +0xF880 U+8219 # [2000] +0xF881 U+8221 # [2000] +0xF882 U+8222 # [2000] +0xF883 U+26A1E # [2000] [Unicode3.1] +0xF884 U+8232 # [2000] +0xF885 U+8234 # [2000] +0xF886 U+823C # [2000] +0xF887 U+8246 # [2000] +0xF888 U+8249 # [2000] +0xF889 U+8245 # [2000] +0xF88A U+26A58 # [2000] [Unicode3.1] +0xF88B U+824B # [2000] +0xF88C U+4476 # [2000] +0xF88D U+824F # [2000] +0xF88E U+447A # [2000] +0xF88F U+8257 # [2000] +0xF890 U+26A8C # [2000] [Unicode3.1] +0xF891 U+825C # [2000] +0xF892 U+8263 # [2000] +0xF893 U+26AB7 # [2000] [Unicode3.1] +0xF894 U+FA5D # CJK COMPATIBILITY IDEOGRAPH-FA5D [2000] [Unicode3.2] +0xF895 U+FA5E # CJK COMPATIBILITY IDEOGRAPH-FA5E [2000] [Unicode3.2] +0xF896 U+8279 # [2000] +0xF897 U+4491 # [2000] +0xF898 U+827D # [2000] +0xF899 U+827F # [2000] +0xF89A U+8283 # [2000] +0xF89B U+828A # [2000] +0xF89C U+8293 # [2000] +0xF89D U+82A7 # [2000] +0xF89E U+82A8 # [2000] +0xF89F U+82B2 # [2000] +0xF8A0 U+82B4 # [2000] +0xF8A1 U+82BA # [2000] +0xF8A2 U+82BC # [2000] +0xF8A3 U+82E2 # [2000] +0xF8A4 U+82E8 # [2000] +0xF8A5 U+82F7 # [2000] +0xF8A6 U+8307 # [2000] +0xF8A7 U+8308 # [2000] +0xF8A8 U+830C # [2000] +0xF8A9 U+8354 # [2000] +0xF8AA U+831B # [2000] +0xF8AB U+831D # [2000] +0xF8AC U+8330 # [2000] +0xF8AD U+833C # [2000] +0xF8AE U+8344 # [2000] +0xF8AF U+8357 # [2000] +0xF8B0 U+44BE # [2000] +0xF8B1 U+837F # [2000] +0xF8B2 U+44D4 # [2000] +0xF8B3 U+44B3 # [2000] +0xF8B4 U+838D # [2000] +0xF8B5 U+8394 # [2000] +0xF8B6 U+8395 # [2000] +0xF8B7 U+839B # [2000] +0xF8B8 U+839D # [2000] +0xF8B9 U+83C9 # [2000] +0xF8BA U+83D0 # [2000] +0xF8BB U+83D4 # [2000] +0xF8BC U+83DD # [2000] +0xF8BD U+83E5 # [2000] +0xF8BE U+83F9 # [2000] +0xF8BF U+840F # [2000] +0xF8C0 U+8411 # [2000] +0xF8C1 U+8415 # [2000] +0xF8C2 U+26C73 # [2000] [Unicode3.1] +0xF8C3 U+8417 # [2000] +0xF8C4 U+8439 # [2000] +0xF8C5 U+844A # [2000] +0xF8C6 U+844F # [2000] +0xF8C7 U+8451 # [2000] +0xF8C8 U+8452 # [2000] +0xF8C9 U+8459 # [2000] +0xF8CA U+845A # [2000] +0xF8CB U+845C # [2000] +0xF8CC U+26CDD # [2000] [Unicode3.1] +0xF8CD U+8465 # [2000] +0xF8CE U+8476 # [2000] +0xF8CF U+8478 # [2000] +0xF8D0 U+847C # [2000] +0xF8D1 U+8481 # [2000] +0xF8D2 U+450D # [2000] +0xF8D3 U+84DC # [2000] +0xF8D4 U+8497 # [2000] +0xF8D5 U+84A6 # [2000] +0xF8D6 U+84BE # [2000] +0xF8D7 U+4508 # [2000] +0xF8D8 U+84CE # [2000] +0xF8D9 U+84CF # [2000] +0xF8DA U+84D3 # [2000] +0xF8DB U+26E65 # [2000] [Unicode3.1] +0xF8DC U+84E7 # [2000] +0xF8DD U+84EA # [2000] +0xF8DE U+84EF # [2000] +0xF8DF U+84F0 # [2000] +0xF8E0 U+84F1 # [2000] +0xF8E1 U+84FA # [2000] +0xF8E2 U+84FD # [2000] +0xF8E3 U+850C # [2000] +0xF8E4 U+851B # [2000] +0xF8E5 U+8524 # [2000] +0xF8E6 U+8525 # [2000] +0xF8E7 U+852B # [2000] +0xF8E8 U+8534 # [2000] +0xF8E9 U+854F # [2000] +0xF8EA U+856F # [2000] +0xF8EB U+4525 # [2000] +0xF8EC U+4543 # [2000] +0xF8ED U+853E # [2000] +0xF8EE U+8551 # [2000] +0xF8EF U+8553 # [2000] +0xF8F0 U+855E # [2000] +0xF8F1 U+8561 # [2000] +0xF8F2 U+8562 # [2000] +0xF8F3 U+26F94 # [2000] [Unicode3.1] +0xF8F4 U+857B # [2000] +0xF8F5 U+857D # [2000] +0xF8F6 U+857F # [2000] +0xF8F7 U+8581 # [2000] +0xF8F8 U+8586 # [2000] +0xF8F9 U+8593 # [2000] +0xF8FA U+859D # [2000] +0xF8FB U+859F # [2000] +0xF8FC U+26FF8 # [2000] [Unicode3.1] +0xF940 U+26FF6 # [2000] [Unicode3.1] +0xF941 U+26FF7 # [2000] [Unicode3.1] +0xF942 U+85B7 # [2000] +0xF943 U+85BC # [2000] +0xF944 U+85C7 # [2000] +0xF945 U+85CA # [2000] +0xF946 U+85D8 # [2000] +0xF947 U+85D9 # [2000] +0xF948 U+85DF # [2000] +0xF949 U+85E1 # [2000] +0xF94A U+85E6 # [2000] +0xF94B U+85F6 # [2000] +0xF94C U+8600 # [2000] +0xF94D U+8611 # [2000] +0xF94E U+861E # [2000] +0xF94F U+8621 # [2000] +0xF950 U+8624 # [2000] +0xF951 U+8627 # [2000] +0xF952 U+2710D # [2000] [Unicode3.1] +0xF953 U+8639 # [2000] +0xF954 U+863C # [2000] +0xF955 U+27139 # [2000] [Unicode3.1] +0xF956 U+8640 # [2000] +0xF957 U+FA20 # CJK COMPATIBILITY IDEOGRAPH-FA20 [2000] +0xF958 U+8653 # [2000] +0xF959 U+8656 # [2000] +0xF95A U+866F # [2000] +0xF95B U+8677 # [2000] +0xF95C U+867A # [2000] +0xF95D U+8687 # [2000] +0xF95E U+8689 # [2000] +0xF95F U+868D # [2000] +0xF960 U+8691 # [2000] +0xF961 U+869C # [2000] +0xF962 U+869D # [2000] +0xF963 U+86A8 # [2000] +0xF964 U+FA21 # CJK COMPATIBILITY IDEOGRAPH-FA21 [2000] +0xF965 U+86B1 # [2000] +0xF966 U+86B3 # [2000] +0xF967 U+86C1 # [2000] +0xF968 U+86C3 # [2000] +0xF969 U+86D1 # [2000] +0xF96A U+86D5 # [2000] +0xF96B U+86D7 # [2000] +0xF96C U+86E3 # [2000] +0xF96D U+86E6 # [2000] +0xF96E U+45B8 # [2000] +0xF96F U+8705 # [2000] +0xF970 U+8707 # [2000] +0xF971 U+870E # [2000] +0xF972 U+8710 # [2000] +0xF973 U+8713 # [2000] +0xF974 U+8719 # [2000] +0xF975 U+871F # [2000] +0xF976 U+8721 # [2000] +0xF977 U+8723 # [2000] +0xF978 U+8731 # [2000] +0xF979 U+873A # [2000] +0xF97A U+873E # [2000] +0xF97B U+8740 # [2000] +0xF97C U+8743 # [2000] +0xF97D U+8751 # [2000] +0xF97E U+8758 # [2000] +0xF980 U+8764 # [2000] +0xF981 U+8765 # [2000] +0xF982 U+8772 # [2000] +0xF983 U+877C # [2000] +0xF984 U+273DB # [2000] [Unicode3.1] +0xF985 U+273DA # [2000] [Unicode3.1] +0xF986 U+87A7 # [2000] +0xF987 U+8789 # [2000] +0xF988 U+878B # [2000] +0xF989 U+8793 # [2000] +0xF98A U+87A0 # [2000] +0xF98B U+273FE # [2000] [Unicode3.1] +0xF98C U+45E5 # [2000] +0xF98D U+87BE # [2000] +0xF98E U+27410 # [2000] [Unicode3.1] +0xF98F U+87C1 # [2000] +0xF990 U+87CE # [2000] +0xF991 U+87F5 # [2000] +0xF992 U+87DF # [2000] +0xF993 U+27449 # [2000] [Unicode3.1] +0xF994 U+87E3 # [2000] +0xF995 U+87E5 # [2000] +0xF996 U+87E6 # [2000] +0xF997 U+87EA # [2000] +0xF998 U+87EB # [2000] +0xF999 U+87ED # [2000] +0xF99A U+8801 # [2000] +0xF99B U+8803 # [2000] +0xF99C U+880B # [2000] +0xF99D U+8813 # [2000] +0xF99E U+8828 # [2000] +0xF99F U+882E # [2000] +0xF9A0 U+8832 # [2000] +0xF9A1 U+883C # [2000] +0xF9A2 U+460F # [2000] +0xF9A3 U+884A # [2000] +0xF9A4 U+8858 # [2000] +0xF9A5 U+885F # [2000] +0xF9A6 U+8864 # [2000] +0xF9A7 U+27615 # [2000] [Unicode3.1] +0xF9A8 U+27614 # [2000] [Unicode3.1] +0xF9A9 U+8869 # [2000] +0xF9AA U+27631 # [2000] [Unicode3.1] +0xF9AB U+886F # [2000] +0xF9AC U+88A0 # [2000] +0xF9AD U+88BC # [2000] +0xF9AE U+88BD # [2000] +0xF9AF U+88BE # [2000] +0xF9B0 U+88C0 # [2000] +0xF9B1 U+88D2 # [2000] +0xF9B2 U+27693 # [2000] [Unicode3.1] +0xF9B3 U+88D1 # [2000] +0xF9B4 U+88D3 # [2000] +0xF9B5 U+88DB # [2000] +0xF9B6 U+88F0 # [2000] +0xF9B7 U+88F1 # [2000] +0xF9B8 U+4641 # [2000] +0xF9B9 U+8901 # [2000] +0xF9BA U+2770E # [2000] [Unicode3.1] +0xF9BB U+8937 # [2000] +0xF9BC U+27723 # [2000] [Unicode3.1] +0xF9BD U+8942 # [2000] +0xF9BE U+8945 # [2000] +0xF9BF U+8949 # [2000] +0xF9C0 U+27752 # [2000] [Unicode3.1] +0xF9C1 U+4665 # [2000] +0xF9C2 U+8962 # [2000] +0xF9C3 U+8980 # [2000] +0xF9C4 U+8989 # [2000] +0xF9C5 U+8990 # [2000] +0xF9C6 U+899F # [2000] +0xF9C7 U+89B0 # [2000] +0xF9C8 U+89B7 # [2000] +0xF9C9 U+89D6 # [2000] +0xF9CA U+89D8 # [2000] +0xF9CB U+89EB # [2000] +0xF9CC U+46A1 # [2000] +0xF9CD U+89F1 # [2000] +0xF9CE U+89F3 # [2000] +0xF9CF U+89FD # [2000] +0xF9D0 U+89FF # [2000] +0xF9D1 U+46AF # [2000] +0xF9D2 U+8A11 # [2000] +0xF9D3 U+8A14 # [2000] +0xF9D4 U+27985 # [2000] [Unicode3.1] +0xF9D5 U+8A21 # [2000] +0xF9D6 U+8A35 # [2000] +0xF9D7 U+8A3E # [2000] +0xF9D8 U+8A45 # [2000] +0xF9D9 U+8A4D # [2000] +0xF9DA U+8A58 # [2000] +0xF9DB U+8AAE # [2000] +0xF9DC U+8A90 # [2000] +0xF9DD U+8AB7 # [2000] +0xF9DE U+8ABE # [2000] +0xF9DF U+8AD7 # [2000] +0xF9E0 U+8AFC # [2000] +0xF9E1 U+27A84 # [2000] [Unicode3.1] +0xF9E2 U+8B0A # [2000] +0xF9E3 U+8B05 # [2000] +0xF9E4 U+8B0D # [2000] +0xF9E5 U+8B1C # [2000] +0xF9E6 U+8B1F # [2000] +0xF9E7 U+8B2D # [2000] +0xF9E8 U+8B43 # [2000] +0xF9E9 U+470C # [2000] +0xF9EA U+8B51 # [2000] +0xF9EB U+8B5E # [2000] +0xF9EC U+8B76 # [2000] +0xF9ED U+8B7F # [2000] +0xF9EE U+8B81 # [2000] +0xF9EF U+8B8B # [2000] +0xF9F0 U+8B94 # [2000] +0xF9F1 U+8B95 # [2000] +0xF9F2 U+8B9C # [2000] +0xF9F3 U+8B9E # [2000] +0xF9F4 U+8C39 # [2000] +0xF9F5 U+27BB3 # [2000] [Unicode3.1] +0xF9F6 U+8C3D # [2000] +0xF9F7 U+27BBE # [2000] [Unicode3.1] +0xF9F8 U+27BC7 # [2000] [Unicode3.1] +0xF9F9 U+8C45 # [2000] +0xF9FA U+8C47 # [2000] +0xF9FB U+8C4F # [2000] +0xF9FC U+8C54 # [2000] +0xFA40 U+8C57 # [2000] +0xFA41 U+8C69 # [2000] +0xFA42 U+8C6D # [2000] +0xFA43 U+8C73 # [2000] +0xFA44 U+27CB8 # [2000] [Unicode3.1] +0xFA45 U+8C93 # [2000] +0xFA46 U+8C92 # [2000] +0xFA47 U+8C99 # [2000] +0xFA48 U+4764 # [2000] +0xFA49 U+8C9B # [2000] +0xFA4A U+8CA4 # [2000] +0xFA4B U+8CD6 # [2000] +0xFA4C U+8CD5 # [2000] +0xFA4D U+8CD9 # [2000] +0xFA4E U+27DA0 # [2000] [Unicode3.1] +0xFA4F U+8CF0 # [2000] +0xFA50 U+8CF1 # [2000] +0xFA51 U+27E10 # [2000] [Unicode3.1] +0xFA52 U+8D09 # [2000] +0xFA53 U+8D0E # [2000] +0xFA54 U+8D6C # [2000] +0xFA55 U+8D84 # [2000] +0xFA56 U+8D95 # [2000] +0xFA57 U+8DA6 # [2000] +0xFA58 U+27FB7 # [2000] [Unicode3.1] +0xFA59 U+8DC6 # [2000] +0xFA5A U+8DC8 # [2000] +0xFA5B U+8DD9 # [2000] +0xFA5C U+8DEC # [2000] +0xFA5D U+8E0C # [2000] +0xFA5E U+47FD # [2000] +0xFA5F U+8DFD # [2000] +0xFA60 U+8E06 # [2000] +0xFA61 U+2808A # [2000] [Unicode3.1] +0xFA62 U+8E14 # [2000] +0xFA63 U+8E16 # [2000] +0xFA64 U+8E21 # [2000] +0xFA65 U+8E22 # [2000] +0xFA66 U+8E27 # [2000] +0xFA67 U+280BB # [2000] [Unicode3.1] +0xFA68 U+4816 # [2000] +0xFA69 U+8E36 # [2000] +0xFA6A U+8E39 # [2000] +0xFA6B U+8E4B # [2000] +0xFA6C U+8E54 # [2000] +0xFA6D U+8E62 # [2000] +0xFA6E U+8E6C # [2000] +0xFA6F U+8E6D # [2000] +0xFA70 U+8E6F # [2000] +0xFA71 U+8E98 # [2000] +0xFA72 U+8E9E # [2000] +0xFA73 U+8EAE # [2000] +0xFA74 U+8EB3 # [2000] +0xFA75 U+8EB5 # [2000] +0xFA76 U+8EB6 # [2000] +0xFA77 U+8EBB # [2000] +0xFA78 U+28282 # [2000] [Unicode3.1] +0xFA79 U+8ED1 # [2000] +0xFA7A U+8ED4 # [2000] +0xFA7B U+484E # [2000] +0xFA7C U+8EF9 # [2000] +0xFA7D U+282F3 # [2000] [Unicode3.1] +0xFA7E U+8F00 # [2000] +0xFA80 U+8F08 # [2000] +0xFA81 U+8F17 # [2000] +0xFA82 U+8F2B # [2000] +0xFA83 U+8F40 # [2000] +0xFA84 U+8F4A # [2000] +0xFA85 U+8F58 # [2000] +0xFA86 U+2840C # [2000] [Unicode3.1] +0xFA87 U+8FA4 # [2000] +0xFA88 U+8FB4 # [2000] +0xFA89 U+FA66 # CJK COMPATIBILITY IDEOGRAPH-FA66 [2000] [Unicode3.2] +0xFA8A U+8FB6 # [2000] +0xFA8B U+28455 # [2000] [Unicode3.1] +0xFA8C U+8FC1 # [2000] +0xFA8D U+8FC6 # [2000] +0xFA8E U+FA24 # CJK COMPATIBILITY IDEOGRAPH-FA24 [2000] +0xFA8F U+8FCA # [2000] +0xFA90 U+8FCD # [2000] +0xFA91 U+8FD3 # [2000] +0xFA92 U+8FD5 # [2000] +0xFA93 U+8FE0 # [2000] +0xFA94 U+8FF1 # [2000] +0xFA95 U+8FF5 # [2000] +0xFA96 U+8FFB # [2000] +0xFA97 U+9002 # [2000] +0xFA98 U+900C # [2000] +0xFA99 U+9037 # [2000] +0xFA9A U+2856B # [2000] [Unicode3.1] +0xFA9B U+9043 # [2000] +0xFA9C U+9044 # [2000] +0xFA9D U+905D # [2000] +0xFA9E U+285C8 # [2000] [Unicode3.1] +0xFA9F U+285C9 # [2000] [Unicode3.1] +0xFAA0 U+9085 # [2000] +0xFAA1 U+908C # [2000] +0xFAA2 U+9090 # [2000] +0xFAA3 U+961D # [2000] +0xFAA4 U+90A1 # [2000] +0xFAA5 U+48B5 # [2000] +0xFAA6 U+90B0 # [2000] +0xFAA7 U+90B6 # [2000] +0xFAA8 U+90C3 # [2000] +0xFAA9 U+90C8 # [2000] +0xFAAA U+286D7 # [2000] [Unicode3.1] +0xFAAB U+90DC # [2000] +0xFAAC U+90DF # [2000] +0xFAAD U+286FA # [2000] [Unicode3.1] +0xFAAE U+90F6 # [2000] +0xFAAF U+90F2 # [2000] +0xFAB0 U+9100 # [2000] +0xFAB1 U+90EB # [2000] +0xFAB2 U+90FE # [2000] +0xFAB3 U+90FF # [2000] +0xFAB4 U+9104 # [2000] +0xFAB5 U+9106 # [2000] +0xFAB6 U+9118 # [2000] +0xFAB7 U+911C # [2000] +0xFAB8 U+911E # [2000] +0xFAB9 U+9137 # [2000] +0xFABA U+9139 # [2000] +0xFABB U+913A # [2000] +0xFABC U+9146 # [2000] +0xFABD U+9147 # [2000] +0xFABE U+9157 # [2000] +0xFABF U+9159 # [2000] +0xFAC0 U+9161 # [2000] +0xFAC1 U+9164 # [2000] +0xFAC2 U+9174 # [2000] +0xFAC3 U+9179 # [2000] +0xFAC4 U+9185 # [2000] +0xFAC5 U+918E # [2000] +0xFAC6 U+91A8 # [2000] +0xFAC7 U+91AE # [2000] +0xFAC8 U+91B3 # [2000] +0xFAC9 U+91B6 # [2000] +0xFACA U+91C3 # [2000] +0xFACB U+91C4 # [2000] +0xFACC U+91DA # [2000] +0xFACD U+28949 # [2000] [Unicode3.1] +0xFACE U+28946 # [2000] [Unicode3.1] +0xFACF U+91EC # [2000] +0xFAD0 U+91EE # [2000] +0xFAD1 U+9201 # [2000] +0xFAD2 U+920A # [2000] +0xFAD3 U+9216 # [2000] +0xFAD4 U+9217 # [2000] +0xFAD5 U+2896B # [2000] [Unicode3.1] +0xFAD6 U+9233 # [2000] +0xFAD7 U+9242 # [2000] +0xFAD8 U+9247 # [2000] +0xFAD9 U+924A # [2000] +0xFADA U+924E # [2000] +0xFADB U+9251 # [2000] +0xFADC U+9256 # [2000] +0xFADD U+9259 # [2000] +0xFADE U+9260 # [2000] +0xFADF U+9261 # [2000] +0xFAE0 U+9265 # [2000] +0xFAE1 U+9267 # [2000] +0xFAE2 U+9268 # [2000] +0xFAE3 U+28987 # [2000] [Unicode3.1] +0xFAE4 U+28988 # [2000] [Unicode3.1] +0xFAE5 U+927C # [2000] +0xFAE6 U+927D # [2000] +0xFAE7 U+927F # [2000] +0xFAE8 U+9289 # [2000] +0xFAE9 U+928D # [2000] +0xFAEA U+9297 # [2000] +0xFAEB U+9299 # [2000] +0xFAEC U+929F # [2000] +0xFAED U+92A7 # [2000] +0xFAEE U+92AB # [2000] +0xFAEF U+289BA # [2000] [Unicode3.1] +0xFAF0 U+289BB # [2000] [Unicode3.1] +0xFAF1 U+92B2 # [2000] +0xFAF2 U+92BF # [2000] +0xFAF3 U+92C0 # [2000] +0xFAF4 U+92C6 # [2000] +0xFAF5 U+92CE # [2000] +0xFAF6 U+92D0 # [2000] +0xFAF7 U+92D7 # [2000] +0xFAF8 U+92D9 # [2000] +0xFAF9 U+92E5 # [2000] +0xFAFA U+92E7 # [2000] +0xFAFB U+9311 # [2000] +0xFAFC U+28A1E # [2000] [Unicode3.1] +0xFB40 U+28A29 # [2000] [Unicode3.1] +0xFB41 U+92F7 # [2000] +0xFB42 U+92F9 # [2000] +0xFB43 U+92FB # [2000] +0xFB44 U+9302 # [2000] +0xFB45 U+930D # [2000] +0xFB46 U+9315 # [2000] +0xFB47 U+931D # [2000] +0xFB48 U+931E # [2000] +0xFB49 U+9327 # [2000] +0xFB4A U+9329 # [2000] +0xFB4B U+28A71 # [2000] [Unicode3.1] +0xFB4C U+28A43 # [2000] [Unicode3.1] +0xFB4D U+9347 # [2000] +0xFB4E U+9351 # [2000] +0xFB4F U+9357 # [2000] +0xFB50 U+935A # [2000] +0xFB51 U+936B # [2000] +0xFB52 U+9371 # [2000] +0xFB53 U+9373 # [2000] +0xFB54 U+93A1 # [2000] +0xFB55 U+28A99 # [2000] [Unicode3.1] +0xFB56 U+28ACD # [2000] [Unicode3.1] +0xFB57 U+9388 # [2000] +0xFB58 U+938B # [2000] +0xFB59 U+938F # [2000] +0xFB5A U+939E # [2000] +0xFB5B U+93F5 # [2000] +0xFB5C U+28AE4 # [2000] [Unicode3.1] +0xFB5D U+28ADD # [2000] [Unicode3.1] +0xFB5E U+93F1 # [2000] +0xFB5F U+93C1 # [2000] +0xFB60 U+93C7 # [2000] +0xFB61 U+93DC # [2000] +0xFB62 U+93E2 # [2000] +0xFB63 U+93E7 # [2000] +0xFB64 U+9409 # [2000] +0xFB65 U+940F # [2000] +0xFB66 U+9416 # [2000] +0xFB67 U+9417 # [2000] +0xFB68 U+93FB # [2000] +0xFB69 U+9432 # [2000] +0xFB6A U+9434 # [2000] +0xFB6B U+943B # [2000] +0xFB6C U+9445 # [2000] +0xFB6D U+28BC1 # [2000] [Unicode3.1] +0xFB6E U+28BEF # [2000] [Unicode3.1] +0xFB6F U+946D # [2000] +0xFB70 U+946F # [2000] +0xFB71 U+9578 # [2000] +0xFB72 U+9579 # [2000] +0xFB73 U+9586 # [2000] +0xFB74 U+958C # [2000] +0xFB75 U+958D # [2000] +0xFB76 U+28D10 # [2000] [Unicode3.1] +0xFB77 U+95AB # [2000] +0xFB78 U+95B4 # [2000] +0xFB79 U+28D71 # [2000] [Unicode3.1] +0xFB7A U+95C8 # [2000] +0xFB7B U+28DFB # [2000] [Unicode3.1] +0xFB7C U+28E1F # [2000] [Unicode3.1] +0xFB7D U+962C # [2000] +0xFB7E U+9633 # [2000] +0xFB80 U+9634 # [2000] +0xFB81 U+28E36 # [2000] [Unicode3.1] +0xFB82 U+963C # [2000] +0xFB83 U+9641 # [2000] +0xFB84 U+9661 # [2000] +0xFB85 U+28E89 # [2000] [Unicode3.1] +0xFB86 U+9682 # [2000] +0xFB87 U+28EEB # [2000] [Unicode3.1] +0xFB88 U+969A # [2000] +0xFB89 U+28F32 # [2000] [Unicode3.1] +0xFB8A U+49E7 # [2000] +0xFB8B U+96A9 # [2000] +0xFB8C U+96AF # [2000] +0xFB8D U+96B3 # [2000] +0xFB8E U+96BA # [2000] +0xFB8F U+96BD # [2000] +0xFB90 U+49FA # [2000] +0xFB91 U+28FF8 # [2000] [Unicode3.1] +0xFB92 U+96D8 # [2000] +0xFB93 U+96DA # [2000] +0xFB94 U+96DD # [2000] +0xFB95 U+4A04 # [2000] +0xFB96 U+9714 # [2000] +0xFB97 U+9723 # [2000] +0xFB98 U+4A29 # [2000] +0xFB99 U+9736 # [2000] +0xFB9A U+9741 # [2000] +0xFB9B U+9747 # [2000] +0xFB9C U+9755 # [2000] +0xFB9D U+9757 # [2000] +0xFB9E U+975B # [2000] +0xFB9F U+976A # [2000] +0xFBA0 U+292A0 # [2000] [Unicode3.1] +0xFBA1 U+292B1 # [2000] [Unicode3.1] +0xFBA2 U+9796 # [2000] +0xFBA3 U+979A # [2000] +0xFBA4 U+979E # [2000] +0xFBA5 U+97A2 # [2000] +0xFBA6 U+97B1 # [2000] +0xFBA7 U+97B2 # [2000] +0xFBA8 U+97BE # [2000] +0xFBA9 U+97CC # [2000] +0xFBAA U+97D1 # [2000] +0xFBAB U+97D4 # [2000] +0xFBAC U+97D8 # [2000] +0xFBAD U+97D9 # [2000] +0xFBAE U+97E1 # [2000] +0xFBAF U+97F1 # [2000] +0xFBB0 U+9804 # [2000] +0xFBB1 U+980D # [2000] +0xFBB2 U+980E # [2000] +0xFBB3 U+9814 # [2000] +0xFBB4 U+9816 # [2000] +0xFBB5 U+4ABC # [2000] +0xFBB6 U+29490 # [2000] [Unicode3.1] +0xFBB7 U+9823 # [2000] +0xFBB8 U+9832 # [2000] +0xFBB9 U+9833 # [2000] +0xFBBA U+9825 # [2000] +0xFBBB U+9847 # [2000] +0xFBBC U+9866 # [2000] +0xFBBD U+98AB # [2000] +0xFBBE U+98AD # [2000] +0xFBBF U+98B0 # [2000] +0xFBC0 U+295CF # [2000] [Unicode3.1] +0xFBC1 U+98B7 # [2000] +0xFBC2 U+98B8 # [2000] +0xFBC3 U+98BB # [2000] +0xFBC4 U+98BC # [2000] +0xFBC5 U+98BF # [2000] +0xFBC6 U+98C2 # [2000] +0xFBC7 U+98C7 # [2000] +0xFBC8 U+98CB # [2000] +0xFBC9 U+98E0 # [2000] +0xFBCA U+2967F # [2000] [Unicode3.1] +0xFBCB U+98E1 # [2000] +0xFBCC U+98E3 # [2000] +0xFBCD U+98E5 # [2000] +0xFBCE U+98EA # [2000] +0xFBCF U+98F0 # [2000] +0xFBD0 U+98F1 # [2000] +0xFBD1 U+98F3 # [2000] +0xFBD2 U+9908 # [2000] +0xFBD3 U+4B3B # [2000] +0xFBD4 U+296F0 # [2000] [Unicode3.1] +0xFBD5 U+9916 # [2000] +0xFBD6 U+9917 # [2000] +0xFBD7 U+29719 # [2000] [Unicode3.1] +0xFBD8 U+991A # [2000] +0xFBD9 U+991B # [2000] +0xFBDA U+991C # [2000] +0xFBDB U+29750 # [2000] [Unicode3.1] +0xFBDC U+9931 # [2000] +0xFBDD U+9932 # [2000] +0xFBDE U+9933 # [2000] +0xFBDF U+993A # [2000] +0xFBE0 U+993B # [2000] +0xFBE1 U+993C # [2000] +0xFBE2 U+9940 # [2000] +0xFBE3 U+9941 # [2000] +0xFBE4 U+9946 # [2000] +0xFBE5 U+994D # [2000] +0xFBE6 U+994E # [2000] +0xFBE7 U+995C # [2000] +0xFBE8 U+995F # [2000] +0xFBE9 U+9960 # [2000] +0xFBEA U+99A3 # [2000] +0xFBEB U+99A6 # [2000] +0xFBEC U+99B9 # [2000] +0xFBED U+99BD # [2000] +0xFBEE U+99BF # [2000] +0xFBEF U+99C3 # [2000] +0xFBF0 U+99C9 # [2000] +0xFBF1 U+99D4 # [2000] +0xFBF2 U+99D9 # [2000] +0xFBF3 U+99DE # [2000] +0xFBF4 U+298C6 # [2000] [Unicode3.1] +0xFBF5 U+99F0 # [2000] +0xFBF6 U+99F9 # [2000] +0xFBF7 U+99FC # [2000] +0xFBF8 U+9A0A # [2000] +0xFBF9 U+9A11 # [2000] +0xFBFA U+9A16 # [2000] +0xFBFB U+9A1A # [2000] +0xFBFC U+9A20 # [2000] +0xFC40 U+9A31 # [2000] +0xFC41 U+9A36 # [2000] +0xFC42 U+9A44 # [2000] +0xFC43 U+9A4C # [2000] +0xFC44 U+9A58 # [2000] +0xFC45 U+4BC2 # [2000] +0xFC46 U+9AAF # [2000] +0xFC47 U+4BCA # [2000] +0xFC48 U+9AB7 # [2000] +0xFC49 U+4BD2 # [2000] +0xFC4A U+9AB9 # [2000] +0xFC4B U+29A72 # [2000] [Unicode3.1] +0xFC4C U+9AC6 # [2000] +0xFC4D U+9AD0 # [2000] +0xFC4E U+9AD2 # [2000] +0xFC4F U+9AD5 # [2000] +0xFC50 U+4BE8 # [2000] +0xFC51 U+9ADC # [2000] +0xFC52 U+9AE0 # [2000] +0xFC53 U+9AE5 # [2000] +0xFC54 U+9AE9 # [2000] +0xFC55 U+9B03 # [2000] +0xFC56 U+9B0C # [2000] +0xFC57 U+9B10 # [2000] +0xFC58 U+9B12 # [2000] +0xFC59 U+9B16 # [2000] +0xFC5A U+9B1C # [2000] +0xFC5B U+9B2B # [2000] +0xFC5C U+9B33 # [2000] +0xFC5D U+9B3D # [2000] +0xFC5E U+4C20 # [2000] +0xFC5F U+9B4B # [2000] +0xFC60 U+9B63 # [2000] +0xFC61 U+9B65 # [2000] +0xFC62 U+9B6B # [2000] +0xFC63 U+9B6C # [2000] +0xFC64 U+9B73 # [2000] +0xFC65 U+9B76 # [2000] +0xFC66 U+9B77 # [2000] +0xFC67 U+9BA6 # [2000] +0xFC68 U+9BAC # [2000] +0xFC69 U+9BB1 # [2000] +0xFC6A U+29DDB # [2000] [Unicode3.1] +0xFC6B U+29E3D # [2000] [Unicode3.1] +0xFC6C U+9BB2 # [2000] +0xFC6D U+9BB8 # [2000] +0xFC6E U+9BBE # [2000] +0xFC6F U+9BC7 # [2000] +0xFC70 U+9BF3 # [2000] +0xFC71 U+9BD8 # [2000] +0xFC72 U+9BDD # [2000] +0xFC73 U+9BE7 # [2000] +0xFC74 U+9BEA # [2000] +0xFC75 U+9BEB # [2000] +0xFC76 U+9BEF # [2000] +0xFC77 U+9BEE # [2000] +0xFC78 U+29E15 # [2000] [Unicode3.1] +0xFC79 U+9BFA # [2000] +0xFC7A U+29E8A # [2000] [Unicode3.1] +0xFC7B U+9BF7 # [2000] +0xFC7C U+29E49 # [2000] [Unicode3.1] +0xFC7D U+9C16 # [2000] +0xFC7E U+9C18 # [2000] +0xFC80 U+9C19 # [2000] +0xFC81 U+9C1A # [2000] +0xFC82 U+9C1D # [2000] +0xFC83 U+9C22 # [2000] +0xFC84 U+9C27 # [2000] +0xFC85 U+9C29 # [2000] +0xFC86 U+9C2A # [2000] +0xFC87 U+29EC4 # [2000] [Unicode3.1] +0xFC88 U+9C31 # [2000] +0xFC89 U+9C36 # [2000] +0xFC8A U+9C37 # [2000] +0xFC8B U+9C45 # [2000] +0xFC8C U+9C5C # [2000] +0xFC8D U+29EE9 # [2000] [Unicode3.1] +0xFC8E U+9C49 # [2000] +0xFC8F U+9C4A # [2000] +0xFC90 U+29EDB # [2000] [Unicode3.1] +0xFC91 U+9C54 # [2000] +0xFC92 U+9C58 # [2000] +0xFC93 U+9C5B # [2000] +0xFC94 U+9C5D # [2000] +0xFC95 U+9C5F # [2000] +0xFC96 U+9C69 # [2000] +0xFC97 U+9C6A # [2000] +0xFC98 U+9C6B # [2000] +0xFC99 U+9C6D # [2000] +0xFC9A U+9C6E # [2000] +0xFC9B U+9C70 # [2000] +0xFC9C U+9C72 # [2000] +0xFC9D U+9C75 # [2000] +0xFC9E U+9C7A # [2000] +0xFC9F U+9CE6 # [2000] +0xFCA0 U+9CF2 # [2000] +0xFCA1 U+9D0B # [2000] +0xFCA2 U+9D02 # [2000] +0xFCA3 U+29FCE # [2000] [Unicode3.1] +0xFCA4 U+9D11 # [2000] +0xFCA5 U+9D17 # [2000] +0xFCA6 U+9D18 # [2000] +0xFCA7 U+2A02F # [2000] [Unicode3.1] +0xFCA8 U+4CC4 # [2000] +0xFCA9 U+2A01A # [2000] [Unicode3.1] +0xFCAA U+9D32 # [2000] +0xFCAB U+4CD1 # [2000] +0xFCAC U+9D42 # [2000] +0xFCAD U+9D4A # [2000] +0xFCAE U+9D5F # [2000] +0xFCAF U+9D62 # [2000] +0xFCB0 U+2A0F9 # [2000] [Unicode3.1] +0xFCB1 U+9D69 # [2000] +0xFCB2 U+9D6B # [2000] +0xFCB3 U+2A082 # [2000] [Unicode3.1] +0xFCB4 U+9D73 # [2000] +0xFCB5 U+9D76 # [2000] +0xFCB6 U+9D77 # [2000] +0xFCB7 U+9D7E # [2000] +0xFCB8 U+9D84 # [2000] +0xFCB9 U+9D8D # [2000] +0xFCBA U+9D99 # [2000] +0xFCBB U+9DA1 # [2000] +0xFCBC U+9DBF # [2000] +0xFCBD U+9DB5 # [2000] +0xFCBE U+9DB9 # [2000] +0xFCBF U+9DBD # [2000] +0xFCC0 U+9DC3 # [2000] +0xFCC1 U+9DC7 # [2000] +0xFCC2 U+9DC9 # [2000] +0xFCC3 U+9DD6 # [2000] +0xFCC4 U+9DDA # [2000] +0xFCC5 U+9DDF # [2000] +0xFCC6 U+9DE0 # [2000] +0xFCC7 U+9DE3 # [2000] +0xFCC8 U+9DF4 # [2000] +0xFCC9 U+4D07 # [2000] +0xFCCA U+9E0A # [2000] +0xFCCB U+9E02 # [2000] +0xFCCC U+9E0D # [2000] +0xFCCD U+9E19 # [2000] +0xFCCE U+9E1C # [2000] +0xFCCF U+9E1D # [2000] +0xFCD0 U+9E7B # [2000] +0xFCD1 U+22218 # [2000] [Unicode3.1] +0xFCD2 U+9E80 # [2000] +0xFCD3 U+9E85 # [2000] +0xFCD4 U+9E9B # [2000] +0xFCD5 U+9EA8 # [2000] +0xFCD6 U+2A38C # [2000] [Unicode3.1] +0xFCD7 U+9EBD # [2000] +0xFCD8 U+2A437 # [2000] [Unicode3.1] +0xFCD9 U+9EDF # [2000] +0xFCDA U+9EE7 # [2000] +0xFCDB U+9EEE # [2000] +0xFCDC U+9EFF # [2000] +0xFCDD U+9F02 # [2000] +0xFCDE U+4D77 # [2000] +0xFCDF U+9F03 # [2000] +0xFCE0 U+9F17 # [2000] +0xFCE1 U+9F19 # [2000] +0xFCE2 U+9F2F # [2000] +0xFCE3 U+9F37 # [2000] +0xFCE4 U+9F3A # [2000] +0xFCE5 U+9F3D # [2000] +0xFCE6 U+9F41 # [2000] +0xFCE7 U+9F45 # [2000] +0xFCE8 U+9F46 # [2000] +0xFCE9 U+9F53 # [2000] +0xFCEA U+9F55 # [2000] +0xFCEB U+9F58 # [2000] +0xFCEC U+2A5F1 # [2000] [Unicode3.1] +0xFCED U+9F5D # [2000] +0xFCEE U+2A602 # [2000] [Unicode3.1] +0xFCEF U+9F69 # [2000] +0xFCF0 U+2A61A # [2000] [Unicode3.1] +0xFCF1 U+9F6D # [2000] +0xFCF2 U+9F70 # [2000] +0xFCF3 U+9F75 # [2000] +0xFCF4 U+2A6B2 # [2000] [Unicode3.1] diff --git a/ext/mbstring/tests/sjis2004_encoding.phpt b/ext/mbstring/tests/sjis2004_encoding.phpt new file mode 100644 index 0000000000000..c5182c0899bb1 --- /dev/null +++ b/ext/mbstring/tests/sjis2004_encoding.phpt @@ -0,0 +1,56 @@ +--TEST-- +Exhaustive test of SJIS-2004 encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/../docs/SJIS-2004.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + $codepoint2 = null; + if (sscanf($line, "0x%x\tU+%x+%x", $bytes, $codepoint1, $codepoint2) >= 2) { + if ($bytes < 256) { + $validChars[chr($bytes)] = pack('N', $codepoint1); + } else if ($codepoint2) { + $validChars[pack('n', $bytes)] = pack('NN', $codepoint1, $codepoint2); + } else { + /* Two input byte sequences can translate to either a 'halfwidth' or a + * 'fullwidth' version of a character; our implementation of SJIS-2004 + * translates them to the fullwidth versions */ + if (preg_match('/Fullwidth: U\+([0-9A-F]+)/', $line, $match)) + $validChars[pack('n', $bytes)] = pack('N', hexdec($match[1])); + else + $validChars[pack('n', $bytes)] = pack('N', $codepoint1); + } + } +} + +testAllValidChars($validChars, 'SJIS-2004', 'UTF-32BE'); +echo "SJIS-2004 verification and conversion works for all valid characters\n"; + +findInvalidChars($validChars, $invalidChars, $truncated, + map(range(0x81, 0x9F), 2, map(range(0xE0, 0xFC), 2))); +testAllInvalidChars($invalidChars, $validChars, 'SJIS-2004', 'UTF-32BE', "\x00\x00\x00%"); +testTruncatedChars($truncated, 'SJIS-2004', 'UTF-32BE', "\x00\x00\x00%"); +echo "SJIS-2004 verification and conversion rejects all invalid characters\n"; + +$fromUnicode = array_flip($validChars); +findInvalidChars($fromUnicode, $invalidChars, $unused, map(range(0, 0xFF), 2)); +testAllInvalidChars($invalidChars, $fromUnicode, 'UTF-32BE', 'SJIS-2004', '%'); +echo "Unicode -> SJIS-2004 conversion works on all invalid characters\n"; +?> +--EXPECT-- +SJIS-2004 verification and conversion works for all valid characters +SJIS-2004 verification and conversion rejects all invalid characters +Unicode -> SJIS-2004 conversion works on all invalid characters From 0c0a4b87936604f19be6f17ad060c4e87565e9e9 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 7 Sep 2020 21:02:48 +0200 Subject: [PATCH 007/123] Add identify filter for MacJapanese (variant of Shift-JIS) --- .../libmbfl/filters/mbfilter_sjis_mac.c | 69 ++++++++++++++++++- .../libmbfl/filters/mbfilter_sjis_mac.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 + 3 files changed, 69 insertions(+), 3 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index ff8d01937f5ce..fa2cc1fc83aeb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -27,6 +27,8 @@ * */ +/* Ref: https://unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT */ + #include "mbfilter.h" #include "mbfilter_sjis_mac.h" @@ -35,9 +37,9 @@ #include "sjis_mac2uni.h" -extern int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_sjis[]; +static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); static int mbfl_filt_conv_sjis_mac_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_sjis_mac_aliases[] = {"MacJapanese", "x-Mac-Japanese", NULL}; @@ -56,7 +58,7 @@ const mbfl_encoding mbfl_encoding_sjis_mac = { const struct mbfl_identify_vtbl vtbl_identify_sjis_mac = { mbfl_no_encoding_sjis_mac, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis + mbfl_filt_ident_sjis_mac }; const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { @@ -692,3 +694,66 @@ mbfl_filt_conv_sjis_mac_flush(mbfl_convert_filter *filter) return 0; } + +/* MacJapanese doesn't use all the 2-byte sequences which would otherwise be legal; + * many are not mapped to any character */ +static int in_reserved_range(unsigned char byte1, unsigned char byte2) +{ + if (byte1 == 0x81) { + return (byte2 >= 0xAD && byte2 <= 0xB7) || (byte2 >= 0xC0 && byte2 <= 0xC7) || (byte2 >= 0xCF && byte2 <= 0xD9) || (byte2 >= 0xE9 && byte2 <= 0xEF) || (byte2 >= 0xF8 && byte2 <= 0xFB); + } else if (byte1 == 0x82) { + return byte2 <= 0x4E || (byte2 >= 0x59 && byte2 <= 0x5F) || (byte2 >= 0x7A && byte2 <= 0x80) || (byte2 >= 0x9B && byte2 <= 0x9E) || byte2 >= 0xF2; + } else if (byte1 == 0x83) { + return (byte2 >= 0x97 && byte2 <= 0x9E) || (byte2 >= 0xB7 && byte2 <= 0xBE) || byte2 >= 0xD7; + } else if (byte1 == 0x84) { + return (byte2 >= 0x61 && byte2 <= 0x6F) || byte2 == 0x7F || (byte2 >= 0x92 && byte2 <= 0x9E) || byte2 >= 0xBF; + } else if (byte1 == 0x85) { + return (byte2 >= 0x54 && byte2 <= 0x5D) || (byte2 >= 0x72 && byte2 <= 0x7B) || (byte2 >= 0x86 && byte2 <= 0x90) || (byte2 >= 0x9B && byte2 <= 0x9E) || (byte2 >= 0xAE && byte2 <= 0xB2) || (byte2 >= 0xC2 && byte2 <= 0xDA) || byte2 >= 0xF5; + } else if (byte1 == 0x86) { + return (byte2 >= 0x5E && byte2 <= 0x9A) || (byte2 >= 0xA7 && byte2 <= 0xB2) || (byte2 >= 0xB6 && byte2 <= 0xC6) || byte2 >= 0xD7; + } else if (byte1 == 0x87) { + return (byte2 >= 0x59 && byte2 <= 0x90) || (byte2 >= 0xB6 && byte2 <= 0xBC) || (byte2 >= 0xC2 && byte2 <= 0xE4) || (byte2 >= 0xE9 && byte2 <= 0xF9); + } else if (byte1 == 0x88) { + return (byte2 >= 0x43 && byte2 <= 0x53) || (byte2 >= 0x56 && byte2 <= 0x67) || byte2 == 0x69 || (byte2 >= 0x6E && byte2 <= 0x9E); + } else if (byte1 == 0x98) { + return (byte2 >= 0x73 && byte2 <= 0x9E); + } else if (byte1 == 0xEA) { + return byte2 >= 0xA5; + } else if (byte1 == 0xEB) { + return byte2 == 0x40 || (byte2 >= 0x43 && byte2 <= 0x4F) || (byte2 >= 0x52 && byte2 <= 0x5A) || byte2 == 0x5E || byte2 == 0x5F || (byte2 >= 0x65 && byte2 <= 0x68) || (byte2 >= 0x7B && byte2 <= 0x80) || byte2 >= 0x82; + } else if (byte1 == 0xEC) { + return byte2 != 0x9F && byte2 != 0xA1 && byte2 != 0xA3 && byte2 != 0xA5 && byte2 != 0xA7 && byte2 != 0xC1 && + byte2 != 0xE1 && byte2 != 0xE3 && byte2 != 0xE5 && byte2 != 0xEC; + } else if (byte1 == 0xED) { + return byte2 != 0x40 && byte2 != 0x42 && byte2 != 0x44 && byte2 != 0x46 && byte2 != 0x48 && byte2 != 0x62 && + byte2 != 0x83 && byte2 != 0x85 && byte2 != 0x87 && byte2 != 0x8E && byte2 != 0x95 && byte2 != 0x96; + } else { + return 0; + } +} + +static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter) +{ + if (filter->status) { /* Kanji, second byte */ + if (c < 0x40 || c > 0xfc || c == 0x7f || in_reserved_range(filter->status, c)) { + filter->flag = 1; + } + filter->status = 0; + } else if (c >= 0 && c <= 0x80) { + /* ASCII characters are OK, and Apple added REVERSE SOLIDUS at 0x80 */ + ; + } else if (c >= 0xA0 && c < 0xE0) { + /* Halfwidth kana are OK, and Apple added NO-BREAK SPACE at 0xA0 */ + ; + } else if (c >= 0xFD) { + /* Apple also added COPYRIGHT SIGN, TRADEMARK SIGN, and HALFWIDTH HORIZONTAL + * ELLIPSIS at 0xFD-0xFF */ + ; + } else if (c >= 0x81 && c <= 0xED) { /* Kanji, first byte */ + filter->status = c; + } else { + filter->flag = 1; + } + + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h index f4b2adfeac4fe..31511088d6953 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h @@ -33,7 +33,6 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_sjis_mac; - extern const struct mbfl_identify_vtbl vtbl_identify_sjis_mac; extern const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 6c0f827de2b8c..95360af46068c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -46,6 +46,7 @@ #include "filters/mbfilter_sjis_open.h" #include "filters/mbfilter_sjis_mobile.h" #include "filters/mbfilter_sjis_2004.h" +#include "filters/mbfilter_sjis_mac.h" #include "filters/mbfilter_jis.h" #include "filters/mbfilter_iso2022_jp_ms.h" #include "filters/mbfilter_iso2022jp_2004.h" @@ -174,6 +175,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_utf32be, &vtbl_identify_utf32le, &vtbl_identify_sjis2004, + &vtbl_identify_sjis_mac, &vtbl_identify_false, NULL }; From 55dcf81c3bf4d9834b58eebad3f06d518f8359b6 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 9 Sep 2020 21:18:54 +0200 Subject: [PATCH 008/123] SJIS-mac encoding conversion: handle invalid (or truncated) 2nd byte for Kanji correctly Also, don't accept 1st bytes above 0xED, since none of the possible 2-byte sequences starting with 0xEE and above are actually mapped to any character. --- .../libmbfl/filters/mbfilter_sjis_mac.c | 29 ++++++++++++++----- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index fa2cc1fc83aeb..9766a883fcbb5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -40,7 +40,8 @@ extern const unsigned char mblen_table_sjis[]; static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); -static int mbfl_filt_conv_sjis_mac_flush(mbfl_convert_filter *filter); +static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); +static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_sjis_mac_aliases[] = {"MacJapanese", "x-Mac-Japanese", NULL}; @@ -67,7 +68,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mac_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_sjis_mac_wchar_flush, NULL, }; @@ -77,7 +78,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_mac, - mbfl_filt_conv_sjis_mac_flush, + mbfl_filt_conv_wchar_sjis_mac_flush, NULL, }; @@ -141,7 +142,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(c, filter->data)); } else if (c > 0xa0 && c < 0xe0) { /* kana */ CK((*filter->output_function)(0xfec0 + c, filter->data)); - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ + } else if (c > 0x80 && c <= 0xed && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else if (c == 0x5c) { @@ -225,6 +226,13 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) for (i=0; i<8; i++) { if (s >= code_ofst_tbl[i][0] && s <= code_ofst_tbl[i][1]) { w = code_map[i][s - code_ofst_tbl[i][0]]; + if (w == 0) { + w = (c1 << 8) | c; + w &= MBFL_WCSGROUP_MASK; + w |= MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(w, filter->data)); + return c; + } s2 = 0; if (s >= 0x043e && s <= 0x0441) { s2 = 0xf87a; @@ -256,8 +264,6 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_WINCP932; } CK((*filter->output_function)(w, filter->data)); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; @@ -274,6 +280,15 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) return c; } +static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status == 1) { + int w = (filter->cache & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(w, filter->data)); + } + return 0; +} + /* * wchar => SJIS-mac */ @@ -669,7 +684,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } static int -mbfl_filt_conv_sjis_mac_flush(mbfl_convert_filter *filter) +mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) { int i, c1, s1 = 0; if (filter->status == 1 && filter->cache > 0) { From 4feb701fc123aaad3fa0af94a0c46d0110692f08 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 19 Sep 2020 14:27:14 +0200 Subject: [PATCH 009/123] Convert Unicode halfwidth Yen sign to MacJapanese halfwidth Yen sign Since 1993, Unicode has had a specific codepoint for a fullwidth Yen sign. Likewise, MacJapanese has separate kuten codes for halfwidth and fullwidth Yen signs. But (shockingly), mbstring mapped _both_ Yen sign codepoints to the MacJapanese fullwidth Yen sign. It's probably more appropriate to map the 'ordinary' Yen sign to the MacJapanese halfwidth Yen sign. Besides, this means that the conversion between Unicode and MacJapanese is closer to being lossless and reversible. --- ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 9766a883fcbb5..6880ed4ff303d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -437,8 +437,10 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) s1 |= 0x8080; } else if (c == 0xa0) { s1 = 0x00a0; - } else if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ + } else if (c == 0xa5) { /* YEN SIGN */ + /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; + * convert codepoint 0xA5 to halfwidth Yen sign */ + s1 = 0x5c; /* HALFWIDTH YEN SIGN */ } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; } From 6cd472a0962f8f8970b59ef80d485686bc3306f9 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 19 Sep 2020 15:16:51 +0200 Subject: [PATCH 010/123] SJIS-mac encoding conversion: Stop the carnage of innocent Unicode codepoints When converting Unicode to MacJapanese, some special sequences of Unicode codepoints are collapsed into a single SJIS character. When the implementation sees a codepoint which *might* begin such a sequence, it is cached and examined again after the next codepoint arrives. If it turns out that it wasn't one of the 'special' sequences, then a 'fallback' conversion table is consulted to convert the cached codepoint. Then we re-enter the regular conversion code to convert the immediately following codepoint. BUT, local variables need to be reinitialized properly when doing this! Because the locals weren't reinitialized, the sad result was that some codepoints would get chopped up into bit salad and emitted as something totally bogus (which might not even be valid SJIS-mac text at all). --- ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 6880ed4ff303d..9a4be0f87a2c9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -384,6 +384,7 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (s2 <= 0 || s1 == -1) { break; } + s1 = s2 = 0; case 0: From 0a6e5681ae83cf84364e0f3f5b0982e0f6cd3ad6 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 9 Sep 2020 20:02:46 +0200 Subject: [PATCH 011/123] Add test suite for SJIS-mac encoding --- ext/mbstring/docs/MacJapanese-SJIS.txt | 7728 ++++++++++++++++++++++ ext/mbstring/tests/sjismac_encoding.phpt | 64 + 2 files changed, 7792 insertions(+) create mode 100644 ext/mbstring/docs/MacJapanese-SJIS.txt create mode 100644 ext/mbstring/tests/sjismac_encoding.phpt diff --git a/ext/mbstring/docs/MacJapanese-SJIS.txt b/ext/mbstring/docs/MacJapanese-SJIS.txt new file mode 100644 index 0000000000000..a604c019aae31 --- /dev/null +++ b/ext/mbstring/docs/MacJapanese-SJIS.txt @@ -0,0 +1,7728 @@ +#======================================================================= +# File name: JAPANESE.TXT +# +# Contents: Map (external version) from Mac OS Japanese +# encoding to Unicode 2.1 and later. +# +# Copyright: (c) 1994-2002, 2005 by Apple Computer, Inc., all rights +# reserved. +# +# Contact: charsets@apple.com +# +# Changes: +# +# c02 2005-Apr-05 Update header comments. Matches internal xml +# and Text Encoding Converter 2.0. +# b4,c1 2002-Dec-19 Update URLs. Matches internal utom. +# b03 1999-Sep-22 Change mappings for 0xFF, 0x8150, 0x8163, +# 0xEB50, and 0xEB63 to reduce problems in +# interconversion with CP 932. Update contact +# e-mail address. Matches internal utom, +# ufrm, and Text Encoding Converter +# version 1.5. +# b02 1998-Aug-18 Update the mappings for Mac OS Japanese +# 0x8650 and 0x8855. Update the description of +# the PostScript screen variant. Matches +# internal utom, ufrm. +# n06 1998-Feb-05 Update to match internal utom, ufrm +# and Text Encoding Converter version 1.3: +# Use standard Unicodes plus transcoding hints +# instead of single corporate characters; see +# details below. Also reorder into single list +# with all one-byte characters at the +# beginning, and rewrite all the initial +# comments. +# n03 1995-Apr-15 Matches internal ufrm. +# +# Standard header: +# ---------------- +# +# Apple, the Apple logo, and Macintosh are trademarks of Apple +# Computer, Inc., registered in the United States and other countries. +# Unicode is a trademark of Unicode Inc. For the sake of brevity, +# throughout this document, "Macintosh" can be used to refer to +# Macintosh computers and "Unicode" can be used to refer to the +# Unicode standard. +# +# Apple Computer, Inc. ("Apple") makes no warranty or representation, +# either express or implied, with respect to this document and the +# included data, its quality, accuracy, or fitness for a particular +# purpose. In no event will Apple be liable for direct, indirect, +# special, incidental, or consequential damages resulting from any +# defect or inaccuracy in this document or the included data. +# +# These mapping tables and character lists are subject to change. +# The latest tables should be available from the following: +# +# +# +# For general information about Mac OS encodings and these mapping +# tables, see the file "README.TXT". +# +# Format: +# ------- +# +# Three tab-separated columns; +# '#' begins a comment which continues to the end of the line. +# Column #1 is the Mac OS Japanese code (in hex as 0xNN or 0xNNNN) +# Column #2 is the corresponding Unicode or Unicode sequence (in +# hex as 0xNNNN, 0xNNNN+0xNNNN, etc.). Sequences of up to 5 +# Unicode characters are used here. +# Column #3 is a comment containing the Unicode name. +# In some cases an additional comment follows the Unicode name. +# +# The entries are in Mac OS Japanese code order. +# All one-byte characters are at the beginning. +# +# Some of these mappings require the use of corporate characters. +# See the file "CORPCHAR.TXT" and notes below. +# +# Control character mappings are not shown in this table, following +# the conventions of the standard UTC mapping tables. However, the +# Mac OS Japanese encoding uses the standard control characters at +# 0x00-0x1F and 0x7F. +# +# Notes on Mac OS Japanese: +# ------------------------- +# +# This is a legacy Mac OS encoding; in the Mac OS X Carbon and Cocoa +# environments, it is only supported directly in programming +# interfaces for QuickDraw Text, the Script Manager, and related +# Text Utilities. For other purposes it is supported via transcoding +# to and from Unicode. +# +# This table covers the standard Mac OS Japanese encoding used +# in Mac OS versions 7.1 and later. The Mac OS Japanese encoding is +# based on Shift-JIS, but adds another 300 or so characters using +# code points that are unassigned in Shift-JIS. Certain Mac OS +# Japanese fonts are based on a modified version of the Mac OS +# Japanese encoding; see below. +# +# Some of the information below comes from Ken Lunde's book +# "Understanding Japanese Information Processing", O'Reilly & Assoc., +# 1993. +# +# 1. Conventional Shift-JIS +# +# Most Shift-JIS implementations include the following characters: +# +# a) One-byte characters from JIS X0201-1976. This has two parts: +# +# - JIS-Roman, the Japanese national variant of ISO 646 (the +# international version of ASCII). This is identical to ASCII +# except that 0x5C is YEN SIGN instead of REVERSE SOLIDUS, +# 0x7E is OVERLINE instead of TILDE, and usually 0x7C is +# BROKEN BAR instead of VERTICAL LINE (although this last +# difference is sometimes seen as just a glyph variant). +# +# - "Halfwidth" katakana and punctuation characters with codes +# 0xA1-0xDF. +# +# c) Two-byte characters with first/lead/high byte in the range +# 0x81-0x9F or 0xE0-0xFC, and second/trail/low byte in the +# range 0x40-0x7E or 0x80-0xFC. The first byte range was chosen +# to avoid any JIS X0201 characters. The two-byte characters +# include: +# +# - Characters from JIS X0208-1990, transformed so they map +# onto Shift-JIS code points 0x8140-0xEFFC. The original JIS +# X0208 characters have code points in the range 0x2121 to +# 0x7E7E (corresponding to "ku-ten" codes in the range 1,1 to +# 94,94 - i.e. row and column on a JIS X0208 chart). +# +# - A user-defined range using Shift-JIS code points +# 0xF040-0xFCFC, providing 2444 code points. +# +# Note: PostScript fonts are based on JIS X0208-1983 (formerly +# known as JIS C6226-1983). This earlier version of JIS X0208 +# lacks two Kanji characters that were added for JIS X0208-1990; +# these have Shift-JIS codes xEAA3 and 0xEAA4. +# +# 2. Mac OS Japanese changes and additions +# +# a) One-byte changes and additions +# +# - Changes to JIS-Roman: In Mac OS Japanese, 0x7C and 0x7E +# are assigned as in ASCII, not as in JIS-Roman: +# 0x7C VERTICAL LINE (can be considered a glyph difference) +# 0x7E TILDE +# +# - Additional one-byte characters: basic Shift-JIS leaves +# five one-byte code points unassigned. Mac OS Japanese assigns +# these as follows: +# 0x80 REVERSE SOLIDUS (the character at 0x5C in ASCII) +# 0xA0 NO-BREAK SPACE ("halfwidth"; common Shift-JIS addition) +# 0xFD COPYRIGHT SIGN +# 0xFE TRADE MARK SIGN +# 0xFF halfwidth horizontal ellipsis +# +# b) Two-byte additions +# +# Many JIS X0208 code points are unassigned; these correspond to +# many unassigned code points in Shift-JIS. Many implementations +# of Shift-JIS, including Mac OS Japanese, add characters using +# these code points. The standard Mac OS Japanese additions are: +# +# - 260 symbols and dingbat-like number and letter forms using +# Shift-JIS codes in the range 0x8540-0x886D. These include +# circled and parenthesized numbers and letters, square katakana +# and Kanji forms, etc. +# +# - 53 vertical forms for hiragana, katakana, and punctuation, +# using Shift-JIS codes in the range 0xEB41-0xED96. These are +# so-called "ku+84" vertical forms, since their ku-ten code is +# derived from that of the corresponding abstract or horizontal +# form character by adding 84 to the ku (row) number. +# +# Most of these additional characters are found in other vendor +# implementations of Shift-JIS, although often with different +# code points, and so most of these characters are also found +# in Unicode. However, some of these additional characters do +# not correspond to any standard single Unicode character. +# +# 3. Mac OS Japanese font variants +# +# Some fonts used with Mac OS Japanese implement variants of the +# encoding described above. +# +# a) Basic variant +# +# This is used with the fonts TohabaGothic and TohabaMincho. This +# variant has none of the two-byte additions described in section 2b +# above, but it does have all the one-byte changes and additions +# described in section 2a. +# +# These fonts also lack glyphs for the Kanji characters at 0xEAA3 +# and 0xEAA4. +# +# b) PostScript screen variant +# +# This is used with the screen fonts ChuGothic and SaiMincho. This +# variant does not have the Apple 260 symbols and dingbat-like +# additions in the range 0x8540-0x886D; instead it has a different +# set of about 160 symbols and dingbat-like additions in the range +# 0x86A2-0x879C. Like the standard variant, it does have the ku+84 +# vertical forms in the range 0xEB41-0xED96; it also has additional +# vertical forms in the ranges 0xEE5F-0xEE6E and 0xEE80-0xEE81 +# (although many fonts do not have glyphs for these additional +# vertical forms). This variant also has the one-byte changes at +# 0x7C and 0x7E and the additions at 0x80 and 0xA0, but these fonts +# lack glyphs for the one-byte additions at 0xFD-0xFF. These fonts +# also lack glyphs for the Kanji characters at 0xEAA3 and 0xEAA4. +# +# c) PostScript printer variant +# +# When the screen fonts ChuGothic and SaiMincho are printed on +# certain printers such as Apple's LaserWriter NTX-J, the printer +# will use a built-in font that is supposed to match the screen font. +# In fact, the printer fonts implement a superset of the screen +# variant described above; the PostScript printer variant adds a +# set of about 440 additional characters in the range 0x8540-0x879C. +# This is a different set of additions than the 260 in standard +# Mac OS Japanese, and is similar to the "NEC" additions found in +# some other implementations. It includes circled and parenthesized +# numbers and letters and square katakana, as well as many two-byte +# "halfwidth" forms for Latin, katakana, punctuation, and box +# drawing characters. It also includes several duplicates of +# standard JIS X0208 characters. +# +# d) Old ku+10 verticals variant +# +# This is used with certain old versions of the fonts MaruGothic and +# HonMincho - only the versions of those fonts used in the Japanese +# localized versions of System 7.1. +# +# This variant has none of the two-byte additions described in +# section 2b above. Instead, it has a set of "ku+10" vertical forms +# for hiragana, katakana, and punctuation, using Shift-JIS codes in +# the range 0x8641-0x8896. +# +# Unicode mapping issues and notes: +# --------------------------------- +# +# 1. Mapping the user-defined range +# +# The table below covers only the standard Mac OS Japanese encoding. +# It does not include mappings for the Shift-JIS user-defined range; +# this is mapped onto Unicodes 0xE000-0xE98B as follows: +# 0xF040-0xF07E -> 0xE000-0xE03E +# 0xF080-0xF0FC -> 0xE03F-0xE0BB +# 0xF140-0xF17E -> 0xE0BC-0xE0FA +# 0xF180-0xF1FC -> 0xE0FB-0xE177 +# ... +# 0xFC40-0xFC7E -> 0xE8D0-0xE90E +# 0xFC80-0xFCFC -> 0xE90F-0xE98B +# +# 2. Mapping the Apple two-byte additions +# +# The goals in the mappings provided here are: +# - Ensure roundtrip mapping from every character in Mac OS Japanese +# to Unicode and back +# - Use standard Unicode characters as much as possible, to maximize +# interchangeability of the resulting Unicode text. Whenever possible, +# avoid having content carried by private-use characters. +# +# Since not all of the Mac OS Japanese characters correspond to +# distinct, single Unicode characters, we employ various strategies. +# +# a) Map a single Mac OS Japanese character to a sequence of Unicode +# characters +# +# For example, the character 0x8791 in the Apple extensions is a +# circled Kanji for "big". There is no single Unicode character for +# this. However, this can be mapped to the Unicode sequence +# 0x5927+0x20DD, ideograph "big" + COMBINING ENCLOSING CIRCLE. +# +# b) Use private use characters to mark variants or groupings that +# are similar to a sequence of one or more standard Unicode +# characters. +# +# Apple has defined a block of 32 corporate characters as "transcoding +# hints." These are used in combination with standard Unicode characters +# to force them to be treated in a special way for mapping to other +# encodings; they have no other effect. Sixteen of these transcoding +# hints are "grouping hints" - they indicate that the next 2-4 Unicode +# characters should be treated as a single entity for transcoding. The +# other sixteen transcoding hints are "variant tags" - they are like +# combining characters, and can follow a standard Unicode (or a sequence +# consisting of a base character and other combining characters) to +# cause it to be treated in a special way for transcoding. These always +# terminate a combining-character sequence. +# +# The transcoding coding hints used in this mapping table are: +# +# 0xF860 group next 2 characters as a single entity for transcoding +# 0xF861 group next 3 characters as a single entity for transcoding +# 0xF862 group next 4 characters as a single entity for transcoding +# 0xF87A variant tag for "negative" (i.e. black & white reversed) +# 0xF87E variant tag for vertical form +# 0xF87F variant tag for other alternate form +# +# For example, the Apple addition character 0x85AB is Roman numeral +# thirteen. There is no single Unicode for this (although there are +# standard Unicodes for Roman numerals 1-12). Using the grouping hint +# 0xF862 in combination with standard Unicodes, we can map this as +# 0xF862+0x0058+0x0049+0x0049+0x0049 (i.e. X + I + I + I). +# +# 3. Mapping the basic Shift-JIS characters and Apple one-byte additions +# +# The mappings for basic Shift-JIS are based on the UTC mappings for +# Shift-JIS dated 8 March 1994, by Glenn Adams and John H. Jenkins. +# +# There were adjusted as necessary to accommodate the Apple one-byte +# changes and additions. They were also adjusted to accommodate some +# changes to the UTC mapping suggested by the Japanese Standards +# Association. +# +# code UTC Apple reason +# point mapping mapping for change +# ----- ------- ------- ---------- +# 0x7E 0x203E 0x007E Mac OS Japanese has TILDE here, not +# OVERLINE +# 0x815C 0x2015 0x2014 Suggested by JSA +# 0x815F 0x005C 0xFF3C Avoid conflict with Apple one-byte +# addition 0x80, which maps to 0x005C. +# (CP 932 also maps 0x815F to 0xFF3C). +# +# Details of mapping changes in each version: +# ------------------------------------------- +# +# Changes from version b02 to version b03: +# +# - Change the mapping for 0x8150 from 0x203E to 0xFFE3; change the +# mapping of the corresponding vertical form 0xEB50 from +# 0x203E+0xF87E to 0xFFE3+0xF87E. Change the mapping of 0x8163 from +# 0x22EF to 0x2026; change the mapping of the corresponding vertical +# form 0xEB63 from 0x22EF+0xF87E to 0x2026+0xF87E. These changes +# reduce problems in interconversion with CP 932. +# - Consequently, change the mapping of 0xFF from 0x2026 to +# 0x2026+0xF87F to avoid conflict with the new mapping of 0x8163. +# +# Changes from version n06 to version b02: +# +# - Change the mapping for 0x8650 from 0xFF4C+0xF87F to 0x2113; change +# the mapping for 0x8855 from 0x301E to 0x301F. Update the description +# of the PostScript screen variant to include the 160 characters in the +# range 0x86A2-0x879C. +# +# Changes from version n03 to version n06: +# +# - Changed mappings of several Apple additions from single corporate +# character to standard Unicodes + transcoding hint: +# 0x8591, 0x85AB-AD, 0x85BF-C1, 0x8645, 0x864B, 0x8650, 0x865D, 0x869E, +# 0x86CE, 0x86D3-D6, 0x87FB-FC. +# - Changed mapping of one Apple addition from single corporate character +# to standard Unicode: 0x8855. +# - Changed mappings of several Apple vertical forms additions from +# single corporate character to standard Unicodes + transcoding hint: +# 0xEB41-42, 0xEB50, 0xEB5B, 0xEB5D, 0xEB60-63, 0xEB6D-6E, 0xEB81, +# plus all vertical forms in the range 0xEC9F-ED96. +# +################## + +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x00A5 # YEN SIGN +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x007E # TILDE # Apple change from standard Shift-JIS +# +0x80 0x005C # REVERSE SOLIDUS # Apple addition; changes mapping of 0x815F +# +0xA0 0x00A0 # NO-BREAK SPACE # Apple addition +0xA1 0xFF61 # HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 0xFF62 # HALFWIDTH LEFT CORNER BRACKET +0xA3 0xFF63 # HALFWIDTH RIGHT CORNER BRACKET +0xA4 0xFF64 # HALFWIDTH IDEOGRAPHIC COMMA +0xA5 0xFF65 # HALFWIDTH KATAKANA MIDDLE DOT +0xA6 0xFF66 # HALFWIDTH KATAKANA LETTER WO +0xA7 0xFF67 # HALFWIDTH KATAKANA LETTER SMALL A +0xA8 0xFF68 # HALFWIDTH KATAKANA LETTER SMALL I +0xA9 0xFF69 # HALFWIDTH KATAKANA LETTER SMALL U +0xAA 0xFF6A # HALFWIDTH KATAKANA LETTER SMALL E +0xAB 0xFF6B # HALFWIDTH KATAKANA LETTER SMALL O +0xAC 0xFF6C # HALFWIDTH KATAKANA LETTER SMALL YA +0xAD 0xFF6D # HALFWIDTH KATAKANA LETTER SMALL YU +0xAE 0xFF6E # HALFWIDTH KATAKANA LETTER SMALL YO +0xAF 0xFF6F # HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 0xFF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 0xFF71 # HALFWIDTH KATAKANA LETTER A +0xB2 0xFF72 # HALFWIDTH KATAKANA LETTER I +0xB3 0xFF73 # HALFWIDTH KATAKANA LETTER U +0xB4 0xFF74 # HALFWIDTH KATAKANA LETTER E +0xB5 0xFF75 # HALFWIDTH KATAKANA LETTER O +0xB6 0xFF76 # HALFWIDTH KATAKANA LETTER KA +0xB7 0xFF77 # HALFWIDTH KATAKANA LETTER KI +0xB8 0xFF78 # HALFWIDTH KATAKANA LETTER KU +0xB9 0xFF79 # HALFWIDTH KATAKANA LETTER KE +0xBA 0xFF7A # HALFWIDTH KATAKANA LETTER KO +0xBB 0xFF7B # HALFWIDTH KATAKANA LETTER SA +0xBC 0xFF7C # HALFWIDTH KATAKANA LETTER SI +0xBD 0xFF7D # HALFWIDTH KATAKANA LETTER SU +0xBE 0xFF7E # HALFWIDTH KATAKANA LETTER SE +0xBF 0xFF7F # HALFWIDTH KATAKANA LETTER SO +0xC0 0xFF80 # HALFWIDTH KATAKANA LETTER TA +0xC1 0xFF81 # HALFWIDTH KATAKANA LETTER TI +0xC2 0xFF82 # HALFWIDTH KATAKANA LETTER TU +0xC3 0xFF83 # HALFWIDTH KATAKANA LETTER TE +0xC4 0xFF84 # HALFWIDTH KATAKANA LETTER TO +0xC5 0xFF85 # HALFWIDTH KATAKANA LETTER NA +0xC6 0xFF86 # HALFWIDTH KATAKANA LETTER NI +0xC7 0xFF87 # HALFWIDTH KATAKANA LETTER NU +0xC8 0xFF88 # HALFWIDTH KATAKANA LETTER NE +0xC9 0xFF89 # HALFWIDTH KATAKANA LETTER NO +0xCA 0xFF8A # HALFWIDTH KATAKANA LETTER HA +0xCB 0xFF8B # HALFWIDTH KATAKANA LETTER HI +0xCC 0xFF8C # HALFWIDTH KATAKANA LETTER HU +0xCD 0xFF8D # HALFWIDTH KATAKANA LETTER HE +0xCE 0xFF8E # HALFWIDTH KATAKANA LETTER HO +0xCF 0xFF8F # HALFWIDTH KATAKANA LETTER MA +0xD0 0xFF90 # HALFWIDTH KATAKANA LETTER MI +0xD1 0xFF91 # HALFWIDTH KATAKANA LETTER MU +0xD2 0xFF92 # HALFWIDTH KATAKANA LETTER ME +0xD3 0xFF93 # HALFWIDTH KATAKANA LETTER MO +0xD4 0xFF94 # HALFWIDTH KATAKANA LETTER YA +0xD5 0xFF95 # HALFWIDTH KATAKANA LETTER YU +0xD6 0xFF96 # HALFWIDTH KATAKANA LETTER YO +0xD7 0xFF97 # HALFWIDTH KATAKANA LETTER RA +0xD8 0xFF98 # HALFWIDTH KATAKANA LETTER RI +0xD9 0xFF99 # HALFWIDTH KATAKANA LETTER RU +0xDA 0xFF9A # HALFWIDTH KATAKANA LETTER RE +0xDB 0xFF9B # HALFWIDTH KATAKANA LETTER RO +0xDC 0xFF9C # HALFWIDTH KATAKANA LETTER WA +0xDD 0xFF9D # HALFWIDTH KATAKANA LETTER N +0xDE 0xFF9E # HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF 0xFF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +# +0xFD 0x00A9 # COPYRIGHT SIGN # Apple addition +0xFE 0x2122 # TRADE MARK SIGN # Apple addition +0xFF 0x2026+0xF87F # halfwidth horizontal ellipsis # Apple addition +# +0x8140 0x3000 # IDEOGRAPHIC SPACE +0x8141 0x3001 # IDEOGRAPHIC COMMA +0x8142 0x3002 # IDEOGRAPHIC FULL STOP +0x8143 0xFF0C # FULLWIDTH COMMA +0x8144 0xFF0E # FULLWIDTH FULL STOP +0x8145 0x30FB # KATAKANA MIDDLE DOT +0x8146 0xFF1A # FULLWIDTH COLON +0x8147 0xFF1B # FULLWIDTH SEMICOLON +0x8148 0xFF1F # FULLWIDTH QUESTION MARK +0x8149 0xFF01 # FULLWIDTH EXCLAMATION MARK +0x814A 0x309B # KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B 0x309C # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C 0x00B4 # ACUTE ACCENT +0x814D 0xFF40 # FULLWIDTH GRAVE ACCENT +0x814E 0x00A8 # DIAERESIS +0x814F 0xFF3E # FULLWIDTH CIRCUMFLEX ACCENT +0x8150 0xFFE3 # FULLWIDTH MACRON +0x8151 0xFF3F # FULLWIDTH LOW LINE +0x8152 0x30FD # KATAKANA ITERATION MARK +0x8153 0x30FE # KATAKANA VOICED ITERATION MARK +0x8154 0x309D # HIRAGANA ITERATION MARK +0x8155 0x309E # HIRAGANA VOICED ITERATION MARK +0x8156 0x3003 # DITTO MARK +0x8157 0x4EDD # +0x8158 0x3005 # IDEOGRAPHIC ITERATION MARK +0x8159 0x3006 # IDEOGRAPHIC CLOSING MARK +0x815A 0x3007 # IDEOGRAPHIC NUMBER ZERO +0x815B 0x30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C 0x2014 # EM DASH # change UTC mapping to match JIS spec +0x815D 0x2010 # HYPHEN +0x815E 0xFF0F # FULLWIDTH SOLIDUS +0x815F 0xFF3C # FULLWIDTH REVERSE SOLIDUS # change UTC mapping to separate from 0x80 +0x8160 0x301C # WAVE DASH +0x8161 0x2016 # DOUBLE VERTICAL LINE +0x8162 0xFF5C # FULLWIDTH VERTICAL LINE +0x8163 0x2026 # HORIZONTAL ELLIPSIS +0x8164 0x2025 # TWO DOT LEADER +0x8165 0x2018 # LEFT SINGLE QUOTATION MARK +0x8166 0x2019 # RIGHT SINGLE QUOTATION MARK +0x8167 0x201C # LEFT DOUBLE QUOTATION MARK +0x8168 0x201D # RIGHT DOUBLE QUOTATION MARK +0x8169 0xFF08 # FULLWIDTH LEFT PARENTHESIS +0x816A 0xFF09 # FULLWIDTH RIGHT PARENTHESIS +0x816B 0x3014 # LEFT TORTOISE SHELL BRACKET +0x816C 0x3015 # RIGHT TORTOISE SHELL BRACKET +0x816D 0xFF3B # FULLWIDTH LEFT SQUARE BRACKET +0x816E 0xFF3D # FULLWIDTH RIGHT SQUARE BRACKET +0x816F 0xFF5B # FULLWIDTH LEFT CURLY BRACKET +0x8170 0xFF5D # FULLWIDTH RIGHT CURLY BRACKET +0x8171 0x3008 # LEFT ANGLE BRACKET +0x8172 0x3009 # RIGHT ANGLE BRACKET +0x8173 0x300A # LEFT DOUBLE ANGLE BRACKET +0x8174 0x300B # RIGHT DOUBLE ANGLE BRACKET +0x8175 0x300C # LEFT CORNER BRACKET +0x8176 0x300D # RIGHT CORNER BRACKET +0x8177 0x300E # LEFT WHITE CORNER BRACKET +0x8178 0x300F # RIGHT WHITE CORNER BRACKET +0x8179 0x3010 # LEFT BLACK LENTICULAR BRACKET +0x817A 0x3011 # RIGHT BLACK LENTICULAR BRACKET +0x817B 0xFF0B # FULLWIDTH PLUS SIGN +0x817C 0x2212 # MINUS SIGN +0x817D 0x00B1 # PLUS-MINUS SIGN +0x817E 0x00D7 # MULTIPLICATION SIGN +0x8180 0x00F7 # DIVISION SIGN +0x8181 0xFF1D # FULLWIDTH EQUALS SIGN +0x8182 0x2260 # NOT EQUAL TO +0x8183 0xFF1C # FULLWIDTH LESS-THAN SIGN +0x8184 0xFF1E # FULLWIDTH GREATER-THAN SIGN +0x8185 0x2266 # LESS-THAN OVER EQUAL TO +0x8186 0x2267 # GREATER-THAN OVER EQUAL TO +0x8187 0x221E # INFINITY +0x8188 0x2234 # THEREFORE +0x8189 0x2642 # MALE SIGN +0x818A 0x2640 # FEMALE SIGN +0x818B 0x00B0 # DEGREE SIGN +0x818C 0x2032 # PRIME +0x818D 0x2033 # DOUBLE PRIME +0x818E 0x2103 # DEGREE CELSIUS +0x818F 0xFFE5 # FULLWIDTH YEN SIGN +0x8190 0xFF04 # FULLWIDTH DOLLAR SIGN +0x8191 0x00A2 # CENT SIGN +0x8192 0x00A3 # POUND SIGN +0x8193 0xFF05 # FULLWIDTH PERCENT SIGN +0x8194 0xFF03 # FULLWIDTH NUMBER SIGN +0x8195 0xFF06 # FULLWIDTH AMPERSAND +0x8196 0xFF0A # FULLWIDTH ASTERISK +0x8197 0xFF20 # FULLWIDTH COMMERCIAL AT +0x8198 0x00A7 # SECTION SIGN +0x8199 0x2606 # WHITE STAR +0x819A 0x2605 # BLACK STAR +0x819B 0x25CB # WHITE CIRCLE +0x819C 0x25CF # BLACK CIRCLE +0x819D 0x25CE # BULLSEYE +0x819E 0x25C7 # WHITE DIAMOND +0x819F 0x25C6 # BLACK DIAMOND +0x81A0 0x25A1 # WHITE SQUARE +0x81A1 0x25A0 # BLACK SQUARE +0x81A2 0x25B3 # WHITE UP-POINTING TRIANGLE +0x81A3 0x25B2 # BLACK UP-POINTING TRIANGLE +0x81A4 0x25BD # WHITE DOWN-POINTING TRIANGLE +0x81A5 0x25BC # BLACK DOWN-POINTING TRIANGLE +0x81A6 0x203B # REFERENCE MARK +0x81A7 0x3012 # POSTAL MARK +0x81A8 0x2192 # RIGHTWARDS ARROW +0x81A9 0x2190 # LEFTWARDS ARROW +0x81AA 0x2191 # UPWARDS ARROW +0x81AB 0x2193 # DOWNWARDS ARROW +0x81AC 0x3013 # GETA MARK +0x81B8 0x2208 # ELEMENT OF +0x81B9 0x220B # CONTAINS AS MEMBER +0x81BA 0x2286 # SUBSET OF OR EQUAL TO +0x81BB 0x2287 # SUPERSET OF OR EQUAL TO +0x81BC 0x2282 # SUBSET OF +0x81BD 0x2283 # SUPERSET OF +0x81BE 0x222A # UNION +0x81BF 0x2229 # INTERSECTION +0x81C8 0x2227 # LOGICAL AND +0x81C9 0x2228 # LOGICAL OR +0x81CA 0x00AC # NOT SIGN +0x81CB 0x21D2 # RIGHTWARDS DOUBLE ARROW +0x81CC 0x21D4 # LEFT RIGHT DOUBLE ARROW +0x81CD 0x2200 # FOR ALL +0x81CE 0x2203 # THERE EXISTS +0x81DA 0x2220 # ANGLE +0x81DB 0x22A5 # UP TACK +0x81DC 0x2312 # ARC +0x81DD 0x2202 # PARTIAL DIFFERENTIAL +0x81DE 0x2207 # NABLA +0x81DF 0x2261 # IDENTICAL TO +0x81E0 0x2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x81E1 0x226A # MUCH LESS-THAN +0x81E2 0x226B # MUCH GREATER-THAN +0x81E3 0x221A # SQUARE ROOT +0x81E4 0x223D # REVERSED TILDE # This UTC mapping is questionable +0x81E5 0x221D # PROPORTIONAL TO +0x81E6 0x2235 # BECAUSE +0x81E7 0x222B # INTEGRAL +0x81E8 0x222C # DOUBLE INTEGRAL +0x81F0 0x212B # ANGSTROM SIGN +0x81F1 0x2030 # PER MILLE SIGN +0x81F2 0x266F # MUSIC SHARP SIGN +0x81F3 0x266D # MUSIC FLAT SIGN +0x81F4 0x266A # EIGHTH NOTE +0x81F5 0x2020 # DAGGER +0x81F6 0x2021 # DOUBLE DAGGER +0x81F7 0x00B6 # PILCROW SIGN +0x81FC 0x25EF # LARGE CIRCLE +0x824F 0xFF10 # FULLWIDTH DIGIT ZERO +0x8250 0xFF11 # FULLWIDTH DIGIT ONE +0x8251 0xFF12 # FULLWIDTH DIGIT TWO +0x8252 0xFF13 # FULLWIDTH DIGIT THREE +0x8253 0xFF14 # FULLWIDTH DIGIT FOUR +0x8254 0xFF15 # FULLWIDTH DIGIT FIVE +0x8255 0xFF16 # FULLWIDTH DIGIT SIX +0x8256 0xFF17 # FULLWIDTH DIGIT SEVEN +0x8257 0xFF18 # FULLWIDTH DIGIT EIGHT +0x8258 0xFF19 # FULLWIDTH DIGIT NINE +0x8260 0xFF21 # FULLWIDTH LATIN CAPITAL LETTER A +0x8261 0xFF22 # FULLWIDTH LATIN CAPITAL LETTER B +0x8262 0xFF23 # FULLWIDTH LATIN CAPITAL LETTER C +0x8263 0xFF24 # FULLWIDTH LATIN CAPITAL LETTER D +0x8264 0xFF25 # FULLWIDTH LATIN CAPITAL LETTER E +0x8265 0xFF26 # FULLWIDTH LATIN CAPITAL LETTER F +0x8266 0xFF27 # FULLWIDTH LATIN CAPITAL LETTER G +0x8267 0xFF28 # FULLWIDTH LATIN CAPITAL LETTER H +0x8268 0xFF29 # FULLWIDTH LATIN CAPITAL LETTER I +0x8269 0xFF2A # FULLWIDTH LATIN CAPITAL LETTER J +0x826A 0xFF2B # FULLWIDTH LATIN CAPITAL LETTER K +0x826B 0xFF2C # FULLWIDTH LATIN CAPITAL LETTER L +0x826C 0xFF2D # FULLWIDTH LATIN CAPITAL LETTER M +0x826D 0xFF2E # FULLWIDTH LATIN CAPITAL LETTER N +0x826E 0xFF2F # FULLWIDTH LATIN CAPITAL LETTER O +0x826F 0xFF30 # FULLWIDTH LATIN CAPITAL LETTER P +0x8270 0xFF31 # FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 0xFF32 # FULLWIDTH LATIN CAPITAL LETTER R +0x8272 0xFF33 # FULLWIDTH LATIN CAPITAL LETTER S +0x8273 0xFF34 # FULLWIDTH LATIN CAPITAL LETTER T +0x8274 0xFF35 # FULLWIDTH LATIN CAPITAL LETTER U +0x8275 0xFF36 # FULLWIDTH LATIN CAPITAL LETTER V +0x8276 0xFF37 # FULLWIDTH LATIN CAPITAL LETTER W +0x8277 0xFF38 # FULLWIDTH LATIN CAPITAL LETTER X +0x8278 0xFF39 # FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 0xFF3A # FULLWIDTH LATIN CAPITAL LETTER Z +0x8281 0xFF41 # FULLWIDTH LATIN SMALL LETTER A +0x8282 0xFF42 # FULLWIDTH LATIN SMALL LETTER B +0x8283 0xFF43 # FULLWIDTH LATIN SMALL LETTER C +0x8284 0xFF44 # FULLWIDTH LATIN SMALL LETTER D +0x8285 0xFF45 # FULLWIDTH LATIN SMALL LETTER E +0x8286 0xFF46 # FULLWIDTH LATIN SMALL LETTER F +0x8287 0xFF47 # FULLWIDTH LATIN SMALL LETTER G +0x8288 0xFF48 # FULLWIDTH LATIN SMALL LETTER H +0x8289 0xFF49 # FULLWIDTH LATIN SMALL LETTER I +0x828A 0xFF4A # FULLWIDTH LATIN SMALL LETTER J +0x828B 0xFF4B # FULLWIDTH LATIN SMALL LETTER K +0x828C 0xFF4C # FULLWIDTH LATIN SMALL LETTER L +0x828D 0xFF4D # FULLWIDTH LATIN SMALL LETTER M +0x828E 0xFF4E # FULLWIDTH LATIN SMALL LETTER N +0x828F 0xFF4F # FULLWIDTH LATIN SMALL LETTER O +0x8290 0xFF50 # FULLWIDTH LATIN SMALL LETTER P +0x8291 0xFF51 # FULLWIDTH LATIN SMALL LETTER Q +0x8292 0xFF52 # FULLWIDTH LATIN SMALL LETTER R +0x8293 0xFF53 # FULLWIDTH LATIN SMALL LETTER S +0x8294 0xFF54 # FULLWIDTH LATIN SMALL LETTER T +0x8295 0xFF55 # FULLWIDTH LATIN SMALL LETTER U +0x8296 0xFF56 # FULLWIDTH LATIN SMALL LETTER V +0x8297 0xFF57 # FULLWIDTH LATIN SMALL LETTER W +0x8298 0xFF58 # FULLWIDTH LATIN SMALL LETTER X +0x8299 0xFF59 # FULLWIDTH LATIN SMALL LETTER Y +0x829A 0xFF5A # FULLWIDTH LATIN SMALL LETTER Z +0x829F 0x3041 # HIRAGANA LETTER SMALL A +0x82A0 0x3042 # HIRAGANA LETTER A +0x82A1 0x3043 # HIRAGANA LETTER SMALL I +0x82A2 0x3044 # HIRAGANA LETTER I +0x82A3 0x3045 # HIRAGANA LETTER SMALL U +0x82A4 0x3046 # HIRAGANA LETTER U +0x82A5 0x3047 # HIRAGANA LETTER SMALL E +0x82A6 0x3048 # HIRAGANA LETTER E +0x82A7 0x3049 # HIRAGANA LETTER SMALL O +0x82A8 0x304A # HIRAGANA LETTER O +0x82A9 0x304B # HIRAGANA LETTER KA +0x82AA 0x304C # HIRAGANA LETTER GA +0x82AB 0x304D # HIRAGANA LETTER KI +0x82AC 0x304E # HIRAGANA LETTER GI +0x82AD 0x304F # HIRAGANA LETTER KU +0x82AE 0x3050 # HIRAGANA LETTER GU +0x82AF 0x3051 # HIRAGANA LETTER KE +0x82B0 0x3052 # HIRAGANA LETTER GE +0x82B1 0x3053 # HIRAGANA LETTER KO +0x82B2 0x3054 # HIRAGANA LETTER GO +0x82B3 0x3055 # HIRAGANA LETTER SA +0x82B4 0x3056 # HIRAGANA LETTER ZA +0x82B5 0x3057 # HIRAGANA LETTER SI +0x82B6 0x3058 # HIRAGANA LETTER ZI +0x82B7 0x3059 # HIRAGANA LETTER SU +0x82B8 0x305A # HIRAGANA LETTER ZU +0x82B9 0x305B # HIRAGANA LETTER SE +0x82BA 0x305C # HIRAGANA LETTER ZE +0x82BB 0x305D # HIRAGANA LETTER SO +0x82BC 0x305E # HIRAGANA LETTER ZO +0x82BD 0x305F # HIRAGANA LETTER TA +0x82BE 0x3060 # HIRAGANA LETTER DA +0x82BF 0x3061 # HIRAGANA LETTER TI +0x82C0 0x3062 # HIRAGANA LETTER DI +0x82C1 0x3063 # HIRAGANA LETTER SMALL TU +0x82C2 0x3064 # HIRAGANA LETTER TU +0x82C3 0x3065 # HIRAGANA LETTER DU +0x82C4 0x3066 # HIRAGANA LETTER TE +0x82C5 0x3067 # HIRAGANA LETTER DE +0x82C6 0x3068 # HIRAGANA LETTER TO +0x82C7 0x3069 # HIRAGANA LETTER DO +0x82C8 0x306A # HIRAGANA LETTER NA +0x82C9 0x306B # HIRAGANA LETTER NI +0x82CA 0x306C # HIRAGANA LETTER NU +0x82CB 0x306D # HIRAGANA LETTER NE +0x82CC 0x306E # HIRAGANA LETTER NO +0x82CD 0x306F # HIRAGANA LETTER HA +0x82CE 0x3070 # HIRAGANA LETTER BA +0x82CF 0x3071 # HIRAGANA LETTER PA +0x82D0 0x3072 # HIRAGANA LETTER HI +0x82D1 0x3073 # HIRAGANA LETTER BI +0x82D2 0x3074 # HIRAGANA LETTER PI +0x82D3 0x3075 # HIRAGANA LETTER HU +0x82D4 0x3076 # HIRAGANA LETTER BU +0x82D5 0x3077 # HIRAGANA LETTER PU +0x82D6 0x3078 # HIRAGANA LETTER HE +0x82D7 0x3079 # HIRAGANA LETTER BE +0x82D8 0x307A # HIRAGANA LETTER PE +0x82D9 0x307B # HIRAGANA LETTER HO +0x82DA 0x307C # HIRAGANA LETTER BO +0x82DB 0x307D # HIRAGANA LETTER PO +0x82DC 0x307E # HIRAGANA LETTER MA +0x82DD 0x307F # HIRAGANA LETTER MI +0x82DE 0x3080 # HIRAGANA LETTER MU +0x82DF 0x3081 # HIRAGANA LETTER ME +0x82E0 0x3082 # HIRAGANA LETTER MO +0x82E1 0x3083 # HIRAGANA LETTER SMALL YA +0x82E2 0x3084 # HIRAGANA LETTER YA +0x82E3 0x3085 # HIRAGANA LETTER SMALL YU +0x82E4 0x3086 # HIRAGANA LETTER YU +0x82E5 0x3087 # HIRAGANA LETTER SMALL YO +0x82E6 0x3088 # HIRAGANA LETTER YO +0x82E7 0x3089 # HIRAGANA LETTER RA +0x82E8 0x308A # HIRAGANA LETTER RI +0x82E9 0x308B # HIRAGANA LETTER RU +0x82EA 0x308C # HIRAGANA LETTER RE +0x82EB 0x308D # HIRAGANA LETTER RO +0x82EC 0x308E # HIRAGANA LETTER SMALL WA +0x82ED 0x308F # HIRAGANA LETTER WA +0x82EE 0x3090 # HIRAGANA LETTER WI +0x82EF 0x3091 # HIRAGANA LETTER WE +0x82F0 0x3092 # HIRAGANA LETTER WO +0x82F1 0x3093 # HIRAGANA LETTER N +0x8340 0x30A1 # KATAKANA LETTER SMALL A +0x8341 0x30A2 # KATAKANA LETTER A +0x8342 0x30A3 # KATAKANA LETTER SMALL I +0x8343 0x30A4 # KATAKANA LETTER I +0x8344 0x30A5 # KATAKANA LETTER SMALL U +0x8345 0x30A6 # KATAKANA LETTER U +0x8346 0x30A7 # KATAKANA LETTER SMALL E +0x8347 0x30A8 # KATAKANA LETTER E +0x8348 0x30A9 # KATAKANA LETTER SMALL O +0x8349 0x30AA # KATAKANA LETTER O +0x834A 0x30AB # KATAKANA LETTER KA +0x834B 0x30AC # KATAKANA LETTER GA +0x834C 0x30AD # KATAKANA LETTER KI +0x834D 0x30AE # KATAKANA LETTER GI +0x834E 0x30AF # KATAKANA LETTER KU +0x834F 0x30B0 # KATAKANA LETTER GU +0x8350 0x30B1 # KATAKANA LETTER KE +0x8351 0x30B2 # KATAKANA LETTER GE +0x8352 0x30B3 # KATAKANA LETTER KO +0x8353 0x30B4 # KATAKANA LETTER GO +0x8354 0x30B5 # KATAKANA LETTER SA +0x8355 0x30B6 # KATAKANA LETTER ZA +0x8356 0x30B7 # KATAKANA LETTER SI +0x8357 0x30B8 # KATAKANA LETTER ZI +0x8358 0x30B9 # KATAKANA LETTER SU +0x8359 0x30BA # KATAKANA LETTER ZU +0x835A 0x30BB # KATAKANA LETTER SE +0x835B 0x30BC # KATAKANA LETTER ZE +0x835C 0x30BD # KATAKANA LETTER SO +0x835D 0x30BE # KATAKANA LETTER ZO +0x835E 0x30BF # KATAKANA LETTER TA +0x835F 0x30C0 # KATAKANA LETTER DA +0x8360 0x30C1 # KATAKANA LETTER TI +0x8361 0x30C2 # KATAKANA LETTER DI +0x8362 0x30C3 # KATAKANA LETTER SMALL TU +0x8363 0x30C4 # KATAKANA LETTER TU +0x8364 0x30C5 # KATAKANA LETTER DU +0x8365 0x30C6 # KATAKANA LETTER TE +0x8366 0x30C7 # KATAKANA LETTER DE +0x8367 0x30C8 # KATAKANA LETTER TO +0x8368 0x30C9 # KATAKANA LETTER DO +0x8369 0x30CA # KATAKANA LETTER NA +0x836A 0x30CB # KATAKANA LETTER NI +0x836B 0x30CC # KATAKANA LETTER NU +0x836C 0x30CD # KATAKANA LETTER NE +0x836D 0x30CE # KATAKANA LETTER NO +0x836E 0x30CF # KATAKANA LETTER HA +0x836F 0x30D0 # KATAKANA LETTER BA +0x8370 0x30D1 # KATAKANA LETTER PA +0x8371 0x30D2 # KATAKANA LETTER HI +0x8372 0x30D3 # KATAKANA LETTER BI +0x8373 0x30D4 # KATAKANA LETTER PI +0x8374 0x30D5 # KATAKANA LETTER HU +0x8375 0x30D6 # KATAKANA LETTER BU +0x8376 0x30D7 # KATAKANA LETTER PU +0x8377 0x30D8 # KATAKANA LETTER HE +0x8378 0x30D9 # KATAKANA LETTER BE +0x8379 0x30DA # KATAKANA LETTER PE +0x837A 0x30DB # KATAKANA LETTER HO +0x837B 0x30DC # KATAKANA LETTER BO +0x837C 0x30DD # KATAKANA LETTER PO +0x837D 0x30DE # KATAKANA LETTER MA +0x837E 0x30DF # KATAKANA LETTER MI +0x8380 0x30E0 # KATAKANA LETTER MU +0x8381 0x30E1 # KATAKANA LETTER ME +0x8382 0x30E2 # KATAKANA LETTER MO +0x8383 0x30E3 # KATAKANA LETTER SMALL YA +0x8384 0x30E4 # KATAKANA LETTER YA +0x8385 0x30E5 # KATAKANA LETTER SMALL YU +0x8386 0x30E6 # KATAKANA LETTER YU +0x8387 0x30E7 # KATAKANA LETTER SMALL YO +0x8388 0x30E8 # KATAKANA LETTER YO +0x8389 0x30E9 # KATAKANA LETTER RA +0x838A 0x30EA # KATAKANA LETTER RI +0x838B 0x30EB # KATAKANA LETTER RU +0x838C 0x30EC # KATAKANA LETTER RE +0x838D 0x30ED # KATAKANA LETTER RO +0x838E 0x30EE # KATAKANA LETTER SMALL WA +0x838F 0x30EF # KATAKANA LETTER WA +0x8390 0x30F0 # KATAKANA LETTER WI +0x8391 0x30F1 # KATAKANA LETTER WE +0x8392 0x30F2 # KATAKANA LETTER WO +0x8393 0x30F3 # KATAKANA LETTER N +0x8394 0x30F4 # KATAKANA LETTER VU +0x8395 0x30F5 # KATAKANA LETTER SMALL KA +0x8396 0x30F6 # KATAKANA LETTER SMALL KE +0x839F 0x0391 # GREEK CAPITAL LETTER ALPHA +0x83A0 0x0392 # GREEK CAPITAL LETTER BETA +0x83A1 0x0393 # GREEK CAPITAL LETTER GAMMA +0x83A2 0x0394 # GREEK CAPITAL LETTER DELTA +0x83A3 0x0395 # GREEK CAPITAL LETTER EPSILON +0x83A4 0x0396 # GREEK CAPITAL LETTER ZETA +0x83A5 0x0397 # GREEK CAPITAL LETTER ETA +0x83A6 0x0398 # GREEK CAPITAL LETTER THETA +0x83A7 0x0399 # GREEK CAPITAL LETTER IOTA +0x83A8 0x039A # GREEK CAPITAL LETTER KAPPA +0x83A9 0x039B # GREEK CAPITAL LETTER LAMDA +0x83AA 0x039C # GREEK CAPITAL LETTER MU +0x83AB 0x039D # GREEK CAPITAL LETTER NU +0x83AC 0x039E # GREEK CAPITAL LETTER XI +0x83AD 0x039F # GREEK CAPITAL LETTER OMICRON +0x83AE 0x03A0 # GREEK CAPITAL LETTER PI +0x83AF 0x03A1 # GREEK CAPITAL LETTER RHO +0x83B0 0x03A3 # GREEK CAPITAL LETTER SIGMA +0x83B1 0x03A4 # GREEK CAPITAL LETTER TAU +0x83B2 0x03A5 # GREEK CAPITAL LETTER UPSILON +0x83B3 0x03A6 # GREEK CAPITAL LETTER PHI +0x83B4 0x03A7 # GREEK CAPITAL LETTER CHI +0x83B5 0x03A8 # GREEK CAPITAL LETTER PSI +0x83B6 0x03A9 # GREEK CAPITAL LETTER OMEGA +0x83BF 0x03B1 # GREEK SMALL LETTER ALPHA +0x83C0 0x03B2 # GREEK SMALL LETTER BETA +0x83C1 0x03B3 # GREEK SMALL LETTER GAMMA +0x83C2 0x03B4 # GREEK SMALL LETTER DELTA +0x83C3 0x03B5 # GREEK SMALL LETTER EPSILON +0x83C4 0x03B6 # GREEK SMALL LETTER ZETA +0x83C5 0x03B7 # GREEK SMALL LETTER ETA +0x83C6 0x03B8 # GREEK SMALL LETTER THETA +0x83C7 0x03B9 # GREEK SMALL LETTER IOTA +0x83C8 0x03BA # GREEK SMALL LETTER KAPPA +0x83C9 0x03BB # GREEK SMALL LETTER LAMDA +0x83CA 0x03BC # GREEK SMALL LETTER MU +0x83CB 0x03BD # GREEK SMALL LETTER NU +0x83CC 0x03BE # GREEK SMALL LETTER XI +0x83CD 0x03BF # GREEK SMALL LETTER OMICRON +0x83CE 0x03C0 # GREEK SMALL LETTER PI +0x83CF 0x03C1 # GREEK SMALL LETTER RHO +0x83D0 0x03C3 # GREEK SMALL LETTER SIGMA +0x83D1 0x03C4 # GREEK SMALL LETTER TAU +0x83D2 0x03C5 # GREEK SMALL LETTER UPSILON +0x83D3 0x03C6 # GREEK SMALL LETTER PHI +0x83D4 0x03C7 # GREEK SMALL LETTER CHI +0x83D5 0x03C8 # GREEK SMALL LETTER PSI +0x83D6 0x03C9 # GREEK SMALL LETTER OMEGA +0x8440 0x0410 # CYRILLIC CAPITAL LETTER A +0x8441 0x0411 # CYRILLIC CAPITAL LETTER BE +0x8442 0x0412 # CYRILLIC CAPITAL LETTER VE +0x8443 0x0413 # CYRILLIC CAPITAL LETTER GHE +0x8444 0x0414 # CYRILLIC CAPITAL LETTER DE +0x8445 0x0415 # CYRILLIC CAPITAL LETTER IE +0x8446 0x0401 # CYRILLIC CAPITAL LETTER IO +0x8447 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0x8448 0x0417 # CYRILLIC CAPITAL LETTER ZE +0x8449 0x0418 # CYRILLIC CAPITAL LETTER I +0x844A 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0x844B 0x041A # CYRILLIC CAPITAL LETTER KA +0x844C 0x041B # CYRILLIC CAPITAL LETTER EL +0x844D 0x041C # CYRILLIC CAPITAL LETTER EM +0x844E 0x041D # CYRILLIC CAPITAL LETTER EN +0x844F 0x041E # CYRILLIC CAPITAL LETTER O +0x8450 0x041F # CYRILLIC CAPITAL LETTER PE +0x8451 0x0420 # CYRILLIC CAPITAL LETTER ER +0x8452 0x0421 # CYRILLIC CAPITAL LETTER ES +0x8453 0x0422 # CYRILLIC CAPITAL LETTER TE +0x8454 0x0423 # CYRILLIC CAPITAL LETTER U +0x8455 0x0424 # CYRILLIC CAPITAL LETTER EF +0x8456 0x0425 # CYRILLIC CAPITAL LETTER HA +0x8457 0x0426 # CYRILLIC CAPITAL LETTER TSE +0x8458 0x0427 # CYRILLIC CAPITAL LETTER CHE +0x8459 0x0428 # CYRILLIC CAPITAL LETTER SHA +0x845A 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0x845B 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +0x845C 0x042B # CYRILLIC CAPITAL LETTER YERU +0x845D 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E 0x042D # CYRILLIC CAPITAL LETTER E +0x845F 0x042E # CYRILLIC CAPITAL LETTER YU +0x8460 0x042F # CYRILLIC CAPITAL LETTER YA +0x8470 0x0430 # CYRILLIC SMALL LETTER A +0x8471 0x0431 # CYRILLIC SMALL LETTER BE +0x8472 0x0432 # CYRILLIC SMALL LETTER VE +0x8473 0x0433 # CYRILLIC SMALL LETTER GHE +0x8474 0x0434 # CYRILLIC SMALL LETTER DE +0x8475 0x0435 # CYRILLIC SMALL LETTER IE +0x8476 0x0451 # CYRILLIC SMALL LETTER IO +0x8477 0x0436 # CYRILLIC SMALL LETTER ZHE +0x8478 0x0437 # CYRILLIC SMALL LETTER ZE +0x8479 0x0438 # CYRILLIC SMALL LETTER I +0x847A 0x0439 # CYRILLIC SMALL LETTER SHORT I +0x847B 0x043A # CYRILLIC SMALL LETTER KA +0x847C 0x043B # CYRILLIC SMALL LETTER EL +0x847D 0x043C # CYRILLIC SMALL LETTER EM +0x847E 0x043D # CYRILLIC SMALL LETTER EN +0x8480 0x043E # CYRILLIC SMALL LETTER O +0x8481 0x043F # CYRILLIC SMALL LETTER PE +0x8482 0x0440 # CYRILLIC SMALL LETTER ER +0x8483 0x0441 # CYRILLIC SMALL LETTER ES +0x8484 0x0442 # CYRILLIC SMALL LETTER TE +0x8485 0x0443 # CYRILLIC SMALL LETTER U +0x8486 0x0444 # CYRILLIC SMALL LETTER EF +0x8487 0x0445 # CYRILLIC SMALL LETTER HA +0x8488 0x0446 # CYRILLIC SMALL LETTER TSE +0x8489 0x0447 # CYRILLIC SMALL LETTER CHE +0x848A 0x0448 # CYRILLIC SMALL LETTER SHA +0x848B 0x0449 # CYRILLIC SMALL LETTER SHCHA +0x848C 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0x848D 0x044B # CYRILLIC SMALL LETTER YERU +0x848E 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0x848F 0x044D # CYRILLIC SMALL LETTER E +0x8490 0x044E # CYRILLIC SMALL LETTER YU +0x8491 0x044F # CYRILLIC SMALL LETTER YA +0x849F 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x84A0 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x84A1 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x84A2 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84A3 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x84A4 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x84A5 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x84A6 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x84A7 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x84A8 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x84A9 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x84AA 0x2501 # BOX DRAWINGS HEAVY HORIZONTAL +0x84AB 0x2503 # BOX DRAWINGS HEAVY VERTICAL +0x84AC 0x250F # BOX DRAWINGS HEAVY DOWN AND RIGHT +0x84AD 0x2513 # BOX DRAWINGS HEAVY DOWN AND LEFT +0x84AE 0x251B # BOX DRAWINGS HEAVY UP AND LEFT +0x84AF 0x2517 # BOX DRAWINGS HEAVY UP AND RIGHT +0x84B0 0x2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT +0x84B1 0x2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL +0x84B2 0x252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT +0x84B3 0x253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL +0x84B4 0x254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +0x84B5 0x2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT +0x84B6 0x252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY +0x84B7 0x2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT +0x84B8 0x2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY +0x84B9 0x253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY +0x84BA 0x251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY +0x84BB 0x2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT +0x84BC 0x2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY +0x84BD 0x2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT +0x84BE 0x2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT + +# Apple additions +0x8540 0x2460 # CIRCLED DIGIT ONE +0x8541 0x2461 # CIRCLED DIGIT TWO +0x8542 0x2462 # CIRCLED DIGIT THREE +0x8543 0x2463 # CIRCLED DIGIT FOUR +0x8544 0x2464 # CIRCLED DIGIT FIVE +0x8545 0x2465 # CIRCLED DIGIT SIX +0x8546 0x2466 # CIRCLED DIGIT SEVEN +0x8547 0x2467 # CIRCLED DIGIT EIGHT +0x8548 0x2468 # CIRCLED DIGIT NINE +0x8549 0x2469 # CIRCLED NUMBER TEN +0x854A 0x246A # CIRCLED NUMBER ELEVEN +0x854B 0x246B # CIRCLED NUMBER TWELVE +0x854C 0x246C # CIRCLED NUMBER THIRTEEN +0x854D 0x246D # CIRCLED NUMBER FOURTEEN +0x854E 0x246E # CIRCLED NUMBER FIFTEEN +0x854F 0x246F # CIRCLED NUMBER SIXTEEN +0x8550 0x2470 # CIRCLED NUMBER SEVENTEEN +0x8551 0x2471 # CIRCLED NUMBER EIGHTEEN +0x8552 0x2472 # CIRCLED NUMBER NINETEEN +0x8553 0x2473 # CIRCLED NUMBER TWENTY +0x855E 0x2474 # PARENTHESIZED DIGIT ONE +0x855F 0x2475 # PARENTHESIZED DIGIT TWO +0x8560 0x2476 # PARENTHESIZED DIGIT THREE +0x8561 0x2477 # PARENTHESIZED DIGIT FOUR +0x8562 0x2478 # PARENTHESIZED DIGIT FIVE +0x8563 0x2479 # PARENTHESIZED DIGIT SIX +0x8564 0x247A # PARENTHESIZED DIGIT SEVEN +0x8565 0x247B # PARENTHESIZED DIGIT EIGHT +0x8566 0x247C # PARENTHESIZED DIGIT NINE +0x8567 0x247D # PARENTHESIZED NUMBER TEN +0x8568 0x247E # PARENTHESIZED NUMBER ELEVEN +0x8569 0x247F # PARENTHESIZED NUMBER TWELVE +0x856A 0x2480 # PARENTHESIZED NUMBER THIRTEEN +0x856B 0x2481 # PARENTHESIZED NUMBER FOURTEEN +0x856C 0x2482 # PARENTHESIZED NUMBER FIFTEEN +0x856D 0x2483 # PARENTHESIZED NUMBER SIXTEEN +0x856E 0x2484 # PARENTHESIZED NUMBER SEVENTEEN +0x856F 0x2485 # PARENTHESIZED NUMBER EIGHTEEN +0x8570 0x2486 # PARENTHESIZED NUMBER NINETEEN +0x8571 0x2487 # PARENTHESIZED NUMBER TWENTY +0x857C 0x2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE +0x857D 0x2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO +0x857E 0x2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE +0x8580 0x2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR +0x8581 0x277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE +0x8582 0x277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX +0x8583 0x277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN +0x8584 0x277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT +0x8585 0x277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE +0x8591 0xF860+0x0030+0x002E # digit zero full stop +0x8592 0x2488 # DIGIT ONE FULL STOP +0x8593 0x2489 # DIGIT TWO FULL STOP +0x8594 0x248A # DIGIT THREE FULL STOP +0x8595 0x248B # DIGIT FOUR FULL STOP +0x8596 0x248C # DIGIT FIVE FULL STOP +0x8597 0x248D # DIGIT SIX FULL STOP +0x8598 0x248E # DIGIT SEVEN FULL STOP +0x8599 0x248F # DIGIT EIGHT FULL STOP +0x859A 0x2490 # DIGIT NINE FULL STOP +0x859F 0x2160 # ROMAN NUMERAL ONE +0x85A0 0x2161 # ROMAN NUMERAL TWO +0x85A1 0x2162 # ROMAN NUMERAL THREE +0x85A2 0x2163 # ROMAN NUMERAL FOUR +0x85A3 0x2164 # ROMAN NUMERAL FIVE +0x85A4 0x2165 # ROMAN NUMERAL SIX +0x85A5 0x2166 # ROMAN NUMERAL SEVEN +0x85A6 0x2167 # ROMAN NUMERAL EIGHT +0x85A7 0x2168 # ROMAN NUMERAL NINE +0x85A8 0x2169 # ROMAN NUMERAL TEN +0x85A9 0x216A # ROMAN NUMERAL ELEVEN +0x85AA 0x216B # ROMAN NUMERAL TWELVE +0x85AB 0xF862+0x0058+0x0049+0x0049+0x0049 # roman numeral thirteen +0x85AC 0xF861+0x0058+0x0049+0x0056 # roman numeral fourteen +0x85AD 0xF860+0x0058+0x0056 # roman numeral fifteen +0x85B3 0x2170 # SMALL ROMAN NUMERAL ONE +0x85B4 0x2171 # SMALL ROMAN NUMERAL TWO +0x85B5 0x2172 # SMALL ROMAN NUMERAL THREE +0x85B6 0x2173 # SMALL ROMAN NUMERAL FOUR +0x85B7 0x2174 # SMALL ROMAN NUMERAL FIVE +0x85B8 0x2175 # SMALL ROMAN NUMERAL SIX +0x85B9 0x2176 # SMALL ROMAN NUMERAL SEVEN +0x85BA 0x2177 # SMALL ROMAN NUMERAL EIGHT +0x85BB 0x2178 # SMALL ROMAN NUMERAL NINE +0x85BC 0x2179 # SMALL ROMAN NUMERAL TEN +0x85BD 0x217A # SMALL ROMAN NUMERAL ELEVEN +0x85BE 0x217B # SMALL ROMAN NUMERAL TWELVE +0x85BF 0xF862+0x0078+0x0069+0x0069+0x0069 # small roman numeral thirteen +0x85C0 0xF861+0x0078+0x0069+0x0076 # small roman numeral fourteen +0x85C1 0xF860+0x0078+0x0076 # small roman numeral fifteen +0x85DB 0x249C # PARENTHESIZED LATIN SMALL LETTER A +0x85DC 0x249D # PARENTHESIZED LATIN SMALL LETTER B +0x85DD 0x249E # PARENTHESIZED LATIN SMALL LETTER C +0x85DE 0x249F # PARENTHESIZED LATIN SMALL LETTER D +0x85DF 0x24A0 # PARENTHESIZED LATIN SMALL LETTER E +0x85E0 0x24A1 # PARENTHESIZED LATIN SMALL LETTER F +0x85E1 0x24A2 # PARENTHESIZED LATIN SMALL LETTER G +0x85E2 0x24A3 # PARENTHESIZED LATIN SMALL LETTER H +0x85E3 0x24A4 # PARENTHESIZED LATIN SMALL LETTER I +0x85E4 0x24A5 # PARENTHESIZED LATIN SMALL LETTER J +0x85E5 0x24A6 # PARENTHESIZED LATIN SMALL LETTER K +0x85E6 0x24A7 # PARENTHESIZED LATIN SMALL LETTER L +0x85E7 0x24A8 # PARENTHESIZED LATIN SMALL LETTER M +0x85E8 0x24A9 # PARENTHESIZED LATIN SMALL LETTER N +0x85E9 0x24AA # PARENTHESIZED LATIN SMALL LETTER O +0x85EA 0x24AB # PARENTHESIZED LATIN SMALL LETTER P +0x85EB 0x24AC # PARENTHESIZED LATIN SMALL LETTER Q +0x85EC 0x24AD # PARENTHESIZED LATIN SMALL LETTER R +0x85ED 0x24AE # PARENTHESIZED LATIN SMALL LETTER S +0x85EE 0x24AF # PARENTHESIZED LATIN SMALL LETTER T +0x85EF 0x24B0 # PARENTHESIZED LATIN SMALL LETTER U +0x85F0 0x24B1 # PARENTHESIZED LATIN SMALL LETTER V +0x85F1 0x24B2 # PARENTHESIZED LATIN SMALL LETTER W +0x85F2 0x24B3 # PARENTHESIZED LATIN SMALL LETTER X +0x85F3 0x24B4 # PARENTHESIZED LATIN SMALL LETTER Y +0x85F4 0x24B5 # PARENTHESIZED LATIN SMALL LETTER Z +0x8640 0x339C # SQUARE MM +0x8641 0x339F # SQUARE MM SQUARED +0x8642 0x339D # SQUARE CM +0x8643 0x33A0 # SQUARE CM SQUARED +0x8644 0x33A4 # SQUARE CM CUBED +0x8645 0xFF4D+0xF87F # square m +0x8646 0x33A1 # SQUARE M SQUARED +0x8647 0x33A5 # SQUARE M CUBED +0x8648 0x339E # SQUARE KM +0x8649 0x33A2 # SQUARE KM SQUARED +0x864A 0x338E # SQUARE MG +0x864B 0xFF47+0xF87F # square g +0x864C 0x338F # SQUARE KG +0x864D 0x33C4 # SQUARE CC +0x864E 0x3396 # SQUARE ML +0x864F 0x3397 # SQUARE DL +0x8650 0x2113 # SCRIPT SMALL L +0x8651 0x3398 # SQUARE KL +0x8652 0x33B3 # SQUARE MS +0x8653 0x33B2 # SQUARE MU S +0x8654 0x33B1 # SQUARE NS +0x8655 0x33B0 # SQUARE PS +0x8656 0x2109 # DEGREE FAHRENHEIT +0x8657 0x33D4 # SQUARE MB SMALL +0x8658 0x33CB # SQUARE HP +0x8659 0x3390 # SQUARE HZ +0x865A 0x3385 # SQUARE KB +0x865B 0x3386 # SQUARE MB +0x865C 0x3387 # SQUARE GB +0x865D 0xF860+0x0054+0x0042 # square TB +0x869B 0x2116 # NUMERO SIGN +0x869C 0x33CD # SQUARE KK +0x869D 0x2121 # TELEPHONE SIGN +0x869E 0xF861+0x0046+0x0041+0x0058 # FAX sign # or for Unicode 4.0, 0x213B FACSIMILE SIGN +0x869F 0x2664 # WHITE SPADE SUIT +0x86A0 0x2667 # WHITE CLUB SUIT +0x86A1 0x2661 # WHITE HEART SUIT +0x86A2 0x2662 # WHITE DIAMOND SUIT +0x86A3 0x2660 # BLACK SPADE SUIT +0x86A4 0x2663 # BLACK CLUB SUIT +0x86A5 0x2665 # BLACK HEART SUIT +0x86A6 0x2666 # BLACK DIAMOND SUIT +0x86B3 0x3020 # POSTAL MARK FACE +0x86B4 0x260E # BLACK TELEPHONE +0x86B5 0x3004 # JAPANESE INDUSTRIAL STANDARD SYMBOL +0x86C7 0x261E # WHITE RIGHT POINTING INDEX +0x86C8 0x261C # WHITE LEFT POINTING INDEX +0x86C9 0x261D # WHITE UP POINTING INDEX +0x86CA 0x261F # WHITE DOWN POINTING INDEX +0x86CB 0x21C6 # LEFTWARDS ARROW OVER RIGHTWARDS ARROW +0x86CC 0x21C4 # RIGHTWARDS ARROW OVER LEFTWARDS ARROW +0x86CD 0x21C5 # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW +0x86CE 0xF860+0x2193+0x2191 # downwards arrow leftwards of upwards arrow +0x86CF 0x21E8 # RIGHTWARDS WHITE ARROW +0x86D0 0x21E6 # LEFTWARDS WHITE ARROW +0x86D1 0x21E7 # UPWARDS WHITE ARROW +0x86D2 0x21E9 # DOWNWARDS WHITE ARROW +0x86D3 0x21E8+0xF87A # rightwards black arrow # or 0x27A1 BLACK RIGHTWARDS ARROW +0x86D4 0x21E6+0xF87A # leftwards black arrow # or for Unicode 4.0, 0x2B05 LEFTWARDS BLACK ARROW +0x86D5 0x21E7+0xF87A # upwards black arrow # or for Unicode 4.0, 0x2B06 UPWARDS BLACK ARROW +0x86D6 0x21E9+0xF87A # downwards black arrow # or for Unicode 4.0, 0x2B07 DOWNWARDS BLACK ARROW +0x8740 0x3230 # PARENTHESIZED IDEOGRAPH SUN +0x8741 0x322A # PARENTHESIZED IDEOGRAPH MOON +0x8742 0x322B # PARENTHESIZED IDEOGRAPH FIRE +0x8743 0x322C # PARENTHESIZED IDEOGRAPH WATER +0x8744 0x322D # PARENTHESIZED IDEOGRAPH WOOD +0x8745 0x322E # PARENTHESIZED IDEOGRAPH METAL +0x8746 0x322F # PARENTHESIZED IDEOGRAPH EARTH +0x8747 0x3240 # PARENTHESIZED IDEOGRAPH FESTIVAL +0x8748 0x3237 # PARENTHESIZED IDEOGRAPH CONGRATULATION +0x8749 0x3242 # PARENTHESIZED IDEOGRAPH SELF +0x874A 0x3243 # PARENTHESIZED IDEOGRAPH REACH +0x874B 0x3239 # PARENTHESIZED IDEOGRAPH REPRESENT +0x874C 0x323A # PARENTHESIZED IDEOGRAPH CALL +0x874D 0x3231 # PARENTHESIZED IDEOGRAPH STOCK +0x874E 0x323E # PARENTHESIZED IDEOGRAPH RESOURCE +0x874F 0x3234 # PARENTHESIZED IDEOGRAPH NAME +0x8750 0x3232 # PARENTHESIZED IDEOGRAPH HAVE +0x8751 0x323B # PARENTHESIZED IDEOGRAPH STUDY +0x8752 0x3236 # PARENTHESIZED IDEOGRAPH FINANCIAL +0x8753 0x3233 # PARENTHESIZED IDEOGRAPH SOCIETY +0x8754 0x3235 # PARENTHESIZED IDEOGRAPH SPECIAL +0x8755 0x323C # PARENTHESIZED IDEOGRAPH SUPERVISE +0x8756 0x323D # PARENTHESIZED IDEOGRAPH ENTERPRISE +0x8757 0x323F # PARENTHESIZED IDEOGRAPH ALLIANCE +0x8758 0x3238 # PARENTHESIZED IDEOGRAPH LABOR +0x8791 0x5927+0x20DD # ideograph big + COMBINING ENCLOSING CIRCLE +0x8792 0x5C0F+0x20DD # ideograph small + COMBINING ENCLOSING CIRCLE +0x8793 0x32A4 # CIRCLED IDEOGRAPH HIGH +0x8794 0x32A5 # CIRCLED IDEOGRAPH CENTRE +0x8795 0x32A6 # CIRCLED IDEOGRAPH LOW +0x8796 0x32A7 # CIRCLED IDEOGRAPH LEFT +0x8797 0x32A8 # CIRCLED IDEOGRAPH RIGHT +0x8798 0x32A9 # CIRCLED IDEOGRAPH MEDICINE +0x8799 0x3296 # CIRCLED IDEOGRAPH FINANCIAL +0x879A 0x329D # CIRCLED IDEOGRAPH EXCELLENT +0x879B 0x3298 # CIRCLED IDEOGRAPH LABOR +0x879C 0x329E # CIRCLED IDEOGRAPH PRINT +0x879D 0x63A7+0x20DD # ideograph memo + COMBINING ENCLOSING CIRCLE +0x879E 0x3299 # CIRCLED IDEOGRAPH SECRET +0x879F 0x3349 # SQUARE MIRI +0x87A0 0x3322 # SQUARE SENTI +0x87A1 0x334D # SQUARE MEETORU +0x87A2 0x3314 # SQUARE KIRO +0x87A3 0x3316 # SQUARE KIROMEETORU +0x87A4 0x3305 # SQUARE INTI +0x87A5 0x3333 # SQUARE HUIITO +0x87A6 0x334E # SQUARE YAADO +0x87A7 0x3303 # SQUARE AARU +0x87A8 0x3336 # SQUARE HEKUTAARU +0x87A9 0x3318 # SQUARE GURAMU +0x87AA 0x3315 # SQUARE KIROGURAMU +0x87AB 0x3327 # SQUARE TON +0x87AC 0x3351 # SQUARE RITTORU +0x87AD 0x334A # SQUARE MIRIBAARU +0x87AE 0x3339 # SQUARE HERUTU +0x87AF 0x3357 # SQUARE WATTO +0x87B0 0x330D # SQUARE KARORII +0x87B1 0x3342 # SQUARE HOON +0x87B2 0x3323 # SQUARE SENTO +0x87B3 0x3326 # SQUARE DORU +0x87B4 0x333B # SQUARE PEEZI +0x87B5 0x332B # SQUARE PAASENTO +0x87BD 0x3300 # SQUARE APAATO +0x87BE 0x331E # SQUARE KOOPO +0x87BF 0x332A # SQUARE HAITU +0x87C0 0x3331 # SQUARE BIRU +0x87C1 0x3347 # SQUARE MANSYON +0x87E5 0x337E # SQUARE ERA NAME MEIZI +0x87E6 0x337D # SQUARE ERA NAME TAISYOU +0x87E7 0x337C # SQUARE ERA NAME SYOUWA +0x87E8 0x337B # SQUARE ERA NAME HEISEI +0x87FA 0x337F # SQUARE CORPORATION +0x87FB 0xF862+0x6709+0x9650+0x4F1A+0x793E # square "limited company, ltd. [yuugen gaisha]" +0x87FC 0xF862+0x8CA1+0x56E3+0x6CD5+0x4EBA # square "foundation [zaidan houjin]" +0x8840 0x222E # CONTOUR INTEGRAL +0x8841 0x221F # RIGHT ANGLE +0x8842 0x22BF # RIGHT TRIANGLE +0x8854 0x301D # REVERSED DOUBLE PRIME QUOTATION MARK +0x8855 0x301F # LOW DOUBLE PRIME QUOTATION MARK +0x8868 0x3094 # HIRAGANA LETTER VU +0x886A 0x30F7 # KATAKANA LETTER VA +0x886B 0x30F8 # KATAKANA LETTER VI +0x886C 0x30F9 # KATAKANA LETTER VE +0x886D 0x30FA # KATAKANA LETTER VO + +# Standard +0x889F 0x4E9C # +0x88A0 0x5516 # +0x88A1 0x5A03 # +0x88A2 0x963F # +0x88A3 0x54C0 # +0x88A4 0x611B # +0x88A5 0x6328 # +0x88A6 0x59F6 # +0x88A7 0x9022 # +0x88A8 0x8475 # +0x88A9 0x831C # +0x88AA 0x7A50 # +0x88AB 0x60AA # +0x88AC 0x63E1 # +0x88AD 0x6E25 # +0x88AE 0x65ED # +0x88AF 0x8466 # +0x88B0 0x82A6 # +0x88B1 0x9BF5 # +0x88B2 0x6893 # +0x88B3 0x5727 # +0x88B4 0x65A1 # +0x88B5 0x6271 # +0x88B6 0x5B9B # +0x88B7 0x59D0 # +0x88B8 0x867B # +0x88B9 0x98F4 # +0x88BA 0x7D62 # +0x88BB 0x7DBE # +0x88BC 0x9B8E # +0x88BD 0x6216 # +0x88BE 0x7C9F # +0x88BF 0x88B7 # +0x88C0 0x5B89 # +0x88C1 0x5EB5 # +0x88C2 0x6309 # +0x88C3 0x6697 # +0x88C4 0x6848 # +0x88C5 0x95C7 # +0x88C6 0x978D # +0x88C7 0x674F # +0x88C8 0x4EE5 # +0x88C9 0x4F0A # +0x88CA 0x4F4D # +0x88CB 0x4F9D # +0x88CC 0x5049 # +0x88CD 0x56F2 # +0x88CE 0x5937 # +0x88CF 0x59D4 # +0x88D0 0x5A01 # +0x88D1 0x5C09 # +0x88D2 0x60DF # +0x88D3 0x610F # +0x88D4 0x6170 # +0x88D5 0x6613 # +0x88D6 0x6905 # +0x88D7 0x70BA # +0x88D8 0x754F # +0x88D9 0x7570 # +0x88DA 0x79FB # +0x88DB 0x7DAD # +0x88DC 0x7DEF # +0x88DD 0x80C3 # +0x88DE 0x840E # +0x88DF 0x8863 # +0x88E0 0x8B02 # +0x88E1 0x9055 # +0x88E2 0x907A # +0x88E3 0x533B # +0x88E4 0x4E95 # +0x88E5 0x4EA5 # +0x88E6 0x57DF # +0x88E7 0x80B2 # +0x88E8 0x90C1 # +0x88E9 0x78EF # +0x88EA 0x4E00 # +0x88EB 0x58F1 # +0x88EC 0x6EA2 # +0x88ED 0x9038 # +0x88EE 0x7A32 # +0x88EF 0x8328 # +0x88F0 0x828B # +0x88F1 0x9C2F # +0x88F2 0x5141 # +0x88F3 0x5370 # +0x88F4 0x54BD # +0x88F5 0x54E1 # +0x88F6 0x56E0 # +0x88F7 0x59FB # +0x88F8 0x5F15 # +0x88F9 0x98F2 # +0x88FA 0x6DEB # +0x88FB 0x80E4 # +0x88FC 0x852D # +0x8940 0x9662 # +0x8941 0x9670 # +0x8942 0x96A0 # +0x8943 0x97FB # +0x8944 0x540B # +0x8945 0x53F3 # +0x8946 0x5B87 # +0x8947 0x70CF # +0x8948 0x7FBD # +0x8949 0x8FC2 # +0x894A 0x96E8 # +0x894B 0x536F # +0x894C 0x9D5C # +0x894D 0x7ABA # +0x894E 0x4E11 # +0x894F 0x7893 # +0x8950 0x81FC # +0x8951 0x6E26 # +0x8952 0x5618 # +0x8953 0x5504 # +0x8954 0x6B1D # +0x8955 0x851A # +0x8956 0x9C3B # +0x8957 0x59E5 # +0x8958 0x53A9 # +0x8959 0x6D66 # +0x895A 0x74DC # +0x895B 0x958F # +0x895C 0x5642 # +0x895D 0x4E91 # +0x895E 0x904B # +0x895F 0x96F2 # +0x8960 0x834F # +0x8961 0x990C # +0x8962 0x53E1 # +0x8963 0x55B6 # +0x8964 0x5B30 # +0x8965 0x5F71 # +0x8966 0x6620 # +0x8967 0x66F3 # +0x8968 0x6804 # +0x8969 0x6C38 # +0x896A 0x6CF3 # +0x896B 0x6D29 # +0x896C 0x745B # +0x896D 0x76C8 # +0x896E 0x7A4E # +0x896F 0x9834 # +0x8970 0x82F1 # +0x8971 0x885B # +0x8972 0x8A60 # +0x8973 0x92ED # +0x8974 0x6DB2 # +0x8975 0x75AB # +0x8976 0x76CA # +0x8977 0x99C5 # +0x8978 0x60A6 # +0x8979 0x8B01 # +0x897A 0x8D8A # +0x897B 0x95B2 # +0x897C 0x698E # +0x897D 0x53AD # +0x897E 0x5186 # +0x8980 0x5712 # +0x8981 0x5830 # +0x8982 0x5944 # +0x8983 0x5BB4 # +0x8984 0x5EF6 # +0x8985 0x6028 # +0x8986 0x63A9 # +0x8987 0x63F4 # +0x8988 0x6CBF # +0x8989 0x6F14 # +0x898A 0x708E # +0x898B 0x7114 # +0x898C 0x7159 # +0x898D 0x71D5 # +0x898E 0x733F # +0x898F 0x7E01 # +0x8990 0x8276 # +0x8991 0x82D1 # +0x8992 0x8597 # +0x8993 0x9060 # +0x8994 0x925B # +0x8995 0x9D1B # +0x8996 0x5869 # +0x8997 0x65BC # +0x8998 0x6C5A # +0x8999 0x7525 # +0x899A 0x51F9 # +0x899B 0x592E # +0x899C 0x5965 # +0x899D 0x5F80 # +0x899E 0x5FDC # +0x899F 0x62BC # +0x89A0 0x65FA # +0x89A1 0x6A2A # +0x89A2 0x6B27 # +0x89A3 0x6BB4 # +0x89A4 0x738B # +0x89A5 0x7FC1 # +0x89A6 0x8956 # +0x89A7 0x9D2C # +0x89A8 0x9D0E # +0x89A9 0x9EC4 # +0x89AA 0x5CA1 # +0x89AB 0x6C96 # +0x89AC 0x837B # +0x89AD 0x5104 # +0x89AE 0x5C4B # +0x89AF 0x61B6 # +0x89B0 0x81C6 # +0x89B1 0x6876 # +0x89B2 0x7261 # +0x89B3 0x4E59 # +0x89B4 0x4FFA # +0x89B5 0x5378 # +0x89B6 0x6069 # +0x89B7 0x6E29 # +0x89B8 0x7A4F # +0x89B9 0x97F3 # +0x89BA 0x4E0B # +0x89BB 0x5316 # +0x89BC 0x4EEE # +0x89BD 0x4F55 # +0x89BE 0x4F3D # +0x89BF 0x4FA1 # +0x89C0 0x4F73 # +0x89C1 0x52A0 # +0x89C2 0x53EF # +0x89C3 0x5609 # +0x89C4 0x590F # +0x89C5 0x5AC1 # +0x89C6 0x5BB6 # +0x89C7 0x5BE1 # +0x89C8 0x79D1 # +0x89C9 0x6687 # +0x89CA 0x679C # +0x89CB 0x67B6 # +0x89CC 0x6B4C # +0x89CD 0x6CB3 # +0x89CE 0x706B # +0x89CF 0x73C2 # +0x89D0 0x798D # +0x89D1 0x79BE # +0x89D2 0x7A3C # +0x89D3 0x7B87 # +0x89D4 0x82B1 # +0x89D5 0x82DB # +0x89D6 0x8304 # +0x89D7 0x8377 # +0x89D8 0x83EF # +0x89D9 0x83D3 # +0x89DA 0x8766 # +0x89DB 0x8AB2 # +0x89DC 0x5629 # +0x89DD 0x8CA8 # +0x89DE 0x8FE6 # +0x89DF 0x904E # +0x89E0 0x971E # +0x89E1 0x868A # +0x89E2 0x4FC4 # +0x89E3 0x5CE8 # +0x89E4 0x6211 # +0x89E5 0x7259 # +0x89E6 0x753B # +0x89E7 0x81E5 # +0x89E8 0x82BD # +0x89E9 0x86FE # +0x89EA 0x8CC0 # +0x89EB 0x96C5 # +0x89EC 0x9913 # +0x89ED 0x99D5 # +0x89EE 0x4ECB # +0x89EF 0x4F1A # +0x89F0 0x89E3 # +0x89F1 0x56DE # +0x89F2 0x584A # +0x89F3 0x58CA # +0x89F4 0x5EFB # +0x89F5 0x5FEB # +0x89F6 0x602A # +0x89F7 0x6094 # +0x89F8 0x6062 # +0x89F9 0x61D0 # +0x89FA 0x6212 # +0x89FB 0x62D0 # +0x89FC 0x6539 # +0x8A40 0x9B41 # +0x8A41 0x6666 # +0x8A42 0x68B0 # +0x8A43 0x6D77 # +0x8A44 0x7070 # +0x8A45 0x754C # +0x8A46 0x7686 # +0x8A47 0x7D75 # +0x8A48 0x82A5 # +0x8A49 0x87F9 # +0x8A4A 0x958B # +0x8A4B 0x968E # +0x8A4C 0x8C9D # +0x8A4D 0x51F1 # +0x8A4E 0x52BE # +0x8A4F 0x5916 # +0x8A50 0x54B3 # +0x8A51 0x5BB3 # +0x8A52 0x5D16 # +0x8A53 0x6168 # +0x8A54 0x6982 # +0x8A55 0x6DAF # +0x8A56 0x788D # +0x8A57 0x84CB # +0x8A58 0x8857 # +0x8A59 0x8A72 # +0x8A5A 0x93A7 # +0x8A5B 0x9AB8 # +0x8A5C 0x6D6C # +0x8A5D 0x99A8 # +0x8A5E 0x86D9 # +0x8A5F 0x57A3 # +0x8A60 0x67FF # +0x8A61 0x86CE # +0x8A62 0x920E # +0x8A63 0x5283 # +0x8A64 0x5687 # +0x8A65 0x5404 # +0x8A66 0x5ED3 # +0x8A67 0x62E1 # +0x8A68 0x64B9 # +0x8A69 0x683C # +0x8A6A 0x6838 # +0x8A6B 0x6BBB # +0x8A6C 0x7372 # +0x8A6D 0x78BA # +0x8A6E 0x7A6B # +0x8A6F 0x899A # +0x8A70 0x89D2 # +0x8A71 0x8D6B # +0x8A72 0x8F03 # +0x8A73 0x90ED # +0x8A74 0x95A3 # +0x8A75 0x9694 # +0x8A76 0x9769 # +0x8A77 0x5B66 # +0x8A78 0x5CB3 # +0x8A79 0x697D # +0x8A7A 0x984D # +0x8A7B 0x984E # +0x8A7C 0x639B # +0x8A7D 0x7B20 # +0x8A7E 0x6A2B # +0x8A80 0x6A7F # +0x8A81 0x68B6 # +0x8A82 0x9C0D # +0x8A83 0x6F5F # +0x8A84 0x5272 # +0x8A85 0x559D # +0x8A86 0x6070 # +0x8A87 0x62EC # +0x8A88 0x6D3B # +0x8A89 0x6E07 # +0x8A8A 0x6ED1 # +0x8A8B 0x845B # +0x8A8C 0x8910 # +0x8A8D 0x8F44 # +0x8A8E 0x4E14 # +0x8A8F 0x9C39 # +0x8A90 0x53F6 # +0x8A91 0x691B # +0x8A92 0x6A3A # +0x8A93 0x9784 # +0x8A94 0x682A # +0x8A95 0x515C # +0x8A96 0x7AC3 # +0x8A97 0x84B2 # +0x8A98 0x91DC # +0x8A99 0x938C # +0x8A9A 0x565B # +0x8A9B 0x9D28 # +0x8A9C 0x6822 # +0x8A9D 0x8305 # +0x8A9E 0x8431 # +0x8A9F 0x7CA5 # +0x8AA0 0x5208 # +0x8AA1 0x82C5 # +0x8AA2 0x74E6 # +0x8AA3 0x4E7E # +0x8AA4 0x4F83 # +0x8AA5 0x51A0 # +0x8AA6 0x5BD2 # +0x8AA7 0x520A # +0x8AA8 0x52D8 # +0x8AA9 0x52E7 # +0x8AAA 0x5DFB # +0x8AAB 0x559A # +0x8AAC 0x582A # +0x8AAD 0x59E6 # +0x8AAE 0x5B8C # +0x8AAF 0x5B98 # +0x8AB0 0x5BDB # +0x8AB1 0x5E72 # +0x8AB2 0x5E79 # +0x8AB3 0x60A3 # +0x8AB4 0x611F # +0x8AB5 0x6163 # +0x8AB6 0x61BE # +0x8AB7 0x63DB # +0x8AB8 0x6562 # +0x8AB9 0x67D1 # +0x8ABA 0x6853 # +0x8ABB 0x68FA # +0x8ABC 0x6B3E # +0x8ABD 0x6B53 # +0x8ABE 0x6C57 # +0x8ABF 0x6F22 # +0x8AC0 0x6F97 # +0x8AC1 0x6F45 # +0x8AC2 0x74B0 # +0x8AC3 0x7518 # +0x8AC4 0x76E3 # +0x8AC5 0x770B # +0x8AC6 0x7AFF # +0x8AC7 0x7BA1 # +0x8AC8 0x7C21 # +0x8AC9 0x7DE9 # +0x8ACA 0x7F36 # +0x8ACB 0x7FF0 # +0x8ACC 0x809D # +0x8ACD 0x8266 # +0x8ACE 0x839E # +0x8ACF 0x89B3 # +0x8AD0 0x8ACC # +0x8AD1 0x8CAB # +0x8AD2 0x9084 # +0x8AD3 0x9451 # +0x8AD4 0x9593 # +0x8AD5 0x9591 # +0x8AD6 0x95A2 # +0x8AD7 0x9665 # +0x8AD8 0x97D3 # +0x8AD9 0x9928 # +0x8ADA 0x8218 # +0x8ADB 0x4E38 # +0x8ADC 0x542B # +0x8ADD 0x5CB8 # +0x8ADE 0x5DCC # +0x8ADF 0x73A9 # +0x8AE0 0x764C # +0x8AE1 0x773C # +0x8AE2 0x5CA9 # +0x8AE3 0x7FEB # +0x8AE4 0x8D0B # +0x8AE5 0x96C1 # +0x8AE6 0x9811 # +0x8AE7 0x9854 # +0x8AE8 0x9858 # +0x8AE9 0x4F01 # +0x8AEA 0x4F0E # +0x8AEB 0x5371 # +0x8AEC 0x559C # +0x8AED 0x5668 # +0x8AEE 0x57FA # +0x8AEF 0x5947 # +0x8AF0 0x5B09 # +0x8AF1 0x5BC4 # +0x8AF2 0x5C90 # +0x8AF3 0x5E0C # +0x8AF4 0x5E7E # +0x8AF5 0x5FCC # +0x8AF6 0x63EE # +0x8AF7 0x673A # +0x8AF8 0x65D7 # +0x8AF9 0x65E2 # +0x8AFA 0x671F # +0x8AFB 0x68CB # +0x8AFC 0x68C4 # +0x8B40 0x6A5F # +0x8B41 0x5E30 # +0x8B42 0x6BC5 # +0x8B43 0x6C17 # +0x8B44 0x6C7D # +0x8B45 0x757F # +0x8B46 0x7948 # +0x8B47 0x5B63 # +0x8B48 0x7A00 # +0x8B49 0x7D00 # +0x8B4A 0x5FBD # +0x8B4B 0x898F # +0x8B4C 0x8A18 # +0x8B4D 0x8CB4 # +0x8B4E 0x8D77 # +0x8B4F 0x8ECC # +0x8B50 0x8F1D # +0x8B51 0x98E2 # +0x8B52 0x9A0E # +0x8B53 0x9B3C # +0x8B54 0x4E80 # +0x8B55 0x507D # +0x8B56 0x5100 # +0x8B57 0x5993 # +0x8B58 0x5B9C # +0x8B59 0x622F # +0x8B5A 0x6280 # +0x8B5B 0x64EC # +0x8B5C 0x6B3A # +0x8B5D 0x72A0 # +0x8B5E 0x7591 # +0x8B5F 0x7947 # +0x8B60 0x7FA9 # +0x8B61 0x87FB # +0x8B62 0x8ABC # +0x8B63 0x8B70 # +0x8B64 0x63AC # +0x8B65 0x83CA # +0x8B66 0x97A0 # +0x8B67 0x5409 # +0x8B68 0x5403 # +0x8B69 0x55AB # +0x8B6A 0x6854 # +0x8B6B 0x6A58 # +0x8B6C 0x8A70 # +0x8B6D 0x7827 # +0x8B6E 0x6775 # +0x8B6F 0x9ECD # +0x8B70 0x5374 # +0x8B71 0x5BA2 # +0x8B72 0x811A # +0x8B73 0x8650 # +0x8B74 0x9006 # +0x8B75 0x4E18 # +0x8B76 0x4E45 # +0x8B77 0x4EC7 # +0x8B78 0x4F11 # +0x8B79 0x53CA # +0x8B7A 0x5438 # +0x8B7B 0x5BAE # +0x8B7C 0x5F13 # +0x8B7D 0x6025 # +0x8B7E 0x6551 # +0x8B80 0x673D # +0x8B81 0x6C42 # +0x8B82 0x6C72 # +0x8B83 0x6CE3 # +0x8B84 0x7078 # +0x8B85 0x7403 # +0x8B86 0x7A76 # +0x8B87 0x7AAE # +0x8B88 0x7B08 # +0x8B89 0x7D1A # +0x8B8A 0x7CFE # +0x8B8B 0x7D66 # +0x8B8C 0x65E7 # +0x8B8D 0x725B # +0x8B8E 0x53BB # +0x8B8F 0x5C45 # +0x8B90 0x5DE8 # +0x8B91 0x62D2 # +0x8B92 0x62E0 # +0x8B93 0x6319 # +0x8B94 0x6E20 # +0x8B95 0x865A # +0x8B96 0x8A31 # +0x8B97 0x8DDD # +0x8B98 0x92F8 # +0x8B99 0x6F01 # +0x8B9A 0x79A6 # +0x8B9B 0x9B5A # +0x8B9C 0x4EA8 # +0x8B9D 0x4EAB # +0x8B9E 0x4EAC # +0x8B9F 0x4F9B # +0x8BA0 0x4FA0 # +0x8BA1 0x50D1 # +0x8BA2 0x5147 # +0x8BA3 0x7AF6 # +0x8BA4 0x5171 # +0x8BA5 0x51F6 # +0x8BA6 0x5354 # +0x8BA7 0x5321 # +0x8BA8 0x537F # +0x8BA9 0x53EB # +0x8BAA 0x55AC # +0x8BAB 0x5883 # +0x8BAC 0x5CE1 # +0x8BAD 0x5F37 # +0x8BAE 0x5F4A # +0x8BAF 0x602F # +0x8BB0 0x6050 # +0x8BB1 0x606D # +0x8BB2 0x631F # +0x8BB3 0x6559 # +0x8BB4 0x6A4B # +0x8BB5 0x6CC1 # +0x8BB6 0x72C2 # +0x8BB7 0x72ED # +0x8BB8 0x77EF # +0x8BB9 0x80F8 # +0x8BBA 0x8105 # +0x8BBB 0x8208 # +0x8BBC 0x854E # +0x8BBD 0x90F7 # +0x8BBE 0x93E1 # +0x8BBF 0x97FF # +0x8BC0 0x9957 # +0x8BC1 0x9A5A # +0x8BC2 0x4EF0 # +0x8BC3 0x51DD # +0x8BC4 0x5C2D # +0x8BC5 0x6681 # +0x8BC6 0x696D # +0x8BC7 0x5C40 # +0x8BC8 0x66F2 # +0x8BC9 0x6975 # +0x8BCA 0x7389 # +0x8BCB 0x6850 # +0x8BCC 0x7C81 # +0x8BCD 0x50C5 # +0x8BCE 0x52E4 # +0x8BCF 0x5747 # +0x8BD0 0x5DFE # +0x8BD1 0x9326 # +0x8BD2 0x65A4 # +0x8BD3 0x6B23 # +0x8BD4 0x6B3D # +0x8BD5 0x7434 # +0x8BD6 0x7981 # +0x8BD7 0x79BD # +0x8BD8 0x7B4B # +0x8BD9 0x7DCA # +0x8BDA 0x82B9 # +0x8BDB 0x83CC # +0x8BDC 0x887F # +0x8BDD 0x895F # +0x8BDE 0x8B39 # +0x8BDF 0x8FD1 # +0x8BE0 0x91D1 # +0x8BE1 0x541F # +0x8BE2 0x9280 # +0x8BE3 0x4E5D # +0x8BE4 0x5036 # +0x8BE5 0x53E5 # +0x8BE6 0x533A # +0x8BE7 0x72D7 # +0x8BE8 0x7396 # +0x8BE9 0x77E9 # +0x8BEA 0x82E6 # +0x8BEB 0x8EAF # +0x8BEC 0x99C6 # +0x8BED 0x99C8 # +0x8BEE 0x99D2 # +0x8BEF 0x5177 # +0x8BF0 0x611A # +0x8BF1 0x865E # +0x8BF2 0x55B0 # +0x8BF3 0x7A7A # +0x8BF4 0x5076 # +0x8BF5 0x5BD3 # +0x8BF6 0x9047 # +0x8BF7 0x9685 # +0x8BF8 0x4E32 # +0x8BF9 0x6ADB # +0x8BFA 0x91E7 # +0x8BFB 0x5C51 # +0x8BFC 0x5C48 # +0x8C40 0x6398 # +0x8C41 0x7A9F # +0x8C42 0x6C93 # +0x8C43 0x9774 # +0x8C44 0x8F61 # +0x8C45 0x7AAA # +0x8C46 0x718A # +0x8C47 0x9688 # +0x8C48 0x7C82 # +0x8C49 0x6817 # +0x8C4A 0x7E70 # +0x8C4B 0x6851 # +0x8C4C 0x936C # +0x8C4D 0x52F2 # +0x8C4E 0x541B # +0x8C4F 0x85AB # +0x8C50 0x8A13 # +0x8C51 0x7FA4 # +0x8C52 0x8ECD # +0x8C53 0x90E1 # +0x8C54 0x5366 # +0x8C55 0x8888 # +0x8C56 0x7941 # +0x8C57 0x4FC2 # +0x8C58 0x50BE # +0x8C59 0x5211 # +0x8C5A 0x5144 # +0x8C5B 0x5553 # +0x8C5C 0x572D # +0x8C5D 0x73EA # +0x8C5E 0x578B # +0x8C5F 0x5951 # +0x8C60 0x5F62 # +0x8C61 0x5F84 # +0x8C62 0x6075 # +0x8C63 0x6176 # +0x8C64 0x6167 # +0x8C65 0x61A9 # +0x8C66 0x63B2 # +0x8C67 0x643A # +0x8C68 0x656C # +0x8C69 0x666F # +0x8C6A 0x6842 # +0x8C6B 0x6E13 # +0x8C6C 0x7566 # +0x8C6D 0x7A3D # +0x8C6E 0x7CFB # +0x8C6F 0x7D4C # +0x8C70 0x7D99 # +0x8C71 0x7E4B # +0x8C72 0x7F6B # +0x8C73 0x830E # +0x8C74 0x834A # +0x8C75 0x86CD # +0x8C76 0x8A08 # +0x8C77 0x8A63 # +0x8C78 0x8B66 # +0x8C79 0x8EFD # +0x8C7A 0x981A # +0x8C7B 0x9D8F # +0x8C7C 0x82B8 # +0x8C7D 0x8FCE # +0x8C7E 0x9BE8 # +0x8C80 0x5287 # +0x8C81 0x621F # +0x8C82 0x6483 # +0x8C83 0x6FC0 # +0x8C84 0x9699 # +0x8C85 0x6841 # +0x8C86 0x5091 # +0x8C87 0x6B20 # +0x8C88 0x6C7A # +0x8C89 0x6F54 # +0x8C8A 0x7A74 # +0x8C8B 0x7D50 # +0x8C8C 0x8840 # +0x8C8D 0x8A23 # +0x8C8E 0x6708 # +0x8C8F 0x4EF6 # +0x8C90 0x5039 # +0x8C91 0x5026 # +0x8C92 0x5065 # +0x8C93 0x517C # +0x8C94 0x5238 # +0x8C95 0x5263 # +0x8C96 0x55A7 # +0x8C97 0x570F # +0x8C98 0x5805 # +0x8C99 0x5ACC # +0x8C9A 0x5EFA # +0x8C9B 0x61B2 # +0x8C9C 0x61F8 # +0x8C9D 0x62F3 # +0x8C9E 0x6372 # +0x8C9F 0x691C # +0x8CA0 0x6A29 # +0x8CA1 0x727D # +0x8CA2 0x72AC # +0x8CA3 0x732E # +0x8CA4 0x7814 # +0x8CA5 0x786F # +0x8CA6 0x7D79 # +0x8CA7 0x770C # +0x8CA8 0x80A9 # +0x8CA9 0x898B # +0x8CAA 0x8B19 # +0x8CAB 0x8CE2 # +0x8CAC 0x8ED2 # +0x8CAD 0x9063 # +0x8CAE 0x9375 # +0x8CAF 0x967A # +0x8CB0 0x9855 # +0x8CB1 0x9A13 # +0x8CB2 0x9E78 # +0x8CB3 0x5143 # +0x8CB4 0x539F # +0x8CB5 0x53B3 # +0x8CB6 0x5E7B # +0x8CB7 0x5F26 # +0x8CB8 0x6E1B # +0x8CB9 0x6E90 # +0x8CBA 0x7384 # +0x8CBB 0x73FE # +0x8CBC 0x7D43 # +0x8CBD 0x8237 # +0x8CBE 0x8A00 # +0x8CBF 0x8AFA # +0x8CC0 0x9650 # +0x8CC1 0x4E4E # +0x8CC2 0x500B # +0x8CC3 0x53E4 # +0x8CC4 0x547C # +0x8CC5 0x56FA # +0x8CC6 0x59D1 # +0x8CC7 0x5B64 # +0x8CC8 0x5DF1 # +0x8CC9 0x5EAB # +0x8CCA 0x5F27 # +0x8CCB 0x6238 # +0x8CCC 0x6545 # +0x8CCD 0x67AF # +0x8CCE 0x6E56 # +0x8CCF 0x72D0 # +0x8CD0 0x7CCA # +0x8CD1 0x88B4 # +0x8CD2 0x80A1 # +0x8CD3 0x80E1 # +0x8CD4 0x83F0 # +0x8CD5 0x864E # +0x8CD6 0x8A87 # +0x8CD7 0x8DE8 # +0x8CD8 0x9237 # +0x8CD9 0x96C7 # +0x8CDA 0x9867 # +0x8CDB 0x9F13 # +0x8CDC 0x4E94 # +0x8CDD 0x4E92 # +0x8CDE 0x4F0D # +0x8CDF 0x5348 # +0x8CE0 0x5449 # +0x8CE1 0x543E # +0x8CE2 0x5A2F # +0x8CE3 0x5F8C # +0x8CE4 0x5FA1 # +0x8CE5 0x609F # +0x8CE6 0x68A7 # +0x8CE7 0x6A8E # +0x8CE8 0x745A # +0x8CE9 0x7881 # +0x8CEA 0x8A9E # +0x8CEB 0x8AA4 # +0x8CEC 0x8B77 # +0x8CED 0x9190 # +0x8CEE 0x4E5E # +0x8CEF 0x9BC9 # +0x8CF0 0x4EA4 # +0x8CF1 0x4F7C # +0x8CF2 0x4FAF # +0x8CF3 0x5019 # +0x8CF4 0x5016 # +0x8CF5 0x5149 # +0x8CF6 0x516C # +0x8CF7 0x529F # +0x8CF8 0x52B9 # +0x8CF9 0x52FE # +0x8CFA 0x539A # +0x8CFB 0x53E3 # +0x8CFC 0x5411 # +0x8D40 0x540E # +0x8D41 0x5589 # +0x8D42 0x5751 # +0x8D43 0x57A2 # +0x8D44 0x597D # +0x8D45 0x5B54 # +0x8D46 0x5B5D # +0x8D47 0x5B8F # +0x8D48 0x5DE5 # +0x8D49 0x5DE7 # +0x8D4A 0x5DF7 # +0x8D4B 0x5E78 # +0x8D4C 0x5E83 # +0x8D4D 0x5E9A # +0x8D4E 0x5EB7 # +0x8D4F 0x5F18 # +0x8D50 0x6052 # +0x8D51 0x614C # +0x8D52 0x6297 # +0x8D53 0x62D8 # +0x8D54 0x63A7 # +0x8D55 0x653B # +0x8D56 0x6602 # +0x8D57 0x6643 # +0x8D58 0x66F4 # +0x8D59 0x676D # +0x8D5A 0x6821 # +0x8D5B 0x6897 # +0x8D5C 0x69CB # +0x8D5D 0x6C5F # +0x8D5E 0x6D2A # +0x8D5F 0x6D69 # +0x8D60 0x6E2F # +0x8D61 0x6E9D # +0x8D62 0x7532 # +0x8D63 0x7687 # +0x8D64 0x786C # +0x8D65 0x7A3F # +0x8D66 0x7CE0 # +0x8D67 0x7D05 # +0x8D68 0x7D18 # +0x8D69 0x7D5E # +0x8D6A 0x7DB1 # +0x8D6B 0x8015 # +0x8D6C 0x8003 # +0x8D6D 0x80AF # +0x8D6E 0x80B1 # +0x8D6F 0x8154 # +0x8D70 0x818F # +0x8D71 0x822A # +0x8D72 0x8352 # +0x8D73 0x884C # +0x8D74 0x8861 # +0x8D75 0x8B1B # +0x8D76 0x8CA2 # +0x8D77 0x8CFC # +0x8D78 0x90CA # +0x8D79 0x9175 # +0x8D7A 0x9271 # +0x8D7B 0x783F # +0x8D7C 0x92FC # +0x8D7D 0x95A4 # +0x8D7E 0x964D # +0x8D80 0x9805 # +0x8D81 0x9999 # +0x8D82 0x9AD8 # +0x8D83 0x9D3B # +0x8D84 0x525B # +0x8D85 0x52AB # +0x8D86 0x53F7 # +0x8D87 0x5408 # +0x8D88 0x58D5 # +0x8D89 0x62F7 # +0x8D8A 0x6FE0 # +0x8D8B 0x8C6A # +0x8D8C 0x8F5F # +0x8D8D 0x9EB9 # +0x8D8E 0x514B # +0x8D8F 0x523B # +0x8D90 0x544A # +0x8D91 0x56FD # +0x8D92 0x7A40 # +0x8D93 0x9177 # +0x8D94 0x9D60 # +0x8D95 0x9ED2 # +0x8D96 0x7344 # +0x8D97 0x6F09 # +0x8D98 0x8170 # +0x8D99 0x7511 # +0x8D9A 0x5FFD # +0x8D9B 0x60DA # +0x8D9C 0x9AA8 # +0x8D9D 0x72DB # +0x8D9E 0x8FBC # +0x8D9F 0x6B64 # +0x8DA0 0x9803 # +0x8DA1 0x4ECA # +0x8DA2 0x56F0 # +0x8DA3 0x5764 # +0x8DA4 0x58BE # +0x8DA5 0x5A5A # +0x8DA6 0x6068 # +0x8DA7 0x61C7 # +0x8DA8 0x660F # +0x8DA9 0x6606 # +0x8DAA 0x6839 # +0x8DAB 0x68B1 # +0x8DAC 0x6DF7 # +0x8DAD 0x75D5 # +0x8DAE 0x7D3A # +0x8DAF 0x826E # +0x8DB0 0x9B42 # +0x8DB1 0x4E9B # +0x8DB2 0x4F50 # +0x8DB3 0x53C9 # +0x8DB4 0x5506 # +0x8DB5 0x5D6F # +0x8DB6 0x5DE6 # +0x8DB7 0x5DEE # +0x8DB8 0x67FB # +0x8DB9 0x6C99 # +0x8DBA 0x7473 # +0x8DBB 0x7802 # +0x8DBC 0x8A50 # +0x8DBD 0x9396 # +0x8DBE 0x88DF # +0x8DBF 0x5750 # +0x8DC0 0x5EA7 # +0x8DC1 0x632B # +0x8DC2 0x50B5 # +0x8DC3 0x50AC # +0x8DC4 0x518D # +0x8DC5 0x6700 # +0x8DC6 0x54C9 # +0x8DC7 0x585E # +0x8DC8 0x59BB # +0x8DC9 0x5BB0 # +0x8DCA 0x5F69 # +0x8DCB 0x624D # +0x8DCC 0x63A1 # +0x8DCD 0x683D # +0x8DCE 0x6B73 # +0x8DCF 0x6E08 # +0x8DD0 0x707D # +0x8DD1 0x91C7 # +0x8DD2 0x7280 # +0x8DD3 0x7815 # +0x8DD4 0x7826 # +0x8DD5 0x796D # +0x8DD6 0x658E # +0x8DD7 0x7D30 # +0x8DD8 0x83DC # +0x8DD9 0x88C1 # +0x8DDA 0x8F09 # +0x8DDB 0x969B # +0x8DDC 0x5264 # +0x8DDD 0x5728 # +0x8DDE 0x6750 # +0x8DDF 0x7F6A # +0x8DE0 0x8CA1 # +0x8DE1 0x51B4 # +0x8DE2 0x5742 # +0x8DE3 0x962A # +0x8DE4 0x583A # +0x8DE5 0x698A # +0x8DE6 0x80B4 # +0x8DE7 0x54B2 # +0x8DE8 0x5D0E # +0x8DE9 0x57FC # +0x8DEA 0x7895 # +0x8DEB 0x9DFA # +0x8DEC 0x4F5C # +0x8DED 0x524A # +0x8DEE 0x548B # +0x8DEF 0x643E # +0x8DF0 0x6628 # +0x8DF1 0x6714 # +0x8DF2 0x67F5 # +0x8DF3 0x7A84 # +0x8DF4 0x7B56 # +0x8DF5 0x7D22 # +0x8DF6 0x932F # +0x8DF7 0x685C # +0x8DF8 0x9BAD # +0x8DF9 0x7B39 # +0x8DFA 0x5319 # +0x8DFB 0x518A # +0x8DFC 0x5237 # +0x8E40 0x5BDF # +0x8E41 0x62F6 # +0x8E42 0x64AE # +0x8E43 0x64E6 # +0x8E44 0x672D # +0x8E45 0x6BBA # +0x8E46 0x85A9 # +0x8E47 0x96D1 # +0x8E48 0x7690 # +0x8E49 0x9BD6 # +0x8E4A 0x634C # +0x8E4B 0x9306 # +0x8E4C 0x9BAB # +0x8E4D 0x76BF # +0x8E4E 0x6652 # +0x8E4F 0x4E09 # +0x8E50 0x5098 # +0x8E51 0x53C2 # +0x8E52 0x5C71 # +0x8E53 0x60E8 # +0x8E54 0x6492 # +0x8E55 0x6563 # +0x8E56 0x685F # +0x8E57 0x71E6 # +0x8E58 0x73CA # +0x8E59 0x7523 # +0x8E5A 0x7B97 # +0x8E5B 0x7E82 # +0x8E5C 0x8695 # +0x8E5D 0x8B83 # +0x8E5E 0x8CDB # +0x8E5F 0x9178 # +0x8E60 0x9910 # +0x8E61 0x65AC # +0x8E62 0x66AB # +0x8E63 0x6B8B # +0x8E64 0x4ED5 # +0x8E65 0x4ED4 # +0x8E66 0x4F3A # +0x8E67 0x4F7F # +0x8E68 0x523A # +0x8E69 0x53F8 # +0x8E6A 0x53F2 # +0x8E6B 0x55E3 # +0x8E6C 0x56DB # +0x8E6D 0x58EB # +0x8E6E 0x59CB # +0x8E6F 0x59C9 # +0x8E70 0x59FF # +0x8E71 0x5B50 # +0x8E72 0x5C4D # +0x8E73 0x5E02 # +0x8E74 0x5E2B # +0x8E75 0x5FD7 # +0x8E76 0x601D # +0x8E77 0x6307 # +0x8E78 0x652F # +0x8E79 0x5B5C # +0x8E7A 0x65AF # +0x8E7B 0x65BD # +0x8E7C 0x65E8 # +0x8E7D 0x679D # +0x8E7E 0x6B62 # +0x8E80 0x6B7B # +0x8E81 0x6C0F # +0x8E82 0x7345 # +0x8E83 0x7949 # +0x8E84 0x79C1 # +0x8E85 0x7CF8 # +0x8E86 0x7D19 # +0x8E87 0x7D2B # +0x8E88 0x80A2 # +0x8E89 0x8102 # +0x8E8A 0x81F3 # +0x8E8B 0x8996 # +0x8E8C 0x8A5E # +0x8E8D 0x8A69 # +0x8E8E 0x8A66 # +0x8E8F 0x8A8C # +0x8E90 0x8AEE # +0x8E91 0x8CC7 # +0x8E92 0x8CDC # +0x8E93 0x96CC # +0x8E94 0x98FC # +0x8E95 0x6B6F # +0x8E96 0x4E8B # +0x8E97 0x4F3C # +0x8E98 0x4F8D # +0x8E99 0x5150 # +0x8E9A 0x5B57 # +0x8E9B 0x5BFA # +0x8E9C 0x6148 # +0x8E9D 0x6301 # +0x8E9E 0x6642 # +0x8E9F 0x6B21 # +0x8EA0 0x6ECB # +0x8EA1 0x6CBB # +0x8EA2 0x723E # +0x8EA3 0x74BD # +0x8EA4 0x75D4 # +0x8EA5 0x78C1 # +0x8EA6 0x793A # +0x8EA7 0x800C # +0x8EA8 0x8033 # +0x8EA9 0x81EA # +0x8EAA 0x8494 # +0x8EAB 0x8F9E # +0x8EAC 0x6C50 # +0x8EAD 0x9E7F # +0x8EAE 0x5F0F # +0x8EAF 0x8B58 # +0x8EB0 0x9D2B # +0x8EB1 0x7AFA # +0x8EB2 0x8EF8 # +0x8EB3 0x5B8D # +0x8EB4 0x96EB # +0x8EB5 0x4E03 # +0x8EB6 0x53F1 # +0x8EB7 0x57F7 # +0x8EB8 0x5931 # +0x8EB9 0x5AC9 # +0x8EBA 0x5BA4 # +0x8EBB 0x6089 # +0x8EBC 0x6E7F # +0x8EBD 0x6F06 # +0x8EBE 0x75BE # +0x8EBF 0x8CEA # +0x8EC0 0x5B9F # +0x8EC1 0x8500 # +0x8EC2 0x7BE0 # +0x8EC3 0x5072 # +0x8EC4 0x67F4 # +0x8EC5 0x829D # +0x8EC6 0x5C61 # +0x8EC7 0x854A # +0x8EC8 0x7E1E # +0x8EC9 0x820E # +0x8ECA 0x5199 # +0x8ECB 0x5C04 # +0x8ECC 0x6368 # +0x8ECD 0x8D66 # +0x8ECE 0x659C # +0x8ECF 0x716E # +0x8ED0 0x793E # +0x8ED1 0x7D17 # +0x8ED2 0x8005 # +0x8ED3 0x8B1D # +0x8ED4 0x8ECA # +0x8ED5 0x906E # +0x8ED6 0x86C7 # +0x8ED7 0x90AA # +0x8ED8 0x501F # +0x8ED9 0x52FA # +0x8EDA 0x5C3A # +0x8EDB 0x6753 # +0x8EDC 0x707C # +0x8EDD 0x7235 # +0x8EDE 0x914C # +0x8EDF 0x91C8 # +0x8EE0 0x932B # +0x8EE1 0x82E5 # +0x8EE2 0x5BC2 # +0x8EE3 0x5F31 # +0x8EE4 0x60F9 # +0x8EE5 0x4E3B # +0x8EE6 0x53D6 # +0x8EE7 0x5B88 # +0x8EE8 0x624B # +0x8EE9 0x6731 # +0x8EEA 0x6B8A # +0x8EEB 0x72E9 # +0x8EEC 0x73E0 # +0x8EED 0x7A2E # +0x8EEE 0x816B # +0x8EEF 0x8DA3 # +0x8EF0 0x9152 # +0x8EF1 0x9996 # +0x8EF2 0x5112 # +0x8EF3 0x53D7 # +0x8EF4 0x546A # +0x8EF5 0x5BFF # +0x8EF6 0x6388 # +0x8EF7 0x6A39 # +0x8EF8 0x7DAC # +0x8EF9 0x9700 # +0x8EFA 0x56DA # +0x8EFB 0x53CE # +0x8EFC 0x5468 # +0x8F40 0x5B97 # +0x8F41 0x5C31 # +0x8F42 0x5DDE # +0x8F43 0x4FEE # +0x8F44 0x6101 # +0x8F45 0x62FE # +0x8F46 0x6D32 # +0x8F47 0x79C0 # +0x8F48 0x79CB # +0x8F49 0x7D42 # +0x8F4A 0x7E4D # +0x8F4B 0x7FD2 # +0x8F4C 0x81ED # +0x8F4D 0x821F # +0x8F4E 0x8490 # +0x8F4F 0x8846 # +0x8F50 0x8972 # +0x8F51 0x8B90 # +0x8F52 0x8E74 # +0x8F53 0x8F2F # +0x8F54 0x9031 # +0x8F55 0x914B # +0x8F56 0x916C # +0x8F57 0x96C6 # +0x8F58 0x919C # +0x8F59 0x4EC0 # +0x8F5A 0x4F4F # +0x8F5B 0x5145 # +0x8F5C 0x5341 # +0x8F5D 0x5F93 # +0x8F5E 0x620E # +0x8F5F 0x67D4 # +0x8F60 0x6C41 # +0x8F61 0x6E0B # +0x8F62 0x7363 # +0x8F63 0x7E26 # +0x8F64 0x91CD # +0x8F65 0x9283 # +0x8F66 0x53D4 # +0x8F67 0x5919 # +0x8F68 0x5BBF # +0x8F69 0x6DD1 # +0x8F6A 0x795D # +0x8F6B 0x7E2E # +0x8F6C 0x7C9B # +0x8F6D 0x587E # +0x8F6E 0x719F # +0x8F6F 0x51FA # +0x8F70 0x8853 # +0x8F71 0x8FF0 # +0x8F72 0x4FCA # +0x8F73 0x5CFB # +0x8F74 0x6625 # +0x8F75 0x77AC # +0x8F76 0x7AE3 # +0x8F77 0x821C # +0x8F78 0x99FF # +0x8F79 0x51C6 # +0x8F7A 0x5FAA # +0x8F7B 0x65EC # +0x8F7C 0x696F # +0x8F7D 0x6B89 # +0x8F7E 0x6DF3 # +0x8F80 0x6E96 # +0x8F81 0x6F64 # +0x8F82 0x76FE # +0x8F83 0x7D14 # +0x8F84 0x5DE1 # +0x8F85 0x9075 # +0x8F86 0x9187 # +0x8F87 0x9806 # +0x8F88 0x51E6 # +0x8F89 0x521D # +0x8F8A 0x6240 # +0x8F8B 0x6691 # +0x8F8C 0x66D9 # +0x8F8D 0x6E1A # +0x8F8E 0x5EB6 # +0x8F8F 0x7DD2 # +0x8F90 0x7F72 # +0x8F91 0x66F8 # +0x8F92 0x85AF # +0x8F93 0x85F7 # +0x8F94 0x8AF8 # +0x8F95 0x52A9 # +0x8F96 0x53D9 # +0x8F97 0x5973 # +0x8F98 0x5E8F # +0x8F99 0x5F90 # +0x8F9A 0x6055 # +0x8F9B 0x92E4 # +0x8F9C 0x9664 # +0x8F9D 0x50B7 # +0x8F9E 0x511F # +0x8F9F 0x52DD # +0x8FA0 0x5320 # +0x8FA1 0x5347 # +0x8FA2 0x53EC # +0x8FA3 0x54E8 # +0x8FA4 0x5546 # +0x8FA5 0x5531 # +0x8FA6 0x5617 # +0x8FA7 0x5968 # +0x8FA8 0x59BE # +0x8FA9 0x5A3C # +0x8FAA 0x5BB5 # +0x8FAB 0x5C06 # +0x8FAC 0x5C0F # +0x8FAD 0x5C11 # +0x8FAE 0x5C1A # +0x8FAF 0x5E84 # +0x8FB0 0x5E8A # +0x8FB1 0x5EE0 # +0x8FB2 0x5F70 # +0x8FB3 0x627F # +0x8FB4 0x6284 # +0x8FB5 0x62DB # +0x8FB6 0x638C # +0x8FB7 0x6377 # +0x8FB8 0x6607 # +0x8FB9 0x660C # +0x8FBA 0x662D # +0x8FBB 0x6676 # +0x8FBC 0x677E # +0x8FBD 0x68A2 # +0x8FBE 0x6A1F # +0x8FBF 0x6A35 # +0x8FC0 0x6CBC # +0x8FC1 0x6D88 # +0x8FC2 0x6E09 # +0x8FC3 0x6E58 # +0x8FC4 0x713C # +0x8FC5 0x7126 # +0x8FC6 0x7167 # +0x8FC7 0x75C7 # +0x8FC8 0x7701 # +0x8FC9 0x785D # +0x8FCA 0x7901 # +0x8FCB 0x7965 # +0x8FCC 0x79F0 # +0x8FCD 0x7AE0 # +0x8FCE 0x7B11 # +0x8FCF 0x7CA7 # +0x8FD0 0x7D39 # +0x8FD1 0x8096 # +0x8FD2 0x83D6 # +0x8FD3 0x848B # +0x8FD4 0x8549 # +0x8FD5 0x885D # +0x8FD6 0x88F3 # +0x8FD7 0x8A1F # +0x8FD8 0x8A3C # +0x8FD9 0x8A54 # +0x8FDA 0x8A73 # +0x8FDB 0x8C61 # +0x8FDC 0x8CDE # +0x8FDD 0x91A4 # +0x8FDE 0x9266 # +0x8FDF 0x937E # +0x8FE0 0x9418 # +0x8FE1 0x969C # +0x8FE2 0x9798 # +0x8FE3 0x4E0A # +0x8FE4 0x4E08 # +0x8FE5 0x4E1E # +0x8FE6 0x4E57 # +0x8FE7 0x5197 # +0x8FE8 0x5270 # +0x8FE9 0x57CE # +0x8FEA 0x5834 # +0x8FEB 0x58CC # +0x8FEC 0x5B22 # +0x8FED 0x5E38 # +0x8FEE 0x60C5 # +0x8FEF 0x64FE # +0x8FF0 0x6761 # +0x8FF1 0x6756 # +0x8FF2 0x6D44 # +0x8FF3 0x72B6 # +0x8FF4 0x7573 # +0x8FF5 0x7A63 # +0x8FF6 0x84B8 # +0x8FF7 0x8B72 # +0x8FF8 0x91B8 # +0x8FF9 0x9320 # +0x8FFA 0x5631 # +0x8FFB 0x57F4 # +0x8FFC 0x98FE # +0x9040 0x62ED # +0x9041 0x690D # +0x9042 0x6B96 # +0x9043 0x71ED # +0x9044 0x7E54 # +0x9045 0x8077 # +0x9046 0x8272 # +0x9047 0x89E6 # +0x9048 0x98DF # +0x9049 0x8755 # +0x904A 0x8FB1 # +0x904B 0x5C3B # +0x904C 0x4F38 # +0x904D 0x4FE1 # +0x904E 0x4FB5 # +0x904F 0x5507 # +0x9050 0x5A20 # +0x9051 0x5BDD # +0x9052 0x5BE9 # +0x9053 0x5FC3 # +0x9054 0x614E # +0x9055 0x632F # +0x9056 0x65B0 # +0x9057 0x664B # +0x9058 0x68EE # +0x9059 0x699B # +0x905A 0x6D78 # +0x905B 0x6DF1 # +0x905C 0x7533 # +0x905D 0x75B9 # +0x905E 0x771F # +0x905F 0x795E # +0x9060 0x79E6 # +0x9061 0x7D33 # +0x9062 0x81E3 # +0x9063 0x82AF # +0x9064 0x85AA # +0x9065 0x89AA # +0x9066 0x8A3A # +0x9067 0x8EAB # +0x9068 0x8F9B # +0x9069 0x9032 # +0x906A 0x91DD # +0x906B 0x9707 # +0x906C 0x4EBA # +0x906D 0x4EC1 # +0x906E 0x5203 # +0x906F 0x5875 # +0x9070 0x58EC # +0x9071 0x5C0B # +0x9072 0x751A # +0x9073 0x5C3D # +0x9074 0x814E # +0x9075 0x8A0A # +0x9076 0x8FC5 # +0x9077 0x9663 # +0x9078 0x976D # +0x9079 0x7B25 # +0x907A 0x8ACF # +0x907B 0x9808 # +0x907C 0x9162 # +0x907D 0x56F3 # +0x907E 0x53A8 # +0x9080 0x9017 # +0x9081 0x5439 # +0x9082 0x5782 # +0x9083 0x5E25 # +0x9084 0x63A8 # +0x9085 0x6C34 # +0x9086 0x708A # +0x9087 0x7761 # +0x9088 0x7C8B # +0x9089 0x7FE0 # +0x908A 0x8870 # +0x908B 0x9042 # +0x908C 0x9154 # +0x908D 0x9310 # +0x908E 0x9318 # +0x908F 0x968F # +0x9090 0x745E # +0x9091 0x9AC4 # +0x9092 0x5D07 # +0x9093 0x5D69 # +0x9094 0x6570 # +0x9095 0x67A2 # +0x9096 0x8DA8 # +0x9097 0x96DB # +0x9098 0x636E # +0x9099 0x6749 # +0x909A 0x6919 # +0x909B 0x83C5 # +0x909C 0x9817 # +0x909D 0x96C0 # +0x909E 0x88FE # +0x909F 0x6F84 # +0x90A0 0x647A # +0x90A1 0x5BF8 # +0x90A2 0x4E16 # +0x90A3 0x702C # +0x90A4 0x755D # +0x90A5 0x662F # +0x90A6 0x51C4 # +0x90A7 0x5236 # +0x90A8 0x52E2 # +0x90A9 0x59D3 # +0x90AA 0x5F81 # +0x90AB 0x6027 # +0x90AC 0x6210 # +0x90AD 0x653F # +0x90AE 0x6574 # +0x90AF 0x661F # +0x90B0 0x6674 # +0x90B1 0x68F2 # +0x90B2 0x6816 # +0x90B3 0x6B63 # +0x90B4 0x6E05 # +0x90B5 0x7272 # +0x90B6 0x751F # +0x90B7 0x76DB # +0x90B8 0x7CBE # +0x90B9 0x8056 # +0x90BA 0x58F0 # +0x90BB 0x88FD # +0x90BC 0x897F # +0x90BD 0x8AA0 # +0x90BE 0x8A93 # +0x90BF 0x8ACB # +0x90C0 0x901D # +0x90C1 0x9192 # +0x90C2 0x9752 # +0x90C3 0x9759 # +0x90C4 0x6589 # +0x90C5 0x7A0E # +0x90C6 0x8106 # +0x90C7 0x96BB # +0x90C8 0x5E2D # +0x90C9 0x60DC # +0x90CA 0x621A # +0x90CB 0x65A5 # +0x90CC 0x6614 # +0x90CD 0x6790 # +0x90CE 0x77F3 # +0x90CF 0x7A4D # +0x90D0 0x7C4D # +0x90D1 0x7E3E # +0x90D2 0x810A # +0x90D3 0x8CAC # +0x90D4 0x8D64 # +0x90D5 0x8DE1 # +0x90D6 0x8E5F # +0x90D7 0x78A9 # +0x90D8 0x5207 # +0x90D9 0x62D9 # +0x90DA 0x63A5 # +0x90DB 0x6442 # +0x90DC 0x6298 # +0x90DD 0x8A2D # +0x90DE 0x7A83 # +0x90DF 0x7BC0 # +0x90E0 0x8AAC # +0x90E1 0x96EA # +0x90E2 0x7D76 # +0x90E3 0x820C # +0x90E4 0x8749 # +0x90E5 0x4ED9 # +0x90E6 0x5148 # +0x90E7 0x5343 # +0x90E8 0x5360 # +0x90E9 0x5BA3 # +0x90EA 0x5C02 # +0x90EB 0x5C16 # +0x90EC 0x5DDD # +0x90ED 0x6226 # +0x90EE 0x6247 # +0x90EF 0x64B0 # +0x90F0 0x6813 # +0x90F1 0x6834 # +0x90F2 0x6CC9 # +0x90F3 0x6D45 # +0x90F4 0x6D17 # +0x90F5 0x67D3 # +0x90F6 0x6F5C # +0x90F7 0x714E # +0x90F8 0x717D # +0x90F9 0x65CB # +0x90FA 0x7A7F # +0x90FB 0x7BAD # +0x90FC 0x7DDA # +0x9140 0x7E4A # +0x9141 0x7FA8 # +0x9142 0x817A # +0x9143 0x821B # +0x9144 0x8239 # +0x9145 0x85A6 # +0x9146 0x8A6E # +0x9147 0x8CCE # +0x9148 0x8DF5 # +0x9149 0x9078 # +0x914A 0x9077 # +0x914B 0x92AD # +0x914C 0x9291 # +0x914D 0x9583 # +0x914E 0x9BAE # +0x914F 0x524D # +0x9150 0x5584 # +0x9151 0x6F38 # +0x9152 0x7136 # +0x9153 0x5168 # +0x9154 0x7985 # +0x9155 0x7E55 # +0x9156 0x81B3 # +0x9157 0x7CCE # +0x9158 0x564C # +0x9159 0x5851 # +0x915A 0x5CA8 # +0x915B 0x63AA # +0x915C 0x66FE # +0x915D 0x66FD # +0x915E 0x695A # +0x915F 0x72D9 # +0x9160 0x758F # +0x9161 0x758E # +0x9162 0x790E # +0x9163 0x7956 # +0x9164 0x79DF # +0x9165 0x7C97 # +0x9166 0x7D20 # +0x9167 0x7D44 # +0x9168 0x8607 # +0x9169 0x8A34 # +0x916A 0x963B # +0x916B 0x9061 # +0x916C 0x9F20 # +0x916D 0x50E7 # +0x916E 0x5275 # +0x916F 0x53CC # +0x9170 0x53E2 # +0x9171 0x5009 # +0x9172 0x55AA # +0x9173 0x58EE # +0x9174 0x594F # +0x9175 0x723D # +0x9176 0x5B8B # +0x9177 0x5C64 # +0x9178 0x531D # +0x9179 0x60E3 # +0x917A 0x60F3 # +0x917B 0x635C # +0x917C 0x6383 # +0x917D 0x633F # +0x917E 0x63BB # +0x9180 0x64CD # +0x9181 0x65E9 # +0x9182 0x66F9 # +0x9183 0x5DE3 # +0x9184 0x69CD # +0x9185 0x69FD # +0x9186 0x6F15 # +0x9187 0x71E5 # +0x9188 0x4E89 # +0x9189 0x75E9 # +0x918A 0x76F8 # +0x918B 0x7A93 # +0x918C 0x7CDF # +0x918D 0x7DCF # +0x918E 0x7D9C # +0x918F 0x8061 # +0x9190 0x8349 # +0x9191 0x8358 # +0x9192 0x846C # +0x9193 0x84BC # +0x9194 0x85FB # +0x9195 0x88C5 # +0x9196 0x8D70 # +0x9197 0x9001 # +0x9198 0x906D # +0x9199 0x9397 # +0x919A 0x971C # +0x919B 0x9A12 # +0x919C 0x50CF # +0x919D 0x5897 # +0x919E 0x618E # +0x919F 0x81D3 # +0x91A0 0x8535 # +0x91A1 0x8D08 # +0x91A2 0x9020 # +0x91A3 0x4FC3 # +0x91A4 0x5074 # +0x91A5 0x5247 # +0x91A6 0x5373 # +0x91A7 0x606F # +0x91A8 0x6349 # +0x91A9 0x675F # +0x91AA 0x6E2C # +0x91AB 0x8DB3 # +0x91AC 0x901F # +0x91AD 0x4FD7 # +0x91AE 0x5C5E # +0x91AF 0x8CCA # +0x91B0 0x65CF # +0x91B1 0x7D9A # +0x91B2 0x5352 # +0x91B3 0x8896 # +0x91B4 0x5176 # +0x91B5 0x63C3 # +0x91B6 0x5B58 # +0x91B7 0x5B6B # +0x91B8 0x5C0A # +0x91B9 0x640D # +0x91BA 0x6751 # +0x91BB 0x905C # +0x91BC 0x4ED6 # +0x91BD 0x591A # +0x91BE 0x592A # +0x91BF 0x6C70 # +0x91C0 0x8A51 # +0x91C1 0x553E # +0x91C2 0x5815 # +0x91C3 0x59A5 # +0x91C4 0x60F0 # +0x91C5 0x6253 # +0x91C6 0x67C1 # +0x91C7 0x8235 # +0x91C8 0x6955 # +0x91C9 0x9640 # +0x91CA 0x99C4 # +0x91CB 0x9A28 # +0x91CC 0x4F53 # +0x91CD 0x5806 # +0x91CE 0x5BFE # +0x91CF 0x8010 # +0x91D0 0x5CB1 # +0x91D1 0x5E2F # +0x91D2 0x5F85 # +0x91D3 0x6020 # +0x91D4 0x614B # +0x91D5 0x6234 # +0x91D6 0x66FF # +0x91D7 0x6CF0 # +0x91D8 0x6EDE # +0x91D9 0x80CE # +0x91DA 0x817F # +0x91DB 0x82D4 # +0x91DC 0x888B # +0x91DD 0x8CB8 # +0x91DE 0x9000 # +0x91DF 0x902E # +0x91E0 0x968A # +0x91E1 0x9EDB # +0x91E2 0x9BDB # +0x91E3 0x4EE3 # +0x91E4 0x53F0 # +0x91E5 0x5927 # +0x91E6 0x7B2C # +0x91E7 0x918D # +0x91E8 0x984C # +0x91E9 0x9DF9 # +0x91EA 0x6EDD # +0x91EB 0x7027 # +0x91EC 0x5353 # +0x91ED 0x5544 # +0x91EE 0x5B85 # +0x91EF 0x6258 # +0x91F0 0x629E # +0x91F1 0x62D3 # +0x91F2 0x6CA2 # +0x91F3 0x6FEF # +0x91F4 0x7422 # +0x91F5 0x8A17 # +0x91F6 0x9438 # +0x91F7 0x6FC1 # +0x91F8 0x8AFE # +0x91F9 0x8338 # +0x91FA 0x51E7 # +0x91FB 0x86F8 # +0x91FC 0x53EA # +0x9240 0x53E9 # +0x9241 0x4F46 # +0x9242 0x9054 # +0x9243 0x8FB0 # +0x9244 0x596A # +0x9245 0x8131 # +0x9246 0x5DFD # +0x9247 0x7AEA # +0x9248 0x8FBF # +0x9249 0x68DA # +0x924A 0x8C37 # +0x924B 0x72F8 # +0x924C 0x9C48 # +0x924D 0x6A3D # +0x924E 0x8AB0 # +0x924F 0x4E39 # +0x9250 0x5358 # +0x9251 0x5606 # +0x9252 0x5766 # +0x9253 0x62C5 # +0x9254 0x63A2 # +0x9255 0x65E6 # +0x9256 0x6B4E # +0x9257 0x6DE1 # +0x9258 0x6E5B # +0x9259 0x70AD # +0x925A 0x77ED # +0x925B 0x7AEF # +0x925C 0x7BAA # +0x925D 0x7DBB # +0x925E 0x803D # +0x925F 0x80C6 # +0x9260 0x86CB # +0x9261 0x8A95 # +0x9262 0x935B # +0x9263 0x56E3 # +0x9264 0x58C7 # +0x9265 0x5F3E # +0x9266 0x65AD # +0x9267 0x6696 # +0x9268 0x6A80 # +0x9269 0x6BB5 # +0x926A 0x7537 # +0x926B 0x8AC7 # +0x926C 0x5024 # +0x926D 0x77E5 # +0x926E 0x5730 # +0x926F 0x5F1B # +0x9270 0x6065 # +0x9271 0x667A # +0x9272 0x6C60 # +0x9273 0x75F4 # +0x9274 0x7A1A # +0x9275 0x7F6E # +0x9276 0x81F4 # +0x9277 0x8718 # +0x9278 0x9045 # +0x9279 0x99B3 # +0x927A 0x7BC9 # +0x927B 0x755C # +0x927C 0x7AF9 # +0x927D 0x7B51 # +0x927E 0x84C4 # +0x9280 0x9010 # +0x9281 0x79E9 # +0x9282 0x7A92 # +0x9283 0x8336 # +0x9284 0x5AE1 # +0x9285 0x7740 # +0x9286 0x4E2D # +0x9287 0x4EF2 # +0x9288 0x5B99 # +0x9289 0x5FE0 # +0x928A 0x62BD # +0x928B 0x663C # +0x928C 0x67F1 # +0x928D 0x6CE8 # +0x928E 0x866B # +0x928F 0x8877 # +0x9290 0x8A3B # +0x9291 0x914E # +0x9292 0x92F3 # +0x9293 0x99D0 # +0x9294 0x6A17 # +0x9295 0x7026 # +0x9296 0x732A # +0x9297 0x82E7 # +0x9298 0x8457 # +0x9299 0x8CAF # +0x929A 0x4E01 # +0x929B 0x5146 # +0x929C 0x51CB # +0x929D 0x558B # +0x929E 0x5BF5 # +0x929F 0x5E16 # +0x92A0 0x5E33 # +0x92A1 0x5E81 # +0x92A2 0x5F14 # +0x92A3 0x5F35 # +0x92A4 0x5F6B # +0x92A5 0x5FB4 # +0x92A6 0x61F2 # +0x92A7 0x6311 # +0x92A8 0x66A2 # +0x92A9 0x671D # +0x92AA 0x6F6E # +0x92AB 0x7252 # +0x92AC 0x753A # +0x92AD 0x773A # +0x92AE 0x8074 # +0x92AF 0x8139 # +0x92B0 0x8178 # +0x92B1 0x8776 # +0x92B2 0x8ABF # +0x92B3 0x8ADC # +0x92B4 0x8D85 # +0x92B5 0x8DF3 # +0x92B6 0x929A # +0x92B7 0x9577 # +0x92B8 0x9802 # +0x92B9 0x9CE5 # +0x92BA 0x52C5 # +0x92BB 0x6357 # +0x92BC 0x76F4 # +0x92BD 0x6715 # +0x92BE 0x6C88 # +0x92BF 0x73CD # +0x92C0 0x8CC3 # +0x92C1 0x93AE # +0x92C2 0x9673 # +0x92C3 0x6D25 # +0x92C4 0x589C # +0x92C5 0x690E # +0x92C6 0x69CC # +0x92C7 0x8FFD # +0x92C8 0x939A # +0x92C9 0x75DB # +0x92CA 0x901A # +0x92CB 0x585A # +0x92CC 0x6802 # +0x92CD 0x63B4 # +0x92CE 0x69FB # +0x92CF 0x4F43 # +0x92D0 0x6F2C # +0x92D1 0x67D8 # +0x92D2 0x8FBB # +0x92D3 0x8526 # +0x92D4 0x7DB4 # +0x92D5 0x9354 # +0x92D6 0x693F # +0x92D7 0x6F70 # +0x92D8 0x576A # +0x92D9 0x58F7 # +0x92DA 0x5B2C # +0x92DB 0x7D2C # +0x92DC 0x722A # +0x92DD 0x540A # +0x92DE 0x91E3 # +0x92DF 0x9DB4 # +0x92E0 0x4EAD # +0x92E1 0x4F4E # +0x92E2 0x505C # +0x92E3 0x5075 # +0x92E4 0x5243 # +0x92E5 0x8C9E # +0x92E6 0x5448 # +0x92E7 0x5824 # +0x92E8 0x5B9A # +0x92E9 0x5E1D # +0x92EA 0x5E95 # +0x92EB 0x5EAD # +0x92EC 0x5EF7 # +0x92ED 0x5F1F # +0x92EE 0x608C # +0x92EF 0x62B5 # +0x92F0 0x633A # +0x92F1 0x63D0 # +0x92F2 0x68AF # +0x92F3 0x6C40 # +0x92F4 0x7887 # +0x92F5 0x798E # +0x92F6 0x7A0B # +0x92F7 0x7DE0 # +0x92F8 0x8247 # +0x92F9 0x8A02 # +0x92FA 0x8AE6 # +0x92FB 0x8E44 # +0x92FC 0x9013 # +0x9340 0x90B8 # +0x9341 0x912D # +0x9342 0x91D8 # +0x9343 0x9F0E # +0x9344 0x6CE5 # +0x9345 0x6458 # +0x9346 0x64E2 # +0x9347 0x6575 # +0x9348 0x6EF4 # +0x9349 0x7684 # +0x934A 0x7B1B # +0x934B 0x9069 # +0x934C 0x93D1 # +0x934D 0x6EBA # +0x934E 0x54F2 # +0x934F 0x5FB9 # +0x9350 0x64A4 # +0x9351 0x8F4D # +0x9352 0x8FED # +0x9353 0x9244 # +0x9354 0x5178 # +0x9355 0x586B # +0x9356 0x5929 # +0x9357 0x5C55 # +0x9358 0x5E97 # +0x9359 0x6DFB # +0x935A 0x7E8F # +0x935B 0x751C # +0x935C 0x8CBC # +0x935D 0x8EE2 # +0x935E 0x985B # +0x935F 0x70B9 # +0x9360 0x4F1D # +0x9361 0x6BBF # +0x9362 0x6FB1 # +0x9363 0x7530 # +0x9364 0x96FB # +0x9365 0x514E # +0x9366 0x5410 # +0x9367 0x5835 # +0x9368 0x5857 # +0x9369 0x59AC # +0x936A 0x5C60 # +0x936B 0x5F92 # +0x936C 0x6597 # +0x936D 0x675C # +0x936E 0x6E21 # +0x936F 0x767B # +0x9370 0x83DF # +0x9371 0x8CED # +0x9372 0x9014 # +0x9373 0x90FD # +0x9374 0x934D # +0x9375 0x7825 # +0x9376 0x783A # +0x9377 0x52AA # +0x9378 0x5EA6 # +0x9379 0x571F # +0x937A 0x5974 # +0x937B 0x6012 # +0x937C 0x5012 # +0x937D 0x515A # +0x937E 0x51AC # +0x9380 0x51CD # +0x9381 0x5200 # +0x9382 0x5510 # +0x9383 0x5854 # +0x9384 0x5858 # +0x9385 0x5957 # +0x9386 0x5B95 # +0x9387 0x5CF6 # +0x9388 0x5D8B # +0x9389 0x60BC # +0x938A 0x6295 # +0x938B 0x642D # +0x938C 0x6771 # +0x938D 0x6843 # +0x938E 0x68BC # +0x938F 0x68DF # +0x9390 0x76D7 # +0x9391 0x6DD8 # +0x9392 0x6E6F # +0x9393 0x6D9B # +0x9394 0x706F # +0x9395 0x71C8 # +0x9396 0x5F53 # +0x9397 0x75D8 # +0x9398 0x7977 # +0x9399 0x7B49 # +0x939A 0x7B54 # +0x939B 0x7B52 # +0x939C 0x7CD6 # +0x939D 0x7D71 # +0x939E 0x5230 # +0x939F 0x8463 # +0x93A0 0x8569 # +0x93A1 0x85E4 # +0x93A2 0x8A0E # +0x93A3 0x8B04 # +0x93A4 0x8C46 # +0x93A5 0x8E0F # +0x93A6 0x9003 # +0x93A7 0x900F # +0x93A8 0x9419 # +0x93A9 0x9676 # +0x93AA 0x982D # +0x93AB 0x9A30 # +0x93AC 0x95D8 # +0x93AD 0x50CD # +0x93AE 0x52D5 # +0x93AF 0x540C # +0x93B0 0x5802 # +0x93B1 0x5C0E # +0x93B2 0x61A7 # +0x93B3 0x649E # +0x93B4 0x6D1E # +0x93B5 0x77B3 # +0x93B6 0x7AE5 # +0x93B7 0x80F4 # +0x93B8 0x8404 # +0x93B9 0x9053 # +0x93BA 0x9285 # +0x93BB 0x5CE0 # +0x93BC 0x9D07 # +0x93BD 0x533F # +0x93BE 0x5F97 # +0x93BF 0x5FB3 # +0x93C0 0x6D9C # +0x93C1 0x7279 # +0x93C2 0x7763 # +0x93C3 0x79BF # +0x93C4 0x7BE4 # +0x93C5 0x6BD2 # +0x93C6 0x72EC # +0x93C7 0x8AAD # +0x93C8 0x6803 # +0x93C9 0x6A61 # +0x93CA 0x51F8 # +0x93CB 0x7A81 # +0x93CC 0x6934 # +0x93CD 0x5C4A # +0x93CE 0x9CF6 # +0x93CF 0x82EB # +0x93D0 0x5BC5 # +0x93D1 0x9149 # +0x93D2 0x701E # +0x93D3 0x5678 # +0x93D4 0x5C6F # +0x93D5 0x60C7 # +0x93D6 0x6566 # +0x93D7 0x6C8C # +0x93D8 0x8C5A # +0x93D9 0x9041 # +0x93DA 0x9813 # +0x93DB 0x5451 # +0x93DC 0x66C7 # +0x93DD 0x920D # +0x93DE 0x5948 # +0x93DF 0x90A3 # +0x93E0 0x5185 # +0x93E1 0x4E4D # +0x93E2 0x51EA # +0x93E3 0x8599 # +0x93E4 0x8B0E # +0x93E5 0x7058 # +0x93E6 0x637A # +0x93E7 0x934B # +0x93E8 0x6962 # +0x93E9 0x99B4 # +0x93EA 0x7E04 # +0x93EB 0x7577 # +0x93EC 0x5357 # +0x93ED 0x6960 # +0x93EE 0x8EDF # +0x93EF 0x96E3 # +0x93F0 0x6C5D # +0x93F1 0x4E8C # +0x93F2 0x5C3C # +0x93F3 0x5F10 # +0x93F4 0x8FE9 # +0x93F5 0x5302 # +0x93F6 0x8CD1 # +0x93F7 0x8089 # +0x93F8 0x8679 # +0x93F9 0x5EFF # +0x93FA 0x65E5 # +0x93FB 0x4E73 # +0x93FC 0x5165 # +0x9440 0x5982 # +0x9441 0x5C3F # +0x9442 0x97EE # +0x9443 0x4EFB # +0x9444 0x598A # +0x9445 0x5FCD # +0x9446 0x8A8D # +0x9447 0x6FE1 # +0x9448 0x79B0 # +0x9449 0x7962 # +0x944A 0x5BE7 # +0x944B 0x8471 # +0x944C 0x732B # +0x944D 0x71B1 # +0x944E 0x5E74 # +0x944F 0x5FF5 # +0x9450 0x637B # +0x9451 0x649A # +0x9452 0x71C3 # +0x9453 0x7C98 # +0x9454 0x4E43 # +0x9455 0x5EFC # +0x9456 0x4E4B # +0x9457 0x57DC # +0x9458 0x56A2 # +0x9459 0x60A9 # +0x945A 0x6FC3 # +0x945B 0x7D0D # +0x945C 0x80FD # +0x945D 0x8133 # +0x945E 0x81BF # +0x945F 0x8FB2 # +0x9460 0x8997 # +0x9461 0x86A4 # +0x9462 0x5DF4 # +0x9463 0x628A # +0x9464 0x64AD # +0x9465 0x8987 # +0x9466 0x6777 # +0x9467 0x6CE2 # +0x9468 0x6D3E # +0x9469 0x7436 # +0x946A 0x7834 # +0x946B 0x5A46 # +0x946C 0x7F75 # +0x946D 0x82AD # +0x946E 0x99AC # +0x946F 0x4FF3 # +0x9470 0x5EC3 # +0x9471 0x62DD # +0x9472 0x6392 # +0x9473 0x6557 # +0x9474 0x676F # +0x9475 0x76C3 # +0x9476 0x724C # +0x9477 0x80CC # +0x9478 0x80BA # +0x9479 0x8F29 # +0x947A 0x914D # +0x947B 0x500D # +0x947C 0x57F9 # +0x947D 0x5A92 # +0x947E 0x6885 # +0x9480 0x6973 # +0x9481 0x7164 # +0x9482 0x72FD # +0x9483 0x8CB7 # +0x9484 0x58F2 # +0x9485 0x8CE0 # +0x9486 0x966A # +0x9487 0x9019 # +0x9488 0x877F # +0x9489 0x79E4 # +0x948A 0x77E7 # +0x948B 0x8429 # +0x948C 0x4F2F # +0x948D 0x5265 # +0x948E 0x535A # +0x948F 0x62CD # +0x9490 0x67CF # +0x9491 0x6CCA # +0x9492 0x767D # +0x9493 0x7B94 # +0x9494 0x7C95 # +0x9495 0x8236 # +0x9496 0x8584 # +0x9497 0x8FEB # +0x9498 0x66DD # +0x9499 0x6F20 # +0x949A 0x7206 # +0x949B 0x7E1B # +0x949C 0x83AB # +0x949D 0x99C1 # +0x949E 0x9EA6 # +0x949F 0x51FD # +0x94A0 0x7BB1 # +0x94A1 0x7872 # +0x94A2 0x7BB8 # +0x94A3 0x8087 # +0x94A4 0x7B48 # +0x94A5 0x6AE8 # +0x94A6 0x5E61 # +0x94A7 0x808C # +0x94A8 0x7551 # +0x94A9 0x7560 # +0x94AA 0x516B # +0x94AB 0x9262 # +0x94AC 0x6E8C # +0x94AD 0x767A # +0x94AE 0x9197 # +0x94AF 0x9AEA # +0x94B0 0x4F10 # +0x94B1 0x7F70 # +0x94B2 0x629C # +0x94B3 0x7B4F # +0x94B4 0x95A5 # +0x94B5 0x9CE9 # +0x94B6 0x567A # +0x94B7 0x5859 # +0x94B8 0x86E4 # +0x94B9 0x96BC # +0x94BA 0x4F34 # +0x94BB 0x5224 # +0x94BC 0x534A # +0x94BD 0x53CD # +0x94BE 0x53DB # +0x94BF 0x5E06 # +0x94C0 0x642C # +0x94C1 0x6591 # +0x94C2 0x677F # +0x94C3 0x6C3E # +0x94C4 0x6C4E # +0x94C5 0x7248 # +0x94C6 0x72AF # +0x94C7 0x73ED # +0x94C8 0x7554 # +0x94C9 0x7E41 # +0x94CA 0x822C # +0x94CB 0x85E9 # +0x94CC 0x8CA9 # +0x94CD 0x7BC4 # +0x94CE 0x91C6 # +0x94CF 0x7169 # +0x94D0 0x9812 # +0x94D1 0x98EF # +0x94D2 0x633D # +0x94D3 0x6669 # +0x94D4 0x756A # +0x94D5 0x76E4 # +0x94D6 0x78D0 # +0x94D7 0x8543 # +0x94D8 0x86EE # +0x94D9 0x532A # +0x94DA 0x5351 # +0x94DB 0x5426 # +0x94DC 0x5983 # +0x94DD 0x5E87 # +0x94DE 0x5F7C # +0x94DF 0x60B2 # +0x94E0 0x6249 # +0x94E1 0x6279 # +0x94E2 0x62AB # +0x94E3 0x6590 # +0x94E4 0x6BD4 # +0x94E5 0x6CCC # +0x94E6 0x75B2 # +0x94E7 0x76AE # +0x94E8 0x7891 # +0x94E9 0x79D8 # +0x94EA 0x7DCB # +0x94EB 0x7F77 # +0x94EC 0x80A5 # +0x94ED 0x88AB # +0x94EE 0x8AB9 # +0x94EF 0x8CBB # +0x94F0 0x907F # +0x94F1 0x975E # +0x94F2 0x98DB # +0x94F3 0x6A0B # +0x94F4 0x7C38 # +0x94F5 0x5099 # +0x94F6 0x5C3E # +0x94F7 0x5FAE # +0x94F8 0x6787 # +0x94F9 0x6BD8 # +0x94FA 0x7435 # +0x94FB 0x7709 # +0x94FC 0x7F8E # +0x9540 0x9F3B # +0x9541 0x67CA # +0x9542 0x7A17 # +0x9543 0x5339 # +0x9544 0x758B # +0x9545 0x9AED # +0x9546 0x5F66 # +0x9547 0x819D # +0x9548 0x83F1 # +0x9549 0x8098 # +0x954A 0x5F3C # +0x954B 0x5FC5 # +0x954C 0x7562 # +0x954D 0x7B46 # +0x954E 0x903C # +0x954F 0x6867 # +0x9550 0x59EB # +0x9551 0x5A9B # +0x9552 0x7D10 # +0x9553 0x767E # +0x9554 0x8B2C # +0x9555 0x4FF5 # +0x9556 0x5F6A # +0x9557 0x6A19 # +0x9558 0x6C37 # +0x9559 0x6F02 # +0x955A 0x74E2 # +0x955B 0x7968 # +0x955C 0x8868 # +0x955D 0x8A55 # +0x955E 0x8C79 # +0x955F 0x5EDF # +0x9560 0x63CF # +0x9561 0x75C5 # +0x9562 0x79D2 # +0x9563 0x82D7 # +0x9564 0x9328 # +0x9565 0x92F2 # +0x9566 0x849C # +0x9567 0x86ED # +0x9568 0x9C2D # +0x9569 0x54C1 # +0x956A 0x5F6C # +0x956B 0x658C # +0x956C 0x6D5C # +0x956D 0x7015 # +0x956E 0x8CA7 # +0x956F 0x8CD3 # +0x9570 0x983B # +0x9571 0x654F # +0x9572 0x74F6 # +0x9573 0x4E0D # +0x9574 0x4ED8 # +0x9575 0x57E0 # +0x9576 0x592B # +0x9577 0x5A66 # +0x9578 0x5BCC # +0x9579 0x51A8 # +0x957A 0x5E03 # +0x957B 0x5E9C # +0x957C 0x6016 # +0x957D 0x6276 # +0x957E 0x6577 # +0x9580 0x65A7 # +0x9581 0x666E # +0x9582 0x6D6E # +0x9583 0x7236 # +0x9584 0x7B26 # +0x9585 0x8150 # +0x9586 0x819A # +0x9587 0x8299 # +0x9588 0x8B5C # +0x9589 0x8CA0 # +0x958A 0x8CE6 # +0x958B 0x8D74 # +0x958C 0x961C # +0x958D 0x9644 # +0x958E 0x4FAE # +0x958F 0x64AB # +0x9590 0x6B66 # +0x9591 0x821E # +0x9592 0x8461 # +0x9593 0x856A # +0x9594 0x90E8 # +0x9595 0x5C01 # +0x9596 0x6953 # +0x9597 0x98A8 # +0x9598 0x847A # +0x9599 0x8557 # +0x959A 0x4F0F # +0x959B 0x526F # +0x959C 0x5FA9 # +0x959D 0x5E45 # +0x959E 0x670D # +0x959F 0x798F # +0x95A0 0x8179 # +0x95A1 0x8907 # +0x95A2 0x8986 # +0x95A3 0x6DF5 # +0x95A4 0x5F17 # +0x95A5 0x6255 # +0x95A6 0x6CB8 # +0x95A7 0x4ECF # +0x95A8 0x7269 # +0x95A9 0x9B92 # +0x95AA 0x5206 # +0x95AB 0x543B # +0x95AC 0x5674 # +0x95AD 0x58B3 # +0x95AE 0x61A4 # +0x95AF 0x626E # +0x95B0 0x711A # +0x95B1 0x596E # +0x95B2 0x7C89 # +0x95B3 0x7CDE # +0x95B4 0x7D1B # +0x95B5 0x96F0 # +0x95B6 0x6587 # +0x95B7 0x805E # +0x95B8 0x4E19 # +0x95B9 0x4F75 # +0x95BA 0x5175 # +0x95BB 0x5840 # +0x95BC 0x5E63 # +0x95BD 0x5E73 # +0x95BE 0x5F0A # +0x95BF 0x67C4 # +0x95C0 0x4E26 # +0x95C1 0x853D # +0x95C2 0x9589 # +0x95C3 0x965B # +0x95C4 0x7C73 # +0x95C5 0x9801 # +0x95C6 0x50FB # +0x95C7 0x58C1 # +0x95C8 0x7656 # +0x95C9 0x78A7 # +0x95CA 0x5225 # +0x95CB 0x77A5 # +0x95CC 0x8511 # +0x95CD 0x7B86 # +0x95CE 0x504F # +0x95CF 0x5909 # +0x95D0 0x7247 # +0x95D1 0x7BC7 # +0x95D2 0x7DE8 # +0x95D3 0x8FBA # +0x95D4 0x8FD4 # +0x95D5 0x904D # +0x95D6 0x4FBF # +0x95D7 0x52C9 # +0x95D8 0x5A29 # +0x95D9 0x5F01 # +0x95DA 0x97AD # +0x95DB 0x4FDD # +0x95DC 0x8217 # +0x95DD 0x92EA # +0x95DE 0x5703 # +0x95DF 0x6355 # +0x95E0 0x6B69 # +0x95E1 0x752B # +0x95E2 0x88DC # +0x95E3 0x8F14 # +0x95E4 0x7A42 # +0x95E5 0x52DF # +0x95E6 0x5893 # +0x95E7 0x6155 # +0x95E8 0x620A # +0x95E9 0x66AE # +0x95EA 0x6BCD # +0x95EB 0x7C3F # +0x95EC 0x83E9 # +0x95ED 0x5023 # +0x95EE 0x4FF8 # +0x95EF 0x5305 # +0x95F0 0x5446 # +0x95F1 0x5831 # +0x95F2 0x5949 # +0x95F3 0x5B9D # +0x95F4 0x5CF0 # +0x95F5 0x5CEF # +0x95F6 0x5D29 # +0x95F7 0x5E96 # +0x95F8 0x62B1 # +0x95F9 0x6367 # +0x95FA 0x653E # +0x95FB 0x65B9 # +0x95FC 0x670B # +0x9640 0x6CD5 # +0x9641 0x6CE1 # +0x9642 0x70F9 # +0x9643 0x7832 # +0x9644 0x7E2B # +0x9645 0x80DE # +0x9646 0x82B3 # +0x9647 0x840C # +0x9648 0x84EC # +0x9649 0x8702 # +0x964A 0x8912 # +0x964B 0x8A2A # +0x964C 0x8C4A # +0x964D 0x90A6 # +0x964E 0x92D2 # +0x964F 0x98FD # +0x9650 0x9CF3 # +0x9651 0x9D6C # +0x9652 0x4E4F # +0x9653 0x4EA1 # +0x9654 0x508D # +0x9655 0x5256 # +0x9656 0x574A # +0x9657 0x59A8 # +0x9658 0x5E3D # +0x9659 0x5FD8 # +0x965A 0x5FD9 # +0x965B 0x623F # +0x965C 0x66B4 # +0x965D 0x671B # +0x965E 0x67D0 # +0x965F 0x68D2 # +0x9660 0x5192 # +0x9661 0x7D21 # +0x9662 0x80AA # +0x9663 0x81A8 # +0x9664 0x8B00 # +0x9665 0x8C8C # +0x9666 0x8CBF # +0x9667 0x927E # +0x9668 0x9632 # +0x9669 0x5420 # +0x966A 0x982C # +0x966B 0x5317 # +0x966C 0x50D5 # +0x966D 0x535C # +0x966E 0x58A8 # +0x966F 0x64B2 # +0x9670 0x6734 # +0x9671 0x7267 # +0x9672 0x7766 # +0x9673 0x7A46 # +0x9674 0x91E6 # +0x9675 0x52C3 # +0x9676 0x6CA1 # +0x9677 0x6B86 # +0x9678 0x5800 # +0x9679 0x5E4C # +0x967A 0x5954 # +0x967B 0x672C # +0x967C 0x7FFB # +0x967D 0x51E1 # +0x967E 0x76C6 # +0x9680 0x6469 # +0x9681 0x78E8 # +0x9682 0x9B54 # +0x9683 0x9EBB # +0x9684 0x57CB # +0x9685 0x59B9 # +0x9686 0x6627 # +0x9687 0x679A # +0x9688 0x6BCE # +0x9689 0x54E9 # +0x968A 0x69D9 # +0x968B 0x5E55 # +0x968C 0x819C # +0x968D 0x6795 # +0x968E 0x9BAA # +0x968F 0x67FE # +0x9690 0x9C52 # +0x9691 0x685D # +0x9692 0x4EA6 # +0x9693 0x4FE3 # +0x9694 0x53C8 # +0x9695 0x62B9 # +0x9696 0x672B # +0x9697 0x6CAB # +0x9698 0x8FC4 # +0x9699 0x4FAD # +0x969A 0x7E6D # +0x969B 0x9EBF # +0x969C 0x4E07 # +0x969D 0x6162 # +0x969E 0x6E80 # +0x969F 0x6F2B # +0x96A0 0x8513 # +0x96A1 0x5473 # +0x96A2 0x672A # +0x96A3 0x9B45 # +0x96A4 0x5DF3 # +0x96A5 0x7B95 # +0x96A6 0x5CAC # +0x96A7 0x5BC6 # +0x96A8 0x871C # +0x96A9 0x6E4A # +0x96AA 0x84D1 # +0x96AB 0x7A14 # +0x96AC 0x8108 # +0x96AD 0x5999 # +0x96AE 0x7C8D # +0x96AF 0x6C11 # +0x96B0 0x7720 # +0x96B1 0x52D9 # +0x96B2 0x5922 # +0x96B3 0x7121 # +0x96B4 0x725F # +0x96B5 0x77DB # +0x96B6 0x9727 # +0x96B7 0x9D61 # +0x96B8 0x690B # +0x96B9 0x5A7F # +0x96BA 0x5A18 # +0x96BB 0x51A5 # +0x96BC 0x540D # +0x96BD 0x547D # +0x96BE 0x660E # +0x96BF 0x76DF # +0x96C0 0x8FF7 # +0x96C1 0x9298 # +0x96C2 0x9CF4 # +0x96C3 0x59EA # +0x96C4 0x725D # +0x96C5 0x6EC5 # +0x96C6 0x514D # +0x96C7 0x68C9 # +0x96C8 0x7DBF # +0x96C9 0x7DEC # +0x96CA 0x9762 # +0x96CB 0x9EBA # +0x96CC 0x6478 # +0x96CD 0x6A21 # +0x96CE 0x8302 # +0x96CF 0x5984 # +0x96D0 0x5B5F # +0x96D1 0x6BDB # +0x96D2 0x731B # +0x96D3 0x76F2 # +0x96D4 0x7DB2 # +0x96D5 0x8017 # +0x96D6 0x8499 # +0x96D7 0x5132 # +0x96D8 0x6728 # +0x96D9 0x9ED9 # +0x96DA 0x76EE # +0x96DB 0x6762 # +0x96DC 0x52FF # +0x96DD 0x9905 # +0x96DE 0x5C24 # +0x96DF 0x623B # +0x96E0 0x7C7E # +0x96E1 0x8CB0 # +0x96E2 0x554F # +0x96E3 0x60B6 # +0x96E4 0x7D0B # +0x96E5 0x9580 # +0x96E6 0x5301 # +0x96E7 0x4E5F # +0x96E8 0x51B6 # +0x96E9 0x591C # +0x96EA 0x723A # +0x96EB 0x8036 # +0x96EC 0x91CE # +0x96ED 0x5F25 # +0x96EE 0x77E2 # +0x96EF 0x5384 # +0x96F0 0x5F79 # +0x96F1 0x7D04 # +0x96F2 0x85AC # +0x96F3 0x8A33 # +0x96F4 0x8E8D # +0x96F5 0x9756 # +0x96F6 0x67F3 # +0x96F7 0x85AE # +0x96F8 0x9453 # +0x96F9 0x6109 # +0x96FA 0x6108 # +0x96FB 0x6CB9 # +0x96FC 0x7652 # +0x9740 0x8AED # +0x9741 0x8F38 # +0x9742 0x552F # +0x9743 0x4F51 # +0x9744 0x512A # +0x9745 0x52C7 # +0x9746 0x53CB # +0x9747 0x5BA5 # +0x9748 0x5E7D # +0x9749 0x60A0 # +0x974A 0x6182 # +0x974B 0x63D6 # +0x974C 0x6709 # +0x974D 0x67DA # +0x974E 0x6E67 # +0x974F 0x6D8C # +0x9750 0x7336 # +0x9751 0x7337 # +0x9752 0x7531 # +0x9753 0x7950 # +0x9754 0x88D5 # +0x9755 0x8A98 # +0x9756 0x904A # +0x9757 0x9091 # +0x9758 0x90F5 # +0x9759 0x96C4 # +0x975A 0x878D # +0x975B 0x5915 # +0x975C 0x4E88 # +0x975D 0x4F59 # +0x975E 0x4E0E # +0x975F 0x8A89 # +0x9760 0x8F3F # +0x9761 0x9810 # +0x9762 0x50AD # +0x9763 0x5E7C # +0x9764 0x5996 # +0x9765 0x5BB9 # +0x9766 0x5EB8 # +0x9767 0x63DA # +0x9768 0x63FA # +0x9769 0x64C1 # +0x976A 0x66DC # +0x976B 0x694A # +0x976C 0x69D8 # +0x976D 0x6D0B # +0x976E 0x6EB6 # +0x976F 0x7194 # +0x9770 0x7528 # +0x9771 0x7AAF # +0x9772 0x7F8A # +0x9773 0x8000 # +0x9774 0x8449 # +0x9775 0x84C9 # +0x9776 0x8981 # +0x9777 0x8B21 # +0x9778 0x8E0A # +0x9779 0x9065 # +0x977A 0x967D # +0x977B 0x990A # +0x977C 0x617E # +0x977D 0x6291 # +0x977E 0x6B32 # +0x9780 0x6C83 # +0x9781 0x6D74 # +0x9782 0x7FCC # +0x9783 0x7FFC # +0x9784 0x6DC0 # +0x9785 0x7F85 # +0x9786 0x87BA # +0x9787 0x88F8 # +0x9788 0x6765 # +0x9789 0x83B1 # +0x978A 0x983C # +0x978B 0x96F7 # +0x978C 0x6D1B # +0x978D 0x7D61 # +0x978E 0x843D # +0x978F 0x916A # +0x9790 0x4E71 # +0x9791 0x5375 # +0x9792 0x5D50 # +0x9793 0x6B04 # +0x9794 0x6FEB # +0x9795 0x85CD # +0x9796 0x862D # +0x9797 0x89A7 # +0x9798 0x5229 # +0x9799 0x540F # +0x979A 0x5C65 # +0x979B 0x674E # +0x979C 0x68A8 # +0x979D 0x7406 # +0x979E 0x7483 # +0x979F 0x75E2 # +0x97A0 0x88CF # +0x97A1 0x88E1 # +0x97A2 0x91CC # +0x97A3 0x96E2 # +0x97A4 0x9678 # +0x97A5 0x5F8B # +0x97A6 0x7387 # +0x97A7 0x7ACB # +0x97A8 0x844E # +0x97A9 0x63A0 # +0x97AA 0x7565 # +0x97AB 0x5289 # +0x97AC 0x6D41 # +0x97AD 0x6E9C # +0x97AE 0x7409 # +0x97AF 0x7559 # +0x97B0 0x786B # +0x97B1 0x7C92 # +0x97B2 0x9686 # +0x97B3 0x7ADC # +0x97B4 0x9F8D # +0x97B5 0x4FB6 # +0x97B6 0x616E # +0x97B7 0x65C5 # +0x97B8 0x865C # +0x97B9 0x4E86 # +0x97BA 0x4EAE # +0x97BB 0x50DA # +0x97BC 0x4E21 # +0x97BD 0x51CC # +0x97BE 0x5BEE # +0x97BF 0x6599 # +0x97C0 0x6881 # +0x97C1 0x6DBC # +0x97C2 0x731F # +0x97C3 0x7642 # +0x97C4 0x77AD # +0x97C5 0x7A1C # +0x97C6 0x7CE7 # +0x97C7 0x826F # +0x97C8 0x8AD2 # +0x97C9 0x907C # +0x97CA 0x91CF # +0x97CB 0x9675 # +0x97CC 0x9818 # +0x97CD 0x529B # +0x97CE 0x7DD1 # +0x97CF 0x502B # +0x97D0 0x5398 # +0x97D1 0x6797 # +0x97D2 0x6DCB # +0x97D3 0x71D0 # +0x97D4 0x7433 # +0x97D5 0x81E8 # +0x97D6 0x8F2A # +0x97D7 0x96A3 # +0x97D8 0x9C57 # +0x97D9 0x9E9F # +0x97DA 0x7460 # +0x97DB 0x5841 # +0x97DC 0x6D99 # +0x97DD 0x7D2F # +0x97DE 0x985E # +0x97DF 0x4EE4 # +0x97E0 0x4F36 # +0x97E1 0x4F8B # +0x97E2 0x51B7 # +0x97E3 0x52B1 # +0x97E4 0x5DBA # +0x97E5 0x601C # +0x97E6 0x73B2 # +0x97E7 0x793C # +0x97E8 0x82D3 # +0x97E9 0x9234 # +0x97EA 0x96B7 # +0x97EB 0x96F6 # +0x97EC 0x970A # +0x97ED 0x9E97 # +0x97EE 0x9F62 # +0x97EF 0x66A6 # +0x97F0 0x6B74 # +0x97F1 0x5217 # +0x97F2 0x52A3 # +0x97F3 0x70C8 # +0x97F4 0x88C2 # +0x97F5 0x5EC9 # +0x97F6 0x604B # +0x97F7 0x6190 # +0x97F8 0x6F23 # +0x97F9 0x7149 # +0x97FA 0x7C3E # +0x97FB 0x7DF4 # +0x97FC 0x806F # +0x9840 0x84EE # +0x9841 0x9023 # +0x9842 0x932C # +0x9843 0x5442 # +0x9844 0x9B6F # +0x9845 0x6AD3 # +0x9846 0x7089 # +0x9847 0x8CC2 # +0x9848 0x8DEF # +0x9849 0x9732 # +0x984A 0x52B4 # +0x984B 0x5A41 # +0x984C 0x5ECA # +0x984D 0x5F04 # +0x984E 0x6717 # +0x984F 0x697C # +0x9850 0x6994 # +0x9851 0x6D6A # +0x9852 0x6F0F # +0x9853 0x7262 # +0x9854 0x72FC # +0x9855 0x7BED # +0x9856 0x8001 # +0x9857 0x807E # +0x9858 0x874B # +0x9859 0x90CE # +0x985A 0x516D # +0x985B 0x9E93 # +0x985C 0x7984 # +0x985D 0x808B # +0x985E 0x9332 # +0x985F 0x8AD6 # +0x9860 0x502D # +0x9861 0x548C # +0x9862 0x8A71 # +0x9863 0x6B6A # +0x9864 0x8CC4 # +0x9865 0x8107 # +0x9866 0x60D1 # +0x9867 0x67A0 # +0x9868 0x9DF2 # +0x9869 0x4E99 # +0x986A 0x4E98 # +0x986B 0x9C10 # +0x986C 0x8A6B # +0x986D 0x85C1 # +0x986E 0x8568 # +0x986F 0x6900 # +0x9870 0x6E7E # +0x9871 0x7897 # +0x9872 0x8155 # +0x989F 0x5F0C # +0x98A0 0x4E10 # +0x98A1 0x4E15 # +0x98A2 0x4E2A # +0x98A3 0x4E31 # +0x98A4 0x4E36 # +0x98A5 0x4E3C # +0x98A6 0x4E3F # +0x98A7 0x4E42 # +0x98A8 0x4E56 # +0x98A9 0x4E58 # +0x98AA 0x4E82 # +0x98AB 0x4E85 # +0x98AC 0x8C6B # +0x98AD 0x4E8A # +0x98AE 0x8212 # +0x98AF 0x5F0D # +0x98B0 0x4E8E # +0x98B1 0x4E9E # +0x98B2 0x4E9F # +0x98B3 0x4EA0 # +0x98B4 0x4EA2 # +0x98B5 0x4EB0 # +0x98B6 0x4EB3 # +0x98B7 0x4EB6 # +0x98B8 0x4ECE # +0x98B9 0x4ECD # +0x98BA 0x4EC4 # +0x98BB 0x4EC6 # +0x98BC 0x4EC2 # +0x98BD 0x4ED7 # +0x98BE 0x4EDE # +0x98BF 0x4EED # +0x98C0 0x4EDF # +0x98C1 0x4EF7 # +0x98C2 0x4F09 # +0x98C3 0x4F5A # +0x98C4 0x4F30 # +0x98C5 0x4F5B # +0x98C6 0x4F5D # +0x98C7 0x4F57 # +0x98C8 0x4F47 # +0x98C9 0x4F76 # +0x98CA 0x4F88 # +0x98CB 0x4F8F # +0x98CC 0x4F98 # +0x98CD 0x4F7B # +0x98CE 0x4F69 # +0x98CF 0x4F70 # +0x98D0 0x4F91 # +0x98D1 0x4F6F # +0x98D2 0x4F86 # +0x98D3 0x4F96 # +0x98D4 0x5118 # +0x98D5 0x4FD4 # +0x98D6 0x4FDF # +0x98D7 0x4FCE # +0x98D8 0x4FD8 # +0x98D9 0x4FDB # +0x98DA 0x4FD1 # +0x98DB 0x4FDA # +0x98DC 0x4FD0 # +0x98DD 0x4FE4 # +0x98DE 0x4FE5 # +0x98DF 0x501A # +0x98E0 0x5028 # +0x98E1 0x5014 # +0x98E2 0x502A # +0x98E3 0x5025 # +0x98E4 0x5005 # +0x98E5 0x4F1C # +0x98E6 0x4FF6 # +0x98E7 0x5021 # +0x98E8 0x5029 # +0x98E9 0x502C # +0x98EA 0x4FFE # +0x98EB 0x4FEF # +0x98EC 0x5011 # +0x98ED 0x5006 # +0x98EE 0x5043 # +0x98EF 0x5047 # +0x98F0 0x6703 # +0x98F1 0x5055 # +0x98F2 0x5050 # +0x98F3 0x5048 # +0x98F4 0x505A # +0x98F5 0x5056 # +0x98F6 0x506C # +0x98F7 0x5078 # +0x98F8 0x5080 # +0x98F9 0x509A # +0x98FA 0x5085 # +0x98FB 0x50B4 # +0x98FC 0x50B2 # +0x9940 0x50C9 # +0x9941 0x50CA # +0x9942 0x50B3 # +0x9943 0x50C2 # +0x9944 0x50D6 # +0x9945 0x50DE # +0x9946 0x50E5 # +0x9947 0x50ED # +0x9948 0x50E3 # +0x9949 0x50EE # +0x994A 0x50F9 # +0x994B 0x50F5 # +0x994C 0x5109 # +0x994D 0x5101 # +0x994E 0x5102 # +0x994F 0x5116 # +0x9950 0x5115 # +0x9951 0x5114 # +0x9952 0x511A # +0x9953 0x5121 # +0x9954 0x513A # +0x9955 0x5137 # +0x9956 0x513C # +0x9957 0x513B # +0x9958 0x513F # +0x9959 0x5140 # +0x995A 0x5152 # +0x995B 0x514C # +0x995C 0x5154 # +0x995D 0x5162 # +0x995E 0x7AF8 # +0x995F 0x5169 # +0x9960 0x516A # +0x9961 0x516E # +0x9962 0x5180 # +0x9963 0x5182 # +0x9964 0x56D8 # +0x9965 0x518C # +0x9966 0x5189 # +0x9967 0x518F # +0x9968 0x5191 # +0x9969 0x5193 # +0x996A 0x5195 # +0x996B 0x5196 # +0x996C 0x51A4 # +0x996D 0x51A6 # +0x996E 0x51A2 # +0x996F 0x51A9 # +0x9970 0x51AA # +0x9971 0x51AB # +0x9972 0x51B3 # +0x9973 0x51B1 # +0x9974 0x51B2 # +0x9975 0x51B0 # +0x9976 0x51B5 # +0x9977 0x51BD # +0x9978 0x51C5 # +0x9979 0x51C9 # +0x997A 0x51DB # +0x997B 0x51E0 # +0x997C 0x8655 # +0x997D 0x51E9 # +0x997E 0x51ED # +0x9980 0x51F0 # +0x9981 0x51F5 # +0x9982 0x51FE # +0x9983 0x5204 # +0x9984 0x520B # +0x9985 0x5214 # +0x9986 0x520E # +0x9987 0x5227 # +0x9988 0x522A # +0x9989 0x522E # +0x998A 0x5233 # +0x998B 0x5239 # +0x998C 0x524F # +0x998D 0x5244 # +0x998E 0x524B # +0x998F 0x524C # +0x9990 0x525E # +0x9991 0x5254 # +0x9992 0x526A # +0x9993 0x5274 # +0x9994 0x5269 # +0x9995 0x5273 # +0x9996 0x527F # +0x9997 0x527D # +0x9998 0x528D # +0x9999 0x5294 # +0x999A 0x5292 # +0x999B 0x5271 # +0x999C 0x5288 # +0x999D 0x5291 # +0x999E 0x8FA8 # +0x999F 0x8FA7 # +0x99A0 0x52AC # +0x99A1 0x52AD # +0x99A2 0x52BC # +0x99A3 0x52B5 # +0x99A4 0x52C1 # +0x99A5 0x52CD # +0x99A6 0x52D7 # +0x99A7 0x52DE # +0x99A8 0x52E3 # +0x99A9 0x52E6 # +0x99AA 0x98ED # +0x99AB 0x52E0 # +0x99AC 0x52F3 # +0x99AD 0x52F5 # +0x99AE 0x52F8 # +0x99AF 0x52F9 # +0x99B0 0x5306 # +0x99B1 0x5308 # +0x99B2 0x7538 # +0x99B3 0x530D # +0x99B4 0x5310 # +0x99B5 0x530F # +0x99B6 0x5315 # +0x99B7 0x531A # +0x99B8 0x5323 # +0x99B9 0x532F # +0x99BA 0x5331 # +0x99BB 0x5333 # +0x99BC 0x5338 # +0x99BD 0x5340 # +0x99BE 0x5346 # +0x99BF 0x5345 # +0x99C0 0x4E17 # +0x99C1 0x5349 # +0x99C2 0x534D # +0x99C3 0x51D6 # +0x99C4 0x535E # +0x99C5 0x5369 # +0x99C6 0x536E # +0x99C7 0x5918 # +0x99C8 0x537B # +0x99C9 0x5377 # +0x99CA 0x5382 # +0x99CB 0x5396 # +0x99CC 0x53A0 # +0x99CD 0x53A6 # +0x99CE 0x53A5 # +0x99CF 0x53AE # +0x99D0 0x53B0 # +0x99D1 0x53B6 # +0x99D2 0x53C3 # +0x99D3 0x7C12 # +0x99D4 0x96D9 # +0x99D5 0x53DF # +0x99D6 0x66FC # +0x99D7 0x71EE # +0x99D8 0x53EE # +0x99D9 0x53E8 # +0x99DA 0x53ED # +0x99DB 0x53FA # +0x99DC 0x5401 # +0x99DD 0x543D # +0x99DE 0x5440 # +0x99DF 0x542C # +0x99E0 0x542D # +0x99E1 0x543C # +0x99E2 0x542E # +0x99E3 0x5436 # +0x99E4 0x5429 # +0x99E5 0x541D # +0x99E6 0x544E # +0x99E7 0x548F # +0x99E8 0x5475 # +0x99E9 0x548E # +0x99EA 0x545F # +0x99EB 0x5471 # +0x99EC 0x5477 # +0x99ED 0x5470 # +0x99EE 0x5492 # +0x99EF 0x547B # +0x99F0 0x5480 # +0x99F1 0x5476 # +0x99F2 0x5484 # +0x99F3 0x5490 # +0x99F4 0x5486 # +0x99F5 0x54C7 # +0x99F6 0x54A2 # +0x99F7 0x54B8 # +0x99F8 0x54A5 # +0x99F9 0x54AC # +0x99FA 0x54C4 # +0x99FB 0x54C8 # +0x99FC 0x54A8 # +0x9A40 0x54AB # +0x9A41 0x54C2 # +0x9A42 0x54A4 # +0x9A43 0x54BE # +0x9A44 0x54BC # +0x9A45 0x54D8 # +0x9A46 0x54E5 # +0x9A47 0x54E6 # +0x9A48 0x550F # +0x9A49 0x5514 # +0x9A4A 0x54FD # +0x9A4B 0x54EE # +0x9A4C 0x54ED # +0x9A4D 0x54FA # +0x9A4E 0x54E2 # +0x9A4F 0x5539 # +0x9A50 0x5540 # +0x9A51 0x5563 # +0x9A52 0x554C # +0x9A53 0x552E # +0x9A54 0x555C # +0x9A55 0x5545 # +0x9A56 0x5556 # +0x9A57 0x5557 # +0x9A58 0x5538 # +0x9A59 0x5533 # +0x9A5A 0x555D # +0x9A5B 0x5599 # +0x9A5C 0x5580 # +0x9A5D 0x54AF # +0x9A5E 0x558A # +0x9A5F 0x559F # +0x9A60 0x557B # +0x9A61 0x557E # +0x9A62 0x5598 # +0x9A63 0x559E # +0x9A64 0x55AE # +0x9A65 0x557C # +0x9A66 0x5583 # +0x9A67 0x55A9 # +0x9A68 0x5587 # +0x9A69 0x55A8 # +0x9A6A 0x55DA # +0x9A6B 0x55C5 # +0x9A6C 0x55DF # +0x9A6D 0x55C4 # +0x9A6E 0x55DC # +0x9A6F 0x55E4 # +0x9A70 0x55D4 # +0x9A71 0x5614 # +0x9A72 0x55F7 # +0x9A73 0x5616 # +0x9A74 0x55FE # +0x9A75 0x55FD # +0x9A76 0x561B # +0x9A77 0x55F9 # +0x9A78 0x564E # +0x9A79 0x5650 # +0x9A7A 0x71DF # +0x9A7B 0x5634 # +0x9A7C 0x5636 # +0x9A7D 0x5632 # +0x9A7E 0x5638 # +0x9A80 0x566B # +0x9A81 0x5664 # +0x9A82 0x562F # +0x9A83 0x566C # +0x9A84 0x566A # +0x9A85 0x5686 # +0x9A86 0x5680 # +0x9A87 0x568A # +0x9A88 0x56A0 # +0x9A89 0x5694 # +0x9A8A 0x568F # +0x9A8B 0x56A5 # +0x9A8C 0x56AE # +0x9A8D 0x56B6 # +0x9A8E 0x56B4 # +0x9A8F 0x56C2 # +0x9A90 0x56BC # +0x9A91 0x56C1 # +0x9A92 0x56C3 # +0x9A93 0x56C0 # +0x9A94 0x56C8 # +0x9A95 0x56CE # +0x9A96 0x56D1 # +0x9A97 0x56D3 # +0x9A98 0x56D7 # +0x9A99 0x56EE # +0x9A9A 0x56F9 # +0x9A9B 0x5700 # +0x9A9C 0x56FF # +0x9A9D 0x5704 # +0x9A9E 0x5709 # +0x9A9F 0x5708 # +0x9AA0 0x570B # +0x9AA1 0x570D # +0x9AA2 0x5713 # +0x9AA3 0x5718 # +0x9AA4 0x5716 # +0x9AA5 0x55C7 # +0x9AA6 0x571C # +0x9AA7 0x5726 # +0x9AA8 0x5737 # +0x9AA9 0x5738 # +0x9AAA 0x574E # +0x9AAB 0x573B # +0x9AAC 0x5740 # +0x9AAD 0x574F # +0x9AAE 0x5769 # +0x9AAF 0x57C0 # +0x9AB0 0x5788 # +0x9AB1 0x5761 # +0x9AB2 0x577F # +0x9AB3 0x5789 # +0x9AB4 0x5793 # +0x9AB5 0x57A0 # +0x9AB6 0x57B3 # +0x9AB7 0x57A4 # +0x9AB8 0x57AA # +0x9AB9 0x57B0 # +0x9ABA 0x57C3 # +0x9ABB 0x57C6 # +0x9ABC 0x57D4 # +0x9ABD 0x57D2 # +0x9ABE 0x57D3 # +0x9ABF 0x580A # +0x9AC0 0x57D6 # +0x9AC1 0x57E3 # +0x9AC2 0x580B # +0x9AC3 0x5819 # +0x9AC4 0x581D # +0x9AC5 0x5872 # +0x9AC6 0x5821 # +0x9AC7 0x5862 # +0x9AC8 0x584B # +0x9AC9 0x5870 # +0x9ACA 0x6BC0 # +0x9ACB 0x5852 # +0x9ACC 0x583D # +0x9ACD 0x5879 # +0x9ACE 0x5885 # +0x9ACF 0x58B9 # +0x9AD0 0x589F # +0x9AD1 0x58AB # +0x9AD2 0x58BA # +0x9AD3 0x58DE # +0x9AD4 0x58BB # +0x9AD5 0x58B8 # +0x9AD6 0x58AE # +0x9AD7 0x58C5 # +0x9AD8 0x58D3 # +0x9AD9 0x58D1 # +0x9ADA 0x58D7 # +0x9ADB 0x58D9 # +0x9ADC 0x58D8 # +0x9ADD 0x58E5 # +0x9ADE 0x58DC # +0x9ADF 0x58E4 # +0x9AE0 0x58DF # +0x9AE1 0x58EF # +0x9AE2 0x58FA # +0x9AE3 0x58F9 # +0x9AE4 0x58FB # +0x9AE5 0x58FC # +0x9AE6 0x58FD # +0x9AE7 0x5902 # +0x9AE8 0x590A # +0x9AE9 0x5910 # +0x9AEA 0x591B # +0x9AEB 0x68A6 # +0x9AEC 0x5925 # +0x9AED 0x592C # +0x9AEE 0x592D # +0x9AEF 0x5932 # +0x9AF0 0x5938 # +0x9AF1 0x593E # +0x9AF2 0x7AD2 # +0x9AF3 0x5955 # +0x9AF4 0x5950 # +0x9AF5 0x594E # +0x9AF6 0x595A # +0x9AF7 0x5958 # +0x9AF8 0x5962 # +0x9AF9 0x5960 # +0x9AFA 0x5967 # +0x9AFB 0x596C # +0x9AFC 0x5969 # +0x9B40 0x5978 # +0x9B41 0x5981 # +0x9B42 0x599D # +0x9B43 0x4F5E # +0x9B44 0x4FAB # +0x9B45 0x59A3 # +0x9B46 0x59B2 # +0x9B47 0x59C6 # +0x9B48 0x59E8 # +0x9B49 0x59DC # +0x9B4A 0x598D # +0x9B4B 0x59D9 # +0x9B4C 0x59DA # +0x9B4D 0x5A25 # +0x9B4E 0x5A1F # +0x9B4F 0x5A11 # +0x9B50 0x5A1C # +0x9B51 0x5A09 # +0x9B52 0x5A1A # +0x9B53 0x5A40 # +0x9B54 0x5A6C # +0x9B55 0x5A49 # +0x9B56 0x5A35 # +0x9B57 0x5A36 # +0x9B58 0x5A62 # +0x9B59 0x5A6A # +0x9B5A 0x5A9A # +0x9B5B 0x5ABC # +0x9B5C 0x5ABE # +0x9B5D 0x5ACB # +0x9B5E 0x5AC2 # +0x9B5F 0x5ABD # +0x9B60 0x5AE3 # +0x9B61 0x5AD7 # +0x9B62 0x5AE6 # +0x9B63 0x5AE9 # +0x9B64 0x5AD6 # +0x9B65 0x5AFA # +0x9B66 0x5AFB # +0x9B67 0x5B0C # +0x9B68 0x5B0B # +0x9B69 0x5B16 # +0x9B6A 0x5B32 # +0x9B6B 0x5AD0 # +0x9B6C 0x5B2A # +0x9B6D 0x5B36 # +0x9B6E 0x5B3E # +0x9B6F 0x5B43 # +0x9B70 0x5B45 # +0x9B71 0x5B40 # +0x9B72 0x5B51 # +0x9B73 0x5B55 # +0x9B74 0x5B5A # +0x9B75 0x5B5B # +0x9B76 0x5B65 # +0x9B77 0x5B69 # +0x9B78 0x5B70 # +0x9B79 0x5B73 # +0x9B7A 0x5B75 # +0x9B7B 0x5B78 # +0x9B7C 0x6588 # +0x9B7D 0x5B7A # +0x9B7E 0x5B80 # +0x9B80 0x5B83 # +0x9B81 0x5BA6 # +0x9B82 0x5BB8 # +0x9B83 0x5BC3 # +0x9B84 0x5BC7 # +0x9B85 0x5BC9 # +0x9B86 0x5BD4 # +0x9B87 0x5BD0 # +0x9B88 0x5BE4 # +0x9B89 0x5BE6 # +0x9B8A 0x5BE2 # +0x9B8B 0x5BDE # +0x9B8C 0x5BE5 # +0x9B8D 0x5BEB # +0x9B8E 0x5BF0 # +0x9B8F 0x5BF6 # +0x9B90 0x5BF3 # +0x9B91 0x5C05 # +0x9B92 0x5C07 # +0x9B93 0x5C08 # +0x9B94 0x5C0D # +0x9B95 0x5C13 # +0x9B96 0x5C20 # +0x9B97 0x5C22 # +0x9B98 0x5C28 # +0x9B99 0x5C38 # +0x9B9A 0x5C39 # +0x9B9B 0x5C41 # +0x9B9C 0x5C46 # +0x9B9D 0x5C4E # +0x9B9E 0x5C53 # +0x9B9F 0x5C50 # +0x9BA0 0x5C4F # +0x9BA1 0x5B71 # +0x9BA2 0x5C6C # +0x9BA3 0x5C6E # +0x9BA4 0x4E62 # +0x9BA5 0x5C76 # +0x9BA6 0x5C79 # +0x9BA7 0x5C8C # +0x9BA8 0x5C91 # +0x9BA9 0x5C94 # +0x9BAA 0x599B # +0x9BAB 0x5CAB # +0x9BAC 0x5CBB # +0x9BAD 0x5CB6 # +0x9BAE 0x5CBC # +0x9BAF 0x5CB7 # +0x9BB0 0x5CC5 # +0x9BB1 0x5CBE # +0x9BB2 0x5CC7 # +0x9BB3 0x5CD9 # +0x9BB4 0x5CE9 # +0x9BB5 0x5CFD # +0x9BB6 0x5CFA # +0x9BB7 0x5CED # +0x9BB8 0x5D8C # +0x9BB9 0x5CEA # +0x9BBA 0x5D0B # +0x9BBB 0x5D15 # +0x9BBC 0x5D17 # +0x9BBD 0x5D5C # +0x9BBE 0x5D1F # +0x9BBF 0x5D1B # +0x9BC0 0x5D11 # +0x9BC1 0x5D14 # +0x9BC2 0x5D22 # +0x9BC3 0x5D1A # +0x9BC4 0x5D19 # +0x9BC5 0x5D18 # +0x9BC6 0x5D4C # +0x9BC7 0x5D52 # +0x9BC8 0x5D4E # +0x9BC9 0x5D4B # +0x9BCA 0x5D6C # +0x9BCB 0x5D73 # +0x9BCC 0x5D76 # +0x9BCD 0x5D87 # +0x9BCE 0x5D84 # +0x9BCF 0x5D82 # +0x9BD0 0x5DA2 # +0x9BD1 0x5D9D # +0x9BD2 0x5DAC # +0x9BD3 0x5DAE # +0x9BD4 0x5DBD # +0x9BD5 0x5D90 # +0x9BD6 0x5DB7 # +0x9BD7 0x5DBC # +0x9BD8 0x5DC9 # +0x9BD9 0x5DCD # +0x9BDA 0x5DD3 # +0x9BDB 0x5DD2 # +0x9BDC 0x5DD6 # +0x9BDD 0x5DDB # +0x9BDE 0x5DEB # +0x9BDF 0x5DF2 # +0x9BE0 0x5DF5 # +0x9BE1 0x5E0B # +0x9BE2 0x5E1A # +0x9BE3 0x5E19 # +0x9BE4 0x5E11 # +0x9BE5 0x5E1B # +0x9BE6 0x5E36 # +0x9BE7 0x5E37 # +0x9BE8 0x5E44 # +0x9BE9 0x5E43 # +0x9BEA 0x5E40 # +0x9BEB 0x5E4E # +0x9BEC 0x5E57 # +0x9BED 0x5E54 # +0x9BEE 0x5E5F # +0x9BEF 0x5E62 # +0x9BF0 0x5E64 # +0x9BF1 0x5E47 # +0x9BF2 0x5E75 # +0x9BF3 0x5E76 # +0x9BF4 0x5E7A # +0x9BF5 0x9EBC # +0x9BF6 0x5E7F # +0x9BF7 0x5EA0 # +0x9BF8 0x5EC1 # +0x9BF9 0x5EC2 # +0x9BFA 0x5EC8 # +0x9BFB 0x5ED0 # +0x9BFC 0x5ECF # +0x9C40 0x5ED6 # +0x9C41 0x5EE3 # +0x9C42 0x5EDD # +0x9C43 0x5EDA # +0x9C44 0x5EDB # +0x9C45 0x5EE2 # +0x9C46 0x5EE1 # +0x9C47 0x5EE8 # +0x9C48 0x5EE9 # +0x9C49 0x5EEC # +0x9C4A 0x5EF1 # +0x9C4B 0x5EF3 # +0x9C4C 0x5EF0 # +0x9C4D 0x5EF4 # +0x9C4E 0x5EF8 # +0x9C4F 0x5EFE # +0x9C50 0x5F03 # +0x9C51 0x5F09 # +0x9C52 0x5F5D # +0x9C53 0x5F5C # +0x9C54 0x5F0B # +0x9C55 0x5F11 # +0x9C56 0x5F16 # +0x9C57 0x5F29 # +0x9C58 0x5F2D # +0x9C59 0x5F38 # +0x9C5A 0x5F41 # +0x9C5B 0x5F48 # +0x9C5C 0x5F4C # +0x9C5D 0x5F4E # +0x9C5E 0x5F2F # +0x9C5F 0x5F51 # +0x9C60 0x5F56 # +0x9C61 0x5F57 # +0x9C62 0x5F59 # +0x9C63 0x5F61 # +0x9C64 0x5F6D # +0x9C65 0x5F73 # +0x9C66 0x5F77 # +0x9C67 0x5F83 # +0x9C68 0x5F82 # +0x9C69 0x5F7F # +0x9C6A 0x5F8A # +0x9C6B 0x5F88 # +0x9C6C 0x5F91 # +0x9C6D 0x5F87 # +0x9C6E 0x5F9E # +0x9C6F 0x5F99 # +0x9C70 0x5F98 # +0x9C71 0x5FA0 # +0x9C72 0x5FA8 # +0x9C73 0x5FAD # +0x9C74 0x5FBC # +0x9C75 0x5FD6 # +0x9C76 0x5FFB # +0x9C77 0x5FE4 # +0x9C78 0x5FF8 # +0x9C79 0x5FF1 # +0x9C7A 0x5FDD # +0x9C7B 0x60B3 # +0x9C7C 0x5FFF # +0x9C7D 0x6021 # +0x9C7E 0x6060 # +0x9C80 0x6019 # +0x9C81 0x6010 # +0x9C82 0x6029 # +0x9C83 0x600E # +0x9C84 0x6031 # +0x9C85 0x601B # +0x9C86 0x6015 # +0x9C87 0x602B # +0x9C88 0x6026 # +0x9C89 0x600F # +0x9C8A 0x603A # +0x9C8B 0x605A # +0x9C8C 0x6041 # +0x9C8D 0x606A # +0x9C8E 0x6077 # +0x9C8F 0x605F # +0x9C90 0x604A # +0x9C91 0x6046 # +0x9C92 0x604D # +0x9C93 0x6063 # +0x9C94 0x6043 # +0x9C95 0x6064 # +0x9C96 0x6042 # +0x9C97 0x606C # +0x9C98 0x606B # +0x9C99 0x6059 # +0x9C9A 0x6081 # +0x9C9B 0x608D # +0x9C9C 0x60E7 # +0x9C9D 0x6083 # +0x9C9E 0x609A # +0x9C9F 0x6084 # +0x9CA0 0x609B # +0x9CA1 0x6096 # +0x9CA2 0x6097 # +0x9CA3 0x6092 # +0x9CA4 0x60A7 # +0x9CA5 0x608B # +0x9CA6 0x60E1 # +0x9CA7 0x60B8 # +0x9CA8 0x60E0 # +0x9CA9 0x60D3 # +0x9CAA 0x60B4 # +0x9CAB 0x5FF0 # +0x9CAC 0x60BD # +0x9CAD 0x60C6 # +0x9CAE 0x60B5 # +0x9CAF 0x60D8 # +0x9CB0 0x614D # +0x9CB1 0x6115 # +0x9CB2 0x6106 # +0x9CB3 0x60F6 # +0x9CB4 0x60F7 # +0x9CB5 0x6100 # +0x9CB6 0x60F4 # +0x9CB7 0x60FA # +0x9CB8 0x6103 # +0x9CB9 0x6121 # +0x9CBA 0x60FB # +0x9CBB 0x60F1 # +0x9CBC 0x610D # +0x9CBD 0x610E # +0x9CBE 0x6147 # +0x9CBF 0x613E # +0x9CC0 0x6128 # +0x9CC1 0x6127 # +0x9CC2 0x614A # +0x9CC3 0x613F # +0x9CC4 0x613C # +0x9CC5 0x612C # +0x9CC6 0x6134 # +0x9CC7 0x613D # +0x9CC8 0x6142 # +0x9CC9 0x6144 # +0x9CCA 0x6173 # +0x9CCB 0x6177 # +0x9CCC 0x6158 # +0x9CCD 0x6159 # +0x9CCE 0x615A # +0x9CCF 0x616B # +0x9CD0 0x6174 # +0x9CD1 0x616F # +0x9CD2 0x6165 # +0x9CD3 0x6171 # +0x9CD4 0x615F # +0x9CD5 0x615D # +0x9CD6 0x6153 # +0x9CD7 0x6175 # +0x9CD8 0x6199 # +0x9CD9 0x6196 # +0x9CDA 0x6187 # +0x9CDB 0x61AC # +0x9CDC 0x6194 # +0x9CDD 0x619A # +0x9CDE 0x618A # +0x9CDF 0x6191 # +0x9CE0 0x61AB # +0x9CE1 0x61AE # +0x9CE2 0x61CC # +0x9CE3 0x61CA # +0x9CE4 0x61C9 # +0x9CE5 0x61F7 # +0x9CE6 0x61C8 # +0x9CE7 0x61C3 # +0x9CE8 0x61C6 # +0x9CE9 0x61BA # +0x9CEA 0x61CB # +0x9CEB 0x7F79 # +0x9CEC 0x61CD # +0x9CED 0x61E6 # +0x9CEE 0x61E3 # +0x9CEF 0x61F6 # +0x9CF0 0x61FA # +0x9CF1 0x61F4 # +0x9CF2 0x61FF # +0x9CF3 0x61FD # +0x9CF4 0x61FC # +0x9CF5 0x61FE # +0x9CF6 0x6200 # +0x9CF7 0x6208 # +0x9CF8 0x6209 # +0x9CF9 0x620D # +0x9CFA 0x620C # +0x9CFB 0x6214 # +0x9CFC 0x621B # +0x9D40 0x621E # +0x9D41 0x6221 # +0x9D42 0x622A # +0x9D43 0x622E # +0x9D44 0x6230 # +0x9D45 0x6232 # +0x9D46 0x6233 # +0x9D47 0x6241 # +0x9D48 0x624E # +0x9D49 0x625E # +0x9D4A 0x6263 # +0x9D4B 0x625B # +0x9D4C 0x6260 # +0x9D4D 0x6268 # +0x9D4E 0x627C # +0x9D4F 0x6282 # +0x9D50 0x6289 # +0x9D51 0x627E # +0x9D52 0x6292 # +0x9D53 0x6293 # +0x9D54 0x6296 # +0x9D55 0x62D4 # +0x9D56 0x6283 # +0x9D57 0x6294 # +0x9D58 0x62D7 # +0x9D59 0x62D1 # +0x9D5A 0x62BB # +0x9D5B 0x62CF # +0x9D5C 0x62FF # +0x9D5D 0x62C6 # +0x9D5E 0x64D4 # +0x9D5F 0x62C8 # +0x9D60 0x62DC # +0x9D61 0x62CC # +0x9D62 0x62CA # +0x9D63 0x62C2 # +0x9D64 0x62C7 # +0x9D65 0x629B # +0x9D66 0x62C9 # +0x9D67 0x630C # +0x9D68 0x62EE # +0x9D69 0x62F1 # +0x9D6A 0x6327 # +0x9D6B 0x6302 # +0x9D6C 0x6308 # +0x9D6D 0x62EF # +0x9D6E 0x62F5 # +0x9D6F 0x6350 # +0x9D70 0x633E # +0x9D71 0x634D # +0x9D72 0x641C # +0x9D73 0x634F # +0x9D74 0x6396 # +0x9D75 0x638E # +0x9D76 0x6380 # +0x9D77 0x63AB # +0x9D78 0x6376 # +0x9D79 0x63A3 # +0x9D7A 0x638F # +0x9D7B 0x6389 # +0x9D7C 0x639F # +0x9D7D 0x63B5 # +0x9D7E 0x636B # +0x9D80 0x6369 # +0x9D81 0x63BE # +0x9D82 0x63E9 # +0x9D83 0x63C0 # +0x9D84 0x63C6 # +0x9D85 0x63E3 # +0x9D86 0x63C9 # +0x9D87 0x63D2 # +0x9D88 0x63F6 # +0x9D89 0x63C4 # +0x9D8A 0x6416 # +0x9D8B 0x6434 # +0x9D8C 0x6406 # +0x9D8D 0x6413 # +0x9D8E 0x6426 # +0x9D8F 0x6436 # +0x9D90 0x651D # +0x9D91 0x6417 # +0x9D92 0x6428 # +0x9D93 0x640F # +0x9D94 0x6467 # +0x9D95 0x646F # +0x9D96 0x6476 # +0x9D97 0x644E # +0x9D98 0x652A # +0x9D99 0x6495 # +0x9D9A 0x6493 # +0x9D9B 0x64A5 # +0x9D9C 0x64A9 # +0x9D9D 0x6488 # +0x9D9E 0x64BC # +0x9D9F 0x64DA # +0x9DA0 0x64D2 # +0x9DA1 0x64C5 # +0x9DA2 0x64C7 # +0x9DA3 0x64BB # +0x9DA4 0x64D8 # +0x9DA5 0x64C2 # +0x9DA6 0x64F1 # +0x9DA7 0x64E7 # +0x9DA8 0x8209 # +0x9DA9 0x64E0 # +0x9DAA 0x64E1 # +0x9DAB 0x62AC # +0x9DAC 0x64E3 # +0x9DAD 0x64EF # +0x9DAE 0x652C # +0x9DAF 0x64F6 # +0x9DB0 0x64F4 # +0x9DB1 0x64F2 # +0x9DB2 0x64FA # +0x9DB3 0x6500 # +0x9DB4 0x64FD # +0x9DB5 0x6518 # +0x9DB6 0x651C # +0x9DB7 0x6505 # +0x9DB8 0x6524 # +0x9DB9 0x6523 # +0x9DBA 0x652B # +0x9DBB 0x6534 # +0x9DBC 0x6535 # +0x9DBD 0x6537 # +0x9DBE 0x6536 # +0x9DBF 0x6538 # +0x9DC0 0x754B # +0x9DC1 0x6548 # +0x9DC2 0x6556 # +0x9DC3 0x6555 # +0x9DC4 0x654D # +0x9DC5 0x6558 # +0x9DC6 0x655E # +0x9DC7 0x655D # +0x9DC8 0x6572 # +0x9DC9 0x6578 # +0x9DCA 0x6582 # +0x9DCB 0x6583 # +0x9DCC 0x8B8A # +0x9DCD 0x659B # +0x9DCE 0x659F # +0x9DCF 0x65AB # +0x9DD0 0x65B7 # +0x9DD1 0x65C3 # +0x9DD2 0x65C6 # +0x9DD3 0x65C1 # +0x9DD4 0x65C4 # +0x9DD5 0x65CC # +0x9DD6 0x65D2 # +0x9DD7 0x65DB # +0x9DD8 0x65D9 # +0x9DD9 0x65E0 # +0x9DDA 0x65E1 # +0x9DDB 0x65F1 # +0x9DDC 0x6772 # +0x9DDD 0x660A # +0x9DDE 0x6603 # +0x9DDF 0x65FB # +0x9DE0 0x6773 # +0x9DE1 0x6635 # +0x9DE2 0x6636 # +0x9DE3 0x6634 # +0x9DE4 0x661C # +0x9DE5 0x664F # +0x9DE6 0x6644 # +0x9DE7 0x6649 # +0x9DE8 0x6641 # +0x9DE9 0x665E # +0x9DEA 0x665D # +0x9DEB 0x6664 # +0x9DEC 0x6667 # +0x9DED 0x6668 # +0x9DEE 0x665F # +0x9DEF 0x6662 # +0x9DF0 0x6670 # +0x9DF1 0x6683 # +0x9DF2 0x6688 # +0x9DF3 0x668E # +0x9DF4 0x6689 # +0x9DF5 0x6684 # +0x9DF6 0x6698 # +0x9DF7 0x669D # +0x9DF8 0x66C1 # +0x9DF9 0x66B9 # +0x9DFA 0x66C9 # +0x9DFB 0x66BE # +0x9DFC 0x66BC # +0x9E40 0x66C4 # +0x9E41 0x66B8 # +0x9E42 0x66D6 # +0x9E43 0x66DA # +0x9E44 0x66E0 # +0x9E45 0x663F # +0x9E46 0x66E6 # +0x9E47 0x66E9 # +0x9E48 0x66F0 # +0x9E49 0x66F5 # +0x9E4A 0x66F7 # +0x9E4B 0x670F # +0x9E4C 0x6716 # +0x9E4D 0x671E # +0x9E4E 0x6726 # +0x9E4F 0x6727 # +0x9E50 0x9738 # +0x9E51 0x672E # +0x9E52 0x673F # +0x9E53 0x6736 # +0x9E54 0x6741 # +0x9E55 0x6738 # +0x9E56 0x6737 # +0x9E57 0x6746 # +0x9E58 0x675E # +0x9E59 0x6760 # +0x9E5A 0x6759 # +0x9E5B 0x6763 # +0x9E5C 0x6764 # +0x9E5D 0x6789 # +0x9E5E 0x6770 # +0x9E5F 0x67A9 # +0x9E60 0x677C # +0x9E61 0x676A # +0x9E62 0x678C # +0x9E63 0x678B # +0x9E64 0x67A6 # +0x9E65 0x67A1 # +0x9E66 0x6785 # +0x9E67 0x67B7 # +0x9E68 0x67EF # +0x9E69 0x67B4 # +0x9E6A 0x67EC # +0x9E6B 0x67B3 # +0x9E6C 0x67E9 # +0x9E6D 0x67B8 # +0x9E6E 0x67E4 # +0x9E6F 0x67DE # +0x9E70 0x67DD # +0x9E71 0x67E2 # +0x9E72 0x67EE # +0x9E73 0x67B9 # +0x9E74 0x67CE # +0x9E75 0x67C6 # +0x9E76 0x67E7 # +0x9E77 0x6A9C # +0x9E78 0x681E # +0x9E79 0x6846 # +0x9E7A 0x6829 # +0x9E7B 0x6840 # +0x9E7C 0x684D # +0x9E7D 0x6832 # +0x9E7E 0x684E # +0x9E80 0x68B3 # +0x9E81 0x682B # +0x9E82 0x6859 # +0x9E83 0x6863 # +0x9E84 0x6877 # +0x9E85 0x687F # +0x9E86 0x689F # +0x9E87 0x688F # +0x9E88 0x68AD # +0x9E89 0x6894 # +0x9E8A 0x689D # +0x9E8B 0x689B # +0x9E8C 0x6883 # +0x9E8D 0x6AAE # +0x9E8E 0x68B9 # +0x9E8F 0x6874 # +0x9E90 0x68B5 # +0x9E91 0x68A0 # +0x9E92 0x68BA # +0x9E93 0x690F # +0x9E94 0x688D # +0x9E95 0x687E # +0x9E96 0x6901 # +0x9E97 0x68CA # +0x9E98 0x6908 # +0x9E99 0x68D8 # +0x9E9A 0x6922 # +0x9E9B 0x6926 # +0x9E9C 0x68E1 # +0x9E9D 0x690C # +0x9E9E 0x68CD # +0x9E9F 0x68D4 # +0x9EA0 0x68E7 # +0x9EA1 0x68D5 # +0x9EA2 0x6936 # +0x9EA3 0x6912 # +0x9EA4 0x6904 # +0x9EA5 0x68D7 # +0x9EA6 0x68E3 # +0x9EA7 0x6925 # +0x9EA8 0x68F9 # +0x9EA9 0x68E0 # +0x9EAA 0x68EF # +0x9EAB 0x6928 # +0x9EAC 0x692A # +0x9EAD 0x691A # +0x9EAE 0x6923 # +0x9EAF 0x6921 # +0x9EB0 0x68C6 # +0x9EB1 0x6979 # +0x9EB2 0x6977 # +0x9EB3 0x695C # +0x9EB4 0x6978 # +0x9EB5 0x696B # +0x9EB6 0x6954 # +0x9EB7 0x697E # +0x9EB8 0x696E # +0x9EB9 0x6939 # +0x9EBA 0x6974 # +0x9EBB 0x693D # +0x9EBC 0x6959 # +0x9EBD 0x6930 # +0x9EBE 0x6961 # +0x9EBF 0x695E # +0x9EC0 0x695D # +0x9EC1 0x6981 # +0x9EC2 0x696A # +0x9EC3 0x69B2 # +0x9EC4 0x69AE # +0x9EC5 0x69D0 # +0x9EC6 0x69BF # +0x9EC7 0x69C1 # +0x9EC8 0x69D3 # +0x9EC9 0x69BE # +0x9ECA 0x69CE # +0x9ECB 0x5BE8 # +0x9ECC 0x69CA # +0x9ECD 0x69DD # +0x9ECE 0x69BB # +0x9ECF 0x69C3 # +0x9ED0 0x69A7 # +0x9ED1 0x6A2E # +0x9ED2 0x6991 # +0x9ED3 0x69A0 # +0x9ED4 0x699C # +0x9ED5 0x6995 # +0x9ED6 0x69B4 # +0x9ED7 0x69DE # +0x9ED8 0x69E8 # +0x9ED9 0x6A02 # +0x9EDA 0x6A1B # +0x9EDB 0x69FF # +0x9EDC 0x6B0A # +0x9EDD 0x69F9 # +0x9EDE 0x69F2 # +0x9EDF 0x69E7 # +0x9EE0 0x6A05 # +0x9EE1 0x69B1 # +0x9EE2 0x6A1E # +0x9EE3 0x69ED # +0x9EE4 0x6A14 # +0x9EE5 0x69EB # +0x9EE6 0x6A0A # +0x9EE7 0x6A12 # +0x9EE8 0x6AC1 # +0x9EE9 0x6A23 # +0x9EEA 0x6A13 # +0x9EEB 0x6A44 # +0x9EEC 0x6A0C # +0x9EED 0x6A72 # +0x9EEE 0x6A36 # +0x9EEF 0x6A78 # +0x9EF0 0x6A47 # +0x9EF1 0x6A62 # +0x9EF2 0x6A59 # +0x9EF3 0x6A66 # +0x9EF4 0x6A48 # +0x9EF5 0x6A38 # +0x9EF6 0x6A22 # +0x9EF7 0x6A90 # +0x9EF8 0x6A8D # +0x9EF9 0x6AA0 # +0x9EFA 0x6A84 # +0x9EFB 0x6AA2 # +0x9EFC 0x6AA3 # +0x9F40 0x6A97 # +0x9F41 0x8617 # +0x9F42 0x6ABB # +0x9F43 0x6AC3 # +0x9F44 0x6AC2 # +0x9F45 0x6AB8 # +0x9F46 0x6AB3 # +0x9F47 0x6AAC # +0x9F48 0x6ADE # +0x9F49 0x6AD1 # +0x9F4A 0x6ADF # +0x9F4B 0x6AAA # +0x9F4C 0x6ADA # +0x9F4D 0x6AEA # +0x9F4E 0x6AFB # +0x9F4F 0x6B05 # +0x9F50 0x8616 # +0x9F51 0x6AFA # +0x9F52 0x6B12 # +0x9F53 0x6B16 # +0x9F54 0x9B31 # +0x9F55 0x6B1F # +0x9F56 0x6B38 # +0x9F57 0x6B37 # +0x9F58 0x76DC # +0x9F59 0x6B39 # +0x9F5A 0x98EE # +0x9F5B 0x6B47 # +0x9F5C 0x6B43 # +0x9F5D 0x6B49 # +0x9F5E 0x6B50 # +0x9F5F 0x6B59 # +0x9F60 0x6B54 # +0x9F61 0x6B5B # +0x9F62 0x6B5F # +0x9F63 0x6B61 # +0x9F64 0x6B78 # +0x9F65 0x6B79 # +0x9F66 0x6B7F # +0x9F67 0x6B80 # +0x9F68 0x6B84 # +0x9F69 0x6B83 # +0x9F6A 0x6B8D # +0x9F6B 0x6B98 # +0x9F6C 0x6B95 # +0x9F6D 0x6B9E # +0x9F6E 0x6BA4 # +0x9F6F 0x6BAA # +0x9F70 0x6BAB # +0x9F71 0x6BAF # +0x9F72 0x6BB2 # +0x9F73 0x6BB1 # +0x9F74 0x6BB3 # +0x9F75 0x6BB7 # +0x9F76 0x6BBC # +0x9F77 0x6BC6 # +0x9F78 0x6BCB # +0x9F79 0x6BD3 # +0x9F7A 0x6BDF # +0x9F7B 0x6BEC # +0x9F7C 0x6BEB # +0x9F7D 0x6BF3 # +0x9F7E 0x6BEF # +0x9F80 0x9EBE # +0x9F81 0x6C08 # +0x9F82 0x6C13 # +0x9F83 0x6C14 # +0x9F84 0x6C1B # +0x9F85 0x6C24 # +0x9F86 0x6C23 # +0x9F87 0x6C5E # +0x9F88 0x6C55 # +0x9F89 0x6C62 # +0x9F8A 0x6C6A # +0x9F8B 0x6C82 # +0x9F8C 0x6C8D # +0x9F8D 0x6C9A # +0x9F8E 0x6C81 # +0x9F8F 0x6C9B # +0x9F90 0x6C7E # +0x9F91 0x6C68 # +0x9F92 0x6C73 # +0x9F93 0x6C92 # +0x9F94 0x6C90 # +0x9F95 0x6CC4 # +0x9F96 0x6CF1 # +0x9F97 0x6CD3 # +0x9F98 0x6CBD # +0x9F99 0x6CD7 # +0x9F9A 0x6CC5 # +0x9F9B 0x6CDD # +0x9F9C 0x6CAE # +0x9F9D 0x6CB1 # +0x9F9E 0x6CBE # +0x9F9F 0x6CBA # +0x9FA0 0x6CDB # +0x9FA1 0x6CEF # +0x9FA2 0x6CD9 # +0x9FA3 0x6CEA # +0x9FA4 0x6D1F # +0x9FA5 0x884D # +0x9FA6 0x6D36 # +0x9FA7 0x6D2B # +0x9FA8 0x6D3D # +0x9FA9 0x6D38 # +0x9FAA 0x6D19 # +0x9FAB 0x6D35 # +0x9FAC 0x6D33 # +0x9FAD 0x6D12 # +0x9FAE 0x6D0C # +0x9FAF 0x6D63 # +0x9FB0 0x6D93 # +0x9FB1 0x6D64 # +0x9FB2 0x6D5A # +0x9FB3 0x6D79 # +0x9FB4 0x6D59 # +0x9FB5 0x6D8E # +0x9FB6 0x6D95 # +0x9FB7 0x6FE4 # +0x9FB8 0x6D85 # +0x9FB9 0x6DF9 # +0x9FBA 0x6E15 # +0x9FBB 0x6E0A # +0x9FBC 0x6DB5 # +0x9FBD 0x6DC7 # +0x9FBE 0x6DE6 # +0x9FBF 0x6DB8 # +0x9FC0 0x6DC6 # +0x9FC1 0x6DEC # +0x9FC2 0x6DDE # +0x9FC3 0x6DCC # +0x9FC4 0x6DE8 # +0x9FC5 0x6DD2 # +0x9FC6 0x6DC5 # +0x9FC7 0x6DFA # +0x9FC8 0x6DD9 # +0x9FC9 0x6DE4 # +0x9FCA 0x6DD5 # +0x9FCB 0x6DEA # +0x9FCC 0x6DEE # +0x9FCD 0x6E2D # +0x9FCE 0x6E6E # +0x9FCF 0x6E2E # +0x9FD0 0x6E19 # +0x9FD1 0x6E72 # +0x9FD2 0x6E5F # +0x9FD3 0x6E3E # +0x9FD4 0x6E23 # +0x9FD5 0x6E6B # +0x9FD6 0x6E2B # +0x9FD7 0x6E76 # +0x9FD8 0x6E4D # +0x9FD9 0x6E1F # +0x9FDA 0x6E43 # +0x9FDB 0x6E3A # +0x9FDC 0x6E4E # +0x9FDD 0x6E24 # +0x9FDE 0x6EFF # +0x9FDF 0x6E1D # +0x9FE0 0x6E38 # +0x9FE1 0x6E82 # +0x9FE2 0x6EAA # +0x9FE3 0x6E98 # +0x9FE4 0x6EC9 # +0x9FE5 0x6EB7 # +0x9FE6 0x6ED3 # +0x9FE7 0x6EBD # +0x9FE8 0x6EAF # +0x9FE9 0x6EC4 # +0x9FEA 0x6EB2 # +0x9FEB 0x6ED4 # +0x9FEC 0x6ED5 # +0x9FED 0x6E8F # +0x9FEE 0x6EA5 # +0x9FEF 0x6EC2 # +0x9FF0 0x6E9F # +0x9FF1 0x6F41 # +0x9FF2 0x6F11 # +0x9FF3 0x704C # +0x9FF4 0x6EEC # +0x9FF5 0x6EF8 # +0x9FF6 0x6EFE # +0x9FF7 0x6F3F # +0x9FF8 0x6EF2 # +0x9FF9 0x6F31 # +0x9FFA 0x6EEF # +0x9FFB 0x6F32 # +0x9FFC 0x6ECC # +# +0xE040 0x6F3E # +0xE041 0x6F13 # +0xE042 0x6EF7 # +0xE043 0x6F86 # +0xE044 0x6F7A # +0xE045 0x6F78 # +0xE046 0x6F81 # +0xE047 0x6F80 # +0xE048 0x6F6F # +0xE049 0x6F5B # +0xE04A 0x6FF3 # +0xE04B 0x6F6D # +0xE04C 0x6F82 # +0xE04D 0x6F7C # +0xE04E 0x6F58 # +0xE04F 0x6F8E # +0xE050 0x6F91 # +0xE051 0x6FC2 # +0xE052 0x6F66 # +0xE053 0x6FB3 # +0xE054 0x6FA3 # +0xE055 0x6FA1 # +0xE056 0x6FA4 # +0xE057 0x6FB9 # +0xE058 0x6FC6 # +0xE059 0x6FAA # +0xE05A 0x6FDF # +0xE05B 0x6FD5 # +0xE05C 0x6FEC # +0xE05D 0x6FD4 # +0xE05E 0x6FD8 # +0xE05F 0x6FF1 # +0xE060 0x6FEE # +0xE061 0x6FDB # +0xE062 0x7009 # +0xE063 0x700B # +0xE064 0x6FFA # +0xE065 0x7011 # +0xE066 0x7001 # +0xE067 0x700F # +0xE068 0x6FFE # +0xE069 0x701B # +0xE06A 0x701A # +0xE06B 0x6F74 # +0xE06C 0x701D # +0xE06D 0x7018 # +0xE06E 0x701F # +0xE06F 0x7030 # +0xE070 0x703E # +0xE071 0x7032 # +0xE072 0x7051 # +0xE073 0x7063 # +0xE074 0x7099 # +0xE075 0x7092 # +0xE076 0x70AF # +0xE077 0x70F1 # +0xE078 0x70AC # +0xE079 0x70B8 # +0xE07A 0x70B3 # +0xE07B 0x70AE # +0xE07C 0x70DF # +0xE07D 0x70CB # +0xE07E 0x70DD # +0xE080 0x70D9 # +0xE081 0x7109 # +0xE082 0x70FD # +0xE083 0x711C # +0xE084 0x7119 # +0xE085 0x7165 # +0xE086 0x7155 # +0xE087 0x7188 # +0xE088 0x7166 # +0xE089 0x7162 # +0xE08A 0x714C # +0xE08B 0x7156 # +0xE08C 0x716C # +0xE08D 0x718F # +0xE08E 0x71FB # +0xE08F 0x7184 # +0xE090 0x7195 # +0xE091 0x71A8 # +0xE092 0x71AC # +0xE093 0x71D7 # +0xE094 0x71B9 # +0xE095 0x71BE # +0xE096 0x71D2 # +0xE097 0x71C9 # +0xE098 0x71D4 # +0xE099 0x71CE # +0xE09A 0x71E0 # +0xE09B 0x71EC # +0xE09C 0x71E7 # +0xE09D 0x71F5 # +0xE09E 0x71FC # +0xE09F 0x71F9 # +0xE0A0 0x71FF # +0xE0A1 0x720D # +0xE0A2 0x7210 # +0xE0A3 0x721B # +0xE0A4 0x7228 # +0xE0A5 0x722D # +0xE0A6 0x722C # +0xE0A7 0x7230 # +0xE0A8 0x7232 # +0xE0A9 0x723B # +0xE0AA 0x723C # +0xE0AB 0x723F # +0xE0AC 0x7240 # +0xE0AD 0x7246 # +0xE0AE 0x724B # +0xE0AF 0x7258 # +0xE0B0 0x7274 # +0xE0B1 0x727E # +0xE0B2 0x7282 # +0xE0B3 0x7281 # +0xE0B4 0x7287 # +0xE0B5 0x7292 # +0xE0B6 0x7296 # +0xE0B7 0x72A2 # +0xE0B8 0x72A7 # +0xE0B9 0x72B9 # +0xE0BA 0x72B2 # +0xE0BB 0x72C3 # +0xE0BC 0x72C6 # +0xE0BD 0x72C4 # +0xE0BE 0x72CE # +0xE0BF 0x72D2 # +0xE0C0 0x72E2 # +0xE0C1 0x72E0 # +0xE0C2 0x72E1 # +0xE0C3 0x72F9 # +0xE0C4 0x72F7 # +0xE0C5 0x500F # +0xE0C6 0x7317 # +0xE0C7 0x730A # +0xE0C8 0x731C # +0xE0C9 0x7316 # +0xE0CA 0x731D # +0xE0CB 0x7334 # +0xE0CC 0x732F # +0xE0CD 0x7329 # +0xE0CE 0x7325 # +0xE0CF 0x733E # +0xE0D0 0x734E # +0xE0D1 0x734F # +0xE0D2 0x9ED8 # +0xE0D3 0x7357 # +0xE0D4 0x736A # +0xE0D5 0x7368 # +0xE0D6 0x7370 # +0xE0D7 0x7378 # +0xE0D8 0x7375 # +0xE0D9 0x737B # +0xE0DA 0x737A # +0xE0DB 0x73C8 # +0xE0DC 0x73B3 # +0xE0DD 0x73CE # +0xE0DE 0x73BB # +0xE0DF 0x73C0 # +0xE0E0 0x73E5 # +0xE0E1 0x73EE # +0xE0E2 0x73DE # +0xE0E3 0x74A2 # +0xE0E4 0x7405 # +0xE0E5 0x746F # +0xE0E6 0x7425 # +0xE0E7 0x73F8 # +0xE0E8 0x7432 # +0xE0E9 0x743A # +0xE0EA 0x7455 # +0xE0EB 0x743F # +0xE0EC 0x745F # +0xE0ED 0x7459 # +0xE0EE 0x7441 # +0xE0EF 0x745C # +0xE0F0 0x7469 # +0xE0F1 0x7470 # +0xE0F2 0x7463 # +0xE0F3 0x746A # +0xE0F4 0x7476 # +0xE0F5 0x747E # +0xE0F6 0x748B # +0xE0F7 0x749E # +0xE0F8 0x74A7 # +0xE0F9 0x74CA # +0xE0FA 0x74CF # +0xE0FB 0x74D4 # +0xE0FC 0x73F1 # +0xE140 0x74E0 # +0xE141 0x74E3 # +0xE142 0x74E7 # +0xE143 0x74E9 # +0xE144 0x74EE # +0xE145 0x74F2 # +0xE146 0x74F0 # +0xE147 0x74F1 # +0xE148 0x74F8 # +0xE149 0x74F7 # +0xE14A 0x7504 # +0xE14B 0x7503 # +0xE14C 0x7505 # +0xE14D 0x750C # +0xE14E 0x750E # +0xE14F 0x750D # +0xE150 0x7515 # +0xE151 0x7513 # +0xE152 0x751E # +0xE153 0x7526 # +0xE154 0x752C # +0xE155 0x753C # +0xE156 0x7544 # +0xE157 0x754D # +0xE158 0x754A # +0xE159 0x7549 # +0xE15A 0x755B # +0xE15B 0x7546 # +0xE15C 0x755A # +0xE15D 0x7569 # +0xE15E 0x7564 # +0xE15F 0x7567 # +0xE160 0x756B # +0xE161 0x756D # +0xE162 0x7578 # +0xE163 0x7576 # +0xE164 0x7586 # +0xE165 0x7587 # +0xE166 0x7574 # +0xE167 0x758A # +0xE168 0x7589 # +0xE169 0x7582 # +0xE16A 0x7594 # +0xE16B 0x759A # +0xE16C 0x759D # +0xE16D 0x75A5 # +0xE16E 0x75A3 # +0xE16F 0x75C2 # +0xE170 0x75B3 # +0xE171 0x75C3 # +0xE172 0x75B5 # +0xE173 0x75BD # +0xE174 0x75B8 # +0xE175 0x75BC # +0xE176 0x75B1 # +0xE177 0x75CD # +0xE178 0x75CA # +0xE179 0x75D2 # +0xE17A 0x75D9 # +0xE17B 0x75E3 # +0xE17C 0x75DE # +0xE17D 0x75FE # +0xE17E 0x75FF # +0xE180 0x75FC # +0xE181 0x7601 # +0xE182 0x75F0 # +0xE183 0x75FA # +0xE184 0x75F2 # +0xE185 0x75F3 # +0xE186 0x760B # +0xE187 0x760D # +0xE188 0x7609 # +0xE189 0x761F # +0xE18A 0x7627 # +0xE18B 0x7620 # +0xE18C 0x7621 # +0xE18D 0x7622 # +0xE18E 0x7624 # +0xE18F 0x7634 # +0xE190 0x7630 # +0xE191 0x763B # +0xE192 0x7647 # +0xE193 0x7648 # +0xE194 0x7646 # +0xE195 0x765C # +0xE196 0x7658 # +0xE197 0x7661 # +0xE198 0x7662 # +0xE199 0x7668 # +0xE19A 0x7669 # +0xE19B 0x766A # +0xE19C 0x7667 # +0xE19D 0x766C # +0xE19E 0x7670 # +0xE19F 0x7672 # +0xE1A0 0x7676 # +0xE1A1 0x7678 # +0xE1A2 0x767C # +0xE1A3 0x7680 # +0xE1A4 0x7683 # +0xE1A5 0x7688 # +0xE1A6 0x768B # +0xE1A7 0x768E # +0xE1A8 0x7696 # +0xE1A9 0x7693 # +0xE1AA 0x7699 # +0xE1AB 0x769A # +0xE1AC 0x76B0 # +0xE1AD 0x76B4 # +0xE1AE 0x76B8 # +0xE1AF 0x76B9 # +0xE1B0 0x76BA # +0xE1B1 0x76C2 # +0xE1B2 0x76CD # +0xE1B3 0x76D6 # +0xE1B4 0x76D2 # +0xE1B5 0x76DE # +0xE1B6 0x76E1 # +0xE1B7 0x76E5 # +0xE1B8 0x76E7 # +0xE1B9 0x76EA # +0xE1BA 0x862F # +0xE1BB 0x76FB # +0xE1BC 0x7708 # +0xE1BD 0x7707 # +0xE1BE 0x7704 # +0xE1BF 0x7729 # +0xE1C0 0x7724 # +0xE1C1 0x771E # +0xE1C2 0x7725 # +0xE1C3 0x7726 # +0xE1C4 0x771B # +0xE1C5 0x7737 # +0xE1C6 0x7738 # +0xE1C7 0x7747 # +0xE1C8 0x775A # +0xE1C9 0x7768 # +0xE1CA 0x776B # +0xE1CB 0x775B # +0xE1CC 0x7765 # +0xE1CD 0x777F # +0xE1CE 0x777E # +0xE1CF 0x7779 # +0xE1D0 0x778E # +0xE1D1 0x778B # +0xE1D2 0x7791 # +0xE1D3 0x77A0 # +0xE1D4 0x779E # +0xE1D5 0x77B0 # +0xE1D6 0x77B6 # +0xE1D7 0x77B9 # +0xE1D8 0x77BF # +0xE1D9 0x77BC # +0xE1DA 0x77BD # +0xE1DB 0x77BB # +0xE1DC 0x77C7 # +0xE1DD 0x77CD # +0xE1DE 0x77D7 # +0xE1DF 0x77DA # +0xE1E0 0x77DC # +0xE1E1 0x77E3 # +0xE1E2 0x77EE # +0xE1E3 0x77FC # +0xE1E4 0x780C # +0xE1E5 0x7812 # +0xE1E6 0x7926 # +0xE1E7 0x7820 # +0xE1E8 0x792A # +0xE1E9 0x7845 # +0xE1EA 0x788E # +0xE1EB 0x7874 # +0xE1EC 0x7886 # +0xE1ED 0x787C # +0xE1EE 0x789A # +0xE1EF 0x788C # +0xE1F0 0x78A3 # +0xE1F1 0x78B5 # +0xE1F2 0x78AA # +0xE1F3 0x78AF # +0xE1F4 0x78D1 # +0xE1F5 0x78C6 # +0xE1F6 0x78CB # +0xE1F7 0x78D4 # +0xE1F8 0x78BE # +0xE1F9 0x78BC # +0xE1FA 0x78C5 # +0xE1FB 0x78CA # +0xE1FC 0x78EC # +0xE240 0x78E7 # +0xE241 0x78DA # +0xE242 0x78FD # +0xE243 0x78F4 # +0xE244 0x7907 # +0xE245 0x7912 # +0xE246 0x7911 # +0xE247 0x7919 # +0xE248 0x792C # +0xE249 0x792B # +0xE24A 0x7940 # +0xE24B 0x7960 # +0xE24C 0x7957 # +0xE24D 0x795F # +0xE24E 0x795A # +0xE24F 0x7955 # +0xE250 0x7953 # +0xE251 0x797A # +0xE252 0x797F # +0xE253 0x798A # +0xE254 0x799D # +0xE255 0x79A7 # +0xE256 0x9F4B # +0xE257 0x79AA # +0xE258 0x79AE # +0xE259 0x79B3 # +0xE25A 0x79B9 # +0xE25B 0x79BA # +0xE25C 0x79C9 # +0xE25D 0x79D5 # +0xE25E 0x79E7 # +0xE25F 0x79EC # +0xE260 0x79E1 # +0xE261 0x79E3 # +0xE262 0x7A08 # +0xE263 0x7A0D # +0xE264 0x7A18 # +0xE265 0x7A19 # +0xE266 0x7A20 # +0xE267 0x7A1F # +0xE268 0x7980 # +0xE269 0x7A31 # +0xE26A 0x7A3B # +0xE26B 0x7A3E # +0xE26C 0x7A37 # +0xE26D 0x7A43 # +0xE26E 0x7A57 # +0xE26F 0x7A49 # +0xE270 0x7A61 # +0xE271 0x7A62 # +0xE272 0x7A69 # +0xE273 0x9F9D # +0xE274 0x7A70 # +0xE275 0x7A79 # +0xE276 0x7A7D # +0xE277 0x7A88 # +0xE278 0x7A97 # +0xE279 0x7A95 # +0xE27A 0x7A98 # +0xE27B 0x7A96 # +0xE27C 0x7AA9 # +0xE27D 0x7AC8 # +0xE27E 0x7AB0 # +0xE280 0x7AB6 # +0xE281 0x7AC5 # +0xE282 0x7AC4 # +0xE283 0x7ABF # +0xE284 0x9083 # +0xE285 0x7AC7 # +0xE286 0x7ACA # +0xE287 0x7ACD # +0xE288 0x7ACF # +0xE289 0x7AD5 # +0xE28A 0x7AD3 # +0xE28B 0x7AD9 # +0xE28C 0x7ADA # +0xE28D 0x7ADD # +0xE28E 0x7AE1 # +0xE28F 0x7AE2 # +0xE290 0x7AE6 # +0xE291 0x7AED # +0xE292 0x7AF0 # +0xE293 0x7B02 # +0xE294 0x7B0F # +0xE295 0x7B0A # +0xE296 0x7B06 # +0xE297 0x7B33 # +0xE298 0x7B18 # +0xE299 0x7B19 # +0xE29A 0x7B1E # +0xE29B 0x7B35 # +0xE29C 0x7B28 # +0xE29D 0x7B36 # +0xE29E 0x7B50 # +0xE29F 0x7B7A # +0xE2A0 0x7B04 # +0xE2A1 0x7B4D # +0xE2A2 0x7B0B # +0xE2A3 0x7B4C # +0xE2A4 0x7B45 # +0xE2A5 0x7B75 # +0xE2A6 0x7B65 # +0xE2A7 0x7B74 # +0xE2A8 0x7B67 # +0xE2A9 0x7B70 # +0xE2AA 0x7B71 # +0xE2AB 0x7B6C # +0xE2AC 0x7B6E # +0xE2AD 0x7B9D # +0xE2AE 0x7B98 # +0xE2AF 0x7B9F # +0xE2B0 0x7B8D # +0xE2B1 0x7B9C # +0xE2B2 0x7B9A # +0xE2B3 0x7B8B # +0xE2B4 0x7B92 # +0xE2B5 0x7B8F # +0xE2B6 0x7B5D # +0xE2B7 0x7B99 # +0xE2B8 0x7BCB # +0xE2B9 0x7BC1 # +0xE2BA 0x7BCC # +0xE2BB 0x7BCF # +0xE2BC 0x7BB4 # +0xE2BD 0x7BC6 # +0xE2BE 0x7BDD # +0xE2BF 0x7BE9 # +0xE2C0 0x7C11 # +0xE2C1 0x7C14 # +0xE2C2 0x7BE6 # +0xE2C3 0x7BE5 # +0xE2C4 0x7C60 # +0xE2C5 0x7C00 # +0xE2C6 0x7C07 # +0xE2C7 0x7C13 # +0xE2C8 0x7BF3 # +0xE2C9 0x7BF7 # +0xE2CA 0x7C17 # +0xE2CB 0x7C0D # +0xE2CC 0x7BF6 # +0xE2CD 0x7C23 # +0xE2CE 0x7C27 # +0xE2CF 0x7C2A # +0xE2D0 0x7C1F # +0xE2D1 0x7C37 # +0xE2D2 0x7C2B # +0xE2D3 0x7C3D # +0xE2D4 0x7C4C # +0xE2D5 0x7C43 # +0xE2D6 0x7C54 # +0xE2D7 0x7C4F # +0xE2D8 0x7C40 # +0xE2D9 0x7C50 # +0xE2DA 0x7C58 # +0xE2DB 0x7C5F # +0xE2DC 0x7C64 # +0xE2DD 0x7C56 # +0xE2DE 0x7C65 # +0xE2DF 0x7C6C # +0xE2E0 0x7C75 # +0xE2E1 0x7C83 # +0xE2E2 0x7C90 # +0xE2E3 0x7CA4 # +0xE2E4 0x7CAD # +0xE2E5 0x7CA2 # +0xE2E6 0x7CAB # +0xE2E7 0x7CA1 # +0xE2E8 0x7CA8 # +0xE2E9 0x7CB3 # +0xE2EA 0x7CB2 # +0xE2EB 0x7CB1 # +0xE2EC 0x7CAE # +0xE2ED 0x7CB9 # +0xE2EE 0x7CBD # +0xE2EF 0x7CC0 # +0xE2F0 0x7CC5 # +0xE2F1 0x7CC2 # +0xE2F2 0x7CD8 # +0xE2F3 0x7CD2 # +0xE2F4 0x7CDC # +0xE2F5 0x7CE2 # +0xE2F6 0x9B3B # +0xE2F7 0x7CEF # +0xE2F8 0x7CF2 # +0xE2F9 0x7CF4 # +0xE2FA 0x7CF6 # +0xE2FB 0x7CFA # +0xE2FC 0x7D06 # +0xE340 0x7D02 # +0xE341 0x7D1C # +0xE342 0x7D15 # +0xE343 0x7D0A # +0xE344 0x7D45 # +0xE345 0x7D4B # +0xE346 0x7D2E # +0xE347 0x7D32 # +0xE348 0x7D3F # +0xE349 0x7D35 # +0xE34A 0x7D46 # +0xE34B 0x7D73 # +0xE34C 0x7D56 # +0xE34D 0x7D4E # +0xE34E 0x7D72 # +0xE34F 0x7D68 # +0xE350 0x7D6E # +0xE351 0x7D4F # +0xE352 0x7D63 # +0xE353 0x7D93 # +0xE354 0x7D89 # +0xE355 0x7D5B # +0xE356 0x7D8F # +0xE357 0x7D7D # +0xE358 0x7D9B # +0xE359 0x7DBA # +0xE35A 0x7DAE # +0xE35B 0x7DA3 # +0xE35C 0x7DB5 # +0xE35D 0x7DC7 # +0xE35E 0x7DBD # +0xE35F 0x7DAB # +0xE360 0x7E3D # +0xE361 0x7DA2 # +0xE362 0x7DAF # +0xE363 0x7DDC # +0xE364 0x7DB8 # +0xE365 0x7D9F # +0xE366 0x7DB0 # +0xE367 0x7DD8 # +0xE368 0x7DDD # +0xE369 0x7DE4 # +0xE36A 0x7DDE # +0xE36B 0x7DFB # +0xE36C 0x7DF2 # +0xE36D 0x7DE1 # +0xE36E 0x7E05 # +0xE36F 0x7E0A # +0xE370 0x7E23 # +0xE371 0x7E21 # +0xE372 0x7E12 # +0xE373 0x7E31 # +0xE374 0x7E1F # +0xE375 0x7E09 # +0xE376 0x7E0B # +0xE377 0x7E22 # +0xE378 0x7E46 # +0xE379 0x7E66 # +0xE37A 0x7E3B # +0xE37B 0x7E35 # +0xE37C 0x7E39 # +0xE37D 0x7E43 # +0xE37E 0x7E37 # +0xE380 0x7E32 # +0xE381 0x7E3A # +0xE382 0x7E67 # +0xE383 0x7E5D # +0xE384 0x7E56 # +0xE385 0x7E5E # +0xE386 0x7E59 # +0xE387 0x7E5A # +0xE388 0x7E79 # +0xE389 0x7E6A # +0xE38A 0x7E69 # +0xE38B 0x7E7C # +0xE38C 0x7E7B # +0xE38D 0x7E83 # +0xE38E 0x7DD5 # +0xE38F 0x7E7D # +0xE390 0x8FAE # +0xE391 0x7E7F # +0xE392 0x7E88 # +0xE393 0x7E89 # +0xE394 0x7E8C # +0xE395 0x7E92 # +0xE396 0x7E90 # +0xE397 0x7E93 # +0xE398 0x7E94 # +0xE399 0x7E96 # +0xE39A 0x7E8E # +0xE39B 0x7E9B # +0xE39C 0x7E9C # +0xE39D 0x7F38 # +0xE39E 0x7F3A # +0xE39F 0x7F45 # +0xE3A0 0x7F4C # +0xE3A1 0x7F4D # +0xE3A2 0x7F4E # +0xE3A3 0x7F50 # +0xE3A4 0x7F51 # +0xE3A5 0x7F55 # +0xE3A6 0x7F54 # +0xE3A7 0x7F58 # +0xE3A8 0x7F5F # +0xE3A9 0x7F60 # +0xE3AA 0x7F68 # +0xE3AB 0x7F69 # +0xE3AC 0x7F67 # +0xE3AD 0x7F78 # +0xE3AE 0x7F82 # +0xE3AF 0x7F86 # +0xE3B0 0x7F83 # +0xE3B1 0x7F88 # +0xE3B2 0x7F87 # +0xE3B3 0x7F8C # +0xE3B4 0x7F94 # +0xE3B5 0x7F9E # +0xE3B6 0x7F9D # +0xE3B7 0x7F9A # +0xE3B8 0x7FA3 # +0xE3B9 0x7FAF # +0xE3BA 0x7FB2 # +0xE3BB 0x7FB9 # +0xE3BC 0x7FAE # +0xE3BD 0x7FB6 # +0xE3BE 0x7FB8 # +0xE3BF 0x8B71 # +0xE3C0 0x7FC5 # +0xE3C1 0x7FC6 # +0xE3C2 0x7FCA # +0xE3C3 0x7FD5 # +0xE3C4 0x7FD4 # +0xE3C5 0x7FE1 # +0xE3C6 0x7FE6 # +0xE3C7 0x7FE9 # +0xE3C8 0x7FF3 # +0xE3C9 0x7FF9 # +0xE3CA 0x98DC # +0xE3CB 0x8006 # +0xE3CC 0x8004 # +0xE3CD 0x800B # +0xE3CE 0x8012 # +0xE3CF 0x8018 # +0xE3D0 0x8019 # +0xE3D1 0x801C # +0xE3D2 0x8021 # +0xE3D3 0x8028 # +0xE3D4 0x803F # +0xE3D5 0x803B # +0xE3D6 0x804A # +0xE3D7 0x8046 # +0xE3D8 0x8052 # +0xE3D9 0x8058 # +0xE3DA 0x805A # +0xE3DB 0x805F # +0xE3DC 0x8062 # +0xE3DD 0x8068 # +0xE3DE 0x8073 # +0xE3DF 0x8072 # +0xE3E0 0x8070 # +0xE3E1 0x8076 # +0xE3E2 0x8079 # +0xE3E3 0x807D # +0xE3E4 0x807F # +0xE3E5 0x8084 # +0xE3E6 0x8086 # +0xE3E7 0x8085 # +0xE3E8 0x809B # +0xE3E9 0x8093 # +0xE3EA 0x809A # +0xE3EB 0x80AD # +0xE3EC 0x5190 # +0xE3ED 0x80AC # +0xE3EE 0x80DB # +0xE3EF 0x80E5 # +0xE3F0 0x80D9 # +0xE3F1 0x80DD # +0xE3F2 0x80C4 # +0xE3F3 0x80DA # +0xE3F4 0x80D6 # +0xE3F5 0x8109 # +0xE3F6 0x80EF # +0xE3F7 0x80F1 # +0xE3F8 0x811B # +0xE3F9 0x8129 # +0xE3FA 0x8123 # +0xE3FB 0x812F # +0xE3FC 0x814B # +0xE440 0x968B # +0xE441 0x8146 # +0xE442 0x813E # +0xE443 0x8153 # +0xE444 0x8151 # +0xE445 0x80FC # +0xE446 0x8171 # +0xE447 0x816E # +0xE448 0x8165 # +0xE449 0x8166 # +0xE44A 0x8174 # +0xE44B 0x8183 # +0xE44C 0x8188 # +0xE44D 0x818A # +0xE44E 0x8180 # +0xE44F 0x8182 # +0xE450 0x81A0 # +0xE451 0x8195 # +0xE452 0x81A4 # +0xE453 0x81A3 # +0xE454 0x815F # +0xE455 0x8193 # +0xE456 0x81A9 # +0xE457 0x81B0 # +0xE458 0x81B5 # +0xE459 0x81BE # +0xE45A 0x81B8 # +0xE45B 0x81BD # +0xE45C 0x81C0 # +0xE45D 0x81C2 # +0xE45E 0x81BA # +0xE45F 0x81C9 # +0xE460 0x81CD # +0xE461 0x81D1 # +0xE462 0x81D9 # +0xE463 0x81D8 # +0xE464 0x81C8 # +0xE465 0x81DA # +0xE466 0x81DF # +0xE467 0x81E0 # +0xE468 0x81E7 # +0xE469 0x81FA # +0xE46A 0x81FB # +0xE46B 0x81FE # +0xE46C 0x8201 # +0xE46D 0x8202 # +0xE46E 0x8205 # +0xE46F 0x8207 # +0xE470 0x820A # +0xE471 0x820D # +0xE472 0x8210 # +0xE473 0x8216 # +0xE474 0x8229 # +0xE475 0x822B # +0xE476 0x8238 # +0xE477 0x8233 # +0xE478 0x8240 # +0xE479 0x8259 # +0xE47A 0x8258 # +0xE47B 0x825D # +0xE47C 0x825A # +0xE47D 0x825F # +0xE47E 0x8264 # +0xE480 0x8262 # +0xE481 0x8268 # +0xE482 0x826A # +0xE483 0x826B # +0xE484 0x822E # +0xE485 0x8271 # +0xE486 0x8277 # +0xE487 0x8278 # +0xE488 0x827E # +0xE489 0x828D # +0xE48A 0x8292 # +0xE48B 0x82AB # +0xE48C 0x829F # +0xE48D 0x82BB # +0xE48E 0x82AC # +0xE48F 0x82E1 # +0xE490 0x82E3 # +0xE491 0x82DF # +0xE492 0x82D2 # +0xE493 0x82F4 # +0xE494 0x82F3 # +0xE495 0x82FA # +0xE496 0x8393 # +0xE497 0x8303 # +0xE498 0x82FB # +0xE499 0x82F9 # +0xE49A 0x82DE # +0xE49B 0x8306 # +0xE49C 0x82DC # +0xE49D 0x8309 # +0xE49E 0x82D9 # +0xE49F 0x8335 # +0xE4A0 0x8334 # +0xE4A1 0x8316 # +0xE4A2 0x8332 # +0xE4A3 0x8331 # +0xE4A4 0x8340 # +0xE4A5 0x8339 # +0xE4A6 0x8350 # +0xE4A7 0x8345 # +0xE4A8 0x832F # +0xE4A9 0x832B # +0xE4AA 0x8317 # +0xE4AB 0x8318 # +0xE4AC 0x8385 # +0xE4AD 0x839A # +0xE4AE 0x83AA # +0xE4AF 0x839F # +0xE4B0 0x83A2 # +0xE4B1 0x8396 # +0xE4B2 0x8323 # +0xE4B3 0x838E # +0xE4B4 0x8387 # +0xE4B5 0x838A # +0xE4B6 0x837C # +0xE4B7 0x83B5 # +0xE4B8 0x8373 # +0xE4B9 0x8375 # +0xE4BA 0x83A0 # +0xE4BB 0x8389 # +0xE4BC 0x83A8 # +0xE4BD 0x83F4 # +0xE4BE 0x8413 # +0xE4BF 0x83EB # +0xE4C0 0x83CE # +0xE4C1 0x83FD # +0xE4C2 0x8403 # +0xE4C3 0x83D8 # +0xE4C4 0x840B # +0xE4C5 0x83C1 # +0xE4C6 0x83F7 # +0xE4C7 0x8407 # +0xE4C8 0x83E0 # +0xE4C9 0x83F2 # +0xE4CA 0x840D # +0xE4CB 0x8422 # +0xE4CC 0x8420 # +0xE4CD 0x83BD # +0xE4CE 0x8438 # +0xE4CF 0x8506 # +0xE4D0 0x83FB # +0xE4D1 0x846D # +0xE4D2 0x842A # +0xE4D3 0x843C # +0xE4D4 0x855A # +0xE4D5 0x8484 # +0xE4D6 0x8477 # +0xE4D7 0x846B # +0xE4D8 0x84AD # +0xE4D9 0x846E # +0xE4DA 0x8482 # +0xE4DB 0x8469 # +0xE4DC 0x8446 # +0xE4DD 0x842C # +0xE4DE 0x846F # +0xE4DF 0x8479 # +0xE4E0 0x8435 # +0xE4E1 0x84CA # +0xE4E2 0x8462 # +0xE4E3 0x84B9 # +0xE4E4 0x84BF # +0xE4E5 0x849F # +0xE4E6 0x84D9 # +0xE4E7 0x84CD # +0xE4E8 0x84BB # +0xE4E9 0x84DA # +0xE4EA 0x84D0 # +0xE4EB 0x84C1 # +0xE4EC 0x84C6 # +0xE4ED 0x84D6 # +0xE4EE 0x84A1 # +0xE4EF 0x8521 # +0xE4F0 0x84FF # +0xE4F1 0x84F4 # +0xE4F2 0x8517 # +0xE4F3 0x8518 # +0xE4F4 0x852C # +0xE4F5 0x851F # +0xE4F6 0x8515 # +0xE4F7 0x8514 # +0xE4F8 0x84FC # +0xE4F9 0x8540 # +0xE4FA 0x8563 # +0xE4FB 0x8558 # +0xE4FC 0x8548 # +0xE540 0x8541 # +0xE541 0x8602 # +0xE542 0x854B # +0xE543 0x8555 # +0xE544 0x8580 # +0xE545 0x85A4 # +0xE546 0x8588 # +0xE547 0x8591 # +0xE548 0x858A # +0xE549 0x85A8 # +0xE54A 0x856D # +0xE54B 0x8594 # +0xE54C 0x859B # +0xE54D 0x85EA # +0xE54E 0x8587 # +0xE54F 0x859C # +0xE550 0x8577 # +0xE551 0x857E # +0xE552 0x8590 # +0xE553 0x85C9 # +0xE554 0x85BA # +0xE555 0x85CF # +0xE556 0x85B9 # +0xE557 0x85D0 # +0xE558 0x85D5 # +0xE559 0x85DD # +0xE55A 0x85E5 # +0xE55B 0x85DC # +0xE55C 0x85F9 # +0xE55D 0x860A # +0xE55E 0x8613 # +0xE55F 0x860B # +0xE560 0x85FE # +0xE561 0x85FA # +0xE562 0x8606 # +0xE563 0x8622 # +0xE564 0x861A # +0xE565 0x8630 # +0xE566 0x863F # +0xE567 0x864D # +0xE568 0x4E55 # +0xE569 0x8654 # +0xE56A 0x865F # +0xE56B 0x8667 # +0xE56C 0x8671 # +0xE56D 0x8693 # +0xE56E 0x86A3 # +0xE56F 0x86A9 # +0xE570 0x86AA # +0xE571 0x868B # +0xE572 0x868C # +0xE573 0x86B6 # +0xE574 0x86AF # +0xE575 0x86C4 # +0xE576 0x86C6 # +0xE577 0x86B0 # +0xE578 0x86C9 # +0xE579 0x8823 # +0xE57A 0x86AB # +0xE57B 0x86D4 # +0xE57C 0x86DE # +0xE57D 0x86E9 # +0xE57E 0x86EC # +0xE580 0x86DF # +0xE581 0x86DB # +0xE582 0x86EF # +0xE583 0x8712 # +0xE584 0x8706 # +0xE585 0x8708 # +0xE586 0x8700 # +0xE587 0x8703 # +0xE588 0x86FB # +0xE589 0x8711 # +0xE58A 0x8709 # +0xE58B 0x870D # +0xE58C 0x86F9 # +0xE58D 0x870A # +0xE58E 0x8734 # +0xE58F 0x873F # +0xE590 0x8737 # +0xE591 0x873B # +0xE592 0x8725 # +0xE593 0x8729 # +0xE594 0x871A # +0xE595 0x8760 # +0xE596 0x875F # +0xE597 0x8778 # +0xE598 0x874C # +0xE599 0x874E # +0xE59A 0x8774 # +0xE59B 0x8757 # +0xE59C 0x8768 # +0xE59D 0x876E # +0xE59E 0x8759 # +0xE59F 0x8753 # +0xE5A0 0x8763 # +0xE5A1 0x876A # +0xE5A2 0x8805 # +0xE5A3 0x87A2 # +0xE5A4 0x879F # +0xE5A5 0x8782 # +0xE5A6 0x87AF # +0xE5A7 0x87CB # +0xE5A8 0x87BD # +0xE5A9 0x87C0 # +0xE5AA 0x87D0 # +0xE5AB 0x96D6 # +0xE5AC 0x87AB # +0xE5AD 0x87C4 # +0xE5AE 0x87B3 # +0xE5AF 0x87C7 # +0xE5B0 0x87C6 # +0xE5B1 0x87BB # +0xE5B2 0x87EF # +0xE5B3 0x87F2 # +0xE5B4 0x87E0 # +0xE5B5 0x880F # +0xE5B6 0x880D # +0xE5B7 0x87FE # +0xE5B8 0x87F6 # +0xE5B9 0x87F7 # +0xE5BA 0x880E # +0xE5BB 0x87D2 # +0xE5BC 0x8811 # +0xE5BD 0x8816 # +0xE5BE 0x8815 # +0xE5BF 0x8822 # +0xE5C0 0x8821 # +0xE5C1 0x8831 # +0xE5C2 0x8836 # +0xE5C3 0x8839 # +0xE5C4 0x8827 # +0xE5C5 0x883B # +0xE5C6 0x8844 # +0xE5C7 0x8842 # +0xE5C8 0x8852 # +0xE5C9 0x8859 # +0xE5CA 0x885E # +0xE5CB 0x8862 # +0xE5CC 0x886B # +0xE5CD 0x8881 # +0xE5CE 0x887E # +0xE5CF 0x889E # +0xE5D0 0x8875 # +0xE5D1 0x887D # +0xE5D2 0x88B5 # +0xE5D3 0x8872 # +0xE5D4 0x8882 # +0xE5D5 0x8897 # +0xE5D6 0x8892 # +0xE5D7 0x88AE # +0xE5D8 0x8899 # +0xE5D9 0x88A2 # +0xE5DA 0x888D # +0xE5DB 0x88A4 # +0xE5DC 0x88B0 # +0xE5DD 0x88BF # +0xE5DE 0x88B1 # +0xE5DF 0x88C3 # +0xE5E0 0x88C4 # +0xE5E1 0x88D4 # +0xE5E2 0x88D8 # +0xE5E3 0x88D9 # +0xE5E4 0x88DD # +0xE5E5 0x88F9 # +0xE5E6 0x8902 # +0xE5E7 0x88FC # +0xE5E8 0x88F4 # +0xE5E9 0x88E8 # +0xE5EA 0x88F2 # +0xE5EB 0x8904 # +0xE5EC 0x890C # +0xE5ED 0x890A # +0xE5EE 0x8913 # +0xE5EF 0x8943 # +0xE5F0 0x891E # +0xE5F1 0x8925 # +0xE5F2 0x892A # +0xE5F3 0x892B # +0xE5F4 0x8941 # +0xE5F5 0x8944 # +0xE5F6 0x893B # +0xE5F7 0x8936 # +0xE5F8 0x8938 # +0xE5F9 0x894C # +0xE5FA 0x891D # +0xE5FB 0x8960 # +0xE5FC 0x895E # +0xE640 0x8966 # +0xE641 0x8964 # +0xE642 0x896D # +0xE643 0x896A # +0xE644 0x896F # +0xE645 0x8974 # +0xE646 0x8977 # +0xE647 0x897E # +0xE648 0x8983 # +0xE649 0x8988 # +0xE64A 0x898A # +0xE64B 0x8993 # +0xE64C 0x8998 # +0xE64D 0x89A1 # +0xE64E 0x89A9 # +0xE64F 0x89A6 # +0xE650 0x89AC # +0xE651 0x89AF # +0xE652 0x89B2 # +0xE653 0x89BA # +0xE654 0x89BD # +0xE655 0x89BF # +0xE656 0x89C0 # +0xE657 0x89DA # +0xE658 0x89DC # +0xE659 0x89DD # +0xE65A 0x89E7 # +0xE65B 0x89F4 # +0xE65C 0x89F8 # +0xE65D 0x8A03 # +0xE65E 0x8A16 # +0xE65F 0x8A10 # +0xE660 0x8A0C # +0xE661 0x8A1B # +0xE662 0x8A1D # +0xE663 0x8A25 # +0xE664 0x8A36 # +0xE665 0x8A41 # +0xE666 0x8A5B # +0xE667 0x8A52 # +0xE668 0x8A46 # +0xE669 0x8A48 # +0xE66A 0x8A7C # +0xE66B 0x8A6D # +0xE66C 0x8A6C # +0xE66D 0x8A62 # +0xE66E 0x8A85 # +0xE66F 0x8A82 # +0xE670 0x8A84 # +0xE671 0x8AA8 # +0xE672 0x8AA1 # +0xE673 0x8A91 # +0xE674 0x8AA5 # +0xE675 0x8AA6 # +0xE676 0x8A9A # +0xE677 0x8AA3 # +0xE678 0x8AC4 # +0xE679 0x8ACD # +0xE67A 0x8AC2 # +0xE67B 0x8ADA # +0xE67C 0x8AEB # +0xE67D 0x8AF3 # +0xE67E 0x8AE7 # +0xE680 0x8AE4 # +0xE681 0x8AF1 # +0xE682 0x8B14 # +0xE683 0x8AE0 # +0xE684 0x8AE2 # +0xE685 0x8AF7 # +0xE686 0x8ADE # +0xE687 0x8ADB # +0xE688 0x8B0C # +0xE689 0x8B07 # +0xE68A 0x8B1A # +0xE68B 0x8AE1 # +0xE68C 0x8B16 # +0xE68D 0x8B10 # +0xE68E 0x8B17 # +0xE68F 0x8B20 # +0xE690 0x8B33 # +0xE691 0x97AB # +0xE692 0x8B26 # +0xE693 0x8B2B # +0xE694 0x8B3E # +0xE695 0x8B28 # +0xE696 0x8B41 # +0xE697 0x8B4C # +0xE698 0x8B4F # +0xE699 0x8B4E # +0xE69A 0x8B49 # +0xE69B 0x8B56 # +0xE69C 0x8B5B # +0xE69D 0x8B5A # +0xE69E 0x8B6B # +0xE69F 0x8B5F # +0xE6A0 0x8B6C # +0xE6A1 0x8B6F # +0xE6A2 0x8B74 # +0xE6A3 0x8B7D # +0xE6A4 0x8B80 # +0xE6A5 0x8B8C # +0xE6A6 0x8B8E # +0xE6A7 0x8B92 # +0xE6A8 0x8B93 # +0xE6A9 0x8B96 # +0xE6AA 0x8B99 # +0xE6AB 0x8B9A # +0xE6AC 0x8C3A # +0xE6AD 0x8C41 # +0xE6AE 0x8C3F # +0xE6AF 0x8C48 # +0xE6B0 0x8C4C # +0xE6B1 0x8C4E # +0xE6B2 0x8C50 # +0xE6B3 0x8C55 # +0xE6B4 0x8C62 # +0xE6B5 0x8C6C # +0xE6B6 0x8C78 # +0xE6B7 0x8C7A # +0xE6B8 0x8C82 # +0xE6B9 0x8C89 # +0xE6BA 0x8C85 # +0xE6BB 0x8C8A # +0xE6BC 0x8C8D # +0xE6BD 0x8C8E # +0xE6BE 0x8C94 # +0xE6BF 0x8C7C # +0xE6C0 0x8C98 # +0xE6C1 0x621D # +0xE6C2 0x8CAD # +0xE6C3 0x8CAA # +0xE6C4 0x8CBD # +0xE6C5 0x8CB2 # +0xE6C6 0x8CB3 # +0xE6C7 0x8CAE # +0xE6C8 0x8CB6 # +0xE6C9 0x8CC8 # +0xE6CA 0x8CC1 # +0xE6CB 0x8CE4 # +0xE6CC 0x8CE3 # +0xE6CD 0x8CDA # +0xE6CE 0x8CFD # +0xE6CF 0x8CFA # +0xE6D0 0x8CFB # +0xE6D1 0x8D04 # +0xE6D2 0x8D05 # +0xE6D3 0x8D0A # +0xE6D4 0x8D07 # +0xE6D5 0x8D0F # +0xE6D6 0x8D0D # +0xE6D7 0x8D10 # +0xE6D8 0x9F4E # +0xE6D9 0x8D13 # +0xE6DA 0x8CCD # +0xE6DB 0x8D14 # +0xE6DC 0x8D16 # +0xE6DD 0x8D67 # +0xE6DE 0x8D6D # +0xE6DF 0x8D71 # +0xE6E0 0x8D73 # +0xE6E1 0x8D81 # +0xE6E2 0x8D99 # +0xE6E3 0x8DC2 # +0xE6E4 0x8DBE # +0xE6E5 0x8DBA # +0xE6E6 0x8DCF # +0xE6E7 0x8DDA # +0xE6E8 0x8DD6 # +0xE6E9 0x8DCC # +0xE6EA 0x8DDB # +0xE6EB 0x8DCB # +0xE6EC 0x8DEA # +0xE6ED 0x8DEB # +0xE6EE 0x8DDF # +0xE6EF 0x8DE3 # +0xE6F0 0x8DFC # +0xE6F1 0x8E08 # +0xE6F2 0x8E09 # +0xE6F3 0x8DFF # +0xE6F4 0x8E1D # +0xE6F5 0x8E1E # +0xE6F6 0x8E10 # +0xE6F7 0x8E1F # +0xE6F8 0x8E42 # +0xE6F9 0x8E35 # +0xE6FA 0x8E30 # +0xE6FB 0x8E34 # +0xE6FC 0x8E4A # +0xE740 0x8E47 # +0xE741 0x8E49 # +0xE742 0x8E4C # +0xE743 0x8E50 # +0xE744 0x8E48 # +0xE745 0x8E59 # +0xE746 0x8E64 # +0xE747 0x8E60 # +0xE748 0x8E2A # +0xE749 0x8E63 # +0xE74A 0x8E55 # +0xE74B 0x8E76 # +0xE74C 0x8E72 # +0xE74D 0x8E7C # +0xE74E 0x8E81 # +0xE74F 0x8E87 # +0xE750 0x8E85 # +0xE751 0x8E84 # +0xE752 0x8E8B # +0xE753 0x8E8A # +0xE754 0x8E93 # +0xE755 0x8E91 # +0xE756 0x8E94 # +0xE757 0x8E99 # +0xE758 0x8EAA # +0xE759 0x8EA1 # +0xE75A 0x8EAC # +0xE75B 0x8EB0 # +0xE75C 0x8EC6 # +0xE75D 0x8EB1 # +0xE75E 0x8EBE # +0xE75F 0x8EC5 # +0xE760 0x8EC8 # +0xE761 0x8ECB # +0xE762 0x8EDB # +0xE763 0x8EE3 # +0xE764 0x8EFC # +0xE765 0x8EFB # +0xE766 0x8EEB # +0xE767 0x8EFE # +0xE768 0x8F0A # +0xE769 0x8F05 # +0xE76A 0x8F15 # +0xE76B 0x8F12 # +0xE76C 0x8F19 # +0xE76D 0x8F13 # +0xE76E 0x8F1C # +0xE76F 0x8F1F # +0xE770 0x8F1B # +0xE771 0x8F0C # +0xE772 0x8F26 # +0xE773 0x8F33 # +0xE774 0x8F3B # +0xE775 0x8F39 # +0xE776 0x8F45 # +0xE777 0x8F42 # +0xE778 0x8F3E # +0xE779 0x8F4C # +0xE77A 0x8F49 # +0xE77B 0x8F46 # +0xE77C 0x8F4E # +0xE77D 0x8F57 # +0xE77E 0x8F5C # +0xE780 0x8F62 # +0xE781 0x8F63 # +0xE782 0x8F64 # +0xE783 0x8F9C # +0xE784 0x8F9F # +0xE785 0x8FA3 # +0xE786 0x8FAD # +0xE787 0x8FAF # +0xE788 0x8FB7 # +0xE789 0x8FDA # +0xE78A 0x8FE5 # +0xE78B 0x8FE2 # +0xE78C 0x8FEA # +0xE78D 0x8FEF # +0xE78E 0x9087 # +0xE78F 0x8FF4 # +0xE790 0x9005 # +0xE791 0x8FF9 # +0xE792 0x8FFA # +0xE793 0x9011 # +0xE794 0x9015 # +0xE795 0x9021 # +0xE796 0x900D # +0xE797 0x901E # +0xE798 0x9016 # +0xE799 0x900B # +0xE79A 0x9027 # +0xE79B 0x9036 # +0xE79C 0x9035 # +0xE79D 0x9039 # +0xE79E 0x8FF8 # +0xE79F 0x904F # +0xE7A0 0x9050 # +0xE7A1 0x9051 # +0xE7A2 0x9052 # +0xE7A3 0x900E # +0xE7A4 0x9049 # +0xE7A5 0x903E # +0xE7A6 0x9056 # +0xE7A7 0x9058 # +0xE7A8 0x905E # +0xE7A9 0x9068 # +0xE7AA 0x906F # +0xE7AB 0x9076 # +0xE7AC 0x96A8 # +0xE7AD 0x9072 # +0xE7AE 0x9082 # +0xE7AF 0x907D # +0xE7B0 0x9081 # +0xE7B1 0x9080 # +0xE7B2 0x908A # +0xE7B3 0x9089 # +0xE7B4 0x908F # +0xE7B5 0x90A8 # +0xE7B6 0x90AF # +0xE7B7 0x90B1 # +0xE7B8 0x90B5 # +0xE7B9 0x90E2 # +0xE7BA 0x90E4 # +0xE7BB 0x6248 # +0xE7BC 0x90DB # +0xE7BD 0x9102 # +0xE7BE 0x9112 # +0xE7BF 0x9119 # +0xE7C0 0x9132 # +0xE7C1 0x9130 # +0xE7C2 0x914A # +0xE7C3 0x9156 # +0xE7C4 0x9158 # +0xE7C5 0x9163 # +0xE7C6 0x9165 # +0xE7C7 0x9169 # +0xE7C8 0x9173 # +0xE7C9 0x9172 # +0xE7CA 0x918B # +0xE7CB 0x9189 # +0xE7CC 0x9182 # +0xE7CD 0x91A2 # +0xE7CE 0x91AB # +0xE7CF 0x91AF # +0xE7D0 0x91AA # +0xE7D1 0x91B5 # +0xE7D2 0x91B4 # +0xE7D3 0x91BA # +0xE7D4 0x91C0 # +0xE7D5 0x91C1 # +0xE7D6 0x91C9 # +0xE7D7 0x91CB # +0xE7D8 0x91D0 # +0xE7D9 0x91D6 # +0xE7DA 0x91DF # +0xE7DB 0x91E1 # +0xE7DC 0x91DB # +0xE7DD 0x91FC # +0xE7DE 0x91F5 # +0xE7DF 0x91F6 # +0xE7E0 0x921E # +0xE7E1 0x91FF # +0xE7E2 0x9214 # +0xE7E3 0x922C # +0xE7E4 0x9215 # +0xE7E5 0x9211 # +0xE7E6 0x925E # +0xE7E7 0x9257 # +0xE7E8 0x9245 # +0xE7E9 0x9249 # +0xE7EA 0x9264 # +0xE7EB 0x9248 # +0xE7EC 0x9295 # +0xE7ED 0x923F # +0xE7EE 0x924B # +0xE7EF 0x9250 # +0xE7F0 0x929C # +0xE7F1 0x9296 # +0xE7F2 0x9293 # +0xE7F3 0x929B # +0xE7F4 0x925A # +0xE7F5 0x92CF # +0xE7F6 0x92B9 # +0xE7F7 0x92B7 # +0xE7F8 0x92E9 # +0xE7F9 0x930F # +0xE7FA 0x92FA # +0xE7FB 0x9344 # +0xE7FC 0x932E # +0xE840 0x9319 # +0xE841 0x9322 # +0xE842 0x931A # +0xE843 0x9323 # +0xE844 0x933A # +0xE845 0x9335 # +0xE846 0x933B # +0xE847 0x935C # +0xE848 0x9360 # +0xE849 0x937C # +0xE84A 0x936E # +0xE84B 0x9356 # +0xE84C 0x93B0 # +0xE84D 0x93AC # +0xE84E 0x93AD # +0xE84F 0x9394 # +0xE850 0x93B9 # +0xE851 0x93D6 # +0xE852 0x93D7 # +0xE853 0x93E8 # +0xE854 0x93E5 # +0xE855 0x93D8 # +0xE856 0x93C3 # +0xE857 0x93DD # +0xE858 0x93D0 # +0xE859 0x93C8 # +0xE85A 0x93E4 # +0xE85B 0x941A # +0xE85C 0x9414 # +0xE85D 0x9413 # +0xE85E 0x9403 # +0xE85F 0x9407 # +0xE860 0x9410 # +0xE861 0x9436 # +0xE862 0x942B # +0xE863 0x9435 # +0xE864 0x9421 # +0xE865 0x943A # +0xE866 0x9441 # +0xE867 0x9452 # +0xE868 0x9444 # +0xE869 0x945B # +0xE86A 0x9460 # +0xE86B 0x9462 # +0xE86C 0x945E # +0xE86D 0x946A # +0xE86E 0x9229 # +0xE86F 0x9470 # +0xE870 0x9475 # +0xE871 0x9477 # +0xE872 0x947D # +0xE873 0x945A # +0xE874 0x947C # +0xE875 0x947E # +0xE876 0x9481 # +0xE877 0x947F # +0xE878 0x9582 # +0xE879 0x9587 # +0xE87A 0x958A # +0xE87B 0x9594 # +0xE87C 0x9596 # +0xE87D 0x9598 # +0xE87E 0x9599 # +0xE880 0x95A0 # +0xE881 0x95A8 # +0xE882 0x95A7 # +0xE883 0x95AD # +0xE884 0x95BC # +0xE885 0x95BB # +0xE886 0x95B9 # +0xE887 0x95BE # +0xE888 0x95CA # +0xE889 0x6FF6 # +0xE88A 0x95C3 # +0xE88B 0x95CD # +0xE88C 0x95CC # +0xE88D 0x95D5 # +0xE88E 0x95D4 # +0xE88F 0x95D6 # +0xE890 0x95DC # +0xE891 0x95E1 # +0xE892 0x95E5 # +0xE893 0x95E2 # +0xE894 0x9621 # +0xE895 0x9628 # +0xE896 0x962E # +0xE897 0x962F # +0xE898 0x9642 # +0xE899 0x964C # +0xE89A 0x964F # +0xE89B 0x964B # +0xE89C 0x9677 # +0xE89D 0x965C # +0xE89E 0x965E # +0xE89F 0x965D # +0xE8A0 0x965F # +0xE8A1 0x9666 # +0xE8A2 0x9672 # +0xE8A3 0x966C # +0xE8A4 0x968D # +0xE8A5 0x9698 # +0xE8A6 0x9695 # +0xE8A7 0x9697 # +0xE8A8 0x96AA # +0xE8A9 0x96A7 # +0xE8AA 0x96B1 # +0xE8AB 0x96B2 # +0xE8AC 0x96B0 # +0xE8AD 0x96B4 # +0xE8AE 0x96B6 # +0xE8AF 0x96B8 # +0xE8B0 0x96B9 # +0xE8B1 0x96CE # +0xE8B2 0x96CB # +0xE8B3 0x96C9 # +0xE8B4 0x96CD # +0xE8B5 0x894D # +0xE8B6 0x96DC # +0xE8B7 0x970D # +0xE8B8 0x96D5 # +0xE8B9 0x96F9 # +0xE8BA 0x9704 # +0xE8BB 0x9706 # +0xE8BC 0x9708 # +0xE8BD 0x9713 # +0xE8BE 0x970E # +0xE8BF 0x9711 # +0xE8C0 0x970F # +0xE8C1 0x9716 # +0xE8C2 0x9719 # +0xE8C3 0x9724 # +0xE8C4 0x972A # +0xE8C5 0x9730 # +0xE8C6 0x9739 # +0xE8C7 0x973D # +0xE8C8 0x973E # +0xE8C9 0x9744 # +0xE8CA 0x9746 # +0xE8CB 0x9748 # +0xE8CC 0x9742 # +0xE8CD 0x9749 # +0xE8CE 0x975C # +0xE8CF 0x9760 # +0xE8D0 0x9764 # +0xE8D1 0x9766 # +0xE8D2 0x9768 # +0xE8D3 0x52D2 # +0xE8D4 0x976B # +0xE8D5 0x9771 # +0xE8D6 0x9779 # +0xE8D7 0x9785 # +0xE8D8 0x977C # +0xE8D9 0x9781 # +0xE8DA 0x977A # +0xE8DB 0x9786 # +0xE8DC 0x978B # +0xE8DD 0x978F # +0xE8DE 0x9790 # +0xE8DF 0x979C # +0xE8E0 0x97A8 # +0xE8E1 0x97A6 # +0xE8E2 0x97A3 # +0xE8E3 0x97B3 # +0xE8E4 0x97B4 # +0xE8E5 0x97C3 # +0xE8E6 0x97C6 # +0xE8E7 0x97C8 # +0xE8E8 0x97CB # +0xE8E9 0x97DC # +0xE8EA 0x97ED # +0xE8EB 0x9F4F # +0xE8EC 0x97F2 # +0xE8ED 0x7ADF # +0xE8EE 0x97F6 # +0xE8EF 0x97F5 # +0xE8F0 0x980F # +0xE8F1 0x980C # +0xE8F2 0x9838 # +0xE8F3 0x9824 # +0xE8F4 0x9821 # +0xE8F5 0x9837 # +0xE8F6 0x983D # +0xE8F7 0x9846 # +0xE8F8 0x984F # +0xE8F9 0x984B # +0xE8FA 0x986B # +0xE8FB 0x986F # +0xE8FC 0x9870 # +0xE940 0x9871 # +0xE941 0x9874 # +0xE942 0x9873 # +0xE943 0x98AA # +0xE944 0x98AF # +0xE945 0x98B1 # +0xE946 0x98B6 # +0xE947 0x98C4 # +0xE948 0x98C3 # +0xE949 0x98C6 # +0xE94A 0x98E9 # +0xE94B 0x98EB # +0xE94C 0x9903 # +0xE94D 0x9909 # +0xE94E 0x9912 # +0xE94F 0x9914 # +0xE950 0x9918 # +0xE951 0x9921 # +0xE952 0x991D # +0xE953 0x991E # +0xE954 0x9924 # +0xE955 0x9920 # +0xE956 0x992C # +0xE957 0x992E # +0xE958 0x993D # +0xE959 0x993E # +0xE95A 0x9942 # +0xE95B 0x9949 # +0xE95C 0x9945 # +0xE95D 0x9950 # +0xE95E 0x994B # +0xE95F 0x9951 # +0xE960 0x9952 # +0xE961 0x994C # +0xE962 0x9955 # +0xE963 0x9997 # +0xE964 0x9998 # +0xE965 0x99A5 # +0xE966 0x99AD # +0xE967 0x99AE # +0xE968 0x99BC # +0xE969 0x99DF # +0xE96A 0x99DB # +0xE96B 0x99DD # +0xE96C 0x99D8 # +0xE96D 0x99D1 # +0xE96E 0x99ED # +0xE96F 0x99EE # +0xE970 0x99F1 # +0xE971 0x99F2 # +0xE972 0x99FB # +0xE973 0x99F8 # +0xE974 0x9A01 # +0xE975 0x9A0F # +0xE976 0x9A05 # +0xE977 0x99E2 # +0xE978 0x9A19 # +0xE979 0x9A2B # +0xE97A 0x9A37 # +0xE97B 0x9A45 # +0xE97C 0x9A42 # +0xE97D 0x9A40 # +0xE97E 0x9A43 # +0xE980 0x9A3E # +0xE981 0x9A55 # +0xE982 0x9A4D # +0xE983 0x9A5B # +0xE984 0x9A57 # +0xE985 0x9A5F # +0xE986 0x9A62 # +0xE987 0x9A65 # +0xE988 0x9A64 # +0xE989 0x9A69 # +0xE98A 0x9A6B # +0xE98B 0x9A6A # +0xE98C 0x9AAD # +0xE98D 0x9AB0 # +0xE98E 0x9ABC # +0xE98F 0x9AC0 # +0xE990 0x9ACF # +0xE991 0x9AD1 # +0xE992 0x9AD3 # +0xE993 0x9AD4 # +0xE994 0x9ADE # +0xE995 0x9ADF # +0xE996 0x9AE2 # +0xE997 0x9AE3 # +0xE998 0x9AE6 # +0xE999 0x9AEF # +0xE99A 0x9AEB # +0xE99B 0x9AEE # +0xE99C 0x9AF4 # +0xE99D 0x9AF1 # +0xE99E 0x9AF7 # +0xE99F 0x9AFB # +0xE9A0 0x9B06 # +0xE9A1 0x9B18 # +0xE9A2 0x9B1A # +0xE9A3 0x9B1F # +0xE9A4 0x9B22 # +0xE9A5 0x9B23 # +0xE9A6 0x9B25 # +0xE9A7 0x9B27 # +0xE9A8 0x9B28 # +0xE9A9 0x9B29 # +0xE9AA 0x9B2A # +0xE9AB 0x9B2E # +0xE9AC 0x9B2F # +0xE9AD 0x9B32 # +0xE9AE 0x9B44 # +0xE9AF 0x9B43 # +0xE9B0 0x9B4F # +0xE9B1 0x9B4D # +0xE9B2 0x9B4E # +0xE9B3 0x9B51 # +0xE9B4 0x9B58 # +0xE9B5 0x9B74 # +0xE9B6 0x9B93 # +0xE9B7 0x9B83 # +0xE9B8 0x9B91 # +0xE9B9 0x9B96 # +0xE9BA 0x9B97 # +0xE9BB 0x9B9F # +0xE9BC 0x9BA0 # +0xE9BD 0x9BA8 # +0xE9BE 0x9BB4 # +0xE9BF 0x9BC0 # +0xE9C0 0x9BCA # +0xE9C1 0x9BB9 # +0xE9C2 0x9BC6 # +0xE9C3 0x9BCF # +0xE9C4 0x9BD1 # +0xE9C5 0x9BD2 # +0xE9C6 0x9BE3 # +0xE9C7 0x9BE2 # +0xE9C8 0x9BE4 # +0xE9C9 0x9BD4 # +0xE9CA 0x9BE1 # +0xE9CB 0x9C3A # +0xE9CC 0x9BF2 # +0xE9CD 0x9BF1 # +0xE9CE 0x9BF0 # +0xE9CF 0x9C15 # +0xE9D0 0x9C14 # +0xE9D1 0x9C09 # +0xE9D2 0x9C13 # +0xE9D3 0x9C0C # +0xE9D4 0x9C06 # +0xE9D5 0x9C08 # +0xE9D6 0x9C12 # +0xE9D7 0x9C0A # +0xE9D8 0x9C04 # +0xE9D9 0x9C2E # +0xE9DA 0x9C1B # +0xE9DB 0x9C25 # +0xE9DC 0x9C24 # +0xE9DD 0x9C21 # +0xE9DE 0x9C30 # +0xE9DF 0x9C47 # +0xE9E0 0x9C32 # +0xE9E1 0x9C46 # +0xE9E2 0x9C3E # +0xE9E3 0x9C5A # +0xE9E4 0x9C60 # +0xE9E5 0x9C67 # +0xE9E6 0x9C76 # +0xE9E7 0x9C78 # +0xE9E8 0x9CE7 # +0xE9E9 0x9CEC # +0xE9EA 0x9CF0 # +0xE9EB 0x9D09 # +0xE9EC 0x9D08 # +0xE9ED 0x9CEB # +0xE9EE 0x9D03 # +0xE9EF 0x9D06 # +0xE9F0 0x9D2A # +0xE9F1 0x9D26 # +0xE9F2 0x9DAF # +0xE9F3 0x9D23 # +0xE9F4 0x9D1F # +0xE9F5 0x9D44 # +0xE9F6 0x9D15 # +0xE9F7 0x9D12 # +0xE9F8 0x9D41 # +0xE9F9 0x9D3F # +0xE9FA 0x9D3E # +0xE9FB 0x9D46 # +0xE9FC 0x9D48 # +0xEA40 0x9D5D # +0xEA41 0x9D5E # +0xEA42 0x9D64 # +0xEA43 0x9D51 # +0xEA44 0x9D50 # +0xEA45 0x9D59 # +0xEA46 0x9D72 # +0xEA47 0x9D89 # +0xEA48 0x9D87 # +0xEA49 0x9DAB # +0xEA4A 0x9D6F # +0xEA4B 0x9D7A # +0xEA4C 0x9D9A # +0xEA4D 0x9DA4 # +0xEA4E 0x9DA9 # +0xEA4F 0x9DB2 # +0xEA50 0x9DC4 # +0xEA51 0x9DC1 # +0xEA52 0x9DBB # +0xEA53 0x9DB8 # +0xEA54 0x9DBA # +0xEA55 0x9DC6 # +0xEA56 0x9DCF # +0xEA57 0x9DC2 # +0xEA58 0x9DD9 # +0xEA59 0x9DD3 # +0xEA5A 0x9DF8 # +0xEA5B 0x9DE6 # +0xEA5C 0x9DED # +0xEA5D 0x9DEF # +0xEA5E 0x9DFD # +0xEA5F 0x9E1A # +0xEA60 0x9E1B # +0xEA61 0x9E1E # +0xEA62 0x9E75 # +0xEA63 0x9E79 # +0xEA64 0x9E7D # +0xEA65 0x9E81 # +0xEA66 0x9E88 # +0xEA67 0x9E8B # +0xEA68 0x9E8C # +0xEA69 0x9E92 # +0xEA6A 0x9E95 # +0xEA6B 0x9E91 # +0xEA6C 0x9E9D # +0xEA6D 0x9EA5 # +0xEA6E 0x9EA9 # +0xEA6F 0x9EB8 # +0xEA70 0x9EAA # +0xEA71 0x9EAD # +0xEA72 0x9761 # +0xEA73 0x9ECC # +0xEA74 0x9ECE # +0xEA75 0x9ECF # +0xEA76 0x9ED0 # +0xEA77 0x9ED4 # +0xEA78 0x9EDC # +0xEA79 0x9EDE # +0xEA7A 0x9EDD # +0xEA7B 0x9EE0 # +0xEA7C 0x9EE5 # +0xEA7D 0x9EE8 # +0xEA7E 0x9EEF # +0xEA80 0x9EF4 # +0xEA81 0x9EF6 # +0xEA82 0x9EF7 # +0xEA83 0x9EF9 # +0xEA84 0x9EFB # +0xEA85 0x9EFC # +0xEA86 0x9EFD # +0xEA87 0x9F07 # +0xEA88 0x9F08 # +0xEA89 0x76B7 # +0xEA8A 0x9F15 # +0xEA8B 0x9F21 # +0xEA8C 0x9F2C # +0xEA8D 0x9F3E # +0xEA8E 0x9F4A # +0xEA8F 0x9F52 # +0xEA90 0x9F54 # +0xEA91 0x9F63 # +0xEA92 0x9F5F # +0xEA93 0x9F60 # +0xEA94 0x9F61 # +0xEA95 0x9F66 # +0xEA96 0x9F67 # +0xEA97 0x9F6C # +0xEA98 0x9F6A # +0xEA99 0x9F77 # +0xEA9A 0x9F72 # +0xEA9B 0x9F76 # +0xEA9C 0x9F95 # +0xEA9D 0x9F9C # +0xEA9E 0x9FA0 # +0xEA9F 0x582F # +0xEAA0 0x69C7 # +0xEAA1 0x9059 # +0xEAA2 0x7464 # +0xEAA3 0x51DC # +0xEAA4 0x7199 # + +# Apple additions - vertical forms +0xEB41 0x3001+0xF87E # vertical form for IDEOGRAPHIC COMMA +0xEB42 0x3002+0xF87E # vertical form for IDEOGRAPHIC FULL STOP +0xEB50 0xFFE3+0xF87E # vertical form for FULLWIDTH MACRON +0xEB51 0xFE33 # PRESENTATION FORM FOR VERTICAL LOW LINE, U+FF3F +0xEB5B 0x30FC+0xF87E # vertical form for KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xEB5C 0xFE31 # PRESENTATION FORM FOR VERTICAL EM DASH, U+2014 +0xEB5D 0x2010+0xF87E # vertical form for HYPHEN +0xEB60 0x301C+0xF87E # vertical form for WAVE DASH +0xEB61 0x2016+0xF87E # vertical form for DOUBLE VERTICAL LINE +0xEB62 0xFF5C+0xF87E # vertical form for FULLWIDTH VERTICAL LINE +0xEB63 0x2026+0xF87E # vertical form for HORIZONTAL ELLIPSIS +0xEB64 0xFE30 # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER, U+2025 +0xEB69 0xFE35 # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS, U+FF08 +0xEB6A 0xFE36 # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS, U+FF09 +0xEB6B 0xFE39 # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET, U+3014 +0xEB6C 0xFE3A # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET, U+3015 +0xEB6D 0xFF3B+0xF87E # vertical form for FULLWIDTH LEFT SQUARE BRACKET # or for Unicode 4.0, 0xFE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET +0xEB6E 0xFF3D+0xF87E # vertical form for FULLWIDTH RIGHT SQUARE BRACKET # or for Unicode 4.0, 0xFE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET +0xEB6F 0xFE37 # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET, U+FF5B +0xEB70 0xFE38 # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET, U+FF5D +0xEB71 0xFE3F # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET, U+3008 +0xEB72 0xFE40 # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET, U+3009 +0xEB73 0xFE3D # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET, U+300A +0xEB74 0xFE3E # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET, U+300B +0xEB75 0xFE41 # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET, U+300C +0xEB76 0xFE42 # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET, U+300D +0xEB77 0xFE43 # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET, U+300E +0xEB78 0xFE44 # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET, U+300F +0xEB79 0xFE3B # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET, U+3010 +0xEB7A 0xFE3C # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET, U+3011 +0xEB81 0xFF1D+0xF87E # vertical form for FULLWIDTH EQUALS SIGN +0xEC9F 0x3041+0xF87E # vertical form for HIRAGANA LETTER SMALL A +0xECA1 0x3043+0xF87E # vertical form for HIRAGANA LETTER SMALL I +0xECA3 0x3045+0xF87E # vertical form for HIRAGANA LETTER SMALL U +0xECA5 0x3047+0xF87E # vertical form for HIRAGANA LETTER SMALL E +0xECA7 0x3049+0xF87E # vertical form for HIRAGANA LETTER SMALL O +0xECC1 0x3063+0xF87E # vertical form for HIRAGANA LETTER SMALL TU +0xECE1 0x3083+0xF87E # vertical form for HIRAGANA LETTER SMALL YA +0xECE3 0x3085+0xF87E # vertical form for HIRAGANA LETTER SMALL YU +0xECE5 0x3087+0xF87E # vertical form for HIRAGANA LETTER SMALL YO +0xECEC 0x308E+0xF87E # vertical form for HIRAGANA LETTER SMALL WA +0xED40 0x30A1+0xF87E # vertical form for KATAKANA LETTER SMALL A +0xED42 0x30A3+0xF87E # vertical form for KATAKANA LETTER SMALL I +0xED44 0x30A5+0xF87E # vertical form for KATAKANA LETTER SMALL U +0xED46 0x30A7+0xF87E # vertical form for KATAKANA LETTER SMALL E +0xED48 0x30A9+0xF87E # vertical form for KATAKANA LETTER SMALL O +0xED62 0x30C3+0xF87E # vertical form for KATAKANA LETTER SMALL TU +0xED83 0x30E3+0xF87E # vertical form for KATAKANA LETTER SMALL YA +0xED85 0x30E5+0xF87E # vertical form for KATAKANA LETTER SMALL YU +0xED87 0x30E7+0xF87E # vertical form for KATAKANA LETTER SMALL YO +0xED8E 0x30EE+0xF87E # vertical form for KATAKANA LETTER SMALL WA +0xED95 0x30F5+0xF87E # vertical form for KATAKANA LETTER SMALL KA +0xED96 0x30F6+0xF87E # vertical form for KATAKANA LETTER SMALL KE diff --git a/ext/mbstring/tests/sjismac_encoding.phpt b/ext/mbstring/tests/sjismac_encoding.phpt new file mode 100644 index 0000000000000..c5cfa40573572 --- /dev/null +++ b/ext/mbstring/tests/sjismac_encoding.phpt @@ -0,0 +1,64 @@ +--TEST-- +Exhaustive test of MacJapanese encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/../docs/MacJapanese-SJIS.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + $cp1 = $cp2 = $cp3 = $cp4 = $cp5 = null; + if (sscanf($line, "0x%x\t0x%x+0x%x+0x%x+0x%x+0x%x", $bytes, $cp1, $cp2, $cp3, $cp4, $cp5) >= 2) { + if ($bytes < 256) { + $macJap = chr($bytes); + } else { + $macJap = pack('n', $bytes); + } + + if ($cp5) { + $validChars[$macJap] = pack('NNNNN', $cp1, $cp2, $cp3, $cp4, $cp5); + } else if ($cp4) { + $validChars[$macJap] = pack('NNNN', $cp1, $cp2, $cp3, $cp4); + } else if ($cp3) { + $validChars[$macJap] = pack('NNN', $cp1, $cp2, $cp3); + } else if ($cp2) { + $validChars[$macJap] = pack('NN', $cp1, $cp2); + } else { + $validChars[$macJap] = pack('N', $cp1); + } + } +} +/* Although not included in the table, 0x0-0x1F and 0x7F are valid; + * these are 'control characters' */ +for ($i = 0; $i < 0x20; $i++) $validChars[chr($i)] = pack('N', $i); +$validChars[chr(0x7F)] = pack('N', 0x7F); + +testAllValidChars($validChars, 'SJIS-mac', 'UTF-32BE'); +echo "MacJapanese verification and conversion works on all valid characters\n"; + +findInvalidChars($validChars, $invalidChars, $truncated, + map(range(0x81, 0x9F), 2, map(range(0xE0, 0xED), 2))); +testAllInvalidChars($invalidChars, $validChars, 'SJIS-mac', 'UTF-32BE', "\x00\x00\x00%"); +testTruncatedChars($truncated, 'SJIS-mac', 'UTF-32BE', "\x00\x00\x00%"); +echo "MacJapanese verification and conversion rejects all invalid characters\n"; + +$fromUnicode = array_flip($validChars); +findInvalidChars($fromUnicode, $invalidChars, $unused, map(range(0, 0xFF), 2)); +testAllInvalidChars($invalidChars, $fromUnicode, 'UTF-32BE', 'SJIS-mac', '%'); +echo "Unicode -> SJIS-mac conversion works on all invalid characters\n"; +?> +--EXPECT-- +MacJapanese verification and conversion works on all valid characters +MacJapanese verification and conversion rejects all invalid characters +Unicode -> SJIS-mac conversion works on all invalid characters From 86e927ab5494df53baf6781a9a747b237d8b1e47 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 6 Sep 2020 13:01:18 +0200 Subject: [PATCH 012/123] Enhance mbstring support for UCS-4 text - Implement identify filters for UCS-4, UCS-4BE, and UCS-4LE - Correctly handle invalid codepoints in conversion code - Leading byte-order mark is now stripped, for consistency with UTF-16 - Truncated strings (# of bytes not divisible by 4) are treated as erroneous - Make the code much shorter and simpler --- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 243 +++++++++++-------- ext/mbstring/libmbfl/filters/mbfilter_ucs4.h | 3 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 3 + 3 files changed, 143 insertions(+), 106 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 396bae91c5387..461bc4b9b4cc7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -30,6 +30,11 @@ #include "mbfilter.h" #include "mbfilter_ucs4.h" +static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter); +static int mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter); + static const char *mbfl_encoding_ucs4_aliases[] = {"ISO-10646-UCS-4", "UCS4", NULL}; const mbfl_encoding mbfl_encoding_ucs4 = { @@ -65,13 +70,31 @@ const mbfl_encoding mbfl_encoding_ucs4le = { &vtbl_wchar_ucs4le }; +const struct mbfl_identify_vtbl vtbl_identify_ucs4 = { + mbfl_no_encoding_ucs4, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ucs4 +}; + +const struct mbfl_identify_vtbl vtbl_identify_ucs4be = { + mbfl_no_encoding_ucs4be, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ucs4be +}; + +const struct mbfl_identify_vtbl vtbl_identify_ucs4le = { + mbfl_no_encoding_ucs4le, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ucs4le +}; + const struct mbfl_convert_vtbl vtbl_ucs4_wchar = { mbfl_no_encoding_ucs4, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs4_wchar_flush, NULL, }; @@ -91,7 +114,7 @@ const struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4be_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs4_wchar_flush, NULL, }; @@ -111,7 +134,7 @@ const struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4le_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs4_wchar_flush, NULL, }; @@ -125,106 +148,68 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { NULL, }; - #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -/* - * UCS-4 => wchar - */ +static int emit_wchar_if_valid(unsigned int w, mbfl_convert_filter *filter) +{ + /* FIXME: UCS-4 should actually accept code unit values up to 0x7FFFFFFF + * This is a hack to get around the fact that values of 0x70000000 and up + * are being used to represent illegal characters, which are passed through + * for error handling by a later conversion filter stage + * After we adjust the range of values used for such, change this to 0x7FFFFFFF */ + if (w < MBFL_WCSGROUP_UCS4MAX) { + CK((*filter->output_function)(w, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(w, filter)); + } + return 0; +} + int mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter) { - int n, endian; + /* We start out with the assumption that the string is big-endian + * If we find a little-endian BOM, then we will change that assumption */ + filter->cache = (filter->cache << 8) | (c & 0xFF); - endian = filter->status & 0xff00; - switch (filter->status & 0xff) { - case 0: - if (endian) { - n = c & 0xff; - } else { - n = (c & 0xffu) << 24; - } - filter->cache = n; - filter->status++; - break; - case 1: - if (endian) { - n = (c & 0xff) << 8; - } else { - n = (c & 0xff) << 16; - } - filter->cache |= n; + if (filter->status < 3) { filter->status++; - break; - case 2: - if (endian) { - n = (c & 0xff) << 16; - } else { - n = (c & 0xff) << 8; - } - filter->cache |= n; - filter->status++; - break; - default: - if (endian) { - n = (c & 0xffu) << 24; + } else { + if (filter->cache == 0xFFFE0000) { + /* If we had the endianness right, the byte-order mark should be 0x0000feff, + * but we got 0xfffe0000, meaning that we are currently using the wrong + * endianness and should switch to little-endian mode */ + filter->filter_function = mbfl_filt_conv_ucs4le_wchar; } else { - n = c & 0xff; - } - n |= filter->cache; - if ((n & 0xffff) == 0 && ((n >> 16) & 0xffff) == 0xfffe) { - if (endian) { - filter->status = 0; /* big-endian */ - } else { - filter->status = 0x100; /* little-endian */ + if (filter->cache != 0xFEFF) { + CK(emit_wchar_if_valid(filter->cache, filter)); } - CK((*filter->output_function)(0xfeff, filter->data)); - } else { - filter->status &= ~0xff; - CK((*filter->output_function)(n, filter->data)); + filter->filter_function = mbfl_filt_conv_ucs4be_wchar; } - break; + filter->status = filter->cache = 0; } return c; } -/* - * UCS-4BE => wchar - */ int mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter) { - int n; - - if (filter->status == 0) { - filter->status = 1; - n = (c & 0xffu) << 24; - filter->cache = n; - } else if (filter->status == 1) { - filter->status = 2; - n = (c & 0xff) << 16; - filter->cache |= n; - } else if (filter->status == 2) { - filter->status = 3; - n = (c & 0xff) << 8; - filter->cache |= n; + filter->cache = (filter->cache << 8) | (c & 0xFF); + if (filter->status < 3) { + filter->status++; } else { - filter->status = 0; - n = (c & 0xff) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK(emit_wchar_if_valid(filter->cache, filter)); + filter->status = filter->cache = 0; } return c; } -/* - * wchar => UCS-4BE - */ int mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSGROUP_UCS4MAX) { - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); + CK((*filter->output_function)((c >> 24) & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 16) & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); + CK((*filter->output_function)(c & 0xFF, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); } @@ -232,46 +217,92 @@ int mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter) return c; } -/* - * UCS-4LE => wchar - */ int mbfl_filt_conv_ucs4le_wchar(int c, mbfl_convert_filter *filter) { - int n; - - if (filter->status == 0) { - filter->status = 1; - n = (c & 0xff); - filter->cache = n; - } else if (filter->status == 1) { - filter->status = 2; - n = (c & 0xff) << 8; - filter->cache |= n; - } else if (filter->status == 2) { - filter->status = 3; - n = (c & 0xff) << 16; - filter->cache |= n; + filter->cache = (filter->cache >> 8) | ((c & 0xFF) << 24); + if (filter->status < 3) { + filter->status++; } else { - filter->status = 0; - n = ((c & 0xffu) << 24) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK(emit_wchar_if_valid(filter->cache, filter)); + filter->status = filter->cache = 0; } return c; } -/* - * wchar => UCS-4LE - */ int mbfl_filt_conv_wchar_ucs4le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSGROUP_UCS4MAX) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); + CK((*filter->output_function)(c & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 16) & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 24) & 0xFF, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); } return c; } + +static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status) { + /* Input string was truncated */ + CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + +static int mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) +{ + int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ + if (n < 3) { + filter->status = (filter->status + 1) | (c << (8 * (3 - n))); + } else { + int value = (filter->status & 0xFFFFFF00) | c; + if (value >= MBFL_WCSGROUP_UCS4MAX) { + filter->flag = 1; + } + filter->status = 0; + } + return c; +} + +static int mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) +{ + int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ + if (n < 3) { + filter->status = (filter->status + 1) | (c << (8 * (1 + n))); + } else { + int value = (filter->status >> 8) | (c << 24); + if (value >= MBFL_WCSGROUP_UCS4MAX) { + filter->flag = 1; + } + filter->status = 0; + } + return c; +} + +static int mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter) +{ + int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ + if (n < 3) { + filter->status = (filter->status + 1) | (c << (8 * (3 - n))); + } else { + int value = (filter->status & 0xFFFFFF00) | c; + if (value == 0xFFFE0000) { + filter->filter_function = mbfl_filt_ident_ucs4le; + } else { + filter->filter_function = mbfl_filt_ident_ucs4be; + if (value >= MBFL_WCSGROUP_UCS4MAX) { + filter->flag = 1; + } + } + filter->status = 0; + } + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h index b5280f1bfb336..d810c80990c19 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h @@ -33,6 +33,9 @@ extern const mbfl_encoding mbfl_encoding_ucs4; extern const mbfl_encoding mbfl_encoding_ucs4le; extern const mbfl_encoding mbfl_encoding_ucs4be; +extern const struct mbfl_identify_vtbl vtbl_identify_ucs4; +extern const struct mbfl_identify_vtbl vtbl_identify_ucs4be; +extern const struct mbfl_identify_vtbl vtbl_identify_ucs4le; extern const struct mbfl_convert_vtbl vtbl_ucs4_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ucs4; extern const struct mbfl_convert_vtbl vtbl_ucs4be_wchar; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 95360af46068c..9a08861c601d1 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -176,6 +176,9 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_utf32le, &vtbl_identify_sjis2004, &vtbl_identify_sjis_mac, + &vtbl_identify_ucs4, + &vtbl_identify_ucs4be, + &vtbl_identify_ucs4le, &vtbl_identify_false, NULL }; From 431c4b9bc9ad7b3e69c73189e4e3ceddf7326928 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 4 Sep 2020 22:21:20 +0200 Subject: [PATCH 013/123] Leading BOM is stripped for UTF-32 For consistency with UTF-16 and UCS-4. Also, do some code cleanup. --- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 148 +++++------------- .../tests/illformed_utf_sequences.phpt | 21 ++- 2 files changed, 45 insertions(+), 124 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index 1d9f479595800..aeee352fff7b0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -150,106 +150,53 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf32le = { #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -/* - * UTF-32 => wchar - */ -int mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter) +static int emit_char_if_valid(int n, mbfl_convert_filter *filter) { - int n, endian; + if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xD800 || n > 0xDFFF)) { + CK((*filter->output_function)(n, filter->data)); + } else { + n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(n, filter->data)); + } + return 0; +} - endian = filter->status & 0xff00; - switch (filter->status & 0xff) { - case 0: - if (endian) { - n = c & 0xff; - } else { - n = (c & 0xffu) << 24; - } - filter->cache = n; - filter->status++; - break; - case 1: - if (endian) { - n = (c & 0xff) << 8; - } else { - n = (c & 0xff) << 16; - } - filter->cache |= n; - filter->status++; - break; - case 2: - if (endian) { - n = (c & 0xff) << 16; - } else { - n = (c & 0xff) << 8; - } - filter->cache |= n; +int mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter) +{ + if (filter->status < 3) { + filter->cache = (filter->cache << 8) | (c & 0xFF); filter->status++; - break; - default: - if (endian) { - n = (c & 0xffu) << 24; - } else { - n = c & 0xff; - } - n |= filter->cache; - if ((n & 0xffff) == 0 && ((n >> 16) & 0xffff) == 0xfffe) { - if (endian) { - filter->status = 0; /* big-endian */ - } else { - filter->status = 0x100; /* little-endian */ - } - CK((*filter->output_function)(0xfeff, filter->data)); + } else { + int n = ((unsigned int)filter->cache << 8) | (c & 0xFF); + filter->cache = filter->status = 0; + + if (n == 0xFFFE0000) { + /* Found a little-endian byte order mark */ + filter->filter_function = mbfl_filt_conv_utf32le_wchar; } else { - filter->status &= ~0xff; - if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) { - CK((*filter->output_function)(n, filter->data)); - } else { - n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(n, filter->data)); + filter->filter_function = mbfl_filt_conv_utf32be_wchar; + if (n != 0xFEFF) { + CK(emit_char_if_valid(n, filter)); } } - break; } return c; } -/* - * UTF-32BE => wchar - */ int mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter) { - int n; - - if (filter->status == 0) { - filter->status = 1; - n = (c & 0xffu) << 24; - filter->cache = n; - } else if (filter->status == 1) { - filter->status = 2; - n = (c & 0xff) << 16; - filter->cache |= n; - } else if (filter->status == 2) { - filter->status = 3; - n = (c & 0xff) << 8; - filter->cache |= n; + if (filter->status < 3) { + filter->cache = (filter->cache << 8) | (c & 0xFF); + filter->status++; } else { - filter->status = 0; - n = (c & 0xff) | filter->cache; - if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) { - CK((*filter->output_function)(n, filter->data)); - } else { - n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(n, filter->data)); - } + int n = (filter->cache << 8) | (c & 0xFF); + filter->cache = filter->status = 0; + CK(emit_char_if_valid(n, filter)); } return c; } -/* - * wchar => UTF-32BE - */ int mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UTF32MAX) { @@ -264,41 +211,19 @@ int mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter) return c; } -/* - * UTF-32LE => wchar - */ int mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter) { - int n; - - if (filter->status == 0) { - filter->status = 1; - n = (c & 0xff); - filter->cache = n; - } else if (filter->status == 1) { - filter->status = 2; - n = (c & 0xff) << 8; - filter->cache |= n; - } else if (filter->status == 2) { - filter->status = 3; - n = (c & 0xff) << 16; - filter->cache |= n; + if (filter->status < 3) { + filter->cache |= ((c & 0xFFU) << (8 * filter->status)); + filter->status++; } else { - filter->status = 0; - n = ((c & 0xffu) << 24) | filter->cache; - if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xd800 || n > 0xdfff)) { - CK((*filter->output_function)(n, filter->data)); - } else { - n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(n, filter->data)); - } + int n = ((c & 0xFFU) << 24) | filter->cache; + filter->cache = filter->status = 0; + CK(emit_char_if_valid(n, filter)); } return c; } -/* - * wchar => UTF-32LE - */ int mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UTF32MAX) { @@ -315,7 +240,7 @@ int mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter) static int mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) { - if (filter->status & 0xF) { + if (filter->status) { /* Input string was truncated */ CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); } @@ -324,7 +249,6 @@ static int mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) (*filter->flush_function)(filter->data); } - filter->status = filter->cache = 0; return 0; } diff --git a/ext/mbstring/tests/illformed_utf_sequences.phpt b/ext/mbstring/tests/illformed_utf_sequences.phpt index 3b7d431a0ed1b..8f3b97e8ec90d 100644 --- a/ext/mbstring/tests/illformed_utf_sequences.phpt +++ b/ext/mbstring/tests/illformed_utf_sequences.phpt @@ -4,12 +4,9 @@ Unicode standard conformance test (ill-formed UTF sequences.) --FILE-- > 24, ($i >> 16) & 0xff, ($i >> 8) & 0xff, $i & 0xff), - 1, "UTF-32", true); + 1, "UTF-32"); if ($s === false) { $cnt++; } else { @@ -137,13 +134,13 @@ for ($i = 0xd7ff; $i <= 0xe000; ++$i) { } } var_dump($cnt); -var_dump(str_replace("0000feff","",$out)); +var_dump($out); $out = ''; $cnt = 0; for ($i = 0xd7ff; $i <= 0xe000; ++$i) { $s = chk_enc("\xff\xfe\x00\x00". pack('C4', $i & 0xff, ($i >> 8) & 0xff, ($i >> 16) & 0xff, ($i >> 24) & 0xff), - 1, "UTF-32", true); + 1, "UTF-32"); if ($s === false) { $cnt++; } else { @@ -151,7 +148,7 @@ for ($i = 0xd7ff; $i <= 0xe000; ++$i) { } } var_dump($cnt); -var_dump(str_replace("0000feff","",$out)); +var_dump($out); ?> --EXPECT-- @@ -199,10 +196,10 @@ bool(false) string(8) "0010ffff" bool(false) string(8) "0010ffff" -string(16) "0000feff0000fffd" -string(16) "0000feff0010ffff" -string(16) "0000feff0000fffd" -string(16) "0000feff0010ffff" +string(8) "0000fffd" +string(8) "0010ffff" +string(8) "0000fffd" +string(8) "0010ffff" UTF-32 and surrogates area int(2048) string(16) "0000d7ff0000e000" From a38a4a0492a9f8889eb3d1bb0e3653ecc33e6039 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 4 Sep 2020 22:17:59 +0200 Subject: [PATCH 014/123] Enhance mbstring support for UCS-2 text - For consistency with UTF-16, UTF-32, and UCS-4, strip leading byte order marks. - Treat it as an error if string is truncated (i.e. has an odd number of bytes). --- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 105 +++++++------------ 1 file changed, 38 insertions(+), 67 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 258c564aae05e..31071dee02ce7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -30,6 +30,7 @@ #include "mbfilter.h" #include "mbfilter_ucs2.h" +static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter); static int mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_ucs2_aliases[] = {"ISO-10646-UCS-2", "UCS2" , "UNICODE", NULL}; @@ -91,7 +92,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs2_wchar_flush, NULL, }; @@ -111,7 +112,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2be_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs2_wchar_flush, NULL, }; @@ -131,7 +132,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2le_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_ucs2_wchar_flush, NULL, }; @@ -147,117 +148,87 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -/* - * UCS-2 => wchar - */ int mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter) { - int n, endian; - - endian = filter->status & 0xff00; - switch (filter->status & 0xff) { - case 0: - if (endian) { - n = c & 0xff; - } else { - n = (c & 0xff) << 8; - } - filter->cache = n; - filter->status++; - break; - default: - if (endian) { - n = (c & 0xff) << 8; + if (filter->status == 0) { + filter->status = 1; + filter->cache = c & 0xFF; + } else { + filter->status = 0; + int n = (filter->cache << 8) | (c & 0xFF); + if (n == 0xFFFE) { + /* Found little-endian byte order mark */ + filter->filter_function = mbfl_filt_conv_ucs2le_wchar; } else { - n = c & 0xff; - } - n |= filter->cache; - if (n == 0xfffe) { - if (endian) { - filter->status = 0; /* big-endian */ - } else { - filter->status = 0x100; /* little-endian */ + filter->filter_function = mbfl_filt_conv_ucs2be_wchar; + if (n != 0xFEFF) { + CK((*filter->output_function)(n, filter->data)); } - CK((*filter->output_function)(0xfeff, filter->data)); - } else { - filter->status &= ~0xff; - CK((*filter->output_function)(n, filter->data)); } - break; } - return c; } -/* - * UCS-2BE => wchar - */ int mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = (c & 0xff) << 8; - filter->cache = n; + filter->cache = (c & 0xFF) << 8; } else { filter->status = 0; - n = (c & 0xff) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)((c & 0xFF) | filter->cache, filter->data)); } return c; } -/* - * wchar => UCS-2BE - */ int mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); + CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); + CK((*filter->output_function)(c & 0xFF, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); } - return c; } -/* - * UCS-2LE => wchar - */ int mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = c & 0xff; - filter->cache = n; + filter->cache = c & 0xFF; } else { filter->status = 0; - n = ((c & 0xff) << 8) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)(((c & 0xFF) << 8) | filter->cache, filter->data)); } return c; } - -/* - * wchar => UCS-2LE - */ int mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); + CK((*filter->output_function)(c & 0xFF, filter->data)); + CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); } else { CK(mbfl_filt_conv_illegal_output(c, filter)); } - return c; } +static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status) { + /* Input string was truncated */ + CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + static int mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter) { /* Input string must be a multiple of 2 bytes */ From 675a311fabbca92f83b4f38f58a0ac2c9d7e9771 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 3 Nov 2020 09:57:41 +0200 Subject: [PATCH 015/123] Consolidate all single-byte encodings in one source file We can squeeze out a lot of duplicated code in this way. --- ext/mbstring/config.m4 | 25 +- ext/mbstring/config.w32 | 24 +- .../libmbfl/filters/mbfilter_armscii8.c | 118 ---- .../libmbfl/filters/mbfilter_armscii8.h | 38 -- ext/mbstring/libmbfl/filters/mbfilter_ascii.c | 111 --- ext/mbstring/libmbfl/filters/mbfilter_ascii.h | 44 -- .../libmbfl/filters/mbfilter_cp1251.c | 118 ---- .../libmbfl/filters/mbfilter_cp1251.h | 43 -- .../libmbfl/filters/mbfilter_cp1252.c | 125 ---- .../libmbfl/filters/mbfilter_cp1252.h | 43 -- .../libmbfl/filters/mbfilter_cp1254.c | 117 ---- .../libmbfl/filters/mbfilter_cp1254.h | 43 -- ext/mbstring/libmbfl/filters/mbfilter_cp850.c | 100 --- ext/mbstring/libmbfl/filters/mbfilter_cp850.h | 37 - ext/mbstring/libmbfl/filters/mbfilter_cp866.c | 104 --- ext/mbstring/libmbfl/filters/mbfilter_cp866.h | 41 -- .../libmbfl/filters/mbfilter_iso8859_1.c | 95 --- .../libmbfl/filters/mbfilter_iso8859_1.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_10.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_10.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_13.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_13.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_14.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_14.h | 26 - .../libmbfl/filters/mbfilter_iso8859_15.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_15.h | 26 - .../libmbfl/filters/mbfilter_iso8859_16.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_16.h | 23 - .../libmbfl/filters/mbfilter_iso8859_2.c | 126 ---- .../libmbfl/filters/mbfilter_iso8859_2.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_3.c | 141 ---- .../libmbfl/filters/mbfilter_iso8859_3.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_4.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_4.h | 41 -- .../libmbfl/filters/mbfilter_iso8859_5.c | 126 ---- .../libmbfl/filters/mbfilter_iso8859_5.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_6.c | 141 ---- .../libmbfl/filters/mbfilter_iso8859_6.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_7.c | 141 ---- .../libmbfl/filters/mbfilter_iso8859_7.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_8.c | 140 ---- .../libmbfl/filters/mbfilter_iso8859_8.h | 43 -- .../libmbfl/filters/mbfilter_iso8859_9.c | 125 ---- .../libmbfl/filters/mbfilter_iso8859_9.h | 43 -- ext/mbstring/libmbfl/filters/mbfilter_koi8r.c | 104 --- ext/mbstring/libmbfl/filters/mbfilter_koi8r.h | 43 -- ext/mbstring/libmbfl/filters/mbfilter_koi8u.c | 101 --- ext/mbstring/libmbfl/filters/mbfilter_koi8u.h | 40 -- .../libmbfl/filters/unicode_table_armscii8.h | 52 -- .../libmbfl/filters/unicode_table_cp1251.h | 51 -- .../libmbfl/filters/unicode_table_cp1254.h | 51 -- .../libmbfl/filters/unicode_table_cp850.h | 52 -- .../libmbfl/filters/unicode_table_cp866.h | 51 -- .../filters/unicode_table_iso8859_10.h | 17 - .../filters/unicode_table_iso8859_13.h | 17 - .../filters/unicode_table_iso8859_14.h | 17 - .../filters/unicode_table_iso8859_15.h | 17 - .../filters/unicode_table_iso8859_16.h | 17 - .../libmbfl/filters/unicode_table_iso8859_2.h | 17 - .../libmbfl/filters/unicode_table_iso8859_3.h | 17 - .../libmbfl/filters/unicode_table_iso8859_4.h | 17 - .../libmbfl/filters/unicode_table_iso8859_5.h | 17 - .../libmbfl/filters/unicode_table_iso8859_6.h | 17 - .../libmbfl/filters/unicode_table_iso8859_7.h | 17 - .../libmbfl/filters/unicode_table_iso8859_8.h | 17 - .../libmbfl/filters/unicode_table_iso8859_9.h | 17 - .../libmbfl/filters/unicode_table_koi8r.h | 53 -- .../libmbfl/filters/unicode_table_koi8u.h | 165 ----- ext/mbstring/libmbfl/mbfl/mbfilter.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_consts.h | 4 - ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 23 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 24 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 24 +- ext/mbstring/mbstring.c | 2 +- ext/mbstring/mbstring_singlebyte.c | 639 ++++++++++++++++++ ext/mbstring/mbstring_singlebyte.h | 70 ++ 76 files changed, 723 insertions(+), 4511 deletions(-) delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_armscii8.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_armscii8.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_ascii.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_ascii.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1251.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1251.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1252.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1252.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1254.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp1254.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp850.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp850.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp866.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_cp866.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_koi8r.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_koi8r.h delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_koi8u.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_koi8u.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_armscii8.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_cp1251.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_cp1254.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_cp850.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_cp866.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_10.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_13.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_14.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_15.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_16.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_2.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_3.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_4.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_5.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_6.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_7.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_8.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_iso8859_9.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_koi8r.h delete mode 100644 ext/mbstring/libmbfl/filters/unicode_table_koi8u.h create mode 100644 ext/mbstring/mbstring_singlebyte.c create mode 100644 ext/mbstring/mbstring_singlebyte.h diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index 74266e4166206..2775d3d7c33d7 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -94,18 +94,12 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ PHP_MBSTRING_ADD_SOURCES([ libmbfl/filters/html_entities.c libmbfl/filters/mbfilter_7bit.c - libmbfl/filters/mbfilter_ascii.c libmbfl/filters/mbfilter_base64.c libmbfl/filters/mbfilter_big5.c libmbfl/filters/mbfilter_byte2.c libmbfl/filters/mbfilter_byte4.c - libmbfl/filters/mbfilter_cp1251.c - libmbfl/filters/mbfilter_cp1252.c - libmbfl/filters/mbfilter_cp1254.c libmbfl/filters/mbfilter_cp5022x.c libmbfl/filters/mbfilter_cp51932.c - libmbfl/filters/mbfilter_cp850.c - libmbfl/filters/mbfilter_cp866.c libmbfl/filters/mbfilter_cp932.c libmbfl/filters/mbfilter_cp936.c libmbfl/filters/mbfilter_gb18030.c @@ -121,23 +115,7 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ libmbfl/filters/mbfilter_iso2022jp_2004.c libmbfl/filters/mbfilter_iso2022jp_mobile.c libmbfl/filters/mbfilter_iso2022_kr.c - libmbfl/filters/mbfilter_iso8859_1.c - libmbfl/filters/mbfilter_iso8859_10.c - libmbfl/filters/mbfilter_iso8859_13.c - libmbfl/filters/mbfilter_iso8859_14.c - libmbfl/filters/mbfilter_iso8859_15.c - libmbfl/filters/mbfilter_iso8859_16.c - libmbfl/filters/mbfilter_iso8859_2.c - libmbfl/filters/mbfilter_iso8859_3.c - libmbfl/filters/mbfilter_iso8859_4.c - libmbfl/filters/mbfilter_iso8859_5.c - libmbfl/filters/mbfilter_iso8859_6.c - libmbfl/filters/mbfilter_iso8859_7.c - libmbfl/filters/mbfilter_iso8859_8.c - libmbfl/filters/mbfilter_iso8859_9.c libmbfl/filters/mbfilter_jis.c - libmbfl/filters/mbfilter_koi8r.c - libmbfl/filters/mbfilter_armscii8.c libmbfl/filters/mbfilter_qprint.c libmbfl/filters/mbfilter_sjis.c libmbfl/filters/mbfilter_sjis_open.c @@ -155,7 +133,6 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ libmbfl/filters/mbfilter_utf8.c libmbfl/filters/mbfilter_utf8_mobile.c libmbfl/filters/mbfilter_uuencode.c - libmbfl/filters/mbfilter_koi8u.c libmbfl/mbfl/mbfilter.c libmbfl/mbfl/mbfilter_8bit.c libmbfl/mbfl/mbfilter_pass.c @@ -201,7 +178,7 @@ PHP_ARG_ENABLE([mbregex], if test "$PHP_MBSTRING" != "no"; then AC_DEFINE([HAVE_MBSTRING],1,[whether to have multibyte string support]) - PHP_MBSTRING_ADD_BASE_SOURCES([mbstring.c php_unicode.c mb_gpc.c]) + PHP_MBSTRING_ADD_BASE_SOURCES([mbstring.c php_unicode.c mb_gpc.c mbstring_singlebyte.c]) if test "$PHP_MBREGEX" != "no"; then PHP_MBSTRING_SETUP_MBREGEX diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32 index 667fdb9222ecc..5af3eff6e2f59 100644 --- a/ext/mbstring/config.w32 +++ b/ext/mbstring/config.w32 @@ -17,25 +17,17 @@ if (PHP_MBSTRING != "no") { "ext\\mbstring\\libmbfl\\config.h", true); ADD_SOURCES("ext/mbstring/libmbfl/filters", "html_entities.c \ - mbfilter_7bit.c mbfilter_ascii.c mbfilter_base64.c mbfilter_big5.c \ - mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp1251.c mbfilter_cp1252.c \ - mbfilter_cp866.c mbfilter_cp932.c mbfilter_cp936.c mbfilter_cp51932.c \ - mbfilter_euc_cn.c mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \ + mbfilter_7bit.c mbfilter_base64.c mbfilter_big5.c \ + mbfilter_byte2.c mbfilter_byte4.c mbfilter_cp932.c \ + mbfilter_cp936.c mbfilter_cp51932.c mbfilter_euc_cn.c \ + mbfilter_euc_jp.c mbfilter_euc_jp_win.c mbfilter_euc_kr.c \ mbfilter_euc_tw.c mbfilter_htmlent.c mbfilter_hz.c mbfilter_iso2022_kr.c \ - mbfilter_iso8859_1.c mbfilter_iso8859_10.c mbfilter_iso8859_13.c \ - mbfilter_iso8859_14.c mbfilter_iso8859_15.c mbfilter_iso8859_16.c \ - mbfilter_iso8859_2.c mbfilter_iso8859_3.c mbfilter_iso8859_4.c \ - mbfilter_iso8859_5.c mbfilter_iso8859_6.c mbfilter_iso8859_7.c \ - mbfilter_iso8859_8.c mbfilter_iso8859_9.c mbfilter_jis.c \ - mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c mbfilter_sjis_2004.c \ - mbfilter_koi8r.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \ + mbfilter_jis.c mbfilter_iso2022_jp_ms.c mbfilter_gb18030.c \ + mbfilter_sjis_2004.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \ mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \ - mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c \ - mbfilter_koi8u.c mbfilter_cp1254.c mbfilter_euc_jp_2004.c \ - mbfilter_uuencode.c mbfilter_armscii8.c mbfilter_cp850.c \ + mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c mbfilter_euc_jp_2004.c mbfilter_uuencode.c \ mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \ - mbfilter_sjis_mac.c \ - mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \ + mbfilter_sjis_mac.c mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \ mbfilter_tl_jisx0201_jisx0208.c", "mbstring"); ADD_SOURCES("ext/mbstring/libmbfl/mbfl", "mbfilter.c mbfilter_8bit.c \ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c deleted file mode 100644 index 55668fceb9c81..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: Hayk Chamyan - * - */ - -/* - * "armenian code filter and converter" - */ - -#include "mbfilter.h" -#include "mbfilter_armscii8.h" -#include "unicode_table_armscii8.h" - -static int mbfl_filt_ident_armscii8(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_armscii8_aliases[] = {"ArmSCII-8", "ArmSCII8", "ARMSCII-8", "ARMSCII8", NULL}; - -const mbfl_encoding mbfl_encoding_armscii8 = { - mbfl_no_encoding_armscii8, - "ArmSCII-8", - "ArmSCII-8", - mbfl_encoding_armscii8_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_armscii8_wchar, - &vtbl_wchar_armscii8 -}; - -const struct mbfl_identify_vtbl vtbl_identify_armscii8 = { - mbfl_no_encoding_armscii8, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_armscii8 -}; - -const struct mbfl_convert_vtbl vtbl_wchar_armscii8 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_armscii8, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_armscii8, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_armscii8_wchar = { - mbfl_no_encoding_armscii8, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_armscii8_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_armscii8_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < armscii8_ucs_table_min) { - s = c; - } else { - s = armscii8_ucs_table[c - armscii8_ucs_table_min]; - if (!s) { - s = c | MBFL_WCSGROUP_THROUGH; - } - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_armscii8(int c, mbfl_convert_filter *filter) -{ - if (c >= 0x28 && c <= 0x2F) { - CK((*filter->output_function)(ucs_armscii8_table[c - 0x28], filter->data)); - } else if (c < armscii8_ucs_table_min) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < armscii8_ucs_table_len; n++) { - if (c == armscii8_ucs_table[n]) { - CK((*filter->output_function)(armscii8_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_armscii8(int c, mbfl_identify_filter *filter) -{ - if (c >= armscii8_ucs_table_min && !armscii8_ucs_table[c - armscii8_ucs_table_min]) { - filter->flag = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h b/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h deleted file mode 100644 index 0b14934995cd9..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_armscii8.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: Hayk Chamyan - * - */ - -#ifndef MBFL_MBFILTER_ARMSCII8_H -#define MBFL_MBFILTER_ARMSCII8_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_armscii8; -extern const struct mbfl_identify_vtbl vtbl_identify_armscii8; -extern const struct mbfl_convert_vtbl vtbl_wchar_armscii8; -extern const struct mbfl_convert_vtbl vtbl_armscii8_wchar; - -int mbfl_filt_conv_armscii8_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_armscii8(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ARMSCII8_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c b/ext/mbstring/libmbfl/filters/mbfilter_ascii.c deleted file mode 100644 index 4e02c26aac89d..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_ascii.c +++ /dev/null @@ -1,111 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by Moriyoshi Koizumi on 4 Dec 2002. The file - * mbfilter.c is included in this package . - * - */ - -#include "mbfilter.h" -#include "mbfilter_ascii.h" - -static int mbfl_filt_ident_ascii(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_ascii_aliases[] = {"ANSI_X3.4-1968", "iso-ir-6", "ANSI_X3.4-1986", "ISO_646.irv:1991", "US-ASCII", "ISO646-US", "us", "IBM367", "IBM-367", "cp367", "csASCII", NULL}; - -const mbfl_encoding mbfl_encoding_ascii = { - mbfl_no_encoding_ascii, - "ASCII", - "US-ASCII", /* preferred MIME name */ - mbfl_encoding_ascii_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_ascii_wchar, - &vtbl_wchar_ascii -}; - -const struct mbfl_identify_vtbl vtbl_identify_ascii = { - mbfl_no_encoding_ascii, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_ascii -}; - -const struct mbfl_convert_vtbl vtbl_ascii_wchar = { - mbfl_no_encoding_ascii, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_ascii_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_ascii = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_ascii, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_ascii, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ASCII => wchar - */ -int mbfl_filt_conv_ascii_wchar(int c, mbfl_convert_filter *filter) -{ - return (*filter->output_function)(c, filter->data); -} - - -/* - * wchar => ASCII - */ -int mbfl_filt_conv_wchar_ascii(int c, mbfl_convert_filter *filter) -{ - if (c >= 0 && c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_ascii(int c, mbfl_identify_filter *filter) -{ - if (c >= 0x20 && c < 0x80) { - ; - } else if (c == 0x0d || c == 0x0a || c == 0x09 || c == 0) { /* CR or LF or HTAB or null */ - ; - } else { - filter->flag = 1; - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ascii.h b/ext/mbstring/libmbfl/filters/mbfilter_ascii.h deleted file mode 100644 index 3c8aead9efc1a..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_ascii.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by Moriyoshi Koizumi on 4 Dec 2002. The file - * mbfilter.c is included in this package . - * - */ - -#ifndef MBFL_MBFILTER_ASCII_H -#define MBFL_MBFILTER_ASCII_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_ascii; -extern const struct mbfl_identify_vtbl vtbl_identify_ascii; -extern const struct mbfl_convert_vtbl vtbl_ascii_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_ascii; - -int mbfl_filt_conv_ascii_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_ascii(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ASCII_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c deleted file mode 100644 index cf5107b0d6066..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_cp1251.h" -#include "unicode_table_cp1251.h" - -static int mbfl_filt_ident_cp1251(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_cp1251_aliases[] = {"CP1251", "CP-1251", "WINDOWS-1251", NULL}; - -const mbfl_encoding mbfl_encoding_cp1251 = { - mbfl_no_encoding_cp1251, - "Windows-1251", - "Windows-1251", - mbfl_encoding_cp1251_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_cp1251_wchar, - &vtbl_wchar_cp1251 -}; - -const struct mbfl_identify_vtbl vtbl_identify_cp1251 = { - mbfl_no_encoding_cp1251, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp1251 -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp1251 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp1251, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_cp1251, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_cp1251_wchar = { - mbfl_no_encoding_cp1251, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_cp1251_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_cp1251_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < cp1251_ucs_table_min) { - s = c; - } else { - s = cp1251_ucs_table[c - cp1251_ucs_table_min]; - if (!s) { - s = c | MBFL_WCSGROUP_THROUGH; - } - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_cp1251(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < cp1251_ucs_table_len; n++) { - if (c == cp1251_ucs_table[n]) { - CK((*filter->output_function)(cp1251_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_cp1251(int c, mbfl_identify_filter *filter) -{ - /* Only one byte in this single-byte encoding is not used */ - if (c == 0x98) { - filter->flag = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h deleted file mode 100644 index b76cc9f680688..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1251.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * the source code included in this files was separated from mbfilter_ru.h - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_CP1251_H -#define MBFL_MBFILTER_CP1251_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_cp1251; -extern const struct mbfl_identify_vtbl vtbl_identify_cp1251; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp1251; -extern const struct mbfl_convert_vtbl vtbl_cp1251_wchar; - -int mbfl_filt_conv_wchar_cp1251(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_cp1251_wchar(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_CP1251_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c deleted file mode 100644 index af5a879e16651..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Wez Furlong - * - */ -/* - * the source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_cp1252.h" -#include "unicode_table_cp1252.h" - -static int mbfl_filt_ident_cp1252(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_cp1252_aliases[] = {"cp1252", NULL}; - -const mbfl_encoding mbfl_encoding_cp1252 = { - mbfl_no_encoding_cp1252, - "Windows-1252", - "Windows-1252", - mbfl_encoding_cp1252_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_cp1252_wchar, - &vtbl_wchar_cp1252 -}; - -const struct mbfl_identify_vtbl vtbl_identify_cp1252 = { - mbfl_no_encoding_cp1252, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp1252 -}; - -const struct mbfl_convert_vtbl vtbl_cp1252_wchar = { - mbfl_no_encoding_cp1252, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_cp1252_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp1252 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp1252, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_cp1252, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_wchar_cp1252(int c, mbfl_convert_filter *filter) -{ - int s = -1; - - if (c >= 0x100) { - /* Look it up from the CP1252 table */ - for (int n = 31; n >= 0; n--) { - if (c == cp1252_ucs_table[n]) { - s = 0x80 + n; - break; - } - } - } else if (c <= 0x7F || c >= 0xA0) { - s = c; - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - return c; -} - -int mbfl_filt_conv_cp1252_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0x80 && c < 0xA0) { - s = cp1252_ucs_table[c - 0x80]; - if (!s) { - s = c | MBFL_WCSGROUP_THROUGH; - } - } else { - s = c; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -static int mbfl_filt_ident_cp1252(int c, mbfl_identify_filter *filter) -{ - if (c >= 0x80 && c < 0xA0 && !cp1252_ucs_table[c - 0x80]) { - filter->flag = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h deleted file mode 100644 index afb2fffa9b940..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1252.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Wez Furlong - * - */ -/* - * the source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_CP1252_H -#define MBFL_MBFILTER_CP1252_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_cp1252; -extern const struct mbfl_identify_vtbl vtbl_identify_cp1252; -extern const struct mbfl_convert_vtbl vtbl_cp1252_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp1252; - -int mbfl_filt_conv_wchar_cp1252(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_cp1252_wchar(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_CP1252_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c deleted file mode 100644 index e0ca60e7c080a..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.c +++ /dev/null @@ -1,117 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Haluk AKIN - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_cp1254.h" -#include "unicode_table_cp1254.h" - -static int mbfl_filt_ident_cp1254(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_cp1254_aliases[] = {"CP1254", "CP-1254", "WINDOWS-1254", NULL}; - -const mbfl_encoding mbfl_encoding_cp1254 = { - mbfl_no_encoding_cp1254, - "Windows-1254", - "Windows-1254", - mbfl_encoding_cp1254_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_cp1254_wchar, - &vtbl_wchar_cp1254 -}; - -const struct mbfl_identify_vtbl vtbl_identify_cp1254 = { - mbfl_no_encoding_cp1254, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp1254 -}; - -const struct mbfl_convert_vtbl vtbl_cp1254_wchar = { - mbfl_no_encoding_cp1254, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_cp1254_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp1254 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp1254, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_cp1254, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < cp1254_ucs_table_len; n++) { - if (c == cp1254_ucs_table[n]) { - CK((*filter->output_function)(cp1254_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -int mbfl_filt_conv_cp1254_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < cp1254_ucs_table_min) { - s = c; - } else { - s = cp1254_ucs_table[c - cp1254_ucs_table_min]; - if (!s) { - s = c | MBFL_WCSGROUP_THROUGH; - } - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -static int mbfl_filt_ident_cp1254(int c, mbfl_identify_filter *filter) -{ - if (c >= 0x81 && c <= 0x9E && !cp1254_ucs_table[c - cp1254_ucs_table_min]) { - filter->flag = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h b/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h deleted file mode 100644 index 15a63eae30a6d..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp1254.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Haluk AKIN - * - */ -/* - * the source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_CP1254_H -#define MBFL_MBFILTER_CP1254_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_cp1254; -extern const struct mbfl_identify_vtbl vtbl_identify_cp1254; -extern const struct mbfl_convert_vtbl vtbl_cp1254_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp1254; - -int mbfl_filt_conv_wchar_cp1254(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_cp1254_wchar(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_CP1254_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c b/ext/mbstring/libmbfl/filters/mbfilter_cp850.c deleted file mode 100644 index 50390c179f0e1..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp850.c +++ /dev/null @@ -1,100 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * Adaption for CP850: D. Giffeler - * - */ - -#include "mbfilter.h" -#include "mbfilter_cp850.h" -#include "unicode_table_cp850.h" - -static const char *mbfl_encoding_cp850_aliases[] = {"CP850", "CP-850", "IBM850", "IBM-850", NULL}; - -const mbfl_encoding mbfl_encoding_cp850 = { - mbfl_no_encoding_cp850, - "CP850", - "CP850", - mbfl_encoding_cp850_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_cp850_wchar, - &vtbl_wchar_cp850 -}; - -const struct mbfl_identify_vtbl vtbl_identify_cp850 = { - mbfl_no_encoding_cp850, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp850 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp850, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_cp850, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_cp850_wchar = { - mbfl_no_encoding_cp850, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_cp850_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_cp850_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < cp850_ucs_table_min) { - s = c; - } else { - s = cp850_ucs_table[c - cp850_ucs_table_min]; - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_cp850(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < cp850_ucs_table_len; n++) { - if (c == cp850_ucs_table[n]) { - CK((*filter->output_function)(cp850_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp850.h b/ext/mbstring/libmbfl/filters/mbfilter_cp850.h deleted file mode 100644 index 2a0e8e9e65a48..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp850.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * Adaption for CP850: D. Giffeler - * - */ - -#ifndef MBFL_MBFILTER_CP850_H -#define MBFL_MBFILTER_CP850_H - -extern const mbfl_encoding mbfl_encoding_cp850; -extern const struct mbfl_identify_vtbl vtbl_identify_cp850; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp850; -extern const struct mbfl_convert_vtbl vtbl_cp850_wchar; - -int mbfl_filt_conv_cp850_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp850(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_CP850_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c b/ext/mbstring/libmbfl/filters/mbfilter_cp866.c deleted file mode 100644 index de56b2c4507e9..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp866.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_cp866.h" -#include "unicode_table_cp866.h" - -static const char *mbfl_encoding_cp866_aliases[] = {"CP866", "CP-866", "IBM866", "IBM-866", NULL}; - -const mbfl_encoding mbfl_encoding_cp866 = { - mbfl_no_encoding_cp866, - "CP866", - "CP866", - mbfl_encoding_cp866_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_cp866_wchar, - &vtbl_wchar_cp866 -}; - -const struct mbfl_identify_vtbl vtbl_identify_cp866 = { - mbfl_no_encoding_cp866, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp866 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp866, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_cp866, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_cp866_wchar = { - mbfl_no_encoding_cp866, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_cp866_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_cp866_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < cp866_ucs_table_min) { - s = c; - } else { - s = cp866_ucs_table[c - cp866_ucs_table_min]; - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_cp866(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < cp866_ucs_table_len; n++) { - if (c == cp866_ucs_table[n]) { - CK((*filter->output_function)(cp866_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp866.h b/ext/mbstring/libmbfl/filters/mbfilter_cp866.h deleted file mode 100644 index e9eb25a54130c..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp866.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.h - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_CP866_H -#define MBFL_MBFILTER_CP866_H - -extern const mbfl_encoding mbfl_encoding_cp866; -extern const struct mbfl_identify_vtbl vtbl_identify_cp866; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp866; -extern const struct mbfl_convert_vtbl vtbl_cp866_wchar; - -int mbfl_filt_conv_cp866_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp866(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_CP866_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c deleted file mode 100644 index 899234f3b05bf..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_1.h" - -static const char *mbfl_encoding_8859_1_aliases[] = {"ISO8859-1", "latin1", NULL}; - -const mbfl_encoding mbfl_encoding_8859_1 = { - mbfl_no_encoding_8859_1, - "ISO-8859-1", - "ISO-8859-1", - mbfl_encoding_8859_1_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_1_wchar, - &vtbl_wchar_8859_1 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_1 = { - mbfl_no_encoding_8859_1, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_1_wchar = { - mbfl_no_encoding_8859_1, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_1_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_1 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_1, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_1, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-1 => wchar - */ -int mbfl_filt_conv_8859_1_wchar(int c, mbfl_convert_filter *filter) -{ - return (*filter->output_function)(c, filter->data); -} - -/* - * wchar => ISO-8859-1 - */ -int mbfl_filt_conv_wchar_8859_1(int c, mbfl_convert_filter *filter) -{ - if (c >= 0 && c < 0x100) { - CK((*filter->output_function)(c, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h deleted file mode 100644 index b593f10f54ef7..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_1.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.h - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_1_H -#define MBFL_MBFILTER_ISO8859_1_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_1; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_1; -extern const struct mbfl_convert_vtbl vtbl_8859_1_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_1; - -int mbfl_filt_conv_8859_1_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_1(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_1_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c deleted file mode 100644 index 62179fa001b60..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_10.h" -#include "unicode_table_iso8859_10.h" - -static const char *mbfl_encoding_8859_10_aliases[] = {"ISO8859-10", "latin6", NULL}; - -const mbfl_encoding mbfl_encoding_8859_10 = { - mbfl_no_encoding_8859_10, - "ISO-8859-10", - "ISO-8859-10", - mbfl_encoding_8859_10_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_10_wchar, - &vtbl_wchar_8859_10 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_10 = { - mbfl_no_encoding_8859_10, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_10_wchar = { - mbfl_no_encoding_8859_10, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_10_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_10 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_10, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_10, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-10 => wchar - */ -int mbfl_filt_conv_8859_10_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_10_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-10 - */ -int mbfl_filt_conv_wchar_8859_10(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_10_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h deleted file mode 100644 index f9133404de3c5..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_10.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_10_H -#define MBFL_MBFILTER_ISO8859_10_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_10; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_10; -extern const struct mbfl_convert_vtbl vtbl_8859_10_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_10; - -int mbfl_filt_conv_8859_10_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_10(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_10_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c deleted file mode 100644 index 88651baf65269..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_13.h" -#include "unicode_table_iso8859_13.h" - -static const char *mbfl_encoding_8859_13_aliases[] = {"ISO8859-13", NULL}; - -const mbfl_encoding mbfl_encoding_8859_13 = { - mbfl_no_encoding_8859_13, - "ISO-8859-13", - "ISO-8859-13", - mbfl_encoding_8859_13_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_13_wchar, - &vtbl_wchar_8859_13 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_13 = { - mbfl_no_encoding_8859_13, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_13_wchar = { - mbfl_no_encoding_8859_13, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_13_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_13 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_13, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_13, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-13 => wchar - */ -int mbfl_filt_conv_8859_13_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_13_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-13 - */ -int mbfl_filt_conv_wchar_8859_13(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_13_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h deleted file mode 100644 index dcd60755944a2..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_13.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_13_H -#define MBFL_MBFILTER_ISO8859_13_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_13; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_13; -extern const struct mbfl_convert_vtbl vtbl_8859_13_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_13; - -int mbfl_filt_conv_8859_13_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_13(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_13_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c deleted file mode 100644 index 515637ef0473d..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_14.h" -#include "unicode_table_iso8859_14.h" - -static const char *mbfl_encoding_8859_14_aliases[] = {"ISO8859-14", "latin8", NULL}; - -const mbfl_encoding mbfl_encoding_8859_14 = { - mbfl_no_encoding_8859_14, - "ISO-8859-14", - "ISO-8859-14", - mbfl_encoding_8859_14_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_14_wchar, - &vtbl_wchar_8859_14 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_14 = { - mbfl_no_encoding_8859_14, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_14_wchar = { - mbfl_no_encoding_8859_14, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_14_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_14 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_14, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_14, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-14 => wchar - */ -int mbfl_filt_conv_8859_14_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_14_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-14 - */ -int mbfl_filt_conv_wchar_8859_14(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_14_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h deleted file mode 100644 index 90531e668a1a8..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_14.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * COPYRIGHT NOTICE - * - * This file is a portion of "streamable kanji code filter and converter" - * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * - * The source code included in this files was separated from mbfilter.c - * by Moriyoshi Koizumi on 4 Dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_14_H -#define MBFL_MBFILTER_ISO8859_14_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_14; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_14; -extern const struct mbfl_convert_vtbl vtbl_8859_14_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_14; - -int mbfl_filt_conv_8859_14_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_14(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_14_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c deleted file mode 100644 index 070d08dbe1477..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_15.h" -#include "unicode_table_iso8859_15.h" - -static const char *mbfl_encoding_8859_15_aliases[] = {"ISO8859-15", NULL}; - -const mbfl_encoding mbfl_encoding_8859_15 = { - mbfl_no_encoding_8859_15, - "ISO-8859-15", - "ISO-8859-15", - mbfl_encoding_8859_15_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_15_wchar, - &vtbl_wchar_8859_15 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_15 = { - mbfl_no_encoding_8859_15, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_15_wchar = { - mbfl_no_encoding_8859_15, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_15_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_15 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_15, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_15, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-15 => wchar - */ -int mbfl_filt_conv_8859_15_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_15_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-15 - */ -int mbfl_filt_conv_wchar_8859_15(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_15_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h deleted file mode 100644 index a8fb339b0db4c..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_15.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * COPYRIGHT NOTICE - * - * This file is a portion of "streamable kanji code filter and converter" - * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * - * The source code included in this files was separated from mbfilter.c - * by Moriyoshi Koizumi on 4 Dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_15_H -#define MBFL_MBFILTER_ISO8859_15_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_15; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_15; -extern const struct mbfl_convert_vtbl vtbl_8859_15_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_15; - -int mbfl_filt_conv_8859_15_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_15(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_15_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c deleted file mode 100644 index c1035020110c5..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_16.h" -#include "unicode_table_iso8859_16.h" - -static const char *mbfl_encoding_8859_16_aliases[] = {"ISO8859-16", NULL}; - -const mbfl_encoding mbfl_encoding_8859_16 = { - mbfl_no_encoding_8859_16, - "ISO-8859-16", - "ISO-8859-16", - mbfl_encoding_8859_16_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_16_wchar, - &vtbl_wchar_8859_16 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_16 = { - mbfl_no_encoding_8859_16, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_16_wchar = { - mbfl_no_encoding_8859_16, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_16_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_16 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_16, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_16, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-16 => wchar - */ -int mbfl_filt_conv_8859_16_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_16_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-16 - */ -int mbfl_filt_conv_wchar_8859_16(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_16_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h deleted file mode 100644 index a1a53d7909f57..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_16.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * COPYRIGHT NOTICE - * - * This file is a portion of "streamable kanji code filter and converter" - * library, which is distributed under GNU Lesser General Public License - * version 2.1. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_16_H -#define MBFL_MBFILTER_ISO8859_16_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_16; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_16; -extern const struct mbfl_convert_vtbl vtbl_8859_16_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_16; - -int mbfl_filt_conv_8859_16_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_16(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_16_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c deleted file mode 100644 index 2aab9d2c16800..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_2.h" -#include "unicode_table_iso8859_2.h" - -static const char *mbfl_encoding_8859_2_aliases[] = {"ISO8859-2", "latin2", NULL}; - -const mbfl_encoding mbfl_encoding_8859_2 = { - mbfl_no_encoding_8859_2, - "ISO-8859-2", - "ISO-8859-2", - mbfl_encoding_8859_2_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_2_wchar, - &vtbl_wchar_8859_2 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_2 = { - mbfl_no_encoding_8859_2, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_2_wchar = { - mbfl_no_encoding_8859_2, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_2_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_2 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_2, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_2, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-2 => wchar - */ -int mbfl_filt_conv_8859_2_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_2_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-2 - */ -int mbfl_filt_conv_wchar_8859_2(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_2_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h deleted file mode 100644 index f344168a183db..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_2.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_2_H -#define MBFL_MBFILTER_ISO8859_2_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_2; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_2; -extern const struct mbfl_convert_vtbl vtbl_8859_2_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_2; - -int mbfl_filt_conv_8859_2_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_2(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_2_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c deleted file mode 100644 index 5cd3bfce1d9fd..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_3.h" -#include "unicode_table_iso8859_3.h" - -static int mbfl_filt_ident_iso8859_3(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_8859_3_aliases[] = {"ISO8859-3", "latin3", NULL}; - -const mbfl_encoding mbfl_encoding_8859_3 = { - mbfl_no_encoding_8859_3, - "ISO-8859-3", - "ISO-8859-3", - mbfl_encoding_8859_3_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_3_wchar, - &vtbl_wchar_8859_3 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_3 = { - mbfl_no_encoding_8859_3, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_iso8859_3 -}; - -const struct mbfl_convert_vtbl vtbl_8859_3_wchar = { - mbfl_no_encoding_8859_3, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_3_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_3 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_3, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_3, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-3 => wchar - */ -int mbfl_filt_conv_8859_3_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_3_ucs_table[c - 0xa0]; - if (s <= 0) { - s = c; - s &= MBFL_WCSPLANE_MASK; - s |= MBFL_WCSPLANE_8859_3; - } - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-3 - */ -int mbfl_filt_conv_wchar_8859_3(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_3_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_iso8859_3(int c, mbfl_identify_filter *filter) -{ - if (c >= 0xA0 && !iso8859_3_ucs_table[c - 0xA0]) { - filter->status = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h deleted file mode 100644 index 746085373a52c..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_3.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_3_H -#define MBFL_MBFILTER_ISO8859_3_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_3; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_3; -extern const struct mbfl_convert_vtbl vtbl_8859_3_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_3; - -int mbfl_filt_conv_8859_3_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_3(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_3_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c deleted file mode 100644 index a869230355efd..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_4.h" -#include "unicode_table_iso8859_4.h" - -static const char *mbfl_encoding_8859_4_aliases[] = {"ISO8859-4", "latin4", NULL}; - -const mbfl_encoding mbfl_encoding_8859_4 = { - mbfl_no_encoding_8859_4, - "ISO-8859-4", - "ISO-8859-4", - mbfl_encoding_8859_4_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_4_wchar, - &vtbl_wchar_8859_4 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_4 = { - mbfl_no_encoding_8859_4, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_4_wchar = { - mbfl_no_encoding_8859_4, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_4_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_4 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_4, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_4, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-4 => wchar - */ -int mbfl_filt_conv_8859_4_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_4_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-4 - */ -int mbfl_filt_conv_wchar_8859_4(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_4_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h deleted file mode 100644 index fe4dcdc696387..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_4.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_4_H -#define MBFL_MBFILTER_ISO8859_4_H - -extern const mbfl_encoding mbfl_encoding_8859_4; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_4; -extern const struct mbfl_convert_vtbl vtbl_8859_4_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_4; - -int mbfl_filt_conv_8859_4_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_4(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_4_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c deleted file mode 100644 index 33698e563d5e9..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.c +++ /dev/null @@ -1,126 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_5.h" -#include "unicode_table_iso8859_5.h" - -static const char *mbfl_encoding_8859_5_aliases[] = {"ISO8859-5", "cyrillic", NULL}; - -const mbfl_encoding mbfl_encoding_8859_5 = { - mbfl_no_encoding_8859_5, - "ISO-8859-5", - "ISO-8859-5", - mbfl_encoding_8859_5_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_5_wchar, - &vtbl_wchar_8859_5 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_5 = { - mbfl_no_encoding_8859_5, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_5_wchar = { - mbfl_no_encoding_8859_5, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_5_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_5 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_5, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_5, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-5 => wchar - */ -int mbfl_filt_conv_8859_5_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_5_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-5 - */ -int mbfl_filt_conv_wchar_8859_5(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_5_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h deleted file mode 100644 index 8b098441419fb..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_5.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_5_H -#define MBFL_MBFILTER_ISO8859_5_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_5; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_5; -extern const struct mbfl_convert_vtbl vtbl_8859_5_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_5; - -int mbfl_filt_conv_8859_5_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_5(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_5_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c deleted file mode 100644 index 8b1fc4bbadd60..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_6.h" -#include "unicode_table_iso8859_6.h" - -static int mbfl_filt_ident_iso8859_6(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_8859_6_aliases[] = {"ISO8859-6", "arabic", NULL}; - -const mbfl_encoding mbfl_encoding_8859_6 = { - mbfl_no_encoding_8859_6, - "ISO-8859-6", - "ISO-8859-6", - mbfl_encoding_8859_6_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_6_wchar, - &vtbl_wchar_8859_6 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_6 = { - mbfl_no_encoding_8859_6, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_iso8859_6 -}; - -const struct mbfl_convert_vtbl vtbl_8859_6_wchar = { - mbfl_no_encoding_8859_6, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_6_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_6 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_6, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_6, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-6 => wchar - */ -int mbfl_filt_conv_8859_6_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_6_ucs_table[c - 0xa0]; - if (s <= 0) { - s = c; - s &= MBFL_WCSPLANE_MASK; - s |= MBFL_WCSPLANE_8859_6; - } - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-6 - */ -int mbfl_filt_conv_wchar_8859_6(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_6_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_iso8859_6(int c, mbfl_identify_filter *filter) -{ - if (c >= 0xA0 && !iso8859_6_ucs_table[c - 0xA0]) { - filter->status = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h deleted file mode 100644 index c7e16c7e0bc38..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_6.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_6_H -#define MBFL_MBFILTER_ISO8859_6_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_6; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_6; -extern const struct mbfl_convert_vtbl vtbl_8859_6_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_6; - -int mbfl_filt_conv_8859_6_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_6(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_6_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c deleted file mode 100644 index e87ae0ec36dbc..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c +++ /dev/null @@ -1,141 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_7.h" -#include "unicode_table_iso8859_7.h" - -static int mbfl_filt_ident_iso8859_7(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_8859_7_aliases[] = {"ISO8859-7", "greek", NULL}; - -const mbfl_encoding mbfl_encoding_8859_7 = { - mbfl_no_encoding_8859_7, - "ISO-8859-7", - "ISO-8859-7", - mbfl_encoding_8859_7_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_7_wchar, - &vtbl_wchar_8859_7 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_7 = { - mbfl_no_encoding_8859_7, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_iso8859_7 -}; - -const struct mbfl_convert_vtbl vtbl_8859_7_wchar = { - mbfl_no_encoding_8859_7, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_7_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_7 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_7, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_7, - mbfl_filt_conv_common_flush, - NULL, -}; - - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-7 => wchar - */ -int mbfl_filt_conv_8859_7_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_7_ucs_table[c - 0xa0]; - if (s <= 0) { - s = c; - s &= MBFL_WCSPLANE_MASK; - s |= MBFL_WCSPLANE_8859_7; - } - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-7 - */ -int mbfl_filt_conv_wchar_8859_7(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_7_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_iso8859_7(int c, mbfl_identify_filter *filter) -{ - /* These bytes are not mapped to any character in ISO-8859-7 */ - if (c == 0xAE || c == 0xD2 || c == 0xFF) - filter->status = 1; - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h deleted file mode 100644 index 8421edb929f50..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_7_H -#define MBFL_MBFILTER_ISO8859_7_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_7; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_7; -extern const struct mbfl_convert_vtbl vtbl_8859_7_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_7; - -int mbfl_filt_conv_8859_7_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_7(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_7_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c deleted file mode 100644 index 3436d8d3ead80..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.c +++ /dev/null @@ -1,140 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_8.h" -#include "unicode_table_iso8859_8.h" - -static int mbfl_filt_ident_iso8859_8(int c, mbfl_identify_filter *filter); - -static const char *mbfl_encoding_8859_8_aliases[] = {"ISO8859-8", "hebrew", NULL}; - -const mbfl_encoding mbfl_encoding_8859_8 = { - mbfl_no_encoding_8859_8, - "ISO-8859-8", - "ISO-8859-8", - mbfl_encoding_8859_8_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_8_wchar, - &vtbl_wchar_8859_8 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_8 = { - mbfl_no_encoding_8859_8, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_iso8859_8 -}; - -const struct mbfl_convert_vtbl vtbl_8859_8_wchar = { - mbfl_no_encoding_8859_8, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_8_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_8 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_8, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_8, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-8 => wchar - */ -int mbfl_filt_conv_8859_8_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_8_ucs_table[c - 0xa0]; - if (s <= 0) { - s = c; - s &= MBFL_WCSPLANE_MASK; - s |= MBFL_WCSPLANE_8859_8; - } - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-8 - */ -int mbfl_filt_conv_wchar_8859_8(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_8_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} - -static int mbfl_filt_ident_iso8859_8(int c, mbfl_identify_filter *filter) -{ - if (c >= 0xA0 && !iso8859_8_ucs_table[c - 0xA0]) { - filter->status = 1; - } - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h deleted file mode 100644 index ee679814f1aab..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_8.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_8_H -#define MBFL_MBFILTER_ISO8859_8_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_8; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_8; -extern const struct mbfl_convert_vtbl vtbl_8859_8_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_8; - -int mbfl_filt_conv_8859_8_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_8(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_8_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c deleted file mode 100644 index f4241982cf609..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.c +++ /dev/null @@ -1,125 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_iso8859_9.h" -#include "unicode_table_iso8859_9.h" - -static const char *mbfl_encoding_8859_9_aliases[] = {"ISO8859-9", "latin5", NULL}; - -const mbfl_encoding mbfl_encoding_8859_9 = { - mbfl_no_encoding_8859_9, - "ISO-8859-9", - "ISO-8859-9", - mbfl_encoding_8859_9_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_8859_9_wchar, - &vtbl_wchar_8859_9 -}; - -const struct mbfl_identify_vtbl vtbl_identify_8859_9 = { - mbfl_no_encoding_8859_9, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_8859_9_wchar = { - mbfl_no_encoding_8859_9, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_8859_9_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_wchar_8859_9 = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_8859_9, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_8859_9, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -/* - * ISO-8859-9 => wchar - */ -int mbfl_filt_conv_8859_9_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c >= 0 && c < 0xa0) { - s = c; - } else if (c >= 0xa0 && c < 0x100) { - s = iso8859_9_ucs_table[c - 0xa0]; - } else { - s = c; - s &= MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - } - - CK((*filter->output_function)(s, filter->data)); - - return c; -} - -/* - * wchar => ISO-8859-9 - */ -int mbfl_filt_conv_wchar_8859_9(int c, mbfl_convert_filter *filter) -{ - int s, n; - - if (c >= 0 && c < 0xa0) { - s = c; - } else { - s = -1; - n = 95; - while (n >= 0) { - if (c == iso8859_9_ucs_table[n]) { - s = 0xa0 + n; - break; - } - n--; - } - } - - if (s >= 0) { - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h b/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h deleted file mode 100644 index 5a61237113719..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso8859_9.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * The source code included in this files was separated from mbfilter.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_ISO8859_9_H -#define MBFL_MBFILTER_ISO8859_9_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_8859_9; -extern const struct mbfl_identify_vtbl vtbl_identify_8859_9; -extern const struct mbfl_convert_vtbl vtbl_8859_9_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_8859_9; - -int mbfl_filt_conv_8859_9_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_8859_9(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_ISO8859_9_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c deleted file mode 100644 index 5c76fc066cdb6..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.c +++ /dev/null @@ -1,104 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_koi8r.h" -#include "unicode_table_koi8r.h" - -static const char *mbfl_encoding_koi8r_aliases[] = {"KOI8-R", "KOI8R", NULL}; - -const mbfl_encoding mbfl_encoding_koi8r = { - mbfl_no_encoding_koi8r, - "KOI8-R", - "KOI8-R", - mbfl_encoding_koi8r_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_koi8r_wchar, - &vtbl_wchar_koi8r -}; - -const struct mbfl_identify_vtbl vtbl_identify_koi8r = { - mbfl_no_encoding_koi8r, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_wchar_koi8r = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_koi8r, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_koi8r, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_koi8r_wchar = { - mbfl_no_encoding_koi8r, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_koi8r_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_koi8r_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < koi8r_ucs_table_min) { - s = c; - } else { - s = koi8r_ucs_table[c - koi8r_ucs_table_min]; - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_koi8r(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < koi8r_ucs_table_len; n++) { - if (c == koi8r_ucs_table[n]) { - CK((*filter->output_function)(koi8r_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h b/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h deleted file mode 100644 index 6073d140ae65b..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8r.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * - */ -/* - * The source code included in this files was separated from mbfilter_ru.h - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_KOI8R_H -#define MBFL_MBFILTER_KOI8R_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_koi8r; -extern const struct mbfl_identify_vtbl vtbl_identify_koi8r; -extern const struct mbfl_convert_vtbl vtbl_wchar_koi8r; -extern const struct mbfl_convert_vtbl vtbl_koi8r_wchar; - -int mbfl_filt_conv_koi8r_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_koi8r(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_KOI8R_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c deleted file mode 100644 index c94f59aa5a22a..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.c +++ /dev/null @@ -1,101 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Maksym Veremeyenko - * - * Based on mbfilter_koi8r.c code - * - */ - -#include "mbfilter.h" -#include "mbfilter_koi8u.h" -#include "unicode_table_koi8u.h" - -static const char *mbfl_encoding_koi8u_aliases[] = {"KOI8-U", "KOI8U", NULL}; - -const mbfl_encoding mbfl_encoding_koi8u = { - mbfl_no_encoding_koi8u, - "KOI8-U", - "KOI8-U", - mbfl_encoding_koi8u_aliases, - NULL, - MBFL_ENCTYPE_SBCS, - &vtbl_koi8u_wchar, - &vtbl_wchar_koi8u -}; - -const struct mbfl_identify_vtbl vtbl_identify_koi8u = { - mbfl_no_encoding_koi8u, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_true -}; - -const struct mbfl_convert_vtbl vtbl_wchar_koi8u = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_koi8u, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_koi8u, - mbfl_filt_conv_common_flush, - NULL, -}; - -const struct mbfl_convert_vtbl vtbl_koi8u_wchar = { - mbfl_no_encoding_koi8u, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_koi8u_wchar, - mbfl_filt_conv_common_flush, - NULL, -}; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_koi8u_wchar(int c, mbfl_convert_filter *filter) -{ - int s; - - if (c < koi8u_ucs_table_min) { - s = c; - } else { - s = koi8u_ucs_table[c - koi8u_ucs_table_min]; - } - - CK((*filter->output_function)(s, filter->data)); - return c; -} - -int mbfl_filt_conv_wchar_koi8u(int c, mbfl_convert_filter *filter) -{ - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else { - for (int n = 0; n < koi8u_ucs_table_len; n++) { - if (c == koi8u_ucs_table[n]) { - CK((*filter->output_function)(koi8u_ucs_table_min + n, filter->data)); - return c; - } - } - CK(mbfl_filt_conv_illegal_output(c, filter)); - } - - return c; -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h b/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h deleted file mode 100644 index 16b95c1fc493b..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_koi8u.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Maksym Veremeyenko - * - * Based on mbfilter_koi8r.h code - * - */ - -#ifndef MBFL_MBFILTER_KOI8U_H -#define MBFL_MBFILTER_KOI8U_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_koi8u; -extern const struct mbfl_identify_vtbl vtbl_identify_koi8u; -extern const struct mbfl_convert_vtbl vtbl_wchar_koi8u; -extern const struct mbfl_convert_vtbl vtbl_koi8u_wchar; - -int mbfl_filt_conv_koi8u_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_koi8u(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_KOI8U_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h b/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h deleted file mode 100644 index 6630148f259e7..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_armscii8.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: Hayk Chamyan - * - */ - -#ifndef UNICODE_TABLE_ARMSCII8_H -#define UNICODE_TABLE_ARMSCII8_H - -/* ArmSCII-8 to Unicode table */ -static const unsigned short armscii8_ucs_table[] = { -0x00a0, 0x0000, 0x0587, 0x0589, 0x0029, 0x0028, 0x00bb, 0x00ab, -0x2014, 0x002e, 0x055d, 0x002c, 0x002d, 0x058a, 0x2026, 0x055c, -0x055b, 0x055e, 0x0531, 0x0561, 0x0532, 0x0562, 0x0533, 0x0563, -0x0534, 0x0564, 0x0535, 0x0565, 0x0536, 0x0566, 0x0537, 0x0567, -0x0538, 0x0568, 0x0539, 0x0569, 0x053a, 0x056a, 0x053b, 0x056b, -0x053c, 0x056c, 0x053d, 0x056d, 0x053e, 0x056e, 0x053f, 0x056f, -0x0540, 0x0570, 0x0541, 0x0571, 0x0542, 0x0572, 0x0543, 0x0573, -0x0544, 0x0574, 0x0545, 0x0575, 0x0546, 0x0576, 0x0547, 0x0577, -0x0548, 0x0578, 0x0549, 0x0579, 0x054a, 0x057a, 0x054b, 0x057b, -0x054c, 0x057c, 0x054d, 0x057d, 0x054e, 0x057e, 0x054f, 0x057f, -0x0550, 0x0580, 0x0551, 0x0581, 0x0552, 0x0582, 0x0553, 0x0583, -0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x055a, 0x0000 -}; - -static const unsigned char ucs_armscii8_table[] = { -0xa5, 0xa4, 0x2a, 0x2b, 0xab, 0xac, 0xa9, 0x2f -}; - -static const int armscii8_ucs_table_min = 0xa0; -static const int armscii8_ucs_table_len = (sizeof (armscii8_ucs_table) / sizeof (unsigned short)); -static const int armscii8_ucs_table_max = 0xa0 + (sizeof (armscii8_ucs_table) / sizeof (unsigned short)); - -#endif /* UNICODE_TABLE_ARMSCII8_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h b/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h deleted file mode 100644 index 662552ab3b5ae..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp1251.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The authors of this file: PHP3 internationalization team - * You can contact the primary author 金本 茂 . - * - */ - -#ifndef UNICODE_TABLE_CP1251_H - -/* cp1251 to Unicode table */ -static const unsigned short cp1251_ucs_table[] = { - 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, - 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, - 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, - 0x0000, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, - 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, - 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, - 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, - 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f -}; -static const int cp1251_ucs_table_min = 0x80; -static const int cp1251_ucs_table_len = (sizeof (cp1251_ucs_table) / sizeof (unsigned short)); -static const int cp1251_ucs_table_max = 0x80 + (sizeof (cp1251_ucs_table) / sizeof (unsigned short)); - -#endif /* UNICODE_TABLE_CP1251_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h b/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h deleted file mode 100644 index 1e70af33a2f05..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp1254.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The authors of this file: PHP3 internationalization team - * You can contact the primary author 金本 茂 . - * - */ - -#ifndef UNICODE_TABLE_CP1254_H - -/* cp1254 to Unicode table */ -static const unsigned short cp1254_ucs_table[] = { - 0x20ac, 0x0000, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, - 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x0000, 0x0000, - 0x0000, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, - 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, 0x0000, 0x0000, 0x0178, - 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, - 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, - 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, - 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, - 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff -}; -static const int cp1254_ucs_table_min = 0x80; -static const int cp1254_ucs_table_len = (sizeof (cp1254_ucs_table) / sizeof (unsigned short)); -static const int cp1254_ucs_table_max = 0x80 + (sizeof (cp1254_ucs_table) / sizeof (unsigned short)); - -#endif /* UNICODE_TABLE_CP1254_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp850.h b/ext/mbstring/libmbfl/filters/unicode_table_cp850.h deleted file mode 100644 index 57fb61dbc9dda..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp850.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Den V. Tsopa - * Adaption for CP850: D. Giffeler - * - */ - -#ifndef UNICODE_TABLE_CP850_H -#define UNICODE_TABLE_CP850_H - -/* cp850_DOS to Unicode table */ -static const unsigned short cp850_ucs_table[] = { - 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7 -, 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5 -, 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9 -, 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192 -, 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba -, 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb -, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0 -, 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510 -, 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3 -, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4 -, 0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce -, 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580 -, 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe -, 0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4 -, 0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8 -, 0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 -}; -static const int cp850_ucs_table_min = 0x80; -static const int cp850_ucs_table_len = (sizeof (cp850_ucs_table) / sizeof (unsigned short)); -static const int cp850_ucs_table_max = 0x80 + (sizeof (cp850_ucs_table) / sizeof (unsigned short)); - -#endif /* UNICODE_TABLE_CP850_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_cp866.h b/ext/mbstring/libmbfl/filters/unicode_table_cp866.h deleted file mode 100644 index 468e1a77c2b85..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_cp866.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The original author of this file: Den V. Tsopa - * - */ - -#ifndef UNICODE_TABLE_CP866_H -#define UNICODE_TABLE_CP866_H - -/* cp866_DOSCyrillicRussian to Unicode table */ -static const unsigned short cp866_ucs_table[] = { - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, - 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, - 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, - 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, - 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, - 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, - 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, - 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040e, 0x045e, - 0x00b0, 0x2219, 0x00b7, 0x221a, 0x2116, 0x00a4, 0x25a0, 0x00a0 -}; -static const int cp866_ucs_table_min = 0x80; -static const int cp866_ucs_table_len = (sizeof (cp866_ucs_table) / sizeof (unsigned short)); -static const int cp866_ucs_table_max = 0x80 + (sizeof (cp866_ucs_table) / sizeof (unsigned short)); - -#endif /* UNICODE_TABLE_CP866_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_10.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_10.h deleted file mode 100644 index 2b6b78f32bd67..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_10.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_10_H -static const int iso8859_10_ucs_table[] = { - 0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7, - 0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a, - 0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7, - 0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2015, 0x016b, 0x014b, - 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, - 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf, - 0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168, - 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, - 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, - 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef, - 0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169, - 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138 -}; -#endif /* UNICODE_TABLE_ISO8859_10_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_13.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_13.h deleted file mode 100644 index 5822396525c5e..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_13.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_13_H -static const int iso8859_13_ucs_table[] = { - 0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7, - 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7, - 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6, - 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112, - 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b, - 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, - 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df, - 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113, - 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c, - 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, - 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019 -}; -#endif /* UNICODE_TABLE_ISO8859_13_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_14.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_14.h deleted file mode 100644 index 6bd03b367ab43..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_14.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_14_H -static const int iso8859_14_ucs_table[] = { - 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7, - 0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x0178, - 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56, - 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x1e61, - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a, - 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b, - 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff -}; -#endif /* UNICODE_TABLE_ISO8859_14_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_15.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_15.h deleted file mode 100644 index 029a2bcfc4e43..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_15.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_15_H -static const int iso8859_15_ucs_table[] = { - 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7, - 0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7, - 0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf, - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, - 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, - 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff -}; -#endif /* UNICODE_TABLE_ISO8859_15_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_16.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_16.h deleted file mode 100644 index 555472d0dc149..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_16.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLEISO8859_16_H -static const int iso8859_16_ucs_table[] = { - 0x00a0, 0x0104, 0x0105, 0x0141, 0x20ac, 0x201e, 0x0160, 0x00a7, - 0x0161, 0x00a9, 0x0218, 0x00ab, 0x0179, 0x00ad, 0x017a, 0x017b, - 0x00b0, 0x00b1, 0x010c, 0x0142, 0x017d, 0x201d, 0x00b6, 0x00b7, - 0x017e, 0x010d, 0x0219, 0x00bb, 0x0152, 0x0153, 0x0178, 0x017c, - 0x00c0, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0106, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x0110, 0x0143, 0x00d2, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x015a, - 0x0170, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0118, 0x021a, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x0107, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x0111, 0x0144, 0x00f2, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x015b, - 0x0171, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0119, 0x021b, 0x00ff -}; -#endif /* UNICODE_TABLEISO8859_16_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_2.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_2.h deleted file mode 100644 index 12bb3cb2dc3e3..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_2.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_2_H -static const int iso8859_2_ucs_table[] = { - 0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7, - 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b, - 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7, - 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c, - 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, - 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, - 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, - 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, - 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, - 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, - 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, - 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 -}; -#endif /* UNICODE_TABLE_ISO8859_2_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_3.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_3.h deleted file mode 100644 index f50c348affed6..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_3.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_3_H -static const int iso8859_3_ucs_table[] = { - 0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, 0x0000, 0x0124, 0x00a7, - 0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, 0x0000, 0x017b, - 0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7, - 0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, 0x0000, 0x017c, - 0x00c0, 0x00c1, 0x00c2, 0x0000, 0x00c4, 0x010a, 0x0108, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x0000, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7, - 0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x0000, 0x00e4, 0x010b, 0x0109, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x0000, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7, - 0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9 -}; -#endif /* UNICODE_TABLE_ISO8859_3_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_4.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_4.h deleted file mode 100644 index ff7ecdb4c0b80..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_4.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_4_H -static const int iso8859_4_ucs_table[] = { - 0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7, - 0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af, - 0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7, - 0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b, - 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, - 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a, - 0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7, - 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df, - 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, - 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, - 0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7, - 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9 -}; -#endif /* UNICODE_TABLE_ISO8859_4_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_5.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_5.h deleted file mode 100644 index 411ab84b60574..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_5.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_5_H -static const int iso8859_5_ucs_table[] = { - 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, - 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, - 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, - 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, - 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, - 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, - 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, - 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, - 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, - 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, - 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, - 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f -}; -#endif /* UNICODE_TABLE_ISO8859_5_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_6.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_6.h deleted file mode 100644 index 0b3952e3a0b87..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_6.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_6_H -static const int iso8859_6_ucs_table[] = { - 0x00a0, 0x0000, 0x0000, 0x0000, 0x00a4, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x060c, 0x00ad, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x061b, 0x0000, 0x0000, 0x0000, 0x061f, - 0x0000, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, - 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f, - 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, - 0x0638, 0x0639, 0x063a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, - 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f, - 0x0650, 0x0651, 0x0652, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 -}; -#endif /* UNICODE_TABLE_ISO8859_6_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_7.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_7.h deleted file mode 100644 index 687f4cbc744af..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_7.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_7_H -static const int iso8859_7_ucs_table[] = { - 0x00a0, 0x2018, 0x2019, 0x00a3, 0x20ac, 0x20af, 0x00a6, 0x00a7, - 0x00a8, 0x00a9, 0x037a, 0x00ab, 0x00ac, 0x00ad, 0x0000, 0x2015, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x0385, 0x0386, 0x00b7, - 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f, - 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, - 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, - 0x03a0, 0x03a1, 0x0000, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, - 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af, - 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, - 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, - 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, - 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0x0000 -}; -#endif /* UNICODE_TABLE_ISO8859_7_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_8.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_8.h deleted file mode 100644 index 4ec6490bae49b..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_8.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_8_H -static const int iso8859_8_ucs_table[] = { - 0x00a0, 0x0000, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, - 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, - 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2017, - 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, - 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, - 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, - 0x05e8, 0x05e9, 0x05ea, 0x0000, 0x0000, 0x200e, 0x200f, 0x0000 -}; -#endif /* UNICODE_TABLE_ISO8859_8_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_9.h b/ext/mbstring/libmbfl/filters/unicode_table_iso8859_9.h deleted file mode 100644 index 12f988ad7a2af..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_iso8859_9.h +++ /dev/null @@ -1,17 +0,0 @@ -/* This file is automatically generated. Do not edit! */ -#ifndef UNICODE_TABLE_ISO8859_9_H -static const int iso8859_9_ucs_table[] = { - 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, - 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, - 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, - 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, - 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, - 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, - 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, - 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, - 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, - 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, - 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, - 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff -}; -#endif /* UNICODE_TABLE_ISO8859_9_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h b/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h deleted file mode 100644 index fc850e5685087..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_koi8r.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The original author of this file: Den V. Tsopa - * - */ - -#ifndef UNICODE_TABLE_KOI8R_H -#define UNICODE_TABLE_KOI8R_H - -/* KOI8-R (RFC1489) to Unicode */ -static const unsigned short koi8r_ucs_table[] = { - 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, - 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, - 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, - 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, - 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, - 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, - 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, - 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, - 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, - 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, - 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, - 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, - 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, - 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, - 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, - 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a -}; -static const int koi8r_ucs_table_min = 0x80; -static const int koi8r_ucs_table_len = (sizeof (koi8r_ucs_table) / sizeof (unsigned short)); -static const int koi8r_ucs_table_max = 0x80 + (sizeof (koi8r_ucs_table) / sizeof (unsigned short)); - - - -#endif /* UNNICODE_TABLE_KOI8R_H */ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h b/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h deleted file mode 100644 index e59c685fe857a..0000000000000 --- a/ext/mbstring/libmbfl/filters/unicode_table_koi8u.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this part: Maksym Veremeyenko - * - */ - -#ifndef UNICODE_TABLE_KOI8U_H -#define UNICODE_TABLE_KOI8U_H - -/* KOI8-U (RFC2319) to Unicode */ -static const unsigned short koi8u_ucs_table[] = { - 0x2500, /* BOX DRAWINGS LIGHT HORIZONTAL */ - 0x2502, /* BOX DRAWINGS LIGHT VERTICAL */ - 0x250C, /* BOX DRAWINGS LIGHT DOWN AND RIGHT */ - 0x2510, /* BOX DRAWINGS LIGHT DOWN AND LEFT */ - 0x2514, /* BOX DRAWINGS LIGHT UP AND RIGHT */ - 0x2518, /* BOX DRAWINGS LIGHT UP AND LEFT */ - 0x251C, /* BOX DRAWINGS LIGHT VERTICAL AND RIGHT */ - 0x2524, /* BOX DRAWINGS LIGHT VERTICAL AND LEFT */ - 0x252C, /* BOX DRAWINGS LIGHT DOWN AND HORIZONTAL */ - 0x2534, /* BOX DRAWINGS LIGHT UP AND HORIZONTAL */ - 0x253C, /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL */ - 0x2580, /* UPPER HALF BLOCK */ - 0x2584, /* LOWER HALF BLOCK */ - 0x2588, /* FULL BLOCK */ - 0x258C, /* LEFT HALF BLOCK */ - 0x2590, /* RIGHT HALF BLOCK */ - 0x2591, /* LIGHT SHADE */ - 0x2592, /* MEDIUM SHADE */ - 0x2593, /* DARK SHADE */ - 0x2320, /* TOP HALF INTEGRAL */ - 0x25A0, /* BLACK SQUARE */ - 0x2219, /* BULLET OPERATOR */ - 0x221A, /* SQUARE ROOT */ - 0x2248, /* ALMOST EQUAL TO */ - 0x2264, /* LESS THAN OR EQUAL TO */ - 0x2265, /* GREATER THAN OR EQUAL TO */ - 0x00A0, /* NO-BREAK SPACE */ - 0x2321, /* BOTTOM HALF INTEGRAL */ - 0x00B0, /* DEGREE SIGN */ - 0x00B2, /* SUPERSCRIPT TWO */ - 0x00B7, /* MIDDLE DOT */ - 0x00F7, /* DIVISION SIGN */ - 0x2550, /* BOX DRAWINGS DOUBLE HORIZONTAL */ - 0x2551, /* BOX DRAWINGS DOUBLE VERTICAL */ - 0x2552, /* BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE */ - 0x0451, /* CYRILLIC SMALL LETTER IO */ - 0x0454, /* CYRILLIC SMALL LETTER UKRAINIAN IE */ - 0x2554, /* BOX DRAWINGS DOUBLE DOWN AND RIGHT */ - 0x0456, /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ - 0x0457, /* CYRILLIC SMALL LETTER YI (UKRAINIAN) */ - 0x2557, /* BOX DRAWINGS DOUBLE DOWN AND LEFT */ - 0x2558, /* BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE */ - 0x2559, /* BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE */ - 0x255A, /* BOX DRAWINGS DOUBLE UP AND RIGHT */ - 0x255B, /* BOX DRAWINGS UP SINGLE AND LEFT DOUBLE */ - 0x0491, /* CYRILLIC SMALL LETTER GHE WITH UPTURN */ - 0x255D, /* BOX DRAWINGS DOUBLE UP AND LEFT */ - 0x255E, /* BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE */ - 0x255F, /* BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE */ - 0x2560, /* BOX DRAWINGS DOUBLE VERTICAL AND RIGHT */ - 0x2561, /* BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE */ - 0x0401, /* CYRILLIC CAPITAL LETTER IO */ - 0x0404, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ - 0x2563, /* BOX DRAWINGS DOUBLE VERTICAL AND LEFT */ - 0x0406, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ - 0x0407, /* CYRILLIC CAPITAL LETTER YI (UKRAINIAN) */ - 0x2566, /* BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL */ - 0x2567, /* BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE */ - 0x2568, /* BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE */ - 0x2569, /* BOX DRAWINGS DOUBLE UP AND HORIZONTAL */ - 0x256A, /* BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE */ - 0x0490, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ - 0x256C, /* BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL */ - 0x00A9, /* COPYRIGHT SIGN */ - 0x044E, /* CYRILLIC SMALL LETTER YU */ - 0x0430, /* CYRILLIC SMALL LETTER A */ - 0x0431, /* CYRILLIC SMALL LETTER BE */ - 0x0446, /* CYRILLIC SMALL LETTER TSE */ - 0x0434, /* CYRILLIC SMALL LETTER DE */ - 0x0435, /* CYRILLIC SMALL LETTER IE */ - 0x0444, /* CYRILLIC SMALL LETTER EF */ - 0x0433, /* CYRILLIC SMALL LETTER GHE */ - 0x0445, /* CYRILLIC SMALL LETTER KHA */ - 0x0438, /* CYRILLIC SMALL LETTER I */ - 0x0439, /* CYRILLIC SMALL LETTER SHORT I */ - 0x043A, /* CYRILLIC SMALL LETTER KA */ - 0x043B, /* CYRILLIC SMALL LETTER EL */ - 0x043C, /* CYRILLIC SMALL LETTER EM */ - 0x043D, /* CYRILLIC SMALL LETTER EN */ - 0x043E, /* CYRILLIC SMALL LETTER O */ - 0x043F, /* CYRILLIC SMALL LETTER PE */ - 0x044F, /* CYRILLIC SMALL LETTER YA */ - 0x0440, /* CYRILLIC SMALL LETTER ER */ - 0x0441, /* CYRILLIC SMALL LETTER ES */ - 0x0442, /* CYRILLIC SMALL LETTER TE */ - 0x0443, /* CYRILLIC SMALL LETTER U */ - 0x0436, /* CYRILLIC SMALL LETTER ZHE */ - 0x0432, /* CYRILLIC SMALL LETTER VE */ - 0x044C, /* CYRILLIC SMALL LETTER SOFT SIGN */ - 0x044B, /* CYRILLIC SMALL LETTER YERU */ - 0x0437, /* CYRILLIC SMALL LETTER ZE */ - 0x0448, /* CYRILLIC SMALL LETTER SHA */ - 0x044D, /* CYRILLIC SMALL LETTER E */ - 0x0449, /* CYRILLIC SMALL LETTER SHCHA */ - 0x0447, /* CYRILLIC SMALL LETTER CHE */ - 0x044A, /* CYRILLIC SMALL LETTER HARD SIGN */ - 0x042E, /* CYRILLIC CAPITAL LETTER YU */ - 0x0410, /* CYRILLIC CAPITAL LETTER A */ - 0x0411, /* CYRILLIC CAPITAL LETTER BE */ - 0x0426, /* CYRILLIC CAPITAL LETTER TSE */ - 0x0414, /* CYRILLIC CAPITAL LETTER DE */ - 0x0415, /* CYRILLIC CAPITAL LETTER IE */ - 0x0424, /* CYRILLIC CAPITAL LETTER EF */ - 0x0413, /* CYRILLIC CAPITAL LETTER GHE */ - 0x0425, /* CYRILLIC CAPITAL LETTER KHA */ - 0x0418, /* CYRILLIC CAPITAL LETTER I */ - 0x0419, /* CYRILLIC CAPITAL LETTER SHORT I */ - 0x041A, /* CYRILLIC CAPITAL LETTER KA */ - 0x041B, /* CYRILLIC CAPITAL LETTER EL */ - 0x041C, /* CYRILLIC CAPITAL LETTER EM */ - 0x041D, /* CYRILLIC CAPITAL LETTER EN */ - 0x041E, /* CYRILLIC CAPITAL LETTER O */ - 0x041F, /* CYRILLIC CAPITAL LETTER PE */ - 0x042F, /* CYRILLIC CAPITAL LETTER YA */ - 0x0420, /* CYRILLIC CAPITAL LETTER ER */ - 0x0421, /* CYRILLIC CAPITAL LETTER ES */ - 0x0422, /* CYRILLIC CAPITAL LETTER TE */ - 0x0423, /* CYRILLIC CAPITAL LETTER U */ - 0x0416, /* CYRILLIC CAPITAL LETTER ZHE */ - 0x0412, /* CYRILLIC CAPITAL LETTER VE */ - 0x042C, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ - 0x042B, /* CYRILLIC CAPITAL LETTER YERU */ - 0x0417, /* CYRILLIC CAPITAL LETTER ZE */ - 0x0428, /* CYRILLIC CAPITAL LETTER SHA */ - 0x042D, /* CYRILLIC CAPITAL LETTER E */ - 0x0429, /* CYRILLIC CAPITAL LETTER SHCHA */ - 0x0427, /* CYRILLIC CAPITAL LETTER CHE */ - 0x042A /* CYRILLIC CAPITAL LETTER HARD SIGN */ -}; -static const int koi8u_ucs_table_min = 0x80; -static const int koi8u_ucs_table_len = (sizeof (koi8u_ucs_table) / sizeof (unsigned short)); -static const int koi8u_ucs_table_max = 0x80 + (sizeof (koi8u_ucs_table) / sizeof (unsigned short)); - - - -#endif /* UNNICODE_TABLE_KOI8U_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 68cb39fa900f9..acdd886d99b8f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -86,11 +86,11 @@ #include "mbfl_filter_output.h" #include "mbfilter_8bit.h" #include "mbfilter_wchar.h" -#include "filters/mbfilter_ascii.h" #include "filters/mbfilter_base64.h" #include "filters/mbfilter_qprint.h" #include "filters/mbfilter_tl_jisx0201_jisx0208.h" #include "filters/mbfilter_utf8.h" +#include "../mbstring_singlebyte.h" #include "eaw_table.h" diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index dd37165ecf17a..0f57310d5e11f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -51,10 +51,6 @@ #define MBFL_WCSPLANE_JIS0208 0x70e10000 /* JIS HEX : 2121h - 7E7Eh */ #define MBFL_WCSPLANE_JIS0212 0x70e20000 /* JIS HEX : 2121h - 7E7Eh */ #define MBFL_WCSPLANE_WINCP932 0x70e30000 /* JIS HEX : 2121h - 9898h */ -#define MBFL_WCSPLANE_8859_3 0x70e60000 /* 00h - FFh */ -#define MBFL_WCSPLANE_8859_6 0x70e90000 /* 00h - FFh */ -#define MBFL_WCSPLANE_8859_7 0x70ea0000 /* 00h - FFh */ -#define MBFL_WCSPLANE_8859_8 0x70eb0000 /* 00h - FFh */ #define MBFL_WCSPLANE_KSC5601 0x70f10000 /* 2121h - 7E7Eh */ #define MBFL_WCSPLANE_GB2312 0x70f20000 /* 2121h - 7E7Eh */ #define MBFL_WCSPLANE_WINCP936 0x70f30000 /* 2121h - 9898h */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 8f2da2329f246..d39ac9b5e09bd 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -35,6 +35,7 @@ #include "mbfilter_pass.h" #include "mbfilter_8bit.h" #include "mbfilter_wchar.h" +#include "../mbstring_singlebyte.h" #include "filters/mbfilter_euc_cn.h" #include "filters/mbfilter_hz.h" @@ -57,29 +58,9 @@ #include "filters/mbfilter_euc_jp_2004.h" #include "filters/mbfilter_euc_jp_win.h" #include "filters/mbfilter_gb18030.h" -#include "filters/mbfilter_ascii.h" -#include "filters/mbfilter_koi8r.h" -#include "filters/mbfilter_koi8u.h" -#include "filters/mbfilter_cp866.h" #include "filters/mbfilter_cp932.h" #include "filters/mbfilter_cp936.h" -#include "filters/mbfilter_cp1251.h" -#include "filters/mbfilter_cp1252.h" -#include "filters/mbfilter_cp1254.h" #include "filters/mbfilter_cp5022x.h" -#include "filters/mbfilter_iso8859_1.h" -#include "filters/mbfilter_iso8859_2.h" -#include "filters/mbfilter_iso8859_3.h" -#include "filters/mbfilter_iso8859_4.h" -#include "filters/mbfilter_iso8859_5.h" -#include "filters/mbfilter_iso8859_6.h" -#include "filters/mbfilter_iso8859_7.h" -#include "filters/mbfilter_iso8859_8.h" -#include "filters/mbfilter_iso8859_9.h" -#include "filters/mbfilter_iso8859_10.h" -#include "filters/mbfilter_iso8859_13.h" -#include "filters/mbfilter_iso8859_14.h" -#include "filters/mbfilter_iso8859_15.h" #include "filters/mbfilter_base64.h" #include "filters/mbfilter_qprint.h" #include "filters/mbfilter_uuencode.h" @@ -95,8 +76,6 @@ #include "filters/mbfilter_ucs4.h" #include "filters/mbfilter_ucs2.h" #include "filters/mbfilter_htmlent.h" -#include "filters/mbfilter_armscii8.h" -#include "filters/mbfilter_cp850.h" /* hex character table "0123456789ABCDEF" */ static char mbfl_hexchar_table[] = { diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index f740f7aec117d..d3a36c8c8a0fb 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -39,6 +39,7 @@ #include "mbfilter_pass.h" #include "mbfilter_8bit.h" #include "mbfilter_wchar.h" +#include "../mbstring_singlebyte.h" #include "filters/mbfilter_euc_cn.h" #include "filters/mbfilter_hz.h" @@ -61,30 +62,9 @@ #include "filters/mbfilter_euc_jp_win.h" #include "filters/mbfilter_euc_jp_2004.h" #include "filters/mbfilter_gb18030.h" -#include "filters/mbfilter_ascii.h" -#include "filters/mbfilter_koi8r.h" -#include "filters/mbfilter_koi8u.h" -#include "filters/mbfilter_cp866.h" #include "filters/mbfilter_cp932.h" #include "filters/mbfilter_cp936.h" -#include "filters/mbfilter_cp1251.h" -#include "filters/mbfilter_cp1252.h" -#include "filters/mbfilter_cp1254.h" #include "filters/mbfilter_cp5022x.h" -#include "filters/mbfilter_iso8859_1.h" -#include "filters/mbfilter_iso8859_2.h" -#include "filters/mbfilter_iso8859_3.h" -#include "filters/mbfilter_iso8859_4.h" -#include "filters/mbfilter_iso8859_5.h" -#include "filters/mbfilter_iso8859_6.h" -#include "filters/mbfilter_iso8859_7.h" -#include "filters/mbfilter_iso8859_8.h" -#include "filters/mbfilter_iso8859_9.h" -#include "filters/mbfilter_iso8859_10.h" -#include "filters/mbfilter_iso8859_13.h" -#include "filters/mbfilter_iso8859_14.h" -#include "filters/mbfilter_iso8859_15.h" -#include "filters/mbfilter_iso8859_16.h" #include "filters/mbfilter_base64.h" #include "filters/mbfilter_qprint.h" #include "filters/mbfilter_uuencode.h" @@ -100,8 +80,6 @@ #include "filters/mbfilter_ucs4.h" #include "filters/mbfilter_ucs2.h" #include "filters/mbfilter_htmlent.h" -#include "filters/mbfilter_armscii8.h" -#include "filters/mbfilter_cp850.h" #ifndef HAVE_STRCASECMP #ifdef HAVE_STRICMP diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 9a08861c601d1..8ae638f885b3a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -34,6 +34,7 @@ #include "mbfilter_pass.h" #include "mbfilter_8bit.h" #include "mbfilter_wchar.h" +#include "../mbstring_singlebyte.h" #include "filters/mbfilter_euc_cn.h" #include "filters/mbfilter_hz.h" @@ -55,32 +56,11 @@ #include "filters/mbfilter_euc_jp_win.h" #include "filters/mbfilter_euc_jp_2004.h" #include "filters/mbfilter_utf8_mobile.h" -#include "filters/mbfilter_ascii.h" -#include "filters/mbfilter_koi8r.h" -#include "filters/mbfilter_koi8u.h" -#include "filters/mbfilter_cp866.h" #include "filters/mbfilter_cp932.h" #include "filters/mbfilter_cp936.h" -#include "filters/mbfilter_cp1251.h" -#include "filters/mbfilter_cp1252.h" -#include "filters/mbfilter_cp1254.h" #include "filters/mbfilter_cp51932.h" #include "filters/mbfilter_cp5022x.h" #include "filters/mbfilter_gb18030.h" -#include "filters/mbfilter_iso8859_1.h" -#include "filters/mbfilter_iso8859_2.h" -#include "filters/mbfilter_iso8859_3.h" -#include "filters/mbfilter_iso8859_4.h" -#include "filters/mbfilter_iso8859_5.h" -#include "filters/mbfilter_iso8859_6.h" -#include "filters/mbfilter_iso8859_7.h" -#include "filters/mbfilter_iso8859_8.h" -#include "filters/mbfilter_iso8859_9.h" -#include "filters/mbfilter_iso8859_10.h" -#include "filters/mbfilter_iso8859_13.h" -#include "filters/mbfilter_iso8859_14.h" -#include "filters/mbfilter_iso8859_15.h" -#include "filters/mbfilter_iso8859_16.h" #include "filters/mbfilter_base64.h" #include "filters/mbfilter_qprint.h" #include "filters/mbfilter_uuencode.h" @@ -95,8 +75,6 @@ #include "filters/mbfilter_ucs4.h" #include "filters/mbfilter_ucs2.h" #include "filters/mbfilter_htmlent.h" -#include "filters/mbfilter_armscii8.h" -#include "filters/mbfilter_cp850.h" static const struct mbfl_identify_vtbl vtbl_identify_false = { mbfl_no_encoding_pass, diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index e27d46250ad4e..a012aa6686918 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -30,11 +30,11 @@ #include "main/php_output.h" #include "ext/standard/info.h" #include "ext/pcre/php_pcre.h" +#include "mbstring_singlebyte.h" #include "libmbfl/mbfl/mbfilter_8bit.h" #include "libmbfl/mbfl/mbfilter_pass.h" #include "libmbfl/mbfl/mbfilter_wchar.h" -#include "libmbfl/filters/mbfilter_ascii.h" #include "libmbfl/filters/mbfilter_base64.h" #include "libmbfl/filters/mbfilter_qprint.h" #include "libmbfl/filters/mbfilter_ucs4.h" diff --git a/ext/mbstring/mbstring_singlebyte.c b/ext/mbstring/mbstring_singlebyte.c new file mode 100644 index 0000000000000..b344dbc614f5e --- /dev/null +++ b/ext/mbstring/mbstring_singlebyte.c @@ -0,0 +1,639 @@ +/* + +----------------------------------------------------------------------+ + | Copyright (c) The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ +*/ + +#include "mbstring_singlebyte.h" +#include "libmbfl/mbfl/mbfl_ident.h" + +#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) + +/* Helper for single-byte encodings which use a conversion table */ +static int mbfl_conv_singlebyte_table(int c, mbfl_convert_filter *filter, int tbl_min, const unsigned short tbl[]) +{ + if (c < tbl_min) { + CK((*filter->output_function)(c, filter->data)); + } else { + int s = tbl[c - tbl_min]; + if (!s) { + s = c | MBFL_WCSGROUP_THROUGH; + } + CK((*filter->output_function)(s, filter->data)); + } + return c; +} + +static int mbfl_conv_reverselookup_table(int c, mbfl_convert_filter *filter, int tbl_min, const unsigned short tbl[]) +{ + if (c < tbl_min) { + CK((*filter->output_function)(c, filter->data)); + } else { + for (int i = 0; i < 256 - tbl_min; i++) { + if (c == tbl[i]) { + CK((*filter->output_function)(i + tbl_min, filter->data)); + return c; + } + } + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static int mbfl_ident_singlebyte_table(int c, mbfl_identify_filter *filter, int tbl_min, const unsigned short tbl[]) +{ + if (c >= tbl_min && !tbl[c - tbl_min]) { + filter->flag = 1; + } + return c; +} + +/* Initialize data structures for a single-byte encoding */ +#define __DEF_SB(id, name, mime_name, aliases, ident_filter) \ + static int mbfl_filt_conv_##id##_wchar(int c, mbfl_convert_filter *filter); \ + static int mbfl_filt_conv_wchar_##id(int c, mbfl_convert_filter *filter); \ + const struct mbfl_identify_vtbl vtbl_identify_##id = { \ + mbfl_no_encoding_##id, \ + mbfl_filt_ident_common_ctor, \ + ident_filter \ + }; \ + static const struct mbfl_convert_vtbl vtbl_##id##_wchar = { \ + mbfl_no_encoding_##id, \ + mbfl_no_encoding_wchar, \ + mbfl_filt_conv_common_ctor, \ + NULL, \ + mbfl_filt_conv_##id##_wchar, \ + mbfl_filt_conv_common_flush, \ + NULL \ + }; \ + static const struct mbfl_convert_vtbl vtbl_wchar_##id = { \ + mbfl_no_encoding_wchar, \ + mbfl_no_encoding_##id, \ + mbfl_filt_conv_common_ctor, \ + NULL, \ + mbfl_filt_conv_wchar_##id, \ + mbfl_filt_conv_common_flush, \ + NULL \ + }; \ + const mbfl_encoding mbfl_encoding_##id = { \ + mbfl_no_encoding_##id, \ + name, \ + mime_name, \ + aliases, \ + NULL, \ + MBFL_ENCTYPE_SBCS, \ + &vtbl_##id##_wchar, \ + &vtbl_wchar_##id \ + } + +#define DEF_SB(id, name, mime_name, aliases) \ + static int mbfl_filt_ident_##id(int c, mbfl_identify_filter *filter); \ + __DEF_SB(id, name, mime_name, aliases, mbfl_filt_ident_##id) + +/* For single-byte encodings in which all 256 single-byte values are valid */ +#define DEF_SB_ALLBYTES(id, name, mime_name, aliases) \ + __DEF_SB(id, name, mime_name, aliases, mbfl_filt_ident_true) + +/* For single-byte encodings which use a conversion table */ +#define DEF_SB_TBL(id, name, mime_name, aliases, tbl_min, tbl) \ + static int mbfl_filt_conv_##id##_wchar(int c, mbfl_convert_filter *filter) { \ + return mbfl_conv_singlebyte_table(c, filter, tbl_min, tbl); \ + } \ + static int mbfl_filt_conv_wchar_##id(int c, mbfl_convert_filter *filter) { \ + return mbfl_conv_reverselookup_table(c, filter, tbl_min, tbl); \ + } \ + static int mbfl_filt_ident_##id(int c, mbfl_identify_filter *filter) { \ + return mbfl_ident_singlebyte_table(c, filter, tbl_min, tbl); \ + } \ + DEF_SB(id, name, mime_name, aliases) + +#define DEF_SB_TBL_ALLBYTES(id, name, mime_name, aliases, tbl_min, tbl) \ + static int mbfl_filt_conv_##id##_wchar(int c, mbfl_convert_filter *filter) { \ + return mbfl_conv_singlebyte_table(c, filter, tbl_min, tbl); \ + } \ + static int mbfl_filt_conv_wchar_##id(int c, mbfl_convert_filter *filter) { \ + return mbfl_conv_reverselookup_table(c, filter, tbl_min, tbl); \ + } \ + DEF_SB_ALLBYTES(id, name, mime_name, aliases) + +/* The grand-daddy of them all: ASCII */ +static const char *ascii_aliases[] = {"ANSI_X3.4-1968", "iso-ir-6", "ANSI_X3.4-1986", "ISO_646.irv:1991", "US-ASCII", "ISO646-US", "us", "IBM367", "IBM-367", "cp367", "csASCII", NULL}; +DEF_SB(ascii, "ASCII", "US-ASCII", ascii_aliases); + +static int mbfl_filt_conv_ascii_wchar(int c, mbfl_convert_filter *filter) +{ + if (c < 0x80) { + CK((*filter->output_function)(c, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static int mbfl_filt_conv_wchar_ascii(int c, mbfl_convert_filter *filter) +{ + if (c < 0x80) { + CK((*filter->output_function)(c, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static int mbfl_filt_ident_ascii(int c, mbfl_identify_filter *filter) +{ + if (c >= 0x80) { + filter->flag = 1; + } + return c; +} + +/* ISO-8859-X */ + +static const char *iso8859_1_aliases[] = {"ISO8859-1", "latin1", NULL}; +DEF_SB_ALLBYTES(8859_1, "ISO-8859-1", "ISO-8859-1", iso8859_1_aliases); + +static int mbfl_filt_conv_8859_1_wchar(int c, mbfl_convert_filter *filter) +{ + return (*filter->output_function)(c, filter->data); +} + +static int mbfl_filt_conv_wchar_8859_1(int c, mbfl_convert_filter *filter) +{ + if (c < 0x100) { + CK((*filter->output_function)(c, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static const char *iso8859_2_aliases[] = {"ISO8859-2", "latin2", NULL}; +static const unsigned short iso8859_2_ucs_table[] = { + 0X00A0, 0X0104, 0X02D8, 0X0141, 0X00A4, 0X013D, 0X015A, 0X00A7, + 0X00A8, 0X0160, 0X015E, 0X0164, 0X0179, 0X00AD, 0X017D, 0X017B, + 0X00B0, 0X0105, 0X02DB, 0X0142, 0X00B4, 0X013E, 0X015B, 0X02C7, + 0X00B8, 0X0161, 0X015F, 0X0165, 0X017A, 0X02DD, 0X017E, 0X017C, + 0X0154, 0X00C1, 0X00C2, 0X0102, 0X00C4, 0X0139, 0X0106, 0X00C7, + 0X010C, 0X00C9, 0X0118, 0X00CB, 0X011A, 0X00CD, 0X00CE, 0X010E, + 0X0110, 0X0143, 0X0147, 0X00D3, 0X00D4, 0X0150, 0X00D6, 0X00D7, + 0X0158, 0X016E, 0X00DA, 0X0170, 0X00DC, 0X00DD, 0X0162, 0X00DF, + 0X0155, 0X00E1, 0X00E2, 0X0103, 0X00E4, 0X013A, 0X0107, 0X00E7, + 0X010D, 0X00E9, 0X0119, 0X00EB, 0X011B, 0X00ED, 0X00EE, 0X010F, + 0X0111, 0X0144, 0X0148, 0X00F3, 0X00F4, 0X0151, 0X00F6, 0X00F7, + 0X0159, 0X016F, 0X00FA, 0X0171, 0X00FC, 0X00FD, 0X0163, 0X02D9 +}; +DEF_SB_TBL_ALLBYTES(8859_2, "ISO-8859-2", "ISO-8859-2", iso8859_2_aliases, 0xA0, iso8859_2_ucs_table); + +static const char *iso8859_3_aliases[] = {"ISO8859-3", "latin3", NULL}; +static const unsigned short iso8859_3_ucs_table[] = { + 0X00A0, 0X0126, 0X02D8, 0X00A3, 0X00A4, 0X0000, 0X0124, 0X00A7, + 0X00A8, 0X0130, 0X015E, 0X011E, 0X0134, 0X00AD, 0X0000, 0X017B, + 0X00B0, 0X0127, 0X00B2, 0X00B3, 0X00B4, 0X00B5, 0X0125, 0X00B7, + 0X00B8, 0X0131, 0X015F, 0X011F, 0X0135, 0X00BD, 0X0000, 0X017C, + 0X00C0, 0X00C1, 0X00C2, 0X0000, 0X00C4, 0X010A, 0X0108, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X0000, 0X00D1, 0X00D2, 0X00D3, 0X00D4, 0X0120, 0X00D6, 0X00D7, + 0X011C, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X016C, 0X015C, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X0000, 0X00E4, 0X010B, 0X0109, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X0000, 0X00F1, 0X00F2, 0X00F3, 0X00F4, 0X0121, 0X00F6, 0X00F7, + 0X011D, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X016D, 0X015D, 0X02D9 +}; +DEF_SB_TBL(8859_3, "ISO-8859-3", "ISO-8859-3", iso8859_3_aliases, 0xA0, iso8859_3_ucs_table); + +static const char *iso8859_4_aliases[] = {"ISO8859-4", "latin4", NULL}; +static const unsigned short iso8859_4_ucs_table[] = { + 0X00A0, 0X0104, 0X0138, 0X0156, 0X00A4, 0X0128, 0X013B, 0X00A7, + 0X00A8, 0X0160, 0X0112, 0X0122, 0X0166, 0X00AD, 0X017D, 0X00AF, + 0X00B0, 0X0105, 0X02DB, 0X0157, 0X00B4, 0X0129, 0X013C, 0X02C7, + 0X00B8, 0X0161, 0X0113, 0X0123, 0X0167, 0X014A, 0X017E, 0X014B, + 0X0100, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X012E, + 0X010C, 0X00C9, 0X0118, 0X00CB, 0X0116, 0X00CD, 0X00CE, 0X012A, + 0X0110, 0X0145, 0X014C, 0X0136, 0X00D4, 0X00D5, 0X00D6, 0X00D7, + 0X00D8, 0X0172, 0X00DA, 0X00DB, 0X00DC, 0X0168, 0X016A, 0X00DF, + 0X0101, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X012F, + 0X010D, 0X00E9, 0X0119, 0X00EB, 0X0117, 0X00ED, 0X00EE, 0X012B, + 0X0111, 0X0146, 0X014D, 0X0137, 0X00F4, 0X00F5, 0X00F6, 0X00F7, + 0X00F8, 0X0173, 0X00FA, 0X00FB, 0X00FC, 0X0169, 0X016B, 0X02D9 +}; +DEF_SB_TBL_ALLBYTES(8859_4, "ISO-8859-4", "ISO-8859-4", iso8859_4_aliases, 0xA0, iso8859_4_ucs_table); + +static const char *iso8859_5_aliases[] = {"ISO8859-5", "cyrillic", NULL}; +static const unsigned short iso8859_5_ucs_table[] = { + 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, + 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f +}; +DEF_SB_TBL_ALLBYTES(8859_5, "ISO-8859-5", "ISO-8859-5", iso8859_5_aliases, 0xA0, iso8859_5_ucs_table); + +static const char *iso8859_6_aliases[] = {"ISO8859-6", "arabic", NULL}; +static const unsigned short iso8859_6_ucs_table[] = { + 0X00A0, 0X0000, 0X0000, 0X0000, 0X00A4, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X060C, 0X00AD, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X061B, 0X0000, 0X0000, 0X0000, 0X061F, + 0X0000, 0X0621, 0X0622, 0X0623, 0X0624, 0X0625, 0X0626, 0X0627, + 0X0628, 0X0629, 0X062A, 0X062B, 0X062C, 0X062D, 0X062E, 0X062F, + 0X0630, 0X0631, 0X0632, 0X0633, 0X0634, 0X0635, 0X0636, 0X0637, + 0X0638, 0X0639, 0X063A, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0640, 0X0641, 0X0642, 0X0643, 0X0644, 0X0645, 0X0646, 0X0647, + 0X0648, 0X0649, 0X064A, 0X064B, 0X064C, 0X064D, 0X064E, 0X064F, + 0X0650, 0X0651, 0X0652, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000 +}; +DEF_SB_TBL(8859_6, "ISO-8859-6", "ISO-8859-6", iso8859_6_aliases, 0xA0, iso8859_6_ucs_table); + +static const char *iso8859_7_aliases[] = {"ISO8859-7", "greek", NULL}; +static const unsigned short iso8859_7_ucs_table[] = { + 0X00A0, 0X2018, 0X2019, 0X00A3, 0X20AC, 0X20AF, 0X00A6, 0X00A7, + 0X00A8, 0X00A9, 0X037A, 0X00AB, 0X00AC, 0X00AD, 0X0000, 0X2015, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X0384, 0X0385, 0X0386, 0X00B7, + 0X0388, 0X0389, 0X038A, 0X00BB, 0X038C, 0X00BD, 0X038E, 0X038F, + 0X0390, 0X0391, 0X0392, 0X0393, 0X0394, 0X0395, 0X0396, 0X0397, + 0X0398, 0X0399, 0X039A, 0X039B, 0X039C, 0X039D, 0X039E, 0X039F, + 0X03A0, 0X03A1, 0X0000, 0X03A3, 0X03A4, 0X03A5, 0X03A6, 0X03A7, + 0X03A8, 0X03A9, 0X03AA, 0X03AB, 0X03AC, 0X03AD, 0X03AE, 0X03AF, + 0X03B0, 0X03B1, 0X03B2, 0X03B3, 0X03B4, 0X03B5, 0X03B6, 0X03B7, + 0X03B8, 0X03B9, 0X03BA, 0X03BB, 0X03BC, 0X03BD, 0X03BE, 0X03BF, + 0X03C0, 0X03C1, 0X03C2, 0X03C3, 0X03C4, 0X03C5, 0X03C6, 0X03C7, + 0X03C8, 0X03C9, 0X03CA, 0X03CB, 0X03CC, 0X03CD, 0X03CE, 0X0000 +}; +DEF_SB_TBL(8859_7, "ISO-8859-7", "ISO-8859-7", iso8859_7_aliases, 0xA0, iso8859_7_ucs_table); + +static const char *iso8859_8_aliases[] = {"ISO8859-8", "hebrew", NULL}; +static const unsigned short iso8859_8_ucs_table[] = { + 0X00A0, 0X0000, 0X00A2, 0X00A3, 0X00A4, 0X00A5, 0X00A6, 0X00A7, + 0X00A8, 0X00A9, 0X00D7, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X00AF, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X00B4, 0X00B5, 0X00B6, 0X00B7, + 0X00B8, 0X00B9, 0X00F7, 0X00BB, 0X00BC, 0X00BD, 0X00BE, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, + 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X0000, 0X2017, + 0X05D0, 0X05D1, 0X05D2, 0X05D3, 0X05D4, 0X05D5, 0X05D6, 0X05D7, + 0X05D8, 0X05D9, 0X05DA, 0X05DB, 0X05DC, 0X05DD, 0X05DE, 0X05DF, + 0X05E0, 0X05E1, 0X05E2, 0X05E3, 0X05E4, 0X05E5, 0X05E6, 0X05E7, + 0X05E8, 0X05E9, 0X05EA, 0X0000, 0X0000, 0X200E, 0X200F, 0X0000 +}; +DEF_SB_TBL(8859_8, "ISO-8859-8", "ISO-8859-8", iso8859_8_aliases, 0xA0, iso8859_8_ucs_table); + +static const char *iso8859_9_aliases[] = {"ISO8859-9", "latin5", NULL}; +static const unsigned short iso8859_9_ucs_table[] = { + 0X00A0, 0X00A1, 0X00A2, 0X00A3, 0X00A4, 0X00A5, 0X00A6, 0X00A7, + 0X00A8, 0X00A9, 0X00AA, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X00AF, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X00B4, 0X00B5, 0X00B6, 0X00B7, + 0X00B8, 0X00B9, 0X00BA, 0X00BB, 0X00BC, 0X00BD, 0X00BE, 0X00BF, + 0X00C0, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X011E, 0X00D1, 0X00D2, 0X00D3, 0X00D4, 0X00D5, 0X00D6, 0X00D7, + 0X00D8, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X0130, 0X015E, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X011F, 0X00F1, 0X00F2, 0X00F3, 0X00F4, 0X00F5, 0X00F6, 0X00F7, + 0X00F8, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X0131, 0X015F, 0X00FF +}; +DEF_SB_TBL_ALLBYTES(8859_9, "ISO-8859-9", "ISO-8859-9", iso8859_9_aliases, 0xA0, iso8859_9_ucs_table); + +static const char *iso8859_10_aliases[] = {"ISO8859-10", "latin6", NULL}; +static const unsigned short iso8859_10_ucs_table[] = { + 0X00A0, 0X0104, 0X0112, 0X0122, 0X012A, 0X0128, 0X0136, 0X00A7, + 0X013B, 0X0110, 0X0160, 0X0166, 0X017D, 0X00AD, 0X016A, 0X014A, + 0X00B0, 0X0105, 0X0113, 0X0123, 0X012B, 0X0129, 0X0137, 0X00B7, + 0X013C, 0X0111, 0X0161, 0X0167, 0X017E, 0X2015, 0X016B, 0X014B, + 0X0100, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X012E, + 0X010C, 0X00C9, 0X0118, 0X00CB, 0X0116, 0X00CD, 0X00CE, 0X00CF, + 0X00D0, 0X0145, 0X014C, 0X00D3, 0X00D4, 0X00D5, 0X00D6, 0X0168, + 0X00D8, 0X0172, 0X00DA, 0X00DB, 0X00DC, 0X00DD, 0X00DE, 0X00DF, + 0X0101, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X012F, + 0X010D, 0X00E9, 0X0119, 0X00EB, 0X0117, 0X00ED, 0X00EE, 0X00EF, + 0X00F0, 0X0146, 0X014D, 0X00F3, 0X00F4, 0X00F5, 0X00F6, 0X0169, + 0X00F8, 0X0173, 0X00FA, 0X00FB, 0X00FC, 0X00FD, 0X00FE, 0X0138 +}; +DEF_SB_TBL_ALLBYTES(8859_10, "ISO-8859-10", "ISO-8859-10", iso8859_10_aliases, 0xA0, iso8859_10_ucs_table); + +static const char *iso8859_13_aliases[] = {"ISO8859-13", NULL}; +static const unsigned short iso8859_13_ucs_table[] = { + 0X00A0, 0X201D, 0X00A2, 0X00A3, 0X00A4, 0X201E, 0X00A6, 0X00A7, + 0X00D8, 0X00A9, 0X0156, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X00C6, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X201C, 0X00B5, 0X00B6, 0X00B7, + 0X00F8, 0X00B9, 0X0157, 0X00BB, 0X00BC, 0X00BD, 0X00BE, 0X00E6, + 0X0104, 0X012E, 0X0100, 0X0106, 0X00C4, 0X00C5, 0X0118, 0X0112, + 0X010C, 0X00C9, 0X0179, 0X0116, 0X0122, 0X0136, 0X012A, 0X013B, + 0X0160, 0X0143, 0X0145, 0X00D3, 0X014C, 0X00D5, 0X00D6, 0X00D7, + 0X0172, 0X0141, 0X015A, 0X016A, 0X00DC, 0X017B, 0X017D, 0X00DF, + 0X0105, 0X012F, 0X0101, 0X0107, 0X00E4, 0X00E5, 0X0119, 0X0113, + 0X010D, 0X00E9, 0X017A, 0X0117, 0X0123, 0X0137, 0X012B, 0X013C, + 0X0161, 0X0144, 0X0146, 0X00F3, 0X014D, 0X00F5, 0X00F6, 0X00F7, + 0X0173, 0X0142, 0X015B, 0X016B, 0X00FC, 0X017C, 0X017E, 0X2019 +}; +DEF_SB_TBL_ALLBYTES(8859_13, "ISO-8859-13", "ISO-8859-13", iso8859_13_aliases, 0xA0, iso8859_13_ucs_table); + +static const char *iso8859_14_aliases[] = {"ISO8859-14", "latin8", NULL}; +static const unsigned short iso8859_14_ucs_table[] = { + 0X00A0, 0X1E02, 0X1E03, 0X00A3, 0X010A, 0X010B, 0X1E0A, 0X00A7, + 0X1E80, 0X00A9, 0X1E82, 0X1E0B, 0X1EF2, 0X00AD, 0X00AE, 0X0178, + 0X1E1E, 0X1E1F, 0X0120, 0X0121, 0X1E40, 0X1E41, 0X00B6, 0X1E56, + 0X1E81, 0X1E57, 0X1E83, 0X1E60, 0X1EF3, 0X1E84, 0X1E85, 0X1E61, + 0X00C0, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X0174, 0X00D1, 0X00D2, 0X00D3, 0X00D4, 0X00D5, 0X00D6, 0X1E6A, + 0X00D8, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X00DD, 0X0176, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X0175, 0X00F1, 0X00F2, 0X00F3, 0X00F4, 0X00F5, 0X00F6, 0X1E6B, + 0X00F8, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X00FD, 0X0177, 0X00FF +}; +DEF_SB_TBL_ALLBYTES(8859_14, "ISO-8859-14", "ISO-8859-14", iso8859_14_aliases, 0xA0, iso8859_14_ucs_table); + +static const char *iso8859_15_aliases[] = {"ISO8859-15", NULL}; +static const unsigned short iso8859_15_ucs_table[] = { + 0X00A0, 0X00A1, 0X00A2, 0X00A3, 0X20AC, 0X00A5, 0X0160, 0X00A7, + 0X0161, 0X00A9, 0X00AA, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X00AF, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X017D, 0X00B5, 0X00B6, 0X00B7, + 0X017E, 0X00B9, 0X00BA, 0X00BB, 0X0152, 0X0153, 0X0178, 0X00BF, + 0X00C0, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X00D0, 0X00D1, 0X00D2, 0X00D3, 0X00D4, 0X00D5, 0X00D6, 0X00D7, + 0X00D8, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X00DD, 0X00DE, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X00F0, 0X00F1, 0X00F2, 0X00F3, 0X00F4, 0X00F5, 0X00F6, 0X00F7, + 0X00F8, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X00FD, 0X00FE, 0X00FF +}; +DEF_SB_TBL_ALLBYTES(8859_15, "ISO-8859-15", "ISO-8859-15", iso8859_15_aliases, 0xA0, iso8859_15_ucs_table); + +static const char *iso8859_16_aliases[] = {"ISO8859-16", NULL}; +static const unsigned short iso8859_16_ucs_table[] = { + 0X00A0, 0X0104, 0X0105, 0X0141, 0X20AC, 0X201E, 0X0160, 0X00A7, + 0X0161, 0X00A9, 0X0218, 0X00AB, 0X0179, 0X00AD, 0X017A, 0X017B, + 0X00B0, 0X00B1, 0X010C, 0X0142, 0X017D, 0X201D, 0X00B6, 0X00B7, + 0X017E, 0X010D, 0X0219, 0X00BB, 0X0152, 0X0153, 0X0178, 0X017C, + 0X00C0, 0X00C1, 0X00C2, 0X0102, 0X00C4, 0X0106, 0X00C6, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X0110, 0X0143, 0X00D2, 0X00D3, 0X00D4, 0X0150, 0X00D6, 0X015A, + 0X0170, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X0118, 0X021A, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X0103, 0X00E4, 0X0107, 0X00E6, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X0111, 0X0144, 0X00F2, 0X00F3, 0X00F4, 0X0151, 0X00F6, 0X015B, + 0X0171, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X0119, 0X021B, 0X00FF +}; +DEF_SB_TBL_ALLBYTES(8859_16, "ISO-8859-16", "ISO-8859-16", iso8859_16_aliases, 0xA0, iso8859_16_ucs_table); + +static const char *cp1251_aliases[] = {"CP1251", "CP-1251", "WINDOWS-1251", NULL}; +static const unsigned short cp1251_ucs_table[] = { + 0X0402, 0X0403, 0X201A, 0X0453, 0X201E, 0X2026, 0X2020, 0X2021, + 0X20AC, 0X2030, 0X0409, 0X2039, 0X040A, 0X040C, 0X040B, 0X040F, + 0X0452, 0X2018, 0X2019, 0X201C, 0X201D, 0X2022, 0X2013, 0X2014, + 0X0000, 0X2122, 0X0459, 0X203A, 0X045A, 0X045C, 0X045B, 0X045F, + 0X00A0, 0X040E, 0X045E, 0X0408, 0X00A4, 0X0490, 0X00A6, 0X00A7, + 0X0401, 0X00A9, 0X0404, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X0407, + 0X00B0, 0X00B1, 0X0406, 0X0456, 0X0491, 0X00B5, 0X00B6, 0X00B7, + 0X0451, 0X2116, 0X0454, 0X00BB, 0X0458, 0X0405, 0X0455, 0X0457, + 0X0410, 0X0411, 0X0412, 0X0413, 0X0414, 0X0415, 0X0416, 0X0417, + 0X0418, 0X0419, 0X041A, 0X041B, 0X041C, 0X041D, 0X041E, 0X041F, + 0X0420, 0X0421, 0X0422, 0X0423, 0X0424, 0X0425, 0X0426, 0X0427, + 0X0428, 0X0429, 0X042A, 0X042B, 0X042C, 0X042D, 0X042E, 0X042F, + 0X0430, 0X0431, 0X0432, 0X0433, 0X0434, 0X0435, 0X0436, 0X0437, + 0X0438, 0X0439, 0X043A, 0X043B, 0X043C, 0X043D, 0X043E, 0X043F, + 0X0440, 0X0441, 0X0442, 0X0443, 0X0444, 0X0445, 0X0446, 0X0447, + 0X0448, 0X0449, 0X044A, 0X044B, 0X044C, 0X044D, 0X044E, 0X044F +}; +DEF_SB_TBL(cp1251, "Windows-1251", "Windows-1251", cp1251_aliases, 0x80, cp1251_ucs_table); + +static const char *cp1252_aliases[] = {"cp1252", NULL}; +static const unsigned short cp1252_ucs_table[] = { + 0X20AC,0X0000,0X201A,0X0192,0X201E,0X2026,0X2020,0X2021, + 0X02C6,0X2030,0X0160,0X2039,0X0152,0X0000,0X017D,0X0000, + 0X0000,0X2018,0X2019,0X201C,0X201D,0X2022,0X2013,0X2014, + 0X02DC,0X2122,0X0161,0X203A,0X0153,0X0000,0X017E,0X0178 +}; +DEF_SB(cp1252, "Windows-1252", "Windows-1252", cp1252_aliases); + +static int mbfl_filt_conv_wchar_cp1252(int c, mbfl_convert_filter *filter) +{ + if (c >= 0x100) { + for (int n = 0; n < 32; n++) { + if (c == cp1252_ucs_table[n]) { + CK((*filter->output_function)(0x80 + n, filter->data)); + return c; + } + } + CK(mbfl_filt_conv_illegal_output(c, filter)); + } else if (c <= 0x7F || c >= 0xA0) { + CK((*filter->output_function)(c, filter->data)); + } else { + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static int mbfl_filt_conv_cp1252_wchar(int c, mbfl_convert_filter *filter) +{ + int s; + + if (c >= 0x80 && c < 0xA0) { + s = cp1252_ucs_table[c - 0x80]; + if (!s) { + s = c | MBFL_WCSGROUP_THROUGH; + } + } else { + s = c; + } + + CK((*filter->output_function)(s, filter->data)); + return c; +} + +static int mbfl_filt_ident_cp1252(int c, mbfl_identify_filter *filter) +{ + if (c >= 0x80 && c < 0xA0 && !cp1252_ucs_table[c - 0x80]) { + filter->flag = 1; + } + return c; +} + +static const char *cp1254_aliases[] = {"CP1254", "CP-1254", "WINDOWS-1254", NULL}; +static const unsigned short cp1254_ucs_table[] = { + 0X20AC, 0X0000, 0X201A, 0X0192, 0X201E, 0X2026, 0X2020, 0X2021, + 0X02C6, 0X2030, 0X0160, 0X2039, 0X0152, 0X0000, 0X0000, 0X0000, + 0X0000, 0X2018, 0X2019, 0X201C, 0X201D, 0X2022, 0X2013, 0X2014, + 0X02DC, 0X2122, 0X0161, 0X203A, 0X0153, 0X0000, 0X0000, 0X0178, + 0X00A0, 0X00A1, 0X00A2, 0X00A3, 0X00A4, 0X00A5, 0X00A6, 0X00A7, + 0X00A8, 0X00A9, 0X00AA, 0X00AB, 0X00AC, 0X00AD, 0X00AE, 0X00AF, + 0X00B0, 0X00B1, 0X00B2, 0X00B3, 0X00B4, 0X00B5, 0X00B6, 0X00B7, + 0X00B8, 0X00B9, 0X00BA, 0X00BB, 0X00BC, 0X00BD, 0X00BE, 0X00BF, + 0X00C0, 0X00C1, 0X00C2, 0X00C3, 0X00C4, 0X00C5, 0X00C6, 0X00C7, + 0X00C8, 0X00C9, 0X00CA, 0X00CB, 0X00CC, 0X00CD, 0X00CE, 0X00CF, + 0X011E, 0X00D1, 0X00D2, 0X00D3, 0X00D4, 0X00D5, 0X00D6, 0X00D7, + 0X00D8, 0X00D9, 0X00DA, 0X00DB, 0X00DC, 0X0130, 0X015E, 0X00DF, + 0X00E0, 0X00E1, 0X00E2, 0X00E3, 0X00E4, 0X00E5, 0X00E6, 0X00E7, + 0X00E8, 0X00E9, 0X00EA, 0X00EB, 0X00EC, 0X00ED, 0X00EE, 0X00EF, + 0X011F, 0X00F1, 0X00F2, 0X00F3, 0X00F4, 0X00F5, 0X00F6, 0X00F7, + 0X00F8, 0X00F9, 0X00FA, 0X00FB, 0X00FC, 0X0131, 0X015F, 0X00FF +}; +DEF_SB_TBL(cp1254, "Windows-1254", "Windows-1254", cp1254_aliases, 0x80, cp1254_ucs_table); + +static const char *cp866_aliases[] = {"CP-866", "IBM866", "IBM-866", NULL}; +static const unsigned short cp866_ucs_table[] = { + 0X0410, 0X0411, 0X0412, 0X0413, 0X0414, 0X0415, 0X0416, 0X0417, + 0X0418, 0X0419, 0X041A, 0X041B, 0X041C, 0X041D, 0X041E, 0X041F, + 0X0420, 0X0421, 0X0422, 0X0423, 0X0424, 0X0425, 0X0426, 0X0427, + 0X0428, 0X0429, 0X042A, 0X042B, 0X042C, 0X042D, 0X042E, 0X042F, + 0X0430, 0X0431, 0X0432, 0X0433, 0X0434, 0X0435, 0X0436, 0X0437, + 0X0438, 0X0439, 0X043A, 0X043B, 0X043C, 0X043D, 0X043E, 0X043F, + 0X2591, 0X2592, 0X2593, 0X2502, 0X2524, 0X2561, 0X2562, 0X2556, + 0X2555, 0X2563, 0X2551, 0X2557, 0X255D, 0X255C, 0X255B, 0X2510, + 0X2514, 0X2534, 0X252C, 0X251C, 0X2500, 0X253C, 0X255E, 0X255F, + 0X255A, 0X2554, 0X2569, 0X2566, 0X2560, 0X2550, 0X256C, 0X2567, + 0X2568, 0X2564, 0X2565, 0X2559, 0X2558, 0X2552, 0X2553, 0X256B, + 0X256A, 0X2518, 0X250C, 0X2588, 0X2584, 0X258C, 0X2590, 0X2580, + 0X0440, 0X0441, 0X0442, 0X0443, 0X0444, 0X0445, 0X0446, 0X0447, + 0X0448, 0X0449, 0X044A, 0X044B, 0X044C, 0X044D, 0X044E, 0X044F, + 0X0401, 0X0451, 0X0404, 0X0454, 0X0407, 0X0457, 0X040E, 0X045E, + 0X00B0, 0X2219, 0X00B7, 0X221A, 0X2116, 0X00A4, 0X25A0, 0X00A0 +}; +DEF_SB_TBL_ALLBYTES(cp866, "CP866", "CP866", cp866_aliases, 0x80, cp866_ucs_table); + +static const char *cp850_aliases[] = {"CP-850", "IBM850", "IBM-850", NULL}; +static const unsigned short cp850_ucs_table[] = { + 0X00C7, 0X00FC, 0X00E9, 0X00E2, 0X00E4, 0X00E0, 0X00E5, 0X00E7, + 0X00EA, 0X00EB, 0X00E8, 0X00EF, 0X00EE, 0X00EC, 0X00C4, 0X00C5, + 0X00C9, 0X00E6, 0X00C6, 0X00F4, 0X00F6, 0X00F2, 0X00FB, 0X00F9, + 0X00FF, 0X00D6, 0X00DC, 0X00F8, 0X00A3, 0X00D8, 0X00D7, 0X0192, + 0X00E1, 0X00ED, 0X00F3, 0X00FA, 0X00F1, 0X00D1, 0X00AA, 0X00BA, + 0X00BF, 0X00AE, 0X00AC, 0X00BD, 0X00BC, 0X00A1, 0X00AB, 0X00BB, + 0X2591, 0X2592, 0X2593, 0X2502, 0X2524, 0X00C1, 0X00C2, 0X00C0, + 0X00A9, 0X2563, 0X2551, 0X2557, 0X255D, 0X00A2, 0X00A5, 0X2510, + 0X2514, 0X2534, 0X252C, 0X251C, 0X2500, 0X253C, 0X00E3, 0X00C3, + 0X255A, 0X2554, 0X2569, 0X2566, 0X2560, 0X2550, 0X256C, 0X00A4, + 0X00F0, 0X00D0, 0X00CA, 0X00CB, 0X00C8, 0X0131, 0X00CD, 0X00CE, + 0X00CF, 0X2518, 0X250C, 0X2588, 0X2584, 0X00A6, 0X00CC, 0X2580, + 0X00D3, 0X00DF, 0X00D4, 0X00D2, 0X00F5, 0X00D5, 0X00B5, 0X00FE, + 0X00DE, 0X00DA, 0X00DB, 0X00D9, 0X00FD, 0X00DD, 0X00AF, 0X00B4, + 0X00AD, 0X00B1, 0X2017, 0X00BE, 0X00B6, 0X00A7, 0X00F7, 0X00B8, + 0X00B0, 0X00A8, 0X00B7, 0X00B9, 0X00B3, 0X00B2, 0X25A0, 0X00A0 +}; +DEF_SB_TBL_ALLBYTES(cp850, "CP850", "CP850", cp850_aliases, 0x80, cp850_ucs_table); + +static const char *koi8r_aliases[] = {"KOI8R", NULL}; +static const unsigned short koi8r_ucs_table[] = { + 0X2500, 0X2502, 0X250C, 0X2510, 0X2514, 0X2518, 0X251C, 0X2524, + 0X252C, 0X2534, 0X253C, 0X2580, 0X2584, 0X2588, 0X258C, 0X2590, + 0X2591, 0X2592, 0X2593, 0X2320, 0X25A0, 0X2219, 0X221A, 0X2248, + 0X2264, 0X2265, 0X00A0, 0X2321, 0X00B0, 0X00B2, 0X00B7, 0X00F7, + 0X2550, 0X2551, 0X2552, 0X0451, 0X2553, 0X2554, 0X2555, 0X2556, + 0X2557, 0X2558, 0X2559, 0X255A, 0X255B, 0X255C, 0X255D, 0X255E, + 0X255F, 0X2560, 0X2561, 0X0401, 0X2562, 0X2563, 0X2564, 0X2565, + 0X2566, 0X2567, 0X2568, 0X2569, 0X256A, 0X256B, 0X256C, 0X00A9, + 0X044E, 0X0430, 0X0431, 0X0446, 0X0434, 0X0435, 0X0444, 0X0433, + 0X0445, 0X0438, 0X0439, 0X043A, 0X043B, 0X043C, 0X043D, 0X043E, + 0X043F, 0X044F, 0X0440, 0X0441, 0X0442, 0X0443, 0X0436, 0X0432, + 0X044C, 0X044B, 0X0437, 0X0448, 0X044D, 0X0449, 0X0447, 0X044A, + 0X042E, 0X0410, 0X0411, 0X0426, 0X0414, 0X0415, 0X0424, 0X0413, + 0X0425, 0X0418, 0X0419, 0X041A, 0X041B, 0X041C, 0X041D, 0X041E, + 0X041F, 0X042F, 0X0420, 0X0421, 0X0422, 0X0423, 0X0416, 0X0412, + 0X042C, 0X042B, 0X0417, 0X0428, 0X042D, 0X0429, 0X0427, 0X042A +}; +DEF_SB_TBL_ALLBYTES(koi8r, "KOI8-R", "KOI8-R", koi8r_aliases, 0x80, koi8r_ucs_table); + +static const char *koi8u_aliases[] = {"KOI8U", NULL}; +static const unsigned short koi8u_ucs_table[] = { + 0x2500, 0x2502, 0x250C, 0x2510, 0x2514, 0x2518, 0x251C, 0x2524, + 0x252C, 0x2534, 0x253C, 0x2580, 0x2584, 0x2588, 0x258C, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25A0, 0x2219, 0x221A, 0x2248, + 0x2264, 0x2265, 0x00A0, 0x2321, 0x00B0, 0x00B2, 0x00B7, 0x00F7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x0491, 0x255D, 0x255E, + 0x255F, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x0490, 0x256C, 0x00A9, + 0x044E, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, + 0x043F, 0x044F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044C, 0x044B, 0x0437, 0x0448, 0x044D, 0x0449, 0x0447, 0x044A, + 0x042E, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, + 0x041F, 0x042F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A +}; +DEF_SB_TBL_ALLBYTES(koi8u, "KOI8-U", "KOI8-U", koi8u_aliases, 0x80, koi8u_ucs_table); + +static const char *armscii8_aliases[] = {"ArmSCII8", "ARMSCII-8", "ARMSCII8", NULL}; +static const unsigned short armscii8_ucs_table[] = { + 0X00A0, 0X0000, 0X0587, 0X0589, 0X0029, 0X0028, 0X00BB, 0X00AB, + 0X2014, 0X002E, 0X055D, 0X002C, 0X002D, 0X058A, 0X2026, 0X055C, + 0X055B, 0X055E, 0X0531, 0X0561, 0X0532, 0X0562, 0X0533, 0X0563, + 0X0534, 0X0564, 0X0535, 0X0565, 0X0536, 0X0566, 0X0537, 0X0567, + 0X0538, 0X0568, 0X0539, 0X0569, 0X053A, 0X056A, 0X053B, 0X056B, + 0X053C, 0X056C, 0X053D, 0X056D, 0X053E, 0X056E, 0X053F, 0X056F, + 0X0540, 0X0570, 0X0541, 0X0571, 0X0542, 0X0572, 0X0543, 0X0573, + 0X0544, 0X0574, 0X0545, 0X0575, 0X0546, 0X0576, 0X0547, 0X0577, + 0X0548, 0X0578, 0X0549, 0X0579, 0X054A, 0X057A, 0X054B, 0X057B, + 0X054C, 0X057C, 0X054D, 0X057D, 0X054E, 0X057E, 0X054F, 0X057F, + 0X0550, 0X0580, 0X0551, 0X0581, 0X0552, 0X0582, 0X0553, 0X0583, + 0X0554, 0X0584, 0X0555, 0X0585, 0X0556, 0X0586, 0X055A, 0X0000 +}; +static const unsigned char ucs_armscii8_table[] = { + 0XA5, 0XA4, 0X2A, 0X2B, 0XAB, 0XAC, 0XA9, 0X2F +}; +DEF_SB(armscii8, "ArmSCII-8", "ArmSCII-8", armscii8_aliases); + +int mbfl_filt_conv_armscii8_wchar(int c, mbfl_convert_filter *filter) +{ + int s; + + if (c < 0xA0) { + s = c; + } else { + s = armscii8_ucs_table[c - 0xA0]; + if (!s) { + s = c | MBFL_WCSGROUP_THROUGH; + } + } + + CK((*filter->output_function)(s, filter->data)); + return c; +} + +int mbfl_filt_conv_wchar_armscii8(int c, mbfl_convert_filter *filter) +{ + if (c >= 0x28 && c <= 0x2F) { + CK((*filter->output_function)(ucs_armscii8_table[c - 0x28], filter->data)); + } else if (c < 0xA0) { + CK((*filter->output_function)(c, filter->data)); + } else { + for (int n = 0; n < 0x60; n++) { + if (c == armscii8_ucs_table[n]) { + CK((*filter->output_function)(0xA0 + n, filter->data)); + return c; + } + } + CK(mbfl_filt_conv_illegal_output(c, filter)); + } + return c; +} + +static int mbfl_filt_ident_armscii8(int c, mbfl_identify_filter *filter) +{ + if (c >= 0xA0 && !armscii8_ucs_table[c - 0xA0]) { + filter->flag = 1; + } + return c; +} diff --git a/ext/mbstring/mbstring_singlebyte.h b/ext/mbstring/mbstring_singlebyte.h new file mode 100644 index 0000000000000..33a5453811c59 --- /dev/null +++ b/ext/mbstring/mbstring_singlebyte.h @@ -0,0 +1,70 @@ +/* + +----------------------------------------------------------------------+ + | Copyright (c) The PHP Group | + +----------------------------------------------------------------------+ + | This source file is subject to version 3.01 of the PHP license, | + | that is bundled with this package in the file LICENSE, and is | + | available through the world-wide-web at the following url: | + | http://www.php.net/license/3_01.txt | + | If you did not receive a copy of the PHP license and are unable to | + | obtain it through the world-wide-web, please send a note to | + | license@php.net so we can mail you a copy immediately. | + +----------------------------------------------------------------------+ +*/ + +#ifndef MBFL_SINGLEBYTE_H +#define MBFL_SINGLEBYTE_H + +#include "mbfilter.h" + +extern const mbfl_encoding mbfl_encoding_ascii; +extern const struct mbfl_identify_vtbl vtbl_identify_ascii; + +extern const mbfl_encoding mbfl_encoding_8859_1; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_1; +extern const mbfl_encoding mbfl_encoding_8859_2; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_2; +extern const mbfl_encoding mbfl_encoding_8859_3; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_3; +extern const mbfl_encoding mbfl_encoding_8859_4; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_4; +extern const mbfl_encoding mbfl_encoding_8859_5; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_5; +extern const mbfl_encoding mbfl_encoding_8859_6; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_6; +extern const mbfl_encoding mbfl_encoding_8859_7; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_7; +extern const mbfl_encoding mbfl_encoding_8859_8; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_8; +extern const mbfl_encoding mbfl_encoding_8859_9; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_9; +extern const mbfl_encoding mbfl_encoding_8859_10; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_10; +extern const mbfl_encoding mbfl_encoding_8859_13; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_13; +extern const mbfl_encoding mbfl_encoding_8859_14; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_14; +extern const mbfl_encoding mbfl_encoding_8859_15; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_15; +extern const mbfl_encoding mbfl_encoding_8859_16; +extern const struct mbfl_identify_vtbl vtbl_identify_8859_16; + +extern const mbfl_encoding mbfl_encoding_cp1251; +extern const struct mbfl_identify_vtbl vtbl_identify_cp1251; +extern const mbfl_encoding mbfl_encoding_cp1252; +extern const struct mbfl_identify_vtbl vtbl_identify_cp1252; +extern const mbfl_encoding mbfl_encoding_cp1254; +extern const struct mbfl_identify_vtbl vtbl_identify_cp1254; +extern const mbfl_encoding mbfl_encoding_cp866; +extern const struct mbfl_identify_vtbl vtbl_identify_cp866; +extern const mbfl_encoding mbfl_encoding_cp850; +extern const struct mbfl_identify_vtbl vtbl_identify_cp850; + +extern const mbfl_encoding mbfl_encoding_koi8r; +extern const struct mbfl_identify_vtbl vtbl_identify_koi8r; +extern const mbfl_encoding mbfl_encoding_koi8u; +extern const struct mbfl_identify_vtbl vtbl_identify_koi8u; +extern const mbfl_encoding mbfl_encoding_armscii8; +extern const struct mbfl_identify_vtbl vtbl_identify_armscii8; + +#endif /* MBFL_SINGLEBYTE_H */ From f6e834fb5060b2bf7556fe67b7817a816647ac8d Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 27 Sep 2020 20:43:55 +0200 Subject: [PATCH 016/123] Fix identify filter for UTF-7 mb_check_encoding would wrongly reject any UTF-7 string which ends within a Base64-encoded section. However, I cannot see anything in RFC 2152 (which defines UTF-7) which states or even suggests that a valid UTF-7 string must end in ASCII mode. Incidentally, this is different from mUTF-7 (for IMAP); the specification for that encoding explicitly states that all valid UTF7-IMAP strings must end in ASCII mode. Further, we need to ensure that the UTF-16BE text which has been Base64 encoded is valid, and if it does not fill a whole number of Base64 bytes, the extra bits at the end (i.e. padding) should be zeroes. --- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 164 ++++++++++++++----- 1 file changed, 126 insertions(+), 38 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index ed931a8b1f4f9..740e4065be505 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -410,50 +410,138 @@ int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) return 0; } -static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter) -{ - int n; +static int mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter); + +int (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { + mbfl_filt_ident_utf7_base64, + mbfl_filt_ident_utf7_base64_2, + mbfl_filt_ident_utf7_base64_4, + mbfl_filt_ident_utf7_base64_6, + mbfl_filt_ident_utf7_base64_8, + mbfl_filt_ident_utf7_base64_10, + mbfl_filt_ident_utf7_base64_12, + mbfl_filt_ident_utf7_base64_14 +}; - switch (filter->status) { - /* directly encoded characters */ - case 0: - if (c == 0x2b) { /* '+' shift character */ - filter->status++; - } else if (c == 0x5c || c == 0x7e || c < 0 || c > 0x7f) { /* illegal character */ - filter->flag = 1; /* bad */ - } - break; +static unsigned int decode_base64_char(unsigned char c) +{ + if (c >= 'A' && c <= 'Z') { + return c - 65; + } else if (c >= 'a' && c <= 'z') { + return c - 71; + } else if (c >= '0' && c <= '9') { + return c + 4; + } else if (c == '+') { + return 62; + } else if (c == '/') { + return 63; + } + return -1; +} - /* Modified Base64 */ - case 1: - case 2: - n = 0; - if (c >= 0x41 && c <= 0x5a) { /* A - Z */ - n = 1; - } else if (c >= 0x61 && c <= 0x7a) { /* a - z */ - n = 1; - } else if (c >= 0x30 && c <= 0x39) { /* 0 - 9 */ - n = 1; - } else if (c == 0x2b) { /* '+' */ - n = 1; - } else if (c == 0x2f) { /* '/' */ - n = 1; +static int identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter *filter) +{ + /* Cached bits are in low 2 bytes of `filter->status` + * If expecting the 2nd part of a UTF-16BE surrogate pair, bit 17 is set */ + int cache, surr; + + if (c == '\\' || c == '~' || c > 0x7F) { + filter->flag = 1; + } else if (c == '-' || ((c < 'A' || c > 'Z') && (c < 'a' || c > 'z') && (c < '0' || c > '9') && c != '+' && c != '/')) { + cache = filter->status & 0xFFFF; + surr = filter->status & 0x10000; + if (surr) { + /* Error; the 2nd part of a surrogate pair was missing */ + filter->flag = 1; + } else if (cache & ((1 << bits) - 1)) { + /* Error; padding was bad */ + filter->flag = 1; } - if (n <= 0) { - if (filter->status == 1 && c != 0x2d) { - filter->flag = 1; /* bad */ - } else if (c < 0 || c > 0x7f) { - filter->flag = 1; /* bad */ + filter->status = 0; + filter->filter_function = mbfl_filt_ident_utf7; + } else { + cache = ((filter->status & 0xFFFF) << 6) | decode_base64_char(c); + surr = filter->status & 0x10000; + bits += 6; + if (bits >= 16) { + unsigned short codeunit = cache >> (bits - 16); + bits -= 16; + cache &= ((1 << bits) - 1); + if (surr) { + if ((codeunit & 0xFC00) != 0xDC00) { + /* Error; the 2nd part of a surrogate pair was missing */ + filter->flag = 1; + } + if ((codeunit & 0xFC00) != 0xD800) { + surr = 0; + } + } else if ((codeunit & 0xFC00) == 0xD800) { + surr = 0x10000; + } else if ((codeunit & 0xFC00) == 0xDC00) { + /* Error; 2nd part of a surrogate pair appeared when not expected */ + filter->flag = 1; } - filter->status = 0; - } else { - filter->status = 2; } - break; - default: - filter->status = 0; - break; + filter->status = surr | cache; + filter->filter_function = filt_ident_utf7_functions[bits / 2]; + } + return c; +} + +static int mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 0, filter); +} + +static int mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 2, filter); +} + +static int mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 4, filter); +} + +static int mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 6, filter); +} + +static int mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 8, filter); +} + +static int mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 10, filter); +} + +static int mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 12, filter); +} + +static int mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter) +{ + return identify_utf7_base64(c, 14, filter); +} + +static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter) +{ + if (c == '+') { /* '+' shift character */ + filter->filter_function = mbfl_filt_ident_utf7_base64; + } else if (c == '\\' || c == '~' || c > 0x7F) { /* illegal character */ + filter->flag = 1; /* bad */ } return c; From 02fc58ea2a1a9d91be0af760b3f4ce4ca83c0175 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 5 Sep 2020 17:14:25 +0200 Subject: [PATCH 017/123] Minor code cleanup in mbfilter_utf7.c --- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 127 ++++++++----------- 1 file changed, 52 insertions(+), 75 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 740e4065be505..b782a5b21a6c2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -84,43 +84,43 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf7 = { NULL, }; - #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -/* - * UTF-7 => wchar - */ -int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) +static unsigned int decode_base64_char(unsigned char c) { - int s, n; + if (c >= 'A' && c <= 'Z') { + return c - 65; + } else if (c >= 'a' && c <= 'z') { + return c - 71; + } else if (c >= '0' && c <= '9') { + return c + 4; + } else if (c == '+') { + return 62; + } else if (c == '/') { + return 63; + } + return -1; +} - n = -1; - if (filter->status != 0) { /* Modified Base64 */ - if (c >= 0x41 && c <= 0x5a) { /* A - Z */ - n = c - 65; - } else if (c >= 0x61 && c <= 0x7a) { /* a - z */ - n = c - 71; - } else if (c >= 0x30 && c <= 0x39) { /* 0 - 9 */ - n = c + 4; - } else if (c == 0x2b) { /* '+' */ - n = 62; - } else if (c == 0x2f) { /* '/' */ - n = 63; - } - if (n < 0 || n > 63) { - if (c == 0x2d) { - if (filter->status == 1) { /* "+-" -> "+" */ - CK((*filter->output_function)(0x2b, filter->data)); +int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) +{ + int s, n = -1; + + if (filter->status) { /* Modified Base64 */ + n = decode_base64_char(c); + if (n < 0) { + if (c == '-') { + if (filter->status == 1) { /* "+-" -> "+" */ + CK((*filter->output_function)('+', filter->data)); } - } else if (c >= 0 && c < 0x80) { /* ASCII exclude '-' */ + } else if (c >= 0 && c < 0x80) { /* ASCII exclude '-' */ CK((*filter->output_function)(c, filter->data)); - } else { /* illegal character */ + } else { /* illegal character */ s = c & MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; CK((*filter->output_function)(s, filter->data)); } - filter->cache = 0; - filter->status = 0; + filter->cache = filter->status = 0; return c; } } @@ -128,14 +128,12 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) switch (filter->status) { /* directly encoded characters */ case 0: - if (c == 0x2b) { /* '+' shift character */ + if (c == '+') { /* '+' shift character */ filter->status = 1; - } else if (c >= 0 && c < 0x80) { /* ASCII */ + } else if (c >= 0 && c < 0x80) { /* ASCII */ CK((*filter->output_function)(c, filter->data)); - } else { /* illegal character */ - s = c & MBFL_WCSGROUP_MASK; - s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + } else { /* illegal character */ + CK((*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data)); } break; @@ -194,7 +192,7 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) filter->cache = n; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { CK((*filter->output_function)(s, filter->data)); - } else { /* illegal character */ + } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; CK((*filter->output_function)(s, filter->data)); @@ -245,9 +243,9 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) */ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) { - int s, n; + int s; - n = 0; + int n = 0; if (c >= 0 && c < 0x80) { /* ASCII */ if (c >= 0x41 && c <= 0x5a) { /* A - Z */ n = 1; @@ -287,10 +285,8 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) } else if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { ; } else if (c >= MBFL_WCSPLANE_SUPMIN && c < MBFL_WCSPLANE_SUPMAX) { - s = ((c >> 10) - 0x40) | 0xd800; - CK((*filter->filter_function)(s, filter)); - s = (c & 0x3ff) | 0xdc00; - CK((*filter->filter_function)(s, filter)); + CK((*filter->filter_function)(((c >> 10) - 0x40) | 0xd800, filter)); + CK((*filter->filter_function)((c & 0x3ff) | 0xdc00, filter)); return c; } else { CK(mbfl_filt_conv_illegal_output(c, filter)); @@ -299,11 +295,11 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) switch (filter->status) { case 0: - if (n != 0) { /* directly encode characters */ + if (n != 0) { /* directly encode characters */ CK((*filter->output_function)(c, filter->data)); - } else { /* Modified Base64 */ - CK((*filter->output_function)(0x2b, filter->data)); /* '+' */ - filter->status++; + } else { /* Modified Base64 */ + CK((*filter->output_function)('+', filter->data)); + filter->status = 1; filter->cache = c; } break; @@ -316,12 +312,12 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) if (n != 0) { CK((*filter->output_function)(mbfl_base64_table[(s << 2) & 0x3c], filter->data)); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); } CK((*filter->output_function)(c, filter->data)); filter->status = 0; } else { - filter->status++; + filter->status = 2; filter->cache = ((s & 0xf) << 16) | c; } break; @@ -334,12 +330,12 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) if (n != 0) { CK((*filter->output_function)(mbfl_base64_table[(s << 4) & 0x30], filter->data)); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); } CK((*filter->output_function)(c, filter->data)); filter->status = 0; } else { - filter->status++; + filter->status = 3; filter->cache = ((s & 0x3) << 16) | c; } break; @@ -351,7 +347,7 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(mbfl_base64_table[s & 0x3f], filter->data)); if (n != 0) { if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); } CK((*filter->output_function)(c, filter->data)); filter->status = 0; @@ -372,19 +368,16 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) { - int status, cache; - - status = filter->status; - cache = filter->cache; - filter->status = 0; - filter->cache = 0; + int status = filter->status; + int cache = filter->cache; + filter->status = filter->cache = 0; /* flush fragments */ switch (status) { case 1: CK((*filter->output_function)(mbfl_base64_table[(cache >> 10) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[(cache >> 4) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[(cache << 2) & 0x3c], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); break; case 2: @@ -392,18 +385,18 @@ int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(mbfl_base64_table[(cache >> 8) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[(cache >> 2) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[(cache << 4) & 0x30], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); break; case 3: CK((*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[cache & 0x3f], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + CK((*filter->output_function)('-', filter->data)); break; } - if (filter->flush_function != NULL) { + if (filter->flush_function) { (*filter->flush_function)(filter->data); } @@ -430,22 +423,6 @@ int (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { mbfl_filt_ident_utf7_base64_14 }; -static unsigned int decode_base64_char(unsigned char c) -{ - if (c >= 'A' && c <= 'Z') { - return c - 65; - } else if (c >= 'a' && c <= 'z') { - return c - 71; - } else if (c >= '0' && c <= '9') { - return c + 4; - } else if (c == '+') { - return 62; - } else if (c == '/') { - return 63; - } - return -1; -} - static int identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter *filter) { /* Cached bits are in low 2 bytes of `filter->status` From 087948463b8a3a355a4293caf9b90b14ba49a6ea Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 15 Oct 2020 22:20:09 +0200 Subject: [PATCH 018/123] Catch and handle errors in UTF-7 text conversion --- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 47 +++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index b782a5b21a6c2..2b8547e378c2c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -30,6 +30,7 @@ #include "mbfilter.h" #include "mbfilter_utf7.h" +static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter); static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter); static const unsigned char mbfl_base64_table[] = { @@ -70,7 +71,7 @@ const struct mbfl_convert_vtbl vtbl_utf7_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf7_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_utf7_wchar_flush, NULL, }; @@ -109,6 +110,11 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) if (filter->status) { /* Modified Base64 */ n = decode_base64_char(c); if (n < 0) { + if (filter->cache) { + /* Either we were expecting the 2nd half of a surrogate pair which + * never came, or else the last Base64 data was not padded with zeroes */ + (*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data); + } if (c == '-') { if (filter->status == 1) { /* "+-" -> "+" */ CK((*filter->output_function)('+', filter->data)); @@ -152,6 +158,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) n = (n & 0x3) << 14; filter->status = 5; if (s >= 0xd800 && s < 0xdc00) { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } s = (((s & 0x3ff) << 16) + 0x400000) | n; filter->cache = s; } else if (s >= 0xdc00 && s < 0xe000) { @@ -166,6 +176,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(s, filter->data)); } } else { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } filter->cache = n; CK((*filter->output_function)(s, filter->data)); } @@ -184,6 +198,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) n = (n & 0xf) << 12; filter->status = 8; if (s >= 0xd800 && s < 0xdc00) { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } s = (((s & 0x3ff) << 16) + 0x400000) | n; filter->cache = s; } else if (s >= 0xdc00 && s < 0xe000) { @@ -198,6 +216,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(s, filter->data)); } } else { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } filter->cache = n; CK((*filter->output_function)(s, filter->data)); } @@ -211,6 +233,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) s = n | (filter->cache & 0xffff); filter->status = 2; if (s >= 0xd800 && s < 0xdc00) { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } s = (((s & 0x3ff) << 16) + 0x400000); filter->cache = s; } else if (s >= 0xdc00 && s < 0xe000) { @@ -225,6 +251,10 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(s, filter->data)); } } else { + if (filter->cache & 0xfff0000) { + /* We were waiting for the 2nd part of a surrogate pair */ + (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); + } filter->cache = 0; CK((*filter->output_function)(s, filter->data)); } @@ -238,6 +268,21 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) return c; } +static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->cache) { + /* Either we were expecting the 2nd half of a surrogate pair which + * never came, or else the last Base64 data was not padded with zeroes */ + (*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } + + return 0; +} + /* * wchar => UTF-7 */ From a825801537214b4a71ab18c97f25d374e0213fed Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 13 Oct 2020 21:44:08 +0200 Subject: [PATCH 019/123] Add test suite for UTF-{7,8,16,32} --- ext/mbstring/tests/data/UnicodeData.txt | 33797 ++++++++++++++++++++++ ext/mbstring/tests/utf_encodings.phpt | 330 + 2 files changed, 34127 insertions(+) create mode 100644 ext/mbstring/tests/data/UnicodeData.txt create mode 100644 ext/mbstring/tests/utf_encodings.phpt diff --git a/ext/mbstring/tests/data/UnicodeData.txt b/ext/mbstring/tests/data/UnicodeData.txt new file mode 100644 index 0000000000000..e22f967bbab8f --- /dev/null +++ b/ext/mbstring/tests/data/UnicodeData.txt @@ -0,0 +1,33797 @@ +0000;;Cc;0;BN;;;;;N;NULL;;;; +0001;;Cc;0;BN;;;;;N;START OF HEADING;;;; +0002;;Cc;0;BN;;;;;N;START OF TEXT;;;; +0003;;Cc;0;BN;;;;;N;END OF TEXT;;;; +0004;;Cc;0;BN;;;;;N;END OF TRANSMISSION;;;; +0005;;Cc;0;BN;;;;;N;ENQUIRY;;;; +0006;;Cc;0;BN;;;;;N;ACKNOWLEDGE;;;; +0007;;Cc;0;BN;;;;;N;BELL;;;; +0008;;Cc;0;BN;;;;;N;BACKSPACE;;;; +0009;;Cc;0;S;;;;;N;CHARACTER TABULATION;;;; +000A;;Cc;0;B;;;;;N;LINE FEED (LF);;;; +000B;;Cc;0;S;;;;;N;LINE TABULATION;;;; +000C;;Cc;0;WS;;;;;N;FORM FEED (FF);;;; +000D;;Cc;0;B;;;;;N;CARRIAGE RETURN (CR);;;; +000E;;Cc;0;BN;;;;;N;SHIFT OUT;;;; +000F;;Cc;0;BN;;;;;N;SHIFT IN;;;; +0010;;Cc;0;BN;;;;;N;DATA LINK ESCAPE;;;; +0011;;Cc;0;BN;;;;;N;DEVICE CONTROL ONE;;;; +0012;;Cc;0;BN;;;;;N;DEVICE CONTROL TWO;;;; +0013;;Cc;0;BN;;;;;N;DEVICE CONTROL THREE;;;; +0014;;Cc;0;BN;;;;;N;DEVICE CONTROL FOUR;;;; +0015;;Cc;0;BN;;;;;N;NEGATIVE ACKNOWLEDGE;;;; +0016;;Cc;0;BN;;;;;N;SYNCHRONOUS IDLE;;;; +0017;;Cc;0;BN;;;;;N;END OF TRANSMISSION BLOCK;;;; +0018;;Cc;0;BN;;;;;N;CANCEL;;;; +0019;;Cc;0;BN;;;;;N;END OF MEDIUM;;;; +001A;;Cc;0;BN;;;;;N;SUBSTITUTE;;;; +001B;;Cc;0;BN;;;;;N;ESCAPE;;;; +001C;;Cc;0;B;;;;;N;INFORMATION SEPARATOR FOUR;;;; +001D;;Cc;0;B;;;;;N;INFORMATION SEPARATOR THREE;;;; +001E;;Cc;0;B;;;;;N;INFORMATION SEPARATOR TWO;;;; +001F;;Cc;0;S;;;;;N;INFORMATION SEPARATOR ONE;;;; +0020;SPACE;Zs;0;WS;;;;;N;;;;; +0021;EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +0022;QUOTATION MARK;Po;0;ON;;;;;N;;;;; +0023;NUMBER SIGN;Po;0;ET;;;;;N;;;;; +0024;DOLLAR SIGN;Sc;0;ET;;;;;N;;;;; +0025;PERCENT SIGN;Po;0;ET;;;;;N;;;;; +0026;AMPERSAND;Po;0;ON;;;;;N;;;;; +0027;APOSTROPHE;Po;0;ON;;;;;N;APOSTROPHE-QUOTE;;;; +0028;LEFT PARENTHESIS;Ps;0;ON;;;;;Y;OPENING PARENTHESIS;;;; +0029;RIGHT PARENTHESIS;Pe;0;ON;;;;;Y;CLOSING PARENTHESIS;;;; +002A;ASTERISK;Po;0;ON;;;;;N;;;;; +002B;PLUS SIGN;Sm;0;ES;;;;;N;;;;; +002C;COMMA;Po;0;CS;;;;;N;;;;; +002D;HYPHEN-MINUS;Pd;0;ES;;;;;N;;;;; +002E;FULL STOP;Po;0;CS;;;;;N;PERIOD;;;; +002F;SOLIDUS;Po;0;CS;;;;;N;SLASH;;;; +0030;DIGIT ZERO;Nd;0;EN;;0;0;0;N;;;;; +0031;DIGIT ONE;Nd;0;EN;;1;1;1;N;;;;; +0032;DIGIT TWO;Nd;0;EN;;2;2;2;N;;;;; +0033;DIGIT THREE;Nd;0;EN;;3;3;3;N;;;;; +0034;DIGIT FOUR;Nd;0;EN;;4;4;4;N;;;;; +0035;DIGIT FIVE;Nd;0;EN;;5;5;5;N;;;;; +0036;DIGIT SIX;Nd;0;EN;;6;6;6;N;;;;; +0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;; +0038;DIGIT EIGHT;Nd;0;EN;;8;8;8;N;;;;; +0039;DIGIT NINE;Nd;0;EN;;9;9;9;N;;;;; +003A;COLON;Po;0;CS;;;;;N;;;;; +003B;SEMICOLON;Po;0;ON;;;;;N;;;;; +003C;LESS-THAN SIGN;Sm;0;ON;;;;;Y;;;;; +003D;EQUALS SIGN;Sm;0;ON;;;;;N;;;;; +003E;GREATER-THAN SIGN;Sm;0;ON;;;;;Y;;;;; +003F;QUESTION MARK;Po;0;ON;;;;;N;;;;; +0040;COMMERCIAL AT;Po;0;ON;;;;;N;;;;; +0041;LATIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0061; +0042;LATIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;0062; +0043;LATIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;0063; +0044;LATIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;0064; +0045;LATIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;0065; +0046;LATIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;0066; +0047;LATIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;0067; +0048;LATIN CAPITAL LETTER H;Lu;0;L;;;;;N;;;;0068; +0049;LATIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;0069; +004A;LATIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;006A; +004B;LATIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;006B; +004C;LATIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;006C; +004D;LATIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;006D; +004E;LATIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;006E; +004F;LATIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;006F; +0050;LATIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;0070; +0051;LATIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;0071; +0052;LATIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;0072; +0053;LATIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;0073; +0054;LATIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;0074; +0055;LATIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0075; +0056;LATIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;0076; +0057;LATIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;0077; +0058;LATIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;0078; +0059;LATIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;0079; +005A;LATIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;007A; +005B;LEFT SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING SQUARE BRACKET;;;; +005C;REVERSE SOLIDUS;Po;0;ON;;;;;N;BACKSLASH;;;; +005D;RIGHT SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING SQUARE BRACKET;;;; +005E;CIRCUMFLEX ACCENT;Sk;0;ON;;;;;N;SPACING CIRCUMFLEX;;;; +005F;LOW LINE;Pc;0;ON;;;;;N;SPACING UNDERSCORE;;;; +0060;GRAVE ACCENT;Sk;0;ON;;;;;N;SPACING GRAVE;;;; +0061;LATIN SMALL LETTER A;Ll;0;L;;;;;N;;;0041;;0041 +0062;LATIN SMALL LETTER B;Ll;0;L;;;;;N;;;0042;;0042 +0063;LATIN SMALL LETTER C;Ll;0;L;;;;;N;;;0043;;0043 +0064;LATIN SMALL LETTER D;Ll;0;L;;;;;N;;;0044;;0044 +0065;LATIN SMALL LETTER E;Ll;0;L;;;;;N;;;0045;;0045 +0066;LATIN SMALL LETTER F;Ll;0;L;;;;;N;;;0046;;0046 +0067;LATIN SMALL LETTER G;Ll;0;L;;;;;N;;;0047;;0047 +0068;LATIN SMALL LETTER H;Ll;0;L;;;;;N;;;0048;;0048 +0069;LATIN SMALL LETTER I;Ll;0;L;;;;;N;;;0049;;0049 +006A;LATIN SMALL LETTER J;Ll;0;L;;;;;N;;;004A;;004A +006B;LATIN SMALL LETTER K;Ll;0;L;;;;;N;;;004B;;004B +006C;LATIN SMALL LETTER L;Ll;0;L;;;;;N;;;004C;;004C +006D;LATIN SMALL LETTER M;Ll;0;L;;;;;N;;;004D;;004D +006E;LATIN SMALL LETTER N;Ll;0;L;;;;;N;;;004E;;004E +006F;LATIN SMALL LETTER O;Ll;0;L;;;;;N;;;004F;;004F +0070;LATIN SMALL LETTER P;Ll;0;L;;;;;N;;;0050;;0050 +0071;LATIN SMALL LETTER Q;Ll;0;L;;;;;N;;;0051;;0051 +0072;LATIN SMALL LETTER R;Ll;0;L;;;;;N;;;0052;;0052 +0073;LATIN SMALL LETTER S;Ll;0;L;;;;;N;;;0053;;0053 +0074;LATIN SMALL LETTER T;Ll;0;L;;;;;N;;;0054;;0054 +0075;LATIN SMALL LETTER U;Ll;0;L;;;;;N;;;0055;;0055 +0076;LATIN SMALL LETTER V;Ll;0;L;;;;;N;;;0056;;0056 +0077;LATIN SMALL LETTER W;Ll;0;L;;;;;N;;;0057;;0057 +0078;LATIN SMALL LETTER X;Ll;0;L;;;;;N;;;0058;;0058 +0079;LATIN SMALL LETTER Y;Ll;0;L;;;;;N;;;0059;;0059 +007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A +007B;LEFT CURLY BRACKET;Ps;0;ON;;;;;Y;OPENING CURLY BRACKET;;;; +007C;VERTICAL LINE;Sm;0;ON;;;;;N;VERTICAL BAR;;;; +007D;RIGHT CURLY BRACKET;Pe;0;ON;;;;;Y;CLOSING CURLY BRACKET;;;; +007E;TILDE;Sm;0;ON;;;;;N;;;;; +007F;;Cc;0;BN;;;;;N;DELETE;;;; +0080;;Cc;0;BN;;;;;N;;;;; +0081;;Cc;0;BN;;;;;N;;;;; +0082;;Cc;0;BN;;;;;N;BREAK PERMITTED HERE;;;; +0083;;Cc;0;BN;;;;;N;NO BREAK HERE;;;; +0084;;Cc;0;BN;;;;;N;;;;; +0085;;Cc;0;B;;;;;N;NEXT LINE (NEL);;;; +0086;;Cc;0;BN;;;;;N;START OF SELECTED AREA;;;; +0087;;Cc;0;BN;;;;;N;END OF SELECTED AREA;;;; +0088;;Cc;0;BN;;;;;N;CHARACTER TABULATION SET;;;; +0089;;Cc;0;BN;;;;;N;CHARACTER TABULATION WITH JUSTIFICATION;;;; +008A;;Cc;0;BN;;;;;N;LINE TABULATION SET;;;; +008B;;Cc;0;BN;;;;;N;PARTIAL LINE FORWARD;;;; +008C;;Cc;0;BN;;;;;N;PARTIAL LINE BACKWARD;;;; +008D;;Cc;0;BN;;;;;N;REVERSE LINE FEED;;;; +008E;;Cc;0;BN;;;;;N;SINGLE SHIFT TWO;;;; +008F;;Cc;0;BN;;;;;N;SINGLE SHIFT THREE;;;; +0090;;Cc;0;BN;;;;;N;DEVICE CONTROL STRING;;;; +0091;;Cc;0;BN;;;;;N;PRIVATE USE ONE;;;; +0092;;Cc;0;BN;;;;;N;PRIVATE USE TWO;;;; +0093;;Cc;0;BN;;;;;N;SET TRANSMIT STATE;;;; +0094;;Cc;0;BN;;;;;N;CANCEL CHARACTER;;;; +0095;;Cc;0;BN;;;;;N;MESSAGE WAITING;;;; +0096;;Cc;0;BN;;;;;N;START OF GUARDED AREA;;;; +0097;;Cc;0;BN;;;;;N;END OF GUARDED AREA;;;; +0098;;Cc;0;BN;;;;;N;START OF STRING;;;; +0099;;Cc;0;BN;;;;;N;;;;; +009A;;Cc;0;BN;;;;;N;SINGLE CHARACTER INTRODUCER;;;; +009B;;Cc;0;BN;;;;;N;CONTROL SEQUENCE INTRODUCER;;;; +009C;;Cc;0;BN;;;;;N;STRING TERMINATOR;;;; +009D;;Cc;0;BN;;;;;N;OPERATING SYSTEM COMMAND;;;; +009E;;Cc;0;BN;;;;;N;PRIVACY MESSAGE;;;; +009F;;Cc;0;BN;;;;;N;APPLICATION PROGRAM COMMAND;;;; +00A0;NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;NON-BREAKING SPACE;;;; +00A1;INVERTED EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +00A2;CENT SIGN;Sc;0;ET;;;;;N;;;;; +00A3;POUND SIGN;Sc;0;ET;;;;;N;;;;; +00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; +00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;; +00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;; +00A7;SECTION SIGN;Po;0;ON;;;;;N;;;;; +00A8;DIAERESIS;Sk;0;ON; 0020 0308;;;;N;SPACING DIAERESIS;;;; +00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;; +00AA;FEMININE ORDINAL INDICATOR;Lo;0;L; 0061;;;;N;;;;; +00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;; +00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; +00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;; +00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; +00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; +00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; +00B1;PLUS-MINUS SIGN;Sm;0;ET;;;;;N;PLUS-OR-MINUS SIGN;;;; +00B2;SUPERSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUPERSCRIPT DIGIT TWO;;;; +00B3;SUPERSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;; +00B4;ACUTE ACCENT;Sk;0;ON; 0020 0301;;;;N;SPACING ACUTE;;;; +00B5;MICRO SIGN;Ll;0;L; 03BC;;;;N;;;039C;;039C +00B6;PILCROW SIGN;Po;0;ON;;;;;N;PARAGRAPH SIGN;;;; +00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;; +00B8;CEDILLA;Sk;0;ON; 0020 0327;;;;N;SPACING CEDILLA;;;; +00B9;SUPERSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;; +00BA;MASCULINE ORDINAL INDICATOR;Lo;0;L; 006F;;;;N;;;;; +00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;; +00BC;VULGAR FRACTION ONE QUARTER;No;0;ON; 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;; +00BD;VULGAR FRACTION ONE HALF;No;0;ON; 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;; +00BE;VULGAR FRACTION THREE QUARTERS;No;0;ON; 0033 2044 0034;;;3/4;N;FRACTION THREE QUARTERS;;;; +00BF;INVERTED QUESTION MARK;Po;0;ON;;;;;N;;;;; +00C0;LATIN CAPITAL LETTER A WITH GRAVE;Lu;0;L;0041 0300;;;;N;LATIN CAPITAL LETTER A GRAVE;;;00E0; +00C1;LATIN CAPITAL LETTER A WITH ACUTE;Lu;0;L;0041 0301;;;;N;LATIN CAPITAL LETTER A ACUTE;;;00E1; +00C2;LATIN CAPITAL LETTER A WITH CIRCUMFLEX;Lu;0;L;0041 0302;;;;N;LATIN CAPITAL LETTER A CIRCUMFLEX;;;00E2; +00C3;LATIN CAPITAL LETTER A WITH TILDE;Lu;0;L;0041 0303;;;;N;LATIN CAPITAL LETTER A TILDE;;;00E3; +00C4;LATIN CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0041 0308;;;;N;LATIN CAPITAL LETTER A DIAERESIS;;;00E4; +00C5;LATIN CAPITAL LETTER A WITH RING ABOVE;Lu;0;L;0041 030A;;;;N;LATIN CAPITAL LETTER A RING;;;00E5; +00C6;LATIN CAPITAL LETTER AE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER A E;;;00E6; +00C7;LATIN CAPITAL LETTER C WITH CEDILLA;Lu;0;L;0043 0327;;;;N;LATIN CAPITAL LETTER C CEDILLA;;;00E7; +00C8;LATIN CAPITAL LETTER E WITH GRAVE;Lu;0;L;0045 0300;;;;N;LATIN CAPITAL LETTER E GRAVE;;;00E8; +00C9;LATIN CAPITAL LETTER E WITH ACUTE;Lu;0;L;0045 0301;;;;N;LATIN CAPITAL LETTER E ACUTE;;;00E9; +00CA;LATIN CAPITAL LETTER E WITH CIRCUMFLEX;Lu;0;L;0045 0302;;;;N;LATIN CAPITAL LETTER E CIRCUMFLEX;;;00EA; +00CB;LATIN CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;0045 0308;;;;N;LATIN CAPITAL LETTER E DIAERESIS;;;00EB; +00CC;LATIN CAPITAL LETTER I WITH GRAVE;Lu;0;L;0049 0300;;;;N;LATIN CAPITAL LETTER I GRAVE;;;00EC; +00CD;LATIN CAPITAL LETTER I WITH ACUTE;Lu;0;L;0049 0301;;;;N;LATIN CAPITAL LETTER I ACUTE;;;00ED; +00CE;LATIN CAPITAL LETTER I WITH CIRCUMFLEX;Lu;0;L;0049 0302;;;;N;LATIN CAPITAL LETTER I CIRCUMFLEX;;;00EE; +00CF;LATIN CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0049 0308;;;;N;LATIN CAPITAL LETTER I DIAERESIS;;;00EF; +00D0;LATIN CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;00F0; +00D1;LATIN CAPITAL LETTER N WITH TILDE;Lu;0;L;004E 0303;;;;N;LATIN CAPITAL LETTER N TILDE;;;00F1; +00D2;LATIN CAPITAL LETTER O WITH GRAVE;Lu;0;L;004F 0300;;;;N;LATIN CAPITAL LETTER O GRAVE;;;00F2; +00D3;LATIN CAPITAL LETTER O WITH ACUTE;Lu;0;L;004F 0301;;;;N;LATIN CAPITAL LETTER O ACUTE;;;00F3; +00D4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX;Lu;0;L;004F 0302;;;;N;LATIN CAPITAL LETTER O CIRCUMFLEX;;;00F4; +00D5;LATIN CAPITAL LETTER O WITH TILDE;Lu;0;L;004F 0303;;;;N;LATIN CAPITAL LETTER O TILDE;;;00F5; +00D6;LATIN CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;004F 0308;;;;N;LATIN CAPITAL LETTER O DIAERESIS;;;00F6; +00D7;MULTIPLICATION SIGN;Sm;0;ON;;;;;N;;;;; +00D8;LATIN CAPITAL LETTER O WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O SLASH;;;00F8; +00D9;LATIN CAPITAL LETTER U WITH GRAVE;Lu;0;L;0055 0300;;;;N;LATIN CAPITAL LETTER U GRAVE;;;00F9; +00DA;LATIN CAPITAL LETTER U WITH ACUTE;Lu;0;L;0055 0301;;;;N;LATIN CAPITAL LETTER U ACUTE;;;00FA; +00DB;LATIN CAPITAL LETTER U WITH CIRCUMFLEX;Lu;0;L;0055 0302;;;;N;LATIN CAPITAL LETTER U CIRCUMFLEX;;;00FB; +00DC;LATIN CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0055 0308;;;;N;LATIN CAPITAL LETTER U DIAERESIS;;;00FC; +00DD;LATIN CAPITAL LETTER Y WITH ACUTE;Lu;0;L;0059 0301;;;;N;LATIN CAPITAL LETTER Y ACUTE;;;00FD; +00DE;LATIN CAPITAL LETTER THORN;Lu;0;L;;;;;N;;;;00FE; +00DF;LATIN SMALL LETTER SHARP S;Ll;0;L;;;;;N;;;;; +00E0;LATIN SMALL LETTER A WITH GRAVE;Ll;0;L;0061 0300;;;;N;LATIN SMALL LETTER A GRAVE;;00C0;;00C0 +00E1;LATIN SMALL LETTER A WITH ACUTE;Ll;0;L;0061 0301;;;;N;LATIN SMALL LETTER A ACUTE;;00C1;;00C1 +00E2;LATIN SMALL LETTER A WITH CIRCUMFLEX;Ll;0;L;0061 0302;;;;N;LATIN SMALL LETTER A CIRCUMFLEX;;00C2;;00C2 +00E3;LATIN SMALL LETTER A WITH TILDE;Ll;0;L;0061 0303;;;;N;LATIN SMALL LETTER A TILDE;;00C3;;00C3 +00E4;LATIN SMALL LETTER A WITH DIAERESIS;Ll;0;L;0061 0308;;;;N;LATIN SMALL LETTER A DIAERESIS;;00C4;;00C4 +00E5;LATIN SMALL LETTER A WITH RING ABOVE;Ll;0;L;0061 030A;;;;N;LATIN SMALL LETTER A RING;;00C5;;00C5 +00E6;LATIN SMALL LETTER AE;Ll;0;L;;;;;N;LATIN SMALL LETTER A E;;00C6;;00C6 +00E7;LATIN SMALL LETTER C WITH CEDILLA;Ll;0;L;0063 0327;;;;N;LATIN SMALL LETTER C CEDILLA;;00C7;;00C7 +00E8;LATIN SMALL LETTER E WITH GRAVE;Ll;0;L;0065 0300;;;;N;LATIN SMALL LETTER E GRAVE;;00C8;;00C8 +00E9;LATIN SMALL LETTER E WITH ACUTE;Ll;0;L;0065 0301;;;;N;LATIN SMALL LETTER E ACUTE;;00C9;;00C9 +00EA;LATIN SMALL LETTER E WITH CIRCUMFLEX;Ll;0;L;0065 0302;;;;N;LATIN SMALL LETTER E CIRCUMFLEX;;00CA;;00CA +00EB;LATIN SMALL LETTER E WITH DIAERESIS;Ll;0;L;0065 0308;;;;N;LATIN SMALL LETTER E DIAERESIS;;00CB;;00CB +00EC;LATIN SMALL LETTER I WITH GRAVE;Ll;0;L;0069 0300;;;;N;LATIN SMALL LETTER I GRAVE;;00CC;;00CC +00ED;LATIN SMALL LETTER I WITH ACUTE;Ll;0;L;0069 0301;;;;N;LATIN SMALL LETTER I ACUTE;;00CD;;00CD +00EE;LATIN SMALL LETTER I WITH CIRCUMFLEX;Ll;0;L;0069 0302;;;;N;LATIN SMALL LETTER I CIRCUMFLEX;;00CE;;00CE +00EF;LATIN SMALL LETTER I WITH DIAERESIS;Ll;0;L;0069 0308;;;;N;LATIN SMALL LETTER I DIAERESIS;;00CF;;00CF +00F0;LATIN SMALL LETTER ETH;Ll;0;L;;;;;N;;;00D0;;00D0 +00F1;LATIN SMALL LETTER N WITH TILDE;Ll;0;L;006E 0303;;;;N;LATIN SMALL LETTER N TILDE;;00D1;;00D1 +00F2;LATIN SMALL LETTER O WITH GRAVE;Ll;0;L;006F 0300;;;;N;LATIN SMALL LETTER O GRAVE;;00D2;;00D2 +00F3;LATIN SMALL LETTER O WITH ACUTE;Ll;0;L;006F 0301;;;;N;LATIN SMALL LETTER O ACUTE;;00D3;;00D3 +00F4;LATIN SMALL LETTER O WITH CIRCUMFLEX;Ll;0;L;006F 0302;;;;N;LATIN SMALL LETTER O CIRCUMFLEX;;00D4;;00D4 +00F5;LATIN SMALL LETTER O WITH TILDE;Ll;0;L;006F 0303;;;;N;LATIN SMALL LETTER O TILDE;;00D5;;00D5 +00F6;LATIN SMALL LETTER O WITH DIAERESIS;Ll;0;L;006F 0308;;;;N;LATIN SMALL LETTER O DIAERESIS;;00D6;;00D6 +00F7;DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +00F8;LATIN SMALL LETTER O WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER O SLASH;;00D8;;00D8 +00F9;LATIN SMALL LETTER U WITH GRAVE;Ll;0;L;0075 0300;;;;N;LATIN SMALL LETTER U GRAVE;;00D9;;00D9 +00FA;LATIN SMALL LETTER U WITH ACUTE;Ll;0;L;0075 0301;;;;N;LATIN SMALL LETTER U ACUTE;;00DA;;00DA +00FB;LATIN SMALL LETTER U WITH CIRCUMFLEX;Ll;0;L;0075 0302;;;;N;LATIN SMALL LETTER U CIRCUMFLEX;;00DB;;00DB +00FC;LATIN SMALL LETTER U WITH DIAERESIS;Ll;0;L;0075 0308;;;;N;LATIN SMALL LETTER U DIAERESIS;;00DC;;00DC +00FD;LATIN SMALL LETTER Y WITH ACUTE;Ll;0;L;0079 0301;;;;N;LATIN SMALL LETTER Y ACUTE;;00DD;;00DD +00FE;LATIN SMALL LETTER THORN;Ll;0;L;;;;;N;;;00DE;;00DE +00FF;LATIN SMALL LETTER Y WITH DIAERESIS;Ll;0;L;0079 0308;;;;N;LATIN SMALL LETTER Y DIAERESIS;;0178;;0178 +0100;LATIN CAPITAL LETTER A WITH MACRON;Lu;0;L;0041 0304;;;;N;LATIN CAPITAL LETTER A MACRON;;;0101; +0101;LATIN SMALL LETTER A WITH MACRON;Ll;0;L;0061 0304;;;;N;LATIN SMALL LETTER A MACRON;;0100;;0100 +0102;LATIN CAPITAL LETTER A WITH BREVE;Lu;0;L;0041 0306;;;;N;LATIN CAPITAL LETTER A BREVE;;;0103; +0103;LATIN SMALL LETTER A WITH BREVE;Ll;0;L;0061 0306;;;;N;LATIN SMALL LETTER A BREVE;;0102;;0102 +0104;LATIN CAPITAL LETTER A WITH OGONEK;Lu;0;L;0041 0328;;;;N;LATIN CAPITAL LETTER A OGONEK;;;0105; +0105;LATIN SMALL LETTER A WITH OGONEK;Ll;0;L;0061 0328;;;;N;LATIN SMALL LETTER A OGONEK;;0104;;0104 +0106;LATIN CAPITAL LETTER C WITH ACUTE;Lu;0;L;0043 0301;;;;N;LATIN CAPITAL LETTER C ACUTE;;;0107; +0107;LATIN SMALL LETTER C WITH ACUTE;Ll;0;L;0063 0301;;;;N;LATIN SMALL LETTER C ACUTE;;0106;;0106 +0108;LATIN CAPITAL LETTER C WITH CIRCUMFLEX;Lu;0;L;0043 0302;;;;N;LATIN CAPITAL LETTER C CIRCUMFLEX;;;0109; +0109;LATIN SMALL LETTER C WITH CIRCUMFLEX;Ll;0;L;0063 0302;;;;N;LATIN SMALL LETTER C CIRCUMFLEX;;0108;;0108 +010A;LATIN CAPITAL LETTER C WITH DOT ABOVE;Lu;0;L;0043 0307;;;;N;LATIN CAPITAL LETTER C DOT;;;010B; +010B;LATIN SMALL LETTER C WITH DOT ABOVE;Ll;0;L;0063 0307;;;;N;LATIN SMALL LETTER C DOT;;010A;;010A +010C;LATIN CAPITAL LETTER C WITH CARON;Lu;0;L;0043 030C;;;;N;LATIN CAPITAL LETTER C HACEK;;;010D; +010D;LATIN SMALL LETTER C WITH CARON;Ll;0;L;0063 030C;;;;N;LATIN SMALL LETTER C HACEK;;010C;;010C +010E;LATIN CAPITAL LETTER D WITH CARON;Lu;0;L;0044 030C;;;;N;LATIN CAPITAL LETTER D HACEK;;;010F; +010F;LATIN SMALL LETTER D WITH CARON;Ll;0;L;0064 030C;;;;N;LATIN SMALL LETTER D HACEK;;010E;;010E +0110;LATIN CAPITAL LETTER D WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D BAR;;;0111; +0111;LATIN SMALL LETTER D WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER D BAR;;0110;;0110 +0112;LATIN CAPITAL LETTER E WITH MACRON;Lu;0;L;0045 0304;;;;N;LATIN CAPITAL LETTER E MACRON;;;0113; +0113;LATIN SMALL LETTER E WITH MACRON;Ll;0;L;0065 0304;;;;N;LATIN SMALL LETTER E MACRON;;0112;;0112 +0114;LATIN CAPITAL LETTER E WITH BREVE;Lu;0;L;0045 0306;;;;N;LATIN CAPITAL LETTER E BREVE;;;0115; +0115;LATIN SMALL LETTER E WITH BREVE;Ll;0;L;0065 0306;;;;N;LATIN SMALL LETTER E BREVE;;0114;;0114 +0116;LATIN CAPITAL LETTER E WITH DOT ABOVE;Lu;0;L;0045 0307;;;;N;LATIN CAPITAL LETTER E DOT;;;0117; +0117;LATIN SMALL LETTER E WITH DOT ABOVE;Ll;0;L;0065 0307;;;;N;LATIN SMALL LETTER E DOT;;0116;;0116 +0118;LATIN CAPITAL LETTER E WITH OGONEK;Lu;0;L;0045 0328;;;;N;LATIN CAPITAL LETTER E OGONEK;;;0119; +0119;LATIN SMALL LETTER E WITH OGONEK;Ll;0;L;0065 0328;;;;N;LATIN SMALL LETTER E OGONEK;;0118;;0118 +011A;LATIN CAPITAL LETTER E WITH CARON;Lu;0;L;0045 030C;;;;N;LATIN CAPITAL LETTER E HACEK;;;011B; +011B;LATIN SMALL LETTER E WITH CARON;Ll;0;L;0065 030C;;;;N;LATIN SMALL LETTER E HACEK;;011A;;011A +011C;LATIN CAPITAL LETTER G WITH CIRCUMFLEX;Lu;0;L;0047 0302;;;;N;LATIN CAPITAL LETTER G CIRCUMFLEX;;;011D; +011D;LATIN SMALL LETTER G WITH CIRCUMFLEX;Ll;0;L;0067 0302;;;;N;LATIN SMALL LETTER G CIRCUMFLEX;;011C;;011C +011E;LATIN CAPITAL LETTER G WITH BREVE;Lu;0;L;0047 0306;;;;N;LATIN CAPITAL LETTER G BREVE;;;011F; +011F;LATIN SMALL LETTER G WITH BREVE;Ll;0;L;0067 0306;;;;N;LATIN SMALL LETTER G BREVE;;011E;;011E +0120;LATIN CAPITAL LETTER G WITH DOT ABOVE;Lu;0;L;0047 0307;;;;N;LATIN CAPITAL LETTER G DOT;;;0121; +0121;LATIN SMALL LETTER G WITH DOT ABOVE;Ll;0;L;0067 0307;;;;N;LATIN SMALL LETTER G DOT;;0120;;0120 +0122;LATIN CAPITAL LETTER G WITH CEDILLA;Lu;0;L;0047 0327;;;;N;LATIN CAPITAL LETTER G CEDILLA;;;0123; +0123;LATIN SMALL LETTER G WITH CEDILLA;Ll;0;L;0067 0327;;;;N;LATIN SMALL LETTER G CEDILLA;;0122;;0122 +0124;LATIN CAPITAL LETTER H WITH CIRCUMFLEX;Lu;0;L;0048 0302;;;;N;LATIN CAPITAL LETTER H CIRCUMFLEX;;;0125; +0125;LATIN SMALL LETTER H WITH CIRCUMFLEX;Ll;0;L;0068 0302;;;;N;LATIN SMALL LETTER H CIRCUMFLEX;;0124;;0124 +0126;LATIN CAPITAL LETTER H WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER H BAR;;;0127; +0127;LATIN SMALL LETTER H WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER H BAR;;0126;;0126 +0128;LATIN CAPITAL LETTER I WITH TILDE;Lu;0;L;0049 0303;;;;N;LATIN CAPITAL LETTER I TILDE;;;0129; +0129;LATIN SMALL LETTER I WITH TILDE;Ll;0;L;0069 0303;;;;N;LATIN SMALL LETTER I TILDE;;0128;;0128 +012A;LATIN CAPITAL LETTER I WITH MACRON;Lu;0;L;0049 0304;;;;N;LATIN CAPITAL LETTER I MACRON;;;012B; +012B;LATIN SMALL LETTER I WITH MACRON;Ll;0;L;0069 0304;;;;N;LATIN SMALL LETTER I MACRON;;012A;;012A +012C;LATIN CAPITAL LETTER I WITH BREVE;Lu;0;L;0049 0306;;;;N;LATIN CAPITAL LETTER I BREVE;;;012D; +012D;LATIN SMALL LETTER I WITH BREVE;Ll;0;L;0069 0306;;;;N;LATIN SMALL LETTER I BREVE;;012C;;012C +012E;LATIN CAPITAL LETTER I WITH OGONEK;Lu;0;L;0049 0328;;;;N;LATIN CAPITAL LETTER I OGONEK;;;012F; +012F;LATIN SMALL LETTER I WITH OGONEK;Ll;0;L;0069 0328;;;;N;LATIN SMALL LETTER I OGONEK;;012E;;012E +0130;LATIN CAPITAL LETTER I WITH DOT ABOVE;Lu;0;L;0049 0307;;;;N;LATIN CAPITAL LETTER I DOT;;;0069; +0131;LATIN SMALL LETTER DOTLESS I;Ll;0;L;;;;;N;;;0049;;0049 +0132;LATIN CAPITAL LIGATURE IJ;Lu;0;L; 0049 004A;;;;N;LATIN CAPITAL LETTER I J;;;0133; +0133;LATIN SMALL LIGATURE IJ;Ll;0;L; 0069 006A;;;;N;LATIN SMALL LETTER I J;;0132;;0132 +0134;LATIN CAPITAL LETTER J WITH CIRCUMFLEX;Lu;0;L;004A 0302;;;;N;LATIN CAPITAL LETTER J CIRCUMFLEX;;;0135; +0135;LATIN SMALL LETTER J WITH CIRCUMFLEX;Ll;0;L;006A 0302;;;;N;LATIN SMALL LETTER J CIRCUMFLEX;;0134;;0134 +0136;LATIN CAPITAL LETTER K WITH CEDILLA;Lu;0;L;004B 0327;;;;N;LATIN CAPITAL LETTER K CEDILLA;;;0137; +0137;LATIN SMALL LETTER K WITH CEDILLA;Ll;0;L;006B 0327;;;;N;LATIN SMALL LETTER K CEDILLA;;0136;;0136 +0138;LATIN SMALL LETTER KRA;Ll;0;L;;;;;N;;;;; +0139;LATIN CAPITAL LETTER L WITH ACUTE;Lu;0;L;004C 0301;;;;N;LATIN CAPITAL LETTER L ACUTE;;;013A; +013A;LATIN SMALL LETTER L WITH ACUTE;Ll;0;L;006C 0301;;;;N;LATIN SMALL LETTER L ACUTE;;0139;;0139 +013B;LATIN CAPITAL LETTER L WITH CEDILLA;Lu;0;L;004C 0327;;;;N;LATIN CAPITAL LETTER L CEDILLA;;;013C; +013C;LATIN SMALL LETTER L WITH CEDILLA;Ll;0;L;006C 0327;;;;N;LATIN SMALL LETTER L CEDILLA;;013B;;013B +013D;LATIN CAPITAL LETTER L WITH CARON;Lu;0;L;004C 030C;;;;N;LATIN CAPITAL LETTER L HACEK;;;013E; +013E;LATIN SMALL LETTER L WITH CARON;Ll;0;L;006C 030C;;;;N;LATIN SMALL LETTER L HACEK;;013D;;013D +013F;LATIN CAPITAL LETTER L WITH MIDDLE DOT;Lu;0;L; 004C 00B7;;;;N;;;;0140; +0140;LATIN SMALL LETTER L WITH MIDDLE DOT;Ll;0;L; 006C 00B7;;;;N;;;013F;;013F +0141;LATIN CAPITAL LETTER L WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER L SLASH;;;0142; +0142;LATIN SMALL LETTER L WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER L SLASH;;0141;;0141 +0143;LATIN CAPITAL LETTER N WITH ACUTE;Lu;0;L;004E 0301;;;;N;LATIN CAPITAL LETTER N ACUTE;;;0144; +0144;LATIN SMALL LETTER N WITH ACUTE;Ll;0;L;006E 0301;;;;N;LATIN SMALL LETTER N ACUTE;;0143;;0143 +0145;LATIN CAPITAL LETTER N WITH CEDILLA;Lu;0;L;004E 0327;;;;N;LATIN CAPITAL LETTER N CEDILLA;;;0146; +0146;LATIN SMALL LETTER N WITH CEDILLA;Ll;0;L;006E 0327;;;;N;LATIN SMALL LETTER N CEDILLA;;0145;;0145 +0147;LATIN CAPITAL LETTER N WITH CARON;Lu;0;L;004E 030C;;;;N;LATIN CAPITAL LETTER N HACEK;;;0148; +0148;LATIN SMALL LETTER N WITH CARON;Ll;0;L;006E 030C;;;;N;LATIN SMALL LETTER N HACEK;;0147;;0147 +0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE;Ll;0;L; 02BC 006E;;;;N;LATIN SMALL LETTER APOSTROPHE N;;;; +014A;LATIN CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;014B; +014B;LATIN SMALL LETTER ENG;Ll;0;L;;;;;N;;;014A;;014A +014C;LATIN CAPITAL LETTER O WITH MACRON;Lu;0;L;004F 0304;;;;N;LATIN CAPITAL LETTER O MACRON;;;014D; +014D;LATIN SMALL LETTER O WITH MACRON;Ll;0;L;006F 0304;;;;N;LATIN SMALL LETTER O MACRON;;014C;;014C +014E;LATIN CAPITAL LETTER O WITH BREVE;Lu;0;L;004F 0306;;;;N;LATIN CAPITAL LETTER O BREVE;;;014F; +014F;LATIN SMALL LETTER O WITH BREVE;Ll;0;L;006F 0306;;;;N;LATIN SMALL LETTER O BREVE;;014E;;014E +0150;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE;Lu;0;L;004F 030B;;;;N;LATIN CAPITAL LETTER O DOUBLE ACUTE;;;0151; +0151;LATIN SMALL LETTER O WITH DOUBLE ACUTE;Ll;0;L;006F 030B;;;;N;LATIN SMALL LETTER O DOUBLE ACUTE;;0150;;0150 +0152;LATIN CAPITAL LIGATURE OE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O E;;;0153; +0153;LATIN SMALL LIGATURE OE;Ll;0;L;;;;;N;LATIN SMALL LETTER O E;;0152;;0152 +0154;LATIN CAPITAL LETTER R WITH ACUTE;Lu;0;L;0052 0301;;;;N;LATIN CAPITAL LETTER R ACUTE;;;0155; +0155;LATIN SMALL LETTER R WITH ACUTE;Ll;0;L;0072 0301;;;;N;LATIN SMALL LETTER R ACUTE;;0154;;0154 +0156;LATIN CAPITAL LETTER R WITH CEDILLA;Lu;0;L;0052 0327;;;;N;LATIN CAPITAL LETTER R CEDILLA;;;0157; +0157;LATIN SMALL LETTER R WITH CEDILLA;Ll;0;L;0072 0327;;;;N;LATIN SMALL LETTER R CEDILLA;;0156;;0156 +0158;LATIN CAPITAL LETTER R WITH CARON;Lu;0;L;0052 030C;;;;N;LATIN CAPITAL LETTER R HACEK;;;0159; +0159;LATIN SMALL LETTER R WITH CARON;Ll;0;L;0072 030C;;;;N;LATIN SMALL LETTER R HACEK;;0158;;0158 +015A;LATIN CAPITAL LETTER S WITH ACUTE;Lu;0;L;0053 0301;;;;N;LATIN CAPITAL LETTER S ACUTE;;;015B; +015B;LATIN SMALL LETTER S WITH ACUTE;Ll;0;L;0073 0301;;;;N;LATIN SMALL LETTER S ACUTE;;015A;;015A +015C;LATIN CAPITAL LETTER S WITH CIRCUMFLEX;Lu;0;L;0053 0302;;;;N;LATIN CAPITAL LETTER S CIRCUMFLEX;;;015D; +015D;LATIN SMALL LETTER S WITH CIRCUMFLEX;Ll;0;L;0073 0302;;;;N;LATIN SMALL LETTER S CIRCUMFLEX;;015C;;015C +015E;LATIN CAPITAL LETTER S WITH CEDILLA;Lu;0;L;0053 0327;;;;N;LATIN CAPITAL LETTER S CEDILLA;;;015F; +015F;LATIN SMALL LETTER S WITH CEDILLA;Ll;0;L;0073 0327;;;;N;LATIN SMALL LETTER S CEDILLA;;015E;;015E +0160;LATIN CAPITAL LETTER S WITH CARON;Lu;0;L;0053 030C;;;;N;LATIN CAPITAL LETTER S HACEK;;;0161; +0161;LATIN SMALL LETTER S WITH CARON;Ll;0;L;0073 030C;;;;N;LATIN SMALL LETTER S HACEK;;0160;;0160 +0162;LATIN CAPITAL LETTER T WITH CEDILLA;Lu;0;L;0054 0327;;;;N;LATIN CAPITAL LETTER T CEDILLA;;;0163; +0163;LATIN SMALL LETTER T WITH CEDILLA;Ll;0;L;0074 0327;;;;N;LATIN SMALL LETTER T CEDILLA;;0162;;0162 +0164;LATIN CAPITAL LETTER T WITH CARON;Lu;0;L;0054 030C;;;;N;LATIN CAPITAL LETTER T HACEK;;;0165; +0165;LATIN SMALL LETTER T WITH CARON;Ll;0;L;0074 030C;;;;N;LATIN SMALL LETTER T HACEK;;0164;;0164 +0166;LATIN CAPITAL LETTER T WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T BAR;;;0167; +0167;LATIN SMALL LETTER T WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER T BAR;;0166;;0166 +0168;LATIN CAPITAL LETTER U WITH TILDE;Lu;0;L;0055 0303;;;;N;LATIN CAPITAL LETTER U TILDE;;;0169; +0169;LATIN SMALL LETTER U WITH TILDE;Ll;0;L;0075 0303;;;;N;LATIN SMALL LETTER U TILDE;;0168;;0168 +016A;LATIN CAPITAL LETTER U WITH MACRON;Lu;0;L;0055 0304;;;;N;LATIN CAPITAL LETTER U MACRON;;;016B; +016B;LATIN SMALL LETTER U WITH MACRON;Ll;0;L;0075 0304;;;;N;LATIN SMALL LETTER U MACRON;;016A;;016A +016C;LATIN CAPITAL LETTER U WITH BREVE;Lu;0;L;0055 0306;;;;N;LATIN CAPITAL LETTER U BREVE;;;016D; +016D;LATIN SMALL LETTER U WITH BREVE;Ll;0;L;0075 0306;;;;N;LATIN SMALL LETTER U BREVE;;016C;;016C +016E;LATIN CAPITAL LETTER U WITH RING ABOVE;Lu;0;L;0055 030A;;;;N;LATIN CAPITAL LETTER U RING;;;016F; +016F;LATIN SMALL LETTER U WITH RING ABOVE;Ll;0;L;0075 030A;;;;N;LATIN SMALL LETTER U RING;;016E;;016E +0170;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0055 030B;;;;N;LATIN CAPITAL LETTER U DOUBLE ACUTE;;;0171; +0171;LATIN SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0075 030B;;;;N;LATIN SMALL LETTER U DOUBLE ACUTE;;0170;;0170 +0172;LATIN CAPITAL LETTER U WITH OGONEK;Lu;0;L;0055 0328;;;;N;LATIN CAPITAL LETTER U OGONEK;;;0173; +0173;LATIN SMALL LETTER U WITH OGONEK;Ll;0;L;0075 0328;;;;N;LATIN SMALL LETTER U OGONEK;;0172;;0172 +0174;LATIN CAPITAL LETTER W WITH CIRCUMFLEX;Lu;0;L;0057 0302;;;;N;LATIN CAPITAL LETTER W CIRCUMFLEX;;;0175; +0175;LATIN SMALL LETTER W WITH CIRCUMFLEX;Ll;0;L;0077 0302;;;;N;LATIN SMALL LETTER W CIRCUMFLEX;;0174;;0174 +0176;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX;Lu;0;L;0059 0302;;;;N;LATIN CAPITAL LETTER Y CIRCUMFLEX;;;0177; +0177;LATIN SMALL LETTER Y WITH CIRCUMFLEX;Ll;0;L;0079 0302;;;;N;LATIN SMALL LETTER Y CIRCUMFLEX;;0176;;0176 +0178;LATIN CAPITAL LETTER Y WITH DIAERESIS;Lu;0;L;0059 0308;;;;N;LATIN CAPITAL LETTER Y DIAERESIS;;;00FF; +0179;LATIN CAPITAL LETTER Z WITH ACUTE;Lu;0;L;005A 0301;;;;N;LATIN CAPITAL LETTER Z ACUTE;;;017A; +017A;LATIN SMALL LETTER Z WITH ACUTE;Ll;0;L;007A 0301;;;;N;LATIN SMALL LETTER Z ACUTE;;0179;;0179 +017B;LATIN CAPITAL LETTER Z WITH DOT ABOVE;Lu;0;L;005A 0307;;;;N;LATIN CAPITAL LETTER Z DOT;;;017C; +017C;LATIN SMALL LETTER Z WITH DOT ABOVE;Ll;0;L;007A 0307;;;;N;LATIN SMALL LETTER Z DOT;;017B;;017B +017D;LATIN CAPITAL LETTER Z WITH CARON;Lu;0;L;005A 030C;;;;N;LATIN CAPITAL LETTER Z HACEK;;;017E; +017E;LATIN SMALL LETTER Z WITH CARON;Ll;0;L;007A 030C;;;;N;LATIN SMALL LETTER Z HACEK;;017D;;017D +017F;LATIN SMALL LETTER LONG S;Ll;0;L; 0073;;;;N;;;0053;;0053 +0180;LATIN SMALL LETTER B WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER B BAR;;0243;;0243 +0181;LATIN CAPITAL LETTER B WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B HOOK;;;0253; +0182;LATIN CAPITAL LETTER B WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER B TOPBAR;;;0183; +0183;LATIN SMALL LETTER B WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER B TOPBAR;;0182;;0182 +0184;LATIN CAPITAL LETTER TONE SIX;Lu;0;L;;;;;N;;;;0185; +0185;LATIN SMALL LETTER TONE SIX;Ll;0;L;;;;;N;;;0184;;0184 +0186;LATIN CAPITAL LETTER OPEN O;Lu;0;L;;;;;N;;;;0254; +0187;LATIN CAPITAL LETTER C WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER C HOOK;;;0188; +0188;LATIN SMALL LETTER C WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER C HOOK;;0187;;0187 +0189;LATIN CAPITAL LETTER AFRICAN D;Lu;0;L;;;;;N;;;;0256; +018A;LATIN CAPITAL LETTER D WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D HOOK;;;0257; +018B;LATIN CAPITAL LETTER D WITH TOPBAR;Lu;0;L;;;;;N;LATIN CAPITAL LETTER D TOPBAR;;;018C; +018C;LATIN SMALL LETTER D WITH TOPBAR;Ll;0;L;;;;;N;LATIN SMALL LETTER D TOPBAR;;018B;;018B +018D;LATIN SMALL LETTER TURNED DELTA;Ll;0;L;;;;;N;;;;; +018E;LATIN CAPITAL LETTER REVERSED E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER TURNED E;;;01DD; +018F;LATIN CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;0259; +0190;LATIN CAPITAL LETTER OPEN E;Lu;0;L;;;;;N;LATIN CAPITAL LETTER EPSILON;;;025B; +0191;LATIN CAPITAL LETTER F WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER F HOOK;;;0192; +0192;LATIN SMALL LETTER F WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT F;;0191;;0191 +0193;LATIN CAPITAL LETTER G WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G HOOK;;;0260; +0194;LATIN CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;0263; +0195;LATIN SMALL LETTER HV;Ll;0;L;;;;;N;LATIN SMALL LETTER H V;;01F6;;01F6 +0196;LATIN CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;0269; +0197;LATIN CAPITAL LETTER I WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED I;;;0268; +0198;LATIN CAPITAL LETTER K WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER K HOOK;;;0199; +0199;LATIN SMALL LETTER K WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER K HOOK;;0198;;0198 +019A;LATIN SMALL LETTER L WITH BAR;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED L;;023D;;023D +019B;LATIN SMALL LETTER LAMBDA WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED LAMBDA;;;; +019C;LATIN CAPITAL LETTER TURNED M;Lu;0;L;;;;;N;;;;026F; +019D;LATIN CAPITAL LETTER N WITH LEFT HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER N HOOK;;;0272; +019E;LATIN SMALL LETTER N WITH LONG RIGHT LEG;Ll;0;L;;;;;N;;;0220;;0220 +019F;LATIN CAPITAL LETTER O WITH MIDDLE TILDE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER BARRED O;;;0275; +01A0;LATIN CAPITAL LETTER O WITH HORN;Lu;0;L;004F 031B;;;;N;LATIN CAPITAL LETTER O HORN;;;01A1; +01A1;LATIN SMALL LETTER O WITH HORN;Ll;0;L;006F 031B;;;;N;LATIN SMALL LETTER O HORN;;01A0;;01A0 +01A2;LATIN CAPITAL LETTER OI;Lu;0;L;;;;;N;LATIN CAPITAL LETTER O I;;;01A3; +01A3;LATIN SMALL LETTER OI;Ll;0;L;;;;;N;LATIN SMALL LETTER O I;;01A2;;01A2 +01A4;LATIN CAPITAL LETTER P WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER P HOOK;;;01A5; +01A5;LATIN SMALL LETTER P WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER P HOOK;;01A4;;01A4 +01A6;LATIN LETTER YR;Lu;0;L;;;;;N;LATIN LETTER Y R;;;0280; +01A7;LATIN CAPITAL LETTER TONE TWO;Lu;0;L;;;;;N;;;;01A8; +01A8;LATIN SMALL LETTER TONE TWO;Ll;0;L;;;;;N;;;01A7;;01A7 +01A9;LATIN CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;0283; +01AA;LATIN LETTER REVERSED ESH LOOP;Ll;0;L;;;;;N;;;;; +01AB;LATIN SMALL LETTER T WITH PALATAL HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T PALATAL HOOK;;;; +01AC;LATIN CAPITAL LETTER T WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T HOOK;;;01AD; +01AD;LATIN SMALL LETTER T WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T HOOK;;01AC;;01AC +01AE;LATIN CAPITAL LETTER T WITH RETROFLEX HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER T RETROFLEX HOOK;;;0288; +01AF;LATIN CAPITAL LETTER U WITH HORN;Lu;0;L;0055 031B;;;;N;LATIN CAPITAL LETTER U HORN;;;01B0; +01B0;LATIN SMALL LETTER U WITH HORN;Ll;0;L;0075 031B;;;;N;LATIN SMALL LETTER U HORN;;01AF;;01AF +01B1;LATIN CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;028A; +01B2;LATIN CAPITAL LETTER V WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER SCRIPT V;;;028B; +01B3;LATIN CAPITAL LETTER Y WITH HOOK;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Y HOOK;;;01B4; +01B4;LATIN SMALL LETTER Y WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Y HOOK;;01B3;;01B3 +01B5;LATIN CAPITAL LETTER Z WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER Z BAR;;;01B6; +01B6;LATIN SMALL LETTER Z WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER Z BAR;;01B5;;01B5 +01B7;LATIN CAPITAL LETTER EZH;Lu;0;L;;;;;N;LATIN CAPITAL LETTER YOGH;;;0292; +01B8;LATIN CAPITAL LETTER EZH REVERSED;Lu;0;L;;;;;N;LATIN CAPITAL LETTER REVERSED YOGH;;;01B9; +01B9;LATIN SMALL LETTER EZH REVERSED;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED YOGH;;01B8;;01B8 +01BA;LATIN SMALL LETTER EZH WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH WITH TAIL;;;; +01BB;LATIN LETTER TWO WITH STROKE;Lo;0;L;;;;;N;LATIN LETTER TWO BAR;;;; +01BC;LATIN CAPITAL LETTER TONE FIVE;Lu;0;L;;;;;N;;;;01BD; +01BD;LATIN SMALL LETTER TONE FIVE;Ll;0;L;;;;;N;;;01BC;;01BC +01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER INVERTED GLOTTAL STOP BAR;;;; +01BF;LATIN LETTER WYNN;Ll;0;L;;;;;N;;;01F7;;01F7 +01C0;LATIN LETTER DENTAL CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE;;;; +01C1;LATIN LETTER LATERAL CLICK;Lo;0;L;;;;;N;LATIN LETTER DOUBLE PIPE;;;; +01C2;LATIN LETTER ALVEOLAR CLICK;Lo;0;L;;;;;N;LATIN LETTER PIPE DOUBLE BAR;;;; +01C3;LATIN LETTER RETROFLEX CLICK;Lo;0;L;;;;;N;LATIN LETTER EXCLAMATION MARK;;;; +01C4;LATIN CAPITAL LETTER DZ WITH CARON;Lu;0;L; 0044 017D;;;;N;LATIN CAPITAL LETTER D Z HACEK;;;01C6;01C5 +01C5;LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON;Lt;0;L; 0044 017E;;;;N;LATIN LETTER CAPITAL D SMALL Z HACEK;;01C4;01C6;01C5 +01C6;LATIN SMALL LETTER DZ WITH CARON;Ll;0;L; 0064 017E;;;;N;LATIN SMALL LETTER D Z HACEK;;01C4;;01C5 +01C7;LATIN CAPITAL LETTER LJ;Lu;0;L; 004C 004A;;;;N;LATIN CAPITAL LETTER L J;;;01C9;01C8 +01C8;LATIN CAPITAL LETTER L WITH SMALL LETTER J;Lt;0;L; 004C 006A;;;;N;LATIN LETTER CAPITAL L SMALL J;;01C7;01C9;01C8 +01C9;LATIN SMALL LETTER LJ;Ll;0;L; 006C 006A;;;;N;LATIN SMALL LETTER L J;;01C7;;01C8 +01CA;LATIN CAPITAL LETTER NJ;Lu;0;L; 004E 004A;;;;N;LATIN CAPITAL LETTER N J;;;01CC;01CB +01CB;LATIN CAPITAL LETTER N WITH SMALL LETTER J;Lt;0;L; 004E 006A;;;;N;LATIN LETTER CAPITAL N SMALL J;;01CA;01CC;01CB +01CC;LATIN SMALL LETTER NJ;Ll;0;L; 006E 006A;;;;N;LATIN SMALL LETTER N J;;01CA;;01CB +01CD;LATIN CAPITAL LETTER A WITH CARON;Lu;0;L;0041 030C;;;;N;LATIN CAPITAL LETTER A HACEK;;;01CE; +01CE;LATIN SMALL LETTER A WITH CARON;Ll;0;L;0061 030C;;;;N;LATIN SMALL LETTER A HACEK;;01CD;;01CD +01CF;LATIN CAPITAL LETTER I WITH CARON;Lu;0;L;0049 030C;;;;N;LATIN CAPITAL LETTER I HACEK;;;01D0; +01D0;LATIN SMALL LETTER I WITH CARON;Ll;0;L;0069 030C;;;;N;LATIN SMALL LETTER I HACEK;;01CF;;01CF +01D1;LATIN CAPITAL LETTER O WITH CARON;Lu;0;L;004F 030C;;;;N;LATIN CAPITAL LETTER O HACEK;;;01D2; +01D2;LATIN SMALL LETTER O WITH CARON;Ll;0;L;006F 030C;;;;N;LATIN SMALL LETTER O HACEK;;01D1;;01D1 +01D3;LATIN CAPITAL LETTER U WITH CARON;Lu;0;L;0055 030C;;;;N;LATIN CAPITAL LETTER U HACEK;;;01D4; +01D4;LATIN SMALL LETTER U WITH CARON;Ll;0;L;0075 030C;;;;N;LATIN SMALL LETTER U HACEK;;01D3;;01D3 +01D5;LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON;Lu;0;L;00DC 0304;;;;N;LATIN CAPITAL LETTER U DIAERESIS MACRON;;;01D6; +01D6;LATIN SMALL LETTER U WITH DIAERESIS AND MACRON;Ll;0;L;00FC 0304;;;;N;LATIN SMALL LETTER U DIAERESIS MACRON;;01D5;;01D5 +01D7;LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE;Lu;0;L;00DC 0301;;;;N;LATIN CAPITAL LETTER U DIAERESIS ACUTE;;;01D8; +01D8;LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE;Ll;0;L;00FC 0301;;;;N;LATIN SMALL LETTER U DIAERESIS ACUTE;;01D7;;01D7 +01D9;LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON;Lu;0;L;00DC 030C;;;;N;LATIN CAPITAL LETTER U DIAERESIS HACEK;;;01DA; +01DA;LATIN SMALL LETTER U WITH DIAERESIS AND CARON;Ll;0;L;00FC 030C;;;;N;LATIN SMALL LETTER U DIAERESIS HACEK;;01D9;;01D9 +01DB;LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE;Lu;0;L;00DC 0300;;;;N;LATIN CAPITAL LETTER U DIAERESIS GRAVE;;;01DC; +01DC;LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE;Ll;0;L;00FC 0300;;;;N;LATIN SMALL LETTER U DIAERESIS GRAVE;;01DB;;01DB +01DD;LATIN SMALL LETTER TURNED E;Ll;0;L;;;;;N;;;018E;;018E +01DE;LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON;Lu;0;L;00C4 0304;;;;N;LATIN CAPITAL LETTER A DIAERESIS MACRON;;;01DF; +01DF;LATIN SMALL LETTER A WITH DIAERESIS AND MACRON;Ll;0;L;00E4 0304;;;;N;LATIN SMALL LETTER A DIAERESIS MACRON;;01DE;;01DE +01E0;LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON;Lu;0;L;0226 0304;;;;N;LATIN CAPITAL LETTER A DOT MACRON;;;01E1; +01E1;LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON;Ll;0;L;0227 0304;;;;N;LATIN SMALL LETTER A DOT MACRON;;01E0;;01E0 +01E2;LATIN CAPITAL LETTER AE WITH MACRON;Lu;0;L;00C6 0304;;;;N;LATIN CAPITAL LETTER A E MACRON;;;01E3; +01E3;LATIN SMALL LETTER AE WITH MACRON;Ll;0;L;00E6 0304;;;;N;LATIN SMALL LETTER A E MACRON;;01E2;;01E2 +01E4;LATIN CAPITAL LETTER G WITH STROKE;Lu;0;L;;;;;N;LATIN CAPITAL LETTER G BAR;;;01E5; +01E5;LATIN SMALL LETTER G WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER G BAR;;01E4;;01E4 +01E6;LATIN CAPITAL LETTER G WITH CARON;Lu;0;L;0047 030C;;;;N;LATIN CAPITAL LETTER G HACEK;;;01E7; +01E7;LATIN SMALL LETTER G WITH CARON;Ll;0;L;0067 030C;;;;N;LATIN SMALL LETTER G HACEK;;01E6;;01E6 +01E8;LATIN CAPITAL LETTER K WITH CARON;Lu;0;L;004B 030C;;;;N;LATIN CAPITAL LETTER K HACEK;;;01E9; +01E9;LATIN SMALL LETTER K WITH CARON;Ll;0;L;006B 030C;;;;N;LATIN SMALL LETTER K HACEK;;01E8;;01E8 +01EA;LATIN CAPITAL LETTER O WITH OGONEK;Lu;0;L;004F 0328;;;;N;LATIN CAPITAL LETTER O OGONEK;;;01EB; +01EB;LATIN SMALL LETTER O WITH OGONEK;Ll;0;L;006F 0328;;;;N;LATIN SMALL LETTER O OGONEK;;01EA;;01EA +01EC;LATIN CAPITAL LETTER O WITH OGONEK AND MACRON;Lu;0;L;01EA 0304;;;;N;LATIN CAPITAL LETTER O OGONEK MACRON;;;01ED; +01ED;LATIN SMALL LETTER O WITH OGONEK AND MACRON;Ll;0;L;01EB 0304;;;;N;LATIN SMALL LETTER O OGONEK MACRON;;01EC;;01EC +01EE;LATIN CAPITAL LETTER EZH WITH CARON;Lu;0;L;01B7 030C;;;;N;LATIN CAPITAL LETTER YOGH HACEK;;;01EF; +01EF;LATIN SMALL LETTER EZH WITH CARON;Ll;0;L;0292 030C;;;;N;LATIN SMALL LETTER YOGH HACEK;;01EE;;01EE +01F0;LATIN SMALL LETTER J WITH CARON;Ll;0;L;006A 030C;;;;N;LATIN SMALL LETTER J HACEK;;;; +01F1;LATIN CAPITAL LETTER DZ;Lu;0;L; 0044 005A;;;;N;;;;01F3;01F2 +01F2;LATIN CAPITAL LETTER D WITH SMALL LETTER Z;Lt;0;L; 0044 007A;;;;N;;;01F1;01F3;01F2 +01F3;LATIN SMALL LETTER DZ;Ll;0;L; 0064 007A;;;;N;;;01F1;;01F2 +01F4;LATIN CAPITAL LETTER G WITH ACUTE;Lu;0;L;0047 0301;;;;N;;;;01F5; +01F5;LATIN SMALL LETTER G WITH ACUTE;Ll;0;L;0067 0301;;;;N;;;01F4;;01F4 +01F6;LATIN CAPITAL LETTER HWAIR;Lu;0;L;;;;;N;;;;0195; +01F7;LATIN CAPITAL LETTER WYNN;Lu;0;L;;;;;N;;;;01BF; +01F8;LATIN CAPITAL LETTER N WITH GRAVE;Lu;0;L;004E 0300;;;;N;;;;01F9; +01F9;LATIN SMALL LETTER N WITH GRAVE;Ll;0;L;006E 0300;;;;N;;;01F8;;01F8 +01FA;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE;Lu;0;L;00C5 0301;;;;N;;;;01FB; +01FB;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE;Ll;0;L;00E5 0301;;;;N;;;01FA;;01FA +01FC;LATIN CAPITAL LETTER AE WITH ACUTE;Lu;0;L;00C6 0301;;;;N;;;;01FD; +01FD;LATIN SMALL LETTER AE WITH ACUTE;Ll;0;L;00E6 0301;;;;N;;;01FC;;01FC +01FE;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE;Lu;0;L;00D8 0301;;;;N;;;;01FF; +01FF;LATIN SMALL LETTER O WITH STROKE AND ACUTE;Ll;0;L;00F8 0301;;;;N;;;01FE;;01FE +0200;LATIN CAPITAL LETTER A WITH DOUBLE GRAVE;Lu;0;L;0041 030F;;;;N;;;;0201; +0201;LATIN SMALL LETTER A WITH DOUBLE GRAVE;Ll;0;L;0061 030F;;;;N;;;0200;;0200 +0202;LATIN CAPITAL LETTER A WITH INVERTED BREVE;Lu;0;L;0041 0311;;;;N;;;;0203; +0203;LATIN SMALL LETTER A WITH INVERTED BREVE;Ll;0;L;0061 0311;;;;N;;;0202;;0202 +0204;LATIN CAPITAL LETTER E WITH DOUBLE GRAVE;Lu;0;L;0045 030F;;;;N;;;;0205; +0205;LATIN SMALL LETTER E WITH DOUBLE GRAVE;Ll;0;L;0065 030F;;;;N;;;0204;;0204 +0206;LATIN CAPITAL LETTER E WITH INVERTED BREVE;Lu;0;L;0045 0311;;;;N;;;;0207; +0207;LATIN SMALL LETTER E WITH INVERTED BREVE;Ll;0;L;0065 0311;;;;N;;;0206;;0206 +0208;LATIN CAPITAL LETTER I WITH DOUBLE GRAVE;Lu;0;L;0049 030F;;;;N;;;;0209; +0209;LATIN SMALL LETTER I WITH DOUBLE GRAVE;Ll;0;L;0069 030F;;;;N;;;0208;;0208 +020A;LATIN CAPITAL LETTER I WITH INVERTED BREVE;Lu;0;L;0049 0311;;;;N;;;;020B; +020B;LATIN SMALL LETTER I WITH INVERTED BREVE;Ll;0;L;0069 0311;;;;N;;;020A;;020A +020C;LATIN CAPITAL LETTER O WITH DOUBLE GRAVE;Lu;0;L;004F 030F;;;;N;;;;020D; +020D;LATIN SMALL LETTER O WITH DOUBLE GRAVE;Ll;0;L;006F 030F;;;;N;;;020C;;020C +020E;LATIN CAPITAL LETTER O WITH INVERTED BREVE;Lu;0;L;004F 0311;;;;N;;;;020F; +020F;LATIN SMALL LETTER O WITH INVERTED BREVE;Ll;0;L;006F 0311;;;;N;;;020E;;020E +0210;LATIN CAPITAL LETTER R WITH DOUBLE GRAVE;Lu;0;L;0052 030F;;;;N;;;;0211; +0211;LATIN SMALL LETTER R WITH DOUBLE GRAVE;Ll;0;L;0072 030F;;;;N;;;0210;;0210 +0212;LATIN CAPITAL LETTER R WITH INVERTED BREVE;Lu;0;L;0052 0311;;;;N;;;;0213; +0213;LATIN SMALL LETTER R WITH INVERTED BREVE;Ll;0;L;0072 0311;;;;N;;;0212;;0212 +0214;LATIN CAPITAL LETTER U WITH DOUBLE GRAVE;Lu;0;L;0055 030F;;;;N;;;;0215; +0215;LATIN SMALL LETTER U WITH DOUBLE GRAVE;Ll;0;L;0075 030F;;;;N;;;0214;;0214 +0216;LATIN CAPITAL LETTER U WITH INVERTED BREVE;Lu;0;L;0055 0311;;;;N;;;;0217; +0217;LATIN SMALL LETTER U WITH INVERTED BREVE;Ll;0;L;0075 0311;;;;N;;;0216;;0216 +0218;LATIN CAPITAL LETTER S WITH COMMA BELOW;Lu;0;L;0053 0326;;;;N;;;;0219; +0219;LATIN SMALL LETTER S WITH COMMA BELOW;Ll;0;L;0073 0326;;;;N;;;0218;;0218 +021A;LATIN CAPITAL LETTER T WITH COMMA BELOW;Lu;0;L;0054 0326;;;;N;;;;021B; +021B;LATIN SMALL LETTER T WITH COMMA BELOW;Ll;0;L;0074 0326;;;;N;;;021A;;021A +021C;LATIN CAPITAL LETTER YOGH;Lu;0;L;;;;;N;;;;021D; +021D;LATIN SMALL LETTER YOGH;Ll;0;L;;;;;N;;;021C;;021C +021E;LATIN CAPITAL LETTER H WITH CARON;Lu;0;L;0048 030C;;;;N;;;;021F; +021F;LATIN SMALL LETTER H WITH CARON;Ll;0;L;0068 030C;;;;N;;;021E;;021E +0220;LATIN CAPITAL LETTER N WITH LONG RIGHT LEG;Lu;0;L;;;;;N;;;;019E; +0221;LATIN SMALL LETTER D WITH CURL;Ll;0;L;;;;;N;;;;; +0222;LATIN CAPITAL LETTER OU;Lu;0;L;;;;;N;;;;0223; +0223;LATIN SMALL LETTER OU;Ll;0;L;;;;;N;;;0222;;0222 +0224;LATIN CAPITAL LETTER Z WITH HOOK;Lu;0;L;;;;;N;;;;0225; +0225;LATIN SMALL LETTER Z WITH HOOK;Ll;0;L;;;;;N;;;0224;;0224 +0226;LATIN CAPITAL LETTER A WITH DOT ABOVE;Lu;0;L;0041 0307;;;;N;;;;0227; +0227;LATIN SMALL LETTER A WITH DOT ABOVE;Ll;0;L;0061 0307;;;;N;;;0226;;0226 +0228;LATIN CAPITAL LETTER E WITH CEDILLA;Lu;0;L;0045 0327;;;;N;;;;0229; +0229;LATIN SMALL LETTER E WITH CEDILLA;Ll;0;L;0065 0327;;;;N;;;0228;;0228 +022A;LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON;Lu;0;L;00D6 0304;;;;N;;;;022B; +022B;LATIN SMALL LETTER O WITH DIAERESIS AND MACRON;Ll;0;L;00F6 0304;;;;N;;;022A;;022A +022C;LATIN CAPITAL LETTER O WITH TILDE AND MACRON;Lu;0;L;00D5 0304;;;;N;;;;022D; +022D;LATIN SMALL LETTER O WITH TILDE AND MACRON;Ll;0;L;00F5 0304;;;;N;;;022C;;022C +022E;LATIN CAPITAL LETTER O WITH DOT ABOVE;Lu;0;L;004F 0307;;;;N;;;;022F; +022F;LATIN SMALL LETTER O WITH DOT ABOVE;Ll;0;L;006F 0307;;;;N;;;022E;;022E +0230;LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON;Lu;0;L;022E 0304;;;;N;;;;0231; +0231;LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON;Ll;0;L;022F 0304;;;;N;;;0230;;0230 +0232;LATIN CAPITAL LETTER Y WITH MACRON;Lu;0;L;0059 0304;;;;N;;;;0233; +0233;LATIN SMALL LETTER Y WITH MACRON;Ll;0;L;0079 0304;;;;N;;;0232;;0232 +0234;LATIN SMALL LETTER L WITH CURL;Ll;0;L;;;;;N;;;;; +0235;LATIN SMALL LETTER N WITH CURL;Ll;0;L;;;;;N;;;;; +0236;LATIN SMALL LETTER T WITH CURL;Ll;0;L;;;;;N;;;;; +0237;LATIN SMALL LETTER DOTLESS J;Ll;0;L;;;;;N;;;;; +0238;LATIN SMALL LETTER DB DIGRAPH;Ll;0;L;;;;;N;;;;; +0239;LATIN SMALL LETTER QP DIGRAPH;Ll;0;L;;;;;N;;;;; +023A;LATIN CAPITAL LETTER A WITH STROKE;Lu;0;L;;;;;N;;;;2C65; +023B;LATIN CAPITAL LETTER C WITH STROKE;Lu;0;L;;;;;N;;;;023C; +023C;LATIN SMALL LETTER C WITH STROKE;Ll;0;L;;;;;N;;;023B;;023B +023D;LATIN CAPITAL LETTER L WITH BAR;Lu;0;L;;;;;N;;;;019A; +023E;LATIN CAPITAL LETTER T WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;2C66; +023F;LATIN SMALL LETTER S WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7E;;2C7E +0240;LATIN SMALL LETTER Z WITH SWASH TAIL;Ll;0;L;;;;;N;;;2C7F;;2C7F +0241;LATIN CAPITAL LETTER GLOTTAL STOP;Lu;0;L;;;;;N;;;;0242; +0242;LATIN SMALL LETTER GLOTTAL STOP;Ll;0;L;;;;;N;;;0241;;0241 +0243;LATIN CAPITAL LETTER B WITH STROKE;Lu;0;L;;;;;N;;;;0180; +0244;LATIN CAPITAL LETTER U BAR;Lu;0;L;;;;;N;;;;0289; +0245;LATIN CAPITAL LETTER TURNED V;Lu;0;L;;;;;N;;;;028C; +0246;LATIN CAPITAL LETTER E WITH STROKE;Lu;0;L;;;;;N;;;;0247; +0247;LATIN SMALL LETTER E WITH STROKE;Ll;0;L;;;;;N;;;0246;;0246 +0248;LATIN CAPITAL LETTER J WITH STROKE;Lu;0;L;;;;;N;;;;0249; +0249;LATIN SMALL LETTER J WITH STROKE;Ll;0;L;;;;;N;;;0248;;0248 +024A;LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL;Lu;0;L;;;;;N;;;;024B; +024B;LATIN SMALL LETTER Q WITH HOOK TAIL;Ll;0;L;;;;;N;;;024A;;024A +024C;LATIN CAPITAL LETTER R WITH STROKE;Lu;0;L;;;;;N;;;;024D; +024D;LATIN SMALL LETTER R WITH STROKE;Ll;0;L;;;;;N;;;024C;;024C +024E;LATIN CAPITAL LETTER Y WITH STROKE;Lu;0;L;;;;;N;;;;024F; +024F;LATIN SMALL LETTER Y WITH STROKE;Ll;0;L;;;;;N;;;024E;;024E +0250;LATIN SMALL LETTER TURNED A;Ll;0;L;;;;;N;;;2C6F;;2C6F +0251;LATIN SMALL LETTER ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT A;;2C6D;;2C6D +0252;LATIN SMALL LETTER TURNED ALPHA;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED SCRIPT A;;2C70;;2C70 +0253;LATIN SMALL LETTER B WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER B HOOK;;0181;;0181 +0254;LATIN SMALL LETTER OPEN O;Ll;0;L;;;;;N;;;0186;;0186 +0255;LATIN SMALL LETTER C WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER C CURL;;;; +0256;LATIN SMALL LETTER D WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER D RETROFLEX HOOK;;0189;;0189 +0257;LATIN SMALL LETTER D WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER D HOOK;;018A;;018A +0258;LATIN SMALL LETTER REVERSED E;Ll;0;L;;;;;N;;;;; +0259;LATIN SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;018F;;018F +025A;LATIN SMALL LETTER SCHWA WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCHWA HOOK;;;; +025B;LATIN SMALL LETTER OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER EPSILON;;0190;;0190 +025C;LATIN SMALL LETTER REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON;;A7AB;;A7AB +025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED EPSILON HOOK;;;; +025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED REVERSED EPSILON;;;; +025F;LATIN SMALL LETTER DOTLESS J WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR;;;; +0260;LATIN SMALL LETTER G WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER G HOOK;;0193;;0193 +0261;LATIN SMALL LETTER SCRIPT G;Ll;0;L;;;;;N;;;A7AC;;A7AC +0262;LATIN LETTER SMALL CAPITAL G;Ll;0;L;;;;;N;;;;; +0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194 +0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;; +0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D +0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;A7AA;;A7AA +0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;; +0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197 +0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196 +026A;LATIN LETTER SMALL CAPITAL I;Ll;0;L;;;;;N;;;A7AE;;A7AE +026B;LATIN SMALL LETTER L WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;2C62;;2C62 +026C;LATIN SMALL LETTER L WITH BELT;Ll;0;L;;;;;N;LATIN SMALL LETTER L BELT;;A7AD;;A7AD +026D;LATIN SMALL LETTER L WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER L RETROFLEX HOOK;;;; +026E;LATIN SMALL LETTER LEZH;Ll;0;L;;;;;N;LATIN SMALL LETTER L YOGH;;;; +026F;LATIN SMALL LETTER TURNED M;Ll;0;L;;;;;N;;;019C;;019C +0270;LATIN SMALL LETTER TURNED M WITH LONG LEG;Ll;0;L;;;;;N;;;;; +0271;LATIN SMALL LETTER M WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER M HOOK;;2C6E;;2C6E +0272;LATIN SMALL LETTER N WITH LEFT HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N HOOK;;019D;;019D +0273;LATIN SMALL LETTER N WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER N RETROFLEX HOOK;;;; +0274;LATIN LETTER SMALL CAPITAL N;Ll;0;L;;;;;N;;;;; +0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F +0276;LATIN LETTER SMALL CAPITAL OE;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL O E;;;; +0277;LATIN SMALL LETTER CLOSED OMEGA;Ll;0;L;;;;;N;;;;; +0278;LATIN SMALL LETTER PHI;Ll;0;L;;;;;N;;;;; +0279;LATIN SMALL LETTER TURNED R;Ll;0;L;;;;;N;;;;; +027A;LATIN SMALL LETTER TURNED R WITH LONG LEG;Ll;0;L;;;;;N;;;;; +027B;LATIN SMALL LETTER TURNED R WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER TURNED R HOOK;;;; +027C;LATIN SMALL LETTER R WITH LONG LEG;Ll;0;L;;;;;N;;;;; +027D;LATIN SMALL LETTER R WITH TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER R HOOK;;2C64;;2C64 +027E;LATIN SMALL LETTER R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER FISHHOOK R;;;; +027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER REVERSED FISHHOOK R;;;; +0280;LATIN LETTER SMALL CAPITAL R;Ll;0;L;;;;;N;;;01A6;;01A6 +0281;LATIN LETTER SMALL CAPITAL INVERTED R;Ll;0;L;;;;;N;;;;; +0282;LATIN SMALL LETTER S WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER S HOOK;;A7C5;;A7C5 +0283;LATIN SMALL LETTER ESH;Ll;0;L;;;;;N;;;01A9;;01A9 +0284;LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER DOTLESS J BAR HOOK;;;; +0285;LATIN SMALL LETTER SQUAT REVERSED ESH;Ll;0;L;;;;;N;;;;; +0286;LATIN SMALL LETTER ESH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER ESH CURL;;;; +0287;LATIN SMALL LETTER TURNED T;Ll;0;L;;;;;N;;;A7B1;;A7B1 +0288;LATIN SMALL LETTER T WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER T RETROFLEX HOOK;;01AE;;01AE +0289;LATIN SMALL LETTER U BAR;Ll;0;L;;;;;N;;;0244;;0244 +028A;LATIN SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;01B1;;01B1 +028B;LATIN SMALL LETTER V WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER SCRIPT V;;01B2;;01B2 +028C;LATIN SMALL LETTER TURNED V;Ll;0;L;;;;;N;;;0245;;0245 +028D;LATIN SMALL LETTER TURNED W;Ll;0;L;;;;;N;;;;; +028E;LATIN SMALL LETTER TURNED Y;Ll;0;L;;;;;N;;;;; +028F;LATIN LETTER SMALL CAPITAL Y;Ll;0;L;;;;;N;;;;; +0290;LATIN SMALL LETTER Z WITH RETROFLEX HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Z RETROFLEX HOOK;;;; +0291;LATIN SMALL LETTER Z WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER Z CURL;;;; +0292;LATIN SMALL LETTER EZH;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH;;01B7;;01B7 +0293;LATIN SMALL LETTER EZH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER YOGH CURL;;;; +0294;LATIN LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP;;;; +0296;LATIN LETTER INVERTED GLOTTAL STOP;Ll;0;L;;;;;N;;;;; +0297;LATIN LETTER STRETCHED C;Ll;0;L;;;;;N;;;;; +0298;LATIN LETTER BILABIAL CLICK;Ll;0;L;;;;;N;LATIN LETTER BULLSEYE;;;; +0299;LATIN LETTER SMALL CAPITAL B;Ll;0;L;;;;;N;;;;; +029A;LATIN SMALL LETTER CLOSED OPEN E;Ll;0;L;;;;;N;LATIN SMALL LETTER CLOSED EPSILON;;;; +029B;LATIN LETTER SMALL CAPITAL G WITH HOOK;Ll;0;L;;;;;N;LATIN LETTER SMALL CAPITAL G HOOK;;;; +029C;LATIN LETTER SMALL CAPITAL H;Ll;0;L;;;;;N;;;;; +029D;LATIN SMALL LETTER J WITH CROSSED-TAIL;Ll;0;L;;;;;N;LATIN SMALL LETTER CROSSED-TAIL J;;A7B2;;A7B2 +029E;LATIN SMALL LETTER TURNED K;Ll;0;L;;;;;N;;;A7B0;;A7B0 +029F;LATIN LETTER SMALL CAPITAL L;Ll;0;L;;;;;N;;;;; +02A0;LATIN SMALL LETTER Q WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER Q HOOK;;;; +02A1;LATIN LETTER GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER GLOTTAL STOP BAR;;;; +02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE;Ll;0;L;;;;;N;LATIN LETTER REVERSED GLOTTAL STOP BAR;;;; +02A3;LATIN SMALL LETTER DZ DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z;;;; +02A4;LATIN SMALL LETTER DEZH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER D YOGH;;;; +02A5;LATIN SMALL LETTER DZ DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER D Z CURL;;;; +02A6;LATIN SMALL LETTER TS DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T S;;;; +02A7;LATIN SMALL LETTER TESH DIGRAPH;Ll;0;L;;;;;N;LATIN SMALL LETTER T ESH;;;; +02A8;LATIN SMALL LETTER TC DIGRAPH WITH CURL;Ll;0;L;;;;;N;LATIN SMALL LETTER T C CURL;;;; +02A9;LATIN SMALL LETTER FENG DIGRAPH;Ll;0;L;;;;;N;;;;; +02AA;LATIN SMALL LETTER LS DIGRAPH;Ll;0;L;;;;;N;;;;; +02AB;LATIN SMALL LETTER LZ DIGRAPH;Ll;0;L;;;;;N;;;;; +02AC;LATIN LETTER BILABIAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; +02AD;LATIN LETTER BIDENTAL PERCUSSIVE;Ll;0;L;;;;;N;;;;; +02AE;LATIN SMALL LETTER TURNED H WITH FISHHOOK;Ll;0;L;;;;;N;;;;; +02AF;LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL;Ll;0;L;;;;;N;;;;; +02B0;MODIFIER LETTER SMALL H;Lm;0;L; 0068;;;;N;;;;; +02B1;MODIFIER LETTER SMALL H WITH HOOK;Lm;0;L; 0266;;;;N;MODIFIER LETTER SMALL H HOOK;;;; +02B2;MODIFIER LETTER SMALL J;Lm;0;L; 006A;;;;N;;;;; +02B3;MODIFIER LETTER SMALL R;Lm;0;L; 0072;;;;N;;;;; +02B4;MODIFIER LETTER SMALL TURNED R;Lm;0;L; 0279;;;;N;;;;; +02B5;MODIFIER LETTER SMALL TURNED R WITH HOOK;Lm;0;L; 027B;;;;N;MODIFIER LETTER SMALL TURNED R HOOK;;;; +02B6;MODIFIER LETTER SMALL CAPITAL INVERTED R;Lm;0;L; 0281;;;;N;;;;; +02B7;MODIFIER LETTER SMALL W;Lm;0;L; 0077;;;;N;;;;; +02B8;MODIFIER LETTER SMALL Y;Lm;0;L; 0079;;;;N;;;;; +02B9;MODIFIER LETTER PRIME;Lm;0;ON;;;;;N;;;;; +02BA;MODIFIER LETTER DOUBLE PRIME;Lm;0;ON;;;;;N;;;;; +02BB;MODIFIER LETTER TURNED COMMA;Lm;0;L;;;;;N;;;;; +02BC;MODIFIER LETTER APOSTROPHE;Lm;0;L;;;;;N;;;;; +02BD;MODIFIER LETTER REVERSED COMMA;Lm;0;L;;;;;N;;;;; +02BE;MODIFIER LETTER RIGHT HALF RING;Lm;0;L;;;;;N;;;;; +02BF;MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; +02C0;MODIFIER LETTER GLOTTAL STOP;Lm;0;L;;;;;N;;;;; +02C1;MODIFIER LETTER REVERSED GLOTTAL STOP;Lm;0;L;;;;;N;;;;; +02C2;MODIFIER LETTER LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C3;MODIFIER LETTER RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C4;MODIFIER LETTER UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C5;MODIFIER LETTER DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02C6;MODIFIER LETTER CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER CIRCUMFLEX;;;; +02C7;CARON;Lm;0;ON;;;;;N;MODIFIER LETTER HACEK;;;; +02C8;MODIFIER LETTER VERTICAL LINE;Lm;0;ON;;;;;N;;;;; +02C9;MODIFIER LETTER MACRON;Lm;0;ON;;;;;N;;;;; +02CA;MODIFIER LETTER ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER ACUTE;;;; +02CB;MODIFIER LETTER GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER GRAVE;;;; +02CC;MODIFIER LETTER LOW VERTICAL LINE;Lm;0;ON;;;;;N;;;;; +02CD;MODIFIER LETTER LOW MACRON;Lm;0;ON;;;;;N;;;;; +02CE;MODIFIER LETTER LOW GRAVE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW GRAVE;;;; +02CF;MODIFIER LETTER LOW ACUTE ACCENT;Lm;0;ON;;;;;N;MODIFIER LETTER LOW ACUTE;;;; +02D0;MODIFIER LETTER TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; +02D1;MODIFIER LETTER HALF TRIANGULAR COLON;Lm;0;L;;;;;N;;;;; +02D2;MODIFIER LETTER CENTRED RIGHT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED RIGHT HALF RING;;;; +02D3;MODIFIER LETTER CENTRED LEFT HALF RING;Sk;0;ON;;;;;N;MODIFIER LETTER CENTERED LEFT HALF RING;;;; +02D4;MODIFIER LETTER UP TACK;Sk;0;ON;;;;;N;;;;; +02D5;MODIFIER LETTER DOWN TACK;Sk;0;ON;;;;;N;;;;; +02D6;MODIFIER LETTER PLUS SIGN;Sk;0;ON;;;;;N;;;;; +02D7;MODIFIER LETTER MINUS SIGN;Sk;0;ON;;;;;N;;;;; +02D8;BREVE;Sk;0;ON; 0020 0306;;;;N;SPACING BREVE;;;; +02D9;DOT ABOVE;Sk;0;ON; 0020 0307;;;;N;SPACING DOT ABOVE;;;; +02DA;RING ABOVE;Sk;0;ON; 0020 030A;;;;N;SPACING RING ABOVE;;;; +02DB;OGONEK;Sk;0;ON; 0020 0328;;;;N;SPACING OGONEK;;;; +02DC;SMALL TILDE;Sk;0;ON; 0020 0303;;;;N;SPACING TILDE;;;; +02DD;DOUBLE ACUTE ACCENT;Sk;0;ON; 0020 030B;;;;N;SPACING DOUBLE ACUTE;;;; +02DE;MODIFIER LETTER RHOTIC HOOK;Sk;0;ON;;;;;N;;;;; +02DF;MODIFIER LETTER CROSS ACCENT;Sk;0;ON;;;;;N;;;;; +02E0;MODIFIER LETTER SMALL GAMMA;Lm;0;L; 0263;;;;N;;;;; +02E1;MODIFIER LETTER SMALL L;Lm;0;L; 006C;;;;N;;;;; +02E2;MODIFIER LETTER SMALL S;Lm;0;L; 0073;;;;N;;;;; +02E3;MODIFIER LETTER SMALL X;Lm;0;L; 0078;;;;N;;;;; +02E4;MODIFIER LETTER SMALL REVERSED GLOTTAL STOP;Lm;0;L; 0295;;;;N;;;;; +02E5;MODIFIER LETTER EXTRA-HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; +02E6;MODIFIER LETTER HIGH TONE BAR;Sk;0;ON;;;;;N;;;;; +02E7;MODIFIER LETTER MID TONE BAR;Sk;0;ON;;;;;N;;;;; +02E8;MODIFIER LETTER LOW TONE BAR;Sk;0;ON;;;;;N;;;;; +02E9;MODIFIER LETTER EXTRA-LOW TONE BAR;Sk;0;ON;;;;;N;;;;; +02EA;MODIFIER LETTER YIN DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; +02EB;MODIFIER LETTER YANG DEPARTING TONE MARK;Sk;0;ON;;;;;N;;;;; +02EC;MODIFIER LETTER VOICING;Lm;0;ON;;;;;N;;;;; +02ED;MODIFIER LETTER UNASPIRATED;Sk;0;ON;;;;;N;;;;; +02EE;MODIFIER LETTER DOUBLE APOSTROPHE;Lm;0;L;;;;;N;;;;; +02EF;MODIFIER LETTER LOW DOWN ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F0;MODIFIER LETTER LOW UP ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F1;MODIFIER LETTER LOW LEFT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F2;MODIFIER LETTER LOW RIGHT ARROWHEAD;Sk;0;ON;;;;;N;;;;; +02F3;MODIFIER LETTER LOW RING;Sk;0;ON;;;;;N;;;;; +02F4;MODIFIER LETTER MIDDLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; +02F5;MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT;Sk;0;ON;;;;;N;;;;; +02F6;MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT;Sk;0;ON;;;;;N;;;;; +02F7;MODIFIER LETTER LOW TILDE;Sk;0;ON;;;;;N;;;;; +02F8;MODIFIER LETTER RAISED COLON;Sk;0;ON;;;;;N;;;;; +02F9;MODIFIER LETTER BEGIN HIGH TONE;Sk;0;ON;;;;;N;;;;; +02FA;MODIFIER LETTER END HIGH TONE;Sk;0;ON;;;;;N;;;;; +02FB;MODIFIER LETTER BEGIN LOW TONE;Sk;0;ON;;;;;N;;;;; +02FC;MODIFIER LETTER END LOW TONE;Sk;0;ON;;;;;N;;;;; +02FD;MODIFIER LETTER SHELF;Sk;0;ON;;;;;N;;;;; +02FE;MODIFIER LETTER OPEN SHELF;Sk;0;ON;;;;;N;;;;; +02FF;MODIFIER LETTER LOW LEFT ARROW;Sk;0;ON;;;;;N;;;;; +0300;COMBINING GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING GRAVE;;;; +0301;COMBINING ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING ACUTE;;;; +0302;COMBINING CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;NON-SPACING CIRCUMFLEX;;;; +0303;COMBINING TILDE;Mn;230;NSM;;;;;N;NON-SPACING TILDE;;;; +0304;COMBINING MACRON;Mn;230;NSM;;;;;N;NON-SPACING MACRON;;;; +0305;COMBINING OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING OVERSCORE;;;; +0306;COMBINING BREVE;Mn;230;NSM;;;;;N;NON-SPACING BREVE;;;; +0307;COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOT ABOVE;;;; +0308;COMBINING DIAERESIS;Mn;230;NSM;;;;;N;NON-SPACING DIAERESIS;;;; +0309;COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;NON-SPACING HOOK ABOVE;;;; +030A;COMBINING RING ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RING ABOVE;;;; +030B;COMBINING DOUBLE ACUTE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE ACUTE;;;; +030C;COMBINING CARON;Mn;230;NSM;;;;;N;NON-SPACING HACEK;;;; +030D;COMBINING VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL LINE ABOVE;;;; +030E;COMBINING DOUBLE VERTICAL LINE ABOVE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE VERTICAL LINE ABOVE;;;; +030F;COMBINING DOUBLE GRAVE ACCENT;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE GRAVE;;;; +0310;COMBINING CANDRABINDU;Mn;230;NSM;;;;;N;NON-SPACING CANDRABINDU;;;; +0311;COMBINING INVERTED BREVE;Mn;230;NSM;;;;;N;NON-SPACING INVERTED BREVE;;;; +0312;COMBINING TURNED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING TURNED COMMA ABOVE;;;; +0313;COMBINING COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING COMMA ABOVE;;;; +0314;COMBINING REVERSED COMMA ABOVE;Mn;230;NSM;;;;;N;NON-SPACING REVERSED COMMA ABOVE;;;; +0315;COMBINING COMMA ABOVE RIGHT;Mn;232;NSM;;;;;N;NON-SPACING COMMA ABOVE RIGHT;;;; +0316;COMBINING GRAVE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING GRAVE BELOW;;;; +0317;COMBINING ACUTE ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING ACUTE BELOW;;;; +0318;COMBINING LEFT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT TACK BELOW;;;; +0319;COMBINING RIGHT TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT TACK BELOW;;;; +031A;COMBINING LEFT ANGLE ABOVE;Mn;232;NSM;;;;;N;NON-SPACING LEFT ANGLE ABOVE;;;; +031B;COMBINING HORN;Mn;216;NSM;;;;;N;NON-SPACING HORN;;;; +031C;COMBINING LEFT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING LEFT HALF RING BELOW;;;; +031D;COMBINING UP TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING UP TACK BELOW;;;; +031E;COMBINING DOWN TACK BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOWN TACK BELOW;;;; +031F;COMBINING PLUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING PLUS SIGN BELOW;;;; +0320;COMBINING MINUS SIGN BELOW;Mn;220;NSM;;;;;N;NON-SPACING MINUS SIGN BELOW;;;; +0321;COMBINING PALATALIZED HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING PALATALIZED HOOK BELOW;;;; +0322;COMBINING RETROFLEX HOOK BELOW;Mn;202;NSM;;;;;N;NON-SPACING RETROFLEX HOOK BELOW;;;; +0323;COMBINING DOT BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOT BELOW;;;; +0324;COMBINING DIAERESIS BELOW;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE DOT BELOW;;;; +0325;COMBINING RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RING BELOW;;;; +0326;COMBINING COMMA BELOW;Mn;220;NSM;;;;;N;NON-SPACING COMMA BELOW;;;; +0327;COMBINING CEDILLA;Mn;202;NSM;;;;;N;NON-SPACING CEDILLA;;;; +0328;COMBINING OGONEK;Mn;202;NSM;;;;;N;NON-SPACING OGONEK;;;; +0329;COMBINING VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;NON-SPACING VERTICAL LINE BELOW;;;; +032A;COMBINING BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BRIDGE BELOW;;;; +032B;COMBINING INVERTED DOUBLE ARCH BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED DOUBLE ARCH BELOW;;;; +032C;COMBINING CARON BELOW;Mn;220;NSM;;;;;N;NON-SPACING HACEK BELOW;;;; +032D;COMBINING CIRCUMFLEX ACCENT BELOW;Mn;220;NSM;;;;;N;NON-SPACING CIRCUMFLEX BELOW;;;; +032E;COMBINING BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING BREVE BELOW;;;; +032F;COMBINING INVERTED BREVE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BREVE BELOW;;;; +0330;COMBINING TILDE BELOW;Mn;220;NSM;;;;;N;NON-SPACING TILDE BELOW;;;; +0331;COMBINING MACRON BELOW;Mn;220;NSM;;;;;N;NON-SPACING MACRON BELOW;;;; +0332;COMBINING LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING UNDERSCORE;;;; +0333;COMBINING DOUBLE LOW LINE;Mn;220;NSM;;;;;N;NON-SPACING DOUBLE UNDERSCORE;;;; +0334;COMBINING TILDE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING TILDE OVERLAY;;;; +0335;COMBINING SHORT STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT BAR OVERLAY;;;; +0336;COMBINING LONG STROKE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG BAR OVERLAY;;;; +0337;COMBINING SHORT SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT SLASH OVERLAY;;;; +0338;COMBINING LONG SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG SLASH OVERLAY;;;; +0339;COMBINING RIGHT HALF RING BELOW;Mn;220;NSM;;;;;N;NON-SPACING RIGHT HALF RING BELOW;;;; +033A;COMBINING INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;NON-SPACING INVERTED BRIDGE BELOW;;;; +033B;COMBINING SQUARE BELOW;Mn;220;NSM;;;;;N;NON-SPACING SQUARE BELOW;;;; +033C;COMBINING SEAGULL BELOW;Mn;220;NSM;;;;;N;NON-SPACING SEAGULL BELOW;;;; +033D;COMBINING X ABOVE;Mn;230;NSM;;;;;N;NON-SPACING X ABOVE;;;; +033E;COMBINING VERTICAL TILDE;Mn;230;NSM;;;;;N;NON-SPACING VERTICAL TILDE;;;; +033F;COMBINING DOUBLE OVERLINE;Mn;230;NSM;;;;;N;NON-SPACING DOUBLE OVERSCORE;;;; +0340;COMBINING GRAVE TONE MARK;Mn;230;NSM;0300;;;;N;NON-SPACING GRAVE TONE MARK;;;; +0341;COMBINING ACUTE TONE MARK;Mn;230;NSM;0301;;;;N;NON-SPACING ACUTE TONE MARK;;;; +0342;COMBINING GREEK PERISPOMENI;Mn;230;NSM;;;;;N;;;;; +0343;COMBINING GREEK KORONIS;Mn;230;NSM;0313;;;;N;;;;; +0344;COMBINING GREEK DIALYTIKA TONOS;Mn;230;NSM;0308 0301;;;;N;GREEK NON-SPACING DIAERESIS TONOS;;;; +0345;COMBINING GREEK YPOGEGRAMMENI;Mn;240;NSM;;;;;N;GREEK NON-SPACING IOTA BELOW;;0399;;0399 +0346;COMBINING BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; +0347;COMBINING EQUALS SIGN BELOW;Mn;220;NSM;;;;;N;;;;; +0348;COMBINING DOUBLE VERTICAL LINE BELOW;Mn;220;NSM;;;;;N;;;;; +0349;COMBINING LEFT ANGLE BELOW;Mn;220;NSM;;;;;N;;;;; +034A;COMBINING NOT TILDE ABOVE;Mn;230;NSM;;;;;N;;;;; +034B;COMBINING HOMOTHETIC ABOVE;Mn;230;NSM;;;;;N;;;;; +034C;COMBINING ALMOST EQUAL TO ABOVE;Mn;230;NSM;;;;;N;;;;; +034D;COMBINING LEFT RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +034E;COMBINING UPWARDS ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +034F;COMBINING GRAPHEME JOINER;Mn;0;NSM;;;;;N;;;;; +0350;COMBINING RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +0351;COMBINING LEFT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; +0352;COMBINING FERMATA;Mn;230;NSM;;;;;N;;;;; +0353;COMBINING X BELOW;Mn;220;NSM;;;;;N;;;;; +0354;COMBINING LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0355;COMBINING RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0356;COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +0357;COMBINING RIGHT HALF RING ABOVE;Mn;230;NSM;;;;;N;;;;; +0358;COMBINING DOT ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;; +0359;COMBINING ASTERISK BELOW;Mn;220;NSM;;;;;N;;;;; +035A;COMBINING DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;; +035B;COMBINING ZIGZAG ABOVE;Mn;230;NSM;;;;;N;;;;; +035C;COMBINING DOUBLE BREVE BELOW;Mn;233;NSM;;;;;N;;;;; +035D;COMBINING DOUBLE BREVE;Mn;234;NSM;;;;;N;;;;; +035E;COMBINING DOUBLE MACRON;Mn;234;NSM;;;;;N;;;;; +035F;COMBINING DOUBLE MACRON BELOW;Mn;233;NSM;;;;;N;;;;; +0360;COMBINING DOUBLE TILDE;Mn;234;NSM;;;;;N;;;;; +0361;COMBINING DOUBLE INVERTED BREVE;Mn;234;NSM;;;;;N;;;;; +0362;COMBINING DOUBLE RIGHTWARDS ARROW BELOW;Mn;233;NSM;;;;;N;;;;; +0363;COMBINING LATIN SMALL LETTER A;Mn;230;NSM;;;;;N;;;;; +0364;COMBINING LATIN SMALL LETTER E;Mn;230;NSM;;;;;N;;;;; +0365;COMBINING LATIN SMALL LETTER I;Mn;230;NSM;;;;;N;;;;; +0366;COMBINING LATIN SMALL LETTER O;Mn;230;NSM;;;;;N;;;;; +0367;COMBINING LATIN SMALL LETTER U;Mn;230;NSM;;;;;N;;;;; +0368;COMBINING LATIN SMALL LETTER C;Mn;230;NSM;;;;;N;;;;; +0369;COMBINING LATIN SMALL LETTER D;Mn;230;NSM;;;;;N;;;;; +036A;COMBINING LATIN SMALL LETTER H;Mn;230;NSM;;;;;N;;;;; +036B;COMBINING LATIN SMALL LETTER M;Mn;230;NSM;;;;;N;;;;; +036C;COMBINING LATIN SMALL LETTER R;Mn;230;NSM;;;;;N;;;;; +036D;COMBINING LATIN SMALL LETTER T;Mn;230;NSM;;;;;N;;;;; +036E;COMBINING LATIN SMALL LETTER V;Mn;230;NSM;;;;;N;;;;; +036F;COMBINING LATIN SMALL LETTER X;Mn;230;NSM;;;;;N;;;;; +0370;GREEK CAPITAL LETTER HETA;Lu;0;L;;;;;N;;;;0371; +0371;GREEK SMALL LETTER HETA;Ll;0;L;;;;;N;;;0370;;0370 +0372;GREEK CAPITAL LETTER ARCHAIC SAMPI;Lu;0;L;;;;;N;;;;0373; +0373;GREEK SMALL LETTER ARCHAIC SAMPI;Ll;0;L;;;;;N;;;0372;;0372 +0374;GREEK NUMERAL SIGN;Lm;0;ON;02B9;;;;N;GREEK UPPER NUMERAL SIGN;;;; +0375;GREEK LOWER NUMERAL SIGN;Sk;0;ON;;;;;N;;;;; +0376;GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA;Lu;0;L;;;;;N;;;;0377; +0377;GREEK SMALL LETTER PAMPHYLIAN DIGAMMA;Ll;0;L;;;;;N;;;0376;;0376 +037A;GREEK YPOGEGRAMMENI;Lm;0;L; 0020 0345;;;;N;GREEK SPACING IOTA BELOW;;;; +037B;GREEK SMALL REVERSED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FD;;03FD +037C;GREEK SMALL DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FE;;03FE +037D;GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL;Ll;0;L;;;;;N;;;03FF;;03FF +037E;GREEK QUESTION MARK;Po;0;ON;003B;;;;N;;;;; +037F;GREEK CAPITAL LETTER YOT;Lu;0;L;;;;;N;;;;03F3; +0384;GREEK TONOS;Sk;0;ON; 0020 0301;;;;N;GREEK SPACING TONOS;;;; +0385;GREEK DIALYTIKA TONOS;Sk;0;ON;00A8 0301;;;;N;GREEK SPACING DIAERESIS TONOS;;;; +0386;GREEK CAPITAL LETTER ALPHA WITH TONOS;Lu;0;L;0391 0301;;;;N;GREEK CAPITAL LETTER ALPHA TONOS;;;03AC; +0387;GREEK ANO TELEIA;Po;0;ON;00B7;;;;N;;;;; +0388;GREEK CAPITAL LETTER EPSILON WITH TONOS;Lu;0;L;0395 0301;;;;N;GREEK CAPITAL LETTER EPSILON TONOS;;;03AD; +0389;GREEK CAPITAL LETTER ETA WITH TONOS;Lu;0;L;0397 0301;;;;N;GREEK CAPITAL LETTER ETA TONOS;;;03AE; +038A;GREEK CAPITAL LETTER IOTA WITH TONOS;Lu;0;L;0399 0301;;;;N;GREEK CAPITAL LETTER IOTA TONOS;;;03AF; +038C;GREEK CAPITAL LETTER OMICRON WITH TONOS;Lu;0;L;039F 0301;;;;N;GREEK CAPITAL LETTER OMICRON TONOS;;;03CC; +038E;GREEK CAPITAL LETTER UPSILON WITH TONOS;Lu;0;L;03A5 0301;;;;N;GREEK CAPITAL LETTER UPSILON TONOS;;;03CD; +038F;GREEK CAPITAL LETTER OMEGA WITH TONOS;Lu;0;L;03A9 0301;;;;N;GREEK CAPITAL LETTER OMEGA TONOS;;;03CE; +0390;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS;Ll;0;L;03CA 0301;;;;N;GREEK SMALL LETTER IOTA DIAERESIS TONOS;;;; +0391;GREEK CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;03B1; +0392;GREEK CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;03B2; +0393;GREEK CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;03B3; +0394;GREEK CAPITAL LETTER DELTA;Lu;0;L;;;;;N;;;;03B4; +0395;GREEK CAPITAL LETTER EPSILON;Lu;0;L;;;;;N;;;;03B5; +0396;GREEK CAPITAL LETTER ZETA;Lu;0;L;;;;;N;;;;03B6; +0397;GREEK CAPITAL LETTER ETA;Lu;0;L;;;;;N;;;;03B7; +0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; +0399;GREEK CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;03B9; +039A;GREEK CAPITAL LETTER KAPPA;Lu;0;L;;;;;N;;;;03BA; +039B;GREEK CAPITAL LETTER LAMDA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER LAMBDA;;;03BB; +039C;GREEK CAPITAL LETTER MU;Lu;0;L;;;;;N;;;;03BC; +039D;GREEK CAPITAL LETTER NU;Lu;0;L;;;;;N;;;;03BD; +039E;GREEK CAPITAL LETTER XI;Lu;0;L;;;;;N;;;;03BE; +039F;GREEK CAPITAL LETTER OMICRON;Lu;0;L;;;;;N;;;;03BF; +03A0;GREEK CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;03C0; +03A1;GREEK CAPITAL LETTER RHO;Lu;0;L;;;;;N;;;;03C1; +03A3;GREEK CAPITAL LETTER SIGMA;Lu;0;L;;;;;N;;;;03C3; +03A4;GREEK CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;03C4; +03A5;GREEK CAPITAL LETTER UPSILON;Lu;0;L;;;;;N;;;;03C5; +03A6;GREEK CAPITAL LETTER PHI;Lu;0;L;;;;;N;;;;03C6; +03A7;GREEK CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;03C7; +03A8;GREEK CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;03C8; +03A9;GREEK CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;03C9; +03AA;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA;Lu;0;L;0399 0308;;;;N;GREEK CAPITAL LETTER IOTA DIAERESIS;;;03CA; +03AB;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA;Lu;0;L;03A5 0308;;;;N;GREEK CAPITAL LETTER UPSILON DIAERESIS;;;03CB; +03AC;GREEK SMALL LETTER ALPHA WITH TONOS;Ll;0;L;03B1 0301;;;;N;GREEK SMALL LETTER ALPHA TONOS;;0386;;0386 +03AD;GREEK SMALL LETTER EPSILON WITH TONOS;Ll;0;L;03B5 0301;;;;N;GREEK SMALL LETTER EPSILON TONOS;;0388;;0388 +03AE;GREEK SMALL LETTER ETA WITH TONOS;Ll;0;L;03B7 0301;;;;N;GREEK SMALL LETTER ETA TONOS;;0389;;0389 +03AF;GREEK SMALL LETTER IOTA WITH TONOS;Ll;0;L;03B9 0301;;;;N;GREEK SMALL LETTER IOTA TONOS;;038A;;038A +03B0;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS;Ll;0;L;03CB 0301;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS TONOS;;;; +03B1;GREEK SMALL LETTER ALPHA;Ll;0;L;;;;;N;;;0391;;0391 +03B2;GREEK SMALL LETTER BETA;Ll;0;L;;;;;N;;;0392;;0392 +03B3;GREEK SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0393;;0393 +03B4;GREEK SMALL LETTER DELTA;Ll;0;L;;;;;N;;;0394;;0394 +03B5;GREEK SMALL LETTER EPSILON;Ll;0;L;;;;;N;;;0395;;0395 +03B6;GREEK SMALL LETTER ZETA;Ll;0;L;;;;;N;;;0396;;0396 +03B7;GREEK SMALL LETTER ETA;Ll;0;L;;;;;N;;;0397;;0397 +03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 +03B9;GREEK SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0399;;0399 +03BA;GREEK SMALL LETTER KAPPA;Ll;0;L;;;;;N;;;039A;;039A +03BB;GREEK SMALL LETTER LAMDA;Ll;0;L;;;;;N;GREEK SMALL LETTER LAMBDA;;039B;;039B +03BC;GREEK SMALL LETTER MU;Ll;0;L;;;;;N;;;039C;;039C +03BD;GREEK SMALL LETTER NU;Ll;0;L;;;;;N;;;039D;;039D +03BE;GREEK SMALL LETTER XI;Ll;0;L;;;;;N;;;039E;;039E +03BF;GREEK SMALL LETTER OMICRON;Ll;0;L;;;;;N;;;039F;;039F +03C0;GREEK SMALL LETTER PI;Ll;0;L;;;;;N;;;03A0;;03A0 +03C1;GREEK SMALL LETTER RHO;Ll;0;L;;;;;N;;;03A1;;03A1 +03C2;GREEK SMALL LETTER FINAL SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 +03C3;GREEK SMALL LETTER SIGMA;Ll;0;L;;;;;N;;;03A3;;03A3 +03C4;GREEK SMALL LETTER TAU;Ll;0;L;;;;;N;;;03A4;;03A4 +03C5;GREEK SMALL LETTER UPSILON;Ll;0;L;;;;;N;;;03A5;;03A5 +03C6;GREEK SMALL LETTER PHI;Ll;0;L;;;;;N;;;03A6;;03A6 +03C7;GREEK SMALL LETTER CHI;Ll;0;L;;;;;N;;;03A7;;03A7 +03C8;GREEK SMALL LETTER PSI;Ll;0;L;;;;;N;;;03A8;;03A8 +03C9;GREEK SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;03A9;;03A9 +03CA;GREEK SMALL LETTER IOTA WITH DIALYTIKA;Ll;0;L;03B9 0308;;;;N;GREEK SMALL LETTER IOTA DIAERESIS;;03AA;;03AA +03CB;GREEK SMALL LETTER UPSILON WITH DIALYTIKA;Ll;0;L;03C5 0308;;;;N;GREEK SMALL LETTER UPSILON DIAERESIS;;03AB;;03AB +03CC;GREEK SMALL LETTER OMICRON WITH TONOS;Ll;0;L;03BF 0301;;;;N;GREEK SMALL LETTER OMICRON TONOS;;038C;;038C +03CD;GREEK SMALL LETTER UPSILON WITH TONOS;Ll;0;L;03C5 0301;;;;N;GREEK SMALL LETTER UPSILON TONOS;;038E;;038E +03CE;GREEK SMALL LETTER OMEGA WITH TONOS;Ll;0;L;03C9 0301;;;;N;GREEK SMALL LETTER OMEGA TONOS;;038F;;038F +03CF;GREEK CAPITAL KAI SYMBOL;Lu;0;L;;;;;N;;;;03D7; +03D0;GREEK BETA SYMBOL;Ll;0;L; 03B2;;;;N;GREEK SMALL LETTER CURLED BETA;;0392;;0392 +03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 +03D2;GREEK UPSILON WITH HOOK SYMBOL;Lu;0;L; 03A5;;;;N;GREEK CAPITAL LETTER UPSILON HOOK;;;; +03D3;GREEK UPSILON WITH ACUTE AND HOOK SYMBOL;Lu;0;L;03D2 0301;;;;N;GREEK CAPITAL LETTER UPSILON HOOK TONOS;;;; +03D4;GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL;Lu;0;L;03D2 0308;;;;N;GREEK CAPITAL LETTER UPSILON HOOK DIAERESIS;;;; +03D5;GREEK PHI SYMBOL;Ll;0;L; 03C6;;;;N;GREEK SMALL LETTER SCRIPT PHI;;03A6;;03A6 +03D6;GREEK PI SYMBOL;Ll;0;L; 03C0;;;;N;GREEK SMALL LETTER OMEGA PI;;03A0;;03A0 +03D7;GREEK KAI SYMBOL;Ll;0;L;;;;;N;;;03CF;;03CF +03D8;GREEK LETTER ARCHAIC KOPPA;Lu;0;L;;;;;N;;;;03D9; +03D9;GREEK SMALL LETTER ARCHAIC KOPPA;Ll;0;L;;;;;N;;;03D8;;03D8 +03DA;GREEK LETTER STIGMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER STIGMA;;;03DB; +03DB;GREEK SMALL LETTER STIGMA;Ll;0;L;;;;;N;;;03DA;;03DA +03DC;GREEK LETTER DIGAMMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DIGAMMA;;;03DD; +03DD;GREEK SMALL LETTER DIGAMMA;Ll;0;L;;;;;N;;;03DC;;03DC +03DE;GREEK LETTER KOPPA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KOPPA;;;03DF; +03DF;GREEK SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;03DE;;03DE +03E0;GREEK LETTER SAMPI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SAMPI;;;03E1; +03E1;GREEK SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;03E0;;03E0 +03E2;COPTIC CAPITAL LETTER SHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHEI;;;03E3; +03E3;COPTIC SMALL LETTER SHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER SHEI;;03E2;;03E2 +03E4;COPTIC CAPITAL LETTER FEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER FEI;;;03E5; +03E5;COPTIC SMALL LETTER FEI;Ll;0;L;;;;;N;GREEK SMALL LETTER FEI;;03E4;;03E4 +03E6;COPTIC CAPITAL LETTER KHEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER KHEI;;;03E7; +03E7;COPTIC SMALL LETTER KHEI;Ll;0;L;;;;;N;GREEK SMALL LETTER KHEI;;03E6;;03E6 +03E8;COPTIC CAPITAL LETTER HORI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER HORI;;;03E9; +03E9;COPTIC SMALL LETTER HORI;Ll;0;L;;;;;N;GREEK SMALL LETTER HORI;;03E8;;03E8 +03EA;COPTIC CAPITAL LETTER GANGIA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER GANGIA;;;03EB; +03EB;COPTIC SMALL LETTER GANGIA;Ll;0;L;;;;;N;GREEK SMALL LETTER GANGIA;;03EA;;03EA +03EC;COPTIC CAPITAL LETTER SHIMA;Lu;0;L;;;;;N;GREEK CAPITAL LETTER SHIMA;;;03ED; +03ED;COPTIC SMALL LETTER SHIMA;Ll;0;L;;;;;N;GREEK SMALL LETTER SHIMA;;03EC;;03EC +03EE;COPTIC CAPITAL LETTER DEI;Lu;0;L;;;;;N;GREEK CAPITAL LETTER DEI;;;03EF; +03EF;COPTIC SMALL LETTER DEI;Ll;0;L;;;;;N;GREEK SMALL LETTER DEI;;03EE;;03EE +03F0;GREEK KAPPA SYMBOL;Ll;0;L; 03BA;;;;N;GREEK SMALL LETTER SCRIPT KAPPA;;039A;;039A +03F1;GREEK RHO SYMBOL;Ll;0;L; 03C1;;;;N;GREEK SMALL LETTER TAILED RHO;;03A1;;03A1 +03F2;GREEK LUNATE SIGMA SYMBOL;Ll;0;L; 03C2;;;;N;GREEK SMALL LETTER LUNATE SIGMA;;03F9;;03F9 +03F3;GREEK LETTER YOT;Ll;0;L;;;;;N;;;037F;;037F +03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8; +03F5;GREEK LUNATE EPSILON SYMBOL;Ll;0;L; 03B5;;;;N;;;0395;;0395 +03F6;GREEK REVERSED LUNATE EPSILON SYMBOL;Sm;0;ON;;;;;N;;;;; +03F7;GREEK CAPITAL LETTER SHO;Lu;0;L;;;;;N;;;;03F8; +03F8;GREEK SMALL LETTER SHO;Ll;0;L;;;;;N;;;03F7;;03F7 +03F9;GREEK CAPITAL LUNATE SIGMA SYMBOL;Lu;0;L; 03A3;;;;N;;;;03F2; +03FA;GREEK CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;03FB; +03FB;GREEK SMALL LETTER SAN;Ll;0;L;;;;;N;;;03FA;;03FA +03FC;GREEK RHO WITH STROKE SYMBOL;Ll;0;L;;;;;N;;;;; +03FD;GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037B; +03FE;GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037C; +03FF;GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL;Lu;0;L;;;;;N;;;;037D; +0400;CYRILLIC CAPITAL LETTER IE WITH GRAVE;Lu;0;L;0415 0300;;;;N;;;;0450; +0401;CYRILLIC CAPITAL LETTER IO;Lu;0;L;0415 0308;;;;N;;;;0451; +0402;CYRILLIC CAPITAL LETTER DJE;Lu;0;L;;;;;N;;;;0452; +0403;CYRILLIC CAPITAL LETTER GJE;Lu;0;L;0413 0301;;;;N;;;;0453; +0404;CYRILLIC CAPITAL LETTER UKRAINIAN IE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER E;;;0454; +0405;CYRILLIC CAPITAL LETTER DZE;Lu;0;L;;;;;N;;;;0455; +0406;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER I;;;0456; +0407;CYRILLIC CAPITAL LETTER YI;Lu;0;L;0406 0308;;;;N;;;;0457; +0408;CYRILLIC CAPITAL LETTER JE;Lu;0;L;;;;;N;;;;0458; +0409;CYRILLIC CAPITAL LETTER LJE;Lu;0;L;;;;;N;;;;0459; +040A;CYRILLIC CAPITAL LETTER NJE;Lu;0;L;;;;;N;;;;045A; +040B;CYRILLIC CAPITAL LETTER TSHE;Lu;0;L;;;;;N;;;;045B; +040C;CYRILLIC CAPITAL LETTER KJE;Lu;0;L;041A 0301;;;;N;;;;045C; +040D;CYRILLIC CAPITAL LETTER I WITH GRAVE;Lu;0;L;0418 0300;;;;N;;;;045D; +040E;CYRILLIC CAPITAL LETTER SHORT U;Lu;0;L;0423 0306;;;;N;;;;045E; +040F;CYRILLIC CAPITAL LETTER DZHE;Lu;0;L;;;;;N;;;;045F; +0410;CYRILLIC CAPITAL LETTER A;Lu;0;L;;;;;N;;;;0430; +0411;CYRILLIC CAPITAL LETTER BE;Lu;0;L;;;;;N;;;;0431; +0412;CYRILLIC CAPITAL LETTER VE;Lu;0;L;;;;;N;;;;0432; +0413;CYRILLIC CAPITAL LETTER GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE;;;0433; +0414;CYRILLIC CAPITAL LETTER DE;Lu;0;L;;;;;N;;;;0434; +0415;CYRILLIC CAPITAL LETTER IE;Lu;0;L;;;;;N;;;;0435; +0416;CYRILLIC CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;0436; +0417;CYRILLIC CAPITAL LETTER ZE;Lu;0;L;;;;;N;;;;0437; +0418;CYRILLIC CAPITAL LETTER I;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER II;;;0438; +0419;CYRILLIC CAPITAL LETTER SHORT I;Lu;0;L;0418 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT II;;;0439; +041A;CYRILLIC CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;043A; +041B;CYRILLIC CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;043B; +041C;CYRILLIC CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;043C; +041D;CYRILLIC CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;043D; +041E;CYRILLIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;043E; +041F;CYRILLIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;043F; +0420;CYRILLIC CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;0440; +0421;CYRILLIC CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;0441; +0422;CYRILLIC CAPITAL LETTER TE;Lu;0;L;;;;;N;;;;0442; +0423;CYRILLIC CAPITAL LETTER U;Lu;0;L;;;;;N;;;;0443; +0424;CYRILLIC CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;0444; +0425;CYRILLIC CAPITAL LETTER HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA;;;0445; +0426;CYRILLIC CAPITAL LETTER TSE;Lu;0;L;;;;;N;;;;0446; +0427;CYRILLIC CAPITAL LETTER CHE;Lu;0;L;;;;;N;;;;0447; +0428;CYRILLIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0448; +0429;CYRILLIC CAPITAL LETTER SHCHA;Lu;0;L;;;;;N;;;;0449; +042A;CYRILLIC CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;044A; +042B;CYRILLIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER YERI;;;044B; +042C;CYRILLIC CAPITAL LETTER SOFT SIGN;Lu;0;L;;;;;N;;;;044C; +042D;CYRILLIC CAPITAL LETTER E;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED E;;;044D; +042E;CYRILLIC CAPITAL LETTER YU;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IU;;;044E; +042F;CYRILLIC CAPITAL LETTER YA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IA;;;044F; +0430;CYRILLIC SMALL LETTER A;Ll;0;L;;;;;N;;;0410;;0410 +0431;CYRILLIC SMALL LETTER BE;Ll;0;L;;;;;N;;;0411;;0411 +0432;CYRILLIC SMALL LETTER VE;Ll;0;L;;;;;N;;;0412;;0412 +0433;CYRILLIC SMALL LETTER GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE;;0413;;0413 +0434;CYRILLIC SMALL LETTER DE;Ll;0;L;;;;;N;;;0414;;0414 +0435;CYRILLIC SMALL LETTER IE;Ll;0;L;;;;;N;;;0415;;0415 +0436;CYRILLIC SMALL LETTER ZHE;Ll;0;L;;;;;N;;;0416;;0416 +0437;CYRILLIC SMALL LETTER ZE;Ll;0;L;;;;;N;;;0417;;0417 +0438;CYRILLIC SMALL LETTER I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER II;;0418;;0418 +0439;CYRILLIC SMALL LETTER SHORT I;Ll;0;L;0438 0306;;;;N;CYRILLIC SMALL LETTER SHORT II;;0419;;0419 +043A;CYRILLIC SMALL LETTER KA;Ll;0;L;;;;;N;;;041A;;041A +043B;CYRILLIC SMALL LETTER EL;Ll;0;L;;;;;N;;;041B;;041B +043C;CYRILLIC SMALL LETTER EM;Ll;0;L;;;;;N;;;041C;;041C +043D;CYRILLIC SMALL LETTER EN;Ll;0;L;;;;;N;;;041D;;041D +043E;CYRILLIC SMALL LETTER O;Ll;0;L;;;;;N;;;041E;;041E +043F;CYRILLIC SMALL LETTER PE;Ll;0;L;;;;;N;;;041F;;041F +0440;CYRILLIC SMALL LETTER ER;Ll;0;L;;;;;N;;;0420;;0420 +0441;CYRILLIC SMALL LETTER ES;Ll;0;L;;;;;N;;;0421;;0421 +0442;CYRILLIC SMALL LETTER TE;Ll;0;L;;;;;N;;;0422;;0422 +0443;CYRILLIC SMALL LETTER U;Ll;0;L;;;;;N;;;0423;;0423 +0444;CYRILLIC SMALL LETTER EF;Ll;0;L;;;;;N;;;0424;;0424 +0445;CYRILLIC SMALL LETTER HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA;;0425;;0425 +0446;CYRILLIC SMALL LETTER TSE;Ll;0;L;;;;;N;;;0426;;0426 +0447;CYRILLIC SMALL LETTER CHE;Ll;0;L;;;;;N;;;0427;;0427 +0448;CYRILLIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;0428;;0428 +0449;CYRILLIC SMALL LETTER SHCHA;Ll;0;L;;;;;N;;;0429;;0429 +044A;CYRILLIC SMALL LETTER HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A +044B;CYRILLIC SMALL LETTER YERU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER YERI;;042B;;042B +044C;CYRILLIC SMALL LETTER SOFT SIGN;Ll;0;L;;;;;N;;;042C;;042C +044D;CYRILLIC SMALL LETTER E;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED E;;042D;;042D +044E;CYRILLIC SMALL LETTER YU;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IU;;042E;;042E +044F;CYRILLIC SMALL LETTER YA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IA;;042F;;042F +0450;CYRILLIC SMALL LETTER IE WITH GRAVE;Ll;0;L;0435 0300;;;;N;;;0400;;0400 +0451;CYRILLIC SMALL LETTER IO;Ll;0;L;0435 0308;;;;N;;;0401;;0401 +0452;CYRILLIC SMALL LETTER DJE;Ll;0;L;;;;;N;;;0402;;0402 +0453;CYRILLIC SMALL LETTER GJE;Ll;0;L;0433 0301;;;;N;;;0403;;0403 +0454;CYRILLIC SMALL LETTER UKRAINIAN IE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER E;;0404;;0404 +0455;CYRILLIC SMALL LETTER DZE;Ll;0;L;;;;;N;;;0405;;0405 +0456;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER I;;0406;;0406 +0457;CYRILLIC SMALL LETTER YI;Ll;0;L;0456 0308;;;;N;;;0407;;0407 +0458;CYRILLIC SMALL LETTER JE;Ll;0;L;;;;;N;;;0408;;0408 +0459;CYRILLIC SMALL LETTER LJE;Ll;0;L;;;;;N;;;0409;;0409 +045A;CYRILLIC SMALL LETTER NJE;Ll;0;L;;;;;N;;;040A;;040A +045B;CYRILLIC SMALL LETTER TSHE;Ll;0;L;;;;;N;;;040B;;040B +045C;CYRILLIC SMALL LETTER KJE;Ll;0;L;043A 0301;;;;N;;;040C;;040C +045D;CYRILLIC SMALL LETTER I WITH GRAVE;Ll;0;L;0438 0300;;;;N;;;040D;;040D +045E;CYRILLIC SMALL LETTER SHORT U;Ll;0;L;0443 0306;;;;N;;;040E;;040E +045F;CYRILLIC SMALL LETTER DZHE;Ll;0;L;;;;;N;;;040F;;040F +0460;CYRILLIC CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;0461; +0461;CYRILLIC SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;0460;;0460 +0462;CYRILLIC CAPITAL LETTER YAT;Lu;0;L;;;;;N;;;;0463; +0463;CYRILLIC SMALL LETTER YAT;Ll;0;L;;;;;N;;;0462;;0462 +0464;CYRILLIC CAPITAL LETTER IOTIFIED E;Lu;0;L;;;;;N;;;;0465; +0465;CYRILLIC SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;0464;;0464 +0466;CYRILLIC CAPITAL LETTER LITTLE YUS;Lu;0;L;;;;;N;;;;0467; +0467;CYRILLIC SMALL LETTER LITTLE YUS;Ll;0;L;;;;;N;;;0466;;0466 +0468;CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS;Lu;0;L;;;;;N;;;;0469; +0469;CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS;Ll;0;L;;;;;N;;;0468;;0468 +046A;CYRILLIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;046B; +046B;CYRILLIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;046A;;046A +046C;CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS;Lu;0;L;;;;;N;;;;046D; +046D;CYRILLIC SMALL LETTER IOTIFIED BIG YUS;Ll;0;L;;;;;N;;;046C;;046C +046E;CYRILLIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;046F; +046F;CYRILLIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;046E;;046E +0470;CYRILLIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;0471; +0471;CYRILLIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;0470;;0470 +0472;CYRILLIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;0473; +0473;CYRILLIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;0472;;0472 +0474;CYRILLIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;0475; +0475;CYRILLIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;0474;;0474 +0476;CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Lu;0;L;0474 030F;;;;N;CYRILLIC CAPITAL LETTER IZHITSA DOUBLE GRAVE;;;0477; +0477;CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT;Ll;0;L;0475 030F;;;;N;CYRILLIC SMALL LETTER IZHITSA DOUBLE GRAVE;;0476;;0476 +0478;CYRILLIC CAPITAL LETTER UK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER UK DIGRAPH;;;0479; +0479;CYRILLIC SMALL LETTER UK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER UK DIGRAPH;;0478;;0478 +047A;CYRILLIC CAPITAL LETTER ROUND OMEGA;Lu;0;L;;;;;N;;;;047B; +047B;CYRILLIC SMALL LETTER ROUND OMEGA;Ll;0;L;;;;;N;;;047A;;047A +047C;CYRILLIC CAPITAL LETTER OMEGA WITH TITLO;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER OMEGA TITLO;;;047D; +047D;CYRILLIC SMALL LETTER OMEGA WITH TITLO;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER OMEGA TITLO;;047C;;047C +047E;CYRILLIC CAPITAL LETTER OT;Lu;0;L;;;;;N;;;;047F; +047F;CYRILLIC SMALL LETTER OT;Ll;0;L;;;;;N;;;047E;;047E +0480;CYRILLIC CAPITAL LETTER KOPPA;Lu;0;L;;;;;N;;;;0481; +0481;CYRILLIC SMALL LETTER KOPPA;Ll;0;L;;;;;N;;;0480;;0480 +0482;CYRILLIC THOUSANDS SIGN;So;0;L;;;;;N;;;;; +0483;COMBINING CYRILLIC TITLO;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING TITLO;;;; +0484;COMBINING CYRILLIC PALATALIZATION;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PALATALIZATION;;;; +0485;COMBINING CYRILLIC DASIA PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING DASIA PNEUMATA;;;; +0486;COMBINING CYRILLIC PSILI PNEUMATA;Mn;230;NSM;;;;;N;CYRILLIC NON-SPACING PSILI PNEUMATA;;;; +0487;COMBINING CYRILLIC POKRYTIE;Mn;230;NSM;;;;;N;;;;; +0488;COMBINING CYRILLIC HUNDRED THOUSANDS SIGN;Me;0;NSM;;;;;N;;;;; +0489;COMBINING CYRILLIC MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +048A;CYRILLIC CAPITAL LETTER SHORT I WITH TAIL;Lu;0;L;;;;;N;;;;048B; +048B;CYRILLIC SMALL LETTER SHORT I WITH TAIL;Ll;0;L;;;;;N;;;048A;;048A +048C;CYRILLIC CAPITAL LETTER SEMISOFT SIGN;Lu;0;L;;;;;N;;;;048D; +048D;CYRILLIC SMALL LETTER SEMISOFT SIGN;Ll;0;L;;;;;N;;;048C;;048C +048E;CYRILLIC CAPITAL LETTER ER WITH TICK;Lu;0;L;;;;;N;;;;048F; +048F;CYRILLIC SMALL LETTER ER WITH TICK;Ll;0;L;;;;;N;;;048E;;048E +0490;CYRILLIC CAPITAL LETTER GHE WITH UPTURN;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE WITH UPTURN;;;0491; +0491;CYRILLIC SMALL LETTER GHE WITH UPTURN;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE WITH UPTURN;;0490;;0490 +0492;CYRILLIC CAPITAL LETTER GHE WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE BAR;;;0493; +0493;CYRILLIC SMALL LETTER GHE WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE BAR;;0492;;0492 +0494;CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER GE HOOK;;;0495; +0495;CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER GE HOOK;;0494;;0494 +0496;CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZHE WITH RIGHT DESCENDER;;;0497; +0497;CYRILLIC SMALL LETTER ZHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZHE WITH RIGHT DESCENDER;;0496;;0496 +0498;CYRILLIC CAPITAL LETTER ZE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ZE CEDILLA;;;0499; +0499;CYRILLIC SMALL LETTER ZE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ZE CEDILLA;;0498;;0498 +049A;CYRILLIC CAPITAL LETTER KA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA WITH RIGHT DESCENDER;;;049B; +049B;CYRILLIC SMALL LETTER KA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA WITH RIGHT DESCENDER;;049A;;049A +049C;CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA VERTICAL BAR;;;049D; +049D;CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA VERTICAL BAR;;049C;;049C +049E;CYRILLIC CAPITAL LETTER KA WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA BAR;;;049F; +049F;CYRILLIC SMALL LETTER KA WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA BAR;;049E;;049E +04A0;CYRILLIC CAPITAL LETTER BASHKIR KA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER REVERSED GE KA;;;04A1; +04A1;CYRILLIC SMALL LETTER BASHKIR KA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER REVERSED GE KA;;04A0;;04A0 +04A2;CYRILLIC CAPITAL LETTER EN WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN WITH RIGHT DESCENDER;;;04A3; +04A3;CYRILLIC SMALL LETTER EN WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN WITH RIGHT DESCENDER;;04A2;;04A2 +04A4;CYRILLIC CAPITAL LIGATURE EN GHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN GE;;;04A5; +04A5;CYRILLIC SMALL LIGATURE EN GHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN GE;;04A4;;04A4 +04A6;CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER PE HOOK;;;04A7; +04A7;CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER PE HOOK;;04A6;;04A6 +04A8;CYRILLIC CAPITAL LETTER ABKHASIAN HA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER O HOOK;;;04A9; +04A9;CYRILLIC SMALL LETTER ABKHASIAN HA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER O HOOK;;04A8;;04A8 +04AA;CYRILLIC CAPITAL LETTER ES WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER ES CEDILLA;;;04AB; +04AB;CYRILLIC SMALL LETTER ES WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER ES CEDILLA;;04AA;;04AA +04AC;CYRILLIC CAPITAL LETTER TE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE WITH RIGHT DESCENDER;;;04AD; +04AD;CYRILLIC SMALL LETTER TE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE WITH RIGHT DESCENDER;;04AC;;04AC +04AE;CYRILLIC CAPITAL LETTER STRAIGHT U;Lu;0;L;;;;;N;;;;04AF; +04AF;CYRILLIC SMALL LETTER STRAIGHT U;Ll;0;L;;;;;N;;;04AE;;04AE +04B0;CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER STRAIGHT U BAR;;;04B1; +04B1;CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER STRAIGHT U BAR;;04B0;;04B0 +04B2;CYRILLIC CAPITAL LETTER HA WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KHA WITH RIGHT DESCENDER;;;04B3; +04B3;CYRILLIC SMALL LETTER HA WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KHA WITH RIGHT DESCENDER;;04B2;;04B2 +04B4;CYRILLIC CAPITAL LIGATURE TE TSE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER TE TSE;;;04B5; +04B5;CYRILLIC SMALL LIGATURE TE TSE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER TE TSE;;04B4;;04B4 +04B6;CYRILLIC CAPITAL LETTER CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH RIGHT DESCENDER;;;04B7; +04B7;CYRILLIC SMALL LETTER CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH RIGHT DESCENDER;;04B6;;04B6 +04B8;CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE VERTICAL BAR;;;04B9; +04B9;CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE VERTICAL BAR;;04B8;;04B8 +04BA;CYRILLIC CAPITAL LETTER SHHA;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER H;;;04BB; +04BB;CYRILLIC SMALL LETTER SHHA;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER H;;04BA;;04BA +04BC;CYRILLIC CAPITAL LETTER ABKHASIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK;;;04BD; +04BD;CYRILLIC SMALL LETTER ABKHASIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK;;04BC;;04BC +04BE;CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER IE HOOK OGONEK;;;04BF; +04BF;CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER IE HOOK OGONEK;;04BE;;04BE +04C0;CYRILLIC LETTER PALOCHKA;Lu;0;L;;;;;N;CYRILLIC LETTER I;;;04CF; +04C1;CYRILLIC CAPITAL LETTER ZHE WITH BREVE;Lu;0;L;0416 0306;;;;N;CYRILLIC CAPITAL LETTER SHORT ZHE;;;04C2; +04C2;CYRILLIC SMALL LETTER ZHE WITH BREVE;Ll;0;L;0436 0306;;;;N;CYRILLIC SMALL LETTER SHORT ZHE;;04C1;;04C1 +04C3;CYRILLIC CAPITAL LETTER KA WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER KA HOOK;;;04C4; +04C4;CYRILLIC SMALL LETTER KA WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER KA HOOK;;04C3;;04C3 +04C5;CYRILLIC CAPITAL LETTER EL WITH TAIL;Lu;0;L;;;;;N;;;;04C6; +04C6;CYRILLIC SMALL LETTER EL WITH TAIL;Ll;0;L;;;;;N;;;04C5;;04C5 +04C7;CYRILLIC CAPITAL LETTER EN WITH HOOK;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER EN HOOK;;;04C8; +04C8;CYRILLIC SMALL LETTER EN WITH HOOK;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER EN HOOK;;04C7;;04C7 +04C9;CYRILLIC CAPITAL LETTER EN WITH TAIL;Lu;0;L;;;;;N;;;;04CA; +04CA;CYRILLIC SMALL LETTER EN WITH TAIL;Ll;0;L;;;;;N;;;04C9;;04C9 +04CB;CYRILLIC CAPITAL LETTER KHAKASSIAN CHE;Lu;0;L;;;;;N;CYRILLIC CAPITAL LETTER CHE WITH LEFT DESCENDER;;;04CC; +04CC;CYRILLIC SMALL LETTER KHAKASSIAN CHE;Ll;0;L;;;;;N;CYRILLIC SMALL LETTER CHE WITH LEFT DESCENDER;;04CB;;04CB +04CD;CYRILLIC CAPITAL LETTER EM WITH TAIL;Lu;0;L;;;;;N;;;;04CE; +04CE;CYRILLIC SMALL LETTER EM WITH TAIL;Ll;0;L;;;;;N;;;04CD;;04CD +04CF;CYRILLIC SMALL LETTER PALOCHKA;Ll;0;L;;;;;N;;;04C0;;04C0 +04D0;CYRILLIC CAPITAL LETTER A WITH BREVE;Lu;0;L;0410 0306;;;;N;;;;04D1; +04D1;CYRILLIC SMALL LETTER A WITH BREVE;Ll;0;L;0430 0306;;;;N;;;04D0;;04D0 +04D2;CYRILLIC CAPITAL LETTER A WITH DIAERESIS;Lu;0;L;0410 0308;;;;N;;;;04D3; +04D3;CYRILLIC SMALL LETTER A WITH DIAERESIS;Ll;0;L;0430 0308;;;;N;;;04D2;;04D2 +04D4;CYRILLIC CAPITAL LIGATURE A IE;Lu;0;L;;;;;N;;;;04D5; +04D5;CYRILLIC SMALL LIGATURE A IE;Ll;0;L;;;;;N;;;04D4;;04D4 +04D6;CYRILLIC CAPITAL LETTER IE WITH BREVE;Lu;0;L;0415 0306;;;;N;;;;04D7; +04D7;CYRILLIC SMALL LETTER IE WITH BREVE;Ll;0;L;0435 0306;;;;N;;;04D6;;04D6 +04D8;CYRILLIC CAPITAL LETTER SCHWA;Lu;0;L;;;;;N;;;;04D9; +04D9;CYRILLIC SMALL LETTER SCHWA;Ll;0;L;;;;;N;;;04D8;;04D8 +04DA;CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS;Lu;0;L;04D8 0308;;;;N;;;;04DB; +04DB;CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS;Ll;0;L;04D9 0308;;;;N;;;04DA;;04DA +04DC;CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS;Lu;0;L;0416 0308;;;;N;;;;04DD; +04DD;CYRILLIC SMALL LETTER ZHE WITH DIAERESIS;Ll;0;L;0436 0308;;;;N;;;04DC;;04DC +04DE;CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS;Lu;0;L;0417 0308;;;;N;;;;04DF; +04DF;CYRILLIC SMALL LETTER ZE WITH DIAERESIS;Ll;0;L;0437 0308;;;;N;;;04DE;;04DE +04E0;CYRILLIC CAPITAL LETTER ABKHASIAN DZE;Lu;0;L;;;;;N;;;;04E1; +04E1;CYRILLIC SMALL LETTER ABKHASIAN DZE;Ll;0;L;;;;;N;;;04E0;;04E0 +04E2;CYRILLIC CAPITAL LETTER I WITH MACRON;Lu;0;L;0418 0304;;;;N;;;;04E3; +04E3;CYRILLIC SMALL LETTER I WITH MACRON;Ll;0;L;0438 0304;;;;N;;;04E2;;04E2 +04E4;CYRILLIC CAPITAL LETTER I WITH DIAERESIS;Lu;0;L;0418 0308;;;;N;;;;04E5; +04E5;CYRILLIC SMALL LETTER I WITH DIAERESIS;Ll;0;L;0438 0308;;;;N;;;04E4;;04E4 +04E6;CYRILLIC CAPITAL LETTER O WITH DIAERESIS;Lu;0;L;041E 0308;;;;N;;;;04E7; +04E7;CYRILLIC SMALL LETTER O WITH DIAERESIS;Ll;0;L;043E 0308;;;;N;;;04E6;;04E6 +04E8;CYRILLIC CAPITAL LETTER BARRED O;Lu;0;L;;;;;N;;;;04E9; +04E9;CYRILLIC SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;04E8;;04E8 +04EA;CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS;Lu;0;L;04E8 0308;;;;N;;;;04EB; +04EB;CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS;Ll;0;L;04E9 0308;;;;N;;;04EA;;04EA +04EC;CYRILLIC CAPITAL LETTER E WITH DIAERESIS;Lu;0;L;042D 0308;;;;N;;;;04ED; +04ED;CYRILLIC SMALL LETTER E WITH DIAERESIS;Ll;0;L;044D 0308;;;;N;;;04EC;;04EC +04EE;CYRILLIC CAPITAL LETTER U WITH MACRON;Lu;0;L;0423 0304;;;;N;;;;04EF; +04EF;CYRILLIC SMALL LETTER U WITH MACRON;Ll;0;L;0443 0304;;;;N;;;04EE;;04EE +04F0;CYRILLIC CAPITAL LETTER U WITH DIAERESIS;Lu;0;L;0423 0308;;;;N;;;;04F1; +04F1;CYRILLIC SMALL LETTER U WITH DIAERESIS;Ll;0;L;0443 0308;;;;N;;;04F0;;04F0 +04F2;CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE;Lu;0;L;0423 030B;;;;N;;;;04F3; +04F3;CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE;Ll;0;L;0443 030B;;;;N;;;04F2;;04F2 +04F4;CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS;Lu;0;L;0427 0308;;;;N;;;;04F5; +04F5;CYRILLIC SMALL LETTER CHE WITH DIAERESIS;Ll;0;L;0447 0308;;;;N;;;04F4;;04F4 +04F6;CYRILLIC CAPITAL LETTER GHE WITH DESCENDER;Lu;0;L;;;;;N;;;;04F7; +04F7;CYRILLIC SMALL LETTER GHE WITH DESCENDER;Ll;0;L;;;;;N;;;04F6;;04F6 +04F8;CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS;Lu;0;L;042B 0308;;;;N;;;;04F9; +04F9;CYRILLIC SMALL LETTER YERU WITH DIAERESIS;Ll;0;L;044B 0308;;;;N;;;04F8;;04F8 +04FA;CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK;Lu;0;L;;;;;N;;;;04FB; +04FB;CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK;Ll;0;L;;;;;N;;;04FA;;04FA +04FC;CYRILLIC CAPITAL LETTER HA WITH HOOK;Lu;0;L;;;;;N;;;;04FD; +04FD;CYRILLIC SMALL LETTER HA WITH HOOK;Ll;0;L;;;;;N;;;04FC;;04FC +04FE;CYRILLIC CAPITAL LETTER HA WITH STROKE;Lu;0;L;;;;;N;;;;04FF; +04FF;CYRILLIC SMALL LETTER HA WITH STROKE;Ll;0;L;;;;;N;;;04FE;;04FE +0500;CYRILLIC CAPITAL LETTER KOMI DE;Lu;0;L;;;;;N;;;;0501; +0501;CYRILLIC SMALL LETTER KOMI DE;Ll;0;L;;;;;N;;;0500;;0500 +0502;CYRILLIC CAPITAL LETTER KOMI DJE;Lu;0;L;;;;;N;;;;0503; +0503;CYRILLIC SMALL LETTER KOMI DJE;Ll;0;L;;;;;N;;;0502;;0502 +0504;CYRILLIC CAPITAL LETTER KOMI ZJE;Lu;0;L;;;;;N;;;;0505; +0505;CYRILLIC SMALL LETTER KOMI ZJE;Ll;0;L;;;;;N;;;0504;;0504 +0506;CYRILLIC CAPITAL LETTER KOMI DZJE;Lu;0;L;;;;;N;;;;0507; +0507;CYRILLIC SMALL LETTER KOMI DZJE;Ll;0;L;;;;;N;;;0506;;0506 +0508;CYRILLIC CAPITAL LETTER KOMI LJE;Lu;0;L;;;;;N;;;;0509; +0509;CYRILLIC SMALL LETTER KOMI LJE;Ll;0;L;;;;;N;;;0508;;0508 +050A;CYRILLIC CAPITAL LETTER KOMI NJE;Lu;0;L;;;;;N;;;;050B; +050B;CYRILLIC SMALL LETTER KOMI NJE;Ll;0;L;;;;;N;;;050A;;050A +050C;CYRILLIC CAPITAL LETTER KOMI SJE;Lu;0;L;;;;;N;;;;050D; +050D;CYRILLIC SMALL LETTER KOMI SJE;Ll;0;L;;;;;N;;;050C;;050C +050E;CYRILLIC CAPITAL LETTER KOMI TJE;Lu;0;L;;;;;N;;;;050F; +050F;CYRILLIC SMALL LETTER KOMI TJE;Ll;0;L;;;;;N;;;050E;;050E +0510;CYRILLIC CAPITAL LETTER REVERSED ZE;Lu;0;L;;;;;N;;;;0511; +0511;CYRILLIC SMALL LETTER REVERSED ZE;Ll;0;L;;;;;N;;;0510;;0510 +0512;CYRILLIC CAPITAL LETTER EL WITH HOOK;Lu;0;L;;;;;N;;;;0513; +0513;CYRILLIC SMALL LETTER EL WITH HOOK;Ll;0;L;;;;;N;;;0512;;0512 +0514;CYRILLIC CAPITAL LETTER LHA;Lu;0;L;;;;;N;;;;0515; +0515;CYRILLIC SMALL LETTER LHA;Ll;0;L;;;;;N;;;0514;;0514 +0516;CYRILLIC CAPITAL LETTER RHA;Lu;0;L;;;;;N;;;;0517; +0517;CYRILLIC SMALL LETTER RHA;Ll;0;L;;;;;N;;;0516;;0516 +0518;CYRILLIC CAPITAL LETTER YAE;Lu;0;L;;;;;N;;;;0519; +0519;CYRILLIC SMALL LETTER YAE;Ll;0;L;;;;;N;;;0518;;0518 +051A;CYRILLIC CAPITAL LETTER QA;Lu;0;L;;;;;N;;;;051B; +051B;CYRILLIC SMALL LETTER QA;Ll;0;L;;;;;N;;;051A;;051A +051C;CYRILLIC CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;051D; +051D;CYRILLIC SMALL LETTER WE;Ll;0;L;;;;;N;;;051C;;051C +051E;CYRILLIC CAPITAL LETTER ALEUT KA;Lu;0;L;;;;;N;;;;051F; +051F;CYRILLIC SMALL LETTER ALEUT KA;Ll;0;L;;;;;N;;;051E;;051E +0520;CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0521; +0521;CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0520;;0520 +0522;CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;0523; +0523;CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;0522;;0522 +0524;CYRILLIC CAPITAL LETTER PE WITH DESCENDER;Lu;0;L;;;;;N;;;;0525; +0525;CYRILLIC SMALL LETTER PE WITH DESCENDER;Ll;0;L;;;;;N;;;0524;;0524 +0526;CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER;Lu;0;L;;;;;N;;;;0527; +0527;CYRILLIC SMALL LETTER SHHA WITH DESCENDER;Ll;0;L;;;;;N;;;0526;;0526 +0528;CYRILLIC CAPITAL LETTER EN WITH LEFT HOOK;Lu;0;L;;;;;N;;;;0529; +0529;CYRILLIC SMALL LETTER EN WITH LEFT HOOK;Ll;0;L;;;;;N;;;0528;;0528 +052A;CYRILLIC CAPITAL LETTER DZZHE;Lu;0;L;;;;;N;;;;052B; +052B;CYRILLIC SMALL LETTER DZZHE;Ll;0;L;;;;;N;;;052A;;052A +052C;CYRILLIC CAPITAL LETTER DCHE;Lu;0;L;;;;;N;;;;052D; +052D;CYRILLIC SMALL LETTER DCHE;Ll;0;L;;;;;N;;;052C;;052C +052E;CYRILLIC CAPITAL LETTER EL WITH DESCENDER;Lu;0;L;;;;;N;;;;052F; +052F;CYRILLIC SMALL LETTER EL WITH DESCENDER;Ll;0;L;;;;;N;;;052E;;052E +0531;ARMENIAN CAPITAL LETTER AYB;Lu;0;L;;;;;N;;;;0561; +0532;ARMENIAN CAPITAL LETTER BEN;Lu;0;L;;;;;N;;;;0562; +0533;ARMENIAN CAPITAL LETTER GIM;Lu;0;L;;;;;N;;;;0563; +0534;ARMENIAN CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;0564; +0535;ARMENIAN CAPITAL LETTER ECH;Lu;0;L;;;;;N;;;;0565; +0536;ARMENIAN CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;0566; +0537;ARMENIAN CAPITAL LETTER EH;Lu;0;L;;;;;N;;;;0567; +0538;ARMENIAN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;0568; +0539;ARMENIAN CAPITAL LETTER TO;Lu;0;L;;;;;N;;;;0569; +053A;ARMENIAN CAPITAL LETTER ZHE;Lu;0;L;;;;;N;;;;056A; +053B;ARMENIAN CAPITAL LETTER INI;Lu;0;L;;;;;N;;;;056B; +053C;ARMENIAN CAPITAL LETTER LIWN;Lu;0;L;;;;;N;;;;056C; +053D;ARMENIAN CAPITAL LETTER XEH;Lu;0;L;;;;;N;;;;056D; +053E;ARMENIAN CAPITAL LETTER CA;Lu;0;L;;;;;N;;;;056E; +053F;ARMENIAN CAPITAL LETTER KEN;Lu;0;L;;;;;N;;;;056F; +0540;ARMENIAN CAPITAL LETTER HO;Lu;0;L;;;;;N;;;;0570; +0541;ARMENIAN CAPITAL LETTER JA;Lu;0;L;;;;;N;;;;0571; +0542;ARMENIAN CAPITAL LETTER GHAD;Lu;0;L;;;;;N;ARMENIAN CAPITAL LETTER LAD;;;0572; +0543;ARMENIAN CAPITAL LETTER CHEH;Lu;0;L;;;;;N;;;;0573; +0544;ARMENIAN CAPITAL LETTER MEN;Lu;0;L;;;;;N;;;;0574; +0545;ARMENIAN CAPITAL LETTER YI;Lu;0;L;;;;;N;;;;0575; +0546;ARMENIAN CAPITAL LETTER NOW;Lu;0;L;;;;;N;;;;0576; +0547;ARMENIAN CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;0577; +0548;ARMENIAN CAPITAL LETTER VO;Lu;0;L;;;;;N;;;;0578; +0549;ARMENIAN CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;0579; +054A;ARMENIAN CAPITAL LETTER PEH;Lu;0;L;;;;;N;;;;057A; +054B;ARMENIAN CAPITAL LETTER JHEH;Lu;0;L;;;;;N;;;;057B; +054C;ARMENIAN CAPITAL LETTER RA;Lu;0;L;;;;;N;;;;057C; +054D;ARMENIAN CAPITAL LETTER SEH;Lu;0;L;;;;;N;;;;057D; +054E;ARMENIAN CAPITAL LETTER VEW;Lu;0;L;;;;;N;;;;057E; +054F;ARMENIAN CAPITAL LETTER TIWN;Lu;0;L;;;;;N;;;;057F; +0550;ARMENIAN CAPITAL LETTER REH;Lu;0;L;;;;;N;;;;0580; +0551;ARMENIAN CAPITAL LETTER CO;Lu;0;L;;;;;N;;;;0581; +0552;ARMENIAN CAPITAL LETTER YIWN;Lu;0;L;;;;;N;;;;0582; +0553;ARMENIAN CAPITAL LETTER PIWR;Lu;0;L;;;;;N;;;;0583; +0554;ARMENIAN CAPITAL LETTER KEH;Lu;0;L;;;;;N;;;;0584; +0555;ARMENIAN CAPITAL LETTER OH;Lu;0;L;;;;;N;;;;0585; +0556;ARMENIAN CAPITAL LETTER FEH;Lu;0;L;;;;;N;;;;0586; +0559;ARMENIAN MODIFIER LETTER LEFT HALF RING;Lm;0;L;;;;;N;;;;; +055A;ARMENIAN APOSTROPHE;Po;0;L;;;;;N;ARMENIAN MODIFIER LETTER RIGHT HALF RING;;;; +055B;ARMENIAN EMPHASIS MARK;Po;0;L;;;;;N;;;;; +055C;ARMENIAN EXCLAMATION MARK;Po;0;L;;;;;N;;;;; +055D;ARMENIAN COMMA;Po;0;L;;;;;N;;;;; +055E;ARMENIAN QUESTION MARK;Po;0;L;;;;;N;;;;; +055F;ARMENIAN ABBREVIATION MARK;Po;0;L;;;;;N;;;;; +0560;ARMENIAN SMALL LETTER TURNED AYB;Ll;0;L;;;;;N;;;;; +0561;ARMENIAN SMALL LETTER AYB;Ll;0;L;;;;;N;;;0531;;0531 +0562;ARMENIAN SMALL LETTER BEN;Ll;0;L;;;;;N;;;0532;;0532 +0563;ARMENIAN SMALL LETTER GIM;Ll;0;L;;;;;N;;;0533;;0533 +0564;ARMENIAN SMALL LETTER DA;Ll;0;L;;;;;N;;;0534;;0534 +0565;ARMENIAN SMALL LETTER ECH;Ll;0;L;;;;;N;;;0535;;0535 +0566;ARMENIAN SMALL LETTER ZA;Ll;0;L;;;;;N;;;0536;;0536 +0567;ARMENIAN SMALL LETTER EH;Ll;0;L;;;;;N;;;0537;;0537 +0568;ARMENIAN SMALL LETTER ET;Ll;0;L;;;;;N;;;0538;;0538 +0569;ARMENIAN SMALL LETTER TO;Ll;0;L;;;;;N;;;0539;;0539 +056A;ARMENIAN SMALL LETTER ZHE;Ll;0;L;;;;;N;;;053A;;053A +056B;ARMENIAN SMALL LETTER INI;Ll;0;L;;;;;N;;;053B;;053B +056C;ARMENIAN SMALL LETTER LIWN;Ll;0;L;;;;;N;;;053C;;053C +056D;ARMENIAN SMALL LETTER XEH;Ll;0;L;;;;;N;;;053D;;053D +056E;ARMENIAN SMALL LETTER CA;Ll;0;L;;;;;N;;;053E;;053E +056F;ARMENIAN SMALL LETTER KEN;Ll;0;L;;;;;N;;;053F;;053F +0570;ARMENIAN SMALL LETTER HO;Ll;0;L;;;;;N;;;0540;;0540 +0571;ARMENIAN SMALL LETTER JA;Ll;0;L;;;;;N;;;0541;;0541 +0572;ARMENIAN SMALL LETTER GHAD;Ll;0;L;;;;;N;ARMENIAN SMALL LETTER LAD;;0542;;0542 +0573;ARMENIAN SMALL LETTER CHEH;Ll;0;L;;;;;N;;;0543;;0543 +0574;ARMENIAN SMALL LETTER MEN;Ll;0;L;;;;;N;;;0544;;0544 +0575;ARMENIAN SMALL LETTER YI;Ll;0;L;;;;;N;;;0545;;0545 +0576;ARMENIAN SMALL LETTER NOW;Ll;0;L;;;;;N;;;0546;;0546 +0577;ARMENIAN SMALL LETTER SHA;Ll;0;L;;;;;N;;;0547;;0547 +0578;ARMENIAN SMALL LETTER VO;Ll;0;L;;;;;N;;;0548;;0548 +0579;ARMENIAN SMALL LETTER CHA;Ll;0;L;;;;;N;;;0549;;0549 +057A;ARMENIAN SMALL LETTER PEH;Ll;0;L;;;;;N;;;054A;;054A +057B;ARMENIAN SMALL LETTER JHEH;Ll;0;L;;;;;N;;;054B;;054B +057C;ARMENIAN SMALL LETTER RA;Ll;0;L;;;;;N;;;054C;;054C +057D;ARMENIAN SMALL LETTER SEH;Ll;0;L;;;;;N;;;054D;;054D +057E;ARMENIAN SMALL LETTER VEW;Ll;0;L;;;;;N;;;054E;;054E +057F;ARMENIAN SMALL LETTER TIWN;Ll;0;L;;;;;N;;;054F;;054F +0580;ARMENIAN SMALL LETTER REH;Ll;0;L;;;;;N;;;0550;;0550 +0581;ARMENIAN SMALL LETTER CO;Ll;0;L;;;;;N;;;0551;;0551 +0582;ARMENIAN SMALL LETTER YIWN;Ll;0;L;;;;;N;;;0552;;0552 +0583;ARMENIAN SMALL LETTER PIWR;Ll;0;L;;;;;N;;;0553;;0553 +0584;ARMENIAN SMALL LETTER KEH;Ll;0;L;;;;;N;;;0554;;0554 +0585;ARMENIAN SMALL LETTER OH;Ll;0;L;;;;;N;;;0555;;0555 +0586;ARMENIAN SMALL LETTER FEH;Ll;0;L;;;;;N;;;0556;;0556 +0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L; 0565 0582;;;;N;;;;; +0588;ARMENIAN SMALL LETTER YI WITH STROKE;Ll;0;L;;;;;N;;;;; +0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;; +058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;; +058D;RIGHT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;; +058E;LEFT-FACING ARMENIAN ETERNITY SIGN;So;0;ON;;;;;N;;;;; +058F;ARMENIAN DRAM SIGN;Sc;0;ET;;;;;N;;;;; +0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;; +0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;; +0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;; +0594;HEBREW ACCENT ZAQEF QATAN;Mn;230;NSM;;;;;N;;;;; +0595;HEBREW ACCENT ZAQEF GADOL;Mn;230;NSM;;;;;N;;;;; +0596;HEBREW ACCENT TIPEHA;Mn;220;NSM;;;;;N;;;;; +0597;HEBREW ACCENT REVIA;Mn;230;NSM;;;;;N;;;;; +0598;HEBREW ACCENT ZARQA;Mn;230;NSM;;;;;N;;;;; +0599;HEBREW ACCENT PASHTA;Mn;230;NSM;;;;;N;;;;; +059A;HEBREW ACCENT YETIV;Mn;222;NSM;;;;;N;;;;; +059B;HEBREW ACCENT TEVIR;Mn;220;NSM;;;;;N;;;;; +059C;HEBREW ACCENT GERESH;Mn;230;NSM;;;;;N;;;;; +059D;HEBREW ACCENT GERESH MUQDAM;Mn;230;NSM;;;;;N;;;;; +059E;HEBREW ACCENT GERSHAYIM;Mn;230;NSM;;;;;N;;;;; +059F;HEBREW ACCENT QARNEY PARA;Mn;230;NSM;;;;;N;;;;; +05A0;HEBREW ACCENT TELISHA GEDOLA;Mn;230;NSM;;;;;N;;;;; +05A1;HEBREW ACCENT PAZER;Mn;230;NSM;;;;;N;;;;; +05A2;HEBREW ACCENT ATNAH HAFUKH;Mn;220;NSM;;;;;N;;;;; +05A3;HEBREW ACCENT MUNAH;Mn;220;NSM;;;;;N;;;;; +05A4;HEBREW ACCENT MAHAPAKH;Mn;220;NSM;;;;;N;;;;; +05A5;HEBREW ACCENT MERKHA;Mn;220;NSM;;;;;N;;;;; +05A6;HEBREW ACCENT MERKHA KEFULA;Mn;220;NSM;;;;;N;;;;; +05A7;HEBREW ACCENT DARGA;Mn;220;NSM;;;;;N;;;;; +05A8;HEBREW ACCENT QADMA;Mn;230;NSM;;;;;N;;;;; +05A9;HEBREW ACCENT TELISHA QETANA;Mn;230;NSM;;;;;N;;;;; +05AA;HEBREW ACCENT YERAH BEN YOMO;Mn;220;NSM;;;;;N;;;;; +05AB;HEBREW ACCENT OLE;Mn;230;NSM;;;;;N;;;;; +05AC;HEBREW ACCENT ILUY;Mn;230;NSM;;;;;N;;;;; +05AD;HEBREW ACCENT DEHI;Mn;222;NSM;;;;;N;;;;; +05AE;HEBREW ACCENT ZINOR;Mn;228;NSM;;;;;N;;;;; +05AF;HEBREW MARK MASORA CIRCLE;Mn;230;NSM;;;;;N;;;;; +05B0;HEBREW POINT SHEVA;Mn;10;NSM;;;;;N;;;;; +05B1;HEBREW POINT HATAF SEGOL;Mn;11;NSM;;;;;N;;;;; +05B2;HEBREW POINT HATAF PATAH;Mn;12;NSM;;;;;N;;;;; +05B3;HEBREW POINT HATAF QAMATS;Mn;13;NSM;;;;;N;;;;; +05B4;HEBREW POINT HIRIQ;Mn;14;NSM;;;;;N;;;;; +05B5;HEBREW POINT TSERE;Mn;15;NSM;;;;;N;;;;; +05B6;HEBREW POINT SEGOL;Mn;16;NSM;;;;;N;;;;; +05B7;HEBREW POINT PATAH;Mn;17;NSM;;;;;N;;;;; +05B8;HEBREW POINT QAMATS;Mn;18;NSM;;;;;N;;;;; +05B9;HEBREW POINT HOLAM;Mn;19;NSM;;;;;N;;;;; +05BA;HEBREW POINT HOLAM HASER FOR VAV;Mn;19;NSM;;;;;N;;;;; +05BB;HEBREW POINT QUBUTS;Mn;20;NSM;;;;;N;;;;; +05BC;HEBREW POINT DAGESH OR MAPIQ;Mn;21;NSM;;;;;N;HEBREW POINT DAGESH;;;; +05BD;HEBREW POINT METEG;Mn;22;NSM;;;;;N;;;;; +05BE;HEBREW PUNCTUATION MAQAF;Pd;0;R;;;;;N;;;;; +05BF;HEBREW POINT RAFE;Mn;23;NSM;;;;;N;;;;; +05C0;HEBREW PUNCTUATION PASEQ;Po;0;R;;;;;N;HEBREW POINT PASEQ;;;; +05C1;HEBREW POINT SHIN DOT;Mn;24;NSM;;;;;N;;;;; +05C2;HEBREW POINT SIN DOT;Mn;25;NSM;;;;;N;;;;; +05C3;HEBREW PUNCTUATION SOF PASUQ;Po;0;R;;;;;N;;;;; +05C4;HEBREW MARK UPPER DOT;Mn;230;NSM;;;;;N;;;;; +05C5;HEBREW MARK LOWER DOT;Mn;220;NSM;;;;;N;;;;; +05C6;HEBREW PUNCTUATION NUN HAFUKHA;Po;0;R;;;;;N;;;;; +05C7;HEBREW POINT QAMATS QATAN;Mn;18;NSM;;;;;N;;;;; +05D0;HEBREW LETTER ALEF;Lo;0;R;;;;;N;;;;; +05D1;HEBREW LETTER BET;Lo;0;R;;;;;N;;;;; +05D2;HEBREW LETTER GIMEL;Lo;0;R;;;;;N;;;;; +05D3;HEBREW LETTER DALET;Lo;0;R;;;;;N;;;;; +05D4;HEBREW LETTER HE;Lo;0;R;;;;;N;;;;; +05D5;HEBREW LETTER VAV;Lo;0;R;;;;;N;;;;; +05D6;HEBREW LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +05D7;HEBREW LETTER HET;Lo;0;R;;;;;N;;;;; +05D8;HEBREW LETTER TET;Lo;0;R;;;;;N;;;;; +05D9;HEBREW LETTER YOD;Lo;0;R;;;;;N;;;;; +05DA;HEBREW LETTER FINAL KAF;Lo;0;R;;;;;N;;;;; +05DB;HEBREW LETTER KAF;Lo;0;R;;;;;N;;;;; +05DC;HEBREW LETTER LAMED;Lo;0;R;;;;;N;;;;; +05DD;HEBREW LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; +05DE;HEBREW LETTER MEM;Lo;0;R;;;;;N;;;;; +05DF;HEBREW LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; +05E0;HEBREW LETTER NUN;Lo;0;R;;;;;N;;;;; +05E1;HEBREW LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +05E2;HEBREW LETTER AYIN;Lo;0;R;;;;;N;;;;; +05E3;HEBREW LETTER FINAL PE;Lo;0;R;;;;;N;;;;; +05E4;HEBREW LETTER PE;Lo;0;R;;;;;N;;;;; +05E5;HEBREW LETTER FINAL TSADI;Lo;0;R;;;;;N;;;;; +05E6;HEBREW LETTER TSADI;Lo;0;R;;;;;N;;;;; +05E7;HEBREW LETTER QOF;Lo;0;R;;;;;N;;;;; +05E8;HEBREW LETTER RESH;Lo;0;R;;;;;N;;;;; +05E9;HEBREW LETTER SHIN;Lo;0;R;;;;;N;;;;; +05EA;HEBREW LETTER TAV;Lo;0;R;;;;;N;;;;; +05EF;HEBREW YOD TRIANGLE;Lo;0;R;;;;;N;;;;; +05F0;HEBREW LIGATURE YIDDISH DOUBLE VAV;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE VAV;;;; +05F1;HEBREW LIGATURE YIDDISH VAV YOD;Lo;0;R;;;;;N;HEBREW LETTER VAV YOD;;;; +05F2;HEBREW LIGATURE YIDDISH DOUBLE YOD;Lo;0;R;;;;;N;HEBREW LETTER DOUBLE YOD;;;; +05F3;HEBREW PUNCTUATION GERESH;Po;0;R;;;;;N;;;;; +05F4;HEBREW PUNCTUATION GERSHAYIM;Po;0;R;;;;;N;;;;; +0600;ARABIC NUMBER SIGN;Cf;0;AN;;;;;N;;;;; +0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;; +0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;; +0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;; +0604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;; +0605;ARABIC NUMBER MARK ABOVE;Cf;0;AN;;;;;N;;;;; +0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;; +0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;; +0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;; +0609;ARABIC-INDIC PER MILLE SIGN;Po;0;ET;;;;;N;;;;; +060A;ARABIC-INDIC PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; +060B;AFGHANI SIGN;Sc;0;AL;;;;;N;;;;; +060C;ARABIC COMMA;Po;0;CS;;;;;N;;;;; +060D;ARABIC DATE SEPARATOR;Po;0;AL;;;;;N;;;;; +060E;ARABIC POETIC VERSE SIGN;So;0;ON;;;;;N;;;;; +060F;ARABIC SIGN MISRA;So;0;ON;;;;;N;;;;; +0610;ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM;Mn;230;NSM;;;;;N;;;;; +0611;ARABIC SIGN ALAYHE ASSALLAM;Mn;230;NSM;;;;;N;;;;; +0612;ARABIC SIGN RAHMATULLAH ALAYHE;Mn;230;NSM;;;;;N;;;;; +0613;ARABIC SIGN RADI ALLAHOU ANHU;Mn;230;NSM;;;;;N;;;;; +0614;ARABIC SIGN TAKHALLUS;Mn;230;NSM;;;;;N;;;;; +0615;ARABIC SMALL HIGH TAH;Mn;230;NSM;;;;;N;;;;; +0616;ARABIC SMALL HIGH LIGATURE ALEF WITH LAM WITH YEH;Mn;230;NSM;;;;;N;;;;; +0617;ARABIC SMALL HIGH ZAIN;Mn;230;NSM;;;;;N;;;;; +0618;ARABIC SMALL FATHA;Mn;30;NSM;;;;;N;;;;; +0619;ARABIC SMALL DAMMA;Mn;31;NSM;;;;;N;;;;; +061A;ARABIC SMALL KASRA;Mn;32;NSM;;;;;N;;;;; +061B;ARABIC SEMICOLON;Po;0;AL;;;;;N;;;;; +061C;ARABIC LETTER MARK;Cf;0;AL;;;;;N;;;;; +061E;ARABIC TRIPLE DOT PUNCTUATION MARK;Po;0;AL;;;;;N;;;;; +061F;ARABIC QUESTION MARK;Po;0;AL;;;;;N;;;;; +0620;ARABIC LETTER KASHMIRI YEH;Lo;0;AL;;;;;N;;;;; +0621;ARABIC LETTER HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH;;;; +0622;ARABIC LETTER ALEF WITH MADDA ABOVE;Lo;0;AL;0627 0653;;;;N;ARABIC LETTER MADDAH ON ALEF;;;; +0623;ARABIC LETTER ALEF WITH HAMZA ABOVE;Lo;0;AL;0627 0654;;;;N;ARABIC LETTER HAMZAH ON ALEF;;;; +0624;ARABIC LETTER WAW WITH HAMZA ABOVE;Lo;0;AL;0648 0654;;;;N;ARABIC LETTER HAMZAH ON WAW;;;; +0625;ARABIC LETTER ALEF WITH HAMZA BELOW;Lo;0;AL;0627 0655;;;;N;ARABIC LETTER HAMZAH UNDER ALEF;;;; +0626;ARABIC LETTER YEH WITH HAMZA ABOVE;Lo;0;AL;064A 0654;;;;N;ARABIC LETTER HAMZAH ON YA;;;; +0627;ARABIC LETTER ALEF;Lo;0;AL;;;;;N;;;;; +0628;ARABIC LETTER BEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA;;;; +0629;ARABIC LETTER TEH MARBUTA;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH;;;; +062A;ARABIC LETTER TEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA;;;; +062B;ARABIC LETTER THEH;Lo;0;AL;;;;;N;ARABIC LETTER THAA;;;; +062C;ARABIC LETTER JEEM;Lo;0;AL;;;;;N;;;;; +062D;ARABIC LETTER HAH;Lo;0;AL;;;;;N;ARABIC LETTER HAA;;;; +062E;ARABIC LETTER KHAH;Lo;0;AL;;;;;N;ARABIC LETTER KHAA;;;; +062F;ARABIC LETTER DAL;Lo;0;AL;;;;;N;;;;; +0630;ARABIC LETTER THAL;Lo;0;AL;;;;;N;;;;; +0631;ARABIC LETTER REH;Lo;0;AL;;;;;N;ARABIC LETTER RA;;;; +0632;ARABIC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; +0633;ARABIC LETTER SEEN;Lo;0;AL;;;;;N;;;;; +0634;ARABIC LETTER SHEEN;Lo;0;AL;;;;;N;;;;; +0635;ARABIC LETTER SAD;Lo;0;AL;;;;;N;;;;; +0636;ARABIC LETTER DAD;Lo;0;AL;;;;;N;;;;; +0637;ARABIC LETTER TAH;Lo;0;AL;;;;;N;;;;; +0638;ARABIC LETTER ZAH;Lo;0;AL;;;;;N;ARABIC LETTER DHAH;;;; +0639;ARABIC LETTER AIN;Lo;0;AL;;;;;N;;;;; +063A;ARABIC LETTER GHAIN;Lo;0;AL;;;;;N;;;;; +063B;ARABIC LETTER KEHEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +063C;ARABIC LETTER KEHEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +063D;ARABIC LETTER FARSI YEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +063E;ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +063F;ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0640;ARABIC TATWEEL;Lm;0;AL;;;;;N;;;;; +0641;ARABIC LETTER FEH;Lo;0;AL;;;;;N;ARABIC LETTER FA;;;; +0642;ARABIC LETTER QAF;Lo;0;AL;;;;;N;;;;; +0643;ARABIC LETTER KAF;Lo;0;AL;;;;;N;ARABIC LETTER CAF;;;; +0644;ARABIC LETTER LAM;Lo;0;AL;;;;;N;;;;; +0645;ARABIC LETTER MEEM;Lo;0;AL;;;;;N;;;;; +0646;ARABIC LETTER NOON;Lo;0;AL;;;;;N;;;;; +0647;ARABIC LETTER HEH;Lo;0;AL;;;;;N;ARABIC LETTER HA;;;; +0648;ARABIC LETTER WAW;Lo;0;AL;;;;;N;;;;; +0649;ARABIC LETTER ALEF MAKSURA;Lo;0;AL;;;;;N;ARABIC LETTER ALEF MAQSURAH;;;; +064A;ARABIC LETTER YEH;Lo;0;AL;;;;;N;ARABIC LETTER YA;;;; +064B;ARABIC FATHATAN;Mn;27;NSM;;;;;N;;;;; +064C;ARABIC DAMMATAN;Mn;28;NSM;;;;;N;;;;; +064D;ARABIC KASRATAN;Mn;29;NSM;;;;;N;;;;; +064E;ARABIC FATHA;Mn;30;NSM;;;;;N;ARABIC FATHAH;;;; +064F;ARABIC DAMMA;Mn;31;NSM;;;;;N;ARABIC DAMMAH;;;; +0650;ARABIC KASRA;Mn;32;NSM;;;;;N;ARABIC KASRAH;;;; +0651;ARABIC SHADDA;Mn;33;NSM;;;;;N;ARABIC SHADDAH;;;; +0652;ARABIC SUKUN;Mn;34;NSM;;;;;N;;;;; +0653;ARABIC MADDAH ABOVE;Mn;230;NSM;;;;;N;;;;; +0654;ARABIC HAMZA ABOVE;Mn;230;NSM;;;;;N;;;;; +0655;ARABIC HAMZA BELOW;Mn;220;NSM;;;;;N;;;;; +0656;ARABIC SUBSCRIPT ALEF;Mn;220;NSM;;;;;N;;;;; +0657;ARABIC INVERTED DAMMA;Mn;230;NSM;;;;;N;;;;; +0658;ARABIC MARK NOON GHUNNA;Mn;230;NSM;;;;;N;;;;; +0659;ARABIC ZWARAKAY;Mn;230;NSM;;;;;N;;;;; +065A;ARABIC VOWEL SIGN SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;; +065B;ARABIC VOWEL SIGN INVERTED SMALL V ABOVE;Mn;230;NSM;;;;;N;;;;; +065C;ARABIC VOWEL SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;; +065D;ARABIC REVERSED DAMMA;Mn;230;NSM;;;;;N;;;;; +065E;ARABIC FATHA WITH TWO DOTS;Mn;230;NSM;;;;;N;;;;; +065F;ARABIC WAVY HAMZA BELOW;Mn;220;NSM;;;;;N;;;;; +0660;ARABIC-INDIC DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; +0661;ARABIC-INDIC DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; +0662;ARABIC-INDIC DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; +0663;ARABIC-INDIC DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; +0664;ARABIC-INDIC DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; +0665;ARABIC-INDIC DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; +0666;ARABIC-INDIC DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; +0667;ARABIC-INDIC DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; +0668;ARABIC-INDIC DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; +0669;ARABIC-INDIC DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; +066A;ARABIC PERCENT SIGN;Po;0;ET;;;;;N;;;;; +066B;ARABIC DECIMAL SEPARATOR;Po;0;AN;;;;;N;;;;; +066C;ARABIC THOUSANDS SEPARATOR;Po;0;AN;;;;;N;;;;; +066D;ARABIC FIVE POINTED STAR;Po;0;AL;;;;;N;;;;; +066E;ARABIC LETTER DOTLESS BEH;Lo;0;AL;;;;;N;;;;; +066F;ARABIC LETTER DOTLESS QAF;Lo;0;AL;;;;;N;;;;; +0670;ARABIC LETTER SUPERSCRIPT ALEF;Mn;35;NSM;;;;;N;ARABIC ALEF ABOVE;;;; +0671;ARABIC LETTER ALEF WASLA;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAT WASL ON ALEF;;;; +0672;ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH ON ALEF;;;; +0673;ARABIC LETTER ALEF WITH WAVY HAMZA BELOW;Lo;0;AL;;;;;N;ARABIC LETTER WAVY HAMZAH UNDER ALEF;;;; +0674;ARABIC LETTER HIGH HAMZA;Lo;0;AL;;;;;N;ARABIC LETTER HIGH HAMZAH;;;; +0675;ARABIC LETTER HIGH HAMZA ALEF;Lo;0;AL; 0627 0674;;;;N;ARABIC LETTER HIGH HAMZAH ALEF;;;; +0676;ARABIC LETTER HIGH HAMZA WAW;Lo;0;AL; 0648 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW;;;; +0677;ARABIC LETTER U WITH HAMZA ABOVE;Lo;0;AL; 06C7 0674;;;;N;ARABIC LETTER HIGH HAMZAH WAW WITH DAMMAH;;;; +0678;ARABIC LETTER HIGH HAMZA YEH;Lo;0;AL; 064A 0674;;;;N;ARABIC LETTER HIGH HAMZAH YA;;;; +0679;ARABIC LETTER TTEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH SMALL TAH;;;; +067A;ARABIC LETTER TTEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH TWO DOTS VERTICAL ABOVE;;;; +067B;ARABIC LETTER BEEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH TWO DOTS VERTICAL BELOW;;;; +067C;ARABIC LETTER TEH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH RING;;;; +067D;ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS ABOVE DOWNWARD;;;; +067E;ARABIC LETTER PEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH THREE DOTS BELOW;;;; +067F;ARABIC LETTER TEHEH;Lo;0;AL;;;;;N;ARABIC LETTER TAA WITH FOUR DOTS ABOVE;;;; +0680;ARABIC LETTER BEHEH;Lo;0;AL;;;;;N;ARABIC LETTER BAA WITH FOUR DOTS BELOW;;;; +0681;ARABIC LETTER HAH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAMZAH ON HAA;;;; +0682;ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH TWO DOTS VERTICAL ABOVE;;;; +0683;ARABIC LETTER NYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS;;;; +0684;ARABIC LETTER DYEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE TWO DOTS VERTICAL;;;; +0685;ARABIC LETTER HAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH THREE DOTS ABOVE;;;; +0686;ARABIC LETTER TCHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE THREE DOTS DOWNWARD;;;; +0687;ARABIC LETTER TCHEHEH;Lo;0;AL;;;;;N;ARABIC LETTER HAA WITH MIDDLE FOUR DOTS;;;; +0688;ARABIC LETTER DDAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH SMALL TAH;;;; +0689;ARABIC LETTER DAL WITH RING;Lo;0;AL;;;;;N;;;;; +068A;ARABIC LETTER DAL WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +068B;ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; +068C;ARABIC LETTER DAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS ABOVE;;;; +068D;ARABIC LETTER DDAHAL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH TWO DOTS BELOW;;;; +068E;ARABIC LETTER DUL;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE;;;; +068F;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS;Lo;0;AL;;;;;N;ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARD;;;; +0690;ARABIC LETTER DAL WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0691;ARABIC LETTER RREH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL TAH;;;; +0692;ARABIC LETTER REH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V;;;; +0693;ARABIC LETTER REH WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH RING;;;; +0694;ARABIC LETTER REH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW;;;; +0695;ARABIC LETTER REH WITH SMALL V BELOW;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH SMALL V BELOW;;;; +0696;ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH DOT BELOW AND DOT ABOVE;;;; +0697;ARABIC LETTER REH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH TWO DOTS ABOVE;;;; +0698;ARABIC LETTER JEH;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH THREE DOTS ABOVE;;;; +0699;ARABIC LETTER REH WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER RA WITH FOUR DOTS ABOVE;;;; +069A;ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; +069B;ARABIC LETTER SEEN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +069C;ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +069D;ARABIC LETTER SAD WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +069E;ARABIC LETTER SAD WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +069F;ARABIC LETTER TAH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A0;ARABIC LETTER AIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A1;ARABIC LETTER DOTLESS FEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS FA;;;; +06A2;ARABIC LETTER FEH WITH DOT MOVED BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT MOVED BELOW;;;; +06A3;ARABIC LETTER FEH WITH DOT BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH DOT BELOW;;;; +06A4;ARABIC LETTER VEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS ABOVE;;;; +06A5;ARABIC LETTER FEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH THREE DOTS BELOW;;;; +06A6;ARABIC LETTER PEHEH;Lo;0;AL;;;;;N;ARABIC LETTER FA WITH FOUR DOTS ABOVE;;;; +06A7;ARABIC LETTER QAF WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06A8;ARABIC LETTER QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06A9;ARABIC LETTER KEHEH;Lo;0;AL;;;;;N;ARABIC LETTER OPEN CAF;;;; +06AA;ARABIC LETTER SWASH KAF;Lo;0;AL;;;;;N;ARABIC LETTER SWASH CAF;;;; +06AB;ARABIC LETTER KAF WITH RING;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH RING;;;; +06AC;ARABIC LETTER KAF WITH DOT ABOVE;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH DOT ABOVE;;;; +06AD;ARABIC LETTER NG;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS ABOVE;;;; +06AE;ARABIC LETTER KAF WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER CAF WITH THREE DOTS BELOW;;;; +06AF;ARABIC LETTER GAF;Lo;0;AL;;;;;N;;;;; +06B0;ARABIC LETTER GAF WITH RING;Lo;0;AL;;;;;N;;;;; +06B1;ARABIC LETTER NGOEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS ABOVE;;;; +06B2;ARABIC LETTER GAF WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +06B3;ARABIC LETTER GUEH;Lo;0;AL;;;;;N;ARABIC LETTER GAF WITH TWO DOTS VERTICAL BELOW;;;; +06B4;ARABIC LETTER GAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06B5;ARABIC LETTER LAM WITH SMALL V;Lo;0;AL;;;;;N;;;;; +06B6;ARABIC LETTER LAM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06B7;ARABIC LETTER LAM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06B8;ARABIC LETTER LAM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +06B9;ARABIC LETTER NOON WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06BA;ARABIC LETTER NOON GHUNNA;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON;;;; +06BB;ARABIC LETTER RNOON;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS NOON WITH SMALL TAH;;;; +06BC;ARABIC LETTER NOON WITH RING;Lo;0;AL;;;;;N;;;;; +06BD;ARABIC LETTER NOON WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06BE;ARABIC LETTER HEH DOACHASHMEE;Lo;0;AL;;;;;N;ARABIC LETTER KNOTTED HA;;;; +06BF;ARABIC LETTER TCHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06C0;ARABIC LETTER HEH WITH YEH ABOVE;Lo;0;AL;06D5 0654;;;;N;ARABIC LETTER HAMZAH ON HA;;;; +06C1;ARABIC LETTER HEH GOAL;Lo;0;AL;;;;;N;ARABIC LETTER HA GOAL;;;; +06C2;ARABIC LETTER HEH GOAL WITH HAMZA ABOVE;Lo;0;AL;06C1 0654;;;;N;ARABIC LETTER HAMZAH ON HA GOAL;;;; +06C3;ARABIC LETTER TEH MARBUTA GOAL;Lo;0;AL;;;;;N;ARABIC LETTER TAA MARBUTAH GOAL;;;; +06C4;ARABIC LETTER WAW WITH RING;Lo;0;AL;;;;;N;;;;; +06C5;ARABIC LETTER KIRGHIZ OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH BAR;;;; +06C6;ARABIC LETTER OE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH SMALL V;;;; +06C7;ARABIC LETTER U;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH DAMMAH;;;; +06C8;ARABIC LETTER YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH ALEF ABOVE;;;; +06C9;ARABIC LETTER KIRGHIZ YU;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH INVERTED SMALL V;;;; +06CA;ARABIC LETTER WAW WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +06CB;ARABIC LETTER VE;Lo;0;AL;;;;;N;ARABIC LETTER WAW WITH THREE DOTS ABOVE;;;; +06CC;ARABIC LETTER FARSI YEH;Lo;0;AL;;;;;N;ARABIC LETTER DOTLESS YA;;;; +06CD;ARABIC LETTER YEH WITH TAIL;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TAIL;;;; +06CE;ARABIC LETTER YEH WITH SMALL V;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH SMALL V;;;; +06CF;ARABIC LETTER WAW WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +06D0;ARABIC LETTER E;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH TWO DOTS VERTICAL BELOW;;;; +06D1;ARABIC LETTER YEH WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;ARABIC LETTER YA WITH THREE DOTS BELOW;;;; +06D2;ARABIC LETTER YEH BARREE;Lo;0;AL;;;;;N;ARABIC LETTER YA BARREE;;;; +06D3;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE;Lo;0;AL;06D2 0654;;;;N;ARABIC LETTER HAMZAH ON YA BARREE;;;; +06D4;ARABIC FULL STOP;Po;0;AL;;;;;N;ARABIC PERIOD;;;; +06D5;ARABIC LETTER AE;Lo;0;AL;;;;;N;;;;; +06D6;ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; +06D7;ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA;Mn;230;NSM;;;;;N;;;;; +06D8;ARABIC SMALL HIGH MEEM INITIAL FORM;Mn;230;NSM;;;;;N;;;;; +06D9;ARABIC SMALL HIGH LAM ALEF;Mn;230;NSM;;;;;N;;;;; +06DA;ARABIC SMALL HIGH JEEM;Mn;230;NSM;;;;;N;;;;; +06DB;ARABIC SMALL HIGH THREE DOTS;Mn;230;NSM;;;;;N;;;;; +06DC;ARABIC SMALL HIGH SEEN;Mn;230;NSM;;;;;N;;;;; +06DD;ARABIC END OF AYAH;Cf;0;AN;;;;;N;;;;; +06DE;ARABIC START OF RUB EL HIZB;So;0;ON;;;;;N;;;;; +06DF;ARABIC SMALL HIGH ROUNDED ZERO;Mn;230;NSM;;;;;N;;;;; +06E0;ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO;Mn;230;NSM;;;;;N;;;;; +06E1;ARABIC SMALL HIGH DOTLESS HEAD OF KHAH;Mn;230;NSM;;;;;N;;;;; +06E2;ARABIC SMALL HIGH MEEM ISOLATED FORM;Mn;230;NSM;;;;;N;;;;; +06E3;ARABIC SMALL LOW SEEN;Mn;220;NSM;;;;;N;;;;; +06E4;ARABIC SMALL HIGH MADDA;Mn;230;NSM;;;;;N;;;;; +06E5;ARABIC SMALL WAW;Lm;0;AL;;;;;N;;;;; +06E6;ARABIC SMALL YEH;Lm;0;AL;;;;;N;;;;; +06E7;ARABIC SMALL HIGH YEH;Mn;230;NSM;;;;;N;;;;; +06E8;ARABIC SMALL HIGH NOON;Mn;230;NSM;;;;;N;;;;; +06E9;ARABIC PLACE OF SAJDAH;So;0;ON;;;;;N;;;;; +06EA;ARABIC EMPTY CENTRE LOW STOP;Mn;220;NSM;;;;;N;;;;; +06EB;ARABIC EMPTY CENTRE HIGH STOP;Mn;230;NSM;;;;;N;;;;; +06EC;ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE;Mn;230;NSM;;;;;N;;;;; +06ED;ARABIC SMALL LOW MEEM;Mn;220;NSM;;;;;N;;;;; +06EE;ARABIC LETTER DAL WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +06EF;ARABIC LETTER REH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +06F0;EXTENDED ARABIC-INDIC DIGIT ZERO;Nd;0;EN;;0;0;0;N;EASTERN ARABIC-INDIC DIGIT ZERO;;;; +06F1;EXTENDED ARABIC-INDIC DIGIT ONE;Nd;0;EN;;1;1;1;N;EASTERN ARABIC-INDIC DIGIT ONE;;;; +06F2;EXTENDED ARABIC-INDIC DIGIT TWO;Nd;0;EN;;2;2;2;N;EASTERN ARABIC-INDIC DIGIT TWO;;;; +06F3;EXTENDED ARABIC-INDIC DIGIT THREE;Nd;0;EN;;3;3;3;N;EASTERN ARABIC-INDIC DIGIT THREE;;;; +06F4;EXTENDED ARABIC-INDIC DIGIT FOUR;Nd;0;EN;;4;4;4;N;EASTERN ARABIC-INDIC DIGIT FOUR;;;; +06F5;EXTENDED ARABIC-INDIC DIGIT FIVE;Nd;0;EN;;5;5;5;N;EASTERN ARABIC-INDIC DIGIT FIVE;;;; +06F6;EXTENDED ARABIC-INDIC DIGIT SIX;Nd;0;EN;;6;6;6;N;EASTERN ARABIC-INDIC DIGIT SIX;;;; +06F7;EXTENDED ARABIC-INDIC DIGIT SEVEN;Nd;0;EN;;7;7;7;N;EASTERN ARABIC-INDIC DIGIT SEVEN;;;; +06F8;EXTENDED ARABIC-INDIC DIGIT EIGHT;Nd;0;EN;;8;8;8;N;EASTERN ARABIC-INDIC DIGIT EIGHT;;;; +06F9;EXTENDED ARABIC-INDIC DIGIT NINE;Nd;0;EN;;9;9;9;N;EASTERN ARABIC-INDIC DIGIT NINE;;;; +06FA;ARABIC LETTER SHEEN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FB;ARABIC LETTER DAD WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FC;ARABIC LETTER GHAIN WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +06FD;ARABIC SIGN SINDHI AMPERSAND;So;0;AL;;;;;N;;;;; +06FE;ARABIC SIGN SINDHI POSTPOSITION MEN;So;0;AL;;;;;N;;;;; +06FF;ARABIC LETTER HEH WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +0700;SYRIAC END OF PARAGRAPH;Po;0;AL;;;;;N;;;;; +0701;SYRIAC SUPRALINEAR FULL STOP;Po;0;AL;;;;;N;;;;; +0702;SYRIAC SUBLINEAR FULL STOP;Po;0;AL;;;;;N;;;;; +0703;SYRIAC SUPRALINEAR COLON;Po;0;AL;;;;;N;;;;; +0704;SYRIAC SUBLINEAR COLON;Po;0;AL;;;;;N;;;;; +0705;SYRIAC HORIZONTAL COLON;Po;0;AL;;;;;N;;;;; +0706;SYRIAC COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; +0707;SYRIAC COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; +0708;SYRIAC SUPRALINEAR COLON SKEWED LEFT;Po;0;AL;;;;;N;;;;; +0709;SYRIAC SUBLINEAR COLON SKEWED RIGHT;Po;0;AL;;;;;N;;;;; +070A;SYRIAC CONTRACTION;Po;0;AL;;;;;N;;;;; +070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;; +070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;; +070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;; +070F;SYRIAC ABBREVIATION MARK;Cf;0;AL;;;;;N;;;;; +0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;; +0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;; +0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;; +0713;SYRIAC LETTER GAMAL;Lo;0;AL;;;;;N;;;;; +0714;SYRIAC LETTER GAMAL GARSHUNI;Lo;0;AL;;;;;N;;;;; +0715;SYRIAC LETTER DALATH;Lo;0;AL;;;;;N;;;;; +0716;SYRIAC LETTER DOTLESS DALATH RISH;Lo;0;AL;;;;;N;;;;; +0717;SYRIAC LETTER HE;Lo;0;AL;;;;;N;;;;; +0718;SYRIAC LETTER WAW;Lo;0;AL;;;;;N;;;;; +0719;SYRIAC LETTER ZAIN;Lo;0;AL;;;;;N;;;;; +071A;SYRIAC LETTER HETH;Lo;0;AL;;;;;N;;;;; +071B;SYRIAC LETTER TETH;Lo;0;AL;;;;;N;;;;; +071C;SYRIAC LETTER TETH GARSHUNI;Lo;0;AL;;;;;N;;;;; +071D;SYRIAC LETTER YUDH;Lo;0;AL;;;;;N;;;;; +071E;SYRIAC LETTER YUDH HE;Lo;0;AL;;;;;N;;;;; +071F;SYRIAC LETTER KAPH;Lo;0;AL;;;;;N;;;;; +0720;SYRIAC LETTER LAMADH;Lo;0;AL;;;;;N;;;;; +0721;SYRIAC LETTER MIM;Lo;0;AL;;;;;N;;;;; +0722;SYRIAC LETTER NUN;Lo;0;AL;;;;;N;;;;; +0723;SYRIAC LETTER SEMKATH;Lo;0;AL;;;;;N;;;;; +0724;SYRIAC LETTER FINAL SEMKATH;Lo;0;AL;;;;;N;;;;; +0725;SYRIAC LETTER E;Lo;0;AL;;;;;N;;;;; +0726;SYRIAC LETTER PE;Lo;0;AL;;;;;N;;;;; +0727;SYRIAC LETTER REVERSED PE;Lo;0;AL;;;;;N;;;;; +0728;SYRIAC LETTER SADHE;Lo;0;AL;;;;;N;;;;; +0729;SYRIAC LETTER QAPH;Lo;0;AL;;;;;N;;;;; +072A;SYRIAC LETTER RISH;Lo;0;AL;;;;;N;;;;; +072B;SYRIAC LETTER SHIN;Lo;0;AL;;;;;N;;;;; +072C;SYRIAC LETTER TAW;Lo;0;AL;;;;;N;;;;; +072D;SYRIAC LETTER PERSIAN BHETH;Lo;0;AL;;;;;N;;;;; +072E;SYRIAC LETTER PERSIAN GHAMAL;Lo;0;AL;;;;;N;;;;; +072F;SYRIAC LETTER PERSIAN DHALATH;Lo;0;AL;;;;;N;;;;; +0730;SYRIAC PTHAHA ABOVE;Mn;230;NSM;;;;;N;;;;; +0731;SYRIAC PTHAHA BELOW;Mn;220;NSM;;;;;N;;;;; +0732;SYRIAC PTHAHA DOTTED;Mn;230;NSM;;;;;N;;;;; +0733;SYRIAC ZQAPHA ABOVE;Mn;230;NSM;;;;;N;;;;; +0734;SYRIAC ZQAPHA BELOW;Mn;220;NSM;;;;;N;;;;; +0735;SYRIAC ZQAPHA DOTTED;Mn;230;NSM;;;;;N;;;;; +0736;SYRIAC RBASA ABOVE;Mn;230;NSM;;;;;N;;;;; +0737;SYRIAC RBASA BELOW;Mn;220;NSM;;;;;N;;;;; +0738;SYRIAC DOTTED ZLAMA HORIZONTAL;Mn;220;NSM;;;;;N;;;;; +0739;SYRIAC DOTTED ZLAMA ANGULAR;Mn;220;NSM;;;;;N;;;;; +073A;SYRIAC HBASA ABOVE;Mn;230;NSM;;;;;N;;;;; +073B;SYRIAC HBASA BELOW;Mn;220;NSM;;;;;N;;;;; +073C;SYRIAC HBASA-ESASA DOTTED;Mn;220;NSM;;;;;N;;;;; +073D;SYRIAC ESASA ABOVE;Mn;230;NSM;;;;;N;;;;; +073E;SYRIAC ESASA BELOW;Mn;220;NSM;;;;;N;;;;; +073F;SYRIAC RWAHA;Mn;230;NSM;;;;;N;;;;; +0740;SYRIAC FEMININE DOT;Mn;230;NSM;;;;;N;;;;; +0741;SYRIAC QUSHSHAYA;Mn;230;NSM;;;;;N;;;;; +0742;SYRIAC RUKKAKHA;Mn;220;NSM;;;;;N;;;;; +0743;SYRIAC TWO VERTICAL DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +0744;SYRIAC TWO VERTICAL DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +0745;SYRIAC THREE DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +0746;SYRIAC THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +0747;SYRIAC OBLIQUE LINE ABOVE;Mn;230;NSM;;;;;N;;;;; +0748;SYRIAC OBLIQUE LINE BELOW;Mn;220;NSM;;;;;N;;;;; +0749;SYRIAC MUSIC;Mn;230;NSM;;;;;N;;;;; +074A;SYRIAC BARREKH;Mn;230;NSM;;;;;N;;;;; +074D;SYRIAC LETTER SOGDIAN ZHAIN;Lo;0;AL;;;;;N;;;;; +074E;SYRIAC LETTER SOGDIAN KHAPH;Lo;0;AL;;;;;N;;;;; +074F;SYRIAC LETTER SOGDIAN FE;Lo;0;AL;;;;;N;;;;; +0750;ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW;Lo;0;AL;;;;;N;;;;; +0751;ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0752;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0753;ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0754;ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0755;ARABIC LETTER BEH WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;; +0756;ARABIC LETTER BEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +0757;ARABIC LETTER HAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0758;ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0759;ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH;Lo;0;AL;;;;;N;;;;; +075A;ARABIC LETTER DAL WITH INVERTED SMALL V BELOW;Lo;0;AL;;;;;N;;;;; +075B;ARABIC LETTER REH WITH STROKE;Lo;0;AL;;;;;N;;;;; +075C;ARABIC LETTER SEEN WITH FOUR DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +075D;ARABIC LETTER AIN WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +075E;ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE;Lo;0;AL;;;;;N;;;;; +075F;ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +0760;ARABIC LETTER FEH WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +0761;ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0762;ARABIC LETTER KEHEH WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0763;ARABIC LETTER KEHEH WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0764;ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW;Lo;0;AL;;;;;N;;;;; +0765;ARABIC LETTER MEEM WITH DOT ABOVE;Lo;0;AL;;;;;N;;;;; +0766;ARABIC LETTER MEEM WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +0767;ARABIC LETTER NOON WITH TWO DOTS BELOW;Lo;0;AL;;;;;N;;;;; +0768;ARABIC LETTER NOON WITH SMALL TAH;Lo;0;AL;;;;;N;;;;; +0769;ARABIC LETTER NOON WITH SMALL V;Lo;0;AL;;;;;N;;;;; +076A;ARABIC LETTER LAM WITH BAR;Lo;0;AL;;;;;N;;;;; +076B;ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +076C;ARABIC LETTER REH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;; +076D;ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE;Lo;0;AL;;;;;N;;;;; +076E;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW;Lo;0;AL;;;;;N;;;;; +076F;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0770;ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0771;ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS;Lo;0;AL;;;;;N;;;;; +0772;ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE;Lo;0;AL;;;;;N;;;;; +0773;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0774;ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +0775;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0776;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +0777;ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;; +0778;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +0779;ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +077A;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE;Lo;0;AL;;;;;N;;;;; +077B;ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE;Lo;0;AL;;;;;N;;;;; +077C;ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW;Lo;0;AL;;;;;N;;;;; +077D;ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE;Lo;0;AL;;;;;N;;;;; +077E;ARABIC LETTER SEEN WITH INVERTED V;Lo;0;AL;;;;;N;;;;; +077F;ARABIC LETTER KAF WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +0780;THAANA LETTER HAA;Lo;0;AL;;;;;N;;;;; +0781;THAANA LETTER SHAVIYANI;Lo;0;AL;;;;;N;;;;; +0782;THAANA LETTER NOONU;Lo;0;AL;;;;;N;;;;; +0783;THAANA LETTER RAA;Lo;0;AL;;;;;N;;;;; +0784;THAANA LETTER BAA;Lo;0;AL;;;;;N;;;;; +0785;THAANA LETTER LHAVIYANI;Lo;0;AL;;;;;N;;;;; +0786;THAANA LETTER KAAFU;Lo;0;AL;;;;;N;;;;; +0787;THAANA LETTER ALIFU;Lo;0;AL;;;;;N;;;;; +0788;THAANA LETTER VAAVU;Lo;0;AL;;;;;N;;;;; +0789;THAANA LETTER MEEMU;Lo;0;AL;;;;;N;;;;; +078A;THAANA LETTER FAAFU;Lo;0;AL;;;;;N;;;;; +078B;THAANA LETTER DHAALU;Lo;0;AL;;;;;N;;;;; +078C;THAANA LETTER THAA;Lo;0;AL;;;;;N;;;;; +078D;THAANA LETTER LAAMU;Lo;0;AL;;;;;N;;;;; +078E;THAANA LETTER GAAFU;Lo;0;AL;;;;;N;;;;; +078F;THAANA LETTER GNAVIYANI;Lo;0;AL;;;;;N;;;;; +0790;THAANA LETTER SEENU;Lo;0;AL;;;;;N;;;;; +0791;THAANA LETTER DAVIYANI;Lo;0;AL;;;;;N;;;;; +0792;THAANA LETTER ZAVIYANI;Lo;0;AL;;;;;N;;;;; +0793;THAANA LETTER TAVIYANI;Lo;0;AL;;;;;N;;;;; +0794;THAANA LETTER YAA;Lo;0;AL;;;;;N;;;;; +0795;THAANA LETTER PAVIYANI;Lo;0;AL;;;;;N;;;;; +0796;THAANA LETTER JAVIYANI;Lo;0;AL;;;;;N;;;;; +0797;THAANA LETTER CHAVIYANI;Lo;0;AL;;;;;N;;;;; +0798;THAANA LETTER TTAA;Lo;0;AL;;;;;N;;;;; +0799;THAANA LETTER HHAA;Lo;0;AL;;;;;N;;;;; +079A;THAANA LETTER KHAA;Lo;0;AL;;;;;N;;;;; +079B;THAANA LETTER THAALU;Lo;0;AL;;;;;N;;;;; +079C;THAANA LETTER ZAA;Lo;0;AL;;;;;N;;;;; +079D;THAANA LETTER SHEENU;Lo;0;AL;;;;;N;;;;; +079E;THAANA LETTER SAADHU;Lo;0;AL;;;;;N;;;;; +079F;THAANA LETTER DAADHU;Lo;0;AL;;;;;N;;;;; +07A0;THAANA LETTER TO;Lo;0;AL;;;;;N;;;;; +07A1;THAANA LETTER ZO;Lo;0;AL;;;;;N;;;;; +07A2;THAANA LETTER AINU;Lo;0;AL;;;;;N;;;;; +07A3;THAANA LETTER GHAINU;Lo;0;AL;;;;;N;;;;; +07A4;THAANA LETTER QAAFU;Lo;0;AL;;;;;N;;;;; +07A5;THAANA LETTER WAAVU;Lo;0;AL;;;;;N;;;;; +07A6;THAANA ABAFILI;Mn;0;NSM;;;;;N;;;;; +07A7;THAANA AABAAFILI;Mn;0;NSM;;;;;N;;;;; +07A8;THAANA IBIFILI;Mn;0;NSM;;;;;N;;;;; +07A9;THAANA EEBEEFILI;Mn;0;NSM;;;;;N;;;;; +07AA;THAANA UBUFILI;Mn;0;NSM;;;;;N;;;;; +07AB;THAANA OOBOOFILI;Mn;0;NSM;;;;;N;;;;; +07AC;THAANA EBEFILI;Mn;0;NSM;;;;;N;;;;; +07AD;THAANA EYBEYFILI;Mn;0;NSM;;;;;N;;;;; +07AE;THAANA OBOFILI;Mn;0;NSM;;;;;N;;;;; +07AF;THAANA OABOAFILI;Mn;0;NSM;;;;;N;;;;; +07B0;THAANA SUKUN;Mn;0;NSM;;;;;N;;;;; +07B1;THAANA LETTER NAA;Lo;0;AL;;;;;N;;;;; +07C0;NKO DIGIT ZERO;Nd;0;R;;0;0;0;N;;;;; +07C1;NKO DIGIT ONE;Nd;0;R;;1;1;1;N;;;;; +07C2;NKO DIGIT TWO;Nd;0;R;;2;2;2;N;;;;; +07C3;NKO DIGIT THREE;Nd;0;R;;3;3;3;N;;;;; +07C4;NKO DIGIT FOUR;Nd;0;R;;4;4;4;N;;;;; +07C5;NKO DIGIT FIVE;Nd;0;R;;5;5;5;N;;;;; +07C6;NKO DIGIT SIX;Nd;0;R;;6;6;6;N;;;;; +07C7;NKO DIGIT SEVEN;Nd;0;R;;7;7;7;N;;;;; +07C8;NKO DIGIT EIGHT;Nd;0;R;;8;8;8;N;;;;; +07C9;NKO DIGIT NINE;Nd;0;R;;9;9;9;N;;;;; +07CA;NKO LETTER A;Lo;0;R;;;;;N;;;;; +07CB;NKO LETTER EE;Lo;0;R;;;;;N;;;;; +07CC;NKO LETTER I;Lo;0;R;;;;;N;;;;; +07CD;NKO LETTER E;Lo;0;R;;;;;N;;;;; +07CE;NKO LETTER U;Lo;0;R;;;;;N;;;;; +07CF;NKO LETTER OO;Lo;0;R;;;;;N;;;;; +07D0;NKO LETTER O;Lo;0;R;;;;;N;;;;; +07D1;NKO LETTER DAGBASINNA;Lo;0;R;;;;;N;;;;; +07D2;NKO LETTER N;Lo;0;R;;;;;N;;;;; +07D3;NKO LETTER BA;Lo;0;R;;;;;N;;;;; +07D4;NKO LETTER PA;Lo;0;R;;;;;N;;;;; +07D5;NKO LETTER TA;Lo;0;R;;;;;N;;;;; +07D6;NKO LETTER JA;Lo;0;R;;;;;N;;;;; +07D7;NKO LETTER CHA;Lo;0;R;;;;;N;;;;; +07D8;NKO LETTER DA;Lo;0;R;;;;;N;;;;; +07D9;NKO LETTER RA;Lo;0;R;;;;;N;;;;; +07DA;NKO LETTER RRA;Lo;0;R;;;;;N;;;;; +07DB;NKO LETTER SA;Lo;0;R;;;;;N;;;;; +07DC;NKO LETTER GBA;Lo;0;R;;;;;N;;;;; +07DD;NKO LETTER FA;Lo;0;R;;;;;N;;;;; +07DE;NKO LETTER KA;Lo;0;R;;;;;N;;;;; +07DF;NKO LETTER LA;Lo;0;R;;;;;N;;;;; +07E0;NKO LETTER NA WOLOSO;Lo;0;R;;;;;N;;;;; +07E1;NKO LETTER MA;Lo;0;R;;;;;N;;;;; +07E2;NKO LETTER NYA;Lo;0;R;;;;;N;;;;; +07E3;NKO LETTER NA;Lo;0;R;;;;;N;;;;; +07E4;NKO LETTER HA;Lo;0;R;;;;;N;;;;; +07E5;NKO LETTER WA;Lo;0;R;;;;;N;;;;; +07E6;NKO LETTER YA;Lo;0;R;;;;;N;;;;; +07E7;NKO LETTER NYA WOLOSO;Lo;0;R;;;;;N;;;;; +07E8;NKO LETTER JONA JA;Lo;0;R;;;;;N;;;;; +07E9;NKO LETTER JONA CHA;Lo;0;R;;;;;N;;;;; +07EA;NKO LETTER JONA RA;Lo;0;R;;;;;N;;;;; +07EB;NKO COMBINING SHORT HIGH TONE;Mn;230;NSM;;;;;N;;;;; +07EC;NKO COMBINING SHORT LOW TONE;Mn;230;NSM;;;;;N;;;;; +07ED;NKO COMBINING SHORT RISING TONE;Mn;230;NSM;;;;;N;;;;; +07EE;NKO COMBINING LONG DESCENDING TONE;Mn;230;NSM;;;;;N;;;;; +07EF;NKO COMBINING LONG HIGH TONE;Mn;230;NSM;;;;;N;;;;; +07F0;NKO COMBINING LONG LOW TONE;Mn;230;NSM;;;;;N;;;;; +07F1;NKO COMBINING LONG RISING TONE;Mn;230;NSM;;;;;N;;;;; +07F2;NKO COMBINING NASALIZATION MARK;Mn;220;NSM;;;;;N;;;;; +07F3;NKO COMBINING DOUBLE DOT ABOVE;Mn;230;NSM;;;;;N;;;;; +07F4;NKO HIGH TONE APOSTROPHE;Lm;0;R;;;;;N;;;;; +07F5;NKO LOW TONE APOSTROPHE;Lm;0;R;;;;;N;;;;; +07F6;NKO SYMBOL OO DENNEN;So;0;ON;;;;;N;;;;; +07F7;NKO SYMBOL GBAKURUNEN;Po;0;ON;;;;;N;;;;; +07F8;NKO COMMA;Po;0;ON;;;;;N;;;;; +07F9;NKO EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +07FA;NKO LAJANYALAN;Lm;0;R;;;;;N;;;;; +07FD;NKO DANTAYALAN;Mn;220;NSM;;;;;N;;;;; +07FE;NKO DOROME SIGN;Sc;0;R;;;;;N;;;;; +07FF;NKO TAMAN SIGN;Sc;0;R;;;;;N;;;;; +0800;SAMARITAN LETTER ALAF;Lo;0;R;;;;;N;;;;; +0801;SAMARITAN LETTER BIT;Lo;0;R;;;;;N;;;;; +0802;SAMARITAN LETTER GAMAN;Lo;0;R;;;;;N;;;;; +0803;SAMARITAN LETTER DALAT;Lo;0;R;;;;;N;;;;; +0804;SAMARITAN LETTER IY;Lo;0;R;;;;;N;;;;; +0805;SAMARITAN LETTER BAA;Lo;0;R;;;;;N;;;;; +0806;SAMARITAN LETTER ZEN;Lo;0;R;;;;;N;;;;; +0807;SAMARITAN LETTER IT;Lo;0;R;;;;;N;;;;; +0808;SAMARITAN LETTER TIT;Lo;0;R;;;;;N;;;;; +0809;SAMARITAN LETTER YUT;Lo;0;R;;;;;N;;;;; +080A;SAMARITAN LETTER KAAF;Lo;0;R;;;;;N;;;;; +080B;SAMARITAN LETTER LABAT;Lo;0;R;;;;;N;;;;; +080C;SAMARITAN LETTER MIM;Lo;0;R;;;;;N;;;;; +080D;SAMARITAN LETTER NUN;Lo;0;R;;;;;N;;;;; +080E;SAMARITAN LETTER SINGAAT;Lo;0;R;;;;;N;;;;; +080F;SAMARITAN LETTER IN;Lo;0;R;;;;;N;;;;; +0810;SAMARITAN LETTER FI;Lo;0;R;;;;;N;;;;; +0811;SAMARITAN LETTER TSAADIY;Lo;0;R;;;;;N;;;;; +0812;SAMARITAN LETTER QUF;Lo;0;R;;;;;N;;;;; +0813;SAMARITAN LETTER RISH;Lo;0;R;;;;;N;;;;; +0814;SAMARITAN LETTER SHAN;Lo;0;R;;;;;N;;;;; +0815;SAMARITAN LETTER TAAF;Lo;0;R;;;;;N;;;;; +0816;SAMARITAN MARK IN;Mn;230;NSM;;;;;N;;;;; +0817;SAMARITAN MARK IN-ALAF;Mn;230;NSM;;;;;N;;;;; +0818;SAMARITAN MARK OCCLUSION;Mn;230;NSM;;;;;N;;;;; +0819;SAMARITAN MARK DAGESH;Mn;230;NSM;;;;;N;;;;; +081A;SAMARITAN MODIFIER LETTER EPENTHETIC YUT;Lm;0;R;;;;;N;;;;; +081B;SAMARITAN MARK EPENTHETIC YUT;Mn;230;NSM;;;;;N;;;;; +081C;SAMARITAN VOWEL SIGN LONG E;Mn;230;NSM;;;;;N;;;;; +081D;SAMARITAN VOWEL SIGN E;Mn;230;NSM;;;;;N;;;;; +081E;SAMARITAN VOWEL SIGN OVERLONG AA;Mn;230;NSM;;;;;N;;;;; +081F;SAMARITAN VOWEL SIGN LONG AA;Mn;230;NSM;;;;;N;;;;; +0820;SAMARITAN VOWEL SIGN AA;Mn;230;NSM;;;;;N;;;;; +0821;SAMARITAN VOWEL SIGN OVERLONG A;Mn;230;NSM;;;;;N;;;;; +0822;SAMARITAN VOWEL SIGN LONG A;Mn;230;NSM;;;;;N;;;;; +0823;SAMARITAN VOWEL SIGN A;Mn;230;NSM;;;;;N;;;;; +0824;SAMARITAN MODIFIER LETTER SHORT A;Lm;0;R;;;;;N;;;;; +0825;SAMARITAN VOWEL SIGN SHORT A;Mn;230;NSM;;;;;N;;;;; +0826;SAMARITAN VOWEL SIGN LONG U;Mn;230;NSM;;;;;N;;;;; +0827;SAMARITAN VOWEL SIGN U;Mn;230;NSM;;;;;N;;;;; +0828;SAMARITAN MODIFIER LETTER I;Lm;0;R;;;;;N;;;;; +0829;SAMARITAN VOWEL SIGN LONG I;Mn;230;NSM;;;;;N;;;;; +082A;SAMARITAN VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;; +082B;SAMARITAN VOWEL SIGN O;Mn;230;NSM;;;;;N;;;;; +082C;SAMARITAN VOWEL SIGN SUKUN;Mn;230;NSM;;;;;N;;;;; +082D;SAMARITAN MARK NEQUDAA;Mn;230;NSM;;;;;N;;;;; +0830;SAMARITAN PUNCTUATION NEQUDAA;Po;0;R;;;;;N;;;;; +0831;SAMARITAN PUNCTUATION AFSAAQ;Po;0;R;;;;;N;;;;; +0832;SAMARITAN PUNCTUATION ANGED;Po;0;R;;;;;N;;;;; +0833;SAMARITAN PUNCTUATION BAU;Po;0;R;;;;;N;;;;; +0834;SAMARITAN PUNCTUATION ATMAAU;Po;0;R;;;;;N;;;;; +0835;SAMARITAN PUNCTUATION SHIYYAALAA;Po;0;R;;;;;N;;;;; +0836;SAMARITAN ABBREVIATION MARK;Po;0;R;;;;;N;;;;; +0837;SAMARITAN PUNCTUATION MELODIC QITSA;Po;0;R;;;;;N;;;;; +0838;SAMARITAN PUNCTUATION ZIQAA;Po;0;R;;;;;N;;;;; +0839;SAMARITAN PUNCTUATION QITSA;Po;0;R;;;;;N;;;;; +083A;SAMARITAN PUNCTUATION ZAEF;Po;0;R;;;;;N;;;;; +083B;SAMARITAN PUNCTUATION TURU;Po;0;R;;;;;N;;;;; +083C;SAMARITAN PUNCTUATION ARKAANU;Po;0;R;;;;;N;;;;; +083D;SAMARITAN PUNCTUATION SOF MASHFAAT;Po;0;R;;;;;N;;;;; +083E;SAMARITAN PUNCTUATION ANNAAU;Po;0;R;;;;;N;;;;; +0840;MANDAIC LETTER HALQA;Lo;0;R;;;;;N;;;;; +0841;MANDAIC LETTER AB;Lo;0;R;;;;;N;;;;; +0842;MANDAIC LETTER AG;Lo;0;R;;;;;N;;;;; +0843;MANDAIC LETTER AD;Lo;0;R;;;;;N;;;;; +0844;MANDAIC LETTER AH;Lo;0;R;;;;;N;;;;; +0845;MANDAIC LETTER USHENNA;Lo;0;R;;;;;N;;;;; +0846;MANDAIC LETTER AZ;Lo;0;R;;;;;N;;;;; +0847;MANDAIC LETTER IT;Lo;0;R;;;;;N;;;;; +0848;MANDAIC LETTER ATT;Lo;0;R;;;;;N;;;;; +0849;MANDAIC LETTER AKSA;Lo;0;R;;;;;N;;;;; +084A;MANDAIC LETTER AK;Lo;0;R;;;;;N;;;;; +084B;MANDAIC LETTER AL;Lo;0;R;;;;;N;;;;; +084C;MANDAIC LETTER AM;Lo;0;R;;;;;N;;;;; +084D;MANDAIC LETTER AN;Lo;0;R;;;;;N;;;;; +084E;MANDAIC LETTER AS;Lo;0;R;;;;;N;;;;; +084F;MANDAIC LETTER IN;Lo;0;R;;;;;N;;;;; +0850;MANDAIC LETTER AP;Lo;0;R;;;;;N;;;;; +0851;MANDAIC LETTER ASZ;Lo;0;R;;;;;N;;;;; +0852;MANDAIC LETTER AQ;Lo;0;R;;;;;N;;;;; +0853;MANDAIC LETTER AR;Lo;0;R;;;;;N;;;;; +0854;MANDAIC LETTER ASH;Lo;0;R;;;;;N;;;;; +0855;MANDAIC LETTER AT;Lo;0;R;;;;;N;;;;; +0856;MANDAIC LETTER DUSHENNA;Lo;0;R;;;;;N;;;;; +0857;MANDAIC LETTER KAD;Lo;0;R;;;;;N;;;;; +0858;MANDAIC LETTER AIN;Lo;0;R;;;;;N;;;;; +0859;MANDAIC AFFRICATION MARK;Mn;220;NSM;;;;;N;;;;; +085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;; +085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;; +085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;; +0860;SYRIAC LETTER MALAYALAM NGA;Lo;0;AL;;;;;N;;;;; +0861;SYRIAC LETTER MALAYALAM JA;Lo;0;AL;;;;;N;;;;; +0862;SYRIAC LETTER MALAYALAM NYA;Lo;0;AL;;;;;N;;;;; +0863;SYRIAC LETTER MALAYALAM TTA;Lo;0;AL;;;;;N;;;;; +0864;SYRIAC LETTER MALAYALAM NNA;Lo;0;AL;;;;;N;;;;; +0865;SYRIAC LETTER MALAYALAM NNNA;Lo;0;AL;;;;;N;;;;; +0866;SYRIAC LETTER MALAYALAM BHA;Lo;0;AL;;;;;N;;;;; +0867;SYRIAC LETTER MALAYALAM RA;Lo;0;AL;;;;;N;;;;; +0868;SYRIAC LETTER MALAYALAM LLA;Lo;0;AL;;;;;N;;;;; +0869;SYRIAC LETTER MALAYALAM LLLA;Lo;0;AL;;;;;N;;;;; +086A;SYRIAC LETTER MALAYALAM SSA;Lo;0;AL;;;;;N;;;;; +08A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;; +08A1;ARABIC LETTER BEH WITH HAMZA ABOVE;Lo;0;AL;;;;;N;;;;; +08A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08A3;ARABIC LETTER TAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08A4;ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08A5;ARABIC LETTER QAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +08A6;ARABIC LETTER LAM WITH DOUBLE BAR;Lo;0;AL;;;;;N;;;;; +08A7;ARABIC LETTER MEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08A8;ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE;Lo;0;AL;;;;;N;;;;; +08A9;ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;; +08AA;ARABIC LETTER REH WITH LOOP;Lo;0;AL;;;;;N;;;;; +08AB;ARABIC LETTER WAW WITH DOT WITHIN;Lo;0;AL;;;;;N;;;;; +08AC;ARABIC LETTER ROHINGYA YEH;Lo;0;AL;;;;;N;;;;; +08AD;ARABIC LETTER LOW ALEF;Lo;0;AL;;;;;N;;;;; +08AE;ARABIC LETTER DAL WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +08AF;ARABIC LETTER SAD WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +08B0;ARABIC LETTER GAF WITH INVERTED STROKE;Lo;0;AL;;;;;N;;;;; +08B1;ARABIC LETTER STRAIGHT WAW;Lo;0;AL;;;;;N;;;;; +08B2;ARABIC LETTER ZAIN WITH INVERTED V ABOVE;Lo;0;AL;;;;;N;;;;; +08B3;ARABIC LETTER AIN WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +08B4;ARABIC LETTER KAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;; +08B6;ARABIC LETTER BEH WITH SMALL MEEM ABOVE;Lo;0;AL;;;;;N;;;;; +08B7;ARABIC LETTER PEH WITH SMALL MEEM ABOVE;Lo;0;AL;;;;;N;;;;; +08B8;ARABIC LETTER TEH WITH SMALL TEH ABOVE;Lo;0;AL;;;;;N;;;;; +08B9;ARABIC LETTER REH WITH SMALL NOON ABOVE;Lo;0;AL;;;;;N;;;;; +08BA;ARABIC LETTER YEH WITH TWO DOTS BELOW AND SMALL NOON ABOVE;Lo;0;AL;;;;;N;;;;; +08BB;ARABIC LETTER AFRICAN FEH;Lo;0;AL;;;;;N;;;;; +08BC;ARABIC LETTER AFRICAN QAF;Lo;0;AL;;;;;N;;;;; +08BD;ARABIC LETTER AFRICAN NOON;Lo;0;AL;;;;;N;;;;; +08BE;ARABIC LETTER PEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +08BF;ARABIC LETTER TEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +08C0;ARABIC LETTER TTEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +08C1;ARABIC LETTER TCHEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +08C2;ARABIC LETTER KEHEH WITH SMALL V;Lo;0;AL;;;;;N;;;;; +08C3;ARABIC LETTER GHAIN WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08C4;ARABIC LETTER AFRICAN QAF WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08C5;ARABIC LETTER JEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;; +08C6;ARABIC LETTER JEEM WITH THREE DOTS BELOW;Lo;0;AL;;;;;N;;;;; +08C7;ARABIC LETTER LAM WITH SMALL ARABIC LETTER TAH ABOVE;Lo;0;AL;;;;;N;;;;; +08D3;ARABIC SMALL LOW WAW;Mn;220;NSM;;;;;N;;;;; +08D4;ARABIC SMALL HIGH WORD AR-RUB;Mn;230;NSM;;;;;N;;;;; +08D5;ARABIC SMALL HIGH SAD;Mn;230;NSM;;;;;N;;;;; +08D6;ARABIC SMALL HIGH AIN;Mn;230;NSM;;;;;N;;;;; +08D7;ARABIC SMALL HIGH QAF;Mn;230;NSM;;;;;N;;;;; +08D8;ARABIC SMALL HIGH NOON WITH KASRA;Mn;230;NSM;;;;;N;;;;; +08D9;ARABIC SMALL LOW NOON WITH KASRA;Mn;230;NSM;;;;;N;;;;; +08DA;ARABIC SMALL HIGH WORD ATH-THALATHA;Mn;230;NSM;;;;;N;;;;; +08DB;ARABIC SMALL HIGH WORD AS-SAJDA;Mn;230;NSM;;;;;N;;;;; +08DC;ARABIC SMALL HIGH WORD AN-NISF;Mn;230;NSM;;;;;N;;;;; +08DD;ARABIC SMALL HIGH WORD SAKTA;Mn;230;NSM;;;;;N;;;;; +08DE;ARABIC SMALL HIGH WORD QIF;Mn;230;NSM;;;;;N;;;;; +08DF;ARABIC SMALL HIGH WORD WAQFA;Mn;230;NSM;;;;;N;;;;; +08E0;ARABIC SMALL HIGH FOOTNOTE MARKER;Mn;230;NSM;;;;;N;;;;; +08E1;ARABIC SMALL HIGH SIGN SAFHA;Mn;230;NSM;;;;;N;;;;; +08E2;ARABIC DISPUTED END OF AYAH;Cf;0;AN;;;;;N;;;;; +08E3;ARABIC TURNED DAMMA BELOW;Mn;220;NSM;;;;;N;;;;; +08E4;ARABIC CURLY FATHA;Mn;230;NSM;;;;;N;;;;; +08E5;ARABIC CURLY DAMMA;Mn;230;NSM;;;;;N;;;;; +08E6;ARABIC CURLY KASRA;Mn;220;NSM;;;;;N;;;;; +08E7;ARABIC CURLY FATHATAN;Mn;230;NSM;;;;;N;;;;; +08E8;ARABIC CURLY DAMMATAN;Mn;230;NSM;;;;;N;;;;; +08E9;ARABIC CURLY KASRATAN;Mn;220;NSM;;;;;N;;;;; +08EA;ARABIC TONE ONE DOT ABOVE;Mn;230;NSM;;;;;N;;;;; +08EB;ARABIC TONE TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +08EC;ARABIC TONE LOOP ABOVE;Mn;230;NSM;;;;;N;;;;; +08ED;ARABIC TONE ONE DOT BELOW;Mn;220;NSM;;;;;N;;;;; +08EE;ARABIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +08EF;ARABIC TONE LOOP BELOW;Mn;220;NSM;;;;;N;;;;; +08F0;ARABIC OPEN FATHATAN;Mn;27;NSM;;;;;N;;;;; +08F1;ARABIC OPEN DAMMATAN;Mn;28;NSM;;;;;N;;;;; +08F2;ARABIC OPEN KASRATAN;Mn;29;NSM;;;;;N;;;;; +08F3;ARABIC SMALL HIGH WAW;Mn;230;NSM;;;;;N;;;;; +08F4;ARABIC FATHA WITH RING;Mn;230;NSM;;;;;N;;;;; +08F5;ARABIC FATHA WITH DOT ABOVE;Mn;230;NSM;;;;;N;;;;; +08F6;ARABIC KASRA WITH DOT BELOW;Mn;220;NSM;;;;;N;;;;; +08F7;ARABIC LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +08F8;ARABIC RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +08F9;ARABIC LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +08FA;ARABIC RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +08FB;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +08FC;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;; +08FD;ARABIC RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;; +08FE;ARABIC DAMMA WITH DOT;Mn;230;NSM;;;;;N;;;;; +08FF;ARABIC MARK SIDEWAYS NOON GHUNNA;Mn;230;NSM;;;;;N;;;;; +0900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0903;DEVANAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0904;DEVANAGARI LETTER SHORT A;Lo;0;L;;;;;N;;;;; +0905;DEVANAGARI LETTER A;Lo;0;L;;;;;N;;;;; +0906;DEVANAGARI LETTER AA;Lo;0;L;;;;;N;;;;; +0907;DEVANAGARI LETTER I;Lo;0;L;;;;;N;;;;; +0908;DEVANAGARI LETTER II;Lo;0;L;;;;;N;;;;; +0909;DEVANAGARI LETTER U;Lo;0;L;;;;;N;;;;; +090A;DEVANAGARI LETTER UU;Lo;0;L;;;;;N;;;;; +090B;DEVANAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +090C;DEVANAGARI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +090D;DEVANAGARI LETTER CANDRA E;Lo;0;L;;;;;N;;;;; +090E;DEVANAGARI LETTER SHORT E;Lo;0;L;;;;;N;;;;; +090F;DEVANAGARI LETTER E;Lo;0;L;;;;;N;;;;; +0910;DEVANAGARI LETTER AI;Lo;0;L;;;;;N;;;;; +0911;DEVANAGARI LETTER CANDRA O;Lo;0;L;;;;;N;;;;; +0912;DEVANAGARI LETTER SHORT O;Lo;0;L;;;;;N;;;;; +0913;DEVANAGARI LETTER O;Lo;0;L;;;;;N;;;;; +0914;DEVANAGARI LETTER AU;Lo;0;L;;;;;N;;;;; +0915;DEVANAGARI LETTER KA;Lo;0;L;;;;;N;;;;; +0916;DEVANAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; +0917;DEVANAGARI LETTER GA;Lo;0;L;;;;;N;;;;; +0918;DEVANAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; +0919;DEVANAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; +091A;DEVANAGARI LETTER CA;Lo;0;L;;;;;N;;;;; +091B;DEVANAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; +091C;DEVANAGARI LETTER JA;Lo;0;L;;;;;N;;;;; +091D;DEVANAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; +091E;DEVANAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; +091F;DEVANAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; +0920;DEVANAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0921;DEVANAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; +0922;DEVANAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0923;DEVANAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; +0924;DEVANAGARI LETTER TA;Lo;0;L;;;;;N;;;;; +0925;DEVANAGARI LETTER THA;Lo;0;L;;;;;N;;;;; +0926;DEVANAGARI LETTER DA;Lo;0;L;;;;;N;;;;; +0927;DEVANAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; +0928;DEVANAGARI LETTER NA;Lo;0;L;;;;;N;;;;; +0929;DEVANAGARI LETTER NNNA;Lo;0;L;0928 093C;;;;N;;;;; +092A;DEVANAGARI LETTER PA;Lo;0;L;;;;;N;;;;; +092B;DEVANAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; +092C;DEVANAGARI LETTER BA;Lo;0;L;;;;;N;;;;; +092D;DEVANAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; +092E;DEVANAGARI LETTER MA;Lo;0;L;;;;;N;;;;; +092F;DEVANAGARI LETTER YA;Lo;0;L;;;;;N;;;;; +0930;DEVANAGARI LETTER RA;Lo;0;L;;;;;N;;;;; +0931;DEVANAGARI LETTER RRA;Lo;0;L;0930 093C;;;;N;;;;; +0932;DEVANAGARI LETTER LA;Lo;0;L;;;;;N;;;;; +0933;DEVANAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; +0934;DEVANAGARI LETTER LLLA;Lo;0;L;0933 093C;;;;N;;;;; +0935;DEVANAGARI LETTER VA;Lo;0;L;;;;;N;;;;; +0936;DEVANAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; +0937;DEVANAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; +0938;DEVANAGARI LETTER SA;Lo;0;L;;;;;N;;;;; +0939;DEVANAGARI LETTER HA;Lo;0;L;;;;;N;;;;; +093A;DEVANAGARI VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;; +093B;DEVANAGARI VOWEL SIGN OOE;Mc;0;L;;;;;N;;;;; +093C;DEVANAGARI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +093D;DEVANAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +093E;DEVANAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +093F;DEVANAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0940;DEVANAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0941;DEVANAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0942;DEVANAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0943;DEVANAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0944;DEVANAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0945;DEVANAGARI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; +0946;DEVANAGARI VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;; +0947;DEVANAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0948;DEVANAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0949;DEVANAGARI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; +094A;DEVANAGARI VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; +094B;DEVANAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +094C;DEVANAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +094D;DEVANAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +094E;DEVANAGARI VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;; +094F;DEVANAGARI VOWEL SIGN AW;Mc;0;L;;;;;N;;;;; +0950;DEVANAGARI OM;Lo;0;L;;;;;N;;;;; +0951;DEVANAGARI STRESS SIGN UDATTA;Mn;230;NSM;;;;;N;;;;; +0952;DEVANAGARI STRESS SIGN ANUDATTA;Mn;220;NSM;;;;;N;;;;; +0953;DEVANAGARI GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; +0954;DEVANAGARI ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; +0955;DEVANAGARI VOWEL SIGN CANDRA LONG E;Mn;0;NSM;;;;;N;;;;; +0956;DEVANAGARI VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +0957;DEVANAGARI VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;; +0958;DEVANAGARI LETTER QA;Lo;0;L;0915 093C;;;;N;;;;; +0959;DEVANAGARI LETTER KHHA;Lo;0;L;0916 093C;;;;N;;;;; +095A;DEVANAGARI LETTER GHHA;Lo;0;L;0917 093C;;;;N;;;;; +095B;DEVANAGARI LETTER ZA;Lo;0;L;091C 093C;;;;N;;;;; +095C;DEVANAGARI LETTER DDDHA;Lo;0;L;0921 093C;;;;N;;;;; +095D;DEVANAGARI LETTER RHA;Lo;0;L;0922 093C;;;;N;;;;; +095E;DEVANAGARI LETTER FA;Lo;0;L;092B 093C;;;;N;;;;; +095F;DEVANAGARI LETTER YYA;Lo;0;L;092F 093C;;;;N;;;;; +0960;DEVANAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0961;DEVANAGARI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0962;DEVANAGARI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0963;DEVANAGARI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0964;DEVANAGARI DANDA;Po;0;L;;;;;N;;;;; +0965;DEVANAGARI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +0966;DEVANAGARI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0967;DEVANAGARI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0968;DEVANAGARI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0969;DEVANAGARI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +096A;DEVANAGARI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +096B;DEVANAGARI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +096C;DEVANAGARI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +096D;DEVANAGARI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +096E;DEVANAGARI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +096F;DEVANAGARI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0970;DEVANAGARI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +0971;DEVANAGARI SIGN HIGH SPACING DOT;Lm;0;L;;;;;N;;;;; +0972;DEVANAGARI LETTER CANDRA A;Lo;0;L;;;;;N;;;;; +0973;DEVANAGARI LETTER OE;Lo;0;L;;;;;N;;;;; +0974;DEVANAGARI LETTER OOE;Lo;0;L;;;;;N;;;;; +0975;DEVANAGARI LETTER AW;Lo;0;L;;;;;N;;;;; +0976;DEVANAGARI LETTER UE;Lo;0;L;;;;;N;;;;; +0977;DEVANAGARI LETTER UUE;Lo;0;L;;;;;N;;;;; +0978;DEVANAGARI LETTER MARWARI DDA;Lo;0;L;;;;;N;;;;; +0979;DEVANAGARI LETTER ZHA;Lo;0;L;;;;;N;;;;; +097A;DEVANAGARI LETTER HEAVY YA;Lo;0;L;;;;;N;;;;; +097B;DEVANAGARI LETTER GGA;Lo;0;L;;;;;N;;;;; +097C;DEVANAGARI LETTER JJA;Lo;0;L;;;;;N;;;;; +097D;DEVANAGARI LETTER GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +097E;DEVANAGARI LETTER DDDA;Lo;0;L;;;;;N;;;;; +097F;DEVANAGARI LETTER BBA;Lo;0;L;;;;;N;;;;; +0980;BENGALI ANJI;Lo;0;L;;;;;N;;;;; +0981;BENGALI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0982;BENGALI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0983;BENGALI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0985;BENGALI LETTER A;Lo;0;L;;;;;N;;;;; +0986;BENGALI LETTER AA;Lo;0;L;;;;;N;;;;; +0987;BENGALI LETTER I;Lo;0;L;;;;;N;;;;; +0988;BENGALI LETTER II;Lo;0;L;;;;;N;;;;; +0989;BENGALI LETTER U;Lo;0;L;;;;;N;;;;; +098A;BENGALI LETTER UU;Lo;0;L;;;;;N;;;;; +098B;BENGALI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +098C;BENGALI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +098F;BENGALI LETTER E;Lo;0;L;;;;;N;;;;; +0990;BENGALI LETTER AI;Lo;0;L;;;;;N;;;;; +0993;BENGALI LETTER O;Lo;0;L;;;;;N;;;;; +0994;BENGALI LETTER AU;Lo;0;L;;;;;N;;;;; +0995;BENGALI LETTER KA;Lo;0;L;;;;;N;;;;; +0996;BENGALI LETTER KHA;Lo;0;L;;;;;N;;;;; +0997;BENGALI LETTER GA;Lo;0;L;;;;;N;;;;; +0998;BENGALI LETTER GHA;Lo;0;L;;;;;N;;;;; +0999;BENGALI LETTER NGA;Lo;0;L;;;;;N;;;;; +099A;BENGALI LETTER CA;Lo;0;L;;;;;N;;;;; +099B;BENGALI LETTER CHA;Lo;0;L;;;;;N;;;;; +099C;BENGALI LETTER JA;Lo;0;L;;;;;N;;;;; +099D;BENGALI LETTER JHA;Lo;0;L;;;;;N;;;;; +099E;BENGALI LETTER NYA;Lo;0;L;;;;;N;;;;; +099F;BENGALI LETTER TTA;Lo;0;L;;;;;N;;;;; +09A0;BENGALI LETTER TTHA;Lo;0;L;;;;;N;;;;; +09A1;BENGALI LETTER DDA;Lo;0;L;;;;;N;;;;; +09A2;BENGALI LETTER DDHA;Lo;0;L;;;;;N;;;;; +09A3;BENGALI LETTER NNA;Lo;0;L;;;;;N;;;;; +09A4;BENGALI LETTER TA;Lo;0;L;;;;;N;;;;; +09A5;BENGALI LETTER THA;Lo;0;L;;;;;N;;;;; +09A6;BENGALI LETTER DA;Lo;0;L;;;;;N;;;;; +09A7;BENGALI LETTER DHA;Lo;0;L;;;;;N;;;;; +09A8;BENGALI LETTER NA;Lo;0;L;;;;;N;;;;; +09AA;BENGALI LETTER PA;Lo;0;L;;;;;N;;;;; +09AB;BENGALI LETTER PHA;Lo;0;L;;;;;N;;;;; +09AC;BENGALI LETTER BA;Lo;0;L;;;;;N;;;;; +09AD;BENGALI LETTER BHA;Lo;0;L;;;;;N;;;;; +09AE;BENGALI LETTER MA;Lo;0;L;;;;;N;;;;; +09AF;BENGALI LETTER YA;Lo;0;L;;;;;N;;;;; +09B0;BENGALI LETTER RA;Lo;0;L;;;;;N;;;;; +09B2;BENGALI LETTER LA;Lo;0;L;;;;;N;;;;; +09B6;BENGALI LETTER SHA;Lo;0;L;;;;;N;;;;; +09B7;BENGALI LETTER SSA;Lo;0;L;;;;;N;;;;; +09B8;BENGALI LETTER SA;Lo;0;L;;;;;N;;;;; +09B9;BENGALI LETTER HA;Lo;0;L;;;;;N;;;;; +09BC;BENGALI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +09BD;BENGALI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +09BE;BENGALI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +09BF;BENGALI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +09C0;BENGALI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +09C1;BENGALI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +09C2;BENGALI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +09C3;BENGALI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +09C4;BENGALI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +09C7;BENGALI VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +09C8;BENGALI VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +09CB;BENGALI VOWEL SIGN O;Mc;0;L;09C7 09BE;;;;N;;;;; +09CC;BENGALI VOWEL SIGN AU;Mc;0;L;09C7 09D7;;;;N;;;;; +09CD;BENGALI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +09CE;BENGALI LETTER KHANDA TA;Lo;0;L;;;;;N;;;;; +09D7;BENGALI AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +09DC;BENGALI LETTER RRA;Lo;0;L;09A1 09BC;;;;N;;;;; +09DD;BENGALI LETTER RHA;Lo;0;L;09A2 09BC;;;;N;;;;; +09DF;BENGALI LETTER YYA;Lo;0;L;09AF 09BC;;;;N;;;;; +09E0;BENGALI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +09E1;BENGALI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +09E2;BENGALI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +09E3;BENGALI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +09E6;BENGALI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +09E7;BENGALI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +09E8;BENGALI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +09E9;BENGALI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +09EA;BENGALI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +09EB;BENGALI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +09EC;BENGALI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +09ED;BENGALI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +09EE;BENGALI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +09EF;BENGALI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +09F0;BENGALI LETTER RA WITH MIDDLE DIAGONAL;Lo;0;L;;;;;N;;;;; +09F1;BENGALI LETTER RA WITH LOWER DIAGONAL;Lo;0;L;;;;;N;BENGALI LETTER VA WITH LOWER DIAGONAL;;;; +09F2;BENGALI RUPEE MARK;Sc;0;ET;;;;;N;;;;; +09F3;BENGALI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +09F4;BENGALI CURRENCY NUMERATOR ONE;No;0;L;;;;1/16;N;;;;; +09F5;BENGALI CURRENCY NUMERATOR TWO;No;0;L;;;;1/8;N;;;;; +09F6;BENGALI CURRENCY NUMERATOR THREE;No;0;L;;;;3/16;N;;;;; +09F7;BENGALI CURRENCY NUMERATOR FOUR;No;0;L;;;;1/4;N;;;;; +09F8;BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR;No;0;L;;;;3/4;N;;;;; +09F9;BENGALI CURRENCY DENOMINATOR SIXTEEN;No;0;L;;;;16;N;;;;; +09FA;BENGALI ISSHAR;So;0;L;;;;;N;;;;; +09FB;BENGALI GANDA MARK;Sc;0;ET;;;;;N;;;;; +09FC;BENGALI LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; +09FD;BENGALI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +09FE;BENGALI SANDHI MARK;Mn;230;NSM;;;;;N;;;;; +0A01;GURMUKHI SIGN ADAK BINDI;Mn;0;NSM;;;;;N;;;;; +0A02;GURMUKHI SIGN BINDI;Mn;0;NSM;;;;;N;;;;; +0A03;GURMUKHI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0A05;GURMUKHI LETTER A;Lo;0;L;;;;;N;;;;; +0A06;GURMUKHI LETTER AA;Lo;0;L;;;;;N;;;;; +0A07;GURMUKHI LETTER I;Lo;0;L;;;;;N;;;;; +0A08;GURMUKHI LETTER II;Lo;0;L;;;;;N;;;;; +0A09;GURMUKHI LETTER U;Lo;0;L;;;;;N;;;;; +0A0A;GURMUKHI LETTER UU;Lo;0;L;;;;;N;;;;; +0A0F;GURMUKHI LETTER EE;Lo;0;L;;;;;N;;;;; +0A10;GURMUKHI LETTER AI;Lo;0;L;;;;;N;;;;; +0A13;GURMUKHI LETTER OO;Lo;0;L;;;;;N;;;;; +0A14;GURMUKHI LETTER AU;Lo;0;L;;;;;N;;;;; +0A15;GURMUKHI LETTER KA;Lo;0;L;;;;;N;;;;; +0A16;GURMUKHI LETTER KHA;Lo;0;L;;;;;N;;;;; +0A17;GURMUKHI LETTER GA;Lo;0;L;;;;;N;;;;; +0A18;GURMUKHI LETTER GHA;Lo;0;L;;;;;N;;;;; +0A19;GURMUKHI LETTER NGA;Lo;0;L;;;;;N;;;;; +0A1A;GURMUKHI LETTER CA;Lo;0;L;;;;;N;;;;; +0A1B;GURMUKHI LETTER CHA;Lo;0;L;;;;;N;;;;; +0A1C;GURMUKHI LETTER JA;Lo;0;L;;;;;N;;;;; +0A1D;GURMUKHI LETTER JHA;Lo;0;L;;;;;N;;;;; +0A1E;GURMUKHI LETTER NYA;Lo;0;L;;;;;N;;;;; +0A1F;GURMUKHI LETTER TTA;Lo;0;L;;;;;N;;;;; +0A20;GURMUKHI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0A21;GURMUKHI LETTER DDA;Lo;0;L;;;;;N;;;;; +0A22;GURMUKHI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0A23;GURMUKHI LETTER NNA;Lo;0;L;;;;;N;;;;; +0A24;GURMUKHI LETTER TA;Lo;0;L;;;;;N;;;;; +0A25;GURMUKHI LETTER THA;Lo;0;L;;;;;N;;;;; +0A26;GURMUKHI LETTER DA;Lo;0;L;;;;;N;;;;; +0A27;GURMUKHI LETTER DHA;Lo;0;L;;;;;N;;;;; +0A28;GURMUKHI LETTER NA;Lo;0;L;;;;;N;;;;; +0A2A;GURMUKHI LETTER PA;Lo;0;L;;;;;N;;;;; +0A2B;GURMUKHI LETTER PHA;Lo;0;L;;;;;N;;;;; +0A2C;GURMUKHI LETTER BA;Lo;0;L;;;;;N;;;;; +0A2D;GURMUKHI LETTER BHA;Lo;0;L;;;;;N;;;;; +0A2E;GURMUKHI LETTER MA;Lo;0;L;;;;;N;;;;; +0A2F;GURMUKHI LETTER YA;Lo;0;L;;;;;N;;;;; +0A30;GURMUKHI LETTER RA;Lo;0;L;;;;;N;;;;; +0A32;GURMUKHI LETTER LA;Lo;0;L;;;;;N;;;;; +0A33;GURMUKHI LETTER LLA;Lo;0;L;0A32 0A3C;;;;N;;;;; +0A35;GURMUKHI LETTER VA;Lo;0;L;;;;;N;;;;; +0A36;GURMUKHI LETTER SHA;Lo;0;L;0A38 0A3C;;;;N;;;;; +0A38;GURMUKHI LETTER SA;Lo;0;L;;;;;N;;;;; +0A39;GURMUKHI LETTER HA;Lo;0;L;;;;;N;;;;; +0A3C;GURMUKHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0A3E;GURMUKHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0A3F;GURMUKHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0A40;GURMUKHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0A41;GURMUKHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0A42;GURMUKHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0A47;GURMUKHI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +0A48;GURMUKHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0A4B;GURMUKHI VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; +0A4C;GURMUKHI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0A4D;GURMUKHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0A51;GURMUKHI SIGN UDAAT;Mn;0;NSM;;;;;N;;;;; +0A59;GURMUKHI LETTER KHHA;Lo;0;L;0A16 0A3C;;;;N;;;;; +0A5A;GURMUKHI LETTER GHHA;Lo;0;L;0A17 0A3C;;;;N;;;;; +0A5B;GURMUKHI LETTER ZA;Lo;0;L;0A1C 0A3C;;;;N;;;;; +0A5C;GURMUKHI LETTER RRA;Lo;0;L;;;;;N;;;;; +0A5E;GURMUKHI LETTER FA;Lo;0;L;0A2B 0A3C;;;;N;;;;; +0A66;GURMUKHI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0A67;GURMUKHI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0A68;GURMUKHI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0A69;GURMUKHI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0A6A;GURMUKHI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0A6B;GURMUKHI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0A6C;GURMUKHI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0A6D;GURMUKHI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0A6E;GURMUKHI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0A6F;GURMUKHI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0A70;GURMUKHI TIPPI;Mn;0;NSM;;;;;N;;;;; +0A71;GURMUKHI ADDAK;Mn;0;NSM;;;;;N;;;;; +0A72;GURMUKHI IRI;Lo;0;L;;;;;N;;;;; +0A73;GURMUKHI URA;Lo;0;L;;;;;N;;;;; +0A74;GURMUKHI EK ONKAR;Lo;0;L;;;;;N;;;;; +0A75;GURMUKHI SIGN YAKASH;Mn;0;NSM;;;;;N;;;;; +0A76;GURMUKHI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +0A81;GUJARATI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0A82;GUJARATI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0A83;GUJARATI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0A85;GUJARATI LETTER A;Lo;0;L;;;;;N;;;;; +0A86;GUJARATI LETTER AA;Lo;0;L;;;;;N;;;;; +0A87;GUJARATI LETTER I;Lo;0;L;;;;;N;;;;; +0A88;GUJARATI LETTER II;Lo;0;L;;;;;N;;;;; +0A89;GUJARATI LETTER U;Lo;0;L;;;;;N;;;;; +0A8A;GUJARATI LETTER UU;Lo;0;L;;;;;N;;;;; +0A8B;GUJARATI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0A8C;GUJARATI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0A8D;GUJARATI VOWEL CANDRA E;Lo;0;L;;;;;N;;;;; +0A8F;GUJARATI LETTER E;Lo;0;L;;;;;N;;;;; +0A90;GUJARATI LETTER AI;Lo;0;L;;;;;N;;;;; +0A91;GUJARATI VOWEL CANDRA O;Lo;0;L;;;;;N;;;;; +0A93;GUJARATI LETTER O;Lo;0;L;;;;;N;;;;; +0A94;GUJARATI LETTER AU;Lo;0;L;;;;;N;;;;; +0A95;GUJARATI LETTER KA;Lo;0;L;;;;;N;;;;; +0A96;GUJARATI LETTER KHA;Lo;0;L;;;;;N;;;;; +0A97;GUJARATI LETTER GA;Lo;0;L;;;;;N;;;;; +0A98;GUJARATI LETTER GHA;Lo;0;L;;;;;N;;;;; +0A99;GUJARATI LETTER NGA;Lo;0;L;;;;;N;;;;; +0A9A;GUJARATI LETTER CA;Lo;0;L;;;;;N;;;;; +0A9B;GUJARATI LETTER CHA;Lo;0;L;;;;;N;;;;; +0A9C;GUJARATI LETTER JA;Lo;0;L;;;;;N;;;;; +0A9D;GUJARATI LETTER JHA;Lo;0;L;;;;;N;;;;; +0A9E;GUJARATI LETTER NYA;Lo;0;L;;;;;N;;;;; +0A9F;GUJARATI LETTER TTA;Lo;0;L;;;;;N;;;;; +0AA0;GUJARATI LETTER TTHA;Lo;0;L;;;;;N;;;;; +0AA1;GUJARATI LETTER DDA;Lo;0;L;;;;;N;;;;; +0AA2;GUJARATI LETTER DDHA;Lo;0;L;;;;;N;;;;; +0AA3;GUJARATI LETTER NNA;Lo;0;L;;;;;N;;;;; +0AA4;GUJARATI LETTER TA;Lo;0;L;;;;;N;;;;; +0AA5;GUJARATI LETTER THA;Lo;0;L;;;;;N;;;;; +0AA6;GUJARATI LETTER DA;Lo;0;L;;;;;N;;;;; +0AA7;GUJARATI LETTER DHA;Lo;0;L;;;;;N;;;;; +0AA8;GUJARATI LETTER NA;Lo;0;L;;;;;N;;;;; +0AAA;GUJARATI LETTER PA;Lo;0;L;;;;;N;;;;; +0AAB;GUJARATI LETTER PHA;Lo;0;L;;;;;N;;;;; +0AAC;GUJARATI LETTER BA;Lo;0;L;;;;;N;;;;; +0AAD;GUJARATI LETTER BHA;Lo;0;L;;;;;N;;;;; +0AAE;GUJARATI LETTER MA;Lo;0;L;;;;;N;;;;; +0AAF;GUJARATI LETTER YA;Lo;0;L;;;;;N;;;;; +0AB0;GUJARATI LETTER RA;Lo;0;L;;;;;N;;;;; +0AB2;GUJARATI LETTER LA;Lo;0;L;;;;;N;;;;; +0AB3;GUJARATI LETTER LLA;Lo;0;L;;;;;N;;;;; +0AB5;GUJARATI LETTER VA;Lo;0;L;;;;;N;;;;; +0AB6;GUJARATI LETTER SHA;Lo;0;L;;;;;N;;;;; +0AB7;GUJARATI LETTER SSA;Lo;0;L;;;;;N;;;;; +0AB8;GUJARATI LETTER SA;Lo;0;L;;;;;N;;;;; +0AB9;GUJARATI LETTER HA;Lo;0;L;;;;;N;;;;; +0ABC;GUJARATI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0ABD;GUJARATI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0ABE;GUJARATI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0ABF;GUJARATI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0AC0;GUJARATI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0AC1;GUJARATI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0AC2;GUJARATI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0AC3;GUJARATI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0AC4;GUJARATI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0AC5;GUJARATI VOWEL SIGN CANDRA E;Mn;0;NSM;;;;;N;;;;; +0AC7;GUJARATI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0AC8;GUJARATI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +0AC9;GUJARATI VOWEL SIGN CANDRA O;Mc;0;L;;;;;N;;;;; +0ACB;GUJARATI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +0ACC;GUJARATI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +0ACD;GUJARATI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0AD0;GUJARATI OM;Lo;0;L;;;;;N;;;;; +0AE0;GUJARATI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0AE1;GUJARATI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0AE2;GUJARATI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0AE3;GUJARATI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0AE6;GUJARATI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0AE7;GUJARATI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0AE8;GUJARATI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0AE9;GUJARATI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0AEA;GUJARATI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0AEB;GUJARATI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0AEC;GUJARATI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +0AF9;GUJARATI LETTER ZHA;Lo;0;L;;;;;N;;;;; +0AFA;GUJARATI SIGN SUKUN;Mn;0;NSM;;;;;N;;;;; +0AFB;GUJARATI SIGN SHADDA;Mn;0;NSM;;;;;N;;;;; +0AFC;GUJARATI SIGN MADDAH;Mn;0;NSM;;;;;N;;;;; +0AFD;GUJARATI SIGN THREE-DOT NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;; +0AFE;GUJARATI SIGN CIRCLE NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;; +0AFF;GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE;Mn;0;NSM;;;;;N;;;;; +0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0B03;ORIYA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0B05;ORIYA LETTER A;Lo;0;L;;;;;N;;;;; +0B06;ORIYA LETTER AA;Lo;0;L;;;;;N;;;;; +0B07;ORIYA LETTER I;Lo;0;L;;;;;N;;;;; +0B08;ORIYA LETTER II;Lo;0;L;;;;;N;;;;; +0B09;ORIYA LETTER U;Lo;0;L;;;;;N;;;;; +0B0A;ORIYA LETTER UU;Lo;0;L;;;;;N;;;;; +0B0B;ORIYA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0B0C;ORIYA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0B0F;ORIYA LETTER E;Lo;0;L;;;;;N;;;;; +0B10;ORIYA LETTER AI;Lo;0;L;;;;;N;;;;; +0B13;ORIYA LETTER O;Lo;0;L;;;;;N;;;;; +0B14;ORIYA LETTER AU;Lo;0;L;;;;;N;;;;; +0B15;ORIYA LETTER KA;Lo;0;L;;;;;N;;;;; +0B16;ORIYA LETTER KHA;Lo;0;L;;;;;N;;;;; +0B17;ORIYA LETTER GA;Lo;0;L;;;;;N;;;;; +0B18;ORIYA LETTER GHA;Lo;0;L;;;;;N;;;;; +0B19;ORIYA LETTER NGA;Lo;0;L;;;;;N;;;;; +0B1A;ORIYA LETTER CA;Lo;0;L;;;;;N;;;;; +0B1B;ORIYA LETTER CHA;Lo;0;L;;;;;N;;;;; +0B1C;ORIYA LETTER JA;Lo;0;L;;;;;N;;;;; +0B1D;ORIYA LETTER JHA;Lo;0;L;;;;;N;;;;; +0B1E;ORIYA LETTER NYA;Lo;0;L;;;;;N;;;;; +0B1F;ORIYA LETTER TTA;Lo;0;L;;;;;N;;;;; +0B20;ORIYA LETTER TTHA;Lo;0;L;;;;;N;;;;; +0B21;ORIYA LETTER DDA;Lo;0;L;;;;;N;;;;; +0B22;ORIYA LETTER DDHA;Lo;0;L;;;;;N;;;;; +0B23;ORIYA LETTER NNA;Lo;0;L;;;;;N;;;;; +0B24;ORIYA LETTER TA;Lo;0;L;;;;;N;;;;; +0B25;ORIYA LETTER THA;Lo;0;L;;;;;N;;;;; +0B26;ORIYA LETTER DA;Lo;0;L;;;;;N;;;;; +0B27;ORIYA LETTER DHA;Lo;0;L;;;;;N;;;;; +0B28;ORIYA LETTER NA;Lo;0;L;;;;;N;;;;; +0B2A;ORIYA LETTER PA;Lo;0;L;;;;;N;;;;; +0B2B;ORIYA LETTER PHA;Lo;0;L;;;;;N;;;;; +0B2C;ORIYA LETTER BA;Lo;0;L;;;;;N;;;;; +0B2D;ORIYA LETTER BHA;Lo;0;L;;;;;N;;;;; +0B2E;ORIYA LETTER MA;Lo;0;L;;;;;N;;;;; +0B2F;ORIYA LETTER YA;Lo;0;L;;;;;N;;;;; +0B30;ORIYA LETTER RA;Lo;0;L;;;;;N;;;;; +0B32;ORIYA LETTER LA;Lo;0;L;;;;;N;;;;; +0B33;ORIYA LETTER LLA;Lo;0;L;;;;;N;;;;; +0B35;ORIYA LETTER VA;Lo;0;L;;;;;N;;;;; +0B36;ORIYA LETTER SHA;Lo;0;L;;;;;N;;;;; +0B37;ORIYA LETTER SSA;Lo;0;L;;;;;N;;;;; +0B38;ORIYA LETTER SA;Lo;0;L;;;;;N;;;;; +0B39;ORIYA LETTER HA;Lo;0;L;;;;;N;;;;; +0B3C;ORIYA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0B3D;ORIYA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0B3E;ORIYA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0B3F;ORIYA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0B40;ORIYA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0B41;ORIYA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0B42;ORIYA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0B43;ORIYA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0B44;ORIYA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0B47;ORIYA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0B48;ORIYA VOWEL SIGN AI;Mc;0;L;0B47 0B56;;;;N;;;;; +0B4B;ORIYA VOWEL SIGN O;Mc;0;L;0B47 0B3E;;;;N;;;;; +0B4C;ORIYA VOWEL SIGN AU;Mc;0;L;0B47 0B57;;;;N;;;;; +0B4D;ORIYA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0B55;ORIYA SIGN OVERLINE;Mn;0;NSM;;;;;N;;;;; +0B56;ORIYA AI LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +0B57;ORIYA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0B5C;ORIYA LETTER RRA;Lo;0;L;0B21 0B3C;;;;N;;;;; +0B5D;ORIYA LETTER RHA;Lo;0;L;0B22 0B3C;;;;N;;;;; +0B5F;ORIYA LETTER YYA;Lo;0;L;;;;;N;;;;; +0B60;ORIYA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0B61;ORIYA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0B62;ORIYA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0B63;ORIYA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0B66;ORIYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0B67;ORIYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0B68;ORIYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0B69;ORIYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0B6A;ORIYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0B6B;ORIYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0B6C;ORIYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0B6D;ORIYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0B6E;ORIYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0B6F;ORIYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0B70;ORIYA ISSHAR;So;0;L;;;;;N;;;;; +0B71;ORIYA LETTER WA;Lo;0;L;;;;;N;;;;; +0B72;ORIYA FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;; +0B73;ORIYA FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;; +0B74;ORIYA FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;; +0B75;ORIYA FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;; +0B76;ORIYA FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;; +0B77;ORIYA FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;; +0B82;TAMIL SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +0B83;TAMIL SIGN VISARGA;Lo;0;L;;;;;N;;;;; +0B85;TAMIL LETTER A;Lo;0;L;;;;;N;;;;; +0B86;TAMIL LETTER AA;Lo;0;L;;;;;N;;;;; +0B87;TAMIL LETTER I;Lo;0;L;;;;;N;;;;; +0B88;TAMIL LETTER II;Lo;0;L;;;;;N;;;;; +0B89;TAMIL LETTER U;Lo;0;L;;;;;N;;;;; +0B8A;TAMIL LETTER UU;Lo;0;L;;;;;N;;;;; +0B8E;TAMIL LETTER E;Lo;0;L;;;;;N;;;;; +0B8F;TAMIL LETTER EE;Lo;0;L;;;;;N;;;;; +0B90;TAMIL LETTER AI;Lo;0;L;;;;;N;;;;; +0B92;TAMIL LETTER O;Lo;0;L;;;;;N;;;;; +0B93;TAMIL LETTER OO;Lo;0;L;;;;;N;;;;; +0B94;TAMIL LETTER AU;Lo;0;L;0B92 0BD7;;;;N;;;;; +0B95;TAMIL LETTER KA;Lo;0;L;;;;;N;;;;; +0B99;TAMIL LETTER NGA;Lo;0;L;;;;;N;;;;; +0B9A;TAMIL LETTER CA;Lo;0;L;;;;;N;;;;; +0B9C;TAMIL LETTER JA;Lo;0;L;;;;;N;;;;; +0B9E;TAMIL LETTER NYA;Lo;0;L;;;;;N;;;;; +0B9F;TAMIL LETTER TTA;Lo;0;L;;;;;N;;;;; +0BA3;TAMIL LETTER NNA;Lo;0;L;;;;;N;;;;; +0BA4;TAMIL LETTER TA;Lo;0;L;;;;;N;;;;; +0BA8;TAMIL LETTER NA;Lo;0;L;;;;;N;;;;; +0BA9;TAMIL LETTER NNNA;Lo;0;L;;;;;N;;;;; +0BAA;TAMIL LETTER PA;Lo;0;L;;;;;N;;;;; +0BAE;TAMIL LETTER MA;Lo;0;L;;;;;N;;;;; +0BAF;TAMIL LETTER YA;Lo;0;L;;;;;N;;;;; +0BB0;TAMIL LETTER RA;Lo;0;L;;;;;N;;;;; +0BB1;TAMIL LETTER RRA;Lo;0;L;;;;;N;;;;; +0BB2;TAMIL LETTER LA;Lo;0;L;;;;;N;;;;; +0BB3;TAMIL LETTER LLA;Lo;0;L;;;;;N;;;;; +0BB4;TAMIL LETTER LLLA;Lo;0;L;;;;;N;;;;; +0BB5;TAMIL LETTER VA;Lo;0;L;;;;;N;;;;; +0BB6;TAMIL LETTER SHA;Lo;0;L;;;;;N;;;;; +0BB7;TAMIL LETTER SSA;Lo;0;L;;;;;N;;;;; +0BB8;TAMIL LETTER SA;Lo;0;L;;;;;N;;;;; +0BB9;TAMIL LETTER HA;Lo;0;L;;;;;N;;;;; +0BBE;TAMIL VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0BBF;TAMIL VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0BC0;TAMIL VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0BC1;TAMIL VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0BC2;TAMIL VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0BC6;TAMIL VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0BC7;TAMIL VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +0BC8;TAMIL VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +0BCA;TAMIL VOWEL SIGN O;Mc;0;L;0BC6 0BBE;;;;N;;;;; +0BCB;TAMIL VOWEL SIGN OO;Mc;0;L;0BC7 0BBE;;;;N;;;;; +0BCC;TAMIL VOWEL SIGN AU;Mc;0;L;0BC6 0BD7;;;;N;;;;; +0BCD;TAMIL SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0BD0;TAMIL OM;Lo;0;L;;;;;N;;;;; +0BD7;TAMIL AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0BE6;TAMIL DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0BE7;TAMIL DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0BE8;TAMIL DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0BE9;TAMIL DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0BEA;TAMIL DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0BEB;TAMIL DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0BEC;TAMIL DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0BED;TAMIL DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0BEE;TAMIL DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0BEF;TAMIL DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0BF0;TAMIL NUMBER TEN;No;0;L;;;;10;N;;;;; +0BF1;TAMIL NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +0BF2;TAMIL NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +0BF3;TAMIL DAY SIGN;So;0;ON;;;;;N;;;;; +0BF4;TAMIL MONTH SIGN;So;0;ON;;;;;N;;;;; +0BF5;TAMIL YEAR SIGN;So;0;ON;;;;;N;;;;; +0BF6;TAMIL DEBIT SIGN;So;0;ON;;;;;N;;;;; +0BF7;TAMIL CREDIT SIGN;So;0;ON;;;;;N;;;;; +0BF8;TAMIL AS ABOVE SIGN;So;0;ON;;;;;N;;;;; +0BF9;TAMIL RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +0BFA;TAMIL NUMBER SIGN;So;0;ON;;;;;N;;;;; +0C00;TELUGU SIGN COMBINING CANDRABINDU ABOVE;Mn;0;NSM;;;;;N;;;;; +0C01;TELUGU SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; +0C02;TELUGU SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0C03;TELUGU SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0C04;TELUGU SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;; +0C05;TELUGU LETTER A;Lo;0;L;;;;;N;;;;; +0C06;TELUGU LETTER AA;Lo;0;L;;;;;N;;;;; +0C07;TELUGU LETTER I;Lo;0;L;;;;;N;;;;; +0C08;TELUGU LETTER II;Lo;0;L;;;;;N;;;;; +0C09;TELUGU LETTER U;Lo;0;L;;;;;N;;;;; +0C0A;TELUGU LETTER UU;Lo;0;L;;;;;N;;;;; +0C0B;TELUGU LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0C0C;TELUGU LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0C0E;TELUGU LETTER E;Lo;0;L;;;;;N;;;;; +0C0F;TELUGU LETTER EE;Lo;0;L;;;;;N;;;;; +0C10;TELUGU LETTER AI;Lo;0;L;;;;;N;;;;; +0C12;TELUGU LETTER O;Lo;0;L;;;;;N;;;;; +0C13;TELUGU LETTER OO;Lo;0;L;;;;;N;;;;; +0C14;TELUGU LETTER AU;Lo;0;L;;;;;N;;;;; +0C15;TELUGU LETTER KA;Lo;0;L;;;;;N;;;;; +0C16;TELUGU LETTER KHA;Lo;0;L;;;;;N;;;;; +0C17;TELUGU LETTER GA;Lo;0;L;;;;;N;;;;; +0C18;TELUGU LETTER GHA;Lo;0;L;;;;;N;;;;; +0C19;TELUGU LETTER NGA;Lo;0;L;;;;;N;;;;; +0C1A;TELUGU LETTER CA;Lo;0;L;;;;;N;;;;; +0C1B;TELUGU LETTER CHA;Lo;0;L;;;;;N;;;;; +0C1C;TELUGU LETTER JA;Lo;0;L;;;;;N;;;;; +0C1D;TELUGU LETTER JHA;Lo;0;L;;;;;N;;;;; +0C1E;TELUGU LETTER NYA;Lo;0;L;;;;;N;;;;; +0C1F;TELUGU LETTER TTA;Lo;0;L;;;;;N;;;;; +0C20;TELUGU LETTER TTHA;Lo;0;L;;;;;N;;;;; +0C21;TELUGU LETTER DDA;Lo;0;L;;;;;N;;;;; +0C22;TELUGU LETTER DDHA;Lo;0;L;;;;;N;;;;; +0C23;TELUGU LETTER NNA;Lo;0;L;;;;;N;;;;; +0C24;TELUGU LETTER TA;Lo;0;L;;;;;N;;;;; +0C25;TELUGU LETTER THA;Lo;0;L;;;;;N;;;;; +0C26;TELUGU LETTER DA;Lo;0;L;;;;;N;;;;; +0C27;TELUGU LETTER DHA;Lo;0;L;;;;;N;;;;; +0C28;TELUGU LETTER NA;Lo;0;L;;;;;N;;;;; +0C2A;TELUGU LETTER PA;Lo;0;L;;;;;N;;;;; +0C2B;TELUGU LETTER PHA;Lo;0;L;;;;;N;;;;; +0C2C;TELUGU LETTER BA;Lo;0;L;;;;;N;;;;; +0C2D;TELUGU LETTER BHA;Lo;0;L;;;;;N;;;;; +0C2E;TELUGU LETTER MA;Lo;0;L;;;;;N;;;;; +0C2F;TELUGU LETTER YA;Lo;0;L;;;;;N;;;;; +0C30;TELUGU LETTER RA;Lo;0;L;;;;;N;;;;; +0C31;TELUGU LETTER RRA;Lo;0;L;;;;;N;;;;; +0C32;TELUGU LETTER LA;Lo;0;L;;;;;N;;;;; +0C33;TELUGU LETTER LLA;Lo;0;L;;;;;N;;;;; +0C34;TELUGU LETTER LLLA;Lo;0;L;;;;;N;;;;; +0C35;TELUGU LETTER VA;Lo;0;L;;;;;N;;;;; +0C36;TELUGU LETTER SHA;Lo;0;L;;;;;N;;;;; +0C37;TELUGU LETTER SSA;Lo;0;L;;;;;N;;;;; +0C38;TELUGU LETTER SA;Lo;0;L;;;;;N;;;;; +0C39;TELUGU LETTER HA;Lo;0;L;;;;;N;;;;; +0C3D;TELUGU SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0C3E;TELUGU VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +0C3F;TELUGU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0C40;TELUGU VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0C41;TELUGU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0C42;TELUGU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0C43;TELUGU VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +0C44;TELUGU VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +0C46;TELUGU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +0C47;TELUGU VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +0C48;TELUGU VOWEL SIGN AI;Mn;0;NSM;0C46 0C56;;;;N;;;;; +0C4A;TELUGU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +0C4B;TELUGU VOWEL SIGN OO;Mn;0;NSM;;;;;N;;;;; +0C4C;TELUGU VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0C4D;TELUGU SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0C55;TELUGU LENGTH MARK;Mn;84;NSM;;;;;N;;;;; +0C56;TELUGU AI LENGTH MARK;Mn;91;NSM;;;;;N;;;;; +0C58;TELUGU LETTER TSA;Lo;0;L;;;;;N;;;;; +0C59;TELUGU LETTER DZA;Lo;0;L;;;;;N;;;;; +0C5A;TELUGU LETTER RRRA;Lo;0;L;;;;;N;;;;; +0C60;TELUGU LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0C61;TELUGU LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0C62;TELUGU VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0C63;TELUGU VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0C66;TELUGU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0C67;TELUGU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0C68;TELUGU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0C69;TELUGU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0C6A;TELUGU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0C6B;TELUGU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0C6C;TELUGU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0C6D;TELUGU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0C6E;TELUGU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0C6F;TELUGU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0C77;TELUGU SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +0C78;TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR;No;0;ON;;;;0;N;;;;; +0C79;TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR;No;0;ON;;;;1;N;;;;; +0C7A;TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR;No;0;ON;;;;2;N;;;;; +0C7B;TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR;No;0;ON;;;;3;N;;;;; +0C7C;TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR;No;0;ON;;;;1;N;;;;; +0C7D;TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR;No;0;ON;;;;2;N;;;;; +0C7E;TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR;No;0;ON;;;;3;N;;;;; +0C7F;TELUGU SIGN TUUMU;So;0;L;;;;;N;;;;; +0C80;KANNADA SIGN SPACING CANDRABINDU;Lo;0;L;;;;;N;;;;; +0C81;KANNADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0C82;KANNADA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0C83;KANNADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0C84;KANNADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +0C85;KANNADA LETTER A;Lo;0;L;;;;;N;;;;; +0C86;KANNADA LETTER AA;Lo;0;L;;;;;N;;;;; +0C87;KANNADA LETTER I;Lo;0;L;;;;;N;;;;; +0C88;KANNADA LETTER II;Lo;0;L;;;;;N;;;;; +0C89;KANNADA LETTER U;Lo;0;L;;;;;N;;;;; +0C8A;KANNADA LETTER UU;Lo;0;L;;;;;N;;;;; +0C8B;KANNADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0C8C;KANNADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0C8E;KANNADA LETTER E;Lo;0;L;;;;;N;;;;; +0C8F;KANNADA LETTER EE;Lo;0;L;;;;;N;;;;; +0C90;KANNADA LETTER AI;Lo;0;L;;;;;N;;;;; +0C92;KANNADA LETTER O;Lo;0;L;;;;;N;;;;; +0C93;KANNADA LETTER OO;Lo;0;L;;;;;N;;;;; +0C94;KANNADA LETTER AU;Lo;0;L;;;;;N;;;;; +0C95;KANNADA LETTER KA;Lo;0;L;;;;;N;;;;; +0C96;KANNADA LETTER KHA;Lo;0;L;;;;;N;;;;; +0C97;KANNADA LETTER GA;Lo;0;L;;;;;N;;;;; +0C98;KANNADA LETTER GHA;Lo;0;L;;;;;N;;;;; +0C99;KANNADA LETTER NGA;Lo;0;L;;;;;N;;;;; +0C9A;KANNADA LETTER CA;Lo;0;L;;;;;N;;;;; +0C9B;KANNADA LETTER CHA;Lo;0;L;;;;;N;;;;; +0C9C;KANNADA LETTER JA;Lo;0;L;;;;;N;;;;; +0C9D;KANNADA LETTER JHA;Lo;0;L;;;;;N;;;;; +0C9E;KANNADA LETTER NYA;Lo;0;L;;;;;N;;;;; +0C9F;KANNADA LETTER TTA;Lo;0;L;;;;;N;;;;; +0CA0;KANNADA LETTER TTHA;Lo;0;L;;;;;N;;;;; +0CA1;KANNADA LETTER DDA;Lo;0;L;;;;;N;;;;; +0CA2;KANNADA LETTER DDHA;Lo;0;L;;;;;N;;;;; +0CA3;KANNADA LETTER NNA;Lo;0;L;;;;;N;;;;; +0CA4;KANNADA LETTER TA;Lo;0;L;;;;;N;;;;; +0CA5;KANNADA LETTER THA;Lo;0;L;;;;;N;;;;; +0CA6;KANNADA LETTER DA;Lo;0;L;;;;;N;;;;; +0CA7;KANNADA LETTER DHA;Lo;0;L;;;;;N;;;;; +0CA8;KANNADA LETTER NA;Lo;0;L;;;;;N;;;;; +0CAA;KANNADA LETTER PA;Lo;0;L;;;;;N;;;;; +0CAB;KANNADA LETTER PHA;Lo;0;L;;;;;N;;;;; +0CAC;KANNADA LETTER BA;Lo;0;L;;;;;N;;;;; +0CAD;KANNADA LETTER BHA;Lo;0;L;;;;;N;;;;; +0CAE;KANNADA LETTER MA;Lo;0;L;;;;;N;;;;; +0CAF;KANNADA LETTER YA;Lo;0;L;;;;;N;;;;; +0CB0;KANNADA LETTER RA;Lo;0;L;;;;;N;;;;; +0CB1;KANNADA LETTER RRA;Lo;0;L;;;;;N;;;;; +0CB2;KANNADA LETTER LA;Lo;0;L;;;;;N;;;;; +0CB3;KANNADA LETTER LLA;Lo;0;L;;;;;N;;;;; +0CB5;KANNADA LETTER VA;Lo;0;L;;;;;N;;;;; +0CB6;KANNADA LETTER SHA;Lo;0;L;;;;;N;;;;; +0CB7;KANNADA LETTER SSA;Lo;0;L;;;;;N;;;;; +0CB8;KANNADA LETTER SA;Lo;0;L;;;;;N;;;;; +0CB9;KANNADA LETTER HA;Lo;0;L;;;;;N;;;;; +0CBC;KANNADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +0CBD;KANNADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0CBE;KANNADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0CBF;KANNADA VOWEL SIGN I;Mn;0;L;;;;;N;;;;; +0CC0;KANNADA VOWEL SIGN II;Mc;0;L;0CBF 0CD5;;;;N;;;;; +0CC1;KANNADA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +0CC2;KANNADA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +0CC3;KANNADA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +0CC4;KANNADA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +0CC6;KANNADA VOWEL SIGN E;Mn;0;L;;;;;N;;;;; +0CC7;KANNADA VOWEL SIGN EE;Mc;0;L;0CC6 0CD5;;;;N;;;;; +0CC8;KANNADA VOWEL SIGN AI;Mc;0;L;0CC6 0CD6;;;;N;;;;; +0CCA;KANNADA VOWEL SIGN O;Mc;0;L;0CC6 0CC2;;;;N;;;;; +0CCB;KANNADA VOWEL SIGN OO;Mc;0;L;0CCA 0CD5;;;;N;;;;; +0CCC;KANNADA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +0CCD;KANNADA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0CD5;KANNADA LENGTH MARK;Mc;0;L;;;;;N;;;;; +0CD6;KANNADA AI LENGTH MARK;Mc;0;L;;;;;N;;;;; +0CDE;KANNADA LETTER FA;Lo;0;L;;;;;N;;;;; +0CE0;KANNADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0CE1;KANNADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0CE2;KANNADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0CE3;KANNADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0CE6;KANNADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0CE7;KANNADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0CE8;KANNADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0CE9;KANNADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0CEA;KANNADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0CEB;KANNADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0CEC;KANNADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0CED;KANNADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0CEE;KANNADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0CEF;KANNADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0CF1;KANNADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +0CF2;KANNADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +0D00;MALAYALAM SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;; +0D01;MALAYALAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0D02;MALAYALAM SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +0D03;MALAYALAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; +0D04;MALAYALAM LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; +0D05;MALAYALAM LETTER A;Lo;0;L;;;;;N;;;;; +0D06;MALAYALAM LETTER AA;Lo;0;L;;;;;N;;;;; +0D07;MALAYALAM LETTER I;Lo;0;L;;;;;N;;;;; +0D08;MALAYALAM LETTER II;Lo;0;L;;;;;N;;;;; +0D09;MALAYALAM LETTER U;Lo;0;L;;;;;N;;;;; +0D0A;MALAYALAM LETTER UU;Lo;0;L;;;;;N;;;;; +0D0B;MALAYALAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +0D0C;MALAYALAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +0D0E;MALAYALAM LETTER E;Lo;0;L;;;;;N;;;;; +0D0F;MALAYALAM LETTER EE;Lo;0;L;;;;;N;;;;; +0D10;MALAYALAM LETTER AI;Lo;0;L;;;;;N;;;;; +0D12;MALAYALAM LETTER O;Lo;0;L;;;;;N;;;;; +0D13;MALAYALAM LETTER OO;Lo;0;L;;;;;N;;;;; +0D14;MALAYALAM LETTER AU;Lo;0;L;;;;;N;;;;; +0D15;MALAYALAM LETTER KA;Lo;0;L;;;;;N;;;;; +0D16;MALAYALAM LETTER KHA;Lo;0;L;;;;;N;;;;; +0D17;MALAYALAM LETTER GA;Lo;0;L;;;;;N;;;;; +0D18;MALAYALAM LETTER GHA;Lo;0;L;;;;;N;;;;; +0D19;MALAYALAM LETTER NGA;Lo;0;L;;;;;N;;;;; +0D1A;MALAYALAM LETTER CA;Lo;0;L;;;;;N;;;;; +0D1B;MALAYALAM LETTER CHA;Lo;0;L;;;;;N;;;;; +0D1C;MALAYALAM LETTER JA;Lo;0;L;;;;;N;;;;; +0D1D;MALAYALAM LETTER JHA;Lo;0;L;;;;;N;;;;; +0D1E;MALAYALAM LETTER NYA;Lo;0;L;;;;;N;;;;; +0D1F;MALAYALAM LETTER TTA;Lo;0;L;;;;;N;;;;; +0D20;MALAYALAM LETTER TTHA;Lo;0;L;;;;;N;;;;; +0D21;MALAYALAM LETTER DDA;Lo;0;L;;;;;N;;;;; +0D22;MALAYALAM LETTER DDHA;Lo;0;L;;;;;N;;;;; +0D23;MALAYALAM LETTER NNA;Lo;0;L;;;;;N;;;;; +0D24;MALAYALAM LETTER TA;Lo;0;L;;;;;N;;;;; +0D25;MALAYALAM LETTER THA;Lo;0;L;;;;;N;;;;; +0D26;MALAYALAM LETTER DA;Lo;0;L;;;;;N;;;;; +0D27;MALAYALAM LETTER DHA;Lo;0;L;;;;;N;;;;; +0D28;MALAYALAM LETTER NA;Lo;0;L;;;;;N;;;;; +0D29;MALAYALAM LETTER NNNA;Lo;0;L;;;;;N;;;;; +0D2A;MALAYALAM LETTER PA;Lo;0;L;;;;;N;;;;; +0D2B;MALAYALAM LETTER PHA;Lo;0;L;;;;;N;;;;; +0D2C;MALAYALAM LETTER BA;Lo;0;L;;;;;N;;;;; +0D2D;MALAYALAM LETTER BHA;Lo;0;L;;;;;N;;;;; +0D2E;MALAYALAM LETTER MA;Lo;0;L;;;;;N;;;;; +0D2F;MALAYALAM LETTER YA;Lo;0;L;;;;;N;;;;; +0D30;MALAYALAM LETTER RA;Lo;0;L;;;;;N;;;;; +0D31;MALAYALAM LETTER RRA;Lo;0;L;;;;;N;;;;; +0D32;MALAYALAM LETTER LA;Lo;0;L;;;;;N;;;;; +0D33;MALAYALAM LETTER LLA;Lo;0;L;;;;;N;;;;; +0D34;MALAYALAM LETTER LLLA;Lo;0;L;;;;;N;;;;; +0D35;MALAYALAM LETTER VA;Lo;0;L;;;;;N;;;;; +0D36;MALAYALAM LETTER SHA;Lo;0;L;;;;;N;;;;; +0D37;MALAYALAM LETTER SSA;Lo;0;L;;;;;N;;;;; +0D38;MALAYALAM LETTER SA;Lo;0;L;;;;;N;;;;; +0D39;MALAYALAM LETTER HA;Lo;0;L;;;;;N;;;;; +0D3A;MALAYALAM LETTER TTTA;Lo;0;L;;;;;N;;;;; +0D3B;MALAYALAM SIGN VERTICAL BAR VIRAMA;Mn;9;NSM;;;;;N;;;;; +0D3C;MALAYALAM SIGN CIRCULAR VIRAMA;Mn;9;NSM;;;;;N;;;;; +0D3D;MALAYALAM SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +0D3E;MALAYALAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +0D3F;MALAYALAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +0D40;MALAYALAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +0D41;MALAYALAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +0D42;MALAYALAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +0D43;MALAYALAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +0D44;MALAYALAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +0D46;MALAYALAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +0D47;MALAYALAM VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +0D48;MALAYALAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +0D4A;MALAYALAM VOWEL SIGN O;Mc;0;L;0D46 0D3E;;;;N;;;;; +0D4B;MALAYALAM VOWEL SIGN OO;Mc;0;L;0D47 0D3E;;;;N;;;;; +0D4C;MALAYALAM VOWEL SIGN AU;Mc;0;L;0D46 0D57;;;;N;;;;; +0D4D;MALAYALAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +0D4E;MALAYALAM LETTER DOT REPH;Lo;0;L;;;;;N;;;;; +0D4F;MALAYALAM SIGN PARA;So;0;L;;;;;N;;;;; +0D54;MALAYALAM LETTER CHILLU M;Lo;0;L;;;;;N;;;;; +0D55;MALAYALAM LETTER CHILLU Y;Lo;0;L;;;;;N;;;;; +0D56;MALAYALAM LETTER CHILLU LLL;Lo;0;L;;;;;N;;;;; +0D57;MALAYALAM AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +0D58;MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH;No;0;L;;;;1/160;N;;;;; +0D59;MALAYALAM FRACTION ONE FORTIETH;No;0;L;;;;1/40;N;;;;; +0D5A;MALAYALAM FRACTION THREE EIGHTIETHS;No;0;L;;;;3/80;N;;;;; +0D5B;MALAYALAM FRACTION ONE TWENTIETH;No;0;L;;;;1/20;N;;;;; +0D5C;MALAYALAM FRACTION ONE TENTH;No;0;L;;;;1/10;N;;;;; +0D5D;MALAYALAM FRACTION THREE TWENTIETHS;No;0;L;;;;3/20;N;;;;; +0D5E;MALAYALAM FRACTION ONE FIFTH;No;0;L;;;;1/5;N;;;;; +0D5F;MALAYALAM LETTER ARCHAIC II;Lo;0;L;;;;;N;;;;; +0D60;MALAYALAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +0D61;MALAYALAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +0D62;MALAYALAM VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +0D63;MALAYALAM VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +0D66;MALAYALAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0D67;MALAYALAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0D68;MALAYALAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0D69;MALAYALAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0D6A;MALAYALAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0D6B;MALAYALAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0D6C;MALAYALAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0D6D;MALAYALAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0D6E;MALAYALAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0D6F;MALAYALAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0D70;MALAYALAM NUMBER TEN;No;0;L;;;;10;N;;;;; +0D71;MALAYALAM NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +0D72;MALAYALAM NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +0D73;MALAYALAM FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;; +0D74;MALAYALAM FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;; +0D75;MALAYALAM FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;; +0D76;MALAYALAM FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;; +0D77;MALAYALAM FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;; +0D78;MALAYALAM FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;; +0D79;MALAYALAM DATE MARK;So;0;L;;;;;N;;;;; +0D7A;MALAYALAM LETTER CHILLU NN;Lo;0;L;;;;;N;;;;; +0D7B;MALAYALAM LETTER CHILLU N;Lo;0;L;;;;;N;;;;; +0D7C;MALAYALAM LETTER CHILLU RR;Lo;0;L;;;;;N;;;;; +0D7D;MALAYALAM LETTER CHILLU L;Lo;0;L;;;;;N;;;;; +0D7E;MALAYALAM LETTER CHILLU LL;Lo;0;L;;;;;N;;;;; +0D7F;MALAYALAM LETTER CHILLU K;Lo;0;L;;;;;N;;;;; +0D81;SINHALA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +0D82;SINHALA SIGN ANUSVARAYA;Mc;0;L;;;;;N;;;;; +0D83;SINHALA SIGN VISARGAYA;Mc;0;L;;;;;N;;;;; +0D85;SINHALA LETTER AYANNA;Lo;0;L;;;;;N;;;;; +0D86;SINHALA LETTER AAYANNA;Lo;0;L;;;;;N;;;;; +0D87;SINHALA LETTER AEYANNA;Lo;0;L;;;;;N;;;;; +0D88;SINHALA LETTER AEEYANNA;Lo;0;L;;;;;N;;;;; +0D89;SINHALA LETTER IYANNA;Lo;0;L;;;;;N;;;;; +0D8A;SINHALA LETTER IIYANNA;Lo;0;L;;;;;N;;;;; +0D8B;SINHALA LETTER UYANNA;Lo;0;L;;;;;N;;;;; +0D8C;SINHALA LETTER UUYANNA;Lo;0;L;;;;;N;;;;; +0D8D;SINHALA LETTER IRUYANNA;Lo;0;L;;;;;N;;;;; +0D8E;SINHALA LETTER IRUUYANNA;Lo;0;L;;;;;N;;;;; +0D8F;SINHALA LETTER ILUYANNA;Lo;0;L;;;;;N;;;;; +0D90;SINHALA LETTER ILUUYANNA;Lo;0;L;;;;;N;;;;; +0D91;SINHALA LETTER EYANNA;Lo;0;L;;;;;N;;;;; +0D92;SINHALA LETTER EEYANNA;Lo;0;L;;;;;N;;;;; +0D93;SINHALA LETTER AIYANNA;Lo;0;L;;;;;N;;;;; +0D94;SINHALA LETTER OYANNA;Lo;0;L;;;;;N;;;;; +0D95;SINHALA LETTER OOYANNA;Lo;0;L;;;;;N;;;;; +0D96;SINHALA LETTER AUYANNA;Lo;0;L;;;;;N;;;;; +0D9A;SINHALA LETTER ALPAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; +0D9B;SINHALA LETTER MAHAAPRAANA KAYANNA;Lo;0;L;;;;;N;;;;; +0D9C;SINHALA LETTER ALPAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; +0D9D;SINHALA LETTER MAHAAPRAANA GAYANNA;Lo;0;L;;;;;N;;;;; +0D9E;SINHALA LETTER KANTAJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; +0D9F;SINHALA LETTER SANYAKA GAYANNA;Lo;0;L;;;;;N;;;;; +0DA0;SINHALA LETTER ALPAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; +0DA1;SINHALA LETTER MAHAAPRAANA CAYANNA;Lo;0;L;;;;;N;;;;; +0DA2;SINHALA LETTER ALPAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA3;SINHALA LETTER MAHAAPRAANA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA4;SINHALA LETTER TAALUJA NAASIKYAYA;Lo;0;L;;;;;N;;;;; +0DA5;SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA;Lo;0;L;;;;;N;;;;; +0DA6;SINHALA LETTER SANYAKA JAYANNA;Lo;0;L;;;;;N;;;;; +0DA7;SINHALA LETTER ALPAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; +0DA8;SINHALA LETTER MAHAAPRAANA TTAYANNA;Lo;0;L;;;;;N;;;;; +0DA9;SINHALA LETTER ALPAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAA;SINHALA LETTER MAHAAPRAANA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAB;SINHALA LETTER MUURDHAJA NAYANNA;Lo;0;L;;;;;N;;;;; +0DAC;SINHALA LETTER SANYAKA DDAYANNA;Lo;0;L;;;;;N;;;;; +0DAD;SINHALA LETTER ALPAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; +0DAE;SINHALA LETTER MAHAAPRAANA TAYANNA;Lo;0;L;;;;;N;;;;; +0DAF;SINHALA LETTER ALPAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB0;SINHALA LETTER MAHAAPRAANA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB1;SINHALA LETTER DANTAJA NAYANNA;Lo;0;L;;;;;N;;;;; +0DB3;SINHALA LETTER SANYAKA DAYANNA;Lo;0;L;;;;;N;;;;; +0DB4;SINHALA LETTER ALPAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; +0DB5;SINHALA LETTER MAHAAPRAANA PAYANNA;Lo;0;L;;;;;N;;;;; +0DB6;SINHALA LETTER ALPAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; +0DB7;SINHALA LETTER MAHAAPRAANA BAYANNA;Lo;0;L;;;;;N;;;;; +0DB8;SINHALA LETTER MAYANNA;Lo;0;L;;;;;N;;;;; +0DB9;SINHALA LETTER AMBA BAYANNA;Lo;0;L;;;;;N;;;;; +0DBA;SINHALA LETTER YAYANNA;Lo;0;L;;;;;N;;;;; +0DBB;SINHALA LETTER RAYANNA;Lo;0;L;;;;;N;;;;; +0DBD;SINHALA LETTER DANTAJA LAYANNA;Lo;0;L;;;;;N;;;;; +0DC0;SINHALA LETTER VAYANNA;Lo;0;L;;;;;N;;;;; +0DC1;SINHALA LETTER TAALUJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC2;SINHALA LETTER MUURDHAJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC3;SINHALA LETTER DANTAJA SAYANNA;Lo;0;L;;;;;N;;;;; +0DC4;SINHALA LETTER HAYANNA;Lo;0;L;;;;;N;;;;; +0DC5;SINHALA LETTER MUURDHAJA LAYANNA;Lo;0;L;;;;;N;;;;; +0DC6;SINHALA LETTER FAYANNA;Lo;0;L;;;;;N;;;;; +0DCA;SINHALA SIGN AL-LAKUNA;Mn;9;NSM;;;;;N;;;;; +0DCF;SINHALA VOWEL SIGN AELA-PILLA;Mc;0;L;;;;;N;;;;; +0DD0;SINHALA VOWEL SIGN KETTI AEDA-PILLA;Mc;0;L;;;;;N;;;;; +0DD1;SINHALA VOWEL SIGN DIGA AEDA-PILLA;Mc;0;L;;;;;N;;;;; +0DD2;SINHALA VOWEL SIGN KETTI IS-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD3;SINHALA VOWEL SIGN DIGA IS-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD4;SINHALA VOWEL SIGN KETTI PAA-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD6;SINHALA VOWEL SIGN DIGA PAA-PILLA;Mn;0;NSM;;;;;N;;;;; +0DD8;SINHALA VOWEL SIGN GAETTA-PILLA;Mc;0;L;;;;;N;;;;; +0DD9;SINHALA VOWEL SIGN KOMBUVA;Mc;0;L;;;;;N;;;;; +0DDA;SINHALA VOWEL SIGN DIGA KOMBUVA;Mc;0;L;0DD9 0DCA;;;;N;;;;; +0DDB;SINHALA VOWEL SIGN KOMBU DEKA;Mc;0;L;;;;;N;;;;; +0DDC;SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA;Mc;0;L;0DD9 0DCF;;;;N;;;;; +0DDD;SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA;Mc;0;L;0DDC 0DCA;;;;N;;;;; +0DDE;SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA;Mc;0;L;0DD9 0DDF;;;;N;;;;; +0DDF;SINHALA VOWEL SIGN GAYANUKITTA;Mc;0;L;;;;;N;;;;; +0DE6;SINHALA LITH DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0DE7;SINHALA LITH DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0DE8;SINHALA LITH DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0DE9;SINHALA LITH DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0DEA;SINHALA LITH DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0DEB;SINHALA LITH DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0DEC;SINHALA LITH DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0DED;SINHALA LITH DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0DEE;SINHALA LITH DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0DEF;SINHALA LITH DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0DF2;SINHALA VOWEL SIGN DIGA GAETTA-PILLA;Mc;0;L;;;;;N;;;;; +0DF3;SINHALA VOWEL SIGN DIGA GAYANUKITTA;Mc;0;L;;;;;N;;;;; +0DF4;SINHALA PUNCTUATION KUNDDALIYA;Po;0;L;;;;;N;;;;; +0E01;THAI CHARACTER KO KAI;Lo;0;L;;;;;N;THAI LETTER KO KAI;;;; +0E02;THAI CHARACTER KHO KHAI;Lo;0;L;;;;;N;THAI LETTER KHO KHAI;;;; +0E03;THAI CHARACTER KHO KHUAT;Lo;0;L;;;;;N;THAI LETTER KHO KHUAT;;;; +0E04;THAI CHARACTER KHO KHWAI;Lo;0;L;;;;;N;THAI LETTER KHO KHWAI;;;; +0E05;THAI CHARACTER KHO KHON;Lo;0;L;;;;;N;THAI LETTER KHO KHON;;;; +0E06;THAI CHARACTER KHO RAKHANG;Lo;0;L;;;;;N;THAI LETTER KHO RAKHANG;;;; +0E07;THAI CHARACTER NGO NGU;Lo;0;L;;;;;N;THAI LETTER NGO NGU;;;; +0E08;THAI CHARACTER CHO CHAN;Lo;0;L;;;;;N;THAI LETTER CHO CHAN;;;; +0E09;THAI CHARACTER CHO CHING;Lo;0;L;;;;;N;THAI LETTER CHO CHING;;;; +0E0A;THAI CHARACTER CHO CHANG;Lo;0;L;;;;;N;THAI LETTER CHO CHANG;;;; +0E0B;THAI CHARACTER SO SO;Lo;0;L;;;;;N;THAI LETTER SO SO;;;; +0E0C;THAI CHARACTER CHO CHOE;Lo;0;L;;;;;N;THAI LETTER CHO CHOE;;;; +0E0D;THAI CHARACTER YO YING;Lo;0;L;;;;;N;THAI LETTER YO YING;;;; +0E0E;THAI CHARACTER DO CHADA;Lo;0;L;;;;;N;THAI LETTER DO CHADA;;;; +0E0F;THAI CHARACTER TO PATAK;Lo;0;L;;;;;N;THAI LETTER TO PATAK;;;; +0E10;THAI CHARACTER THO THAN;Lo;0;L;;;;;N;THAI LETTER THO THAN;;;; +0E11;THAI CHARACTER THO NANGMONTHO;Lo;0;L;;;;;N;THAI LETTER THO NANGMONTHO;;;; +0E12;THAI CHARACTER THO PHUTHAO;Lo;0;L;;;;;N;THAI LETTER THO PHUTHAO;;;; +0E13;THAI CHARACTER NO NEN;Lo;0;L;;;;;N;THAI LETTER NO NEN;;;; +0E14;THAI CHARACTER DO DEK;Lo;0;L;;;;;N;THAI LETTER DO DEK;;;; +0E15;THAI CHARACTER TO TAO;Lo;0;L;;;;;N;THAI LETTER TO TAO;;;; +0E16;THAI CHARACTER THO THUNG;Lo;0;L;;;;;N;THAI LETTER THO THUNG;;;; +0E17;THAI CHARACTER THO THAHAN;Lo;0;L;;;;;N;THAI LETTER THO THAHAN;;;; +0E18;THAI CHARACTER THO THONG;Lo;0;L;;;;;N;THAI LETTER THO THONG;;;; +0E19;THAI CHARACTER NO NU;Lo;0;L;;;;;N;THAI LETTER NO NU;;;; +0E1A;THAI CHARACTER BO BAIMAI;Lo;0;L;;;;;N;THAI LETTER BO BAIMAI;;;; +0E1B;THAI CHARACTER PO PLA;Lo;0;L;;;;;N;THAI LETTER PO PLA;;;; +0E1C;THAI CHARACTER PHO PHUNG;Lo;0;L;;;;;N;THAI LETTER PHO PHUNG;;;; +0E1D;THAI CHARACTER FO FA;Lo;0;L;;;;;N;THAI LETTER FO FA;;;; +0E1E;THAI CHARACTER PHO PHAN;Lo;0;L;;;;;N;THAI LETTER PHO PHAN;;;; +0E1F;THAI CHARACTER FO FAN;Lo;0;L;;;;;N;THAI LETTER FO FAN;;;; +0E20;THAI CHARACTER PHO SAMPHAO;Lo;0;L;;;;;N;THAI LETTER PHO SAMPHAO;;;; +0E21;THAI CHARACTER MO MA;Lo;0;L;;;;;N;THAI LETTER MO MA;;;; +0E22;THAI CHARACTER YO YAK;Lo;0;L;;;;;N;THAI LETTER YO YAK;;;; +0E23;THAI CHARACTER RO RUA;Lo;0;L;;;;;N;THAI LETTER RO RUA;;;; +0E24;THAI CHARACTER RU;Lo;0;L;;;;;N;THAI LETTER RU;;;; +0E25;THAI CHARACTER LO LING;Lo;0;L;;;;;N;THAI LETTER LO LING;;;; +0E26;THAI CHARACTER LU;Lo;0;L;;;;;N;THAI LETTER LU;;;; +0E27;THAI CHARACTER WO WAEN;Lo;0;L;;;;;N;THAI LETTER WO WAEN;;;; +0E28;THAI CHARACTER SO SALA;Lo;0;L;;;;;N;THAI LETTER SO SALA;;;; +0E29;THAI CHARACTER SO RUSI;Lo;0;L;;;;;N;THAI LETTER SO RUSI;;;; +0E2A;THAI CHARACTER SO SUA;Lo;0;L;;;;;N;THAI LETTER SO SUA;;;; +0E2B;THAI CHARACTER HO HIP;Lo;0;L;;;;;N;THAI LETTER HO HIP;;;; +0E2C;THAI CHARACTER LO CHULA;Lo;0;L;;;;;N;THAI LETTER LO CHULA;;;; +0E2D;THAI CHARACTER O ANG;Lo;0;L;;;;;N;THAI LETTER O ANG;;;; +0E2E;THAI CHARACTER HO NOKHUK;Lo;0;L;;;;;N;THAI LETTER HO NOK HUK;;;; +0E2F;THAI CHARACTER PAIYANNOI;Lo;0;L;;;;;N;THAI PAI YAN NOI;;;; +0E30;THAI CHARACTER SARA A;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA A;;;; +0E31;THAI CHARACTER MAI HAN-AKAT;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI HAN-AKAT;;;; +0E32;THAI CHARACTER SARA AA;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AA;;;; +0E33;THAI CHARACTER SARA AM;Lo;0;L; 0E4D 0E32;;;;N;THAI VOWEL SIGN SARA AM;;;; +0E34;THAI CHARACTER SARA I;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA I;;;; +0E35;THAI CHARACTER SARA II;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA II;;;; +0E36;THAI CHARACTER SARA UE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UE;;;; +0E37;THAI CHARACTER SARA UEE;Mn;0;NSM;;;;;N;THAI VOWEL SIGN SARA UEE;;;; +0E38;THAI CHARACTER SARA U;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA U;;;; +0E39;THAI CHARACTER SARA UU;Mn;103;NSM;;;;;N;THAI VOWEL SIGN SARA UU;;;; +0E3A;THAI CHARACTER PHINTHU;Mn;9;NSM;;;;;N;THAI VOWEL SIGN PHINTHU;;;; +0E3F;THAI CURRENCY SYMBOL BAHT;Sc;0;ET;;;;;N;THAI BAHT SIGN;;;; +0E40;THAI CHARACTER SARA E;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA E;;;; +0E41;THAI CHARACTER SARA AE;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA AE;;;; +0E42;THAI CHARACTER SARA O;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA O;;;; +0E43;THAI CHARACTER SARA AI MAIMUAN;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MUAN;;;; +0E44;THAI CHARACTER SARA AI MAIMALAI;Lo;0;L;;;;;N;THAI VOWEL SIGN SARA MAI MALAI;;;; +0E45;THAI CHARACTER LAKKHANGYAO;Lo;0;L;;;;;N;THAI LAK KHANG YAO;;;; +0E46;THAI CHARACTER MAIYAMOK;Lm;0;L;;;;;N;THAI MAI YAMOK;;;; +0E47;THAI CHARACTER MAITAIKHU;Mn;0;NSM;;;;;N;THAI VOWEL SIGN MAI TAI KHU;;;; +0E48;THAI CHARACTER MAI EK;Mn;107;NSM;;;;;N;THAI TONE MAI EK;;;; +0E49;THAI CHARACTER MAI THO;Mn;107;NSM;;;;;N;THAI TONE MAI THO;;;; +0E4A;THAI CHARACTER MAI TRI;Mn;107;NSM;;;;;N;THAI TONE MAI TRI;;;; +0E4B;THAI CHARACTER MAI CHATTAWA;Mn;107;NSM;;;;;N;THAI TONE MAI CHATTAWA;;;; +0E4C;THAI CHARACTER THANTHAKHAT;Mn;0;NSM;;;;;N;THAI THANTHAKHAT;;;; +0E4D;THAI CHARACTER NIKHAHIT;Mn;0;NSM;;;;;N;THAI NIKKHAHIT;;;; +0E4E;THAI CHARACTER YAMAKKAN;Mn;0;NSM;;;;;N;THAI YAMAKKAN;;;; +0E4F;THAI CHARACTER FONGMAN;Po;0;L;;;;;N;THAI FONGMAN;;;; +0E50;THAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0E51;THAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0E52;THAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0E53;THAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0E54;THAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0E55;THAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0E56;THAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0E57;THAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0E58;THAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0E59;THAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0E5A;THAI CHARACTER ANGKHANKHU;Po;0;L;;;;;N;THAI ANGKHANKHU;;;; +0E5B;THAI CHARACTER KHOMUT;Po;0;L;;;;;N;THAI KHOMUT;;;; +0E81;LAO LETTER KO;Lo;0;L;;;;;N;;;;; +0E82;LAO LETTER KHO SUNG;Lo;0;L;;;;;N;;;;; +0E84;LAO LETTER KHO TAM;Lo;0;L;;;;;N;;;;; +0E86;LAO LETTER PALI GHA;Lo;0;L;;;;;N;;;;; +0E87;LAO LETTER NGO;Lo;0;L;;;;;N;;;;; +0E88;LAO LETTER CO;Lo;0;L;;;;;N;;;;; +0E89;LAO LETTER PALI CHA;Lo;0;L;;;;;N;;;;; +0E8A;LAO LETTER SO TAM;Lo;0;L;;;;;N;;;;; +0E8C;LAO LETTER PALI JHA;Lo;0;L;;;;;N;;;;; +0E8D;LAO LETTER NYO;Lo;0;L;;;;;N;;;;; +0E8E;LAO LETTER PALI NYA;Lo;0;L;;;;;N;;;;; +0E8F;LAO LETTER PALI TTA;Lo;0;L;;;;;N;;;;; +0E90;LAO LETTER PALI TTHA;Lo;0;L;;;;;N;;;;; +0E91;LAO LETTER PALI DDA;Lo;0;L;;;;;N;;;;; +0E92;LAO LETTER PALI DDHA;Lo;0;L;;;;;N;;;;; +0E93;LAO LETTER PALI NNA;Lo;0;L;;;;;N;;;;; +0E94;LAO LETTER DO;Lo;0;L;;;;;N;;;;; +0E95;LAO LETTER TO;Lo;0;L;;;;;N;;;;; +0E96;LAO LETTER THO SUNG;Lo;0;L;;;;;N;;;;; +0E97;LAO LETTER THO TAM;Lo;0;L;;;;;N;;;;; +0E98;LAO LETTER PALI DHA;Lo;0;L;;;;;N;;;;; +0E99;LAO LETTER NO;Lo;0;L;;;;;N;;;;; +0E9A;LAO LETTER BO;Lo;0;L;;;;;N;;;;; +0E9B;LAO LETTER PO;Lo;0;L;;;;;N;;;;; +0E9C;LAO LETTER PHO SUNG;Lo;0;L;;;;;N;;;;; +0E9D;LAO LETTER FO TAM;Lo;0;L;;;;;N;;;;; +0E9E;LAO LETTER PHO TAM;Lo;0;L;;;;;N;;;;; +0E9F;LAO LETTER FO SUNG;Lo;0;L;;;;;N;;;;; +0EA0;LAO LETTER PALI BHA;Lo;0;L;;;;;N;;;;; +0EA1;LAO LETTER MO;Lo;0;L;;;;;N;;;;; +0EA2;LAO LETTER YO;Lo;0;L;;;;;N;;;;; +0EA3;LAO LETTER LO LING;Lo;0;L;;;;;N;;;;; +0EA5;LAO LETTER LO LOOT;Lo;0;L;;;;;N;;;;; +0EA7;LAO LETTER WO;Lo;0;L;;;;;N;;;;; +0EA8;LAO LETTER SANSKRIT SHA;Lo;0;L;;;;;N;;;;; +0EA9;LAO LETTER SANSKRIT SSA;Lo;0;L;;;;;N;;;;; +0EAA;LAO LETTER SO SUNG;Lo;0;L;;;;;N;;;;; +0EAB;LAO LETTER HO SUNG;Lo;0;L;;;;;N;;;;; +0EAC;LAO LETTER PALI LLA;Lo;0;L;;;;;N;;;;; +0EAD;LAO LETTER O;Lo;0;L;;;;;N;;;;; +0EAE;LAO LETTER HO TAM;Lo;0;L;;;;;N;;;;; +0EAF;LAO ELLIPSIS;Lo;0;L;;;;;N;;;;; +0EB0;LAO VOWEL SIGN A;Lo;0;L;;;;;N;;;;; +0EB1;LAO VOWEL SIGN MAI KAN;Mn;0;NSM;;;;;N;;;;; +0EB2;LAO VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; +0EB3;LAO VOWEL SIGN AM;Lo;0;L; 0ECD 0EB2;;;;N;;;;; +0EB4;LAO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +0EB5;LAO VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +0EB6;LAO VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; +0EB7;LAO VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; +0EB8;LAO VOWEL SIGN U;Mn;118;NSM;;;;;N;;;;; +0EB9;LAO VOWEL SIGN UU;Mn;118;NSM;;;;;N;;;;; +0EBA;LAO SIGN PALI VIRAMA;Mn;9;NSM;;;;;N;;;;; +0EBB;LAO VOWEL SIGN MAI KON;Mn;0;NSM;;;;;N;;;;; +0EBC;LAO SEMIVOWEL SIGN LO;Mn;0;NSM;;;;;N;;;;; +0EBD;LAO SEMIVOWEL SIGN NYO;Lo;0;L;;;;;N;;;;; +0EC0;LAO VOWEL SIGN E;Lo;0;L;;;;;N;;;;; +0EC1;LAO VOWEL SIGN EI;Lo;0;L;;;;;N;;;;; +0EC2;LAO VOWEL SIGN O;Lo;0;L;;;;;N;;;;; +0EC3;LAO VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; +0EC4;LAO VOWEL SIGN AI;Lo;0;L;;;;;N;;;;; +0EC6;LAO KO LA;Lm;0;L;;;;;N;;;;; +0EC8;LAO TONE MAI EK;Mn;122;NSM;;;;;N;;;;; +0EC9;LAO TONE MAI THO;Mn;122;NSM;;;;;N;;;;; +0ECA;LAO TONE MAI TI;Mn;122;NSM;;;;;N;;;;; +0ECB;LAO TONE MAI CATAWA;Mn;122;NSM;;;;;N;;;;; +0ECC;LAO CANCELLATION MARK;Mn;0;NSM;;;;;N;;;;; +0ECD;LAO NIGGAHITA;Mn;0;NSM;;;;;N;;;;; +0ED0;LAO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0ED1;LAO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0ED2;LAO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0ED3;LAO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0ED4;LAO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0ED5;LAO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0ED6;LAO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0ED7;LAO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0ED8;LAO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0EDC;LAO HO NO;Lo;0;L; 0EAB 0E99;;;;N;;;;; +0EDD;LAO HO MO;Lo;0;L; 0EAB 0EA1;;;;N;;;;; +0EDE;LAO LETTER KHMU GO;Lo;0;L;;;;;N;;;;; +0EDF;LAO LETTER KHMU NYO;Lo;0;L;;;;;N;;;;; +0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;; +0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;; +0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;; +0F03;TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA;So;0;L;;;;;N;;;;; +0F04;TIBETAN MARK INITIAL YIG MGO MDUN MA;Po;0;L;;;;;N;TIBETAN SINGLE ORNAMENT;;;; +0F05;TIBETAN MARK CLOSING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;; +0F06;TIBETAN MARK CARET YIG MGO PHUR SHAD MA;Po;0;L;;;;;N;;;;; +0F07;TIBETAN MARK YIG MGO TSHEG SHAD MA;Po;0;L;;;;;N;;;;; +0F08;TIBETAN MARK SBRUL SHAD;Po;0;L;;;;;N;TIBETAN RGYANSHAD;;;; +0F09;TIBETAN MARK BSKUR YIG MGO;Po;0;L;;;;;N;;;;; +0F0A;TIBETAN MARK BKA- SHOG YIG MGO;Po;0;L;;;;;N;;;;; +0F0B;TIBETAN MARK INTERSYLLABIC TSHEG;Po;0;L;;;;;N;TIBETAN TSEG;;;; +0F0C;TIBETAN MARK DELIMITER TSHEG BSTAR;Po;0;L; 0F0B;;;;N;;;;; +0F0D;TIBETAN MARK SHAD;Po;0;L;;;;;N;TIBETAN SHAD;;;; +0F0E;TIBETAN MARK NYIS SHAD;Po;0;L;;;;;N;TIBETAN DOUBLE SHAD;;;; +0F0F;TIBETAN MARK TSHEG SHAD;Po;0;L;;;;;N;;;;; +0F10;TIBETAN MARK NYIS TSHEG SHAD;Po;0;L;;;;;N;;;;; +0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;; +0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;; +0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;; +0F14;TIBETAN MARK GTER TSHEG;Po;0;L;;;;;N;TIBETAN COMMA;;;; +0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;; +0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;; +0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;; +0F18;TIBETAN ASTROLOGICAL SIGN -KHYUD PA;Mn;220;NSM;;;;;N;;;;; +0F19;TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS;Mn;220;NSM;;;;;N;;;;; +0F1A;TIBETAN SIGN RDEL DKAR GCIG;So;0;L;;;;;N;;;;; +0F1B;TIBETAN SIGN RDEL DKAR GNYIS;So;0;L;;;;;N;;;;; +0F1C;TIBETAN SIGN RDEL DKAR GSUM;So;0;L;;;;;N;;;;; +0F1D;TIBETAN SIGN RDEL NAG GCIG;So;0;L;;;;;N;;;;; +0F1E;TIBETAN SIGN RDEL NAG GNYIS;So;0;L;;;;;N;;;;; +0F1F;TIBETAN SIGN RDEL DKAR RDEL NAG;So;0;L;;;;;N;;;;; +0F20;TIBETAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +0F21;TIBETAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +0F22;TIBETAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +0F23;TIBETAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +0F24;TIBETAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +0F25;TIBETAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +0F26;TIBETAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +0F27;TIBETAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +0F28;TIBETAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +0F29;TIBETAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +0F2A;TIBETAN DIGIT HALF ONE;No;0;L;;;;1/2;N;;;;; +0F2B;TIBETAN DIGIT HALF TWO;No;0;L;;;;3/2;N;;;;; +0F2C;TIBETAN DIGIT HALF THREE;No;0;L;;;;5/2;N;;;;; +0F2D;TIBETAN DIGIT HALF FOUR;No;0;L;;;;7/2;N;;;;; +0F2E;TIBETAN DIGIT HALF FIVE;No;0;L;;;;9/2;N;;;;; +0F2F;TIBETAN DIGIT HALF SIX;No;0;L;;;;11/2;N;;;;; +0F30;TIBETAN DIGIT HALF SEVEN;No;0;L;;;;13/2;N;;;;; +0F31;TIBETAN DIGIT HALF EIGHT;No;0;L;;;;15/2;N;;;;; +0F32;TIBETAN DIGIT HALF NINE;No;0;L;;;;17/2;N;;;;; +0F33;TIBETAN DIGIT HALF ZERO;No;0;L;;;;-1/2;N;;;;; +0F34;TIBETAN MARK BSDUS RTAGS;So;0;L;;;;;N;;;;; +0F35;TIBETAN MARK NGAS BZUNG NYI ZLA;Mn;220;NSM;;;;;N;TIBETAN HONORIFIC UNDER RING;;;; +0F36;TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN;So;0;L;;;;;N;;;;; +0F37;TIBETAN MARK NGAS BZUNG SGOR RTAGS;Mn;220;NSM;;;;;N;TIBETAN UNDER RING;;;; +0F38;TIBETAN MARK CHE MGO;So;0;L;;;;;N;;;;; +0F39;TIBETAN MARK TSA -PHRU;Mn;216;NSM;;;;;N;TIBETAN LENITION MARK;;;; +0F3A;TIBETAN MARK GUG RTAGS GYON;Ps;0;ON;;;;;Y;;;;; +0F3B;TIBETAN MARK GUG RTAGS GYAS;Pe;0;ON;;;;;Y;;;;; +0F3C;TIBETAN MARK ANG KHANG GYON;Ps;0;ON;;;;;Y;TIBETAN LEFT BRACE;;;; +0F3D;TIBETAN MARK ANG KHANG GYAS;Pe;0;ON;;;;;Y;TIBETAN RIGHT BRACE;;;; +0F3E;TIBETAN SIGN YAR TSHES;Mc;0;L;;;;;N;;;;; +0F3F;TIBETAN SIGN MAR TSHES;Mc;0;L;;;;;N;;;;; +0F40;TIBETAN LETTER KA;Lo;0;L;;;;;N;;;;; +0F41;TIBETAN LETTER KHA;Lo;0;L;;;;;N;;;;; +0F42;TIBETAN LETTER GA;Lo;0;L;;;;;N;;;;; +0F43;TIBETAN LETTER GHA;Lo;0;L;0F42 0FB7;;;;N;;;;; +0F44;TIBETAN LETTER NGA;Lo;0;L;;;;;N;;;;; +0F45;TIBETAN LETTER CA;Lo;0;L;;;;;N;;;;; +0F46;TIBETAN LETTER CHA;Lo;0;L;;;;;N;;;;; +0F47;TIBETAN LETTER JA;Lo;0;L;;;;;N;;;;; +0F49;TIBETAN LETTER NYA;Lo;0;L;;;;;N;;;;; +0F4A;TIBETAN LETTER TTA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED TA;;;; +0F4B;TIBETAN LETTER TTHA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED THA;;;; +0F4C;TIBETAN LETTER DDA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED DA;;;; +0F4D;TIBETAN LETTER DDHA;Lo;0;L;0F4C 0FB7;;;;N;;;;; +0F4E;TIBETAN LETTER NNA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED NA;;;; +0F4F;TIBETAN LETTER TA;Lo;0;L;;;;;N;;;;; +0F50;TIBETAN LETTER THA;Lo;0;L;;;;;N;;;;; +0F51;TIBETAN LETTER DA;Lo;0;L;;;;;N;;;;; +0F52;TIBETAN LETTER DHA;Lo;0;L;0F51 0FB7;;;;N;;;;; +0F53;TIBETAN LETTER NA;Lo;0;L;;;;;N;;;;; +0F54;TIBETAN LETTER PA;Lo;0;L;;;;;N;;;;; +0F55;TIBETAN LETTER PHA;Lo;0;L;;;;;N;;;;; +0F56;TIBETAN LETTER BA;Lo;0;L;;;;;N;;;;; +0F57;TIBETAN LETTER BHA;Lo;0;L;0F56 0FB7;;;;N;;;;; +0F58;TIBETAN LETTER MA;Lo;0;L;;;;;N;;;;; +0F59;TIBETAN LETTER TSA;Lo;0;L;;;;;N;;;;; +0F5A;TIBETAN LETTER TSHA;Lo;0;L;;;;;N;;;;; +0F5B;TIBETAN LETTER DZA;Lo;0;L;;;;;N;;;;; +0F5C;TIBETAN LETTER DZHA;Lo;0;L;0F5B 0FB7;;;;N;;;;; +0F5D;TIBETAN LETTER WA;Lo;0;L;;;;;N;;;;; +0F5E;TIBETAN LETTER ZHA;Lo;0;L;;;;;N;;;;; +0F5F;TIBETAN LETTER ZA;Lo;0;L;;;;;N;;;;; +0F60;TIBETAN LETTER -A;Lo;0;L;;;;;N;TIBETAN LETTER AA;;;; +0F61;TIBETAN LETTER YA;Lo;0;L;;;;;N;;;;; +0F62;TIBETAN LETTER RA;Lo;0;L;;;;;N;;;;; +0F63;TIBETAN LETTER LA;Lo;0;L;;;;;N;;;;; +0F64;TIBETAN LETTER SHA;Lo;0;L;;;;;N;;;;; +0F65;TIBETAN LETTER SSA;Lo;0;L;;;;;N;TIBETAN LETTER REVERSED SHA;;;; +0F66;TIBETAN LETTER SA;Lo;0;L;;;;;N;;;;; +0F67;TIBETAN LETTER HA;Lo;0;L;;;;;N;;;;; +0F68;TIBETAN LETTER A;Lo;0;L;;;;;N;;;;; +0F69;TIBETAN LETTER KSSA;Lo;0;L;0F40 0FB5;;;;N;;;;; +0F6A;TIBETAN LETTER FIXED-FORM RA;Lo;0;L;;;;;N;;;;; +0F6B;TIBETAN LETTER KKA;Lo;0;L;;;;;N;;;;; +0F6C;TIBETAN LETTER RRA;Lo;0;L;;;;;N;;;;; +0F71;TIBETAN VOWEL SIGN AA;Mn;129;NSM;;;;;N;;;;; +0F72;TIBETAN VOWEL SIGN I;Mn;130;NSM;;;;;N;;;;; +0F73;TIBETAN VOWEL SIGN II;Mn;0;NSM;0F71 0F72;;;;N;;;;; +0F74;TIBETAN VOWEL SIGN U;Mn;132;NSM;;;;;N;;;;; +0F75;TIBETAN VOWEL SIGN UU;Mn;0;NSM;0F71 0F74;;;;N;;;;; +0F76;TIBETAN VOWEL SIGN VOCALIC R;Mn;0;NSM;0FB2 0F80;;;;N;;;;; +0F77;TIBETAN VOWEL SIGN VOCALIC RR;Mn;0;NSM; 0FB2 0F81;;;;N;;;;; +0F78;TIBETAN VOWEL SIGN VOCALIC L;Mn;0;NSM;0FB3 0F80;;;;N;;;;; +0F79;TIBETAN VOWEL SIGN VOCALIC LL;Mn;0;NSM; 0FB3 0F81;;;;N;;;;; +0F7A;TIBETAN VOWEL SIGN E;Mn;130;NSM;;;;;N;;;;; +0F7B;TIBETAN VOWEL SIGN EE;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AI;;;; +0F7C;TIBETAN VOWEL SIGN O;Mn;130;NSM;;;;;N;;;;; +0F7D;TIBETAN VOWEL SIGN OO;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN AU;;;; +0F7E;TIBETAN SIGN RJES SU NGA RO;Mn;0;NSM;;;;;N;TIBETAN ANUSVARA;;;; +0F7F;TIBETAN SIGN RNAM BCAD;Mc;0;L;;;;;N;TIBETAN VISARGA;;;; +0F80;TIBETAN VOWEL SIGN REVERSED I;Mn;130;NSM;;;;;N;TIBETAN VOWEL SIGN SHORT I;;;; +0F81;TIBETAN VOWEL SIGN REVERSED II;Mn;0;NSM;0F71 0F80;;;;N;;;;; +0F82;TIBETAN SIGN NYI ZLA NAA DA;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU WITH ORNAMENT;;;; +0F83;TIBETAN SIGN SNA LDAN;Mn;230;NSM;;;;;N;TIBETAN CANDRABINDU;;;; +0F84;TIBETAN MARK HALANTA;Mn;9;NSM;;;;;N;TIBETAN VIRAMA;;;; +0F85;TIBETAN MARK PALUTA;Po;0;L;;;;;N;TIBETAN CHUCHENYIGE;;;; +0F86;TIBETAN SIGN LCI RTAGS;Mn;230;NSM;;;;;N;;;;; +0F87;TIBETAN SIGN YANG RTAGS;Mn;230;NSM;;;;;N;;;;; +0F88;TIBETAN SIGN LCE TSA CAN;Lo;0;L;;;;;N;;;;; +0F89;TIBETAN SIGN MCHU CAN;Lo;0;L;;;;;N;;;;; +0F8A;TIBETAN SIGN GRU CAN RGYINGS;Lo;0;L;;;;;N;;;;; +0F8B;TIBETAN SIGN GRU MED RGYINGS;Lo;0;L;;;;;N;;;;; +0F8C;TIBETAN SIGN INVERTED MCHU CAN;Lo;0;L;;;;;N;;;;; +0F8D;TIBETAN SUBJOINED SIGN LCE TSA CAN;Mn;0;NSM;;;;;N;;;;; +0F8E;TIBETAN SUBJOINED SIGN MCHU CAN;Mn;0;NSM;;;;;N;;;;; +0F8F;TIBETAN SUBJOINED SIGN INVERTED MCHU CAN;Mn;0;NSM;;;;;N;;;;; +0F90;TIBETAN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;; +0F91;TIBETAN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;; +0F92;TIBETAN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;; +0F93;TIBETAN SUBJOINED LETTER GHA;Mn;0;NSM;0F92 0FB7;;;;N;;;;; +0F94;TIBETAN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;; +0F95;TIBETAN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;; +0F96;TIBETAN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;; +0F97;TIBETAN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;; +0F99;TIBETAN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;; +0F9A;TIBETAN SUBJOINED LETTER TTA;Mn;0;NSM;;;;;N;;;;; +0F9B;TIBETAN SUBJOINED LETTER TTHA;Mn;0;NSM;;;;;N;;;;; +0F9C;TIBETAN SUBJOINED LETTER DDA;Mn;0;NSM;;;;;N;;;;; +0F9D;TIBETAN SUBJOINED LETTER DDHA;Mn;0;NSM;0F9C 0FB7;;;;N;;;;; +0F9E;TIBETAN SUBJOINED LETTER NNA;Mn;0;NSM;;;;;N;;;;; +0F9F;TIBETAN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;; +0FA0;TIBETAN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;; +0FA1;TIBETAN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;; +0FA2;TIBETAN SUBJOINED LETTER DHA;Mn;0;NSM;0FA1 0FB7;;;;N;;;;; +0FA3;TIBETAN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;; +0FA4;TIBETAN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;; +0FA5;TIBETAN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;; +0FA6;TIBETAN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;; +0FA7;TIBETAN SUBJOINED LETTER BHA;Mn;0;NSM;0FA6 0FB7;;;;N;;;;; +0FA8;TIBETAN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;; +0FA9;TIBETAN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;; +0FAA;TIBETAN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;; +0FAB;TIBETAN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;; +0FAC;TIBETAN SUBJOINED LETTER DZHA;Mn;0;NSM;0FAB 0FB7;;;;N;;;;; +0FAD;TIBETAN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;;;; +0FAE;TIBETAN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;; +0FAF;TIBETAN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;; +0FB0;TIBETAN SUBJOINED LETTER -A;Mn;0;NSM;;;;;N;;;;; +0FB1;TIBETAN SUBJOINED LETTER YA;Mn;0;NSM;;;;;N;;;;; +0FB2;TIBETAN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;;;; +0FB3;TIBETAN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;; +0FB4;TIBETAN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;; +0FB5;TIBETAN SUBJOINED LETTER SSA;Mn;0;NSM;;;;;N;;;;; +0FB6;TIBETAN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;; +0FB7;TIBETAN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;; +0FB8;TIBETAN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;; +0FB9;TIBETAN SUBJOINED LETTER KSSA;Mn;0;NSM;0F90 0FB5;;;;N;;;;; +0FBA;TIBETAN SUBJOINED LETTER FIXED-FORM WA;Mn;0;NSM;;;;;N;;;;; +0FBB;TIBETAN SUBJOINED LETTER FIXED-FORM YA;Mn;0;NSM;;;;;N;;;;; +0FBC;TIBETAN SUBJOINED LETTER FIXED-FORM RA;Mn;0;NSM;;;;;N;;;;; +0FBE;TIBETAN KU RU KHA;So;0;L;;;;;N;;;;; +0FBF;TIBETAN KU RU KHA BZHI MIG CAN;So;0;L;;;;;N;;;;; +0FC0;TIBETAN CANTILLATION SIGN HEAVY BEAT;So;0;L;;;;;N;;;;; +0FC1;TIBETAN CANTILLATION SIGN LIGHT BEAT;So;0;L;;;;;N;;;;; +0FC2;TIBETAN CANTILLATION SIGN CANG TE-U;So;0;L;;;;;N;;;;; +0FC3;TIBETAN CANTILLATION SIGN SBUB -CHAL;So;0;L;;;;;N;;;;; +0FC4;TIBETAN SYMBOL DRIL BU;So;0;L;;;;;N;;;;; +0FC5;TIBETAN SYMBOL RDO RJE;So;0;L;;;;;N;;;;; +0FC6;TIBETAN SYMBOL PADMA GDAN;Mn;220;NSM;;;;;N;;;;; +0FC7;TIBETAN SYMBOL RDO RJE RGYA GRAM;So;0;L;;;;;N;;;;; +0FC8;TIBETAN SYMBOL PHUR PA;So;0;L;;;;;N;;;;; +0FC9;TIBETAN SYMBOL NOR BU;So;0;L;;;;;N;;;;; +0FCA;TIBETAN SYMBOL NOR BU NYIS -KHYIL;So;0;L;;;;;N;;;;; +0FCB;TIBETAN SYMBOL NOR BU GSUM -KHYIL;So;0;L;;;;;N;;;;; +0FCC;TIBETAN SYMBOL NOR BU BZHI -KHYIL;So;0;L;;;;;N;;;;; +0FCE;TIBETAN SIGN RDEL NAG RDEL DKAR;So;0;L;;;;;N;;;;; +0FCF;TIBETAN SIGN RDEL NAG GSUM;So;0;L;;;;;N;;;;; +0FD0;TIBETAN MARK BSKA- SHOG GI MGO RGYAN;Po;0;L;;;;;N;;;;; +0FD1;TIBETAN MARK MNYAM YIG GI MGO RGYAN;Po;0;L;;;;;N;;;;; +0FD2;TIBETAN MARK NYIS TSHEG;Po;0;L;;;;;N;;;;; +0FD3;TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA;Po;0;L;;;;;N;;;;; +0FD4;TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA;Po;0;L;;;;;N;;;;; +0FD5;RIGHT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;; +0FD6;LEFT-FACING SVASTI SIGN;So;0;L;;;;;N;;;;; +0FD7;RIGHT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;; +0FD8;LEFT-FACING SVASTI SIGN WITH DOTS;So;0;L;;;;;N;;;;; +0FD9;TIBETAN MARK LEADING MCHAN RTAGS;Po;0;L;;;;;N;;;;; +0FDA;TIBETAN MARK TRAILING MCHAN RTAGS;Po;0;L;;;;;N;;;;; +1000;MYANMAR LETTER KA;Lo;0;L;;;;;N;;;;; +1001;MYANMAR LETTER KHA;Lo;0;L;;;;;N;;;;; +1002;MYANMAR LETTER GA;Lo;0;L;;;;;N;;;;; +1003;MYANMAR LETTER GHA;Lo;0;L;;;;;N;;;;; +1004;MYANMAR LETTER NGA;Lo;0;L;;;;;N;;;;; +1005;MYANMAR LETTER CA;Lo;0;L;;;;;N;;;;; +1006;MYANMAR LETTER CHA;Lo;0;L;;;;;N;;;;; +1007;MYANMAR LETTER JA;Lo;0;L;;;;;N;;;;; +1008;MYANMAR LETTER JHA;Lo;0;L;;;;;N;;;;; +1009;MYANMAR LETTER NYA;Lo;0;L;;;;;N;;;;; +100A;MYANMAR LETTER NNYA;Lo;0;L;;;;;N;;;;; +100B;MYANMAR LETTER TTA;Lo;0;L;;;;;N;;;;; +100C;MYANMAR LETTER TTHA;Lo;0;L;;;;;N;;;;; +100D;MYANMAR LETTER DDA;Lo;0;L;;;;;N;;;;; +100E;MYANMAR LETTER DDHA;Lo;0;L;;;;;N;;;;; +100F;MYANMAR LETTER NNA;Lo;0;L;;;;;N;;;;; +1010;MYANMAR LETTER TA;Lo;0;L;;;;;N;;;;; +1011;MYANMAR LETTER THA;Lo;0;L;;;;;N;;;;; +1012;MYANMAR LETTER DA;Lo;0;L;;;;;N;;;;; +1013;MYANMAR LETTER DHA;Lo;0;L;;;;;N;;;;; +1014;MYANMAR LETTER NA;Lo;0;L;;;;;N;;;;; +1015;MYANMAR LETTER PA;Lo;0;L;;;;;N;;;;; +1016;MYANMAR LETTER PHA;Lo;0;L;;;;;N;;;;; +1017;MYANMAR LETTER BA;Lo;0;L;;;;;N;;;;; +1018;MYANMAR LETTER BHA;Lo;0;L;;;;;N;;;;; +1019;MYANMAR LETTER MA;Lo;0;L;;;;;N;;;;; +101A;MYANMAR LETTER YA;Lo;0;L;;;;;N;;;;; +101B;MYANMAR LETTER RA;Lo;0;L;;;;;N;;;;; +101C;MYANMAR LETTER LA;Lo;0;L;;;;;N;;;;; +101D;MYANMAR LETTER WA;Lo;0;L;;;;;N;;;;; +101E;MYANMAR LETTER SA;Lo;0;L;;;;;N;;;;; +101F;MYANMAR LETTER HA;Lo;0;L;;;;;N;;;;; +1020;MYANMAR LETTER LLA;Lo;0;L;;;;;N;;;;; +1021;MYANMAR LETTER A;Lo;0;L;;;;;N;;;;; +1022;MYANMAR LETTER SHAN A;Lo;0;L;;;;;N;;;;; +1023;MYANMAR LETTER I;Lo;0;L;;;;;N;;;;; +1024;MYANMAR LETTER II;Lo;0;L;;;;;N;;;;; +1025;MYANMAR LETTER U;Lo;0;L;;;;;N;;;;; +1026;MYANMAR LETTER UU;Lo;0;L;1025 102E;;;;N;;;;; +1027;MYANMAR LETTER E;Lo;0;L;;;;;N;;;;; +1028;MYANMAR LETTER MON E;Lo;0;L;;;;;N;;;;; +1029;MYANMAR LETTER O;Lo;0;L;;;;;N;;;;; +102A;MYANMAR LETTER AU;Lo;0;L;;;;;N;;;;; +102B;MYANMAR VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;; +102C;MYANMAR VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +102D;MYANMAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +102E;MYANMAR VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +102F;MYANMAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1030;MYANMAR VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1031;MYANMAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1032;MYANMAR VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1033;MYANMAR VOWEL SIGN MON II;Mn;0;NSM;;;;;N;;;;; +1034;MYANMAR VOWEL SIGN MON O;Mn;0;NSM;;;;;N;;;;; +1035;MYANMAR VOWEL SIGN E ABOVE;Mn;0;NSM;;;;;N;;;;; +1036;MYANMAR SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1037;MYANMAR SIGN DOT BELOW;Mn;7;NSM;;;;;N;;;;; +1038;MYANMAR SIGN VISARGA;Mc;0;L;;;;;N;;;;; +1039;MYANMAR SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +103A;MYANMAR SIGN ASAT;Mn;9;NSM;;;;;N;;;;; +103B;MYANMAR CONSONANT SIGN MEDIAL YA;Mc;0;L;;;;;N;;;;; +103C;MYANMAR CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;; +103D;MYANMAR CONSONANT SIGN MEDIAL WA;Mn;0;NSM;;;;;N;;;;; +103E;MYANMAR CONSONANT SIGN MEDIAL HA;Mn;0;NSM;;;;;N;;;;; +103F;MYANMAR LETTER GREAT SA;Lo;0;L;;;;;N;;;;; +1040;MYANMAR DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1041;MYANMAR DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1042;MYANMAR DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1043;MYANMAR DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1044;MYANMAR DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1045;MYANMAR DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1046;MYANMAR DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1047;MYANMAR DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1048;MYANMAR DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1049;MYANMAR DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +104A;MYANMAR SIGN LITTLE SECTION;Po;0;L;;;;;N;;;;; +104B;MYANMAR SIGN SECTION;Po;0;L;;;;;N;;;;; +104C;MYANMAR SYMBOL LOCATIVE;Po;0;L;;;;;N;;;;; +104D;MYANMAR SYMBOL COMPLETED;Po;0;L;;;;;N;;;;; +104E;MYANMAR SYMBOL AFOREMENTIONED;Po;0;L;;;;;N;;;;; +104F;MYANMAR SYMBOL GENITIVE;Po;0;L;;;;;N;;;;; +1050;MYANMAR LETTER SHA;Lo;0;L;;;;;N;;;;; +1051;MYANMAR LETTER SSA;Lo;0;L;;;;;N;;;;; +1052;MYANMAR LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +1053;MYANMAR LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +1054;MYANMAR LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1055;MYANMAR LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1056;MYANMAR VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +1057;MYANMAR VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +1058;MYANMAR VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +1059;MYANMAR VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +105A;MYANMAR LETTER MON NGA;Lo;0;L;;;;;N;;;;; +105B;MYANMAR LETTER MON JHA;Lo;0;L;;;;;N;;;;; +105C;MYANMAR LETTER MON BBA;Lo;0;L;;;;;N;;;;; +105D;MYANMAR LETTER MON BBE;Lo;0;L;;;;;N;;;;; +105E;MYANMAR CONSONANT SIGN MON MEDIAL NA;Mn;0;NSM;;;;;N;;;;; +105F;MYANMAR CONSONANT SIGN MON MEDIAL MA;Mn;0;NSM;;;;;N;;;;; +1060;MYANMAR CONSONANT SIGN MON MEDIAL LA;Mn;0;NSM;;;;;N;;;;; +1061;MYANMAR LETTER SGAW KAREN SHA;Lo;0;L;;;;;N;;;;; +1062;MYANMAR VOWEL SIGN SGAW KAREN EU;Mc;0;L;;;;;N;;;;; +1063;MYANMAR TONE MARK SGAW KAREN HATHI;Mc;0;L;;;;;N;;;;; +1064;MYANMAR TONE MARK SGAW KAREN KE PHO;Mc;0;L;;;;;N;;;;; +1065;MYANMAR LETTER WESTERN PWO KAREN THA;Lo;0;L;;;;;N;;;;; +1066;MYANMAR LETTER WESTERN PWO KAREN PWA;Lo;0;L;;;;;N;;;;; +1067;MYANMAR VOWEL SIGN WESTERN PWO KAREN EU;Mc;0;L;;;;;N;;;;; +1068;MYANMAR VOWEL SIGN WESTERN PWO KAREN UE;Mc;0;L;;;;;N;;;;; +1069;MYANMAR SIGN WESTERN PWO KAREN TONE-1;Mc;0;L;;;;;N;;;;; +106A;MYANMAR SIGN WESTERN PWO KAREN TONE-2;Mc;0;L;;;;;N;;;;; +106B;MYANMAR SIGN WESTERN PWO KAREN TONE-3;Mc;0;L;;;;;N;;;;; +106C;MYANMAR SIGN WESTERN PWO KAREN TONE-4;Mc;0;L;;;;;N;;;;; +106D;MYANMAR SIGN WESTERN PWO KAREN TONE-5;Mc;0;L;;;;;N;;;;; +106E;MYANMAR LETTER EASTERN PWO KAREN NNA;Lo;0;L;;;;;N;;;;; +106F;MYANMAR LETTER EASTERN PWO KAREN YWA;Lo;0;L;;;;;N;;;;; +1070;MYANMAR LETTER EASTERN PWO KAREN GHWA;Lo;0;L;;;;;N;;;;; +1071;MYANMAR VOWEL SIGN GEBA KAREN I;Mn;0;NSM;;;;;N;;;;; +1072;MYANMAR VOWEL SIGN KAYAH OE;Mn;0;NSM;;;;;N;;;;; +1073;MYANMAR VOWEL SIGN KAYAH U;Mn;0;NSM;;;;;N;;;;; +1074;MYANMAR VOWEL SIGN KAYAH EE;Mn;0;NSM;;;;;N;;;;; +1075;MYANMAR LETTER SHAN KA;Lo;0;L;;;;;N;;;;; +1076;MYANMAR LETTER SHAN KHA;Lo;0;L;;;;;N;;;;; +1077;MYANMAR LETTER SHAN GA;Lo;0;L;;;;;N;;;;; +1078;MYANMAR LETTER SHAN CA;Lo;0;L;;;;;N;;;;; +1079;MYANMAR LETTER SHAN ZA;Lo;0;L;;;;;N;;;;; +107A;MYANMAR LETTER SHAN NYA;Lo;0;L;;;;;N;;;;; +107B;MYANMAR LETTER SHAN DA;Lo;0;L;;;;;N;;;;; +107C;MYANMAR LETTER SHAN NA;Lo;0;L;;;;;N;;;;; +107D;MYANMAR LETTER SHAN PHA;Lo;0;L;;;;;N;;;;; +107E;MYANMAR LETTER SHAN FA;Lo;0;L;;;;;N;;;;; +107F;MYANMAR LETTER SHAN BA;Lo;0;L;;;;;N;;;;; +1080;MYANMAR LETTER SHAN THA;Lo;0;L;;;;;N;;;;; +1081;MYANMAR LETTER SHAN HA;Lo;0;L;;;;;N;;;;; +1082;MYANMAR CONSONANT SIGN SHAN MEDIAL WA;Mn;0;NSM;;;;;N;;;;; +1083;MYANMAR VOWEL SIGN SHAN AA;Mc;0;L;;;;;N;;;;; +1084;MYANMAR VOWEL SIGN SHAN E;Mc;0;L;;;;;N;;;;; +1085;MYANMAR VOWEL SIGN SHAN E ABOVE;Mn;0;NSM;;;;;N;;;;; +1086;MYANMAR VOWEL SIGN SHAN FINAL Y;Mn;0;NSM;;;;;N;;;;; +1087;MYANMAR SIGN SHAN TONE-2;Mc;0;L;;;;;N;;;;; +1088;MYANMAR SIGN SHAN TONE-3;Mc;0;L;;;;;N;;;;; +1089;MYANMAR SIGN SHAN TONE-5;Mc;0;L;;;;;N;;;;; +108A;MYANMAR SIGN SHAN TONE-6;Mc;0;L;;;;;N;;;;; +108B;MYANMAR SIGN SHAN COUNCIL TONE-2;Mc;0;L;;;;;N;;;;; +108C;MYANMAR SIGN SHAN COUNCIL TONE-3;Mc;0;L;;;;;N;;;;; +108D;MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE;Mn;220;NSM;;;;;N;;;;; +108E;MYANMAR LETTER RUMAI PALAUNG FA;Lo;0;L;;;;;N;;;;; +108F;MYANMAR SIGN RUMAI PALAUNG TONE-5;Mc;0;L;;;;;N;;;;; +1090;MYANMAR SHAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1091;MYANMAR SHAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1092;MYANMAR SHAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1093;MYANMAR SHAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1094;MYANMAR SHAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1095;MYANMAR SHAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1096;MYANMAR SHAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1097;MYANMAR SHAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1098;MYANMAR SHAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1099;MYANMAR SHAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +109A;MYANMAR SIGN KHAMTI TONE-1;Mc;0;L;;;;;N;;;;; +109B;MYANMAR SIGN KHAMTI TONE-3;Mc;0;L;;;;;N;;;;; +109C;MYANMAR VOWEL SIGN AITON A;Mc;0;L;;;;;N;;;;; +109D;MYANMAR VOWEL SIGN AITON AI;Mn;0;NSM;;;;;N;;;;; +109E;MYANMAR SYMBOL SHAN ONE;So;0;L;;;;;N;;;;; +109F;MYANMAR SYMBOL SHAN EXCLAMATION;So;0;L;;;;;N;;;;; +10A0;GEORGIAN CAPITAL LETTER AN;Lu;0;L;;;;;N;;;;2D00; +10A1;GEORGIAN CAPITAL LETTER BAN;Lu;0;L;;;;;N;;;;2D01; +10A2;GEORGIAN CAPITAL LETTER GAN;Lu;0;L;;;;;N;;;;2D02; +10A3;GEORGIAN CAPITAL LETTER DON;Lu;0;L;;;;;N;;;;2D03; +10A4;GEORGIAN CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;2D04; +10A5;GEORGIAN CAPITAL LETTER VIN;Lu;0;L;;;;;N;;;;2D05; +10A6;GEORGIAN CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;;;2D06; +10A7;GEORGIAN CAPITAL LETTER TAN;Lu;0;L;;;;;N;;;;2D07; +10A8;GEORGIAN CAPITAL LETTER IN;Lu;0;L;;;;;N;;;;2D08; +10A9;GEORGIAN CAPITAL LETTER KAN;Lu;0;L;;;;;N;;;;2D09; +10AA;GEORGIAN CAPITAL LETTER LAS;Lu;0;L;;;;;N;;;;2D0A; +10AB;GEORGIAN CAPITAL LETTER MAN;Lu;0;L;;;;;N;;;;2D0B; +10AC;GEORGIAN CAPITAL LETTER NAR;Lu;0;L;;;;;N;;;;2D0C; +10AD;GEORGIAN CAPITAL LETTER ON;Lu;0;L;;;;;N;;;;2D0D; +10AE;GEORGIAN CAPITAL LETTER PAR;Lu;0;L;;;;;N;;;;2D0E; +10AF;GEORGIAN CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;;;2D0F; +10B0;GEORGIAN CAPITAL LETTER RAE;Lu;0;L;;;;;N;;;;2D10; +10B1;GEORGIAN CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;2D11; +10B2;GEORGIAN CAPITAL LETTER TAR;Lu;0;L;;;;;N;;;;2D12; +10B3;GEORGIAN CAPITAL LETTER UN;Lu;0;L;;;;;N;;;;2D13; +10B4;GEORGIAN CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;;;2D14; +10B5;GEORGIAN CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;;;2D15; +10B6;GEORGIAN CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;;;2D16; +10B7;GEORGIAN CAPITAL LETTER QAR;Lu;0;L;;;;;N;;;;2D17; +10B8;GEORGIAN CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;;;2D18; +10B9;GEORGIAN CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;;;2D19; +10BA;GEORGIAN CAPITAL LETTER CAN;Lu;0;L;;;;;N;;;;2D1A; +10BB;GEORGIAN CAPITAL LETTER JIL;Lu;0;L;;;;;N;;;;2D1B; +10BC;GEORGIAN CAPITAL LETTER CIL;Lu;0;L;;;;;N;;;;2D1C; +10BD;GEORGIAN CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;;;2D1D; +10BE;GEORGIAN CAPITAL LETTER XAN;Lu;0;L;;;;;N;;;;2D1E; +10BF;GEORGIAN CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;;;2D1F; +10C0;GEORGIAN CAPITAL LETTER HAE;Lu;0;L;;;;;N;;;;2D20; +10C1;GEORGIAN CAPITAL LETTER HE;Lu;0;L;;;;;N;;;;2D21; +10C2;GEORGIAN CAPITAL LETTER HIE;Lu;0;L;;;;;N;;;;2D22; +10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23; +10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24; +10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25; +10C7;GEORGIAN CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;2D27; +10CD;GEORGIAN CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;2D2D; +10D0;GEORGIAN LETTER AN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;1C90;;10D0 +10D1;GEORGIAN LETTER BAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;1C91;;10D1 +10D2;GEORGIAN LETTER GAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;1C92;;10D2 +10D3;GEORGIAN LETTER DON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER DON;;1C93;;10D3 +10D4;GEORGIAN LETTER EN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER EN;;1C94;;10D4 +10D5;GEORGIAN LETTER VIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER VIN;;1C95;;10D5 +10D6;GEORGIAN LETTER ZEN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZEN;;1C96;;10D6 +10D7;GEORGIAN LETTER TAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAN;;1C97;;10D7 +10D8;GEORGIAN LETTER IN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER IN;;1C98;;10D8 +10D9;GEORGIAN LETTER KAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KAN;;1C99;;10D9 +10DA;GEORGIAN LETTER LAS;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER LAS;;1C9A;;10DA +10DB;GEORGIAN LETTER MAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER MAN;;1C9B;;10DB +10DC;GEORGIAN LETTER NAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER NAR;;1C9C;;10DC +10DD;GEORGIAN LETTER ON;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ON;;1C9D;;10DD +10DE;GEORGIAN LETTER PAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PAR;;1C9E;;10DE +10DF;GEORGIAN LETTER ZHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER ZHAR;;1C9F;;10DF +10E0;GEORGIAN LETTER RAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER RAE;;1CA0;;10E0 +10E1;GEORGIAN LETTER SAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SAN;;1CA1;;10E1 +10E2;GEORGIAN LETTER TAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER TAR;;1CA2;;10E2 +10E3;GEORGIAN LETTER UN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER UN;;1CA3;;10E3 +10E4;GEORGIAN LETTER PHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER PHAR;;1CA4;;10E4 +10E5;GEORGIAN LETTER KHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER KHAR;;1CA5;;10E5 +10E6;GEORGIAN LETTER GHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER GHAN;;1CA6;;10E6 +10E7;GEORGIAN LETTER QAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER QAR;;1CA7;;10E7 +10E8;GEORGIAN LETTER SHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER SHIN;;1CA8;;10E8 +10E9;GEORGIAN LETTER CHIN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHIN;;1CA9;;10E9 +10EA;GEORGIAN LETTER CAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CAN;;1CAA;;10EA +10EB;GEORGIAN LETTER JIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JIL;;1CAB;;10EB +10EC;GEORGIAN LETTER CIL;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CIL;;1CAC;;10EC +10ED;GEORGIAN LETTER CHAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER CHAR;;1CAD;;10ED +10EE;GEORGIAN LETTER XAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER XAN;;1CAE;;10EE +10EF;GEORGIAN LETTER JHAN;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER JHAN;;1CAF;;10EF +10F0;GEORGIAN LETTER HAE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAE;;1CB0;;10F0 +10F1;GEORGIAN LETTER HE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HE;;1CB1;;10F1 +10F2;GEORGIAN LETTER HIE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HIE;;1CB2;;10F2 +10F3;GEORGIAN LETTER WE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER WE;;1CB3;;10F3 +10F4;GEORGIAN LETTER HAR;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HAR;;1CB4;;10F4 +10F5;GEORGIAN LETTER HOE;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER HOE;;1CB5;;10F5 +10F6;GEORGIAN LETTER FI;Ll;0;L;;;;;N;GEORGIAN SMALL LETTER FI;;1CB6;;10F6 +10F7;GEORGIAN LETTER YN;Ll;0;L;;;;;N;;;1CB7;;10F7 +10F8;GEORGIAN LETTER ELIFI;Ll;0;L;;;;;N;;;1CB8;;10F8 +10F9;GEORGIAN LETTER TURNED GAN;Ll;0;L;;;;;N;;;1CB9;;10F9 +10FA;GEORGIAN LETTER AIN;Ll;0;L;;;;;N;;;1CBA;;10FA +10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; +10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L; 10DC;;;;N;;;;; +10FD;GEORGIAN LETTER AEN;Ll;0;L;;;;;N;;;1CBD;;10FD +10FE;GEORGIAN LETTER HARD SIGN;Ll;0;L;;;;;N;;;1CBE;;10FE +10FF;GEORGIAN LETTER LABIAL SIGN;Ll;0;L;;;;;N;;;1CBF;;10FF +1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;; +1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;; +1103;HANGUL CHOSEONG TIKEUT;Lo;0;L;;;;;N;;;;; +1104;HANGUL CHOSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;; +1105;HANGUL CHOSEONG RIEUL;Lo;0;L;;;;;N;;;;; +1106;HANGUL CHOSEONG MIEUM;Lo;0;L;;;;;N;;;;; +1107;HANGUL CHOSEONG PIEUP;Lo;0;L;;;;;N;;;;; +1108;HANGUL CHOSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;; +1109;HANGUL CHOSEONG SIOS;Lo;0;L;;;;;N;;;;; +110A;HANGUL CHOSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;; +110B;HANGUL CHOSEONG IEUNG;Lo;0;L;;;;;N;;;;; +110C;HANGUL CHOSEONG CIEUC;Lo;0;L;;;;;N;;;;; +110D;HANGUL CHOSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;; +110E;HANGUL CHOSEONG CHIEUCH;Lo;0;L;;;;;N;;;;; +110F;HANGUL CHOSEONG KHIEUKH;Lo;0;L;;;;;N;;;;; +1110;HANGUL CHOSEONG THIEUTH;Lo;0;L;;;;;N;;;;; +1111;HANGUL CHOSEONG PHIEUPH;Lo;0;L;;;;;N;;;;; +1112;HANGUL CHOSEONG HIEUH;Lo;0;L;;;;;N;;;;; +1113;HANGUL CHOSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; +1114;HANGUL CHOSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;; +1115;HANGUL CHOSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; +1116;HANGUL CHOSEONG NIEUN-PIEUP;Lo;0;L;;;;;N;;;;; +1117;HANGUL CHOSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; +1118;HANGUL CHOSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; +1119;HANGUL CHOSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; +111A;HANGUL CHOSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;; +111B;HANGUL CHOSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;; +111C;HANGUL CHOSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; +111D;HANGUL CHOSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; +111E;HANGUL CHOSEONG PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; +111F;HANGUL CHOSEONG PIEUP-NIEUN;Lo;0;L;;;;;N;;;;; +1120;HANGUL CHOSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; +1121;HANGUL CHOSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +1122;HANGUL CHOSEONG PIEUP-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +1123;HANGUL CHOSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +1124;HANGUL CHOSEONG PIEUP-SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +1125;HANGUL CHOSEONG PIEUP-SSANGSIOS;Lo;0;L;;;;;N;;;;; +1126;HANGUL CHOSEONG PIEUP-SIOS-CIEUC;Lo;0;L;;;;;N;;;;; +1127;HANGUL CHOSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;; +1128;HANGUL CHOSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;; +1129;HANGUL CHOSEONG PIEUP-THIEUTH;Lo;0;L;;;;;N;;;;; +112A;HANGUL CHOSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; +112B;HANGUL CHOSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +112C;HANGUL CHOSEONG KAPYEOUNSSANGPIEUP;Lo;0;L;;;;;N;;;;; +112D;HANGUL CHOSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +112E;HANGUL CHOSEONG SIOS-NIEUN;Lo;0;L;;;;;N;;;;; +112F;HANGUL CHOSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +1130;HANGUL CHOSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; +1131;HANGUL CHOSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;; +1132;HANGUL CHOSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +1133;HANGUL CHOSEONG SIOS-PIEUP-KIYEOK;Lo;0;L;;;;;N;;;;; +1134;HANGUL CHOSEONG SIOS-SSANGSIOS;Lo;0;L;;;;;N;;;;; +1135;HANGUL CHOSEONG SIOS-IEUNG;Lo;0;L;;;;;N;;;;; +1136;HANGUL CHOSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;; +1137;HANGUL CHOSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;; +1138;HANGUL CHOSEONG SIOS-KHIEUKH;Lo;0;L;;;;;N;;;;; +1139;HANGUL CHOSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; +113A;HANGUL CHOSEONG SIOS-PHIEUPH;Lo;0;L;;;;;N;;;;; +113B;HANGUL CHOSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;; +113C;HANGUL CHOSEONG CHITUEUMSIOS;Lo;0;L;;;;;N;;;;; +113D;HANGUL CHOSEONG CHITUEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; +113E;HANGUL CHOSEONG CEONGCHIEUMSIOS;Lo;0;L;;;;;N;;;;; +113F;HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS;Lo;0;L;;;;;N;;;;; +1140;HANGUL CHOSEONG PANSIOS;Lo;0;L;;;;;N;;;;; +1141;HANGUL CHOSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; +1142;HANGUL CHOSEONG IEUNG-TIKEUT;Lo;0;L;;;;;N;;;;; +1143;HANGUL CHOSEONG IEUNG-MIEUM;Lo;0;L;;;;;N;;;;; +1144;HANGUL CHOSEONG IEUNG-PIEUP;Lo;0;L;;;;;N;;;;; +1145;HANGUL CHOSEONG IEUNG-SIOS;Lo;0;L;;;;;N;;;;; +1146;HANGUL CHOSEONG IEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; +1147;HANGUL CHOSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; +1148;HANGUL CHOSEONG IEUNG-CIEUC;Lo;0;L;;;;;N;;;;; +1149;HANGUL CHOSEONG IEUNG-CHIEUCH;Lo;0;L;;;;;N;;;;; +114A;HANGUL CHOSEONG IEUNG-THIEUTH;Lo;0;L;;;;;N;;;;; +114B;HANGUL CHOSEONG IEUNG-PHIEUPH;Lo;0;L;;;;;N;;;;; +114C;HANGUL CHOSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; +114D;HANGUL CHOSEONG CIEUC-IEUNG;Lo;0;L;;;;;N;;;;; +114E;HANGUL CHOSEONG CHITUEUMCIEUC;Lo;0;L;;;;;N;;;;; +114F;HANGUL CHOSEONG CHITUEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; +1150;HANGUL CHOSEONG CEONGCHIEUMCIEUC;Lo;0;L;;;;;N;;;;; +1151;HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC;Lo;0;L;;;;;N;;;;; +1152;HANGUL CHOSEONG CHIEUCH-KHIEUKH;Lo;0;L;;;;;N;;;;; +1153;HANGUL CHOSEONG CHIEUCH-HIEUH;Lo;0;L;;;;;N;;;;; +1154;HANGUL CHOSEONG CHITUEUMCHIEUCH;Lo;0;L;;;;;N;;;;; +1155;HANGUL CHOSEONG CEONGCHIEUMCHIEUCH;Lo;0;L;;;;;N;;;;; +1156;HANGUL CHOSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; +1157;HANGUL CHOSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; +1158;HANGUL CHOSEONG SSANGHIEUH;Lo;0;L;;;;;N;;;;; +1159;HANGUL CHOSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; +115A;HANGUL CHOSEONG KIYEOK-TIKEUT;Lo;0;L;;;;;N;;;;; +115B;HANGUL CHOSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;; +115C;HANGUL CHOSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;; +115D;HANGUL CHOSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;; +115E;HANGUL CHOSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;; +115F;HANGUL CHOSEONG FILLER;Lo;0;L;;;;;N;;;;; +1160;HANGUL JUNGSEONG FILLER;Lo;0;L;;;;;N;;;;; +1161;HANGUL JUNGSEONG A;Lo;0;L;;;;;N;;;;; +1162;HANGUL JUNGSEONG AE;Lo;0;L;;;;;N;;;;; +1163;HANGUL JUNGSEONG YA;Lo;0;L;;;;;N;;;;; +1164;HANGUL JUNGSEONG YAE;Lo;0;L;;;;;N;;;;; +1165;HANGUL JUNGSEONG EO;Lo;0;L;;;;;N;;;;; +1166;HANGUL JUNGSEONG E;Lo;0;L;;;;;N;;;;; +1167;HANGUL JUNGSEONG YEO;Lo;0;L;;;;;N;;;;; +1168;HANGUL JUNGSEONG YE;Lo;0;L;;;;;N;;;;; +1169;HANGUL JUNGSEONG O;Lo;0;L;;;;;N;;;;; +116A;HANGUL JUNGSEONG WA;Lo;0;L;;;;;N;;;;; +116B;HANGUL JUNGSEONG WAE;Lo;0;L;;;;;N;;;;; +116C;HANGUL JUNGSEONG OE;Lo;0;L;;;;;N;;;;; +116D;HANGUL JUNGSEONG YO;Lo;0;L;;;;;N;;;;; +116E;HANGUL JUNGSEONG U;Lo;0;L;;;;;N;;;;; +116F;HANGUL JUNGSEONG WEO;Lo;0;L;;;;;N;;;;; +1170;HANGUL JUNGSEONG WE;Lo;0;L;;;;;N;;;;; +1171;HANGUL JUNGSEONG WI;Lo;0;L;;;;;N;;;;; +1172;HANGUL JUNGSEONG YU;Lo;0;L;;;;;N;;;;; +1173;HANGUL JUNGSEONG EU;Lo;0;L;;;;;N;;;;; +1174;HANGUL JUNGSEONG YI;Lo;0;L;;;;;N;;;;; +1175;HANGUL JUNGSEONG I;Lo;0;L;;;;;N;;;;; +1176;HANGUL JUNGSEONG A-O;Lo;0;L;;;;;N;;;;; +1177;HANGUL JUNGSEONG A-U;Lo;0;L;;;;;N;;;;; +1178;HANGUL JUNGSEONG YA-O;Lo;0;L;;;;;N;;;;; +1179;HANGUL JUNGSEONG YA-YO;Lo;0;L;;;;;N;;;;; +117A;HANGUL JUNGSEONG EO-O;Lo;0;L;;;;;N;;;;; +117B;HANGUL JUNGSEONG EO-U;Lo;0;L;;;;;N;;;;; +117C;HANGUL JUNGSEONG EO-EU;Lo;0;L;;;;;N;;;;; +117D;HANGUL JUNGSEONG YEO-O;Lo;0;L;;;;;N;;;;; +117E;HANGUL JUNGSEONG YEO-U;Lo;0;L;;;;;N;;;;; +117F;HANGUL JUNGSEONG O-EO;Lo;0;L;;;;;N;;;;; +1180;HANGUL JUNGSEONG O-E;Lo;0;L;;;;;N;;;;; +1181;HANGUL JUNGSEONG O-YE;Lo;0;L;;;;;N;;;;; +1182;HANGUL JUNGSEONG O-O;Lo;0;L;;;;;N;;;;; +1183;HANGUL JUNGSEONG O-U;Lo;0;L;;;;;N;;;;; +1184;HANGUL JUNGSEONG YO-YA;Lo;0;L;;;;;N;;;;; +1185;HANGUL JUNGSEONG YO-YAE;Lo;0;L;;;;;N;;;;; +1186;HANGUL JUNGSEONG YO-YEO;Lo;0;L;;;;;N;;;;; +1187;HANGUL JUNGSEONG YO-O;Lo;0;L;;;;;N;;;;; +1188;HANGUL JUNGSEONG YO-I;Lo;0;L;;;;;N;;;;; +1189;HANGUL JUNGSEONG U-A;Lo;0;L;;;;;N;;;;; +118A;HANGUL JUNGSEONG U-AE;Lo;0;L;;;;;N;;;;; +118B;HANGUL JUNGSEONG U-EO-EU;Lo;0;L;;;;;N;;;;; +118C;HANGUL JUNGSEONG U-YE;Lo;0;L;;;;;N;;;;; +118D;HANGUL JUNGSEONG U-U;Lo;0;L;;;;;N;;;;; +118E;HANGUL JUNGSEONG YU-A;Lo;0;L;;;;;N;;;;; +118F;HANGUL JUNGSEONG YU-EO;Lo;0;L;;;;;N;;;;; +1190;HANGUL JUNGSEONG YU-E;Lo;0;L;;;;;N;;;;; +1191;HANGUL JUNGSEONG YU-YEO;Lo;0;L;;;;;N;;;;; +1192;HANGUL JUNGSEONG YU-YE;Lo;0;L;;;;;N;;;;; +1193;HANGUL JUNGSEONG YU-U;Lo;0;L;;;;;N;;;;; +1194;HANGUL JUNGSEONG YU-I;Lo;0;L;;;;;N;;;;; +1195;HANGUL JUNGSEONG EU-U;Lo;0;L;;;;;N;;;;; +1196;HANGUL JUNGSEONG EU-EU;Lo;0;L;;;;;N;;;;; +1197;HANGUL JUNGSEONG YI-U;Lo;0;L;;;;;N;;;;; +1198;HANGUL JUNGSEONG I-A;Lo;0;L;;;;;N;;;;; +1199;HANGUL JUNGSEONG I-YA;Lo;0;L;;;;;N;;;;; +119A;HANGUL JUNGSEONG I-O;Lo;0;L;;;;;N;;;;; +119B;HANGUL JUNGSEONG I-U;Lo;0;L;;;;;N;;;;; +119C;HANGUL JUNGSEONG I-EU;Lo;0;L;;;;;N;;;;; +119D;HANGUL JUNGSEONG I-ARAEA;Lo;0;L;;;;;N;;;;; +119E;HANGUL JUNGSEONG ARAEA;Lo;0;L;;;;;N;;;;; +119F;HANGUL JUNGSEONG ARAEA-EO;Lo;0;L;;;;;N;;;;; +11A0;HANGUL JUNGSEONG ARAEA-U;Lo;0;L;;;;;N;;;;; +11A1;HANGUL JUNGSEONG ARAEA-I;Lo;0;L;;;;;N;;;;; +11A2;HANGUL JUNGSEONG SSANGARAEA;Lo;0;L;;;;;N;;;;; +11A3;HANGUL JUNGSEONG A-EU;Lo;0;L;;;;;N;;;;; +11A4;HANGUL JUNGSEONG YA-U;Lo;0;L;;;;;N;;;;; +11A5;HANGUL JUNGSEONG YEO-YA;Lo;0;L;;;;;N;;;;; +11A6;HANGUL JUNGSEONG O-YA;Lo;0;L;;;;;N;;;;; +11A7;HANGUL JUNGSEONG O-YAE;Lo;0;L;;;;;N;;;;; +11A8;HANGUL JONGSEONG KIYEOK;Lo;0;L;;;;;N;;;;; +11A9;HANGUL JONGSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +11AA;HANGUL JONGSEONG KIYEOK-SIOS;Lo;0;L;;;;;N;;;;; +11AB;HANGUL JONGSEONG NIEUN;Lo;0;L;;;;;N;;;;; +11AC;HANGUL JONGSEONG NIEUN-CIEUC;Lo;0;L;;;;;N;;;;; +11AD;HANGUL JONGSEONG NIEUN-HIEUH;Lo;0;L;;;;;N;;;;; +11AE;HANGUL JONGSEONG TIKEUT;Lo;0;L;;;;;N;;;;; +11AF;HANGUL JONGSEONG RIEUL;Lo;0;L;;;;;N;;;;; +11B0;HANGUL JONGSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;; +11B1;HANGUL JONGSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;; +11B2;HANGUL JONGSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;; +11B3;HANGUL JONGSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;; +11B4;HANGUL JONGSEONG RIEUL-THIEUTH;Lo;0;L;;;;;N;;;;; +11B5;HANGUL JONGSEONG RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;; +11B6;HANGUL JONGSEONG RIEUL-HIEUH;Lo;0;L;;;;;N;;;;; +11B7;HANGUL JONGSEONG MIEUM;Lo;0;L;;;;;N;;;;; +11B8;HANGUL JONGSEONG PIEUP;Lo;0;L;;;;;N;;;;; +11B9;HANGUL JONGSEONG PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +11BA;HANGUL JONGSEONG SIOS;Lo;0;L;;;;;N;;;;; +11BB;HANGUL JONGSEONG SSANGSIOS;Lo;0;L;;;;;N;;;;; +11BC;HANGUL JONGSEONG IEUNG;Lo;0;L;;;;;N;;;;; +11BD;HANGUL JONGSEONG CIEUC;Lo;0;L;;;;;N;;;;; +11BE;HANGUL JONGSEONG CHIEUCH;Lo;0;L;;;;;N;;;;; +11BF;HANGUL JONGSEONG KHIEUKH;Lo;0;L;;;;;N;;;;; +11C0;HANGUL JONGSEONG THIEUTH;Lo;0;L;;;;;N;;;;; +11C1;HANGUL JONGSEONG PHIEUPH;Lo;0;L;;;;;N;;;;; +11C2;HANGUL JONGSEONG HIEUH;Lo;0;L;;;;;N;;;;; +11C3;HANGUL JONGSEONG KIYEOK-RIEUL;Lo;0;L;;;;;N;;;;; +11C4;HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +11C5;HANGUL JONGSEONG NIEUN-KIYEOK;Lo;0;L;;;;;N;;;;; +11C6;HANGUL JONGSEONG NIEUN-TIKEUT;Lo;0;L;;;;;N;;;;; +11C7;HANGUL JONGSEONG NIEUN-SIOS;Lo;0;L;;;;;N;;;;; +11C8;HANGUL JONGSEONG NIEUN-PANSIOS;Lo;0;L;;;;;N;;;;; +11C9;HANGUL JONGSEONG NIEUN-THIEUTH;Lo;0;L;;;;;N;;;;; +11CA;HANGUL JONGSEONG TIKEUT-KIYEOK;Lo;0;L;;;;;N;;;;; +11CB;HANGUL JONGSEONG TIKEUT-RIEUL;Lo;0;L;;;;;N;;;;; +11CC;HANGUL JONGSEONG RIEUL-KIYEOK-SIOS;Lo;0;L;;;;;N;;;;; +11CD;HANGUL JONGSEONG RIEUL-NIEUN;Lo;0;L;;;;;N;;;;; +11CE;HANGUL JONGSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;; +11CF;HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH;Lo;0;L;;;;;N;;;;; +11D0;HANGUL JONGSEONG SSANGRIEUL;Lo;0;L;;;;;N;;;;; +11D1;HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; +11D2;HANGUL JONGSEONG RIEUL-MIEUM-SIOS;Lo;0;L;;;;;N;;;;; +11D3;HANGUL JONGSEONG RIEUL-PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +11D4;HANGUL JONGSEONG RIEUL-PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; +11D5;HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +11D6;HANGUL JONGSEONG RIEUL-SSANGSIOS;Lo;0;L;;;;;N;;;;; +11D7;HANGUL JONGSEONG RIEUL-PANSIOS;Lo;0;L;;;;;N;;;;; +11D8;HANGUL JONGSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; +11D9;HANGUL JONGSEONG RIEUL-YEORINHIEUH;Lo;0;L;;;;;N;;;;; +11DA;HANGUL JONGSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; +11DB;HANGUL JONGSEONG MIEUM-RIEUL;Lo;0;L;;;;;N;;;;; +11DC;HANGUL JONGSEONG MIEUM-PIEUP;Lo;0;L;;;;;N;;;;; +11DD;HANGUL JONGSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;; +11DE;HANGUL JONGSEONG MIEUM-SSANGSIOS;Lo;0;L;;;;;N;;;;; +11DF;HANGUL JONGSEONG MIEUM-PANSIOS;Lo;0;L;;;;;N;;;;; +11E0;HANGUL JONGSEONG MIEUM-CHIEUCH;Lo;0;L;;;;;N;;;;; +11E1;HANGUL JONGSEONG MIEUM-HIEUH;Lo;0;L;;;;;N;;;;; +11E2;HANGUL JONGSEONG KAPYEOUNMIEUM;Lo;0;L;;;;;N;;;;; +11E3;HANGUL JONGSEONG PIEUP-RIEUL;Lo;0;L;;;;;N;;;;; +11E4;HANGUL JONGSEONG PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; +11E5;HANGUL JONGSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; +11E6;HANGUL JONGSEONG KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +11E7;HANGUL JONGSEONG SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +11E8;HANGUL JONGSEONG SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +11E9;HANGUL JONGSEONG SIOS-RIEUL;Lo;0;L;;;;;N;;;;; +11EA;HANGUL JONGSEONG SIOS-PIEUP;Lo;0;L;;;;;N;;;;; +11EB;HANGUL JONGSEONG PANSIOS;Lo;0;L;;;;;N;;;;; +11EC;HANGUL JONGSEONG IEUNG-KIYEOK;Lo;0;L;;;;;N;;;;; +11ED;HANGUL JONGSEONG IEUNG-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +11EE;HANGUL JONGSEONG SSANGIEUNG;Lo;0;L;;;;;N;;;;; +11EF;HANGUL JONGSEONG IEUNG-KHIEUKH;Lo;0;L;;;;;N;;;;; +11F0;HANGUL JONGSEONG YESIEUNG;Lo;0;L;;;;;N;;;;; +11F1;HANGUL JONGSEONG YESIEUNG-SIOS;Lo;0;L;;;;;N;;;;; +11F2;HANGUL JONGSEONG YESIEUNG-PANSIOS;Lo;0;L;;;;;N;;;;; +11F3;HANGUL JONGSEONG PHIEUPH-PIEUP;Lo;0;L;;;;;N;;;;; +11F4;HANGUL JONGSEONG KAPYEOUNPHIEUPH;Lo;0;L;;;;;N;;;;; +11F5;HANGUL JONGSEONG HIEUH-NIEUN;Lo;0;L;;;;;N;;;;; +11F6;HANGUL JONGSEONG HIEUH-RIEUL;Lo;0;L;;;;;N;;;;; +11F7;HANGUL JONGSEONG HIEUH-MIEUM;Lo;0;L;;;;;N;;;;; +11F8;HANGUL JONGSEONG HIEUH-PIEUP;Lo;0;L;;;;;N;;;;; +11F9;HANGUL JONGSEONG YEORINHIEUH;Lo;0;L;;;;;N;;;;; +11FA;HANGUL JONGSEONG KIYEOK-NIEUN;Lo;0;L;;;;;N;;;;; +11FB;HANGUL JONGSEONG KIYEOK-PIEUP;Lo;0;L;;;;;N;;;;; +11FC;HANGUL JONGSEONG KIYEOK-CHIEUCH;Lo;0;L;;;;;N;;;;; +11FD;HANGUL JONGSEONG KIYEOK-KHIEUKH;Lo;0;L;;;;;N;;;;; +11FE;HANGUL JONGSEONG KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;; +11FF;HANGUL JONGSEONG SSANGNIEUN;Lo;0;L;;;;;N;;;;; +1200;ETHIOPIC SYLLABLE HA;Lo;0;L;;;;;N;;;;; +1201;ETHIOPIC SYLLABLE HU;Lo;0;L;;;;;N;;;;; +1202;ETHIOPIC SYLLABLE HI;Lo;0;L;;;;;N;;;;; +1203;ETHIOPIC SYLLABLE HAA;Lo;0;L;;;;;N;;;;; +1204;ETHIOPIC SYLLABLE HEE;Lo;0;L;;;;;N;;;;; +1205;ETHIOPIC SYLLABLE HE;Lo;0;L;;;;;N;;;;; +1206;ETHIOPIC SYLLABLE HO;Lo;0;L;;;;;N;;;;; +1207;ETHIOPIC SYLLABLE HOA;Lo;0;L;;;;;N;;;;; +1208;ETHIOPIC SYLLABLE LA;Lo;0;L;;;;;N;;;;; +1209;ETHIOPIC SYLLABLE LU;Lo;0;L;;;;;N;;;;; +120A;ETHIOPIC SYLLABLE LI;Lo;0;L;;;;;N;;;;; +120B;ETHIOPIC SYLLABLE LAA;Lo;0;L;;;;;N;;;;; +120C;ETHIOPIC SYLLABLE LEE;Lo;0;L;;;;;N;;;;; +120D;ETHIOPIC SYLLABLE LE;Lo;0;L;;;;;N;;;;; +120E;ETHIOPIC SYLLABLE LO;Lo;0;L;;;;;N;;;;; +120F;ETHIOPIC SYLLABLE LWA;Lo;0;L;;;;;N;;;;; +1210;ETHIOPIC SYLLABLE HHA;Lo;0;L;;;;;N;;;;; +1211;ETHIOPIC SYLLABLE HHU;Lo;0;L;;;;;N;;;;; +1212;ETHIOPIC SYLLABLE HHI;Lo;0;L;;;;;N;;;;; +1213;ETHIOPIC SYLLABLE HHAA;Lo;0;L;;;;;N;;;;; +1214;ETHIOPIC SYLLABLE HHEE;Lo;0;L;;;;;N;;;;; +1215;ETHIOPIC SYLLABLE HHE;Lo;0;L;;;;;N;;;;; +1216;ETHIOPIC SYLLABLE HHO;Lo;0;L;;;;;N;;;;; +1217;ETHIOPIC SYLLABLE HHWA;Lo;0;L;;;;;N;;;;; +1218;ETHIOPIC SYLLABLE MA;Lo;0;L;;;;;N;;;;; +1219;ETHIOPIC SYLLABLE MU;Lo;0;L;;;;;N;;;;; +121A;ETHIOPIC SYLLABLE MI;Lo;0;L;;;;;N;;;;; +121B;ETHIOPIC SYLLABLE MAA;Lo;0;L;;;;;N;;;;; +121C;ETHIOPIC SYLLABLE MEE;Lo;0;L;;;;;N;;;;; +121D;ETHIOPIC SYLLABLE ME;Lo;0;L;;;;;N;;;;; +121E;ETHIOPIC SYLLABLE MO;Lo;0;L;;;;;N;;;;; +121F;ETHIOPIC SYLLABLE MWA;Lo;0;L;;;;;N;;;;; +1220;ETHIOPIC SYLLABLE SZA;Lo;0;L;;;;;N;;;;; +1221;ETHIOPIC SYLLABLE SZU;Lo;0;L;;;;;N;;;;; +1222;ETHIOPIC SYLLABLE SZI;Lo;0;L;;;;;N;;;;; +1223;ETHIOPIC SYLLABLE SZAA;Lo;0;L;;;;;N;;;;; +1224;ETHIOPIC SYLLABLE SZEE;Lo;0;L;;;;;N;;;;; +1225;ETHIOPIC SYLLABLE SZE;Lo;0;L;;;;;N;;;;; +1226;ETHIOPIC SYLLABLE SZO;Lo;0;L;;;;;N;;;;; +1227;ETHIOPIC SYLLABLE SZWA;Lo;0;L;;;;;N;;;;; +1228;ETHIOPIC SYLLABLE RA;Lo;0;L;;;;;N;;;;; +1229;ETHIOPIC SYLLABLE RU;Lo;0;L;;;;;N;;;;; +122A;ETHIOPIC SYLLABLE RI;Lo;0;L;;;;;N;;;;; +122B;ETHIOPIC SYLLABLE RAA;Lo;0;L;;;;;N;;;;; +122C;ETHIOPIC SYLLABLE REE;Lo;0;L;;;;;N;;;;; +122D;ETHIOPIC SYLLABLE RE;Lo;0;L;;;;;N;;;;; +122E;ETHIOPIC SYLLABLE RO;Lo;0;L;;;;;N;;;;; +122F;ETHIOPIC SYLLABLE RWA;Lo;0;L;;;;;N;;;;; +1230;ETHIOPIC SYLLABLE SA;Lo;0;L;;;;;N;;;;; +1231;ETHIOPIC SYLLABLE SU;Lo;0;L;;;;;N;;;;; +1232;ETHIOPIC SYLLABLE SI;Lo;0;L;;;;;N;;;;; +1233;ETHIOPIC SYLLABLE SAA;Lo;0;L;;;;;N;;;;; +1234;ETHIOPIC SYLLABLE SEE;Lo;0;L;;;;;N;;;;; +1235;ETHIOPIC SYLLABLE SE;Lo;0;L;;;;;N;;;;; +1236;ETHIOPIC SYLLABLE SO;Lo;0;L;;;;;N;;;;; +1237;ETHIOPIC SYLLABLE SWA;Lo;0;L;;;;;N;;;;; +1238;ETHIOPIC SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +1239;ETHIOPIC SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +123A;ETHIOPIC SYLLABLE SHI;Lo;0;L;;;;;N;;;;; +123B;ETHIOPIC SYLLABLE SHAA;Lo;0;L;;;;;N;;;;; +123C;ETHIOPIC SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; +123D;ETHIOPIC SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +123E;ETHIOPIC SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +123F;ETHIOPIC SYLLABLE SHWA;Lo;0;L;;;;;N;;;;; +1240;ETHIOPIC SYLLABLE QA;Lo;0;L;;;;;N;;;;; +1241;ETHIOPIC SYLLABLE QU;Lo;0;L;;;;;N;;;;; +1242;ETHIOPIC SYLLABLE QI;Lo;0;L;;;;;N;;;;; +1243;ETHIOPIC SYLLABLE QAA;Lo;0;L;;;;;N;;;;; +1244;ETHIOPIC SYLLABLE QEE;Lo;0;L;;;;;N;;;;; +1245;ETHIOPIC SYLLABLE QE;Lo;0;L;;;;;N;;;;; +1246;ETHIOPIC SYLLABLE QO;Lo;0;L;;;;;N;;;;; +1247;ETHIOPIC SYLLABLE QOA;Lo;0;L;;;;;N;;;;; +1248;ETHIOPIC SYLLABLE QWA;Lo;0;L;;;;;N;;;;; +124A;ETHIOPIC SYLLABLE QWI;Lo;0;L;;;;;N;;;;; +124B;ETHIOPIC SYLLABLE QWAA;Lo;0;L;;;;;N;;;;; +124C;ETHIOPIC SYLLABLE QWEE;Lo;0;L;;;;;N;;;;; +124D;ETHIOPIC SYLLABLE QWE;Lo;0;L;;;;;N;;;;; +1250;ETHIOPIC SYLLABLE QHA;Lo;0;L;;;;;N;;;;; +1251;ETHIOPIC SYLLABLE QHU;Lo;0;L;;;;;N;;;;; +1252;ETHIOPIC SYLLABLE QHI;Lo;0;L;;;;;N;;;;; +1253;ETHIOPIC SYLLABLE QHAA;Lo;0;L;;;;;N;;;;; +1254;ETHIOPIC SYLLABLE QHEE;Lo;0;L;;;;;N;;;;; +1255;ETHIOPIC SYLLABLE QHE;Lo;0;L;;;;;N;;;;; +1256;ETHIOPIC SYLLABLE QHO;Lo;0;L;;;;;N;;;;; +1258;ETHIOPIC SYLLABLE QHWA;Lo;0;L;;;;;N;;;;; +125A;ETHIOPIC SYLLABLE QHWI;Lo;0;L;;;;;N;;;;; +125B;ETHIOPIC SYLLABLE QHWAA;Lo;0;L;;;;;N;;;;; +125C;ETHIOPIC SYLLABLE QHWEE;Lo;0;L;;;;;N;;;;; +125D;ETHIOPIC SYLLABLE QHWE;Lo;0;L;;;;;N;;;;; +1260;ETHIOPIC SYLLABLE BA;Lo;0;L;;;;;N;;;;; +1261;ETHIOPIC SYLLABLE BU;Lo;0;L;;;;;N;;;;; +1262;ETHIOPIC SYLLABLE BI;Lo;0;L;;;;;N;;;;; +1263;ETHIOPIC SYLLABLE BAA;Lo;0;L;;;;;N;;;;; +1264;ETHIOPIC SYLLABLE BEE;Lo;0;L;;;;;N;;;;; +1265;ETHIOPIC SYLLABLE BE;Lo;0;L;;;;;N;;;;; +1266;ETHIOPIC SYLLABLE BO;Lo;0;L;;;;;N;;;;; +1267;ETHIOPIC SYLLABLE BWA;Lo;0;L;;;;;N;;;;; +1268;ETHIOPIC SYLLABLE VA;Lo;0;L;;;;;N;;;;; +1269;ETHIOPIC SYLLABLE VU;Lo;0;L;;;;;N;;;;; +126A;ETHIOPIC SYLLABLE VI;Lo;0;L;;;;;N;;;;; +126B;ETHIOPIC SYLLABLE VAA;Lo;0;L;;;;;N;;;;; +126C;ETHIOPIC SYLLABLE VEE;Lo;0;L;;;;;N;;;;; +126D;ETHIOPIC SYLLABLE VE;Lo;0;L;;;;;N;;;;; +126E;ETHIOPIC SYLLABLE VO;Lo;0;L;;;;;N;;;;; +126F;ETHIOPIC SYLLABLE VWA;Lo;0;L;;;;;N;;;;; +1270;ETHIOPIC SYLLABLE TA;Lo;0;L;;;;;N;;;;; +1271;ETHIOPIC SYLLABLE TU;Lo;0;L;;;;;N;;;;; +1272;ETHIOPIC SYLLABLE TI;Lo;0;L;;;;;N;;;;; +1273;ETHIOPIC SYLLABLE TAA;Lo;0;L;;;;;N;;;;; +1274;ETHIOPIC SYLLABLE TEE;Lo;0;L;;;;;N;;;;; +1275;ETHIOPIC SYLLABLE TE;Lo;0;L;;;;;N;;;;; +1276;ETHIOPIC SYLLABLE TO;Lo;0;L;;;;;N;;;;; +1277;ETHIOPIC SYLLABLE TWA;Lo;0;L;;;;;N;;;;; +1278;ETHIOPIC SYLLABLE CA;Lo;0;L;;;;;N;;;;; +1279;ETHIOPIC SYLLABLE CU;Lo;0;L;;;;;N;;;;; +127A;ETHIOPIC SYLLABLE CI;Lo;0;L;;;;;N;;;;; +127B;ETHIOPIC SYLLABLE CAA;Lo;0;L;;;;;N;;;;; +127C;ETHIOPIC SYLLABLE CEE;Lo;0;L;;;;;N;;;;; +127D;ETHIOPIC SYLLABLE CE;Lo;0;L;;;;;N;;;;; +127E;ETHIOPIC SYLLABLE CO;Lo;0;L;;;;;N;;;;; +127F;ETHIOPIC SYLLABLE CWA;Lo;0;L;;;;;N;;;;; +1280;ETHIOPIC SYLLABLE XA;Lo;0;L;;;;;N;;;;; +1281;ETHIOPIC SYLLABLE XU;Lo;0;L;;;;;N;;;;; +1282;ETHIOPIC SYLLABLE XI;Lo;0;L;;;;;N;;;;; +1283;ETHIOPIC SYLLABLE XAA;Lo;0;L;;;;;N;;;;; +1284;ETHIOPIC SYLLABLE XEE;Lo;0;L;;;;;N;;;;; +1285;ETHIOPIC SYLLABLE XE;Lo;0;L;;;;;N;;;;; +1286;ETHIOPIC SYLLABLE XO;Lo;0;L;;;;;N;;;;; +1287;ETHIOPIC SYLLABLE XOA;Lo;0;L;;;;;N;;;;; +1288;ETHIOPIC SYLLABLE XWA;Lo;0;L;;;;;N;;;;; +128A;ETHIOPIC SYLLABLE XWI;Lo;0;L;;;;;N;;;;; +128B;ETHIOPIC SYLLABLE XWAA;Lo;0;L;;;;;N;;;;; +128C;ETHIOPIC SYLLABLE XWEE;Lo;0;L;;;;;N;;;;; +128D;ETHIOPIC SYLLABLE XWE;Lo;0;L;;;;;N;;;;; +1290;ETHIOPIC SYLLABLE NA;Lo;0;L;;;;;N;;;;; +1291;ETHIOPIC SYLLABLE NU;Lo;0;L;;;;;N;;;;; +1292;ETHIOPIC SYLLABLE NI;Lo;0;L;;;;;N;;;;; +1293;ETHIOPIC SYLLABLE NAA;Lo;0;L;;;;;N;;;;; +1294;ETHIOPIC SYLLABLE NEE;Lo;0;L;;;;;N;;;;; +1295;ETHIOPIC SYLLABLE NE;Lo;0;L;;;;;N;;;;; +1296;ETHIOPIC SYLLABLE NO;Lo;0;L;;;;;N;;;;; +1297;ETHIOPIC SYLLABLE NWA;Lo;0;L;;;;;N;;;;; +1298;ETHIOPIC SYLLABLE NYA;Lo;0;L;;;;;N;;;;; +1299;ETHIOPIC SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +129A;ETHIOPIC SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +129B;ETHIOPIC SYLLABLE NYAA;Lo;0;L;;;;;N;;;;; +129C;ETHIOPIC SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; +129D;ETHIOPIC SYLLABLE NYE;Lo;0;L;;;;;N;;;;; +129E;ETHIOPIC SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +129F;ETHIOPIC SYLLABLE NYWA;Lo;0;L;;;;;N;;;;; +12A0;ETHIOPIC SYLLABLE GLOTTAL A;Lo;0;L;;;;;N;;;;; +12A1;ETHIOPIC SYLLABLE GLOTTAL U;Lo;0;L;;;;;N;;;;; +12A2;ETHIOPIC SYLLABLE GLOTTAL I;Lo;0;L;;;;;N;;;;; +12A3;ETHIOPIC SYLLABLE GLOTTAL AA;Lo;0;L;;;;;N;;;;; +12A4;ETHIOPIC SYLLABLE GLOTTAL EE;Lo;0;L;;;;;N;;;;; +12A5;ETHIOPIC SYLLABLE GLOTTAL E;Lo;0;L;;;;;N;;;;; +12A6;ETHIOPIC SYLLABLE GLOTTAL O;Lo;0;L;;;;;N;;;;; +12A7;ETHIOPIC SYLLABLE GLOTTAL WA;Lo;0;L;;;;;N;;;;; +12A8;ETHIOPIC SYLLABLE KA;Lo;0;L;;;;;N;;;;; +12A9;ETHIOPIC SYLLABLE KU;Lo;0;L;;;;;N;;;;; +12AA;ETHIOPIC SYLLABLE KI;Lo;0;L;;;;;N;;;;; +12AB;ETHIOPIC SYLLABLE KAA;Lo;0;L;;;;;N;;;;; +12AC;ETHIOPIC SYLLABLE KEE;Lo;0;L;;;;;N;;;;; +12AD;ETHIOPIC SYLLABLE KE;Lo;0;L;;;;;N;;;;; +12AE;ETHIOPIC SYLLABLE KO;Lo;0;L;;;;;N;;;;; +12AF;ETHIOPIC SYLLABLE KOA;Lo;0;L;;;;;N;;;;; +12B0;ETHIOPIC SYLLABLE KWA;Lo;0;L;;;;;N;;;;; +12B2;ETHIOPIC SYLLABLE KWI;Lo;0;L;;;;;N;;;;; +12B3;ETHIOPIC SYLLABLE KWAA;Lo;0;L;;;;;N;;;;; +12B4;ETHIOPIC SYLLABLE KWEE;Lo;0;L;;;;;N;;;;; +12B5;ETHIOPIC SYLLABLE KWE;Lo;0;L;;;;;N;;;;; +12B8;ETHIOPIC SYLLABLE KXA;Lo;0;L;;;;;N;;;;; +12B9;ETHIOPIC SYLLABLE KXU;Lo;0;L;;;;;N;;;;; +12BA;ETHIOPIC SYLLABLE KXI;Lo;0;L;;;;;N;;;;; +12BB;ETHIOPIC SYLLABLE KXAA;Lo;0;L;;;;;N;;;;; +12BC;ETHIOPIC SYLLABLE KXEE;Lo;0;L;;;;;N;;;;; +12BD;ETHIOPIC SYLLABLE KXE;Lo;0;L;;;;;N;;;;; +12BE;ETHIOPIC SYLLABLE KXO;Lo;0;L;;;;;N;;;;; +12C0;ETHIOPIC SYLLABLE KXWA;Lo;0;L;;;;;N;;;;; +12C2;ETHIOPIC SYLLABLE KXWI;Lo;0;L;;;;;N;;;;; +12C3;ETHIOPIC SYLLABLE KXWAA;Lo;0;L;;;;;N;;;;; +12C4;ETHIOPIC SYLLABLE KXWEE;Lo;0;L;;;;;N;;;;; +12C5;ETHIOPIC SYLLABLE KXWE;Lo;0;L;;;;;N;;;;; +12C8;ETHIOPIC SYLLABLE WA;Lo;0;L;;;;;N;;;;; +12C9;ETHIOPIC SYLLABLE WU;Lo;0;L;;;;;N;;;;; +12CA;ETHIOPIC SYLLABLE WI;Lo;0;L;;;;;N;;;;; +12CB;ETHIOPIC SYLLABLE WAA;Lo;0;L;;;;;N;;;;; +12CC;ETHIOPIC SYLLABLE WEE;Lo;0;L;;;;;N;;;;; +12CD;ETHIOPIC SYLLABLE WE;Lo;0;L;;;;;N;;;;; +12CE;ETHIOPIC SYLLABLE WO;Lo;0;L;;;;;N;;;;; +12CF;ETHIOPIC SYLLABLE WOA;Lo;0;L;;;;;N;;;;; +12D0;ETHIOPIC SYLLABLE PHARYNGEAL A;Lo;0;L;;;;;N;;;;; +12D1;ETHIOPIC SYLLABLE PHARYNGEAL U;Lo;0;L;;;;;N;;;;; +12D2;ETHIOPIC SYLLABLE PHARYNGEAL I;Lo;0;L;;;;;N;;;;; +12D3;ETHIOPIC SYLLABLE PHARYNGEAL AA;Lo;0;L;;;;;N;;;;; +12D4;ETHIOPIC SYLLABLE PHARYNGEAL EE;Lo;0;L;;;;;N;;;;; +12D5;ETHIOPIC SYLLABLE PHARYNGEAL E;Lo;0;L;;;;;N;;;;; +12D6;ETHIOPIC SYLLABLE PHARYNGEAL O;Lo;0;L;;;;;N;;;;; +12D8;ETHIOPIC SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +12D9;ETHIOPIC SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +12DA;ETHIOPIC SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +12DB;ETHIOPIC SYLLABLE ZAA;Lo;0;L;;;;;N;;;;; +12DC;ETHIOPIC SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; +12DD;ETHIOPIC SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +12DE;ETHIOPIC SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +12DF;ETHIOPIC SYLLABLE ZWA;Lo;0;L;;;;;N;;;;; +12E0;ETHIOPIC SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +12E1;ETHIOPIC SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +12E2;ETHIOPIC SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; +12E3;ETHIOPIC SYLLABLE ZHAA;Lo;0;L;;;;;N;;;;; +12E4;ETHIOPIC SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; +12E5;ETHIOPIC SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +12E6;ETHIOPIC SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +12E7;ETHIOPIC SYLLABLE ZHWA;Lo;0;L;;;;;N;;;;; +12E8;ETHIOPIC SYLLABLE YA;Lo;0;L;;;;;N;;;;; +12E9;ETHIOPIC SYLLABLE YU;Lo;0;L;;;;;N;;;;; +12EA;ETHIOPIC SYLLABLE YI;Lo;0;L;;;;;N;;;;; +12EB;ETHIOPIC SYLLABLE YAA;Lo;0;L;;;;;N;;;;; +12EC;ETHIOPIC SYLLABLE YEE;Lo;0;L;;;;;N;;;;; +12ED;ETHIOPIC SYLLABLE YE;Lo;0;L;;;;;N;;;;; +12EE;ETHIOPIC SYLLABLE YO;Lo;0;L;;;;;N;;;;; +12EF;ETHIOPIC SYLLABLE YOA;Lo;0;L;;;;;N;;;;; +12F0;ETHIOPIC SYLLABLE DA;Lo;0;L;;;;;N;;;;; +12F1;ETHIOPIC SYLLABLE DU;Lo;0;L;;;;;N;;;;; +12F2;ETHIOPIC SYLLABLE DI;Lo;0;L;;;;;N;;;;; +12F3;ETHIOPIC SYLLABLE DAA;Lo;0;L;;;;;N;;;;; +12F4;ETHIOPIC SYLLABLE DEE;Lo;0;L;;;;;N;;;;; +12F5;ETHIOPIC SYLLABLE DE;Lo;0;L;;;;;N;;;;; +12F6;ETHIOPIC SYLLABLE DO;Lo;0;L;;;;;N;;;;; +12F7;ETHIOPIC SYLLABLE DWA;Lo;0;L;;;;;N;;;;; +12F8;ETHIOPIC SYLLABLE DDA;Lo;0;L;;;;;N;;;;; +12F9;ETHIOPIC SYLLABLE DDU;Lo;0;L;;;;;N;;;;; +12FA;ETHIOPIC SYLLABLE DDI;Lo;0;L;;;;;N;;;;; +12FB;ETHIOPIC SYLLABLE DDAA;Lo;0;L;;;;;N;;;;; +12FC;ETHIOPIC SYLLABLE DDEE;Lo;0;L;;;;;N;;;;; +12FD;ETHIOPIC SYLLABLE DDE;Lo;0;L;;;;;N;;;;; +12FE;ETHIOPIC SYLLABLE DDO;Lo;0;L;;;;;N;;;;; +12FF;ETHIOPIC SYLLABLE DDWA;Lo;0;L;;;;;N;;;;; +1300;ETHIOPIC SYLLABLE JA;Lo;0;L;;;;;N;;;;; +1301;ETHIOPIC SYLLABLE JU;Lo;0;L;;;;;N;;;;; +1302;ETHIOPIC SYLLABLE JI;Lo;0;L;;;;;N;;;;; +1303;ETHIOPIC SYLLABLE JAA;Lo;0;L;;;;;N;;;;; +1304;ETHIOPIC SYLLABLE JEE;Lo;0;L;;;;;N;;;;; +1305;ETHIOPIC SYLLABLE JE;Lo;0;L;;;;;N;;;;; +1306;ETHIOPIC SYLLABLE JO;Lo;0;L;;;;;N;;;;; +1307;ETHIOPIC SYLLABLE JWA;Lo;0;L;;;;;N;;;;; +1308;ETHIOPIC SYLLABLE GA;Lo;0;L;;;;;N;;;;; +1309;ETHIOPIC SYLLABLE GU;Lo;0;L;;;;;N;;;;; +130A;ETHIOPIC SYLLABLE GI;Lo;0;L;;;;;N;;;;; +130B;ETHIOPIC SYLLABLE GAA;Lo;0;L;;;;;N;;;;; +130C;ETHIOPIC SYLLABLE GEE;Lo;0;L;;;;;N;;;;; +130D;ETHIOPIC SYLLABLE GE;Lo;0;L;;;;;N;;;;; +130E;ETHIOPIC SYLLABLE GO;Lo;0;L;;;;;N;;;;; +130F;ETHIOPIC SYLLABLE GOA;Lo;0;L;;;;;N;;;;; +1310;ETHIOPIC SYLLABLE GWA;Lo;0;L;;;;;N;;;;; +1312;ETHIOPIC SYLLABLE GWI;Lo;0;L;;;;;N;;;;; +1313;ETHIOPIC SYLLABLE GWAA;Lo;0;L;;;;;N;;;;; +1314;ETHIOPIC SYLLABLE GWEE;Lo;0;L;;;;;N;;;;; +1315;ETHIOPIC SYLLABLE GWE;Lo;0;L;;;;;N;;;;; +1318;ETHIOPIC SYLLABLE GGA;Lo;0;L;;;;;N;;;;; +1319;ETHIOPIC SYLLABLE GGU;Lo;0;L;;;;;N;;;;; +131A;ETHIOPIC SYLLABLE GGI;Lo;0;L;;;;;N;;;;; +131B;ETHIOPIC SYLLABLE GGAA;Lo;0;L;;;;;N;;;;; +131C;ETHIOPIC SYLLABLE GGEE;Lo;0;L;;;;;N;;;;; +131D;ETHIOPIC SYLLABLE GGE;Lo;0;L;;;;;N;;;;; +131E;ETHIOPIC SYLLABLE GGO;Lo;0;L;;;;;N;;;;; +131F;ETHIOPIC SYLLABLE GGWAA;Lo;0;L;;;;;N;;;;; +1320;ETHIOPIC SYLLABLE THA;Lo;0;L;;;;;N;;;;; +1321;ETHIOPIC SYLLABLE THU;Lo;0;L;;;;;N;;;;; +1322;ETHIOPIC SYLLABLE THI;Lo;0;L;;;;;N;;;;; +1323;ETHIOPIC SYLLABLE THAA;Lo;0;L;;;;;N;;;;; +1324;ETHIOPIC SYLLABLE THEE;Lo;0;L;;;;;N;;;;; +1325;ETHIOPIC SYLLABLE THE;Lo;0;L;;;;;N;;;;; +1326;ETHIOPIC SYLLABLE THO;Lo;0;L;;;;;N;;;;; +1327;ETHIOPIC SYLLABLE THWA;Lo;0;L;;;;;N;;;;; +1328;ETHIOPIC SYLLABLE CHA;Lo;0;L;;;;;N;;;;; +1329;ETHIOPIC SYLLABLE CHU;Lo;0;L;;;;;N;;;;; +132A;ETHIOPIC SYLLABLE CHI;Lo;0;L;;;;;N;;;;; +132B;ETHIOPIC SYLLABLE CHAA;Lo;0;L;;;;;N;;;;; +132C;ETHIOPIC SYLLABLE CHEE;Lo;0;L;;;;;N;;;;; +132D;ETHIOPIC SYLLABLE CHE;Lo;0;L;;;;;N;;;;; +132E;ETHIOPIC SYLLABLE CHO;Lo;0;L;;;;;N;;;;; +132F;ETHIOPIC SYLLABLE CHWA;Lo;0;L;;;;;N;;;;; +1330;ETHIOPIC SYLLABLE PHA;Lo;0;L;;;;;N;;;;; +1331;ETHIOPIC SYLLABLE PHU;Lo;0;L;;;;;N;;;;; +1332;ETHIOPIC SYLLABLE PHI;Lo;0;L;;;;;N;;;;; +1333;ETHIOPIC SYLLABLE PHAA;Lo;0;L;;;;;N;;;;; +1334;ETHIOPIC SYLLABLE PHEE;Lo;0;L;;;;;N;;;;; +1335;ETHIOPIC SYLLABLE PHE;Lo;0;L;;;;;N;;;;; +1336;ETHIOPIC SYLLABLE PHO;Lo;0;L;;;;;N;;;;; +1337;ETHIOPIC SYLLABLE PHWA;Lo;0;L;;;;;N;;;;; +1338;ETHIOPIC SYLLABLE TSA;Lo;0;L;;;;;N;;;;; +1339;ETHIOPIC SYLLABLE TSU;Lo;0;L;;;;;N;;;;; +133A;ETHIOPIC SYLLABLE TSI;Lo;0;L;;;;;N;;;;; +133B;ETHIOPIC SYLLABLE TSAA;Lo;0;L;;;;;N;;;;; +133C;ETHIOPIC SYLLABLE TSEE;Lo;0;L;;;;;N;;;;; +133D;ETHIOPIC SYLLABLE TSE;Lo;0;L;;;;;N;;;;; +133E;ETHIOPIC SYLLABLE TSO;Lo;0;L;;;;;N;;;;; +133F;ETHIOPIC SYLLABLE TSWA;Lo;0;L;;;;;N;;;;; +1340;ETHIOPIC SYLLABLE TZA;Lo;0;L;;;;;N;;;;; +1341;ETHIOPIC SYLLABLE TZU;Lo;0;L;;;;;N;;;;; +1342;ETHIOPIC SYLLABLE TZI;Lo;0;L;;;;;N;;;;; +1343;ETHIOPIC SYLLABLE TZAA;Lo;0;L;;;;;N;;;;; +1344;ETHIOPIC SYLLABLE TZEE;Lo;0;L;;;;;N;;;;; +1345;ETHIOPIC SYLLABLE TZE;Lo;0;L;;;;;N;;;;; +1346;ETHIOPIC SYLLABLE TZO;Lo;0;L;;;;;N;;;;; +1347;ETHIOPIC SYLLABLE TZOA;Lo;0;L;;;;;N;;;;; +1348;ETHIOPIC SYLLABLE FA;Lo;0;L;;;;;N;;;;; +1349;ETHIOPIC SYLLABLE FU;Lo;0;L;;;;;N;;;;; +134A;ETHIOPIC SYLLABLE FI;Lo;0;L;;;;;N;;;;; +134B;ETHIOPIC SYLLABLE FAA;Lo;0;L;;;;;N;;;;; +134C;ETHIOPIC SYLLABLE FEE;Lo;0;L;;;;;N;;;;; +134D;ETHIOPIC SYLLABLE FE;Lo;0;L;;;;;N;;;;; +134E;ETHIOPIC SYLLABLE FO;Lo;0;L;;;;;N;;;;; +134F;ETHIOPIC SYLLABLE FWA;Lo;0;L;;;;;N;;;;; +1350;ETHIOPIC SYLLABLE PA;Lo;0;L;;;;;N;;;;; +1351;ETHIOPIC SYLLABLE PU;Lo;0;L;;;;;N;;;;; +1352;ETHIOPIC SYLLABLE PI;Lo;0;L;;;;;N;;;;; +1353;ETHIOPIC SYLLABLE PAA;Lo;0;L;;;;;N;;;;; +1354;ETHIOPIC SYLLABLE PEE;Lo;0;L;;;;;N;;;;; +1355;ETHIOPIC SYLLABLE PE;Lo;0;L;;;;;N;;;;; +1356;ETHIOPIC SYLLABLE PO;Lo;0;L;;;;;N;;;;; +1357;ETHIOPIC SYLLABLE PWA;Lo;0;L;;;;;N;;;;; +1358;ETHIOPIC SYLLABLE RYA;Lo;0;L;;;;;N;;;;; +1359;ETHIOPIC SYLLABLE MYA;Lo;0;L;;;;;N;;;;; +135A;ETHIOPIC SYLLABLE FYA;Lo;0;L;;;;;N;;;;; +135D;ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;; +135E;ETHIOPIC COMBINING VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;; +135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;; +1360;ETHIOPIC SECTION MARK;Po;0;L;;;;;N;;;;; +1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;; +1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;; +1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;; +1364;ETHIOPIC SEMICOLON;Po;0;L;;;;;N;;;;; +1365;ETHIOPIC COLON;Po;0;L;;;;;N;;;;; +1366;ETHIOPIC PREFACE COLON;Po;0;L;;;;;N;;;;; +1367;ETHIOPIC QUESTION MARK;Po;0;L;;;;;N;;;;; +1368;ETHIOPIC PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;; +1369;ETHIOPIC DIGIT ONE;No;0;L;;;1;1;N;;;;; +136A;ETHIOPIC DIGIT TWO;No;0;L;;;2;2;N;;;;; +136B;ETHIOPIC DIGIT THREE;No;0;L;;;3;3;N;;;;; +136C;ETHIOPIC DIGIT FOUR;No;0;L;;;4;4;N;;;;; +136D;ETHIOPIC DIGIT FIVE;No;0;L;;;5;5;N;;;;; +136E;ETHIOPIC DIGIT SIX;No;0;L;;;6;6;N;;;;; +136F;ETHIOPIC DIGIT SEVEN;No;0;L;;;7;7;N;;;;; +1370;ETHIOPIC DIGIT EIGHT;No;0;L;;;8;8;N;;;;; +1371;ETHIOPIC DIGIT NINE;No;0;L;;;9;9;N;;;;; +1372;ETHIOPIC NUMBER TEN;No;0;L;;;;10;N;;;;; +1373;ETHIOPIC NUMBER TWENTY;No;0;L;;;;20;N;;;;; +1374;ETHIOPIC NUMBER THIRTY;No;0;L;;;;30;N;;;;; +1375;ETHIOPIC NUMBER FORTY;No;0;L;;;;40;N;;;;; +1376;ETHIOPIC NUMBER FIFTY;No;0;L;;;;50;N;;;;; +1377;ETHIOPIC NUMBER SIXTY;No;0;L;;;;60;N;;;;; +1378;ETHIOPIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +1379;ETHIOPIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +137A;ETHIOPIC NUMBER NINETY;No;0;L;;;;90;N;;;;; +137B;ETHIOPIC NUMBER HUNDRED;No;0;L;;;;100;N;;;;; +137C;ETHIOPIC NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; +1380;ETHIOPIC SYLLABLE SEBATBEIT MWA;Lo;0;L;;;;;N;;;;; +1381;ETHIOPIC SYLLABLE MWI;Lo;0;L;;;;;N;;;;; +1382;ETHIOPIC SYLLABLE MWEE;Lo;0;L;;;;;N;;;;; +1383;ETHIOPIC SYLLABLE MWE;Lo;0;L;;;;;N;;;;; +1384;ETHIOPIC SYLLABLE SEBATBEIT BWA;Lo;0;L;;;;;N;;;;; +1385;ETHIOPIC SYLLABLE BWI;Lo;0;L;;;;;N;;;;; +1386;ETHIOPIC SYLLABLE BWEE;Lo;0;L;;;;;N;;;;; +1387;ETHIOPIC SYLLABLE BWE;Lo;0;L;;;;;N;;;;; +1388;ETHIOPIC SYLLABLE SEBATBEIT FWA;Lo;0;L;;;;;N;;;;; +1389;ETHIOPIC SYLLABLE FWI;Lo;0;L;;;;;N;;;;; +138A;ETHIOPIC SYLLABLE FWEE;Lo;0;L;;;;;N;;;;; +138B;ETHIOPIC SYLLABLE FWE;Lo;0;L;;;;;N;;;;; +138C;ETHIOPIC SYLLABLE SEBATBEIT PWA;Lo;0;L;;;;;N;;;;; +138D;ETHIOPIC SYLLABLE PWI;Lo;0;L;;;;;N;;;;; +138E;ETHIOPIC SYLLABLE PWEE;Lo;0;L;;;;;N;;;;; +138F;ETHIOPIC SYLLABLE PWE;Lo;0;L;;;;;N;;;;; +1390;ETHIOPIC TONAL MARK YIZET;So;0;ON;;;;;N;;;;; +1391;ETHIOPIC TONAL MARK DERET;So;0;ON;;;;;N;;;;; +1392;ETHIOPIC TONAL MARK RIKRIK;So;0;ON;;;;;N;;;;; +1393;ETHIOPIC TONAL MARK SHORT RIKRIK;So;0;ON;;;;;N;;;;; +1394;ETHIOPIC TONAL MARK DIFAT;So;0;ON;;;;;N;;;;; +1395;ETHIOPIC TONAL MARK KENAT;So;0;ON;;;;;N;;;;; +1396;ETHIOPIC TONAL MARK CHIRET;So;0;ON;;;;;N;;;;; +1397;ETHIOPIC TONAL MARK HIDET;So;0;ON;;;;;N;;;;; +1398;ETHIOPIC TONAL MARK DERET-HIDET;So;0;ON;;;;;N;;;;; +1399;ETHIOPIC TONAL MARK KURT;So;0;ON;;;;;N;;;;; +13A0;CHEROKEE LETTER A;Lu;0;L;;;;;N;;;;AB70; +13A1;CHEROKEE LETTER E;Lu;0;L;;;;;N;;;;AB71; +13A2;CHEROKEE LETTER I;Lu;0;L;;;;;N;;;;AB72; +13A3;CHEROKEE LETTER O;Lu;0;L;;;;;N;;;;AB73; +13A4;CHEROKEE LETTER U;Lu;0;L;;;;;N;;;;AB74; +13A5;CHEROKEE LETTER V;Lu;0;L;;;;;N;;;;AB75; +13A6;CHEROKEE LETTER GA;Lu;0;L;;;;;N;;;;AB76; +13A7;CHEROKEE LETTER KA;Lu;0;L;;;;;N;;;;AB77; +13A8;CHEROKEE LETTER GE;Lu;0;L;;;;;N;;;;AB78; +13A9;CHEROKEE LETTER GI;Lu;0;L;;;;;N;;;;AB79; +13AA;CHEROKEE LETTER GO;Lu;0;L;;;;;N;;;;AB7A; +13AB;CHEROKEE LETTER GU;Lu;0;L;;;;;N;;;;AB7B; +13AC;CHEROKEE LETTER GV;Lu;0;L;;;;;N;;;;AB7C; +13AD;CHEROKEE LETTER HA;Lu;0;L;;;;;N;;;;AB7D; +13AE;CHEROKEE LETTER HE;Lu;0;L;;;;;N;;;;AB7E; +13AF;CHEROKEE LETTER HI;Lu;0;L;;;;;N;;;;AB7F; +13B0;CHEROKEE LETTER HO;Lu;0;L;;;;;N;;;;AB80; +13B1;CHEROKEE LETTER HU;Lu;0;L;;;;;N;;;;AB81; +13B2;CHEROKEE LETTER HV;Lu;0;L;;;;;N;;;;AB82; +13B3;CHEROKEE LETTER LA;Lu;0;L;;;;;N;;;;AB83; +13B4;CHEROKEE LETTER LE;Lu;0;L;;;;;N;;;;AB84; +13B5;CHEROKEE LETTER LI;Lu;0;L;;;;;N;;;;AB85; +13B6;CHEROKEE LETTER LO;Lu;0;L;;;;;N;;;;AB86; +13B7;CHEROKEE LETTER LU;Lu;0;L;;;;;N;;;;AB87; +13B8;CHEROKEE LETTER LV;Lu;0;L;;;;;N;;;;AB88; +13B9;CHEROKEE LETTER MA;Lu;0;L;;;;;N;;;;AB89; +13BA;CHEROKEE LETTER ME;Lu;0;L;;;;;N;;;;AB8A; +13BB;CHEROKEE LETTER MI;Lu;0;L;;;;;N;;;;AB8B; +13BC;CHEROKEE LETTER MO;Lu;0;L;;;;;N;;;;AB8C; +13BD;CHEROKEE LETTER MU;Lu;0;L;;;;;N;;;;AB8D; +13BE;CHEROKEE LETTER NA;Lu;0;L;;;;;N;;;;AB8E; +13BF;CHEROKEE LETTER HNA;Lu;0;L;;;;;N;;;;AB8F; +13C0;CHEROKEE LETTER NAH;Lu;0;L;;;;;N;;;;AB90; +13C1;CHEROKEE LETTER NE;Lu;0;L;;;;;N;;;;AB91; +13C2;CHEROKEE LETTER NI;Lu;0;L;;;;;N;;;;AB92; +13C3;CHEROKEE LETTER NO;Lu;0;L;;;;;N;;;;AB93; +13C4;CHEROKEE LETTER NU;Lu;0;L;;;;;N;;;;AB94; +13C5;CHEROKEE LETTER NV;Lu;0;L;;;;;N;;;;AB95; +13C6;CHEROKEE LETTER QUA;Lu;0;L;;;;;N;;;;AB96; +13C7;CHEROKEE LETTER QUE;Lu;0;L;;;;;N;;;;AB97; +13C8;CHEROKEE LETTER QUI;Lu;0;L;;;;;N;;;;AB98; +13C9;CHEROKEE LETTER QUO;Lu;0;L;;;;;N;;;;AB99; +13CA;CHEROKEE LETTER QUU;Lu;0;L;;;;;N;;;;AB9A; +13CB;CHEROKEE LETTER QUV;Lu;0;L;;;;;N;;;;AB9B; +13CC;CHEROKEE LETTER SA;Lu;0;L;;;;;N;;;;AB9C; +13CD;CHEROKEE LETTER S;Lu;0;L;;;;;N;;;;AB9D; +13CE;CHEROKEE LETTER SE;Lu;0;L;;;;;N;;;;AB9E; +13CF;CHEROKEE LETTER SI;Lu;0;L;;;;;N;;;;AB9F; +13D0;CHEROKEE LETTER SO;Lu;0;L;;;;;N;;;;ABA0; +13D1;CHEROKEE LETTER SU;Lu;0;L;;;;;N;;;;ABA1; +13D2;CHEROKEE LETTER SV;Lu;0;L;;;;;N;;;;ABA2; +13D3;CHEROKEE LETTER DA;Lu;0;L;;;;;N;;;;ABA3; +13D4;CHEROKEE LETTER TA;Lu;0;L;;;;;N;;;;ABA4; +13D5;CHEROKEE LETTER DE;Lu;0;L;;;;;N;;;;ABA5; +13D6;CHEROKEE LETTER TE;Lu;0;L;;;;;N;;;;ABA6; +13D7;CHEROKEE LETTER DI;Lu;0;L;;;;;N;;;;ABA7; +13D8;CHEROKEE LETTER TI;Lu;0;L;;;;;N;;;;ABA8; +13D9;CHEROKEE LETTER DO;Lu;0;L;;;;;N;;;;ABA9; +13DA;CHEROKEE LETTER DU;Lu;0;L;;;;;N;;;;ABAA; +13DB;CHEROKEE LETTER DV;Lu;0;L;;;;;N;;;;ABAB; +13DC;CHEROKEE LETTER DLA;Lu;0;L;;;;;N;;;;ABAC; +13DD;CHEROKEE LETTER TLA;Lu;0;L;;;;;N;;;;ABAD; +13DE;CHEROKEE LETTER TLE;Lu;0;L;;;;;N;;;;ABAE; +13DF;CHEROKEE LETTER TLI;Lu;0;L;;;;;N;;;;ABAF; +13E0;CHEROKEE LETTER TLO;Lu;0;L;;;;;N;;;;ABB0; +13E1;CHEROKEE LETTER TLU;Lu;0;L;;;;;N;;;;ABB1; +13E2;CHEROKEE LETTER TLV;Lu;0;L;;;;;N;;;;ABB2; +13E3;CHEROKEE LETTER TSA;Lu;0;L;;;;;N;;;;ABB3; +13E4;CHEROKEE LETTER TSE;Lu;0;L;;;;;N;;;;ABB4; +13E5;CHEROKEE LETTER TSI;Lu;0;L;;;;;N;;;;ABB5; +13E6;CHEROKEE LETTER TSO;Lu;0;L;;;;;N;;;;ABB6; +13E7;CHEROKEE LETTER TSU;Lu;0;L;;;;;N;;;;ABB7; +13E8;CHEROKEE LETTER TSV;Lu;0;L;;;;;N;;;;ABB8; +13E9;CHEROKEE LETTER WA;Lu;0;L;;;;;N;;;;ABB9; +13EA;CHEROKEE LETTER WE;Lu;0;L;;;;;N;;;;ABBA; +13EB;CHEROKEE LETTER WI;Lu;0;L;;;;;N;;;;ABBB; +13EC;CHEROKEE LETTER WO;Lu;0;L;;;;;N;;;;ABBC; +13ED;CHEROKEE LETTER WU;Lu;0;L;;;;;N;;;;ABBD; +13EE;CHEROKEE LETTER WV;Lu;0;L;;;;;N;;;;ABBE; +13EF;CHEROKEE LETTER YA;Lu;0;L;;;;;N;;;;ABBF; +13F0;CHEROKEE LETTER YE;Lu;0;L;;;;;N;;;;13F8; +13F1;CHEROKEE LETTER YI;Lu;0;L;;;;;N;;;;13F9; +13F2;CHEROKEE LETTER YO;Lu;0;L;;;;;N;;;;13FA; +13F3;CHEROKEE LETTER YU;Lu;0;L;;;;;N;;;;13FB; +13F4;CHEROKEE LETTER YV;Lu;0;L;;;;;N;;;;13FC; +13F5;CHEROKEE LETTER MV;Lu;0;L;;;;;N;;;;13FD; +13F8;CHEROKEE SMALL LETTER YE;Ll;0;L;;;;;N;;;13F0;;13F0 +13F9;CHEROKEE SMALL LETTER YI;Ll;0;L;;;;;N;;;13F1;;13F1 +13FA;CHEROKEE SMALL LETTER YO;Ll;0;L;;;;;N;;;13F2;;13F2 +13FB;CHEROKEE SMALL LETTER YU;Ll;0;L;;;;;N;;;13F3;;13F3 +13FC;CHEROKEE SMALL LETTER YV;Ll;0;L;;;;;N;;;13F4;;13F4 +13FD;CHEROKEE SMALL LETTER MV;Ll;0;L;;;;;N;;;13F5;;13F5 +1400;CANADIAN SYLLABICS HYPHEN;Pd;0;ON;;;;;N;;;;; +1401;CANADIAN SYLLABICS E;Lo;0;L;;;;;N;;;;; +1402;CANADIAN SYLLABICS AAI;Lo;0;L;;;;;N;;;;; +1403;CANADIAN SYLLABICS I;Lo;0;L;;;;;N;;;;; +1404;CANADIAN SYLLABICS II;Lo;0;L;;;;;N;;;;; +1405;CANADIAN SYLLABICS O;Lo;0;L;;;;;N;;;;; +1406;CANADIAN SYLLABICS OO;Lo;0;L;;;;;N;;;;; +1407;CANADIAN SYLLABICS Y-CREE OO;Lo;0;L;;;;;N;;;;; +1408;CANADIAN SYLLABICS CARRIER EE;Lo;0;L;;;;;N;;;;; +1409;CANADIAN SYLLABICS CARRIER I;Lo;0;L;;;;;N;;;;; +140A;CANADIAN SYLLABICS A;Lo;0;L;;;;;N;;;;; +140B;CANADIAN SYLLABICS AA;Lo;0;L;;;;;N;;;;; +140C;CANADIAN SYLLABICS WE;Lo;0;L;;;;;N;;;;; +140D;CANADIAN SYLLABICS WEST-CREE WE;Lo;0;L;;;;;N;;;;; +140E;CANADIAN SYLLABICS WI;Lo;0;L;;;;;N;;;;; +140F;CANADIAN SYLLABICS WEST-CREE WI;Lo;0;L;;;;;N;;;;; +1410;CANADIAN SYLLABICS WII;Lo;0;L;;;;;N;;;;; +1411;CANADIAN SYLLABICS WEST-CREE WII;Lo;0;L;;;;;N;;;;; +1412;CANADIAN SYLLABICS WO;Lo;0;L;;;;;N;;;;; +1413;CANADIAN SYLLABICS WEST-CREE WO;Lo;0;L;;;;;N;;;;; +1414;CANADIAN SYLLABICS WOO;Lo;0;L;;;;;N;;;;; +1415;CANADIAN SYLLABICS WEST-CREE WOO;Lo;0;L;;;;;N;;;;; +1416;CANADIAN SYLLABICS NASKAPI WOO;Lo;0;L;;;;;N;;;;; +1417;CANADIAN SYLLABICS WA;Lo;0;L;;;;;N;;;;; +1418;CANADIAN SYLLABICS WEST-CREE WA;Lo;0;L;;;;;N;;;;; +1419;CANADIAN SYLLABICS WAA;Lo;0;L;;;;;N;;;;; +141A;CANADIAN SYLLABICS WEST-CREE WAA;Lo;0;L;;;;;N;;;;; +141B;CANADIAN SYLLABICS NASKAPI WAA;Lo;0;L;;;;;N;;;;; +141C;CANADIAN SYLLABICS AI;Lo;0;L;;;;;N;;;;; +141D;CANADIAN SYLLABICS Y-CREE W;Lo;0;L;;;;;N;;;;; +141E;CANADIAN SYLLABICS GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +141F;CANADIAN SYLLABICS FINAL ACUTE;Lo;0;L;;;;;N;;;;; +1420;CANADIAN SYLLABICS FINAL GRAVE;Lo;0;L;;;;;N;;;;; +1421;CANADIAN SYLLABICS FINAL BOTTOM HALF RING;Lo;0;L;;;;;N;;;;; +1422;CANADIAN SYLLABICS FINAL TOP HALF RING;Lo;0;L;;;;;N;;;;; +1423;CANADIAN SYLLABICS FINAL RIGHT HALF RING;Lo;0;L;;;;;N;;;;; +1424;CANADIAN SYLLABICS FINAL RING;Lo;0;L;;;;;N;;;;; +1425;CANADIAN SYLLABICS FINAL DOUBLE ACUTE;Lo;0;L;;;;;N;;;;; +1426;CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES;Lo;0;L;;;;;N;;;;; +1427;CANADIAN SYLLABICS FINAL MIDDLE DOT;Lo;0;L;;;;;N;;;;; +1428;CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE;Lo;0;L;;;;;N;;;;; +1429;CANADIAN SYLLABICS FINAL PLUS;Lo;0;L;;;;;N;;;;; +142A;CANADIAN SYLLABICS FINAL DOWN TACK;Lo;0;L;;;;;N;;;;; +142B;CANADIAN SYLLABICS EN;Lo;0;L;;;;;N;;;;; +142C;CANADIAN SYLLABICS IN;Lo;0;L;;;;;N;;;;; +142D;CANADIAN SYLLABICS ON;Lo;0;L;;;;;N;;;;; +142E;CANADIAN SYLLABICS AN;Lo;0;L;;;;;N;;;;; +142F;CANADIAN SYLLABICS PE;Lo;0;L;;;;;N;;;;; +1430;CANADIAN SYLLABICS PAAI;Lo;0;L;;;;;N;;;;; +1431;CANADIAN SYLLABICS PI;Lo;0;L;;;;;N;;;;; +1432;CANADIAN SYLLABICS PII;Lo;0;L;;;;;N;;;;; +1433;CANADIAN SYLLABICS PO;Lo;0;L;;;;;N;;;;; +1434;CANADIAN SYLLABICS POO;Lo;0;L;;;;;N;;;;; +1435;CANADIAN SYLLABICS Y-CREE POO;Lo;0;L;;;;;N;;;;; +1436;CANADIAN SYLLABICS CARRIER HEE;Lo;0;L;;;;;N;;;;; +1437;CANADIAN SYLLABICS CARRIER HI;Lo;0;L;;;;;N;;;;; +1438;CANADIAN SYLLABICS PA;Lo;0;L;;;;;N;;;;; +1439;CANADIAN SYLLABICS PAA;Lo;0;L;;;;;N;;;;; +143A;CANADIAN SYLLABICS PWE;Lo;0;L;;;;;N;;;;; +143B;CANADIAN SYLLABICS WEST-CREE PWE;Lo;0;L;;;;;N;;;;; +143C;CANADIAN SYLLABICS PWI;Lo;0;L;;;;;N;;;;; +143D;CANADIAN SYLLABICS WEST-CREE PWI;Lo;0;L;;;;;N;;;;; +143E;CANADIAN SYLLABICS PWII;Lo;0;L;;;;;N;;;;; +143F;CANADIAN SYLLABICS WEST-CREE PWII;Lo;0;L;;;;;N;;;;; +1440;CANADIAN SYLLABICS PWO;Lo;0;L;;;;;N;;;;; +1441;CANADIAN SYLLABICS WEST-CREE PWO;Lo;0;L;;;;;N;;;;; +1442;CANADIAN SYLLABICS PWOO;Lo;0;L;;;;;N;;;;; +1443;CANADIAN SYLLABICS WEST-CREE PWOO;Lo;0;L;;;;;N;;;;; +1444;CANADIAN SYLLABICS PWA;Lo;0;L;;;;;N;;;;; +1445;CANADIAN SYLLABICS WEST-CREE PWA;Lo;0;L;;;;;N;;;;; +1446;CANADIAN SYLLABICS PWAA;Lo;0;L;;;;;N;;;;; +1447;CANADIAN SYLLABICS WEST-CREE PWAA;Lo;0;L;;;;;N;;;;; +1448;CANADIAN SYLLABICS Y-CREE PWAA;Lo;0;L;;;;;N;;;;; +1449;CANADIAN SYLLABICS P;Lo;0;L;;;;;N;;;;; +144A;CANADIAN SYLLABICS WEST-CREE P;Lo;0;L;;;;;N;;;;; +144B;CANADIAN SYLLABICS CARRIER H;Lo;0;L;;;;;N;;;;; +144C;CANADIAN SYLLABICS TE;Lo;0;L;;;;;N;;;;; +144D;CANADIAN SYLLABICS TAAI;Lo;0;L;;;;;N;;;;; +144E;CANADIAN SYLLABICS TI;Lo;0;L;;;;;N;;;;; +144F;CANADIAN SYLLABICS TII;Lo;0;L;;;;;N;;;;; +1450;CANADIAN SYLLABICS TO;Lo;0;L;;;;;N;;;;; +1451;CANADIAN SYLLABICS TOO;Lo;0;L;;;;;N;;;;; +1452;CANADIAN SYLLABICS Y-CREE TOO;Lo;0;L;;;;;N;;;;; +1453;CANADIAN SYLLABICS CARRIER DEE;Lo;0;L;;;;;N;;;;; +1454;CANADIAN SYLLABICS CARRIER DI;Lo;0;L;;;;;N;;;;; +1455;CANADIAN SYLLABICS TA;Lo;0;L;;;;;N;;;;; +1456;CANADIAN SYLLABICS TAA;Lo;0;L;;;;;N;;;;; +1457;CANADIAN SYLLABICS TWE;Lo;0;L;;;;;N;;;;; +1458;CANADIAN SYLLABICS WEST-CREE TWE;Lo;0;L;;;;;N;;;;; +1459;CANADIAN SYLLABICS TWI;Lo;0;L;;;;;N;;;;; +145A;CANADIAN SYLLABICS WEST-CREE TWI;Lo;0;L;;;;;N;;;;; +145B;CANADIAN SYLLABICS TWII;Lo;0;L;;;;;N;;;;; +145C;CANADIAN SYLLABICS WEST-CREE TWII;Lo;0;L;;;;;N;;;;; +145D;CANADIAN SYLLABICS TWO;Lo;0;L;;;;;N;;;;; +145E;CANADIAN SYLLABICS WEST-CREE TWO;Lo;0;L;;;;;N;;;;; +145F;CANADIAN SYLLABICS TWOO;Lo;0;L;;;;;N;;;;; +1460;CANADIAN SYLLABICS WEST-CREE TWOO;Lo;0;L;;;;;N;;;;; +1461;CANADIAN SYLLABICS TWA;Lo;0;L;;;;;N;;;;; +1462;CANADIAN SYLLABICS WEST-CREE TWA;Lo;0;L;;;;;N;;;;; +1463;CANADIAN SYLLABICS TWAA;Lo;0;L;;;;;N;;;;; +1464;CANADIAN SYLLABICS WEST-CREE TWAA;Lo;0;L;;;;;N;;;;; +1465;CANADIAN SYLLABICS NASKAPI TWAA;Lo;0;L;;;;;N;;;;; +1466;CANADIAN SYLLABICS T;Lo;0;L;;;;;N;;;;; +1467;CANADIAN SYLLABICS TTE;Lo;0;L;;;;;N;;;;; +1468;CANADIAN SYLLABICS TTI;Lo;0;L;;;;;N;;;;; +1469;CANADIAN SYLLABICS TTO;Lo;0;L;;;;;N;;;;; +146A;CANADIAN SYLLABICS TTA;Lo;0;L;;;;;N;;;;; +146B;CANADIAN SYLLABICS KE;Lo;0;L;;;;;N;;;;; +146C;CANADIAN SYLLABICS KAAI;Lo;0;L;;;;;N;;;;; +146D;CANADIAN SYLLABICS KI;Lo;0;L;;;;;N;;;;; +146E;CANADIAN SYLLABICS KII;Lo;0;L;;;;;N;;;;; +146F;CANADIAN SYLLABICS KO;Lo;0;L;;;;;N;;;;; +1470;CANADIAN SYLLABICS KOO;Lo;0;L;;;;;N;;;;; +1471;CANADIAN SYLLABICS Y-CREE KOO;Lo;0;L;;;;;N;;;;; +1472;CANADIAN SYLLABICS KA;Lo;0;L;;;;;N;;;;; +1473;CANADIAN SYLLABICS KAA;Lo;0;L;;;;;N;;;;; +1474;CANADIAN SYLLABICS KWE;Lo;0;L;;;;;N;;;;; +1475;CANADIAN SYLLABICS WEST-CREE KWE;Lo;0;L;;;;;N;;;;; +1476;CANADIAN SYLLABICS KWI;Lo;0;L;;;;;N;;;;; +1477;CANADIAN SYLLABICS WEST-CREE KWI;Lo;0;L;;;;;N;;;;; +1478;CANADIAN SYLLABICS KWII;Lo;0;L;;;;;N;;;;; +1479;CANADIAN SYLLABICS WEST-CREE KWII;Lo;0;L;;;;;N;;;;; +147A;CANADIAN SYLLABICS KWO;Lo;0;L;;;;;N;;;;; +147B;CANADIAN SYLLABICS WEST-CREE KWO;Lo;0;L;;;;;N;;;;; +147C;CANADIAN SYLLABICS KWOO;Lo;0;L;;;;;N;;;;; +147D;CANADIAN SYLLABICS WEST-CREE KWOO;Lo;0;L;;;;;N;;;;; +147E;CANADIAN SYLLABICS KWA;Lo;0;L;;;;;N;;;;; +147F;CANADIAN SYLLABICS WEST-CREE KWA;Lo;0;L;;;;;N;;;;; +1480;CANADIAN SYLLABICS KWAA;Lo;0;L;;;;;N;;;;; +1481;CANADIAN SYLLABICS WEST-CREE KWAA;Lo;0;L;;;;;N;;;;; +1482;CANADIAN SYLLABICS NASKAPI KWAA;Lo;0;L;;;;;N;;;;; +1483;CANADIAN SYLLABICS K;Lo;0;L;;;;;N;;;;; +1484;CANADIAN SYLLABICS KW;Lo;0;L;;;;;N;;;;; +1485;CANADIAN SYLLABICS SOUTH-SLAVEY KEH;Lo;0;L;;;;;N;;;;; +1486;CANADIAN SYLLABICS SOUTH-SLAVEY KIH;Lo;0;L;;;;;N;;;;; +1487;CANADIAN SYLLABICS SOUTH-SLAVEY KOH;Lo;0;L;;;;;N;;;;; +1488;CANADIAN SYLLABICS SOUTH-SLAVEY KAH;Lo;0;L;;;;;N;;;;; +1489;CANADIAN SYLLABICS CE;Lo;0;L;;;;;N;;;;; +148A;CANADIAN SYLLABICS CAAI;Lo;0;L;;;;;N;;;;; +148B;CANADIAN SYLLABICS CI;Lo;0;L;;;;;N;;;;; +148C;CANADIAN SYLLABICS CII;Lo;0;L;;;;;N;;;;; +148D;CANADIAN SYLLABICS CO;Lo;0;L;;;;;N;;;;; +148E;CANADIAN SYLLABICS COO;Lo;0;L;;;;;N;;;;; +148F;CANADIAN SYLLABICS Y-CREE COO;Lo;0;L;;;;;N;;;;; +1490;CANADIAN SYLLABICS CA;Lo;0;L;;;;;N;;;;; +1491;CANADIAN SYLLABICS CAA;Lo;0;L;;;;;N;;;;; +1492;CANADIAN SYLLABICS CWE;Lo;0;L;;;;;N;;;;; +1493;CANADIAN SYLLABICS WEST-CREE CWE;Lo;0;L;;;;;N;;;;; +1494;CANADIAN SYLLABICS CWI;Lo;0;L;;;;;N;;;;; +1495;CANADIAN SYLLABICS WEST-CREE CWI;Lo;0;L;;;;;N;;;;; +1496;CANADIAN SYLLABICS CWII;Lo;0;L;;;;;N;;;;; +1497;CANADIAN SYLLABICS WEST-CREE CWII;Lo;0;L;;;;;N;;;;; +1498;CANADIAN SYLLABICS CWO;Lo;0;L;;;;;N;;;;; +1499;CANADIAN SYLLABICS WEST-CREE CWO;Lo;0;L;;;;;N;;;;; +149A;CANADIAN SYLLABICS CWOO;Lo;0;L;;;;;N;;;;; +149B;CANADIAN SYLLABICS WEST-CREE CWOO;Lo;0;L;;;;;N;;;;; +149C;CANADIAN SYLLABICS CWA;Lo;0;L;;;;;N;;;;; +149D;CANADIAN SYLLABICS WEST-CREE CWA;Lo;0;L;;;;;N;;;;; +149E;CANADIAN SYLLABICS CWAA;Lo;0;L;;;;;N;;;;; +149F;CANADIAN SYLLABICS WEST-CREE CWAA;Lo;0;L;;;;;N;;;;; +14A0;CANADIAN SYLLABICS NASKAPI CWAA;Lo;0;L;;;;;N;;;;; +14A1;CANADIAN SYLLABICS C;Lo;0;L;;;;;N;;;;; +14A2;CANADIAN SYLLABICS SAYISI TH;Lo;0;L;;;;;N;;;;; +14A3;CANADIAN SYLLABICS ME;Lo;0;L;;;;;N;;;;; +14A4;CANADIAN SYLLABICS MAAI;Lo;0;L;;;;;N;;;;; +14A5;CANADIAN SYLLABICS MI;Lo;0;L;;;;;N;;;;; +14A6;CANADIAN SYLLABICS MII;Lo;0;L;;;;;N;;;;; +14A7;CANADIAN SYLLABICS MO;Lo;0;L;;;;;N;;;;; +14A8;CANADIAN SYLLABICS MOO;Lo;0;L;;;;;N;;;;; +14A9;CANADIAN SYLLABICS Y-CREE MOO;Lo;0;L;;;;;N;;;;; +14AA;CANADIAN SYLLABICS MA;Lo;0;L;;;;;N;;;;; +14AB;CANADIAN SYLLABICS MAA;Lo;0;L;;;;;N;;;;; +14AC;CANADIAN SYLLABICS MWE;Lo;0;L;;;;;N;;;;; +14AD;CANADIAN SYLLABICS WEST-CREE MWE;Lo;0;L;;;;;N;;;;; +14AE;CANADIAN SYLLABICS MWI;Lo;0;L;;;;;N;;;;; +14AF;CANADIAN SYLLABICS WEST-CREE MWI;Lo;0;L;;;;;N;;;;; +14B0;CANADIAN SYLLABICS MWII;Lo;0;L;;;;;N;;;;; +14B1;CANADIAN SYLLABICS WEST-CREE MWII;Lo;0;L;;;;;N;;;;; +14B2;CANADIAN SYLLABICS MWO;Lo;0;L;;;;;N;;;;; +14B3;CANADIAN SYLLABICS WEST-CREE MWO;Lo;0;L;;;;;N;;;;; +14B4;CANADIAN SYLLABICS MWOO;Lo;0;L;;;;;N;;;;; +14B5;CANADIAN SYLLABICS WEST-CREE MWOO;Lo;0;L;;;;;N;;;;; +14B6;CANADIAN SYLLABICS MWA;Lo;0;L;;;;;N;;;;; +14B7;CANADIAN SYLLABICS WEST-CREE MWA;Lo;0;L;;;;;N;;;;; +14B8;CANADIAN SYLLABICS MWAA;Lo;0;L;;;;;N;;;;; +14B9;CANADIAN SYLLABICS WEST-CREE MWAA;Lo;0;L;;;;;N;;;;; +14BA;CANADIAN SYLLABICS NASKAPI MWAA;Lo;0;L;;;;;N;;;;; +14BB;CANADIAN SYLLABICS M;Lo;0;L;;;;;N;;;;; +14BC;CANADIAN SYLLABICS WEST-CREE M;Lo;0;L;;;;;N;;;;; +14BD;CANADIAN SYLLABICS MH;Lo;0;L;;;;;N;;;;; +14BE;CANADIAN SYLLABICS ATHAPASCAN M;Lo;0;L;;;;;N;;;;; +14BF;CANADIAN SYLLABICS SAYISI M;Lo;0;L;;;;;N;;;;; +14C0;CANADIAN SYLLABICS NE;Lo;0;L;;;;;N;;;;; +14C1;CANADIAN SYLLABICS NAAI;Lo;0;L;;;;;N;;;;; +14C2;CANADIAN SYLLABICS NI;Lo;0;L;;;;;N;;;;; +14C3;CANADIAN SYLLABICS NII;Lo;0;L;;;;;N;;;;; +14C4;CANADIAN SYLLABICS NO;Lo;0;L;;;;;N;;;;; +14C5;CANADIAN SYLLABICS NOO;Lo;0;L;;;;;N;;;;; +14C6;CANADIAN SYLLABICS Y-CREE NOO;Lo;0;L;;;;;N;;;;; +14C7;CANADIAN SYLLABICS NA;Lo;0;L;;;;;N;;;;; +14C8;CANADIAN SYLLABICS NAA;Lo;0;L;;;;;N;;;;; +14C9;CANADIAN SYLLABICS NWE;Lo;0;L;;;;;N;;;;; +14CA;CANADIAN SYLLABICS WEST-CREE NWE;Lo;0;L;;;;;N;;;;; +14CB;CANADIAN SYLLABICS NWA;Lo;0;L;;;;;N;;;;; +14CC;CANADIAN SYLLABICS WEST-CREE NWA;Lo;0;L;;;;;N;;;;; +14CD;CANADIAN SYLLABICS NWAA;Lo;0;L;;;;;N;;;;; +14CE;CANADIAN SYLLABICS WEST-CREE NWAA;Lo;0;L;;;;;N;;;;; +14CF;CANADIAN SYLLABICS NASKAPI NWAA;Lo;0;L;;;;;N;;;;; +14D0;CANADIAN SYLLABICS N;Lo;0;L;;;;;N;;;;; +14D1;CANADIAN SYLLABICS CARRIER NG;Lo;0;L;;;;;N;;;;; +14D2;CANADIAN SYLLABICS NH;Lo;0;L;;;;;N;;;;; +14D3;CANADIAN SYLLABICS LE;Lo;0;L;;;;;N;;;;; +14D4;CANADIAN SYLLABICS LAAI;Lo;0;L;;;;;N;;;;; +14D5;CANADIAN SYLLABICS LI;Lo;0;L;;;;;N;;;;; +14D6;CANADIAN SYLLABICS LII;Lo;0;L;;;;;N;;;;; +14D7;CANADIAN SYLLABICS LO;Lo;0;L;;;;;N;;;;; +14D8;CANADIAN SYLLABICS LOO;Lo;0;L;;;;;N;;;;; +14D9;CANADIAN SYLLABICS Y-CREE LOO;Lo;0;L;;;;;N;;;;; +14DA;CANADIAN SYLLABICS LA;Lo;0;L;;;;;N;;;;; +14DB;CANADIAN SYLLABICS LAA;Lo;0;L;;;;;N;;;;; +14DC;CANADIAN SYLLABICS LWE;Lo;0;L;;;;;N;;;;; +14DD;CANADIAN SYLLABICS WEST-CREE LWE;Lo;0;L;;;;;N;;;;; +14DE;CANADIAN SYLLABICS LWI;Lo;0;L;;;;;N;;;;; +14DF;CANADIAN SYLLABICS WEST-CREE LWI;Lo;0;L;;;;;N;;;;; +14E0;CANADIAN SYLLABICS LWII;Lo;0;L;;;;;N;;;;; +14E1;CANADIAN SYLLABICS WEST-CREE LWII;Lo;0;L;;;;;N;;;;; +14E2;CANADIAN SYLLABICS LWO;Lo;0;L;;;;;N;;;;; +14E3;CANADIAN SYLLABICS WEST-CREE LWO;Lo;0;L;;;;;N;;;;; +14E4;CANADIAN SYLLABICS LWOO;Lo;0;L;;;;;N;;;;; +14E5;CANADIAN SYLLABICS WEST-CREE LWOO;Lo;0;L;;;;;N;;;;; +14E6;CANADIAN SYLLABICS LWA;Lo;0;L;;;;;N;;;;; +14E7;CANADIAN SYLLABICS WEST-CREE LWA;Lo;0;L;;;;;N;;;;; +14E8;CANADIAN SYLLABICS LWAA;Lo;0;L;;;;;N;;;;; +14E9;CANADIAN SYLLABICS WEST-CREE LWAA;Lo;0;L;;;;;N;;;;; +14EA;CANADIAN SYLLABICS L;Lo;0;L;;;;;N;;;;; +14EB;CANADIAN SYLLABICS WEST-CREE L;Lo;0;L;;;;;N;;;;; +14EC;CANADIAN SYLLABICS MEDIAL L;Lo;0;L;;;;;N;;;;; +14ED;CANADIAN SYLLABICS SE;Lo;0;L;;;;;N;;;;; +14EE;CANADIAN SYLLABICS SAAI;Lo;0;L;;;;;N;;;;; +14EF;CANADIAN SYLLABICS SI;Lo;0;L;;;;;N;;;;; +14F0;CANADIAN SYLLABICS SII;Lo;0;L;;;;;N;;;;; +14F1;CANADIAN SYLLABICS SO;Lo;0;L;;;;;N;;;;; +14F2;CANADIAN SYLLABICS SOO;Lo;0;L;;;;;N;;;;; +14F3;CANADIAN SYLLABICS Y-CREE SOO;Lo;0;L;;;;;N;;;;; +14F4;CANADIAN SYLLABICS SA;Lo;0;L;;;;;N;;;;; +14F5;CANADIAN SYLLABICS SAA;Lo;0;L;;;;;N;;;;; +14F6;CANADIAN SYLLABICS SWE;Lo;0;L;;;;;N;;;;; +14F7;CANADIAN SYLLABICS WEST-CREE SWE;Lo;0;L;;;;;N;;;;; +14F8;CANADIAN SYLLABICS SWI;Lo;0;L;;;;;N;;;;; +14F9;CANADIAN SYLLABICS WEST-CREE SWI;Lo;0;L;;;;;N;;;;; +14FA;CANADIAN SYLLABICS SWII;Lo;0;L;;;;;N;;;;; +14FB;CANADIAN SYLLABICS WEST-CREE SWII;Lo;0;L;;;;;N;;;;; +14FC;CANADIAN SYLLABICS SWO;Lo;0;L;;;;;N;;;;; +14FD;CANADIAN SYLLABICS WEST-CREE SWO;Lo;0;L;;;;;N;;;;; +14FE;CANADIAN SYLLABICS SWOO;Lo;0;L;;;;;N;;;;; +14FF;CANADIAN SYLLABICS WEST-CREE SWOO;Lo;0;L;;;;;N;;;;; +1500;CANADIAN SYLLABICS SWA;Lo;0;L;;;;;N;;;;; +1501;CANADIAN SYLLABICS WEST-CREE SWA;Lo;0;L;;;;;N;;;;; +1502;CANADIAN SYLLABICS SWAA;Lo;0;L;;;;;N;;;;; +1503;CANADIAN SYLLABICS WEST-CREE SWAA;Lo;0;L;;;;;N;;;;; +1504;CANADIAN SYLLABICS NASKAPI SWAA;Lo;0;L;;;;;N;;;;; +1505;CANADIAN SYLLABICS S;Lo;0;L;;;;;N;;;;; +1506;CANADIAN SYLLABICS ATHAPASCAN S;Lo;0;L;;;;;N;;;;; +1507;CANADIAN SYLLABICS SW;Lo;0;L;;;;;N;;;;; +1508;CANADIAN SYLLABICS BLACKFOOT S;Lo;0;L;;;;;N;;;;; +1509;CANADIAN SYLLABICS MOOSE-CREE SK;Lo;0;L;;;;;N;;;;; +150A;CANADIAN SYLLABICS NASKAPI SKW;Lo;0;L;;;;;N;;;;; +150B;CANADIAN SYLLABICS NASKAPI S-W;Lo;0;L;;;;;N;;;;; +150C;CANADIAN SYLLABICS NASKAPI SPWA;Lo;0;L;;;;;N;;;;; +150D;CANADIAN SYLLABICS NASKAPI STWA;Lo;0;L;;;;;N;;;;; +150E;CANADIAN SYLLABICS NASKAPI SKWA;Lo;0;L;;;;;N;;;;; +150F;CANADIAN SYLLABICS NASKAPI SCWA;Lo;0;L;;;;;N;;;;; +1510;CANADIAN SYLLABICS SHE;Lo;0;L;;;;;N;;;;; +1511;CANADIAN SYLLABICS SHI;Lo;0;L;;;;;N;;;;; +1512;CANADIAN SYLLABICS SHII;Lo;0;L;;;;;N;;;;; +1513;CANADIAN SYLLABICS SHO;Lo;0;L;;;;;N;;;;; +1514;CANADIAN SYLLABICS SHOO;Lo;0;L;;;;;N;;;;; +1515;CANADIAN SYLLABICS SHA;Lo;0;L;;;;;N;;;;; +1516;CANADIAN SYLLABICS SHAA;Lo;0;L;;;;;N;;;;; +1517;CANADIAN SYLLABICS SHWE;Lo;0;L;;;;;N;;;;; +1518;CANADIAN SYLLABICS WEST-CREE SHWE;Lo;0;L;;;;;N;;;;; +1519;CANADIAN SYLLABICS SHWI;Lo;0;L;;;;;N;;;;; +151A;CANADIAN SYLLABICS WEST-CREE SHWI;Lo;0;L;;;;;N;;;;; +151B;CANADIAN SYLLABICS SHWII;Lo;0;L;;;;;N;;;;; +151C;CANADIAN SYLLABICS WEST-CREE SHWII;Lo;0;L;;;;;N;;;;; +151D;CANADIAN SYLLABICS SHWO;Lo;0;L;;;;;N;;;;; +151E;CANADIAN SYLLABICS WEST-CREE SHWO;Lo;0;L;;;;;N;;;;; +151F;CANADIAN SYLLABICS SHWOO;Lo;0;L;;;;;N;;;;; +1520;CANADIAN SYLLABICS WEST-CREE SHWOO;Lo;0;L;;;;;N;;;;; +1521;CANADIAN SYLLABICS SHWA;Lo;0;L;;;;;N;;;;; +1522;CANADIAN SYLLABICS WEST-CREE SHWA;Lo;0;L;;;;;N;;;;; +1523;CANADIAN SYLLABICS SHWAA;Lo;0;L;;;;;N;;;;; +1524;CANADIAN SYLLABICS WEST-CREE SHWAA;Lo;0;L;;;;;N;;;;; +1525;CANADIAN SYLLABICS SH;Lo;0;L;;;;;N;;;;; +1526;CANADIAN SYLLABICS YE;Lo;0;L;;;;;N;;;;; +1527;CANADIAN SYLLABICS YAAI;Lo;0;L;;;;;N;;;;; +1528;CANADIAN SYLLABICS YI;Lo;0;L;;;;;N;;;;; +1529;CANADIAN SYLLABICS YII;Lo;0;L;;;;;N;;;;; +152A;CANADIAN SYLLABICS YO;Lo;0;L;;;;;N;;;;; +152B;CANADIAN SYLLABICS YOO;Lo;0;L;;;;;N;;;;; +152C;CANADIAN SYLLABICS Y-CREE YOO;Lo;0;L;;;;;N;;;;; +152D;CANADIAN SYLLABICS YA;Lo;0;L;;;;;N;;;;; +152E;CANADIAN SYLLABICS YAA;Lo;0;L;;;;;N;;;;; +152F;CANADIAN SYLLABICS YWE;Lo;0;L;;;;;N;;;;; +1530;CANADIAN SYLLABICS WEST-CREE YWE;Lo;0;L;;;;;N;;;;; +1531;CANADIAN SYLLABICS YWI;Lo;0;L;;;;;N;;;;; +1532;CANADIAN SYLLABICS WEST-CREE YWI;Lo;0;L;;;;;N;;;;; +1533;CANADIAN SYLLABICS YWII;Lo;0;L;;;;;N;;;;; +1534;CANADIAN SYLLABICS WEST-CREE YWII;Lo;0;L;;;;;N;;;;; +1535;CANADIAN SYLLABICS YWO;Lo;0;L;;;;;N;;;;; +1536;CANADIAN SYLLABICS WEST-CREE YWO;Lo;0;L;;;;;N;;;;; +1537;CANADIAN SYLLABICS YWOO;Lo;0;L;;;;;N;;;;; +1538;CANADIAN SYLLABICS WEST-CREE YWOO;Lo;0;L;;;;;N;;;;; +1539;CANADIAN SYLLABICS YWA;Lo;0;L;;;;;N;;;;; +153A;CANADIAN SYLLABICS WEST-CREE YWA;Lo;0;L;;;;;N;;;;; +153B;CANADIAN SYLLABICS YWAA;Lo;0;L;;;;;N;;;;; +153C;CANADIAN SYLLABICS WEST-CREE YWAA;Lo;0;L;;;;;N;;;;; +153D;CANADIAN SYLLABICS NASKAPI YWAA;Lo;0;L;;;;;N;;;;; +153E;CANADIAN SYLLABICS Y;Lo;0;L;;;;;N;;;;; +153F;CANADIAN SYLLABICS BIBLE-CREE Y;Lo;0;L;;;;;N;;;;; +1540;CANADIAN SYLLABICS WEST-CREE Y;Lo;0;L;;;;;N;;;;; +1541;CANADIAN SYLLABICS SAYISI YI;Lo;0;L;;;;;N;;;;; +1542;CANADIAN SYLLABICS RE;Lo;0;L;;;;;N;;;;; +1543;CANADIAN SYLLABICS R-CREE RE;Lo;0;L;;;;;N;;;;; +1544;CANADIAN SYLLABICS WEST-CREE LE;Lo;0;L;;;;;N;;;;; +1545;CANADIAN SYLLABICS RAAI;Lo;0;L;;;;;N;;;;; +1546;CANADIAN SYLLABICS RI;Lo;0;L;;;;;N;;;;; +1547;CANADIAN SYLLABICS RII;Lo;0;L;;;;;N;;;;; +1548;CANADIAN SYLLABICS RO;Lo;0;L;;;;;N;;;;; +1549;CANADIAN SYLLABICS ROO;Lo;0;L;;;;;N;;;;; +154A;CANADIAN SYLLABICS WEST-CREE LO;Lo;0;L;;;;;N;;;;; +154B;CANADIAN SYLLABICS RA;Lo;0;L;;;;;N;;;;; +154C;CANADIAN SYLLABICS RAA;Lo;0;L;;;;;N;;;;; +154D;CANADIAN SYLLABICS WEST-CREE LA;Lo;0;L;;;;;N;;;;; +154E;CANADIAN SYLLABICS RWAA;Lo;0;L;;;;;N;;;;; +154F;CANADIAN SYLLABICS WEST-CREE RWAA;Lo;0;L;;;;;N;;;;; +1550;CANADIAN SYLLABICS R;Lo;0;L;;;;;N;;;;; +1551;CANADIAN SYLLABICS WEST-CREE R;Lo;0;L;;;;;N;;;;; +1552;CANADIAN SYLLABICS MEDIAL R;Lo;0;L;;;;;N;;;;; +1553;CANADIAN SYLLABICS FE;Lo;0;L;;;;;N;;;;; +1554;CANADIAN SYLLABICS FAAI;Lo;0;L;;;;;N;;;;; +1555;CANADIAN SYLLABICS FI;Lo;0;L;;;;;N;;;;; +1556;CANADIAN SYLLABICS FII;Lo;0;L;;;;;N;;;;; +1557;CANADIAN SYLLABICS FO;Lo;0;L;;;;;N;;;;; +1558;CANADIAN SYLLABICS FOO;Lo;0;L;;;;;N;;;;; +1559;CANADIAN SYLLABICS FA;Lo;0;L;;;;;N;;;;; +155A;CANADIAN SYLLABICS FAA;Lo;0;L;;;;;N;;;;; +155B;CANADIAN SYLLABICS FWAA;Lo;0;L;;;;;N;;;;; +155C;CANADIAN SYLLABICS WEST-CREE FWAA;Lo;0;L;;;;;N;;;;; +155D;CANADIAN SYLLABICS F;Lo;0;L;;;;;N;;;;; +155E;CANADIAN SYLLABICS THE;Lo;0;L;;;;;N;;;;; +155F;CANADIAN SYLLABICS N-CREE THE;Lo;0;L;;;;;N;;;;; +1560;CANADIAN SYLLABICS THI;Lo;0;L;;;;;N;;;;; +1561;CANADIAN SYLLABICS N-CREE THI;Lo;0;L;;;;;N;;;;; +1562;CANADIAN SYLLABICS THII;Lo;0;L;;;;;N;;;;; +1563;CANADIAN SYLLABICS N-CREE THII;Lo;0;L;;;;;N;;;;; +1564;CANADIAN SYLLABICS THO;Lo;0;L;;;;;N;;;;; +1565;CANADIAN SYLLABICS THOO;Lo;0;L;;;;;N;;;;; +1566;CANADIAN SYLLABICS THA;Lo;0;L;;;;;N;;;;; +1567;CANADIAN SYLLABICS THAA;Lo;0;L;;;;;N;;;;; +1568;CANADIAN SYLLABICS THWAA;Lo;0;L;;;;;N;;;;; +1569;CANADIAN SYLLABICS WEST-CREE THWAA;Lo;0;L;;;;;N;;;;; +156A;CANADIAN SYLLABICS TH;Lo;0;L;;;;;N;;;;; +156B;CANADIAN SYLLABICS TTHE;Lo;0;L;;;;;N;;;;; +156C;CANADIAN SYLLABICS TTHI;Lo;0;L;;;;;N;;;;; +156D;CANADIAN SYLLABICS TTHO;Lo;0;L;;;;;N;;;;; +156E;CANADIAN SYLLABICS TTHA;Lo;0;L;;;;;N;;;;; +156F;CANADIAN SYLLABICS TTH;Lo;0;L;;;;;N;;;;; +1570;CANADIAN SYLLABICS TYE;Lo;0;L;;;;;N;;;;; +1571;CANADIAN SYLLABICS TYI;Lo;0;L;;;;;N;;;;; +1572;CANADIAN SYLLABICS TYO;Lo;0;L;;;;;N;;;;; +1573;CANADIAN SYLLABICS TYA;Lo;0;L;;;;;N;;;;; +1574;CANADIAN SYLLABICS NUNAVIK HE;Lo;0;L;;;;;N;;;;; +1575;CANADIAN SYLLABICS NUNAVIK HI;Lo;0;L;;;;;N;;;;; +1576;CANADIAN SYLLABICS NUNAVIK HII;Lo;0;L;;;;;N;;;;; +1577;CANADIAN SYLLABICS NUNAVIK HO;Lo;0;L;;;;;N;;;;; +1578;CANADIAN SYLLABICS NUNAVIK HOO;Lo;0;L;;;;;N;;;;; +1579;CANADIAN SYLLABICS NUNAVIK HA;Lo;0;L;;;;;N;;;;; +157A;CANADIAN SYLLABICS NUNAVIK HAA;Lo;0;L;;;;;N;;;;; +157B;CANADIAN SYLLABICS NUNAVIK H;Lo;0;L;;;;;N;;;;; +157C;CANADIAN SYLLABICS NUNAVUT H;Lo;0;L;;;;;N;;;;; +157D;CANADIAN SYLLABICS HK;Lo;0;L;;;;;N;;;;; +157E;CANADIAN SYLLABICS QAAI;Lo;0;L;;;;;N;;;;; +157F;CANADIAN SYLLABICS QI;Lo;0;L;;;;;N;;;;; +1580;CANADIAN SYLLABICS QII;Lo;0;L;;;;;N;;;;; +1581;CANADIAN SYLLABICS QO;Lo;0;L;;;;;N;;;;; +1582;CANADIAN SYLLABICS QOO;Lo;0;L;;;;;N;;;;; +1583;CANADIAN SYLLABICS QA;Lo;0;L;;;;;N;;;;; +1584;CANADIAN SYLLABICS QAA;Lo;0;L;;;;;N;;;;; +1585;CANADIAN SYLLABICS Q;Lo;0;L;;;;;N;;;;; +1586;CANADIAN SYLLABICS TLHE;Lo;0;L;;;;;N;;;;; +1587;CANADIAN SYLLABICS TLHI;Lo;0;L;;;;;N;;;;; +1588;CANADIAN SYLLABICS TLHO;Lo;0;L;;;;;N;;;;; +1589;CANADIAN SYLLABICS TLHA;Lo;0;L;;;;;N;;;;; +158A;CANADIAN SYLLABICS WEST-CREE RE;Lo;0;L;;;;;N;;;;; +158B;CANADIAN SYLLABICS WEST-CREE RI;Lo;0;L;;;;;N;;;;; +158C;CANADIAN SYLLABICS WEST-CREE RO;Lo;0;L;;;;;N;;;;; +158D;CANADIAN SYLLABICS WEST-CREE RA;Lo;0;L;;;;;N;;;;; +158E;CANADIAN SYLLABICS NGAAI;Lo;0;L;;;;;N;;;;; +158F;CANADIAN SYLLABICS NGI;Lo;0;L;;;;;N;;;;; +1590;CANADIAN SYLLABICS NGII;Lo;0;L;;;;;N;;;;; +1591;CANADIAN SYLLABICS NGO;Lo;0;L;;;;;N;;;;; +1592;CANADIAN SYLLABICS NGOO;Lo;0;L;;;;;N;;;;; +1593;CANADIAN SYLLABICS NGA;Lo;0;L;;;;;N;;;;; +1594;CANADIAN SYLLABICS NGAA;Lo;0;L;;;;;N;;;;; +1595;CANADIAN SYLLABICS NG;Lo;0;L;;;;;N;;;;; +1596;CANADIAN SYLLABICS NNG;Lo;0;L;;;;;N;;;;; +1597;CANADIAN SYLLABICS SAYISI SHE;Lo;0;L;;;;;N;;;;; +1598;CANADIAN SYLLABICS SAYISI SHI;Lo;0;L;;;;;N;;;;; +1599;CANADIAN SYLLABICS SAYISI SHO;Lo;0;L;;;;;N;;;;; +159A;CANADIAN SYLLABICS SAYISI SHA;Lo;0;L;;;;;N;;;;; +159B;CANADIAN SYLLABICS WOODS-CREE THE;Lo;0;L;;;;;N;;;;; +159C;CANADIAN SYLLABICS WOODS-CREE THI;Lo;0;L;;;;;N;;;;; +159D;CANADIAN SYLLABICS WOODS-CREE THO;Lo;0;L;;;;;N;;;;; +159E;CANADIAN SYLLABICS WOODS-CREE THA;Lo;0;L;;;;;N;;;;; +159F;CANADIAN SYLLABICS WOODS-CREE TH;Lo;0;L;;;;;N;;;;; +15A0;CANADIAN SYLLABICS LHI;Lo;0;L;;;;;N;;;;; +15A1;CANADIAN SYLLABICS LHII;Lo;0;L;;;;;N;;;;; +15A2;CANADIAN SYLLABICS LHO;Lo;0;L;;;;;N;;;;; +15A3;CANADIAN SYLLABICS LHOO;Lo;0;L;;;;;N;;;;; +15A4;CANADIAN SYLLABICS LHA;Lo;0;L;;;;;N;;;;; +15A5;CANADIAN SYLLABICS LHAA;Lo;0;L;;;;;N;;;;; +15A6;CANADIAN SYLLABICS LH;Lo;0;L;;;;;N;;;;; +15A7;CANADIAN SYLLABICS TH-CREE THE;Lo;0;L;;;;;N;;;;; +15A8;CANADIAN SYLLABICS TH-CREE THI;Lo;0;L;;;;;N;;;;; +15A9;CANADIAN SYLLABICS TH-CREE THII;Lo;0;L;;;;;N;;;;; +15AA;CANADIAN SYLLABICS TH-CREE THO;Lo;0;L;;;;;N;;;;; +15AB;CANADIAN SYLLABICS TH-CREE THOO;Lo;0;L;;;;;N;;;;; +15AC;CANADIAN SYLLABICS TH-CREE THA;Lo;0;L;;;;;N;;;;; +15AD;CANADIAN SYLLABICS TH-CREE THAA;Lo;0;L;;;;;N;;;;; +15AE;CANADIAN SYLLABICS TH-CREE TH;Lo;0;L;;;;;N;;;;; +15AF;CANADIAN SYLLABICS AIVILIK B;Lo;0;L;;;;;N;;;;; +15B0;CANADIAN SYLLABICS BLACKFOOT E;Lo;0;L;;;;;N;;;;; +15B1;CANADIAN SYLLABICS BLACKFOOT I;Lo;0;L;;;;;N;;;;; +15B2;CANADIAN SYLLABICS BLACKFOOT O;Lo;0;L;;;;;N;;;;; +15B3;CANADIAN SYLLABICS BLACKFOOT A;Lo;0;L;;;;;N;;;;; +15B4;CANADIAN SYLLABICS BLACKFOOT WE;Lo;0;L;;;;;N;;;;; +15B5;CANADIAN SYLLABICS BLACKFOOT WI;Lo;0;L;;;;;N;;;;; +15B6;CANADIAN SYLLABICS BLACKFOOT WO;Lo;0;L;;;;;N;;;;; +15B7;CANADIAN SYLLABICS BLACKFOOT WA;Lo;0;L;;;;;N;;;;; +15B8;CANADIAN SYLLABICS BLACKFOOT NE;Lo;0;L;;;;;N;;;;; +15B9;CANADIAN SYLLABICS BLACKFOOT NI;Lo;0;L;;;;;N;;;;; +15BA;CANADIAN SYLLABICS BLACKFOOT NO;Lo;0;L;;;;;N;;;;; +15BB;CANADIAN SYLLABICS BLACKFOOT NA;Lo;0;L;;;;;N;;;;; +15BC;CANADIAN SYLLABICS BLACKFOOT KE;Lo;0;L;;;;;N;;;;; +15BD;CANADIAN SYLLABICS BLACKFOOT KI;Lo;0;L;;;;;N;;;;; +15BE;CANADIAN SYLLABICS BLACKFOOT KO;Lo;0;L;;;;;N;;;;; +15BF;CANADIAN SYLLABICS BLACKFOOT KA;Lo;0;L;;;;;N;;;;; +15C0;CANADIAN SYLLABICS SAYISI HE;Lo;0;L;;;;;N;;;;; +15C1;CANADIAN SYLLABICS SAYISI HI;Lo;0;L;;;;;N;;;;; +15C2;CANADIAN SYLLABICS SAYISI HO;Lo;0;L;;;;;N;;;;; +15C3;CANADIAN SYLLABICS SAYISI HA;Lo;0;L;;;;;N;;;;; +15C4;CANADIAN SYLLABICS CARRIER GHU;Lo;0;L;;;;;N;;;;; +15C5;CANADIAN SYLLABICS CARRIER GHO;Lo;0;L;;;;;N;;;;; +15C6;CANADIAN SYLLABICS CARRIER GHE;Lo;0;L;;;;;N;;;;; +15C7;CANADIAN SYLLABICS CARRIER GHEE;Lo;0;L;;;;;N;;;;; +15C8;CANADIAN SYLLABICS CARRIER GHI;Lo;0;L;;;;;N;;;;; +15C9;CANADIAN SYLLABICS CARRIER GHA;Lo;0;L;;;;;N;;;;; +15CA;CANADIAN SYLLABICS CARRIER RU;Lo;0;L;;;;;N;;;;; +15CB;CANADIAN SYLLABICS CARRIER RO;Lo;0;L;;;;;N;;;;; +15CC;CANADIAN SYLLABICS CARRIER RE;Lo;0;L;;;;;N;;;;; +15CD;CANADIAN SYLLABICS CARRIER REE;Lo;0;L;;;;;N;;;;; +15CE;CANADIAN SYLLABICS CARRIER RI;Lo;0;L;;;;;N;;;;; +15CF;CANADIAN SYLLABICS CARRIER RA;Lo;0;L;;;;;N;;;;; +15D0;CANADIAN SYLLABICS CARRIER WU;Lo;0;L;;;;;N;;;;; +15D1;CANADIAN SYLLABICS CARRIER WO;Lo;0;L;;;;;N;;;;; +15D2;CANADIAN SYLLABICS CARRIER WE;Lo;0;L;;;;;N;;;;; +15D3;CANADIAN SYLLABICS CARRIER WEE;Lo;0;L;;;;;N;;;;; +15D4;CANADIAN SYLLABICS CARRIER WI;Lo;0;L;;;;;N;;;;; +15D5;CANADIAN SYLLABICS CARRIER WA;Lo;0;L;;;;;N;;;;; +15D6;CANADIAN SYLLABICS CARRIER HWU;Lo;0;L;;;;;N;;;;; +15D7;CANADIAN SYLLABICS CARRIER HWO;Lo;0;L;;;;;N;;;;; +15D8;CANADIAN SYLLABICS CARRIER HWE;Lo;0;L;;;;;N;;;;; +15D9;CANADIAN SYLLABICS CARRIER HWEE;Lo;0;L;;;;;N;;;;; +15DA;CANADIAN SYLLABICS CARRIER HWI;Lo;0;L;;;;;N;;;;; +15DB;CANADIAN SYLLABICS CARRIER HWA;Lo;0;L;;;;;N;;;;; +15DC;CANADIAN SYLLABICS CARRIER THU;Lo;0;L;;;;;N;;;;; +15DD;CANADIAN SYLLABICS CARRIER THO;Lo;0;L;;;;;N;;;;; +15DE;CANADIAN SYLLABICS CARRIER THE;Lo;0;L;;;;;N;;;;; +15DF;CANADIAN SYLLABICS CARRIER THEE;Lo;0;L;;;;;N;;;;; +15E0;CANADIAN SYLLABICS CARRIER THI;Lo;0;L;;;;;N;;;;; +15E1;CANADIAN SYLLABICS CARRIER THA;Lo;0;L;;;;;N;;;;; +15E2;CANADIAN SYLLABICS CARRIER TTU;Lo;0;L;;;;;N;;;;; +15E3;CANADIAN SYLLABICS CARRIER TTO;Lo;0;L;;;;;N;;;;; +15E4;CANADIAN SYLLABICS CARRIER TTE;Lo;0;L;;;;;N;;;;; +15E5;CANADIAN SYLLABICS CARRIER TTEE;Lo;0;L;;;;;N;;;;; +15E6;CANADIAN SYLLABICS CARRIER TTI;Lo;0;L;;;;;N;;;;; +15E7;CANADIAN SYLLABICS CARRIER TTA;Lo;0;L;;;;;N;;;;; +15E8;CANADIAN SYLLABICS CARRIER PU;Lo;0;L;;;;;N;;;;; +15E9;CANADIAN SYLLABICS CARRIER PO;Lo;0;L;;;;;N;;;;; +15EA;CANADIAN SYLLABICS CARRIER PE;Lo;0;L;;;;;N;;;;; +15EB;CANADIAN SYLLABICS CARRIER PEE;Lo;0;L;;;;;N;;;;; +15EC;CANADIAN SYLLABICS CARRIER PI;Lo;0;L;;;;;N;;;;; +15ED;CANADIAN SYLLABICS CARRIER PA;Lo;0;L;;;;;N;;;;; +15EE;CANADIAN SYLLABICS CARRIER P;Lo;0;L;;;;;N;;;;; +15EF;CANADIAN SYLLABICS CARRIER GU;Lo;0;L;;;;;N;;;;; +15F0;CANADIAN SYLLABICS CARRIER GO;Lo;0;L;;;;;N;;;;; +15F1;CANADIAN SYLLABICS CARRIER GE;Lo;0;L;;;;;N;;;;; +15F2;CANADIAN SYLLABICS CARRIER GEE;Lo;0;L;;;;;N;;;;; +15F3;CANADIAN SYLLABICS CARRIER GI;Lo;0;L;;;;;N;;;;; +15F4;CANADIAN SYLLABICS CARRIER GA;Lo;0;L;;;;;N;;;;; +15F5;CANADIAN SYLLABICS CARRIER KHU;Lo;0;L;;;;;N;;;;; +15F6;CANADIAN SYLLABICS CARRIER KHO;Lo;0;L;;;;;N;;;;; +15F7;CANADIAN SYLLABICS CARRIER KHE;Lo;0;L;;;;;N;;;;; +15F8;CANADIAN SYLLABICS CARRIER KHEE;Lo;0;L;;;;;N;;;;; +15F9;CANADIAN SYLLABICS CARRIER KHI;Lo;0;L;;;;;N;;;;; +15FA;CANADIAN SYLLABICS CARRIER KHA;Lo;0;L;;;;;N;;;;; +15FB;CANADIAN SYLLABICS CARRIER KKU;Lo;0;L;;;;;N;;;;; +15FC;CANADIAN SYLLABICS CARRIER KKO;Lo;0;L;;;;;N;;;;; +15FD;CANADIAN SYLLABICS CARRIER KKE;Lo;0;L;;;;;N;;;;; +15FE;CANADIAN SYLLABICS CARRIER KKEE;Lo;0;L;;;;;N;;;;; +15FF;CANADIAN SYLLABICS CARRIER KKI;Lo;0;L;;;;;N;;;;; +1600;CANADIAN SYLLABICS CARRIER KKA;Lo;0;L;;;;;N;;;;; +1601;CANADIAN SYLLABICS CARRIER KK;Lo;0;L;;;;;N;;;;; +1602;CANADIAN SYLLABICS CARRIER NU;Lo;0;L;;;;;N;;;;; +1603;CANADIAN SYLLABICS CARRIER NO;Lo;0;L;;;;;N;;;;; +1604;CANADIAN SYLLABICS CARRIER NE;Lo;0;L;;;;;N;;;;; +1605;CANADIAN SYLLABICS CARRIER NEE;Lo;0;L;;;;;N;;;;; +1606;CANADIAN SYLLABICS CARRIER NI;Lo;0;L;;;;;N;;;;; +1607;CANADIAN SYLLABICS CARRIER NA;Lo;0;L;;;;;N;;;;; +1608;CANADIAN SYLLABICS CARRIER MU;Lo;0;L;;;;;N;;;;; +1609;CANADIAN SYLLABICS CARRIER MO;Lo;0;L;;;;;N;;;;; +160A;CANADIAN SYLLABICS CARRIER ME;Lo;0;L;;;;;N;;;;; +160B;CANADIAN SYLLABICS CARRIER MEE;Lo;0;L;;;;;N;;;;; +160C;CANADIAN SYLLABICS CARRIER MI;Lo;0;L;;;;;N;;;;; +160D;CANADIAN SYLLABICS CARRIER MA;Lo;0;L;;;;;N;;;;; +160E;CANADIAN SYLLABICS CARRIER YU;Lo;0;L;;;;;N;;;;; +160F;CANADIAN SYLLABICS CARRIER YO;Lo;0;L;;;;;N;;;;; +1610;CANADIAN SYLLABICS CARRIER YE;Lo;0;L;;;;;N;;;;; +1611;CANADIAN SYLLABICS CARRIER YEE;Lo;0;L;;;;;N;;;;; +1612;CANADIAN SYLLABICS CARRIER YI;Lo;0;L;;;;;N;;;;; +1613;CANADIAN SYLLABICS CARRIER YA;Lo;0;L;;;;;N;;;;; +1614;CANADIAN SYLLABICS CARRIER JU;Lo;0;L;;;;;N;;;;; +1615;CANADIAN SYLLABICS SAYISI JU;Lo;0;L;;;;;N;;;;; +1616;CANADIAN SYLLABICS CARRIER JO;Lo;0;L;;;;;N;;;;; +1617;CANADIAN SYLLABICS CARRIER JE;Lo;0;L;;;;;N;;;;; +1618;CANADIAN SYLLABICS CARRIER JEE;Lo;0;L;;;;;N;;;;; +1619;CANADIAN SYLLABICS CARRIER JI;Lo;0;L;;;;;N;;;;; +161A;CANADIAN SYLLABICS SAYISI JI;Lo;0;L;;;;;N;;;;; +161B;CANADIAN SYLLABICS CARRIER JA;Lo;0;L;;;;;N;;;;; +161C;CANADIAN SYLLABICS CARRIER JJU;Lo;0;L;;;;;N;;;;; +161D;CANADIAN SYLLABICS CARRIER JJO;Lo;0;L;;;;;N;;;;; +161E;CANADIAN SYLLABICS CARRIER JJE;Lo;0;L;;;;;N;;;;; +161F;CANADIAN SYLLABICS CARRIER JJEE;Lo;0;L;;;;;N;;;;; +1620;CANADIAN SYLLABICS CARRIER JJI;Lo;0;L;;;;;N;;;;; +1621;CANADIAN SYLLABICS CARRIER JJA;Lo;0;L;;;;;N;;;;; +1622;CANADIAN SYLLABICS CARRIER LU;Lo;0;L;;;;;N;;;;; +1623;CANADIAN SYLLABICS CARRIER LO;Lo;0;L;;;;;N;;;;; +1624;CANADIAN SYLLABICS CARRIER LE;Lo;0;L;;;;;N;;;;; +1625;CANADIAN SYLLABICS CARRIER LEE;Lo;0;L;;;;;N;;;;; +1626;CANADIAN SYLLABICS CARRIER LI;Lo;0;L;;;;;N;;;;; +1627;CANADIAN SYLLABICS CARRIER LA;Lo;0;L;;;;;N;;;;; +1628;CANADIAN SYLLABICS CARRIER DLU;Lo;0;L;;;;;N;;;;; +1629;CANADIAN SYLLABICS CARRIER DLO;Lo;0;L;;;;;N;;;;; +162A;CANADIAN SYLLABICS CARRIER DLE;Lo;0;L;;;;;N;;;;; +162B;CANADIAN SYLLABICS CARRIER DLEE;Lo;0;L;;;;;N;;;;; +162C;CANADIAN SYLLABICS CARRIER DLI;Lo;0;L;;;;;N;;;;; +162D;CANADIAN SYLLABICS CARRIER DLA;Lo;0;L;;;;;N;;;;; +162E;CANADIAN SYLLABICS CARRIER LHU;Lo;0;L;;;;;N;;;;; +162F;CANADIAN SYLLABICS CARRIER LHO;Lo;0;L;;;;;N;;;;; +1630;CANADIAN SYLLABICS CARRIER LHE;Lo;0;L;;;;;N;;;;; +1631;CANADIAN SYLLABICS CARRIER LHEE;Lo;0;L;;;;;N;;;;; +1632;CANADIAN SYLLABICS CARRIER LHI;Lo;0;L;;;;;N;;;;; +1633;CANADIAN SYLLABICS CARRIER LHA;Lo;0;L;;;;;N;;;;; +1634;CANADIAN SYLLABICS CARRIER TLHU;Lo;0;L;;;;;N;;;;; +1635;CANADIAN SYLLABICS CARRIER TLHO;Lo;0;L;;;;;N;;;;; +1636;CANADIAN SYLLABICS CARRIER TLHE;Lo;0;L;;;;;N;;;;; +1637;CANADIAN SYLLABICS CARRIER TLHEE;Lo;0;L;;;;;N;;;;; +1638;CANADIAN SYLLABICS CARRIER TLHI;Lo;0;L;;;;;N;;;;; +1639;CANADIAN SYLLABICS CARRIER TLHA;Lo;0;L;;;;;N;;;;; +163A;CANADIAN SYLLABICS CARRIER TLU;Lo;0;L;;;;;N;;;;; +163B;CANADIAN SYLLABICS CARRIER TLO;Lo;0;L;;;;;N;;;;; +163C;CANADIAN SYLLABICS CARRIER TLE;Lo;0;L;;;;;N;;;;; +163D;CANADIAN SYLLABICS CARRIER TLEE;Lo;0;L;;;;;N;;;;; +163E;CANADIAN SYLLABICS CARRIER TLI;Lo;0;L;;;;;N;;;;; +163F;CANADIAN SYLLABICS CARRIER TLA;Lo;0;L;;;;;N;;;;; +1640;CANADIAN SYLLABICS CARRIER ZU;Lo;0;L;;;;;N;;;;; +1641;CANADIAN SYLLABICS CARRIER ZO;Lo;0;L;;;;;N;;;;; +1642;CANADIAN SYLLABICS CARRIER ZE;Lo;0;L;;;;;N;;;;; +1643;CANADIAN SYLLABICS CARRIER ZEE;Lo;0;L;;;;;N;;;;; +1644;CANADIAN SYLLABICS CARRIER ZI;Lo;0;L;;;;;N;;;;; +1645;CANADIAN SYLLABICS CARRIER ZA;Lo;0;L;;;;;N;;;;; +1646;CANADIAN SYLLABICS CARRIER Z;Lo;0;L;;;;;N;;;;; +1647;CANADIAN SYLLABICS CARRIER INITIAL Z;Lo;0;L;;;;;N;;;;; +1648;CANADIAN SYLLABICS CARRIER DZU;Lo;0;L;;;;;N;;;;; +1649;CANADIAN SYLLABICS CARRIER DZO;Lo;0;L;;;;;N;;;;; +164A;CANADIAN SYLLABICS CARRIER DZE;Lo;0;L;;;;;N;;;;; +164B;CANADIAN SYLLABICS CARRIER DZEE;Lo;0;L;;;;;N;;;;; +164C;CANADIAN SYLLABICS CARRIER DZI;Lo;0;L;;;;;N;;;;; +164D;CANADIAN SYLLABICS CARRIER DZA;Lo;0;L;;;;;N;;;;; +164E;CANADIAN SYLLABICS CARRIER SU;Lo;0;L;;;;;N;;;;; +164F;CANADIAN SYLLABICS CARRIER SO;Lo;0;L;;;;;N;;;;; +1650;CANADIAN SYLLABICS CARRIER SE;Lo;0;L;;;;;N;;;;; +1651;CANADIAN SYLLABICS CARRIER SEE;Lo;0;L;;;;;N;;;;; +1652;CANADIAN SYLLABICS CARRIER SI;Lo;0;L;;;;;N;;;;; +1653;CANADIAN SYLLABICS CARRIER SA;Lo;0;L;;;;;N;;;;; +1654;CANADIAN SYLLABICS CARRIER SHU;Lo;0;L;;;;;N;;;;; +1655;CANADIAN SYLLABICS CARRIER SHO;Lo;0;L;;;;;N;;;;; +1656;CANADIAN SYLLABICS CARRIER SHE;Lo;0;L;;;;;N;;;;; +1657;CANADIAN SYLLABICS CARRIER SHEE;Lo;0;L;;;;;N;;;;; +1658;CANADIAN SYLLABICS CARRIER SHI;Lo;0;L;;;;;N;;;;; +1659;CANADIAN SYLLABICS CARRIER SHA;Lo;0;L;;;;;N;;;;; +165A;CANADIAN SYLLABICS CARRIER SH;Lo;0;L;;;;;N;;;;; +165B;CANADIAN SYLLABICS CARRIER TSU;Lo;0;L;;;;;N;;;;; +165C;CANADIAN SYLLABICS CARRIER TSO;Lo;0;L;;;;;N;;;;; +165D;CANADIAN SYLLABICS CARRIER TSE;Lo;0;L;;;;;N;;;;; +165E;CANADIAN SYLLABICS CARRIER TSEE;Lo;0;L;;;;;N;;;;; +165F;CANADIAN SYLLABICS CARRIER TSI;Lo;0;L;;;;;N;;;;; +1660;CANADIAN SYLLABICS CARRIER TSA;Lo;0;L;;;;;N;;;;; +1661;CANADIAN SYLLABICS CARRIER CHU;Lo;0;L;;;;;N;;;;; +1662;CANADIAN SYLLABICS CARRIER CHO;Lo;0;L;;;;;N;;;;; +1663;CANADIAN SYLLABICS CARRIER CHE;Lo;0;L;;;;;N;;;;; +1664;CANADIAN SYLLABICS CARRIER CHEE;Lo;0;L;;;;;N;;;;; +1665;CANADIAN SYLLABICS CARRIER CHI;Lo;0;L;;;;;N;;;;; +1666;CANADIAN SYLLABICS CARRIER CHA;Lo;0;L;;;;;N;;;;; +1667;CANADIAN SYLLABICS CARRIER TTSU;Lo;0;L;;;;;N;;;;; +1668;CANADIAN SYLLABICS CARRIER TTSO;Lo;0;L;;;;;N;;;;; +1669;CANADIAN SYLLABICS CARRIER TTSE;Lo;0;L;;;;;N;;;;; +166A;CANADIAN SYLLABICS CARRIER TTSEE;Lo;0;L;;;;;N;;;;; +166B;CANADIAN SYLLABICS CARRIER TTSI;Lo;0;L;;;;;N;;;;; +166C;CANADIAN SYLLABICS CARRIER TTSA;Lo;0;L;;;;;N;;;;; +166D;CANADIAN SYLLABICS CHI SIGN;So;0;L;;;;;N;;;;; +166E;CANADIAN SYLLABICS FULL STOP;Po;0;L;;;;;N;;;;; +166F;CANADIAN SYLLABICS QAI;Lo;0;L;;;;;N;;;;; +1670;CANADIAN SYLLABICS NGAI;Lo;0;L;;;;;N;;;;; +1671;CANADIAN SYLLABICS NNGI;Lo;0;L;;;;;N;;;;; +1672;CANADIAN SYLLABICS NNGII;Lo;0;L;;;;;N;;;;; +1673;CANADIAN SYLLABICS NNGO;Lo;0;L;;;;;N;;;;; +1674;CANADIAN SYLLABICS NNGOO;Lo;0;L;;;;;N;;;;; +1675;CANADIAN SYLLABICS NNGA;Lo;0;L;;;;;N;;;;; +1676;CANADIAN SYLLABICS NNGAA;Lo;0;L;;;;;N;;;;; +1677;CANADIAN SYLLABICS WOODS-CREE THWEE;Lo;0;L;;;;;N;;;;; +1678;CANADIAN SYLLABICS WOODS-CREE THWI;Lo;0;L;;;;;N;;;;; +1679;CANADIAN SYLLABICS WOODS-CREE THWII;Lo;0;L;;;;;N;;;;; +167A;CANADIAN SYLLABICS WOODS-CREE THWO;Lo;0;L;;;;;N;;;;; +167B;CANADIAN SYLLABICS WOODS-CREE THWOO;Lo;0;L;;;;;N;;;;; +167C;CANADIAN SYLLABICS WOODS-CREE THWA;Lo;0;L;;;;;N;;;;; +167D;CANADIAN SYLLABICS WOODS-CREE THWAA;Lo;0;L;;;;;N;;;;; +167E;CANADIAN SYLLABICS WOODS-CREE FINAL TH;Lo;0;L;;;;;N;;;;; +167F;CANADIAN SYLLABICS BLACKFOOT W;Lo;0;L;;;;;N;;;;; +1680;OGHAM SPACE MARK;Zs;0;WS;;;;;N;;;;; +1681;OGHAM LETTER BEITH;Lo;0;L;;;;;N;;;;; +1682;OGHAM LETTER LUIS;Lo;0;L;;;;;N;;;;; +1683;OGHAM LETTER FEARN;Lo;0;L;;;;;N;;;;; +1684;OGHAM LETTER SAIL;Lo;0;L;;;;;N;;;;; +1685;OGHAM LETTER NION;Lo;0;L;;;;;N;;;;; +1686;OGHAM LETTER UATH;Lo;0;L;;;;;N;;;;; +1687;OGHAM LETTER DAIR;Lo;0;L;;;;;N;;;;; +1688;OGHAM LETTER TINNE;Lo;0;L;;;;;N;;;;; +1689;OGHAM LETTER COLL;Lo;0;L;;;;;N;;;;; +168A;OGHAM LETTER CEIRT;Lo;0;L;;;;;N;;;;; +168B;OGHAM LETTER MUIN;Lo;0;L;;;;;N;;;;; +168C;OGHAM LETTER GORT;Lo;0;L;;;;;N;;;;; +168D;OGHAM LETTER NGEADAL;Lo;0;L;;;;;N;;;;; +168E;OGHAM LETTER STRAIF;Lo;0;L;;;;;N;;;;; +168F;OGHAM LETTER RUIS;Lo;0;L;;;;;N;;;;; +1690;OGHAM LETTER AILM;Lo;0;L;;;;;N;;;;; +1691;OGHAM LETTER ONN;Lo;0;L;;;;;N;;;;; +1692;OGHAM LETTER UR;Lo;0;L;;;;;N;;;;; +1693;OGHAM LETTER EADHADH;Lo;0;L;;;;;N;;;;; +1694;OGHAM LETTER IODHADH;Lo;0;L;;;;;N;;;;; +1695;OGHAM LETTER EABHADH;Lo;0;L;;;;;N;;;;; +1696;OGHAM LETTER OR;Lo;0;L;;;;;N;;;;; +1697;OGHAM LETTER UILLEANN;Lo;0;L;;;;;N;;;;; +1698;OGHAM LETTER IFIN;Lo;0;L;;;;;N;;;;; +1699;OGHAM LETTER EAMHANCHOLL;Lo;0;L;;;;;N;;;;; +169A;OGHAM LETTER PEITH;Lo;0;L;;;;;N;;;;; +169B;OGHAM FEATHER MARK;Ps;0;ON;;;;;Y;;;;; +169C;OGHAM REVERSED FEATHER MARK;Pe;0;ON;;;;;Y;;;;; +16A0;RUNIC LETTER FEHU FEOH FE F;Lo;0;L;;;;;N;;;;; +16A1;RUNIC LETTER V;Lo;0;L;;;;;N;;;;; +16A2;RUNIC LETTER URUZ UR U;Lo;0;L;;;;;N;;;;; +16A3;RUNIC LETTER YR;Lo;0;L;;;;;N;;;;; +16A4;RUNIC LETTER Y;Lo;0;L;;;;;N;;;;; +16A5;RUNIC LETTER W;Lo;0;L;;;;;N;;;;; +16A6;RUNIC LETTER THURISAZ THURS THORN;Lo;0;L;;;;;N;;;;; +16A7;RUNIC LETTER ETH;Lo;0;L;;;;;N;;;;; +16A8;RUNIC LETTER ANSUZ A;Lo;0;L;;;;;N;;;;; +16A9;RUNIC LETTER OS O;Lo;0;L;;;;;N;;;;; +16AA;RUNIC LETTER AC A;Lo;0;L;;;;;N;;;;; +16AB;RUNIC LETTER AESC;Lo;0;L;;;;;N;;;;; +16AC;RUNIC LETTER LONG-BRANCH-OSS O;Lo;0;L;;;;;N;;;;; +16AD;RUNIC LETTER SHORT-TWIG-OSS O;Lo;0;L;;;;;N;;;;; +16AE;RUNIC LETTER O;Lo;0;L;;;;;N;;;;; +16AF;RUNIC LETTER OE;Lo;0;L;;;;;N;;;;; +16B0;RUNIC LETTER ON;Lo;0;L;;;;;N;;;;; +16B1;RUNIC LETTER RAIDO RAD REID R;Lo;0;L;;;;;N;;;;; +16B2;RUNIC LETTER KAUNA;Lo;0;L;;;;;N;;;;; +16B3;RUNIC LETTER CEN;Lo;0;L;;;;;N;;;;; +16B4;RUNIC LETTER KAUN K;Lo;0;L;;;;;N;;;;; +16B5;RUNIC LETTER G;Lo;0;L;;;;;N;;;;; +16B6;RUNIC LETTER ENG;Lo;0;L;;;;;N;;;;; +16B7;RUNIC LETTER GEBO GYFU G;Lo;0;L;;;;;N;;;;; +16B8;RUNIC LETTER GAR;Lo;0;L;;;;;N;;;;; +16B9;RUNIC LETTER WUNJO WYNN W;Lo;0;L;;;;;N;;;;; +16BA;RUNIC LETTER HAGLAZ H;Lo;0;L;;;;;N;;;;; +16BB;RUNIC LETTER HAEGL H;Lo;0;L;;;;;N;;;;; +16BC;RUNIC LETTER LONG-BRANCH-HAGALL H;Lo;0;L;;;;;N;;;;; +16BD;RUNIC LETTER SHORT-TWIG-HAGALL H;Lo;0;L;;;;;N;;;;; +16BE;RUNIC LETTER NAUDIZ NYD NAUD N;Lo;0;L;;;;;N;;;;; +16BF;RUNIC LETTER SHORT-TWIG-NAUD N;Lo;0;L;;;;;N;;;;; +16C0;RUNIC LETTER DOTTED-N;Lo;0;L;;;;;N;;;;; +16C1;RUNIC LETTER ISAZ IS ISS I;Lo;0;L;;;;;N;;;;; +16C2;RUNIC LETTER E;Lo;0;L;;;;;N;;;;; +16C3;RUNIC LETTER JERAN J;Lo;0;L;;;;;N;;;;; +16C4;RUNIC LETTER GER;Lo;0;L;;;;;N;;;;; +16C5;RUNIC LETTER LONG-BRANCH-AR AE;Lo;0;L;;;;;N;;;;; +16C6;RUNIC LETTER SHORT-TWIG-AR A;Lo;0;L;;;;;N;;;;; +16C7;RUNIC LETTER IWAZ EOH;Lo;0;L;;;;;N;;;;; +16C8;RUNIC LETTER PERTHO PEORTH P;Lo;0;L;;;;;N;;;;; +16C9;RUNIC LETTER ALGIZ EOLHX;Lo;0;L;;;;;N;;;;; +16CA;RUNIC LETTER SOWILO S;Lo;0;L;;;;;N;;;;; +16CB;RUNIC LETTER SIGEL LONG-BRANCH-SOL S;Lo;0;L;;;;;N;;;;; +16CC;RUNIC LETTER SHORT-TWIG-SOL S;Lo;0;L;;;;;N;;;;; +16CD;RUNIC LETTER C;Lo;0;L;;;;;N;;;;; +16CE;RUNIC LETTER Z;Lo;0;L;;;;;N;;;;; +16CF;RUNIC LETTER TIWAZ TIR TYR T;Lo;0;L;;;;;N;;;;; +16D0;RUNIC LETTER SHORT-TWIG-TYR T;Lo;0;L;;;;;N;;;;; +16D1;RUNIC LETTER D;Lo;0;L;;;;;N;;;;; +16D2;RUNIC LETTER BERKANAN BEORC BJARKAN B;Lo;0;L;;;;;N;;;;; +16D3;RUNIC LETTER SHORT-TWIG-BJARKAN B;Lo;0;L;;;;;N;;;;; +16D4;RUNIC LETTER DOTTED-P;Lo;0;L;;;;;N;;;;; +16D5;RUNIC LETTER OPEN-P;Lo;0;L;;;;;N;;;;; +16D6;RUNIC LETTER EHWAZ EH E;Lo;0;L;;;;;N;;;;; +16D7;RUNIC LETTER MANNAZ MAN M;Lo;0;L;;;;;N;;;;; +16D8;RUNIC LETTER LONG-BRANCH-MADR M;Lo;0;L;;;;;N;;;;; +16D9;RUNIC LETTER SHORT-TWIG-MADR M;Lo;0;L;;;;;N;;;;; +16DA;RUNIC LETTER LAUKAZ LAGU LOGR L;Lo;0;L;;;;;N;;;;; +16DB;RUNIC LETTER DOTTED-L;Lo;0;L;;;;;N;;;;; +16DC;RUNIC LETTER INGWAZ;Lo;0;L;;;;;N;;;;; +16DD;RUNIC LETTER ING;Lo;0;L;;;;;N;;;;; +16DE;RUNIC LETTER DAGAZ DAEG D;Lo;0;L;;;;;N;;;;; +16DF;RUNIC LETTER OTHALAN ETHEL O;Lo;0;L;;;;;N;;;;; +16E0;RUNIC LETTER EAR;Lo;0;L;;;;;N;;;;; +16E1;RUNIC LETTER IOR;Lo;0;L;;;;;N;;;;; +16E2;RUNIC LETTER CWEORTH;Lo;0;L;;;;;N;;;;; +16E3;RUNIC LETTER CALC;Lo;0;L;;;;;N;;;;; +16E4;RUNIC LETTER CEALC;Lo;0;L;;;;;N;;;;; +16E5;RUNIC LETTER STAN;Lo;0;L;;;;;N;;;;; +16E6;RUNIC LETTER LONG-BRANCH-YR;Lo;0;L;;;;;N;;;;; +16E7;RUNIC LETTER SHORT-TWIG-YR;Lo;0;L;;;;;N;;;;; +16E8;RUNIC LETTER ICELANDIC-YR;Lo;0;L;;;;;N;;;;; +16E9;RUNIC LETTER Q;Lo;0;L;;;;;N;;;;; +16EA;RUNIC LETTER X;Lo;0;L;;;;;N;;;;; +16EB;RUNIC SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; +16EC;RUNIC MULTIPLE PUNCTUATION;Po;0;L;;;;;N;;;;; +16ED;RUNIC CROSS PUNCTUATION;Po;0;L;;;;;N;;;;; +16EE;RUNIC ARLAUG SYMBOL;Nl;0;L;;;;17;N;;;;; +16EF;RUNIC TVIMADUR SYMBOL;Nl;0;L;;;;18;N;;;;; +16F0;RUNIC BELGTHOR SYMBOL;Nl;0;L;;;;19;N;;;;; +16F1;RUNIC LETTER K;Lo;0;L;;;;;N;;;;; +16F2;RUNIC LETTER SH;Lo;0;L;;;;;N;;;;; +16F3;RUNIC LETTER OO;Lo;0;L;;;;;N;;;;; +16F4;RUNIC LETTER FRANKS CASKET OS;Lo;0;L;;;;;N;;;;; +16F5;RUNIC LETTER FRANKS CASKET IS;Lo;0;L;;;;;N;;;;; +16F6;RUNIC LETTER FRANKS CASKET EH;Lo;0;L;;;;;N;;;;; +16F7;RUNIC LETTER FRANKS CASKET AC;Lo;0;L;;;;;N;;;;; +16F8;RUNIC LETTER FRANKS CASKET AESC;Lo;0;L;;;;;N;;;;; +1700;TAGALOG LETTER A;Lo;0;L;;;;;N;;;;; +1701;TAGALOG LETTER I;Lo;0;L;;;;;N;;;;; +1702;TAGALOG LETTER U;Lo;0;L;;;;;N;;;;; +1703;TAGALOG LETTER KA;Lo;0;L;;;;;N;;;;; +1704;TAGALOG LETTER GA;Lo;0;L;;;;;N;;;;; +1705;TAGALOG LETTER NGA;Lo;0;L;;;;;N;;;;; +1706;TAGALOG LETTER TA;Lo;0;L;;;;;N;;;;; +1707;TAGALOG LETTER DA;Lo;0;L;;;;;N;;;;; +1708;TAGALOG LETTER NA;Lo;0;L;;;;;N;;;;; +1709;TAGALOG LETTER PA;Lo;0;L;;;;;N;;;;; +170A;TAGALOG LETTER BA;Lo;0;L;;;;;N;;;;; +170B;TAGALOG LETTER MA;Lo;0;L;;;;;N;;;;; +170C;TAGALOG LETTER YA;Lo;0;L;;;;;N;;;;; +170E;TAGALOG LETTER LA;Lo;0;L;;;;;N;;;;; +170F;TAGALOG LETTER WA;Lo;0;L;;;;;N;;;;; +1710;TAGALOG LETTER SA;Lo;0;L;;;;;N;;;;; +1711;TAGALOG LETTER HA;Lo;0;L;;;;;N;;;;; +1712;TAGALOG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1713;TAGALOG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1714;TAGALOG SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +1720;HANUNOO LETTER A;Lo;0;L;;;;;N;;;;; +1721;HANUNOO LETTER I;Lo;0;L;;;;;N;;;;; +1722;HANUNOO LETTER U;Lo;0;L;;;;;N;;;;; +1723;HANUNOO LETTER KA;Lo;0;L;;;;;N;;;;; +1724;HANUNOO LETTER GA;Lo;0;L;;;;;N;;;;; +1725;HANUNOO LETTER NGA;Lo;0;L;;;;;N;;;;; +1726;HANUNOO LETTER TA;Lo;0;L;;;;;N;;;;; +1727;HANUNOO LETTER DA;Lo;0;L;;;;;N;;;;; +1728;HANUNOO LETTER NA;Lo;0;L;;;;;N;;;;; +1729;HANUNOO LETTER PA;Lo;0;L;;;;;N;;;;; +172A;HANUNOO LETTER BA;Lo;0;L;;;;;N;;;;; +172B;HANUNOO LETTER MA;Lo;0;L;;;;;N;;;;; +172C;HANUNOO LETTER YA;Lo;0;L;;;;;N;;;;; +172D;HANUNOO LETTER RA;Lo;0;L;;;;;N;;;;; +172E;HANUNOO LETTER LA;Lo;0;L;;;;;N;;;;; +172F;HANUNOO LETTER WA;Lo;0;L;;;;;N;;;;; +1730;HANUNOO LETTER SA;Lo;0;L;;;;;N;;;;; +1731;HANUNOO LETTER HA;Lo;0;L;;;;;N;;;;; +1732;HANUNOO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1733;HANUNOO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1734;HANUNOO SIGN PAMUDPOD;Mn;9;NSM;;;;;N;;;;; +1735;PHILIPPINE SINGLE PUNCTUATION;Po;0;L;;;;;N;;;;; +1736;PHILIPPINE DOUBLE PUNCTUATION;Po;0;L;;;;;N;;;;; +1740;BUHID LETTER A;Lo;0;L;;;;;N;;;;; +1741;BUHID LETTER I;Lo;0;L;;;;;N;;;;; +1742;BUHID LETTER U;Lo;0;L;;;;;N;;;;; +1743;BUHID LETTER KA;Lo;0;L;;;;;N;;;;; +1744;BUHID LETTER GA;Lo;0;L;;;;;N;;;;; +1745;BUHID LETTER NGA;Lo;0;L;;;;;N;;;;; +1746;BUHID LETTER TA;Lo;0;L;;;;;N;;;;; +1747;BUHID LETTER DA;Lo;0;L;;;;;N;;;;; +1748;BUHID LETTER NA;Lo;0;L;;;;;N;;;;; +1749;BUHID LETTER PA;Lo;0;L;;;;;N;;;;; +174A;BUHID LETTER BA;Lo;0;L;;;;;N;;;;; +174B;BUHID LETTER MA;Lo;0;L;;;;;N;;;;; +174C;BUHID LETTER YA;Lo;0;L;;;;;N;;;;; +174D;BUHID LETTER RA;Lo;0;L;;;;;N;;;;; +174E;BUHID LETTER LA;Lo;0;L;;;;;N;;;;; +174F;BUHID LETTER WA;Lo;0;L;;;;;N;;;;; +1750;BUHID LETTER SA;Lo;0;L;;;;;N;;;;; +1751;BUHID LETTER HA;Lo;0;L;;;;;N;;;;; +1752;BUHID VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1753;BUHID VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1760;TAGBANWA LETTER A;Lo;0;L;;;;;N;;;;; +1761;TAGBANWA LETTER I;Lo;0;L;;;;;N;;;;; +1762;TAGBANWA LETTER U;Lo;0;L;;;;;N;;;;; +1763;TAGBANWA LETTER KA;Lo;0;L;;;;;N;;;;; +1764;TAGBANWA LETTER GA;Lo;0;L;;;;;N;;;;; +1765;TAGBANWA LETTER NGA;Lo;0;L;;;;;N;;;;; +1766;TAGBANWA LETTER TA;Lo;0;L;;;;;N;;;;; +1767;TAGBANWA LETTER DA;Lo;0;L;;;;;N;;;;; +1768;TAGBANWA LETTER NA;Lo;0;L;;;;;N;;;;; +1769;TAGBANWA LETTER PA;Lo;0;L;;;;;N;;;;; +176A;TAGBANWA LETTER BA;Lo;0;L;;;;;N;;;;; +176B;TAGBANWA LETTER MA;Lo;0;L;;;;;N;;;;; +176C;TAGBANWA LETTER YA;Lo;0;L;;;;;N;;;;; +176E;TAGBANWA LETTER LA;Lo;0;L;;;;;N;;;;; +176F;TAGBANWA LETTER WA;Lo;0;L;;;;;N;;;;; +1770;TAGBANWA LETTER SA;Lo;0;L;;;;;N;;;;; +1772;TAGBANWA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1773;TAGBANWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1780;KHMER LETTER KA;Lo;0;L;;;;;N;;;;; +1781;KHMER LETTER KHA;Lo;0;L;;;;;N;;;;; +1782;KHMER LETTER KO;Lo;0;L;;;;;N;;;;; +1783;KHMER LETTER KHO;Lo;0;L;;;;;N;;;;; +1784;KHMER LETTER NGO;Lo;0;L;;;;;N;;;;; +1785;KHMER LETTER CA;Lo;0;L;;;;;N;;;;; +1786;KHMER LETTER CHA;Lo;0;L;;;;;N;;;;; +1787;KHMER LETTER CO;Lo;0;L;;;;;N;;;;; +1788;KHMER LETTER CHO;Lo;0;L;;;;;N;;;;; +1789;KHMER LETTER NYO;Lo;0;L;;;;;N;;;;; +178A;KHMER LETTER DA;Lo;0;L;;;;;N;;;;; +178B;KHMER LETTER TTHA;Lo;0;L;;;;;N;;;;; +178C;KHMER LETTER DO;Lo;0;L;;;;;N;;;;; +178D;KHMER LETTER TTHO;Lo;0;L;;;;;N;;;;; +178E;KHMER LETTER NNO;Lo;0;L;;;;;N;;;;; +178F;KHMER LETTER TA;Lo;0;L;;;;;N;;;;; +1790;KHMER LETTER THA;Lo;0;L;;;;;N;;;;; +1791;KHMER LETTER TO;Lo;0;L;;;;;N;;;;; +1792;KHMER LETTER THO;Lo;0;L;;;;;N;;;;; +1793;KHMER LETTER NO;Lo;0;L;;;;;N;;;;; +1794;KHMER LETTER BA;Lo;0;L;;;;;N;;;;; +1795;KHMER LETTER PHA;Lo;0;L;;;;;N;;;;; +1796;KHMER LETTER PO;Lo;0;L;;;;;N;;;;; +1797;KHMER LETTER PHO;Lo;0;L;;;;;N;;;;; +1798;KHMER LETTER MO;Lo;0;L;;;;;N;;;;; +1799;KHMER LETTER YO;Lo;0;L;;;;;N;;;;; +179A;KHMER LETTER RO;Lo;0;L;;;;;N;;;;; +179B;KHMER LETTER LO;Lo;0;L;;;;;N;;;;; +179C;KHMER LETTER VO;Lo;0;L;;;;;N;;;;; +179D;KHMER LETTER SHA;Lo;0;L;;;;;N;;;;; +179E;KHMER LETTER SSO;Lo;0;L;;;;;N;;;;; +179F;KHMER LETTER SA;Lo;0;L;;;;;N;;;;; +17A0;KHMER LETTER HA;Lo;0;L;;;;;N;;;;; +17A1;KHMER LETTER LA;Lo;0;L;;;;;N;;;;; +17A2;KHMER LETTER QA;Lo;0;L;;;;;N;;;;; +17A3;KHMER INDEPENDENT VOWEL QAQ;Lo;0;L;;;;;N;;;;; +17A4;KHMER INDEPENDENT VOWEL QAA;Lo;0;L;;;;;N;;;;; +17A5;KHMER INDEPENDENT VOWEL QI;Lo;0;L;;;;;N;;;;; +17A6;KHMER INDEPENDENT VOWEL QII;Lo;0;L;;;;;N;;;;; +17A7;KHMER INDEPENDENT VOWEL QU;Lo;0;L;;;;;N;;;;; +17A8;KHMER INDEPENDENT VOWEL QUK;Lo;0;L;;;;;N;;;;; +17A9;KHMER INDEPENDENT VOWEL QUU;Lo;0;L;;;;;N;;;;; +17AA;KHMER INDEPENDENT VOWEL QUUV;Lo;0;L;;;;;N;;;;; +17AB;KHMER INDEPENDENT VOWEL RY;Lo;0;L;;;;;N;;;;; +17AC;KHMER INDEPENDENT VOWEL RYY;Lo;0;L;;;;;N;;;;; +17AD;KHMER INDEPENDENT VOWEL LY;Lo;0;L;;;;;N;;;;; +17AE;KHMER INDEPENDENT VOWEL LYY;Lo;0;L;;;;;N;;;;; +17AF;KHMER INDEPENDENT VOWEL QE;Lo;0;L;;;;;N;;;;; +17B0;KHMER INDEPENDENT VOWEL QAI;Lo;0;L;;;;;N;;;;; +17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;; +17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;; +17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;; +17B4;KHMER VOWEL INHERENT AQ;Mn;0;NSM;;;;;N;;;;; +17B5;KHMER VOWEL INHERENT AA;Mn;0;NSM;;;;;N;;;;; +17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +17B9;KHMER VOWEL SIGN Y;Mn;0;NSM;;;;;N;;;;; +17BA;KHMER VOWEL SIGN YY;Mn;0;NSM;;;;;N;;;;; +17BB;KHMER VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +17BC;KHMER VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +17BD;KHMER VOWEL SIGN UA;Mn;0;NSM;;;;;N;;;;; +17BE;KHMER VOWEL SIGN OE;Mc;0;L;;;;;N;;;;; +17BF;KHMER VOWEL SIGN YA;Mc;0;L;;;;;N;;;;; +17C0;KHMER VOWEL SIGN IE;Mc;0;L;;;;;N;;;;; +17C1;KHMER VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +17C2;KHMER VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +17C3;KHMER VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +17C4;KHMER VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +17C5;KHMER VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +17C6;KHMER SIGN NIKAHIT;Mn;0;NSM;;;;;N;;;;; +17C7;KHMER SIGN REAHMUK;Mc;0;L;;;;;N;;;;; +17C8;KHMER SIGN YUUKALEAPINTU;Mc;0;L;;;;;N;;;;; +17C9;KHMER SIGN MUUSIKATOAN;Mn;0;NSM;;;;;N;;;;; +17CA;KHMER SIGN TRIISAP;Mn;0;NSM;;;;;N;;;;; +17CB;KHMER SIGN BANTOC;Mn;0;NSM;;;;;N;;;;; +17CC;KHMER SIGN ROBAT;Mn;0;NSM;;;;;N;;;;; +17CD;KHMER SIGN TOANDAKHIAT;Mn;0;NSM;;;;;N;;;;; +17CE;KHMER SIGN KAKABAT;Mn;0;NSM;;;;;N;;;;; +17CF;KHMER SIGN AHSDA;Mn;0;NSM;;;;;N;;;;; +17D0;KHMER SIGN SAMYOK SANNYA;Mn;0;NSM;;;;;N;;;;; +17D1;KHMER SIGN VIRIAM;Mn;0;NSM;;;;;N;;;;; +17D2;KHMER SIGN COENG;Mn;9;NSM;;;;;N;;;;; +17D3;KHMER SIGN BATHAMASAT;Mn;0;NSM;;;;;N;;;;; +17D4;KHMER SIGN KHAN;Po;0;L;;;;;N;;;;; +17D5;KHMER SIGN BARIYOOSAN;Po;0;L;;;;;N;;;;; +17D6;KHMER SIGN CAMNUC PII KUUH;Po;0;L;;;;;N;;;;; +17D7;KHMER SIGN LEK TOO;Lm;0;L;;;;;N;;;;; +17D8;KHMER SIGN BEYYAL;Po;0;L;;;;;N;;;;; +17D9;KHMER SIGN PHNAEK MUAN;Po;0;L;;;;;N;;;;; +17DA;KHMER SIGN KOOMUUT;Po;0;L;;;;;N;;;;; +17DB;KHMER CURRENCY SYMBOL RIEL;Sc;0;ET;;;;;N;;;;; +17DC;KHMER SIGN AVAKRAHASANYA;Lo;0;L;;;;;N;;;;; +17DD;KHMER SIGN ATTHACAN;Mn;230;NSM;;;;;N;;;;; +17E0;KHMER DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +17E1;KHMER DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +17E2;KHMER DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +17E3;KHMER DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +17E4;KHMER DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +17E5;KHMER DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +17E6;KHMER DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +17E7;KHMER DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +17E8;KHMER DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +17E9;KHMER DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +17F0;KHMER SYMBOL LEK ATTAK SON;No;0;ON;;;;0;N;;;;; +17F1;KHMER SYMBOL LEK ATTAK MUOY;No;0;ON;;;;1;N;;;;; +17F2;KHMER SYMBOL LEK ATTAK PII;No;0;ON;;;;2;N;;;;; +17F3;KHMER SYMBOL LEK ATTAK BEI;No;0;ON;;;;3;N;;;;; +17F4;KHMER SYMBOL LEK ATTAK BUON;No;0;ON;;;;4;N;;;;; +17F5;KHMER SYMBOL LEK ATTAK PRAM;No;0;ON;;;;5;N;;;;; +17F6;KHMER SYMBOL LEK ATTAK PRAM-MUOY;No;0;ON;;;;6;N;;;;; +17F7;KHMER SYMBOL LEK ATTAK PRAM-PII;No;0;ON;;;;7;N;;;;; +17F8;KHMER SYMBOL LEK ATTAK PRAM-BEI;No;0;ON;;;;8;N;;;;; +17F9;KHMER SYMBOL LEK ATTAK PRAM-BUON;No;0;ON;;;;9;N;;;;; +1800;MONGOLIAN BIRGA;Po;0;ON;;;;;N;;;;; +1801;MONGOLIAN ELLIPSIS;Po;0;ON;;;;;N;;;;; +1802;MONGOLIAN COMMA;Po;0;ON;;;;;N;;;;; +1803;MONGOLIAN FULL STOP;Po;0;ON;;;;;N;;;;; +1804;MONGOLIAN COLON;Po;0;ON;;;;;N;;;;; +1805;MONGOLIAN FOUR DOTS;Po;0;ON;;;;;N;;;;; +1806;MONGOLIAN TODO SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; +1807;MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER;Po;0;ON;;;;;N;;;;; +1808;MONGOLIAN MANCHU COMMA;Po;0;ON;;;;;N;;;;; +1809;MONGOLIAN MANCHU FULL STOP;Po;0;ON;;;;;N;;;;; +180A;MONGOLIAN NIRUGU;Po;0;ON;;;;;N;;;;; +180B;MONGOLIAN FREE VARIATION SELECTOR ONE;Mn;0;NSM;;;;;N;;;;; +180C;MONGOLIAN FREE VARIATION SELECTOR TWO;Mn;0;NSM;;;;;N;;;;; +180D;MONGOLIAN FREE VARIATION SELECTOR THREE;Mn;0;NSM;;;;;N;;;;; +180E;MONGOLIAN VOWEL SEPARATOR;Cf;0;BN;;;;;N;;;;; +1810;MONGOLIAN DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1811;MONGOLIAN DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1812;MONGOLIAN DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1813;MONGOLIAN DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1814;MONGOLIAN DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1815;MONGOLIAN DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1816;MONGOLIAN DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1817;MONGOLIAN DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1818;MONGOLIAN DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1819;MONGOLIAN DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1820;MONGOLIAN LETTER A;Lo;0;L;;;;;N;;;;; +1821;MONGOLIAN LETTER E;Lo;0;L;;;;;N;;;;; +1822;MONGOLIAN LETTER I;Lo;0;L;;;;;N;;;;; +1823;MONGOLIAN LETTER O;Lo;0;L;;;;;N;;;;; +1824;MONGOLIAN LETTER U;Lo;0;L;;;;;N;;;;; +1825;MONGOLIAN LETTER OE;Lo;0;L;;;;;N;;;;; +1826;MONGOLIAN LETTER UE;Lo;0;L;;;;;N;;;;; +1827;MONGOLIAN LETTER EE;Lo;0;L;;;;;N;;;;; +1828;MONGOLIAN LETTER NA;Lo;0;L;;;;;N;;;;; +1829;MONGOLIAN LETTER ANG;Lo;0;L;;;;;N;;;;; +182A;MONGOLIAN LETTER BA;Lo;0;L;;;;;N;;;;; +182B;MONGOLIAN LETTER PA;Lo;0;L;;;;;N;;;;; +182C;MONGOLIAN LETTER QA;Lo;0;L;;;;;N;;;;; +182D;MONGOLIAN LETTER GA;Lo;0;L;;;;;N;;;;; +182E;MONGOLIAN LETTER MA;Lo;0;L;;;;;N;;;;; +182F;MONGOLIAN LETTER LA;Lo;0;L;;;;;N;;;;; +1830;MONGOLIAN LETTER SA;Lo;0;L;;;;;N;;;;; +1831;MONGOLIAN LETTER SHA;Lo;0;L;;;;;N;;;;; +1832;MONGOLIAN LETTER TA;Lo;0;L;;;;;N;;;;; +1833;MONGOLIAN LETTER DA;Lo;0;L;;;;;N;;;;; +1834;MONGOLIAN LETTER CHA;Lo;0;L;;;;;N;;;;; +1835;MONGOLIAN LETTER JA;Lo;0;L;;;;;N;;;;; +1836;MONGOLIAN LETTER YA;Lo;0;L;;;;;N;;;;; +1837;MONGOLIAN LETTER RA;Lo;0;L;;;;;N;;;;; +1838;MONGOLIAN LETTER WA;Lo;0;L;;;;;N;;;;; +1839;MONGOLIAN LETTER FA;Lo;0;L;;;;;N;;;;; +183A;MONGOLIAN LETTER KA;Lo;0;L;;;;;N;;;;; +183B;MONGOLIAN LETTER KHA;Lo;0;L;;;;;N;;;;; +183C;MONGOLIAN LETTER TSA;Lo;0;L;;;;;N;;;;; +183D;MONGOLIAN LETTER ZA;Lo;0;L;;;;;N;;;;; +183E;MONGOLIAN LETTER HAA;Lo;0;L;;;;;N;;;;; +183F;MONGOLIAN LETTER ZRA;Lo;0;L;;;;;N;;;;; +1840;MONGOLIAN LETTER LHA;Lo;0;L;;;;;N;;;;; +1841;MONGOLIAN LETTER ZHI;Lo;0;L;;;;;N;;;;; +1842;MONGOLIAN LETTER CHI;Lo;0;L;;;;;N;;;;; +1843;MONGOLIAN LETTER TODO LONG VOWEL SIGN;Lm;0;L;;;;;N;;;;; +1844;MONGOLIAN LETTER TODO E;Lo;0;L;;;;;N;;;;; +1845;MONGOLIAN LETTER TODO I;Lo;0;L;;;;;N;;;;; +1846;MONGOLIAN LETTER TODO O;Lo;0;L;;;;;N;;;;; +1847;MONGOLIAN LETTER TODO U;Lo;0;L;;;;;N;;;;; +1848;MONGOLIAN LETTER TODO OE;Lo;0;L;;;;;N;;;;; +1849;MONGOLIAN LETTER TODO UE;Lo;0;L;;;;;N;;;;; +184A;MONGOLIAN LETTER TODO ANG;Lo;0;L;;;;;N;;;;; +184B;MONGOLIAN LETTER TODO BA;Lo;0;L;;;;;N;;;;; +184C;MONGOLIAN LETTER TODO PA;Lo;0;L;;;;;N;;;;; +184D;MONGOLIAN LETTER TODO QA;Lo;0;L;;;;;N;;;;; +184E;MONGOLIAN LETTER TODO GA;Lo;0;L;;;;;N;;;;; +184F;MONGOLIAN LETTER TODO MA;Lo;0;L;;;;;N;;;;; +1850;MONGOLIAN LETTER TODO TA;Lo;0;L;;;;;N;;;;; +1851;MONGOLIAN LETTER TODO DA;Lo;0;L;;;;;N;;;;; +1852;MONGOLIAN LETTER TODO CHA;Lo;0;L;;;;;N;;;;; +1853;MONGOLIAN LETTER TODO JA;Lo;0;L;;;;;N;;;;; +1854;MONGOLIAN LETTER TODO TSA;Lo;0;L;;;;;N;;;;; +1855;MONGOLIAN LETTER TODO YA;Lo;0;L;;;;;N;;;;; +1856;MONGOLIAN LETTER TODO WA;Lo;0;L;;;;;N;;;;; +1857;MONGOLIAN LETTER TODO KA;Lo;0;L;;;;;N;;;;; +1858;MONGOLIAN LETTER TODO GAA;Lo;0;L;;;;;N;;;;; +1859;MONGOLIAN LETTER TODO HAA;Lo;0;L;;;;;N;;;;; +185A;MONGOLIAN LETTER TODO JIA;Lo;0;L;;;;;N;;;;; +185B;MONGOLIAN LETTER TODO NIA;Lo;0;L;;;;;N;;;;; +185C;MONGOLIAN LETTER TODO DZA;Lo;0;L;;;;;N;;;;; +185D;MONGOLIAN LETTER SIBE E;Lo;0;L;;;;;N;;;;; +185E;MONGOLIAN LETTER SIBE I;Lo;0;L;;;;;N;;;;; +185F;MONGOLIAN LETTER SIBE IY;Lo;0;L;;;;;N;;;;; +1860;MONGOLIAN LETTER SIBE UE;Lo;0;L;;;;;N;;;;; +1861;MONGOLIAN LETTER SIBE U;Lo;0;L;;;;;N;;;;; +1862;MONGOLIAN LETTER SIBE ANG;Lo;0;L;;;;;N;;;;; +1863;MONGOLIAN LETTER SIBE KA;Lo;0;L;;;;;N;;;;; +1864;MONGOLIAN LETTER SIBE GA;Lo;0;L;;;;;N;;;;; +1865;MONGOLIAN LETTER SIBE HA;Lo;0;L;;;;;N;;;;; +1866;MONGOLIAN LETTER SIBE PA;Lo;0;L;;;;;N;;;;; +1867;MONGOLIAN LETTER SIBE SHA;Lo;0;L;;;;;N;;;;; +1868;MONGOLIAN LETTER SIBE TA;Lo;0;L;;;;;N;;;;; +1869;MONGOLIAN LETTER SIBE DA;Lo;0;L;;;;;N;;;;; +186A;MONGOLIAN LETTER SIBE JA;Lo;0;L;;;;;N;;;;; +186B;MONGOLIAN LETTER SIBE FA;Lo;0;L;;;;;N;;;;; +186C;MONGOLIAN LETTER SIBE GAA;Lo;0;L;;;;;N;;;;; +186D;MONGOLIAN LETTER SIBE HAA;Lo;0;L;;;;;N;;;;; +186E;MONGOLIAN LETTER SIBE TSA;Lo;0;L;;;;;N;;;;; +186F;MONGOLIAN LETTER SIBE ZA;Lo;0;L;;;;;N;;;;; +1870;MONGOLIAN LETTER SIBE RAA;Lo;0;L;;;;;N;;;;; +1871;MONGOLIAN LETTER SIBE CHA;Lo;0;L;;;;;N;;;;; +1872;MONGOLIAN LETTER SIBE ZHA;Lo;0;L;;;;;N;;;;; +1873;MONGOLIAN LETTER MANCHU I;Lo;0;L;;;;;N;;;;; +1874;MONGOLIAN LETTER MANCHU KA;Lo;0;L;;;;;N;;;;; +1875;MONGOLIAN LETTER MANCHU RA;Lo;0;L;;;;;N;;;;; +1876;MONGOLIAN LETTER MANCHU FA;Lo;0;L;;;;;N;;;;; +1877;MONGOLIAN LETTER MANCHU ZHA;Lo;0;L;;;;;N;;;;; +1878;MONGOLIAN LETTER CHA WITH TWO DOTS;Lo;0;L;;;;;N;;;;; +1880;MONGOLIAN LETTER ALI GALI ANUSVARA ONE;Lo;0;L;;;;;N;;;;; +1881;MONGOLIAN LETTER ALI GALI VISARGA ONE;Lo;0;L;;;;;N;;;;; +1882;MONGOLIAN LETTER ALI GALI DAMARU;Lo;0;L;;;;;N;;;;; +1883;MONGOLIAN LETTER ALI GALI UBADAMA;Lo;0;L;;;;;N;;;;; +1884;MONGOLIAN LETTER ALI GALI INVERTED UBADAMA;Lo;0;L;;;;;N;;;;; +1885;MONGOLIAN LETTER ALI GALI BALUDA;Mn;0;NSM;;;;;N;;;;; +1886;MONGOLIAN LETTER ALI GALI THREE BALUDA;Mn;0;NSM;;;;;N;;;;; +1887;MONGOLIAN LETTER ALI GALI A;Lo;0;L;;;;;N;;;;; +1888;MONGOLIAN LETTER ALI GALI I;Lo;0;L;;;;;N;;;;; +1889;MONGOLIAN LETTER ALI GALI KA;Lo;0;L;;;;;N;;;;; +188A;MONGOLIAN LETTER ALI GALI NGA;Lo;0;L;;;;;N;;;;; +188B;MONGOLIAN LETTER ALI GALI CA;Lo;0;L;;;;;N;;;;; +188C;MONGOLIAN LETTER ALI GALI TTA;Lo;0;L;;;;;N;;;;; +188D;MONGOLIAN LETTER ALI GALI TTHA;Lo;0;L;;;;;N;;;;; +188E;MONGOLIAN LETTER ALI GALI DDA;Lo;0;L;;;;;N;;;;; +188F;MONGOLIAN LETTER ALI GALI NNA;Lo;0;L;;;;;N;;;;; +1890;MONGOLIAN LETTER ALI GALI TA;Lo;0;L;;;;;N;;;;; +1891;MONGOLIAN LETTER ALI GALI DA;Lo;0;L;;;;;N;;;;; +1892;MONGOLIAN LETTER ALI GALI PA;Lo;0;L;;;;;N;;;;; +1893;MONGOLIAN LETTER ALI GALI PHA;Lo;0;L;;;;;N;;;;; +1894;MONGOLIAN LETTER ALI GALI SSA;Lo;0;L;;;;;N;;;;; +1895;MONGOLIAN LETTER ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +1896;MONGOLIAN LETTER ALI GALI ZA;Lo;0;L;;;;;N;;;;; +1897;MONGOLIAN LETTER ALI GALI AH;Lo;0;L;;;;;N;;;;; +1898;MONGOLIAN LETTER TODO ALI GALI TA;Lo;0;L;;;;;N;;;;; +1899;MONGOLIAN LETTER TODO ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +189A;MONGOLIAN LETTER MANCHU ALI GALI GHA;Lo;0;L;;;;;N;;;;; +189B;MONGOLIAN LETTER MANCHU ALI GALI NGA;Lo;0;L;;;;;N;;;;; +189C;MONGOLIAN LETTER MANCHU ALI GALI CA;Lo;0;L;;;;;N;;;;; +189D;MONGOLIAN LETTER MANCHU ALI GALI JHA;Lo;0;L;;;;;N;;;;; +189E;MONGOLIAN LETTER MANCHU ALI GALI TTA;Lo;0;L;;;;;N;;;;; +189F;MONGOLIAN LETTER MANCHU ALI GALI DDHA;Lo;0;L;;;;;N;;;;; +18A0;MONGOLIAN LETTER MANCHU ALI GALI TA;Lo;0;L;;;;;N;;;;; +18A1;MONGOLIAN LETTER MANCHU ALI GALI DHA;Lo;0;L;;;;;N;;;;; +18A2;MONGOLIAN LETTER MANCHU ALI GALI SSA;Lo;0;L;;;;;N;;;;; +18A3;MONGOLIAN LETTER MANCHU ALI GALI CYA;Lo;0;L;;;;;N;;;;; +18A4;MONGOLIAN LETTER MANCHU ALI GALI ZHA;Lo;0;L;;;;;N;;;;; +18A5;MONGOLIAN LETTER MANCHU ALI GALI ZA;Lo;0;L;;;;;N;;;;; +18A6;MONGOLIAN LETTER ALI GALI HALF U;Lo;0;L;;;;;N;;;;; +18A7;MONGOLIAN LETTER ALI GALI HALF YA;Lo;0;L;;;;;N;;;;; +18A8;MONGOLIAN LETTER MANCHU ALI GALI BHA;Lo;0;L;;;;;N;;;;; +18A9;MONGOLIAN LETTER ALI GALI DAGALGA;Mn;228;NSM;;;;;N;;;;; +18AA;MONGOLIAN LETTER MANCHU ALI GALI LHA;Lo;0;L;;;;;N;;;;; +18B0;CANADIAN SYLLABICS OY;Lo;0;L;;;;;N;;;;; +18B1;CANADIAN SYLLABICS AY;Lo;0;L;;;;;N;;;;; +18B2;CANADIAN SYLLABICS AAY;Lo;0;L;;;;;N;;;;; +18B3;CANADIAN SYLLABICS WAY;Lo;0;L;;;;;N;;;;; +18B4;CANADIAN SYLLABICS POY;Lo;0;L;;;;;N;;;;; +18B5;CANADIAN SYLLABICS PAY;Lo;0;L;;;;;N;;;;; +18B6;CANADIAN SYLLABICS PWOY;Lo;0;L;;;;;N;;;;; +18B7;CANADIAN SYLLABICS TAY;Lo;0;L;;;;;N;;;;; +18B8;CANADIAN SYLLABICS KAY;Lo;0;L;;;;;N;;;;; +18B9;CANADIAN SYLLABICS KWAY;Lo;0;L;;;;;N;;;;; +18BA;CANADIAN SYLLABICS MAY;Lo;0;L;;;;;N;;;;; +18BB;CANADIAN SYLLABICS NOY;Lo;0;L;;;;;N;;;;; +18BC;CANADIAN SYLLABICS NAY;Lo;0;L;;;;;N;;;;; +18BD;CANADIAN SYLLABICS LAY;Lo;0;L;;;;;N;;;;; +18BE;CANADIAN SYLLABICS SOY;Lo;0;L;;;;;N;;;;; +18BF;CANADIAN SYLLABICS SAY;Lo;0;L;;;;;N;;;;; +18C0;CANADIAN SYLLABICS SHOY;Lo;0;L;;;;;N;;;;; +18C1;CANADIAN SYLLABICS SHAY;Lo;0;L;;;;;N;;;;; +18C2;CANADIAN SYLLABICS SHWOY;Lo;0;L;;;;;N;;;;; +18C3;CANADIAN SYLLABICS YOY;Lo;0;L;;;;;N;;;;; +18C4;CANADIAN SYLLABICS YAY;Lo;0;L;;;;;N;;;;; +18C5;CANADIAN SYLLABICS RAY;Lo;0;L;;;;;N;;;;; +18C6;CANADIAN SYLLABICS NWI;Lo;0;L;;;;;N;;;;; +18C7;CANADIAN SYLLABICS OJIBWAY NWI;Lo;0;L;;;;;N;;;;; +18C8;CANADIAN SYLLABICS NWII;Lo;0;L;;;;;N;;;;; +18C9;CANADIAN SYLLABICS OJIBWAY NWII;Lo;0;L;;;;;N;;;;; +18CA;CANADIAN SYLLABICS NWO;Lo;0;L;;;;;N;;;;; +18CB;CANADIAN SYLLABICS OJIBWAY NWO;Lo;0;L;;;;;N;;;;; +18CC;CANADIAN SYLLABICS NWOO;Lo;0;L;;;;;N;;;;; +18CD;CANADIAN SYLLABICS OJIBWAY NWOO;Lo;0;L;;;;;N;;;;; +18CE;CANADIAN SYLLABICS RWEE;Lo;0;L;;;;;N;;;;; +18CF;CANADIAN SYLLABICS RWI;Lo;0;L;;;;;N;;;;; +18D0;CANADIAN SYLLABICS RWII;Lo;0;L;;;;;N;;;;; +18D1;CANADIAN SYLLABICS RWO;Lo;0;L;;;;;N;;;;; +18D2;CANADIAN SYLLABICS RWOO;Lo;0;L;;;;;N;;;;; +18D3;CANADIAN SYLLABICS RWA;Lo;0;L;;;;;N;;;;; +18D4;CANADIAN SYLLABICS OJIBWAY P;Lo;0;L;;;;;N;;;;; +18D5;CANADIAN SYLLABICS OJIBWAY T;Lo;0;L;;;;;N;;;;; +18D6;CANADIAN SYLLABICS OJIBWAY K;Lo;0;L;;;;;N;;;;; +18D7;CANADIAN SYLLABICS OJIBWAY C;Lo;0;L;;;;;N;;;;; +18D8;CANADIAN SYLLABICS OJIBWAY M;Lo;0;L;;;;;N;;;;; +18D9;CANADIAN SYLLABICS OJIBWAY N;Lo;0;L;;;;;N;;;;; +18DA;CANADIAN SYLLABICS OJIBWAY S;Lo;0;L;;;;;N;;;;; +18DB;CANADIAN SYLLABICS OJIBWAY SH;Lo;0;L;;;;;N;;;;; +18DC;CANADIAN SYLLABICS EASTERN W;Lo;0;L;;;;;N;;;;; +18DD;CANADIAN SYLLABICS WESTERN W;Lo;0;L;;;;;N;;;;; +18DE;CANADIAN SYLLABICS FINAL SMALL RING;Lo;0;L;;;;;N;;;;; +18DF;CANADIAN SYLLABICS FINAL RAISED DOT;Lo;0;L;;;;;N;;;;; +18E0;CANADIAN SYLLABICS R-CREE RWE;Lo;0;L;;;;;N;;;;; +18E1;CANADIAN SYLLABICS WEST-CREE LOO;Lo;0;L;;;;;N;;;;; +18E2;CANADIAN SYLLABICS WEST-CREE LAA;Lo;0;L;;;;;N;;;;; +18E3;CANADIAN SYLLABICS THWE;Lo;0;L;;;;;N;;;;; +18E4;CANADIAN SYLLABICS THWA;Lo;0;L;;;;;N;;;;; +18E5;CANADIAN SYLLABICS TTHWE;Lo;0;L;;;;;N;;;;; +18E6;CANADIAN SYLLABICS TTHOO;Lo;0;L;;;;;N;;;;; +18E7;CANADIAN SYLLABICS TTHAA;Lo;0;L;;;;;N;;;;; +18E8;CANADIAN SYLLABICS TLHWE;Lo;0;L;;;;;N;;;;; +18E9;CANADIAN SYLLABICS TLHOO;Lo;0;L;;;;;N;;;;; +18EA;CANADIAN SYLLABICS SAYISI SHWE;Lo;0;L;;;;;N;;;;; +18EB;CANADIAN SYLLABICS SAYISI SHOO;Lo;0;L;;;;;N;;;;; +18EC;CANADIAN SYLLABICS SAYISI HOO;Lo;0;L;;;;;N;;;;; +18ED;CANADIAN SYLLABICS CARRIER GWU;Lo;0;L;;;;;N;;;;; +18EE;CANADIAN SYLLABICS CARRIER DENE GEE;Lo;0;L;;;;;N;;;;; +18EF;CANADIAN SYLLABICS CARRIER GAA;Lo;0;L;;;;;N;;;;; +18F0;CANADIAN SYLLABICS CARRIER GWA;Lo;0;L;;;;;N;;;;; +18F1;CANADIAN SYLLABICS SAYISI JUU;Lo;0;L;;;;;N;;;;; +18F2;CANADIAN SYLLABICS CARRIER JWA;Lo;0;L;;;;;N;;;;; +18F3;CANADIAN SYLLABICS BEAVER DENE L;Lo;0;L;;;;;N;;;;; +18F4;CANADIAN SYLLABICS BEAVER DENE R;Lo;0;L;;;;;N;;;;; +18F5;CANADIAN SYLLABICS CARRIER DENTAL S;Lo;0;L;;;;;N;;;;; +1900;LIMBU VOWEL-CARRIER LETTER;Lo;0;L;;;;;N;;;;; +1901;LIMBU LETTER KA;Lo;0;L;;;;;N;;;;; +1902;LIMBU LETTER KHA;Lo;0;L;;;;;N;;;;; +1903;LIMBU LETTER GA;Lo;0;L;;;;;N;;;;; +1904;LIMBU LETTER GHA;Lo;0;L;;;;;N;;;;; +1905;LIMBU LETTER NGA;Lo;0;L;;;;;N;;;;; +1906;LIMBU LETTER CA;Lo;0;L;;;;;N;;;;; +1907;LIMBU LETTER CHA;Lo;0;L;;;;;N;;;;; +1908;LIMBU LETTER JA;Lo;0;L;;;;;N;;;;; +1909;LIMBU LETTER JHA;Lo;0;L;;;;;N;;;;; +190A;LIMBU LETTER YAN;Lo;0;L;;;;;N;;;;; +190B;LIMBU LETTER TA;Lo;0;L;;;;;N;;;;; +190C;LIMBU LETTER THA;Lo;0;L;;;;;N;;;;; +190D;LIMBU LETTER DA;Lo;0;L;;;;;N;;;;; +190E;LIMBU LETTER DHA;Lo;0;L;;;;;N;;;;; +190F;LIMBU LETTER NA;Lo;0;L;;;;;N;;;;; +1910;LIMBU LETTER PA;Lo;0;L;;;;;N;;;;; +1911;LIMBU LETTER PHA;Lo;0;L;;;;;N;;;;; +1912;LIMBU LETTER BA;Lo;0;L;;;;;N;;;;; +1913;LIMBU LETTER BHA;Lo;0;L;;;;;N;;;;; +1914;LIMBU LETTER MA;Lo;0;L;;;;;N;;;;; +1915;LIMBU LETTER YA;Lo;0;L;;;;;N;;;;; +1916;LIMBU LETTER RA;Lo;0;L;;;;;N;;;;; +1917;LIMBU LETTER LA;Lo;0;L;;;;;N;;;;; +1918;LIMBU LETTER WA;Lo;0;L;;;;;N;;;;; +1919;LIMBU LETTER SHA;Lo;0;L;;;;;N;;;;; +191A;LIMBU LETTER SSA;Lo;0;L;;;;;N;;;;; +191B;LIMBU LETTER SA;Lo;0;L;;;;;N;;;;; +191C;LIMBU LETTER HA;Lo;0;L;;;;;N;;;;; +191D;LIMBU LETTER GYAN;Lo;0;L;;;;;N;;;;; +191E;LIMBU LETTER TRA;Lo;0;L;;;;;N;;;;; +1920;LIMBU VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;; +1921;LIMBU VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1922;LIMBU VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1923;LIMBU VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +1924;LIMBU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +1925;LIMBU VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +1926;LIMBU VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +1927;LIMBU VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1928;LIMBU VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +1929;LIMBU SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;; +192A;LIMBU SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;; +192B;LIMBU SUBJOINED LETTER WA;Mc;0;L;;;;;N;;;;; +1930;LIMBU SMALL LETTER KA;Mc;0;L;;;;;N;;;;; +1931;LIMBU SMALL LETTER NGA;Mc;0;L;;;;;N;;;;; +1932;LIMBU SMALL LETTER ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1933;LIMBU SMALL LETTER TA;Mc;0;L;;;;;N;;;;; +1934;LIMBU SMALL LETTER NA;Mc;0;L;;;;;N;;;;; +1935;LIMBU SMALL LETTER PA;Mc;0;L;;;;;N;;;;; +1936;LIMBU SMALL LETTER MA;Mc;0;L;;;;;N;;;;; +1937;LIMBU SMALL LETTER RA;Mc;0;L;;;;;N;;;;; +1938;LIMBU SMALL LETTER LA;Mc;0;L;;;;;N;;;;; +1939;LIMBU SIGN MUKPHRENG;Mn;222;NSM;;;;;N;;;;; +193A;LIMBU SIGN KEMPHRENG;Mn;230;NSM;;;;;N;;;;; +193B;LIMBU SIGN SA-I;Mn;220;NSM;;;;;N;;;;; +1940;LIMBU SIGN LOO;So;0;ON;;;;;N;;;;; +1944;LIMBU EXCLAMATION MARK;Po;0;ON;;;;;N;;;;; +1945;LIMBU QUESTION MARK;Po;0;ON;;;;;N;;;;; +1946;LIMBU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1947;LIMBU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1948;LIMBU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1949;LIMBU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +194A;LIMBU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +194B;LIMBU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +194C;LIMBU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +194D;LIMBU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +194E;LIMBU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +194F;LIMBU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1950;TAI LE LETTER KA;Lo;0;L;;;;;N;;;;; +1951;TAI LE LETTER XA;Lo;0;L;;;;;N;;;;; +1952;TAI LE LETTER NGA;Lo;0;L;;;;;N;;;;; +1953;TAI LE LETTER TSA;Lo;0;L;;;;;N;;;;; +1954;TAI LE LETTER SA;Lo;0;L;;;;;N;;;;; +1955;TAI LE LETTER YA;Lo;0;L;;;;;N;;;;; +1956;TAI LE LETTER TA;Lo;0;L;;;;;N;;;;; +1957;TAI LE LETTER THA;Lo;0;L;;;;;N;;;;; +1958;TAI LE LETTER LA;Lo;0;L;;;;;N;;;;; +1959;TAI LE LETTER PA;Lo;0;L;;;;;N;;;;; +195A;TAI LE LETTER PHA;Lo;0;L;;;;;N;;;;; +195B;TAI LE LETTER MA;Lo;0;L;;;;;N;;;;; +195C;TAI LE LETTER FA;Lo;0;L;;;;;N;;;;; +195D;TAI LE LETTER VA;Lo;0;L;;;;;N;;;;; +195E;TAI LE LETTER HA;Lo;0;L;;;;;N;;;;; +195F;TAI LE LETTER QA;Lo;0;L;;;;;N;;;;; +1960;TAI LE LETTER KHA;Lo;0;L;;;;;N;;;;; +1961;TAI LE LETTER TSHA;Lo;0;L;;;;;N;;;;; +1962;TAI LE LETTER NA;Lo;0;L;;;;;N;;;;; +1963;TAI LE LETTER A;Lo;0;L;;;;;N;;;;; +1964;TAI LE LETTER I;Lo;0;L;;;;;N;;;;; +1965;TAI LE LETTER EE;Lo;0;L;;;;;N;;;;; +1966;TAI LE LETTER EH;Lo;0;L;;;;;N;;;;; +1967;TAI LE LETTER U;Lo;0;L;;;;;N;;;;; +1968;TAI LE LETTER OO;Lo;0;L;;;;;N;;;;; +1969;TAI LE LETTER O;Lo;0;L;;;;;N;;;;; +196A;TAI LE LETTER UE;Lo;0;L;;;;;N;;;;; +196B;TAI LE LETTER E;Lo;0;L;;;;;N;;;;; +196C;TAI LE LETTER AUE;Lo;0;L;;;;;N;;;;; +196D;TAI LE LETTER AI;Lo;0;L;;;;;N;;;;; +1970;TAI LE LETTER TONE-2;Lo;0;L;;;;;N;;;;; +1971;TAI LE LETTER TONE-3;Lo;0;L;;;;;N;;;;; +1972;TAI LE LETTER TONE-4;Lo;0;L;;;;;N;;;;; +1973;TAI LE LETTER TONE-5;Lo;0;L;;;;;N;;;;; +1974;TAI LE LETTER TONE-6;Lo;0;L;;;;;N;;;;; +1980;NEW TAI LUE LETTER HIGH QA;Lo;0;L;;;;;N;;;;; +1981;NEW TAI LUE LETTER LOW QA;Lo;0;L;;;;;N;;;;; +1982;NEW TAI LUE LETTER HIGH KA;Lo;0;L;;;;;N;;;;; +1983;NEW TAI LUE LETTER HIGH XA;Lo;0;L;;;;;N;;;;; +1984;NEW TAI LUE LETTER HIGH NGA;Lo;0;L;;;;;N;;;;; +1985;NEW TAI LUE LETTER LOW KA;Lo;0;L;;;;;N;;;;; +1986;NEW TAI LUE LETTER LOW XA;Lo;0;L;;;;;N;;;;; +1987;NEW TAI LUE LETTER LOW NGA;Lo;0;L;;;;;N;;;;; +1988;NEW TAI LUE LETTER HIGH TSA;Lo;0;L;;;;;N;;;;; +1989;NEW TAI LUE LETTER HIGH SA;Lo;0;L;;;;;N;;;;; +198A;NEW TAI LUE LETTER HIGH YA;Lo;0;L;;;;;N;;;;; +198B;NEW TAI LUE LETTER LOW TSA;Lo;0;L;;;;;N;;;;; +198C;NEW TAI LUE LETTER LOW SA;Lo;0;L;;;;;N;;;;; +198D;NEW TAI LUE LETTER LOW YA;Lo;0;L;;;;;N;;;;; +198E;NEW TAI LUE LETTER HIGH TA;Lo;0;L;;;;;N;;;;; +198F;NEW TAI LUE LETTER HIGH THA;Lo;0;L;;;;;N;;;;; +1990;NEW TAI LUE LETTER HIGH NA;Lo;0;L;;;;;N;;;;; +1991;NEW TAI LUE LETTER LOW TA;Lo;0;L;;;;;N;;;;; +1992;NEW TAI LUE LETTER LOW THA;Lo;0;L;;;;;N;;;;; +1993;NEW TAI LUE LETTER LOW NA;Lo;0;L;;;;;N;;;;; +1994;NEW TAI LUE LETTER HIGH PA;Lo;0;L;;;;;N;;;;; +1995;NEW TAI LUE LETTER HIGH PHA;Lo;0;L;;;;;N;;;;; +1996;NEW TAI LUE LETTER HIGH MA;Lo;0;L;;;;;N;;;;; +1997;NEW TAI LUE LETTER LOW PA;Lo;0;L;;;;;N;;;;; +1998;NEW TAI LUE LETTER LOW PHA;Lo;0;L;;;;;N;;;;; +1999;NEW TAI LUE LETTER LOW MA;Lo;0;L;;;;;N;;;;; +199A;NEW TAI LUE LETTER HIGH FA;Lo;0;L;;;;;N;;;;; +199B;NEW TAI LUE LETTER HIGH VA;Lo;0;L;;;;;N;;;;; +199C;NEW TAI LUE LETTER HIGH LA;Lo;0;L;;;;;N;;;;; +199D;NEW TAI LUE LETTER LOW FA;Lo;0;L;;;;;N;;;;; +199E;NEW TAI LUE LETTER LOW VA;Lo;0;L;;;;;N;;;;; +199F;NEW TAI LUE LETTER LOW LA;Lo;0;L;;;;;N;;;;; +19A0;NEW TAI LUE LETTER HIGH HA;Lo;0;L;;;;;N;;;;; +19A1;NEW TAI LUE LETTER HIGH DA;Lo;0;L;;;;;N;;;;; +19A2;NEW TAI LUE LETTER HIGH BA;Lo;0;L;;;;;N;;;;; +19A3;NEW TAI LUE LETTER LOW HA;Lo;0;L;;;;;N;;;;; +19A4;NEW TAI LUE LETTER LOW DA;Lo;0;L;;;;;N;;;;; +19A5;NEW TAI LUE LETTER LOW BA;Lo;0;L;;;;;N;;;;; +19A6;NEW TAI LUE LETTER HIGH KVA;Lo;0;L;;;;;N;;;;; +19A7;NEW TAI LUE LETTER HIGH XVA;Lo;0;L;;;;;N;;;;; +19A8;NEW TAI LUE LETTER LOW KVA;Lo;0;L;;;;;N;;;;; +19A9;NEW TAI LUE LETTER LOW XVA;Lo;0;L;;;;;N;;;;; +19AA;NEW TAI LUE LETTER HIGH SUA;Lo;0;L;;;;;N;;;;; +19AB;NEW TAI LUE LETTER LOW SUA;Lo;0;L;;;;;N;;;;; +19B0;NEW TAI LUE VOWEL SIGN VOWEL SHORTENER;Lo;0;L;;;;;N;;;;; +19B1;NEW TAI LUE VOWEL SIGN AA;Lo;0;L;;;;;N;;;;; +19B2;NEW TAI LUE VOWEL SIGN II;Lo;0;L;;;;;N;;;;; +19B3;NEW TAI LUE VOWEL SIGN U;Lo;0;L;;;;;N;;;;; +19B4;NEW TAI LUE VOWEL SIGN UU;Lo;0;L;;;;;N;;;;; +19B5;NEW TAI LUE VOWEL SIGN E;Lo;0;L;;;;;N;;;;; +19B6;NEW TAI LUE VOWEL SIGN AE;Lo;0;L;;;;;N;;;;; +19B7;NEW TAI LUE VOWEL SIGN O;Lo;0;L;;;;;N;;;;; +19B8;NEW TAI LUE VOWEL SIGN OA;Lo;0;L;;;;;N;;;;; +19B9;NEW TAI LUE VOWEL SIGN UE;Lo;0;L;;;;;N;;;;; +19BA;NEW TAI LUE VOWEL SIGN AY;Lo;0;L;;;;;N;;;;; +19BB;NEW TAI LUE VOWEL SIGN AAY;Lo;0;L;;;;;N;;;;; +19BC;NEW TAI LUE VOWEL SIGN UY;Lo;0;L;;;;;N;;;;; +19BD;NEW TAI LUE VOWEL SIGN OY;Lo;0;L;;;;;N;;;;; +19BE;NEW TAI LUE VOWEL SIGN OAY;Lo;0;L;;;;;N;;;;; +19BF;NEW TAI LUE VOWEL SIGN UEY;Lo;0;L;;;;;N;;;;; +19C0;NEW TAI LUE VOWEL SIGN IY;Lo;0;L;;;;;N;;;;; +19C1;NEW TAI LUE LETTER FINAL V;Lo;0;L;;;;;N;;;;; +19C2;NEW TAI LUE LETTER FINAL NG;Lo;0;L;;;;;N;;;;; +19C3;NEW TAI LUE LETTER FINAL N;Lo;0;L;;;;;N;;;;; +19C4;NEW TAI LUE LETTER FINAL M;Lo;0;L;;;;;N;;;;; +19C5;NEW TAI LUE LETTER FINAL K;Lo;0;L;;;;;N;;;;; +19C6;NEW TAI LUE LETTER FINAL D;Lo;0;L;;;;;N;;;;; +19C7;NEW TAI LUE LETTER FINAL B;Lo;0;L;;;;;N;;;;; +19C8;NEW TAI LUE TONE MARK-1;Lo;0;L;;;;;N;;;;; +19C9;NEW TAI LUE TONE MARK-2;Lo;0;L;;;;;N;;;;; +19D0;NEW TAI LUE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +19D1;NEW TAI LUE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +19D2;NEW TAI LUE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +19D3;NEW TAI LUE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +19D4;NEW TAI LUE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +19D5;NEW TAI LUE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +19D6;NEW TAI LUE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +19D7;NEW TAI LUE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +19D8;NEW TAI LUE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +19D9;NEW TAI LUE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +19DA;NEW TAI LUE THAM DIGIT ONE;No;0;L;;;1;1;N;;;;; +19DE;NEW TAI LUE SIGN LAE;So;0;ON;;;;;N;;;;; +19DF;NEW TAI LUE SIGN LAEV;So;0;ON;;;;;N;;;;; +19E0;KHMER SYMBOL PATHAMASAT;So;0;ON;;;;;N;;;;; +19E1;KHMER SYMBOL MUOY KOET;So;0;ON;;;;;N;;;;; +19E2;KHMER SYMBOL PII KOET;So;0;ON;;;;;N;;;;; +19E3;KHMER SYMBOL BEI KOET;So;0;ON;;;;;N;;;;; +19E4;KHMER SYMBOL BUON KOET;So;0;ON;;;;;N;;;;; +19E5;KHMER SYMBOL PRAM KOET;So;0;ON;;;;;N;;;;; +19E6;KHMER SYMBOL PRAM-MUOY KOET;So;0;ON;;;;;N;;;;; +19E7;KHMER SYMBOL PRAM-PII KOET;So;0;ON;;;;;N;;;;; +19E8;KHMER SYMBOL PRAM-BEI KOET;So;0;ON;;;;;N;;;;; +19E9;KHMER SYMBOL PRAM-BUON KOET;So;0;ON;;;;;N;;;;; +19EA;KHMER SYMBOL DAP KOET;So;0;ON;;;;;N;;;;; +19EB;KHMER SYMBOL DAP-MUOY KOET;So;0;ON;;;;;N;;;;; +19EC;KHMER SYMBOL DAP-PII KOET;So;0;ON;;;;;N;;;;; +19ED;KHMER SYMBOL DAP-BEI KOET;So;0;ON;;;;;N;;;;; +19EE;KHMER SYMBOL DAP-BUON KOET;So;0;ON;;;;;N;;;;; +19EF;KHMER SYMBOL DAP-PRAM KOET;So;0;ON;;;;;N;;;;; +19F0;KHMER SYMBOL TUTEYASAT;So;0;ON;;;;;N;;;;; +19F1;KHMER SYMBOL MUOY ROC;So;0;ON;;;;;N;;;;; +19F2;KHMER SYMBOL PII ROC;So;0;ON;;;;;N;;;;; +19F3;KHMER SYMBOL BEI ROC;So;0;ON;;;;;N;;;;; +19F4;KHMER SYMBOL BUON ROC;So;0;ON;;;;;N;;;;; +19F5;KHMER SYMBOL PRAM ROC;So;0;ON;;;;;N;;;;; +19F6;KHMER SYMBOL PRAM-MUOY ROC;So;0;ON;;;;;N;;;;; +19F7;KHMER SYMBOL PRAM-PII ROC;So;0;ON;;;;;N;;;;; +19F8;KHMER SYMBOL PRAM-BEI ROC;So;0;ON;;;;;N;;;;; +19F9;KHMER SYMBOL PRAM-BUON ROC;So;0;ON;;;;;N;;;;; +19FA;KHMER SYMBOL DAP ROC;So;0;ON;;;;;N;;;;; +19FB;KHMER SYMBOL DAP-MUOY ROC;So;0;ON;;;;;N;;;;; +19FC;KHMER SYMBOL DAP-PII ROC;So;0;ON;;;;;N;;;;; +19FD;KHMER SYMBOL DAP-BEI ROC;So;0;ON;;;;;N;;;;; +19FE;KHMER SYMBOL DAP-BUON ROC;So;0;ON;;;;;N;;;;; +19FF;KHMER SYMBOL DAP-PRAM ROC;So;0;ON;;;;;N;;;;; +1A00;BUGINESE LETTER KA;Lo;0;L;;;;;N;;;;; +1A01;BUGINESE LETTER GA;Lo;0;L;;;;;N;;;;; +1A02;BUGINESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1A03;BUGINESE LETTER NGKA;Lo;0;L;;;;;N;;;;; +1A04;BUGINESE LETTER PA;Lo;0;L;;;;;N;;;;; +1A05;BUGINESE LETTER BA;Lo;0;L;;;;;N;;;;; +1A06;BUGINESE LETTER MA;Lo;0;L;;;;;N;;;;; +1A07;BUGINESE LETTER MPA;Lo;0;L;;;;;N;;;;; +1A08;BUGINESE LETTER TA;Lo;0;L;;;;;N;;;;; +1A09;BUGINESE LETTER DA;Lo;0;L;;;;;N;;;;; +1A0A;BUGINESE LETTER NA;Lo;0;L;;;;;N;;;;; +1A0B;BUGINESE LETTER NRA;Lo;0;L;;;;;N;;;;; +1A0C;BUGINESE LETTER CA;Lo;0;L;;;;;N;;;;; +1A0D;BUGINESE LETTER JA;Lo;0;L;;;;;N;;;;; +1A0E;BUGINESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1A0F;BUGINESE LETTER NYCA;Lo;0;L;;;;;N;;;;; +1A10;BUGINESE LETTER YA;Lo;0;L;;;;;N;;;;; +1A11;BUGINESE LETTER RA;Lo;0;L;;;;;N;;;;; +1A12;BUGINESE LETTER LA;Lo;0;L;;;;;N;;;;; +1A13;BUGINESE LETTER VA;Lo;0;L;;;;;N;;;;; +1A14;BUGINESE LETTER SA;Lo;0;L;;;;;N;;;;; +1A15;BUGINESE LETTER A;Lo;0;L;;;;;N;;;;; +1A16;BUGINESE LETTER HA;Lo;0;L;;;;;N;;;;; +1A17;BUGINESE VOWEL SIGN I;Mn;230;NSM;;;;;N;;;;; +1A18;BUGINESE VOWEL SIGN U;Mn;220;NSM;;;;;N;;;;; +1A19;BUGINESE VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1A1A;BUGINESE VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1A1B;BUGINESE VOWEL SIGN AE;Mn;0;NSM;;;;;N;;;;; +1A1E;BUGINESE PALLAWA;Po;0;L;;;;;N;;;;; +1A1F;BUGINESE END OF SECTION;Po;0;L;;;;;N;;;;; +1A20;TAI THAM LETTER HIGH KA;Lo;0;L;;;;;N;;;;; +1A21;TAI THAM LETTER HIGH KHA;Lo;0;L;;;;;N;;;;; +1A22;TAI THAM LETTER HIGH KXA;Lo;0;L;;;;;N;;;;; +1A23;TAI THAM LETTER LOW KA;Lo;0;L;;;;;N;;;;; +1A24;TAI THAM LETTER LOW KXA;Lo;0;L;;;;;N;;;;; +1A25;TAI THAM LETTER LOW KHA;Lo;0;L;;;;;N;;;;; +1A26;TAI THAM LETTER NGA;Lo;0;L;;;;;N;;;;; +1A27;TAI THAM LETTER HIGH CA;Lo;0;L;;;;;N;;;;; +1A28;TAI THAM LETTER HIGH CHA;Lo;0;L;;;;;N;;;;; +1A29;TAI THAM LETTER LOW CA;Lo;0;L;;;;;N;;;;; +1A2A;TAI THAM LETTER LOW SA;Lo;0;L;;;;;N;;;;; +1A2B;TAI THAM LETTER LOW CHA;Lo;0;L;;;;;N;;;;; +1A2C;TAI THAM LETTER NYA;Lo;0;L;;;;;N;;;;; +1A2D;TAI THAM LETTER RATA;Lo;0;L;;;;;N;;;;; +1A2E;TAI THAM LETTER HIGH RATHA;Lo;0;L;;;;;N;;;;; +1A2F;TAI THAM LETTER DA;Lo;0;L;;;;;N;;;;; +1A30;TAI THAM LETTER LOW RATHA;Lo;0;L;;;;;N;;;;; +1A31;TAI THAM LETTER RANA;Lo;0;L;;;;;N;;;;; +1A32;TAI THAM LETTER HIGH TA;Lo;0;L;;;;;N;;;;; +1A33;TAI THAM LETTER HIGH THA;Lo;0;L;;;;;N;;;;; +1A34;TAI THAM LETTER LOW TA;Lo;0;L;;;;;N;;;;; +1A35;TAI THAM LETTER LOW THA;Lo;0;L;;;;;N;;;;; +1A36;TAI THAM LETTER NA;Lo;0;L;;;;;N;;;;; +1A37;TAI THAM LETTER BA;Lo;0;L;;;;;N;;;;; +1A38;TAI THAM LETTER HIGH PA;Lo;0;L;;;;;N;;;;; +1A39;TAI THAM LETTER HIGH PHA;Lo;0;L;;;;;N;;;;; +1A3A;TAI THAM LETTER HIGH FA;Lo;0;L;;;;;N;;;;; +1A3B;TAI THAM LETTER LOW PA;Lo;0;L;;;;;N;;;;; +1A3C;TAI THAM LETTER LOW FA;Lo;0;L;;;;;N;;;;; +1A3D;TAI THAM LETTER LOW PHA;Lo;0;L;;;;;N;;;;; +1A3E;TAI THAM LETTER MA;Lo;0;L;;;;;N;;;;; +1A3F;TAI THAM LETTER LOW YA;Lo;0;L;;;;;N;;;;; +1A40;TAI THAM LETTER HIGH YA;Lo;0;L;;;;;N;;;;; +1A41;TAI THAM LETTER RA;Lo;0;L;;;;;N;;;;; +1A42;TAI THAM LETTER RUE;Lo;0;L;;;;;N;;;;; +1A43;TAI THAM LETTER LA;Lo;0;L;;;;;N;;;;; +1A44;TAI THAM LETTER LUE;Lo;0;L;;;;;N;;;;; +1A45;TAI THAM LETTER WA;Lo;0;L;;;;;N;;;;; +1A46;TAI THAM LETTER HIGH SHA;Lo;0;L;;;;;N;;;;; +1A47;TAI THAM LETTER HIGH SSA;Lo;0;L;;;;;N;;;;; +1A48;TAI THAM LETTER HIGH SA;Lo;0;L;;;;;N;;;;; +1A49;TAI THAM LETTER HIGH HA;Lo;0;L;;;;;N;;;;; +1A4A;TAI THAM LETTER LLA;Lo;0;L;;;;;N;;;;; +1A4B;TAI THAM LETTER A;Lo;0;L;;;;;N;;;;; +1A4C;TAI THAM LETTER LOW HA;Lo;0;L;;;;;N;;;;; +1A4D;TAI THAM LETTER I;Lo;0;L;;;;;N;;;;; +1A4E;TAI THAM LETTER II;Lo;0;L;;;;;N;;;;; +1A4F;TAI THAM LETTER U;Lo;0;L;;;;;N;;;;; +1A50;TAI THAM LETTER UU;Lo;0;L;;;;;N;;;;; +1A51;TAI THAM LETTER EE;Lo;0;L;;;;;N;;;;; +1A52;TAI THAM LETTER OO;Lo;0;L;;;;;N;;;;; +1A53;TAI THAM LETTER LAE;Lo;0;L;;;;;N;;;;; +1A54;TAI THAM LETTER GREAT SA;Lo;0;L;;;;;N;;;;; +1A55;TAI THAM CONSONANT SIGN MEDIAL RA;Mc;0;L;;;;;N;;;;; +1A56;TAI THAM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;; +1A57;TAI THAM CONSONANT SIGN LA TANG LAI;Mc;0;L;;;;;N;;;;; +1A58;TAI THAM SIGN MAI KANG LAI;Mn;0;NSM;;;;;N;;;;; +1A59;TAI THAM CONSONANT SIGN FINAL NGA;Mn;0;NSM;;;;;N;;;;; +1A5A;TAI THAM CONSONANT SIGN LOW PA;Mn;0;NSM;;;;;N;;;;; +1A5B;TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA;Mn;0;NSM;;;;;N;;;;; +1A5C;TAI THAM CONSONANT SIGN MA;Mn;0;NSM;;;;;N;;;;; +1A5D;TAI THAM CONSONANT SIGN BA;Mn;0;NSM;;;;;N;;;;; +1A5E;TAI THAM CONSONANT SIGN SA;Mn;0;NSM;;;;;N;;;;; +1A60;TAI THAM SIGN SAKOT;Mn;9;NSM;;;;;N;;;;; +1A61;TAI THAM VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +1A62;TAI THAM VOWEL SIGN MAI SAT;Mn;0;NSM;;;;;N;;;;; +1A63;TAI THAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1A64;TAI THAM VOWEL SIGN TALL AA;Mc;0;L;;;;;N;;;;; +1A65;TAI THAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1A66;TAI THAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +1A67;TAI THAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +1A68;TAI THAM VOWEL SIGN UUE;Mn;0;NSM;;;;;N;;;;; +1A69;TAI THAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1A6A;TAI THAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1A6B;TAI THAM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +1A6C;TAI THAM VOWEL SIGN OA BELOW;Mn;0;NSM;;;;;N;;;;; +1A6D;TAI THAM VOWEL SIGN OY;Mc;0;L;;;;;N;;;;; +1A6E;TAI THAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1A6F;TAI THAM VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +1A70;TAI THAM VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +1A71;TAI THAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +1A72;TAI THAM VOWEL SIGN THAM AI;Mc;0;L;;;;;N;;;;; +1A73;TAI THAM VOWEL SIGN OA ABOVE;Mn;0;NSM;;;;;N;;;;; +1A74;TAI THAM SIGN MAI KANG;Mn;0;NSM;;;;;N;;;;; +1A75;TAI THAM SIGN TONE-1;Mn;230;NSM;;;;;N;;;;; +1A76;TAI THAM SIGN TONE-2;Mn;230;NSM;;;;;N;;;;; +1A77;TAI THAM SIGN KHUEN TONE-3;Mn;230;NSM;;;;;N;;;;; +1A78;TAI THAM SIGN KHUEN TONE-4;Mn;230;NSM;;;;;N;;;;; +1A79;TAI THAM SIGN KHUEN TONE-5;Mn;230;NSM;;;;;N;;;;; +1A7A;TAI THAM SIGN RA HAAM;Mn;230;NSM;;;;;N;;;;; +1A7B;TAI THAM SIGN MAI SAM;Mn;230;NSM;;;;;N;;;;; +1A7C;TAI THAM SIGN KHUEN-LUE KARAN;Mn;230;NSM;;;;;N;;;;; +1A7F;TAI THAM COMBINING CRYPTOGRAMMIC DOT;Mn;220;NSM;;;;;N;;;;; +1A80;TAI THAM HORA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1A81;TAI THAM HORA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1A82;TAI THAM HORA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1A83;TAI THAM HORA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1A84;TAI THAM HORA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1A85;TAI THAM HORA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1A86;TAI THAM HORA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1A87;TAI THAM HORA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1A88;TAI THAM HORA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1A89;TAI THAM HORA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1A90;TAI THAM THAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1A91;TAI THAM THAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1A92;TAI THAM THAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1A93;TAI THAM THAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1A94;TAI THAM THAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1A95;TAI THAM THAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1A96;TAI THAM THAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1A97;TAI THAM THAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1A98;TAI THAM THAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1A99;TAI THAM THAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1AA0;TAI THAM SIGN WIANG;Po;0;L;;;;;N;;;;; +1AA1;TAI THAM SIGN WIANGWAAK;Po;0;L;;;;;N;;;;; +1AA2;TAI THAM SIGN SAWAN;Po;0;L;;;;;N;;;;; +1AA3;TAI THAM SIGN KEOW;Po;0;L;;;;;N;;;;; +1AA4;TAI THAM SIGN HOY;Po;0;L;;;;;N;;;;; +1AA5;TAI THAM SIGN DOKMAI;Po;0;L;;;;;N;;;;; +1AA6;TAI THAM SIGN REVERSED ROTATED RANA;Po;0;L;;;;;N;;;;; +1AA7;TAI THAM SIGN MAI YAMOK;Lm;0;L;;;;;N;;;;; +1AA8;TAI THAM SIGN KAAN;Po;0;L;;;;;N;;;;; +1AA9;TAI THAM SIGN KAANKUU;Po;0;L;;;;;N;;;;; +1AAA;TAI THAM SIGN SATKAAN;Po;0;L;;;;;N;;;;; +1AAB;TAI THAM SIGN SATKAANKUU;Po;0;L;;;;;N;;;;; +1AAC;TAI THAM SIGN HANG;Po;0;L;;;;;N;;;;; +1AAD;TAI THAM SIGN CAANG;Po;0;L;;;;;N;;;;; +1AB0;COMBINING DOUBLED CIRCUMFLEX ACCENT;Mn;230;NSM;;;;;N;;;;; +1AB1;COMBINING DIAERESIS-RING;Mn;230;NSM;;;;;N;;;;; +1AB2;COMBINING INFINITY;Mn;230;NSM;;;;;N;;;;; +1AB3;COMBINING DOWNWARDS ARROW;Mn;230;NSM;;;;;N;;;;; +1AB4;COMBINING TRIPLE DOT;Mn;230;NSM;;;;;N;;;;; +1AB5;COMBINING X-X BELOW;Mn;220;NSM;;;;;N;;;;; +1AB6;COMBINING WIGGLY LINE BELOW;Mn;220;NSM;;;;;N;;;;; +1AB7;COMBINING OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;; +1AB8;COMBINING DOUBLE OPEN MARK BELOW;Mn;220;NSM;;;;;N;;;;; +1AB9;COMBINING LIGHT CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;; +1ABA;COMBINING STRONG CENTRALIZATION STROKE BELOW;Mn;220;NSM;;;;;N;;;;; +1ABB;COMBINING PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;; +1ABC;COMBINING DOUBLE PARENTHESES ABOVE;Mn;230;NSM;;;;;N;;;;; +1ABD;COMBINING PARENTHESES BELOW;Mn;220;NSM;;;;;N;;;;; +1ABE;COMBINING PARENTHESES OVERLAY;Me;0;NSM;;;;;N;;;;; +1ABF;COMBINING LATIN SMALL LETTER W BELOW;Mn;220;NSM;;;;;N;;;;; +1AC0;COMBINING LATIN SMALL LETTER TURNED W BELOW;Mn;220;NSM;;;;;N;;;;; +1B00;BALINESE SIGN ULU RICEM;Mn;0;NSM;;;;;N;;;;; +1B01;BALINESE SIGN ULU CANDRA;Mn;0;NSM;;;;;N;;;;; +1B02;BALINESE SIGN CECEK;Mn;0;NSM;;;;;N;;;;; +1B03;BALINESE SIGN SURANG;Mn;0;NSM;;;;;N;;;;; +1B04;BALINESE SIGN BISAH;Mc;0;L;;;;;N;;;;; +1B05;BALINESE LETTER AKARA;Lo;0;L;;;;;N;;;;; +1B06;BALINESE LETTER AKARA TEDUNG;Lo;0;L;1B05 1B35;;;;N;;;;; +1B07;BALINESE LETTER IKARA;Lo;0;L;;;;;N;;;;; +1B08;BALINESE LETTER IKARA TEDUNG;Lo;0;L;1B07 1B35;;;;N;;;;; +1B09;BALINESE LETTER UKARA;Lo;0;L;;;;;N;;;;; +1B0A;BALINESE LETTER UKARA TEDUNG;Lo;0;L;1B09 1B35;;;;N;;;;; +1B0B;BALINESE LETTER RA REPA;Lo;0;L;;;;;N;;;;; +1B0C;BALINESE LETTER RA REPA TEDUNG;Lo;0;L;1B0B 1B35;;;;N;;;;; +1B0D;BALINESE LETTER LA LENGA;Lo;0;L;;;;;N;;;;; +1B0E;BALINESE LETTER LA LENGA TEDUNG;Lo;0;L;1B0D 1B35;;;;N;;;;; +1B0F;BALINESE LETTER EKARA;Lo;0;L;;;;;N;;;;; +1B10;BALINESE LETTER AIKARA;Lo;0;L;;;;;N;;;;; +1B11;BALINESE LETTER OKARA;Lo;0;L;;;;;N;;;;; +1B12;BALINESE LETTER OKARA TEDUNG;Lo;0;L;1B11 1B35;;;;N;;;;; +1B13;BALINESE LETTER KA;Lo;0;L;;;;;N;;;;; +1B14;BALINESE LETTER KA MAHAPRANA;Lo;0;L;;;;;N;;;;; +1B15;BALINESE LETTER GA;Lo;0;L;;;;;N;;;;; +1B16;BALINESE LETTER GA GORA;Lo;0;L;;;;;N;;;;; +1B17;BALINESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1B18;BALINESE LETTER CA;Lo;0;L;;;;;N;;;;; +1B19;BALINESE LETTER CA LACA;Lo;0;L;;;;;N;;;;; +1B1A;BALINESE LETTER JA;Lo;0;L;;;;;N;;;;; +1B1B;BALINESE LETTER JA JERA;Lo;0;L;;;;;N;;;;; +1B1C;BALINESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1B1D;BALINESE LETTER TA LATIK;Lo;0;L;;;;;N;;;;; +1B1E;BALINESE LETTER TA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;; +1B1F;BALINESE LETTER DA MURDA ALPAPRANA;Lo;0;L;;;;;N;;;;; +1B20;BALINESE LETTER DA MURDA MAHAPRANA;Lo;0;L;;;;;N;;;;; +1B21;BALINESE LETTER NA RAMBAT;Lo;0;L;;;;;N;;;;; +1B22;BALINESE LETTER TA;Lo;0;L;;;;;N;;;;; +1B23;BALINESE LETTER TA TAWA;Lo;0;L;;;;;N;;;;; +1B24;BALINESE LETTER DA;Lo;0;L;;;;;N;;;;; +1B25;BALINESE LETTER DA MADU;Lo;0;L;;;;;N;;;;; +1B26;BALINESE LETTER NA;Lo;0;L;;;;;N;;;;; +1B27;BALINESE LETTER PA;Lo;0;L;;;;;N;;;;; +1B28;BALINESE LETTER PA KAPAL;Lo;0;L;;;;;N;;;;; +1B29;BALINESE LETTER BA;Lo;0;L;;;;;N;;;;; +1B2A;BALINESE LETTER BA KEMBANG;Lo;0;L;;;;;N;;;;; +1B2B;BALINESE LETTER MA;Lo;0;L;;;;;N;;;;; +1B2C;BALINESE LETTER YA;Lo;0;L;;;;;N;;;;; +1B2D;BALINESE LETTER RA;Lo;0;L;;;;;N;;;;; +1B2E;BALINESE LETTER LA;Lo;0;L;;;;;N;;;;; +1B2F;BALINESE LETTER WA;Lo;0;L;;;;;N;;;;; +1B30;BALINESE LETTER SA SAGA;Lo;0;L;;;;;N;;;;; +1B31;BALINESE LETTER SA SAPA;Lo;0;L;;;;;N;;;;; +1B32;BALINESE LETTER SA;Lo;0;L;;;;;N;;;;; +1B33;BALINESE LETTER HA;Lo;0;L;;;;;N;;;;; +1B34;BALINESE SIGN REREKAN;Mn;7;NSM;;;;;N;;;;; +1B35;BALINESE VOWEL SIGN TEDUNG;Mc;0;L;;;;;N;;;;; +1B36;BALINESE VOWEL SIGN ULU;Mn;0;NSM;;;;;N;;;;; +1B37;BALINESE VOWEL SIGN ULU SARI;Mn;0;NSM;;;;;N;;;;; +1B38;BALINESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;; +1B39;BALINESE VOWEL SIGN SUKU ILUT;Mn;0;NSM;;;;;N;;;;; +1B3A;BALINESE VOWEL SIGN RA REPA;Mn;0;NSM;;;;;N;;;;; +1B3B;BALINESE VOWEL SIGN RA REPA TEDUNG;Mc;0;L;1B3A 1B35;;;;N;;;;; +1B3C;BALINESE VOWEL SIGN LA LENGA;Mn;0;NSM;;;;;N;;;;; +1B3D;BALINESE VOWEL SIGN LA LENGA TEDUNG;Mc;0;L;1B3C 1B35;;;;N;;;;; +1B3E;BALINESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;; +1B3F;BALINESE VOWEL SIGN TALING REPA;Mc;0;L;;;;;N;;;;; +1B40;BALINESE VOWEL SIGN TALING TEDUNG;Mc;0;L;1B3E 1B35;;;;N;;;;; +1B41;BALINESE VOWEL SIGN TALING REPA TEDUNG;Mc;0;L;1B3F 1B35;;;;N;;;;; +1B42;BALINESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;; +1B43;BALINESE VOWEL SIGN PEPET TEDUNG;Mc;0;L;1B42 1B35;;;;N;;;;; +1B44;BALINESE ADEG ADEG;Mc;9;L;;;;;N;;;;; +1B45;BALINESE LETTER KAF SASAK;Lo;0;L;;;;;N;;;;; +1B46;BALINESE LETTER KHOT SASAK;Lo;0;L;;;;;N;;;;; +1B47;BALINESE LETTER TZIR SASAK;Lo;0;L;;;;;N;;;;; +1B48;BALINESE LETTER EF SASAK;Lo;0;L;;;;;N;;;;; +1B49;BALINESE LETTER VE SASAK;Lo;0;L;;;;;N;;;;; +1B4A;BALINESE LETTER ZAL SASAK;Lo;0;L;;;;;N;;;;; +1B4B;BALINESE LETTER ASYURA SASAK;Lo;0;L;;;;;N;;;;; +1B50;BALINESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1B51;BALINESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1B52;BALINESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1B53;BALINESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1B54;BALINESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1B55;BALINESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1B56;BALINESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1B57;BALINESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1B58;BALINESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1B59;BALINESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1B5A;BALINESE PANTI;Po;0;L;;;;;N;;;;; +1B5B;BALINESE PAMADA;Po;0;L;;;;;N;;;;; +1B5C;BALINESE WINDU;Po;0;L;;;;;N;;;;; +1B5D;BALINESE CARIK PAMUNGKAH;Po;0;L;;;;;N;;;;; +1B5E;BALINESE CARIK SIKI;Po;0;L;;;;;N;;;;; +1B5F;BALINESE CARIK PAREREN;Po;0;L;;;;;N;;;;; +1B60;BALINESE PAMENENG;Po;0;L;;;;;N;;;;; +1B61;BALINESE MUSICAL SYMBOL DONG;So;0;L;;;;;N;;;;; +1B62;BALINESE MUSICAL SYMBOL DENG;So;0;L;;;;;N;;;;; +1B63;BALINESE MUSICAL SYMBOL DUNG;So;0;L;;;;;N;;;;; +1B64;BALINESE MUSICAL SYMBOL DANG;So;0;L;;;;;N;;;;; +1B65;BALINESE MUSICAL SYMBOL DANG SURANG;So;0;L;;;;;N;;;;; +1B66;BALINESE MUSICAL SYMBOL DING;So;0;L;;;;;N;;;;; +1B67;BALINESE MUSICAL SYMBOL DAENG;So;0;L;;;;;N;;;;; +1B68;BALINESE MUSICAL SYMBOL DEUNG;So;0;L;;;;;N;;;;; +1B69;BALINESE MUSICAL SYMBOL DAING;So;0;L;;;;;N;;;;; +1B6A;BALINESE MUSICAL SYMBOL DANG GEDE;So;0;L;;;;;N;;;;; +1B6B;BALINESE MUSICAL SYMBOL COMBINING TEGEH;Mn;230;NSM;;;;;N;;;;; +1B6C;BALINESE MUSICAL SYMBOL COMBINING ENDEP;Mn;220;NSM;;;;;N;;;;; +1B6D;BALINESE MUSICAL SYMBOL COMBINING KEMPUL;Mn;230;NSM;;;;;N;;;;; +1B6E;BALINESE MUSICAL SYMBOL COMBINING KEMPLI;Mn;230;NSM;;;;;N;;;;; +1B6F;BALINESE MUSICAL SYMBOL COMBINING JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B70;BALINESE MUSICAL SYMBOL COMBINING KEMPUL WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B71;BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN;Mn;230;NSM;;;;;N;;;;; +1B72;BALINESE MUSICAL SYMBOL COMBINING BENDE;Mn;230;NSM;;;;;N;;;;; +1B73;BALINESE MUSICAL SYMBOL COMBINING GONG;Mn;230;NSM;;;;;N;;;;; +1B74;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG;So;0;L;;;;;N;;;;; +1B75;BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG;So;0;L;;;;;N;;;;; +1B76;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK;So;0;L;;;;;N;;;;; +1B77;BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK;So;0;L;;;;;N;;;;; +1B78;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG;So;0;L;;;;;N;;;;; +1B79;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG;So;0;L;;;;;N;;;;; +1B7A;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK;So;0;L;;;;;N;;;;; +1B7B;BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK;So;0;L;;;;;N;;;;; +1B7C;BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING;So;0;L;;;;;N;;;;; +1B80;SUNDANESE SIGN PANYECEK;Mn;0;NSM;;;;;N;;;;; +1B81;SUNDANESE SIGN PANGLAYAR;Mn;0;NSM;;;;;N;;;;; +1B82;SUNDANESE SIGN PANGWISAD;Mc;0;L;;;;;N;;;;; +1B83;SUNDANESE LETTER A;Lo;0;L;;;;;N;;;;; +1B84;SUNDANESE LETTER I;Lo;0;L;;;;;N;;;;; +1B85;SUNDANESE LETTER U;Lo;0;L;;;;;N;;;;; +1B86;SUNDANESE LETTER AE;Lo;0;L;;;;;N;;;;; +1B87;SUNDANESE LETTER O;Lo;0;L;;;;;N;;;;; +1B88;SUNDANESE LETTER E;Lo;0;L;;;;;N;;;;; +1B89;SUNDANESE LETTER EU;Lo;0;L;;;;;N;;;;; +1B8A;SUNDANESE LETTER KA;Lo;0;L;;;;;N;;;;; +1B8B;SUNDANESE LETTER QA;Lo;0;L;;;;;N;;;;; +1B8C;SUNDANESE LETTER GA;Lo;0;L;;;;;N;;;;; +1B8D;SUNDANESE LETTER NGA;Lo;0;L;;;;;N;;;;; +1B8E;SUNDANESE LETTER CA;Lo;0;L;;;;;N;;;;; +1B8F;SUNDANESE LETTER JA;Lo;0;L;;;;;N;;;;; +1B90;SUNDANESE LETTER ZA;Lo;0;L;;;;;N;;;;; +1B91;SUNDANESE LETTER NYA;Lo;0;L;;;;;N;;;;; +1B92;SUNDANESE LETTER TA;Lo;0;L;;;;;N;;;;; +1B93;SUNDANESE LETTER DA;Lo;0;L;;;;;N;;;;; +1B94;SUNDANESE LETTER NA;Lo;0;L;;;;;N;;;;; +1B95;SUNDANESE LETTER PA;Lo;0;L;;;;;N;;;;; +1B96;SUNDANESE LETTER FA;Lo;0;L;;;;;N;;;;; +1B97;SUNDANESE LETTER VA;Lo;0;L;;;;;N;;;;; +1B98;SUNDANESE LETTER BA;Lo;0;L;;;;;N;;;;; +1B99;SUNDANESE LETTER MA;Lo;0;L;;;;;N;;;;; +1B9A;SUNDANESE LETTER YA;Lo;0;L;;;;;N;;;;; +1B9B;SUNDANESE LETTER RA;Lo;0;L;;;;;N;;;;; +1B9C;SUNDANESE LETTER LA;Lo;0;L;;;;;N;;;;; +1B9D;SUNDANESE LETTER WA;Lo;0;L;;;;;N;;;;; +1B9E;SUNDANESE LETTER SA;Lo;0;L;;;;;N;;;;; +1B9F;SUNDANESE LETTER XA;Lo;0;L;;;;;N;;;;; +1BA0;SUNDANESE LETTER HA;Lo;0;L;;;;;N;;;;; +1BA1;SUNDANESE CONSONANT SIGN PAMINGKAL;Mc;0;L;;;;;N;;;;; +1BA2;SUNDANESE CONSONANT SIGN PANYAKRA;Mn;0;NSM;;;;;N;;;;; +1BA3;SUNDANESE CONSONANT SIGN PANYIKU;Mn;0;NSM;;;;;N;;;;; +1BA4;SUNDANESE VOWEL SIGN PANGHULU;Mn;0;NSM;;;;;N;;;;; +1BA5;SUNDANESE VOWEL SIGN PANYUKU;Mn;0;NSM;;;;;N;;;;; +1BA6;SUNDANESE VOWEL SIGN PANAELAENG;Mc;0;L;;;;;N;;;;; +1BA7;SUNDANESE VOWEL SIGN PANOLONG;Mc;0;L;;;;;N;;;;; +1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;; +1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;; +1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;; +1BAB;SUNDANESE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +1BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mn;0;NSM;;;;;N;;;;; +1BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mn;0;NSM;;;;;N;;;;; +1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;; +1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;; +1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1BB1;SUNDANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1BB2;SUNDANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1BB3;SUNDANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1BB4;SUNDANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1BB5;SUNDANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1BB6;SUNDANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1BBA;SUNDANESE AVAGRAHA;Lo;0;L;;;;;N;;;;; +1BBB;SUNDANESE LETTER REU;Lo;0;L;;;;;N;;;;; +1BBC;SUNDANESE LETTER LEU;Lo;0;L;;;;;N;;;;; +1BBD;SUNDANESE LETTER BHA;Lo;0;L;;;;;N;;;;; +1BBE;SUNDANESE LETTER FINAL K;Lo;0;L;;;;;N;;;;; +1BBF;SUNDANESE LETTER FINAL M;Lo;0;L;;;;;N;;;;; +1BC0;BATAK LETTER A;Lo;0;L;;;;;N;;;;; +1BC1;BATAK LETTER SIMALUNGUN A;Lo;0;L;;;;;N;;;;; +1BC2;BATAK LETTER HA;Lo;0;L;;;;;N;;;;; +1BC3;BATAK LETTER SIMALUNGUN HA;Lo;0;L;;;;;N;;;;; +1BC4;BATAK LETTER MANDAILING HA;Lo;0;L;;;;;N;;;;; +1BC5;BATAK LETTER BA;Lo;0;L;;;;;N;;;;; +1BC6;BATAK LETTER KARO BA;Lo;0;L;;;;;N;;;;; +1BC7;BATAK LETTER PA;Lo;0;L;;;;;N;;;;; +1BC8;BATAK LETTER SIMALUNGUN PA;Lo;0;L;;;;;N;;;;; +1BC9;BATAK LETTER NA;Lo;0;L;;;;;N;;;;; +1BCA;BATAK LETTER MANDAILING NA;Lo;0;L;;;;;N;;;;; +1BCB;BATAK LETTER WA;Lo;0;L;;;;;N;;;;; +1BCC;BATAK LETTER SIMALUNGUN WA;Lo;0;L;;;;;N;;;;; +1BCD;BATAK LETTER PAKPAK WA;Lo;0;L;;;;;N;;;;; +1BCE;BATAK LETTER GA;Lo;0;L;;;;;N;;;;; +1BCF;BATAK LETTER SIMALUNGUN GA;Lo;0;L;;;;;N;;;;; +1BD0;BATAK LETTER JA;Lo;0;L;;;;;N;;;;; +1BD1;BATAK LETTER DA;Lo;0;L;;;;;N;;;;; +1BD2;BATAK LETTER RA;Lo;0;L;;;;;N;;;;; +1BD3;BATAK LETTER SIMALUNGUN RA;Lo;0;L;;;;;N;;;;; +1BD4;BATAK LETTER MA;Lo;0;L;;;;;N;;;;; +1BD5;BATAK LETTER SIMALUNGUN MA;Lo;0;L;;;;;N;;;;; +1BD6;BATAK LETTER SOUTHERN TA;Lo;0;L;;;;;N;;;;; +1BD7;BATAK LETTER NORTHERN TA;Lo;0;L;;;;;N;;;;; +1BD8;BATAK LETTER SA;Lo;0;L;;;;;N;;;;; +1BD9;BATAK LETTER SIMALUNGUN SA;Lo;0;L;;;;;N;;;;; +1BDA;BATAK LETTER MANDAILING SA;Lo;0;L;;;;;N;;;;; +1BDB;BATAK LETTER YA;Lo;0;L;;;;;N;;;;; +1BDC;BATAK LETTER SIMALUNGUN YA;Lo;0;L;;;;;N;;;;; +1BDD;BATAK LETTER NGA;Lo;0;L;;;;;N;;;;; +1BDE;BATAK LETTER LA;Lo;0;L;;;;;N;;;;; +1BDF;BATAK LETTER SIMALUNGUN LA;Lo;0;L;;;;;N;;;;; +1BE0;BATAK LETTER NYA;Lo;0;L;;;;;N;;;;; +1BE1;BATAK LETTER CA;Lo;0;L;;;;;N;;;;; +1BE2;BATAK LETTER NDA;Lo;0;L;;;;;N;;;;; +1BE3;BATAK LETTER MBA;Lo;0;L;;;;;N;;;;; +1BE4;BATAK LETTER I;Lo;0;L;;;;;N;;;;; +1BE5;BATAK LETTER U;Lo;0;L;;;;;N;;;;; +1BE6;BATAK SIGN TOMPI;Mn;7;NSM;;;;;N;;;;; +1BE7;BATAK VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1BE8;BATAK VOWEL SIGN PAKPAK E;Mn;0;NSM;;;;;N;;;;; +1BE9;BATAK VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +1BEA;BATAK VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +1BEB;BATAK VOWEL SIGN KARO I;Mc;0;L;;;;;N;;;;; +1BEC;BATAK VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1BED;BATAK VOWEL SIGN KARO O;Mn;0;NSM;;;;;N;;;;; +1BEE;BATAK VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +1BEF;BATAK VOWEL SIGN U FOR SIMALUNGUN SA;Mn;0;NSM;;;;;N;;;;; +1BF0;BATAK CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;; +1BF1;BATAK CONSONANT SIGN H;Mn;0;NSM;;;;;N;;;;; +1BF2;BATAK PANGOLAT;Mc;9;L;;;;;N;;;;; +1BF3;BATAK PANONGONAN;Mc;9;L;;;;;N;;;;; +1BFC;BATAK SYMBOL BINDU NA METEK;Po;0;L;;;;;N;;;;; +1BFD;BATAK SYMBOL BINDU PINARBORAS;Po;0;L;;;;;N;;;;; +1BFE;BATAK SYMBOL BINDU JUDUL;Po;0;L;;;;;N;;;;; +1BFF;BATAK SYMBOL BINDU PANGOLAT;Po;0;L;;;;;N;;;;; +1C00;LEPCHA LETTER KA;Lo;0;L;;;;;N;;;;; +1C01;LEPCHA LETTER KLA;Lo;0;L;;;;;N;;;;; +1C02;LEPCHA LETTER KHA;Lo;0;L;;;;;N;;;;; +1C03;LEPCHA LETTER GA;Lo;0;L;;;;;N;;;;; +1C04;LEPCHA LETTER GLA;Lo;0;L;;;;;N;;;;; +1C05;LEPCHA LETTER NGA;Lo;0;L;;;;;N;;;;; +1C06;LEPCHA LETTER CA;Lo;0;L;;;;;N;;;;; +1C07;LEPCHA LETTER CHA;Lo;0;L;;;;;N;;;;; +1C08;LEPCHA LETTER JA;Lo;0;L;;;;;N;;;;; +1C09;LEPCHA LETTER NYA;Lo;0;L;;;;;N;;;;; +1C0A;LEPCHA LETTER TA;Lo;0;L;;;;;N;;;;; +1C0B;LEPCHA LETTER THA;Lo;0;L;;;;;N;;;;; +1C0C;LEPCHA LETTER DA;Lo;0;L;;;;;N;;;;; +1C0D;LEPCHA LETTER NA;Lo;0;L;;;;;N;;;;; +1C0E;LEPCHA LETTER PA;Lo;0;L;;;;;N;;;;; +1C0F;LEPCHA LETTER PLA;Lo;0;L;;;;;N;;;;; +1C10;LEPCHA LETTER PHA;Lo;0;L;;;;;N;;;;; +1C11;LEPCHA LETTER FA;Lo;0;L;;;;;N;;;;; +1C12;LEPCHA LETTER FLA;Lo;0;L;;;;;N;;;;; +1C13;LEPCHA LETTER BA;Lo;0;L;;;;;N;;;;; +1C14;LEPCHA LETTER BLA;Lo;0;L;;;;;N;;;;; +1C15;LEPCHA LETTER MA;Lo;0;L;;;;;N;;;;; +1C16;LEPCHA LETTER MLA;Lo;0;L;;;;;N;;;;; +1C17;LEPCHA LETTER TSA;Lo;0;L;;;;;N;;;;; +1C18;LEPCHA LETTER TSHA;Lo;0;L;;;;;N;;;;; +1C19;LEPCHA LETTER DZA;Lo;0;L;;;;;N;;;;; +1C1A;LEPCHA LETTER YA;Lo;0;L;;;;;N;;;;; +1C1B;LEPCHA LETTER RA;Lo;0;L;;;;;N;;;;; +1C1C;LEPCHA LETTER LA;Lo;0;L;;;;;N;;;;; +1C1D;LEPCHA LETTER HA;Lo;0;L;;;;;N;;;;; +1C1E;LEPCHA LETTER HLA;Lo;0;L;;;;;N;;;;; +1C1F;LEPCHA LETTER VA;Lo;0;L;;;;;N;;;;; +1C20;LEPCHA LETTER SA;Lo;0;L;;;;;N;;;;; +1C21;LEPCHA LETTER SHA;Lo;0;L;;;;;N;;;;; +1C22;LEPCHA LETTER WA;Lo;0;L;;;;;N;;;;; +1C23;LEPCHA LETTER A;Lo;0;L;;;;;N;;;;; +1C24;LEPCHA SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;; +1C25;LEPCHA SUBJOINED LETTER RA;Mc;0;L;;;;;N;;;;; +1C26;LEPCHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1C27;LEPCHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +1C28;LEPCHA VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1C29;LEPCHA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +1C2A;LEPCHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +1C2B;LEPCHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +1C2C;LEPCHA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1C2D;LEPCHA CONSONANT SIGN K;Mn;0;NSM;;;;;N;;;;; +1C2E;LEPCHA CONSONANT SIGN M;Mn;0;NSM;;;;;N;;;;; +1C2F;LEPCHA CONSONANT SIGN L;Mn;0;NSM;;;;;N;;;;; +1C30;LEPCHA CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;; +1C31;LEPCHA CONSONANT SIGN P;Mn;0;NSM;;;;;N;;;;; +1C32;LEPCHA CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;; +1C33;LEPCHA CONSONANT SIGN T;Mn;0;NSM;;;;;N;;;;; +1C34;LEPCHA CONSONANT SIGN NYIN-DO;Mc;0;L;;;;;N;;;;; +1C35;LEPCHA CONSONANT SIGN KANG;Mc;0;L;;;;;N;;;;; +1C36;LEPCHA SIGN RAN;Mn;0;NSM;;;;;N;;;;; +1C37;LEPCHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +1C3B;LEPCHA PUNCTUATION TA-ROL;Po;0;L;;;;;N;;;;; +1C3C;LEPCHA PUNCTUATION NYET THYOOM TA-ROL;Po;0;L;;;;;N;;;;; +1C3D;LEPCHA PUNCTUATION CER-WA;Po;0;L;;;;;N;;;;; +1C3E;LEPCHA PUNCTUATION TSHOOK CER-WA;Po;0;L;;;;;N;;;;; +1C3F;LEPCHA PUNCTUATION TSHOOK;Po;0;L;;;;;N;;;;; +1C40;LEPCHA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1C41;LEPCHA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1C42;LEPCHA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1C43;LEPCHA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1C44;LEPCHA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1C45;LEPCHA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1C46;LEPCHA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1C47;LEPCHA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1C48;LEPCHA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1C49;LEPCHA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1C4D;LEPCHA LETTER TTA;Lo;0;L;;;;;N;;;;; +1C4E;LEPCHA LETTER TTHA;Lo;0;L;;;;;N;;;;; +1C4F;LEPCHA LETTER DDA;Lo;0;L;;;;;N;;;;; +1C50;OL CHIKI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1C51;OL CHIKI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1C52;OL CHIKI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1C53;OL CHIKI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1C54;OL CHIKI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1C55;OL CHIKI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1C56;OL CHIKI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1C57;OL CHIKI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1C58;OL CHIKI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1C59;OL CHIKI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1C5A;OL CHIKI LETTER LA;Lo;0;L;;;;;N;;;;; +1C5B;OL CHIKI LETTER AT;Lo;0;L;;;;;N;;;;; +1C5C;OL CHIKI LETTER AG;Lo;0;L;;;;;N;;;;; +1C5D;OL CHIKI LETTER ANG;Lo;0;L;;;;;N;;;;; +1C5E;OL CHIKI LETTER AL;Lo;0;L;;;;;N;;;;; +1C5F;OL CHIKI LETTER LAA;Lo;0;L;;;;;N;;;;; +1C60;OL CHIKI LETTER AAK;Lo;0;L;;;;;N;;;;; +1C61;OL CHIKI LETTER AAJ;Lo;0;L;;;;;N;;;;; +1C62;OL CHIKI LETTER AAM;Lo;0;L;;;;;N;;;;; +1C63;OL CHIKI LETTER AAW;Lo;0;L;;;;;N;;;;; +1C64;OL CHIKI LETTER LI;Lo;0;L;;;;;N;;;;; +1C65;OL CHIKI LETTER IS;Lo;0;L;;;;;N;;;;; +1C66;OL CHIKI LETTER IH;Lo;0;L;;;;;N;;;;; +1C67;OL CHIKI LETTER INY;Lo;0;L;;;;;N;;;;; +1C68;OL CHIKI LETTER IR;Lo;0;L;;;;;N;;;;; +1C69;OL CHIKI LETTER LU;Lo;0;L;;;;;N;;;;; +1C6A;OL CHIKI LETTER UC;Lo;0;L;;;;;N;;;;; +1C6B;OL CHIKI LETTER UD;Lo;0;L;;;;;N;;;;; +1C6C;OL CHIKI LETTER UNN;Lo;0;L;;;;;N;;;;; +1C6D;OL CHIKI LETTER UY;Lo;0;L;;;;;N;;;;; +1C6E;OL CHIKI LETTER LE;Lo;0;L;;;;;N;;;;; +1C6F;OL CHIKI LETTER EP;Lo;0;L;;;;;N;;;;; +1C70;OL CHIKI LETTER EDD;Lo;0;L;;;;;N;;;;; +1C71;OL CHIKI LETTER EN;Lo;0;L;;;;;N;;;;; +1C72;OL CHIKI LETTER ERR;Lo;0;L;;;;;N;;;;; +1C73;OL CHIKI LETTER LO;Lo;0;L;;;;;N;;;;; +1C74;OL CHIKI LETTER OTT;Lo;0;L;;;;;N;;;;; +1C75;OL CHIKI LETTER OB;Lo;0;L;;;;;N;;;;; +1C76;OL CHIKI LETTER OV;Lo;0;L;;;;;N;;;;; +1C77;OL CHIKI LETTER OH;Lo;0;L;;;;;N;;;;; +1C78;OL CHIKI MU TTUDDAG;Lm;0;L;;;;;N;;;;; +1C79;OL CHIKI GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;; +1C7A;OL CHIKI MU-GAAHLAA TTUDDAAG;Lm;0;L;;;;;N;;;;; +1C7B;OL CHIKI RELAA;Lm;0;L;;;;;N;;;;; +1C7C;OL CHIKI PHAARKAA;Lm;0;L;;;;;N;;;;; +1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;; +1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;; +1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;; +1C80;CYRILLIC SMALL LETTER ROUNDED VE;Ll;0;L;;;;;N;;;0412;;0412 +1C81;CYRILLIC SMALL LETTER LONG-LEGGED DE;Ll;0;L;;;;;N;;;0414;;0414 +1C82;CYRILLIC SMALL LETTER NARROW O;Ll;0;L;;;;;N;;;041E;;041E +1C83;CYRILLIC SMALL LETTER WIDE ES;Ll;0;L;;;;;N;;;0421;;0421 +1C84;CYRILLIC SMALL LETTER TALL TE;Ll;0;L;;;;;N;;;0422;;0422 +1C85;CYRILLIC SMALL LETTER THREE-LEGGED TE;Ll;0;L;;;;;N;;;0422;;0422 +1C86;CYRILLIC SMALL LETTER TALL HARD SIGN;Ll;0;L;;;;;N;;;042A;;042A +1C87;CYRILLIC SMALL LETTER TALL YAT;Ll;0;L;;;;;N;;;0462;;0462 +1C88;CYRILLIC SMALL LETTER UNBLENDED UK;Ll;0;L;;;;;N;;;A64A;;A64A +1C90;GEORGIAN MTAVRULI CAPITAL LETTER AN;Lu;0;L;;;;;N;;;;10D0; +1C91;GEORGIAN MTAVRULI CAPITAL LETTER BAN;Lu;0;L;;;;;N;;;;10D1; +1C92;GEORGIAN MTAVRULI CAPITAL LETTER GAN;Lu;0;L;;;;;N;;;;10D2; +1C93;GEORGIAN MTAVRULI CAPITAL LETTER DON;Lu;0;L;;;;;N;;;;10D3; +1C94;GEORGIAN MTAVRULI CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;10D4; +1C95;GEORGIAN MTAVRULI CAPITAL LETTER VIN;Lu;0;L;;;;;N;;;;10D5; +1C96;GEORGIAN MTAVRULI CAPITAL LETTER ZEN;Lu;0;L;;;;;N;;;;10D6; +1C97;GEORGIAN MTAVRULI CAPITAL LETTER TAN;Lu;0;L;;;;;N;;;;10D7; +1C98;GEORGIAN MTAVRULI CAPITAL LETTER IN;Lu;0;L;;;;;N;;;;10D8; +1C99;GEORGIAN MTAVRULI CAPITAL LETTER KAN;Lu;0;L;;;;;N;;;;10D9; +1C9A;GEORGIAN MTAVRULI CAPITAL LETTER LAS;Lu;0;L;;;;;N;;;;10DA; +1C9B;GEORGIAN MTAVRULI CAPITAL LETTER MAN;Lu;0;L;;;;;N;;;;10DB; +1C9C;GEORGIAN MTAVRULI CAPITAL LETTER NAR;Lu;0;L;;;;;N;;;;10DC; +1C9D;GEORGIAN MTAVRULI CAPITAL LETTER ON;Lu;0;L;;;;;N;;;;10DD; +1C9E;GEORGIAN MTAVRULI CAPITAL LETTER PAR;Lu;0;L;;;;;N;;;;10DE; +1C9F;GEORGIAN MTAVRULI CAPITAL LETTER ZHAR;Lu;0;L;;;;;N;;;;10DF; +1CA0;GEORGIAN MTAVRULI CAPITAL LETTER RAE;Lu;0;L;;;;;N;;;;10E0; +1CA1;GEORGIAN MTAVRULI CAPITAL LETTER SAN;Lu;0;L;;;;;N;;;;10E1; +1CA2;GEORGIAN MTAVRULI CAPITAL LETTER TAR;Lu;0;L;;;;;N;;;;10E2; +1CA3;GEORGIAN MTAVRULI CAPITAL LETTER UN;Lu;0;L;;;;;N;;;;10E3; +1CA4;GEORGIAN MTAVRULI CAPITAL LETTER PHAR;Lu;0;L;;;;;N;;;;10E4; +1CA5;GEORGIAN MTAVRULI CAPITAL LETTER KHAR;Lu;0;L;;;;;N;;;;10E5; +1CA6;GEORGIAN MTAVRULI CAPITAL LETTER GHAN;Lu;0;L;;;;;N;;;;10E6; +1CA7;GEORGIAN MTAVRULI CAPITAL LETTER QAR;Lu;0;L;;;;;N;;;;10E7; +1CA8;GEORGIAN MTAVRULI CAPITAL LETTER SHIN;Lu;0;L;;;;;N;;;;10E8; +1CA9;GEORGIAN MTAVRULI CAPITAL LETTER CHIN;Lu;0;L;;;;;N;;;;10E9; +1CAA;GEORGIAN MTAVRULI CAPITAL LETTER CAN;Lu;0;L;;;;;N;;;;10EA; +1CAB;GEORGIAN MTAVRULI CAPITAL LETTER JIL;Lu;0;L;;;;;N;;;;10EB; +1CAC;GEORGIAN MTAVRULI CAPITAL LETTER CIL;Lu;0;L;;;;;N;;;;10EC; +1CAD;GEORGIAN MTAVRULI CAPITAL LETTER CHAR;Lu;0;L;;;;;N;;;;10ED; +1CAE;GEORGIAN MTAVRULI CAPITAL LETTER XAN;Lu;0;L;;;;;N;;;;10EE; +1CAF;GEORGIAN MTAVRULI CAPITAL LETTER JHAN;Lu;0;L;;;;;N;;;;10EF; +1CB0;GEORGIAN MTAVRULI CAPITAL LETTER HAE;Lu;0;L;;;;;N;;;;10F0; +1CB1;GEORGIAN MTAVRULI CAPITAL LETTER HE;Lu;0;L;;;;;N;;;;10F1; +1CB2;GEORGIAN MTAVRULI CAPITAL LETTER HIE;Lu;0;L;;;;;N;;;;10F2; +1CB3;GEORGIAN MTAVRULI CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;10F3; +1CB4;GEORGIAN MTAVRULI CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;10F4; +1CB5;GEORGIAN MTAVRULI CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;10F5; +1CB6;GEORGIAN MTAVRULI CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;10F6; +1CB7;GEORGIAN MTAVRULI CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;10F7; +1CB8;GEORGIAN MTAVRULI CAPITAL LETTER ELIFI;Lu;0;L;;;;;N;;;;10F8; +1CB9;GEORGIAN MTAVRULI CAPITAL LETTER TURNED GAN;Lu;0;L;;;;;N;;;;10F9; +1CBA;GEORGIAN MTAVRULI CAPITAL LETTER AIN;Lu;0;L;;;;;N;;;;10FA; +1CBD;GEORGIAN MTAVRULI CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;10FD; +1CBE;GEORGIAN MTAVRULI CAPITAL LETTER HARD SIGN;Lu;0;L;;;;;N;;;;10FE; +1CBF;GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN;Lu;0;L;;;;;N;;;;10FF; +1CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;; +1CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;; +1CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;; +1CC3;SUNDANESE PUNCTUATION BINDU CAKRA;Po;0;L;;;;;N;;;;; +1CC4;SUNDANESE PUNCTUATION BINDU LEU SATANGA;Po;0;L;;;;;N;;;;; +1CC5;SUNDANESE PUNCTUATION BINDU KA SATANGA;Po;0;L;;;;;N;;;;; +1CC6;SUNDANESE PUNCTUATION BINDU DA SATANGA;Po;0;L;;;;;N;;;;; +1CC7;SUNDANESE PUNCTUATION BINDU BA SATANGA;Po;0;L;;;;;N;;;;; +1CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;; +1CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;; +1CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;; +1CD3;VEDIC SIGN NIHSHVASA;Po;0;L;;;;;N;;;;; +1CD4;VEDIC SIGN YAJURVEDIC MIDLINE SVARITA;Mn;1;NSM;;;;;N;;;;; +1CD5;VEDIC TONE YAJURVEDIC AGGRAVATED INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;; +1CD6;VEDIC TONE YAJURVEDIC INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;; +1CD7;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA;Mn;220;NSM;;;;;N;;;;; +1CD8;VEDIC TONE CANDRA BELOW;Mn;220;NSM;;;;;N;;;;; +1CD9;VEDIC TONE YAJURVEDIC KATHAKA INDEPENDENT SVARITA SCHROEDER;Mn;220;NSM;;;;;N;;;;; +1CDA;VEDIC TONE DOUBLE SVARITA;Mn;230;NSM;;;;;N;;;;; +1CDB;VEDIC TONE TRIPLE SVARITA;Mn;230;NSM;;;;;N;;;;; +1CDC;VEDIC TONE KATHAKA ANUDATTA;Mn;220;NSM;;;;;N;;;;; +1CDD;VEDIC TONE DOT BELOW;Mn;220;NSM;;;;;N;;;;; +1CDE;VEDIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +1CDF;VEDIC TONE THREE DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +1CE0;VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA;Mn;230;NSM;;;;;N;;;;; +1CE1;VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA;Mc;0;L;;;;;N;;;;; +1CE2;VEDIC SIGN VISARGA SVARITA;Mn;1;NSM;;;;;N;;;;; +1CE3;VEDIC SIGN VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;; +1CE4;VEDIC SIGN REVERSED VISARGA UDATTA;Mn;1;NSM;;;;;N;;;;; +1CE5;VEDIC SIGN VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;; +1CE6;VEDIC SIGN REVERSED VISARGA ANUDATTA;Mn;1;NSM;;;;;N;;;;; +1CE7;VEDIC SIGN VISARGA UDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;; +1CE8;VEDIC SIGN VISARGA ANUDATTA WITH TAIL;Mn;1;NSM;;;;;N;;;;; +1CE9;VEDIC SIGN ANUSVARA ANTARGOMUKHA;Lo;0;L;;;;;N;;;;; +1CEA;VEDIC SIGN ANUSVARA BAHIRGOMUKHA;Lo;0;L;;;;;N;;;;; +1CEB;VEDIC SIGN ANUSVARA VAMAGOMUKHA;Lo;0;L;;;;;N;;;;; +1CEC;VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL;Lo;0;L;;;;;N;;;;; +1CED;VEDIC SIGN TIRYAK;Mn;220;NSM;;;;;N;;;;; +1CEE;VEDIC SIGN HEXIFORM LONG ANUSVARA;Lo;0;L;;;;;N;;;;; +1CEF;VEDIC SIGN LONG ANUSVARA;Lo;0;L;;;;;N;;;;; +1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;; +1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;; +1CF2;VEDIC SIGN ARDHAVISARGA;Lo;0;L;;;;;N;;;;; +1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Lo;0;L;;;;;N;;;;; +1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;; +1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +1CF7;VEDIC SIGN ATIKRAMA;Mc;0;L;;;;;N;;;;; +1CF8;VEDIC TONE RING ABOVE;Mn;230;NSM;;;;;N;;;;; +1CF9;VEDIC TONE DOUBLE RING ABOVE;Mn;230;NSM;;;;;N;;;;; +1CFA;VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA;Lo;0;L;;;;;N;;;;; +1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;; +1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;; +1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;; +1D03;LATIN LETTER SMALL CAPITAL BARRED B;Ll;0;L;;;;;N;;;;; +1D04;LATIN LETTER SMALL CAPITAL C;Ll;0;L;;;;;N;;;;; +1D05;LATIN LETTER SMALL CAPITAL D;Ll;0;L;;;;;N;;;;; +1D06;LATIN LETTER SMALL CAPITAL ETH;Ll;0;L;;;;;N;;;;; +1D07;LATIN LETTER SMALL CAPITAL E;Ll;0;L;;;;;N;;;;; +1D08;LATIN SMALL LETTER TURNED OPEN E;Ll;0;L;;;;;N;;;;; +1D09;LATIN SMALL LETTER TURNED I;Ll;0;L;;;;;N;;;;; +1D0A;LATIN LETTER SMALL CAPITAL J;Ll;0;L;;;;;N;;;;; +1D0B;LATIN LETTER SMALL CAPITAL K;Ll;0;L;;;;;N;;;;; +1D0C;LATIN LETTER SMALL CAPITAL L WITH STROKE;Ll;0;L;;;;;N;;;;; +1D0D;LATIN LETTER SMALL CAPITAL M;Ll;0;L;;;;;N;;;;; +1D0E;LATIN LETTER SMALL CAPITAL REVERSED N;Ll;0;L;;;;;N;;;;; +1D0F;LATIN LETTER SMALL CAPITAL O;Ll;0;L;;;;;N;;;;; +1D10;LATIN LETTER SMALL CAPITAL OPEN O;Ll;0;L;;;;;N;;;;; +1D11;LATIN SMALL LETTER SIDEWAYS O;Ll;0;L;;;;;N;;;;; +1D12;LATIN SMALL LETTER SIDEWAYS OPEN O;Ll;0;L;;;;;N;;;;; +1D13;LATIN SMALL LETTER SIDEWAYS O WITH STROKE;Ll;0;L;;;;;N;;;;; +1D14;LATIN SMALL LETTER TURNED OE;Ll;0;L;;;;;N;;;;; +1D15;LATIN LETTER SMALL CAPITAL OU;Ll;0;L;;;;;N;;;;; +1D16;LATIN SMALL LETTER TOP HALF O;Ll;0;L;;;;;N;;;;; +1D17;LATIN SMALL LETTER BOTTOM HALF O;Ll;0;L;;;;;N;;;;; +1D18;LATIN LETTER SMALL CAPITAL P;Ll;0;L;;;;;N;;;;; +1D19;LATIN LETTER SMALL CAPITAL REVERSED R;Ll;0;L;;;;;N;;;;; +1D1A;LATIN LETTER SMALL CAPITAL TURNED R;Ll;0;L;;;;;N;;;;; +1D1B;LATIN LETTER SMALL CAPITAL T;Ll;0;L;;;;;N;;;;; +1D1C;LATIN LETTER SMALL CAPITAL U;Ll;0;L;;;;;N;;;;; +1D1D;LATIN SMALL LETTER SIDEWAYS U;Ll;0;L;;;;;N;;;;; +1D1E;LATIN SMALL LETTER SIDEWAYS DIAERESIZED U;Ll;0;L;;;;;N;;;;; +1D1F;LATIN SMALL LETTER SIDEWAYS TURNED M;Ll;0;L;;;;;N;;;;; +1D20;LATIN LETTER SMALL CAPITAL V;Ll;0;L;;;;;N;;;;; +1D21;LATIN LETTER SMALL CAPITAL W;Ll;0;L;;;;;N;;;;; +1D22;LATIN LETTER SMALL CAPITAL Z;Ll;0;L;;;;;N;;;;; +1D23;LATIN LETTER SMALL CAPITAL EZH;Ll;0;L;;;;;N;;;;; +1D24;LATIN LETTER VOICED LARYNGEAL SPIRANT;Ll;0;L;;;;;N;;;;; +1D25;LATIN LETTER AIN;Ll;0;L;;;;;N;;;;; +1D26;GREEK LETTER SMALL CAPITAL GAMMA;Ll;0;L;;;;;N;;;;; +1D27;GREEK LETTER SMALL CAPITAL LAMDA;Ll;0;L;;;;;N;;;;; +1D28;GREEK LETTER SMALL CAPITAL PI;Ll;0;L;;;;;N;;;;; +1D29;GREEK LETTER SMALL CAPITAL RHO;Ll;0;L;;;;;N;;;;; +1D2A;GREEK LETTER SMALL CAPITAL PSI;Ll;0;L;;;;;N;;;;; +1D2B;CYRILLIC LETTER SMALL CAPITAL EL;Ll;0;L;;;;;N;;;;; +1D2C;MODIFIER LETTER CAPITAL A;Lm;0;L; 0041;;;;N;;;;; +1D2D;MODIFIER LETTER CAPITAL AE;Lm;0;L; 00C6;;;;N;;;;; +1D2E;MODIFIER LETTER CAPITAL B;Lm;0;L; 0042;;;;N;;;;; +1D2F;MODIFIER LETTER CAPITAL BARRED B;Lm;0;L;;;;;N;;;;; +1D30;MODIFIER LETTER CAPITAL D;Lm;0;L; 0044;;;;N;;;;; +1D31;MODIFIER LETTER CAPITAL E;Lm;0;L; 0045;;;;N;;;;; +1D32;MODIFIER LETTER CAPITAL REVERSED E;Lm;0;L; 018E;;;;N;;;;; +1D33;MODIFIER LETTER CAPITAL G;Lm;0;L; 0047;;;;N;;;;; +1D34;MODIFIER LETTER CAPITAL H;Lm;0;L; 0048;;;;N;;;;; +1D35;MODIFIER LETTER CAPITAL I;Lm;0;L; 0049;;;;N;;;;; +1D36;MODIFIER LETTER CAPITAL J;Lm;0;L; 004A;;;;N;;;;; +1D37;MODIFIER LETTER CAPITAL K;Lm;0;L; 004B;;;;N;;;;; +1D38;MODIFIER LETTER CAPITAL L;Lm;0;L; 004C;;;;N;;;;; +1D39;MODIFIER LETTER CAPITAL M;Lm;0;L; 004D;;;;N;;;;; +1D3A;MODIFIER LETTER CAPITAL N;Lm;0;L; 004E;;;;N;;;;; +1D3B;MODIFIER LETTER CAPITAL REVERSED N;Lm;0;L;;;;;N;;;;; +1D3C;MODIFIER LETTER CAPITAL O;Lm;0;L; 004F;;;;N;;;;; +1D3D;MODIFIER LETTER CAPITAL OU;Lm;0;L; 0222;;;;N;;;;; +1D3E;MODIFIER LETTER CAPITAL P;Lm;0;L; 0050;;;;N;;;;; +1D3F;MODIFIER LETTER CAPITAL R;Lm;0;L; 0052;;;;N;;;;; +1D40;MODIFIER LETTER CAPITAL T;Lm;0;L; 0054;;;;N;;;;; +1D41;MODIFIER LETTER CAPITAL U;Lm;0;L; 0055;;;;N;;;;; +1D42;MODIFIER LETTER CAPITAL W;Lm;0;L; 0057;;;;N;;;;; +1D43;MODIFIER LETTER SMALL A;Lm;0;L; 0061;;;;N;;;;; +1D44;MODIFIER LETTER SMALL TURNED A;Lm;0;L; 0250;;;;N;;;;; +1D45;MODIFIER LETTER SMALL ALPHA;Lm;0;L; 0251;;;;N;;;;; +1D46;MODIFIER LETTER SMALL TURNED AE;Lm;0;L; 1D02;;;;N;;;;; +1D47;MODIFIER LETTER SMALL B;Lm;0;L; 0062;;;;N;;;;; +1D48;MODIFIER LETTER SMALL D;Lm;0;L; 0064;;;;N;;;;; +1D49;MODIFIER LETTER SMALL E;Lm;0;L; 0065;;;;N;;;;; +1D4A;MODIFIER LETTER SMALL SCHWA;Lm;0;L; 0259;;;;N;;;;; +1D4B;MODIFIER LETTER SMALL OPEN E;Lm;0;L; 025B;;;;N;;;;; +1D4C;MODIFIER LETTER SMALL TURNED OPEN E;Lm;0;L; 025C;;;;N;;;;; +1D4D;MODIFIER LETTER SMALL G;Lm;0;L; 0067;;;;N;;;;; +1D4E;MODIFIER LETTER SMALL TURNED I;Lm;0;L;;;;;N;;;;; +1D4F;MODIFIER LETTER SMALL K;Lm;0;L; 006B;;;;N;;;;; +1D50;MODIFIER LETTER SMALL M;Lm;0;L; 006D;;;;N;;;;; +1D51;MODIFIER LETTER SMALL ENG;Lm;0;L; 014B;;;;N;;;;; +1D52;MODIFIER LETTER SMALL O;Lm;0;L; 006F;;;;N;;;;; +1D53;MODIFIER LETTER SMALL OPEN O;Lm;0;L; 0254;;;;N;;;;; +1D54;MODIFIER LETTER SMALL TOP HALF O;Lm;0;L; 1D16;;;;N;;;;; +1D55;MODIFIER LETTER SMALL BOTTOM HALF O;Lm;0;L; 1D17;;;;N;;;;; +1D56;MODIFIER LETTER SMALL P;Lm;0;L; 0070;;;;N;;;;; +1D57;MODIFIER LETTER SMALL T;Lm;0;L; 0074;;;;N;;;;; +1D58;MODIFIER LETTER SMALL U;Lm;0;L; 0075;;;;N;;;;; +1D59;MODIFIER LETTER SMALL SIDEWAYS U;Lm;0;L; 1D1D;;;;N;;;;; +1D5A;MODIFIER LETTER SMALL TURNED M;Lm;0;L; 026F;;;;N;;;;; +1D5B;MODIFIER LETTER SMALL V;Lm;0;L; 0076;;;;N;;;;; +1D5C;MODIFIER LETTER SMALL AIN;Lm;0;L; 1D25;;;;N;;;;; +1D5D;MODIFIER LETTER SMALL BETA;Lm;0;L; 03B2;;;;N;;;;; +1D5E;MODIFIER LETTER SMALL GREEK GAMMA;Lm;0;L; 03B3;;;;N;;;;; +1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L; 03B4;;;;N;;;;; +1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L; 03C6;;;;N;;;;; +1D61;MODIFIER LETTER SMALL CHI;Lm;0;L; 03C7;;;;N;;;;; +1D62;LATIN SUBSCRIPT SMALL LETTER I;Lm;0;L; 0069;;;;N;;;;; +1D63;LATIN SUBSCRIPT SMALL LETTER R;Lm;0;L; 0072;;;;N;;;;; +1D64;LATIN SUBSCRIPT SMALL LETTER U;Lm;0;L; 0075;;;;N;;;;; +1D65;LATIN SUBSCRIPT SMALL LETTER V;Lm;0;L; 0076;;;;N;;;;; +1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Lm;0;L; 03B2;;;;N;;;;; +1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Lm;0;L; 03B3;;;;N;;;;; +1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Lm;0;L; 03C1;;;;N;;;;; +1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Lm;0;L; 03C6;;;;N;;;;; +1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Lm;0;L; 03C7;;;;N;;;;; +1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;; +1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6E;LATIN SMALL LETTER F WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D6F;LATIN SMALL LETTER M WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D70;LATIN SMALL LETTER N WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D71;LATIN SMALL LETTER P WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D72;LATIN SMALL LETTER R WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D73;LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D74;LATIN SMALL LETTER S WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D75;LATIN SMALL LETTER T WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D76;LATIN SMALL LETTER Z WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +1D77;LATIN SMALL LETTER TURNED G;Ll;0;L;;;;;N;;;;; +1D78;MODIFIER LETTER CYRILLIC EN;Lm;0;L; 043D;;;;N;;;;; +1D79;LATIN SMALL LETTER INSULAR G;Ll;0;L;;;;;N;;;A77D;;A77D +1D7A;LATIN SMALL LETTER TH WITH STRIKETHROUGH;Ll;0;L;;;;;N;;;;; +1D7B;LATIN SMALL CAPITAL LETTER I WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7C;LATIN SMALL LETTER IOTA WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7D;LATIN SMALL LETTER P WITH STROKE;Ll;0;L;;;;;N;;;2C63;;2C63 +1D7E;LATIN SMALL CAPITAL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;;; +1D7F;LATIN SMALL LETTER UPSILON WITH STROKE;Ll;0;L;;;;;N;;;;; +1D80;LATIN SMALL LETTER B WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D81;LATIN SMALL LETTER D WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D82;LATIN SMALL LETTER F WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D83;LATIN SMALL LETTER G WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D84;LATIN SMALL LETTER K WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D85;LATIN SMALL LETTER L WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D86;LATIN SMALL LETTER M WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D87;LATIN SMALL LETTER N WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D88;LATIN SMALL LETTER P WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D89;LATIN SMALL LETTER R WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8A;LATIN SMALL LETTER S WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8B;LATIN SMALL LETTER ESH WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8C;LATIN SMALL LETTER V WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8D;LATIN SMALL LETTER X WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +1D8E;LATIN SMALL LETTER Z WITH PALATAL HOOK;Ll;0;L;;;;;N;;;A7C6;;A7C6 +1D8F;LATIN SMALL LETTER A WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D90;LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D91;LATIN SMALL LETTER D WITH HOOK AND TAIL;Ll;0;L;;;;;N;;;;; +1D92;LATIN SMALL LETTER E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D93;LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D94;LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D95;LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D96;LATIN SMALL LETTER I WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D97;LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D98;LATIN SMALL LETTER ESH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D99;LATIN SMALL LETTER U WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D9A;LATIN SMALL LETTER EZH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +1D9B;MODIFIER LETTER SMALL TURNED ALPHA;Lm;0;L; 0252;;;;N;;;;; +1D9C;MODIFIER LETTER SMALL C;Lm;0;L; 0063;;;;N;;;;; +1D9D;MODIFIER LETTER SMALL C WITH CURL;Lm;0;L; 0255;;;;N;;;;; +1D9E;MODIFIER LETTER SMALL ETH;Lm;0;L; 00F0;;;;N;;;;; +1D9F;MODIFIER LETTER SMALL REVERSED OPEN E;Lm;0;L; 025C;;;;N;;;;; +1DA0;MODIFIER LETTER SMALL F;Lm;0;L; 0066;;;;N;;;;; +1DA1;MODIFIER LETTER SMALL DOTLESS J WITH STROKE;Lm;0;L; 025F;;;;N;;;;; +1DA2;MODIFIER LETTER SMALL SCRIPT G;Lm;0;L; 0261;;;;N;;;;; +1DA3;MODIFIER LETTER SMALL TURNED H;Lm;0;L; 0265;;;;N;;;;; +1DA4;MODIFIER LETTER SMALL I WITH STROKE;Lm;0;L; 0268;;;;N;;;;; +1DA5;MODIFIER LETTER SMALL IOTA;Lm;0;L; 0269;;;;N;;;;; +1DA6;MODIFIER LETTER SMALL CAPITAL I;Lm;0;L; 026A;;;;N;;;;; +1DA7;MODIFIER LETTER SMALL CAPITAL I WITH STROKE;Lm;0;L; 1D7B;;;;N;;;;; +1DA8;MODIFIER LETTER SMALL J WITH CROSSED-TAIL;Lm;0;L; 029D;;;;N;;;;; +1DA9;MODIFIER LETTER SMALL L WITH RETROFLEX HOOK;Lm;0;L; 026D;;;;N;;;;; +1DAA;MODIFIER LETTER SMALL L WITH PALATAL HOOK;Lm;0;L; 1D85;;;;N;;;;; +1DAB;MODIFIER LETTER SMALL CAPITAL L;Lm;0;L; 029F;;;;N;;;;; +1DAC;MODIFIER LETTER SMALL M WITH HOOK;Lm;0;L; 0271;;;;N;;;;; +1DAD;MODIFIER LETTER SMALL TURNED M WITH LONG LEG;Lm;0;L; 0270;;;;N;;;;; +1DAE;MODIFIER LETTER SMALL N WITH LEFT HOOK;Lm;0;L; 0272;;;;N;;;;; +1DAF;MODIFIER LETTER SMALL N WITH RETROFLEX HOOK;Lm;0;L; 0273;;;;N;;;;; +1DB0;MODIFIER LETTER SMALL CAPITAL N;Lm;0;L; 0274;;;;N;;;;; +1DB1;MODIFIER LETTER SMALL BARRED O;Lm;0;L; 0275;;;;N;;;;; +1DB2;MODIFIER LETTER SMALL PHI;Lm;0;L; 0278;;;;N;;;;; +1DB3;MODIFIER LETTER SMALL S WITH HOOK;Lm;0;L; 0282;;;;N;;;;; +1DB4;MODIFIER LETTER SMALL ESH;Lm;0;L; 0283;;;;N;;;;; +1DB5;MODIFIER LETTER SMALL T WITH PALATAL HOOK;Lm;0;L; 01AB;;;;N;;;;; +1DB6;MODIFIER LETTER SMALL U BAR;Lm;0;L; 0289;;;;N;;;;; +1DB7;MODIFIER LETTER SMALL UPSILON;Lm;0;L; 028A;;;;N;;;;; +1DB8;MODIFIER LETTER SMALL CAPITAL U;Lm;0;L; 1D1C;;;;N;;;;; +1DB9;MODIFIER LETTER SMALL V WITH HOOK;Lm;0;L; 028B;;;;N;;;;; +1DBA;MODIFIER LETTER SMALL TURNED V;Lm;0;L; 028C;;;;N;;;;; +1DBB;MODIFIER LETTER SMALL Z;Lm;0;L; 007A;;;;N;;;;; +1DBC;MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK;Lm;0;L; 0290;;;;N;;;;; +1DBD;MODIFIER LETTER SMALL Z WITH CURL;Lm;0;L; 0291;;;;N;;;;; +1DBE;MODIFIER LETTER SMALL EZH;Lm;0;L; 0292;;;;N;;;;; +1DBF;MODIFIER LETTER SMALL THETA;Lm;0;L; 03B8;;;;N;;;;; +1DC0;COMBINING DOTTED GRAVE ACCENT;Mn;230;NSM;;;;;N;;;;; +1DC1;COMBINING DOTTED ACUTE ACCENT;Mn;230;NSM;;;;;N;;;;; +1DC2;COMBINING SNAKE BELOW;Mn;220;NSM;;;;;N;;;;; +1DC3;COMBINING SUSPENSION MARK;Mn;230;NSM;;;;;N;;;;; +1DC4;COMBINING MACRON-ACUTE;Mn;230;NSM;;;;;N;;;;; +1DC5;COMBINING GRAVE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DC6;COMBINING MACRON-GRAVE;Mn;230;NSM;;;;;N;;;;; +1DC7;COMBINING ACUTE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DC8;COMBINING GRAVE-ACUTE-GRAVE;Mn;230;NSM;;;;;N;;;;; +1DC9;COMBINING ACUTE-GRAVE-ACUTE;Mn;230;NSM;;;;;N;;;;; +1DCA;COMBINING LATIN SMALL LETTER R BELOW;Mn;220;NSM;;;;;N;;;;; +1DCB;COMBINING BREVE-MACRON;Mn;230;NSM;;;;;N;;;;; +1DCC;COMBINING MACRON-BREVE;Mn;230;NSM;;;;;N;;;;; +1DCD;COMBINING DOUBLE CIRCUMFLEX ABOVE;Mn;234;NSM;;;;;N;;;;; +1DCE;COMBINING OGONEK ABOVE;Mn;214;NSM;;;;;N;;;;; +1DCF;COMBINING ZIGZAG BELOW;Mn;220;NSM;;;;;N;;;;; +1DD0;COMBINING IS BELOW;Mn;202;NSM;;;;;N;;;;; +1DD1;COMBINING UR ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD2;COMBINING US ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD3;COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE;Mn;230;NSM;;;;;N;;;;; +1DD4;COMBINING LATIN SMALL LETTER AE;Mn;230;NSM;;;;;N;;;;; +1DD5;COMBINING LATIN SMALL LETTER AO;Mn;230;NSM;;;;;N;;;;; +1DD6;COMBINING LATIN SMALL LETTER AV;Mn;230;NSM;;;;;N;;;;; +1DD7;COMBINING LATIN SMALL LETTER C CEDILLA;Mn;230;NSM;;;;;N;;;;; +1DD8;COMBINING LATIN SMALL LETTER INSULAR D;Mn;230;NSM;;;;;N;;;;; +1DD9;COMBINING LATIN SMALL LETTER ETH;Mn;230;NSM;;;;;N;;;;; +1DDA;COMBINING LATIN SMALL LETTER G;Mn;230;NSM;;;;;N;;;;; +1DDB;COMBINING LATIN LETTER SMALL CAPITAL G;Mn;230;NSM;;;;;N;;;;; +1DDC;COMBINING LATIN SMALL LETTER K;Mn;230;NSM;;;;;N;;;;; +1DDD;COMBINING LATIN SMALL LETTER L;Mn;230;NSM;;;;;N;;;;; +1DDE;COMBINING LATIN LETTER SMALL CAPITAL L;Mn;230;NSM;;;;;N;;;;; +1DDF;COMBINING LATIN LETTER SMALL CAPITAL M;Mn;230;NSM;;;;;N;;;;; +1DE0;COMBINING LATIN SMALL LETTER N;Mn;230;NSM;;;;;N;;;;; +1DE1;COMBINING LATIN LETTER SMALL CAPITAL N;Mn;230;NSM;;;;;N;;;;; +1DE2;COMBINING LATIN LETTER SMALL CAPITAL R;Mn;230;NSM;;;;;N;;;;; +1DE3;COMBINING LATIN SMALL LETTER R ROTUNDA;Mn;230;NSM;;;;;N;;;;; +1DE4;COMBINING LATIN SMALL LETTER S;Mn;230;NSM;;;;;N;;;;; +1DE5;COMBINING LATIN SMALL LETTER LONG S;Mn;230;NSM;;;;;N;;;;; +1DE6;COMBINING LATIN SMALL LETTER Z;Mn;230;NSM;;;;;N;;;;; +1DE7;COMBINING LATIN SMALL LETTER ALPHA;Mn;230;NSM;;;;;N;;;;; +1DE8;COMBINING LATIN SMALL LETTER B;Mn;230;NSM;;;;;N;;;;; +1DE9;COMBINING LATIN SMALL LETTER BETA;Mn;230;NSM;;;;;N;;;;; +1DEA;COMBINING LATIN SMALL LETTER SCHWA;Mn;230;NSM;;;;;N;;;;; +1DEB;COMBINING LATIN SMALL LETTER F;Mn;230;NSM;;;;;N;;;;; +1DEC;COMBINING LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Mn;230;NSM;;;;;N;;;;; +1DED;COMBINING LATIN SMALL LETTER O WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;; +1DEE;COMBINING LATIN SMALL LETTER P;Mn;230;NSM;;;;;N;;;;; +1DEF;COMBINING LATIN SMALL LETTER ESH;Mn;230;NSM;;;;;N;;;;; +1DF0;COMBINING LATIN SMALL LETTER U WITH LIGHT CENTRALIZATION STROKE;Mn;230;NSM;;;;;N;;;;; +1DF1;COMBINING LATIN SMALL LETTER W;Mn;230;NSM;;;;;N;;;;; +1DF2;COMBINING LATIN SMALL LETTER A WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;; +1DF3;COMBINING LATIN SMALL LETTER O WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;; +1DF4;COMBINING LATIN SMALL LETTER U WITH DIAERESIS;Mn;230;NSM;;;;;N;;;;; +1DF5;COMBINING UP TACK ABOVE;Mn;230;NSM;;;;;N;;;;; +1DF6;COMBINING KAVYKA ABOVE RIGHT;Mn;232;NSM;;;;;N;;;;; +1DF7;COMBINING KAVYKA ABOVE LEFT;Mn;228;NSM;;;;;N;;;;; +1DF8;COMBINING DOT ABOVE LEFT;Mn;228;NSM;;;;;N;;;;; +1DF9;COMBINING WIDE INVERTED BRIDGE BELOW;Mn;220;NSM;;;;;N;;;;; +1DFB;COMBINING DELETION MARK;Mn;230;NSM;;;;;N;;;;; +1DFC;COMBINING DOUBLE INVERTED BREVE BELOW;Mn;233;NSM;;;;;N;;;;; +1DFD;COMBINING ALMOST EQUAL TO BELOW;Mn;220;NSM;;;;;N;;;;; +1DFE;COMBINING LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;; +1DFF;COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;; +1E00;LATIN CAPITAL LETTER A WITH RING BELOW;Lu;0;L;0041 0325;;;;N;;;;1E01; +1E01;LATIN SMALL LETTER A WITH RING BELOW;Ll;0;L;0061 0325;;;;N;;;1E00;;1E00 +1E02;LATIN CAPITAL LETTER B WITH DOT ABOVE;Lu;0;L;0042 0307;;;;N;;;;1E03; +1E03;LATIN SMALL LETTER B WITH DOT ABOVE;Ll;0;L;0062 0307;;;;N;;;1E02;;1E02 +1E04;LATIN CAPITAL LETTER B WITH DOT BELOW;Lu;0;L;0042 0323;;;;N;;;;1E05; +1E05;LATIN SMALL LETTER B WITH DOT BELOW;Ll;0;L;0062 0323;;;;N;;;1E04;;1E04 +1E06;LATIN CAPITAL LETTER B WITH LINE BELOW;Lu;0;L;0042 0331;;;;N;;;;1E07; +1E07;LATIN SMALL LETTER B WITH LINE BELOW;Ll;0;L;0062 0331;;;;N;;;1E06;;1E06 +1E08;LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE;Lu;0;L;00C7 0301;;;;N;;;;1E09; +1E09;LATIN SMALL LETTER C WITH CEDILLA AND ACUTE;Ll;0;L;00E7 0301;;;;N;;;1E08;;1E08 +1E0A;LATIN CAPITAL LETTER D WITH DOT ABOVE;Lu;0;L;0044 0307;;;;N;;;;1E0B; +1E0B;LATIN SMALL LETTER D WITH DOT ABOVE;Ll;0;L;0064 0307;;;;N;;;1E0A;;1E0A +1E0C;LATIN CAPITAL LETTER D WITH DOT BELOW;Lu;0;L;0044 0323;;;;N;;;;1E0D; +1E0D;LATIN SMALL LETTER D WITH DOT BELOW;Ll;0;L;0064 0323;;;;N;;;1E0C;;1E0C +1E0E;LATIN CAPITAL LETTER D WITH LINE BELOW;Lu;0;L;0044 0331;;;;N;;;;1E0F; +1E0F;LATIN SMALL LETTER D WITH LINE BELOW;Ll;0;L;0064 0331;;;;N;;;1E0E;;1E0E +1E10;LATIN CAPITAL LETTER D WITH CEDILLA;Lu;0;L;0044 0327;;;;N;;;;1E11; +1E11;LATIN SMALL LETTER D WITH CEDILLA;Ll;0;L;0064 0327;;;;N;;;1E10;;1E10 +1E12;LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW;Lu;0;L;0044 032D;;;;N;;;;1E13; +1E13;LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW;Ll;0;L;0064 032D;;;;N;;;1E12;;1E12 +1E14;LATIN CAPITAL LETTER E WITH MACRON AND GRAVE;Lu;0;L;0112 0300;;;;N;;;;1E15; +1E15;LATIN SMALL LETTER E WITH MACRON AND GRAVE;Ll;0;L;0113 0300;;;;N;;;1E14;;1E14 +1E16;LATIN CAPITAL LETTER E WITH MACRON AND ACUTE;Lu;0;L;0112 0301;;;;N;;;;1E17; +1E17;LATIN SMALL LETTER E WITH MACRON AND ACUTE;Ll;0;L;0113 0301;;;;N;;;1E16;;1E16 +1E18;LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW;Lu;0;L;0045 032D;;;;N;;;;1E19; +1E19;LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW;Ll;0;L;0065 032D;;;;N;;;1E18;;1E18 +1E1A;LATIN CAPITAL LETTER E WITH TILDE BELOW;Lu;0;L;0045 0330;;;;N;;;;1E1B; +1E1B;LATIN SMALL LETTER E WITH TILDE BELOW;Ll;0;L;0065 0330;;;;N;;;1E1A;;1E1A +1E1C;LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE;Lu;0;L;0228 0306;;;;N;;;;1E1D; +1E1D;LATIN SMALL LETTER E WITH CEDILLA AND BREVE;Ll;0;L;0229 0306;;;;N;;;1E1C;;1E1C +1E1E;LATIN CAPITAL LETTER F WITH DOT ABOVE;Lu;0;L;0046 0307;;;;N;;;;1E1F; +1E1F;LATIN SMALL LETTER F WITH DOT ABOVE;Ll;0;L;0066 0307;;;;N;;;1E1E;;1E1E +1E20;LATIN CAPITAL LETTER G WITH MACRON;Lu;0;L;0047 0304;;;;N;;;;1E21; +1E21;LATIN SMALL LETTER G WITH MACRON;Ll;0;L;0067 0304;;;;N;;;1E20;;1E20 +1E22;LATIN CAPITAL LETTER H WITH DOT ABOVE;Lu;0;L;0048 0307;;;;N;;;;1E23; +1E23;LATIN SMALL LETTER H WITH DOT ABOVE;Ll;0;L;0068 0307;;;;N;;;1E22;;1E22 +1E24;LATIN CAPITAL LETTER H WITH DOT BELOW;Lu;0;L;0048 0323;;;;N;;;;1E25; +1E25;LATIN SMALL LETTER H WITH DOT BELOW;Ll;0;L;0068 0323;;;;N;;;1E24;;1E24 +1E26;LATIN CAPITAL LETTER H WITH DIAERESIS;Lu;0;L;0048 0308;;;;N;;;;1E27; +1E27;LATIN SMALL LETTER H WITH DIAERESIS;Ll;0;L;0068 0308;;;;N;;;1E26;;1E26 +1E28;LATIN CAPITAL LETTER H WITH CEDILLA;Lu;0;L;0048 0327;;;;N;;;;1E29; +1E29;LATIN SMALL LETTER H WITH CEDILLA;Ll;0;L;0068 0327;;;;N;;;1E28;;1E28 +1E2A;LATIN CAPITAL LETTER H WITH BREVE BELOW;Lu;0;L;0048 032E;;;;N;;;;1E2B; +1E2B;LATIN SMALL LETTER H WITH BREVE BELOW;Ll;0;L;0068 032E;;;;N;;;1E2A;;1E2A +1E2C;LATIN CAPITAL LETTER I WITH TILDE BELOW;Lu;0;L;0049 0330;;;;N;;;;1E2D; +1E2D;LATIN SMALL LETTER I WITH TILDE BELOW;Ll;0;L;0069 0330;;;;N;;;1E2C;;1E2C +1E2E;LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE;Lu;0;L;00CF 0301;;;;N;;;;1E2F; +1E2F;LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE;Ll;0;L;00EF 0301;;;;N;;;1E2E;;1E2E +1E30;LATIN CAPITAL LETTER K WITH ACUTE;Lu;0;L;004B 0301;;;;N;;;;1E31; +1E31;LATIN SMALL LETTER K WITH ACUTE;Ll;0;L;006B 0301;;;;N;;;1E30;;1E30 +1E32;LATIN CAPITAL LETTER K WITH DOT BELOW;Lu;0;L;004B 0323;;;;N;;;;1E33; +1E33;LATIN SMALL LETTER K WITH DOT BELOW;Ll;0;L;006B 0323;;;;N;;;1E32;;1E32 +1E34;LATIN CAPITAL LETTER K WITH LINE BELOW;Lu;0;L;004B 0331;;;;N;;;;1E35; +1E35;LATIN SMALL LETTER K WITH LINE BELOW;Ll;0;L;006B 0331;;;;N;;;1E34;;1E34 +1E36;LATIN CAPITAL LETTER L WITH DOT BELOW;Lu;0;L;004C 0323;;;;N;;;;1E37; +1E37;LATIN SMALL LETTER L WITH DOT BELOW;Ll;0;L;006C 0323;;;;N;;;1E36;;1E36 +1E38;LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON;Lu;0;L;1E36 0304;;;;N;;;;1E39; +1E39;LATIN SMALL LETTER L WITH DOT BELOW AND MACRON;Ll;0;L;1E37 0304;;;;N;;;1E38;;1E38 +1E3A;LATIN CAPITAL LETTER L WITH LINE BELOW;Lu;0;L;004C 0331;;;;N;;;;1E3B; +1E3B;LATIN SMALL LETTER L WITH LINE BELOW;Ll;0;L;006C 0331;;;;N;;;1E3A;;1E3A +1E3C;LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW;Lu;0;L;004C 032D;;;;N;;;;1E3D; +1E3D;LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW;Ll;0;L;006C 032D;;;;N;;;1E3C;;1E3C +1E3E;LATIN CAPITAL LETTER M WITH ACUTE;Lu;0;L;004D 0301;;;;N;;;;1E3F; +1E3F;LATIN SMALL LETTER M WITH ACUTE;Ll;0;L;006D 0301;;;;N;;;1E3E;;1E3E +1E40;LATIN CAPITAL LETTER M WITH DOT ABOVE;Lu;0;L;004D 0307;;;;N;;;;1E41; +1E41;LATIN SMALL LETTER M WITH DOT ABOVE;Ll;0;L;006D 0307;;;;N;;;1E40;;1E40 +1E42;LATIN CAPITAL LETTER M WITH DOT BELOW;Lu;0;L;004D 0323;;;;N;;;;1E43; +1E43;LATIN SMALL LETTER M WITH DOT BELOW;Ll;0;L;006D 0323;;;;N;;;1E42;;1E42 +1E44;LATIN CAPITAL LETTER N WITH DOT ABOVE;Lu;0;L;004E 0307;;;;N;;;;1E45; +1E45;LATIN SMALL LETTER N WITH DOT ABOVE;Ll;0;L;006E 0307;;;;N;;;1E44;;1E44 +1E46;LATIN CAPITAL LETTER N WITH DOT BELOW;Lu;0;L;004E 0323;;;;N;;;;1E47; +1E47;LATIN SMALL LETTER N WITH DOT BELOW;Ll;0;L;006E 0323;;;;N;;;1E46;;1E46 +1E48;LATIN CAPITAL LETTER N WITH LINE BELOW;Lu;0;L;004E 0331;;;;N;;;;1E49; +1E49;LATIN SMALL LETTER N WITH LINE BELOW;Ll;0;L;006E 0331;;;;N;;;1E48;;1E48 +1E4A;LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW;Lu;0;L;004E 032D;;;;N;;;;1E4B; +1E4B;LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW;Ll;0;L;006E 032D;;;;N;;;1E4A;;1E4A +1E4C;LATIN CAPITAL LETTER O WITH TILDE AND ACUTE;Lu;0;L;00D5 0301;;;;N;;;;1E4D; +1E4D;LATIN SMALL LETTER O WITH TILDE AND ACUTE;Ll;0;L;00F5 0301;;;;N;;;1E4C;;1E4C +1E4E;LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS;Lu;0;L;00D5 0308;;;;N;;;;1E4F; +1E4F;LATIN SMALL LETTER O WITH TILDE AND DIAERESIS;Ll;0;L;00F5 0308;;;;N;;;1E4E;;1E4E +1E50;LATIN CAPITAL LETTER O WITH MACRON AND GRAVE;Lu;0;L;014C 0300;;;;N;;;;1E51; +1E51;LATIN SMALL LETTER O WITH MACRON AND GRAVE;Ll;0;L;014D 0300;;;;N;;;1E50;;1E50 +1E52;LATIN CAPITAL LETTER O WITH MACRON AND ACUTE;Lu;0;L;014C 0301;;;;N;;;;1E53; +1E53;LATIN SMALL LETTER O WITH MACRON AND ACUTE;Ll;0;L;014D 0301;;;;N;;;1E52;;1E52 +1E54;LATIN CAPITAL LETTER P WITH ACUTE;Lu;0;L;0050 0301;;;;N;;;;1E55; +1E55;LATIN SMALL LETTER P WITH ACUTE;Ll;0;L;0070 0301;;;;N;;;1E54;;1E54 +1E56;LATIN CAPITAL LETTER P WITH DOT ABOVE;Lu;0;L;0050 0307;;;;N;;;;1E57; +1E57;LATIN SMALL LETTER P WITH DOT ABOVE;Ll;0;L;0070 0307;;;;N;;;1E56;;1E56 +1E58;LATIN CAPITAL LETTER R WITH DOT ABOVE;Lu;0;L;0052 0307;;;;N;;;;1E59; +1E59;LATIN SMALL LETTER R WITH DOT ABOVE;Ll;0;L;0072 0307;;;;N;;;1E58;;1E58 +1E5A;LATIN CAPITAL LETTER R WITH DOT BELOW;Lu;0;L;0052 0323;;;;N;;;;1E5B; +1E5B;LATIN SMALL LETTER R WITH DOT BELOW;Ll;0;L;0072 0323;;;;N;;;1E5A;;1E5A +1E5C;LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON;Lu;0;L;1E5A 0304;;;;N;;;;1E5D; +1E5D;LATIN SMALL LETTER R WITH DOT BELOW AND MACRON;Ll;0;L;1E5B 0304;;;;N;;;1E5C;;1E5C +1E5E;LATIN CAPITAL LETTER R WITH LINE BELOW;Lu;0;L;0052 0331;;;;N;;;;1E5F; +1E5F;LATIN SMALL LETTER R WITH LINE BELOW;Ll;0;L;0072 0331;;;;N;;;1E5E;;1E5E +1E60;LATIN CAPITAL LETTER S WITH DOT ABOVE;Lu;0;L;0053 0307;;;;N;;;;1E61; +1E61;LATIN SMALL LETTER S WITH DOT ABOVE;Ll;0;L;0073 0307;;;;N;;;1E60;;1E60 +1E62;LATIN CAPITAL LETTER S WITH DOT BELOW;Lu;0;L;0053 0323;;;;N;;;;1E63; +1E63;LATIN SMALL LETTER S WITH DOT BELOW;Ll;0;L;0073 0323;;;;N;;;1E62;;1E62 +1E64;LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE;Lu;0;L;015A 0307;;;;N;;;;1E65; +1E65;LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE;Ll;0;L;015B 0307;;;;N;;;1E64;;1E64 +1E66;LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE;Lu;0;L;0160 0307;;;;N;;;;1E67; +1E67;LATIN SMALL LETTER S WITH CARON AND DOT ABOVE;Ll;0;L;0161 0307;;;;N;;;1E66;;1E66 +1E68;LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE;Lu;0;L;1E62 0307;;;;N;;;;1E69; +1E69;LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE;Ll;0;L;1E63 0307;;;;N;;;1E68;;1E68 +1E6A;LATIN CAPITAL LETTER T WITH DOT ABOVE;Lu;0;L;0054 0307;;;;N;;;;1E6B; +1E6B;LATIN SMALL LETTER T WITH DOT ABOVE;Ll;0;L;0074 0307;;;;N;;;1E6A;;1E6A +1E6C;LATIN CAPITAL LETTER T WITH DOT BELOW;Lu;0;L;0054 0323;;;;N;;;;1E6D; +1E6D;LATIN SMALL LETTER T WITH DOT BELOW;Ll;0;L;0074 0323;;;;N;;;1E6C;;1E6C +1E6E;LATIN CAPITAL LETTER T WITH LINE BELOW;Lu;0;L;0054 0331;;;;N;;;;1E6F; +1E6F;LATIN SMALL LETTER T WITH LINE BELOW;Ll;0;L;0074 0331;;;;N;;;1E6E;;1E6E +1E70;LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW;Lu;0;L;0054 032D;;;;N;;;;1E71; +1E71;LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW;Ll;0;L;0074 032D;;;;N;;;1E70;;1E70 +1E72;LATIN CAPITAL LETTER U WITH DIAERESIS BELOW;Lu;0;L;0055 0324;;;;N;;;;1E73; +1E73;LATIN SMALL LETTER U WITH DIAERESIS BELOW;Ll;0;L;0075 0324;;;;N;;;1E72;;1E72 +1E74;LATIN CAPITAL LETTER U WITH TILDE BELOW;Lu;0;L;0055 0330;;;;N;;;;1E75; +1E75;LATIN SMALL LETTER U WITH TILDE BELOW;Ll;0;L;0075 0330;;;;N;;;1E74;;1E74 +1E76;LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW;Lu;0;L;0055 032D;;;;N;;;;1E77; +1E77;LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW;Ll;0;L;0075 032D;;;;N;;;1E76;;1E76 +1E78;LATIN CAPITAL LETTER U WITH TILDE AND ACUTE;Lu;0;L;0168 0301;;;;N;;;;1E79; +1E79;LATIN SMALL LETTER U WITH TILDE AND ACUTE;Ll;0;L;0169 0301;;;;N;;;1E78;;1E78 +1E7A;LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS;Lu;0;L;016A 0308;;;;N;;;;1E7B; +1E7B;LATIN SMALL LETTER U WITH MACRON AND DIAERESIS;Ll;0;L;016B 0308;;;;N;;;1E7A;;1E7A +1E7C;LATIN CAPITAL LETTER V WITH TILDE;Lu;0;L;0056 0303;;;;N;;;;1E7D; +1E7D;LATIN SMALL LETTER V WITH TILDE;Ll;0;L;0076 0303;;;;N;;;1E7C;;1E7C +1E7E;LATIN CAPITAL LETTER V WITH DOT BELOW;Lu;0;L;0056 0323;;;;N;;;;1E7F; +1E7F;LATIN SMALL LETTER V WITH DOT BELOW;Ll;0;L;0076 0323;;;;N;;;1E7E;;1E7E +1E80;LATIN CAPITAL LETTER W WITH GRAVE;Lu;0;L;0057 0300;;;;N;;;;1E81; +1E81;LATIN SMALL LETTER W WITH GRAVE;Ll;0;L;0077 0300;;;;N;;;1E80;;1E80 +1E82;LATIN CAPITAL LETTER W WITH ACUTE;Lu;0;L;0057 0301;;;;N;;;;1E83; +1E83;LATIN SMALL LETTER W WITH ACUTE;Ll;0;L;0077 0301;;;;N;;;1E82;;1E82 +1E84;LATIN CAPITAL LETTER W WITH DIAERESIS;Lu;0;L;0057 0308;;;;N;;;;1E85; +1E85;LATIN SMALL LETTER W WITH DIAERESIS;Ll;0;L;0077 0308;;;;N;;;1E84;;1E84 +1E86;LATIN CAPITAL LETTER W WITH DOT ABOVE;Lu;0;L;0057 0307;;;;N;;;;1E87; +1E87;LATIN SMALL LETTER W WITH DOT ABOVE;Ll;0;L;0077 0307;;;;N;;;1E86;;1E86 +1E88;LATIN CAPITAL LETTER W WITH DOT BELOW;Lu;0;L;0057 0323;;;;N;;;;1E89; +1E89;LATIN SMALL LETTER W WITH DOT BELOW;Ll;0;L;0077 0323;;;;N;;;1E88;;1E88 +1E8A;LATIN CAPITAL LETTER X WITH DOT ABOVE;Lu;0;L;0058 0307;;;;N;;;;1E8B; +1E8B;LATIN SMALL LETTER X WITH DOT ABOVE;Ll;0;L;0078 0307;;;;N;;;1E8A;;1E8A +1E8C;LATIN CAPITAL LETTER X WITH DIAERESIS;Lu;0;L;0058 0308;;;;N;;;;1E8D; +1E8D;LATIN SMALL LETTER X WITH DIAERESIS;Ll;0;L;0078 0308;;;;N;;;1E8C;;1E8C +1E8E;LATIN CAPITAL LETTER Y WITH DOT ABOVE;Lu;0;L;0059 0307;;;;N;;;;1E8F; +1E8F;LATIN SMALL LETTER Y WITH DOT ABOVE;Ll;0;L;0079 0307;;;;N;;;1E8E;;1E8E +1E90;LATIN CAPITAL LETTER Z WITH CIRCUMFLEX;Lu;0;L;005A 0302;;;;N;;;;1E91; +1E91;LATIN SMALL LETTER Z WITH CIRCUMFLEX;Ll;0;L;007A 0302;;;;N;;;1E90;;1E90 +1E92;LATIN CAPITAL LETTER Z WITH DOT BELOW;Lu;0;L;005A 0323;;;;N;;;;1E93; +1E93;LATIN SMALL LETTER Z WITH DOT BELOW;Ll;0;L;007A 0323;;;;N;;;1E92;;1E92 +1E94;LATIN CAPITAL LETTER Z WITH LINE BELOW;Lu;0;L;005A 0331;;;;N;;;;1E95; +1E95;LATIN SMALL LETTER Z WITH LINE BELOW;Ll;0;L;007A 0331;;;;N;;;1E94;;1E94 +1E96;LATIN SMALL LETTER H WITH LINE BELOW;Ll;0;L;0068 0331;;;;N;;;;; +1E97;LATIN SMALL LETTER T WITH DIAERESIS;Ll;0;L;0074 0308;;;;N;;;;; +1E98;LATIN SMALL LETTER W WITH RING ABOVE;Ll;0;L;0077 030A;;;;N;;;;; +1E99;LATIN SMALL LETTER Y WITH RING ABOVE;Ll;0;L;0079 030A;;;;N;;;;; +1E9A;LATIN SMALL LETTER A WITH RIGHT HALF RING;Ll;0;L; 0061 02BE;;;;N;;;;; +1E9B;LATIN SMALL LETTER LONG S WITH DOT ABOVE;Ll;0;L;017F 0307;;;;N;;;1E60;;1E60 +1E9C;LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;;; +1E9D;LATIN SMALL LETTER LONG S WITH HIGH STROKE;Ll;0;L;;;;;N;;;;; +1E9E;LATIN CAPITAL LETTER SHARP S;Lu;0;L;;;;;N;;;;00DF; +1E9F;LATIN SMALL LETTER DELTA;Ll;0;L;;;;;N;;;;; +1EA0;LATIN CAPITAL LETTER A WITH DOT BELOW;Lu;0;L;0041 0323;;;;N;;;;1EA1; +1EA1;LATIN SMALL LETTER A WITH DOT BELOW;Ll;0;L;0061 0323;;;;N;;;1EA0;;1EA0 +1EA2;LATIN CAPITAL LETTER A WITH HOOK ABOVE;Lu;0;L;0041 0309;;;;N;;;;1EA3; +1EA3;LATIN SMALL LETTER A WITH HOOK ABOVE;Ll;0;L;0061 0309;;;;N;;;1EA2;;1EA2 +1EA4;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00C2 0301;;;;N;;;;1EA5; +1EA5;LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00E2 0301;;;;N;;;1EA4;;1EA4 +1EA6;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00C2 0300;;;;N;;;;1EA7; +1EA7;LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00E2 0300;;;;N;;;1EA6;;1EA6 +1EA8;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00C2 0309;;;;N;;;;1EA9; +1EA9;LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00E2 0309;;;;N;;;1EA8;;1EA8 +1EAA;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE;Lu;0;L;00C2 0303;;;;N;;;;1EAB; +1EAB;LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE;Ll;0;L;00E2 0303;;;;N;;;1EAA;;1EAA +1EAC;LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EA0 0302;;;;N;;;;1EAD; +1EAD;LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EA1 0302;;;;N;;;1EAC;;1EAC +1EAE;LATIN CAPITAL LETTER A WITH BREVE AND ACUTE;Lu;0;L;0102 0301;;;;N;;;;1EAF; +1EAF;LATIN SMALL LETTER A WITH BREVE AND ACUTE;Ll;0;L;0103 0301;;;;N;;;1EAE;;1EAE +1EB0;LATIN CAPITAL LETTER A WITH BREVE AND GRAVE;Lu;0;L;0102 0300;;;;N;;;;1EB1; +1EB1;LATIN SMALL LETTER A WITH BREVE AND GRAVE;Ll;0;L;0103 0300;;;;N;;;1EB0;;1EB0 +1EB2;LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE;Lu;0;L;0102 0309;;;;N;;;;1EB3; +1EB3;LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE;Ll;0;L;0103 0309;;;;N;;;1EB2;;1EB2 +1EB4;LATIN CAPITAL LETTER A WITH BREVE AND TILDE;Lu;0;L;0102 0303;;;;N;;;;1EB5; +1EB5;LATIN SMALL LETTER A WITH BREVE AND TILDE;Ll;0;L;0103 0303;;;;N;;;1EB4;;1EB4 +1EB6;LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW;Lu;0;L;1EA0 0306;;;;N;;;;1EB7; +1EB7;LATIN SMALL LETTER A WITH BREVE AND DOT BELOW;Ll;0;L;1EA1 0306;;;;N;;;1EB6;;1EB6 +1EB8;LATIN CAPITAL LETTER E WITH DOT BELOW;Lu;0;L;0045 0323;;;;N;;;;1EB9; +1EB9;LATIN SMALL LETTER E WITH DOT BELOW;Ll;0;L;0065 0323;;;;N;;;1EB8;;1EB8 +1EBA;LATIN CAPITAL LETTER E WITH HOOK ABOVE;Lu;0;L;0045 0309;;;;N;;;;1EBB; +1EBB;LATIN SMALL LETTER E WITH HOOK ABOVE;Ll;0;L;0065 0309;;;;N;;;1EBA;;1EBA +1EBC;LATIN CAPITAL LETTER E WITH TILDE;Lu;0;L;0045 0303;;;;N;;;;1EBD; +1EBD;LATIN SMALL LETTER E WITH TILDE;Ll;0;L;0065 0303;;;;N;;;1EBC;;1EBC +1EBE;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00CA 0301;;;;N;;;;1EBF; +1EBF;LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00EA 0301;;;;N;;;1EBE;;1EBE +1EC0;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00CA 0300;;;;N;;;;1EC1; +1EC1;LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00EA 0300;;;;N;;;1EC0;;1EC0 +1EC2;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00CA 0309;;;;N;;;;1EC3; +1EC3;LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00EA 0309;;;;N;;;1EC2;;1EC2 +1EC4;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE;Lu;0;L;00CA 0303;;;;N;;;;1EC5; +1EC5;LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE;Ll;0;L;00EA 0303;;;;N;;;1EC4;;1EC4 +1EC6;LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1EB8 0302;;;;N;;;;1EC7; +1EC7;LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1EB9 0302;;;;N;;;1EC6;;1EC6 +1EC8;LATIN CAPITAL LETTER I WITH HOOK ABOVE;Lu;0;L;0049 0309;;;;N;;;;1EC9; +1EC9;LATIN SMALL LETTER I WITH HOOK ABOVE;Ll;0;L;0069 0309;;;;N;;;1EC8;;1EC8 +1ECA;LATIN CAPITAL LETTER I WITH DOT BELOW;Lu;0;L;0049 0323;;;;N;;;;1ECB; +1ECB;LATIN SMALL LETTER I WITH DOT BELOW;Ll;0;L;0069 0323;;;;N;;;1ECA;;1ECA +1ECC;LATIN CAPITAL LETTER O WITH DOT BELOW;Lu;0;L;004F 0323;;;;N;;;;1ECD; +1ECD;LATIN SMALL LETTER O WITH DOT BELOW;Ll;0;L;006F 0323;;;;N;;;1ECC;;1ECC +1ECE;LATIN CAPITAL LETTER O WITH HOOK ABOVE;Lu;0;L;004F 0309;;;;N;;;;1ECF; +1ECF;LATIN SMALL LETTER O WITH HOOK ABOVE;Ll;0;L;006F 0309;;;;N;;;1ECE;;1ECE +1ED0;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE;Lu;0;L;00D4 0301;;;;N;;;;1ED1; +1ED1;LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE;Ll;0;L;00F4 0301;;;;N;;;1ED0;;1ED0 +1ED2;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE;Lu;0;L;00D4 0300;;;;N;;;;1ED3; +1ED3;LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE;Ll;0;L;00F4 0300;;;;N;;;1ED2;;1ED2 +1ED4;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Lu;0;L;00D4 0309;;;;N;;;;1ED5; +1ED5;LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE;Ll;0;L;00F4 0309;;;;N;;;1ED4;;1ED4 +1ED6;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE;Lu;0;L;00D4 0303;;;;N;;;;1ED7; +1ED7;LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE;Ll;0;L;00F4 0303;;;;N;;;1ED6;;1ED6 +1ED8;LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Lu;0;L;1ECC 0302;;;;N;;;;1ED9; +1ED9;LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW;Ll;0;L;1ECD 0302;;;;N;;;1ED8;;1ED8 +1EDA;LATIN CAPITAL LETTER O WITH HORN AND ACUTE;Lu;0;L;01A0 0301;;;;N;;;;1EDB; +1EDB;LATIN SMALL LETTER O WITH HORN AND ACUTE;Ll;0;L;01A1 0301;;;;N;;;1EDA;;1EDA +1EDC;LATIN CAPITAL LETTER O WITH HORN AND GRAVE;Lu;0;L;01A0 0300;;;;N;;;;1EDD; +1EDD;LATIN SMALL LETTER O WITH HORN AND GRAVE;Ll;0;L;01A1 0300;;;;N;;;1EDC;;1EDC +1EDE;LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE;Lu;0;L;01A0 0309;;;;N;;;;1EDF; +1EDF;LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE;Ll;0;L;01A1 0309;;;;N;;;1EDE;;1EDE +1EE0;LATIN CAPITAL LETTER O WITH HORN AND TILDE;Lu;0;L;01A0 0303;;;;N;;;;1EE1; +1EE1;LATIN SMALL LETTER O WITH HORN AND TILDE;Ll;0;L;01A1 0303;;;;N;;;1EE0;;1EE0 +1EE2;LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW;Lu;0;L;01A0 0323;;;;N;;;;1EE3; +1EE3;LATIN SMALL LETTER O WITH HORN AND DOT BELOW;Ll;0;L;01A1 0323;;;;N;;;1EE2;;1EE2 +1EE4;LATIN CAPITAL LETTER U WITH DOT BELOW;Lu;0;L;0055 0323;;;;N;;;;1EE5; +1EE5;LATIN SMALL LETTER U WITH DOT BELOW;Ll;0;L;0075 0323;;;;N;;;1EE4;;1EE4 +1EE6;LATIN CAPITAL LETTER U WITH HOOK ABOVE;Lu;0;L;0055 0309;;;;N;;;;1EE7; +1EE7;LATIN SMALL LETTER U WITH HOOK ABOVE;Ll;0;L;0075 0309;;;;N;;;1EE6;;1EE6 +1EE8;LATIN CAPITAL LETTER U WITH HORN AND ACUTE;Lu;0;L;01AF 0301;;;;N;;;;1EE9; +1EE9;LATIN SMALL LETTER U WITH HORN AND ACUTE;Ll;0;L;01B0 0301;;;;N;;;1EE8;;1EE8 +1EEA;LATIN CAPITAL LETTER U WITH HORN AND GRAVE;Lu;0;L;01AF 0300;;;;N;;;;1EEB; +1EEB;LATIN SMALL LETTER U WITH HORN AND GRAVE;Ll;0;L;01B0 0300;;;;N;;;1EEA;;1EEA +1EEC;LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE;Lu;0;L;01AF 0309;;;;N;;;;1EED; +1EED;LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE;Ll;0;L;01B0 0309;;;;N;;;1EEC;;1EEC +1EEE;LATIN CAPITAL LETTER U WITH HORN AND TILDE;Lu;0;L;01AF 0303;;;;N;;;;1EEF; +1EEF;LATIN SMALL LETTER U WITH HORN AND TILDE;Ll;0;L;01B0 0303;;;;N;;;1EEE;;1EEE +1EF0;LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW;Lu;0;L;01AF 0323;;;;N;;;;1EF1; +1EF1;LATIN SMALL LETTER U WITH HORN AND DOT BELOW;Ll;0;L;01B0 0323;;;;N;;;1EF0;;1EF0 +1EF2;LATIN CAPITAL LETTER Y WITH GRAVE;Lu;0;L;0059 0300;;;;N;;;;1EF3; +1EF3;LATIN SMALL LETTER Y WITH GRAVE;Ll;0;L;0079 0300;;;;N;;;1EF2;;1EF2 +1EF4;LATIN CAPITAL LETTER Y WITH DOT BELOW;Lu;0;L;0059 0323;;;;N;;;;1EF5; +1EF5;LATIN SMALL LETTER Y WITH DOT BELOW;Ll;0;L;0079 0323;;;;N;;;1EF4;;1EF4 +1EF6;LATIN CAPITAL LETTER Y WITH HOOK ABOVE;Lu;0;L;0059 0309;;;;N;;;;1EF7; +1EF7;LATIN SMALL LETTER Y WITH HOOK ABOVE;Ll;0;L;0079 0309;;;;N;;;1EF6;;1EF6 +1EF8;LATIN CAPITAL LETTER Y WITH TILDE;Lu;0;L;0059 0303;;;;N;;;;1EF9; +1EF9;LATIN SMALL LETTER Y WITH TILDE;Ll;0;L;0079 0303;;;;N;;;1EF8;;1EF8 +1EFA;LATIN CAPITAL LETTER MIDDLE-WELSH LL;Lu;0;L;;;;;N;;;;1EFB; +1EFB;LATIN SMALL LETTER MIDDLE-WELSH LL;Ll;0;L;;;;;N;;;1EFA;;1EFA +1EFC;LATIN CAPITAL LETTER MIDDLE-WELSH V;Lu;0;L;;;;;N;;;;1EFD; +1EFD;LATIN SMALL LETTER MIDDLE-WELSH V;Ll;0;L;;;;;N;;;1EFC;;1EFC +1EFE;LATIN CAPITAL LETTER Y WITH LOOP;Lu;0;L;;;;;N;;;;1EFF; +1EFF;LATIN SMALL LETTER Y WITH LOOP;Ll;0;L;;;;;N;;;1EFE;;1EFE +1F00;GREEK SMALL LETTER ALPHA WITH PSILI;Ll;0;L;03B1 0313;;;;N;;;1F08;;1F08 +1F01;GREEK SMALL LETTER ALPHA WITH DASIA;Ll;0;L;03B1 0314;;;;N;;;1F09;;1F09 +1F02;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA;Ll;0;L;1F00 0300;;;;N;;;1F0A;;1F0A +1F03;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA;Ll;0;L;1F01 0300;;;;N;;;1F0B;;1F0B +1F04;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA;Ll;0;L;1F00 0301;;;;N;;;1F0C;;1F0C +1F05;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA;Ll;0;L;1F01 0301;;;;N;;;1F0D;;1F0D +1F06;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI;Ll;0;L;1F00 0342;;;;N;;;1F0E;;1F0E +1F07;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI;Ll;0;L;1F01 0342;;;;N;;;1F0F;;1F0F +1F08;GREEK CAPITAL LETTER ALPHA WITH PSILI;Lu;0;L;0391 0313;;;;N;;;;1F00; +1F09;GREEK CAPITAL LETTER ALPHA WITH DASIA;Lu;0;L;0391 0314;;;;N;;;;1F01; +1F0A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA;Lu;0;L;1F08 0300;;;;N;;;;1F02; +1F0B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA;Lu;0;L;1F09 0300;;;;N;;;;1F03; +1F0C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA;Lu;0;L;1F08 0301;;;;N;;;;1F04; +1F0D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA;Lu;0;L;1F09 0301;;;;N;;;;1F05; +1F0E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI;Lu;0;L;1F08 0342;;;;N;;;;1F06; +1F0F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI;Lu;0;L;1F09 0342;;;;N;;;;1F07; +1F10;GREEK SMALL LETTER EPSILON WITH PSILI;Ll;0;L;03B5 0313;;;;N;;;1F18;;1F18 +1F11;GREEK SMALL LETTER EPSILON WITH DASIA;Ll;0;L;03B5 0314;;;;N;;;1F19;;1F19 +1F12;GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA;Ll;0;L;1F10 0300;;;;N;;;1F1A;;1F1A +1F13;GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA;Ll;0;L;1F11 0300;;;;N;;;1F1B;;1F1B +1F14;GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA;Ll;0;L;1F10 0301;;;;N;;;1F1C;;1F1C +1F15;GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA;Ll;0;L;1F11 0301;;;;N;;;1F1D;;1F1D +1F18;GREEK CAPITAL LETTER EPSILON WITH PSILI;Lu;0;L;0395 0313;;;;N;;;;1F10; +1F19;GREEK CAPITAL LETTER EPSILON WITH DASIA;Lu;0;L;0395 0314;;;;N;;;;1F11; +1F1A;GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA;Lu;0;L;1F18 0300;;;;N;;;;1F12; +1F1B;GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA;Lu;0;L;1F19 0300;;;;N;;;;1F13; +1F1C;GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA;Lu;0;L;1F18 0301;;;;N;;;;1F14; +1F1D;GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA;Lu;0;L;1F19 0301;;;;N;;;;1F15; +1F20;GREEK SMALL LETTER ETA WITH PSILI;Ll;0;L;03B7 0313;;;;N;;;1F28;;1F28 +1F21;GREEK SMALL LETTER ETA WITH DASIA;Ll;0;L;03B7 0314;;;;N;;;1F29;;1F29 +1F22;GREEK SMALL LETTER ETA WITH PSILI AND VARIA;Ll;0;L;1F20 0300;;;;N;;;1F2A;;1F2A +1F23;GREEK SMALL LETTER ETA WITH DASIA AND VARIA;Ll;0;L;1F21 0300;;;;N;;;1F2B;;1F2B +1F24;GREEK SMALL LETTER ETA WITH PSILI AND OXIA;Ll;0;L;1F20 0301;;;;N;;;1F2C;;1F2C +1F25;GREEK SMALL LETTER ETA WITH DASIA AND OXIA;Ll;0;L;1F21 0301;;;;N;;;1F2D;;1F2D +1F26;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI;Ll;0;L;1F20 0342;;;;N;;;1F2E;;1F2E +1F27;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI;Ll;0;L;1F21 0342;;;;N;;;1F2F;;1F2F +1F28;GREEK CAPITAL LETTER ETA WITH PSILI;Lu;0;L;0397 0313;;;;N;;;;1F20; +1F29;GREEK CAPITAL LETTER ETA WITH DASIA;Lu;0;L;0397 0314;;;;N;;;;1F21; +1F2A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA;Lu;0;L;1F28 0300;;;;N;;;;1F22; +1F2B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA;Lu;0;L;1F29 0300;;;;N;;;;1F23; +1F2C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA;Lu;0;L;1F28 0301;;;;N;;;;1F24; +1F2D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA;Lu;0;L;1F29 0301;;;;N;;;;1F25; +1F2E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI;Lu;0;L;1F28 0342;;;;N;;;;1F26; +1F2F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI;Lu;0;L;1F29 0342;;;;N;;;;1F27; +1F30;GREEK SMALL LETTER IOTA WITH PSILI;Ll;0;L;03B9 0313;;;;N;;;1F38;;1F38 +1F31;GREEK SMALL LETTER IOTA WITH DASIA;Ll;0;L;03B9 0314;;;;N;;;1F39;;1F39 +1F32;GREEK SMALL LETTER IOTA WITH PSILI AND VARIA;Ll;0;L;1F30 0300;;;;N;;;1F3A;;1F3A +1F33;GREEK SMALL LETTER IOTA WITH DASIA AND VARIA;Ll;0;L;1F31 0300;;;;N;;;1F3B;;1F3B +1F34;GREEK SMALL LETTER IOTA WITH PSILI AND OXIA;Ll;0;L;1F30 0301;;;;N;;;1F3C;;1F3C +1F35;GREEK SMALL LETTER IOTA WITH DASIA AND OXIA;Ll;0;L;1F31 0301;;;;N;;;1F3D;;1F3D +1F36;GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI;Ll;0;L;1F30 0342;;;;N;;;1F3E;;1F3E +1F37;GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI;Ll;0;L;1F31 0342;;;;N;;;1F3F;;1F3F +1F38;GREEK CAPITAL LETTER IOTA WITH PSILI;Lu;0;L;0399 0313;;;;N;;;;1F30; +1F39;GREEK CAPITAL LETTER IOTA WITH DASIA;Lu;0;L;0399 0314;;;;N;;;;1F31; +1F3A;GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA;Lu;0;L;1F38 0300;;;;N;;;;1F32; +1F3B;GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA;Lu;0;L;1F39 0300;;;;N;;;;1F33; +1F3C;GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA;Lu;0;L;1F38 0301;;;;N;;;;1F34; +1F3D;GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA;Lu;0;L;1F39 0301;;;;N;;;;1F35; +1F3E;GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI;Lu;0;L;1F38 0342;;;;N;;;;1F36; +1F3F;GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI;Lu;0;L;1F39 0342;;;;N;;;;1F37; +1F40;GREEK SMALL LETTER OMICRON WITH PSILI;Ll;0;L;03BF 0313;;;;N;;;1F48;;1F48 +1F41;GREEK SMALL LETTER OMICRON WITH DASIA;Ll;0;L;03BF 0314;;;;N;;;1F49;;1F49 +1F42;GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA;Ll;0;L;1F40 0300;;;;N;;;1F4A;;1F4A +1F43;GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA;Ll;0;L;1F41 0300;;;;N;;;1F4B;;1F4B +1F44;GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA;Ll;0;L;1F40 0301;;;;N;;;1F4C;;1F4C +1F45;GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA;Ll;0;L;1F41 0301;;;;N;;;1F4D;;1F4D +1F48;GREEK CAPITAL LETTER OMICRON WITH PSILI;Lu;0;L;039F 0313;;;;N;;;;1F40; +1F49;GREEK CAPITAL LETTER OMICRON WITH DASIA;Lu;0;L;039F 0314;;;;N;;;;1F41; +1F4A;GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA;Lu;0;L;1F48 0300;;;;N;;;;1F42; +1F4B;GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA;Lu;0;L;1F49 0300;;;;N;;;;1F43; +1F4C;GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA;Lu;0;L;1F48 0301;;;;N;;;;1F44; +1F4D;GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA;Lu;0;L;1F49 0301;;;;N;;;;1F45; +1F50;GREEK SMALL LETTER UPSILON WITH PSILI;Ll;0;L;03C5 0313;;;;N;;;;; +1F51;GREEK SMALL LETTER UPSILON WITH DASIA;Ll;0;L;03C5 0314;;;;N;;;1F59;;1F59 +1F52;GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA;Ll;0;L;1F50 0300;;;;N;;;;; +1F53;GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA;Ll;0;L;1F51 0300;;;;N;;;1F5B;;1F5B +1F54;GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA;Ll;0;L;1F50 0301;;;;N;;;;; +1F55;GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA;Ll;0;L;1F51 0301;;;;N;;;1F5D;;1F5D +1F56;GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI;Ll;0;L;1F50 0342;;;;N;;;;; +1F57;GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI;Ll;0;L;1F51 0342;;;;N;;;1F5F;;1F5F +1F59;GREEK CAPITAL LETTER UPSILON WITH DASIA;Lu;0;L;03A5 0314;;;;N;;;;1F51; +1F5B;GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA;Lu;0;L;1F59 0300;;;;N;;;;1F53; +1F5D;GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA;Lu;0;L;1F59 0301;;;;N;;;;1F55; +1F5F;GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI;Lu;0;L;1F59 0342;;;;N;;;;1F57; +1F60;GREEK SMALL LETTER OMEGA WITH PSILI;Ll;0;L;03C9 0313;;;;N;;;1F68;;1F68 +1F61;GREEK SMALL LETTER OMEGA WITH DASIA;Ll;0;L;03C9 0314;;;;N;;;1F69;;1F69 +1F62;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA;Ll;0;L;1F60 0300;;;;N;;;1F6A;;1F6A +1F63;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA;Ll;0;L;1F61 0300;;;;N;;;1F6B;;1F6B +1F64;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA;Ll;0;L;1F60 0301;;;;N;;;1F6C;;1F6C +1F65;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA;Ll;0;L;1F61 0301;;;;N;;;1F6D;;1F6D +1F66;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI;Ll;0;L;1F60 0342;;;;N;;;1F6E;;1F6E +1F67;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI;Ll;0;L;1F61 0342;;;;N;;;1F6F;;1F6F +1F68;GREEK CAPITAL LETTER OMEGA WITH PSILI;Lu;0;L;03A9 0313;;;;N;;;;1F60; +1F69;GREEK CAPITAL LETTER OMEGA WITH DASIA;Lu;0;L;03A9 0314;;;;N;;;;1F61; +1F6A;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA;Lu;0;L;1F68 0300;;;;N;;;;1F62; +1F6B;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA;Lu;0;L;1F69 0300;;;;N;;;;1F63; +1F6C;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA;Lu;0;L;1F68 0301;;;;N;;;;1F64; +1F6D;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA;Lu;0;L;1F69 0301;;;;N;;;;1F65; +1F6E;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI;Lu;0;L;1F68 0342;;;;N;;;;1F66; +1F6F;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI;Lu;0;L;1F69 0342;;;;N;;;;1F67; +1F70;GREEK SMALL LETTER ALPHA WITH VARIA;Ll;0;L;03B1 0300;;;;N;;;1FBA;;1FBA +1F71;GREEK SMALL LETTER ALPHA WITH OXIA;Ll;0;L;03AC;;;;N;;;1FBB;;1FBB +1F72;GREEK SMALL LETTER EPSILON WITH VARIA;Ll;0;L;03B5 0300;;;;N;;;1FC8;;1FC8 +1F73;GREEK SMALL LETTER EPSILON WITH OXIA;Ll;0;L;03AD;;;;N;;;1FC9;;1FC9 +1F74;GREEK SMALL LETTER ETA WITH VARIA;Ll;0;L;03B7 0300;;;;N;;;1FCA;;1FCA +1F75;GREEK SMALL LETTER ETA WITH OXIA;Ll;0;L;03AE;;;;N;;;1FCB;;1FCB +1F76;GREEK SMALL LETTER IOTA WITH VARIA;Ll;0;L;03B9 0300;;;;N;;;1FDA;;1FDA +1F77;GREEK SMALL LETTER IOTA WITH OXIA;Ll;0;L;03AF;;;;N;;;1FDB;;1FDB +1F78;GREEK SMALL LETTER OMICRON WITH VARIA;Ll;0;L;03BF 0300;;;;N;;;1FF8;;1FF8 +1F79;GREEK SMALL LETTER OMICRON WITH OXIA;Ll;0;L;03CC;;;;N;;;1FF9;;1FF9 +1F7A;GREEK SMALL LETTER UPSILON WITH VARIA;Ll;0;L;03C5 0300;;;;N;;;1FEA;;1FEA +1F7B;GREEK SMALL LETTER UPSILON WITH OXIA;Ll;0;L;03CD;;;;N;;;1FEB;;1FEB +1F7C;GREEK SMALL LETTER OMEGA WITH VARIA;Ll;0;L;03C9 0300;;;;N;;;1FFA;;1FFA +1F7D;GREEK SMALL LETTER OMEGA WITH OXIA;Ll;0;L;03CE;;;;N;;;1FFB;;1FFB +1F80;GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F00 0345;;;;N;;;1F88;;1F88 +1F81;GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F01 0345;;;;N;;;1F89;;1F89 +1F82;GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F02 0345;;;;N;;;1F8A;;1F8A +1F83;GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F03 0345;;;;N;;;1F8B;;1F8B +1F84;GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F04 0345;;;;N;;;1F8C;;1F8C +1F85;GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F05 0345;;;;N;;;1F8D;;1F8D +1F86;GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F06 0345;;;;N;;;1F8E;;1F8E +1F87;GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F07 0345;;;;N;;;1F8F;;1F8F +1F88;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F08 0345;;;;N;;;;1F80; +1F89;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F09 0345;;;;N;;;;1F81; +1F8A;GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0A 0345;;;;N;;;;1F82; +1F8B;GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F0B 0345;;;;N;;;;1F83; +1F8C;GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0C 0345;;;;N;;;;1F84; +1F8D;GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F0D 0345;;;;N;;;;1F85; +1F8E;GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0E 0345;;;;N;;;;1F86; +1F8F;GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F0F 0345;;;;N;;;;1F87; +1F90;GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F20 0345;;;;N;;;1F98;;1F98 +1F91;GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F21 0345;;;;N;;;1F99;;1F99 +1F92;GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F22 0345;;;;N;;;1F9A;;1F9A +1F93;GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F23 0345;;;;N;;;1F9B;;1F9B +1F94;GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F24 0345;;;;N;;;1F9C;;1F9C +1F95;GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F25 0345;;;;N;;;1F9D;;1F9D +1F96;GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F26 0345;;;;N;;;1F9E;;1F9E +1F97;GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F27 0345;;;;N;;;1F9F;;1F9F +1F98;GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F28 0345;;;;N;;;;1F90; +1F99;GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F29 0345;;;;N;;;;1F91; +1F9A;GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2A 0345;;;;N;;;;1F92; +1F9B;GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F2B 0345;;;;N;;;;1F93; +1F9C;GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2C 0345;;;;N;;;;1F94; +1F9D;GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F2D 0345;;;;N;;;;1F95; +1F9E;GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2E 0345;;;;N;;;;1F96; +1F9F;GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F2F 0345;;;;N;;;;1F97; +1FA0;GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI;Ll;0;L;1F60 0345;;;;N;;;1FA8;;1FA8 +1FA1;GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI;Ll;0;L;1F61 0345;;;;N;;;1FA9;;1FA9 +1FA2;GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F62 0345;;;;N;;;1FAA;;1FAA +1FA3;GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI;Ll;0;L;1F63 0345;;;;N;;;1FAB;;1FAB +1FA4;GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F64 0345;;;;N;;;1FAC;;1FAC +1FA5;GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI;Ll;0;L;1F65 0345;;;;N;;;1FAD;;1FAD +1FA6;GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F66 0345;;;;N;;;1FAE;;1FAE +1FA7;GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1F67 0345;;;;N;;;1FAF;;1FAF +1FA8;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI;Lt;0;L;1F68 0345;;;;N;;;;1FA0; +1FA9;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI;Lt;0;L;1F69 0345;;;;N;;;;1FA1; +1FAA;GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6A 0345;;;;N;;;;1FA2; +1FAB;GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI;Lt;0;L;1F6B 0345;;;;N;;;;1FA3; +1FAC;GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6C 0345;;;;N;;;;1FA4; +1FAD;GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI;Lt;0;L;1F6D 0345;;;;N;;;;1FA5; +1FAE;GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6E 0345;;;;N;;;;1FA6; +1FAF;GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI;Lt;0;L;1F6F 0345;;;;N;;;;1FA7; +1FB0;GREEK SMALL LETTER ALPHA WITH VRACHY;Ll;0;L;03B1 0306;;;;N;;;1FB8;;1FB8 +1FB1;GREEK SMALL LETTER ALPHA WITH MACRON;Ll;0;L;03B1 0304;;;;N;;;1FB9;;1FB9 +1FB2;GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F70 0345;;;;N;;;;; +1FB3;GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI;Ll;0;L;03B1 0345;;;;N;;;1FBC;;1FBC +1FB4;GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AC 0345;;;;N;;;;; +1FB6;GREEK SMALL LETTER ALPHA WITH PERISPOMENI;Ll;0;L;03B1 0342;;;;N;;;;; +1FB7;GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FB6 0345;;;;N;;;;; +1FB8;GREEK CAPITAL LETTER ALPHA WITH VRACHY;Lu;0;L;0391 0306;;;;N;;;;1FB0; +1FB9;GREEK CAPITAL LETTER ALPHA WITH MACRON;Lu;0;L;0391 0304;;;;N;;;;1FB1; +1FBA;GREEK CAPITAL LETTER ALPHA WITH VARIA;Lu;0;L;0391 0300;;;;N;;;;1F70; +1FBB;GREEK CAPITAL LETTER ALPHA WITH OXIA;Lu;0;L;0386;;;;N;;;;1F71; +1FBC;GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI;Lt;0;L;0391 0345;;;;N;;;;1FB3; +1FBD;GREEK KORONIS;Sk;0;ON; 0020 0313;;;;N;;;;; +1FBE;GREEK PROSGEGRAMMENI;Ll;0;L;03B9;;;;N;;;0399;;0399 +1FBF;GREEK PSILI;Sk;0;ON; 0020 0313;;;;N;;;;; +1FC0;GREEK PERISPOMENI;Sk;0;ON; 0020 0342;;;;N;;;;; +1FC1;GREEK DIALYTIKA AND PERISPOMENI;Sk;0;ON;00A8 0342;;;;N;;;;; +1FC2;GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F74 0345;;;;N;;;;; +1FC3;GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI;Ll;0;L;03B7 0345;;;;N;;;1FCC;;1FCC +1FC4;GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03AE 0345;;;;N;;;;; +1FC6;GREEK SMALL LETTER ETA WITH PERISPOMENI;Ll;0;L;03B7 0342;;;;N;;;;; +1FC7;GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FC6 0345;;;;N;;;;; +1FC8;GREEK CAPITAL LETTER EPSILON WITH VARIA;Lu;0;L;0395 0300;;;;N;;;;1F72; +1FC9;GREEK CAPITAL LETTER EPSILON WITH OXIA;Lu;0;L;0388;;;;N;;;;1F73; +1FCA;GREEK CAPITAL LETTER ETA WITH VARIA;Lu;0;L;0397 0300;;;;N;;;;1F74; +1FCB;GREEK CAPITAL LETTER ETA WITH OXIA;Lu;0;L;0389;;;;N;;;;1F75; +1FCC;GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI;Lt;0;L;0397 0345;;;;N;;;;1FC3; +1FCD;GREEK PSILI AND VARIA;Sk;0;ON;1FBF 0300;;;;N;;;;; +1FCE;GREEK PSILI AND OXIA;Sk;0;ON;1FBF 0301;;;;N;;;;; +1FCF;GREEK PSILI AND PERISPOMENI;Sk;0;ON;1FBF 0342;;;;N;;;;; +1FD0;GREEK SMALL LETTER IOTA WITH VRACHY;Ll;0;L;03B9 0306;;;;N;;;1FD8;;1FD8 +1FD1;GREEK SMALL LETTER IOTA WITH MACRON;Ll;0;L;03B9 0304;;;;N;;;1FD9;;1FD9 +1FD2;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA;Ll;0;L;03CA 0300;;;;N;;;;; +1FD3;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA;Ll;0;L;0390;;;;N;;;;; +1FD6;GREEK SMALL LETTER IOTA WITH PERISPOMENI;Ll;0;L;03B9 0342;;;;N;;;;; +1FD7;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CA 0342;;;;N;;;;; +1FD8;GREEK CAPITAL LETTER IOTA WITH VRACHY;Lu;0;L;0399 0306;;;;N;;;;1FD0; +1FD9;GREEK CAPITAL LETTER IOTA WITH MACRON;Lu;0;L;0399 0304;;;;N;;;;1FD1; +1FDA;GREEK CAPITAL LETTER IOTA WITH VARIA;Lu;0;L;0399 0300;;;;N;;;;1F76; +1FDB;GREEK CAPITAL LETTER IOTA WITH OXIA;Lu;0;L;038A;;;;N;;;;1F77; +1FDD;GREEK DASIA AND VARIA;Sk;0;ON;1FFE 0300;;;;N;;;;; +1FDE;GREEK DASIA AND OXIA;Sk;0;ON;1FFE 0301;;;;N;;;;; +1FDF;GREEK DASIA AND PERISPOMENI;Sk;0;ON;1FFE 0342;;;;N;;;;; +1FE0;GREEK SMALL LETTER UPSILON WITH VRACHY;Ll;0;L;03C5 0306;;;;N;;;1FE8;;1FE8 +1FE1;GREEK SMALL LETTER UPSILON WITH MACRON;Ll;0;L;03C5 0304;;;;N;;;1FE9;;1FE9 +1FE2;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA;Ll;0;L;03CB 0300;;;;N;;;;; +1FE3;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA;Ll;0;L;03B0;;;;N;;;;; +1FE4;GREEK SMALL LETTER RHO WITH PSILI;Ll;0;L;03C1 0313;;;;N;;;;; +1FE5;GREEK SMALL LETTER RHO WITH DASIA;Ll;0;L;03C1 0314;;;;N;;;1FEC;;1FEC +1FE6;GREEK SMALL LETTER UPSILON WITH PERISPOMENI;Ll;0;L;03C5 0342;;;;N;;;;; +1FE7;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI;Ll;0;L;03CB 0342;;;;N;;;;; +1FE8;GREEK CAPITAL LETTER UPSILON WITH VRACHY;Lu;0;L;03A5 0306;;;;N;;;;1FE0; +1FE9;GREEK CAPITAL LETTER UPSILON WITH MACRON;Lu;0;L;03A5 0304;;;;N;;;;1FE1; +1FEA;GREEK CAPITAL LETTER UPSILON WITH VARIA;Lu;0;L;03A5 0300;;;;N;;;;1F7A; +1FEB;GREEK CAPITAL LETTER UPSILON WITH OXIA;Lu;0;L;038E;;;;N;;;;1F7B; +1FEC;GREEK CAPITAL LETTER RHO WITH DASIA;Lu;0;L;03A1 0314;;;;N;;;;1FE5; +1FED;GREEK DIALYTIKA AND VARIA;Sk;0;ON;00A8 0300;;;;N;;;;; +1FEE;GREEK DIALYTIKA AND OXIA;Sk;0;ON;0385;;;;N;;;;; +1FEF;GREEK VARIA;Sk;0;ON;0060;;;;N;;;;; +1FF2;GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI;Ll;0;L;1F7C 0345;;;;N;;;;; +1FF3;GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI;Ll;0;L;03C9 0345;;;;N;;;1FFC;;1FFC +1FF4;GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI;Ll;0;L;03CE 0345;;;;N;;;;; +1FF6;GREEK SMALL LETTER OMEGA WITH PERISPOMENI;Ll;0;L;03C9 0342;;;;N;;;;; +1FF7;GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI;Ll;0;L;1FF6 0345;;;;N;;;;; +1FF8;GREEK CAPITAL LETTER OMICRON WITH VARIA;Lu;0;L;039F 0300;;;;N;;;;1F78; +1FF9;GREEK CAPITAL LETTER OMICRON WITH OXIA;Lu;0;L;038C;;;;N;;;;1F79; +1FFA;GREEK CAPITAL LETTER OMEGA WITH VARIA;Lu;0;L;03A9 0300;;;;N;;;;1F7C; +1FFB;GREEK CAPITAL LETTER OMEGA WITH OXIA;Lu;0;L;038F;;;;N;;;;1F7D; +1FFC;GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI;Lt;0;L;03A9 0345;;;;N;;;;1FF3; +1FFD;GREEK OXIA;Sk;0;ON;00B4;;;;N;;;;; +1FFE;GREEK DASIA;Sk;0;ON; 0020 0314;;;;N;;;;; +2000;EN QUAD;Zs;0;WS;2002;;;;N;;;;; +2001;EM QUAD;Zs;0;WS;2003;;;;N;;;;; +2002;EN SPACE;Zs;0;WS; 0020;;;;N;;;;; +2003;EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2004;THREE-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2005;FOUR-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2006;SIX-PER-EM SPACE;Zs;0;WS; 0020;;;;N;;;;; +2007;FIGURE SPACE;Zs;0;WS; 0020;;;;N;;;;; +2008;PUNCTUATION SPACE;Zs;0;WS; 0020;;;;N;;;;; +2009;THIN SPACE;Zs;0;WS; 0020;;;;N;;;;; +200A;HAIR SPACE;Zs;0;WS; 0020;;;;N;;;;; +200B;ZERO WIDTH SPACE;Cf;0;BN;;;;;N;;;;; +200C;ZERO WIDTH NON-JOINER;Cf;0;BN;;;;;N;;;;; +200D;ZERO WIDTH JOINER;Cf;0;BN;;;;;N;;;;; +200E;LEFT-TO-RIGHT MARK;Cf;0;L;;;;;N;;;;; +200F;RIGHT-TO-LEFT MARK;Cf;0;R;;;;;N;;;;; +2010;HYPHEN;Pd;0;ON;;;;;N;;;;; +2011;NON-BREAKING HYPHEN;Pd;0;ON; 2010;;;;N;;;;; +2012;FIGURE DASH;Pd;0;ON;;;;;N;;;;; +2013;EN DASH;Pd;0;ON;;;;;N;;;;; +2014;EM DASH;Pd;0;ON;;;;;N;;;;; +2015;HORIZONTAL BAR;Pd;0;ON;;;;;N;QUOTATION DASH;;;; +2016;DOUBLE VERTICAL LINE;Po;0;ON;;;;;N;DOUBLE VERTICAL BAR;;;; +2017;DOUBLE LOW LINE;Po;0;ON; 0020 0333;;;;N;SPACING DOUBLE UNDERSCORE;;;; +2018;LEFT SINGLE QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE TURNED COMMA QUOTATION MARK;;;; +2019;RIGHT SINGLE QUOTATION MARK;Pf;0;ON;;;;;N;SINGLE COMMA QUOTATION MARK;;;; +201A;SINGLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW SINGLE COMMA QUOTATION MARK;;;; +201B;SINGLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;SINGLE REVERSED COMMA QUOTATION MARK;;;; +201C;LEFT DOUBLE QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK;;;; +201D;RIGHT DOUBLE QUOTATION MARK;Pf;0;ON;;;;;N;DOUBLE COMMA QUOTATION MARK;;;; +201E;DOUBLE LOW-9 QUOTATION MARK;Ps;0;ON;;;;;N;LOW DOUBLE COMMA QUOTATION MARK;;;; +201F;DOUBLE HIGH-REVERSED-9 QUOTATION MARK;Pi;0;ON;;;;;N;DOUBLE REVERSED COMMA QUOTATION MARK;;;; +2020;DAGGER;Po;0;ON;;;;;N;;;;; +2021;DOUBLE DAGGER;Po;0;ON;;;;;N;;;;; +2022;BULLET;Po;0;ON;;;;;N;;;;; +2023;TRIANGULAR BULLET;Po;0;ON;;;;;N;;;;; +2024;ONE DOT LEADER;Po;0;ON; 002E;;;;N;;;;; +2025;TWO DOT LEADER;Po;0;ON; 002E 002E;;;;N;;;;; +2026;HORIZONTAL ELLIPSIS;Po;0;ON; 002E 002E 002E;;;;N;;;;; +2027;HYPHENATION POINT;Po;0;ON;;;;;N;;;;; +2028;LINE SEPARATOR;Zl;0;WS;;;;;N;;;;; +2029;PARAGRAPH SEPARATOR;Zp;0;B;;;;;N;;;;; +202A;LEFT-TO-RIGHT EMBEDDING;Cf;0;LRE;;;;;N;;;;; +202B;RIGHT-TO-LEFT EMBEDDING;Cf;0;RLE;;;;;N;;;;; +202C;POP DIRECTIONAL FORMATTING;Cf;0;PDF;;;;;N;;;;; +202D;LEFT-TO-RIGHT OVERRIDE;Cf;0;LRO;;;;;N;;;;; +202E;RIGHT-TO-LEFT OVERRIDE;Cf;0;RLO;;;;;N;;;;; +202F;NARROW NO-BREAK SPACE;Zs;0;CS; 0020;;;;N;;;;; +2030;PER MILLE SIGN;Po;0;ET;;;;;N;;;;; +2031;PER TEN THOUSAND SIGN;Po;0;ET;;;;;N;;;;; +2032;PRIME;Po;0;ET;;;;;N;;;;; +2033;DOUBLE PRIME;Po;0;ET; 2032 2032;;;;N;;;;; +2034;TRIPLE PRIME;Po;0;ET; 2032 2032 2032;;;;N;;;;; +2035;REVERSED PRIME;Po;0;ON;;;;;N;;;;; +2036;REVERSED DOUBLE PRIME;Po;0;ON; 2035 2035;;;;N;;;;; +2037;REVERSED TRIPLE PRIME;Po;0;ON; 2035 2035 2035;;;;N;;;;; +2038;CARET;Po;0;ON;;;;;N;;;;; +2039;SINGLE LEFT-POINTING ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING SINGLE GUILLEMET;;;; +203A;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING SINGLE GUILLEMET;;;; +203B;REFERENCE MARK;Po;0;ON;;;;;N;;;;; +203C;DOUBLE EXCLAMATION MARK;Po;0;ON; 0021 0021;;;;N;;;;; +203D;INTERROBANG;Po;0;ON;;;;;N;;;;; +203E;OVERLINE;Po;0;ON; 0020 0305;;;;N;SPACING OVERSCORE;;;; +203F;UNDERTIE;Pc;0;ON;;;;;N;;;;; +2040;CHARACTER TIE;Pc;0;ON;;;;;N;;;;; +2041;CARET INSERTION POINT;Po;0;ON;;;;;N;;;;; +2042;ASTERISM;Po;0;ON;;;;;N;;;;; +2043;HYPHEN BULLET;Po;0;ON;;;;;N;;;;; +2044;FRACTION SLASH;Sm;0;CS;;;;;N;;;;; +2045;LEFT SQUARE BRACKET WITH QUILL;Ps;0;ON;;;;;Y;;;;; +2046;RIGHT SQUARE BRACKET WITH QUILL;Pe;0;ON;;;;;Y;;;;; +2047;DOUBLE QUESTION MARK;Po;0;ON; 003F 003F;;;;N;;;;; +2048;QUESTION EXCLAMATION MARK;Po;0;ON; 003F 0021;;;;N;;;;; +2049;EXCLAMATION QUESTION MARK;Po;0;ON; 0021 003F;;;;N;;;;; +204A;TIRONIAN SIGN ET;Po;0;ON;;;;;N;;;;; +204B;REVERSED PILCROW SIGN;Po;0;ON;;;;;N;;;;; +204C;BLACK LEFTWARDS BULLET;Po;0;ON;;;;;N;;;;; +204D;BLACK RIGHTWARDS BULLET;Po;0;ON;;;;;N;;;;; +204E;LOW ASTERISK;Po;0;ON;;;;;N;;;;; +204F;REVERSED SEMICOLON;Po;0;ON;;;;;N;;;;; +2050;CLOSE UP;Po;0;ON;;;;;N;;;;; +2051;TWO ASTERISKS ALIGNED VERTICALLY;Po;0;ON;;;;;N;;;;; +2052;COMMERCIAL MINUS SIGN;Sm;0;ON;;;;;N;;;;; +2053;SWUNG DASH;Po;0;ON;;;;;N;;;;; +2054;INVERTED UNDERTIE;Pc;0;ON;;;;;N;;;;; +2055;FLOWER PUNCTUATION MARK;Po;0;ON;;;;;N;;;;; +2056;THREE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2057;QUADRUPLE PRIME;Po;0;ON; 2032 2032 2032 2032;;;;N;;;;; +2058;FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2059;FIVE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +205A;TWO DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +205B;FOUR DOT MARK;Po;0;ON;;;;;N;;;;; +205C;DOTTED CROSS;Po;0;ON;;;;;N;;;;; +205D;TRICOLON;Po;0;ON;;;;;N;;;;; +205E;VERTICAL FOUR DOTS;Po;0;ON;;;;;N;;;;; +205F;MEDIUM MATHEMATICAL SPACE;Zs;0;WS; 0020;;;;N;;;;; +2060;WORD JOINER;Cf;0;BN;;;;;N;;;;; +2061;FUNCTION APPLICATION;Cf;0;BN;;;;;N;;;;; +2062;INVISIBLE TIMES;Cf;0;BN;;;;;N;;;;; +2063;INVISIBLE SEPARATOR;Cf;0;BN;;;;;N;;;;; +2064;INVISIBLE PLUS;Cf;0;BN;;;;;N;;;;; +2066;LEFT-TO-RIGHT ISOLATE;Cf;0;LRI;;;;;N;;;;; +2067;RIGHT-TO-LEFT ISOLATE;Cf;0;RLI;;;;;N;;;;; +2068;FIRST STRONG ISOLATE;Cf;0;FSI;;;;;N;;;;; +2069;POP DIRECTIONAL ISOLATE;Cf;0;PDI;;;;;N;;;;; +206A;INHIBIT SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; +206B;ACTIVATE SYMMETRIC SWAPPING;Cf;0;BN;;;;;N;;;;; +206C;INHIBIT ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; +206D;ACTIVATE ARABIC FORM SHAPING;Cf;0;BN;;;;;N;;;;; +206E;NATIONAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; +206F;NOMINAL DIGIT SHAPES;Cf;0;BN;;;;;N;;;;; +2070;SUPERSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUPERSCRIPT DIGIT ZERO;;;; +2071;SUPERSCRIPT LATIN SMALL LETTER I;Lm;0;L; 0069;;;;N;;;;; +2074;SUPERSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUPERSCRIPT DIGIT FOUR;;;; +2075;SUPERSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUPERSCRIPT DIGIT FIVE;;;; +2076;SUPERSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUPERSCRIPT DIGIT SIX;;;; +2077;SUPERSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUPERSCRIPT DIGIT SEVEN;;;; +2078;SUPERSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUPERSCRIPT DIGIT EIGHT;;;; +2079;SUPERSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUPERSCRIPT DIGIT NINE;;;; +207A;SUPERSCRIPT PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +207B;SUPERSCRIPT MINUS;Sm;0;ES; 2212;;;;N;SUPERSCRIPT HYPHEN-MINUS;;;; +207C;SUPERSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +207D;SUPERSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUPERSCRIPT OPENING PARENTHESIS;;;; +207E;SUPERSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUPERSCRIPT CLOSING PARENTHESIS;;;; +207F;SUPERSCRIPT LATIN SMALL LETTER N;Lm;0;L; 006E;;;;N;;;;; +2080;SUBSCRIPT ZERO;No;0;EN; 0030;;0;0;N;SUBSCRIPT DIGIT ZERO;;;; +2081;SUBSCRIPT ONE;No;0;EN; 0031;;1;1;N;SUBSCRIPT DIGIT ONE;;;; +2082;SUBSCRIPT TWO;No;0;EN; 0032;;2;2;N;SUBSCRIPT DIGIT TWO;;;; +2083;SUBSCRIPT THREE;No;0;EN; 0033;;3;3;N;SUBSCRIPT DIGIT THREE;;;; +2084;SUBSCRIPT FOUR;No;0;EN; 0034;;4;4;N;SUBSCRIPT DIGIT FOUR;;;; +2085;SUBSCRIPT FIVE;No;0;EN; 0035;;5;5;N;SUBSCRIPT DIGIT FIVE;;;; +2086;SUBSCRIPT SIX;No;0;EN; 0036;;6;6;N;SUBSCRIPT DIGIT SIX;;;; +2087;SUBSCRIPT SEVEN;No;0;EN; 0037;;7;7;N;SUBSCRIPT DIGIT SEVEN;;;; +2088;SUBSCRIPT EIGHT;No;0;EN; 0038;;8;8;N;SUBSCRIPT DIGIT EIGHT;;;; +2089;SUBSCRIPT NINE;No;0;EN; 0039;;9;9;N;SUBSCRIPT DIGIT NINE;;;; +208A;SUBSCRIPT PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +208B;SUBSCRIPT MINUS;Sm;0;ES; 2212;;;;N;SUBSCRIPT HYPHEN-MINUS;;;; +208C;SUBSCRIPT EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +208D;SUBSCRIPT LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SUBSCRIPT OPENING PARENTHESIS;;;; +208E;SUBSCRIPT RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SUBSCRIPT CLOSING PARENTHESIS;;;; +2090;LATIN SUBSCRIPT SMALL LETTER A;Lm;0;L; 0061;;;;N;;;;; +2091;LATIN SUBSCRIPT SMALL LETTER E;Lm;0;L; 0065;;;;N;;;;; +2092;LATIN SUBSCRIPT SMALL LETTER O;Lm;0;L; 006F;;;;N;;;;; +2093;LATIN SUBSCRIPT SMALL LETTER X;Lm;0;L; 0078;;;;N;;;;; +2094;LATIN SUBSCRIPT SMALL LETTER SCHWA;Lm;0;L; 0259;;;;N;;;;; +2095;LATIN SUBSCRIPT SMALL LETTER H;Lm;0;L; 0068;;;;N;;;;; +2096;LATIN SUBSCRIPT SMALL LETTER K;Lm;0;L; 006B;;;;N;;;;; +2097;LATIN SUBSCRIPT SMALL LETTER L;Lm;0;L; 006C;;;;N;;;;; +2098;LATIN SUBSCRIPT SMALL LETTER M;Lm;0;L; 006D;;;;N;;;;; +2099;LATIN SUBSCRIPT SMALL LETTER N;Lm;0;L; 006E;;;;N;;;;; +209A;LATIN SUBSCRIPT SMALL LETTER P;Lm;0;L; 0070;;;;N;;;;; +209B;LATIN SUBSCRIPT SMALL LETTER S;Lm;0;L; 0073;;;;N;;;;; +209C;LATIN SUBSCRIPT SMALL LETTER T;Lm;0;L; 0074;;;;N;;;;; +20A0;EURO-CURRENCY SIGN;Sc;0;ET;;;;;N;;;;; +20A1;COLON SIGN;Sc;0;ET;;;;;N;;;;; +20A2;CRUZEIRO SIGN;Sc;0;ET;;;;;N;;;;; +20A3;FRENCH FRANC SIGN;Sc;0;ET;;;;;N;;;;; +20A4;LIRA SIGN;Sc;0;ET;;;;;N;;;;; +20A5;MILL SIGN;Sc;0;ET;;;;;N;;;;; +20A6;NAIRA SIGN;Sc;0;ET;;;;;N;;;;; +20A7;PESETA SIGN;Sc;0;ET;;;;;N;;;;; +20A8;RUPEE SIGN;Sc;0;ET; 0052 0073;;;;N;;;;; +20A9;WON SIGN;Sc;0;ET;;;;;N;;;;; +20AA;NEW SHEQEL SIGN;Sc;0;ET;;;;;N;;;;; +20AB;DONG SIGN;Sc;0;ET;;;;;N;;;;; +20AC;EURO SIGN;Sc;0;ET;;;;;N;;;;; +20AD;KIP SIGN;Sc;0;ET;;;;;N;;;;; +20AE;TUGRIK SIGN;Sc;0;ET;;;;;N;;;;; +20AF;DRACHMA SIGN;Sc;0;ET;;;;;N;;;;; +20B0;GERMAN PENNY SIGN;Sc;0;ET;;;;;N;;;;; +20B1;PESO SIGN;Sc;0;ET;;;;;N;;;;; +20B2;GUARANI SIGN;Sc;0;ET;;;;;N;;;;; +20B3;AUSTRAL SIGN;Sc;0;ET;;;;;N;;;;; +20B4;HRYVNIA SIGN;Sc;0;ET;;;;;N;;;;; +20B5;CEDI SIGN;Sc;0;ET;;;;;N;;;;; +20B6;LIVRE TOURNOIS SIGN;Sc;0;ET;;;;;N;;;;; +20B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;; +20B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;; +20B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;; +20BA;TURKISH LIRA SIGN;Sc;0;ET;;;;;N;;;;; +20BB;NORDIC MARK SIGN;Sc;0;ET;;;;;N;;;;; +20BC;MANAT SIGN;Sc;0;ET;;;;;N;;;;; +20BD;RUBLE SIGN;Sc;0;ET;;;;;N;;;;; +20BE;LARI SIGN;Sc;0;ET;;;;;N;;;;; +20BF;BITCOIN SIGN;Sc;0;ET;;;;;N;;;;; +20D0;COMBINING LEFT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT HARPOON ABOVE;;;; +20D1;COMBINING RIGHT HARPOON ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT HARPOON ABOVE;;;; +20D2;COMBINING LONG VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING LONG VERTICAL BAR OVERLAY;;;; +20D3;COMBINING SHORT VERTICAL LINE OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING SHORT VERTICAL BAR OVERLAY;;;; +20D4;COMBINING ANTICLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING ANTICLOCKWISE ARROW ABOVE;;;; +20D5;COMBINING CLOCKWISE ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING CLOCKWISE ARROW ABOVE;;;; +20D6;COMBINING LEFT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT ARROW ABOVE;;;; +20D7;COMBINING RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING RIGHT ARROW ABOVE;;;; +20D8;COMBINING RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING RING OVERLAY;;;; +20D9;COMBINING CLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING CLOCKWISE RING OVERLAY;;;; +20DA;COMBINING ANTICLOCKWISE RING OVERLAY;Mn;1;NSM;;;;;N;NON-SPACING ANTICLOCKWISE RING OVERLAY;;;; +20DB;COMBINING THREE DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING THREE DOTS ABOVE;;;; +20DC;COMBINING FOUR DOTS ABOVE;Mn;230;NSM;;;;;N;NON-SPACING FOUR DOTS ABOVE;;;; +20DD;COMBINING ENCLOSING CIRCLE;Me;0;NSM;;;;;N;ENCLOSING CIRCLE;;;; +20DE;COMBINING ENCLOSING SQUARE;Me;0;NSM;;;;;N;ENCLOSING SQUARE;;;; +20DF;COMBINING ENCLOSING DIAMOND;Me;0;NSM;;;;;N;ENCLOSING DIAMOND;;;; +20E0;COMBINING ENCLOSING CIRCLE BACKSLASH;Me;0;NSM;;;;;N;ENCLOSING CIRCLE SLASH;;;; +20E1;COMBINING LEFT RIGHT ARROW ABOVE;Mn;230;NSM;;;;;N;NON-SPACING LEFT RIGHT ARROW ABOVE;;;; +20E2;COMBINING ENCLOSING SCREEN;Me;0;NSM;;;;;N;;;;; +20E3;COMBINING ENCLOSING KEYCAP;Me;0;NSM;;;;;N;;;;; +20E4;COMBINING ENCLOSING UPWARD POINTING TRIANGLE;Me;0;NSM;;;;;N;;;;; +20E5;COMBINING REVERSE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;; +20E6;COMBINING DOUBLE VERTICAL STROKE OVERLAY;Mn;1;NSM;;;;;N;;;;; +20E7;COMBINING ANNUITY SYMBOL;Mn;230;NSM;;;;;N;;;;; +20E8;COMBINING TRIPLE UNDERDOT;Mn;220;NSM;;;;;N;;;;; +20E9;COMBINING WIDE BRIDGE ABOVE;Mn;230;NSM;;;;;N;;;;; +20EA;COMBINING LEFTWARDS ARROW OVERLAY;Mn;1;NSM;;;;;N;;;;; +20EB;COMBINING LONG DOUBLE SOLIDUS OVERLAY;Mn;1;NSM;;;;;N;;;;; +20EC;COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;; +20ED;COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS;Mn;220;NSM;;;;;N;;;;; +20EE;COMBINING LEFT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +20EF;COMBINING RIGHT ARROW BELOW;Mn;220;NSM;;;;;N;;;;; +20F0;COMBINING ASTERISK ABOVE;Mn;230;NSM;;;;;N;;;;; +2100;ACCOUNT OF;So;0;ON; 0061 002F 0063;;;;N;;;;; +2101;ADDRESSED TO THE SUBJECT;So;0;ON; 0061 002F 0073;;;;N;;;;; +2102;DOUBLE-STRUCK CAPITAL C;Lu;0;L; 0043;;;;N;DOUBLE-STRUCK C;;;; +2103;DEGREE CELSIUS;So;0;ON; 00B0 0043;;;;N;DEGREES CENTIGRADE;;;; +2104;CENTRE LINE SYMBOL;So;0;ON;;;;;N;C L SYMBOL;;;; +2105;CARE OF;So;0;ON; 0063 002F 006F;;;;N;;;;; +2106;CADA UNA;So;0;ON; 0063 002F 0075;;;;N;;;;; +2107;EULER CONSTANT;Lu;0;L; 0190;;;;N;EULERS;;;; +2108;SCRUPLE;So;0;ON;;;;;N;;;;; +2109;DEGREE FAHRENHEIT;So;0;ON; 00B0 0046;;;;N;DEGREES FAHRENHEIT;;;; +210A;SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; +210B;SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;SCRIPT H;;;; +210C;BLACK-LETTER CAPITAL H;Lu;0;L; 0048;;;;N;BLACK-LETTER H;;;; +210D;DOUBLE-STRUCK CAPITAL H;Lu;0;L; 0048;;;;N;DOUBLE-STRUCK H;;;; +210E;PLANCK CONSTANT;Ll;0;L; 0068;;;;N;;;;; +210F;PLANCK CONSTANT OVER TWO PI;Ll;0;L; 0127;;;;N;PLANCK CONSTANT OVER 2 PI;;;; +2110;SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;SCRIPT I;;;; +2111;BLACK-LETTER CAPITAL I;Lu;0;L; 0049;;;;N;BLACK-LETTER I;;;; +2112;SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;SCRIPT L;;;; +2113;SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +2114;L B BAR SYMBOL;So;0;ON;;;;;N;;;;; +2115;DOUBLE-STRUCK CAPITAL N;Lu;0;L; 004E;;;;N;DOUBLE-STRUCK N;;;; +2116;NUMERO SIGN;So;0;ON; 004E 006F;;;;N;NUMERO;;;; +2117;SOUND RECORDING COPYRIGHT;So;0;ON;;;;;N;;;;; +2118;SCRIPT CAPITAL P;Sm;0;ON;;;;;N;SCRIPT P;;;; +2119;DOUBLE-STRUCK CAPITAL P;Lu;0;L; 0050;;;;N;DOUBLE-STRUCK P;;;; +211A;DOUBLE-STRUCK CAPITAL Q;Lu;0;L; 0051;;;;N;DOUBLE-STRUCK Q;;;; +211B;SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;SCRIPT R;;;; +211C;BLACK-LETTER CAPITAL R;Lu;0;L; 0052;;;;N;BLACK-LETTER R;;;; +211D;DOUBLE-STRUCK CAPITAL R;Lu;0;L; 0052;;;;N;DOUBLE-STRUCK R;;;; +211E;PRESCRIPTION TAKE;So;0;ON;;;;;N;;;;; +211F;RESPONSE;So;0;ON;;;;;N;;;;; +2120;SERVICE MARK;So;0;ON; 0053 004D;;;;N;;;;; +2121;TELEPHONE SIGN;So;0;ON; 0054 0045 004C;;;;N;T E L SYMBOL;;;; +2122;TRADE MARK SIGN;So;0;ON; 0054 004D;;;;N;TRADEMARK;;;; +2123;VERSICLE;So;0;ON;;;;;N;;;;; +2124;DOUBLE-STRUCK CAPITAL Z;Lu;0;L; 005A;;;;N;DOUBLE-STRUCK Z;;;; +2125;OUNCE SIGN;So;0;ON;;;;;N;OUNCE;;;; +2126;OHM SIGN;Lu;0;L;03A9;;;;N;OHM;;;03C9; +2127;INVERTED OHM SIGN;So;0;ON;;;;;N;MHO;;;; +2128;BLACK-LETTER CAPITAL Z;Lu;0;L; 005A;;;;N;BLACK-LETTER Z;;;; +2129;TURNED GREEK SMALL LETTER IOTA;So;0;ON;;;;;N;;;;; +212A;KELVIN SIGN;Lu;0;L;004B;;;;N;DEGREES KELVIN;;;006B; +212B;ANGSTROM SIGN;Lu;0;L;00C5;;;;N;ANGSTROM UNIT;;;00E5; +212C;SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;SCRIPT B;;;; +212D;BLACK-LETTER CAPITAL C;Lu;0;L; 0043;;;;N;BLACK-LETTER C;;;; +212E;ESTIMATED SYMBOL;So;0;ET;;;;;N;;;;; +212F;SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; +2130;SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;SCRIPT E;;;; +2131;SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;SCRIPT F;;;; +2132;TURNED CAPITAL F;Lu;0;L;;;;;N;TURNED F;;;214E; +2133;SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;SCRIPT M;;;; +2134;SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; +2135;ALEF SYMBOL;Lo;0;L; 05D0;;;;N;FIRST TRANSFINITE CARDINAL;;;; +2136;BET SYMBOL;Lo;0;L; 05D1;;;;N;SECOND TRANSFINITE CARDINAL;;;; +2137;GIMEL SYMBOL;Lo;0;L; 05D2;;;;N;THIRD TRANSFINITE CARDINAL;;;; +2138;DALET SYMBOL;Lo;0;L; 05D3;;;;N;FOURTH TRANSFINITE CARDINAL;;;; +2139;INFORMATION SOURCE;Ll;0;L; 0069;;;;N;;;;; +213A;ROTATED CAPITAL Q;So;0;ON;;;;;N;;;;; +213B;FACSIMILE SIGN;So;0;ON; 0046 0041 0058;;;;N;;;;; +213C;DOUBLE-STRUCK SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +213D;DOUBLE-STRUCK SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +213E;DOUBLE-STRUCK CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +213F;DOUBLE-STRUCK CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +2140;DOUBLE-STRUCK N-ARY SUMMATION;Sm;0;ON; 2211;;;;Y;;;;; +2141;TURNED SANS-SERIF CAPITAL G;Sm;0;ON;;;;;N;;;;; +2142;TURNED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; +2143;REVERSED SANS-SERIF CAPITAL L;Sm;0;ON;;;;;N;;;;; +2144;TURNED SANS-SERIF CAPITAL Y;Sm;0;ON;;;;;N;;;;; +2145;DOUBLE-STRUCK ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +2146;DOUBLE-STRUCK ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +2147;DOUBLE-STRUCK ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +2148;DOUBLE-STRUCK ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +2149;DOUBLE-STRUCK ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +214A;PROPERTY LINE;So;0;ON;;;;;N;;;;; +214B;TURNED AMPERSAND;Sm;0;ON;;;;;N;;;;; +214C;PER SIGN;So;0;ON;;;;;N;;;;; +214D;AKTIESELSKAB;So;0;ON;;;;;N;;;;; +214E;TURNED SMALL F;Ll;0;L;;;;;N;;;2132;;2132 +214F;SYMBOL FOR SAMARITAN SOURCE;So;0;L;;;;;N;;;;; +2150;VULGAR FRACTION ONE SEVENTH;No;0;ON; 0031 2044 0037;;;1/7;N;;;;; +2151;VULGAR FRACTION ONE NINTH;No;0;ON; 0031 2044 0039;;;1/9;N;;;;; +2152;VULGAR FRACTION ONE TENTH;No;0;ON; 0031 2044 0031 0030;;;1/10;N;;;;; +2153;VULGAR FRACTION ONE THIRD;No;0;ON; 0031 2044 0033;;;1/3;N;FRACTION ONE THIRD;;;; +2154;VULGAR FRACTION TWO THIRDS;No;0;ON; 0032 2044 0033;;;2/3;N;FRACTION TWO THIRDS;;;; +2155;VULGAR FRACTION ONE FIFTH;No;0;ON; 0031 2044 0035;;;1/5;N;FRACTION ONE FIFTH;;;; +2156;VULGAR FRACTION TWO FIFTHS;No;0;ON; 0032 2044 0035;;;2/5;N;FRACTION TWO FIFTHS;;;; +2157;VULGAR FRACTION THREE FIFTHS;No;0;ON; 0033 2044 0035;;;3/5;N;FRACTION THREE FIFTHS;;;; +2158;VULGAR FRACTION FOUR FIFTHS;No;0;ON; 0034 2044 0035;;;4/5;N;FRACTION FOUR FIFTHS;;;; +2159;VULGAR FRACTION ONE SIXTH;No;0;ON; 0031 2044 0036;;;1/6;N;FRACTION ONE SIXTH;;;; +215A;VULGAR FRACTION FIVE SIXTHS;No;0;ON; 0035 2044 0036;;;5/6;N;FRACTION FIVE SIXTHS;;;; +215B;VULGAR FRACTION ONE EIGHTH;No;0;ON; 0031 2044 0038;;;1/8;N;FRACTION ONE EIGHTH;;;; +215C;VULGAR FRACTION THREE EIGHTHS;No;0;ON; 0033 2044 0038;;;3/8;N;FRACTION THREE EIGHTHS;;;; +215D;VULGAR FRACTION FIVE EIGHTHS;No;0;ON; 0035 2044 0038;;;5/8;N;FRACTION FIVE EIGHTHS;;;; +215E;VULGAR FRACTION SEVEN EIGHTHS;No;0;ON; 0037 2044 0038;;;7/8;N;FRACTION SEVEN EIGHTHS;;;; +215F;FRACTION NUMERATOR ONE;No;0;ON; 0031 2044;;;1;N;;;;; +2160;ROMAN NUMERAL ONE;Nl;0;L; 0049;;;1;N;;;;2170; +2161;ROMAN NUMERAL TWO;Nl;0;L; 0049 0049;;;2;N;;;;2171; +2162;ROMAN NUMERAL THREE;Nl;0;L; 0049 0049 0049;;;3;N;;;;2172; +2163;ROMAN NUMERAL FOUR;Nl;0;L; 0049 0056;;;4;N;;;;2173; +2164;ROMAN NUMERAL FIVE;Nl;0;L; 0056;;;5;N;;;;2174; +2165;ROMAN NUMERAL SIX;Nl;0;L; 0056 0049;;;6;N;;;;2175; +2166;ROMAN NUMERAL SEVEN;Nl;0;L; 0056 0049 0049;;;7;N;;;;2176; +2167;ROMAN NUMERAL EIGHT;Nl;0;L; 0056 0049 0049 0049;;;8;N;;;;2177; +2168;ROMAN NUMERAL NINE;Nl;0;L; 0049 0058;;;9;N;;;;2178; +2169;ROMAN NUMERAL TEN;Nl;0;L; 0058;;;10;N;;;;2179; +216A;ROMAN NUMERAL ELEVEN;Nl;0;L; 0058 0049;;;11;N;;;;217A; +216B;ROMAN NUMERAL TWELVE;Nl;0;L; 0058 0049 0049;;;12;N;;;;217B; +216C;ROMAN NUMERAL FIFTY;Nl;0;L; 004C;;;50;N;;;;217C; +216D;ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0043;;;100;N;;;;217D; +216E;ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0044;;;500;N;;;;217E; +216F;ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 004D;;;1000;N;;;;217F; +2170;SMALL ROMAN NUMERAL ONE;Nl;0;L; 0069;;;1;N;;;2160;;2160 +2171;SMALL ROMAN NUMERAL TWO;Nl;0;L; 0069 0069;;;2;N;;;2161;;2161 +2172;SMALL ROMAN NUMERAL THREE;Nl;0;L; 0069 0069 0069;;;3;N;;;2162;;2162 +2173;SMALL ROMAN NUMERAL FOUR;Nl;0;L; 0069 0076;;;4;N;;;2163;;2163 +2174;SMALL ROMAN NUMERAL FIVE;Nl;0;L; 0076;;;5;N;;;2164;;2164 +2175;SMALL ROMAN NUMERAL SIX;Nl;0;L; 0076 0069;;;6;N;;;2165;;2165 +2176;SMALL ROMAN NUMERAL SEVEN;Nl;0;L; 0076 0069 0069;;;7;N;;;2166;;2166 +2177;SMALL ROMAN NUMERAL EIGHT;Nl;0;L; 0076 0069 0069 0069;;;8;N;;;2167;;2167 +2178;SMALL ROMAN NUMERAL NINE;Nl;0;L; 0069 0078;;;9;N;;;2168;;2168 +2179;SMALL ROMAN NUMERAL TEN;Nl;0;L; 0078;;;10;N;;;2169;;2169 +217A;SMALL ROMAN NUMERAL ELEVEN;Nl;0;L; 0078 0069;;;11;N;;;216A;;216A +217B;SMALL ROMAN NUMERAL TWELVE;Nl;0;L; 0078 0069 0069;;;12;N;;;216B;;216B +217C;SMALL ROMAN NUMERAL FIFTY;Nl;0;L; 006C;;;50;N;;;216C;;216C +217D;SMALL ROMAN NUMERAL ONE HUNDRED;Nl;0;L; 0063;;;100;N;;;216D;;216D +217E;SMALL ROMAN NUMERAL FIVE HUNDRED;Nl;0;L; 0064;;;500;N;;;216E;;216E +217F;SMALL ROMAN NUMERAL ONE THOUSAND;Nl;0;L; 006D;;;1000;N;;;216F;;216F +2180;ROMAN NUMERAL ONE THOUSAND C D;Nl;0;L;;;;1000;N;;;;; +2181;ROMAN NUMERAL FIVE THOUSAND;Nl;0;L;;;;5000;N;;;;; +2182;ROMAN NUMERAL TEN THOUSAND;Nl;0;L;;;;10000;N;;;;; +2183;ROMAN NUMERAL REVERSED ONE HUNDRED;Lu;0;L;;;;;N;;;;2184; +2184;LATIN SMALL LETTER REVERSED C;Ll;0;L;;;;;N;;;2183;;2183 +2185;ROMAN NUMERAL SIX LATE FORM;Nl;0;L;;;;6;N;;;;; +2186;ROMAN NUMERAL FIFTY EARLY FORM;Nl;0;L;;;;50;N;;;;; +2187;ROMAN NUMERAL FIFTY THOUSAND;Nl;0;L;;;;50000;N;;;;; +2188;ROMAN NUMERAL ONE HUNDRED THOUSAND;Nl;0;L;;;;100000;N;;;;; +2189;VULGAR FRACTION ZERO THIRDS;No;0;ON; 0030 2044 0033;;;0;N;;;;; +218A;TURNED DIGIT TWO;So;0;ON;;;;;N;;;;; +218B;TURNED DIGIT THREE;So;0;ON;;;;;N;;;;; +2190;LEFTWARDS ARROW;Sm;0;ON;;;;;N;LEFT ARROW;;;; +2191;UPWARDS ARROW;Sm;0;ON;;;;;N;UP ARROW;;;; +2192;RIGHTWARDS ARROW;Sm;0;ON;;;;;N;RIGHT ARROW;;;; +2193;DOWNWARDS ARROW;Sm;0;ON;;;;;N;DOWN ARROW;;;; +2194;LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; +2195;UP DOWN ARROW;So;0;ON;;;;;N;;;;; +2196;NORTH WEST ARROW;So;0;ON;;;;;N;UPPER LEFT ARROW;;;; +2197;NORTH EAST ARROW;So;0;ON;;;;;N;UPPER RIGHT ARROW;;;; +2198;SOUTH EAST ARROW;So;0;ON;;;;;N;LOWER RIGHT ARROW;;;; +2199;SOUTH WEST ARROW;So;0;ON;;;;;N;LOWER LEFT ARROW;;;; +219A;LEFTWARDS ARROW WITH STROKE;Sm;0;ON;2190 0338;;;;N;LEFT ARROW WITH STROKE;;;; +219B;RIGHTWARDS ARROW WITH STROKE;Sm;0;ON;2192 0338;;;;N;RIGHT ARROW WITH STROKE;;;; +219C;LEFTWARDS WAVE ARROW;So;0;ON;;;;;N;LEFT WAVE ARROW;;;; +219D;RIGHTWARDS WAVE ARROW;So;0;ON;;;;;N;RIGHT WAVE ARROW;;;; +219E;LEFTWARDS TWO HEADED ARROW;So;0;ON;;;;;N;LEFT TWO HEADED ARROW;;;; +219F;UPWARDS TWO HEADED ARROW;So;0;ON;;;;;N;UP TWO HEADED ARROW;;;; +21A0;RIGHTWARDS TWO HEADED ARROW;Sm;0;ON;;;;;N;RIGHT TWO HEADED ARROW;;;; +21A1;DOWNWARDS TWO HEADED ARROW;So;0;ON;;;;;N;DOWN TWO HEADED ARROW;;;; +21A2;LEFTWARDS ARROW WITH TAIL;So;0;ON;;;;;N;LEFT ARROW WITH TAIL;;;; +21A3;RIGHTWARDS ARROW WITH TAIL;Sm;0;ON;;;;;N;RIGHT ARROW WITH TAIL;;;; +21A4;LEFTWARDS ARROW FROM BAR;So;0;ON;;;;;N;LEFT ARROW FROM BAR;;;; +21A5;UPWARDS ARROW FROM BAR;So;0;ON;;;;;N;UP ARROW FROM BAR;;;; +21A6;RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;RIGHT ARROW FROM BAR;;;; +21A7;DOWNWARDS ARROW FROM BAR;So;0;ON;;;;;N;DOWN ARROW FROM BAR;;;; +21A8;UP DOWN ARROW WITH BASE;So;0;ON;;;;;N;;;;; +21A9;LEFTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;LEFT ARROW WITH HOOK;;;; +21AA;RIGHTWARDS ARROW WITH HOOK;So;0;ON;;;;;N;RIGHT ARROW WITH HOOK;;;; +21AB;LEFTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;LEFT ARROW WITH LOOP;;;; +21AC;RIGHTWARDS ARROW WITH LOOP;So;0;ON;;;;;N;RIGHT ARROW WITH LOOP;;;; +21AD;LEFT RIGHT WAVE ARROW;So;0;ON;;;;;N;;;;; +21AE;LEFT RIGHT ARROW WITH STROKE;Sm;0;ON;2194 0338;;;;N;;;;; +21AF;DOWNWARDS ZIGZAG ARROW;So;0;ON;;;;;N;DOWN ZIGZAG ARROW;;;; +21B0;UPWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP LEFT;;;; +21B1;UPWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;UP ARROW WITH TIP RIGHT;;;; +21B2;DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP LEFT;;;; +21B3;DOWNWARDS ARROW WITH TIP RIGHTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH TIP RIGHT;;;; +21B4;RIGHTWARDS ARROW WITH CORNER DOWNWARDS;So;0;ON;;;;;N;RIGHT ARROW WITH CORNER DOWN;;;; +21B5;DOWNWARDS ARROW WITH CORNER LEFTWARDS;So;0;ON;;;;;N;DOWN ARROW WITH CORNER LEFT;;;; +21B6;ANTICLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; +21B7;CLOCKWISE TOP SEMICIRCLE ARROW;So;0;ON;;;;;N;;;;; +21B8;NORTH WEST ARROW TO LONG BAR;So;0;ON;;;;;N;UPPER LEFT ARROW TO LONG BAR;;;; +21B9;LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR OVER RIGHT ARROW TO BAR;;;; +21BA;ANTICLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +21BB;CLOCKWISE OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +21BC;LEFTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB UP;;;; +21BD;LEFTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;LEFT HARPOON WITH BARB DOWN;;;; +21BE;UPWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB RIGHT;;;; +21BF;UPWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;UP HARPOON WITH BARB LEFT;;;; +21C0;RIGHTWARDS HARPOON WITH BARB UPWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB UP;;;; +21C1;RIGHTWARDS HARPOON WITH BARB DOWNWARDS;So;0;ON;;;;;N;RIGHT HARPOON WITH BARB DOWN;;;; +21C2;DOWNWARDS HARPOON WITH BARB RIGHTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB RIGHT;;;; +21C3;DOWNWARDS HARPOON WITH BARB LEFTWARDS;So;0;ON;;;;;N;DOWN HARPOON WITH BARB LEFT;;;; +21C4;RIGHTWARDS ARROW OVER LEFTWARDS ARROW;So;0;ON;;;;;N;RIGHT ARROW OVER LEFT ARROW;;;; +21C5;UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW;So;0;ON;;;;;N;UP ARROW LEFT OF DOWN ARROW;;;; +21C6;LEFTWARDS ARROW OVER RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT ARROW OVER RIGHT ARROW;;;; +21C7;LEFTWARDS PAIRED ARROWS;So;0;ON;;;;;N;LEFT PAIRED ARROWS;;;; +21C8;UPWARDS PAIRED ARROWS;So;0;ON;;;;;N;UP PAIRED ARROWS;;;; +21C9;RIGHTWARDS PAIRED ARROWS;So;0;ON;;;;;N;RIGHT PAIRED ARROWS;;;; +21CA;DOWNWARDS PAIRED ARROWS;So;0;ON;;;;;N;DOWN PAIRED ARROWS;;;; +21CB;LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON;So;0;ON;;;;;N;LEFT HARPOON OVER RIGHT HARPOON;;;; +21CC;RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON;So;0;ON;;;;;N;RIGHT HARPOON OVER LEFT HARPOON;;;; +21CD;LEFTWARDS DOUBLE ARROW WITH STROKE;So;0;ON;21D0 0338;;;;N;LEFT DOUBLE ARROW WITH STROKE;;;; +21CE;LEFT RIGHT DOUBLE ARROW WITH STROKE;Sm;0;ON;21D4 0338;;;;N;;;;; +21CF;RIGHTWARDS DOUBLE ARROW WITH STROKE;Sm;0;ON;21D2 0338;;;;N;RIGHT DOUBLE ARROW WITH STROKE;;;; +21D0;LEFTWARDS DOUBLE ARROW;So;0;ON;;;;;N;LEFT DOUBLE ARROW;;;; +21D1;UPWARDS DOUBLE ARROW;So;0;ON;;;;;N;UP DOUBLE ARROW;;;; +21D2;RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;RIGHT DOUBLE ARROW;;;; +21D3;DOWNWARDS DOUBLE ARROW;So;0;ON;;;;;N;DOWN DOUBLE ARROW;;;; +21D4;LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +21D5;UP DOWN DOUBLE ARROW;So;0;ON;;;;;N;;;;; +21D6;NORTH WEST DOUBLE ARROW;So;0;ON;;;;;N;UPPER LEFT DOUBLE ARROW;;;; +21D7;NORTH EAST DOUBLE ARROW;So;0;ON;;;;;N;UPPER RIGHT DOUBLE ARROW;;;; +21D8;SOUTH EAST DOUBLE ARROW;So;0;ON;;;;;N;LOWER RIGHT DOUBLE ARROW;;;; +21D9;SOUTH WEST DOUBLE ARROW;So;0;ON;;;;;N;LOWER LEFT DOUBLE ARROW;;;; +21DA;LEFTWARDS TRIPLE ARROW;So;0;ON;;;;;N;LEFT TRIPLE ARROW;;;; +21DB;RIGHTWARDS TRIPLE ARROW;So;0;ON;;;;;N;RIGHT TRIPLE ARROW;;;; +21DC;LEFTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;LEFT SQUIGGLE ARROW;;;; +21DD;RIGHTWARDS SQUIGGLE ARROW;So;0;ON;;;;;N;RIGHT SQUIGGLE ARROW;;;; +21DE;UPWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;UP ARROW WITH DOUBLE STROKE;;;; +21DF;DOWNWARDS ARROW WITH DOUBLE STROKE;So;0;ON;;;;;N;DOWN ARROW WITH DOUBLE STROKE;;;; +21E0;LEFTWARDS DASHED ARROW;So;0;ON;;;;;N;LEFT DASHED ARROW;;;; +21E1;UPWARDS DASHED ARROW;So;0;ON;;;;;N;UP DASHED ARROW;;;; +21E2;RIGHTWARDS DASHED ARROW;So;0;ON;;;;;N;RIGHT DASHED ARROW;;;; +21E3;DOWNWARDS DASHED ARROW;So;0;ON;;;;;N;DOWN DASHED ARROW;;;; +21E4;LEFTWARDS ARROW TO BAR;So;0;ON;;;;;N;LEFT ARROW TO BAR;;;; +21E5;RIGHTWARDS ARROW TO BAR;So;0;ON;;;;;N;RIGHT ARROW TO BAR;;;; +21E6;LEFTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE LEFT ARROW;;;; +21E7;UPWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE UP ARROW;;;; +21E8;RIGHTWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE RIGHT ARROW;;;; +21E9;DOWNWARDS WHITE ARROW;So;0;ON;;;;;N;WHITE DOWN ARROW;;;; +21EA;UPWARDS WHITE ARROW FROM BAR;So;0;ON;;;;;N;WHITE UP ARROW FROM BAR;;;; +21EB;UPWARDS WHITE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; +21EC;UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;; +21ED;UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; +21EE;UPWARDS WHITE DOUBLE ARROW;So;0;ON;;;;;N;;;;; +21EF;UPWARDS WHITE DOUBLE ARROW ON PEDESTAL;So;0;ON;;;;;N;;;;; +21F0;RIGHTWARDS WHITE ARROW FROM WALL;So;0;ON;;;;;N;;;;; +21F1;NORTH WEST ARROW TO CORNER;So;0;ON;;;;;N;;;;; +21F2;SOUTH EAST ARROW TO CORNER;So;0;ON;;;;;N;;;;; +21F3;UP DOWN WHITE ARROW;So;0;ON;;;;;N;;;;; +21F4;RIGHT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +21F5;DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW;Sm;0;ON;;;;;N;;;;; +21F6;THREE RIGHTWARDS ARROWS;Sm;0;ON;;;;;N;;;;; +21F7;LEFTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21F8;RIGHTWARDS ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21F9;LEFT RIGHT ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FA;LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FB;RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FC;LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +21FD;LEFTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +21FE;RIGHTWARDS OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +21FF;LEFT RIGHT OPEN-HEADED ARROW;Sm;0;ON;;;;;N;;;;; +2200;FOR ALL;Sm;0;ON;;;;;N;;;;; +2201;COMPLEMENT;Sm;0;ON;;;;;Y;;;;; +2202;PARTIAL DIFFERENTIAL;Sm;0;ON;;;;;Y;;;;; +2203;THERE EXISTS;Sm;0;ON;;;;;Y;;;;; +2204;THERE DOES NOT EXIST;Sm;0;ON;2203 0338;;;;Y;;;;; +2205;EMPTY SET;Sm;0;ON;;;;;N;;;;; +2206;INCREMENT;Sm;0;ON;;;;;N;;;;; +2207;NABLA;Sm;0;ON;;;;;N;;;;; +2208;ELEMENT OF;Sm;0;ON;;;;;Y;;;;; +2209;NOT AN ELEMENT OF;Sm;0;ON;2208 0338;;;;Y;;;;; +220A;SMALL ELEMENT OF;Sm;0;ON;;;;;Y;;;;; +220B;CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; +220C;DOES NOT CONTAIN AS MEMBER;Sm;0;ON;220B 0338;;;;Y;;;;; +220D;SMALL CONTAINS AS MEMBER;Sm;0;ON;;;;;Y;;;;; +220E;END OF PROOF;Sm;0;ON;;;;;N;;;;; +220F;N-ARY PRODUCT;Sm;0;ON;;;;;N;;;;; +2210;N-ARY COPRODUCT;Sm;0;ON;;;;;N;;;;; +2211;N-ARY SUMMATION;Sm;0;ON;;;;;Y;;;;; +2212;MINUS SIGN;Sm;0;ES;;;;;N;;;;; +2213;MINUS-OR-PLUS SIGN;Sm;0;ET;;;;;N;;;;; +2214;DOT PLUS;Sm;0;ON;;;;;N;;;;; +2215;DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; +2216;SET MINUS;Sm;0;ON;;;;;Y;;;;; +2217;ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; +2218;RING OPERATOR;Sm;0;ON;;;;;N;;;;; +2219;BULLET OPERATOR;Sm;0;ON;;;;;N;;;;; +221A;SQUARE ROOT;Sm;0;ON;;;;;Y;;;;; +221B;CUBE ROOT;Sm;0;ON;;;;;Y;;;;; +221C;FOURTH ROOT;Sm;0;ON;;;;;Y;;;;; +221D;PROPORTIONAL TO;Sm;0;ON;;;;;Y;;;;; +221E;INFINITY;Sm;0;ON;;;;;N;;;;; +221F;RIGHT ANGLE;Sm;0;ON;;;;;Y;;;;; +2220;ANGLE;Sm;0;ON;;;;;Y;;;;; +2221;MEASURED ANGLE;Sm;0;ON;;;;;Y;;;;; +2222;SPHERICAL ANGLE;Sm;0;ON;;;;;Y;;;;; +2223;DIVIDES;Sm;0;ON;;;;;N;;;;; +2224;DOES NOT DIVIDE;Sm;0;ON;2223 0338;;;;Y;;;;; +2225;PARALLEL TO;Sm;0;ON;;;;;N;;;;; +2226;NOT PARALLEL TO;Sm;0;ON;2225 0338;;;;Y;;;;; +2227;LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2228;LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2229;INTERSECTION;Sm;0;ON;;;;;N;;;;; +222A;UNION;Sm;0;ON;;;;;N;;;;; +222B;INTEGRAL;Sm;0;ON;;;;;Y;;;;; +222C;DOUBLE INTEGRAL;Sm;0;ON; 222B 222B;;;;Y;;;;; +222D;TRIPLE INTEGRAL;Sm;0;ON; 222B 222B 222B;;;;Y;;;;; +222E;CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +222F;SURFACE INTEGRAL;Sm;0;ON; 222E 222E;;;;Y;;;;; +2230;VOLUME INTEGRAL;Sm;0;ON; 222E 222E 222E;;;;Y;;;;; +2231;CLOCKWISE INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2232;CLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2233;ANTICLOCKWISE CONTOUR INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2234;THEREFORE;Sm;0;ON;;;;;N;;;;; +2235;BECAUSE;Sm;0;ON;;;;;N;;;;; +2236;RATIO;Sm;0;ON;;;;;N;;;;; +2237;PROPORTION;Sm;0;ON;;;;;N;;;;; +2238;DOT MINUS;Sm;0;ON;;;;;N;;;;; +2239;EXCESS;Sm;0;ON;;;;;Y;;;;; +223A;GEOMETRIC PROPORTION;Sm;0;ON;;;;;N;;;;; +223B;HOMOTHETIC;Sm;0;ON;;;;;Y;;;;; +223C;TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +223D;REVERSED TILDE;Sm;0;ON;;;;;Y;;;;; +223E;INVERTED LAZY S;Sm;0;ON;;;;;Y;;;;; +223F;SINE WAVE;Sm;0;ON;;;;;Y;;;;; +2240;WREATH PRODUCT;Sm;0;ON;;;;;Y;;;;; +2241;NOT TILDE;Sm;0;ON;223C 0338;;;;Y;;;;; +2242;MINUS TILDE;Sm;0;ON;;;;;Y;;;;; +2243;ASYMPTOTICALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2244;NOT ASYMPTOTICALLY EQUAL TO;Sm;0;ON;2243 0338;;;;Y;;;;; +2245;APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2246;APPROXIMATELY BUT NOT ACTUALLY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2247;NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO;Sm;0;ON;2245 0338;;;;Y;;;;; +2248;ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2249;NOT ALMOST EQUAL TO;Sm;0;ON;2248 0338;;;;Y;;;;; +224A;ALMOST EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +224B;TRIPLE TILDE;Sm;0;ON;;;;;Y;;;;; +224C;ALL EQUAL TO;Sm;0;ON;;;;;Y;;;;; +224D;EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +224E;GEOMETRICALLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +224F;DIFFERENCE BETWEEN;Sm;0;ON;;;;;N;;;;; +2250;APPROACHES THE LIMIT;Sm;0;ON;;;;;N;;;;; +2251;GEOMETRICALLY EQUAL TO;Sm;0;ON;;;;;N;;;;; +2252;APPROXIMATELY EQUAL TO OR THE IMAGE OF;Sm;0;ON;;;;;Y;;;;; +2253;IMAGE OF OR APPROXIMATELY EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2254;COLON EQUALS;Sm;0;ON;;;;;Y;COLON EQUAL;;;; +2255;EQUALS COLON;Sm;0;ON;;;;;Y;EQUAL COLON;;;; +2256;RING IN EQUAL TO;Sm;0;ON;;;;;N;;;;; +2257;RING EQUAL TO;Sm;0;ON;;;;;N;;;;; +2258;CORRESPONDS TO;Sm;0;ON;;;;;N;;;;; +2259;ESTIMATES;Sm;0;ON;;;;;N;;;;; +225A;EQUIANGULAR TO;Sm;0;ON;;;;;N;;;;; +225B;STAR EQUALS;Sm;0;ON;;;;;N;;;;; +225C;DELTA EQUAL TO;Sm;0;ON;;;;;N;;;;; +225D;EQUAL TO BY DEFINITION;Sm;0;ON;;;;;N;;;;; +225E;MEASURED BY;Sm;0;ON;;;;;N;;;;; +225F;QUESTIONED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2260;NOT EQUAL TO;Sm;0;ON;003D 0338;;;;Y;;;;; +2261;IDENTICAL TO;Sm;0;ON;;;;;N;;;;; +2262;NOT IDENTICAL TO;Sm;0;ON;2261 0338;;;;Y;;;;; +2263;STRICTLY EQUIVALENT TO;Sm;0;ON;;;;;N;;;;; +2264;LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUAL TO;;;; +2265;GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUAL TO;;;; +2266;LESS-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN OVER EQUAL TO;;;; +2267;GREATER-THAN OVER EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN OVER EQUAL TO;;;; +2268;LESS-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUAL TO;;;; +2269;GREATER-THAN BUT NOT EQUAL TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUAL TO;;;; +226A;MUCH LESS-THAN;Sm;0;ON;;;;;Y;MUCH LESS THAN;;;; +226B;MUCH GREATER-THAN;Sm;0;ON;;;;;Y;MUCH GREATER THAN;;;; +226C;BETWEEN;Sm;0;ON;;;;;N;;;;; +226D;NOT EQUIVALENT TO;Sm;0;ON;224D 0338;;;;N;;;;; +226E;NOT LESS-THAN;Sm;0;ON;003C 0338;;;;Y;NOT LESS THAN;;;; +226F;NOT GREATER-THAN;Sm;0;ON;003E 0338;;;;Y;NOT GREATER THAN;;;; +2270;NEITHER LESS-THAN NOR EQUAL TO;Sm;0;ON;2264 0338;;;;Y;NEITHER LESS THAN NOR EQUAL TO;;;; +2271;NEITHER GREATER-THAN NOR EQUAL TO;Sm;0;ON;2265 0338;;;;Y;NEITHER GREATER THAN NOR EQUAL TO;;;; +2272;LESS-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN OR EQUIVALENT TO;;;; +2273;GREATER-THAN OR EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN OR EQUIVALENT TO;;;; +2274;NEITHER LESS-THAN NOR EQUIVALENT TO;Sm;0;ON;2272 0338;;;;Y;NEITHER LESS THAN NOR EQUIVALENT TO;;;; +2275;NEITHER GREATER-THAN NOR EQUIVALENT TO;Sm;0;ON;2273 0338;;;;Y;NEITHER GREATER THAN NOR EQUIVALENT TO;;;; +2276;LESS-THAN OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN OR GREATER THAN;;;; +2277;GREATER-THAN OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN OR LESS THAN;;;; +2278;NEITHER LESS-THAN NOR GREATER-THAN;Sm;0;ON;2276 0338;;;;Y;NEITHER LESS THAN NOR GREATER THAN;;;; +2279;NEITHER GREATER-THAN NOR LESS-THAN;Sm;0;ON;2277 0338;;;;Y;NEITHER GREATER THAN NOR LESS THAN;;;; +227A;PRECEDES;Sm;0;ON;;;;;Y;;;;; +227B;SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +227C;PRECEDES OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +227D;SUCCEEDS OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +227E;PRECEDES OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +227F;SUCCEEDS OR EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +2280;DOES NOT PRECEDE;Sm;0;ON;227A 0338;;;;Y;;;;; +2281;DOES NOT SUCCEED;Sm;0;ON;227B 0338;;;;Y;;;;; +2282;SUBSET OF;Sm;0;ON;;;;;Y;;;;; +2283;SUPERSET OF;Sm;0;ON;;;;;Y;;;;; +2284;NOT A SUBSET OF;Sm;0;ON;2282 0338;;;;Y;;;;; +2285;NOT A SUPERSET OF;Sm;0;ON;2283 0338;;;;Y;;;;; +2286;SUBSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2287;SUPERSET OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2288;NEITHER A SUBSET OF NOR EQUAL TO;Sm;0;ON;2286 0338;;;;Y;;;;; +2289;NEITHER A SUPERSET OF NOR EQUAL TO;Sm;0;ON;2287 0338;;;;Y;;;;; +228A;SUBSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUBSET OF OR NOT EQUAL TO;;;; +228B;SUPERSET OF WITH NOT EQUAL TO;Sm;0;ON;;;;;Y;SUPERSET OF OR NOT EQUAL TO;;;; +228C;MULTISET;Sm;0;ON;;;;;Y;;;;; +228D;MULTISET MULTIPLICATION;Sm;0;ON;;;;;N;;;;; +228E;MULTISET UNION;Sm;0;ON;;;;;N;;;;; +228F;SQUARE IMAGE OF;Sm;0;ON;;;;;Y;;;;; +2290;SQUARE ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; +2291;SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2292;SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2293;SQUARE CAP;Sm;0;ON;;;;;N;;;;; +2294;SQUARE CUP;Sm;0;ON;;;;;N;;;;; +2295;CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +2296;CIRCLED MINUS;Sm;0;ON;;;;;N;;;;; +2297;CIRCLED TIMES;Sm;0;ON;;;;;N;;;;; +2298;CIRCLED DIVISION SLASH;Sm;0;ON;;;;;Y;;;;; +2299;CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +229A;CIRCLED RING OPERATOR;Sm;0;ON;;;;;N;;;;; +229B;CIRCLED ASTERISK OPERATOR;Sm;0;ON;;;;;N;;;;; +229C;CIRCLED EQUALS;Sm;0;ON;;;;;N;;;;; +229D;CIRCLED DASH;Sm;0;ON;;;;;N;;;;; +229E;SQUARED PLUS;Sm;0;ON;;;;;N;;;;; +229F;SQUARED MINUS;Sm;0;ON;;;;;N;;;;; +22A0;SQUARED TIMES;Sm;0;ON;;;;;N;;;;; +22A1;SQUARED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +22A2;RIGHT TACK;Sm;0;ON;;;;;Y;;;;; +22A3;LEFT TACK;Sm;0;ON;;;;;Y;;;;; +22A4;DOWN TACK;Sm;0;ON;;;;;N;;;;; +22A5;UP TACK;Sm;0;ON;;;;;N;;;;; +22A6;ASSERTION;Sm;0;ON;;;;;Y;;;;; +22A7;MODELS;Sm;0;ON;;;;;Y;;;;; +22A8;TRUE;Sm;0;ON;;;;;Y;;;;; +22A9;FORCES;Sm;0;ON;;;;;Y;;;;; +22AA;TRIPLE VERTICAL BAR RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +22AB;DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +22AC;DOES NOT PROVE;Sm;0;ON;22A2 0338;;;;Y;;;;; +22AD;NOT TRUE;Sm;0;ON;22A8 0338;;;;Y;;;;; +22AE;DOES NOT FORCE;Sm;0;ON;22A9 0338;;;;Y;;;;; +22AF;NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE;Sm;0;ON;22AB 0338;;;;Y;;;;; +22B0;PRECEDES UNDER RELATION;Sm;0;ON;;;;;Y;;;;; +22B1;SUCCEEDS UNDER RELATION;Sm;0;ON;;;;;Y;;;;; +22B2;NORMAL SUBGROUP OF;Sm;0;ON;;;;;Y;;;;; +22B3;CONTAINS AS NORMAL SUBGROUP;Sm;0;ON;;;;;Y;;;;; +22B4;NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22B5;CONTAINS AS NORMAL SUBGROUP OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22B6;ORIGINAL OF;Sm;0;ON;;;;;Y;;;;; +22B7;IMAGE OF;Sm;0;ON;;;;;Y;;;;; +22B8;MULTIMAP;Sm;0;ON;;;;;Y;;;;; +22B9;HERMITIAN CONJUGATE MATRIX;Sm;0;ON;;;;;N;;;;; +22BA;INTERCALATE;Sm;0;ON;;;;;N;;;;; +22BB;XOR;Sm;0;ON;;;;;N;;;;; +22BC;NAND;Sm;0;ON;;;;;N;;;;; +22BD;NOR;Sm;0;ON;;;;;N;;;;; +22BE;RIGHT ANGLE WITH ARC;Sm;0;ON;;;;;Y;;;;; +22BF;RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +22C0;N-ARY LOGICAL AND;Sm;0;ON;;;;;N;;;;; +22C1;N-ARY LOGICAL OR;Sm;0;ON;;;;;N;;;;; +22C2;N-ARY INTERSECTION;Sm;0;ON;;;;;N;;;;; +22C3;N-ARY UNION;Sm;0;ON;;;;;N;;;;; +22C4;DIAMOND OPERATOR;Sm;0;ON;;;;;N;;;;; +22C5;DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +22C6;STAR OPERATOR;Sm;0;ON;;;;;N;;;;; +22C7;DIVISION TIMES;Sm;0;ON;;;;;N;;;;; +22C8;BOWTIE;Sm;0;ON;;;;;N;;;;; +22C9;LEFT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CA;RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CB;LEFT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CC;RIGHT SEMIDIRECT PRODUCT;Sm;0;ON;;;;;Y;;;;; +22CD;REVERSED TILDE EQUALS;Sm;0;ON;;;;;Y;;;;; +22CE;CURLY LOGICAL OR;Sm;0;ON;;;;;N;;;;; +22CF;CURLY LOGICAL AND;Sm;0;ON;;;;;N;;;;; +22D0;DOUBLE SUBSET;Sm;0;ON;;;;;Y;;;;; +22D1;DOUBLE SUPERSET;Sm;0;ON;;;;;Y;;;;; +22D2;DOUBLE INTERSECTION;Sm;0;ON;;;;;N;;;;; +22D3;DOUBLE UNION;Sm;0;ON;;;;;N;;;;; +22D4;PITCHFORK;Sm;0;ON;;;;;N;;;;; +22D5;EQUAL AND PARALLEL TO;Sm;0;ON;;;;;N;;;;; +22D6;LESS-THAN WITH DOT;Sm;0;ON;;;;;Y;LESS THAN WITH DOT;;;; +22D7;GREATER-THAN WITH DOT;Sm;0;ON;;;;;Y;GREATER THAN WITH DOT;;;; +22D8;VERY MUCH LESS-THAN;Sm;0;ON;;;;;Y;VERY MUCH LESS THAN;;;; +22D9;VERY MUCH GREATER-THAN;Sm;0;ON;;;;;Y;VERY MUCH GREATER THAN;;;; +22DA;LESS-THAN EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;LESS THAN EQUAL TO OR GREATER THAN;;;; +22DB;GREATER-THAN EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;GREATER THAN EQUAL TO OR LESS THAN;;;; +22DC;EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR LESS THAN;;;; +22DD;EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;EQUAL TO OR GREATER THAN;;;; +22DE;EQUAL TO OR PRECEDES;Sm;0;ON;;;;;Y;;;;; +22DF;EQUAL TO OR SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +22E0;DOES NOT PRECEDE OR EQUAL;Sm;0;ON;227C 0338;;;;Y;;;;; +22E1;DOES NOT SUCCEED OR EQUAL;Sm;0;ON;227D 0338;;;;Y;;;;; +22E2;NOT SQUARE IMAGE OF OR EQUAL TO;Sm;0;ON;2291 0338;;;;Y;;;;; +22E3;NOT SQUARE ORIGINAL OF OR EQUAL TO;Sm;0;ON;2292 0338;;;;Y;;;;; +22E4;SQUARE IMAGE OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22E5;SQUARE ORIGINAL OF OR NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +22E6;LESS-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;LESS THAN BUT NOT EQUIVALENT TO;;;; +22E7;GREATER-THAN BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;GREATER THAN BUT NOT EQUIVALENT TO;;;; +22E8;PRECEDES BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +22E9;SUCCEEDS BUT NOT EQUIVALENT TO;Sm;0;ON;;;;;Y;;;;; +22EA;NOT NORMAL SUBGROUP OF;Sm;0;ON;22B2 0338;;;;Y;;;;; +22EB;DOES NOT CONTAIN AS NORMAL SUBGROUP;Sm;0;ON;22B3 0338;;;;Y;;;;; +22EC;NOT NORMAL SUBGROUP OF OR EQUAL TO;Sm;0;ON;22B4 0338;;;;Y;;;;; +22ED;DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL;Sm;0;ON;22B5 0338;;;;Y;;;;; +22EE;VERTICAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; +22EF;MIDLINE HORIZONTAL ELLIPSIS;Sm;0;ON;;;;;N;;;;; +22F0;UP RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; +22F1;DOWN RIGHT DIAGONAL ELLIPSIS;Sm;0;ON;;;;;Y;;;;; +22F2;ELEMENT OF WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F3;ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F4;SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22F5;ELEMENT OF WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +22F6;ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22F7;SMALL ELEMENT OF WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22F8;ELEMENT OF WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +22F9;ELEMENT OF WITH TWO HORIZONTAL STROKES;Sm;0;ON;;;;;Y;;;;; +22FA;CONTAINS WITH LONG HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FB;CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FC;SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +22FD;CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22FE;SMALL CONTAINS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +22FF;Z NOTATION BAG MEMBERSHIP;Sm;0;ON;;;;;Y;;;;; +2300;DIAMETER SIGN;So;0;ON;;;;;N;;;;; +2301;ELECTRIC ARROW;So;0;ON;;;;;N;;;;; +2302;HOUSE;So;0;ON;;;;;N;;;;; +2303;UP ARROWHEAD;So;0;ON;;;;;N;;;;; +2304;DOWN ARROWHEAD;So;0;ON;;;;;N;;;;; +2305;PROJECTIVE;So;0;ON;;;;;N;;;;; +2306;PERSPECTIVE;So;0;ON;;;;;N;;;;; +2307;WAVY LINE;So;0;ON;;;;;N;;;;; +2308;LEFT CEILING;Ps;0;ON;;;;;Y;;;;; +2309;RIGHT CEILING;Pe;0;ON;;;;;Y;;;;; +230A;LEFT FLOOR;Ps;0;ON;;;;;Y;;;;; +230B;RIGHT FLOOR;Pe;0;ON;;;;;Y;;;;; +230C;BOTTOM RIGHT CROP;So;0;ON;;;;;N;;;;; +230D;BOTTOM LEFT CROP;So;0;ON;;;;;N;;;;; +230E;TOP RIGHT CROP;So;0;ON;;;;;N;;;;; +230F;TOP LEFT CROP;So;0;ON;;;;;N;;;;; +2310;REVERSED NOT SIGN;So;0;ON;;;;;N;;;;; +2311;SQUARE LOZENGE;So;0;ON;;;;;N;;;;; +2312;ARC;So;0;ON;;;;;N;;;;; +2313;SEGMENT;So;0;ON;;;;;N;;;;; +2314;SECTOR;So;0;ON;;;;;N;;;;; +2315;TELEPHONE RECORDER;So;0;ON;;;;;N;;;;; +2316;POSITION INDICATOR;So;0;ON;;;;;N;;;;; +2317;VIEWDATA SQUARE;So;0;ON;;;;;N;;;;; +2318;PLACE OF INTEREST SIGN;So;0;ON;;;;;N;COMMAND KEY;;;; +2319;TURNED NOT SIGN;So;0;ON;;;;;N;;;;; +231A;WATCH;So;0;ON;;;;;N;;;;; +231B;HOURGLASS;So;0;ON;;;;;N;;;;; +231C;TOP LEFT CORNER;So;0;ON;;;;;N;;;;; +231D;TOP RIGHT CORNER;So;0;ON;;;;;N;;;;; +231E;BOTTOM LEFT CORNER;So;0;ON;;;;;N;;;;; +231F;BOTTOM RIGHT CORNER;So;0;ON;;;;;N;;;;; +2320;TOP HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2321;BOTTOM HALF INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2322;FROWN;So;0;ON;;;;;N;;;;; +2323;SMILE;So;0;ON;;;;;N;;;;; +2324;UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS;So;0;ON;;;;;N;ENTER KEY;;;; +2325;OPTION KEY;So;0;ON;;;;;N;;;;; +2326;ERASE TO THE RIGHT;So;0;ON;;;;;N;DELETE TO THE RIGHT KEY;;;; +2327;X IN A RECTANGLE BOX;So;0;ON;;;;;N;CLEAR KEY;;;; +2328;KEYBOARD;So;0;ON;;;;;N;;;;; +2329;LEFT-POINTING ANGLE BRACKET;Ps;0;ON;3008;;;;Y;BRA;;;; +232A;RIGHT-POINTING ANGLE BRACKET;Pe;0;ON;3009;;;;Y;KET;;;; +232B;ERASE TO THE LEFT;So;0;ON;;;;;N;DELETE TO THE LEFT KEY;;;; +232C;BENZENE RING;So;0;ON;;;;;N;;;;; +232D;CYLINDRICITY;So;0;ON;;;;;N;;;;; +232E;ALL AROUND-PROFILE;So;0;ON;;;;;N;;;;; +232F;SYMMETRY;So;0;ON;;;;;N;;;;; +2330;TOTAL RUNOUT;So;0;ON;;;;;N;;;;; +2331;DIMENSION ORIGIN;So;0;ON;;;;;N;;;;; +2332;CONICAL TAPER;So;0;ON;;;;;N;;;;; +2333;SLOPE;So;0;ON;;;;;N;;;;; +2334;COUNTERBORE;So;0;ON;;;;;N;;;;; +2335;COUNTERSINK;So;0;ON;;;;;N;;;;; +2336;APL FUNCTIONAL SYMBOL I-BEAM;So;0;L;;;;;N;;;;; +2337;APL FUNCTIONAL SYMBOL SQUISH QUAD;So;0;L;;;;;N;;;;; +2338;APL FUNCTIONAL SYMBOL QUAD EQUAL;So;0;L;;;;;N;;;;; +2339;APL FUNCTIONAL SYMBOL QUAD DIVIDE;So;0;L;;;;;N;;;;; +233A;APL FUNCTIONAL SYMBOL QUAD DIAMOND;So;0;L;;;;;N;;;;; +233B;APL FUNCTIONAL SYMBOL QUAD JOT;So;0;L;;;;;N;;;;; +233C;APL FUNCTIONAL SYMBOL QUAD CIRCLE;So;0;L;;;;;N;;;;; +233D;APL FUNCTIONAL SYMBOL CIRCLE STILE;So;0;L;;;;;N;;;;; +233E;APL FUNCTIONAL SYMBOL CIRCLE JOT;So;0;L;;;;;N;;;;; +233F;APL FUNCTIONAL SYMBOL SLASH BAR;So;0;L;;;;;N;;;;; +2340;APL FUNCTIONAL SYMBOL BACKSLASH BAR;So;0;L;;;;;N;;;;; +2341;APL FUNCTIONAL SYMBOL QUAD SLASH;So;0;L;;;;;N;;;;; +2342;APL FUNCTIONAL SYMBOL QUAD BACKSLASH;So;0;L;;;;;N;;;;; +2343;APL FUNCTIONAL SYMBOL QUAD LESS-THAN;So;0;L;;;;;N;;;;; +2344;APL FUNCTIONAL SYMBOL QUAD GREATER-THAN;So;0;L;;;;;N;;;;; +2345;APL FUNCTIONAL SYMBOL LEFTWARDS VANE;So;0;L;;;;;N;;;;; +2346;APL FUNCTIONAL SYMBOL RIGHTWARDS VANE;So;0;L;;;;;N;;;;; +2347;APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW;So;0;L;;;;;N;;;;; +2348;APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW;So;0;L;;;;;N;;;;; +2349;APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH;So;0;L;;;;;N;;;;; +234A;APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR;So;0;L;;;;;N;;;;; +234B;APL FUNCTIONAL SYMBOL DELTA STILE;So;0;L;;;;;N;;;;; +234C;APL FUNCTIONAL SYMBOL QUAD DOWN CARET;So;0;L;;;;;N;;;;; +234D;APL FUNCTIONAL SYMBOL QUAD DELTA;So;0;L;;;;;N;;;;; +234E;APL FUNCTIONAL SYMBOL DOWN TACK JOT;So;0;L;;;;;N;;;;; +234F;APL FUNCTIONAL SYMBOL UPWARDS VANE;So;0;L;;;;;N;;;;; +2350;APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW;So;0;L;;;;;N;;;;; +2351;APL FUNCTIONAL SYMBOL UP TACK OVERBAR;So;0;L;;;;;N;;;;; +2352;APL FUNCTIONAL SYMBOL DEL STILE;So;0;L;;;;;N;;;;; +2353;APL FUNCTIONAL SYMBOL QUAD UP CARET;So;0;L;;;;;N;;;;; +2354;APL FUNCTIONAL SYMBOL QUAD DEL;So;0;L;;;;;N;;;;; +2355;APL FUNCTIONAL SYMBOL UP TACK JOT;So;0;L;;;;;N;;;;; +2356;APL FUNCTIONAL SYMBOL DOWNWARDS VANE;So;0;L;;;;;N;;;;; +2357;APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW;So;0;L;;;;;N;;;;; +2358;APL FUNCTIONAL SYMBOL QUOTE UNDERBAR;So;0;L;;;;;N;;;;; +2359;APL FUNCTIONAL SYMBOL DELTA UNDERBAR;So;0;L;;;;;N;;;;; +235A;APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR;So;0;L;;;;;N;;;;; +235B;APL FUNCTIONAL SYMBOL JOT UNDERBAR;So;0;L;;;;;N;;;;; +235C;APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR;So;0;L;;;;;N;;;;; +235D;APL FUNCTIONAL SYMBOL UP SHOE JOT;So;0;L;;;;;N;;;;; +235E;APL FUNCTIONAL SYMBOL QUOTE QUAD;So;0;L;;;;;N;;;;; +235F;APL FUNCTIONAL SYMBOL CIRCLE STAR;So;0;L;;;;;N;;;;; +2360;APL FUNCTIONAL SYMBOL QUAD COLON;So;0;L;;;;;N;;;;; +2361;APL FUNCTIONAL SYMBOL UP TACK DIAERESIS;So;0;L;;;;;N;;;;; +2362;APL FUNCTIONAL SYMBOL DEL DIAERESIS;So;0;L;;;;;N;;;;; +2363;APL FUNCTIONAL SYMBOL STAR DIAERESIS;So;0;L;;;;;N;;;;; +2364;APL FUNCTIONAL SYMBOL JOT DIAERESIS;So;0;L;;;;;N;;;;; +2365;APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS;So;0;L;;;;;N;;;;; +2366;APL FUNCTIONAL SYMBOL DOWN SHOE STILE;So;0;L;;;;;N;;;;; +2367;APL FUNCTIONAL SYMBOL LEFT SHOE STILE;So;0;L;;;;;N;;;;; +2368;APL FUNCTIONAL SYMBOL TILDE DIAERESIS;So;0;L;;;;;N;;;;; +2369;APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS;So;0;L;;;;;N;;;;; +236A;APL FUNCTIONAL SYMBOL COMMA BAR;So;0;L;;;;;N;;;;; +236B;APL FUNCTIONAL SYMBOL DEL TILDE;So;0;L;;;;;N;;;;; +236C;APL FUNCTIONAL SYMBOL ZILDE;So;0;L;;;;;N;;;;; +236D;APL FUNCTIONAL SYMBOL STILE TILDE;So;0;L;;;;;N;;;;; +236E;APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR;So;0;L;;;;;N;;;;; +236F;APL FUNCTIONAL SYMBOL QUAD NOT EQUAL;So;0;L;;;;;N;;;;; +2370;APL FUNCTIONAL SYMBOL QUAD QUESTION;So;0;L;;;;;N;;;;; +2371;APL FUNCTIONAL SYMBOL DOWN CARET TILDE;So;0;L;;;;;N;;;;; +2372;APL FUNCTIONAL SYMBOL UP CARET TILDE;So;0;L;;;;;N;;;;; +2373;APL FUNCTIONAL SYMBOL IOTA;So;0;L;;;;;N;;;;; +2374;APL FUNCTIONAL SYMBOL RHO;So;0;L;;;;;N;;;;; +2375;APL FUNCTIONAL SYMBOL OMEGA;So;0;L;;;;;N;;;;; +2376;APL FUNCTIONAL SYMBOL ALPHA UNDERBAR;So;0;L;;;;;N;;;;; +2377;APL FUNCTIONAL SYMBOL EPSILON UNDERBAR;So;0;L;;;;;N;;;;; +2378;APL FUNCTIONAL SYMBOL IOTA UNDERBAR;So;0;L;;;;;N;;;;; +2379;APL FUNCTIONAL SYMBOL OMEGA UNDERBAR;So;0;L;;;;;N;;;;; +237A;APL FUNCTIONAL SYMBOL ALPHA;So;0;L;;;;;N;;;;; +237B;NOT CHECK MARK;So;0;ON;;;;;N;;;;; +237C;RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW;Sm;0;ON;;;;;N;;;;; +237D;SHOULDERED OPEN BOX;So;0;ON;;;;;N;;;;; +237E;BELL SYMBOL;So;0;ON;;;;;N;;;;; +237F;VERTICAL LINE WITH MIDDLE DOT;So;0;ON;;;;;N;;;;; +2380;INSERTION SYMBOL;So;0;ON;;;;;N;;;;; +2381;CONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; +2382;DISCONTINUOUS UNDERLINE SYMBOL;So;0;ON;;;;;N;;;;; +2383;EMPHASIS SYMBOL;So;0;ON;;;;;N;;;;; +2384;COMPOSITION SYMBOL;So;0;ON;;;;;N;;;;; +2385;WHITE SQUARE WITH CENTRE VERTICAL LINE;So;0;ON;;;;;N;;;;; +2386;ENTER SYMBOL;So;0;ON;;;;;N;;;;; +2387;ALTERNATIVE KEY SYMBOL;So;0;ON;;;;;N;;;;; +2388;HELM SYMBOL;So;0;ON;;;;;N;;;;; +2389;CIRCLED HORIZONTAL BAR WITH NOTCH;So;0;ON;;;;;N;;;;; +238A;CIRCLED TRIANGLE DOWN;So;0;ON;;;;;N;;;;; +238B;BROKEN CIRCLE WITH NORTHWEST ARROW;So;0;ON;;;;;N;;;;; +238C;UNDO SYMBOL;So;0;ON;;;;;N;;;;; +238D;MONOSTABLE SYMBOL;So;0;ON;;;;;N;;;;; +238E;HYSTERESIS SYMBOL;So;0;ON;;;;;N;;;;; +238F;OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL;So;0;ON;;;;;N;;;;; +2390;OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL;So;0;ON;;;;;N;;;;; +2391;PASSIVE-PULL-DOWN-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; +2392;PASSIVE-PULL-UP-OUTPUT SYMBOL;So;0;ON;;;;;N;;;;; +2393;DIRECT CURRENT SYMBOL FORM TWO;So;0;ON;;;;;N;;;;; +2394;SOFTWARE-FUNCTION SYMBOL;So;0;ON;;;;;N;;;;; +2395;APL FUNCTIONAL SYMBOL QUAD;So;0;L;;;;;N;;;;; +2396;DECIMAL SEPARATOR KEY SYMBOL;So;0;ON;;;;;N;;;;; +2397;PREVIOUS PAGE;So;0;ON;;;;;N;;;;; +2398;NEXT PAGE;So;0;ON;;;;;N;;;;; +2399;PRINT SCREEN SYMBOL;So;0;ON;;;;;N;;;;; +239A;CLEAR SCREEN SYMBOL;So;0;ON;;;;;N;;;;; +239B;LEFT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; +239C;LEFT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; +239D;LEFT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; +239E;RIGHT PARENTHESIS UPPER HOOK;Sm;0;ON;;;;;N;;;;; +239F;RIGHT PARENTHESIS EXTENSION;Sm;0;ON;;;;;N;;;;; +23A0;RIGHT PARENTHESIS LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23A1;LEFT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; +23A2;LEFT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23A3;LEFT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; +23A4;RIGHT SQUARE BRACKET UPPER CORNER;Sm;0;ON;;;;;N;;;;; +23A5;RIGHT SQUARE BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23A6;RIGHT SQUARE BRACKET LOWER CORNER;Sm;0;ON;;;;;N;;;;; +23A7;LEFT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; +23A8;LEFT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; +23A9;LEFT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23AA;CURLY BRACKET EXTENSION;Sm;0;ON;;;;;N;;;;; +23AB;RIGHT CURLY BRACKET UPPER HOOK;Sm;0;ON;;;;;N;;;;; +23AC;RIGHT CURLY BRACKET MIDDLE PIECE;Sm;0;ON;;;;;N;;;;; +23AD;RIGHT CURLY BRACKET LOWER HOOK;Sm;0;ON;;;;;N;;;;; +23AE;INTEGRAL EXTENSION;Sm;0;ON;;;;;N;;;;; +23AF;HORIZONTAL LINE EXTENSION;Sm;0;ON;;;;;N;;;;; +23B0;UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; +23B1;UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION;Sm;0;ON;;;;;N;;;;; +23B2;SUMMATION TOP;Sm;0;ON;;;;;N;;;;; +23B3;SUMMATION BOTTOM;Sm;0;ON;;;;;N;;;;; +23B4;TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B5;BOTTOM SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B6;BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET;So;0;ON;;;;;N;;;;; +23B7;RADICAL SYMBOL BOTTOM;So;0;ON;;;;;N;;;;; +23B8;LEFT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; +23B9;RIGHT VERTICAL BOX LINE;So;0;ON;;;;;N;;;;; +23BA;HORIZONTAL SCAN LINE-1;So;0;ON;;;;;N;;;;; +23BB;HORIZONTAL SCAN LINE-3;So;0;ON;;;;;N;;;;; +23BC;HORIZONTAL SCAN LINE-7;So;0;ON;;;;;N;;;;; +23BD;HORIZONTAL SCAN LINE-9;So;0;ON;;;;;N;;;;; +23BE;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT;So;0;ON;;;;;N;;;;; +23BF;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT;So;0;ON;;;;;N;;;;; +23C0;DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C1;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C2;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE;So;0;ON;;;;;N;;;;; +23C3;DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C4;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C5;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE;So;0;ON;;;;;N;;;;; +23C6;DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE;So;0;ON;;;;;N;;;;; +23C7;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; +23C8;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE;So;0;ON;;;;;N;;;;; +23C9;DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;;;;; +23CA;DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;;;;; +23CB;DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT;So;0;ON;;;;;N;;;;; +23CC;DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT;So;0;ON;;;;;N;;;;; +23CD;SQUARE FOOT;So;0;ON;;;;;N;;;;; +23CE;RETURN SYMBOL;So;0;ON;;;;;N;;;;; +23CF;EJECT SYMBOL;So;0;ON;;;;;N;;;;; +23D0;VERTICAL LINE EXTENSION;So;0;ON;;;;;N;;;;; +23D1;METRICAL BREVE;So;0;ON;;;;;N;;;;; +23D2;METRICAL LONG OVER SHORT;So;0;ON;;;;;N;;;;; +23D3;METRICAL SHORT OVER LONG;So;0;ON;;;;;N;;;;; +23D4;METRICAL LONG OVER TWO SHORTS;So;0;ON;;;;;N;;;;; +23D5;METRICAL TWO SHORTS OVER LONG;So;0;ON;;;;;N;;;;; +23D6;METRICAL TWO SHORTS JOINED;So;0;ON;;;;;N;;;;; +23D7;METRICAL TRISEME;So;0;ON;;;;;N;;;;; +23D8;METRICAL TETRASEME;So;0;ON;;;;;N;;;;; +23D9;METRICAL PENTASEME;So;0;ON;;;;;N;;;;; +23DA;EARTH GROUND;So;0;ON;;;;;N;;;;; +23DB;FUSE;So;0;ON;;;;;N;;;;; +23DC;TOP PARENTHESIS;Sm;0;ON;;;;;N;;;;; +23DD;BOTTOM PARENTHESIS;Sm;0;ON;;;;;N;;;;; +23DE;TOP CURLY BRACKET;Sm;0;ON;;;;;N;;;;; +23DF;BOTTOM CURLY BRACKET;Sm;0;ON;;;;;N;;;;; +23E0;TOP TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;; +23E1;BOTTOM TORTOISE SHELL BRACKET;Sm;0;ON;;;;;N;;;;; +23E2;WHITE TRAPEZIUM;So;0;ON;;;;;N;;;;; +23E3;BENZENE RING WITH CIRCLE;So;0;ON;;;;;N;;;;; +23E4;STRAIGHTNESS;So;0;ON;;;;;N;;;;; +23E5;FLATNESS;So;0;ON;;;;;N;;;;; +23E6;AC CURRENT;So;0;ON;;;;;N;;;;; +23E7;ELECTRICAL INTERSECTION;So;0;ON;;;;;N;;;;; +23E8;DECIMAL EXPONENT SYMBOL;So;0;ON;;;;;N;;;;; +23E9;BLACK RIGHT-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;; +23EA;BLACK LEFT-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;; +23EB;BLACK UP-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;; +23EC;BLACK DOWN-POINTING DOUBLE TRIANGLE;So;0;ON;;;;;N;;;;; +23ED;BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; +23EE;BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR;So;0;ON;;;;;N;;;;; +23EF;BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;; +23F0;ALARM CLOCK;So;0;ON;;;;;N;;;;; +23F1;STOPWATCH;So;0;ON;;;;;N;;;;; +23F2;TIMER CLOCK;So;0;ON;;;;;N;;;;; +23F3;HOURGLASS WITH FLOWING SAND;So;0;ON;;;;;N;;;;; +23F4;BLACK MEDIUM LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;; +23F5;BLACK MEDIUM RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;;;;; +23F6;BLACK MEDIUM UP-POINTING TRIANGLE;So;0;ON;;;;;N;;;;; +23F7;BLACK MEDIUM DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;; +23F8;DOUBLE VERTICAL BAR;So;0;ON;;;;;N;;;;; +23F9;BLACK SQUARE FOR STOP;So;0;ON;;;;;N;;;;; +23FA;BLACK CIRCLE FOR RECORD;So;0;ON;;;;;N;;;;; +23FB;POWER SYMBOL;So;0;ON;;;;;N;;;;; +23FC;POWER ON-OFF SYMBOL;So;0;ON;;;;;N;;;;; +23FD;POWER ON SYMBOL;So;0;ON;;;;;N;;;;; +23FE;POWER SLEEP SYMBOL;So;0;ON;;;;;N;;;;; +23FF;OBSERVER EYE SYMBOL;So;0;ON;;;;;N;;;;; +2400;SYMBOL FOR NULL;So;0;ON;;;;;N;GRAPHIC FOR NULL;;;; +2401;SYMBOL FOR START OF HEADING;So;0;ON;;;;;N;GRAPHIC FOR START OF HEADING;;;; +2402;SYMBOL FOR START OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR START OF TEXT;;;; +2403;SYMBOL FOR END OF TEXT;So;0;ON;;;;;N;GRAPHIC FOR END OF TEXT;;;; +2404;SYMBOL FOR END OF TRANSMISSION;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION;;;; +2405;SYMBOL FOR ENQUIRY;So;0;ON;;;;;N;GRAPHIC FOR ENQUIRY;;;; +2406;SYMBOL FOR ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR ACKNOWLEDGE;;;; +2407;SYMBOL FOR BELL;So;0;ON;;;;;N;GRAPHIC FOR BELL;;;; +2408;SYMBOL FOR BACKSPACE;So;0;ON;;;;;N;GRAPHIC FOR BACKSPACE;;;; +2409;SYMBOL FOR HORIZONTAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR HORIZONTAL TABULATION;;;; +240A;SYMBOL FOR LINE FEED;So;0;ON;;;;;N;GRAPHIC FOR LINE FEED;;;; +240B;SYMBOL FOR VERTICAL TABULATION;So;0;ON;;;;;N;GRAPHIC FOR VERTICAL TABULATION;;;; +240C;SYMBOL FOR FORM FEED;So;0;ON;;;;;N;GRAPHIC FOR FORM FEED;;;; +240D;SYMBOL FOR CARRIAGE RETURN;So;0;ON;;;;;N;GRAPHIC FOR CARRIAGE RETURN;;;; +240E;SYMBOL FOR SHIFT OUT;So;0;ON;;;;;N;GRAPHIC FOR SHIFT OUT;;;; +240F;SYMBOL FOR SHIFT IN;So;0;ON;;;;;N;GRAPHIC FOR SHIFT IN;;;; +2410;SYMBOL FOR DATA LINK ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR DATA LINK ESCAPE;;;; +2411;SYMBOL FOR DEVICE CONTROL ONE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL ONE;;;; +2412;SYMBOL FOR DEVICE CONTROL TWO;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL TWO;;;; +2413;SYMBOL FOR DEVICE CONTROL THREE;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL THREE;;;; +2414;SYMBOL FOR DEVICE CONTROL FOUR;So;0;ON;;;;;N;GRAPHIC FOR DEVICE CONTROL FOUR;;;; +2415;SYMBOL FOR NEGATIVE ACKNOWLEDGE;So;0;ON;;;;;N;GRAPHIC FOR NEGATIVE ACKNOWLEDGE;;;; +2416;SYMBOL FOR SYNCHRONOUS IDLE;So;0;ON;;;;;N;GRAPHIC FOR SYNCHRONOUS IDLE;;;; +2417;SYMBOL FOR END OF TRANSMISSION BLOCK;So;0;ON;;;;;N;GRAPHIC FOR END OF TRANSMISSION BLOCK;;;; +2418;SYMBOL FOR CANCEL;So;0;ON;;;;;N;GRAPHIC FOR CANCEL;;;; +2419;SYMBOL FOR END OF MEDIUM;So;0;ON;;;;;N;GRAPHIC FOR END OF MEDIUM;;;; +241A;SYMBOL FOR SUBSTITUTE;So;0;ON;;;;;N;GRAPHIC FOR SUBSTITUTE;;;; +241B;SYMBOL FOR ESCAPE;So;0;ON;;;;;N;GRAPHIC FOR ESCAPE;;;; +241C;SYMBOL FOR FILE SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR FILE SEPARATOR;;;; +241D;SYMBOL FOR GROUP SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR GROUP SEPARATOR;;;; +241E;SYMBOL FOR RECORD SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR RECORD SEPARATOR;;;; +241F;SYMBOL FOR UNIT SEPARATOR;So;0;ON;;;;;N;GRAPHIC FOR UNIT SEPARATOR;;;; +2420;SYMBOL FOR SPACE;So;0;ON;;;;;N;GRAPHIC FOR SPACE;;;; +2421;SYMBOL FOR DELETE;So;0;ON;;;;;N;GRAPHIC FOR DELETE;;;; +2422;BLANK SYMBOL;So;0;ON;;;;;N;BLANK;;;; +2423;OPEN BOX;So;0;ON;;;;;N;;;;; +2424;SYMBOL FOR NEWLINE;So;0;ON;;;;;N;GRAPHIC FOR NEWLINE;;;; +2425;SYMBOL FOR DELETE FORM TWO;So;0;ON;;;;;N;;;;; +2426;SYMBOL FOR SUBSTITUTE FORM TWO;So;0;ON;;;;;N;;;;; +2440;OCR HOOK;So;0;ON;;;;;N;;;;; +2441;OCR CHAIR;So;0;ON;;;;;N;;;;; +2442;OCR FORK;So;0;ON;;;;;N;;;;; +2443;OCR INVERTED FORK;So;0;ON;;;;;N;;;;; +2444;OCR BELT BUCKLE;So;0;ON;;;;;N;;;;; +2445;OCR BOW TIE;So;0;ON;;;;;N;;;;; +2446;OCR BRANCH BANK IDENTIFICATION;So;0;ON;;;;;N;;;;; +2447;OCR AMOUNT OF CHECK;So;0;ON;;;;;N;;;;; +2448;OCR DASH;So;0;ON;;;;;N;;;;; +2449;OCR CUSTOMER ACCOUNT NUMBER;So;0;ON;;;;;N;;;;; +244A;OCR DOUBLE BACKSLASH;So;0;ON;;;;;N;;;;; +2460;CIRCLED DIGIT ONE;No;0;ON; 0031;;1;1;N;;;;; +2461;CIRCLED DIGIT TWO;No;0;ON; 0032;;2;2;N;;;;; +2462;CIRCLED DIGIT THREE;No;0;ON; 0033;;3;3;N;;;;; +2463;CIRCLED DIGIT FOUR;No;0;ON; 0034;;4;4;N;;;;; +2464;CIRCLED DIGIT FIVE;No;0;ON; 0035;;5;5;N;;;;; +2465;CIRCLED DIGIT SIX;No;0;ON; 0036;;6;6;N;;;;; +2466;CIRCLED DIGIT SEVEN;No;0;ON; 0037;;7;7;N;;;;; +2467;CIRCLED DIGIT EIGHT;No;0;ON; 0038;;8;8;N;;;;; +2468;CIRCLED DIGIT NINE;No;0;ON; 0039;;9;9;N;;;;; +2469;CIRCLED NUMBER TEN;No;0;ON; 0031 0030;;;10;N;;;;; +246A;CIRCLED NUMBER ELEVEN;No;0;ON; 0031 0031;;;11;N;;;;; +246B;CIRCLED NUMBER TWELVE;No;0;ON; 0031 0032;;;12;N;;;;; +246C;CIRCLED NUMBER THIRTEEN;No;0;ON; 0031 0033;;;13;N;;;;; +246D;CIRCLED NUMBER FOURTEEN;No;0;ON; 0031 0034;;;14;N;;;;; +246E;CIRCLED NUMBER FIFTEEN;No;0;ON; 0031 0035;;;15;N;;;;; +246F;CIRCLED NUMBER SIXTEEN;No;0;ON; 0031 0036;;;16;N;;;;; +2470;CIRCLED NUMBER SEVENTEEN;No;0;ON; 0031 0037;;;17;N;;;;; +2471;CIRCLED NUMBER EIGHTEEN;No;0;ON; 0031 0038;;;18;N;;;;; +2472;CIRCLED NUMBER NINETEEN;No;0;ON; 0031 0039;;;19;N;;;;; +2473;CIRCLED NUMBER TWENTY;No;0;ON; 0032 0030;;;20;N;;;;; +2474;PARENTHESIZED DIGIT ONE;No;0;ON; 0028 0031 0029;;1;1;N;;;;; +2475;PARENTHESIZED DIGIT TWO;No;0;ON; 0028 0032 0029;;2;2;N;;;;; +2476;PARENTHESIZED DIGIT THREE;No;0;ON; 0028 0033 0029;;3;3;N;;;;; +2477;PARENTHESIZED DIGIT FOUR;No;0;ON; 0028 0034 0029;;4;4;N;;;;; +2478;PARENTHESIZED DIGIT FIVE;No;0;ON; 0028 0035 0029;;5;5;N;;;;; +2479;PARENTHESIZED DIGIT SIX;No;0;ON; 0028 0036 0029;;6;6;N;;;;; +247A;PARENTHESIZED DIGIT SEVEN;No;0;ON; 0028 0037 0029;;7;7;N;;;;; +247B;PARENTHESIZED DIGIT EIGHT;No;0;ON; 0028 0038 0029;;8;8;N;;;;; +247C;PARENTHESIZED DIGIT NINE;No;0;ON; 0028 0039 0029;;9;9;N;;;;; +247D;PARENTHESIZED NUMBER TEN;No;0;ON; 0028 0031 0030 0029;;;10;N;;;;; +247E;PARENTHESIZED NUMBER ELEVEN;No;0;ON; 0028 0031 0031 0029;;;11;N;;;;; +247F;PARENTHESIZED NUMBER TWELVE;No;0;ON; 0028 0031 0032 0029;;;12;N;;;;; +2480;PARENTHESIZED NUMBER THIRTEEN;No;0;ON; 0028 0031 0033 0029;;;13;N;;;;; +2481;PARENTHESIZED NUMBER FOURTEEN;No;0;ON; 0028 0031 0034 0029;;;14;N;;;;; +2482;PARENTHESIZED NUMBER FIFTEEN;No;0;ON; 0028 0031 0035 0029;;;15;N;;;;; +2483;PARENTHESIZED NUMBER SIXTEEN;No;0;ON; 0028 0031 0036 0029;;;16;N;;;;; +2484;PARENTHESIZED NUMBER SEVENTEEN;No;0;ON; 0028 0031 0037 0029;;;17;N;;;;; +2485;PARENTHESIZED NUMBER EIGHTEEN;No;0;ON; 0028 0031 0038 0029;;;18;N;;;;; +2486;PARENTHESIZED NUMBER NINETEEN;No;0;ON; 0028 0031 0039 0029;;;19;N;;;;; +2487;PARENTHESIZED NUMBER TWENTY;No;0;ON; 0028 0032 0030 0029;;;20;N;;;;; +2488;DIGIT ONE FULL STOP;No;0;EN; 0031 002E;;1;1;N;DIGIT ONE PERIOD;;;; +2489;DIGIT TWO FULL STOP;No;0;EN; 0032 002E;;2;2;N;DIGIT TWO PERIOD;;;; +248A;DIGIT THREE FULL STOP;No;0;EN; 0033 002E;;3;3;N;DIGIT THREE PERIOD;;;; +248B;DIGIT FOUR FULL STOP;No;0;EN; 0034 002E;;4;4;N;DIGIT FOUR PERIOD;;;; +248C;DIGIT FIVE FULL STOP;No;0;EN; 0035 002E;;5;5;N;DIGIT FIVE PERIOD;;;; +248D;DIGIT SIX FULL STOP;No;0;EN; 0036 002E;;6;6;N;DIGIT SIX PERIOD;;;; +248E;DIGIT SEVEN FULL STOP;No;0;EN; 0037 002E;;7;7;N;DIGIT SEVEN PERIOD;;;; +248F;DIGIT EIGHT FULL STOP;No;0;EN; 0038 002E;;8;8;N;DIGIT EIGHT PERIOD;;;; +2490;DIGIT NINE FULL STOP;No;0;EN; 0039 002E;;9;9;N;DIGIT NINE PERIOD;;;; +2491;NUMBER TEN FULL STOP;No;0;EN; 0031 0030 002E;;;10;N;NUMBER TEN PERIOD;;;; +2492;NUMBER ELEVEN FULL STOP;No;0;EN; 0031 0031 002E;;;11;N;NUMBER ELEVEN PERIOD;;;; +2493;NUMBER TWELVE FULL STOP;No;0;EN; 0031 0032 002E;;;12;N;NUMBER TWELVE PERIOD;;;; +2494;NUMBER THIRTEEN FULL STOP;No;0;EN; 0031 0033 002E;;;13;N;NUMBER THIRTEEN PERIOD;;;; +2495;NUMBER FOURTEEN FULL STOP;No;0;EN; 0031 0034 002E;;;14;N;NUMBER FOURTEEN PERIOD;;;; +2496;NUMBER FIFTEEN FULL STOP;No;0;EN; 0031 0035 002E;;;15;N;NUMBER FIFTEEN PERIOD;;;; +2497;NUMBER SIXTEEN FULL STOP;No;0;EN; 0031 0036 002E;;;16;N;NUMBER SIXTEEN PERIOD;;;; +2498;NUMBER SEVENTEEN FULL STOP;No;0;EN; 0031 0037 002E;;;17;N;NUMBER SEVENTEEN PERIOD;;;; +2499;NUMBER EIGHTEEN FULL STOP;No;0;EN; 0031 0038 002E;;;18;N;NUMBER EIGHTEEN PERIOD;;;; +249A;NUMBER NINETEEN FULL STOP;No;0;EN; 0031 0039 002E;;;19;N;NUMBER NINETEEN PERIOD;;;; +249B;NUMBER TWENTY FULL STOP;No;0;EN; 0032 0030 002E;;;20;N;NUMBER TWENTY PERIOD;;;; +249C;PARENTHESIZED LATIN SMALL LETTER A;So;0;L; 0028 0061 0029;;;;N;;;;; +249D;PARENTHESIZED LATIN SMALL LETTER B;So;0;L; 0028 0062 0029;;;;N;;;;; +249E;PARENTHESIZED LATIN SMALL LETTER C;So;0;L; 0028 0063 0029;;;;N;;;;; +249F;PARENTHESIZED LATIN SMALL LETTER D;So;0;L; 0028 0064 0029;;;;N;;;;; +24A0;PARENTHESIZED LATIN SMALL LETTER E;So;0;L; 0028 0065 0029;;;;N;;;;; +24A1;PARENTHESIZED LATIN SMALL LETTER F;So;0;L; 0028 0066 0029;;;;N;;;;; +24A2;PARENTHESIZED LATIN SMALL LETTER G;So;0;L; 0028 0067 0029;;;;N;;;;; +24A3;PARENTHESIZED LATIN SMALL LETTER H;So;0;L; 0028 0068 0029;;;;N;;;;; +24A4;PARENTHESIZED LATIN SMALL LETTER I;So;0;L; 0028 0069 0029;;;;N;;;;; +24A5;PARENTHESIZED LATIN SMALL LETTER J;So;0;L; 0028 006A 0029;;;;N;;;;; +24A6;PARENTHESIZED LATIN SMALL LETTER K;So;0;L; 0028 006B 0029;;;;N;;;;; +24A7;PARENTHESIZED LATIN SMALL LETTER L;So;0;L; 0028 006C 0029;;;;N;;;;; +24A8;PARENTHESIZED LATIN SMALL LETTER M;So;0;L; 0028 006D 0029;;;;N;;;;; +24A9;PARENTHESIZED LATIN SMALL LETTER N;So;0;L; 0028 006E 0029;;;;N;;;;; +24AA;PARENTHESIZED LATIN SMALL LETTER O;So;0;L; 0028 006F 0029;;;;N;;;;; +24AB;PARENTHESIZED LATIN SMALL LETTER P;So;0;L; 0028 0070 0029;;;;N;;;;; +24AC;PARENTHESIZED LATIN SMALL LETTER Q;So;0;L; 0028 0071 0029;;;;N;;;;; +24AD;PARENTHESIZED LATIN SMALL LETTER R;So;0;L; 0028 0072 0029;;;;N;;;;; +24AE;PARENTHESIZED LATIN SMALL LETTER S;So;0;L; 0028 0073 0029;;;;N;;;;; +24AF;PARENTHESIZED LATIN SMALL LETTER T;So;0;L; 0028 0074 0029;;;;N;;;;; +24B0;PARENTHESIZED LATIN SMALL LETTER U;So;0;L; 0028 0075 0029;;;;N;;;;; +24B1;PARENTHESIZED LATIN SMALL LETTER V;So;0;L; 0028 0076 0029;;;;N;;;;; +24B2;PARENTHESIZED LATIN SMALL LETTER W;So;0;L; 0028 0077 0029;;;;N;;;;; +24B3;PARENTHESIZED LATIN SMALL LETTER X;So;0;L; 0028 0078 0029;;;;N;;;;; +24B4;PARENTHESIZED LATIN SMALL LETTER Y;So;0;L; 0028 0079 0029;;;;N;;;;; +24B5;PARENTHESIZED LATIN SMALL LETTER Z;So;0;L; 0028 007A 0029;;;;N;;;;; +24B6;CIRCLED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;24D0; +24B7;CIRCLED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;24D1; +24B8;CIRCLED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;24D2; +24B9;CIRCLED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;24D3; +24BA;CIRCLED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;24D4; +24BB;CIRCLED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;24D5; +24BC;CIRCLED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;24D6; +24BD;CIRCLED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;24D7; +24BE;CIRCLED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;24D8; +24BF;CIRCLED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;24D9; +24C0;CIRCLED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;24DA; +24C1;CIRCLED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;24DB; +24C2;CIRCLED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;24DC; +24C3;CIRCLED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;24DD; +24C4;CIRCLED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;24DE; +24C5;CIRCLED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;24DF; +24C6;CIRCLED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;24E0; +24C7;CIRCLED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;24E1; +24C8;CIRCLED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;24E2; +24C9;CIRCLED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;24E3; +24CA;CIRCLED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;24E4; +24CB;CIRCLED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;24E5; +24CC;CIRCLED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;24E6; +24CD;CIRCLED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;24E7; +24CE;CIRCLED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;24E8; +24CF;CIRCLED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;24E9; +24D0;CIRCLED LATIN SMALL LETTER A;So;0;L; 0061;;;;N;;;24B6;;24B6 +24D1;CIRCLED LATIN SMALL LETTER B;So;0;L; 0062;;;;N;;;24B7;;24B7 +24D2;CIRCLED LATIN SMALL LETTER C;So;0;L; 0063;;;;N;;;24B8;;24B8 +24D3;CIRCLED LATIN SMALL LETTER D;So;0;L; 0064;;;;N;;;24B9;;24B9 +24D4;CIRCLED LATIN SMALL LETTER E;So;0;L; 0065;;;;N;;;24BA;;24BA +24D5;CIRCLED LATIN SMALL LETTER F;So;0;L; 0066;;;;N;;;24BB;;24BB +24D6;CIRCLED LATIN SMALL LETTER G;So;0;L; 0067;;;;N;;;24BC;;24BC +24D7;CIRCLED LATIN SMALL LETTER H;So;0;L; 0068;;;;N;;;24BD;;24BD +24D8;CIRCLED LATIN SMALL LETTER I;So;0;L; 0069;;;;N;;;24BE;;24BE +24D9;CIRCLED LATIN SMALL LETTER J;So;0;L; 006A;;;;N;;;24BF;;24BF +24DA;CIRCLED LATIN SMALL LETTER K;So;0;L; 006B;;;;N;;;24C0;;24C0 +24DB;CIRCLED LATIN SMALL LETTER L;So;0;L; 006C;;;;N;;;24C1;;24C1 +24DC;CIRCLED LATIN SMALL LETTER M;So;0;L; 006D;;;;N;;;24C2;;24C2 +24DD;CIRCLED LATIN SMALL LETTER N;So;0;L; 006E;;;;N;;;24C3;;24C3 +24DE;CIRCLED LATIN SMALL LETTER O;So;0;L; 006F;;;;N;;;24C4;;24C4 +24DF;CIRCLED LATIN SMALL LETTER P;So;0;L; 0070;;;;N;;;24C5;;24C5 +24E0;CIRCLED LATIN SMALL LETTER Q;So;0;L; 0071;;;;N;;;24C6;;24C6 +24E1;CIRCLED LATIN SMALL LETTER R;So;0;L; 0072;;;;N;;;24C7;;24C7 +24E2;CIRCLED LATIN SMALL LETTER S;So;0;L; 0073;;;;N;;;24C8;;24C8 +24E3;CIRCLED LATIN SMALL LETTER T;So;0;L; 0074;;;;N;;;24C9;;24C9 +24E4;CIRCLED LATIN SMALL LETTER U;So;0;L; 0075;;;;N;;;24CA;;24CA +24E5;CIRCLED LATIN SMALL LETTER V;So;0;L; 0076;;;;N;;;24CB;;24CB +24E6;CIRCLED LATIN SMALL LETTER W;So;0;L; 0077;;;;N;;;24CC;;24CC +24E7;CIRCLED LATIN SMALL LETTER X;So;0;L; 0078;;;;N;;;24CD;;24CD +24E8;CIRCLED LATIN SMALL LETTER Y;So;0;L; 0079;;;;N;;;24CE;;24CE +24E9;CIRCLED LATIN SMALL LETTER Z;So;0;L; 007A;;;;N;;;24CF;;24CF +24EA;CIRCLED DIGIT ZERO;No;0;ON; 0030;;0;0;N;;;;; +24EB;NEGATIVE CIRCLED NUMBER ELEVEN;No;0;ON;;;;11;N;;;;; +24EC;NEGATIVE CIRCLED NUMBER TWELVE;No;0;ON;;;;12;N;;;;; +24ED;NEGATIVE CIRCLED NUMBER THIRTEEN;No;0;ON;;;;13;N;;;;; +24EE;NEGATIVE CIRCLED NUMBER FOURTEEN;No;0;ON;;;;14;N;;;;; +24EF;NEGATIVE CIRCLED NUMBER FIFTEEN;No;0;ON;;;;15;N;;;;; +24F0;NEGATIVE CIRCLED NUMBER SIXTEEN;No;0;ON;;;;16;N;;;;; +24F1;NEGATIVE CIRCLED NUMBER SEVENTEEN;No;0;ON;;;;17;N;;;;; +24F2;NEGATIVE CIRCLED NUMBER EIGHTEEN;No;0;ON;;;;18;N;;;;; +24F3;NEGATIVE CIRCLED NUMBER NINETEEN;No;0;ON;;;;19;N;;;;; +24F4;NEGATIVE CIRCLED NUMBER TWENTY;No;0;ON;;;;20;N;;;;; +24F5;DOUBLE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;;;;; +24F6;DOUBLE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;;;;; +24F7;DOUBLE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;;;;; +24F8;DOUBLE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;;;;; +24F9;DOUBLE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;;;;; +24FA;DOUBLE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;;;;; +24FB;DOUBLE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;;;;; +24FC;DOUBLE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;;;;; +24FD;DOUBLE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;;;;; +24FE;DOUBLE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;;;;; +24FF;NEGATIVE CIRCLED DIGIT ZERO;No;0;ON;;;0;0;N;;;;; +2500;BOX DRAWINGS LIGHT HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT HORIZONTAL;;;; +2501;BOX DRAWINGS HEAVY HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY HORIZONTAL;;;; +2502;BOX DRAWINGS LIGHT VERTICAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL;;;; +2503;BOX DRAWINGS HEAVY VERTICAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL;;;; +2504;BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH HORIZONTAL;;;; +2505;BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH HORIZONTAL;;;; +2506;BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT TRIPLE DASH VERTICAL;;;; +2507;BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY TRIPLE DASH VERTICAL;;;; +2508;BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH HORIZONTAL;;;; +2509;BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH HORIZONTAL;;;; +250A;BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT QUADRUPLE DASH VERTICAL;;;; +250B;BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY QUADRUPLE DASH VERTICAL;;;; +250C;BOX DRAWINGS LIGHT DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND RIGHT;;;; +250D;BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT HEAVY;;;; +250E;BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT LIGHT;;;; +250F;BOX DRAWINGS HEAVY DOWN AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND RIGHT;;;; +2510;BOX DRAWINGS LIGHT DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT DOWN AND LEFT;;;; +2511;BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT HEAVY;;;; +2512;BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT LIGHT;;;; +2513;BOX DRAWINGS HEAVY DOWN AND LEFT;So;0;ON;;;;;N;FORMS HEAVY DOWN AND LEFT;;;; +2514;BOX DRAWINGS LIGHT UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT UP AND RIGHT;;;; +2515;BOX DRAWINGS UP LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT HEAVY;;;; +2516;BOX DRAWINGS UP HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT LIGHT;;;; +2517;BOX DRAWINGS HEAVY UP AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY UP AND RIGHT;;;; +2518;BOX DRAWINGS LIGHT UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT UP AND LEFT;;;; +2519;BOX DRAWINGS UP LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT HEAVY;;;; +251A;BOX DRAWINGS UP HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT LIGHT;;;; +251B;BOX DRAWINGS HEAVY UP AND LEFT;So;0;ON;;;;;N;FORMS HEAVY UP AND LEFT;;;; +251C;BOX DRAWINGS LIGHT VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND RIGHT;;;; +251D;BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND RIGHT HEAVY;;;; +251E;BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND RIGHT DOWN LIGHT;;;; +251F;BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND RIGHT UP LIGHT;;;; +2520;BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND RIGHT LIGHT;;;; +2521;BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND RIGHT UP HEAVY;;;; +2522;BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND RIGHT DOWN HEAVY;;;; +2523;BOX DRAWINGS HEAVY VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND RIGHT;;;; +2524;BOX DRAWINGS LIGHT VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND LEFT;;;; +2525;BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND LEFT HEAVY;;;; +2526;BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND LEFT DOWN LIGHT;;;; +2527;BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND LEFT UP LIGHT;;;; +2528;BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND LEFT LIGHT;;;; +2529;BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND LEFT UP HEAVY;;;; +252A;BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND LEFT DOWN HEAVY;;;; +252B;BOX DRAWINGS HEAVY VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND LEFT;;;; +252C;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOWN AND HORIZONTAL;;;; +252D;BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT DOWN LIGHT;;;; +252E;BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT DOWN LIGHT;;;; +252F;BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND HORIZONTAL HEAVY;;;; +2530;BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND HORIZONTAL LIGHT;;;; +2531;BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT DOWN HEAVY;;;; +2532;BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT DOWN HEAVY;;;; +2533;BOX DRAWINGS HEAVY DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOWN AND HORIZONTAL;;;; +2534;BOX DRAWINGS LIGHT UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT UP AND HORIZONTAL;;;; +2535;BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT UP LIGHT;;;; +2536;BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT UP LIGHT;;;; +2537;BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND HORIZONTAL HEAVY;;;; +2538;BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND HORIZONTAL LIGHT;;;; +2539;BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT UP HEAVY;;;; +253A;BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT UP HEAVY;;;; +253B;BOX DRAWINGS HEAVY UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY UP AND HORIZONTAL;;;; +253C;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT VERTICAL AND HORIZONTAL;;;; +253D;BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS LEFT HEAVY AND RIGHT VERTICAL LIGHT;;;; +253E;BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT;So;0;ON;;;;;N;FORMS RIGHT HEAVY AND LEFT VERTICAL LIGHT;;;; +253F;BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS VERTICAL LIGHT AND HORIZONTAL HEAVY;;;; +2540;BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS UP HEAVY AND DOWN HORIZONTAL LIGHT;;;; +2541;BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS DOWN HEAVY AND UP HORIZONTAL LIGHT;;;; +2542;BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT;So;0;ON;;;;;N;FORMS VERTICAL HEAVY AND HORIZONTAL LIGHT;;;; +2543;BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT;So;0;ON;;;;;N;FORMS LEFT UP HEAVY AND RIGHT DOWN LIGHT;;;; +2544;BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT;So;0;ON;;;;;N;FORMS RIGHT UP HEAVY AND LEFT DOWN LIGHT;;;; +2545;BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT;So;0;ON;;;;;N;FORMS LEFT DOWN HEAVY AND RIGHT UP LIGHT;;;; +2546;BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT;So;0;ON;;;;;N;FORMS RIGHT DOWN HEAVY AND LEFT UP LIGHT;;;; +2547;BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS DOWN LIGHT AND UP HORIZONTAL HEAVY;;;; +2548;BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY;So;0;ON;;;;;N;FORMS UP LIGHT AND DOWN HORIZONTAL HEAVY;;;; +2549;BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS RIGHT LIGHT AND LEFT VERTICAL HEAVY;;;; +254A;BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY;So;0;ON;;;;;N;FORMS LEFT LIGHT AND RIGHT VERTICAL HEAVY;;;; +254B;BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY VERTICAL AND HORIZONTAL;;;; +254C;BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH HORIZONTAL;;;; +254D;BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH HORIZONTAL;;;; +254E;BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS LIGHT DOUBLE DASH VERTICAL;;;; +254F;BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL;So;0;ON;;;;;N;FORMS HEAVY DOUBLE DASH VERTICAL;;;; +2550;BOX DRAWINGS DOUBLE HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE HORIZONTAL;;;; +2551;BOX DRAWINGS DOUBLE VERTICAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL;;;; +2552;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND RIGHT DOUBLE;;;; +2553;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND RIGHT SINGLE;;;; +2554;BOX DRAWINGS DOUBLE DOWN AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND RIGHT;;;; +2555;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND LEFT DOUBLE;;;; +2556;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND LEFT SINGLE;;;; +2557;BOX DRAWINGS DOUBLE DOWN AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND LEFT;;;; +2558;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND RIGHT DOUBLE;;;; +2559;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND RIGHT SINGLE;;;; +255A;BOX DRAWINGS DOUBLE UP AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE UP AND RIGHT;;;; +255B;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND LEFT DOUBLE;;;; +255C;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND LEFT SINGLE;;;; +255D;BOX DRAWINGS DOUBLE UP AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE UP AND LEFT;;;; +255E;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND RIGHT DOUBLE;;;; +255F;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND RIGHT SINGLE;;;; +2560;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND RIGHT;;;; +2561;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND LEFT DOUBLE;;;; +2562;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND LEFT SINGLE;;;; +2563;BOX DRAWINGS DOUBLE VERTICAL AND LEFT;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND LEFT;;;; +2564;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS DOWN SINGLE AND HORIZONTAL DOUBLE;;;; +2565;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS DOWN DOUBLE AND HORIZONTAL SINGLE;;;; +2566;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE DOWN AND HORIZONTAL;;;; +2567;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS UP SINGLE AND HORIZONTAL DOUBLE;;;; +2568;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS UP DOUBLE AND HORIZONTAL SINGLE;;;; +2569;BOX DRAWINGS DOUBLE UP AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE UP AND HORIZONTAL;;;; +256A;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE;So;0;ON;;;;;N;FORMS VERTICAL SINGLE AND HORIZONTAL DOUBLE;;;; +256B;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE;So;0;ON;;;;;N;FORMS VERTICAL DOUBLE AND HORIZONTAL SINGLE;;;; +256C;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL;So;0;ON;;;;;N;FORMS DOUBLE VERTICAL AND HORIZONTAL;;;; +256D;BOX DRAWINGS LIGHT ARC DOWN AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND RIGHT;;;; +256E;BOX DRAWINGS LIGHT ARC DOWN AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC DOWN AND LEFT;;;; +256F;BOX DRAWINGS LIGHT ARC UP AND LEFT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND LEFT;;;; +2570;BOX DRAWINGS LIGHT ARC UP AND RIGHT;So;0;ON;;;;;N;FORMS LIGHT ARC UP AND RIGHT;;;; +2571;BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT;;;; +2572;BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT;;;; +2573;BOX DRAWINGS LIGHT DIAGONAL CROSS;So;0;ON;;;;;N;FORMS LIGHT DIAGONAL CROSS;;;; +2574;BOX DRAWINGS LIGHT LEFT;So;0;ON;;;;;N;FORMS LIGHT LEFT;;;; +2575;BOX DRAWINGS LIGHT UP;So;0;ON;;;;;N;FORMS LIGHT UP;;;; +2576;BOX DRAWINGS LIGHT RIGHT;So;0;ON;;;;;N;FORMS LIGHT RIGHT;;;; +2577;BOX DRAWINGS LIGHT DOWN;So;0;ON;;;;;N;FORMS LIGHT DOWN;;;; +2578;BOX DRAWINGS HEAVY LEFT;So;0;ON;;;;;N;FORMS HEAVY LEFT;;;; +2579;BOX DRAWINGS HEAVY UP;So;0;ON;;;;;N;FORMS HEAVY UP;;;; +257A;BOX DRAWINGS HEAVY RIGHT;So;0;ON;;;;;N;FORMS HEAVY RIGHT;;;; +257B;BOX DRAWINGS HEAVY DOWN;So;0;ON;;;;;N;FORMS HEAVY DOWN;;;; +257C;BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT;So;0;ON;;;;;N;FORMS LIGHT LEFT AND HEAVY RIGHT;;;; +257D;BOX DRAWINGS LIGHT UP AND HEAVY DOWN;So;0;ON;;;;;N;FORMS LIGHT UP AND HEAVY DOWN;;;; +257E;BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT;So;0;ON;;;;;N;FORMS HEAVY LEFT AND LIGHT RIGHT;;;; +257F;BOX DRAWINGS HEAVY UP AND LIGHT DOWN;So;0;ON;;;;;N;FORMS HEAVY UP AND LIGHT DOWN;;;; +2580;UPPER HALF BLOCK;So;0;ON;;;;;N;;;;; +2581;LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2582;LOWER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +2583;LOWER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2584;LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; +2585;LOWER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2586;LOWER THREE QUARTERS BLOCK;So;0;ON;;;;;N;LOWER THREE QUARTER BLOCK;;;; +2587;LOWER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +2588;FULL BLOCK;So;0;ON;;;;;N;;;;; +2589;LEFT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258A;LEFT THREE QUARTERS BLOCK;So;0;ON;;;;;N;LEFT THREE QUARTER BLOCK;;;; +258B;LEFT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258C;LEFT HALF BLOCK;So;0;ON;;;;;N;;;;; +258D;LEFT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +258E;LEFT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +258F;LEFT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2590;RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; +2591;LIGHT SHADE;So;0;ON;;;;;N;;;;; +2592;MEDIUM SHADE;So;0;ON;;;;;N;;;;; +2593;DARK SHADE;So;0;ON;;;;;N;;;;; +2594;UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2595;RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +2596;QUADRANT LOWER LEFT;So;0;ON;;;;;N;;;;; +2597;QUADRANT LOWER RIGHT;So;0;ON;;;;;N;;;;; +2598;QUADRANT UPPER LEFT;So;0;ON;;;;;N;;;;; +2599;QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259A;QUADRANT UPPER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259B;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; +259C;QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +259D;QUADRANT UPPER RIGHT;So;0;ON;;;;;N;;;;; +259E;QUADRANT UPPER RIGHT AND LOWER LEFT;So;0;ON;;;;;N;;;;; +259F;QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT;So;0;ON;;;;;N;;;;; +25A0;BLACK SQUARE;So;0;ON;;;;;N;;;;; +25A1;WHITE SQUARE;So;0;ON;;;;;N;;;;; +25A2;WHITE SQUARE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; +25A3;WHITE SQUARE CONTAINING BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; +25A4;SQUARE WITH HORIZONTAL FILL;So;0;ON;;;;;N;;;;; +25A5;SQUARE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; +25A6;SQUARE WITH ORTHOGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; +25A7;SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; +25A8;SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; +25A9;SQUARE WITH DIAGONAL CROSSHATCH FILL;So;0;ON;;;;;N;;;;; +25AA;BLACK SMALL SQUARE;So;0;ON;;;;;N;;;;; +25AB;WHITE SMALL SQUARE;So;0;ON;;;;;N;;;;; +25AC;BLACK RECTANGLE;So;0;ON;;;;;N;;;;; +25AD;WHITE RECTANGLE;So;0;ON;;;;;N;;;;; +25AE;BLACK VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; +25AF;WHITE VERTICAL RECTANGLE;So;0;ON;;;;;N;;;;; +25B0;BLACK PARALLELOGRAM;So;0;ON;;;;;N;;;;; +25B1;WHITE PARALLELOGRAM;So;0;ON;;;;;N;;;;; +25B2;BLACK UP-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING TRIANGLE;;;; +25B3;WHITE UP-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE;;;; +25B4;BLACK UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK UP POINTING SMALL TRIANGLE;;;; +25B5;WHITE UP-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE UP POINTING SMALL TRIANGLE;;;; +25B6;BLACK RIGHT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING TRIANGLE;;;; +25B7;WHITE RIGHT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE RIGHT POINTING TRIANGLE;;;; +25B8;BLACK RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK RIGHT POINTING SMALL TRIANGLE;;;; +25B9;WHITE RIGHT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE RIGHT POINTING SMALL TRIANGLE;;;; +25BA;BLACK RIGHT-POINTING POINTER;So;0;ON;;;;;N;BLACK RIGHT POINTING POINTER;;;; +25BB;WHITE RIGHT-POINTING POINTER;So;0;ON;;;;;N;WHITE RIGHT POINTING POINTER;;;; +25BC;BLACK DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING TRIANGLE;;;; +25BD;WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING TRIANGLE;;;; +25BE;BLACK DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK DOWN POINTING SMALL TRIANGLE;;;; +25BF;WHITE DOWN-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE DOWN POINTING SMALL TRIANGLE;;;; +25C0;BLACK LEFT-POINTING TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING TRIANGLE;;;; +25C1;WHITE LEFT-POINTING TRIANGLE;Sm;0;ON;;;;;N;WHITE LEFT POINTING TRIANGLE;;;; +25C2;BLACK LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;BLACK LEFT POINTING SMALL TRIANGLE;;;; +25C3;WHITE LEFT-POINTING SMALL TRIANGLE;So;0;ON;;;;;N;WHITE LEFT POINTING SMALL TRIANGLE;;;; +25C4;BLACK LEFT-POINTING POINTER;So;0;ON;;;;;N;BLACK LEFT POINTING POINTER;;;; +25C5;WHITE LEFT-POINTING POINTER;So;0;ON;;;;;N;WHITE LEFT POINTING POINTER;;;; +25C6;BLACK DIAMOND;So;0;ON;;;;;N;;;;; +25C7;WHITE DIAMOND;So;0;ON;;;;;N;;;;; +25C8;WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; +25C9;FISHEYE;So;0;ON;;;;;N;;;;; +25CA;LOZENGE;So;0;ON;;;;;N;;;;; +25CB;WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25CC;DOTTED CIRCLE;So;0;ON;;;;;N;;;;; +25CD;CIRCLE WITH VERTICAL FILL;So;0;ON;;;;;N;;;;; +25CE;BULLSEYE;So;0;ON;;;;;N;;;;; +25CF;BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D0;CIRCLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +25D1;CIRCLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +25D2;CIRCLE WITH LOWER HALF BLACK;So;0;ON;;;;;N;;;;; +25D3;CIRCLE WITH UPPER HALF BLACK;So;0;ON;;;;;N;;;;; +25D4;CIRCLE WITH UPPER RIGHT QUADRANT BLACK;So;0;ON;;;;;N;;;;; +25D5;CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK;So;0;ON;;;;;N;;;;; +25D6;LEFT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D7;RIGHT HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +25D8;INVERSE BULLET;So;0;ON;;;;;N;;;;; +25D9;INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DA;UPPER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DB;LOWER HALF INVERSE WHITE CIRCLE;So;0;ON;;;;;N;;;;; +25DC;UPPER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DD;UPPER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DE;LOWER RIGHT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25DF;LOWER LEFT QUADRANT CIRCULAR ARC;So;0;ON;;;;;N;;;;; +25E0;UPPER HALF CIRCLE;So;0;ON;;;;;N;;;;; +25E1;LOWER HALF CIRCLE;So;0;ON;;;;;N;;;;; +25E2;BLACK LOWER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +25E3;BLACK LOWER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; +25E4;BLACK UPPER LEFT TRIANGLE;So;0;ON;;;;;N;;;;; +25E5;BLACK UPPER RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +25E6;WHITE BULLET;So;0;ON;;;;;N;;;;; +25E7;SQUARE WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +25E8;SQUARE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +25E9;SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +25EA;SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +25EB;WHITE SQUARE WITH VERTICAL BISECTING LINE;So;0;ON;;;;;N;;;;; +25EC;WHITE UP-POINTING TRIANGLE WITH DOT;So;0;ON;;;;;N;WHITE UP POINTING TRIANGLE WITH DOT;;;; +25ED;UP-POINTING TRIANGLE WITH LEFT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH LEFT HALF BLACK;;;; +25EE;UP-POINTING TRIANGLE WITH RIGHT HALF BLACK;So;0;ON;;;;;N;UP POINTING TRIANGLE WITH RIGHT HALF BLACK;;;; +25EF;LARGE CIRCLE;So;0;ON;;;;;N;;;;; +25F0;WHITE SQUARE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F1;WHITE SQUARE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F2;WHITE SQUARE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F3;WHITE SQUARE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F4;WHITE CIRCLE WITH UPPER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F5;WHITE CIRCLE WITH LOWER LEFT QUADRANT;So;0;ON;;;;;N;;;;; +25F6;WHITE CIRCLE WITH LOWER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F7;WHITE CIRCLE WITH UPPER RIGHT QUADRANT;So;0;ON;;;;;N;;;;; +25F8;UPPER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25F9;UPPER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25FA;LOWER LEFT TRIANGLE;Sm;0;ON;;;;;N;;;;; +25FB;WHITE MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; +25FC;BLACK MEDIUM SQUARE;Sm;0;ON;;;;;N;;;;; +25FD;WHITE MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; +25FE;BLACK MEDIUM SMALL SQUARE;Sm;0;ON;;;;;N;;;;; +25FF;LOWER RIGHT TRIANGLE;Sm;0;ON;;;;;N;;;;; +2600;BLACK SUN WITH RAYS;So;0;ON;;;;;N;;;;; +2601;CLOUD;So;0;ON;;;;;N;;;;; +2602;UMBRELLA;So;0;ON;;;;;N;;;;; +2603;SNOWMAN;So;0;ON;;;;;N;;;;; +2604;COMET;So;0;ON;;;;;N;;;;; +2605;BLACK STAR;So;0;ON;;;;;N;;;;; +2606;WHITE STAR;So;0;ON;;;;;N;;;;; +2607;LIGHTNING;So;0;ON;;;;;N;;;;; +2608;THUNDERSTORM;So;0;ON;;;;;N;;;;; +2609;SUN;So;0;ON;;;;;N;;;;; +260A;ASCENDING NODE;So;0;ON;;;;;N;;;;; +260B;DESCENDING NODE;So;0;ON;;;;;N;;;;; +260C;CONJUNCTION;So;0;ON;;;;;N;;;;; +260D;OPPOSITION;So;0;ON;;;;;N;;;;; +260E;BLACK TELEPHONE;So;0;ON;;;;;N;;;;; +260F;WHITE TELEPHONE;So;0;ON;;;;;N;;;;; +2610;BALLOT BOX;So;0;ON;;;;;N;;;;; +2611;BALLOT BOX WITH CHECK;So;0;ON;;;;;N;;;;; +2612;BALLOT BOX WITH X;So;0;ON;;;;;N;;;;; +2613;SALTIRE;So;0;ON;;;;;N;;;;; +2614;UMBRELLA WITH RAIN DROPS;So;0;ON;;;;;N;;;;; +2615;HOT BEVERAGE;So;0;ON;;;;;N;;;;; +2616;WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;; +2617;BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;; +2618;SHAMROCK;So;0;ON;;;;;N;;;;; +2619;REVERSED ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; +261A;BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +261B;BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +261C;WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +261D;WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; +261E;WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +261F;WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; +2620;SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; +2621;CAUTION SIGN;So;0;ON;;;;;N;;;;; +2622;RADIOACTIVE SIGN;So;0;ON;;;;;N;;;;; +2623;BIOHAZARD SIGN;So;0;ON;;;;;N;;;;; +2624;CADUCEUS;So;0;ON;;;;;N;;;;; +2625;ANKH;So;0;ON;;;;;N;;;;; +2626;ORTHODOX CROSS;So;0;ON;;;;;N;;;;; +2627;CHI RHO;So;0;ON;;;;;N;;;;; +2628;CROSS OF LORRAINE;So;0;ON;;;;;N;;;;; +2629;CROSS OF JERUSALEM;So;0;ON;;;;;N;;;;; +262A;STAR AND CRESCENT;So;0;ON;;;;;N;;;;; +262B;FARSI SYMBOL;So;0;ON;;;;;N;SYMBOL OF IRAN;;;; +262C;ADI SHAKTI;So;0;ON;;;;;N;;;;; +262D;HAMMER AND SICKLE;So;0;ON;;;;;N;;;;; +262E;PEACE SYMBOL;So;0;ON;;;;;N;;;;; +262F;YIN YANG;So;0;ON;;;;;N;;;;; +2630;TRIGRAM FOR HEAVEN;So;0;ON;;;;;N;;;;; +2631;TRIGRAM FOR LAKE;So;0;ON;;;;;N;;;;; +2632;TRIGRAM FOR FIRE;So;0;ON;;;;;N;;;;; +2633;TRIGRAM FOR THUNDER;So;0;ON;;;;;N;;;;; +2634;TRIGRAM FOR WIND;So;0;ON;;;;;N;;;;; +2635;TRIGRAM FOR WATER;So;0;ON;;;;;N;;;;; +2636;TRIGRAM FOR MOUNTAIN;So;0;ON;;;;;N;;;;; +2637;TRIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; +2638;WHEEL OF DHARMA;So;0;ON;;;;;N;;;;; +2639;WHITE FROWNING FACE;So;0;ON;;;;;N;;;;; +263A;WHITE SMILING FACE;So;0;ON;;;;;N;;;;; +263B;BLACK SMILING FACE;So;0;ON;;;;;N;;;;; +263C;WHITE SUN WITH RAYS;So;0;ON;;;;;N;;;;; +263D;FIRST QUARTER MOON;So;0;ON;;;;;N;;;;; +263E;LAST QUARTER MOON;So;0;ON;;;;;N;;;;; +263F;MERCURY;So;0;ON;;;;;N;;;;; +2640;FEMALE SIGN;So;0;ON;;;;;N;;;;; +2641;EARTH;So;0;ON;;;;;N;;;;; +2642;MALE SIGN;So;0;ON;;;;;N;;;;; +2643;JUPITER;So;0;ON;;;;;N;;;;; +2644;SATURN;So;0;ON;;;;;N;;;;; +2645;URANUS;So;0;ON;;;;;N;;;;; +2646;NEPTUNE;So;0;ON;;;;;N;;;;; +2647;PLUTO;So;0;ON;;;;;N;;;;; +2648;ARIES;So;0;ON;;;;;N;;;;; +2649;TAURUS;So;0;ON;;;;;N;;;;; +264A;GEMINI;So;0;ON;;;;;N;;;;; +264B;CANCER;So;0;ON;;;;;N;;;;; +264C;LEO;So;0;ON;;;;;N;;;;; +264D;VIRGO;So;0;ON;;;;;N;;;;; +264E;LIBRA;So;0;ON;;;;;N;;;;; +264F;SCORPIUS;So;0;ON;;;;;N;;;;; +2650;SAGITTARIUS;So;0;ON;;;;;N;;;;; +2651;CAPRICORN;So;0;ON;;;;;N;;;;; +2652;AQUARIUS;So;0;ON;;;;;N;;;;; +2653;PISCES;So;0;ON;;;;;N;;;;; +2654;WHITE CHESS KING;So;0;ON;;;;;N;;;;; +2655;WHITE CHESS QUEEN;So;0;ON;;;;;N;;;;; +2656;WHITE CHESS ROOK;So;0;ON;;;;;N;;;;; +2657;WHITE CHESS BISHOP;So;0;ON;;;;;N;;;;; +2658;WHITE CHESS KNIGHT;So;0;ON;;;;;N;;;;; +2659;WHITE CHESS PAWN;So;0;ON;;;;;N;;;;; +265A;BLACK CHESS KING;So;0;ON;;;;;N;;;;; +265B;BLACK CHESS QUEEN;So;0;ON;;;;;N;;;;; +265C;BLACK CHESS ROOK;So;0;ON;;;;;N;;;;; +265D;BLACK CHESS BISHOP;So;0;ON;;;;;N;;;;; +265E;BLACK CHESS KNIGHT;So;0;ON;;;;;N;;;;; +265F;BLACK CHESS PAWN;So;0;ON;;;;;N;;;;; +2660;BLACK SPADE SUIT;So;0;ON;;;;;N;;;;; +2661;WHITE HEART SUIT;So;0;ON;;;;;N;;;;; +2662;WHITE DIAMOND SUIT;So;0;ON;;;;;N;;;;; +2663;BLACK CLUB SUIT;So;0;ON;;;;;N;;;;; +2664;WHITE SPADE SUIT;So;0;ON;;;;;N;;;;; +2665;BLACK HEART SUIT;So;0;ON;;;;;N;;;;; +2666;BLACK DIAMOND SUIT;So;0;ON;;;;;N;;;;; +2667;WHITE CLUB SUIT;So;0;ON;;;;;N;;;;; +2668;HOT SPRINGS;So;0;ON;;;;;N;;;;; +2669;QUARTER NOTE;So;0;ON;;;;;N;;;;; +266A;EIGHTH NOTE;So;0;ON;;;;;N;;;;; +266B;BEAMED EIGHTH NOTES;So;0;ON;;;;;N;BARRED EIGHTH NOTES;;;; +266C;BEAMED SIXTEENTH NOTES;So;0;ON;;;;;N;BARRED SIXTEENTH NOTES;;;; +266D;MUSIC FLAT SIGN;So;0;ON;;;;;N;FLAT;;;; +266E;MUSIC NATURAL SIGN;So;0;ON;;;;;N;NATURAL;;;; +266F;MUSIC SHARP SIGN;Sm;0;ON;;;;;N;SHARP;;;; +2670;WEST SYRIAC CROSS;So;0;ON;;;;;N;;;;; +2671;EAST SYRIAC CROSS;So;0;ON;;;;;N;;;;; +2672;UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; +2673;RECYCLING SYMBOL FOR TYPE-1 PLASTICS;So;0;ON;;;;;N;;;;; +2674;RECYCLING SYMBOL FOR TYPE-2 PLASTICS;So;0;ON;;;;;N;;;;; +2675;RECYCLING SYMBOL FOR TYPE-3 PLASTICS;So;0;ON;;;;;N;;;;; +2676;RECYCLING SYMBOL FOR TYPE-4 PLASTICS;So;0;ON;;;;;N;;;;; +2677;RECYCLING SYMBOL FOR TYPE-5 PLASTICS;So;0;ON;;;;;N;;;;; +2678;RECYCLING SYMBOL FOR TYPE-6 PLASTICS;So;0;ON;;;;;N;;;;; +2679;RECYCLING SYMBOL FOR TYPE-7 PLASTICS;So;0;ON;;;;;N;;;;; +267A;RECYCLING SYMBOL FOR GENERIC MATERIALS;So;0;ON;;;;;N;;;;; +267B;BLACK UNIVERSAL RECYCLING SYMBOL;So;0;ON;;;;;N;;;;; +267C;RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; +267D;PARTIALLY-RECYCLED PAPER SYMBOL;So;0;ON;;;;;N;;;;; +267E;PERMANENT PAPER SIGN;So;0;ON;;;;;N;;;;; +267F;WHEELCHAIR SYMBOL;So;0;ON;;;;;N;;;;; +2680;DIE FACE-1;So;0;ON;;;;;N;;;;; +2681;DIE FACE-2;So;0;ON;;;;;N;;;;; +2682;DIE FACE-3;So;0;ON;;;;;N;;;;; +2683;DIE FACE-4;So;0;ON;;;;;N;;;;; +2684;DIE FACE-5;So;0;ON;;;;;N;;;;; +2685;DIE FACE-6;So;0;ON;;;;;N;;;;; +2686;WHITE CIRCLE WITH DOT RIGHT;So;0;ON;;;;;N;;;;; +2687;WHITE CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;; +2688;BLACK CIRCLE WITH WHITE DOT RIGHT;So;0;ON;;;;;N;;;;; +2689;BLACK CIRCLE WITH TWO WHITE DOTS;So;0;ON;;;;;N;;;;; +268A;MONOGRAM FOR YANG;So;0;ON;;;;;N;;;;; +268B;MONOGRAM FOR YIN;So;0;ON;;;;;N;;;;; +268C;DIGRAM FOR GREATER YANG;So;0;ON;;;;;N;;;;; +268D;DIGRAM FOR LESSER YIN;So;0;ON;;;;;N;;;;; +268E;DIGRAM FOR LESSER YANG;So;0;ON;;;;;N;;;;; +268F;DIGRAM FOR GREATER YIN;So;0;ON;;;;;N;;;;; +2690;WHITE FLAG;So;0;ON;;;;;N;;;;; +2691;BLACK FLAG;So;0;ON;;;;;N;;;;; +2692;HAMMER AND PICK;So;0;ON;;;;;N;;;;; +2693;ANCHOR;So;0;ON;;;;;N;;;;; +2694;CROSSED SWORDS;So;0;ON;;;;;N;;;;; +2695;STAFF OF AESCULAPIUS;So;0;ON;;;;;N;;;;; +2696;SCALES;So;0;ON;;;;;N;;;;; +2697;ALEMBIC;So;0;ON;;;;;N;;;;; +2698;FLOWER;So;0;ON;;;;;N;;;;; +2699;GEAR;So;0;ON;;;;;N;;;;; +269A;STAFF OF HERMES;So;0;ON;;;;;N;;;;; +269B;ATOM SYMBOL;So;0;ON;;;;;N;;;;; +269C;FLEUR-DE-LIS;So;0;ON;;;;;N;;;;; +269D;OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; +269E;THREE LINES CONVERGING RIGHT;So;0;ON;;;;;N;;;;; +269F;THREE LINES CONVERGING LEFT;So;0;ON;;;;;N;;;;; +26A0;WARNING SIGN;So;0;ON;;;;;N;;;;; +26A1;HIGH VOLTAGE SIGN;So;0;ON;;;;;N;;;;; +26A2;DOUBLED FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A3;DOUBLED MALE SIGN;So;0;ON;;;;;N;;;;; +26A4;INTERLOCKED FEMALE AND MALE SIGN;So;0;ON;;;;;N;;;;; +26A5;MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A6;MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26A7;MALE WITH STROKE AND MALE AND FEMALE SIGN;So;0;ON;;;;;N;;;;; +26A8;VERTICAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26A9;HORIZONTAL MALE WITH STROKE SIGN;So;0;ON;;;;;N;;;;; +26AA;MEDIUM WHITE CIRCLE;So;0;ON;;;;;N;;;;; +26AB;MEDIUM BLACK CIRCLE;So;0;ON;;;;;N;;;;; +26AC;MEDIUM SMALL WHITE CIRCLE;So;0;L;;;;;N;;;;; +26AD;MARRIAGE SYMBOL;So;0;ON;;;;;N;;;;; +26AE;DIVORCE SYMBOL;So;0;ON;;;;;N;;;;; +26AF;UNMARRIED PARTNERSHIP SYMBOL;So;0;ON;;;;;N;;;;; +26B0;COFFIN;So;0;ON;;;;;N;;;;; +26B1;FUNERAL URN;So;0;ON;;;;;N;;;;; +26B2;NEUTER;So;0;ON;;;;;N;;;;; +26B3;CERES;So;0;ON;;;;;N;;;;; +26B4;PALLAS;So;0;ON;;;;;N;;;;; +26B5;JUNO;So;0;ON;;;;;N;;;;; +26B6;VESTA;So;0;ON;;;;;N;;;;; +26B7;CHIRON;So;0;ON;;;;;N;;;;; +26B8;BLACK MOON LILITH;So;0;ON;;;;;N;;;;; +26B9;SEXTILE;So;0;ON;;;;;N;;;;; +26BA;SEMISEXTILE;So;0;ON;;;;;N;;;;; +26BB;QUINCUNX;So;0;ON;;;;;N;;;;; +26BC;SESQUIQUADRATE;So;0;ON;;;;;N;;;;; +26BD;SOCCER BALL;So;0;ON;;;;;N;;;;; +26BE;BASEBALL;So;0;ON;;;;;N;;;;; +26BF;SQUARED KEY;So;0;ON;;;;;N;;;;; +26C0;WHITE DRAUGHTS MAN;So;0;ON;;;;;N;;;;; +26C1;WHITE DRAUGHTS KING;So;0;ON;;;;;N;;;;; +26C2;BLACK DRAUGHTS MAN;So;0;ON;;;;;N;;;;; +26C3;BLACK DRAUGHTS KING;So;0;ON;;;;;N;;;;; +26C4;SNOWMAN WITHOUT SNOW;So;0;ON;;;;;N;;;;; +26C5;SUN BEHIND CLOUD;So;0;ON;;;;;N;;;;; +26C6;RAIN;So;0;ON;;;;;N;;;;; +26C7;BLACK SNOWMAN;So;0;ON;;;;;N;;;;; +26C8;THUNDER CLOUD AND RAIN;So;0;ON;;;;;N;;;;; +26C9;TURNED WHITE SHOGI PIECE;So;0;ON;;;;;N;;;;; +26CA;TURNED BLACK SHOGI PIECE;So;0;ON;;;;;N;;;;; +26CB;WHITE DIAMOND IN SQUARE;So;0;ON;;;;;N;;;;; +26CC;CROSSING LANES;So;0;ON;;;;;N;;;;; +26CD;DISABLED CAR;So;0;ON;;;;;N;;;;; +26CE;OPHIUCHUS;So;0;ON;;;;;N;;;;; +26CF;PICK;So;0;ON;;;;;N;;;;; +26D0;CAR SLIDING;So;0;ON;;;;;N;;;;; +26D1;HELMET WITH WHITE CROSS;So;0;ON;;;;;N;;;;; +26D2;CIRCLED CROSSING LANES;So;0;ON;;;;;N;;;;; +26D3;CHAINS;So;0;ON;;;;;N;;;;; +26D4;NO ENTRY;So;0;ON;;;;;N;;;;; +26D5;ALTERNATE ONE-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;; +26D6;BLACK TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;; +26D7;WHITE TWO-WAY LEFT WAY TRAFFIC;So;0;ON;;;;;N;;;;; +26D8;BLACK LEFT LANE MERGE;So;0;ON;;;;;N;;;;; +26D9;WHITE LEFT LANE MERGE;So;0;ON;;;;;N;;;;; +26DA;DRIVE SLOW SIGN;So;0;ON;;;;;N;;;;; +26DB;HEAVY WHITE DOWN-POINTING TRIANGLE;So;0;ON;;;;;N;;;;; +26DC;LEFT CLOSED ENTRY;So;0;ON;;;;;N;;;;; +26DD;SQUARED SALTIRE;So;0;ON;;;;;N;;;;; +26DE;FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE;So;0;ON;;;;;N;;;;; +26DF;BLACK TRUCK;So;0;ON;;;;;N;;;;; +26E0;RESTRICTED LEFT ENTRY-1;So;0;ON;;;;;N;;;;; +26E1;RESTRICTED LEFT ENTRY-2;So;0;ON;;;;;N;;;;; +26E2;ASTRONOMICAL SYMBOL FOR URANUS;So;0;ON;;;;;N;;;;; +26E3;HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE;So;0;ON;;;;;N;;;;; +26E4;PENTAGRAM;So;0;ON;;;;;N;;;;; +26E5;RIGHT-HANDED INTERLACED PENTAGRAM;So;0;ON;;;;;N;;;;; +26E6;LEFT-HANDED INTERLACED PENTAGRAM;So;0;ON;;;;;N;;;;; +26E7;INVERTED PENTAGRAM;So;0;ON;;;;;N;;;;; +26E8;BLACK CROSS ON SHIELD;So;0;ON;;;;;N;;;;; +26E9;SHINTO SHRINE;So;0;ON;;;;;N;;;;; +26EA;CHURCH;So;0;ON;;;;;N;;;;; +26EB;CASTLE;So;0;ON;;;;;N;;;;; +26EC;HISTORIC SITE;So;0;ON;;;;;N;;;;; +26ED;GEAR WITHOUT HUB;So;0;ON;;;;;N;;;;; +26EE;GEAR WITH HANDLES;So;0;ON;;;;;N;;;;; +26EF;MAP SYMBOL FOR LIGHTHOUSE;So;0;ON;;;;;N;;;;; +26F0;MOUNTAIN;So;0;ON;;;;;N;;;;; +26F1;UMBRELLA ON GROUND;So;0;ON;;;;;N;;;;; +26F2;FOUNTAIN;So;0;ON;;;;;N;;;;; +26F3;FLAG IN HOLE;So;0;ON;;;;;N;;;;; +26F4;FERRY;So;0;ON;;;;;N;;;;; +26F5;SAILBOAT;So;0;ON;;;;;N;;;;; +26F6;SQUARE FOUR CORNERS;So;0;ON;;;;;N;;;;; +26F7;SKIER;So;0;ON;;;;;N;;;;; +26F8;ICE SKATE;So;0;ON;;;;;N;;;;; +26F9;PERSON WITH BALL;So;0;ON;;;;;N;;;;; +26FA;TENT;So;0;ON;;;;;N;;;;; +26FB;JAPANESE BANK SYMBOL;So;0;ON;;;;;N;;;;; +26FC;HEADSTONE GRAVEYARD SYMBOL;So;0;ON;;;;;N;;;;; +26FD;FUEL PUMP;So;0;ON;;;;;N;;;;; +26FE;CUP ON BLACK SQUARE;So;0;ON;;;;;N;;;;; +26FF;WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE;So;0;ON;;;;;N;;;;; +2700;BLACK SAFETY SCISSORS;So;0;ON;;;;;N;;;;; +2701;UPPER BLADE SCISSORS;So;0;ON;;;;;N;;;;; +2702;BLACK SCISSORS;So;0;ON;;;;;N;;;;; +2703;LOWER BLADE SCISSORS;So;0;ON;;;;;N;;;;; +2704;WHITE SCISSORS;So;0;ON;;;;;N;;;;; +2705;WHITE HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; +2706;TELEPHONE LOCATION SIGN;So;0;ON;;;;;N;;;;; +2707;TAPE DRIVE;So;0;ON;;;;;N;;;;; +2708;AIRPLANE;So;0;ON;;;;;N;;;;; +2709;ENVELOPE;So;0;ON;;;;;N;;;;; +270A;RAISED FIST;So;0;ON;;;;;N;;;;; +270B;RAISED HAND;So;0;ON;;;;;N;;;;; +270C;VICTORY HAND;So;0;ON;;;;;N;;;;; +270D;WRITING HAND;So;0;ON;;;;;N;;;;; +270E;LOWER RIGHT PENCIL;So;0;ON;;;;;N;;;;; +270F;PENCIL;So;0;ON;;;;;N;;;;; +2710;UPPER RIGHT PENCIL;So;0;ON;;;;;N;;;;; +2711;WHITE NIB;So;0;ON;;;;;N;;;;; +2712;BLACK NIB;So;0;ON;;;;;N;;;;; +2713;CHECK MARK;So;0;ON;;;;;N;;;;; +2714;HEAVY CHECK MARK;So;0;ON;;;;;N;;;;; +2715;MULTIPLICATION X;So;0;ON;;;;;N;;;;; +2716;HEAVY MULTIPLICATION X;So;0;ON;;;;;N;;;;; +2717;BALLOT X;So;0;ON;;;;;N;;;;; +2718;HEAVY BALLOT X;So;0;ON;;;;;N;;;;; +2719;OUTLINED GREEK CROSS;So;0;ON;;;;;N;;;;; +271A;HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; +271B;OPEN CENTRE CROSS;So;0;ON;;;;;N;OPEN CENTER CROSS;;;; +271C;HEAVY OPEN CENTRE CROSS;So;0;ON;;;;;N;HEAVY OPEN CENTER CROSS;;;; +271D;LATIN CROSS;So;0;ON;;;;;N;;;;; +271E;SHADOWED WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; +271F;OUTLINED LATIN CROSS;So;0;ON;;;;;N;;;;; +2720;MALTESE CROSS;So;0;ON;;;;;N;;;;; +2721;STAR OF DAVID;So;0;ON;;;;;N;;;;; +2722;FOUR TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2723;FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2724;HEAVY FOUR BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2725;FOUR CLUB-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2726;BLACK FOUR POINTED STAR;So;0;ON;;;;;N;;;;; +2727;WHITE FOUR POINTED STAR;So;0;ON;;;;;N;;;;; +2728;SPARKLES;So;0;ON;;;;;N;;;;; +2729;STRESS OUTLINED WHITE STAR;So;0;ON;;;;;N;;;;; +272A;CIRCLED WHITE STAR;So;0;ON;;;;;N;;;;; +272B;OPEN CENTRE BLACK STAR;So;0;ON;;;;;N;OPEN CENTER BLACK STAR;;;; +272C;BLACK CENTRE WHITE STAR;So;0;ON;;;;;N;BLACK CENTER WHITE STAR;;;; +272D;OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; +272E;HEAVY OUTLINED BLACK STAR;So;0;ON;;;;;N;;;;; +272F;PINWHEEL STAR;So;0;ON;;;;;N;;;;; +2730;SHADOWED WHITE STAR;So;0;ON;;;;;N;;;;; +2731;HEAVY ASTERISK;So;0;ON;;;;;N;;;;; +2732;OPEN CENTRE ASTERISK;So;0;ON;;;;;N;OPEN CENTER ASTERISK;;;; +2733;EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +2734;EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +2735;EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +2736;SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +2737;EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; +2738;HEAVY EIGHT POINTED RECTILINEAR BLACK STAR;So;0;ON;;;;;N;;;;; +2739;TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +273A;SIXTEEN POINTED ASTERISK;So;0;ON;;;;;N;;;;; +273B;TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +273C;OPEN CENTRE TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;OPEN CENTER TEARDROP-SPOKED ASTERISK;;;; +273D;HEAVY TEARDROP-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +273E;SIX PETALLED BLACK AND WHITE FLORETTE;So;0;ON;;;;;N;;;;; +273F;BLACK FLORETTE;So;0;ON;;;;;N;;;;; +2740;WHITE FLORETTE;So;0;ON;;;;;N;;;;; +2741;EIGHT PETALLED OUTLINED BLACK FLORETTE;So;0;ON;;;;;N;;;;; +2742;CIRCLED OPEN CENTRE EIGHT POINTED STAR;So;0;ON;;;;;N;CIRCLED OPEN CENTER EIGHT POINTED STAR;;;; +2743;HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK;So;0;ON;;;;;N;;;;; +2744;SNOWFLAKE;So;0;ON;;;;;N;;;;; +2745;TIGHT TRIFOLIATE SNOWFLAKE;So;0;ON;;;;;N;;;;; +2746;HEAVY CHEVRON SNOWFLAKE;So;0;ON;;;;;N;;;;; +2747;SPARKLE;So;0;ON;;;;;N;;;;; +2748;HEAVY SPARKLE;So;0;ON;;;;;N;;;;; +2749;BALLOON-SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +274A;EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; +274B;HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK;So;0;ON;;;;;N;;;;; +274C;CROSS MARK;So;0;ON;;;;;N;;;;; +274D;SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; +274E;NEGATIVE SQUARED CROSS MARK;So;0;ON;;;;;N;;;;; +274F;LOWER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2750;UPPER RIGHT DROP-SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2751;LOWER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2752;UPPER RIGHT SHADOWED WHITE SQUARE;So;0;ON;;;;;N;;;;; +2753;BLACK QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2754;WHITE QUESTION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2755;WHITE EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2756;BLACK DIAMOND MINUS WHITE X;So;0;ON;;;;;N;;;;; +2757;HEAVY EXCLAMATION MARK SYMBOL;So;0;ON;;;;;N;;;;; +2758;LIGHT VERTICAL BAR;So;0;ON;;;;;N;;;;; +2759;MEDIUM VERTICAL BAR;So;0;ON;;;;;N;;;;; +275A;HEAVY VERTICAL BAR;So;0;ON;;;;;N;;;;; +275B;HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275C;HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275D;HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275E;HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +275F;HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2760;HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2761;CURVED STEM PARAGRAPH SIGN ORNAMENT;So;0;ON;;;;;N;;;;; +2762;HEAVY EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2763;HEAVY HEART EXCLAMATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +2764;HEAVY BLACK HEART;So;0;ON;;;;;N;;;;; +2765;ROTATED HEAVY BLACK HEART BULLET;So;0;ON;;;;;N;;;;; +2766;FLORAL HEART;So;0;ON;;;;;N;;;;; +2767;ROTATED FLORAL HEART BULLET;So;0;ON;;;;;N;;;;; +2768;MEDIUM LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2769;MEDIUM RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276A;MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276B;MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276C;MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276D;MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +276E;HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT;Ps;0;ON;;;;;Y;;;;; +276F;HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2770;HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2771;HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2772;LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2773;LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2774;MEDIUM LEFT CURLY BRACKET ORNAMENT;Ps;0;ON;;;;;Y;;;;; +2775;MEDIUM RIGHT CURLY BRACKET ORNAMENT;Pe;0;ON;;;;;Y;;;;; +2776;DINGBAT NEGATIVE CIRCLED DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED DIGIT ONE;;;; +2777;DINGBAT NEGATIVE CIRCLED DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED DIGIT TWO;;;; +2778;DINGBAT NEGATIVE CIRCLED DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED DIGIT THREE;;;; +2779;DINGBAT NEGATIVE CIRCLED DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED DIGIT FOUR;;;; +277A;DINGBAT NEGATIVE CIRCLED DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED DIGIT FIVE;;;; +277B;DINGBAT NEGATIVE CIRCLED DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED DIGIT SIX;;;; +277C;DINGBAT NEGATIVE CIRCLED DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED DIGIT SEVEN;;;; +277D;DINGBAT NEGATIVE CIRCLED DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED DIGIT EIGHT;;;; +277E;DINGBAT NEGATIVE CIRCLED DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED DIGIT NINE;;;; +277F;DINGBAT NEGATIVE CIRCLED NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED NUMBER TEN;;;; +2780;DINGBAT CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;CIRCLED SANS-SERIF DIGIT ONE;;;; +2781;DINGBAT CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;CIRCLED SANS-SERIF DIGIT TWO;;;; +2782;DINGBAT CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;CIRCLED SANS-SERIF DIGIT THREE;;;; +2783;DINGBAT CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;CIRCLED SANS-SERIF DIGIT FOUR;;;; +2784;DINGBAT CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;CIRCLED SANS-SERIF DIGIT FIVE;;;; +2785;DINGBAT CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;CIRCLED SANS-SERIF DIGIT SIX;;;; +2786;DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;CIRCLED SANS-SERIF DIGIT SEVEN;;;; +2787;DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;CIRCLED SANS-SERIF DIGIT EIGHT;;;; +2788;DINGBAT CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;CIRCLED SANS-SERIF DIGIT NINE;;;; +2789;DINGBAT CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;CIRCLED SANS-SERIF NUMBER TEN;;;; +278A;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE;No;0;ON;;;1;1;N;INVERSE CIRCLED SANS-SERIF DIGIT ONE;;;; +278B;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO;No;0;ON;;;2;2;N;INVERSE CIRCLED SANS-SERIF DIGIT TWO;;;; +278C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE;No;0;ON;;;3;3;N;INVERSE CIRCLED SANS-SERIF DIGIT THREE;;;; +278D;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR;No;0;ON;;;4;4;N;INVERSE CIRCLED SANS-SERIF DIGIT FOUR;;;; +278E;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE;No;0;ON;;;5;5;N;INVERSE CIRCLED SANS-SERIF DIGIT FIVE;;;; +278F;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX;No;0;ON;;;6;6;N;INVERSE CIRCLED SANS-SERIF DIGIT SIX;;;; +2790;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN;No;0;ON;;;7;7;N;INVERSE CIRCLED SANS-SERIF DIGIT SEVEN;;;; +2791;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT;No;0;ON;;;8;8;N;INVERSE CIRCLED SANS-SERIF DIGIT EIGHT;;;; +2792;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE;No;0;ON;;;9;9;N;INVERSE CIRCLED SANS-SERIF DIGIT NINE;;;; +2793;DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN;No;0;ON;;;;10;N;INVERSE CIRCLED SANS-SERIF NUMBER TEN;;;; +2794;HEAVY WIDE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WIDE-HEADED RIGHT ARROW;;;; +2795;HEAVY PLUS SIGN;So;0;ON;;;;;N;;;;; +2796;HEAVY MINUS SIGN;So;0;ON;;;;;N;;;;; +2797;HEAVY DIVISION SIGN;So;0;ON;;;;;N;;;;; +2798;HEAVY SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT ARROW;;;; +2799;HEAVY RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY RIGHT ARROW;;;; +279A;HEAVY NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT ARROW;;;; +279B;DRAFTING POINT RIGHTWARDS ARROW;So;0;ON;;;;;N;DRAFTING POINT RIGHT ARROW;;;; +279C;HEAVY ROUND-TIPPED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY ROUND-TIPPED RIGHT ARROW;;;; +279D;TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;TRIANGLE-HEADED RIGHT ARROW;;;; +279E;HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TRIANGLE-HEADED RIGHT ARROW;;;; +279F;DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;DASHED TRIANGLE-HEADED RIGHT ARROW;;;; +27A0;HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY DASHED TRIANGLE-HEADED RIGHT ARROW;;;; +27A1;BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK RIGHT ARROW;;;; +27A2;THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D TOP-LIGHTED RIGHT ARROWHEAD;;;; +27A3;THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;THREE-D BOTTOM-LIGHTED RIGHT ARROWHEAD;;;; +27A4;BLACK RIGHTWARDS ARROWHEAD;So;0;ON;;;;;N;BLACK RIGHT ARROWHEAD;;;; +27A5;HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED DOWN AND RIGHT ARROW;;;; +27A6;HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK CURVED UP AND RIGHT ARROW;;;; +27A7;SQUAT BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;SQUAT BLACK RIGHT ARROW;;;; +27A8;HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY CONCAVE-POINTED BLACK RIGHT ARROW;;;; +27A9;RIGHT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;RIGHT-SHADED WHITE RIGHT ARROW;;;; +27AA;LEFT-SHADED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;LEFT-SHADED WHITE RIGHT ARROW;;;; +27AB;BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;BACK-TILTED SHADOWED WHITE RIGHT ARROW;;;; +27AC;FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;FRONT-TILTED SHADOWED WHITE RIGHT ARROW;;;; +27AD;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27AE;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27AF;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27B0;CURLY LOOP;So;0;ON;;;;;N;;;;; +27B1;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHT ARROW;;;; +27B2;CIRCLED HEAVY WHITE RIGHTWARDS ARROW;So;0;ON;;;;;N;CIRCLED HEAVY WHITE RIGHT ARROW;;;; +27B3;WHITE-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;WHITE-FEATHERED RIGHT ARROW;;;; +27B4;BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED LOWER RIGHT ARROW;;;; +27B5;BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;BLACK-FEATHERED RIGHT ARROW;;;; +27B6;BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;BLACK-FEATHERED UPPER RIGHT ARROW;;;; +27B7;HEAVY BLACK-FEATHERED SOUTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED LOWER RIGHT ARROW;;;; +27B8;HEAVY BLACK-FEATHERED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED RIGHT ARROW;;;; +27B9;HEAVY BLACK-FEATHERED NORTH EAST ARROW;So;0;ON;;;;;N;HEAVY BLACK-FEATHERED UPPER RIGHT ARROW;;;; +27BA;TEARDROP-BARBED RIGHTWARDS ARROW;So;0;ON;;;;;N;TEARDROP-BARBED RIGHT ARROW;;;; +27BB;HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY TEARDROP-SHANKED RIGHT ARROW;;;; +27BC;WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;WEDGE-TAILED RIGHT ARROW;;;; +27BD;HEAVY WEDGE-TAILED RIGHTWARDS ARROW;So;0;ON;;;;;N;HEAVY WEDGE-TAILED RIGHT ARROW;;;; +27BE;OPEN-OUTLINED RIGHTWARDS ARROW;So;0;ON;;;;;N;OPEN-OUTLINED RIGHT ARROW;;;; +27BF;DOUBLE CURLY LOOP;So;0;ON;;;;;N;;;;; +27C0;THREE DIMENSIONAL ANGLE;Sm;0;ON;;;;;Y;;;;; +27C1;WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE;Sm;0;ON;;;;;N;;;;; +27C2;PERPENDICULAR;Sm;0;ON;;;;;N;;;;; +27C3;OPEN SUBSET;Sm;0;ON;;;;;Y;;;;; +27C4;OPEN SUPERSET;Sm;0;ON;;;;;Y;;;;; +27C5;LEFT S-SHAPED BAG DELIMITER;Ps;0;ON;;;;;Y;;;;; +27C6;RIGHT S-SHAPED BAG DELIMITER;Pe;0;ON;;;;;Y;;;;; +27C7;OR WITH DOT INSIDE;Sm;0;ON;;;;;N;;;;; +27C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;; +27C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;; +27CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +27CB;MATHEMATICAL RISING DIAGONAL;Sm;0;ON;;;;;Y;;;;; +27CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;; +27CD;MATHEMATICAL FALLING DIAGONAL;Sm;0;ON;;;;;Y;;;;; +27CE;SQUARED LOGICAL AND;Sm;0;ON;;;;;N;;;;; +27CF;SQUARED LOGICAL OR;Sm;0;ON;;;;;N;;;;; +27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;; +27D1;AND WITH DOT;Sm;0;ON;;;;;N;;;;; +27D2;ELEMENT OF OPENING UPWARDS;Sm;0;ON;;;;;N;;;;; +27D3;LOWER RIGHT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; +27D4;UPPER LEFT CORNER WITH DOT;Sm;0;ON;;;;;Y;;;;; +27D5;LEFT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; +27D6;RIGHT OUTER JOIN;Sm;0;ON;;;;;Y;;;;; +27D7;FULL OUTER JOIN;Sm;0;ON;;;;;N;;;;; +27D8;LARGE UP TACK;Sm;0;ON;;;;;N;;;;; +27D9;LARGE DOWN TACK;Sm;0;ON;;;;;N;;;;; +27DA;LEFT AND RIGHT DOUBLE TURNSTILE;Sm;0;ON;;;;;N;;;;; +27DB;LEFT AND RIGHT TACK;Sm;0;ON;;;;;N;;;;; +27DC;LEFT MULTIMAP;Sm;0;ON;;;;;Y;;;;; +27DD;LONG RIGHT TACK;Sm;0;ON;;;;;Y;;;;; +27DE;LONG LEFT TACK;Sm;0;ON;;;;;Y;;;;; +27DF;UP TACK WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +27E0;LOZENGE DIVIDED BY HORIZONTAL RULE;Sm;0;ON;;;;;N;;;;; +27E1;WHITE CONCAVE-SIDED DIAMOND;Sm;0;ON;;;;;N;;;;; +27E2;WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E3;WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E4;WHITE SQUARE WITH LEFTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E5;WHITE SQUARE WITH RIGHTWARDS TICK;Sm;0;ON;;;;;Y;;;;; +27E6;MATHEMATICAL LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;;;;; +27E7;MATHEMATICAL RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;;;;; +27E8;MATHEMATICAL LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +27E9;MATHEMATICAL RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +27EA;MATHEMATICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +27EB;MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +27EC;MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;; +27ED;MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;; +27EE;MATHEMATICAL LEFT FLATTENED PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +27EF;MATHEMATICAL RIGHT FLATTENED PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +27F0;UPWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; +27F1;DOWNWARDS QUADRUPLE ARROW;Sm;0;ON;;;;;N;;;;; +27F2;ANTICLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +27F3;CLOCKWISE GAPPED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +27F4;RIGHT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +27F5;LONG LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +27F6;LONG RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +27F7;LONG LEFT RIGHT ARROW;Sm;0;ON;;;;;N;;;;; +27F8;LONG LEFTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27F9;LONG RIGHTWARDS DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27FA;LONG LEFT RIGHT DOUBLE ARROW;Sm;0;ON;;;;;N;;;;; +27FB;LONG LEFTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FC;LONG RIGHTWARDS ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FD;LONG LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FE;LONG RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +27FF;LONG RIGHTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;; +2800;BRAILLE PATTERN BLANK;So;0;L;;;;;N;;;;; +2801;BRAILLE PATTERN DOTS-1;So;0;L;;;;;N;;;;; +2802;BRAILLE PATTERN DOTS-2;So;0;L;;;;;N;;;;; +2803;BRAILLE PATTERN DOTS-12;So;0;L;;;;;N;;;;; +2804;BRAILLE PATTERN DOTS-3;So;0;L;;;;;N;;;;; +2805;BRAILLE PATTERN DOTS-13;So;0;L;;;;;N;;;;; +2806;BRAILLE PATTERN DOTS-23;So;0;L;;;;;N;;;;; +2807;BRAILLE PATTERN DOTS-123;So;0;L;;;;;N;;;;; +2808;BRAILLE PATTERN DOTS-4;So;0;L;;;;;N;;;;; +2809;BRAILLE PATTERN DOTS-14;So;0;L;;;;;N;;;;; +280A;BRAILLE PATTERN DOTS-24;So;0;L;;;;;N;;;;; +280B;BRAILLE PATTERN DOTS-124;So;0;L;;;;;N;;;;; +280C;BRAILLE PATTERN DOTS-34;So;0;L;;;;;N;;;;; +280D;BRAILLE PATTERN DOTS-134;So;0;L;;;;;N;;;;; +280E;BRAILLE PATTERN DOTS-234;So;0;L;;;;;N;;;;; +280F;BRAILLE PATTERN DOTS-1234;So;0;L;;;;;N;;;;; +2810;BRAILLE PATTERN DOTS-5;So;0;L;;;;;N;;;;; +2811;BRAILLE PATTERN DOTS-15;So;0;L;;;;;N;;;;; +2812;BRAILLE PATTERN DOTS-25;So;0;L;;;;;N;;;;; +2813;BRAILLE PATTERN DOTS-125;So;0;L;;;;;N;;;;; +2814;BRAILLE PATTERN DOTS-35;So;0;L;;;;;N;;;;; +2815;BRAILLE PATTERN DOTS-135;So;0;L;;;;;N;;;;; +2816;BRAILLE PATTERN DOTS-235;So;0;L;;;;;N;;;;; +2817;BRAILLE PATTERN DOTS-1235;So;0;L;;;;;N;;;;; +2818;BRAILLE PATTERN DOTS-45;So;0;L;;;;;N;;;;; +2819;BRAILLE PATTERN DOTS-145;So;0;L;;;;;N;;;;; +281A;BRAILLE PATTERN DOTS-245;So;0;L;;;;;N;;;;; +281B;BRAILLE PATTERN DOTS-1245;So;0;L;;;;;N;;;;; +281C;BRAILLE PATTERN DOTS-345;So;0;L;;;;;N;;;;; +281D;BRAILLE PATTERN DOTS-1345;So;0;L;;;;;N;;;;; +281E;BRAILLE PATTERN DOTS-2345;So;0;L;;;;;N;;;;; +281F;BRAILLE PATTERN DOTS-12345;So;0;L;;;;;N;;;;; +2820;BRAILLE PATTERN DOTS-6;So;0;L;;;;;N;;;;; +2821;BRAILLE PATTERN DOTS-16;So;0;L;;;;;N;;;;; +2822;BRAILLE PATTERN DOTS-26;So;0;L;;;;;N;;;;; +2823;BRAILLE PATTERN DOTS-126;So;0;L;;;;;N;;;;; +2824;BRAILLE PATTERN DOTS-36;So;0;L;;;;;N;;;;; +2825;BRAILLE PATTERN DOTS-136;So;0;L;;;;;N;;;;; +2826;BRAILLE PATTERN DOTS-236;So;0;L;;;;;N;;;;; +2827;BRAILLE PATTERN DOTS-1236;So;0;L;;;;;N;;;;; +2828;BRAILLE PATTERN DOTS-46;So;0;L;;;;;N;;;;; +2829;BRAILLE PATTERN DOTS-146;So;0;L;;;;;N;;;;; +282A;BRAILLE PATTERN DOTS-246;So;0;L;;;;;N;;;;; +282B;BRAILLE PATTERN DOTS-1246;So;0;L;;;;;N;;;;; +282C;BRAILLE PATTERN DOTS-346;So;0;L;;;;;N;;;;; +282D;BRAILLE PATTERN DOTS-1346;So;0;L;;;;;N;;;;; +282E;BRAILLE PATTERN DOTS-2346;So;0;L;;;;;N;;;;; +282F;BRAILLE PATTERN DOTS-12346;So;0;L;;;;;N;;;;; +2830;BRAILLE PATTERN DOTS-56;So;0;L;;;;;N;;;;; +2831;BRAILLE PATTERN DOTS-156;So;0;L;;;;;N;;;;; +2832;BRAILLE PATTERN DOTS-256;So;0;L;;;;;N;;;;; +2833;BRAILLE PATTERN DOTS-1256;So;0;L;;;;;N;;;;; +2834;BRAILLE PATTERN DOTS-356;So;0;L;;;;;N;;;;; +2835;BRAILLE PATTERN DOTS-1356;So;0;L;;;;;N;;;;; +2836;BRAILLE PATTERN DOTS-2356;So;0;L;;;;;N;;;;; +2837;BRAILLE PATTERN DOTS-12356;So;0;L;;;;;N;;;;; +2838;BRAILLE PATTERN DOTS-456;So;0;L;;;;;N;;;;; +2839;BRAILLE PATTERN DOTS-1456;So;0;L;;;;;N;;;;; +283A;BRAILLE PATTERN DOTS-2456;So;0;L;;;;;N;;;;; +283B;BRAILLE PATTERN DOTS-12456;So;0;L;;;;;N;;;;; +283C;BRAILLE PATTERN DOTS-3456;So;0;L;;;;;N;;;;; +283D;BRAILLE PATTERN DOTS-13456;So;0;L;;;;;N;;;;; +283E;BRAILLE PATTERN DOTS-23456;So;0;L;;;;;N;;;;; +283F;BRAILLE PATTERN DOTS-123456;So;0;L;;;;;N;;;;; +2840;BRAILLE PATTERN DOTS-7;So;0;L;;;;;N;;;;; +2841;BRAILLE PATTERN DOTS-17;So;0;L;;;;;N;;;;; +2842;BRAILLE PATTERN DOTS-27;So;0;L;;;;;N;;;;; +2843;BRAILLE PATTERN DOTS-127;So;0;L;;;;;N;;;;; +2844;BRAILLE PATTERN DOTS-37;So;0;L;;;;;N;;;;; +2845;BRAILLE PATTERN DOTS-137;So;0;L;;;;;N;;;;; +2846;BRAILLE PATTERN DOTS-237;So;0;L;;;;;N;;;;; +2847;BRAILLE PATTERN DOTS-1237;So;0;L;;;;;N;;;;; +2848;BRAILLE PATTERN DOTS-47;So;0;L;;;;;N;;;;; +2849;BRAILLE PATTERN DOTS-147;So;0;L;;;;;N;;;;; +284A;BRAILLE PATTERN DOTS-247;So;0;L;;;;;N;;;;; +284B;BRAILLE PATTERN DOTS-1247;So;0;L;;;;;N;;;;; +284C;BRAILLE PATTERN DOTS-347;So;0;L;;;;;N;;;;; +284D;BRAILLE PATTERN DOTS-1347;So;0;L;;;;;N;;;;; +284E;BRAILLE PATTERN DOTS-2347;So;0;L;;;;;N;;;;; +284F;BRAILLE PATTERN DOTS-12347;So;0;L;;;;;N;;;;; +2850;BRAILLE PATTERN DOTS-57;So;0;L;;;;;N;;;;; +2851;BRAILLE PATTERN DOTS-157;So;0;L;;;;;N;;;;; +2852;BRAILLE PATTERN DOTS-257;So;0;L;;;;;N;;;;; +2853;BRAILLE PATTERN DOTS-1257;So;0;L;;;;;N;;;;; +2854;BRAILLE PATTERN DOTS-357;So;0;L;;;;;N;;;;; +2855;BRAILLE PATTERN DOTS-1357;So;0;L;;;;;N;;;;; +2856;BRAILLE PATTERN DOTS-2357;So;0;L;;;;;N;;;;; +2857;BRAILLE PATTERN DOTS-12357;So;0;L;;;;;N;;;;; +2858;BRAILLE PATTERN DOTS-457;So;0;L;;;;;N;;;;; +2859;BRAILLE PATTERN DOTS-1457;So;0;L;;;;;N;;;;; +285A;BRAILLE PATTERN DOTS-2457;So;0;L;;;;;N;;;;; +285B;BRAILLE PATTERN DOTS-12457;So;0;L;;;;;N;;;;; +285C;BRAILLE PATTERN DOTS-3457;So;0;L;;;;;N;;;;; +285D;BRAILLE PATTERN DOTS-13457;So;0;L;;;;;N;;;;; +285E;BRAILLE PATTERN DOTS-23457;So;0;L;;;;;N;;;;; +285F;BRAILLE PATTERN DOTS-123457;So;0;L;;;;;N;;;;; +2860;BRAILLE PATTERN DOTS-67;So;0;L;;;;;N;;;;; +2861;BRAILLE PATTERN DOTS-167;So;0;L;;;;;N;;;;; +2862;BRAILLE PATTERN DOTS-267;So;0;L;;;;;N;;;;; +2863;BRAILLE PATTERN DOTS-1267;So;0;L;;;;;N;;;;; +2864;BRAILLE PATTERN DOTS-367;So;0;L;;;;;N;;;;; +2865;BRAILLE PATTERN DOTS-1367;So;0;L;;;;;N;;;;; +2866;BRAILLE PATTERN DOTS-2367;So;0;L;;;;;N;;;;; +2867;BRAILLE PATTERN DOTS-12367;So;0;L;;;;;N;;;;; +2868;BRAILLE PATTERN DOTS-467;So;0;L;;;;;N;;;;; +2869;BRAILLE PATTERN DOTS-1467;So;0;L;;;;;N;;;;; +286A;BRAILLE PATTERN DOTS-2467;So;0;L;;;;;N;;;;; +286B;BRAILLE PATTERN DOTS-12467;So;0;L;;;;;N;;;;; +286C;BRAILLE PATTERN DOTS-3467;So;0;L;;;;;N;;;;; +286D;BRAILLE PATTERN DOTS-13467;So;0;L;;;;;N;;;;; +286E;BRAILLE PATTERN DOTS-23467;So;0;L;;;;;N;;;;; +286F;BRAILLE PATTERN DOTS-123467;So;0;L;;;;;N;;;;; +2870;BRAILLE PATTERN DOTS-567;So;0;L;;;;;N;;;;; +2871;BRAILLE PATTERN DOTS-1567;So;0;L;;;;;N;;;;; +2872;BRAILLE PATTERN DOTS-2567;So;0;L;;;;;N;;;;; +2873;BRAILLE PATTERN DOTS-12567;So;0;L;;;;;N;;;;; +2874;BRAILLE PATTERN DOTS-3567;So;0;L;;;;;N;;;;; +2875;BRAILLE PATTERN DOTS-13567;So;0;L;;;;;N;;;;; +2876;BRAILLE PATTERN DOTS-23567;So;0;L;;;;;N;;;;; +2877;BRAILLE PATTERN DOTS-123567;So;0;L;;;;;N;;;;; +2878;BRAILLE PATTERN DOTS-4567;So;0;L;;;;;N;;;;; +2879;BRAILLE PATTERN DOTS-14567;So;0;L;;;;;N;;;;; +287A;BRAILLE PATTERN DOTS-24567;So;0;L;;;;;N;;;;; +287B;BRAILLE PATTERN DOTS-124567;So;0;L;;;;;N;;;;; +287C;BRAILLE PATTERN DOTS-34567;So;0;L;;;;;N;;;;; +287D;BRAILLE PATTERN DOTS-134567;So;0;L;;;;;N;;;;; +287E;BRAILLE PATTERN DOTS-234567;So;0;L;;;;;N;;;;; +287F;BRAILLE PATTERN DOTS-1234567;So;0;L;;;;;N;;;;; +2880;BRAILLE PATTERN DOTS-8;So;0;L;;;;;N;;;;; +2881;BRAILLE PATTERN DOTS-18;So;0;L;;;;;N;;;;; +2882;BRAILLE PATTERN DOTS-28;So;0;L;;;;;N;;;;; +2883;BRAILLE PATTERN DOTS-128;So;0;L;;;;;N;;;;; +2884;BRAILLE PATTERN DOTS-38;So;0;L;;;;;N;;;;; +2885;BRAILLE PATTERN DOTS-138;So;0;L;;;;;N;;;;; +2886;BRAILLE PATTERN DOTS-238;So;0;L;;;;;N;;;;; +2887;BRAILLE PATTERN DOTS-1238;So;0;L;;;;;N;;;;; +2888;BRAILLE PATTERN DOTS-48;So;0;L;;;;;N;;;;; +2889;BRAILLE PATTERN DOTS-148;So;0;L;;;;;N;;;;; +288A;BRAILLE PATTERN DOTS-248;So;0;L;;;;;N;;;;; +288B;BRAILLE PATTERN DOTS-1248;So;0;L;;;;;N;;;;; +288C;BRAILLE PATTERN DOTS-348;So;0;L;;;;;N;;;;; +288D;BRAILLE PATTERN DOTS-1348;So;0;L;;;;;N;;;;; +288E;BRAILLE PATTERN DOTS-2348;So;0;L;;;;;N;;;;; +288F;BRAILLE PATTERN DOTS-12348;So;0;L;;;;;N;;;;; +2890;BRAILLE PATTERN DOTS-58;So;0;L;;;;;N;;;;; +2891;BRAILLE PATTERN DOTS-158;So;0;L;;;;;N;;;;; +2892;BRAILLE PATTERN DOTS-258;So;0;L;;;;;N;;;;; +2893;BRAILLE PATTERN DOTS-1258;So;0;L;;;;;N;;;;; +2894;BRAILLE PATTERN DOTS-358;So;0;L;;;;;N;;;;; +2895;BRAILLE PATTERN DOTS-1358;So;0;L;;;;;N;;;;; +2896;BRAILLE PATTERN DOTS-2358;So;0;L;;;;;N;;;;; +2897;BRAILLE PATTERN DOTS-12358;So;0;L;;;;;N;;;;; +2898;BRAILLE PATTERN DOTS-458;So;0;L;;;;;N;;;;; +2899;BRAILLE PATTERN DOTS-1458;So;0;L;;;;;N;;;;; +289A;BRAILLE PATTERN DOTS-2458;So;0;L;;;;;N;;;;; +289B;BRAILLE PATTERN DOTS-12458;So;0;L;;;;;N;;;;; +289C;BRAILLE PATTERN DOTS-3458;So;0;L;;;;;N;;;;; +289D;BRAILLE PATTERN DOTS-13458;So;0;L;;;;;N;;;;; +289E;BRAILLE PATTERN DOTS-23458;So;0;L;;;;;N;;;;; +289F;BRAILLE PATTERN DOTS-123458;So;0;L;;;;;N;;;;; +28A0;BRAILLE PATTERN DOTS-68;So;0;L;;;;;N;;;;; +28A1;BRAILLE PATTERN DOTS-168;So;0;L;;;;;N;;;;; +28A2;BRAILLE PATTERN DOTS-268;So;0;L;;;;;N;;;;; +28A3;BRAILLE PATTERN DOTS-1268;So;0;L;;;;;N;;;;; +28A4;BRAILLE PATTERN DOTS-368;So;0;L;;;;;N;;;;; +28A5;BRAILLE PATTERN DOTS-1368;So;0;L;;;;;N;;;;; +28A6;BRAILLE PATTERN DOTS-2368;So;0;L;;;;;N;;;;; +28A7;BRAILLE PATTERN DOTS-12368;So;0;L;;;;;N;;;;; +28A8;BRAILLE PATTERN DOTS-468;So;0;L;;;;;N;;;;; +28A9;BRAILLE PATTERN DOTS-1468;So;0;L;;;;;N;;;;; +28AA;BRAILLE PATTERN DOTS-2468;So;0;L;;;;;N;;;;; +28AB;BRAILLE PATTERN DOTS-12468;So;0;L;;;;;N;;;;; +28AC;BRAILLE PATTERN DOTS-3468;So;0;L;;;;;N;;;;; +28AD;BRAILLE PATTERN DOTS-13468;So;0;L;;;;;N;;;;; +28AE;BRAILLE PATTERN DOTS-23468;So;0;L;;;;;N;;;;; +28AF;BRAILLE PATTERN DOTS-123468;So;0;L;;;;;N;;;;; +28B0;BRAILLE PATTERN DOTS-568;So;0;L;;;;;N;;;;; +28B1;BRAILLE PATTERN DOTS-1568;So;0;L;;;;;N;;;;; +28B2;BRAILLE PATTERN DOTS-2568;So;0;L;;;;;N;;;;; +28B3;BRAILLE PATTERN DOTS-12568;So;0;L;;;;;N;;;;; +28B4;BRAILLE PATTERN DOTS-3568;So;0;L;;;;;N;;;;; +28B5;BRAILLE PATTERN DOTS-13568;So;0;L;;;;;N;;;;; +28B6;BRAILLE PATTERN DOTS-23568;So;0;L;;;;;N;;;;; +28B7;BRAILLE PATTERN DOTS-123568;So;0;L;;;;;N;;;;; +28B8;BRAILLE PATTERN DOTS-4568;So;0;L;;;;;N;;;;; +28B9;BRAILLE PATTERN DOTS-14568;So;0;L;;;;;N;;;;; +28BA;BRAILLE PATTERN DOTS-24568;So;0;L;;;;;N;;;;; +28BB;BRAILLE PATTERN DOTS-124568;So;0;L;;;;;N;;;;; +28BC;BRAILLE PATTERN DOTS-34568;So;0;L;;;;;N;;;;; +28BD;BRAILLE PATTERN DOTS-134568;So;0;L;;;;;N;;;;; +28BE;BRAILLE PATTERN DOTS-234568;So;0;L;;;;;N;;;;; +28BF;BRAILLE PATTERN DOTS-1234568;So;0;L;;;;;N;;;;; +28C0;BRAILLE PATTERN DOTS-78;So;0;L;;;;;N;;;;; +28C1;BRAILLE PATTERN DOTS-178;So;0;L;;;;;N;;;;; +28C2;BRAILLE PATTERN DOTS-278;So;0;L;;;;;N;;;;; +28C3;BRAILLE PATTERN DOTS-1278;So;0;L;;;;;N;;;;; +28C4;BRAILLE PATTERN DOTS-378;So;0;L;;;;;N;;;;; +28C5;BRAILLE PATTERN DOTS-1378;So;0;L;;;;;N;;;;; +28C6;BRAILLE PATTERN DOTS-2378;So;0;L;;;;;N;;;;; +28C7;BRAILLE PATTERN DOTS-12378;So;0;L;;;;;N;;;;; +28C8;BRAILLE PATTERN DOTS-478;So;0;L;;;;;N;;;;; +28C9;BRAILLE PATTERN DOTS-1478;So;0;L;;;;;N;;;;; +28CA;BRAILLE PATTERN DOTS-2478;So;0;L;;;;;N;;;;; +28CB;BRAILLE PATTERN DOTS-12478;So;0;L;;;;;N;;;;; +28CC;BRAILLE PATTERN DOTS-3478;So;0;L;;;;;N;;;;; +28CD;BRAILLE PATTERN DOTS-13478;So;0;L;;;;;N;;;;; +28CE;BRAILLE PATTERN DOTS-23478;So;0;L;;;;;N;;;;; +28CF;BRAILLE PATTERN DOTS-123478;So;0;L;;;;;N;;;;; +28D0;BRAILLE PATTERN DOTS-578;So;0;L;;;;;N;;;;; +28D1;BRAILLE PATTERN DOTS-1578;So;0;L;;;;;N;;;;; +28D2;BRAILLE PATTERN DOTS-2578;So;0;L;;;;;N;;;;; +28D3;BRAILLE PATTERN DOTS-12578;So;0;L;;;;;N;;;;; +28D4;BRAILLE PATTERN DOTS-3578;So;0;L;;;;;N;;;;; +28D5;BRAILLE PATTERN DOTS-13578;So;0;L;;;;;N;;;;; +28D6;BRAILLE PATTERN DOTS-23578;So;0;L;;;;;N;;;;; +28D7;BRAILLE PATTERN DOTS-123578;So;0;L;;;;;N;;;;; +28D8;BRAILLE PATTERN DOTS-4578;So;0;L;;;;;N;;;;; +28D9;BRAILLE PATTERN DOTS-14578;So;0;L;;;;;N;;;;; +28DA;BRAILLE PATTERN DOTS-24578;So;0;L;;;;;N;;;;; +28DB;BRAILLE PATTERN DOTS-124578;So;0;L;;;;;N;;;;; +28DC;BRAILLE PATTERN DOTS-34578;So;0;L;;;;;N;;;;; +28DD;BRAILLE PATTERN DOTS-134578;So;0;L;;;;;N;;;;; +28DE;BRAILLE PATTERN DOTS-234578;So;0;L;;;;;N;;;;; +28DF;BRAILLE PATTERN DOTS-1234578;So;0;L;;;;;N;;;;; +28E0;BRAILLE PATTERN DOTS-678;So;0;L;;;;;N;;;;; +28E1;BRAILLE PATTERN DOTS-1678;So;0;L;;;;;N;;;;; +28E2;BRAILLE PATTERN DOTS-2678;So;0;L;;;;;N;;;;; +28E3;BRAILLE PATTERN DOTS-12678;So;0;L;;;;;N;;;;; +28E4;BRAILLE PATTERN DOTS-3678;So;0;L;;;;;N;;;;; +28E5;BRAILLE PATTERN DOTS-13678;So;0;L;;;;;N;;;;; +28E6;BRAILLE PATTERN DOTS-23678;So;0;L;;;;;N;;;;; +28E7;BRAILLE PATTERN DOTS-123678;So;0;L;;;;;N;;;;; +28E8;BRAILLE PATTERN DOTS-4678;So;0;L;;;;;N;;;;; +28E9;BRAILLE PATTERN DOTS-14678;So;0;L;;;;;N;;;;; +28EA;BRAILLE PATTERN DOTS-24678;So;0;L;;;;;N;;;;; +28EB;BRAILLE PATTERN DOTS-124678;So;0;L;;;;;N;;;;; +28EC;BRAILLE PATTERN DOTS-34678;So;0;L;;;;;N;;;;; +28ED;BRAILLE PATTERN DOTS-134678;So;0;L;;;;;N;;;;; +28EE;BRAILLE PATTERN DOTS-234678;So;0;L;;;;;N;;;;; +28EF;BRAILLE PATTERN DOTS-1234678;So;0;L;;;;;N;;;;; +28F0;BRAILLE PATTERN DOTS-5678;So;0;L;;;;;N;;;;; +28F1;BRAILLE PATTERN DOTS-15678;So;0;L;;;;;N;;;;; +28F2;BRAILLE PATTERN DOTS-25678;So;0;L;;;;;N;;;;; +28F3;BRAILLE PATTERN DOTS-125678;So;0;L;;;;;N;;;;; +28F4;BRAILLE PATTERN DOTS-35678;So;0;L;;;;;N;;;;; +28F5;BRAILLE PATTERN DOTS-135678;So;0;L;;;;;N;;;;; +28F6;BRAILLE PATTERN DOTS-235678;So;0;L;;;;;N;;;;; +28F7;BRAILLE PATTERN DOTS-1235678;So;0;L;;;;;N;;;;; +28F8;BRAILLE PATTERN DOTS-45678;So;0;L;;;;;N;;;;; +28F9;BRAILLE PATTERN DOTS-145678;So;0;L;;;;;N;;;;; +28FA;BRAILLE PATTERN DOTS-245678;So;0;L;;;;;N;;;;; +28FB;BRAILLE PATTERN DOTS-1245678;So;0;L;;;;;N;;;;; +28FC;BRAILLE PATTERN DOTS-345678;So;0;L;;;;;N;;;;; +28FD;BRAILLE PATTERN DOTS-1345678;So;0;L;;;;;N;;;;; +28FE;BRAILLE PATTERN DOTS-2345678;So;0;L;;;;;N;;;;; +28FF;BRAILLE PATTERN DOTS-12345678;So;0;L;;;;;N;;;;; +2900;RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2901;RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2902;LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2903;RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2904;LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2905;RIGHTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2906;LEFTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2907;RIGHTWARDS DOUBLE ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2908;DOWNWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2909;UPWARDS ARROW WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +290A;UPWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; +290B;DOWNWARDS TRIPLE ARROW;Sm;0;ON;;;;;N;;;;; +290C;LEFTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290D;RIGHTWARDS DOUBLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290E;LEFTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +290F;RIGHTWARDS TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2910;RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2911;RIGHTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;; +2912;UPWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; +2913;DOWNWARDS ARROW TO BAR;Sm;0;ON;;;;;N;;;;; +2914;RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2915;RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2916;RIGHTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;; +2917;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2918;RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2919;LEFTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291A;RIGHTWARDS ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291B;LEFTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291C;RIGHTWARDS DOUBLE ARROW-TAIL;Sm;0;ON;;;;;N;;;;; +291D;LEFTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +291E;RIGHTWARDS ARROW TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +291F;LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +2920;RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +2921;NORTH WEST AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2922;NORTH EAST AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +2923;NORTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2924;NORTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2925;SOUTH EAST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2926;SOUTH WEST ARROW WITH HOOK;Sm;0;ON;;;;;N;;;;; +2927;NORTH WEST ARROW AND NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2928;NORTH EAST ARROW AND SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2929;SOUTH EAST ARROW AND SOUTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +292A;SOUTH WEST ARROW AND NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +292B;RISING DIAGONAL CROSSING FALLING DIAGONAL;Sm;0;ON;;;;;N;;;;; +292C;FALLING DIAGONAL CROSSING RISING DIAGONAL;Sm;0;ON;;;;;N;;;;; +292D;SOUTH EAST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +292E;NORTH EAST ARROW CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +292F;FALLING DIAGONAL CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2930;RISING DIAGONAL CROSSING SOUTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2931;NORTH EAST ARROW CROSSING NORTH WEST ARROW;Sm;0;ON;;;;;N;;;;; +2932;NORTH WEST ARROW CROSSING NORTH EAST ARROW;Sm;0;ON;;;;;N;;;;; +2933;WAVE ARROW POINTING DIRECTLY RIGHT;Sm;0;ON;;;;;N;;;;; +2934;ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS;Sm;0;ON;;;;;N;;;;; +2935;ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS;Sm;0;ON;;;;;N;;;;; +2936;ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS;Sm;0;ON;;;;;N;;;;; +2937;ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS;Sm;0;ON;;;;;N;;;;; +2938;RIGHT-SIDE ARC CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +2939;LEFT-SIDE ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293A;TOP ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293B;BOTTOM ARC ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293C;TOP ARC CLOCKWISE ARROW WITH MINUS;Sm;0;ON;;;;;N;;;;; +293D;TOP ARC ANTICLOCKWISE ARROW WITH PLUS;Sm;0;ON;;;;;N;;;;; +293E;LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +293F;LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW;Sm;0;ON;;;;;N;;;;; +2940;ANTICLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +2941;CLOCKWISE CLOSED CIRCLE ARROW;Sm;0;ON;;;;;N;;;;; +2942;RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2943;LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2944;SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2945;RIGHTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; +2946;LEFTWARDS ARROW WITH PLUS BELOW;Sm;0;ON;;;;;N;;;;; +2947;RIGHTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;; +2948;LEFT RIGHT ARROW THROUGH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +2949;UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +294A;LEFT BARB UP RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; +294B;LEFT BARB DOWN RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; +294C;UP BARB RIGHT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; +294D;UP BARB LEFT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; +294E;LEFT BARB UP RIGHT BARB UP HARPOON;Sm;0;ON;;;;;N;;;;; +294F;UP BARB RIGHT DOWN BARB RIGHT HARPOON;Sm;0;ON;;;;;N;;;;; +2950;LEFT BARB DOWN RIGHT BARB DOWN HARPOON;Sm;0;ON;;;;;N;;;;; +2951;UP BARB LEFT DOWN BARB LEFT HARPOON;Sm;0;ON;;;;;N;;;;; +2952;LEFTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; +2953;RIGHTWARDS HARPOON WITH BARB UP TO BAR;Sm;0;ON;;;;;N;;;;; +2954;UPWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; +2955;DOWNWARDS HARPOON WITH BARB RIGHT TO BAR;Sm;0;ON;;;;;N;;;;; +2956;LEFTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; +2957;RIGHTWARDS HARPOON WITH BARB DOWN TO BAR;Sm;0;ON;;;;;N;;;;; +2958;UPWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; +2959;DOWNWARDS HARPOON WITH BARB LEFT TO BAR;Sm;0;ON;;;;;N;;;;; +295A;LEFTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; +295B;RIGHTWARDS HARPOON WITH BARB UP FROM BAR;Sm;0;ON;;;;;N;;;;; +295C;UPWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; +295D;DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR;Sm;0;ON;;;;;N;;;;; +295E;LEFTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; +295F;RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR;Sm;0;ON;;;;;N;;;;; +2960;UPWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; +2961;DOWNWARDS HARPOON WITH BARB LEFT FROM BAR;Sm;0;ON;;;;;N;;;;; +2962;LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2963;UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2964;RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2965;DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2966;LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; +2967;LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +2968;RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP;Sm;0;ON;;;;;N;;;;; +2969;RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN;Sm;0;ON;;;;;N;;;;; +296A;LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; +296B;LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; +296C;RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH;Sm;0;ON;;;;;N;;;;; +296D;RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH;Sm;0;ON;;;;;N;;;;; +296E;UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +296F;DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT;Sm;0;ON;;;;;N;;;;; +2970;RIGHT DOUBLE ARROW WITH ROUNDED HEAD;Sm;0;ON;;;;;N;;;;; +2971;EQUALS SIGN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2972;TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2973;LEFTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2974;RIGHTWARDS ARROW ABOVE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2975;RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2976;LESS-THAN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2977;LEFTWARDS ARROW THROUGH LESS-THAN;Sm;0;ON;;;;;N;;;;; +2978;GREATER-THAN ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2979;SUBSET ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +297A;LEFTWARDS ARROW THROUGH SUBSET;Sm;0;ON;;;;;N;;;;; +297B;SUPERSET ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +297C;LEFT FISH TAIL;Sm;0;ON;;;;;N;;;;; +297D;RIGHT FISH TAIL;Sm;0;ON;;;;;N;;;;; +297E;UP FISH TAIL;Sm;0;ON;;;;;N;;;;; +297F;DOWN FISH TAIL;Sm;0;ON;;;;;N;;;;; +2980;TRIPLE VERTICAL BAR DELIMITER;Sm;0;ON;;;;;N;;;;; +2981;Z NOTATION SPOT;Sm;0;ON;;;;;N;;;;; +2982;Z NOTATION TYPE COLON;Sm;0;ON;;;;;N;;;;; +2983;LEFT WHITE CURLY BRACKET;Ps;0;ON;;;;;Y;;;;; +2984;RIGHT WHITE CURLY BRACKET;Pe;0;ON;;;;;Y;;;;; +2985;LEFT WHITE PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +2986;RIGHT WHITE PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +2987;Z NOTATION LEFT IMAGE BRACKET;Ps;0;ON;;;;;Y;;;;; +2988;Z NOTATION RIGHT IMAGE BRACKET;Pe;0;ON;;;;;Y;;;;; +2989;Z NOTATION LEFT BINDING BRACKET;Ps;0;ON;;;;;Y;;;;; +298A;Z NOTATION RIGHT BINDING BRACKET;Pe;0;ON;;;;;Y;;;;; +298B;LEFT SQUARE BRACKET WITH UNDERBAR;Ps;0;ON;;;;;Y;;;;; +298C;RIGHT SQUARE BRACKET WITH UNDERBAR;Pe;0;ON;;;;;Y;;;;; +298D;LEFT SQUARE BRACKET WITH TICK IN TOP CORNER;Ps;0;ON;;;;;Y;;;;; +298E;RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Pe;0;ON;;;;;Y;;;;; +298F;LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER;Ps;0;ON;;;;;Y;;;;; +2990;RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER;Pe;0;ON;;;;;Y;;;;; +2991;LEFT ANGLE BRACKET WITH DOT;Ps;0;ON;;;;;Y;;;;; +2992;RIGHT ANGLE BRACKET WITH DOT;Pe;0;ON;;;;;Y;;;;; +2993;LEFT ARC LESS-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; +2994;RIGHT ARC GREATER-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; +2995;DOUBLE LEFT ARC GREATER-THAN BRACKET;Ps;0;ON;;;;;Y;;;;; +2996;DOUBLE RIGHT ARC LESS-THAN BRACKET;Pe;0;ON;;;;;Y;;;;; +2997;LEFT BLACK TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;;;;; +2998;RIGHT BLACK TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;;;;; +2999;DOTTED FENCE;Sm;0;ON;;;;;N;;;;; +299A;VERTICAL ZIGZAG LINE;Sm;0;ON;;;;;N;;;;; +299B;MEASURED ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; +299C;RIGHT ANGLE VARIANT WITH SQUARE;Sm;0;ON;;;;;Y;;;;; +299D;MEASURED RIGHT ANGLE WITH DOT;Sm;0;ON;;;;;Y;;;;; +299E;ANGLE WITH S INSIDE;Sm;0;ON;;;;;Y;;;;; +299F;ACUTE ANGLE;Sm;0;ON;;;;;Y;;;;; +29A0;SPHERICAL ANGLE OPENING LEFT;Sm;0;ON;;;;;Y;;;;; +29A1;SPHERICAL ANGLE OPENING UP;Sm;0;ON;;;;;N;;;;; +29A2;TURNED ANGLE;Sm;0;ON;;;;;Y;;;;; +29A3;REVERSED ANGLE;Sm;0;ON;;;;;Y;;;;; +29A4;ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +29A5;REVERSED ANGLE WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +29A6;OBLIQUE ANGLE OPENING UP;Sm;0;ON;;;;;Y;;;;; +29A7;OBLIQUE ANGLE OPENING DOWN;Sm;0;ON;;;;;Y;;;;; +29A8;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT;Sm;0;ON;;;;;Y;;;;; +29A9;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT;Sm;0;ON;;;;;Y;;;;; +29AA;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT;Sm;0;ON;;;;;Y;;;;; +29AB;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT;Sm;0;ON;;;;;Y;;;;; +29AC;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP;Sm;0;ON;;;;;Y;;;;; +29AD;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP;Sm;0;ON;;;;;Y;;;;; +29AE;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN;Sm;0;ON;;;;;Y;;;;; +29AF;MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN;Sm;0;ON;;;;;Y;;;;; +29B0;REVERSED EMPTY SET;Sm;0;ON;;;;;N;;;;; +29B1;EMPTY SET WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +29B2;EMPTY SET WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +29B3;EMPTY SET WITH RIGHT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; +29B4;EMPTY SET WITH LEFT ARROW ABOVE;Sm;0;ON;;;;;N;;;;; +29B5;CIRCLE WITH HORIZONTAL BAR;Sm;0;ON;;;;;N;;;;; +29B6;CIRCLED VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29B7;CIRCLED PARALLEL;Sm;0;ON;;;;;N;;;;; +29B8;CIRCLED REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29B9;CIRCLED PERPENDICULAR;Sm;0;ON;;;;;N;;;;; +29BA;CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29BB;CIRCLE WITH SUPERIMPOSED X;Sm;0;ON;;;;;N;;;;; +29BC;CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +29BD;UP ARROW THROUGH CIRCLE;Sm;0;ON;;;;;N;;;;; +29BE;CIRCLED WHITE BULLET;Sm;0;ON;;;;;N;;;;; +29BF;CIRCLED BULLET;Sm;0;ON;;;;;N;;;;; +29C0;CIRCLED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +29C1;CIRCLED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +29C2;CIRCLE WITH SMALL CIRCLE TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; +29C3;CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT;Sm;0;ON;;;;;Y;;;;; +29C4;SQUARED RISING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; +29C5;SQUARED FALLING DIAGONAL SLASH;Sm;0;ON;;;;;Y;;;;; +29C6;SQUARED ASTERISK;Sm;0;ON;;;;;N;;;;; +29C7;SQUARED SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +29C8;SQUARED SQUARE;Sm;0;ON;;;;;N;;;;; +29C9;TWO JOINED SQUARES;Sm;0;ON;;;;;Y;;;;; +29CA;TRIANGLE WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +29CB;TRIANGLE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +29CC;S IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +29CD;TRIANGLE WITH SERIFS AT BOTTOM;Sm;0;ON;;;;;N;;;;; +29CE;RIGHT TRIANGLE ABOVE LEFT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +29CF;LEFT TRIANGLE BESIDE VERTICAL BAR;Sm;0;ON;;;;;Y;;;;; +29D0;VERTICAL BAR BESIDE RIGHT TRIANGLE;Sm;0;ON;;;;;Y;;;;; +29D1;BOWTIE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D2;BOWTIE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D3;BLACK BOWTIE;Sm;0;ON;;;;;N;;;;; +29D4;TIMES WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D5;TIMES WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29D6;WHITE HOURGLASS;Sm;0;ON;;;;;N;;;;; +29D7;BLACK HOURGLASS;Sm;0;ON;;;;;N;;;;; +29D8;LEFT WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; +29D9;RIGHT WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; +29DA;LEFT DOUBLE WIGGLY FENCE;Ps;0;ON;;;;;Y;;;;; +29DB;RIGHT DOUBLE WIGGLY FENCE;Pe;0;ON;;;;;Y;;;;; +29DC;INCOMPLETE INFINITY;Sm;0;ON;;;;;Y;;;;; +29DD;TIE OVER INFINITY;Sm;0;ON;;;;;N;;;;; +29DE;INFINITY NEGATED WITH VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +29DF;DOUBLE-ENDED MULTIMAP;Sm;0;ON;;;;;N;;;;; +29E0;SQUARE WITH CONTOURED OUTLINE;Sm;0;ON;;;;;N;;;;; +29E1;INCREASES AS;Sm;0;ON;;;;;Y;;;;; +29E2;SHUFFLE PRODUCT;Sm;0;ON;;;;;N;;;;; +29E3;EQUALS SIGN AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; +29E4;EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; +29E5;IDENTICAL TO AND SLANTED PARALLEL;Sm;0;ON;;;;;Y;;;;; +29E6;GLEICH STARK;Sm;0;ON;;;;;N;;;;; +29E7;THERMODYNAMIC;Sm;0;ON;;;;;N;;;;; +29E8;DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29E9;DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK;Sm;0;ON;;;;;Y;;;;; +29EA;BLACK DIAMOND WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29EB;BLACK LOZENGE;Sm;0;ON;;;;;N;;;;; +29EC;WHITE CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29ED;BLACK CIRCLE WITH DOWN ARROW;Sm;0;ON;;;;;N;;;;; +29EE;ERROR-BARRED WHITE SQUARE;Sm;0;ON;;;;;N;;;;; +29EF;ERROR-BARRED BLACK SQUARE;Sm;0;ON;;;;;N;;;;; +29F0;ERROR-BARRED WHITE DIAMOND;Sm;0;ON;;;;;N;;;;; +29F1;ERROR-BARRED BLACK DIAMOND;Sm;0;ON;;;;;N;;;;; +29F2;ERROR-BARRED WHITE CIRCLE;Sm;0;ON;;;;;N;;;;; +29F3;ERROR-BARRED BLACK CIRCLE;Sm;0;ON;;;;;N;;;;; +29F4;RULE-DELAYED;Sm;0;ON;;;;;Y;;;;; +29F5;REVERSE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; +29F6;SOLIDUS WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +29F7;REVERSE SOLIDUS WITH HORIZONTAL STROKE;Sm;0;ON;;;;;Y;;;;; +29F8;BIG SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29F9;BIG REVERSE SOLIDUS;Sm;0;ON;;;;;Y;;;;; +29FA;DOUBLE PLUS;Sm;0;ON;;;;;N;;;;; +29FB;TRIPLE PLUS;Sm;0;ON;;;;;N;;;;; +29FC;LEFT-POINTING CURVED ANGLE BRACKET;Ps;0;ON;;;;;Y;;;;; +29FD;RIGHT-POINTING CURVED ANGLE BRACKET;Pe;0;ON;;;;;Y;;;;; +29FE;TINY;Sm;0;ON;;;;;N;;;;; +29FF;MINY;Sm;0;ON;;;;;N;;;;; +2A00;N-ARY CIRCLED DOT OPERATOR;Sm;0;ON;;;;;N;;;;; +2A01;N-ARY CIRCLED PLUS OPERATOR;Sm;0;ON;;;;;N;;;;; +2A02;N-ARY CIRCLED TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; +2A03;N-ARY UNION OPERATOR WITH DOT;Sm;0;ON;;;;;N;;;;; +2A04;N-ARY UNION OPERATOR WITH PLUS;Sm;0;ON;;;;;N;;;;; +2A05;N-ARY SQUARE INTERSECTION OPERATOR;Sm;0;ON;;;;;N;;;;; +2A06;N-ARY SQUARE UNION OPERATOR;Sm;0;ON;;;;;N;;;;; +2A07;TWO LOGICAL AND OPERATOR;Sm;0;ON;;;;;N;;;;; +2A08;TWO LOGICAL OR OPERATOR;Sm;0;ON;;;;;N;;;;; +2A09;N-ARY TIMES OPERATOR;Sm;0;ON;;;;;N;;;;; +2A0A;MODULO TWO SUM;Sm;0;ON;;;;;Y;;;;; +2A0B;SUMMATION WITH INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2A0C;QUADRUPLE INTEGRAL OPERATOR;Sm;0;ON; 222B 222B 222B 222B;;;;Y;;;;; +2A0D;FINITE PART INTEGRAL;Sm;0;ON;;;;;Y;;;;; +2A0E;INTEGRAL WITH DOUBLE STROKE;Sm;0;ON;;;;;Y;;;;; +2A0F;INTEGRAL AVERAGE WITH SLASH;Sm;0;ON;;;;;Y;;;;; +2A10;CIRCULATION FUNCTION;Sm;0;ON;;;;;Y;;;;; +2A11;ANTICLOCKWISE INTEGRATION;Sm;0;ON;;;;;Y;;;;; +2A12;LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; +2A13;LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE;Sm;0;ON;;;;;Y;;;;; +2A14;LINE INTEGRATION NOT INCLUDING THE POLE;Sm;0;ON;;;;;Y;;;;; +2A15;INTEGRAL AROUND A POINT OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A16;QUATERNION INTEGRAL OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A17;INTEGRAL WITH LEFTWARDS ARROW WITH HOOK;Sm;0;ON;;;;;Y;;;;; +2A18;INTEGRAL WITH TIMES SIGN;Sm;0;ON;;;;;Y;;;;; +2A19;INTEGRAL WITH INTERSECTION;Sm;0;ON;;;;;Y;;;;; +2A1A;INTEGRAL WITH UNION;Sm;0;ON;;;;;Y;;;;; +2A1B;INTEGRAL WITH OVERBAR;Sm;0;ON;;;;;Y;;;;; +2A1C;INTEGRAL WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +2A1D;JOIN;Sm;0;ON;;;;;N;;;;; +2A1E;LARGE LEFT TRIANGLE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A1F;Z NOTATION SCHEMA COMPOSITION;Sm;0;ON;;;;;Y;;;;; +2A20;Z NOTATION SCHEMA PIPING;Sm;0;ON;;;;;Y;;;;; +2A21;Z NOTATION SCHEMA PROJECTION;Sm;0;ON;;;;;Y;;;;; +2A22;PLUS SIGN WITH SMALL CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +2A23;PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE;Sm;0;ON;;;;;N;;;;; +2A24;PLUS SIGN WITH TILDE ABOVE;Sm;0;ON;;;;;Y;;;;; +2A25;PLUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A26;PLUS SIGN WITH TILDE BELOW;Sm;0;ON;;;;;Y;;;;; +2A27;PLUS SIGN WITH SUBSCRIPT TWO;Sm;0;ON;;;;;N;;;;; +2A28;PLUS SIGN WITH BLACK TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A29;MINUS SIGN WITH COMMA ABOVE;Sm;0;ON;;;;;Y;;;;; +2A2A;MINUS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A2B;MINUS SIGN WITH FALLING DOTS;Sm;0;ON;;;;;Y;;;;; +2A2C;MINUS SIGN WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; +2A2D;PLUS SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A2E;PLUS SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A2F;VECTOR OR CROSS PRODUCT;Sm;0;ON;;;;;N;;;;; +2A30;MULTIPLICATION SIGN WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A31;MULTIPLICATION SIGN WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A32;SEMIDIRECT PRODUCT WITH BOTTOM CLOSED;Sm;0;ON;;;;;N;;;;; +2A33;SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; +2A34;MULTIPLICATION SIGN IN LEFT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A35;MULTIPLICATION SIGN IN RIGHT HALF CIRCLE;Sm;0;ON;;;;;Y;;;;; +2A36;CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;N;;;;; +2A37;MULTIPLICATION SIGN IN DOUBLE CIRCLE;Sm;0;ON;;;;;N;;;;; +2A38;CIRCLED DIVISION SIGN;Sm;0;ON;;;;;N;;;;; +2A39;PLUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3A;MINUS SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3B;MULTIPLICATION SIGN IN TRIANGLE;Sm;0;ON;;;;;N;;;;; +2A3C;INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; +2A3D;RIGHTHAND INTERIOR PRODUCT;Sm;0;ON;;;;;Y;;;;; +2A3E;Z NOTATION RELATIONAL COMPOSITION;Sm;0;ON;;;;;Y;;;;; +2A3F;AMALGAMATION OR COPRODUCT;Sm;0;ON;;;;;N;;;;; +2A40;INTERSECTION WITH DOT;Sm;0;ON;;;;;N;;;;; +2A41;UNION WITH MINUS SIGN;Sm;0;ON;;;;;N;;;;; +2A42;UNION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2A43;INTERSECTION WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2A44;INTERSECTION WITH LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A45;UNION WITH LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A46;UNION ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A47;INTERSECTION ABOVE UNION;Sm;0;ON;;;;;N;;;;; +2A48;UNION ABOVE BAR ABOVE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A49;INTERSECTION ABOVE BAR ABOVE UNION;Sm;0;ON;;;;;N;;;;; +2A4A;UNION BESIDE AND JOINED WITH UNION;Sm;0;ON;;;;;N;;;;; +2A4B;INTERSECTION BESIDE AND JOINED WITH INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A4C;CLOSED UNION WITH SERIFS;Sm;0;ON;;;;;N;;;;; +2A4D;CLOSED INTERSECTION WITH SERIFS;Sm;0;ON;;;;;N;;;;; +2A4E;DOUBLE SQUARE INTERSECTION;Sm;0;ON;;;;;N;;;;; +2A4F;DOUBLE SQUARE UNION;Sm;0;ON;;;;;N;;;;; +2A50;CLOSED UNION WITH SERIFS AND SMASH PRODUCT;Sm;0;ON;;;;;N;;;;; +2A51;LOGICAL AND WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A52;LOGICAL OR WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A53;DOUBLE LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A54;DOUBLE LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A55;TWO INTERSECTING LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A56;TWO INTERSECTING LOGICAL OR;Sm;0;ON;;;;;N;;;;; +2A57;SLOPING LARGE OR;Sm;0;ON;;;;;Y;;;;; +2A58;SLOPING LARGE AND;Sm;0;ON;;;;;Y;;;;; +2A59;LOGICAL OR OVERLAPPING LOGICAL AND;Sm;0;ON;;;;;N;;;;; +2A5A;LOGICAL AND WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; +2A5B;LOGICAL OR WITH MIDDLE STEM;Sm;0;ON;;;;;N;;;;; +2A5C;LOGICAL AND WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; +2A5D;LOGICAL OR WITH HORIZONTAL DASH;Sm;0;ON;;;;;N;;;;; +2A5E;LOGICAL AND WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; +2A5F;LOGICAL AND WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A60;LOGICAL AND WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A61;SMALL VEE WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A62;LOGICAL OR WITH DOUBLE OVERBAR;Sm;0;ON;;;;;N;;;;; +2A63;LOGICAL OR WITH DOUBLE UNDERBAR;Sm;0;ON;;;;;N;;;;; +2A64;Z NOTATION DOMAIN ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; +2A65;Z NOTATION RANGE ANTIRESTRICTION;Sm;0;ON;;;;;Y;;;;; +2A66;EQUALS SIGN WITH DOT BELOW;Sm;0;ON;;;;;N;;;;; +2A67;IDENTICAL WITH DOT ABOVE;Sm;0;ON;;;;;N;;;;; +2A68;TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2A69;TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2A6A;TILDE OPERATOR WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A6B;TILDE OPERATOR WITH RISING DOTS;Sm;0;ON;;;;;Y;;;;; +2A6C;SIMILAR MINUS SIMILAR;Sm;0;ON;;;;;Y;;;;; +2A6D;CONGRUENT WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A6E;EQUALS WITH ASTERISK;Sm;0;ON;;;;;N;;;;; +2A6F;ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT;Sm;0;ON;;;;;Y;;;;; +2A70;APPROXIMATELY EQUAL OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A71;EQUALS SIGN ABOVE PLUS SIGN;Sm;0;ON;;;;;N;;;;; +2A72;PLUS SIGN ABOVE EQUALS SIGN;Sm;0;ON;;;;;N;;;;; +2A73;EQUALS SIGN ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2A74;DOUBLE COLON EQUAL;Sm;0;ON; 003A 003A 003D;;;;Y;;;;; +2A75;TWO CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D;;;;N;;;;; +2A76;THREE CONSECUTIVE EQUALS SIGNS;Sm;0;ON; 003D 003D 003D;;;;N;;;;; +2A77;EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW;Sm;0;ON;;;;;N;;;;; +2A78;EQUIVALENT WITH FOUR DOTS ABOVE;Sm;0;ON;;;;;N;;;;; +2A79;LESS-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; +2A7A;GREATER-THAN WITH CIRCLE INSIDE;Sm;0;ON;;;;;Y;;;;; +2A7B;LESS-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; +2A7C;GREATER-THAN WITH QUESTION MARK ABOVE;Sm;0;ON;;;;;Y;;;;; +2A7D;LESS-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A7E;GREATER-THAN OR SLANTED EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A7F;LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A80;GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A81;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A82;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2A83;LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT;Sm;0;ON;;;;;Y;;;;; +2A84;GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT;Sm;0;ON;;;;;Y;;;;; +2A85;LESS-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A86;GREATER-THAN OR APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A87;LESS-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A88;GREATER-THAN AND SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2A89;LESS-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A8A;GREATER-THAN AND NOT APPROXIMATE;Sm;0;ON;;;;;Y;;;;; +2A8B;LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A8C;GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A8D;LESS-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; +2A8E;GREATER-THAN ABOVE SIMILAR OR EQUAL;Sm;0;ON;;;;;Y;;;;; +2A8F;LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A90;GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A91;LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; +2A92;GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL;Sm;0;ON;;;;;Y;;;;; +2A93;LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2A94;GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2A95;SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A96;SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A97;SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A98;SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE;Sm;0;ON;;;;;Y;;;;; +2A99;DOUBLE-LINE EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9A;DOUBLE-LINE EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9B;DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9C;DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9D;SIMILAR OR LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2A9E;SIMILAR OR GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2A9F;SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AA0;SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AA1;DOUBLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2AA2;DOUBLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2AA3;DOUBLE NESTED LESS-THAN WITH UNDERBAR;Sm;0;ON;;;;;Y;;;;; +2AA4;GREATER-THAN OVERLAPPING LESS-THAN;Sm;0;ON;;;;;N;;;;; +2AA5;GREATER-THAN BESIDE LESS-THAN;Sm;0;ON;;;;;N;;;;; +2AA6;LESS-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; +2AA7;GREATER-THAN CLOSED BY CURVE;Sm;0;ON;;;;;Y;;;;; +2AA8;LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2AA9;GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL;Sm;0;ON;;;;;Y;;;;; +2AAA;SMALLER THAN;Sm;0;ON;;;;;Y;;;;; +2AAB;LARGER THAN;Sm;0;ON;;;;;Y;;;;; +2AAC;SMALLER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AAD;LARGER THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AAE;EQUALS SIGN WITH BUMPY ABOVE;Sm;0;ON;;;;;N;;;;; +2AAF;PRECEDES ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB0;SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB1;PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB2;SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB3;PRECEDES ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB4;SUCCEEDS ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AB5;PRECEDES ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB6;SUCCEEDS ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB7;PRECEDES ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB8;SUCCEEDS ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AB9;PRECEDES ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ABA;SUCCEEDS ABOVE NOT ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ABB;DOUBLE PRECEDES;Sm;0;ON;;;;;Y;;;;; +2ABC;DOUBLE SUCCEEDS;Sm;0;ON;;;;;Y;;;;; +2ABD;SUBSET WITH DOT;Sm;0;ON;;;;;Y;;;;; +2ABE;SUPERSET WITH DOT;Sm;0;ON;;;;;Y;;;;; +2ABF;SUBSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC0;SUPERSET WITH PLUS SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC1;SUBSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC2;SUPERSET WITH MULTIPLICATION SIGN BELOW;Sm;0;ON;;;;;Y;;;;; +2AC3;SUBSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2AC4;SUPERSET OF OR EQUAL TO WITH DOT ABOVE;Sm;0;ON;;;;;Y;;;;; +2AC5;SUBSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AC6;SUPERSET OF ABOVE EQUALS SIGN;Sm;0;ON;;;;;Y;;;;; +2AC7;SUBSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AC8;SUPERSET OF ABOVE TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AC9;SUBSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACA;SUPERSET OF ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACB;SUBSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACC;SUPERSET OF ABOVE NOT EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2ACD;SQUARE LEFT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; +2ACE;SQUARE RIGHT OPEN BOX OPERATOR;Sm;0;ON;;;;;Y;;;;; +2ACF;CLOSED SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD0;CLOSED SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD1;CLOSED SUBSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AD2;CLOSED SUPERSET OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AD3;SUBSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD4;SUPERSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD5;SUBSET ABOVE SUBSET;Sm;0;ON;;;;;Y;;;;; +2AD6;SUPERSET ABOVE SUPERSET;Sm;0;ON;;;;;Y;;;;; +2AD7;SUPERSET BESIDE SUBSET;Sm;0;ON;;;;;N;;;;; +2AD8;SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET;Sm;0;ON;;;;;N;;;;; +2AD9;ELEMENT OF OPENING DOWNWARDS;Sm;0;ON;;;;;N;;;;; +2ADA;PITCHFORK WITH TEE TOP;Sm;0;ON;;;;;N;;;;; +2ADB;TRANSVERSAL INTERSECTION;Sm;0;ON;;;;;N;;;;; +2ADC;FORKING;Sm;0;ON;2ADD 0338;;;;Y;;;;; +2ADD;NONFORKING;Sm;0;ON;;;;;N;;;;; +2ADE;SHORT LEFT TACK;Sm;0;ON;;;;;Y;;;;; +2ADF;SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AE0;SHORT UP TACK;Sm;0;ON;;;;;N;;;;; +2AE1;PERPENDICULAR WITH S;Sm;0;ON;;;;;N;;;;; +2AE2;VERTICAL BAR TRIPLE RIGHT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE3;DOUBLE VERTICAL BAR LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE4;VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE5;DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE;Sm;0;ON;;;;;Y;;;;; +2AE6;LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL;Sm;0;ON;;;;;Y;;;;; +2AE7;SHORT DOWN TACK WITH OVERBAR;Sm;0;ON;;;;;N;;;;; +2AE8;SHORT UP TACK WITH UNDERBAR;Sm;0;ON;;;;;N;;;;; +2AE9;SHORT UP TACK ABOVE SHORT DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AEA;DOUBLE DOWN TACK;Sm;0;ON;;;;;N;;;;; +2AEB;DOUBLE UP TACK;Sm;0;ON;;;;;N;;;;; +2AEC;DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; +2AED;REVERSED DOUBLE STROKE NOT SIGN;Sm;0;ON;;;;;Y;;;;; +2AEE;DOES NOT DIVIDE WITH REVERSED NEGATION SLASH;Sm;0;ON;;;;;Y;;;;; +2AEF;VERTICAL LINE WITH CIRCLE ABOVE;Sm;0;ON;;;;;N;;;;; +2AF0;VERTICAL LINE WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; +2AF1;DOWN TACK WITH CIRCLE BELOW;Sm;0;ON;;;;;N;;;;; +2AF2;PARALLEL WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2AF3;PARALLEL WITH TILDE OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AF4;TRIPLE VERTICAL BAR BINARY RELATION;Sm;0;ON;;;;;N;;;;; +2AF5;TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;; +2AF6;TRIPLE COLON OPERATOR;Sm;0;ON;;;;;N;;;;; +2AF7;TRIPLE NESTED LESS-THAN;Sm;0;ON;;;;;Y;;;;; +2AF8;TRIPLE NESTED GREATER-THAN;Sm;0;ON;;;;;Y;;;;; +2AF9;DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AFA;DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO;Sm;0;ON;;;;;Y;;;;; +2AFB;TRIPLE SOLIDUS BINARY RELATION;Sm;0;ON;;;;;Y;;;;; +2AFC;LARGE TRIPLE VERTICAL BAR OPERATOR;Sm;0;ON;;;;;N;;;;; +2AFD;DOUBLE SOLIDUS OPERATOR;Sm;0;ON;;;;;Y;;;;; +2AFE;WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +2AFF;N-ARY WHITE VERTICAL BAR;Sm;0;ON;;;;;N;;;;; +2B00;NORTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B01;NORTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B02;SOUTH EAST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B03;SOUTH WEST WHITE ARROW;So;0;ON;;;;;N;;;;; +2B04;LEFT RIGHT WHITE ARROW;So;0;ON;;;;;N;;;;; +2B05;LEFTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B06;UPWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B07;DOWNWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B08;NORTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B09;NORTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0A;SOUTH EAST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0B;SOUTH WEST BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0C;LEFT RIGHT BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0D;UP DOWN BLACK ARROW;So;0;ON;;;;;N;;;;; +2B0E;RIGHTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2B0F;RIGHTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;; +2B10;LEFTWARDS ARROW WITH TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2B11;LEFTWARDS ARROW WITH TIP UPWARDS;So;0;ON;;;;;N;;;;; +2B12;SQUARE WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;; +2B13;SQUARE WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;; +2B14;SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +2B15;SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK;So;0;ON;;;;;N;;;;; +2B16;DIAMOND WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +2B17;DIAMOND WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +2B18;DIAMOND WITH TOP HALF BLACK;So;0;ON;;;;;N;;;;; +2B19;DIAMOND WITH BOTTOM HALF BLACK;So;0;ON;;;;;N;;;;; +2B1A;DOTTED SQUARE;So;0;ON;;;;;N;;;;; +2B1B;BLACK LARGE SQUARE;So;0;ON;;;;;N;;;;; +2B1C;WHITE LARGE SQUARE;So;0;ON;;;;;N;;;;; +2B1D;BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;; +2B1E;WHITE VERY SMALL SQUARE;So;0;ON;;;;;N;;;;; +2B1F;BLACK PENTAGON;So;0;ON;;;;;N;;;;; +2B20;WHITE PENTAGON;So;0;ON;;;;;N;;;;; +2B21;WHITE HEXAGON;So;0;ON;;;;;N;;;;; +2B22;BLACK HEXAGON;So;0;ON;;;;;N;;;;; +2B23;HORIZONTAL BLACK HEXAGON;So;0;ON;;;;;N;;;;; +2B24;BLACK LARGE CIRCLE;So;0;ON;;;;;N;;;;; +2B25;BLACK MEDIUM DIAMOND;So;0;ON;;;;;N;;;;; +2B26;WHITE MEDIUM DIAMOND;So;0;ON;;;;;N;;;;; +2B27;BLACK MEDIUM LOZENGE;So;0;ON;;;;;N;;;;; +2B28;WHITE MEDIUM LOZENGE;So;0;ON;;;;;N;;;;; +2B29;BLACK SMALL DIAMOND;So;0;ON;;;;;N;;;;; +2B2A;BLACK SMALL LOZENGE;So;0;ON;;;;;N;;;;; +2B2B;WHITE SMALL LOZENGE;So;0;ON;;;;;N;;;;; +2B2C;BLACK HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2D;WHITE HORIZONTAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2E;BLACK VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B2F;WHITE VERTICAL ELLIPSE;So;0;ON;;;;;N;;;;; +2B30;LEFT ARROW WITH SMALL CIRCLE;Sm;0;ON;;;;;N;;;;; +2B31;THREE LEFTWARDS ARROWS;Sm;0;ON;;;;;N;;;;; +2B32;LEFT ARROW WITH CIRCLED PLUS;Sm;0;ON;;;;;N;;;;; +2B33;LONG LEFTWARDS SQUIGGLE ARROW;Sm;0;ON;;;;;N;;;;; +2B34;LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B35;LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B36;LEFTWARDS TWO-HEADED ARROW FROM BAR;Sm;0;ON;;;;;N;;;;; +2B37;LEFTWARDS TWO-HEADED TRIPLE DASH ARROW;Sm;0;ON;;;;;N;;;;; +2B38;LEFTWARDS ARROW WITH DOTTED STEM;Sm;0;ON;;;;;N;;;;; +2B39;LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3A;LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3B;LEFTWARDS TWO-HEADED ARROW WITH TAIL;Sm;0;ON;;;;;N;;;;; +2B3C;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3D;LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE;Sm;0;ON;;;;;N;;;;; +2B3E;LEFTWARDS ARROW THROUGH X;Sm;0;ON;;;;;N;;;;; +2B3F;WAVE ARROW POINTING DIRECTLY LEFT;Sm;0;ON;;;;;N;;;;; +2B40;EQUALS SIGN ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B41;REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B42;LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B43;RIGHTWARDS ARROW THROUGH GREATER-THAN;Sm;0;ON;;;;;N;;;;; +2B44;RIGHTWARDS ARROW THROUGH SUPERSET;Sm;0;ON;;;;;N;;;;; +2B45;LEFTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;; +2B46;RIGHTWARDS QUADRUPLE ARROW;So;0;ON;;;;;N;;;;; +2B47;REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B48;RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B49;TILDE OPERATOR ABOVE LEFTWARDS ARROW;Sm;0;ON;;;;;N;;;;; +2B4A;LEFTWARDS ARROW ABOVE ALMOST EQUAL TO;Sm;0;ON;;;;;N;;;;; +2B4B;LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2B4C;RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR;Sm;0;ON;;;;;N;;;;; +2B4D;DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW;So;0;ON;;;;;N;;;;; +2B4E;SHORT SLANTED NORTH ARROW;So;0;ON;;;;;N;;;;; +2B4F;SHORT BACKSLANTED SOUTH ARROW;So;0;ON;;;;;N;;;;; +2B50;WHITE MEDIUM STAR;So;0;ON;;;;;N;;;;; +2B51;BLACK SMALL STAR;So;0;ON;;;;;N;;;;; +2B52;WHITE SMALL STAR;So;0;ON;;;;;N;;;;; +2B53;BLACK RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;; +2B54;WHITE RIGHT-POINTING PENTAGON;So;0;ON;;;;;N;;;;; +2B55;HEAVY LARGE CIRCLE;So;0;ON;;;;;N;;;;; +2B56;HEAVY OVAL WITH OVAL INSIDE;So;0;ON;;;;;N;;;;; +2B57;HEAVY CIRCLE WITH CIRCLE INSIDE;So;0;ON;;;;;N;;;;; +2B58;HEAVY CIRCLE;So;0;ON;;;;;N;;;;; +2B59;HEAVY CIRCLED SALTIRE;So;0;ON;;;;;N;;;;; +2B5A;SLANTED NORTH ARROW WITH HOOKED HEAD;So;0;ON;;;;;N;;;;; +2B5B;BACKSLANTED SOUTH ARROW WITH HOOKED TAIL;So;0;ON;;;;;N;;;;; +2B5C;SLANTED NORTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;; +2B5D;BACKSLANTED SOUTH ARROW WITH HORIZONTAL TAIL;So;0;ON;;;;;N;;;;; +2B5E;BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;; +2B5F;SHORT BENT ARROW POINTING DOWNWARDS THEN NORTH EAST;So;0;ON;;;;;N;;;;; +2B60;LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B61;UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B62;RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B63;DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B64;LEFT RIGHT TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B65;UP DOWN TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B66;NORTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B67;NORTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B68;SOUTH EAST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B69;SOUTH WEST TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B6A;LEFTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;; +2B6B;UPWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;; +2B6C;RIGHTWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;; +2B6D;DOWNWARDS TRIANGLE-HEADED DASHED ARROW;So;0;ON;;;;;N;;;;; +2B6E;CLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +2B6F;ANTICLOCKWISE TRIANGLE-HEADED OPEN CIRCLE ARROW;So;0;ON;;;;;N;;;;; +2B70;LEFTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B71;UPWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B72;RIGHTWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B73;DOWNWARDS TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B76;NORTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B77;NORTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B78;SOUTH EAST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B79;SOUTH WEST TRIANGLE-HEADED ARROW TO BAR;So;0;ON;;;;;N;;;;; +2B7A;LEFTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;; +2B7B;UPWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;; +2B7C;RIGHTWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;; +2B7D;DOWNWARDS TRIANGLE-HEADED ARROW WITH DOUBLE HORIZONTAL STROKE;So;0;ON;;;;;N;;;;; +2B7E;HORIZONTAL TAB KEY;So;0;ON;;;;;N;;;;; +2B7F;VERTICAL TAB KEY;So;0;ON;;;;;N;;;;; +2B80;LEFTWARDS TRIANGLE-HEADED ARROW OVER RIGHTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B81;UPWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF DOWNWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B82;RIGHTWARDS TRIANGLE-HEADED ARROW OVER LEFTWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B83;DOWNWARDS TRIANGLE-HEADED ARROW LEFTWARDS OF UPWARDS TRIANGLE-HEADED ARROW;So;0;ON;;;;;N;;;;; +2B84;LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;; +2B85;UPWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;; +2B86;RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;; +2B87;DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS;So;0;ON;;;;;N;;;;; +2B88;LEFTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;; +2B89;UPWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;; +2B8A;RIGHTWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;; +2B8B;DOWNWARDS BLACK CIRCLED WHITE ARROW;So;0;ON;;;;;N;;;;; +2B8C;ANTICLOCKWISE TRIANGLE-HEADED RIGHT U-SHAPED ARROW;So;0;ON;;;;;N;;;;; +2B8D;ANTICLOCKWISE TRIANGLE-HEADED BOTTOM U-SHAPED ARROW;So;0;ON;;;;;N;;;;; +2B8E;ANTICLOCKWISE TRIANGLE-HEADED LEFT U-SHAPED ARROW;So;0;ON;;;;;N;;;;; +2B8F;ANTICLOCKWISE TRIANGLE-HEADED TOP U-SHAPED ARROW;So;0;ON;;;;;N;;;;; +2B90;RETURN LEFT;So;0;ON;;;;;N;;;;; +2B91;RETURN RIGHT;So;0;ON;;;;;N;;;;; +2B92;NEWLINE LEFT;So;0;ON;;;;;N;;;;; +2B93;NEWLINE RIGHT;So;0;ON;;;;;N;;;;; +2B94;FOUR CORNER ARROWS CIRCLING ANTICLOCKWISE;So;0;ON;;;;;N;;;;; +2B95;RIGHTWARDS BLACK ARROW;So;0;ON;;;;;N;;;;; +2B97;SYMBOL FOR TYPE A ELECTRONICS;So;0;ON;;;;;N;;;;; +2B98;THREE-D TOP-LIGHTED LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B99;THREE-D RIGHT-LIGHTED UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9A;THREE-D TOP-LIGHTED RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9B;THREE-D LEFT-LIGHTED DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9C;BLACK LEFTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9D;BLACK UPWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9E;BLACK RIGHTWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2B9F;BLACK DOWNWARDS EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +2BA0;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;; +2BA1;DOWNWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;; +2BA2;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP LEFTWARDS;So;0;ON;;;;;N;;;;; +2BA3;UPWARDS TRIANGLE-HEADED ARROW WITH LONG TIP RIGHTWARDS;So;0;ON;;;;;N;;;;; +2BA4;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;; +2BA5;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP UPWARDS;So;0;ON;;;;;N;;;;; +2BA6;LEFTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2BA7;RIGHTWARDS TRIANGLE-HEADED ARROW WITH LONG TIP DOWNWARDS;So;0;ON;;;;;N;;;;; +2BA8;BLACK CURVED DOWNWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;; +2BA9;BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAA;BLACK CURVED UPWARDS AND LEFTWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAB;BLACK CURVED UPWARDS AND RIGHTWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAC;BLACK CURVED LEFTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAD;BLACK CURVED RIGHTWARDS AND UPWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAE;BLACK CURVED LEFTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;; +2BAF;BLACK CURVED RIGHTWARDS AND DOWNWARDS ARROW;So;0;ON;;;;;N;;;;; +2BB0;RIBBON ARROW DOWN LEFT;So;0;ON;;;;;N;;;;; +2BB1;RIBBON ARROW DOWN RIGHT;So;0;ON;;;;;N;;;;; +2BB2;RIBBON ARROW UP LEFT;So;0;ON;;;;;N;;;;; +2BB3;RIBBON ARROW UP RIGHT;So;0;ON;;;;;N;;;;; +2BB4;RIBBON ARROW LEFT UP;So;0;ON;;;;;N;;;;; +2BB5;RIBBON ARROW RIGHT UP;So;0;ON;;;;;N;;;;; +2BB6;RIBBON ARROW LEFT DOWN;So;0;ON;;;;;N;;;;; +2BB7;RIBBON ARROW RIGHT DOWN;So;0;ON;;;;;N;;;;; +2BB8;UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR;So;0;ON;;;;;N;;;;; +2BB9;UP ARROWHEAD IN A RECTANGLE BOX;So;0;ON;;;;;N;;;;; +2BBA;OVERLAPPING WHITE SQUARES;So;0;ON;;;;;N;;;;; +2BBB;OVERLAPPING WHITE AND BLACK SQUARES;So;0;ON;;;;;N;;;;; +2BBC;OVERLAPPING BLACK SQUARES;So;0;ON;;;;;N;;;;; +2BBD;BALLOT BOX WITH LIGHT X;So;0;ON;;;;;N;;;;; +2BBE;CIRCLED X;So;0;ON;;;;;N;;;;; +2BBF;CIRCLED BOLD X;So;0;ON;;;;;N;;;;; +2BC0;BLACK SQUARE CENTRED;So;0;ON;;;;;N;;;;; +2BC1;BLACK DIAMOND CENTRED;So;0;ON;;;;;N;;;;; +2BC2;TURNED BLACK PENTAGON;So;0;ON;;;;;N;;;;; +2BC3;HORIZONTAL BLACK OCTAGON;So;0;ON;;;;;N;;;;; +2BC4;BLACK OCTAGON;So;0;ON;;;;;N;;;;; +2BC5;BLACK MEDIUM UP-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;; +2BC6;BLACK MEDIUM DOWN-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;; +2BC7;BLACK MEDIUM LEFT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;; +2BC8;BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTRED;So;0;ON;;;;;N;;;;; +2BC9;NEPTUNE FORM TWO;So;0;ON;;;;;N;;;;; +2BCA;TOP HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +2BCB;BOTTOM HALF BLACK CIRCLE;So;0;ON;;;;;N;;;;; +2BCC;LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;; +2BCD;ROTATED LIGHT FOUR POINTED BLACK CUSP;So;0;ON;;;;;N;;;;; +2BCE;WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;; +2BCF;ROTATED WHITE FOUR POINTED CUSP;So;0;ON;;;;;N;;;;; +2BD0;SQUARE POSITION INDICATOR;So;0;ON;;;;;N;;;;; +2BD1;UNCERTAINTY SIGN;So;0;ON;;;;;N;;;;; +2BD2;GROUP MARK;So;0;ON;;;;;N;;;;; +2BD3;PLUTO FORM TWO;So;0;ON;;;;;N;;;;; +2BD4;PLUTO FORM THREE;So;0;ON;;;;;N;;;;; +2BD5;PLUTO FORM FOUR;So;0;ON;;;;;N;;;;; +2BD6;PLUTO FORM FIVE;So;0;ON;;;;;N;;;;; +2BD7;TRANSPLUTO;So;0;ON;;;;;N;;;;; +2BD8;PROSERPINA;So;0;ON;;;;;N;;;;; +2BD9;ASTRAEA;So;0;ON;;;;;N;;;;; +2BDA;HYGIEA;So;0;ON;;;;;N;;;;; +2BDB;PHOLUS;So;0;ON;;;;;N;;;;; +2BDC;NESSUS;So;0;ON;;;;;N;;;;; +2BDD;WHITE MOON SELENA;So;0;ON;;;;;N;;;;; +2BDE;BLACK DIAMOND ON CROSS;So;0;ON;;;;;N;;;;; +2BDF;TRUE LIGHT MOON ARTA;So;0;ON;;;;;N;;;;; +2BE0;CUPIDO;So;0;ON;;;;;N;;;;; +2BE1;HADES;So;0;ON;;;;;N;;;;; +2BE2;ZEUS;So;0;ON;;;;;N;;;;; +2BE3;KRONOS;So;0;ON;;;;;N;;;;; +2BE4;APOLLON;So;0;ON;;;;;N;;;;; +2BE5;ADMETOS;So;0;ON;;;;;N;;;;; +2BE6;VULCANUS;So;0;ON;;;;;N;;;;; +2BE7;POSEIDON;So;0;ON;;;;;N;;;;; +2BE8;LEFT HALF BLACK STAR;So;0;ON;;;;;N;;;;; +2BE9;RIGHT HALF BLACK STAR;So;0;ON;;;;;N;;;;; +2BEA;STAR WITH LEFT HALF BLACK;So;0;ON;;;;;N;;;;; +2BEB;STAR WITH RIGHT HALF BLACK;So;0;ON;;;;;N;;;;; +2BEC;LEFTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BED;UPWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BEE;RIGHTWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BEF;DOWNWARDS TWO-HEADED ARROW WITH TRIANGLE ARROWHEADS;So;0;ON;;;;;N;;;;; +2BF0;ERIS FORM ONE;So;0;ON;;;;;N;;;;; +2BF1;ERIS FORM TWO;So;0;ON;;;;;N;;;;; +2BF2;SEDNA;So;0;ON;;;;;N;;;;; +2BF3;RUSSIAN ASTROLOGICAL SYMBOL VIGINTILE;So;0;ON;;;;;N;;;;; +2BF4;RUSSIAN ASTROLOGICAL SYMBOL NOVILE;So;0;ON;;;;;N;;;;; +2BF5;RUSSIAN ASTROLOGICAL SYMBOL QUINTILE;So;0;ON;;;;;N;;;;; +2BF6;RUSSIAN ASTROLOGICAL SYMBOL BINOVILE;So;0;ON;;;;;N;;;;; +2BF7;RUSSIAN ASTROLOGICAL SYMBOL SENTAGON;So;0;ON;;;;;N;;;;; +2BF8;RUSSIAN ASTROLOGICAL SYMBOL TREDECILE;So;0;ON;;;;;N;;;;; +2BF9;EQUALS SIGN WITH INFINITY BELOW;So;0;ON;;;;;N;;;;; +2BFA;UNITED SYMBOL;So;0;ON;;;;;N;;;;; +2BFB;SEPARATED SYMBOL;So;0;ON;;;;;N;;;;; +2BFC;DOUBLED SYMBOL;So;0;ON;;;;;N;;;;; +2BFD;PASSED SYMBOL;So;0;ON;;;;;N;;;;; +2BFE;REVERSED RIGHT ANGLE;So;0;ON;;;;;Y;;;;; +2BFF;HELLSCHREIBER PAUSE SYMBOL;So;0;ON;;;;;N;;;;; +2C00;GLAGOLITIC CAPITAL LETTER AZU;Lu;0;L;;;;;N;;;;2C30; +2C01;GLAGOLITIC CAPITAL LETTER BUKY;Lu;0;L;;;;;N;;;;2C31; +2C02;GLAGOLITIC CAPITAL LETTER VEDE;Lu;0;L;;;;;N;;;;2C32; +2C03;GLAGOLITIC CAPITAL LETTER GLAGOLI;Lu;0;L;;;;;N;;;;2C33; +2C04;GLAGOLITIC CAPITAL LETTER DOBRO;Lu;0;L;;;;;N;;;;2C34; +2C05;GLAGOLITIC CAPITAL LETTER YESTU;Lu;0;L;;;;;N;;;;2C35; +2C06;GLAGOLITIC CAPITAL LETTER ZHIVETE;Lu;0;L;;;;;N;;;;2C36; +2C07;GLAGOLITIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;2C37; +2C08;GLAGOLITIC CAPITAL LETTER ZEMLJA;Lu;0;L;;;;;N;;;;2C38; +2C09;GLAGOLITIC CAPITAL LETTER IZHE;Lu;0;L;;;;;N;;;;2C39; +2C0A;GLAGOLITIC CAPITAL LETTER INITIAL IZHE;Lu;0;L;;;;;N;;;;2C3A; +2C0B;GLAGOLITIC CAPITAL LETTER I;Lu;0;L;;;;;N;;;;2C3B; +2C0C;GLAGOLITIC CAPITAL LETTER DJERVI;Lu;0;L;;;;;N;;;;2C3C; +2C0D;GLAGOLITIC CAPITAL LETTER KAKO;Lu;0;L;;;;;N;;;;2C3D; +2C0E;GLAGOLITIC CAPITAL LETTER LJUDIJE;Lu;0;L;;;;;N;;;;2C3E; +2C0F;GLAGOLITIC CAPITAL LETTER MYSLITE;Lu;0;L;;;;;N;;;;2C3F; +2C10;GLAGOLITIC CAPITAL LETTER NASHI;Lu;0;L;;;;;N;;;;2C40; +2C11;GLAGOLITIC CAPITAL LETTER ONU;Lu;0;L;;;;;N;;;;2C41; +2C12;GLAGOLITIC CAPITAL LETTER POKOJI;Lu;0;L;;;;;N;;;;2C42; +2C13;GLAGOLITIC CAPITAL LETTER RITSI;Lu;0;L;;;;;N;;;;2C43; +2C14;GLAGOLITIC CAPITAL LETTER SLOVO;Lu;0;L;;;;;N;;;;2C44; +2C15;GLAGOLITIC CAPITAL LETTER TVRIDO;Lu;0;L;;;;;N;;;;2C45; +2C16;GLAGOLITIC CAPITAL LETTER UKU;Lu;0;L;;;;;N;;;;2C46; +2C17;GLAGOLITIC CAPITAL LETTER FRITU;Lu;0;L;;;;;N;;;;2C47; +2C18;GLAGOLITIC CAPITAL LETTER HERU;Lu;0;L;;;;;N;;;;2C48; +2C19;GLAGOLITIC CAPITAL LETTER OTU;Lu;0;L;;;;;N;;;;2C49; +2C1A;GLAGOLITIC CAPITAL LETTER PE;Lu;0;L;;;;;N;;;;2C4A; +2C1B;GLAGOLITIC CAPITAL LETTER SHTA;Lu;0;L;;;;;N;;;;2C4B; +2C1C;GLAGOLITIC CAPITAL LETTER TSI;Lu;0;L;;;;;N;;;;2C4C; +2C1D;GLAGOLITIC CAPITAL LETTER CHRIVI;Lu;0;L;;;;;N;;;;2C4D; +2C1E;GLAGOLITIC CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;2C4E; +2C1F;GLAGOLITIC CAPITAL LETTER YERU;Lu;0;L;;;;;N;;;;2C4F; +2C20;GLAGOLITIC CAPITAL LETTER YERI;Lu;0;L;;;;;N;;;;2C50; +2C21;GLAGOLITIC CAPITAL LETTER YATI;Lu;0;L;;;;;N;;;;2C51; +2C22;GLAGOLITIC CAPITAL LETTER SPIDERY HA;Lu;0;L;;;;;N;;;;2C52; +2C23;GLAGOLITIC CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;2C53; +2C24;GLAGOLITIC CAPITAL LETTER SMALL YUS;Lu;0;L;;;;;N;;;;2C54; +2C25;GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL;Lu;0;L;;;;;N;;;;2C55; +2C26;GLAGOLITIC CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;2C56; +2C27;GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS;Lu;0;L;;;;;N;;;;2C57; +2C28;GLAGOLITIC CAPITAL LETTER BIG YUS;Lu;0;L;;;;;N;;;;2C58; +2C29;GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS;Lu;0;L;;;;;N;;;;2C59; +2C2A;GLAGOLITIC CAPITAL LETTER FITA;Lu;0;L;;;;;N;;;;2C5A; +2C2B;GLAGOLITIC CAPITAL LETTER IZHITSA;Lu;0;L;;;;;N;;;;2C5B; +2C2C;GLAGOLITIC CAPITAL LETTER SHTAPIC;Lu;0;L;;;;;N;;;;2C5C; +2C2D;GLAGOLITIC CAPITAL LETTER TROKUTASTI A;Lu;0;L;;;;;N;;;;2C5D; +2C2E;GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE;Lu;0;L;;;;;N;;;;2C5E; +2C30;GLAGOLITIC SMALL LETTER AZU;Ll;0;L;;;;;N;;;2C00;;2C00 +2C31;GLAGOLITIC SMALL LETTER BUKY;Ll;0;L;;;;;N;;;2C01;;2C01 +2C32;GLAGOLITIC SMALL LETTER VEDE;Ll;0;L;;;;;N;;;2C02;;2C02 +2C33;GLAGOLITIC SMALL LETTER GLAGOLI;Ll;0;L;;;;;N;;;2C03;;2C03 +2C34;GLAGOLITIC SMALL LETTER DOBRO;Ll;0;L;;;;;N;;;2C04;;2C04 +2C35;GLAGOLITIC SMALL LETTER YESTU;Ll;0;L;;;;;N;;;2C05;;2C05 +2C36;GLAGOLITIC SMALL LETTER ZHIVETE;Ll;0;L;;;;;N;;;2C06;;2C06 +2C37;GLAGOLITIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;2C07;;2C07 +2C38;GLAGOLITIC SMALL LETTER ZEMLJA;Ll;0;L;;;;;N;;;2C08;;2C08 +2C39;GLAGOLITIC SMALL LETTER IZHE;Ll;0;L;;;;;N;;;2C09;;2C09 +2C3A;GLAGOLITIC SMALL LETTER INITIAL IZHE;Ll;0;L;;;;;N;;;2C0A;;2C0A +2C3B;GLAGOLITIC SMALL LETTER I;Ll;0;L;;;;;N;;;2C0B;;2C0B +2C3C;GLAGOLITIC SMALL LETTER DJERVI;Ll;0;L;;;;;N;;;2C0C;;2C0C +2C3D;GLAGOLITIC SMALL LETTER KAKO;Ll;0;L;;;;;N;;;2C0D;;2C0D +2C3E;GLAGOLITIC SMALL LETTER LJUDIJE;Ll;0;L;;;;;N;;;2C0E;;2C0E +2C3F;GLAGOLITIC SMALL LETTER MYSLITE;Ll;0;L;;;;;N;;;2C0F;;2C0F +2C40;GLAGOLITIC SMALL LETTER NASHI;Ll;0;L;;;;;N;;;2C10;;2C10 +2C41;GLAGOLITIC SMALL LETTER ONU;Ll;0;L;;;;;N;;;2C11;;2C11 +2C42;GLAGOLITIC SMALL LETTER POKOJI;Ll;0;L;;;;;N;;;2C12;;2C12 +2C43;GLAGOLITIC SMALL LETTER RITSI;Ll;0;L;;;;;N;;;2C13;;2C13 +2C44;GLAGOLITIC SMALL LETTER SLOVO;Ll;0;L;;;;;N;;;2C14;;2C14 +2C45;GLAGOLITIC SMALL LETTER TVRIDO;Ll;0;L;;;;;N;;;2C15;;2C15 +2C46;GLAGOLITIC SMALL LETTER UKU;Ll;0;L;;;;;N;;;2C16;;2C16 +2C47;GLAGOLITIC SMALL LETTER FRITU;Ll;0;L;;;;;N;;;2C17;;2C17 +2C48;GLAGOLITIC SMALL LETTER HERU;Ll;0;L;;;;;N;;;2C18;;2C18 +2C49;GLAGOLITIC SMALL LETTER OTU;Ll;0;L;;;;;N;;;2C19;;2C19 +2C4A;GLAGOLITIC SMALL LETTER PE;Ll;0;L;;;;;N;;;2C1A;;2C1A +2C4B;GLAGOLITIC SMALL LETTER SHTA;Ll;0;L;;;;;N;;;2C1B;;2C1B +2C4C;GLAGOLITIC SMALL LETTER TSI;Ll;0;L;;;;;N;;;2C1C;;2C1C +2C4D;GLAGOLITIC SMALL LETTER CHRIVI;Ll;0;L;;;;;N;;;2C1D;;2C1D +2C4E;GLAGOLITIC SMALL LETTER SHA;Ll;0;L;;;;;N;;;2C1E;;2C1E +2C4F;GLAGOLITIC SMALL LETTER YERU;Ll;0;L;;;;;N;;;2C1F;;2C1F +2C50;GLAGOLITIC SMALL LETTER YERI;Ll;0;L;;;;;N;;;2C20;;2C20 +2C51;GLAGOLITIC SMALL LETTER YATI;Ll;0;L;;;;;N;;;2C21;;2C21 +2C52;GLAGOLITIC SMALL LETTER SPIDERY HA;Ll;0;L;;;;;N;;;2C22;;2C22 +2C53;GLAGOLITIC SMALL LETTER YU;Ll;0;L;;;;;N;;;2C23;;2C23 +2C54;GLAGOLITIC SMALL LETTER SMALL YUS;Ll;0;L;;;;;N;;;2C24;;2C24 +2C55;GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL;Ll;0;L;;;;;N;;;2C25;;2C25 +2C56;GLAGOLITIC SMALL LETTER YO;Ll;0;L;;;;;N;;;2C26;;2C26 +2C57;GLAGOLITIC SMALL LETTER IOTATED SMALL YUS;Ll;0;L;;;;;N;;;2C27;;2C27 +2C58;GLAGOLITIC SMALL LETTER BIG YUS;Ll;0;L;;;;;N;;;2C28;;2C28 +2C59;GLAGOLITIC SMALL LETTER IOTATED BIG YUS;Ll;0;L;;;;;N;;;2C29;;2C29 +2C5A;GLAGOLITIC SMALL LETTER FITA;Ll;0;L;;;;;N;;;2C2A;;2C2A +2C5B;GLAGOLITIC SMALL LETTER IZHITSA;Ll;0;L;;;;;N;;;2C2B;;2C2B +2C5C;GLAGOLITIC SMALL LETTER SHTAPIC;Ll;0;L;;;;;N;;;2C2C;;2C2C +2C5D;GLAGOLITIC SMALL LETTER TROKUTASTI A;Ll;0;L;;;;;N;;;2C2D;;2C2D +2C5E;GLAGOLITIC SMALL LETTER LATINATE MYSLITE;Ll;0;L;;;;;N;;;2C2E;;2C2E +2C60;LATIN CAPITAL LETTER L WITH DOUBLE BAR;Lu;0;L;;;;;N;;;;2C61; +2C61;LATIN SMALL LETTER L WITH DOUBLE BAR;Ll;0;L;;;;;N;;;2C60;;2C60 +2C62;LATIN CAPITAL LETTER L WITH MIDDLE TILDE;Lu;0;L;;;;;N;;;;026B; +2C63;LATIN CAPITAL LETTER P WITH STROKE;Lu;0;L;;;;;N;;;;1D7D; +2C64;LATIN CAPITAL LETTER R WITH TAIL;Lu;0;L;;;;;N;;;;027D; +2C65;LATIN SMALL LETTER A WITH STROKE;Ll;0;L;;;;;N;;;023A;;023A +2C66;LATIN SMALL LETTER T WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;023E;;023E +2C67;LATIN CAPITAL LETTER H WITH DESCENDER;Lu;0;L;;;;;N;;;;2C68; +2C68;LATIN SMALL LETTER H WITH DESCENDER;Ll;0;L;;;;;N;;;2C67;;2C67 +2C69;LATIN CAPITAL LETTER K WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6A; +2C6A;LATIN SMALL LETTER K WITH DESCENDER;Ll;0;L;;;;;N;;;2C69;;2C69 +2C6B;LATIN CAPITAL LETTER Z WITH DESCENDER;Lu;0;L;;;;;N;;;;2C6C; +2C6C;LATIN SMALL LETTER Z WITH DESCENDER;Ll;0;L;;;;;N;;;2C6B;;2C6B +2C6D;LATIN CAPITAL LETTER ALPHA;Lu;0;L;;;;;N;;;;0251; +2C6E;LATIN CAPITAL LETTER M WITH HOOK;Lu;0;L;;;;;N;;;;0271; +2C6F;LATIN CAPITAL LETTER TURNED A;Lu;0;L;;;;;N;;;;0250; +2C70;LATIN CAPITAL LETTER TURNED ALPHA;Lu;0;L;;;;;N;;;;0252; +2C71;LATIN SMALL LETTER V WITH RIGHT HOOK;Ll;0;L;;;;;N;;;;; +2C72;LATIN CAPITAL LETTER W WITH HOOK;Lu;0;L;;;;;N;;;;2C73; +2C73;LATIN SMALL LETTER W WITH HOOK;Ll;0;L;;;;;N;;;2C72;;2C72 +2C74;LATIN SMALL LETTER V WITH CURL;Ll;0;L;;;;;N;;;;; +2C75;LATIN CAPITAL LETTER HALF H;Lu;0;L;;;;;N;;;;2C76; +2C76;LATIN SMALL LETTER HALF H;Ll;0;L;;;;;N;;;2C75;;2C75 +2C77;LATIN SMALL LETTER TAILLESS PHI;Ll;0;L;;;;;N;;;;; +2C78;LATIN SMALL LETTER E WITH NOTCH;Ll;0;L;;;;;N;;;;; +2C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;; +2C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;; +2C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;; +2C7C;LATIN SUBSCRIPT SMALL LETTER J;Lm;0;L; 006A;;;;N;;;;; +2C7D;MODIFIER LETTER CAPITAL V;Lm;0;L; 0056;;;;N;;;;; +2C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F; +2C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240; +2C80;COPTIC CAPITAL LETTER ALFA;Lu;0;L;;;;;N;;;;2C81; +2C81;COPTIC SMALL LETTER ALFA;Ll;0;L;;;;;N;;;2C80;;2C80 +2C82;COPTIC CAPITAL LETTER VIDA;Lu;0;L;;;;;N;;;;2C83; +2C83;COPTIC SMALL LETTER VIDA;Ll;0;L;;;;;N;;;2C82;;2C82 +2C84;COPTIC CAPITAL LETTER GAMMA;Lu;0;L;;;;;N;;;;2C85; +2C85;COPTIC SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;2C84;;2C84 +2C86;COPTIC CAPITAL LETTER DALDA;Lu;0;L;;;;;N;;;;2C87; +2C87;COPTIC SMALL LETTER DALDA;Ll;0;L;;;;;N;;;2C86;;2C86 +2C88;COPTIC CAPITAL LETTER EIE;Lu;0;L;;;;;N;;;;2C89; +2C89;COPTIC SMALL LETTER EIE;Ll;0;L;;;;;N;;;2C88;;2C88 +2C8A;COPTIC CAPITAL LETTER SOU;Lu;0;L;;;;;N;;;;2C8B; +2C8B;COPTIC SMALL LETTER SOU;Ll;0;L;;;;;N;;;2C8A;;2C8A +2C8C;COPTIC CAPITAL LETTER ZATA;Lu;0;L;;;;;N;;;;2C8D; +2C8D;COPTIC SMALL LETTER ZATA;Ll;0;L;;;;;N;;;2C8C;;2C8C +2C8E;COPTIC CAPITAL LETTER HATE;Lu;0;L;;;;;N;;;;2C8F; +2C8F;COPTIC SMALL LETTER HATE;Ll;0;L;;;;;N;;;2C8E;;2C8E +2C90;COPTIC CAPITAL LETTER THETHE;Lu;0;L;;;;;N;;;;2C91; +2C91;COPTIC SMALL LETTER THETHE;Ll;0;L;;;;;N;;;2C90;;2C90 +2C92;COPTIC CAPITAL LETTER IAUDA;Lu;0;L;;;;;N;;;;2C93; +2C93;COPTIC SMALL LETTER IAUDA;Ll;0;L;;;;;N;;;2C92;;2C92 +2C94;COPTIC CAPITAL LETTER KAPA;Lu;0;L;;;;;N;;;;2C95; +2C95;COPTIC SMALL LETTER KAPA;Ll;0;L;;;;;N;;;2C94;;2C94 +2C96;COPTIC CAPITAL LETTER LAULA;Lu;0;L;;;;;N;;;;2C97; +2C97;COPTIC SMALL LETTER LAULA;Ll;0;L;;;;;N;;;2C96;;2C96 +2C98;COPTIC CAPITAL LETTER MI;Lu;0;L;;;;;N;;;;2C99; +2C99;COPTIC SMALL LETTER MI;Ll;0;L;;;;;N;;;2C98;;2C98 +2C9A;COPTIC CAPITAL LETTER NI;Lu;0;L;;;;;N;;;;2C9B; +2C9B;COPTIC SMALL LETTER NI;Ll;0;L;;;;;N;;;2C9A;;2C9A +2C9C;COPTIC CAPITAL LETTER KSI;Lu;0;L;;;;;N;;;;2C9D; +2C9D;COPTIC SMALL LETTER KSI;Ll;0;L;;;;;N;;;2C9C;;2C9C +2C9E;COPTIC CAPITAL LETTER O;Lu;0;L;;;;;N;;;;2C9F; +2C9F;COPTIC SMALL LETTER O;Ll;0;L;;;;;N;;;2C9E;;2C9E +2CA0;COPTIC CAPITAL LETTER PI;Lu;0;L;;;;;N;;;;2CA1; +2CA1;COPTIC SMALL LETTER PI;Ll;0;L;;;;;N;;;2CA0;;2CA0 +2CA2;COPTIC CAPITAL LETTER RO;Lu;0;L;;;;;N;;;;2CA3; +2CA3;COPTIC SMALL LETTER RO;Ll;0;L;;;;;N;;;2CA2;;2CA2 +2CA4;COPTIC CAPITAL LETTER SIMA;Lu;0;L;;;;;N;;;;2CA5; +2CA5;COPTIC SMALL LETTER SIMA;Ll;0;L;;;;;N;;;2CA4;;2CA4 +2CA6;COPTIC CAPITAL LETTER TAU;Lu;0;L;;;;;N;;;;2CA7; +2CA7;COPTIC SMALL LETTER TAU;Ll;0;L;;;;;N;;;2CA6;;2CA6 +2CA8;COPTIC CAPITAL LETTER UA;Lu;0;L;;;;;N;;;;2CA9; +2CA9;COPTIC SMALL LETTER UA;Ll;0;L;;;;;N;;;2CA8;;2CA8 +2CAA;COPTIC CAPITAL LETTER FI;Lu;0;L;;;;;N;;;;2CAB; +2CAB;COPTIC SMALL LETTER FI;Ll;0;L;;;;;N;;;2CAA;;2CAA +2CAC;COPTIC CAPITAL LETTER KHI;Lu;0;L;;;;;N;;;;2CAD; +2CAD;COPTIC SMALL LETTER KHI;Ll;0;L;;;;;N;;;2CAC;;2CAC +2CAE;COPTIC CAPITAL LETTER PSI;Lu;0;L;;;;;N;;;;2CAF; +2CAF;COPTIC SMALL LETTER PSI;Ll;0;L;;;;;N;;;2CAE;;2CAE +2CB0;COPTIC CAPITAL LETTER OOU;Lu;0;L;;;;;N;;;;2CB1; +2CB1;COPTIC SMALL LETTER OOU;Ll;0;L;;;;;N;;;2CB0;;2CB0 +2CB2;COPTIC CAPITAL LETTER DIALECT-P ALEF;Lu;0;L;;;;;N;;;;2CB3; +2CB3;COPTIC SMALL LETTER DIALECT-P ALEF;Ll;0;L;;;;;N;;;2CB2;;2CB2 +2CB4;COPTIC CAPITAL LETTER OLD COPTIC AIN;Lu;0;L;;;;;N;;;;2CB5; +2CB5;COPTIC SMALL LETTER OLD COPTIC AIN;Ll;0;L;;;;;N;;;2CB4;;2CB4 +2CB6;COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE;Lu;0;L;;;;;N;;;;2CB7; +2CB7;COPTIC SMALL LETTER CRYPTOGRAMMIC EIE;Ll;0;L;;;;;N;;;2CB6;;2CB6 +2CB8;COPTIC CAPITAL LETTER DIALECT-P KAPA;Lu;0;L;;;;;N;;;;2CB9; +2CB9;COPTIC SMALL LETTER DIALECT-P KAPA;Ll;0;L;;;;;N;;;2CB8;;2CB8 +2CBA;COPTIC CAPITAL LETTER DIALECT-P NI;Lu;0;L;;;;;N;;;;2CBB; +2CBB;COPTIC SMALL LETTER DIALECT-P NI;Ll;0;L;;;;;N;;;2CBA;;2CBA +2CBC;COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI;Lu;0;L;;;;;N;;;;2CBD; +2CBD;COPTIC SMALL LETTER CRYPTOGRAMMIC NI;Ll;0;L;;;;;N;;;2CBC;;2CBC +2CBE;COPTIC CAPITAL LETTER OLD COPTIC OOU;Lu;0;L;;;;;N;;;;2CBF; +2CBF;COPTIC SMALL LETTER OLD COPTIC OOU;Ll;0;L;;;;;N;;;2CBE;;2CBE +2CC0;COPTIC CAPITAL LETTER SAMPI;Lu;0;L;;;;;N;;;;2CC1; +2CC1;COPTIC SMALL LETTER SAMPI;Ll;0;L;;;;;N;;;2CC0;;2CC0 +2CC2;COPTIC CAPITAL LETTER CROSSED SHEI;Lu;0;L;;;;;N;;;;2CC3; +2CC3;COPTIC SMALL LETTER CROSSED SHEI;Ll;0;L;;;;;N;;;2CC2;;2CC2 +2CC4;COPTIC CAPITAL LETTER OLD COPTIC SHEI;Lu;0;L;;;;;N;;;;2CC5; +2CC5;COPTIC SMALL LETTER OLD COPTIC SHEI;Ll;0;L;;;;;N;;;2CC4;;2CC4 +2CC6;COPTIC CAPITAL LETTER OLD COPTIC ESH;Lu;0;L;;;;;N;;;;2CC7; +2CC7;COPTIC SMALL LETTER OLD COPTIC ESH;Ll;0;L;;;;;N;;;2CC6;;2CC6 +2CC8;COPTIC CAPITAL LETTER AKHMIMIC KHEI;Lu;0;L;;;;;N;;;;2CC9; +2CC9;COPTIC SMALL LETTER AKHMIMIC KHEI;Ll;0;L;;;;;N;;;2CC8;;2CC8 +2CCA;COPTIC CAPITAL LETTER DIALECT-P HORI;Lu;0;L;;;;;N;;;;2CCB; +2CCB;COPTIC SMALL LETTER DIALECT-P HORI;Ll;0;L;;;;;N;;;2CCA;;2CCA +2CCC;COPTIC CAPITAL LETTER OLD COPTIC HORI;Lu;0;L;;;;;N;;;;2CCD; +2CCD;COPTIC SMALL LETTER OLD COPTIC HORI;Ll;0;L;;;;;N;;;2CCC;;2CCC +2CCE;COPTIC CAPITAL LETTER OLD COPTIC HA;Lu;0;L;;;;;N;;;;2CCF; +2CCF;COPTIC SMALL LETTER OLD COPTIC HA;Ll;0;L;;;;;N;;;2CCE;;2CCE +2CD0;COPTIC CAPITAL LETTER L-SHAPED HA;Lu;0;L;;;;;N;;;;2CD1; +2CD1;COPTIC SMALL LETTER L-SHAPED HA;Ll;0;L;;;;;N;;;2CD0;;2CD0 +2CD2;COPTIC CAPITAL LETTER OLD COPTIC HEI;Lu;0;L;;;;;N;;;;2CD3; +2CD3;COPTIC SMALL LETTER OLD COPTIC HEI;Ll;0;L;;;;;N;;;2CD2;;2CD2 +2CD4;COPTIC CAPITAL LETTER OLD COPTIC HAT;Lu;0;L;;;;;N;;;;2CD5; +2CD5;COPTIC SMALL LETTER OLD COPTIC HAT;Ll;0;L;;;;;N;;;2CD4;;2CD4 +2CD6;COPTIC CAPITAL LETTER OLD COPTIC GANGIA;Lu;0;L;;;;;N;;;;2CD7; +2CD7;COPTIC SMALL LETTER OLD COPTIC GANGIA;Ll;0;L;;;;;N;;;2CD6;;2CD6 +2CD8;COPTIC CAPITAL LETTER OLD COPTIC DJA;Lu;0;L;;;;;N;;;;2CD9; +2CD9;COPTIC SMALL LETTER OLD COPTIC DJA;Ll;0;L;;;;;N;;;2CD8;;2CD8 +2CDA;COPTIC CAPITAL LETTER OLD COPTIC SHIMA;Lu;0;L;;;;;N;;;;2CDB; +2CDB;COPTIC SMALL LETTER OLD COPTIC SHIMA;Ll;0;L;;;;;N;;;2CDA;;2CDA +2CDC;COPTIC CAPITAL LETTER OLD NUBIAN SHIMA;Lu;0;L;;;;;N;;;;2CDD; +2CDD;COPTIC SMALL LETTER OLD NUBIAN SHIMA;Ll;0;L;;;;;N;;;2CDC;;2CDC +2CDE;COPTIC CAPITAL LETTER OLD NUBIAN NGI;Lu;0;L;;;;;N;;;;2CDF; +2CDF;COPTIC SMALL LETTER OLD NUBIAN NGI;Ll;0;L;;;;;N;;;2CDE;;2CDE +2CE0;COPTIC CAPITAL LETTER OLD NUBIAN NYI;Lu;0;L;;;;;N;;;;2CE1; +2CE1;COPTIC SMALL LETTER OLD NUBIAN NYI;Ll;0;L;;;;;N;;;2CE0;;2CE0 +2CE2;COPTIC CAPITAL LETTER OLD NUBIAN WAU;Lu;0;L;;;;;N;;;;2CE3; +2CE3;COPTIC SMALL LETTER OLD NUBIAN WAU;Ll;0;L;;;;;N;;;2CE2;;2CE2 +2CE4;COPTIC SYMBOL KAI;Ll;0;L;;;;;N;;;;; +2CE5;COPTIC SYMBOL MI RO;So;0;ON;;;;;N;;;;; +2CE6;COPTIC SYMBOL PI RO;So;0;ON;;;;;N;;;;; +2CE7;COPTIC SYMBOL STAUROS;So;0;ON;;;;;N;;;;; +2CE8;COPTIC SYMBOL TAU RO;So;0;ON;;;;;N;;;;; +2CE9;COPTIC SYMBOL KHI RO;So;0;ON;;;;;N;;;;; +2CEA;COPTIC SYMBOL SHIMA SIMA;So;0;ON;;;;;N;;;;; +2CEB;COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI;Lu;0;L;;;;;N;;;;2CEC; +2CEC;COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI;Ll;0;L;;;;;N;;;2CEB;;2CEB +2CED;COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA;Lu;0;L;;;;;N;;;;2CEE; +2CEE;COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA;Ll;0;L;;;;;N;;;2CED;;2CED +2CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;; +2CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;; +2CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;; +2CF2;COPTIC CAPITAL LETTER BOHAIRIC KHEI;Lu;0;L;;;;;N;;;;2CF3; +2CF3;COPTIC SMALL LETTER BOHAIRIC KHEI;Ll;0;L;;;;;N;;;2CF2;;2CF2 +2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;; +2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; +2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;; +2CFC;COPTIC OLD NUBIAN VERSE DIVIDER;Po;0;ON;;;;;N;;;;; +2CFD;COPTIC FRACTION ONE HALF;No;0;ON;;;;1/2;N;;;;; +2CFE;COPTIC FULL STOP;Po;0;ON;;;;;N;;;;; +2CFF;COPTIC MORPHOLOGICAL DIVIDER;Po;0;ON;;;;;N;;;;; +2D00;GEORGIAN SMALL LETTER AN;Ll;0;L;;;;;N;;;10A0;;10A0 +2D01;GEORGIAN SMALL LETTER BAN;Ll;0;L;;;;;N;;;10A1;;10A1 +2D02;GEORGIAN SMALL LETTER GAN;Ll;0;L;;;;;N;;;10A2;;10A2 +2D03;GEORGIAN SMALL LETTER DON;Ll;0;L;;;;;N;;;10A3;;10A3 +2D04;GEORGIAN SMALL LETTER EN;Ll;0;L;;;;;N;;;10A4;;10A4 +2D05;GEORGIAN SMALL LETTER VIN;Ll;0;L;;;;;N;;;10A5;;10A5 +2D06;GEORGIAN SMALL LETTER ZEN;Ll;0;L;;;;;N;;;10A6;;10A6 +2D07;GEORGIAN SMALL LETTER TAN;Ll;0;L;;;;;N;;;10A7;;10A7 +2D08;GEORGIAN SMALL LETTER IN;Ll;0;L;;;;;N;;;10A8;;10A8 +2D09;GEORGIAN SMALL LETTER KAN;Ll;0;L;;;;;N;;;10A9;;10A9 +2D0A;GEORGIAN SMALL LETTER LAS;Ll;0;L;;;;;N;;;10AA;;10AA +2D0B;GEORGIAN SMALL LETTER MAN;Ll;0;L;;;;;N;;;10AB;;10AB +2D0C;GEORGIAN SMALL LETTER NAR;Ll;0;L;;;;;N;;;10AC;;10AC +2D0D;GEORGIAN SMALL LETTER ON;Ll;0;L;;;;;N;;;10AD;;10AD +2D0E;GEORGIAN SMALL LETTER PAR;Ll;0;L;;;;;N;;;10AE;;10AE +2D0F;GEORGIAN SMALL LETTER ZHAR;Ll;0;L;;;;;N;;;10AF;;10AF +2D10;GEORGIAN SMALL LETTER RAE;Ll;0;L;;;;;N;;;10B0;;10B0 +2D11;GEORGIAN SMALL LETTER SAN;Ll;0;L;;;;;N;;;10B1;;10B1 +2D12;GEORGIAN SMALL LETTER TAR;Ll;0;L;;;;;N;;;10B2;;10B2 +2D13;GEORGIAN SMALL LETTER UN;Ll;0;L;;;;;N;;;10B3;;10B3 +2D14;GEORGIAN SMALL LETTER PHAR;Ll;0;L;;;;;N;;;10B4;;10B4 +2D15;GEORGIAN SMALL LETTER KHAR;Ll;0;L;;;;;N;;;10B5;;10B5 +2D16;GEORGIAN SMALL LETTER GHAN;Ll;0;L;;;;;N;;;10B6;;10B6 +2D17;GEORGIAN SMALL LETTER QAR;Ll;0;L;;;;;N;;;10B7;;10B7 +2D18;GEORGIAN SMALL LETTER SHIN;Ll;0;L;;;;;N;;;10B8;;10B8 +2D19;GEORGIAN SMALL LETTER CHIN;Ll;0;L;;;;;N;;;10B9;;10B9 +2D1A;GEORGIAN SMALL LETTER CAN;Ll;0;L;;;;;N;;;10BA;;10BA +2D1B;GEORGIAN SMALL LETTER JIL;Ll;0;L;;;;;N;;;10BB;;10BB +2D1C;GEORGIAN SMALL LETTER CIL;Ll;0;L;;;;;N;;;10BC;;10BC +2D1D;GEORGIAN SMALL LETTER CHAR;Ll;0;L;;;;;N;;;10BD;;10BD +2D1E;GEORGIAN SMALL LETTER XAN;Ll;0;L;;;;;N;;;10BE;;10BE +2D1F;GEORGIAN SMALL LETTER JHAN;Ll;0;L;;;;;N;;;10BF;;10BF +2D20;GEORGIAN SMALL LETTER HAE;Ll;0;L;;;;;N;;;10C0;;10C0 +2D21;GEORGIAN SMALL LETTER HE;Ll;0;L;;;;;N;;;10C1;;10C1 +2D22;GEORGIAN SMALL LETTER HIE;Ll;0;L;;;;;N;;;10C2;;10C2 +2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3 +2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4 +2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5 +2D27;GEORGIAN SMALL LETTER YN;Ll;0;L;;;;;N;;;10C7;;10C7 +2D2D;GEORGIAN SMALL LETTER AEN;Ll;0;L;;;;;N;;;10CD;;10CD +2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;; +2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;; +2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;; +2D33;TIFINAGH LETTER YAG;Lo;0;L;;;;;N;;;;; +2D34;TIFINAGH LETTER YAGHH;Lo;0;L;;;;;N;;;;; +2D35;TIFINAGH LETTER BERBER ACADEMY YAJ;Lo;0;L;;;;;N;;;;; +2D36;TIFINAGH LETTER YAJ;Lo;0;L;;;;;N;;;;; +2D37;TIFINAGH LETTER YAD;Lo;0;L;;;;;N;;;;; +2D38;TIFINAGH LETTER YADH;Lo;0;L;;;;;N;;;;; +2D39;TIFINAGH LETTER YADD;Lo;0;L;;;;;N;;;;; +2D3A;TIFINAGH LETTER YADDH;Lo;0;L;;;;;N;;;;; +2D3B;TIFINAGH LETTER YEY;Lo;0;L;;;;;N;;;;; +2D3C;TIFINAGH LETTER YAF;Lo;0;L;;;;;N;;;;; +2D3D;TIFINAGH LETTER YAK;Lo;0;L;;;;;N;;;;; +2D3E;TIFINAGH LETTER TUAREG YAK;Lo;0;L;;;;;N;;;;; +2D3F;TIFINAGH LETTER YAKHH;Lo;0;L;;;;;N;;;;; +2D40;TIFINAGH LETTER YAH;Lo;0;L;;;;;N;;;;; +2D41;TIFINAGH LETTER BERBER ACADEMY YAH;Lo;0;L;;;;;N;;;;; +2D42;TIFINAGH LETTER TUAREG YAH;Lo;0;L;;;;;N;;;;; +2D43;TIFINAGH LETTER YAHH;Lo;0;L;;;;;N;;;;; +2D44;TIFINAGH LETTER YAA;Lo;0;L;;;;;N;;;;; +2D45;TIFINAGH LETTER YAKH;Lo;0;L;;;;;N;;;;; +2D46;TIFINAGH LETTER TUAREG YAKH;Lo;0;L;;;;;N;;;;; +2D47;TIFINAGH LETTER YAQ;Lo;0;L;;;;;N;;;;; +2D48;TIFINAGH LETTER TUAREG YAQ;Lo;0;L;;;;;N;;;;; +2D49;TIFINAGH LETTER YI;Lo;0;L;;;;;N;;;;; +2D4A;TIFINAGH LETTER YAZH;Lo;0;L;;;;;N;;;;; +2D4B;TIFINAGH LETTER AHAGGAR YAZH;Lo;0;L;;;;;N;;;;; +2D4C;TIFINAGH LETTER TUAREG YAZH;Lo;0;L;;;;;N;;;;; +2D4D;TIFINAGH LETTER YAL;Lo;0;L;;;;;N;;;;; +2D4E;TIFINAGH LETTER YAM;Lo;0;L;;;;;N;;;;; +2D4F;TIFINAGH LETTER YAN;Lo;0;L;;;;;N;;;;; +2D50;TIFINAGH LETTER TUAREG YAGN;Lo;0;L;;;;;N;;;;; +2D51;TIFINAGH LETTER TUAREG YANG;Lo;0;L;;;;;N;;;;; +2D52;TIFINAGH LETTER YAP;Lo;0;L;;;;;N;;;;; +2D53;TIFINAGH LETTER YU;Lo;0;L;;;;;N;;;;; +2D54;TIFINAGH LETTER YAR;Lo;0;L;;;;;N;;;;; +2D55;TIFINAGH LETTER YARR;Lo;0;L;;;;;N;;;;; +2D56;TIFINAGH LETTER YAGH;Lo;0;L;;;;;N;;;;; +2D57;TIFINAGH LETTER TUAREG YAGH;Lo;0;L;;;;;N;;;;; +2D58;TIFINAGH LETTER AYER YAGH;Lo;0;L;;;;;N;;;;; +2D59;TIFINAGH LETTER YAS;Lo;0;L;;;;;N;;;;; +2D5A;TIFINAGH LETTER YASS;Lo;0;L;;;;;N;;;;; +2D5B;TIFINAGH LETTER YASH;Lo;0;L;;;;;N;;;;; +2D5C;TIFINAGH LETTER YAT;Lo;0;L;;;;;N;;;;; +2D5D;TIFINAGH LETTER YATH;Lo;0;L;;;;;N;;;;; +2D5E;TIFINAGH LETTER YACH;Lo;0;L;;;;;N;;;;; +2D5F;TIFINAGH LETTER YATT;Lo;0;L;;;;;N;;;;; +2D60;TIFINAGH LETTER YAV;Lo;0;L;;;;;N;;;;; +2D61;TIFINAGH LETTER YAW;Lo;0;L;;;;;N;;;;; +2D62;TIFINAGH LETTER YAY;Lo;0;L;;;;;N;;;;; +2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;; +2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;; +2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;; +2D66;TIFINAGH LETTER YE;Lo;0;L;;;;;N;;;;; +2D67;TIFINAGH LETTER YO;Lo;0;L;;;;;N;;;;; +2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L; 2D61;;;;N;;;;; +2D70;TIFINAGH SEPARATOR MARK;Po;0;L;;;;;N;;;;; +2D7F;TIFINAGH CONSONANT JOINER;Mn;9;NSM;;;;;N;;;;; +2D80;ETHIOPIC SYLLABLE LOA;Lo;0;L;;;;;N;;;;; +2D81;ETHIOPIC SYLLABLE MOA;Lo;0;L;;;;;N;;;;; +2D82;ETHIOPIC SYLLABLE ROA;Lo;0;L;;;;;N;;;;; +2D83;ETHIOPIC SYLLABLE SOA;Lo;0;L;;;;;N;;;;; +2D84;ETHIOPIC SYLLABLE SHOA;Lo;0;L;;;;;N;;;;; +2D85;ETHIOPIC SYLLABLE BOA;Lo;0;L;;;;;N;;;;; +2D86;ETHIOPIC SYLLABLE TOA;Lo;0;L;;;;;N;;;;; +2D87;ETHIOPIC SYLLABLE COA;Lo;0;L;;;;;N;;;;; +2D88;ETHIOPIC SYLLABLE NOA;Lo;0;L;;;;;N;;;;; +2D89;ETHIOPIC SYLLABLE NYOA;Lo;0;L;;;;;N;;;;; +2D8A;ETHIOPIC SYLLABLE GLOTTAL OA;Lo;0;L;;;;;N;;;;; +2D8B;ETHIOPIC SYLLABLE ZOA;Lo;0;L;;;;;N;;;;; +2D8C;ETHIOPIC SYLLABLE DOA;Lo;0;L;;;;;N;;;;; +2D8D;ETHIOPIC SYLLABLE DDOA;Lo;0;L;;;;;N;;;;; +2D8E;ETHIOPIC SYLLABLE JOA;Lo;0;L;;;;;N;;;;; +2D8F;ETHIOPIC SYLLABLE THOA;Lo;0;L;;;;;N;;;;; +2D90;ETHIOPIC SYLLABLE CHOA;Lo;0;L;;;;;N;;;;; +2D91;ETHIOPIC SYLLABLE PHOA;Lo;0;L;;;;;N;;;;; +2D92;ETHIOPIC SYLLABLE POA;Lo;0;L;;;;;N;;;;; +2D93;ETHIOPIC SYLLABLE GGWA;Lo;0;L;;;;;N;;;;; +2D94;ETHIOPIC SYLLABLE GGWI;Lo;0;L;;;;;N;;;;; +2D95;ETHIOPIC SYLLABLE GGWEE;Lo;0;L;;;;;N;;;;; +2D96;ETHIOPIC SYLLABLE GGWE;Lo;0;L;;;;;N;;;;; +2DA0;ETHIOPIC SYLLABLE SSA;Lo;0;L;;;;;N;;;;; +2DA1;ETHIOPIC SYLLABLE SSU;Lo;0;L;;;;;N;;;;; +2DA2;ETHIOPIC SYLLABLE SSI;Lo;0;L;;;;;N;;;;; +2DA3;ETHIOPIC SYLLABLE SSAA;Lo;0;L;;;;;N;;;;; +2DA4;ETHIOPIC SYLLABLE SSEE;Lo;0;L;;;;;N;;;;; +2DA5;ETHIOPIC SYLLABLE SSE;Lo;0;L;;;;;N;;;;; +2DA6;ETHIOPIC SYLLABLE SSO;Lo;0;L;;;;;N;;;;; +2DA8;ETHIOPIC SYLLABLE CCA;Lo;0;L;;;;;N;;;;; +2DA9;ETHIOPIC SYLLABLE CCU;Lo;0;L;;;;;N;;;;; +2DAA;ETHIOPIC SYLLABLE CCI;Lo;0;L;;;;;N;;;;; +2DAB;ETHIOPIC SYLLABLE CCAA;Lo;0;L;;;;;N;;;;; +2DAC;ETHIOPIC SYLLABLE CCEE;Lo;0;L;;;;;N;;;;; +2DAD;ETHIOPIC SYLLABLE CCE;Lo;0;L;;;;;N;;;;; +2DAE;ETHIOPIC SYLLABLE CCO;Lo;0;L;;;;;N;;;;; +2DB0;ETHIOPIC SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; +2DB1;ETHIOPIC SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; +2DB2;ETHIOPIC SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; +2DB3;ETHIOPIC SYLLABLE ZZAA;Lo;0;L;;;;;N;;;;; +2DB4;ETHIOPIC SYLLABLE ZZEE;Lo;0;L;;;;;N;;;;; +2DB5;ETHIOPIC SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; +2DB6;ETHIOPIC SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; +2DB8;ETHIOPIC SYLLABLE CCHA;Lo;0;L;;;;;N;;;;; +2DB9;ETHIOPIC SYLLABLE CCHU;Lo;0;L;;;;;N;;;;; +2DBA;ETHIOPIC SYLLABLE CCHI;Lo;0;L;;;;;N;;;;; +2DBB;ETHIOPIC SYLLABLE CCHAA;Lo;0;L;;;;;N;;;;; +2DBC;ETHIOPIC SYLLABLE CCHEE;Lo;0;L;;;;;N;;;;; +2DBD;ETHIOPIC SYLLABLE CCHE;Lo;0;L;;;;;N;;;;; +2DBE;ETHIOPIC SYLLABLE CCHO;Lo;0;L;;;;;N;;;;; +2DC0;ETHIOPIC SYLLABLE QYA;Lo;0;L;;;;;N;;;;; +2DC1;ETHIOPIC SYLLABLE QYU;Lo;0;L;;;;;N;;;;; +2DC2;ETHIOPIC SYLLABLE QYI;Lo;0;L;;;;;N;;;;; +2DC3;ETHIOPIC SYLLABLE QYAA;Lo;0;L;;;;;N;;;;; +2DC4;ETHIOPIC SYLLABLE QYEE;Lo;0;L;;;;;N;;;;; +2DC5;ETHIOPIC SYLLABLE QYE;Lo;0;L;;;;;N;;;;; +2DC6;ETHIOPIC SYLLABLE QYO;Lo;0;L;;;;;N;;;;; +2DC8;ETHIOPIC SYLLABLE KYA;Lo;0;L;;;;;N;;;;; +2DC9;ETHIOPIC SYLLABLE KYU;Lo;0;L;;;;;N;;;;; +2DCA;ETHIOPIC SYLLABLE KYI;Lo;0;L;;;;;N;;;;; +2DCB;ETHIOPIC SYLLABLE KYAA;Lo;0;L;;;;;N;;;;; +2DCC;ETHIOPIC SYLLABLE KYEE;Lo;0;L;;;;;N;;;;; +2DCD;ETHIOPIC SYLLABLE KYE;Lo;0;L;;;;;N;;;;; +2DCE;ETHIOPIC SYLLABLE KYO;Lo;0;L;;;;;N;;;;; +2DD0;ETHIOPIC SYLLABLE XYA;Lo;0;L;;;;;N;;;;; +2DD1;ETHIOPIC SYLLABLE XYU;Lo;0;L;;;;;N;;;;; +2DD2;ETHIOPIC SYLLABLE XYI;Lo;0;L;;;;;N;;;;; +2DD3;ETHIOPIC SYLLABLE XYAA;Lo;0;L;;;;;N;;;;; +2DD4;ETHIOPIC SYLLABLE XYEE;Lo;0;L;;;;;N;;;;; +2DD5;ETHIOPIC SYLLABLE XYE;Lo;0;L;;;;;N;;;;; +2DD6;ETHIOPIC SYLLABLE XYO;Lo;0;L;;;;;N;;;;; +2DD8;ETHIOPIC SYLLABLE GYA;Lo;0;L;;;;;N;;;;; +2DD9;ETHIOPIC SYLLABLE GYU;Lo;0;L;;;;;N;;;;; +2DDA;ETHIOPIC SYLLABLE GYI;Lo;0;L;;;;;N;;;;; +2DDB;ETHIOPIC SYLLABLE GYAA;Lo;0;L;;;;;N;;;;; +2DDC;ETHIOPIC SYLLABLE GYEE;Lo;0;L;;;;;N;;;;; +2DDD;ETHIOPIC SYLLABLE GYE;Lo;0;L;;;;;N;;;;; +2DDE;ETHIOPIC SYLLABLE GYO;Lo;0;L;;;;;N;;;;; +2DE0;COMBINING CYRILLIC LETTER BE;Mn;230;NSM;;;;;N;;;;; +2DE1;COMBINING CYRILLIC LETTER VE;Mn;230;NSM;;;;;N;;;;; +2DE2;COMBINING CYRILLIC LETTER GHE;Mn;230;NSM;;;;;N;;;;; +2DE3;COMBINING CYRILLIC LETTER DE;Mn;230;NSM;;;;;N;;;;; +2DE4;COMBINING CYRILLIC LETTER ZHE;Mn;230;NSM;;;;;N;;;;; +2DE5;COMBINING CYRILLIC LETTER ZE;Mn;230;NSM;;;;;N;;;;; +2DE6;COMBINING CYRILLIC LETTER KA;Mn;230;NSM;;;;;N;;;;; +2DE7;COMBINING CYRILLIC LETTER EL;Mn;230;NSM;;;;;N;;;;; +2DE8;COMBINING CYRILLIC LETTER EM;Mn;230;NSM;;;;;N;;;;; +2DE9;COMBINING CYRILLIC LETTER EN;Mn;230;NSM;;;;;N;;;;; +2DEA;COMBINING CYRILLIC LETTER O;Mn;230;NSM;;;;;N;;;;; +2DEB;COMBINING CYRILLIC LETTER PE;Mn;230;NSM;;;;;N;;;;; +2DEC;COMBINING CYRILLIC LETTER ER;Mn;230;NSM;;;;;N;;;;; +2DED;COMBINING CYRILLIC LETTER ES;Mn;230;NSM;;;;;N;;;;; +2DEE;COMBINING CYRILLIC LETTER TE;Mn;230;NSM;;;;;N;;;;; +2DEF;COMBINING CYRILLIC LETTER HA;Mn;230;NSM;;;;;N;;;;; +2DF0;COMBINING CYRILLIC LETTER TSE;Mn;230;NSM;;;;;N;;;;; +2DF1;COMBINING CYRILLIC LETTER CHE;Mn;230;NSM;;;;;N;;;;; +2DF2;COMBINING CYRILLIC LETTER SHA;Mn;230;NSM;;;;;N;;;;; +2DF3;COMBINING CYRILLIC LETTER SHCHA;Mn;230;NSM;;;;;N;;;;; +2DF4;COMBINING CYRILLIC LETTER FITA;Mn;230;NSM;;;;;N;;;;; +2DF5;COMBINING CYRILLIC LETTER ES-TE;Mn;230;NSM;;;;;N;;;;; +2DF6;COMBINING CYRILLIC LETTER A;Mn;230;NSM;;;;;N;;;;; +2DF7;COMBINING CYRILLIC LETTER IE;Mn;230;NSM;;;;;N;;;;; +2DF8;COMBINING CYRILLIC LETTER DJERV;Mn;230;NSM;;;;;N;;;;; +2DF9;COMBINING CYRILLIC LETTER MONOGRAPH UK;Mn;230;NSM;;;;;N;;;;; +2DFA;COMBINING CYRILLIC LETTER YAT;Mn;230;NSM;;;;;N;;;;; +2DFB;COMBINING CYRILLIC LETTER YU;Mn;230;NSM;;;;;N;;;;; +2DFC;COMBINING CYRILLIC LETTER IOTIFIED A;Mn;230;NSM;;;;;N;;;;; +2DFD;COMBINING CYRILLIC LETTER LITTLE YUS;Mn;230;NSM;;;;;N;;;;; +2DFE;COMBINING CYRILLIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;; +2DFF;COMBINING CYRILLIC LETTER IOTIFIED BIG YUS;Mn;230;NSM;;;;;N;;;;; +2E00;RIGHT ANGLE SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;; +2E01;RIGHT ANGLE DOTTED SUBSTITUTION MARKER;Po;0;ON;;;;;N;;;;; +2E02;LEFT SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E03;RIGHT SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E04;LEFT DOTTED SUBSTITUTION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E05;RIGHT DOTTED SUBSTITUTION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E06;RAISED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;; +2E07;RAISED DOTTED INTERPOLATION MARKER;Po;0;ON;;;;;N;;;;; +2E08;DOTTED TRANSPOSITION MARKER;Po;0;ON;;;;;N;;;;; +2E09;LEFT TRANSPOSITION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E0A;RIGHT TRANSPOSITION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E0B;RAISED SQUARE;Po;0;ON;;;;;N;;;;; +2E0C;LEFT RAISED OMISSION BRACKET;Pi;0;ON;;;;;Y;;;;; +2E0D;RIGHT RAISED OMISSION BRACKET;Pf;0;ON;;;;;Y;;;;; +2E0E;EDITORIAL CORONIS;Po;0;ON;;;;;N;;;;; +2E0F;PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E10;FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E11;REVERSED FORKED PARAGRAPHOS;Po;0;ON;;;;;N;;;;; +2E12;HYPODIASTOLE;Po;0;ON;;;;;N;;;;; +2E13;DOTTED OBELOS;Po;0;ON;;;;;N;;;;; +2E14;DOWNWARDS ANCORA;Po;0;ON;;;;;N;;;;; +2E15;UPWARDS ANCORA;Po;0;ON;;;;;N;;;;; +2E16;DOTTED RIGHT-POINTING ANGLE;Po;0;ON;;;;;N;;;;; +2E17;DOUBLE OBLIQUE HYPHEN;Pd;0;ON;;;;;N;;;;; +2E18;INVERTED INTERROBANG;Po;0;ON;;;;;N;;;;; +2E19;PALM BRANCH;Po;0;ON;;;;;N;;;;; +2E1A;HYPHEN WITH DIAERESIS;Pd;0;ON;;;;;N;;;;; +2E1B;TILDE WITH RING ABOVE;Po;0;ON;;;;;N;;;;; +2E1C;LEFT LOW PARAPHRASE BRACKET;Pi;0;ON;;;;;Y;;;;; +2E1D;RIGHT LOW PARAPHRASE BRACKET;Pf;0;ON;;;;;Y;;;;; +2E1E;TILDE WITH DOT ABOVE;Po;0;ON;;;;;N;;;;; +2E1F;TILDE WITH DOT BELOW;Po;0;ON;;;;;N;;;;; +2E20;LEFT VERTICAL BAR WITH QUILL;Pi;0;ON;;;;;Y;;;;; +2E21;RIGHT VERTICAL BAR WITH QUILL;Pf;0;ON;;;;;Y;;;;; +2E22;TOP LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;; +2E23;TOP RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;; +2E24;BOTTOM LEFT HALF BRACKET;Ps;0;ON;;;;;Y;;;;; +2E25;BOTTOM RIGHT HALF BRACKET;Pe;0;ON;;;;;Y;;;;; +2E26;LEFT SIDEWAYS U BRACKET;Ps;0;ON;;;;;Y;;;;; +2E27;RIGHT SIDEWAYS U BRACKET;Pe;0;ON;;;;;Y;;;;; +2E28;LEFT DOUBLE PARENTHESIS;Ps;0;ON;;;;;Y;;;;; +2E29;RIGHT DOUBLE PARENTHESIS;Pe;0;ON;;;;;Y;;;;; +2E2A;TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2B;ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2C;SQUARED FOUR DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +2E2D;FIVE DOT MARK;Po;0;ON;;;;;N;;;;; +2E2E;REVERSED QUESTION MARK;Po;0;ON;;;;;N;;;;; +2E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;; +2E30;RING POINT;Po;0;ON;;;;;N;;;;; +2E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;; +2E32;TURNED COMMA;Po;0;ON;;;;;N;;;;; +2E33;RAISED DOT;Po;0;ON;;;;;N;;;;; +2E34;RAISED COMMA;Po;0;ON;;;;;N;;;;; +2E35;TURNED SEMICOLON;Po;0;ON;;;;;N;;;;; +2E36;DAGGER WITH LEFT GUARD;Po;0;ON;;;;;N;;;;; +2E37;DAGGER WITH RIGHT GUARD;Po;0;ON;;;;;N;;;;; +2E38;TURNED DAGGER;Po;0;ON;;;;;N;;;;; +2E39;TOP HALF SECTION SIGN;Po;0;ON;;;;;N;;;;; +2E3A;TWO-EM DASH;Pd;0;ON;;;;;N;;;;; +2E3B;THREE-EM DASH;Pd;0;ON;;;;;N;;;;; +2E3C;STENOGRAPHIC FULL STOP;Po;0;ON;;;;;N;;;;; +2E3D;VERTICAL SIX DOTS;Po;0;ON;;;;;N;;;;; +2E3E;WIGGLY VERTICAL LINE;Po;0;ON;;;;;N;;;;; +2E3F;CAPITULUM;Po;0;ON;;;;;N;;;;; +2E40;DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;; +2E41;REVERSED COMMA;Po;0;ON;;;;;N;;;;; +2E42;DOUBLE LOW-REVERSED-9 QUOTATION MARK;Ps;0;ON;;;;;N;;;;; +2E43;DASH WITH LEFT UPTURN;Po;0;ON;;;;;N;;;;; +2E44;DOUBLE SUSPENSION MARK;Po;0;ON;;;;;N;;;;; +2E45;INVERTED LOW KAVYKA;Po;0;ON;;;;;N;;;;; +2E46;INVERTED LOW KAVYKA WITH KAVYKA ABOVE;Po;0;ON;;;;;N;;;;; +2E47;LOW KAVYKA;Po;0;ON;;;;;N;;;;; +2E48;LOW KAVYKA WITH DOT;Po;0;ON;;;;;N;;;;; +2E49;DOUBLE STACKED COMMA;Po;0;ON;;;;;N;;;;; +2E4A;DOTTED SOLIDUS;Po;0;ON;;;;;N;;;;; +2E4B;TRIPLE DAGGER;Po;0;ON;;;;;N;;;;; +2E4C;MEDIEVAL COMMA;Po;0;ON;;;;;N;;;;; +2E4D;PARAGRAPHUS MARK;Po;0;ON;;;;;N;;;;; +2E4E;PUNCTUS ELEVATUS MARK;Po;0;ON;;;;;N;;;;; +2E4F;CORNISH VERSE DIVIDER;Po;0;ON;;;;;N;;;;; +2E50;CROSS PATTY WITH RIGHT CROSSBAR;So;0;ON;;;;;N;;;;; +2E51;CROSS PATTY WITH LEFT CROSSBAR;So;0;ON;;;;;N;;;;; +2E52;TIRONIAN SIGN CAPITAL ET;Po;0;ON;;;;;N;;;;; +2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;; +2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;; +2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;; +2E83;CJK RADICAL SECOND TWO;So;0;ON;;;;;N;;;;; +2E84;CJK RADICAL SECOND THREE;So;0;ON;;;;;N;;;;; +2E85;CJK RADICAL PERSON;So;0;ON;;;;;N;;;;; +2E86;CJK RADICAL BOX;So;0;ON;;;;;N;;;;; +2E87;CJK RADICAL TABLE;So;0;ON;;;;;N;;;;; +2E88;CJK RADICAL KNIFE ONE;So;0;ON;;;;;N;;;;; +2E89;CJK RADICAL KNIFE TWO;So;0;ON;;;;;N;;;;; +2E8A;CJK RADICAL DIVINATION;So;0;ON;;;;;N;;;;; +2E8B;CJK RADICAL SEAL;So;0;ON;;;;;N;;;;; +2E8C;CJK RADICAL SMALL ONE;So;0;ON;;;;;N;;;;; +2E8D;CJK RADICAL SMALL TWO;So;0;ON;;;;;N;;;;; +2E8E;CJK RADICAL LAME ONE;So;0;ON;;;;;N;;;;; +2E8F;CJK RADICAL LAME TWO;So;0;ON;;;;;N;;;;; +2E90;CJK RADICAL LAME THREE;So;0;ON;;;;;N;;;;; +2E91;CJK RADICAL LAME FOUR;So;0;ON;;;;;N;;;;; +2E92;CJK RADICAL SNAKE;So;0;ON;;;;;N;;;;; +2E93;CJK RADICAL THREAD;So;0;ON;;;;;N;;;;; +2E94;CJK RADICAL SNOUT ONE;So;0;ON;;;;;N;;;;; +2E95;CJK RADICAL SNOUT TWO;So;0;ON;;;;;N;;;;; +2E96;CJK RADICAL HEART ONE;So;0;ON;;;;;N;;;;; +2E97;CJK RADICAL HEART TWO;So;0;ON;;;;;N;;;;; +2E98;CJK RADICAL HAND;So;0;ON;;;;;N;;;;; +2E99;CJK RADICAL RAP;So;0;ON;;;;;N;;;;; +2E9B;CJK RADICAL CHOKE;So;0;ON;;;;;N;;;;; +2E9C;CJK RADICAL SUN;So;0;ON;;;;;N;;;;; +2E9D;CJK RADICAL MOON;So;0;ON;;;;;N;;;;; +2E9E;CJK RADICAL DEATH;So;0;ON;;;;;N;;;;; +2E9F;CJK RADICAL MOTHER;So;0;ON; 6BCD;;;;N;;;;; +2EA0;CJK RADICAL CIVILIAN;So;0;ON;;;;;N;;;;; +2EA1;CJK RADICAL WATER ONE;So;0;ON;;;;;N;;;;; +2EA2;CJK RADICAL WATER TWO;So;0;ON;;;;;N;;;;; +2EA3;CJK RADICAL FIRE;So;0;ON;;;;;N;;;;; +2EA4;CJK RADICAL PAW ONE;So;0;ON;;;;;N;;;;; +2EA5;CJK RADICAL PAW TWO;So;0;ON;;;;;N;;;;; +2EA6;CJK RADICAL SIMPLIFIED HALF TREE TRUNK;So;0;ON;;;;;N;;;;; +2EA7;CJK RADICAL COW;So;0;ON;;;;;N;;;;; +2EA8;CJK RADICAL DOG;So;0;ON;;;;;N;;;;; +2EA9;CJK RADICAL JADE;So;0;ON;;;;;N;;;;; +2EAA;CJK RADICAL BOLT OF CLOTH;So;0;ON;;;;;N;;;;; +2EAB;CJK RADICAL EYE;So;0;ON;;;;;N;;;;; +2EAC;CJK RADICAL SPIRIT ONE;So;0;ON;;;;;N;;;;; +2EAD;CJK RADICAL SPIRIT TWO;So;0;ON;;;;;N;;;;; +2EAE;CJK RADICAL BAMBOO;So;0;ON;;;;;N;;;;; +2EAF;CJK RADICAL SILK;So;0;ON;;;;;N;;;;; +2EB0;CJK RADICAL C-SIMPLIFIED SILK;So;0;ON;;;;;N;;;;; +2EB1;CJK RADICAL NET ONE;So;0;ON;;;;;N;;;;; +2EB2;CJK RADICAL NET TWO;So;0;ON;;;;;N;;;;; +2EB3;CJK RADICAL NET THREE;So;0;ON;;;;;N;;;;; +2EB4;CJK RADICAL NET FOUR;So;0;ON;;;;;N;;;;; +2EB5;CJK RADICAL MESH;So;0;ON;;;;;N;;;;; +2EB6;CJK RADICAL SHEEP;So;0;ON;;;;;N;;;;; +2EB7;CJK RADICAL RAM;So;0;ON;;;;;N;;;;; +2EB8;CJK RADICAL EWE;So;0;ON;;;;;N;;;;; +2EB9;CJK RADICAL OLD;So;0;ON;;;;;N;;;;; +2EBA;CJK RADICAL BRUSH ONE;So;0;ON;;;;;N;;;;; +2EBB;CJK RADICAL BRUSH TWO;So;0;ON;;;;;N;;;;; +2EBC;CJK RADICAL MEAT;So;0;ON;;;;;N;;;;; +2EBD;CJK RADICAL MORTAR;So;0;ON;;;;;N;;;;; +2EBE;CJK RADICAL GRASS ONE;So;0;ON;;;;;N;;;;; +2EBF;CJK RADICAL GRASS TWO;So;0;ON;;;;;N;;;;; +2EC0;CJK RADICAL GRASS THREE;So;0;ON;;;;;N;;;;; +2EC1;CJK RADICAL TIGER;So;0;ON;;;;;N;;;;; +2EC2;CJK RADICAL CLOTHES;So;0;ON;;;;;N;;;;; +2EC3;CJK RADICAL WEST ONE;So;0;ON;;;;;N;;;;; +2EC4;CJK RADICAL WEST TWO;So;0;ON;;;;;N;;;;; +2EC5;CJK RADICAL C-SIMPLIFIED SEE;So;0;ON;;;;;N;;;;; +2EC6;CJK RADICAL SIMPLIFIED HORN;So;0;ON;;;;;N;;;;; +2EC7;CJK RADICAL HORN;So;0;ON;;;;;N;;;;; +2EC8;CJK RADICAL C-SIMPLIFIED SPEECH;So;0;ON;;;;;N;;;;; +2EC9;CJK RADICAL C-SIMPLIFIED SHELL;So;0;ON;;;;;N;;;;; +2ECA;CJK RADICAL FOOT;So;0;ON;;;;;N;;;;; +2ECB;CJK RADICAL C-SIMPLIFIED CART;So;0;ON;;;;;N;;;;; +2ECC;CJK RADICAL SIMPLIFIED WALK;So;0;ON;;;;;N;;;;; +2ECD;CJK RADICAL WALK ONE;So;0;ON;;;;;N;;;;; +2ECE;CJK RADICAL WALK TWO;So;0;ON;;;;;N;;;;; +2ECF;CJK RADICAL CITY;So;0;ON;;;;;N;;;;; +2ED0;CJK RADICAL C-SIMPLIFIED GOLD;So;0;ON;;;;;N;;;;; +2ED1;CJK RADICAL LONG ONE;So;0;ON;;;;;N;;;;; +2ED2;CJK RADICAL LONG TWO;So;0;ON;;;;;N;;;;; +2ED3;CJK RADICAL C-SIMPLIFIED LONG;So;0;ON;;;;;N;;;;; +2ED4;CJK RADICAL C-SIMPLIFIED GATE;So;0;ON;;;;;N;;;;; +2ED5;CJK RADICAL MOUND ONE;So;0;ON;;;;;N;;;;; +2ED6;CJK RADICAL MOUND TWO;So;0;ON;;;;;N;;;;; +2ED7;CJK RADICAL RAIN;So;0;ON;;;;;N;;;;; +2ED8;CJK RADICAL BLUE;So;0;ON;;;;;N;;;;; +2ED9;CJK RADICAL C-SIMPLIFIED TANNED LEATHER;So;0;ON;;;;;N;;;;; +2EDA;CJK RADICAL C-SIMPLIFIED LEAF;So;0;ON;;;;;N;;;;; +2EDB;CJK RADICAL C-SIMPLIFIED WIND;So;0;ON;;;;;N;;;;; +2EDC;CJK RADICAL C-SIMPLIFIED FLY;So;0;ON;;;;;N;;;;; +2EDD;CJK RADICAL EAT ONE;So;0;ON;;;;;N;;;;; +2EDE;CJK RADICAL EAT TWO;So;0;ON;;;;;N;;;;; +2EDF;CJK RADICAL EAT THREE;So;0;ON;;;;;N;;;;; +2EE0;CJK RADICAL C-SIMPLIFIED EAT;So;0;ON;;;;;N;;;;; +2EE1;CJK RADICAL HEAD;So;0;ON;;;;;N;;;;; +2EE2;CJK RADICAL C-SIMPLIFIED HORSE;So;0;ON;;;;;N;;;;; +2EE3;CJK RADICAL BONE;So;0;ON;;;;;N;;;;; +2EE4;CJK RADICAL GHOST;So;0;ON;;;;;N;;;;; +2EE5;CJK RADICAL C-SIMPLIFIED FISH;So;0;ON;;;;;N;;;;; +2EE6;CJK RADICAL C-SIMPLIFIED BIRD;So;0;ON;;;;;N;;;;; +2EE7;CJK RADICAL C-SIMPLIFIED SALT;So;0;ON;;;;;N;;;;; +2EE8;CJK RADICAL SIMPLIFIED WHEAT;So;0;ON;;;;;N;;;;; +2EE9;CJK RADICAL SIMPLIFIED YELLOW;So;0;ON;;;;;N;;;;; +2EEA;CJK RADICAL C-SIMPLIFIED FROG;So;0;ON;;;;;N;;;;; +2EEB;CJK RADICAL J-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; +2EEC;CJK RADICAL C-SIMPLIFIED EVEN;So;0;ON;;;;;N;;;;; +2EED;CJK RADICAL J-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; +2EEE;CJK RADICAL C-SIMPLIFIED TOOTH;So;0;ON;;;;;N;;;;; +2EEF;CJK RADICAL J-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; +2EF0;CJK RADICAL C-SIMPLIFIED DRAGON;So;0;ON;;;;;N;;;;; +2EF1;CJK RADICAL TURTLE;So;0;ON;;;;;N;;;;; +2EF2;CJK RADICAL J-SIMPLIFIED TURTLE;So;0;ON;;;;;N;;;;; +2EF3;CJK RADICAL C-SIMPLIFIED TURTLE;So;0;ON; 9F9F;;;;N;;;;; +2F00;KANGXI RADICAL ONE;So;0;ON; 4E00;;;;N;;;;; +2F01;KANGXI RADICAL LINE;So;0;ON; 4E28;;;;N;;;;; +2F02;KANGXI RADICAL DOT;So;0;ON; 4E36;;;;N;;;;; +2F03;KANGXI RADICAL SLASH;So;0;ON; 4E3F;;;;N;;;;; +2F04;KANGXI RADICAL SECOND;So;0;ON; 4E59;;;;N;;;;; +2F05;KANGXI RADICAL HOOK;So;0;ON; 4E85;;;;N;;;;; +2F06;KANGXI RADICAL TWO;So;0;ON; 4E8C;;;;N;;;;; +2F07;KANGXI RADICAL LID;So;0;ON; 4EA0;;;;N;;;;; +2F08;KANGXI RADICAL MAN;So;0;ON; 4EBA;;;;N;;;;; +2F09;KANGXI RADICAL LEGS;So;0;ON; 513F;;;;N;;;;; +2F0A;KANGXI RADICAL ENTER;So;0;ON; 5165;;;;N;;;;; +2F0B;KANGXI RADICAL EIGHT;So;0;ON; 516B;;;;N;;;;; +2F0C;KANGXI RADICAL DOWN BOX;So;0;ON; 5182;;;;N;;;;; +2F0D;KANGXI RADICAL COVER;So;0;ON; 5196;;;;N;;;;; +2F0E;KANGXI RADICAL ICE;So;0;ON; 51AB;;;;N;;;;; +2F0F;KANGXI RADICAL TABLE;So;0;ON; 51E0;;;;N;;;;; +2F10;KANGXI RADICAL OPEN BOX;So;0;ON; 51F5;;;;N;;;;; +2F11;KANGXI RADICAL KNIFE;So;0;ON; 5200;;;;N;;;;; +2F12;KANGXI RADICAL POWER;So;0;ON; 529B;;;;N;;;;; +2F13;KANGXI RADICAL WRAP;So;0;ON; 52F9;;;;N;;;;; +2F14;KANGXI RADICAL SPOON;So;0;ON; 5315;;;;N;;;;; +2F15;KANGXI RADICAL RIGHT OPEN BOX;So;0;ON; 531A;;;;N;;;;; +2F16;KANGXI RADICAL HIDING ENCLOSURE;So;0;ON; 5338;;;;N;;;;; +2F17;KANGXI RADICAL TEN;So;0;ON; 5341;;;;N;;;;; +2F18;KANGXI RADICAL DIVINATION;So;0;ON; 535C;;;;N;;;;; +2F19;KANGXI RADICAL SEAL;So;0;ON; 5369;;;;N;;;;; +2F1A;KANGXI RADICAL CLIFF;So;0;ON; 5382;;;;N;;;;; +2F1B;KANGXI RADICAL PRIVATE;So;0;ON; 53B6;;;;N;;;;; +2F1C;KANGXI RADICAL AGAIN;So;0;ON; 53C8;;;;N;;;;; +2F1D;KANGXI RADICAL MOUTH;So;0;ON; 53E3;;;;N;;;;; +2F1E;KANGXI RADICAL ENCLOSURE;So;0;ON; 56D7;;;;N;;;;; +2F1F;KANGXI RADICAL EARTH;So;0;ON; 571F;;;;N;;;;; +2F20;KANGXI RADICAL SCHOLAR;So;0;ON; 58EB;;;;N;;;;; +2F21;KANGXI RADICAL GO;So;0;ON; 5902;;;;N;;;;; +2F22;KANGXI RADICAL GO SLOWLY;So;0;ON; 590A;;;;N;;;;; +2F23;KANGXI RADICAL EVENING;So;0;ON; 5915;;;;N;;;;; +2F24;KANGXI RADICAL BIG;So;0;ON; 5927;;;;N;;;;; +2F25;KANGXI RADICAL WOMAN;So;0;ON; 5973;;;;N;;;;; +2F26;KANGXI RADICAL CHILD;So;0;ON; 5B50;;;;N;;;;; +2F27;KANGXI RADICAL ROOF;So;0;ON; 5B80;;;;N;;;;; +2F28;KANGXI RADICAL INCH;So;0;ON; 5BF8;;;;N;;;;; +2F29;KANGXI RADICAL SMALL;So;0;ON; 5C0F;;;;N;;;;; +2F2A;KANGXI RADICAL LAME;So;0;ON; 5C22;;;;N;;;;; +2F2B;KANGXI RADICAL CORPSE;So;0;ON; 5C38;;;;N;;;;; +2F2C;KANGXI RADICAL SPROUT;So;0;ON; 5C6E;;;;N;;;;; +2F2D;KANGXI RADICAL MOUNTAIN;So;0;ON; 5C71;;;;N;;;;; +2F2E;KANGXI RADICAL RIVER;So;0;ON; 5DDB;;;;N;;;;; +2F2F;KANGXI RADICAL WORK;So;0;ON; 5DE5;;;;N;;;;; +2F30;KANGXI RADICAL ONESELF;So;0;ON; 5DF1;;;;N;;;;; +2F31;KANGXI RADICAL TURBAN;So;0;ON; 5DFE;;;;N;;;;; +2F32;KANGXI RADICAL DRY;So;0;ON; 5E72;;;;N;;;;; +2F33;KANGXI RADICAL SHORT THREAD;So;0;ON; 5E7A;;;;N;;;;; +2F34;KANGXI RADICAL DOTTED CLIFF;So;0;ON; 5E7F;;;;N;;;;; +2F35;KANGXI RADICAL LONG STRIDE;So;0;ON; 5EF4;;;;N;;;;; +2F36;KANGXI RADICAL TWO HANDS;So;0;ON; 5EFE;;;;N;;;;; +2F37;KANGXI RADICAL SHOOT;So;0;ON; 5F0B;;;;N;;;;; +2F38;KANGXI RADICAL BOW;So;0;ON; 5F13;;;;N;;;;; +2F39;KANGXI RADICAL SNOUT;So;0;ON; 5F50;;;;N;;;;; +2F3A;KANGXI RADICAL BRISTLE;So;0;ON; 5F61;;;;N;;;;; +2F3B;KANGXI RADICAL STEP;So;0;ON; 5F73;;;;N;;;;; +2F3C;KANGXI RADICAL HEART;So;0;ON; 5FC3;;;;N;;;;; +2F3D;KANGXI RADICAL HALBERD;So;0;ON; 6208;;;;N;;;;; +2F3E;KANGXI RADICAL DOOR;So;0;ON; 6236;;;;N;;;;; +2F3F;KANGXI RADICAL HAND;So;0;ON; 624B;;;;N;;;;; +2F40;KANGXI RADICAL BRANCH;So;0;ON; 652F;;;;N;;;;; +2F41;KANGXI RADICAL RAP;So;0;ON; 6534;;;;N;;;;; +2F42;KANGXI RADICAL SCRIPT;So;0;ON; 6587;;;;N;;;;; +2F43;KANGXI RADICAL DIPPER;So;0;ON; 6597;;;;N;;;;; +2F44;KANGXI RADICAL AXE;So;0;ON; 65A4;;;;N;;;;; +2F45;KANGXI RADICAL SQUARE;So;0;ON; 65B9;;;;N;;;;; +2F46;KANGXI RADICAL NOT;So;0;ON; 65E0;;;;N;;;;; +2F47;KANGXI RADICAL SUN;So;0;ON; 65E5;;;;N;;;;; +2F48;KANGXI RADICAL SAY;So;0;ON; 66F0;;;;N;;;;; +2F49;KANGXI RADICAL MOON;So;0;ON; 6708;;;;N;;;;; +2F4A;KANGXI RADICAL TREE;So;0;ON; 6728;;;;N;;;;; +2F4B;KANGXI RADICAL LACK;So;0;ON; 6B20;;;;N;;;;; +2F4C;KANGXI RADICAL STOP;So;0;ON; 6B62;;;;N;;;;; +2F4D;KANGXI RADICAL DEATH;So;0;ON; 6B79;;;;N;;;;; +2F4E;KANGXI RADICAL WEAPON;So;0;ON; 6BB3;;;;N;;;;; +2F4F;KANGXI RADICAL DO NOT;So;0;ON; 6BCB;;;;N;;;;; +2F50;KANGXI RADICAL COMPARE;So;0;ON; 6BD4;;;;N;;;;; +2F51;KANGXI RADICAL FUR;So;0;ON; 6BDB;;;;N;;;;; +2F52;KANGXI RADICAL CLAN;So;0;ON; 6C0F;;;;N;;;;; +2F53;KANGXI RADICAL STEAM;So;0;ON; 6C14;;;;N;;;;; +2F54;KANGXI RADICAL WATER;So;0;ON; 6C34;;;;N;;;;; +2F55;KANGXI RADICAL FIRE;So;0;ON; 706B;;;;N;;;;; +2F56;KANGXI RADICAL CLAW;So;0;ON; 722A;;;;N;;;;; +2F57;KANGXI RADICAL FATHER;So;0;ON; 7236;;;;N;;;;; +2F58;KANGXI RADICAL DOUBLE X;So;0;ON; 723B;;;;N;;;;; +2F59;KANGXI RADICAL HALF TREE TRUNK;So;0;ON; 723F;;;;N;;;;; +2F5A;KANGXI RADICAL SLICE;So;0;ON; 7247;;;;N;;;;; +2F5B;KANGXI RADICAL FANG;So;0;ON; 7259;;;;N;;;;; +2F5C;KANGXI RADICAL COW;So;0;ON; 725B;;;;N;;;;; +2F5D;KANGXI RADICAL DOG;So;0;ON; 72AC;;;;N;;;;; +2F5E;KANGXI RADICAL PROFOUND;So;0;ON; 7384;;;;N;;;;; +2F5F;KANGXI RADICAL JADE;So;0;ON; 7389;;;;N;;;;; +2F60;KANGXI RADICAL MELON;So;0;ON; 74DC;;;;N;;;;; +2F61;KANGXI RADICAL TILE;So;0;ON; 74E6;;;;N;;;;; +2F62;KANGXI RADICAL SWEET;So;0;ON; 7518;;;;N;;;;; +2F63;KANGXI RADICAL LIFE;So;0;ON; 751F;;;;N;;;;; +2F64;KANGXI RADICAL USE;So;0;ON; 7528;;;;N;;;;; +2F65;KANGXI RADICAL FIELD;So;0;ON; 7530;;;;N;;;;; +2F66;KANGXI RADICAL BOLT OF CLOTH;So;0;ON; 758B;;;;N;;;;; +2F67;KANGXI RADICAL SICKNESS;So;0;ON; 7592;;;;N;;;;; +2F68;KANGXI RADICAL DOTTED TENT;So;0;ON; 7676;;;;N;;;;; +2F69;KANGXI RADICAL WHITE;So;0;ON; 767D;;;;N;;;;; +2F6A;KANGXI RADICAL SKIN;So;0;ON; 76AE;;;;N;;;;; +2F6B;KANGXI RADICAL DISH;So;0;ON; 76BF;;;;N;;;;; +2F6C;KANGXI RADICAL EYE;So;0;ON; 76EE;;;;N;;;;; +2F6D;KANGXI RADICAL SPEAR;So;0;ON; 77DB;;;;N;;;;; +2F6E;KANGXI RADICAL ARROW;So;0;ON; 77E2;;;;N;;;;; +2F6F;KANGXI RADICAL STONE;So;0;ON; 77F3;;;;N;;;;; +2F70;KANGXI RADICAL SPIRIT;So;0;ON; 793A;;;;N;;;;; +2F71;KANGXI RADICAL TRACK;So;0;ON; 79B8;;;;N;;;;; +2F72;KANGXI RADICAL GRAIN;So;0;ON; 79BE;;;;N;;;;; +2F73;KANGXI RADICAL CAVE;So;0;ON; 7A74;;;;N;;;;; +2F74;KANGXI RADICAL STAND;So;0;ON; 7ACB;;;;N;;;;; +2F75;KANGXI RADICAL BAMBOO;So;0;ON; 7AF9;;;;N;;;;; +2F76;KANGXI RADICAL RICE;So;0;ON; 7C73;;;;N;;;;; +2F77;KANGXI RADICAL SILK;So;0;ON; 7CF8;;;;N;;;;; +2F78;KANGXI RADICAL JAR;So;0;ON; 7F36;;;;N;;;;; +2F79;KANGXI RADICAL NET;So;0;ON; 7F51;;;;N;;;;; +2F7A;KANGXI RADICAL SHEEP;So;0;ON; 7F8A;;;;N;;;;; +2F7B;KANGXI RADICAL FEATHER;So;0;ON; 7FBD;;;;N;;;;; +2F7C;KANGXI RADICAL OLD;So;0;ON; 8001;;;;N;;;;; +2F7D;KANGXI RADICAL AND;So;0;ON; 800C;;;;N;;;;; +2F7E;KANGXI RADICAL PLOW;So;0;ON; 8012;;;;N;;;;; +2F7F;KANGXI RADICAL EAR;So;0;ON; 8033;;;;N;;;;; +2F80;KANGXI RADICAL BRUSH;So;0;ON; 807F;;;;N;;;;; +2F81;KANGXI RADICAL MEAT;So;0;ON; 8089;;;;N;;;;; +2F82;KANGXI RADICAL MINISTER;So;0;ON; 81E3;;;;N;;;;; +2F83;KANGXI RADICAL SELF;So;0;ON; 81EA;;;;N;;;;; +2F84;KANGXI RADICAL ARRIVE;So;0;ON; 81F3;;;;N;;;;; +2F85;KANGXI RADICAL MORTAR;So;0;ON; 81FC;;;;N;;;;; +2F86;KANGXI RADICAL TONGUE;So;0;ON; 820C;;;;N;;;;; +2F87;KANGXI RADICAL OPPOSE;So;0;ON; 821B;;;;N;;;;; +2F88;KANGXI RADICAL BOAT;So;0;ON; 821F;;;;N;;;;; +2F89;KANGXI RADICAL STOPPING;So;0;ON; 826E;;;;N;;;;; +2F8A;KANGXI RADICAL COLOR;So;0;ON; 8272;;;;N;;;;; +2F8B;KANGXI RADICAL GRASS;So;0;ON; 8278;;;;N;;;;; +2F8C;KANGXI RADICAL TIGER;So;0;ON; 864D;;;;N;;;;; +2F8D;KANGXI RADICAL INSECT;So;0;ON; 866B;;;;N;;;;; +2F8E;KANGXI RADICAL BLOOD;So;0;ON; 8840;;;;N;;;;; +2F8F;KANGXI RADICAL WALK ENCLOSURE;So;0;ON; 884C;;;;N;;;;; +2F90;KANGXI RADICAL CLOTHES;So;0;ON; 8863;;;;N;;;;; +2F91;KANGXI RADICAL WEST;So;0;ON; 897E;;;;N;;;;; +2F92;KANGXI RADICAL SEE;So;0;ON; 898B;;;;N;;;;; +2F93;KANGXI RADICAL HORN;So;0;ON; 89D2;;;;N;;;;; +2F94;KANGXI RADICAL SPEECH;So;0;ON; 8A00;;;;N;;;;; +2F95;KANGXI RADICAL VALLEY;So;0;ON; 8C37;;;;N;;;;; +2F96;KANGXI RADICAL BEAN;So;0;ON; 8C46;;;;N;;;;; +2F97;KANGXI RADICAL PIG;So;0;ON; 8C55;;;;N;;;;; +2F98;KANGXI RADICAL BADGER;So;0;ON; 8C78;;;;N;;;;; +2F99;KANGXI RADICAL SHELL;So;0;ON; 8C9D;;;;N;;;;; +2F9A;KANGXI RADICAL RED;So;0;ON; 8D64;;;;N;;;;; +2F9B;KANGXI RADICAL RUN;So;0;ON; 8D70;;;;N;;;;; +2F9C;KANGXI RADICAL FOOT;So;0;ON; 8DB3;;;;N;;;;; +2F9D;KANGXI RADICAL BODY;So;0;ON; 8EAB;;;;N;;;;; +2F9E;KANGXI RADICAL CART;So;0;ON; 8ECA;;;;N;;;;; +2F9F;KANGXI RADICAL BITTER;So;0;ON; 8F9B;;;;N;;;;; +2FA0;KANGXI RADICAL MORNING;So;0;ON; 8FB0;;;;N;;;;; +2FA1;KANGXI RADICAL WALK;So;0;ON; 8FB5;;;;N;;;;; +2FA2;KANGXI RADICAL CITY;So;0;ON; 9091;;;;N;;;;; +2FA3;KANGXI RADICAL WINE;So;0;ON; 9149;;;;N;;;;; +2FA4;KANGXI RADICAL DISTINGUISH;So;0;ON; 91C6;;;;N;;;;; +2FA5;KANGXI RADICAL VILLAGE;So;0;ON; 91CC;;;;N;;;;; +2FA6;KANGXI RADICAL GOLD;So;0;ON; 91D1;;;;N;;;;; +2FA7;KANGXI RADICAL LONG;So;0;ON; 9577;;;;N;;;;; +2FA8;KANGXI RADICAL GATE;So;0;ON; 9580;;;;N;;;;; +2FA9;KANGXI RADICAL MOUND;So;0;ON; 961C;;;;N;;;;; +2FAA;KANGXI RADICAL SLAVE;So;0;ON; 96B6;;;;N;;;;; +2FAB;KANGXI RADICAL SHORT TAILED BIRD;So;0;ON; 96B9;;;;N;;;;; +2FAC;KANGXI RADICAL RAIN;So;0;ON; 96E8;;;;N;;;;; +2FAD;KANGXI RADICAL BLUE;So;0;ON; 9751;;;;N;;;;; +2FAE;KANGXI RADICAL WRONG;So;0;ON; 975E;;;;N;;;;; +2FAF;KANGXI RADICAL FACE;So;0;ON; 9762;;;;N;;;;; +2FB0;KANGXI RADICAL LEATHER;So;0;ON; 9769;;;;N;;;;; +2FB1;KANGXI RADICAL TANNED LEATHER;So;0;ON; 97CB;;;;N;;;;; +2FB2;KANGXI RADICAL LEEK;So;0;ON; 97ED;;;;N;;;;; +2FB3;KANGXI RADICAL SOUND;So;0;ON; 97F3;;;;N;;;;; +2FB4;KANGXI RADICAL LEAF;So;0;ON; 9801;;;;N;;;;; +2FB5;KANGXI RADICAL WIND;So;0;ON; 98A8;;;;N;;;;; +2FB6;KANGXI RADICAL FLY;So;0;ON; 98DB;;;;N;;;;; +2FB7;KANGXI RADICAL EAT;So;0;ON; 98DF;;;;N;;;;; +2FB8;KANGXI RADICAL HEAD;So;0;ON; 9996;;;;N;;;;; +2FB9;KANGXI RADICAL FRAGRANT;So;0;ON; 9999;;;;N;;;;; +2FBA;KANGXI RADICAL HORSE;So;0;ON; 99AC;;;;N;;;;; +2FBB;KANGXI RADICAL BONE;So;0;ON; 9AA8;;;;N;;;;; +2FBC;KANGXI RADICAL TALL;So;0;ON; 9AD8;;;;N;;;;; +2FBD;KANGXI RADICAL HAIR;So;0;ON; 9ADF;;;;N;;;;; +2FBE;KANGXI RADICAL FIGHT;So;0;ON; 9B25;;;;N;;;;; +2FBF;KANGXI RADICAL SACRIFICIAL WINE;So;0;ON; 9B2F;;;;N;;;;; +2FC0;KANGXI RADICAL CAULDRON;So;0;ON; 9B32;;;;N;;;;; +2FC1;KANGXI RADICAL GHOST;So;0;ON; 9B3C;;;;N;;;;; +2FC2;KANGXI RADICAL FISH;So;0;ON; 9B5A;;;;N;;;;; +2FC3;KANGXI RADICAL BIRD;So;0;ON; 9CE5;;;;N;;;;; +2FC4;KANGXI RADICAL SALT;So;0;ON; 9E75;;;;N;;;;; +2FC5;KANGXI RADICAL DEER;So;0;ON; 9E7F;;;;N;;;;; +2FC6;KANGXI RADICAL WHEAT;So;0;ON; 9EA5;;;;N;;;;; +2FC7;KANGXI RADICAL HEMP;So;0;ON; 9EBB;;;;N;;;;; +2FC8;KANGXI RADICAL YELLOW;So;0;ON; 9EC3;;;;N;;;;; +2FC9;KANGXI RADICAL MILLET;So;0;ON; 9ECD;;;;N;;;;; +2FCA;KANGXI RADICAL BLACK;So;0;ON; 9ED1;;;;N;;;;; +2FCB;KANGXI RADICAL EMBROIDERY;So;0;ON; 9EF9;;;;N;;;;; +2FCC;KANGXI RADICAL FROG;So;0;ON; 9EFD;;;;N;;;;; +2FCD;KANGXI RADICAL TRIPOD;So;0;ON; 9F0E;;;;N;;;;; +2FCE;KANGXI RADICAL DRUM;So;0;ON; 9F13;;;;N;;;;; +2FCF;KANGXI RADICAL RAT;So;0;ON; 9F20;;;;N;;;;; +2FD0;KANGXI RADICAL NOSE;So;0;ON; 9F3B;;;;N;;;;; +2FD1;KANGXI RADICAL EVEN;So;0;ON; 9F4A;;;;N;;;;; +2FD2;KANGXI RADICAL TOOTH;So;0;ON; 9F52;;;;N;;;;; +2FD3;KANGXI RADICAL DRAGON;So;0;ON; 9F8D;;;;N;;;;; +2FD4;KANGXI RADICAL TURTLE;So;0;ON; 9F9C;;;;N;;;;; +2FD5;KANGXI RADICAL FLUTE;So;0;ON; 9FA0;;;;N;;;;; +2FF0;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT;So;0;ON;;;;;N;;;;; +2FF1;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW;So;0;ON;;;;;N;;;;; +2FF2;IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT;So;0;ON;;;;;N;;;;; +2FF3;IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW;So;0;ON;;;;;N;;;;; +2FF4;IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND;So;0;ON;;;;;N;;;;; +2FF5;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE;So;0;ON;;;;;N;;;;; +2FF6;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW;So;0;ON;;;;;N;;;;; +2FF7;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT;So;0;ON;;;;;N;;;;; +2FF8;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT;So;0;ON;;;;;N;;;;; +2FF9;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT;So;0;ON;;;;;N;;;;; +2FFA;IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT;So;0;ON;;;;;N;;;;; +2FFB;IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID;So;0;ON;;;;;N;;;;; +3000;IDEOGRAPHIC SPACE;Zs;0;WS; 0020;;;;N;;;;; +3001;IDEOGRAPHIC COMMA;Po;0;ON;;;;;N;;;;; +3002;IDEOGRAPHIC FULL STOP;Po;0;ON;;;;;N;IDEOGRAPHIC PERIOD;;;; +3003;DITTO MARK;Po;0;ON;;;;;N;;;;; +3004;JAPANESE INDUSTRIAL STANDARD SYMBOL;So;0;ON;;;;;N;;;;; +3005;IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; +3006;IDEOGRAPHIC CLOSING MARK;Lo;0;L;;;;;N;;;;; +3007;IDEOGRAPHIC NUMBER ZERO;Nl;0;L;;;;0;N;;;;; +3008;LEFT ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING ANGLE BRACKET;;;; +3009;RIGHT ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING ANGLE BRACKET;;;; +300A;LEFT DOUBLE ANGLE BRACKET;Ps;0;ON;;;;;Y;OPENING DOUBLE ANGLE BRACKET;;;; +300B;RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON;;;;;Y;CLOSING DOUBLE ANGLE BRACKET;;;; +300C;LEFT CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING CORNER BRACKET;;;; +300D;RIGHT CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING CORNER BRACKET;;;; +300E;LEFT WHITE CORNER BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE CORNER BRACKET;;;; +300F;RIGHT WHITE CORNER BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE CORNER BRACKET;;;; +3010;LEFT BLACK LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING BLACK LENTICULAR BRACKET;;;; +3011;RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING BLACK LENTICULAR BRACKET;;;; +3012;POSTAL MARK;So;0;ON;;;;;N;;;;; +3013;GETA MARK;So;0;ON;;;;;N;;;;; +3014;LEFT TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING TORTOISE SHELL BRACKET;;;; +3015;RIGHT TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING TORTOISE SHELL BRACKET;;;; +3016;LEFT WHITE LENTICULAR BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE LENTICULAR BRACKET;;;; +3017;RIGHT WHITE LENTICULAR BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE LENTICULAR BRACKET;;;; +3018;LEFT WHITE TORTOISE SHELL BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE TORTOISE SHELL BRACKET;;;; +3019;RIGHT WHITE TORTOISE SHELL BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE TORTOISE SHELL BRACKET;;;; +301A;LEFT WHITE SQUARE BRACKET;Ps;0;ON;;;;;Y;OPENING WHITE SQUARE BRACKET;;;; +301B;RIGHT WHITE SQUARE BRACKET;Pe;0;ON;;;;;Y;CLOSING WHITE SQUARE BRACKET;;;; +301C;WAVE DASH;Pd;0;ON;;;;;N;;;;; +301D;REVERSED DOUBLE PRIME QUOTATION MARK;Ps;0;ON;;;;;N;;;;; +301E;DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; +301F;LOW DOUBLE PRIME QUOTATION MARK;Pe;0;ON;;;;;N;;;;; +3020;POSTAL MARK FACE;So;0;ON;;;;;N;;;;; +3021;HANGZHOU NUMERAL ONE;Nl;0;L;;;;1;N;;;;; +3022;HANGZHOU NUMERAL TWO;Nl;0;L;;;;2;N;;;;; +3023;HANGZHOU NUMERAL THREE;Nl;0;L;;;;3;N;;;;; +3024;HANGZHOU NUMERAL FOUR;Nl;0;L;;;;4;N;;;;; +3025;HANGZHOU NUMERAL FIVE;Nl;0;L;;;;5;N;;;;; +3026;HANGZHOU NUMERAL SIX;Nl;0;L;;;;6;N;;;;; +3027;HANGZHOU NUMERAL SEVEN;Nl;0;L;;;;7;N;;;;; +3028;HANGZHOU NUMERAL EIGHT;Nl;0;L;;;;8;N;;;;; +3029;HANGZHOU NUMERAL NINE;Nl;0;L;;;;9;N;;;;; +302A;IDEOGRAPHIC LEVEL TONE MARK;Mn;218;NSM;;;;;N;;;;; +302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;; +302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;; +302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;; +302E;HANGUL SINGLE DOT TONE MARK;Mc;224;L;;;;;N;;;;; +302F;HANGUL DOUBLE DOT TONE MARK;Mc;224;L;;;;;N;;;;; +3030;WAVY DASH;Pd;0;ON;;;;;N;;;;; +3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;; +3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;; +3033;VERTICAL KANA REPEAT MARK UPPER HALF;Lm;0;L;;;;;N;;;;; +3034;VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF;Lm;0;L;;;;;N;;;;; +3035;VERTICAL KANA REPEAT MARK LOWER HALF;Lm;0;L;;;;;N;;;;; +3036;CIRCLED POSTAL MARK;So;0;ON; 3012;;;;N;;;;; +3037;IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL;So;0;ON;;;;;N;;;;; +3038;HANGZHOU NUMERAL TEN;Nl;0;L; 5341;;;10;N;;;;; +3039;HANGZHOU NUMERAL TWENTY;Nl;0;L; 5344;;;20;N;;;;; +303A;HANGZHOU NUMERAL THIRTY;Nl;0;L; 5345;;;30;N;;;;; +303B;VERTICAL IDEOGRAPHIC ITERATION MARK;Lm;0;L;;;;;N;;;;; +303C;MASU MARK;Lo;0;L;;;;;N;;;;; +303D;PART ALTERNATION MARK;Po;0;ON;;;;;N;;;;; +303E;IDEOGRAPHIC VARIATION INDICATOR;So;0;ON;;;;;N;;;;; +303F;IDEOGRAPHIC HALF FILL SPACE;So;0;ON;;;;;N;;;;; +3041;HIRAGANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +3042;HIRAGANA LETTER A;Lo;0;L;;;;;N;;;;; +3043;HIRAGANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; +3044;HIRAGANA LETTER I;Lo;0;L;;;;;N;;;;; +3045;HIRAGANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; +3046;HIRAGANA LETTER U;Lo;0;L;;;;;N;;;;; +3047;HIRAGANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; +3048;HIRAGANA LETTER E;Lo;0;L;;;;;N;;;;; +3049;HIRAGANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; +304A;HIRAGANA LETTER O;Lo;0;L;;;;;N;;;;; +304B;HIRAGANA LETTER KA;Lo;0;L;;;;;N;;;;; +304C;HIRAGANA LETTER GA;Lo;0;L;304B 3099;;;;N;;;;; +304D;HIRAGANA LETTER KI;Lo;0;L;;;;;N;;;;; +304E;HIRAGANA LETTER GI;Lo;0;L;304D 3099;;;;N;;;;; +304F;HIRAGANA LETTER KU;Lo;0;L;;;;;N;;;;; +3050;HIRAGANA LETTER GU;Lo;0;L;304F 3099;;;;N;;;;; +3051;HIRAGANA LETTER KE;Lo;0;L;;;;;N;;;;; +3052;HIRAGANA LETTER GE;Lo;0;L;3051 3099;;;;N;;;;; +3053;HIRAGANA LETTER KO;Lo;0;L;;;;;N;;;;; +3054;HIRAGANA LETTER GO;Lo;0;L;3053 3099;;;;N;;;;; +3055;HIRAGANA LETTER SA;Lo;0;L;;;;;N;;;;; +3056;HIRAGANA LETTER ZA;Lo;0;L;3055 3099;;;;N;;;;; +3057;HIRAGANA LETTER SI;Lo;0;L;;;;;N;;;;; +3058;HIRAGANA LETTER ZI;Lo;0;L;3057 3099;;;;N;;;;; +3059;HIRAGANA LETTER SU;Lo;0;L;;;;;N;;;;; +305A;HIRAGANA LETTER ZU;Lo;0;L;3059 3099;;;;N;;;;; +305B;HIRAGANA LETTER SE;Lo;0;L;;;;;N;;;;; +305C;HIRAGANA LETTER ZE;Lo;0;L;305B 3099;;;;N;;;;; +305D;HIRAGANA LETTER SO;Lo;0;L;;;;;N;;;;; +305E;HIRAGANA LETTER ZO;Lo;0;L;305D 3099;;;;N;;;;; +305F;HIRAGANA LETTER TA;Lo;0;L;;;;;N;;;;; +3060;HIRAGANA LETTER DA;Lo;0;L;305F 3099;;;;N;;;;; +3061;HIRAGANA LETTER TI;Lo;0;L;;;;;N;;;;; +3062;HIRAGANA LETTER DI;Lo;0;L;3061 3099;;;;N;;;;; +3063;HIRAGANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; +3064;HIRAGANA LETTER TU;Lo;0;L;;;;;N;;;;; +3065;HIRAGANA LETTER DU;Lo;0;L;3064 3099;;;;N;;;;; +3066;HIRAGANA LETTER TE;Lo;0;L;;;;;N;;;;; +3067;HIRAGANA LETTER DE;Lo;0;L;3066 3099;;;;N;;;;; +3068;HIRAGANA LETTER TO;Lo;0;L;;;;;N;;;;; +3069;HIRAGANA LETTER DO;Lo;0;L;3068 3099;;;;N;;;;; +306A;HIRAGANA LETTER NA;Lo;0;L;;;;;N;;;;; +306B;HIRAGANA LETTER NI;Lo;0;L;;;;;N;;;;; +306C;HIRAGANA LETTER NU;Lo;0;L;;;;;N;;;;; +306D;HIRAGANA LETTER NE;Lo;0;L;;;;;N;;;;; +306E;HIRAGANA LETTER NO;Lo;0;L;;;;;N;;;;; +306F;HIRAGANA LETTER HA;Lo;0;L;;;;;N;;;;; +3070;HIRAGANA LETTER BA;Lo;0;L;306F 3099;;;;N;;;;; +3071;HIRAGANA LETTER PA;Lo;0;L;306F 309A;;;;N;;;;; +3072;HIRAGANA LETTER HI;Lo;0;L;;;;;N;;;;; +3073;HIRAGANA LETTER BI;Lo;0;L;3072 3099;;;;N;;;;; +3074;HIRAGANA LETTER PI;Lo;0;L;3072 309A;;;;N;;;;; +3075;HIRAGANA LETTER HU;Lo;0;L;;;;;N;;;;; +3076;HIRAGANA LETTER BU;Lo;0;L;3075 3099;;;;N;;;;; +3077;HIRAGANA LETTER PU;Lo;0;L;3075 309A;;;;N;;;;; +3078;HIRAGANA LETTER HE;Lo;0;L;;;;;N;;;;; +3079;HIRAGANA LETTER BE;Lo;0;L;3078 3099;;;;N;;;;; +307A;HIRAGANA LETTER PE;Lo;0;L;3078 309A;;;;N;;;;; +307B;HIRAGANA LETTER HO;Lo;0;L;;;;;N;;;;; +307C;HIRAGANA LETTER BO;Lo;0;L;307B 3099;;;;N;;;;; +307D;HIRAGANA LETTER PO;Lo;0;L;307B 309A;;;;N;;;;; +307E;HIRAGANA LETTER MA;Lo;0;L;;;;;N;;;;; +307F;HIRAGANA LETTER MI;Lo;0;L;;;;;N;;;;; +3080;HIRAGANA LETTER MU;Lo;0;L;;;;;N;;;;; +3081;HIRAGANA LETTER ME;Lo;0;L;;;;;N;;;;; +3082;HIRAGANA LETTER MO;Lo;0;L;;;;;N;;;;; +3083;HIRAGANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; +3084;HIRAGANA LETTER YA;Lo;0;L;;;;;N;;;;; +3085;HIRAGANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; +3086;HIRAGANA LETTER YU;Lo;0;L;;;;;N;;;;; +3087;HIRAGANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; +3088;HIRAGANA LETTER YO;Lo;0;L;;;;;N;;;;; +3089;HIRAGANA LETTER RA;Lo;0;L;;;;;N;;;;; +308A;HIRAGANA LETTER RI;Lo;0;L;;;;;N;;;;; +308B;HIRAGANA LETTER RU;Lo;0;L;;;;;N;;;;; +308C;HIRAGANA LETTER RE;Lo;0;L;;;;;N;;;;; +308D;HIRAGANA LETTER RO;Lo;0;L;;;;;N;;;;; +308E;HIRAGANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; +308F;HIRAGANA LETTER WA;Lo;0;L;;;;;N;;;;; +3090;HIRAGANA LETTER WI;Lo;0;L;;;;;N;;;;; +3091;HIRAGANA LETTER WE;Lo;0;L;;;;;N;;;;; +3092;HIRAGANA LETTER WO;Lo;0;L;;;;;N;;;;; +3093;HIRAGANA LETTER N;Lo;0;L;;;;;N;;;;; +3094;HIRAGANA LETTER VU;Lo;0;L;3046 3099;;;;N;;;;; +3095;HIRAGANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; +3096;HIRAGANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; +3099;COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA VOICED SOUND MARK;;;; +309A;COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Mn;8;NSM;;;;;N;NON-SPACING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;;;; +309B;KATAKANA-HIRAGANA VOICED SOUND MARK;Sk;0;ON; 0020 3099;;;;N;;;;; +309C;KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK;Sk;0;ON; 0020 309A;;;;N;;;;; +309D;HIRAGANA ITERATION MARK;Lm;0;L;;;;;N;;;;; +309E;HIRAGANA VOICED ITERATION MARK;Lm;0;L;309D 3099;;;;N;;;;; +309F;HIRAGANA DIGRAPH YORI;Lo;0;L; 3088 308A;;;;N;;;;; +30A0;KATAKANA-HIRAGANA DOUBLE HYPHEN;Pd;0;ON;;;;;N;;;;; +30A1;KATAKANA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +30A2;KATAKANA LETTER A;Lo;0;L;;;;;N;;;;; +30A3;KATAKANA LETTER SMALL I;Lo;0;L;;;;;N;;;;; +30A4;KATAKANA LETTER I;Lo;0;L;;;;;N;;;;; +30A5;KATAKANA LETTER SMALL U;Lo;0;L;;;;;N;;;;; +30A6;KATAKANA LETTER U;Lo;0;L;;;;;N;;;;; +30A7;KATAKANA LETTER SMALL E;Lo;0;L;;;;;N;;;;; +30A8;KATAKANA LETTER E;Lo;0;L;;;;;N;;;;; +30A9;KATAKANA LETTER SMALL O;Lo;0;L;;;;;N;;;;; +30AA;KATAKANA LETTER O;Lo;0;L;;;;;N;;;;; +30AB;KATAKANA LETTER KA;Lo;0;L;;;;;N;;;;; +30AC;KATAKANA LETTER GA;Lo;0;L;30AB 3099;;;;N;;;;; +30AD;KATAKANA LETTER KI;Lo;0;L;;;;;N;;;;; +30AE;KATAKANA LETTER GI;Lo;0;L;30AD 3099;;;;N;;;;; +30AF;KATAKANA LETTER KU;Lo;0;L;;;;;N;;;;; +30B0;KATAKANA LETTER GU;Lo;0;L;30AF 3099;;;;N;;;;; +30B1;KATAKANA LETTER KE;Lo;0;L;;;;;N;;;;; +30B2;KATAKANA LETTER GE;Lo;0;L;30B1 3099;;;;N;;;;; +30B3;KATAKANA LETTER KO;Lo;0;L;;;;;N;;;;; +30B4;KATAKANA LETTER GO;Lo;0;L;30B3 3099;;;;N;;;;; +30B5;KATAKANA LETTER SA;Lo;0;L;;;;;N;;;;; +30B6;KATAKANA LETTER ZA;Lo;0;L;30B5 3099;;;;N;;;;; +30B7;KATAKANA LETTER SI;Lo;0;L;;;;;N;;;;; +30B8;KATAKANA LETTER ZI;Lo;0;L;30B7 3099;;;;N;;;;; +30B9;KATAKANA LETTER SU;Lo;0;L;;;;;N;;;;; +30BA;KATAKANA LETTER ZU;Lo;0;L;30B9 3099;;;;N;;;;; +30BB;KATAKANA LETTER SE;Lo;0;L;;;;;N;;;;; +30BC;KATAKANA LETTER ZE;Lo;0;L;30BB 3099;;;;N;;;;; +30BD;KATAKANA LETTER SO;Lo;0;L;;;;;N;;;;; +30BE;KATAKANA LETTER ZO;Lo;0;L;30BD 3099;;;;N;;;;; +30BF;KATAKANA LETTER TA;Lo;0;L;;;;;N;;;;; +30C0;KATAKANA LETTER DA;Lo;0;L;30BF 3099;;;;N;;;;; +30C1;KATAKANA LETTER TI;Lo;0;L;;;;;N;;;;; +30C2;KATAKANA LETTER DI;Lo;0;L;30C1 3099;;;;N;;;;; +30C3;KATAKANA LETTER SMALL TU;Lo;0;L;;;;;N;;;;; +30C4;KATAKANA LETTER TU;Lo;0;L;;;;;N;;;;; +30C5;KATAKANA LETTER DU;Lo;0;L;30C4 3099;;;;N;;;;; +30C6;KATAKANA LETTER TE;Lo;0;L;;;;;N;;;;; +30C7;KATAKANA LETTER DE;Lo;0;L;30C6 3099;;;;N;;;;; +30C8;KATAKANA LETTER TO;Lo;0;L;;;;;N;;;;; +30C9;KATAKANA LETTER DO;Lo;0;L;30C8 3099;;;;N;;;;; +30CA;KATAKANA LETTER NA;Lo;0;L;;;;;N;;;;; +30CB;KATAKANA LETTER NI;Lo;0;L;;;;;N;;;;; +30CC;KATAKANA LETTER NU;Lo;0;L;;;;;N;;;;; +30CD;KATAKANA LETTER NE;Lo;0;L;;;;;N;;;;; +30CE;KATAKANA LETTER NO;Lo;0;L;;;;;N;;;;; +30CF;KATAKANA LETTER HA;Lo;0;L;;;;;N;;;;; +30D0;KATAKANA LETTER BA;Lo;0;L;30CF 3099;;;;N;;;;; +30D1;KATAKANA LETTER PA;Lo;0;L;30CF 309A;;;;N;;;;; +30D2;KATAKANA LETTER HI;Lo;0;L;;;;;N;;;;; +30D3;KATAKANA LETTER BI;Lo;0;L;30D2 3099;;;;N;;;;; +30D4;KATAKANA LETTER PI;Lo;0;L;30D2 309A;;;;N;;;;; +30D5;KATAKANA LETTER HU;Lo;0;L;;;;;N;;;;; +30D6;KATAKANA LETTER BU;Lo;0;L;30D5 3099;;;;N;;;;; +30D7;KATAKANA LETTER PU;Lo;0;L;30D5 309A;;;;N;;;;; +30D8;KATAKANA LETTER HE;Lo;0;L;;;;;N;;;;; +30D9;KATAKANA LETTER BE;Lo;0;L;30D8 3099;;;;N;;;;; +30DA;KATAKANA LETTER PE;Lo;0;L;30D8 309A;;;;N;;;;; +30DB;KATAKANA LETTER HO;Lo;0;L;;;;;N;;;;; +30DC;KATAKANA LETTER BO;Lo;0;L;30DB 3099;;;;N;;;;; +30DD;KATAKANA LETTER PO;Lo;0;L;30DB 309A;;;;N;;;;; +30DE;KATAKANA LETTER MA;Lo;0;L;;;;;N;;;;; +30DF;KATAKANA LETTER MI;Lo;0;L;;;;;N;;;;; +30E0;KATAKANA LETTER MU;Lo;0;L;;;;;N;;;;; +30E1;KATAKANA LETTER ME;Lo;0;L;;;;;N;;;;; +30E2;KATAKANA LETTER MO;Lo;0;L;;;;;N;;;;; +30E3;KATAKANA LETTER SMALL YA;Lo;0;L;;;;;N;;;;; +30E4;KATAKANA LETTER YA;Lo;0;L;;;;;N;;;;; +30E5;KATAKANA LETTER SMALL YU;Lo;0;L;;;;;N;;;;; +30E6;KATAKANA LETTER YU;Lo;0;L;;;;;N;;;;; +30E7;KATAKANA LETTER SMALL YO;Lo;0;L;;;;;N;;;;; +30E8;KATAKANA LETTER YO;Lo;0;L;;;;;N;;;;; +30E9;KATAKANA LETTER RA;Lo;0;L;;;;;N;;;;; +30EA;KATAKANA LETTER RI;Lo;0;L;;;;;N;;;;; +30EB;KATAKANA LETTER RU;Lo;0;L;;;;;N;;;;; +30EC;KATAKANA LETTER RE;Lo;0;L;;;;;N;;;;; +30ED;KATAKANA LETTER RO;Lo;0;L;;;;;N;;;;; +30EE;KATAKANA LETTER SMALL WA;Lo;0;L;;;;;N;;;;; +30EF;KATAKANA LETTER WA;Lo;0;L;;;;;N;;;;; +30F0;KATAKANA LETTER WI;Lo;0;L;;;;;N;;;;; +30F1;KATAKANA LETTER WE;Lo;0;L;;;;;N;;;;; +30F2;KATAKANA LETTER WO;Lo;0;L;;;;;N;;;;; +30F3;KATAKANA LETTER N;Lo;0;L;;;;;N;;;;; +30F4;KATAKANA LETTER VU;Lo;0;L;30A6 3099;;;;N;;;;; +30F5;KATAKANA LETTER SMALL KA;Lo;0;L;;;;;N;;;;; +30F6;KATAKANA LETTER SMALL KE;Lo;0;L;;;;;N;;;;; +30F7;KATAKANA LETTER VA;Lo;0;L;30EF 3099;;;;N;;;;; +30F8;KATAKANA LETTER VI;Lo;0;L;30F0 3099;;;;N;;;;; +30F9;KATAKANA LETTER VE;Lo;0;L;30F1 3099;;;;N;;;;; +30FA;KATAKANA LETTER VO;Lo;0;L;30F2 3099;;;;N;;;;; +30FB;KATAKANA MIDDLE DOT;Po;0;ON;;;;;N;;;;; +30FC;KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L;;;;;N;;;;; +30FD;KATAKANA ITERATION MARK;Lm;0;L;;;;;N;;;;; +30FE;KATAKANA VOICED ITERATION MARK;Lm;0;L;30FD 3099;;;;N;;;;; +30FF;KATAKANA DIGRAPH KOTO;Lo;0;L; 30B3 30C8;;;;N;;;;; +3105;BOPOMOFO LETTER B;Lo;0;L;;;;;N;;;;; +3106;BOPOMOFO LETTER P;Lo;0;L;;;;;N;;;;; +3107;BOPOMOFO LETTER M;Lo;0;L;;;;;N;;;;; +3108;BOPOMOFO LETTER F;Lo;0;L;;;;;N;;;;; +3109;BOPOMOFO LETTER D;Lo;0;L;;;;;N;;;;; +310A;BOPOMOFO LETTER T;Lo;0;L;;;;;N;;;;; +310B;BOPOMOFO LETTER N;Lo;0;L;;;;;N;;;;; +310C;BOPOMOFO LETTER L;Lo;0;L;;;;;N;;;;; +310D;BOPOMOFO LETTER G;Lo;0;L;;;;;N;;;;; +310E;BOPOMOFO LETTER K;Lo;0;L;;;;;N;;;;; +310F;BOPOMOFO LETTER H;Lo;0;L;;;;;N;;;;; +3110;BOPOMOFO LETTER J;Lo;0;L;;;;;N;;;;; +3111;BOPOMOFO LETTER Q;Lo;0;L;;;;;N;;;;; +3112;BOPOMOFO LETTER X;Lo;0;L;;;;;N;;;;; +3113;BOPOMOFO LETTER ZH;Lo;0;L;;;;;N;;;;; +3114;BOPOMOFO LETTER CH;Lo;0;L;;;;;N;;;;; +3115;BOPOMOFO LETTER SH;Lo;0;L;;;;;N;;;;; +3116;BOPOMOFO LETTER R;Lo;0;L;;;;;N;;;;; +3117;BOPOMOFO LETTER Z;Lo;0;L;;;;;N;;;;; +3118;BOPOMOFO LETTER C;Lo;0;L;;;;;N;;;;; +3119;BOPOMOFO LETTER S;Lo;0;L;;;;;N;;;;; +311A;BOPOMOFO LETTER A;Lo;0;L;;;;;N;;;;; +311B;BOPOMOFO LETTER O;Lo;0;L;;;;;N;;;;; +311C;BOPOMOFO LETTER E;Lo;0;L;;;;;N;;;;; +311D;BOPOMOFO LETTER EH;Lo;0;L;;;;;N;;;;; +311E;BOPOMOFO LETTER AI;Lo;0;L;;;;;N;;;;; +311F;BOPOMOFO LETTER EI;Lo;0;L;;;;;N;;;;; +3120;BOPOMOFO LETTER AU;Lo;0;L;;;;;N;;;;; +3121;BOPOMOFO LETTER OU;Lo;0;L;;;;;N;;;;; +3122;BOPOMOFO LETTER AN;Lo;0;L;;;;;N;;;;; +3123;BOPOMOFO LETTER EN;Lo;0;L;;;;;N;;;;; +3124;BOPOMOFO LETTER ANG;Lo;0;L;;;;;N;;;;; +3125;BOPOMOFO LETTER ENG;Lo;0;L;;;;;N;;;;; +3126;BOPOMOFO LETTER ER;Lo;0;L;;;;;N;;;;; +3127;BOPOMOFO LETTER I;Lo;0;L;;;;;N;;;;; +3128;BOPOMOFO LETTER U;Lo;0;L;;;;;N;;;;; +3129;BOPOMOFO LETTER IU;Lo;0;L;;;;;N;;;;; +312A;BOPOMOFO LETTER V;Lo;0;L;;;;;N;;;;; +312B;BOPOMOFO LETTER NG;Lo;0;L;;;;;N;;;;; +312C;BOPOMOFO LETTER GN;Lo;0;L;;;;;N;;;;; +312D;BOPOMOFO LETTER IH;Lo;0;L;;;;;N;;;;; +312E;BOPOMOFO LETTER O WITH DOT ABOVE;Lo;0;L;;;;;N;;;;; +312F;BOPOMOFO LETTER NN;Lo;0;L;;;;;N;;;;; +3131;HANGUL LETTER KIYEOK;Lo;0;L; 1100;;;;N;HANGUL LETTER GIYEOG;;;; +3132;HANGUL LETTER SSANGKIYEOK;Lo;0;L; 1101;;;;N;HANGUL LETTER SSANG GIYEOG;;;; +3133;HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 11AA;;;;N;HANGUL LETTER GIYEOG SIOS;;;; +3134;HANGUL LETTER NIEUN;Lo;0;L; 1102;;;;N;;;;; +3135;HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 11AC;;;;N;HANGUL LETTER NIEUN JIEUJ;;;; +3136;HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 11AD;;;;N;HANGUL LETTER NIEUN HIEUH;;;; +3137;HANGUL LETTER TIKEUT;Lo;0;L; 1103;;;;N;HANGUL LETTER DIGEUD;;;; +3138;HANGUL LETTER SSANGTIKEUT;Lo;0;L; 1104;;;;N;HANGUL LETTER SSANG DIGEUD;;;; +3139;HANGUL LETTER RIEUL;Lo;0;L; 1105;;;;N;HANGUL LETTER LIEUL;;;; +313A;HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 11B0;;;;N;HANGUL LETTER LIEUL GIYEOG;;;; +313B;HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 11B1;;;;N;HANGUL LETTER LIEUL MIEUM;;;; +313C;HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 11B2;;;;N;HANGUL LETTER LIEUL BIEUB;;;; +313D;HANGUL LETTER RIEUL-SIOS;Lo;0;L; 11B3;;;;N;HANGUL LETTER LIEUL SIOS;;;; +313E;HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 11B4;;;;N;HANGUL LETTER LIEUL TIEUT;;;; +313F;HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 11B5;;;;N;HANGUL LETTER LIEUL PIEUP;;;; +3140;HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 111A;;;;N;HANGUL LETTER LIEUL HIEUH;;;; +3141;HANGUL LETTER MIEUM;Lo;0;L; 1106;;;;N;;;;; +3142;HANGUL LETTER PIEUP;Lo;0;L; 1107;;;;N;HANGUL LETTER BIEUB;;;; +3143;HANGUL LETTER SSANGPIEUP;Lo;0;L; 1108;;;;N;HANGUL LETTER SSANG BIEUB;;;; +3144;HANGUL LETTER PIEUP-SIOS;Lo;0;L; 1121;;;;N;HANGUL LETTER BIEUB SIOS;;;; +3145;HANGUL LETTER SIOS;Lo;0;L; 1109;;;;N;;;;; +3146;HANGUL LETTER SSANGSIOS;Lo;0;L; 110A;;;;N;HANGUL LETTER SSANG SIOS;;;; +3147;HANGUL LETTER IEUNG;Lo;0;L; 110B;;;;N;;;;; +3148;HANGUL LETTER CIEUC;Lo;0;L; 110C;;;;N;HANGUL LETTER JIEUJ;;;; +3149;HANGUL LETTER SSANGCIEUC;Lo;0;L; 110D;;;;N;HANGUL LETTER SSANG JIEUJ;;;; +314A;HANGUL LETTER CHIEUCH;Lo;0;L; 110E;;;;N;HANGUL LETTER CIEUC;;;; +314B;HANGUL LETTER KHIEUKH;Lo;0;L; 110F;;;;N;HANGUL LETTER KIYEOK;;;; +314C;HANGUL LETTER THIEUTH;Lo;0;L; 1110;;;;N;HANGUL LETTER TIEUT;;;; +314D;HANGUL LETTER PHIEUPH;Lo;0;L; 1111;;;;N;HANGUL LETTER PIEUP;;;; +314E;HANGUL LETTER HIEUH;Lo;0;L; 1112;;;;N;;;;; +314F;HANGUL LETTER A;Lo;0;L; 1161;;;;N;;;;; +3150;HANGUL LETTER AE;Lo;0;L; 1162;;;;N;;;;; +3151;HANGUL LETTER YA;Lo;0;L; 1163;;;;N;;;;; +3152;HANGUL LETTER YAE;Lo;0;L; 1164;;;;N;;;;; +3153;HANGUL LETTER EO;Lo;0;L; 1165;;;;N;;;;; +3154;HANGUL LETTER E;Lo;0;L; 1166;;;;N;;;;; +3155;HANGUL LETTER YEO;Lo;0;L; 1167;;;;N;;;;; +3156;HANGUL LETTER YE;Lo;0;L; 1168;;;;N;;;;; +3157;HANGUL LETTER O;Lo;0;L; 1169;;;;N;;;;; +3158;HANGUL LETTER WA;Lo;0;L; 116A;;;;N;;;;; +3159;HANGUL LETTER WAE;Lo;0;L; 116B;;;;N;;;;; +315A;HANGUL LETTER OE;Lo;0;L; 116C;;;;N;;;;; +315B;HANGUL LETTER YO;Lo;0;L; 116D;;;;N;;;;; +315C;HANGUL LETTER U;Lo;0;L; 116E;;;;N;;;;; +315D;HANGUL LETTER WEO;Lo;0;L; 116F;;;;N;;;;; +315E;HANGUL LETTER WE;Lo;0;L; 1170;;;;N;;;;; +315F;HANGUL LETTER WI;Lo;0;L; 1171;;;;N;;;;; +3160;HANGUL LETTER YU;Lo;0;L; 1172;;;;N;;;;; +3161;HANGUL LETTER EU;Lo;0;L; 1173;;;;N;;;;; +3162;HANGUL LETTER YI;Lo;0;L; 1174;;;;N;;;;; +3163;HANGUL LETTER I;Lo;0;L; 1175;;;;N;;;;; +3164;HANGUL FILLER;Lo;0;L; 1160;;;;N;HANGUL CAE OM;;;; +3165;HANGUL LETTER SSANGNIEUN;Lo;0;L; 1114;;;;N;HANGUL LETTER SSANG NIEUN;;;; +3166;HANGUL LETTER NIEUN-TIKEUT;Lo;0;L; 1115;;;;N;HANGUL LETTER NIEUN DIGEUD;;;; +3167;HANGUL LETTER NIEUN-SIOS;Lo;0;L; 11C7;;;;N;HANGUL LETTER NIEUN SIOS;;;; +3168;HANGUL LETTER NIEUN-PANSIOS;Lo;0;L; 11C8;;;;N;HANGUL LETTER NIEUN BAN CHI EUM;;;; +3169;HANGUL LETTER RIEUL-KIYEOK-SIOS;Lo;0;L; 11CC;;;;N;HANGUL LETTER LIEUL GIYEOG SIOS;;;; +316A;HANGUL LETTER RIEUL-TIKEUT;Lo;0;L; 11CE;;;;N;HANGUL LETTER LIEUL DIGEUD;;;; +316B;HANGUL LETTER RIEUL-PIEUP-SIOS;Lo;0;L; 11D3;;;;N;HANGUL LETTER LIEUL BIEUB SIOS;;;; +316C;HANGUL LETTER RIEUL-PANSIOS;Lo;0;L; 11D7;;;;N;HANGUL LETTER LIEUL BAN CHI EUM;;;; +316D;HANGUL LETTER RIEUL-YEORINHIEUH;Lo;0;L; 11D9;;;;N;HANGUL LETTER LIEUL YEOLIN HIEUH;;;; +316E;HANGUL LETTER MIEUM-PIEUP;Lo;0;L; 111C;;;;N;HANGUL LETTER MIEUM BIEUB;;;; +316F;HANGUL LETTER MIEUM-SIOS;Lo;0;L; 11DD;;;;N;HANGUL LETTER MIEUM SIOS;;;; +3170;HANGUL LETTER MIEUM-PANSIOS;Lo;0;L; 11DF;;;;N;HANGUL LETTER BIEUB BAN CHI EUM;;;; +3171;HANGUL LETTER KAPYEOUNMIEUM;Lo;0;L; 111D;;;;N;HANGUL LETTER MIEUM SUN GYEONG EUM;;;; +3172;HANGUL LETTER PIEUP-KIYEOK;Lo;0;L; 111E;;;;N;HANGUL LETTER BIEUB GIYEOG;;;; +3173;HANGUL LETTER PIEUP-TIKEUT;Lo;0;L; 1120;;;;N;HANGUL LETTER BIEUB DIGEUD;;;; +3174;HANGUL LETTER PIEUP-SIOS-KIYEOK;Lo;0;L; 1122;;;;N;HANGUL LETTER BIEUB SIOS GIYEOG;;;; +3175;HANGUL LETTER PIEUP-SIOS-TIKEUT;Lo;0;L; 1123;;;;N;HANGUL LETTER BIEUB SIOS DIGEUD;;;; +3176;HANGUL LETTER PIEUP-CIEUC;Lo;0;L; 1127;;;;N;HANGUL LETTER BIEUB JIEUJ;;;; +3177;HANGUL LETTER PIEUP-THIEUTH;Lo;0;L; 1129;;;;N;HANGUL LETTER BIEUB TIEUT;;;; +3178;HANGUL LETTER KAPYEOUNPIEUP;Lo;0;L; 112B;;;;N;HANGUL LETTER BIEUB SUN GYEONG EUM;;;; +3179;HANGUL LETTER KAPYEOUNSSANGPIEUP;Lo;0;L; 112C;;;;N;HANGUL LETTER SSANG BIEUB SUN GYEONG EUM;;;; +317A;HANGUL LETTER SIOS-KIYEOK;Lo;0;L; 112D;;;;N;HANGUL LETTER SIOS GIYEOG;;;; +317B;HANGUL LETTER SIOS-NIEUN;Lo;0;L; 112E;;;;N;HANGUL LETTER SIOS NIEUN;;;; +317C;HANGUL LETTER SIOS-TIKEUT;Lo;0;L; 112F;;;;N;HANGUL LETTER SIOS DIGEUD;;;; +317D;HANGUL LETTER SIOS-PIEUP;Lo;0;L; 1132;;;;N;HANGUL LETTER SIOS BIEUB;;;; +317E;HANGUL LETTER SIOS-CIEUC;Lo;0;L; 1136;;;;N;HANGUL LETTER SIOS JIEUJ;;;; +317F;HANGUL LETTER PANSIOS;Lo;0;L; 1140;;;;N;HANGUL LETTER BAN CHI EUM;;;; +3180;HANGUL LETTER SSANGIEUNG;Lo;0;L; 1147;;;;N;HANGUL LETTER SSANG IEUNG;;;; +3181;HANGUL LETTER YESIEUNG;Lo;0;L; 114C;;;;N;HANGUL LETTER NGIEUNG;;;; +3182;HANGUL LETTER YESIEUNG-SIOS;Lo;0;L; 11F1;;;;N;HANGUL LETTER NGIEUNG SIOS;;;; +3183;HANGUL LETTER YESIEUNG-PANSIOS;Lo;0;L; 11F2;;;;N;HANGUL LETTER NGIEUNG BAN CHI EUM;;;; +3184;HANGUL LETTER KAPYEOUNPHIEUPH;Lo;0;L; 1157;;;;N;HANGUL LETTER PIEUP SUN GYEONG EUM;;;; +3185;HANGUL LETTER SSANGHIEUH;Lo;0;L; 1158;;;;N;HANGUL LETTER SSANG HIEUH;;;; +3186;HANGUL LETTER YEORINHIEUH;Lo;0;L; 1159;;;;N;HANGUL LETTER YEOLIN HIEUH;;;; +3187;HANGUL LETTER YO-YA;Lo;0;L; 1184;;;;N;HANGUL LETTER YOYA;;;; +3188;HANGUL LETTER YO-YAE;Lo;0;L; 1185;;;;N;HANGUL LETTER YOYAE;;;; +3189;HANGUL LETTER YO-I;Lo;0;L; 1188;;;;N;HANGUL LETTER YOI;;;; +318A;HANGUL LETTER YU-YEO;Lo;0;L; 1191;;;;N;HANGUL LETTER YUYEO;;;; +318B;HANGUL LETTER YU-YE;Lo;0;L; 1192;;;;N;HANGUL LETTER YUYE;;;; +318C;HANGUL LETTER YU-I;Lo;0;L; 1194;;;;N;HANGUL LETTER YUI;;;; +318D;HANGUL LETTER ARAEA;Lo;0;L; 119E;;;;N;HANGUL LETTER ALAE A;;;; +318E;HANGUL LETTER ARAEAE;Lo;0;L; 11A1;;;;N;HANGUL LETTER ALAE AE;;;; +3190;IDEOGRAPHIC ANNOTATION LINKING MARK;So;0;L;;;;;N;KANBUN TATETEN;;;; +3191;IDEOGRAPHIC ANNOTATION REVERSE MARK;So;0;L;;;;;N;KAERITEN RE;;;; +3192;IDEOGRAPHIC ANNOTATION ONE MARK;No;0;L; 4E00;;;1;N;KAERITEN ITI;;;; +3193;IDEOGRAPHIC ANNOTATION TWO MARK;No;0;L; 4E8C;;;2;N;KAERITEN NI;;;; +3194;IDEOGRAPHIC ANNOTATION THREE MARK;No;0;L; 4E09;;;3;N;KAERITEN SAN;;;; +3195;IDEOGRAPHIC ANNOTATION FOUR MARK;No;0;L; 56DB;;;4;N;KAERITEN SI;;;; +3196;IDEOGRAPHIC ANNOTATION TOP MARK;So;0;L; 4E0A;;;;N;KAERITEN ZYOU;;;; +3197;IDEOGRAPHIC ANNOTATION MIDDLE MARK;So;0;L; 4E2D;;;;N;KAERITEN TYUU;;;; +3198;IDEOGRAPHIC ANNOTATION BOTTOM MARK;So;0;L; 4E0B;;;;N;KAERITEN GE;;;; +3199;IDEOGRAPHIC ANNOTATION FIRST MARK;So;0;L; 7532;;;;N;KAERITEN KOU;;;; +319A;IDEOGRAPHIC ANNOTATION SECOND MARK;So;0;L; 4E59;;;;N;KAERITEN OTU;;;; +319B;IDEOGRAPHIC ANNOTATION THIRD MARK;So;0;L; 4E19;;;;N;KAERITEN HEI;;;; +319C;IDEOGRAPHIC ANNOTATION FOURTH MARK;So;0;L; 4E01;;;;N;KAERITEN TEI;;;; +319D;IDEOGRAPHIC ANNOTATION HEAVEN MARK;So;0;L; 5929;;;;N;KAERITEN TEN;;;; +319E;IDEOGRAPHIC ANNOTATION EARTH MARK;So;0;L; 5730;;;;N;KAERITEN TI;;;; +319F;IDEOGRAPHIC ANNOTATION MAN MARK;So;0;L; 4EBA;;;;N;KAERITEN ZIN;;;; +31A0;BOPOMOFO LETTER BU;Lo;0;L;;;;;N;;;;; +31A1;BOPOMOFO LETTER ZI;Lo;0;L;;;;;N;;;;; +31A2;BOPOMOFO LETTER JI;Lo;0;L;;;;;N;;;;; +31A3;BOPOMOFO LETTER GU;Lo;0;L;;;;;N;;;;; +31A4;BOPOMOFO LETTER EE;Lo;0;L;;;;;N;;;;; +31A5;BOPOMOFO LETTER ENN;Lo;0;L;;;;;N;;;;; +31A6;BOPOMOFO LETTER OO;Lo;0;L;;;;;N;;;;; +31A7;BOPOMOFO LETTER ONN;Lo;0;L;;;;;N;;;;; +31A8;BOPOMOFO LETTER IR;Lo;0;L;;;;;N;;;;; +31A9;BOPOMOFO LETTER ANN;Lo;0;L;;;;;N;;;;; +31AA;BOPOMOFO LETTER INN;Lo;0;L;;;;;N;;;;; +31AB;BOPOMOFO LETTER UNN;Lo;0;L;;;;;N;;;;; +31AC;BOPOMOFO LETTER IM;Lo;0;L;;;;;N;;;;; +31AD;BOPOMOFO LETTER NGG;Lo;0;L;;;;;N;;;;; +31AE;BOPOMOFO LETTER AINN;Lo;0;L;;;;;N;;;;; +31AF;BOPOMOFO LETTER AUNN;Lo;0;L;;;;;N;;;;; +31B0;BOPOMOFO LETTER AM;Lo;0;L;;;;;N;;;;; +31B1;BOPOMOFO LETTER OM;Lo;0;L;;;;;N;;;;; +31B2;BOPOMOFO LETTER ONG;Lo;0;L;;;;;N;;;;; +31B3;BOPOMOFO LETTER INNN;Lo;0;L;;;;;N;;;;; +31B4;BOPOMOFO FINAL LETTER P;Lo;0;L;;;;;N;;;;; +31B5;BOPOMOFO FINAL LETTER T;Lo;0;L;;;;;N;;;;; +31B6;BOPOMOFO FINAL LETTER K;Lo;0;L;;;;;N;;;;; +31B7;BOPOMOFO FINAL LETTER H;Lo;0;L;;;;;N;;;;; +31B8;BOPOMOFO LETTER GH;Lo;0;L;;;;;N;;;;; +31B9;BOPOMOFO LETTER LH;Lo;0;L;;;;;N;;;;; +31BA;BOPOMOFO LETTER ZY;Lo;0;L;;;;;N;;;;; +31BB;BOPOMOFO FINAL LETTER G;Lo;0;L;;;;;N;;;;; +31BC;BOPOMOFO LETTER GW;Lo;0;L;;;;;N;;;;; +31BD;BOPOMOFO LETTER KW;Lo;0;L;;;;;N;;;;; +31BE;BOPOMOFO LETTER OE;Lo;0;L;;;;;N;;;;; +31BF;BOPOMOFO LETTER AH;Lo;0;L;;;;;N;;;;; +31C0;CJK STROKE T;So;0;ON;;;;;N;;;;; +31C1;CJK STROKE WG;So;0;ON;;;;;N;;;;; +31C2;CJK STROKE XG;So;0;ON;;;;;N;;;;; +31C3;CJK STROKE BXG;So;0;ON;;;;;N;;;;; +31C4;CJK STROKE SW;So;0;ON;;;;;N;;;;; +31C5;CJK STROKE HZZ;So;0;ON;;;;;N;;;;; +31C6;CJK STROKE HZG;So;0;ON;;;;;N;;;;; +31C7;CJK STROKE HP;So;0;ON;;;;;N;;;;; +31C8;CJK STROKE HZWG;So;0;ON;;;;;N;;;;; +31C9;CJK STROKE SZWG;So;0;ON;;;;;N;;;;; +31CA;CJK STROKE HZT;So;0;ON;;;;;N;;;;; +31CB;CJK STROKE HZZP;So;0;ON;;;;;N;;;;; +31CC;CJK STROKE HPWG;So;0;ON;;;;;N;;;;; +31CD;CJK STROKE HZW;So;0;ON;;;;;N;;;;; +31CE;CJK STROKE HZZZ;So;0;ON;;;;;N;;;;; +31CF;CJK STROKE N;So;0;ON;;;;;N;;;;; +31D0;CJK STROKE H;So;0;ON;;;;;N;;;;; +31D1;CJK STROKE S;So;0;ON;;;;;N;;;;; +31D2;CJK STROKE P;So;0;ON;;;;;N;;;;; +31D3;CJK STROKE SP;So;0;ON;;;;;N;;;;; +31D4;CJK STROKE D;So;0;ON;;;;;N;;;;; +31D5;CJK STROKE HZ;So;0;ON;;;;;N;;;;; +31D6;CJK STROKE HG;So;0;ON;;;;;N;;;;; +31D7;CJK STROKE SZ;So;0;ON;;;;;N;;;;; +31D8;CJK STROKE SWZ;So;0;ON;;;;;N;;;;; +31D9;CJK STROKE ST;So;0;ON;;;;;N;;;;; +31DA;CJK STROKE SG;So;0;ON;;;;;N;;;;; +31DB;CJK STROKE PD;So;0;ON;;;;;N;;;;; +31DC;CJK STROKE PZ;So;0;ON;;;;;N;;;;; +31DD;CJK STROKE TN;So;0;ON;;;;;N;;;;; +31DE;CJK STROKE SZZ;So;0;ON;;;;;N;;;;; +31DF;CJK STROKE SWG;So;0;ON;;;;;N;;;;; +31E0;CJK STROKE HXWG;So;0;ON;;;;;N;;;;; +31E1;CJK STROKE HZZZG;So;0;ON;;;;;N;;;;; +31E2;CJK STROKE PG;So;0;ON;;;;;N;;;;; +31E3;CJK STROKE Q;So;0;ON;;;;;N;;;;; +31F0;KATAKANA LETTER SMALL KU;Lo;0;L;;;;;N;;;;; +31F1;KATAKANA LETTER SMALL SI;Lo;0;L;;;;;N;;;;; +31F2;KATAKANA LETTER SMALL SU;Lo;0;L;;;;;N;;;;; +31F3;KATAKANA LETTER SMALL TO;Lo;0;L;;;;;N;;;;; +31F4;KATAKANA LETTER SMALL NU;Lo;0;L;;;;;N;;;;; +31F5;KATAKANA LETTER SMALL HA;Lo;0;L;;;;;N;;;;; +31F6;KATAKANA LETTER SMALL HI;Lo;0;L;;;;;N;;;;; +31F7;KATAKANA LETTER SMALL HU;Lo;0;L;;;;;N;;;;; +31F8;KATAKANA LETTER SMALL HE;Lo;0;L;;;;;N;;;;; +31F9;KATAKANA LETTER SMALL HO;Lo;0;L;;;;;N;;;;; +31FA;KATAKANA LETTER SMALL MU;Lo;0;L;;;;;N;;;;; +31FB;KATAKANA LETTER SMALL RA;Lo;0;L;;;;;N;;;;; +31FC;KATAKANA LETTER SMALL RI;Lo;0;L;;;;;N;;;;; +31FD;KATAKANA LETTER SMALL RU;Lo;0;L;;;;;N;;;;; +31FE;KATAKANA LETTER SMALL RE;Lo;0;L;;;;;N;;;;; +31FF;KATAKANA LETTER SMALL RO;Lo;0;L;;;;;N;;;;; +3200;PARENTHESIZED HANGUL KIYEOK;So;0;L; 0028 1100 0029;;;;N;PARENTHESIZED HANGUL GIYEOG;;;; +3201;PARENTHESIZED HANGUL NIEUN;So;0;L; 0028 1102 0029;;;;N;;;;; +3202;PARENTHESIZED HANGUL TIKEUT;So;0;L; 0028 1103 0029;;;;N;PARENTHESIZED HANGUL DIGEUD;;;; +3203;PARENTHESIZED HANGUL RIEUL;So;0;L; 0028 1105 0029;;;;N;PARENTHESIZED HANGUL LIEUL;;;; +3204;PARENTHESIZED HANGUL MIEUM;So;0;L; 0028 1106 0029;;;;N;;;;; +3205;PARENTHESIZED HANGUL PIEUP;So;0;L; 0028 1107 0029;;;;N;PARENTHESIZED HANGUL BIEUB;;;; +3206;PARENTHESIZED HANGUL SIOS;So;0;L; 0028 1109 0029;;;;N;;;;; +3207;PARENTHESIZED HANGUL IEUNG;So;0;L; 0028 110B 0029;;;;N;;;;; +3208;PARENTHESIZED HANGUL CIEUC;So;0;L; 0028 110C 0029;;;;N;PARENTHESIZED HANGUL JIEUJ;;;; +3209;PARENTHESIZED HANGUL CHIEUCH;So;0;L; 0028 110E 0029;;;;N;PARENTHESIZED HANGUL CIEUC;;;; +320A;PARENTHESIZED HANGUL KHIEUKH;So;0;L; 0028 110F 0029;;;;N;PARENTHESIZED HANGUL KIYEOK;;;; +320B;PARENTHESIZED HANGUL THIEUTH;So;0;L; 0028 1110 0029;;;;N;PARENTHESIZED HANGUL TIEUT;;;; +320C;PARENTHESIZED HANGUL PHIEUPH;So;0;L; 0028 1111 0029;;;;N;PARENTHESIZED HANGUL PIEUP;;;; +320D;PARENTHESIZED HANGUL HIEUH;So;0;L; 0028 1112 0029;;;;N;;;;; +320E;PARENTHESIZED HANGUL KIYEOK A;So;0;L; 0028 1100 1161 0029;;;;N;PARENTHESIZED HANGUL GA;;;; +320F;PARENTHESIZED HANGUL NIEUN A;So;0;L; 0028 1102 1161 0029;;;;N;PARENTHESIZED HANGUL NA;;;; +3210;PARENTHESIZED HANGUL TIKEUT A;So;0;L; 0028 1103 1161 0029;;;;N;PARENTHESIZED HANGUL DA;;;; +3211;PARENTHESIZED HANGUL RIEUL A;So;0;L; 0028 1105 1161 0029;;;;N;PARENTHESIZED HANGUL LA;;;; +3212;PARENTHESIZED HANGUL MIEUM A;So;0;L; 0028 1106 1161 0029;;;;N;PARENTHESIZED HANGUL MA;;;; +3213;PARENTHESIZED HANGUL PIEUP A;So;0;L; 0028 1107 1161 0029;;;;N;PARENTHESIZED HANGUL BA;;;; +3214;PARENTHESIZED HANGUL SIOS A;So;0;L; 0028 1109 1161 0029;;;;N;PARENTHESIZED HANGUL SA;;;; +3215;PARENTHESIZED HANGUL IEUNG A;So;0;L; 0028 110B 1161 0029;;;;N;PARENTHESIZED HANGUL A;;;; +3216;PARENTHESIZED HANGUL CIEUC A;So;0;L; 0028 110C 1161 0029;;;;N;PARENTHESIZED HANGUL JA;;;; +3217;PARENTHESIZED HANGUL CHIEUCH A;So;0;L; 0028 110E 1161 0029;;;;N;PARENTHESIZED HANGUL CA;;;; +3218;PARENTHESIZED HANGUL KHIEUKH A;So;0;L; 0028 110F 1161 0029;;;;N;PARENTHESIZED HANGUL KA;;;; +3219;PARENTHESIZED HANGUL THIEUTH A;So;0;L; 0028 1110 1161 0029;;;;N;PARENTHESIZED HANGUL TA;;;; +321A;PARENTHESIZED HANGUL PHIEUPH A;So;0;L; 0028 1111 1161 0029;;;;N;PARENTHESIZED HANGUL PA;;;; +321B;PARENTHESIZED HANGUL HIEUH A;So;0;L; 0028 1112 1161 0029;;;;N;PARENTHESIZED HANGUL HA;;;; +321C;PARENTHESIZED HANGUL CIEUC U;So;0;L; 0028 110C 116E 0029;;;;N;PARENTHESIZED HANGUL JU;;;; +321D;PARENTHESIZED KOREAN CHARACTER OJEON;So;0;ON; 0028 110B 1169 110C 1165 11AB 0029;;;;N;;;;; +321E;PARENTHESIZED KOREAN CHARACTER O HU;So;0;ON; 0028 110B 1169 1112 116E 0029;;;;N;;;;; +3220;PARENTHESIZED IDEOGRAPH ONE;No;0;L; 0028 4E00 0029;;;1;N;;;;; +3221;PARENTHESIZED IDEOGRAPH TWO;No;0;L; 0028 4E8C 0029;;;2;N;;;;; +3222;PARENTHESIZED IDEOGRAPH THREE;No;0;L; 0028 4E09 0029;;;3;N;;;;; +3223;PARENTHESIZED IDEOGRAPH FOUR;No;0;L; 0028 56DB 0029;;;4;N;;;;; +3224;PARENTHESIZED IDEOGRAPH FIVE;No;0;L; 0028 4E94 0029;;;5;N;;;;; +3225;PARENTHESIZED IDEOGRAPH SIX;No;0;L; 0028 516D 0029;;;6;N;;;;; +3226;PARENTHESIZED IDEOGRAPH SEVEN;No;0;L; 0028 4E03 0029;;;7;N;;;;; +3227;PARENTHESIZED IDEOGRAPH EIGHT;No;0;L; 0028 516B 0029;;;8;N;;;;; +3228;PARENTHESIZED IDEOGRAPH NINE;No;0;L; 0028 4E5D 0029;;;9;N;;;;; +3229;PARENTHESIZED IDEOGRAPH TEN;No;0;L; 0028 5341 0029;;;10;N;;;;; +322A;PARENTHESIZED IDEOGRAPH MOON;So;0;L; 0028 6708 0029;;;;N;;;;; +322B;PARENTHESIZED IDEOGRAPH FIRE;So;0;L; 0028 706B 0029;;;;N;;;;; +322C;PARENTHESIZED IDEOGRAPH WATER;So;0;L; 0028 6C34 0029;;;;N;;;;; +322D;PARENTHESIZED IDEOGRAPH WOOD;So;0;L; 0028 6728 0029;;;;N;;;;; +322E;PARENTHESIZED IDEOGRAPH METAL;So;0;L; 0028 91D1 0029;;;;N;;;;; +322F;PARENTHESIZED IDEOGRAPH EARTH;So;0;L; 0028 571F 0029;;;;N;;;;; +3230;PARENTHESIZED IDEOGRAPH SUN;So;0;L; 0028 65E5 0029;;;;N;;;;; +3231;PARENTHESIZED IDEOGRAPH STOCK;So;0;L; 0028 682A 0029;;;;N;;;;; +3232;PARENTHESIZED IDEOGRAPH HAVE;So;0;L; 0028 6709 0029;;;;N;;;;; +3233;PARENTHESIZED IDEOGRAPH SOCIETY;So;0;L; 0028 793E 0029;;;;N;;;;; +3234;PARENTHESIZED IDEOGRAPH NAME;So;0;L; 0028 540D 0029;;;;N;;;;; +3235;PARENTHESIZED IDEOGRAPH SPECIAL;So;0;L; 0028 7279 0029;;;;N;;;;; +3236;PARENTHESIZED IDEOGRAPH FINANCIAL;So;0;L; 0028 8CA1 0029;;;;N;;;;; +3237;PARENTHESIZED IDEOGRAPH CONGRATULATION;So;0;L; 0028 795D 0029;;;;N;;;;; +3238;PARENTHESIZED IDEOGRAPH LABOR;So;0;L; 0028 52B4 0029;;;;N;;;;; +3239;PARENTHESIZED IDEOGRAPH REPRESENT;So;0;L; 0028 4EE3 0029;;;;N;;;;; +323A;PARENTHESIZED IDEOGRAPH CALL;So;0;L; 0028 547C 0029;;;;N;;;;; +323B;PARENTHESIZED IDEOGRAPH STUDY;So;0;L; 0028 5B66 0029;;;;N;;;;; +323C;PARENTHESIZED IDEOGRAPH SUPERVISE;So;0;L; 0028 76E3 0029;;;;N;;;;; +323D;PARENTHESIZED IDEOGRAPH ENTERPRISE;So;0;L; 0028 4F01 0029;;;;N;;;;; +323E;PARENTHESIZED IDEOGRAPH RESOURCE;So;0;L; 0028 8CC7 0029;;;;N;;;;; +323F;PARENTHESIZED IDEOGRAPH ALLIANCE;So;0;L; 0028 5354 0029;;;;N;;;;; +3240;PARENTHESIZED IDEOGRAPH FESTIVAL;So;0;L; 0028 796D 0029;;;;N;;;;; +3241;PARENTHESIZED IDEOGRAPH REST;So;0;L; 0028 4F11 0029;;;;N;;;;; +3242;PARENTHESIZED IDEOGRAPH SELF;So;0;L; 0028 81EA 0029;;;;N;;;;; +3243;PARENTHESIZED IDEOGRAPH REACH;So;0;L; 0028 81F3 0029;;;;N;;;;; +3244;CIRCLED IDEOGRAPH QUESTION;So;0;L; 554F;;;;N;;;;; +3245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L; 5E7C;;;;N;;;;; +3246;CIRCLED IDEOGRAPH SCHOOL;So;0;L; 6587;;;;N;;;;; +3247;CIRCLED IDEOGRAPH KOTO;So;0;L; 7B8F;;;;N;;;;; +3248;CIRCLED NUMBER TEN ON BLACK SQUARE;No;0;L;;;;10;N;;;;; +3249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;No;0;L;;;;20;N;;;;; +324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;No;0;L;;;;30;N;;;;; +324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;No;0;L;;;;40;N;;;;; +324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;No;0;L;;;;50;N;;;;; +324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;No;0;L;;;;60;N;;;;; +324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;No;0;L;;;;70;N;;;;; +324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;No;0;L;;;;80;N;;;;; +3250;PARTNERSHIP SIGN;So;0;ON; 0050 0054 0045;;;;N;;;;; +3251;CIRCLED NUMBER TWENTY ONE;No;0;ON; 0032 0031;;;21;N;;;;; +3252;CIRCLED NUMBER TWENTY TWO;No;0;ON; 0032 0032;;;22;N;;;;; +3253;CIRCLED NUMBER TWENTY THREE;No;0;ON; 0032 0033;;;23;N;;;;; +3254;CIRCLED NUMBER TWENTY FOUR;No;0;ON; 0032 0034;;;24;N;;;;; +3255;CIRCLED NUMBER TWENTY FIVE;No;0;ON; 0032 0035;;;25;N;;;;; +3256;CIRCLED NUMBER TWENTY SIX;No;0;ON; 0032 0036;;;26;N;;;;; +3257;CIRCLED NUMBER TWENTY SEVEN;No;0;ON; 0032 0037;;;27;N;;;;; +3258;CIRCLED NUMBER TWENTY EIGHT;No;0;ON; 0032 0038;;;28;N;;;;; +3259;CIRCLED NUMBER TWENTY NINE;No;0;ON; 0032 0039;;;29;N;;;;; +325A;CIRCLED NUMBER THIRTY;No;0;ON; 0033 0030;;;30;N;;;;; +325B;CIRCLED NUMBER THIRTY ONE;No;0;ON; 0033 0031;;;31;N;;;;; +325C;CIRCLED NUMBER THIRTY TWO;No;0;ON; 0033 0032;;;32;N;;;;; +325D;CIRCLED NUMBER THIRTY THREE;No;0;ON; 0033 0033;;;33;N;;;;; +325E;CIRCLED NUMBER THIRTY FOUR;No;0;ON; 0033 0034;;;34;N;;;;; +325F;CIRCLED NUMBER THIRTY FIVE;No;0;ON; 0033 0035;;;35;N;;;;; +3260;CIRCLED HANGUL KIYEOK;So;0;L; 1100;;;;N;CIRCLED HANGUL GIYEOG;;;; +3261;CIRCLED HANGUL NIEUN;So;0;L; 1102;;;;N;;;;; +3262;CIRCLED HANGUL TIKEUT;So;0;L; 1103;;;;N;CIRCLED HANGUL DIGEUD;;;; +3263;CIRCLED HANGUL RIEUL;So;0;L; 1105;;;;N;CIRCLED HANGUL LIEUL;;;; +3264;CIRCLED HANGUL MIEUM;So;0;L; 1106;;;;N;;;;; +3265;CIRCLED HANGUL PIEUP;So;0;L; 1107;;;;N;CIRCLED HANGUL BIEUB;;;; +3266;CIRCLED HANGUL SIOS;So;0;L; 1109;;;;N;;;;; +3267;CIRCLED HANGUL IEUNG;So;0;L; 110B;;;;N;;;;; +3268;CIRCLED HANGUL CIEUC;So;0;L; 110C;;;;N;CIRCLED HANGUL JIEUJ;;;; +3269;CIRCLED HANGUL CHIEUCH;So;0;L; 110E;;;;N;CIRCLED HANGUL CIEUC;;;; +326A;CIRCLED HANGUL KHIEUKH;So;0;L; 110F;;;;N;CIRCLED HANGUL KIYEOK;;;; +326B;CIRCLED HANGUL THIEUTH;So;0;L; 1110;;;;N;CIRCLED HANGUL TIEUT;;;; +326C;CIRCLED HANGUL PHIEUPH;So;0;L; 1111;;;;N;CIRCLED HANGUL PIEUP;;;; +326D;CIRCLED HANGUL HIEUH;So;0;L; 1112;;;;N;;;;; +326E;CIRCLED HANGUL KIYEOK A;So;0;L; 1100 1161;;;;N;CIRCLED HANGUL GA;;;; +326F;CIRCLED HANGUL NIEUN A;So;0;L; 1102 1161;;;;N;CIRCLED HANGUL NA;;;; +3270;CIRCLED HANGUL TIKEUT A;So;0;L; 1103 1161;;;;N;CIRCLED HANGUL DA;;;; +3271;CIRCLED HANGUL RIEUL A;So;0;L; 1105 1161;;;;N;CIRCLED HANGUL LA;;;; +3272;CIRCLED HANGUL MIEUM A;So;0;L; 1106 1161;;;;N;CIRCLED HANGUL MA;;;; +3273;CIRCLED HANGUL PIEUP A;So;0;L; 1107 1161;;;;N;CIRCLED HANGUL BA;;;; +3274;CIRCLED HANGUL SIOS A;So;0;L; 1109 1161;;;;N;CIRCLED HANGUL SA;;;; +3275;CIRCLED HANGUL IEUNG A;So;0;L; 110B 1161;;;;N;CIRCLED HANGUL A;;;; +3276;CIRCLED HANGUL CIEUC A;So;0;L; 110C 1161;;;;N;CIRCLED HANGUL JA;;;; +3277;CIRCLED HANGUL CHIEUCH A;So;0;L; 110E 1161;;;;N;CIRCLED HANGUL CA;;;; +3278;CIRCLED HANGUL KHIEUKH A;So;0;L; 110F 1161;;;;N;CIRCLED HANGUL KA;;;; +3279;CIRCLED HANGUL THIEUTH A;So;0;L; 1110 1161;;;;N;CIRCLED HANGUL TA;;;; +327A;CIRCLED HANGUL PHIEUPH A;So;0;L; 1111 1161;;;;N;CIRCLED HANGUL PA;;;; +327B;CIRCLED HANGUL HIEUH A;So;0;L; 1112 1161;;;;N;CIRCLED HANGUL HA;;;; +327C;CIRCLED KOREAN CHARACTER CHAMKO;So;0;ON; 110E 1161 11B7 1100 1169;;;;N;;;;; +327D;CIRCLED KOREAN CHARACTER JUEUI;So;0;ON; 110C 116E 110B 1174;;;;N;;;;; +327E;CIRCLED HANGUL IEUNG U;So;0;ON; 110B 116E;;;;N;;;;; +327F;KOREAN STANDARD SYMBOL;So;0;L;;;;;N;;;;; +3280;CIRCLED IDEOGRAPH ONE;No;0;L; 4E00;;;1;N;;;;; +3281;CIRCLED IDEOGRAPH TWO;No;0;L; 4E8C;;;2;N;;;;; +3282;CIRCLED IDEOGRAPH THREE;No;0;L; 4E09;;;3;N;;;;; +3283;CIRCLED IDEOGRAPH FOUR;No;0;L; 56DB;;;4;N;;;;; +3284;CIRCLED IDEOGRAPH FIVE;No;0;L; 4E94;;;5;N;;;;; +3285;CIRCLED IDEOGRAPH SIX;No;0;L; 516D;;;6;N;;;;; +3286;CIRCLED IDEOGRAPH SEVEN;No;0;L; 4E03;;;7;N;;;;; +3287;CIRCLED IDEOGRAPH EIGHT;No;0;L; 516B;;;8;N;;;;; +3288;CIRCLED IDEOGRAPH NINE;No;0;L; 4E5D;;;9;N;;;;; +3289;CIRCLED IDEOGRAPH TEN;No;0;L; 5341;;;10;N;;;;; +328A;CIRCLED IDEOGRAPH MOON;So;0;L; 6708;;;;N;;;;; +328B;CIRCLED IDEOGRAPH FIRE;So;0;L; 706B;;;;N;;;;; +328C;CIRCLED IDEOGRAPH WATER;So;0;L; 6C34;;;;N;;;;; +328D;CIRCLED IDEOGRAPH WOOD;So;0;L; 6728;;;;N;;;;; +328E;CIRCLED IDEOGRAPH METAL;So;0;L; 91D1;;;;N;;;;; +328F;CIRCLED IDEOGRAPH EARTH;So;0;L; 571F;;;;N;;;;; +3290;CIRCLED IDEOGRAPH SUN;So;0;L; 65E5;;;;N;;;;; +3291;CIRCLED IDEOGRAPH STOCK;So;0;L; 682A;;;;N;;;;; +3292;CIRCLED IDEOGRAPH HAVE;So;0;L; 6709;;;;N;;;;; +3293;CIRCLED IDEOGRAPH SOCIETY;So;0;L; 793E;;;;N;;;;; +3294;CIRCLED IDEOGRAPH NAME;So;0;L; 540D;;;;N;;;;; +3295;CIRCLED IDEOGRAPH SPECIAL;So;0;L; 7279;;;;N;;;;; +3296;CIRCLED IDEOGRAPH FINANCIAL;So;0;L; 8CA1;;;;N;;;;; +3297;CIRCLED IDEOGRAPH CONGRATULATION;So;0;L; 795D;;;;N;;;;; +3298;CIRCLED IDEOGRAPH LABOR;So;0;L; 52B4;;;;N;;;;; +3299;CIRCLED IDEOGRAPH SECRET;So;0;L; 79D8;;;;N;;;;; +329A;CIRCLED IDEOGRAPH MALE;So;0;L; 7537;;;;N;;;;; +329B;CIRCLED IDEOGRAPH FEMALE;So;0;L; 5973;;;;N;;;;; +329C;CIRCLED IDEOGRAPH SUITABLE;So;0;L; 9069;;;;N;;;;; +329D;CIRCLED IDEOGRAPH EXCELLENT;So;0;L; 512A;;;;N;;;;; +329E;CIRCLED IDEOGRAPH PRINT;So;0;L; 5370;;;;N;;;;; +329F;CIRCLED IDEOGRAPH ATTENTION;So;0;L; 6CE8;;;;N;;;;; +32A0;CIRCLED IDEOGRAPH ITEM;So;0;L; 9805;;;;N;;;;; +32A1;CIRCLED IDEOGRAPH REST;So;0;L; 4F11;;;;N;;;;; +32A2;CIRCLED IDEOGRAPH COPY;So;0;L; 5199;;;;N;;;;; +32A3;CIRCLED IDEOGRAPH CORRECT;So;0;L; 6B63;;;;N;;;;; +32A4;CIRCLED IDEOGRAPH HIGH;So;0;L; 4E0A;;;;N;;;;; +32A5;CIRCLED IDEOGRAPH CENTRE;So;0;L; 4E2D;;;;N;CIRCLED IDEOGRAPH CENTER;;;; +32A6;CIRCLED IDEOGRAPH LOW;So;0;L; 4E0B;;;;N;;;;; +32A7;CIRCLED IDEOGRAPH LEFT;So;0;L; 5DE6;;;;N;;;;; +32A8;CIRCLED IDEOGRAPH RIGHT;So;0;L; 53F3;;;;N;;;;; +32A9;CIRCLED IDEOGRAPH MEDICINE;So;0;L; 533B;;;;N;;;;; +32AA;CIRCLED IDEOGRAPH RELIGION;So;0;L; 5B97;;;;N;;;;; +32AB;CIRCLED IDEOGRAPH STUDY;So;0;L; 5B66;;;;N;;;;; +32AC;CIRCLED IDEOGRAPH SUPERVISE;So;0;L; 76E3;;;;N;;;;; +32AD;CIRCLED IDEOGRAPH ENTERPRISE;So;0;L; 4F01;;;;N;;;;; +32AE;CIRCLED IDEOGRAPH RESOURCE;So;0;L; 8CC7;;;;N;;;;; +32AF;CIRCLED IDEOGRAPH ALLIANCE;So;0;L; 5354;;;;N;;;;; +32B0;CIRCLED IDEOGRAPH NIGHT;So;0;L; 591C;;;;N;;;;; +32B1;CIRCLED NUMBER THIRTY SIX;No;0;ON; 0033 0036;;;36;N;;;;; +32B2;CIRCLED NUMBER THIRTY SEVEN;No;0;ON; 0033 0037;;;37;N;;;;; +32B3;CIRCLED NUMBER THIRTY EIGHT;No;0;ON; 0033 0038;;;38;N;;;;; +32B4;CIRCLED NUMBER THIRTY NINE;No;0;ON; 0033 0039;;;39;N;;;;; +32B5;CIRCLED NUMBER FORTY;No;0;ON; 0034 0030;;;40;N;;;;; +32B6;CIRCLED NUMBER FORTY ONE;No;0;ON; 0034 0031;;;41;N;;;;; +32B7;CIRCLED NUMBER FORTY TWO;No;0;ON; 0034 0032;;;42;N;;;;; +32B8;CIRCLED NUMBER FORTY THREE;No;0;ON; 0034 0033;;;43;N;;;;; +32B9;CIRCLED NUMBER FORTY FOUR;No;0;ON; 0034 0034;;;44;N;;;;; +32BA;CIRCLED NUMBER FORTY FIVE;No;0;ON; 0034 0035;;;45;N;;;;; +32BB;CIRCLED NUMBER FORTY SIX;No;0;ON; 0034 0036;;;46;N;;;;; +32BC;CIRCLED NUMBER FORTY SEVEN;No;0;ON; 0034 0037;;;47;N;;;;; +32BD;CIRCLED NUMBER FORTY EIGHT;No;0;ON; 0034 0038;;;48;N;;;;; +32BE;CIRCLED NUMBER FORTY NINE;No;0;ON; 0034 0039;;;49;N;;;;; +32BF;CIRCLED NUMBER FIFTY;No;0;ON; 0035 0030;;;50;N;;;;; +32C0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY;So;0;L; 0031 6708;;;;N;;;;; +32C1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY;So;0;L; 0032 6708;;;;N;;;;; +32C2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH;So;0;L; 0033 6708;;;;N;;;;; +32C3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL;So;0;L; 0034 6708;;;;N;;;;; +32C4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY;So;0;L; 0035 6708;;;;N;;;;; +32C5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE;So;0;L; 0036 6708;;;;N;;;;; +32C6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY;So;0;L; 0037 6708;;;;N;;;;; +32C7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST;So;0;L; 0038 6708;;;;N;;;;; +32C8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER;So;0;L; 0039 6708;;;;N;;;;; +32C9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER;So;0;L; 0031 0030 6708;;;;N;;;;; +32CA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER;So;0;L; 0031 0031 6708;;;;N;;;;; +32CB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER;So;0;L; 0031 0032 6708;;;;N;;;;; +32CC;SQUARE HG;So;0;ON; 0048 0067;;;;N;;;;; +32CD;SQUARE ERG;So;0;ON; 0065 0072 0067;;;;N;;;;; +32CE;SQUARE EV;So;0;ON; 0065 0056;;;;N;;;;; +32CF;LIMITED LIABILITY SIGN;So;0;ON; 004C 0054 0044;;;;N;;;;; +32D0;CIRCLED KATAKANA A;So;0;L; 30A2;;;;N;;;;; +32D1;CIRCLED KATAKANA I;So;0;L; 30A4;;;;N;;;;; +32D2;CIRCLED KATAKANA U;So;0;L; 30A6;;;;N;;;;; +32D3;CIRCLED KATAKANA E;So;0;L; 30A8;;;;N;;;;; +32D4;CIRCLED KATAKANA O;So;0;L; 30AA;;;;N;;;;; +32D5;CIRCLED KATAKANA KA;So;0;L; 30AB;;;;N;;;;; +32D6;CIRCLED KATAKANA KI;So;0;L; 30AD;;;;N;;;;; +32D7;CIRCLED KATAKANA KU;So;0;L; 30AF;;;;N;;;;; +32D8;CIRCLED KATAKANA KE;So;0;L; 30B1;;;;N;;;;; +32D9;CIRCLED KATAKANA KO;So;0;L; 30B3;;;;N;;;;; +32DA;CIRCLED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; +32DB;CIRCLED KATAKANA SI;So;0;L; 30B7;;;;N;;;;; +32DC;CIRCLED KATAKANA SU;So;0;L; 30B9;;;;N;;;;; +32DD;CIRCLED KATAKANA SE;So;0;L; 30BB;;;;N;;;;; +32DE;CIRCLED KATAKANA SO;So;0;L; 30BD;;;;N;;;;; +32DF;CIRCLED KATAKANA TA;So;0;L; 30BF;;;;N;;;;; +32E0;CIRCLED KATAKANA TI;So;0;L; 30C1;;;;N;;;;; +32E1;CIRCLED KATAKANA TU;So;0;L; 30C4;;;;N;;;;; +32E2;CIRCLED KATAKANA TE;So;0;L; 30C6;;;;N;;;;; +32E3;CIRCLED KATAKANA TO;So;0;L; 30C8;;;;N;;;;; +32E4;CIRCLED KATAKANA NA;So;0;L; 30CA;;;;N;;;;; +32E5;CIRCLED KATAKANA NI;So;0;L; 30CB;;;;N;;;;; +32E6;CIRCLED KATAKANA NU;So;0;L; 30CC;;;;N;;;;; +32E7;CIRCLED KATAKANA NE;So;0;L; 30CD;;;;N;;;;; +32E8;CIRCLED KATAKANA NO;So;0;L; 30CE;;;;N;;;;; +32E9;CIRCLED KATAKANA HA;So;0;L; 30CF;;;;N;;;;; +32EA;CIRCLED KATAKANA HI;So;0;L; 30D2;;;;N;;;;; +32EB;CIRCLED KATAKANA HU;So;0;L; 30D5;;;;N;;;;; +32EC;CIRCLED KATAKANA HE;So;0;L; 30D8;;;;N;;;;; +32ED;CIRCLED KATAKANA HO;So;0;L; 30DB;;;;N;;;;; +32EE;CIRCLED KATAKANA MA;So;0;L; 30DE;;;;N;;;;; +32EF;CIRCLED KATAKANA MI;So;0;L; 30DF;;;;N;;;;; +32F0;CIRCLED KATAKANA MU;So;0;L; 30E0;;;;N;;;;; +32F1;CIRCLED KATAKANA ME;So;0;L; 30E1;;;;N;;;;; +32F2;CIRCLED KATAKANA MO;So;0;L; 30E2;;;;N;;;;; +32F3;CIRCLED KATAKANA YA;So;0;L; 30E4;;;;N;;;;; +32F4;CIRCLED KATAKANA YU;So;0;L; 30E6;;;;N;;;;; +32F5;CIRCLED KATAKANA YO;So;0;L; 30E8;;;;N;;;;; +32F6;CIRCLED KATAKANA RA;So;0;L; 30E9;;;;N;;;;; +32F7;CIRCLED KATAKANA RI;So;0;L; 30EA;;;;N;;;;; +32F8;CIRCLED KATAKANA RU;So;0;L; 30EB;;;;N;;;;; +32F9;CIRCLED KATAKANA RE;So;0;L; 30EC;;;;N;;;;; +32FA;CIRCLED KATAKANA RO;So;0;L; 30ED;;;;N;;;;; +32FB;CIRCLED KATAKANA WA;So;0;L; 30EF;;;;N;;;;; +32FC;CIRCLED KATAKANA WI;So;0;L; 30F0;;;;N;;;;; +32FD;CIRCLED KATAKANA WE;So;0;L; 30F1;;;;N;;;;; +32FE;CIRCLED KATAKANA WO;So;0;L; 30F2;;;;N;;;;; +32FF;SQUARE ERA NAME REIWA;So;0;L; 4EE4 548C;;;;N;;;;; +3300;SQUARE APAATO;So;0;L; 30A2 30D1 30FC 30C8;;;;N;SQUARED APAATO;;;; +3301;SQUARE ARUHUA;So;0;L; 30A2 30EB 30D5 30A1;;;;N;SQUARED ARUHUA;;;; +3302;SQUARE ANPEA;So;0;L; 30A2 30F3 30DA 30A2;;;;N;SQUARED ANPEA;;;; +3303;SQUARE AARU;So;0;L; 30A2 30FC 30EB;;;;N;SQUARED AARU;;;; +3304;SQUARE ININGU;So;0;L; 30A4 30CB 30F3 30B0;;;;N;SQUARED ININGU;;;; +3305;SQUARE INTI;So;0;L; 30A4 30F3 30C1;;;;N;SQUARED INTI;;;; +3306;SQUARE UON;So;0;L; 30A6 30A9 30F3;;;;N;SQUARED UON;;;; +3307;SQUARE ESUKUUDO;So;0;L; 30A8 30B9 30AF 30FC 30C9;;;;N;SQUARED ESUKUUDO;;;; +3308;SQUARE EEKAA;So;0;L; 30A8 30FC 30AB 30FC;;;;N;SQUARED EEKAA;;;; +3309;SQUARE ONSU;So;0;L; 30AA 30F3 30B9;;;;N;SQUARED ONSU;;;; +330A;SQUARE OOMU;So;0;L; 30AA 30FC 30E0;;;;N;SQUARED OOMU;;;; +330B;SQUARE KAIRI;So;0;L; 30AB 30A4 30EA;;;;N;SQUARED KAIRI;;;; +330C;SQUARE KARATTO;So;0;L; 30AB 30E9 30C3 30C8;;;;N;SQUARED KARATTO;;;; +330D;SQUARE KARORII;So;0;L; 30AB 30ED 30EA 30FC;;;;N;SQUARED KARORII;;;; +330E;SQUARE GARON;So;0;L; 30AC 30ED 30F3;;;;N;SQUARED GARON;;;; +330F;SQUARE GANMA;So;0;L; 30AC 30F3 30DE;;;;N;SQUARED GANMA;;;; +3310;SQUARE GIGA;So;0;L; 30AE 30AC;;;;N;SQUARED GIGA;;;; +3311;SQUARE GINII;So;0;L; 30AE 30CB 30FC;;;;N;SQUARED GINII;;;; +3312;SQUARE KYURII;So;0;L; 30AD 30E5 30EA 30FC;;;;N;SQUARED KYURII;;;; +3313;SQUARE GIRUDAA;So;0;L; 30AE 30EB 30C0 30FC;;;;N;SQUARED GIRUDAA;;;; +3314;SQUARE KIRO;So;0;L; 30AD 30ED;;;;N;SQUARED KIRO;;;; +3315;SQUARE KIROGURAMU;So;0;L; 30AD 30ED 30B0 30E9 30E0;;;;N;SQUARED KIROGURAMU;;;; +3316;SQUARE KIROMEETORU;So;0;L; 30AD 30ED 30E1 30FC 30C8 30EB;;;;N;SQUARED KIROMEETORU;;;; +3317;SQUARE KIROWATTO;So;0;L; 30AD 30ED 30EF 30C3 30C8;;;;N;SQUARED KIROWATTO;;;; +3318;SQUARE GURAMU;So;0;L; 30B0 30E9 30E0;;;;N;SQUARED GURAMU;;;; +3319;SQUARE GURAMUTON;So;0;L; 30B0 30E9 30E0 30C8 30F3;;;;N;SQUARED GURAMUTON;;;; +331A;SQUARE KURUZEIRO;So;0;L; 30AF 30EB 30BC 30A4 30ED;;;;N;SQUARED KURUZEIRO;;;; +331B;SQUARE KUROONE;So;0;L; 30AF 30ED 30FC 30CD;;;;N;SQUARED KUROONE;;;; +331C;SQUARE KEESU;So;0;L; 30B1 30FC 30B9;;;;N;SQUARED KEESU;;;; +331D;SQUARE KORUNA;So;0;L; 30B3 30EB 30CA;;;;N;SQUARED KORUNA;;;; +331E;SQUARE KOOPO;So;0;L; 30B3 30FC 30DD;;;;N;SQUARED KOOPO;;;; +331F;SQUARE SAIKURU;So;0;L; 30B5 30A4 30AF 30EB;;;;N;SQUARED SAIKURU;;;; +3320;SQUARE SANTIIMU;So;0;L; 30B5 30F3 30C1 30FC 30E0;;;;N;SQUARED SANTIIMU;;;; +3321;SQUARE SIRINGU;So;0;L; 30B7 30EA 30F3 30B0;;;;N;SQUARED SIRINGU;;;; +3322;SQUARE SENTI;So;0;L; 30BB 30F3 30C1;;;;N;SQUARED SENTI;;;; +3323;SQUARE SENTO;So;0;L; 30BB 30F3 30C8;;;;N;SQUARED SENTO;;;; +3324;SQUARE DAASU;So;0;L; 30C0 30FC 30B9;;;;N;SQUARED DAASU;;;; +3325;SQUARE DESI;So;0;L; 30C7 30B7;;;;N;SQUARED DESI;;;; +3326;SQUARE DORU;So;0;L; 30C9 30EB;;;;N;SQUARED DORU;;;; +3327;SQUARE TON;So;0;L; 30C8 30F3;;;;N;SQUARED TON;;;; +3328;SQUARE NANO;So;0;L; 30CA 30CE;;;;N;SQUARED NANO;;;; +3329;SQUARE NOTTO;So;0;L; 30CE 30C3 30C8;;;;N;SQUARED NOTTO;;;; +332A;SQUARE HAITU;So;0;L; 30CF 30A4 30C4;;;;N;SQUARED HAITU;;;; +332B;SQUARE PAASENTO;So;0;L; 30D1 30FC 30BB 30F3 30C8;;;;N;SQUARED PAASENTO;;;; +332C;SQUARE PAATU;So;0;L; 30D1 30FC 30C4;;;;N;SQUARED PAATU;;;; +332D;SQUARE BAARERU;So;0;L; 30D0 30FC 30EC 30EB;;;;N;SQUARED BAARERU;;;; +332E;SQUARE PIASUTORU;So;0;L; 30D4 30A2 30B9 30C8 30EB;;;;N;SQUARED PIASUTORU;;;; +332F;SQUARE PIKURU;So;0;L; 30D4 30AF 30EB;;;;N;SQUARED PIKURU;;;; +3330;SQUARE PIKO;So;0;L; 30D4 30B3;;;;N;SQUARED PIKO;;;; +3331;SQUARE BIRU;So;0;L; 30D3 30EB;;;;N;SQUARED BIRU;;;; +3332;SQUARE HUARADDO;So;0;L; 30D5 30A1 30E9 30C3 30C9;;;;N;SQUARED HUARADDO;;;; +3333;SQUARE HUIITO;So;0;L; 30D5 30A3 30FC 30C8;;;;N;SQUARED HUIITO;;;; +3334;SQUARE BUSSYERU;So;0;L; 30D6 30C3 30B7 30A7 30EB;;;;N;SQUARED BUSSYERU;;;; +3335;SQUARE HURAN;So;0;L; 30D5 30E9 30F3;;;;N;SQUARED HURAN;;;; +3336;SQUARE HEKUTAARU;So;0;L; 30D8 30AF 30BF 30FC 30EB;;;;N;SQUARED HEKUTAARU;;;; +3337;SQUARE PESO;So;0;L; 30DA 30BD;;;;N;SQUARED PESO;;;; +3338;SQUARE PENIHI;So;0;L; 30DA 30CB 30D2;;;;N;SQUARED PENIHI;;;; +3339;SQUARE HERUTU;So;0;L; 30D8 30EB 30C4;;;;N;SQUARED HERUTU;;;; +333A;SQUARE PENSU;So;0;L; 30DA 30F3 30B9;;;;N;SQUARED PENSU;;;; +333B;SQUARE PEEZI;So;0;L; 30DA 30FC 30B8;;;;N;SQUARED PEEZI;;;; +333C;SQUARE BEETA;So;0;L; 30D9 30FC 30BF;;;;N;SQUARED BEETA;;;; +333D;SQUARE POINTO;So;0;L; 30DD 30A4 30F3 30C8;;;;N;SQUARED POINTO;;;; +333E;SQUARE BORUTO;So;0;L; 30DC 30EB 30C8;;;;N;SQUARED BORUTO;;;; +333F;SQUARE HON;So;0;L; 30DB 30F3;;;;N;SQUARED HON;;;; +3340;SQUARE PONDO;So;0;L; 30DD 30F3 30C9;;;;N;SQUARED PONDO;;;; +3341;SQUARE HOORU;So;0;L; 30DB 30FC 30EB;;;;N;SQUARED HOORU;;;; +3342;SQUARE HOON;So;0;L; 30DB 30FC 30F3;;;;N;SQUARED HOON;;;; +3343;SQUARE MAIKURO;So;0;L; 30DE 30A4 30AF 30ED;;;;N;SQUARED MAIKURO;;;; +3344;SQUARE MAIRU;So;0;L; 30DE 30A4 30EB;;;;N;SQUARED MAIRU;;;; +3345;SQUARE MAHHA;So;0;L; 30DE 30C3 30CF;;;;N;SQUARED MAHHA;;;; +3346;SQUARE MARUKU;So;0;L; 30DE 30EB 30AF;;;;N;SQUARED MARUKU;;;; +3347;SQUARE MANSYON;So;0;L; 30DE 30F3 30B7 30E7 30F3;;;;N;SQUARED MANSYON;;;; +3348;SQUARE MIKURON;So;0;L; 30DF 30AF 30ED 30F3;;;;N;SQUARED MIKURON;;;; +3349;SQUARE MIRI;So;0;L; 30DF 30EA;;;;N;SQUARED MIRI;;;; +334A;SQUARE MIRIBAARU;So;0;L; 30DF 30EA 30D0 30FC 30EB;;;;N;SQUARED MIRIBAARU;;;; +334B;SQUARE MEGA;So;0;L; 30E1 30AC;;;;N;SQUARED MEGA;;;; +334C;SQUARE MEGATON;So;0;L; 30E1 30AC 30C8 30F3;;;;N;SQUARED MEGATON;;;; +334D;SQUARE MEETORU;So;0;L; 30E1 30FC 30C8 30EB;;;;N;SQUARED MEETORU;;;; +334E;SQUARE YAADO;So;0;L; 30E4 30FC 30C9;;;;N;SQUARED YAADO;;;; +334F;SQUARE YAARU;So;0;L; 30E4 30FC 30EB;;;;N;SQUARED YAARU;;;; +3350;SQUARE YUAN;So;0;L; 30E6 30A2 30F3;;;;N;SQUARED YUAN;;;; +3351;SQUARE RITTORU;So;0;L; 30EA 30C3 30C8 30EB;;;;N;SQUARED RITTORU;;;; +3352;SQUARE RIRA;So;0;L; 30EA 30E9;;;;N;SQUARED RIRA;;;; +3353;SQUARE RUPII;So;0;L; 30EB 30D4 30FC;;;;N;SQUARED RUPII;;;; +3354;SQUARE RUUBURU;So;0;L; 30EB 30FC 30D6 30EB;;;;N;SQUARED RUUBURU;;;; +3355;SQUARE REMU;So;0;L; 30EC 30E0;;;;N;SQUARED REMU;;;; +3356;SQUARE RENTOGEN;So;0;L; 30EC 30F3 30C8 30B2 30F3;;;;N;SQUARED RENTOGEN;;;; +3357;SQUARE WATTO;So;0;L; 30EF 30C3 30C8;;;;N;SQUARED WATTO;;;; +3358;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO;So;0;L; 0030 70B9;;;;N;;;;; +3359;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE;So;0;L; 0031 70B9;;;;N;;;;; +335A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO;So;0;L; 0032 70B9;;;;N;;;;; +335B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE;So;0;L; 0033 70B9;;;;N;;;;; +335C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR;So;0;L; 0034 70B9;;;;N;;;;; +335D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE;So;0;L; 0035 70B9;;;;N;;;;; +335E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX;So;0;L; 0036 70B9;;;;N;;;;; +335F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN;So;0;L; 0037 70B9;;;;N;;;;; +3360;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT;So;0;L; 0038 70B9;;;;N;;;;; +3361;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE;So;0;L; 0039 70B9;;;;N;;;;; +3362;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN;So;0;L; 0031 0030 70B9;;;;N;;;;; +3363;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN;So;0;L; 0031 0031 70B9;;;;N;;;;; +3364;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE;So;0;L; 0031 0032 70B9;;;;N;;;;; +3365;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN;So;0;L; 0031 0033 70B9;;;;N;;;;; +3366;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN;So;0;L; 0031 0034 70B9;;;;N;;;;; +3367;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN;So;0;L; 0031 0035 70B9;;;;N;;;;; +3368;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN;So;0;L; 0031 0036 70B9;;;;N;;;;; +3369;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN;So;0;L; 0031 0037 70B9;;;;N;;;;; +336A;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN;So;0;L; 0031 0038 70B9;;;;N;;;;; +336B;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN;So;0;L; 0031 0039 70B9;;;;N;;;;; +336C;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY;So;0;L; 0032 0030 70B9;;;;N;;;;; +336D;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE;So;0;L; 0032 0031 70B9;;;;N;;;;; +336E;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO;So;0;L; 0032 0032 70B9;;;;N;;;;; +336F;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE;So;0;L; 0032 0033 70B9;;;;N;;;;; +3370;IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR;So;0;L; 0032 0034 70B9;;;;N;;;;; +3371;SQUARE HPA;So;0;L; 0068 0050 0061;;;;N;;;;; +3372;SQUARE DA;So;0;L; 0064 0061;;;;N;;;;; +3373;SQUARE AU;So;0;L; 0041 0055;;;;N;;;;; +3374;SQUARE BAR;So;0;L; 0062 0061 0072;;;;N;;;;; +3375;SQUARE OV;So;0;L; 006F 0056;;;;N;;;;; +3376;SQUARE PC;So;0;L; 0070 0063;;;;N;;;;; +3377;SQUARE DM;So;0;ON; 0064 006D;;;;N;;;;; +3378;SQUARE DM SQUARED;So;0;ON; 0064 006D 00B2;;;;N;;;;; +3379;SQUARE DM CUBED;So;0;ON; 0064 006D 00B3;;;;N;;;;; +337A;SQUARE IU;So;0;ON; 0049 0055;;;;N;;;;; +337B;SQUARE ERA NAME HEISEI;So;0;L; 5E73 6210;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME HEISEI;;;; +337C;SQUARE ERA NAME SYOUWA;So;0;L; 662D 548C;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME SYOUWA;;;; +337D;SQUARE ERA NAME TAISYOU;So;0;L; 5927 6B63;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME TAISYOU;;;; +337E;SQUARE ERA NAME MEIZI;So;0;L; 660E 6CBB;;;;N;SQUARED TWO IDEOGRAPHS ERA NAME MEIZI;;;; +337F;SQUARE CORPORATION;So;0;L; 682A 5F0F 4F1A 793E;;;;N;SQUARED FOUR IDEOGRAPHS CORPORATION;;;; +3380;SQUARE PA AMPS;So;0;L; 0070 0041;;;;N;SQUARED PA AMPS;;;; +3381;SQUARE NA;So;0;L; 006E 0041;;;;N;SQUARED NA;;;; +3382;SQUARE MU A;So;0;L; 03BC 0041;;;;N;SQUARED MU A;;;; +3383;SQUARE MA;So;0;L; 006D 0041;;;;N;SQUARED MA;;;; +3384;SQUARE KA;So;0;L; 006B 0041;;;;N;SQUARED KA;;;; +3385;SQUARE KB;So;0;L; 004B 0042;;;;N;SQUARED KB;;;; +3386;SQUARE MB;So;0;L; 004D 0042;;;;N;SQUARED MB;;;; +3387;SQUARE GB;So;0;L; 0047 0042;;;;N;SQUARED GB;;;; +3388;SQUARE CAL;So;0;L; 0063 0061 006C;;;;N;SQUARED CAL;;;; +3389;SQUARE KCAL;So;0;L; 006B 0063 0061 006C;;;;N;SQUARED KCAL;;;; +338A;SQUARE PF;So;0;L; 0070 0046;;;;N;SQUARED PF;;;; +338B;SQUARE NF;So;0;L; 006E 0046;;;;N;SQUARED NF;;;; +338C;SQUARE MU F;So;0;L; 03BC 0046;;;;N;SQUARED MU F;;;; +338D;SQUARE MU G;So;0;L; 03BC 0067;;;;N;SQUARED MU G;;;; +338E;SQUARE MG;So;0;L; 006D 0067;;;;N;SQUARED MG;;;; +338F;SQUARE KG;So;0;L; 006B 0067;;;;N;SQUARED KG;;;; +3390;SQUARE HZ;So;0;L; 0048 007A;;;;N;SQUARED HZ;;;; +3391;SQUARE KHZ;So;0;L; 006B 0048 007A;;;;N;SQUARED KHZ;;;; +3392;SQUARE MHZ;So;0;L; 004D 0048 007A;;;;N;SQUARED MHZ;;;; +3393;SQUARE GHZ;So;0;L; 0047 0048 007A;;;;N;SQUARED GHZ;;;; +3394;SQUARE THZ;So;0;L; 0054 0048 007A;;;;N;SQUARED THZ;;;; +3395;SQUARE MU L;So;0;L; 03BC 2113;;;;N;SQUARED MU L;;;; +3396;SQUARE ML;So;0;L; 006D 2113;;;;N;SQUARED ML;;;; +3397;SQUARE DL;So;0;L; 0064 2113;;;;N;SQUARED DL;;;; +3398;SQUARE KL;So;0;L; 006B 2113;;;;N;SQUARED KL;;;; +3399;SQUARE FM;So;0;L; 0066 006D;;;;N;SQUARED FM;;;; +339A;SQUARE NM;So;0;L; 006E 006D;;;;N;SQUARED NM;;;; +339B;SQUARE MU M;So;0;L; 03BC 006D;;;;N;SQUARED MU M;;;; +339C;SQUARE MM;So;0;L; 006D 006D;;;;N;SQUARED MM;;;; +339D;SQUARE CM;So;0;L; 0063 006D;;;;N;SQUARED CM;;;; +339E;SQUARE KM;So;0;L; 006B 006D;;;;N;SQUARED KM;;;; +339F;SQUARE MM SQUARED;So;0;L; 006D 006D 00B2;;;;N;SQUARED MM SQUARED;;;; +33A0;SQUARE CM SQUARED;So;0;L; 0063 006D 00B2;;;;N;SQUARED CM SQUARED;;;; +33A1;SQUARE M SQUARED;So;0;L; 006D 00B2;;;;N;SQUARED M SQUARED;;;; +33A2;SQUARE KM SQUARED;So;0;L; 006B 006D 00B2;;;;N;SQUARED KM SQUARED;;;; +33A3;SQUARE MM CUBED;So;0;L; 006D 006D 00B3;;;;N;SQUARED MM CUBED;;;; +33A4;SQUARE CM CUBED;So;0;L; 0063 006D 00B3;;;;N;SQUARED CM CUBED;;;; +33A5;SQUARE M CUBED;So;0;L; 006D 00B3;;;;N;SQUARED M CUBED;;;; +33A6;SQUARE KM CUBED;So;0;L; 006B 006D 00B3;;;;N;SQUARED KM CUBED;;;; +33A7;SQUARE M OVER S;So;0;L; 006D 2215 0073;;;;N;SQUARED M OVER S;;;; +33A8;SQUARE M OVER S SQUARED;So;0;L; 006D 2215 0073 00B2;;;;N;SQUARED M OVER S SQUARED;;;; +33A9;SQUARE PA;So;0;L; 0050 0061;;;;N;SQUARED PA;;;; +33AA;SQUARE KPA;So;0;L; 006B 0050 0061;;;;N;SQUARED KPA;;;; +33AB;SQUARE MPA;So;0;L; 004D 0050 0061;;;;N;SQUARED MPA;;;; +33AC;SQUARE GPA;So;0;L; 0047 0050 0061;;;;N;SQUARED GPA;;;; +33AD;SQUARE RAD;So;0;L; 0072 0061 0064;;;;N;SQUARED RAD;;;; +33AE;SQUARE RAD OVER S;So;0;L; 0072 0061 0064 2215 0073;;;;N;SQUARED RAD OVER S;;;; +33AF;SQUARE RAD OVER S SQUARED;So;0;L; 0072 0061 0064 2215 0073 00B2;;;;N;SQUARED RAD OVER S SQUARED;;;; +33B0;SQUARE PS;So;0;L; 0070 0073;;;;N;SQUARED PS;;;; +33B1;SQUARE NS;So;0;L; 006E 0073;;;;N;SQUARED NS;;;; +33B2;SQUARE MU S;So;0;L; 03BC 0073;;;;N;SQUARED MU S;;;; +33B3;SQUARE MS;So;0;L; 006D 0073;;;;N;SQUARED MS;;;; +33B4;SQUARE PV;So;0;L; 0070 0056;;;;N;SQUARED PV;;;; +33B5;SQUARE NV;So;0;L; 006E 0056;;;;N;SQUARED NV;;;; +33B6;SQUARE MU V;So;0;L; 03BC 0056;;;;N;SQUARED MU V;;;; +33B7;SQUARE MV;So;0;L; 006D 0056;;;;N;SQUARED MV;;;; +33B8;SQUARE KV;So;0;L; 006B 0056;;;;N;SQUARED KV;;;; +33B9;SQUARE MV MEGA;So;0;L; 004D 0056;;;;N;SQUARED MV MEGA;;;; +33BA;SQUARE PW;So;0;L; 0070 0057;;;;N;SQUARED PW;;;; +33BB;SQUARE NW;So;0;L; 006E 0057;;;;N;SQUARED NW;;;; +33BC;SQUARE MU W;So;0;L; 03BC 0057;;;;N;SQUARED MU W;;;; +33BD;SQUARE MW;So;0;L; 006D 0057;;;;N;SQUARED MW;;;; +33BE;SQUARE KW;So;0;L; 006B 0057;;;;N;SQUARED KW;;;; +33BF;SQUARE MW MEGA;So;0;L; 004D 0057;;;;N;SQUARED MW MEGA;;;; +33C0;SQUARE K OHM;So;0;L; 006B 03A9;;;;N;SQUARED K OHM;;;; +33C1;SQUARE M OHM;So;0;L; 004D 03A9;;;;N;SQUARED M OHM;;;; +33C2;SQUARE AM;So;0;L; 0061 002E 006D 002E;;;;N;SQUARED AM;;;; +33C3;SQUARE BQ;So;0;L; 0042 0071;;;;N;SQUARED BQ;;;; +33C4;SQUARE CC;So;0;L; 0063 0063;;;;N;SQUARED CC;;;; +33C5;SQUARE CD;So;0;L; 0063 0064;;;;N;SQUARED CD;;;; +33C6;SQUARE C OVER KG;So;0;L; 0043 2215 006B 0067;;;;N;SQUARED C OVER KG;;;; +33C7;SQUARE CO;So;0;L; 0043 006F 002E;;;;N;SQUARED CO;;;; +33C8;SQUARE DB;So;0;L; 0064 0042;;;;N;SQUARED DB;;;; +33C9;SQUARE GY;So;0;L; 0047 0079;;;;N;SQUARED GY;;;; +33CA;SQUARE HA;So;0;L; 0068 0061;;;;N;SQUARED HA;;;; +33CB;SQUARE HP;So;0;L; 0048 0050;;;;N;SQUARED HP;;;; +33CC;SQUARE IN;So;0;L; 0069 006E;;;;N;SQUARED IN;;;; +33CD;SQUARE KK;So;0;L; 004B 004B;;;;N;SQUARED KK;;;; +33CE;SQUARE KM CAPITAL;So;0;L; 004B 004D;;;;N;SQUARED KM CAPITAL;;;; +33CF;SQUARE KT;So;0;L; 006B 0074;;;;N;SQUARED KT;;;; +33D0;SQUARE LM;So;0;L; 006C 006D;;;;N;SQUARED LM;;;; +33D1;SQUARE LN;So;0;L; 006C 006E;;;;N;SQUARED LN;;;; +33D2;SQUARE LOG;So;0;L; 006C 006F 0067;;;;N;SQUARED LOG;;;; +33D3;SQUARE LX;So;0;L; 006C 0078;;;;N;SQUARED LX;;;; +33D4;SQUARE MB SMALL;So;0;L; 006D 0062;;;;N;SQUARED MB SMALL;;;; +33D5;SQUARE MIL;So;0;L; 006D 0069 006C;;;;N;SQUARED MIL;;;; +33D6;SQUARE MOL;So;0;L; 006D 006F 006C;;;;N;SQUARED MOL;;;; +33D7;SQUARE PH;So;0;L; 0050 0048;;;;N;SQUARED PH;;;; +33D8;SQUARE PM;So;0;L; 0070 002E 006D 002E;;;;N;SQUARED PM;;;; +33D9;SQUARE PPM;So;0;L; 0050 0050 004D;;;;N;SQUARED PPM;;;; +33DA;SQUARE PR;So;0;L; 0050 0052;;;;N;SQUARED PR;;;; +33DB;SQUARE SR;So;0;L; 0073 0072;;;;N;SQUARED SR;;;; +33DC;SQUARE SV;So;0;L; 0053 0076;;;;N;SQUARED SV;;;; +33DD;SQUARE WB;So;0;L; 0057 0062;;;;N;SQUARED WB;;;; +33DE;SQUARE V OVER M;So;0;ON; 0056 2215 006D;;;;N;;;;; +33DF;SQUARE A OVER M;So;0;ON; 0041 2215 006D;;;;N;;;;; +33E0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE;So;0;L; 0031 65E5;;;;N;;;;; +33E1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO;So;0;L; 0032 65E5;;;;N;;;;; +33E2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE;So;0;L; 0033 65E5;;;;N;;;;; +33E3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR;So;0;L; 0034 65E5;;;;N;;;;; +33E4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE;So;0;L; 0035 65E5;;;;N;;;;; +33E5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX;So;0;L; 0036 65E5;;;;N;;;;; +33E6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN;So;0;L; 0037 65E5;;;;N;;;;; +33E7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT;So;0;L; 0038 65E5;;;;N;;;;; +33E8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE;So;0;L; 0039 65E5;;;;N;;;;; +33E9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN;So;0;L; 0031 0030 65E5;;;;N;;;;; +33EA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN;So;0;L; 0031 0031 65E5;;;;N;;;;; +33EB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE;So;0;L; 0031 0032 65E5;;;;N;;;;; +33EC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN;So;0;L; 0031 0033 65E5;;;;N;;;;; +33ED;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN;So;0;L; 0031 0034 65E5;;;;N;;;;; +33EE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN;So;0;L; 0031 0035 65E5;;;;N;;;;; +33EF;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN;So;0;L; 0031 0036 65E5;;;;N;;;;; +33F0;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN;So;0;L; 0031 0037 65E5;;;;N;;;;; +33F1;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN;So;0;L; 0031 0038 65E5;;;;N;;;;; +33F2;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN;So;0;L; 0031 0039 65E5;;;;N;;;;; +33F3;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY;So;0;L; 0032 0030 65E5;;;;N;;;;; +33F4;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE;So;0;L; 0032 0031 65E5;;;;N;;;;; +33F5;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO;So;0;L; 0032 0032 65E5;;;;N;;;;; +33F6;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE;So;0;L; 0032 0033 65E5;;;;N;;;;; +33F7;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR;So;0;L; 0032 0034 65E5;;;;N;;;;; +33F8;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE;So;0;L; 0032 0035 65E5;;;;N;;;;; +33F9;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX;So;0;L; 0032 0036 65E5;;;;N;;;;; +33FA;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN;So;0;L; 0032 0037 65E5;;;;N;;;;; +33FB;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT;So;0;L; 0032 0038 65E5;;;;N;;;;; +33FC;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE;So;0;L; 0032 0039 65E5;;;;N;;;;; +33FD;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY;So;0;L; 0033 0030 65E5;;;;N;;;;; +33FE;IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE;So;0;L; 0033 0031 65E5;;;;N;;;;; +33FF;SQUARE GAL;So;0;ON; 0067 0061 006C;;;;N;;;;; +3400;;Lo;0;L;;;;;N;;;;; +4DBF;;Lo;0;L;;;;;N;;;;; +4DC0;HEXAGRAM FOR THE CREATIVE HEAVEN;So;0;ON;;;;;N;;;;; +4DC1;HEXAGRAM FOR THE RECEPTIVE EARTH;So;0;ON;;;;;N;;;;; +4DC2;HEXAGRAM FOR DIFFICULTY AT THE BEGINNING;So;0;ON;;;;;N;;;;; +4DC3;HEXAGRAM FOR YOUTHFUL FOLLY;So;0;ON;;;;;N;;;;; +4DC4;HEXAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; +4DC5;HEXAGRAM FOR CONFLICT;So;0;ON;;;;;N;;;;; +4DC6;HEXAGRAM FOR THE ARMY;So;0;ON;;;;;N;;;;; +4DC7;HEXAGRAM FOR HOLDING TOGETHER;So;0;ON;;;;;N;;;;; +4DC8;HEXAGRAM FOR SMALL TAMING;So;0;ON;;;;;N;;;;; +4DC9;HEXAGRAM FOR TREADING;So;0;ON;;;;;N;;;;; +4DCA;HEXAGRAM FOR PEACE;So;0;ON;;;;;N;;;;; +4DCB;HEXAGRAM FOR STANDSTILL;So;0;ON;;;;;N;;;;; +4DCC;HEXAGRAM FOR FELLOWSHIP;So;0;ON;;;;;N;;;;; +4DCD;HEXAGRAM FOR GREAT POSSESSION;So;0;ON;;;;;N;;;;; +4DCE;HEXAGRAM FOR MODESTY;So;0;ON;;;;;N;;;;; +4DCF;HEXAGRAM FOR ENTHUSIASM;So;0;ON;;;;;N;;;;; +4DD0;HEXAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; +4DD1;HEXAGRAM FOR WORK ON THE DECAYED;So;0;ON;;;;;N;;;;; +4DD2;HEXAGRAM FOR APPROACH;So;0;ON;;;;;N;;;;; +4DD3;HEXAGRAM FOR CONTEMPLATION;So;0;ON;;;;;N;;;;; +4DD4;HEXAGRAM FOR BITING THROUGH;So;0;ON;;;;;N;;;;; +4DD5;HEXAGRAM FOR GRACE;So;0;ON;;;;;N;;;;; +4DD6;HEXAGRAM FOR SPLITTING APART;So;0;ON;;;;;N;;;;; +4DD7;HEXAGRAM FOR RETURN;So;0;ON;;;;;N;;;;; +4DD8;HEXAGRAM FOR INNOCENCE;So;0;ON;;;;;N;;;;; +4DD9;HEXAGRAM FOR GREAT TAMING;So;0;ON;;;;;N;;;;; +4DDA;HEXAGRAM FOR MOUTH CORNERS;So;0;ON;;;;;N;;;;; +4DDB;HEXAGRAM FOR GREAT PREPONDERANCE;So;0;ON;;;;;N;;;;; +4DDC;HEXAGRAM FOR THE ABYSMAL WATER;So;0;ON;;;;;N;;;;; +4DDD;HEXAGRAM FOR THE CLINGING FIRE;So;0;ON;;;;;N;;;;; +4DDE;HEXAGRAM FOR INFLUENCE;So;0;ON;;;;;N;;;;; +4DDF;HEXAGRAM FOR DURATION;So;0;ON;;;;;N;;;;; +4DE0;HEXAGRAM FOR RETREAT;So;0;ON;;;;;N;;;;; +4DE1;HEXAGRAM FOR GREAT POWER;So;0;ON;;;;;N;;;;; +4DE2;HEXAGRAM FOR PROGRESS;So;0;ON;;;;;N;;;;; +4DE3;HEXAGRAM FOR DARKENING OF THE LIGHT;So;0;ON;;;;;N;;;;; +4DE4;HEXAGRAM FOR THE FAMILY;So;0;ON;;;;;N;;;;; +4DE5;HEXAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; +4DE6;HEXAGRAM FOR OBSTRUCTION;So;0;ON;;;;;N;;;;; +4DE7;HEXAGRAM FOR DELIVERANCE;So;0;ON;;;;;N;;;;; +4DE8;HEXAGRAM FOR DECREASE;So;0;ON;;;;;N;;;;; +4DE9;HEXAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; +4DEA;HEXAGRAM FOR BREAKTHROUGH;So;0;ON;;;;;N;;;;; +4DEB;HEXAGRAM FOR COMING TO MEET;So;0;ON;;;;;N;;;;; +4DEC;HEXAGRAM FOR GATHERING TOGETHER;So;0;ON;;;;;N;;;;; +4DED;HEXAGRAM FOR PUSHING UPWARD;So;0;ON;;;;;N;;;;; +4DEE;HEXAGRAM FOR OPPRESSION;So;0;ON;;;;;N;;;;; +4DEF;HEXAGRAM FOR THE WELL;So;0;ON;;;;;N;;;;; +4DF0;HEXAGRAM FOR REVOLUTION;So;0;ON;;;;;N;;;;; +4DF1;HEXAGRAM FOR THE CAULDRON;So;0;ON;;;;;N;;;;; +4DF2;HEXAGRAM FOR THE AROUSING THUNDER;So;0;ON;;;;;N;;;;; +4DF3;HEXAGRAM FOR THE KEEPING STILL MOUNTAIN;So;0;ON;;;;;N;;;;; +4DF4;HEXAGRAM FOR DEVELOPMENT;So;0;ON;;;;;N;;;;; +4DF5;HEXAGRAM FOR THE MARRYING MAIDEN;So;0;ON;;;;;N;;;;; +4DF6;HEXAGRAM FOR ABUNDANCE;So;0;ON;;;;;N;;;;; +4DF7;HEXAGRAM FOR THE WANDERER;So;0;ON;;;;;N;;;;; +4DF8;HEXAGRAM FOR THE GENTLE WIND;So;0;ON;;;;;N;;;;; +4DF9;HEXAGRAM FOR THE JOYOUS LAKE;So;0;ON;;;;;N;;;;; +4DFA;HEXAGRAM FOR DISPERSION;So;0;ON;;;;;N;;;;; +4DFB;HEXAGRAM FOR LIMITATION;So;0;ON;;;;;N;;;;; +4DFC;HEXAGRAM FOR INNER TRUTH;So;0;ON;;;;;N;;;;; +4DFD;HEXAGRAM FOR SMALL PREPONDERANCE;So;0;ON;;;;;N;;;;; +4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;; +4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;; +4E00;;Lo;0;L;;;;;N;;;;; +9FFC;;Lo;0;L;;;;;N;;;;; +A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;; +A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;; +A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;; +A003;YI SYLLABLE IP;Lo;0;L;;;;;N;;;;; +A004;YI SYLLABLE IET;Lo;0;L;;;;;N;;;;; +A005;YI SYLLABLE IEX;Lo;0;L;;;;;N;;;;; +A006;YI SYLLABLE IE;Lo;0;L;;;;;N;;;;; +A007;YI SYLLABLE IEP;Lo;0;L;;;;;N;;;;; +A008;YI SYLLABLE AT;Lo;0;L;;;;;N;;;;; +A009;YI SYLLABLE AX;Lo;0;L;;;;;N;;;;; +A00A;YI SYLLABLE A;Lo;0;L;;;;;N;;;;; +A00B;YI SYLLABLE AP;Lo;0;L;;;;;N;;;;; +A00C;YI SYLLABLE UOX;Lo;0;L;;;;;N;;;;; +A00D;YI SYLLABLE UO;Lo;0;L;;;;;N;;;;; +A00E;YI SYLLABLE UOP;Lo;0;L;;;;;N;;;;; +A00F;YI SYLLABLE OT;Lo;0;L;;;;;N;;;;; +A010;YI SYLLABLE OX;Lo;0;L;;;;;N;;;;; +A011;YI SYLLABLE O;Lo;0;L;;;;;N;;;;; +A012;YI SYLLABLE OP;Lo;0;L;;;;;N;;;;; +A013;YI SYLLABLE EX;Lo;0;L;;;;;N;;;;; +A014;YI SYLLABLE E;Lo;0;L;;;;;N;;;;; +A015;YI SYLLABLE WU;Lm;0;L;;;;;N;;;;; +A016;YI SYLLABLE BIT;Lo;0;L;;;;;N;;;;; +A017;YI SYLLABLE BIX;Lo;0;L;;;;;N;;;;; +A018;YI SYLLABLE BI;Lo;0;L;;;;;N;;;;; +A019;YI SYLLABLE BIP;Lo;0;L;;;;;N;;;;; +A01A;YI SYLLABLE BIET;Lo;0;L;;;;;N;;;;; +A01B;YI SYLLABLE BIEX;Lo;0;L;;;;;N;;;;; +A01C;YI SYLLABLE BIE;Lo;0;L;;;;;N;;;;; +A01D;YI SYLLABLE BIEP;Lo;0;L;;;;;N;;;;; +A01E;YI SYLLABLE BAT;Lo;0;L;;;;;N;;;;; +A01F;YI SYLLABLE BAX;Lo;0;L;;;;;N;;;;; +A020;YI SYLLABLE BA;Lo;0;L;;;;;N;;;;; +A021;YI SYLLABLE BAP;Lo;0;L;;;;;N;;;;; +A022;YI SYLLABLE BUOX;Lo;0;L;;;;;N;;;;; +A023;YI SYLLABLE BUO;Lo;0;L;;;;;N;;;;; +A024;YI SYLLABLE BUOP;Lo;0;L;;;;;N;;;;; +A025;YI SYLLABLE BOT;Lo;0;L;;;;;N;;;;; +A026;YI SYLLABLE BOX;Lo;0;L;;;;;N;;;;; +A027;YI SYLLABLE BO;Lo;0;L;;;;;N;;;;; +A028;YI SYLLABLE BOP;Lo;0;L;;;;;N;;;;; +A029;YI SYLLABLE BEX;Lo;0;L;;;;;N;;;;; +A02A;YI SYLLABLE BE;Lo;0;L;;;;;N;;;;; +A02B;YI SYLLABLE BEP;Lo;0;L;;;;;N;;;;; +A02C;YI SYLLABLE BUT;Lo;0;L;;;;;N;;;;; +A02D;YI SYLLABLE BUX;Lo;0;L;;;;;N;;;;; +A02E;YI SYLLABLE BU;Lo;0;L;;;;;N;;;;; +A02F;YI SYLLABLE BUP;Lo;0;L;;;;;N;;;;; +A030;YI SYLLABLE BURX;Lo;0;L;;;;;N;;;;; +A031;YI SYLLABLE BUR;Lo;0;L;;;;;N;;;;; +A032;YI SYLLABLE BYT;Lo;0;L;;;;;N;;;;; +A033;YI SYLLABLE BYX;Lo;0;L;;;;;N;;;;; +A034;YI SYLLABLE BY;Lo;0;L;;;;;N;;;;; +A035;YI SYLLABLE BYP;Lo;0;L;;;;;N;;;;; +A036;YI SYLLABLE BYRX;Lo;0;L;;;;;N;;;;; +A037;YI SYLLABLE BYR;Lo;0;L;;;;;N;;;;; +A038;YI SYLLABLE PIT;Lo;0;L;;;;;N;;;;; +A039;YI SYLLABLE PIX;Lo;0;L;;;;;N;;;;; +A03A;YI SYLLABLE PI;Lo;0;L;;;;;N;;;;; +A03B;YI SYLLABLE PIP;Lo;0;L;;;;;N;;;;; +A03C;YI SYLLABLE PIEX;Lo;0;L;;;;;N;;;;; +A03D;YI SYLLABLE PIE;Lo;0;L;;;;;N;;;;; +A03E;YI SYLLABLE PIEP;Lo;0;L;;;;;N;;;;; +A03F;YI SYLLABLE PAT;Lo;0;L;;;;;N;;;;; +A040;YI SYLLABLE PAX;Lo;0;L;;;;;N;;;;; +A041;YI SYLLABLE PA;Lo;0;L;;;;;N;;;;; +A042;YI SYLLABLE PAP;Lo;0;L;;;;;N;;;;; +A043;YI SYLLABLE PUOX;Lo;0;L;;;;;N;;;;; +A044;YI SYLLABLE PUO;Lo;0;L;;;;;N;;;;; +A045;YI SYLLABLE PUOP;Lo;0;L;;;;;N;;;;; +A046;YI SYLLABLE POT;Lo;0;L;;;;;N;;;;; +A047;YI SYLLABLE POX;Lo;0;L;;;;;N;;;;; +A048;YI SYLLABLE PO;Lo;0;L;;;;;N;;;;; +A049;YI SYLLABLE POP;Lo;0;L;;;;;N;;;;; +A04A;YI SYLLABLE PUT;Lo;0;L;;;;;N;;;;; +A04B;YI SYLLABLE PUX;Lo;0;L;;;;;N;;;;; +A04C;YI SYLLABLE PU;Lo;0;L;;;;;N;;;;; +A04D;YI SYLLABLE PUP;Lo;0;L;;;;;N;;;;; +A04E;YI SYLLABLE PURX;Lo;0;L;;;;;N;;;;; +A04F;YI SYLLABLE PUR;Lo;0;L;;;;;N;;;;; +A050;YI SYLLABLE PYT;Lo;0;L;;;;;N;;;;; +A051;YI SYLLABLE PYX;Lo;0;L;;;;;N;;;;; +A052;YI SYLLABLE PY;Lo;0;L;;;;;N;;;;; +A053;YI SYLLABLE PYP;Lo;0;L;;;;;N;;;;; +A054;YI SYLLABLE PYRX;Lo;0;L;;;;;N;;;;; +A055;YI SYLLABLE PYR;Lo;0;L;;;;;N;;;;; +A056;YI SYLLABLE BBIT;Lo;0;L;;;;;N;;;;; +A057;YI SYLLABLE BBIX;Lo;0;L;;;;;N;;;;; +A058;YI SYLLABLE BBI;Lo;0;L;;;;;N;;;;; +A059;YI SYLLABLE BBIP;Lo;0;L;;;;;N;;;;; +A05A;YI SYLLABLE BBIET;Lo;0;L;;;;;N;;;;; +A05B;YI SYLLABLE BBIEX;Lo;0;L;;;;;N;;;;; +A05C;YI SYLLABLE BBIE;Lo;0;L;;;;;N;;;;; +A05D;YI SYLLABLE BBIEP;Lo;0;L;;;;;N;;;;; +A05E;YI SYLLABLE BBAT;Lo;0;L;;;;;N;;;;; +A05F;YI SYLLABLE BBAX;Lo;0;L;;;;;N;;;;; +A060;YI SYLLABLE BBA;Lo;0;L;;;;;N;;;;; +A061;YI SYLLABLE BBAP;Lo;0;L;;;;;N;;;;; +A062;YI SYLLABLE BBUOX;Lo;0;L;;;;;N;;;;; +A063;YI SYLLABLE BBUO;Lo;0;L;;;;;N;;;;; +A064;YI SYLLABLE BBUOP;Lo;0;L;;;;;N;;;;; +A065;YI SYLLABLE BBOT;Lo;0;L;;;;;N;;;;; +A066;YI SYLLABLE BBOX;Lo;0;L;;;;;N;;;;; +A067;YI SYLLABLE BBO;Lo;0;L;;;;;N;;;;; +A068;YI SYLLABLE BBOP;Lo;0;L;;;;;N;;;;; +A069;YI SYLLABLE BBEX;Lo;0;L;;;;;N;;;;; +A06A;YI SYLLABLE BBE;Lo;0;L;;;;;N;;;;; +A06B;YI SYLLABLE BBEP;Lo;0;L;;;;;N;;;;; +A06C;YI SYLLABLE BBUT;Lo;0;L;;;;;N;;;;; +A06D;YI SYLLABLE BBUX;Lo;0;L;;;;;N;;;;; +A06E;YI SYLLABLE BBU;Lo;0;L;;;;;N;;;;; +A06F;YI SYLLABLE BBUP;Lo;0;L;;;;;N;;;;; +A070;YI SYLLABLE BBURX;Lo;0;L;;;;;N;;;;; +A071;YI SYLLABLE BBUR;Lo;0;L;;;;;N;;;;; +A072;YI SYLLABLE BBYT;Lo;0;L;;;;;N;;;;; +A073;YI SYLLABLE BBYX;Lo;0;L;;;;;N;;;;; +A074;YI SYLLABLE BBY;Lo;0;L;;;;;N;;;;; +A075;YI SYLLABLE BBYP;Lo;0;L;;;;;N;;;;; +A076;YI SYLLABLE NBIT;Lo;0;L;;;;;N;;;;; +A077;YI SYLLABLE NBIX;Lo;0;L;;;;;N;;;;; +A078;YI SYLLABLE NBI;Lo;0;L;;;;;N;;;;; +A079;YI SYLLABLE NBIP;Lo;0;L;;;;;N;;;;; +A07A;YI SYLLABLE NBIEX;Lo;0;L;;;;;N;;;;; +A07B;YI SYLLABLE NBIE;Lo;0;L;;;;;N;;;;; +A07C;YI SYLLABLE NBIEP;Lo;0;L;;;;;N;;;;; +A07D;YI SYLLABLE NBAT;Lo;0;L;;;;;N;;;;; +A07E;YI SYLLABLE NBAX;Lo;0;L;;;;;N;;;;; +A07F;YI SYLLABLE NBA;Lo;0;L;;;;;N;;;;; +A080;YI SYLLABLE NBAP;Lo;0;L;;;;;N;;;;; +A081;YI SYLLABLE NBOT;Lo;0;L;;;;;N;;;;; +A082;YI SYLLABLE NBOX;Lo;0;L;;;;;N;;;;; +A083;YI SYLLABLE NBO;Lo;0;L;;;;;N;;;;; +A084;YI SYLLABLE NBOP;Lo;0;L;;;;;N;;;;; +A085;YI SYLLABLE NBUT;Lo;0;L;;;;;N;;;;; +A086;YI SYLLABLE NBUX;Lo;0;L;;;;;N;;;;; +A087;YI SYLLABLE NBU;Lo;0;L;;;;;N;;;;; +A088;YI SYLLABLE NBUP;Lo;0;L;;;;;N;;;;; +A089;YI SYLLABLE NBURX;Lo;0;L;;;;;N;;;;; +A08A;YI SYLLABLE NBUR;Lo;0;L;;;;;N;;;;; +A08B;YI SYLLABLE NBYT;Lo;0;L;;;;;N;;;;; +A08C;YI SYLLABLE NBYX;Lo;0;L;;;;;N;;;;; +A08D;YI SYLLABLE NBY;Lo;0;L;;;;;N;;;;; +A08E;YI SYLLABLE NBYP;Lo;0;L;;;;;N;;;;; +A08F;YI SYLLABLE NBYRX;Lo;0;L;;;;;N;;;;; +A090;YI SYLLABLE NBYR;Lo;0;L;;;;;N;;;;; +A091;YI SYLLABLE HMIT;Lo;0;L;;;;;N;;;;; +A092;YI SYLLABLE HMIX;Lo;0;L;;;;;N;;;;; +A093;YI SYLLABLE HMI;Lo;0;L;;;;;N;;;;; +A094;YI SYLLABLE HMIP;Lo;0;L;;;;;N;;;;; +A095;YI SYLLABLE HMIEX;Lo;0;L;;;;;N;;;;; +A096;YI SYLLABLE HMIE;Lo;0;L;;;;;N;;;;; +A097;YI SYLLABLE HMIEP;Lo;0;L;;;;;N;;;;; +A098;YI SYLLABLE HMAT;Lo;0;L;;;;;N;;;;; +A099;YI SYLLABLE HMAX;Lo;0;L;;;;;N;;;;; +A09A;YI SYLLABLE HMA;Lo;0;L;;;;;N;;;;; +A09B;YI SYLLABLE HMAP;Lo;0;L;;;;;N;;;;; +A09C;YI SYLLABLE HMUOX;Lo;0;L;;;;;N;;;;; +A09D;YI SYLLABLE HMUO;Lo;0;L;;;;;N;;;;; +A09E;YI SYLLABLE HMUOP;Lo;0;L;;;;;N;;;;; +A09F;YI SYLLABLE HMOT;Lo;0;L;;;;;N;;;;; +A0A0;YI SYLLABLE HMOX;Lo;0;L;;;;;N;;;;; +A0A1;YI SYLLABLE HMO;Lo;0;L;;;;;N;;;;; +A0A2;YI SYLLABLE HMOP;Lo;0;L;;;;;N;;;;; +A0A3;YI SYLLABLE HMUT;Lo;0;L;;;;;N;;;;; +A0A4;YI SYLLABLE HMUX;Lo;0;L;;;;;N;;;;; +A0A5;YI SYLLABLE HMU;Lo;0;L;;;;;N;;;;; +A0A6;YI SYLLABLE HMUP;Lo;0;L;;;;;N;;;;; +A0A7;YI SYLLABLE HMURX;Lo;0;L;;;;;N;;;;; +A0A8;YI SYLLABLE HMUR;Lo;0;L;;;;;N;;;;; +A0A9;YI SYLLABLE HMYX;Lo;0;L;;;;;N;;;;; +A0AA;YI SYLLABLE HMY;Lo;0;L;;;;;N;;;;; +A0AB;YI SYLLABLE HMYP;Lo;0;L;;;;;N;;;;; +A0AC;YI SYLLABLE HMYRX;Lo;0;L;;;;;N;;;;; +A0AD;YI SYLLABLE HMYR;Lo;0;L;;;;;N;;;;; +A0AE;YI SYLLABLE MIT;Lo;0;L;;;;;N;;;;; +A0AF;YI SYLLABLE MIX;Lo;0;L;;;;;N;;;;; +A0B0;YI SYLLABLE MI;Lo;0;L;;;;;N;;;;; +A0B1;YI SYLLABLE MIP;Lo;0;L;;;;;N;;;;; +A0B2;YI SYLLABLE MIEX;Lo;0;L;;;;;N;;;;; +A0B3;YI SYLLABLE MIE;Lo;0;L;;;;;N;;;;; +A0B4;YI SYLLABLE MIEP;Lo;0;L;;;;;N;;;;; +A0B5;YI SYLLABLE MAT;Lo;0;L;;;;;N;;;;; +A0B6;YI SYLLABLE MAX;Lo;0;L;;;;;N;;;;; +A0B7;YI SYLLABLE MA;Lo;0;L;;;;;N;;;;; +A0B8;YI SYLLABLE MAP;Lo;0;L;;;;;N;;;;; +A0B9;YI SYLLABLE MUOT;Lo;0;L;;;;;N;;;;; +A0BA;YI SYLLABLE MUOX;Lo;0;L;;;;;N;;;;; +A0BB;YI SYLLABLE MUO;Lo;0;L;;;;;N;;;;; +A0BC;YI SYLLABLE MUOP;Lo;0;L;;;;;N;;;;; +A0BD;YI SYLLABLE MOT;Lo;0;L;;;;;N;;;;; +A0BE;YI SYLLABLE MOX;Lo;0;L;;;;;N;;;;; +A0BF;YI SYLLABLE MO;Lo;0;L;;;;;N;;;;; +A0C0;YI SYLLABLE MOP;Lo;0;L;;;;;N;;;;; +A0C1;YI SYLLABLE MEX;Lo;0;L;;;;;N;;;;; +A0C2;YI SYLLABLE ME;Lo;0;L;;;;;N;;;;; +A0C3;YI SYLLABLE MUT;Lo;0;L;;;;;N;;;;; +A0C4;YI SYLLABLE MUX;Lo;0;L;;;;;N;;;;; +A0C5;YI SYLLABLE MU;Lo;0;L;;;;;N;;;;; +A0C6;YI SYLLABLE MUP;Lo;0;L;;;;;N;;;;; +A0C7;YI SYLLABLE MURX;Lo;0;L;;;;;N;;;;; +A0C8;YI SYLLABLE MUR;Lo;0;L;;;;;N;;;;; +A0C9;YI SYLLABLE MYT;Lo;0;L;;;;;N;;;;; +A0CA;YI SYLLABLE MYX;Lo;0;L;;;;;N;;;;; +A0CB;YI SYLLABLE MY;Lo;0;L;;;;;N;;;;; +A0CC;YI SYLLABLE MYP;Lo;0;L;;;;;N;;;;; +A0CD;YI SYLLABLE FIT;Lo;0;L;;;;;N;;;;; +A0CE;YI SYLLABLE FIX;Lo;0;L;;;;;N;;;;; +A0CF;YI SYLLABLE FI;Lo;0;L;;;;;N;;;;; +A0D0;YI SYLLABLE FIP;Lo;0;L;;;;;N;;;;; +A0D1;YI SYLLABLE FAT;Lo;0;L;;;;;N;;;;; +A0D2;YI SYLLABLE FAX;Lo;0;L;;;;;N;;;;; +A0D3;YI SYLLABLE FA;Lo;0;L;;;;;N;;;;; +A0D4;YI SYLLABLE FAP;Lo;0;L;;;;;N;;;;; +A0D5;YI SYLLABLE FOX;Lo;0;L;;;;;N;;;;; +A0D6;YI SYLLABLE FO;Lo;0;L;;;;;N;;;;; +A0D7;YI SYLLABLE FOP;Lo;0;L;;;;;N;;;;; +A0D8;YI SYLLABLE FUT;Lo;0;L;;;;;N;;;;; +A0D9;YI SYLLABLE FUX;Lo;0;L;;;;;N;;;;; +A0DA;YI SYLLABLE FU;Lo;0;L;;;;;N;;;;; +A0DB;YI SYLLABLE FUP;Lo;0;L;;;;;N;;;;; +A0DC;YI SYLLABLE FURX;Lo;0;L;;;;;N;;;;; +A0DD;YI SYLLABLE FUR;Lo;0;L;;;;;N;;;;; +A0DE;YI SYLLABLE FYT;Lo;0;L;;;;;N;;;;; +A0DF;YI SYLLABLE FYX;Lo;0;L;;;;;N;;;;; +A0E0;YI SYLLABLE FY;Lo;0;L;;;;;N;;;;; +A0E1;YI SYLLABLE FYP;Lo;0;L;;;;;N;;;;; +A0E2;YI SYLLABLE VIT;Lo;0;L;;;;;N;;;;; +A0E3;YI SYLLABLE VIX;Lo;0;L;;;;;N;;;;; +A0E4;YI SYLLABLE VI;Lo;0;L;;;;;N;;;;; +A0E5;YI SYLLABLE VIP;Lo;0;L;;;;;N;;;;; +A0E6;YI SYLLABLE VIET;Lo;0;L;;;;;N;;;;; +A0E7;YI SYLLABLE VIEX;Lo;0;L;;;;;N;;;;; +A0E8;YI SYLLABLE VIE;Lo;0;L;;;;;N;;;;; +A0E9;YI SYLLABLE VIEP;Lo;0;L;;;;;N;;;;; +A0EA;YI SYLLABLE VAT;Lo;0;L;;;;;N;;;;; +A0EB;YI SYLLABLE VAX;Lo;0;L;;;;;N;;;;; +A0EC;YI SYLLABLE VA;Lo;0;L;;;;;N;;;;; +A0ED;YI SYLLABLE VAP;Lo;0;L;;;;;N;;;;; +A0EE;YI SYLLABLE VOT;Lo;0;L;;;;;N;;;;; +A0EF;YI SYLLABLE VOX;Lo;0;L;;;;;N;;;;; +A0F0;YI SYLLABLE VO;Lo;0;L;;;;;N;;;;; +A0F1;YI SYLLABLE VOP;Lo;0;L;;;;;N;;;;; +A0F2;YI SYLLABLE VEX;Lo;0;L;;;;;N;;;;; +A0F3;YI SYLLABLE VEP;Lo;0;L;;;;;N;;;;; +A0F4;YI SYLLABLE VUT;Lo;0;L;;;;;N;;;;; +A0F5;YI SYLLABLE VUX;Lo;0;L;;;;;N;;;;; +A0F6;YI SYLLABLE VU;Lo;0;L;;;;;N;;;;; +A0F7;YI SYLLABLE VUP;Lo;0;L;;;;;N;;;;; +A0F8;YI SYLLABLE VURX;Lo;0;L;;;;;N;;;;; +A0F9;YI SYLLABLE VUR;Lo;0;L;;;;;N;;;;; +A0FA;YI SYLLABLE VYT;Lo;0;L;;;;;N;;;;; +A0FB;YI SYLLABLE VYX;Lo;0;L;;;;;N;;;;; +A0FC;YI SYLLABLE VY;Lo;0;L;;;;;N;;;;; +A0FD;YI SYLLABLE VYP;Lo;0;L;;;;;N;;;;; +A0FE;YI SYLLABLE VYRX;Lo;0;L;;;;;N;;;;; +A0FF;YI SYLLABLE VYR;Lo;0;L;;;;;N;;;;; +A100;YI SYLLABLE DIT;Lo;0;L;;;;;N;;;;; +A101;YI SYLLABLE DIX;Lo;0;L;;;;;N;;;;; +A102;YI SYLLABLE DI;Lo;0;L;;;;;N;;;;; +A103;YI SYLLABLE DIP;Lo;0;L;;;;;N;;;;; +A104;YI SYLLABLE DIEX;Lo;0;L;;;;;N;;;;; +A105;YI SYLLABLE DIE;Lo;0;L;;;;;N;;;;; +A106;YI SYLLABLE DIEP;Lo;0;L;;;;;N;;;;; +A107;YI SYLLABLE DAT;Lo;0;L;;;;;N;;;;; +A108;YI SYLLABLE DAX;Lo;0;L;;;;;N;;;;; +A109;YI SYLLABLE DA;Lo;0;L;;;;;N;;;;; +A10A;YI SYLLABLE DAP;Lo;0;L;;;;;N;;;;; +A10B;YI SYLLABLE DUOX;Lo;0;L;;;;;N;;;;; +A10C;YI SYLLABLE DUO;Lo;0;L;;;;;N;;;;; +A10D;YI SYLLABLE DOT;Lo;0;L;;;;;N;;;;; +A10E;YI SYLLABLE DOX;Lo;0;L;;;;;N;;;;; +A10F;YI SYLLABLE DO;Lo;0;L;;;;;N;;;;; +A110;YI SYLLABLE DOP;Lo;0;L;;;;;N;;;;; +A111;YI SYLLABLE DEX;Lo;0;L;;;;;N;;;;; +A112;YI SYLLABLE DE;Lo;0;L;;;;;N;;;;; +A113;YI SYLLABLE DEP;Lo;0;L;;;;;N;;;;; +A114;YI SYLLABLE DUT;Lo;0;L;;;;;N;;;;; +A115;YI SYLLABLE DUX;Lo;0;L;;;;;N;;;;; +A116;YI SYLLABLE DU;Lo;0;L;;;;;N;;;;; +A117;YI SYLLABLE DUP;Lo;0;L;;;;;N;;;;; +A118;YI SYLLABLE DURX;Lo;0;L;;;;;N;;;;; +A119;YI SYLLABLE DUR;Lo;0;L;;;;;N;;;;; +A11A;YI SYLLABLE TIT;Lo;0;L;;;;;N;;;;; +A11B;YI SYLLABLE TIX;Lo;0;L;;;;;N;;;;; +A11C;YI SYLLABLE TI;Lo;0;L;;;;;N;;;;; +A11D;YI SYLLABLE TIP;Lo;0;L;;;;;N;;;;; +A11E;YI SYLLABLE TIEX;Lo;0;L;;;;;N;;;;; +A11F;YI SYLLABLE TIE;Lo;0;L;;;;;N;;;;; +A120;YI SYLLABLE TIEP;Lo;0;L;;;;;N;;;;; +A121;YI SYLLABLE TAT;Lo;0;L;;;;;N;;;;; +A122;YI SYLLABLE TAX;Lo;0;L;;;;;N;;;;; +A123;YI SYLLABLE TA;Lo;0;L;;;;;N;;;;; +A124;YI SYLLABLE TAP;Lo;0;L;;;;;N;;;;; +A125;YI SYLLABLE TUOT;Lo;0;L;;;;;N;;;;; +A126;YI SYLLABLE TUOX;Lo;0;L;;;;;N;;;;; +A127;YI SYLLABLE TUO;Lo;0;L;;;;;N;;;;; +A128;YI SYLLABLE TUOP;Lo;0;L;;;;;N;;;;; +A129;YI SYLLABLE TOT;Lo;0;L;;;;;N;;;;; +A12A;YI SYLLABLE TOX;Lo;0;L;;;;;N;;;;; +A12B;YI SYLLABLE TO;Lo;0;L;;;;;N;;;;; +A12C;YI SYLLABLE TOP;Lo;0;L;;;;;N;;;;; +A12D;YI SYLLABLE TEX;Lo;0;L;;;;;N;;;;; +A12E;YI SYLLABLE TE;Lo;0;L;;;;;N;;;;; +A12F;YI SYLLABLE TEP;Lo;0;L;;;;;N;;;;; +A130;YI SYLLABLE TUT;Lo;0;L;;;;;N;;;;; +A131;YI SYLLABLE TUX;Lo;0;L;;;;;N;;;;; +A132;YI SYLLABLE TU;Lo;0;L;;;;;N;;;;; +A133;YI SYLLABLE TUP;Lo;0;L;;;;;N;;;;; +A134;YI SYLLABLE TURX;Lo;0;L;;;;;N;;;;; +A135;YI SYLLABLE TUR;Lo;0;L;;;;;N;;;;; +A136;YI SYLLABLE DDIT;Lo;0;L;;;;;N;;;;; +A137;YI SYLLABLE DDIX;Lo;0;L;;;;;N;;;;; +A138;YI SYLLABLE DDI;Lo;0;L;;;;;N;;;;; +A139;YI SYLLABLE DDIP;Lo;0;L;;;;;N;;;;; +A13A;YI SYLLABLE DDIEX;Lo;0;L;;;;;N;;;;; +A13B;YI SYLLABLE DDIE;Lo;0;L;;;;;N;;;;; +A13C;YI SYLLABLE DDIEP;Lo;0;L;;;;;N;;;;; +A13D;YI SYLLABLE DDAT;Lo;0;L;;;;;N;;;;; +A13E;YI SYLLABLE DDAX;Lo;0;L;;;;;N;;;;; +A13F;YI SYLLABLE DDA;Lo;0;L;;;;;N;;;;; +A140;YI SYLLABLE DDAP;Lo;0;L;;;;;N;;;;; +A141;YI SYLLABLE DDUOX;Lo;0;L;;;;;N;;;;; +A142;YI SYLLABLE DDUO;Lo;0;L;;;;;N;;;;; +A143;YI SYLLABLE DDUOP;Lo;0;L;;;;;N;;;;; +A144;YI SYLLABLE DDOT;Lo;0;L;;;;;N;;;;; +A145;YI SYLLABLE DDOX;Lo;0;L;;;;;N;;;;; +A146;YI SYLLABLE DDO;Lo;0;L;;;;;N;;;;; +A147;YI SYLLABLE DDOP;Lo;0;L;;;;;N;;;;; +A148;YI SYLLABLE DDEX;Lo;0;L;;;;;N;;;;; +A149;YI SYLLABLE DDE;Lo;0;L;;;;;N;;;;; +A14A;YI SYLLABLE DDEP;Lo;0;L;;;;;N;;;;; +A14B;YI SYLLABLE DDUT;Lo;0;L;;;;;N;;;;; +A14C;YI SYLLABLE DDUX;Lo;0;L;;;;;N;;;;; +A14D;YI SYLLABLE DDU;Lo;0;L;;;;;N;;;;; +A14E;YI SYLLABLE DDUP;Lo;0;L;;;;;N;;;;; +A14F;YI SYLLABLE DDURX;Lo;0;L;;;;;N;;;;; +A150;YI SYLLABLE DDUR;Lo;0;L;;;;;N;;;;; +A151;YI SYLLABLE NDIT;Lo;0;L;;;;;N;;;;; +A152;YI SYLLABLE NDIX;Lo;0;L;;;;;N;;;;; +A153;YI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; +A154;YI SYLLABLE NDIP;Lo;0;L;;;;;N;;;;; +A155;YI SYLLABLE NDIEX;Lo;0;L;;;;;N;;;;; +A156;YI SYLLABLE NDIE;Lo;0;L;;;;;N;;;;; +A157;YI SYLLABLE NDAT;Lo;0;L;;;;;N;;;;; +A158;YI SYLLABLE NDAX;Lo;0;L;;;;;N;;;;; +A159;YI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; +A15A;YI SYLLABLE NDAP;Lo;0;L;;;;;N;;;;; +A15B;YI SYLLABLE NDOT;Lo;0;L;;;;;N;;;;; +A15C;YI SYLLABLE NDOX;Lo;0;L;;;;;N;;;;; +A15D;YI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; +A15E;YI SYLLABLE NDOP;Lo;0;L;;;;;N;;;;; +A15F;YI SYLLABLE NDEX;Lo;0;L;;;;;N;;;;; +A160;YI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; +A161;YI SYLLABLE NDEP;Lo;0;L;;;;;N;;;;; +A162;YI SYLLABLE NDUT;Lo;0;L;;;;;N;;;;; +A163;YI SYLLABLE NDUX;Lo;0;L;;;;;N;;;;; +A164;YI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; +A165;YI SYLLABLE NDUP;Lo;0;L;;;;;N;;;;; +A166;YI SYLLABLE NDURX;Lo;0;L;;;;;N;;;;; +A167;YI SYLLABLE NDUR;Lo;0;L;;;;;N;;;;; +A168;YI SYLLABLE HNIT;Lo;0;L;;;;;N;;;;; +A169;YI SYLLABLE HNIX;Lo;0;L;;;;;N;;;;; +A16A;YI SYLLABLE HNI;Lo;0;L;;;;;N;;;;; +A16B;YI SYLLABLE HNIP;Lo;0;L;;;;;N;;;;; +A16C;YI SYLLABLE HNIET;Lo;0;L;;;;;N;;;;; +A16D;YI SYLLABLE HNIEX;Lo;0;L;;;;;N;;;;; +A16E;YI SYLLABLE HNIE;Lo;0;L;;;;;N;;;;; +A16F;YI SYLLABLE HNIEP;Lo;0;L;;;;;N;;;;; +A170;YI SYLLABLE HNAT;Lo;0;L;;;;;N;;;;; +A171;YI SYLLABLE HNAX;Lo;0;L;;;;;N;;;;; +A172;YI SYLLABLE HNA;Lo;0;L;;;;;N;;;;; +A173;YI SYLLABLE HNAP;Lo;0;L;;;;;N;;;;; +A174;YI SYLLABLE HNUOX;Lo;0;L;;;;;N;;;;; +A175;YI SYLLABLE HNUO;Lo;0;L;;;;;N;;;;; +A176;YI SYLLABLE HNOT;Lo;0;L;;;;;N;;;;; +A177;YI SYLLABLE HNOX;Lo;0;L;;;;;N;;;;; +A178;YI SYLLABLE HNOP;Lo;0;L;;;;;N;;;;; +A179;YI SYLLABLE HNEX;Lo;0;L;;;;;N;;;;; +A17A;YI SYLLABLE HNE;Lo;0;L;;;;;N;;;;; +A17B;YI SYLLABLE HNEP;Lo;0;L;;;;;N;;;;; +A17C;YI SYLLABLE HNUT;Lo;0;L;;;;;N;;;;; +A17D;YI SYLLABLE NIT;Lo;0;L;;;;;N;;;;; +A17E;YI SYLLABLE NIX;Lo;0;L;;;;;N;;;;; +A17F;YI SYLLABLE NI;Lo;0;L;;;;;N;;;;; +A180;YI SYLLABLE NIP;Lo;0;L;;;;;N;;;;; +A181;YI SYLLABLE NIEX;Lo;0;L;;;;;N;;;;; +A182;YI SYLLABLE NIE;Lo;0;L;;;;;N;;;;; +A183;YI SYLLABLE NIEP;Lo;0;L;;;;;N;;;;; +A184;YI SYLLABLE NAX;Lo;0;L;;;;;N;;;;; +A185;YI SYLLABLE NA;Lo;0;L;;;;;N;;;;; +A186;YI SYLLABLE NAP;Lo;0;L;;;;;N;;;;; +A187;YI SYLLABLE NUOX;Lo;0;L;;;;;N;;;;; +A188;YI SYLLABLE NUO;Lo;0;L;;;;;N;;;;; +A189;YI SYLLABLE NUOP;Lo;0;L;;;;;N;;;;; +A18A;YI SYLLABLE NOT;Lo;0;L;;;;;N;;;;; +A18B;YI SYLLABLE NOX;Lo;0;L;;;;;N;;;;; +A18C;YI SYLLABLE NO;Lo;0;L;;;;;N;;;;; +A18D;YI SYLLABLE NOP;Lo;0;L;;;;;N;;;;; +A18E;YI SYLLABLE NEX;Lo;0;L;;;;;N;;;;; +A18F;YI SYLLABLE NE;Lo;0;L;;;;;N;;;;; +A190;YI SYLLABLE NEP;Lo;0;L;;;;;N;;;;; +A191;YI SYLLABLE NUT;Lo;0;L;;;;;N;;;;; +A192;YI SYLLABLE NUX;Lo;0;L;;;;;N;;;;; +A193;YI SYLLABLE NU;Lo;0;L;;;;;N;;;;; +A194;YI SYLLABLE NUP;Lo;0;L;;;;;N;;;;; +A195;YI SYLLABLE NURX;Lo;0;L;;;;;N;;;;; +A196;YI SYLLABLE NUR;Lo;0;L;;;;;N;;;;; +A197;YI SYLLABLE HLIT;Lo;0;L;;;;;N;;;;; +A198;YI SYLLABLE HLIX;Lo;0;L;;;;;N;;;;; +A199;YI SYLLABLE HLI;Lo;0;L;;;;;N;;;;; +A19A;YI SYLLABLE HLIP;Lo;0;L;;;;;N;;;;; +A19B;YI SYLLABLE HLIEX;Lo;0;L;;;;;N;;;;; +A19C;YI SYLLABLE HLIE;Lo;0;L;;;;;N;;;;; +A19D;YI SYLLABLE HLIEP;Lo;0;L;;;;;N;;;;; +A19E;YI SYLLABLE HLAT;Lo;0;L;;;;;N;;;;; +A19F;YI SYLLABLE HLAX;Lo;0;L;;;;;N;;;;; +A1A0;YI SYLLABLE HLA;Lo;0;L;;;;;N;;;;; +A1A1;YI SYLLABLE HLAP;Lo;0;L;;;;;N;;;;; +A1A2;YI SYLLABLE HLUOX;Lo;0;L;;;;;N;;;;; +A1A3;YI SYLLABLE HLUO;Lo;0;L;;;;;N;;;;; +A1A4;YI SYLLABLE HLUOP;Lo;0;L;;;;;N;;;;; +A1A5;YI SYLLABLE HLOX;Lo;0;L;;;;;N;;;;; +A1A6;YI SYLLABLE HLO;Lo;0;L;;;;;N;;;;; +A1A7;YI SYLLABLE HLOP;Lo;0;L;;;;;N;;;;; +A1A8;YI SYLLABLE HLEX;Lo;0;L;;;;;N;;;;; +A1A9;YI SYLLABLE HLE;Lo;0;L;;;;;N;;;;; +A1AA;YI SYLLABLE HLEP;Lo;0;L;;;;;N;;;;; +A1AB;YI SYLLABLE HLUT;Lo;0;L;;;;;N;;;;; +A1AC;YI SYLLABLE HLUX;Lo;0;L;;;;;N;;;;; +A1AD;YI SYLLABLE HLU;Lo;0;L;;;;;N;;;;; +A1AE;YI SYLLABLE HLUP;Lo;0;L;;;;;N;;;;; +A1AF;YI SYLLABLE HLURX;Lo;0;L;;;;;N;;;;; +A1B0;YI SYLLABLE HLUR;Lo;0;L;;;;;N;;;;; +A1B1;YI SYLLABLE HLYT;Lo;0;L;;;;;N;;;;; +A1B2;YI SYLLABLE HLYX;Lo;0;L;;;;;N;;;;; +A1B3;YI SYLLABLE HLY;Lo;0;L;;;;;N;;;;; +A1B4;YI SYLLABLE HLYP;Lo;0;L;;;;;N;;;;; +A1B5;YI SYLLABLE HLYRX;Lo;0;L;;;;;N;;;;; +A1B6;YI SYLLABLE HLYR;Lo;0;L;;;;;N;;;;; +A1B7;YI SYLLABLE LIT;Lo;0;L;;;;;N;;;;; +A1B8;YI SYLLABLE LIX;Lo;0;L;;;;;N;;;;; +A1B9;YI SYLLABLE LI;Lo;0;L;;;;;N;;;;; +A1BA;YI SYLLABLE LIP;Lo;0;L;;;;;N;;;;; +A1BB;YI SYLLABLE LIET;Lo;0;L;;;;;N;;;;; +A1BC;YI SYLLABLE LIEX;Lo;0;L;;;;;N;;;;; +A1BD;YI SYLLABLE LIE;Lo;0;L;;;;;N;;;;; +A1BE;YI SYLLABLE LIEP;Lo;0;L;;;;;N;;;;; +A1BF;YI SYLLABLE LAT;Lo;0;L;;;;;N;;;;; +A1C0;YI SYLLABLE LAX;Lo;0;L;;;;;N;;;;; +A1C1;YI SYLLABLE LA;Lo;0;L;;;;;N;;;;; +A1C2;YI SYLLABLE LAP;Lo;0;L;;;;;N;;;;; +A1C3;YI SYLLABLE LUOT;Lo;0;L;;;;;N;;;;; +A1C4;YI SYLLABLE LUOX;Lo;0;L;;;;;N;;;;; +A1C5;YI SYLLABLE LUO;Lo;0;L;;;;;N;;;;; +A1C6;YI SYLLABLE LUOP;Lo;0;L;;;;;N;;;;; +A1C7;YI SYLLABLE LOT;Lo;0;L;;;;;N;;;;; +A1C8;YI SYLLABLE LOX;Lo;0;L;;;;;N;;;;; +A1C9;YI SYLLABLE LO;Lo;0;L;;;;;N;;;;; +A1CA;YI SYLLABLE LOP;Lo;0;L;;;;;N;;;;; +A1CB;YI SYLLABLE LEX;Lo;0;L;;;;;N;;;;; +A1CC;YI SYLLABLE LE;Lo;0;L;;;;;N;;;;; +A1CD;YI SYLLABLE LEP;Lo;0;L;;;;;N;;;;; +A1CE;YI SYLLABLE LUT;Lo;0;L;;;;;N;;;;; +A1CF;YI SYLLABLE LUX;Lo;0;L;;;;;N;;;;; +A1D0;YI SYLLABLE LU;Lo;0;L;;;;;N;;;;; +A1D1;YI SYLLABLE LUP;Lo;0;L;;;;;N;;;;; +A1D2;YI SYLLABLE LURX;Lo;0;L;;;;;N;;;;; +A1D3;YI SYLLABLE LUR;Lo;0;L;;;;;N;;;;; +A1D4;YI SYLLABLE LYT;Lo;0;L;;;;;N;;;;; +A1D5;YI SYLLABLE LYX;Lo;0;L;;;;;N;;;;; +A1D6;YI SYLLABLE LY;Lo;0;L;;;;;N;;;;; +A1D7;YI SYLLABLE LYP;Lo;0;L;;;;;N;;;;; +A1D8;YI SYLLABLE LYRX;Lo;0;L;;;;;N;;;;; +A1D9;YI SYLLABLE LYR;Lo;0;L;;;;;N;;;;; +A1DA;YI SYLLABLE GIT;Lo;0;L;;;;;N;;;;; +A1DB;YI SYLLABLE GIX;Lo;0;L;;;;;N;;;;; +A1DC;YI SYLLABLE GI;Lo;0;L;;;;;N;;;;; +A1DD;YI SYLLABLE GIP;Lo;0;L;;;;;N;;;;; +A1DE;YI SYLLABLE GIET;Lo;0;L;;;;;N;;;;; +A1DF;YI SYLLABLE GIEX;Lo;0;L;;;;;N;;;;; +A1E0;YI SYLLABLE GIE;Lo;0;L;;;;;N;;;;; +A1E1;YI SYLLABLE GIEP;Lo;0;L;;;;;N;;;;; +A1E2;YI SYLLABLE GAT;Lo;0;L;;;;;N;;;;; +A1E3;YI SYLLABLE GAX;Lo;0;L;;;;;N;;;;; +A1E4;YI SYLLABLE GA;Lo;0;L;;;;;N;;;;; +A1E5;YI SYLLABLE GAP;Lo;0;L;;;;;N;;;;; +A1E6;YI SYLLABLE GUOT;Lo;0;L;;;;;N;;;;; +A1E7;YI SYLLABLE GUOX;Lo;0;L;;;;;N;;;;; +A1E8;YI SYLLABLE GUO;Lo;0;L;;;;;N;;;;; +A1E9;YI SYLLABLE GUOP;Lo;0;L;;;;;N;;;;; +A1EA;YI SYLLABLE GOT;Lo;0;L;;;;;N;;;;; +A1EB;YI SYLLABLE GOX;Lo;0;L;;;;;N;;;;; +A1EC;YI SYLLABLE GO;Lo;0;L;;;;;N;;;;; +A1ED;YI SYLLABLE GOP;Lo;0;L;;;;;N;;;;; +A1EE;YI SYLLABLE GET;Lo;0;L;;;;;N;;;;; +A1EF;YI SYLLABLE GEX;Lo;0;L;;;;;N;;;;; +A1F0;YI SYLLABLE GE;Lo;0;L;;;;;N;;;;; +A1F1;YI SYLLABLE GEP;Lo;0;L;;;;;N;;;;; +A1F2;YI SYLLABLE GUT;Lo;0;L;;;;;N;;;;; +A1F3;YI SYLLABLE GUX;Lo;0;L;;;;;N;;;;; +A1F4;YI SYLLABLE GU;Lo;0;L;;;;;N;;;;; +A1F5;YI SYLLABLE GUP;Lo;0;L;;;;;N;;;;; +A1F6;YI SYLLABLE GURX;Lo;0;L;;;;;N;;;;; +A1F7;YI SYLLABLE GUR;Lo;0;L;;;;;N;;;;; +A1F8;YI SYLLABLE KIT;Lo;0;L;;;;;N;;;;; +A1F9;YI SYLLABLE KIX;Lo;0;L;;;;;N;;;;; +A1FA;YI SYLLABLE KI;Lo;0;L;;;;;N;;;;; +A1FB;YI SYLLABLE KIP;Lo;0;L;;;;;N;;;;; +A1FC;YI SYLLABLE KIEX;Lo;0;L;;;;;N;;;;; +A1FD;YI SYLLABLE KIE;Lo;0;L;;;;;N;;;;; +A1FE;YI SYLLABLE KIEP;Lo;0;L;;;;;N;;;;; +A1FF;YI SYLLABLE KAT;Lo;0;L;;;;;N;;;;; +A200;YI SYLLABLE KAX;Lo;0;L;;;;;N;;;;; +A201;YI SYLLABLE KA;Lo;0;L;;;;;N;;;;; +A202;YI SYLLABLE KAP;Lo;0;L;;;;;N;;;;; +A203;YI SYLLABLE KUOX;Lo;0;L;;;;;N;;;;; +A204;YI SYLLABLE KUO;Lo;0;L;;;;;N;;;;; +A205;YI SYLLABLE KUOP;Lo;0;L;;;;;N;;;;; +A206;YI SYLLABLE KOT;Lo;0;L;;;;;N;;;;; +A207;YI SYLLABLE KOX;Lo;0;L;;;;;N;;;;; +A208;YI SYLLABLE KO;Lo;0;L;;;;;N;;;;; +A209;YI SYLLABLE KOP;Lo;0;L;;;;;N;;;;; +A20A;YI SYLLABLE KET;Lo;0;L;;;;;N;;;;; +A20B;YI SYLLABLE KEX;Lo;0;L;;;;;N;;;;; +A20C;YI SYLLABLE KE;Lo;0;L;;;;;N;;;;; +A20D;YI SYLLABLE KEP;Lo;0;L;;;;;N;;;;; +A20E;YI SYLLABLE KUT;Lo;0;L;;;;;N;;;;; +A20F;YI SYLLABLE KUX;Lo;0;L;;;;;N;;;;; +A210;YI SYLLABLE KU;Lo;0;L;;;;;N;;;;; +A211;YI SYLLABLE KUP;Lo;0;L;;;;;N;;;;; +A212;YI SYLLABLE KURX;Lo;0;L;;;;;N;;;;; +A213;YI SYLLABLE KUR;Lo;0;L;;;;;N;;;;; +A214;YI SYLLABLE GGIT;Lo;0;L;;;;;N;;;;; +A215;YI SYLLABLE GGIX;Lo;0;L;;;;;N;;;;; +A216;YI SYLLABLE GGI;Lo;0;L;;;;;N;;;;; +A217;YI SYLLABLE GGIEX;Lo;0;L;;;;;N;;;;; +A218;YI SYLLABLE GGIE;Lo;0;L;;;;;N;;;;; +A219;YI SYLLABLE GGIEP;Lo;0;L;;;;;N;;;;; +A21A;YI SYLLABLE GGAT;Lo;0;L;;;;;N;;;;; +A21B;YI SYLLABLE GGAX;Lo;0;L;;;;;N;;;;; +A21C;YI SYLLABLE GGA;Lo;0;L;;;;;N;;;;; +A21D;YI SYLLABLE GGAP;Lo;0;L;;;;;N;;;;; +A21E;YI SYLLABLE GGUOT;Lo;0;L;;;;;N;;;;; +A21F;YI SYLLABLE GGUOX;Lo;0;L;;;;;N;;;;; +A220;YI SYLLABLE GGUO;Lo;0;L;;;;;N;;;;; +A221;YI SYLLABLE GGUOP;Lo;0;L;;;;;N;;;;; +A222;YI SYLLABLE GGOT;Lo;0;L;;;;;N;;;;; +A223;YI SYLLABLE GGOX;Lo;0;L;;;;;N;;;;; +A224;YI SYLLABLE GGO;Lo;0;L;;;;;N;;;;; +A225;YI SYLLABLE GGOP;Lo;0;L;;;;;N;;;;; +A226;YI SYLLABLE GGET;Lo;0;L;;;;;N;;;;; +A227;YI SYLLABLE GGEX;Lo;0;L;;;;;N;;;;; +A228;YI SYLLABLE GGE;Lo;0;L;;;;;N;;;;; +A229;YI SYLLABLE GGEP;Lo;0;L;;;;;N;;;;; +A22A;YI SYLLABLE GGUT;Lo;0;L;;;;;N;;;;; +A22B;YI SYLLABLE GGUX;Lo;0;L;;;;;N;;;;; +A22C;YI SYLLABLE GGU;Lo;0;L;;;;;N;;;;; +A22D;YI SYLLABLE GGUP;Lo;0;L;;;;;N;;;;; +A22E;YI SYLLABLE GGURX;Lo;0;L;;;;;N;;;;; +A22F;YI SYLLABLE GGUR;Lo;0;L;;;;;N;;;;; +A230;YI SYLLABLE MGIEX;Lo;0;L;;;;;N;;;;; +A231;YI SYLLABLE MGIE;Lo;0;L;;;;;N;;;;; +A232;YI SYLLABLE MGAT;Lo;0;L;;;;;N;;;;; +A233;YI SYLLABLE MGAX;Lo;0;L;;;;;N;;;;; +A234;YI SYLLABLE MGA;Lo;0;L;;;;;N;;;;; +A235;YI SYLLABLE MGAP;Lo;0;L;;;;;N;;;;; +A236;YI SYLLABLE MGUOX;Lo;0;L;;;;;N;;;;; +A237;YI SYLLABLE MGUO;Lo;0;L;;;;;N;;;;; +A238;YI SYLLABLE MGUOP;Lo;0;L;;;;;N;;;;; +A239;YI SYLLABLE MGOT;Lo;0;L;;;;;N;;;;; +A23A;YI SYLLABLE MGOX;Lo;0;L;;;;;N;;;;; +A23B;YI SYLLABLE MGO;Lo;0;L;;;;;N;;;;; +A23C;YI SYLLABLE MGOP;Lo;0;L;;;;;N;;;;; +A23D;YI SYLLABLE MGEX;Lo;0;L;;;;;N;;;;; +A23E;YI SYLLABLE MGE;Lo;0;L;;;;;N;;;;; +A23F;YI SYLLABLE MGEP;Lo;0;L;;;;;N;;;;; +A240;YI SYLLABLE MGUT;Lo;0;L;;;;;N;;;;; +A241;YI SYLLABLE MGUX;Lo;0;L;;;;;N;;;;; +A242;YI SYLLABLE MGU;Lo;0;L;;;;;N;;;;; +A243;YI SYLLABLE MGUP;Lo;0;L;;;;;N;;;;; +A244;YI SYLLABLE MGURX;Lo;0;L;;;;;N;;;;; +A245;YI SYLLABLE MGUR;Lo;0;L;;;;;N;;;;; +A246;YI SYLLABLE HXIT;Lo;0;L;;;;;N;;;;; +A247;YI SYLLABLE HXIX;Lo;0;L;;;;;N;;;;; +A248;YI SYLLABLE HXI;Lo;0;L;;;;;N;;;;; +A249;YI SYLLABLE HXIP;Lo;0;L;;;;;N;;;;; +A24A;YI SYLLABLE HXIET;Lo;0;L;;;;;N;;;;; +A24B;YI SYLLABLE HXIEX;Lo;0;L;;;;;N;;;;; +A24C;YI SYLLABLE HXIE;Lo;0;L;;;;;N;;;;; +A24D;YI SYLLABLE HXIEP;Lo;0;L;;;;;N;;;;; +A24E;YI SYLLABLE HXAT;Lo;0;L;;;;;N;;;;; +A24F;YI SYLLABLE HXAX;Lo;0;L;;;;;N;;;;; +A250;YI SYLLABLE HXA;Lo;0;L;;;;;N;;;;; +A251;YI SYLLABLE HXAP;Lo;0;L;;;;;N;;;;; +A252;YI SYLLABLE HXUOT;Lo;0;L;;;;;N;;;;; +A253;YI SYLLABLE HXUOX;Lo;0;L;;;;;N;;;;; +A254;YI SYLLABLE HXUO;Lo;0;L;;;;;N;;;;; +A255;YI SYLLABLE HXUOP;Lo;0;L;;;;;N;;;;; +A256;YI SYLLABLE HXOT;Lo;0;L;;;;;N;;;;; +A257;YI SYLLABLE HXOX;Lo;0;L;;;;;N;;;;; +A258;YI SYLLABLE HXO;Lo;0;L;;;;;N;;;;; +A259;YI SYLLABLE HXOP;Lo;0;L;;;;;N;;;;; +A25A;YI SYLLABLE HXEX;Lo;0;L;;;;;N;;;;; +A25B;YI SYLLABLE HXE;Lo;0;L;;;;;N;;;;; +A25C;YI SYLLABLE HXEP;Lo;0;L;;;;;N;;;;; +A25D;YI SYLLABLE NGIEX;Lo;0;L;;;;;N;;;;; +A25E;YI SYLLABLE NGIE;Lo;0;L;;;;;N;;;;; +A25F;YI SYLLABLE NGIEP;Lo;0;L;;;;;N;;;;; +A260;YI SYLLABLE NGAT;Lo;0;L;;;;;N;;;;; +A261;YI SYLLABLE NGAX;Lo;0;L;;;;;N;;;;; +A262;YI SYLLABLE NGA;Lo;0;L;;;;;N;;;;; +A263;YI SYLLABLE NGAP;Lo;0;L;;;;;N;;;;; +A264;YI SYLLABLE NGUOT;Lo;0;L;;;;;N;;;;; +A265;YI SYLLABLE NGUOX;Lo;0;L;;;;;N;;;;; +A266;YI SYLLABLE NGUO;Lo;0;L;;;;;N;;;;; +A267;YI SYLLABLE NGOT;Lo;0;L;;;;;N;;;;; +A268;YI SYLLABLE NGOX;Lo;0;L;;;;;N;;;;; +A269;YI SYLLABLE NGO;Lo;0;L;;;;;N;;;;; +A26A;YI SYLLABLE NGOP;Lo;0;L;;;;;N;;;;; +A26B;YI SYLLABLE NGEX;Lo;0;L;;;;;N;;;;; +A26C;YI SYLLABLE NGE;Lo;0;L;;;;;N;;;;; +A26D;YI SYLLABLE NGEP;Lo;0;L;;;;;N;;;;; +A26E;YI SYLLABLE HIT;Lo;0;L;;;;;N;;;;; +A26F;YI SYLLABLE HIEX;Lo;0;L;;;;;N;;;;; +A270;YI SYLLABLE HIE;Lo;0;L;;;;;N;;;;; +A271;YI SYLLABLE HAT;Lo;0;L;;;;;N;;;;; +A272;YI SYLLABLE HAX;Lo;0;L;;;;;N;;;;; +A273;YI SYLLABLE HA;Lo;0;L;;;;;N;;;;; +A274;YI SYLLABLE HAP;Lo;0;L;;;;;N;;;;; +A275;YI SYLLABLE HUOT;Lo;0;L;;;;;N;;;;; +A276;YI SYLLABLE HUOX;Lo;0;L;;;;;N;;;;; +A277;YI SYLLABLE HUO;Lo;0;L;;;;;N;;;;; +A278;YI SYLLABLE HUOP;Lo;0;L;;;;;N;;;;; +A279;YI SYLLABLE HOT;Lo;0;L;;;;;N;;;;; +A27A;YI SYLLABLE HOX;Lo;0;L;;;;;N;;;;; +A27B;YI SYLLABLE HO;Lo;0;L;;;;;N;;;;; +A27C;YI SYLLABLE HOP;Lo;0;L;;;;;N;;;;; +A27D;YI SYLLABLE HEX;Lo;0;L;;;;;N;;;;; +A27E;YI SYLLABLE HE;Lo;0;L;;;;;N;;;;; +A27F;YI SYLLABLE HEP;Lo;0;L;;;;;N;;;;; +A280;YI SYLLABLE WAT;Lo;0;L;;;;;N;;;;; +A281;YI SYLLABLE WAX;Lo;0;L;;;;;N;;;;; +A282;YI SYLLABLE WA;Lo;0;L;;;;;N;;;;; +A283;YI SYLLABLE WAP;Lo;0;L;;;;;N;;;;; +A284;YI SYLLABLE WUOX;Lo;0;L;;;;;N;;;;; +A285;YI SYLLABLE WUO;Lo;0;L;;;;;N;;;;; +A286;YI SYLLABLE WUOP;Lo;0;L;;;;;N;;;;; +A287;YI SYLLABLE WOX;Lo;0;L;;;;;N;;;;; +A288;YI SYLLABLE WO;Lo;0;L;;;;;N;;;;; +A289;YI SYLLABLE WOP;Lo;0;L;;;;;N;;;;; +A28A;YI SYLLABLE WEX;Lo;0;L;;;;;N;;;;; +A28B;YI SYLLABLE WE;Lo;0;L;;;;;N;;;;; +A28C;YI SYLLABLE WEP;Lo;0;L;;;;;N;;;;; +A28D;YI SYLLABLE ZIT;Lo;0;L;;;;;N;;;;; +A28E;YI SYLLABLE ZIX;Lo;0;L;;;;;N;;;;; +A28F;YI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +A290;YI SYLLABLE ZIP;Lo;0;L;;;;;N;;;;; +A291;YI SYLLABLE ZIEX;Lo;0;L;;;;;N;;;;; +A292;YI SYLLABLE ZIE;Lo;0;L;;;;;N;;;;; +A293;YI SYLLABLE ZIEP;Lo;0;L;;;;;N;;;;; +A294;YI SYLLABLE ZAT;Lo;0;L;;;;;N;;;;; +A295;YI SYLLABLE ZAX;Lo;0;L;;;;;N;;;;; +A296;YI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +A297;YI SYLLABLE ZAP;Lo;0;L;;;;;N;;;;; +A298;YI SYLLABLE ZUOX;Lo;0;L;;;;;N;;;;; +A299;YI SYLLABLE ZUO;Lo;0;L;;;;;N;;;;; +A29A;YI SYLLABLE ZUOP;Lo;0;L;;;;;N;;;;; +A29B;YI SYLLABLE ZOT;Lo;0;L;;;;;N;;;;; +A29C;YI SYLLABLE ZOX;Lo;0;L;;;;;N;;;;; +A29D;YI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +A29E;YI SYLLABLE ZOP;Lo;0;L;;;;;N;;;;; +A29F;YI SYLLABLE ZEX;Lo;0;L;;;;;N;;;;; +A2A0;YI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +A2A1;YI SYLLABLE ZEP;Lo;0;L;;;;;N;;;;; +A2A2;YI SYLLABLE ZUT;Lo;0;L;;;;;N;;;;; +A2A3;YI SYLLABLE ZUX;Lo;0;L;;;;;N;;;;; +A2A4;YI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +A2A5;YI SYLLABLE ZUP;Lo;0;L;;;;;N;;;;; +A2A6;YI SYLLABLE ZURX;Lo;0;L;;;;;N;;;;; +A2A7;YI SYLLABLE ZUR;Lo;0;L;;;;;N;;;;; +A2A8;YI SYLLABLE ZYT;Lo;0;L;;;;;N;;;;; +A2A9;YI SYLLABLE ZYX;Lo;0;L;;;;;N;;;;; +A2AA;YI SYLLABLE ZY;Lo;0;L;;;;;N;;;;; +A2AB;YI SYLLABLE ZYP;Lo;0;L;;;;;N;;;;; +A2AC;YI SYLLABLE ZYRX;Lo;0;L;;;;;N;;;;; +A2AD;YI SYLLABLE ZYR;Lo;0;L;;;;;N;;;;; +A2AE;YI SYLLABLE CIT;Lo;0;L;;;;;N;;;;; +A2AF;YI SYLLABLE CIX;Lo;0;L;;;;;N;;;;; +A2B0;YI SYLLABLE CI;Lo;0;L;;;;;N;;;;; +A2B1;YI SYLLABLE CIP;Lo;0;L;;;;;N;;;;; +A2B2;YI SYLLABLE CIET;Lo;0;L;;;;;N;;;;; +A2B3;YI SYLLABLE CIEX;Lo;0;L;;;;;N;;;;; +A2B4;YI SYLLABLE CIE;Lo;0;L;;;;;N;;;;; +A2B5;YI SYLLABLE CIEP;Lo;0;L;;;;;N;;;;; +A2B6;YI SYLLABLE CAT;Lo;0;L;;;;;N;;;;; +A2B7;YI SYLLABLE CAX;Lo;0;L;;;;;N;;;;; +A2B8;YI SYLLABLE CA;Lo;0;L;;;;;N;;;;; +A2B9;YI SYLLABLE CAP;Lo;0;L;;;;;N;;;;; +A2BA;YI SYLLABLE CUOX;Lo;0;L;;;;;N;;;;; +A2BB;YI SYLLABLE CUO;Lo;0;L;;;;;N;;;;; +A2BC;YI SYLLABLE CUOP;Lo;0;L;;;;;N;;;;; +A2BD;YI SYLLABLE COT;Lo;0;L;;;;;N;;;;; +A2BE;YI SYLLABLE COX;Lo;0;L;;;;;N;;;;; +A2BF;YI SYLLABLE CO;Lo;0;L;;;;;N;;;;; +A2C0;YI SYLLABLE COP;Lo;0;L;;;;;N;;;;; +A2C1;YI SYLLABLE CEX;Lo;0;L;;;;;N;;;;; +A2C2;YI SYLLABLE CE;Lo;0;L;;;;;N;;;;; +A2C3;YI SYLLABLE CEP;Lo;0;L;;;;;N;;;;; +A2C4;YI SYLLABLE CUT;Lo;0;L;;;;;N;;;;; +A2C5;YI SYLLABLE CUX;Lo;0;L;;;;;N;;;;; +A2C6;YI SYLLABLE CU;Lo;0;L;;;;;N;;;;; +A2C7;YI SYLLABLE CUP;Lo;0;L;;;;;N;;;;; +A2C8;YI SYLLABLE CURX;Lo;0;L;;;;;N;;;;; +A2C9;YI SYLLABLE CUR;Lo;0;L;;;;;N;;;;; +A2CA;YI SYLLABLE CYT;Lo;0;L;;;;;N;;;;; +A2CB;YI SYLLABLE CYX;Lo;0;L;;;;;N;;;;; +A2CC;YI SYLLABLE CY;Lo;0;L;;;;;N;;;;; +A2CD;YI SYLLABLE CYP;Lo;0;L;;;;;N;;;;; +A2CE;YI SYLLABLE CYRX;Lo;0;L;;;;;N;;;;; +A2CF;YI SYLLABLE CYR;Lo;0;L;;;;;N;;;;; +A2D0;YI SYLLABLE ZZIT;Lo;0;L;;;;;N;;;;; +A2D1;YI SYLLABLE ZZIX;Lo;0;L;;;;;N;;;;; +A2D2;YI SYLLABLE ZZI;Lo;0;L;;;;;N;;;;; +A2D3;YI SYLLABLE ZZIP;Lo;0;L;;;;;N;;;;; +A2D4;YI SYLLABLE ZZIET;Lo;0;L;;;;;N;;;;; +A2D5;YI SYLLABLE ZZIEX;Lo;0;L;;;;;N;;;;; +A2D6;YI SYLLABLE ZZIE;Lo;0;L;;;;;N;;;;; +A2D7;YI SYLLABLE ZZIEP;Lo;0;L;;;;;N;;;;; +A2D8;YI SYLLABLE ZZAT;Lo;0;L;;;;;N;;;;; +A2D9;YI SYLLABLE ZZAX;Lo;0;L;;;;;N;;;;; +A2DA;YI SYLLABLE ZZA;Lo;0;L;;;;;N;;;;; +A2DB;YI SYLLABLE ZZAP;Lo;0;L;;;;;N;;;;; +A2DC;YI SYLLABLE ZZOX;Lo;0;L;;;;;N;;;;; +A2DD;YI SYLLABLE ZZO;Lo;0;L;;;;;N;;;;; +A2DE;YI SYLLABLE ZZOP;Lo;0;L;;;;;N;;;;; +A2DF;YI SYLLABLE ZZEX;Lo;0;L;;;;;N;;;;; +A2E0;YI SYLLABLE ZZE;Lo;0;L;;;;;N;;;;; +A2E1;YI SYLLABLE ZZEP;Lo;0;L;;;;;N;;;;; +A2E2;YI SYLLABLE ZZUX;Lo;0;L;;;;;N;;;;; +A2E3;YI SYLLABLE ZZU;Lo;0;L;;;;;N;;;;; +A2E4;YI SYLLABLE ZZUP;Lo;0;L;;;;;N;;;;; +A2E5;YI SYLLABLE ZZURX;Lo;0;L;;;;;N;;;;; +A2E6;YI SYLLABLE ZZUR;Lo;0;L;;;;;N;;;;; +A2E7;YI SYLLABLE ZZYT;Lo;0;L;;;;;N;;;;; +A2E8;YI SYLLABLE ZZYX;Lo;0;L;;;;;N;;;;; +A2E9;YI SYLLABLE ZZY;Lo;0;L;;;;;N;;;;; +A2EA;YI SYLLABLE ZZYP;Lo;0;L;;;;;N;;;;; +A2EB;YI SYLLABLE ZZYRX;Lo;0;L;;;;;N;;;;; +A2EC;YI SYLLABLE ZZYR;Lo;0;L;;;;;N;;;;; +A2ED;YI SYLLABLE NZIT;Lo;0;L;;;;;N;;;;; +A2EE;YI SYLLABLE NZIX;Lo;0;L;;;;;N;;;;; +A2EF;YI SYLLABLE NZI;Lo;0;L;;;;;N;;;;; +A2F0;YI SYLLABLE NZIP;Lo;0;L;;;;;N;;;;; +A2F1;YI SYLLABLE NZIEX;Lo;0;L;;;;;N;;;;; +A2F2;YI SYLLABLE NZIE;Lo;0;L;;;;;N;;;;; +A2F3;YI SYLLABLE NZIEP;Lo;0;L;;;;;N;;;;; +A2F4;YI SYLLABLE NZAT;Lo;0;L;;;;;N;;;;; +A2F5;YI SYLLABLE NZAX;Lo;0;L;;;;;N;;;;; +A2F6;YI SYLLABLE NZA;Lo;0;L;;;;;N;;;;; +A2F7;YI SYLLABLE NZAP;Lo;0;L;;;;;N;;;;; +A2F8;YI SYLLABLE NZUOX;Lo;0;L;;;;;N;;;;; +A2F9;YI SYLLABLE NZUO;Lo;0;L;;;;;N;;;;; +A2FA;YI SYLLABLE NZOX;Lo;0;L;;;;;N;;;;; +A2FB;YI SYLLABLE NZOP;Lo;0;L;;;;;N;;;;; +A2FC;YI SYLLABLE NZEX;Lo;0;L;;;;;N;;;;; +A2FD;YI SYLLABLE NZE;Lo;0;L;;;;;N;;;;; +A2FE;YI SYLLABLE NZUX;Lo;0;L;;;;;N;;;;; +A2FF;YI SYLLABLE NZU;Lo;0;L;;;;;N;;;;; +A300;YI SYLLABLE NZUP;Lo;0;L;;;;;N;;;;; +A301;YI SYLLABLE NZURX;Lo;0;L;;;;;N;;;;; +A302;YI SYLLABLE NZUR;Lo;0;L;;;;;N;;;;; +A303;YI SYLLABLE NZYT;Lo;0;L;;;;;N;;;;; +A304;YI SYLLABLE NZYX;Lo;0;L;;;;;N;;;;; +A305;YI SYLLABLE NZY;Lo;0;L;;;;;N;;;;; +A306;YI SYLLABLE NZYP;Lo;0;L;;;;;N;;;;; +A307;YI SYLLABLE NZYRX;Lo;0;L;;;;;N;;;;; +A308;YI SYLLABLE NZYR;Lo;0;L;;;;;N;;;;; +A309;YI SYLLABLE SIT;Lo;0;L;;;;;N;;;;; +A30A;YI SYLLABLE SIX;Lo;0;L;;;;;N;;;;; +A30B;YI SYLLABLE SI;Lo;0;L;;;;;N;;;;; +A30C;YI SYLLABLE SIP;Lo;0;L;;;;;N;;;;; +A30D;YI SYLLABLE SIEX;Lo;0;L;;;;;N;;;;; +A30E;YI SYLLABLE SIE;Lo;0;L;;;;;N;;;;; +A30F;YI SYLLABLE SIEP;Lo;0;L;;;;;N;;;;; +A310;YI SYLLABLE SAT;Lo;0;L;;;;;N;;;;; +A311;YI SYLLABLE SAX;Lo;0;L;;;;;N;;;;; +A312;YI SYLLABLE SA;Lo;0;L;;;;;N;;;;; +A313;YI SYLLABLE SAP;Lo;0;L;;;;;N;;;;; +A314;YI SYLLABLE SUOX;Lo;0;L;;;;;N;;;;; +A315;YI SYLLABLE SUO;Lo;0;L;;;;;N;;;;; +A316;YI SYLLABLE SUOP;Lo;0;L;;;;;N;;;;; +A317;YI SYLLABLE SOT;Lo;0;L;;;;;N;;;;; +A318;YI SYLLABLE SOX;Lo;0;L;;;;;N;;;;; +A319;YI SYLLABLE SO;Lo;0;L;;;;;N;;;;; +A31A;YI SYLLABLE SOP;Lo;0;L;;;;;N;;;;; +A31B;YI SYLLABLE SEX;Lo;0;L;;;;;N;;;;; +A31C;YI SYLLABLE SE;Lo;0;L;;;;;N;;;;; +A31D;YI SYLLABLE SEP;Lo;0;L;;;;;N;;;;; +A31E;YI SYLLABLE SUT;Lo;0;L;;;;;N;;;;; +A31F;YI SYLLABLE SUX;Lo;0;L;;;;;N;;;;; +A320;YI SYLLABLE SU;Lo;0;L;;;;;N;;;;; +A321;YI SYLLABLE SUP;Lo;0;L;;;;;N;;;;; +A322;YI SYLLABLE SURX;Lo;0;L;;;;;N;;;;; +A323;YI SYLLABLE SUR;Lo;0;L;;;;;N;;;;; +A324;YI SYLLABLE SYT;Lo;0;L;;;;;N;;;;; +A325;YI SYLLABLE SYX;Lo;0;L;;;;;N;;;;; +A326;YI SYLLABLE SY;Lo;0;L;;;;;N;;;;; +A327;YI SYLLABLE SYP;Lo;0;L;;;;;N;;;;; +A328;YI SYLLABLE SYRX;Lo;0;L;;;;;N;;;;; +A329;YI SYLLABLE SYR;Lo;0;L;;;;;N;;;;; +A32A;YI SYLLABLE SSIT;Lo;0;L;;;;;N;;;;; +A32B;YI SYLLABLE SSIX;Lo;0;L;;;;;N;;;;; +A32C;YI SYLLABLE SSI;Lo;0;L;;;;;N;;;;; +A32D;YI SYLLABLE SSIP;Lo;0;L;;;;;N;;;;; +A32E;YI SYLLABLE SSIEX;Lo;0;L;;;;;N;;;;; +A32F;YI SYLLABLE SSIE;Lo;0;L;;;;;N;;;;; +A330;YI SYLLABLE SSIEP;Lo;0;L;;;;;N;;;;; +A331;YI SYLLABLE SSAT;Lo;0;L;;;;;N;;;;; +A332;YI SYLLABLE SSAX;Lo;0;L;;;;;N;;;;; +A333;YI SYLLABLE SSA;Lo;0;L;;;;;N;;;;; +A334;YI SYLLABLE SSAP;Lo;0;L;;;;;N;;;;; +A335;YI SYLLABLE SSOT;Lo;0;L;;;;;N;;;;; +A336;YI SYLLABLE SSOX;Lo;0;L;;;;;N;;;;; +A337;YI SYLLABLE SSO;Lo;0;L;;;;;N;;;;; +A338;YI SYLLABLE SSOP;Lo;0;L;;;;;N;;;;; +A339;YI SYLLABLE SSEX;Lo;0;L;;;;;N;;;;; +A33A;YI SYLLABLE SSE;Lo;0;L;;;;;N;;;;; +A33B;YI SYLLABLE SSEP;Lo;0;L;;;;;N;;;;; +A33C;YI SYLLABLE SSUT;Lo;0;L;;;;;N;;;;; +A33D;YI SYLLABLE SSUX;Lo;0;L;;;;;N;;;;; +A33E;YI SYLLABLE SSU;Lo;0;L;;;;;N;;;;; +A33F;YI SYLLABLE SSUP;Lo;0;L;;;;;N;;;;; +A340;YI SYLLABLE SSYT;Lo;0;L;;;;;N;;;;; +A341;YI SYLLABLE SSYX;Lo;0;L;;;;;N;;;;; +A342;YI SYLLABLE SSY;Lo;0;L;;;;;N;;;;; +A343;YI SYLLABLE SSYP;Lo;0;L;;;;;N;;;;; +A344;YI SYLLABLE SSYRX;Lo;0;L;;;;;N;;;;; +A345;YI SYLLABLE SSYR;Lo;0;L;;;;;N;;;;; +A346;YI SYLLABLE ZHAT;Lo;0;L;;;;;N;;;;; +A347;YI SYLLABLE ZHAX;Lo;0;L;;;;;N;;;;; +A348;YI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +A349;YI SYLLABLE ZHAP;Lo;0;L;;;;;N;;;;; +A34A;YI SYLLABLE ZHUOX;Lo;0;L;;;;;N;;;;; +A34B;YI SYLLABLE ZHUO;Lo;0;L;;;;;N;;;;; +A34C;YI SYLLABLE ZHUOP;Lo;0;L;;;;;N;;;;; +A34D;YI SYLLABLE ZHOT;Lo;0;L;;;;;N;;;;; +A34E;YI SYLLABLE ZHOX;Lo;0;L;;;;;N;;;;; +A34F;YI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +A350;YI SYLLABLE ZHOP;Lo;0;L;;;;;N;;;;; +A351;YI SYLLABLE ZHET;Lo;0;L;;;;;N;;;;; +A352;YI SYLLABLE ZHEX;Lo;0;L;;;;;N;;;;; +A353;YI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +A354;YI SYLLABLE ZHEP;Lo;0;L;;;;;N;;;;; +A355;YI SYLLABLE ZHUT;Lo;0;L;;;;;N;;;;; +A356;YI SYLLABLE ZHUX;Lo;0;L;;;;;N;;;;; +A357;YI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +A358;YI SYLLABLE ZHUP;Lo;0;L;;;;;N;;;;; +A359;YI SYLLABLE ZHURX;Lo;0;L;;;;;N;;;;; +A35A;YI SYLLABLE ZHUR;Lo;0;L;;;;;N;;;;; +A35B;YI SYLLABLE ZHYT;Lo;0;L;;;;;N;;;;; +A35C;YI SYLLABLE ZHYX;Lo;0;L;;;;;N;;;;; +A35D;YI SYLLABLE ZHY;Lo;0;L;;;;;N;;;;; +A35E;YI SYLLABLE ZHYP;Lo;0;L;;;;;N;;;;; +A35F;YI SYLLABLE ZHYRX;Lo;0;L;;;;;N;;;;; +A360;YI SYLLABLE ZHYR;Lo;0;L;;;;;N;;;;; +A361;YI SYLLABLE CHAT;Lo;0;L;;;;;N;;;;; +A362;YI SYLLABLE CHAX;Lo;0;L;;;;;N;;;;; +A363;YI SYLLABLE CHA;Lo;0;L;;;;;N;;;;; +A364;YI SYLLABLE CHAP;Lo;0;L;;;;;N;;;;; +A365;YI SYLLABLE CHUOT;Lo;0;L;;;;;N;;;;; +A366;YI SYLLABLE CHUOX;Lo;0;L;;;;;N;;;;; +A367;YI SYLLABLE CHUO;Lo;0;L;;;;;N;;;;; +A368;YI SYLLABLE CHUOP;Lo;0;L;;;;;N;;;;; +A369;YI SYLLABLE CHOT;Lo;0;L;;;;;N;;;;; +A36A;YI SYLLABLE CHOX;Lo;0;L;;;;;N;;;;; +A36B;YI SYLLABLE CHO;Lo;0;L;;;;;N;;;;; +A36C;YI SYLLABLE CHOP;Lo;0;L;;;;;N;;;;; +A36D;YI SYLLABLE CHET;Lo;0;L;;;;;N;;;;; +A36E;YI SYLLABLE CHEX;Lo;0;L;;;;;N;;;;; +A36F;YI SYLLABLE CHE;Lo;0;L;;;;;N;;;;; +A370;YI SYLLABLE CHEP;Lo;0;L;;;;;N;;;;; +A371;YI SYLLABLE CHUX;Lo;0;L;;;;;N;;;;; +A372;YI SYLLABLE CHU;Lo;0;L;;;;;N;;;;; +A373;YI SYLLABLE CHUP;Lo;0;L;;;;;N;;;;; +A374;YI SYLLABLE CHURX;Lo;0;L;;;;;N;;;;; +A375;YI SYLLABLE CHUR;Lo;0;L;;;;;N;;;;; +A376;YI SYLLABLE CHYT;Lo;0;L;;;;;N;;;;; +A377;YI SYLLABLE CHYX;Lo;0;L;;;;;N;;;;; +A378;YI SYLLABLE CHY;Lo;0;L;;;;;N;;;;; +A379;YI SYLLABLE CHYP;Lo;0;L;;;;;N;;;;; +A37A;YI SYLLABLE CHYRX;Lo;0;L;;;;;N;;;;; +A37B;YI SYLLABLE CHYR;Lo;0;L;;;;;N;;;;; +A37C;YI SYLLABLE RRAX;Lo;0;L;;;;;N;;;;; +A37D;YI SYLLABLE RRA;Lo;0;L;;;;;N;;;;; +A37E;YI SYLLABLE RRUOX;Lo;0;L;;;;;N;;;;; +A37F;YI SYLLABLE RRUO;Lo;0;L;;;;;N;;;;; +A380;YI SYLLABLE RROT;Lo;0;L;;;;;N;;;;; +A381;YI SYLLABLE RROX;Lo;0;L;;;;;N;;;;; +A382;YI SYLLABLE RRO;Lo;0;L;;;;;N;;;;; +A383;YI SYLLABLE RROP;Lo;0;L;;;;;N;;;;; +A384;YI SYLLABLE RRET;Lo;0;L;;;;;N;;;;; +A385;YI SYLLABLE RREX;Lo;0;L;;;;;N;;;;; +A386;YI SYLLABLE RRE;Lo;0;L;;;;;N;;;;; +A387;YI SYLLABLE RREP;Lo;0;L;;;;;N;;;;; +A388;YI SYLLABLE RRUT;Lo;0;L;;;;;N;;;;; +A389;YI SYLLABLE RRUX;Lo;0;L;;;;;N;;;;; +A38A;YI SYLLABLE RRU;Lo;0;L;;;;;N;;;;; +A38B;YI SYLLABLE RRUP;Lo;0;L;;;;;N;;;;; +A38C;YI SYLLABLE RRURX;Lo;0;L;;;;;N;;;;; +A38D;YI SYLLABLE RRUR;Lo;0;L;;;;;N;;;;; +A38E;YI SYLLABLE RRYT;Lo;0;L;;;;;N;;;;; +A38F;YI SYLLABLE RRYX;Lo;0;L;;;;;N;;;;; +A390;YI SYLLABLE RRY;Lo;0;L;;;;;N;;;;; +A391;YI SYLLABLE RRYP;Lo;0;L;;;;;N;;;;; +A392;YI SYLLABLE RRYRX;Lo;0;L;;;;;N;;;;; +A393;YI SYLLABLE RRYR;Lo;0;L;;;;;N;;;;; +A394;YI SYLLABLE NRAT;Lo;0;L;;;;;N;;;;; +A395;YI SYLLABLE NRAX;Lo;0;L;;;;;N;;;;; +A396;YI SYLLABLE NRA;Lo;0;L;;;;;N;;;;; +A397;YI SYLLABLE NRAP;Lo;0;L;;;;;N;;;;; +A398;YI SYLLABLE NROX;Lo;0;L;;;;;N;;;;; +A399;YI SYLLABLE NRO;Lo;0;L;;;;;N;;;;; +A39A;YI SYLLABLE NROP;Lo;0;L;;;;;N;;;;; +A39B;YI SYLLABLE NRET;Lo;0;L;;;;;N;;;;; +A39C;YI SYLLABLE NREX;Lo;0;L;;;;;N;;;;; +A39D;YI SYLLABLE NRE;Lo;0;L;;;;;N;;;;; +A39E;YI SYLLABLE NREP;Lo;0;L;;;;;N;;;;; +A39F;YI SYLLABLE NRUT;Lo;0;L;;;;;N;;;;; +A3A0;YI SYLLABLE NRUX;Lo;0;L;;;;;N;;;;; +A3A1;YI SYLLABLE NRU;Lo;0;L;;;;;N;;;;; +A3A2;YI SYLLABLE NRUP;Lo;0;L;;;;;N;;;;; +A3A3;YI SYLLABLE NRURX;Lo;0;L;;;;;N;;;;; +A3A4;YI SYLLABLE NRUR;Lo;0;L;;;;;N;;;;; +A3A5;YI SYLLABLE NRYT;Lo;0;L;;;;;N;;;;; +A3A6;YI SYLLABLE NRYX;Lo;0;L;;;;;N;;;;; +A3A7;YI SYLLABLE NRY;Lo;0;L;;;;;N;;;;; +A3A8;YI SYLLABLE NRYP;Lo;0;L;;;;;N;;;;; +A3A9;YI SYLLABLE NRYRX;Lo;0;L;;;;;N;;;;; +A3AA;YI SYLLABLE NRYR;Lo;0;L;;;;;N;;;;; +A3AB;YI SYLLABLE SHAT;Lo;0;L;;;;;N;;;;; +A3AC;YI SYLLABLE SHAX;Lo;0;L;;;;;N;;;;; +A3AD;YI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +A3AE;YI SYLLABLE SHAP;Lo;0;L;;;;;N;;;;; +A3AF;YI SYLLABLE SHUOX;Lo;0;L;;;;;N;;;;; +A3B0;YI SYLLABLE SHUO;Lo;0;L;;;;;N;;;;; +A3B1;YI SYLLABLE SHUOP;Lo;0;L;;;;;N;;;;; +A3B2;YI SYLLABLE SHOT;Lo;0;L;;;;;N;;;;; +A3B3;YI SYLLABLE SHOX;Lo;0;L;;;;;N;;;;; +A3B4;YI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +A3B5;YI SYLLABLE SHOP;Lo;0;L;;;;;N;;;;; +A3B6;YI SYLLABLE SHET;Lo;0;L;;;;;N;;;;; +A3B7;YI SYLLABLE SHEX;Lo;0;L;;;;;N;;;;; +A3B8;YI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +A3B9;YI SYLLABLE SHEP;Lo;0;L;;;;;N;;;;; +A3BA;YI SYLLABLE SHUT;Lo;0;L;;;;;N;;;;; +A3BB;YI SYLLABLE SHUX;Lo;0;L;;;;;N;;;;; +A3BC;YI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +A3BD;YI SYLLABLE SHUP;Lo;0;L;;;;;N;;;;; +A3BE;YI SYLLABLE SHURX;Lo;0;L;;;;;N;;;;; +A3BF;YI SYLLABLE SHUR;Lo;0;L;;;;;N;;;;; +A3C0;YI SYLLABLE SHYT;Lo;0;L;;;;;N;;;;; +A3C1;YI SYLLABLE SHYX;Lo;0;L;;;;;N;;;;; +A3C2;YI SYLLABLE SHY;Lo;0;L;;;;;N;;;;; +A3C3;YI SYLLABLE SHYP;Lo;0;L;;;;;N;;;;; +A3C4;YI SYLLABLE SHYRX;Lo;0;L;;;;;N;;;;; +A3C5;YI SYLLABLE SHYR;Lo;0;L;;;;;N;;;;; +A3C6;YI SYLLABLE RAT;Lo;0;L;;;;;N;;;;; +A3C7;YI SYLLABLE RAX;Lo;0;L;;;;;N;;;;; +A3C8;YI SYLLABLE RA;Lo;0;L;;;;;N;;;;; +A3C9;YI SYLLABLE RAP;Lo;0;L;;;;;N;;;;; +A3CA;YI SYLLABLE RUOX;Lo;0;L;;;;;N;;;;; +A3CB;YI SYLLABLE RUO;Lo;0;L;;;;;N;;;;; +A3CC;YI SYLLABLE RUOP;Lo;0;L;;;;;N;;;;; +A3CD;YI SYLLABLE ROT;Lo;0;L;;;;;N;;;;; +A3CE;YI SYLLABLE ROX;Lo;0;L;;;;;N;;;;; +A3CF;YI SYLLABLE RO;Lo;0;L;;;;;N;;;;; +A3D0;YI SYLLABLE ROP;Lo;0;L;;;;;N;;;;; +A3D1;YI SYLLABLE REX;Lo;0;L;;;;;N;;;;; +A3D2;YI SYLLABLE RE;Lo;0;L;;;;;N;;;;; +A3D3;YI SYLLABLE REP;Lo;0;L;;;;;N;;;;; +A3D4;YI SYLLABLE RUT;Lo;0;L;;;;;N;;;;; +A3D5;YI SYLLABLE RUX;Lo;0;L;;;;;N;;;;; +A3D6;YI SYLLABLE RU;Lo;0;L;;;;;N;;;;; +A3D7;YI SYLLABLE RUP;Lo;0;L;;;;;N;;;;; +A3D8;YI SYLLABLE RURX;Lo;0;L;;;;;N;;;;; +A3D9;YI SYLLABLE RUR;Lo;0;L;;;;;N;;;;; +A3DA;YI SYLLABLE RYT;Lo;0;L;;;;;N;;;;; +A3DB;YI SYLLABLE RYX;Lo;0;L;;;;;N;;;;; +A3DC;YI SYLLABLE RY;Lo;0;L;;;;;N;;;;; +A3DD;YI SYLLABLE RYP;Lo;0;L;;;;;N;;;;; +A3DE;YI SYLLABLE RYRX;Lo;0;L;;;;;N;;;;; +A3DF;YI SYLLABLE RYR;Lo;0;L;;;;;N;;;;; +A3E0;YI SYLLABLE JIT;Lo;0;L;;;;;N;;;;; +A3E1;YI SYLLABLE JIX;Lo;0;L;;;;;N;;;;; +A3E2;YI SYLLABLE JI;Lo;0;L;;;;;N;;;;; +A3E3;YI SYLLABLE JIP;Lo;0;L;;;;;N;;;;; +A3E4;YI SYLLABLE JIET;Lo;0;L;;;;;N;;;;; +A3E5;YI SYLLABLE JIEX;Lo;0;L;;;;;N;;;;; +A3E6;YI SYLLABLE JIE;Lo;0;L;;;;;N;;;;; +A3E7;YI SYLLABLE JIEP;Lo;0;L;;;;;N;;;;; +A3E8;YI SYLLABLE JUOT;Lo;0;L;;;;;N;;;;; +A3E9;YI SYLLABLE JUOX;Lo;0;L;;;;;N;;;;; +A3EA;YI SYLLABLE JUO;Lo;0;L;;;;;N;;;;; +A3EB;YI SYLLABLE JUOP;Lo;0;L;;;;;N;;;;; +A3EC;YI SYLLABLE JOT;Lo;0;L;;;;;N;;;;; +A3ED;YI SYLLABLE JOX;Lo;0;L;;;;;N;;;;; +A3EE;YI SYLLABLE JO;Lo;0;L;;;;;N;;;;; +A3EF;YI SYLLABLE JOP;Lo;0;L;;;;;N;;;;; +A3F0;YI SYLLABLE JUT;Lo;0;L;;;;;N;;;;; +A3F1;YI SYLLABLE JUX;Lo;0;L;;;;;N;;;;; +A3F2;YI SYLLABLE JU;Lo;0;L;;;;;N;;;;; +A3F3;YI SYLLABLE JUP;Lo;0;L;;;;;N;;;;; +A3F4;YI SYLLABLE JURX;Lo;0;L;;;;;N;;;;; +A3F5;YI SYLLABLE JUR;Lo;0;L;;;;;N;;;;; +A3F6;YI SYLLABLE JYT;Lo;0;L;;;;;N;;;;; +A3F7;YI SYLLABLE JYX;Lo;0;L;;;;;N;;;;; +A3F8;YI SYLLABLE JY;Lo;0;L;;;;;N;;;;; +A3F9;YI SYLLABLE JYP;Lo;0;L;;;;;N;;;;; +A3FA;YI SYLLABLE JYRX;Lo;0;L;;;;;N;;;;; +A3FB;YI SYLLABLE JYR;Lo;0;L;;;;;N;;;;; +A3FC;YI SYLLABLE QIT;Lo;0;L;;;;;N;;;;; +A3FD;YI SYLLABLE QIX;Lo;0;L;;;;;N;;;;; +A3FE;YI SYLLABLE QI;Lo;0;L;;;;;N;;;;; +A3FF;YI SYLLABLE QIP;Lo;0;L;;;;;N;;;;; +A400;YI SYLLABLE QIET;Lo;0;L;;;;;N;;;;; +A401;YI SYLLABLE QIEX;Lo;0;L;;;;;N;;;;; +A402;YI SYLLABLE QIE;Lo;0;L;;;;;N;;;;; +A403;YI SYLLABLE QIEP;Lo;0;L;;;;;N;;;;; +A404;YI SYLLABLE QUOT;Lo;0;L;;;;;N;;;;; +A405;YI SYLLABLE QUOX;Lo;0;L;;;;;N;;;;; +A406;YI SYLLABLE QUO;Lo;0;L;;;;;N;;;;; +A407;YI SYLLABLE QUOP;Lo;0;L;;;;;N;;;;; +A408;YI SYLLABLE QOT;Lo;0;L;;;;;N;;;;; +A409;YI SYLLABLE QOX;Lo;0;L;;;;;N;;;;; +A40A;YI SYLLABLE QO;Lo;0;L;;;;;N;;;;; +A40B;YI SYLLABLE QOP;Lo;0;L;;;;;N;;;;; +A40C;YI SYLLABLE QUT;Lo;0;L;;;;;N;;;;; +A40D;YI SYLLABLE QUX;Lo;0;L;;;;;N;;;;; +A40E;YI SYLLABLE QU;Lo;0;L;;;;;N;;;;; +A40F;YI SYLLABLE QUP;Lo;0;L;;;;;N;;;;; +A410;YI SYLLABLE QURX;Lo;0;L;;;;;N;;;;; +A411;YI SYLLABLE QUR;Lo;0;L;;;;;N;;;;; +A412;YI SYLLABLE QYT;Lo;0;L;;;;;N;;;;; +A413;YI SYLLABLE QYX;Lo;0;L;;;;;N;;;;; +A414;YI SYLLABLE QY;Lo;0;L;;;;;N;;;;; +A415;YI SYLLABLE QYP;Lo;0;L;;;;;N;;;;; +A416;YI SYLLABLE QYRX;Lo;0;L;;;;;N;;;;; +A417;YI SYLLABLE QYR;Lo;0;L;;;;;N;;;;; +A418;YI SYLLABLE JJIT;Lo;0;L;;;;;N;;;;; +A419;YI SYLLABLE JJIX;Lo;0;L;;;;;N;;;;; +A41A;YI SYLLABLE JJI;Lo;0;L;;;;;N;;;;; +A41B;YI SYLLABLE JJIP;Lo;0;L;;;;;N;;;;; +A41C;YI SYLLABLE JJIET;Lo;0;L;;;;;N;;;;; +A41D;YI SYLLABLE JJIEX;Lo;0;L;;;;;N;;;;; +A41E;YI SYLLABLE JJIE;Lo;0;L;;;;;N;;;;; +A41F;YI SYLLABLE JJIEP;Lo;0;L;;;;;N;;;;; +A420;YI SYLLABLE JJUOX;Lo;0;L;;;;;N;;;;; +A421;YI SYLLABLE JJUO;Lo;0;L;;;;;N;;;;; +A422;YI SYLLABLE JJUOP;Lo;0;L;;;;;N;;;;; +A423;YI SYLLABLE JJOT;Lo;0;L;;;;;N;;;;; +A424;YI SYLLABLE JJOX;Lo;0;L;;;;;N;;;;; +A425;YI SYLLABLE JJO;Lo;0;L;;;;;N;;;;; +A426;YI SYLLABLE JJOP;Lo;0;L;;;;;N;;;;; +A427;YI SYLLABLE JJUT;Lo;0;L;;;;;N;;;;; +A428;YI SYLLABLE JJUX;Lo;0;L;;;;;N;;;;; +A429;YI SYLLABLE JJU;Lo;0;L;;;;;N;;;;; +A42A;YI SYLLABLE JJUP;Lo;0;L;;;;;N;;;;; +A42B;YI SYLLABLE JJURX;Lo;0;L;;;;;N;;;;; +A42C;YI SYLLABLE JJUR;Lo;0;L;;;;;N;;;;; +A42D;YI SYLLABLE JJYT;Lo;0;L;;;;;N;;;;; +A42E;YI SYLLABLE JJYX;Lo;0;L;;;;;N;;;;; +A42F;YI SYLLABLE JJY;Lo;0;L;;;;;N;;;;; +A430;YI SYLLABLE JJYP;Lo;0;L;;;;;N;;;;; +A431;YI SYLLABLE NJIT;Lo;0;L;;;;;N;;;;; +A432;YI SYLLABLE NJIX;Lo;0;L;;;;;N;;;;; +A433;YI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; +A434;YI SYLLABLE NJIP;Lo;0;L;;;;;N;;;;; +A435;YI SYLLABLE NJIET;Lo;0;L;;;;;N;;;;; +A436;YI SYLLABLE NJIEX;Lo;0;L;;;;;N;;;;; +A437;YI SYLLABLE NJIE;Lo;0;L;;;;;N;;;;; +A438;YI SYLLABLE NJIEP;Lo;0;L;;;;;N;;;;; +A439;YI SYLLABLE NJUOX;Lo;0;L;;;;;N;;;;; +A43A;YI SYLLABLE NJUO;Lo;0;L;;;;;N;;;;; +A43B;YI SYLLABLE NJOT;Lo;0;L;;;;;N;;;;; +A43C;YI SYLLABLE NJOX;Lo;0;L;;;;;N;;;;; +A43D;YI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; +A43E;YI SYLLABLE NJOP;Lo;0;L;;;;;N;;;;; +A43F;YI SYLLABLE NJUX;Lo;0;L;;;;;N;;;;; +A440;YI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; +A441;YI SYLLABLE NJUP;Lo;0;L;;;;;N;;;;; +A442;YI SYLLABLE NJURX;Lo;0;L;;;;;N;;;;; +A443;YI SYLLABLE NJUR;Lo;0;L;;;;;N;;;;; +A444;YI SYLLABLE NJYT;Lo;0;L;;;;;N;;;;; +A445;YI SYLLABLE NJYX;Lo;0;L;;;;;N;;;;; +A446;YI SYLLABLE NJY;Lo;0;L;;;;;N;;;;; +A447;YI SYLLABLE NJYP;Lo;0;L;;;;;N;;;;; +A448;YI SYLLABLE NJYRX;Lo;0;L;;;;;N;;;;; +A449;YI SYLLABLE NJYR;Lo;0;L;;;;;N;;;;; +A44A;YI SYLLABLE NYIT;Lo;0;L;;;;;N;;;;; +A44B;YI SYLLABLE NYIX;Lo;0;L;;;;;N;;;;; +A44C;YI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +A44D;YI SYLLABLE NYIP;Lo;0;L;;;;;N;;;;; +A44E;YI SYLLABLE NYIET;Lo;0;L;;;;;N;;;;; +A44F;YI SYLLABLE NYIEX;Lo;0;L;;;;;N;;;;; +A450;YI SYLLABLE NYIE;Lo;0;L;;;;;N;;;;; +A451;YI SYLLABLE NYIEP;Lo;0;L;;;;;N;;;;; +A452;YI SYLLABLE NYUOX;Lo;0;L;;;;;N;;;;; +A453;YI SYLLABLE NYUO;Lo;0;L;;;;;N;;;;; +A454;YI SYLLABLE NYUOP;Lo;0;L;;;;;N;;;;; +A455;YI SYLLABLE NYOT;Lo;0;L;;;;;N;;;;; +A456;YI SYLLABLE NYOX;Lo;0;L;;;;;N;;;;; +A457;YI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +A458;YI SYLLABLE NYOP;Lo;0;L;;;;;N;;;;; +A459;YI SYLLABLE NYUT;Lo;0;L;;;;;N;;;;; +A45A;YI SYLLABLE NYUX;Lo;0;L;;;;;N;;;;; +A45B;YI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +A45C;YI SYLLABLE NYUP;Lo;0;L;;;;;N;;;;; +A45D;YI SYLLABLE XIT;Lo;0;L;;;;;N;;;;; +A45E;YI SYLLABLE XIX;Lo;0;L;;;;;N;;;;; +A45F;YI SYLLABLE XI;Lo;0;L;;;;;N;;;;; +A460;YI SYLLABLE XIP;Lo;0;L;;;;;N;;;;; +A461;YI SYLLABLE XIET;Lo;0;L;;;;;N;;;;; +A462;YI SYLLABLE XIEX;Lo;0;L;;;;;N;;;;; +A463;YI SYLLABLE XIE;Lo;0;L;;;;;N;;;;; +A464;YI SYLLABLE XIEP;Lo;0;L;;;;;N;;;;; +A465;YI SYLLABLE XUOX;Lo;0;L;;;;;N;;;;; +A466;YI SYLLABLE XUO;Lo;0;L;;;;;N;;;;; +A467;YI SYLLABLE XOT;Lo;0;L;;;;;N;;;;; +A468;YI SYLLABLE XOX;Lo;0;L;;;;;N;;;;; +A469;YI SYLLABLE XO;Lo;0;L;;;;;N;;;;; +A46A;YI SYLLABLE XOP;Lo;0;L;;;;;N;;;;; +A46B;YI SYLLABLE XYT;Lo;0;L;;;;;N;;;;; +A46C;YI SYLLABLE XYX;Lo;0;L;;;;;N;;;;; +A46D;YI SYLLABLE XY;Lo;0;L;;;;;N;;;;; +A46E;YI SYLLABLE XYP;Lo;0;L;;;;;N;;;;; +A46F;YI SYLLABLE XYRX;Lo;0;L;;;;;N;;;;; +A470;YI SYLLABLE XYR;Lo;0;L;;;;;N;;;;; +A471;YI SYLLABLE YIT;Lo;0;L;;;;;N;;;;; +A472;YI SYLLABLE YIX;Lo;0;L;;;;;N;;;;; +A473;YI SYLLABLE YI;Lo;0;L;;;;;N;;;;; +A474;YI SYLLABLE YIP;Lo;0;L;;;;;N;;;;; +A475;YI SYLLABLE YIET;Lo;0;L;;;;;N;;;;; +A476;YI SYLLABLE YIEX;Lo;0;L;;;;;N;;;;; +A477;YI SYLLABLE YIE;Lo;0;L;;;;;N;;;;; +A478;YI SYLLABLE YIEP;Lo;0;L;;;;;N;;;;; +A479;YI SYLLABLE YUOT;Lo;0;L;;;;;N;;;;; +A47A;YI SYLLABLE YUOX;Lo;0;L;;;;;N;;;;; +A47B;YI SYLLABLE YUO;Lo;0;L;;;;;N;;;;; +A47C;YI SYLLABLE YUOP;Lo;0;L;;;;;N;;;;; +A47D;YI SYLLABLE YOT;Lo;0;L;;;;;N;;;;; +A47E;YI SYLLABLE YOX;Lo;0;L;;;;;N;;;;; +A47F;YI SYLLABLE YO;Lo;0;L;;;;;N;;;;; +A480;YI SYLLABLE YOP;Lo;0;L;;;;;N;;;;; +A481;YI SYLLABLE YUT;Lo;0;L;;;;;N;;;;; +A482;YI SYLLABLE YUX;Lo;0;L;;;;;N;;;;; +A483;YI SYLLABLE YU;Lo;0;L;;;;;N;;;;; +A484;YI SYLLABLE YUP;Lo;0;L;;;;;N;;;;; +A485;YI SYLLABLE YURX;Lo;0;L;;;;;N;;;;; +A486;YI SYLLABLE YUR;Lo;0;L;;;;;N;;;;; +A487;YI SYLLABLE YYT;Lo;0;L;;;;;N;;;;; +A488;YI SYLLABLE YYX;Lo;0;L;;;;;N;;;;; +A489;YI SYLLABLE YY;Lo;0;L;;;;;N;;;;; +A48A;YI SYLLABLE YYP;Lo;0;L;;;;;N;;;;; +A48B;YI SYLLABLE YYRX;Lo;0;L;;;;;N;;;;; +A48C;YI SYLLABLE YYR;Lo;0;L;;;;;N;;;;; +A490;YI RADICAL QOT;So;0;ON;;;;;N;;;;; +A491;YI RADICAL LI;So;0;ON;;;;;N;;;;; +A492;YI RADICAL KIT;So;0;ON;;;;;N;;;;; +A493;YI RADICAL NYIP;So;0;ON;;;;;N;;;;; +A494;YI RADICAL CYP;So;0;ON;;;;;N;;;;; +A495;YI RADICAL SSI;So;0;ON;;;;;N;;;;; +A496;YI RADICAL GGOP;So;0;ON;;;;;N;;;;; +A497;YI RADICAL GEP;So;0;ON;;;;;N;;;;; +A498;YI RADICAL MI;So;0;ON;;;;;N;;;;; +A499;YI RADICAL HXIT;So;0;ON;;;;;N;;;;; +A49A;YI RADICAL LYR;So;0;ON;;;;;N;;;;; +A49B;YI RADICAL BBUT;So;0;ON;;;;;N;;;;; +A49C;YI RADICAL MOP;So;0;ON;;;;;N;;;;; +A49D;YI RADICAL YO;So;0;ON;;;;;N;;;;; +A49E;YI RADICAL PUT;So;0;ON;;;;;N;;;;; +A49F;YI RADICAL HXUO;So;0;ON;;;;;N;;;;; +A4A0;YI RADICAL TAT;So;0;ON;;;;;N;;;;; +A4A1;YI RADICAL GA;So;0;ON;;;;;N;;;;; +A4A2;YI RADICAL ZUP;So;0;ON;;;;;N;;;;; +A4A3;YI RADICAL CYT;So;0;ON;;;;;N;;;;; +A4A4;YI RADICAL DDUR;So;0;ON;;;;;N;;;;; +A4A5;YI RADICAL BUR;So;0;ON;;;;;N;;;;; +A4A6;YI RADICAL GGUO;So;0;ON;;;;;N;;;;; +A4A7;YI RADICAL NYOP;So;0;ON;;;;;N;;;;; +A4A8;YI RADICAL TU;So;0;ON;;;;;N;;;;; +A4A9;YI RADICAL OP;So;0;ON;;;;;N;;;;; +A4AA;YI RADICAL JJUT;So;0;ON;;;;;N;;;;; +A4AB;YI RADICAL ZOT;So;0;ON;;;;;N;;;;; +A4AC;YI RADICAL PYT;So;0;ON;;;;;N;;;;; +A4AD;YI RADICAL HMO;So;0;ON;;;;;N;;;;; +A4AE;YI RADICAL YIT;So;0;ON;;;;;N;;;;; +A4AF;YI RADICAL VUR;So;0;ON;;;;;N;;;;; +A4B0;YI RADICAL SHY;So;0;ON;;;;;N;;;;; +A4B1;YI RADICAL VEP;So;0;ON;;;;;N;;;;; +A4B2;YI RADICAL ZA;So;0;ON;;;;;N;;;;; +A4B3;YI RADICAL JO;So;0;ON;;;;;N;;;;; +A4B4;YI RADICAL NZUP;So;0;ON;;;;;N;;;;; +A4B5;YI RADICAL JJY;So;0;ON;;;;;N;;;;; +A4B6;YI RADICAL GOT;So;0;ON;;;;;N;;;;; +A4B7;YI RADICAL JJIE;So;0;ON;;;;;N;;;;; +A4B8;YI RADICAL WO;So;0;ON;;;;;N;;;;; +A4B9;YI RADICAL DU;So;0;ON;;;;;N;;;;; +A4BA;YI RADICAL SHUR;So;0;ON;;;;;N;;;;; +A4BB;YI RADICAL LIE;So;0;ON;;;;;N;;;;; +A4BC;YI RADICAL CY;So;0;ON;;;;;N;;;;; +A4BD;YI RADICAL CUOP;So;0;ON;;;;;N;;;;; +A4BE;YI RADICAL CIP;So;0;ON;;;;;N;;;;; +A4BF;YI RADICAL HXOP;So;0;ON;;;;;N;;;;; +A4C0;YI RADICAL SHAT;So;0;ON;;;;;N;;;;; +A4C1;YI RADICAL ZUR;So;0;ON;;;;;N;;;;; +A4C2;YI RADICAL SHOP;So;0;ON;;;;;N;;;;; +A4C3;YI RADICAL CHE;So;0;ON;;;;;N;;;;; +A4C4;YI RADICAL ZZIET;So;0;ON;;;;;N;;;;; +A4C5;YI RADICAL NBIE;So;0;ON;;;;;N;;;;; +A4C6;YI RADICAL KE;So;0;ON;;;;;N;;;;; +A4D0;LISU LETTER BA;Lo;0;L;;;;;N;;;;; +A4D1;LISU LETTER PA;Lo;0;L;;;;;N;;;;; +A4D2;LISU LETTER PHA;Lo;0;L;;;;;N;;;;; +A4D3;LISU LETTER DA;Lo;0;L;;;;;N;;;;; +A4D4;LISU LETTER TA;Lo;0;L;;;;;N;;;;; +A4D5;LISU LETTER THA;Lo;0;L;;;;;N;;;;; +A4D6;LISU LETTER GA;Lo;0;L;;;;;N;;;;; +A4D7;LISU LETTER KA;Lo;0;L;;;;;N;;;;; +A4D8;LISU LETTER KHA;Lo;0;L;;;;;N;;;;; +A4D9;LISU LETTER JA;Lo;0;L;;;;;N;;;;; +A4DA;LISU LETTER CA;Lo;0;L;;;;;N;;;;; +A4DB;LISU LETTER CHA;Lo;0;L;;;;;N;;;;; +A4DC;LISU LETTER DZA;Lo;0;L;;;;;N;;;;; +A4DD;LISU LETTER TSA;Lo;0;L;;;;;N;;;;; +A4DE;LISU LETTER TSHA;Lo;0;L;;;;;N;;;;; +A4DF;LISU LETTER MA;Lo;0;L;;;;;N;;;;; +A4E0;LISU LETTER NA;Lo;0;L;;;;;N;;;;; +A4E1;LISU LETTER LA;Lo;0;L;;;;;N;;;;; +A4E2;LISU LETTER SA;Lo;0;L;;;;;N;;;;; +A4E3;LISU LETTER ZHA;Lo;0;L;;;;;N;;;;; +A4E4;LISU LETTER ZA;Lo;0;L;;;;;N;;;;; +A4E5;LISU LETTER NGA;Lo;0;L;;;;;N;;;;; +A4E6;LISU LETTER HA;Lo;0;L;;;;;N;;;;; +A4E7;LISU LETTER XA;Lo;0;L;;;;;N;;;;; +A4E8;LISU LETTER HHA;Lo;0;L;;;;;N;;;;; +A4E9;LISU LETTER FA;Lo;0;L;;;;;N;;;;; +A4EA;LISU LETTER WA;Lo;0;L;;;;;N;;;;; +A4EB;LISU LETTER SHA;Lo;0;L;;;;;N;;;;; +A4EC;LISU LETTER YA;Lo;0;L;;;;;N;;;;; +A4ED;LISU LETTER GHA;Lo;0;L;;;;;N;;;;; +A4EE;LISU LETTER A;Lo;0;L;;;;;N;;;;; +A4EF;LISU LETTER AE;Lo;0;L;;;;;N;;;;; +A4F0;LISU LETTER E;Lo;0;L;;;;;N;;;;; +A4F1;LISU LETTER EU;Lo;0;L;;;;;N;;;;; +A4F2;LISU LETTER I;Lo;0;L;;;;;N;;;;; +A4F3;LISU LETTER O;Lo;0;L;;;;;N;;;;; +A4F4;LISU LETTER U;Lo;0;L;;;;;N;;;;; +A4F5;LISU LETTER UE;Lo;0;L;;;;;N;;;;; +A4F6;LISU LETTER UH;Lo;0;L;;;;;N;;;;; +A4F7;LISU LETTER OE;Lo;0;L;;;;;N;;;;; +A4F8;LISU LETTER TONE MYA TI;Lm;0;L;;;;;N;;;;; +A4F9;LISU LETTER TONE NA PO;Lm;0;L;;;;;N;;;;; +A4FA;LISU LETTER TONE MYA CYA;Lm;0;L;;;;;N;;;;; +A4FB;LISU LETTER TONE MYA BO;Lm;0;L;;;;;N;;;;; +A4FC;LISU LETTER TONE MYA NA;Lm;0;L;;;;;N;;;;; +A4FD;LISU LETTER TONE MYA JEU;Lm;0;L;;;;;N;;;;; +A4FE;LISU PUNCTUATION COMMA;Po;0;L;;;;;N;;;;; +A4FF;LISU PUNCTUATION FULL STOP;Po;0;L;;;;;N;;;;; +A500;VAI SYLLABLE EE;Lo;0;L;;;;;N;;;;; +A501;VAI SYLLABLE EEN;Lo;0;L;;;;;N;;;;; +A502;VAI SYLLABLE HEE;Lo;0;L;;;;;N;;;;; +A503;VAI SYLLABLE WEE;Lo;0;L;;;;;N;;;;; +A504;VAI SYLLABLE WEEN;Lo;0;L;;;;;N;;;;; +A505;VAI SYLLABLE PEE;Lo;0;L;;;;;N;;;;; +A506;VAI SYLLABLE BHEE;Lo;0;L;;;;;N;;;;; +A507;VAI SYLLABLE BEE;Lo;0;L;;;;;N;;;;; +A508;VAI SYLLABLE MBEE;Lo;0;L;;;;;N;;;;; +A509;VAI SYLLABLE KPEE;Lo;0;L;;;;;N;;;;; +A50A;VAI SYLLABLE MGBEE;Lo;0;L;;;;;N;;;;; +A50B;VAI SYLLABLE GBEE;Lo;0;L;;;;;N;;;;; +A50C;VAI SYLLABLE FEE;Lo;0;L;;;;;N;;;;; +A50D;VAI SYLLABLE VEE;Lo;0;L;;;;;N;;;;; +A50E;VAI SYLLABLE TEE;Lo;0;L;;;;;N;;;;; +A50F;VAI SYLLABLE THEE;Lo;0;L;;;;;N;;;;; +A510;VAI SYLLABLE DHEE;Lo;0;L;;;;;N;;;;; +A511;VAI SYLLABLE DHHEE;Lo;0;L;;;;;N;;;;; +A512;VAI SYLLABLE LEE;Lo;0;L;;;;;N;;;;; +A513;VAI SYLLABLE REE;Lo;0;L;;;;;N;;;;; +A514;VAI SYLLABLE DEE;Lo;0;L;;;;;N;;;;; +A515;VAI SYLLABLE NDEE;Lo;0;L;;;;;N;;;;; +A516;VAI SYLLABLE SEE;Lo;0;L;;;;;N;;;;; +A517;VAI SYLLABLE SHEE;Lo;0;L;;;;;N;;;;; +A518;VAI SYLLABLE ZEE;Lo;0;L;;;;;N;;;;; +A519;VAI SYLLABLE ZHEE;Lo;0;L;;;;;N;;;;; +A51A;VAI SYLLABLE CEE;Lo;0;L;;;;;N;;;;; +A51B;VAI SYLLABLE JEE;Lo;0;L;;;;;N;;;;; +A51C;VAI SYLLABLE NJEE;Lo;0;L;;;;;N;;;;; +A51D;VAI SYLLABLE YEE;Lo;0;L;;;;;N;;;;; +A51E;VAI SYLLABLE KEE;Lo;0;L;;;;;N;;;;; +A51F;VAI SYLLABLE NGGEE;Lo;0;L;;;;;N;;;;; +A520;VAI SYLLABLE GEE;Lo;0;L;;;;;N;;;;; +A521;VAI SYLLABLE MEE;Lo;0;L;;;;;N;;;;; +A522;VAI SYLLABLE NEE;Lo;0;L;;;;;N;;;;; +A523;VAI SYLLABLE NYEE;Lo;0;L;;;;;N;;;;; +A524;VAI SYLLABLE I;Lo;0;L;;;;;N;;;;; +A525;VAI SYLLABLE IN;Lo;0;L;;;;;N;;;;; +A526;VAI SYLLABLE HI;Lo;0;L;;;;;N;;;;; +A527;VAI SYLLABLE HIN;Lo;0;L;;;;;N;;;;; +A528;VAI SYLLABLE WI;Lo;0;L;;;;;N;;;;; +A529;VAI SYLLABLE WIN;Lo;0;L;;;;;N;;;;; +A52A;VAI SYLLABLE PI;Lo;0;L;;;;;N;;;;; +A52B;VAI SYLLABLE BHI;Lo;0;L;;;;;N;;;;; +A52C;VAI SYLLABLE BI;Lo;0;L;;;;;N;;;;; +A52D;VAI SYLLABLE MBI;Lo;0;L;;;;;N;;;;; +A52E;VAI SYLLABLE KPI;Lo;0;L;;;;;N;;;;; +A52F;VAI SYLLABLE MGBI;Lo;0;L;;;;;N;;;;; +A530;VAI SYLLABLE GBI;Lo;0;L;;;;;N;;;;; +A531;VAI SYLLABLE FI;Lo;0;L;;;;;N;;;;; +A532;VAI SYLLABLE VI;Lo;0;L;;;;;N;;;;; +A533;VAI SYLLABLE TI;Lo;0;L;;;;;N;;;;; +A534;VAI SYLLABLE THI;Lo;0;L;;;;;N;;;;; +A535;VAI SYLLABLE DHI;Lo;0;L;;;;;N;;;;; +A536;VAI SYLLABLE DHHI;Lo;0;L;;;;;N;;;;; +A537;VAI SYLLABLE LI;Lo;0;L;;;;;N;;;;; +A538;VAI SYLLABLE RI;Lo;0;L;;;;;N;;;;; +A539;VAI SYLLABLE DI;Lo;0;L;;;;;N;;;;; +A53A;VAI SYLLABLE NDI;Lo;0;L;;;;;N;;;;; +A53B;VAI SYLLABLE SI;Lo;0;L;;;;;N;;;;; +A53C;VAI SYLLABLE SHI;Lo;0;L;;;;;N;;;;; +A53D;VAI SYLLABLE ZI;Lo;0;L;;;;;N;;;;; +A53E;VAI SYLLABLE ZHI;Lo;0;L;;;;;N;;;;; +A53F;VAI SYLLABLE CI;Lo;0;L;;;;;N;;;;; +A540;VAI SYLLABLE JI;Lo;0;L;;;;;N;;;;; +A541;VAI SYLLABLE NJI;Lo;0;L;;;;;N;;;;; +A542;VAI SYLLABLE YI;Lo;0;L;;;;;N;;;;; +A543;VAI SYLLABLE KI;Lo;0;L;;;;;N;;;;; +A544;VAI SYLLABLE NGGI;Lo;0;L;;;;;N;;;;; +A545;VAI SYLLABLE GI;Lo;0;L;;;;;N;;;;; +A546;VAI SYLLABLE MI;Lo;0;L;;;;;N;;;;; +A547;VAI SYLLABLE NI;Lo;0;L;;;;;N;;;;; +A548;VAI SYLLABLE NYI;Lo;0;L;;;;;N;;;;; +A549;VAI SYLLABLE A;Lo;0;L;;;;;N;;;;; +A54A;VAI SYLLABLE AN;Lo;0;L;;;;;N;;;;; +A54B;VAI SYLLABLE NGAN;Lo;0;L;;;;;N;;;;; +A54C;VAI SYLLABLE HA;Lo;0;L;;;;;N;;;;; +A54D;VAI SYLLABLE HAN;Lo;0;L;;;;;N;;;;; +A54E;VAI SYLLABLE WA;Lo;0;L;;;;;N;;;;; +A54F;VAI SYLLABLE WAN;Lo;0;L;;;;;N;;;;; +A550;VAI SYLLABLE PA;Lo;0;L;;;;;N;;;;; +A551;VAI SYLLABLE BHA;Lo;0;L;;;;;N;;;;; +A552;VAI SYLLABLE BA;Lo;0;L;;;;;N;;;;; +A553;VAI SYLLABLE MBA;Lo;0;L;;;;;N;;;;; +A554;VAI SYLLABLE KPA;Lo;0;L;;;;;N;;;;; +A555;VAI SYLLABLE KPAN;Lo;0;L;;;;;N;;;;; +A556;VAI SYLLABLE MGBA;Lo;0;L;;;;;N;;;;; +A557;VAI SYLLABLE GBA;Lo;0;L;;;;;N;;;;; +A558;VAI SYLLABLE FA;Lo;0;L;;;;;N;;;;; +A559;VAI SYLLABLE VA;Lo;0;L;;;;;N;;;;; +A55A;VAI SYLLABLE TA;Lo;0;L;;;;;N;;;;; +A55B;VAI SYLLABLE THA;Lo;0;L;;;;;N;;;;; +A55C;VAI SYLLABLE DHA;Lo;0;L;;;;;N;;;;; +A55D;VAI SYLLABLE DHHA;Lo;0;L;;;;;N;;;;; +A55E;VAI SYLLABLE LA;Lo;0;L;;;;;N;;;;; +A55F;VAI SYLLABLE RA;Lo;0;L;;;;;N;;;;; +A560;VAI SYLLABLE DA;Lo;0;L;;;;;N;;;;; +A561;VAI SYLLABLE NDA;Lo;0;L;;;;;N;;;;; +A562;VAI SYLLABLE SA;Lo;0;L;;;;;N;;;;; +A563;VAI SYLLABLE SHA;Lo;0;L;;;;;N;;;;; +A564;VAI SYLLABLE ZA;Lo;0;L;;;;;N;;;;; +A565;VAI SYLLABLE ZHA;Lo;0;L;;;;;N;;;;; +A566;VAI SYLLABLE CA;Lo;0;L;;;;;N;;;;; +A567;VAI SYLLABLE JA;Lo;0;L;;;;;N;;;;; +A568;VAI SYLLABLE NJA;Lo;0;L;;;;;N;;;;; +A569;VAI SYLLABLE YA;Lo;0;L;;;;;N;;;;; +A56A;VAI SYLLABLE KA;Lo;0;L;;;;;N;;;;; +A56B;VAI SYLLABLE KAN;Lo;0;L;;;;;N;;;;; +A56C;VAI SYLLABLE NGGA;Lo;0;L;;;;;N;;;;; +A56D;VAI SYLLABLE GA;Lo;0;L;;;;;N;;;;; +A56E;VAI SYLLABLE MA;Lo;0;L;;;;;N;;;;; +A56F;VAI SYLLABLE NA;Lo;0;L;;;;;N;;;;; +A570;VAI SYLLABLE NYA;Lo;0;L;;;;;N;;;;; +A571;VAI SYLLABLE OO;Lo;0;L;;;;;N;;;;; +A572;VAI SYLLABLE OON;Lo;0;L;;;;;N;;;;; +A573;VAI SYLLABLE HOO;Lo;0;L;;;;;N;;;;; +A574;VAI SYLLABLE WOO;Lo;0;L;;;;;N;;;;; +A575;VAI SYLLABLE WOON;Lo;0;L;;;;;N;;;;; +A576;VAI SYLLABLE POO;Lo;0;L;;;;;N;;;;; +A577;VAI SYLLABLE BHOO;Lo;0;L;;;;;N;;;;; +A578;VAI SYLLABLE BOO;Lo;0;L;;;;;N;;;;; +A579;VAI SYLLABLE MBOO;Lo;0;L;;;;;N;;;;; +A57A;VAI SYLLABLE KPOO;Lo;0;L;;;;;N;;;;; +A57B;VAI SYLLABLE MGBOO;Lo;0;L;;;;;N;;;;; +A57C;VAI SYLLABLE GBOO;Lo;0;L;;;;;N;;;;; +A57D;VAI SYLLABLE FOO;Lo;0;L;;;;;N;;;;; +A57E;VAI SYLLABLE VOO;Lo;0;L;;;;;N;;;;; +A57F;VAI SYLLABLE TOO;Lo;0;L;;;;;N;;;;; +A580;VAI SYLLABLE THOO;Lo;0;L;;;;;N;;;;; +A581;VAI SYLLABLE DHOO;Lo;0;L;;;;;N;;;;; +A582;VAI SYLLABLE DHHOO;Lo;0;L;;;;;N;;;;; +A583;VAI SYLLABLE LOO;Lo;0;L;;;;;N;;;;; +A584;VAI SYLLABLE ROO;Lo;0;L;;;;;N;;;;; +A585;VAI SYLLABLE DOO;Lo;0;L;;;;;N;;;;; +A586;VAI SYLLABLE NDOO;Lo;0;L;;;;;N;;;;; +A587;VAI SYLLABLE SOO;Lo;0;L;;;;;N;;;;; +A588;VAI SYLLABLE SHOO;Lo;0;L;;;;;N;;;;; +A589;VAI SYLLABLE ZOO;Lo;0;L;;;;;N;;;;; +A58A;VAI SYLLABLE ZHOO;Lo;0;L;;;;;N;;;;; +A58B;VAI SYLLABLE COO;Lo;0;L;;;;;N;;;;; +A58C;VAI SYLLABLE JOO;Lo;0;L;;;;;N;;;;; +A58D;VAI SYLLABLE NJOO;Lo;0;L;;;;;N;;;;; +A58E;VAI SYLLABLE YOO;Lo;0;L;;;;;N;;;;; +A58F;VAI SYLLABLE KOO;Lo;0;L;;;;;N;;;;; +A590;VAI SYLLABLE NGGOO;Lo;0;L;;;;;N;;;;; +A591;VAI SYLLABLE GOO;Lo;0;L;;;;;N;;;;; +A592;VAI SYLLABLE MOO;Lo;0;L;;;;;N;;;;; +A593;VAI SYLLABLE NOO;Lo;0;L;;;;;N;;;;; +A594;VAI SYLLABLE NYOO;Lo;0;L;;;;;N;;;;; +A595;VAI SYLLABLE U;Lo;0;L;;;;;N;;;;; +A596;VAI SYLLABLE UN;Lo;0;L;;;;;N;;;;; +A597;VAI SYLLABLE HU;Lo;0;L;;;;;N;;;;; +A598;VAI SYLLABLE HUN;Lo;0;L;;;;;N;;;;; +A599;VAI SYLLABLE WU;Lo;0;L;;;;;N;;;;; +A59A;VAI SYLLABLE WUN;Lo;0;L;;;;;N;;;;; +A59B;VAI SYLLABLE PU;Lo;0;L;;;;;N;;;;; +A59C;VAI SYLLABLE BHU;Lo;0;L;;;;;N;;;;; +A59D;VAI SYLLABLE BU;Lo;0;L;;;;;N;;;;; +A59E;VAI SYLLABLE MBU;Lo;0;L;;;;;N;;;;; +A59F;VAI SYLLABLE KPU;Lo;0;L;;;;;N;;;;; +A5A0;VAI SYLLABLE MGBU;Lo;0;L;;;;;N;;;;; +A5A1;VAI SYLLABLE GBU;Lo;0;L;;;;;N;;;;; +A5A2;VAI SYLLABLE FU;Lo;0;L;;;;;N;;;;; +A5A3;VAI SYLLABLE VU;Lo;0;L;;;;;N;;;;; +A5A4;VAI SYLLABLE TU;Lo;0;L;;;;;N;;;;; +A5A5;VAI SYLLABLE THU;Lo;0;L;;;;;N;;;;; +A5A6;VAI SYLLABLE DHU;Lo;0;L;;;;;N;;;;; +A5A7;VAI SYLLABLE DHHU;Lo;0;L;;;;;N;;;;; +A5A8;VAI SYLLABLE LU;Lo;0;L;;;;;N;;;;; +A5A9;VAI SYLLABLE RU;Lo;0;L;;;;;N;;;;; +A5AA;VAI SYLLABLE DU;Lo;0;L;;;;;N;;;;; +A5AB;VAI SYLLABLE NDU;Lo;0;L;;;;;N;;;;; +A5AC;VAI SYLLABLE SU;Lo;0;L;;;;;N;;;;; +A5AD;VAI SYLLABLE SHU;Lo;0;L;;;;;N;;;;; +A5AE;VAI SYLLABLE ZU;Lo;0;L;;;;;N;;;;; +A5AF;VAI SYLLABLE ZHU;Lo;0;L;;;;;N;;;;; +A5B0;VAI SYLLABLE CU;Lo;0;L;;;;;N;;;;; +A5B1;VAI SYLLABLE JU;Lo;0;L;;;;;N;;;;; +A5B2;VAI SYLLABLE NJU;Lo;0;L;;;;;N;;;;; +A5B3;VAI SYLLABLE YU;Lo;0;L;;;;;N;;;;; +A5B4;VAI SYLLABLE KU;Lo;0;L;;;;;N;;;;; +A5B5;VAI SYLLABLE NGGU;Lo;0;L;;;;;N;;;;; +A5B6;VAI SYLLABLE GU;Lo;0;L;;;;;N;;;;; +A5B7;VAI SYLLABLE MU;Lo;0;L;;;;;N;;;;; +A5B8;VAI SYLLABLE NU;Lo;0;L;;;;;N;;;;; +A5B9;VAI SYLLABLE NYU;Lo;0;L;;;;;N;;;;; +A5BA;VAI SYLLABLE O;Lo;0;L;;;;;N;;;;; +A5BB;VAI SYLLABLE ON;Lo;0;L;;;;;N;;;;; +A5BC;VAI SYLLABLE NGON;Lo;0;L;;;;;N;;;;; +A5BD;VAI SYLLABLE HO;Lo;0;L;;;;;N;;;;; +A5BE;VAI SYLLABLE HON;Lo;0;L;;;;;N;;;;; +A5BF;VAI SYLLABLE WO;Lo;0;L;;;;;N;;;;; +A5C0;VAI SYLLABLE WON;Lo;0;L;;;;;N;;;;; +A5C1;VAI SYLLABLE PO;Lo;0;L;;;;;N;;;;; +A5C2;VAI SYLLABLE BHO;Lo;0;L;;;;;N;;;;; +A5C3;VAI SYLLABLE BO;Lo;0;L;;;;;N;;;;; +A5C4;VAI SYLLABLE MBO;Lo;0;L;;;;;N;;;;; +A5C5;VAI SYLLABLE KPO;Lo;0;L;;;;;N;;;;; +A5C6;VAI SYLLABLE MGBO;Lo;0;L;;;;;N;;;;; +A5C7;VAI SYLLABLE GBO;Lo;0;L;;;;;N;;;;; +A5C8;VAI SYLLABLE GBON;Lo;0;L;;;;;N;;;;; +A5C9;VAI SYLLABLE FO;Lo;0;L;;;;;N;;;;; +A5CA;VAI SYLLABLE VO;Lo;0;L;;;;;N;;;;; +A5CB;VAI SYLLABLE TO;Lo;0;L;;;;;N;;;;; +A5CC;VAI SYLLABLE THO;Lo;0;L;;;;;N;;;;; +A5CD;VAI SYLLABLE DHO;Lo;0;L;;;;;N;;;;; +A5CE;VAI SYLLABLE DHHO;Lo;0;L;;;;;N;;;;; +A5CF;VAI SYLLABLE LO;Lo;0;L;;;;;N;;;;; +A5D0;VAI SYLLABLE RO;Lo;0;L;;;;;N;;;;; +A5D1;VAI SYLLABLE DO;Lo;0;L;;;;;N;;;;; +A5D2;VAI SYLLABLE NDO;Lo;0;L;;;;;N;;;;; +A5D3;VAI SYLLABLE SO;Lo;0;L;;;;;N;;;;; +A5D4;VAI SYLLABLE SHO;Lo;0;L;;;;;N;;;;; +A5D5;VAI SYLLABLE ZO;Lo;0;L;;;;;N;;;;; +A5D6;VAI SYLLABLE ZHO;Lo;0;L;;;;;N;;;;; +A5D7;VAI SYLLABLE CO;Lo;0;L;;;;;N;;;;; +A5D8;VAI SYLLABLE JO;Lo;0;L;;;;;N;;;;; +A5D9;VAI SYLLABLE NJO;Lo;0;L;;;;;N;;;;; +A5DA;VAI SYLLABLE YO;Lo;0;L;;;;;N;;;;; +A5DB;VAI SYLLABLE KO;Lo;0;L;;;;;N;;;;; +A5DC;VAI SYLLABLE NGGO;Lo;0;L;;;;;N;;;;; +A5DD;VAI SYLLABLE GO;Lo;0;L;;;;;N;;;;; +A5DE;VAI SYLLABLE MO;Lo;0;L;;;;;N;;;;; +A5DF;VAI SYLLABLE NO;Lo;0;L;;;;;N;;;;; +A5E0;VAI SYLLABLE NYO;Lo;0;L;;;;;N;;;;; +A5E1;VAI SYLLABLE E;Lo;0;L;;;;;N;;;;; +A5E2;VAI SYLLABLE EN;Lo;0;L;;;;;N;;;;; +A5E3;VAI SYLLABLE NGEN;Lo;0;L;;;;;N;;;;; +A5E4;VAI SYLLABLE HE;Lo;0;L;;;;;N;;;;; +A5E5;VAI SYLLABLE HEN;Lo;0;L;;;;;N;;;;; +A5E6;VAI SYLLABLE WE;Lo;0;L;;;;;N;;;;; +A5E7;VAI SYLLABLE WEN;Lo;0;L;;;;;N;;;;; +A5E8;VAI SYLLABLE PE;Lo;0;L;;;;;N;;;;; +A5E9;VAI SYLLABLE BHE;Lo;0;L;;;;;N;;;;; +A5EA;VAI SYLLABLE BE;Lo;0;L;;;;;N;;;;; +A5EB;VAI SYLLABLE MBE;Lo;0;L;;;;;N;;;;; +A5EC;VAI SYLLABLE KPE;Lo;0;L;;;;;N;;;;; +A5ED;VAI SYLLABLE KPEN;Lo;0;L;;;;;N;;;;; +A5EE;VAI SYLLABLE MGBE;Lo;0;L;;;;;N;;;;; +A5EF;VAI SYLLABLE GBE;Lo;0;L;;;;;N;;;;; +A5F0;VAI SYLLABLE GBEN;Lo;0;L;;;;;N;;;;; +A5F1;VAI SYLLABLE FE;Lo;0;L;;;;;N;;;;; +A5F2;VAI SYLLABLE VE;Lo;0;L;;;;;N;;;;; +A5F3;VAI SYLLABLE TE;Lo;0;L;;;;;N;;;;; +A5F4;VAI SYLLABLE THE;Lo;0;L;;;;;N;;;;; +A5F5;VAI SYLLABLE DHE;Lo;0;L;;;;;N;;;;; +A5F6;VAI SYLLABLE DHHE;Lo;0;L;;;;;N;;;;; +A5F7;VAI SYLLABLE LE;Lo;0;L;;;;;N;;;;; +A5F8;VAI SYLLABLE RE;Lo;0;L;;;;;N;;;;; +A5F9;VAI SYLLABLE DE;Lo;0;L;;;;;N;;;;; +A5FA;VAI SYLLABLE NDE;Lo;0;L;;;;;N;;;;; +A5FB;VAI SYLLABLE SE;Lo;0;L;;;;;N;;;;; +A5FC;VAI SYLLABLE SHE;Lo;0;L;;;;;N;;;;; +A5FD;VAI SYLLABLE ZE;Lo;0;L;;;;;N;;;;; +A5FE;VAI SYLLABLE ZHE;Lo;0;L;;;;;N;;;;; +A5FF;VAI SYLLABLE CE;Lo;0;L;;;;;N;;;;; +A600;VAI SYLLABLE JE;Lo;0;L;;;;;N;;;;; +A601;VAI SYLLABLE NJE;Lo;0;L;;;;;N;;;;; +A602;VAI SYLLABLE YE;Lo;0;L;;;;;N;;;;; +A603;VAI SYLLABLE KE;Lo;0;L;;;;;N;;;;; +A604;VAI SYLLABLE NGGE;Lo;0;L;;;;;N;;;;; +A605;VAI SYLLABLE NGGEN;Lo;0;L;;;;;N;;;;; +A606;VAI SYLLABLE GE;Lo;0;L;;;;;N;;;;; +A607;VAI SYLLABLE GEN;Lo;0;L;;;;;N;;;;; +A608;VAI SYLLABLE ME;Lo;0;L;;;;;N;;;;; +A609;VAI SYLLABLE NE;Lo;0;L;;;;;N;;;;; +A60A;VAI SYLLABLE NYE;Lo;0;L;;;;;N;;;;; +A60B;VAI SYLLABLE NG;Lo;0;L;;;;;N;;;;; +A60C;VAI SYLLABLE LENGTHENER;Lm;0;L;;;;;N;;;;; +A60D;VAI COMMA;Po;0;ON;;;;;N;;;;; +A60E;VAI FULL STOP;Po;0;ON;;;;;N;;;;; +A60F;VAI QUESTION MARK;Po;0;ON;;;;;N;;;;; +A610;VAI SYLLABLE NDOLE FA;Lo;0;L;;;;;N;;;;; +A611;VAI SYLLABLE NDOLE KA;Lo;0;L;;;;;N;;;;; +A612;VAI SYLLABLE NDOLE SOO;Lo;0;L;;;;;N;;;;; +A613;VAI SYMBOL FEENG;Lo;0;L;;;;;N;;;;; +A614;VAI SYMBOL KEENG;Lo;0;L;;;;;N;;;;; +A615;VAI SYMBOL TING;Lo;0;L;;;;;N;;;;; +A616;VAI SYMBOL NII;Lo;0;L;;;;;N;;;;; +A617;VAI SYMBOL BANG;Lo;0;L;;;;;N;;;;; +A618;VAI SYMBOL FAA;Lo;0;L;;;;;N;;;;; +A619;VAI SYMBOL TAA;Lo;0;L;;;;;N;;;;; +A61A;VAI SYMBOL DANG;Lo;0;L;;;;;N;;;;; +A61B;VAI SYMBOL DOONG;Lo;0;L;;;;;N;;;;; +A61C;VAI SYMBOL KUNG;Lo;0;L;;;;;N;;;;; +A61D;VAI SYMBOL TONG;Lo;0;L;;;;;N;;;;; +A61E;VAI SYMBOL DO-O;Lo;0;L;;;;;N;;;;; +A61F;VAI SYMBOL JONG;Lo;0;L;;;;;N;;;;; +A620;VAI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A621;VAI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A622;VAI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A623;VAI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A624;VAI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A625;VAI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A626;VAI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A627;VAI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A628;VAI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A629;VAI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A62A;VAI SYLLABLE NDOLE MA;Lo;0;L;;;;;N;;;;; +A62B;VAI SYLLABLE NDOLE DO;Lo;0;L;;;;;N;;;;; +A640;CYRILLIC CAPITAL LETTER ZEMLYA;Lu;0;L;;;;;N;;;;A641; +A641;CYRILLIC SMALL LETTER ZEMLYA;Ll;0;L;;;;;N;;;A640;;A640 +A642;CYRILLIC CAPITAL LETTER DZELO;Lu;0;L;;;;;N;;;;A643; +A643;CYRILLIC SMALL LETTER DZELO;Ll;0;L;;;;;N;;;A642;;A642 +A644;CYRILLIC CAPITAL LETTER REVERSED DZE;Lu;0;L;;;;;N;;;;A645; +A645;CYRILLIC SMALL LETTER REVERSED DZE;Ll;0;L;;;;;N;;;A644;;A644 +A646;CYRILLIC CAPITAL LETTER IOTA;Lu;0;L;;;;;N;;;;A647; +A647;CYRILLIC SMALL LETTER IOTA;Ll;0;L;;;;;N;;;A646;;A646 +A648;CYRILLIC CAPITAL LETTER DJERV;Lu;0;L;;;;;N;;;;A649; +A649;CYRILLIC SMALL LETTER DJERV;Ll;0;L;;;;;N;;;A648;;A648 +A64A;CYRILLIC CAPITAL LETTER MONOGRAPH UK;Lu;0;L;;;;;N;;;;A64B; +A64B;CYRILLIC SMALL LETTER MONOGRAPH UK;Ll;0;L;;;;;N;;;A64A;;A64A +A64C;CYRILLIC CAPITAL LETTER BROAD OMEGA;Lu;0;L;;;;;N;;;;A64D; +A64D;CYRILLIC SMALL LETTER BROAD OMEGA;Ll;0;L;;;;;N;;;A64C;;A64C +A64E;CYRILLIC CAPITAL LETTER NEUTRAL YER;Lu;0;L;;;;;N;;;;A64F; +A64F;CYRILLIC SMALL LETTER NEUTRAL YER;Ll;0;L;;;;;N;;;A64E;;A64E +A650;CYRILLIC CAPITAL LETTER YERU WITH BACK YER;Lu;0;L;;;;;N;;;;A651; +A651;CYRILLIC SMALL LETTER YERU WITH BACK YER;Ll;0;L;;;;;N;;;A650;;A650 +A652;CYRILLIC CAPITAL LETTER IOTIFIED YAT;Lu;0;L;;;;;N;;;;A653; +A653;CYRILLIC SMALL LETTER IOTIFIED YAT;Ll;0;L;;;;;N;;;A652;;A652 +A654;CYRILLIC CAPITAL LETTER REVERSED YU;Lu;0;L;;;;;N;;;;A655; +A655;CYRILLIC SMALL LETTER REVERSED YU;Ll;0;L;;;;;N;;;A654;;A654 +A656;CYRILLIC CAPITAL LETTER IOTIFIED A;Lu;0;L;;;;;N;;;;A657; +A657;CYRILLIC SMALL LETTER IOTIFIED A;Ll;0;L;;;;;N;;;A656;;A656 +A658;CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A659; +A659;CYRILLIC SMALL LETTER CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A658;;A658 +A65A;CYRILLIC CAPITAL LETTER BLENDED YUS;Lu;0;L;;;;;N;;;;A65B; +A65B;CYRILLIC SMALL LETTER BLENDED YUS;Ll;0;L;;;;;N;;;A65A;;A65A +A65C;CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS;Lu;0;L;;;;;N;;;;A65D; +A65D;CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS;Ll;0;L;;;;;N;;;A65C;;A65C +A65E;CYRILLIC CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;A65F; +A65F;CYRILLIC SMALL LETTER YN;Ll;0;L;;;;;N;;;A65E;;A65E +A660;CYRILLIC CAPITAL LETTER REVERSED TSE;Lu;0;L;;;;;N;;;;A661; +A661;CYRILLIC SMALL LETTER REVERSED TSE;Ll;0;L;;;;;N;;;A660;;A660 +A662;CYRILLIC CAPITAL LETTER SOFT DE;Lu;0;L;;;;;N;;;;A663; +A663;CYRILLIC SMALL LETTER SOFT DE;Ll;0;L;;;;;N;;;A662;;A662 +A664;CYRILLIC CAPITAL LETTER SOFT EL;Lu;0;L;;;;;N;;;;A665; +A665;CYRILLIC SMALL LETTER SOFT EL;Ll;0;L;;;;;N;;;A664;;A664 +A666;CYRILLIC CAPITAL LETTER SOFT EM;Lu;0;L;;;;;N;;;;A667; +A667;CYRILLIC SMALL LETTER SOFT EM;Ll;0;L;;;;;N;;;A666;;A666 +A668;CYRILLIC CAPITAL LETTER MONOCULAR O;Lu;0;L;;;;;N;;;;A669; +A669;CYRILLIC SMALL LETTER MONOCULAR O;Ll;0;L;;;;;N;;;A668;;A668 +A66A;CYRILLIC CAPITAL LETTER BINOCULAR O;Lu;0;L;;;;;N;;;;A66B; +A66B;CYRILLIC SMALL LETTER BINOCULAR O;Ll;0;L;;;;;N;;;A66A;;A66A +A66C;CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O;Lu;0;L;;;;;N;;;;A66D; +A66D;CYRILLIC SMALL LETTER DOUBLE MONOCULAR O;Ll;0;L;;;;;N;;;A66C;;A66C +A66E;CYRILLIC LETTER MULTIOCULAR O;Lo;0;L;;;;;N;;;;; +A66F;COMBINING CYRILLIC VZMET;Mn;230;NSM;;;;;N;;;;; +A670;COMBINING CYRILLIC TEN MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;; +A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;; +A674;COMBINING CYRILLIC LETTER UKRAINIAN IE;Mn;230;NSM;;;;;N;;;;; +A675;COMBINING CYRILLIC LETTER I;Mn;230;NSM;;;;;N;;;;; +A676;COMBINING CYRILLIC LETTER YI;Mn;230;NSM;;;;;N;;;;; +A677;COMBINING CYRILLIC LETTER U;Mn;230;NSM;;;;;N;;;;; +A678;COMBINING CYRILLIC LETTER HARD SIGN;Mn;230;NSM;;;;;N;;;;; +A679;COMBINING CYRILLIC LETTER YERU;Mn;230;NSM;;;;;N;;;;; +A67A;COMBINING CYRILLIC LETTER SOFT SIGN;Mn;230;NSM;;;;;N;;;;; +A67B;COMBINING CYRILLIC LETTER OMEGA;Mn;230;NSM;;;;;N;;;;; +A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;; +A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;; +A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;; +A67F;CYRILLIC PAYEROK;Lm;0;ON;;;;;N;;;;; +A680;CYRILLIC CAPITAL LETTER DWE;Lu;0;L;;;;;N;;;;A681; +A681;CYRILLIC SMALL LETTER DWE;Ll;0;L;;;;;N;;;A680;;A680 +A682;CYRILLIC CAPITAL LETTER DZWE;Lu;0;L;;;;;N;;;;A683; +A683;CYRILLIC SMALL LETTER DZWE;Ll;0;L;;;;;N;;;A682;;A682 +A684;CYRILLIC CAPITAL LETTER ZHWE;Lu;0;L;;;;;N;;;;A685; +A685;CYRILLIC SMALL LETTER ZHWE;Ll;0;L;;;;;N;;;A684;;A684 +A686;CYRILLIC CAPITAL LETTER CCHE;Lu;0;L;;;;;N;;;;A687; +A687;CYRILLIC SMALL LETTER CCHE;Ll;0;L;;;;;N;;;A686;;A686 +A688;CYRILLIC CAPITAL LETTER DZZE;Lu;0;L;;;;;N;;;;A689; +A689;CYRILLIC SMALL LETTER DZZE;Ll;0;L;;;;;N;;;A688;;A688 +A68A;CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK;Lu;0;L;;;;;N;;;;A68B; +A68B;CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK;Ll;0;L;;;;;N;;;A68A;;A68A +A68C;CYRILLIC CAPITAL LETTER TWE;Lu;0;L;;;;;N;;;;A68D; +A68D;CYRILLIC SMALL LETTER TWE;Ll;0;L;;;;;N;;;A68C;;A68C +A68E;CYRILLIC CAPITAL LETTER TSWE;Lu;0;L;;;;;N;;;;A68F; +A68F;CYRILLIC SMALL LETTER TSWE;Ll;0;L;;;;;N;;;A68E;;A68E +A690;CYRILLIC CAPITAL LETTER TSSE;Lu;0;L;;;;;N;;;;A691; +A691;CYRILLIC SMALL LETTER TSSE;Ll;0;L;;;;;N;;;A690;;A690 +A692;CYRILLIC CAPITAL LETTER TCHE;Lu;0;L;;;;;N;;;;A693; +A693;CYRILLIC SMALL LETTER TCHE;Ll;0;L;;;;;N;;;A692;;A692 +A694;CYRILLIC CAPITAL LETTER HWE;Lu;0;L;;;;;N;;;;A695; +A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694 +A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697; +A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696 +A698;CYRILLIC CAPITAL LETTER DOUBLE O;Lu;0;L;;;;;N;;;;A699; +A699;CYRILLIC SMALL LETTER DOUBLE O;Ll;0;L;;;;;N;;;A698;;A698 +A69A;CYRILLIC CAPITAL LETTER CROSSED O;Lu;0;L;;;;;N;;;;A69B; +A69B;CYRILLIC SMALL LETTER CROSSED O;Ll;0;L;;;;;N;;;A69A;;A69A +A69C;MODIFIER LETTER CYRILLIC HARD SIGN;Lm;0;L; 044A;;;;N;;;;; +A69D;MODIFIER LETTER CYRILLIC SOFT SIGN;Lm;0;L; 044C;;;;N;;;;; +A69E;COMBINING CYRILLIC LETTER EF;Mn;230;NSM;;;;;N;;;;; +A69F;COMBINING CYRILLIC LETTER IOTIFIED E;Mn;230;NSM;;;;;N;;;;; +A6A0;BAMUM LETTER A;Lo;0;L;;;;;N;;;;; +A6A1;BAMUM LETTER KA;Lo;0;L;;;;;N;;;;; +A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;; +A6A3;BAMUM LETTER KU;Lo;0;L;;;;;N;;;;; +A6A4;BAMUM LETTER EE;Lo;0;L;;;;;N;;;;; +A6A5;BAMUM LETTER REE;Lo;0;L;;;;;N;;;;; +A6A6;BAMUM LETTER TAE;Lo;0;L;;;;;N;;;;; +A6A7;BAMUM LETTER O;Lo;0;L;;;;;N;;;;; +A6A8;BAMUM LETTER NYI;Lo;0;L;;;;;N;;;;; +A6A9;BAMUM LETTER I;Lo;0;L;;;;;N;;;;; +A6AA;BAMUM LETTER LA;Lo;0;L;;;;;N;;;;; +A6AB;BAMUM LETTER PA;Lo;0;L;;;;;N;;;;; +A6AC;BAMUM LETTER RII;Lo;0;L;;;;;N;;;;; +A6AD;BAMUM LETTER RIEE;Lo;0;L;;;;;N;;;;; +A6AE;BAMUM LETTER LEEEE;Lo;0;L;;;;;N;;;;; +A6AF;BAMUM LETTER MEEEE;Lo;0;L;;;;;N;;;;; +A6B0;BAMUM LETTER TAA;Lo;0;L;;;;;N;;;;; +A6B1;BAMUM LETTER NDAA;Lo;0;L;;;;;N;;;;; +A6B2;BAMUM LETTER NJAEM;Lo;0;L;;;;;N;;;;; +A6B3;BAMUM LETTER M;Lo;0;L;;;;;N;;;;; +A6B4;BAMUM LETTER SUU;Lo;0;L;;;;;N;;;;; +A6B5;BAMUM LETTER MU;Lo;0;L;;;;;N;;;;; +A6B6;BAMUM LETTER SHII;Lo;0;L;;;;;N;;;;; +A6B7;BAMUM LETTER SI;Lo;0;L;;;;;N;;;;; +A6B8;BAMUM LETTER SHEUX;Lo;0;L;;;;;N;;;;; +A6B9;BAMUM LETTER SEUX;Lo;0;L;;;;;N;;;;; +A6BA;BAMUM LETTER KYEE;Lo;0;L;;;;;N;;;;; +A6BB;BAMUM LETTER KET;Lo;0;L;;;;;N;;;;; +A6BC;BAMUM LETTER NUAE;Lo;0;L;;;;;N;;;;; +A6BD;BAMUM LETTER NU;Lo;0;L;;;;;N;;;;; +A6BE;BAMUM LETTER NJUAE;Lo;0;L;;;;;N;;;;; +A6BF;BAMUM LETTER YOQ;Lo;0;L;;;;;N;;;;; +A6C0;BAMUM LETTER SHU;Lo;0;L;;;;;N;;;;; +A6C1;BAMUM LETTER YUQ;Lo;0;L;;;;;N;;;;; +A6C2;BAMUM LETTER YA;Lo;0;L;;;;;N;;;;; +A6C3;BAMUM LETTER NSHA;Lo;0;L;;;;;N;;;;; +A6C4;BAMUM LETTER KEUX;Lo;0;L;;;;;N;;;;; +A6C5;BAMUM LETTER PEUX;Lo;0;L;;;;;N;;;;; +A6C6;BAMUM LETTER NJEE;Lo;0;L;;;;;N;;;;; +A6C7;BAMUM LETTER NTEE;Lo;0;L;;;;;N;;;;; +A6C8;BAMUM LETTER PUE;Lo;0;L;;;;;N;;;;; +A6C9;BAMUM LETTER WUE;Lo;0;L;;;;;N;;;;; +A6CA;BAMUM LETTER PEE;Lo;0;L;;;;;N;;;;; +A6CB;BAMUM LETTER FEE;Lo;0;L;;;;;N;;;;; +A6CC;BAMUM LETTER RU;Lo;0;L;;;;;N;;;;; +A6CD;BAMUM LETTER LU;Lo;0;L;;;;;N;;;;; +A6CE;BAMUM LETTER MI;Lo;0;L;;;;;N;;;;; +A6CF;BAMUM LETTER NI;Lo;0;L;;;;;N;;;;; +A6D0;BAMUM LETTER REUX;Lo;0;L;;;;;N;;;;; +A6D1;BAMUM LETTER RAE;Lo;0;L;;;;;N;;;;; +A6D2;BAMUM LETTER KEN;Lo;0;L;;;;;N;;;;; +A6D3;BAMUM LETTER NGKWAEN;Lo;0;L;;;;;N;;;;; +A6D4;BAMUM LETTER NGGA;Lo;0;L;;;;;N;;;;; +A6D5;BAMUM LETTER NGA;Lo;0;L;;;;;N;;;;; +A6D6;BAMUM LETTER SHO;Lo;0;L;;;;;N;;;;; +A6D7;BAMUM LETTER PUAE;Lo;0;L;;;;;N;;;;; +A6D8;BAMUM LETTER FU;Lo;0;L;;;;;N;;;;; +A6D9;BAMUM LETTER FOM;Lo;0;L;;;;;N;;;;; +A6DA;BAMUM LETTER WA;Lo;0;L;;;;;N;;;;; +A6DB;BAMUM LETTER NA;Lo;0;L;;;;;N;;;;; +A6DC;BAMUM LETTER LI;Lo;0;L;;;;;N;;;;; +A6DD;BAMUM LETTER PI;Lo;0;L;;;;;N;;;;; +A6DE;BAMUM LETTER LOQ;Lo;0;L;;;;;N;;;;; +A6DF;BAMUM LETTER KO;Lo;0;L;;;;;N;;;;; +A6E0;BAMUM LETTER MBEN;Lo;0;L;;;;;N;;;;; +A6E1;BAMUM LETTER REN;Lo;0;L;;;;;N;;;;; +A6E2;BAMUM LETTER MEN;Lo;0;L;;;;;N;;;;; +A6E3;BAMUM LETTER MA;Lo;0;L;;;;;N;;;;; +A6E4;BAMUM LETTER TI;Lo;0;L;;;;;N;;;;; +A6E5;BAMUM LETTER KI;Lo;0;L;;;;;N;;;;; +A6E6;BAMUM LETTER MO;Nl;0;L;;;;1;N;;;;; +A6E7;BAMUM LETTER MBAA;Nl;0;L;;;;2;N;;;;; +A6E8;BAMUM LETTER TET;Nl;0;L;;;;3;N;;;;; +A6E9;BAMUM LETTER KPA;Nl;0;L;;;;4;N;;;;; +A6EA;BAMUM LETTER TEN;Nl;0;L;;;;5;N;;;;; +A6EB;BAMUM LETTER NTUU;Nl;0;L;;;;6;N;;;;; +A6EC;BAMUM LETTER SAMBA;Nl;0;L;;;;7;N;;;;; +A6ED;BAMUM LETTER FAAMAE;Nl;0;L;;;;8;N;;;;; +A6EE;BAMUM LETTER KOVUU;Nl;0;L;;;;9;N;;;;; +A6EF;BAMUM LETTER KOGHOM;Nl;0;L;;;;0;N;;;;; +A6F0;BAMUM COMBINING MARK KOQNDON;Mn;230;NSM;;;;;N;;;;; +A6F1;BAMUM COMBINING MARK TUKWENTIS;Mn;230;NSM;;;;;N;;;;; +A6F2;BAMUM NJAEMLI;Po;0;L;;;;;N;;;;; +A6F3;BAMUM FULL STOP;Po;0;L;;;;;N;;;;; +A6F4;BAMUM COLON;Po;0;L;;;;;N;;;;; +A6F5;BAMUM COMMA;Po;0;L;;;;;N;;;;; +A6F6;BAMUM SEMICOLON;Po;0;L;;;;;N;;;;; +A6F7;BAMUM QUESTION MARK;Po;0;L;;;;;N;;;;; +A700;MODIFIER LETTER CHINESE TONE YIN PING;Sk;0;ON;;;;;N;;;;; +A701;MODIFIER LETTER CHINESE TONE YANG PING;Sk;0;ON;;;;;N;;;;; +A702;MODIFIER LETTER CHINESE TONE YIN SHANG;Sk;0;ON;;;;;N;;;;; +A703;MODIFIER LETTER CHINESE TONE YANG SHANG;Sk;0;ON;;;;;N;;;;; +A704;MODIFIER LETTER CHINESE TONE YIN QU;Sk;0;ON;;;;;N;;;;; +A705;MODIFIER LETTER CHINESE TONE YANG QU;Sk;0;ON;;;;;N;;;;; +A706;MODIFIER LETTER CHINESE TONE YIN RU;Sk;0;ON;;;;;N;;;;; +A707;MODIFIER LETTER CHINESE TONE YANG RU;Sk;0;ON;;;;;N;;;;; +A708;MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A709;MODIFIER LETTER HIGH DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70A;MODIFIER LETTER MID DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70B;MODIFIER LETTER LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70C;MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR;Sk;0;ON;;;;;N;;;;; +A70D;MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A70E;MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A70F;MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A710;MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A711;MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A712;MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A713;MODIFIER LETTER HIGH LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A714;MODIFIER LETTER MID LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A715;MODIFIER LETTER LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A716;MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR;Sk;0;ON;;;;;N;;;;; +A717;MODIFIER LETTER DOT VERTICAL BAR;Lm;0;ON;;;;;N;;;;; +A718;MODIFIER LETTER DOT SLASH;Lm;0;ON;;;;;N;;;;; +A719;MODIFIER LETTER DOT HORIZONTAL BAR;Lm;0;ON;;;;;N;;;;; +A71A;MODIFIER LETTER LOWER RIGHT CORNER ANGLE;Lm;0;ON;;;;;N;;;;; +A71B;MODIFIER LETTER RAISED UP ARROW;Lm;0;ON;;;;;N;;;;; +A71C;MODIFIER LETTER RAISED DOWN ARROW;Lm;0;ON;;;;;N;;;;; +A71D;MODIFIER LETTER RAISED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A71E;MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A71F;MODIFIER LETTER LOW INVERTED EXCLAMATION MARK;Lm;0;ON;;;;;N;;;;; +A720;MODIFIER LETTER STRESS AND HIGH TONE;Sk;0;ON;;;;;N;;;;; +A721;MODIFIER LETTER STRESS AND LOW TONE;Sk;0;ON;;;;;N;;;;; +A722;LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF;Lu;0;L;;;;;N;;;;A723; +A723;LATIN SMALL LETTER EGYPTOLOGICAL ALEF;Ll;0;L;;;;;N;;;A722;;A722 +A724;LATIN CAPITAL LETTER EGYPTOLOGICAL AIN;Lu;0;L;;;;;N;;;;A725; +A725;LATIN SMALL LETTER EGYPTOLOGICAL AIN;Ll;0;L;;;;;N;;;A724;;A724 +A726;LATIN CAPITAL LETTER HENG;Lu;0;L;;;;;N;;;;A727; +A727;LATIN SMALL LETTER HENG;Ll;0;L;;;;;N;;;A726;;A726 +A728;LATIN CAPITAL LETTER TZ;Lu;0;L;;;;;N;;;;A729; +A729;LATIN SMALL LETTER TZ;Ll;0;L;;;;;N;;;A728;;A728 +A72A;LATIN CAPITAL LETTER TRESILLO;Lu;0;L;;;;;N;;;;A72B; +A72B;LATIN SMALL LETTER TRESILLO;Ll;0;L;;;;;N;;;A72A;;A72A +A72C;LATIN CAPITAL LETTER CUATRILLO;Lu;0;L;;;;;N;;;;A72D; +A72D;LATIN SMALL LETTER CUATRILLO;Ll;0;L;;;;;N;;;A72C;;A72C +A72E;LATIN CAPITAL LETTER CUATRILLO WITH COMMA;Lu;0;L;;;;;N;;;;A72F; +A72F;LATIN SMALL LETTER CUATRILLO WITH COMMA;Ll;0;L;;;;;N;;;A72E;;A72E +A730;LATIN LETTER SMALL CAPITAL F;Ll;0;L;;;;;N;;;;; +A731;LATIN LETTER SMALL CAPITAL S;Ll;0;L;;;;;N;;;;; +A732;LATIN CAPITAL LETTER AA;Lu;0;L;;;;;N;;;;A733; +A733;LATIN SMALL LETTER AA;Ll;0;L;;;;;N;;;A732;;A732 +A734;LATIN CAPITAL LETTER AO;Lu;0;L;;;;;N;;;;A735; +A735;LATIN SMALL LETTER AO;Ll;0;L;;;;;N;;;A734;;A734 +A736;LATIN CAPITAL LETTER AU;Lu;0;L;;;;;N;;;;A737; +A737;LATIN SMALL LETTER AU;Ll;0;L;;;;;N;;;A736;;A736 +A738;LATIN CAPITAL LETTER AV;Lu;0;L;;;;;N;;;;A739; +A739;LATIN SMALL LETTER AV;Ll;0;L;;;;;N;;;A738;;A738 +A73A;LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR;Lu;0;L;;;;;N;;;;A73B; +A73B;LATIN SMALL LETTER AV WITH HORIZONTAL BAR;Ll;0;L;;;;;N;;;A73A;;A73A +A73C;LATIN CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;A73D; +A73D;LATIN SMALL LETTER AY;Ll;0;L;;;;;N;;;A73C;;A73C +A73E;LATIN CAPITAL LETTER REVERSED C WITH DOT;Lu;0;L;;;;;N;;;;A73F; +A73F;LATIN SMALL LETTER REVERSED C WITH DOT;Ll;0;L;;;;;N;;;A73E;;A73E +A740;LATIN CAPITAL LETTER K WITH STROKE;Lu;0;L;;;;;N;;;;A741; +A741;LATIN SMALL LETTER K WITH STROKE;Ll;0;L;;;;;N;;;A740;;A740 +A742;LATIN CAPITAL LETTER K WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A743; +A743;LATIN SMALL LETTER K WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A742;;A742 +A744;LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A745; +A745;LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE;Ll;0;L;;;;;N;;;A744;;A744 +A746;LATIN CAPITAL LETTER BROKEN L;Lu;0;L;;;;;N;;;;A747; +A747;LATIN SMALL LETTER BROKEN L;Ll;0;L;;;;;N;;;A746;;A746 +A748;LATIN CAPITAL LETTER L WITH HIGH STROKE;Lu;0;L;;;;;N;;;;A749; +A749;LATIN SMALL LETTER L WITH HIGH STROKE;Ll;0;L;;;;;N;;;A748;;A748 +A74A;LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY;Lu;0;L;;;;;N;;;;A74B; +A74B;LATIN SMALL LETTER O WITH LONG STROKE OVERLAY;Ll;0;L;;;;;N;;;A74A;;A74A +A74C;LATIN CAPITAL LETTER O WITH LOOP;Lu;0;L;;;;;N;;;;A74D; +A74D;LATIN SMALL LETTER O WITH LOOP;Ll;0;L;;;;;N;;;A74C;;A74C +A74E;LATIN CAPITAL LETTER OO;Lu;0;L;;;;;N;;;;A74F; +A74F;LATIN SMALL LETTER OO;Ll;0;L;;;;;N;;;A74E;;A74E +A750;LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A751; +A751;LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A750;;A750 +A752;LATIN CAPITAL LETTER P WITH FLOURISH;Lu;0;L;;;;;N;;;;A753; +A753;LATIN SMALL LETTER P WITH FLOURISH;Ll;0;L;;;;;N;;;A752;;A752 +A754;LATIN CAPITAL LETTER P WITH SQUIRREL TAIL;Lu;0;L;;;;;N;;;;A755; +A755;LATIN SMALL LETTER P WITH SQUIRREL TAIL;Ll;0;L;;;;;N;;;A754;;A754 +A756;LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A757; +A757;LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A756;;A756 +A758;LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A759; +A759;LATIN SMALL LETTER Q WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A758;;A758 +A75A;LATIN CAPITAL LETTER R ROTUNDA;Lu;0;L;;;;;N;;;;A75B; +A75B;LATIN SMALL LETTER R ROTUNDA;Ll;0;L;;;;;N;;;A75A;;A75A +A75C;LATIN CAPITAL LETTER RUM ROTUNDA;Lu;0;L;;;;;N;;;;A75D; +A75D;LATIN SMALL LETTER RUM ROTUNDA;Ll;0;L;;;;;N;;;A75C;;A75C +A75E;LATIN CAPITAL LETTER V WITH DIAGONAL STROKE;Lu;0;L;;;;;N;;;;A75F; +A75F;LATIN SMALL LETTER V WITH DIAGONAL STROKE;Ll;0;L;;;;;N;;;A75E;;A75E +A760;LATIN CAPITAL LETTER VY;Lu;0;L;;;;;N;;;;A761; +A761;LATIN SMALL LETTER VY;Ll;0;L;;;;;N;;;A760;;A760 +A762;LATIN CAPITAL LETTER VISIGOTHIC Z;Lu;0;L;;;;;N;;;;A763; +A763;LATIN SMALL LETTER VISIGOTHIC Z;Ll;0;L;;;;;N;;;A762;;A762 +A764;LATIN CAPITAL LETTER THORN WITH STROKE;Lu;0;L;;;;;N;;;;A765; +A765;LATIN SMALL LETTER THORN WITH STROKE;Ll;0;L;;;;;N;;;A764;;A764 +A766;LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER;Lu;0;L;;;;;N;;;;A767; +A767;LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER;Ll;0;L;;;;;N;;;A766;;A766 +A768;LATIN CAPITAL LETTER VEND;Lu;0;L;;;;;N;;;;A769; +A769;LATIN SMALL LETTER VEND;Ll;0;L;;;;;N;;;A768;;A768 +A76A;LATIN CAPITAL LETTER ET;Lu;0;L;;;;;N;;;;A76B; +A76B;LATIN SMALL LETTER ET;Ll;0;L;;;;;N;;;A76A;;A76A +A76C;LATIN CAPITAL LETTER IS;Lu;0;L;;;;;N;;;;A76D; +A76D;LATIN SMALL LETTER IS;Ll;0;L;;;;;N;;;A76C;;A76C +A76E;LATIN CAPITAL LETTER CON;Lu;0;L;;;;;N;;;;A76F; +A76F;LATIN SMALL LETTER CON;Ll;0;L;;;;;N;;;A76E;;A76E +A770;MODIFIER LETTER US;Lm;0;L; A76F;;;;N;;;;; +A771;LATIN SMALL LETTER DUM;Ll;0;L;;;;;N;;;;; +A772;LATIN SMALL LETTER LUM;Ll;0;L;;;;;N;;;;; +A773;LATIN SMALL LETTER MUM;Ll;0;L;;;;;N;;;;; +A774;LATIN SMALL LETTER NUM;Ll;0;L;;;;;N;;;;; +A775;LATIN SMALL LETTER RUM;Ll;0;L;;;;;N;;;;; +A776;LATIN LETTER SMALL CAPITAL RUM;Ll;0;L;;;;;N;;;;; +A777;LATIN SMALL LETTER TUM;Ll;0;L;;;;;N;;;;; +A778;LATIN SMALL LETTER UM;Ll;0;L;;;;;N;;;;; +A779;LATIN CAPITAL LETTER INSULAR D;Lu;0;L;;;;;N;;;;A77A; +A77A;LATIN SMALL LETTER INSULAR D;Ll;0;L;;;;;N;;;A779;;A779 +A77B;LATIN CAPITAL LETTER INSULAR F;Lu;0;L;;;;;N;;;;A77C; +A77C;LATIN SMALL LETTER INSULAR F;Ll;0;L;;;;;N;;;A77B;;A77B +A77D;LATIN CAPITAL LETTER INSULAR G;Lu;0;L;;;;;N;;;;1D79; +A77E;LATIN CAPITAL LETTER TURNED INSULAR G;Lu;0;L;;;;;N;;;;A77F; +A77F;LATIN SMALL LETTER TURNED INSULAR G;Ll;0;L;;;;;N;;;A77E;;A77E +A780;LATIN CAPITAL LETTER TURNED L;Lu;0;L;;;;;N;;;;A781; +A781;LATIN SMALL LETTER TURNED L;Ll;0;L;;;;;N;;;A780;;A780 +A782;LATIN CAPITAL LETTER INSULAR R;Lu;0;L;;;;;N;;;;A783; +A783;LATIN SMALL LETTER INSULAR R;Ll;0;L;;;;;N;;;A782;;A782 +A784;LATIN CAPITAL LETTER INSULAR S;Lu;0;L;;;;;N;;;;A785; +A785;LATIN SMALL LETTER INSULAR S;Ll;0;L;;;;;N;;;A784;;A784 +A786;LATIN CAPITAL LETTER INSULAR T;Lu;0;L;;;;;N;;;;A787; +A787;LATIN SMALL LETTER INSULAR T;Ll;0;L;;;;;N;;;A786;;A786 +A788;MODIFIER LETTER LOW CIRCUMFLEX ACCENT;Lm;0;ON;;;;;N;;;;; +A789;MODIFIER LETTER COLON;Sk;0;L;;;;;N;;;;; +A78A;MODIFIER LETTER SHORT EQUALS SIGN;Sk;0;L;;;;;N;;;;; +A78B;LATIN CAPITAL LETTER SALTILLO;Lu;0;L;;;;;N;;;;A78C; +A78C;LATIN SMALL LETTER SALTILLO;Ll;0;L;;;;;N;;;A78B;;A78B +A78D;LATIN CAPITAL LETTER TURNED H;Lu;0;L;;;;;N;;;;0265; +A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;0;L;;;;;N;;;;; +A78F;LATIN LETTER SINOLOGICAL DOT;Lo;0;L;;;;;N;;;;; +A790;LATIN CAPITAL LETTER N WITH DESCENDER;Lu;0;L;;;;;N;;;;A791; +A791;LATIN SMALL LETTER N WITH DESCENDER;Ll;0;L;;;;;N;;;A790;;A790 +A792;LATIN CAPITAL LETTER C WITH BAR;Lu;0;L;;;;;N;;;;A793; +A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792 +A794;LATIN SMALL LETTER C WITH PALATAL HOOK;Ll;0;L;;;;;N;;;A7C4;;A7C4 +A795;LATIN SMALL LETTER H WITH PALATAL HOOK;Ll;0;L;;;;;N;;;;; +A796;LATIN CAPITAL LETTER B WITH FLOURISH;Lu;0;L;;;;;N;;;;A797; +A797;LATIN SMALL LETTER B WITH FLOURISH;Ll;0;L;;;;;N;;;A796;;A796 +A798;LATIN CAPITAL LETTER F WITH STROKE;Lu;0;L;;;;;N;;;;A799; +A799;LATIN SMALL LETTER F WITH STROKE;Ll;0;L;;;;;N;;;A798;;A798 +A79A;LATIN CAPITAL LETTER VOLAPUK AE;Lu;0;L;;;;;N;;;;A79B; +A79B;LATIN SMALL LETTER VOLAPUK AE;Ll;0;L;;;;;N;;;A79A;;A79A +A79C;LATIN CAPITAL LETTER VOLAPUK OE;Lu;0;L;;;;;N;;;;A79D; +A79D;LATIN SMALL LETTER VOLAPUK OE;Ll;0;L;;;;;N;;;A79C;;A79C +A79E;LATIN CAPITAL LETTER VOLAPUK UE;Lu;0;L;;;;;N;;;;A79F; +A79F;LATIN SMALL LETTER VOLAPUK UE;Ll;0;L;;;;;N;;;A79E;;A79E +A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1; +A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0 +A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3; +A7A3;LATIN SMALL LETTER K WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A2;;A7A2 +A7A4;LATIN CAPITAL LETTER N WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A5; +A7A5;LATIN SMALL LETTER N WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A4;;A7A4 +A7A6;LATIN CAPITAL LETTER R WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A7; +A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6 +A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9; +A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8 +A7AA;LATIN CAPITAL LETTER H WITH HOOK;Lu;0;L;;;;;N;;;;0266; +A7AB;LATIN CAPITAL LETTER REVERSED OPEN E;Lu;0;L;;;;;N;;;;025C; +A7AC;LATIN CAPITAL LETTER SCRIPT G;Lu;0;L;;;;;N;;;;0261; +A7AD;LATIN CAPITAL LETTER L WITH BELT;Lu;0;L;;;;;N;;;;026C; +A7AE;LATIN CAPITAL LETTER SMALL CAPITAL I;Lu;0;L;;;;;N;;;;026A; +A7AF;LATIN LETTER SMALL CAPITAL Q;Ll;0;L;;;;;N;;;;; +A7B0;LATIN CAPITAL LETTER TURNED K;Lu;0;L;;;;;N;;;;029E; +A7B1;LATIN CAPITAL LETTER TURNED T;Lu;0;L;;;;;N;;;;0287; +A7B2;LATIN CAPITAL LETTER J WITH CROSSED-TAIL;Lu;0;L;;;;;N;;;;029D; +A7B3;LATIN CAPITAL LETTER CHI;Lu;0;L;;;;;N;;;;AB53; +A7B4;LATIN CAPITAL LETTER BETA;Lu;0;L;;;;;N;;;;A7B5; +A7B5;LATIN SMALL LETTER BETA;Ll;0;L;;;;;N;;;A7B4;;A7B4 +A7B6;LATIN CAPITAL LETTER OMEGA;Lu;0;L;;;;;N;;;;A7B7; +A7B7;LATIN SMALL LETTER OMEGA;Ll;0;L;;;;;N;;;A7B6;;A7B6 +A7B8;LATIN CAPITAL LETTER U WITH STROKE;Lu;0;L;;;;;N;;;;A7B9; +A7B9;LATIN SMALL LETTER U WITH STROKE;Ll;0;L;;;;;N;;;A7B8;;A7B8 +A7BA;LATIN CAPITAL LETTER GLOTTAL A;Lu;0;L;;;;;N;;;;A7BB; +A7BB;LATIN SMALL LETTER GLOTTAL A;Ll;0;L;;;;;N;;;A7BA;;A7BA +A7BC;LATIN CAPITAL LETTER GLOTTAL I;Lu;0;L;;;;;N;;;;A7BD; +A7BD;LATIN SMALL LETTER GLOTTAL I;Ll;0;L;;;;;N;;;A7BC;;A7BC +A7BE;LATIN CAPITAL LETTER GLOTTAL U;Lu;0;L;;;;;N;;;;A7BF; +A7BF;LATIN SMALL LETTER GLOTTAL U;Ll;0;L;;;;;N;;;A7BE;;A7BE +A7C2;LATIN CAPITAL LETTER ANGLICANA W;Lu;0;L;;;;;N;;;;A7C3; +A7C3;LATIN SMALL LETTER ANGLICANA W;Ll;0;L;;;;;N;;;A7C2;;A7C2 +A7C4;LATIN CAPITAL LETTER C WITH PALATAL HOOK;Lu;0;L;;;;;N;;;;A794; +A7C5;LATIN CAPITAL LETTER S WITH HOOK;Lu;0;L;;;;;N;;;;0282; +A7C6;LATIN CAPITAL LETTER Z WITH PALATAL HOOK;Lu;0;L;;;;;N;;;;1D8E; +A7C7;LATIN CAPITAL LETTER D WITH SHORT STROKE OVERLAY;Lu;0;L;;;;;N;;;;A7C8; +A7C8;LATIN SMALL LETTER D WITH SHORT STROKE OVERLAY;Ll;0;L;;;;;N;;;A7C7;;A7C7 +A7C9;LATIN CAPITAL LETTER S WITH SHORT STROKE OVERLAY;Lu;0;L;;;;;N;;;;A7CA; +A7CA;LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY;Ll;0;L;;;;;N;;;A7C9;;A7C9 +A7F5;LATIN CAPITAL LETTER REVERSED HALF H;Lu;0;L;;;;;N;;;;A7F6; +A7F6;LATIN SMALL LETTER REVERSED HALF H;Ll;0;L;;;;;N;;;A7F5;;A7F5 +A7F7;LATIN EPIGRAPHIC LETTER SIDEWAYS I;Lo;0;L;;;;;N;;;;; +A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L; 0126;;;;N;;;;; +A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L; 0153;;;;N;;;;; +A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;; +A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;; +A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;; +A7FD;LATIN EPIGRAPHIC LETTER INVERTED M;Lo;0;L;;;;;N;;;;; +A7FE;LATIN EPIGRAPHIC LETTER I LONGA;Lo;0;L;;;;;N;;;;; +A7FF;LATIN EPIGRAPHIC LETTER ARCHAIC M;Lo;0;L;;;;;N;;;;; +A800;SYLOTI NAGRI LETTER A;Lo;0;L;;;;;N;;;;; +A801;SYLOTI NAGRI LETTER I;Lo;0;L;;;;;N;;;;; +A802;SYLOTI NAGRI SIGN DVISVARA;Mn;0;NSM;;;;;N;;;;; +A803;SYLOTI NAGRI LETTER U;Lo;0;L;;;;;N;;;;; +A804;SYLOTI NAGRI LETTER E;Lo;0;L;;;;;N;;;;; +A805;SYLOTI NAGRI LETTER O;Lo;0;L;;;;;N;;;;; +A806;SYLOTI NAGRI SIGN HASANTA;Mn;9;NSM;;;;;N;;;;; +A807;SYLOTI NAGRI LETTER KO;Lo;0;L;;;;;N;;;;; +A808;SYLOTI NAGRI LETTER KHO;Lo;0;L;;;;;N;;;;; +A809;SYLOTI NAGRI LETTER GO;Lo;0;L;;;;;N;;;;; +A80A;SYLOTI NAGRI LETTER GHO;Lo;0;L;;;;;N;;;;; +A80B;SYLOTI NAGRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +A80C;SYLOTI NAGRI LETTER CO;Lo;0;L;;;;;N;;;;; +A80D;SYLOTI NAGRI LETTER CHO;Lo;0;L;;;;;N;;;;; +A80E;SYLOTI NAGRI LETTER JO;Lo;0;L;;;;;N;;;;; +A80F;SYLOTI NAGRI LETTER JHO;Lo;0;L;;;;;N;;;;; +A810;SYLOTI NAGRI LETTER TTO;Lo;0;L;;;;;N;;;;; +A811;SYLOTI NAGRI LETTER TTHO;Lo;0;L;;;;;N;;;;; +A812;SYLOTI NAGRI LETTER DDO;Lo;0;L;;;;;N;;;;; +A813;SYLOTI NAGRI LETTER DDHO;Lo;0;L;;;;;N;;;;; +A814;SYLOTI NAGRI LETTER TO;Lo;0;L;;;;;N;;;;; +A815;SYLOTI NAGRI LETTER THO;Lo;0;L;;;;;N;;;;; +A816;SYLOTI NAGRI LETTER DO;Lo;0;L;;;;;N;;;;; +A817;SYLOTI NAGRI LETTER DHO;Lo;0;L;;;;;N;;;;; +A818;SYLOTI NAGRI LETTER NO;Lo;0;L;;;;;N;;;;; +A819;SYLOTI NAGRI LETTER PO;Lo;0;L;;;;;N;;;;; +A81A;SYLOTI NAGRI LETTER PHO;Lo;0;L;;;;;N;;;;; +A81B;SYLOTI NAGRI LETTER BO;Lo;0;L;;;;;N;;;;; +A81C;SYLOTI NAGRI LETTER BHO;Lo;0;L;;;;;N;;;;; +A81D;SYLOTI NAGRI LETTER MO;Lo;0;L;;;;;N;;;;; +A81E;SYLOTI NAGRI LETTER RO;Lo;0;L;;;;;N;;;;; +A81F;SYLOTI NAGRI LETTER LO;Lo;0;L;;;;;N;;;;; +A820;SYLOTI NAGRI LETTER RRO;Lo;0;L;;;;;N;;;;; +A821;SYLOTI NAGRI LETTER SO;Lo;0;L;;;;;N;;;;; +A822;SYLOTI NAGRI LETTER HO;Lo;0;L;;;;;N;;;;; +A823;SYLOTI NAGRI VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +A824;SYLOTI NAGRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +A825;SYLOTI NAGRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +A826;SYLOTI NAGRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +A827;SYLOTI NAGRI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +A828;SYLOTI NAGRI POETRY MARK-1;So;0;ON;;;;;N;;;;; +A829;SYLOTI NAGRI POETRY MARK-2;So;0;ON;;;;;N;;;;; +A82A;SYLOTI NAGRI POETRY MARK-3;So;0;ON;;;;;N;;;;; +A82B;SYLOTI NAGRI POETRY MARK-4;So;0;ON;;;;;N;;;;; +A82C;SYLOTI NAGRI SIGN ALTERNATE HASANTA;Mn;9;NSM;;;;;N;;;;; +A830;NORTH INDIC FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;; +A831;NORTH INDIC FRACTION ONE HALF;No;0;L;;;;1/2;N;;;;; +A832;NORTH INDIC FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;; +A833;NORTH INDIC FRACTION ONE SIXTEENTH;No;0;L;;;;1/16;N;;;;; +A834;NORTH INDIC FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;; +A835;NORTH INDIC FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;; +A836;NORTH INDIC QUARTER MARK;So;0;L;;;;;N;;;;; +A837;NORTH INDIC PLACEHOLDER MARK;So;0;L;;;;;N;;;;; +A838;NORTH INDIC RUPEE MARK;Sc;0;ET;;;;;N;;;;; +A839;NORTH INDIC QUANTITY MARK;So;0;ET;;;;;N;;;;; +A840;PHAGS-PA LETTER KA;Lo;0;L;;;;;N;;;;; +A841;PHAGS-PA LETTER KHA;Lo;0;L;;;;;N;;;;; +A842;PHAGS-PA LETTER GA;Lo;0;L;;;;;N;;;;; +A843;PHAGS-PA LETTER NGA;Lo;0;L;;;;;N;;;;; +A844;PHAGS-PA LETTER CA;Lo;0;L;;;;;N;;;;; +A845;PHAGS-PA LETTER CHA;Lo;0;L;;;;;N;;;;; +A846;PHAGS-PA LETTER JA;Lo;0;L;;;;;N;;;;; +A847;PHAGS-PA LETTER NYA;Lo;0;L;;;;;N;;;;; +A848;PHAGS-PA LETTER TA;Lo;0;L;;;;;N;;;;; +A849;PHAGS-PA LETTER THA;Lo;0;L;;;;;N;;;;; +A84A;PHAGS-PA LETTER DA;Lo;0;L;;;;;N;;;;; +A84B;PHAGS-PA LETTER NA;Lo;0;L;;;;;N;;;;; +A84C;PHAGS-PA LETTER PA;Lo;0;L;;;;;N;;;;; +A84D;PHAGS-PA LETTER PHA;Lo;0;L;;;;;N;;;;; +A84E;PHAGS-PA LETTER BA;Lo;0;L;;;;;N;;;;; +A84F;PHAGS-PA LETTER MA;Lo;0;L;;;;;N;;;;; +A850;PHAGS-PA LETTER TSA;Lo;0;L;;;;;N;;;;; +A851;PHAGS-PA LETTER TSHA;Lo;0;L;;;;;N;;;;; +A852;PHAGS-PA LETTER DZA;Lo;0;L;;;;;N;;;;; +A853;PHAGS-PA LETTER WA;Lo;0;L;;;;;N;;;;; +A854;PHAGS-PA LETTER ZHA;Lo;0;L;;;;;N;;;;; +A855;PHAGS-PA LETTER ZA;Lo;0;L;;;;;N;;;;; +A856;PHAGS-PA LETTER SMALL A;Lo;0;L;;;;;N;;;;; +A857;PHAGS-PA LETTER YA;Lo;0;L;;;;;N;;;;; +A858;PHAGS-PA LETTER RA;Lo;0;L;;;;;N;;;;; +A859;PHAGS-PA LETTER LA;Lo;0;L;;;;;N;;;;; +A85A;PHAGS-PA LETTER SHA;Lo;0;L;;;;;N;;;;; +A85B;PHAGS-PA LETTER SA;Lo;0;L;;;;;N;;;;; +A85C;PHAGS-PA LETTER HA;Lo;0;L;;;;;N;;;;; +A85D;PHAGS-PA LETTER A;Lo;0;L;;;;;N;;;;; +A85E;PHAGS-PA LETTER I;Lo;0;L;;;;;N;;;;; +A85F;PHAGS-PA LETTER U;Lo;0;L;;;;;N;;;;; +A860;PHAGS-PA LETTER E;Lo;0;L;;;;;N;;;;; +A861;PHAGS-PA LETTER O;Lo;0;L;;;;;N;;;;; +A862;PHAGS-PA LETTER QA;Lo;0;L;;;;;N;;;;; +A863;PHAGS-PA LETTER XA;Lo;0;L;;;;;N;;;;; +A864;PHAGS-PA LETTER FA;Lo;0;L;;;;;N;;;;; +A865;PHAGS-PA LETTER GGA;Lo;0;L;;;;;N;;;;; +A866;PHAGS-PA LETTER EE;Lo;0;L;;;;;N;;;;; +A867;PHAGS-PA SUBJOINED LETTER WA;Lo;0;L;;;;;N;;;;; +A868;PHAGS-PA SUBJOINED LETTER YA;Lo;0;L;;;;;N;;;;; +A869;PHAGS-PA LETTER TTA;Lo;0;L;;;;;N;;;;; +A86A;PHAGS-PA LETTER TTHA;Lo;0;L;;;;;N;;;;; +A86B;PHAGS-PA LETTER DDA;Lo;0;L;;;;;N;;;;; +A86C;PHAGS-PA LETTER NNA;Lo;0;L;;;;;N;;;;; +A86D;PHAGS-PA LETTER ALTERNATE YA;Lo;0;L;;;;;N;;;;; +A86E;PHAGS-PA LETTER VOICELESS SHA;Lo;0;L;;;;;N;;;;; +A86F;PHAGS-PA LETTER VOICED HA;Lo;0;L;;;;;N;;;;; +A870;PHAGS-PA LETTER ASPIRATED FA;Lo;0;L;;;;;N;;;;; +A871;PHAGS-PA SUBJOINED LETTER RA;Lo;0;L;;;;;N;;;;; +A872;PHAGS-PA SUPERFIXED LETTER RA;Lo;0;L;;;;;N;;;;; +A873;PHAGS-PA LETTER CANDRABINDU;Lo;0;L;;;;;N;;;;; +A874;PHAGS-PA SINGLE HEAD MARK;Po;0;ON;;;;;N;;;;; +A875;PHAGS-PA DOUBLE HEAD MARK;Po;0;ON;;;;;N;;;;; +A876;PHAGS-PA MARK SHAD;Po;0;ON;;;;;N;;;;; +A877;PHAGS-PA MARK DOUBLE SHAD;Po;0;ON;;;;;N;;;;; +A880;SAURASHTRA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +A881;SAURASHTRA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +A882;SAURASHTRA LETTER A;Lo;0;L;;;;;N;;;;; +A883;SAURASHTRA LETTER AA;Lo;0;L;;;;;N;;;;; +A884;SAURASHTRA LETTER I;Lo;0;L;;;;;N;;;;; +A885;SAURASHTRA LETTER II;Lo;0;L;;;;;N;;;;; +A886;SAURASHTRA LETTER U;Lo;0;L;;;;;N;;;;; +A887;SAURASHTRA LETTER UU;Lo;0;L;;;;;N;;;;; +A888;SAURASHTRA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +A889;SAURASHTRA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +A88A;SAURASHTRA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +A88B;SAURASHTRA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +A88C;SAURASHTRA LETTER E;Lo;0;L;;;;;N;;;;; +A88D;SAURASHTRA LETTER EE;Lo;0;L;;;;;N;;;;; +A88E;SAURASHTRA LETTER AI;Lo;0;L;;;;;N;;;;; +A88F;SAURASHTRA LETTER O;Lo;0;L;;;;;N;;;;; +A890;SAURASHTRA LETTER OO;Lo;0;L;;;;;N;;;;; +A891;SAURASHTRA LETTER AU;Lo;0;L;;;;;N;;;;; +A892;SAURASHTRA LETTER KA;Lo;0;L;;;;;N;;;;; +A893;SAURASHTRA LETTER KHA;Lo;0;L;;;;;N;;;;; +A894;SAURASHTRA LETTER GA;Lo;0;L;;;;;N;;;;; +A895;SAURASHTRA LETTER GHA;Lo;0;L;;;;;N;;;;; +A896;SAURASHTRA LETTER NGA;Lo;0;L;;;;;N;;;;; +A897;SAURASHTRA LETTER CA;Lo;0;L;;;;;N;;;;; +A898;SAURASHTRA LETTER CHA;Lo;0;L;;;;;N;;;;; +A899;SAURASHTRA LETTER JA;Lo;0;L;;;;;N;;;;; +A89A;SAURASHTRA LETTER JHA;Lo;0;L;;;;;N;;;;; +A89B;SAURASHTRA LETTER NYA;Lo;0;L;;;;;N;;;;; +A89C;SAURASHTRA LETTER TTA;Lo;0;L;;;;;N;;;;; +A89D;SAURASHTRA LETTER TTHA;Lo;0;L;;;;;N;;;;; +A89E;SAURASHTRA LETTER DDA;Lo;0;L;;;;;N;;;;; +A89F;SAURASHTRA LETTER DDHA;Lo;0;L;;;;;N;;;;; +A8A0;SAURASHTRA LETTER NNA;Lo;0;L;;;;;N;;;;; +A8A1;SAURASHTRA LETTER TA;Lo;0;L;;;;;N;;;;; +A8A2;SAURASHTRA LETTER THA;Lo;0;L;;;;;N;;;;; +A8A3;SAURASHTRA LETTER DA;Lo;0;L;;;;;N;;;;; +A8A4;SAURASHTRA LETTER DHA;Lo;0;L;;;;;N;;;;; +A8A5;SAURASHTRA LETTER NA;Lo;0;L;;;;;N;;;;; +A8A6;SAURASHTRA LETTER PA;Lo;0;L;;;;;N;;;;; +A8A7;SAURASHTRA LETTER PHA;Lo;0;L;;;;;N;;;;; +A8A8;SAURASHTRA LETTER BA;Lo;0;L;;;;;N;;;;; +A8A9;SAURASHTRA LETTER BHA;Lo;0;L;;;;;N;;;;; +A8AA;SAURASHTRA LETTER MA;Lo;0;L;;;;;N;;;;; +A8AB;SAURASHTRA LETTER YA;Lo;0;L;;;;;N;;;;; +A8AC;SAURASHTRA LETTER RA;Lo;0;L;;;;;N;;;;; +A8AD;SAURASHTRA LETTER LA;Lo;0;L;;;;;N;;;;; +A8AE;SAURASHTRA LETTER VA;Lo;0;L;;;;;N;;;;; +A8AF;SAURASHTRA LETTER SHA;Lo;0;L;;;;;N;;;;; +A8B0;SAURASHTRA LETTER SSA;Lo;0;L;;;;;N;;;;; +A8B1;SAURASHTRA LETTER SA;Lo;0;L;;;;;N;;;;; +A8B2;SAURASHTRA LETTER HA;Lo;0;L;;;;;N;;;;; +A8B3;SAURASHTRA LETTER LLA;Lo;0;L;;;;;N;;;;; +A8B4;SAURASHTRA CONSONANT SIGN HAARU;Mc;0;L;;;;;N;;;;; +A8B5;SAURASHTRA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +A8B6;SAURASHTRA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +A8B7;SAURASHTRA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +A8B8;SAURASHTRA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +A8B9;SAURASHTRA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +A8BA;SAURASHTRA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +A8BB;SAURASHTRA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +A8BC;SAURASHTRA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;; +A8BD;SAURASHTRA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;; +A8BE;SAURASHTRA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +A8BF;SAURASHTRA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +A8C0;SAURASHTRA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +A8C1;SAURASHTRA VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +A8C2;SAURASHTRA VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +A8C3;SAURASHTRA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +A8C4;SAURASHTRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +A8C5;SAURASHTRA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +A8CE;SAURASHTRA DANDA;Po;0;L;;;;;N;;;;; +A8CF;SAURASHTRA DOUBLE DANDA;Po;0;L;;;;;N;;;;; +A8D0;SAURASHTRA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A8D1;SAURASHTRA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A8D2;SAURASHTRA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A8D3;SAURASHTRA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A8D4;SAURASHTRA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A8D5;SAURASHTRA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A8D6;SAURASHTRA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A8D7;SAURASHTRA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A8D8;SAURASHTRA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A8D9;SAURASHTRA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A8E0;COMBINING DEVANAGARI DIGIT ZERO;Mn;230;NSM;;;;;N;;;;; +A8E1;COMBINING DEVANAGARI DIGIT ONE;Mn;230;NSM;;;;;N;;;;; +A8E2;COMBINING DEVANAGARI DIGIT TWO;Mn;230;NSM;;;;;N;;;;; +A8E3;COMBINING DEVANAGARI DIGIT THREE;Mn;230;NSM;;;;;N;;;;; +A8E4;COMBINING DEVANAGARI DIGIT FOUR;Mn;230;NSM;;;;;N;;;;; +A8E5;COMBINING DEVANAGARI DIGIT FIVE;Mn;230;NSM;;;;;N;;;;; +A8E6;COMBINING DEVANAGARI DIGIT SIX;Mn;230;NSM;;;;;N;;;;; +A8E7;COMBINING DEVANAGARI DIGIT SEVEN;Mn;230;NSM;;;;;N;;;;; +A8E8;COMBINING DEVANAGARI DIGIT EIGHT;Mn;230;NSM;;;;;N;;;;; +A8E9;COMBINING DEVANAGARI DIGIT NINE;Mn;230;NSM;;;;;N;;;;; +A8EA;COMBINING DEVANAGARI LETTER A;Mn;230;NSM;;;;;N;;;;; +A8EB;COMBINING DEVANAGARI LETTER U;Mn;230;NSM;;;;;N;;;;; +A8EC;COMBINING DEVANAGARI LETTER KA;Mn;230;NSM;;;;;N;;;;; +A8ED;COMBINING DEVANAGARI LETTER NA;Mn;230;NSM;;;;;N;;;;; +A8EE;COMBINING DEVANAGARI LETTER PA;Mn;230;NSM;;;;;N;;;;; +A8EF;COMBINING DEVANAGARI LETTER RA;Mn;230;NSM;;;;;N;;;;; +A8F0;COMBINING DEVANAGARI LETTER VI;Mn;230;NSM;;;;;N;;;;; +A8F1;COMBINING DEVANAGARI SIGN AVAGRAHA;Mn;230;NSM;;;;;N;;;;; +A8F2;DEVANAGARI SIGN SPACING CANDRABINDU;Lo;0;L;;;;;N;;;;; +A8F3;DEVANAGARI SIGN CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;; +A8F4;DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA;Lo;0;L;;;;;N;;;;; +A8F5;DEVANAGARI SIGN CANDRABINDU TWO;Lo;0;L;;;;;N;;;;; +A8F6;DEVANAGARI SIGN CANDRABINDU THREE;Lo;0;L;;;;;N;;;;; +A8F7;DEVANAGARI SIGN CANDRABINDU AVAGRAHA;Lo;0;L;;;;;N;;;;; +A8F8;DEVANAGARI SIGN PUSHPIKA;Po;0;L;;;;;N;;;;; +A8F9;DEVANAGARI GAP FILLER;Po;0;L;;;;;N;;;;; +A8FA;DEVANAGARI CARET;Po;0;L;;;;;N;;;;; +A8FB;DEVANAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;; +A8FC;DEVANAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +A8FD;DEVANAGARI JAIN OM;Lo;0;L;;;;;N;;;;; +A8FE;DEVANAGARI LETTER AY;Lo;0;L;;;;;N;;;;; +A8FF;DEVANAGARI VOWEL SIGN AY;Mn;0;NSM;;;;;N;;;;; +A900;KAYAH LI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A901;KAYAH LI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A902;KAYAH LI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A903;KAYAH LI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A904;KAYAH LI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A905;KAYAH LI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A906;KAYAH LI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A907;KAYAH LI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A908;KAYAH LI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A909;KAYAH LI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A90A;KAYAH LI LETTER KA;Lo;0;L;;;;;N;;;;; +A90B;KAYAH LI LETTER KHA;Lo;0;L;;;;;N;;;;; +A90C;KAYAH LI LETTER GA;Lo;0;L;;;;;N;;;;; +A90D;KAYAH LI LETTER NGA;Lo;0;L;;;;;N;;;;; +A90E;KAYAH LI LETTER SA;Lo;0;L;;;;;N;;;;; +A90F;KAYAH LI LETTER SHA;Lo;0;L;;;;;N;;;;; +A910;KAYAH LI LETTER ZA;Lo;0;L;;;;;N;;;;; +A911;KAYAH LI LETTER NYA;Lo;0;L;;;;;N;;;;; +A912;KAYAH LI LETTER TA;Lo;0;L;;;;;N;;;;; +A913;KAYAH LI LETTER HTA;Lo;0;L;;;;;N;;;;; +A914;KAYAH LI LETTER NA;Lo;0;L;;;;;N;;;;; +A915;KAYAH LI LETTER PA;Lo;0;L;;;;;N;;;;; +A916;KAYAH LI LETTER PHA;Lo;0;L;;;;;N;;;;; +A917;KAYAH LI LETTER MA;Lo;0;L;;;;;N;;;;; +A918;KAYAH LI LETTER DA;Lo;0;L;;;;;N;;;;; +A919;KAYAH LI LETTER BA;Lo;0;L;;;;;N;;;;; +A91A;KAYAH LI LETTER RA;Lo;0;L;;;;;N;;;;; +A91B;KAYAH LI LETTER YA;Lo;0;L;;;;;N;;;;; +A91C;KAYAH LI LETTER LA;Lo;0;L;;;;;N;;;;; +A91D;KAYAH LI LETTER WA;Lo;0;L;;;;;N;;;;; +A91E;KAYAH LI LETTER THA;Lo;0;L;;;;;N;;;;; +A91F;KAYAH LI LETTER HA;Lo;0;L;;;;;N;;;;; +A920;KAYAH LI LETTER VA;Lo;0;L;;;;;N;;;;; +A921;KAYAH LI LETTER CA;Lo;0;L;;;;;N;;;;; +A922;KAYAH LI LETTER A;Lo;0;L;;;;;N;;;;; +A923;KAYAH LI LETTER OE;Lo;0;L;;;;;N;;;;; +A924;KAYAH LI LETTER I;Lo;0;L;;;;;N;;;;; +A925;KAYAH LI LETTER OO;Lo;0;L;;;;;N;;;;; +A926;KAYAH LI VOWEL UE;Mn;0;NSM;;;;;N;;;;; +A927;KAYAH LI VOWEL E;Mn;0;NSM;;;;;N;;;;; +A928;KAYAH LI VOWEL U;Mn;0;NSM;;;;;N;;;;; +A929;KAYAH LI VOWEL EE;Mn;0;NSM;;;;;N;;;;; +A92A;KAYAH LI VOWEL O;Mn;0;NSM;;;;;N;;;;; +A92B;KAYAH LI TONE PLOPHU;Mn;220;NSM;;;;;N;;;;; +A92C;KAYAH LI TONE CALYA;Mn;220;NSM;;;;;N;;;;; +A92D;KAYAH LI TONE CALYA PLOPHU;Mn;220;NSM;;;;;N;;;;; +A92E;KAYAH LI SIGN CWI;Po;0;L;;;;;N;;;;; +A92F;KAYAH LI SIGN SHYA;Po;0;L;;;;;N;;;;; +A930;REJANG LETTER KA;Lo;0;L;;;;;N;;;;; +A931;REJANG LETTER GA;Lo;0;L;;;;;N;;;;; +A932;REJANG LETTER NGA;Lo;0;L;;;;;N;;;;; +A933;REJANG LETTER TA;Lo;0;L;;;;;N;;;;; +A934;REJANG LETTER DA;Lo;0;L;;;;;N;;;;; +A935;REJANG LETTER NA;Lo;0;L;;;;;N;;;;; +A936;REJANG LETTER PA;Lo;0;L;;;;;N;;;;; +A937;REJANG LETTER BA;Lo;0;L;;;;;N;;;;; +A938;REJANG LETTER MA;Lo;0;L;;;;;N;;;;; +A939;REJANG LETTER CA;Lo;0;L;;;;;N;;;;; +A93A;REJANG LETTER JA;Lo;0;L;;;;;N;;;;; +A93B;REJANG LETTER NYA;Lo;0;L;;;;;N;;;;; +A93C;REJANG LETTER SA;Lo;0;L;;;;;N;;;;; +A93D;REJANG LETTER RA;Lo;0;L;;;;;N;;;;; +A93E;REJANG LETTER LA;Lo;0;L;;;;;N;;;;; +A93F;REJANG LETTER YA;Lo;0;L;;;;;N;;;;; +A940;REJANG LETTER WA;Lo;0;L;;;;;N;;;;; +A941;REJANG LETTER HA;Lo;0;L;;;;;N;;;;; +A942;REJANG LETTER MBA;Lo;0;L;;;;;N;;;;; +A943;REJANG LETTER NGGA;Lo;0;L;;;;;N;;;;; +A944;REJANG LETTER NDA;Lo;0;L;;;;;N;;;;; +A945;REJANG LETTER NYJA;Lo;0;L;;;;;N;;;;; +A946;REJANG LETTER A;Lo;0;L;;;;;N;;;;; +A947;REJANG VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +A948;REJANG VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +A949;REJANG VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +A94A;REJANG VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +A94B;REJANG VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +A94C;REJANG VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +A94D;REJANG VOWEL SIGN EU;Mn;0;NSM;;;;;N;;;;; +A94E;REJANG VOWEL SIGN EA;Mn;0;NSM;;;;;N;;;;; +A94F;REJANG CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;; +A950;REJANG CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;; +A951;REJANG CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;; +A952;REJANG CONSONANT SIGN H;Mc;0;L;;;;;N;;;;; +A953;REJANG VIRAMA;Mc;9;L;;;;;N;;;;; +A95F;REJANG SECTION MARK;Po;0;L;;;;;N;;;;; +A960;HANGUL CHOSEONG TIKEUT-MIEUM;Lo;0;L;;;;;N;;;;; +A961;HANGUL CHOSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;; +A962;HANGUL CHOSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;; +A963;HANGUL CHOSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;; +A964;HANGUL CHOSEONG RIEUL-KIYEOK;Lo;0;L;;;;;N;;;;; +A965;HANGUL CHOSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +A966;HANGUL CHOSEONG RIEUL-TIKEUT;Lo;0;L;;;;;N;;;;; +A967;HANGUL CHOSEONG RIEUL-SSANGTIKEUT;Lo;0;L;;;;;N;;;;; +A968;HANGUL CHOSEONG RIEUL-MIEUM;Lo;0;L;;;;;N;;;;; +A969;HANGUL CHOSEONG RIEUL-PIEUP;Lo;0;L;;;;;N;;;;; +A96A;HANGUL CHOSEONG RIEUL-SSANGPIEUP;Lo;0;L;;;;;N;;;;; +A96B;HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +A96C;HANGUL CHOSEONG RIEUL-SIOS;Lo;0;L;;;;;N;;;;; +A96D;HANGUL CHOSEONG RIEUL-CIEUC;Lo;0;L;;;;;N;;;;; +A96E;HANGUL CHOSEONG RIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; +A96F;HANGUL CHOSEONG MIEUM-KIYEOK;Lo;0;L;;;;;N;;;;; +A970;HANGUL CHOSEONG MIEUM-TIKEUT;Lo;0;L;;;;;N;;;;; +A971;HANGUL CHOSEONG MIEUM-SIOS;Lo;0;L;;;;;N;;;;; +A972;HANGUL CHOSEONG PIEUP-SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; +A973;HANGUL CHOSEONG PIEUP-KHIEUKH;Lo;0;L;;;;;N;;;;; +A974;HANGUL CHOSEONG PIEUP-HIEUH;Lo;0;L;;;;;N;;;;; +A975;HANGUL CHOSEONG SSANGSIOS-PIEUP;Lo;0;L;;;;;N;;;;; +A976;HANGUL CHOSEONG IEUNG-RIEUL;Lo;0;L;;;;;N;;;;; +A977;HANGUL CHOSEONG IEUNG-HIEUH;Lo;0;L;;;;;N;;;;; +A978;HANGUL CHOSEONG SSANGCIEUC-HIEUH;Lo;0;L;;;;;N;;;;; +A979;HANGUL CHOSEONG SSANGTHIEUTH;Lo;0;L;;;;;N;;;;; +A97A;HANGUL CHOSEONG PHIEUPH-HIEUH;Lo;0;L;;;;;N;;;;; +A97B;HANGUL CHOSEONG HIEUH-SIOS;Lo;0;L;;;;;N;;;;; +A97C;HANGUL CHOSEONG SSANGYEORINHIEUH;Lo;0;L;;;;;N;;;;; +A980;JAVANESE SIGN PANYANGGA;Mn;0;NSM;;;;;N;;;;; +A981;JAVANESE SIGN CECAK;Mn;0;NSM;;;;;N;;;;; +A982;JAVANESE SIGN LAYAR;Mn;0;NSM;;;;;N;;;;; +A983;JAVANESE SIGN WIGNYAN;Mc;0;L;;;;;N;;;;; +A984;JAVANESE LETTER A;Lo;0;L;;;;;N;;;;; +A985;JAVANESE LETTER I KAWI;Lo;0;L;;;;;N;;;;; +A986;JAVANESE LETTER I;Lo;0;L;;;;;N;;;;; +A987;JAVANESE LETTER II;Lo;0;L;;;;;N;;;;; +A988;JAVANESE LETTER U;Lo;0;L;;;;;N;;;;; +A989;JAVANESE LETTER PA CEREK;Lo;0;L;;;;;N;;;;; +A98A;JAVANESE LETTER NGA LELET;Lo;0;L;;;;;N;;;;; +A98B;JAVANESE LETTER NGA LELET RASWADI;Lo;0;L;;;;;N;;;;; +A98C;JAVANESE LETTER E;Lo;0;L;;;;;N;;;;; +A98D;JAVANESE LETTER AI;Lo;0;L;;;;;N;;;;; +A98E;JAVANESE LETTER O;Lo;0;L;;;;;N;;;;; +A98F;JAVANESE LETTER KA;Lo;0;L;;;;;N;;;;; +A990;JAVANESE LETTER KA SASAK;Lo;0;L;;;;;N;;;;; +A991;JAVANESE LETTER KA MURDA;Lo;0;L;;;;;N;;;;; +A992;JAVANESE LETTER GA;Lo;0;L;;;;;N;;;;; +A993;JAVANESE LETTER GA MURDA;Lo;0;L;;;;;N;;;;; +A994;JAVANESE LETTER NGA;Lo;0;L;;;;;N;;;;; +A995;JAVANESE LETTER CA;Lo;0;L;;;;;N;;;;; +A996;JAVANESE LETTER CA MURDA;Lo;0;L;;;;;N;;;;; +A997;JAVANESE LETTER JA;Lo;0;L;;;;;N;;;;; +A998;JAVANESE LETTER NYA MURDA;Lo;0;L;;;;;N;;;;; +A999;JAVANESE LETTER JA MAHAPRANA;Lo;0;L;;;;;N;;;;; +A99A;JAVANESE LETTER NYA;Lo;0;L;;;;;N;;;;; +A99B;JAVANESE LETTER TTA;Lo;0;L;;;;;N;;;;; +A99C;JAVANESE LETTER TTA MAHAPRANA;Lo;0;L;;;;;N;;;;; +A99D;JAVANESE LETTER DDA;Lo;0;L;;;;;N;;;;; +A99E;JAVANESE LETTER DDA MAHAPRANA;Lo;0;L;;;;;N;;;;; +A99F;JAVANESE LETTER NA MURDA;Lo;0;L;;;;;N;;;;; +A9A0;JAVANESE LETTER TA;Lo;0;L;;;;;N;;;;; +A9A1;JAVANESE LETTER TA MURDA;Lo;0;L;;;;;N;;;;; +A9A2;JAVANESE LETTER DA;Lo;0;L;;;;;N;;;;; +A9A3;JAVANESE LETTER DA MAHAPRANA;Lo;0;L;;;;;N;;;;; +A9A4;JAVANESE LETTER NA;Lo;0;L;;;;;N;;;;; +A9A5;JAVANESE LETTER PA;Lo;0;L;;;;;N;;;;; +A9A6;JAVANESE LETTER PA MURDA;Lo;0;L;;;;;N;;;;; +A9A7;JAVANESE LETTER BA;Lo;0;L;;;;;N;;;;; +A9A8;JAVANESE LETTER BA MURDA;Lo;0;L;;;;;N;;;;; +A9A9;JAVANESE LETTER MA;Lo;0;L;;;;;N;;;;; +A9AA;JAVANESE LETTER YA;Lo;0;L;;;;;N;;;;; +A9AB;JAVANESE LETTER RA;Lo;0;L;;;;;N;;;;; +A9AC;JAVANESE LETTER RA AGUNG;Lo;0;L;;;;;N;;;;; +A9AD;JAVANESE LETTER LA;Lo;0;L;;;;;N;;;;; +A9AE;JAVANESE LETTER WA;Lo;0;L;;;;;N;;;;; +A9AF;JAVANESE LETTER SA MURDA;Lo;0;L;;;;;N;;;;; +A9B0;JAVANESE LETTER SA MAHAPRANA;Lo;0;L;;;;;N;;;;; +A9B1;JAVANESE LETTER SA;Lo;0;L;;;;;N;;;;; +A9B2;JAVANESE LETTER HA;Lo;0;L;;;;;N;;;;; +A9B3;JAVANESE SIGN CECAK TELU;Mn;7;NSM;;;;;N;;;;; +A9B4;JAVANESE VOWEL SIGN TARUNG;Mc;0;L;;;;;N;;;;; +A9B5;JAVANESE VOWEL SIGN TOLONG;Mc;0;L;;;;;N;;;;; +A9B6;JAVANESE VOWEL SIGN WULU;Mn;0;NSM;;;;;N;;;;; +A9B7;JAVANESE VOWEL SIGN WULU MELIK;Mn;0;NSM;;;;;N;;;;; +A9B8;JAVANESE VOWEL SIGN SUKU;Mn;0;NSM;;;;;N;;;;; +A9B9;JAVANESE VOWEL SIGN SUKU MENDUT;Mn;0;NSM;;;;;N;;;;; +A9BA;JAVANESE VOWEL SIGN TALING;Mc;0;L;;;;;N;;;;; +A9BB;JAVANESE VOWEL SIGN DIRGA MURE;Mc;0;L;;;;;N;;;;; +A9BC;JAVANESE VOWEL SIGN PEPET;Mn;0;NSM;;;;;N;;;;; +A9BD;JAVANESE CONSONANT SIGN KERET;Mn;0;NSM;;;;;N;;;;; +A9BE;JAVANESE CONSONANT SIGN PENGKAL;Mc;0;L;;;;;N;;;;; +A9BF;JAVANESE CONSONANT SIGN CAKRA;Mc;0;L;;;;;N;;;;; +A9C0;JAVANESE PANGKON;Mc;9;L;;;;;N;;;;; +A9C1;JAVANESE LEFT RERENGGAN;Po;0;L;;;;;N;;;;; +A9C2;JAVANESE RIGHT RERENGGAN;Po;0;L;;;;;N;;;;; +A9C3;JAVANESE PADA ANDAP;Po;0;L;;;;;N;;;;; +A9C4;JAVANESE PADA MADYA;Po;0;L;;;;;N;;;;; +A9C5;JAVANESE PADA LUHUR;Po;0;L;;;;;N;;;;; +A9C6;JAVANESE PADA WINDU;Po;0;L;;;;;N;;;;; +A9C7;JAVANESE PADA PANGKAT;Po;0;L;;;;;N;;;;; +A9C8;JAVANESE PADA LINGSA;Po;0;L;;;;;N;;;;; +A9C9;JAVANESE PADA LUNGSI;Po;0;L;;;;;N;;;;; +A9CA;JAVANESE PADA ADEG;Po;0;L;;;;;N;;;;; +A9CB;JAVANESE PADA ADEG ADEG;Po;0;L;;;;;N;;;;; +A9CC;JAVANESE PADA PISELEH;Po;0;L;;;;;N;;;;; +A9CD;JAVANESE TURNED PADA PISELEH;Po;0;L;;;;;N;;;;; +A9CF;JAVANESE PANGRANGKEP;Lm;0;L;;;;;N;;;;; +A9D0;JAVANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A9D1;JAVANESE DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A9D2;JAVANESE DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A9D3;JAVANESE DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A9D4;JAVANESE DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A9D5;JAVANESE DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A9D6;JAVANESE DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A9D7;JAVANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A9D8;JAVANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A9D9;JAVANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A9DE;JAVANESE PADA TIRTA TUMETES;Po;0;L;;;;;N;;;;; +A9DF;JAVANESE PADA ISEN-ISEN;Po;0;L;;;;;N;;;;; +A9E0;MYANMAR LETTER SHAN GHA;Lo;0;L;;;;;N;;;;; +A9E1;MYANMAR LETTER SHAN CHA;Lo;0;L;;;;;N;;;;; +A9E2;MYANMAR LETTER SHAN JHA;Lo;0;L;;;;;N;;;;; +A9E3;MYANMAR LETTER SHAN NNA;Lo;0;L;;;;;N;;;;; +A9E4;MYANMAR LETTER SHAN BHA;Lo;0;L;;;;;N;;;;; +A9E5;MYANMAR SIGN SHAN SAW;Mn;0;NSM;;;;;N;;;;; +A9E6;MYANMAR MODIFIER LETTER SHAN REDUPLICATION;Lm;0;L;;;;;N;;;;; +A9E7;MYANMAR LETTER TAI LAING NYA;Lo;0;L;;;;;N;;;;; +A9E8;MYANMAR LETTER TAI LAING FA;Lo;0;L;;;;;N;;;;; +A9E9;MYANMAR LETTER TAI LAING GA;Lo;0;L;;;;;N;;;;; +A9EA;MYANMAR LETTER TAI LAING GHA;Lo;0;L;;;;;N;;;;; +A9EB;MYANMAR LETTER TAI LAING JA;Lo;0;L;;;;;N;;;;; +A9EC;MYANMAR LETTER TAI LAING JHA;Lo;0;L;;;;;N;;;;; +A9ED;MYANMAR LETTER TAI LAING DDA;Lo;0;L;;;;;N;;;;; +A9EE;MYANMAR LETTER TAI LAING DDHA;Lo;0;L;;;;;N;;;;; +A9EF;MYANMAR LETTER TAI LAING NNA;Lo;0;L;;;;;N;;;;; +A9F0;MYANMAR TAI LAING DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +A9F1;MYANMAR TAI LAING DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +A9F2;MYANMAR TAI LAING DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +A9F3;MYANMAR TAI LAING DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +A9F4;MYANMAR TAI LAING DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +A9F5;MYANMAR TAI LAING DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +A9F6;MYANMAR TAI LAING DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +A9F7;MYANMAR TAI LAING DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +A9F8;MYANMAR TAI LAING DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +A9F9;MYANMAR TAI LAING DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +A9FA;MYANMAR LETTER TAI LAING LLA;Lo;0;L;;;;;N;;;;; +A9FB;MYANMAR LETTER TAI LAING DA;Lo;0;L;;;;;N;;;;; +A9FC;MYANMAR LETTER TAI LAING DHA;Lo;0;L;;;;;N;;;;; +A9FD;MYANMAR LETTER TAI LAING BA;Lo;0;L;;;;;N;;;;; +A9FE;MYANMAR LETTER TAI LAING BHA;Lo;0;L;;;;;N;;;;; +AA00;CHAM LETTER A;Lo;0;L;;;;;N;;;;; +AA01;CHAM LETTER I;Lo;0;L;;;;;N;;;;; +AA02;CHAM LETTER U;Lo;0;L;;;;;N;;;;; +AA03;CHAM LETTER E;Lo;0;L;;;;;N;;;;; +AA04;CHAM LETTER AI;Lo;0;L;;;;;N;;;;; +AA05;CHAM LETTER O;Lo;0;L;;;;;N;;;;; +AA06;CHAM LETTER KA;Lo;0;L;;;;;N;;;;; +AA07;CHAM LETTER KHA;Lo;0;L;;;;;N;;;;; +AA08;CHAM LETTER GA;Lo;0;L;;;;;N;;;;; +AA09;CHAM LETTER GHA;Lo;0;L;;;;;N;;;;; +AA0A;CHAM LETTER NGUE;Lo;0;L;;;;;N;;;;; +AA0B;CHAM LETTER NGA;Lo;0;L;;;;;N;;;;; +AA0C;CHAM LETTER CHA;Lo;0;L;;;;;N;;;;; +AA0D;CHAM LETTER CHHA;Lo;0;L;;;;;N;;;;; +AA0E;CHAM LETTER JA;Lo;0;L;;;;;N;;;;; +AA0F;CHAM LETTER JHA;Lo;0;L;;;;;N;;;;; +AA10;CHAM LETTER NHUE;Lo;0;L;;;;;N;;;;; +AA11;CHAM LETTER NHA;Lo;0;L;;;;;N;;;;; +AA12;CHAM LETTER NHJA;Lo;0;L;;;;;N;;;;; +AA13;CHAM LETTER TA;Lo;0;L;;;;;N;;;;; +AA14;CHAM LETTER THA;Lo;0;L;;;;;N;;;;; +AA15;CHAM LETTER DA;Lo;0;L;;;;;N;;;;; +AA16;CHAM LETTER DHA;Lo;0;L;;;;;N;;;;; +AA17;CHAM LETTER NUE;Lo;0;L;;;;;N;;;;; +AA18;CHAM LETTER NA;Lo;0;L;;;;;N;;;;; +AA19;CHAM LETTER DDA;Lo;0;L;;;;;N;;;;; +AA1A;CHAM LETTER PA;Lo;0;L;;;;;N;;;;; +AA1B;CHAM LETTER PPA;Lo;0;L;;;;;N;;;;; +AA1C;CHAM LETTER PHA;Lo;0;L;;;;;N;;;;; +AA1D;CHAM LETTER BA;Lo;0;L;;;;;N;;;;; +AA1E;CHAM LETTER BHA;Lo;0;L;;;;;N;;;;; +AA1F;CHAM LETTER MUE;Lo;0;L;;;;;N;;;;; +AA20;CHAM LETTER MA;Lo;0;L;;;;;N;;;;; +AA21;CHAM LETTER BBA;Lo;0;L;;;;;N;;;;; +AA22;CHAM LETTER YA;Lo;0;L;;;;;N;;;;; +AA23;CHAM LETTER RA;Lo;0;L;;;;;N;;;;; +AA24;CHAM LETTER LA;Lo;0;L;;;;;N;;;;; +AA25;CHAM LETTER VA;Lo;0;L;;;;;N;;;;; +AA26;CHAM LETTER SSA;Lo;0;L;;;;;N;;;;; +AA27;CHAM LETTER SA;Lo;0;L;;;;;N;;;;; +AA28;CHAM LETTER HA;Lo;0;L;;;;;N;;;;; +AA29;CHAM VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +AA2A;CHAM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +AA2B;CHAM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +AA2C;CHAM VOWEL SIGN EI;Mn;0;NSM;;;;;N;;;;; +AA2D;CHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +AA2E;CHAM VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;; +AA2F;CHAM VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +AA30;CHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +AA31;CHAM VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +AA32;CHAM VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +AA33;CHAM CONSONANT SIGN YA;Mc;0;L;;;;;N;;;;; +AA34;CHAM CONSONANT SIGN RA;Mc;0;L;;;;;N;;;;; +AA35;CHAM CONSONANT SIGN LA;Mn;0;NSM;;;;;N;;;;; +AA36;CHAM CONSONANT SIGN WA;Mn;0;NSM;;;;;N;;;;; +AA40;CHAM LETTER FINAL K;Lo;0;L;;;;;N;;;;; +AA41;CHAM LETTER FINAL G;Lo;0;L;;;;;N;;;;; +AA42;CHAM LETTER FINAL NG;Lo;0;L;;;;;N;;;;; +AA43;CHAM CONSONANT SIGN FINAL NG;Mn;0;NSM;;;;;N;;;;; +AA44;CHAM LETTER FINAL CH;Lo;0;L;;;;;N;;;;; +AA45;CHAM LETTER FINAL T;Lo;0;L;;;;;N;;;;; +AA46;CHAM LETTER FINAL N;Lo;0;L;;;;;N;;;;; +AA47;CHAM LETTER FINAL P;Lo;0;L;;;;;N;;;;; +AA48;CHAM LETTER FINAL Y;Lo;0;L;;;;;N;;;;; +AA49;CHAM LETTER FINAL R;Lo;0;L;;;;;N;;;;; +AA4A;CHAM LETTER FINAL L;Lo;0;L;;;;;N;;;;; +AA4B;CHAM LETTER FINAL SS;Lo;0;L;;;;;N;;;;; +AA4C;CHAM CONSONANT SIGN FINAL M;Mn;0;NSM;;;;;N;;;;; +AA4D;CHAM CONSONANT SIGN FINAL H;Mc;0;L;;;;;N;;;;; +AA50;CHAM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +AA51;CHAM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +AA52;CHAM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +AA53;CHAM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +AA54;CHAM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +AA55;CHAM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +AA56;CHAM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +AA57;CHAM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +AA58;CHAM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +AA59;CHAM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +AA5C;CHAM PUNCTUATION SPIRAL;Po;0;L;;;;;N;;;;; +AA5D;CHAM PUNCTUATION DANDA;Po;0;L;;;;;N;;;;; +AA5E;CHAM PUNCTUATION DOUBLE DANDA;Po;0;L;;;;;N;;;;; +AA5F;CHAM PUNCTUATION TRIPLE DANDA;Po;0;L;;;;;N;;;;; +AA60;MYANMAR LETTER KHAMTI GA;Lo;0;L;;;;;N;;;;; +AA61;MYANMAR LETTER KHAMTI CA;Lo;0;L;;;;;N;;;;; +AA62;MYANMAR LETTER KHAMTI CHA;Lo;0;L;;;;;N;;;;; +AA63;MYANMAR LETTER KHAMTI JA;Lo;0;L;;;;;N;;;;; +AA64;MYANMAR LETTER KHAMTI JHA;Lo;0;L;;;;;N;;;;; +AA65;MYANMAR LETTER KHAMTI NYA;Lo;0;L;;;;;N;;;;; +AA66;MYANMAR LETTER KHAMTI TTA;Lo;0;L;;;;;N;;;;; +AA67;MYANMAR LETTER KHAMTI TTHA;Lo;0;L;;;;;N;;;;; +AA68;MYANMAR LETTER KHAMTI DDA;Lo;0;L;;;;;N;;;;; +AA69;MYANMAR LETTER KHAMTI DDHA;Lo;0;L;;;;;N;;;;; +AA6A;MYANMAR LETTER KHAMTI DHA;Lo;0;L;;;;;N;;;;; +AA6B;MYANMAR LETTER KHAMTI NA;Lo;0;L;;;;;N;;;;; +AA6C;MYANMAR LETTER KHAMTI SA;Lo;0;L;;;;;N;;;;; +AA6D;MYANMAR LETTER KHAMTI HA;Lo;0;L;;;;;N;;;;; +AA6E;MYANMAR LETTER KHAMTI HHA;Lo;0;L;;;;;N;;;;; +AA6F;MYANMAR LETTER KHAMTI FA;Lo;0;L;;;;;N;;;;; +AA70;MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION;Lm;0;L;;;;;N;;;;; +AA71;MYANMAR LETTER KHAMTI XA;Lo;0;L;;;;;N;;;;; +AA72;MYANMAR LETTER KHAMTI ZA;Lo;0;L;;;;;N;;;;; +AA73;MYANMAR LETTER KHAMTI RA;Lo;0;L;;;;;N;;;;; +AA74;MYANMAR LOGOGRAM KHAMTI OAY;Lo;0;L;;;;;N;;;;; +AA75;MYANMAR LOGOGRAM KHAMTI QN;Lo;0;L;;;;;N;;;;; +AA76;MYANMAR LOGOGRAM KHAMTI HM;Lo;0;L;;;;;N;;;;; +AA77;MYANMAR SYMBOL AITON EXCLAMATION;So;0;L;;;;;N;;;;; +AA78;MYANMAR SYMBOL AITON ONE;So;0;L;;;;;N;;;;; +AA79;MYANMAR SYMBOL AITON TWO;So;0;L;;;;;N;;;;; +AA7A;MYANMAR LETTER AITON RA;Lo;0;L;;;;;N;;;;; +AA7B;MYANMAR SIGN PAO KAREN TONE;Mc;0;L;;;;;N;;;;; +AA7C;MYANMAR SIGN TAI LAING TONE-2;Mn;0;NSM;;;;;N;;;;; +AA7D;MYANMAR SIGN TAI LAING TONE-5;Mc;0;L;;;;;N;;;;; +AA7E;MYANMAR LETTER SHWE PALAUNG CHA;Lo;0;L;;;;;N;;;;; +AA7F;MYANMAR LETTER SHWE PALAUNG SHA;Lo;0;L;;;;;N;;;;; +AA80;TAI VIET LETTER LOW KO;Lo;0;L;;;;;N;;;;; +AA81;TAI VIET LETTER HIGH KO;Lo;0;L;;;;;N;;;;; +AA82;TAI VIET LETTER LOW KHO;Lo;0;L;;;;;N;;;;; +AA83;TAI VIET LETTER HIGH KHO;Lo;0;L;;;;;N;;;;; +AA84;TAI VIET LETTER LOW KHHO;Lo;0;L;;;;;N;;;;; +AA85;TAI VIET LETTER HIGH KHHO;Lo;0;L;;;;;N;;;;; +AA86;TAI VIET LETTER LOW GO;Lo;0;L;;;;;N;;;;; +AA87;TAI VIET LETTER HIGH GO;Lo;0;L;;;;;N;;;;; +AA88;TAI VIET LETTER LOW NGO;Lo;0;L;;;;;N;;;;; +AA89;TAI VIET LETTER HIGH NGO;Lo;0;L;;;;;N;;;;; +AA8A;TAI VIET LETTER LOW CO;Lo;0;L;;;;;N;;;;; +AA8B;TAI VIET LETTER HIGH CO;Lo;0;L;;;;;N;;;;; +AA8C;TAI VIET LETTER LOW CHO;Lo;0;L;;;;;N;;;;; +AA8D;TAI VIET LETTER HIGH CHO;Lo;0;L;;;;;N;;;;; +AA8E;TAI VIET LETTER LOW SO;Lo;0;L;;;;;N;;;;; +AA8F;TAI VIET LETTER HIGH SO;Lo;0;L;;;;;N;;;;; +AA90;TAI VIET LETTER LOW NYO;Lo;0;L;;;;;N;;;;; +AA91;TAI VIET LETTER HIGH NYO;Lo;0;L;;;;;N;;;;; +AA92;TAI VIET LETTER LOW DO;Lo;0;L;;;;;N;;;;; +AA93;TAI VIET LETTER HIGH DO;Lo;0;L;;;;;N;;;;; +AA94;TAI VIET LETTER LOW TO;Lo;0;L;;;;;N;;;;; +AA95;TAI VIET LETTER HIGH TO;Lo;0;L;;;;;N;;;;; +AA96;TAI VIET LETTER LOW THO;Lo;0;L;;;;;N;;;;; +AA97;TAI VIET LETTER HIGH THO;Lo;0;L;;;;;N;;;;; +AA98;TAI VIET LETTER LOW NO;Lo;0;L;;;;;N;;;;; +AA99;TAI VIET LETTER HIGH NO;Lo;0;L;;;;;N;;;;; +AA9A;TAI VIET LETTER LOW BO;Lo;0;L;;;;;N;;;;; +AA9B;TAI VIET LETTER HIGH BO;Lo;0;L;;;;;N;;;;; +AA9C;TAI VIET LETTER LOW PO;Lo;0;L;;;;;N;;;;; +AA9D;TAI VIET LETTER HIGH PO;Lo;0;L;;;;;N;;;;; +AA9E;TAI VIET LETTER LOW PHO;Lo;0;L;;;;;N;;;;; +AA9F;TAI VIET LETTER HIGH PHO;Lo;0;L;;;;;N;;;;; +AAA0;TAI VIET LETTER LOW FO;Lo;0;L;;;;;N;;;;; +AAA1;TAI VIET LETTER HIGH FO;Lo;0;L;;;;;N;;;;; +AAA2;TAI VIET LETTER LOW MO;Lo;0;L;;;;;N;;;;; +AAA3;TAI VIET LETTER HIGH MO;Lo;0;L;;;;;N;;;;; +AAA4;TAI VIET LETTER LOW YO;Lo;0;L;;;;;N;;;;; +AAA5;TAI VIET LETTER HIGH YO;Lo;0;L;;;;;N;;;;; +AAA6;TAI VIET LETTER LOW RO;Lo;0;L;;;;;N;;;;; +AAA7;TAI VIET LETTER HIGH RO;Lo;0;L;;;;;N;;;;; +AAA8;TAI VIET LETTER LOW LO;Lo;0;L;;;;;N;;;;; +AAA9;TAI VIET LETTER HIGH LO;Lo;0;L;;;;;N;;;;; +AAAA;TAI VIET LETTER LOW VO;Lo;0;L;;;;;N;;;;; +AAAB;TAI VIET LETTER HIGH VO;Lo;0;L;;;;;N;;;;; +AAAC;TAI VIET LETTER LOW HO;Lo;0;L;;;;;N;;;;; +AAAD;TAI VIET LETTER HIGH HO;Lo;0;L;;;;;N;;;;; +AAAE;TAI VIET LETTER LOW O;Lo;0;L;;;;;N;;;;; +AAAF;TAI VIET LETTER HIGH O;Lo;0;L;;;;;N;;;;; +AAB0;TAI VIET MAI KANG;Mn;230;NSM;;;;;N;;;;; +AAB1;TAI VIET VOWEL AA;Lo;0;L;;;;;N;;;;; +AAB2;TAI VIET VOWEL I;Mn;230;NSM;;;;;N;;;;; +AAB3;TAI VIET VOWEL UE;Mn;230;NSM;;;;;N;;;;; +AAB4;TAI VIET VOWEL U;Mn;220;NSM;;;;;N;;;;; +AAB5;TAI VIET VOWEL E;Lo;0;L;;;;;N;;;;; +AAB6;TAI VIET VOWEL O;Lo;0;L;;;;;N;;;;; +AAB7;TAI VIET MAI KHIT;Mn;230;NSM;;;;;N;;;;; +AAB8;TAI VIET VOWEL IA;Mn;230;NSM;;;;;N;;;;; +AAB9;TAI VIET VOWEL UEA;Lo;0;L;;;;;N;;;;; +AABA;TAI VIET VOWEL UA;Lo;0;L;;;;;N;;;;; +AABB;TAI VIET VOWEL AUE;Lo;0;L;;;;;N;;;;; +AABC;TAI VIET VOWEL AY;Lo;0;L;;;;;N;;;;; +AABD;TAI VIET VOWEL AN;Lo;0;L;;;;;N;;;;; +AABE;TAI VIET VOWEL AM;Mn;230;NSM;;;;;N;;;;; +AABF;TAI VIET TONE MAI EK;Mn;230;NSM;;;;;N;;;;; +AAC0;TAI VIET TONE MAI NUENG;Lo;0;L;;;;;N;;;;; +AAC1;TAI VIET TONE MAI THO;Mn;230;NSM;;;;;N;;;;; +AAC2;TAI VIET TONE MAI SONG;Lo;0;L;;;;;N;;;;; +AADB;TAI VIET SYMBOL KON;Lo;0;L;;;;;N;;;;; +AADC;TAI VIET SYMBOL NUENG;Lo;0;L;;;;;N;;;;; +AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;; +AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;; +AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;; +AAE0;MEETEI MAYEK LETTER E;Lo;0;L;;;;;N;;;;; +AAE1;MEETEI MAYEK LETTER O;Lo;0;L;;;;;N;;;;; +AAE2;MEETEI MAYEK LETTER CHA;Lo;0;L;;;;;N;;;;; +AAE3;MEETEI MAYEK LETTER NYA;Lo;0;L;;;;;N;;;;; +AAE4;MEETEI MAYEK LETTER TTA;Lo;0;L;;;;;N;;;;; +AAE5;MEETEI MAYEK LETTER TTHA;Lo;0;L;;;;;N;;;;; +AAE6;MEETEI MAYEK LETTER DDA;Lo;0;L;;;;;N;;;;; +AAE7;MEETEI MAYEK LETTER DDHA;Lo;0;L;;;;;N;;;;; +AAE8;MEETEI MAYEK LETTER NNA;Lo;0;L;;;;;N;;;;; +AAE9;MEETEI MAYEK LETTER SHA;Lo;0;L;;;;;N;;;;; +AAEA;MEETEI MAYEK LETTER SSA;Lo;0;L;;;;;N;;;;; +AAEB;MEETEI MAYEK VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +AAEC;MEETEI MAYEK VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +AAED;MEETEI MAYEK VOWEL SIGN AAI;Mn;0;NSM;;;;;N;;;;; +AAEE;MEETEI MAYEK VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +AAEF;MEETEI MAYEK VOWEL SIGN AAU;Mc;0;L;;;;;N;;;;; +AAF0;MEETEI MAYEK CHEIKHAN;Po;0;L;;;;;N;;;;; +AAF1;MEETEI MAYEK AHANG KHUDAM;Po;0;L;;;;;N;;;;; +AAF2;MEETEI MAYEK ANJI;Lo;0;L;;;;;N;;;;; +AAF3;MEETEI MAYEK SYLLABLE REPETITION MARK;Lm;0;L;;;;;N;;;;; +AAF4;MEETEI MAYEK WORD REPETITION MARK;Lm;0;L;;;;;N;;;;; +AAF5;MEETEI MAYEK VOWEL SIGN VISARGA;Mc;0;L;;;;;N;;;;; +AAF6;MEETEI MAYEK VIRAMA;Mn;9;NSM;;;;;N;;;;; +AB01;ETHIOPIC SYLLABLE TTHU;Lo;0;L;;;;;N;;;;; +AB02;ETHIOPIC SYLLABLE TTHI;Lo;0;L;;;;;N;;;;; +AB03;ETHIOPIC SYLLABLE TTHAA;Lo;0;L;;;;;N;;;;; +AB04;ETHIOPIC SYLLABLE TTHEE;Lo;0;L;;;;;N;;;;; +AB05;ETHIOPIC SYLLABLE TTHE;Lo;0;L;;;;;N;;;;; +AB06;ETHIOPIC SYLLABLE TTHO;Lo;0;L;;;;;N;;;;; +AB09;ETHIOPIC SYLLABLE DDHU;Lo;0;L;;;;;N;;;;; +AB0A;ETHIOPIC SYLLABLE DDHI;Lo;0;L;;;;;N;;;;; +AB0B;ETHIOPIC SYLLABLE DDHAA;Lo;0;L;;;;;N;;;;; +AB0C;ETHIOPIC SYLLABLE DDHEE;Lo;0;L;;;;;N;;;;; +AB0D;ETHIOPIC SYLLABLE DDHE;Lo;0;L;;;;;N;;;;; +AB0E;ETHIOPIC SYLLABLE DDHO;Lo;0;L;;;;;N;;;;; +AB11;ETHIOPIC SYLLABLE DZU;Lo;0;L;;;;;N;;;;; +AB12;ETHIOPIC SYLLABLE DZI;Lo;0;L;;;;;N;;;;; +AB13;ETHIOPIC SYLLABLE DZAA;Lo;0;L;;;;;N;;;;; +AB14;ETHIOPIC SYLLABLE DZEE;Lo;0;L;;;;;N;;;;; +AB15;ETHIOPIC SYLLABLE DZE;Lo;0;L;;;;;N;;;;; +AB16;ETHIOPIC SYLLABLE DZO;Lo;0;L;;;;;N;;;;; +AB20;ETHIOPIC SYLLABLE CCHHA;Lo;0;L;;;;;N;;;;; +AB21;ETHIOPIC SYLLABLE CCHHU;Lo;0;L;;;;;N;;;;; +AB22;ETHIOPIC SYLLABLE CCHHI;Lo;0;L;;;;;N;;;;; +AB23;ETHIOPIC SYLLABLE CCHHAA;Lo;0;L;;;;;N;;;;; +AB24;ETHIOPIC SYLLABLE CCHHEE;Lo;0;L;;;;;N;;;;; +AB25;ETHIOPIC SYLLABLE CCHHE;Lo;0;L;;;;;N;;;;; +AB26;ETHIOPIC SYLLABLE CCHHO;Lo;0;L;;;;;N;;;;; +AB28;ETHIOPIC SYLLABLE BBA;Lo;0;L;;;;;N;;;;; +AB29;ETHIOPIC SYLLABLE BBU;Lo;0;L;;;;;N;;;;; +AB2A;ETHIOPIC SYLLABLE BBI;Lo;0;L;;;;;N;;;;; +AB2B;ETHIOPIC SYLLABLE BBAA;Lo;0;L;;;;;N;;;;; +AB2C;ETHIOPIC SYLLABLE BBEE;Lo;0;L;;;;;N;;;;; +AB2D;ETHIOPIC SYLLABLE BBE;Lo;0;L;;;;;N;;;;; +AB2E;ETHIOPIC SYLLABLE BBO;Lo;0;L;;;;;N;;;;; +AB30;LATIN SMALL LETTER BARRED ALPHA;Ll;0;L;;;;;N;;;;; +AB31;LATIN SMALL LETTER A REVERSED-SCHWA;Ll;0;L;;;;;N;;;;; +AB32;LATIN SMALL LETTER BLACKLETTER E;Ll;0;L;;;;;N;;;;; +AB33;LATIN SMALL LETTER BARRED E;Ll;0;L;;;;;N;;;;; +AB34;LATIN SMALL LETTER E WITH FLOURISH;Ll;0;L;;;;;N;;;;; +AB35;LATIN SMALL LETTER LENIS F;Ll;0;L;;;;;N;;;;; +AB36;LATIN SMALL LETTER SCRIPT G WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB37;LATIN SMALL LETTER L WITH INVERTED LAZY S;Ll;0;L;;;;;N;;;;; +AB38;LATIN SMALL LETTER L WITH DOUBLE MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +AB39;LATIN SMALL LETTER L WITH MIDDLE RING;Ll;0;L;;;;;N;;;;; +AB3A;LATIN SMALL LETTER M WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB3B;LATIN SMALL LETTER N WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB3C;LATIN SMALL LETTER ENG WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB3D;LATIN SMALL LETTER BLACKLETTER O;Ll;0;L;;;;;N;;;;; +AB3E;LATIN SMALL LETTER BLACKLETTER O WITH STROKE;Ll;0;L;;;;;N;;;;; +AB3F;LATIN SMALL LETTER OPEN O WITH STROKE;Ll;0;L;;;;;N;;;;; +AB40;LATIN SMALL LETTER INVERTED OE;Ll;0;L;;;;;N;;;;; +AB41;LATIN SMALL LETTER TURNED OE WITH STROKE;Ll;0;L;;;;;N;;;;; +AB42;LATIN SMALL LETTER TURNED OE WITH HORIZONTAL STROKE;Ll;0;L;;;;;N;;;;; +AB43;LATIN SMALL LETTER TURNED O OPEN-O;Ll;0;L;;;;;N;;;;; +AB44;LATIN SMALL LETTER TURNED O OPEN-O WITH STROKE;Ll;0;L;;;;;N;;;;; +AB45;LATIN SMALL LETTER STIRRUP R;Ll;0;L;;;;;N;;;;; +AB46;LATIN LETTER SMALL CAPITAL R WITH RIGHT LEG;Ll;0;L;;;;;N;;;;; +AB47;LATIN SMALL LETTER R WITHOUT HANDLE;Ll;0;L;;;;;N;;;;; +AB48;LATIN SMALL LETTER DOUBLE R;Ll;0;L;;;;;N;;;;; +AB49;LATIN SMALL LETTER R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB4A;LATIN SMALL LETTER DOUBLE R WITH CROSSED-TAIL;Ll;0;L;;;;;N;;;;; +AB4B;LATIN SMALL LETTER SCRIPT R;Ll;0;L;;;;;N;;;;; +AB4C;LATIN SMALL LETTER SCRIPT R WITH RING;Ll;0;L;;;;;N;;;;; +AB4D;LATIN SMALL LETTER BASELINE ESH;Ll;0;L;;;;;N;;;;; +AB4E;LATIN SMALL LETTER U WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;; +AB4F;LATIN SMALL LETTER U BAR WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;; +AB50;LATIN SMALL LETTER UI;Ll;0;L;;;;;N;;;;; +AB51;LATIN SMALL LETTER TURNED UI;Ll;0;L;;;;;N;;;;; +AB52;LATIN SMALL LETTER U WITH LEFT HOOK;Ll;0;L;;;;;N;;;;; +AB53;LATIN SMALL LETTER CHI;Ll;0;L;;;;;N;;;A7B3;;A7B3 +AB54;LATIN SMALL LETTER CHI WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; +AB55;LATIN SMALL LETTER CHI WITH LOW LEFT SERIF;Ll;0;L;;;;;N;;;;; +AB56;LATIN SMALL LETTER X WITH LOW RIGHT RING;Ll;0;L;;;;;N;;;;; +AB57;LATIN SMALL LETTER X WITH LONG LEFT LEG;Ll;0;L;;;;;N;;;;; +AB58;LATIN SMALL LETTER X WITH LONG LEFT LEG AND LOW RIGHT RING;Ll;0;L;;;;;N;;;;; +AB59;LATIN SMALL LETTER X WITH LONG LEFT LEG WITH SERIF;Ll;0;L;;;;;N;;;;; +AB5A;LATIN SMALL LETTER Y WITH SHORT RIGHT LEG;Ll;0;L;;;;;N;;;;; +AB5B;MODIFIER BREVE WITH INVERTED BREVE;Sk;0;L;;;;;N;;;;; +AB5C;MODIFIER LETTER SMALL HENG;Lm;0;L; A727;;;;N;;;;; +AB5D;MODIFIER LETTER SMALL L WITH INVERTED LAZY S;Lm;0;L; AB37;;;;N;;;;; +AB5E;MODIFIER LETTER SMALL L WITH MIDDLE TILDE;Lm;0;L; 026B;;;;N;;;;; +AB5F;MODIFIER LETTER SMALL U WITH LEFT HOOK;Lm;0;L; AB52;;;;N;;;;; +AB60;LATIN SMALL LETTER SAKHA YAT;Ll;0;L;;;;;N;;;;; +AB61;LATIN SMALL LETTER IOTIFIED E;Ll;0;L;;;;;N;;;;; +AB62;LATIN SMALL LETTER OPEN OE;Ll;0;L;;;;;N;;;;; +AB63;LATIN SMALL LETTER UO;Ll;0;L;;;;;N;;;;; +AB64;LATIN SMALL LETTER INVERTED ALPHA;Ll;0;L;;;;;N;;;;; +AB65;GREEK LETTER SMALL CAPITAL OMEGA;Ll;0;L;;;;;N;;;;; +AB66;LATIN SMALL LETTER DZ DIGRAPH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +AB67;LATIN SMALL LETTER TS DIGRAPH WITH RETROFLEX HOOK;Ll;0;L;;;;;N;;;;; +AB68;LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;; +AB69;MODIFIER LETTER SMALL TURNED W;Lm;0;L; 028D;;;;N;;;;; +AB6A;MODIFIER LETTER LEFT TACK;Sk;0;ON;;;;;N;;;;; +AB6B;MODIFIER LETTER RIGHT TACK;Sk;0;ON;;;;;N;;;;; +AB70;CHEROKEE SMALL LETTER A;Ll;0;L;;;;;N;;;13A0;;13A0 +AB71;CHEROKEE SMALL LETTER E;Ll;0;L;;;;;N;;;13A1;;13A1 +AB72;CHEROKEE SMALL LETTER I;Ll;0;L;;;;;N;;;13A2;;13A2 +AB73;CHEROKEE SMALL LETTER O;Ll;0;L;;;;;N;;;13A3;;13A3 +AB74;CHEROKEE SMALL LETTER U;Ll;0;L;;;;;N;;;13A4;;13A4 +AB75;CHEROKEE SMALL LETTER V;Ll;0;L;;;;;N;;;13A5;;13A5 +AB76;CHEROKEE SMALL LETTER GA;Ll;0;L;;;;;N;;;13A6;;13A6 +AB77;CHEROKEE SMALL LETTER KA;Ll;0;L;;;;;N;;;13A7;;13A7 +AB78;CHEROKEE SMALL LETTER GE;Ll;0;L;;;;;N;;;13A8;;13A8 +AB79;CHEROKEE SMALL LETTER GI;Ll;0;L;;;;;N;;;13A9;;13A9 +AB7A;CHEROKEE SMALL LETTER GO;Ll;0;L;;;;;N;;;13AA;;13AA +AB7B;CHEROKEE SMALL LETTER GU;Ll;0;L;;;;;N;;;13AB;;13AB +AB7C;CHEROKEE SMALL LETTER GV;Ll;0;L;;;;;N;;;13AC;;13AC +AB7D;CHEROKEE SMALL LETTER HA;Ll;0;L;;;;;N;;;13AD;;13AD +AB7E;CHEROKEE SMALL LETTER HE;Ll;0;L;;;;;N;;;13AE;;13AE +AB7F;CHEROKEE SMALL LETTER HI;Ll;0;L;;;;;N;;;13AF;;13AF +AB80;CHEROKEE SMALL LETTER HO;Ll;0;L;;;;;N;;;13B0;;13B0 +AB81;CHEROKEE SMALL LETTER HU;Ll;0;L;;;;;N;;;13B1;;13B1 +AB82;CHEROKEE SMALL LETTER HV;Ll;0;L;;;;;N;;;13B2;;13B2 +AB83;CHEROKEE SMALL LETTER LA;Ll;0;L;;;;;N;;;13B3;;13B3 +AB84;CHEROKEE SMALL LETTER LE;Ll;0;L;;;;;N;;;13B4;;13B4 +AB85;CHEROKEE SMALL LETTER LI;Ll;0;L;;;;;N;;;13B5;;13B5 +AB86;CHEROKEE SMALL LETTER LO;Ll;0;L;;;;;N;;;13B6;;13B6 +AB87;CHEROKEE SMALL LETTER LU;Ll;0;L;;;;;N;;;13B7;;13B7 +AB88;CHEROKEE SMALL LETTER LV;Ll;0;L;;;;;N;;;13B8;;13B8 +AB89;CHEROKEE SMALL LETTER MA;Ll;0;L;;;;;N;;;13B9;;13B9 +AB8A;CHEROKEE SMALL LETTER ME;Ll;0;L;;;;;N;;;13BA;;13BA +AB8B;CHEROKEE SMALL LETTER MI;Ll;0;L;;;;;N;;;13BB;;13BB +AB8C;CHEROKEE SMALL LETTER MO;Ll;0;L;;;;;N;;;13BC;;13BC +AB8D;CHEROKEE SMALL LETTER MU;Ll;0;L;;;;;N;;;13BD;;13BD +AB8E;CHEROKEE SMALL LETTER NA;Ll;0;L;;;;;N;;;13BE;;13BE +AB8F;CHEROKEE SMALL LETTER HNA;Ll;0;L;;;;;N;;;13BF;;13BF +AB90;CHEROKEE SMALL LETTER NAH;Ll;0;L;;;;;N;;;13C0;;13C0 +AB91;CHEROKEE SMALL LETTER NE;Ll;0;L;;;;;N;;;13C1;;13C1 +AB92;CHEROKEE SMALL LETTER NI;Ll;0;L;;;;;N;;;13C2;;13C2 +AB93;CHEROKEE SMALL LETTER NO;Ll;0;L;;;;;N;;;13C3;;13C3 +AB94;CHEROKEE SMALL LETTER NU;Ll;0;L;;;;;N;;;13C4;;13C4 +AB95;CHEROKEE SMALL LETTER NV;Ll;0;L;;;;;N;;;13C5;;13C5 +AB96;CHEROKEE SMALL LETTER QUA;Ll;0;L;;;;;N;;;13C6;;13C6 +AB97;CHEROKEE SMALL LETTER QUE;Ll;0;L;;;;;N;;;13C7;;13C7 +AB98;CHEROKEE SMALL LETTER QUI;Ll;0;L;;;;;N;;;13C8;;13C8 +AB99;CHEROKEE SMALL LETTER QUO;Ll;0;L;;;;;N;;;13C9;;13C9 +AB9A;CHEROKEE SMALL LETTER QUU;Ll;0;L;;;;;N;;;13CA;;13CA +AB9B;CHEROKEE SMALL LETTER QUV;Ll;0;L;;;;;N;;;13CB;;13CB +AB9C;CHEROKEE SMALL LETTER SA;Ll;0;L;;;;;N;;;13CC;;13CC +AB9D;CHEROKEE SMALL LETTER S;Ll;0;L;;;;;N;;;13CD;;13CD +AB9E;CHEROKEE SMALL LETTER SE;Ll;0;L;;;;;N;;;13CE;;13CE +AB9F;CHEROKEE SMALL LETTER SI;Ll;0;L;;;;;N;;;13CF;;13CF +ABA0;CHEROKEE SMALL LETTER SO;Ll;0;L;;;;;N;;;13D0;;13D0 +ABA1;CHEROKEE SMALL LETTER SU;Ll;0;L;;;;;N;;;13D1;;13D1 +ABA2;CHEROKEE SMALL LETTER SV;Ll;0;L;;;;;N;;;13D2;;13D2 +ABA3;CHEROKEE SMALL LETTER DA;Ll;0;L;;;;;N;;;13D3;;13D3 +ABA4;CHEROKEE SMALL LETTER TA;Ll;0;L;;;;;N;;;13D4;;13D4 +ABA5;CHEROKEE SMALL LETTER DE;Ll;0;L;;;;;N;;;13D5;;13D5 +ABA6;CHEROKEE SMALL LETTER TE;Ll;0;L;;;;;N;;;13D6;;13D6 +ABA7;CHEROKEE SMALL LETTER DI;Ll;0;L;;;;;N;;;13D7;;13D7 +ABA8;CHEROKEE SMALL LETTER TI;Ll;0;L;;;;;N;;;13D8;;13D8 +ABA9;CHEROKEE SMALL LETTER DO;Ll;0;L;;;;;N;;;13D9;;13D9 +ABAA;CHEROKEE SMALL LETTER DU;Ll;0;L;;;;;N;;;13DA;;13DA +ABAB;CHEROKEE SMALL LETTER DV;Ll;0;L;;;;;N;;;13DB;;13DB +ABAC;CHEROKEE SMALL LETTER DLA;Ll;0;L;;;;;N;;;13DC;;13DC +ABAD;CHEROKEE SMALL LETTER TLA;Ll;0;L;;;;;N;;;13DD;;13DD +ABAE;CHEROKEE SMALL LETTER TLE;Ll;0;L;;;;;N;;;13DE;;13DE +ABAF;CHEROKEE SMALL LETTER TLI;Ll;0;L;;;;;N;;;13DF;;13DF +ABB0;CHEROKEE SMALL LETTER TLO;Ll;0;L;;;;;N;;;13E0;;13E0 +ABB1;CHEROKEE SMALL LETTER TLU;Ll;0;L;;;;;N;;;13E1;;13E1 +ABB2;CHEROKEE SMALL LETTER TLV;Ll;0;L;;;;;N;;;13E2;;13E2 +ABB3;CHEROKEE SMALL LETTER TSA;Ll;0;L;;;;;N;;;13E3;;13E3 +ABB4;CHEROKEE SMALL LETTER TSE;Ll;0;L;;;;;N;;;13E4;;13E4 +ABB5;CHEROKEE SMALL LETTER TSI;Ll;0;L;;;;;N;;;13E5;;13E5 +ABB6;CHEROKEE SMALL LETTER TSO;Ll;0;L;;;;;N;;;13E6;;13E6 +ABB7;CHEROKEE SMALL LETTER TSU;Ll;0;L;;;;;N;;;13E7;;13E7 +ABB8;CHEROKEE SMALL LETTER TSV;Ll;0;L;;;;;N;;;13E8;;13E8 +ABB9;CHEROKEE SMALL LETTER WA;Ll;0;L;;;;;N;;;13E9;;13E9 +ABBA;CHEROKEE SMALL LETTER WE;Ll;0;L;;;;;N;;;13EA;;13EA +ABBB;CHEROKEE SMALL LETTER WI;Ll;0;L;;;;;N;;;13EB;;13EB +ABBC;CHEROKEE SMALL LETTER WO;Ll;0;L;;;;;N;;;13EC;;13EC +ABBD;CHEROKEE SMALL LETTER WU;Ll;0;L;;;;;N;;;13ED;;13ED +ABBE;CHEROKEE SMALL LETTER WV;Ll;0;L;;;;;N;;;13EE;;13EE +ABBF;CHEROKEE SMALL LETTER YA;Ll;0;L;;;;;N;;;13EF;;13EF +ABC0;MEETEI MAYEK LETTER KOK;Lo;0;L;;;;;N;;;;; +ABC1;MEETEI MAYEK LETTER SAM;Lo;0;L;;;;;N;;;;; +ABC2;MEETEI MAYEK LETTER LAI;Lo;0;L;;;;;N;;;;; +ABC3;MEETEI MAYEK LETTER MIT;Lo;0;L;;;;;N;;;;; +ABC4;MEETEI MAYEK LETTER PA;Lo;0;L;;;;;N;;;;; +ABC5;MEETEI MAYEK LETTER NA;Lo;0;L;;;;;N;;;;; +ABC6;MEETEI MAYEK LETTER CHIL;Lo;0;L;;;;;N;;;;; +ABC7;MEETEI MAYEK LETTER TIL;Lo;0;L;;;;;N;;;;; +ABC8;MEETEI MAYEK LETTER KHOU;Lo;0;L;;;;;N;;;;; +ABC9;MEETEI MAYEK LETTER NGOU;Lo;0;L;;;;;N;;;;; +ABCA;MEETEI MAYEK LETTER THOU;Lo;0;L;;;;;N;;;;; +ABCB;MEETEI MAYEK LETTER WAI;Lo;0;L;;;;;N;;;;; +ABCC;MEETEI MAYEK LETTER YANG;Lo;0;L;;;;;N;;;;; +ABCD;MEETEI MAYEK LETTER HUK;Lo;0;L;;;;;N;;;;; +ABCE;MEETEI MAYEK LETTER UN;Lo;0;L;;;;;N;;;;; +ABCF;MEETEI MAYEK LETTER I;Lo;0;L;;;;;N;;;;; +ABD0;MEETEI MAYEK LETTER PHAM;Lo;0;L;;;;;N;;;;; +ABD1;MEETEI MAYEK LETTER ATIYA;Lo;0;L;;;;;N;;;;; +ABD2;MEETEI MAYEK LETTER GOK;Lo;0;L;;;;;N;;;;; +ABD3;MEETEI MAYEK LETTER JHAM;Lo;0;L;;;;;N;;;;; +ABD4;MEETEI MAYEK LETTER RAI;Lo;0;L;;;;;N;;;;; +ABD5;MEETEI MAYEK LETTER BA;Lo;0;L;;;;;N;;;;; +ABD6;MEETEI MAYEK LETTER JIL;Lo;0;L;;;;;N;;;;; +ABD7;MEETEI MAYEK LETTER DIL;Lo;0;L;;;;;N;;;;; +ABD8;MEETEI MAYEK LETTER GHOU;Lo;0;L;;;;;N;;;;; +ABD9;MEETEI MAYEK LETTER DHOU;Lo;0;L;;;;;N;;;;; +ABDA;MEETEI MAYEK LETTER BHAM;Lo;0;L;;;;;N;;;;; +ABDB;MEETEI MAYEK LETTER KOK LONSUM;Lo;0;L;;;;;N;;;;; +ABDC;MEETEI MAYEK LETTER LAI LONSUM;Lo;0;L;;;;;N;;;;; +ABDD;MEETEI MAYEK LETTER MIT LONSUM;Lo;0;L;;;;;N;;;;; +ABDE;MEETEI MAYEK LETTER PA LONSUM;Lo;0;L;;;;;N;;;;; +ABDF;MEETEI MAYEK LETTER NA LONSUM;Lo;0;L;;;;;N;;;;; +ABE0;MEETEI MAYEK LETTER TIL LONSUM;Lo;0;L;;;;;N;;;;; +ABE1;MEETEI MAYEK LETTER NGOU LONSUM;Lo;0;L;;;;;N;;;;; +ABE2;MEETEI MAYEK LETTER I LONSUM;Lo;0;L;;;;;N;;;;; +ABE3;MEETEI MAYEK VOWEL SIGN ONAP;Mc;0;L;;;;;N;;;;; +ABE4;MEETEI MAYEK VOWEL SIGN INAP;Mc;0;L;;;;;N;;;;; +ABE5;MEETEI MAYEK VOWEL SIGN ANAP;Mn;0;NSM;;;;;N;;;;; +ABE6;MEETEI MAYEK VOWEL SIGN YENAP;Mc;0;L;;;;;N;;;;; +ABE7;MEETEI MAYEK VOWEL SIGN SOUNAP;Mc;0;L;;;;;N;;;;; +ABE8;MEETEI MAYEK VOWEL SIGN UNAP;Mn;0;NSM;;;;;N;;;;; +ABE9;MEETEI MAYEK VOWEL SIGN CHEINAP;Mc;0;L;;;;;N;;;;; +ABEA;MEETEI MAYEK VOWEL SIGN NUNG;Mc;0;L;;;;;N;;;;; +ABEB;MEETEI MAYEK CHEIKHEI;Po;0;L;;;;;N;;;;; +ABEC;MEETEI MAYEK LUM IYEK;Mc;0;L;;;;;N;;;;; +ABED;MEETEI MAYEK APUN IYEK;Mn;9;NSM;;;;;N;;;;; +ABF0;MEETEI MAYEK DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +ABF1;MEETEI MAYEK DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +ABF2;MEETEI MAYEK DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +ABF3;MEETEI MAYEK DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +ABF4;MEETEI MAYEK DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +ABF5;MEETEI MAYEK DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +ABF6;MEETEI MAYEK DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +ABF7;MEETEI MAYEK DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +ABF8;MEETEI MAYEK DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +ABF9;MEETEI MAYEK DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +AC00;;Lo;0;L;;;;;N;;;;; +D7A3;;Lo;0;L;;;;;N;;;;; +D7B0;HANGUL JUNGSEONG O-YEO;Lo;0;L;;;;;N;;;;; +D7B1;HANGUL JUNGSEONG O-O-I;Lo;0;L;;;;;N;;;;; +D7B2;HANGUL JUNGSEONG YO-A;Lo;0;L;;;;;N;;;;; +D7B3;HANGUL JUNGSEONG YO-AE;Lo;0;L;;;;;N;;;;; +D7B4;HANGUL JUNGSEONG YO-EO;Lo;0;L;;;;;N;;;;; +D7B5;HANGUL JUNGSEONG U-YEO;Lo;0;L;;;;;N;;;;; +D7B6;HANGUL JUNGSEONG U-I-I;Lo;0;L;;;;;N;;;;; +D7B7;HANGUL JUNGSEONG YU-AE;Lo;0;L;;;;;N;;;;; +D7B8;HANGUL JUNGSEONG YU-O;Lo;0;L;;;;;N;;;;; +D7B9;HANGUL JUNGSEONG EU-A;Lo;0;L;;;;;N;;;;; +D7BA;HANGUL JUNGSEONG EU-EO;Lo;0;L;;;;;N;;;;; +D7BB;HANGUL JUNGSEONG EU-E;Lo;0;L;;;;;N;;;;; +D7BC;HANGUL JUNGSEONG EU-O;Lo;0;L;;;;;N;;;;; +D7BD;HANGUL JUNGSEONG I-YA-O;Lo;0;L;;;;;N;;;;; +D7BE;HANGUL JUNGSEONG I-YAE;Lo;0;L;;;;;N;;;;; +D7BF;HANGUL JUNGSEONG I-YEO;Lo;0;L;;;;;N;;;;; +D7C0;HANGUL JUNGSEONG I-YE;Lo;0;L;;;;;N;;;;; +D7C1;HANGUL JUNGSEONG I-O-I;Lo;0;L;;;;;N;;;;; +D7C2;HANGUL JUNGSEONG I-YO;Lo;0;L;;;;;N;;;;; +D7C3;HANGUL JUNGSEONG I-YU;Lo;0;L;;;;;N;;;;; +D7C4;HANGUL JUNGSEONG I-I;Lo;0;L;;;;;N;;;;; +D7C5;HANGUL JUNGSEONG ARAEA-A;Lo;0;L;;;;;N;;;;; +D7C6;HANGUL JUNGSEONG ARAEA-E;Lo;0;L;;;;;N;;;;; +D7CB;HANGUL JONGSEONG NIEUN-RIEUL;Lo;0;L;;;;;N;;;;; +D7CC;HANGUL JONGSEONG NIEUN-CHIEUCH;Lo;0;L;;;;;N;;;;; +D7CD;HANGUL JONGSEONG SSANGTIKEUT;Lo;0;L;;;;;N;;;;; +D7CE;HANGUL JONGSEONG SSANGTIKEUT-PIEUP;Lo;0;L;;;;;N;;;;; +D7CF;HANGUL JONGSEONG TIKEUT-PIEUP;Lo;0;L;;;;;N;;;;; +D7D0;HANGUL JONGSEONG TIKEUT-SIOS;Lo;0;L;;;;;N;;;;; +D7D1;HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +D7D2;HANGUL JONGSEONG TIKEUT-CIEUC;Lo;0;L;;;;;N;;;;; +D7D3;HANGUL JONGSEONG TIKEUT-CHIEUCH;Lo;0;L;;;;;N;;;;; +D7D4;HANGUL JONGSEONG TIKEUT-THIEUTH;Lo;0;L;;;;;N;;;;; +D7D5;HANGUL JONGSEONG RIEUL-SSANGKIYEOK;Lo;0;L;;;;;N;;;;; +D7D6;HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH;Lo;0;L;;;;;N;;;;; +D7D7;HANGUL JONGSEONG SSANGRIEUL-KHIEUKH;Lo;0;L;;;;;N;;;;; +D7D8;HANGUL JONGSEONG RIEUL-MIEUM-HIEUH;Lo;0;L;;;;;N;;;;; +D7D9;HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; +D7DA;HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH;Lo;0;L;;;;;N;;;;; +D7DB;HANGUL JONGSEONG RIEUL-YESIEUNG;Lo;0;L;;;;;N;;;;; +D7DC;HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH;Lo;0;L;;;;;N;;;;; +D7DD;HANGUL JONGSEONG KAPYEOUNRIEUL;Lo;0;L;;;;;N;;;;; +D7DE;HANGUL JONGSEONG MIEUM-NIEUN;Lo;0;L;;;;;N;;;;; +D7DF;HANGUL JONGSEONG MIEUM-SSANGNIEUN;Lo;0;L;;;;;N;;;;; +D7E0;HANGUL JONGSEONG SSANGMIEUM;Lo;0;L;;;;;N;;;;; +D7E1;HANGUL JONGSEONG MIEUM-PIEUP-SIOS;Lo;0;L;;;;;N;;;;; +D7E2;HANGUL JONGSEONG MIEUM-CIEUC;Lo;0;L;;;;;N;;;;; +D7E3;HANGUL JONGSEONG PIEUP-TIKEUT;Lo;0;L;;;;;N;;;;; +D7E4;HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH;Lo;0;L;;;;;N;;;;; +D7E5;HANGUL JONGSEONG PIEUP-MIEUM;Lo;0;L;;;;;N;;;;; +D7E6;HANGUL JONGSEONG SSANGPIEUP;Lo;0;L;;;;;N;;;;; +D7E7;HANGUL JONGSEONG PIEUP-SIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +D7E8;HANGUL JONGSEONG PIEUP-CIEUC;Lo;0;L;;;;;N;;;;; +D7E9;HANGUL JONGSEONG PIEUP-CHIEUCH;Lo;0;L;;;;;N;;;;; +D7EA;HANGUL JONGSEONG SIOS-MIEUM;Lo;0;L;;;;;N;;;;; +D7EB;HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +D7EC;HANGUL JONGSEONG SSANGSIOS-KIYEOK;Lo;0;L;;;;;N;;;;; +D7ED;HANGUL JONGSEONG SSANGSIOS-TIKEUT;Lo;0;L;;;;;N;;;;; +D7EE;HANGUL JONGSEONG SIOS-PANSIOS;Lo;0;L;;;;;N;;;;; +D7EF;HANGUL JONGSEONG SIOS-CIEUC;Lo;0;L;;;;;N;;;;; +D7F0;HANGUL JONGSEONG SIOS-CHIEUCH;Lo;0;L;;;;;N;;;;; +D7F1;HANGUL JONGSEONG SIOS-THIEUTH;Lo;0;L;;;;;N;;;;; +D7F2;HANGUL JONGSEONG SIOS-HIEUH;Lo;0;L;;;;;N;;;;; +D7F3;HANGUL JONGSEONG PANSIOS-PIEUP;Lo;0;L;;;;;N;;;;; +D7F4;HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP;Lo;0;L;;;;;N;;;;; +D7F5;HANGUL JONGSEONG YESIEUNG-MIEUM;Lo;0;L;;;;;N;;;;; +D7F6;HANGUL JONGSEONG YESIEUNG-HIEUH;Lo;0;L;;;;;N;;;;; +D7F7;HANGUL JONGSEONG CIEUC-PIEUP;Lo;0;L;;;;;N;;;;; +D7F8;HANGUL JONGSEONG CIEUC-SSANGPIEUP;Lo;0;L;;;;;N;;;;; +D7F9;HANGUL JONGSEONG SSANGCIEUC;Lo;0;L;;;;;N;;;;; +D7FA;HANGUL JONGSEONG PHIEUPH-SIOS;Lo;0;L;;;;;N;;;;; +D7FB;HANGUL JONGSEONG PHIEUPH-THIEUTH;Lo;0;L;;;;;N;;;;; +D800;;Cs;0;L;;;;;N;;;;; +DB7F;;Cs;0;L;;;;;N;;;;; +DB80;;Cs;0;L;;;;;N;;;;; +DBFF;;Cs;0;L;;;;;N;;;;; +DC00;;Cs;0;L;;;;;N;;;;; +DFFF;;Cs;0;L;;;;;N;;;;; +E000;;Co;0;L;;;;;N;;;;; +F8FF;;Co;0;L;;;;;N;;;;; +F900;CJK COMPATIBILITY IDEOGRAPH-F900;Lo;0;L;8C48;;;;N;;;;; +F901;CJK COMPATIBILITY IDEOGRAPH-F901;Lo;0;L;66F4;;;;N;;;;; +F902;CJK COMPATIBILITY IDEOGRAPH-F902;Lo;0;L;8ECA;;;;N;;;;; +F903;CJK COMPATIBILITY IDEOGRAPH-F903;Lo;0;L;8CC8;;;;N;;;;; +F904;CJK COMPATIBILITY IDEOGRAPH-F904;Lo;0;L;6ED1;;;;N;;;;; +F905;CJK COMPATIBILITY IDEOGRAPH-F905;Lo;0;L;4E32;;;;N;;;;; +F906;CJK COMPATIBILITY IDEOGRAPH-F906;Lo;0;L;53E5;;;;N;;;;; +F907;CJK COMPATIBILITY IDEOGRAPH-F907;Lo;0;L;9F9C;;;;N;;;;; +F908;CJK COMPATIBILITY IDEOGRAPH-F908;Lo;0;L;9F9C;;;;N;;;;; +F909;CJK COMPATIBILITY IDEOGRAPH-F909;Lo;0;L;5951;;;;N;;;;; +F90A;CJK COMPATIBILITY IDEOGRAPH-F90A;Lo;0;L;91D1;;;;N;;;;; +F90B;CJK COMPATIBILITY IDEOGRAPH-F90B;Lo;0;L;5587;;;;N;;;;; +F90C;CJK COMPATIBILITY IDEOGRAPH-F90C;Lo;0;L;5948;;;;N;;;;; +F90D;CJK COMPATIBILITY IDEOGRAPH-F90D;Lo;0;L;61F6;;;;N;;;;; +F90E;CJK COMPATIBILITY IDEOGRAPH-F90E;Lo;0;L;7669;;;;N;;;;; +F90F;CJK COMPATIBILITY IDEOGRAPH-F90F;Lo;0;L;7F85;;;;N;;;;; +F910;CJK COMPATIBILITY IDEOGRAPH-F910;Lo;0;L;863F;;;;N;;;;; +F911;CJK COMPATIBILITY IDEOGRAPH-F911;Lo;0;L;87BA;;;;N;;;;; +F912;CJK COMPATIBILITY IDEOGRAPH-F912;Lo;0;L;88F8;;;;N;;;;; +F913;CJK COMPATIBILITY IDEOGRAPH-F913;Lo;0;L;908F;;;;N;;;;; +F914;CJK COMPATIBILITY IDEOGRAPH-F914;Lo;0;L;6A02;;;;N;;;;; +F915;CJK COMPATIBILITY IDEOGRAPH-F915;Lo;0;L;6D1B;;;;N;;;;; +F916;CJK COMPATIBILITY IDEOGRAPH-F916;Lo;0;L;70D9;;;;N;;;;; +F917;CJK COMPATIBILITY IDEOGRAPH-F917;Lo;0;L;73DE;;;;N;;;;; +F918;CJK COMPATIBILITY IDEOGRAPH-F918;Lo;0;L;843D;;;;N;;;;; +F919;CJK COMPATIBILITY IDEOGRAPH-F919;Lo;0;L;916A;;;;N;;;;; +F91A;CJK COMPATIBILITY IDEOGRAPH-F91A;Lo;0;L;99F1;;;;N;;;;; +F91B;CJK COMPATIBILITY IDEOGRAPH-F91B;Lo;0;L;4E82;;;;N;;;;; +F91C;CJK COMPATIBILITY IDEOGRAPH-F91C;Lo;0;L;5375;;;;N;;;;; +F91D;CJK COMPATIBILITY IDEOGRAPH-F91D;Lo;0;L;6B04;;;;N;;;;; +F91E;CJK COMPATIBILITY IDEOGRAPH-F91E;Lo;0;L;721B;;;;N;;;;; +F91F;CJK COMPATIBILITY IDEOGRAPH-F91F;Lo;0;L;862D;;;;N;;;;; +F920;CJK COMPATIBILITY IDEOGRAPH-F920;Lo;0;L;9E1E;;;;N;;;;; +F921;CJK COMPATIBILITY IDEOGRAPH-F921;Lo;0;L;5D50;;;;N;;;;; +F922;CJK COMPATIBILITY IDEOGRAPH-F922;Lo;0;L;6FEB;;;;N;;;;; +F923;CJK COMPATIBILITY IDEOGRAPH-F923;Lo;0;L;85CD;;;;N;;;;; +F924;CJK COMPATIBILITY IDEOGRAPH-F924;Lo;0;L;8964;;;;N;;;;; +F925;CJK COMPATIBILITY IDEOGRAPH-F925;Lo;0;L;62C9;;;;N;;;;; +F926;CJK COMPATIBILITY IDEOGRAPH-F926;Lo;0;L;81D8;;;;N;;;;; +F927;CJK COMPATIBILITY IDEOGRAPH-F927;Lo;0;L;881F;;;;N;;;;; +F928;CJK COMPATIBILITY IDEOGRAPH-F928;Lo;0;L;5ECA;;;;N;;;;; +F929;CJK COMPATIBILITY IDEOGRAPH-F929;Lo;0;L;6717;;;;N;;;;; +F92A;CJK COMPATIBILITY IDEOGRAPH-F92A;Lo;0;L;6D6A;;;;N;;;;; +F92B;CJK COMPATIBILITY IDEOGRAPH-F92B;Lo;0;L;72FC;;;;N;;;;; +F92C;CJK COMPATIBILITY IDEOGRAPH-F92C;Lo;0;L;90CE;;;;N;;;;; +F92D;CJK COMPATIBILITY IDEOGRAPH-F92D;Lo;0;L;4F86;;;;N;;;;; +F92E;CJK COMPATIBILITY IDEOGRAPH-F92E;Lo;0;L;51B7;;;;N;;;;; +F92F;CJK COMPATIBILITY IDEOGRAPH-F92F;Lo;0;L;52DE;;;;N;;;;; +F930;CJK COMPATIBILITY IDEOGRAPH-F930;Lo;0;L;64C4;;;;N;;;;; +F931;CJK COMPATIBILITY IDEOGRAPH-F931;Lo;0;L;6AD3;;;;N;;;;; +F932;CJK COMPATIBILITY IDEOGRAPH-F932;Lo;0;L;7210;;;;N;;;;; +F933;CJK COMPATIBILITY IDEOGRAPH-F933;Lo;0;L;76E7;;;;N;;;;; +F934;CJK COMPATIBILITY IDEOGRAPH-F934;Lo;0;L;8001;;;;N;;;;; +F935;CJK COMPATIBILITY IDEOGRAPH-F935;Lo;0;L;8606;;;;N;;;;; +F936;CJK COMPATIBILITY IDEOGRAPH-F936;Lo;0;L;865C;;;;N;;;;; +F937;CJK COMPATIBILITY IDEOGRAPH-F937;Lo;0;L;8DEF;;;;N;;;;; +F938;CJK COMPATIBILITY IDEOGRAPH-F938;Lo;0;L;9732;;;;N;;;;; +F939;CJK COMPATIBILITY IDEOGRAPH-F939;Lo;0;L;9B6F;;;;N;;;;; +F93A;CJK COMPATIBILITY IDEOGRAPH-F93A;Lo;0;L;9DFA;;;;N;;;;; +F93B;CJK COMPATIBILITY IDEOGRAPH-F93B;Lo;0;L;788C;;;;N;;;;; +F93C;CJK COMPATIBILITY IDEOGRAPH-F93C;Lo;0;L;797F;;;;N;;;;; +F93D;CJK COMPATIBILITY IDEOGRAPH-F93D;Lo;0;L;7DA0;;;;N;;;;; +F93E;CJK COMPATIBILITY IDEOGRAPH-F93E;Lo;0;L;83C9;;;;N;;;;; +F93F;CJK COMPATIBILITY IDEOGRAPH-F93F;Lo;0;L;9304;;;;N;;;;; +F940;CJK COMPATIBILITY IDEOGRAPH-F940;Lo;0;L;9E7F;;;;N;;;;; +F941;CJK COMPATIBILITY IDEOGRAPH-F941;Lo;0;L;8AD6;;;;N;;;;; +F942;CJK COMPATIBILITY IDEOGRAPH-F942;Lo;0;L;58DF;;;;N;;;;; +F943;CJK COMPATIBILITY IDEOGRAPH-F943;Lo;0;L;5F04;;;;N;;;;; +F944;CJK COMPATIBILITY IDEOGRAPH-F944;Lo;0;L;7C60;;;;N;;;;; +F945;CJK COMPATIBILITY IDEOGRAPH-F945;Lo;0;L;807E;;;;N;;;;; +F946;CJK COMPATIBILITY IDEOGRAPH-F946;Lo;0;L;7262;;;;N;;;;; +F947;CJK COMPATIBILITY IDEOGRAPH-F947;Lo;0;L;78CA;;;;N;;;;; +F948;CJK COMPATIBILITY IDEOGRAPH-F948;Lo;0;L;8CC2;;;;N;;;;; +F949;CJK COMPATIBILITY IDEOGRAPH-F949;Lo;0;L;96F7;;;;N;;;;; +F94A;CJK COMPATIBILITY IDEOGRAPH-F94A;Lo;0;L;58D8;;;;N;;;;; +F94B;CJK COMPATIBILITY IDEOGRAPH-F94B;Lo;0;L;5C62;;;;N;;;;; +F94C;CJK COMPATIBILITY IDEOGRAPH-F94C;Lo;0;L;6A13;;;;N;;;;; +F94D;CJK COMPATIBILITY IDEOGRAPH-F94D;Lo;0;L;6DDA;;;;N;;;;; +F94E;CJK COMPATIBILITY IDEOGRAPH-F94E;Lo;0;L;6F0F;;;;N;;;;; +F94F;CJK COMPATIBILITY IDEOGRAPH-F94F;Lo;0;L;7D2F;;;;N;;;;; +F950;CJK COMPATIBILITY IDEOGRAPH-F950;Lo;0;L;7E37;;;;N;;;;; +F951;CJK COMPATIBILITY IDEOGRAPH-F951;Lo;0;L;964B;;;;N;;;;; +F952;CJK COMPATIBILITY IDEOGRAPH-F952;Lo;0;L;52D2;;;;N;;;;; +F953;CJK COMPATIBILITY IDEOGRAPH-F953;Lo;0;L;808B;;;;N;;;;; +F954;CJK COMPATIBILITY IDEOGRAPH-F954;Lo;0;L;51DC;;;;N;;;;; +F955;CJK COMPATIBILITY IDEOGRAPH-F955;Lo;0;L;51CC;;;;N;;;;; +F956;CJK COMPATIBILITY IDEOGRAPH-F956;Lo;0;L;7A1C;;;;N;;;;; +F957;CJK COMPATIBILITY IDEOGRAPH-F957;Lo;0;L;7DBE;;;;N;;;;; +F958;CJK COMPATIBILITY IDEOGRAPH-F958;Lo;0;L;83F1;;;;N;;;;; +F959;CJK COMPATIBILITY IDEOGRAPH-F959;Lo;0;L;9675;;;;N;;;;; +F95A;CJK COMPATIBILITY IDEOGRAPH-F95A;Lo;0;L;8B80;;;;N;;;;; +F95B;CJK COMPATIBILITY IDEOGRAPH-F95B;Lo;0;L;62CF;;;;N;;;;; +F95C;CJK COMPATIBILITY IDEOGRAPH-F95C;Lo;0;L;6A02;;;;N;;;;; +F95D;CJK COMPATIBILITY IDEOGRAPH-F95D;Lo;0;L;8AFE;;;;N;;;;; +F95E;CJK COMPATIBILITY IDEOGRAPH-F95E;Lo;0;L;4E39;;;;N;;;;; +F95F;CJK COMPATIBILITY IDEOGRAPH-F95F;Lo;0;L;5BE7;;;;N;;;;; +F960;CJK COMPATIBILITY IDEOGRAPH-F960;Lo;0;L;6012;;;;N;;;;; +F961;CJK COMPATIBILITY IDEOGRAPH-F961;Lo;0;L;7387;;;;N;;;;; +F962;CJK COMPATIBILITY IDEOGRAPH-F962;Lo;0;L;7570;;;;N;;;;; +F963;CJK COMPATIBILITY IDEOGRAPH-F963;Lo;0;L;5317;;;;N;;;;; +F964;CJK COMPATIBILITY IDEOGRAPH-F964;Lo;0;L;78FB;;;;N;;;;; +F965;CJK COMPATIBILITY IDEOGRAPH-F965;Lo;0;L;4FBF;;;;N;;;;; +F966;CJK COMPATIBILITY IDEOGRAPH-F966;Lo;0;L;5FA9;;;;N;;;;; +F967;CJK COMPATIBILITY IDEOGRAPH-F967;Lo;0;L;4E0D;;;;N;;;;; +F968;CJK COMPATIBILITY IDEOGRAPH-F968;Lo;0;L;6CCC;;;;N;;;;; +F969;CJK COMPATIBILITY IDEOGRAPH-F969;Lo;0;L;6578;;;;N;;;;; +F96A;CJK COMPATIBILITY IDEOGRAPH-F96A;Lo;0;L;7D22;;;;N;;;;; +F96B;CJK COMPATIBILITY IDEOGRAPH-F96B;Lo;0;L;53C3;;;3;N;;;;; +F96C;CJK COMPATIBILITY IDEOGRAPH-F96C;Lo;0;L;585E;;;;N;;;;; +F96D;CJK COMPATIBILITY IDEOGRAPH-F96D;Lo;0;L;7701;;;;N;;;;; +F96E;CJK COMPATIBILITY IDEOGRAPH-F96E;Lo;0;L;8449;;;;N;;;;; +F96F;CJK COMPATIBILITY IDEOGRAPH-F96F;Lo;0;L;8AAA;;;;N;;;;; +F970;CJK COMPATIBILITY IDEOGRAPH-F970;Lo;0;L;6BBA;;;;N;;;;; +F971;CJK COMPATIBILITY IDEOGRAPH-F971;Lo;0;L;8FB0;;;;N;;;;; +F972;CJK COMPATIBILITY IDEOGRAPH-F972;Lo;0;L;6C88;;;;N;;;;; +F973;CJK COMPATIBILITY IDEOGRAPH-F973;Lo;0;L;62FE;;;10;N;;;;; +F974;CJK COMPATIBILITY IDEOGRAPH-F974;Lo;0;L;82E5;;;;N;;;;; +F975;CJK COMPATIBILITY IDEOGRAPH-F975;Lo;0;L;63A0;;;;N;;;;; +F976;CJK COMPATIBILITY IDEOGRAPH-F976;Lo;0;L;7565;;;;N;;;;; +F977;CJK COMPATIBILITY IDEOGRAPH-F977;Lo;0;L;4EAE;;;;N;;;;; +F978;CJK COMPATIBILITY IDEOGRAPH-F978;Lo;0;L;5169;;;2;N;;;;; +F979;CJK COMPATIBILITY IDEOGRAPH-F979;Lo;0;L;51C9;;;;N;;;;; +F97A;CJK COMPATIBILITY IDEOGRAPH-F97A;Lo;0;L;6881;;;;N;;;;; +F97B;CJK COMPATIBILITY IDEOGRAPH-F97B;Lo;0;L;7CE7;;;;N;;;;; +F97C;CJK COMPATIBILITY IDEOGRAPH-F97C;Lo;0;L;826F;;;;N;;;;; +F97D;CJK COMPATIBILITY IDEOGRAPH-F97D;Lo;0;L;8AD2;;;;N;;;;; +F97E;CJK COMPATIBILITY IDEOGRAPH-F97E;Lo;0;L;91CF;;;;N;;;;; +F97F;CJK COMPATIBILITY IDEOGRAPH-F97F;Lo;0;L;52F5;;;;N;;;;; +F980;CJK COMPATIBILITY IDEOGRAPH-F980;Lo;0;L;5442;;;;N;;;;; +F981;CJK COMPATIBILITY IDEOGRAPH-F981;Lo;0;L;5973;;;;N;;;;; +F982;CJK COMPATIBILITY IDEOGRAPH-F982;Lo;0;L;5EEC;;;;N;;;;; +F983;CJK COMPATIBILITY IDEOGRAPH-F983;Lo;0;L;65C5;;;;N;;;;; +F984;CJK COMPATIBILITY IDEOGRAPH-F984;Lo;0;L;6FFE;;;;N;;;;; +F985;CJK COMPATIBILITY IDEOGRAPH-F985;Lo;0;L;792A;;;;N;;;;; +F986;CJK COMPATIBILITY IDEOGRAPH-F986;Lo;0;L;95AD;;;;N;;;;; +F987;CJK COMPATIBILITY IDEOGRAPH-F987;Lo;0;L;9A6A;;;;N;;;;; +F988;CJK COMPATIBILITY IDEOGRAPH-F988;Lo;0;L;9E97;;;;N;;;;; +F989;CJK COMPATIBILITY IDEOGRAPH-F989;Lo;0;L;9ECE;;;;N;;;;; +F98A;CJK COMPATIBILITY IDEOGRAPH-F98A;Lo;0;L;529B;;;;N;;;;; +F98B;CJK COMPATIBILITY IDEOGRAPH-F98B;Lo;0;L;66C6;;;;N;;;;; +F98C;CJK COMPATIBILITY IDEOGRAPH-F98C;Lo;0;L;6B77;;;;N;;;;; +F98D;CJK COMPATIBILITY IDEOGRAPH-F98D;Lo;0;L;8F62;;;;N;;;;; +F98E;CJK COMPATIBILITY IDEOGRAPH-F98E;Lo;0;L;5E74;;;;N;;;;; +F98F;CJK COMPATIBILITY IDEOGRAPH-F98F;Lo;0;L;6190;;;;N;;;;; +F990;CJK COMPATIBILITY IDEOGRAPH-F990;Lo;0;L;6200;;;;N;;;;; +F991;CJK COMPATIBILITY IDEOGRAPH-F991;Lo;0;L;649A;;;;N;;;;; +F992;CJK COMPATIBILITY IDEOGRAPH-F992;Lo;0;L;6F23;;;;N;;;;; +F993;CJK COMPATIBILITY IDEOGRAPH-F993;Lo;0;L;7149;;;;N;;;;; +F994;CJK COMPATIBILITY IDEOGRAPH-F994;Lo;0;L;7489;;;;N;;;;; +F995;CJK COMPATIBILITY IDEOGRAPH-F995;Lo;0;L;79CA;;;;N;;;;; +F996;CJK COMPATIBILITY IDEOGRAPH-F996;Lo;0;L;7DF4;;;;N;;;;; +F997;CJK COMPATIBILITY IDEOGRAPH-F997;Lo;0;L;806F;;;;N;;;;; +F998;CJK COMPATIBILITY IDEOGRAPH-F998;Lo;0;L;8F26;;;;N;;;;; +F999;CJK COMPATIBILITY IDEOGRAPH-F999;Lo;0;L;84EE;;;;N;;;;; +F99A;CJK COMPATIBILITY IDEOGRAPH-F99A;Lo;0;L;9023;;;;N;;;;; +F99B;CJK COMPATIBILITY IDEOGRAPH-F99B;Lo;0;L;934A;;;;N;;;;; +F99C;CJK COMPATIBILITY IDEOGRAPH-F99C;Lo;0;L;5217;;;;N;;;;; +F99D;CJK COMPATIBILITY IDEOGRAPH-F99D;Lo;0;L;52A3;;;;N;;;;; +F99E;CJK COMPATIBILITY IDEOGRAPH-F99E;Lo;0;L;54BD;;;;N;;;;; +F99F;CJK COMPATIBILITY IDEOGRAPH-F99F;Lo;0;L;70C8;;;;N;;;;; +F9A0;CJK COMPATIBILITY IDEOGRAPH-F9A0;Lo;0;L;88C2;;;;N;;;;; +F9A1;CJK COMPATIBILITY IDEOGRAPH-F9A1;Lo;0;L;8AAA;;;;N;;;;; +F9A2;CJK COMPATIBILITY IDEOGRAPH-F9A2;Lo;0;L;5EC9;;;;N;;;;; +F9A3;CJK COMPATIBILITY IDEOGRAPH-F9A3;Lo;0;L;5FF5;;;;N;;;;; +F9A4;CJK COMPATIBILITY IDEOGRAPH-F9A4;Lo;0;L;637B;;;;N;;;;; +F9A5;CJK COMPATIBILITY IDEOGRAPH-F9A5;Lo;0;L;6BAE;;;;N;;;;; +F9A6;CJK COMPATIBILITY IDEOGRAPH-F9A6;Lo;0;L;7C3E;;;;N;;;;; +F9A7;CJK COMPATIBILITY IDEOGRAPH-F9A7;Lo;0;L;7375;;;;N;;;;; +F9A8;CJK COMPATIBILITY IDEOGRAPH-F9A8;Lo;0;L;4EE4;;;;N;;;;; +F9A9;CJK COMPATIBILITY IDEOGRAPH-F9A9;Lo;0;L;56F9;;;;N;;;;; +F9AA;CJK COMPATIBILITY IDEOGRAPH-F9AA;Lo;0;L;5BE7;;;;N;;;;; +F9AB;CJK COMPATIBILITY IDEOGRAPH-F9AB;Lo;0;L;5DBA;;;;N;;;;; +F9AC;CJK COMPATIBILITY IDEOGRAPH-F9AC;Lo;0;L;601C;;;;N;;;;; +F9AD;CJK COMPATIBILITY IDEOGRAPH-F9AD;Lo;0;L;73B2;;;;N;;;;; +F9AE;CJK COMPATIBILITY IDEOGRAPH-F9AE;Lo;0;L;7469;;;;N;;;;; +F9AF;CJK COMPATIBILITY IDEOGRAPH-F9AF;Lo;0;L;7F9A;;;;N;;;;; +F9B0;CJK COMPATIBILITY IDEOGRAPH-F9B0;Lo;0;L;8046;;;;N;;;;; +F9B1;CJK COMPATIBILITY IDEOGRAPH-F9B1;Lo;0;L;9234;;;;N;;;;; +F9B2;CJK COMPATIBILITY IDEOGRAPH-F9B2;Lo;0;L;96F6;;;0;N;;;;; +F9B3;CJK COMPATIBILITY IDEOGRAPH-F9B3;Lo;0;L;9748;;;;N;;;;; +F9B4;CJK COMPATIBILITY IDEOGRAPH-F9B4;Lo;0;L;9818;;;;N;;;;; +F9B5;CJK COMPATIBILITY IDEOGRAPH-F9B5;Lo;0;L;4F8B;;;;N;;;;; +F9B6;CJK COMPATIBILITY IDEOGRAPH-F9B6;Lo;0;L;79AE;;;;N;;;;; +F9B7;CJK COMPATIBILITY IDEOGRAPH-F9B7;Lo;0;L;91B4;;;;N;;;;; +F9B8;CJK COMPATIBILITY IDEOGRAPH-F9B8;Lo;0;L;96B8;;;;N;;;;; +F9B9;CJK COMPATIBILITY IDEOGRAPH-F9B9;Lo;0;L;60E1;;;;N;;;;; +F9BA;CJK COMPATIBILITY IDEOGRAPH-F9BA;Lo;0;L;4E86;;;;N;;;;; +F9BB;CJK COMPATIBILITY IDEOGRAPH-F9BB;Lo;0;L;50DA;;;;N;;;;; +F9BC;CJK COMPATIBILITY IDEOGRAPH-F9BC;Lo;0;L;5BEE;;;;N;;;;; +F9BD;CJK COMPATIBILITY IDEOGRAPH-F9BD;Lo;0;L;5C3F;;;;N;;;;; +F9BE;CJK COMPATIBILITY IDEOGRAPH-F9BE;Lo;0;L;6599;;;;N;;;;; +F9BF;CJK COMPATIBILITY IDEOGRAPH-F9BF;Lo;0;L;6A02;;;;N;;;;; +F9C0;CJK COMPATIBILITY IDEOGRAPH-F9C0;Lo;0;L;71CE;;;;N;;;;; +F9C1;CJK COMPATIBILITY IDEOGRAPH-F9C1;Lo;0;L;7642;;;;N;;;;; +F9C2;CJK COMPATIBILITY IDEOGRAPH-F9C2;Lo;0;L;84FC;;;;N;;;;; +F9C3;CJK COMPATIBILITY IDEOGRAPH-F9C3;Lo;0;L;907C;;;;N;;;;; +F9C4;CJK COMPATIBILITY IDEOGRAPH-F9C4;Lo;0;L;9F8D;;;;N;;;;; +F9C5;CJK COMPATIBILITY IDEOGRAPH-F9C5;Lo;0;L;6688;;;;N;;;;; +F9C6;CJK COMPATIBILITY IDEOGRAPH-F9C6;Lo;0;L;962E;;;;N;;;;; +F9C7;CJK COMPATIBILITY IDEOGRAPH-F9C7;Lo;0;L;5289;;;;N;;;;; +F9C8;CJK COMPATIBILITY IDEOGRAPH-F9C8;Lo;0;L;677B;;;;N;;;;; +F9C9;CJK COMPATIBILITY IDEOGRAPH-F9C9;Lo;0;L;67F3;;;;N;;;;; +F9CA;CJK COMPATIBILITY IDEOGRAPH-F9CA;Lo;0;L;6D41;;;;N;;;;; +F9CB;CJK COMPATIBILITY IDEOGRAPH-F9CB;Lo;0;L;6E9C;;;;N;;;;; +F9CC;CJK COMPATIBILITY IDEOGRAPH-F9CC;Lo;0;L;7409;;;;N;;;;; +F9CD;CJK COMPATIBILITY IDEOGRAPH-F9CD;Lo;0;L;7559;;;;N;;;;; +F9CE;CJK COMPATIBILITY IDEOGRAPH-F9CE;Lo;0;L;786B;;;;N;;;;; +F9CF;CJK COMPATIBILITY IDEOGRAPH-F9CF;Lo;0;L;7D10;;;;N;;;;; +F9D0;CJK COMPATIBILITY IDEOGRAPH-F9D0;Lo;0;L;985E;;;;N;;;;; +F9D1;CJK COMPATIBILITY IDEOGRAPH-F9D1;Lo;0;L;516D;;;6;N;;;;; +F9D2;CJK COMPATIBILITY IDEOGRAPH-F9D2;Lo;0;L;622E;;;;N;;;;; +F9D3;CJK COMPATIBILITY IDEOGRAPH-F9D3;Lo;0;L;9678;;;6;N;;;;; +F9D4;CJK COMPATIBILITY IDEOGRAPH-F9D4;Lo;0;L;502B;;;;N;;;;; +F9D5;CJK COMPATIBILITY IDEOGRAPH-F9D5;Lo;0;L;5D19;;;;N;;;;; +F9D6;CJK COMPATIBILITY IDEOGRAPH-F9D6;Lo;0;L;6DEA;;;;N;;;;; +F9D7;CJK COMPATIBILITY IDEOGRAPH-F9D7;Lo;0;L;8F2A;;;;N;;;;; +F9D8;CJK COMPATIBILITY IDEOGRAPH-F9D8;Lo;0;L;5F8B;;;;N;;;;; +F9D9;CJK COMPATIBILITY IDEOGRAPH-F9D9;Lo;0;L;6144;;;;N;;;;; +F9DA;CJK COMPATIBILITY IDEOGRAPH-F9DA;Lo;0;L;6817;;;;N;;;;; +F9DB;CJK COMPATIBILITY IDEOGRAPH-F9DB;Lo;0;L;7387;;;;N;;;;; +F9DC;CJK COMPATIBILITY IDEOGRAPH-F9DC;Lo;0;L;9686;;;;N;;;;; +F9DD;CJK COMPATIBILITY IDEOGRAPH-F9DD;Lo;0;L;5229;;;;N;;;;; +F9DE;CJK COMPATIBILITY IDEOGRAPH-F9DE;Lo;0;L;540F;;;;N;;;;; +F9DF;CJK COMPATIBILITY IDEOGRAPH-F9DF;Lo;0;L;5C65;;;;N;;;;; +F9E0;CJK COMPATIBILITY IDEOGRAPH-F9E0;Lo;0;L;6613;;;;N;;;;; +F9E1;CJK COMPATIBILITY IDEOGRAPH-F9E1;Lo;0;L;674E;;;;N;;;;; +F9E2;CJK COMPATIBILITY IDEOGRAPH-F9E2;Lo;0;L;68A8;;;;N;;;;; +F9E3;CJK COMPATIBILITY IDEOGRAPH-F9E3;Lo;0;L;6CE5;;;;N;;;;; +F9E4;CJK COMPATIBILITY IDEOGRAPH-F9E4;Lo;0;L;7406;;;;N;;;;; +F9E5;CJK COMPATIBILITY IDEOGRAPH-F9E5;Lo;0;L;75E2;;;;N;;;;; +F9E6;CJK COMPATIBILITY IDEOGRAPH-F9E6;Lo;0;L;7F79;;;;N;;;;; +F9E7;CJK COMPATIBILITY IDEOGRAPH-F9E7;Lo;0;L;88CF;;;;N;;;;; +F9E8;CJK COMPATIBILITY IDEOGRAPH-F9E8;Lo;0;L;88E1;;;;N;;;;; +F9E9;CJK COMPATIBILITY IDEOGRAPH-F9E9;Lo;0;L;91CC;;;;N;;;;; +F9EA;CJK COMPATIBILITY IDEOGRAPH-F9EA;Lo;0;L;96E2;;;;N;;;;; +F9EB;CJK COMPATIBILITY IDEOGRAPH-F9EB;Lo;0;L;533F;;;;N;;;;; +F9EC;CJK COMPATIBILITY IDEOGRAPH-F9EC;Lo;0;L;6EBA;;;;N;;;;; +F9ED;CJK COMPATIBILITY IDEOGRAPH-F9ED;Lo;0;L;541D;;;;N;;;;; +F9EE;CJK COMPATIBILITY IDEOGRAPH-F9EE;Lo;0;L;71D0;;;;N;;;;; +F9EF;CJK COMPATIBILITY IDEOGRAPH-F9EF;Lo;0;L;7498;;;;N;;;;; +F9F0;CJK COMPATIBILITY IDEOGRAPH-F9F0;Lo;0;L;85FA;;;;N;;;;; +F9F1;CJK COMPATIBILITY IDEOGRAPH-F9F1;Lo;0;L;96A3;;;;N;;;;; +F9F2;CJK COMPATIBILITY IDEOGRAPH-F9F2;Lo;0;L;9C57;;;;N;;;;; +F9F3;CJK COMPATIBILITY IDEOGRAPH-F9F3;Lo;0;L;9E9F;;;;N;;;;; +F9F4;CJK COMPATIBILITY IDEOGRAPH-F9F4;Lo;0;L;6797;;;;N;;;;; +F9F5;CJK COMPATIBILITY IDEOGRAPH-F9F5;Lo;0;L;6DCB;;;;N;;;;; +F9F6;CJK COMPATIBILITY IDEOGRAPH-F9F6;Lo;0;L;81E8;;;;N;;;;; +F9F7;CJK COMPATIBILITY IDEOGRAPH-F9F7;Lo;0;L;7ACB;;;;N;;;;; +F9F8;CJK COMPATIBILITY IDEOGRAPH-F9F8;Lo;0;L;7B20;;;;N;;;;; +F9F9;CJK COMPATIBILITY IDEOGRAPH-F9F9;Lo;0;L;7C92;;;;N;;;;; +F9FA;CJK COMPATIBILITY IDEOGRAPH-F9FA;Lo;0;L;72C0;;;;N;;;;; +F9FB;CJK COMPATIBILITY IDEOGRAPH-F9FB;Lo;0;L;7099;;;;N;;;;; +F9FC;CJK COMPATIBILITY IDEOGRAPH-F9FC;Lo;0;L;8B58;;;;N;;;;; +F9FD;CJK COMPATIBILITY IDEOGRAPH-F9FD;Lo;0;L;4EC0;;;10;N;;;;; +F9FE;CJK COMPATIBILITY IDEOGRAPH-F9FE;Lo;0;L;8336;;;;N;;;;; +F9FF;CJK COMPATIBILITY IDEOGRAPH-F9FF;Lo;0;L;523A;;;;N;;;;; +FA00;CJK COMPATIBILITY IDEOGRAPH-FA00;Lo;0;L;5207;;;;N;;;;; +FA01;CJK COMPATIBILITY IDEOGRAPH-FA01;Lo;0;L;5EA6;;;;N;;;;; +FA02;CJK COMPATIBILITY IDEOGRAPH-FA02;Lo;0;L;62D3;;;;N;;;;; +FA03;CJK COMPATIBILITY IDEOGRAPH-FA03;Lo;0;L;7CD6;;;;N;;;;; +FA04;CJK COMPATIBILITY IDEOGRAPH-FA04;Lo;0;L;5B85;;;;N;;;;; +FA05;CJK COMPATIBILITY IDEOGRAPH-FA05;Lo;0;L;6D1E;;;;N;;;;; +FA06;CJK COMPATIBILITY IDEOGRAPH-FA06;Lo;0;L;66B4;;;;N;;;;; +FA07;CJK COMPATIBILITY IDEOGRAPH-FA07;Lo;0;L;8F3B;;;;N;;;;; +FA08;CJK COMPATIBILITY IDEOGRAPH-FA08;Lo;0;L;884C;;;;N;;;;; +FA09;CJK COMPATIBILITY IDEOGRAPH-FA09;Lo;0;L;964D;;;;N;;;;; +FA0A;CJK COMPATIBILITY IDEOGRAPH-FA0A;Lo;0;L;898B;;;;N;;;;; +FA0B;CJK COMPATIBILITY IDEOGRAPH-FA0B;Lo;0;L;5ED3;;;;N;;;;; +FA0C;CJK COMPATIBILITY IDEOGRAPH-FA0C;Lo;0;L;5140;;;;N;;;;; +FA0D;CJK COMPATIBILITY IDEOGRAPH-FA0D;Lo;0;L;55C0;;;;N;;;;; +FA0E;CJK COMPATIBILITY IDEOGRAPH-FA0E;Lo;0;L;;;;;N;;;;; +FA0F;CJK COMPATIBILITY IDEOGRAPH-FA0F;Lo;0;L;;;;;N;;;;; +FA10;CJK COMPATIBILITY IDEOGRAPH-FA10;Lo;0;L;585A;;;;N;;;;; +FA11;CJK COMPATIBILITY IDEOGRAPH-FA11;Lo;0;L;;;;;N;;;;; +FA12;CJK COMPATIBILITY IDEOGRAPH-FA12;Lo;0;L;6674;;;;N;;;;; +FA13;CJK COMPATIBILITY IDEOGRAPH-FA13;Lo;0;L;;;;;N;;;;; +FA14;CJK COMPATIBILITY IDEOGRAPH-FA14;Lo;0;L;;;;;N;;;;; +FA15;CJK COMPATIBILITY IDEOGRAPH-FA15;Lo;0;L;51DE;;;;N;;;;; +FA16;CJK COMPATIBILITY IDEOGRAPH-FA16;Lo;0;L;732A;;;;N;;;;; +FA17;CJK COMPATIBILITY IDEOGRAPH-FA17;Lo;0;L;76CA;;;;N;;;;; +FA18;CJK COMPATIBILITY IDEOGRAPH-FA18;Lo;0;L;793C;;;;N;;;;; +FA19;CJK COMPATIBILITY IDEOGRAPH-FA19;Lo;0;L;795E;;;;N;;;;; +FA1A;CJK COMPATIBILITY IDEOGRAPH-FA1A;Lo;0;L;7965;;;;N;;;;; +FA1B;CJK COMPATIBILITY IDEOGRAPH-FA1B;Lo;0;L;798F;;;;N;;;;; +FA1C;CJK COMPATIBILITY IDEOGRAPH-FA1C;Lo;0;L;9756;;;;N;;;;; +FA1D;CJK COMPATIBILITY IDEOGRAPH-FA1D;Lo;0;L;7CBE;;;;N;;;;; +FA1E;CJK COMPATIBILITY IDEOGRAPH-FA1E;Lo;0;L;7FBD;;;;N;;;;; +FA1F;CJK COMPATIBILITY IDEOGRAPH-FA1F;Lo;0;L;;;;;N;;;;; +FA20;CJK COMPATIBILITY IDEOGRAPH-FA20;Lo;0;L;8612;;;;N;;;;; +FA21;CJK COMPATIBILITY IDEOGRAPH-FA21;Lo;0;L;;;;;N;;;;; +FA22;CJK COMPATIBILITY IDEOGRAPH-FA22;Lo;0;L;8AF8;;;;N;;;;; +FA23;CJK COMPATIBILITY IDEOGRAPH-FA23;Lo;0;L;;;;;N;;;;; +FA24;CJK COMPATIBILITY IDEOGRAPH-FA24;Lo;0;L;;;;;N;;;;; +FA25;CJK COMPATIBILITY IDEOGRAPH-FA25;Lo;0;L;9038;;;;N;;;;; +FA26;CJK COMPATIBILITY IDEOGRAPH-FA26;Lo;0;L;90FD;;;;N;;;;; +FA27;CJK COMPATIBILITY IDEOGRAPH-FA27;Lo;0;L;;;;;N;;;;; +FA28;CJK COMPATIBILITY IDEOGRAPH-FA28;Lo;0;L;;;;;N;;;;; +FA29;CJK COMPATIBILITY IDEOGRAPH-FA29;Lo;0;L;;;;;N;;;;; +FA2A;CJK COMPATIBILITY IDEOGRAPH-FA2A;Lo;0;L;98EF;;;;N;;;;; +FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;; +FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;; +FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;; +FA2E;CJK COMPATIBILITY IDEOGRAPH-FA2E;Lo;0;L;90DE;;;;N;;;;; +FA2F;CJK COMPATIBILITY IDEOGRAPH-FA2F;Lo;0;L;96B7;;;;N;;;;; +FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;; +FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;; +FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;; +FA33;CJK COMPATIBILITY IDEOGRAPH-FA33;Lo;0;L;52C9;;;;N;;;;; +FA34;CJK COMPATIBILITY IDEOGRAPH-FA34;Lo;0;L;52E4;;;;N;;;;; +FA35;CJK COMPATIBILITY IDEOGRAPH-FA35;Lo;0;L;5351;;;;N;;;;; +FA36;CJK COMPATIBILITY IDEOGRAPH-FA36;Lo;0;L;559D;;;;N;;;;; +FA37;CJK COMPATIBILITY IDEOGRAPH-FA37;Lo;0;L;5606;;;;N;;;;; +FA38;CJK COMPATIBILITY IDEOGRAPH-FA38;Lo;0;L;5668;;;;N;;;;; +FA39;CJK COMPATIBILITY IDEOGRAPH-FA39;Lo;0;L;5840;;;;N;;;;; +FA3A;CJK COMPATIBILITY IDEOGRAPH-FA3A;Lo;0;L;58A8;;;;N;;;;; +FA3B;CJK COMPATIBILITY IDEOGRAPH-FA3B;Lo;0;L;5C64;;;;N;;;;; +FA3C;CJK COMPATIBILITY IDEOGRAPH-FA3C;Lo;0;L;5C6E;;;;N;;;;; +FA3D;CJK COMPATIBILITY IDEOGRAPH-FA3D;Lo;0;L;6094;;;;N;;;;; +FA3E;CJK COMPATIBILITY IDEOGRAPH-FA3E;Lo;0;L;6168;;;;N;;;;; +FA3F;CJK COMPATIBILITY IDEOGRAPH-FA3F;Lo;0;L;618E;;;;N;;;;; +FA40;CJK COMPATIBILITY IDEOGRAPH-FA40;Lo;0;L;61F2;;;;N;;;;; +FA41;CJK COMPATIBILITY IDEOGRAPH-FA41;Lo;0;L;654F;;;;N;;;;; +FA42;CJK COMPATIBILITY IDEOGRAPH-FA42;Lo;0;L;65E2;;;;N;;;;; +FA43;CJK COMPATIBILITY IDEOGRAPH-FA43;Lo;0;L;6691;;;;N;;;;; +FA44;CJK COMPATIBILITY IDEOGRAPH-FA44;Lo;0;L;6885;;;;N;;;;; +FA45;CJK COMPATIBILITY IDEOGRAPH-FA45;Lo;0;L;6D77;;;;N;;;;; +FA46;CJK COMPATIBILITY IDEOGRAPH-FA46;Lo;0;L;6E1A;;;;N;;;;; +FA47;CJK COMPATIBILITY IDEOGRAPH-FA47;Lo;0;L;6F22;;;;N;;;;; +FA48;CJK COMPATIBILITY IDEOGRAPH-FA48;Lo;0;L;716E;;;;N;;;;; +FA49;CJK COMPATIBILITY IDEOGRAPH-FA49;Lo;0;L;722B;;;;N;;;;; +FA4A;CJK COMPATIBILITY IDEOGRAPH-FA4A;Lo;0;L;7422;;;;N;;;;; +FA4B;CJK COMPATIBILITY IDEOGRAPH-FA4B;Lo;0;L;7891;;;;N;;;;; +FA4C;CJK COMPATIBILITY IDEOGRAPH-FA4C;Lo;0;L;793E;;;;N;;;;; +FA4D;CJK COMPATIBILITY IDEOGRAPH-FA4D;Lo;0;L;7949;;;;N;;;;; +FA4E;CJK COMPATIBILITY IDEOGRAPH-FA4E;Lo;0;L;7948;;;;N;;;;; +FA4F;CJK COMPATIBILITY IDEOGRAPH-FA4F;Lo;0;L;7950;;;;N;;;;; +FA50;CJK COMPATIBILITY IDEOGRAPH-FA50;Lo;0;L;7956;;;;N;;;;; +FA51;CJK COMPATIBILITY IDEOGRAPH-FA51;Lo;0;L;795D;;;;N;;;;; +FA52;CJK COMPATIBILITY IDEOGRAPH-FA52;Lo;0;L;798D;;;;N;;;;; +FA53;CJK COMPATIBILITY IDEOGRAPH-FA53;Lo;0;L;798E;;;;N;;;;; +FA54;CJK COMPATIBILITY IDEOGRAPH-FA54;Lo;0;L;7A40;;;;N;;;;; +FA55;CJK COMPATIBILITY IDEOGRAPH-FA55;Lo;0;L;7A81;;;;N;;;;; +FA56;CJK COMPATIBILITY IDEOGRAPH-FA56;Lo;0;L;7BC0;;;;N;;;;; +FA57;CJK COMPATIBILITY IDEOGRAPH-FA57;Lo;0;L;7DF4;;;;N;;;;; +FA58;CJK COMPATIBILITY IDEOGRAPH-FA58;Lo;0;L;7E09;;;;N;;;;; +FA59;CJK COMPATIBILITY IDEOGRAPH-FA59;Lo;0;L;7E41;;;;N;;;;; +FA5A;CJK COMPATIBILITY IDEOGRAPH-FA5A;Lo;0;L;7F72;;;;N;;;;; +FA5B;CJK COMPATIBILITY IDEOGRAPH-FA5B;Lo;0;L;8005;;;;N;;;;; +FA5C;CJK COMPATIBILITY IDEOGRAPH-FA5C;Lo;0;L;81ED;;;;N;;;;; +FA5D;CJK COMPATIBILITY IDEOGRAPH-FA5D;Lo;0;L;8279;;;;N;;;;; +FA5E;CJK COMPATIBILITY IDEOGRAPH-FA5E;Lo;0;L;8279;;;;N;;;;; +FA5F;CJK COMPATIBILITY IDEOGRAPH-FA5F;Lo;0;L;8457;;;;N;;;;; +FA60;CJK COMPATIBILITY IDEOGRAPH-FA60;Lo;0;L;8910;;;;N;;;;; +FA61;CJK COMPATIBILITY IDEOGRAPH-FA61;Lo;0;L;8996;;;;N;;;;; +FA62;CJK COMPATIBILITY IDEOGRAPH-FA62;Lo;0;L;8B01;;;;N;;;;; +FA63;CJK COMPATIBILITY IDEOGRAPH-FA63;Lo;0;L;8B39;;;;N;;;;; +FA64;CJK COMPATIBILITY IDEOGRAPH-FA64;Lo;0;L;8CD3;;;;N;;;;; +FA65;CJK COMPATIBILITY IDEOGRAPH-FA65;Lo;0;L;8D08;;;;N;;;;; +FA66;CJK COMPATIBILITY IDEOGRAPH-FA66;Lo;0;L;8FB6;;;;N;;;;; +FA67;CJK COMPATIBILITY IDEOGRAPH-FA67;Lo;0;L;9038;;;;N;;;;; +FA68;CJK COMPATIBILITY IDEOGRAPH-FA68;Lo;0;L;96E3;;;;N;;;;; +FA69;CJK COMPATIBILITY IDEOGRAPH-FA69;Lo;0;L;97FF;;;;N;;;;; +FA6A;CJK COMPATIBILITY IDEOGRAPH-FA6A;Lo;0;L;983B;;;;N;;;;; +FA6B;CJK COMPATIBILITY IDEOGRAPH-FA6B;Lo;0;L;6075;;;;N;;;;; +FA6C;CJK COMPATIBILITY IDEOGRAPH-FA6C;Lo;0;L;242EE;;;;N;;;;; +FA6D;CJK COMPATIBILITY IDEOGRAPH-FA6D;Lo;0;L;8218;;;;N;;;;; +FA70;CJK COMPATIBILITY IDEOGRAPH-FA70;Lo;0;L;4E26;;;;N;;;;; +FA71;CJK COMPATIBILITY IDEOGRAPH-FA71;Lo;0;L;51B5;;;;N;;;;; +FA72;CJK COMPATIBILITY IDEOGRAPH-FA72;Lo;0;L;5168;;;;N;;;;; +FA73;CJK COMPATIBILITY IDEOGRAPH-FA73;Lo;0;L;4F80;;;;N;;;;; +FA74;CJK COMPATIBILITY IDEOGRAPH-FA74;Lo;0;L;5145;;;;N;;;;; +FA75;CJK COMPATIBILITY IDEOGRAPH-FA75;Lo;0;L;5180;;;;N;;;;; +FA76;CJK COMPATIBILITY IDEOGRAPH-FA76;Lo;0;L;52C7;;;;N;;;;; +FA77;CJK COMPATIBILITY IDEOGRAPH-FA77;Lo;0;L;52FA;;;;N;;;;; +FA78;CJK COMPATIBILITY IDEOGRAPH-FA78;Lo;0;L;559D;;;;N;;;;; +FA79;CJK COMPATIBILITY IDEOGRAPH-FA79;Lo;0;L;5555;;;;N;;;;; +FA7A;CJK COMPATIBILITY IDEOGRAPH-FA7A;Lo;0;L;5599;;;;N;;;;; +FA7B;CJK COMPATIBILITY IDEOGRAPH-FA7B;Lo;0;L;55E2;;;;N;;;;; +FA7C;CJK COMPATIBILITY IDEOGRAPH-FA7C;Lo;0;L;585A;;;;N;;;;; +FA7D;CJK COMPATIBILITY IDEOGRAPH-FA7D;Lo;0;L;58B3;;;;N;;;;; +FA7E;CJK COMPATIBILITY IDEOGRAPH-FA7E;Lo;0;L;5944;;;;N;;;;; +FA7F;CJK COMPATIBILITY IDEOGRAPH-FA7F;Lo;0;L;5954;;;;N;;;;; +FA80;CJK COMPATIBILITY IDEOGRAPH-FA80;Lo;0;L;5A62;;;;N;;;;; +FA81;CJK COMPATIBILITY IDEOGRAPH-FA81;Lo;0;L;5B28;;;;N;;;;; +FA82;CJK COMPATIBILITY IDEOGRAPH-FA82;Lo;0;L;5ED2;;;;N;;;;; +FA83;CJK COMPATIBILITY IDEOGRAPH-FA83;Lo;0;L;5ED9;;;;N;;;;; +FA84;CJK COMPATIBILITY IDEOGRAPH-FA84;Lo;0;L;5F69;;;;N;;;;; +FA85;CJK COMPATIBILITY IDEOGRAPH-FA85;Lo;0;L;5FAD;;;;N;;;;; +FA86;CJK COMPATIBILITY IDEOGRAPH-FA86;Lo;0;L;60D8;;;;N;;;;; +FA87;CJK COMPATIBILITY IDEOGRAPH-FA87;Lo;0;L;614E;;;;N;;;;; +FA88;CJK COMPATIBILITY IDEOGRAPH-FA88;Lo;0;L;6108;;;;N;;;;; +FA89;CJK COMPATIBILITY IDEOGRAPH-FA89;Lo;0;L;618E;;;;N;;;;; +FA8A;CJK COMPATIBILITY IDEOGRAPH-FA8A;Lo;0;L;6160;;;;N;;;;; +FA8B;CJK COMPATIBILITY IDEOGRAPH-FA8B;Lo;0;L;61F2;;;;N;;;;; +FA8C;CJK COMPATIBILITY IDEOGRAPH-FA8C;Lo;0;L;6234;;;;N;;;;; +FA8D;CJK COMPATIBILITY IDEOGRAPH-FA8D;Lo;0;L;63C4;;;;N;;;;; +FA8E;CJK COMPATIBILITY IDEOGRAPH-FA8E;Lo;0;L;641C;;;;N;;;;; +FA8F;CJK COMPATIBILITY IDEOGRAPH-FA8F;Lo;0;L;6452;;;;N;;;;; +FA90;CJK COMPATIBILITY IDEOGRAPH-FA90;Lo;0;L;6556;;;;N;;;;; +FA91;CJK COMPATIBILITY IDEOGRAPH-FA91;Lo;0;L;6674;;;;N;;;;; +FA92;CJK COMPATIBILITY IDEOGRAPH-FA92;Lo;0;L;6717;;;;N;;;;; +FA93;CJK COMPATIBILITY IDEOGRAPH-FA93;Lo;0;L;671B;;;;N;;;;; +FA94;CJK COMPATIBILITY IDEOGRAPH-FA94;Lo;0;L;6756;;;;N;;;;; +FA95;CJK COMPATIBILITY IDEOGRAPH-FA95;Lo;0;L;6B79;;;;N;;;;; +FA96;CJK COMPATIBILITY IDEOGRAPH-FA96;Lo;0;L;6BBA;;;;N;;;;; +FA97;CJK COMPATIBILITY IDEOGRAPH-FA97;Lo;0;L;6D41;;;;N;;;;; +FA98;CJK COMPATIBILITY IDEOGRAPH-FA98;Lo;0;L;6EDB;;;;N;;;;; +FA99;CJK COMPATIBILITY IDEOGRAPH-FA99;Lo;0;L;6ECB;;;;N;;;;; +FA9A;CJK COMPATIBILITY IDEOGRAPH-FA9A;Lo;0;L;6F22;;;;N;;;;; +FA9B;CJK COMPATIBILITY IDEOGRAPH-FA9B;Lo;0;L;701E;;;;N;;;;; +FA9C;CJK COMPATIBILITY IDEOGRAPH-FA9C;Lo;0;L;716E;;;;N;;;;; +FA9D;CJK COMPATIBILITY IDEOGRAPH-FA9D;Lo;0;L;77A7;;;;N;;;;; +FA9E;CJK COMPATIBILITY IDEOGRAPH-FA9E;Lo;0;L;7235;;;;N;;;;; +FA9F;CJK COMPATIBILITY IDEOGRAPH-FA9F;Lo;0;L;72AF;;;;N;;;;; +FAA0;CJK COMPATIBILITY IDEOGRAPH-FAA0;Lo;0;L;732A;;;;N;;;;; +FAA1;CJK COMPATIBILITY IDEOGRAPH-FAA1;Lo;0;L;7471;;;;N;;;;; +FAA2;CJK COMPATIBILITY IDEOGRAPH-FAA2;Lo;0;L;7506;;;;N;;;;; +FAA3;CJK COMPATIBILITY IDEOGRAPH-FAA3;Lo;0;L;753B;;;;N;;;;; +FAA4;CJK COMPATIBILITY IDEOGRAPH-FAA4;Lo;0;L;761D;;;;N;;;;; +FAA5;CJK COMPATIBILITY IDEOGRAPH-FAA5;Lo;0;L;761F;;;;N;;;;; +FAA6;CJK COMPATIBILITY IDEOGRAPH-FAA6;Lo;0;L;76CA;;;;N;;;;; +FAA7;CJK COMPATIBILITY IDEOGRAPH-FAA7;Lo;0;L;76DB;;;;N;;;;; +FAA8;CJK COMPATIBILITY IDEOGRAPH-FAA8;Lo;0;L;76F4;;;;N;;;;; +FAA9;CJK COMPATIBILITY IDEOGRAPH-FAA9;Lo;0;L;774A;;;;N;;;;; +FAAA;CJK COMPATIBILITY IDEOGRAPH-FAAA;Lo;0;L;7740;;;;N;;;;; +FAAB;CJK COMPATIBILITY IDEOGRAPH-FAAB;Lo;0;L;78CC;;;;N;;;;; +FAAC;CJK COMPATIBILITY IDEOGRAPH-FAAC;Lo;0;L;7AB1;;;;N;;;;; +FAAD;CJK COMPATIBILITY IDEOGRAPH-FAAD;Lo;0;L;7BC0;;;;N;;;;; +FAAE;CJK COMPATIBILITY IDEOGRAPH-FAAE;Lo;0;L;7C7B;;;;N;;;;; +FAAF;CJK COMPATIBILITY IDEOGRAPH-FAAF;Lo;0;L;7D5B;;;;N;;;;; +FAB0;CJK COMPATIBILITY IDEOGRAPH-FAB0;Lo;0;L;7DF4;;;;N;;;;; +FAB1;CJK COMPATIBILITY IDEOGRAPH-FAB1;Lo;0;L;7F3E;;;;N;;;;; +FAB2;CJK COMPATIBILITY IDEOGRAPH-FAB2;Lo;0;L;8005;;;;N;;;;; +FAB3;CJK COMPATIBILITY IDEOGRAPH-FAB3;Lo;0;L;8352;;;;N;;;;; +FAB4;CJK COMPATIBILITY IDEOGRAPH-FAB4;Lo;0;L;83EF;;;;N;;;;; +FAB5;CJK COMPATIBILITY IDEOGRAPH-FAB5;Lo;0;L;8779;;;;N;;;;; +FAB6;CJK COMPATIBILITY IDEOGRAPH-FAB6;Lo;0;L;8941;;;;N;;;;; +FAB7;CJK COMPATIBILITY IDEOGRAPH-FAB7;Lo;0;L;8986;;;;N;;;;; +FAB8;CJK COMPATIBILITY IDEOGRAPH-FAB8;Lo;0;L;8996;;;;N;;;;; +FAB9;CJK COMPATIBILITY IDEOGRAPH-FAB9;Lo;0;L;8ABF;;;;N;;;;; +FABA;CJK COMPATIBILITY IDEOGRAPH-FABA;Lo;0;L;8AF8;;;;N;;;;; +FABB;CJK COMPATIBILITY IDEOGRAPH-FABB;Lo;0;L;8ACB;;;;N;;;;; +FABC;CJK COMPATIBILITY IDEOGRAPH-FABC;Lo;0;L;8B01;;;;N;;;;; +FABD;CJK COMPATIBILITY IDEOGRAPH-FABD;Lo;0;L;8AFE;;;;N;;;;; +FABE;CJK COMPATIBILITY IDEOGRAPH-FABE;Lo;0;L;8AED;;;;N;;;;; +FABF;CJK COMPATIBILITY IDEOGRAPH-FABF;Lo;0;L;8B39;;;;N;;;;; +FAC0;CJK COMPATIBILITY IDEOGRAPH-FAC0;Lo;0;L;8B8A;;;;N;;;;; +FAC1;CJK COMPATIBILITY IDEOGRAPH-FAC1;Lo;0;L;8D08;;;;N;;;;; +FAC2;CJK COMPATIBILITY IDEOGRAPH-FAC2;Lo;0;L;8F38;;;;N;;;;; +FAC3;CJK COMPATIBILITY IDEOGRAPH-FAC3;Lo;0;L;9072;;;;N;;;;; +FAC4;CJK COMPATIBILITY IDEOGRAPH-FAC4;Lo;0;L;9199;;;;N;;;;; +FAC5;CJK COMPATIBILITY IDEOGRAPH-FAC5;Lo;0;L;9276;;;;N;;;;; +FAC6;CJK COMPATIBILITY IDEOGRAPH-FAC6;Lo;0;L;967C;;;;N;;;;; +FAC7;CJK COMPATIBILITY IDEOGRAPH-FAC7;Lo;0;L;96E3;;;;N;;;;; +FAC8;CJK COMPATIBILITY IDEOGRAPH-FAC8;Lo;0;L;9756;;;;N;;;;; +FAC9;CJK COMPATIBILITY IDEOGRAPH-FAC9;Lo;0;L;97DB;;;;N;;;;; +FACA;CJK COMPATIBILITY IDEOGRAPH-FACA;Lo;0;L;97FF;;;;N;;;;; +FACB;CJK COMPATIBILITY IDEOGRAPH-FACB;Lo;0;L;980B;;;;N;;;;; +FACC;CJK COMPATIBILITY IDEOGRAPH-FACC;Lo;0;L;983B;;;;N;;;;; +FACD;CJK COMPATIBILITY IDEOGRAPH-FACD;Lo;0;L;9B12;;;;N;;;;; +FACE;CJK COMPATIBILITY IDEOGRAPH-FACE;Lo;0;L;9F9C;;;;N;;;;; +FACF;CJK COMPATIBILITY IDEOGRAPH-FACF;Lo;0;L;2284A;;;;N;;;;; +FAD0;CJK COMPATIBILITY IDEOGRAPH-FAD0;Lo;0;L;22844;;;;N;;;;; +FAD1;CJK COMPATIBILITY IDEOGRAPH-FAD1;Lo;0;L;233D5;;;;N;;;;; +FAD2;CJK COMPATIBILITY IDEOGRAPH-FAD2;Lo;0;L;3B9D;;;;N;;;;; +FAD3;CJK COMPATIBILITY IDEOGRAPH-FAD3;Lo;0;L;4018;;;;N;;;;; +FAD4;CJK COMPATIBILITY IDEOGRAPH-FAD4;Lo;0;L;4039;;;;N;;;;; +FAD5;CJK COMPATIBILITY IDEOGRAPH-FAD5;Lo;0;L;25249;;;;N;;;;; +FAD6;CJK COMPATIBILITY IDEOGRAPH-FAD6;Lo;0;L;25CD0;;;;N;;;;; +FAD7;CJK COMPATIBILITY IDEOGRAPH-FAD7;Lo;0;L;27ED3;;;;N;;;;; +FAD8;CJK COMPATIBILITY IDEOGRAPH-FAD8;Lo;0;L;9F43;;;;N;;;;; +FAD9;CJK COMPATIBILITY IDEOGRAPH-FAD9;Lo;0;L;9F8E;;;;N;;;;; +FB00;LATIN SMALL LIGATURE FF;Ll;0;L; 0066 0066;;;;N;;;;; +FB01;LATIN SMALL LIGATURE FI;Ll;0;L; 0066 0069;;;;N;;;;; +FB02;LATIN SMALL LIGATURE FL;Ll;0;L; 0066 006C;;;;N;;;;; +FB03;LATIN SMALL LIGATURE FFI;Ll;0;L; 0066 0066 0069;;;;N;;;;; +FB04;LATIN SMALL LIGATURE FFL;Ll;0;L; 0066 0066 006C;;;;N;;;;; +FB05;LATIN SMALL LIGATURE LONG S T;Ll;0;L; 017F 0074;;;;N;;;;; +FB06;LATIN SMALL LIGATURE ST;Ll;0;L; 0073 0074;;;;N;;;;; +FB13;ARMENIAN SMALL LIGATURE MEN NOW;Ll;0;L; 0574 0576;;;;N;;;;; +FB14;ARMENIAN SMALL LIGATURE MEN ECH;Ll;0;L; 0574 0565;;;;N;;;;; +FB15;ARMENIAN SMALL LIGATURE MEN INI;Ll;0;L; 0574 056B;;;;N;;;;; +FB16;ARMENIAN SMALL LIGATURE VEW NOW;Ll;0;L; 057E 0576;;;;N;;;;; +FB17;ARMENIAN SMALL LIGATURE MEN XEH;Ll;0;L; 0574 056D;;;;N;;;;; +FB1D;HEBREW LETTER YOD WITH HIRIQ;Lo;0;R;05D9 05B4;;;;N;;;;; +FB1E;HEBREW POINT JUDEO-SPANISH VARIKA;Mn;26;NSM;;;;;N;HEBREW POINT VARIKA;;;; +FB1F;HEBREW LIGATURE YIDDISH YOD YOD PATAH;Lo;0;R;05F2 05B7;;;;N;;;;; +FB20;HEBREW LETTER ALTERNATIVE AYIN;Lo;0;R; 05E2;;;;N;;;;; +FB21;HEBREW LETTER WIDE ALEF;Lo;0;R; 05D0;;;;N;;;;; +FB22;HEBREW LETTER WIDE DALET;Lo;0;R; 05D3;;;;N;;;;; +FB23;HEBREW LETTER WIDE HE;Lo;0;R; 05D4;;;;N;;;;; +FB24;HEBREW LETTER WIDE KAF;Lo;0;R; 05DB;;;;N;;;;; +FB25;HEBREW LETTER WIDE LAMED;Lo;0;R; 05DC;;;;N;;;;; +FB26;HEBREW LETTER WIDE FINAL MEM;Lo;0;R; 05DD;;;;N;;;;; +FB27;HEBREW LETTER WIDE RESH;Lo;0;R; 05E8;;;;N;;;;; +FB28;HEBREW LETTER WIDE TAV;Lo;0;R; 05EA;;;;N;;;;; +FB29;HEBREW LETTER ALTERNATIVE PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FB2A;HEBREW LETTER SHIN WITH SHIN DOT;Lo;0;R;05E9 05C1;;;;N;;;;; +FB2B;HEBREW LETTER SHIN WITH SIN DOT;Lo;0;R;05E9 05C2;;;;N;;;;; +FB2C;HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT;Lo;0;R;FB49 05C1;;;;N;;;;; +FB2D;HEBREW LETTER SHIN WITH DAGESH AND SIN DOT;Lo;0;R;FB49 05C2;;;;N;;;;; +FB2E;HEBREW LETTER ALEF WITH PATAH;Lo;0;R;05D0 05B7;;;;N;;;;; +FB2F;HEBREW LETTER ALEF WITH QAMATS;Lo;0;R;05D0 05B8;;;;N;;;;; +FB30;HEBREW LETTER ALEF WITH MAPIQ;Lo;0;R;05D0 05BC;;;;N;;;;; +FB31;HEBREW LETTER BET WITH DAGESH;Lo;0;R;05D1 05BC;;;;N;;;;; +FB32;HEBREW LETTER GIMEL WITH DAGESH;Lo;0;R;05D2 05BC;;;;N;;;;; +FB33;HEBREW LETTER DALET WITH DAGESH;Lo;0;R;05D3 05BC;;;;N;;;;; +FB34;HEBREW LETTER HE WITH MAPIQ;Lo;0;R;05D4 05BC;;;;N;;;;; +FB35;HEBREW LETTER VAV WITH DAGESH;Lo;0;R;05D5 05BC;;;;N;;;;; +FB36;HEBREW LETTER ZAYIN WITH DAGESH;Lo;0;R;05D6 05BC;;;;N;;;;; +FB38;HEBREW LETTER TET WITH DAGESH;Lo;0;R;05D8 05BC;;;;N;;;;; +FB39;HEBREW LETTER YOD WITH DAGESH;Lo;0;R;05D9 05BC;;;;N;;;;; +FB3A;HEBREW LETTER FINAL KAF WITH DAGESH;Lo;0;R;05DA 05BC;;;;N;;;;; +FB3B;HEBREW LETTER KAF WITH DAGESH;Lo;0;R;05DB 05BC;;;;N;;;;; +FB3C;HEBREW LETTER LAMED WITH DAGESH;Lo;0;R;05DC 05BC;;;;N;;;;; +FB3E;HEBREW LETTER MEM WITH DAGESH;Lo;0;R;05DE 05BC;;;;N;;;;; +FB40;HEBREW LETTER NUN WITH DAGESH;Lo;0;R;05E0 05BC;;;;N;;;;; +FB41;HEBREW LETTER SAMEKH WITH DAGESH;Lo;0;R;05E1 05BC;;;;N;;;;; +FB43;HEBREW LETTER FINAL PE WITH DAGESH;Lo;0;R;05E3 05BC;;;;N;;;;; +FB44;HEBREW LETTER PE WITH DAGESH;Lo;0;R;05E4 05BC;;;;N;;;;; +FB46;HEBREW LETTER TSADI WITH DAGESH;Lo;0;R;05E6 05BC;;;;N;;;;; +FB47;HEBREW LETTER QOF WITH DAGESH;Lo;0;R;05E7 05BC;;;;N;;;;; +FB48;HEBREW LETTER RESH WITH DAGESH;Lo;0;R;05E8 05BC;;;;N;;;;; +FB49;HEBREW LETTER SHIN WITH DAGESH;Lo;0;R;05E9 05BC;;;;N;;;;; +FB4A;HEBREW LETTER TAV WITH DAGESH;Lo;0;R;05EA 05BC;;;;N;;;;; +FB4B;HEBREW LETTER VAV WITH HOLAM;Lo;0;R;05D5 05B9;;;;N;;;;; +FB4C;HEBREW LETTER BET WITH RAFE;Lo;0;R;05D1 05BF;;;;N;;;;; +FB4D;HEBREW LETTER KAF WITH RAFE;Lo;0;R;05DB 05BF;;;;N;;;;; +FB4E;HEBREW LETTER PE WITH RAFE;Lo;0;R;05E4 05BF;;;;N;;;;; +FB4F;HEBREW LIGATURE ALEF LAMED;Lo;0;R; 05D0 05DC;;;;N;;;;; +FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM;Lo;0;AL; 0671;;;;N;;;;; +FB51;ARABIC LETTER ALEF WASLA FINAL FORM;Lo;0;AL; 0671;;;;N;;;;; +FB52;ARABIC LETTER BEEH ISOLATED FORM;Lo;0;AL; 067B;;;;N;;;;; +FB53;ARABIC LETTER BEEH FINAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB54;ARABIC LETTER BEEH INITIAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB55;ARABIC LETTER BEEH MEDIAL FORM;Lo;0;AL; 067B;;;;N;;;;; +FB56;ARABIC LETTER PEH ISOLATED FORM;Lo;0;AL; 067E;;;;N;;;;; +FB57;ARABIC LETTER PEH FINAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB58;ARABIC LETTER PEH INITIAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB59;ARABIC LETTER PEH MEDIAL FORM;Lo;0;AL; 067E;;;;N;;;;; +FB5A;ARABIC LETTER BEHEH ISOLATED FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5B;ARABIC LETTER BEHEH FINAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5C;ARABIC LETTER BEHEH INITIAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5D;ARABIC LETTER BEHEH MEDIAL FORM;Lo;0;AL; 0680;;;;N;;;;; +FB5E;ARABIC LETTER TTEHEH ISOLATED FORM;Lo;0;AL; 067A;;;;N;;;;; +FB5F;ARABIC LETTER TTEHEH FINAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB60;ARABIC LETTER TTEHEH INITIAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB61;ARABIC LETTER TTEHEH MEDIAL FORM;Lo;0;AL; 067A;;;;N;;;;; +FB62;ARABIC LETTER TEHEH ISOLATED FORM;Lo;0;AL; 067F;;;;N;;;;; +FB63;ARABIC LETTER TEHEH FINAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB64;ARABIC LETTER TEHEH INITIAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB65;ARABIC LETTER TEHEH MEDIAL FORM;Lo;0;AL; 067F;;;;N;;;;; +FB66;ARABIC LETTER TTEH ISOLATED FORM;Lo;0;AL; 0679;;;;N;;;;; +FB67;ARABIC LETTER TTEH FINAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB68;ARABIC LETTER TTEH INITIAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB69;ARABIC LETTER TTEH MEDIAL FORM;Lo;0;AL; 0679;;;;N;;;;; +FB6A;ARABIC LETTER VEH ISOLATED FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6B;ARABIC LETTER VEH FINAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6C;ARABIC LETTER VEH INITIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6D;ARABIC LETTER VEH MEDIAL FORM;Lo;0;AL; 06A4;;;;N;;;;; +FB6E;ARABIC LETTER PEHEH ISOLATED FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB6F;ARABIC LETTER PEHEH FINAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB70;ARABIC LETTER PEHEH INITIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB71;ARABIC LETTER PEHEH MEDIAL FORM;Lo;0;AL; 06A6;;;;N;;;;; +FB72;ARABIC LETTER DYEH ISOLATED FORM;Lo;0;AL; 0684;;;;N;;;;; +FB73;ARABIC LETTER DYEH FINAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB74;ARABIC LETTER DYEH INITIAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB75;ARABIC LETTER DYEH MEDIAL FORM;Lo;0;AL; 0684;;;;N;;;;; +FB76;ARABIC LETTER NYEH ISOLATED FORM;Lo;0;AL; 0683;;;;N;;;;; +FB77;ARABIC LETTER NYEH FINAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB78;ARABIC LETTER NYEH INITIAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB79;ARABIC LETTER NYEH MEDIAL FORM;Lo;0;AL; 0683;;;;N;;;;; +FB7A;ARABIC LETTER TCHEH ISOLATED FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7B;ARABIC LETTER TCHEH FINAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7C;ARABIC LETTER TCHEH INITIAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7D;ARABIC LETTER TCHEH MEDIAL FORM;Lo;0;AL; 0686;;;;N;;;;; +FB7E;ARABIC LETTER TCHEHEH ISOLATED FORM;Lo;0;AL; 0687;;;;N;;;;; +FB7F;ARABIC LETTER TCHEHEH FINAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB80;ARABIC LETTER TCHEHEH INITIAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB81;ARABIC LETTER TCHEHEH MEDIAL FORM;Lo;0;AL; 0687;;;;N;;;;; +FB82;ARABIC LETTER DDAHAL ISOLATED FORM;Lo;0;AL; 068D;;;;N;;;;; +FB83;ARABIC LETTER DDAHAL FINAL FORM;Lo;0;AL; 068D;;;;N;;;;; +FB84;ARABIC LETTER DAHAL ISOLATED FORM;Lo;0;AL; 068C;;;;N;;;;; +FB85;ARABIC LETTER DAHAL FINAL FORM;Lo;0;AL; 068C;;;;N;;;;; +FB86;ARABIC LETTER DUL ISOLATED FORM;Lo;0;AL; 068E;;;;N;;;;; +FB87;ARABIC LETTER DUL FINAL FORM;Lo;0;AL; 068E;;;;N;;;;; +FB88;ARABIC LETTER DDAL ISOLATED FORM;Lo;0;AL; 0688;;;;N;;;;; +FB89;ARABIC LETTER DDAL FINAL FORM;Lo;0;AL; 0688;;;;N;;;;; +FB8A;ARABIC LETTER JEH ISOLATED FORM;Lo;0;AL; 0698;;;;N;;;;; +FB8B;ARABIC LETTER JEH FINAL FORM;Lo;0;AL; 0698;;;;N;;;;; +FB8C;ARABIC LETTER RREH ISOLATED FORM;Lo;0;AL; 0691;;;;N;;;;; +FB8D;ARABIC LETTER RREH FINAL FORM;Lo;0;AL; 0691;;;;N;;;;; +FB8E;ARABIC LETTER KEHEH ISOLATED FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB8F;ARABIC LETTER KEHEH FINAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB90;ARABIC LETTER KEHEH INITIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB91;ARABIC LETTER KEHEH MEDIAL FORM;Lo;0;AL; 06A9;;;;N;;;;; +FB92;ARABIC LETTER GAF ISOLATED FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB93;ARABIC LETTER GAF FINAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB94;ARABIC LETTER GAF INITIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB95;ARABIC LETTER GAF MEDIAL FORM;Lo;0;AL; 06AF;;;;N;;;;; +FB96;ARABIC LETTER GUEH ISOLATED FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB97;ARABIC LETTER GUEH FINAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB98;ARABIC LETTER GUEH INITIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB99;ARABIC LETTER GUEH MEDIAL FORM;Lo;0;AL; 06B3;;;;N;;;;; +FB9A;ARABIC LETTER NGOEH ISOLATED FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9B;ARABIC LETTER NGOEH FINAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9C;ARABIC LETTER NGOEH INITIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9D;ARABIC LETTER NGOEH MEDIAL FORM;Lo;0;AL; 06B1;;;;N;;;;; +FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM;Lo;0;AL; 06BA;;;;N;;;;; +FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM;Lo;0;AL; 06BA;;;;N;;;;; +FBA0;ARABIC LETTER RNOON ISOLATED FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA1;ARABIC LETTER RNOON FINAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA2;ARABIC LETTER RNOON INITIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA3;ARABIC LETTER RNOON MEDIAL FORM;Lo;0;AL; 06BB;;;;N;;;;; +FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM;Lo;0;AL; 06C0;;;;N;;;;; +FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM;Lo;0;AL; 06C0;;;;N;;;;; +FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA7;ARABIC LETTER HEH GOAL FINAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA8;ARABIC LETTER HEH GOAL INITIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM;Lo;0;AL; 06C1;;;;N;;;;; +FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM;Lo;0;AL; 06BE;;;;N;;;;; +FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM;Lo;0;AL; 06D2;;;;N;;;;; +FBAF;ARABIC LETTER YEH BARREE FINAL FORM;Lo;0;AL; 06D2;;;;N;;;;; +FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 06D3;;;;N;;;;; +FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 06D3;;;;N;;;;; +FBB2;ARABIC SYMBOL DOT ABOVE;Sk;0;AL;;;;;N;;;;; +FBB3;ARABIC SYMBOL DOT BELOW;Sk;0;AL;;;;;N;;;;; +FBB4;ARABIC SYMBOL TWO DOTS ABOVE;Sk;0;AL;;;;;N;;;;; +FBB5;ARABIC SYMBOL TWO DOTS BELOW;Sk;0;AL;;;;;N;;;;; +FBB6;ARABIC SYMBOL THREE DOTS ABOVE;Sk;0;AL;;;;;N;;;;; +FBB7;ARABIC SYMBOL THREE DOTS BELOW;Sk;0;AL;;;;;N;;;;; +FBB8;ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE;Sk;0;AL;;;;;N;;;;; +FBB9;ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW;Sk;0;AL;;;;;N;;;;; +FBBA;ARABIC SYMBOL FOUR DOTS ABOVE;Sk;0;AL;;;;;N;;;;; +FBBB;ARABIC SYMBOL FOUR DOTS BELOW;Sk;0;AL;;;;;N;;;;; +FBBC;ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW;Sk;0;AL;;;;;N;;;;; +FBBD;ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE;Sk;0;AL;;;;;N;;;;; +FBBE;ARABIC SYMBOL TWO DOTS VERTICALLY BELOW;Sk;0;AL;;;;;N;;;;; +FBBF;ARABIC SYMBOL RING;Sk;0;AL;;;;;N;;;;; +FBC0;ARABIC SYMBOL SMALL TAH ABOVE;Sk;0;AL;;;;;N;;;;; +FBC1;ARABIC SYMBOL SMALL TAH BELOW;Sk;0;AL;;;;;N;;;;; +FBD3;ARABIC LETTER NG ISOLATED FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD4;ARABIC LETTER NG FINAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD5;ARABIC LETTER NG INITIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD6;ARABIC LETTER NG MEDIAL FORM;Lo;0;AL; 06AD;;;;N;;;;; +FBD7;ARABIC LETTER U ISOLATED FORM;Lo;0;AL; 06C7;;;;N;;;;; +FBD8;ARABIC LETTER U FINAL FORM;Lo;0;AL; 06C7;;;;N;;;;; +FBD9;ARABIC LETTER OE ISOLATED FORM;Lo;0;AL; 06C6;;;;N;;;;; +FBDA;ARABIC LETTER OE FINAL FORM;Lo;0;AL; 06C6;;;;N;;;;; +FBDB;ARABIC LETTER YU ISOLATED FORM;Lo;0;AL; 06C8;;;;N;;;;; +FBDC;ARABIC LETTER YU FINAL FORM;Lo;0;AL; 06C8;;;;N;;;;; +FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0677;;;;N;;;;; +FBDE;ARABIC LETTER VE ISOLATED FORM;Lo;0;AL; 06CB;;;;N;;;;; +FBDF;ARABIC LETTER VE FINAL FORM;Lo;0;AL; 06CB;;;;N;;;;; +FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM;Lo;0;AL; 06C5;;;;N;;;;; +FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM;Lo;0;AL; 06C5;;;;N;;;;; +FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM;Lo;0;AL; 06C9;;;;N;;;;; +FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM;Lo;0;AL; 06C9;;;;N;;;;; +FBE4;ARABIC LETTER E ISOLATED FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE5;ARABIC LETTER E FINAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE6;ARABIC LETTER E INITIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE7;ARABIC LETTER E MEDIAL FORM;Lo;0;AL; 06D0;;;;N;;;;; +FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0649;;;;N;;;;; +FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM;Lo;0;AL; 0649;;;;N;;;;; +FBEA;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM;Lo;0;AL; 0626 0627;;;;N;;;;; +FBEB;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM;Lo;0;AL; 0626 0627;;;;N;;;;; +FBEC;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; +FBED;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM;Lo;0;AL; 0626 06D5;;;;N;;;;; +FBEE;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM;Lo;0;AL; 0626 0648;;;;N;;;;; +FBEF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM;Lo;0;AL; 0626 0648;;;;N;;;;; +FBF0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; +FBF1;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM;Lo;0;AL; 0626 06C7;;;;N;;;;; +FBF2;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; +FBF3;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM;Lo;0;AL; 0626 06C6;;;;N;;;;; +FBF4;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; +FBF5;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM;Lo;0;AL; 0626 06C8;;;;N;;;;; +FBF6;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF7;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF8;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM;Lo;0;AL; 0626 06D0;;;;N;;;;; +FBF9;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFA;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFB;ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFD;ARABIC LETTER FARSI YEH FINAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFE;ARABIC LETTER FARSI YEH INITIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM;Lo;0;AL; 06CC;;;;N;;;;; +FC00;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM;Lo;0;AL; 0626 062C;;;;N;;;;; +FC01;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM;Lo;0;AL; 0626 062D;;;;N;;;;; +FC02;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC03;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FC04;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM;Lo;0;AL; 0626 064A;;;;N;;;;; +FC05;ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0628 062C;;;;N;;;;; +FC06;ARABIC LIGATURE BEH WITH HAH ISOLATED FORM;Lo;0;AL; 0628 062D;;;;N;;;;; +FC07;ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0628 062E;;;;N;;;;; +FC08;ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FC09;ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0628 0649;;;;N;;;;; +FC0A;ARABIC LIGATURE BEH WITH YEH ISOLATED FORM;Lo;0;AL; 0628 064A;;;;N;;;;; +FC0B;ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062A 062C;;;;N;;;;; +FC0C;ARABIC LIGATURE TEH WITH HAH ISOLATED FORM;Lo;0;AL; 062A 062D;;;;N;;;;; +FC0D;ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM;Lo;0;AL; 062A 062E;;;;N;;;;; +FC0E;ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FC0F;ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062A 0649;;;;N;;;;; +FC10;ARABIC LIGATURE TEH WITH YEH ISOLATED FORM;Lo;0;AL; 062A 064A;;;;N;;;;; +FC11;ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM;Lo;0;AL; 062B 062C;;;;N;;;;; +FC12;ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FC13;ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062B 0649;;;;N;;;;; +FC14;ARABIC LIGATURE THEH WITH YEH ISOLATED FORM;Lo;0;AL; 062B 064A;;;;N;;;;; +FC15;ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM;Lo;0;AL; 062C 062D;;;;N;;;;; +FC16;ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 062C 0645;;;;N;;;;; +FC17;ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062D 062C;;;;N;;;;; +FC18;ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062D 0645;;;;N;;;;; +FC19;ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM;Lo;0;AL; 062E 062C;;;;N;;;;; +FC1A;ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM;Lo;0;AL; 062E 062D;;;;N;;;;; +FC1B;ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM;Lo;0;AL; 062E 0645;;;;N;;;;; +FC1C;ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FC1D;ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FC1E;ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FC1F;ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FC20;ARABIC LIGATURE SAD WITH HAH ISOLATED FORM;Lo;0;AL; 0635 062D;;;;N;;;;; +FC21;ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0635 0645;;;;N;;;;; +FC22;ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM;Lo;0;AL; 0636 062C;;;;N;;;;; +FC23;ARABIC LIGATURE DAD WITH HAH ISOLATED FORM;Lo;0;AL; 0636 062D;;;;N;;;;; +FC24;ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM;Lo;0;AL; 0636 062E;;;;N;;;;; +FC25;ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM;Lo;0;AL; 0636 0645;;;;N;;;;; +FC26;ARABIC LIGATURE TAH WITH HAH ISOLATED FORM;Lo;0;AL; 0637 062D;;;;N;;;;; +FC27;ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FC28;ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FC29;ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM;Lo;0;AL; 0639 062C;;;;N;;;;; +FC2A;ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM;Lo;0;AL; 0639 0645;;;;N;;;;; +FC2B;ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM;Lo;0;AL; 063A 062C;;;;N;;;;; +FC2C;ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM;Lo;0;AL; 063A 0645;;;;N;;;;; +FC2D;ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0641 062C;;;;N;;;;; +FC2E;ARABIC LIGATURE FEH WITH HAH ISOLATED FORM;Lo;0;AL; 0641 062D;;;;N;;;;; +FC2F;ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM;Lo;0;AL; 0641 062E;;;;N;;;;; +FC30;ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0641 0645;;;;N;;;;; +FC31;ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0641 0649;;;;N;;;;; +FC32;ARABIC LIGATURE FEH WITH YEH ISOLATED FORM;Lo;0;AL; 0641 064A;;;;N;;;;; +FC33;ARABIC LIGATURE QAF WITH HAH ISOLATED FORM;Lo;0;AL; 0642 062D;;;;N;;;;; +FC34;ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0642 0645;;;;N;;;;; +FC35;ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0642 0649;;;;N;;;;; +FC36;ARABIC LIGATURE QAF WITH YEH ISOLATED FORM;Lo;0;AL; 0642 064A;;;;N;;;;; +FC37;ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM;Lo;0;AL; 0643 0627;;;;N;;;;; +FC38;ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM;Lo;0;AL; 0643 062C;;;;N;;;;; +FC39;ARABIC LIGATURE KAF WITH HAH ISOLATED FORM;Lo;0;AL; 0643 062D;;;;N;;;;; +FC3A;ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM;Lo;0;AL; 0643 062E;;;;N;;;;; +FC3B;ARABIC LIGATURE KAF WITH LAM ISOLATED FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FC3C;ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FC3D;ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0643 0649;;;;N;;;;; +FC3E;ARABIC LIGATURE KAF WITH YEH ISOLATED FORM;Lo;0;AL; 0643 064A;;;;N;;;;; +FC3F;ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM;Lo;0;AL; 0644 062C;;;;N;;;;; +FC40;ARABIC LIGATURE LAM WITH HAH ISOLATED FORM;Lo;0;AL; 0644 062D;;;;N;;;;; +FC41;ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM;Lo;0;AL; 0644 062E;;;;N;;;;; +FC42;ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FC43;ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0644 0649;;;;N;;;;; +FC44;ARABIC LIGATURE LAM WITH YEH ISOLATED FORM;Lo;0;AL; 0644 064A;;;;N;;;;; +FC45;ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM;Lo;0;AL; 0645 062C;;;;N;;;;; +FC46;ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM;Lo;0;AL; 0645 062D;;;;N;;;;; +FC47;ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM;Lo;0;AL; 0645 062E;;;;N;;;;; +FC48;ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FC49;ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0645 0649;;;;N;;;;; +FC4A;ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM;Lo;0;AL; 0645 064A;;;;N;;;;; +FC4B;ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM;Lo;0;AL; 0646 062C;;;;N;;;;; +FC4C;ARABIC LIGATURE NOON WITH HAH ISOLATED FORM;Lo;0;AL; 0646 062D;;;;N;;;;; +FC4D;ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM;Lo;0;AL; 0646 062E;;;;N;;;;; +FC4E;ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FC4F;ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0646 0649;;;;N;;;;; +FC50;ARABIC LIGATURE NOON WITH YEH ISOLATED FORM;Lo;0;AL; 0646 064A;;;;N;;;;; +FC51;ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM;Lo;0;AL; 0647 062C;;;;N;;;;; +FC52;ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM;Lo;0;AL; 0647 0645;;;;N;;;;; +FC53;ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0647 0649;;;;N;;;;; +FC54;ARABIC LIGATURE HEH WITH YEH ISOLATED FORM;Lo;0;AL; 0647 064A;;;;N;;;;; +FC55;ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM;Lo;0;AL; 064A 062C;;;;N;;;;; +FC56;ARABIC LIGATURE YEH WITH HAH ISOLATED FORM;Lo;0;AL; 064A 062D;;;;N;;;;; +FC57;ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM;Lo;0;AL; 064A 062E;;;;N;;;;; +FC58;ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FC59;ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 064A 0649;;;;N;;;;; +FC5A;ARABIC LIGATURE YEH WITH YEH ISOLATED FORM;Lo;0;AL; 064A 064A;;;;N;;;;; +FC5B;ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0630 0670;;;;N;;;;; +FC5C;ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0631 0670;;;;N;;;;; +FC5D;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0649 0670;;;;N;;;;; +FC5E;ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C 0651;;;;N;;;;; +FC5F;ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D 0651;;;;N;;;;; +FC60;ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM;Lo;0;AL; 0020 064E 0651;;;;N;;;;; +FC61;ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F 0651;;;;N;;;;; +FC62;ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM;Lo;0;AL; 0020 0650 0651;;;;N;;;;; +FC63;ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM;Lo;0;AL; 0020 0651 0670;;;;N;;;;; +FC64;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM;Lo;0;AL; 0626 0631;;;;N;;;;; +FC65;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM;Lo;0;AL; 0626 0632;;;;N;;;;; +FC66;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC67;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM;Lo;0;AL; 0626 0646;;;;N;;;;; +FC68;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0626 0649;;;;N;;;;; +FC69;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM;Lo;0;AL; 0626 064A;;;;N;;;;; +FC6A;ARABIC LIGATURE BEH WITH REH FINAL FORM;Lo;0;AL; 0628 0631;;;;N;;;;; +FC6B;ARABIC LIGATURE BEH WITH ZAIN FINAL FORM;Lo;0;AL; 0628 0632;;;;N;;;;; +FC6C;ARABIC LIGATURE BEH WITH MEEM FINAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FC6D;ARABIC LIGATURE BEH WITH NOON FINAL FORM;Lo;0;AL; 0628 0646;;;;N;;;;; +FC6E;ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0628 0649;;;;N;;;;; +FC6F;ARABIC LIGATURE BEH WITH YEH FINAL FORM;Lo;0;AL; 0628 064A;;;;N;;;;; +FC70;ARABIC LIGATURE TEH WITH REH FINAL FORM;Lo;0;AL; 062A 0631;;;;N;;;;; +FC71;ARABIC LIGATURE TEH WITH ZAIN FINAL FORM;Lo;0;AL; 062A 0632;;;;N;;;;; +FC72;ARABIC LIGATURE TEH WITH MEEM FINAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FC73;ARABIC LIGATURE TEH WITH NOON FINAL FORM;Lo;0;AL; 062A 0646;;;;N;;;;; +FC74;ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0649;;;;N;;;;; +FC75;ARABIC LIGATURE TEH WITH YEH FINAL FORM;Lo;0;AL; 062A 064A;;;;N;;;;; +FC76;ARABIC LIGATURE THEH WITH REH FINAL FORM;Lo;0;AL; 062B 0631;;;;N;;;;; +FC77;ARABIC LIGATURE THEH WITH ZAIN FINAL FORM;Lo;0;AL; 062B 0632;;;;N;;;;; +FC78;ARABIC LIGATURE THEH WITH MEEM FINAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FC79;ARABIC LIGATURE THEH WITH NOON FINAL FORM;Lo;0;AL; 062B 0646;;;;N;;;;; +FC7A;ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062B 0649;;;;N;;;;; +FC7B;ARABIC LIGATURE THEH WITH YEH FINAL FORM;Lo;0;AL; 062B 064A;;;;N;;;;; +FC7C;ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0641 0649;;;;N;;;;; +FC7D;ARABIC LIGATURE FEH WITH YEH FINAL FORM;Lo;0;AL; 0641 064A;;;;N;;;;; +FC7E;ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0642 0649;;;;N;;;;; +FC7F;ARABIC LIGATURE QAF WITH YEH FINAL FORM;Lo;0;AL; 0642 064A;;;;N;;;;; +FC80;ARABIC LIGATURE KAF WITH ALEF FINAL FORM;Lo;0;AL; 0643 0627;;;;N;;;;; +FC81;ARABIC LIGATURE KAF WITH LAM FINAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FC82;ARABIC LIGATURE KAF WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FC83;ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0643 0649;;;;N;;;;; +FC84;ARABIC LIGATURE KAF WITH YEH FINAL FORM;Lo;0;AL; 0643 064A;;;;N;;;;; +FC85;ARABIC LIGATURE LAM WITH MEEM FINAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FC86;ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 0649;;;;N;;;;; +FC87;ARABIC LIGATURE LAM WITH YEH FINAL FORM;Lo;0;AL; 0644 064A;;;;N;;;;; +FC88;ARABIC LIGATURE MEEM WITH ALEF FINAL FORM;Lo;0;AL; 0645 0627;;;;N;;;;; +FC89;ARABIC LIGATURE MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FC8A;ARABIC LIGATURE NOON WITH REH FINAL FORM;Lo;0;AL; 0646 0631;;;;N;;;;; +FC8B;ARABIC LIGATURE NOON WITH ZAIN FINAL FORM;Lo;0;AL; 0646 0632;;;;N;;;;; +FC8C;ARABIC LIGATURE NOON WITH MEEM FINAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FC8D;ARABIC LIGATURE NOON WITH NOON FINAL FORM;Lo;0;AL; 0646 0646;;;;N;;;;; +FC8E;ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0649;;;;N;;;;; +FC8F;ARABIC LIGATURE NOON WITH YEH FINAL FORM;Lo;0;AL; 0646 064A;;;;N;;;;; +FC90;ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM;Lo;0;AL; 0649 0670;;;;N;;;;; +FC91;ARABIC LIGATURE YEH WITH REH FINAL FORM;Lo;0;AL; 064A 0631;;;;N;;;;; +FC92;ARABIC LIGATURE YEH WITH ZAIN FINAL FORM;Lo;0;AL; 064A 0632;;;;N;;;;; +FC93;ARABIC LIGATURE YEH WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FC94;ARABIC LIGATURE YEH WITH NOON FINAL FORM;Lo;0;AL; 064A 0646;;;;N;;;;; +FC95;ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 064A 0649;;;;N;;;;; +FC96;ARABIC LIGATURE YEH WITH YEH FINAL FORM;Lo;0;AL; 064A 064A;;;;N;;;;; +FC97;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM;Lo;0;AL; 0626 062C;;;;N;;;;; +FC98;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM;Lo;0;AL; 0626 062D;;;;N;;;;; +FC99;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM;Lo;0;AL; 0626 062E;;;;N;;;;; +FC9A;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FC9B;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; +FC9C;ARABIC LIGATURE BEH WITH JEEM INITIAL FORM;Lo;0;AL; 0628 062C;;;;N;;;;; +FC9D;ARABIC LIGATURE BEH WITH HAH INITIAL FORM;Lo;0;AL; 0628 062D;;;;N;;;;; +FC9E;ARABIC LIGATURE BEH WITH KHAH INITIAL FORM;Lo;0;AL; 0628 062E;;;;N;;;;; +FC9F;ARABIC LIGATURE BEH WITH MEEM INITIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FCA0;ARABIC LIGATURE BEH WITH HEH INITIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; +FCA1;ARABIC LIGATURE TEH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062C;;;;N;;;;; +FCA2;ARABIC LIGATURE TEH WITH HAH INITIAL FORM;Lo;0;AL; 062A 062D;;;;N;;;;; +FCA3;ARABIC LIGATURE TEH WITH KHAH INITIAL FORM;Lo;0;AL; 062A 062E;;;;N;;;;; +FCA4;ARABIC LIGATURE TEH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FCA5;ARABIC LIGATURE TEH WITH HEH INITIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; +FCA6;ARABIC LIGATURE THEH WITH MEEM INITIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FCA7;ARABIC LIGATURE JEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 062D;;;;N;;;;; +FCA8;ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062C 0645;;;;N;;;;; +FCA9;ARABIC LIGATURE HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062D 062C;;;;N;;;;; +FCAA;ARABIC LIGATURE HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062D 0645;;;;N;;;;; +FCAB;ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 062E 062C;;;;N;;;;; +FCAC;ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062E 0645;;;;N;;;;; +FCAD;ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FCAE;ARABIC LIGATURE SEEN WITH HAH INITIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FCAF;ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FCB0;ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FCB1;ARABIC LIGATURE SAD WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D;;;;N;;;;; +FCB2;ARABIC LIGATURE SAD WITH KHAH INITIAL FORM;Lo;0;AL; 0635 062E;;;;N;;;;; +FCB3;ARABIC LIGATURE SAD WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645;;;;N;;;;; +FCB4;ARABIC LIGATURE DAD WITH JEEM INITIAL FORM;Lo;0;AL; 0636 062C;;;;N;;;;; +FCB5;ARABIC LIGATURE DAD WITH HAH INITIAL FORM;Lo;0;AL; 0636 062D;;;;N;;;;; +FCB6;ARABIC LIGATURE DAD WITH KHAH INITIAL FORM;Lo;0;AL; 0636 062E;;;;N;;;;; +FCB7;ARABIC LIGATURE DAD WITH MEEM INITIAL FORM;Lo;0;AL; 0636 0645;;;;N;;;;; +FCB8;ARABIC LIGATURE TAH WITH HAH INITIAL FORM;Lo;0;AL; 0637 062D;;;;N;;;;; +FCB9;ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FCBA;ARABIC LIGATURE AIN WITH JEEM INITIAL FORM;Lo;0;AL; 0639 062C;;;;N;;;;; +FCBB;ARABIC LIGATURE AIN WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645;;;;N;;;;; +FCBC;ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM;Lo;0;AL; 063A 062C;;;;N;;;;; +FCBD;ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM;Lo;0;AL; 063A 0645;;;;N;;;;; +FCBE;ARABIC LIGATURE FEH WITH JEEM INITIAL FORM;Lo;0;AL; 0641 062C;;;;N;;;;; +FCBF;ARABIC LIGATURE FEH WITH HAH INITIAL FORM;Lo;0;AL; 0641 062D;;;;N;;;;; +FCC0;ARABIC LIGATURE FEH WITH KHAH INITIAL FORM;Lo;0;AL; 0641 062E;;;;N;;;;; +FCC1;ARABIC LIGATURE FEH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 0645;;;;N;;;;; +FCC2;ARABIC LIGATURE QAF WITH HAH INITIAL FORM;Lo;0;AL; 0642 062D;;;;N;;;;; +FCC3;ARABIC LIGATURE QAF WITH MEEM INITIAL FORM;Lo;0;AL; 0642 0645;;;;N;;;;; +FCC4;ARABIC LIGATURE KAF WITH JEEM INITIAL FORM;Lo;0;AL; 0643 062C;;;;N;;;;; +FCC5;ARABIC LIGATURE KAF WITH HAH INITIAL FORM;Lo;0;AL; 0643 062D;;;;N;;;;; +FCC6;ARABIC LIGATURE KAF WITH KHAH INITIAL FORM;Lo;0;AL; 0643 062E;;;;N;;;;; +FCC7;ARABIC LIGATURE KAF WITH LAM INITIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FCC8;ARABIC LIGATURE KAF WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FCC9;ARABIC LIGATURE LAM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C;;;;N;;;;; +FCCA;ARABIC LIGATURE LAM WITH HAH INITIAL FORM;Lo;0;AL; 0644 062D;;;;N;;;;; +FCCB;ARABIC LIGATURE LAM WITH KHAH INITIAL FORM;Lo;0;AL; 0644 062E;;;;N;;;;; +FCCC;ARABIC LIGATURE LAM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FCCD;ARABIC LIGATURE LAM WITH HEH INITIAL FORM;Lo;0;AL; 0644 0647;;;;N;;;;; +FCCE;ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062C;;;;N;;;;; +FCCF;ARABIC LIGATURE MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062D;;;;N;;;;; +FCD0;ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062E;;;;N;;;;; +FCD1;ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 0645;;;;N;;;;; +FCD2;ARABIC LIGATURE NOON WITH JEEM INITIAL FORM;Lo;0;AL; 0646 062C;;;;N;;;;; +FCD3;ARABIC LIGATURE NOON WITH HAH INITIAL FORM;Lo;0;AL; 0646 062D;;;;N;;;;; +FCD4;ARABIC LIGATURE NOON WITH KHAH INITIAL FORM;Lo;0;AL; 0646 062E;;;;N;;;;; +FCD5;ARABIC LIGATURE NOON WITH MEEM INITIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FCD6;ARABIC LIGATURE NOON WITH HEH INITIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; +FCD7;ARABIC LIGATURE HEH WITH JEEM INITIAL FORM;Lo;0;AL; 0647 062C;;;;N;;;;; +FCD8;ARABIC LIGATURE HEH WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645;;;;N;;;;; +FCD9;ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM;Lo;0;AL; 0647 0670;;;;N;;;;; +FCDA;ARABIC LIGATURE YEH WITH JEEM INITIAL FORM;Lo;0;AL; 064A 062C;;;;N;;;;; +FCDB;ARABIC LIGATURE YEH WITH HAH INITIAL FORM;Lo;0;AL; 064A 062D;;;;N;;;;; +FCDC;ARABIC LIGATURE YEH WITH KHAH INITIAL FORM;Lo;0;AL; 064A 062E;;;;N;;;;; +FCDD;ARABIC LIGATURE YEH WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FCDE;ARABIC LIGATURE YEH WITH HEH INITIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; +FCDF;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM;Lo;0;AL; 0626 0645;;;;N;;;;; +FCE0;ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM;Lo;0;AL; 0626 0647;;;;N;;;;; +FCE1;ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM;Lo;0;AL; 0628 0645;;;;N;;;;; +FCE2;ARABIC LIGATURE BEH WITH HEH MEDIAL FORM;Lo;0;AL; 0628 0647;;;;N;;;;; +FCE3;ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062A 0645;;;;N;;;;; +FCE4;ARABIC LIGATURE TEH WITH HEH MEDIAL FORM;Lo;0;AL; 062A 0647;;;;N;;;;; +FCE5;ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM;Lo;0;AL; 062B 0645;;;;N;;;;; +FCE6;ARABIC LIGATURE THEH WITH HEH MEDIAL FORM;Lo;0;AL; 062B 0647;;;;N;;;;; +FCE7;ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0633 0645;;;;N;;;;; +FCE8;ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; +FCE9;ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FCEA;ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; +FCEB;ARABIC LIGATURE KAF WITH LAM MEDIAL FORM;Lo;0;AL; 0643 0644;;;;N;;;;; +FCEC;ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM;Lo;0;AL; 0643 0645;;;;N;;;;; +FCED;ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM;Lo;0;AL; 0644 0645;;;;N;;;;; +FCEE;ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM;Lo;0;AL; 0646 0645;;;;N;;;;; +FCEF;ARABIC LIGATURE NOON WITH HEH MEDIAL FORM;Lo;0;AL; 0646 0647;;;;N;;;;; +FCF0;ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM;Lo;0;AL; 064A 0645;;;;N;;;;; +FCF1;ARABIC LIGATURE YEH WITH HEH MEDIAL FORM;Lo;0;AL; 064A 0647;;;;N;;;;; +FCF2;ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM;Lo;0;AL; 0640 064E 0651;;;;N;;;;; +FCF3;ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F 0651;;;;N;;;;; +FCF4;ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM;Lo;0;AL; 0640 0650 0651;;;;N;;;;; +FCF5;ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0637 0649;;;;N;;;;; +FCF6;ARABIC LIGATURE TAH WITH YEH ISOLATED FORM;Lo;0;AL; 0637 064A;;;;N;;;;; +FCF7;ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0639 0649;;;;N;;;;; +FCF8;ARABIC LIGATURE AIN WITH YEH ISOLATED FORM;Lo;0;AL; 0639 064A;;;;N;;;;; +FCF9;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 063A 0649;;;;N;;;;; +FCFA;ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM;Lo;0;AL; 063A 064A;;;;N;;;;; +FCFB;ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0633 0649;;;;N;;;;; +FCFC;ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0633 064A;;;;N;;;;; +FCFD;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0634 0649;;;;N;;;;; +FCFE;ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM;Lo;0;AL; 0634 064A;;;;N;;;;; +FCFF;ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062D 0649;;;;N;;;;; +FD00;ARABIC LIGATURE HAH WITH YEH ISOLATED FORM;Lo;0;AL; 062D 064A;;;;N;;;;; +FD01;ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062C 0649;;;;N;;;;; +FD02;ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM;Lo;0;AL; 062C 064A;;;;N;;;;; +FD03;ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 062E 0649;;;;N;;;;; +FD04;ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM;Lo;0;AL; 062E 064A;;;;N;;;;; +FD05;ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0635 0649;;;;N;;;;; +FD06;ARABIC LIGATURE SAD WITH YEH ISOLATED FORM;Lo;0;AL; 0635 064A;;;;N;;;;; +FD07;ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0636 0649;;;;N;;;;; +FD08;ARABIC LIGATURE DAD WITH YEH ISOLATED FORM;Lo;0;AL; 0636 064A;;;;N;;;;; +FD09;ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD0A;ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD0B;ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD0C;ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD0D;ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM;Lo;0;AL; 0634 0631;;;;N;;;;; +FD0E;ARABIC LIGATURE SEEN WITH REH ISOLATED FORM;Lo;0;AL; 0633 0631;;;;N;;;;; +FD0F;ARABIC LIGATURE SAD WITH REH ISOLATED FORM;Lo;0;AL; 0635 0631;;;;N;;;;; +FD10;ARABIC LIGATURE DAD WITH REH ISOLATED FORM;Lo;0;AL; 0636 0631;;;;N;;;;; +FD11;ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0637 0649;;;;N;;;;; +FD12;ARABIC LIGATURE TAH WITH YEH FINAL FORM;Lo;0;AL; 0637 064A;;;;N;;;;; +FD13;ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0649;;;;N;;;;; +FD14;ARABIC LIGATURE AIN WITH YEH FINAL FORM;Lo;0;AL; 0639 064A;;;;N;;;;; +FD15;ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0649;;;;N;;;;; +FD16;ARABIC LIGATURE GHAIN WITH YEH FINAL FORM;Lo;0;AL; 063A 064A;;;;N;;;;; +FD17;ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 0649;;;;N;;;;; +FD18;ARABIC LIGATURE SEEN WITH YEH FINAL FORM;Lo;0;AL; 0633 064A;;;;N;;;;; +FD19;ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0634 0649;;;;N;;;;; +FD1A;ARABIC LIGATURE SHEEN WITH YEH FINAL FORM;Lo;0;AL; 0634 064A;;;;N;;;;; +FD1B;ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0649;;;;N;;;;; +FD1C;ARABIC LIGATURE HAH WITH YEH FINAL FORM;Lo;0;AL; 062D 064A;;;;N;;;;; +FD1D;ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0649;;;;N;;;;; +FD1E;ARABIC LIGATURE JEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 064A;;;;N;;;;; +FD1F;ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062E 0649;;;;N;;;;; +FD20;ARABIC LIGATURE KHAH WITH YEH FINAL FORM;Lo;0;AL; 062E 064A;;;;N;;;;; +FD21;ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0635 0649;;;;N;;;;; +FD22;ARABIC LIGATURE SAD WITH YEH FINAL FORM;Lo;0;AL; 0635 064A;;;;N;;;;; +FD23;ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 0649;;;;N;;;;; +FD24;ARABIC LIGATURE DAD WITH YEH FINAL FORM;Lo;0;AL; 0636 064A;;;;N;;;;; +FD25;ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD26;ARABIC LIGATURE SHEEN WITH HAH FINAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD27;ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD28;ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD29;ARABIC LIGATURE SHEEN WITH REH FINAL FORM;Lo;0;AL; 0634 0631;;;;N;;;;; +FD2A;ARABIC LIGATURE SEEN WITH REH FINAL FORM;Lo;0;AL; 0633 0631;;;;N;;;;; +FD2B;ARABIC LIGATURE SAD WITH REH FINAL FORM;Lo;0;AL; 0635 0631;;;;N;;;;; +FD2C;ARABIC LIGATURE DAD WITH REH FINAL FORM;Lo;0;AL; 0636 0631;;;;N;;;;; +FD2D;ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD2E;ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD2F;ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD30;ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645;;;;N;;;;; +FD31;ARABIC LIGATURE SEEN WITH HEH INITIAL FORM;Lo;0;AL; 0633 0647;;;;N;;;;; +FD32;ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM;Lo;0;AL; 0634 0647;;;;N;;;;; +FD33;ARABIC LIGATURE TAH WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FD34;ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0633 062C;;;;N;;;;; +FD35;ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0633 062D;;;;N;;;;; +FD36;ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0633 062E;;;;N;;;;; +FD37;ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM;Lo;0;AL; 0634 062C;;;;N;;;;; +FD38;ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM;Lo;0;AL; 0634 062D;;;;N;;;;; +FD39;ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM;Lo;0;AL; 0634 062E;;;;N;;;;; +FD3A;ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0637 0645;;;;N;;;;; +FD3B;ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM;Lo;0;AL; 0638 0645;;;;N;;;;; +FD3C;ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM;Lo;0;AL; 0627 064B;;;;N;;;;; +FD3D;ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM;Lo;0;AL; 0627 064B;;;;N;;;;; +FD3E;ORNATE LEFT PARENTHESIS;Pe;0;ON;;;;;N;;;;; +FD3F;ORNATE RIGHT PARENTHESIS;Ps;0;ON;;;;;N;;;;; +FD50;ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062C 0645;;;;N;;;;; +FD51;ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; +FD52;ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 062A 062D 062C;;;;N;;;;; +FD53;ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062D 0645;;;;N;;;;; +FD54;ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 062A 062E 0645;;;;N;;;;; +FD55;ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 062A 0645 062C;;;;N;;;;; +FD56;ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062A 0645 062D;;;;N;;;;; +FD57;ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 062A 0645 062E;;;;N;;;;; +FD58;ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; +FD59;ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 062C 0645 062D;;;;N;;;;; +FD5A;ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 0645 064A;;;;N;;;;; +FD5B;ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062D 0645 0649;;;;N;;;;; +FD5C;ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0633 062D 062C;;;;N;;;;; +FD5D;ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 062C 062D;;;;N;;;;; +FD5E;ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062C 0649;;;;N;;;;; +FD5F;ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; +FD60;ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0633 0645 062D;;;;N;;;;; +FD61;ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0633 0645 062C;;;;N;;;;; +FD62;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; +FD63;ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0633 0645 0645;;;;N;;;;; +FD64;ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; +FD65;ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM;Lo;0;AL; 0635 062D 062D;;;;N;;;;; +FD66;ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; +FD67;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; +FD68;ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0634 062D 0645;;;;N;;;;; +FD69;ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0634 062C 064A;;;;N;;;;; +FD6A;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; +FD6B;ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0634 0645 062E;;;;N;;;;; +FD6C;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; +FD6D;ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0634 0645 0645;;;;N;;;;; +FD6E;ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0636 062D 0649;;;;N;;;;; +FD6F;ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; +FD70;ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0636 062E 0645;;;;N;;;;; +FD71;ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; +FD72;ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0637 0645 062D;;;;N;;;;; +FD73;ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0637 0645 0645;;;;N;;;;; +FD74;ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0637 0645 064A;;;;N;;;;; +FD75;ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; +FD76;ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; +FD77;ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 0645 0645;;;;N;;;;; +FD78;ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0639 0645 0649;;;;N;;;;; +FD79;ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 063A 0645 0645;;;;N;;;;; +FD7A;ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 063A 0645 064A;;;;N;;;;; +FD7B;ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 063A 0645 0649;;;;N;;;;; +FD7C;ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; +FD7D;ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0641 062E 0645;;;;N;;;;; +FD7E;ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; +FD7F;ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0642 0645 0645;;;;N;;;;; +FD80;ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; +FD81;ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0644 062D 064A;;;;N;;;;; +FD82;ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0644 062D 0649;;;;N;;;;; +FD83;ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; +FD84;ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM;Lo;0;AL; 0644 062C 062C;;;;N;;;;; +FD85;ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; +FD86;ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062E 0645;;;;N;;;;; +FD87;ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; +FD88;ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0644 0645 062D;;;;N;;;;; +FD89;ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062D 062C;;;;N;;;;; +FD8A;ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062D 0645;;;;N;;;;; +FD8B;ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062D 064A;;;;N;;;;; +FD8C;ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0645 062C 062D;;;;N;;;;; +FD8D;ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062C 0645;;;;N;;;;; +FD8E;ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM;Lo;0;AL; 0645 062E 062C;;;;N;;;;; +FD8F;ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM;Lo;0;AL; 0645 062E 0645;;;;N;;;;; +FD92;ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM;Lo;0;AL; 0645 062C 062E;;;;N;;;;; +FD93;ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM;Lo;0;AL; 0647 0645 062C;;;;N;;;;; +FD94;ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0647 0645 0645;;;;N;;;;; +FD95;ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062D 0645;;;;N;;;;; +FD96;ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062D 0649;;;;N;;;;; +FD97;ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; +FD98;ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0646 062C 0645;;;;N;;;;; +FD99;ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 062C 0649;;;;N;;;;; +FD9A;ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 0645 064A;;;;N;;;;; +FD9B;ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0646 0645 0649;;;;N;;;;; +FD9C;ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; +FD9D;ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 064A 0645 0645;;;;N;;;;; +FD9E;ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062E 064A;;;;N;;;;; +FD9F;ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 062C 064A;;;;N;;;;; +FDA0;ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062C 0649;;;;N;;;;; +FDA1;ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 062A 062E 064A;;;;N;;;;; +FDA2;ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 062E 0649;;;;N;;;;; +FDA3;ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062A 0645 064A;;;;N;;;;; +FDA4;ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062A 0645 0649;;;;N;;;;; +FDA5;ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 062C 0645 064A;;;;N;;;;; +FDA6;ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 062D 0649;;;;N;;;;; +FDA7;ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 062C 0645 0649;;;;N;;;;; +FDA8;ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM;Lo;0;AL; 0633 062E 0649;;;;N;;;;; +FDA9;ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0635 062D 064A;;;;N;;;;; +FDAA;ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0634 062D 064A;;;;N;;;;; +FDAB;ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0636 062D 064A;;;;N;;;;; +FDAC;ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 062C 064A;;;;N;;;;; +FDAD;ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0644 0645 064A;;;;N;;;;; +FDAE;ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 064A 062D 064A;;;;N;;;;; +FDAF;ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 062C 064A;;;;N;;;;; +FDB0;ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 064A 0645 064A;;;;N;;;;; +FDB1;ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 0645 064A;;;;N;;;;; +FDB2;ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0642 0645 064A;;;;N;;;;; +FDB3;ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0646 062D 064A;;;;N;;;;; +FDB4;ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM;Lo;0;AL; 0642 0645 062D;;;;N;;;;; +FDB5;ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062D 0645;;;;N;;;;; +FDB6;ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0639 0645 064A;;;;N;;;;; +FDB7;ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0643 0645 064A;;;;N;;;;; +FDB8;ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; +FDB9;ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0645 062E 064A;;;;N;;;;; +FDBA;ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; +FDBB;ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; +FDBC;ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM;Lo;0;AL; 0644 062C 0645;;;;N;;;;; +FDBD;ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM;Lo;0;AL; 0646 062C 062D;;;;N;;;;; +FDBE;ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 062C 062D 064A;;;;N;;;;; +FDBF;ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 062D 062C 064A;;;;N;;;;; +FDC0;ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0645 062C 064A;;;;N;;;;; +FDC1;ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM;Lo;0;AL; 0641 0645 064A;;;;N;;;;; +FDC2;ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM;Lo;0;AL; 0628 062D 064A;;;;N;;;;; +FDC3;ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0643 0645 0645;;;;N;;;;; +FDC4;ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0639 062C 0645;;;;N;;;;; +FDC5;ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM;Lo;0;AL; 0635 0645 0645;;;;N;;;;; +FDC6;ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM;Lo;0;AL; 0633 062E 064A;;;;N;;;;; +FDC7;ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM;Lo;0;AL; 0646 062C 064A;;;;N;;;;; +FDF0;ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0635 0644 06D2;;;;N;;;;; +FDF1;ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM;Lo;0;AL; 0642 0644 06D2;;;;N;;;;; +FDF2;ARABIC LIGATURE ALLAH ISOLATED FORM;Lo;0;AL; 0627 0644 0644 0647;;;;N;;;;; +FDF3;ARABIC LIGATURE AKBAR ISOLATED FORM;Lo;0;AL; 0627 0643 0628 0631;;;;N;;;;; +FDF4;ARABIC LIGATURE MOHAMMAD ISOLATED FORM;Lo;0;AL; 0645 062D 0645 062F;;;;N;;;;; +FDF5;ARABIC LIGATURE SALAM ISOLATED FORM;Lo;0;AL; 0635 0644 0639 0645;;;;N;;;;; +FDF6;ARABIC LIGATURE RASOUL ISOLATED FORM;Lo;0;AL; 0631 0633 0648 0644;;;;N;;;;; +FDF7;ARABIC LIGATURE ALAYHE ISOLATED FORM;Lo;0;AL; 0639 0644 064A 0647;;;;N;;;;; +FDF8;ARABIC LIGATURE WASALLAM ISOLATED FORM;Lo;0;AL; 0648 0633 0644 0645;;;;N;;;;; +FDF9;ARABIC LIGATURE SALLA ISOLATED FORM;Lo;0;AL; 0635 0644 0649;;;;N;;;;; +FDFA;ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM;Lo;0;AL; 0635 0644 0649 0020 0627 0644 0644 0647 0020 0639 0644 064A 0647 0020 0648 0633 0644 0645;;;;N;ARABIC LETTER SALLALLAHOU ALAYHE WASALLAM;;;; +FDFB;ARABIC LIGATURE JALLAJALALOUHOU;Lo;0;AL; 062C 0644 0020 062C 0644 0627 0644 0647;;;;N;ARABIC LETTER JALLAJALALOUHOU;;;; +FDFC;RIAL SIGN;Sc;0;AL; 0631 06CC 0627 0644;;;;N;;;;; +FDFD;ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM;So;0;ON;;;;;N;;;;; +FE00;VARIATION SELECTOR-1;Mn;0;NSM;;;;;N;;;;; +FE01;VARIATION SELECTOR-2;Mn;0;NSM;;;;;N;;;;; +FE02;VARIATION SELECTOR-3;Mn;0;NSM;;;;;N;;;;; +FE03;VARIATION SELECTOR-4;Mn;0;NSM;;;;;N;;;;; +FE04;VARIATION SELECTOR-5;Mn;0;NSM;;;;;N;;;;; +FE05;VARIATION SELECTOR-6;Mn;0;NSM;;;;;N;;;;; +FE06;VARIATION SELECTOR-7;Mn;0;NSM;;;;;N;;;;; +FE07;VARIATION SELECTOR-8;Mn;0;NSM;;;;;N;;;;; +FE08;VARIATION SELECTOR-9;Mn;0;NSM;;;;;N;;;;; +FE09;VARIATION SELECTOR-10;Mn;0;NSM;;;;;N;;;;; +FE0A;VARIATION SELECTOR-11;Mn;0;NSM;;;;;N;;;;; +FE0B;VARIATION SELECTOR-12;Mn;0;NSM;;;;;N;;;;; +FE0C;VARIATION SELECTOR-13;Mn;0;NSM;;;;;N;;;;; +FE0D;VARIATION SELECTOR-14;Mn;0;NSM;;;;;N;;;;; +FE0E;VARIATION SELECTOR-15;Mn;0;NSM;;;;;N;;;;; +FE0F;VARIATION SELECTOR-16;Mn;0;NSM;;;;;N;;;;; +FE10;PRESENTATION FORM FOR VERTICAL COMMA;Po;0;ON; 002C;;;;N;;;;; +FE11;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FE12;PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;;;;; +FE13;PRESENTATION FORM FOR VERTICAL COLON;Po;0;ON; 003A;;;;N;;;;; +FE14;PRESENTATION FORM FOR VERTICAL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FE15;PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FE16;PRESENTATION FORM FOR VERTICAL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FE17;PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET;Ps;0;ON; 3016;;;;N;;;;; +FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET;Pe;0;ON; 3017;;;;N;;;;; +FE19;PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS;Po;0;ON; 2026;;;;N;;;;; +FE20;COMBINING LIGATURE LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE21;COMBINING LIGATURE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE22;COMBINING DOUBLE TILDE LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE23;COMBINING DOUBLE TILDE RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE24;COMBINING MACRON LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE25;COMBINING MACRON RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE26;COMBINING CONJOINING MACRON;Mn;230;NSM;;;;;N;;;;; +FE27;COMBINING LIGATURE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE28;COMBINING LIGATURE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE29;COMBINING TILDE LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE2A;COMBINING TILDE RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE2B;COMBINING MACRON LEFT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE2C;COMBINING MACRON RIGHT HALF BELOW;Mn;220;NSM;;;;;N;;;;; +FE2D;COMBINING CONJOINING MACRON BELOW;Mn;220;NSM;;;;;N;;;;; +FE2E;COMBINING CYRILLIC TITLO LEFT HALF;Mn;230;NSM;;;;;N;;;;; +FE2F;COMBINING CYRILLIC TITLO RIGHT HALF;Mn;230;NSM;;;;;N;;;;; +FE30;PRESENTATION FORM FOR VERTICAL TWO DOT LEADER;Po;0;ON; 2025;;;;N;GLYPH FOR VERTICAL TWO DOT LEADER;;;; +FE31;PRESENTATION FORM FOR VERTICAL EM DASH;Pd;0;ON; 2014;;;;N;GLYPH FOR VERTICAL EM DASH;;;; +FE32;PRESENTATION FORM FOR VERTICAL EN DASH;Pd;0;ON; 2013;;;;N;GLYPH FOR VERTICAL EN DASH;;;; +FE33;PRESENTATION FORM FOR VERTICAL LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING UNDERSCORE;;;; +FE34;PRESENTATION FORM FOR VERTICAL WAVY LOW LINE;Pc;0;ON; 005F;;;;N;GLYPH FOR VERTICAL SPACING WAVY UNDERSCORE;;;; +FE35;PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;N;GLYPH FOR VERTICAL OPENING PARENTHESIS;;;; +FE36;PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;N;GLYPH FOR VERTICAL CLOSING PARENTHESIS;;;; +FE37;PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;N;GLYPH FOR VERTICAL OPENING CURLY BRACKET;;;; +FE38;PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;N;GLYPH FOR VERTICAL CLOSING CURLY BRACKET;;;; +FE39;PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;N;GLYPH FOR VERTICAL OPENING TORTOISE SHELL BRACKET;;;; +FE3A;PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;N;GLYPH FOR VERTICAL CLOSING TORTOISE SHELL BRACKET;;;; +FE3B;PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET;Ps;0;ON; 3010;;;;N;GLYPH FOR VERTICAL OPENING BLACK LENTICULAR BRACKET;;;; +FE3C;PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET;Pe;0;ON; 3011;;;;N;GLYPH FOR VERTICAL CLOSING BLACK LENTICULAR BRACKET;;;; +FE3D;PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET;Ps;0;ON; 300A;;;;N;GLYPH FOR VERTICAL OPENING DOUBLE ANGLE BRACKET;;;; +FE3E;PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET;Pe;0;ON; 300B;;;;N;GLYPH FOR VERTICAL CLOSING DOUBLE ANGLE BRACKET;;;; +FE3F;PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET;Ps;0;ON; 3008;;;;N;GLYPH FOR VERTICAL OPENING ANGLE BRACKET;;;; +FE40;PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET;Pe;0;ON; 3009;;;;N;GLYPH FOR VERTICAL CLOSING ANGLE BRACKET;;;; +FE41;PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;N;GLYPH FOR VERTICAL OPENING CORNER BRACKET;;;; +FE42;PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;N;GLYPH FOR VERTICAL CLOSING CORNER BRACKET;;;; +FE43;PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET;Ps;0;ON; 300E;;;;N;GLYPH FOR VERTICAL OPENING WHITE CORNER BRACKET;;;; +FE44;PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET;Pe;0;ON; 300F;;;;N;GLYPH FOR VERTICAL CLOSING WHITE CORNER BRACKET;;;; +FE45;SESAME DOT;Po;0;ON;;;;;N;;;;; +FE46;WHITE SESAME DOT;Po;0;ON;;;;;N;;;;; +FE47;PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;N;;;;; +FE48;PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;N;;;;; +FE49;DASHED OVERLINE;Po;0;ON; 203E;;;;N;SPACING DASHED OVERSCORE;;;; +FE4A;CENTRELINE OVERLINE;Po;0;ON; 203E;;;;N;SPACING CENTERLINE OVERSCORE;;;; +FE4B;WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING WAVY OVERSCORE;;;; +FE4C;DOUBLE WAVY OVERLINE;Po;0;ON; 203E;;;;N;SPACING DOUBLE WAVY OVERSCORE;;;; +FE4D;DASHED LOW LINE;Pc;0;ON; 005F;;;;N;SPACING DASHED UNDERSCORE;;;; +FE4E;CENTRELINE LOW LINE;Pc;0;ON; 005F;;;;N;SPACING CENTERLINE UNDERSCORE;;;; +FE4F;WAVY LOW LINE;Pc;0;ON; 005F;;;;N;SPACING WAVY UNDERSCORE;;;; +FE50;SMALL COMMA;Po;0;CS; 002C;;;;N;;;;; +FE51;SMALL IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FE52;SMALL FULL STOP;Po;0;CS; 002E;;;;N;SMALL PERIOD;;;; +FE54;SMALL SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FE55;SMALL COLON;Po;0;CS; 003A;;;;N;;;;; +FE56;SMALL QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FE57;SMALL EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FE58;SMALL EM DASH;Pd;0;ON; 2014;;;;N;;;;; +FE59;SMALL LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;SMALL OPENING PARENTHESIS;;;; +FE5A;SMALL RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;SMALL CLOSING PARENTHESIS;;;; +FE5B;SMALL LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;Y;SMALL OPENING CURLY BRACKET;;;; +FE5C;SMALL RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;Y;SMALL CLOSING CURLY BRACKET;;;; +FE5D;SMALL LEFT TORTOISE SHELL BRACKET;Ps;0;ON; 3014;;;;Y;SMALL OPENING TORTOISE SHELL BRACKET;;;; +FE5E;SMALL RIGHT TORTOISE SHELL BRACKET;Pe;0;ON; 3015;;;;Y;SMALL CLOSING TORTOISE SHELL BRACKET;;;; +FE5F;SMALL NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; +FE60;SMALL AMPERSAND;Po;0;ON; 0026;;;;N;;;;; +FE61;SMALL ASTERISK;Po;0;ON; 002A;;;;N;;;;; +FE62;SMALL PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FE63;SMALL HYPHEN-MINUS;Pd;0;ES; 002D;;;;N;;;;; +FE64;SMALL LESS-THAN SIGN;Sm;0;ON; 003C;;;;Y;;;;; +FE65;SMALL GREATER-THAN SIGN;Sm;0;ON; 003E;;;;Y;;;;; +FE66;SMALL EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +FE68;SMALL REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;SMALL BACKSLASH;;;; +FE69;SMALL DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; +FE6A;SMALL PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; +FE6B;SMALL COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; +FE70;ARABIC FATHATAN ISOLATED FORM;Lo;0;AL; 0020 064B;;;;N;ARABIC SPACING FATHATAN;;;; +FE71;ARABIC TATWEEL WITH FATHATAN ABOVE;Lo;0;AL; 0640 064B;;;;N;ARABIC FATHATAN ON TATWEEL;;;; +FE72;ARABIC DAMMATAN ISOLATED FORM;Lo;0;AL; 0020 064C;;;;N;ARABIC SPACING DAMMATAN;;;; +FE73;ARABIC TAIL FRAGMENT;Lo;0;AL;;;;;N;;;;; +FE74;ARABIC KASRATAN ISOLATED FORM;Lo;0;AL; 0020 064D;;;;N;ARABIC SPACING KASRATAN;;;; +FE76;ARABIC FATHA ISOLATED FORM;Lo;0;AL; 0020 064E;;;;N;ARABIC SPACING FATHAH;;;; +FE77;ARABIC FATHA MEDIAL FORM;Lo;0;AL; 0640 064E;;;;N;ARABIC FATHAH ON TATWEEL;;;; +FE78;ARABIC DAMMA ISOLATED FORM;Lo;0;AL; 0020 064F;;;;N;ARABIC SPACING DAMMAH;;;; +FE79;ARABIC DAMMA MEDIAL FORM;Lo;0;AL; 0640 064F;;;;N;ARABIC DAMMAH ON TATWEEL;;;; +FE7A;ARABIC KASRA ISOLATED FORM;Lo;0;AL; 0020 0650;;;;N;ARABIC SPACING KASRAH;;;; +FE7B;ARABIC KASRA MEDIAL FORM;Lo;0;AL; 0640 0650;;;;N;ARABIC KASRAH ON TATWEEL;;;; +FE7C;ARABIC SHADDA ISOLATED FORM;Lo;0;AL; 0020 0651;;;;N;ARABIC SPACING SHADDAH;;;; +FE7D;ARABIC SHADDA MEDIAL FORM;Lo;0;AL; 0640 0651;;;;N;ARABIC SHADDAH ON TATWEEL;;;; +FE7E;ARABIC SUKUN ISOLATED FORM;Lo;0;AL; 0020 0652;;;;N;ARABIC SPACING SUKUN;;;; +FE7F;ARABIC SUKUN MEDIAL FORM;Lo;0;AL; 0640 0652;;;;N;ARABIC SUKUN ON TATWEEL;;;; +FE80;ARABIC LETTER HAMZA ISOLATED FORM;Lo;0;AL; 0621;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH;;;; +FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON ALEF;;;; +FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON ALEF;;;; +FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON ALEF;;;; +FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON ALEF;;;; +FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON WAW;;;; +FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0624;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON WAW;;;; +FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER ALEF;;;; +FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER ALEF;;;; +FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON YA;;;; +FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON YA;;;; +FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR INITIAL ARABIC HAMZAH ON YA;;;; +FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM;Lo;0;AL; 0626;;;;N;GLYPH FOR MEDIAL ARABIC HAMZAH ON YA;;;; +FE8D;ARABIC LETTER ALEF ISOLATED FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR ISOLATE ARABIC ALEF;;;; +FE8E;ARABIC LETTER ALEF FINAL FORM;Lo;0;AL; 0627;;;;N;GLYPH FOR FINAL ARABIC ALEF;;;; +FE8F;ARABIC LETTER BEH ISOLATED FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR ISOLATE ARABIC BAA;;;; +FE90;ARABIC LETTER BEH FINAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR FINAL ARABIC BAA;;;; +FE91;ARABIC LETTER BEH INITIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR INITIAL ARABIC BAA;;;; +FE92;ARABIC LETTER BEH MEDIAL FORM;Lo;0;AL; 0628;;;;N;GLYPH FOR MEDIAL ARABIC BAA;;;; +FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR ISOLATE ARABIC TAA MARBUTAH;;;; +FE94;ARABIC LETTER TEH MARBUTA FINAL FORM;Lo;0;AL; 0629;;;;N;GLYPH FOR FINAL ARABIC TAA MARBUTAH;;;; +FE95;ARABIC LETTER TEH ISOLATED FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR ISOLATE ARABIC TAA;;;; +FE96;ARABIC LETTER TEH FINAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR FINAL ARABIC TAA;;;; +FE97;ARABIC LETTER TEH INITIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR INITIAL ARABIC TAA;;;; +FE98;ARABIC LETTER TEH MEDIAL FORM;Lo;0;AL; 062A;;;;N;GLYPH FOR MEDIAL ARABIC TAA;;;; +FE99;ARABIC LETTER THEH ISOLATED FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR ISOLATE ARABIC THAA;;;; +FE9A;ARABIC LETTER THEH FINAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR FINAL ARABIC THAA;;;; +FE9B;ARABIC LETTER THEH INITIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR INITIAL ARABIC THAA;;;; +FE9C;ARABIC LETTER THEH MEDIAL FORM;Lo;0;AL; 062B;;;;N;GLYPH FOR MEDIAL ARABIC THAA;;;; +FE9D;ARABIC LETTER JEEM ISOLATED FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR ISOLATE ARABIC JEEM;;;; +FE9E;ARABIC LETTER JEEM FINAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR FINAL ARABIC JEEM;;;; +FE9F;ARABIC LETTER JEEM INITIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR INITIAL ARABIC JEEM;;;; +FEA0;ARABIC LETTER JEEM MEDIAL FORM;Lo;0;AL; 062C;;;;N;GLYPH FOR MEDIAL ARABIC JEEM;;;; +FEA1;ARABIC LETTER HAH ISOLATED FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR ISOLATE ARABIC HAA;;;; +FEA2;ARABIC LETTER HAH FINAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR FINAL ARABIC HAA;;;; +FEA3;ARABIC LETTER HAH INITIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR INITIAL ARABIC HAA;;;; +FEA4;ARABIC LETTER HAH MEDIAL FORM;Lo;0;AL; 062D;;;;N;GLYPH FOR MEDIAL ARABIC HAA;;;; +FEA5;ARABIC LETTER KHAH ISOLATED FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR ISOLATE ARABIC KHAA;;;; +FEA6;ARABIC LETTER KHAH FINAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR FINAL ARABIC KHAA;;;; +FEA7;ARABIC LETTER KHAH INITIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR INITIAL ARABIC KHAA;;;; +FEA8;ARABIC LETTER KHAH MEDIAL FORM;Lo;0;AL; 062E;;;;N;GLYPH FOR MEDIAL ARABIC KHAA;;;; +FEA9;ARABIC LETTER DAL ISOLATED FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR ISOLATE ARABIC DAL;;;; +FEAA;ARABIC LETTER DAL FINAL FORM;Lo;0;AL; 062F;;;;N;GLYPH FOR FINAL ARABIC DAL;;;; +FEAB;ARABIC LETTER THAL ISOLATED FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR ISOLATE ARABIC THAL;;;; +FEAC;ARABIC LETTER THAL FINAL FORM;Lo;0;AL; 0630;;;;N;GLYPH FOR FINAL ARABIC THAL;;;; +FEAD;ARABIC LETTER REH ISOLATED FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR ISOLATE ARABIC RA;;;; +FEAE;ARABIC LETTER REH FINAL FORM;Lo;0;AL; 0631;;;;N;GLYPH FOR FINAL ARABIC RA;;;; +FEAF;ARABIC LETTER ZAIN ISOLATED FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR ISOLATE ARABIC ZAIN;;;; +FEB0;ARABIC LETTER ZAIN FINAL FORM;Lo;0;AL; 0632;;;;N;GLYPH FOR FINAL ARABIC ZAIN;;;; +FEB1;ARABIC LETTER SEEN ISOLATED FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR ISOLATE ARABIC SEEN;;;; +FEB2;ARABIC LETTER SEEN FINAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR FINAL ARABIC SEEN;;;; +FEB3;ARABIC LETTER SEEN INITIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR INITIAL ARABIC SEEN;;;; +FEB4;ARABIC LETTER SEEN MEDIAL FORM;Lo;0;AL; 0633;;;;N;GLYPH FOR MEDIAL ARABIC SEEN;;;; +FEB5;ARABIC LETTER SHEEN ISOLATED FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR ISOLATE ARABIC SHEEN;;;; +FEB6;ARABIC LETTER SHEEN FINAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR FINAL ARABIC SHEEN;;;; +FEB7;ARABIC LETTER SHEEN INITIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR INITIAL ARABIC SHEEN;;;; +FEB8;ARABIC LETTER SHEEN MEDIAL FORM;Lo;0;AL; 0634;;;;N;GLYPH FOR MEDIAL ARABIC SHEEN;;;; +FEB9;ARABIC LETTER SAD ISOLATED FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR ISOLATE ARABIC SAD;;;; +FEBA;ARABIC LETTER SAD FINAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR FINAL ARABIC SAD;;;; +FEBB;ARABIC LETTER SAD INITIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR INITIAL ARABIC SAD;;;; +FEBC;ARABIC LETTER SAD MEDIAL FORM;Lo;0;AL; 0635;;;;N;GLYPH FOR MEDIAL ARABIC SAD;;;; +FEBD;ARABIC LETTER DAD ISOLATED FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR ISOLATE ARABIC DAD;;;; +FEBE;ARABIC LETTER DAD FINAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR FINAL ARABIC DAD;;;; +FEBF;ARABIC LETTER DAD INITIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR INITIAL ARABIC DAD;;;; +FEC0;ARABIC LETTER DAD MEDIAL FORM;Lo;0;AL; 0636;;;;N;GLYPH FOR MEDIAL ARABIC DAD;;;; +FEC1;ARABIC LETTER TAH ISOLATED FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR ISOLATE ARABIC TAH;;;; +FEC2;ARABIC LETTER TAH FINAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR FINAL ARABIC TAH;;;; +FEC3;ARABIC LETTER TAH INITIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR INITIAL ARABIC TAH;;;; +FEC4;ARABIC LETTER TAH MEDIAL FORM;Lo;0;AL; 0637;;;;N;GLYPH FOR MEDIAL ARABIC TAH;;;; +FEC5;ARABIC LETTER ZAH ISOLATED FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR ISOLATE ARABIC DHAH;;;; +FEC6;ARABIC LETTER ZAH FINAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR FINAL ARABIC DHAH;;;; +FEC7;ARABIC LETTER ZAH INITIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR INITIAL ARABIC DHAH;;;; +FEC8;ARABIC LETTER ZAH MEDIAL FORM;Lo;0;AL; 0638;;;;N;GLYPH FOR MEDIAL ARABIC DHAH;;;; +FEC9;ARABIC LETTER AIN ISOLATED FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR ISOLATE ARABIC AIN;;;; +FECA;ARABIC LETTER AIN FINAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR FINAL ARABIC AIN;;;; +FECB;ARABIC LETTER AIN INITIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR INITIAL ARABIC AIN;;;; +FECC;ARABIC LETTER AIN MEDIAL FORM;Lo;0;AL; 0639;;;;N;GLYPH FOR MEDIAL ARABIC AIN;;;; +FECD;ARABIC LETTER GHAIN ISOLATED FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR ISOLATE ARABIC GHAIN;;;; +FECE;ARABIC LETTER GHAIN FINAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR FINAL ARABIC GHAIN;;;; +FECF;ARABIC LETTER GHAIN INITIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR INITIAL ARABIC GHAIN;;;; +FED0;ARABIC LETTER GHAIN MEDIAL FORM;Lo;0;AL; 063A;;;;N;GLYPH FOR MEDIAL ARABIC GHAIN;;;; +FED1;ARABIC LETTER FEH ISOLATED FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR ISOLATE ARABIC FA;;;; +FED2;ARABIC LETTER FEH FINAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR FINAL ARABIC FA;;;; +FED3;ARABIC LETTER FEH INITIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR INITIAL ARABIC FA;;;; +FED4;ARABIC LETTER FEH MEDIAL FORM;Lo;0;AL; 0641;;;;N;GLYPH FOR MEDIAL ARABIC FA;;;; +FED5;ARABIC LETTER QAF ISOLATED FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR ISOLATE ARABIC QAF;;;; +FED6;ARABIC LETTER QAF FINAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR FINAL ARABIC QAF;;;; +FED7;ARABIC LETTER QAF INITIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR INITIAL ARABIC QAF;;;; +FED8;ARABIC LETTER QAF MEDIAL FORM;Lo;0;AL; 0642;;;;N;GLYPH FOR MEDIAL ARABIC QAF;;;; +FED9;ARABIC LETTER KAF ISOLATED FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR ISOLATE ARABIC CAF;;;; +FEDA;ARABIC LETTER KAF FINAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR FINAL ARABIC CAF;;;; +FEDB;ARABIC LETTER KAF INITIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR INITIAL ARABIC CAF;;;; +FEDC;ARABIC LETTER KAF MEDIAL FORM;Lo;0;AL; 0643;;;;N;GLYPH FOR MEDIAL ARABIC CAF;;;; +FEDD;ARABIC LETTER LAM ISOLATED FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR ISOLATE ARABIC LAM;;;; +FEDE;ARABIC LETTER LAM FINAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR FINAL ARABIC LAM;;;; +FEDF;ARABIC LETTER LAM INITIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR INITIAL ARABIC LAM;;;; +FEE0;ARABIC LETTER LAM MEDIAL FORM;Lo;0;AL; 0644;;;;N;GLYPH FOR MEDIAL ARABIC LAM;;;; +FEE1;ARABIC LETTER MEEM ISOLATED FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR ISOLATE ARABIC MEEM;;;; +FEE2;ARABIC LETTER MEEM FINAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR FINAL ARABIC MEEM;;;; +FEE3;ARABIC LETTER MEEM INITIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR INITIAL ARABIC MEEM;;;; +FEE4;ARABIC LETTER MEEM MEDIAL FORM;Lo;0;AL; 0645;;;;N;GLYPH FOR MEDIAL ARABIC MEEM;;;; +FEE5;ARABIC LETTER NOON ISOLATED FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR ISOLATE ARABIC NOON;;;; +FEE6;ARABIC LETTER NOON FINAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR FINAL ARABIC NOON;;;; +FEE7;ARABIC LETTER NOON INITIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR INITIAL ARABIC NOON;;;; +FEE8;ARABIC LETTER NOON MEDIAL FORM;Lo;0;AL; 0646;;;;N;GLYPH FOR MEDIAL ARABIC NOON;;;; +FEE9;ARABIC LETTER HEH ISOLATED FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR ISOLATE ARABIC HA;;;; +FEEA;ARABIC LETTER HEH FINAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR FINAL ARABIC HA;;;; +FEEB;ARABIC LETTER HEH INITIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR INITIAL ARABIC HA;;;; +FEEC;ARABIC LETTER HEH MEDIAL FORM;Lo;0;AL; 0647;;;;N;GLYPH FOR MEDIAL ARABIC HA;;;; +FEED;ARABIC LETTER WAW ISOLATED FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR ISOLATE ARABIC WAW;;;; +FEEE;ARABIC LETTER WAW FINAL FORM;Lo;0;AL; 0648;;;;N;GLYPH FOR FINAL ARABIC WAW;;;; +FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR ISOLATE ARABIC ALEF MAQSURAH;;;; +FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM;Lo;0;AL; 0649;;;;N;GLYPH FOR FINAL ARABIC ALEF MAQSURAH;;;; +FEF1;ARABIC LETTER YEH ISOLATED FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR ISOLATE ARABIC YA;;;; +FEF2;ARABIC LETTER YEH FINAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR FINAL ARABIC YA;;;; +FEF3;ARABIC LETTER YEH INITIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR INITIAL ARABIC YA;;;; +FEF4;ARABIC LETTER YEH MEDIAL FORM;Lo;0;AL; 064A;;;;N;GLYPH FOR MEDIAL ARABIC YA;;;; +FEF5;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR ISOLATE ARABIC MADDAH ON LIGATURE LAM ALEF;;;; +FEF6;ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM;Lo;0;AL; 0644 0622;;;;N;GLYPH FOR FINAL ARABIC MADDAH ON LIGATURE LAM ALEF;;;; +FEF7;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; +FEF8;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM;Lo;0;AL; 0644 0623;;;;N;GLYPH FOR FINAL ARABIC HAMZAH ON LIGATURE LAM ALEF;;;; +FEF9;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR ISOLATE ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; +FEFA;ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM;Lo;0;AL; 0644 0625;;;;N;GLYPH FOR FINAL ARABIC HAMZAH UNDER LIGATURE LAM ALEF;;;; +FEFB;ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR ISOLATE ARABIC LIGATURE LAM ALEF;;;; +FEFC;ARABIC LIGATURE LAM WITH ALEF FINAL FORM;Lo;0;AL; 0644 0627;;;;N;GLYPH FOR FINAL ARABIC LIGATURE LAM ALEF;;;; +FEFF;ZERO WIDTH NO-BREAK SPACE;Cf;0;BN;;;;;N;BYTE ORDER MARK;;;; +FF01;FULLWIDTH EXCLAMATION MARK;Po;0;ON; 0021;;;;N;;;;; +FF02;FULLWIDTH QUOTATION MARK;Po;0;ON; 0022;;;;N;;;;; +FF03;FULLWIDTH NUMBER SIGN;Po;0;ET; 0023;;;;N;;;;; +FF04;FULLWIDTH DOLLAR SIGN;Sc;0;ET; 0024;;;;N;;;;; +FF05;FULLWIDTH PERCENT SIGN;Po;0;ET; 0025;;;;N;;;;; +FF06;FULLWIDTH AMPERSAND;Po;0;ON; 0026;;;;N;;;;; +FF07;FULLWIDTH APOSTROPHE;Po;0;ON; 0027;;;;N;;;;; +FF08;FULLWIDTH LEFT PARENTHESIS;Ps;0;ON; 0028;;;;Y;FULLWIDTH OPENING PARENTHESIS;;;; +FF09;FULLWIDTH RIGHT PARENTHESIS;Pe;0;ON; 0029;;;;Y;FULLWIDTH CLOSING PARENTHESIS;;;; +FF0A;FULLWIDTH ASTERISK;Po;0;ON; 002A;;;;N;;;;; +FF0B;FULLWIDTH PLUS SIGN;Sm;0;ES; 002B;;;;N;;;;; +FF0C;FULLWIDTH COMMA;Po;0;CS; 002C;;;;N;;;;; +FF0D;FULLWIDTH HYPHEN-MINUS;Pd;0;ES; 002D;;;;N;;;;; +FF0E;FULLWIDTH FULL STOP;Po;0;CS; 002E;;;;N;FULLWIDTH PERIOD;;;; +FF0F;FULLWIDTH SOLIDUS;Po;0;CS; 002F;;;;N;FULLWIDTH SLASH;;;; +FF10;FULLWIDTH DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +FF11;FULLWIDTH DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +FF12;FULLWIDTH DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +FF13;FULLWIDTH DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +FF14;FULLWIDTH DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +FF15;FULLWIDTH DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +FF16;FULLWIDTH DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +FF17;FULLWIDTH DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +FF18;FULLWIDTH DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +FF19;FULLWIDTH DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +FF1A;FULLWIDTH COLON;Po;0;CS; 003A;;;;N;;;;; +FF1B;FULLWIDTH SEMICOLON;Po;0;ON; 003B;;;;N;;;;; +FF1C;FULLWIDTH LESS-THAN SIGN;Sm;0;ON; 003C;;;;Y;;;;; +FF1D;FULLWIDTH EQUALS SIGN;Sm;0;ON; 003D;;;;N;;;;; +FF1E;FULLWIDTH GREATER-THAN SIGN;Sm;0;ON; 003E;;;;Y;;;;; +FF1F;FULLWIDTH QUESTION MARK;Po;0;ON; 003F;;;;N;;;;; +FF20;FULLWIDTH COMMERCIAL AT;Po;0;ON; 0040;;;;N;;;;; +FF21;FULLWIDTH LATIN CAPITAL LETTER A;Lu;0;L; 0041;;;;N;;;;FF41; +FF22;FULLWIDTH LATIN CAPITAL LETTER B;Lu;0;L; 0042;;;;N;;;;FF42; +FF23;FULLWIDTH LATIN CAPITAL LETTER C;Lu;0;L; 0043;;;;N;;;;FF43; +FF24;FULLWIDTH LATIN CAPITAL LETTER D;Lu;0;L; 0044;;;;N;;;;FF44; +FF25;FULLWIDTH LATIN CAPITAL LETTER E;Lu;0;L; 0045;;;;N;;;;FF45; +FF26;FULLWIDTH LATIN CAPITAL LETTER F;Lu;0;L; 0046;;;;N;;;;FF46; +FF27;FULLWIDTH LATIN CAPITAL LETTER G;Lu;0;L; 0047;;;;N;;;;FF47; +FF28;FULLWIDTH LATIN CAPITAL LETTER H;Lu;0;L; 0048;;;;N;;;;FF48; +FF29;FULLWIDTH LATIN CAPITAL LETTER I;Lu;0;L; 0049;;;;N;;;;FF49; +FF2A;FULLWIDTH LATIN CAPITAL LETTER J;Lu;0;L; 004A;;;;N;;;;FF4A; +FF2B;FULLWIDTH LATIN CAPITAL LETTER K;Lu;0;L; 004B;;;;N;;;;FF4B; +FF2C;FULLWIDTH LATIN CAPITAL LETTER L;Lu;0;L; 004C;;;;N;;;;FF4C; +FF2D;FULLWIDTH LATIN CAPITAL LETTER M;Lu;0;L; 004D;;;;N;;;;FF4D; +FF2E;FULLWIDTH LATIN CAPITAL LETTER N;Lu;0;L; 004E;;;;N;;;;FF4E; +FF2F;FULLWIDTH LATIN CAPITAL LETTER O;Lu;0;L; 004F;;;;N;;;;FF4F; +FF30;FULLWIDTH LATIN CAPITAL LETTER P;Lu;0;L; 0050;;;;N;;;;FF50; +FF31;FULLWIDTH LATIN CAPITAL LETTER Q;Lu;0;L; 0051;;;;N;;;;FF51; +FF32;FULLWIDTH LATIN CAPITAL LETTER R;Lu;0;L; 0052;;;;N;;;;FF52; +FF33;FULLWIDTH LATIN CAPITAL LETTER S;Lu;0;L; 0053;;;;N;;;;FF53; +FF34;FULLWIDTH LATIN CAPITAL LETTER T;Lu;0;L; 0054;;;;N;;;;FF54; +FF35;FULLWIDTH LATIN CAPITAL LETTER U;Lu;0;L; 0055;;;;N;;;;FF55; +FF36;FULLWIDTH LATIN CAPITAL LETTER V;Lu;0;L; 0056;;;;N;;;;FF56; +FF37;FULLWIDTH LATIN CAPITAL LETTER W;Lu;0;L; 0057;;;;N;;;;FF57; +FF38;FULLWIDTH LATIN CAPITAL LETTER X;Lu;0;L; 0058;;;;N;;;;FF58; +FF39;FULLWIDTH LATIN CAPITAL LETTER Y;Lu;0;L; 0059;;;;N;;;;FF59; +FF3A;FULLWIDTH LATIN CAPITAL LETTER Z;Lu;0;L; 005A;;;;N;;;;FF5A; +FF3B;FULLWIDTH LEFT SQUARE BRACKET;Ps;0;ON; 005B;;;;Y;FULLWIDTH OPENING SQUARE BRACKET;;;; +FF3C;FULLWIDTH REVERSE SOLIDUS;Po;0;ON; 005C;;;;N;FULLWIDTH BACKSLASH;;;; +FF3D;FULLWIDTH RIGHT SQUARE BRACKET;Pe;0;ON; 005D;;;;Y;FULLWIDTH CLOSING SQUARE BRACKET;;;; +FF3E;FULLWIDTH CIRCUMFLEX ACCENT;Sk;0;ON; 005E;;;;N;FULLWIDTH SPACING CIRCUMFLEX;;;; +FF3F;FULLWIDTH LOW LINE;Pc;0;ON; 005F;;;;N;FULLWIDTH SPACING UNDERSCORE;;;; +FF40;FULLWIDTH GRAVE ACCENT;Sk;0;ON; 0060;;;;N;FULLWIDTH SPACING GRAVE;;;; +FF41;FULLWIDTH LATIN SMALL LETTER A;Ll;0;L; 0061;;;;N;;;FF21;;FF21 +FF42;FULLWIDTH LATIN SMALL LETTER B;Ll;0;L; 0062;;;;N;;;FF22;;FF22 +FF43;FULLWIDTH LATIN SMALL LETTER C;Ll;0;L; 0063;;;;N;;;FF23;;FF23 +FF44;FULLWIDTH LATIN SMALL LETTER D;Ll;0;L; 0064;;;;N;;;FF24;;FF24 +FF45;FULLWIDTH LATIN SMALL LETTER E;Ll;0;L; 0065;;;;N;;;FF25;;FF25 +FF46;FULLWIDTH LATIN SMALL LETTER F;Ll;0;L; 0066;;;;N;;;FF26;;FF26 +FF47;FULLWIDTH LATIN SMALL LETTER G;Ll;0;L; 0067;;;;N;;;FF27;;FF27 +FF48;FULLWIDTH LATIN SMALL LETTER H;Ll;0;L; 0068;;;;N;;;FF28;;FF28 +FF49;FULLWIDTH LATIN SMALL LETTER I;Ll;0;L; 0069;;;;N;;;FF29;;FF29 +FF4A;FULLWIDTH LATIN SMALL LETTER J;Ll;0;L; 006A;;;;N;;;FF2A;;FF2A +FF4B;FULLWIDTH LATIN SMALL LETTER K;Ll;0;L; 006B;;;;N;;;FF2B;;FF2B +FF4C;FULLWIDTH LATIN SMALL LETTER L;Ll;0;L; 006C;;;;N;;;FF2C;;FF2C +FF4D;FULLWIDTH LATIN SMALL LETTER M;Ll;0;L; 006D;;;;N;;;FF2D;;FF2D +FF4E;FULLWIDTH LATIN SMALL LETTER N;Ll;0;L; 006E;;;;N;;;FF2E;;FF2E +FF4F;FULLWIDTH LATIN SMALL LETTER O;Ll;0;L; 006F;;;;N;;;FF2F;;FF2F +FF50;FULLWIDTH LATIN SMALL LETTER P;Ll;0;L; 0070;;;;N;;;FF30;;FF30 +FF51;FULLWIDTH LATIN SMALL LETTER Q;Ll;0;L; 0071;;;;N;;;FF31;;FF31 +FF52;FULLWIDTH LATIN SMALL LETTER R;Ll;0;L; 0072;;;;N;;;FF32;;FF32 +FF53;FULLWIDTH LATIN SMALL LETTER S;Ll;0;L; 0073;;;;N;;;FF33;;FF33 +FF54;FULLWIDTH LATIN SMALL LETTER T;Ll;0;L; 0074;;;;N;;;FF34;;FF34 +FF55;FULLWIDTH LATIN SMALL LETTER U;Ll;0;L; 0075;;;;N;;;FF35;;FF35 +FF56;FULLWIDTH LATIN SMALL LETTER V;Ll;0;L; 0076;;;;N;;;FF36;;FF36 +FF57;FULLWIDTH LATIN SMALL LETTER W;Ll;0;L; 0077;;;;N;;;FF37;;FF37 +FF58;FULLWIDTH LATIN SMALL LETTER X;Ll;0;L; 0078;;;;N;;;FF38;;FF38 +FF59;FULLWIDTH LATIN SMALL LETTER Y;Ll;0;L; 0079;;;;N;;;FF39;;FF39 +FF5A;FULLWIDTH LATIN SMALL LETTER Z;Ll;0;L; 007A;;;;N;;;FF3A;;FF3A +FF5B;FULLWIDTH LEFT CURLY BRACKET;Ps;0;ON; 007B;;;;Y;FULLWIDTH OPENING CURLY BRACKET;;;; +FF5C;FULLWIDTH VERTICAL LINE;Sm;0;ON; 007C;;;;N;FULLWIDTH VERTICAL BAR;;;; +FF5D;FULLWIDTH RIGHT CURLY BRACKET;Pe;0;ON; 007D;;;;Y;FULLWIDTH CLOSING CURLY BRACKET;;;; +FF5E;FULLWIDTH TILDE;Sm;0;ON; 007E;;;;N;FULLWIDTH SPACING TILDE;;;; +FF5F;FULLWIDTH LEFT WHITE PARENTHESIS;Ps;0;ON; 2985;;;;Y;;;;; +FF60;FULLWIDTH RIGHT WHITE PARENTHESIS;Pe;0;ON; 2986;;;;Y;;;;; +FF61;HALFWIDTH IDEOGRAPHIC FULL STOP;Po;0;ON; 3002;;;;N;HALFWIDTH IDEOGRAPHIC PERIOD;;;; +FF62;HALFWIDTH LEFT CORNER BRACKET;Ps;0;ON; 300C;;;;Y;HALFWIDTH OPENING CORNER BRACKET;;;; +FF63;HALFWIDTH RIGHT CORNER BRACKET;Pe;0;ON; 300D;;;;Y;HALFWIDTH CLOSING CORNER BRACKET;;;; +FF64;HALFWIDTH IDEOGRAPHIC COMMA;Po;0;ON; 3001;;;;N;;;;; +FF65;HALFWIDTH KATAKANA MIDDLE DOT;Po;0;ON; 30FB;;;;N;;;;; +FF66;HALFWIDTH KATAKANA LETTER WO;Lo;0;L; 30F2;;;;N;;;;; +FF67;HALFWIDTH KATAKANA LETTER SMALL A;Lo;0;L; 30A1;;;;N;;;;; +FF68;HALFWIDTH KATAKANA LETTER SMALL I;Lo;0;L; 30A3;;;;N;;;;; +FF69;HALFWIDTH KATAKANA LETTER SMALL U;Lo;0;L; 30A5;;;;N;;;;; +FF6A;HALFWIDTH KATAKANA LETTER SMALL E;Lo;0;L; 30A7;;;;N;;;;; +FF6B;HALFWIDTH KATAKANA LETTER SMALL O;Lo;0;L; 30A9;;;;N;;;;; +FF6C;HALFWIDTH KATAKANA LETTER SMALL YA;Lo;0;L; 30E3;;;;N;;;;; +FF6D;HALFWIDTH KATAKANA LETTER SMALL YU;Lo;0;L; 30E5;;;;N;;;;; +FF6E;HALFWIDTH KATAKANA LETTER SMALL YO;Lo;0;L; 30E7;;;;N;;;;; +FF6F;HALFWIDTH KATAKANA LETTER SMALL TU;Lo;0;L; 30C3;;;;N;;;;; +FF70;HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK;Lm;0;L; 30FC;;;;N;;;;; +FF71;HALFWIDTH KATAKANA LETTER A;Lo;0;L; 30A2;;;;N;;;;; +FF72;HALFWIDTH KATAKANA LETTER I;Lo;0;L; 30A4;;;;N;;;;; +FF73;HALFWIDTH KATAKANA LETTER U;Lo;0;L; 30A6;;;;N;;;;; +FF74;HALFWIDTH KATAKANA LETTER E;Lo;0;L; 30A8;;;;N;;;;; +FF75;HALFWIDTH KATAKANA LETTER O;Lo;0;L; 30AA;;;;N;;;;; +FF76;HALFWIDTH KATAKANA LETTER KA;Lo;0;L; 30AB;;;;N;;;;; +FF77;HALFWIDTH KATAKANA LETTER KI;Lo;0;L; 30AD;;;;N;;;;; +FF78;HALFWIDTH KATAKANA LETTER KU;Lo;0;L; 30AF;;;;N;;;;; +FF79;HALFWIDTH KATAKANA LETTER KE;Lo;0;L; 30B1;;;;N;;;;; +FF7A;HALFWIDTH KATAKANA LETTER KO;Lo;0;L; 30B3;;;;N;;;;; +FF7B;HALFWIDTH KATAKANA LETTER SA;Lo;0;L; 30B5;;;;N;;;;; +FF7C;HALFWIDTH KATAKANA LETTER SI;Lo;0;L; 30B7;;;;N;;;;; +FF7D;HALFWIDTH KATAKANA LETTER SU;Lo;0;L; 30B9;;;;N;;;;; +FF7E;HALFWIDTH KATAKANA LETTER SE;Lo;0;L; 30BB;;;;N;;;;; +FF7F;HALFWIDTH KATAKANA LETTER SO;Lo;0;L; 30BD;;;;N;;;;; +FF80;HALFWIDTH KATAKANA LETTER TA;Lo;0;L; 30BF;;;;N;;;;; +FF81;HALFWIDTH KATAKANA LETTER TI;Lo;0;L; 30C1;;;;N;;;;; +FF82;HALFWIDTH KATAKANA LETTER TU;Lo;0;L; 30C4;;;;N;;;;; +FF83;HALFWIDTH KATAKANA LETTER TE;Lo;0;L; 30C6;;;;N;;;;; +FF84;HALFWIDTH KATAKANA LETTER TO;Lo;0;L; 30C8;;;;N;;;;; +FF85;HALFWIDTH KATAKANA LETTER NA;Lo;0;L; 30CA;;;;N;;;;; +FF86;HALFWIDTH KATAKANA LETTER NI;Lo;0;L; 30CB;;;;N;;;;; +FF87;HALFWIDTH KATAKANA LETTER NU;Lo;0;L; 30CC;;;;N;;;;; +FF88;HALFWIDTH KATAKANA LETTER NE;Lo;0;L; 30CD;;;;N;;;;; +FF89;HALFWIDTH KATAKANA LETTER NO;Lo;0;L; 30CE;;;;N;;;;; +FF8A;HALFWIDTH KATAKANA LETTER HA;Lo;0;L; 30CF;;;;N;;;;; +FF8B;HALFWIDTH KATAKANA LETTER HI;Lo;0;L; 30D2;;;;N;;;;; +FF8C;HALFWIDTH KATAKANA LETTER HU;Lo;0;L; 30D5;;;;N;;;;; +FF8D;HALFWIDTH KATAKANA LETTER HE;Lo;0;L; 30D8;;;;N;;;;; +FF8E;HALFWIDTH KATAKANA LETTER HO;Lo;0;L; 30DB;;;;N;;;;; +FF8F;HALFWIDTH KATAKANA LETTER MA;Lo;0;L; 30DE;;;;N;;;;; +FF90;HALFWIDTH KATAKANA LETTER MI;Lo;0;L; 30DF;;;;N;;;;; +FF91;HALFWIDTH KATAKANA LETTER MU;Lo;0;L; 30E0;;;;N;;;;; +FF92;HALFWIDTH KATAKANA LETTER ME;Lo;0;L; 30E1;;;;N;;;;; +FF93;HALFWIDTH KATAKANA LETTER MO;Lo;0;L; 30E2;;;;N;;;;; +FF94;HALFWIDTH KATAKANA LETTER YA;Lo;0;L; 30E4;;;;N;;;;; +FF95;HALFWIDTH KATAKANA LETTER YU;Lo;0;L; 30E6;;;;N;;;;; +FF96;HALFWIDTH KATAKANA LETTER YO;Lo;0;L; 30E8;;;;N;;;;; +FF97;HALFWIDTH KATAKANA LETTER RA;Lo;0;L; 30E9;;;;N;;;;; +FF98;HALFWIDTH KATAKANA LETTER RI;Lo;0;L; 30EA;;;;N;;;;; +FF99;HALFWIDTH KATAKANA LETTER RU;Lo;0;L; 30EB;;;;N;;;;; +FF9A;HALFWIDTH KATAKANA LETTER RE;Lo;0;L; 30EC;;;;N;;;;; +FF9B;HALFWIDTH KATAKANA LETTER RO;Lo;0;L; 30ED;;;;N;;;;; +FF9C;HALFWIDTH KATAKANA LETTER WA;Lo;0;L; 30EF;;;;N;;;;; +FF9D;HALFWIDTH KATAKANA LETTER N;Lo;0;L; 30F3;;;;N;;;;; +FF9E;HALFWIDTH KATAKANA VOICED SOUND MARK;Lm;0;L; 3099;;;;N;;;;; +FF9F;HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK;Lm;0;L; 309A;;;;N;;;;; +FFA0;HALFWIDTH HANGUL FILLER;Lo;0;L; 3164;;;;N;HALFWIDTH HANGUL CAE OM;;;; +FFA1;HALFWIDTH HANGUL LETTER KIYEOK;Lo;0;L; 3131;;;;N;HALFWIDTH HANGUL LETTER GIYEOG;;;; +FFA2;HALFWIDTH HANGUL LETTER SSANGKIYEOK;Lo;0;L; 3132;;;;N;HALFWIDTH HANGUL LETTER SSANG GIYEOG;;;; +FFA3;HALFWIDTH HANGUL LETTER KIYEOK-SIOS;Lo;0;L; 3133;;;;N;HALFWIDTH HANGUL LETTER GIYEOG SIOS;;;; +FFA4;HALFWIDTH HANGUL LETTER NIEUN;Lo;0;L; 3134;;;;N;;;;; +FFA5;HALFWIDTH HANGUL LETTER NIEUN-CIEUC;Lo;0;L; 3135;;;;N;HALFWIDTH HANGUL LETTER NIEUN JIEUJ;;;; +FFA6;HALFWIDTH HANGUL LETTER NIEUN-HIEUH;Lo;0;L; 3136;;;;N;HALFWIDTH HANGUL LETTER NIEUN HIEUH;;;; +FFA7;HALFWIDTH HANGUL LETTER TIKEUT;Lo;0;L; 3137;;;;N;HALFWIDTH HANGUL LETTER DIGEUD;;;; +FFA8;HALFWIDTH HANGUL LETTER SSANGTIKEUT;Lo;0;L; 3138;;;;N;HALFWIDTH HANGUL LETTER SSANG DIGEUD;;;; +FFA9;HALFWIDTH HANGUL LETTER RIEUL;Lo;0;L; 3139;;;;N;HALFWIDTH HANGUL LETTER LIEUL;;;; +FFAA;HALFWIDTH HANGUL LETTER RIEUL-KIYEOK;Lo;0;L; 313A;;;;N;HALFWIDTH HANGUL LETTER LIEUL GIYEOG;;;; +FFAB;HALFWIDTH HANGUL LETTER RIEUL-MIEUM;Lo;0;L; 313B;;;;N;HALFWIDTH HANGUL LETTER LIEUL MIEUM;;;; +FFAC;HALFWIDTH HANGUL LETTER RIEUL-PIEUP;Lo;0;L; 313C;;;;N;HALFWIDTH HANGUL LETTER LIEUL BIEUB;;;; +FFAD;HALFWIDTH HANGUL LETTER RIEUL-SIOS;Lo;0;L; 313D;;;;N;HALFWIDTH HANGUL LETTER LIEUL SIOS;;;; +FFAE;HALFWIDTH HANGUL LETTER RIEUL-THIEUTH;Lo;0;L; 313E;;;;N;HALFWIDTH HANGUL LETTER LIEUL TIEUT;;;; +FFAF;HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH;Lo;0;L; 313F;;;;N;HALFWIDTH HANGUL LETTER LIEUL PIEUP;;;; +FFB0;HALFWIDTH HANGUL LETTER RIEUL-HIEUH;Lo;0;L; 3140;;;;N;HALFWIDTH HANGUL LETTER LIEUL HIEUH;;;; +FFB1;HALFWIDTH HANGUL LETTER MIEUM;Lo;0;L; 3141;;;;N;;;;; +FFB2;HALFWIDTH HANGUL LETTER PIEUP;Lo;0;L; 3142;;;;N;HALFWIDTH HANGUL LETTER BIEUB;;;; +FFB3;HALFWIDTH HANGUL LETTER SSANGPIEUP;Lo;0;L; 3143;;;;N;HALFWIDTH HANGUL LETTER SSANG BIEUB;;;; +FFB4;HALFWIDTH HANGUL LETTER PIEUP-SIOS;Lo;0;L; 3144;;;;N;HALFWIDTH HANGUL LETTER BIEUB SIOS;;;; +FFB5;HALFWIDTH HANGUL LETTER SIOS;Lo;0;L; 3145;;;;N;;;;; +FFB6;HALFWIDTH HANGUL LETTER SSANGSIOS;Lo;0;L; 3146;;;;N;HALFWIDTH HANGUL LETTER SSANG SIOS;;;; +FFB7;HALFWIDTH HANGUL LETTER IEUNG;Lo;0;L; 3147;;;;N;;;;; +FFB8;HALFWIDTH HANGUL LETTER CIEUC;Lo;0;L; 3148;;;;N;HALFWIDTH HANGUL LETTER JIEUJ;;;; +FFB9;HALFWIDTH HANGUL LETTER SSANGCIEUC;Lo;0;L; 3149;;;;N;HALFWIDTH HANGUL LETTER SSANG JIEUJ;;;; +FFBA;HALFWIDTH HANGUL LETTER CHIEUCH;Lo;0;L; 314A;;;;N;HALFWIDTH HANGUL LETTER CIEUC;;;; +FFBB;HALFWIDTH HANGUL LETTER KHIEUKH;Lo;0;L; 314B;;;;N;HALFWIDTH HANGUL LETTER KIYEOK;;;; +FFBC;HALFWIDTH HANGUL LETTER THIEUTH;Lo;0;L; 314C;;;;N;HALFWIDTH HANGUL LETTER TIEUT;;;; +FFBD;HALFWIDTH HANGUL LETTER PHIEUPH;Lo;0;L; 314D;;;;N;HALFWIDTH HANGUL LETTER PIEUP;;;; +FFBE;HALFWIDTH HANGUL LETTER HIEUH;Lo;0;L; 314E;;;;N;;;;; +FFC2;HALFWIDTH HANGUL LETTER A;Lo;0;L; 314F;;;;N;;;;; +FFC3;HALFWIDTH HANGUL LETTER AE;Lo;0;L; 3150;;;;N;;;;; +FFC4;HALFWIDTH HANGUL LETTER YA;Lo;0;L; 3151;;;;N;;;;; +FFC5;HALFWIDTH HANGUL LETTER YAE;Lo;0;L; 3152;;;;N;;;;; +FFC6;HALFWIDTH HANGUL LETTER EO;Lo;0;L; 3153;;;;N;;;;; +FFC7;HALFWIDTH HANGUL LETTER E;Lo;0;L; 3154;;;;N;;;;; +FFCA;HALFWIDTH HANGUL LETTER YEO;Lo;0;L; 3155;;;;N;;;;; +FFCB;HALFWIDTH HANGUL LETTER YE;Lo;0;L; 3156;;;;N;;;;; +FFCC;HALFWIDTH HANGUL LETTER O;Lo;0;L; 3157;;;;N;;;;; +FFCD;HALFWIDTH HANGUL LETTER WA;Lo;0;L; 3158;;;;N;;;;; +FFCE;HALFWIDTH HANGUL LETTER WAE;Lo;0;L; 3159;;;;N;;;;; +FFCF;HALFWIDTH HANGUL LETTER OE;Lo;0;L; 315A;;;;N;;;;; +FFD2;HALFWIDTH HANGUL LETTER YO;Lo;0;L; 315B;;;;N;;;;; +FFD3;HALFWIDTH HANGUL LETTER U;Lo;0;L; 315C;;;;N;;;;; +FFD4;HALFWIDTH HANGUL LETTER WEO;Lo;0;L; 315D;;;;N;;;;; +FFD5;HALFWIDTH HANGUL LETTER WE;Lo;0;L; 315E;;;;N;;;;; +FFD6;HALFWIDTH HANGUL LETTER WI;Lo;0;L; 315F;;;;N;;;;; +FFD7;HALFWIDTH HANGUL LETTER YU;Lo;0;L; 3160;;;;N;;;;; +FFDA;HALFWIDTH HANGUL LETTER EU;Lo;0;L; 3161;;;;N;;;;; +FFDB;HALFWIDTH HANGUL LETTER YI;Lo;0;L; 3162;;;;N;;;;; +FFDC;HALFWIDTH HANGUL LETTER I;Lo;0;L; 3163;;;;N;;;;; +FFE0;FULLWIDTH CENT SIGN;Sc;0;ET; 00A2;;;;N;;;;; +FFE1;FULLWIDTH POUND SIGN;Sc;0;ET; 00A3;;;;N;;;;; +FFE2;FULLWIDTH NOT SIGN;Sm;0;ON; 00AC;;;;N;;;;; +FFE3;FULLWIDTH MACRON;Sk;0;ON; 00AF;;;;N;FULLWIDTH SPACING MACRON;;;; +FFE4;FULLWIDTH BROKEN BAR;So;0;ON; 00A6;;;;N;FULLWIDTH BROKEN VERTICAL BAR;;;; +FFE5;FULLWIDTH YEN SIGN;Sc;0;ET; 00A5;;;;N;;;;; +FFE6;FULLWIDTH WON SIGN;Sc;0;ET; 20A9;;;;N;;;;; +FFE8;HALFWIDTH FORMS LIGHT VERTICAL;So;0;ON; 2502;;;;N;;;;; +FFE9;HALFWIDTH LEFTWARDS ARROW;Sm;0;ON; 2190;;;;N;;;;; +FFEA;HALFWIDTH UPWARDS ARROW;Sm;0;ON; 2191;;;;N;;;;; +FFEB;HALFWIDTH RIGHTWARDS ARROW;Sm;0;ON; 2192;;;;N;;;;; +FFEC;HALFWIDTH DOWNWARDS ARROW;Sm;0;ON; 2193;;;;N;;;;; +FFED;HALFWIDTH BLACK SQUARE;So;0;ON; 25A0;;;;N;;;;; +FFEE;HALFWIDTH WHITE CIRCLE;So;0;ON; 25CB;;;;N;;;;; +FFF9;INTERLINEAR ANNOTATION ANCHOR;Cf;0;ON;;;;;N;;;;; +FFFA;INTERLINEAR ANNOTATION SEPARATOR;Cf;0;ON;;;;;N;;;;; +FFFB;INTERLINEAR ANNOTATION TERMINATOR;Cf;0;ON;;;;;N;;;;; +FFFC;OBJECT REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; +FFFD;REPLACEMENT CHARACTER;So;0;ON;;;;;N;;;;; +10000;LINEAR B SYLLABLE B008 A;Lo;0;L;;;;;N;;;;; +10001;LINEAR B SYLLABLE B038 E;Lo;0;L;;;;;N;;;;; +10002;LINEAR B SYLLABLE B028 I;Lo;0;L;;;;;N;;;;; +10003;LINEAR B SYLLABLE B061 O;Lo;0;L;;;;;N;;;;; +10004;LINEAR B SYLLABLE B010 U;Lo;0;L;;;;;N;;;;; +10005;LINEAR B SYLLABLE B001 DA;Lo;0;L;;;;;N;;;;; +10006;LINEAR B SYLLABLE B045 DE;Lo;0;L;;;;;N;;;;; +10007;LINEAR B SYLLABLE B007 DI;Lo;0;L;;;;;N;;;;; +10008;LINEAR B SYLLABLE B014 DO;Lo;0;L;;;;;N;;;;; +10009;LINEAR B SYLLABLE B051 DU;Lo;0;L;;;;;N;;;;; +1000A;LINEAR B SYLLABLE B057 JA;Lo;0;L;;;;;N;;;;; +1000B;LINEAR B SYLLABLE B046 JE;Lo;0;L;;;;;N;;;;; +1000D;LINEAR B SYLLABLE B036 JO;Lo;0;L;;;;;N;;;;; +1000E;LINEAR B SYLLABLE B065 JU;Lo;0;L;;;;;N;;;;; +1000F;LINEAR B SYLLABLE B077 KA;Lo;0;L;;;;;N;;;;; +10010;LINEAR B SYLLABLE B044 KE;Lo;0;L;;;;;N;;;;; +10011;LINEAR B SYLLABLE B067 KI;Lo;0;L;;;;;N;;;;; +10012;LINEAR B SYLLABLE B070 KO;Lo;0;L;;;;;N;;;;; +10013;LINEAR B SYLLABLE B081 KU;Lo;0;L;;;;;N;;;;; +10014;LINEAR B SYLLABLE B080 MA;Lo;0;L;;;;;N;;;;; +10015;LINEAR B SYLLABLE B013 ME;Lo;0;L;;;;;N;;;;; +10016;LINEAR B SYLLABLE B073 MI;Lo;0;L;;;;;N;;;;; +10017;LINEAR B SYLLABLE B015 MO;Lo;0;L;;;;;N;;;;; +10018;LINEAR B SYLLABLE B023 MU;Lo;0;L;;;;;N;;;;; +10019;LINEAR B SYLLABLE B006 NA;Lo;0;L;;;;;N;;;;; +1001A;LINEAR B SYLLABLE B024 NE;Lo;0;L;;;;;N;;;;; +1001B;LINEAR B SYLLABLE B030 NI;Lo;0;L;;;;;N;;;;; +1001C;LINEAR B SYLLABLE B052 NO;Lo;0;L;;;;;N;;;;; +1001D;LINEAR B SYLLABLE B055 NU;Lo;0;L;;;;;N;;;;; +1001E;LINEAR B SYLLABLE B003 PA;Lo;0;L;;;;;N;;;;; +1001F;LINEAR B SYLLABLE B072 PE;Lo;0;L;;;;;N;;;;; +10020;LINEAR B SYLLABLE B039 PI;Lo;0;L;;;;;N;;;;; +10021;LINEAR B SYLLABLE B011 PO;Lo;0;L;;;;;N;;;;; +10022;LINEAR B SYLLABLE B050 PU;Lo;0;L;;;;;N;;;;; +10023;LINEAR B SYLLABLE B016 QA;Lo;0;L;;;;;N;;;;; +10024;LINEAR B SYLLABLE B078 QE;Lo;0;L;;;;;N;;;;; +10025;LINEAR B SYLLABLE B021 QI;Lo;0;L;;;;;N;;;;; +10026;LINEAR B SYLLABLE B032 QO;Lo;0;L;;;;;N;;;;; +10028;LINEAR B SYLLABLE B060 RA;Lo;0;L;;;;;N;;;;; +10029;LINEAR B SYLLABLE B027 RE;Lo;0;L;;;;;N;;;;; +1002A;LINEAR B SYLLABLE B053 RI;Lo;0;L;;;;;N;;;;; +1002B;LINEAR B SYLLABLE B002 RO;Lo;0;L;;;;;N;;;;; +1002C;LINEAR B SYLLABLE B026 RU;Lo;0;L;;;;;N;;;;; +1002D;LINEAR B SYLLABLE B031 SA;Lo;0;L;;;;;N;;;;; +1002E;LINEAR B SYLLABLE B009 SE;Lo;0;L;;;;;N;;;;; +1002F;LINEAR B SYLLABLE B041 SI;Lo;0;L;;;;;N;;;;; +10030;LINEAR B SYLLABLE B012 SO;Lo;0;L;;;;;N;;;;; +10031;LINEAR B SYLLABLE B058 SU;Lo;0;L;;;;;N;;;;; +10032;LINEAR B SYLLABLE B059 TA;Lo;0;L;;;;;N;;;;; +10033;LINEAR B SYLLABLE B004 TE;Lo;0;L;;;;;N;;;;; +10034;LINEAR B SYLLABLE B037 TI;Lo;0;L;;;;;N;;;;; +10035;LINEAR B SYLLABLE B005 TO;Lo;0;L;;;;;N;;;;; +10036;LINEAR B SYLLABLE B069 TU;Lo;0;L;;;;;N;;;;; +10037;LINEAR B SYLLABLE B054 WA;Lo;0;L;;;;;N;;;;; +10038;LINEAR B SYLLABLE B075 WE;Lo;0;L;;;;;N;;;;; +10039;LINEAR B SYLLABLE B040 WI;Lo;0;L;;;;;N;;;;; +1003A;LINEAR B SYLLABLE B042 WO;Lo;0;L;;;;;N;;;;; +1003C;LINEAR B SYLLABLE B017 ZA;Lo;0;L;;;;;N;;;;; +1003D;LINEAR B SYLLABLE B074 ZE;Lo;0;L;;;;;N;;;;; +1003F;LINEAR B SYLLABLE B020 ZO;Lo;0;L;;;;;N;;;;; +10040;LINEAR B SYLLABLE B025 A2;Lo;0;L;;;;;N;;;;; +10041;LINEAR B SYLLABLE B043 A3;Lo;0;L;;;;;N;;;;; +10042;LINEAR B SYLLABLE B085 AU;Lo;0;L;;;;;N;;;;; +10043;LINEAR B SYLLABLE B071 DWE;Lo;0;L;;;;;N;;;;; +10044;LINEAR B SYLLABLE B090 DWO;Lo;0;L;;;;;N;;;;; +10045;LINEAR B SYLLABLE B048 NWA;Lo;0;L;;;;;N;;;;; +10046;LINEAR B SYLLABLE B029 PU2;Lo;0;L;;;;;N;;;;; +10047;LINEAR B SYLLABLE B062 PTE;Lo;0;L;;;;;N;;;;; +10048;LINEAR B SYLLABLE B076 RA2;Lo;0;L;;;;;N;;;;; +10049;LINEAR B SYLLABLE B033 RA3;Lo;0;L;;;;;N;;;;; +1004A;LINEAR B SYLLABLE B068 RO2;Lo;0;L;;;;;N;;;;; +1004B;LINEAR B SYLLABLE B066 TA2;Lo;0;L;;;;;N;;;;; +1004C;LINEAR B SYLLABLE B087 TWE;Lo;0;L;;;;;N;;;;; +1004D;LINEAR B SYLLABLE B091 TWO;Lo;0;L;;;;;N;;;;; +10050;LINEAR B SYMBOL B018;Lo;0;L;;;;;N;;;;; +10051;LINEAR B SYMBOL B019;Lo;0;L;;;;;N;;;;; +10052;LINEAR B SYMBOL B022;Lo;0;L;;;;;N;;;;; +10053;LINEAR B SYMBOL B034;Lo;0;L;;;;;N;;;;; +10054;LINEAR B SYMBOL B047;Lo;0;L;;;;;N;;;;; +10055;LINEAR B SYMBOL B049;Lo;0;L;;;;;N;;;;; +10056;LINEAR B SYMBOL B056;Lo;0;L;;;;;N;;;;; +10057;LINEAR B SYMBOL B063;Lo;0;L;;;;;N;;;;; +10058;LINEAR B SYMBOL B064;Lo;0;L;;;;;N;;;;; +10059;LINEAR B SYMBOL B079;Lo;0;L;;;;;N;;;;; +1005A;LINEAR B SYMBOL B082;Lo;0;L;;;;;N;;;;; +1005B;LINEAR B SYMBOL B083;Lo;0;L;;;;;N;;;;; +1005C;LINEAR B SYMBOL B086;Lo;0;L;;;;;N;;;;; +1005D;LINEAR B SYMBOL B089;Lo;0;L;;;;;N;;;;; +10080;LINEAR B IDEOGRAM B100 MAN;Lo;0;L;;;;;N;;;;; +10081;LINEAR B IDEOGRAM B102 WOMAN;Lo;0;L;;;;;N;;;;; +10082;LINEAR B IDEOGRAM B104 DEER;Lo;0;L;;;;;N;;;;; +10083;LINEAR B IDEOGRAM B105 EQUID;Lo;0;L;;;;;N;;;;; +10084;LINEAR B IDEOGRAM B105F MARE;Lo;0;L;;;;;N;;;;; +10085;LINEAR B IDEOGRAM B105M STALLION;Lo;0;L;;;;;N;;;;; +10086;LINEAR B IDEOGRAM B106F EWE;Lo;0;L;;;;;N;;;;; +10087;LINEAR B IDEOGRAM B106M RAM;Lo;0;L;;;;;N;;;;; +10088;LINEAR B IDEOGRAM B107F SHE-GOAT;Lo;0;L;;;;;N;;;;; +10089;LINEAR B IDEOGRAM B107M HE-GOAT;Lo;0;L;;;;;N;;;;; +1008A;LINEAR B IDEOGRAM B108F SOW;Lo;0;L;;;;;N;;;;; +1008B;LINEAR B IDEOGRAM B108M BOAR;Lo;0;L;;;;;N;;;;; +1008C;LINEAR B IDEOGRAM B109F COW;Lo;0;L;;;;;N;;;;; +1008D;LINEAR B IDEOGRAM B109M BULL;Lo;0;L;;;;;N;;;;; +1008E;LINEAR B IDEOGRAM B120 WHEAT;Lo;0;L;;;;;N;;;;; +1008F;LINEAR B IDEOGRAM B121 BARLEY;Lo;0;L;;;;;N;;;;; +10090;LINEAR B IDEOGRAM B122 OLIVE;Lo;0;L;;;;;N;;;;; +10091;LINEAR B IDEOGRAM B123 SPICE;Lo;0;L;;;;;N;;;;; +10092;LINEAR B IDEOGRAM B125 CYPERUS;Lo;0;L;;;;;N;;;;; +10093;LINEAR B MONOGRAM B127 KAPO;Lo;0;L;;;;;N;;;;; +10094;LINEAR B MONOGRAM B128 KANAKO;Lo;0;L;;;;;N;;;;; +10095;LINEAR B IDEOGRAM B130 OIL;Lo;0;L;;;;;N;;;;; +10096;LINEAR B IDEOGRAM B131 WINE;Lo;0;L;;;;;N;;;;; +10097;LINEAR B IDEOGRAM B132;Lo;0;L;;;;;N;;;;; +10098;LINEAR B MONOGRAM B133 AREPA;Lo;0;L;;;;;N;;;;; +10099;LINEAR B MONOGRAM B135 MERI;Lo;0;L;;;;;N;;;;; +1009A;LINEAR B IDEOGRAM B140 BRONZE;Lo;0;L;;;;;N;;;;; +1009B;LINEAR B IDEOGRAM B141 GOLD;Lo;0;L;;;;;N;;;;; +1009C;LINEAR B IDEOGRAM B142;Lo;0;L;;;;;N;;;;; +1009D;LINEAR B IDEOGRAM B145 WOOL;Lo;0;L;;;;;N;;;;; +1009E;LINEAR B IDEOGRAM B146;Lo;0;L;;;;;N;;;;; +1009F;LINEAR B IDEOGRAM B150;Lo;0;L;;;;;N;;;;; +100A0;LINEAR B IDEOGRAM B151 HORN;Lo;0;L;;;;;N;;;;; +100A1;LINEAR B IDEOGRAM B152;Lo;0;L;;;;;N;;;;; +100A2;LINEAR B IDEOGRAM B153;Lo;0;L;;;;;N;;;;; +100A3;LINEAR B IDEOGRAM B154;Lo;0;L;;;;;N;;;;; +100A4;LINEAR B MONOGRAM B156 TURO2;Lo;0;L;;;;;N;;;;; +100A5;LINEAR B IDEOGRAM B157;Lo;0;L;;;;;N;;;;; +100A6;LINEAR B IDEOGRAM B158;Lo;0;L;;;;;N;;;;; +100A7;LINEAR B IDEOGRAM B159 CLOTH;Lo;0;L;;;;;N;;;;; +100A8;LINEAR B IDEOGRAM B160;Lo;0;L;;;;;N;;;;; +100A9;LINEAR B IDEOGRAM B161;Lo;0;L;;;;;N;;;;; +100AA;LINEAR B IDEOGRAM B162 GARMENT;Lo;0;L;;;;;N;;;;; +100AB;LINEAR B IDEOGRAM B163 ARMOUR;Lo;0;L;;;;;N;;;;; +100AC;LINEAR B IDEOGRAM B164;Lo;0;L;;;;;N;;;;; +100AD;LINEAR B IDEOGRAM B165;Lo;0;L;;;;;N;;;;; +100AE;LINEAR B IDEOGRAM B166;Lo;0;L;;;;;N;;;;; +100AF;LINEAR B IDEOGRAM B167;Lo;0;L;;;;;N;;;;; +100B0;LINEAR B IDEOGRAM B168;Lo;0;L;;;;;N;;;;; +100B1;LINEAR B IDEOGRAM B169;Lo;0;L;;;;;N;;;;; +100B2;LINEAR B IDEOGRAM B170;Lo;0;L;;;;;N;;;;; +100B3;LINEAR B IDEOGRAM B171;Lo;0;L;;;;;N;;;;; +100B4;LINEAR B IDEOGRAM B172;Lo;0;L;;;;;N;;;;; +100B5;LINEAR B IDEOGRAM B173 MONTH;Lo;0;L;;;;;N;;;;; +100B6;LINEAR B IDEOGRAM B174;Lo;0;L;;;;;N;;;;; +100B7;LINEAR B IDEOGRAM B176 TREE;Lo;0;L;;;;;N;;;;; +100B8;LINEAR B IDEOGRAM B177;Lo;0;L;;;;;N;;;;; +100B9;LINEAR B IDEOGRAM B178;Lo;0;L;;;;;N;;;;; +100BA;LINEAR B IDEOGRAM B179;Lo;0;L;;;;;N;;;;; +100BB;LINEAR B IDEOGRAM B180;Lo;0;L;;;;;N;;;;; +100BC;LINEAR B IDEOGRAM B181;Lo;0;L;;;;;N;;;;; +100BD;LINEAR B IDEOGRAM B182;Lo;0;L;;;;;N;;;;; +100BE;LINEAR B IDEOGRAM B183;Lo;0;L;;;;;N;;;;; +100BF;LINEAR B IDEOGRAM B184;Lo;0;L;;;;;N;;;;; +100C0;LINEAR B IDEOGRAM B185;Lo;0;L;;;;;N;;;;; +100C1;LINEAR B IDEOGRAM B189;Lo;0;L;;;;;N;;;;; +100C2;LINEAR B IDEOGRAM B190;Lo;0;L;;;;;N;;;;; +100C3;LINEAR B IDEOGRAM B191 HELMET;Lo;0;L;;;;;N;;;;; +100C4;LINEAR B IDEOGRAM B220 FOOTSTOOL;Lo;0;L;;;;;N;;;;; +100C5;LINEAR B IDEOGRAM B225 BATHTUB;Lo;0;L;;;;;N;;;;; +100C6;LINEAR B IDEOGRAM B230 SPEAR;Lo;0;L;;;;;N;;;;; +100C7;LINEAR B IDEOGRAM B231 ARROW;Lo;0;L;;;;;N;;;;; +100C8;LINEAR B IDEOGRAM B232;Lo;0;L;;;;;N;;;;; +100C9;LINEAR B IDEOGRAM B233 SWORD;Lo;0;L;;;;;N;;;;; +100CA;LINEAR B IDEOGRAM B234;Lo;0;L;;;;;N;;;;; +100CB;LINEAR B IDEOGRAM B236;Lo;0;L;;;;;N;;;;; +100CC;LINEAR B IDEOGRAM B240 WHEELED CHARIOT;Lo;0;L;;;;;N;;;;; +100CD;LINEAR B IDEOGRAM B241 CHARIOT;Lo;0;L;;;;;N;;;;; +100CE;LINEAR B IDEOGRAM B242 CHARIOT FRAME;Lo;0;L;;;;;N;;;;; +100CF;LINEAR B IDEOGRAM B243 WHEEL;Lo;0;L;;;;;N;;;;; +100D0;LINEAR B IDEOGRAM B245;Lo;0;L;;;;;N;;;;; +100D1;LINEAR B IDEOGRAM B246;Lo;0;L;;;;;N;;;;; +100D2;LINEAR B MONOGRAM B247 DIPTE;Lo;0;L;;;;;N;;;;; +100D3;LINEAR B IDEOGRAM B248;Lo;0;L;;;;;N;;;;; +100D4;LINEAR B IDEOGRAM B249;Lo;0;L;;;;;N;;;;; +100D5;LINEAR B IDEOGRAM B251;Lo;0;L;;;;;N;;;;; +100D6;LINEAR B IDEOGRAM B252;Lo;0;L;;;;;N;;;;; +100D7;LINEAR B IDEOGRAM B253;Lo;0;L;;;;;N;;;;; +100D8;LINEAR B IDEOGRAM B254 DART;Lo;0;L;;;;;N;;;;; +100D9;LINEAR B IDEOGRAM B255;Lo;0;L;;;;;N;;;;; +100DA;LINEAR B IDEOGRAM B256;Lo;0;L;;;;;N;;;;; +100DB;LINEAR B IDEOGRAM B257;Lo;0;L;;;;;N;;;;; +100DC;LINEAR B IDEOGRAM B258;Lo;0;L;;;;;N;;;;; +100DD;LINEAR B IDEOGRAM B259;Lo;0;L;;;;;N;;;;; +100DE;LINEAR B IDEOGRAM VESSEL B155;Lo;0;L;;;;;N;;;;; +100DF;LINEAR B IDEOGRAM VESSEL B200;Lo;0;L;;;;;N;;;;; +100E0;LINEAR B IDEOGRAM VESSEL B201;Lo;0;L;;;;;N;;;;; +100E1;LINEAR B IDEOGRAM VESSEL B202;Lo;0;L;;;;;N;;;;; +100E2;LINEAR B IDEOGRAM VESSEL B203;Lo;0;L;;;;;N;;;;; +100E3;LINEAR B IDEOGRAM VESSEL B204;Lo;0;L;;;;;N;;;;; +100E4;LINEAR B IDEOGRAM VESSEL B205;Lo;0;L;;;;;N;;;;; +100E5;LINEAR B IDEOGRAM VESSEL B206;Lo;0;L;;;;;N;;;;; +100E6;LINEAR B IDEOGRAM VESSEL B207;Lo;0;L;;;;;N;;;;; +100E7;LINEAR B IDEOGRAM VESSEL B208;Lo;0;L;;;;;N;;;;; +100E8;LINEAR B IDEOGRAM VESSEL B209;Lo;0;L;;;;;N;;;;; +100E9;LINEAR B IDEOGRAM VESSEL B210;Lo;0;L;;;;;N;;;;; +100EA;LINEAR B IDEOGRAM VESSEL B211;Lo;0;L;;;;;N;;;;; +100EB;LINEAR B IDEOGRAM VESSEL B212;Lo;0;L;;;;;N;;;;; +100EC;LINEAR B IDEOGRAM VESSEL B213;Lo;0;L;;;;;N;;;;; +100ED;LINEAR B IDEOGRAM VESSEL B214;Lo;0;L;;;;;N;;;;; +100EE;LINEAR B IDEOGRAM VESSEL B215;Lo;0;L;;;;;N;;;;; +100EF;LINEAR B IDEOGRAM VESSEL B216;Lo;0;L;;;;;N;;;;; +100F0;LINEAR B IDEOGRAM VESSEL B217;Lo;0;L;;;;;N;;;;; +100F1;LINEAR B IDEOGRAM VESSEL B218;Lo;0;L;;;;;N;;;;; +100F2;LINEAR B IDEOGRAM VESSEL B219;Lo;0;L;;;;;N;;;;; +100F3;LINEAR B IDEOGRAM VESSEL B221;Lo;0;L;;;;;N;;;;; +100F4;LINEAR B IDEOGRAM VESSEL B222;Lo;0;L;;;;;N;;;;; +100F5;LINEAR B IDEOGRAM VESSEL B226;Lo;0;L;;;;;N;;;;; +100F6;LINEAR B IDEOGRAM VESSEL B227;Lo;0;L;;;;;N;;;;; +100F7;LINEAR B IDEOGRAM VESSEL B228;Lo;0;L;;;;;N;;;;; +100F8;LINEAR B IDEOGRAM VESSEL B229;Lo;0;L;;;;;N;;;;; +100F9;LINEAR B IDEOGRAM VESSEL B250;Lo;0;L;;;;;N;;;;; +100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;; +10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;; +10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;; +10102;AEGEAN CHECK MARK;Po;0;L;;;;;N;;;;; +10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;; +10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;; +10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;; +1010A;AEGEAN NUMBER FOUR;No;0;L;;;;4;N;;;;; +1010B;AEGEAN NUMBER FIVE;No;0;L;;;;5;N;;;;; +1010C;AEGEAN NUMBER SIX;No;0;L;;;;6;N;;;;; +1010D;AEGEAN NUMBER SEVEN;No;0;L;;;;7;N;;;;; +1010E;AEGEAN NUMBER EIGHT;No;0;L;;;;8;N;;;;; +1010F;AEGEAN NUMBER NINE;No;0;L;;;;9;N;;;;; +10110;AEGEAN NUMBER TEN;No;0;L;;;;10;N;;;;; +10111;AEGEAN NUMBER TWENTY;No;0;L;;;;20;N;;;;; +10112;AEGEAN NUMBER THIRTY;No;0;L;;;;30;N;;;;; +10113;AEGEAN NUMBER FORTY;No;0;L;;;;40;N;;;;; +10114;AEGEAN NUMBER FIFTY;No;0;L;;;;50;N;;;;; +10115;AEGEAN NUMBER SIXTY;No;0;L;;;;60;N;;;;; +10116;AEGEAN NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +10117;AEGEAN NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +10118;AEGEAN NUMBER NINETY;No;0;L;;;;90;N;;;;; +10119;AEGEAN NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +1011A;AEGEAN NUMBER TWO HUNDRED;No;0;L;;;;200;N;;;;; +1011B;AEGEAN NUMBER THREE HUNDRED;No;0;L;;;;300;N;;;;; +1011C;AEGEAN NUMBER FOUR HUNDRED;No;0;L;;;;400;N;;;;; +1011D;AEGEAN NUMBER FIVE HUNDRED;No;0;L;;;;500;N;;;;; +1011E;AEGEAN NUMBER SIX HUNDRED;No;0;L;;;;600;N;;;;; +1011F;AEGEAN NUMBER SEVEN HUNDRED;No;0;L;;;;700;N;;;;; +10120;AEGEAN NUMBER EIGHT HUNDRED;No;0;L;;;;800;N;;;;; +10121;AEGEAN NUMBER NINE HUNDRED;No;0;L;;;;900;N;;;;; +10122;AEGEAN NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +10123;AEGEAN NUMBER TWO THOUSAND;No;0;L;;;;2000;N;;;;; +10124;AEGEAN NUMBER THREE THOUSAND;No;0;L;;;;3000;N;;;;; +10125;AEGEAN NUMBER FOUR THOUSAND;No;0;L;;;;4000;N;;;;; +10126;AEGEAN NUMBER FIVE THOUSAND;No;0;L;;;;5000;N;;;;; +10127;AEGEAN NUMBER SIX THOUSAND;No;0;L;;;;6000;N;;;;; +10128;AEGEAN NUMBER SEVEN THOUSAND;No;0;L;;;;7000;N;;;;; +10129;AEGEAN NUMBER EIGHT THOUSAND;No;0;L;;;;8000;N;;;;; +1012A;AEGEAN NUMBER NINE THOUSAND;No;0;L;;;;9000;N;;;;; +1012B;AEGEAN NUMBER TEN THOUSAND;No;0;L;;;;10000;N;;;;; +1012C;AEGEAN NUMBER TWENTY THOUSAND;No;0;L;;;;20000;N;;;;; +1012D;AEGEAN NUMBER THIRTY THOUSAND;No;0;L;;;;30000;N;;;;; +1012E;AEGEAN NUMBER FORTY THOUSAND;No;0;L;;;;40000;N;;;;; +1012F;AEGEAN NUMBER FIFTY THOUSAND;No;0;L;;;;50000;N;;;;; +10130;AEGEAN NUMBER SIXTY THOUSAND;No;0;L;;;;60000;N;;;;; +10131;AEGEAN NUMBER SEVENTY THOUSAND;No;0;L;;;;70000;N;;;;; +10132;AEGEAN NUMBER EIGHTY THOUSAND;No;0;L;;;;80000;N;;;;; +10133;AEGEAN NUMBER NINETY THOUSAND;No;0;L;;;;90000;N;;;;; +10137;AEGEAN WEIGHT BASE UNIT;So;0;L;;;;;N;;;;; +10138;AEGEAN WEIGHT FIRST SUBUNIT;So;0;L;;;;;N;;;;; +10139;AEGEAN WEIGHT SECOND SUBUNIT;So;0;L;;;;;N;;;;; +1013A;AEGEAN WEIGHT THIRD SUBUNIT;So;0;L;;;;;N;;;;; +1013B;AEGEAN WEIGHT FOURTH SUBUNIT;So;0;L;;;;;N;;;;; +1013C;AEGEAN DRY MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; +1013D;AEGEAN LIQUID MEASURE FIRST SUBUNIT;So;0;L;;;;;N;;;;; +1013E;AEGEAN MEASURE SECOND SUBUNIT;So;0;L;;;;;N;;;;; +1013F;AEGEAN MEASURE THIRD SUBUNIT;So;0;L;;;;;N;;;;; +10140;GREEK ACROPHONIC ATTIC ONE QUARTER;Nl;0;ON;;;;1/4;N;;;;; +10141;GREEK ACROPHONIC ATTIC ONE HALF;Nl;0;ON;;;;1/2;N;;;;; +10142;GREEK ACROPHONIC ATTIC ONE DRACHMA;Nl;0;ON;;;;1;N;;;;; +10143;GREEK ACROPHONIC ATTIC FIVE;Nl;0;ON;;;;5;N;;;;; +10144;GREEK ACROPHONIC ATTIC FIFTY;Nl;0;ON;;;;50;N;;;;; +10145;GREEK ACROPHONIC ATTIC FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10146;GREEK ACROPHONIC ATTIC FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;; +10147;GREEK ACROPHONIC ATTIC FIFTY THOUSAND;Nl;0;ON;;;;50000;N;;;;; +10148;GREEK ACROPHONIC ATTIC FIVE TALENTS;Nl;0;ON;;;;5;N;;;;; +10149;GREEK ACROPHONIC ATTIC TEN TALENTS;Nl;0;ON;;;;10;N;;;;; +1014A;GREEK ACROPHONIC ATTIC FIFTY TALENTS;Nl;0;ON;;;;50;N;;;;; +1014B;GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS;Nl;0;ON;;;;100;N;;;;; +1014C;GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS;Nl;0;ON;;;;500;N;;;;; +1014D;GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS;Nl;0;ON;;;;1000;N;;;;; +1014E;GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS;Nl;0;ON;;;;5000;N;;;;; +1014F;GREEK ACROPHONIC ATTIC FIVE STATERS;Nl;0;ON;;;;5;N;;;;; +10150;GREEK ACROPHONIC ATTIC TEN STATERS;Nl;0;ON;;;;10;N;;;;; +10151;GREEK ACROPHONIC ATTIC FIFTY STATERS;Nl;0;ON;;;;50;N;;;;; +10152;GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS;Nl;0;ON;;;;100;N;;;;; +10153;GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS;Nl;0;ON;;;;500;N;;;;; +10154;GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS;Nl;0;ON;;;;1000;N;;;;; +10155;GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS;Nl;0;ON;;;;10000;N;;;;; +10156;GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS;Nl;0;ON;;;;50000;N;;;;; +10157;GREEK ACROPHONIC ATTIC TEN MNAS;Nl;0;ON;;;;10;N;;;;; +10158;GREEK ACROPHONIC HERAEUM ONE PLETHRON;Nl;0;ON;;;;1;N;;;;; +10159;GREEK ACROPHONIC THESPIAN ONE;Nl;0;ON;;;;1;N;;;;; +1015A;GREEK ACROPHONIC HERMIONIAN ONE;Nl;0;ON;;;;1;N;;;;; +1015B;GREEK ACROPHONIC EPIDAUREAN TWO;Nl;0;ON;;;;2;N;;;;; +1015C;GREEK ACROPHONIC THESPIAN TWO;Nl;0;ON;;;;2;N;;;;; +1015D;GREEK ACROPHONIC CYRENAIC TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;; +1015E;GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS;Nl;0;ON;;;;2;N;;;;; +1015F;GREEK ACROPHONIC TROEZENIAN FIVE;Nl;0;ON;;;;5;N;;;;; +10160;GREEK ACROPHONIC TROEZENIAN TEN;Nl;0;ON;;;;10;N;;;;; +10161;GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM;Nl;0;ON;;;;10;N;;;;; +10162;GREEK ACROPHONIC HERMIONIAN TEN;Nl;0;ON;;;;10;N;;;;; +10163;GREEK ACROPHONIC MESSENIAN TEN;Nl;0;ON;;;;10;N;;;;; +10164;GREEK ACROPHONIC THESPIAN TEN;Nl;0;ON;;;;10;N;;;;; +10165;GREEK ACROPHONIC THESPIAN THIRTY;Nl;0;ON;;;;30;N;;;;; +10166;GREEK ACROPHONIC TROEZENIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +10167;GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM;Nl;0;ON;;;;50;N;;;;; +10168;GREEK ACROPHONIC HERMIONIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +10169;GREEK ACROPHONIC THESPIAN FIFTY;Nl;0;ON;;;;50;N;;;;; +1016A;GREEK ACROPHONIC THESPIAN ONE HUNDRED;Nl;0;ON;;;;100;N;;;;; +1016B;GREEK ACROPHONIC THESPIAN THREE HUNDRED;Nl;0;ON;;;;300;N;;;;; +1016C;GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016D;GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016E;GREEK ACROPHONIC THESPIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +1016F;GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10170;GREEK ACROPHONIC NAXIAN FIVE HUNDRED;Nl;0;ON;;;;500;N;;;;; +10171;GREEK ACROPHONIC THESPIAN ONE THOUSAND;Nl;0;ON;;;;1000;N;;;;; +10172;GREEK ACROPHONIC THESPIAN FIVE THOUSAND;Nl;0;ON;;;;5000;N;;;;; +10173;GREEK ACROPHONIC DELPHIC FIVE MNAS;Nl;0;ON;;;;5;N;;;;; +10174;GREEK ACROPHONIC STRATIAN FIFTY MNAS;Nl;0;ON;;;;50;N;;;;; +10175;GREEK ONE HALF SIGN;No;0;ON;;;;1/2;N;;;;; +10176;GREEK ONE HALF SIGN ALTERNATE FORM;No;0;ON;;;;1/2;N;;;;; +10177;GREEK TWO THIRDS SIGN;No;0;ON;;;;2/3;N;;;;; +10178;GREEK THREE QUARTERS SIGN;No;0;ON;;;;3/4;N;;;;; +10179;GREEK YEAR SIGN;So;0;ON;;;;;N;;;;; +1017A;GREEK TALENT SIGN;So;0;ON;;;;;N;;;;; +1017B;GREEK DRACHMA SIGN;So;0;ON;;;;;N;;;;; +1017C;GREEK OBOL SIGN;So;0;ON;;;;;N;;;;; +1017D;GREEK TWO OBOLS SIGN;So;0;ON;;;;;N;;;;; +1017E;GREEK THREE OBOLS SIGN;So;0;ON;;;;;N;;;;; +1017F;GREEK FOUR OBOLS SIGN;So;0;ON;;;;;N;;;;; +10180;GREEK FIVE OBOLS SIGN;So;0;ON;;;;;N;;;;; +10181;GREEK METRETES SIGN;So;0;ON;;;;;N;;;;; +10182;GREEK KYATHOS BASE SIGN;So;0;ON;;;;;N;;;;; +10183;GREEK LITRA SIGN;So;0;ON;;;;;N;;;;; +10184;GREEK OUNKIA SIGN;So;0;ON;;;;;N;;;;; +10185;GREEK XESTES SIGN;So;0;ON;;;;;N;;;;; +10186;GREEK ARTABE SIGN;So;0;ON;;;;;N;;;;; +10187;GREEK AROURA SIGN;So;0;ON;;;;;N;;;;; +10188;GREEK GRAMMA SIGN;So;0;ON;;;;;N;;;;; +10189;GREEK TRYBLION BASE SIGN;So;0;ON;;;;;N;;;;; +1018A;GREEK ZERO SIGN;No;0;ON;;;;0;N;;;;; +1018B;GREEK ONE QUARTER SIGN;No;0;ON;;;;1/4;N;;;;; +1018C;GREEK SINUSOID SIGN;So;0;ON;;;;;N;;;;; +1018D;GREEK INDICTION SIGN;So;0;L;;;;;N;;;;; +1018E;NOMISMA SIGN;So;0;L;;;;;N;;;;; +10190;ROMAN SEXTANS SIGN;So;0;ON;;;;;N;;;;; +10191;ROMAN UNCIA SIGN;So;0;ON;;;;;N;;;;; +10192;ROMAN SEMUNCIA SIGN;So;0;ON;;;;;N;;;;; +10193;ROMAN SEXTULA SIGN;So;0;ON;;;;;N;;;;; +10194;ROMAN DIMIDIA SEXTULA SIGN;So;0;ON;;;;;N;;;;; +10195;ROMAN SILIQUA SIGN;So;0;ON;;;;;N;;;;; +10196;ROMAN DENARIUS SIGN;So;0;ON;;;;;N;;;;; +10197;ROMAN QUINARIUS SIGN;So;0;ON;;;;;N;;;;; +10198;ROMAN SESTERTIUS SIGN;So;0;ON;;;;;N;;;;; +10199;ROMAN DUPONDIUS SIGN;So;0;ON;;;;;N;;;;; +1019A;ROMAN AS SIGN;So;0;ON;;;;;N;;;;; +1019B;ROMAN CENTURIAL SIGN;So;0;ON;;;;;N;;;;; +1019C;ASCIA SYMBOL;So;0;ON;;;;;N;;;;; +101A0;GREEK SYMBOL TAU RHO;So;0;ON;;;;;N;;;;; +101D0;PHAISTOS DISC SIGN PEDESTRIAN;So;0;L;;;;;N;;;;; +101D1;PHAISTOS DISC SIGN PLUMED HEAD;So;0;L;;;;;N;;;;; +101D2;PHAISTOS DISC SIGN TATTOOED HEAD;So;0;L;;;;;N;;;;; +101D3;PHAISTOS DISC SIGN CAPTIVE;So;0;L;;;;;N;;;;; +101D4;PHAISTOS DISC SIGN CHILD;So;0;L;;;;;N;;;;; +101D5;PHAISTOS DISC SIGN WOMAN;So;0;L;;;;;N;;;;; +101D6;PHAISTOS DISC SIGN HELMET;So;0;L;;;;;N;;;;; +101D7;PHAISTOS DISC SIGN GAUNTLET;So;0;L;;;;;N;;;;; +101D8;PHAISTOS DISC SIGN TIARA;So;0;L;;;;;N;;;;; +101D9;PHAISTOS DISC SIGN ARROW;So;0;L;;;;;N;;;;; +101DA;PHAISTOS DISC SIGN BOW;So;0;L;;;;;N;;;;; +101DB;PHAISTOS DISC SIGN SHIELD;So;0;L;;;;;N;;;;; +101DC;PHAISTOS DISC SIGN CLUB;So;0;L;;;;;N;;;;; +101DD;PHAISTOS DISC SIGN MANACLES;So;0;L;;;;;N;;;;; +101DE;PHAISTOS DISC SIGN MATTOCK;So;0;L;;;;;N;;;;; +101DF;PHAISTOS DISC SIGN SAW;So;0;L;;;;;N;;;;; +101E0;PHAISTOS DISC SIGN LID;So;0;L;;;;;N;;;;; +101E1;PHAISTOS DISC SIGN BOOMERANG;So;0;L;;;;;N;;;;; +101E2;PHAISTOS DISC SIGN CARPENTRY PLANE;So;0;L;;;;;N;;;;; +101E3;PHAISTOS DISC SIGN DOLIUM;So;0;L;;;;;N;;;;; +101E4;PHAISTOS DISC SIGN COMB;So;0;L;;;;;N;;;;; +101E5;PHAISTOS DISC SIGN SLING;So;0;L;;;;;N;;;;; +101E6;PHAISTOS DISC SIGN COLUMN;So;0;L;;;;;N;;;;; +101E7;PHAISTOS DISC SIGN BEEHIVE;So;0;L;;;;;N;;;;; +101E8;PHAISTOS DISC SIGN SHIP;So;0;L;;;;;N;;;;; +101E9;PHAISTOS DISC SIGN HORN;So;0;L;;;;;N;;;;; +101EA;PHAISTOS DISC SIGN HIDE;So;0;L;;;;;N;;;;; +101EB;PHAISTOS DISC SIGN BULLS LEG;So;0;L;;;;;N;;;;; +101EC;PHAISTOS DISC SIGN CAT;So;0;L;;;;;N;;;;; +101ED;PHAISTOS DISC SIGN RAM;So;0;L;;;;;N;;;;; +101EE;PHAISTOS DISC SIGN EAGLE;So;0;L;;;;;N;;;;; +101EF;PHAISTOS DISC SIGN DOVE;So;0;L;;;;;N;;;;; +101F0;PHAISTOS DISC SIGN TUNNY;So;0;L;;;;;N;;;;; +101F1;PHAISTOS DISC SIGN BEE;So;0;L;;;;;N;;;;; +101F2;PHAISTOS DISC SIGN PLANE TREE;So;0;L;;;;;N;;;;; +101F3;PHAISTOS DISC SIGN VINE;So;0;L;;;;;N;;;;; +101F4;PHAISTOS DISC SIGN PAPYRUS;So;0;L;;;;;N;;;;; +101F5;PHAISTOS DISC SIGN ROSETTE;So;0;L;;;;;N;;;;; +101F6;PHAISTOS DISC SIGN LILY;So;0;L;;;;;N;;;;; +101F7;PHAISTOS DISC SIGN OX BACK;So;0;L;;;;;N;;;;; +101F8;PHAISTOS DISC SIGN FLUTE;So;0;L;;;;;N;;;;; +101F9;PHAISTOS DISC SIGN GRATER;So;0;L;;;;;N;;;;; +101FA;PHAISTOS DISC SIGN STRAINER;So;0;L;;;;;N;;;;; +101FB;PHAISTOS DISC SIGN SMALL AXE;So;0;L;;;;;N;;;;; +101FC;PHAISTOS DISC SIGN WAVY BAND;So;0;L;;;;;N;;;;; +101FD;PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE;Mn;220;NSM;;;;;N;;;;; +10280;LYCIAN LETTER A;Lo;0;L;;;;;N;;;;; +10281;LYCIAN LETTER E;Lo;0;L;;;;;N;;;;; +10282;LYCIAN LETTER B;Lo;0;L;;;;;N;;;;; +10283;LYCIAN LETTER BH;Lo;0;L;;;;;N;;;;; +10284;LYCIAN LETTER G;Lo;0;L;;;;;N;;;;; +10285;LYCIAN LETTER D;Lo;0;L;;;;;N;;;;; +10286;LYCIAN LETTER I;Lo;0;L;;;;;N;;;;; +10287;LYCIAN LETTER W;Lo;0;L;;;;;N;;;;; +10288;LYCIAN LETTER Z;Lo;0;L;;;;;N;;;;; +10289;LYCIAN LETTER TH;Lo;0;L;;;;;N;;;;; +1028A;LYCIAN LETTER J;Lo;0;L;;;;;N;;;;; +1028B;LYCIAN LETTER K;Lo;0;L;;;;;N;;;;; +1028C;LYCIAN LETTER Q;Lo;0;L;;;;;N;;;;; +1028D;LYCIAN LETTER L;Lo;0;L;;;;;N;;;;; +1028E;LYCIAN LETTER M;Lo;0;L;;;;;N;;;;; +1028F;LYCIAN LETTER N;Lo;0;L;;;;;N;;;;; +10290;LYCIAN LETTER MM;Lo;0;L;;;;;N;;;;; +10291;LYCIAN LETTER NN;Lo;0;L;;;;;N;;;;; +10292;LYCIAN LETTER U;Lo;0;L;;;;;N;;;;; +10293;LYCIAN LETTER P;Lo;0;L;;;;;N;;;;; +10294;LYCIAN LETTER KK;Lo;0;L;;;;;N;;;;; +10295;LYCIAN LETTER R;Lo;0;L;;;;;N;;;;; +10296;LYCIAN LETTER S;Lo;0;L;;;;;N;;;;; +10297;LYCIAN LETTER T;Lo;0;L;;;;;N;;;;; +10298;LYCIAN LETTER TT;Lo;0;L;;;;;N;;;;; +10299;LYCIAN LETTER AN;Lo;0;L;;;;;N;;;;; +1029A;LYCIAN LETTER EN;Lo;0;L;;;;;N;;;;; +1029B;LYCIAN LETTER H;Lo;0;L;;;;;N;;;;; +1029C;LYCIAN LETTER X;Lo;0;L;;;;;N;;;;; +102A0;CARIAN LETTER A;Lo;0;L;;;;;N;;;;; +102A1;CARIAN LETTER P2;Lo;0;L;;;;;N;;;;; +102A2;CARIAN LETTER D;Lo;0;L;;;;;N;;;;; +102A3;CARIAN LETTER L;Lo;0;L;;;;;N;;;;; +102A4;CARIAN LETTER UUU;Lo;0;L;;;;;N;;;;; +102A5;CARIAN LETTER R;Lo;0;L;;;;;N;;;;; +102A6;CARIAN LETTER LD;Lo;0;L;;;;;N;;;;; +102A7;CARIAN LETTER A2;Lo;0;L;;;;;N;;;;; +102A8;CARIAN LETTER Q;Lo;0;L;;;;;N;;;;; +102A9;CARIAN LETTER B;Lo;0;L;;;;;N;;;;; +102AA;CARIAN LETTER M;Lo;0;L;;;;;N;;;;; +102AB;CARIAN LETTER O;Lo;0;L;;;;;N;;;;; +102AC;CARIAN LETTER D2;Lo;0;L;;;;;N;;;;; +102AD;CARIAN LETTER T;Lo;0;L;;;;;N;;;;; +102AE;CARIAN LETTER SH;Lo;0;L;;;;;N;;;;; +102AF;CARIAN LETTER SH2;Lo;0;L;;;;;N;;;;; +102B0;CARIAN LETTER S;Lo;0;L;;;;;N;;;;; +102B1;CARIAN LETTER C-18;Lo;0;L;;;;;N;;;;; +102B2;CARIAN LETTER U;Lo;0;L;;;;;N;;;;; +102B3;CARIAN LETTER NN;Lo;0;L;;;;;N;;;;; +102B4;CARIAN LETTER X;Lo;0;L;;;;;N;;;;; +102B5;CARIAN LETTER N;Lo;0;L;;;;;N;;;;; +102B6;CARIAN LETTER TT2;Lo;0;L;;;;;N;;;;; +102B7;CARIAN LETTER P;Lo;0;L;;;;;N;;;;; +102B8;CARIAN LETTER SS;Lo;0;L;;;;;N;;;;; +102B9;CARIAN LETTER I;Lo;0;L;;;;;N;;;;; +102BA;CARIAN LETTER E;Lo;0;L;;;;;N;;;;; +102BB;CARIAN LETTER UUUU;Lo;0;L;;;;;N;;;;; +102BC;CARIAN LETTER K;Lo;0;L;;;;;N;;;;; +102BD;CARIAN LETTER K2;Lo;0;L;;;;;N;;;;; +102BE;CARIAN LETTER ND;Lo;0;L;;;;;N;;;;; +102BF;CARIAN LETTER UU;Lo;0;L;;;;;N;;;;; +102C0;CARIAN LETTER G;Lo;0;L;;;;;N;;;;; +102C1;CARIAN LETTER G2;Lo;0;L;;;;;N;;;;; +102C2;CARIAN LETTER ST;Lo;0;L;;;;;N;;;;; +102C3;CARIAN LETTER ST2;Lo;0;L;;;;;N;;;;; +102C4;CARIAN LETTER NG;Lo;0;L;;;;;N;;;;; +102C5;CARIAN LETTER II;Lo;0;L;;;;;N;;;;; +102C6;CARIAN LETTER C-39;Lo;0;L;;;;;N;;;;; +102C7;CARIAN LETTER TT;Lo;0;L;;;;;N;;;;; +102C8;CARIAN LETTER UUU2;Lo;0;L;;;;;N;;;;; +102C9;CARIAN LETTER RR;Lo;0;L;;;;;N;;;;; +102CA;CARIAN LETTER MB;Lo;0;L;;;;;N;;;;; +102CB;CARIAN LETTER MB2;Lo;0;L;;;;;N;;;;; +102CC;CARIAN LETTER MB3;Lo;0;L;;;;;N;;;;; +102CD;CARIAN LETTER MB4;Lo;0;L;;;;;N;;;;; +102CE;CARIAN LETTER LD2;Lo;0;L;;;;;N;;;;; +102CF;CARIAN LETTER E2;Lo;0;L;;;;;N;;;;; +102D0;CARIAN LETTER UUU3;Lo;0;L;;;;;N;;;;; +102E0;COPTIC EPACT THOUSANDS MARK;Mn;220;NSM;;;;;N;;;;; +102E1;COPTIC EPACT DIGIT ONE;No;0;EN;;;;1;N;;;;; +102E2;COPTIC EPACT DIGIT TWO;No;0;EN;;;;2;N;;;;; +102E3;COPTIC EPACT DIGIT THREE;No;0;EN;;;;3;N;;;;; +102E4;COPTIC EPACT DIGIT FOUR;No;0;EN;;;;4;N;;;;; +102E5;COPTIC EPACT DIGIT FIVE;No;0;EN;;;;5;N;;;;; +102E6;COPTIC EPACT DIGIT SIX;No;0;EN;;;;6;N;;;;; +102E7;COPTIC EPACT DIGIT SEVEN;No;0;EN;;;;7;N;;;;; +102E8;COPTIC EPACT DIGIT EIGHT;No;0;EN;;;;8;N;;;;; +102E9;COPTIC EPACT DIGIT NINE;No;0;EN;;;;9;N;;;;; +102EA;COPTIC EPACT NUMBER TEN;No;0;EN;;;;10;N;;;;; +102EB;COPTIC EPACT NUMBER TWENTY;No;0;EN;;;;20;N;;;;; +102EC;COPTIC EPACT NUMBER THIRTY;No;0;EN;;;;30;N;;;;; +102ED;COPTIC EPACT NUMBER FORTY;No;0;EN;;;;40;N;;;;; +102EE;COPTIC EPACT NUMBER FIFTY;No;0;EN;;;;50;N;;;;; +102EF;COPTIC EPACT NUMBER SIXTY;No;0;EN;;;;60;N;;;;; +102F0;COPTIC EPACT NUMBER SEVENTY;No;0;EN;;;;70;N;;;;; +102F1;COPTIC EPACT NUMBER EIGHTY;No;0;EN;;;;80;N;;;;; +102F2;COPTIC EPACT NUMBER NINETY;No;0;EN;;;;90;N;;;;; +102F3;COPTIC EPACT NUMBER ONE HUNDRED;No;0;EN;;;;100;N;;;;; +102F4;COPTIC EPACT NUMBER TWO HUNDRED;No;0;EN;;;;200;N;;;;; +102F5;COPTIC EPACT NUMBER THREE HUNDRED;No;0;EN;;;;300;N;;;;; +102F6;COPTIC EPACT NUMBER FOUR HUNDRED;No;0;EN;;;;400;N;;;;; +102F7;COPTIC EPACT NUMBER FIVE HUNDRED;No;0;EN;;;;500;N;;;;; +102F8;COPTIC EPACT NUMBER SIX HUNDRED;No;0;EN;;;;600;N;;;;; +102F9;COPTIC EPACT NUMBER SEVEN HUNDRED;No;0;EN;;;;700;N;;;;; +102FA;COPTIC EPACT NUMBER EIGHT HUNDRED;No;0;EN;;;;800;N;;;;; +102FB;COPTIC EPACT NUMBER NINE HUNDRED;No;0;EN;;;;900;N;;;;; +10300;OLD ITALIC LETTER A;Lo;0;L;;;;;N;;;;; +10301;OLD ITALIC LETTER BE;Lo;0;L;;;;;N;;;;; +10302;OLD ITALIC LETTER KE;Lo;0;L;;;;;N;;;;; +10303;OLD ITALIC LETTER DE;Lo;0;L;;;;;N;;;;; +10304;OLD ITALIC LETTER E;Lo;0;L;;;;;N;;;;; +10305;OLD ITALIC LETTER VE;Lo;0;L;;;;;N;;;;; +10306;OLD ITALIC LETTER ZE;Lo;0;L;;;;;N;;;;; +10307;OLD ITALIC LETTER HE;Lo;0;L;;;;;N;;;;; +10308;OLD ITALIC LETTER THE;Lo;0;L;;;;;N;;;;; +10309;OLD ITALIC LETTER I;Lo;0;L;;;;;N;;;;; +1030A;OLD ITALIC LETTER KA;Lo;0;L;;;;;N;;;;; +1030B;OLD ITALIC LETTER EL;Lo;0;L;;;;;N;;;;; +1030C;OLD ITALIC LETTER EM;Lo;0;L;;;;;N;;;;; +1030D;OLD ITALIC LETTER EN;Lo;0;L;;;;;N;;;;; +1030E;OLD ITALIC LETTER ESH;Lo;0;L;;;;;N;;;;; +1030F;OLD ITALIC LETTER O;Lo;0;L;;;;;N;;;;; +10310;OLD ITALIC LETTER PE;Lo;0;L;;;;;N;;;;; +10311;OLD ITALIC LETTER SHE;Lo;0;L;;;;;N;;;;; +10312;OLD ITALIC LETTER KU;Lo;0;L;;;;;N;;;;; +10313;OLD ITALIC LETTER ER;Lo;0;L;;;;;N;;;;; +10314;OLD ITALIC LETTER ES;Lo;0;L;;;;;N;;;;; +10315;OLD ITALIC LETTER TE;Lo;0;L;;;;;N;;;;; +10316;OLD ITALIC LETTER U;Lo;0;L;;;;;N;;;;; +10317;OLD ITALIC LETTER EKS;Lo;0;L;;;;;N;;;;; +10318;OLD ITALIC LETTER PHE;Lo;0;L;;;;;N;;;;; +10319;OLD ITALIC LETTER KHE;Lo;0;L;;;;;N;;;;; +1031A;OLD ITALIC LETTER EF;Lo;0;L;;;;;N;;;;; +1031B;OLD ITALIC LETTER ERS;Lo;0;L;;;;;N;;;;; +1031C;OLD ITALIC LETTER CHE;Lo;0;L;;;;;N;;;;; +1031D;OLD ITALIC LETTER II;Lo;0;L;;;;;N;;;;; +1031E;OLD ITALIC LETTER UU;Lo;0;L;;;;;N;;;;; +1031F;OLD ITALIC LETTER ESS;Lo;0;L;;;;;N;;;;; +10320;OLD ITALIC NUMERAL ONE;No;0;L;;;;1;N;;;;; +10321;OLD ITALIC NUMERAL FIVE;No;0;L;;;;5;N;;;;; +10322;OLD ITALIC NUMERAL TEN;No;0;L;;;;10;N;;;;; +10323;OLD ITALIC NUMERAL FIFTY;No;0;L;;;;50;N;;;;; +1032D;OLD ITALIC LETTER YE;Lo;0;L;;;;;N;;;;; +1032E;OLD ITALIC LETTER NORTHERN TSE;Lo;0;L;;;;;N;;;;; +1032F;OLD ITALIC LETTER SOUTHERN TSE;Lo;0;L;;;;;N;;;;; +10330;GOTHIC LETTER AHSA;Lo;0;L;;;;;N;;;;; +10331;GOTHIC LETTER BAIRKAN;Lo;0;L;;;;;N;;;;; +10332;GOTHIC LETTER GIBA;Lo;0;L;;;;;N;;;;; +10333;GOTHIC LETTER DAGS;Lo;0;L;;;;;N;;;;; +10334;GOTHIC LETTER AIHVUS;Lo;0;L;;;;;N;;;;; +10335;GOTHIC LETTER QAIRTHRA;Lo;0;L;;;;;N;;;;; +10336;GOTHIC LETTER IUJA;Lo;0;L;;;;;N;;;;; +10337;GOTHIC LETTER HAGL;Lo;0;L;;;;;N;;;;; +10338;GOTHIC LETTER THIUTH;Lo;0;L;;;;;N;;;;; +10339;GOTHIC LETTER EIS;Lo;0;L;;;;;N;;;;; +1033A;GOTHIC LETTER KUSMA;Lo;0;L;;;;;N;;;;; +1033B;GOTHIC LETTER LAGUS;Lo;0;L;;;;;N;;;;; +1033C;GOTHIC LETTER MANNA;Lo;0;L;;;;;N;;;;; +1033D;GOTHIC LETTER NAUTHS;Lo;0;L;;;;;N;;;;; +1033E;GOTHIC LETTER JER;Lo;0;L;;;;;N;;;;; +1033F;GOTHIC LETTER URUS;Lo;0;L;;;;;N;;;;; +10340;GOTHIC LETTER PAIRTHRA;Lo;0;L;;;;;N;;;;; +10341;GOTHIC LETTER NINETY;Nl;0;L;;;;90;N;;;;; +10342;GOTHIC LETTER RAIDA;Lo;0;L;;;;;N;;;;; +10343;GOTHIC LETTER SAUIL;Lo;0;L;;;;;N;;;;; +10344;GOTHIC LETTER TEIWS;Lo;0;L;;;;;N;;;;; +10345;GOTHIC LETTER WINJA;Lo;0;L;;;;;N;;;;; +10346;GOTHIC LETTER FAIHU;Lo;0;L;;;;;N;;;;; +10347;GOTHIC LETTER IGGWS;Lo;0;L;;;;;N;;;;; +10348;GOTHIC LETTER HWAIR;Lo;0;L;;;;;N;;;;; +10349;GOTHIC LETTER OTHAL;Lo;0;L;;;;;N;;;;; +1034A;GOTHIC LETTER NINE HUNDRED;Nl;0;L;;;;900;N;;;;; +10350;OLD PERMIC LETTER AN;Lo;0;L;;;;;N;;;;; +10351;OLD PERMIC LETTER BUR;Lo;0;L;;;;;N;;;;; +10352;OLD PERMIC LETTER GAI;Lo;0;L;;;;;N;;;;; +10353;OLD PERMIC LETTER DOI;Lo;0;L;;;;;N;;;;; +10354;OLD PERMIC LETTER E;Lo;0;L;;;;;N;;;;; +10355;OLD PERMIC LETTER ZHOI;Lo;0;L;;;;;N;;;;; +10356;OLD PERMIC LETTER DZHOI;Lo;0;L;;;;;N;;;;; +10357;OLD PERMIC LETTER ZATA;Lo;0;L;;;;;N;;;;; +10358;OLD PERMIC LETTER DZITA;Lo;0;L;;;;;N;;;;; +10359;OLD PERMIC LETTER I;Lo;0;L;;;;;N;;;;; +1035A;OLD PERMIC LETTER KOKE;Lo;0;L;;;;;N;;;;; +1035B;OLD PERMIC LETTER LEI;Lo;0;L;;;;;N;;;;; +1035C;OLD PERMIC LETTER MENOE;Lo;0;L;;;;;N;;;;; +1035D;OLD PERMIC LETTER NENOE;Lo;0;L;;;;;N;;;;; +1035E;OLD PERMIC LETTER VOOI;Lo;0;L;;;;;N;;;;; +1035F;OLD PERMIC LETTER PEEI;Lo;0;L;;;;;N;;;;; +10360;OLD PERMIC LETTER REI;Lo;0;L;;;;;N;;;;; +10361;OLD PERMIC LETTER SII;Lo;0;L;;;;;N;;;;; +10362;OLD PERMIC LETTER TAI;Lo;0;L;;;;;N;;;;; +10363;OLD PERMIC LETTER U;Lo;0;L;;;;;N;;;;; +10364;OLD PERMIC LETTER CHERY;Lo;0;L;;;;;N;;;;; +10365;OLD PERMIC LETTER SHOOI;Lo;0;L;;;;;N;;;;; +10366;OLD PERMIC LETTER SHCHOOI;Lo;0;L;;;;;N;;;;; +10367;OLD PERMIC LETTER YRY;Lo;0;L;;;;;N;;;;; +10368;OLD PERMIC LETTER YERU;Lo;0;L;;;;;N;;;;; +10369;OLD PERMIC LETTER O;Lo;0;L;;;;;N;;;;; +1036A;OLD PERMIC LETTER OO;Lo;0;L;;;;;N;;;;; +1036B;OLD PERMIC LETTER EF;Lo;0;L;;;;;N;;;;; +1036C;OLD PERMIC LETTER HA;Lo;0;L;;;;;N;;;;; +1036D;OLD PERMIC LETTER TSIU;Lo;0;L;;;;;N;;;;; +1036E;OLD PERMIC LETTER VER;Lo;0;L;;;;;N;;;;; +1036F;OLD PERMIC LETTER YER;Lo;0;L;;;;;N;;;;; +10370;OLD PERMIC LETTER YERI;Lo;0;L;;;;;N;;;;; +10371;OLD PERMIC LETTER YAT;Lo;0;L;;;;;N;;;;; +10372;OLD PERMIC LETTER IE;Lo;0;L;;;;;N;;;;; +10373;OLD PERMIC LETTER YU;Lo;0;L;;;;;N;;;;; +10374;OLD PERMIC LETTER YA;Lo;0;L;;;;;N;;;;; +10375;OLD PERMIC LETTER IA;Lo;0;L;;;;;N;;;;; +10376;COMBINING OLD PERMIC LETTER AN;Mn;230;NSM;;;;;N;;;;; +10377;COMBINING OLD PERMIC LETTER DOI;Mn;230;NSM;;;;;N;;;;; +10378;COMBINING OLD PERMIC LETTER ZATA;Mn;230;NSM;;;;;N;;;;; +10379;COMBINING OLD PERMIC LETTER NENOE;Mn;230;NSM;;;;;N;;;;; +1037A;COMBINING OLD PERMIC LETTER SII;Mn;230;NSM;;;;;N;;;;; +10380;UGARITIC LETTER ALPA;Lo;0;L;;;;;N;;;;; +10381;UGARITIC LETTER BETA;Lo;0;L;;;;;N;;;;; +10382;UGARITIC LETTER GAMLA;Lo;0;L;;;;;N;;;;; +10383;UGARITIC LETTER KHA;Lo;0;L;;;;;N;;;;; +10384;UGARITIC LETTER DELTA;Lo;0;L;;;;;N;;;;; +10385;UGARITIC LETTER HO;Lo;0;L;;;;;N;;;;; +10386;UGARITIC LETTER WO;Lo;0;L;;;;;N;;;;; +10387;UGARITIC LETTER ZETA;Lo;0;L;;;;;N;;;;; +10388;UGARITIC LETTER HOTA;Lo;0;L;;;;;N;;;;; +10389;UGARITIC LETTER TET;Lo;0;L;;;;;N;;;;; +1038A;UGARITIC LETTER YOD;Lo;0;L;;;;;N;;;;; +1038B;UGARITIC LETTER KAF;Lo;0;L;;;;;N;;;;; +1038C;UGARITIC LETTER SHIN;Lo;0;L;;;;;N;;;;; +1038D;UGARITIC LETTER LAMDA;Lo;0;L;;;;;N;;;;; +1038E;UGARITIC LETTER MEM;Lo;0;L;;;;;N;;;;; +1038F;UGARITIC LETTER DHAL;Lo;0;L;;;;;N;;;;; +10390;UGARITIC LETTER NUN;Lo;0;L;;;;;N;;;;; +10391;UGARITIC LETTER ZU;Lo;0;L;;;;;N;;;;; +10392;UGARITIC LETTER SAMKA;Lo;0;L;;;;;N;;;;; +10393;UGARITIC LETTER AIN;Lo;0;L;;;;;N;;;;; +10394;UGARITIC LETTER PU;Lo;0;L;;;;;N;;;;; +10395;UGARITIC LETTER SADE;Lo;0;L;;;;;N;;;;; +10396;UGARITIC LETTER QOPA;Lo;0;L;;;;;N;;;;; +10397;UGARITIC LETTER RASHA;Lo;0;L;;;;;N;;;;; +10398;UGARITIC LETTER THANNA;Lo;0;L;;;;;N;;;;; +10399;UGARITIC LETTER GHAIN;Lo;0;L;;;;;N;;;;; +1039A;UGARITIC LETTER TO;Lo;0;L;;;;;N;;;;; +1039B;UGARITIC LETTER I;Lo;0;L;;;;;N;;;;; +1039C;UGARITIC LETTER U;Lo;0;L;;;;;N;;;;; +1039D;UGARITIC LETTER SSU;Lo;0;L;;;;;N;;;;; +1039F;UGARITIC WORD DIVIDER;Po;0;L;;;;;N;;;;; +103A0;OLD PERSIAN SIGN A;Lo;0;L;;;;;N;;;;; +103A1;OLD PERSIAN SIGN I;Lo;0;L;;;;;N;;;;; +103A2;OLD PERSIAN SIGN U;Lo;0;L;;;;;N;;;;; +103A3;OLD PERSIAN SIGN KA;Lo;0;L;;;;;N;;;;; +103A4;OLD PERSIAN SIGN KU;Lo;0;L;;;;;N;;;;; +103A5;OLD PERSIAN SIGN GA;Lo;0;L;;;;;N;;;;; +103A6;OLD PERSIAN SIGN GU;Lo;0;L;;;;;N;;;;; +103A7;OLD PERSIAN SIGN XA;Lo;0;L;;;;;N;;;;; +103A8;OLD PERSIAN SIGN CA;Lo;0;L;;;;;N;;;;; +103A9;OLD PERSIAN SIGN JA;Lo;0;L;;;;;N;;;;; +103AA;OLD PERSIAN SIGN JI;Lo;0;L;;;;;N;;;;; +103AB;OLD PERSIAN SIGN TA;Lo;0;L;;;;;N;;;;; +103AC;OLD PERSIAN SIGN TU;Lo;0;L;;;;;N;;;;; +103AD;OLD PERSIAN SIGN DA;Lo;0;L;;;;;N;;;;; +103AE;OLD PERSIAN SIGN DI;Lo;0;L;;;;;N;;;;; +103AF;OLD PERSIAN SIGN DU;Lo;0;L;;;;;N;;;;; +103B0;OLD PERSIAN SIGN THA;Lo;0;L;;;;;N;;;;; +103B1;OLD PERSIAN SIGN PA;Lo;0;L;;;;;N;;;;; +103B2;OLD PERSIAN SIGN BA;Lo;0;L;;;;;N;;;;; +103B3;OLD PERSIAN SIGN FA;Lo;0;L;;;;;N;;;;; +103B4;OLD PERSIAN SIGN NA;Lo;0;L;;;;;N;;;;; +103B5;OLD PERSIAN SIGN NU;Lo;0;L;;;;;N;;;;; +103B6;OLD PERSIAN SIGN MA;Lo;0;L;;;;;N;;;;; +103B7;OLD PERSIAN SIGN MI;Lo;0;L;;;;;N;;;;; +103B8;OLD PERSIAN SIGN MU;Lo;0;L;;;;;N;;;;; +103B9;OLD PERSIAN SIGN YA;Lo;0;L;;;;;N;;;;; +103BA;OLD PERSIAN SIGN VA;Lo;0;L;;;;;N;;;;; +103BB;OLD PERSIAN SIGN VI;Lo;0;L;;;;;N;;;;; +103BC;OLD PERSIAN SIGN RA;Lo;0;L;;;;;N;;;;; +103BD;OLD PERSIAN SIGN RU;Lo;0;L;;;;;N;;;;; +103BE;OLD PERSIAN SIGN LA;Lo;0;L;;;;;N;;;;; +103BF;OLD PERSIAN SIGN SA;Lo;0;L;;;;;N;;;;; +103C0;OLD PERSIAN SIGN ZA;Lo;0;L;;;;;N;;;;; +103C1;OLD PERSIAN SIGN SHA;Lo;0;L;;;;;N;;;;; +103C2;OLD PERSIAN SIGN SSA;Lo;0;L;;;;;N;;;;; +103C3;OLD PERSIAN SIGN HA;Lo;0;L;;;;;N;;;;; +103C8;OLD PERSIAN SIGN AURAMAZDAA;Lo;0;L;;;;;N;;;;; +103C9;OLD PERSIAN SIGN AURAMAZDAA-2;Lo;0;L;;;;;N;;;;; +103CA;OLD PERSIAN SIGN AURAMAZDAAHA;Lo;0;L;;;;;N;;;;; +103CB;OLD PERSIAN SIGN XSHAAYATHIYA;Lo;0;L;;;;;N;;;;; +103CC;OLD PERSIAN SIGN DAHYAAUSH;Lo;0;L;;;;;N;;;;; +103CD;OLD PERSIAN SIGN DAHYAAUSH-2;Lo;0;L;;;;;N;;;;; +103CE;OLD PERSIAN SIGN BAGA;Lo;0;L;;;;;N;;;;; +103CF;OLD PERSIAN SIGN BUUMISH;Lo;0;L;;;;;N;;;;; +103D0;OLD PERSIAN WORD DIVIDER;Po;0;L;;;;;N;;;;; +103D1;OLD PERSIAN NUMBER ONE;Nl;0;L;;;;1;N;;;;; +103D2;OLD PERSIAN NUMBER TWO;Nl;0;L;;;;2;N;;;;; +103D3;OLD PERSIAN NUMBER TEN;Nl;0;L;;;;10;N;;;;; +103D4;OLD PERSIAN NUMBER TWENTY;Nl;0;L;;;;20;N;;;;; +103D5;OLD PERSIAN NUMBER HUNDRED;Nl;0;L;;;;100;N;;;;; +10400;DESERET CAPITAL LETTER LONG I;Lu;0;L;;;;;N;;;;10428; +10401;DESERET CAPITAL LETTER LONG E;Lu;0;L;;;;;N;;;;10429; +10402;DESERET CAPITAL LETTER LONG A;Lu;0;L;;;;;N;;;;1042A; +10403;DESERET CAPITAL LETTER LONG AH;Lu;0;L;;;;;N;;;;1042B; +10404;DESERET CAPITAL LETTER LONG O;Lu;0;L;;;;;N;;;;1042C; +10405;DESERET CAPITAL LETTER LONG OO;Lu;0;L;;;;;N;;;;1042D; +10406;DESERET CAPITAL LETTER SHORT I;Lu;0;L;;;;;N;;;;1042E; +10407;DESERET CAPITAL LETTER SHORT E;Lu;0;L;;;;;N;;;;1042F; +10408;DESERET CAPITAL LETTER SHORT A;Lu;0;L;;;;;N;;;;10430; +10409;DESERET CAPITAL LETTER SHORT AH;Lu;0;L;;;;;N;;;;10431; +1040A;DESERET CAPITAL LETTER SHORT O;Lu;0;L;;;;;N;;;;10432; +1040B;DESERET CAPITAL LETTER SHORT OO;Lu;0;L;;;;;N;;;;10433; +1040C;DESERET CAPITAL LETTER AY;Lu;0;L;;;;;N;;;;10434; +1040D;DESERET CAPITAL LETTER OW;Lu;0;L;;;;;N;;;;10435; +1040E;DESERET CAPITAL LETTER WU;Lu;0;L;;;;;N;;;;10436; +1040F;DESERET CAPITAL LETTER YEE;Lu;0;L;;;;;N;;;;10437; +10410;DESERET CAPITAL LETTER H;Lu;0;L;;;;;N;;;;10438; +10411;DESERET CAPITAL LETTER PEE;Lu;0;L;;;;;N;;;;10439; +10412;DESERET CAPITAL LETTER BEE;Lu;0;L;;;;;N;;;;1043A; +10413;DESERET CAPITAL LETTER TEE;Lu;0;L;;;;;N;;;;1043B; +10414;DESERET CAPITAL LETTER DEE;Lu;0;L;;;;;N;;;;1043C; +10415;DESERET CAPITAL LETTER CHEE;Lu;0;L;;;;;N;;;;1043D; +10416;DESERET CAPITAL LETTER JEE;Lu;0;L;;;;;N;;;;1043E; +10417;DESERET CAPITAL LETTER KAY;Lu;0;L;;;;;N;;;;1043F; +10418;DESERET CAPITAL LETTER GAY;Lu;0;L;;;;;N;;;;10440; +10419;DESERET CAPITAL LETTER EF;Lu;0;L;;;;;N;;;;10441; +1041A;DESERET CAPITAL LETTER VEE;Lu;0;L;;;;;N;;;;10442; +1041B;DESERET CAPITAL LETTER ETH;Lu;0;L;;;;;N;;;;10443; +1041C;DESERET CAPITAL LETTER THEE;Lu;0;L;;;;;N;;;;10444; +1041D;DESERET CAPITAL LETTER ES;Lu;0;L;;;;;N;;;;10445; +1041E;DESERET CAPITAL LETTER ZEE;Lu;0;L;;;;;N;;;;10446; +1041F;DESERET CAPITAL LETTER ESH;Lu;0;L;;;;;N;;;;10447; +10420;DESERET CAPITAL LETTER ZHEE;Lu;0;L;;;;;N;;;;10448; +10421;DESERET CAPITAL LETTER ER;Lu;0;L;;;;;N;;;;10449; +10422;DESERET CAPITAL LETTER EL;Lu;0;L;;;;;N;;;;1044A; +10423;DESERET CAPITAL LETTER EM;Lu;0;L;;;;;N;;;;1044B; +10424;DESERET CAPITAL LETTER EN;Lu;0;L;;;;;N;;;;1044C; +10425;DESERET CAPITAL LETTER ENG;Lu;0;L;;;;;N;;;;1044D; +10426;DESERET CAPITAL LETTER OI;Lu;0;L;;;;;N;;;;1044E; +10427;DESERET CAPITAL LETTER EW;Lu;0;L;;;;;N;;;;1044F; +10428;DESERET SMALL LETTER LONG I;Ll;0;L;;;;;N;;;10400;;10400 +10429;DESERET SMALL LETTER LONG E;Ll;0;L;;;;;N;;;10401;;10401 +1042A;DESERET SMALL LETTER LONG A;Ll;0;L;;;;;N;;;10402;;10402 +1042B;DESERET SMALL LETTER LONG AH;Ll;0;L;;;;;N;;;10403;;10403 +1042C;DESERET SMALL LETTER LONG O;Ll;0;L;;;;;N;;;10404;;10404 +1042D;DESERET SMALL LETTER LONG OO;Ll;0;L;;;;;N;;;10405;;10405 +1042E;DESERET SMALL LETTER SHORT I;Ll;0;L;;;;;N;;;10406;;10406 +1042F;DESERET SMALL LETTER SHORT E;Ll;0;L;;;;;N;;;10407;;10407 +10430;DESERET SMALL LETTER SHORT A;Ll;0;L;;;;;N;;;10408;;10408 +10431;DESERET SMALL LETTER SHORT AH;Ll;0;L;;;;;N;;;10409;;10409 +10432;DESERET SMALL LETTER SHORT O;Ll;0;L;;;;;N;;;1040A;;1040A +10433;DESERET SMALL LETTER SHORT OO;Ll;0;L;;;;;N;;;1040B;;1040B +10434;DESERET SMALL LETTER AY;Ll;0;L;;;;;N;;;1040C;;1040C +10435;DESERET SMALL LETTER OW;Ll;0;L;;;;;N;;;1040D;;1040D +10436;DESERET SMALL LETTER WU;Ll;0;L;;;;;N;;;1040E;;1040E +10437;DESERET SMALL LETTER YEE;Ll;0;L;;;;;N;;;1040F;;1040F +10438;DESERET SMALL LETTER H;Ll;0;L;;;;;N;;;10410;;10410 +10439;DESERET SMALL LETTER PEE;Ll;0;L;;;;;N;;;10411;;10411 +1043A;DESERET SMALL LETTER BEE;Ll;0;L;;;;;N;;;10412;;10412 +1043B;DESERET SMALL LETTER TEE;Ll;0;L;;;;;N;;;10413;;10413 +1043C;DESERET SMALL LETTER DEE;Ll;0;L;;;;;N;;;10414;;10414 +1043D;DESERET SMALL LETTER CHEE;Ll;0;L;;;;;N;;;10415;;10415 +1043E;DESERET SMALL LETTER JEE;Ll;0;L;;;;;N;;;10416;;10416 +1043F;DESERET SMALL LETTER KAY;Ll;0;L;;;;;N;;;10417;;10417 +10440;DESERET SMALL LETTER GAY;Ll;0;L;;;;;N;;;10418;;10418 +10441;DESERET SMALL LETTER EF;Ll;0;L;;;;;N;;;10419;;10419 +10442;DESERET SMALL LETTER VEE;Ll;0;L;;;;;N;;;1041A;;1041A +10443;DESERET SMALL LETTER ETH;Ll;0;L;;;;;N;;;1041B;;1041B +10444;DESERET SMALL LETTER THEE;Ll;0;L;;;;;N;;;1041C;;1041C +10445;DESERET SMALL LETTER ES;Ll;0;L;;;;;N;;;1041D;;1041D +10446;DESERET SMALL LETTER ZEE;Ll;0;L;;;;;N;;;1041E;;1041E +10447;DESERET SMALL LETTER ESH;Ll;0;L;;;;;N;;;1041F;;1041F +10448;DESERET SMALL LETTER ZHEE;Ll;0;L;;;;;N;;;10420;;10420 +10449;DESERET SMALL LETTER ER;Ll;0;L;;;;;N;;;10421;;10421 +1044A;DESERET SMALL LETTER EL;Ll;0;L;;;;;N;;;10422;;10422 +1044B;DESERET SMALL LETTER EM;Ll;0;L;;;;;N;;;10423;;10423 +1044C;DESERET SMALL LETTER EN;Ll;0;L;;;;;N;;;10424;;10424 +1044D;DESERET SMALL LETTER ENG;Ll;0;L;;;;;N;;;10425;;10425 +1044E;DESERET SMALL LETTER OI;Ll;0;L;;;;;N;;;10426;;10426 +1044F;DESERET SMALL LETTER EW;Ll;0;L;;;;;N;;;10427;;10427 +10450;SHAVIAN LETTER PEEP;Lo;0;L;;;;;N;;;;; +10451;SHAVIAN LETTER TOT;Lo;0;L;;;;;N;;;;; +10452;SHAVIAN LETTER KICK;Lo;0;L;;;;;N;;;;; +10453;SHAVIAN LETTER FEE;Lo;0;L;;;;;N;;;;; +10454;SHAVIAN LETTER THIGH;Lo;0;L;;;;;N;;;;; +10455;SHAVIAN LETTER SO;Lo;0;L;;;;;N;;;;; +10456;SHAVIAN LETTER SURE;Lo;0;L;;;;;N;;;;; +10457;SHAVIAN LETTER CHURCH;Lo;0;L;;;;;N;;;;; +10458;SHAVIAN LETTER YEA;Lo;0;L;;;;;N;;;;; +10459;SHAVIAN LETTER HUNG;Lo;0;L;;;;;N;;;;; +1045A;SHAVIAN LETTER BIB;Lo;0;L;;;;;N;;;;; +1045B;SHAVIAN LETTER DEAD;Lo;0;L;;;;;N;;;;; +1045C;SHAVIAN LETTER GAG;Lo;0;L;;;;;N;;;;; +1045D;SHAVIAN LETTER VOW;Lo;0;L;;;;;N;;;;; +1045E;SHAVIAN LETTER THEY;Lo;0;L;;;;;N;;;;; +1045F;SHAVIAN LETTER ZOO;Lo;0;L;;;;;N;;;;; +10460;SHAVIAN LETTER MEASURE;Lo;0;L;;;;;N;;;;; +10461;SHAVIAN LETTER JUDGE;Lo;0;L;;;;;N;;;;; +10462;SHAVIAN LETTER WOE;Lo;0;L;;;;;N;;;;; +10463;SHAVIAN LETTER HA-HA;Lo;0;L;;;;;N;;;;; +10464;SHAVIAN LETTER LOLL;Lo;0;L;;;;;N;;;;; +10465;SHAVIAN LETTER MIME;Lo;0;L;;;;;N;;;;; +10466;SHAVIAN LETTER IF;Lo;0;L;;;;;N;;;;; +10467;SHAVIAN LETTER EGG;Lo;0;L;;;;;N;;;;; +10468;SHAVIAN LETTER ASH;Lo;0;L;;;;;N;;;;; +10469;SHAVIAN LETTER ADO;Lo;0;L;;;;;N;;;;; +1046A;SHAVIAN LETTER ON;Lo;0;L;;;;;N;;;;; +1046B;SHAVIAN LETTER WOOL;Lo;0;L;;;;;N;;;;; +1046C;SHAVIAN LETTER OUT;Lo;0;L;;;;;N;;;;; +1046D;SHAVIAN LETTER AH;Lo;0;L;;;;;N;;;;; +1046E;SHAVIAN LETTER ROAR;Lo;0;L;;;;;N;;;;; +1046F;SHAVIAN LETTER NUN;Lo;0;L;;;;;N;;;;; +10470;SHAVIAN LETTER EAT;Lo;0;L;;;;;N;;;;; +10471;SHAVIAN LETTER AGE;Lo;0;L;;;;;N;;;;; +10472;SHAVIAN LETTER ICE;Lo;0;L;;;;;N;;;;; +10473;SHAVIAN LETTER UP;Lo;0;L;;;;;N;;;;; +10474;SHAVIAN LETTER OAK;Lo;0;L;;;;;N;;;;; +10475;SHAVIAN LETTER OOZE;Lo;0;L;;;;;N;;;;; +10476;SHAVIAN LETTER OIL;Lo;0;L;;;;;N;;;;; +10477;SHAVIAN LETTER AWE;Lo;0;L;;;;;N;;;;; +10478;SHAVIAN LETTER ARE;Lo;0;L;;;;;N;;;;; +10479;SHAVIAN LETTER OR;Lo;0;L;;;;;N;;;;; +1047A;SHAVIAN LETTER AIR;Lo;0;L;;;;;N;;;;; +1047B;SHAVIAN LETTER ERR;Lo;0;L;;;;;N;;;;; +1047C;SHAVIAN LETTER ARRAY;Lo;0;L;;;;;N;;;;; +1047D;SHAVIAN LETTER EAR;Lo;0;L;;;;;N;;;;; +1047E;SHAVIAN LETTER IAN;Lo;0;L;;;;;N;;;;; +1047F;SHAVIAN LETTER YEW;Lo;0;L;;;;;N;;;;; +10480;OSMANYA LETTER ALEF;Lo;0;L;;;;;N;;;;; +10481;OSMANYA LETTER BA;Lo;0;L;;;;;N;;;;; +10482;OSMANYA LETTER TA;Lo;0;L;;;;;N;;;;; +10483;OSMANYA LETTER JA;Lo;0;L;;;;;N;;;;; +10484;OSMANYA LETTER XA;Lo;0;L;;;;;N;;;;; +10485;OSMANYA LETTER KHA;Lo;0;L;;;;;N;;;;; +10486;OSMANYA LETTER DEEL;Lo;0;L;;;;;N;;;;; +10487;OSMANYA LETTER RA;Lo;0;L;;;;;N;;;;; +10488;OSMANYA LETTER SA;Lo;0;L;;;;;N;;;;; +10489;OSMANYA LETTER SHIIN;Lo;0;L;;;;;N;;;;; +1048A;OSMANYA LETTER DHA;Lo;0;L;;;;;N;;;;; +1048B;OSMANYA LETTER CAYN;Lo;0;L;;;;;N;;;;; +1048C;OSMANYA LETTER GA;Lo;0;L;;;;;N;;;;; +1048D;OSMANYA LETTER FA;Lo;0;L;;;;;N;;;;; +1048E;OSMANYA LETTER QAAF;Lo;0;L;;;;;N;;;;; +1048F;OSMANYA LETTER KAAF;Lo;0;L;;;;;N;;;;; +10490;OSMANYA LETTER LAAN;Lo;0;L;;;;;N;;;;; +10491;OSMANYA LETTER MIIN;Lo;0;L;;;;;N;;;;; +10492;OSMANYA LETTER NUUN;Lo;0;L;;;;;N;;;;; +10493;OSMANYA LETTER WAW;Lo;0;L;;;;;N;;;;; +10494;OSMANYA LETTER HA;Lo;0;L;;;;;N;;;;; +10495;OSMANYA LETTER YA;Lo;0;L;;;;;N;;;;; +10496;OSMANYA LETTER A;Lo;0;L;;;;;N;;;;; +10497;OSMANYA LETTER E;Lo;0;L;;;;;N;;;;; +10498;OSMANYA LETTER I;Lo;0;L;;;;;N;;;;; +10499;OSMANYA LETTER O;Lo;0;L;;;;;N;;;;; +1049A;OSMANYA LETTER U;Lo;0;L;;;;;N;;;;; +1049B;OSMANYA LETTER AA;Lo;0;L;;;;;N;;;;; +1049C;OSMANYA LETTER EE;Lo;0;L;;;;;N;;;;; +1049D;OSMANYA LETTER OO;Lo;0;L;;;;;N;;;;; +104A0;OSMANYA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +104A1;OSMANYA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +104A2;OSMANYA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +104A3;OSMANYA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +104A4;OSMANYA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +104A5;OSMANYA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +104A6;OSMANYA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +104A7;OSMANYA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +104A8;OSMANYA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +104A9;OSMANYA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +104B0;OSAGE CAPITAL LETTER A;Lu;0;L;;;;;N;;;;104D8; +104B1;OSAGE CAPITAL LETTER AI;Lu;0;L;;;;;N;;;;104D9; +104B2;OSAGE CAPITAL LETTER AIN;Lu;0;L;;;;;N;;;;104DA; +104B3;OSAGE CAPITAL LETTER AH;Lu;0;L;;;;;N;;;;104DB; +104B4;OSAGE CAPITAL LETTER BRA;Lu;0;L;;;;;N;;;;104DC; +104B5;OSAGE CAPITAL LETTER CHA;Lu;0;L;;;;;N;;;;104DD; +104B6;OSAGE CAPITAL LETTER EHCHA;Lu;0;L;;;;;N;;;;104DE; +104B7;OSAGE CAPITAL LETTER E;Lu;0;L;;;;;N;;;;104DF; +104B8;OSAGE CAPITAL LETTER EIN;Lu;0;L;;;;;N;;;;104E0; +104B9;OSAGE CAPITAL LETTER HA;Lu;0;L;;;;;N;;;;104E1; +104BA;OSAGE CAPITAL LETTER HYA;Lu;0;L;;;;;N;;;;104E2; +104BB;OSAGE CAPITAL LETTER I;Lu;0;L;;;;;N;;;;104E3; +104BC;OSAGE CAPITAL LETTER KA;Lu;0;L;;;;;N;;;;104E4; +104BD;OSAGE CAPITAL LETTER EHKA;Lu;0;L;;;;;N;;;;104E5; +104BE;OSAGE CAPITAL LETTER KYA;Lu;0;L;;;;;N;;;;104E6; +104BF;OSAGE CAPITAL LETTER LA;Lu;0;L;;;;;N;;;;104E7; +104C0;OSAGE CAPITAL LETTER MA;Lu;0;L;;;;;N;;;;104E8; +104C1;OSAGE CAPITAL LETTER NA;Lu;0;L;;;;;N;;;;104E9; +104C2;OSAGE CAPITAL LETTER O;Lu;0;L;;;;;N;;;;104EA; +104C3;OSAGE CAPITAL LETTER OIN;Lu;0;L;;;;;N;;;;104EB; +104C4;OSAGE CAPITAL LETTER PA;Lu;0;L;;;;;N;;;;104EC; +104C5;OSAGE CAPITAL LETTER EHPA;Lu;0;L;;;;;N;;;;104ED; +104C6;OSAGE CAPITAL LETTER SA;Lu;0;L;;;;;N;;;;104EE; +104C7;OSAGE CAPITAL LETTER SHA;Lu;0;L;;;;;N;;;;104EF; +104C8;OSAGE CAPITAL LETTER TA;Lu;0;L;;;;;N;;;;104F0; +104C9;OSAGE CAPITAL LETTER EHTA;Lu;0;L;;;;;N;;;;104F1; +104CA;OSAGE CAPITAL LETTER TSA;Lu;0;L;;;;;N;;;;104F2; +104CB;OSAGE CAPITAL LETTER EHTSA;Lu;0;L;;;;;N;;;;104F3; +104CC;OSAGE CAPITAL LETTER TSHA;Lu;0;L;;;;;N;;;;104F4; +104CD;OSAGE CAPITAL LETTER DHA;Lu;0;L;;;;;N;;;;104F5; +104CE;OSAGE CAPITAL LETTER U;Lu;0;L;;;;;N;;;;104F6; +104CF;OSAGE CAPITAL LETTER WA;Lu;0;L;;;;;N;;;;104F7; +104D0;OSAGE CAPITAL LETTER KHA;Lu;0;L;;;;;N;;;;104F8; +104D1;OSAGE CAPITAL LETTER GHA;Lu;0;L;;;;;N;;;;104F9; +104D2;OSAGE CAPITAL LETTER ZA;Lu;0;L;;;;;N;;;;104FA; +104D3;OSAGE CAPITAL LETTER ZHA;Lu;0;L;;;;;N;;;;104FB; +104D8;OSAGE SMALL LETTER A;Ll;0;L;;;;;N;;;104B0;;104B0 +104D9;OSAGE SMALL LETTER AI;Ll;0;L;;;;;N;;;104B1;;104B1 +104DA;OSAGE SMALL LETTER AIN;Ll;0;L;;;;;N;;;104B2;;104B2 +104DB;OSAGE SMALL LETTER AH;Ll;0;L;;;;;N;;;104B3;;104B3 +104DC;OSAGE SMALL LETTER BRA;Ll;0;L;;;;;N;;;104B4;;104B4 +104DD;OSAGE SMALL LETTER CHA;Ll;0;L;;;;;N;;;104B5;;104B5 +104DE;OSAGE SMALL LETTER EHCHA;Ll;0;L;;;;;N;;;104B6;;104B6 +104DF;OSAGE SMALL LETTER E;Ll;0;L;;;;;N;;;104B7;;104B7 +104E0;OSAGE SMALL LETTER EIN;Ll;0;L;;;;;N;;;104B8;;104B8 +104E1;OSAGE SMALL LETTER HA;Ll;0;L;;;;;N;;;104B9;;104B9 +104E2;OSAGE SMALL LETTER HYA;Ll;0;L;;;;;N;;;104BA;;104BA +104E3;OSAGE SMALL LETTER I;Ll;0;L;;;;;N;;;104BB;;104BB +104E4;OSAGE SMALL LETTER KA;Ll;0;L;;;;;N;;;104BC;;104BC +104E5;OSAGE SMALL LETTER EHKA;Ll;0;L;;;;;N;;;104BD;;104BD +104E6;OSAGE SMALL LETTER KYA;Ll;0;L;;;;;N;;;104BE;;104BE +104E7;OSAGE SMALL LETTER LA;Ll;0;L;;;;;N;;;104BF;;104BF +104E8;OSAGE SMALL LETTER MA;Ll;0;L;;;;;N;;;104C0;;104C0 +104E9;OSAGE SMALL LETTER NA;Ll;0;L;;;;;N;;;104C1;;104C1 +104EA;OSAGE SMALL LETTER O;Ll;0;L;;;;;N;;;104C2;;104C2 +104EB;OSAGE SMALL LETTER OIN;Ll;0;L;;;;;N;;;104C3;;104C3 +104EC;OSAGE SMALL LETTER PA;Ll;0;L;;;;;N;;;104C4;;104C4 +104ED;OSAGE SMALL LETTER EHPA;Ll;0;L;;;;;N;;;104C5;;104C5 +104EE;OSAGE SMALL LETTER SA;Ll;0;L;;;;;N;;;104C6;;104C6 +104EF;OSAGE SMALL LETTER SHA;Ll;0;L;;;;;N;;;104C7;;104C7 +104F0;OSAGE SMALL LETTER TA;Ll;0;L;;;;;N;;;104C8;;104C8 +104F1;OSAGE SMALL LETTER EHTA;Ll;0;L;;;;;N;;;104C9;;104C9 +104F2;OSAGE SMALL LETTER TSA;Ll;0;L;;;;;N;;;104CA;;104CA +104F3;OSAGE SMALL LETTER EHTSA;Ll;0;L;;;;;N;;;104CB;;104CB +104F4;OSAGE SMALL LETTER TSHA;Ll;0;L;;;;;N;;;104CC;;104CC +104F5;OSAGE SMALL LETTER DHA;Ll;0;L;;;;;N;;;104CD;;104CD +104F6;OSAGE SMALL LETTER U;Ll;0;L;;;;;N;;;104CE;;104CE +104F7;OSAGE SMALL LETTER WA;Ll;0;L;;;;;N;;;104CF;;104CF +104F8;OSAGE SMALL LETTER KHA;Ll;0;L;;;;;N;;;104D0;;104D0 +104F9;OSAGE SMALL LETTER GHA;Ll;0;L;;;;;N;;;104D1;;104D1 +104FA;OSAGE SMALL LETTER ZA;Ll;0;L;;;;;N;;;104D2;;104D2 +104FB;OSAGE SMALL LETTER ZHA;Ll;0;L;;;;;N;;;104D3;;104D3 +10500;ELBASAN LETTER A;Lo;0;L;;;;;N;;;;; +10501;ELBASAN LETTER BE;Lo;0;L;;;;;N;;;;; +10502;ELBASAN LETTER CE;Lo;0;L;;;;;N;;;;; +10503;ELBASAN LETTER CHE;Lo;0;L;;;;;N;;;;; +10504;ELBASAN LETTER DE;Lo;0;L;;;;;N;;;;; +10505;ELBASAN LETTER NDE;Lo;0;L;;;;;N;;;;; +10506;ELBASAN LETTER DHE;Lo;0;L;;;;;N;;;;; +10507;ELBASAN LETTER EI;Lo;0;L;;;;;N;;;;; +10508;ELBASAN LETTER E;Lo;0;L;;;;;N;;;;; +10509;ELBASAN LETTER FE;Lo;0;L;;;;;N;;;;; +1050A;ELBASAN LETTER GE;Lo;0;L;;;;;N;;;;; +1050B;ELBASAN LETTER GJE;Lo;0;L;;;;;N;;;;; +1050C;ELBASAN LETTER HE;Lo;0;L;;;;;N;;;;; +1050D;ELBASAN LETTER I;Lo;0;L;;;;;N;;;;; +1050E;ELBASAN LETTER JE;Lo;0;L;;;;;N;;;;; +1050F;ELBASAN LETTER KE;Lo;0;L;;;;;N;;;;; +10510;ELBASAN LETTER LE;Lo;0;L;;;;;N;;;;; +10511;ELBASAN LETTER LLE;Lo;0;L;;;;;N;;;;; +10512;ELBASAN LETTER ME;Lo;0;L;;;;;N;;;;; +10513;ELBASAN LETTER NE;Lo;0;L;;;;;N;;;;; +10514;ELBASAN LETTER NA;Lo;0;L;;;;;N;;;;; +10515;ELBASAN LETTER NJE;Lo;0;L;;;;;N;;;;; +10516;ELBASAN LETTER O;Lo;0;L;;;;;N;;;;; +10517;ELBASAN LETTER PE;Lo;0;L;;;;;N;;;;; +10518;ELBASAN LETTER QE;Lo;0;L;;;;;N;;;;; +10519;ELBASAN LETTER RE;Lo;0;L;;;;;N;;;;; +1051A;ELBASAN LETTER RRE;Lo;0;L;;;;;N;;;;; +1051B;ELBASAN LETTER SE;Lo;0;L;;;;;N;;;;; +1051C;ELBASAN LETTER SHE;Lo;0;L;;;;;N;;;;; +1051D;ELBASAN LETTER TE;Lo;0;L;;;;;N;;;;; +1051E;ELBASAN LETTER THE;Lo;0;L;;;;;N;;;;; +1051F;ELBASAN LETTER U;Lo;0;L;;;;;N;;;;; +10520;ELBASAN LETTER VE;Lo;0;L;;;;;N;;;;; +10521;ELBASAN LETTER XE;Lo;0;L;;;;;N;;;;; +10522;ELBASAN LETTER Y;Lo;0;L;;;;;N;;;;; +10523;ELBASAN LETTER ZE;Lo;0;L;;;;;N;;;;; +10524;ELBASAN LETTER ZHE;Lo;0;L;;;;;N;;;;; +10525;ELBASAN LETTER GHE;Lo;0;L;;;;;N;;;;; +10526;ELBASAN LETTER GHAMMA;Lo;0;L;;;;;N;;;;; +10527;ELBASAN LETTER KHE;Lo;0;L;;;;;N;;;;; +10530;CAUCASIAN ALBANIAN LETTER ALT;Lo;0;L;;;;;N;;;;; +10531;CAUCASIAN ALBANIAN LETTER BET;Lo;0;L;;;;;N;;;;; +10532;CAUCASIAN ALBANIAN LETTER GIM;Lo;0;L;;;;;N;;;;; +10533;CAUCASIAN ALBANIAN LETTER DAT;Lo;0;L;;;;;N;;;;; +10534;CAUCASIAN ALBANIAN LETTER EB;Lo;0;L;;;;;N;;;;; +10535;CAUCASIAN ALBANIAN LETTER ZARL;Lo;0;L;;;;;N;;;;; +10536;CAUCASIAN ALBANIAN LETTER EYN;Lo;0;L;;;;;N;;;;; +10537;CAUCASIAN ALBANIAN LETTER ZHIL;Lo;0;L;;;;;N;;;;; +10538;CAUCASIAN ALBANIAN LETTER TAS;Lo;0;L;;;;;N;;;;; +10539;CAUCASIAN ALBANIAN LETTER CHA;Lo;0;L;;;;;N;;;;; +1053A;CAUCASIAN ALBANIAN LETTER YOWD;Lo;0;L;;;;;N;;;;; +1053B;CAUCASIAN ALBANIAN LETTER ZHA;Lo;0;L;;;;;N;;;;; +1053C;CAUCASIAN ALBANIAN LETTER IRB;Lo;0;L;;;;;N;;;;; +1053D;CAUCASIAN ALBANIAN LETTER SHA;Lo;0;L;;;;;N;;;;; +1053E;CAUCASIAN ALBANIAN LETTER LAN;Lo;0;L;;;;;N;;;;; +1053F;CAUCASIAN ALBANIAN LETTER INYA;Lo;0;L;;;;;N;;;;; +10540;CAUCASIAN ALBANIAN LETTER XEYN;Lo;0;L;;;;;N;;;;; +10541;CAUCASIAN ALBANIAN LETTER DYAN;Lo;0;L;;;;;N;;;;; +10542;CAUCASIAN ALBANIAN LETTER CAR;Lo;0;L;;;;;N;;;;; +10543;CAUCASIAN ALBANIAN LETTER JHOX;Lo;0;L;;;;;N;;;;; +10544;CAUCASIAN ALBANIAN LETTER KAR;Lo;0;L;;;;;N;;;;; +10545;CAUCASIAN ALBANIAN LETTER LYIT;Lo;0;L;;;;;N;;;;; +10546;CAUCASIAN ALBANIAN LETTER HEYT;Lo;0;L;;;;;N;;;;; +10547;CAUCASIAN ALBANIAN LETTER QAY;Lo;0;L;;;;;N;;;;; +10548;CAUCASIAN ALBANIAN LETTER AOR;Lo;0;L;;;;;N;;;;; +10549;CAUCASIAN ALBANIAN LETTER CHOY;Lo;0;L;;;;;N;;;;; +1054A;CAUCASIAN ALBANIAN LETTER CHI;Lo;0;L;;;;;N;;;;; +1054B;CAUCASIAN ALBANIAN LETTER CYAY;Lo;0;L;;;;;N;;;;; +1054C;CAUCASIAN ALBANIAN LETTER MAQ;Lo;0;L;;;;;N;;;;; +1054D;CAUCASIAN ALBANIAN LETTER QAR;Lo;0;L;;;;;N;;;;; +1054E;CAUCASIAN ALBANIAN LETTER NOWC;Lo;0;L;;;;;N;;;;; +1054F;CAUCASIAN ALBANIAN LETTER DZYAY;Lo;0;L;;;;;N;;;;; +10550;CAUCASIAN ALBANIAN LETTER SHAK;Lo;0;L;;;;;N;;;;; +10551;CAUCASIAN ALBANIAN LETTER JAYN;Lo;0;L;;;;;N;;;;; +10552;CAUCASIAN ALBANIAN LETTER ON;Lo;0;L;;;;;N;;;;; +10553;CAUCASIAN ALBANIAN LETTER TYAY;Lo;0;L;;;;;N;;;;; +10554;CAUCASIAN ALBANIAN LETTER FAM;Lo;0;L;;;;;N;;;;; +10555;CAUCASIAN ALBANIAN LETTER DZAY;Lo;0;L;;;;;N;;;;; +10556;CAUCASIAN ALBANIAN LETTER CHAT;Lo;0;L;;;;;N;;;;; +10557;CAUCASIAN ALBANIAN LETTER PEN;Lo;0;L;;;;;N;;;;; +10558;CAUCASIAN ALBANIAN LETTER GHEYS;Lo;0;L;;;;;N;;;;; +10559;CAUCASIAN ALBANIAN LETTER RAT;Lo;0;L;;;;;N;;;;; +1055A;CAUCASIAN ALBANIAN LETTER SEYK;Lo;0;L;;;;;N;;;;; +1055B;CAUCASIAN ALBANIAN LETTER VEYZ;Lo;0;L;;;;;N;;;;; +1055C;CAUCASIAN ALBANIAN LETTER TIWR;Lo;0;L;;;;;N;;;;; +1055D;CAUCASIAN ALBANIAN LETTER SHOY;Lo;0;L;;;;;N;;;;; +1055E;CAUCASIAN ALBANIAN LETTER IWN;Lo;0;L;;;;;N;;;;; +1055F;CAUCASIAN ALBANIAN LETTER CYAW;Lo;0;L;;;;;N;;;;; +10560;CAUCASIAN ALBANIAN LETTER CAYN;Lo;0;L;;;;;N;;;;; +10561;CAUCASIAN ALBANIAN LETTER YAYD;Lo;0;L;;;;;N;;;;; +10562;CAUCASIAN ALBANIAN LETTER PIWR;Lo;0;L;;;;;N;;;;; +10563;CAUCASIAN ALBANIAN LETTER KIW;Lo;0;L;;;;;N;;;;; +1056F;CAUCASIAN ALBANIAN CITATION MARK;Po;0;L;;;;;N;;;;; +10600;LINEAR A SIGN AB001;Lo;0;L;;;;;N;;;;; +10601;LINEAR A SIGN AB002;Lo;0;L;;;;;N;;;;; +10602;LINEAR A SIGN AB003;Lo;0;L;;;;;N;;;;; +10603;LINEAR A SIGN AB004;Lo;0;L;;;;;N;;;;; +10604;LINEAR A SIGN AB005;Lo;0;L;;;;;N;;;;; +10605;LINEAR A SIGN AB006;Lo;0;L;;;;;N;;;;; +10606;LINEAR A SIGN AB007;Lo;0;L;;;;;N;;;;; +10607;LINEAR A SIGN AB008;Lo;0;L;;;;;N;;;;; +10608;LINEAR A SIGN AB009;Lo;0;L;;;;;N;;;;; +10609;LINEAR A SIGN AB010;Lo;0;L;;;;;N;;;;; +1060A;LINEAR A SIGN AB011;Lo;0;L;;;;;N;;;;; +1060B;LINEAR A SIGN AB013;Lo;0;L;;;;;N;;;;; +1060C;LINEAR A SIGN AB016;Lo;0;L;;;;;N;;;;; +1060D;LINEAR A SIGN AB017;Lo;0;L;;;;;N;;;;; +1060E;LINEAR A SIGN AB020;Lo;0;L;;;;;N;;;;; +1060F;LINEAR A SIGN AB021;Lo;0;L;;;;;N;;;;; +10610;LINEAR A SIGN AB021F;Lo;0;L;;;;;N;;;;; +10611;LINEAR A SIGN AB021M;Lo;0;L;;;;;N;;;;; +10612;LINEAR A SIGN AB022;Lo;0;L;;;;;N;;;;; +10613;LINEAR A SIGN AB022F;Lo;0;L;;;;;N;;;;; +10614;LINEAR A SIGN AB022M;Lo;0;L;;;;;N;;;;; +10615;LINEAR A SIGN AB023;Lo;0;L;;;;;N;;;;; +10616;LINEAR A SIGN AB023M;Lo;0;L;;;;;N;;;;; +10617;LINEAR A SIGN AB024;Lo;0;L;;;;;N;;;;; +10618;LINEAR A SIGN AB026;Lo;0;L;;;;;N;;;;; +10619;LINEAR A SIGN AB027;Lo;0;L;;;;;N;;;;; +1061A;LINEAR A SIGN AB028;Lo;0;L;;;;;N;;;;; +1061B;LINEAR A SIGN A028B;Lo;0;L;;;;;N;;;;; +1061C;LINEAR A SIGN AB029;Lo;0;L;;;;;N;;;;; +1061D;LINEAR A SIGN AB030;Lo;0;L;;;;;N;;;;; +1061E;LINEAR A SIGN AB031;Lo;0;L;;;;;N;;;;; +1061F;LINEAR A SIGN AB034;Lo;0;L;;;;;N;;;;; +10620;LINEAR A SIGN AB037;Lo;0;L;;;;;N;;;;; +10621;LINEAR A SIGN AB038;Lo;0;L;;;;;N;;;;; +10622;LINEAR A SIGN AB039;Lo;0;L;;;;;N;;;;; +10623;LINEAR A SIGN AB040;Lo;0;L;;;;;N;;;;; +10624;LINEAR A SIGN AB041;Lo;0;L;;;;;N;;;;; +10625;LINEAR A SIGN AB044;Lo;0;L;;;;;N;;;;; +10626;LINEAR A SIGN AB045;Lo;0;L;;;;;N;;;;; +10627;LINEAR A SIGN AB046;Lo;0;L;;;;;N;;;;; +10628;LINEAR A SIGN AB047;Lo;0;L;;;;;N;;;;; +10629;LINEAR A SIGN AB048;Lo;0;L;;;;;N;;;;; +1062A;LINEAR A SIGN AB049;Lo;0;L;;;;;N;;;;; +1062B;LINEAR A SIGN AB050;Lo;0;L;;;;;N;;;;; +1062C;LINEAR A SIGN AB051;Lo;0;L;;;;;N;;;;; +1062D;LINEAR A SIGN AB053;Lo;0;L;;;;;N;;;;; +1062E;LINEAR A SIGN AB054;Lo;0;L;;;;;N;;;;; +1062F;LINEAR A SIGN AB055;Lo;0;L;;;;;N;;;;; +10630;LINEAR A SIGN AB056;Lo;0;L;;;;;N;;;;; +10631;LINEAR A SIGN AB057;Lo;0;L;;;;;N;;;;; +10632;LINEAR A SIGN AB058;Lo;0;L;;;;;N;;;;; +10633;LINEAR A SIGN AB059;Lo;0;L;;;;;N;;;;; +10634;LINEAR A SIGN AB060;Lo;0;L;;;;;N;;;;; +10635;LINEAR A SIGN AB061;Lo;0;L;;;;;N;;;;; +10636;LINEAR A SIGN AB065;Lo;0;L;;;;;N;;;;; +10637;LINEAR A SIGN AB066;Lo;0;L;;;;;N;;;;; +10638;LINEAR A SIGN AB067;Lo;0;L;;;;;N;;;;; +10639;LINEAR A SIGN AB069;Lo;0;L;;;;;N;;;;; +1063A;LINEAR A SIGN AB070;Lo;0;L;;;;;N;;;;; +1063B;LINEAR A SIGN AB073;Lo;0;L;;;;;N;;;;; +1063C;LINEAR A SIGN AB074;Lo;0;L;;;;;N;;;;; +1063D;LINEAR A SIGN AB076;Lo;0;L;;;;;N;;;;; +1063E;LINEAR A SIGN AB077;Lo;0;L;;;;;N;;;;; +1063F;LINEAR A SIGN AB078;Lo;0;L;;;;;N;;;;; +10640;LINEAR A SIGN AB079;Lo;0;L;;;;;N;;;;; +10641;LINEAR A SIGN AB080;Lo;0;L;;;;;N;;;;; +10642;LINEAR A SIGN AB081;Lo;0;L;;;;;N;;;;; +10643;LINEAR A SIGN AB082;Lo;0;L;;;;;N;;;;; +10644;LINEAR A SIGN AB085;Lo;0;L;;;;;N;;;;; +10645;LINEAR A SIGN AB086;Lo;0;L;;;;;N;;;;; +10646;LINEAR A SIGN AB087;Lo;0;L;;;;;N;;;;; +10647;LINEAR A SIGN A100-102;Lo;0;L;;;;;N;;;;; +10648;LINEAR A SIGN AB118;Lo;0;L;;;;;N;;;;; +10649;LINEAR A SIGN AB120;Lo;0;L;;;;;N;;;;; +1064A;LINEAR A SIGN A120B;Lo;0;L;;;;;N;;;;; +1064B;LINEAR A SIGN AB122;Lo;0;L;;;;;N;;;;; +1064C;LINEAR A SIGN AB123;Lo;0;L;;;;;N;;;;; +1064D;LINEAR A SIGN AB131A;Lo;0;L;;;;;N;;;;; +1064E;LINEAR A SIGN AB131B;Lo;0;L;;;;;N;;;;; +1064F;LINEAR A SIGN A131C;Lo;0;L;;;;;N;;;;; +10650;LINEAR A SIGN AB164;Lo;0;L;;;;;N;;;;; +10651;LINEAR A SIGN AB171;Lo;0;L;;;;;N;;;;; +10652;LINEAR A SIGN AB180;Lo;0;L;;;;;N;;;;; +10653;LINEAR A SIGN AB188;Lo;0;L;;;;;N;;;;; +10654;LINEAR A SIGN AB191;Lo;0;L;;;;;N;;;;; +10655;LINEAR A SIGN A301;Lo;0;L;;;;;N;;;;; +10656;LINEAR A SIGN A302;Lo;0;L;;;;;N;;;;; +10657;LINEAR A SIGN A303;Lo;0;L;;;;;N;;;;; +10658;LINEAR A SIGN A304;Lo;0;L;;;;;N;;;;; +10659;LINEAR A SIGN A305;Lo;0;L;;;;;N;;;;; +1065A;LINEAR A SIGN A306;Lo;0;L;;;;;N;;;;; +1065B;LINEAR A SIGN A307;Lo;0;L;;;;;N;;;;; +1065C;LINEAR A SIGN A308;Lo;0;L;;;;;N;;;;; +1065D;LINEAR A SIGN A309A;Lo;0;L;;;;;N;;;;; +1065E;LINEAR A SIGN A309B;Lo;0;L;;;;;N;;;;; +1065F;LINEAR A SIGN A309C;Lo;0;L;;;;;N;;;;; +10660;LINEAR A SIGN A310;Lo;0;L;;;;;N;;;;; +10661;LINEAR A SIGN A311;Lo;0;L;;;;;N;;;;; +10662;LINEAR A SIGN A312;Lo;0;L;;;;;N;;;;; +10663;LINEAR A SIGN A313A;Lo;0;L;;;;;N;;;;; +10664;LINEAR A SIGN A313B;Lo;0;L;;;;;N;;;;; +10665;LINEAR A SIGN A313C;Lo;0;L;;;;;N;;;;; +10666;LINEAR A SIGN A314;Lo;0;L;;;;;N;;;;; +10667;LINEAR A SIGN A315;Lo;0;L;;;;;N;;;;; +10668;LINEAR A SIGN A316;Lo;0;L;;;;;N;;;;; +10669;LINEAR A SIGN A317;Lo;0;L;;;;;N;;;;; +1066A;LINEAR A SIGN A318;Lo;0;L;;;;;N;;;;; +1066B;LINEAR A SIGN A319;Lo;0;L;;;;;N;;;;; +1066C;LINEAR A SIGN A320;Lo;0;L;;;;;N;;;;; +1066D;LINEAR A SIGN A321;Lo;0;L;;;;;N;;;;; +1066E;LINEAR A SIGN A322;Lo;0;L;;;;;N;;;;; +1066F;LINEAR A SIGN A323;Lo;0;L;;;;;N;;;;; +10670;LINEAR A SIGN A324;Lo;0;L;;;;;N;;;;; +10671;LINEAR A SIGN A325;Lo;0;L;;;;;N;;;;; +10672;LINEAR A SIGN A326;Lo;0;L;;;;;N;;;;; +10673;LINEAR A SIGN A327;Lo;0;L;;;;;N;;;;; +10674;LINEAR A SIGN A328;Lo;0;L;;;;;N;;;;; +10675;LINEAR A SIGN A329;Lo;0;L;;;;;N;;;;; +10676;LINEAR A SIGN A330;Lo;0;L;;;;;N;;;;; +10677;LINEAR A SIGN A331;Lo;0;L;;;;;N;;;;; +10678;LINEAR A SIGN A332;Lo;0;L;;;;;N;;;;; +10679;LINEAR A SIGN A333;Lo;0;L;;;;;N;;;;; +1067A;LINEAR A SIGN A334;Lo;0;L;;;;;N;;;;; +1067B;LINEAR A SIGN A335;Lo;0;L;;;;;N;;;;; +1067C;LINEAR A SIGN A336;Lo;0;L;;;;;N;;;;; +1067D;LINEAR A SIGN A337;Lo;0;L;;;;;N;;;;; +1067E;LINEAR A SIGN A338;Lo;0;L;;;;;N;;;;; +1067F;LINEAR A SIGN A339;Lo;0;L;;;;;N;;;;; +10680;LINEAR A SIGN A340;Lo;0;L;;;;;N;;;;; +10681;LINEAR A SIGN A341;Lo;0;L;;;;;N;;;;; +10682;LINEAR A SIGN A342;Lo;0;L;;;;;N;;;;; +10683;LINEAR A SIGN A343;Lo;0;L;;;;;N;;;;; +10684;LINEAR A SIGN A344;Lo;0;L;;;;;N;;;;; +10685;LINEAR A SIGN A345;Lo;0;L;;;;;N;;;;; +10686;LINEAR A SIGN A346;Lo;0;L;;;;;N;;;;; +10687;LINEAR A SIGN A347;Lo;0;L;;;;;N;;;;; +10688;LINEAR A SIGN A348;Lo;0;L;;;;;N;;;;; +10689;LINEAR A SIGN A349;Lo;0;L;;;;;N;;;;; +1068A;LINEAR A SIGN A350;Lo;0;L;;;;;N;;;;; +1068B;LINEAR A SIGN A351;Lo;0;L;;;;;N;;;;; +1068C;LINEAR A SIGN A352;Lo;0;L;;;;;N;;;;; +1068D;LINEAR A SIGN A353;Lo;0;L;;;;;N;;;;; +1068E;LINEAR A SIGN A354;Lo;0;L;;;;;N;;;;; +1068F;LINEAR A SIGN A355;Lo;0;L;;;;;N;;;;; +10690;LINEAR A SIGN A356;Lo;0;L;;;;;N;;;;; +10691;LINEAR A SIGN A357;Lo;0;L;;;;;N;;;;; +10692;LINEAR A SIGN A358;Lo;0;L;;;;;N;;;;; +10693;LINEAR A SIGN A359;Lo;0;L;;;;;N;;;;; +10694;LINEAR A SIGN A360;Lo;0;L;;;;;N;;;;; +10695;LINEAR A SIGN A361;Lo;0;L;;;;;N;;;;; +10696;LINEAR A SIGN A362;Lo;0;L;;;;;N;;;;; +10697;LINEAR A SIGN A363;Lo;0;L;;;;;N;;;;; +10698;LINEAR A SIGN A364;Lo;0;L;;;;;N;;;;; +10699;LINEAR A SIGN A365;Lo;0;L;;;;;N;;;;; +1069A;LINEAR A SIGN A366;Lo;0;L;;;;;N;;;;; +1069B;LINEAR A SIGN A367;Lo;0;L;;;;;N;;;;; +1069C;LINEAR A SIGN A368;Lo;0;L;;;;;N;;;;; +1069D;LINEAR A SIGN A369;Lo;0;L;;;;;N;;;;; +1069E;LINEAR A SIGN A370;Lo;0;L;;;;;N;;;;; +1069F;LINEAR A SIGN A371;Lo;0;L;;;;;N;;;;; +106A0;LINEAR A SIGN A400-VAS;Lo;0;L;;;;;N;;;;; +106A1;LINEAR A SIGN A401-VAS;Lo;0;L;;;;;N;;;;; +106A2;LINEAR A SIGN A402-VAS;Lo;0;L;;;;;N;;;;; +106A3;LINEAR A SIGN A403-VAS;Lo;0;L;;;;;N;;;;; +106A4;LINEAR A SIGN A404-VAS;Lo;0;L;;;;;N;;;;; +106A5;LINEAR A SIGN A405-VAS;Lo;0;L;;;;;N;;;;; +106A6;LINEAR A SIGN A406-VAS;Lo;0;L;;;;;N;;;;; +106A7;LINEAR A SIGN A407-VAS;Lo;0;L;;;;;N;;;;; +106A8;LINEAR A SIGN A408-VAS;Lo;0;L;;;;;N;;;;; +106A9;LINEAR A SIGN A409-VAS;Lo;0;L;;;;;N;;;;; +106AA;LINEAR A SIGN A410-VAS;Lo;0;L;;;;;N;;;;; +106AB;LINEAR A SIGN A411-VAS;Lo;0;L;;;;;N;;;;; +106AC;LINEAR A SIGN A412-VAS;Lo;0;L;;;;;N;;;;; +106AD;LINEAR A SIGN A413-VAS;Lo;0;L;;;;;N;;;;; +106AE;LINEAR A SIGN A414-VAS;Lo;0;L;;;;;N;;;;; +106AF;LINEAR A SIGN A415-VAS;Lo;0;L;;;;;N;;;;; +106B0;LINEAR A SIGN A416-VAS;Lo;0;L;;;;;N;;;;; +106B1;LINEAR A SIGN A417-VAS;Lo;0;L;;;;;N;;;;; +106B2;LINEAR A SIGN A418-VAS;Lo;0;L;;;;;N;;;;; +106B3;LINEAR A SIGN A501;Lo;0;L;;;;;N;;;;; +106B4;LINEAR A SIGN A502;Lo;0;L;;;;;N;;;;; +106B5;LINEAR A SIGN A503;Lo;0;L;;;;;N;;;;; +106B6;LINEAR A SIGN A504;Lo;0;L;;;;;N;;;;; +106B7;LINEAR A SIGN A505;Lo;0;L;;;;;N;;;;; +106B8;LINEAR A SIGN A506;Lo;0;L;;;;;N;;;;; +106B9;LINEAR A SIGN A508;Lo;0;L;;;;;N;;;;; +106BA;LINEAR A SIGN A509;Lo;0;L;;;;;N;;;;; +106BB;LINEAR A SIGN A510;Lo;0;L;;;;;N;;;;; +106BC;LINEAR A SIGN A511;Lo;0;L;;;;;N;;;;; +106BD;LINEAR A SIGN A512;Lo;0;L;;;;;N;;;;; +106BE;LINEAR A SIGN A513;Lo;0;L;;;;;N;;;;; +106BF;LINEAR A SIGN A515;Lo;0;L;;;;;N;;;;; +106C0;LINEAR A SIGN A516;Lo;0;L;;;;;N;;;;; +106C1;LINEAR A SIGN A520;Lo;0;L;;;;;N;;;;; +106C2;LINEAR A SIGN A521;Lo;0;L;;;;;N;;;;; +106C3;LINEAR A SIGN A523;Lo;0;L;;;;;N;;;;; +106C4;LINEAR A SIGN A524;Lo;0;L;;;;;N;;;;; +106C5;LINEAR A SIGN A525;Lo;0;L;;;;;N;;;;; +106C6;LINEAR A SIGN A526;Lo;0;L;;;;;N;;;;; +106C7;LINEAR A SIGN A527;Lo;0;L;;;;;N;;;;; +106C8;LINEAR A SIGN A528;Lo;0;L;;;;;N;;;;; +106C9;LINEAR A SIGN A529;Lo;0;L;;;;;N;;;;; +106CA;LINEAR A SIGN A530;Lo;0;L;;;;;N;;;;; +106CB;LINEAR A SIGN A531;Lo;0;L;;;;;N;;;;; +106CC;LINEAR A SIGN A532;Lo;0;L;;;;;N;;;;; +106CD;LINEAR A SIGN A534;Lo;0;L;;;;;N;;;;; +106CE;LINEAR A SIGN A535;Lo;0;L;;;;;N;;;;; +106CF;LINEAR A SIGN A536;Lo;0;L;;;;;N;;;;; +106D0;LINEAR A SIGN A537;Lo;0;L;;;;;N;;;;; +106D1;LINEAR A SIGN A538;Lo;0;L;;;;;N;;;;; +106D2;LINEAR A SIGN A539;Lo;0;L;;;;;N;;;;; +106D3;LINEAR A SIGN A540;Lo;0;L;;;;;N;;;;; +106D4;LINEAR A SIGN A541;Lo;0;L;;;;;N;;;;; +106D5;LINEAR A SIGN A542;Lo;0;L;;;;;N;;;;; +106D6;LINEAR A SIGN A545;Lo;0;L;;;;;N;;;;; +106D7;LINEAR A SIGN A547;Lo;0;L;;;;;N;;;;; +106D8;LINEAR A SIGN A548;Lo;0;L;;;;;N;;;;; +106D9;LINEAR A SIGN A549;Lo;0;L;;;;;N;;;;; +106DA;LINEAR A SIGN A550;Lo;0;L;;;;;N;;;;; +106DB;LINEAR A SIGN A551;Lo;0;L;;;;;N;;;;; +106DC;LINEAR A SIGN A552;Lo;0;L;;;;;N;;;;; +106DD;LINEAR A SIGN A553;Lo;0;L;;;;;N;;;;; +106DE;LINEAR A SIGN A554;Lo;0;L;;;;;N;;;;; +106DF;LINEAR A SIGN A555;Lo;0;L;;;;;N;;;;; +106E0;LINEAR A SIGN A556;Lo;0;L;;;;;N;;;;; +106E1;LINEAR A SIGN A557;Lo;0;L;;;;;N;;;;; +106E2;LINEAR A SIGN A559;Lo;0;L;;;;;N;;;;; +106E3;LINEAR A SIGN A563;Lo;0;L;;;;;N;;;;; +106E4;LINEAR A SIGN A564;Lo;0;L;;;;;N;;;;; +106E5;LINEAR A SIGN A565;Lo;0;L;;;;;N;;;;; +106E6;LINEAR A SIGN A566;Lo;0;L;;;;;N;;;;; +106E7;LINEAR A SIGN A568;Lo;0;L;;;;;N;;;;; +106E8;LINEAR A SIGN A569;Lo;0;L;;;;;N;;;;; +106E9;LINEAR A SIGN A570;Lo;0;L;;;;;N;;;;; +106EA;LINEAR A SIGN A571;Lo;0;L;;;;;N;;;;; +106EB;LINEAR A SIGN A572;Lo;0;L;;;;;N;;;;; +106EC;LINEAR A SIGN A573;Lo;0;L;;;;;N;;;;; +106ED;LINEAR A SIGN A574;Lo;0;L;;;;;N;;;;; +106EE;LINEAR A SIGN A575;Lo;0;L;;;;;N;;;;; +106EF;LINEAR A SIGN A576;Lo;0;L;;;;;N;;;;; +106F0;LINEAR A SIGN A577;Lo;0;L;;;;;N;;;;; +106F1;LINEAR A SIGN A578;Lo;0;L;;;;;N;;;;; +106F2;LINEAR A SIGN A579;Lo;0;L;;;;;N;;;;; +106F3;LINEAR A SIGN A580;Lo;0;L;;;;;N;;;;; +106F4;LINEAR A SIGN A581;Lo;0;L;;;;;N;;;;; +106F5;LINEAR A SIGN A582;Lo;0;L;;;;;N;;;;; +106F6;LINEAR A SIGN A583;Lo;0;L;;;;;N;;;;; +106F7;LINEAR A SIGN A584;Lo;0;L;;;;;N;;;;; +106F8;LINEAR A SIGN A585;Lo;0;L;;;;;N;;;;; +106F9;LINEAR A SIGN A586;Lo;0;L;;;;;N;;;;; +106FA;LINEAR A SIGN A587;Lo;0;L;;;;;N;;;;; +106FB;LINEAR A SIGN A588;Lo;0;L;;;;;N;;;;; +106FC;LINEAR A SIGN A589;Lo;0;L;;;;;N;;;;; +106FD;LINEAR A SIGN A591;Lo;0;L;;;;;N;;;;; +106FE;LINEAR A SIGN A592;Lo;0;L;;;;;N;;;;; +106FF;LINEAR A SIGN A594;Lo;0;L;;;;;N;;;;; +10700;LINEAR A SIGN A595;Lo;0;L;;;;;N;;;;; +10701;LINEAR A SIGN A596;Lo;0;L;;;;;N;;;;; +10702;LINEAR A SIGN A598;Lo;0;L;;;;;N;;;;; +10703;LINEAR A SIGN A600;Lo;0;L;;;;;N;;;;; +10704;LINEAR A SIGN A601;Lo;0;L;;;;;N;;;;; +10705;LINEAR A SIGN A602;Lo;0;L;;;;;N;;;;; +10706;LINEAR A SIGN A603;Lo;0;L;;;;;N;;;;; +10707;LINEAR A SIGN A604;Lo;0;L;;;;;N;;;;; +10708;LINEAR A SIGN A606;Lo;0;L;;;;;N;;;;; +10709;LINEAR A SIGN A608;Lo;0;L;;;;;N;;;;; +1070A;LINEAR A SIGN A609;Lo;0;L;;;;;N;;;;; +1070B;LINEAR A SIGN A610;Lo;0;L;;;;;N;;;;; +1070C;LINEAR A SIGN A611;Lo;0;L;;;;;N;;;;; +1070D;LINEAR A SIGN A612;Lo;0;L;;;;;N;;;;; +1070E;LINEAR A SIGN A613;Lo;0;L;;;;;N;;;;; +1070F;LINEAR A SIGN A614;Lo;0;L;;;;;N;;;;; +10710;LINEAR A SIGN A615;Lo;0;L;;;;;N;;;;; +10711;LINEAR A SIGN A616;Lo;0;L;;;;;N;;;;; +10712;LINEAR A SIGN A617;Lo;0;L;;;;;N;;;;; +10713;LINEAR A SIGN A618;Lo;0;L;;;;;N;;;;; +10714;LINEAR A SIGN A619;Lo;0;L;;;;;N;;;;; +10715;LINEAR A SIGN A620;Lo;0;L;;;;;N;;;;; +10716;LINEAR A SIGN A621;Lo;0;L;;;;;N;;;;; +10717;LINEAR A SIGN A622;Lo;0;L;;;;;N;;;;; +10718;LINEAR A SIGN A623;Lo;0;L;;;;;N;;;;; +10719;LINEAR A SIGN A624;Lo;0;L;;;;;N;;;;; +1071A;LINEAR A SIGN A626;Lo;0;L;;;;;N;;;;; +1071B;LINEAR A SIGN A627;Lo;0;L;;;;;N;;;;; +1071C;LINEAR A SIGN A628;Lo;0;L;;;;;N;;;;; +1071D;LINEAR A SIGN A629;Lo;0;L;;;;;N;;;;; +1071E;LINEAR A SIGN A634;Lo;0;L;;;;;N;;;;; +1071F;LINEAR A SIGN A637;Lo;0;L;;;;;N;;;;; +10720;LINEAR A SIGN A638;Lo;0;L;;;;;N;;;;; +10721;LINEAR A SIGN A640;Lo;0;L;;;;;N;;;;; +10722;LINEAR A SIGN A642;Lo;0;L;;;;;N;;;;; +10723;LINEAR A SIGN A643;Lo;0;L;;;;;N;;;;; +10724;LINEAR A SIGN A644;Lo;0;L;;;;;N;;;;; +10725;LINEAR A SIGN A645;Lo;0;L;;;;;N;;;;; +10726;LINEAR A SIGN A646;Lo;0;L;;;;;N;;;;; +10727;LINEAR A SIGN A648;Lo;0;L;;;;;N;;;;; +10728;LINEAR A SIGN A649;Lo;0;L;;;;;N;;;;; +10729;LINEAR A SIGN A651;Lo;0;L;;;;;N;;;;; +1072A;LINEAR A SIGN A652;Lo;0;L;;;;;N;;;;; +1072B;LINEAR A SIGN A653;Lo;0;L;;;;;N;;;;; +1072C;LINEAR A SIGN A654;Lo;0;L;;;;;N;;;;; +1072D;LINEAR A SIGN A655;Lo;0;L;;;;;N;;;;; +1072E;LINEAR A SIGN A656;Lo;0;L;;;;;N;;;;; +1072F;LINEAR A SIGN A657;Lo;0;L;;;;;N;;;;; +10730;LINEAR A SIGN A658;Lo;0;L;;;;;N;;;;; +10731;LINEAR A SIGN A659;Lo;0;L;;;;;N;;;;; +10732;LINEAR A SIGN A660;Lo;0;L;;;;;N;;;;; +10733;LINEAR A SIGN A661;Lo;0;L;;;;;N;;;;; +10734;LINEAR A SIGN A662;Lo;0;L;;;;;N;;;;; +10735;LINEAR A SIGN A663;Lo;0;L;;;;;N;;;;; +10736;LINEAR A SIGN A664;Lo;0;L;;;;;N;;;;; +10740;LINEAR A SIGN A701 A;Lo;0;L;;;;;N;;;;; +10741;LINEAR A SIGN A702 B;Lo;0;L;;;;;N;;;;; +10742;LINEAR A SIGN A703 D;Lo;0;L;;;;;N;;;;; +10743;LINEAR A SIGN A704 E;Lo;0;L;;;;;N;;;;; +10744;LINEAR A SIGN A705 F;Lo;0;L;;;;;N;;;;; +10745;LINEAR A SIGN A706 H;Lo;0;L;;;;;N;;;;; +10746;LINEAR A SIGN A707 J;Lo;0;L;;;;;N;;;;; +10747;LINEAR A SIGN A708 K;Lo;0;L;;;;;N;;;;; +10748;LINEAR A SIGN A709 L;Lo;0;L;;;;;N;;;;; +10749;LINEAR A SIGN A709-2 L2;Lo;0;L;;;;;N;;;;; +1074A;LINEAR A SIGN A709-3 L3;Lo;0;L;;;;;N;;;;; +1074B;LINEAR A SIGN A709-4 L4;Lo;0;L;;;;;N;;;;; +1074C;LINEAR A SIGN A709-6 L6;Lo;0;L;;;;;N;;;;; +1074D;LINEAR A SIGN A710 W;Lo;0;L;;;;;N;;;;; +1074E;LINEAR A SIGN A711 X;Lo;0;L;;;;;N;;;;; +1074F;LINEAR A SIGN A712 Y;Lo;0;L;;;;;N;;;;; +10750;LINEAR A SIGN A713 OMEGA;Lo;0;L;;;;;N;;;;; +10751;LINEAR A SIGN A714 ABB;Lo;0;L;;;;;N;;;;; +10752;LINEAR A SIGN A715 BB;Lo;0;L;;;;;N;;;;; +10753;LINEAR A SIGN A717 DD;Lo;0;L;;;;;N;;;;; +10754;LINEAR A SIGN A726 EYYY;Lo;0;L;;;;;N;;;;; +10755;LINEAR A SIGN A732 JE;Lo;0;L;;;;;N;;;;; +10760;LINEAR A SIGN A800;Lo;0;L;;;;;N;;;;; +10761;LINEAR A SIGN A801;Lo;0;L;;;;;N;;;;; +10762;LINEAR A SIGN A802;Lo;0;L;;;;;N;;;;; +10763;LINEAR A SIGN A803;Lo;0;L;;;;;N;;;;; +10764;LINEAR A SIGN A804;Lo;0;L;;;;;N;;;;; +10765;LINEAR A SIGN A805;Lo;0;L;;;;;N;;;;; +10766;LINEAR A SIGN A806;Lo;0;L;;;;;N;;;;; +10767;LINEAR A SIGN A807;Lo;0;L;;;;;N;;;;; +10800;CYPRIOT SYLLABLE A;Lo;0;R;;;;;N;;;;; +10801;CYPRIOT SYLLABLE E;Lo;0;R;;;;;N;;;;; +10802;CYPRIOT SYLLABLE I;Lo;0;R;;;;;N;;;;; +10803;CYPRIOT SYLLABLE O;Lo;0;R;;;;;N;;;;; +10804;CYPRIOT SYLLABLE U;Lo;0;R;;;;;N;;;;; +10805;CYPRIOT SYLLABLE JA;Lo;0;R;;;;;N;;;;; +10808;CYPRIOT SYLLABLE JO;Lo;0;R;;;;;N;;;;; +1080A;CYPRIOT SYLLABLE KA;Lo;0;R;;;;;N;;;;; +1080B;CYPRIOT SYLLABLE KE;Lo;0;R;;;;;N;;;;; +1080C;CYPRIOT SYLLABLE KI;Lo;0;R;;;;;N;;;;; +1080D;CYPRIOT SYLLABLE KO;Lo;0;R;;;;;N;;;;; +1080E;CYPRIOT SYLLABLE KU;Lo;0;R;;;;;N;;;;; +1080F;CYPRIOT SYLLABLE LA;Lo;0;R;;;;;N;;;;; +10810;CYPRIOT SYLLABLE LE;Lo;0;R;;;;;N;;;;; +10811;CYPRIOT SYLLABLE LI;Lo;0;R;;;;;N;;;;; +10812;CYPRIOT SYLLABLE LO;Lo;0;R;;;;;N;;;;; +10813;CYPRIOT SYLLABLE LU;Lo;0;R;;;;;N;;;;; +10814;CYPRIOT SYLLABLE MA;Lo;0;R;;;;;N;;;;; +10815;CYPRIOT SYLLABLE ME;Lo;0;R;;;;;N;;;;; +10816;CYPRIOT SYLLABLE MI;Lo;0;R;;;;;N;;;;; +10817;CYPRIOT SYLLABLE MO;Lo;0;R;;;;;N;;;;; +10818;CYPRIOT SYLLABLE MU;Lo;0;R;;;;;N;;;;; +10819;CYPRIOT SYLLABLE NA;Lo;0;R;;;;;N;;;;; +1081A;CYPRIOT SYLLABLE NE;Lo;0;R;;;;;N;;;;; +1081B;CYPRIOT SYLLABLE NI;Lo;0;R;;;;;N;;;;; +1081C;CYPRIOT SYLLABLE NO;Lo;0;R;;;;;N;;;;; +1081D;CYPRIOT SYLLABLE NU;Lo;0;R;;;;;N;;;;; +1081E;CYPRIOT SYLLABLE PA;Lo;0;R;;;;;N;;;;; +1081F;CYPRIOT SYLLABLE PE;Lo;0;R;;;;;N;;;;; +10820;CYPRIOT SYLLABLE PI;Lo;0;R;;;;;N;;;;; +10821;CYPRIOT SYLLABLE PO;Lo;0;R;;;;;N;;;;; +10822;CYPRIOT SYLLABLE PU;Lo;0;R;;;;;N;;;;; +10823;CYPRIOT SYLLABLE RA;Lo;0;R;;;;;N;;;;; +10824;CYPRIOT SYLLABLE RE;Lo;0;R;;;;;N;;;;; +10825;CYPRIOT SYLLABLE RI;Lo;0;R;;;;;N;;;;; +10826;CYPRIOT SYLLABLE RO;Lo;0;R;;;;;N;;;;; +10827;CYPRIOT SYLLABLE RU;Lo;0;R;;;;;N;;;;; +10828;CYPRIOT SYLLABLE SA;Lo;0;R;;;;;N;;;;; +10829;CYPRIOT SYLLABLE SE;Lo;0;R;;;;;N;;;;; +1082A;CYPRIOT SYLLABLE SI;Lo;0;R;;;;;N;;;;; +1082B;CYPRIOT SYLLABLE SO;Lo;0;R;;;;;N;;;;; +1082C;CYPRIOT SYLLABLE SU;Lo;0;R;;;;;N;;;;; +1082D;CYPRIOT SYLLABLE TA;Lo;0;R;;;;;N;;;;; +1082E;CYPRIOT SYLLABLE TE;Lo;0;R;;;;;N;;;;; +1082F;CYPRIOT SYLLABLE TI;Lo;0;R;;;;;N;;;;; +10830;CYPRIOT SYLLABLE TO;Lo;0;R;;;;;N;;;;; +10831;CYPRIOT SYLLABLE TU;Lo;0;R;;;;;N;;;;; +10832;CYPRIOT SYLLABLE WA;Lo;0;R;;;;;N;;;;; +10833;CYPRIOT SYLLABLE WE;Lo;0;R;;;;;N;;;;; +10834;CYPRIOT SYLLABLE WI;Lo;0;R;;;;;N;;;;; +10835;CYPRIOT SYLLABLE WO;Lo;0;R;;;;;N;;;;; +10837;CYPRIOT SYLLABLE XA;Lo;0;R;;;;;N;;;;; +10838;CYPRIOT SYLLABLE XE;Lo;0;R;;;;;N;;;;; +1083C;CYPRIOT SYLLABLE ZA;Lo;0;R;;;;;N;;;;; +1083F;CYPRIOT SYLLABLE ZO;Lo;0;R;;;;;N;;;;; +10840;IMPERIAL ARAMAIC LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10841;IMPERIAL ARAMAIC LETTER BETH;Lo;0;R;;;;;N;;;;; +10842;IMPERIAL ARAMAIC LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10843;IMPERIAL ARAMAIC LETTER DALETH;Lo;0;R;;;;;N;;;;; +10844;IMPERIAL ARAMAIC LETTER HE;Lo;0;R;;;;;N;;;;; +10845;IMPERIAL ARAMAIC LETTER WAW;Lo;0;R;;;;;N;;;;; +10846;IMPERIAL ARAMAIC LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10847;IMPERIAL ARAMAIC LETTER HETH;Lo;0;R;;;;;N;;;;; +10848;IMPERIAL ARAMAIC LETTER TETH;Lo;0;R;;;;;N;;;;; +10849;IMPERIAL ARAMAIC LETTER YODH;Lo;0;R;;;;;N;;;;; +1084A;IMPERIAL ARAMAIC LETTER KAPH;Lo;0;R;;;;;N;;;;; +1084B;IMPERIAL ARAMAIC LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +1084C;IMPERIAL ARAMAIC LETTER MEM;Lo;0;R;;;;;N;;;;; +1084D;IMPERIAL ARAMAIC LETTER NUN;Lo;0;R;;;;;N;;;;; +1084E;IMPERIAL ARAMAIC LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +1084F;IMPERIAL ARAMAIC LETTER AYIN;Lo;0;R;;;;;N;;;;; +10850;IMPERIAL ARAMAIC LETTER PE;Lo;0;R;;;;;N;;;;; +10851;IMPERIAL ARAMAIC LETTER SADHE;Lo;0;R;;;;;N;;;;; +10852;IMPERIAL ARAMAIC LETTER QOPH;Lo;0;R;;;;;N;;;;; +10853;IMPERIAL ARAMAIC LETTER RESH;Lo;0;R;;;;;N;;;;; +10854;IMPERIAL ARAMAIC LETTER SHIN;Lo;0;R;;;;;N;;;;; +10855;IMPERIAL ARAMAIC LETTER TAW;Lo;0;R;;;;;N;;;;; +10857;IMPERIAL ARAMAIC SECTION SIGN;Po;0;R;;;;;N;;;;; +10858;IMPERIAL ARAMAIC NUMBER ONE;No;0;R;;;;1;N;;;;; +10859;IMPERIAL ARAMAIC NUMBER TWO;No;0;R;;;;2;N;;;;; +1085A;IMPERIAL ARAMAIC NUMBER THREE;No;0;R;;;;3;N;;;;; +1085B;IMPERIAL ARAMAIC NUMBER TEN;No;0;R;;;;10;N;;;;; +1085C;IMPERIAL ARAMAIC NUMBER TWENTY;No;0;R;;;;20;N;;;;; +1085D;IMPERIAL ARAMAIC NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +1085E;IMPERIAL ARAMAIC NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +1085F;IMPERIAL ARAMAIC NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;; +10860;PALMYRENE LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10861;PALMYRENE LETTER BETH;Lo;0;R;;;;;N;;;;; +10862;PALMYRENE LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10863;PALMYRENE LETTER DALETH;Lo;0;R;;;;;N;;;;; +10864;PALMYRENE LETTER HE;Lo;0;R;;;;;N;;;;; +10865;PALMYRENE LETTER WAW;Lo;0;R;;;;;N;;;;; +10866;PALMYRENE LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10867;PALMYRENE LETTER HETH;Lo;0;R;;;;;N;;;;; +10868;PALMYRENE LETTER TETH;Lo;0;R;;;;;N;;;;; +10869;PALMYRENE LETTER YODH;Lo;0;R;;;;;N;;;;; +1086A;PALMYRENE LETTER KAPH;Lo;0;R;;;;;N;;;;; +1086B;PALMYRENE LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +1086C;PALMYRENE LETTER MEM;Lo;0;R;;;;;N;;;;; +1086D;PALMYRENE LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; +1086E;PALMYRENE LETTER NUN;Lo;0;R;;;;;N;;;;; +1086F;PALMYRENE LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10870;PALMYRENE LETTER AYIN;Lo;0;R;;;;;N;;;;; +10871;PALMYRENE LETTER PE;Lo;0;R;;;;;N;;;;; +10872;PALMYRENE LETTER SADHE;Lo;0;R;;;;;N;;;;; +10873;PALMYRENE LETTER QOPH;Lo;0;R;;;;;N;;;;; +10874;PALMYRENE LETTER RESH;Lo;0;R;;;;;N;;;;; +10875;PALMYRENE LETTER SHIN;Lo;0;R;;;;;N;;;;; +10876;PALMYRENE LETTER TAW;Lo;0;R;;;;;N;;;;; +10877;PALMYRENE LEFT-POINTING FLEURON;So;0;R;;;;;N;;;;; +10878;PALMYRENE RIGHT-POINTING FLEURON;So;0;R;;;;;N;;;;; +10879;PALMYRENE NUMBER ONE;No;0;R;;;;1;N;;;;; +1087A;PALMYRENE NUMBER TWO;No;0;R;;;;2;N;;;;; +1087B;PALMYRENE NUMBER THREE;No;0;R;;;;3;N;;;;; +1087C;PALMYRENE NUMBER FOUR;No;0;R;;;;4;N;;;;; +1087D;PALMYRENE NUMBER FIVE;No;0;R;;;;5;N;;;;; +1087E;PALMYRENE NUMBER TEN;No;0;R;;;;10;N;;;;; +1087F;PALMYRENE NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10880;NABATAEAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;; +10881;NABATAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10882;NABATAEAN LETTER FINAL BETH;Lo;0;R;;;;;N;;;;; +10883;NABATAEAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10884;NABATAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10885;NABATAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;; +10886;NABATAEAN LETTER FINAL HE;Lo;0;R;;;;;N;;;;; +10887;NABATAEAN LETTER HE;Lo;0;R;;;;;N;;;;; +10888;NABATAEAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10889;NABATAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +1088A;NABATAEAN LETTER HETH;Lo;0;R;;;;;N;;;;; +1088B;NABATAEAN LETTER TETH;Lo;0;R;;;;;N;;;;; +1088C;NABATAEAN LETTER FINAL YODH;Lo;0;R;;;;;N;;;;; +1088D;NABATAEAN LETTER YODH;Lo;0;R;;;;;N;;;;; +1088E;NABATAEAN LETTER FINAL KAPH;Lo;0;R;;;;;N;;;;; +1088F;NABATAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10890;NABATAEAN LETTER FINAL LAMEDH;Lo;0;R;;;;;N;;;;; +10891;NABATAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10892;NABATAEAN LETTER FINAL MEM;Lo;0;R;;;;;N;;;;; +10893;NABATAEAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10894;NABATAEAN LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; +10895;NABATAEAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10896;NABATAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10897;NABATAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;; +10898;NABATAEAN LETTER PE;Lo;0;R;;;;;N;;;;; +10899;NABATAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +1089A;NABATAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +1089B;NABATAEAN LETTER RESH;Lo;0;R;;;;;N;;;;; +1089C;NABATAEAN LETTER FINAL SHIN;Lo;0;R;;;;;N;;;;; +1089D;NABATAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +1089E;NABATAEAN LETTER TAW;Lo;0;R;;;;;N;;;;; +108A7;NABATAEAN NUMBER ONE;No;0;R;;;;1;N;;;;; +108A8;NABATAEAN NUMBER TWO;No;0;R;;;;2;N;;;;; +108A9;NABATAEAN NUMBER THREE;No;0;R;;;;3;N;;;;; +108AA;NABATAEAN NUMBER FOUR;No;0;R;;;;4;N;;;;; +108AB;NABATAEAN CRUCIFORM NUMBER FOUR;No;0;R;;;;4;N;;;;; +108AC;NABATAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +108AD;NABATAEAN NUMBER TEN;No;0;R;;;;10;N;;;;; +108AE;NABATAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +108AF;NABATAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +108E0;HATRAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +108E1;HATRAN LETTER BETH;Lo;0;R;;;;;N;;;;; +108E2;HATRAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +108E3;HATRAN LETTER DALETH-RESH;Lo;0;R;;;;;N;;;;; +108E4;HATRAN LETTER HE;Lo;0;R;;;;;N;;;;; +108E5;HATRAN LETTER WAW;Lo;0;R;;;;;N;;;;; +108E6;HATRAN LETTER ZAYN;Lo;0;R;;;;;N;;;;; +108E7;HATRAN LETTER HETH;Lo;0;R;;;;;N;;;;; +108E8;HATRAN LETTER TETH;Lo;0;R;;;;;N;;;;; +108E9;HATRAN LETTER YODH;Lo;0;R;;;;;N;;;;; +108EA;HATRAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +108EB;HATRAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +108EC;HATRAN LETTER MEM;Lo;0;R;;;;;N;;;;; +108ED;HATRAN LETTER NUN;Lo;0;R;;;;;N;;;;; +108EE;HATRAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +108EF;HATRAN LETTER AYN;Lo;0;R;;;;;N;;;;; +108F0;HATRAN LETTER PE;Lo;0;R;;;;;N;;;;; +108F1;HATRAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +108F2;HATRAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +108F4;HATRAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +108F5;HATRAN LETTER TAW;Lo;0;R;;;;;N;;;;; +108FB;HATRAN NUMBER ONE;No;0;R;;;;1;N;;;;; +108FC;HATRAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +108FD;HATRAN NUMBER TEN;No;0;R;;;;10;N;;;;; +108FE;HATRAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +108FF;HATRAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10900;PHOENICIAN LETTER ALF;Lo;0;R;;;;;N;;;;; +10901;PHOENICIAN LETTER BET;Lo;0;R;;;;;N;;;;; +10902;PHOENICIAN LETTER GAML;Lo;0;R;;;;;N;;;;; +10903;PHOENICIAN LETTER DELT;Lo;0;R;;;;;N;;;;; +10904;PHOENICIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10905;PHOENICIAN LETTER WAU;Lo;0;R;;;;;N;;;;; +10906;PHOENICIAN LETTER ZAI;Lo;0;R;;;;;N;;;;; +10907;PHOENICIAN LETTER HET;Lo;0;R;;;;;N;;;;; +10908;PHOENICIAN LETTER TET;Lo;0;R;;;;;N;;;;; +10909;PHOENICIAN LETTER YOD;Lo;0;R;;;;;N;;;;; +1090A;PHOENICIAN LETTER KAF;Lo;0;R;;;;;N;;;;; +1090B;PHOENICIAN LETTER LAMD;Lo;0;R;;;;;N;;;;; +1090C;PHOENICIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +1090D;PHOENICIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +1090E;PHOENICIAN LETTER SEMK;Lo;0;R;;;;;N;;;;; +1090F;PHOENICIAN LETTER AIN;Lo;0;R;;;;;N;;;;; +10910;PHOENICIAN LETTER PE;Lo;0;R;;;;;N;;;;; +10911;PHOENICIAN LETTER SADE;Lo;0;R;;;;;N;;;;; +10912;PHOENICIAN LETTER QOF;Lo;0;R;;;;;N;;;;; +10913;PHOENICIAN LETTER ROSH;Lo;0;R;;;;;N;;;;; +10914;PHOENICIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10915;PHOENICIAN LETTER TAU;Lo;0;R;;;;;N;;;;; +10916;PHOENICIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10917;PHOENICIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10918;PHOENICIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10919;PHOENICIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +1091A;PHOENICIAN NUMBER TWO;No;0;R;;;;2;N;;;;; +1091B;PHOENICIAN NUMBER THREE;No;0;R;;;;3;N;;;;; +1091F;PHOENICIAN WORD SEPARATOR;Po;0;ON;;;;;N;;;;; +10920;LYDIAN LETTER A;Lo;0;R;;;;;N;;;;; +10921;LYDIAN LETTER B;Lo;0;R;;;;;N;;;;; +10922;LYDIAN LETTER G;Lo;0;R;;;;;N;;;;; +10923;LYDIAN LETTER D;Lo;0;R;;;;;N;;;;; +10924;LYDIAN LETTER E;Lo;0;R;;;;;N;;;;; +10925;LYDIAN LETTER V;Lo;0;R;;;;;N;;;;; +10926;LYDIAN LETTER I;Lo;0;R;;;;;N;;;;; +10927;LYDIAN LETTER Y;Lo;0;R;;;;;N;;;;; +10928;LYDIAN LETTER K;Lo;0;R;;;;;N;;;;; +10929;LYDIAN LETTER L;Lo;0;R;;;;;N;;;;; +1092A;LYDIAN LETTER M;Lo;0;R;;;;;N;;;;; +1092B;LYDIAN LETTER N;Lo;0;R;;;;;N;;;;; +1092C;LYDIAN LETTER O;Lo;0;R;;;;;N;;;;; +1092D;LYDIAN LETTER R;Lo;0;R;;;;;N;;;;; +1092E;LYDIAN LETTER SS;Lo;0;R;;;;;N;;;;; +1092F;LYDIAN LETTER T;Lo;0;R;;;;;N;;;;; +10930;LYDIAN LETTER U;Lo;0;R;;;;;N;;;;; +10931;LYDIAN LETTER F;Lo;0;R;;;;;N;;;;; +10932;LYDIAN LETTER Q;Lo;0;R;;;;;N;;;;; +10933;LYDIAN LETTER S;Lo;0;R;;;;;N;;;;; +10934;LYDIAN LETTER TT;Lo;0;R;;;;;N;;;;; +10935;LYDIAN LETTER AN;Lo;0;R;;;;;N;;;;; +10936;LYDIAN LETTER EN;Lo;0;R;;;;;N;;;;; +10937;LYDIAN LETTER LY;Lo;0;R;;;;;N;;;;; +10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;; +10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;; +1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;; +10980;MEROITIC HIEROGLYPHIC LETTER A;Lo;0;R;;;;;N;;;;; +10981;MEROITIC HIEROGLYPHIC LETTER E;Lo;0;R;;;;;N;;;;; +10982;MEROITIC HIEROGLYPHIC LETTER I;Lo;0;R;;;;;N;;;;; +10983;MEROITIC HIEROGLYPHIC LETTER O;Lo;0;R;;;;;N;;;;; +10984;MEROITIC HIEROGLYPHIC LETTER YA;Lo;0;R;;;;;N;;;;; +10985;MEROITIC HIEROGLYPHIC LETTER WA;Lo;0;R;;;;;N;;;;; +10986;MEROITIC HIEROGLYPHIC LETTER BA;Lo;0;R;;;;;N;;;;; +10987;MEROITIC HIEROGLYPHIC LETTER BA-2;Lo;0;R;;;;;N;;;;; +10988;MEROITIC HIEROGLYPHIC LETTER PA;Lo;0;R;;;;;N;;;;; +10989;MEROITIC HIEROGLYPHIC LETTER MA;Lo;0;R;;;;;N;;;;; +1098A;MEROITIC HIEROGLYPHIC LETTER NA;Lo;0;R;;;;;N;;;;; +1098B;MEROITIC HIEROGLYPHIC LETTER NA-2;Lo;0;R;;;;;N;;;;; +1098C;MEROITIC HIEROGLYPHIC LETTER NE;Lo;0;R;;;;;N;;;;; +1098D;MEROITIC HIEROGLYPHIC LETTER NE-2;Lo;0;R;;;;;N;;;;; +1098E;MEROITIC HIEROGLYPHIC LETTER RA;Lo;0;R;;;;;N;;;;; +1098F;MEROITIC HIEROGLYPHIC LETTER RA-2;Lo;0;R;;;;;N;;;;; +10990;MEROITIC HIEROGLYPHIC LETTER LA;Lo;0;R;;;;;N;;;;; +10991;MEROITIC HIEROGLYPHIC LETTER KHA;Lo;0;R;;;;;N;;;;; +10992;MEROITIC HIEROGLYPHIC LETTER HHA;Lo;0;R;;;;;N;;;;; +10993;MEROITIC HIEROGLYPHIC LETTER SA;Lo;0;R;;;;;N;;;;; +10994;MEROITIC HIEROGLYPHIC LETTER SA-2;Lo;0;R;;;;;N;;;;; +10995;MEROITIC HIEROGLYPHIC LETTER SE;Lo;0;R;;;;;N;;;;; +10996;MEROITIC HIEROGLYPHIC LETTER KA;Lo;0;R;;;;;N;;;;; +10997;MEROITIC HIEROGLYPHIC LETTER QA;Lo;0;R;;;;;N;;;;; +10998;MEROITIC HIEROGLYPHIC LETTER TA;Lo;0;R;;;;;N;;;;; +10999;MEROITIC HIEROGLYPHIC LETTER TA-2;Lo;0;R;;;;;N;;;;; +1099A;MEROITIC HIEROGLYPHIC LETTER TE;Lo;0;R;;;;;N;;;;; +1099B;MEROITIC HIEROGLYPHIC LETTER TE-2;Lo;0;R;;;;;N;;;;; +1099C;MEROITIC HIEROGLYPHIC LETTER TO;Lo;0;R;;;;;N;;;;; +1099D;MEROITIC HIEROGLYPHIC LETTER DA;Lo;0;R;;;;;N;;;;; +1099E;MEROITIC HIEROGLYPHIC SYMBOL VIDJ;Lo;0;R;;;;;N;;;;; +1099F;MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2;Lo;0;R;;;;;N;;;;; +109A0;MEROITIC CURSIVE LETTER A;Lo;0;R;;;;;N;;;;; +109A1;MEROITIC CURSIVE LETTER E;Lo;0;R;;;;;N;;;;; +109A2;MEROITIC CURSIVE LETTER I;Lo;0;R;;;;;N;;;;; +109A3;MEROITIC CURSIVE LETTER O;Lo;0;R;;;;;N;;;;; +109A4;MEROITIC CURSIVE LETTER YA;Lo;0;R;;;;;N;;;;; +109A5;MEROITIC CURSIVE LETTER WA;Lo;0;R;;;;;N;;;;; +109A6;MEROITIC CURSIVE LETTER BA;Lo;0;R;;;;;N;;;;; +109A7;MEROITIC CURSIVE LETTER PA;Lo;0;R;;;;;N;;;;; +109A8;MEROITIC CURSIVE LETTER MA;Lo;0;R;;;;;N;;;;; +109A9;MEROITIC CURSIVE LETTER NA;Lo;0;R;;;;;N;;;;; +109AA;MEROITIC CURSIVE LETTER NE;Lo;0;R;;;;;N;;;;; +109AB;MEROITIC CURSIVE LETTER RA;Lo;0;R;;;;;N;;;;; +109AC;MEROITIC CURSIVE LETTER LA;Lo;0;R;;;;;N;;;;; +109AD;MEROITIC CURSIVE LETTER KHA;Lo;0;R;;;;;N;;;;; +109AE;MEROITIC CURSIVE LETTER HHA;Lo;0;R;;;;;N;;;;; +109AF;MEROITIC CURSIVE LETTER SA;Lo;0;R;;;;;N;;;;; +109B0;MEROITIC CURSIVE LETTER ARCHAIC SA;Lo;0;R;;;;;N;;;;; +109B1;MEROITIC CURSIVE LETTER SE;Lo;0;R;;;;;N;;;;; +109B2;MEROITIC CURSIVE LETTER KA;Lo;0;R;;;;;N;;;;; +109B3;MEROITIC CURSIVE LETTER QA;Lo;0;R;;;;;N;;;;; +109B4;MEROITIC CURSIVE LETTER TA;Lo;0;R;;;;;N;;;;; +109B5;MEROITIC CURSIVE LETTER TE;Lo;0;R;;;;;N;;;;; +109B6;MEROITIC CURSIVE LETTER TO;Lo;0;R;;;;;N;;;;; +109B7;MEROITIC CURSIVE LETTER DA;Lo;0;R;;;;;N;;;;; +109BC;MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS;No;0;R;;;;11/12;N;;;;; +109BD;MEROITIC CURSIVE FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;; +109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;; +109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;; +109C0;MEROITIC CURSIVE NUMBER ONE;No;0;R;;;;1;N;;;;; +109C1;MEROITIC CURSIVE NUMBER TWO;No;0;R;;;;2;N;;;;; +109C2;MEROITIC CURSIVE NUMBER THREE;No;0;R;;;;3;N;;;;; +109C3;MEROITIC CURSIVE NUMBER FOUR;No;0;R;;;;4;N;;;;; +109C4;MEROITIC CURSIVE NUMBER FIVE;No;0;R;;;;5;N;;;;; +109C5;MEROITIC CURSIVE NUMBER SIX;No;0;R;;;;6;N;;;;; +109C6;MEROITIC CURSIVE NUMBER SEVEN;No;0;R;;;;7;N;;;;; +109C7;MEROITIC CURSIVE NUMBER EIGHT;No;0;R;;;;8;N;;;;; +109C8;MEROITIC CURSIVE NUMBER NINE;No;0;R;;;;9;N;;;;; +109C9;MEROITIC CURSIVE NUMBER TEN;No;0;R;;;;10;N;;;;; +109CA;MEROITIC CURSIVE NUMBER TWENTY;No;0;R;;;;20;N;;;;; +109CB;MEROITIC CURSIVE NUMBER THIRTY;No;0;R;;;;30;N;;;;; +109CC;MEROITIC CURSIVE NUMBER FORTY;No;0;R;;;;40;N;;;;; +109CD;MEROITIC CURSIVE NUMBER FIFTY;No;0;R;;;;50;N;;;;; +109CE;MEROITIC CURSIVE NUMBER SIXTY;No;0;R;;;;60;N;;;;; +109CF;MEROITIC CURSIVE NUMBER SEVENTY;No;0;R;;;;70;N;;;;; +109D2;MEROITIC CURSIVE NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +109D3;MEROITIC CURSIVE NUMBER TWO HUNDRED;No;0;R;;;;200;N;;;;; +109D4;MEROITIC CURSIVE NUMBER THREE HUNDRED;No;0;R;;;;300;N;;;;; +109D5;MEROITIC CURSIVE NUMBER FOUR HUNDRED;No;0;R;;;;400;N;;;;; +109D6;MEROITIC CURSIVE NUMBER FIVE HUNDRED;No;0;R;;;;500;N;;;;; +109D7;MEROITIC CURSIVE NUMBER SIX HUNDRED;No;0;R;;;;600;N;;;;; +109D8;MEROITIC CURSIVE NUMBER SEVEN HUNDRED;No;0;R;;;;700;N;;;;; +109D9;MEROITIC CURSIVE NUMBER EIGHT HUNDRED;No;0;R;;;;800;N;;;;; +109DA;MEROITIC CURSIVE NUMBER NINE HUNDRED;No;0;R;;;;900;N;;;;; +109DB;MEROITIC CURSIVE NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +109DC;MEROITIC CURSIVE NUMBER TWO THOUSAND;No;0;R;;;;2000;N;;;;; +109DD;MEROITIC CURSIVE NUMBER THREE THOUSAND;No;0;R;;;;3000;N;;;;; +109DE;MEROITIC CURSIVE NUMBER FOUR THOUSAND;No;0;R;;;;4000;N;;;;; +109DF;MEROITIC CURSIVE NUMBER FIVE THOUSAND;No;0;R;;;;5000;N;;;;; +109E0;MEROITIC CURSIVE NUMBER SIX THOUSAND;No;0;R;;;;6000;N;;;;; +109E1;MEROITIC CURSIVE NUMBER SEVEN THOUSAND;No;0;R;;;;7000;N;;;;; +109E2;MEROITIC CURSIVE NUMBER EIGHT THOUSAND;No;0;R;;;;8000;N;;;;; +109E3;MEROITIC CURSIVE NUMBER NINE THOUSAND;No;0;R;;;;9000;N;;;;; +109E4;MEROITIC CURSIVE NUMBER TEN THOUSAND;No;0;R;;;;10000;N;;;;; +109E5;MEROITIC CURSIVE NUMBER TWENTY THOUSAND;No;0;R;;;;20000;N;;;;; +109E6;MEROITIC CURSIVE NUMBER THIRTY THOUSAND;No;0;R;;;;30000;N;;;;; +109E7;MEROITIC CURSIVE NUMBER FORTY THOUSAND;No;0;R;;;;40000;N;;;;; +109E8;MEROITIC CURSIVE NUMBER FIFTY THOUSAND;No;0;R;;;;50000;N;;;;; +109E9;MEROITIC CURSIVE NUMBER SIXTY THOUSAND;No;0;R;;;;60000;N;;;;; +109EA;MEROITIC CURSIVE NUMBER SEVENTY THOUSAND;No;0;R;;;;70000;N;;;;; +109EB;MEROITIC CURSIVE NUMBER EIGHTY THOUSAND;No;0;R;;;;80000;N;;;;; +109EC;MEROITIC CURSIVE NUMBER NINETY THOUSAND;No;0;R;;;;90000;N;;;;; +109ED;MEROITIC CURSIVE NUMBER ONE HUNDRED THOUSAND;No;0;R;;;;100000;N;;;;; +109EE;MEROITIC CURSIVE NUMBER TWO HUNDRED THOUSAND;No;0;R;;;;200000;N;;;;; +109EF;MEROITIC CURSIVE NUMBER THREE HUNDRED THOUSAND;No;0;R;;;;300000;N;;;;; +109F0;MEROITIC CURSIVE NUMBER FOUR HUNDRED THOUSAND;No;0;R;;;;400000;N;;;;; +109F1;MEROITIC CURSIVE NUMBER FIVE HUNDRED THOUSAND;No;0;R;;;;500000;N;;;;; +109F2;MEROITIC CURSIVE NUMBER SIX HUNDRED THOUSAND;No;0;R;;;;600000;N;;;;; +109F3;MEROITIC CURSIVE NUMBER SEVEN HUNDRED THOUSAND;No;0;R;;;;700000;N;;;;; +109F4;MEROITIC CURSIVE NUMBER EIGHT HUNDRED THOUSAND;No;0;R;;;;800000;N;;;;; +109F5;MEROITIC CURSIVE NUMBER NINE HUNDRED THOUSAND;No;0;R;;;;900000;N;;;;; +109F6;MEROITIC CURSIVE FRACTION ONE TWELFTH;No;0;R;;;;1/12;N;;;;; +109F7;MEROITIC CURSIVE FRACTION TWO TWELFTHS;No;0;R;;;;2/12;N;;;;; +109F8;MEROITIC CURSIVE FRACTION THREE TWELFTHS;No;0;R;;;;3/12;N;;;;; +109F9;MEROITIC CURSIVE FRACTION FOUR TWELFTHS;No;0;R;;;;4/12;N;;;;; +109FA;MEROITIC CURSIVE FRACTION FIVE TWELFTHS;No;0;R;;;;5/12;N;;;;; +109FB;MEROITIC CURSIVE FRACTION SIX TWELFTHS;No;0;R;;;;6/12;N;;;;; +109FC;MEROITIC CURSIVE FRACTION SEVEN TWELFTHS;No;0;R;;;;7/12;N;;;;; +109FD;MEROITIC CURSIVE FRACTION EIGHT TWELFTHS;No;0;R;;;;8/12;N;;;;; +109FE;MEROITIC CURSIVE FRACTION NINE TWELFTHS;No;0;R;;;;9/12;N;;;;; +109FF;MEROITIC CURSIVE FRACTION TEN TWELFTHS;No;0;R;;;;10/12;N;;;;; +10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;; +10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +10A03;KHAROSHTHI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +10A05;KHAROSHTHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +10A06;KHAROSHTHI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +10A0C;KHAROSHTHI VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +10A0D;KHAROSHTHI SIGN DOUBLE RING BELOW;Mn;220;NSM;;;;;N;;;;; +10A0E;KHAROSHTHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +10A0F;KHAROSHTHI SIGN VISARGA;Mn;230;NSM;;;;;N;;;;; +10A10;KHAROSHTHI LETTER KA;Lo;0;R;;;;;N;;;;; +10A11;KHAROSHTHI LETTER KHA;Lo;0;R;;;;;N;;;;; +10A12;KHAROSHTHI LETTER GA;Lo;0;R;;;;;N;;;;; +10A13;KHAROSHTHI LETTER GHA;Lo;0;R;;;;;N;;;;; +10A15;KHAROSHTHI LETTER CA;Lo;0;R;;;;;N;;;;; +10A16;KHAROSHTHI LETTER CHA;Lo;0;R;;;;;N;;;;; +10A17;KHAROSHTHI LETTER JA;Lo;0;R;;;;;N;;;;; +10A19;KHAROSHTHI LETTER NYA;Lo;0;R;;;;;N;;;;; +10A1A;KHAROSHTHI LETTER TTA;Lo;0;R;;;;;N;;;;; +10A1B;KHAROSHTHI LETTER TTHA;Lo;0;R;;;;;N;;;;; +10A1C;KHAROSHTHI LETTER DDA;Lo;0;R;;;;;N;;;;; +10A1D;KHAROSHTHI LETTER DDHA;Lo;0;R;;;;;N;;;;; +10A1E;KHAROSHTHI LETTER NNA;Lo;0;R;;;;;N;;;;; +10A1F;KHAROSHTHI LETTER TA;Lo;0;R;;;;;N;;;;; +10A20;KHAROSHTHI LETTER THA;Lo;0;R;;;;;N;;;;; +10A21;KHAROSHTHI LETTER DA;Lo;0;R;;;;;N;;;;; +10A22;KHAROSHTHI LETTER DHA;Lo;0;R;;;;;N;;;;; +10A23;KHAROSHTHI LETTER NA;Lo;0;R;;;;;N;;;;; +10A24;KHAROSHTHI LETTER PA;Lo;0;R;;;;;N;;;;; +10A25;KHAROSHTHI LETTER PHA;Lo;0;R;;;;;N;;;;; +10A26;KHAROSHTHI LETTER BA;Lo;0;R;;;;;N;;;;; +10A27;KHAROSHTHI LETTER BHA;Lo;0;R;;;;;N;;;;; +10A28;KHAROSHTHI LETTER MA;Lo;0;R;;;;;N;;;;; +10A29;KHAROSHTHI LETTER YA;Lo;0;R;;;;;N;;;;; +10A2A;KHAROSHTHI LETTER RA;Lo;0;R;;;;;N;;;;; +10A2B;KHAROSHTHI LETTER LA;Lo;0;R;;;;;N;;;;; +10A2C;KHAROSHTHI LETTER VA;Lo;0;R;;;;;N;;;;; +10A2D;KHAROSHTHI LETTER SHA;Lo;0;R;;;;;N;;;;; +10A2E;KHAROSHTHI LETTER SSA;Lo;0;R;;;;;N;;;;; +10A2F;KHAROSHTHI LETTER SA;Lo;0;R;;;;;N;;;;; +10A30;KHAROSHTHI LETTER ZA;Lo;0;R;;;;;N;;;;; +10A31;KHAROSHTHI LETTER HA;Lo;0;R;;;;;N;;;;; +10A32;KHAROSHTHI LETTER KKA;Lo;0;R;;;;;N;;;;; +10A33;KHAROSHTHI LETTER TTTHA;Lo;0;R;;;;;N;;;;; +10A34;KHAROSHTHI LETTER TTTA;Lo;0;R;;;;;N;;;;; +10A35;KHAROSHTHI LETTER VHA;Lo;0;R;;;;;N;;;;; +10A38;KHAROSHTHI SIGN BAR ABOVE;Mn;230;NSM;;;;;N;;;;; +10A39;KHAROSHTHI SIGN CAUDA;Mn;1;NSM;;;;;N;;;;; +10A3A;KHAROSHTHI SIGN DOT BELOW;Mn;220;NSM;;;;;N;;;;; +10A3F;KHAROSHTHI VIRAMA;Mn;9;NSM;;;;;N;;;;; +10A40;KHAROSHTHI DIGIT ONE;No;0;R;;;1;1;N;;;;; +10A41;KHAROSHTHI DIGIT TWO;No;0;R;;;2;2;N;;;;; +10A42;KHAROSHTHI DIGIT THREE;No;0;R;;;3;3;N;;;;; +10A43;KHAROSHTHI DIGIT FOUR;No;0;R;;;4;4;N;;;;; +10A44;KHAROSHTHI NUMBER TEN;No;0;R;;;;10;N;;;;; +10A45;KHAROSHTHI NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10A46;KHAROSHTHI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10A47;KHAROSHTHI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +10A48;KHAROSHTHI FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;; +10A50;KHAROSHTHI PUNCTUATION DOT;Po;0;R;;;;;N;;;;; +10A51;KHAROSHTHI PUNCTUATION SMALL CIRCLE;Po;0;R;;;;;N;;;;; +10A52;KHAROSHTHI PUNCTUATION CIRCLE;Po;0;R;;;;;N;;;;; +10A53;KHAROSHTHI PUNCTUATION CRESCENT BAR;Po;0;R;;;;;N;;;;; +10A54;KHAROSHTHI PUNCTUATION MANGALAM;Po;0;R;;;;;N;;;;; +10A55;KHAROSHTHI PUNCTUATION LOTUS;Po;0;R;;;;;N;;;;; +10A56;KHAROSHTHI PUNCTUATION DANDA;Po;0;R;;;;;N;;;;; +10A57;KHAROSHTHI PUNCTUATION DOUBLE DANDA;Po;0;R;;;;;N;;;;; +10A58;KHAROSHTHI PUNCTUATION LINES;Po;0;R;;;;;N;;;;; +10A60;OLD SOUTH ARABIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10A61;OLD SOUTH ARABIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10A62;OLD SOUTH ARABIAN LETTER HETH;Lo;0;R;;;;;N;;;;; +10A63;OLD SOUTH ARABIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10A64;OLD SOUTH ARABIAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +10A65;OLD SOUTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10A66;OLD SOUTH ARABIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10A67;OLD SOUTH ARABIAN LETTER RESH;Lo;0;R;;;;;N;;;;; +10A68;OLD SOUTH ARABIAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10A69;OLD SOUTH ARABIAN LETTER TAW;Lo;0;R;;;;;N;;;;; +10A6A;OLD SOUTH ARABIAN LETTER SAT;Lo;0;R;;;;;N;;;;; +10A6B;OLD SOUTH ARABIAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10A6C;OLD SOUTH ARABIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10A6D;OLD SOUTH ARABIAN LETTER KHETH;Lo;0;R;;;;;N;;;;; +10A6E;OLD SOUTH ARABIAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +10A6F;OLD SOUTH ARABIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10A70;OLD SOUTH ARABIAN LETTER FE;Lo;0;R;;;;;N;;;;; +10A71;OLD SOUTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;; +10A72;OLD SOUTH ARABIAN LETTER AYN;Lo;0;R;;;;;N;;;;; +10A73;OLD SOUTH ARABIAN LETTER DHADHE;Lo;0;R;;;;;N;;;;; +10A74;OLD SOUTH ARABIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10A75;OLD SOUTH ARABIAN LETTER DALETH;Lo;0;R;;;;;N;;;;; +10A76;OLD SOUTH ARABIAN LETTER GHAYN;Lo;0;R;;;;;N;;;;; +10A77;OLD SOUTH ARABIAN LETTER TETH;Lo;0;R;;;;;N;;;;; +10A78;OLD SOUTH ARABIAN LETTER ZAYN;Lo;0;R;;;;;N;;;;; +10A79;OLD SOUTH ARABIAN LETTER DHALETH;Lo;0;R;;;;;N;;;;; +10A7A;OLD SOUTH ARABIAN LETTER YODH;Lo;0;R;;;;;N;;;;; +10A7B;OLD SOUTH ARABIAN LETTER THAW;Lo;0;R;;;;;N;;;;; +10A7C;OLD SOUTH ARABIAN LETTER THETH;Lo;0;R;;;;;N;;;;; +10A7D;OLD SOUTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10A7E;OLD SOUTH ARABIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;; +10A7F;OLD SOUTH ARABIAN NUMERIC INDICATOR;Po;0;R;;;;;N;;;;; +10A80;OLD NORTH ARABIAN LETTER HEH;Lo;0;R;;;;;N;;;;; +10A81;OLD NORTH ARABIAN LETTER LAM;Lo;0;R;;;;;N;;;;; +10A82;OLD NORTH ARABIAN LETTER HAH;Lo;0;R;;;;;N;;;;; +10A83;OLD NORTH ARABIAN LETTER MEEM;Lo;0;R;;;;;N;;;;; +10A84;OLD NORTH ARABIAN LETTER QAF;Lo;0;R;;;;;N;;;;; +10A85;OLD NORTH ARABIAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10A86;OLD NORTH ARABIAN LETTER ES-2;Lo;0;R;;;;;N;;;;; +10A87;OLD NORTH ARABIAN LETTER REH;Lo;0;R;;;;;N;;;;; +10A88;OLD NORTH ARABIAN LETTER BEH;Lo;0;R;;;;;N;;;;; +10A89;OLD NORTH ARABIAN LETTER TEH;Lo;0;R;;;;;N;;;;; +10A8A;OLD NORTH ARABIAN LETTER ES-1;Lo;0;R;;;;;N;;;;; +10A8B;OLD NORTH ARABIAN LETTER KAF;Lo;0;R;;;;;N;;;;; +10A8C;OLD NORTH ARABIAN LETTER NOON;Lo;0;R;;;;;N;;;;; +10A8D;OLD NORTH ARABIAN LETTER KHAH;Lo;0;R;;;;;N;;;;; +10A8E;OLD NORTH ARABIAN LETTER SAD;Lo;0;R;;;;;N;;;;; +10A8F;OLD NORTH ARABIAN LETTER ES-3;Lo;0;R;;;;;N;;;;; +10A90;OLD NORTH ARABIAN LETTER FEH;Lo;0;R;;;;;N;;;;; +10A91;OLD NORTH ARABIAN LETTER ALEF;Lo;0;R;;;;;N;;;;; +10A92;OLD NORTH ARABIAN LETTER AIN;Lo;0;R;;;;;N;;;;; +10A93;OLD NORTH ARABIAN LETTER DAD;Lo;0;R;;;;;N;;;;; +10A94;OLD NORTH ARABIAN LETTER GEEM;Lo;0;R;;;;;N;;;;; +10A95;OLD NORTH ARABIAN LETTER DAL;Lo;0;R;;;;;N;;;;; +10A96;OLD NORTH ARABIAN LETTER GHAIN;Lo;0;R;;;;;N;;;;; +10A97;OLD NORTH ARABIAN LETTER TAH;Lo;0;R;;;;;N;;;;; +10A98;OLD NORTH ARABIAN LETTER ZAIN;Lo;0;R;;;;;N;;;;; +10A99;OLD NORTH ARABIAN LETTER THAL;Lo;0;R;;;;;N;;;;; +10A9A;OLD NORTH ARABIAN LETTER YEH;Lo;0;R;;;;;N;;;;; +10A9B;OLD NORTH ARABIAN LETTER THEH;Lo;0;R;;;;;N;;;;; +10A9C;OLD NORTH ARABIAN LETTER ZAH;Lo;0;R;;;;;N;;;;; +10A9D;OLD NORTH ARABIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10A9E;OLD NORTH ARABIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10A9F;OLD NORTH ARABIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10AC0;MANICHAEAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10AC1;MANICHAEAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10AC2;MANICHAEAN LETTER BHETH;Lo;0;R;;;;;N;;;;; +10AC3;MANICHAEAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10AC4;MANICHAEAN LETTER GHIMEL;Lo;0;R;;;;;N;;;;; +10AC5;MANICHAEAN LETTER DALETH;Lo;0;R;;;;;N;;;;; +10AC6;MANICHAEAN LETTER HE;Lo;0;R;;;;;N;;;;; +10AC7;MANICHAEAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10AC8;MANICHAEAN SIGN UD;So;0;R;;;;;N;;;;; +10AC9;MANICHAEAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10ACA;MANICHAEAN LETTER ZHAYIN;Lo;0;R;;;;;N;;;;; +10ACB;MANICHAEAN LETTER JAYIN;Lo;0;R;;;;;N;;;;; +10ACC;MANICHAEAN LETTER JHAYIN;Lo;0;R;;;;;N;;;;; +10ACD;MANICHAEAN LETTER HETH;Lo;0;R;;;;;N;;;;; +10ACE;MANICHAEAN LETTER TETH;Lo;0;R;;;;;N;;;;; +10ACF;MANICHAEAN LETTER YODH;Lo;0;R;;;;;N;;;;; +10AD0;MANICHAEAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10AD1;MANICHAEAN LETTER XAPH;Lo;0;R;;;;;N;;;;; +10AD2;MANICHAEAN LETTER KHAPH;Lo;0;R;;;;;N;;;;; +10AD3;MANICHAEAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10AD4;MANICHAEAN LETTER DHAMEDH;Lo;0;R;;;;;N;;;;; +10AD5;MANICHAEAN LETTER THAMEDH;Lo;0;R;;;;;N;;;;; +10AD6;MANICHAEAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10AD7;MANICHAEAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10AD8;MANICHAEAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10AD9;MANICHAEAN LETTER AYIN;Lo;0;R;;;;;N;;;;; +10ADA;MANICHAEAN LETTER AAYIN;Lo;0;R;;;;;N;;;;; +10ADB;MANICHAEAN LETTER PE;Lo;0;R;;;;;N;;;;; +10ADC;MANICHAEAN LETTER FE;Lo;0;R;;;;;N;;;;; +10ADD;MANICHAEAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +10ADE;MANICHAEAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +10ADF;MANICHAEAN LETTER XOPH;Lo;0;R;;;;;N;;;;; +10AE0;MANICHAEAN LETTER QHOPH;Lo;0;R;;;;;N;;;;; +10AE1;MANICHAEAN LETTER RESH;Lo;0;R;;;;;N;;;;; +10AE2;MANICHAEAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10AE3;MANICHAEAN LETTER SSHIN;Lo;0;R;;;;;N;;;;; +10AE4;MANICHAEAN LETTER TAW;Lo;0;R;;;;;N;;;;; +10AE5;MANICHAEAN ABBREVIATION MARK ABOVE;Mn;230;NSM;;;;;N;;;;; +10AE6;MANICHAEAN ABBREVIATION MARK BELOW;Mn;220;NSM;;;;;N;;;;; +10AEB;MANICHAEAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10AEC;MANICHAEAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +10AED;MANICHAEAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10AEE;MANICHAEAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10AEF;MANICHAEAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10AF0;MANICHAEAN PUNCTUATION STAR;Po;0;R;;;;;N;;;;; +10AF1;MANICHAEAN PUNCTUATION FLEURON;Po;0;R;;;;;N;;;;; +10AF2;MANICHAEAN PUNCTUATION DOUBLE DOT WITHIN DOT;Po;0;R;;;;;N;;;;; +10AF3;MANICHAEAN PUNCTUATION DOT WITHIN DOT;Po;0;R;;;;;N;;;;; +10AF4;MANICHAEAN PUNCTUATION DOT;Po;0;R;;;;;N;;;;; +10AF5;MANICHAEAN PUNCTUATION TWO DOTS;Po;0;R;;;;;N;;;;; +10AF6;MANICHAEAN PUNCTUATION LINE FILLER;Po;0;R;;;;;N;;;;; +10B00;AVESTAN LETTER A;Lo;0;R;;;;;N;;;;; +10B01;AVESTAN LETTER AA;Lo;0;R;;;;;N;;;;; +10B02;AVESTAN LETTER AO;Lo;0;R;;;;;N;;;;; +10B03;AVESTAN LETTER AAO;Lo;0;R;;;;;N;;;;; +10B04;AVESTAN LETTER AN;Lo;0;R;;;;;N;;;;; +10B05;AVESTAN LETTER AAN;Lo;0;R;;;;;N;;;;; +10B06;AVESTAN LETTER AE;Lo;0;R;;;;;N;;;;; +10B07;AVESTAN LETTER AEE;Lo;0;R;;;;;N;;;;; +10B08;AVESTAN LETTER E;Lo;0;R;;;;;N;;;;; +10B09;AVESTAN LETTER EE;Lo;0;R;;;;;N;;;;; +10B0A;AVESTAN LETTER O;Lo;0;R;;;;;N;;;;; +10B0B;AVESTAN LETTER OO;Lo;0;R;;;;;N;;;;; +10B0C;AVESTAN LETTER I;Lo;0;R;;;;;N;;;;; +10B0D;AVESTAN LETTER II;Lo;0;R;;;;;N;;;;; +10B0E;AVESTAN LETTER U;Lo;0;R;;;;;N;;;;; +10B0F;AVESTAN LETTER UU;Lo;0;R;;;;;N;;;;; +10B10;AVESTAN LETTER KE;Lo;0;R;;;;;N;;;;; +10B11;AVESTAN LETTER XE;Lo;0;R;;;;;N;;;;; +10B12;AVESTAN LETTER XYE;Lo;0;R;;;;;N;;;;; +10B13;AVESTAN LETTER XVE;Lo;0;R;;;;;N;;;;; +10B14;AVESTAN LETTER GE;Lo;0;R;;;;;N;;;;; +10B15;AVESTAN LETTER GGE;Lo;0;R;;;;;N;;;;; +10B16;AVESTAN LETTER GHE;Lo;0;R;;;;;N;;;;; +10B17;AVESTAN LETTER CE;Lo;0;R;;;;;N;;;;; +10B18;AVESTAN LETTER JE;Lo;0;R;;;;;N;;;;; +10B19;AVESTAN LETTER TE;Lo;0;R;;;;;N;;;;; +10B1A;AVESTAN LETTER THE;Lo;0;R;;;;;N;;;;; +10B1B;AVESTAN LETTER DE;Lo;0;R;;;;;N;;;;; +10B1C;AVESTAN LETTER DHE;Lo;0;R;;;;;N;;;;; +10B1D;AVESTAN LETTER TTE;Lo;0;R;;;;;N;;;;; +10B1E;AVESTAN LETTER PE;Lo;0;R;;;;;N;;;;; +10B1F;AVESTAN LETTER FE;Lo;0;R;;;;;N;;;;; +10B20;AVESTAN LETTER BE;Lo;0;R;;;;;N;;;;; +10B21;AVESTAN LETTER BHE;Lo;0;R;;;;;N;;;;; +10B22;AVESTAN LETTER NGE;Lo;0;R;;;;;N;;;;; +10B23;AVESTAN LETTER NGYE;Lo;0;R;;;;;N;;;;; +10B24;AVESTAN LETTER NGVE;Lo;0;R;;;;;N;;;;; +10B25;AVESTAN LETTER NE;Lo;0;R;;;;;N;;;;; +10B26;AVESTAN LETTER NYE;Lo;0;R;;;;;N;;;;; +10B27;AVESTAN LETTER NNE;Lo;0;R;;;;;N;;;;; +10B28;AVESTAN LETTER ME;Lo;0;R;;;;;N;;;;; +10B29;AVESTAN LETTER HME;Lo;0;R;;;;;N;;;;; +10B2A;AVESTAN LETTER YYE;Lo;0;R;;;;;N;;;;; +10B2B;AVESTAN LETTER YE;Lo;0;R;;;;;N;;;;; +10B2C;AVESTAN LETTER VE;Lo;0;R;;;;;N;;;;; +10B2D;AVESTAN LETTER RE;Lo;0;R;;;;;N;;;;; +10B2E;AVESTAN LETTER LE;Lo;0;R;;;;;N;;;;; +10B2F;AVESTAN LETTER SE;Lo;0;R;;;;;N;;;;; +10B30;AVESTAN LETTER ZE;Lo;0;R;;;;;N;;;;; +10B31;AVESTAN LETTER SHE;Lo;0;R;;;;;N;;;;; +10B32;AVESTAN LETTER ZHE;Lo;0;R;;;;;N;;;;; +10B33;AVESTAN LETTER SHYE;Lo;0;R;;;;;N;;;;; +10B34;AVESTAN LETTER SSHE;Lo;0;R;;;;;N;;;;; +10B35;AVESTAN LETTER HE;Lo;0;R;;;;;N;;;;; +10B39;AVESTAN ABBREVIATION MARK;Po;0;ON;;;;;N;;;;; +10B3A;TINY TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B3B;SMALL TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B3C;LARGE TWO DOTS OVER ONE DOT PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B3D;LARGE ONE DOT OVER TWO DOTS PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B3E;LARGE TWO RINGS OVER ONE RING PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B3F;LARGE ONE RING OVER TWO RINGS PUNCTUATION;Po;0;ON;;;;;N;;;;; +10B40;INSCRIPTIONAL PARTHIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10B41;INSCRIPTIONAL PARTHIAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10B42;INSCRIPTIONAL PARTHIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10B43;INSCRIPTIONAL PARTHIAN LETTER DALETH;Lo;0;R;;;;;N;;;;; +10B44;INSCRIPTIONAL PARTHIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10B45;INSCRIPTIONAL PARTHIAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10B46;INSCRIPTIONAL PARTHIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10B47;INSCRIPTIONAL PARTHIAN LETTER HETH;Lo;0;R;;;;;N;;;;; +10B48;INSCRIPTIONAL PARTHIAN LETTER TETH;Lo;0;R;;;;;N;;;;; +10B49;INSCRIPTIONAL PARTHIAN LETTER YODH;Lo;0;R;;;;;N;;;;; +10B4A;INSCRIPTIONAL PARTHIAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10B4B;INSCRIPTIONAL PARTHIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10B4C;INSCRIPTIONAL PARTHIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10B4D;INSCRIPTIONAL PARTHIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10B4E;INSCRIPTIONAL PARTHIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10B4F;INSCRIPTIONAL PARTHIAN LETTER AYIN;Lo;0;R;;;;;N;;;;; +10B50;INSCRIPTIONAL PARTHIAN LETTER PE;Lo;0;R;;;;;N;;;;; +10B51;INSCRIPTIONAL PARTHIAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +10B52;INSCRIPTIONAL PARTHIAN LETTER QOPH;Lo;0;R;;;;;N;;;;; +10B53;INSCRIPTIONAL PARTHIAN LETTER RESH;Lo;0;R;;;;;N;;;;; +10B54;INSCRIPTIONAL PARTHIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10B55;INSCRIPTIONAL PARTHIAN LETTER TAW;Lo;0;R;;;;;N;;;;; +10B58;INSCRIPTIONAL PARTHIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10B59;INSCRIPTIONAL PARTHIAN NUMBER TWO;No;0;R;;;;2;N;;;;; +10B5A;INSCRIPTIONAL PARTHIAN NUMBER THREE;No;0;R;;;;3;N;;;;; +10B5B;INSCRIPTIONAL PARTHIAN NUMBER FOUR;No;0;R;;;;4;N;;;;; +10B5C;INSCRIPTIONAL PARTHIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10B5D;INSCRIPTIONAL PARTHIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10B5E;INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10B5F;INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +10B60;INSCRIPTIONAL PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10B61;INSCRIPTIONAL PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;; +10B62;INSCRIPTIONAL PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10B63;INSCRIPTIONAL PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;; +10B64;INSCRIPTIONAL PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;; +10B65;INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;; +10B66;INSCRIPTIONAL PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10B67;INSCRIPTIONAL PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;; +10B68;INSCRIPTIONAL PAHLAVI LETTER TETH;Lo;0;R;;;;;N;;;;; +10B69;INSCRIPTIONAL PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;; +10B6A;INSCRIPTIONAL PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;; +10B6B;INSCRIPTIONAL PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10B6C;INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;; +10B6D;INSCRIPTIONAL PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;; +10B6E;INSCRIPTIONAL PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10B6F;INSCRIPTIONAL PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;; +10B70;INSCRIPTIONAL PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;; +10B71;INSCRIPTIONAL PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;; +10B72;INSCRIPTIONAL PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;; +10B78;INSCRIPTIONAL PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;; +10B79;INSCRIPTIONAL PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;; +10B7A;INSCRIPTIONAL PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;; +10B7B;INSCRIPTIONAL PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;; +10B7C;INSCRIPTIONAL PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;; +10B7D;INSCRIPTIONAL PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10B7E;INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10B7F;INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +10B80;PSALTER PAHLAVI LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10B81;PSALTER PAHLAVI LETTER BETH;Lo;0;R;;;;;N;;;;; +10B82;PSALTER PAHLAVI LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10B83;PSALTER PAHLAVI LETTER DALETH;Lo;0;R;;;;;N;;;;; +10B84;PSALTER PAHLAVI LETTER HE;Lo;0;R;;;;;N;;;;; +10B85;PSALTER PAHLAVI LETTER WAW-AYIN-RESH;Lo;0;R;;;;;N;;;;; +10B86;PSALTER PAHLAVI LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10B87;PSALTER PAHLAVI LETTER HETH;Lo;0;R;;;;;N;;;;; +10B88;PSALTER PAHLAVI LETTER YODH;Lo;0;R;;;;;N;;;;; +10B89;PSALTER PAHLAVI LETTER KAPH;Lo;0;R;;;;;N;;;;; +10B8A;PSALTER PAHLAVI LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10B8B;PSALTER PAHLAVI LETTER MEM-QOPH;Lo;0;R;;;;;N;;;;; +10B8C;PSALTER PAHLAVI LETTER NUN;Lo;0;R;;;;;N;;;;; +10B8D;PSALTER PAHLAVI LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10B8E;PSALTER PAHLAVI LETTER PE;Lo;0;R;;;;;N;;;;; +10B8F;PSALTER PAHLAVI LETTER SADHE;Lo;0;R;;;;;N;;;;; +10B90;PSALTER PAHLAVI LETTER SHIN;Lo;0;R;;;;;N;;;;; +10B91;PSALTER PAHLAVI LETTER TAW;Lo;0;R;;;;;N;;;;; +10B99;PSALTER PAHLAVI SECTION MARK;Po;0;R;;;;;N;;;;; +10B9A;PSALTER PAHLAVI TURNED SECTION MARK;Po;0;R;;;;;N;;;;; +10B9B;PSALTER PAHLAVI FOUR DOTS WITH CROSS;Po;0;R;;;;;N;;;;; +10B9C;PSALTER PAHLAVI FOUR DOTS WITH DOT;Po;0;R;;;;;N;;;;; +10BA9;PSALTER PAHLAVI NUMBER ONE;No;0;R;;;;1;N;;;;; +10BAA;PSALTER PAHLAVI NUMBER TWO;No;0;R;;;;2;N;;;;; +10BAB;PSALTER PAHLAVI NUMBER THREE;No;0;R;;;;3;N;;;;; +10BAC;PSALTER PAHLAVI NUMBER FOUR;No;0;R;;;;4;N;;;;; +10BAD;PSALTER PAHLAVI NUMBER TEN;No;0;R;;;;10;N;;;;; +10BAE;PSALTER PAHLAVI NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10BAF;PSALTER PAHLAVI NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10C00;OLD TURKIC LETTER ORKHON A;Lo;0;R;;;;;N;;;;; +10C01;OLD TURKIC LETTER YENISEI A;Lo;0;R;;;;;N;;;;; +10C02;OLD TURKIC LETTER YENISEI AE;Lo;0;R;;;;;N;;;;; +10C03;OLD TURKIC LETTER ORKHON I;Lo;0;R;;;;;N;;;;; +10C04;OLD TURKIC LETTER YENISEI I;Lo;0;R;;;;;N;;;;; +10C05;OLD TURKIC LETTER YENISEI E;Lo;0;R;;;;;N;;;;; +10C06;OLD TURKIC LETTER ORKHON O;Lo;0;R;;;;;N;;;;; +10C07;OLD TURKIC LETTER ORKHON OE;Lo;0;R;;;;;N;;;;; +10C08;OLD TURKIC LETTER YENISEI OE;Lo;0;R;;;;;N;;;;; +10C09;OLD TURKIC LETTER ORKHON AB;Lo;0;R;;;;;N;;;;; +10C0A;OLD TURKIC LETTER YENISEI AB;Lo;0;R;;;;;N;;;;; +10C0B;OLD TURKIC LETTER ORKHON AEB;Lo;0;R;;;;;N;;;;; +10C0C;OLD TURKIC LETTER YENISEI AEB;Lo;0;R;;;;;N;;;;; +10C0D;OLD TURKIC LETTER ORKHON AG;Lo;0;R;;;;;N;;;;; +10C0E;OLD TURKIC LETTER YENISEI AG;Lo;0;R;;;;;N;;;;; +10C0F;OLD TURKIC LETTER ORKHON AEG;Lo;0;R;;;;;N;;;;; +10C10;OLD TURKIC LETTER YENISEI AEG;Lo;0;R;;;;;N;;;;; +10C11;OLD TURKIC LETTER ORKHON AD;Lo;0;R;;;;;N;;;;; +10C12;OLD TURKIC LETTER YENISEI AD;Lo;0;R;;;;;N;;;;; +10C13;OLD TURKIC LETTER ORKHON AED;Lo;0;R;;;;;N;;;;; +10C14;OLD TURKIC LETTER ORKHON EZ;Lo;0;R;;;;;N;;;;; +10C15;OLD TURKIC LETTER YENISEI EZ;Lo;0;R;;;;;N;;;;; +10C16;OLD TURKIC LETTER ORKHON AY;Lo;0;R;;;;;N;;;;; +10C17;OLD TURKIC LETTER YENISEI AY;Lo;0;R;;;;;N;;;;; +10C18;OLD TURKIC LETTER ORKHON AEY;Lo;0;R;;;;;N;;;;; +10C19;OLD TURKIC LETTER YENISEI AEY;Lo;0;R;;;;;N;;;;; +10C1A;OLD TURKIC LETTER ORKHON AEK;Lo;0;R;;;;;N;;;;; +10C1B;OLD TURKIC LETTER YENISEI AEK;Lo;0;R;;;;;N;;;;; +10C1C;OLD TURKIC LETTER ORKHON OEK;Lo;0;R;;;;;N;;;;; +10C1D;OLD TURKIC LETTER YENISEI OEK;Lo;0;R;;;;;N;;;;; +10C1E;OLD TURKIC LETTER ORKHON AL;Lo;0;R;;;;;N;;;;; +10C1F;OLD TURKIC LETTER YENISEI AL;Lo;0;R;;;;;N;;;;; +10C20;OLD TURKIC LETTER ORKHON AEL;Lo;0;R;;;;;N;;;;; +10C21;OLD TURKIC LETTER ORKHON ELT;Lo;0;R;;;;;N;;;;; +10C22;OLD TURKIC LETTER ORKHON EM;Lo;0;R;;;;;N;;;;; +10C23;OLD TURKIC LETTER ORKHON AN;Lo;0;R;;;;;N;;;;; +10C24;OLD TURKIC LETTER ORKHON AEN;Lo;0;R;;;;;N;;;;; +10C25;OLD TURKIC LETTER YENISEI AEN;Lo;0;R;;;;;N;;;;; +10C26;OLD TURKIC LETTER ORKHON ENT;Lo;0;R;;;;;N;;;;; +10C27;OLD TURKIC LETTER YENISEI ENT;Lo;0;R;;;;;N;;;;; +10C28;OLD TURKIC LETTER ORKHON ENC;Lo;0;R;;;;;N;;;;; +10C29;OLD TURKIC LETTER YENISEI ENC;Lo;0;R;;;;;N;;;;; +10C2A;OLD TURKIC LETTER ORKHON ENY;Lo;0;R;;;;;N;;;;; +10C2B;OLD TURKIC LETTER YENISEI ENY;Lo;0;R;;;;;N;;;;; +10C2C;OLD TURKIC LETTER YENISEI ANG;Lo;0;R;;;;;N;;;;; +10C2D;OLD TURKIC LETTER ORKHON ENG;Lo;0;R;;;;;N;;;;; +10C2E;OLD TURKIC LETTER YENISEI AENG;Lo;0;R;;;;;N;;;;; +10C2F;OLD TURKIC LETTER ORKHON EP;Lo;0;R;;;;;N;;;;; +10C30;OLD TURKIC LETTER ORKHON OP;Lo;0;R;;;;;N;;;;; +10C31;OLD TURKIC LETTER ORKHON IC;Lo;0;R;;;;;N;;;;; +10C32;OLD TURKIC LETTER ORKHON EC;Lo;0;R;;;;;N;;;;; +10C33;OLD TURKIC LETTER YENISEI EC;Lo;0;R;;;;;N;;;;; +10C34;OLD TURKIC LETTER ORKHON AQ;Lo;0;R;;;;;N;;;;; +10C35;OLD TURKIC LETTER YENISEI AQ;Lo;0;R;;;;;N;;;;; +10C36;OLD TURKIC LETTER ORKHON IQ;Lo;0;R;;;;;N;;;;; +10C37;OLD TURKIC LETTER YENISEI IQ;Lo;0;R;;;;;N;;;;; +10C38;OLD TURKIC LETTER ORKHON OQ;Lo;0;R;;;;;N;;;;; +10C39;OLD TURKIC LETTER YENISEI OQ;Lo;0;R;;;;;N;;;;; +10C3A;OLD TURKIC LETTER ORKHON AR;Lo;0;R;;;;;N;;;;; +10C3B;OLD TURKIC LETTER YENISEI AR;Lo;0;R;;;;;N;;;;; +10C3C;OLD TURKIC LETTER ORKHON AER;Lo;0;R;;;;;N;;;;; +10C3D;OLD TURKIC LETTER ORKHON AS;Lo;0;R;;;;;N;;;;; +10C3E;OLD TURKIC LETTER ORKHON AES;Lo;0;R;;;;;N;;;;; +10C3F;OLD TURKIC LETTER ORKHON ASH;Lo;0;R;;;;;N;;;;; +10C40;OLD TURKIC LETTER YENISEI ASH;Lo;0;R;;;;;N;;;;; +10C41;OLD TURKIC LETTER ORKHON ESH;Lo;0;R;;;;;N;;;;; +10C42;OLD TURKIC LETTER YENISEI ESH;Lo;0;R;;;;;N;;;;; +10C43;OLD TURKIC LETTER ORKHON AT;Lo;0;R;;;;;N;;;;; +10C44;OLD TURKIC LETTER YENISEI AT;Lo;0;R;;;;;N;;;;; +10C45;OLD TURKIC LETTER ORKHON AET;Lo;0;R;;;;;N;;;;; +10C46;OLD TURKIC LETTER YENISEI AET;Lo;0;R;;;;;N;;;;; +10C47;OLD TURKIC LETTER ORKHON OT;Lo;0;R;;;;;N;;;;; +10C48;OLD TURKIC LETTER ORKHON BASH;Lo;0;R;;;;;N;;;;; +10C80;OLD HUNGARIAN CAPITAL LETTER A;Lu;0;R;;;;;N;;;;10CC0; +10C81;OLD HUNGARIAN CAPITAL LETTER AA;Lu;0;R;;;;;N;;;;10CC1; +10C82;OLD HUNGARIAN CAPITAL LETTER EB;Lu;0;R;;;;;N;;;;10CC2; +10C83;OLD HUNGARIAN CAPITAL LETTER AMB;Lu;0;R;;;;;N;;;;10CC3; +10C84;OLD HUNGARIAN CAPITAL LETTER EC;Lu;0;R;;;;;N;;;;10CC4; +10C85;OLD HUNGARIAN CAPITAL LETTER ENC;Lu;0;R;;;;;N;;;;10CC5; +10C86;OLD HUNGARIAN CAPITAL LETTER ECS;Lu;0;R;;;;;N;;;;10CC6; +10C87;OLD HUNGARIAN CAPITAL LETTER ED;Lu;0;R;;;;;N;;;;10CC7; +10C88;OLD HUNGARIAN CAPITAL LETTER AND;Lu;0;R;;;;;N;;;;10CC8; +10C89;OLD HUNGARIAN CAPITAL LETTER E;Lu;0;R;;;;;N;;;;10CC9; +10C8A;OLD HUNGARIAN CAPITAL LETTER CLOSE E;Lu;0;R;;;;;N;;;;10CCA; +10C8B;OLD HUNGARIAN CAPITAL LETTER EE;Lu;0;R;;;;;N;;;;10CCB; +10C8C;OLD HUNGARIAN CAPITAL LETTER EF;Lu;0;R;;;;;N;;;;10CCC; +10C8D;OLD HUNGARIAN CAPITAL LETTER EG;Lu;0;R;;;;;N;;;;10CCD; +10C8E;OLD HUNGARIAN CAPITAL LETTER EGY;Lu;0;R;;;;;N;;;;10CCE; +10C8F;OLD HUNGARIAN CAPITAL LETTER EH;Lu;0;R;;;;;N;;;;10CCF; +10C90;OLD HUNGARIAN CAPITAL LETTER I;Lu;0;R;;;;;N;;;;10CD0; +10C91;OLD HUNGARIAN CAPITAL LETTER II;Lu;0;R;;;;;N;;;;10CD1; +10C92;OLD HUNGARIAN CAPITAL LETTER EJ;Lu;0;R;;;;;N;;;;10CD2; +10C93;OLD HUNGARIAN CAPITAL LETTER EK;Lu;0;R;;;;;N;;;;10CD3; +10C94;OLD HUNGARIAN CAPITAL LETTER AK;Lu;0;R;;;;;N;;;;10CD4; +10C95;OLD HUNGARIAN CAPITAL LETTER UNK;Lu;0;R;;;;;N;;;;10CD5; +10C96;OLD HUNGARIAN CAPITAL LETTER EL;Lu;0;R;;;;;N;;;;10CD6; +10C97;OLD HUNGARIAN CAPITAL LETTER ELY;Lu;0;R;;;;;N;;;;10CD7; +10C98;OLD HUNGARIAN CAPITAL LETTER EM;Lu;0;R;;;;;N;;;;10CD8; +10C99;OLD HUNGARIAN CAPITAL LETTER EN;Lu;0;R;;;;;N;;;;10CD9; +10C9A;OLD HUNGARIAN CAPITAL LETTER ENY;Lu;0;R;;;;;N;;;;10CDA; +10C9B;OLD HUNGARIAN CAPITAL LETTER O;Lu;0;R;;;;;N;;;;10CDB; +10C9C;OLD HUNGARIAN CAPITAL LETTER OO;Lu;0;R;;;;;N;;;;10CDC; +10C9D;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG OE;Lu;0;R;;;;;N;;;;10CDD; +10C9E;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA OE;Lu;0;R;;;;;N;;;;10CDE; +10C9F;OLD HUNGARIAN CAPITAL LETTER OEE;Lu;0;R;;;;;N;;;;10CDF; +10CA0;OLD HUNGARIAN CAPITAL LETTER EP;Lu;0;R;;;;;N;;;;10CE0; +10CA1;OLD HUNGARIAN CAPITAL LETTER EMP;Lu;0;R;;;;;N;;;;10CE1; +10CA2;OLD HUNGARIAN CAPITAL LETTER ER;Lu;0;R;;;;;N;;;;10CE2; +10CA3;OLD HUNGARIAN CAPITAL LETTER SHORT ER;Lu;0;R;;;;;N;;;;10CE3; +10CA4;OLD HUNGARIAN CAPITAL LETTER ES;Lu;0;R;;;;;N;;;;10CE4; +10CA5;OLD HUNGARIAN CAPITAL LETTER ESZ;Lu;0;R;;;;;N;;;;10CE5; +10CA6;OLD HUNGARIAN CAPITAL LETTER ET;Lu;0;R;;;;;N;;;;10CE6; +10CA7;OLD HUNGARIAN CAPITAL LETTER ENT;Lu;0;R;;;;;N;;;;10CE7; +10CA8;OLD HUNGARIAN CAPITAL LETTER ETY;Lu;0;R;;;;;N;;;;10CE8; +10CA9;OLD HUNGARIAN CAPITAL LETTER ECH;Lu;0;R;;;;;N;;;;10CE9; +10CAA;OLD HUNGARIAN CAPITAL LETTER U;Lu;0;R;;;;;N;;;;10CEA; +10CAB;OLD HUNGARIAN CAPITAL LETTER UU;Lu;0;R;;;;;N;;;;10CEB; +10CAC;OLD HUNGARIAN CAPITAL LETTER NIKOLSBURG UE;Lu;0;R;;;;;N;;;;10CEC; +10CAD;OLD HUNGARIAN CAPITAL LETTER RUDIMENTA UE;Lu;0;R;;;;;N;;;;10CED; +10CAE;OLD HUNGARIAN CAPITAL LETTER EV;Lu;0;R;;;;;N;;;;10CEE; +10CAF;OLD HUNGARIAN CAPITAL LETTER EZ;Lu;0;R;;;;;N;;;;10CEF; +10CB0;OLD HUNGARIAN CAPITAL LETTER EZS;Lu;0;R;;;;;N;;;;10CF0; +10CB1;OLD HUNGARIAN CAPITAL LETTER ENT-SHAPED SIGN;Lu;0;R;;;;;N;;;;10CF1; +10CB2;OLD HUNGARIAN CAPITAL LETTER US;Lu;0;R;;;;;N;;;;10CF2; +10CC0;OLD HUNGARIAN SMALL LETTER A;Ll;0;R;;;;;N;;;10C80;;10C80 +10CC1;OLD HUNGARIAN SMALL LETTER AA;Ll;0;R;;;;;N;;;10C81;;10C81 +10CC2;OLD HUNGARIAN SMALL LETTER EB;Ll;0;R;;;;;N;;;10C82;;10C82 +10CC3;OLD HUNGARIAN SMALL LETTER AMB;Ll;0;R;;;;;N;;;10C83;;10C83 +10CC4;OLD HUNGARIAN SMALL LETTER EC;Ll;0;R;;;;;N;;;10C84;;10C84 +10CC5;OLD HUNGARIAN SMALL LETTER ENC;Ll;0;R;;;;;N;;;10C85;;10C85 +10CC6;OLD HUNGARIAN SMALL LETTER ECS;Ll;0;R;;;;;N;;;10C86;;10C86 +10CC7;OLD HUNGARIAN SMALL LETTER ED;Ll;0;R;;;;;N;;;10C87;;10C87 +10CC8;OLD HUNGARIAN SMALL LETTER AND;Ll;0;R;;;;;N;;;10C88;;10C88 +10CC9;OLD HUNGARIAN SMALL LETTER E;Ll;0;R;;;;;N;;;10C89;;10C89 +10CCA;OLD HUNGARIAN SMALL LETTER CLOSE E;Ll;0;R;;;;;N;;;10C8A;;10C8A +10CCB;OLD HUNGARIAN SMALL LETTER EE;Ll;0;R;;;;;N;;;10C8B;;10C8B +10CCC;OLD HUNGARIAN SMALL LETTER EF;Ll;0;R;;;;;N;;;10C8C;;10C8C +10CCD;OLD HUNGARIAN SMALL LETTER EG;Ll;0;R;;;;;N;;;10C8D;;10C8D +10CCE;OLD HUNGARIAN SMALL LETTER EGY;Ll;0;R;;;;;N;;;10C8E;;10C8E +10CCF;OLD HUNGARIAN SMALL LETTER EH;Ll;0;R;;;;;N;;;10C8F;;10C8F +10CD0;OLD HUNGARIAN SMALL LETTER I;Ll;0;R;;;;;N;;;10C90;;10C90 +10CD1;OLD HUNGARIAN SMALL LETTER II;Ll;0;R;;;;;N;;;10C91;;10C91 +10CD2;OLD HUNGARIAN SMALL LETTER EJ;Ll;0;R;;;;;N;;;10C92;;10C92 +10CD3;OLD HUNGARIAN SMALL LETTER EK;Ll;0;R;;;;;N;;;10C93;;10C93 +10CD4;OLD HUNGARIAN SMALL LETTER AK;Ll;0;R;;;;;N;;;10C94;;10C94 +10CD5;OLD HUNGARIAN SMALL LETTER UNK;Ll;0;R;;;;;N;;;10C95;;10C95 +10CD6;OLD HUNGARIAN SMALL LETTER EL;Ll;0;R;;;;;N;;;10C96;;10C96 +10CD7;OLD HUNGARIAN SMALL LETTER ELY;Ll;0;R;;;;;N;;;10C97;;10C97 +10CD8;OLD HUNGARIAN SMALL LETTER EM;Ll;0;R;;;;;N;;;10C98;;10C98 +10CD9;OLD HUNGARIAN SMALL LETTER EN;Ll;0;R;;;;;N;;;10C99;;10C99 +10CDA;OLD HUNGARIAN SMALL LETTER ENY;Ll;0;R;;;;;N;;;10C9A;;10C9A +10CDB;OLD HUNGARIAN SMALL LETTER O;Ll;0;R;;;;;N;;;10C9B;;10C9B +10CDC;OLD HUNGARIAN SMALL LETTER OO;Ll;0;R;;;;;N;;;10C9C;;10C9C +10CDD;OLD HUNGARIAN SMALL LETTER NIKOLSBURG OE;Ll;0;R;;;;;N;;;10C9D;;10C9D +10CDE;OLD HUNGARIAN SMALL LETTER RUDIMENTA OE;Ll;0;R;;;;;N;;;10C9E;;10C9E +10CDF;OLD HUNGARIAN SMALL LETTER OEE;Ll;0;R;;;;;N;;;10C9F;;10C9F +10CE0;OLD HUNGARIAN SMALL LETTER EP;Ll;0;R;;;;;N;;;10CA0;;10CA0 +10CE1;OLD HUNGARIAN SMALL LETTER EMP;Ll;0;R;;;;;N;;;10CA1;;10CA1 +10CE2;OLD HUNGARIAN SMALL LETTER ER;Ll;0;R;;;;;N;;;10CA2;;10CA2 +10CE3;OLD HUNGARIAN SMALL LETTER SHORT ER;Ll;0;R;;;;;N;;;10CA3;;10CA3 +10CE4;OLD HUNGARIAN SMALL LETTER ES;Ll;0;R;;;;;N;;;10CA4;;10CA4 +10CE5;OLD HUNGARIAN SMALL LETTER ESZ;Ll;0;R;;;;;N;;;10CA5;;10CA5 +10CE6;OLD HUNGARIAN SMALL LETTER ET;Ll;0;R;;;;;N;;;10CA6;;10CA6 +10CE7;OLD HUNGARIAN SMALL LETTER ENT;Ll;0;R;;;;;N;;;10CA7;;10CA7 +10CE8;OLD HUNGARIAN SMALL LETTER ETY;Ll;0;R;;;;;N;;;10CA8;;10CA8 +10CE9;OLD HUNGARIAN SMALL LETTER ECH;Ll;0;R;;;;;N;;;10CA9;;10CA9 +10CEA;OLD HUNGARIAN SMALL LETTER U;Ll;0;R;;;;;N;;;10CAA;;10CAA +10CEB;OLD HUNGARIAN SMALL LETTER UU;Ll;0;R;;;;;N;;;10CAB;;10CAB +10CEC;OLD HUNGARIAN SMALL LETTER NIKOLSBURG UE;Ll;0;R;;;;;N;;;10CAC;;10CAC +10CED;OLD HUNGARIAN SMALL LETTER RUDIMENTA UE;Ll;0;R;;;;;N;;;10CAD;;10CAD +10CEE;OLD HUNGARIAN SMALL LETTER EV;Ll;0;R;;;;;N;;;10CAE;;10CAE +10CEF;OLD HUNGARIAN SMALL LETTER EZ;Ll;0;R;;;;;N;;;10CAF;;10CAF +10CF0;OLD HUNGARIAN SMALL LETTER EZS;Ll;0;R;;;;;N;;;10CB0;;10CB0 +10CF1;OLD HUNGARIAN SMALL LETTER ENT-SHAPED SIGN;Ll;0;R;;;;;N;;;10CB1;;10CB1 +10CF2;OLD HUNGARIAN SMALL LETTER US;Ll;0;R;;;;;N;;;10CB2;;10CB2 +10CFA;OLD HUNGARIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10CFB;OLD HUNGARIAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +10CFC;OLD HUNGARIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10CFD;OLD HUNGARIAN NUMBER FIFTY;No;0;R;;;;50;N;;;;; +10CFE;OLD HUNGARIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10CFF;OLD HUNGARIAN NUMBER ONE THOUSAND;No;0;R;;;;1000;N;;;;; +10D00;HANIFI ROHINGYA LETTER A;Lo;0;AL;;;;;N;;;;; +10D01;HANIFI ROHINGYA LETTER BA;Lo;0;AL;;;;;N;;;;; +10D02;HANIFI ROHINGYA LETTER PA;Lo;0;AL;;;;;N;;;;; +10D03;HANIFI ROHINGYA LETTER TA;Lo;0;AL;;;;;N;;;;; +10D04;HANIFI ROHINGYA LETTER TTA;Lo;0;AL;;;;;N;;;;; +10D05;HANIFI ROHINGYA LETTER JA;Lo;0;AL;;;;;N;;;;; +10D06;HANIFI ROHINGYA LETTER CA;Lo;0;AL;;;;;N;;;;; +10D07;HANIFI ROHINGYA LETTER HA;Lo;0;AL;;;;;N;;;;; +10D08;HANIFI ROHINGYA LETTER KHA;Lo;0;AL;;;;;N;;;;; +10D09;HANIFI ROHINGYA LETTER FA;Lo;0;AL;;;;;N;;;;; +10D0A;HANIFI ROHINGYA LETTER DA;Lo;0;AL;;;;;N;;;;; +10D0B;HANIFI ROHINGYA LETTER DDA;Lo;0;AL;;;;;N;;;;; +10D0C;HANIFI ROHINGYA LETTER RA;Lo;0;AL;;;;;N;;;;; +10D0D;HANIFI ROHINGYA LETTER RRA;Lo;0;AL;;;;;N;;;;; +10D0E;HANIFI ROHINGYA LETTER ZA;Lo;0;AL;;;;;N;;;;; +10D0F;HANIFI ROHINGYA LETTER SA;Lo;0;AL;;;;;N;;;;; +10D10;HANIFI ROHINGYA LETTER SHA;Lo;0;AL;;;;;N;;;;; +10D11;HANIFI ROHINGYA LETTER KA;Lo;0;AL;;;;;N;;;;; +10D12;HANIFI ROHINGYA LETTER GA;Lo;0;AL;;;;;N;;;;; +10D13;HANIFI ROHINGYA LETTER LA;Lo;0;AL;;;;;N;;;;; +10D14;HANIFI ROHINGYA LETTER MA;Lo;0;AL;;;;;N;;;;; +10D15;HANIFI ROHINGYA LETTER NA;Lo;0;AL;;;;;N;;;;; +10D16;HANIFI ROHINGYA LETTER WA;Lo;0;AL;;;;;N;;;;; +10D17;HANIFI ROHINGYA LETTER KINNA WA;Lo;0;AL;;;;;N;;;;; +10D18;HANIFI ROHINGYA LETTER YA;Lo;0;AL;;;;;N;;;;; +10D19;HANIFI ROHINGYA LETTER KINNA YA;Lo;0;AL;;;;;N;;;;; +10D1A;HANIFI ROHINGYA LETTER NGA;Lo;0;AL;;;;;N;;;;; +10D1B;HANIFI ROHINGYA LETTER NYA;Lo;0;AL;;;;;N;;;;; +10D1C;HANIFI ROHINGYA LETTER VA;Lo;0;AL;;;;;N;;;;; +10D1D;HANIFI ROHINGYA VOWEL A;Lo;0;AL;;;;;N;;;;; +10D1E;HANIFI ROHINGYA VOWEL I;Lo;0;AL;;;;;N;;;;; +10D1F;HANIFI ROHINGYA VOWEL U;Lo;0;AL;;;;;N;;;;; +10D20;HANIFI ROHINGYA VOWEL E;Lo;0;AL;;;;;N;;;;; +10D21;HANIFI ROHINGYA VOWEL O;Lo;0;AL;;;;;N;;;;; +10D22;HANIFI ROHINGYA MARK SAKIN;Lo;0;AL;;;;;N;;;;; +10D23;HANIFI ROHINGYA MARK NA KHONNA;Lo;0;AL;;;;;N;;;;; +10D24;HANIFI ROHINGYA SIGN HARBAHAY;Mn;230;NSM;;;;;N;;;;; +10D25;HANIFI ROHINGYA SIGN TAHALA;Mn;230;NSM;;;;;N;;;;; +10D26;HANIFI ROHINGYA SIGN TANA;Mn;230;NSM;;;;;N;;;;; +10D27;HANIFI ROHINGYA SIGN TASSI;Mn;230;NSM;;;;;N;;;;; +10D30;HANIFI ROHINGYA DIGIT ZERO;Nd;0;AN;;0;0;0;N;;;;; +10D31;HANIFI ROHINGYA DIGIT ONE;Nd;0;AN;;1;1;1;N;;;;; +10D32;HANIFI ROHINGYA DIGIT TWO;Nd;0;AN;;2;2;2;N;;;;; +10D33;HANIFI ROHINGYA DIGIT THREE;Nd;0;AN;;3;3;3;N;;;;; +10D34;HANIFI ROHINGYA DIGIT FOUR;Nd;0;AN;;4;4;4;N;;;;; +10D35;HANIFI ROHINGYA DIGIT FIVE;Nd;0;AN;;5;5;5;N;;;;; +10D36;HANIFI ROHINGYA DIGIT SIX;Nd;0;AN;;6;6;6;N;;;;; +10D37;HANIFI ROHINGYA DIGIT SEVEN;Nd;0;AN;;7;7;7;N;;;;; +10D38;HANIFI ROHINGYA DIGIT EIGHT;Nd;0;AN;;8;8;8;N;;;;; +10D39;HANIFI ROHINGYA DIGIT NINE;Nd;0;AN;;9;9;9;N;;;;; +10E60;RUMI DIGIT ONE;No;0;AN;;;1;1;N;;;;; +10E61;RUMI DIGIT TWO;No;0;AN;;;2;2;N;;;;; +10E62;RUMI DIGIT THREE;No;0;AN;;;3;3;N;;;;; +10E63;RUMI DIGIT FOUR;No;0;AN;;;4;4;N;;;;; +10E64;RUMI DIGIT FIVE;No;0;AN;;;5;5;N;;;;; +10E65;RUMI DIGIT SIX;No;0;AN;;;6;6;N;;;;; +10E66;RUMI DIGIT SEVEN;No;0;AN;;;7;7;N;;;;; +10E67;RUMI DIGIT EIGHT;No;0;AN;;;8;8;N;;;;; +10E68;RUMI DIGIT NINE;No;0;AN;;;9;9;N;;;;; +10E69;RUMI NUMBER TEN;No;0;AN;;;;10;N;;;;; +10E6A;RUMI NUMBER TWENTY;No;0;AN;;;;20;N;;;;; +10E6B;RUMI NUMBER THIRTY;No;0;AN;;;;30;N;;;;; +10E6C;RUMI NUMBER FORTY;No;0;AN;;;;40;N;;;;; +10E6D;RUMI NUMBER FIFTY;No;0;AN;;;;50;N;;;;; +10E6E;RUMI NUMBER SIXTY;No;0;AN;;;;60;N;;;;; +10E6F;RUMI NUMBER SEVENTY;No;0;AN;;;;70;N;;;;; +10E70;RUMI NUMBER EIGHTY;No;0;AN;;;;80;N;;;;; +10E71;RUMI NUMBER NINETY;No;0;AN;;;;90;N;;;;; +10E72;RUMI NUMBER ONE HUNDRED;No;0;AN;;;;100;N;;;;; +10E73;RUMI NUMBER TWO HUNDRED;No;0;AN;;;;200;N;;;;; +10E74;RUMI NUMBER THREE HUNDRED;No;0;AN;;;;300;N;;;;; +10E75;RUMI NUMBER FOUR HUNDRED;No;0;AN;;;;400;N;;;;; +10E76;RUMI NUMBER FIVE HUNDRED;No;0;AN;;;;500;N;;;;; +10E77;RUMI NUMBER SIX HUNDRED;No;0;AN;;;;600;N;;;;; +10E78;RUMI NUMBER SEVEN HUNDRED;No;0;AN;;;;700;N;;;;; +10E79;RUMI NUMBER EIGHT HUNDRED;No;0;AN;;;;800;N;;;;; +10E7A;RUMI NUMBER NINE HUNDRED;No;0;AN;;;;900;N;;;;; +10E7B;RUMI FRACTION ONE HALF;No;0;AN;;;;1/2;N;;;;; +10E7C;RUMI FRACTION ONE QUARTER;No;0;AN;;;;1/4;N;;;;; +10E7D;RUMI FRACTION ONE THIRD;No;0;AN;;;;1/3;N;;;;; +10E7E;RUMI FRACTION TWO THIRDS;No;0;AN;;;;2/3;N;;;;; +10E80;YEZIDI LETTER ELIF;Lo;0;R;;;;;N;;;;; +10E81;YEZIDI LETTER BE;Lo;0;R;;;;;N;;;;; +10E82;YEZIDI LETTER PE;Lo;0;R;;;;;N;;;;; +10E83;YEZIDI LETTER PHE;Lo;0;R;;;;;N;;;;; +10E84;YEZIDI LETTER THE;Lo;0;R;;;;;N;;;;; +10E85;YEZIDI LETTER SE;Lo;0;R;;;;;N;;;;; +10E86;YEZIDI LETTER CIM;Lo;0;R;;;;;N;;;;; +10E87;YEZIDI LETTER CHIM;Lo;0;R;;;;;N;;;;; +10E88;YEZIDI LETTER CHHIM;Lo;0;R;;;;;N;;;;; +10E89;YEZIDI LETTER HHA;Lo;0;R;;;;;N;;;;; +10E8A;YEZIDI LETTER XA;Lo;0;R;;;;;N;;;;; +10E8B;YEZIDI LETTER DAL;Lo;0;R;;;;;N;;;;; +10E8C;YEZIDI LETTER ZAL;Lo;0;R;;;;;N;;;;; +10E8D;YEZIDI LETTER RA;Lo;0;R;;;;;N;;;;; +10E8E;YEZIDI LETTER RHA;Lo;0;R;;;;;N;;;;; +10E8F;YEZIDI LETTER ZA;Lo;0;R;;;;;N;;;;; +10E90;YEZIDI LETTER JA;Lo;0;R;;;;;N;;;;; +10E91;YEZIDI LETTER SIN;Lo;0;R;;;;;N;;;;; +10E92;YEZIDI LETTER SHIN;Lo;0;R;;;;;N;;;;; +10E93;YEZIDI LETTER SAD;Lo;0;R;;;;;N;;;;; +10E94;YEZIDI LETTER DAD;Lo;0;R;;;;;N;;;;; +10E95;YEZIDI LETTER TA;Lo;0;R;;;;;N;;;;; +10E96;YEZIDI LETTER ZE;Lo;0;R;;;;;N;;;;; +10E97;YEZIDI LETTER EYN;Lo;0;R;;;;;N;;;;; +10E98;YEZIDI LETTER XHEYN;Lo;0;R;;;;;N;;;;; +10E99;YEZIDI LETTER FA;Lo;0;R;;;;;N;;;;; +10E9A;YEZIDI LETTER VA;Lo;0;R;;;;;N;;;;; +10E9B;YEZIDI LETTER VA ALTERNATE FORM;Lo;0;R;;;;;N;;;;; +10E9C;YEZIDI LETTER QAF;Lo;0;R;;;;;N;;;;; +10E9D;YEZIDI LETTER KAF;Lo;0;R;;;;;N;;;;; +10E9E;YEZIDI LETTER KHAF;Lo;0;R;;;;;N;;;;; +10E9F;YEZIDI LETTER GAF;Lo;0;R;;;;;N;;;;; +10EA0;YEZIDI LETTER LAM;Lo;0;R;;;;;N;;;;; +10EA1;YEZIDI LETTER MIM;Lo;0;R;;;;;N;;;;; +10EA2;YEZIDI LETTER NUN;Lo;0;R;;;;;N;;;;; +10EA3;YEZIDI LETTER UM;Lo;0;R;;;;;N;;;;; +10EA4;YEZIDI LETTER WAW;Lo;0;R;;;;;N;;;;; +10EA5;YEZIDI LETTER OW;Lo;0;R;;;;;N;;;;; +10EA6;YEZIDI LETTER EW;Lo;0;R;;;;;N;;;;; +10EA7;YEZIDI LETTER HAY;Lo;0;R;;;;;N;;;;; +10EA8;YEZIDI LETTER YOT;Lo;0;R;;;;;N;;;;; +10EA9;YEZIDI LETTER ET;Lo;0;R;;;;;N;;;;; +10EAB;YEZIDI COMBINING HAMZA MARK;Mn;230;NSM;;;;;N;;;;; +10EAC;YEZIDI COMBINING MADDA MARK;Mn;230;NSM;;;;;N;;;;; +10EAD;YEZIDI HYPHENATION MARK;Pd;0;R;;;;;N;;;;; +10EB0;YEZIDI LETTER LAM WITH DOT ABOVE;Lo;0;R;;;;;N;;;;; +10EB1;YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE;Lo;0;R;;;;;N;;;;; +10F00;OLD SOGDIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10F01;OLD SOGDIAN LETTER FINAL ALEPH;Lo;0;R;;;;;N;;;;; +10F02;OLD SOGDIAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10F03;OLD SOGDIAN LETTER FINAL BETH;Lo;0;R;;;;;N;;;;; +10F04;OLD SOGDIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10F05;OLD SOGDIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10F06;OLD SOGDIAN LETTER FINAL HE;Lo;0;R;;;;;N;;;;; +10F07;OLD SOGDIAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10F08;OLD SOGDIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10F09;OLD SOGDIAN LETTER HETH;Lo;0;R;;;;;N;;;;; +10F0A;OLD SOGDIAN LETTER YODH;Lo;0;R;;;;;N;;;;; +10F0B;OLD SOGDIAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10F0C;OLD SOGDIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10F0D;OLD SOGDIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10F0E;OLD SOGDIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10F0F;OLD SOGDIAN LETTER FINAL NUN;Lo;0;R;;;;;N;;;;; +10F10;OLD SOGDIAN LETTER FINAL NUN WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;; +10F11;OLD SOGDIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10F12;OLD SOGDIAN LETTER AYIN;Lo;0;R;;;;;N;;;;; +10F13;OLD SOGDIAN LETTER ALTERNATE AYIN;Lo;0;R;;;;;N;;;;; +10F14;OLD SOGDIAN LETTER PE;Lo;0;R;;;;;N;;;;; +10F15;OLD SOGDIAN LETTER SADHE;Lo;0;R;;;;;N;;;;; +10F16;OLD SOGDIAN LETTER FINAL SADHE;Lo;0;R;;;;;N;;;;; +10F17;OLD SOGDIAN LETTER FINAL SADHE WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;; +10F18;OLD SOGDIAN LETTER RESH-AYIN-DALETH;Lo;0;R;;;;;N;;;;; +10F19;OLD SOGDIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10F1A;OLD SOGDIAN LETTER TAW;Lo;0;R;;;;;N;;;;; +10F1B;OLD SOGDIAN LETTER FINAL TAW;Lo;0;R;;;;;N;;;;; +10F1C;OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL;Lo;0;R;;;;;N;;;;; +10F1D;OLD SOGDIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10F1E;OLD SOGDIAN NUMBER TWO;No;0;R;;;;2;N;;;;; +10F1F;OLD SOGDIAN NUMBER THREE;No;0;R;;;;3;N;;;;; +10F20;OLD SOGDIAN NUMBER FOUR;No;0;R;;;;4;N;;;;; +10F21;OLD SOGDIAN NUMBER FIVE;No;0;R;;;;5;N;;;;; +10F22;OLD SOGDIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10F23;OLD SOGDIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10F24;OLD SOGDIAN NUMBER THIRTY;No;0;R;;;;30;N;;;;; +10F25;OLD SOGDIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10F26;OLD SOGDIAN FRACTION ONE HALF;No;0;R;;;;1/2;N;;;;; +10F27;OLD SOGDIAN LIGATURE AYIN-DALETH;Lo;0;R;;;;;N;;;;; +10F30;SOGDIAN LETTER ALEPH;Lo;0;AL;;;;;N;;;;; +10F31;SOGDIAN LETTER BETH;Lo;0;AL;;;;;N;;;;; +10F32;SOGDIAN LETTER GIMEL;Lo;0;AL;;;;;N;;;;; +10F33;SOGDIAN LETTER HE;Lo;0;AL;;;;;N;;;;; +10F34;SOGDIAN LETTER WAW;Lo;0;AL;;;;;N;;;;; +10F35;SOGDIAN LETTER ZAYIN;Lo;0;AL;;;;;N;;;;; +10F36;SOGDIAN LETTER HETH;Lo;0;AL;;;;;N;;;;; +10F37;SOGDIAN LETTER YODH;Lo;0;AL;;;;;N;;;;; +10F38;SOGDIAN LETTER KAPH;Lo;0;AL;;;;;N;;;;; +10F39;SOGDIAN LETTER LAMEDH;Lo;0;AL;;;;;N;;;;; +10F3A;SOGDIAN LETTER MEM;Lo;0;AL;;;;;N;;;;; +10F3B;SOGDIAN LETTER NUN;Lo;0;AL;;;;;N;;;;; +10F3C;SOGDIAN LETTER SAMEKH;Lo;0;AL;;;;;N;;;;; +10F3D;SOGDIAN LETTER AYIN;Lo;0;AL;;;;;N;;;;; +10F3E;SOGDIAN LETTER PE;Lo;0;AL;;;;;N;;;;; +10F3F;SOGDIAN LETTER SADHE;Lo;0;AL;;;;;N;;;;; +10F40;SOGDIAN LETTER RESH-AYIN;Lo;0;AL;;;;;N;;;;; +10F41;SOGDIAN LETTER SHIN;Lo;0;AL;;;;;N;;;;; +10F42;SOGDIAN LETTER TAW;Lo;0;AL;;;;;N;;;;; +10F43;SOGDIAN LETTER FETH;Lo;0;AL;;;;;N;;;;; +10F44;SOGDIAN LETTER LESH;Lo;0;AL;;;;;N;;;;; +10F45;SOGDIAN INDEPENDENT SHIN;Lo;0;AL;;;;;N;;;;; +10F46;SOGDIAN COMBINING DOT BELOW;Mn;220;NSM;;;;;N;;;;; +10F47;SOGDIAN COMBINING TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;; +10F48;SOGDIAN COMBINING DOT ABOVE;Mn;230;NSM;;;;;N;;;;; +10F49;SOGDIAN COMBINING TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;; +10F4A;SOGDIAN COMBINING CURVE ABOVE;Mn;230;NSM;;;;;N;;;;; +10F4B;SOGDIAN COMBINING CURVE BELOW;Mn;220;NSM;;;;;N;;;;; +10F4C;SOGDIAN COMBINING HOOK ABOVE;Mn;230;NSM;;;;;N;;;;; +10F4D;SOGDIAN COMBINING HOOK BELOW;Mn;220;NSM;;;;;N;;;;; +10F4E;SOGDIAN COMBINING LONG HOOK BELOW;Mn;220;NSM;;;;;N;;;;; +10F4F;SOGDIAN COMBINING RESH BELOW;Mn;220;NSM;;;;;N;;;;; +10F50;SOGDIAN COMBINING STROKE BELOW;Mn;220;NSM;;;;;N;;;;; +10F51;SOGDIAN NUMBER ONE;No;0;AL;;;;1;N;;;;; +10F52;SOGDIAN NUMBER TEN;No;0;AL;;;;10;N;;;;; +10F53;SOGDIAN NUMBER TWENTY;No;0;AL;;;;20;N;;;;; +10F54;SOGDIAN NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;; +10F55;SOGDIAN PUNCTUATION TWO VERTICAL BARS;Po;0;AL;;;;;N;;;;; +10F56;SOGDIAN PUNCTUATION TWO VERTICAL BARS WITH DOTS;Po;0;AL;;;;;N;;;;; +10F57;SOGDIAN PUNCTUATION CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;; +10F58;SOGDIAN PUNCTUATION TWO CIRCLES WITH DOTS;Po;0;AL;;;;;N;;;;; +10F59;SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT;Po;0;AL;;;;;N;;;;; +10FB0;CHORASMIAN LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10FB1;CHORASMIAN LETTER SMALL ALEPH;Lo;0;R;;;;;N;;;;; +10FB2;CHORASMIAN LETTER BETH;Lo;0;R;;;;;N;;;;; +10FB3;CHORASMIAN LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10FB4;CHORASMIAN LETTER DALETH;Lo;0;R;;;;;N;;;;; +10FB5;CHORASMIAN LETTER HE;Lo;0;R;;;;;N;;;;; +10FB6;CHORASMIAN LETTER WAW;Lo;0;R;;;;;N;;;;; +10FB7;CHORASMIAN LETTER CURLED WAW;Lo;0;R;;;;;N;;;;; +10FB8;CHORASMIAN LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10FB9;CHORASMIAN LETTER HETH;Lo;0;R;;;;;N;;;;; +10FBA;CHORASMIAN LETTER YODH;Lo;0;R;;;;;N;;;;; +10FBB;CHORASMIAN LETTER KAPH;Lo;0;R;;;;;N;;;;; +10FBC;CHORASMIAN LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10FBD;CHORASMIAN LETTER MEM;Lo;0;R;;;;;N;;;;; +10FBE;CHORASMIAN LETTER NUN;Lo;0;R;;;;;N;;;;; +10FBF;CHORASMIAN LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10FC0;CHORASMIAN LETTER AYIN;Lo;0;R;;;;;N;;;;; +10FC1;CHORASMIAN LETTER PE;Lo;0;R;;;;;N;;;;; +10FC2;CHORASMIAN LETTER RESH;Lo;0;R;;;;;N;;;;; +10FC3;CHORASMIAN LETTER SHIN;Lo;0;R;;;;;N;;;;; +10FC4;CHORASMIAN LETTER TAW;Lo;0;R;;;;;N;;;;; +10FC5;CHORASMIAN NUMBER ONE;No;0;R;;;;1;N;;;;; +10FC6;CHORASMIAN NUMBER TWO;No;0;R;;;;2;N;;;;; +10FC7;CHORASMIAN NUMBER THREE;No;0;R;;;;3;N;;;;; +10FC8;CHORASMIAN NUMBER FOUR;No;0;R;;;;4;N;;;;; +10FC9;CHORASMIAN NUMBER TEN;No;0;R;;;;10;N;;;;; +10FCA;CHORASMIAN NUMBER TWENTY;No;0;R;;;;20;N;;;;; +10FCB;CHORASMIAN NUMBER ONE HUNDRED;No;0;R;;;;100;N;;;;; +10FE0;ELYMAIC LETTER ALEPH;Lo;0;R;;;;;N;;;;; +10FE1;ELYMAIC LETTER BETH;Lo;0;R;;;;;N;;;;; +10FE2;ELYMAIC LETTER GIMEL;Lo;0;R;;;;;N;;;;; +10FE3;ELYMAIC LETTER DALETH;Lo;0;R;;;;;N;;;;; +10FE4;ELYMAIC LETTER HE;Lo;0;R;;;;;N;;;;; +10FE5;ELYMAIC LETTER WAW;Lo;0;R;;;;;N;;;;; +10FE6;ELYMAIC LETTER ZAYIN;Lo;0;R;;;;;N;;;;; +10FE7;ELYMAIC LETTER HETH;Lo;0;R;;;;;N;;;;; +10FE8;ELYMAIC LETTER TETH;Lo;0;R;;;;;N;;;;; +10FE9;ELYMAIC LETTER YODH;Lo;0;R;;;;;N;;;;; +10FEA;ELYMAIC LETTER KAPH;Lo;0;R;;;;;N;;;;; +10FEB;ELYMAIC LETTER LAMEDH;Lo;0;R;;;;;N;;;;; +10FEC;ELYMAIC LETTER MEM;Lo;0;R;;;;;N;;;;; +10FED;ELYMAIC LETTER NUN;Lo;0;R;;;;;N;;;;; +10FEE;ELYMAIC LETTER SAMEKH;Lo;0;R;;;;;N;;;;; +10FEF;ELYMAIC LETTER AYIN;Lo;0;R;;;;;N;;;;; +10FF0;ELYMAIC LETTER PE;Lo;0;R;;;;;N;;;;; +10FF1;ELYMAIC LETTER SADHE;Lo;0;R;;;;;N;;;;; +10FF2;ELYMAIC LETTER QOPH;Lo;0;R;;;;;N;;;;; +10FF3;ELYMAIC LETTER RESH;Lo;0;R;;;;;N;;;;; +10FF4;ELYMAIC LETTER SHIN;Lo;0;R;;;;;N;;;;; +10FF5;ELYMAIC LETTER TAW;Lo;0;R;;;;;N;;;;; +10FF6;ELYMAIC LIGATURE ZAYIN-YODH;Lo;0;R;;;;;N;;;;; +11000;BRAHMI SIGN CANDRABINDU;Mc;0;L;;;;;N;;;;; +11001;BRAHMI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11002;BRAHMI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11003;BRAHMI SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +11004;BRAHMI SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +11005;BRAHMI LETTER A;Lo;0;L;;;;;N;;;;; +11006;BRAHMI LETTER AA;Lo;0;L;;;;;N;;;;; +11007;BRAHMI LETTER I;Lo;0;L;;;;;N;;;;; +11008;BRAHMI LETTER II;Lo;0;L;;;;;N;;;;; +11009;BRAHMI LETTER U;Lo;0;L;;;;;N;;;;; +1100A;BRAHMI LETTER UU;Lo;0;L;;;;;N;;;;; +1100B;BRAHMI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +1100C;BRAHMI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +1100D;BRAHMI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1100E;BRAHMI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1100F;BRAHMI LETTER E;Lo;0;L;;;;;N;;;;; +11010;BRAHMI LETTER AI;Lo;0;L;;;;;N;;;;; +11011;BRAHMI LETTER O;Lo;0;L;;;;;N;;;;; +11012;BRAHMI LETTER AU;Lo;0;L;;;;;N;;;;; +11013;BRAHMI LETTER KA;Lo;0;L;;;;;N;;;;; +11014;BRAHMI LETTER KHA;Lo;0;L;;;;;N;;;;; +11015;BRAHMI LETTER GA;Lo;0;L;;;;;N;;;;; +11016;BRAHMI LETTER GHA;Lo;0;L;;;;;N;;;;; +11017;BRAHMI LETTER NGA;Lo;0;L;;;;;N;;;;; +11018;BRAHMI LETTER CA;Lo;0;L;;;;;N;;;;; +11019;BRAHMI LETTER CHA;Lo;0;L;;;;;N;;;;; +1101A;BRAHMI LETTER JA;Lo;0;L;;;;;N;;;;; +1101B;BRAHMI LETTER JHA;Lo;0;L;;;;;N;;;;; +1101C;BRAHMI LETTER NYA;Lo;0;L;;;;;N;;;;; +1101D;BRAHMI LETTER TTA;Lo;0;L;;;;;N;;;;; +1101E;BRAHMI LETTER TTHA;Lo;0;L;;;;;N;;;;; +1101F;BRAHMI LETTER DDA;Lo;0;L;;;;;N;;;;; +11020;BRAHMI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11021;BRAHMI LETTER NNA;Lo;0;L;;;;;N;;;;; +11022;BRAHMI LETTER TA;Lo;0;L;;;;;N;;;;; +11023;BRAHMI LETTER THA;Lo;0;L;;;;;N;;;;; +11024;BRAHMI LETTER DA;Lo;0;L;;;;;N;;;;; +11025;BRAHMI LETTER DHA;Lo;0;L;;;;;N;;;;; +11026;BRAHMI LETTER NA;Lo;0;L;;;;;N;;;;; +11027;BRAHMI LETTER PA;Lo;0;L;;;;;N;;;;; +11028;BRAHMI LETTER PHA;Lo;0;L;;;;;N;;;;; +11029;BRAHMI LETTER BA;Lo;0;L;;;;;N;;;;; +1102A;BRAHMI LETTER BHA;Lo;0;L;;;;;N;;;;; +1102B;BRAHMI LETTER MA;Lo;0;L;;;;;N;;;;; +1102C;BRAHMI LETTER YA;Lo;0;L;;;;;N;;;;; +1102D;BRAHMI LETTER RA;Lo;0;L;;;;;N;;;;; +1102E;BRAHMI LETTER LA;Lo;0;L;;;;;N;;;;; +1102F;BRAHMI LETTER VA;Lo;0;L;;;;;N;;;;; +11030;BRAHMI LETTER SHA;Lo;0;L;;;;;N;;;;; +11031;BRAHMI LETTER SSA;Lo;0;L;;;;;N;;;;; +11032;BRAHMI LETTER SA;Lo;0;L;;;;;N;;;;; +11033;BRAHMI LETTER HA;Lo;0;L;;;;;N;;;;; +11034;BRAHMI LETTER LLA;Lo;0;L;;;;;N;;;;; +11035;BRAHMI LETTER OLD TAMIL LLLA;Lo;0;L;;;;;N;;;;; +11036;BRAHMI LETTER OLD TAMIL RRA;Lo;0;L;;;;;N;;;;; +11037;BRAHMI LETTER OLD TAMIL NNNA;Lo;0;L;;;;;N;;;;; +11038;BRAHMI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +11039;BRAHMI VOWEL SIGN BHATTIPROLU AA;Mn;0;NSM;;;;;N;;;;; +1103A;BRAHMI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +1103B;BRAHMI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +1103C;BRAHMI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1103D;BRAHMI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1103E;BRAHMI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +1103F;BRAHMI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +11040;BRAHMI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +11041;BRAHMI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +11042;BRAHMI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11043;BRAHMI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11044;BRAHMI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11045;BRAHMI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +11046;BRAHMI VIRAMA;Mn;9;NSM;;;;;N;;;;; +11047;BRAHMI DANDA;Po;0;L;;;;;N;;;;; +11048;BRAHMI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +11049;BRAHMI PUNCTUATION DOT;Po;0;L;;;;;N;;;;; +1104A;BRAHMI PUNCTUATION DOUBLE DOT;Po;0;L;;;;;N;;;;; +1104B;BRAHMI PUNCTUATION LINE;Po;0;L;;;;;N;;;;; +1104C;BRAHMI PUNCTUATION CRESCENT BAR;Po;0;L;;;;;N;;;;; +1104D;BRAHMI PUNCTUATION LOTUS;Po;0;L;;;;;N;;;;; +11052;BRAHMI NUMBER ONE;No;0;ON;;;1;1;N;;;;; +11053;BRAHMI NUMBER TWO;No;0;ON;;;2;2;N;;;;; +11054;BRAHMI NUMBER THREE;No;0;ON;;;3;3;N;;;;; +11055;BRAHMI NUMBER FOUR;No;0;ON;;;4;4;N;;;;; +11056;BRAHMI NUMBER FIVE;No;0;ON;;;5;5;N;;;;; +11057;BRAHMI NUMBER SIX;No;0;ON;;;6;6;N;;;;; +11058;BRAHMI NUMBER SEVEN;No;0;ON;;;7;7;N;;;;; +11059;BRAHMI NUMBER EIGHT;No;0;ON;;;8;8;N;;;;; +1105A;BRAHMI NUMBER NINE;No;0;ON;;;9;9;N;;;;; +1105B;BRAHMI NUMBER TEN;No;0;ON;;;;10;N;;;;; +1105C;BRAHMI NUMBER TWENTY;No;0;ON;;;;20;N;;;;; +1105D;BRAHMI NUMBER THIRTY;No;0;ON;;;;30;N;;;;; +1105E;BRAHMI NUMBER FORTY;No;0;ON;;;;40;N;;;;; +1105F;BRAHMI NUMBER FIFTY;No;0;ON;;;;50;N;;;;; +11060;BRAHMI NUMBER SIXTY;No;0;ON;;;;60;N;;;;; +11061;BRAHMI NUMBER SEVENTY;No;0;ON;;;;70;N;;;;; +11062;BRAHMI NUMBER EIGHTY;No;0;ON;;;;80;N;;;;; +11063;BRAHMI NUMBER NINETY;No;0;ON;;;;90;N;;;;; +11064;BRAHMI NUMBER ONE HUNDRED;No;0;ON;;;;100;N;;;;; +11065;BRAHMI NUMBER ONE THOUSAND;No;0;ON;;;;1000;N;;;;; +11066;BRAHMI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11067;BRAHMI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11068;BRAHMI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11069;BRAHMI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1106A;BRAHMI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1106B;BRAHMI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1106C;BRAHMI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1106D;BRAHMI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1106E;BRAHMI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1106F;BRAHMI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1107F;BRAHMI NUMBER JOINER;Mn;9;NSM;;;;;N;;;;; +11080;KAITHI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11081;KAITHI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11082;KAITHI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11083;KAITHI LETTER A;Lo;0;L;;;;;N;;;;; +11084;KAITHI LETTER AA;Lo;0;L;;;;;N;;;;; +11085;KAITHI LETTER I;Lo;0;L;;;;;N;;;;; +11086;KAITHI LETTER II;Lo;0;L;;;;;N;;;;; +11087;KAITHI LETTER U;Lo;0;L;;;;;N;;;;; +11088;KAITHI LETTER UU;Lo;0;L;;;;;N;;;;; +11089;KAITHI LETTER E;Lo;0;L;;;;;N;;;;; +1108A;KAITHI LETTER AI;Lo;0;L;;;;;N;;;;; +1108B;KAITHI LETTER O;Lo;0;L;;;;;N;;;;; +1108C;KAITHI LETTER AU;Lo;0;L;;;;;N;;;;; +1108D;KAITHI LETTER KA;Lo;0;L;;;;;N;;;;; +1108E;KAITHI LETTER KHA;Lo;0;L;;;;;N;;;;; +1108F;KAITHI LETTER GA;Lo;0;L;;;;;N;;;;; +11090;KAITHI LETTER GHA;Lo;0;L;;;;;N;;;;; +11091;KAITHI LETTER NGA;Lo;0;L;;;;;N;;;;; +11092;KAITHI LETTER CA;Lo;0;L;;;;;N;;;;; +11093;KAITHI LETTER CHA;Lo;0;L;;;;;N;;;;; +11094;KAITHI LETTER JA;Lo;0;L;;;;;N;;;;; +11095;KAITHI LETTER JHA;Lo;0;L;;;;;N;;;;; +11096;KAITHI LETTER NYA;Lo;0;L;;;;;N;;;;; +11097;KAITHI LETTER TTA;Lo;0;L;;;;;N;;;;; +11098;KAITHI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11099;KAITHI LETTER DDA;Lo;0;L;;;;;N;;;;; +1109A;KAITHI LETTER DDDHA;Lo;0;L;11099 110BA;;;;N;;;;; +1109B;KAITHI LETTER DDHA;Lo;0;L;;;;;N;;;;; +1109C;KAITHI LETTER RHA;Lo;0;L;1109B 110BA;;;;N;;;;; +1109D;KAITHI LETTER NNA;Lo;0;L;;;;;N;;;;; +1109E;KAITHI LETTER TA;Lo;0;L;;;;;N;;;;; +1109F;KAITHI LETTER THA;Lo;0;L;;;;;N;;;;; +110A0;KAITHI LETTER DA;Lo;0;L;;;;;N;;;;; +110A1;KAITHI LETTER DHA;Lo;0;L;;;;;N;;;;; +110A2;KAITHI LETTER NA;Lo;0;L;;;;;N;;;;; +110A3;KAITHI LETTER PA;Lo;0;L;;;;;N;;;;; +110A4;KAITHI LETTER PHA;Lo;0;L;;;;;N;;;;; +110A5;KAITHI LETTER BA;Lo;0;L;;;;;N;;;;; +110A6;KAITHI LETTER BHA;Lo;0;L;;;;;N;;;;; +110A7;KAITHI LETTER MA;Lo;0;L;;;;;N;;;;; +110A8;KAITHI LETTER YA;Lo;0;L;;;;;N;;;;; +110A9;KAITHI LETTER RA;Lo;0;L;;;;;N;;;;; +110AA;KAITHI LETTER LA;Lo;0;L;;;;;N;;;;; +110AB;KAITHI LETTER VA;Lo;0;L;110A5 110BA;;;;N;;;;; +110AC;KAITHI LETTER SHA;Lo;0;L;;;;;N;;;;; +110AD;KAITHI LETTER SSA;Lo;0;L;;;;;N;;;;; +110AE;KAITHI LETTER SA;Lo;0;L;;;;;N;;;;; +110AF;KAITHI LETTER HA;Lo;0;L;;;;;N;;;;; +110B0;KAITHI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +110B1;KAITHI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +110B2;KAITHI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +110B3;KAITHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +110B4;KAITHI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +110B5;KAITHI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +110B6;KAITHI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +110B7;KAITHI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +110B8;KAITHI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +110B9;KAITHI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +110BA;KAITHI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +110BB;KAITHI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +110BC;KAITHI ENUMERATION SIGN;Po;0;L;;;;;N;;;;; +110BD;KAITHI NUMBER SIGN;Cf;0;L;;;;;N;;;;; +110BE;KAITHI SECTION MARK;Po;0;L;;;;;N;;;;; +110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;; +110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;; +110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +110CD;KAITHI NUMBER SIGN ABOVE;Cf;0;L;;;;;N;;;;; +110D0;SORA SOMPENG LETTER SAH;Lo;0;L;;;;;N;;;;; +110D1;SORA SOMPENG LETTER TAH;Lo;0;L;;;;;N;;;;; +110D2;SORA SOMPENG LETTER BAH;Lo;0;L;;;;;N;;;;; +110D3;SORA SOMPENG LETTER CAH;Lo;0;L;;;;;N;;;;; +110D4;SORA SOMPENG LETTER DAH;Lo;0;L;;;;;N;;;;; +110D5;SORA SOMPENG LETTER GAH;Lo;0;L;;;;;N;;;;; +110D6;SORA SOMPENG LETTER MAH;Lo;0;L;;;;;N;;;;; +110D7;SORA SOMPENG LETTER NGAH;Lo;0;L;;;;;N;;;;; +110D8;SORA SOMPENG LETTER LAH;Lo;0;L;;;;;N;;;;; +110D9;SORA SOMPENG LETTER NAH;Lo;0;L;;;;;N;;;;; +110DA;SORA SOMPENG LETTER VAH;Lo;0;L;;;;;N;;;;; +110DB;SORA SOMPENG LETTER PAH;Lo;0;L;;;;;N;;;;; +110DC;SORA SOMPENG LETTER YAH;Lo;0;L;;;;;N;;;;; +110DD;SORA SOMPENG LETTER RAH;Lo;0;L;;;;;N;;;;; +110DE;SORA SOMPENG LETTER HAH;Lo;0;L;;;;;N;;;;; +110DF;SORA SOMPENG LETTER KAH;Lo;0;L;;;;;N;;;;; +110E0;SORA SOMPENG LETTER JAH;Lo;0;L;;;;;N;;;;; +110E1;SORA SOMPENG LETTER NYAH;Lo;0;L;;;;;N;;;;; +110E2;SORA SOMPENG LETTER AH;Lo;0;L;;;;;N;;;;; +110E3;SORA SOMPENG LETTER EEH;Lo;0;L;;;;;N;;;;; +110E4;SORA SOMPENG LETTER IH;Lo;0;L;;;;;N;;;;; +110E5;SORA SOMPENG LETTER UH;Lo;0;L;;;;;N;;;;; +110E6;SORA SOMPENG LETTER OH;Lo;0;L;;;;;N;;;;; +110E7;SORA SOMPENG LETTER EH;Lo;0;L;;;;;N;;;;; +110E8;SORA SOMPENG LETTER MAE;Lo;0;L;;;;;N;;;;; +110F0;SORA SOMPENG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +110F1;SORA SOMPENG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +110F2;SORA SOMPENG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +110F3;SORA SOMPENG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +110F4;SORA SOMPENG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +110F5;SORA SOMPENG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +110F6;SORA SOMPENG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +110F7;SORA SOMPENG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +110F8;SORA SOMPENG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +110F9;SORA SOMPENG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11100;CHAKMA SIGN CANDRABINDU;Mn;230;NSM;;;;;N;;;;; +11101;CHAKMA SIGN ANUSVARA;Mn;230;NSM;;;;;N;;;;; +11102;CHAKMA SIGN VISARGA;Mn;230;NSM;;;;;N;;;;; +11103;CHAKMA LETTER AA;Lo;0;L;;;;;N;;;;; +11104;CHAKMA LETTER I;Lo;0;L;;;;;N;;;;; +11105;CHAKMA LETTER U;Lo;0;L;;;;;N;;;;; +11106;CHAKMA LETTER E;Lo;0;L;;;;;N;;;;; +11107;CHAKMA LETTER KAA;Lo;0;L;;;;;N;;;;; +11108;CHAKMA LETTER KHAA;Lo;0;L;;;;;N;;;;; +11109;CHAKMA LETTER GAA;Lo;0;L;;;;;N;;;;; +1110A;CHAKMA LETTER GHAA;Lo;0;L;;;;;N;;;;; +1110B;CHAKMA LETTER NGAA;Lo;0;L;;;;;N;;;;; +1110C;CHAKMA LETTER CAA;Lo;0;L;;;;;N;;;;; +1110D;CHAKMA LETTER CHAA;Lo;0;L;;;;;N;;;;; +1110E;CHAKMA LETTER JAA;Lo;0;L;;;;;N;;;;; +1110F;CHAKMA LETTER JHAA;Lo;0;L;;;;;N;;;;; +11110;CHAKMA LETTER NYAA;Lo;0;L;;;;;N;;;;; +11111;CHAKMA LETTER TTAA;Lo;0;L;;;;;N;;;;; +11112;CHAKMA LETTER TTHAA;Lo;0;L;;;;;N;;;;; +11113;CHAKMA LETTER DDAA;Lo;0;L;;;;;N;;;;; +11114;CHAKMA LETTER DDHAA;Lo;0;L;;;;;N;;;;; +11115;CHAKMA LETTER NNAA;Lo;0;L;;;;;N;;;;; +11116;CHAKMA LETTER TAA;Lo;0;L;;;;;N;;;;; +11117;CHAKMA LETTER THAA;Lo;0;L;;;;;N;;;;; +11118;CHAKMA LETTER DAA;Lo;0;L;;;;;N;;;;; +11119;CHAKMA LETTER DHAA;Lo;0;L;;;;;N;;;;; +1111A;CHAKMA LETTER NAA;Lo;0;L;;;;;N;;;;; +1111B;CHAKMA LETTER PAA;Lo;0;L;;;;;N;;;;; +1111C;CHAKMA LETTER PHAA;Lo;0;L;;;;;N;;;;; +1111D;CHAKMA LETTER BAA;Lo;0;L;;;;;N;;;;; +1111E;CHAKMA LETTER BHAA;Lo;0;L;;;;;N;;;;; +1111F;CHAKMA LETTER MAA;Lo;0;L;;;;;N;;;;; +11120;CHAKMA LETTER YYAA;Lo;0;L;;;;;N;;;;; +11121;CHAKMA LETTER YAA;Lo;0;L;;;;;N;;;;; +11122;CHAKMA LETTER RAA;Lo;0;L;;;;;N;;;;; +11123;CHAKMA LETTER LAA;Lo;0;L;;;;;N;;;;; +11124;CHAKMA LETTER WAA;Lo;0;L;;;;;N;;;;; +11125;CHAKMA LETTER SAA;Lo;0;L;;;;;N;;;;; +11126;CHAKMA LETTER HAA;Lo;0;L;;;;;N;;;;; +11127;CHAKMA VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;; +11128;CHAKMA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11129;CHAKMA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +1112A;CHAKMA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +1112B;CHAKMA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1112C;CHAKMA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +1112D;CHAKMA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1112E;CHAKMA VOWEL SIGN O;Mn;0;NSM;11131 11127;;;;N;;;;; +1112F;CHAKMA VOWEL SIGN AU;Mn;0;NSM;11132 11127;;;;N;;;;; +11130;CHAKMA VOWEL SIGN OI;Mn;0;NSM;;;;;N;;;;; +11131;CHAKMA O MARK;Mn;0;NSM;;;;;N;;;;; +11132;CHAKMA AU MARK;Mn;0;NSM;;;;;N;;;;; +11133;CHAKMA VIRAMA;Mn;9;NSM;;;;;N;;;;; +11134;CHAKMA MAAYYAA;Mn;9;NSM;;;;;N;;;;; +11136;CHAKMA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11137;CHAKMA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11138;CHAKMA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11139;CHAKMA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1113A;CHAKMA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1113B;CHAKMA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1113C;CHAKMA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1113D;CHAKMA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1113E;CHAKMA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1113F;CHAKMA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11140;CHAKMA SECTION MARK;Po;0;L;;;;;N;;;;; +11141;CHAKMA DANDA;Po;0;L;;;;;N;;;;; +11142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;; +11143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;; +11144;CHAKMA LETTER LHAA;Lo;0;L;;;;;N;;;;; +11145;CHAKMA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11146;CHAKMA VOWEL SIGN EI;Mc;0;L;;;;;N;;;;; +11147;CHAKMA LETTER VAA;Lo;0;L;;;;;N;;;;; +11150;MAHAJANI LETTER A;Lo;0;L;;;;;N;;;;; +11151;MAHAJANI LETTER I;Lo;0;L;;;;;N;;;;; +11152;MAHAJANI LETTER U;Lo;0;L;;;;;N;;;;; +11153;MAHAJANI LETTER E;Lo;0;L;;;;;N;;;;; +11154;MAHAJANI LETTER O;Lo;0;L;;;;;N;;;;; +11155;MAHAJANI LETTER KA;Lo;0;L;;;;;N;;;;; +11156;MAHAJANI LETTER KHA;Lo;0;L;;;;;N;;;;; +11157;MAHAJANI LETTER GA;Lo;0;L;;;;;N;;;;; +11158;MAHAJANI LETTER GHA;Lo;0;L;;;;;N;;;;; +11159;MAHAJANI LETTER CA;Lo;0;L;;;;;N;;;;; +1115A;MAHAJANI LETTER CHA;Lo;0;L;;;;;N;;;;; +1115B;MAHAJANI LETTER JA;Lo;0;L;;;;;N;;;;; +1115C;MAHAJANI LETTER JHA;Lo;0;L;;;;;N;;;;; +1115D;MAHAJANI LETTER NYA;Lo;0;L;;;;;N;;;;; +1115E;MAHAJANI LETTER TTA;Lo;0;L;;;;;N;;;;; +1115F;MAHAJANI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11160;MAHAJANI LETTER DDA;Lo;0;L;;;;;N;;;;; +11161;MAHAJANI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11162;MAHAJANI LETTER NNA;Lo;0;L;;;;;N;;;;; +11163;MAHAJANI LETTER TA;Lo;0;L;;;;;N;;;;; +11164;MAHAJANI LETTER THA;Lo;0;L;;;;;N;;;;; +11165;MAHAJANI LETTER DA;Lo;0;L;;;;;N;;;;; +11166;MAHAJANI LETTER DHA;Lo;0;L;;;;;N;;;;; +11167;MAHAJANI LETTER NA;Lo;0;L;;;;;N;;;;; +11168;MAHAJANI LETTER PA;Lo;0;L;;;;;N;;;;; +11169;MAHAJANI LETTER PHA;Lo;0;L;;;;;N;;;;; +1116A;MAHAJANI LETTER BA;Lo;0;L;;;;;N;;;;; +1116B;MAHAJANI LETTER BHA;Lo;0;L;;;;;N;;;;; +1116C;MAHAJANI LETTER MA;Lo;0;L;;;;;N;;;;; +1116D;MAHAJANI LETTER RA;Lo;0;L;;;;;N;;;;; +1116E;MAHAJANI LETTER LA;Lo;0;L;;;;;N;;;;; +1116F;MAHAJANI LETTER VA;Lo;0;L;;;;;N;;;;; +11170;MAHAJANI LETTER SA;Lo;0;L;;;;;N;;;;; +11171;MAHAJANI LETTER HA;Lo;0;L;;;;;N;;;;; +11172;MAHAJANI LETTER RRA;Lo;0;L;;;;;N;;;;; +11173;MAHAJANI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +11174;MAHAJANI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +11175;MAHAJANI SECTION MARK;Po;0;L;;;;;N;;;;; +11176;MAHAJANI LIGATURE SHRI;Lo;0;L;;;;;N;;;;; +11180;SHARADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11181;SHARADA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11182;SHARADA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11183;SHARADA LETTER A;Lo;0;L;;;;;N;;;;; +11184;SHARADA LETTER AA;Lo;0;L;;;;;N;;;;; +11185;SHARADA LETTER I;Lo;0;L;;;;;N;;;;; +11186;SHARADA LETTER II;Lo;0;L;;;;;N;;;;; +11187;SHARADA LETTER U;Lo;0;L;;;;;N;;;;; +11188;SHARADA LETTER UU;Lo;0;L;;;;;N;;;;; +11189;SHARADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +1118A;SHARADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +1118B;SHARADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1118C;SHARADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1118D;SHARADA LETTER E;Lo;0;L;;;;;N;;;;; +1118E;SHARADA LETTER AI;Lo;0;L;;;;;N;;;;; +1118F;SHARADA LETTER O;Lo;0;L;;;;;N;;;;; +11190;SHARADA LETTER AU;Lo;0;L;;;;;N;;;;; +11191;SHARADA LETTER KA;Lo;0;L;;;;;N;;;;; +11192;SHARADA LETTER KHA;Lo;0;L;;;;;N;;;;; +11193;SHARADA LETTER GA;Lo;0;L;;;;;N;;;;; +11194;SHARADA LETTER GHA;Lo;0;L;;;;;N;;;;; +11195;SHARADA LETTER NGA;Lo;0;L;;;;;N;;;;; +11196;SHARADA LETTER CA;Lo;0;L;;;;;N;;;;; +11197;SHARADA LETTER CHA;Lo;0;L;;;;;N;;;;; +11198;SHARADA LETTER JA;Lo;0;L;;;;;N;;;;; +11199;SHARADA LETTER JHA;Lo;0;L;;;;;N;;;;; +1119A;SHARADA LETTER NYA;Lo;0;L;;;;;N;;;;; +1119B;SHARADA LETTER TTA;Lo;0;L;;;;;N;;;;; +1119C;SHARADA LETTER TTHA;Lo;0;L;;;;;N;;;;; +1119D;SHARADA LETTER DDA;Lo;0;L;;;;;N;;;;; +1119E;SHARADA LETTER DDHA;Lo;0;L;;;;;N;;;;; +1119F;SHARADA LETTER NNA;Lo;0;L;;;;;N;;;;; +111A0;SHARADA LETTER TA;Lo;0;L;;;;;N;;;;; +111A1;SHARADA LETTER THA;Lo;0;L;;;;;N;;;;; +111A2;SHARADA LETTER DA;Lo;0;L;;;;;N;;;;; +111A3;SHARADA LETTER DHA;Lo;0;L;;;;;N;;;;; +111A4;SHARADA LETTER NA;Lo;0;L;;;;;N;;;;; +111A5;SHARADA LETTER PA;Lo;0;L;;;;;N;;;;; +111A6;SHARADA LETTER PHA;Lo;0;L;;;;;N;;;;; +111A7;SHARADA LETTER BA;Lo;0;L;;;;;N;;;;; +111A8;SHARADA LETTER BHA;Lo;0;L;;;;;N;;;;; +111A9;SHARADA LETTER MA;Lo;0;L;;;;;N;;;;; +111AA;SHARADA LETTER YA;Lo;0;L;;;;;N;;;;; +111AB;SHARADA LETTER RA;Lo;0;L;;;;;N;;;;; +111AC;SHARADA LETTER LA;Lo;0;L;;;;;N;;;;; +111AD;SHARADA LETTER LLA;Lo;0;L;;;;;N;;;;; +111AE;SHARADA LETTER VA;Lo;0;L;;;;;N;;;;; +111AF;SHARADA LETTER SHA;Lo;0;L;;;;;N;;;;; +111B0;SHARADA LETTER SSA;Lo;0;L;;;;;N;;;;; +111B1;SHARADA LETTER SA;Lo;0;L;;;;;N;;;;; +111B2;SHARADA LETTER HA;Lo;0;L;;;;;N;;;;; +111B3;SHARADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +111B4;SHARADA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +111B5;SHARADA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +111B6;SHARADA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +111B7;SHARADA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +111B8;SHARADA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +111B9;SHARADA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +111BA;SHARADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +111BB;SHARADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +111BC;SHARADA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +111BD;SHARADA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +111BE;SHARADA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +111BF;SHARADA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +111C0;SHARADA SIGN VIRAMA;Mc;9;L;;;;;N;;;;; +111C1;SHARADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +111C2;SHARADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +111C3;SHARADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +111C4;SHARADA OM;Lo;0;L;;;;;N;;;;; +111C5;SHARADA DANDA;Po;0;L;;;;;N;;;;; +111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;; +111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +111C8;SHARADA SEPARATOR;Po;0;L;;;;;N;;;;; +111C9;SHARADA SANDHI MARK;Mn;0;NSM;;;;;N;;;;; +111CA;SHARADA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +111CB;SHARADA VOWEL MODIFIER MARK;Mn;0;NSM;;;;;N;;;;; +111CC;SHARADA EXTRA SHORT VOWEL MARK;Mn;0;NSM;;;;;N;;;;; +111CD;SHARADA SUTRA MARK;Po;0;L;;;;;N;;;;; +111CE;SHARADA VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;; +111CF;SHARADA SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +111D0;SHARADA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +111D1;SHARADA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +111D2;SHARADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +111D3;SHARADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +111D4;SHARADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +111D5;SHARADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +111D6;SHARADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +111D7;SHARADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +111DA;SHARADA EKAM;Lo;0;L;;;;;N;;;;; +111DB;SHARADA SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +111DC;SHARADA HEADSTROKE;Lo;0;L;;;;;N;;;;; +111DD;SHARADA CONTINUATION SIGN;Po;0;L;;;;;N;;;;; +111DE;SHARADA SECTION MARK-1;Po;0;L;;;;;N;;;;; +111DF;SHARADA SECTION MARK-2;Po;0;L;;;;;N;;;;; +111E1;SINHALA ARCHAIC DIGIT ONE;No;0;L;;;;1;N;;;;; +111E2;SINHALA ARCHAIC DIGIT TWO;No;0;L;;;;2;N;;;;; +111E3;SINHALA ARCHAIC DIGIT THREE;No;0;L;;;;3;N;;;;; +111E4;SINHALA ARCHAIC DIGIT FOUR;No;0;L;;;;4;N;;;;; +111E5;SINHALA ARCHAIC DIGIT FIVE;No;0;L;;;;5;N;;;;; +111E6;SINHALA ARCHAIC DIGIT SIX;No;0;L;;;;6;N;;;;; +111E7;SINHALA ARCHAIC DIGIT SEVEN;No;0;L;;;;7;N;;;;; +111E8;SINHALA ARCHAIC DIGIT EIGHT;No;0;L;;;;8;N;;;;; +111E9;SINHALA ARCHAIC DIGIT NINE;No;0;L;;;;9;N;;;;; +111EA;SINHALA ARCHAIC NUMBER TEN;No;0;L;;;;10;N;;;;; +111EB;SINHALA ARCHAIC NUMBER TWENTY;No;0;L;;;;20;N;;;;; +111EC;SINHALA ARCHAIC NUMBER THIRTY;No;0;L;;;;30;N;;;;; +111ED;SINHALA ARCHAIC NUMBER FORTY;No;0;L;;;;40;N;;;;; +111EE;SINHALA ARCHAIC NUMBER FIFTY;No;0;L;;;;50;N;;;;; +111EF;SINHALA ARCHAIC NUMBER SIXTY;No;0;L;;;;60;N;;;;; +111F0;SINHALA ARCHAIC NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +111F1;SINHALA ARCHAIC NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +111F2;SINHALA ARCHAIC NUMBER NINETY;No;0;L;;;;90;N;;;;; +111F3;SINHALA ARCHAIC NUMBER ONE HUNDRED;No;0;L;;;;100;N;;;;; +111F4;SINHALA ARCHAIC NUMBER ONE THOUSAND;No;0;L;;;;1000;N;;;;; +11200;KHOJKI LETTER A;Lo;0;L;;;;;N;;;;; +11201;KHOJKI LETTER AA;Lo;0;L;;;;;N;;;;; +11202;KHOJKI LETTER I;Lo;0;L;;;;;N;;;;; +11203;KHOJKI LETTER U;Lo;0;L;;;;;N;;;;; +11204;KHOJKI LETTER E;Lo;0;L;;;;;N;;;;; +11205;KHOJKI LETTER AI;Lo;0;L;;;;;N;;;;; +11206;KHOJKI LETTER O;Lo;0;L;;;;;N;;;;; +11207;KHOJKI LETTER AU;Lo;0;L;;;;;N;;;;; +11208;KHOJKI LETTER KA;Lo;0;L;;;;;N;;;;; +11209;KHOJKI LETTER KHA;Lo;0;L;;;;;N;;;;; +1120A;KHOJKI LETTER GA;Lo;0;L;;;;;N;;;;; +1120B;KHOJKI LETTER GGA;Lo;0;L;;;;;N;;;;; +1120C;KHOJKI LETTER GHA;Lo;0;L;;;;;N;;;;; +1120D;KHOJKI LETTER NGA;Lo;0;L;;;;;N;;;;; +1120E;KHOJKI LETTER CA;Lo;0;L;;;;;N;;;;; +1120F;KHOJKI LETTER CHA;Lo;0;L;;;;;N;;;;; +11210;KHOJKI LETTER JA;Lo;0;L;;;;;N;;;;; +11211;KHOJKI LETTER JJA;Lo;0;L;;;;;N;;;;; +11213;KHOJKI LETTER NYA;Lo;0;L;;;;;N;;;;; +11214;KHOJKI LETTER TTA;Lo;0;L;;;;;N;;;;; +11215;KHOJKI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11216;KHOJKI LETTER DDA;Lo;0;L;;;;;N;;;;; +11217;KHOJKI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11218;KHOJKI LETTER NNA;Lo;0;L;;;;;N;;;;; +11219;KHOJKI LETTER TA;Lo;0;L;;;;;N;;;;; +1121A;KHOJKI LETTER THA;Lo;0;L;;;;;N;;;;; +1121B;KHOJKI LETTER DA;Lo;0;L;;;;;N;;;;; +1121C;KHOJKI LETTER DDDA;Lo;0;L;;;;;N;;;;; +1121D;KHOJKI LETTER DHA;Lo;0;L;;;;;N;;;;; +1121E;KHOJKI LETTER NA;Lo;0;L;;;;;N;;;;; +1121F;KHOJKI LETTER PA;Lo;0;L;;;;;N;;;;; +11220;KHOJKI LETTER PHA;Lo;0;L;;;;;N;;;;; +11221;KHOJKI LETTER BA;Lo;0;L;;;;;N;;;;; +11222;KHOJKI LETTER BBA;Lo;0;L;;;;;N;;;;; +11223;KHOJKI LETTER BHA;Lo;0;L;;;;;N;;;;; +11224;KHOJKI LETTER MA;Lo;0;L;;;;;N;;;;; +11225;KHOJKI LETTER YA;Lo;0;L;;;;;N;;;;; +11226;KHOJKI LETTER RA;Lo;0;L;;;;;N;;;;; +11227;KHOJKI LETTER LA;Lo;0;L;;;;;N;;;;; +11228;KHOJKI LETTER VA;Lo;0;L;;;;;N;;;;; +11229;KHOJKI LETTER SA;Lo;0;L;;;;;N;;;;; +1122A;KHOJKI LETTER HA;Lo;0;L;;;;;N;;;;; +1122B;KHOJKI LETTER LLA;Lo;0;L;;;;;N;;;;; +1122C;KHOJKI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1122D;KHOJKI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +1122E;KHOJKI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +1122F;KHOJKI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11230;KHOJKI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11231;KHOJKI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11232;KHOJKI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +11233;KHOJKI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +11234;KHOJKI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11235;KHOJKI SIGN VIRAMA;Mc;9;L;;;;;N;;;;; +11236;KHOJKI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +11237;KHOJKI SIGN SHADDA;Mn;0;NSM;;;;;N;;;;; +11238;KHOJKI DANDA;Po;0;L;;;;;N;;;;; +11239;KHOJKI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +1123A;KHOJKI WORD SEPARATOR;Po;0;L;;;;;N;;;;; +1123B;KHOJKI SECTION MARK;Po;0;L;;;;;N;;;;; +1123C;KHOJKI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;; +1123D;KHOJKI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +1123E;KHOJKI SIGN SUKUN;Mn;0;NSM;;;;;N;;;;; +11280;MULTANI LETTER A;Lo;0;L;;;;;N;;;;; +11281;MULTANI LETTER I;Lo;0;L;;;;;N;;;;; +11282;MULTANI LETTER U;Lo;0;L;;;;;N;;;;; +11283;MULTANI LETTER E;Lo;0;L;;;;;N;;;;; +11284;MULTANI LETTER KA;Lo;0;L;;;;;N;;;;; +11285;MULTANI LETTER KHA;Lo;0;L;;;;;N;;;;; +11286;MULTANI LETTER GA;Lo;0;L;;;;;N;;;;; +11288;MULTANI LETTER GHA;Lo;0;L;;;;;N;;;;; +1128A;MULTANI LETTER CA;Lo;0;L;;;;;N;;;;; +1128B;MULTANI LETTER CHA;Lo;0;L;;;;;N;;;;; +1128C;MULTANI LETTER JA;Lo;0;L;;;;;N;;;;; +1128D;MULTANI LETTER JJA;Lo;0;L;;;;;N;;;;; +1128F;MULTANI LETTER NYA;Lo;0;L;;;;;N;;;;; +11290;MULTANI LETTER TTA;Lo;0;L;;;;;N;;;;; +11291;MULTANI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11292;MULTANI LETTER DDA;Lo;0;L;;;;;N;;;;; +11293;MULTANI LETTER DDDA;Lo;0;L;;;;;N;;;;; +11294;MULTANI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11295;MULTANI LETTER NNA;Lo;0;L;;;;;N;;;;; +11296;MULTANI LETTER TA;Lo;0;L;;;;;N;;;;; +11297;MULTANI LETTER THA;Lo;0;L;;;;;N;;;;; +11298;MULTANI LETTER DA;Lo;0;L;;;;;N;;;;; +11299;MULTANI LETTER DHA;Lo;0;L;;;;;N;;;;; +1129A;MULTANI LETTER NA;Lo;0;L;;;;;N;;;;; +1129B;MULTANI LETTER PA;Lo;0;L;;;;;N;;;;; +1129C;MULTANI LETTER PHA;Lo;0;L;;;;;N;;;;; +1129D;MULTANI LETTER BA;Lo;0;L;;;;;N;;;;; +1129F;MULTANI LETTER BHA;Lo;0;L;;;;;N;;;;; +112A0;MULTANI LETTER MA;Lo;0;L;;;;;N;;;;; +112A1;MULTANI LETTER YA;Lo;0;L;;;;;N;;;;; +112A2;MULTANI LETTER RA;Lo;0;L;;;;;N;;;;; +112A3;MULTANI LETTER LA;Lo;0;L;;;;;N;;;;; +112A4;MULTANI LETTER VA;Lo;0;L;;;;;N;;;;; +112A5;MULTANI LETTER SA;Lo;0;L;;;;;N;;;;; +112A6;MULTANI LETTER HA;Lo;0;L;;;;;N;;;;; +112A7;MULTANI LETTER RRA;Lo;0;L;;;;;N;;;;; +112A8;MULTANI LETTER RHA;Lo;0;L;;;;;N;;;;; +112A9;MULTANI SECTION MARK;Po;0;L;;;;;N;;;;; +112B0;KHUDAWADI LETTER A;Lo;0;L;;;;;N;;;;; +112B1;KHUDAWADI LETTER AA;Lo;0;L;;;;;N;;;;; +112B2;KHUDAWADI LETTER I;Lo;0;L;;;;;N;;;;; +112B3;KHUDAWADI LETTER II;Lo;0;L;;;;;N;;;;; +112B4;KHUDAWADI LETTER U;Lo;0;L;;;;;N;;;;; +112B5;KHUDAWADI LETTER UU;Lo;0;L;;;;;N;;;;; +112B6;KHUDAWADI LETTER E;Lo;0;L;;;;;N;;;;; +112B7;KHUDAWADI LETTER AI;Lo;0;L;;;;;N;;;;; +112B8;KHUDAWADI LETTER O;Lo;0;L;;;;;N;;;;; +112B9;KHUDAWADI LETTER AU;Lo;0;L;;;;;N;;;;; +112BA;KHUDAWADI LETTER KA;Lo;0;L;;;;;N;;;;; +112BB;KHUDAWADI LETTER KHA;Lo;0;L;;;;;N;;;;; +112BC;KHUDAWADI LETTER GA;Lo;0;L;;;;;N;;;;; +112BD;KHUDAWADI LETTER GGA;Lo;0;L;;;;;N;;;;; +112BE;KHUDAWADI LETTER GHA;Lo;0;L;;;;;N;;;;; +112BF;KHUDAWADI LETTER NGA;Lo;0;L;;;;;N;;;;; +112C0;KHUDAWADI LETTER CA;Lo;0;L;;;;;N;;;;; +112C1;KHUDAWADI LETTER CHA;Lo;0;L;;;;;N;;;;; +112C2;KHUDAWADI LETTER JA;Lo;0;L;;;;;N;;;;; +112C3;KHUDAWADI LETTER JJA;Lo;0;L;;;;;N;;;;; +112C4;KHUDAWADI LETTER JHA;Lo;0;L;;;;;N;;;;; +112C5;KHUDAWADI LETTER NYA;Lo;0;L;;;;;N;;;;; +112C6;KHUDAWADI LETTER TTA;Lo;0;L;;;;;N;;;;; +112C7;KHUDAWADI LETTER TTHA;Lo;0;L;;;;;N;;;;; +112C8;KHUDAWADI LETTER DDA;Lo;0;L;;;;;N;;;;; +112C9;KHUDAWADI LETTER DDDA;Lo;0;L;;;;;N;;;;; +112CA;KHUDAWADI LETTER RRA;Lo;0;L;;;;;N;;;;; +112CB;KHUDAWADI LETTER DDHA;Lo;0;L;;;;;N;;;;; +112CC;KHUDAWADI LETTER NNA;Lo;0;L;;;;;N;;;;; +112CD;KHUDAWADI LETTER TA;Lo;0;L;;;;;N;;;;; +112CE;KHUDAWADI LETTER THA;Lo;0;L;;;;;N;;;;; +112CF;KHUDAWADI LETTER DA;Lo;0;L;;;;;N;;;;; +112D0;KHUDAWADI LETTER DHA;Lo;0;L;;;;;N;;;;; +112D1;KHUDAWADI LETTER NA;Lo;0;L;;;;;N;;;;; +112D2;KHUDAWADI LETTER PA;Lo;0;L;;;;;N;;;;; +112D3;KHUDAWADI LETTER PHA;Lo;0;L;;;;;N;;;;; +112D4;KHUDAWADI LETTER BA;Lo;0;L;;;;;N;;;;; +112D5;KHUDAWADI LETTER BBA;Lo;0;L;;;;;N;;;;; +112D6;KHUDAWADI LETTER BHA;Lo;0;L;;;;;N;;;;; +112D7;KHUDAWADI LETTER MA;Lo;0;L;;;;;N;;;;; +112D8;KHUDAWADI LETTER YA;Lo;0;L;;;;;N;;;;; +112D9;KHUDAWADI LETTER RA;Lo;0;L;;;;;N;;;;; +112DA;KHUDAWADI LETTER LA;Lo;0;L;;;;;N;;;;; +112DB;KHUDAWADI LETTER VA;Lo;0;L;;;;;N;;;;; +112DC;KHUDAWADI LETTER SHA;Lo;0;L;;;;;N;;;;; +112DD;KHUDAWADI LETTER SA;Lo;0;L;;;;;N;;;;; +112DE;KHUDAWADI LETTER HA;Lo;0;L;;;;;N;;;;; +112DF;KHUDAWADI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +112E0;KHUDAWADI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +112E1;KHUDAWADI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +112E2;KHUDAWADI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +112E3;KHUDAWADI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +112E4;KHUDAWADI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +112E5;KHUDAWADI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +112E6;KHUDAWADI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +112E7;KHUDAWADI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +112E8;KHUDAWADI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +112E9;KHUDAWADI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +112EA;KHUDAWADI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +112F0;KHUDAWADI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +112F1;KHUDAWADI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +112F2;KHUDAWADI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +112F3;KHUDAWADI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +112F4;KHUDAWADI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +112F5;KHUDAWADI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +112F6;KHUDAWADI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +112F7;KHUDAWADI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +112F8;KHUDAWADI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +112F9;KHUDAWADI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11300;GRANTHA SIGN COMBINING ANUSVARA ABOVE;Mn;0;NSM;;;;;N;;;;; +11301;GRANTHA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11302;GRANTHA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +11303;GRANTHA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11305;GRANTHA LETTER A;Lo;0;L;;;;;N;;;;; +11306;GRANTHA LETTER AA;Lo;0;L;;;;;N;;;;; +11307;GRANTHA LETTER I;Lo;0;L;;;;;N;;;;; +11308;GRANTHA LETTER II;Lo;0;L;;;;;N;;;;; +11309;GRANTHA LETTER U;Lo;0;L;;;;;N;;;;; +1130A;GRANTHA LETTER UU;Lo;0;L;;;;;N;;;;; +1130B;GRANTHA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +1130C;GRANTHA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1130F;GRANTHA LETTER EE;Lo;0;L;;;;;N;;;;; +11310;GRANTHA LETTER AI;Lo;0;L;;;;;N;;;;; +11313;GRANTHA LETTER OO;Lo;0;L;;;;;N;;;;; +11314;GRANTHA LETTER AU;Lo;0;L;;;;;N;;;;; +11315;GRANTHA LETTER KA;Lo;0;L;;;;;N;;;;; +11316;GRANTHA LETTER KHA;Lo;0;L;;;;;N;;;;; +11317;GRANTHA LETTER GA;Lo;0;L;;;;;N;;;;; +11318;GRANTHA LETTER GHA;Lo;0;L;;;;;N;;;;; +11319;GRANTHA LETTER NGA;Lo;0;L;;;;;N;;;;; +1131A;GRANTHA LETTER CA;Lo;0;L;;;;;N;;;;; +1131B;GRANTHA LETTER CHA;Lo;0;L;;;;;N;;;;; +1131C;GRANTHA LETTER JA;Lo;0;L;;;;;N;;;;; +1131D;GRANTHA LETTER JHA;Lo;0;L;;;;;N;;;;; +1131E;GRANTHA LETTER NYA;Lo;0;L;;;;;N;;;;; +1131F;GRANTHA LETTER TTA;Lo;0;L;;;;;N;;;;; +11320;GRANTHA LETTER TTHA;Lo;0;L;;;;;N;;;;; +11321;GRANTHA LETTER DDA;Lo;0;L;;;;;N;;;;; +11322;GRANTHA LETTER DDHA;Lo;0;L;;;;;N;;;;; +11323;GRANTHA LETTER NNA;Lo;0;L;;;;;N;;;;; +11324;GRANTHA LETTER TA;Lo;0;L;;;;;N;;;;; +11325;GRANTHA LETTER THA;Lo;0;L;;;;;N;;;;; +11326;GRANTHA LETTER DA;Lo;0;L;;;;;N;;;;; +11327;GRANTHA LETTER DHA;Lo;0;L;;;;;N;;;;; +11328;GRANTHA LETTER NA;Lo;0;L;;;;;N;;;;; +1132A;GRANTHA LETTER PA;Lo;0;L;;;;;N;;;;; +1132B;GRANTHA LETTER PHA;Lo;0;L;;;;;N;;;;; +1132C;GRANTHA LETTER BA;Lo;0;L;;;;;N;;;;; +1132D;GRANTHA LETTER BHA;Lo;0;L;;;;;N;;;;; +1132E;GRANTHA LETTER MA;Lo;0;L;;;;;N;;;;; +1132F;GRANTHA LETTER YA;Lo;0;L;;;;;N;;;;; +11330;GRANTHA LETTER RA;Lo;0;L;;;;;N;;;;; +11332;GRANTHA LETTER LA;Lo;0;L;;;;;N;;;;; +11333;GRANTHA LETTER LLA;Lo;0;L;;;;;N;;;;; +11335;GRANTHA LETTER VA;Lo;0;L;;;;;N;;;;; +11336;GRANTHA LETTER SHA;Lo;0;L;;;;;N;;;;; +11337;GRANTHA LETTER SSA;Lo;0;L;;;;;N;;;;; +11338;GRANTHA LETTER SA;Lo;0;L;;;;;N;;;;; +11339;GRANTHA LETTER HA;Lo;0;L;;;;;N;;;;; +1133B;COMBINING BINDU BELOW;Mn;7;NSM;;;;;N;;;;; +1133C;GRANTHA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +1133D;GRANTHA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +1133E;GRANTHA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1133F;GRANTHA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11340;GRANTHA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +11341;GRANTHA VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +11342;GRANTHA VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +11343;GRANTHA VOWEL SIGN VOCALIC R;Mc;0;L;;;;;N;;;;; +11344;GRANTHA VOWEL SIGN VOCALIC RR;Mc;0;L;;;;;N;;;;; +11347;GRANTHA VOWEL SIGN EE;Mc;0;L;;;;;N;;;;; +11348;GRANTHA VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +1134B;GRANTHA VOWEL SIGN OO;Mc;0;L;11347 1133E;;;;N;;;;; +1134C;GRANTHA VOWEL SIGN AU;Mc;0;L;11347 11357;;;;N;;;;; +1134D;GRANTHA SIGN VIRAMA;Mc;9;L;;;;;N;;;;; +11350;GRANTHA OM;Lo;0;L;;;;;N;;;;; +11357;GRANTHA AU LENGTH MARK;Mc;0;L;;;;;N;;;;; +1135D;GRANTHA SIGN PLUTA;Lo;0;L;;;;;N;;;;; +1135E;GRANTHA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; +1135F;GRANTHA LETTER VEDIC DOUBLE ANUSVARA;Lo;0;L;;;;;N;;;;; +11360;GRANTHA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11361;GRANTHA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +11362;GRANTHA VOWEL SIGN VOCALIC L;Mc;0;L;;;;;N;;;;; +11363;GRANTHA VOWEL SIGN VOCALIC LL;Mc;0;L;;;;;N;;;;; +11366;COMBINING GRANTHA DIGIT ZERO;Mn;230;NSM;;;;;N;;;;; +11367;COMBINING GRANTHA DIGIT ONE;Mn;230;NSM;;;;;N;;;;; +11368;COMBINING GRANTHA DIGIT TWO;Mn;230;NSM;;;;;N;;;;; +11369;COMBINING GRANTHA DIGIT THREE;Mn;230;NSM;;;;;N;;;;; +1136A;COMBINING GRANTHA DIGIT FOUR;Mn;230;NSM;;;;;N;;;;; +1136B;COMBINING GRANTHA DIGIT FIVE;Mn;230;NSM;;;;;N;;;;; +1136C;COMBINING GRANTHA DIGIT SIX;Mn;230;NSM;;;;;N;;;;; +11370;COMBINING GRANTHA LETTER A;Mn;230;NSM;;;;;N;;;;; +11371;COMBINING GRANTHA LETTER KA;Mn;230;NSM;;;;;N;;;;; +11372;COMBINING GRANTHA LETTER NA;Mn;230;NSM;;;;;N;;;;; +11373;COMBINING GRANTHA LETTER VI;Mn;230;NSM;;;;;N;;;;; +11374;COMBINING GRANTHA LETTER PA;Mn;230;NSM;;;;;N;;;;; +11400;NEWA LETTER A;Lo;0;L;;;;;N;;;;; +11401;NEWA LETTER AA;Lo;0;L;;;;;N;;;;; +11402;NEWA LETTER I;Lo;0;L;;;;;N;;;;; +11403;NEWA LETTER II;Lo;0;L;;;;;N;;;;; +11404;NEWA LETTER U;Lo;0;L;;;;;N;;;;; +11405;NEWA LETTER UU;Lo;0;L;;;;;N;;;;; +11406;NEWA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +11407;NEWA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11408;NEWA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +11409;NEWA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1140A;NEWA LETTER E;Lo;0;L;;;;;N;;;;; +1140B;NEWA LETTER AI;Lo;0;L;;;;;N;;;;; +1140C;NEWA LETTER O;Lo;0;L;;;;;N;;;;; +1140D;NEWA LETTER AU;Lo;0;L;;;;;N;;;;; +1140E;NEWA LETTER KA;Lo;0;L;;;;;N;;;;; +1140F;NEWA LETTER KHA;Lo;0;L;;;;;N;;;;; +11410;NEWA LETTER GA;Lo;0;L;;;;;N;;;;; +11411;NEWA LETTER GHA;Lo;0;L;;;;;N;;;;; +11412;NEWA LETTER NGA;Lo;0;L;;;;;N;;;;; +11413;NEWA LETTER NGHA;Lo;0;L;;;;;N;;;;; +11414;NEWA LETTER CA;Lo;0;L;;;;;N;;;;; +11415;NEWA LETTER CHA;Lo;0;L;;;;;N;;;;; +11416;NEWA LETTER JA;Lo;0;L;;;;;N;;;;; +11417;NEWA LETTER JHA;Lo;0;L;;;;;N;;;;; +11418;NEWA LETTER NYA;Lo;0;L;;;;;N;;;;; +11419;NEWA LETTER NYHA;Lo;0;L;;;;;N;;;;; +1141A;NEWA LETTER TTA;Lo;0;L;;;;;N;;;;; +1141B;NEWA LETTER TTHA;Lo;0;L;;;;;N;;;;; +1141C;NEWA LETTER DDA;Lo;0;L;;;;;N;;;;; +1141D;NEWA LETTER DDHA;Lo;0;L;;;;;N;;;;; +1141E;NEWA LETTER NNA;Lo;0;L;;;;;N;;;;; +1141F;NEWA LETTER TA;Lo;0;L;;;;;N;;;;; +11420;NEWA LETTER THA;Lo;0;L;;;;;N;;;;; +11421;NEWA LETTER DA;Lo;0;L;;;;;N;;;;; +11422;NEWA LETTER DHA;Lo;0;L;;;;;N;;;;; +11423;NEWA LETTER NA;Lo;0;L;;;;;N;;;;; +11424;NEWA LETTER NHA;Lo;0;L;;;;;N;;;;; +11425;NEWA LETTER PA;Lo;0;L;;;;;N;;;;; +11426;NEWA LETTER PHA;Lo;0;L;;;;;N;;;;; +11427;NEWA LETTER BA;Lo;0;L;;;;;N;;;;; +11428;NEWA LETTER BHA;Lo;0;L;;;;;N;;;;; +11429;NEWA LETTER MA;Lo;0;L;;;;;N;;;;; +1142A;NEWA LETTER MHA;Lo;0;L;;;;;N;;;;; +1142B;NEWA LETTER YA;Lo;0;L;;;;;N;;;;; +1142C;NEWA LETTER RA;Lo;0;L;;;;;N;;;;; +1142D;NEWA LETTER RHA;Lo;0;L;;;;;N;;;;; +1142E;NEWA LETTER LA;Lo;0;L;;;;;N;;;;; +1142F;NEWA LETTER LHA;Lo;0;L;;;;;N;;;;; +11430;NEWA LETTER WA;Lo;0;L;;;;;N;;;;; +11431;NEWA LETTER SHA;Lo;0;L;;;;;N;;;;; +11432;NEWA LETTER SSA;Lo;0;L;;;;;N;;;;; +11433;NEWA LETTER SA;Lo;0;L;;;;;N;;;;; +11434;NEWA LETTER HA;Lo;0;L;;;;;N;;;;; +11435;NEWA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11436;NEWA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11437;NEWA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +11438;NEWA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11439;NEWA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +1143A;NEWA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +1143B;NEWA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +1143C;NEWA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +1143D;NEWA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +1143E;NEWA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1143F;NEWA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11440;NEWA VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +11441;NEWA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +11442;NEWA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +11443;NEWA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11444;NEWA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11445;NEWA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11446;NEWA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +11447;NEWA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +11448;NEWA SIGN FINAL ANUSVARA;Lo;0;L;;;;;N;;;;; +11449;NEWA OM;Lo;0;L;;;;;N;;;;; +1144A;NEWA SIDDHI;Lo;0;L;;;;;N;;;;; +1144B;NEWA DANDA;Po;0;L;;;;;N;;;;; +1144C;NEWA DOUBLE DANDA;Po;0;L;;;;;N;;;;; +1144D;NEWA COMMA;Po;0;L;;;;;N;;;;; +1144E;NEWA GAP FILLER;Po;0;L;;;;;N;;;;; +1144F;NEWA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +11450;NEWA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11451;NEWA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11452;NEWA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11453;NEWA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11454;NEWA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11455;NEWA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11456;NEWA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11457;NEWA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11458;NEWA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11459;NEWA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1145A;NEWA DOUBLE COMMA;Po;0;L;;;;;N;;;;; +1145B;NEWA PLACEHOLDER MARK;Po;0;L;;;;;N;;;;; +1145D;NEWA INSERTION SIGN;Po;0;L;;;;;N;;;;; +1145E;NEWA SANDHI MARK;Mn;230;NSM;;;;;N;;;;; +1145F;NEWA LETTER VEDIC ANUSVARA;Lo;0;L;;;;;N;;;;; +11460;NEWA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +11461;NEWA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +11480;TIRHUTA ANJI;Lo;0;L;;;;;N;;;;; +11481;TIRHUTA LETTER A;Lo;0;L;;;;;N;;;;; +11482;TIRHUTA LETTER AA;Lo;0;L;;;;;N;;;;; +11483;TIRHUTA LETTER I;Lo;0;L;;;;;N;;;;; +11484;TIRHUTA LETTER II;Lo;0;L;;;;;N;;;;; +11485;TIRHUTA LETTER U;Lo;0;L;;;;;N;;;;; +11486;TIRHUTA LETTER UU;Lo;0;L;;;;;N;;;;; +11487;TIRHUTA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +11488;TIRHUTA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11489;TIRHUTA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +1148A;TIRHUTA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1148B;TIRHUTA LETTER E;Lo;0;L;;;;;N;;;;; +1148C;TIRHUTA LETTER AI;Lo;0;L;;;;;N;;;;; +1148D;TIRHUTA LETTER O;Lo;0;L;;;;;N;;;;; +1148E;TIRHUTA LETTER AU;Lo;0;L;;;;;N;;;;; +1148F;TIRHUTA LETTER KA;Lo;0;L;;;;;N;;;;; +11490;TIRHUTA LETTER KHA;Lo;0;L;;;;;N;;;;; +11491;TIRHUTA LETTER GA;Lo;0;L;;;;;N;;;;; +11492;TIRHUTA LETTER GHA;Lo;0;L;;;;;N;;;;; +11493;TIRHUTA LETTER NGA;Lo;0;L;;;;;N;;;;; +11494;TIRHUTA LETTER CA;Lo;0;L;;;;;N;;;;; +11495;TIRHUTA LETTER CHA;Lo;0;L;;;;;N;;;;; +11496;TIRHUTA LETTER JA;Lo;0;L;;;;;N;;;;; +11497;TIRHUTA LETTER JHA;Lo;0;L;;;;;N;;;;; +11498;TIRHUTA LETTER NYA;Lo;0;L;;;;;N;;;;; +11499;TIRHUTA LETTER TTA;Lo;0;L;;;;;N;;;;; +1149A;TIRHUTA LETTER TTHA;Lo;0;L;;;;;N;;;;; +1149B;TIRHUTA LETTER DDA;Lo;0;L;;;;;N;;;;; +1149C;TIRHUTA LETTER DDHA;Lo;0;L;;;;;N;;;;; +1149D;TIRHUTA LETTER NNA;Lo;0;L;;;;;N;;;;; +1149E;TIRHUTA LETTER TA;Lo;0;L;;;;;N;;;;; +1149F;TIRHUTA LETTER THA;Lo;0;L;;;;;N;;;;; +114A0;TIRHUTA LETTER DA;Lo;0;L;;;;;N;;;;; +114A1;TIRHUTA LETTER DHA;Lo;0;L;;;;;N;;;;; +114A2;TIRHUTA LETTER NA;Lo;0;L;;;;;N;;;;; +114A3;TIRHUTA LETTER PA;Lo;0;L;;;;;N;;;;; +114A4;TIRHUTA LETTER PHA;Lo;0;L;;;;;N;;;;; +114A5;TIRHUTA LETTER BA;Lo;0;L;;;;;N;;;;; +114A6;TIRHUTA LETTER BHA;Lo;0;L;;;;;N;;;;; +114A7;TIRHUTA LETTER MA;Lo;0;L;;;;;N;;;;; +114A8;TIRHUTA LETTER YA;Lo;0;L;;;;;N;;;;; +114A9;TIRHUTA LETTER RA;Lo;0;L;;;;;N;;;;; +114AA;TIRHUTA LETTER LA;Lo;0;L;;;;;N;;;;; +114AB;TIRHUTA LETTER VA;Lo;0;L;;;;;N;;;;; +114AC;TIRHUTA LETTER SHA;Lo;0;L;;;;;N;;;;; +114AD;TIRHUTA LETTER SSA;Lo;0;L;;;;;N;;;;; +114AE;TIRHUTA LETTER SA;Lo;0;L;;;;;N;;;;; +114AF;TIRHUTA LETTER HA;Lo;0;L;;;;;N;;;;; +114B0;TIRHUTA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +114B1;TIRHUTA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +114B2;TIRHUTA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +114B3;TIRHUTA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +114B4;TIRHUTA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +114B5;TIRHUTA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +114B6;TIRHUTA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +114B7;TIRHUTA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +114B8;TIRHUTA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +114B9;TIRHUTA VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +114BA;TIRHUTA VOWEL SIGN SHORT E;Mn;0;NSM;;;;;N;;;;; +114BB;TIRHUTA VOWEL SIGN AI;Mc;0;L;114B9 114BA;;;;N;;;;; +114BC;TIRHUTA VOWEL SIGN O;Mc;0;L;114B9 114B0;;;;N;;;;; +114BD;TIRHUTA VOWEL SIGN SHORT O;Mc;0;L;;;;;N;;;;; +114BE;TIRHUTA VOWEL SIGN AU;Mc;0;L;114B9 114BD;;;;N;;;;; +114BF;TIRHUTA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +114C0;TIRHUTA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +114C1;TIRHUTA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +114C2;TIRHUTA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +114C3;TIRHUTA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +114C4;TIRHUTA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +114C5;TIRHUTA GVANG;Lo;0;L;;;;;N;;;;; +114C6;TIRHUTA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +114C7;TIRHUTA OM;Lo;0;L;;;;;N;;;;; +114D0;TIRHUTA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +114D1;TIRHUTA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +114D2;TIRHUTA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +114D3;TIRHUTA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +114D4;TIRHUTA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +114D5;TIRHUTA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +114D6;TIRHUTA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +114D7;TIRHUTA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +114D8;TIRHUTA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +114D9;TIRHUTA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11580;SIDDHAM LETTER A;Lo;0;L;;;;;N;;;;; +11581;SIDDHAM LETTER AA;Lo;0;L;;;;;N;;;;; +11582;SIDDHAM LETTER I;Lo;0;L;;;;;N;;;;; +11583;SIDDHAM LETTER II;Lo;0;L;;;;;N;;;;; +11584;SIDDHAM LETTER U;Lo;0;L;;;;;N;;;;; +11585;SIDDHAM LETTER UU;Lo;0;L;;;;;N;;;;; +11586;SIDDHAM LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +11587;SIDDHAM LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11588;SIDDHAM LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +11589;SIDDHAM LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1158A;SIDDHAM LETTER E;Lo;0;L;;;;;N;;;;; +1158B;SIDDHAM LETTER AI;Lo;0;L;;;;;N;;;;; +1158C;SIDDHAM LETTER O;Lo;0;L;;;;;N;;;;; +1158D;SIDDHAM LETTER AU;Lo;0;L;;;;;N;;;;; +1158E;SIDDHAM LETTER KA;Lo;0;L;;;;;N;;;;; +1158F;SIDDHAM LETTER KHA;Lo;0;L;;;;;N;;;;; +11590;SIDDHAM LETTER GA;Lo;0;L;;;;;N;;;;; +11591;SIDDHAM LETTER GHA;Lo;0;L;;;;;N;;;;; +11592;SIDDHAM LETTER NGA;Lo;0;L;;;;;N;;;;; +11593;SIDDHAM LETTER CA;Lo;0;L;;;;;N;;;;; +11594;SIDDHAM LETTER CHA;Lo;0;L;;;;;N;;;;; +11595;SIDDHAM LETTER JA;Lo;0;L;;;;;N;;;;; +11596;SIDDHAM LETTER JHA;Lo;0;L;;;;;N;;;;; +11597;SIDDHAM LETTER NYA;Lo;0;L;;;;;N;;;;; +11598;SIDDHAM LETTER TTA;Lo;0;L;;;;;N;;;;; +11599;SIDDHAM LETTER TTHA;Lo;0;L;;;;;N;;;;; +1159A;SIDDHAM LETTER DDA;Lo;0;L;;;;;N;;;;; +1159B;SIDDHAM LETTER DDHA;Lo;0;L;;;;;N;;;;; +1159C;SIDDHAM LETTER NNA;Lo;0;L;;;;;N;;;;; +1159D;SIDDHAM LETTER TA;Lo;0;L;;;;;N;;;;; +1159E;SIDDHAM LETTER THA;Lo;0;L;;;;;N;;;;; +1159F;SIDDHAM LETTER DA;Lo;0;L;;;;;N;;;;; +115A0;SIDDHAM LETTER DHA;Lo;0;L;;;;;N;;;;; +115A1;SIDDHAM LETTER NA;Lo;0;L;;;;;N;;;;; +115A2;SIDDHAM LETTER PA;Lo;0;L;;;;;N;;;;; +115A3;SIDDHAM LETTER PHA;Lo;0;L;;;;;N;;;;; +115A4;SIDDHAM LETTER BA;Lo;0;L;;;;;N;;;;; +115A5;SIDDHAM LETTER BHA;Lo;0;L;;;;;N;;;;; +115A6;SIDDHAM LETTER MA;Lo;0;L;;;;;N;;;;; +115A7;SIDDHAM LETTER YA;Lo;0;L;;;;;N;;;;; +115A8;SIDDHAM LETTER RA;Lo;0;L;;;;;N;;;;; +115A9;SIDDHAM LETTER LA;Lo;0;L;;;;;N;;;;; +115AA;SIDDHAM LETTER VA;Lo;0;L;;;;;N;;;;; +115AB;SIDDHAM LETTER SHA;Lo;0;L;;;;;N;;;;; +115AC;SIDDHAM LETTER SSA;Lo;0;L;;;;;N;;;;; +115AD;SIDDHAM LETTER SA;Lo;0;L;;;;;N;;;;; +115AE;SIDDHAM LETTER HA;Lo;0;L;;;;;N;;;;; +115AF;SIDDHAM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +115B0;SIDDHAM VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +115B1;SIDDHAM VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +115B2;SIDDHAM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +115B3;SIDDHAM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +115B4;SIDDHAM VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +115B5;SIDDHAM VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +115B8;SIDDHAM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +115B9;SIDDHAM VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +115BA;SIDDHAM VOWEL SIGN O;Mc;0;L;115B8 115AF;;;;N;;;;; +115BB;SIDDHAM VOWEL SIGN AU;Mc;0;L;115B9 115AF;;;;N;;;;; +115BC;SIDDHAM SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +115BD;SIDDHAM SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +115BE;SIDDHAM SIGN VISARGA;Mc;0;L;;;;;N;;;;; +115BF;SIDDHAM SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +115C0;SIDDHAM SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +115C1;SIDDHAM SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +115C2;SIDDHAM DANDA;Po;0;L;;;;;N;;;;; +115C3;SIDDHAM DOUBLE DANDA;Po;0;L;;;;;N;;;;; +115C4;SIDDHAM SEPARATOR DOT;Po;0;L;;;;;N;;;;; +115C5;SIDDHAM SEPARATOR BAR;Po;0;L;;;;;N;;;;; +115C6;SIDDHAM REPETITION MARK-1;Po;0;L;;;;;N;;;;; +115C7;SIDDHAM REPETITION MARK-2;Po;0;L;;;;;N;;;;; +115C8;SIDDHAM REPETITION MARK-3;Po;0;L;;;;;N;;;;; +115C9;SIDDHAM END OF TEXT MARK;Po;0;L;;;;;N;;;;; +115CA;SIDDHAM SECTION MARK WITH TRIDENT AND U-SHAPED ORNAMENTS;Po;0;L;;;;;N;;;;; +115CB;SIDDHAM SECTION MARK WITH TRIDENT AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; +115CC;SIDDHAM SECTION MARK WITH RAYS AND DOTTED CRESCENTS;Po;0;L;;;;;N;;;;; +115CD;SIDDHAM SECTION MARK WITH RAYS AND DOTTED DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; +115CE;SIDDHAM SECTION MARK WITH RAYS AND DOTTED TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115CF;SIDDHAM SECTION MARK DOUBLE RING;Po;0;L;;;;;N;;;;; +115D0;SIDDHAM SECTION MARK DOUBLE RING WITH RAYS;Po;0;L;;;;;N;;;;; +115D1;SIDDHAM SECTION MARK WITH DOUBLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D2;SIDDHAM SECTION MARK WITH TRIPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D3;SIDDHAM SECTION MARK WITH QUADRUPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D4;SIDDHAM SECTION MARK WITH SEPTUPLE CRESCENTS;Po;0;L;;;;;N;;;;; +115D5;SIDDHAM SECTION MARK WITH CIRCLES AND RAYS;Po;0;L;;;;;N;;;;; +115D6;SIDDHAM SECTION MARK WITH CIRCLES AND TWO ENCLOSURES;Po;0;L;;;;;N;;;;; +115D7;SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES;Po;0;L;;;;;N;;;;; +115D8;SIDDHAM LETTER THREE-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; +115D9;SIDDHAM LETTER TWO-CIRCLE ALTERNATE I;Lo;0;L;;;;;N;;;;; +115DA;SIDDHAM LETTER TWO-CIRCLE ALTERNATE II;Lo;0;L;;;;;N;;;;; +115DB;SIDDHAM LETTER ALTERNATE U;Lo;0;L;;;;;N;;;;; +115DC;SIDDHAM VOWEL SIGN ALTERNATE U;Mn;0;NSM;;;;;N;;;;; +115DD;SIDDHAM VOWEL SIGN ALTERNATE UU;Mn;0;NSM;;;;;N;;;;; +11600;MODI LETTER A;Lo;0;L;;;;;N;;;;; +11601;MODI LETTER AA;Lo;0;L;;;;;N;;;;; +11602;MODI LETTER I;Lo;0;L;;;;;N;;;;; +11603;MODI LETTER II;Lo;0;L;;;;;N;;;;; +11604;MODI LETTER U;Lo;0;L;;;;;N;;;;; +11605;MODI LETTER UU;Lo;0;L;;;;;N;;;;; +11606;MODI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +11607;MODI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11608;MODI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +11609;MODI LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;; +1160A;MODI LETTER E;Lo;0;L;;;;;N;;;;; +1160B;MODI LETTER AI;Lo;0;L;;;;;N;;;;; +1160C;MODI LETTER O;Lo;0;L;;;;;N;;;;; +1160D;MODI LETTER AU;Lo;0;L;;;;;N;;;;; +1160E;MODI LETTER KA;Lo;0;L;;;;;N;;;;; +1160F;MODI LETTER KHA;Lo;0;L;;;;;N;;;;; +11610;MODI LETTER GA;Lo;0;L;;;;;N;;;;; +11611;MODI LETTER GHA;Lo;0;L;;;;;N;;;;; +11612;MODI LETTER NGA;Lo;0;L;;;;;N;;;;; +11613;MODI LETTER CA;Lo;0;L;;;;;N;;;;; +11614;MODI LETTER CHA;Lo;0;L;;;;;N;;;;; +11615;MODI LETTER JA;Lo;0;L;;;;;N;;;;; +11616;MODI LETTER JHA;Lo;0;L;;;;;N;;;;; +11617;MODI LETTER NYA;Lo;0;L;;;;;N;;;;; +11618;MODI LETTER TTA;Lo;0;L;;;;;N;;;;; +11619;MODI LETTER TTHA;Lo;0;L;;;;;N;;;;; +1161A;MODI LETTER DDA;Lo;0;L;;;;;N;;;;; +1161B;MODI LETTER DDHA;Lo;0;L;;;;;N;;;;; +1161C;MODI LETTER NNA;Lo;0;L;;;;;N;;;;; +1161D;MODI LETTER TA;Lo;0;L;;;;;N;;;;; +1161E;MODI LETTER THA;Lo;0;L;;;;;N;;;;; +1161F;MODI LETTER DA;Lo;0;L;;;;;N;;;;; +11620;MODI LETTER DHA;Lo;0;L;;;;;N;;;;; +11621;MODI LETTER NA;Lo;0;L;;;;;N;;;;; +11622;MODI LETTER PA;Lo;0;L;;;;;N;;;;; +11623;MODI LETTER PHA;Lo;0;L;;;;;N;;;;; +11624;MODI LETTER BA;Lo;0;L;;;;;N;;;;; +11625;MODI LETTER BHA;Lo;0;L;;;;;N;;;;; +11626;MODI LETTER MA;Lo;0;L;;;;;N;;;;; +11627;MODI LETTER YA;Lo;0;L;;;;;N;;;;; +11628;MODI LETTER RA;Lo;0;L;;;;;N;;;;; +11629;MODI LETTER LA;Lo;0;L;;;;;N;;;;; +1162A;MODI LETTER VA;Lo;0;L;;;;;N;;;;; +1162B;MODI LETTER SHA;Lo;0;L;;;;;N;;;;; +1162C;MODI LETTER SSA;Lo;0;L;;;;;N;;;;; +1162D;MODI LETTER SA;Lo;0;L;;;;;N;;;;; +1162E;MODI LETTER HA;Lo;0;L;;;;;N;;;;; +1162F;MODI LETTER LLA;Lo;0;L;;;;;N;;;;; +11630;MODI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11631;MODI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11632;MODI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +11633;MODI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11634;MODI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11635;MODI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +11636;MODI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +11637;MODI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +11638;MODI VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;; +11639;MODI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +1163A;MODI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1163B;MODI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +1163C;MODI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +1163D;MODI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1163E;MODI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +1163F;MODI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +11640;MODI SIGN ARDHACANDRA;Mn;0;NSM;;;;;N;;;;; +11641;MODI DANDA;Po;0;L;;;;;N;;;;; +11642;MODI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +11643;MODI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +11644;MODI SIGN HUVA;Lo;0;L;;;;;N;;;;; +11650;MODI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11651;MODI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11652;MODI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11653;MODI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11654;MODI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11655;MODI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11656;MODI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11657;MODI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11658;MODI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11659;MODI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11660;MONGOLIAN BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;; +11661;MONGOLIAN ROTATED BIRGA;Po;0;ON;;;;;N;;;;; +11662;MONGOLIAN DOUBLE BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;; +11663;MONGOLIAN TRIPLE BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;; +11664;MONGOLIAN BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;; +11665;MONGOLIAN ROTATED BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;; +11666;MONGOLIAN ROTATED BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;; +11667;MONGOLIAN INVERTED BIRGA;Po;0;ON;;;;;N;;;;; +11668;MONGOLIAN INVERTED BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;; +11669;MONGOLIAN SWIRL BIRGA;Po;0;ON;;;;;N;;;;; +1166A;MONGOLIAN SWIRL BIRGA WITH ORNAMENT;Po;0;ON;;;;;N;;;;; +1166B;MONGOLIAN SWIRL BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;; +1166C;MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT;Po;0;ON;;;;;N;;;;; +11680;TAKRI LETTER A;Lo;0;L;;;;;N;;;;; +11681;TAKRI LETTER AA;Lo;0;L;;;;;N;;;;; +11682;TAKRI LETTER I;Lo;0;L;;;;;N;;;;; +11683;TAKRI LETTER II;Lo;0;L;;;;;N;;;;; +11684;TAKRI LETTER U;Lo;0;L;;;;;N;;;;; +11685;TAKRI LETTER UU;Lo;0;L;;;;;N;;;;; +11686;TAKRI LETTER E;Lo;0;L;;;;;N;;;;; +11687;TAKRI LETTER AI;Lo;0;L;;;;;N;;;;; +11688;TAKRI LETTER O;Lo;0;L;;;;;N;;;;; +11689;TAKRI LETTER AU;Lo;0;L;;;;;N;;;;; +1168A;TAKRI LETTER KA;Lo;0;L;;;;;N;;;;; +1168B;TAKRI LETTER KHA;Lo;0;L;;;;;N;;;;; +1168C;TAKRI LETTER GA;Lo;0;L;;;;;N;;;;; +1168D;TAKRI LETTER GHA;Lo;0;L;;;;;N;;;;; +1168E;TAKRI LETTER NGA;Lo;0;L;;;;;N;;;;; +1168F;TAKRI LETTER CA;Lo;0;L;;;;;N;;;;; +11690;TAKRI LETTER CHA;Lo;0;L;;;;;N;;;;; +11691;TAKRI LETTER JA;Lo;0;L;;;;;N;;;;; +11692;TAKRI LETTER JHA;Lo;0;L;;;;;N;;;;; +11693;TAKRI LETTER NYA;Lo;0;L;;;;;N;;;;; +11694;TAKRI LETTER TTA;Lo;0;L;;;;;N;;;;; +11695;TAKRI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11696;TAKRI LETTER DDA;Lo;0;L;;;;;N;;;;; +11697;TAKRI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11698;TAKRI LETTER NNA;Lo;0;L;;;;;N;;;;; +11699;TAKRI LETTER TA;Lo;0;L;;;;;N;;;;; +1169A;TAKRI LETTER THA;Lo;0;L;;;;;N;;;;; +1169B;TAKRI LETTER DA;Lo;0;L;;;;;N;;;;; +1169C;TAKRI LETTER DHA;Lo;0;L;;;;;N;;;;; +1169D;TAKRI LETTER NA;Lo;0;L;;;;;N;;;;; +1169E;TAKRI LETTER PA;Lo;0;L;;;;;N;;;;; +1169F;TAKRI LETTER PHA;Lo;0;L;;;;;N;;;;; +116A0;TAKRI LETTER BA;Lo;0;L;;;;;N;;;;; +116A1;TAKRI LETTER BHA;Lo;0;L;;;;;N;;;;; +116A2;TAKRI LETTER MA;Lo;0;L;;;;;N;;;;; +116A3;TAKRI LETTER YA;Lo;0;L;;;;;N;;;;; +116A4;TAKRI LETTER RA;Lo;0;L;;;;;N;;;;; +116A5;TAKRI LETTER LA;Lo;0;L;;;;;N;;;;; +116A6;TAKRI LETTER VA;Lo;0;L;;;;;N;;;;; +116A7;TAKRI LETTER SHA;Lo;0;L;;;;;N;;;;; +116A8;TAKRI LETTER SA;Lo;0;L;;;;;N;;;;; +116A9;TAKRI LETTER HA;Lo;0;L;;;;;N;;;;; +116AA;TAKRI LETTER RRA;Lo;0;L;;;;;N;;;;; +116AB;TAKRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +116AC;TAKRI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +116AD;TAKRI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +116AE;TAKRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +116AF;TAKRI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +116B0;TAKRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +116B1;TAKRI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +116B2;TAKRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +116B3;TAKRI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +116B4;TAKRI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +116B5;TAKRI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +116B6;TAKRI SIGN VIRAMA;Mc;9;L;;;;;N;;;;; +116B7;TAKRI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +116B8;TAKRI LETTER ARCHAIC KHA;Lo;0;L;;;;;N;;;;; +116C0;TAKRI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +116C3;TAKRI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +116C4;TAKRI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +116C5;TAKRI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +116C6;TAKRI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +116C7;TAKRI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +116C8;TAKRI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +116C9;TAKRI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11700;AHOM LETTER KA;Lo;0;L;;;;;N;;;;; +11701;AHOM LETTER KHA;Lo;0;L;;;;;N;;;;; +11702;AHOM LETTER NGA;Lo;0;L;;;;;N;;;;; +11703;AHOM LETTER NA;Lo;0;L;;;;;N;;;;; +11704;AHOM LETTER TA;Lo;0;L;;;;;N;;;;; +11705;AHOM LETTER ALTERNATE TA;Lo;0;L;;;;;N;;;;; +11706;AHOM LETTER PA;Lo;0;L;;;;;N;;;;; +11707;AHOM LETTER PHA;Lo;0;L;;;;;N;;;;; +11708;AHOM LETTER BA;Lo;0;L;;;;;N;;;;; +11709;AHOM LETTER MA;Lo;0;L;;;;;N;;;;; +1170A;AHOM LETTER JA;Lo;0;L;;;;;N;;;;; +1170B;AHOM LETTER CHA;Lo;0;L;;;;;N;;;;; +1170C;AHOM LETTER THA;Lo;0;L;;;;;N;;;;; +1170D;AHOM LETTER RA;Lo;0;L;;;;;N;;;;; +1170E;AHOM LETTER LA;Lo;0;L;;;;;N;;;;; +1170F;AHOM LETTER SA;Lo;0;L;;;;;N;;;;; +11710;AHOM LETTER NYA;Lo;0;L;;;;;N;;;;; +11711;AHOM LETTER HA;Lo;0;L;;;;;N;;;;; +11712;AHOM LETTER A;Lo;0;L;;;;;N;;;;; +11713;AHOM LETTER DA;Lo;0;L;;;;;N;;;;; +11714;AHOM LETTER DHA;Lo;0;L;;;;;N;;;;; +11715;AHOM LETTER GA;Lo;0;L;;;;;N;;;;; +11716;AHOM LETTER ALTERNATE GA;Lo;0;L;;;;;N;;;;; +11717;AHOM LETTER GHA;Lo;0;L;;;;;N;;;;; +11718;AHOM LETTER BHA;Lo;0;L;;;;;N;;;;; +11719;AHOM LETTER JHA;Lo;0;L;;;;;N;;;;; +1171A;AHOM LETTER ALTERNATE BA;Lo;0;L;;;;;N;;;;; +1171D;AHOM CONSONANT SIGN MEDIAL LA;Mn;0;NSM;;;;;N;;;;; +1171E;AHOM CONSONANT SIGN MEDIAL RA;Mn;0;NSM;;;;;N;;;;; +1171F;AHOM CONSONANT SIGN MEDIAL LIGATING RA;Mn;0;NSM;;;;;N;;;;; +11720;AHOM VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +11721;AHOM VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11722;AHOM VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11723;AHOM VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +11724;AHOM VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11725;AHOM VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11726;AHOM VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +11727;AHOM VOWEL SIGN AW;Mn;0;NSM;;;;;N;;;;; +11728;AHOM VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11729;AHOM VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +1172A;AHOM VOWEL SIGN AM;Mn;0;NSM;;;;;N;;;;; +1172B;AHOM SIGN KILLER;Mn;9;NSM;;;;;N;;;;; +11730;AHOM DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11731;AHOM DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11732;AHOM DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11733;AHOM DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11734;AHOM DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11735;AHOM DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11736;AHOM DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11737;AHOM DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11738;AHOM DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11739;AHOM DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1173A;AHOM NUMBER TEN;No;0;L;;;;10;N;;;;; +1173B;AHOM NUMBER TWENTY;No;0;L;;;;20;N;;;;; +1173C;AHOM SIGN SMALL SECTION;Po;0;L;;;;;N;;;;; +1173D;AHOM SIGN SECTION;Po;0;L;;;;;N;;;;; +1173E;AHOM SIGN RULAI;Po;0;L;;;;;N;;;;; +1173F;AHOM SYMBOL VI;So;0;L;;;;;N;;;;; +11800;DOGRA LETTER A;Lo;0;L;;;;;N;;;;; +11801;DOGRA LETTER AA;Lo;0;L;;;;;N;;;;; +11802;DOGRA LETTER I;Lo;0;L;;;;;N;;;;; +11803;DOGRA LETTER II;Lo;0;L;;;;;N;;;;; +11804;DOGRA LETTER U;Lo;0;L;;;;;N;;;;; +11805;DOGRA LETTER UU;Lo;0;L;;;;;N;;;;; +11806;DOGRA LETTER E;Lo;0;L;;;;;N;;;;; +11807;DOGRA LETTER AI;Lo;0;L;;;;;N;;;;; +11808;DOGRA LETTER O;Lo;0;L;;;;;N;;;;; +11809;DOGRA LETTER AU;Lo;0;L;;;;;N;;;;; +1180A;DOGRA LETTER KA;Lo;0;L;;;;;N;;;;; +1180B;DOGRA LETTER KHA;Lo;0;L;;;;;N;;;;; +1180C;DOGRA LETTER GA;Lo;0;L;;;;;N;;;;; +1180D;DOGRA LETTER GHA;Lo;0;L;;;;;N;;;;; +1180E;DOGRA LETTER NGA;Lo;0;L;;;;;N;;;;; +1180F;DOGRA LETTER CA;Lo;0;L;;;;;N;;;;; +11810;DOGRA LETTER CHA;Lo;0;L;;;;;N;;;;; +11811;DOGRA LETTER JA;Lo;0;L;;;;;N;;;;; +11812;DOGRA LETTER JHA;Lo;0;L;;;;;N;;;;; +11813;DOGRA LETTER NYA;Lo;0;L;;;;;N;;;;; +11814;DOGRA LETTER TTA;Lo;0;L;;;;;N;;;;; +11815;DOGRA LETTER TTHA;Lo;0;L;;;;;N;;;;; +11816;DOGRA LETTER DDA;Lo;0;L;;;;;N;;;;; +11817;DOGRA LETTER DDHA;Lo;0;L;;;;;N;;;;; +11818;DOGRA LETTER NNA;Lo;0;L;;;;;N;;;;; +11819;DOGRA LETTER TA;Lo;0;L;;;;;N;;;;; +1181A;DOGRA LETTER THA;Lo;0;L;;;;;N;;;;; +1181B;DOGRA LETTER DA;Lo;0;L;;;;;N;;;;; +1181C;DOGRA LETTER DHA;Lo;0;L;;;;;N;;;;; +1181D;DOGRA LETTER NA;Lo;0;L;;;;;N;;;;; +1181E;DOGRA LETTER PA;Lo;0;L;;;;;N;;;;; +1181F;DOGRA LETTER PHA;Lo;0;L;;;;;N;;;;; +11820;DOGRA LETTER BA;Lo;0;L;;;;;N;;;;; +11821;DOGRA LETTER BHA;Lo;0;L;;;;;N;;;;; +11822;DOGRA LETTER MA;Lo;0;L;;;;;N;;;;; +11823;DOGRA LETTER YA;Lo;0;L;;;;;N;;;;; +11824;DOGRA LETTER RA;Lo;0;L;;;;;N;;;;; +11825;DOGRA LETTER LA;Lo;0;L;;;;;N;;;;; +11826;DOGRA LETTER VA;Lo;0;L;;;;;N;;;;; +11827;DOGRA LETTER SHA;Lo;0;L;;;;;N;;;;; +11828;DOGRA LETTER SSA;Lo;0;L;;;;;N;;;;; +11829;DOGRA LETTER SA;Lo;0;L;;;;;N;;;;; +1182A;DOGRA LETTER HA;Lo;0;L;;;;;N;;;;; +1182B;DOGRA LETTER RRA;Lo;0;L;;;;;N;;;;; +1182C;DOGRA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +1182D;DOGRA VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +1182E;DOGRA VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +1182F;DOGRA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11830;DOGRA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11831;DOGRA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +11832;DOGRA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +11833;DOGRA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11834;DOGRA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11835;DOGRA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11836;DOGRA VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +11837;DOGRA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11838;DOGRA SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11839;DOGRA SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +1183A;DOGRA SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +1183B;DOGRA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;; +118A0;WARANG CITI CAPITAL LETTER NGAA;Lu;0;L;;;;;N;;;;118C0; +118A1;WARANG CITI CAPITAL LETTER A;Lu;0;L;;;;;N;;;;118C1; +118A2;WARANG CITI CAPITAL LETTER WI;Lu;0;L;;;;;N;;;;118C2; +118A3;WARANG CITI CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;118C3; +118A4;WARANG CITI CAPITAL LETTER YA;Lu;0;L;;;;;N;;;;118C4; +118A5;WARANG CITI CAPITAL LETTER YO;Lu;0;L;;;;;N;;;;118C5; +118A6;WARANG CITI CAPITAL LETTER II;Lu;0;L;;;;;N;;;;118C6; +118A7;WARANG CITI CAPITAL LETTER UU;Lu;0;L;;;;;N;;;;118C7; +118A8;WARANG CITI CAPITAL LETTER E;Lu;0;L;;;;;N;;;;118C8; +118A9;WARANG CITI CAPITAL LETTER O;Lu;0;L;;;;;N;;;;118C9; +118AA;WARANG CITI CAPITAL LETTER ANG;Lu;0;L;;;;;N;;;;118CA; +118AB;WARANG CITI CAPITAL LETTER GA;Lu;0;L;;;;;N;;;;118CB; +118AC;WARANG CITI CAPITAL LETTER KO;Lu;0;L;;;;;N;;;;118CC; +118AD;WARANG CITI CAPITAL LETTER ENY;Lu;0;L;;;;;N;;;;118CD; +118AE;WARANG CITI CAPITAL LETTER YUJ;Lu;0;L;;;;;N;;;;118CE; +118AF;WARANG CITI CAPITAL LETTER UC;Lu;0;L;;;;;N;;;;118CF; +118B0;WARANG CITI CAPITAL LETTER ENN;Lu;0;L;;;;;N;;;;118D0; +118B1;WARANG CITI CAPITAL LETTER ODD;Lu;0;L;;;;;N;;;;118D1; +118B2;WARANG CITI CAPITAL LETTER TTE;Lu;0;L;;;;;N;;;;118D2; +118B3;WARANG CITI CAPITAL LETTER NUNG;Lu;0;L;;;;;N;;;;118D3; +118B4;WARANG CITI CAPITAL LETTER DA;Lu;0;L;;;;;N;;;;118D4; +118B5;WARANG CITI CAPITAL LETTER AT;Lu;0;L;;;;;N;;;;118D5; +118B6;WARANG CITI CAPITAL LETTER AM;Lu;0;L;;;;;N;;;;118D6; +118B7;WARANG CITI CAPITAL LETTER BU;Lu;0;L;;;;;N;;;;118D7; +118B8;WARANG CITI CAPITAL LETTER PU;Lu;0;L;;;;;N;;;;118D8; +118B9;WARANG CITI CAPITAL LETTER HIYO;Lu;0;L;;;;;N;;;;118D9; +118BA;WARANG CITI CAPITAL LETTER HOLO;Lu;0;L;;;;;N;;;;118DA; +118BB;WARANG CITI CAPITAL LETTER HORR;Lu;0;L;;;;;N;;;;118DB; +118BC;WARANG CITI CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;118DC; +118BD;WARANG CITI CAPITAL LETTER SSUU;Lu;0;L;;;;;N;;;;118DD; +118BE;WARANG CITI CAPITAL LETTER SII;Lu;0;L;;;;;N;;;;118DE; +118BF;WARANG CITI CAPITAL LETTER VIYO;Lu;0;L;;;;;N;;;;118DF; +118C0;WARANG CITI SMALL LETTER NGAA;Ll;0;L;;;;;N;;;118A0;;118A0 +118C1;WARANG CITI SMALL LETTER A;Ll;0;L;;;;;N;;;118A1;;118A1 +118C2;WARANG CITI SMALL LETTER WI;Ll;0;L;;;;;N;;;118A2;;118A2 +118C3;WARANG CITI SMALL LETTER YU;Ll;0;L;;;;;N;;;118A3;;118A3 +118C4;WARANG CITI SMALL LETTER YA;Ll;0;L;;;;;N;;;118A4;;118A4 +118C5;WARANG CITI SMALL LETTER YO;Ll;0;L;;;;;N;;;118A5;;118A5 +118C6;WARANG CITI SMALL LETTER II;Ll;0;L;;;;;N;;;118A6;;118A6 +118C7;WARANG CITI SMALL LETTER UU;Ll;0;L;;;;;N;;;118A7;;118A7 +118C8;WARANG CITI SMALL LETTER E;Ll;0;L;;;;;N;;;118A8;;118A8 +118C9;WARANG CITI SMALL LETTER O;Ll;0;L;;;;;N;;;118A9;;118A9 +118CA;WARANG CITI SMALL LETTER ANG;Ll;0;L;;;;;N;;;118AA;;118AA +118CB;WARANG CITI SMALL LETTER GA;Ll;0;L;;;;;N;;;118AB;;118AB +118CC;WARANG CITI SMALL LETTER KO;Ll;0;L;;;;;N;;;118AC;;118AC +118CD;WARANG CITI SMALL LETTER ENY;Ll;0;L;;;;;N;;;118AD;;118AD +118CE;WARANG CITI SMALL LETTER YUJ;Ll;0;L;;;;;N;;;118AE;;118AE +118CF;WARANG CITI SMALL LETTER UC;Ll;0;L;;;;;N;;;118AF;;118AF +118D0;WARANG CITI SMALL LETTER ENN;Ll;0;L;;;;;N;;;118B0;;118B0 +118D1;WARANG CITI SMALL LETTER ODD;Ll;0;L;;;;;N;;;118B1;;118B1 +118D2;WARANG CITI SMALL LETTER TTE;Ll;0;L;;;;;N;;;118B2;;118B2 +118D3;WARANG CITI SMALL LETTER NUNG;Ll;0;L;;;;;N;;;118B3;;118B3 +118D4;WARANG CITI SMALL LETTER DA;Ll;0;L;;;;;N;;;118B4;;118B4 +118D5;WARANG CITI SMALL LETTER AT;Ll;0;L;;;;;N;;;118B5;;118B5 +118D6;WARANG CITI SMALL LETTER AM;Ll;0;L;;;;;N;;;118B6;;118B6 +118D7;WARANG CITI SMALL LETTER BU;Ll;0;L;;;;;N;;;118B7;;118B7 +118D8;WARANG CITI SMALL LETTER PU;Ll;0;L;;;;;N;;;118B8;;118B8 +118D9;WARANG CITI SMALL LETTER HIYO;Ll;0;L;;;;;N;;;118B9;;118B9 +118DA;WARANG CITI SMALL LETTER HOLO;Ll;0;L;;;;;N;;;118BA;;118BA +118DB;WARANG CITI SMALL LETTER HORR;Ll;0;L;;;;;N;;;118BB;;118BB +118DC;WARANG CITI SMALL LETTER HAR;Ll;0;L;;;;;N;;;118BC;;118BC +118DD;WARANG CITI SMALL LETTER SSUU;Ll;0;L;;;;;N;;;118BD;;118BD +118DE;WARANG CITI SMALL LETTER SII;Ll;0;L;;;;;N;;;118BE;;118BE +118DF;WARANG CITI SMALL LETTER VIYO;Ll;0;L;;;;;N;;;118BF;;118BF +118E0;WARANG CITI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +118E1;WARANG CITI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +118E2;WARANG CITI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +118E3;WARANG CITI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +118E4;WARANG CITI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +118E5;WARANG CITI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +118E6;WARANG CITI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +118E7;WARANG CITI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +118E8;WARANG CITI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +118E9;WARANG CITI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +118EA;WARANG CITI NUMBER TEN;No;0;L;;;;10;N;;;;; +118EB;WARANG CITI NUMBER TWENTY;No;0;L;;;;20;N;;;;; +118EC;WARANG CITI NUMBER THIRTY;No;0;L;;;;30;N;;;;; +118ED;WARANG CITI NUMBER FORTY;No;0;L;;;;40;N;;;;; +118EE;WARANG CITI NUMBER FIFTY;No;0;L;;;;50;N;;;;; +118EF;WARANG CITI NUMBER SIXTY;No;0;L;;;;60;N;;;;; +118F0;WARANG CITI NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +118F1;WARANG CITI NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +118F2;WARANG CITI NUMBER NINETY;No;0;L;;;;90;N;;;;; +118FF;WARANG CITI OM;Lo;0;L;;;;;N;;;;; +11900;DIVES AKURU LETTER A;Lo;0;L;;;;;N;;;;; +11901;DIVES AKURU LETTER AA;Lo;0;L;;;;;N;;;;; +11902;DIVES AKURU LETTER I;Lo;0;L;;;;;N;;;;; +11903;DIVES AKURU LETTER II;Lo;0;L;;;;;N;;;;; +11904;DIVES AKURU LETTER U;Lo;0;L;;;;;N;;;;; +11905;DIVES AKURU LETTER UU;Lo;0;L;;;;;N;;;;; +11906;DIVES AKURU LETTER E;Lo;0;L;;;;;N;;;;; +11909;DIVES AKURU LETTER O;Lo;0;L;;;;;N;;;;; +1190C;DIVES AKURU LETTER KA;Lo;0;L;;;;;N;;;;; +1190D;DIVES AKURU LETTER KHA;Lo;0;L;;;;;N;;;;; +1190E;DIVES AKURU LETTER GA;Lo;0;L;;;;;N;;;;; +1190F;DIVES AKURU LETTER GHA;Lo;0;L;;;;;N;;;;; +11910;DIVES AKURU LETTER NGA;Lo;0;L;;;;;N;;;;; +11911;DIVES AKURU LETTER CA;Lo;0;L;;;;;N;;;;; +11912;DIVES AKURU LETTER CHA;Lo;0;L;;;;;N;;;;; +11913;DIVES AKURU LETTER JA;Lo;0;L;;;;;N;;;;; +11915;DIVES AKURU LETTER NYA;Lo;0;L;;;;;N;;;;; +11916;DIVES AKURU LETTER TTA;Lo;0;L;;;;;N;;;;; +11918;DIVES AKURU LETTER DDA;Lo;0;L;;;;;N;;;;; +11919;DIVES AKURU LETTER DDHA;Lo;0;L;;;;;N;;;;; +1191A;DIVES AKURU LETTER NNA;Lo;0;L;;;;;N;;;;; +1191B;DIVES AKURU LETTER TA;Lo;0;L;;;;;N;;;;; +1191C;DIVES AKURU LETTER THA;Lo;0;L;;;;;N;;;;; +1191D;DIVES AKURU LETTER DA;Lo;0;L;;;;;N;;;;; +1191E;DIVES AKURU LETTER DHA;Lo;0;L;;;;;N;;;;; +1191F;DIVES AKURU LETTER NA;Lo;0;L;;;;;N;;;;; +11920;DIVES AKURU LETTER PA;Lo;0;L;;;;;N;;;;; +11921;DIVES AKURU LETTER PHA;Lo;0;L;;;;;N;;;;; +11922;DIVES AKURU LETTER BA;Lo;0;L;;;;;N;;;;; +11923;DIVES AKURU LETTER BHA;Lo;0;L;;;;;N;;;;; +11924;DIVES AKURU LETTER MA;Lo;0;L;;;;;N;;;;; +11925;DIVES AKURU LETTER YA;Lo;0;L;;;;;N;;;;; +11926;DIVES AKURU LETTER YYA;Lo;0;L;;;;;N;;;;; +11927;DIVES AKURU LETTER RA;Lo;0;L;;;;;N;;;;; +11928;DIVES AKURU LETTER LA;Lo;0;L;;;;;N;;;;; +11929;DIVES AKURU LETTER VA;Lo;0;L;;;;;N;;;;; +1192A;DIVES AKURU LETTER SHA;Lo;0;L;;;;;N;;;;; +1192B;DIVES AKURU LETTER SSA;Lo;0;L;;;;;N;;;;; +1192C;DIVES AKURU LETTER SA;Lo;0;L;;;;;N;;;;; +1192D;DIVES AKURU LETTER HA;Lo;0;L;;;;;N;;;;; +1192E;DIVES AKURU LETTER LLA;Lo;0;L;;;;;N;;;;; +1192F;DIVES AKURU LETTER ZA;Lo;0;L;;;;;N;;;;; +11930;DIVES AKURU VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11931;DIVES AKURU VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11932;DIVES AKURU VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +11933;DIVES AKURU VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +11934;DIVES AKURU VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +11935;DIVES AKURU VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +11937;DIVES AKURU VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +11938;DIVES AKURU VOWEL SIGN O;Mc;0;L;11935 11930;;;;N;;;;; +1193B;DIVES AKURU SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +1193C;DIVES AKURU SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +1193D;DIVES AKURU SIGN HALANTA;Mc;9;L;;;;;N;;;;; +1193E;DIVES AKURU VIRAMA;Mn;9;NSM;;;;;N;;;;; +1193F;DIVES AKURU PREFIXED NASAL SIGN;Lo;0;L;;;;;N;;;;; +11940;DIVES AKURU MEDIAL YA;Mc;0;L;;;;;N;;;;; +11941;DIVES AKURU INITIAL RA;Lo;0;L;;;;;N;;;;; +11942;DIVES AKURU MEDIAL RA;Mc;0;L;;;;;N;;;;; +11943;DIVES AKURU SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +11944;DIVES AKURU DOUBLE DANDA;Po;0;L;;;;;N;;;;; +11945;DIVES AKURU GAP FILLER;Po;0;L;;;;;N;;;;; +11946;DIVES AKURU END OF TEXT MARK;Po;0;L;;;;;N;;;;; +11950;DIVES AKURU DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11951;DIVES AKURU DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11952;DIVES AKURU DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11953;DIVES AKURU DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11954;DIVES AKURU DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11955;DIVES AKURU DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11956;DIVES AKURU DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11957;DIVES AKURU DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11958;DIVES AKURU DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11959;DIVES AKURU DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +119A0;NANDINAGARI LETTER A;Lo;0;L;;;;;N;;;;; +119A1;NANDINAGARI LETTER AA;Lo;0;L;;;;;N;;;;; +119A2;NANDINAGARI LETTER I;Lo;0;L;;;;;N;;;;; +119A3;NANDINAGARI LETTER II;Lo;0;L;;;;;N;;;;; +119A4;NANDINAGARI LETTER U;Lo;0;L;;;;;N;;;;; +119A5;NANDINAGARI LETTER UU;Lo;0;L;;;;;N;;;;; +119A6;NANDINAGARI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +119A7;NANDINAGARI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +119AA;NANDINAGARI LETTER E;Lo;0;L;;;;;N;;;;; +119AB;NANDINAGARI LETTER AI;Lo;0;L;;;;;N;;;;; +119AC;NANDINAGARI LETTER O;Lo;0;L;;;;;N;;;;; +119AD;NANDINAGARI LETTER AU;Lo;0;L;;;;;N;;;;; +119AE;NANDINAGARI LETTER KA;Lo;0;L;;;;;N;;;;; +119AF;NANDINAGARI LETTER KHA;Lo;0;L;;;;;N;;;;; +119B0;NANDINAGARI LETTER GA;Lo;0;L;;;;;N;;;;; +119B1;NANDINAGARI LETTER GHA;Lo;0;L;;;;;N;;;;; +119B2;NANDINAGARI LETTER NGA;Lo;0;L;;;;;N;;;;; +119B3;NANDINAGARI LETTER CA;Lo;0;L;;;;;N;;;;; +119B4;NANDINAGARI LETTER CHA;Lo;0;L;;;;;N;;;;; +119B5;NANDINAGARI LETTER JA;Lo;0;L;;;;;N;;;;; +119B6;NANDINAGARI LETTER JHA;Lo;0;L;;;;;N;;;;; +119B7;NANDINAGARI LETTER NYA;Lo;0;L;;;;;N;;;;; +119B8;NANDINAGARI LETTER TTA;Lo;0;L;;;;;N;;;;; +119B9;NANDINAGARI LETTER TTHA;Lo;0;L;;;;;N;;;;; +119BA;NANDINAGARI LETTER DDA;Lo;0;L;;;;;N;;;;; +119BB;NANDINAGARI LETTER DDHA;Lo;0;L;;;;;N;;;;; +119BC;NANDINAGARI LETTER NNA;Lo;0;L;;;;;N;;;;; +119BD;NANDINAGARI LETTER TA;Lo;0;L;;;;;N;;;;; +119BE;NANDINAGARI LETTER THA;Lo;0;L;;;;;N;;;;; +119BF;NANDINAGARI LETTER DA;Lo;0;L;;;;;N;;;;; +119C0;NANDINAGARI LETTER DHA;Lo;0;L;;;;;N;;;;; +119C1;NANDINAGARI LETTER NA;Lo;0;L;;;;;N;;;;; +119C2;NANDINAGARI LETTER PA;Lo;0;L;;;;;N;;;;; +119C3;NANDINAGARI LETTER PHA;Lo;0;L;;;;;N;;;;; +119C4;NANDINAGARI LETTER BA;Lo;0;L;;;;;N;;;;; +119C5;NANDINAGARI LETTER BHA;Lo;0;L;;;;;N;;;;; +119C6;NANDINAGARI LETTER MA;Lo;0;L;;;;;N;;;;; +119C7;NANDINAGARI LETTER YA;Lo;0;L;;;;;N;;;;; +119C8;NANDINAGARI LETTER RA;Lo;0;L;;;;;N;;;;; +119C9;NANDINAGARI LETTER LA;Lo;0;L;;;;;N;;;;; +119CA;NANDINAGARI LETTER VA;Lo;0;L;;;;;N;;;;; +119CB;NANDINAGARI LETTER SHA;Lo;0;L;;;;;N;;;;; +119CC;NANDINAGARI LETTER SSA;Lo;0;L;;;;;N;;;;; +119CD;NANDINAGARI LETTER SA;Lo;0;L;;;;;N;;;;; +119CE;NANDINAGARI LETTER HA;Lo;0;L;;;;;N;;;;; +119CF;NANDINAGARI LETTER LLA;Lo;0;L;;;;;N;;;;; +119D0;NANDINAGARI LETTER RRA;Lo;0;L;;;;;N;;;;; +119D1;NANDINAGARI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +119D2;NANDINAGARI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +119D3;NANDINAGARI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +119D4;NANDINAGARI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +119D5;NANDINAGARI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +119D6;NANDINAGARI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +119D7;NANDINAGARI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +119DA;NANDINAGARI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +119DB;NANDINAGARI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +119DC;NANDINAGARI VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +119DD;NANDINAGARI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +119DE;NANDINAGARI SIGN ANUSVARA;Mc;0;L;;;;;N;;;;; +119DF;NANDINAGARI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +119E0;NANDINAGARI SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +119E1;NANDINAGARI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +119E2;NANDINAGARI SIGN SIDDHAM;Po;0;L;;;;;N;;;;; +119E3;NANDINAGARI HEADSTROKE;Lo;0;L;;;;;N;;;;; +119E4;NANDINAGARI VOWEL SIGN PRISHTHAMATRA E;Mc;0;L;;;;;N;;;;; +11A00;ZANABAZAR SQUARE LETTER A;Lo;0;L;;;;;N;;;;; +11A01;ZANABAZAR SQUARE VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11A02;ZANABAZAR SQUARE VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +11A03;ZANABAZAR SQUARE VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11A04;ZANABAZAR SQUARE VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11A05;ZANABAZAR SQUARE VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;; +11A06;ZANABAZAR SQUARE VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11A07;ZANABAZAR SQUARE VOWEL SIGN AI;Mn;0;L;;;;;N;;;;; +11A08;ZANABAZAR SQUARE VOWEL SIGN AU;Mn;0;L;;;;;N;;;;; +11A09;ZANABAZAR SQUARE VOWEL SIGN REVERSED I;Mn;0;NSM;;;;;N;;;;; +11A0A;ZANABAZAR SQUARE VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +11A0B;ZANABAZAR SQUARE LETTER KA;Lo;0;L;;;;;N;;;;; +11A0C;ZANABAZAR SQUARE LETTER KHA;Lo;0;L;;;;;N;;;;; +11A0D;ZANABAZAR SQUARE LETTER GA;Lo;0;L;;;;;N;;;;; +11A0E;ZANABAZAR SQUARE LETTER GHA;Lo;0;L;;;;;N;;;;; +11A0F;ZANABAZAR SQUARE LETTER NGA;Lo;0;L;;;;;N;;;;; +11A10;ZANABAZAR SQUARE LETTER CA;Lo;0;L;;;;;N;;;;; +11A11;ZANABAZAR SQUARE LETTER CHA;Lo;0;L;;;;;N;;;;; +11A12;ZANABAZAR SQUARE LETTER JA;Lo;0;L;;;;;N;;;;; +11A13;ZANABAZAR SQUARE LETTER NYA;Lo;0;L;;;;;N;;;;; +11A14;ZANABAZAR SQUARE LETTER TTA;Lo;0;L;;;;;N;;;;; +11A15;ZANABAZAR SQUARE LETTER TTHA;Lo;0;L;;;;;N;;;;; +11A16;ZANABAZAR SQUARE LETTER DDA;Lo;0;L;;;;;N;;;;; +11A17;ZANABAZAR SQUARE LETTER DDHA;Lo;0;L;;;;;N;;;;; +11A18;ZANABAZAR SQUARE LETTER NNA;Lo;0;L;;;;;N;;;;; +11A19;ZANABAZAR SQUARE LETTER TA;Lo;0;L;;;;;N;;;;; +11A1A;ZANABAZAR SQUARE LETTER THA;Lo;0;L;;;;;N;;;;; +11A1B;ZANABAZAR SQUARE LETTER DA;Lo;0;L;;;;;N;;;;; +11A1C;ZANABAZAR SQUARE LETTER DHA;Lo;0;L;;;;;N;;;;; +11A1D;ZANABAZAR SQUARE LETTER NA;Lo;0;L;;;;;N;;;;; +11A1E;ZANABAZAR SQUARE LETTER PA;Lo;0;L;;;;;N;;;;; +11A1F;ZANABAZAR SQUARE LETTER PHA;Lo;0;L;;;;;N;;;;; +11A20;ZANABAZAR SQUARE LETTER BA;Lo;0;L;;;;;N;;;;; +11A21;ZANABAZAR SQUARE LETTER BHA;Lo;0;L;;;;;N;;;;; +11A22;ZANABAZAR SQUARE LETTER MA;Lo;0;L;;;;;N;;;;; +11A23;ZANABAZAR SQUARE LETTER TSA;Lo;0;L;;;;;N;;;;; +11A24;ZANABAZAR SQUARE LETTER TSHA;Lo;0;L;;;;;N;;;;; +11A25;ZANABAZAR SQUARE LETTER DZA;Lo;0;L;;;;;N;;;;; +11A26;ZANABAZAR SQUARE LETTER DZHA;Lo;0;L;;;;;N;;;;; +11A27;ZANABAZAR SQUARE LETTER ZHA;Lo;0;L;;;;;N;;;;; +11A28;ZANABAZAR SQUARE LETTER ZA;Lo;0;L;;;;;N;;;;; +11A29;ZANABAZAR SQUARE LETTER -A;Lo;0;L;;;;;N;;;;; +11A2A;ZANABAZAR SQUARE LETTER YA;Lo;0;L;;;;;N;;;;; +11A2B;ZANABAZAR SQUARE LETTER RA;Lo;0;L;;;;;N;;;;; +11A2C;ZANABAZAR SQUARE LETTER LA;Lo;0;L;;;;;N;;;;; +11A2D;ZANABAZAR SQUARE LETTER VA;Lo;0;L;;;;;N;;;;; +11A2E;ZANABAZAR SQUARE LETTER SHA;Lo;0;L;;;;;N;;;;; +11A2F;ZANABAZAR SQUARE LETTER SSA;Lo;0;L;;;;;N;;;;; +11A30;ZANABAZAR SQUARE LETTER SA;Lo;0;L;;;;;N;;;;; +11A31;ZANABAZAR SQUARE LETTER HA;Lo;0;L;;;;;N;;;;; +11A32;ZANABAZAR SQUARE LETTER KSSA;Lo;0;L;;;;;N;;;;; +11A33;ZANABAZAR SQUARE FINAL CONSONANT MARK;Mn;0;NSM;;;;;N;;;;; +11A34;ZANABAZAR SQUARE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;; +11A35;ZANABAZAR SQUARE SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11A36;ZANABAZAR SQUARE SIGN CANDRABINDU WITH ORNAMENT;Mn;0;NSM;;;;;N;;;;; +11A37;ZANABAZAR SQUARE SIGN CANDRA WITH ORNAMENT;Mn;0;NSM;;;;;N;;;;; +11A38;ZANABAZAR SQUARE SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11A39;ZANABAZAR SQUARE SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11A3A;ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA;Lo;0;L;;;;;N;;;;; +11A3B;ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA;Mn;0;NSM;;;;;N;;;;; +11A3C;ZANABAZAR SQUARE CLUSTER-FINAL LETTER RA;Mn;0;NSM;;;;;N;;;;; +11A3D;ZANABAZAR SQUARE CLUSTER-FINAL LETTER LA;Mn;0;NSM;;;;;N;;;;; +11A3E;ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA;Mn;0;NSM;;;;;N;;;;; +11A3F;ZANABAZAR SQUARE INITIAL HEAD MARK;Po;0;L;;;;;N;;;;; +11A40;ZANABAZAR SQUARE CLOSING HEAD MARK;Po;0;L;;;;;N;;;;; +11A41;ZANABAZAR SQUARE MARK TSHEG;Po;0;L;;;;;N;;;;; +11A42;ZANABAZAR SQUARE MARK SHAD;Po;0;L;;;;;N;;;;; +11A43;ZANABAZAR SQUARE MARK DOUBLE SHAD;Po;0;L;;;;;N;;;;; +11A44;ZANABAZAR SQUARE MARK LONG TSHEG;Po;0;L;;;;;N;;;;; +11A45;ZANABAZAR SQUARE INITIAL DOUBLE-LINED HEAD MARK;Po;0;L;;;;;N;;;;; +11A46;ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK;Po;0;L;;;;;N;;;;; +11A47;ZANABAZAR SQUARE SUBJOINER;Mn;9;NSM;;;;;N;;;;; +11A50;SOYOMBO LETTER A;Lo;0;L;;;;;N;;;;; +11A51;SOYOMBO VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11A52;SOYOMBO VOWEL SIGN UE;Mn;0;NSM;;;;;N;;;;; +11A53;SOYOMBO VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11A54;SOYOMBO VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11A55;SOYOMBO VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11A56;SOYOMBO VOWEL SIGN OE;Mn;0;NSM;;;;;N;;;;; +11A57;SOYOMBO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +11A58;SOYOMBO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +11A59;SOYOMBO VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +11A5A;SOYOMBO VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +11A5B;SOYOMBO VOWEL LENGTH MARK;Mn;0;NSM;;;;;N;;;;; +11A5C;SOYOMBO LETTER KA;Lo;0;L;;;;;N;;;;; +11A5D;SOYOMBO LETTER KHA;Lo;0;L;;;;;N;;;;; +11A5E;SOYOMBO LETTER GA;Lo;0;L;;;;;N;;;;; +11A5F;SOYOMBO LETTER GHA;Lo;0;L;;;;;N;;;;; +11A60;SOYOMBO LETTER NGA;Lo;0;L;;;;;N;;;;; +11A61;SOYOMBO LETTER CA;Lo;0;L;;;;;N;;;;; +11A62;SOYOMBO LETTER CHA;Lo;0;L;;;;;N;;;;; +11A63;SOYOMBO LETTER JA;Lo;0;L;;;;;N;;;;; +11A64;SOYOMBO LETTER JHA;Lo;0;L;;;;;N;;;;; +11A65;SOYOMBO LETTER NYA;Lo;0;L;;;;;N;;;;; +11A66;SOYOMBO LETTER TTA;Lo;0;L;;;;;N;;;;; +11A67;SOYOMBO LETTER TTHA;Lo;0;L;;;;;N;;;;; +11A68;SOYOMBO LETTER DDA;Lo;0;L;;;;;N;;;;; +11A69;SOYOMBO LETTER DDHA;Lo;0;L;;;;;N;;;;; +11A6A;SOYOMBO LETTER NNA;Lo;0;L;;;;;N;;;;; +11A6B;SOYOMBO LETTER TA;Lo;0;L;;;;;N;;;;; +11A6C;SOYOMBO LETTER THA;Lo;0;L;;;;;N;;;;; +11A6D;SOYOMBO LETTER DA;Lo;0;L;;;;;N;;;;; +11A6E;SOYOMBO LETTER DHA;Lo;0;L;;;;;N;;;;; +11A6F;SOYOMBO LETTER NA;Lo;0;L;;;;;N;;;;; +11A70;SOYOMBO LETTER PA;Lo;0;L;;;;;N;;;;; +11A71;SOYOMBO LETTER PHA;Lo;0;L;;;;;N;;;;; +11A72;SOYOMBO LETTER BA;Lo;0;L;;;;;N;;;;; +11A73;SOYOMBO LETTER BHA;Lo;0;L;;;;;N;;;;; +11A74;SOYOMBO LETTER MA;Lo;0;L;;;;;N;;;;; +11A75;SOYOMBO LETTER TSA;Lo;0;L;;;;;N;;;;; +11A76;SOYOMBO LETTER TSHA;Lo;0;L;;;;;N;;;;; +11A77;SOYOMBO LETTER DZA;Lo;0;L;;;;;N;;;;; +11A78;SOYOMBO LETTER ZHA;Lo;0;L;;;;;N;;;;; +11A79;SOYOMBO LETTER ZA;Lo;0;L;;;;;N;;;;; +11A7A;SOYOMBO LETTER -A;Lo;0;L;;;;;N;;;;; +11A7B;SOYOMBO LETTER YA;Lo;0;L;;;;;N;;;;; +11A7C;SOYOMBO LETTER RA;Lo;0;L;;;;;N;;;;; +11A7D;SOYOMBO LETTER LA;Lo;0;L;;;;;N;;;;; +11A7E;SOYOMBO LETTER VA;Lo;0;L;;;;;N;;;;; +11A7F;SOYOMBO LETTER SHA;Lo;0;L;;;;;N;;;;; +11A80;SOYOMBO LETTER SSA;Lo;0;L;;;;;N;;;;; +11A81;SOYOMBO LETTER SA;Lo;0;L;;;;;N;;;;; +11A82;SOYOMBO LETTER HA;Lo;0;L;;;;;N;;;;; +11A83;SOYOMBO LETTER KSSA;Lo;0;L;;;;;N;;;;; +11A84;SOYOMBO SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;; +11A85;SOYOMBO SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;; +11A86;SOYOMBO CLUSTER-INITIAL LETTER RA;Lo;0;L;;;;;N;;;;; +11A87;SOYOMBO CLUSTER-INITIAL LETTER LA;Lo;0;L;;;;;N;;;;; +11A88;SOYOMBO CLUSTER-INITIAL LETTER SHA;Lo;0;L;;;;;N;;;;; +11A89;SOYOMBO CLUSTER-INITIAL LETTER SA;Lo;0;L;;;;;N;;;;; +11A8A;SOYOMBO FINAL CONSONANT SIGN G;Mn;0;NSM;;;;;N;;;;; +11A8B;SOYOMBO FINAL CONSONANT SIGN K;Mn;0;NSM;;;;;N;;;;; +11A8C;SOYOMBO FINAL CONSONANT SIGN NG;Mn;0;NSM;;;;;N;;;;; +11A8D;SOYOMBO FINAL CONSONANT SIGN D;Mn;0;NSM;;;;;N;;;;; +11A8E;SOYOMBO FINAL CONSONANT SIGN N;Mn;0;NSM;;;;;N;;;;; +11A8F;SOYOMBO FINAL CONSONANT SIGN B;Mn;0;NSM;;;;;N;;;;; +11A90;SOYOMBO FINAL CONSONANT SIGN M;Mn;0;NSM;;;;;N;;;;; +11A91;SOYOMBO FINAL CONSONANT SIGN R;Mn;0;NSM;;;;;N;;;;; +11A92;SOYOMBO FINAL CONSONANT SIGN L;Mn;0;NSM;;;;;N;;;;; +11A93;SOYOMBO FINAL CONSONANT SIGN SH;Mn;0;NSM;;;;;N;;;;; +11A94;SOYOMBO FINAL CONSONANT SIGN S;Mn;0;NSM;;;;;N;;;;; +11A95;SOYOMBO FINAL CONSONANT SIGN -A;Mn;0;NSM;;;;;N;;;;; +11A96;SOYOMBO SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11A97;SOYOMBO SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11A98;SOYOMBO GEMINATION MARK;Mn;0;NSM;;;;;N;;;;; +11A99;SOYOMBO SUBJOINER;Mn;9;NSM;;;;;N;;;;; +11A9A;SOYOMBO MARK TSHEG;Po;0;L;;;;;N;;;;; +11A9B;SOYOMBO MARK SHAD;Po;0;L;;;;;N;;;;; +11A9C;SOYOMBO MARK DOUBLE SHAD;Po;0;L;;;;;N;;;;; +11A9D;SOYOMBO MARK PLUTA;Lo;0;L;;;;;N;;;;; +11A9E;SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME;Po;0;L;;;;;N;;;;; +11A9F;SOYOMBO HEAD MARK WITH MOON AND SUN AND FLAME;Po;0;L;;;;;N;;;;; +11AA0;SOYOMBO HEAD MARK WITH MOON AND SUN;Po;0;L;;;;;N;;;;; +11AA1;SOYOMBO TERMINAL MARK-1;Po;0;L;;;;;N;;;;; +11AA2;SOYOMBO TERMINAL MARK-2;Po;0;L;;;;;N;;;;; +11AC0;PAU CIN HAU LETTER PA;Lo;0;L;;;;;N;;;;; +11AC1;PAU CIN HAU LETTER KA;Lo;0;L;;;;;N;;;;; +11AC2;PAU CIN HAU LETTER LA;Lo;0;L;;;;;N;;;;; +11AC3;PAU CIN HAU LETTER MA;Lo;0;L;;;;;N;;;;; +11AC4;PAU CIN HAU LETTER DA;Lo;0;L;;;;;N;;;;; +11AC5;PAU CIN HAU LETTER ZA;Lo;0;L;;;;;N;;;;; +11AC6;PAU CIN HAU LETTER VA;Lo;0;L;;;;;N;;;;; +11AC7;PAU CIN HAU LETTER NGA;Lo;0;L;;;;;N;;;;; +11AC8;PAU CIN HAU LETTER HA;Lo;0;L;;;;;N;;;;; +11AC9;PAU CIN HAU LETTER GA;Lo;0;L;;;;;N;;;;; +11ACA;PAU CIN HAU LETTER KHA;Lo;0;L;;;;;N;;;;; +11ACB;PAU CIN HAU LETTER SA;Lo;0;L;;;;;N;;;;; +11ACC;PAU CIN HAU LETTER BA;Lo;0;L;;;;;N;;;;; +11ACD;PAU CIN HAU LETTER CA;Lo;0;L;;;;;N;;;;; +11ACE;PAU CIN HAU LETTER TA;Lo;0;L;;;;;N;;;;; +11ACF;PAU CIN HAU LETTER THA;Lo;0;L;;;;;N;;;;; +11AD0;PAU CIN HAU LETTER NA;Lo;0;L;;;;;N;;;;; +11AD1;PAU CIN HAU LETTER PHA;Lo;0;L;;;;;N;;;;; +11AD2;PAU CIN HAU LETTER RA;Lo;0;L;;;;;N;;;;; +11AD3;PAU CIN HAU LETTER FA;Lo;0;L;;;;;N;;;;; +11AD4;PAU CIN HAU LETTER CHA;Lo;0;L;;;;;N;;;;; +11AD5;PAU CIN HAU LETTER A;Lo;0;L;;;;;N;;;;; +11AD6;PAU CIN HAU LETTER E;Lo;0;L;;;;;N;;;;; +11AD7;PAU CIN HAU LETTER I;Lo;0;L;;;;;N;;;;; +11AD8;PAU CIN HAU LETTER O;Lo;0;L;;;;;N;;;;; +11AD9;PAU CIN HAU LETTER U;Lo;0;L;;;;;N;;;;; +11ADA;PAU CIN HAU LETTER UA;Lo;0;L;;;;;N;;;;; +11ADB;PAU CIN HAU LETTER IA;Lo;0;L;;;;;N;;;;; +11ADC;PAU CIN HAU LETTER FINAL P;Lo;0;L;;;;;N;;;;; +11ADD;PAU CIN HAU LETTER FINAL K;Lo;0;L;;;;;N;;;;; +11ADE;PAU CIN HAU LETTER FINAL T;Lo;0;L;;;;;N;;;;; +11ADF;PAU CIN HAU LETTER FINAL M;Lo;0;L;;;;;N;;;;; +11AE0;PAU CIN HAU LETTER FINAL N;Lo;0;L;;;;;N;;;;; +11AE1;PAU CIN HAU LETTER FINAL L;Lo;0;L;;;;;N;;;;; +11AE2;PAU CIN HAU LETTER FINAL W;Lo;0;L;;;;;N;;;;; +11AE3;PAU CIN HAU LETTER FINAL NG;Lo;0;L;;;;;N;;;;; +11AE4;PAU CIN HAU LETTER FINAL Y;Lo;0;L;;;;;N;;;;; +11AE5;PAU CIN HAU RISING TONE LONG;Lo;0;L;;;;;N;;;;; +11AE6;PAU CIN HAU RISING TONE;Lo;0;L;;;;;N;;;;; +11AE7;PAU CIN HAU SANDHI GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +11AE8;PAU CIN HAU RISING TONE LONG FINAL;Lo;0;L;;;;;N;;;;; +11AE9;PAU CIN HAU RISING TONE FINAL;Lo;0;L;;;;;N;;;;; +11AEA;PAU CIN HAU SANDHI GLOTTAL STOP FINAL;Lo;0;L;;;;;N;;;;; +11AEB;PAU CIN HAU SANDHI TONE LONG;Lo;0;L;;;;;N;;;;; +11AEC;PAU CIN HAU SANDHI TONE;Lo;0;L;;;;;N;;;;; +11AED;PAU CIN HAU SANDHI TONE LONG FINAL;Lo;0;L;;;;;N;;;;; +11AEE;PAU CIN HAU SANDHI TONE FINAL;Lo;0;L;;;;;N;;;;; +11AEF;PAU CIN HAU MID-LEVEL TONE;Lo;0;L;;;;;N;;;;; +11AF0;PAU CIN HAU GLOTTAL STOP VARIANT;Lo;0;L;;;;;N;;;;; +11AF1;PAU CIN HAU MID-LEVEL TONE LONG FINAL;Lo;0;L;;;;;N;;;;; +11AF2;PAU CIN HAU MID-LEVEL TONE FINAL;Lo;0;L;;;;;N;;;;; +11AF3;PAU CIN HAU LOW-FALLING TONE LONG;Lo;0;L;;;;;N;;;;; +11AF4;PAU CIN HAU LOW-FALLING TONE;Lo;0;L;;;;;N;;;;; +11AF5;PAU CIN HAU GLOTTAL STOP;Lo;0;L;;;;;N;;;;; +11AF6;PAU CIN HAU LOW-FALLING TONE LONG FINAL;Lo;0;L;;;;;N;;;;; +11AF7;PAU CIN HAU LOW-FALLING TONE FINAL;Lo;0;L;;;;;N;;;;; +11AF8;PAU CIN HAU GLOTTAL STOP FINAL;Lo;0;L;;;;;N;;;;; +11C00;BHAIKSUKI LETTER A;Lo;0;L;;;;;N;;;;; +11C01;BHAIKSUKI LETTER AA;Lo;0;L;;;;;N;;;;; +11C02;BHAIKSUKI LETTER I;Lo;0;L;;;;;N;;;;; +11C03;BHAIKSUKI LETTER II;Lo;0;L;;;;;N;;;;; +11C04;BHAIKSUKI LETTER U;Lo;0;L;;;;;N;;;;; +11C05;BHAIKSUKI LETTER UU;Lo;0;L;;;;;N;;;;; +11C06;BHAIKSUKI LETTER VOCALIC R;Lo;0;L;;;;;N;;;;; +11C07;BHAIKSUKI LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;; +11C08;BHAIKSUKI LETTER VOCALIC L;Lo;0;L;;;;;N;;;;; +11C0A;BHAIKSUKI LETTER E;Lo;0;L;;;;;N;;;;; +11C0B;BHAIKSUKI LETTER AI;Lo;0;L;;;;;N;;;;; +11C0C;BHAIKSUKI LETTER O;Lo;0;L;;;;;N;;;;; +11C0D;BHAIKSUKI LETTER AU;Lo;0;L;;;;;N;;;;; +11C0E;BHAIKSUKI LETTER KA;Lo;0;L;;;;;N;;;;; +11C0F;BHAIKSUKI LETTER KHA;Lo;0;L;;;;;N;;;;; +11C10;BHAIKSUKI LETTER GA;Lo;0;L;;;;;N;;;;; +11C11;BHAIKSUKI LETTER GHA;Lo;0;L;;;;;N;;;;; +11C12;BHAIKSUKI LETTER NGA;Lo;0;L;;;;;N;;;;; +11C13;BHAIKSUKI LETTER CA;Lo;0;L;;;;;N;;;;; +11C14;BHAIKSUKI LETTER CHA;Lo;0;L;;;;;N;;;;; +11C15;BHAIKSUKI LETTER JA;Lo;0;L;;;;;N;;;;; +11C16;BHAIKSUKI LETTER JHA;Lo;0;L;;;;;N;;;;; +11C17;BHAIKSUKI LETTER NYA;Lo;0;L;;;;;N;;;;; +11C18;BHAIKSUKI LETTER TTA;Lo;0;L;;;;;N;;;;; +11C19;BHAIKSUKI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11C1A;BHAIKSUKI LETTER DDA;Lo;0;L;;;;;N;;;;; +11C1B;BHAIKSUKI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11C1C;BHAIKSUKI LETTER NNA;Lo;0;L;;;;;N;;;;; +11C1D;BHAIKSUKI LETTER TA;Lo;0;L;;;;;N;;;;; +11C1E;BHAIKSUKI LETTER THA;Lo;0;L;;;;;N;;;;; +11C1F;BHAIKSUKI LETTER DA;Lo;0;L;;;;;N;;;;; +11C20;BHAIKSUKI LETTER DHA;Lo;0;L;;;;;N;;;;; +11C21;BHAIKSUKI LETTER NA;Lo;0;L;;;;;N;;;;; +11C22;BHAIKSUKI LETTER PA;Lo;0;L;;;;;N;;;;; +11C23;BHAIKSUKI LETTER PHA;Lo;0;L;;;;;N;;;;; +11C24;BHAIKSUKI LETTER BA;Lo;0;L;;;;;N;;;;; +11C25;BHAIKSUKI LETTER BHA;Lo;0;L;;;;;N;;;;; +11C26;BHAIKSUKI LETTER MA;Lo;0;L;;;;;N;;;;; +11C27;BHAIKSUKI LETTER YA;Lo;0;L;;;;;N;;;;; +11C28;BHAIKSUKI LETTER RA;Lo;0;L;;;;;N;;;;; +11C29;BHAIKSUKI LETTER LA;Lo;0;L;;;;;N;;;;; +11C2A;BHAIKSUKI LETTER VA;Lo;0;L;;;;;N;;;;; +11C2B;BHAIKSUKI LETTER SHA;Lo;0;L;;;;;N;;;;; +11C2C;BHAIKSUKI LETTER SSA;Lo;0;L;;;;;N;;;;; +11C2D;BHAIKSUKI LETTER SA;Lo;0;L;;;;;N;;;;; +11C2E;BHAIKSUKI LETTER HA;Lo;0;L;;;;;N;;;;; +11C2F;BHAIKSUKI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11C30;BHAIKSUKI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11C31;BHAIKSUKI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +11C32;BHAIKSUKI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11C33;BHAIKSUKI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11C34;BHAIKSUKI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +11C35;BHAIKSUKI VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;; +11C36;BHAIKSUKI VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;; +11C38;BHAIKSUKI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11C39;BHAIKSUKI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11C3A;BHAIKSUKI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11C3B;BHAIKSUKI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +11C3C;BHAIKSUKI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11C3D;BHAIKSUKI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11C3E;BHAIKSUKI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11C3F;BHAIKSUKI SIGN VIRAMA;Mn;9;L;;;;;N;;;;; +11C40;BHAIKSUKI SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;; +11C41;BHAIKSUKI DANDA;Po;0;L;;;;;N;;;;; +11C42;BHAIKSUKI DOUBLE DANDA;Po;0;L;;;;;N;;;;; +11C43;BHAIKSUKI WORD SEPARATOR;Po;0;L;;;;;N;;;;; +11C44;BHAIKSUKI GAP FILLER-1;Po;0;L;;;;;N;;;;; +11C45;BHAIKSUKI GAP FILLER-2;Po;0;L;;;;;N;;;;; +11C50;BHAIKSUKI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11C51;BHAIKSUKI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11C52;BHAIKSUKI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11C53;BHAIKSUKI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11C54;BHAIKSUKI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11C55;BHAIKSUKI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11C56;BHAIKSUKI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11C57;BHAIKSUKI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11C58;BHAIKSUKI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11C59;BHAIKSUKI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11C5A;BHAIKSUKI NUMBER ONE;No;0;L;;;;1;N;;;;; +11C5B;BHAIKSUKI NUMBER TWO;No;0;L;;;;2;N;;;;; +11C5C;BHAIKSUKI NUMBER THREE;No;0;L;;;;3;N;;;;; +11C5D;BHAIKSUKI NUMBER FOUR;No;0;L;;;;4;N;;;;; +11C5E;BHAIKSUKI NUMBER FIVE;No;0;L;;;;5;N;;;;; +11C5F;BHAIKSUKI NUMBER SIX;No;0;L;;;;6;N;;;;; +11C60;BHAIKSUKI NUMBER SEVEN;No;0;L;;;;7;N;;;;; +11C61;BHAIKSUKI NUMBER EIGHT;No;0;L;;;;8;N;;;;; +11C62;BHAIKSUKI NUMBER NINE;No;0;L;;;;9;N;;;;; +11C63;BHAIKSUKI NUMBER TEN;No;0;L;;;;10;N;;;;; +11C64;BHAIKSUKI NUMBER TWENTY;No;0;L;;;;20;N;;;;; +11C65;BHAIKSUKI NUMBER THIRTY;No;0;L;;;;30;N;;;;; +11C66;BHAIKSUKI NUMBER FORTY;No;0;L;;;;40;N;;;;; +11C67;BHAIKSUKI NUMBER FIFTY;No;0;L;;;;50;N;;;;; +11C68;BHAIKSUKI NUMBER SIXTY;No;0;L;;;;60;N;;;;; +11C69;BHAIKSUKI NUMBER SEVENTY;No;0;L;;;;70;N;;;;; +11C6A;BHAIKSUKI NUMBER EIGHTY;No;0;L;;;;80;N;;;;; +11C6B;BHAIKSUKI NUMBER NINETY;No;0;L;;;;90;N;;;;; +11C6C;BHAIKSUKI HUNDREDS UNIT MARK;No;0;L;;;;100;N;;;;; +11C70;MARCHEN HEAD MARK;Po;0;L;;;;;N;;;;; +11C71;MARCHEN MARK SHAD;Po;0;L;;;;;N;;;;; +11C72;MARCHEN LETTER KA;Lo;0;L;;;;;N;;;;; +11C73;MARCHEN LETTER KHA;Lo;0;L;;;;;N;;;;; +11C74;MARCHEN LETTER GA;Lo;0;L;;;;;N;;;;; +11C75;MARCHEN LETTER NGA;Lo;0;L;;;;;N;;;;; +11C76;MARCHEN LETTER CA;Lo;0;L;;;;;N;;;;; +11C77;MARCHEN LETTER CHA;Lo;0;L;;;;;N;;;;; +11C78;MARCHEN LETTER JA;Lo;0;L;;;;;N;;;;; +11C79;MARCHEN LETTER NYA;Lo;0;L;;;;;N;;;;; +11C7A;MARCHEN LETTER TA;Lo;0;L;;;;;N;;;;; +11C7B;MARCHEN LETTER THA;Lo;0;L;;;;;N;;;;; +11C7C;MARCHEN LETTER DA;Lo;0;L;;;;;N;;;;; +11C7D;MARCHEN LETTER NA;Lo;0;L;;;;;N;;;;; +11C7E;MARCHEN LETTER PA;Lo;0;L;;;;;N;;;;; +11C7F;MARCHEN LETTER PHA;Lo;0;L;;;;;N;;;;; +11C80;MARCHEN LETTER BA;Lo;0;L;;;;;N;;;;; +11C81;MARCHEN LETTER MA;Lo;0;L;;;;;N;;;;; +11C82;MARCHEN LETTER TSA;Lo;0;L;;;;;N;;;;; +11C83;MARCHEN LETTER TSHA;Lo;0;L;;;;;N;;;;; +11C84;MARCHEN LETTER DZA;Lo;0;L;;;;;N;;;;; +11C85;MARCHEN LETTER WA;Lo;0;L;;;;;N;;;;; +11C86;MARCHEN LETTER ZHA;Lo;0;L;;;;;N;;;;; +11C87;MARCHEN LETTER ZA;Lo;0;L;;;;;N;;;;; +11C88;MARCHEN LETTER -A;Lo;0;L;;;;;N;;;;; +11C89;MARCHEN LETTER YA;Lo;0;L;;;;;N;;;;; +11C8A;MARCHEN LETTER RA;Lo;0;L;;;;;N;;;;; +11C8B;MARCHEN LETTER LA;Lo;0;L;;;;;N;;;;; +11C8C;MARCHEN LETTER SHA;Lo;0;L;;;;;N;;;;; +11C8D;MARCHEN LETTER SA;Lo;0;L;;;;;N;;;;; +11C8E;MARCHEN LETTER HA;Lo;0;L;;;;;N;;;;; +11C8F;MARCHEN LETTER A;Lo;0;L;;;;;N;;;;; +11C92;MARCHEN SUBJOINED LETTER KA;Mn;0;NSM;;;;;N;;;;; +11C93;MARCHEN SUBJOINED LETTER KHA;Mn;0;NSM;;;;;N;;;;; +11C94;MARCHEN SUBJOINED LETTER GA;Mn;0;NSM;;;;;N;;;;; +11C95;MARCHEN SUBJOINED LETTER NGA;Mn;0;NSM;;;;;N;;;;; +11C96;MARCHEN SUBJOINED LETTER CA;Mn;0;NSM;;;;;N;;;;; +11C97;MARCHEN SUBJOINED LETTER CHA;Mn;0;NSM;;;;;N;;;;; +11C98;MARCHEN SUBJOINED LETTER JA;Mn;0;NSM;;;;;N;;;;; +11C99;MARCHEN SUBJOINED LETTER NYA;Mn;0;NSM;;;;;N;;;;; +11C9A;MARCHEN SUBJOINED LETTER TA;Mn;0;NSM;;;;;N;;;;; +11C9B;MARCHEN SUBJOINED LETTER THA;Mn;0;NSM;;;;;N;;;;; +11C9C;MARCHEN SUBJOINED LETTER DA;Mn;0;NSM;;;;;N;;;;; +11C9D;MARCHEN SUBJOINED LETTER NA;Mn;0;NSM;;;;;N;;;;; +11C9E;MARCHEN SUBJOINED LETTER PA;Mn;0;NSM;;;;;N;;;;; +11C9F;MARCHEN SUBJOINED LETTER PHA;Mn;0;NSM;;;;;N;;;;; +11CA0;MARCHEN SUBJOINED LETTER BA;Mn;0;NSM;;;;;N;;;;; +11CA1;MARCHEN SUBJOINED LETTER MA;Mn;0;NSM;;;;;N;;;;; +11CA2;MARCHEN SUBJOINED LETTER TSA;Mn;0;NSM;;;;;N;;;;; +11CA3;MARCHEN SUBJOINED LETTER TSHA;Mn;0;NSM;;;;;N;;;;; +11CA4;MARCHEN SUBJOINED LETTER DZA;Mn;0;NSM;;;;;N;;;;; +11CA5;MARCHEN SUBJOINED LETTER WA;Mn;0;NSM;;;;;N;;;;; +11CA6;MARCHEN SUBJOINED LETTER ZHA;Mn;0;NSM;;;;;N;;;;; +11CA7;MARCHEN SUBJOINED LETTER ZA;Mn;0;NSM;;;;;N;;;;; +11CA9;MARCHEN SUBJOINED LETTER YA;Mc;0;L;;;;;N;;;;; +11CAA;MARCHEN SUBJOINED LETTER RA;Mn;0;NSM;;;;;N;;;;; +11CAB;MARCHEN SUBJOINED LETTER LA;Mn;0;NSM;;;;;N;;;;; +11CAC;MARCHEN SUBJOINED LETTER SHA;Mn;0;NSM;;;;;N;;;;; +11CAD;MARCHEN SUBJOINED LETTER SA;Mn;0;NSM;;;;;N;;;;; +11CAE;MARCHEN SUBJOINED LETTER HA;Mn;0;NSM;;;;;N;;;;; +11CAF;MARCHEN SUBJOINED LETTER A;Mn;0;NSM;;;;;N;;;;; +11CB0;MARCHEN VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +11CB1;MARCHEN VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11CB2;MARCHEN VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11CB3;MARCHEN VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11CB4;MARCHEN VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +11CB5;MARCHEN SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11CB6;MARCHEN SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;; +11D00;MASARAM GONDI LETTER A;Lo;0;L;;;;;N;;;;; +11D01;MASARAM GONDI LETTER AA;Lo;0;L;;;;;N;;;;; +11D02;MASARAM GONDI LETTER I;Lo;0;L;;;;;N;;;;; +11D03;MASARAM GONDI LETTER II;Lo;0;L;;;;;N;;;;; +11D04;MASARAM GONDI LETTER U;Lo;0;L;;;;;N;;;;; +11D05;MASARAM GONDI LETTER UU;Lo;0;L;;;;;N;;;;; +11D06;MASARAM GONDI LETTER E;Lo;0;L;;;;;N;;;;; +11D08;MASARAM GONDI LETTER AI;Lo;0;L;;;;;N;;;;; +11D09;MASARAM GONDI LETTER O;Lo;0;L;;;;;N;;;;; +11D0B;MASARAM GONDI LETTER AU;Lo;0;L;;;;;N;;;;; +11D0C;MASARAM GONDI LETTER KA;Lo;0;L;;;;;N;;;;; +11D0D;MASARAM GONDI LETTER KHA;Lo;0;L;;;;;N;;;;; +11D0E;MASARAM GONDI LETTER GA;Lo;0;L;;;;;N;;;;; +11D0F;MASARAM GONDI LETTER GHA;Lo;0;L;;;;;N;;;;; +11D10;MASARAM GONDI LETTER NGA;Lo;0;L;;;;;N;;;;; +11D11;MASARAM GONDI LETTER CA;Lo;0;L;;;;;N;;;;; +11D12;MASARAM GONDI LETTER CHA;Lo;0;L;;;;;N;;;;; +11D13;MASARAM GONDI LETTER JA;Lo;0;L;;;;;N;;;;; +11D14;MASARAM GONDI LETTER JHA;Lo;0;L;;;;;N;;;;; +11D15;MASARAM GONDI LETTER NYA;Lo;0;L;;;;;N;;;;; +11D16;MASARAM GONDI LETTER TTA;Lo;0;L;;;;;N;;;;; +11D17;MASARAM GONDI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11D18;MASARAM GONDI LETTER DDA;Lo;0;L;;;;;N;;;;; +11D19;MASARAM GONDI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11D1A;MASARAM GONDI LETTER NNA;Lo;0;L;;;;;N;;;;; +11D1B;MASARAM GONDI LETTER TA;Lo;0;L;;;;;N;;;;; +11D1C;MASARAM GONDI LETTER THA;Lo;0;L;;;;;N;;;;; +11D1D;MASARAM GONDI LETTER DA;Lo;0;L;;;;;N;;;;; +11D1E;MASARAM GONDI LETTER DHA;Lo;0;L;;;;;N;;;;; +11D1F;MASARAM GONDI LETTER NA;Lo;0;L;;;;;N;;;;; +11D20;MASARAM GONDI LETTER PA;Lo;0;L;;;;;N;;;;; +11D21;MASARAM GONDI LETTER PHA;Lo;0;L;;;;;N;;;;; +11D22;MASARAM GONDI LETTER BA;Lo;0;L;;;;;N;;;;; +11D23;MASARAM GONDI LETTER BHA;Lo;0;L;;;;;N;;;;; +11D24;MASARAM GONDI LETTER MA;Lo;0;L;;;;;N;;;;; +11D25;MASARAM GONDI LETTER YA;Lo;0;L;;;;;N;;;;; +11D26;MASARAM GONDI LETTER RA;Lo;0;L;;;;;N;;;;; +11D27;MASARAM GONDI LETTER LA;Lo;0;L;;;;;N;;;;; +11D28;MASARAM GONDI LETTER VA;Lo;0;L;;;;;N;;;;; +11D29;MASARAM GONDI LETTER SHA;Lo;0;L;;;;;N;;;;; +11D2A;MASARAM GONDI LETTER SSA;Lo;0;L;;;;;N;;;;; +11D2B;MASARAM GONDI LETTER SA;Lo;0;L;;;;;N;;;;; +11D2C;MASARAM GONDI LETTER HA;Lo;0;L;;;;;N;;;;; +11D2D;MASARAM GONDI LETTER LLA;Lo;0;L;;;;;N;;;;; +11D2E;MASARAM GONDI LETTER KSSA;Lo;0;L;;;;;N;;;;; +11D2F;MASARAM GONDI LETTER JNYA;Lo;0;L;;;;;N;;;;; +11D30;MASARAM GONDI LETTER TRA;Lo;0;L;;;;;N;;;;; +11D31;MASARAM GONDI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;; +11D32;MASARAM GONDI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11D33;MASARAM GONDI VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;; +11D34;MASARAM GONDI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11D35;MASARAM GONDI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;; +11D36;MASARAM GONDI VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;; +11D3A;MASARAM GONDI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;; +11D3C;MASARAM GONDI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11D3D;MASARAM GONDI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;; +11D3F;MASARAM GONDI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;; +11D40;MASARAM GONDI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11D41;MASARAM GONDI SIGN VISARGA;Mn;0;NSM;;;;;N;;;;; +11D42;MASARAM GONDI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;; +11D43;MASARAM GONDI SIGN CANDRA;Mn;0;NSM;;;;;N;;;;; +11D44;MASARAM GONDI SIGN HALANTA;Mn;9;NSM;;;;;N;;;;; +11D45;MASARAM GONDI VIRAMA;Mn;9;NSM;;;;;N;;;;; +11D46;MASARAM GONDI REPHA;Lo;0;L;;;;;N;;;;; +11D47;MASARAM GONDI RA-KARA;Mn;0;NSM;;;;;N;;;;; +11D50;MASARAM GONDI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11D51;MASARAM GONDI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11D52;MASARAM GONDI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11D53;MASARAM GONDI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11D54;MASARAM GONDI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11D55;MASARAM GONDI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11D56;MASARAM GONDI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11D57;MASARAM GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11D58;MASARAM GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11D59;MASARAM GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11D60;GUNJALA GONDI LETTER A;Lo;0;L;;;;;N;;;;; +11D61;GUNJALA GONDI LETTER AA;Lo;0;L;;;;;N;;;;; +11D62;GUNJALA GONDI LETTER I;Lo;0;L;;;;;N;;;;; +11D63;GUNJALA GONDI LETTER II;Lo;0;L;;;;;N;;;;; +11D64;GUNJALA GONDI LETTER U;Lo;0;L;;;;;N;;;;; +11D65;GUNJALA GONDI LETTER UU;Lo;0;L;;;;;N;;;;; +11D67;GUNJALA GONDI LETTER EE;Lo;0;L;;;;;N;;;;; +11D68;GUNJALA GONDI LETTER AI;Lo;0;L;;;;;N;;;;; +11D6A;GUNJALA GONDI LETTER OO;Lo;0;L;;;;;N;;;;; +11D6B;GUNJALA GONDI LETTER AU;Lo;0;L;;;;;N;;;;; +11D6C;GUNJALA GONDI LETTER YA;Lo;0;L;;;;;N;;;;; +11D6D;GUNJALA GONDI LETTER VA;Lo;0;L;;;;;N;;;;; +11D6E;GUNJALA GONDI LETTER BA;Lo;0;L;;;;;N;;;;; +11D6F;GUNJALA GONDI LETTER BHA;Lo;0;L;;;;;N;;;;; +11D70;GUNJALA GONDI LETTER MA;Lo;0;L;;;;;N;;;;; +11D71;GUNJALA GONDI LETTER KA;Lo;0;L;;;;;N;;;;; +11D72;GUNJALA GONDI LETTER KHA;Lo;0;L;;;;;N;;;;; +11D73;GUNJALA GONDI LETTER TA;Lo;0;L;;;;;N;;;;; +11D74;GUNJALA GONDI LETTER THA;Lo;0;L;;;;;N;;;;; +11D75;GUNJALA GONDI LETTER LA;Lo;0;L;;;;;N;;;;; +11D76;GUNJALA GONDI LETTER GA;Lo;0;L;;;;;N;;;;; +11D77;GUNJALA GONDI LETTER GHA;Lo;0;L;;;;;N;;;;; +11D78;GUNJALA GONDI LETTER DA;Lo;0;L;;;;;N;;;;; +11D79;GUNJALA GONDI LETTER DHA;Lo;0;L;;;;;N;;;;; +11D7A;GUNJALA GONDI LETTER NA;Lo;0;L;;;;;N;;;;; +11D7B;GUNJALA GONDI LETTER CA;Lo;0;L;;;;;N;;;;; +11D7C;GUNJALA GONDI LETTER CHA;Lo;0;L;;;;;N;;;;; +11D7D;GUNJALA GONDI LETTER TTA;Lo;0;L;;;;;N;;;;; +11D7E;GUNJALA GONDI LETTER TTHA;Lo;0;L;;;;;N;;;;; +11D7F;GUNJALA GONDI LETTER LLA;Lo;0;L;;;;;N;;;;; +11D80;GUNJALA GONDI LETTER JA;Lo;0;L;;;;;N;;;;; +11D81;GUNJALA GONDI LETTER JHA;Lo;0;L;;;;;N;;;;; +11D82;GUNJALA GONDI LETTER DDA;Lo;0;L;;;;;N;;;;; +11D83;GUNJALA GONDI LETTER DDHA;Lo;0;L;;;;;N;;;;; +11D84;GUNJALA GONDI LETTER NGA;Lo;0;L;;;;;N;;;;; +11D85;GUNJALA GONDI LETTER PA;Lo;0;L;;;;;N;;;;; +11D86;GUNJALA GONDI LETTER PHA;Lo;0;L;;;;;N;;;;; +11D87;GUNJALA GONDI LETTER HA;Lo;0;L;;;;;N;;;;; +11D88;GUNJALA GONDI LETTER RA;Lo;0;L;;;;;N;;;;; +11D89;GUNJALA GONDI LETTER SA;Lo;0;L;;;;;N;;;;; +11D8A;GUNJALA GONDI VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +11D8B;GUNJALA GONDI VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +11D8C;GUNJALA GONDI VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +11D8D;GUNJALA GONDI VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +11D8E;GUNJALA GONDI VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +11D90;GUNJALA GONDI VOWEL SIGN EE;Mn;0;NSM;;;;;N;;;;; +11D91;GUNJALA GONDI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;; +11D93;GUNJALA GONDI VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +11D94;GUNJALA GONDI VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +11D95;GUNJALA GONDI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;; +11D96;GUNJALA GONDI SIGN VISARGA;Mc;0;L;;;;;N;;;;; +11D97;GUNJALA GONDI VIRAMA;Mn;9;NSM;;;;;N;;;;; +11D98;GUNJALA GONDI OM;Lo;0;L;;;;;N;;;;; +11DA0;GUNJALA GONDI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +11DA1;GUNJALA GONDI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +11DA2;GUNJALA GONDI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +11DA3;GUNJALA GONDI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +11DA4;GUNJALA GONDI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +11DA5;GUNJALA GONDI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +11DA6;GUNJALA GONDI DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +11DA7;GUNJALA GONDI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +11DA8;GUNJALA GONDI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +11DA9;GUNJALA GONDI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +11EE0;MAKASAR LETTER KA;Lo;0;L;;;;;N;;;;; +11EE1;MAKASAR LETTER GA;Lo;0;L;;;;;N;;;;; +11EE2;MAKASAR LETTER NGA;Lo;0;L;;;;;N;;;;; +11EE3;MAKASAR LETTER PA;Lo;0;L;;;;;N;;;;; +11EE4;MAKASAR LETTER BA;Lo;0;L;;;;;N;;;;; +11EE5;MAKASAR LETTER MA;Lo;0;L;;;;;N;;;;; +11EE6;MAKASAR LETTER TA;Lo;0;L;;;;;N;;;;; +11EE7;MAKASAR LETTER DA;Lo;0;L;;;;;N;;;;; +11EE8;MAKASAR LETTER NA;Lo;0;L;;;;;N;;;;; +11EE9;MAKASAR LETTER CA;Lo;0;L;;;;;N;;;;; +11EEA;MAKASAR LETTER JA;Lo;0;L;;;;;N;;;;; +11EEB;MAKASAR LETTER NYA;Lo;0;L;;;;;N;;;;; +11EEC;MAKASAR LETTER YA;Lo;0;L;;;;;N;;;;; +11EED;MAKASAR LETTER RA;Lo;0;L;;;;;N;;;;; +11EEE;MAKASAR LETTER LA;Lo;0;L;;;;;N;;;;; +11EEF;MAKASAR LETTER VA;Lo;0;L;;;;;N;;;;; +11EF0;MAKASAR LETTER SA;Lo;0;L;;;;;N;;;;; +11EF1;MAKASAR LETTER A;Lo;0;L;;;;;N;;;;; +11EF2;MAKASAR ANGKA;Lo;0;L;;;;;N;;;;; +11EF3;MAKASAR VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;; +11EF4;MAKASAR VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;; +11EF5;MAKASAR VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +11EF6;MAKASAR VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +11EF7;MAKASAR PASSIMBANG;Po;0;L;;;;;N;;;;; +11EF8;MAKASAR END OF SECTION;Po;0;L;;;;;N;;;;; +11FB0;LISU LETTER YHA;Lo;0;L;;;;;N;;;;; +11FC0;TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH;No;0;L;;;;1/320;N;;;;; +11FC1;TAMIL FRACTION ONE ONE-HUNDRED-AND-SIXTIETH;No;0;L;;;;1/160;N;;;;; +11FC2;TAMIL FRACTION ONE EIGHTIETH;No;0;L;;;;1/80;N;;;;; +11FC3;TAMIL FRACTION ONE SIXTY-FOURTH;No;0;L;;;;1/64;N;;;;; +11FC4;TAMIL FRACTION ONE FORTIETH;No;0;L;;;;1/40;N;;;;; +11FC5;TAMIL FRACTION ONE THIRTY-SECOND;No;0;L;;;;1/32;N;;;;; +11FC6;TAMIL FRACTION THREE EIGHTIETHS;No;0;L;;;;3/80;N;;;;; +11FC7;TAMIL FRACTION THREE SIXTY-FOURTHS;No;0;L;;;;3/64;N;;;;; +11FC8;TAMIL FRACTION ONE TWENTIETH;No;0;L;;;;1/20;N;;;;; +11FC9;TAMIL FRACTION ONE SIXTEENTH-1;No;0;L;;;;1/16;N;;;;; +11FCA;TAMIL FRACTION ONE SIXTEENTH-2;No;0;L;;;;1/16;N;;;;; +11FCB;TAMIL FRACTION ONE TENTH;No;0;L;;;;1/10;N;;;;; +11FCC;TAMIL FRACTION ONE EIGHTH;No;0;L;;;;1/8;N;;;;; +11FCD;TAMIL FRACTION THREE TWENTIETHS;No;0;L;;;;3/20;N;;;;; +11FCE;TAMIL FRACTION THREE SIXTEENTHS;No;0;L;;;;3/16;N;;;;; +11FCF;TAMIL FRACTION ONE FIFTH;No;0;L;;;;1/5;N;;;;; +11FD0;TAMIL FRACTION ONE QUARTER;No;0;L;;;;1/4;N;;;;; +11FD1;TAMIL FRACTION ONE HALF-1;No;0;L;;;;1/2;N;;;;; +11FD2;TAMIL FRACTION ONE HALF-2;No;0;L;;;;1/2;N;;;;; +11FD3;TAMIL FRACTION THREE QUARTERS;No;0;L;;;;3/4;N;;;;; +11FD4;TAMIL FRACTION DOWNSCALING FACTOR KIIZH;No;0;L;;;;1/320;N;;;;; +11FD5;TAMIL SIGN NEL;So;0;ON;;;;;N;;;;; +11FD6;TAMIL SIGN CEVITU;So;0;ON;;;;;N;;;;; +11FD7;TAMIL SIGN AAZHAAKKU;So;0;ON;;;;;N;;;;; +11FD8;TAMIL SIGN UZHAKKU;So;0;ON;;;;;N;;;;; +11FD9;TAMIL SIGN MUUVUZHAKKU;So;0;ON;;;;;N;;;;; +11FDA;TAMIL SIGN KURUNI;So;0;ON;;;;;N;;;;; +11FDB;TAMIL SIGN PATHAKKU;So;0;ON;;;;;N;;;;; +11FDC;TAMIL SIGN MUKKURUNI;So;0;ON;;;;;N;;;;; +11FDD;TAMIL SIGN KAACU;Sc;0;ET;;;;;N;;;;; +11FDE;TAMIL SIGN PANAM;Sc;0;ET;;;;;N;;;;; +11FDF;TAMIL SIGN PON;Sc;0;ET;;;;;N;;;;; +11FE0;TAMIL SIGN VARAAKAN;Sc;0;ET;;;;;N;;;;; +11FE1;TAMIL SIGN PAARAM;So;0;ON;;;;;N;;;;; +11FE2;TAMIL SIGN KUZHI;So;0;ON;;;;;N;;;;; +11FE3;TAMIL SIGN VELI;So;0;ON;;;;;N;;;;; +11FE4;TAMIL WET CULTIVATION SIGN;So;0;ON;;;;;N;;;;; +11FE5;TAMIL DRY CULTIVATION SIGN;So;0;ON;;;;;N;;;;; +11FE6;TAMIL LAND SIGN;So;0;ON;;;;;N;;;;; +11FE7;TAMIL SALT PAN SIGN;So;0;ON;;;;;N;;;;; +11FE8;TAMIL TRADITIONAL CREDIT SIGN;So;0;ON;;;;;N;;;;; +11FE9;TAMIL TRADITIONAL NUMBER SIGN;So;0;ON;;;;;N;;;;; +11FEA;TAMIL CURRENT SIGN;So;0;ON;;;;;N;;;;; +11FEB;TAMIL AND ODD SIGN;So;0;ON;;;;;N;;;;; +11FEC;TAMIL SPENT SIGN;So;0;ON;;;;;N;;;;; +11FED;TAMIL TOTAL SIGN;So;0;ON;;;;;N;;;;; +11FEE;TAMIL IN POSSESSION SIGN;So;0;ON;;;;;N;;;;; +11FEF;TAMIL STARTING FROM SIGN;So;0;ON;;;;;N;;;;; +11FF0;TAMIL SIGN MUTHALIYA;So;0;ON;;;;;N;;;;; +11FF1;TAMIL SIGN VAKAIYARAA;So;0;ON;;;;;N;;;;; +11FFF;TAMIL PUNCTUATION END OF TEXT;Po;0;L;;;;;N;;;;; +12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;; +12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;; +12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;; +12003;CUNEIFORM SIGN A TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12004;CUNEIFORM SIGN A TIMES HA;Lo;0;L;;;;;N;;;;; +12005;CUNEIFORM SIGN A TIMES IGI;Lo;0;L;;;;;N;;;;; +12006;CUNEIFORM SIGN A TIMES LAGAR GUNU;Lo;0;L;;;;;N;;;;; +12007;CUNEIFORM SIGN A TIMES MUSH;Lo;0;L;;;;;N;;;;; +12008;CUNEIFORM SIGN A TIMES SAG;Lo;0;L;;;;;N;;;;; +12009;CUNEIFORM SIGN A2;Lo;0;L;;;;;N;;;;; +1200A;CUNEIFORM SIGN AB;Lo;0;L;;;;;N;;;;; +1200B;CUNEIFORM SIGN AB TIMES ASH2;Lo;0;L;;;;;N;;;;; +1200C;CUNEIFORM SIGN AB TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;; +1200D;CUNEIFORM SIGN AB TIMES GAL;Lo;0;L;;;;;N;;;;; +1200E;CUNEIFORM SIGN AB TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1200F;CUNEIFORM SIGN AB TIMES HA;Lo;0;L;;;;;N;;;;; +12010;CUNEIFORM SIGN AB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12011;CUNEIFORM SIGN AB TIMES IMIN;Lo;0;L;;;;;N;;;;; +12012;CUNEIFORM SIGN AB TIMES LAGAB;Lo;0;L;;;;;N;;;;; +12013;CUNEIFORM SIGN AB TIMES SHESH;Lo;0;L;;;;;N;;;;; +12014;CUNEIFORM SIGN AB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +12015;CUNEIFORM SIGN AB GUNU;Lo;0;L;;;;;N;;;;; +12016;CUNEIFORM SIGN AB2;Lo;0;L;;;;;N;;;;; +12017;CUNEIFORM SIGN AB2 TIMES BALAG;Lo;0;L;;;;;N;;;;; +12018;CUNEIFORM SIGN AB2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12019;CUNEIFORM SIGN AB2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +1201A;CUNEIFORM SIGN AB2 TIMES SHA3;Lo;0;L;;;;;N;;;;; +1201B;CUNEIFORM SIGN AB2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1201C;CUNEIFORM SIGN AD;Lo;0;L;;;;;N;;;;; +1201D;CUNEIFORM SIGN AK;Lo;0;L;;;;;N;;;;; +1201E;CUNEIFORM SIGN AK TIMES ERIN2;Lo;0;L;;;;;N;;;;; +1201F;CUNEIFORM SIGN AK TIMES SHITA PLUS GISH;Lo;0;L;;;;;N;;;;; +12020;CUNEIFORM SIGN AL;Lo;0;L;;;;;N;;;;; +12021;CUNEIFORM SIGN AL TIMES AL;Lo;0;L;;;;;N;;;;; +12022;CUNEIFORM SIGN AL TIMES DIM2;Lo;0;L;;;;;N;;;;; +12023;CUNEIFORM SIGN AL TIMES GISH;Lo;0;L;;;;;N;;;;; +12024;CUNEIFORM SIGN AL TIMES HA;Lo;0;L;;;;;N;;;;; +12025;CUNEIFORM SIGN AL TIMES KAD3;Lo;0;L;;;;;N;;;;; +12026;CUNEIFORM SIGN AL TIMES KI;Lo;0;L;;;;;N;;;;; +12027;CUNEIFORM SIGN AL TIMES SHE;Lo;0;L;;;;;N;;;;; +12028;CUNEIFORM SIGN AL TIMES USH;Lo;0;L;;;;;N;;;;; +12029;CUNEIFORM SIGN ALAN;Lo;0;L;;;;;N;;;;; +1202A;CUNEIFORM SIGN ALEPH;Lo;0;L;;;;;N;;;;; +1202B;CUNEIFORM SIGN AMAR;Lo;0;L;;;;;N;;;;; +1202C;CUNEIFORM SIGN AMAR TIMES SHE;Lo;0;L;;;;;N;;;;; +1202D;CUNEIFORM SIGN AN;Lo;0;L;;;;;N;;;;; +1202E;CUNEIFORM SIGN AN OVER AN;Lo;0;L;;;;;N;;;;; +1202F;CUNEIFORM SIGN AN THREE TIMES;Lo;0;L;;;;;N;;;;; +12030;CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA;Lo;0;L;;;;;N;;;;; +12031;CUNEIFORM SIGN AN PLUS NAGA SQUARED;Lo;0;L;;;;;N;;;;; +12032;CUNEIFORM SIGN ANSHE;Lo;0;L;;;;;N;;;;; +12033;CUNEIFORM SIGN APIN;Lo;0;L;;;;;N;;;;; +12034;CUNEIFORM SIGN ARAD;Lo;0;L;;;;;N;;;;; +12035;CUNEIFORM SIGN ARAD TIMES KUR;Lo;0;L;;;;;N;;;;; +12036;CUNEIFORM SIGN ARKAB;Lo;0;L;;;;;N;;;;; +12037;CUNEIFORM SIGN ASAL2;Lo;0;L;;;;;N;;;;; +12038;CUNEIFORM SIGN ASH;Lo;0;L;;;;;N;;;;; +12039;CUNEIFORM SIGN ASH ZIDA TENU;Lo;0;L;;;;;N;;;;; +1203A;CUNEIFORM SIGN ASH KABA TENU;Lo;0;L;;;;;N;;;;; +1203B;CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP;Lo;0;L;;;;;N;;;;; +1203C;CUNEIFORM SIGN ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;; +1203D;CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH;Lo;0;L;;;;;N;;;;; +1203E;CUNEIFORM SIGN ASH2;Lo;0;L;;;;;N;;;;; +1203F;CUNEIFORM SIGN ASHGAB;Lo;0;L;;;;;N;;;;; +12040;CUNEIFORM SIGN BA;Lo;0;L;;;;;N;;;;; +12041;CUNEIFORM SIGN BAD;Lo;0;L;;;;;N;;;;; +12042;CUNEIFORM SIGN BAG3;Lo;0;L;;;;;N;;;;; +12043;CUNEIFORM SIGN BAHAR2;Lo;0;L;;;;;N;;;;; +12044;CUNEIFORM SIGN BAL;Lo;0;L;;;;;N;;;;; +12045;CUNEIFORM SIGN BAL OVER BAL;Lo;0;L;;;;;N;;;;; +12046;CUNEIFORM SIGN BALAG;Lo;0;L;;;;;N;;;;; +12047;CUNEIFORM SIGN BAR;Lo;0;L;;;;;N;;;;; +12048;CUNEIFORM SIGN BARA2;Lo;0;L;;;;;N;;;;; +12049;CUNEIFORM SIGN BI;Lo;0;L;;;;;N;;;;; +1204A;CUNEIFORM SIGN BI TIMES A;Lo;0;L;;;;;N;;;;; +1204B;CUNEIFORM SIGN BI TIMES GAR;Lo;0;L;;;;;N;;;;; +1204C;CUNEIFORM SIGN BI TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1204D;CUNEIFORM SIGN BU;Lo;0;L;;;;;N;;;;; +1204E;CUNEIFORM SIGN BU OVER BU AB;Lo;0;L;;;;;N;;;;; +1204F;CUNEIFORM SIGN BU OVER BU UN;Lo;0;L;;;;;N;;;;; +12050;CUNEIFORM SIGN BU CROSSING BU;Lo;0;L;;;;;N;;;;; +12051;CUNEIFORM SIGN BULUG;Lo;0;L;;;;;N;;;;; +12052;CUNEIFORM SIGN BULUG OVER BULUG;Lo;0;L;;;;;N;;;;; +12053;CUNEIFORM SIGN BUR;Lo;0;L;;;;;N;;;;; +12054;CUNEIFORM SIGN BUR2;Lo;0;L;;;;;N;;;;; +12055;CUNEIFORM SIGN DA;Lo;0;L;;;;;N;;;;; +12056;CUNEIFORM SIGN DAG;Lo;0;L;;;;;N;;;;; +12057;CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH;Lo;0;L;;;;;N;;;;; +12058;CUNEIFORM SIGN DAG KISIM5 TIMES AMAR;Lo;0;L;;;;;N;;;;; +12059;CUNEIFORM SIGN DAG KISIM5 TIMES BALAG;Lo;0;L;;;;;N;;;;; +1205A;CUNEIFORM SIGN DAG KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;; +1205B;CUNEIFORM SIGN DAG KISIM5 TIMES GA;Lo;0;L;;;;;N;;;;; +1205C;CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH;Lo;0;L;;;;;N;;;;; +1205D;CUNEIFORM SIGN DAG KISIM5 TIMES GI;Lo;0;L;;;;;N;;;;; +1205E;CUNEIFORM SIGN DAG KISIM5 TIMES GIR2;Lo;0;L;;;;;N;;;;; +1205F;CUNEIFORM SIGN DAG KISIM5 TIMES GUD;Lo;0;L;;;;;N;;;;; +12060;CUNEIFORM SIGN DAG KISIM5 TIMES HA;Lo;0;L;;;;;N;;;;; +12061;CUNEIFORM SIGN DAG KISIM5 TIMES IR;Lo;0;L;;;;;N;;;;; +12062;CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU;Lo;0;L;;;;;N;;;;; +12063;CUNEIFORM SIGN DAG KISIM5 TIMES KAK;Lo;0;L;;;;;N;;;;; +12064;CUNEIFORM SIGN DAG KISIM5 TIMES LA;Lo;0;L;;;;;N;;;;; +12065;CUNEIFORM SIGN DAG KISIM5 TIMES LU;Lo;0;L;;;;;N;;;;; +12066;CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2;Lo;0;L;;;;;N;;;;; +12067;CUNEIFORM SIGN DAG KISIM5 TIMES LUM;Lo;0;L;;;;;N;;;;; +12068;CUNEIFORM SIGN DAG KISIM5 TIMES NE;Lo;0;L;;;;;N;;;;; +12069;CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;; +1206A;CUNEIFORM SIGN DAG KISIM5 TIMES SI;Lo;0;L;;;;;N;;;;; +1206B;CUNEIFORM SIGN DAG KISIM5 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1206C;CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2;Lo;0;L;;;;;N;;;;; +1206D;CUNEIFORM SIGN DAG KISIM5 TIMES USH;Lo;0;L;;;;;N;;;;; +1206E;CUNEIFORM SIGN DAM;Lo;0;L;;;;;N;;;;; +1206F;CUNEIFORM SIGN DAR;Lo;0;L;;;;;N;;;;; +12070;CUNEIFORM SIGN DARA3;Lo;0;L;;;;;N;;;;; +12071;CUNEIFORM SIGN DARA4;Lo;0;L;;;;;N;;;;; +12072;CUNEIFORM SIGN DI;Lo;0;L;;;;;N;;;;; +12073;CUNEIFORM SIGN DIB;Lo;0;L;;;;;N;;;;; +12074;CUNEIFORM SIGN DIM;Lo;0;L;;;;;N;;;;; +12075;CUNEIFORM SIGN DIM TIMES SHE;Lo;0;L;;;;;N;;;;; +12076;CUNEIFORM SIGN DIM2;Lo;0;L;;;;;N;;;;; +12077;CUNEIFORM SIGN DIN;Lo;0;L;;;;;N;;;;; +12078;CUNEIFORM SIGN DIN KASKAL U GUNU DISH;Lo;0;L;;;;;N;;;;; +12079;CUNEIFORM SIGN DISH;Lo;0;L;;;;;N;;;;; +1207A;CUNEIFORM SIGN DU;Lo;0;L;;;;;N;;;;; +1207B;CUNEIFORM SIGN DU OVER DU;Lo;0;L;;;;;N;;;;; +1207C;CUNEIFORM SIGN DU GUNU;Lo;0;L;;;;;N;;;;; +1207D;CUNEIFORM SIGN DU SHESHIG;Lo;0;L;;;;;N;;;;; +1207E;CUNEIFORM SIGN DUB;Lo;0;L;;;;;N;;;;; +1207F;CUNEIFORM SIGN DUB TIMES ESH2;Lo;0;L;;;;;N;;;;; +12080;CUNEIFORM SIGN DUB2;Lo;0;L;;;;;N;;;;; +12081;CUNEIFORM SIGN DUG;Lo;0;L;;;;;N;;;;; +12082;CUNEIFORM SIGN DUGUD;Lo;0;L;;;;;N;;;;; +12083;CUNEIFORM SIGN DUH;Lo;0;L;;;;;N;;;;; +12084;CUNEIFORM SIGN DUN;Lo;0;L;;;;;N;;;;; +12085;CUNEIFORM SIGN DUN3;Lo;0;L;;;;;N;;;;; +12086;CUNEIFORM SIGN DUN3 GUNU;Lo;0;L;;;;;N;;;;; +12087;CUNEIFORM SIGN DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +12088;CUNEIFORM SIGN DUN4;Lo;0;L;;;;;N;;;;; +12089;CUNEIFORM SIGN DUR2;Lo;0;L;;;;;N;;;;; +1208A;CUNEIFORM SIGN E;Lo;0;L;;;;;N;;;;; +1208B;CUNEIFORM SIGN E TIMES PAP;Lo;0;L;;;;;N;;;;; +1208C;CUNEIFORM SIGN E OVER E NUN OVER NUN;Lo;0;L;;;;;N;;;;; +1208D;CUNEIFORM SIGN E2;Lo;0;L;;;;;N;;;;; +1208E;CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA;Lo;0;L;;;;;N;;;;; +1208F;CUNEIFORM SIGN E2 TIMES GAR;Lo;0;L;;;;;N;;;;; +12090;CUNEIFORM SIGN E2 TIMES MI;Lo;0;L;;;;;N;;;;; +12091;CUNEIFORM SIGN E2 TIMES SAL;Lo;0;L;;;;;N;;;;; +12092;CUNEIFORM SIGN E2 TIMES SHE;Lo;0;L;;;;;N;;;;; +12093;CUNEIFORM SIGN E2 TIMES U;Lo;0;L;;;;;N;;;;; +12094;CUNEIFORM SIGN EDIN;Lo;0;L;;;;;N;;;;; +12095;CUNEIFORM SIGN EGIR;Lo;0;L;;;;;N;;;;; +12096;CUNEIFORM SIGN EL;Lo;0;L;;;;;N;;;;; +12097;CUNEIFORM SIGN EN;Lo;0;L;;;;;N;;;;; +12098;CUNEIFORM SIGN EN TIMES GAN2;Lo;0;L;;;;;N;;;;; +12099;CUNEIFORM SIGN EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1209A;CUNEIFORM SIGN EN TIMES ME;Lo;0;L;;;;;N;;;;; +1209B;CUNEIFORM SIGN EN CROSSING EN;Lo;0;L;;;;;N;;;;; +1209C;CUNEIFORM SIGN EN OPPOSING EN;Lo;0;L;;;;;N;;;;; +1209D;CUNEIFORM SIGN EN SQUARED;Lo;0;L;;;;;N;;;;; +1209E;CUNEIFORM SIGN EREN;Lo;0;L;;;;;N;;;;; +1209F;CUNEIFORM SIGN ERIN2;Lo;0;L;;;;;N;;;;; +120A0;CUNEIFORM SIGN ESH2;Lo;0;L;;;;;N;;;;; +120A1;CUNEIFORM SIGN EZEN;Lo;0;L;;;;;N;;;;; +120A2;CUNEIFORM SIGN EZEN TIMES A;Lo;0;L;;;;;N;;;;; +120A3;CUNEIFORM SIGN EZEN TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;; +120A4;CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +120A5;CUNEIFORM SIGN EZEN TIMES AN;Lo;0;L;;;;;N;;;;; +120A6;CUNEIFORM SIGN EZEN TIMES BAD;Lo;0;L;;;;;N;;;;; +120A7;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU;Lo;0;L;;;;;N;;;;; +120A8;CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +120A9;CUNEIFORM SIGN EZEN TIMES HA;Lo;0;L;;;;;N;;;;; +120AA;CUNEIFORM SIGN EZEN TIMES HA GUNU;Lo;0;L;;;;;N;;;;; +120AB;CUNEIFORM SIGN EZEN TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +120AC;CUNEIFORM SIGN EZEN TIMES KASKAL;Lo;0;L;;;;;N;;;;; +120AD;CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED;Lo;0;L;;;;;N;;;;; +120AE;CUNEIFORM SIGN EZEN TIMES KU3;Lo;0;L;;;;;N;;;;; +120AF;CUNEIFORM SIGN EZEN TIMES LA;Lo;0;L;;;;;N;;;;; +120B0;CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +120B1;CUNEIFORM SIGN EZEN TIMES LI;Lo;0;L;;;;;N;;;;; +120B2;CUNEIFORM SIGN EZEN TIMES LU;Lo;0;L;;;;;N;;;;; +120B3;CUNEIFORM SIGN EZEN TIMES U2;Lo;0;L;;;;;N;;;;; +120B4;CUNEIFORM SIGN EZEN TIMES UD;Lo;0;L;;;;;N;;;;; +120B5;CUNEIFORM SIGN GA;Lo;0;L;;;;;N;;;;; +120B6;CUNEIFORM SIGN GA GUNU;Lo;0;L;;;;;N;;;;; +120B7;CUNEIFORM SIGN GA2;Lo;0;L;;;;;N;;;;; +120B8;CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;; +120B9;CUNEIFORM SIGN GA2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;; +120BA;CUNEIFORM SIGN GA2 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;; +120BB;CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB;Lo;0;L;;;;;N;;;;; +120BC;CUNEIFORM SIGN GA2 TIMES AN;Lo;0;L;;;;;N;;;;; +120BD;CUNEIFORM SIGN GA2 TIMES ASH;Lo;0;L;;;;;N;;;;; +120BE;CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL;Lo;0;L;;;;;N;;;;; +120BF;CUNEIFORM SIGN GA2 TIMES BAD;Lo;0;L;;;;;N;;;;; +120C0;CUNEIFORM SIGN GA2 TIMES BAR PLUS RA;Lo;0;L;;;;;N;;;;; +120C1;CUNEIFORM SIGN GA2 TIMES BUR;Lo;0;L;;;;;N;;;;; +120C2;CUNEIFORM SIGN GA2 TIMES BUR PLUS RA;Lo;0;L;;;;;N;;;;; +120C3;CUNEIFORM SIGN GA2 TIMES DA;Lo;0;L;;;;;N;;;;; +120C4;CUNEIFORM SIGN GA2 TIMES DI;Lo;0;L;;;;;N;;;;; +120C5;CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE;Lo;0;L;;;;;N;;;;; +120C6;CUNEIFORM SIGN GA2 TIMES DUB;Lo;0;L;;;;;N;;;;; +120C7;CUNEIFORM SIGN GA2 TIMES EL;Lo;0;L;;;;;N;;;;; +120C8;CUNEIFORM SIGN GA2 TIMES EL PLUS LA;Lo;0;L;;;;;N;;;;; +120C9;CUNEIFORM SIGN GA2 TIMES EN;Lo;0;L;;;;;N;;;;; +120CA;CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +120CB;CUNEIFORM SIGN GA2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +120CC;CUNEIFORM SIGN GA2 TIMES GAR;Lo;0;L;;;;;N;;;;; +120CD;CUNEIFORM SIGN GA2 TIMES GI;Lo;0;L;;;;;N;;;;; +120CE;CUNEIFORM SIGN GA2 TIMES GI4;Lo;0;L;;;;;N;;;;; +120CF;CUNEIFORM SIGN GA2 TIMES GI4 PLUS A;Lo;0;L;;;;;N;;;;; +120D0;CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU;Lo;0;L;;;;;N;;;;; +120D1;CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2;Lo;0;L;;;;;N;;;;; +120D2;CUNEIFORM SIGN GA2 TIMES HAL;Lo;0;L;;;;;N;;;;; +120D3;CUNEIFORM SIGN GA2 TIMES HAL PLUS LA;Lo;0;L;;;;;N;;;;; +120D4;CUNEIFORM SIGN GA2 TIMES HI PLUS LI;Lo;0;L;;;;;N;;;;; +120D5;CUNEIFORM SIGN GA2 TIMES HUB2;Lo;0;L;;;;;N;;;;; +120D6;CUNEIFORM SIGN GA2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +120D7;CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH;Lo;0;L;;;;;N;;;;; +120D8;CUNEIFORM SIGN GA2 TIMES KAK;Lo;0;L;;;;;N;;;;; +120D9;CUNEIFORM SIGN GA2 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +120DA;CUNEIFORM SIGN GA2 TIMES KID;Lo;0;L;;;;;N;;;;; +120DB;CUNEIFORM SIGN GA2 TIMES KID PLUS LAL;Lo;0;L;;;;;N;;;;; +120DC;CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN;Lo;0;L;;;;;N;;;;; +120DD;CUNEIFORM SIGN GA2 TIMES LA;Lo;0;L;;;;;N;;;;; +120DE;CUNEIFORM SIGN GA2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +120DF;CUNEIFORM SIGN GA2 TIMES MI;Lo;0;L;;;;;N;;;;; +120E0;CUNEIFORM SIGN GA2 TIMES NUN;Lo;0;L;;;;;N;;;;; +120E1;CUNEIFORM SIGN GA2 TIMES NUN OVER NUN;Lo;0;L;;;;;N;;;;; +120E2;CUNEIFORM SIGN GA2 TIMES PA;Lo;0;L;;;;;N;;;;; +120E3;CUNEIFORM SIGN GA2 TIMES SAL;Lo;0;L;;;;;N;;;;; +120E4;CUNEIFORM SIGN GA2 TIMES SAR;Lo;0;L;;;;;N;;;;; +120E5;CUNEIFORM SIGN GA2 TIMES SHE;Lo;0;L;;;;;N;;;;; +120E6;CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR;Lo;0;L;;;;;N;;;;; +120E7;CUNEIFORM SIGN GA2 TIMES SHID;Lo;0;L;;;;;N;;;;; +120E8;CUNEIFORM SIGN GA2 TIMES SUM;Lo;0;L;;;;;N;;;;; +120E9;CUNEIFORM SIGN GA2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +120EA;CUNEIFORM SIGN GA2 TIMES U;Lo;0;L;;;;;N;;;;; +120EB;CUNEIFORM SIGN GA2 TIMES UD;Lo;0;L;;;;;N;;;;; +120EC;CUNEIFORM SIGN GA2 TIMES UD PLUS DU;Lo;0;L;;;;;N;;;;; +120ED;CUNEIFORM SIGN GA2 OVER GA2;Lo;0;L;;;;;N;;;;; +120EE;CUNEIFORM SIGN GABA;Lo;0;L;;;;;N;;;;; +120EF;CUNEIFORM SIGN GABA CROSSING GABA;Lo;0;L;;;;;N;;;;; +120F0;CUNEIFORM SIGN GAD;Lo;0;L;;;;;N;;;;; +120F1;CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +120F2;CUNEIFORM SIGN GAL;Lo;0;L;;;;;N;;;;; +120F3;CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +120F4;CUNEIFORM SIGN GALAM;Lo;0;L;;;;;N;;;;; +120F5;CUNEIFORM SIGN GAM;Lo;0;L;;;;;N;;;;; +120F6;CUNEIFORM SIGN GAN;Lo;0;L;;;;;N;;;;; +120F7;CUNEIFORM SIGN GAN2;Lo;0;L;;;;;N;;;;; +120F8;CUNEIFORM SIGN GAN2 TENU;Lo;0;L;;;;;N;;;;; +120F9;CUNEIFORM SIGN GAN2 OVER GAN2;Lo;0;L;;;;;N;;;;; +120FA;CUNEIFORM SIGN GAN2 CROSSING GAN2;Lo;0;L;;;;;N;;;;; +120FB;CUNEIFORM SIGN GAR;Lo;0;L;;;;;N;;;;; +120FC;CUNEIFORM SIGN GAR3;Lo;0;L;;;;;N;;;;; +120FD;CUNEIFORM SIGN GASHAN;Lo;0;L;;;;;N;;;;; +120FE;CUNEIFORM SIGN GESHTIN;Lo;0;L;;;;;N;;;;; +120FF;CUNEIFORM SIGN GESHTIN TIMES KUR;Lo;0;L;;;;;N;;;;; +12100;CUNEIFORM SIGN GI;Lo;0;L;;;;;N;;;;; +12101;CUNEIFORM SIGN GI TIMES E;Lo;0;L;;;;;N;;;;; +12102;CUNEIFORM SIGN GI TIMES U;Lo;0;L;;;;;N;;;;; +12103;CUNEIFORM SIGN GI CROSSING GI;Lo;0;L;;;;;N;;;;; +12104;CUNEIFORM SIGN GI4;Lo;0;L;;;;;N;;;;; +12105;CUNEIFORM SIGN GI4 OVER GI4;Lo;0;L;;;;;N;;;;; +12106;CUNEIFORM SIGN GI4 CROSSING GI4;Lo;0;L;;;;;N;;;;; +12107;CUNEIFORM SIGN GIDIM;Lo;0;L;;;;;N;;;;; +12108;CUNEIFORM SIGN GIR2;Lo;0;L;;;;;N;;;;; +12109;CUNEIFORM SIGN GIR2 GUNU;Lo;0;L;;;;;N;;;;; +1210A;CUNEIFORM SIGN GIR3;Lo;0;L;;;;;N;;;;; +1210B;CUNEIFORM SIGN GIR3 TIMES A PLUS IGI;Lo;0;L;;;;;N;;;;; +1210C;CUNEIFORM SIGN GIR3 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1210D;CUNEIFORM SIGN GIR3 TIMES IGI;Lo;0;L;;;;;N;;;;; +1210E;CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI;Lo;0;L;;;;;N;;;;; +1210F;CUNEIFORM SIGN GIR3 TIMES PA;Lo;0;L;;;;;N;;;;; +12110;CUNEIFORM SIGN GISAL;Lo;0;L;;;;;N;;;;; +12111;CUNEIFORM SIGN GISH;Lo;0;L;;;;;N;;;;; +12112;CUNEIFORM SIGN GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +12113;CUNEIFORM SIGN GISH TIMES BAD;Lo;0;L;;;;;N;;;;; +12114;CUNEIFORM SIGN GISH TIMES TAK4;Lo;0;L;;;;;N;;;;; +12115;CUNEIFORM SIGN GISH TENU;Lo;0;L;;;;;N;;;;; +12116;CUNEIFORM SIGN GU;Lo;0;L;;;;;N;;;;; +12117;CUNEIFORM SIGN GU CROSSING GU;Lo;0;L;;;;;N;;;;; +12118;CUNEIFORM SIGN GU2;Lo;0;L;;;;;N;;;;; +12119;CUNEIFORM SIGN GU2 TIMES KAK;Lo;0;L;;;;;N;;;;; +1211A;CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1211B;CUNEIFORM SIGN GU2 TIMES NUN;Lo;0;L;;;;;N;;;;; +1211C;CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2;Lo;0;L;;;;;N;;;;; +1211D;CUNEIFORM SIGN GU2 GUNU;Lo;0;L;;;;;N;;;;; +1211E;CUNEIFORM SIGN GUD;Lo;0;L;;;;;N;;;;; +1211F;CUNEIFORM SIGN GUD TIMES A PLUS KUR;Lo;0;L;;;;;N;;;;; +12120;CUNEIFORM SIGN GUD TIMES KUR;Lo;0;L;;;;;N;;;;; +12121;CUNEIFORM SIGN GUD OVER GUD LUGAL;Lo;0;L;;;;;N;;;;; +12122;CUNEIFORM SIGN GUL;Lo;0;L;;;;;N;;;;; +12123;CUNEIFORM SIGN GUM;Lo;0;L;;;;;N;;;;; +12124;CUNEIFORM SIGN GUM TIMES SHE;Lo;0;L;;;;;N;;;;; +12125;CUNEIFORM SIGN GUR;Lo;0;L;;;;;N;;;;; +12126;CUNEIFORM SIGN GUR7;Lo;0;L;;;;;N;;;;; +12127;CUNEIFORM SIGN GURUN;Lo;0;L;;;;;N;;;;; +12128;CUNEIFORM SIGN GURUSH;Lo;0;L;;;;;N;;;;; +12129;CUNEIFORM SIGN HA;Lo;0;L;;;;;N;;;;; +1212A;CUNEIFORM SIGN HA TENU;Lo;0;L;;;;;N;;;;; +1212B;CUNEIFORM SIGN HA GUNU;Lo;0;L;;;;;N;;;;; +1212C;CUNEIFORM SIGN HAL;Lo;0;L;;;;;N;;;;; +1212D;CUNEIFORM SIGN HI;Lo;0;L;;;;;N;;;;; +1212E;CUNEIFORM SIGN HI TIMES ASH;Lo;0;L;;;;;N;;;;; +1212F;CUNEIFORM SIGN HI TIMES ASH2;Lo;0;L;;;;;N;;;;; +12130;CUNEIFORM SIGN HI TIMES BAD;Lo;0;L;;;;;N;;;;; +12131;CUNEIFORM SIGN HI TIMES DISH;Lo;0;L;;;;;N;;;;; +12132;CUNEIFORM SIGN HI TIMES GAD;Lo;0;L;;;;;N;;;;; +12133;CUNEIFORM SIGN HI TIMES KIN;Lo;0;L;;;;;N;;;;; +12134;CUNEIFORM SIGN HI TIMES NUN;Lo;0;L;;;;;N;;;;; +12135;CUNEIFORM SIGN HI TIMES SHE;Lo;0;L;;;;;N;;;;; +12136;CUNEIFORM SIGN HI TIMES U;Lo;0;L;;;;;N;;;;; +12137;CUNEIFORM SIGN HU;Lo;0;L;;;;;N;;;;; +12138;CUNEIFORM SIGN HUB2;Lo;0;L;;;;;N;;;;; +12139;CUNEIFORM SIGN HUB2 TIMES AN;Lo;0;L;;;;;N;;;;; +1213A;CUNEIFORM SIGN HUB2 TIMES HAL;Lo;0;L;;;;;N;;;;; +1213B;CUNEIFORM SIGN HUB2 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1213C;CUNEIFORM SIGN HUB2 TIMES LISH;Lo;0;L;;;;;N;;;;; +1213D;CUNEIFORM SIGN HUB2 TIMES UD;Lo;0;L;;;;;N;;;;; +1213E;CUNEIFORM SIGN HUL2;Lo;0;L;;;;;N;;;;; +1213F;CUNEIFORM SIGN I;Lo;0;L;;;;;N;;;;; +12140;CUNEIFORM SIGN I A;Lo;0;L;;;;;N;;;;; +12141;CUNEIFORM SIGN IB;Lo;0;L;;;;;N;;;;; +12142;CUNEIFORM SIGN IDIM;Lo;0;L;;;;;N;;;;; +12143;CUNEIFORM SIGN IDIM OVER IDIM BUR;Lo;0;L;;;;;N;;;;; +12144;CUNEIFORM SIGN IDIM OVER IDIM SQUARED;Lo;0;L;;;;;N;;;;; +12145;CUNEIFORM SIGN IG;Lo;0;L;;;;;N;;;;; +12146;CUNEIFORM SIGN IGI;Lo;0;L;;;;;N;;;;; +12147;CUNEIFORM SIGN IGI DIB;Lo;0;L;;;;;N;;;;; +12148;CUNEIFORM SIGN IGI RI;Lo;0;L;;;;;N;;;;; +12149;CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD;Lo;0;L;;;;;N;;;;; +1214A;CUNEIFORM SIGN IGI GUNU;Lo;0;L;;;;;N;;;;; +1214B;CUNEIFORM SIGN IL;Lo;0;L;;;;;N;;;;; +1214C;CUNEIFORM SIGN IL TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1214D;CUNEIFORM SIGN IL2;Lo;0;L;;;;;N;;;;; +1214E;CUNEIFORM SIGN IM;Lo;0;L;;;;;N;;;;; +1214F;CUNEIFORM SIGN IM TIMES TAK4;Lo;0;L;;;;;N;;;;; +12150;CUNEIFORM SIGN IM CROSSING IM;Lo;0;L;;;;;N;;;;; +12151;CUNEIFORM SIGN IM OPPOSING IM;Lo;0;L;;;;;N;;;;; +12152;CUNEIFORM SIGN IM SQUARED;Lo;0;L;;;;;N;;;;; +12153;CUNEIFORM SIGN IMIN;Lo;0;L;;;;;N;;;;; +12154;CUNEIFORM SIGN IN;Lo;0;L;;;;;N;;;;; +12155;CUNEIFORM SIGN IR;Lo;0;L;;;;;N;;;;; +12156;CUNEIFORM SIGN ISH;Lo;0;L;;;;;N;;;;; +12157;CUNEIFORM SIGN KA;Lo;0;L;;;;;N;;;;; +12158;CUNEIFORM SIGN KA TIMES A;Lo;0;L;;;;;N;;;;; +12159;CUNEIFORM SIGN KA TIMES AD;Lo;0;L;;;;;N;;;;; +1215A;CUNEIFORM SIGN KA TIMES AD PLUS KU3;Lo;0;L;;;;;N;;;;; +1215B;CUNEIFORM SIGN KA TIMES ASH2;Lo;0;L;;;;;N;;;;; +1215C;CUNEIFORM SIGN KA TIMES BAD;Lo;0;L;;;;;N;;;;; +1215D;CUNEIFORM SIGN KA TIMES BALAG;Lo;0;L;;;;;N;;;;; +1215E;CUNEIFORM SIGN KA TIMES BAR;Lo;0;L;;;;;N;;;;; +1215F;CUNEIFORM SIGN KA TIMES BI;Lo;0;L;;;;;N;;;;; +12160;CUNEIFORM SIGN KA TIMES ERIN2;Lo;0;L;;;;;N;;;;; +12161;CUNEIFORM SIGN KA TIMES ESH2;Lo;0;L;;;;;N;;;;; +12162;CUNEIFORM SIGN KA TIMES GA;Lo;0;L;;;;;N;;;;; +12163;CUNEIFORM SIGN KA TIMES GAL;Lo;0;L;;;;;N;;;;; +12164;CUNEIFORM SIGN KA TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12165;CUNEIFORM SIGN KA TIMES GAR;Lo;0;L;;;;;N;;;;; +12166;CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A;Lo;0;L;;;;;N;;;;; +12167;CUNEIFORM SIGN KA TIMES GI;Lo;0;L;;;;;N;;;;; +12168;CUNEIFORM SIGN KA TIMES GIR2;Lo;0;L;;;;;N;;;;; +12169;CUNEIFORM SIGN KA TIMES GISH PLUS SAR;Lo;0;L;;;;;N;;;;; +1216A;CUNEIFORM SIGN KA TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +1216B;CUNEIFORM SIGN KA TIMES GU;Lo;0;L;;;;;N;;;;; +1216C;CUNEIFORM SIGN KA TIMES GUR7;Lo;0;L;;;;;N;;;;; +1216D;CUNEIFORM SIGN KA TIMES IGI;Lo;0;L;;;;;N;;;;; +1216E;CUNEIFORM SIGN KA TIMES IM;Lo;0;L;;;;;N;;;;; +1216F;CUNEIFORM SIGN KA TIMES KAK;Lo;0;L;;;;;N;;;;; +12170;CUNEIFORM SIGN KA TIMES KI;Lo;0;L;;;;;N;;;;; +12171;CUNEIFORM SIGN KA TIMES KID;Lo;0;L;;;;;N;;;;; +12172;CUNEIFORM SIGN KA TIMES LI;Lo;0;L;;;;;N;;;;; +12173;CUNEIFORM SIGN KA TIMES LU;Lo;0;L;;;;;N;;;;; +12174;CUNEIFORM SIGN KA TIMES ME;Lo;0;L;;;;;N;;;;; +12175;CUNEIFORM SIGN KA TIMES ME PLUS DU;Lo;0;L;;;;;N;;;;; +12176;CUNEIFORM SIGN KA TIMES ME PLUS GI;Lo;0;L;;;;;N;;;;; +12177;CUNEIFORM SIGN KA TIMES ME PLUS TE;Lo;0;L;;;;;N;;;;; +12178;CUNEIFORM SIGN KA TIMES MI;Lo;0;L;;;;;N;;;;; +12179;CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ;Lo;0;L;;;;;N;;;;; +1217A;CUNEIFORM SIGN KA TIMES NE;Lo;0;L;;;;;N;;;;; +1217B;CUNEIFORM SIGN KA TIMES NUN;Lo;0;L;;;;;N;;;;; +1217C;CUNEIFORM SIGN KA TIMES PI;Lo;0;L;;;;;N;;;;; +1217D;CUNEIFORM SIGN KA TIMES RU;Lo;0;L;;;;;N;;;;; +1217E;CUNEIFORM SIGN KA TIMES SA;Lo;0;L;;;;;N;;;;; +1217F;CUNEIFORM SIGN KA TIMES SAR;Lo;0;L;;;;;N;;;;; +12180;CUNEIFORM SIGN KA TIMES SHA;Lo;0;L;;;;;N;;;;; +12181;CUNEIFORM SIGN KA TIMES SHE;Lo;0;L;;;;;N;;;;; +12182;CUNEIFORM SIGN KA TIMES SHID;Lo;0;L;;;;;N;;;;; +12183;CUNEIFORM SIGN KA TIMES SHU;Lo;0;L;;;;;N;;;;; +12184;CUNEIFORM SIGN KA TIMES SIG;Lo;0;L;;;;;N;;;;; +12185;CUNEIFORM SIGN KA TIMES SUHUR;Lo;0;L;;;;;N;;;;; +12186;CUNEIFORM SIGN KA TIMES TAR;Lo;0;L;;;;;N;;;;; +12187;CUNEIFORM SIGN KA TIMES U;Lo;0;L;;;;;N;;;;; +12188;CUNEIFORM SIGN KA TIMES U2;Lo;0;L;;;;;N;;;;; +12189;CUNEIFORM SIGN KA TIMES UD;Lo;0;L;;;;;N;;;;; +1218A;CUNEIFORM SIGN KA TIMES UMUM TIMES PA;Lo;0;L;;;;;N;;;;; +1218B;CUNEIFORM SIGN KA TIMES USH;Lo;0;L;;;;;N;;;;; +1218C;CUNEIFORM SIGN KA TIMES ZI;Lo;0;L;;;;;N;;;;; +1218D;CUNEIFORM SIGN KA2;Lo;0;L;;;;;N;;;;; +1218E;CUNEIFORM SIGN KA2 CROSSING KA2;Lo;0;L;;;;;N;;;;; +1218F;CUNEIFORM SIGN KAB;Lo;0;L;;;;;N;;;;; +12190;CUNEIFORM SIGN KAD2;Lo;0;L;;;;;N;;;;; +12191;CUNEIFORM SIGN KAD3;Lo;0;L;;;;;N;;;;; +12192;CUNEIFORM SIGN KAD4;Lo;0;L;;;;;N;;;;; +12193;CUNEIFORM SIGN KAD5;Lo;0;L;;;;;N;;;;; +12194;CUNEIFORM SIGN KAD5 OVER KAD5;Lo;0;L;;;;;N;;;;; +12195;CUNEIFORM SIGN KAK;Lo;0;L;;;;;N;;;;; +12196;CUNEIFORM SIGN KAK TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12197;CUNEIFORM SIGN KAL;Lo;0;L;;;;;N;;;;; +12198;CUNEIFORM SIGN KAL TIMES BAD;Lo;0;L;;;;;N;;;;; +12199;CUNEIFORM SIGN KAL CROSSING KAL;Lo;0;L;;;;;N;;;;; +1219A;CUNEIFORM SIGN KAM2;Lo;0;L;;;;;N;;;;; +1219B;CUNEIFORM SIGN KAM4;Lo;0;L;;;;;N;;;;; +1219C;CUNEIFORM SIGN KASKAL;Lo;0;L;;;;;N;;;;; +1219D;CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +1219E;CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +1219F;CUNEIFORM SIGN KESH2;Lo;0;L;;;;;N;;;;; +121A0;CUNEIFORM SIGN KI;Lo;0;L;;;;;N;;;;; +121A1;CUNEIFORM SIGN KI TIMES BAD;Lo;0;L;;;;;N;;;;; +121A2;CUNEIFORM SIGN KI TIMES U;Lo;0;L;;;;;N;;;;; +121A3;CUNEIFORM SIGN KI TIMES UD;Lo;0;L;;;;;N;;;;; +121A4;CUNEIFORM SIGN KID;Lo;0;L;;;;;N;;;;; +121A5;CUNEIFORM SIGN KIN;Lo;0;L;;;;;N;;;;; +121A6;CUNEIFORM SIGN KISAL;Lo;0;L;;;;;N;;;;; +121A7;CUNEIFORM SIGN KISH;Lo;0;L;;;;;N;;;;; +121A8;CUNEIFORM SIGN KISIM5;Lo;0;L;;;;;N;;;;; +121A9;CUNEIFORM SIGN KISIM5 OVER KISIM5;Lo;0;L;;;;;N;;;;; +121AA;CUNEIFORM SIGN KU;Lo;0;L;;;;;N;;;;; +121AB;CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2;Lo;0;L;;;;;N;;;;; +121AC;CUNEIFORM SIGN KU3;Lo;0;L;;;;;N;;;;; +121AD;CUNEIFORM SIGN KU4;Lo;0;L;;;;;N;;;;; +121AE;CUNEIFORM SIGN KU4 VARIANT FORM;Lo;0;L;;;;;N;;;;; +121AF;CUNEIFORM SIGN KU7;Lo;0;L;;;;;N;;;;; +121B0;CUNEIFORM SIGN KUL;Lo;0;L;;;;;N;;;;; +121B1;CUNEIFORM SIGN KUL GUNU;Lo;0;L;;;;;N;;;;; +121B2;CUNEIFORM SIGN KUN;Lo;0;L;;;;;N;;;;; +121B3;CUNEIFORM SIGN KUR;Lo;0;L;;;;;N;;;;; +121B4;CUNEIFORM SIGN KUR OPPOSING KUR;Lo;0;L;;;;;N;;;;; +121B5;CUNEIFORM SIGN KUSHU2;Lo;0;L;;;;;N;;;;; +121B6;CUNEIFORM SIGN KWU318;Lo;0;L;;;;;N;;;;; +121B7;CUNEIFORM SIGN LA;Lo;0;L;;;;;N;;;;; +121B8;CUNEIFORM SIGN LAGAB;Lo;0;L;;;;;N;;;;; +121B9;CUNEIFORM SIGN LAGAB TIMES A;Lo;0;L;;;;;N;;;;; +121BA;CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA;Lo;0;L;;;;;N;;;;; +121BB;CUNEIFORM SIGN LAGAB TIMES A PLUS GAR;Lo;0;L;;;;;N;;;;; +121BC;CUNEIFORM SIGN LAGAB TIMES A PLUS LAL;Lo;0;L;;;;;N;;;;; +121BD;CUNEIFORM SIGN LAGAB TIMES AL;Lo;0;L;;;;;N;;;;; +121BE;CUNEIFORM SIGN LAGAB TIMES AN;Lo;0;L;;;;;N;;;;; +121BF;CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU;Lo;0;L;;;;;N;;;;; +121C0;CUNEIFORM SIGN LAGAB TIMES BAD;Lo;0;L;;;;;N;;;;; +121C1;CUNEIFORM SIGN LAGAB TIMES BI;Lo;0;L;;;;;N;;;;; +121C2;CUNEIFORM SIGN LAGAB TIMES DAR;Lo;0;L;;;;;N;;;;; +121C3;CUNEIFORM SIGN LAGAB TIMES EN;Lo;0;L;;;;;N;;;;; +121C4;CUNEIFORM SIGN LAGAB TIMES GA;Lo;0;L;;;;;N;;;;; +121C5;CUNEIFORM SIGN LAGAB TIMES GAR;Lo;0;L;;;;;N;;;;; +121C6;CUNEIFORM SIGN LAGAB TIMES GUD;Lo;0;L;;;;;N;;;;; +121C7;CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD;Lo;0;L;;;;;N;;;;; +121C8;CUNEIFORM SIGN LAGAB TIMES HA;Lo;0;L;;;;;N;;;;; +121C9;CUNEIFORM SIGN LAGAB TIMES HAL;Lo;0;L;;;;;N;;;;; +121CA;CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN;Lo;0;L;;;;;N;;;;; +121CB;CUNEIFORM SIGN LAGAB TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +121CC;CUNEIFORM SIGN LAGAB TIMES IM;Lo;0;L;;;;;N;;;;; +121CD;CUNEIFORM SIGN LAGAB TIMES IM PLUS HA;Lo;0;L;;;;;N;;;;; +121CE;CUNEIFORM SIGN LAGAB TIMES IM PLUS LU;Lo;0;L;;;;;N;;;;; +121CF;CUNEIFORM SIGN LAGAB TIMES KI;Lo;0;L;;;;;N;;;;; +121D0;CUNEIFORM SIGN LAGAB TIMES KIN;Lo;0;L;;;;;N;;;;; +121D1;CUNEIFORM SIGN LAGAB TIMES KU3;Lo;0;L;;;;;N;;;;; +121D2;CUNEIFORM SIGN LAGAB TIMES KUL;Lo;0;L;;;;;N;;;;; +121D3;CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A;Lo;0;L;;;;;N;;;;; +121D4;CUNEIFORM SIGN LAGAB TIMES LAGAB;Lo;0;L;;;;;N;;;;; +121D5;CUNEIFORM SIGN LAGAB TIMES LISH;Lo;0;L;;;;;N;;;;; +121D6;CUNEIFORM SIGN LAGAB TIMES LU;Lo;0;L;;;;;N;;;;; +121D7;CUNEIFORM SIGN LAGAB TIMES LUL;Lo;0;L;;;;;N;;;;; +121D8;CUNEIFORM SIGN LAGAB TIMES ME;Lo;0;L;;;;;N;;;;; +121D9;CUNEIFORM SIGN LAGAB TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +121DA;CUNEIFORM SIGN LAGAB TIMES MUSH;Lo;0;L;;;;;N;;;;; +121DB;CUNEIFORM SIGN LAGAB TIMES NE;Lo;0;L;;;;;N;;;;; +121DC;CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;; +121DD;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2;Lo;0;L;;;;;N;;;;; +121DE;CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU;Lo;0;L;;;;;N;;;;; +121DF;CUNEIFORM SIGN LAGAB TIMES SHU2;Lo;0;L;;;;;N;;;;; +121E0;CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2;Lo;0;L;;;;;N;;;;; +121E1;CUNEIFORM SIGN LAGAB TIMES SUM;Lo;0;L;;;;;N;;;;; +121E2;CUNEIFORM SIGN LAGAB TIMES TAG;Lo;0;L;;;;;N;;;;; +121E3;CUNEIFORM SIGN LAGAB TIMES TAK4;Lo;0;L;;;;;N;;;;; +121E4;CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA;Lo;0;L;;;;;N;;;;; +121E5;CUNEIFORM SIGN LAGAB TIMES U;Lo;0;L;;;;;N;;;;; +121E6;CUNEIFORM SIGN LAGAB TIMES U PLUS A;Lo;0;L;;;;;N;;;;; +121E7;CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +121E8;CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +121E9;CUNEIFORM SIGN LAGAB TIMES UD;Lo;0;L;;;;;N;;;;; +121EA;CUNEIFORM SIGN LAGAB TIMES USH;Lo;0;L;;;;;N;;;;; +121EB;CUNEIFORM SIGN LAGAB SQUARED;Lo;0;L;;;;;N;;;;; +121EC;CUNEIFORM SIGN LAGAR;Lo;0;L;;;;;N;;;;; +121ED;CUNEIFORM SIGN LAGAR TIMES SHE;Lo;0;L;;;;;N;;;;; +121EE;CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM;Lo;0;L;;;;;N;;;;; +121EF;CUNEIFORM SIGN LAGAR GUNU;Lo;0;L;;;;;N;;;;; +121F0;CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE;Lo;0;L;;;;;N;;;;; +121F1;CUNEIFORM SIGN LAHSHU;Lo;0;L;;;;;N;;;;; +121F2;CUNEIFORM SIGN LAL;Lo;0;L;;;;;N;;;;; +121F3;CUNEIFORM SIGN LAL TIMES LAL;Lo;0;L;;;;;N;;;;; +121F4;CUNEIFORM SIGN LAM;Lo;0;L;;;;;N;;;;; +121F5;CUNEIFORM SIGN LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +121F6;CUNEIFORM SIGN LAM TIMES KUR PLUS RU;Lo;0;L;;;;;N;;;;; +121F7;CUNEIFORM SIGN LI;Lo;0;L;;;;;N;;;;; +121F8;CUNEIFORM SIGN LIL;Lo;0;L;;;;;N;;;;; +121F9;CUNEIFORM SIGN LIMMU2;Lo;0;L;;;;;N;;;;; +121FA;CUNEIFORM SIGN LISH;Lo;0;L;;;;;N;;;;; +121FB;CUNEIFORM SIGN LU;Lo;0;L;;;;;N;;;;; +121FC;CUNEIFORM SIGN LU TIMES BAD;Lo;0;L;;;;;N;;;;; +121FD;CUNEIFORM SIGN LU2;Lo;0;L;;;;;N;;;;; +121FE;CUNEIFORM SIGN LU2 TIMES AL;Lo;0;L;;;;;N;;;;; +121FF;CUNEIFORM SIGN LU2 TIMES BAD;Lo;0;L;;;;;N;;;;; +12200;CUNEIFORM SIGN LU2 TIMES ESH2;Lo;0;L;;;;;N;;;;; +12201;CUNEIFORM SIGN LU2 TIMES ESH2 TENU;Lo;0;L;;;;;N;;;;; +12202;CUNEIFORM SIGN LU2 TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12203;CUNEIFORM SIGN LU2 TIMES HI TIMES BAD;Lo;0;L;;;;;N;;;;; +12204;CUNEIFORM SIGN LU2 TIMES IM;Lo;0;L;;;;;N;;;;; +12205;CUNEIFORM SIGN LU2 TIMES KAD2;Lo;0;L;;;;;N;;;;; +12206;CUNEIFORM SIGN LU2 TIMES KAD3;Lo;0;L;;;;;N;;;;; +12207;CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH;Lo;0;L;;;;;N;;;;; +12208;CUNEIFORM SIGN LU2 TIMES KI;Lo;0;L;;;;;N;;;;; +12209;CUNEIFORM SIGN LU2 TIMES LA PLUS ASH;Lo;0;L;;;;;N;;;;; +1220A;CUNEIFORM SIGN LU2 TIMES LAGAB;Lo;0;L;;;;;N;;;;; +1220B;CUNEIFORM SIGN LU2 TIMES ME PLUS EN;Lo;0;L;;;;;N;;;;; +1220C;CUNEIFORM SIGN LU2 TIMES NE;Lo;0;L;;;;;N;;;;; +1220D;CUNEIFORM SIGN LU2 TIMES NU;Lo;0;L;;;;;N;;;;; +1220E;CUNEIFORM SIGN LU2 TIMES SI PLUS ASH;Lo;0;L;;;;;N;;;;; +1220F;CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU;Lo;0;L;;;;;N;;;;; +12210;CUNEIFORM SIGN LU2 TIMES TUG2;Lo;0;L;;;;;N;;;;; +12211;CUNEIFORM SIGN LU2 TENU;Lo;0;L;;;;;N;;;;; +12212;CUNEIFORM SIGN LU2 CROSSING LU2;Lo;0;L;;;;;N;;;;; +12213;CUNEIFORM SIGN LU2 OPPOSING LU2;Lo;0;L;;;;;N;;;;; +12214;CUNEIFORM SIGN LU2 SQUARED;Lo;0;L;;;;;N;;;;; +12215;CUNEIFORM SIGN LU2 SHESHIG;Lo;0;L;;;;;N;;;;; +12216;CUNEIFORM SIGN LU3;Lo;0;L;;;;;N;;;;; +12217;CUNEIFORM SIGN LUGAL;Lo;0;L;;;;;N;;;;; +12218;CUNEIFORM SIGN LUGAL OVER LUGAL;Lo;0;L;;;;;N;;;;; +12219;CUNEIFORM SIGN LUGAL OPPOSING LUGAL;Lo;0;L;;;;;N;;;;; +1221A;CUNEIFORM SIGN LUGAL SHESHIG;Lo;0;L;;;;;N;;;;; +1221B;CUNEIFORM SIGN LUH;Lo;0;L;;;;;N;;;;; +1221C;CUNEIFORM SIGN LUL;Lo;0;L;;;;;N;;;;; +1221D;CUNEIFORM SIGN LUM;Lo;0;L;;;;;N;;;;; +1221E;CUNEIFORM SIGN LUM OVER LUM;Lo;0;L;;;;;N;;;;; +1221F;CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR;Lo;0;L;;;;;N;;;;; +12220;CUNEIFORM SIGN MA;Lo;0;L;;;;;N;;;;; +12221;CUNEIFORM SIGN MA TIMES TAK4;Lo;0;L;;;;;N;;;;; +12222;CUNEIFORM SIGN MA GUNU;Lo;0;L;;;;;N;;;;; +12223;CUNEIFORM SIGN MA2;Lo;0;L;;;;;N;;;;; +12224;CUNEIFORM SIGN MAH;Lo;0;L;;;;;N;;;;; +12225;CUNEIFORM SIGN MAR;Lo;0;L;;;;;N;;;;; +12226;CUNEIFORM SIGN MASH;Lo;0;L;;;;;N;;;;; +12227;CUNEIFORM SIGN MASH2;Lo;0;L;;;;;N;;;;; +12228;CUNEIFORM SIGN ME;Lo;0;L;;;;;N;;;;; +12229;CUNEIFORM SIGN MES;Lo;0;L;;;;;N;;;;; +1222A;CUNEIFORM SIGN MI;Lo;0;L;;;;;N;;;;; +1222B;CUNEIFORM SIGN MIN;Lo;0;L;;;;;N;;;;; +1222C;CUNEIFORM SIGN MU;Lo;0;L;;;;;N;;;;; +1222D;CUNEIFORM SIGN MU OVER MU;Lo;0;L;;;;;N;;;;; +1222E;CUNEIFORM SIGN MUG;Lo;0;L;;;;;N;;;;; +1222F;CUNEIFORM SIGN MUG GUNU;Lo;0;L;;;;;N;;;;; +12230;CUNEIFORM SIGN MUNSUB;Lo;0;L;;;;;N;;;;; +12231;CUNEIFORM SIGN MURGU2;Lo;0;L;;;;;N;;;;; +12232;CUNEIFORM SIGN MUSH;Lo;0;L;;;;;N;;;;; +12233;CUNEIFORM SIGN MUSH TIMES A;Lo;0;L;;;;;N;;;;; +12234;CUNEIFORM SIGN MUSH TIMES KUR;Lo;0;L;;;;;N;;;;; +12235;CUNEIFORM SIGN MUSH TIMES ZA;Lo;0;L;;;;;N;;;;; +12236;CUNEIFORM SIGN MUSH OVER MUSH;Lo;0;L;;;;;N;;;;; +12237;CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA;Lo;0;L;;;;;N;;;;; +12238;CUNEIFORM SIGN MUSH CROSSING MUSH;Lo;0;L;;;;;N;;;;; +12239;CUNEIFORM SIGN MUSH3;Lo;0;L;;;;;N;;;;; +1223A;CUNEIFORM SIGN MUSH3 TIMES A;Lo;0;L;;;;;N;;;;; +1223B;CUNEIFORM SIGN MUSH3 TIMES A PLUS DI;Lo;0;L;;;;;N;;;;; +1223C;CUNEIFORM SIGN MUSH3 TIMES DI;Lo;0;L;;;;;N;;;;; +1223D;CUNEIFORM SIGN MUSH3 GUNU;Lo;0;L;;;;;N;;;;; +1223E;CUNEIFORM SIGN NA;Lo;0;L;;;;;N;;;;; +1223F;CUNEIFORM SIGN NA2;Lo;0;L;;;;;N;;;;; +12240;CUNEIFORM SIGN NAGA;Lo;0;L;;;;;N;;;;; +12241;CUNEIFORM SIGN NAGA INVERTED;Lo;0;L;;;;;N;;;;; +12242;CUNEIFORM SIGN NAGA TIMES SHU TENU;Lo;0;L;;;;;N;;;;; +12243;CUNEIFORM SIGN NAGA OPPOSING NAGA;Lo;0;L;;;;;N;;;;; +12244;CUNEIFORM SIGN NAGAR;Lo;0;L;;;;;N;;;;; +12245;CUNEIFORM SIGN NAM NUTILLU;Lo;0;L;;;;;N;;;;; +12246;CUNEIFORM SIGN NAM;Lo;0;L;;;;;N;;;;; +12247;CUNEIFORM SIGN NAM2;Lo;0;L;;;;;N;;;;; +12248;CUNEIFORM SIGN NE;Lo;0;L;;;;;N;;;;; +12249;CUNEIFORM SIGN NE TIMES A;Lo;0;L;;;;;N;;;;; +1224A;CUNEIFORM SIGN NE TIMES UD;Lo;0;L;;;;;N;;;;; +1224B;CUNEIFORM SIGN NE SHESHIG;Lo;0;L;;;;;N;;;;; +1224C;CUNEIFORM SIGN NI;Lo;0;L;;;;;N;;;;; +1224D;CUNEIFORM SIGN NI TIMES E;Lo;0;L;;;;;N;;;;; +1224E;CUNEIFORM SIGN NI2;Lo;0;L;;;;;N;;;;; +1224F;CUNEIFORM SIGN NIM;Lo;0;L;;;;;N;;;;; +12250;CUNEIFORM SIGN NIM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +12251;CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;; +12252;CUNEIFORM SIGN NINDA2;Lo;0;L;;;;;N;;;;; +12253;CUNEIFORM SIGN NINDA2 TIMES AN;Lo;0;L;;;;;N;;;;; +12254;CUNEIFORM SIGN NINDA2 TIMES ASH;Lo;0;L;;;;;N;;;;; +12255;CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH;Lo;0;L;;;;;N;;;;; +12256;CUNEIFORM SIGN NINDA2 TIMES GUD;Lo;0;L;;;;;N;;;;; +12257;CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU;Lo;0;L;;;;;N;;;;; +12258;CUNEIFORM SIGN NINDA2 TIMES NE;Lo;0;L;;;;;N;;;;; +12259;CUNEIFORM SIGN NINDA2 TIMES NUN;Lo;0;L;;;;;N;;;;; +1225A;CUNEIFORM SIGN NINDA2 TIMES SHE;Lo;0;L;;;;;N;;;;; +1225B;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN;Lo;0;L;;;;;N;;;;; +1225C;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH;Lo;0;L;;;;;N;;;;; +1225D;CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH;Lo;0;L;;;;;N;;;;; +1225E;CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +1225F;CUNEIFORM SIGN NINDA2 TIMES USH;Lo;0;L;;;;;N;;;;; +12260;CUNEIFORM SIGN NISAG;Lo;0;L;;;;;N;;;;; +12261;CUNEIFORM SIGN NU;Lo;0;L;;;;;N;;;;; +12262;CUNEIFORM SIGN NU11;Lo;0;L;;;;;N;;;;; +12263;CUNEIFORM SIGN NUN;Lo;0;L;;;;;N;;;;; +12264;CUNEIFORM SIGN NUN LAGAR TIMES GAR;Lo;0;L;;;;;N;;;;; +12265;CUNEIFORM SIGN NUN LAGAR TIMES MASH;Lo;0;L;;;;;N;;;;; +12266;CUNEIFORM SIGN NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;; +12267;CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL;Lo;0;L;;;;;N;;;;; +12268;CUNEIFORM SIGN NUN LAGAR TIMES USH;Lo;0;L;;;;;N;;;;; +12269;CUNEIFORM SIGN NUN TENU;Lo;0;L;;;;;N;;;;; +1226A;CUNEIFORM SIGN NUN OVER NUN;Lo;0;L;;;;;N;;;;; +1226B;CUNEIFORM SIGN NUN CROSSING NUN;Lo;0;L;;;;;N;;;;; +1226C;CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR;Lo;0;L;;;;;N;;;;; +1226D;CUNEIFORM SIGN NUNUZ;Lo;0;L;;;;;N;;;;; +1226E;CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB;Lo;0;L;;;;;N;;;;; +1226F;CUNEIFORM SIGN NUNUZ AB2 TIMES BI;Lo;0;L;;;;;N;;;;; +12270;CUNEIFORM SIGN NUNUZ AB2 TIMES DUG;Lo;0;L;;;;;N;;;;; +12271;CUNEIFORM SIGN NUNUZ AB2 TIMES GUD;Lo;0;L;;;;;N;;;;; +12272;CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12273;CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3;Lo;0;L;;;;;N;;;;; +12274;CUNEIFORM SIGN NUNUZ AB2 TIMES LA;Lo;0;L;;;;;N;;;;; +12275;CUNEIFORM SIGN NUNUZ AB2 TIMES NE;Lo;0;L;;;;;N;;;;; +12276;CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3;Lo;0;L;;;;;N;;;;; +12277;CUNEIFORM SIGN NUNUZ AB2 TIMES U2;Lo;0;L;;;;;N;;;;; +12278;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI;Lo;0;L;;;;;N;;;;; +12279;CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U;Lo;0;L;;;;;N;;;;; +1227A;CUNEIFORM SIGN PA;Lo;0;L;;;;;N;;;;; +1227B;CUNEIFORM SIGN PAD;Lo;0;L;;;;;N;;;;; +1227C;CUNEIFORM SIGN PAN;Lo;0;L;;;;;N;;;;; +1227D;CUNEIFORM SIGN PAP;Lo;0;L;;;;;N;;;;; +1227E;CUNEIFORM SIGN PESH2;Lo;0;L;;;;;N;;;;; +1227F;CUNEIFORM SIGN PI;Lo;0;L;;;;;N;;;;; +12280;CUNEIFORM SIGN PI TIMES A;Lo;0;L;;;;;N;;;;; +12281;CUNEIFORM SIGN PI TIMES AB;Lo;0;L;;;;;N;;;;; +12282;CUNEIFORM SIGN PI TIMES BI;Lo;0;L;;;;;N;;;;; +12283;CUNEIFORM SIGN PI TIMES BU;Lo;0;L;;;;;N;;;;; +12284;CUNEIFORM SIGN PI TIMES E;Lo;0;L;;;;;N;;;;; +12285;CUNEIFORM SIGN PI TIMES I;Lo;0;L;;;;;N;;;;; +12286;CUNEIFORM SIGN PI TIMES IB;Lo;0;L;;;;;N;;;;; +12287;CUNEIFORM SIGN PI TIMES U;Lo;0;L;;;;;N;;;;; +12288;CUNEIFORM SIGN PI TIMES U2;Lo;0;L;;;;;N;;;;; +12289;CUNEIFORM SIGN PI CROSSING PI;Lo;0;L;;;;;N;;;;; +1228A;CUNEIFORM SIGN PIRIG;Lo;0;L;;;;;N;;;;; +1228B;CUNEIFORM SIGN PIRIG TIMES KAL;Lo;0;L;;;;;N;;;;; +1228C;CUNEIFORM SIGN PIRIG TIMES UD;Lo;0;L;;;;;N;;;;; +1228D;CUNEIFORM SIGN PIRIG TIMES ZA;Lo;0;L;;;;;N;;;;; +1228E;CUNEIFORM SIGN PIRIG OPPOSING PIRIG;Lo;0;L;;;;;N;;;;; +1228F;CUNEIFORM SIGN RA;Lo;0;L;;;;;N;;;;; +12290;CUNEIFORM SIGN RAB;Lo;0;L;;;;;N;;;;; +12291;CUNEIFORM SIGN RI;Lo;0;L;;;;;N;;;;; +12292;CUNEIFORM SIGN RU;Lo;0;L;;;;;N;;;;; +12293;CUNEIFORM SIGN SA;Lo;0;L;;;;;N;;;;; +12294;CUNEIFORM SIGN SAG NUTILLU;Lo;0;L;;;;;N;;;;; +12295;CUNEIFORM SIGN SAG;Lo;0;L;;;;;N;;;;; +12296;CUNEIFORM SIGN SAG TIMES A;Lo;0;L;;;;;N;;;;; +12297;CUNEIFORM SIGN SAG TIMES DU;Lo;0;L;;;;;N;;;;; +12298;CUNEIFORM SIGN SAG TIMES DUB;Lo;0;L;;;;;N;;;;; +12299;CUNEIFORM SIGN SAG TIMES HA;Lo;0;L;;;;;N;;;;; +1229A;CUNEIFORM SIGN SAG TIMES KAK;Lo;0;L;;;;;N;;;;; +1229B;CUNEIFORM SIGN SAG TIMES KUR;Lo;0;L;;;;;N;;;;; +1229C;CUNEIFORM SIGN SAG TIMES LUM;Lo;0;L;;;;;N;;;;; +1229D;CUNEIFORM SIGN SAG TIMES MI;Lo;0;L;;;;;N;;;;; +1229E;CUNEIFORM SIGN SAG TIMES NUN;Lo;0;L;;;;;N;;;;; +1229F;CUNEIFORM SIGN SAG TIMES SAL;Lo;0;L;;;;;N;;;;; +122A0;CUNEIFORM SIGN SAG TIMES SHID;Lo;0;L;;;;;N;;;;; +122A1;CUNEIFORM SIGN SAG TIMES TAB;Lo;0;L;;;;;N;;;;; +122A2;CUNEIFORM SIGN SAG TIMES U2;Lo;0;L;;;;;N;;;;; +122A3;CUNEIFORM SIGN SAG TIMES UB;Lo;0;L;;;;;N;;;;; +122A4;CUNEIFORM SIGN SAG TIMES UM;Lo;0;L;;;;;N;;;;; +122A5;CUNEIFORM SIGN SAG TIMES UR;Lo;0;L;;;;;N;;;;; +122A6;CUNEIFORM SIGN SAG TIMES USH;Lo;0;L;;;;;N;;;;; +122A7;CUNEIFORM SIGN SAG OVER SAG;Lo;0;L;;;;;N;;;;; +122A8;CUNEIFORM SIGN SAG GUNU;Lo;0;L;;;;;N;;;;; +122A9;CUNEIFORM SIGN SAL;Lo;0;L;;;;;N;;;;; +122AA;CUNEIFORM SIGN SAL LAGAB TIMES ASH2;Lo;0;L;;;;;N;;;;; +122AB;CUNEIFORM SIGN SANGA2;Lo;0;L;;;;;N;;;;; +122AC;CUNEIFORM SIGN SAR;Lo;0;L;;;;;N;;;;; +122AD;CUNEIFORM SIGN SHA;Lo;0;L;;;;;N;;;;; +122AE;CUNEIFORM SIGN SHA3;Lo;0;L;;;;;N;;;;; +122AF;CUNEIFORM SIGN SHA3 TIMES A;Lo;0;L;;;;;N;;;;; +122B0;CUNEIFORM SIGN SHA3 TIMES BAD;Lo;0;L;;;;;N;;;;; +122B1;CUNEIFORM SIGN SHA3 TIMES GISH;Lo;0;L;;;;;N;;;;; +122B2;CUNEIFORM SIGN SHA3 TIMES NE;Lo;0;L;;;;;N;;;;; +122B3;CUNEIFORM SIGN SHA3 TIMES SHU2;Lo;0;L;;;;;N;;;;; +122B4;CUNEIFORM SIGN SHA3 TIMES TUR;Lo;0;L;;;;;N;;;;; +122B5;CUNEIFORM SIGN SHA3 TIMES U;Lo;0;L;;;;;N;;;;; +122B6;CUNEIFORM SIGN SHA3 TIMES U PLUS A;Lo;0;L;;;;;N;;;;; +122B7;CUNEIFORM SIGN SHA6;Lo;0;L;;;;;N;;;;; +122B8;CUNEIFORM SIGN SHAB6;Lo;0;L;;;;;N;;;;; +122B9;CUNEIFORM SIGN SHAR2;Lo;0;L;;;;;N;;;;; +122BA;CUNEIFORM SIGN SHE;Lo;0;L;;;;;N;;;;; +122BB;CUNEIFORM SIGN SHE HU;Lo;0;L;;;;;N;;;;; +122BC;CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +122BD;CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR;Lo;0;L;;;;;N;;;;; +122BE;CUNEIFORM SIGN SHEG9;Lo;0;L;;;;;N;;;;; +122BF;CUNEIFORM SIGN SHEN;Lo;0;L;;;;;N;;;;; +122C0;CUNEIFORM SIGN SHESH;Lo;0;L;;;;;N;;;;; +122C1;CUNEIFORM SIGN SHESH2;Lo;0;L;;;;;N;;;;; +122C2;CUNEIFORM SIGN SHESHLAM;Lo;0;L;;;;;N;;;;; +122C3;CUNEIFORM SIGN SHID;Lo;0;L;;;;;N;;;;; +122C4;CUNEIFORM SIGN SHID TIMES A;Lo;0;L;;;;;N;;;;; +122C5;CUNEIFORM SIGN SHID TIMES IM;Lo;0;L;;;;;N;;;;; +122C6;CUNEIFORM SIGN SHIM;Lo;0;L;;;;;N;;;;; +122C7;CUNEIFORM SIGN SHIM TIMES A;Lo;0;L;;;;;N;;;;; +122C8;CUNEIFORM SIGN SHIM TIMES BAL;Lo;0;L;;;;;N;;;;; +122C9;CUNEIFORM SIGN SHIM TIMES BULUG;Lo;0;L;;;;;N;;;;; +122CA;CUNEIFORM SIGN SHIM TIMES DIN;Lo;0;L;;;;;N;;;;; +122CB;CUNEIFORM SIGN SHIM TIMES GAR;Lo;0;L;;;;;N;;;;; +122CC;CUNEIFORM SIGN SHIM TIMES IGI;Lo;0;L;;;;;N;;;;; +122CD;CUNEIFORM SIGN SHIM TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +122CE;CUNEIFORM SIGN SHIM TIMES KUSHU2;Lo;0;L;;;;;N;;;;; +122CF;CUNEIFORM SIGN SHIM TIMES LUL;Lo;0;L;;;;;N;;;;; +122D0;CUNEIFORM SIGN SHIM TIMES MUG;Lo;0;L;;;;;N;;;;; +122D1;CUNEIFORM SIGN SHIM TIMES SAL;Lo;0;L;;;;;N;;;;; +122D2;CUNEIFORM SIGN SHINIG;Lo;0;L;;;;;N;;;;; +122D3;CUNEIFORM SIGN SHIR;Lo;0;L;;;;;N;;;;; +122D4;CUNEIFORM SIGN SHIR TENU;Lo;0;L;;;;;N;;;;; +122D5;CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR;Lo;0;L;;;;;N;;;;; +122D6;CUNEIFORM SIGN SHITA;Lo;0;L;;;;;N;;;;; +122D7;CUNEIFORM SIGN SHU;Lo;0;L;;;;;N;;;;; +122D8;CUNEIFORM SIGN SHU OVER INVERTED SHU;Lo;0;L;;;;;N;;;;; +122D9;CUNEIFORM SIGN SHU2;Lo;0;L;;;;;N;;;;; +122DA;CUNEIFORM SIGN SHUBUR;Lo;0;L;;;;;N;;;;; +122DB;CUNEIFORM SIGN SI;Lo;0;L;;;;;N;;;;; +122DC;CUNEIFORM SIGN SI GUNU;Lo;0;L;;;;;N;;;;; +122DD;CUNEIFORM SIGN SIG;Lo;0;L;;;;;N;;;;; +122DE;CUNEIFORM SIGN SIG4;Lo;0;L;;;;;N;;;;; +122DF;CUNEIFORM SIGN SIG4 OVER SIG4 SHU2;Lo;0;L;;;;;N;;;;; +122E0;CUNEIFORM SIGN SIK2;Lo;0;L;;;;;N;;;;; +122E1;CUNEIFORM SIGN SILA3;Lo;0;L;;;;;N;;;;; +122E2;CUNEIFORM SIGN SU;Lo;0;L;;;;;N;;;;; +122E3;CUNEIFORM SIGN SU OVER SU;Lo;0;L;;;;;N;;;;; +122E4;CUNEIFORM SIGN SUD;Lo;0;L;;;;;N;;;;; +122E5;CUNEIFORM SIGN SUD2;Lo;0;L;;;;;N;;;;; +122E6;CUNEIFORM SIGN SUHUR;Lo;0;L;;;;;N;;;;; +122E7;CUNEIFORM SIGN SUM;Lo;0;L;;;;;N;;;;; +122E8;CUNEIFORM SIGN SUMASH;Lo;0;L;;;;;N;;;;; +122E9;CUNEIFORM SIGN SUR;Lo;0;L;;;;;N;;;;; +122EA;CUNEIFORM SIGN SUR9;Lo;0;L;;;;;N;;;;; +122EB;CUNEIFORM SIGN TA;Lo;0;L;;;;;N;;;;; +122EC;CUNEIFORM SIGN TA ASTERISK;Lo;0;L;;;;;N;;;;; +122ED;CUNEIFORM SIGN TA TIMES HI;Lo;0;L;;;;;N;;;;; +122EE;CUNEIFORM SIGN TA TIMES MI;Lo;0;L;;;;;N;;;;; +122EF;CUNEIFORM SIGN TA GUNU;Lo;0;L;;;;;N;;;;; +122F0;CUNEIFORM SIGN TAB;Lo;0;L;;;;;N;;;;; +122F1;CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH;Lo;0;L;;;;;N;;;;; +122F2;CUNEIFORM SIGN TAB SQUARED;Lo;0;L;;;;;N;;;;; +122F3;CUNEIFORM SIGN TAG;Lo;0;L;;;;;N;;;;; +122F4;CUNEIFORM SIGN TAG TIMES BI;Lo;0;L;;;;;N;;;;; +122F5;CUNEIFORM SIGN TAG TIMES GUD;Lo;0;L;;;;;N;;;;; +122F6;CUNEIFORM SIGN TAG TIMES SHE;Lo;0;L;;;;;N;;;;; +122F7;CUNEIFORM SIGN TAG TIMES SHU;Lo;0;L;;;;;N;;;;; +122F8;CUNEIFORM SIGN TAG TIMES TUG2;Lo;0;L;;;;;N;;;;; +122F9;CUNEIFORM SIGN TAG TIMES UD;Lo;0;L;;;;;N;;;;; +122FA;CUNEIFORM SIGN TAK4;Lo;0;L;;;;;N;;;;; +122FB;CUNEIFORM SIGN TAR;Lo;0;L;;;;;N;;;;; +122FC;CUNEIFORM SIGN TE;Lo;0;L;;;;;N;;;;; +122FD;CUNEIFORM SIGN TE GUNU;Lo;0;L;;;;;N;;;;; +122FE;CUNEIFORM SIGN TI;Lo;0;L;;;;;N;;;;; +122FF;CUNEIFORM SIGN TI TENU;Lo;0;L;;;;;N;;;;; +12300;CUNEIFORM SIGN TIL;Lo;0;L;;;;;N;;;;; +12301;CUNEIFORM SIGN TIR;Lo;0;L;;;;;N;;;;; +12302;CUNEIFORM SIGN TIR TIMES TAK4;Lo;0;L;;;;;N;;;;; +12303;CUNEIFORM SIGN TIR OVER TIR;Lo;0;L;;;;;N;;;;; +12304;CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR;Lo;0;L;;;;;N;;;;; +12305;CUNEIFORM SIGN TU;Lo;0;L;;;;;N;;;;; +12306;CUNEIFORM SIGN TUG2;Lo;0;L;;;;;N;;;;; +12307;CUNEIFORM SIGN TUK;Lo;0;L;;;;;N;;;;; +12308;CUNEIFORM SIGN TUM;Lo;0;L;;;;;N;;;;; +12309;CUNEIFORM SIGN TUR;Lo;0;L;;;;;N;;;;; +1230A;CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA;Lo;0;L;;;;;N;;;;; +1230B;CUNEIFORM SIGN U;Lo;0;L;;;;;N;;;;; +1230C;CUNEIFORM SIGN U GUD;Lo;0;L;;;;;N;;;;; +1230D;CUNEIFORM SIGN U U U;Lo;0;L;;;;;N;;;;; +1230E;CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR;Lo;0;L;;;;;N;;;;; +1230F;CUNEIFORM SIGN U OVER U SUR OVER SUR;Lo;0;L;;;;;N;;;;; +12310;CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED;Lo;0;L;;;;;N;;;;; +12311;CUNEIFORM SIGN U2;Lo;0;L;;;;;N;;;;; +12312;CUNEIFORM SIGN UB;Lo;0;L;;;;;N;;;;; +12313;CUNEIFORM SIGN UD;Lo;0;L;;;;;N;;;;; +12314;CUNEIFORM SIGN UD KUSHU2;Lo;0;L;;;;;N;;;;; +12315;CUNEIFORM SIGN UD TIMES BAD;Lo;0;L;;;;;N;;;;; +12316;CUNEIFORM SIGN UD TIMES MI;Lo;0;L;;;;;N;;;;; +12317;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U;Lo;0;L;;;;;N;;;;; +12318;CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU;Lo;0;L;;;;;N;;;;; +12319;CUNEIFORM SIGN UD GUNU;Lo;0;L;;;;;N;;;;; +1231A;CUNEIFORM SIGN UD SHESHIG;Lo;0;L;;;;;N;;;;; +1231B;CUNEIFORM SIGN UD SHESHIG TIMES BAD;Lo;0;L;;;;;N;;;;; +1231C;CUNEIFORM SIGN UDUG;Lo;0;L;;;;;N;;;;; +1231D;CUNEIFORM SIGN UM;Lo;0;L;;;;;N;;;;; +1231E;CUNEIFORM SIGN UM TIMES LAGAB;Lo;0;L;;;;;N;;;;; +1231F;CUNEIFORM SIGN UM TIMES ME PLUS DA;Lo;0;L;;;;;N;;;;; +12320;CUNEIFORM SIGN UM TIMES SHA3;Lo;0;L;;;;;N;;;;; +12321;CUNEIFORM SIGN UM TIMES U;Lo;0;L;;;;;N;;;;; +12322;CUNEIFORM SIGN UMBIN;Lo;0;L;;;;;N;;;;; +12323;CUNEIFORM SIGN UMUM;Lo;0;L;;;;;N;;;;; +12324;CUNEIFORM SIGN UMUM TIMES KASKAL;Lo;0;L;;;;;N;;;;; +12325;CUNEIFORM SIGN UMUM TIMES PA;Lo;0;L;;;;;N;;;;; +12326;CUNEIFORM SIGN UN;Lo;0;L;;;;;N;;;;; +12327;CUNEIFORM SIGN UN GUNU;Lo;0;L;;;;;N;;;;; +12328;CUNEIFORM SIGN UR;Lo;0;L;;;;;N;;;;; +12329;CUNEIFORM SIGN UR CROSSING UR;Lo;0;L;;;;;N;;;;; +1232A;CUNEIFORM SIGN UR SHESHIG;Lo;0;L;;;;;N;;;;; +1232B;CUNEIFORM SIGN UR2;Lo;0;L;;;;;N;;;;; +1232C;CUNEIFORM SIGN UR2 TIMES A PLUS HA;Lo;0;L;;;;;N;;;;; +1232D;CUNEIFORM SIGN UR2 TIMES A PLUS NA;Lo;0;L;;;;;N;;;;; +1232E;CUNEIFORM SIGN UR2 TIMES AL;Lo;0;L;;;;;N;;;;; +1232F;CUNEIFORM SIGN UR2 TIMES HA;Lo;0;L;;;;;N;;;;; +12330;CUNEIFORM SIGN UR2 TIMES NUN;Lo;0;L;;;;;N;;;;; +12331;CUNEIFORM SIGN UR2 TIMES U2;Lo;0;L;;;;;N;;;;; +12332;CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH;Lo;0;L;;;;;N;;;;; +12333;CUNEIFORM SIGN UR2 TIMES U2 PLUS BI;Lo;0;L;;;;;N;;;;; +12334;CUNEIFORM SIGN UR4;Lo;0;L;;;;;N;;;;; +12335;CUNEIFORM SIGN URI;Lo;0;L;;;;;N;;;;; +12336;CUNEIFORM SIGN URI3;Lo;0;L;;;;;N;;;;; +12337;CUNEIFORM SIGN URU;Lo;0;L;;;;;N;;;;; +12338;CUNEIFORM SIGN URU TIMES A;Lo;0;L;;;;;N;;;;; +12339;CUNEIFORM SIGN URU TIMES ASHGAB;Lo;0;L;;;;;N;;;;; +1233A;CUNEIFORM SIGN URU TIMES BAR;Lo;0;L;;;;;N;;;;; +1233B;CUNEIFORM SIGN URU TIMES DUN;Lo;0;L;;;;;N;;;;; +1233C;CUNEIFORM SIGN URU TIMES GA;Lo;0;L;;;;;N;;;;; +1233D;CUNEIFORM SIGN URU TIMES GAL;Lo;0;L;;;;;N;;;;; +1233E;CUNEIFORM SIGN URU TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1233F;CUNEIFORM SIGN URU TIMES GAR;Lo;0;L;;;;;N;;;;; +12340;CUNEIFORM SIGN URU TIMES GU;Lo;0;L;;;;;N;;;;; +12341;CUNEIFORM SIGN URU TIMES HA;Lo;0;L;;;;;N;;;;; +12342;CUNEIFORM SIGN URU TIMES IGI;Lo;0;L;;;;;N;;;;; +12343;CUNEIFORM SIGN URU TIMES IM;Lo;0;L;;;;;N;;;;; +12344;CUNEIFORM SIGN URU TIMES ISH;Lo;0;L;;;;;N;;;;; +12345;CUNEIFORM SIGN URU TIMES KI;Lo;0;L;;;;;N;;;;; +12346;CUNEIFORM SIGN URU TIMES LUM;Lo;0;L;;;;;N;;;;; +12347;CUNEIFORM SIGN URU TIMES MIN;Lo;0;L;;;;;N;;;;; +12348;CUNEIFORM SIGN URU TIMES PA;Lo;0;L;;;;;N;;;;; +12349;CUNEIFORM SIGN URU TIMES SHE;Lo;0;L;;;;;N;;;;; +1234A;CUNEIFORM SIGN URU TIMES SIG4;Lo;0;L;;;;;N;;;;; +1234B;CUNEIFORM SIGN URU TIMES TU;Lo;0;L;;;;;N;;;;; +1234C;CUNEIFORM SIGN URU TIMES U PLUS GUD;Lo;0;L;;;;;N;;;;; +1234D;CUNEIFORM SIGN URU TIMES UD;Lo;0;L;;;;;N;;;;; +1234E;CUNEIFORM SIGN URU TIMES URUDA;Lo;0;L;;;;;N;;;;; +1234F;CUNEIFORM SIGN URUDA;Lo;0;L;;;;;N;;;;; +12350;CUNEIFORM SIGN URUDA TIMES U;Lo;0;L;;;;;N;;;;; +12351;CUNEIFORM SIGN USH;Lo;0;L;;;;;N;;;;; +12352;CUNEIFORM SIGN USH TIMES A;Lo;0;L;;;;;N;;;;; +12353;CUNEIFORM SIGN USH TIMES KU;Lo;0;L;;;;;N;;;;; +12354;CUNEIFORM SIGN USH TIMES KUR;Lo;0;L;;;;;N;;;;; +12355;CUNEIFORM SIGN USH TIMES TAK4;Lo;0;L;;;;;N;;;;; +12356;CUNEIFORM SIGN USHX;Lo;0;L;;;;;N;;;;; +12357;CUNEIFORM SIGN USH2;Lo;0;L;;;;;N;;;;; +12358;CUNEIFORM SIGN USHUMX;Lo;0;L;;;;;N;;;;; +12359;CUNEIFORM SIGN UTUKI;Lo;0;L;;;;;N;;;;; +1235A;CUNEIFORM SIGN UZ3;Lo;0;L;;;;;N;;;;; +1235B;CUNEIFORM SIGN UZ3 TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1235C;CUNEIFORM SIGN UZU;Lo;0;L;;;;;N;;;;; +1235D;CUNEIFORM SIGN ZA;Lo;0;L;;;;;N;;;;; +1235E;CUNEIFORM SIGN ZA TENU;Lo;0;L;;;;;N;;;;; +1235F;CUNEIFORM SIGN ZA SQUARED TIMES KUR;Lo;0;L;;;;;N;;;;; +12360;CUNEIFORM SIGN ZAG;Lo;0;L;;;;;N;;;;; +12361;CUNEIFORM SIGN ZAMX;Lo;0;L;;;;;N;;;;; +12362;CUNEIFORM SIGN ZE2;Lo;0;L;;;;;N;;;;; +12363;CUNEIFORM SIGN ZI;Lo;0;L;;;;;N;;;;; +12364;CUNEIFORM SIGN ZI OVER ZI;Lo;0;L;;;;;N;;;;; +12365;CUNEIFORM SIGN ZI3;Lo;0;L;;;;;N;;;;; +12366;CUNEIFORM SIGN ZIB;Lo;0;L;;;;;N;;;;; +12367;CUNEIFORM SIGN ZIB KABA TENU;Lo;0;L;;;;;N;;;;; +12368;CUNEIFORM SIGN ZIG;Lo;0;L;;;;;N;;;;; +12369;CUNEIFORM SIGN ZIZ2;Lo;0;L;;;;;N;;;;; +1236A;CUNEIFORM SIGN ZU;Lo;0;L;;;;;N;;;;; +1236B;CUNEIFORM SIGN ZU5;Lo;0;L;;;;;N;;;;; +1236C;CUNEIFORM SIGN ZU5 TIMES A;Lo;0;L;;;;;N;;;;; +1236D;CUNEIFORM SIGN ZUBUR;Lo;0;L;;;;;N;;;;; +1236E;CUNEIFORM SIGN ZUM;Lo;0;L;;;;;N;;;;; +1236F;CUNEIFORM SIGN KAP ELAMITE;Lo;0;L;;;;;N;;;;; +12370;CUNEIFORM SIGN AB TIMES NUN;Lo;0;L;;;;;N;;;;; +12371;CUNEIFORM SIGN AB2 TIMES A;Lo;0;L;;;;;N;;;;; +12372;CUNEIFORM SIGN AMAR TIMES KUG;Lo;0;L;;;;;N;;;;; +12373;CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS MASH;Lo;0;L;;;;;N;;;;; +12374;CUNEIFORM SIGN DAG3;Lo;0;L;;;;;N;;;;; +12375;CUNEIFORM SIGN DISH PLUS SHU;Lo;0;L;;;;;N;;;;; +12376;CUNEIFORM SIGN DUB TIMES SHE;Lo;0;L;;;;;N;;;;; +12377;CUNEIFORM SIGN EZEN TIMES GUD;Lo;0;L;;;;;N;;;;; +12378;CUNEIFORM SIGN EZEN TIMES SHE;Lo;0;L;;;;;N;;;;; +12379;CUNEIFORM SIGN GA2 TIMES AN PLUS KAK PLUS A;Lo;0;L;;;;;N;;;;; +1237A;CUNEIFORM SIGN GA2 TIMES ASH2;Lo;0;L;;;;;N;;;;; +1237B;CUNEIFORM SIGN GE22;Lo;0;L;;;;;N;;;;; +1237C;CUNEIFORM SIGN GIG;Lo;0;L;;;;;N;;;;; +1237D;CUNEIFORM SIGN HUSH;Lo;0;L;;;;;N;;;;; +1237E;CUNEIFORM SIGN KA TIMES ANSHE;Lo;0;L;;;;;N;;;;; +1237F;CUNEIFORM SIGN KA TIMES ASH3;Lo;0;L;;;;;N;;;;; +12380;CUNEIFORM SIGN KA TIMES GISH;Lo;0;L;;;;;N;;;;; +12381;CUNEIFORM SIGN KA TIMES GUD;Lo;0;L;;;;;N;;;;; +12382;CUNEIFORM SIGN KA TIMES HI TIMES ASH2;Lo;0;L;;;;;N;;;;; +12383;CUNEIFORM SIGN KA TIMES LUM;Lo;0;L;;;;;N;;;;; +12384;CUNEIFORM SIGN KA TIMES PA;Lo;0;L;;;;;N;;;;; +12385;CUNEIFORM SIGN KA TIMES SHUL;Lo;0;L;;;;;N;;;;; +12386;CUNEIFORM SIGN KA TIMES TU;Lo;0;L;;;;;N;;;;; +12387;CUNEIFORM SIGN KA TIMES UR2;Lo;0;L;;;;;N;;;;; +12388;CUNEIFORM SIGN LAGAB TIMES GI;Lo;0;L;;;;;N;;;;; +12389;CUNEIFORM SIGN LU2 SHESHIG TIMES BAD;Lo;0;L;;;;;N;;;;; +1238A;CUNEIFORM SIGN LU2 TIMES ESH2 PLUS LAL;Lo;0;L;;;;;N;;;;; +1238B;CUNEIFORM SIGN LU2 TIMES SHU;Lo;0;L;;;;;N;;;;; +1238C;CUNEIFORM SIGN MESH;Lo;0;L;;;;;N;;;;; +1238D;CUNEIFORM SIGN MUSH3 TIMES ZA;Lo;0;L;;;;;N;;;;; +1238E;CUNEIFORM SIGN NA4;Lo;0;L;;;;;N;;;;; +1238F;CUNEIFORM SIGN NIN;Lo;0;L;;;;;N;;;;; +12390;CUNEIFORM SIGN NIN9;Lo;0;L;;;;;N;;;;; +12391;CUNEIFORM SIGN NINDA2 TIMES BAL;Lo;0;L;;;;;N;;;;; +12392;CUNEIFORM SIGN NINDA2 TIMES GI;Lo;0;L;;;;;N;;;;; +12393;CUNEIFORM SIGN NU11 ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;; +12394;CUNEIFORM SIGN PESH2 ASTERISK;Lo;0;L;;;;;N;;;;; +12395;CUNEIFORM SIGN PIR2;Lo;0;L;;;;;N;;;;; +12396;CUNEIFORM SIGN SAG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12397;CUNEIFORM SIGN TI2;Lo;0;L;;;;;N;;;;; +12398;CUNEIFORM SIGN UM TIMES ME;Lo;0;L;;;;;N;;;;; +12399;CUNEIFORM SIGN U U;Lo;0;L;;;;;N;;;;; +12400;CUNEIFORM NUMERIC SIGN TWO ASH;Nl;0;L;;;;2;N;;;;; +12401;CUNEIFORM NUMERIC SIGN THREE ASH;Nl;0;L;;;;3;N;;;;; +12402;CUNEIFORM NUMERIC SIGN FOUR ASH;Nl;0;L;;;;4;N;;;;; +12403;CUNEIFORM NUMERIC SIGN FIVE ASH;Nl;0;L;;;;5;N;;;;; +12404;CUNEIFORM NUMERIC SIGN SIX ASH;Nl;0;L;;;;6;N;;;;; +12405;CUNEIFORM NUMERIC SIGN SEVEN ASH;Nl;0;L;;;;7;N;;;;; +12406;CUNEIFORM NUMERIC SIGN EIGHT ASH;Nl;0;L;;;;8;N;;;;; +12407;CUNEIFORM NUMERIC SIGN NINE ASH;Nl;0;L;;;;9;N;;;;; +12408;CUNEIFORM NUMERIC SIGN THREE DISH;Nl;0;L;;;;3;N;;;;; +12409;CUNEIFORM NUMERIC SIGN FOUR DISH;Nl;0;L;;;;4;N;;;;; +1240A;CUNEIFORM NUMERIC SIGN FIVE DISH;Nl;0;L;;;;5;N;;;;; +1240B;CUNEIFORM NUMERIC SIGN SIX DISH;Nl;0;L;;;;6;N;;;;; +1240C;CUNEIFORM NUMERIC SIGN SEVEN DISH;Nl;0;L;;;;7;N;;;;; +1240D;CUNEIFORM NUMERIC SIGN EIGHT DISH;Nl;0;L;;;;8;N;;;;; +1240E;CUNEIFORM NUMERIC SIGN NINE DISH;Nl;0;L;;;;9;N;;;;; +1240F;CUNEIFORM NUMERIC SIGN FOUR U;Nl;0;L;;;;4;N;;;;; +12410;CUNEIFORM NUMERIC SIGN FIVE U;Nl;0;L;;;;5;N;;;;; +12411;CUNEIFORM NUMERIC SIGN SIX U;Nl;0;L;;;;6;N;;;;; +12412;CUNEIFORM NUMERIC SIGN SEVEN U;Nl;0;L;;;;7;N;;;;; +12413;CUNEIFORM NUMERIC SIGN EIGHT U;Nl;0;L;;;;8;N;;;;; +12414;CUNEIFORM NUMERIC SIGN NINE U;Nl;0;L;;;;9;N;;;;; +12415;CUNEIFORM NUMERIC SIGN ONE GESH2;Nl;0;L;;;;1;N;;;;; +12416;CUNEIFORM NUMERIC SIGN TWO GESH2;Nl;0;L;;;;2;N;;;;; +12417;CUNEIFORM NUMERIC SIGN THREE GESH2;Nl;0;L;;;;3;N;;;;; +12418;CUNEIFORM NUMERIC SIGN FOUR GESH2;Nl;0;L;;;;4;N;;;;; +12419;CUNEIFORM NUMERIC SIGN FIVE GESH2;Nl;0;L;;;;5;N;;;;; +1241A;CUNEIFORM NUMERIC SIGN SIX GESH2;Nl;0;L;;;;6;N;;;;; +1241B;CUNEIFORM NUMERIC SIGN SEVEN GESH2;Nl;0;L;;;;7;N;;;;; +1241C;CUNEIFORM NUMERIC SIGN EIGHT GESH2;Nl;0;L;;;;8;N;;;;; +1241D;CUNEIFORM NUMERIC SIGN NINE GESH2;Nl;0;L;;;;9;N;;;;; +1241E;CUNEIFORM NUMERIC SIGN ONE GESHU;Nl;0;L;;;;1;N;;;;; +1241F;CUNEIFORM NUMERIC SIGN TWO GESHU;Nl;0;L;;;;2;N;;;;; +12420;CUNEIFORM NUMERIC SIGN THREE GESHU;Nl;0;L;;;;3;N;;;;; +12421;CUNEIFORM NUMERIC SIGN FOUR GESHU;Nl;0;L;;;;4;N;;;;; +12422;CUNEIFORM NUMERIC SIGN FIVE GESHU;Nl;0;L;;;;5;N;;;;; +12423;CUNEIFORM NUMERIC SIGN TWO SHAR2;Nl;0;L;;;;2;N;;;;; +12424;CUNEIFORM NUMERIC SIGN THREE SHAR2;Nl;0;L;;;;3;N;;;;; +12425;CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12426;CUNEIFORM NUMERIC SIGN FOUR SHAR2;Nl;0;L;;;;4;N;;;;; +12427;CUNEIFORM NUMERIC SIGN FIVE SHAR2;Nl;0;L;;;;5;N;;;;; +12428;CUNEIFORM NUMERIC SIGN SIX SHAR2;Nl;0;L;;;;6;N;;;;; +12429;CUNEIFORM NUMERIC SIGN SEVEN SHAR2;Nl;0;L;;;;7;N;;;;; +1242A;CUNEIFORM NUMERIC SIGN EIGHT SHAR2;Nl;0;L;;;;8;N;;;;; +1242B;CUNEIFORM NUMERIC SIGN NINE SHAR2;Nl;0;L;;;;9;N;;;;; +1242C;CUNEIFORM NUMERIC SIGN ONE SHARU;Nl;0;L;;;;1;N;;;;; +1242D;CUNEIFORM NUMERIC SIGN TWO SHARU;Nl;0;L;;;;2;N;;;;; +1242E;CUNEIFORM NUMERIC SIGN THREE SHARU;Nl;0;L;;;;3;N;;;;; +1242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;; +12431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;; +12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;216000;N;;;;; +12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;432000;N;;;;; +12434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;; +12435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;; +12436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;; +12437;CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM;Nl;0;L;;;;3;N;;;;; +12438;CUNEIFORM NUMERIC SIGN FOUR BURU;Nl;0;L;;;;4;N;;;;; +12439;CUNEIFORM NUMERIC SIGN FIVE BURU;Nl;0;L;;;;5;N;;;;; +1243A;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16;Nl;0;L;;;;3;N;;;;; +1243B;CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21;Nl;0;L;;;;3;N;;;;; +1243C;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU;Nl;0;L;;;;4;N;;;;; +1243D;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4;Nl;0;L;;;;4;N;;;;; +1243E;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A;Nl;0;L;;;;4;N;;;;; +1243F;CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B;Nl;0;L;;;;4;N;;;;; +12440;CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9;Nl;0;L;;;;6;N;;;;; +12441;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3;Nl;0;L;;;;7;N;;;;; +12442;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A;Nl;0;L;;;;7;N;;;;; +12443;CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B;Nl;0;L;;;;7;N;;;;; +12444;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU;Nl;0;L;;;;8;N;;;;; +12445;CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3;Nl;0;L;;;;8;N;;;;; +12446;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU;Nl;0;L;;;;9;N;;;;; +12447;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3;Nl;0;L;;;;9;N;;;;; +12448;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4;Nl;0;L;;;;9;N;;;;; +12449;CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A;Nl;0;L;;;;9;N;;;;; +1244A;CUNEIFORM NUMERIC SIGN TWO ASH TENU;Nl;0;L;;;;2;N;;;;; +1244B;CUNEIFORM NUMERIC SIGN THREE ASH TENU;Nl;0;L;;;;3;N;;;;; +1244C;CUNEIFORM NUMERIC SIGN FOUR ASH TENU;Nl;0;L;;;;4;N;;;;; +1244D;CUNEIFORM NUMERIC SIGN FIVE ASH TENU;Nl;0;L;;;;5;N;;;;; +1244E;CUNEIFORM NUMERIC SIGN SIX ASH TENU;Nl;0;L;;;;6;N;;;;; +1244F;CUNEIFORM NUMERIC SIGN ONE BAN2;Nl;0;L;;;;1;N;;;;; +12450;CUNEIFORM NUMERIC SIGN TWO BAN2;Nl;0;L;;;;2;N;;;;; +12451;CUNEIFORM NUMERIC SIGN THREE BAN2;Nl;0;L;;;;3;N;;;;; +12452;CUNEIFORM NUMERIC SIGN FOUR BAN2;Nl;0;L;;;;4;N;;;;; +12453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;; +12454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;; +12455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;; +12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;2;N;;;;; +12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;3;N;;;;; +12458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;; +12459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;; +1245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;; +1245B;CUNEIFORM NUMERIC SIGN TWO THIRDS DISH;Nl;0;L;;;;2/3;N;;;;; +1245C;CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH;Nl;0;L;;;;5/6;N;;;;; +1245D;CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A;Nl;0;L;;;;1/3;N;;;;; +1245E;CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A;Nl;0;L;;;;2/3;N;;;;; +1245F;CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH;Nl;0;L;;;;1/8;N;;;;; +12460;CUNEIFORM NUMERIC SIGN ONE QUARTER ASH;Nl;0;L;;;;1/4;N;;;;; +12461;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH;Nl;0;L;;;;1/6;N;;;;; +12462;CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER;Nl;0;L;;;;1/4;N;;;;; +12463;CUNEIFORM NUMERIC SIGN ONE QUARTER GUR;Nl;0;L;;;;1/4;N;;;;; +12464;CUNEIFORM NUMERIC SIGN ONE HALF GUR;Nl;0;L;;;;1/2;N;;;;; +12465;CUNEIFORM NUMERIC SIGN ELAMITE ONE THIRD;Nl;0;L;;;;1/3;N;;;;; +12466;CUNEIFORM NUMERIC SIGN ELAMITE TWO THIRDS;Nl;0;L;;;;2/3;N;;;;; +12467;CUNEIFORM NUMERIC SIGN ELAMITE FORTY;Nl;0;L;;;;40;N;;;;; +12468;CUNEIFORM NUMERIC SIGN ELAMITE FIFTY;Nl;0;L;;;;50;N;;;;; +12469;CUNEIFORM NUMERIC SIGN FOUR U VARIANT FORM;Nl;0;L;;;;4;N;;;;; +1246A;CUNEIFORM NUMERIC SIGN FIVE U VARIANT FORM;Nl;0;L;;;;5;N;;;;; +1246B;CUNEIFORM NUMERIC SIGN SIX U VARIANT FORM;Nl;0;L;;;;6;N;;;;; +1246C;CUNEIFORM NUMERIC SIGN SEVEN U VARIANT FORM;Nl;0;L;;;;7;N;;;;; +1246D;CUNEIFORM NUMERIC SIGN EIGHT U VARIANT FORM;Nl;0;L;;;;8;N;;;;; +1246E;CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM;Nl;0;L;;;;9;N;;;;; +12470;CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER;Po;0;L;;;;;N;;;;; +12471;CUNEIFORM PUNCTUATION SIGN VERTICAL COLON;Po;0;L;;;;;N;;;;; +12472;CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON;Po;0;L;;;;;N;;;;; +12473;CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON;Po;0;L;;;;;N;;;;; +12474;CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON;Po;0;L;;;;;N;;;;; +12480;CUNEIFORM SIGN AB TIMES NUN TENU;Lo;0;L;;;;;N;;;;; +12481;CUNEIFORM SIGN AB TIMES SHU2;Lo;0;L;;;;;N;;;;; +12482;CUNEIFORM SIGN AD TIMES ESH2;Lo;0;L;;;;;N;;;;; +12483;CUNEIFORM SIGN BAD TIMES DISH TENU;Lo;0;L;;;;;N;;;;; +12484;CUNEIFORM SIGN BAHAR2 TIMES AB2;Lo;0;L;;;;;N;;;;; +12485;CUNEIFORM SIGN BAHAR2 TIMES NI;Lo;0;L;;;;;N;;;;; +12486;CUNEIFORM SIGN BAHAR2 TIMES ZA;Lo;0;L;;;;;N;;;;; +12487;CUNEIFORM SIGN BU OVER BU TIMES NA2;Lo;0;L;;;;;N;;;;; +12488;CUNEIFORM SIGN DA TIMES TAK4;Lo;0;L;;;;;N;;;;; +12489;CUNEIFORM SIGN DAG TIMES KUR;Lo;0;L;;;;;N;;;;; +1248A;CUNEIFORM SIGN DIM TIMES IGI;Lo;0;L;;;;;N;;;;; +1248B;CUNEIFORM SIGN DIM TIMES U U U;Lo;0;L;;;;;N;;;;; +1248C;CUNEIFORM SIGN DIM2 TIMES UD;Lo;0;L;;;;;N;;;;; +1248D;CUNEIFORM SIGN DUG TIMES ANSHE;Lo;0;L;;;;;N;;;;; +1248E;CUNEIFORM SIGN DUG TIMES ASH;Lo;0;L;;;;;N;;;;; +1248F;CUNEIFORM SIGN DUG TIMES ASH AT LEFT;Lo;0;L;;;;;N;;;;; +12490;CUNEIFORM SIGN DUG TIMES DIN;Lo;0;L;;;;;N;;;;; +12491;CUNEIFORM SIGN DUG TIMES DUN;Lo;0;L;;;;;N;;;;; +12492;CUNEIFORM SIGN DUG TIMES ERIN2;Lo;0;L;;;;;N;;;;; +12493;CUNEIFORM SIGN DUG TIMES GA;Lo;0;L;;;;;N;;;;; +12494;CUNEIFORM SIGN DUG TIMES GI;Lo;0;L;;;;;N;;;;; +12495;CUNEIFORM SIGN DUG TIMES GIR2 GUNU;Lo;0;L;;;;;N;;;;; +12496;CUNEIFORM SIGN DUG TIMES GISH;Lo;0;L;;;;;N;;;;; +12497;CUNEIFORM SIGN DUG TIMES HA;Lo;0;L;;;;;N;;;;; +12498;CUNEIFORM SIGN DUG TIMES HI;Lo;0;L;;;;;N;;;;; +12499;CUNEIFORM SIGN DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +1249A;CUNEIFORM SIGN DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; +1249B;CUNEIFORM SIGN DUG TIMES KUR;Lo;0;L;;;;;N;;;;; +1249C;CUNEIFORM SIGN DUG TIMES KUSHU2;Lo;0;L;;;;;N;;;;; +1249D;CUNEIFORM SIGN DUG TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; +1249E;CUNEIFORM SIGN DUG TIMES LAK-020;Lo;0;L;;;;;N;;;;; +1249F;CUNEIFORM SIGN DUG TIMES LAM;Lo;0;L;;;;;N;;;;; +124A0;CUNEIFORM SIGN DUG TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +124A1;CUNEIFORM SIGN DUG TIMES LUH PLUS GISH;Lo;0;L;;;;;N;;;;; +124A2;CUNEIFORM SIGN DUG TIMES MASH;Lo;0;L;;;;;N;;;;; +124A3;CUNEIFORM SIGN DUG TIMES MES;Lo;0;L;;;;;N;;;;; +124A4;CUNEIFORM SIGN DUG TIMES MI;Lo;0;L;;;;;N;;;;; +124A5;CUNEIFORM SIGN DUG TIMES NI;Lo;0;L;;;;;N;;;;; +124A6;CUNEIFORM SIGN DUG TIMES PI;Lo;0;L;;;;;N;;;;; +124A7;CUNEIFORM SIGN DUG TIMES SHE;Lo;0;L;;;;;N;;;;; +124A8;CUNEIFORM SIGN DUG TIMES SI GUNU;Lo;0;L;;;;;N;;;;; +124A9;CUNEIFORM SIGN E2 TIMES KUR;Lo;0;L;;;;;N;;;;; +124AA;CUNEIFORM SIGN E2 TIMES PAP;Lo;0;L;;;;;N;;;;; +124AB;CUNEIFORM SIGN ERIN2 X;Lo;0;L;;;;;N;;;;; +124AC;CUNEIFORM SIGN ESH2 CROSSING ESH2;Lo;0;L;;;;;N;;;;; +124AD;CUNEIFORM SIGN EZEN SHESHIG TIMES ASH;Lo;0;L;;;;;N;;;;; +124AE;CUNEIFORM SIGN EZEN SHESHIG TIMES HI;Lo;0;L;;;;;N;;;;; +124AF;CUNEIFORM SIGN EZEN SHESHIG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124B0;CUNEIFORM SIGN EZEN SHESHIG TIMES LA;Lo;0;L;;;;;N;;;;; +124B1;CUNEIFORM SIGN EZEN SHESHIG TIMES LAL;Lo;0;L;;;;;N;;;;; +124B2;CUNEIFORM SIGN EZEN SHESHIG TIMES ME;Lo;0;L;;;;;N;;;;; +124B3;CUNEIFORM SIGN EZEN SHESHIG TIMES MES;Lo;0;L;;;;;N;;;;; +124B4;CUNEIFORM SIGN EZEN SHESHIG TIMES SU;Lo;0;L;;;;;N;;;;; +124B5;CUNEIFORM SIGN EZEN TIMES SU;Lo;0;L;;;;;N;;;;; +124B6;CUNEIFORM SIGN GA2 TIMES BAHAR2;Lo;0;L;;;;;N;;;;; +124B7;CUNEIFORM SIGN GA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; +124B8;CUNEIFORM SIGN GA2 TIMES DUG TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124B9;CUNEIFORM SIGN GA2 TIMES DUG TIMES KASKAL;Lo;0;L;;;;;N;;;;; +124BA;CUNEIFORM SIGN GA2 TIMES EREN;Lo;0;L;;;;;N;;;;; +124BB;CUNEIFORM SIGN GA2 TIMES GA;Lo;0;L;;;;;N;;;;; +124BC;CUNEIFORM SIGN GA2 TIMES GAR PLUS DI;Lo;0;L;;;;;N;;;;; +124BD;CUNEIFORM SIGN GA2 TIMES GAR PLUS NE;Lo;0;L;;;;;N;;;;; +124BE;CUNEIFORM SIGN GA2 TIMES HA PLUS A;Lo;0;L;;;;;N;;;;; +124BF;CUNEIFORM SIGN GA2 TIMES KUSHU2 PLUS KASKAL;Lo;0;L;;;;;N;;;;; +124C0;CUNEIFORM SIGN GA2 TIMES LAM;Lo;0;L;;;;;N;;;;; +124C1;CUNEIFORM SIGN GA2 TIMES LAM TIMES KUR;Lo;0;L;;;;;N;;;;; +124C2;CUNEIFORM SIGN GA2 TIMES LUH;Lo;0;L;;;;;N;;;;; +124C3;CUNEIFORM SIGN GA2 TIMES MUSH;Lo;0;L;;;;;N;;;;; +124C4;CUNEIFORM SIGN GA2 TIMES NE;Lo;0;L;;;;;N;;;;; +124C5;CUNEIFORM SIGN GA2 TIMES NE PLUS E2;Lo;0;L;;;;;N;;;;; +124C6;CUNEIFORM SIGN GA2 TIMES NE PLUS GI;Lo;0;L;;;;;N;;;;; +124C7;CUNEIFORM SIGN GA2 TIMES SHIM;Lo;0;L;;;;;N;;;;; +124C8;CUNEIFORM SIGN GA2 TIMES ZIZ2;Lo;0;L;;;;;N;;;;; +124C9;CUNEIFORM SIGN GABA ROTATED NINETY DEGREES;Lo;0;L;;;;;N;;;;; +124CA;CUNEIFORM SIGN GESHTIN TIMES U;Lo;0;L;;;;;N;;;;; +124CB;CUNEIFORM SIGN GISH TIMES GISH CROSSING GISH;Lo;0;L;;;;;N;;;;; +124CC;CUNEIFORM SIGN GU2 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +124CD;CUNEIFORM SIGN GUD PLUS GISH TIMES TAK4;Lo;0;L;;;;;N;;;;; +124CE;CUNEIFORM SIGN HA TENU GUNU;Lo;0;L;;;;;N;;;;; +124CF;CUNEIFORM SIGN HI TIMES ASH OVER HI TIMES ASH;Lo;0;L;;;;;N;;;;; +124D0;CUNEIFORM SIGN KA TIMES BU;Lo;0;L;;;;;N;;;;; +124D1;CUNEIFORM SIGN KA TIMES KA;Lo;0;L;;;;;N;;;;; +124D2;CUNEIFORM SIGN KA TIMES U U U;Lo;0;L;;;;;N;;;;; +124D3;CUNEIFORM SIGN KA TIMES UR;Lo;0;L;;;;;N;;;;; +124D4;CUNEIFORM SIGN LAGAB TIMES ZU OVER ZU;Lo;0;L;;;;;N;;;;; +124D5;CUNEIFORM SIGN LAK-003;Lo;0;L;;;;;N;;;;; +124D6;CUNEIFORM SIGN LAK-021;Lo;0;L;;;;;N;;;;; +124D7;CUNEIFORM SIGN LAK-025;Lo;0;L;;;;;N;;;;; +124D8;CUNEIFORM SIGN LAK-030;Lo;0;L;;;;;N;;;;; +124D9;CUNEIFORM SIGN LAK-050;Lo;0;L;;;;;N;;;;; +124DA;CUNEIFORM SIGN LAK-051;Lo;0;L;;;;;N;;;;; +124DB;CUNEIFORM SIGN LAK-062;Lo;0;L;;;;;N;;;;; +124DC;CUNEIFORM SIGN LAK-079 OVER LAK-079 GUNU;Lo;0;L;;;;;N;;;;; +124DD;CUNEIFORM SIGN LAK-080;Lo;0;L;;;;;N;;;;; +124DE;CUNEIFORM SIGN LAK-081 OVER LAK-081;Lo;0;L;;;;;N;;;;; +124DF;CUNEIFORM SIGN LAK-092;Lo;0;L;;;;;N;;;;; +124E0;CUNEIFORM SIGN LAK-130;Lo;0;L;;;;;N;;;;; +124E1;CUNEIFORM SIGN LAK-142;Lo;0;L;;;;;N;;;;; +124E2;CUNEIFORM SIGN LAK-210;Lo;0;L;;;;;N;;;;; +124E3;CUNEIFORM SIGN LAK-219;Lo;0;L;;;;;N;;;;; +124E4;CUNEIFORM SIGN LAK-220;Lo;0;L;;;;;N;;;;; +124E5;CUNEIFORM SIGN LAK-225;Lo;0;L;;;;;N;;;;; +124E6;CUNEIFORM SIGN LAK-228;Lo;0;L;;;;;N;;;;; +124E7;CUNEIFORM SIGN LAK-238;Lo;0;L;;;;;N;;;;; +124E8;CUNEIFORM SIGN LAK-265;Lo;0;L;;;;;N;;;;; +124E9;CUNEIFORM SIGN LAK-266;Lo;0;L;;;;;N;;;;; +124EA;CUNEIFORM SIGN LAK-343;Lo;0;L;;;;;N;;;;; +124EB;CUNEIFORM SIGN LAK-347;Lo;0;L;;;;;N;;;;; +124EC;CUNEIFORM SIGN LAK-348;Lo;0;L;;;;;N;;;;; +124ED;CUNEIFORM SIGN LAK-383;Lo;0;L;;;;;N;;;;; +124EE;CUNEIFORM SIGN LAK-384;Lo;0;L;;;;;N;;;;; +124EF;CUNEIFORM SIGN LAK-390;Lo;0;L;;;;;N;;;;; +124F0;CUNEIFORM SIGN LAK-441;Lo;0;L;;;;;N;;;;; +124F1;CUNEIFORM SIGN LAK-449;Lo;0;L;;;;;N;;;;; +124F2;CUNEIFORM SIGN LAK-449 TIMES GU;Lo;0;L;;;;;N;;;;; +124F3;CUNEIFORM SIGN LAK-449 TIMES IGI;Lo;0;L;;;;;N;;;;; +124F4;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +124F5;CUNEIFORM SIGN LAK-449 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +124F6;CUNEIFORM SIGN LAK-449 TIMES U2 PLUS BA;Lo;0;L;;;;;N;;;;; +124F7;CUNEIFORM SIGN LAK-450;Lo;0;L;;;;;N;;;;; +124F8;CUNEIFORM SIGN LAK-457;Lo;0;L;;;;;N;;;;; +124F9;CUNEIFORM SIGN LAK-470;Lo;0;L;;;;;N;;;;; +124FA;CUNEIFORM SIGN LAK-483;Lo;0;L;;;;;N;;;;; +124FB;CUNEIFORM SIGN LAK-490;Lo;0;L;;;;;N;;;;; +124FC;CUNEIFORM SIGN LAK-492;Lo;0;L;;;;;N;;;;; +124FD;CUNEIFORM SIGN LAK-493;Lo;0;L;;;;;N;;;;; +124FE;CUNEIFORM SIGN LAK-495;Lo;0;L;;;;;N;;;;; +124FF;CUNEIFORM SIGN LAK-550;Lo;0;L;;;;;N;;;;; +12500;CUNEIFORM SIGN LAK-608;Lo;0;L;;;;;N;;;;; +12501;CUNEIFORM SIGN LAK-617;Lo;0;L;;;;;N;;;;; +12502;CUNEIFORM SIGN LAK-617 TIMES ASH;Lo;0;L;;;;;N;;;;; +12503;CUNEIFORM SIGN LAK-617 TIMES BAD;Lo;0;L;;;;;N;;;;; +12504;CUNEIFORM SIGN LAK-617 TIMES DUN3 GUNU GUNU;Lo;0;L;;;;;N;;;;; +12505;CUNEIFORM SIGN LAK-617 TIMES KU3;Lo;0;L;;;;;N;;;;; +12506;CUNEIFORM SIGN LAK-617 TIMES LA;Lo;0;L;;;;;N;;;;; +12507;CUNEIFORM SIGN LAK-617 TIMES TAR;Lo;0;L;;;;;N;;;;; +12508;CUNEIFORM SIGN LAK-617 TIMES TE;Lo;0;L;;;;;N;;;;; +12509;CUNEIFORM SIGN LAK-617 TIMES U2;Lo;0;L;;;;;N;;;;; +1250A;CUNEIFORM SIGN LAK-617 TIMES UD;Lo;0;L;;;;;N;;;;; +1250B;CUNEIFORM SIGN LAK-617 TIMES URUDA;Lo;0;L;;;;;N;;;;; +1250C;CUNEIFORM SIGN LAK-636;Lo;0;L;;;;;N;;;;; +1250D;CUNEIFORM SIGN LAK-648;Lo;0;L;;;;;N;;;;; +1250E;CUNEIFORM SIGN LAK-648 TIMES DUB;Lo;0;L;;;;;N;;;;; +1250F;CUNEIFORM SIGN LAK-648 TIMES GA;Lo;0;L;;;;;N;;;;; +12510;CUNEIFORM SIGN LAK-648 TIMES IGI;Lo;0;L;;;;;N;;;;; +12511;CUNEIFORM SIGN LAK-648 TIMES IGI GUNU;Lo;0;L;;;;;N;;;;; +12512;CUNEIFORM SIGN LAK-648 TIMES NI;Lo;0;L;;;;;N;;;;; +12513;CUNEIFORM SIGN LAK-648 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +12514;CUNEIFORM SIGN LAK-648 TIMES SHESH PLUS KI;Lo;0;L;;;;;N;;;;; +12515;CUNEIFORM SIGN LAK-648 TIMES UD;Lo;0;L;;;;;N;;;;; +12516;CUNEIFORM SIGN LAK-648 TIMES URUDA;Lo;0;L;;;;;N;;;;; +12517;CUNEIFORM SIGN LAK-724;Lo;0;L;;;;;N;;;;; +12518;CUNEIFORM SIGN LAK-749;Lo;0;L;;;;;N;;;;; +12519;CUNEIFORM SIGN LU2 GUNU TIMES ASH;Lo;0;L;;;;;N;;;;; +1251A;CUNEIFORM SIGN LU2 TIMES DISH;Lo;0;L;;;;;N;;;;; +1251B;CUNEIFORM SIGN LU2 TIMES HAL;Lo;0;L;;;;;N;;;;; +1251C;CUNEIFORM SIGN LU2 TIMES PAP;Lo;0;L;;;;;N;;;;; +1251D;CUNEIFORM SIGN LU2 TIMES PAP PLUS PAP PLUS LU3;Lo;0;L;;;;;N;;;;; +1251E;CUNEIFORM SIGN LU2 TIMES TAK4;Lo;0;L;;;;;N;;;;; +1251F;CUNEIFORM SIGN MI PLUS ZA7;Lo;0;L;;;;;N;;;;; +12520;CUNEIFORM SIGN MUSH OVER MUSH TIMES GA;Lo;0;L;;;;;N;;;;; +12521;CUNEIFORM SIGN MUSH OVER MUSH TIMES KAK;Lo;0;L;;;;;N;;;;; +12522;CUNEIFORM SIGN NINDA2 TIMES DIM GUNU;Lo;0;L;;;;;N;;;;; +12523;CUNEIFORM SIGN NINDA2 TIMES GISH;Lo;0;L;;;;;N;;;;; +12524;CUNEIFORM SIGN NINDA2 TIMES GUL;Lo;0;L;;;;;N;;;;; +12525;CUNEIFORM SIGN NINDA2 TIMES HI;Lo;0;L;;;;;N;;;;; +12526;CUNEIFORM SIGN NINDA2 TIMES KESH2;Lo;0;L;;;;;N;;;;; +12527;CUNEIFORM SIGN NINDA2 TIMES LAK-050;Lo;0;L;;;;;N;;;;; +12528;CUNEIFORM SIGN NINDA2 TIMES MASH;Lo;0;L;;;;;N;;;;; +12529;CUNEIFORM SIGN NINDA2 TIMES PAP PLUS PAP;Lo;0;L;;;;;N;;;;; +1252A;CUNEIFORM SIGN NINDA2 TIMES U;Lo;0;L;;;;;N;;;;; +1252B;CUNEIFORM SIGN NINDA2 TIMES U PLUS U;Lo;0;L;;;;;N;;;;; +1252C;CUNEIFORM SIGN NINDA2 TIMES URUDA;Lo;0;L;;;;;N;;;;; +1252D;CUNEIFORM SIGN SAG GUNU TIMES HA;Lo;0;L;;;;;N;;;;; +1252E;CUNEIFORM SIGN SAG TIMES EN;Lo;0;L;;;;;N;;;;; +1252F;CUNEIFORM SIGN SAG TIMES SHE AT LEFT;Lo;0;L;;;;;N;;;;; +12530;CUNEIFORM SIGN SAG TIMES TAK4;Lo;0;L;;;;;N;;;;; +12531;CUNEIFORM SIGN SHA6 TENU;Lo;0;L;;;;;N;;;;; +12532;CUNEIFORM SIGN SHE OVER SHE;Lo;0;L;;;;;N;;;;; +12533;CUNEIFORM SIGN SHE PLUS HUB2;Lo;0;L;;;;;N;;;;; +12534;CUNEIFORM SIGN SHE PLUS NAM2;Lo;0;L;;;;;N;;;;; +12535;CUNEIFORM SIGN SHE PLUS SAR;Lo;0;L;;;;;N;;;;; +12536;CUNEIFORM SIGN SHU2 PLUS DUG TIMES NI;Lo;0;L;;;;;N;;;;; +12537;CUNEIFORM SIGN SHU2 PLUS E2 TIMES AN;Lo;0;L;;;;;N;;;;; +12538;CUNEIFORM SIGN SI TIMES TAK4;Lo;0;L;;;;;N;;;;; +12539;CUNEIFORM SIGN TAK4 PLUS SAG;Lo;0;L;;;;;N;;;;; +1253A;CUNEIFORM SIGN TUM TIMES GAN2 TENU;Lo;0;L;;;;;N;;;;; +1253B;CUNEIFORM SIGN TUM TIMES THREE DISH;Lo;0;L;;;;;N;;;;; +1253C;CUNEIFORM SIGN UR2 INVERTED;Lo;0;L;;;;;N;;;;; +1253D;CUNEIFORM SIGN UR2 TIMES UD;Lo;0;L;;;;;N;;;;; +1253E;CUNEIFORM SIGN URU TIMES DARA3;Lo;0;L;;;;;N;;;;; +1253F;CUNEIFORM SIGN URU TIMES LAK-668;Lo;0;L;;;;;N;;;;; +12540;CUNEIFORM SIGN URU TIMES LU3;Lo;0;L;;;;;N;;;;; +12541;CUNEIFORM SIGN ZA7;Lo;0;L;;;;;N;;;;; +12542;CUNEIFORM SIGN ZU OVER ZU PLUS SAR;Lo;0;L;;;;;N;;;;; +12543;CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU;Lo;0;L;;;;;N;;;;; +13000;EGYPTIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; +13001;EGYPTIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; +13002;EGYPTIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; +13003;EGYPTIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;; +13004;EGYPTIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;; +13005;EGYPTIAN HIEROGLYPH A005A;Lo;0;L;;;;;N;;;;; +13006;EGYPTIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;; +13007;EGYPTIAN HIEROGLYPH A006A;Lo;0;L;;;;;N;;;;; +13008;EGYPTIAN HIEROGLYPH A006B;Lo;0;L;;;;;N;;;;; +13009;EGYPTIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;; +1300A;EGYPTIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;; +1300B;EGYPTIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;; +1300C;EGYPTIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;; +1300D;EGYPTIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;; +1300E;EGYPTIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;; +1300F;EGYPTIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;; +13010;EGYPTIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;; +13011;EGYPTIAN HIEROGLYPH A014A;Lo;0;L;;;;;N;;;;; +13012;EGYPTIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;; +13013;EGYPTIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;; +13014;EGYPTIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;; +13015;EGYPTIAN HIEROGLYPH A017A;Lo;0;L;;;;;N;;;;; +13016;EGYPTIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;; +13017;EGYPTIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;; +13018;EGYPTIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;; +13019;EGYPTIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;; +1301A;EGYPTIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;; +1301B;EGYPTIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;; +1301C;EGYPTIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;; +1301D;EGYPTIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;; +1301E;EGYPTIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;; +1301F;EGYPTIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;; +13020;EGYPTIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;; +13021;EGYPTIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;; +13022;EGYPTIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;; +13023;EGYPTIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;; +13024;EGYPTIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;; +13025;EGYPTIAN HIEROGLYPH A032A;Lo;0;L;;;;;N;;;;; +13026;EGYPTIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;; +13027;EGYPTIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;; +13028;EGYPTIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;; +13029;EGYPTIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;; +1302A;EGYPTIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;; +1302B;EGYPTIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;; +1302C;EGYPTIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;; +1302D;EGYPTIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;; +1302E;EGYPTIAN HIEROGLYPH A040A;Lo;0;L;;;;;N;;;;; +1302F;EGYPTIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;; +13030;EGYPTIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;; +13031;EGYPTIAN HIEROGLYPH A042A;Lo;0;L;;;;;N;;;;; +13032;EGYPTIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;; +13033;EGYPTIAN HIEROGLYPH A043A;Lo;0;L;;;;;N;;;;; +13034;EGYPTIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;; +13035;EGYPTIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;; +13036;EGYPTIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;; +13037;EGYPTIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;; +13038;EGYPTIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;; +13039;EGYPTIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;; +1303A;EGYPTIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;; +1303B;EGYPTIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;; +1303C;EGYPTIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;; +1303D;EGYPTIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;; +1303E;EGYPTIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;; +1303F;EGYPTIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;; +13040;EGYPTIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;; +13041;EGYPTIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;; +13042;EGYPTIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;; +13043;EGYPTIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;; +13044;EGYPTIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;; +13045;EGYPTIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;; +13046;EGYPTIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;; +13047;EGYPTIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;; +13048;EGYPTIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;; +13049;EGYPTIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;; +1304A;EGYPTIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;; +1304B;EGYPTIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;; +1304C;EGYPTIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;; +1304D;EGYPTIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;; +1304E;EGYPTIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;; +1304F;EGYPTIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;; +13050;EGYPTIAN HIEROGLYPH B001;Lo;0;L;;;;;N;;;;; +13051;EGYPTIAN HIEROGLYPH B002;Lo;0;L;;;;;N;;;;; +13052;EGYPTIAN HIEROGLYPH B003;Lo;0;L;;;;;N;;;;; +13053;EGYPTIAN HIEROGLYPH B004;Lo;0;L;;;;;N;;;;; +13054;EGYPTIAN HIEROGLYPH B005;Lo;0;L;;;;;N;;;;; +13055;EGYPTIAN HIEROGLYPH B005A;Lo;0;L;;;;;N;;;;; +13056;EGYPTIAN HIEROGLYPH B006;Lo;0;L;;;;;N;;;;; +13057;EGYPTIAN HIEROGLYPH B007;Lo;0;L;;;;;N;;;;; +13058;EGYPTIAN HIEROGLYPH B008;Lo;0;L;;;;;N;;;;; +13059;EGYPTIAN HIEROGLYPH B009;Lo;0;L;;;;;N;;;;; +1305A;EGYPTIAN HIEROGLYPH C001;Lo;0;L;;;;;N;;;;; +1305B;EGYPTIAN HIEROGLYPH C002;Lo;0;L;;;;;N;;;;; +1305C;EGYPTIAN HIEROGLYPH C002A;Lo;0;L;;;;;N;;;;; +1305D;EGYPTIAN HIEROGLYPH C002B;Lo;0;L;;;;;N;;;;; +1305E;EGYPTIAN HIEROGLYPH C002C;Lo;0;L;;;;;N;;;;; +1305F;EGYPTIAN HIEROGLYPH C003;Lo;0;L;;;;;N;;;;; +13060;EGYPTIAN HIEROGLYPH C004;Lo;0;L;;;;;N;;;;; +13061;EGYPTIAN HIEROGLYPH C005;Lo;0;L;;;;;N;;;;; +13062;EGYPTIAN HIEROGLYPH C006;Lo;0;L;;;;;N;;;;; +13063;EGYPTIAN HIEROGLYPH C007;Lo;0;L;;;;;N;;;;; +13064;EGYPTIAN HIEROGLYPH C008;Lo;0;L;;;;;N;;;;; +13065;EGYPTIAN HIEROGLYPH C009;Lo;0;L;;;;;N;;;;; +13066;EGYPTIAN HIEROGLYPH C010;Lo;0;L;;;;;N;;;;; +13067;EGYPTIAN HIEROGLYPH C010A;Lo;0;L;;;;;N;;;;; +13068;EGYPTIAN HIEROGLYPH C011;Lo;0;L;;;;;N;;;;; +13069;EGYPTIAN HIEROGLYPH C012;Lo;0;L;;;;;N;;;;; +1306A;EGYPTIAN HIEROGLYPH C013;Lo;0;L;;;;;N;;;;; +1306B;EGYPTIAN HIEROGLYPH C014;Lo;0;L;;;;;N;;;;; +1306C;EGYPTIAN HIEROGLYPH C015;Lo;0;L;;;;;N;;;;; +1306D;EGYPTIAN HIEROGLYPH C016;Lo;0;L;;;;;N;;;;; +1306E;EGYPTIAN HIEROGLYPH C017;Lo;0;L;;;;;N;;;;; +1306F;EGYPTIAN HIEROGLYPH C018;Lo;0;L;;;;;N;;;;; +13070;EGYPTIAN HIEROGLYPH C019;Lo;0;L;;;;;N;;;;; +13071;EGYPTIAN HIEROGLYPH C020;Lo;0;L;;;;;N;;;;; +13072;EGYPTIAN HIEROGLYPH C021;Lo;0;L;;;;;N;;;;; +13073;EGYPTIAN HIEROGLYPH C022;Lo;0;L;;;;;N;;;;; +13074;EGYPTIAN HIEROGLYPH C023;Lo;0;L;;;;;N;;;;; +13075;EGYPTIAN HIEROGLYPH C024;Lo;0;L;;;;;N;;;;; +13076;EGYPTIAN HIEROGLYPH D001;Lo;0;L;;;;;N;;;;; +13077;EGYPTIAN HIEROGLYPH D002;Lo;0;L;;;;;N;;;;; +13078;EGYPTIAN HIEROGLYPH D003;Lo;0;L;;;;;N;;;;; +13079;EGYPTIAN HIEROGLYPH D004;Lo;0;L;;;;;N;;;;; +1307A;EGYPTIAN HIEROGLYPH D005;Lo;0;L;;;;;N;;;;; +1307B;EGYPTIAN HIEROGLYPH D006;Lo;0;L;;;;;N;;;;; +1307C;EGYPTIAN HIEROGLYPH D007;Lo;0;L;;;;;N;;;;; +1307D;EGYPTIAN HIEROGLYPH D008;Lo;0;L;;;;;N;;;;; +1307E;EGYPTIAN HIEROGLYPH D008A;Lo;0;L;;;;;N;;;;; +1307F;EGYPTIAN HIEROGLYPH D009;Lo;0;L;;;;;N;;;;; +13080;EGYPTIAN HIEROGLYPH D010;Lo;0;L;;;;;N;;;;; +13081;EGYPTIAN HIEROGLYPH D011;Lo;0;L;;;;;N;;;;; +13082;EGYPTIAN HIEROGLYPH D012;Lo;0;L;;;;;N;;;;; +13083;EGYPTIAN HIEROGLYPH D013;Lo;0;L;;;;;N;;;;; +13084;EGYPTIAN HIEROGLYPH D014;Lo;0;L;;;;;N;;;;; +13085;EGYPTIAN HIEROGLYPH D015;Lo;0;L;;;;;N;;;;; +13086;EGYPTIAN HIEROGLYPH D016;Lo;0;L;;;;;N;;;;; +13087;EGYPTIAN HIEROGLYPH D017;Lo;0;L;;;;;N;;;;; +13088;EGYPTIAN HIEROGLYPH D018;Lo;0;L;;;;;N;;;;; +13089;EGYPTIAN HIEROGLYPH D019;Lo;0;L;;;;;N;;;;; +1308A;EGYPTIAN HIEROGLYPH D020;Lo;0;L;;;;;N;;;;; +1308B;EGYPTIAN HIEROGLYPH D021;Lo;0;L;;;;;N;;;;; +1308C;EGYPTIAN HIEROGLYPH D022;Lo;0;L;;;;;N;;;;; +1308D;EGYPTIAN HIEROGLYPH D023;Lo;0;L;;;;;N;;;;; +1308E;EGYPTIAN HIEROGLYPH D024;Lo;0;L;;;;;N;;;;; +1308F;EGYPTIAN HIEROGLYPH D025;Lo;0;L;;;;;N;;;;; +13090;EGYPTIAN HIEROGLYPH D026;Lo;0;L;;;;;N;;;;; +13091;EGYPTIAN HIEROGLYPH D027;Lo;0;L;;;;;N;;;;; +13092;EGYPTIAN HIEROGLYPH D027A;Lo;0;L;;;;;N;;;;; +13093;EGYPTIAN HIEROGLYPH D028;Lo;0;L;;;;;N;;;;; +13094;EGYPTIAN HIEROGLYPH D029;Lo;0;L;;;;;N;;;;; +13095;EGYPTIAN HIEROGLYPH D030;Lo;0;L;;;;;N;;;;; +13096;EGYPTIAN HIEROGLYPH D031;Lo;0;L;;;;;N;;;;; +13097;EGYPTIAN HIEROGLYPH D031A;Lo;0;L;;;;;N;;;;; +13098;EGYPTIAN HIEROGLYPH D032;Lo;0;L;;;;;N;;;;; +13099;EGYPTIAN HIEROGLYPH D033;Lo;0;L;;;;;N;;;;; +1309A;EGYPTIAN HIEROGLYPH D034;Lo;0;L;;;;;N;;;;; +1309B;EGYPTIAN HIEROGLYPH D034A;Lo;0;L;;;;;N;;;;; +1309C;EGYPTIAN HIEROGLYPH D035;Lo;0;L;;;;;N;;;;; +1309D;EGYPTIAN HIEROGLYPH D036;Lo;0;L;;;;;N;;;;; +1309E;EGYPTIAN HIEROGLYPH D037;Lo;0;L;;;;;N;;;;; +1309F;EGYPTIAN HIEROGLYPH D038;Lo;0;L;;;;;N;;;;; +130A0;EGYPTIAN HIEROGLYPH D039;Lo;0;L;;;;;N;;;;; +130A1;EGYPTIAN HIEROGLYPH D040;Lo;0;L;;;;;N;;;;; +130A2;EGYPTIAN HIEROGLYPH D041;Lo;0;L;;;;;N;;;;; +130A3;EGYPTIAN HIEROGLYPH D042;Lo;0;L;;;;;N;;;;; +130A4;EGYPTIAN HIEROGLYPH D043;Lo;0;L;;;;;N;;;;; +130A5;EGYPTIAN HIEROGLYPH D044;Lo;0;L;;;;;N;;;;; +130A6;EGYPTIAN HIEROGLYPH D045;Lo;0;L;;;;;N;;;;; +130A7;EGYPTIAN HIEROGLYPH D046;Lo;0;L;;;;;N;;;;; +130A8;EGYPTIAN HIEROGLYPH D046A;Lo;0;L;;;;;N;;;;; +130A9;EGYPTIAN HIEROGLYPH D047;Lo;0;L;;;;;N;;;;; +130AA;EGYPTIAN HIEROGLYPH D048;Lo;0;L;;;;;N;;;;; +130AB;EGYPTIAN HIEROGLYPH D048A;Lo;0;L;;;;;N;;;;; +130AC;EGYPTIAN HIEROGLYPH D049;Lo;0;L;;;;;N;;;;; +130AD;EGYPTIAN HIEROGLYPH D050;Lo;0;L;;;;;N;;;;; +130AE;EGYPTIAN HIEROGLYPH D050A;Lo;0;L;;;;;N;;;;; +130AF;EGYPTIAN HIEROGLYPH D050B;Lo;0;L;;;;;N;;;;; +130B0;EGYPTIAN HIEROGLYPH D050C;Lo;0;L;;;;;N;;;;; +130B1;EGYPTIAN HIEROGLYPH D050D;Lo;0;L;;;;;N;;;;; +130B2;EGYPTIAN HIEROGLYPH D050E;Lo;0;L;;;;;N;;;;; +130B3;EGYPTIAN HIEROGLYPH D050F;Lo;0;L;;;;;N;;;;; +130B4;EGYPTIAN HIEROGLYPH D050G;Lo;0;L;;;;;N;;;;; +130B5;EGYPTIAN HIEROGLYPH D050H;Lo;0;L;;;;;N;;;;; +130B6;EGYPTIAN HIEROGLYPH D050I;Lo;0;L;;;;;N;;;;; +130B7;EGYPTIAN HIEROGLYPH D051;Lo;0;L;;;;;N;;;;; +130B8;EGYPTIAN HIEROGLYPH D052;Lo;0;L;;;;;N;;;;; +130B9;EGYPTIAN HIEROGLYPH D052A;Lo;0;L;;;;;N;;;;; +130BA;EGYPTIAN HIEROGLYPH D053;Lo;0;L;;;;;N;;;;; +130BB;EGYPTIAN HIEROGLYPH D054;Lo;0;L;;;;;N;;;;; +130BC;EGYPTIAN HIEROGLYPH D054A;Lo;0;L;;;;;N;;;;; +130BD;EGYPTIAN HIEROGLYPH D055;Lo;0;L;;;;;N;;;;; +130BE;EGYPTIAN HIEROGLYPH D056;Lo;0;L;;;;;N;;;;; +130BF;EGYPTIAN HIEROGLYPH D057;Lo;0;L;;;;;N;;;;; +130C0;EGYPTIAN HIEROGLYPH D058;Lo;0;L;;;;;N;;;;; +130C1;EGYPTIAN HIEROGLYPH D059;Lo;0;L;;;;;N;;;;; +130C2;EGYPTIAN HIEROGLYPH D060;Lo;0;L;;;;;N;;;;; +130C3;EGYPTIAN HIEROGLYPH D061;Lo;0;L;;;;;N;;;;; +130C4;EGYPTIAN HIEROGLYPH D062;Lo;0;L;;;;;N;;;;; +130C5;EGYPTIAN HIEROGLYPH D063;Lo;0;L;;;;;N;;;;; +130C6;EGYPTIAN HIEROGLYPH D064;Lo;0;L;;;;;N;;;;; +130C7;EGYPTIAN HIEROGLYPH D065;Lo;0;L;;;;;N;;;;; +130C8;EGYPTIAN HIEROGLYPH D066;Lo;0;L;;;;;N;;;;; +130C9;EGYPTIAN HIEROGLYPH D067;Lo;0;L;;;;;N;;;;; +130CA;EGYPTIAN HIEROGLYPH D067A;Lo;0;L;;;;;N;;;;; +130CB;EGYPTIAN HIEROGLYPH D067B;Lo;0;L;;;;;N;;;;; +130CC;EGYPTIAN HIEROGLYPH D067C;Lo;0;L;;;;;N;;;;; +130CD;EGYPTIAN HIEROGLYPH D067D;Lo;0;L;;;;;N;;;;; +130CE;EGYPTIAN HIEROGLYPH D067E;Lo;0;L;;;;;N;;;;; +130CF;EGYPTIAN HIEROGLYPH D067F;Lo;0;L;;;;;N;;;;; +130D0;EGYPTIAN HIEROGLYPH D067G;Lo;0;L;;;;;N;;;;; +130D1;EGYPTIAN HIEROGLYPH D067H;Lo;0;L;;;;;N;;;;; +130D2;EGYPTIAN HIEROGLYPH E001;Lo;0;L;;;;;N;;;;; +130D3;EGYPTIAN HIEROGLYPH E002;Lo;0;L;;;;;N;;;;; +130D4;EGYPTIAN HIEROGLYPH E003;Lo;0;L;;;;;N;;;;; +130D5;EGYPTIAN HIEROGLYPH E004;Lo;0;L;;;;;N;;;;; +130D6;EGYPTIAN HIEROGLYPH E005;Lo;0;L;;;;;N;;;;; +130D7;EGYPTIAN HIEROGLYPH E006;Lo;0;L;;;;;N;;;;; +130D8;EGYPTIAN HIEROGLYPH E007;Lo;0;L;;;;;N;;;;; +130D9;EGYPTIAN HIEROGLYPH E008;Lo;0;L;;;;;N;;;;; +130DA;EGYPTIAN HIEROGLYPH E008A;Lo;0;L;;;;;N;;;;; +130DB;EGYPTIAN HIEROGLYPH E009;Lo;0;L;;;;;N;;;;; +130DC;EGYPTIAN HIEROGLYPH E009A;Lo;0;L;;;;;N;;;;; +130DD;EGYPTIAN HIEROGLYPH E010;Lo;0;L;;;;;N;;;;; +130DE;EGYPTIAN HIEROGLYPH E011;Lo;0;L;;;;;N;;;;; +130DF;EGYPTIAN HIEROGLYPH E012;Lo;0;L;;;;;N;;;;; +130E0;EGYPTIAN HIEROGLYPH E013;Lo;0;L;;;;;N;;;;; +130E1;EGYPTIAN HIEROGLYPH E014;Lo;0;L;;;;;N;;;;; +130E2;EGYPTIAN HIEROGLYPH E015;Lo;0;L;;;;;N;;;;; +130E3;EGYPTIAN HIEROGLYPH E016;Lo;0;L;;;;;N;;;;; +130E4;EGYPTIAN HIEROGLYPH E016A;Lo;0;L;;;;;N;;;;; +130E5;EGYPTIAN HIEROGLYPH E017;Lo;0;L;;;;;N;;;;; +130E6;EGYPTIAN HIEROGLYPH E017A;Lo;0;L;;;;;N;;;;; +130E7;EGYPTIAN HIEROGLYPH E018;Lo;0;L;;;;;N;;;;; +130E8;EGYPTIAN HIEROGLYPH E019;Lo;0;L;;;;;N;;;;; +130E9;EGYPTIAN HIEROGLYPH E020;Lo;0;L;;;;;N;;;;; +130EA;EGYPTIAN HIEROGLYPH E020A;Lo;0;L;;;;;N;;;;; +130EB;EGYPTIAN HIEROGLYPH E021;Lo;0;L;;;;;N;;;;; +130EC;EGYPTIAN HIEROGLYPH E022;Lo;0;L;;;;;N;;;;; +130ED;EGYPTIAN HIEROGLYPH E023;Lo;0;L;;;;;N;;;;; +130EE;EGYPTIAN HIEROGLYPH E024;Lo;0;L;;;;;N;;;;; +130EF;EGYPTIAN HIEROGLYPH E025;Lo;0;L;;;;;N;;;;; +130F0;EGYPTIAN HIEROGLYPH E026;Lo;0;L;;;;;N;;;;; +130F1;EGYPTIAN HIEROGLYPH E027;Lo;0;L;;;;;N;;;;; +130F2;EGYPTIAN HIEROGLYPH E028;Lo;0;L;;;;;N;;;;; +130F3;EGYPTIAN HIEROGLYPH E028A;Lo;0;L;;;;;N;;;;; +130F4;EGYPTIAN HIEROGLYPH E029;Lo;0;L;;;;;N;;;;; +130F5;EGYPTIAN HIEROGLYPH E030;Lo;0;L;;;;;N;;;;; +130F6;EGYPTIAN HIEROGLYPH E031;Lo;0;L;;;;;N;;;;; +130F7;EGYPTIAN HIEROGLYPH E032;Lo;0;L;;;;;N;;;;; +130F8;EGYPTIAN HIEROGLYPH E033;Lo;0;L;;;;;N;;;;; +130F9;EGYPTIAN HIEROGLYPH E034;Lo;0;L;;;;;N;;;;; +130FA;EGYPTIAN HIEROGLYPH E034A;Lo;0;L;;;;;N;;;;; +130FB;EGYPTIAN HIEROGLYPH E036;Lo;0;L;;;;;N;;;;; +130FC;EGYPTIAN HIEROGLYPH E037;Lo;0;L;;;;;N;;;;; +130FD;EGYPTIAN HIEROGLYPH E038;Lo;0;L;;;;;N;;;;; +130FE;EGYPTIAN HIEROGLYPH F001;Lo;0;L;;;;;N;;;;; +130FF;EGYPTIAN HIEROGLYPH F001A;Lo;0;L;;;;;N;;;;; +13100;EGYPTIAN HIEROGLYPH F002;Lo;0;L;;;;;N;;;;; +13101;EGYPTIAN HIEROGLYPH F003;Lo;0;L;;;;;N;;;;; +13102;EGYPTIAN HIEROGLYPH F004;Lo;0;L;;;;;N;;;;; +13103;EGYPTIAN HIEROGLYPH F005;Lo;0;L;;;;;N;;;;; +13104;EGYPTIAN HIEROGLYPH F006;Lo;0;L;;;;;N;;;;; +13105;EGYPTIAN HIEROGLYPH F007;Lo;0;L;;;;;N;;;;; +13106;EGYPTIAN HIEROGLYPH F008;Lo;0;L;;;;;N;;;;; +13107;EGYPTIAN HIEROGLYPH F009;Lo;0;L;;;;;N;;;;; +13108;EGYPTIAN HIEROGLYPH F010;Lo;0;L;;;;;N;;;;; +13109;EGYPTIAN HIEROGLYPH F011;Lo;0;L;;;;;N;;;;; +1310A;EGYPTIAN HIEROGLYPH F012;Lo;0;L;;;;;N;;;;; +1310B;EGYPTIAN HIEROGLYPH F013;Lo;0;L;;;;;N;;;;; +1310C;EGYPTIAN HIEROGLYPH F013A;Lo;0;L;;;;;N;;;;; +1310D;EGYPTIAN HIEROGLYPH F014;Lo;0;L;;;;;N;;;;; +1310E;EGYPTIAN HIEROGLYPH F015;Lo;0;L;;;;;N;;;;; +1310F;EGYPTIAN HIEROGLYPH F016;Lo;0;L;;;;;N;;;;; +13110;EGYPTIAN HIEROGLYPH F017;Lo;0;L;;;;;N;;;;; +13111;EGYPTIAN HIEROGLYPH F018;Lo;0;L;;;;;N;;;;; +13112;EGYPTIAN HIEROGLYPH F019;Lo;0;L;;;;;N;;;;; +13113;EGYPTIAN HIEROGLYPH F020;Lo;0;L;;;;;N;;;;; +13114;EGYPTIAN HIEROGLYPH F021;Lo;0;L;;;;;N;;;;; +13115;EGYPTIAN HIEROGLYPH F021A;Lo;0;L;;;;;N;;;;; +13116;EGYPTIAN HIEROGLYPH F022;Lo;0;L;;;;;N;;;;; +13117;EGYPTIAN HIEROGLYPH F023;Lo;0;L;;;;;N;;;;; +13118;EGYPTIAN HIEROGLYPH F024;Lo;0;L;;;;;N;;;;; +13119;EGYPTIAN HIEROGLYPH F025;Lo;0;L;;;;;N;;;;; +1311A;EGYPTIAN HIEROGLYPH F026;Lo;0;L;;;;;N;;;;; +1311B;EGYPTIAN HIEROGLYPH F027;Lo;0;L;;;;;N;;;;; +1311C;EGYPTIAN HIEROGLYPH F028;Lo;0;L;;;;;N;;;;; +1311D;EGYPTIAN HIEROGLYPH F029;Lo;0;L;;;;;N;;;;; +1311E;EGYPTIAN HIEROGLYPH F030;Lo;0;L;;;;;N;;;;; +1311F;EGYPTIAN HIEROGLYPH F031;Lo;0;L;;;;;N;;;;; +13120;EGYPTIAN HIEROGLYPH F031A;Lo;0;L;;;;;N;;;;; +13121;EGYPTIAN HIEROGLYPH F032;Lo;0;L;;;;;N;;;;; +13122;EGYPTIAN HIEROGLYPH F033;Lo;0;L;;;;;N;;;;; +13123;EGYPTIAN HIEROGLYPH F034;Lo;0;L;;;;;N;;;;; +13124;EGYPTIAN HIEROGLYPH F035;Lo;0;L;;;;;N;;;;; +13125;EGYPTIAN HIEROGLYPH F036;Lo;0;L;;;;;N;;;;; +13126;EGYPTIAN HIEROGLYPH F037;Lo;0;L;;;;;N;;;;; +13127;EGYPTIAN HIEROGLYPH F037A;Lo;0;L;;;;;N;;;;; +13128;EGYPTIAN HIEROGLYPH F038;Lo;0;L;;;;;N;;;;; +13129;EGYPTIAN HIEROGLYPH F038A;Lo;0;L;;;;;N;;;;; +1312A;EGYPTIAN HIEROGLYPH F039;Lo;0;L;;;;;N;;;;; +1312B;EGYPTIAN HIEROGLYPH F040;Lo;0;L;;;;;N;;;;; +1312C;EGYPTIAN HIEROGLYPH F041;Lo;0;L;;;;;N;;;;; +1312D;EGYPTIAN HIEROGLYPH F042;Lo;0;L;;;;;N;;;;; +1312E;EGYPTIAN HIEROGLYPH F043;Lo;0;L;;;;;N;;;;; +1312F;EGYPTIAN HIEROGLYPH F044;Lo;0;L;;;;;N;;;;; +13130;EGYPTIAN HIEROGLYPH F045;Lo;0;L;;;;;N;;;;; +13131;EGYPTIAN HIEROGLYPH F045A;Lo;0;L;;;;;N;;;;; +13132;EGYPTIAN HIEROGLYPH F046;Lo;0;L;;;;;N;;;;; +13133;EGYPTIAN HIEROGLYPH F046A;Lo;0;L;;;;;N;;;;; +13134;EGYPTIAN HIEROGLYPH F047;Lo;0;L;;;;;N;;;;; +13135;EGYPTIAN HIEROGLYPH F047A;Lo;0;L;;;;;N;;;;; +13136;EGYPTIAN HIEROGLYPH F048;Lo;0;L;;;;;N;;;;; +13137;EGYPTIAN HIEROGLYPH F049;Lo;0;L;;;;;N;;;;; +13138;EGYPTIAN HIEROGLYPH F050;Lo;0;L;;;;;N;;;;; +13139;EGYPTIAN HIEROGLYPH F051;Lo;0;L;;;;;N;;;;; +1313A;EGYPTIAN HIEROGLYPH F051A;Lo;0;L;;;;;N;;;;; +1313B;EGYPTIAN HIEROGLYPH F051B;Lo;0;L;;;;;N;;;;; +1313C;EGYPTIAN HIEROGLYPH F051C;Lo;0;L;;;;;N;;;;; +1313D;EGYPTIAN HIEROGLYPH F052;Lo;0;L;;;;;N;;;;; +1313E;EGYPTIAN HIEROGLYPH F053;Lo;0;L;;;;;N;;;;; +1313F;EGYPTIAN HIEROGLYPH G001;Lo;0;L;;;;;N;;;;; +13140;EGYPTIAN HIEROGLYPH G002;Lo;0;L;;;;;N;;;;; +13141;EGYPTIAN HIEROGLYPH G003;Lo;0;L;;;;;N;;;;; +13142;EGYPTIAN HIEROGLYPH G004;Lo;0;L;;;;;N;;;;; +13143;EGYPTIAN HIEROGLYPH G005;Lo;0;L;;;;;N;;;;; +13144;EGYPTIAN HIEROGLYPH G006;Lo;0;L;;;;;N;;;;; +13145;EGYPTIAN HIEROGLYPH G006A;Lo;0;L;;;;;N;;;;; +13146;EGYPTIAN HIEROGLYPH G007;Lo;0;L;;;;;N;;;;; +13147;EGYPTIAN HIEROGLYPH G007A;Lo;0;L;;;;;N;;;;; +13148;EGYPTIAN HIEROGLYPH G007B;Lo;0;L;;;;;N;;;;; +13149;EGYPTIAN HIEROGLYPH G008;Lo;0;L;;;;;N;;;;; +1314A;EGYPTIAN HIEROGLYPH G009;Lo;0;L;;;;;N;;;;; +1314B;EGYPTIAN HIEROGLYPH G010;Lo;0;L;;;;;N;;;;; +1314C;EGYPTIAN HIEROGLYPH G011;Lo;0;L;;;;;N;;;;; +1314D;EGYPTIAN HIEROGLYPH G011A;Lo;0;L;;;;;N;;;;; +1314E;EGYPTIAN HIEROGLYPH G012;Lo;0;L;;;;;N;;;;; +1314F;EGYPTIAN HIEROGLYPH G013;Lo;0;L;;;;;N;;;;; +13150;EGYPTIAN HIEROGLYPH G014;Lo;0;L;;;;;N;;;;; +13151;EGYPTIAN HIEROGLYPH G015;Lo;0;L;;;;;N;;;;; +13152;EGYPTIAN HIEROGLYPH G016;Lo;0;L;;;;;N;;;;; +13153;EGYPTIAN HIEROGLYPH G017;Lo;0;L;;;;;N;;;;; +13154;EGYPTIAN HIEROGLYPH G018;Lo;0;L;;;;;N;;;;; +13155;EGYPTIAN HIEROGLYPH G019;Lo;0;L;;;;;N;;;;; +13156;EGYPTIAN HIEROGLYPH G020;Lo;0;L;;;;;N;;;;; +13157;EGYPTIAN HIEROGLYPH G020A;Lo;0;L;;;;;N;;;;; +13158;EGYPTIAN HIEROGLYPH G021;Lo;0;L;;;;;N;;;;; +13159;EGYPTIAN HIEROGLYPH G022;Lo;0;L;;;;;N;;;;; +1315A;EGYPTIAN HIEROGLYPH G023;Lo;0;L;;;;;N;;;;; +1315B;EGYPTIAN HIEROGLYPH G024;Lo;0;L;;;;;N;;;;; +1315C;EGYPTIAN HIEROGLYPH G025;Lo;0;L;;;;;N;;;;; +1315D;EGYPTIAN HIEROGLYPH G026;Lo;0;L;;;;;N;;;;; +1315E;EGYPTIAN HIEROGLYPH G026A;Lo;0;L;;;;;N;;;;; +1315F;EGYPTIAN HIEROGLYPH G027;Lo;0;L;;;;;N;;;;; +13160;EGYPTIAN HIEROGLYPH G028;Lo;0;L;;;;;N;;;;; +13161;EGYPTIAN HIEROGLYPH G029;Lo;0;L;;;;;N;;;;; +13162;EGYPTIAN HIEROGLYPH G030;Lo;0;L;;;;;N;;;;; +13163;EGYPTIAN HIEROGLYPH G031;Lo;0;L;;;;;N;;;;; +13164;EGYPTIAN HIEROGLYPH G032;Lo;0;L;;;;;N;;;;; +13165;EGYPTIAN HIEROGLYPH G033;Lo;0;L;;;;;N;;;;; +13166;EGYPTIAN HIEROGLYPH G034;Lo;0;L;;;;;N;;;;; +13167;EGYPTIAN HIEROGLYPH G035;Lo;0;L;;;;;N;;;;; +13168;EGYPTIAN HIEROGLYPH G036;Lo;0;L;;;;;N;;;;; +13169;EGYPTIAN HIEROGLYPH G036A;Lo;0;L;;;;;N;;;;; +1316A;EGYPTIAN HIEROGLYPH G037;Lo;0;L;;;;;N;;;;; +1316B;EGYPTIAN HIEROGLYPH G037A;Lo;0;L;;;;;N;;;;; +1316C;EGYPTIAN HIEROGLYPH G038;Lo;0;L;;;;;N;;;;; +1316D;EGYPTIAN HIEROGLYPH G039;Lo;0;L;;;;;N;;;;; +1316E;EGYPTIAN HIEROGLYPH G040;Lo;0;L;;;;;N;;;;; +1316F;EGYPTIAN HIEROGLYPH G041;Lo;0;L;;;;;N;;;;; +13170;EGYPTIAN HIEROGLYPH G042;Lo;0;L;;;;;N;;;;; +13171;EGYPTIAN HIEROGLYPH G043;Lo;0;L;;;;;N;;;;; +13172;EGYPTIAN HIEROGLYPH G043A;Lo;0;L;;;;;N;;;;; +13173;EGYPTIAN HIEROGLYPH G044;Lo;0;L;;;;;N;;;;; +13174;EGYPTIAN HIEROGLYPH G045;Lo;0;L;;;;;N;;;;; +13175;EGYPTIAN HIEROGLYPH G045A;Lo;0;L;;;;;N;;;;; +13176;EGYPTIAN HIEROGLYPH G046;Lo;0;L;;;;;N;;;;; +13177;EGYPTIAN HIEROGLYPH G047;Lo;0;L;;;;;N;;;;; +13178;EGYPTIAN HIEROGLYPH G048;Lo;0;L;;;;;N;;;;; +13179;EGYPTIAN HIEROGLYPH G049;Lo;0;L;;;;;N;;;;; +1317A;EGYPTIAN HIEROGLYPH G050;Lo;0;L;;;;;N;;;;; +1317B;EGYPTIAN HIEROGLYPH G051;Lo;0;L;;;;;N;;;;; +1317C;EGYPTIAN HIEROGLYPH G052;Lo;0;L;;;;;N;;;;; +1317D;EGYPTIAN HIEROGLYPH G053;Lo;0;L;;;;;N;;;;; +1317E;EGYPTIAN HIEROGLYPH G054;Lo;0;L;;;;;N;;;;; +1317F;EGYPTIAN HIEROGLYPH H001;Lo;0;L;;;;;N;;;;; +13180;EGYPTIAN HIEROGLYPH H002;Lo;0;L;;;;;N;;;;; +13181;EGYPTIAN HIEROGLYPH H003;Lo;0;L;;;;;N;;;;; +13182;EGYPTIAN HIEROGLYPH H004;Lo;0;L;;;;;N;;;;; +13183;EGYPTIAN HIEROGLYPH H005;Lo;0;L;;;;;N;;;;; +13184;EGYPTIAN HIEROGLYPH H006;Lo;0;L;;;;;N;;;;; +13185;EGYPTIAN HIEROGLYPH H006A;Lo;0;L;;;;;N;;;;; +13186;EGYPTIAN HIEROGLYPH H007;Lo;0;L;;;;;N;;;;; +13187;EGYPTIAN HIEROGLYPH H008;Lo;0;L;;;;;N;;;;; +13188;EGYPTIAN HIEROGLYPH I001;Lo;0;L;;;;;N;;;;; +13189;EGYPTIAN HIEROGLYPH I002;Lo;0;L;;;;;N;;;;; +1318A;EGYPTIAN HIEROGLYPH I003;Lo;0;L;;;;;N;;;;; +1318B;EGYPTIAN HIEROGLYPH I004;Lo;0;L;;;;;N;;;;; +1318C;EGYPTIAN HIEROGLYPH I005;Lo;0;L;;;;;N;;;;; +1318D;EGYPTIAN HIEROGLYPH I005A;Lo;0;L;;;;;N;;;;; +1318E;EGYPTIAN HIEROGLYPH I006;Lo;0;L;;;;;N;;;;; +1318F;EGYPTIAN HIEROGLYPH I007;Lo;0;L;;;;;N;;;;; +13190;EGYPTIAN HIEROGLYPH I008;Lo;0;L;;;;;N;;;;; +13191;EGYPTIAN HIEROGLYPH I009;Lo;0;L;;;;;N;;;;; +13192;EGYPTIAN HIEROGLYPH I009A;Lo;0;L;;;;;N;;;;; +13193;EGYPTIAN HIEROGLYPH I010;Lo;0;L;;;;;N;;;;; +13194;EGYPTIAN HIEROGLYPH I010A;Lo;0;L;;;;;N;;;;; +13195;EGYPTIAN HIEROGLYPH I011;Lo;0;L;;;;;N;;;;; +13196;EGYPTIAN HIEROGLYPH I011A;Lo;0;L;;;;;N;;;;; +13197;EGYPTIAN HIEROGLYPH I012;Lo;0;L;;;;;N;;;;; +13198;EGYPTIAN HIEROGLYPH I013;Lo;0;L;;;;;N;;;;; +13199;EGYPTIAN HIEROGLYPH I014;Lo;0;L;;;;;N;;;;; +1319A;EGYPTIAN HIEROGLYPH I015;Lo;0;L;;;;;N;;;;; +1319B;EGYPTIAN HIEROGLYPH K001;Lo;0;L;;;;;N;;;;; +1319C;EGYPTIAN HIEROGLYPH K002;Lo;0;L;;;;;N;;;;; +1319D;EGYPTIAN HIEROGLYPH K003;Lo;0;L;;;;;N;;;;; +1319E;EGYPTIAN HIEROGLYPH K004;Lo;0;L;;;;;N;;;;; +1319F;EGYPTIAN HIEROGLYPH K005;Lo;0;L;;;;;N;;;;; +131A0;EGYPTIAN HIEROGLYPH K006;Lo;0;L;;;;;N;;;;; +131A1;EGYPTIAN HIEROGLYPH K007;Lo;0;L;;;;;N;;;;; +131A2;EGYPTIAN HIEROGLYPH K008;Lo;0;L;;;;;N;;;;; +131A3;EGYPTIAN HIEROGLYPH L001;Lo;0;L;;;;;N;;;;; +131A4;EGYPTIAN HIEROGLYPH L002;Lo;0;L;;;;;N;;;;; +131A5;EGYPTIAN HIEROGLYPH L002A;Lo;0;L;;;;;N;;;;; +131A6;EGYPTIAN HIEROGLYPH L003;Lo;0;L;;;;;N;;;;; +131A7;EGYPTIAN HIEROGLYPH L004;Lo;0;L;;;;;N;;;;; +131A8;EGYPTIAN HIEROGLYPH L005;Lo;0;L;;;;;N;;;;; +131A9;EGYPTIAN HIEROGLYPH L006;Lo;0;L;;;;;N;;;;; +131AA;EGYPTIAN HIEROGLYPH L006A;Lo;0;L;;;;;N;;;;; +131AB;EGYPTIAN HIEROGLYPH L007;Lo;0;L;;;;;N;;;;; +131AC;EGYPTIAN HIEROGLYPH L008;Lo;0;L;;;;;N;;;;; +131AD;EGYPTIAN HIEROGLYPH M001;Lo;0;L;;;;;N;;;;; +131AE;EGYPTIAN HIEROGLYPH M001A;Lo;0;L;;;;;N;;;;; +131AF;EGYPTIAN HIEROGLYPH M001B;Lo;0;L;;;;;N;;;;; +131B0;EGYPTIAN HIEROGLYPH M002;Lo;0;L;;;;;N;;;;; +131B1;EGYPTIAN HIEROGLYPH M003;Lo;0;L;;;;;N;;;;; +131B2;EGYPTIAN HIEROGLYPH M003A;Lo;0;L;;;;;N;;;;; +131B3;EGYPTIAN HIEROGLYPH M004;Lo;0;L;;;;;N;;;;; +131B4;EGYPTIAN HIEROGLYPH M005;Lo;0;L;;;;;N;;;;; +131B5;EGYPTIAN HIEROGLYPH M006;Lo;0;L;;;;;N;;;;; +131B6;EGYPTIAN HIEROGLYPH M007;Lo;0;L;;;;;N;;;;; +131B7;EGYPTIAN HIEROGLYPH M008;Lo;0;L;;;;;N;;;;; +131B8;EGYPTIAN HIEROGLYPH M009;Lo;0;L;;;;;N;;;;; +131B9;EGYPTIAN HIEROGLYPH M010;Lo;0;L;;;;;N;;;;; +131BA;EGYPTIAN HIEROGLYPH M010A;Lo;0;L;;;;;N;;;;; +131BB;EGYPTIAN HIEROGLYPH M011;Lo;0;L;;;;;N;;;;; +131BC;EGYPTIAN HIEROGLYPH M012;Lo;0;L;;;;;N;;;;; +131BD;EGYPTIAN HIEROGLYPH M012A;Lo;0;L;;;;;N;;;;; +131BE;EGYPTIAN HIEROGLYPH M012B;Lo;0;L;;;;;N;;;;; +131BF;EGYPTIAN HIEROGLYPH M012C;Lo;0;L;;;;;N;;;;; +131C0;EGYPTIAN HIEROGLYPH M012D;Lo;0;L;;;;;N;;;;; +131C1;EGYPTIAN HIEROGLYPH M012E;Lo;0;L;;;;;N;;;;; +131C2;EGYPTIAN HIEROGLYPH M012F;Lo;0;L;;;;;N;;;;; +131C3;EGYPTIAN HIEROGLYPH M012G;Lo;0;L;;;;;N;;;;; +131C4;EGYPTIAN HIEROGLYPH M012H;Lo;0;L;;;;;N;;;;; +131C5;EGYPTIAN HIEROGLYPH M013;Lo;0;L;;;;;N;;;;; +131C6;EGYPTIAN HIEROGLYPH M014;Lo;0;L;;;;;N;;;;; +131C7;EGYPTIAN HIEROGLYPH M015;Lo;0;L;;;;;N;;;;; +131C8;EGYPTIAN HIEROGLYPH M015A;Lo;0;L;;;;;N;;;;; +131C9;EGYPTIAN HIEROGLYPH M016;Lo;0;L;;;;;N;;;;; +131CA;EGYPTIAN HIEROGLYPH M016A;Lo;0;L;;;;;N;;;;; +131CB;EGYPTIAN HIEROGLYPH M017;Lo;0;L;;;;;N;;;;; +131CC;EGYPTIAN HIEROGLYPH M017A;Lo;0;L;;;;;N;;;;; +131CD;EGYPTIAN HIEROGLYPH M018;Lo;0;L;;;;;N;;;;; +131CE;EGYPTIAN HIEROGLYPH M019;Lo;0;L;;;;;N;;;;; +131CF;EGYPTIAN HIEROGLYPH M020;Lo;0;L;;;;;N;;;;; +131D0;EGYPTIAN HIEROGLYPH M021;Lo;0;L;;;;;N;;;;; +131D1;EGYPTIAN HIEROGLYPH M022;Lo;0;L;;;;;N;;;;; +131D2;EGYPTIAN HIEROGLYPH M022A;Lo;0;L;;;;;N;;;;; +131D3;EGYPTIAN HIEROGLYPH M023;Lo;0;L;;;;;N;;;;; +131D4;EGYPTIAN HIEROGLYPH M024;Lo;0;L;;;;;N;;;;; +131D5;EGYPTIAN HIEROGLYPH M024A;Lo;0;L;;;;;N;;;;; +131D6;EGYPTIAN HIEROGLYPH M025;Lo;0;L;;;;;N;;;;; +131D7;EGYPTIAN HIEROGLYPH M026;Lo;0;L;;;;;N;;;;; +131D8;EGYPTIAN HIEROGLYPH M027;Lo;0;L;;;;;N;;;;; +131D9;EGYPTIAN HIEROGLYPH M028;Lo;0;L;;;;;N;;;;; +131DA;EGYPTIAN HIEROGLYPH M028A;Lo;0;L;;;;;N;;;;; +131DB;EGYPTIAN HIEROGLYPH M029;Lo;0;L;;;;;N;;;;; +131DC;EGYPTIAN HIEROGLYPH M030;Lo;0;L;;;;;N;;;;; +131DD;EGYPTIAN HIEROGLYPH M031;Lo;0;L;;;;;N;;;;; +131DE;EGYPTIAN HIEROGLYPH M031A;Lo;0;L;;;;;N;;;;; +131DF;EGYPTIAN HIEROGLYPH M032;Lo;0;L;;;;;N;;;;; +131E0;EGYPTIAN HIEROGLYPH M033;Lo;0;L;;;;;N;;;;; +131E1;EGYPTIAN HIEROGLYPH M033A;Lo;0;L;;;;;N;;;;; +131E2;EGYPTIAN HIEROGLYPH M033B;Lo;0;L;;;;;N;;;;; +131E3;EGYPTIAN HIEROGLYPH M034;Lo;0;L;;;;;N;;;;; +131E4;EGYPTIAN HIEROGLYPH M035;Lo;0;L;;;;;N;;;;; +131E5;EGYPTIAN HIEROGLYPH M036;Lo;0;L;;;;;N;;;;; +131E6;EGYPTIAN HIEROGLYPH M037;Lo;0;L;;;;;N;;;;; +131E7;EGYPTIAN HIEROGLYPH M038;Lo;0;L;;;;;N;;;;; +131E8;EGYPTIAN HIEROGLYPH M039;Lo;0;L;;;;;N;;;;; +131E9;EGYPTIAN HIEROGLYPH M040;Lo;0;L;;;;;N;;;;; +131EA;EGYPTIAN HIEROGLYPH M040A;Lo;0;L;;;;;N;;;;; +131EB;EGYPTIAN HIEROGLYPH M041;Lo;0;L;;;;;N;;;;; +131EC;EGYPTIAN HIEROGLYPH M042;Lo;0;L;;;;;N;;;;; +131ED;EGYPTIAN HIEROGLYPH M043;Lo;0;L;;;;;N;;;;; +131EE;EGYPTIAN HIEROGLYPH M044;Lo;0;L;;;;;N;;;;; +131EF;EGYPTIAN HIEROGLYPH N001;Lo;0;L;;;;;N;;;;; +131F0;EGYPTIAN HIEROGLYPH N002;Lo;0;L;;;;;N;;;;; +131F1;EGYPTIAN HIEROGLYPH N003;Lo;0;L;;;;;N;;;;; +131F2;EGYPTIAN HIEROGLYPH N004;Lo;0;L;;;;;N;;;;; +131F3;EGYPTIAN HIEROGLYPH N005;Lo;0;L;;;;;N;;;;; +131F4;EGYPTIAN HIEROGLYPH N006;Lo;0;L;;;;;N;;;;; +131F5;EGYPTIAN HIEROGLYPH N007;Lo;0;L;;;;;N;;;;; +131F6;EGYPTIAN HIEROGLYPH N008;Lo;0;L;;;;;N;;;;; +131F7;EGYPTIAN HIEROGLYPH N009;Lo;0;L;;;;;N;;;;; +131F8;EGYPTIAN HIEROGLYPH N010;Lo;0;L;;;;;N;;;;; +131F9;EGYPTIAN HIEROGLYPH N011;Lo;0;L;;;;;N;;;;; +131FA;EGYPTIAN HIEROGLYPH N012;Lo;0;L;;;;;N;;;;; +131FB;EGYPTIAN HIEROGLYPH N013;Lo;0;L;;;;;N;;;;; +131FC;EGYPTIAN HIEROGLYPH N014;Lo;0;L;;;;;N;;;;; +131FD;EGYPTIAN HIEROGLYPH N015;Lo;0;L;;;;;N;;;;; +131FE;EGYPTIAN HIEROGLYPH N016;Lo;0;L;;;;;N;;;;; +131FF;EGYPTIAN HIEROGLYPH N017;Lo;0;L;;;;;N;;;;; +13200;EGYPTIAN HIEROGLYPH N018;Lo;0;L;;;;;N;;;;; +13201;EGYPTIAN HIEROGLYPH N018A;Lo;0;L;;;;;N;;;;; +13202;EGYPTIAN HIEROGLYPH N018B;Lo;0;L;;;;;N;;;;; +13203;EGYPTIAN HIEROGLYPH N019;Lo;0;L;;;;;N;;;;; +13204;EGYPTIAN HIEROGLYPH N020;Lo;0;L;;;;;N;;;;; +13205;EGYPTIAN HIEROGLYPH N021;Lo;0;L;;;;;N;;;;; +13206;EGYPTIAN HIEROGLYPH N022;Lo;0;L;;;;;N;;;;; +13207;EGYPTIAN HIEROGLYPH N023;Lo;0;L;;;;;N;;;;; +13208;EGYPTIAN HIEROGLYPH N024;Lo;0;L;;;;;N;;;;; +13209;EGYPTIAN HIEROGLYPH N025;Lo;0;L;;;;;N;;;;; +1320A;EGYPTIAN HIEROGLYPH N025A;Lo;0;L;;;;;N;;;;; +1320B;EGYPTIAN HIEROGLYPH N026;Lo;0;L;;;;;N;;;;; +1320C;EGYPTIAN HIEROGLYPH N027;Lo;0;L;;;;;N;;;;; +1320D;EGYPTIAN HIEROGLYPH N028;Lo;0;L;;;;;N;;;;; +1320E;EGYPTIAN HIEROGLYPH N029;Lo;0;L;;;;;N;;;;; +1320F;EGYPTIAN HIEROGLYPH N030;Lo;0;L;;;;;N;;;;; +13210;EGYPTIAN HIEROGLYPH N031;Lo;0;L;;;;;N;;;;; +13211;EGYPTIAN HIEROGLYPH N032;Lo;0;L;;;;;N;;;;; +13212;EGYPTIAN HIEROGLYPH N033;Lo;0;L;;;;;N;;;;; +13213;EGYPTIAN HIEROGLYPH N033A;Lo;0;L;;;;;N;;;;; +13214;EGYPTIAN HIEROGLYPH N034;Lo;0;L;;;;;N;;;;; +13215;EGYPTIAN HIEROGLYPH N034A;Lo;0;L;;;;;N;;;;; +13216;EGYPTIAN HIEROGLYPH N035;Lo;0;L;;;;;N;;;;; +13217;EGYPTIAN HIEROGLYPH N035A;Lo;0;L;;;;;N;;;;; +13218;EGYPTIAN HIEROGLYPH N036;Lo;0;L;;;;;N;;;;; +13219;EGYPTIAN HIEROGLYPH N037;Lo;0;L;;;;;N;;;;; +1321A;EGYPTIAN HIEROGLYPH N037A;Lo;0;L;;;;;N;;;;; +1321B;EGYPTIAN HIEROGLYPH N038;Lo;0;L;;;;;N;;;;; +1321C;EGYPTIAN HIEROGLYPH N039;Lo;0;L;;;;;N;;;;; +1321D;EGYPTIAN HIEROGLYPH N040;Lo;0;L;;;;;N;;;;; +1321E;EGYPTIAN HIEROGLYPH N041;Lo;0;L;;;;;N;;;;; +1321F;EGYPTIAN HIEROGLYPH N042;Lo;0;L;;;;;N;;;;; +13220;EGYPTIAN HIEROGLYPH NL001;Lo;0;L;;;;;N;;;;; +13221;EGYPTIAN HIEROGLYPH NL002;Lo;0;L;;;;;N;;;;; +13222;EGYPTIAN HIEROGLYPH NL003;Lo;0;L;;;;;N;;;;; +13223;EGYPTIAN HIEROGLYPH NL004;Lo;0;L;;;;;N;;;;; +13224;EGYPTIAN HIEROGLYPH NL005;Lo;0;L;;;;;N;;;;; +13225;EGYPTIAN HIEROGLYPH NL005A;Lo;0;L;;;;;N;;;;; +13226;EGYPTIAN HIEROGLYPH NL006;Lo;0;L;;;;;N;;;;; +13227;EGYPTIAN HIEROGLYPH NL007;Lo;0;L;;;;;N;;;;; +13228;EGYPTIAN HIEROGLYPH NL008;Lo;0;L;;;;;N;;;;; +13229;EGYPTIAN HIEROGLYPH NL009;Lo;0;L;;;;;N;;;;; +1322A;EGYPTIAN HIEROGLYPH NL010;Lo;0;L;;;;;N;;;;; +1322B;EGYPTIAN HIEROGLYPH NL011;Lo;0;L;;;;;N;;;;; +1322C;EGYPTIAN HIEROGLYPH NL012;Lo;0;L;;;;;N;;;;; +1322D;EGYPTIAN HIEROGLYPH NL013;Lo;0;L;;;;;N;;;;; +1322E;EGYPTIAN HIEROGLYPH NL014;Lo;0;L;;;;;N;;;;; +1322F;EGYPTIAN HIEROGLYPH NL015;Lo;0;L;;;;;N;;;;; +13230;EGYPTIAN HIEROGLYPH NL016;Lo;0;L;;;;;N;;;;; +13231;EGYPTIAN HIEROGLYPH NL017;Lo;0;L;;;;;N;;;;; +13232;EGYPTIAN HIEROGLYPH NL017A;Lo;0;L;;;;;N;;;;; +13233;EGYPTIAN HIEROGLYPH NL018;Lo;0;L;;;;;N;;;;; +13234;EGYPTIAN HIEROGLYPH NL019;Lo;0;L;;;;;N;;;;; +13235;EGYPTIAN HIEROGLYPH NL020;Lo;0;L;;;;;N;;;;; +13236;EGYPTIAN HIEROGLYPH NU001;Lo;0;L;;;;;N;;;;; +13237;EGYPTIAN HIEROGLYPH NU002;Lo;0;L;;;;;N;;;;; +13238;EGYPTIAN HIEROGLYPH NU003;Lo;0;L;;;;;N;;;;; +13239;EGYPTIAN HIEROGLYPH NU004;Lo;0;L;;;;;N;;;;; +1323A;EGYPTIAN HIEROGLYPH NU005;Lo;0;L;;;;;N;;;;; +1323B;EGYPTIAN HIEROGLYPH NU006;Lo;0;L;;;;;N;;;;; +1323C;EGYPTIAN HIEROGLYPH NU007;Lo;0;L;;;;;N;;;;; +1323D;EGYPTIAN HIEROGLYPH NU008;Lo;0;L;;;;;N;;;;; +1323E;EGYPTIAN HIEROGLYPH NU009;Lo;0;L;;;;;N;;;;; +1323F;EGYPTIAN HIEROGLYPH NU010;Lo;0;L;;;;;N;;;;; +13240;EGYPTIAN HIEROGLYPH NU010A;Lo;0;L;;;;;N;;;;; +13241;EGYPTIAN HIEROGLYPH NU011;Lo;0;L;;;;;N;;;;; +13242;EGYPTIAN HIEROGLYPH NU011A;Lo;0;L;;;;;N;;;;; +13243;EGYPTIAN HIEROGLYPH NU012;Lo;0;L;;;;;N;;;;; +13244;EGYPTIAN HIEROGLYPH NU013;Lo;0;L;;;;;N;;;;; +13245;EGYPTIAN HIEROGLYPH NU014;Lo;0;L;;;;;N;;;;; +13246;EGYPTIAN HIEROGLYPH NU015;Lo;0;L;;;;;N;;;;; +13247;EGYPTIAN HIEROGLYPH NU016;Lo;0;L;;;;;N;;;;; +13248;EGYPTIAN HIEROGLYPH NU017;Lo;0;L;;;;;N;;;;; +13249;EGYPTIAN HIEROGLYPH NU018;Lo;0;L;;;;;N;;;;; +1324A;EGYPTIAN HIEROGLYPH NU018A;Lo;0;L;;;;;N;;;;; +1324B;EGYPTIAN HIEROGLYPH NU019;Lo;0;L;;;;;N;;;;; +1324C;EGYPTIAN HIEROGLYPH NU020;Lo;0;L;;;;;N;;;;; +1324D;EGYPTIAN HIEROGLYPH NU021;Lo;0;L;;;;;N;;;;; +1324E;EGYPTIAN HIEROGLYPH NU022;Lo;0;L;;;;;N;;;;; +1324F;EGYPTIAN HIEROGLYPH NU022A;Lo;0;L;;;;;N;;;;; +13250;EGYPTIAN HIEROGLYPH O001;Lo;0;L;;;;;N;;;;; +13251;EGYPTIAN HIEROGLYPH O001A;Lo;0;L;;;;;N;;;;; +13252;EGYPTIAN HIEROGLYPH O002;Lo;0;L;;;;;N;;;;; +13253;EGYPTIAN HIEROGLYPH O003;Lo;0;L;;;;;N;;;;; +13254;EGYPTIAN HIEROGLYPH O004;Lo;0;L;;;;;N;;;;; +13255;EGYPTIAN HIEROGLYPH O005;Lo;0;L;;;;;N;;;;; +13256;EGYPTIAN HIEROGLYPH O005A;Lo;0;L;;;;;N;;;;; +13257;EGYPTIAN HIEROGLYPH O006;Lo;0;L;;;;;N;;;;; +13258;EGYPTIAN HIEROGLYPH O006A;Lo;0;L;;;;;N;;;;; +13259;EGYPTIAN HIEROGLYPH O006B;Lo;0;L;;;;;N;;;;; +1325A;EGYPTIAN HIEROGLYPH O006C;Lo;0;L;;;;;N;;;;; +1325B;EGYPTIAN HIEROGLYPH O006D;Lo;0;L;;;;;N;;;;; +1325C;EGYPTIAN HIEROGLYPH O006E;Lo;0;L;;;;;N;;;;; +1325D;EGYPTIAN HIEROGLYPH O006F;Lo;0;L;;;;;N;;;;; +1325E;EGYPTIAN HIEROGLYPH O007;Lo;0;L;;;;;N;;;;; +1325F;EGYPTIAN HIEROGLYPH O008;Lo;0;L;;;;;N;;;;; +13260;EGYPTIAN HIEROGLYPH O009;Lo;0;L;;;;;N;;;;; +13261;EGYPTIAN HIEROGLYPH O010;Lo;0;L;;;;;N;;;;; +13262;EGYPTIAN HIEROGLYPH O010A;Lo;0;L;;;;;N;;;;; +13263;EGYPTIAN HIEROGLYPH O010B;Lo;0;L;;;;;N;;;;; +13264;EGYPTIAN HIEROGLYPH O010C;Lo;0;L;;;;;N;;;;; +13265;EGYPTIAN HIEROGLYPH O011;Lo;0;L;;;;;N;;;;; +13266;EGYPTIAN HIEROGLYPH O012;Lo;0;L;;;;;N;;;;; +13267;EGYPTIAN HIEROGLYPH O013;Lo;0;L;;;;;N;;;;; +13268;EGYPTIAN HIEROGLYPH O014;Lo;0;L;;;;;N;;;;; +13269;EGYPTIAN HIEROGLYPH O015;Lo;0;L;;;;;N;;;;; +1326A;EGYPTIAN HIEROGLYPH O016;Lo;0;L;;;;;N;;;;; +1326B;EGYPTIAN HIEROGLYPH O017;Lo;0;L;;;;;N;;;;; +1326C;EGYPTIAN HIEROGLYPH O018;Lo;0;L;;;;;N;;;;; +1326D;EGYPTIAN HIEROGLYPH O019;Lo;0;L;;;;;N;;;;; +1326E;EGYPTIAN HIEROGLYPH O019A;Lo;0;L;;;;;N;;;;; +1326F;EGYPTIAN HIEROGLYPH O020;Lo;0;L;;;;;N;;;;; +13270;EGYPTIAN HIEROGLYPH O020A;Lo;0;L;;;;;N;;;;; +13271;EGYPTIAN HIEROGLYPH O021;Lo;0;L;;;;;N;;;;; +13272;EGYPTIAN HIEROGLYPH O022;Lo;0;L;;;;;N;;;;; +13273;EGYPTIAN HIEROGLYPH O023;Lo;0;L;;;;;N;;;;; +13274;EGYPTIAN HIEROGLYPH O024;Lo;0;L;;;;;N;;;;; +13275;EGYPTIAN HIEROGLYPH O024A;Lo;0;L;;;;;N;;;;; +13276;EGYPTIAN HIEROGLYPH O025;Lo;0;L;;;;;N;;;;; +13277;EGYPTIAN HIEROGLYPH O025A;Lo;0;L;;;;;N;;;;; +13278;EGYPTIAN HIEROGLYPH O026;Lo;0;L;;;;;N;;;;; +13279;EGYPTIAN HIEROGLYPH O027;Lo;0;L;;;;;N;;;;; +1327A;EGYPTIAN HIEROGLYPH O028;Lo;0;L;;;;;N;;;;; +1327B;EGYPTIAN HIEROGLYPH O029;Lo;0;L;;;;;N;;;;; +1327C;EGYPTIAN HIEROGLYPH O029A;Lo;0;L;;;;;N;;;;; +1327D;EGYPTIAN HIEROGLYPH O030;Lo;0;L;;;;;N;;;;; +1327E;EGYPTIAN HIEROGLYPH O030A;Lo;0;L;;;;;N;;;;; +1327F;EGYPTIAN HIEROGLYPH O031;Lo;0;L;;;;;N;;;;; +13280;EGYPTIAN HIEROGLYPH O032;Lo;0;L;;;;;N;;;;; +13281;EGYPTIAN HIEROGLYPH O033;Lo;0;L;;;;;N;;;;; +13282;EGYPTIAN HIEROGLYPH O033A;Lo;0;L;;;;;N;;;;; +13283;EGYPTIAN HIEROGLYPH O034;Lo;0;L;;;;;N;;;;; +13284;EGYPTIAN HIEROGLYPH O035;Lo;0;L;;;;;N;;;;; +13285;EGYPTIAN HIEROGLYPH O036;Lo;0;L;;;;;N;;;;; +13286;EGYPTIAN HIEROGLYPH O036A;Lo;0;L;;;;;N;;;;; +13287;EGYPTIAN HIEROGLYPH O036B;Lo;0;L;;;;;N;;;;; +13288;EGYPTIAN HIEROGLYPH O036C;Lo;0;L;;;;;N;;;;; +13289;EGYPTIAN HIEROGLYPH O036D;Lo;0;L;;;;;N;;;;; +1328A;EGYPTIAN HIEROGLYPH O037;Lo;0;L;;;;;N;;;;; +1328B;EGYPTIAN HIEROGLYPH O038;Lo;0;L;;;;;N;;;;; +1328C;EGYPTIAN HIEROGLYPH O039;Lo;0;L;;;;;N;;;;; +1328D;EGYPTIAN HIEROGLYPH O040;Lo;0;L;;;;;N;;;;; +1328E;EGYPTIAN HIEROGLYPH O041;Lo;0;L;;;;;N;;;;; +1328F;EGYPTIAN HIEROGLYPH O042;Lo;0;L;;;;;N;;;;; +13290;EGYPTIAN HIEROGLYPH O043;Lo;0;L;;;;;N;;;;; +13291;EGYPTIAN HIEROGLYPH O044;Lo;0;L;;;;;N;;;;; +13292;EGYPTIAN HIEROGLYPH O045;Lo;0;L;;;;;N;;;;; +13293;EGYPTIAN HIEROGLYPH O046;Lo;0;L;;;;;N;;;;; +13294;EGYPTIAN HIEROGLYPH O047;Lo;0;L;;;;;N;;;;; +13295;EGYPTIAN HIEROGLYPH O048;Lo;0;L;;;;;N;;;;; +13296;EGYPTIAN HIEROGLYPH O049;Lo;0;L;;;;;N;;;;; +13297;EGYPTIAN HIEROGLYPH O050;Lo;0;L;;;;;N;;;;; +13298;EGYPTIAN HIEROGLYPH O050A;Lo;0;L;;;;;N;;;;; +13299;EGYPTIAN HIEROGLYPH O050B;Lo;0;L;;;;;N;;;;; +1329A;EGYPTIAN HIEROGLYPH O051;Lo;0;L;;;;;N;;;;; +1329B;EGYPTIAN HIEROGLYPH P001;Lo;0;L;;;;;N;;;;; +1329C;EGYPTIAN HIEROGLYPH P001A;Lo;0;L;;;;;N;;;;; +1329D;EGYPTIAN HIEROGLYPH P002;Lo;0;L;;;;;N;;;;; +1329E;EGYPTIAN HIEROGLYPH P003;Lo;0;L;;;;;N;;;;; +1329F;EGYPTIAN HIEROGLYPH P003A;Lo;0;L;;;;;N;;;;; +132A0;EGYPTIAN HIEROGLYPH P004;Lo;0;L;;;;;N;;;;; +132A1;EGYPTIAN HIEROGLYPH P005;Lo;0;L;;;;;N;;;;; +132A2;EGYPTIAN HIEROGLYPH P006;Lo;0;L;;;;;N;;;;; +132A3;EGYPTIAN HIEROGLYPH P007;Lo;0;L;;;;;N;;;;; +132A4;EGYPTIAN HIEROGLYPH P008;Lo;0;L;;;;;N;;;;; +132A5;EGYPTIAN HIEROGLYPH P009;Lo;0;L;;;;;N;;;;; +132A6;EGYPTIAN HIEROGLYPH P010;Lo;0;L;;;;;N;;;;; +132A7;EGYPTIAN HIEROGLYPH P011;Lo;0;L;;;;;N;;;;; +132A8;EGYPTIAN HIEROGLYPH Q001;Lo;0;L;;;;;N;;;;; +132A9;EGYPTIAN HIEROGLYPH Q002;Lo;0;L;;;;;N;;;;; +132AA;EGYPTIAN HIEROGLYPH Q003;Lo;0;L;;;;;N;;;;; +132AB;EGYPTIAN HIEROGLYPH Q004;Lo;0;L;;;;;N;;;;; +132AC;EGYPTIAN HIEROGLYPH Q005;Lo;0;L;;;;;N;;;;; +132AD;EGYPTIAN HIEROGLYPH Q006;Lo;0;L;;;;;N;;;;; +132AE;EGYPTIAN HIEROGLYPH Q007;Lo;0;L;;;;;N;;;;; +132AF;EGYPTIAN HIEROGLYPH R001;Lo;0;L;;;;;N;;;;; +132B0;EGYPTIAN HIEROGLYPH R002;Lo;0;L;;;;;N;;;;; +132B1;EGYPTIAN HIEROGLYPH R002A;Lo;0;L;;;;;N;;;;; +132B2;EGYPTIAN HIEROGLYPH R003;Lo;0;L;;;;;N;;;;; +132B3;EGYPTIAN HIEROGLYPH R003A;Lo;0;L;;;;;N;;;;; +132B4;EGYPTIAN HIEROGLYPH R003B;Lo;0;L;;;;;N;;;;; +132B5;EGYPTIAN HIEROGLYPH R004;Lo;0;L;;;;;N;;;;; +132B6;EGYPTIAN HIEROGLYPH R005;Lo;0;L;;;;;N;;;;; +132B7;EGYPTIAN HIEROGLYPH R006;Lo;0;L;;;;;N;;;;; +132B8;EGYPTIAN HIEROGLYPH R007;Lo;0;L;;;;;N;;;;; +132B9;EGYPTIAN HIEROGLYPH R008;Lo;0;L;;;;;N;;;;; +132BA;EGYPTIAN HIEROGLYPH R009;Lo;0;L;;;;;N;;;;; +132BB;EGYPTIAN HIEROGLYPH R010;Lo;0;L;;;;;N;;;;; +132BC;EGYPTIAN HIEROGLYPH R010A;Lo;0;L;;;;;N;;;;; +132BD;EGYPTIAN HIEROGLYPH R011;Lo;0;L;;;;;N;;;;; +132BE;EGYPTIAN HIEROGLYPH R012;Lo;0;L;;;;;N;;;;; +132BF;EGYPTIAN HIEROGLYPH R013;Lo;0;L;;;;;N;;;;; +132C0;EGYPTIAN HIEROGLYPH R014;Lo;0;L;;;;;N;;;;; +132C1;EGYPTIAN HIEROGLYPH R015;Lo;0;L;;;;;N;;;;; +132C2;EGYPTIAN HIEROGLYPH R016;Lo;0;L;;;;;N;;;;; +132C3;EGYPTIAN HIEROGLYPH R016A;Lo;0;L;;;;;N;;;;; +132C4;EGYPTIAN HIEROGLYPH R017;Lo;0;L;;;;;N;;;;; +132C5;EGYPTIAN HIEROGLYPH R018;Lo;0;L;;;;;N;;;;; +132C6;EGYPTIAN HIEROGLYPH R019;Lo;0;L;;;;;N;;;;; +132C7;EGYPTIAN HIEROGLYPH R020;Lo;0;L;;;;;N;;;;; +132C8;EGYPTIAN HIEROGLYPH R021;Lo;0;L;;;;;N;;;;; +132C9;EGYPTIAN HIEROGLYPH R022;Lo;0;L;;;;;N;;;;; +132CA;EGYPTIAN HIEROGLYPH R023;Lo;0;L;;;;;N;;;;; +132CB;EGYPTIAN HIEROGLYPH R024;Lo;0;L;;;;;N;;;;; +132CC;EGYPTIAN HIEROGLYPH R025;Lo;0;L;;;;;N;;;;; +132CD;EGYPTIAN HIEROGLYPH R026;Lo;0;L;;;;;N;;;;; +132CE;EGYPTIAN HIEROGLYPH R027;Lo;0;L;;;;;N;;;;; +132CF;EGYPTIAN HIEROGLYPH R028;Lo;0;L;;;;;N;;;;; +132D0;EGYPTIAN HIEROGLYPH R029;Lo;0;L;;;;;N;;;;; +132D1;EGYPTIAN HIEROGLYPH S001;Lo;0;L;;;;;N;;;;; +132D2;EGYPTIAN HIEROGLYPH S002;Lo;0;L;;;;;N;;;;; +132D3;EGYPTIAN HIEROGLYPH S002A;Lo;0;L;;;;;N;;;;; +132D4;EGYPTIAN HIEROGLYPH S003;Lo;0;L;;;;;N;;;;; +132D5;EGYPTIAN HIEROGLYPH S004;Lo;0;L;;;;;N;;;;; +132D6;EGYPTIAN HIEROGLYPH S005;Lo;0;L;;;;;N;;;;; +132D7;EGYPTIAN HIEROGLYPH S006;Lo;0;L;;;;;N;;;;; +132D8;EGYPTIAN HIEROGLYPH S006A;Lo;0;L;;;;;N;;;;; +132D9;EGYPTIAN HIEROGLYPH S007;Lo;0;L;;;;;N;;;;; +132DA;EGYPTIAN HIEROGLYPH S008;Lo;0;L;;;;;N;;;;; +132DB;EGYPTIAN HIEROGLYPH S009;Lo;0;L;;;;;N;;;;; +132DC;EGYPTIAN HIEROGLYPH S010;Lo;0;L;;;;;N;;;;; +132DD;EGYPTIAN HIEROGLYPH S011;Lo;0;L;;;;;N;;;;; +132DE;EGYPTIAN HIEROGLYPH S012;Lo;0;L;;;;;N;;;;; +132DF;EGYPTIAN HIEROGLYPH S013;Lo;0;L;;;;;N;;;;; +132E0;EGYPTIAN HIEROGLYPH S014;Lo;0;L;;;;;N;;;;; +132E1;EGYPTIAN HIEROGLYPH S014A;Lo;0;L;;;;;N;;;;; +132E2;EGYPTIAN HIEROGLYPH S014B;Lo;0;L;;;;;N;;;;; +132E3;EGYPTIAN HIEROGLYPH S015;Lo;0;L;;;;;N;;;;; +132E4;EGYPTIAN HIEROGLYPH S016;Lo;0;L;;;;;N;;;;; +132E5;EGYPTIAN HIEROGLYPH S017;Lo;0;L;;;;;N;;;;; +132E6;EGYPTIAN HIEROGLYPH S017A;Lo;0;L;;;;;N;;;;; +132E7;EGYPTIAN HIEROGLYPH S018;Lo;0;L;;;;;N;;;;; +132E8;EGYPTIAN HIEROGLYPH S019;Lo;0;L;;;;;N;;;;; +132E9;EGYPTIAN HIEROGLYPH S020;Lo;0;L;;;;;N;;;;; +132EA;EGYPTIAN HIEROGLYPH S021;Lo;0;L;;;;;N;;;;; +132EB;EGYPTIAN HIEROGLYPH S022;Lo;0;L;;;;;N;;;;; +132EC;EGYPTIAN HIEROGLYPH S023;Lo;0;L;;;;;N;;;;; +132ED;EGYPTIAN HIEROGLYPH S024;Lo;0;L;;;;;N;;;;; +132EE;EGYPTIAN HIEROGLYPH S025;Lo;0;L;;;;;N;;;;; +132EF;EGYPTIAN HIEROGLYPH S026;Lo;0;L;;;;;N;;;;; +132F0;EGYPTIAN HIEROGLYPH S026A;Lo;0;L;;;;;N;;;;; +132F1;EGYPTIAN HIEROGLYPH S026B;Lo;0;L;;;;;N;;;;; +132F2;EGYPTIAN HIEROGLYPH S027;Lo;0;L;;;;;N;;;;; +132F3;EGYPTIAN HIEROGLYPH S028;Lo;0;L;;;;;N;;;;; +132F4;EGYPTIAN HIEROGLYPH S029;Lo;0;L;;;;;N;;;;; +132F5;EGYPTIAN HIEROGLYPH S030;Lo;0;L;;;;;N;;;;; +132F6;EGYPTIAN HIEROGLYPH S031;Lo;0;L;;;;;N;;;;; +132F7;EGYPTIAN HIEROGLYPH S032;Lo;0;L;;;;;N;;;;; +132F8;EGYPTIAN HIEROGLYPH S033;Lo;0;L;;;;;N;;;;; +132F9;EGYPTIAN HIEROGLYPH S034;Lo;0;L;;;;;N;;;;; +132FA;EGYPTIAN HIEROGLYPH S035;Lo;0;L;;;;;N;;;;; +132FB;EGYPTIAN HIEROGLYPH S035A;Lo;0;L;;;;;N;;;;; +132FC;EGYPTIAN HIEROGLYPH S036;Lo;0;L;;;;;N;;;;; +132FD;EGYPTIAN HIEROGLYPH S037;Lo;0;L;;;;;N;;;;; +132FE;EGYPTIAN HIEROGLYPH S038;Lo;0;L;;;;;N;;;;; +132FF;EGYPTIAN HIEROGLYPH S039;Lo;0;L;;;;;N;;;;; +13300;EGYPTIAN HIEROGLYPH S040;Lo;0;L;;;;;N;;;;; +13301;EGYPTIAN HIEROGLYPH S041;Lo;0;L;;;;;N;;;;; +13302;EGYPTIAN HIEROGLYPH S042;Lo;0;L;;;;;N;;;;; +13303;EGYPTIAN HIEROGLYPH S043;Lo;0;L;;;;;N;;;;; +13304;EGYPTIAN HIEROGLYPH S044;Lo;0;L;;;;;N;;;;; +13305;EGYPTIAN HIEROGLYPH S045;Lo;0;L;;;;;N;;;;; +13306;EGYPTIAN HIEROGLYPH S046;Lo;0;L;;;;;N;;;;; +13307;EGYPTIAN HIEROGLYPH T001;Lo;0;L;;;;;N;;;;; +13308;EGYPTIAN HIEROGLYPH T002;Lo;0;L;;;;;N;;;;; +13309;EGYPTIAN HIEROGLYPH T003;Lo;0;L;;;;;N;;;;; +1330A;EGYPTIAN HIEROGLYPH T003A;Lo;0;L;;;;;N;;;;; +1330B;EGYPTIAN HIEROGLYPH T004;Lo;0;L;;;;;N;;;;; +1330C;EGYPTIAN HIEROGLYPH T005;Lo;0;L;;;;;N;;;;; +1330D;EGYPTIAN HIEROGLYPH T006;Lo;0;L;;;;;N;;;;; +1330E;EGYPTIAN HIEROGLYPH T007;Lo;0;L;;;;;N;;;;; +1330F;EGYPTIAN HIEROGLYPH T007A;Lo;0;L;;;;;N;;;;; +13310;EGYPTIAN HIEROGLYPH T008;Lo;0;L;;;;;N;;;;; +13311;EGYPTIAN HIEROGLYPH T008A;Lo;0;L;;;;;N;;;;; +13312;EGYPTIAN HIEROGLYPH T009;Lo;0;L;;;;;N;;;;; +13313;EGYPTIAN HIEROGLYPH T009A;Lo;0;L;;;;;N;;;;; +13314;EGYPTIAN HIEROGLYPH T010;Lo;0;L;;;;;N;;;;; +13315;EGYPTIAN HIEROGLYPH T011;Lo;0;L;;;;;N;;;;; +13316;EGYPTIAN HIEROGLYPH T011A;Lo;0;L;;;;;N;;;;; +13317;EGYPTIAN HIEROGLYPH T012;Lo;0;L;;;;;N;;;;; +13318;EGYPTIAN HIEROGLYPH T013;Lo;0;L;;;;;N;;;;; +13319;EGYPTIAN HIEROGLYPH T014;Lo;0;L;;;;;N;;;;; +1331A;EGYPTIAN HIEROGLYPH T015;Lo;0;L;;;;;N;;;;; +1331B;EGYPTIAN HIEROGLYPH T016;Lo;0;L;;;;;N;;;;; +1331C;EGYPTIAN HIEROGLYPH T016A;Lo;0;L;;;;;N;;;;; +1331D;EGYPTIAN HIEROGLYPH T017;Lo;0;L;;;;;N;;;;; +1331E;EGYPTIAN HIEROGLYPH T018;Lo;0;L;;;;;N;;;;; +1331F;EGYPTIAN HIEROGLYPH T019;Lo;0;L;;;;;N;;;;; +13320;EGYPTIAN HIEROGLYPH T020;Lo;0;L;;;;;N;;;;; +13321;EGYPTIAN HIEROGLYPH T021;Lo;0;L;;;;;N;;;;; +13322;EGYPTIAN HIEROGLYPH T022;Lo;0;L;;;;;N;;;;; +13323;EGYPTIAN HIEROGLYPH T023;Lo;0;L;;;;;N;;;;; +13324;EGYPTIAN HIEROGLYPH T024;Lo;0;L;;;;;N;;;;; +13325;EGYPTIAN HIEROGLYPH T025;Lo;0;L;;;;;N;;;;; +13326;EGYPTIAN HIEROGLYPH T026;Lo;0;L;;;;;N;;;;; +13327;EGYPTIAN HIEROGLYPH T027;Lo;0;L;;;;;N;;;;; +13328;EGYPTIAN HIEROGLYPH T028;Lo;0;L;;;;;N;;;;; +13329;EGYPTIAN HIEROGLYPH T029;Lo;0;L;;;;;N;;;;; +1332A;EGYPTIAN HIEROGLYPH T030;Lo;0;L;;;;;N;;;;; +1332B;EGYPTIAN HIEROGLYPH T031;Lo;0;L;;;;;N;;;;; +1332C;EGYPTIAN HIEROGLYPH T032;Lo;0;L;;;;;N;;;;; +1332D;EGYPTIAN HIEROGLYPH T032A;Lo;0;L;;;;;N;;;;; +1332E;EGYPTIAN HIEROGLYPH T033;Lo;0;L;;;;;N;;;;; +1332F;EGYPTIAN HIEROGLYPH T033A;Lo;0;L;;;;;N;;;;; +13330;EGYPTIAN HIEROGLYPH T034;Lo;0;L;;;;;N;;;;; +13331;EGYPTIAN HIEROGLYPH T035;Lo;0;L;;;;;N;;;;; +13332;EGYPTIAN HIEROGLYPH T036;Lo;0;L;;;;;N;;;;; +13333;EGYPTIAN HIEROGLYPH U001;Lo;0;L;;;;;N;;;;; +13334;EGYPTIAN HIEROGLYPH U002;Lo;0;L;;;;;N;;;;; +13335;EGYPTIAN HIEROGLYPH U003;Lo;0;L;;;;;N;;;;; +13336;EGYPTIAN HIEROGLYPH U004;Lo;0;L;;;;;N;;;;; +13337;EGYPTIAN HIEROGLYPH U005;Lo;0;L;;;;;N;;;;; +13338;EGYPTIAN HIEROGLYPH U006;Lo;0;L;;;;;N;;;;; +13339;EGYPTIAN HIEROGLYPH U006A;Lo;0;L;;;;;N;;;;; +1333A;EGYPTIAN HIEROGLYPH U006B;Lo;0;L;;;;;N;;;;; +1333B;EGYPTIAN HIEROGLYPH U007;Lo;0;L;;;;;N;;;;; +1333C;EGYPTIAN HIEROGLYPH U008;Lo;0;L;;;;;N;;;;; +1333D;EGYPTIAN HIEROGLYPH U009;Lo;0;L;;;;;N;;;;; +1333E;EGYPTIAN HIEROGLYPH U010;Lo;0;L;;;;;N;;;;; +1333F;EGYPTIAN HIEROGLYPH U011;Lo;0;L;;;;;N;;;;; +13340;EGYPTIAN HIEROGLYPH U012;Lo;0;L;;;;;N;;;;; +13341;EGYPTIAN HIEROGLYPH U013;Lo;0;L;;;;;N;;;;; +13342;EGYPTIAN HIEROGLYPH U014;Lo;0;L;;;;;N;;;;; +13343;EGYPTIAN HIEROGLYPH U015;Lo;0;L;;;;;N;;;;; +13344;EGYPTIAN HIEROGLYPH U016;Lo;0;L;;;;;N;;;;; +13345;EGYPTIAN HIEROGLYPH U017;Lo;0;L;;;;;N;;;;; +13346;EGYPTIAN HIEROGLYPH U018;Lo;0;L;;;;;N;;;;; +13347;EGYPTIAN HIEROGLYPH U019;Lo;0;L;;;;;N;;;;; +13348;EGYPTIAN HIEROGLYPH U020;Lo;0;L;;;;;N;;;;; +13349;EGYPTIAN HIEROGLYPH U021;Lo;0;L;;;;;N;;;;; +1334A;EGYPTIAN HIEROGLYPH U022;Lo;0;L;;;;;N;;;;; +1334B;EGYPTIAN HIEROGLYPH U023;Lo;0;L;;;;;N;;;;; +1334C;EGYPTIAN HIEROGLYPH U023A;Lo;0;L;;;;;N;;;;; +1334D;EGYPTIAN HIEROGLYPH U024;Lo;0;L;;;;;N;;;;; +1334E;EGYPTIAN HIEROGLYPH U025;Lo;0;L;;;;;N;;;;; +1334F;EGYPTIAN HIEROGLYPH U026;Lo;0;L;;;;;N;;;;; +13350;EGYPTIAN HIEROGLYPH U027;Lo;0;L;;;;;N;;;;; +13351;EGYPTIAN HIEROGLYPH U028;Lo;0;L;;;;;N;;;;; +13352;EGYPTIAN HIEROGLYPH U029;Lo;0;L;;;;;N;;;;; +13353;EGYPTIAN HIEROGLYPH U029A;Lo;0;L;;;;;N;;;;; +13354;EGYPTIAN HIEROGLYPH U030;Lo;0;L;;;;;N;;;;; +13355;EGYPTIAN HIEROGLYPH U031;Lo;0;L;;;;;N;;;;; +13356;EGYPTIAN HIEROGLYPH U032;Lo;0;L;;;;;N;;;;; +13357;EGYPTIAN HIEROGLYPH U032A;Lo;0;L;;;;;N;;;;; +13358;EGYPTIAN HIEROGLYPH U033;Lo;0;L;;;;;N;;;;; +13359;EGYPTIAN HIEROGLYPH U034;Lo;0;L;;;;;N;;;;; +1335A;EGYPTIAN HIEROGLYPH U035;Lo;0;L;;;;;N;;;;; +1335B;EGYPTIAN HIEROGLYPH U036;Lo;0;L;;;;;N;;;;; +1335C;EGYPTIAN HIEROGLYPH U037;Lo;0;L;;;;;N;;;;; +1335D;EGYPTIAN HIEROGLYPH U038;Lo;0;L;;;;;N;;;;; +1335E;EGYPTIAN HIEROGLYPH U039;Lo;0;L;;;;;N;;;;; +1335F;EGYPTIAN HIEROGLYPH U040;Lo;0;L;;;;;N;;;;; +13360;EGYPTIAN HIEROGLYPH U041;Lo;0;L;;;;;N;;;;; +13361;EGYPTIAN HIEROGLYPH U042;Lo;0;L;;;;;N;;;;; +13362;EGYPTIAN HIEROGLYPH V001;Lo;0;L;;;;;N;;;;; +13363;EGYPTIAN HIEROGLYPH V001A;Lo;0;L;;;;;N;;;;; +13364;EGYPTIAN HIEROGLYPH V001B;Lo;0;L;;;;;N;;;;; +13365;EGYPTIAN HIEROGLYPH V001C;Lo;0;L;;;;;N;;;;; +13366;EGYPTIAN HIEROGLYPH V001D;Lo;0;L;;;;;N;;;;; +13367;EGYPTIAN HIEROGLYPH V001E;Lo;0;L;;;;;N;;;;; +13368;EGYPTIAN HIEROGLYPH V001F;Lo;0;L;;;;;N;;;;; +13369;EGYPTIAN HIEROGLYPH V001G;Lo;0;L;;;;;N;;;;; +1336A;EGYPTIAN HIEROGLYPH V001H;Lo;0;L;;;;;N;;;;; +1336B;EGYPTIAN HIEROGLYPH V001I;Lo;0;L;;;;;N;;;;; +1336C;EGYPTIAN HIEROGLYPH V002;Lo;0;L;;;;;N;;;;; +1336D;EGYPTIAN HIEROGLYPH V002A;Lo;0;L;;;;;N;;;;; +1336E;EGYPTIAN HIEROGLYPH V003;Lo;0;L;;;;;N;;;;; +1336F;EGYPTIAN HIEROGLYPH V004;Lo;0;L;;;;;N;;;;; +13370;EGYPTIAN HIEROGLYPH V005;Lo;0;L;;;;;N;;;;; +13371;EGYPTIAN HIEROGLYPH V006;Lo;0;L;;;;;N;;;;; +13372;EGYPTIAN HIEROGLYPH V007;Lo;0;L;;;;;N;;;;; +13373;EGYPTIAN HIEROGLYPH V007A;Lo;0;L;;;;;N;;;;; +13374;EGYPTIAN HIEROGLYPH V007B;Lo;0;L;;;;;N;;;;; +13375;EGYPTIAN HIEROGLYPH V008;Lo;0;L;;;;;N;;;;; +13376;EGYPTIAN HIEROGLYPH V009;Lo;0;L;;;;;N;;;;; +13377;EGYPTIAN HIEROGLYPH V010;Lo;0;L;;;;;N;;;;; +13378;EGYPTIAN HIEROGLYPH V011;Lo;0;L;;;;;N;;;;; +13379;EGYPTIAN HIEROGLYPH V011A;Lo;0;L;;;;;N;;;;; +1337A;EGYPTIAN HIEROGLYPH V011B;Lo;0;L;;;;;N;;;;; +1337B;EGYPTIAN HIEROGLYPH V011C;Lo;0;L;;;;;N;;;;; +1337C;EGYPTIAN HIEROGLYPH V012;Lo;0;L;;;;;N;;;;; +1337D;EGYPTIAN HIEROGLYPH V012A;Lo;0;L;;;;;N;;;;; +1337E;EGYPTIAN HIEROGLYPH V012B;Lo;0;L;;;;;N;;;;; +1337F;EGYPTIAN HIEROGLYPH V013;Lo;0;L;;;;;N;;;;; +13380;EGYPTIAN HIEROGLYPH V014;Lo;0;L;;;;;N;;;;; +13381;EGYPTIAN HIEROGLYPH V015;Lo;0;L;;;;;N;;;;; +13382;EGYPTIAN HIEROGLYPH V016;Lo;0;L;;;;;N;;;;; +13383;EGYPTIAN HIEROGLYPH V017;Lo;0;L;;;;;N;;;;; +13384;EGYPTIAN HIEROGLYPH V018;Lo;0;L;;;;;N;;;;; +13385;EGYPTIAN HIEROGLYPH V019;Lo;0;L;;;;;N;;;;; +13386;EGYPTIAN HIEROGLYPH V020;Lo;0;L;;;;;N;;;;; +13387;EGYPTIAN HIEROGLYPH V020A;Lo;0;L;;;;;N;;;;; +13388;EGYPTIAN HIEROGLYPH V020B;Lo;0;L;;;;;N;;;;; +13389;EGYPTIAN HIEROGLYPH V020C;Lo;0;L;;;;;N;;;;; +1338A;EGYPTIAN HIEROGLYPH V020D;Lo;0;L;;;;;N;;;;; +1338B;EGYPTIAN HIEROGLYPH V020E;Lo;0;L;;;;;N;;;;; +1338C;EGYPTIAN HIEROGLYPH V020F;Lo;0;L;;;;;N;;;;; +1338D;EGYPTIAN HIEROGLYPH V020G;Lo;0;L;;;;;N;;;;; +1338E;EGYPTIAN HIEROGLYPH V020H;Lo;0;L;;;;;N;;;;; +1338F;EGYPTIAN HIEROGLYPH V020I;Lo;0;L;;;;;N;;;;; +13390;EGYPTIAN HIEROGLYPH V020J;Lo;0;L;;;;;N;;;;; +13391;EGYPTIAN HIEROGLYPH V020K;Lo;0;L;;;;;N;;;;; +13392;EGYPTIAN HIEROGLYPH V020L;Lo;0;L;;;;;N;;;;; +13393;EGYPTIAN HIEROGLYPH V021;Lo;0;L;;;;;N;;;;; +13394;EGYPTIAN HIEROGLYPH V022;Lo;0;L;;;;;N;;;;; +13395;EGYPTIAN HIEROGLYPH V023;Lo;0;L;;;;;N;;;;; +13396;EGYPTIAN HIEROGLYPH V023A;Lo;0;L;;;;;N;;;;; +13397;EGYPTIAN HIEROGLYPH V024;Lo;0;L;;;;;N;;;;; +13398;EGYPTIAN HIEROGLYPH V025;Lo;0;L;;;;;N;;;;; +13399;EGYPTIAN HIEROGLYPH V026;Lo;0;L;;;;;N;;;;; +1339A;EGYPTIAN HIEROGLYPH V027;Lo;0;L;;;;;N;;;;; +1339B;EGYPTIAN HIEROGLYPH V028;Lo;0;L;;;;;N;;;;; +1339C;EGYPTIAN HIEROGLYPH V028A;Lo;0;L;;;;;N;;;;; +1339D;EGYPTIAN HIEROGLYPH V029;Lo;0;L;;;;;N;;;;; +1339E;EGYPTIAN HIEROGLYPH V029A;Lo;0;L;;;;;N;;;;; +1339F;EGYPTIAN HIEROGLYPH V030;Lo;0;L;;;;;N;;;;; +133A0;EGYPTIAN HIEROGLYPH V030A;Lo;0;L;;;;;N;;;;; +133A1;EGYPTIAN HIEROGLYPH V031;Lo;0;L;;;;;N;;;;; +133A2;EGYPTIAN HIEROGLYPH V031A;Lo;0;L;;;;;N;;;;; +133A3;EGYPTIAN HIEROGLYPH V032;Lo;0;L;;;;;N;;;;; +133A4;EGYPTIAN HIEROGLYPH V033;Lo;0;L;;;;;N;;;;; +133A5;EGYPTIAN HIEROGLYPH V033A;Lo;0;L;;;;;N;;;;; +133A6;EGYPTIAN HIEROGLYPH V034;Lo;0;L;;;;;N;;;;; +133A7;EGYPTIAN HIEROGLYPH V035;Lo;0;L;;;;;N;;;;; +133A8;EGYPTIAN HIEROGLYPH V036;Lo;0;L;;;;;N;;;;; +133A9;EGYPTIAN HIEROGLYPH V037;Lo;0;L;;;;;N;;;;; +133AA;EGYPTIAN HIEROGLYPH V037A;Lo;0;L;;;;;N;;;;; +133AB;EGYPTIAN HIEROGLYPH V038;Lo;0;L;;;;;N;;;;; +133AC;EGYPTIAN HIEROGLYPH V039;Lo;0;L;;;;;N;;;;; +133AD;EGYPTIAN HIEROGLYPH V040;Lo;0;L;;;;;N;;;;; +133AE;EGYPTIAN HIEROGLYPH V040A;Lo;0;L;;;;;N;;;;; +133AF;EGYPTIAN HIEROGLYPH W001;Lo;0;L;;;;;N;;;;; +133B0;EGYPTIAN HIEROGLYPH W002;Lo;0;L;;;;;N;;;;; +133B1;EGYPTIAN HIEROGLYPH W003;Lo;0;L;;;;;N;;;;; +133B2;EGYPTIAN HIEROGLYPH W003A;Lo;0;L;;;;;N;;;;; +133B3;EGYPTIAN HIEROGLYPH W004;Lo;0;L;;;;;N;;;;; +133B4;EGYPTIAN HIEROGLYPH W005;Lo;0;L;;;;;N;;;;; +133B5;EGYPTIAN HIEROGLYPH W006;Lo;0;L;;;;;N;;;;; +133B6;EGYPTIAN HIEROGLYPH W007;Lo;0;L;;;;;N;;;;; +133B7;EGYPTIAN HIEROGLYPH W008;Lo;0;L;;;;;N;;;;; +133B8;EGYPTIAN HIEROGLYPH W009;Lo;0;L;;;;;N;;;;; +133B9;EGYPTIAN HIEROGLYPH W009A;Lo;0;L;;;;;N;;;;; +133BA;EGYPTIAN HIEROGLYPH W010;Lo;0;L;;;;;N;;;;; +133BB;EGYPTIAN HIEROGLYPH W010A;Lo;0;L;;;;;N;;;;; +133BC;EGYPTIAN HIEROGLYPH W011;Lo;0;L;;;;;N;;;;; +133BD;EGYPTIAN HIEROGLYPH W012;Lo;0;L;;;;;N;;;;; +133BE;EGYPTIAN HIEROGLYPH W013;Lo;0;L;;;;;N;;;;; +133BF;EGYPTIAN HIEROGLYPH W014;Lo;0;L;;;;;N;;;;; +133C0;EGYPTIAN HIEROGLYPH W014A;Lo;0;L;;;;;N;;;;; +133C1;EGYPTIAN HIEROGLYPH W015;Lo;0;L;;;;;N;;;;; +133C2;EGYPTIAN HIEROGLYPH W016;Lo;0;L;;;;;N;;;;; +133C3;EGYPTIAN HIEROGLYPH W017;Lo;0;L;;;;;N;;;;; +133C4;EGYPTIAN HIEROGLYPH W017A;Lo;0;L;;;;;N;;;;; +133C5;EGYPTIAN HIEROGLYPH W018;Lo;0;L;;;;;N;;;;; +133C6;EGYPTIAN HIEROGLYPH W018A;Lo;0;L;;;;;N;;;;; +133C7;EGYPTIAN HIEROGLYPH W019;Lo;0;L;;;;;N;;;;; +133C8;EGYPTIAN HIEROGLYPH W020;Lo;0;L;;;;;N;;;;; +133C9;EGYPTIAN HIEROGLYPH W021;Lo;0;L;;;;;N;;;;; +133CA;EGYPTIAN HIEROGLYPH W022;Lo;0;L;;;;;N;;;;; +133CB;EGYPTIAN HIEROGLYPH W023;Lo;0;L;;;;;N;;;;; +133CC;EGYPTIAN HIEROGLYPH W024;Lo;0;L;;;;;N;;;;; +133CD;EGYPTIAN HIEROGLYPH W024A;Lo;0;L;;;;;N;;;;; +133CE;EGYPTIAN HIEROGLYPH W025;Lo;0;L;;;;;N;;;;; +133CF;EGYPTIAN HIEROGLYPH X001;Lo;0;L;;;;;N;;;;; +133D0;EGYPTIAN HIEROGLYPH X002;Lo;0;L;;;;;N;;;;; +133D1;EGYPTIAN HIEROGLYPH X003;Lo;0;L;;;;;N;;;;; +133D2;EGYPTIAN HIEROGLYPH X004;Lo;0;L;;;;;N;;;;; +133D3;EGYPTIAN HIEROGLYPH X004A;Lo;0;L;;;;;N;;;;; +133D4;EGYPTIAN HIEROGLYPH X004B;Lo;0;L;;;;;N;;;;; +133D5;EGYPTIAN HIEROGLYPH X005;Lo;0;L;;;;;N;;;;; +133D6;EGYPTIAN HIEROGLYPH X006;Lo;0;L;;;;;N;;;;; +133D7;EGYPTIAN HIEROGLYPH X006A;Lo;0;L;;;;;N;;;;; +133D8;EGYPTIAN HIEROGLYPH X007;Lo;0;L;;;;;N;;;;; +133D9;EGYPTIAN HIEROGLYPH X008;Lo;0;L;;;;;N;;;;; +133DA;EGYPTIAN HIEROGLYPH X008A;Lo;0;L;;;;;N;;;;; +133DB;EGYPTIAN HIEROGLYPH Y001;Lo;0;L;;;;;N;;;;; +133DC;EGYPTIAN HIEROGLYPH Y001A;Lo;0;L;;;;;N;;;;; +133DD;EGYPTIAN HIEROGLYPH Y002;Lo;0;L;;;;;N;;;;; +133DE;EGYPTIAN HIEROGLYPH Y003;Lo;0;L;;;;;N;;;;; +133DF;EGYPTIAN HIEROGLYPH Y004;Lo;0;L;;;;;N;;;;; +133E0;EGYPTIAN HIEROGLYPH Y005;Lo;0;L;;;;;N;;;;; +133E1;EGYPTIAN HIEROGLYPH Y006;Lo;0;L;;;;;N;;;;; +133E2;EGYPTIAN HIEROGLYPH Y007;Lo;0;L;;;;;N;;;;; +133E3;EGYPTIAN HIEROGLYPH Y008;Lo;0;L;;;;;N;;;;; +133E4;EGYPTIAN HIEROGLYPH Z001;Lo;0;L;;;;;N;;;;; +133E5;EGYPTIAN HIEROGLYPH Z002;Lo;0;L;;;;;N;;;;; +133E6;EGYPTIAN HIEROGLYPH Z002A;Lo;0;L;;;;;N;;;;; +133E7;EGYPTIAN HIEROGLYPH Z002B;Lo;0;L;;;;;N;;;;; +133E8;EGYPTIAN HIEROGLYPH Z002C;Lo;0;L;;;;;N;;;;; +133E9;EGYPTIAN HIEROGLYPH Z002D;Lo;0;L;;;;;N;;;;; +133EA;EGYPTIAN HIEROGLYPH Z003;Lo;0;L;;;;;N;;;;; +133EB;EGYPTIAN HIEROGLYPH Z003A;Lo;0;L;;;;;N;;;;; +133EC;EGYPTIAN HIEROGLYPH Z003B;Lo;0;L;;;;;N;;;;; +133ED;EGYPTIAN HIEROGLYPH Z004;Lo;0;L;;;;;N;;;;; +133EE;EGYPTIAN HIEROGLYPH Z004A;Lo;0;L;;;;;N;;;;; +133EF;EGYPTIAN HIEROGLYPH Z005;Lo;0;L;;;;;N;;;;; +133F0;EGYPTIAN HIEROGLYPH Z005A;Lo;0;L;;;;;N;;;;; +133F1;EGYPTIAN HIEROGLYPH Z006;Lo;0;L;;;;;N;;;;; +133F2;EGYPTIAN HIEROGLYPH Z007;Lo;0;L;;;;;N;;;;; +133F3;EGYPTIAN HIEROGLYPH Z008;Lo;0;L;;;;;N;;;;; +133F4;EGYPTIAN HIEROGLYPH Z009;Lo;0;L;;;;;N;;;;; +133F5;EGYPTIAN HIEROGLYPH Z010;Lo;0;L;;;;;N;;;;; +133F6;EGYPTIAN HIEROGLYPH Z011;Lo;0;L;;;;;N;;;;; +133F7;EGYPTIAN HIEROGLYPH Z012;Lo;0;L;;;;;N;;;;; +133F8;EGYPTIAN HIEROGLYPH Z013;Lo;0;L;;;;;N;;;;; +133F9;EGYPTIAN HIEROGLYPH Z014;Lo;0;L;;;;;N;;;;; +133FA;EGYPTIAN HIEROGLYPH Z015;Lo;0;L;;;;;N;;;;; +133FB;EGYPTIAN HIEROGLYPH Z015A;Lo;0;L;;;;;N;;;;; +133FC;EGYPTIAN HIEROGLYPH Z015B;Lo;0;L;;;;;N;;;;; +133FD;EGYPTIAN HIEROGLYPH Z015C;Lo;0;L;;;;;N;;;;; +133FE;EGYPTIAN HIEROGLYPH Z015D;Lo;0;L;;;;;N;;;;; +133FF;EGYPTIAN HIEROGLYPH Z015E;Lo;0;L;;;;;N;;;;; +13400;EGYPTIAN HIEROGLYPH Z015F;Lo;0;L;;;;;N;;;;; +13401;EGYPTIAN HIEROGLYPH Z015G;Lo;0;L;;;;;N;;;;; +13402;EGYPTIAN HIEROGLYPH Z015H;Lo;0;L;;;;;N;;;;; +13403;EGYPTIAN HIEROGLYPH Z015I;Lo;0;L;;;;;N;;;;; +13404;EGYPTIAN HIEROGLYPH Z016;Lo;0;L;;;;;N;;;;; +13405;EGYPTIAN HIEROGLYPH Z016A;Lo;0;L;;;;;N;;;;; +13406;EGYPTIAN HIEROGLYPH Z016B;Lo;0;L;;;;;N;;;;; +13407;EGYPTIAN HIEROGLYPH Z016C;Lo;0;L;;;;;N;;;;; +13408;EGYPTIAN HIEROGLYPH Z016D;Lo;0;L;;;;;N;;;;; +13409;EGYPTIAN HIEROGLYPH Z016E;Lo;0;L;;;;;N;;;;; +1340A;EGYPTIAN HIEROGLYPH Z016F;Lo;0;L;;;;;N;;;;; +1340B;EGYPTIAN HIEROGLYPH Z016G;Lo;0;L;;;;;N;;;;; +1340C;EGYPTIAN HIEROGLYPH Z016H;Lo;0;L;;;;;N;;;;; +1340D;EGYPTIAN HIEROGLYPH AA001;Lo;0;L;;;;;N;;;;; +1340E;EGYPTIAN HIEROGLYPH AA002;Lo;0;L;;;;;N;;;;; +1340F;EGYPTIAN HIEROGLYPH AA003;Lo;0;L;;;;;N;;;;; +13410;EGYPTIAN HIEROGLYPH AA004;Lo;0;L;;;;;N;;;;; +13411;EGYPTIAN HIEROGLYPH AA005;Lo;0;L;;;;;N;;;;; +13412;EGYPTIAN HIEROGLYPH AA006;Lo;0;L;;;;;N;;;;; +13413;EGYPTIAN HIEROGLYPH AA007;Lo;0;L;;;;;N;;;;; +13414;EGYPTIAN HIEROGLYPH AA007A;Lo;0;L;;;;;N;;;;; +13415;EGYPTIAN HIEROGLYPH AA007B;Lo;0;L;;;;;N;;;;; +13416;EGYPTIAN HIEROGLYPH AA008;Lo;0;L;;;;;N;;;;; +13417;EGYPTIAN HIEROGLYPH AA009;Lo;0;L;;;;;N;;;;; +13418;EGYPTIAN HIEROGLYPH AA010;Lo;0;L;;;;;N;;;;; +13419;EGYPTIAN HIEROGLYPH AA011;Lo;0;L;;;;;N;;;;; +1341A;EGYPTIAN HIEROGLYPH AA012;Lo;0;L;;;;;N;;;;; +1341B;EGYPTIAN HIEROGLYPH AA013;Lo;0;L;;;;;N;;;;; +1341C;EGYPTIAN HIEROGLYPH AA014;Lo;0;L;;;;;N;;;;; +1341D;EGYPTIAN HIEROGLYPH AA015;Lo;0;L;;;;;N;;;;; +1341E;EGYPTIAN HIEROGLYPH AA016;Lo;0;L;;;;;N;;;;; +1341F;EGYPTIAN HIEROGLYPH AA017;Lo;0;L;;;;;N;;;;; +13420;EGYPTIAN HIEROGLYPH AA018;Lo;0;L;;;;;N;;;;; +13421;EGYPTIAN HIEROGLYPH AA019;Lo;0;L;;;;;N;;;;; +13422;EGYPTIAN HIEROGLYPH AA020;Lo;0;L;;;;;N;;;;; +13423;EGYPTIAN HIEROGLYPH AA021;Lo;0;L;;;;;N;;;;; +13424;EGYPTIAN HIEROGLYPH AA022;Lo;0;L;;;;;N;;;;; +13425;EGYPTIAN HIEROGLYPH AA023;Lo;0;L;;;;;N;;;;; +13426;EGYPTIAN HIEROGLYPH AA024;Lo;0;L;;;;;N;;;;; +13427;EGYPTIAN HIEROGLYPH AA025;Lo;0;L;;;;;N;;;;; +13428;EGYPTIAN HIEROGLYPH AA026;Lo;0;L;;;;;N;;;;; +13429;EGYPTIAN HIEROGLYPH AA027;Lo;0;L;;;;;N;;;;; +1342A;EGYPTIAN HIEROGLYPH AA028;Lo;0;L;;;;;N;;;;; +1342B;EGYPTIAN HIEROGLYPH AA029;Lo;0;L;;;;;N;;;;; +1342C;EGYPTIAN HIEROGLYPH AA030;Lo;0;L;;;;;N;;;;; +1342D;EGYPTIAN HIEROGLYPH AA031;Lo;0;L;;;;;N;;;;; +1342E;EGYPTIAN HIEROGLYPH AA032;Lo;0;L;;;;;N;;;;; +13430;EGYPTIAN HIEROGLYPH VERTICAL JOINER;Cf;0;L;;;;;N;;;;; +13431;EGYPTIAN HIEROGLYPH HORIZONTAL JOINER;Cf;0;L;;;;;N;;;;; +13432;EGYPTIAN HIEROGLYPH INSERT AT TOP START;Cf;0;L;;;;;N;;;;; +13433;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM START;Cf;0;L;;;;;N;;;;; +13434;EGYPTIAN HIEROGLYPH INSERT AT TOP END;Cf;0;L;;;;;N;;;;; +13435;EGYPTIAN HIEROGLYPH INSERT AT BOTTOM END;Cf;0;L;;;;;N;;;;; +13436;EGYPTIAN HIEROGLYPH OVERLAY MIDDLE;Cf;0;L;;;;;N;;;;; +13437;EGYPTIAN HIEROGLYPH BEGIN SEGMENT;Cf;0;L;;;;;N;;;;; +13438;EGYPTIAN HIEROGLYPH END SEGMENT;Cf;0;L;;;;;N;;;;; +14400;ANATOLIAN HIEROGLYPH A001;Lo;0;L;;;;;N;;;;; +14401;ANATOLIAN HIEROGLYPH A002;Lo;0;L;;;;;N;;;;; +14402;ANATOLIAN HIEROGLYPH A003;Lo;0;L;;;;;N;;;;; +14403;ANATOLIAN HIEROGLYPH A004;Lo;0;L;;;;;N;;;;; +14404;ANATOLIAN HIEROGLYPH A005;Lo;0;L;;;;;N;;;;; +14405;ANATOLIAN HIEROGLYPH A006;Lo;0;L;;;;;N;;;;; +14406;ANATOLIAN HIEROGLYPH A007;Lo;0;L;;;;;N;;;;; +14407;ANATOLIAN HIEROGLYPH A008;Lo;0;L;;;;;N;;;;; +14408;ANATOLIAN HIEROGLYPH A009;Lo;0;L;;;;;N;;;;; +14409;ANATOLIAN HIEROGLYPH A010;Lo;0;L;;;;;N;;;;; +1440A;ANATOLIAN HIEROGLYPH A010A;Lo;0;L;;;;;N;;;;; +1440B;ANATOLIAN HIEROGLYPH A011;Lo;0;L;;;;;N;;;;; +1440C;ANATOLIAN HIEROGLYPH A012;Lo;0;L;;;;;N;;;;; +1440D;ANATOLIAN HIEROGLYPH A013;Lo;0;L;;;;;N;;;;; +1440E;ANATOLIAN HIEROGLYPH A014;Lo;0;L;;;;;N;;;;; +1440F;ANATOLIAN HIEROGLYPH A015;Lo;0;L;;;;;N;;;;; +14410;ANATOLIAN HIEROGLYPH A016;Lo;0;L;;;;;N;;;;; +14411;ANATOLIAN HIEROGLYPH A017;Lo;0;L;;;;;N;;;;; +14412;ANATOLIAN HIEROGLYPH A018;Lo;0;L;;;;;N;;;;; +14413;ANATOLIAN HIEROGLYPH A019;Lo;0;L;;;;;N;;;;; +14414;ANATOLIAN HIEROGLYPH A020;Lo;0;L;;;;;N;;;;; +14415;ANATOLIAN HIEROGLYPH A021;Lo;0;L;;;;;N;;;;; +14416;ANATOLIAN HIEROGLYPH A022;Lo;0;L;;;;;N;;;;; +14417;ANATOLIAN HIEROGLYPH A023;Lo;0;L;;;;;N;;;;; +14418;ANATOLIAN HIEROGLYPH A024;Lo;0;L;;;;;N;;;;; +14419;ANATOLIAN HIEROGLYPH A025;Lo;0;L;;;;;N;;;;; +1441A;ANATOLIAN HIEROGLYPH A026;Lo;0;L;;;;;N;;;;; +1441B;ANATOLIAN HIEROGLYPH A026A;Lo;0;L;;;;;N;;;;; +1441C;ANATOLIAN HIEROGLYPH A027;Lo;0;L;;;;;N;;;;; +1441D;ANATOLIAN HIEROGLYPH A028;Lo;0;L;;;;;N;;;;; +1441E;ANATOLIAN HIEROGLYPH A029;Lo;0;L;;;;;N;;;;; +1441F;ANATOLIAN HIEROGLYPH A030;Lo;0;L;;;;;N;;;;; +14420;ANATOLIAN HIEROGLYPH A031;Lo;0;L;;;;;N;;;;; +14421;ANATOLIAN HIEROGLYPH A032;Lo;0;L;;;;;N;;;;; +14422;ANATOLIAN HIEROGLYPH A033;Lo;0;L;;;;;N;;;;; +14423;ANATOLIAN HIEROGLYPH A034;Lo;0;L;;;;;N;;;;; +14424;ANATOLIAN HIEROGLYPH A035;Lo;0;L;;;;;N;;;;; +14425;ANATOLIAN HIEROGLYPH A036;Lo;0;L;;;;;N;;;;; +14426;ANATOLIAN HIEROGLYPH A037;Lo;0;L;;;;;N;;;;; +14427;ANATOLIAN HIEROGLYPH A038;Lo;0;L;;;;;N;;;;; +14428;ANATOLIAN HIEROGLYPH A039;Lo;0;L;;;;;N;;;;; +14429;ANATOLIAN HIEROGLYPH A039A;Lo;0;L;;;;;N;;;;; +1442A;ANATOLIAN HIEROGLYPH A040;Lo;0;L;;;;;N;;;;; +1442B;ANATOLIAN HIEROGLYPH A041;Lo;0;L;;;;;N;;;;; +1442C;ANATOLIAN HIEROGLYPH A041A;Lo;0;L;;;;;N;;;;; +1442D;ANATOLIAN HIEROGLYPH A042;Lo;0;L;;;;;N;;;;; +1442E;ANATOLIAN HIEROGLYPH A043;Lo;0;L;;;;;N;;;;; +1442F;ANATOLIAN HIEROGLYPH A044;Lo;0;L;;;;;N;;;;; +14430;ANATOLIAN HIEROGLYPH A045;Lo;0;L;;;;;N;;;;; +14431;ANATOLIAN HIEROGLYPH A045A;Lo;0;L;;;;;N;;;;; +14432;ANATOLIAN HIEROGLYPH A046;Lo;0;L;;;;;N;;;;; +14433;ANATOLIAN HIEROGLYPH A046A;Lo;0;L;;;;;N;;;;; +14434;ANATOLIAN HIEROGLYPH A046B;Lo;0;L;;;;;N;;;;; +14435;ANATOLIAN HIEROGLYPH A047;Lo;0;L;;;;;N;;;;; +14436;ANATOLIAN HIEROGLYPH A048;Lo;0;L;;;;;N;;;;; +14437;ANATOLIAN HIEROGLYPH A049;Lo;0;L;;;;;N;;;;; +14438;ANATOLIAN HIEROGLYPH A050;Lo;0;L;;;;;N;;;;; +14439;ANATOLIAN HIEROGLYPH A051;Lo;0;L;;;;;N;;;;; +1443A;ANATOLIAN HIEROGLYPH A052;Lo;0;L;;;;;N;;;;; +1443B;ANATOLIAN HIEROGLYPH A053;Lo;0;L;;;;;N;;;;; +1443C;ANATOLIAN HIEROGLYPH A054;Lo;0;L;;;;;N;;;;; +1443D;ANATOLIAN HIEROGLYPH A055;Lo;0;L;;;;;N;;;;; +1443E;ANATOLIAN HIEROGLYPH A056;Lo;0;L;;;;;N;;;;; +1443F;ANATOLIAN HIEROGLYPH A057;Lo;0;L;;;;;N;;;;; +14440;ANATOLIAN HIEROGLYPH A058;Lo;0;L;;;;;N;;;;; +14441;ANATOLIAN HIEROGLYPH A059;Lo;0;L;;;;;N;;;;; +14442;ANATOLIAN HIEROGLYPH A060;Lo;0;L;;;;;N;;;;; +14443;ANATOLIAN HIEROGLYPH A061;Lo;0;L;;;;;N;;;;; +14444;ANATOLIAN HIEROGLYPH A062;Lo;0;L;;;;;N;;;;; +14445;ANATOLIAN HIEROGLYPH A063;Lo;0;L;;;;;N;;;;; +14446;ANATOLIAN HIEROGLYPH A064;Lo;0;L;;;;;N;;;;; +14447;ANATOLIAN HIEROGLYPH A065;Lo;0;L;;;;;N;;;;; +14448;ANATOLIAN HIEROGLYPH A066;Lo;0;L;;;;;N;;;;; +14449;ANATOLIAN HIEROGLYPH A066A;Lo;0;L;;;;;N;;;;; +1444A;ANATOLIAN HIEROGLYPH A066B;Lo;0;L;;;;;N;;;;; +1444B;ANATOLIAN HIEROGLYPH A066C;Lo;0;L;;;;;N;;;;; +1444C;ANATOLIAN HIEROGLYPH A067;Lo;0;L;;;;;N;;;;; +1444D;ANATOLIAN HIEROGLYPH A068;Lo;0;L;;;;;N;;;;; +1444E;ANATOLIAN HIEROGLYPH A069;Lo;0;L;;;;;N;;;;; +1444F;ANATOLIAN HIEROGLYPH A070;Lo;0;L;;;;;N;;;;; +14450;ANATOLIAN HIEROGLYPH A071;Lo;0;L;;;;;N;;;;; +14451;ANATOLIAN HIEROGLYPH A072;Lo;0;L;;;;;N;;;;; +14452;ANATOLIAN HIEROGLYPH A073;Lo;0;L;;;;;N;;;;; +14453;ANATOLIAN HIEROGLYPH A074;Lo;0;L;;;;;N;;;;; +14454;ANATOLIAN HIEROGLYPH A075;Lo;0;L;;;;;N;;;;; +14455;ANATOLIAN HIEROGLYPH A076;Lo;0;L;;;;;N;;;;; +14456;ANATOLIAN HIEROGLYPH A077;Lo;0;L;;;;;N;;;;; +14457;ANATOLIAN HIEROGLYPH A078;Lo;0;L;;;;;N;;;;; +14458;ANATOLIAN HIEROGLYPH A079;Lo;0;L;;;;;N;;;;; +14459;ANATOLIAN HIEROGLYPH A080;Lo;0;L;;;;;N;;;;; +1445A;ANATOLIAN HIEROGLYPH A081;Lo;0;L;;;;;N;;;;; +1445B;ANATOLIAN HIEROGLYPH A082;Lo;0;L;;;;;N;;;;; +1445C;ANATOLIAN HIEROGLYPH A083;Lo;0;L;;;;;N;;;;; +1445D;ANATOLIAN HIEROGLYPH A084;Lo;0;L;;;;;N;;;;; +1445E;ANATOLIAN HIEROGLYPH A085;Lo;0;L;;;;;N;;;;; +1445F;ANATOLIAN HIEROGLYPH A086;Lo;0;L;;;;;N;;;;; +14460;ANATOLIAN HIEROGLYPH A087;Lo;0;L;;;;;N;;;;; +14461;ANATOLIAN HIEROGLYPH A088;Lo;0;L;;;;;N;;;;; +14462;ANATOLIAN HIEROGLYPH A089;Lo;0;L;;;;;N;;;;; +14463;ANATOLIAN HIEROGLYPH A090;Lo;0;L;;;;;N;;;;; +14464;ANATOLIAN HIEROGLYPH A091;Lo;0;L;;;;;N;;;;; +14465;ANATOLIAN HIEROGLYPH A092;Lo;0;L;;;;;N;;;;; +14466;ANATOLIAN HIEROGLYPH A093;Lo;0;L;;;;;N;;;;; +14467;ANATOLIAN HIEROGLYPH A094;Lo;0;L;;;;;N;;;;; +14468;ANATOLIAN HIEROGLYPH A095;Lo;0;L;;;;;N;;;;; +14469;ANATOLIAN HIEROGLYPH A096;Lo;0;L;;;;;N;;;;; +1446A;ANATOLIAN HIEROGLYPH A097;Lo;0;L;;;;;N;;;;; +1446B;ANATOLIAN HIEROGLYPH A097A;Lo;0;L;;;;;N;;;;; +1446C;ANATOLIAN HIEROGLYPH A098;Lo;0;L;;;;;N;;;;; +1446D;ANATOLIAN HIEROGLYPH A098A;Lo;0;L;;;;;N;;;;; +1446E;ANATOLIAN HIEROGLYPH A099;Lo;0;L;;;;;N;;;;; +1446F;ANATOLIAN HIEROGLYPH A100;Lo;0;L;;;;;N;;;;; +14470;ANATOLIAN HIEROGLYPH A100A;Lo;0;L;;;;;N;;;;; +14471;ANATOLIAN HIEROGLYPH A101;Lo;0;L;;;;;N;;;;; +14472;ANATOLIAN HIEROGLYPH A101A;Lo;0;L;;;;;N;;;;; +14473;ANATOLIAN HIEROGLYPH A102;Lo;0;L;;;;;N;;;;; +14474;ANATOLIAN HIEROGLYPH A102A;Lo;0;L;;;;;N;;;;; +14475;ANATOLIAN HIEROGLYPH A103;Lo;0;L;;;;;N;;;;; +14476;ANATOLIAN HIEROGLYPH A104;Lo;0;L;;;;;N;;;;; +14477;ANATOLIAN HIEROGLYPH A104A;Lo;0;L;;;;;N;;;;; +14478;ANATOLIAN HIEROGLYPH A104B;Lo;0;L;;;;;N;;;;; +14479;ANATOLIAN HIEROGLYPH A104C;Lo;0;L;;;;;N;;;;; +1447A;ANATOLIAN HIEROGLYPH A105;Lo;0;L;;;;;N;;;;; +1447B;ANATOLIAN HIEROGLYPH A105A;Lo;0;L;;;;;N;;;;; +1447C;ANATOLIAN HIEROGLYPH A105B;Lo;0;L;;;;;N;;;;; +1447D;ANATOLIAN HIEROGLYPH A106;Lo;0;L;;;;;N;;;;; +1447E;ANATOLIAN HIEROGLYPH A107;Lo;0;L;;;;;N;;;;; +1447F;ANATOLIAN HIEROGLYPH A107A;Lo;0;L;;;;;N;;;;; +14480;ANATOLIAN HIEROGLYPH A107B;Lo;0;L;;;;;N;;;;; +14481;ANATOLIAN HIEROGLYPH A107C;Lo;0;L;;;;;N;;;;; +14482;ANATOLIAN HIEROGLYPH A108;Lo;0;L;;;;;N;;;;; +14483;ANATOLIAN HIEROGLYPH A109;Lo;0;L;;;;;N;;;;; +14484;ANATOLIAN HIEROGLYPH A110;Lo;0;L;;;;;N;;;;; +14485;ANATOLIAN HIEROGLYPH A110A;Lo;0;L;;;;;N;;;;; +14486;ANATOLIAN HIEROGLYPH A110B;Lo;0;L;;;;;N;;;;; +14487;ANATOLIAN HIEROGLYPH A111;Lo;0;L;;;;;N;;;;; +14488;ANATOLIAN HIEROGLYPH A112;Lo;0;L;;;;;N;;;;; +14489;ANATOLIAN HIEROGLYPH A113;Lo;0;L;;;;;N;;;;; +1448A;ANATOLIAN HIEROGLYPH A114;Lo;0;L;;;;;N;;;;; +1448B;ANATOLIAN HIEROGLYPH A115;Lo;0;L;;;;;N;;;;; +1448C;ANATOLIAN HIEROGLYPH A115A;Lo;0;L;;;;;N;;;;; +1448D;ANATOLIAN HIEROGLYPH A116;Lo;0;L;;;;;N;;;;; +1448E;ANATOLIAN HIEROGLYPH A117;Lo;0;L;;;;;N;;;;; +1448F;ANATOLIAN HIEROGLYPH A118;Lo;0;L;;;;;N;;;;; +14490;ANATOLIAN HIEROGLYPH A119;Lo;0;L;;;;;N;;;;; +14491;ANATOLIAN HIEROGLYPH A120;Lo;0;L;;;;;N;;;;; +14492;ANATOLIAN HIEROGLYPH A121;Lo;0;L;;;;;N;;;;; +14493;ANATOLIAN HIEROGLYPH A122;Lo;0;L;;;;;N;;;;; +14494;ANATOLIAN HIEROGLYPH A123;Lo;0;L;;;;;N;;;;; +14495;ANATOLIAN HIEROGLYPH A124;Lo;0;L;;;;;N;;;;; +14496;ANATOLIAN HIEROGLYPH A125;Lo;0;L;;;;;N;;;;; +14497;ANATOLIAN HIEROGLYPH A125A;Lo;0;L;;;;;N;;;;; +14498;ANATOLIAN HIEROGLYPH A126;Lo;0;L;;;;;N;;;;; +14499;ANATOLIAN HIEROGLYPH A127;Lo;0;L;;;;;N;;;;; +1449A;ANATOLIAN HIEROGLYPH A128;Lo;0;L;;;;;N;;;;; +1449B;ANATOLIAN HIEROGLYPH A129;Lo;0;L;;;;;N;;;;; +1449C;ANATOLIAN HIEROGLYPH A130;Lo;0;L;;;;;N;;;;; +1449D;ANATOLIAN HIEROGLYPH A131;Lo;0;L;;;;;N;;;;; +1449E;ANATOLIAN HIEROGLYPH A132;Lo;0;L;;;;;N;;;;; +1449F;ANATOLIAN HIEROGLYPH A133;Lo;0;L;;;;;N;;;;; +144A0;ANATOLIAN HIEROGLYPH A134;Lo;0;L;;;;;N;;;;; +144A1;ANATOLIAN HIEROGLYPH A135;Lo;0;L;;;;;N;;;;; +144A2;ANATOLIAN HIEROGLYPH A135A;Lo;0;L;;;;;N;;;;; +144A3;ANATOLIAN HIEROGLYPH A136;Lo;0;L;;;;;N;;;;; +144A4;ANATOLIAN HIEROGLYPH A137;Lo;0;L;;;;;N;;;;; +144A5;ANATOLIAN HIEROGLYPH A138;Lo;0;L;;;;;N;;;;; +144A6;ANATOLIAN HIEROGLYPH A139;Lo;0;L;;;;;N;;;;; +144A7;ANATOLIAN HIEROGLYPH A140;Lo;0;L;;;;;N;;;;; +144A8;ANATOLIAN HIEROGLYPH A141;Lo;0;L;;;;;N;;;;; +144A9;ANATOLIAN HIEROGLYPH A142;Lo;0;L;;;;;N;;;;; +144AA;ANATOLIAN HIEROGLYPH A143;Lo;0;L;;;;;N;;;;; +144AB;ANATOLIAN HIEROGLYPH A144;Lo;0;L;;;;;N;;;;; +144AC;ANATOLIAN HIEROGLYPH A145;Lo;0;L;;;;;N;;;;; +144AD;ANATOLIAN HIEROGLYPH A146;Lo;0;L;;;;;N;;;;; +144AE;ANATOLIAN HIEROGLYPH A147;Lo;0;L;;;;;N;;;;; +144AF;ANATOLIAN HIEROGLYPH A148;Lo;0;L;;;;;N;;;;; +144B0;ANATOLIAN HIEROGLYPH A149;Lo;0;L;;;;;N;;;;; +144B1;ANATOLIAN HIEROGLYPH A150;Lo;0;L;;;;;N;;;;; +144B2;ANATOLIAN HIEROGLYPH A151;Lo;0;L;;;;;N;;;;; +144B3;ANATOLIAN HIEROGLYPH A152;Lo;0;L;;;;;N;;;;; +144B4;ANATOLIAN HIEROGLYPH A153;Lo;0;L;;;;;N;;;;; +144B5;ANATOLIAN HIEROGLYPH A154;Lo;0;L;;;;;N;;;;; +144B6;ANATOLIAN HIEROGLYPH A155;Lo;0;L;;;;;N;;;;; +144B7;ANATOLIAN HIEROGLYPH A156;Lo;0;L;;;;;N;;;;; +144B8;ANATOLIAN HIEROGLYPH A157;Lo;0;L;;;;;N;;;;; +144B9;ANATOLIAN HIEROGLYPH A158;Lo;0;L;;;;;N;;;;; +144BA;ANATOLIAN HIEROGLYPH A159;Lo;0;L;;;;;N;;;;; +144BB;ANATOLIAN HIEROGLYPH A160;Lo;0;L;;;;;N;;;;; +144BC;ANATOLIAN HIEROGLYPH A161;Lo;0;L;;;;;N;;;;; +144BD;ANATOLIAN HIEROGLYPH A162;Lo;0;L;;;;;N;;;;; +144BE;ANATOLIAN HIEROGLYPH A163;Lo;0;L;;;;;N;;;;; +144BF;ANATOLIAN HIEROGLYPH A164;Lo;0;L;;;;;N;;;;; +144C0;ANATOLIAN HIEROGLYPH A165;Lo;0;L;;;;;N;;;;; +144C1;ANATOLIAN HIEROGLYPH A166;Lo;0;L;;;;;N;;;;; +144C2;ANATOLIAN HIEROGLYPH A167;Lo;0;L;;;;;N;;;;; +144C3;ANATOLIAN HIEROGLYPH A168;Lo;0;L;;;;;N;;;;; +144C4;ANATOLIAN HIEROGLYPH A169;Lo;0;L;;;;;N;;;;; +144C5;ANATOLIAN HIEROGLYPH A170;Lo;0;L;;;;;N;;;;; +144C6;ANATOLIAN HIEROGLYPH A171;Lo;0;L;;;;;N;;;;; +144C7;ANATOLIAN HIEROGLYPH A172;Lo;0;L;;;;;N;;;;; +144C8;ANATOLIAN HIEROGLYPH A173;Lo;0;L;;;;;N;;;;; +144C9;ANATOLIAN HIEROGLYPH A174;Lo;0;L;;;;;N;;;;; +144CA;ANATOLIAN HIEROGLYPH A175;Lo;0;L;;;;;N;;;;; +144CB;ANATOLIAN HIEROGLYPH A176;Lo;0;L;;;;;N;;;;; +144CC;ANATOLIAN HIEROGLYPH A177;Lo;0;L;;;;;N;;;;; +144CD;ANATOLIAN HIEROGLYPH A178;Lo;0;L;;;;;N;;;;; +144CE;ANATOLIAN HIEROGLYPH A179;Lo;0;L;;;;;N;;;;; +144CF;ANATOLIAN HIEROGLYPH A180;Lo;0;L;;;;;N;;;;; +144D0;ANATOLIAN HIEROGLYPH A181;Lo;0;L;;;;;N;;;;; +144D1;ANATOLIAN HIEROGLYPH A182;Lo;0;L;;;;;N;;;;; +144D2;ANATOLIAN HIEROGLYPH A183;Lo;0;L;;;;;N;;;;; +144D3;ANATOLIAN HIEROGLYPH A184;Lo;0;L;;;;;N;;;;; +144D4;ANATOLIAN HIEROGLYPH A185;Lo;0;L;;;;;N;;;;; +144D5;ANATOLIAN HIEROGLYPH A186;Lo;0;L;;;;;N;;;;; +144D6;ANATOLIAN HIEROGLYPH A187;Lo;0;L;;;;;N;;;;; +144D7;ANATOLIAN HIEROGLYPH A188;Lo;0;L;;;;;N;;;;; +144D8;ANATOLIAN HIEROGLYPH A189;Lo;0;L;;;;;N;;;;; +144D9;ANATOLIAN HIEROGLYPH A190;Lo;0;L;;;;;N;;;;; +144DA;ANATOLIAN HIEROGLYPH A191;Lo;0;L;;;;;N;;;;; +144DB;ANATOLIAN HIEROGLYPH A192;Lo;0;L;;;;;N;;;;; +144DC;ANATOLIAN HIEROGLYPH A193;Lo;0;L;;;;;N;;;;; +144DD;ANATOLIAN HIEROGLYPH A194;Lo;0;L;;;;;N;;;;; +144DE;ANATOLIAN HIEROGLYPH A195;Lo;0;L;;;;;N;;;;; +144DF;ANATOLIAN HIEROGLYPH A196;Lo;0;L;;;;;N;;;;; +144E0;ANATOLIAN HIEROGLYPH A197;Lo;0;L;;;;;N;;;;; +144E1;ANATOLIAN HIEROGLYPH A198;Lo;0;L;;;;;N;;;;; +144E2;ANATOLIAN HIEROGLYPH A199;Lo;0;L;;;;;N;;;;; +144E3;ANATOLIAN HIEROGLYPH A200;Lo;0;L;;;;;N;;;;; +144E4;ANATOLIAN HIEROGLYPH A201;Lo;0;L;;;;;N;;;;; +144E5;ANATOLIAN HIEROGLYPH A202;Lo;0;L;;;;;N;;;;; +144E6;ANATOLIAN HIEROGLYPH A202A;Lo;0;L;;;;;N;;;;; +144E7;ANATOLIAN HIEROGLYPH A202B;Lo;0;L;;;;;N;;;;; +144E8;ANATOLIAN HIEROGLYPH A203;Lo;0;L;;;;;N;;;;; +144E9;ANATOLIAN HIEROGLYPH A204;Lo;0;L;;;;;N;;;;; +144EA;ANATOLIAN HIEROGLYPH A205;Lo;0;L;;;;;N;;;;; +144EB;ANATOLIAN HIEROGLYPH A206;Lo;0;L;;;;;N;;;;; +144EC;ANATOLIAN HIEROGLYPH A207;Lo;0;L;;;;;N;;;;; +144ED;ANATOLIAN HIEROGLYPH A207A;Lo;0;L;;;;;N;;;;; +144EE;ANATOLIAN HIEROGLYPH A208;Lo;0;L;;;;;N;;;;; +144EF;ANATOLIAN HIEROGLYPH A209;Lo;0;L;;;;;N;;;;; +144F0;ANATOLIAN HIEROGLYPH A209A;Lo;0;L;;;;;N;;;;; +144F1;ANATOLIAN HIEROGLYPH A210;Lo;0;L;;;;;N;;;;; +144F2;ANATOLIAN HIEROGLYPH A211;Lo;0;L;;;;;N;;;;; +144F3;ANATOLIAN HIEROGLYPH A212;Lo;0;L;;;;;N;;;;; +144F4;ANATOLIAN HIEROGLYPH A213;Lo;0;L;;;;;N;;;;; +144F5;ANATOLIAN HIEROGLYPH A214;Lo;0;L;;;;;N;;;;; +144F6;ANATOLIAN HIEROGLYPH A215;Lo;0;L;;;;;N;;;;; +144F7;ANATOLIAN HIEROGLYPH A215A;Lo;0;L;;;;;N;;;;; +144F8;ANATOLIAN HIEROGLYPH A216;Lo;0;L;;;;;N;;;;; +144F9;ANATOLIAN HIEROGLYPH A216A;Lo;0;L;;;;;N;;;;; +144FA;ANATOLIAN HIEROGLYPH A217;Lo;0;L;;;;;N;;;;; +144FB;ANATOLIAN HIEROGLYPH A218;Lo;0;L;;;;;N;;;;; +144FC;ANATOLIAN HIEROGLYPH A219;Lo;0;L;;;;;N;;;;; +144FD;ANATOLIAN HIEROGLYPH A220;Lo;0;L;;;;;N;;;;; +144FE;ANATOLIAN HIEROGLYPH A221;Lo;0;L;;;;;N;;;;; +144FF;ANATOLIAN HIEROGLYPH A222;Lo;0;L;;;;;N;;;;; +14500;ANATOLIAN HIEROGLYPH A223;Lo;0;L;;;;;N;;;;; +14501;ANATOLIAN HIEROGLYPH A224;Lo;0;L;;;;;N;;;;; +14502;ANATOLIAN HIEROGLYPH A225;Lo;0;L;;;;;N;;;;; +14503;ANATOLIAN HIEROGLYPH A226;Lo;0;L;;;;;N;;;;; +14504;ANATOLIAN HIEROGLYPH A227;Lo;0;L;;;;;N;;;;; +14505;ANATOLIAN HIEROGLYPH A227A;Lo;0;L;;;;;N;;;;; +14506;ANATOLIAN HIEROGLYPH A228;Lo;0;L;;;;;N;;;;; +14507;ANATOLIAN HIEROGLYPH A229;Lo;0;L;;;;;N;;;;; +14508;ANATOLIAN HIEROGLYPH A230;Lo;0;L;;;;;N;;;;; +14509;ANATOLIAN HIEROGLYPH A231;Lo;0;L;;;;;N;;;;; +1450A;ANATOLIAN HIEROGLYPH A232;Lo;0;L;;;;;N;;;;; +1450B;ANATOLIAN HIEROGLYPH A233;Lo;0;L;;;;;N;;;;; +1450C;ANATOLIAN HIEROGLYPH A234;Lo;0;L;;;;;N;;;;; +1450D;ANATOLIAN HIEROGLYPH A235;Lo;0;L;;;;;N;;;;; +1450E;ANATOLIAN HIEROGLYPH A236;Lo;0;L;;;;;N;;;;; +1450F;ANATOLIAN HIEROGLYPH A237;Lo;0;L;;;;;N;;;;; +14510;ANATOLIAN HIEROGLYPH A238;Lo;0;L;;;;;N;;;;; +14511;ANATOLIAN HIEROGLYPH A239;Lo;0;L;;;;;N;;;;; +14512;ANATOLIAN HIEROGLYPH A240;Lo;0;L;;;;;N;;;;; +14513;ANATOLIAN HIEROGLYPH A241;Lo;0;L;;;;;N;;;;; +14514;ANATOLIAN HIEROGLYPH A242;Lo;0;L;;;;;N;;;;; +14515;ANATOLIAN HIEROGLYPH A243;Lo;0;L;;;;;N;;;;; +14516;ANATOLIAN HIEROGLYPH A244;Lo;0;L;;;;;N;;;;; +14517;ANATOLIAN HIEROGLYPH A245;Lo;0;L;;;;;N;;;;; +14518;ANATOLIAN HIEROGLYPH A246;Lo;0;L;;;;;N;;;;; +14519;ANATOLIAN HIEROGLYPH A247;Lo;0;L;;;;;N;;;;; +1451A;ANATOLIAN HIEROGLYPH A248;Lo;0;L;;;;;N;;;;; +1451B;ANATOLIAN HIEROGLYPH A249;Lo;0;L;;;;;N;;;;; +1451C;ANATOLIAN HIEROGLYPH A250;Lo;0;L;;;;;N;;;;; +1451D;ANATOLIAN HIEROGLYPH A251;Lo;0;L;;;;;N;;;;; +1451E;ANATOLIAN HIEROGLYPH A252;Lo;0;L;;;;;N;;;;; +1451F;ANATOLIAN HIEROGLYPH A253;Lo;0;L;;;;;N;;;;; +14520;ANATOLIAN HIEROGLYPH A254;Lo;0;L;;;;;N;;;;; +14521;ANATOLIAN HIEROGLYPH A255;Lo;0;L;;;;;N;;;;; +14522;ANATOLIAN HIEROGLYPH A256;Lo;0;L;;;;;N;;;;; +14523;ANATOLIAN HIEROGLYPH A257;Lo;0;L;;;;;N;;;;; +14524;ANATOLIAN HIEROGLYPH A258;Lo;0;L;;;;;N;;;;; +14525;ANATOLIAN HIEROGLYPH A259;Lo;0;L;;;;;N;;;;; +14526;ANATOLIAN HIEROGLYPH A260;Lo;0;L;;;;;N;;;;; +14527;ANATOLIAN HIEROGLYPH A261;Lo;0;L;;;;;N;;;;; +14528;ANATOLIAN HIEROGLYPH A262;Lo;0;L;;;;;N;;;;; +14529;ANATOLIAN HIEROGLYPH A263;Lo;0;L;;;;;N;;;;; +1452A;ANATOLIAN HIEROGLYPH A264;Lo;0;L;;;;;N;;;;; +1452B;ANATOLIAN HIEROGLYPH A265;Lo;0;L;;;;;N;;;;; +1452C;ANATOLIAN HIEROGLYPH A266;Lo;0;L;;;;;N;;;;; +1452D;ANATOLIAN HIEROGLYPH A267;Lo;0;L;;;;;N;;;;; +1452E;ANATOLIAN HIEROGLYPH A267A;Lo;0;L;;;;;N;;;;; +1452F;ANATOLIAN HIEROGLYPH A268;Lo;0;L;;;;;N;;;;; +14530;ANATOLIAN HIEROGLYPH A269;Lo;0;L;;;;;N;;;;; +14531;ANATOLIAN HIEROGLYPH A270;Lo;0;L;;;;;N;;;;; +14532;ANATOLIAN HIEROGLYPH A271;Lo;0;L;;;;;N;;;;; +14533;ANATOLIAN HIEROGLYPH A272;Lo;0;L;;;;;N;;;;; +14534;ANATOLIAN HIEROGLYPH A273;Lo;0;L;;;;;N;;;;; +14535;ANATOLIAN HIEROGLYPH A274;Lo;0;L;;;;;N;;;;; +14536;ANATOLIAN HIEROGLYPH A275;Lo;0;L;;;;;N;;;;; +14537;ANATOLIAN HIEROGLYPH A276;Lo;0;L;;;;;N;;;;; +14538;ANATOLIAN HIEROGLYPH A277;Lo;0;L;;;;;N;;;;; +14539;ANATOLIAN HIEROGLYPH A278;Lo;0;L;;;;;N;;;;; +1453A;ANATOLIAN HIEROGLYPH A279;Lo;0;L;;;;;N;;;;; +1453B;ANATOLIAN HIEROGLYPH A280;Lo;0;L;;;;;N;;;;; +1453C;ANATOLIAN HIEROGLYPH A281;Lo;0;L;;;;;N;;;;; +1453D;ANATOLIAN HIEROGLYPH A282;Lo;0;L;;;;;N;;;;; +1453E;ANATOLIAN HIEROGLYPH A283;Lo;0;L;;;;;N;;;;; +1453F;ANATOLIAN HIEROGLYPH A284;Lo;0;L;;;;;N;;;;; +14540;ANATOLIAN HIEROGLYPH A285;Lo;0;L;;;;;N;;;;; +14541;ANATOLIAN HIEROGLYPH A286;Lo;0;L;;;;;N;;;;; +14542;ANATOLIAN HIEROGLYPH A287;Lo;0;L;;;;;N;;;;; +14543;ANATOLIAN HIEROGLYPH A288;Lo;0;L;;;;;N;;;;; +14544;ANATOLIAN HIEROGLYPH A289;Lo;0;L;;;;;N;;;;; +14545;ANATOLIAN HIEROGLYPH A289A;Lo;0;L;;;;;N;;;;; +14546;ANATOLIAN HIEROGLYPH A290;Lo;0;L;;;;;N;;;;; +14547;ANATOLIAN HIEROGLYPH A291;Lo;0;L;;;;;N;;;;; +14548;ANATOLIAN HIEROGLYPH A292;Lo;0;L;;;;;N;;;;; +14549;ANATOLIAN HIEROGLYPH A293;Lo;0;L;;;;;N;;;;; +1454A;ANATOLIAN HIEROGLYPH A294;Lo;0;L;;;;;N;;;;; +1454B;ANATOLIAN HIEROGLYPH A294A;Lo;0;L;;;;;N;;;;; +1454C;ANATOLIAN HIEROGLYPH A295;Lo;0;L;;;;;N;;;;; +1454D;ANATOLIAN HIEROGLYPH A296;Lo;0;L;;;;;N;;;;; +1454E;ANATOLIAN HIEROGLYPH A297;Lo;0;L;;;;;N;;;;; +1454F;ANATOLIAN HIEROGLYPH A298;Lo;0;L;;;;;N;;;;; +14550;ANATOLIAN HIEROGLYPH A299;Lo;0;L;;;;;N;;;;; +14551;ANATOLIAN HIEROGLYPH A299A;Lo;0;L;;;;;N;;;;; +14552;ANATOLIAN HIEROGLYPH A300;Lo;0;L;;;;;N;;;;; +14553;ANATOLIAN HIEROGLYPH A301;Lo;0;L;;;;;N;;;;; +14554;ANATOLIAN HIEROGLYPH A302;Lo;0;L;;;;;N;;;;; +14555;ANATOLIAN HIEROGLYPH A303;Lo;0;L;;;;;N;;;;; +14556;ANATOLIAN HIEROGLYPH A304;Lo;0;L;;;;;N;;;;; +14557;ANATOLIAN HIEROGLYPH A305;Lo;0;L;;;;;N;;;;; +14558;ANATOLIAN HIEROGLYPH A306;Lo;0;L;;;;;N;;;;; +14559;ANATOLIAN HIEROGLYPH A307;Lo;0;L;;;;;N;;;;; +1455A;ANATOLIAN HIEROGLYPH A308;Lo;0;L;;;;;N;;;;; +1455B;ANATOLIAN HIEROGLYPH A309;Lo;0;L;;;;;N;;;;; +1455C;ANATOLIAN HIEROGLYPH A309A;Lo;0;L;;;;;N;;;;; +1455D;ANATOLIAN HIEROGLYPH A310;Lo;0;L;;;;;N;;;;; +1455E;ANATOLIAN HIEROGLYPH A311;Lo;0;L;;;;;N;;;;; +1455F;ANATOLIAN HIEROGLYPH A312;Lo;0;L;;;;;N;;;;; +14560;ANATOLIAN HIEROGLYPH A313;Lo;0;L;;;;;N;;;;; +14561;ANATOLIAN HIEROGLYPH A314;Lo;0;L;;;;;N;;;;; +14562;ANATOLIAN HIEROGLYPH A315;Lo;0;L;;;;;N;;;;; +14563;ANATOLIAN HIEROGLYPH A316;Lo;0;L;;;;;N;;;;; +14564;ANATOLIAN HIEROGLYPH A317;Lo;0;L;;;;;N;;;;; +14565;ANATOLIAN HIEROGLYPH A318;Lo;0;L;;;;;N;;;;; +14566;ANATOLIAN HIEROGLYPH A319;Lo;0;L;;;;;N;;;;; +14567;ANATOLIAN HIEROGLYPH A320;Lo;0;L;;;;;N;;;;; +14568;ANATOLIAN HIEROGLYPH A321;Lo;0;L;;;;;N;;;;; +14569;ANATOLIAN HIEROGLYPH A322;Lo;0;L;;;;;N;;;;; +1456A;ANATOLIAN HIEROGLYPH A323;Lo;0;L;;;;;N;;;;; +1456B;ANATOLIAN HIEROGLYPH A324;Lo;0;L;;;;;N;;;;; +1456C;ANATOLIAN HIEROGLYPH A325;Lo;0;L;;;;;N;;;;; +1456D;ANATOLIAN HIEROGLYPH A326;Lo;0;L;;;;;N;;;;; +1456E;ANATOLIAN HIEROGLYPH A327;Lo;0;L;;;;;N;;;;; +1456F;ANATOLIAN HIEROGLYPH A328;Lo;0;L;;;;;N;;;;; +14570;ANATOLIAN HIEROGLYPH A329;Lo;0;L;;;;;N;;;;; +14571;ANATOLIAN HIEROGLYPH A329A;Lo;0;L;;;;;N;;;;; +14572;ANATOLIAN HIEROGLYPH A330;Lo;0;L;;;;;N;;;;; +14573;ANATOLIAN HIEROGLYPH A331;Lo;0;L;;;;;N;;;;; +14574;ANATOLIAN HIEROGLYPH A332A;Lo;0;L;;;;;N;;;;; +14575;ANATOLIAN HIEROGLYPH A332B;Lo;0;L;;;;;N;;;;; +14576;ANATOLIAN HIEROGLYPH A332C;Lo;0;L;;;;;N;;;;; +14577;ANATOLIAN HIEROGLYPH A333;Lo;0;L;;;;;N;;;;; +14578;ANATOLIAN HIEROGLYPH A334;Lo;0;L;;;;;N;;;;; +14579;ANATOLIAN HIEROGLYPH A335;Lo;0;L;;;;;N;;;;; +1457A;ANATOLIAN HIEROGLYPH A336;Lo;0;L;;;;;N;;;;; +1457B;ANATOLIAN HIEROGLYPH A336A;Lo;0;L;;;;;N;;;;; +1457C;ANATOLIAN HIEROGLYPH A336B;Lo;0;L;;;;;N;;;;; +1457D;ANATOLIAN HIEROGLYPH A336C;Lo;0;L;;;;;N;;;;; +1457E;ANATOLIAN HIEROGLYPH A337;Lo;0;L;;;;;N;;;;; +1457F;ANATOLIAN HIEROGLYPH A338;Lo;0;L;;;;;N;;;;; +14580;ANATOLIAN HIEROGLYPH A339;Lo;0;L;;;;;N;;;;; +14581;ANATOLIAN HIEROGLYPH A340;Lo;0;L;;;;;N;;;;; +14582;ANATOLIAN HIEROGLYPH A341;Lo;0;L;;;;;N;;;;; +14583;ANATOLIAN HIEROGLYPH A342;Lo;0;L;;;;;N;;;;; +14584;ANATOLIAN HIEROGLYPH A343;Lo;0;L;;;;;N;;;;; +14585;ANATOLIAN HIEROGLYPH A344;Lo;0;L;;;;;N;;;;; +14586;ANATOLIAN HIEROGLYPH A345;Lo;0;L;;;;;N;;;;; +14587;ANATOLIAN HIEROGLYPH A346;Lo;0;L;;;;;N;;;;; +14588;ANATOLIAN HIEROGLYPH A347;Lo;0;L;;;;;N;;;;; +14589;ANATOLIAN HIEROGLYPH A348;Lo;0;L;;;;;N;;;;; +1458A;ANATOLIAN HIEROGLYPH A349;Lo;0;L;;;;;N;;;;; +1458B;ANATOLIAN HIEROGLYPH A350;Lo;0;L;;;;;N;;;;; +1458C;ANATOLIAN HIEROGLYPH A351;Lo;0;L;;;;;N;;;;; +1458D;ANATOLIAN HIEROGLYPH A352;Lo;0;L;;;;;N;;;;; +1458E;ANATOLIAN HIEROGLYPH A353;Lo;0;L;;;;;N;;;;; +1458F;ANATOLIAN HIEROGLYPH A354;Lo;0;L;;;;;N;;;;; +14590;ANATOLIAN HIEROGLYPH A355;Lo;0;L;;;;;N;;;;; +14591;ANATOLIAN HIEROGLYPH A356;Lo;0;L;;;;;N;;;;; +14592;ANATOLIAN HIEROGLYPH A357;Lo;0;L;;;;;N;;;;; +14593;ANATOLIAN HIEROGLYPH A358;Lo;0;L;;;;;N;;;;; +14594;ANATOLIAN HIEROGLYPH A359;Lo;0;L;;;;;N;;;;; +14595;ANATOLIAN HIEROGLYPH A359A;Lo;0;L;;;;;N;;;;; +14596;ANATOLIAN HIEROGLYPH A360;Lo;0;L;;;;;N;;;;; +14597;ANATOLIAN HIEROGLYPH A361;Lo;0;L;;;;;N;;;;; +14598;ANATOLIAN HIEROGLYPH A362;Lo;0;L;;;;;N;;;;; +14599;ANATOLIAN HIEROGLYPH A363;Lo;0;L;;;;;N;;;;; +1459A;ANATOLIAN HIEROGLYPH A364;Lo;0;L;;;;;N;;;;; +1459B;ANATOLIAN HIEROGLYPH A364A;Lo;0;L;;;;;N;;;;; +1459C;ANATOLIAN HIEROGLYPH A365;Lo;0;L;;;;;N;;;;; +1459D;ANATOLIAN HIEROGLYPH A366;Lo;0;L;;;;;N;;;;; +1459E;ANATOLIAN HIEROGLYPH A367;Lo;0;L;;;;;N;;;;; +1459F;ANATOLIAN HIEROGLYPH A368;Lo;0;L;;;;;N;;;;; +145A0;ANATOLIAN HIEROGLYPH A368A;Lo;0;L;;;;;N;;;;; +145A1;ANATOLIAN HIEROGLYPH A369;Lo;0;L;;;;;N;;;;; +145A2;ANATOLIAN HIEROGLYPH A370;Lo;0;L;;;;;N;;;;; +145A3;ANATOLIAN HIEROGLYPH A371;Lo;0;L;;;;;N;;;;; +145A4;ANATOLIAN HIEROGLYPH A371A;Lo;0;L;;;;;N;;;;; +145A5;ANATOLIAN HIEROGLYPH A372;Lo;0;L;;;;;N;;;;; +145A6;ANATOLIAN HIEROGLYPH A373;Lo;0;L;;;;;N;;;;; +145A7;ANATOLIAN HIEROGLYPH A374;Lo;0;L;;;;;N;;;;; +145A8;ANATOLIAN HIEROGLYPH A375;Lo;0;L;;;;;N;;;;; +145A9;ANATOLIAN HIEROGLYPH A376;Lo;0;L;;;;;N;;;;; +145AA;ANATOLIAN HIEROGLYPH A377;Lo;0;L;;;;;N;;;;; +145AB;ANATOLIAN HIEROGLYPH A378;Lo;0;L;;;;;N;;;;; +145AC;ANATOLIAN HIEROGLYPH A379;Lo;0;L;;;;;N;;;;; +145AD;ANATOLIAN HIEROGLYPH A380;Lo;0;L;;;;;N;;;;; +145AE;ANATOLIAN HIEROGLYPH A381;Lo;0;L;;;;;N;;;;; +145AF;ANATOLIAN HIEROGLYPH A381A;Lo;0;L;;;;;N;;;;; +145B0;ANATOLIAN HIEROGLYPH A382;Lo;0;L;;;;;N;;;;; +145B1;ANATOLIAN HIEROGLYPH A383 RA OR RI;Lo;0;L;;;;;N;;;;; +145B2;ANATOLIAN HIEROGLYPH A383A;Lo;0;L;;;;;N;;;;; +145B3;ANATOLIAN HIEROGLYPH A384;Lo;0;L;;;;;N;;;;; +145B4;ANATOLIAN HIEROGLYPH A385;Lo;0;L;;;;;N;;;;; +145B5;ANATOLIAN HIEROGLYPH A386;Lo;0;L;;;;;N;;;;; +145B6;ANATOLIAN HIEROGLYPH A386A;Lo;0;L;;;;;N;;;;; +145B7;ANATOLIAN HIEROGLYPH A387;Lo;0;L;;;;;N;;;;; +145B8;ANATOLIAN HIEROGLYPH A388;Lo;0;L;;;;;N;;;;; +145B9;ANATOLIAN HIEROGLYPH A389;Lo;0;L;;;;;N;;;;; +145BA;ANATOLIAN HIEROGLYPH A390;Lo;0;L;;;;;N;;;;; +145BB;ANATOLIAN HIEROGLYPH A391;Lo;0;L;;;;;N;;;;; +145BC;ANATOLIAN HIEROGLYPH A392;Lo;0;L;;;;;N;;;;; +145BD;ANATOLIAN HIEROGLYPH A393 EIGHT;Lo;0;L;;;;;N;;;;; +145BE;ANATOLIAN HIEROGLYPH A394;Lo;0;L;;;;;N;;;;; +145BF;ANATOLIAN HIEROGLYPH A395;Lo;0;L;;;;;N;;;;; +145C0;ANATOLIAN HIEROGLYPH A396;Lo;0;L;;;;;N;;;;; +145C1;ANATOLIAN HIEROGLYPH A397;Lo;0;L;;;;;N;;;;; +145C2;ANATOLIAN HIEROGLYPH A398;Lo;0;L;;;;;N;;;;; +145C3;ANATOLIAN HIEROGLYPH A399;Lo;0;L;;;;;N;;;;; +145C4;ANATOLIAN HIEROGLYPH A400;Lo;0;L;;;;;N;;;;; +145C5;ANATOLIAN HIEROGLYPH A401;Lo;0;L;;;;;N;;;;; +145C6;ANATOLIAN HIEROGLYPH A402;Lo;0;L;;;;;N;;;;; +145C7;ANATOLIAN HIEROGLYPH A403;Lo;0;L;;;;;N;;;;; +145C8;ANATOLIAN HIEROGLYPH A404;Lo;0;L;;;;;N;;;;; +145C9;ANATOLIAN HIEROGLYPH A405;Lo;0;L;;;;;N;;;;; +145CA;ANATOLIAN HIEROGLYPH A406;Lo;0;L;;;;;N;;;;; +145CB;ANATOLIAN HIEROGLYPH A407;Lo;0;L;;;;;N;;;;; +145CC;ANATOLIAN HIEROGLYPH A408;Lo;0;L;;;;;N;;;;; +145CD;ANATOLIAN HIEROGLYPH A409;Lo;0;L;;;;;N;;;;; +145CE;ANATOLIAN HIEROGLYPH A410 BEGIN LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; +145CF;ANATOLIAN HIEROGLYPH A410A END LOGOGRAM MARK;Lo;0;L;;;;;N;;;;; +145D0;ANATOLIAN HIEROGLYPH A411;Lo;0;L;;;;;N;;;;; +145D1;ANATOLIAN HIEROGLYPH A412;Lo;0;L;;;;;N;;;;; +145D2;ANATOLIAN HIEROGLYPH A413;Lo;0;L;;;;;N;;;;; +145D3;ANATOLIAN HIEROGLYPH A414;Lo;0;L;;;;;N;;;;; +145D4;ANATOLIAN HIEROGLYPH A415;Lo;0;L;;;;;N;;;;; +145D5;ANATOLIAN HIEROGLYPH A416;Lo;0;L;;;;;N;;;;; +145D6;ANATOLIAN HIEROGLYPH A417;Lo;0;L;;;;;N;;;;; +145D7;ANATOLIAN HIEROGLYPH A418;Lo;0;L;;;;;N;;;;; +145D8;ANATOLIAN HIEROGLYPH A419;Lo;0;L;;;;;N;;;;; +145D9;ANATOLIAN HIEROGLYPH A420;Lo;0;L;;;;;N;;;;; +145DA;ANATOLIAN HIEROGLYPH A421;Lo;0;L;;;;;N;;;;; +145DB;ANATOLIAN HIEROGLYPH A422;Lo;0;L;;;;;N;;;;; +145DC;ANATOLIAN HIEROGLYPH A423;Lo;0;L;;;;;N;;;;; +145DD;ANATOLIAN HIEROGLYPH A424;Lo;0;L;;;;;N;;;;; +145DE;ANATOLIAN HIEROGLYPH A425;Lo;0;L;;;;;N;;;;; +145DF;ANATOLIAN HIEROGLYPH A426;Lo;0;L;;;;;N;;;;; +145E0;ANATOLIAN HIEROGLYPH A427;Lo;0;L;;;;;N;;;;; +145E1;ANATOLIAN HIEROGLYPH A428;Lo;0;L;;;;;N;;;;; +145E2;ANATOLIAN HIEROGLYPH A429;Lo;0;L;;;;;N;;;;; +145E3;ANATOLIAN HIEROGLYPH A430;Lo;0;L;;;;;N;;;;; +145E4;ANATOLIAN HIEROGLYPH A431;Lo;0;L;;;;;N;;;;; +145E5;ANATOLIAN HIEROGLYPH A432;Lo;0;L;;;;;N;;;;; +145E6;ANATOLIAN HIEROGLYPH A433;Lo;0;L;;;;;N;;;;; +145E7;ANATOLIAN HIEROGLYPH A434;Lo;0;L;;;;;N;;;;; +145E8;ANATOLIAN HIEROGLYPH A435;Lo;0;L;;;;;N;;;;; +145E9;ANATOLIAN HIEROGLYPH A436;Lo;0;L;;;;;N;;;;; +145EA;ANATOLIAN HIEROGLYPH A437;Lo;0;L;;;;;N;;;;; +145EB;ANATOLIAN HIEROGLYPH A438;Lo;0;L;;;;;N;;;;; +145EC;ANATOLIAN HIEROGLYPH A439;Lo;0;L;;;;;N;;;;; +145ED;ANATOLIAN HIEROGLYPH A440;Lo;0;L;;;;;N;;;;; +145EE;ANATOLIAN HIEROGLYPH A441;Lo;0;L;;;;;N;;;;; +145EF;ANATOLIAN HIEROGLYPH A442;Lo;0;L;;;;;N;;;;; +145F0;ANATOLIAN HIEROGLYPH A443;Lo;0;L;;;;;N;;;;; +145F1;ANATOLIAN HIEROGLYPH A444;Lo;0;L;;;;;N;;;;; +145F2;ANATOLIAN HIEROGLYPH A445;Lo;0;L;;;;;N;;;;; +145F3;ANATOLIAN HIEROGLYPH A446;Lo;0;L;;;;;N;;;;; +145F4;ANATOLIAN HIEROGLYPH A447;Lo;0;L;;;;;N;;;;; +145F5;ANATOLIAN HIEROGLYPH A448;Lo;0;L;;;;;N;;;;; +145F6;ANATOLIAN HIEROGLYPH A449;Lo;0;L;;;;;N;;;;; +145F7;ANATOLIAN HIEROGLYPH A450;Lo;0;L;;;;;N;;;;; +145F8;ANATOLIAN HIEROGLYPH A450A;Lo;0;L;;;;;N;;;;; +145F9;ANATOLIAN HIEROGLYPH A451;Lo;0;L;;;;;N;;;;; +145FA;ANATOLIAN HIEROGLYPH A452;Lo;0;L;;;;;N;;;;; +145FB;ANATOLIAN HIEROGLYPH A453;Lo;0;L;;;;;N;;;;; +145FC;ANATOLIAN HIEROGLYPH A454;Lo;0;L;;;;;N;;;;; +145FD;ANATOLIAN HIEROGLYPH A455;Lo;0;L;;;;;N;;;;; +145FE;ANATOLIAN HIEROGLYPH A456;Lo;0;L;;;;;N;;;;; +145FF;ANATOLIAN HIEROGLYPH A457;Lo;0;L;;;;;N;;;;; +14600;ANATOLIAN HIEROGLYPH A457A;Lo;0;L;;;;;N;;;;; +14601;ANATOLIAN HIEROGLYPH A458;Lo;0;L;;;;;N;;;;; +14602;ANATOLIAN HIEROGLYPH A459;Lo;0;L;;;;;N;;;;; +14603;ANATOLIAN HIEROGLYPH A460;Lo;0;L;;;;;N;;;;; +14604;ANATOLIAN HIEROGLYPH A461;Lo;0;L;;;;;N;;;;; +14605;ANATOLIAN HIEROGLYPH A462;Lo;0;L;;;;;N;;;;; +14606;ANATOLIAN HIEROGLYPH A463;Lo;0;L;;;;;N;;;;; +14607;ANATOLIAN HIEROGLYPH A464;Lo;0;L;;;;;N;;;;; +14608;ANATOLIAN HIEROGLYPH A465;Lo;0;L;;;;;N;;;;; +14609;ANATOLIAN HIEROGLYPH A466;Lo;0;L;;;;;N;;;;; +1460A;ANATOLIAN HIEROGLYPH A467;Lo;0;L;;;;;N;;;;; +1460B;ANATOLIAN HIEROGLYPH A468;Lo;0;L;;;;;N;;;;; +1460C;ANATOLIAN HIEROGLYPH A469;Lo;0;L;;;;;N;;;;; +1460D;ANATOLIAN HIEROGLYPH A470;Lo;0;L;;;;;N;;;;; +1460E;ANATOLIAN HIEROGLYPH A471;Lo;0;L;;;;;N;;;;; +1460F;ANATOLIAN HIEROGLYPH A472;Lo;0;L;;;;;N;;;;; +14610;ANATOLIAN HIEROGLYPH A473;Lo;0;L;;;;;N;;;;; +14611;ANATOLIAN HIEROGLYPH A474;Lo;0;L;;;;;N;;;;; +14612;ANATOLIAN HIEROGLYPH A475;Lo;0;L;;;;;N;;;;; +14613;ANATOLIAN HIEROGLYPH A476;Lo;0;L;;;;;N;;;;; +14614;ANATOLIAN HIEROGLYPH A477;Lo;0;L;;;;;N;;;;; +14615;ANATOLIAN HIEROGLYPH A478;Lo;0;L;;;;;N;;;;; +14616;ANATOLIAN HIEROGLYPH A479;Lo;0;L;;;;;N;;;;; +14617;ANATOLIAN HIEROGLYPH A480;Lo;0;L;;;;;N;;;;; +14618;ANATOLIAN HIEROGLYPH A481;Lo;0;L;;;;;N;;;;; +14619;ANATOLIAN HIEROGLYPH A482;Lo;0;L;;;;;N;;;;; +1461A;ANATOLIAN HIEROGLYPH A483;Lo;0;L;;;;;N;;;;; +1461B;ANATOLIAN HIEROGLYPH A484;Lo;0;L;;;;;N;;;;; +1461C;ANATOLIAN HIEROGLYPH A485;Lo;0;L;;;;;N;;;;; +1461D;ANATOLIAN HIEROGLYPH A486;Lo;0;L;;;;;N;;;;; +1461E;ANATOLIAN HIEROGLYPH A487;Lo;0;L;;;;;N;;;;; +1461F;ANATOLIAN HIEROGLYPH A488;Lo;0;L;;;;;N;;;;; +14620;ANATOLIAN HIEROGLYPH A489;Lo;0;L;;;;;N;;;;; +14621;ANATOLIAN HIEROGLYPH A490;Lo;0;L;;;;;N;;;;; +14622;ANATOLIAN HIEROGLYPH A491;Lo;0;L;;;;;N;;;;; +14623;ANATOLIAN HIEROGLYPH A492;Lo;0;L;;;;;N;;;;; +14624;ANATOLIAN HIEROGLYPH A493;Lo;0;L;;;;;N;;;;; +14625;ANATOLIAN HIEROGLYPH A494;Lo;0;L;;;;;N;;;;; +14626;ANATOLIAN HIEROGLYPH A495;Lo;0;L;;;;;N;;;;; +14627;ANATOLIAN HIEROGLYPH A496;Lo;0;L;;;;;N;;;;; +14628;ANATOLIAN HIEROGLYPH A497;Lo;0;L;;;;;N;;;;; +14629;ANATOLIAN HIEROGLYPH A501;Lo;0;L;;;;;N;;;;; +1462A;ANATOLIAN HIEROGLYPH A502;Lo;0;L;;;;;N;;;;; +1462B;ANATOLIAN HIEROGLYPH A503;Lo;0;L;;;;;N;;;;; +1462C;ANATOLIAN HIEROGLYPH A504;Lo;0;L;;;;;N;;;;; +1462D;ANATOLIAN HIEROGLYPH A505;Lo;0;L;;;;;N;;;;; +1462E;ANATOLIAN HIEROGLYPH A506;Lo;0;L;;;;;N;;;;; +1462F;ANATOLIAN HIEROGLYPH A507;Lo;0;L;;;;;N;;;;; +14630;ANATOLIAN HIEROGLYPH A508;Lo;0;L;;;;;N;;;;; +14631;ANATOLIAN HIEROGLYPH A509;Lo;0;L;;;;;N;;;;; +14632;ANATOLIAN HIEROGLYPH A510;Lo;0;L;;;;;N;;;;; +14633;ANATOLIAN HIEROGLYPH A511;Lo;0;L;;;;;N;;;;; +14634;ANATOLIAN HIEROGLYPH A512;Lo;0;L;;;;;N;;;;; +14635;ANATOLIAN HIEROGLYPH A513;Lo;0;L;;;;;N;;;;; +14636;ANATOLIAN HIEROGLYPH A514;Lo;0;L;;;;;N;;;;; +14637;ANATOLIAN HIEROGLYPH A515;Lo;0;L;;;;;N;;;;; +14638;ANATOLIAN HIEROGLYPH A516;Lo;0;L;;;;;N;;;;; +14639;ANATOLIAN HIEROGLYPH A517;Lo;0;L;;;;;N;;;;; +1463A;ANATOLIAN HIEROGLYPH A518;Lo;0;L;;;;;N;;;;; +1463B;ANATOLIAN HIEROGLYPH A519;Lo;0;L;;;;;N;;;;; +1463C;ANATOLIAN HIEROGLYPH A520;Lo;0;L;;;;;N;;;;; +1463D;ANATOLIAN HIEROGLYPH A521;Lo;0;L;;;;;N;;;;; +1463E;ANATOLIAN HIEROGLYPH A522;Lo;0;L;;;;;N;;;;; +1463F;ANATOLIAN HIEROGLYPH A523;Lo;0;L;;;;;N;;;;; +14640;ANATOLIAN HIEROGLYPH A524;Lo;0;L;;;;;N;;;;; +14641;ANATOLIAN HIEROGLYPH A525;Lo;0;L;;;;;N;;;;; +14642;ANATOLIAN HIEROGLYPH A526;Lo;0;L;;;;;N;;;;; +14643;ANATOLIAN HIEROGLYPH A527;Lo;0;L;;;;;N;;;;; +14644;ANATOLIAN HIEROGLYPH A528;Lo;0;L;;;;;N;;;;; +14645;ANATOLIAN HIEROGLYPH A529;Lo;0;L;;;;;N;;;;; +14646;ANATOLIAN HIEROGLYPH A530;Lo;0;L;;;;;N;;;;; +16800;BAMUM LETTER PHASE-A NGKUE MFON;Lo;0;L;;;;;N;;;;; +16801;BAMUM LETTER PHASE-A GBIEE FON;Lo;0;L;;;;;N;;;;; +16802;BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE;Lo;0;L;;;;;N;;;;; +16803;BAMUM LETTER PHASE-A PON MFON PIPAEMBA;Lo;0;L;;;;;N;;;;; +16804;BAMUM LETTER PHASE-A NAA MFON;Lo;0;L;;;;;N;;;;; +16805;BAMUM LETTER PHASE-A SHUENSHUET;Lo;0;L;;;;;N;;;;; +16806;BAMUM LETTER PHASE-A TITA MFON;Lo;0;L;;;;;N;;;;; +16807;BAMUM LETTER PHASE-A NZA MFON;Lo;0;L;;;;;N;;;;; +16808;BAMUM LETTER PHASE-A SHINDA PA NJI;Lo;0;L;;;;;N;;;;; +16809;BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE;Lo;0;L;;;;;N;;;;; +1680A;BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA;Lo;0;L;;;;;N;;;;; +1680B;BAMUM LETTER PHASE-A MAEMBGBIEE;Lo;0;L;;;;;N;;;;; +1680C;BAMUM LETTER PHASE-A TU MAEMBA;Lo;0;L;;;;;N;;;;; +1680D;BAMUM LETTER PHASE-A NGANGU;Lo;0;L;;;;;N;;;;; +1680E;BAMUM LETTER PHASE-A MAEMVEUX;Lo;0;L;;;;;N;;;;; +1680F;BAMUM LETTER PHASE-A MANSUAE;Lo;0;L;;;;;N;;;;; +16810;BAMUM LETTER PHASE-A MVEUAENGAM;Lo;0;L;;;;;N;;;;; +16811;BAMUM LETTER PHASE-A SEUNYAM;Lo;0;L;;;;;N;;;;; +16812;BAMUM LETTER PHASE-A NTOQPEN;Lo;0;L;;;;;N;;;;; +16813;BAMUM LETTER PHASE-A KEUKEUTNDA;Lo;0;L;;;;;N;;;;; +16814;BAMUM LETTER PHASE-A NKINDI;Lo;0;L;;;;;N;;;;; +16815;BAMUM LETTER PHASE-A SUU;Lo;0;L;;;;;N;;;;; +16816;BAMUM LETTER PHASE-A NGKUENZEUM;Lo;0;L;;;;;N;;;;; +16817;BAMUM LETTER PHASE-A LAPAQ;Lo;0;L;;;;;N;;;;; +16818;BAMUM LETTER PHASE-A LET KUT;Lo;0;L;;;;;N;;;;; +16819;BAMUM LETTER PHASE-A NTAP MFAA;Lo;0;L;;;;;N;;;;; +1681A;BAMUM LETTER PHASE-A MAEKEUP;Lo;0;L;;;;;N;;;;; +1681B;BAMUM LETTER PHASE-A PASHAE;Lo;0;L;;;;;N;;;;; +1681C;BAMUM LETTER PHASE-A GHEUAERAE;Lo;0;L;;;;;N;;;;; +1681D;BAMUM LETTER PHASE-A PAMSHAE;Lo;0;L;;;;;N;;;;; +1681E;BAMUM LETTER PHASE-A MON NGGEUAET;Lo;0;L;;;;;N;;;;; +1681F;BAMUM LETTER PHASE-A NZUN MEUT;Lo;0;L;;;;;N;;;;; +16820;BAMUM LETTER PHASE-A U YUQ NAE;Lo;0;L;;;;;N;;;;; +16821;BAMUM LETTER PHASE-A GHEUAEGHEUAE;Lo;0;L;;;;;N;;;;; +16822;BAMUM LETTER PHASE-A NTAP NTAA;Lo;0;L;;;;;N;;;;; +16823;BAMUM LETTER PHASE-A SISA;Lo;0;L;;;;;N;;;;; +16824;BAMUM LETTER PHASE-A MGBASA;Lo;0;L;;;;;N;;;;; +16825;BAMUM LETTER PHASE-A MEUNJOMNDEUQ;Lo;0;L;;;;;N;;;;; +16826;BAMUM LETTER PHASE-A MOOMPUQ;Lo;0;L;;;;;N;;;;; +16827;BAMUM LETTER PHASE-A KAFA;Lo;0;L;;;;;N;;;;; +16828;BAMUM LETTER PHASE-A PA LEERAEWA;Lo;0;L;;;;;N;;;;; +16829;BAMUM LETTER PHASE-A NDA LEERAEWA;Lo;0;L;;;;;N;;;;; +1682A;BAMUM LETTER PHASE-A PET;Lo;0;L;;;;;N;;;;; +1682B;BAMUM LETTER PHASE-A MAEMKPEN;Lo;0;L;;;;;N;;;;; +1682C;BAMUM LETTER PHASE-A NIKA;Lo;0;L;;;;;N;;;;; +1682D;BAMUM LETTER PHASE-A PUP;Lo;0;L;;;;;N;;;;; +1682E;BAMUM LETTER PHASE-A TUAEP;Lo;0;L;;;;;N;;;;; +1682F;BAMUM LETTER PHASE-A LUAEP;Lo;0;L;;;;;N;;;;; +16830;BAMUM LETTER PHASE-A SONJAM;Lo;0;L;;;;;N;;;;; +16831;BAMUM LETTER PHASE-A TEUTEUWEN;Lo;0;L;;;;;N;;;;; +16832;BAMUM LETTER PHASE-A MAENYI;Lo;0;L;;;;;N;;;;; +16833;BAMUM LETTER PHASE-A KET;Lo;0;L;;;;;N;;;;; +16834;BAMUM LETTER PHASE-A NDAANGGEUAET;Lo;0;L;;;;;N;;;;; +16835;BAMUM LETTER PHASE-A KUOQ;Lo;0;L;;;;;N;;;;; +16836;BAMUM LETTER PHASE-A MOOMEUT;Lo;0;L;;;;;N;;;;; +16837;BAMUM LETTER PHASE-A SHUM;Lo;0;L;;;;;N;;;;; +16838;BAMUM LETTER PHASE-A LOMMAE;Lo;0;L;;;;;N;;;;; +16839;BAMUM LETTER PHASE-A FIRI;Lo;0;L;;;;;N;;;;; +1683A;BAMUM LETTER PHASE-A ROM;Lo;0;L;;;;;N;;;;; +1683B;BAMUM LETTER PHASE-A KPOQ;Lo;0;L;;;;;N;;;;; +1683C;BAMUM LETTER PHASE-A SOQ;Lo;0;L;;;;;N;;;;; +1683D;BAMUM LETTER PHASE-A MAP PIEET;Lo;0;L;;;;;N;;;;; +1683E;BAMUM LETTER PHASE-A SHIRAE;Lo;0;L;;;;;N;;;;; +1683F;BAMUM LETTER PHASE-A NTAP;Lo;0;L;;;;;N;;;;; +16840;BAMUM LETTER PHASE-A SHOQ NSHUT YUM;Lo;0;L;;;;;N;;;;; +16841;BAMUM LETTER PHASE-A NYIT MONGKEUAEQ;Lo;0;L;;;;;N;;;;; +16842;BAMUM LETTER PHASE-A PAARAE;Lo;0;L;;;;;N;;;;; +16843;BAMUM LETTER PHASE-A NKAARAE;Lo;0;L;;;;;N;;;;; +16844;BAMUM LETTER PHASE-A UNKNOWN;Lo;0;L;;;;;N;;;;; +16845;BAMUM LETTER PHASE-A NGGEN;Lo;0;L;;;;;N;;;;; +16846;BAMUM LETTER PHASE-A MAESI;Lo;0;L;;;;;N;;;;; +16847;BAMUM LETTER PHASE-A NJAM;Lo;0;L;;;;;N;;;;; +16848;BAMUM LETTER PHASE-A MBANYI;Lo;0;L;;;;;N;;;;; +16849;BAMUM LETTER PHASE-A NYET;Lo;0;L;;;;;N;;;;; +1684A;BAMUM LETTER PHASE-A TEUAEN;Lo;0;L;;;;;N;;;;; +1684B;BAMUM LETTER PHASE-A SOT;Lo;0;L;;;;;N;;;;; +1684C;BAMUM LETTER PHASE-A PAAM;Lo;0;L;;;;;N;;;;; +1684D;BAMUM LETTER PHASE-A NSHIEE;Lo;0;L;;;;;N;;;;; +1684E;BAMUM LETTER PHASE-A MAEM;Lo;0;L;;;;;N;;;;; +1684F;BAMUM LETTER PHASE-A NYI;Lo;0;L;;;;;N;;;;; +16850;BAMUM LETTER PHASE-A KAQ;Lo;0;L;;;;;N;;;;; +16851;BAMUM LETTER PHASE-A NSHA;Lo;0;L;;;;;N;;;;; +16852;BAMUM LETTER PHASE-A VEE;Lo;0;L;;;;;N;;;;; +16853;BAMUM LETTER PHASE-A LU;Lo;0;L;;;;;N;;;;; +16854;BAMUM LETTER PHASE-A NEN;Lo;0;L;;;;;N;;;;; +16855;BAMUM LETTER PHASE-A NAQ;Lo;0;L;;;;;N;;;;; +16856;BAMUM LETTER PHASE-A MBAQ;Lo;0;L;;;;;N;;;;; +16857;BAMUM LETTER PHASE-B NSHUET;Lo;0;L;;;;;N;;;;; +16858;BAMUM LETTER PHASE-B TU MAEMGBIEE;Lo;0;L;;;;;N;;;;; +16859;BAMUM LETTER PHASE-B SIEE;Lo;0;L;;;;;N;;;;; +1685A;BAMUM LETTER PHASE-B SET TU;Lo;0;L;;;;;N;;;;; +1685B;BAMUM LETTER PHASE-B LOM NTEUM;Lo;0;L;;;;;N;;;;; +1685C;BAMUM LETTER PHASE-B MBA MAELEE;Lo;0;L;;;;;N;;;;; +1685D;BAMUM LETTER PHASE-B KIEEM;Lo;0;L;;;;;N;;;;; +1685E;BAMUM LETTER PHASE-B YEURAE;Lo;0;L;;;;;N;;;;; +1685F;BAMUM LETTER PHASE-B MBAARAE;Lo;0;L;;;;;N;;;;; +16860;BAMUM LETTER PHASE-B KAM;Lo;0;L;;;;;N;;;;; +16861;BAMUM LETTER PHASE-B PEESHI;Lo;0;L;;;;;N;;;;; +16862;BAMUM LETTER PHASE-B YAFU LEERAEWA;Lo;0;L;;;;;N;;;;; +16863;BAMUM LETTER PHASE-B LAM NSHUT NYAM;Lo;0;L;;;;;N;;;;; +16864;BAMUM LETTER PHASE-B NTIEE SHEUOQ;Lo;0;L;;;;;N;;;;; +16865;BAMUM LETTER PHASE-B NDU NJAA;Lo;0;L;;;;;N;;;;; +16866;BAMUM LETTER PHASE-B GHEUGHEUAEM;Lo;0;L;;;;;N;;;;; +16867;BAMUM LETTER PHASE-B PIT;Lo;0;L;;;;;N;;;;; +16868;BAMUM LETTER PHASE-B TU NSIEE;Lo;0;L;;;;;N;;;;; +16869;BAMUM LETTER PHASE-B SHET NJAQ;Lo;0;L;;;;;N;;;;; +1686A;BAMUM LETTER PHASE-B SHEUAEQTU;Lo;0;L;;;;;N;;;;; +1686B;BAMUM LETTER PHASE-B MFON TEUAEQ;Lo;0;L;;;;;N;;;;; +1686C;BAMUM LETTER PHASE-B MBIT MBAAKET;Lo;0;L;;;;;N;;;;; +1686D;BAMUM LETTER PHASE-B NYI NTEUM;Lo;0;L;;;;;N;;;;; +1686E;BAMUM LETTER PHASE-B KEUPUQ;Lo;0;L;;;;;N;;;;; +1686F;BAMUM LETTER PHASE-B GHEUGHEN;Lo;0;L;;;;;N;;;;; +16870;BAMUM LETTER PHASE-B KEUYEUX;Lo;0;L;;;;;N;;;;; +16871;BAMUM LETTER PHASE-B LAANAE;Lo;0;L;;;;;N;;;;; +16872;BAMUM LETTER PHASE-B PARUM;Lo;0;L;;;;;N;;;;; +16873;BAMUM LETTER PHASE-B VEUM;Lo;0;L;;;;;N;;;;; +16874;BAMUM LETTER PHASE-B NGKINDI MVOP;Lo;0;L;;;;;N;;;;; +16875;BAMUM LETTER PHASE-B NGGEU MBU;Lo;0;L;;;;;N;;;;; +16876;BAMUM LETTER PHASE-B WUAET;Lo;0;L;;;;;N;;;;; +16877;BAMUM LETTER PHASE-B SAKEUAE;Lo;0;L;;;;;N;;;;; +16878;BAMUM LETTER PHASE-B TAAM;Lo;0;L;;;;;N;;;;; +16879;BAMUM LETTER PHASE-B MEUQ;Lo;0;L;;;;;N;;;;; +1687A;BAMUM LETTER PHASE-B NGGUOQ;Lo;0;L;;;;;N;;;;; +1687B;BAMUM LETTER PHASE-B NGGUOQ LARGE;Lo;0;L;;;;;N;;;;; +1687C;BAMUM LETTER PHASE-B MFIYAQ;Lo;0;L;;;;;N;;;;; +1687D;BAMUM LETTER PHASE-B SUE;Lo;0;L;;;;;N;;;;; +1687E;BAMUM LETTER PHASE-B MBEURI;Lo;0;L;;;;;N;;;;; +1687F;BAMUM LETTER PHASE-B MONTIEEN;Lo;0;L;;;;;N;;;;; +16880;BAMUM LETTER PHASE-B NYAEMAE;Lo;0;L;;;;;N;;;;; +16881;BAMUM LETTER PHASE-B PUNGAAM;Lo;0;L;;;;;N;;;;; +16882;BAMUM LETTER PHASE-B MEUT NGGEET;Lo;0;L;;;;;N;;;;; +16883;BAMUM LETTER PHASE-B FEUX;Lo;0;L;;;;;N;;;;; +16884;BAMUM LETTER PHASE-B MBUOQ;Lo;0;L;;;;;N;;;;; +16885;BAMUM LETTER PHASE-B FEE;Lo;0;L;;;;;N;;;;; +16886;BAMUM LETTER PHASE-B KEUAEM;Lo;0;L;;;;;N;;;;; +16887;BAMUM LETTER PHASE-B MA NJEUAENA;Lo;0;L;;;;;N;;;;; +16888;BAMUM LETTER PHASE-B MA NJUQA;Lo;0;L;;;;;N;;;;; +16889;BAMUM LETTER PHASE-B LET;Lo;0;L;;;;;N;;;;; +1688A;BAMUM LETTER PHASE-B NGGAAM;Lo;0;L;;;;;N;;;;; +1688B;BAMUM LETTER PHASE-B NSEN;Lo;0;L;;;;;N;;;;; +1688C;BAMUM LETTER PHASE-B MA;Lo;0;L;;;;;N;;;;; +1688D;BAMUM LETTER PHASE-B KIQ;Lo;0;L;;;;;N;;;;; +1688E;BAMUM LETTER PHASE-B NGOM;Lo;0;L;;;;;N;;;;; +1688F;BAMUM LETTER PHASE-C NGKUE MAEMBA;Lo;0;L;;;;;N;;;;; +16890;BAMUM LETTER PHASE-C NZA;Lo;0;L;;;;;N;;;;; +16891;BAMUM LETTER PHASE-C YUM;Lo;0;L;;;;;N;;;;; +16892;BAMUM LETTER PHASE-C WANGKUOQ;Lo;0;L;;;;;N;;;;; +16893;BAMUM LETTER PHASE-C NGGEN;Lo;0;L;;;;;N;;;;; +16894;BAMUM LETTER PHASE-C NDEUAEREE;Lo;0;L;;;;;N;;;;; +16895;BAMUM LETTER PHASE-C NGKAQ;Lo;0;L;;;;;N;;;;; +16896;BAMUM LETTER PHASE-C GHARAE;Lo;0;L;;;;;N;;;;; +16897;BAMUM LETTER PHASE-C MBEEKEET;Lo;0;L;;;;;N;;;;; +16898;BAMUM LETTER PHASE-C GBAYI;Lo;0;L;;;;;N;;;;; +16899;BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN;Lo;0;L;;;;;N;;;;; +1689A;BAMUM LETTER PHASE-C NTU MBIT;Lo;0;L;;;;;N;;;;; +1689B;BAMUM LETTER PHASE-C MBEUM;Lo;0;L;;;;;N;;;;; +1689C;BAMUM LETTER PHASE-C PIRIEEN;Lo;0;L;;;;;N;;;;; +1689D;BAMUM LETTER PHASE-C NDOMBU;Lo;0;L;;;;;N;;;;; +1689E;BAMUM LETTER PHASE-C MBAA CABBAGE-TREE;Lo;0;L;;;;;N;;;;; +1689F;BAMUM LETTER PHASE-C KEUSHEUAEP;Lo;0;L;;;;;N;;;;; +168A0;BAMUM LETTER PHASE-C GHAP;Lo;0;L;;;;;N;;;;; +168A1;BAMUM LETTER PHASE-C KEUKAQ;Lo;0;L;;;;;N;;;;; +168A2;BAMUM LETTER PHASE-C YU MUOMAE;Lo;0;L;;;;;N;;;;; +168A3;BAMUM LETTER PHASE-C NZEUM;Lo;0;L;;;;;N;;;;; +168A4;BAMUM LETTER PHASE-C MBUE;Lo;0;L;;;;;N;;;;; +168A5;BAMUM LETTER PHASE-C NSEUAEN;Lo;0;L;;;;;N;;;;; +168A6;BAMUM LETTER PHASE-C MBIT;Lo;0;L;;;;;N;;;;; +168A7;BAMUM LETTER PHASE-C YEUQ;Lo;0;L;;;;;N;;;;; +168A8;BAMUM LETTER PHASE-C KPARAQ;Lo;0;L;;;;;N;;;;; +168A9;BAMUM LETTER PHASE-C KAA;Lo;0;L;;;;;N;;;;; +168AA;BAMUM LETTER PHASE-C SEUX;Lo;0;L;;;;;N;;;;; +168AB;BAMUM LETTER PHASE-C NDIDA;Lo;0;L;;;;;N;;;;; +168AC;BAMUM LETTER PHASE-C TAASHAE;Lo;0;L;;;;;N;;;;; +168AD;BAMUM LETTER PHASE-C NJUEQ;Lo;0;L;;;;;N;;;;; +168AE;BAMUM LETTER PHASE-C TITA YUE;Lo;0;L;;;;;N;;;;; +168AF;BAMUM LETTER PHASE-C SUAET;Lo;0;L;;;;;N;;;;; +168B0;BAMUM LETTER PHASE-C NGGUAEN NYAM;Lo;0;L;;;;;N;;;;; +168B1;BAMUM LETTER PHASE-C VEUX;Lo;0;L;;;;;N;;;;; +168B2;BAMUM LETTER PHASE-C NANSANAQ;Lo;0;L;;;;;N;;;;; +168B3;BAMUM LETTER PHASE-C MA KEUAERI;Lo;0;L;;;;;N;;;;; +168B4;BAMUM LETTER PHASE-C NTAA;Lo;0;L;;;;;N;;;;; +168B5;BAMUM LETTER PHASE-C NGGUON;Lo;0;L;;;;;N;;;;; +168B6;BAMUM LETTER PHASE-C LAP;Lo;0;L;;;;;N;;;;; +168B7;BAMUM LETTER PHASE-C MBIRIEEN;Lo;0;L;;;;;N;;;;; +168B8;BAMUM LETTER PHASE-C MGBASAQ;Lo;0;L;;;;;N;;;;; +168B9;BAMUM LETTER PHASE-C NTEUNGBA;Lo;0;L;;;;;N;;;;; +168BA;BAMUM LETTER PHASE-C TEUTEUX;Lo;0;L;;;;;N;;;;; +168BB;BAMUM LETTER PHASE-C NGGUM;Lo;0;L;;;;;N;;;;; +168BC;BAMUM LETTER PHASE-C FUE;Lo;0;L;;;;;N;;;;; +168BD;BAMUM LETTER PHASE-C NDEUT;Lo;0;L;;;;;N;;;;; +168BE;BAMUM LETTER PHASE-C NSA;Lo;0;L;;;;;N;;;;; +168BF;BAMUM LETTER PHASE-C NSHAQ;Lo;0;L;;;;;N;;;;; +168C0;BAMUM LETTER PHASE-C BUNG;Lo;0;L;;;;;N;;;;; +168C1;BAMUM LETTER PHASE-C VEUAEPEN;Lo;0;L;;;;;N;;;;; +168C2;BAMUM LETTER PHASE-C MBERAE;Lo;0;L;;;;;N;;;;; +168C3;BAMUM LETTER PHASE-C RU;Lo;0;L;;;;;N;;;;; +168C4;BAMUM LETTER PHASE-C NJAEM;Lo;0;L;;;;;N;;;;; +168C5;BAMUM LETTER PHASE-C LAM;Lo;0;L;;;;;N;;;;; +168C6;BAMUM LETTER PHASE-C TITUAEP;Lo;0;L;;;;;N;;;;; +168C7;BAMUM LETTER PHASE-C NSUOT NGOM;Lo;0;L;;;;;N;;;;; +168C8;BAMUM LETTER PHASE-C NJEEEE;Lo;0;L;;;;;N;;;;; +168C9;BAMUM LETTER PHASE-C KET;Lo;0;L;;;;;N;;;;; +168CA;BAMUM LETTER PHASE-C NGGU;Lo;0;L;;;;;N;;;;; +168CB;BAMUM LETTER PHASE-C MAESI;Lo;0;L;;;;;N;;;;; +168CC;BAMUM LETTER PHASE-C MBUAEM;Lo;0;L;;;;;N;;;;; +168CD;BAMUM LETTER PHASE-C LU;Lo;0;L;;;;;N;;;;; +168CE;BAMUM LETTER PHASE-C KUT;Lo;0;L;;;;;N;;;;; +168CF;BAMUM LETTER PHASE-C NJAM;Lo;0;L;;;;;N;;;;; +168D0;BAMUM LETTER PHASE-C NGOM;Lo;0;L;;;;;N;;;;; +168D1;BAMUM LETTER PHASE-C WUP;Lo;0;L;;;;;N;;;;; +168D2;BAMUM LETTER PHASE-C NGGUEET;Lo;0;L;;;;;N;;;;; +168D3;BAMUM LETTER PHASE-C NSOM;Lo;0;L;;;;;N;;;;; +168D4;BAMUM LETTER PHASE-C NTEN;Lo;0;L;;;;;N;;;;; +168D5;BAMUM LETTER PHASE-C KUOP NKAARAE;Lo;0;L;;;;;N;;;;; +168D6;BAMUM LETTER PHASE-C NSUN;Lo;0;L;;;;;N;;;;; +168D7;BAMUM LETTER PHASE-C NDAM;Lo;0;L;;;;;N;;;;; +168D8;BAMUM LETTER PHASE-C MA NSIEE;Lo;0;L;;;;;N;;;;; +168D9;BAMUM LETTER PHASE-C YAA;Lo;0;L;;;;;N;;;;; +168DA;BAMUM LETTER PHASE-C NDAP;Lo;0;L;;;;;N;;;;; +168DB;BAMUM LETTER PHASE-C SHUEQ;Lo;0;L;;;;;N;;;;; +168DC;BAMUM LETTER PHASE-C SETFON;Lo;0;L;;;;;N;;;;; +168DD;BAMUM LETTER PHASE-C MBI;Lo;0;L;;;;;N;;;;; +168DE;BAMUM LETTER PHASE-C MAEMBA;Lo;0;L;;;;;N;;;;; +168DF;BAMUM LETTER PHASE-C MBANYI;Lo;0;L;;;;;N;;;;; +168E0;BAMUM LETTER PHASE-C KEUSEUX;Lo;0;L;;;;;N;;;;; +168E1;BAMUM LETTER PHASE-C MBEUX;Lo;0;L;;;;;N;;;;; +168E2;BAMUM LETTER PHASE-C KEUM;Lo;0;L;;;;;N;;;;; +168E3;BAMUM LETTER PHASE-C MBAA PICKET;Lo;0;L;;;;;N;;;;; +168E4;BAMUM LETTER PHASE-C YUWOQ;Lo;0;L;;;;;N;;;;; +168E5;BAMUM LETTER PHASE-C NJEUX;Lo;0;L;;;;;N;;;;; +168E6;BAMUM LETTER PHASE-C MIEE;Lo;0;L;;;;;N;;;;; +168E7;BAMUM LETTER PHASE-C MUAE;Lo;0;L;;;;;N;;;;; +168E8;BAMUM LETTER PHASE-C SHIQ;Lo;0;L;;;;;N;;;;; +168E9;BAMUM LETTER PHASE-C KEN LAW;Lo;0;L;;;;;N;;;;; +168EA;BAMUM LETTER PHASE-C KEN FATIGUE;Lo;0;L;;;;;N;;;;; +168EB;BAMUM LETTER PHASE-C NGAQ;Lo;0;L;;;;;N;;;;; +168EC;BAMUM LETTER PHASE-C NAQ;Lo;0;L;;;;;N;;;;; +168ED;BAMUM LETTER PHASE-C LIQ;Lo;0;L;;;;;N;;;;; +168EE;BAMUM LETTER PHASE-C PIN;Lo;0;L;;;;;N;;;;; +168EF;BAMUM LETTER PHASE-C PEN;Lo;0;L;;;;;N;;;;; +168F0;BAMUM LETTER PHASE-C TET;Lo;0;L;;;;;N;;;;; +168F1;BAMUM LETTER PHASE-D MBUO;Lo;0;L;;;;;N;;;;; +168F2;BAMUM LETTER PHASE-D WAP;Lo;0;L;;;;;N;;;;; +168F3;BAMUM LETTER PHASE-D NJI;Lo;0;L;;;;;N;;;;; +168F4;BAMUM LETTER PHASE-D MFON;Lo;0;L;;;;;N;;;;; +168F5;BAMUM LETTER PHASE-D NJIEE;Lo;0;L;;;;;N;;;;; +168F6;BAMUM LETTER PHASE-D LIEE;Lo;0;L;;;;;N;;;;; +168F7;BAMUM LETTER PHASE-D NJEUT;Lo;0;L;;;;;N;;;;; +168F8;BAMUM LETTER PHASE-D NSHEE;Lo;0;L;;;;;N;;;;; +168F9;BAMUM LETTER PHASE-D NGGAAMAE;Lo;0;L;;;;;N;;;;; +168FA;BAMUM LETTER PHASE-D NYAM;Lo;0;L;;;;;N;;;;; +168FB;BAMUM LETTER PHASE-D WUAEN;Lo;0;L;;;;;N;;;;; +168FC;BAMUM LETTER PHASE-D NGKUN;Lo;0;L;;;;;N;;;;; +168FD;BAMUM LETTER PHASE-D SHEE;Lo;0;L;;;;;N;;;;; +168FE;BAMUM LETTER PHASE-D NGKAP;Lo;0;L;;;;;N;;;;; +168FF;BAMUM LETTER PHASE-D KEUAETMEUN;Lo;0;L;;;;;N;;;;; +16900;BAMUM LETTER PHASE-D TEUT;Lo;0;L;;;;;N;;;;; +16901;BAMUM LETTER PHASE-D SHEUAE;Lo;0;L;;;;;N;;;;; +16902;BAMUM LETTER PHASE-D NJAP;Lo;0;L;;;;;N;;;;; +16903;BAMUM LETTER PHASE-D SUE;Lo;0;L;;;;;N;;;;; +16904;BAMUM LETTER PHASE-D KET;Lo;0;L;;;;;N;;;;; +16905;BAMUM LETTER PHASE-D YAEMMAE;Lo;0;L;;;;;N;;;;; +16906;BAMUM LETTER PHASE-D KUOM;Lo;0;L;;;;;N;;;;; +16907;BAMUM LETTER PHASE-D SAP;Lo;0;L;;;;;N;;;;; +16908;BAMUM LETTER PHASE-D MFEUT;Lo;0;L;;;;;N;;;;; +16909;BAMUM LETTER PHASE-D NDEUX;Lo;0;L;;;;;N;;;;; +1690A;BAMUM LETTER PHASE-D MALEERI;Lo;0;L;;;;;N;;;;; +1690B;BAMUM LETTER PHASE-D MEUT;Lo;0;L;;;;;N;;;;; +1690C;BAMUM LETTER PHASE-D SEUAEQ;Lo;0;L;;;;;N;;;;; +1690D;BAMUM LETTER PHASE-D YEN;Lo;0;L;;;;;N;;;;; +1690E;BAMUM LETTER PHASE-D NJEUAEM;Lo;0;L;;;;;N;;;;; +1690F;BAMUM LETTER PHASE-D KEUOT MBUAE;Lo;0;L;;;;;N;;;;; +16910;BAMUM LETTER PHASE-D NGKEURI;Lo;0;L;;;;;N;;;;; +16911;BAMUM LETTER PHASE-D TU;Lo;0;L;;;;;N;;;;; +16912;BAMUM LETTER PHASE-D GHAA;Lo;0;L;;;;;N;;;;; +16913;BAMUM LETTER PHASE-D NGKYEE;Lo;0;L;;;;;N;;;;; +16914;BAMUM LETTER PHASE-D FEUFEUAET;Lo;0;L;;;;;N;;;;; +16915;BAMUM LETTER PHASE-D NDEE;Lo;0;L;;;;;N;;;;; +16916;BAMUM LETTER PHASE-D MGBOFUM;Lo;0;L;;;;;N;;;;; +16917;BAMUM LETTER PHASE-D LEUAEP;Lo;0;L;;;;;N;;;;; +16918;BAMUM LETTER PHASE-D NDON;Lo;0;L;;;;;N;;;;; +16919;BAMUM LETTER PHASE-D MONI;Lo;0;L;;;;;N;;;;; +1691A;BAMUM LETTER PHASE-D MGBEUN;Lo;0;L;;;;;N;;;;; +1691B;BAMUM LETTER PHASE-D PUUT;Lo;0;L;;;;;N;;;;; +1691C;BAMUM LETTER PHASE-D MGBIEE;Lo;0;L;;;;;N;;;;; +1691D;BAMUM LETTER PHASE-D MFO;Lo;0;L;;;;;N;;;;; +1691E;BAMUM LETTER PHASE-D LUM;Lo;0;L;;;;;N;;;;; +1691F;BAMUM LETTER PHASE-D NSIEEP;Lo;0;L;;;;;N;;;;; +16920;BAMUM LETTER PHASE-D MBAA;Lo;0;L;;;;;N;;;;; +16921;BAMUM LETTER PHASE-D KWAET;Lo;0;L;;;;;N;;;;; +16922;BAMUM LETTER PHASE-D NYET;Lo;0;L;;;;;N;;;;; +16923;BAMUM LETTER PHASE-D TEUAEN;Lo;0;L;;;;;N;;;;; +16924;BAMUM LETTER PHASE-D SOT;Lo;0;L;;;;;N;;;;; +16925;BAMUM LETTER PHASE-D YUWOQ;Lo;0;L;;;;;N;;;;; +16926;BAMUM LETTER PHASE-D KEUM;Lo;0;L;;;;;N;;;;; +16927;BAMUM LETTER PHASE-D RAEM;Lo;0;L;;;;;N;;;;; +16928;BAMUM LETTER PHASE-D TEEEE;Lo;0;L;;;;;N;;;;; +16929;BAMUM LETTER PHASE-D NGKEUAEQ;Lo;0;L;;;;;N;;;;; +1692A;BAMUM LETTER PHASE-D MFEUAE;Lo;0;L;;;;;N;;;;; +1692B;BAMUM LETTER PHASE-D NSIEET;Lo;0;L;;;;;N;;;;; +1692C;BAMUM LETTER PHASE-D KEUP;Lo;0;L;;;;;N;;;;; +1692D;BAMUM LETTER PHASE-D PIP;Lo;0;L;;;;;N;;;;; +1692E;BAMUM LETTER PHASE-D PEUTAE;Lo;0;L;;;;;N;;;;; +1692F;BAMUM LETTER PHASE-D NYUE;Lo;0;L;;;;;N;;;;; +16930;BAMUM LETTER PHASE-D LET;Lo;0;L;;;;;N;;;;; +16931;BAMUM LETTER PHASE-D NGGAAM;Lo;0;L;;;;;N;;;;; +16932;BAMUM LETTER PHASE-D MFIEE;Lo;0;L;;;;;N;;;;; +16933;BAMUM LETTER PHASE-D NGGWAEN;Lo;0;L;;;;;N;;;;; +16934;BAMUM LETTER PHASE-D YUOM;Lo;0;L;;;;;N;;;;; +16935;BAMUM LETTER PHASE-D PAP;Lo;0;L;;;;;N;;;;; +16936;BAMUM LETTER PHASE-D YUOP;Lo;0;L;;;;;N;;;;; +16937;BAMUM LETTER PHASE-D NDAM;Lo;0;L;;;;;N;;;;; +16938;BAMUM LETTER PHASE-D NTEUM;Lo;0;L;;;;;N;;;;; +16939;BAMUM LETTER PHASE-D SUAE;Lo;0;L;;;;;N;;;;; +1693A;BAMUM LETTER PHASE-D KUN;Lo;0;L;;;;;N;;;;; +1693B;BAMUM LETTER PHASE-D NGGEUX;Lo;0;L;;;;;N;;;;; +1693C;BAMUM LETTER PHASE-D NGKIEE;Lo;0;L;;;;;N;;;;; +1693D;BAMUM LETTER PHASE-D TUOT;Lo;0;L;;;;;N;;;;; +1693E;BAMUM LETTER PHASE-D MEUN;Lo;0;L;;;;;N;;;;; +1693F;BAMUM LETTER PHASE-D KUQ;Lo;0;L;;;;;N;;;;; +16940;BAMUM LETTER PHASE-D NSUM;Lo;0;L;;;;;N;;;;; +16941;BAMUM LETTER PHASE-D TEUN;Lo;0;L;;;;;N;;;;; +16942;BAMUM LETTER PHASE-D MAENJET;Lo;0;L;;;;;N;;;;; +16943;BAMUM LETTER PHASE-D NGGAP;Lo;0;L;;;;;N;;;;; +16944;BAMUM LETTER PHASE-D LEUM;Lo;0;L;;;;;N;;;;; +16945;BAMUM LETTER PHASE-D NGGUOM;Lo;0;L;;;;;N;;;;; +16946;BAMUM LETTER PHASE-D NSHUT;Lo;0;L;;;;;N;;;;; +16947;BAMUM LETTER PHASE-D NJUEQ;Lo;0;L;;;;;N;;;;; +16948;BAMUM LETTER PHASE-D GHEUAE;Lo;0;L;;;;;N;;;;; +16949;BAMUM LETTER PHASE-D KU;Lo;0;L;;;;;N;;;;; +1694A;BAMUM LETTER PHASE-D REN OLD;Lo;0;L;;;;;N;;;;; +1694B;BAMUM LETTER PHASE-D TAE;Lo;0;L;;;;;N;;;;; +1694C;BAMUM LETTER PHASE-D TOQ;Lo;0;L;;;;;N;;;;; +1694D;BAMUM LETTER PHASE-D NYI;Lo;0;L;;;;;N;;;;; +1694E;BAMUM LETTER PHASE-D RII;Lo;0;L;;;;;N;;;;; +1694F;BAMUM LETTER PHASE-D LEEEE;Lo;0;L;;;;;N;;;;; +16950;BAMUM LETTER PHASE-D MEEEE;Lo;0;L;;;;;N;;;;; +16951;BAMUM LETTER PHASE-D M;Lo;0;L;;;;;N;;;;; +16952;BAMUM LETTER PHASE-D SUU;Lo;0;L;;;;;N;;;;; +16953;BAMUM LETTER PHASE-D MU;Lo;0;L;;;;;N;;;;; +16954;BAMUM LETTER PHASE-D SHII;Lo;0;L;;;;;N;;;;; +16955;BAMUM LETTER PHASE-D SHEUX;Lo;0;L;;;;;N;;;;; +16956;BAMUM LETTER PHASE-D KYEE;Lo;0;L;;;;;N;;;;; +16957;BAMUM LETTER PHASE-D NU;Lo;0;L;;;;;N;;;;; +16958;BAMUM LETTER PHASE-D SHU;Lo;0;L;;;;;N;;;;; +16959;BAMUM LETTER PHASE-D NTEE;Lo;0;L;;;;;N;;;;; +1695A;BAMUM LETTER PHASE-D PEE;Lo;0;L;;;;;N;;;;; +1695B;BAMUM LETTER PHASE-D NI;Lo;0;L;;;;;N;;;;; +1695C;BAMUM LETTER PHASE-D SHOQ;Lo;0;L;;;;;N;;;;; +1695D;BAMUM LETTER PHASE-D PUQ;Lo;0;L;;;;;N;;;;; +1695E;BAMUM LETTER PHASE-D MVOP;Lo;0;L;;;;;N;;;;; +1695F;BAMUM LETTER PHASE-D LOQ;Lo;0;L;;;;;N;;;;; +16960;BAMUM LETTER PHASE-D REN MUCH;Lo;0;L;;;;;N;;;;; +16961;BAMUM LETTER PHASE-D TI;Lo;0;L;;;;;N;;;;; +16962;BAMUM LETTER PHASE-D NTUU;Lo;0;L;;;;;N;;;;; +16963;BAMUM LETTER PHASE-D MBAA SEVEN;Lo;0;L;;;;;N;;;;; +16964;BAMUM LETTER PHASE-D SAQ;Lo;0;L;;;;;N;;;;; +16965;BAMUM LETTER PHASE-D FAA;Lo;0;L;;;;;N;;;;; +16966;BAMUM LETTER PHASE-E NDAP;Lo;0;L;;;;;N;;;;; +16967;BAMUM LETTER PHASE-E TOON;Lo;0;L;;;;;N;;;;; +16968;BAMUM LETTER PHASE-E MBEUM;Lo;0;L;;;;;N;;;;; +16969;BAMUM LETTER PHASE-E LAP;Lo;0;L;;;;;N;;;;; +1696A;BAMUM LETTER PHASE-E VOM;Lo;0;L;;;;;N;;;;; +1696B;BAMUM LETTER PHASE-E LOON;Lo;0;L;;;;;N;;;;; +1696C;BAMUM LETTER PHASE-E PAA;Lo;0;L;;;;;N;;;;; +1696D;BAMUM LETTER PHASE-E SOM;Lo;0;L;;;;;N;;;;; +1696E;BAMUM LETTER PHASE-E RAQ;Lo;0;L;;;;;N;;;;; +1696F;BAMUM LETTER PHASE-E NSHUOP;Lo;0;L;;;;;N;;;;; +16970;BAMUM LETTER PHASE-E NDUN;Lo;0;L;;;;;N;;;;; +16971;BAMUM LETTER PHASE-E PUAE;Lo;0;L;;;;;N;;;;; +16972;BAMUM LETTER PHASE-E TAM;Lo;0;L;;;;;N;;;;; +16973;BAMUM LETTER PHASE-E NGKA;Lo;0;L;;;;;N;;;;; +16974;BAMUM LETTER PHASE-E KPEUX;Lo;0;L;;;;;N;;;;; +16975;BAMUM LETTER PHASE-E WUO;Lo;0;L;;;;;N;;;;; +16976;BAMUM LETTER PHASE-E SEE;Lo;0;L;;;;;N;;;;; +16977;BAMUM LETTER PHASE-E NGGEUAET;Lo;0;L;;;;;N;;;;; +16978;BAMUM LETTER PHASE-E PAAM;Lo;0;L;;;;;N;;;;; +16979;BAMUM LETTER PHASE-E TOO;Lo;0;L;;;;;N;;;;; +1697A;BAMUM LETTER PHASE-E KUOP;Lo;0;L;;;;;N;;;;; +1697B;BAMUM LETTER PHASE-E LOM;Lo;0;L;;;;;N;;;;; +1697C;BAMUM LETTER PHASE-E NSHIEE;Lo;0;L;;;;;N;;;;; +1697D;BAMUM LETTER PHASE-E NGOP;Lo;0;L;;;;;N;;;;; +1697E;BAMUM LETTER PHASE-E MAEM;Lo;0;L;;;;;N;;;;; +1697F;BAMUM LETTER PHASE-E NGKEUX;Lo;0;L;;;;;N;;;;; +16980;BAMUM LETTER PHASE-E NGOQ;Lo;0;L;;;;;N;;;;; +16981;BAMUM LETTER PHASE-E NSHUE;Lo;0;L;;;;;N;;;;; +16982;BAMUM LETTER PHASE-E RIMGBA;Lo;0;L;;;;;N;;;;; +16983;BAMUM LETTER PHASE-E NJEUX;Lo;0;L;;;;;N;;;;; +16984;BAMUM LETTER PHASE-E PEEM;Lo;0;L;;;;;N;;;;; +16985;BAMUM LETTER PHASE-E SAA;Lo;0;L;;;;;N;;;;; +16986;BAMUM LETTER PHASE-E NGGURAE;Lo;0;L;;;;;N;;;;; +16987;BAMUM LETTER PHASE-E MGBA;Lo;0;L;;;;;N;;;;; +16988;BAMUM LETTER PHASE-E GHEUX;Lo;0;L;;;;;N;;;;; +16989;BAMUM LETTER PHASE-E NGKEUAEM;Lo;0;L;;;;;N;;;;; +1698A;BAMUM LETTER PHASE-E NJAEMLI;Lo;0;L;;;;;N;;;;; +1698B;BAMUM LETTER PHASE-E MAP;Lo;0;L;;;;;N;;;;; +1698C;BAMUM LETTER PHASE-E LOOT;Lo;0;L;;;;;N;;;;; +1698D;BAMUM LETTER PHASE-E NGGEEEE;Lo;0;L;;;;;N;;;;; +1698E;BAMUM LETTER PHASE-E NDIQ;Lo;0;L;;;;;N;;;;; +1698F;BAMUM LETTER PHASE-E TAEN NTEUM;Lo;0;L;;;;;N;;;;; +16990;BAMUM LETTER PHASE-E SET;Lo;0;L;;;;;N;;;;; +16991;BAMUM LETTER PHASE-E PUM;Lo;0;L;;;;;N;;;;; +16992;BAMUM LETTER PHASE-E NDAA SOFTNESS;Lo;0;L;;;;;N;;;;; +16993;BAMUM LETTER PHASE-E NGGUAESHAE NYAM;Lo;0;L;;;;;N;;;;; +16994;BAMUM LETTER PHASE-E YIEE;Lo;0;L;;;;;N;;;;; +16995;BAMUM LETTER PHASE-E GHEUN;Lo;0;L;;;;;N;;;;; +16996;BAMUM LETTER PHASE-E TUAE;Lo;0;L;;;;;N;;;;; +16997;BAMUM LETTER PHASE-E YEUAE;Lo;0;L;;;;;N;;;;; +16998;BAMUM LETTER PHASE-E PO;Lo;0;L;;;;;N;;;;; +16999;BAMUM LETTER PHASE-E TUMAE;Lo;0;L;;;;;N;;;;; +1699A;BAMUM LETTER PHASE-E KEUAE;Lo;0;L;;;;;N;;;;; +1699B;BAMUM LETTER PHASE-E SUAEN;Lo;0;L;;;;;N;;;;; +1699C;BAMUM LETTER PHASE-E TEUAEQ;Lo;0;L;;;;;N;;;;; +1699D;BAMUM LETTER PHASE-E VEUAE;Lo;0;L;;;;;N;;;;; +1699E;BAMUM LETTER PHASE-E WEUX;Lo;0;L;;;;;N;;;;; +1699F;BAMUM LETTER PHASE-E LAAM;Lo;0;L;;;;;N;;;;; +169A0;BAMUM LETTER PHASE-E PU;Lo;0;L;;;;;N;;;;; +169A1;BAMUM LETTER PHASE-E TAAQ;Lo;0;L;;;;;N;;;;; +169A2;BAMUM LETTER PHASE-E GHAAMAE;Lo;0;L;;;;;N;;;;; +169A3;BAMUM LETTER PHASE-E NGEUREUT;Lo;0;L;;;;;N;;;;; +169A4;BAMUM LETTER PHASE-E SHEUAEQ;Lo;0;L;;;;;N;;;;; +169A5;BAMUM LETTER PHASE-E MGBEN;Lo;0;L;;;;;N;;;;; +169A6;BAMUM LETTER PHASE-E MBEE;Lo;0;L;;;;;N;;;;; +169A7;BAMUM LETTER PHASE-E NZAQ;Lo;0;L;;;;;N;;;;; +169A8;BAMUM LETTER PHASE-E NKOM;Lo;0;L;;;;;N;;;;; +169A9;BAMUM LETTER PHASE-E GBET;Lo;0;L;;;;;N;;;;; +169AA;BAMUM LETTER PHASE-E TUM;Lo;0;L;;;;;N;;;;; +169AB;BAMUM LETTER PHASE-E KUET;Lo;0;L;;;;;N;;;;; +169AC;BAMUM LETTER PHASE-E YAP;Lo;0;L;;;;;N;;;;; +169AD;BAMUM LETTER PHASE-E NYI CLEAVER;Lo;0;L;;;;;N;;;;; +169AE;BAMUM LETTER PHASE-E YIT;Lo;0;L;;;;;N;;;;; +169AF;BAMUM LETTER PHASE-E MFEUQ;Lo;0;L;;;;;N;;;;; +169B0;BAMUM LETTER PHASE-E NDIAQ;Lo;0;L;;;;;N;;;;; +169B1;BAMUM LETTER PHASE-E PIEEQ;Lo;0;L;;;;;N;;;;; +169B2;BAMUM LETTER PHASE-E YUEQ;Lo;0;L;;;;;N;;;;; +169B3;BAMUM LETTER PHASE-E LEUAEM;Lo;0;L;;;;;N;;;;; +169B4;BAMUM LETTER PHASE-E FUE;Lo;0;L;;;;;N;;;;; +169B5;BAMUM LETTER PHASE-E GBEUX;Lo;0;L;;;;;N;;;;; +169B6;BAMUM LETTER PHASE-E NGKUP;Lo;0;L;;;;;N;;;;; +169B7;BAMUM LETTER PHASE-E KET;Lo;0;L;;;;;N;;;;; +169B8;BAMUM LETTER PHASE-E MAE;Lo;0;L;;;;;N;;;;; +169B9;BAMUM LETTER PHASE-E NGKAAMI;Lo;0;L;;;;;N;;;;; +169BA;BAMUM LETTER PHASE-E GHET;Lo;0;L;;;;;N;;;;; +169BB;BAMUM LETTER PHASE-E FA;Lo;0;L;;;;;N;;;;; +169BC;BAMUM LETTER PHASE-E NTUM;Lo;0;L;;;;;N;;;;; +169BD;BAMUM LETTER PHASE-E PEUT;Lo;0;L;;;;;N;;;;; +169BE;BAMUM LETTER PHASE-E YEUM;Lo;0;L;;;;;N;;;;; +169BF;BAMUM LETTER PHASE-E NGGEUAE;Lo;0;L;;;;;N;;;;; +169C0;BAMUM LETTER PHASE-E NYI BETWEEN;Lo;0;L;;;;;N;;;;; +169C1;BAMUM LETTER PHASE-E NZUQ;Lo;0;L;;;;;N;;;;; +169C2;BAMUM LETTER PHASE-E POON;Lo;0;L;;;;;N;;;;; +169C3;BAMUM LETTER PHASE-E MIEE;Lo;0;L;;;;;N;;;;; +169C4;BAMUM LETTER PHASE-E FUET;Lo;0;L;;;;;N;;;;; +169C5;BAMUM LETTER PHASE-E NAE;Lo;0;L;;;;;N;;;;; +169C6;BAMUM LETTER PHASE-E MUAE;Lo;0;L;;;;;N;;;;; +169C7;BAMUM LETTER PHASE-E GHEUAE;Lo;0;L;;;;;N;;;;; +169C8;BAMUM LETTER PHASE-E FU I;Lo;0;L;;;;;N;;;;; +169C9;BAMUM LETTER PHASE-E MVI;Lo;0;L;;;;;N;;;;; +169CA;BAMUM LETTER PHASE-E PUAQ;Lo;0;L;;;;;N;;;;; +169CB;BAMUM LETTER PHASE-E NGKUM;Lo;0;L;;;;;N;;;;; +169CC;BAMUM LETTER PHASE-E KUT;Lo;0;L;;;;;N;;;;; +169CD;BAMUM LETTER PHASE-E PIET;Lo;0;L;;;;;N;;;;; +169CE;BAMUM LETTER PHASE-E NTAP;Lo;0;L;;;;;N;;;;; +169CF;BAMUM LETTER PHASE-E YEUAET;Lo;0;L;;;;;N;;;;; +169D0;BAMUM LETTER PHASE-E NGGUP;Lo;0;L;;;;;N;;;;; +169D1;BAMUM LETTER PHASE-E PA PEOPLE;Lo;0;L;;;;;N;;;;; +169D2;BAMUM LETTER PHASE-E FU CALL;Lo;0;L;;;;;N;;;;; +169D3;BAMUM LETTER PHASE-E FOM;Lo;0;L;;;;;N;;;;; +169D4;BAMUM LETTER PHASE-E NJEE;Lo;0;L;;;;;N;;;;; +169D5;BAMUM LETTER PHASE-E A;Lo;0;L;;;;;N;;;;; +169D6;BAMUM LETTER PHASE-E TOQ;Lo;0;L;;;;;N;;;;; +169D7;BAMUM LETTER PHASE-E O;Lo;0;L;;;;;N;;;;; +169D8;BAMUM LETTER PHASE-E I;Lo;0;L;;;;;N;;;;; +169D9;BAMUM LETTER PHASE-E LAQ;Lo;0;L;;;;;N;;;;; +169DA;BAMUM LETTER PHASE-E PA PLURAL;Lo;0;L;;;;;N;;;;; +169DB;BAMUM LETTER PHASE-E TAA;Lo;0;L;;;;;N;;;;; +169DC;BAMUM LETTER PHASE-E TAQ;Lo;0;L;;;;;N;;;;; +169DD;BAMUM LETTER PHASE-E NDAA MY HOUSE;Lo;0;L;;;;;N;;;;; +169DE;BAMUM LETTER PHASE-E SHIQ;Lo;0;L;;;;;N;;;;; +169DF;BAMUM LETTER PHASE-E YEUX;Lo;0;L;;;;;N;;;;; +169E0;BAMUM LETTER PHASE-E NGUAE;Lo;0;L;;;;;N;;;;; +169E1;BAMUM LETTER PHASE-E YUAEN;Lo;0;L;;;;;N;;;;; +169E2;BAMUM LETTER PHASE-E YOQ SWIMMING;Lo;0;L;;;;;N;;;;; +169E3;BAMUM LETTER PHASE-E YOQ COVER;Lo;0;L;;;;;N;;;;; +169E4;BAMUM LETTER PHASE-E YUQ;Lo;0;L;;;;;N;;;;; +169E5;BAMUM LETTER PHASE-E YUN;Lo;0;L;;;;;N;;;;; +169E6;BAMUM LETTER PHASE-E KEUX;Lo;0;L;;;;;N;;;;; +169E7;BAMUM LETTER PHASE-E PEUX;Lo;0;L;;;;;N;;;;; +169E8;BAMUM LETTER PHASE-E NJEE EPOCH;Lo;0;L;;;;;N;;;;; +169E9;BAMUM LETTER PHASE-E PUE;Lo;0;L;;;;;N;;;;; +169EA;BAMUM LETTER PHASE-E WUE;Lo;0;L;;;;;N;;;;; +169EB;BAMUM LETTER PHASE-E FEE;Lo;0;L;;;;;N;;;;; +169EC;BAMUM LETTER PHASE-E VEE;Lo;0;L;;;;;N;;;;; +169ED;BAMUM LETTER PHASE-E LU;Lo;0;L;;;;;N;;;;; +169EE;BAMUM LETTER PHASE-E MI;Lo;0;L;;;;;N;;;;; +169EF;BAMUM LETTER PHASE-E REUX;Lo;0;L;;;;;N;;;;; +169F0;BAMUM LETTER PHASE-E RAE;Lo;0;L;;;;;N;;;;; +169F1;BAMUM LETTER PHASE-E NGUAET;Lo;0;L;;;;;N;;;;; +169F2;BAMUM LETTER PHASE-E NGA;Lo;0;L;;;;;N;;;;; +169F3;BAMUM LETTER PHASE-E SHO;Lo;0;L;;;;;N;;;;; +169F4;BAMUM LETTER PHASE-E SHOQ;Lo;0;L;;;;;N;;;;; +169F5;BAMUM LETTER PHASE-E FU REMEDY;Lo;0;L;;;;;N;;;;; +169F6;BAMUM LETTER PHASE-E NA;Lo;0;L;;;;;N;;;;; +169F7;BAMUM LETTER PHASE-E PI;Lo;0;L;;;;;N;;;;; +169F8;BAMUM LETTER PHASE-E LOQ;Lo;0;L;;;;;N;;;;; +169F9;BAMUM LETTER PHASE-E KO;Lo;0;L;;;;;N;;;;; +169FA;BAMUM LETTER PHASE-E MEN;Lo;0;L;;;;;N;;;;; +169FB;BAMUM LETTER PHASE-E MA;Lo;0;L;;;;;N;;;;; +169FC;BAMUM LETTER PHASE-E MAQ;Lo;0;L;;;;;N;;;;; +169FD;BAMUM LETTER PHASE-E TEU;Lo;0;L;;;;;N;;;;; +169FE;BAMUM LETTER PHASE-E KI;Lo;0;L;;;;;N;;;;; +169FF;BAMUM LETTER PHASE-E MON;Lo;0;L;;;;;N;;;;; +16A00;BAMUM LETTER PHASE-E TEN;Lo;0;L;;;;;N;;;;; +16A01;BAMUM LETTER PHASE-E FAQ;Lo;0;L;;;;;N;;;;; +16A02;BAMUM LETTER PHASE-E GHOM;Lo;0;L;;;;;N;;;;; +16A03;BAMUM LETTER PHASE-F KA;Lo;0;L;;;;;N;;;;; +16A04;BAMUM LETTER PHASE-F U;Lo;0;L;;;;;N;;;;; +16A05;BAMUM LETTER PHASE-F KU;Lo;0;L;;;;;N;;;;; +16A06;BAMUM LETTER PHASE-F EE;Lo;0;L;;;;;N;;;;; +16A07;BAMUM LETTER PHASE-F REE;Lo;0;L;;;;;N;;;;; +16A08;BAMUM LETTER PHASE-F TAE;Lo;0;L;;;;;N;;;;; +16A09;BAMUM LETTER PHASE-F NYI;Lo;0;L;;;;;N;;;;; +16A0A;BAMUM LETTER PHASE-F LA;Lo;0;L;;;;;N;;;;; +16A0B;BAMUM LETTER PHASE-F RII;Lo;0;L;;;;;N;;;;; +16A0C;BAMUM LETTER PHASE-F RIEE;Lo;0;L;;;;;N;;;;; +16A0D;BAMUM LETTER PHASE-F MEEEE;Lo;0;L;;;;;N;;;;; +16A0E;BAMUM LETTER PHASE-F TAA;Lo;0;L;;;;;N;;;;; +16A0F;BAMUM LETTER PHASE-F NDAA;Lo;0;L;;;;;N;;;;; +16A10;BAMUM LETTER PHASE-F NJAEM;Lo;0;L;;;;;N;;;;; +16A11;BAMUM LETTER PHASE-F M;Lo;0;L;;;;;N;;;;; +16A12;BAMUM LETTER PHASE-F SUU;Lo;0;L;;;;;N;;;;; +16A13;BAMUM LETTER PHASE-F SHII;Lo;0;L;;;;;N;;;;; +16A14;BAMUM LETTER PHASE-F SI;Lo;0;L;;;;;N;;;;; +16A15;BAMUM LETTER PHASE-F SEUX;Lo;0;L;;;;;N;;;;; +16A16;BAMUM LETTER PHASE-F KYEE;Lo;0;L;;;;;N;;;;; +16A17;BAMUM LETTER PHASE-F KET;Lo;0;L;;;;;N;;;;; +16A18;BAMUM LETTER PHASE-F NUAE;Lo;0;L;;;;;N;;;;; +16A19;BAMUM LETTER PHASE-F NU;Lo;0;L;;;;;N;;;;; +16A1A;BAMUM LETTER PHASE-F NJUAE;Lo;0;L;;;;;N;;;;; +16A1B;BAMUM LETTER PHASE-F YOQ;Lo;0;L;;;;;N;;;;; +16A1C;BAMUM LETTER PHASE-F SHU;Lo;0;L;;;;;N;;;;; +16A1D;BAMUM LETTER PHASE-F YA;Lo;0;L;;;;;N;;;;; +16A1E;BAMUM LETTER PHASE-F NSHA;Lo;0;L;;;;;N;;;;; +16A1F;BAMUM LETTER PHASE-F PEUX;Lo;0;L;;;;;N;;;;; +16A20;BAMUM LETTER PHASE-F NTEE;Lo;0;L;;;;;N;;;;; +16A21;BAMUM LETTER PHASE-F WUE;Lo;0;L;;;;;N;;;;; +16A22;BAMUM LETTER PHASE-F PEE;Lo;0;L;;;;;N;;;;; +16A23;BAMUM LETTER PHASE-F RU;Lo;0;L;;;;;N;;;;; +16A24;BAMUM LETTER PHASE-F NI;Lo;0;L;;;;;N;;;;; +16A25;BAMUM LETTER PHASE-F REUX;Lo;0;L;;;;;N;;;;; +16A26;BAMUM LETTER PHASE-F KEN;Lo;0;L;;;;;N;;;;; +16A27;BAMUM LETTER PHASE-F NGKWAEN;Lo;0;L;;;;;N;;;;; +16A28;BAMUM LETTER PHASE-F NGGA;Lo;0;L;;;;;N;;;;; +16A29;BAMUM LETTER PHASE-F SHO;Lo;0;L;;;;;N;;;;; +16A2A;BAMUM LETTER PHASE-F PUAE;Lo;0;L;;;;;N;;;;; +16A2B;BAMUM LETTER PHASE-F FOM;Lo;0;L;;;;;N;;;;; +16A2C;BAMUM LETTER PHASE-F WA;Lo;0;L;;;;;N;;;;; +16A2D;BAMUM LETTER PHASE-F LI;Lo;0;L;;;;;N;;;;; +16A2E;BAMUM LETTER PHASE-F LOQ;Lo;0;L;;;;;N;;;;; +16A2F;BAMUM LETTER PHASE-F KO;Lo;0;L;;;;;N;;;;; +16A30;BAMUM LETTER PHASE-F MBEN;Lo;0;L;;;;;N;;;;; +16A31;BAMUM LETTER PHASE-F REN;Lo;0;L;;;;;N;;;;; +16A32;BAMUM LETTER PHASE-F MA;Lo;0;L;;;;;N;;;;; +16A33;BAMUM LETTER PHASE-F MO;Lo;0;L;;;;;N;;;;; +16A34;BAMUM LETTER PHASE-F MBAA;Lo;0;L;;;;;N;;;;; +16A35;BAMUM LETTER PHASE-F TET;Lo;0;L;;;;;N;;;;; +16A36;BAMUM LETTER PHASE-F KPA;Lo;0;L;;;;;N;;;;; +16A37;BAMUM LETTER PHASE-F SAMBA;Lo;0;L;;;;;N;;;;; +16A38;BAMUM LETTER PHASE-F VUEQ;Lo;0;L;;;;;N;;;;; +16A40;MRO LETTER TA;Lo;0;L;;;;;N;;;;; +16A41;MRO LETTER NGI;Lo;0;L;;;;;N;;;;; +16A42;MRO LETTER YO;Lo;0;L;;;;;N;;;;; +16A43;MRO LETTER MIM;Lo;0;L;;;;;N;;;;; +16A44;MRO LETTER BA;Lo;0;L;;;;;N;;;;; +16A45;MRO LETTER DA;Lo;0;L;;;;;N;;;;; +16A46;MRO LETTER A;Lo;0;L;;;;;N;;;;; +16A47;MRO LETTER PHI;Lo;0;L;;;;;N;;;;; +16A48;MRO LETTER KHAI;Lo;0;L;;;;;N;;;;; +16A49;MRO LETTER HAO;Lo;0;L;;;;;N;;;;; +16A4A;MRO LETTER DAI;Lo;0;L;;;;;N;;;;; +16A4B;MRO LETTER CHU;Lo;0;L;;;;;N;;;;; +16A4C;MRO LETTER KEAAE;Lo;0;L;;;;;N;;;;; +16A4D;MRO LETTER OL;Lo;0;L;;;;;N;;;;; +16A4E;MRO LETTER MAEM;Lo;0;L;;;;;N;;;;; +16A4F;MRO LETTER NIN;Lo;0;L;;;;;N;;;;; +16A50;MRO LETTER PA;Lo;0;L;;;;;N;;;;; +16A51;MRO LETTER OO;Lo;0;L;;;;;N;;;;; +16A52;MRO LETTER O;Lo;0;L;;;;;N;;;;; +16A53;MRO LETTER RO;Lo;0;L;;;;;N;;;;; +16A54;MRO LETTER SHI;Lo;0;L;;;;;N;;;;; +16A55;MRO LETTER THEA;Lo;0;L;;;;;N;;;;; +16A56;MRO LETTER EA;Lo;0;L;;;;;N;;;;; +16A57;MRO LETTER WA;Lo;0;L;;;;;N;;;;; +16A58;MRO LETTER E;Lo;0;L;;;;;N;;;;; +16A59;MRO LETTER KO;Lo;0;L;;;;;N;;;;; +16A5A;MRO LETTER LAN;Lo;0;L;;;;;N;;;;; +16A5B;MRO LETTER LA;Lo;0;L;;;;;N;;;;; +16A5C;MRO LETTER HAI;Lo;0;L;;;;;N;;;;; +16A5D;MRO LETTER RI;Lo;0;L;;;;;N;;;;; +16A5E;MRO LETTER TEK;Lo;0;L;;;;;N;;;;; +16A60;MRO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +16A61;MRO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +16A62;MRO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +16A63;MRO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +16A64;MRO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +16A65;MRO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +16A66;MRO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +16A67;MRO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +16A68;MRO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +16A69;MRO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +16A6E;MRO DANDA;Po;0;L;;;;;N;;;;; +16A6F;MRO DOUBLE DANDA;Po;0;L;;;;;N;;;;; +16AD0;BASSA VAH LETTER ENNI;Lo;0;L;;;;;N;;;;; +16AD1;BASSA VAH LETTER KA;Lo;0;L;;;;;N;;;;; +16AD2;BASSA VAH LETTER SE;Lo;0;L;;;;;N;;;;; +16AD3;BASSA VAH LETTER FA;Lo;0;L;;;;;N;;;;; +16AD4;BASSA VAH LETTER MBE;Lo;0;L;;;;;N;;;;; +16AD5;BASSA VAH LETTER YIE;Lo;0;L;;;;;N;;;;; +16AD6;BASSA VAH LETTER GAH;Lo;0;L;;;;;N;;;;; +16AD7;BASSA VAH LETTER DHII;Lo;0;L;;;;;N;;;;; +16AD8;BASSA VAH LETTER KPAH;Lo;0;L;;;;;N;;;;; +16AD9;BASSA VAH LETTER JO;Lo;0;L;;;;;N;;;;; +16ADA;BASSA VAH LETTER HWAH;Lo;0;L;;;;;N;;;;; +16ADB;BASSA VAH LETTER WA;Lo;0;L;;;;;N;;;;; +16ADC;BASSA VAH LETTER ZO;Lo;0;L;;;;;N;;;;; +16ADD;BASSA VAH LETTER GBU;Lo;0;L;;;;;N;;;;; +16ADE;BASSA VAH LETTER DO;Lo;0;L;;;;;N;;;;; +16ADF;BASSA VAH LETTER CE;Lo;0;L;;;;;N;;;;; +16AE0;BASSA VAH LETTER UWU;Lo;0;L;;;;;N;;;;; +16AE1;BASSA VAH LETTER TO;Lo;0;L;;;;;N;;;;; +16AE2;BASSA VAH LETTER BA;Lo;0;L;;;;;N;;;;; +16AE3;BASSA VAH LETTER VU;Lo;0;L;;;;;N;;;;; +16AE4;BASSA VAH LETTER YEIN;Lo;0;L;;;;;N;;;;; +16AE5;BASSA VAH LETTER PA;Lo;0;L;;;;;N;;;;; +16AE6;BASSA VAH LETTER WADDA;Lo;0;L;;;;;N;;;;; +16AE7;BASSA VAH LETTER A;Lo;0;L;;;;;N;;;;; +16AE8;BASSA VAH LETTER O;Lo;0;L;;;;;N;;;;; +16AE9;BASSA VAH LETTER OO;Lo;0;L;;;;;N;;;;; +16AEA;BASSA VAH LETTER U;Lo;0;L;;;;;N;;;;; +16AEB;BASSA VAH LETTER EE;Lo;0;L;;;;;N;;;;; +16AEC;BASSA VAH LETTER E;Lo;0;L;;;;;N;;;;; +16AED;BASSA VAH LETTER I;Lo;0;L;;;;;N;;;;; +16AF0;BASSA VAH COMBINING HIGH TONE;Mn;1;NSM;;;;;N;;;;; +16AF1;BASSA VAH COMBINING LOW TONE;Mn;1;NSM;;;;;N;;;;; +16AF2;BASSA VAH COMBINING MID TONE;Mn;1;NSM;;;;;N;;;;; +16AF3;BASSA VAH COMBINING LOW-MID TONE;Mn;1;NSM;;;;;N;;;;; +16AF4;BASSA VAH COMBINING HIGH-LOW TONE;Mn;1;NSM;;;;;N;;;;; +16AF5;BASSA VAH FULL STOP;Po;0;L;;;;;N;;;;; +16B00;PAHAWH HMONG VOWEL KEEB;Lo;0;L;;;;;N;;;;; +16B01;PAHAWH HMONG VOWEL KEEV;Lo;0;L;;;;;N;;;;; +16B02;PAHAWH HMONG VOWEL KIB;Lo;0;L;;;;;N;;;;; +16B03;PAHAWH HMONG VOWEL KIV;Lo;0;L;;;;;N;;;;; +16B04;PAHAWH HMONG VOWEL KAUB;Lo;0;L;;;;;N;;;;; +16B05;PAHAWH HMONG VOWEL KAUV;Lo;0;L;;;;;N;;;;; +16B06;PAHAWH HMONG VOWEL KUB;Lo;0;L;;;;;N;;;;; +16B07;PAHAWH HMONG VOWEL KUV;Lo;0;L;;;;;N;;;;; +16B08;PAHAWH HMONG VOWEL KEB;Lo;0;L;;;;;N;;;;; +16B09;PAHAWH HMONG VOWEL KEV;Lo;0;L;;;;;N;;;;; +16B0A;PAHAWH HMONG VOWEL KAIB;Lo;0;L;;;;;N;;;;; +16B0B;PAHAWH HMONG VOWEL KAIV;Lo;0;L;;;;;N;;;;; +16B0C;PAHAWH HMONG VOWEL KOOB;Lo;0;L;;;;;N;;;;; +16B0D;PAHAWH HMONG VOWEL KOOV;Lo;0;L;;;;;N;;;;; +16B0E;PAHAWH HMONG VOWEL KAWB;Lo;0;L;;;;;N;;;;; +16B0F;PAHAWH HMONG VOWEL KAWV;Lo;0;L;;;;;N;;;;; +16B10;PAHAWH HMONG VOWEL KUAB;Lo;0;L;;;;;N;;;;; +16B11;PAHAWH HMONG VOWEL KUAV;Lo;0;L;;;;;N;;;;; +16B12;PAHAWH HMONG VOWEL KOB;Lo;0;L;;;;;N;;;;; +16B13;PAHAWH HMONG VOWEL KOV;Lo;0;L;;;;;N;;;;; +16B14;PAHAWH HMONG VOWEL KIAB;Lo;0;L;;;;;N;;;;; +16B15;PAHAWH HMONG VOWEL KIAV;Lo;0;L;;;;;N;;;;; +16B16;PAHAWH HMONG VOWEL KAB;Lo;0;L;;;;;N;;;;; +16B17;PAHAWH HMONG VOWEL KAV;Lo;0;L;;;;;N;;;;; +16B18;PAHAWH HMONG VOWEL KWB;Lo;0;L;;;;;N;;;;; +16B19;PAHAWH HMONG VOWEL KWV;Lo;0;L;;;;;N;;;;; +16B1A;PAHAWH HMONG VOWEL KAAB;Lo;0;L;;;;;N;;;;; +16B1B;PAHAWH HMONG VOWEL KAAV;Lo;0;L;;;;;N;;;;; +16B1C;PAHAWH HMONG CONSONANT VAU;Lo;0;L;;;;;N;;;;; +16B1D;PAHAWH HMONG CONSONANT NTSAU;Lo;0;L;;;;;N;;;;; +16B1E;PAHAWH HMONG CONSONANT LAU;Lo;0;L;;;;;N;;;;; +16B1F;PAHAWH HMONG CONSONANT HAU;Lo;0;L;;;;;N;;;;; +16B20;PAHAWH HMONG CONSONANT NLAU;Lo;0;L;;;;;N;;;;; +16B21;PAHAWH HMONG CONSONANT RAU;Lo;0;L;;;;;N;;;;; +16B22;PAHAWH HMONG CONSONANT NKAU;Lo;0;L;;;;;N;;;;; +16B23;PAHAWH HMONG CONSONANT QHAU;Lo;0;L;;;;;N;;;;; +16B24;PAHAWH HMONG CONSONANT YAU;Lo;0;L;;;;;N;;;;; +16B25;PAHAWH HMONG CONSONANT HLAU;Lo;0;L;;;;;N;;;;; +16B26;PAHAWH HMONG CONSONANT MAU;Lo;0;L;;;;;N;;;;; +16B27;PAHAWH HMONG CONSONANT CHAU;Lo;0;L;;;;;N;;;;; +16B28;PAHAWH HMONG CONSONANT NCHAU;Lo;0;L;;;;;N;;;;; +16B29;PAHAWH HMONG CONSONANT HNAU;Lo;0;L;;;;;N;;;;; +16B2A;PAHAWH HMONG CONSONANT PLHAU;Lo;0;L;;;;;N;;;;; +16B2B;PAHAWH HMONG CONSONANT NTHAU;Lo;0;L;;;;;N;;;;; +16B2C;PAHAWH HMONG CONSONANT NAU;Lo;0;L;;;;;N;;;;; +16B2D;PAHAWH HMONG CONSONANT AU;Lo;0;L;;;;;N;;;;; +16B2E;PAHAWH HMONG CONSONANT XAU;Lo;0;L;;;;;N;;;;; +16B2F;PAHAWH HMONG CONSONANT CAU;Lo;0;L;;;;;N;;;;; +16B30;PAHAWH HMONG MARK CIM TUB;Mn;230;NSM;;;;;N;;;;; +16B31;PAHAWH HMONG MARK CIM SO;Mn;230;NSM;;;;;N;;;;; +16B32;PAHAWH HMONG MARK CIM KES;Mn;230;NSM;;;;;N;;;;; +16B33;PAHAWH HMONG MARK CIM KHAV;Mn;230;NSM;;;;;N;;;;; +16B34;PAHAWH HMONG MARK CIM SUAM;Mn;230;NSM;;;;;N;;;;; +16B35;PAHAWH HMONG MARK CIM HOM;Mn;230;NSM;;;;;N;;;;; +16B36;PAHAWH HMONG MARK CIM TAUM;Mn;230;NSM;;;;;N;;;;; +16B37;PAHAWH HMONG SIGN VOS THOM;Po;0;L;;;;;N;;;;; +16B38;PAHAWH HMONG SIGN VOS TSHAB CEEB;Po;0;L;;;;;N;;;;; +16B39;PAHAWH HMONG SIGN CIM CHEEM;Po;0;L;;;;;N;;;;; +16B3A;PAHAWH HMONG SIGN VOS THIAB;Po;0;L;;;;;N;;;;; +16B3B;PAHAWH HMONG SIGN VOS FEEM;Po;0;L;;;;;N;;;;; +16B3C;PAHAWH HMONG SIGN XYEEM NTXIV;So;0;L;;;;;N;;;;; +16B3D;PAHAWH HMONG SIGN XYEEM RHO;So;0;L;;;;;N;;;;; +16B3E;PAHAWH HMONG SIGN XYEEM TOV;So;0;L;;;;;N;;;;; +16B3F;PAHAWH HMONG SIGN XYEEM FAIB;So;0;L;;;;;N;;;;; +16B40;PAHAWH HMONG SIGN VOS SEEV;Lm;0;L;;;;;N;;;;; +16B41;PAHAWH HMONG SIGN MEEJ SUAB;Lm;0;L;;;;;N;;;;; +16B42;PAHAWH HMONG SIGN VOS NRUA;Lm;0;L;;;;;N;;;;; +16B43;PAHAWH HMONG SIGN IB YAM;Lm;0;L;;;;;N;;;;; +16B44;PAHAWH HMONG SIGN XAUS;Po;0;L;;;;;N;;;;; +16B45;PAHAWH HMONG SIGN CIM TSOV ROG;So;0;L;;;;;N;;;;; +16B50;PAHAWH HMONG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +16B51;PAHAWH HMONG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +16B52;PAHAWH HMONG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +16B53;PAHAWH HMONG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +16B54;PAHAWH HMONG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +16B55;PAHAWH HMONG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +16B56;PAHAWH HMONG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +16B57;PAHAWH HMONG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +16B58;PAHAWH HMONG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +16B59;PAHAWH HMONG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +16B5B;PAHAWH HMONG NUMBER TENS;No;0;L;;;;10;N;;;;; +16B5C;PAHAWH HMONG NUMBER HUNDREDS;No;0;L;;;;100;N;;;;; +16B5D;PAHAWH HMONG NUMBER TEN THOUSANDS;No;0;L;;;;10000;N;;;;; +16B5E;PAHAWH HMONG NUMBER MILLIONS;No;0;L;;;;1000000;N;;;;; +16B5F;PAHAWH HMONG NUMBER HUNDRED MILLIONS;No;0;L;;;;100000000;N;;;;; +16B60;PAHAWH HMONG NUMBER TEN BILLIONS;No;0;L;;;;10000000000;N;;;;; +16B61;PAHAWH HMONG NUMBER TRILLIONS;No;0;L;;;;1000000000000;N;;;;; +16B63;PAHAWH HMONG SIGN VOS LUB;Lo;0;L;;;;;N;;;;; +16B64;PAHAWH HMONG SIGN XYOO;Lo;0;L;;;;;N;;;;; +16B65;PAHAWH HMONG SIGN HLI;Lo;0;L;;;;;N;;;;; +16B66;PAHAWH HMONG SIGN THIRD-STAGE HLI;Lo;0;L;;;;;N;;;;; +16B67;PAHAWH HMONG SIGN ZWJ THAJ;Lo;0;L;;;;;N;;;;; +16B68;PAHAWH HMONG SIGN HNUB;Lo;0;L;;;;;N;;;;; +16B69;PAHAWH HMONG SIGN NQIG;Lo;0;L;;;;;N;;;;; +16B6A;PAHAWH HMONG SIGN XIAB;Lo;0;L;;;;;N;;;;; +16B6B;PAHAWH HMONG SIGN NTUJ;Lo;0;L;;;;;N;;;;; +16B6C;PAHAWH HMONG SIGN AV;Lo;0;L;;;;;N;;;;; +16B6D;PAHAWH HMONG SIGN TXHEEJ CEEV;Lo;0;L;;;;;N;;;;; +16B6E;PAHAWH HMONG SIGN MEEJ TSEEB;Lo;0;L;;;;;N;;;;; +16B6F;PAHAWH HMONG SIGN TAU;Lo;0;L;;;;;N;;;;; +16B70;PAHAWH HMONG SIGN LOS;Lo;0;L;;;;;N;;;;; +16B71;PAHAWH HMONG SIGN MUS;Lo;0;L;;;;;N;;;;; +16B72;PAHAWH HMONG SIGN CIM HAIS LUS NTOG NTOG;Lo;0;L;;;;;N;;;;; +16B73;PAHAWH HMONG SIGN CIM CUAM TSHOOJ;Lo;0;L;;;;;N;;;;; +16B74;PAHAWH HMONG SIGN CIM TXWV;Lo;0;L;;;;;N;;;;; +16B75;PAHAWH HMONG SIGN CIM TXWV CHWV;Lo;0;L;;;;;N;;;;; +16B76;PAHAWH HMONG SIGN CIM PUB DAWB;Lo;0;L;;;;;N;;;;; +16B77;PAHAWH HMONG SIGN CIM NRES TOS;Lo;0;L;;;;;N;;;;; +16B7D;PAHAWH HMONG CLAN SIGN TSHEEJ;Lo;0;L;;;;;N;;;;; +16B7E;PAHAWH HMONG CLAN SIGN YEEG;Lo;0;L;;;;;N;;;;; +16B7F;PAHAWH HMONG CLAN SIGN LIS;Lo;0;L;;;;;N;;;;; +16B80;PAHAWH HMONG CLAN SIGN LAUJ;Lo;0;L;;;;;N;;;;; +16B81;PAHAWH HMONG CLAN SIGN XYOOJ;Lo;0;L;;;;;N;;;;; +16B82;PAHAWH HMONG CLAN SIGN KOO;Lo;0;L;;;;;N;;;;; +16B83;PAHAWH HMONG CLAN SIGN HAWJ;Lo;0;L;;;;;N;;;;; +16B84;PAHAWH HMONG CLAN SIGN MUAS;Lo;0;L;;;;;N;;;;; +16B85;PAHAWH HMONG CLAN SIGN THOJ;Lo;0;L;;;;;N;;;;; +16B86;PAHAWH HMONG CLAN SIGN TSAB;Lo;0;L;;;;;N;;;;; +16B87;PAHAWH HMONG CLAN SIGN PHAB;Lo;0;L;;;;;N;;;;; +16B88;PAHAWH HMONG CLAN SIGN KHAB;Lo;0;L;;;;;N;;;;; +16B89;PAHAWH HMONG CLAN SIGN HAM;Lo;0;L;;;;;N;;;;; +16B8A;PAHAWH HMONG CLAN SIGN VAJ;Lo;0;L;;;;;N;;;;; +16B8B;PAHAWH HMONG CLAN SIGN FAJ;Lo;0;L;;;;;N;;;;; +16B8C;PAHAWH HMONG CLAN SIGN YAJ;Lo;0;L;;;;;N;;;;; +16B8D;PAHAWH HMONG CLAN SIGN TSWB;Lo;0;L;;;;;N;;;;; +16B8E;PAHAWH HMONG CLAN SIGN KWM;Lo;0;L;;;;;N;;;;; +16B8F;PAHAWH HMONG CLAN SIGN VWJ;Lo;0;L;;;;;N;;;;; +16E40;MEDEFAIDRIN CAPITAL LETTER M;Lu;0;L;;;;;N;;;;16E60; +16E41;MEDEFAIDRIN CAPITAL LETTER S;Lu;0;L;;;;;N;;;;16E61; +16E42;MEDEFAIDRIN CAPITAL LETTER V;Lu;0;L;;;;;N;;;;16E62; +16E43;MEDEFAIDRIN CAPITAL LETTER W;Lu;0;L;;;;;N;;;;16E63; +16E44;MEDEFAIDRIN CAPITAL LETTER ATIU;Lu;0;L;;;;;N;;;;16E64; +16E45;MEDEFAIDRIN CAPITAL LETTER Z;Lu;0;L;;;;;N;;;;16E65; +16E46;MEDEFAIDRIN CAPITAL LETTER KP;Lu;0;L;;;;;N;;;;16E66; +16E47;MEDEFAIDRIN CAPITAL LETTER P;Lu;0;L;;;;;N;;;;16E67; +16E48;MEDEFAIDRIN CAPITAL LETTER T;Lu;0;L;;;;;N;;;;16E68; +16E49;MEDEFAIDRIN CAPITAL LETTER G;Lu;0;L;;;;;N;;;;16E69; +16E4A;MEDEFAIDRIN CAPITAL LETTER F;Lu;0;L;;;;;N;;;;16E6A; +16E4B;MEDEFAIDRIN CAPITAL LETTER I;Lu;0;L;;;;;N;;;;16E6B; +16E4C;MEDEFAIDRIN CAPITAL LETTER K;Lu;0;L;;;;;N;;;;16E6C; +16E4D;MEDEFAIDRIN CAPITAL LETTER A;Lu;0;L;;;;;N;;;;16E6D; +16E4E;MEDEFAIDRIN CAPITAL LETTER J;Lu;0;L;;;;;N;;;;16E6E; +16E4F;MEDEFAIDRIN CAPITAL LETTER E;Lu;0;L;;;;;N;;;;16E6F; +16E50;MEDEFAIDRIN CAPITAL LETTER B;Lu;0;L;;;;;N;;;;16E70; +16E51;MEDEFAIDRIN CAPITAL LETTER C;Lu;0;L;;;;;N;;;;16E71; +16E52;MEDEFAIDRIN CAPITAL LETTER U;Lu;0;L;;;;;N;;;;16E72; +16E53;MEDEFAIDRIN CAPITAL LETTER YU;Lu;0;L;;;;;N;;;;16E73; +16E54;MEDEFAIDRIN CAPITAL LETTER L;Lu;0;L;;;;;N;;;;16E74; +16E55;MEDEFAIDRIN CAPITAL LETTER Q;Lu;0;L;;;;;N;;;;16E75; +16E56;MEDEFAIDRIN CAPITAL LETTER HP;Lu;0;L;;;;;N;;;;16E76; +16E57;MEDEFAIDRIN CAPITAL LETTER NY;Lu;0;L;;;;;N;;;;16E77; +16E58;MEDEFAIDRIN CAPITAL LETTER X;Lu;0;L;;;;;N;;;;16E78; +16E59;MEDEFAIDRIN CAPITAL LETTER D;Lu;0;L;;;;;N;;;;16E79; +16E5A;MEDEFAIDRIN CAPITAL LETTER OE;Lu;0;L;;;;;N;;;;16E7A; +16E5B;MEDEFAIDRIN CAPITAL LETTER N;Lu;0;L;;;;;N;;;;16E7B; +16E5C;MEDEFAIDRIN CAPITAL LETTER R;Lu;0;L;;;;;N;;;;16E7C; +16E5D;MEDEFAIDRIN CAPITAL LETTER O;Lu;0;L;;;;;N;;;;16E7D; +16E5E;MEDEFAIDRIN CAPITAL LETTER AI;Lu;0;L;;;;;N;;;;16E7E; +16E5F;MEDEFAIDRIN CAPITAL LETTER Y;Lu;0;L;;;;;N;;;;16E7F; +16E60;MEDEFAIDRIN SMALL LETTER M;Ll;0;L;;;;;N;;;16E40;;16E40 +16E61;MEDEFAIDRIN SMALL LETTER S;Ll;0;L;;;;;N;;;16E41;;16E41 +16E62;MEDEFAIDRIN SMALL LETTER V;Ll;0;L;;;;;N;;;16E42;;16E42 +16E63;MEDEFAIDRIN SMALL LETTER W;Ll;0;L;;;;;N;;;16E43;;16E43 +16E64;MEDEFAIDRIN SMALL LETTER ATIU;Ll;0;L;;;;;N;;;16E44;;16E44 +16E65;MEDEFAIDRIN SMALL LETTER Z;Ll;0;L;;;;;N;;;16E45;;16E45 +16E66;MEDEFAIDRIN SMALL LETTER KP;Ll;0;L;;;;;N;;;16E46;;16E46 +16E67;MEDEFAIDRIN SMALL LETTER P;Ll;0;L;;;;;N;;;16E47;;16E47 +16E68;MEDEFAIDRIN SMALL LETTER T;Ll;0;L;;;;;N;;;16E48;;16E48 +16E69;MEDEFAIDRIN SMALL LETTER G;Ll;0;L;;;;;N;;;16E49;;16E49 +16E6A;MEDEFAIDRIN SMALL LETTER F;Ll;0;L;;;;;N;;;16E4A;;16E4A +16E6B;MEDEFAIDRIN SMALL LETTER I;Ll;0;L;;;;;N;;;16E4B;;16E4B +16E6C;MEDEFAIDRIN SMALL LETTER K;Ll;0;L;;;;;N;;;16E4C;;16E4C +16E6D;MEDEFAIDRIN SMALL LETTER A;Ll;0;L;;;;;N;;;16E4D;;16E4D +16E6E;MEDEFAIDRIN SMALL LETTER J;Ll;0;L;;;;;N;;;16E4E;;16E4E +16E6F;MEDEFAIDRIN SMALL LETTER E;Ll;0;L;;;;;N;;;16E4F;;16E4F +16E70;MEDEFAIDRIN SMALL LETTER B;Ll;0;L;;;;;N;;;16E50;;16E50 +16E71;MEDEFAIDRIN SMALL LETTER C;Ll;0;L;;;;;N;;;16E51;;16E51 +16E72;MEDEFAIDRIN SMALL LETTER U;Ll;0;L;;;;;N;;;16E52;;16E52 +16E73;MEDEFAIDRIN SMALL LETTER YU;Ll;0;L;;;;;N;;;16E53;;16E53 +16E74;MEDEFAIDRIN SMALL LETTER L;Ll;0;L;;;;;N;;;16E54;;16E54 +16E75;MEDEFAIDRIN SMALL LETTER Q;Ll;0;L;;;;;N;;;16E55;;16E55 +16E76;MEDEFAIDRIN SMALL LETTER HP;Ll;0;L;;;;;N;;;16E56;;16E56 +16E77;MEDEFAIDRIN SMALL LETTER NY;Ll;0;L;;;;;N;;;16E57;;16E57 +16E78;MEDEFAIDRIN SMALL LETTER X;Ll;0;L;;;;;N;;;16E58;;16E58 +16E79;MEDEFAIDRIN SMALL LETTER D;Ll;0;L;;;;;N;;;16E59;;16E59 +16E7A;MEDEFAIDRIN SMALL LETTER OE;Ll;0;L;;;;;N;;;16E5A;;16E5A +16E7B;MEDEFAIDRIN SMALL LETTER N;Ll;0;L;;;;;N;;;16E5B;;16E5B +16E7C;MEDEFAIDRIN SMALL LETTER R;Ll;0;L;;;;;N;;;16E5C;;16E5C +16E7D;MEDEFAIDRIN SMALL LETTER O;Ll;0;L;;;;;N;;;16E5D;;16E5D +16E7E;MEDEFAIDRIN SMALL LETTER AI;Ll;0;L;;;;;N;;;16E5E;;16E5E +16E7F;MEDEFAIDRIN SMALL LETTER Y;Ll;0;L;;;;;N;;;16E5F;;16E5F +16E80;MEDEFAIDRIN DIGIT ZERO;No;0;L;;;;0;N;;;;; +16E81;MEDEFAIDRIN DIGIT ONE;No;0;L;;;;1;N;;;;; +16E82;MEDEFAIDRIN DIGIT TWO;No;0;L;;;;2;N;;;;; +16E83;MEDEFAIDRIN DIGIT THREE;No;0;L;;;;3;N;;;;; +16E84;MEDEFAIDRIN DIGIT FOUR;No;0;L;;;;4;N;;;;; +16E85;MEDEFAIDRIN DIGIT FIVE;No;0;L;;;;5;N;;;;; +16E86;MEDEFAIDRIN DIGIT SIX;No;0;L;;;;6;N;;;;; +16E87;MEDEFAIDRIN DIGIT SEVEN;No;0;L;;;;7;N;;;;; +16E88;MEDEFAIDRIN DIGIT EIGHT;No;0;L;;;;8;N;;;;; +16E89;MEDEFAIDRIN DIGIT NINE;No;0;L;;;;9;N;;;;; +16E8A;MEDEFAIDRIN NUMBER TEN;No;0;L;;;;10;N;;;;; +16E8B;MEDEFAIDRIN NUMBER ELEVEN;No;0;L;;;;11;N;;;;; +16E8C;MEDEFAIDRIN NUMBER TWELVE;No;0;L;;;;12;N;;;;; +16E8D;MEDEFAIDRIN NUMBER THIRTEEN;No;0;L;;;;13;N;;;;; +16E8E;MEDEFAIDRIN NUMBER FOURTEEN;No;0;L;;;;14;N;;;;; +16E8F;MEDEFAIDRIN NUMBER FIFTEEN;No;0;L;;;;15;N;;;;; +16E90;MEDEFAIDRIN NUMBER SIXTEEN;No;0;L;;;;16;N;;;;; +16E91;MEDEFAIDRIN NUMBER SEVENTEEN;No;0;L;;;;17;N;;;;; +16E92;MEDEFAIDRIN NUMBER EIGHTEEN;No;0;L;;;;18;N;;;;; +16E93;MEDEFAIDRIN NUMBER NINETEEN;No;0;L;;;;19;N;;;;; +16E94;MEDEFAIDRIN DIGIT ONE ALTERNATE FORM;No;0;L;;;;1;N;;;;; +16E95;MEDEFAIDRIN DIGIT TWO ALTERNATE FORM;No;0;L;;;;2;N;;;;; +16E96;MEDEFAIDRIN DIGIT THREE ALTERNATE FORM;No;0;L;;;;3;N;;;;; +16E97;MEDEFAIDRIN COMMA;Po;0;L;;;;;N;;;;; +16E98;MEDEFAIDRIN FULL STOP;Po;0;L;;;;;N;;;;; +16E99;MEDEFAIDRIN SYMBOL AIVA;Po;0;L;;;;;N;;;;; +16E9A;MEDEFAIDRIN EXCLAMATION OH;Po;0;L;;;;;N;;;;; +16F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;; +16F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;; +16F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;; +16F03;MIAO LETTER PLA;Lo;0;L;;;;;N;;;;; +16F04;MIAO LETTER MA;Lo;0;L;;;;;N;;;;; +16F05;MIAO LETTER MHA;Lo;0;L;;;;;N;;;;; +16F06;MIAO LETTER ARCHAIC MA;Lo;0;L;;;;;N;;;;; +16F07;MIAO LETTER FA;Lo;0;L;;;;;N;;;;; +16F08;MIAO LETTER VA;Lo;0;L;;;;;N;;;;; +16F09;MIAO LETTER VFA;Lo;0;L;;;;;N;;;;; +16F0A;MIAO LETTER TA;Lo;0;L;;;;;N;;;;; +16F0B;MIAO LETTER DA;Lo;0;L;;;;;N;;;;; +16F0C;MIAO LETTER YI TTA;Lo;0;L;;;;;N;;;;; +16F0D;MIAO LETTER YI TA;Lo;0;L;;;;;N;;;;; +16F0E;MIAO LETTER TTA;Lo;0;L;;;;;N;;;;; +16F0F;MIAO LETTER DDA;Lo;0;L;;;;;N;;;;; +16F10;MIAO LETTER NA;Lo;0;L;;;;;N;;;;; +16F11;MIAO LETTER NHA;Lo;0;L;;;;;N;;;;; +16F12;MIAO LETTER YI NNA;Lo;0;L;;;;;N;;;;; +16F13;MIAO LETTER ARCHAIC NA;Lo;0;L;;;;;N;;;;; +16F14;MIAO LETTER NNA;Lo;0;L;;;;;N;;;;; +16F15;MIAO LETTER NNHA;Lo;0;L;;;;;N;;;;; +16F16;MIAO LETTER LA;Lo;0;L;;;;;N;;;;; +16F17;MIAO LETTER LYA;Lo;0;L;;;;;N;;;;; +16F18;MIAO LETTER LHA;Lo;0;L;;;;;N;;;;; +16F19;MIAO LETTER LHYA;Lo;0;L;;;;;N;;;;; +16F1A;MIAO LETTER TLHA;Lo;0;L;;;;;N;;;;; +16F1B;MIAO LETTER DLHA;Lo;0;L;;;;;N;;;;; +16F1C;MIAO LETTER TLHYA;Lo;0;L;;;;;N;;;;; +16F1D;MIAO LETTER DLHYA;Lo;0;L;;;;;N;;;;; +16F1E;MIAO LETTER KA;Lo;0;L;;;;;N;;;;; +16F1F;MIAO LETTER GA;Lo;0;L;;;;;N;;;;; +16F20;MIAO LETTER YI KA;Lo;0;L;;;;;N;;;;; +16F21;MIAO LETTER QA;Lo;0;L;;;;;N;;;;; +16F22;MIAO LETTER QGA;Lo;0;L;;;;;N;;;;; +16F23;MIAO LETTER NGA;Lo;0;L;;;;;N;;;;; +16F24;MIAO LETTER NGHA;Lo;0;L;;;;;N;;;;; +16F25;MIAO LETTER ARCHAIC NGA;Lo;0;L;;;;;N;;;;; +16F26;MIAO LETTER HA;Lo;0;L;;;;;N;;;;; +16F27;MIAO LETTER XA;Lo;0;L;;;;;N;;;;; +16F28;MIAO LETTER GHA;Lo;0;L;;;;;N;;;;; +16F29;MIAO LETTER GHHA;Lo;0;L;;;;;N;;;;; +16F2A;MIAO LETTER TSSA;Lo;0;L;;;;;N;;;;; +16F2B;MIAO LETTER DZZA;Lo;0;L;;;;;N;;;;; +16F2C;MIAO LETTER NYA;Lo;0;L;;;;;N;;;;; +16F2D;MIAO LETTER NYHA;Lo;0;L;;;;;N;;;;; +16F2E;MIAO LETTER TSHA;Lo;0;L;;;;;N;;;;; +16F2F;MIAO LETTER DZHA;Lo;0;L;;;;;N;;;;; +16F30;MIAO LETTER YI TSHA;Lo;0;L;;;;;N;;;;; +16F31;MIAO LETTER YI DZHA;Lo;0;L;;;;;N;;;;; +16F32;MIAO LETTER REFORMED TSHA;Lo;0;L;;;;;N;;;;; +16F33;MIAO LETTER SHA;Lo;0;L;;;;;N;;;;; +16F34;MIAO LETTER SSA;Lo;0;L;;;;;N;;;;; +16F35;MIAO LETTER ZHA;Lo;0;L;;;;;N;;;;; +16F36;MIAO LETTER ZSHA;Lo;0;L;;;;;N;;;;; +16F37;MIAO LETTER TSA;Lo;0;L;;;;;N;;;;; +16F38;MIAO LETTER DZA;Lo;0;L;;;;;N;;;;; +16F39;MIAO LETTER YI TSA;Lo;0;L;;;;;N;;;;; +16F3A;MIAO LETTER SA;Lo;0;L;;;;;N;;;;; +16F3B;MIAO LETTER ZA;Lo;0;L;;;;;N;;;;; +16F3C;MIAO LETTER ZSA;Lo;0;L;;;;;N;;;;; +16F3D;MIAO LETTER ZZA;Lo;0;L;;;;;N;;;;; +16F3E;MIAO LETTER ZZSA;Lo;0;L;;;;;N;;;;; +16F3F;MIAO LETTER ARCHAIC ZZA;Lo;0;L;;;;;N;;;;; +16F40;MIAO LETTER ZZYA;Lo;0;L;;;;;N;;;;; +16F41;MIAO LETTER ZZSYA;Lo;0;L;;;;;N;;;;; +16F42;MIAO LETTER WA;Lo;0;L;;;;;N;;;;; +16F43;MIAO LETTER AH;Lo;0;L;;;;;N;;;;; +16F44;MIAO LETTER HHA;Lo;0;L;;;;;N;;;;; +16F45;MIAO LETTER BRI;Lo;0;L;;;;;N;;;;; +16F46;MIAO LETTER SYI;Lo;0;L;;;;;N;;;;; +16F47;MIAO LETTER DZYI;Lo;0;L;;;;;N;;;;; +16F48;MIAO LETTER TE;Lo;0;L;;;;;N;;;;; +16F49;MIAO LETTER TSE;Lo;0;L;;;;;N;;;;; +16F4A;MIAO LETTER RTE;Lo;0;L;;;;;N;;;;; +16F4F;MIAO SIGN CONSONANT MODIFIER BAR;Mn;0;NSM;;;;;N;;;;; +16F50;MIAO LETTER NASALIZATION;Lo;0;L;;;;;N;;;;; +16F51;MIAO SIGN ASPIRATION;Mc;0;L;;;;;N;;;;; +16F52;MIAO SIGN REFORMED VOICING;Mc;0;L;;;;;N;;;;; +16F53;MIAO SIGN REFORMED ASPIRATION;Mc;0;L;;;;;N;;;;; +16F54;MIAO VOWEL SIGN A;Mc;0;L;;;;;N;;;;; +16F55;MIAO VOWEL SIGN AA;Mc;0;L;;;;;N;;;;; +16F56;MIAO VOWEL SIGN AHH;Mc;0;L;;;;;N;;;;; +16F57;MIAO VOWEL SIGN AN;Mc;0;L;;;;;N;;;;; +16F58;MIAO VOWEL SIGN ANG;Mc;0;L;;;;;N;;;;; +16F59;MIAO VOWEL SIGN O;Mc;0;L;;;;;N;;;;; +16F5A;MIAO VOWEL SIGN OO;Mc;0;L;;;;;N;;;;; +16F5B;MIAO VOWEL SIGN WO;Mc;0;L;;;;;N;;;;; +16F5C;MIAO VOWEL SIGN W;Mc;0;L;;;;;N;;;;; +16F5D;MIAO VOWEL SIGN E;Mc;0;L;;;;;N;;;;; +16F5E;MIAO VOWEL SIGN EN;Mc;0;L;;;;;N;;;;; +16F5F;MIAO VOWEL SIGN ENG;Mc;0;L;;;;;N;;;;; +16F60;MIAO VOWEL SIGN OEY;Mc;0;L;;;;;N;;;;; +16F61;MIAO VOWEL SIGN I;Mc;0;L;;;;;N;;;;; +16F62;MIAO VOWEL SIGN IA;Mc;0;L;;;;;N;;;;; +16F63;MIAO VOWEL SIGN IAN;Mc;0;L;;;;;N;;;;; +16F64;MIAO VOWEL SIGN IANG;Mc;0;L;;;;;N;;;;; +16F65;MIAO VOWEL SIGN IO;Mc;0;L;;;;;N;;;;; +16F66;MIAO VOWEL SIGN IE;Mc;0;L;;;;;N;;;;; +16F67;MIAO VOWEL SIGN II;Mc;0;L;;;;;N;;;;; +16F68;MIAO VOWEL SIGN IU;Mc;0;L;;;;;N;;;;; +16F69;MIAO VOWEL SIGN ING;Mc;0;L;;;;;N;;;;; +16F6A;MIAO VOWEL SIGN U;Mc;0;L;;;;;N;;;;; +16F6B;MIAO VOWEL SIGN UA;Mc;0;L;;;;;N;;;;; +16F6C;MIAO VOWEL SIGN UAN;Mc;0;L;;;;;N;;;;; +16F6D;MIAO VOWEL SIGN UANG;Mc;0;L;;;;;N;;;;; +16F6E;MIAO VOWEL SIGN UU;Mc;0;L;;;;;N;;;;; +16F6F;MIAO VOWEL SIGN UEI;Mc;0;L;;;;;N;;;;; +16F70;MIAO VOWEL SIGN UNG;Mc;0;L;;;;;N;;;;; +16F71;MIAO VOWEL SIGN Y;Mc;0;L;;;;;N;;;;; +16F72;MIAO VOWEL SIGN YI;Mc;0;L;;;;;N;;;;; +16F73;MIAO VOWEL SIGN AE;Mc;0;L;;;;;N;;;;; +16F74;MIAO VOWEL SIGN AEE;Mc;0;L;;;;;N;;;;; +16F75;MIAO VOWEL SIGN ERR;Mc;0;L;;;;;N;;;;; +16F76;MIAO VOWEL SIGN ROUNDED ERR;Mc;0;L;;;;;N;;;;; +16F77;MIAO VOWEL SIGN ER;Mc;0;L;;;;;N;;;;; +16F78;MIAO VOWEL SIGN ROUNDED ER;Mc;0;L;;;;;N;;;;; +16F79;MIAO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;; +16F7A;MIAO VOWEL SIGN EI;Mc;0;L;;;;;N;;;;; +16F7B;MIAO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;; +16F7C;MIAO VOWEL SIGN OU;Mc;0;L;;;;;N;;;;; +16F7D;MIAO VOWEL SIGN N;Mc;0;L;;;;;N;;;;; +16F7E;MIAO VOWEL SIGN NG;Mc;0;L;;;;;N;;;;; +16F7F;MIAO VOWEL SIGN UOG;Mc;0;L;;;;;N;;;;; +16F80;MIAO VOWEL SIGN YUI;Mc;0;L;;;;;N;;;;; +16F81;MIAO VOWEL SIGN OG;Mc;0;L;;;;;N;;;;; +16F82;MIAO VOWEL SIGN OER;Mc;0;L;;;;;N;;;;; +16F83;MIAO VOWEL SIGN VW;Mc;0;L;;;;;N;;;;; +16F84;MIAO VOWEL SIGN IG;Mc;0;L;;;;;N;;;;; +16F85;MIAO VOWEL SIGN EA;Mc;0;L;;;;;N;;;;; +16F86;MIAO VOWEL SIGN IONG;Mc;0;L;;;;;N;;;;; +16F87;MIAO VOWEL SIGN UI;Mc;0;L;;;;;N;;;;; +16F8F;MIAO TONE RIGHT;Mn;0;NSM;;;;;N;;;;; +16F90;MIAO TONE TOP RIGHT;Mn;0;NSM;;;;;N;;;;; +16F91;MIAO TONE ABOVE;Mn;0;NSM;;;;;N;;;;; +16F92;MIAO TONE BELOW;Mn;0;NSM;;;;;N;;;;; +16F93;MIAO LETTER TONE-2;Lm;0;L;;;;;N;;;;; +16F94;MIAO LETTER TONE-3;Lm;0;L;;;;;N;;;;; +16F95;MIAO LETTER TONE-4;Lm;0;L;;;;;N;;;;; +16F96;MIAO LETTER TONE-5;Lm;0;L;;;;;N;;;;; +16F97;MIAO LETTER TONE-6;Lm;0;L;;;;;N;;;;; +16F98;MIAO LETTER TONE-7;Lm;0;L;;;;;N;;;;; +16F99;MIAO LETTER TONE-8;Lm;0;L;;;;;N;;;;; +16F9A;MIAO LETTER REFORMED TONE-1;Lm;0;L;;;;;N;;;;; +16F9B;MIAO LETTER REFORMED TONE-2;Lm;0;L;;;;;N;;;;; +16F9C;MIAO LETTER REFORMED TONE-4;Lm;0;L;;;;;N;;;;; +16F9D;MIAO LETTER REFORMED TONE-5;Lm;0;L;;;;;N;;;;; +16F9E;MIAO LETTER REFORMED TONE-6;Lm;0;L;;;;;N;;;;; +16F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;; +16FE0;TANGUT ITERATION MARK;Lm;0;L;;;;;N;;;;; +16FE1;NUSHU ITERATION MARK;Lm;0;L;;;;;N;;;;; +16FE2;OLD CHINESE HOOK MARK;Po;0;ON;;;;;N;;;;; +16FE3;OLD CHINESE ITERATION MARK;Lm;0;L;;;;;N;;;;; +16FE4;KHITAN SMALL SCRIPT FILLER;Mn;0;NSM;;;;;N;;;;; +16FF0;VIETNAMESE ALTERNATE READING MARK CA;Mc;6;L;;;;;N;;;;; +16FF1;VIETNAMESE ALTERNATE READING MARK NHAY;Mc;6;L;;;;;N;;;;; +17000;;Lo;0;L;;;;;N;;;;; +187F7;;Lo;0;L;;;;;N;;;;; +18800;TANGUT COMPONENT-001;Lo;0;L;;;;;N;;;;; +18801;TANGUT COMPONENT-002;Lo;0;L;;;;;N;;;;; +18802;TANGUT COMPONENT-003;Lo;0;L;;;;;N;;;;; +18803;TANGUT COMPONENT-004;Lo;0;L;;;;;N;;;;; +18804;TANGUT COMPONENT-005;Lo;0;L;;;;;N;;;;; +18805;TANGUT COMPONENT-006;Lo;0;L;;;;;N;;;;; +18806;TANGUT COMPONENT-007;Lo;0;L;;;;;N;;;;; +18807;TANGUT COMPONENT-008;Lo;0;L;;;;;N;;;;; +18808;TANGUT COMPONENT-009;Lo;0;L;;;;;N;;;;; +18809;TANGUT COMPONENT-010;Lo;0;L;;;;;N;;;;; +1880A;TANGUT COMPONENT-011;Lo;0;L;;;;;N;;;;; +1880B;TANGUT COMPONENT-012;Lo;0;L;;;;;N;;;;; +1880C;TANGUT COMPONENT-013;Lo;0;L;;;;;N;;;;; +1880D;TANGUT COMPONENT-014;Lo;0;L;;;;;N;;;;; +1880E;TANGUT COMPONENT-015;Lo;0;L;;;;;N;;;;; +1880F;TANGUT COMPONENT-016;Lo;0;L;;;;;N;;;;; +18810;TANGUT COMPONENT-017;Lo;0;L;;;;;N;;;;; +18811;TANGUT COMPONENT-018;Lo;0;L;;;;;N;;;;; +18812;TANGUT COMPONENT-019;Lo;0;L;;;;;N;;;;; +18813;TANGUT COMPONENT-020;Lo;0;L;;;;;N;;;;; +18814;TANGUT COMPONENT-021;Lo;0;L;;;;;N;;;;; +18815;TANGUT COMPONENT-022;Lo;0;L;;;;;N;;;;; +18816;TANGUT COMPONENT-023;Lo;0;L;;;;;N;;;;; +18817;TANGUT COMPONENT-024;Lo;0;L;;;;;N;;;;; +18818;TANGUT COMPONENT-025;Lo;0;L;;;;;N;;;;; +18819;TANGUT COMPONENT-026;Lo;0;L;;;;;N;;;;; +1881A;TANGUT COMPONENT-027;Lo;0;L;;;;;N;;;;; +1881B;TANGUT COMPONENT-028;Lo;0;L;;;;;N;;;;; +1881C;TANGUT COMPONENT-029;Lo;0;L;;;;;N;;;;; +1881D;TANGUT COMPONENT-030;Lo;0;L;;;;;N;;;;; +1881E;TANGUT COMPONENT-031;Lo;0;L;;;;;N;;;;; +1881F;TANGUT COMPONENT-032;Lo;0;L;;;;;N;;;;; +18820;TANGUT COMPONENT-033;Lo;0;L;;;;;N;;;;; +18821;TANGUT COMPONENT-034;Lo;0;L;;;;;N;;;;; +18822;TANGUT COMPONENT-035;Lo;0;L;;;;;N;;;;; +18823;TANGUT COMPONENT-036;Lo;0;L;;;;;N;;;;; +18824;TANGUT COMPONENT-037;Lo;0;L;;;;;N;;;;; +18825;TANGUT COMPONENT-038;Lo;0;L;;;;;N;;;;; +18826;TANGUT COMPONENT-039;Lo;0;L;;;;;N;;;;; +18827;TANGUT COMPONENT-040;Lo;0;L;;;;;N;;;;; +18828;TANGUT COMPONENT-041;Lo;0;L;;;;;N;;;;; +18829;TANGUT COMPONENT-042;Lo;0;L;;;;;N;;;;; +1882A;TANGUT COMPONENT-043;Lo;0;L;;;;;N;;;;; +1882B;TANGUT COMPONENT-044;Lo;0;L;;;;;N;;;;; +1882C;TANGUT COMPONENT-045;Lo;0;L;;;;;N;;;;; +1882D;TANGUT COMPONENT-046;Lo;0;L;;;;;N;;;;; +1882E;TANGUT COMPONENT-047;Lo;0;L;;;;;N;;;;; +1882F;TANGUT COMPONENT-048;Lo;0;L;;;;;N;;;;; +18830;TANGUT COMPONENT-049;Lo;0;L;;;;;N;;;;; +18831;TANGUT COMPONENT-050;Lo;0;L;;;;;N;;;;; +18832;TANGUT COMPONENT-051;Lo;0;L;;;;;N;;;;; +18833;TANGUT COMPONENT-052;Lo;0;L;;;;;N;;;;; +18834;TANGUT COMPONENT-053;Lo;0;L;;;;;N;;;;; +18835;TANGUT COMPONENT-054;Lo;0;L;;;;;N;;;;; +18836;TANGUT COMPONENT-055;Lo;0;L;;;;;N;;;;; +18837;TANGUT COMPONENT-056;Lo;0;L;;;;;N;;;;; +18838;TANGUT COMPONENT-057;Lo;0;L;;;;;N;;;;; +18839;TANGUT COMPONENT-058;Lo;0;L;;;;;N;;;;; +1883A;TANGUT COMPONENT-059;Lo;0;L;;;;;N;;;;; +1883B;TANGUT COMPONENT-060;Lo;0;L;;;;;N;;;;; +1883C;TANGUT COMPONENT-061;Lo;0;L;;;;;N;;;;; +1883D;TANGUT COMPONENT-062;Lo;0;L;;;;;N;;;;; +1883E;TANGUT COMPONENT-063;Lo;0;L;;;;;N;;;;; +1883F;TANGUT COMPONENT-064;Lo;0;L;;;;;N;;;;; +18840;TANGUT COMPONENT-065;Lo;0;L;;;;;N;;;;; +18841;TANGUT COMPONENT-066;Lo;0;L;;;;;N;;;;; +18842;TANGUT COMPONENT-067;Lo;0;L;;;;;N;;;;; +18843;TANGUT COMPONENT-068;Lo;0;L;;;;;N;;;;; +18844;TANGUT COMPONENT-069;Lo;0;L;;;;;N;;;;; +18845;TANGUT COMPONENT-070;Lo;0;L;;;;;N;;;;; +18846;TANGUT COMPONENT-071;Lo;0;L;;;;;N;;;;; +18847;TANGUT COMPONENT-072;Lo;0;L;;;;;N;;;;; +18848;TANGUT COMPONENT-073;Lo;0;L;;;;;N;;;;; +18849;TANGUT COMPONENT-074;Lo;0;L;;;;;N;;;;; +1884A;TANGUT COMPONENT-075;Lo;0;L;;;;;N;;;;; +1884B;TANGUT COMPONENT-076;Lo;0;L;;;;;N;;;;; +1884C;TANGUT COMPONENT-077;Lo;0;L;;;;;N;;;;; +1884D;TANGUT COMPONENT-078;Lo;0;L;;;;;N;;;;; +1884E;TANGUT COMPONENT-079;Lo;0;L;;;;;N;;;;; +1884F;TANGUT COMPONENT-080;Lo;0;L;;;;;N;;;;; +18850;TANGUT COMPONENT-081;Lo;0;L;;;;;N;;;;; +18851;TANGUT COMPONENT-082;Lo;0;L;;;;;N;;;;; +18852;TANGUT COMPONENT-083;Lo;0;L;;;;;N;;;;; +18853;TANGUT COMPONENT-084;Lo;0;L;;;;;N;;;;; +18854;TANGUT COMPONENT-085;Lo;0;L;;;;;N;;;;; +18855;TANGUT COMPONENT-086;Lo;0;L;;;;;N;;;;; +18856;TANGUT COMPONENT-087;Lo;0;L;;;;;N;;;;; +18857;TANGUT COMPONENT-088;Lo;0;L;;;;;N;;;;; +18858;TANGUT COMPONENT-089;Lo;0;L;;;;;N;;;;; +18859;TANGUT COMPONENT-090;Lo;0;L;;;;;N;;;;; +1885A;TANGUT COMPONENT-091;Lo;0;L;;;;;N;;;;; +1885B;TANGUT COMPONENT-092;Lo;0;L;;;;;N;;;;; +1885C;TANGUT COMPONENT-093;Lo;0;L;;;;;N;;;;; +1885D;TANGUT COMPONENT-094;Lo;0;L;;;;;N;;;;; +1885E;TANGUT COMPONENT-095;Lo;0;L;;;;;N;;;;; +1885F;TANGUT COMPONENT-096;Lo;0;L;;;;;N;;;;; +18860;TANGUT COMPONENT-097;Lo;0;L;;;;;N;;;;; +18861;TANGUT COMPONENT-098;Lo;0;L;;;;;N;;;;; +18862;TANGUT COMPONENT-099;Lo;0;L;;;;;N;;;;; +18863;TANGUT COMPONENT-100;Lo;0;L;;;;;N;;;;; +18864;TANGUT COMPONENT-101;Lo;0;L;;;;;N;;;;; +18865;TANGUT COMPONENT-102;Lo;0;L;;;;;N;;;;; +18866;TANGUT COMPONENT-103;Lo;0;L;;;;;N;;;;; +18867;TANGUT COMPONENT-104;Lo;0;L;;;;;N;;;;; +18868;TANGUT COMPONENT-105;Lo;0;L;;;;;N;;;;; +18869;TANGUT COMPONENT-106;Lo;0;L;;;;;N;;;;; +1886A;TANGUT COMPONENT-107;Lo;0;L;;;;;N;;;;; +1886B;TANGUT COMPONENT-108;Lo;0;L;;;;;N;;;;; +1886C;TANGUT COMPONENT-109;Lo;0;L;;;;;N;;;;; +1886D;TANGUT COMPONENT-110;Lo;0;L;;;;;N;;;;; +1886E;TANGUT COMPONENT-111;Lo;0;L;;;;;N;;;;; +1886F;TANGUT COMPONENT-112;Lo;0;L;;;;;N;;;;; +18870;TANGUT COMPONENT-113;Lo;0;L;;;;;N;;;;; +18871;TANGUT COMPONENT-114;Lo;0;L;;;;;N;;;;; +18872;TANGUT COMPONENT-115;Lo;0;L;;;;;N;;;;; +18873;TANGUT COMPONENT-116;Lo;0;L;;;;;N;;;;; +18874;TANGUT COMPONENT-117;Lo;0;L;;;;;N;;;;; +18875;TANGUT COMPONENT-118;Lo;0;L;;;;;N;;;;; +18876;TANGUT COMPONENT-119;Lo;0;L;;;;;N;;;;; +18877;TANGUT COMPONENT-120;Lo;0;L;;;;;N;;;;; +18878;TANGUT COMPONENT-121;Lo;0;L;;;;;N;;;;; +18879;TANGUT COMPONENT-122;Lo;0;L;;;;;N;;;;; +1887A;TANGUT COMPONENT-123;Lo;0;L;;;;;N;;;;; +1887B;TANGUT COMPONENT-124;Lo;0;L;;;;;N;;;;; +1887C;TANGUT COMPONENT-125;Lo;0;L;;;;;N;;;;; +1887D;TANGUT COMPONENT-126;Lo;0;L;;;;;N;;;;; +1887E;TANGUT COMPONENT-127;Lo;0;L;;;;;N;;;;; +1887F;TANGUT COMPONENT-128;Lo;0;L;;;;;N;;;;; +18880;TANGUT COMPONENT-129;Lo;0;L;;;;;N;;;;; +18881;TANGUT COMPONENT-130;Lo;0;L;;;;;N;;;;; +18882;TANGUT COMPONENT-131;Lo;0;L;;;;;N;;;;; +18883;TANGUT COMPONENT-132;Lo;0;L;;;;;N;;;;; +18884;TANGUT COMPONENT-133;Lo;0;L;;;;;N;;;;; +18885;TANGUT COMPONENT-134;Lo;0;L;;;;;N;;;;; +18886;TANGUT COMPONENT-135;Lo;0;L;;;;;N;;;;; +18887;TANGUT COMPONENT-136;Lo;0;L;;;;;N;;;;; +18888;TANGUT COMPONENT-137;Lo;0;L;;;;;N;;;;; +18889;TANGUT COMPONENT-138;Lo;0;L;;;;;N;;;;; +1888A;TANGUT COMPONENT-139;Lo;0;L;;;;;N;;;;; +1888B;TANGUT COMPONENT-140;Lo;0;L;;;;;N;;;;; +1888C;TANGUT COMPONENT-141;Lo;0;L;;;;;N;;;;; +1888D;TANGUT COMPONENT-142;Lo;0;L;;;;;N;;;;; +1888E;TANGUT COMPONENT-143;Lo;0;L;;;;;N;;;;; +1888F;TANGUT COMPONENT-144;Lo;0;L;;;;;N;;;;; +18890;TANGUT COMPONENT-145;Lo;0;L;;;;;N;;;;; +18891;TANGUT COMPONENT-146;Lo;0;L;;;;;N;;;;; +18892;TANGUT COMPONENT-147;Lo;0;L;;;;;N;;;;; +18893;TANGUT COMPONENT-148;Lo;0;L;;;;;N;;;;; +18894;TANGUT COMPONENT-149;Lo;0;L;;;;;N;;;;; +18895;TANGUT COMPONENT-150;Lo;0;L;;;;;N;;;;; +18896;TANGUT COMPONENT-151;Lo;0;L;;;;;N;;;;; +18897;TANGUT COMPONENT-152;Lo;0;L;;;;;N;;;;; +18898;TANGUT COMPONENT-153;Lo;0;L;;;;;N;;;;; +18899;TANGUT COMPONENT-154;Lo;0;L;;;;;N;;;;; +1889A;TANGUT COMPONENT-155;Lo;0;L;;;;;N;;;;; +1889B;TANGUT COMPONENT-156;Lo;0;L;;;;;N;;;;; +1889C;TANGUT COMPONENT-157;Lo;0;L;;;;;N;;;;; +1889D;TANGUT COMPONENT-158;Lo;0;L;;;;;N;;;;; +1889E;TANGUT COMPONENT-159;Lo;0;L;;;;;N;;;;; +1889F;TANGUT COMPONENT-160;Lo;0;L;;;;;N;;;;; +188A0;TANGUT COMPONENT-161;Lo;0;L;;;;;N;;;;; +188A1;TANGUT COMPONENT-162;Lo;0;L;;;;;N;;;;; +188A2;TANGUT COMPONENT-163;Lo;0;L;;;;;N;;;;; +188A3;TANGUT COMPONENT-164;Lo;0;L;;;;;N;;;;; +188A4;TANGUT COMPONENT-165;Lo;0;L;;;;;N;;;;; +188A5;TANGUT COMPONENT-166;Lo;0;L;;;;;N;;;;; +188A6;TANGUT COMPONENT-167;Lo;0;L;;;;;N;;;;; +188A7;TANGUT COMPONENT-168;Lo;0;L;;;;;N;;;;; +188A8;TANGUT COMPONENT-169;Lo;0;L;;;;;N;;;;; +188A9;TANGUT COMPONENT-170;Lo;0;L;;;;;N;;;;; +188AA;TANGUT COMPONENT-171;Lo;0;L;;;;;N;;;;; +188AB;TANGUT COMPONENT-172;Lo;0;L;;;;;N;;;;; +188AC;TANGUT COMPONENT-173;Lo;0;L;;;;;N;;;;; +188AD;TANGUT COMPONENT-174;Lo;0;L;;;;;N;;;;; +188AE;TANGUT COMPONENT-175;Lo;0;L;;;;;N;;;;; +188AF;TANGUT COMPONENT-176;Lo;0;L;;;;;N;;;;; +188B0;TANGUT COMPONENT-177;Lo;0;L;;;;;N;;;;; +188B1;TANGUT COMPONENT-178;Lo;0;L;;;;;N;;;;; +188B2;TANGUT COMPONENT-179;Lo;0;L;;;;;N;;;;; +188B3;TANGUT COMPONENT-180;Lo;0;L;;;;;N;;;;; +188B4;TANGUT COMPONENT-181;Lo;0;L;;;;;N;;;;; +188B5;TANGUT COMPONENT-182;Lo;0;L;;;;;N;;;;; +188B6;TANGUT COMPONENT-183;Lo;0;L;;;;;N;;;;; +188B7;TANGUT COMPONENT-184;Lo;0;L;;;;;N;;;;; +188B8;TANGUT COMPONENT-185;Lo;0;L;;;;;N;;;;; +188B9;TANGUT COMPONENT-186;Lo;0;L;;;;;N;;;;; +188BA;TANGUT COMPONENT-187;Lo;0;L;;;;;N;;;;; +188BB;TANGUT COMPONENT-188;Lo;0;L;;;;;N;;;;; +188BC;TANGUT COMPONENT-189;Lo;0;L;;;;;N;;;;; +188BD;TANGUT COMPONENT-190;Lo;0;L;;;;;N;;;;; +188BE;TANGUT COMPONENT-191;Lo;0;L;;;;;N;;;;; +188BF;TANGUT COMPONENT-192;Lo;0;L;;;;;N;;;;; +188C0;TANGUT COMPONENT-193;Lo;0;L;;;;;N;;;;; +188C1;TANGUT COMPONENT-194;Lo;0;L;;;;;N;;;;; +188C2;TANGUT COMPONENT-195;Lo;0;L;;;;;N;;;;; +188C3;TANGUT COMPONENT-196;Lo;0;L;;;;;N;;;;; +188C4;TANGUT COMPONENT-197;Lo;0;L;;;;;N;;;;; +188C5;TANGUT COMPONENT-198;Lo;0;L;;;;;N;;;;; +188C6;TANGUT COMPONENT-199;Lo;0;L;;;;;N;;;;; +188C7;TANGUT COMPONENT-200;Lo;0;L;;;;;N;;;;; +188C8;TANGUT COMPONENT-201;Lo;0;L;;;;;N;;;;; +188C9;TANGUT COMPONENT-202;Lo;0;L;;;;;N;;;;; +188CA;TANGUT COMPONENT-203;Lo;0;L;;;;;N;;;;; +188CB;TANGUT COMPONENT-204;Lo;0;L;;;;;N;;;;; +188CC;TANGUT COMPONENT-205;Lo;0;L;;;;;N;;;;; +188CD;TANGUT COMPONENT-206;Lo;0;L;;;;;N;;;;; +188CE;TANGUT COMPONENT-207;Lo;0;L;;;;;N;;;;; +188CF;TANGUT COMPONENT-208;Lo;0;L;;;;;N;;;;; +188D0;TANGUT COMPONENT-209;Lo;0;L;;;;;N;;;;; +188D1;TANGUT COMPONENT-210;Lo;0;L;;;;;N;;;;; +188D2;TANGUT COMPONENT-211;Lo;0;L;;;;;N;;;;; +188D3;TANGUT COMPONENT-212;Lo;0;L;;;;;N;;;;; +188D4;TANGUT COMPONENT-213;Lo;0;L;;;;;N;;;;; +188D5;TANGUT COMPONENT-214;Lo;0;L;;;;;N;;;;; +188D6;TANGUT COMPONENT-215;Lo;0;L;;;;;N;;;;; +188D7;TANGUT COMPONENT-216;Lo;0;L;;;;;N;;;;; +188D8;TANGUT COMPONENT-217;Lo;0;L;;;;;N;;;;; +188D9;TANGUT COMPONENT-218;Lo;0;L;;;;;N;;;;; +188DA;TANGUT COMPONENT-219;Lo;0;L;;;;;N;;;;; +188DB;TANGUT COMPONENT-220;Lo;0;L;;;;;N;;;;; +188DC;TANGUT COMPONENT-221;Lo;0;L;;;;;N;;;;; +188DD;TANGUT COMPONENT-222;Lo;0;L;;;;;N;;;;; +188DE;TANGUT COMPONENT-223;Lo;0;L;;;;;N;;;;; +188DF;TANGUT COMPONENT-224;Lo;0;L;;;;;N;;;;; +188E0;TANGUT COMPONENT-225;Lo;0;L;;;;;N;;;;; +188E1;TANGUT COMPONENT-226;Lo;0;L;;;;;N;;;;; +188E2;TANGUT COMPONENT-227;Lo;0;L;;;;;N;;;;; +188E3;TANGUT COMPONENT-228;Lo;0;L;;;;;N;;;;; +188E4;TANGUT COMPONENT-229;Lo;0;L;;;;;N;;;;; +188E5;TANGUT COMPONENT-230;Lo;0;L;;;;;N;;;;; +188E6;TANGUT COMPONENT-231;Lo;0;L;;;;;N;;;;; +188E7;TANGUT COMPONENT-232;Lo;0;L;;;;;N;;;;; +188E8;TANGUT COMPONENT-233;Lo;0;L;;;;;N;;;;; +188E9;TANGUT COMPONENT-234;Lo;0;L;;;;;N;;;;; +188EA;TANGUT COMPONENT-235;Lo;0;L;;;;;N;;;;; +188EB;TANGUT COMPONENT-236;Lo;0;L;;;;;N;;;;; +188EC;TANGUT COMPONENT-237;Lo;0;L;;;;;N;;;;; +188ED;TANGUT COMPONENT-238;Lo;0;L;;;;;N;;;;; +188EE;TANGUT COMPONENT-239;Lo;0;L;;;;;N;;;;; +188EF;TANGUT COMPONENT-240;Lo;0;L;;;;;N;;;;; +188F0;TANGUT COMPONENT-241;Lo;0;L;;;;;N;;;;; +188F1;TANGUT COMPONENT-242;Lo;0;L;;;;;N;;;;; +188F2;TANGUT COMPONENT-243;Lo;0;L;;;;;N;;;;; +188F3;TANGUT COMPONENT-244;Lo;0;L;;;;;N;;;;; +188F4;TANGUT COMPONENT-245;Lo;0;L;;;;;N;;;;; +188F5;TANGUT COMPONENT-246;Lo;0;L;;;;;N;;;;; +188F6;TANGUT COMPONENT-247;Lo;0;L;;;;;N;;;;; +188F7;TANGUT COMPONENT-248;Lo;0;L;;;;;N;;;;; +188F8;TANGUT COMPONENT-249;Lo;0;L;;;;;N;;;;; +188F9;TANGUT COMPONENT-250;Lo;0;L;;;;;N;;;;; +188FA;TANGUT COMPONENT-251;Lo;0;L;;;;;N;;;;; +188FB;TANGUT COMPONENT-252;Lo;0;L;;;;;N;;;;; +188FC;TANGUT COMPONENT-253;Lo;0;L;;;;;N;;;;; +188FD;TANGUT COMPONENT-254;Lo;0;L;;;;;N;;;;; +188FE;TANGUT COMPONENT-255;Lo;0;L;;;;;N;;;;; +188FF;TANGUT COMPONENT-256;Lo;0;L;;;;;N;;;;; +18900;TANGUT COMPONENT-257;Lo;0;L;;;;;N;;;;; +18901;TANGUT COMPONENT-258;Lo;0;L;;;;;N;;;;; +18902;TANGUT COMPONENT-259;Lo;0;L;;;;;N;;;;; +18903;TANGUT COMPONENT-260;Lo;0;L;;;;;N;;;;; +18904;TANGUT COMPONENT-261;Lo;0;L;;;;;N;;;;; +18905;TANGUT COMPONENT-262;Lo;0;L;;;;;N;;;;; +18906;TANGUT COMPONENT-263;Lo;0;L;;;;;N;;;;; +18907;TANGUT COMPONENT-264;Lo;0;L;;;;;N;;;;; +18908;TANGUT COMPONENT-265;Lo;0;L;;;;;N;;;;; +18909;TANGUT COMPONENT-266;Lo;0;L;;;;;N;;;;; +1890A;TANGUT COMPONENT-267;Lo;0;L;;;;;N;;;;; +1890B;TANGUT COMPONENT-268;Lo;0;L;;;;;N;;;;; +1890C;TANGUT COMPONENT-269;Lo;0;L;;;;;N;;;;; +1890D;TANGUT COMPONENT-270;Lo;0;L;;;;;N;;;;; +1890E;TANGUT COMPONENT-271;Lo;0;L;;;;;N;;;;; +1890F;TANGUT COMPONENT-272;Lo;0;L;;;;;N;;;;; +18910;TANGUT COMPONENT-273;Lo;0;L;;;;;N;;;;; +18911;TANGUT COMPONENT-274;Lo;0;L;;;;;N;;;;; +18912;TANGUT COMPONENT-275;Lo;0;L;;;;;N;;;;; +18913;TANGUT COMPONENT-276;Lo;0;L;;;;;N;;;;; +18914;TANGUT COMPONENT-277;Lo;0;L;;;;;N;;;;; +18915;TANGUT COMPONENT-278;Lo;0;L;;;;;N;;;;; +18916;TANGUT COMPONENT-279;Lo;0;L;;;;;N;;;;; +18917;TANGUT COMPONENT-280;Lo;0;L;;;;;N;;;;; +18918;TANGUT COMPONENT-281;Lo;0;L;;;;;N;;;;; +18919;TANGUT COMPONENT-282;Lo;0;L;;;;;N;;;;; +1891A;TANGUT COMPONENT-283;Lo;0;L;;;;;N;;;;; +1891B;TANGUT COMPONENT-284;Lo;0;L;;;;;N;;;;; +1891C;TANGUT COMPONENT-285;Lo;0;L;;;;;N;;;;; +1891D;TANGUT COMPONENT-286;Lo;0;L;;;;;N;;;;; +1891E;TANGUT COMPONENT-287;Lo;0;L;;;;;N;;;;; +1891F;TANGUT COMPONENT-288;Lo;0;L;;;;;N;;;;; +18920;TANGUT COMPONENT-289;Lo;0;L;;;;;N;;;;; +18921;TANGUT COMPONENT-290;Lo;0;L;;;;;N;;;;; +18922;TANGUT COMPONENT-291;Lo;0;L;;;;;N;;;;; +18923;TANGUT COMPONENT-292;Lo;0;L;;;;;N;;;;; +18924;TANGUT COMPONENT-293;Lo;0;L;;;;;N;;;;; +18925;TANGUT COMPONENT-294;Lo;0;L;;;;;N;;;;; +18926;TANGUT COMPONENT-295;Lo;0;L;;;;;N;;;;; +18927;TANGUT COMPONENT-296;Lo;0;L;;;;;N;;;;; +18928;TANGUT COMPONENT-297;Lo;0;L;;;;;N;;;;; +18929;TANGUT COMPONENT-298;Lo;0;L;;;;;N;;;;; +1892A;TANGUT COMPONENT-299;Lo;0;L;;;;;N;;;;; +1892B;TANGUT COMPONENT-300;Lo;0;L;;;;;N;;;;; +1892C;TANGUT COMPONENT-301;Lo;0;L;;;;;N;;;;; +1892D;TANGUT COMPONENT-302;Lo;0;L;;;;;N;;;;; +1892E;TANGUT COMPONENT-303;Lo;0;L;;;;;N;;;;; +1892F;TANGUT COMPONENT-304;Lo;0;L;;;;;N;;;;; +18930;TANGUT COMPONENT-305;Lo;0;L;;;;;N;;;;; +18931;TANGUT COMPONENT-306;Lo;0;L;;;;;N;;;;; +18932;TANGUT COMPONENT-307;Lo;0;L;;;;;N;;;;; +18933;TANGUT COMPONENT-308;Lo;0;L;;;;;N;;;;; +18934;TANGUT COMPONENT-309;Lo;0;L;;;;;N;;;;; +18935;TANGUT COMPONENT-310;Lo;0;L;;;;;N;;;;; +18936;TANGUT COMPONENT-311;Lo;0;L;;;;;N;;;;; +18937;TANGUT COMPONENT-312;Lo;0;L;;;;;N;;;;; +18938;TANGUT COMPONENT-313;Lo;0;L;;;;;N;;;;; +18939;TANGUT COMPONENT-314;Lo;0;L;;;;;N;;;;; +1893A;TANGUT COMPONENT-315;Lo;0;L;;;;;N;;;;; +1893B;TANGUT COMPONENT-316;Lo;0;L;;;;;N;;;;; +1893C;TANGUT COMPONENT-317;Lo;0;L;;;;;N;;;;; +1893D;TANGUT COMPONENT-318;Lo;0;L;;;;;N;;;;; +1893E;TANGUT COMPONENT-319;Lo;0;L;;;;;N;;;;; +1893F;TANGUT COMPONENT-320;Lo;0;L;;;;;N;;;;; +18940;TANGUT COMPONENT-321;Lo;0;L;;;;;N;;;;; +18941;TANGUT COMPONENT-322;Lo;0;L;;;;;N;;;;; +18942;TANGUT COMPONENT-323;Lo;0;L;;;;;N;;;;; +18943;TANGUT COMPONENT-324;Lo;0;L;;;;;N;;;;; +18944;TANGUT COMPONENT-325;Lo;0;L;;;;;N;;;;; +18945;TANGUT COMPONENT-326;Lo;0;L;;;;;N;;;;; +18946;TANGUT COMPONENT-327;Lo;0;L;;;;;N;;;;; +18947;TANGUT COMPONENT-328;Lo;0;L;;;;;N;;;;; +18948;TANGUT COMPONENT-329;Lo;0;L;;;;;N;;;;; +18949;TANGUT COMPONENT-330;Lo;0;L;;;;;N;;;;; +1894A;TANGUT COMPONENT-331;Lo;0;L;;;;;N;;;;; +1894B;TANGUT COMPONENT-332;Lo;0;L;;;;;N;;;;; +1894C;TANGUT COMPONENT-333;Lo;0;L;;;;;N;;;;; +1894D;TANGUT COMPONENT-334;Lo;0;L;;;;;N;;;;; +1894E;TANGUT COMPONENT-335;Lo;0;L;;;;;N;;;;; +1894F;TANGUT COMPONENT-336;Lo;0;L;;;;;N;;;;; +18950;TANGUT COMPONENT-337;Lo;0;L;;;;;N;;;;; +18951;TANGUT COMPONENT-338;Lo;0;L;;;;;N;;;;; +18952;TANGUT COMPONENT-339;Lo;0;L;;;;;N;;;;; +18953;TANGUT COMPONENT-340;Lo;0;L;;;;;N;;;;; +18954;TANGUT COMPONENT-341;Lo;0;L;;;;;N;;;;; +18955;TANGUT COMPONENT-342;Lo;0;L;;;;;N;;;;; +18956;TANGUT COMPONENT-343;Lo;0;L;;;;;N;;;;; +18957;TANGUT COMPONENT-344;Lo;0;L;;;;;N;;;;; +18958;TANGUT COMPONENT-345;Lo;0;L;;;;;N;;;;; +18959;TANGUT COMPONENT-346;Lo;0;L;;;;;N;;;;; +1895A;TANGUT COMPONENT-347;Lo;0;L;;;;;N;;;;; +1895B;TANGUT COMPONENT-348;Lo;0;L;;;;;N;;;;; +1895C;TANGUT COMPONENT-349;Lo;0;L;;;;;N;;;;; +1895D;TANGUT COMPONENT-350;Lo;0;L;;;;;N;;;;; +1895E;TANGUT COMPONENT-351;Lo;0;L;;;;;N;;;;; +1895F;TANGUT COMPONENT-352;Lo;0;L;;;;;N;;;;; +18960;TANGUT COMPONENT-353;Lo;0;L;;;;;N;;;;; +18961;TANGUT COMPONENT-354;Lo;0;L;;;;;N;;;;; +18962;TANGUT COMPONENT-355;Lo;0;L;;;;;N;;;;; +18963;TANGUT COMPONENT-356;Lo;0;L;;;;;N;;;;; +18964;TANGUT COMPONENT-357;Lo;0;L;;;;;N;;;;; +18965;TANGUT COMPONENT-358;Lo;0;L;;;;;N;;;;; +18966;TANGUT COMPONENT-359;Lo;0;L;;;;;N;;;;; +18967;TANGUT COMPONENT-360;Lo;0;L;;;;;N;;;;; +18968;TANGUT COMPONENT-361;Lo;0;L;;;;;N;;;;; +18969;TANGUT COMPONENT-362;Lo;0;L;;;;;N;;;;; +1896A;TANGUT COMPONENT-363;Lo;0;L;;;;;N;;;;; +1896B;TANGUT COMPONENT-364;Lo;0;L;;;;;N;;;;; +1896C;TANGUT COMPONENT-365;Lo;0;L;;;;;N;;;;; +1896D;TANGUT COMPONENT-366;Lo;0;L;;;;;N;;;;; +1896E;TANGUT COMPONENT-367;Lo;0;L;;;;;N;;;;; +1896F;TANGUT COMPONENT-368;Lo;0;L;;;;;N;;;;; +18970;TANGUT COMPONENT-369;Lo;0;L;;;;;N;;;;; +18971;TANGUT COMPONENT-370;Lo;0;L;;;;;N;;;;; +18972;TANGUT COMPONENT-371;Lo;0;L;;;;;N;;;;; +18973;TANGUT COMPONENT-372;Lo;0;L;;;;;N;;;;; +18974;TANGUT COMPONENT-373;Lo;0;L;;;;;N;;;;; +18975;TANGUT COMPONENT-374;Lo;0;L;;;;;N;;;;; +18976;TANGUT COMPONENT-375;Lo;0;L;;;;;N;;;;; +18977;TANGUT COMPONENT-376;Lo;0;L;;;;;N;;;;; +18978;TANGUT COMPONENT-377;Lo;0;L;;;;;N;;;;; +18979;TANGUT COMPONENT-378;Lo;0;L;;;;;N;;;;; +1897A;TANGUT COMPONENT-379;Lo;0;L;;;;;N;;;;; +1897B;TANGUT COMPONENT-380;Lo;0;L;;;;;N;;;;; +1897C;TANGUT COMPONENT-381;Lo;0;L;;;;;N;;;;; +1897D;TANGUT COMPONENT-382;Lo;0;L;;;;;N;;;;; +1897E;TANGUT COMPONENT-383;Lo;0;L;;;;;N;;;;; +1897F;TANGUT COMPONENT-384;Lo;0;L;;;;;N;;;;; +18980;TANGUT COMPONENT-385;Lo;0;L;;;;;N;;;;; +18981;TANGUT COMPONENT-386;Lo;0;L;;;;;N;;;;; +18982;TANGUT COMPONENT-387;Lo;0;L;;;;;N;;;;; +18983;TANGUT COMPONENT-388;Lo;0;L;;;;;N;;;;; +18984;TANGUT COMPONENT-389;Lo;0;L;;;;;N;;;;; +18985;TANGUT COMPONENT-390;Lo;0;L;;;;;N;;;;; +18986;TANGUT COMPONENT-391;Lo;0;L;;;;;N;;;;; +18987;TANGUT COMPONENT-392;Lo;0;L;;;;;N;;;;; +18988;TANGUT COMPONENT-393;Lo;0;L;;;;;N;;;;; +18989;TANGUT COMPONENT-394;Lo;0;L;;;;;N;;;;; +1898A;TANGUT COMPONENT-395;Lo;0;L;;;;;N;;;;; +1898B;TANGUT COMPONENT-396;Lo;0;L;;;;;N;;;;; +1898C;TANGUT COMPONENT-397;Lo;0;L;;;;;N;;;;; +1898D;TANGUT COMPONENT-398;Lo;0;L;;;;;N;;;;; +1898E;TANGUT COMPONENT-399;Lo;0;L;;;;;N;;;;; +1898F;TANGUT COMPONENT-400;Lo;0;L;;;;;N;;;;; +18990;TANGUT COMPONENT-401;Lo;0;L;;;;;N;;;;; +18991;TANGUT COMPONENT-402;Lo;0;L;;;;;N;;;;; +18992;TANGUT COMPONENT-403;Lo;0;L;;;;;N;;;;; +18993;TANGUT COMPONENT-404;Lo;0;L;;;;;N;;;;; +18994;TANGUT COMPONENT-405;Lo;0;L;;;;;N;;;;; +18995;TANGUT COMPONENT-406;Lo;0;L;;;;;N;;;;; +18996;TANGUT COMPONENT-407;Lo;0;L;;;;;N;;;;; +18997;TANGUT COMPONENT-408;Lo;0;L;;;;;N;;;;; +18998;TANGUT COMPONENT-409;Lo;0;L;;;;;N;;;;; +18999;TANGUT COMPONENT-410;Lo;0;L;;;;;N;;;;; +1899A;TANGUT COMPONENT-411;Lo;0;L;;;;;N;;;;; +1899B;TANGUT COMPONENT-412;Lo;0;L;;;;;N;;;;; +1899C;TANGUT COMPONENT-413;Lo;0;L;;;;;N;;;;; +1899D;TANGUT COMPONENT-414;Lo;0;L;;;;;N;;;;; +1899E;TANGUT COMPONENT-415;Lo;0;L;;;;;N;;;;; +1899F;TANGUT COMPONENT-416;Lo;0;L;;;;;N;;;;; +189A0;TANGUT COMPONENT-417;Lo;0;L;;;;;N;;;;; +189A1;TANGUT COMPONENT-418;Lo;0;L;;;;;N;;;;; +189A2;TANGUT COMPONENT-419;Lo;0;L;;;;;N;;;;; +189A3;TANGUT COMPONENT-420;Lo;0;L;;;;;N;;;;; +189A4;TANGUT COMPONENT-421;Lo;0;L;;;;;N;;;;; +189A5;TANGUT COMPONENT-422;Lo;0;L;;;;;N;;;;; +189A6;TANGUT COMPONENT-423;Lo;0;L;;;;;N;;;;; +189A7;TANGUT COMPONENT-424;Lo;0;L;;;;;N;;;;; +189A8;TANGUT COMPONENT-425;Lo;0;L;;;;;N;;;;; +189A9;TANGUT COMPONENT-426;Lo;0;L;;;;;N;;;;; +189AA;TANGUT COMPONENT-427;Lo;0;L;;;;;N;;;;; +189AB;TANGUT COMPONENT-428;Lo;0;L;;;;;N;;;;; +189AC;TANGUT COMPONENT-429;Lo;0;L;;;;;N;;;;; +189AD;TANGUT COMPONENT-430;Lo;0;L;;;;;N;;;;; +189AE;TANGUT COMPONENT-431;Lo;0;L;;;;;N;;;;; +189AF;TANGUT COMPONENT-432;Lo;0;L;;;;;N;;;;; +189B0;TANGUT COMPONENT-433;Lo;0;L;;;;;N;;;;; +189B1;TANGUT COMPONENT-434;Lo;0;L;;;;;N;;;;; +189B2;TANGUT COMPONENT-435;Lo;0;L;;;;;N;;;;; +189B3;TANGUT COMPONENT-436;Lo;0;L;;;;;N;;;;; +189B4;TANGUT COMPONENT-437;Lo;0;L;;;;;N;;;;; +189B5;TANGUT COMPONENT-438;Lo;0;L;;;;;N;;;;; +189B6;TANGUT COMPONENT-439;Lo;0;L;;;;;N;;;;; +189B7;TANGUT COMPONENT-440;Lo;0;L;;;;;N;;;;; +189B8;TANGUT COMPONENT-441;Lo;0;L;;;;;N;;;;; +189B9;TANGUT COMPONENT-442;Lo;0;L;;;;;N;;;;; +189BA;TANGUT COMPONENT-443;Lo;0;L;;;;;N;;;;; +189BB;TANGUT COMPONENT-444;Lo;0;L;;;;;N;;;;; +189BC;TANGUT COMPONENT-445;Lo;0;L;;;;;N;;;;; +189BD;TANGUT COMPONENT-446;Lo;0;L;;;;;N;;;;; +189BE;TANGUT COMPONENT-447;Lo;0;L;;;;;N;;;;; +189BF;TANGUT COMPONENT-448;Lo;0;L;;;;;N;;;;; +189C0;TANGUT COMPONENT-449;Lo;0;L;;;;;N;;;;; +189C1;TANGUT COMPONENT-450;Lo;0;L;;;;;N;;;;; +189C2;TANGUT COMPONENT-451;Lo;0;L;;;;;N;;;;; +189C3;TANGUT COMPONENT-452;Lo;0;L;;;;;N;;;;; +189C4;TANGUT COMPONENT-453;Lo;0;L;;;;;N;;;;; +189C5;TANGUT COMPONENT-454;Lo;0;L;;;;;N;;;;; +189C6;TANGUT COMPONENT-455;Lo;0;L;;;;;N;;;;; +189C7;TANGUT COMPONENT-456;Lo;0;L;;;;;N;;;;; +189C8;TANGUT COMPONENT-457;Lo;0;L;;;;;N;;;;; +189C9;TANGUT COMPONENT-458;Lo;0;L;;;;;N;;;;; +189CA;TANGUT COMPONENT-459;Lo;0;L;;;;;N;;;;; +189CB;TANGUT COMPONENT-460;Lo;0;L;;;;;N;;;;; +189CC;TANGUT COMPONENT-461;Lo;0;L;;;;;N;;;;; +189CD;TANGUT COMPONENT-462;Lo;0;L;;;;;N;;;;; +189CE;TANGUT COMPONENT-463;Lo;0;L;;;;;N;;;;; +189CF;TANGUT COMPONENT-464;Lo;0;L;;;;;N;;;;; +189D0;TANGUT COMPONENT-465;Lo;0;L;;;;;N;;;;; +189D1;TANGUT COMPONENT-466;Lo;0;L;;;;;N;;;;; +189D2;TANGUT COMPONENT-467;Lo;0;L;;;;;N;;;;; +189D3;TANGUT COMPONENT-468;Lo;0;L;;;;;N;;;;; +189D4;TANGUT COMPONENT-469;Lo;0;L;;;;;N;;;;; +189D5;TANGUT COMPONENT-470;Lo;0;L;;;;;N;;;;; +189D6;TANGUT COMPONENT-471;Lo;0;L;;;;;N;;;;; +189D7;TANGUT COMPONENT-472;Lo;0;L;;;;;N;;;;; +189D8;TANGUT COMPONENT-473;Lo;0;L;;;;;N;;;;; +189D9;TANGUT COMPONENT-474;Lo;0;L;;;;;N;;;;; +189DA;TANGUT COMPONENT-475;Lo;0;L;;;;;N;;;;; +189DB;TANGUT COMPONENT-476;Lo;0;L;;;;;N;;;;; +189DC;TANGUT COMPONENT-477;Lo;0;L;;;;;N;;;;; +189DD;TANGUT COMPONENT-478;Lo;0;L;;;;;N;;;;; +189DE;TANGUT COMPONENT-479;Lo;0;L;;;;;N;;;;; +189DF;TANGUT COMPONENT-480;Lo;0;L;;;;;N;;;;; +189E0;TANGUT COMPONENT-481;Lo;0;L;;;;;N;;;;; +189E1;TANGUT COMPONENT-482;Lo;0;L;;;;;N;;;;; +189E2;TANGUT COMPONENT-483;Lo;0;L;;;;;N;;;;; +189E3;TANGUT COMPONENT-484;Lo;0;L;;;;;N;;;;; +189E4;TANGUT COMPONENT-485;Lo;0;L;;;;;N;;;;; +189E5;TANGUT COMPONENT-486;Lo;0;L;;;;;N;;;;; +189E6;TANGUT COMPONENT-487;Lo;0;L;;;;;N;;;;; +189E7;TANGUT COMPONENT-488;Lo;0;L;;;;;N;;;;; +189E8;TANGUT COMPONENT-489;Lo;0;L;;;;;N;;;;; +189E9;TANGUT COMPONENT-490;Lo;0;L;;;;;N;;;;; +189EA;TANGUT COMPONENT-491;Lo;0;L;;;;;N;;;;; +189EB;TANGUT COMPONENT-492;Lo;0;L;;;;;N;;;;; +189EC;TANGUT COMPONENT-493;Lo;0;L;;;;;N;;;;; +189ED;TANGUT COMPONENT-494;Lo;0;L;;;;;N;;;;; +189EE;TANGUT COMPONENT-495;Lo;0;L;;;;;N;;;;; +189EF;TANGUT COMPONENT-496;Lo;0;L;;;;;N;;;;; +189F0;TANGUT COMPONENT-497;Lo;0;L;;;;;N;;;;; +189F1;TANGUT COMPONENT-498;Lo;0;L;;;;;N;;;;; +189F2;TANGUT COMPONENT-499;Lo;0;L;;;;;N;;;;; +189F3;TANGUT COMPONENT-500;Lo;0;L;;;;;N;;;;; +189F4;TANGUT COMPONENT-501;Lo;0;L;;;;;N;;;;; +189F5;TANGUT COMPONENT-502;Lo;0;L;;;;;N;;;;; +189F6;TANGUT COMPONENT-503;Lo;0;L;;;;;N;;;;; +189F7;TANGUT COMPONENT-504;Lo;0;L;;;;;N;;;;; +189F8;TANGUT COMPONENT-505;Lo;0;L;;;;;N;;;;; +189F9;TANGUT COMPONENT-506;Lo;0;L;;;;;N;;;;; +189FA;TANGUT COMPONENT-507;Lo;0;L;;;;;N;;;;; +189FB;TANGUT COMPONENT-508;Lo;0;L;;;;;N;;;;; +189FC;TANGUT COMPONENT-509;Lo;0;L;;;;;N;;;;; +189FD;TANGUT COMPONENT-510;Lo;0;L;;;;;N;;;;; +189FE;TANGUT COMPONENT-511;Lo;0;L;;;;;N;;;;; +189FF;TANGUT COMPONENT-512;Lo;0;L;;;;;N;;;;; +18A00;TANGUT COMPONENT-513;Lo;0;L;;;;;N;;;;; +18A01;TANGUT COMPONENT-514;Lo;0;L;;;;;N;;;;; +18A02;TANGUT COMPONENT-515;Lo;0;L;;;;;N;;;;; +18A03;TANGUT COMPONENT-516;Lo;0;L;;;;;N;;;;; +18A04;TANGUT COMPONENT-517;Lo;0;L;;;;;N;;;;; +18A05;TANGUT COMPONENT-518;Lo;0;L;;;;;N;;;;; +18A06;TANGUT COMPONENT-519;Lo;0;L;;;;;N;;;;; +18A07;TANGUT COMPONENT-520;Lo;0;L;;;;;N;;;;; +18A08;TANGUT COMPONENT-521;Lo;0;L;;;;;N;;;;; +18A09;TANGUT COMPONENT-522;Lo;0;L;;;;;N;;;;; +18A0A;TANGUT COMPONENT-523;Lo;0;L;;;;;N;;;;; +18A0B;TANGUT COMPONENT-524;Lo;0;L;;;;;N;;;;; +18A0C;TANGUT COMPONENT-525;Lo;0;L;;;;;N;;;;; +18A0D;TANGUT COMPONENT-526;Lo;0;L;;;;;N;;;;; +18A0E;TANGUT COMPONENT-527;Lo;0;L;;;;;N;;;;; +18A0F;TANGUT COMPONENT-528;Lo;0;L;;;;;N;;;;; +18A10;TANGUT COMPONENT-529;Lo;0;L;;;;;N;;;;; +18A11;TANGUT COMPONENT-530;Lo;0;L;;;;;N;;;;; +18A12;TANGUT COMPONENT-531;Lo;0;L;;;;;N;;;;; +18A13;TANGUT COMPONENT-532;Lo;0;L;;;;;N;;;;; +18A14;TANGUT COMPONENT-533;Lo;0;L;;;;;N;;;;; +18A15;TANGUT COMPONENT-534;Lo;0;L;;;;;N;;;;; +18A16;TANGUT COMPONENT-535;Lo;0;L;;;;;N;;;;; +18A17;TANGUT COMPONENT-536;Lo;0;L;;;;;N;;;;; +18A18;TANGUT COMPONENT-537;Lo;0;L;;;;;N;;;;; +18A19;TANGUT COMPONENT-538;Lo;0;L;;;;;N;;;;; +18A1A;TANGUT COMPONENT-539;Lo;0;L;;;;;N;;;;; +18A1B;TANGUT COMPONENT-540;Lo;0;L;;;;;N;;;;; +18A1C;TANGUT COMPONENT-541;Lo;0;L;;;;;N;;;;; +18A1D;TANGUT COMPONENT-542;Lo;0;L;;;;;N;;;;; +18A1E;TANGUT COMPONENT-543;Lo;0;L;;;;;N;;;;; +18A1F;TANGUT COMPONENT-544;Lo;0;L;;;;;N;;;;; +18A20;TANGUT COMPONENT-545;Lo;0;L;;;;;N;;;;; +18A21;TANGUT COMPONENT-546;Lo;0;L;;;;;N;;;;; +18A22;TANGUT COMPONENT-547;Lo;0;L;;;;;N;;;;; +18A23;TANGUT COMPONENT-548;Lo;0;L;;;;;N;;;;; +18A24;TANGUT COMPONENT-549;Lo;0;L;;;;;N;;;;; +18A25;TANGUT COMPONENT-550;Lo;0;L;;;;;N;;;;; +18A26;TANGUT COMPONENT-551;Lo;0;L;;;;;N;;;;; +18A27;TANGUT COMPONENT-552;Lo;0;L;;;;;N;;;;; +18A28;TANGUT COMPONENT-553;Lo;0;L;;;;;N;;;;; +18A29;TANGUT COMPONENT-554;Lo;0;L;;;;;N;;;;; +18A2A;TANGUT COMPONENT-555;Lo;0;L;;;;;N;;;;; +18A2B;TANGUT COMPONENT-556;Lo;0;L;;;;;N;;;;; +18A2C;TANGUT COMPONENT-557;Lo;0;L;;;;;N;;;;; +18A2D;TANGUT COMPONENT-558;Lo;0;L;;;;;N;;;;; +18A2E;TANGUT COMPONENT-559;Lo;0;L;;;;;N;;;;; +18A2F;TANGUT COMPONENT-560;Lo;0;L;;;;;N;;;;; +18A30;TANGUT COMPONENT-561;Lo;0;L;;;;;N;;;;; +18A31;TANGUT COMPONENT-562;Lo;0;L;;;;;N;;;;; +18A32;TANGUT COMPONENT-563;Lo;0;L;;;;;N;;;;; +18A33;TANGUT COMPONENT-564;Lo;0;L;;;;;N;;;;; +18A34;TANGUT COMPONENT-565;Lo;0;L;;;;;N;;;;; +18A35;TANGUT COMPONENT-566;Lo;0;L;;;;;N;;;;; +18A36;TANGUT COMPONENT-567;Lo;0;L;;;;;N;;;;; +18A37;TANGUT COMPONENT-568;Lo;0;L;;;;;N;;;;; +18A38;TANGUT COMPONENT-569;Lo;0;L;;;;;N;;;;; +18A39;TANGUT COMPONENT-570;Lo;0;L;;;;;N;;;;; +18A3A;TANGUT COMPONENT-571;Lo;0;L;;;;;N;;;;; +18A3B;TANGUT COMPONENT-572;Lo;0;L;;;;;N;;;;; +18A3C;TANGUT COMPONENT-573;Lo;0;L;;;;;N;;;;; +18A3D;TANGUT COMPONENT-574;Lo;0;L;;;;;N;;;;; +18A3E;TANGUT COMPONENT-575;Lo;0;L;;;;;N;;;;; +18A3F;TANGUT COMPONENT-576;Lo;0;L;;;;;N;;;;; +18A40;TANGUT COMPONENT-577;Lo;0;L;;;;;N;;;;; +18A41;TANGUT COMPONENT-578;Lo;0;L;;;;;N;;;;; +18A42;TANGUT COMPONENT-579;Lo;0;L;;;;;N;;;;; +18A43;TANGUT COMPONENT-580;Lo;0;L;;;;;N;;;;; +18A44;TANGUT COMPONENT-581;Lo;0;L;;;;;N;;;;; +18A45;TANGUT COMPONENT-582;Lo;0;L;;;;;N;;;;; +18A46;TANGUT COMPONENT-583;Lo;0;L;;;;;N;;;;; +18A47;TANGUT COMPONENT-584;Lo;0;L;;;;;N;;;;; +18A48;TANGUT COMPONENT-585;Lo;0;L;;;;;N;;;;; +18A49;TANGUT COMPONENT-586;Lo;0;L;;;;;N;;;;; +18A4A;TANGUT COMPONENT-587;Lo;0;L;;;;;N;;;;; +18A4B;TANGUT COMPONENT-588;Lo;0;L;;;;;N;;;;; +18A4C;TANGUT COMPONENT-589;Lo;0;L;;;;;N;;;;; +18A4D;TANGUT COMPONENT-590;Lo;0;L;;;;;N;;;;; +18A4E;TANGUT COMPONENT-591;Lo;0;L;;;;;N;;;;; +18A4F;TANGUT COMPONENT-592;Lo;0;L;;;;;N;;;;; +18A50;TANGUT COMPONENT-593;Lo;0;L;;;;;N;;;;; +18A51;TANGUT COMPONENT-594;Lo;0;L;;;;;N;;;;; +18A52;TANGUT COMPONENT-595;Lo;0;L;;;;;N;;;;; +18A53;TANGUT COMPONENT-596;Lo;0;L;;;;;N;;;;; +18A54;TANGUT COMPONENT-597;Lo;0;L;;;;;N;;;;; +18A55;TANGUT COMPONENT-598;Lo;0;L;;;;;N;;;;; +18A56;TANGUT COMPONENT-599;Lo;0;L;;;;;N;;;;; +18A57;TANGUT COMPONENT-600;Lo;0;L;;;;;N;;;;; +18A58;TANGUT COMPONENT-601;Lo;0;L;;;;;N;;;;; +18A59;TANGUT COMPONENT-602;Lo;0;L;;;;;N;;;;; +18A5A;TANGUT COMPONENT-603;Lo;0;L;;;;;N;;;;; +18A5B;TANGUT COMPONENT-604;Lo;0;L;;;;;N;;;;; +18A5C;TANGUT COMPONENT-605;Lo;0;L;;;;;N;;;;; +18A5D;TANGUT COMPONENT-606;Lo;0;L;;;;;N;;;;; +18A5E;TANGUT COMPONENT-607;Lo;0;L;;;;;N;;;;; +18A5F;TANGUT COMPONENT-608;Lo;0;L;;;;;N;;;;; +18A60;TANGUT COMPONENT-609;Lo;0;L;;;;;N;;;;; +18A61;TANGUT COMPONENT-610;Lo;0;L;;;;;N;;;;; +18A62;TANGUT COMPONENT-611;Lo;0;L;;;;;N;;;;; +18A63;TANGUT COMPONENT-612;Lo;0;L;;;;;N;;;;; +18A64;TANGUT COMPONENT-613;Lo;0;L;;;;;N;;;;; +18A65;TANGUT COMPONENT-614;Lo;0;L;;;;;N;;;;; +18A66;TANGUT COMPONENT-615;Lo;0;L;;;;;N;;;;; +18A67;TANGUT COMPONENT-616;Lo;0;L;;;;;N;;;;; +18A68;TANGUT COMPONENT-617;Lo;0;L;;;;;N;;;;; +18A69;TANGUT COMPONENT-618;Lo;0;L;;;;;N;;;;; +18A6A;TANGUT COMPONENT-619;Lo;0;L;;;;;N;;;;; +18A6B;TANGUT COMPONENT-620;Lo;0;L;;;;;N;;;;; +18A6C;TANGUT COMPONENT-621;Lo;0;L;;;;;N;;;;; +18A6D;TANGUT COMPONENT-622;Lo;0;L;;;;;N;;;;; +18A6E;TANGUT COMPONENT-623;Lo;0;L;;;;;N;;;;; +18A6F;TANGUT COMPONENT-624;Lo;0;L;;;;;N;;;;; +18A70;TANGUT COMPONENT-625;Lo;0;L;;;;;N;;;;; +18A71;TANGUT COMPONENT-626;Lo;0;L;;;;;N;;;;; +18A72;TANGUT COMPONENT-627;Lo;0;L;;;;;N;;;;; +18A73;TANGUT COMPONENT-628;Lo;0;L;;;;;N;;;;; +18A74;TANGUT COMPONENT-629;Lo;0;L;;;;;N;;;;; +18A75;TANGUT COMPONENT-630;Lo;0;L;;;;;N;;;;; +18A76;TANGUT COMPONENT-631;Lo;0;L;;;;;N;;;;; +18A77;TANGUT COMPONENT-632;Lo;0;L;;;;;N;;;;; +18A78;TANGUT COMPONENT-633;Lo;0;L;;;;;N;;;;; +18A79;TANGUT COMPONENT-634;Lo;0;L;;;;;N;;;;; +18A7A;TANGUT COMPONENT-635;Lo;0;L;;;;;N;;;;; +18A7B;TANGUT COMPONENT-636;Lo;0;L;;;;;N;;;;; +18A7C;TANGUT COMPONENT-637;Lo;0;L;;;;;N;;;;; +18A7D;TANGUT COMPONENT-638;Lo;0;L;;;;;N;;;;; +18A7E;TANGUT COMPONENT-639;Lo;0;L;;;;;N;;;;; +18A7F;TANGUT COMPONENT-640;Lo;0;L;;;;;N;;;;; +18A80;TANGUT COMPONENT-641;Lo;0;L;;;;;N;;;;; +18A81;TANGUT COMPONENT-642;Lo;0;L;;;;;N;;;;; +18A82;TANGUT COMPONENT-643;Lo;0;L;;;;;N;;;;; +18A83;TANGUT COMPONENT-644;Lo;0;L;;;;;N;;;;; +18A84;TANGUT COMPONENT-645;Lo;0;L;;;;;N;;;;; +18A85;TANGUT COMPONENT-646;Lo;0;L;;;;;N;;;;; +18A86;TANGUT COMPONENT-647;Lo;0;L;;;;;N;;;;; +18A87;TANGUT COMPONENT-648;Lo;0;L;;;;;N;;;;; +18A88;TANGUT COMPONENT-649;Lo;0;L;;;;;N;;;;; +18A89;TANGUT COMPONENT-650;Lo;0;L;;;;;N;;;;; +18A8A;TANGUT COMPONENT-651;Lo;0;L;;;;;N;;;;; +18A8B;TANGUT COMPONENT-652;Lo;0;L;;;;;N;;;;; +18A8C;TANGUT COMPONENT-653;Lo;0;L;;;;;N;;;;; +18A8D;TANGUT COMPONENT-654;Lo;0;L;;;;;N;;;;; +18A8E;TANGUT COMPONENT-655;Lo;0;L;;;;;N;;;;; +18A8F;TANGUT COMPONENT-656;Lo;0;L;;;;;N;;;;; +18A90;TANGUT COMPONENT-657;Lo;0;L;;;;;N;;;;; +18A91;TANGUT COMPONENT-658;Lo;0;L;;;;;N;;;;; +18A92;TANGUT COMPONENT-659;Lo;0;L;;;;;N;;;;; +18A93;TANGUT COMPONENT-660;Lo;0;L;;;;;N;;;;; +18A94;TANGUT COMPONENT-661;Lo;0;L;;;;;N;;;;; +18A95;TANGUT COMPONENT-662;Lo;0;L;;;;;N;;;;; +18A96;TANGUT COMPONENT-663;Lo;0;L;;;;;N;;;;; +18A97;TANGUT COMPONENT-664;Lo;0;L;;;;;N;;;;; +18A98;TANGUT COMPONENT-665;Lo;0;L;;;;;N;;;;; +18A99;TANGUT COMPONENT-666;Lo;0;L;;;;;N;;;;; +18A9A;TANGUT COMPONENT-667;Lo;0;L;;;;;N;;;;; +18A9B;TANGUT COMPONENT-668;Lo;0;L;;;;;N;;;;; +18A9C;TANGUT COMPONENT-669;Lo;0;L;;;;;N;;;;; +18A9D;TANGUT COMPONENT-670;Lo;0;L;;;;;N;;;;; +18A9E;TANGUT COMPONENT-671;Lo;0;L;;;;;N;;;;; +18A9F;TANGUT COMPONENT-672;Lo;0;L;;;;;N;;;;; +18AA0;TANGUT COMPONENT-673;Lo;0;L;;;;;N;;;;; +18AA1;TANGUT COMPONENT-674;Lo;0;L;;;;;N;;;;; +18AA2;TANGUT COMPONENT-675;Lo;0;L;;;;;N;;;;; +18AA3;TANGUT COMPONENT-676;Lo;0;L;;;;;N;;;;; +18AA4;TANGUT COMPONENT-677;Lo;0;L;;;;;N;;;;; +18AA5;TANGUT COMPONENT-678;Lo;0;L;;;;;N;;;;; +18AA6;TANGUT COMPONENT-679;Lo;0;L;;;;;N;;;;; +18AA7;TANGUT COMPONENT-680;Lo;0;L;;;;;N;;;;; +18AA8;TANGUT COMPONENT-681;Lo;0;L;;;;;N;;;;; +18AA9;TANGUT COMPONENT-682;Lo;0;L;;;;;N;;;;; +18AAA;TANGUT COMPONENT-683;Lo;0;L;;;;;N;;;;; +18AAB;TANGUT COMPONENT-684;Lo;0;L;;;;;N;;;;; +18AAC;TANGUT COMPONENT-685;Lo;0;L;;;;;N;;;;; +18AAD;TANGUT COMPONENT-686;Lo;0;L;;;;;N;;;;; +18AAE;TANGUT COMPONENT-687;Lo;0;L;;;;;N;;;;; +18AAF;TANGUT COMPONENT-688;Lo;0;L;;;;;N;;;;; +18AB0;TANGUT COMPONENT-689;Lo;0;L;;;;;N;;;;; +18AB1;TANGUT COMPONENT-690;Lo;0;L;;;;;N;;;;; +18AB2;TANGUT COMPONENT-691;Lo;0;L;;;;;N;;;;; +18AB3;TANGUT COMPONENT-692;Lo;0;L;;;;;N;;;;; +18AB4;TANGUT COMPONENT-693;Lo;0;L;;;;;N;;;;; +18AB5;TANGUT COMPONENT-694;Lo;0;L;;;;;N;;;;; +18AB6;TANGUT COMPONENT-695;Lo;0;L;;;;;N;;;;; +18AB7;TANGUT COMPONENT-696;Lo;0;L;;;;;N;;;;; +18AB8;TANGUT COMPONENT-697;Lo;0;L;;;;;N;;;;; +18AB9;TANGUT COMPONENT-698;Lo;0;L;;;;;N;;;;; +18ABA;TANGUT COMPONENT-699;Lo;0;L;;;;;N;;;;; +18ABB;TANGUT COMPONENT-700;Lo;0;L;;;;;N;;;;; +18ABC;TANGUT COMPONENT-701;Lo;0;L;;;;;N;;;;; +18ABD;TANGUT COMPONENT-702;Lo;0;L;;;;;N;;;;; +18ABE;TANGUT COMPONENT-703;Lo;0;L;;;;;N;;;;; +18ABF;TANGUT COMPONENT-704;Lo;0;L;;;;;N;;;;; +18AC0;TANGUT COMPONENT-705;Lo;0;L;;;;;N;;;;; +18AC1;TANGUT COMPONENT-706;Lo;0;L;;;;;N;;;;; +18AC2;TANGUT COMPONENT-707;Lo;0;L;;;;;N;;;;; +18AC3;TANGUT COMPONENT-708;Lo;0;L;;;;;N;;;;; +18AC4;TANGUT COMPONENT-709;Lo;0;L;;;;;N;;;;; +18AC5;TANGUT COMPONENT-710;Lo;0;L;;;;;N;;;;; +18AC6;TANGUT COMPONENT-711;Lo;0;L;;;;;N;;;;; +18AC7;TANGUT COMPONENT-712;Lo;0;L;;;;;N;;;;; +18AC8;TANGUT COMPONENT-713;Lo;0;L;;;;;N;;;;; +18AC9;TANGUT COMPONENT-714;Lo;0;L;;;;;N;;;;; +18ACA;TANGUT COMPONENT-715;Lo;0;L;;;;;N;;;;; +18ACB;TANGUT COMPONENT-716;Lo;0;L;;;;;N;;;;; +18ACC;TANGUT COMPONENT-717;Lo;0;L;;;;;N;;;;; +18ACD;TANGUT COMPONENT-718;Lo;0;L;;;;;N;;;;; +18ACE;TANGUT COMPONENT-719;Lo;0;L;;;;;N;;;;; +18ACF;TANGUT COMPONENT-720;Lo;0;L;;;;;N;;;;; +18AD0;TANGUT COMPONENT-721;Lo;0;L;;;;;N;;;;; +18AD1;TANGUT COMPONENT-722;Lo;0;L;;;;;N;;;;; +18AD2;TANGUT COMPONENT-723;Lo;0;L;;;;;N;;;;; +18AD3;TANGUT COMPONENT-724;Lo;0;L;;;;;N;;;;; +18AD4;TANGUT COMPONENT-725;Lo;0;L;;;;;N;;;;; +18AD5;TANGUT COMPONENT-726;Lo;0;L;;;;;N;;;;; +18AD6;TANGUT COMPONENT-727;Lo;0;L;;;;;N;;;;; +18AD7;TANGUT COMPONENT-728;Lo;0;L;;;;;N;;;;; +18AD8;TANGUT COMPONENT-729;Lo;0;L;;;;;N;;;;; +18AD9;TANGUT COMPONENT-730;Lo;0;L;;;;;N;;;;; +18ADA;TANGUT COMPONENT-731;Lo;0;L;;;;;N;;;;; +18ADB;TANGUT COMPONENT-732;Lo;0;L;;;;;N;;;;; +18ADC;TANGUT COMPONENT-733;Lo;0;L;;;;;N;;;;; +18ADD;TANGUT COMPONENT-734;Lo;0;L;;;;;N;;;;; +18ADE;TANGUT COMPONENT-735;Lo;0;L;;;;;N;;;;; +18ADF;TANGUT COMPONENT-736;Lo;0;L;;;;;N;;;;; +18AE0;TANGUT COMPONENT-737;Lo;0;L;;;;;N;;;;; +18AE1;TANGUT COMPONENT-738;Lo;0;L;;;;;N;;;;; +18AE2;TANGUT COMPONENT-739;Lo;0;L;;;;;N;;;;; +18AE3;TANGUT COMPONENT-740;Lo;0;L;;;;;N;;;;; +18AE4;TANGUT COMPONENT-741;Lo;0;L;;;;;N;;;;; +18AE5;TANGUT COMPONENT-742;Lo;0;L;;;;;N;;;;; +18AE6;TANGUT COMPONENT-743;Lo;0;L;;;;;N;;;;; +18AE7;TANGUT COMPONENT-744;Lo;0;L;;;;;N;;;;; +18AE8;TANGUT COMPONENT-745;Lo;0;L;;;;;N;;;;; +18AE9;TANGUT COMPONENT-746;Lo;0;L;;;;;N;;;;; +18AEA;TANGUT COMPONENT-747;Lo;0;L;;;;;N;;;;; +18AEB;TANGUT COMPONENT-748;Lo;0;L;;;;;N;;;;; +18AEC;TANGUT COMPONENT-749;Lo;0;L;;;;;N;;;;; +18AED;TANGUT COMPONENT-750;Lo;0;L;;;;;N;;;;; +18AEE;TANGUT COMPONENT-751;Lo;0;L;;;;;N;;;;; +18AEF;TANGUT COMPONENT-752;Lo;0;L;;;;;N;;;;; +18AF0;TANGUT COMPONENT-753;Lo;0;L;;;;;N;;;;; +18AF1;TANGUT COMPONENT-754;Lo;0;L;;;;;N;;;;; +18AF2;TANGUT COMPONENT-755;Lo;0;L;;;;;N;;;;; +18AF3;TANGUT COMPONENT-756;Lo;0;L;;;;;N;;;;; +18AF4;TANGUT COMPONENT-757;Lo;0;L;;;;;N;;;;; +18AF5;TANGUT COMPONENT-758;Lo;0;L;;;;;N;;;;; +18AF6;TANGUT COMPONENT-759;Lo;0;L;;;;;N;;;;; +18AF7;TANGUT COMPONENT-760;Lo;0;L;;;;;N;;;;; +18AF8;TANGUT COMPONENT-761;Lo;0;L;;;;;N;;;;; +18AF9;TANGUT COMPONENT-762;Lo;0;L;;;;;N;;;;; +18AFA;TANGUT COMPONENT-763;Lo;0;L;;;;;N;;;;; +18AFB;TANGUT COMPONENT-764;Lo;0;L;;;;;N;;;;; +18AFC;TANGUT COMPONENT-765;Lo;0;L;;;;;N;;;;; +18AFD;TANGUT COMPONENT-766;Lo;0;L;;;;;N;;;;; +18AFE;TANGUT COMPONENT-767;Lo;0;L;;;;;N;;;;; +18AFF;TANGUT COMPONENT-768;Lo;0;L;;;;;N;;;;; +18B00;KHITAN SMALL SCRIPT CHARACTER-18B00;Lo;0;L;;;;;N;;;;; +18B01;KHITAN SMALL SCRIPT CHARACTER-18B01;Lo;0;L;;;;;N;;;;; +18B02;KHITAN SMALL SCRIPT CHARACTER-18B02;Lo;0;L;;;;;N;;;;; +18B03;KHITAN SMALL SCRIPT CHARACTER-18B03;Lo;0;L;;;;;N;;;;; +18B04;KHITAN SMALL SCRIPT CHARACTER-18B04;Lo;0;L;;;;;N;;;;; +18B05;KHITAN SMALL SCRIPT CHARACTER-18B05;Lo;0;L;;;;;N;;;;; +18B06;KHITAN SMALL SCRIPT CHARACTER-18B06;Lo;0;L;;;;;N;;;;; +18B07;KHITAN SMALL SCRIPT CHARACTER-18B07;Lo;0;L;;;;;N;;;;; +18B08;KHITAN SMALL SCRIPT CHARACTER-18B08;Lo;0;L;;;;;N;;;;; +18B09;KHITAN SMALL SCRIPT CHARACTER-18B09;Lo;0;L;;;;;N;;;;; +18B0A;KHITAN SMALL SCRIPT CHARACTER-18B0A;Lo;0;L;;;;;N;;;;; +18B0B;KHITAN SMALL SCRIPT CHARACTER-18B0B;Lo;0;L;;;;;N;;;;; +18B0C;KHITAN SMALL SCRIPT CHARACTER-18B0C;Lo;0;L;;;;;N;;;;; +18B0D;KHITAN SMALL SCRIPT CHARACTER-18B0D;Lo;0;L;;;;;N;;;;; +18B0E;KHITAN SMALL SCRIPT CHARACTER-18B0E;Lo;0;L;;;;;N;;;;; +18B0F;KHITAN SMALL SCRIPT CHARACTER-18B0F;Lo;0;L;;;;;N;;;;; +18B10;KHITAN SMALL SCRIPT CHARACTER-18B10;Lo;0;L;;;;;N;;;;; +18B11;KHITAN SMALL SCRIPT CHARACTER-18B11;Lo;0;L;;;;;N;;;;; +18B12;KHITAN SMALL SCRIPT CHARACTER-18B12;Lo;0;L;;;;;N;;;;; +18B13;KHITAN SMALL SCRIPT CHARACTER-18B13;Lo;0;L;;;;;N;;;;; +18B14;KHITAN SMALL SCRIPT CHARACTER-18B14;Lo;0;L;;;;;N;;;;; +18B15;KHITAN SMALL SCRIPT CHARACTER-18B15;Lo;0;L;;;;;N;;;;; +18B16;KHITAN SMALL SCRIPT CHARACTER-18B16;Lo;0;L;;;;;N;;;;; +18B17;KHITAN SMALL SCRIPT CHARACTER-18B17;Lo;0;L;;;;;N;;;;; +18B18;KHITAN SMALL SCRIPT CHARACTER-18B18;Lo;0;L;;;;;N;;;;; +18B19;KHITAN SMALL SCRIPT CHARACTER-18B19;Lo;0;L;;;;;N;;;;; +18B1A;KHITAN SMALL SCRIPT CHARACTER-18B1A;Lo;0;L;;;;;N;;;;; +18B1B;KHITAN SMALL SCRIPT CHARACTER-18B1B;Lo;0;L;;;;;N;;;;; +18B1C;KHITAN SMALL SCRIPT CHARACTER-18B1C;Lo;0;L;;;;;N;;;;; +18B1D;KHITAN SMALL SCRIPT CHARACTER-18B1D;Lo;0;L;;;;;N;;;;; +18B1E;KHITAN SMALL SCRIPT CHARACTER-18B1E;Lo;0;L;;;;;N;;;;; +18B1F;KHITAN SMALL SCRIPT CHARACTER-18B1F;Lo;0;L;;;;;N;;;;; +18B20;KHITAN SMALL SCRIPT CHARACTER-18B20;Lo;0;L;;;;;N;;;;; +18B21;KHITAN SMALL SCRIPT CHARACTER-18B21;Lo;0;L;;;;;N;;;;; +18B22;KHITAN SMALL SCRIPT CHARACTER-18B22;Lo;0;L;;;;;N;;;;; +18B23;KHITAN SMALL SCRIPT CHARACTER-18B23;Lo;0;L;;;;;N;;;;; +18B24;KHITAN SMALL SCRIPT CHARACTER-18B24;Lo;0;L;;;;;N;;;;; +18B25;KHITAN SMALL SCRIPT CHARACTER-18B25;Lo;0;L;;;;;N;;;;; +18B26;KHITAN SMALL SCRIPT CHARACTER-18B26;Lo;0;L;;;;;N;;;;; +18B27;KHITAN SMALL SCRIPT CHARACTER-18B27;Lo;0;L;;;;;N;;;;; +18B28;KHITAN SMALL SCRIPT CHARACTER-18B28;Lo;0;L;;;;;N;;;;; +18B29;KHITAN SMALL SCRIPT CHARACTER-18B29;Lo;0;L;;;;;N;;;;; +18B2A;KHITAN SMALL SCRIPT CHARACTER-18B2A;Lo;0;L;;;;;N;;;;; +18B2B;KHITAN SMALL SCRIPT CHARACTER-18B2B;Lo;0;L;;;;;N;;;;; +18B2C;KHITAN SMALL SCRIPT CHARACTER-18B2C;Lo;0;L;;;;;N;;;;; +18B2D;KHITAN SMALL SCRIPT CHARACTER-18B2D;Lo;0;L;;;;;N;;;;; +18B2E;KHITAN SMALL SCRIPT CHARACTER-18B2E;Lo;0;L;;;;;N;;;;; +18B2F;KHITAN SMALL SCRIPT CHARACTER-18B2F;Lo;0;L;;;;;N;;;;; +18B30;KHITAN SMALL SCRIPT CHARACTER-18B30;Lo;0;L;;;;;N;;;;; +18B31;KHITAN SMALL SCRIPT CHARACTER-18B31;Lo;0;L;;;;;N;;;;; +18B32;KHITAN SMALL SCRIPT CHARACTER-18B32;Lo;0;L;;;;;N;;;;; +18B33;KHITAN SMALL SCRIPT CHARACTER-18B33;Lo;0;L;;;;;N;;;;; +18B34;KHITAN SMALL SCRIPT CHARACTER-18B34;Lo;0;L;;;;;N;;;;; +18B35;KHITAN SMALL SCRIPT CHARACTER-18B35;Lo;0;L;;;;;N;;;;; +18B36;KHITAN SMALL SCRIPT CHARACTER-18B36;Lo;0;L;;;;;N;;;;; +18B37;KHITAN SMALL SCRIPT CHARACTER-18B37;Lo;0;L;;;;;N;;;;; +18B38;KHITAN SMALL SCRIPT CHARACTER-18B38;Lo;0;L;;;;;N;;;;; +18B39;KHITAN SMALL SCRIPT CHARACTER-18B39;Lo;0;L;;;;;N;;;;; +18B3A;KHITAN SMALL SCRIPT CHARACTER-18B3A;Lo;0;L;;;;;N;;;;; +18B3B;KHITAN SMALL SCRIPT CHARACTER-18B3B;Lo;0;L;;;;;N;;;;; +18B3C;KHITAN SMALL SCRIPT CHARACTER-18B3C;Lo;0;L;;;;;N;;;;; +18B3D;KHITAN SMALL SCRIPT CHARACTER-18B3D;Lo;0;L;;;;;N;;;;; +18B3E;KHITAN SMALL SCRIPT CHARACTER-18B3E;Lo;0;L;;;;;N;;;;; +18B3F;KHITAN SMALL SCRIPT CHARACTER-18B3F;Lo;0;L;;;;;N;;;;; +18B40;KHITAN SMALL SCRIPT CHARACTER-18B40;Lo;0;L;;;;;N;;;;; +18B41;KHITAN SMALL SCRIPT CHARACTER-18B41;Lo;0;L;;;;;N;;;;; +18B42;KHITAN SMALL SCRIPT CHARACTER-18B42;Lo;0;L;;;;;N;;;;; +18B43;KHITAN SMALL SCRIPT CHARACTER-18B43;Lo;0;L;;;;;N;;;;; +18B44;KHITAN SMALL SCRIPT CHARACTER-18B44;Lo;0;L;;;;;N;;;;; +18B45;KHITAN SMALL SCRIPT CHARACTER-18B45;Lo;0;L;;;;;N;;;;; +18B46;KHITAN SMALL SCRIPT CHARACTER-18B46;Lo;0;L;;;;;N;;;;; +18B47;KHITAN SMALL SCRIPT CHARACTER-18B47;Lo;0;L;;;;;N;;;;; +18B48;KHITAN SMALL SCRIPT CHARACTER-18B48;Lo;0;L;;;;;N;;;;; +18B49;KHITAN SMALL SCRIPT CHARACTER-18B49;Lo;0;L;;;;;N;;;;; +18B4A;KHITAN SMALL SCRIPT CHARACTER-18B4A;Lo;0;L;;;;;N;;;;; +18B4B;KHITAN SMALL SCRIPT CHARACTER-18B4B;Lo;0;L;;;;;N;;;;; +18B4C;KHITAN SMALL SCRIPT CHARACTER-18B4C;Lo;0;L;;;;;N;;;;; +18B4D;KHITAN SMALL SCRIPT CHARACTER-18B4D;Lo;0;L;;;;;N;;;;; +18B4E;KHITAN SMALL SCRIPT CHARACTER-18B4E;Lo;0;L;;;;;N;;;;; +18B4F;KHITAN SMALL SCRIPT CHARACTER-18B4F;Lo;0;L;;;;;N;;;;; +18B50;KHITAN SMALL SCRIPT CHARACTER-18B50;Lo;0;L;;;;;N;;;;; +18B51;KHITAN SMALL SCRIPT CHARACTER-18B51;Lo;0;L;;;;;N;;;;; +18B52;KHITAN SMALL SCRIPT CHARACTER-18B52;Lo;0;L;;;;;N;;;;; +18B53;KHITAN SMALL SCRIPT CHARACTER-18B53;Lo;0;L;;;;;N;;;;; +18B54;KHITAN SMALL SCRIPT CHARACTER-18B54;Lo;0;L;;;;;N;;;;; +18B55;KHITAN SMALL SCRIPT CHARACTER-18B55;Lo;0;L;;;;;N;;;;; +18B56;KHITAN SMALL SCRIPT CHARACTER-18B56;Lo;0;L;;;;;N;;;;; +18B57;KHITAN SMALL SCRIPT CHARACTER-18B57;Lo;0;L;;;;;N;;;;; +18B58;KHITAN SMALL SCRIPT CHARACTER-18B58;Lo;0;L;;;;;N;;;;; +18B59;KHITAN SMALL SCRIPT CHARACTER-18B59;Lo;0;L;;;;;N;;;;; +18B5A;KHITAN SMALL SCRIPT CHARACTER-18B5A;Lo;0;L;;;;;N;;;;; +18B5B;KHITAN SMALL SCRIPT CHARACTER-18B5B;Lo;0;L;;;;;N;;;;; +18B5C;KHITAN SMALL SCRIPT CHARACTER-18B5C;Lo;0;L;;;;;N;;;;; +18B5D;KHITAN SMALL SCRIPT CHARACTER-18B5D;Lo;0;L;;;;;N;;;;; +18B5E;KHITAN SMALL SCRIPT CHARACTER-18B5E;Lo;0;L;;;;;N;;;;; +18B5F;KHITAN SMALL SCRIPT CHARACTER-18B5F;Lo;0;L;;;;;N;;;;; +18B60;KHITAN SMALL SCRIPT CHARACTER-18B60;Lo;0;L;;;;;N;;;;; +18B61;KHITAN SMALL SCRIPT CHARACTER-18B61;Lo;0;L;;;;;N;;;;; +18B62;KHITAN SMALL SCRIPT CHARACTER-18B62;Lo;0;L;;;;;N;;;;; +18B63;KHITAN SMALL SCRIPT CHARACTER-18B63;Lo;0;L;;;;;N;;;;; +18B64;KHITAN SMALL SCRIPT CHARACTER-18B64;Lo;0;L;;;;;N;;;;; +18B65;KHITAN SMALL SCRIPT CHARACTER-18B65;Lo;0;L;;;;;N;;;;; +18B66;KHITAN SMALL SCRIPT CHARACTER-18B66;Lo;0;L;;;;;N;;;;; +18B67;KHITAN SMALL SCRIPT CHARACTER-18B67;Lo;0;L;;;;;N;;;;; +18B68;KHITAN SMALL SCRIPT CHARACTER-18B68;Lo;0;L;;;;;N;;;;; +18B69;KHITAN SMALL SCRIPT CHARACTER-18B69;Lo;0;L;;;;;N;;;;; +18B6A;KHITAN SMALL SCRIPT CHARACTER-18B6A;Lo;0;L;;;;;N;;;;; +18B6B;KHITAN SMALL SCRIPT CHARACTER-18B6B;Lo;0;L;;;;;N;;;;; +18B6C;KHITAN SMALL SCRIPT CHARACTER-18B6C;Lo;0;L;;;;;N;;;;; +18B6D;KHITAN SMALL SCRIPT CHARACTER-18B6D;Lo;0;L;;;;;N;;;;; +18B6E;KHITAN SMALL SCRIPT CHARACTER-18B6E;Lo;0;L;;;;;N;;;;; +18B6F;KHITAN SMALL SCRIPT CHARACTER-18B6F;Lo;0;L;;;;;N;;;;; +18B70;KHITAN SMALL SCRIPT CHARACTER-18B70;Lo;0;L;;;;;N;;;;; +18B71;KHITAN SMALL SCRIPT CHARACTER-18B71;Lo;0;L;;;;;N;;;;; +18B72;KHITAN SMALL SCRIPT CHARACTER-18B72;Lo;0;L;;;;;N;;;;; +18B73;KHITAN SMALL SCRIPT CHARACTER-18B73;Lo;0;L;;;;;N;;;;; +18B74;KHITAN SMALL SCRIPT CHARACTER-18B74;Lo;0;L;;;;;N;;;;; +18B75;KHITAN SMALL SCRIPT CHARACTER-18B75;Lo;0;L;;;;;N;;;;; +18B76;KHITAN SMALL SCRIPT CHARACTER-18B76;Lo;0;L;;;;;N;;;;; +18B77;KHITAN SMALL SCRIPT CHARACTER-18B77;Lo;0;L;;;;;N;;;;; +18B78;KHITAN SMALL SCRIPT CHARACTER-18B78;Lo;0;L;;;;;N;;;;; +18B79;KHITAN SMALL SCRIPT CHARACTER-18B79;Lo;0;L;;;;;N;;;;; +18B7A;KHITAN SMALL SCRIPT CHARACTER-18B7A;Lo;0;L;;;;;N;;;;; +18B7B;KHITAN SMALL SCRIPT CHARACTER-18B7B;Lo;0;L;;;;;N;;;;; +18B7C;KHITAN SMALL SCRIPT CHARACTER-18B7C;Lo;0;L;;;;;N;;;;; +18B7D;KHITAN SMALL SCRIPT CHARACTER-18B7D;Lo;0;L;;;;;N;;;;; +18B7E;KHITAN SMALL SCRIPT CHARACTER-18B7E;Lo;0;L;;;;;N;;;;; +18B7F;KHITAN SMALL SCRIPT CHARACTER-18B7F;Lo;0;L;;;;;N;;;;; +18B80;KHITAN SMALL SCRIPT CHARACTER-18B80;Lo;0;L;;;;;N;;;;; +18B81;KHITAN SMALL SCRIPT CHARACTER-18B81;Lo;0;L;;;;;N;;;;; +18B82;KHITAN SMALL SCRIPT CHARACTER-18B82;Lo;0;L;;;;;N;;;;; +18B83;KHITAN SMALL SCRIPT CHARACTER-18B83;Lo;0;L;;;;;N;;;;; +18B84;KHITAN SMALL SCRIPT CHARACTER-18B84;Lo;0;L;;;;;N;;;;; +18B85;KHITAN SMALL SCRIPT CHARACTER-18B85;Lo;0;L;;;;;N;;;;; +18B86;KHITAN SMALL SCRIPT CHARACTER-18B86;Lo;0;L;;;;;N;;;;; +18B87;KHITAN SMALL SCRIPT CHARACTER-18B87;Lo;0;L;;;;;N;;;;; +18B88;KHITAN SMALL SCRIPT CHARACTER-18B88;Lo;0;L;;;;;N;;;;; +18B89;KHITAN SMALL SCRIPT CHARACTER-18B89;Lo;0;L;;;;;N;;;;; +18B8A;KHITAN SMALL SCRIPT CHARACTER-18B8A;Lo;0;L;;;;;N;;;;; +18B8B;KHITAN SMALL SCRIPT CHARACTER-18B8B;Lo;0;L;;;;;N;;;;; +18B8C;KHITAN SMALL SCRIPT CHARACTER-18B8C;Lo;0;L;;;;;N;;;;; +18B8D;KHITAN SMALL SCRIPT CHARACTER-18B8D;Lo;0;L;;;;;N;;;;; +18B8E;KHITAN SMALL SCRIPT CHARACTER-18B8E;Lo;0;L;;;;;N;;;;; +18B8F;KHITAN SMALL SCRIPT CHARACTER-18B8F;Lo;0;L;;;;;N;;;;; +18B90;KHITAN SMALL SCRIPT CHARACTER-18B90;Lo;0;L;;;;;N;;;;; +18B91;KHITAN SMALL SCRIPT CHARACTER-18B91;Lo;0;L;;;;;N;;;;; +18B92;KHITAN SMALL SCRIPT CHARACTER-18B92;Lo;0;L;;;;;N;;;;; +18B93;KHITAN SMALL SCRIPT CHARACTER-18B93;Lo;0;L;;;;;N;;;;; +18B94;KHITAN SMALL SCRIPT CHARACTER-18B94;Lo;0;L;;;;;N;;;;; +18B95;KHITAN SMALL SCRIPT CHARACTER-18B95;Lo;0;L;;;;;N;;;;; +18B96;KHITAN SMALL SCRIPT CHARACTER-18B96;Lo;0;L;;;;;N;;;;; +18B97;KHITAN SMALL SCRIPT CHARACTER-18B97;Lo;0;L;;;;;N;;;;; +18B98;KHITAN SMALL SCRIPT CHARACTER-18B98;Lo;0;L;;;;;N;;;;; +18B99;KHITAN SMALL SCRIPT CHARACTER-18B99;Lo;0;L;;;;;N;;;;; +18B9A;KHITAN SMALL SCRIPT CHARACTER-18B9A;Lo;0;L;;;;;N;;;;; +18B9B;KHITAN SMALL SCRIPT CHARACTER-18B9B;Lo;0;L;;;;;N;;;;; +18B9C;KHITAN SMALL SCRIPT CHARACTER-18B9C;Lo;0;L;;;;;N;;;;; +18B9D;KHITAN SMALL SCRIPT CHARACTER-18B9D;Lo;0;L;;;;;N;;;;; +18B9E;KHITAN SMALL SCRIPT CHARACTER-18B9E;Lo;0;L;;;;;N;;;;; +18B9F;KHITAN SMALL SCRIPT CHARACTER-18B9F;Lo;0;L;;;;;N;;;;; +18BA0;KHITAN SMALL SCRIPT CHARACTER-18BA0;Lo;0;L;;;;;N;;;;; +18BA1;KHITAN SMALL SCRIPT CHARACTER-18BA1;Lo;0;L;;;;;N;;;;; +18BA2;KHITAN SMALL SCRIPT CHARACTER-18BA2;Lo;0;L;;;;;N;;;;; +18BA3;KHITAN SMALL SCRIPT CHARACTER-18BA3;Lo;0;L;;;;;N;;;;; +18BA4;KHITAN SMALL SCRIPT CHARACTER-18BA4;Lo;0;L;;;;;N;;;;; +18BA5;KHITAN SMALL SCRIPT CHARACTER-18BA5;Lo;0;L;;;;;N;;;;; +18BA6;KHITAN SMALL SCRIPT CHARACTER-18BA6;Lo;0;L;;;;;N;;;;; +18BA7;KHITAN SMALL SCRIPT CHARACTER-18BA7;Lo;0;L;;;;;N;;;;; +18BA8;KHITAN SMALL SCRIPT CHARACTER-18BA8;Lo;0;L;;;;;N;;;;; +18BA9;KHITAN SMALL SCRIPT CHARACTER-18BA9;Lo;0;L;;;;;N;;;;; +18BAA;KHITAN SMALL SCRIPT CHARACTER-18BAA;Lo;0;L;;;;;N;;;;; +18BAB;KHITAN SMALL SCRIPT CHARACTER-18BAB;Lo;0;L;;;;;N;;;;; +18BAC;KHITAN SMALL SCRIPT CHARACTER-18BAC;Lo;0;L;;;;;N;;;;; +18BAD;KHITAN SMALL SCRIPT CHARACTER-18BAD;Lo;0;L;;;;;N;;;;; +18BAE;KHITAN SMALL SCRIPT CHARACTER-18BAE;Lo;0;L;;;;;N;;;;; +18BAF;KHITAN SMALL SCRIPT CHARACTER-18BAF;Lo;0;L;;;;;N;;;;; +18BB0;KHITAN SMALL SCRIPT CHARACTER-18BB0;Lo;0;L;;;;;N;;;;; +18BB1;KHITAN SMALL SCRIPT CHARACTER-18BB1;Lo;0;L;;;;;N;;;;; +18BB2;KHITAN SMALL SCRIPT CHARACTER-18BB2;Lo;0;L;;;;;N;;;;; +18BB3;KHITAN SMALL SCRIPT CHARACTER-18BB3;Lo;0;L;;;;;N;;;;; +18BB4;KHITAN SMALL SCRIPT CHARACTER-18BB4;Lo;0;L;;;;;N;;;;; +18BB5;KHITAN SMALL SCRIPT CHARACTER-18BB5;Lo;0;L;;;;;N;;;;; +18BB6;KHITAN SMALL SCRIPT CHARACTER-18BB6;Lo;0;L;;;;;N;;;;; +18BB7;KHITAN SMALL SCRIPT CHARACTER-18BB7;Lo;0;L;;;;;N;;;;; +18BB8;KHITAN SMALL SCRIPT CHARACTER-18BB8;Lo;0;L;;;;;N;;;;; +18BB9;KHITAN SMALL SCRIPT CHARACTER-18BB9;Lo;0;L;;;;;N;;;;; +18BBA;KHITAN SMALL SCRIPT CHARACTER-18BBA;Lo;0;L;;;;;N;;;;; +18BBB;KHITAN SMALL SCRIPT CHARACTER-18BBB;Lo;0;L;;;;;N;;;;; +18BBC;KHITAN SMALL SCRIPT CHARACTER-18BBC;Lo;0;L;;;;;N;;;;; +18BBD;KHITAN SMALL SCRIPT CHARACTER-18BBD;Lo;0;L;;;;;N;;;;; +18BBE;KHITAN SMALL SCRIPT CHARACTER-18BBE;Lo;0;L;;;;;N;;;;; +18BBF;KHITAN SMALL SCRIPT CHARACTER-18BBF;Lo;0;L;;;;;N;;;;; +18BC0;KHITAN SMALL SCRIPT CHARACTER-18BC0;Lo;0;L;;;;;N;;;;; +18BC1;KHITAN SMALL SCRIPT CHARACTER-18BC1;Lo;0;L;;;;;N;;;;; +18BC2;KHITAN SMALL SCRIPT CHARACTER-18BC2;Lo;0;L;;;;;N;;;;; +18BC3;KHITAN SMALL SCRIPT CHARACTER-18BC3;Lo;0;L;;;;;N;;;;; +18BC4;KHITAN SMALL SCRIPT CHARACTER-18BC4;Lo;0;L;;;;;N;;;;; +18BC5;KHITAN SMALL SCRIPT CHARACTER-18BC5;Lo;0;L;;;;;N;;;;; +18BC6;KHITAN SMALL SCRIPT CHARACTER-18BC6;Lo;0;L;;;;;N;;;;; +18BC7;KHITAN SMALL SCRIPT CHARACTER-18BC7;Lo;0;L;;;;;N;;;;; +18BC8;KHITAN SMALL SCRIPT CHARACTER-18BC8;Lo;0;L;;;;;N;;;;; +18BC9;KHITAN SMALL SCRIPT CHARACTER-18BC9;Lo;0;L;;;;;N;;;;; +18BCA;KHITAN SMALL SCRIPT CHARACTER-18BCA;Lo;0;L;;;;;N;;;;; +18BCB;KHITAN SMALL SCRIPT CHARACTER-18BCB;Lo;0;L;;;;;N;;;;; +18BCC;KHITAN SMALL SCRIPT CHARACTER-18BCC;Lo;0;L;;;;;N;;;;; +18BCD;KHITAN SMALL SCRIPT CHARACTER-18BCD;Lo;0;L;;;;;N;;;;; +18BCE;KHITAN SMALL SCRIPT CHARACTER-18BCE;Lo;0;L;;;;;N;;;;; +18BCF;KHITAN SMALL SCRIPT CHARACTER-18BCF;Lo;0;L;;;;;N;;;;; +18BD0;KHITAN SMALL SCRIPT CHARACTER-18BD0;Lo;0;L;;;;;N;;;;; +18BD1;KHITAN SMALL SCRIPT CHARACTER-18BD1;Lo;0;L;;;;;N;;;;; +18BD2;KHITAN SMALL SCRIPT CHARACTER-18BD2;Lo;0;L;;;;;N;;;;; +18BD3;KHITAN SMALL SCRIPT CHARACTER-18BD3;Lo;0;L;;;;;N;;;;; +18BD4;KHITAN SMALL SCRIPT CHARACTER-18BD4;Lo;0;L;;;;;N;;;;; +18BD5;KHITAN SMALL SCRIPT CHARACTER-18BD5;Lo;0;L;;;;;N;;;;; +18BD6;KHITAN SMALL SCRIPT CHARACTER-18BD6;Lo;0;L;;;;;N;;;;; +18BD7;KHITAN SMALL SCRIPT CHARACTER-18BD7;Lo;0;L;;;;;N;;;;; +18BD8;KHITAN SMALL SCRIPT CHARACTER-18BD8;Lo;0;L;;;;;N;;;;; +18BD9;KHITAN SMALL SCRIPT CHARACTER-18BD9;Lo;0;L;;;;;N;;;;; +18BDA;KHITAN SMALL SCRIPT CHARACTER-18BDA;Lo;0;L;;;;;N;;;;; +18BDB;KHITAN SMALL SCRIPT CHARACTER-18BDB;Lo;0;L;;;;;N;;;;; +18BDC;KHITAN SMALL SCRIPT CHARACTER-18BDC;Lo;0;L;;;;;N;;;;; +18BDD;KHITAN SMALL SCRIPT CHARACTER-18BDD;Lo;0;L;;;;;N;;;;; +18BDE;KHITAN SMALL SCRIPT CHARACTER-18BDE;Lo;0;L;;;;;N;;;;; +18BDF;KHITAN SMALL SCRIPT CHARACTER-18BDF;Lo;0;L;;;;;N;;;;; +18BE0;KHITAN SMALL SCRIPT CHARACTER-18BE0;Lo;0;L;;;;;N;;;;; +18BE1;KHITAN SMALL SCRIPT CHARACTER-18BE1;Lo;0;L;;;;;N;;;;; +18BE2;KHITAN SMALL SCRIPT CHARACTER-18BE2;Lo;0;L;;;;;N;;;;; +18BE3;KHITAN SMALL SCRIPT CHARACTER-18BE3;Lo;0;L;;;;;N;;;;; +18BE4;KHITAN SMALL SCRIPT CHARACTER-18BE4;Lo;0;L;;;;;N;;;;; +18BE5;KHITAN SMALL SCRIPT CHARACTER-18BE5;Lo;0;L;;;;;N;;;;; +18BE6;KHITAN SMALL SCRIPT CHARACTER-18BE6;Lo;0;L;;;;;N;;;;; +18BE7;KHITAN SMALL SCRIPT CHARACTER-18BE7;Lo;0;L;;;;;N;;;;; +18BE8;KHITAN SMALL SCRIPT CHARACTER-18BE8;Lo;0;L;;;;;N;;;;; +18BE9;KHITAN SMALL SCRIPT CHARACTER-18BE9;Lo;0;L;;;;;N;;;;; +18BEA;KHITAN SMALL SCRIPT CHARACTER-18BEA;Lo;0;L;;;;;N;;;;; +18BEB;KHITAN SMALL SCRIPT CHARACTER-18BEB;Lo;0;L;;;;;N;;;;; +18BEC;KHITAN SMALL SCRIPT CHARACTER-18BEC;Lo;0;L;;;;;N;;;;; +18BED;KHITAN SMALL SCRIPT CHARACTER-18BED;Lo;0;L;;;;;N;;;;; +18BEE;KHITAN SMALL SCRIPT CHARACTER-18BEE;Lo;0;L;;;;;N;;;;; +18BEF;KHITAN SMALL SCRIPT CHARACTER-18BEF;Lo;0;L;;;;;N;;;;; +18BF0;KHITAN SMALL SCRIPT CHARACTER-18BF0;Lo;0;L;;;;;N;;;;; +18BF1;KHITAN SMALL SCRIPT CHARACTER-18BF1;Lo;0;L;;;;;N;;;;; +18BF2;KHITAN SMALL SCRIPT CHARACTER-18BF2;Lo;0;L;;;;;N;;;;; +18BF3;KHITAN SMALL SCRIPT CHARACTER-18BF3;Lo;0;L;;;;;N;;;;; +18BF4;KHITAN SMALL SCRIPT CHARACTER-18BF4;Lo;0;L;;;;;N;;;;; +18BF5;KHITAN SMALL SCRIPT CHARACTER-18BF5;Lo;0;L;;;;;N;;;;; +18BF6;KHITAN SMALL SCRIPT CHARACTER-18BF6;Lo;0;L;;;;;N;;;;; +18BF7;KHITAN SMALL SCRIPT CHARACTER-18BF7;Lo;0;L;;;;;N;;;;; +18BF8;KHITAN SMALL SCRIPT CHARACTER-18BF8;Lo;0;L;;;;;N;;;;; +18BF9;KHITAN SMALL SCRIPT CHARACTER-18BF9;Lo;0;L;;;;;N;;;;; +18BFA;KHITAN SMALL SCRIPT CHARACTER-18BFA;Lo;0;L;;;;;N;;;;; +18BFB;KHITAN SMALL SCRIPT CHARACTER-18BFB;Lo;0;L;;;;;N;;;;; +18BFC;KHITAN SMALL SCRIPT CHARACTER-18BFC;Lo;0;L;;;;;N;;;;; +18BFD;KHITAN SMALL SCRIPT CHARACTER-18BFD;Lo;0;L;;;;;N;;;;; +18BFE;KHITAN SMALL SCRIPT CHARACTER-18BFE;Lo;0;L;;;;;N;;;;; +18BFF;KHITAN SMALL SCRIPT CHARACTER-18BFF;Lo;0;L;;;;;N;;;;; +18C00;KHITAN SMALL SCRIPT CHARACTER-18C00;Lo;0;L;;;;;N;;;;; +18C01;KHITAN SMALL SCRIPT CHARACTER-18C01;Lo;0;L;;;;;N;;;;; +18C02;KHITAN SMALL SCRIPT CHARACTER-18C02;Lo;0;L;;;;;N;;;;; +18C03;KHITAN SMALL SCRIPT CHARACTER-18C03;Lo;0;L;;;;;N;;;;; +18C04;KHITAN SMALL SCRIPT CHARACTER-18C04;Lo;0;L;;;;;N;;;;; +18C05;KHITAN SMALL SCRIPT CHARACTER-18C05;Lo;0;L;;;;;N;;;;; +18C06;KHITAN SMALL SCRIPT CHARACTER-18C06;Lo;0;L;;;;;N;;;;; +18C07;KHITAN SMALL SCRIPT CHARACTER-18C07;Lo;0;L;;;;;N;;;;; +18C08;KHITAN SMALL SCRIPT CHARACTER-18C08;Lo;0;L;;;;;N;;;;; +18C09;KHITAN SMALL SCRIPT CHARACTER-18C09;Lo;0;L;;;;;N;;;;; +18C0A;KHITAN SMALL SCRIPT CHARACTER-18C0A;Lo;0;L;;;;;N;;;;; +18C0B;KHITAN SMALL SCRIPT CHARACTER-18C0B;Lo;0;L;;;;;N;;;;; +18C0C;KHITAN SMALL SCRIPT CHARACTER-18C0C;Lo;0;L;;;;;N;;;;; +18C0D;KHITAN SMALL SCRIPT CHARACTER-18C0D;Lo;0;L;;;;;N;;;;; +18C0E;KHITAN SMALL SCRIPT CHARACTER-18C0E;Lo;0;L;;;;;N;;;;; +18C0F;KHITAN SMALL SCRIPT CHARACTER-18C0F;Lo;0;L;;;;;N;;;;; +18C10;KHITAN SMALL SCRIPT CHARACTER-18C10;Lo;0;L;;;;;N;;;;; +18C11;KHITAN SMALL SCRIPT CHARACTER-18C11;Lo;0;L;;;;;N;;;;; +18C12;KHITAN SMALL SCRIPT CHARACTER-18C12;Lo;0;L;;;;;N;;;;; +18C13;KHITAN SMALL SCRIPT CHARACTER-18C13;Lo;0;L;;;;;N;;;;; +18C14;KHITAN SMALL SCRIPT CHARACTER-18C14;Lo;0;L;;;;;N;;;;; +18C15;KHITAN SMALL SCRIPT CHARACTER-18C15;Lo;0;L;;;;;N;;;;; +18C16;KHITAN SMALL SCRIPT CHARACTER-18C16;Lo;0;L;;;;;N;;;;; +18C17;KHITAN SMALL SCRIPT CHARACTER-18C17;Lo;0;L;;;;;N;;;;; +18C18;KHITAN SMALL SCRIPT CHARACTER-18C18;Lo;0;L;;;;;N;;;;; +18C19;KHITAN SMALL SCRIPT CHARACTER-18C19;Lo;0;L;;;;;N;;;;; +18C1A;KHITAN SMALL SCRIPT CHARACTER-18C1A;Lo;0;L;;;;;N;;;;; +18C1B;KHITAN SMALL SCRIPT CHARACTER-18C1B;Lo;0;L;;;;;N;;;;; +18C1C;KHITAN SMALL SCRIPT CHARACTER-18C1C;Lo;0;L;;;;;N;;;;; +18C1D;KHITAN SMALL SCRIPT CHARACTER-18C1D;Lo;0;L;;;;;N;;;;; +18C1E;KHITAN SMALL SCRIPT CHARACTER-18C1E;Lo;0;L;;;;;N;;;;; +18C1F;KHITAN SMALL SCRIPT CHARACTER-18C1F;Lo;0;L;;;;;N;;;;; +18C20;KHITAN SMALL SCRIPT CHARACTER-18C20;Lo;0;L;;;;;N;;;;; +18C21;KHITAN SMALL SCRIPT CHARACTER-18C21;Lo;0;L;;;;;N;;;;; +18C22;KHITAN SMALL SCRIPT CHARACTER-18C22;Lo;0;L;;;;;N;;;;; +18C23;KHITAN SMALL SCRIPT CHARACTER-18C23;Lo;0;L;;;;;N;;;;; +18C24;KHITAN SMALL SCRIPT CHARACTER-18C24;Lo;0;L;;;;;N;;;;; +18C25;KHITAN SMALL SCRIPT CHARACTER-18C25;Lo;0;L;;;;;N;;;;; +18C26;KHITAN SMALL SCRIPT CHARACTER-18C26;Lo;0;L;;;;;N;;;;; +18C27;KHITAN SMALL SCRIPT CHARACTER-18C27;Lo;0;L;;;;;N;;;;; +18C28;KHITAN SMALL SCRIPT CHARACTER-18C28;Lo;0;L;;;;;N;;;;; +18C29;KHITAN SMALL SCRIPT CHARACTER-18C29;Lo;0;L;;;;;N;;;;; +18C2A;KHITAN SMALL SCRIPT CHARACTER-18C2A;Lo;0;L;;;;;N;;;;; +18C2B;KHITAN SMALL SCRIPT CHARACTER-18C2B;Lo;0;L;;;;;N;;;;; +18C2C;KHITAN SMALL SCRIPT CHARACTER-18C2C;Lo;0;L;;;;;N;;;;; +18C2D;KHITAN SMALL SCRIPT CHARACTER-18C2D;Lo;0;L;;;;;N;;;;; +18C2E;KHITAN SMALL SCRIPT CHARACTER-18C2E;Lo;0;L;;;;;N;;;;; +18C2F;KHITAN SMALL SCRIPT CHARACTER-18C2F;Lo;0;L;;;;;N;;;;; +18C30;KHITAN SMALL SCRIPT CHARACTER-18C30;Lo;0;L;;;;;N;;;;; +18C31;KHITAN SMALL SCRIPT CHARACTER-18C31;Lo;0;L;;;;;N;;;;; +18C32;KHITAN SMALL SCRIPT CHARACTER-18C32;Lo;0;L;;;;;N;;;;; +18C33;KHITAN SMALL SCRIPT CHARACTER-18C33;Lo;0;L;;;;;N;;;;; +18C34;KHITAN SMALL SCRIPT CHARACTER-18C34;Lo;0;L;;;;;N;;;;; +18C35;KHITAN SMALL SCRIPT CHARACTER-18C35;Lo;0;L;;;;;N;;;;; +18C36;KHITAN SMALL SCRIPT CHARACTER-18C36;Lo;0;L;;;;;N;;;;; +18C37;KHITAN SMALL SCRIPT CHARACTER-18C37;Lo;0;L;;;;;N;;;;; +18C38;KHITAN SMALL SCRIPT CHARACTER-18C38;Lo;0;L;;;;;N;;;;; +18C39;KHITAN SMALL SCRIPT CHARACTER-18C39;Lo;0;L;;;;;N;;;;; +18C3A;KHITAN SMALL SCRIPT CHARACTER-18C3A;Lo;0;L;;;;;N;;;;; +18C3B;KHITAN SMALL SCRIPT CHARACTER-18C3B;Lo;0;L;;;;;N;;;;; +18C3C;KHITAN SMALL SCRIPT CHARACTER-18C3C;Lo;0;L;;;;;N;;;;; +18C3D;KHITAN SMALL SCRIPT CHARACTER-18C3D;Lo;0;L;;;;;N;;;;; +18C3E;KHITAN SMALL SCRIPT CHARACTER-18C3E;Lo;0;L;;;;;N;;;;; +18C3F;KHITAN SMALL SCRIPT CHARACTER-18C3F;Lo;0;L;;;;;N;;;;; +18C40;KHITAN SMALL SCRIPT CHARACTER-18C40;Lo;0;L;;;;;N;;;;; +18C41;KHITAN SMALL SCRIPT CHARACTER-18C41;Lo;0;L;;;;;N;;;;; +18C42;KHITAN SMALL SCRIPT CHARACTER-18C42;Lo;0;L;;;;;N;;;;; +18C43;KHITAN SMALL SCRIPT CHARACTER-18C43;Lo;0;L;;;;;N;;;;; +18C44;KHITAN SMALL SCRIPT CHARACTER-18C44;Lo;0;L;;;;;N;;;;; +18C45;KHITAN SMALL SCRIPT CHARACTER-18C45;Lo;0;L;;;;;N;;;;; +18C46;KHITAN SMALL SCRIPT CHARACTER-18C46;Lo;0;L;;;;;N;;;;; +18C47;KHITAN SMALL SCRIPT CHARACTER-18C47;Lo;0;L;;;;;N;;;;; +18C48;KHITAN SMALL SCRIPT CHARACTER-18C48;Lo;0;L;;;;;N;;;;; +18C49;KHITAN SMALL SCRIPT CHARACTER-18C49;Lo;0;L;;;;;N;;;;; +18C4A;KHITAN SMALL SCRIPT CHARACTER-18C4A;Lo;0;L;;;;;N;;;;; +18C4B;KHITAN SMALL SCRIPT CHARACTER-18C4B;Lo;0;L;;;;;N;;;;; +18C4C;KHITAN SMALL SCRIPT CHARACTER-18C4C;Lo;0;L;;;;;N;;;;; +18C4D;KHITAN SMALL SCRIPT CHARACTER-18C4D;Lo;0;L;;;;;N;;;;; +18C4E;KHITAN SMALL SCRIPT CHARACTER-18C4E;Lo;0;L;;;;;N;;;;; +18C4F;KHITAN SMALL SCRIPT CHARACTER-18C4F;Lo;0;L;;;;;N;;;;; +18C50;KHITAN SMALL SCRIPT CHARACTER-18C50;Lo;0;L;;;;;N;;;;; +18C51;KHITAN SMALL SCRIPT CHARACTER-18C51;Lo;0;L;;;;;N;;;;; +18C52;KHITAN SMALL SCRIPT CHARACTER-18C52;Lo;0;L;;;;;N;;;;; +18C53;KHITAN SMALL SCRIPT CHARACTER-18C53;Lo;0;L;;;;;N;;;;; +18C54;KHITAN SMALL SCRIPT CHARACTER-18C54;Lo;0;L;;;;;N;;;;; +18C55;KHITAN SMALL SCRIPT CHARACTER-18C55;Lo;0;L;;;;;N;;;;; +18C56;KHITAN SMALL SCRIPT CHARACTER-18C56;Lo;0;L;;;;;N;;;;; +18C57;KHITAN SMALL SCRIPT CHARACTER-18C57;Lo;0;L;;;;;N;;;;; +18C58;KHITAN SMALL SCRIPT CHARACTER-18C58;Lo;0;L;;;;;N;;;;; +18C59;KHITAN SMALL SCRIPT CHARACTER-18C59;Lo;0;L;;;;;N;;;;; +18C5A;KHITAN SMALL SCRIPT CHARACTER-18C5A;Lo;0;L;;;;;N;;;;; +18C5B;KHITAN SMALL SCRIPT CHARACTER-18C5B;Lo;0;L;;;;;N;;;;; +18C5C;KHITAN SMALL SCRIPT CHARACTER-18C5C;Lo;0;L;;;;;N;;;;; +18C5D;KHITAN SMALL SCRIPT CHARACTER-18C5D;Lo;0;L;;;;;N;;;;; +18C5E;KHITAN SMALL SCRIPT CHARACTER-18C5E;Lo;0;L;;;;;N;;;;; +18C5F;KHITAN SMALL SCRIPT CHARACTER-18C5F;Lo;0;L;;;;;N;;;;; +18C60;KHITAN SMALL SCRIPT CHARACTER-18C60;Lo;0;L;;;;;N;;;;; +18C61;KHITAN SMALL SCRIPT CHARACTER-18C61;Lo;0;L;;;;;N;;;;; +18C62;KHITAN SMALL SCRIPT CHARACTER-18C62;Lo;0;L;;;;;N;;;;; +18C63;KHITAN SMALL SCRIPT CHARACTER-18C63;Lo;0;L;;;;;N;;;;; +18C64;KHITAN SMALL SCRIPT CHARACTER-18C64;Lo;0;L;;;;;N;;;;; +18C65;KHITAN SMALL SCRIPT CHARACTER-18C65;Lo;0;L;;;;;N;;;;; +18C66;KHITAN SMALL SCRIPT CHARACTER-18C66;Lo;0;L;;;;;N;;;;; +18C67;KHITAN SMALL SCRIPT CHARACTER-18C67;Lo;0;L;;;;;N;;;;; +18C68;KHITAN SMALL SCRIPT CHARACTER-18C68;Lo;0;L;;;;;N;;;;; +18C69;KHITAN SMALL SCRIPT CHARACTER-18C69;Lo;0;L;;;;;N;;;;; +18C6A;KHITAN SMALL SCRIPT CHARACTER-18C6A;Lo;0;L;;;;;N;;;;; +18C6B;KHITAN SMALL SCRIPT CHARACTER-18C6B;Lo;0;L;;;;;N;;;;; +18C6C;KHITAN SMALL SCRIPT CHARACTER-18C6C;Lo;0;L;;;;;N;;;;; +18C6D;KHITAN SMALL SCRIPT CHARACTER-18C6D;Lo;0;L;;;;;N;;;;; +18C6E;KHITAN SMALL SCRIPT CHARACTER-18C6E;Lo;0;L;;;;;N;;;;; +18C6F;KHITAN SMALL SCRIPT CHARACTER-18C6F;Lo;0;L;;;;;N;;;;; +18C70;KHITAN SMALL SCRIPT CHARACTER-18C70;Lo;0;L;;;;;N;;;;; +18C71;KHITAN SMALL SCRIPT CHARACTER-18C71;Lo;0;L;;;;;N;;;;; +18C72;KHITAN SMALL SCRIPT CHARACTER-18C72;Lo;0;L;;;;;N;;;;; +18C73;KHITAN SMALL SCRIPT CHARACTER-18C73;Lo;0;L;;;;;N;;;;; +18C74;KHITAN SMALL SCRIPT CHARACTER-18C74;Lo;0;L;;;;;N;;;;; +18C75;KHITAN SMALL SCRIPT CHARACTER-18C75;Lo;0;L;;;;;N;;;;; +18C76;KHITAN SMALL SCRIPT CHARACTER-18C76;Lo;0;L;;;;;N;;;;; +18C77;KHITAN SMALL SCRIPT CHARACTER-18C77;Lo;0;L;;;;;N;;;;; +18C78;KHITAN SMALL SCRIPT CHARACTER-18C78;Lo;0;L;;;;;N;;;;; +18C79;KHITAN SMALL SCRIPT CHARACTER-18C79;Lo;0;L;;;;;N;;;;; +18C7A;KHITAN SMALL SCRIPT CHARACTER-18C7A;Lo;0;L;;;;;N;;;;; +18C7B;KHITAN SMALL SCRIPT CHARACTER-18C7B;Lo;0;L;;;;;N;;;;; +18C7C;KHITAN SMALL SCRIPT CHARACTER-18C7C;Lo;0;L;;;;;N;;;;; +18C7D;KHITAN SMALL SCRIPT CHARACTER-18C7D;Lo;0;L;;;;;N;;;;; +18C7E;KHITAN SMALL SCRIPT CHARACTER-18C7E;Lo;0;L;;;;;N;;;;; +18C7F;KHITAN SMALL SCRIPT CHARACTER-18C7F;Lo;0;L;;;;;N;;;;; +18C80;KHITAN SMALL SCRIPT CHARACTER-18C80;Lo;0;L;;;;;N;;;;; +18C81;KHITAN SMALL SCRIPT CHARACTER-18C81;Lo;0;L;;;;;N;;;;; +18C82;KHITAN SMALL SCRIPT CHARACTER-18C82;Lo;0;L;;;;;N;;;;; +18C83;KHITAN SMALL SCRIPT CHARACTER-18C83;Lo;0;L;;;;;N;;;;; +18C84;KHITAN SMALL SCRIPT CHARACTER-18C84;Lo;0;L;;;;;N;;;;; +18C85;KHITAN SMALL SCRIPT CHARACTER-18C85;Lo;0;L;;;;;N;;;;; +18C86;KHITAN SMALL SCRIPT CHARACTER-18C86;Lo;0;L;;;;;N;;;;; +18C87;KHITAN SMALL SCRIPT CHARACTER-18C87;Lo;0;L;;;;;N;;;;; +18C88;KHITAN SMALL SCRIPT CHARACTER-18C88;Lo;0;L;;;;;N;;;;; +18C89;KHITAN SMALL SCRIPT CHARACTER-18C89;Lo;0;L;;;;;N;;;;; +18C8A;KHITAN SMALL SCRIPT CHARACTER-18C8A;Lo;0;L;;;;;N;;;;; +18C8B;KHITAN SMALL SCRIPT CHARACTER-18C8B;Lo;0;L;;;;;N;;;;; +18C8C;KHITAN SMALL SCRIPT CHARACTER-18C8C;Lo;0;L;;;;;N;;;;; +18C8D;KHITAN SMALL SCRIPT CHARACTER-18C8D;Lo;0;L;;;;;N;;;;; +18C8E;KHITAN SMALL SCRIPT CHARACTER-18C8E;Lo;0;L;;;;;N;;;;; +18C8F;KHITAN SMALL SCRIPT CHARACTER-18C8F;Lo;0;L;;;;;N;;;;; +18C90;KHITAN SMALL SCRIPT CHARACTER-18C90;Lo;0;L;;;;;N;;;;; +18C91;KHITAN SMALL SCRIPT CHARACTER-18C91;Lo;0;L;;;;;N;;;;; +18C92;KHITAN SMALL SCRIPT CHARACTER-18C92;Lo;0;L;;;;;N;;;;; +18C93;KHITAN SMALL SCRIPT CHARACTER-18C93;Lo;0;L;;;;;N;;;;; +18C94;KHITAN SMALL SCRIPT CHARACTER-18C94;Lo;0;L;;;;;N;;;;; +18C95;KHITAN SMALL SCRIPT CHARACTER-18C95;Lo;0;L;;;;;N;;;;; +18C96;KHITAN SMALL SCRIPT CHARACTER-18C96;Lo;0;L;;;;;N;;;;; +18C97;KHITAN SMALL SCRIPT CHARACTER-18C97;Lo;0;L;;;;;N;;;;; +18C98;KHITAN SMALL SCRIPT CHARACTER-18C98;Lo;0;L;;;;;N;;;;; +18C99;KHITAN SMALL SCRIPT CHARACTER-18C99;Lo;0;L;;;;;N;;;;; +18C9A;KHITAN SMALL SCRIPT CHARACTER-18C9A;Lo;0;L;;;;;N;;;;; +18C9B;KHITAN SMALL SCRIPT CHARACTER-18C9B;Lo;0;L;;;;;N;;;;; +18C9C;KHITAN SMALL SCRIPT CHARACTER-18C9C;Lo;0;L;;;;;N;;;;; +18C9D;KHITAN SMALL SCRIPT CHARACTER-18C9D;Lo;0;L;;;;;N;;;;; +18C9E;KHITAN SMALL SCRIPT CHARACTER-18C9E;Lo;0;L;;;;;N;;;;; +18C9F;KHITAN SMALL SCRIPT CHARACTER-18C9F;Lo;0;L;;;;;N;;;;; +18CA0;KHITAN SMALL SCRIPT CHARACTER-18CA0;Lo;0;L;;;;;N;;;;; +18CA1;KHITAN SMALL SCRIPT CHARACTER-18CA1;Lo;0;L;;;;;N;;;;; +18CA2;KHITAN SMALL SCRIPT CHARACTER-18CA2;Lo;0;L;;;;;N;;;;; +18CA3;KHITAN SMALL SCRIPT CHARACTER-18CA3;Lo;0;L;;;;;N;;;;; +18CA4;KHITAN SMALL SCRIPT CHARACTER-18CA4;Lo;0;L;;;;;N;;;;; +18CA5;KHITAN SMALL SCRIPT CHARACTER-18CA5;Lo;0;L;;;;;N;;;;; +18CA6;KHITAN SMALL SCRIPT CHARACTER-18CA6;Lo;0;L;;;;;N;;;;; +18CA7;KHITAN SMALL SCRIPT CHARACTER-18CA7;Lo;0;L;;;;;N;;;;; +18CA8;KHITAN SMALL SCRIPT CHARACTER-18CA8;Lo;0;L;;;;;N;;;;; +18CA9;KHITAN SMALL SCRIPT CHARACTER-18CA9;Lo;0;L;;;;;N;;;;; +18CAA;KHITAN SMALL SCRIPT CHARACTER-18CAA;Lo;0;L;;;;;N;;;;; +18CAB;KHITAN SMALL SCRIPT CHARACTER-18CAB;Lo;0;L;;;;;N;;;;; +18CAC;KHITAN SMALL SCRIPT CHARACTER-18CAC;Lo;0;L;;;;;N;;;;; +18CAD;KHITAN SMALL SCRIPT CHARACTER-18CAD;Lo;0;L;;;;;N;;;;; +18CAE;KHITAN SMALL SCRIPT CHARACTER-18CAE;Lo;0;L;;;;;N;;;;; +18CAF;KHITAN SMALL SCRIPT CHARACTER-18CAF;Lo;0;L;;;;;N;;;;; +18CB0;KHITAN SMALL SCRIPT CHARACTER-18CB0;Lo;0;L;;;;;N;;;;; +18CB1;KHITAN SMALL SCRIPT CHARACTER-18CB1;Lo;0;L;;;;;N;;;;; +18CB2;KHITAN SMALL SCRIPT CHARACTER-18CB2;Lo;0;L;;;;;N;;;;; +18CB3;KHITAN SMALL SCRIPT CHARACTER-18CB3;Lo;0;L;;;;;N;;;;; +18CB4;KHITAN SMALL SCRIPT CHARACTER-18CB4;Lo;0;L;;;;;N;;;;; +18CB5;KHITAN SMALL SCRIPT CHARACTER-18CB5;Lo;0;L;;;;;N;;;;; +18CB6;KHITAN SMALL SCRIPT CHARACTER-18CB6;Lo;0;L;;;;;N;;;;; +18CB7;KHITAN SMALL SCRIPT CHARACTER-18CB7;Lo;0;L;;;;;N;;;;; +18CB8;KHITAN SMALL SCRIPT CHARACTER-18CB8;Lo;0;L;;;;;N;;;;; +18CB9;KHITAN SMALL SCRIPT CHARACTER-18CB9;Lo;0;L;;;;;N;;;;; +18CBA;KHITAN SMALL SCRIPT CHARACTER-18CBA;Lo;0;L;;;;;N;;;;; +18CBB;KHITAN SMALL SCRIPT CHARACTER-18CBB;Lo;0;L;;;;;N;;;;; +18CBC;KHITAN SMALL SCRIPT CHARACTER-18CBC;Lo;0;L;;;;;N;;;;; +18CBD;KHITAN SMALL SCRIPT CHARACTER-18CBD;Lo;0;L;;;;;N;;;;; +18CBE;KHITAN SMALL SCRIPT CHARACTER-18CBE;Lo;0;L;;;;;N;;;;; +18CBF;KHITAN SMALL SCRIPT CHARACTER-18CBF;Lo;0;L;;;;;N;;;;; +18CC0;KHITAN SMALL SCRIPT CHARACTER-18CC0;Lo;0;L;;;;;N;;;;; +18CC1;KHITAN SMALL SCRIPT CHARACTER-18CC1;Lo;0;L;;;;;N;;;;; +18CC2;KHITAN SMALL SCRIPT CHARACTER-18CC2;Lo;0;L;;;;;N;;;;; +18CC3;KHITAN SMALL SCRIPT CHARACTER-18CC3;Lo;0;L;;;;;N;;;;; +18CC4;KHITAN SMALL SCRIPT CHARACTER-18CC4;Lo;0;L;;;;;N;;;;; +18CC5;KHITAN SMALL SCRIPT CHARACTER-18CC5;Lo;0;L;;;;;N;;;;; +18CC6;KHITAN SMALL SCRIPT CHARACTER-18CC6;Lo;0;L;;;;;N;;;;; +18CC7;KHITAN SMALL SCRIPT CHARACTER-18CC7;Lo;0;L;;;;;N;;;;; +18CC8;KHITAN SMALL SCRIPT CHARACTER-18CC8;Lo;0;L;;;;;N;;;;; +18CC9;KHITAN SMALL SCRIPT CHARACTER-18CC9;Lo;0;L;;;;;N;;;;; +18CCA;KHITAN SMALL SCRIPT CHARACTER-18CCA;Lo;0;L;;;;;N;;;;; +18CCB;KHITAN SMALL SCRIPT CHARACTER-18CCB;Lo;0;L;;;;;N;;;;; +18CCC;KHITAN SMALL SCRIPT CHARACTER-18CCC;Lo;0;L;;;;;N;;;;; +18CCD;KHITAN SMALL SCRIPT CHARACTER-18CCD;Lo;0;L;;;;;N;;;;; +18CCE;KHITAN SMALL SCRIPT CHARACTER-18CCE;Lo;0;L;;;;;N;;;;; +18CCF;KHITAN SMALL SCRIPT CHARACTER-18CCF;Lo;0;L;;;;;N;;;;; +18CD0;KHITAN SMALL SCRIPT CHARACTER-18CD0;Lo;0;L;;;;;N;;;;; +18CD1;KHITAN SMALL SCRIPT CHARACTER-18CD1;Lo;0;L;;;;;N;;;;; +18CD2;KHITAN SMALL SCRIPT CHARACTER-18CD2;Lo;0;L;;;;;N;;;;; +18CD3;KHITAN SMALL SCRIPT CHARACTER-18CD3;Lo;0;L;;;;;N;;;;; +18CD4;KHITAN SMALL SCRIPT CHARACTER-18CD4;Lo;0;L;;;;;N;;;;; +18CD5;KHITAN SMALL SCRIPT CHARACTER-18CD5;Lo;0;L;;;;;N;;;;; +18D00;;Lo;0;L;;;;;N;;;;; +18D08;;Lo;0;L;;;;;N;;;;; +1B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;; +1B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;; +1B002;HENTAIGANA LETTER A-1;Lo;0;L;;;;;N;;;;; +1B003;HENTAIGANA LETTER A-2;Lo;0;L;;;;;N;;;;; +1B004;HENTAIGANA LETTER A-3;Lo;0;L;;;;;N;;;;; +1B005;HENTAIGANA LETTER A-WO;Lo;0;L;;;;;N;;;;; +1B006;HENTAIGANA LETTER I-1;Lo;0;L;;;;;N;;;;; +1B007;HENTAIGANA LETTER I-2;Lo;0;L;;;;;N;;;;; +1B008;HENTAIGANA LETTER I-3;Lo;0;L;;;;;N;;;;; +1B009;HENTAIGANA LETTER I-4;Lo;0;L;;;;;N;;;;; +1B00A;HENTAIGANA LETTER U-1;Lo;0;L;;;;;N;;;;; +1B00B;HENTAIGANA LETTER U-2;Lo;0;L;;;;;N;;;;; +1B00C;HENTAIGANA LETTER U-3;Lo;0;L;;;;;N;;;;; +1B00D;HENTAIGANA LETTER U-4;Lo;0;L;;;;;N;;;;; +1B00E;HENTAIGANA LETTER U-5;Lo;0;L;;;;;N;;;;; +1B00F;HENTAIGANA LETTER E-2;Lo;0;L;;;;;N;;;;; +1B010;HENTAIGANA LETTER E-3;Lo;0;L;;;;;N;;;;; +1B011;HENTAIGANA LETTER E-4;Lo;0;L;;;;;N;;;;; +1B012;HENTAIGANA LETTER E-5;Lo;0;L;;;;;N;;;;; +1B013;HENTAIGANA LETTER E-6;Lo;0;L;;;;;N;;;;; +1B014;HENTAIGANA LETTER O-1;Lo;0;L;;;;;N;;;;; +1B015;HENTAIGANA LETTER O-2;Lo;0;L;;;;;N;;;;; +1B016;HENTAIGANA LETTER O-3;Lo;0;L;;;;;N;;;;; +1B017;HENTAIGANA LETTER KA-1;Lo;0;L;;;;;N;;;;; +1B018;HENTAIGANA LETTER KA-2;Lo;0;L;;;;;N;;;;; +1B019;HENTAIGANA LETTER KA-3;Lo;0;L;;;;;N;;;;; +1B01A;HENTAIGANA LETTER KA-4;Lo;0;L;;;;;N;;;;; +1B01B;HENTAIGANA LETTER KA-5;Lo;0;L;;;;;N;;;;; +1B01C;HENTAIGANA LETTER KA-6;Lo;0;L;;;;;N;;;;; +1B01D;HENTAIGANA LETTER KA-7;Lo;0;L;;;;;N;;;;; +1B01E;HENTAIGANA LETTER KA-8;Lo;0;L;;;;;N;;;;; +1B01F;HENTAIGANA LETTER KA-9;Lo;0;L;;;;;N;;;;; +1B020;HENTAIGANA LETTER KA-10;Lo;0;L;;;;;N;;;;; +1B021;HENTAIGANA LETTER KA-11;Lo;0;L;;;;;N;;;;; +1B022;HENTAIGANA LETTER KA-KE;Lo;0;L;;;;;N;;;;; +1B023;HENTAIGANA LETTER KI-1;Lo;0;L;;;;;N;;;;; +1B024;HENTAIGANA LETTER KI-2;Lo;0;L;;;;;N;;;;; +1B025;HENTAIGANA LETTER KI-3;Lo;0;L;;;;;N;;;;; +1B026;HENTAIGANA LETTER KI-4;Lo;0;L;;;;;N;;;;; +1B027;HENTAIGANA LETTER KI-5;Lo;0;L;;;;;N;;;;; +1B028;HENTAIGANA LETTER KI-6;Lo;0;L;;;;;N;;;;; +1B029;HENTAIGANA LETTER KI-7;Lo;0;L;;;;;N;;;;; +1B02A;HENTAIGANA LETTER KI-8;Lo;0;L;;;;;N;;;;; +1B02B;HENTAIGANA LETTER KU-1;Lo;0;L;;;;;N;;;;; +1B02C;HENTAIGANA LETTER KU-2;Lo;0;L;;;;;N;;;;; +1B02D;HENTAIGANA LETTER KU-3;Lo;0;L;;;;;N;;;;; +1B02E;HENTAIGANA LETTER KU-4;Lo;0;L;;;;;N;;;;; +1B02F;HENTAIGANA LETTER KU-5;Lo;0;L;;;;;N;;;;; +1B030;HENTAIGANA LETTER KU-6;Lo;0;L;;;;;N;;;;; +1B031;HENTAIGANA LETTER KU-7;Lo;0;L;;;;;N;;;;; +1B032;HENTAIGANA LETTER KE-1;Lo;0;L;;;;;N;;;;; +1B033;HENTAIGANA LETTER KE-2;Lo;0;L;;;;;N;;;;; +1B034;HENTAIGANA LETTER KE-3;Lo;0;L;;;;;N;;;;; +1B035;HENTAIGANA LETTER KE-4;Lo;0;L;;;;;N;;;;; +1B036;HENTAIGANA LETTER KE-5;Lo;0;L;;;;;N;;;;; +1B037;HENTAIGANA LETTER KE-6;Lo;0;L;;;;;N;;;;; +1B038;HENTAIGANA LETTER KO-1;Lo;0;L;;;;;N;;;;; +1B039;HENTAIGANA LETTER KO-2;Lo;0;L;;;;;N;;;;; +1B03A;HENTAIGANA LETTER KO-3;Lo;0;L;;;;;N;;;;; +1B03B;HENTAIGANA LETTER KO-KI;Lo;0;L;;;;;N;;;;; +1B03C;HENTAIGANA LETTER SA-1;Lo;0;L;;;;;N;;;;; +1B03D;HENTAIGANA LETTER SA-2;Lo;0;L;;;;;N;;;;; +1B03E;HENTAIGANA LETTER SA-3;Lo;0;L;;;;;N;;;;; +1B03F;HENTAIGANA LETTER SA-4;Lo;0;L;;;;;N;;;;; +1B040;HENTAIGANA LETTER SA-5;Lo;0;L;;;;;N;;;;; +1B041;HENTAIGANA LETTER SA-6;Lo;0;L;;;;;N;;;;; +1B042;HENTAIGANA LETTER SA-7;Lo;0;L;;;;;N;;;;; +1B043;HENTAIGANA LETTER SA-8;Lo;0;L;;;;;N;;;;; +1B044;HENTAIGANA LETTER SI-1;Lo;0;L;;;;;N;;;;; +1B045;HENTAIGANA LETTER SI-2;Lo;0;L;;;;;N;;;;; +1B046;HENTAIGANA LETTER SI-3;Lo;0;L;;;;;N;;;;; +1B047;HENTAIGANA LETTER SI-4;Lo;0;L;;;;;N;;;;; +1B048;HENTAIGANA LETTER SI-5;Lo;0;L;;;;;N;;;;; +1B049;HENTAIGANA LETTER SI-6;Lo;0;L;;;;;N;;;;; +1B04A;HENTAIGANA LETTER SU-1;Lo;0;L;;;;;N;;;;; +1B04B;HENTAIGANA LETTER SU-2;Lo;0;L;;;;;N;;;;; +1B04C;HENTAIGANA LETTER SU-3;Lo;0;L;;;;;N;;;;; +1B04D;HENTAIGANA LETTER SU-4;Lo;0;L;;;;;N;;;;; +1B04E;HENTAIGANA LETTER SU-5;Lo;0;L;;;;;N;;;;; +1B04F;HENTAIGANA LETTER SU-6;Lo;0;L;;;;;N;;;;; +1B050;HENTAIGANA LETTER SU-7;Lo;0;L;;;;;N;;;;; +1B051;HENTAIGANA LETTER SU-8;Lo;0;L;;;;;N;;;;; +1B052;HENTAIGANA LETTER SE-1;Lo;0;L;;;;;N;;;;; +1B053;HENTAIGANA LETTER SE-2;Lo;0;L;;;;;N;;;;; +1B054;HENTAIGANA LETTER SE-3;Lo;0;L;;;;;N;;;;; +1B055;HENTAIGANA LETTER SE-4;Lo;0;L;;;;;N;;;;; +1B056;HENTAIGANA LETTER SE-5;Lo;0;L;;;;;N;;;;; +1B057;HENTAIGANA LETTER SO-1;Lo;0;L;;;;;N;;;;; +1B058;HENTAIGANA LETTER SO-2;Lo;0;L;;;;;N;;;;; +1B059;HENTAIGANA LETTER SO-3;Lo;0;L;;;;;N;;;;; +1B05A;HENTAIGANA LETTER SO-4;Lo;0;L;;;;;N;;;;; +1B05B;HENTAIGANA LETTER SO-5;Lo;0;L;;;;;N;;;;; +1B05C;HENTAIGANA LETTER SO-6;Lo;0;L;;;;;N;;;;; +1B05D;HENTAIGANA LETTER SO-7;Lo;0;L;;;;;N;;;;; +1B05E;HENTAIGANA LETTER TA-1;Lo;0;L;;;;;N;;;;; +1B05F;HENTAIGANA LETTER TA-2;Lo;0;L;;;;;N;;;;; +1B060;HENTAIGANA LETTER TA-3;Lo;0;L;;;;;N;;;;; +1B061;HENTAIGANA LETTER TA-4;Lo;0;L;;;;;N;;;;; +1B062;HENTAIGANA LETTER TI-1;Lo;0;L;;;;;N;;;;; +1B063;HENTAIGANA LETTER TI-2;Lo;0;L;;;;;N;;;;; +1B064;HENTAIGANA LETTER TI-3;Lo;0;L;;;;;N;;;;; +1B065;HENTAIGANA LETTER TI-4;Lo;0;L;;;;;N;;;;; +1B066;HENTAIGANA LETTER TI-5;Lo;0;L;;;;;N;;;;; +1B067;HENTAIGANA LETTER TI-6;Lo;0;L;;;;;N;;;;; +1B068;HENTAIGANA LETTER TI-7;Lo;0;L;;;;;N;;;;; +1B069;HENTAIGANA LETTER TU-1;Lo;0;L;;;;;N;;;;; +1B06A;HENTAIGANA LETTER TU-2;Lo;0;L;;;;;N;;;;; +1B06B;HENTAIGANA LETTER TU-3;Lo;0;L;;;;;N;;;;; +1B06C;HENTAIGANA LETTER TU-4;Lo;0;L;;;;;N;;;;; +1B06D;HENTAIGANA LETTER TU-TO;Lo;0;L;;;;;N;;;;; +1B06E;HENTAIGANA LETTER TE-1;Lo;0;L;;;;;N;;;;; +1B06F;HENTAIGANA LETTER TE-2;Lo;0;L;;;;;N;;;;; +1B070;HENTAIGANA LETTER TE-3;Lo;0;L;;;;;N;;;;; +1B071;HENTAIGANA LETTER TE-4;Lo;0;L;;;;;N;;;;; +1B072;HENTAIGANA LETTER TE-5;Lo;0;L;;;;;N;;;;; +1B073;HENTAIGANA LETTER TE-6;Lo;0;L;;;;;N;;;;; +1B074;HENTAIGANA LETTER TE-7;Lo;0;L;;;;;N;;;;; +1B075;HENTAIGANA LETTER TE-8;Lo;0;L;;;;;N;;;;; +1B076;HENTAIGANA LETTER TE-9;Lo;0;L;;;;;N;;;;; +1B077;HENTAIGANA LETTER TO-1;Lo;0;L;;;;;N;;;;; +1B078;HENTAIGANA LETTER TO-2;Lo;0;L;;;;;N;;;;; +1B079;HENTAIGANA LETTER TO-3;Lo;0;L;;;;;N;;;;; +1B07A;HENTAIGANA LETTER TO-4;Lo;0;L;;;;;N;;;;; +1B07B;HENTAIGANA LETTER TO-5;Lo;0;L;;;;;N;;;;; +1B07C;HENTAIGANA LETTER TO-6;Lo;0;L;;;;;N;;;;; +1B07D;HENTAIGANA LETTER TO-RA;Lo;0;L;;;;;N;;;;; +1B07E;HENTAIGANA LETTER NA-1;Lo;0;L;;;;;N;;;;; +1B07F;HENTAIGANA LETTER NA-2;Lo;0;L;;;;;N;;;;; +1B080;HENTAIGANA LETTER NA-3;Lo;0;L;;;;;N;;;;; +1B081;HENTAIGANA LETTER NA-4;Lo;0;L;;;;;N;;;;; +1B082;HENTAIGANA LETTER NA-5;Lo;0;L;;;;;N;;;;; +1B083;HENTAIGANA LETTER NA-6;Lo;0;L;;;;;N;;;;; +1B084;HENTAIGANA LETTER NA-7;Lo;0;L;;;;;N;;;;; +1B085;HENTAIGANA LETTER NA-8;Lo;0;L;;;;;N;;;;; +1B086;HENTAIGANA LETTER NA-9;Lo;0;L;;;;;N;;;;; +1B087;HENTAIGANA LETTER NI-1;Lo;0;L;;;;;N;;;;; +1B088;HENTAIGANA LETTER NI-2;Lo;0;L;;;;;N;;;;; +1B089;HENTAIGANA LETTER NI-3;Lo;0;L;;;;;N;;;;; +1B08A;HENTAIGANA LETTER NI-4;Lo;0;L;;;;;N;;;;; +1B08B;HENTAIGANA LETTER NI-5;Lo;0;L;;;;;N;;;;; +1B08C;HENTAIGANA LETTER NI-6;Lo;0;L;;;;;N;;;;; +1B08D;HENTAIGANA LETTER NI-7;Lo;0;L;;;;;N;;;;; +1B08E;HENTAIGANA LETTER NI-TE;Lo;0;L;;;;;N;;;;; +1B08F;HENTAIGANA LETTER NU-1;Lo;0;L;;;;;N;;;;; +1B090;HENTAIGANA LETTER NU-2;Lo;0;L;;;;;N;;;;; +1B091;HENTAIGANA LETTER NU-3;Lo;0;L;;;;;N;;;;; +1B092;HENTAIGANA LETTER NE-1;Lo;0;L;;;;;N;;;;; +1B093;HENTAIGANA LETTER NE-2;Lo;0;L;;;;;N;;;;; +1B094;HENTAIGANA LETTER NE-3;Lo;0;L;;;;;N;;;;; +1B095;HENTAIGANA LETTER NE-4;Lo;0;L;;;;;N;;;;; +1B096;HENTAIGANA LETTER NE-5;Lo;0;L;;;;;N;;;;; +1B097;HENTAIGANA LETTER NE-6;Lo;0;L;;;;;N;;;;; +1B098;HENTAIGANA LETTER NE-KO;Lo;0;L;;;;;N;;;;; +1B099;HENTAIGANA LETTER NO-1;Lo;0;L;;;;;N;;;;; +1B09A;HENTAIGANA LETTER NO-2;Lo;0;L;;;;;N;;;;; +1B09B;HENTAIGANA LETTER NO-3;Lo;0;L;;;;;N;;;;; +1B09C;HENTAIGANA LETTER NO-4;Lo;0;L;;;;;N;;;;; +1B09D;HENTAIGANA LETTER NO-5;Lo;0;L;;;;;N;;;;; +1B09E;HENTAIGANA LETTER HA-1;Lo;0;L;;;;;N;;;;; +1B09F;HENTAIGANA LETTER HA-2;Lo;0;L;;;;;N;;;;; +1B0A0;HENTAIGANA LETTER HA-3;Lo;0;L;;;;;N;;;;; +1B0A1;HENTAIGANA LETTER HA-4;Lo;0;L;;;;;N;;;;; +1B0A2;HENTAIGANA LETTER HA-5;Lo;0;L;;;;;N;;;;; +1B0A3;HENTAIGANA LETTER HA-6;Lo;0;L;;;;;N;;;;; +1B0A4;HENTAIGANA LETTER HA-7;Lo;0;L;;;;;N;;;;; +1B0A5;HENTAIGANA LETTER HA-8;Lo;0;L;;;;;N;;;;; +1B0A6;HENTAIGANA LETTER HA-9;Lo;0;L;;;;;N;;;;; +1B0A7;HENTAIGANA LETTER HA-10;Lo;0;L;;;;;N;;;;; +1B0A8;HENTAIGANA LETTER HA-11;Lo;0;L;;;;;N;;;;; +1B0A9;HENTAIGANA LETTER HI-1;Lo;0;L;;;;;N;;;;; +1B0AA;HENTAIGANA LETTER HI-2;Lo;0;L;;;;;N;;;;; +1B0AB;HENTAIGANA LETTER HI-3;Lo;0;L;;;;;N;;;;; +1B0AC;HENTAIGANA LETTER HI-4;Lo;0;L;;;;;N;;;;; +1B0AD;HENTAIGANA LETTER HI-5;Lo;0;L;;;;;N;;;;; +1B0AE;HENTAIGANA LETTER HI-6;Lo;0;L;;;;;N;;;;; +1B0AF;HENTAIGANA LETTER HI-7;Lo;0;L;;;;;N;;;;; +1B0B0;HENTAIGANA LETTER HU-1;Lo;0;L;;;;;N;;;;; +1B0B1;HENTAIGANA LETTER HU-2;Lo;0;L;;;;;N;;;;; +1B0B2;HENTAIGANA LETTER HU-3;Lo;0;L;;;;;N;;;;; +1B0B3;HENTAIGANA LETTER HE-1;Lo;0;L;;;;;N;;;;; +1B0B4;HENTAIGANA LETTER HE-2;Lo;0;L;;;;;N;;;;; +1B0B5;HENTAIGANA LETTER HE-3;Lo;0;L;;;;;N;;;;; +1B0B6;HENTAIGANA LETTER HE-4;Lo;0;L;;;;;N;;;;; +1B0B7;HENTAIGANA LETTER HE-5;Lo;0;L;;;;;N;;;;; +1B0B8;HENTAIGANA LETTER HE-6;Lo;0;L;;;;;N;;;;; +1B0B9;HENTAIGANA LETTER HE-7;Lo;0;L;;;;;N;;;;; +1B0BA;HENTAIGANA LETTER HO-1;Lo;0;L;;;;;N;;;;; +1B0BB;HENTAIGANA LETTER HO-2;Lo;0;L;;;;;N;;;;; +1B0BC;HENTAIGANA LETTER HO-3;Lo;0;L;;;;;N;;;;; +1B0BD;HENTAIGANA LETTER HO-4;Lo;0;L;;;;;N;;;;; +1B0BE;HENTAIGANA LETTER HO-5;Lo;0;L;;;;;N;;;;; +1B0BF;HENTAIGANA LETTER HO-6;Lo;0;L;;;;;N;;;;; +1B0C0;HENTAIGANA LETTER HO-7;Lo;0;L;;;;;N;;;;; +1B0C1;HENTAIGANA LETTER HO-8;Lo;0;L;;;;;N;;;;; +1B0C2;HENTAIGANA LETTER MA-1;Lo;0;L;;;;;N;;;;; +1B0C3;HENTAIGANA LETTER MA-2;Lo;0;L;;;;;N;;;;; +1B0C4;HENTAIGANA LETTER MA-3;Lo;0;L;;;;;N;;;;; +1B0C5;HENTAIGANA LETTER MA-4;Lo;0;L;;;;;N;;;;; +1B0C6;HENTAIGANA LETTER MA-5;Lo;0;L;;;;;N;;;;; +1B0C7;HENTAIGANA LETTER MA-6;Lo;0;L;;;;;N;;;;; +1B0C8;HENTAIGANA LETTER MA-7;Lo;0;L;;;;;N;;;;; +1B0C9;HENTAIGANA LETTER MI-1;Lo;0;L;;;;;N;;;;; +1B0CA;HENTAIGANA LETTER MI-2;Lo;0;L;;;;;N;;;;; +1B0CB;HENTAIGANA LETTER MI-3;Lo;0;L;;;;;N;;;;; +1B0CC;HENTAIGANA LETTER MI-4;Lo;0;L;;;;;N;;;;; +1B0CD;HENTAIGANA LETTER MI-5;Lo;0;L;;;;;N;;;;; +1B0CE;HENTAIGANA LETTER MI-6;Lo;0;L;;;;;N;;;;; +1B0CF;HENTAIGANA LETTER MI-7;Lo;0;L;;;;;N;;;;; +1B0D0;HENTAIGANA LETTER MU-1;Lo;0;L;;;;;N;;;;; +1B0D1;HENTAIGANA LETTER MU-2;Lo;0;L;;;;;N;;;;; +1B0D2;HENTAIGANA LETTER MU-3;Lo;0;L;;;;;N;;;;; +1B0D3;HENTAIGANA LETTER MU-4;Lo;0;L;;;;;N;;;;; +1B0D4;HENTAIGANA LETTER ME-1;Lo;0;L;;;;;N;;;;; +1B0D5;HENTAIGANA LETTER ME-2;Lo;0;L;;;;;N;;;;; +1B0D6;HENTAIGANA LETTER ME-MA;Lo;0;L;;;;;N;;;;; +1B0D7;HENTAIGANA LETTER MO-1;Lo;0;L;;;;;N;;;;; +1B0D8;HENTAIGANA LETTER MO-2;Lo;0;L;;;;;N;;;;; +1B0D9;HENTAIGANA LETTER MO-3;Lo;0;L;;;;;N;;;;; +1B0DA;HENTAIGANA LETTER MO-4;Lo;0;L;;;;;N;;;;; +1B0DB;HENTAIGANA LETTER MO-5;Lo;0;L;;;;;N;;;;; +1B0DC;HENTAIGANA LETTER MO-6;Lo;0;L;;;;;N;;;;; +1B0DD;HENTAIGANA LETTER YA-1;Lo;0;L;;;;;N;;;;; +1B0DE;HENTAIGANA LETTER YA-2;Lo;0;L;;;;;N;;;;; +1B0DF;HENTAIGANA LETTER YA-3;Lo;0;L;;;;;N;;;;; +1B0E0;HENTAIGANA LETTER YA-4;Lo;0;L;;;;;N;;;;; +1B0E1;HENTAIGANA LETTER YA-5;Lo;0;L;;;;;N;;;;; +1B0E2;HENTAIGANA LETTER YA-YO;Lo;0;L;;;;;N;;;;; +1B0E3;HENTAIGANA LETTER YU-1;Lo;0;L;;;;;N;;;;; +1B0E4;HENTAIGANA LETTER YU-2;Lo;0;L;;;;;N;;;;; +1B0E5;HENTAIGANA LETTER YU-3;Lo;0;L;;;;;N;;;;; +1B0E6;HENTAIGANA LETTER YU-4;Lo;0;L;;;;;N;;;;; +1B0E7;HENTAIGANA LETTER YO-1;Lo;0;L;;;;;N;;;;; +1B0E8;HENTAIGANA LETTER YO-2;Lo;0;L;;;;;N;;;;; +1B0E9;HENTAIGANA LETTER YO-3;Lo;0;L;;;;;N;;;;; +1B0EA;HENTAIGANA LETTER YO-4;Lo;0;L;;;;;N;;;;; +1B0EB;HENTAIGANA LETTER YO-5;Lo;0;L;;;;;N;;;;; +1B0EC;HENTAIGANA LETTER YO-6;Lo;0;L;;;;;N;;;;; +1B0ED;HENTAIGANA LETTER RA-1;Lo;0;L;;;;;N;;;;; +1B0EE;HENTAIGANA LETTER RA-2;Lo;0;L;;;;;N;;;;; +1B0EF;HENTAIGANA LETTER RA-3;Lo;0;L;;;;;N;;;;; +1B0F0;HENTAIGANA LETTER RA-4;Lo;0;L;;;;;N;;;;; +1B0F1;HENTAIGANA LETTER RI-1;Lo;0;L;;;;;N;;;;; +1B0F2;HENTAIGANA LETTER RI-2;Lo;0;L;;;;;N;;;;; +1B0F3;HENTAIGANA LETTER RI-3;Lo;0;L;;;;;N;;;;; +1B0F4;HENTAIGANA LETTER RI-4;Lo;0;L;;;;;N;;;;; +1B0F5;HENTAIGANA LETTER RI-5;Lo;0;L;;;;;N;;;;; +1B0F6;HENTAIGANA LETTER RI-6;Lo;0;L;;;;;N;;;;; +1B0F7;HENTAIGANA LETTER RI-7;Lo;0;L;;;;;N;;;;; +1B0F8;HENTAIGANA LETTER RU-1;Lo;0;L;;;;;N;;;;; +1B0F9;HENTAIGANA LETTER RU-2;Lo;0;L;;;;;N;;;;; +1B0FA;HENTAIGANA LETTER RU-3;Lo;0;L;;;;;N;;;;; +1B0FB;HENTAIGANA LETTER RU-4;Lo;0;L;;;;;N;;;;; +1B0FC;HENTAIGANA LETTER RU-5;Lo;0;L;;;;;N;;;;; +1B0FD;HENTAIGANA LETTER RU-6;Lo;0;L;;;;;N;;;;; +1B0FE;HENTAIGANA LETTER RE-1;Lo;0;L;;;;;N;;;;; +1B0FF;HENTAIGANA LETTER RE-2;Lo;0;L;;;;;N;;;;; +1B100;HENTAIGANA LETTER RE-3;Lo;0;L;;;;;N;;;;; +1B101;HENTAIGANA LETTER RE-4;Lo;0;L;;;;;N;;;;; +1B102;HENTAIGANA LETTER RO-1;Lo;0;L;;;;;N;;;;; +1B103;HENTAIGANA LETTER RO-2;Lo;0;L;;;;;N;;;;; +1B104;HENTAIGANA LETTER RO-3;Lo;0;L;;;;;N;;;;; +1B105;HENTAIGANA LETTER RO-4;Lo;0;L;;;;;N;;;;; +1B106;HENTAIGANA LETTER RO-5;Lo;0;L;;;;;N;;;;; +1B107;HENTAIGANA LETTER RO-6;Lo;0;L;;;;;N;;;;; +1B108;HENTAIGANA LETTER WA-1;Lo;0;L;;;;;N;;;;; +1B109;HENTAIGANA LETTER WA-2;Lo;0;L;;;;;N;;;;; +1B10A;HENTAIGANA LETTER WA-3;Lo;0;L;;;;;N;;;;; +1B10B;HENTAIGANA LETTER WA-4;Lo;0;L;;;;;N;;;;; +1B10C;HENTAIGANA LETTER WA-5;Lo;0;L;;;;;N;;;;; +1B10D;HENTAIGANA LETTER WI-1;Lo;0;L;;;;;N;;;;; +1B10E;HENTAIGANA LETTER WI-2;Lo;0;L;;;;;N;;;;; +1B10F;HENTAIGANA LETTER WI-3;Lo;0;L;;;;;N;;;;; +1B110;HENTAIGANA LETTER WI-4;Lo;0;L;;;;;N;;;;; +1B111;HENTAIGANA LETTER WI-5;Lo;0;L;;;;;N;;;;; +1B112;HENTAIGANA LETTER WE-1;Lo;0;L;;;;;N;;;;; +1B113;HENTAIGANA LETTER WE-2;Lo;0;L;;;;;N;;;;; +1B114;HENTAIGANA LETTER WE-3;Lo;0;L;;;;;N;;;;; +1B115;HENTAIGANA LETTER WE-4;Lo;0;L;;;;;N;;;;; +1B116;HENTAIGANA LETTER WO-1;Lo;0;L;;;;;N;;;;; +1B117;HENTAIGANA LETTER WO-2;Lo;0;L;;;;;N;;;;; +1B118;HENTAIGANA LETTER WO-3;Lo;0;L;;;;;N;;;;; +1B119;HENTAIGANA LETTER WO-4;Lo;0;L;;;;;N;;;;; +1B11A;HENTAIGANA LETTER WO-5;Lo;0;L;;;;;N;;;;; +1B11B;HENTAIGANA LETTER WO-6;Lo;0;L;;;;;N;;;;; +1B11C;HENTAIGANA LETTER WO-7;Lo;0;L;;;;;N;;;;; +1B11D;HENTAIGANA LETTER N-MU-MO-1;Lo;0;L;;;;;N;;;;; +1B11E;HENTAIGANA LETTER N-MU-MO-2;Lo;0;L;;;;;N;;;;; +1B150;HIRAGANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;; +1B151;HIRAGANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;; +1B152;HIRAGANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;; +1B164;KATAKANA LETTER SMALL WI;Lo;0;L;;;;;N;;;;; +1B165;KATAKANA LETTER SMALL WE;Lo;0;L;;;;;N;;;;; +1B166;KATAKANA LETTER SMALL WO;Lo;0;L;;;;;N;;;;; +1B167;KATAKANA LETTER SMALL N;Lo;0;L;;;;;N;;;;; +1B170;NUSHU CHARACTER-1B170;Lo;0;L;;;;;N;;;;; +1B171;NUSHU CHARACTER-1B171;Lo;0;L;;;;;N;;;;; +1B172;NUSHU CHARACTER-1B172;Lo;0;L;;;;;N;;;;; +1B173;NUSHU CHARACTER-1B173;Lo;0;L;;;;;N;;;;; +1B174;NUSHU CHARACTER-1B174;Lo;0;L;;;;;N;;;;; +1B175;NUSHU CHARACTER-1B175;Lo;0;L;;;;;N;;;;; +1B176;NUSHU CHARACTER-1B176;Lo;0;L;;;;;N;;;;; +1B177;NUSHU CHARACTER-1B177;Lo;0;L;;;;;N;;;;; +1B178;NUSHU CHARACTER-1B178;Lo;0;L;;;;;N;;;;; +1B179;NUSHU CHARACTER-1B179;Lo;0;L;;;;;N;;;;; +1B17A;NUSHU CHARACTER-1B17A;Lo;0;L;;;;;N;;;;; +1B17B;NUSHU CHARACTER-1B17B;Lo;0;L;;;;;N;;;;; +1B17C;NUSHU CHARACTER-1B17C;Lo;0;L;;;;;N;;;;; +1B17D;NUSHU CHARACTER-1B17D;Lo;0;L;;;;;N;;;;; +1B17E;NUSHU CHARACTER-1B17E;Lo;0;L;;;;;N;;;;; +1B17F;NUSHU CHARACTER-1B17F;Lo;0;L;;;;;N;;;;; +1B180;NUSHU CHARACTER-1B180;Lo;0;L;;;;;N;;;;; +1B181;NUSHU CHARACTER-1B181;Lo;0;L;;;;;N;;;;; +1B182;NUSHU CHARACTER-1B182;Lo;0;L;;;;;N;;;;; +1B183;NUSHU CHARACTER-1B183;Lo;0;L;;;;;N;;;;; +1B184;NUSHU CHARACTER-1B184;Lo;0;L;;;;;N;;;;; +1B185;NUSHU CHARACTER-1B185;Lo;0;L;;;;;N;;;;; +1B186;NUSHU CHARACTER-1B186;Lo;0;L;;;;;N;;;;; +1B187;NUSHU CHARACTER-1B187;Lo;0;L;;;;;N;;;;; +1B188;NUSHU CHARACTER-1B188;Lo;0;L;;;;;N;;;;; +1B189;NUSHU CHARACTER-1B189;Lo;0;L;;;;;N;;;;; +1B18A;NUSHU CHARACTER-1B18A;Lo;0;L;;;;;N;;;;; +1B18B;NUSHU CHARACTER-1B18B;Lo;0;L;;;;;N;;;;; +1B18C;NUSHU CHARACTER-1B18C;Lo;0;L;;;;;N;;;;; +1B18D;NUSHU CHARACTER-1B18D;Lo;0;L;;;;;N;;;;; +1B18E;NUSHU CHARACTER-1B18E;Lo;0;L;;;;;N;;;;; +1B18F;NUSHU CHARACTER-1B18F;Lo;0;L;;;;;N;;;;; +1B190;NUSHU CHARACTER-1B190;Lo;0;L;;;;;N;;;;; +1B191;NUSHU CHARACTER-1B191;Lo;0;L;;;;;N;;;;; +1B192;NUSHU CHARACTER-1B192;Lo;0;L;;;;;N;;;;; +1B193;NUSHU CHARACTER-1B193;Lo;0;L;;;;;N;;;;; +1B194;NUSHU CHARACTER-1B194;Lo;0;L;;;;;N;;;;; +1B195;NUSHU CHARACTER-1B195;Lo;0;L;;;;;N;;;;; +1B196;NUSHU CHARACTER-1B196;Lo;0;L;;;;;N;;;;; +1B197;NUSHU CHARACTER-1B197;Lo;0;L;;;;;N;;;;; +1B198;NUSHU CHARACTER-1B198;Lo;0;L;;;;;N;;;;; +1B199;NUSHU CHARACTER-1B199;Lo;0;L;;;;;N;;;;; +1B19A;NUSHU CHARACTER-1B19A;Lo;0;L;;;;;N;;;;; +1B19B;NUSHU CHARACTER-1B19B;Lo;0;L;;;;;N;;;;; +1B19C;NUSHU CHARACTER-1B19C;Lo;0;L;;;;;N;;;;; +1B19D;NUSHU CHARACTER-1B19D;Lo;0;L;;;;;N;;;;; +1B19E;NUSHU CHARACTER-1B19E;Lo;0;L;;;;;N;;;;; +1B19F;NUSHU CHARACTER-1B19F;Lo;0;L;;;;;N;;;;; +1B1A0;NUSHU CHARACTER-1B1A0;Lo;0;L;;;;;N;;;;; +1B1A1;NUSHU CHARACTER-1B1A1;Lo;0;L;;;;;N;;;;; +1B1A2;NUSHU CHARACTER-1B1A2;Lo;0;L;;;;;N;;;;; +1B1A3;NUSHU CHARACTER-1B1A3;Lo;0;L;;;;;N;;;;; +1B1A4;NUSHU CHARACTER-1B1A4;Lo;0;L;;;;;N;;;;; +1B1A5;NUSHU CHARACTER-1B1A5;Lo;0;L;;;;;N;;;;; +1B1A6;NUSHU CHARACTER-1B1A6;Lo;0;L;;;;;N;;;;; +1B1A7;NUSHU CHARACTER-1B1A7;Lo;0;L;;;;;N;;;;; +1B1A8;NUSHU CHARACTER-1B1A8;Lo;0;L;;;;;N;;;;; +1B1A9;NUSHU CHARACTER-1B1A9;Lo;0;L;;;;;N;;;;; +1B1AA;NUSHU CHARACTER-1B1AA;Lo;0;L;;;;;N;;;;; +1B1AB;NUSHU CHARACTER-1B1AB;Lo;0;L;;;;;N;;;;; +1B1AC;NUSHU CHARACTER-1B1AC;Lo;0;L;;;;;N;;;;; +1B1AD;NUSHU CHARACTER-1B1AD;Lo;0;L;;;;;N;;;;; +1B1AE;NUSHU CHARACTER-1B1AE;Lo;0;L;;;;;N;;;;; +1B1AF;NUSHU CHARACTER-1B1AF;Lo;0;L;;;;;N;;;;; +1B1B0;NUSHU CHARACTER-1B1B0;Lo;0;L;;;;;N;;;;; +1B1B1;NUSHU CHARACTER-1B1B1;Lo;0;L;;;;;N;;;;; +1B1B2;NUSHU CHARACTER-1B1B2;Lo;0;L;;;;;N;;;;; +1B1B3;NUSHU CHARACTER-1B1B3;Lo;0;L;;;;;N;;;;; +1B1B4;NUSHU CHARACTER-1B1B4;Lo;0;L;;;;;N;;;;; +1B1B5;NUSHU CHARACTER-1B1B5;Lo;0;L;;;;;N;;;;; +1B1B6;NUSHU CHARACTER-1B1B6;Lo;0;L;;;;;N;;;;; +1B1B7;NUSHU CHARACTER-1B1B7;Lo;0;L;;;;;N;;;;; +1B1B8;NUSHU CHARACTER-1B1B8;Lo;0;L;;;;;N;;;;; +1B1B9;NUSHU CHARACTER-1B1B9;Lo;0;L;;;;;N;;;;; +1B1BA;NUSHU CHARACTER-1B1BA;Lo;0;L;;;;;N;;;;; +1B1BB;NUSHU CHARACTER-1B1BB;Lo;0;L;;;;;N;;;;; +1B1BC;NUSHU CHARACTER-1B1BC;Lo;0;L;;;;;N;;;;; +1B1BD;NUSHU CHARACTER-1B1BD;Lo;0;L;;;;;N;;;;; +1B1BE;NUSHU CHARACTER-1B1BE;Lo;0;L;;;;;N;;;;; +1B1BF;NUSHU CHARACTER-1B1BF;Lo;0;L;;;;;N;;;;; +1B1C0;NUSHU CHARACTER-1B1C0;Lo;0;L;;;;;N;;;;; +1B1C1;NUSHU CHARACTER-1B1C1;Lo;0;L;;;;;N;;;;; +1B1C2;NUSHU CHARACTER-1B1C2;Lo;0;L;;;;;N;;;;; +1B1C3;NUSHU CHARACTER-1B1C3;Lo;0;L;;;;;N;;;;; +1B1C4;NUSHU CHARACTER-1B1C4;Lo;0;L;;;;;N;;;;; +1B1C5;NUSHU CHARACTER-1B1C5;Lo;0;L;;;;;N;;;;; +1B1C6;NUSHU CHARACTER-1B1C6;Lo;0;L;;;;;N;;;;; +1B1C7;NUSHU CHARACTER-1B1C7;Lo;0;L;;;;;N;;;;; +1B1C8;NUSHU CHARACTER-1B1C8;Lo;0;L;;;;;N;;;;; +1B1C9;NUSHU CHARACTER-1B1C9;Lo;0;L;;;;;N;;;;; +1B1CA;NUSHU CHARACTER-1B1CA;Lo;0;L;;;;;N;;;;; +1B1CB;NUSHU CHARACTER-1B1CB;Lo;0;L;;;;;N;;;;; +1B1CC;NUSHU CHARACTER-1B1CC;Lo;0;L;;;;;N;;;;; +1B1CD;NUSHU CHARACTER-1B1CD;Lo;0;L;;;;;N;;;;; +1B1CE;NUSHU CHARACTER-1B1CE;Lo;0;L;;;;;N;;;;; +1B1CF;NUSHU CHARACTER-1B1CF;Lo;0;L;;;;;N;;;;; +1B1D0;NUSHU CHARACTER-1B1D0;Lo;0;L;;;;;N;;;;; +1B1D1;NUSHU CHARACTER-1B1D1;Lo;0;L;;;;;N;;;;; +1B1D2;NUSHU CHARACTER-1B1D2;Lo;0;L;;;;;N;;;;; +1B1D3;NUSHU CHARACTER-1B1D3;Lo;0;L;;;;;N;;;;; +1B1D4;NUSHU CHARACTER-1B1D4;Lo;0;L;;;;;N;;;;; +1B1D5;NUSHU CHARACTER-1B1D5;Lo;0;L;;;;;N;;;;; +1B1D6;NUSHU CHARACTER-1B1D6;Lo;0;L;;;;;N;;;;; +1B1D7;NUSHU CHARACTER-1B1D7;Lo;0;L;;;;;N;;;;; +1B1D8;NUSHU CHARACTER-1B1D8;Lo;0;L;;;;;N;;;;; +1B1D9;NUSHU CHARACTER-1B1D9;Lo;0;L;;;;;N;;;;; +1B1DA;NUSHU CHARACTER-1B1DA;Lo;0;L;;;;;N;;;;; +1B1DB;NUSHU CHARACTER-1B1DB;Lo;0;L;;;;;N;;;;; +1B1DC;NUSHU CHARACTER-1B1DC;Lo;0;L;;;;;N;;;;; +1B1DD;NUSHU CHARACTER-1B1DD;Lo;0;L;;;;;N;;;;; +1B1DE;NUSHU CHARACTER-1B1DE;Lo;0;L;;;;;N;;;;; +1B1DF;NUSHU CHARACTER-1B1DF;Lo;0;L;;;;;N;;;;; +1B1E0;NUSHU CHARACTER-1B1E0;Lo;0;L;;;;;N;;;;; +1B1E1;NUSHU CHARACTER-1B1E1;Lo;0;L;;;;;N;;;;; +1B1E2;NUSHU CHARACTER-1B1E2;Lo;0;L;;;;;N;;;;; +1B1E3;NUSHU CHARACTER-1B1E3;Lo;0;L;;;;;N;;;;; +1B1E4;NUSHU CHARACTER-1B1E4;Lo;0;L;;;;;N;;;;; +1B1E5;NUSHU CHARACTER-1B1E5;Lo;0;L;;;;;N;;;;; +1B1E6;NUSHU CHARACTER-1B1E6;Lo;0;L;;;;;N;;;;; +1B1E7;NUSHU CHARACTER-1B1E7;Lo;0;L;;;;;N;;;;; +1B1E8;NUSHU CHARACTER-1B1E8;Lo;0;L;;;;;N;;;;; +1B1E9;NUSHU CHARACTER-1B1E9;Lo;0;L;;;;;N;;;;; +1B1EA;NUSHU CHARACTER-1B1EA;Lo;0;L;;;;;N;;;;; +1B1EB;NUSHU CHARACTER-1B1EB;Lo;0;L;;;;;N;;;;; +1B1EC;NUSHU CHARACTER-1B1EC;Lo;0;L;;;;;N;;;;; +1B1ED;NUSHU CHARACTER-1B1ED;Lo;0;L;;;;;N;;;;; +1B1EE;NUSHU CHARACTER-1B1EE;Lo;0;L;;;;;N;;;;; +1B1EF;NUSHU CHARACTER-1B1EF;Lo;0;L;;;;;N;;;;; +1B1F0;NUSHU CHARACTER-1B1F0;Lo;0;L;;;;;N;;;;; +1B1F1;NUSHU CHARACTER-1B1F1;Lo;0;L;;;;;N;;;;; +1B1F2;NUSHU CHARACTER-1B1F2;Lo;0;L;;;;;N;;;;; +1B1F3;NUSHU CHARACTER-1B1F3;Lo;0;L;;;;;N;;;;; +1B1F4;NUSHU CHARACTER-1B1F4;Lo;0;L;;;;;N;;;;; +1B1F5;NUSHU CHARACTER-1B1F5;Lo;0;L;;;;;N;;;;; +1B1F6;NUSHU CHARACTER-1B1F6;Lo;0;L;;;;;N;;;;; +1B1F7;NUSHU CHARACTER-1B1F7;Lo;0;L;;;;;N;;;;; +1B1F8;NUSHU CHARACTER-1B1F8;Lo;0;L;;;;;N;;;;; +1B1F9;NUSHU CHARACTER-1B1F9;Lo;0;L;;;;;N;;;;; +1B1FA;NUSHU CHARACTER-1B1FA;Lo;0;L;;;;;N;;;;; +1B1FB;NUSHU CHARACTER-1B1FB;Lo;0;L;;;;;N;;;;; +1B1FC;NUSHU CHARACTER-1B1FC;Lo;0;L;;;;;N;;;;; +1B1FD;NUSHU CHARACTER-1B1FD;Lo;0;L;;;;;N;;;;; +1B1FE;NUSHU CHARACTER-1B1FE;Lo;0;L;;;;;N;;;;; +1B1FF;NUSHU CHARACTER-1B1FF;Lo;0;L;;;;;N;;;;; +1B200;NUSHU CHARACTER-1B200;Lo;0;L;;;;;N;;;;; +1B201;NUSHU CHARACTER-1B201;Lo;0;L;;;;;N;;;;; +1B202;NUSHU CHARACTER-1B202;Lo;0;L;;;;;N;;;;; +1B203;NUSHU CHARACTER-1B203;Lo;0;L;;;;;N;;;;; +1B204;NUSHU CHARACTER-1B204;Lo;0;L;;;;;N;;;;; +1B205;NUSHU CHARACTER-1B205;Lo;0;L;;;;;N;;;;; +1B206;NUSHU CHARACTER-1B206;Lo;0;L;;;;;N;;;;; +1B207;NUSHU CHARACTER-1B207;Lo;0;L;;;;;N;;;;; +1B208;NUSHU CHARACTER-1B208;Lo;0;L;;;;;N;;;;; +1B209;NUSHU CHARACTER-1B209;Lo;0;L;;;;;N;;;;; +1B20A;NUSHU CHARACTER-1B20A;Lo;0;L;;;;;N;;;;; +1B20B;NUSHU CHARACTER-1B20B;Lo;0;L;;;;;N;;;;; +1B20C;NUSHU CHARACTER-1B20C;Lo;0;L;;;;;N;;;;; +1B20D;NUSHU CHARACTER-1B20D;Lo;0;L;;;;;N;;;;; +1B20E;NUSHU CHARACTER-1B20E;Lo;0;L;;;;;N;;;;; +1B20F;NUSHU CHARACTER-1B20F;Lo;0;L;;;;;N;;;;; +1B210;NUSHU CHARACTER-1B210;Lo;0;L;;;;;N;;;;; +1B211;NUSHU CHARACTER-1B211;Lo;0;L;;;;;N;;;;; +1B212;NUSHU CHARACTER-1B212;Lo;0;L;;;;;N;;;;; +1B213;NUSHU CHARACTER-1B213;Lo;0;L;;;;;N;;;;; +1B214;NUSHU CHARACTER-1B214;Lo;0;L;;;;;N;;;;; +1B215;NUSHU CHARACTER-1B215;Lo;0;L;;;;;N;;;;; +1B216;NUSHU CHARACTER-1B216;Lo;0;L;;;;;N;;;;; +1B217;NUSHU CHARACTER-1B217;Lo;0;L;;;;;N;;;;; +1B218;NUSHU CHARACTER-1B218;Lo;0;L;;;;;N;;;;; +1B219;NUSHU CHARACTER-1B219;Lo;0;L;;;;;N;;;;; +1B21A;NUSHU CHARACTER-1B21A;Lo;0;L;;;;;N;;;;; +1B21B;NUSHU CHARACTER-1B21B;Lo;0;L;;;;;N;;;;; +1B21C;NUSHU CHARACTER-1B21C;Lo;0;L;;;;;N;;;;; +1B21D;NUSHU CHARACTER-1B21D;Lo;0;L;;;;;N;;;;; +1B21E;NUSHU CHARACTER-1B21E;Lo;0;L;;;;;N;;;;; +1B21F;NUSHU CHARACTER-1B21F;Lo;0;L;;;;;N;;;;; +1B220;NUSHU CHARACTER-1B220;Lo;0;L;;;;;N;;;;; +1B221;NUSHU CHARACTER-1B221;Lo;0;L;;;;;N;;;;; +1B222;NUSHU CHARACTER-1B222;Lo;0;L;;;;;N;;;;; +1B223;NUSHU CHARACTER-1B223;Lo;0;L;;;;;N;;;;; +1B224;NUSHU CHARACTER-1B224;Lo;0;L;;;;;N;;;;; +1B225;NUSHU CHARACTER-1B225;Lo;0;L;;;;;N;;;;; +1B226;NUSHU CHARACTER-1B226;Lo;0;L;;;;;N;;;;; +1B227;NUSHU CHARACTER-1B227;Lo;0;L;;;;;N;;;;; +1B228;NUSHU CHARACTER-1B228;Lo;0;L;;;;;N;;;;; +1B229;NUSHU CHARACTER-1B229;Lo;0;L;;;;;N;;;;; +1B22A;NUSHU CHARACTER-1B22A;Lo;0;L;;;;;N;;;;; +1B22B;NUSHU CHARACTER-1B22B;Lo;0;L;;;;;N;;;;; +1B22C;NUSHU CHARACTER-1B22C;Lo;0;L;;;;;N;;;;; +1B22D;NUSHU CHARACTER-1B22D;Lo;0;L;;;;;N;;;;; +1B22E;NUSHU CHARACTER-1B22E;Lo;0;L;;;;;N;;;;; +1B22F;NUSHU CHARACTER-1B22F;Lo;0;L;;;;;N;;;;; +1B230;NUSHU CHARACTER-1B230;Lo;0;L;;;;;N;;;;; +1B231;NUSHU CHARACTER-1B231;Lo;0;L;;;;;N;;;;; +1B232;NUSHU CHARACTER-1B232;Lo;0;L;;;;;N;;;;; +1B233;NUSHU CHARACTER-1B233;Lo;0;L;;;;;N;;;;; +1B234;NUSHU CHARACTER-1B234;Lo;0;L;;;;;N;;;;; +1B235;NUSHU CHARACTER-1B235;Lo;0;L;;;;;N;;;;; +1B236;NUSHU CHARACTER-1B236;Lo;0;L;;;;;N;;;;; +1B237;NUSHU CHARACTER-1B237;Lo;0;L;;;;;N;;;;; +1B238;NUSHU CHARACTER-1B238;Lo;0;L;;;;;N;;;;; +1B239;NUSHU CHARACTER-1B239;Lo;0;L;;;;;N;;;;; +1B23A;NUSHU CHARACTER-1B23A;Lo;0;L;;;;;N;;;;; +1B23B;NUSHU CHARACTER-1B23B;Lo;0;L;;;;;N;;;;; +1B23C;NUSHU CHARACTER-1B23C;Lo;0;L;;;;;N;;;;; +1B23D;NUSHU CHARACTER-1B23D;Lo;0;L;;;;;N;;;;; +1B23E;NUSHU CHARACTER-1B23E;Lo;0;L;;;;;N;;;;; +1B23F;NUSHU CHARACTER-1B23F;Lo;0;L;;;;;N;;;;; +1B240;NUSHU CHARACTER-1B240;Lo;0;L;;;;;N;;;;; +1B241;NUSHU CHARACTER-1B241;Lo;0;L;;;;;N;;;;; +1B242;NUSHU CHARACTER-1B242;Lo;0;L;;;;;N;;;;; +1B243;NUSHU CHARACTER-1B243;Lo;0;L;;;;;N;;;;; +1B244;NUSHU CHARACTER-1B244;Lo;0;L;;;;;N;;;;; +1B245;NUSHU CHARACTER-1B245;Lo;0;L;;;;;N;;;;; +1B246;NUSHU CHARACTER-1B246;Lo;0;L;;;;;N;;;;; +1B247;NUSHU CHARACTER-1B247;Lo;0;L;;;;;N;;;;; +1B248;NUSHU CHARACTER-1B248;Lo;0;L;;;;;N;;;;; +1B249;NUSHU CHARACTER-1B249;Lo;0;L;;;;;N;;;;; +1B24A;NUSHU CHARACTER-1B24A;Lo;0;L;;;;;N;;;;; +1B24B;NUSHU CHARACTER-1B24B;Lo;0;L;;;;;N;;;;; +1B24C;NUSHU CHARACTER-1B24C;Lo;0;L;;;;;N;;;;; +1B24D;NUSHU CHARACTER-1B24D;Lo;0;L;;;;;N;;;;; +1B24E;NUSHU CHARACTER-1B24E;Lo;0;L;;;;;N;;;;; +1B24F;NUSHU CHARACTER-1B24F;Lo;0;L;;;;;N;;;;; +1B250;NUSHU CHARACTER-1B250;Lo;0;L;;;;;N;;;;; +1B251;NUSHU CHARACTER-1B251;Lo;0;L;;;;;N;;;;; +1B252;NUSHU CHARACTER-1B252;Lo;0;L;;;;;N;;;;; +1B253;NUSHU CHARACTER-1B253;Lo;0;L;;;;;N;;;;; +1B254;NUSHU CHARACTER-1B254;Lo;0;L;;;;;N;;;;; +1B255;NUSHU CHARACTER-1B255;Lo;0;L;;;;;N;;;;; +1B256;NUSHU CHARACTER-1B256;Lo;0;L;;;;;N;;;;; +1B257;NUSHU CHARACTER-1B257;Lo;0;L;;;;;N;;;;; +1B258;NUSHU CHARACTER-1B258;Lo;0;L;;;;;N;;;;; +1B259;NUSHU CHARACTER-1B259;Lo;0;L;;;;;N;;;;; +1B25A;NUSHU CHARACTER-1B25A;Lo;0;L;;;;;N;;;;; +1B25B;NUSHU CHARACTER-1B25B;Lo;0;L;;;;;N;;;;; +1B25C;NUSHU CHARACTER-1B25C;Lo;0;L;;;;;N;;;;; +1B25D;NUSHU CHARACTER-1B25D;Lo;0;L;;;;;N;;;;; +1B25E;NUSHU CHARACTER-1B25E;Lo;0;L;;;;;N;;;;; +1B25F;NUSHU CHARACTER-1B25F;Lo;0;L;;;;;N;;;;; +1B260;NUSHU CHARACTER-1B260;Lo;0;L;;;;;N;;;;; +1B261;NUSHU CHARACTER-1B261;Lo;0;L;;;;;N;;;;; +1B262;NUSHU CHARACTER-1B262;Lo;0;L;;;;;N;;;;; +1B263;NUSHU CHARACTER-1B263;Lo;0;L;;;;;N;;;;; +1B264;NUSHU CHARACTER-1B264;Lo;0;L;;;;;N;;;;; +1B265;NUSHU CHARACTER-1B265;Lo;0;L;;;;;N;;;;; +1B266;NUSHU CHARACTER-1B266;Lo;0;L;;;;;N;;;;; +1B267;NUSHU CHARACTER-1B267;Lo;0;L;;;;;N;;;;; +1B268;NUSHU CHARACTER-1B268;Lo;0;L;;;;;N;;;;; +1B269;NUSHU CHARACTER-1B269;Lo;0;L;;;;;N;;;;; +1B26A;NUSHU CHARACTER-1B26A;Lo;0;L;;;;;N;;;;; +1B26B;NUSHU CHARACTER-1B26B;Lo;0;L;;;;;N;;;;; +1B26C;NUSHU CHARACTER-1B26C;Lo;0;L;;;;;N;;;;; +1B26D;NUSHU CHARACTER-1B26D;Lo;0;L;;;;;N;;;;; +1B26E;NUSHU CHARACTER-1B26E;Lo;0;L;;;;;N;;;;; +1B26F;NUSHU CHARACTER-1B26F;Lo;0;L;;;;;N;;;;; +1B270;NUSHU CHARACTER-1B270;Lo;0;L;;;;;N;;;;; +1B271;NUSHU CHARACTER-1B271;Lo;0;L;;;;;N;;;;; +1B272;NUSHU CHARACTER-1B272;Lo;0;L;;;;;N;;;;; +1B273;NUSHU CHARACTER-1B273;Lo;0;L;;;;;N;;;;; +1B274;NUSHU CHARACTER-1B274;Lo;0;L;;;;;N;;;;; +1B275;NUSHU CHARACTER-1B275;Lo;0;L;;;;;N;;;;; +1B276;NUSHU CHARACTER-1B276;Lo;0;L;;;;;N;;;;; +1B277;NUSHU CHARACTER-1B277;Lo;0;L;;;;;N;;;;; +1B278;NUSHU CHARACTER-1B278;Lo;0;L;;;;;N;;;;; +1B279;NUSHU CHARACTER-1B279;Lo;0;L;;;;;N;;;;; +1B27A;NUSHU CHARACTER-1B27A;Lo;0;L;;;;;N;;;;; +1B27B;NUSHU CHARACTER-1B27B;Lo;0;L;;;;;N;;;;; +1B27C;NUSHU CHARACTER-1B27C;Lo;0;L;;;;;N;;;;; +1B27D;NUSHU CHARACTER-1B27D;Lo;0;L;;;;;N;;;;; +1B27E;NUSHU CHARACTER-1B27E;Lo;0;L;;;;;N;;;;; +1B27F;NUSHU CHARACTER-1B27F;Lo;0;L;;;;;N;;;;; +1B280;NUSHU CHARACTER-1B280;Lo;0;L;;;;;N;;;;; +1B281;NUSHU CHARACTER-1B281;Lo;0;L;;;;;N;;;;; +1B282;NUSHU CHARACTER-1B282;Lo;0;L;;;;;N;;;;; +1B283;NUSHU CHARACTER-1B283;Lo;0;L;;;;;N;;;;; +1B284;NUSHU CHARACTER-1B284;Lo;0;L;;;;;N;;;;; +1B285;NUSHU CHARACTER-1B285;Lo;0;L;;;;;N;;;;; +1B286;NUSHU CHARACTER-1B286;Lo;0;L;;;;;N;;;;; +1B287;NUSHU CHARACTER-1B287;Lo;0;L;;;;;N;;;;; +1B288;NUSHU CHARACTER-1B288;Lo;0;L;;;;;N;;;;; +1B289;NUSHU CHARACTER-1B289;Lo;0;L;;;;;N;;;;; +1B28A;NUSHU CHARACTER-1B28A;Lo;0;L;;;;;N;;;;; +1B28B;NUSHU CHARACTER-1B28B;Lo;0;L;;;;;N;;;;; +1B28C;NUSHU CHARACTER-1B28C;Lo;0;L;;;;;N;;;;; +1B28D;NUSHU CHARACTER-1B28D;Lo;0;L;;;;;N;;;;; +1B28E;NUSHU CHARACTER-1B28E;Lo;0;L;;;;;N;;;;; +1B28F;NUSHU CHARACTER-1B28F;Lo;0;L;;;;;N;;;;; +1B290;NUSHU CHARACTER-1B290;Lo;0;L;;;;;N;;;;; +1B291;NUSHU CHARACTER-1B291;Lo;0;L;;;;;N;;;;; +1B292;NUSHU CHARACTER-1B292;Lo;0;L;;;;;N;;;;; +1B293;NUSHU CHARACTER-1B293;Lo;0;L;;;;;N;;;;; +1B294;NUSHU CHARACTER-1B294;Lo;0;L;;;;;N;;;;; +1B295;NUSHU CHARACTER-1B295;Lo;0;L;;;;;N;;;;; +1B296;NUSHU CHARACTER-1B296;Lo;0;L;;;;;N;;;;; +1B297;NUSHU CHARACTER-1B297;Lo;0;L;;;;;N;;;;; +1B298;NUSHU CHARACTER-1B298;Lo;0;L;;;;;N;;;;; +1B299;NUSHU CHARACTER-1B299;Lo;0;L;;;;;N;;;;; +1B29A;NUSHU CHARACTER-1B29A;Lo;0;L;;;;;N;;;;; +1B29B;NUSHU CHARACTER-1B29B;Lo;0;L;;;;;N;;;;; +1B29C;NUSHU CHARACTER-1B29C;Lo;0;L;;;;;N;;;;; +1B29D;NUSHU CHARACTER-1B29D;Lo;0;L;;;;;N;;;;; +1B29E;NUSHU CHARACTER-1B29E;Lo;0;L;;;;;N;;;;; +1B29F;NUSHU CHARACTER-1B29F;Lo;0;L;;;;;N;;;;; +1B2A0;NUSHU CHARACTER-1B2A0;Lo;0;L;;;;;N;;;;; +1B2A1;NUSHU CHARACTER-1B2A1;Lo;0;L;;;;;N;;;;; +1B2A2;NUSHU CHARACTER-1B2A2;Lo;0;L;;;;;N;;;;; +1B2A3;NUSHU CHARACTER-1B2A3;Lo;0;L;;;;;N;;;;; +1B2A4;NUSHU CHARACTER-1B2A4;Lo;0;L;;;;;N;;;;; +1B2A5;NUSHU CHARACTER-1B2A5;Lo;0;L;;;;;N;;;;; +1B2A6;NUSHU CHARACTER-1B2A6;Lo;0;L;;;;;N;;;;; +1B2A7;NUSHU CHARACTER-1B2A7;Lo;0;L;;;;;N;;;;; +1B2A8;NUSHU CHARACTER-1B2A8;Lo;0;L;;;;;N;;;;; +1B2A9;NUSHU CHARACTER-1B2A9;Lo;0;L;;;;;N;;;;; +1B2AA;NUSHU CHARACTER-1B2AA;Lo;0;L;;;;;N;;;;; +1B2AB;NUSHU CHARACTER-1B2AB;Lo;0;L;;;;;N;;;;; +1B2AC;NUSHU CHARACTER-1B2AC;Lo;0;L;;;;;N;;;;; +1B2AD;NUSHU CHARACTER-1B2AD;Lo;0;L;;;;;N;;;;; +1B2AE;NUSHU CHARACTER-1B2AE;Lo;0;L;;;;;N;;;;; +1B2AF;NUSHU CHARACTER-1B2AF;Lo;0;L;;;;;N;;;;; +1B2B0;NUSHU CHARACTER-1B2B0;Lo;0;L;;;;;N;;;;; +1B2B1;NUSHU CHARACTER-1B2B1;Lo;0;L;;;;;N;;;;; +1B2B2;NUSHU CHARACTER-1B2B2;Lo;0;L;;;;;N;;;;; +1B2B3;NUSHU CHARACTER-1B2B3;Lo;0;L;;;;;N;;;;; +1B2B4;NUSHU CHARACTER-1B2B4;Lo;0;L;;;;;N;;;;; +1B2B5;NUSHU CHARACTER-1B2B5;Lo;0;L;;;;;N;;;;; +1B2B6;NUSHU CHARACTER-1B2B6;Lo;0;L;;;;;N;;;;; +1B2B7;NUSHU CHARACTER-1B2B7;Lo;0;L;;;;;N;;;;; +1B2B8;NUSHU CHARACTER-1B2B8;Lo;0;L;;;;;N;;;;; +1B2B9;NUSHU CHARACTER-1B2B9;Lo;0;L;;;;;N;;;;; +1B2BA;NUSHU CHARACTER-1B2BA;Lo;0;L;;;;;N;;;;; +1B2BB;NUSHU CHARACTER-1B2BB;Lo;0;L;;;;;N;;;;; +1B2BC;NUSHU CHARACTER-1B2BC;Lo;0;L;;;;;N;;;;; +1B2BD;NUSHU CHARACTER-1B2BD;Lo;0;L;;;;;N;;;;; +1B2BE;NUSHU CHARACTER-1B2BE;Lo;0;L;;;;;N;;;;; +1B2BF;NUSHU CHARACTER-1B2BF;Lo;0;L;;;;;N;;;;; +1B2C0;NUSHU CHARACTER-1B2C0;Lo;0;L;;;;;N;;;;; +1B2C1;NUSHU CHARACTER-1B2C1;Lo;0;L;;;;;N;;;;; +1B2C2;NUSHU CHARACTER-1B2C2;Lo;0;L;;;;;N;;;;; +1B2C3;NUSHU CHARACTER-1B2C3;Lo;0;L;;;;;N;;;;; +1B2C4;NUSHU CHARACTER-1B2C4;Lo;0;L;;;;;N;;;;; +1B2C5;NUSHU CHARACTER-1B2C5;Lo;0;L;;;;;N;;;;; +1B2C6;NUSHU CHARACTER-1B2C6;Lo;0;L;;;;;N;;;;; +1B2C7;NUSHU CHARACTER-1B2C7;Lo;0;L;;;;;N;;;;; +1B2C8;NUSHU CHARACTER-1B2C8;Lo;0;L;;;;;N;;;;; +1B2C9;NUSHU CHARACTER-1B2C9;Lo;0;L;;;;;N;;;;; +1B2CA;NUSHU CHARACTER-1B2CA;Lo;0;L;;;;;N;;;;; +1B2CB;NUSHU CHARACTER-1B2CB;Lo;0;L;;;;;N;;;;; +1B2CC;NUSHU CHARACTER-1B2CC;Lo;0;L;;;;;N;;;;; +1B2CD;NUSHU CHARACTER-1B2CD;Lo;0;L;;;;;N;;;;; +1B2CE;NUSHU CHARACTER-1B2CE;Lo;0;L;;;;;N;;;;; +1B2CF;NUSHU CHARACTER-1B2CF;Lo;0;L;;;;;N;;;;; +1B2D0;NUSHU CHARACTER-1B2D0;Lo;0;L;;;;;N;;;;; +1B2D1;NUSHU CHARACTER-1B2D1;Lo;0;L;;;;;N;;;;; +1B2D2;NUSHU CHARACTER-1B2D2;Lo;0;L;;;;;N;;;;; +1B2D3;NUSHU CHARACTER-1B2D3;Lo;0;L;;;;;N;;;;; +1B2D4;NUSHU CHARACTER-1B2D4;Lo;0;L;;;;;N;;;;; +1B2D5;NUSHU CHARACTER-1B2D5;Lo;0;L;;;;;N;;;;; +1B2D6;NUSHU CHARACTER-1B2D6;Lo;0;L;;;;;N;;;;; +1B2D7;NUSHU CHARACTER-1B2D7;Lo;0;L;;;;;N;;;;; +1B2D8;NUSHU CHARACTER-1B2D8;Lo;0;L;;;;;N;;;;; +1B2D9;NUSHU CHARACTER-1B2D9;Lo;0;L;;;;;N;;;;; +1B2DA;NUSHU CHARACTER-1B2DA;Lo;0;L;;;;;N;;;;; +1B2DB;NUSHU CHARACTER-1B2DB;Lo;0;L;;;;;N;;;;; +1B2DC;NUSHU CHARACTER-1B2DC;Lo;0;L;;;;;N;;;;; +1B2DD;NUSHU CHARACTER-1B2DD;Lo;0;L;;;;;N;;;;; +1B2DE;NUSHU CHARACTER-1B2DE;Lo;0;L;;;;;N;;;;; +1B2DF;NUSHU CHARACTER-1B2DF;Lo;0;L;;;;;N;;;;; +1B2E0;NUSHU CHARACTER-1B2E0;Lo;0;L;;;;;N;;;;; +1B2E1;NUSHU CHARACTER-1B2E1;Lo;0;L;;;;;N;;;;; +1B2E2;NUSHU CHARACTER-1B2E2;Lo;0;L;;;;;N;;;;; +1B2E3;NUSHU CHARACTER-1B2E3;Lo;0;L;;;;;N;;;;; +1B2E4;NUSHU CHARACTER-1B2E4;Lo;0;L;;;;;N;;;;; +1B2E5;NUSHU CHARACTER-1B2E5;Lo;0;L;;;;;N;;;;; +1B2E6;NUSHU CHARACTER-1B2E6;Lo;0;L;;;;;N;;;;; +1B2E7;NUSHU CHARACTER-1B2E7;Lo;0;L;;;;;N;;;;; +1B2E8;NUSHU CHARACTER-1B2E8;Lo;0;L;;;;;N;;;;; +1B2E9;NUSHU CHARACTER-1B2E9;Lo;0;L;;;;;N;;;;; +1B2EA;NUSHU CHARACTER-1B2EA;Lo;0;L;;;;;N;;;;; +1B2EB;NUSHU CHARACTER-1B2EB;Lo;0;L;;;;;N;;;;; +1B2EC;NUSHU CHARACTER-1B2EC;Lo;0;L;;;;;N;;;;; +1B2ED;NUSHU CHARACTER-1B2ED;Lo;0;L;;;;;N;;;;; +1B2EE;NUSHU CHARACTER-1B2EE;Lo;0;L;;;;;N;;;;; +1B2EF;NUSHU CHARACTER-1B2EF;Lo;0;L;;;;;N;;;;; +1B2F0;NUSHU CHARACTER-1B2F0;Lo;0;L;;;;;N;;;;; +1B2F1;NUSHU CHARACTER-1B2F1;Lo;0;L;;;;;N;;;;; +1B2F2;NUSHU CHARACTER-1B2F2;Lo;0;L;;;;;N;;;;; +1B2F3;NUSHU CHARACTER-1B2F3;Lo;0;L;;;;;N;;;;; +1B2F4;NUSHU CHARACTER-1B2F4;Lo;0;L;;;;;N;;;;; +1B2F5;NUSHU CHARACTER-1B2F5;Lo;0;L;;;;;N;;;;; +1B2F6;NUSHU CHARACTER-1B2F6;Lo;0;L;;;;;N;;;;; +1B2F7;NUSHU CHARACTER-1B2F7;Lo;0;L;;;;;N;;;;; +1B2F8;NUSHU CHARACTER-1B2F8;Lo;0;L;;;;;N;;;;; +1B2F9;NUSHU CHARACTER-1B2F9;Lo;0;L;;;;;N;;;;; +1B2FA;NUSHU CHARACTER-1B2FA;Lo;0;L;;;;;N;;;;; +1B2FB;NUSHU CHARACTER-1B2FB;Lo;0;L;;;;;N;;;;; +1BC00;DUPLOYAN LETTER H;Lo;0;L;;;;;N;;;;; +1BC01;DUPLOYAN LETTER X;Lo;0;L;;;;;N;;;;; +1BC02;DUPLOYAN LETTER P;Lo;0;L;;;;;N;;;;; +1BC03;DUPLOYAN LETTER T;Lo;0;L;;;;;N;;;;; +1BC04;DUPLOYAN LETTER F;Lo;0;L;;;;;N;;;;; +1BC05;DUPLOYAN LETTER K;Lo;0;L;;;;;N;;;;; +1BC06;DUPLOYAN LETTER L;Lo;0;L;;;;;N;;;;; +1BC07;DUPLOYAN LETTER B;Lo;0;L;;;;;N;;;;; +1BC08;DUPLOYAN LETTER D;Lo;0;L;;;;;N;;;;; +1BC09;DUPLOYAN LETTER V;Lo;0;L;;;;;N;;;;; +1BC0A;DUPLOYAN LETTER G;Lo;0;L;;;;;N;;;;; +1BC0B;DUPLOYAN LETTER R;Lo;0;L;;;;;N;;;;; +1BC0C;DUPLOYAN LETTER P N;Lo;0;L;;;;;N;;;;; +1BC0D;DUPLOYAN LETTER D S;Lo;0;L;;;;;N;;;;; +1BC0E;DUPLOYAN LETTER F N;Lo;0;L;;;;;N;;;;; +1BC0F;DUPLOYAN LETTER K M;Lo;0;L;;;;;N;;;;; +1BC10;DUPLOYAN LETTER R S;Lo;0;L;;;;;N;;;;; +1BC11;DUPLOYAN LETTER TH;Lo;0;L;;;;;N;;;;; +1BC12;DUPLOYAN LETTER SLOAN DH;Lo;0;L;;;;;N;;;;; +1BC13;DUPLOYAN LETTER DH;Lo;0;L;;;;;N;;;;; +1BC14;DUPLOYAN LETTER KK;Lo;0;L;;;;;N;;;;; +1BC15;DUPLOYAN LETTER SLOAN J;Lo;0;L;;;;;N;;;;; +1BC16;DUPLOYAN LETTER HL;Lo;0;L;;;;;N;;;;; +1BC17;DUPLOYAN LETTER LH;Lo;0;L;;;;;N;;;;; +1BC18;DUPLOYAN LETTER RH;Lo;0;L;;;;;N;;;;; +1BC19;DUPLOYAN LETTER M;Lo;0;L;;;;;N;;;;; +1BC1A;DUPLOYAN LETTER N;Lo;0;L;;;;;N;;;;; +1BC1B;DUPLOYAN LETTER J;Lo;0;L;;;;;N;;;;; +1BC1C;DUPLOYAN LETTER S;Lo;0;L;;;;;N;;;;; +1BC1D;DUPLOYAN LETTER M N;Lo;0;L;;;;;N;;;;; +1BC1E;DUPLOYAN LETTER N M;Lo;0;L;;;;;N;;;;; +1BC1F;DUPLOYAN LETTER J M;Lo;0;L;;;;;N;;;;; +1BC20;DUPLOYAN LETTER S J;Lo;0;L;;;;;N;;;;; +1BC21;DUPLOYAN LETTER M WITH DOT;Lo;0;L;;;;;N;;;;; +1BC22;DUPLOYAN LETTER N WITH DOT;Lo;0;L;;;;;N;;;;; +1BC23;DUPLOYAN LETTER J WITH DOT;Lo;0;L;;;;;N;;;;; +1BC24;DUPLOYAN LETTER J WITH DOTS INSIDE AND ABOVE;Lo;0;L;;;;;N;;;;; +1BC25;DUPLOYAN LETTER S WITH DOT;Lo;0;L;;;;;N;;;;; +1BC26;DUPLOYAN LETTER S WITH DOT BELOW;Lo;0;L;;;;;N;;;;; +1BC27;DUPLOYAN LETTER M S;Lo;0;L;;;;;N;;;;; +1BC28;DUPLOYAN LETTER N S;Lo;0;L;;;;;N;;;;; +1BC29;DUPLOYAN LETTER J S;Lo;0;L;;;;;N;;;;; +1BC2A;DUPLOYAN LETTER S S;Lo;0;L;;;;;N;;;;; +1BC2B;DUPLOYAN LETTER M N S;Lo;0;L;;;;;N;;;;; +1BC2C;DUPLOYAN LETTER N M S;Lo;0;L;;;;;N;;;;; +1BC2D;DUPLOYAN LETTER J M S;Lo;0;L;;;;;N;;;;; +1BC2E;DUPLOYAN LETTER S J S;Lo;0;L;;;;;N;;;;; +1BC2F;DUPLOYAN LETTER J S WITH DOT;Lo;0;L;;;;;N;;;;; +1BC30;DUPLOYAN LETTER J N;Lo;0;L;;;;;N;;;;; +1BC31;DUPLOYAN LETTER J N S;Lo;0;L;;;;;N;;;;; +1BC32;DUPLOYAN LETTER S T;Lo;0;L;;;;;N;;;;; +1BC33;DUPLOYAN LETTER S T R;Lo;0;L;;;;;N;;;;; +1BC34;DUPLOYAN LETTER S P;Lo;0;L;;;;;N;;;;; +1BC35;DUPLOYAN LETTER S P R;Lo;0;L;;;;;N;;;;; +1BC36;DUPLOYAN LETTER T S;Lo;0;L;;;;;N;;;;; +1BC37;DUPLOYAN LETTER T R S;Lo;0;L;;;;;N;;;;; +1BC38;DUPLOYAN LETTER W;Lo;0;L;;;;;N;;;;; +1BC39;DUPLOYAN LETTER WH;Lo;0;L;;;;;N;;;;; +1BC3A;DUPLOYAN LETTER W R;Lo;0;L;;;;;N;;;;; +1BC3B;DUPLOYAN LETTER S N;Lo;0;L;;;;;N;;;;; +1BC3C;DUPLOYAN LETTER S M;Lo;0;L;;;;;N;;;;; +1BC3D;DUPLOYAN LETTER K R S;Lo;0;L;;;;;N;;;;; +1BC3E;DUPLOYAN LETTER G R S;Lo;0;L;;;;;N;;;;; +1BC3F;DUPLOYAN LETTER S K;Lo;0;L;;;;;N;;;;; +1BC40;DUPLOYAN LETTER S K R;Lo;0;L;;;;;N;;;;; +1BC41;DUPLOYAN LETTER A;Lo;0;L;;;;;N;;;;; +1BC42;DUPLOYAN LETTER SLOAN OW;Lo;0;L;;;;;N;;;;; +1BC43;DUPLOYAN LETTER OA;Lo;0;L;;;;;N;;;;; +1BC44;DUPLOYAN LETTER O;Lo;0;L;;;;;N;;;;; +1BC45;DUPLOYAN LETTER AOU;Lo;0;L;;;;;N;;;;; +1BC46;DUPLOYAN LETTER I;Lo;0;L;;;;;N;;;;; +1BC47;DUPLOYAN LETTER E;Lo;0;L;;;;;N;;;;; +1BC48;DUPLOYAN LETTER IE;Lo;0;L;;;;;N;;;;; +1BC49;DUPLOYAN LETTER SHORT I;Lo;0;L;;;;;N;;;;; +1BC4A;DUPLOYAN LETTER UI;Lo;0;L;;;;;N;;;;; +1BC4B;DUPLOYAN LETTER EE;Lo;0;L;;;;;N;;;;; +1BC4C;DUPLOYAN LETTER SLOAN EH;Lo;0;L;;;;;N;;;;; +1BC4D;DUPLOYAN LETTER ROMANIAN I;Lo;0;L;;;;;N;;;;; +1BC4E;DUPLOYAN LETTER SLOAN EE;Lo;0;L;;;;;N;;;;; +1BC4F;DUPLOYAN LETTER LONG I;Lo;0;L;;;;;N;;;;; +1BC50;DUPLOYAN LETTER YE;Lo;0;L;;;;;N;;;;; +1BC51;DUPLOYAN LETTER U;Lo;0;L;;;;;N;;;;; +1BC52;DUPLOYAN LETTER EU;Lo;0;L;;;;;N;;;;; +1BC53;DUPLOYAN LETTER XW;Lo;0;L;;;;;N;;;;; +1BC54;DUPLOYAN LETTER U N;Lo;0;L;;;;;N;;;;; +1BC55;DUPLOYAN LETTER LONG U;Lo;0;L;;;;;N;;;;; +1BC56;DUPLOYAN LETTER ROMANIAN U;Lo;0;L;;;;;N;;;;; +1BC57;DUPLOYAN LETTER UH;Lo;0;L;;;;;N;;;;; +1BC58;DUPLOYAN LETTER SLOAN U;Lo;0;L;;;;;N;;;;; +1BC59;DUPLOYAN LETTER OOH;Lo;0;L;;;;;N;;;;; +1BC5A;DUPLOYAN LETTER OW;Lo;0;L;;;;;N;;;;; +1BC5B;DUPLOYAN LETTER OU;Lo;0;L;;;;;N;;;;; +1BC5C;DUPLOYAN LETTER WA;Lo;0;L;;;;;N;;;;; +1BC5D;DUPLOYAN LETTER WO;Lo;0;L;;;;;N;;;;; +1BC5E;DUPLOYAN LETTER WI;Lo;0;L;;;;;N;;;;; +1BC5F;DUPLOYAN LETTER WEI;Lo;0;L;;;;;N;;;;; +1BC60;DUPLOYAN LETTER WOW;Lo;0;L;;;;;N;;;;; +1BC61;DUPLOYAN LETTER NASAL U;Lo;0;L;;;;;N;;;;; +1BC62;DUPLOYAN LETTER NASAL O;Lo;0;L;;;;;N;;;;; +1BC63;DUPLOYAN LETTER NASAL I;Lo;0;L;;;;;N;;;;; +1BC64;DUPLOYAN LETTER NASAL A;Lo;0;L;;;;;N;;;;; +1BC65;DUPLOYAN LETTER PERNIN AN;Lo;0;L;;;;;N;;;;; +1BC66;DUPLOYAN LETTER PERNIN AM;Lo;0;L;;;;;N;;;;; +1BC67;DUPLOYAN LETTER SLOAN EN;Lo;0;L;;;;;N;;;;; +1BC68;DUPLOYAN LETTER SLOAN AN;Lo;0;L;;;;;N;;;;; +1BC69;DUPLOYAN LETTER SLOAN ON;Lo;0;L;;;;;N;;;;; +1BC6A;DUPLOYAN LETTER VOCALIC M;Lo;0;L;;;;;N;;;;; +1BC70;DUPLOYAN AFFIX LEFT HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;; +1BC71;DUPLOYAN AFFIX MID HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;; +1BC72;DUPLOYAN AFFIX RIGHT HORIZONTAL SECANT;Lo;0;L;;;;;N;;;;; +1BC73;DUPLOYAN AFFIX LOW VERTICAL SECANT;Lo;0;L;;;;;N;;;;; +1BC74;DUPLOYAN AFFIX MID VERTICAL SECANT;Lo;0;L;;;;;N;;;;; +1BC75;DUPLOYAN AFFIX HIGH VERTICAL SECANT;Lo;0;L;;;;;N;;;;; +1BC76;DUPLOYAN AFFIX ATTACHED SECANT;Lo;0;L;;;;;N;;;;; +1BC77;DUPLOYAN AFFIX ATTACHED LEFT-TO-RIGHT SECANT;Lo;0;L;;;;;N;;;;; +1BC78;DUPLOYAN AFFIX ATTACHED TANGENT;Lo;0;L;;;;;N;;;;; +1BC79;DUPLOYAN AFFIX ATTACHED TAIL;Lo;0;L;;;;;N;;;;; +1BC7A;DUPLOYAN AFFIX ATTACHED E HOOK;Lo;0;L;;;;;N;;;;; +1BC7B;DUPLOYAN AFFIX ATTACHED I HOOK;Lo;0;L;;;;;N;;;;; +1BC7C;DUPLOYAN AFFIX ATTACHED TANGENT HOOK;Lo;0;L;;;;;N;;;;; +1BC80;DUPLOYAN AFFIX HIGH ACUTE;Lo;0;L;;;;;N;;;;; +1BC81;DUPLOYAN AFFIX HIGH TIGHT ACUTE;Lo;0;L;;;;;N;;;;; +1BC82;DUPLOYAN AFFIX HIGH GRAVE;Lo;0;L;;;;;N;;;;; +1BC83;DUPLOYAN AFFIX HIGH LONG GRAVE;Lo;0;L;;;;;N;;;;; +1BC84;DUPLOYAN AFFIX HIGH DOT;Lo;0;L;;;;;N;;;;; +1BC85;DUPLOYAN AFFIX HIGH CIRCLE;Lo;0;L;;;;;N;;;;; +1BC86;DUPLOYAN AFFIX HIGH LINE;Lo;0;L;;;;;N;;;;; +1BC87;DUPLOYAN AFFIX HIGH WAVE;Lo;0;L;;;;;N;;;;; +1BC88;DUPLOYAN AFFIX HIGH VERTICAL;Lo;0;L;;;;;N;;;;; +1BC90;DUPLOYAN AFFIX LOW ACUTE;Lo;0;L;;;;;N;;;;; +1BC91;DUPLOYAN AFFIX LOW TIGHT ACUTE;Lo;0;L;;;;;N;;;;; +1BC92;DUPLOYAN AFFIX LOW GRAVE;Lo;0;L;;;;;N;;;;; +1BC93;DUPLOYAN AFFIX LOW LONG GRAVE;Lo;0;L;;;;;N;;;;; +1BC94;DUPLOYAN AFFIX LOW DOT;Lo;0;L;;;;;N;;;;; +1BC95;DUPLOYAN AFFIX LOW CIRCLE;Lo;0;L;;;;;N;;;;; +1BC96;DUPLOYAN AFFIX LOW LINE;Lo;0;L;;;;;N;;;;; +1BC97;DUPLOYAN AFFIX LOW WAVE;Lo;0;L;;;;;N;;;;; +1BC98;DUPLOYAN AFFIX LOW VERTICAL;Lo;0;L;;;;;N;;;;; +1BC99;DUPLOYAN AFFIX LOW ARROW;Lo;0;L;;;;;N;;;;; +1BC9C;DUPLOYAN SIGN O WITH CROSS;So;0;L;;;;;N;;;;; +1BC9D;DUPLOYAN THICK LETTER SELECTOR;Mn;0;NSM;;;;;N;;;;; +1BC9E;DUPLOYAN DOUBLE MARK;Mn;1;NSM;;;;;N;;;;; +1BC9F;DUPLOYAN PUNCTUATION CHINOOK FULL STOP;Po;0;L;;;;;N;;;;; +1BCA0;SHORTHAND FORMAT LETTER OVERLAP;Cf;0;BN;;;;;N;;;;; +1BCA1;SHORTHAND FORMAT CONTINUING OVERLAP;Cf;0;BN;;;;;N;;;;; +1BCA2;SHORTHAND FORMAT DOWN STEP;Cf;0;BN;;;;;N;;;;; +1BCA3;SHORTHAND FORMAT UP STEP;Cf;0;BN;;;;;N;;;;; +1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;; +1D001;BYZANTINE MUSICAL SYMBOL DASEIA;So;0;L;;;;;N;;;;; +1D002;BYZANTINE MUSICAL SYMBOL PERISPOMENI;So;0;L;;;;;N;;;;; +1D003;BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON;So;0;L;;;;;N;;;;; +1D004;BYZANTINE MUSICAL SYMBOL OXEIA DIPLI;So;0;L;;;;;N;;;;; +1D005;BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON;So;0;L;;;;;N;;;;; +1D006;BYZANTINE MUSICAL SYMBOL VAREIA DIPLI;So;0;L;;;;;N;;;;; +1D007;BYZANTINE MUSICAL SYMBOL KATHISTI;So;0;L;;;;;N;;;;; +1D008;BYZANTINE MUSICAL SYMBOL SYRMATIKI;So;0;L;;;;;N;;;;; +1D009;BYZANTINE MUSICAL SYMBOL PARAKLITIKI;So;0;L;;;;;N;;;;; +1D00A;BYZANTINE MUSICAL SYMBOL YPOKRISIS;So;0;L;;;;;N;;;;; +1D00B;BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI;So;0;L;;;;;N;;;;; +1D00C;BYZANTINE MUSICAL SYMBOL KREMASTI;So;0;L;;;;;N;;;;; +1D00D;BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON;So;0;L;;;;;N;;;;; +1D00E;BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON;So;0;L;;;;;N;;;;; +1D00F;BYZANTINE MUSICAL SYMBOL TELEIA;So;0;L;;;;;N;;;;; +1D010;BYZANTINE MUSICAL SYMBOL KENTIMATA;So;0;L;;;;;N;;;;; +1D011;BYZANTINE MUSICAL SYMBOL APOSTROFOS;So;0;L;;;;;N;;;;; +1D012;BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI;So;0;L;;;;;N;;;;; +1D013;BYZANTINE MUSICAL SYMBOL SYNEVMA;So;0;L;;;;;N;;;;; +1D014;BYZANTINE MUSICAL SYMBOL THITA;So;0;L;;;;;N;;;;; +1D015;BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION;So;0;L;;;;;N;;;;; +1D016;BYZANTINE MUSICAL SYMBOL GORGON ARCHAION;So;0;L;;;;;N;;;;; +1D017;BYZANTINE MUSICAL SYMBOL PSILON;So;0;L;;;;;N;;;;; +1D018;BYZANTINE MUSICAL SYMBOL CHAMILON;So;0;L;;;;;N;;;;; +1D019;BYZANTINE MUSICAL SYMBOL VATHY;So;0;L;;;;;N;;;;; +1D01A;BYZANTINE MUSICAL SYMBOL ISON ARCHAION;So;0;L;;;;;N;;;;; +1D01B;BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION;So;0;L;;;;;N;;;;; +1D01C;BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION;So;0;L;;;;;N;;;;; +1D01D;BYZANTINE MUSICAL SYMBOL SAXIMATA;So;0;L;;;;;N;;;;; +1D01E;BYZANTINE MUSICAL SYMBOL PARICHON;So;0;L;;;;;N;;;;; +1D01F;BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA;So;0;L;;;;;N;;;;; +1D020;BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION;So;0;L;;;;;N;;;;; +1D021;BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION;So;0;L;;;;;N;;;;; +1D022;BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION;So;0;L;;;;;N;;;;; +1D023;BYZANTINE MUSICAL SYMBOL APOTHEMA;So;0;L;;;;;N;;;;; +1D024;BYZANTINE MUSICAL SYMBOL KLASMA;So;0;L;;;;;N;;;;; +1D025;BYZANTINE MUSICAL SYMBOL REVMA;So;0;L;;;;;N;;;;; +1D026;BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION;So;0;L;;;;;N;;;;; +1D027;BYZANTINE MUSICAL SYMBOL TINAGMA;So;0;L;;;;;N;;;;; +1D028;BYZANTINE MUSICAL SYMBOL ANATRICHISMA;So;0;L;;;;;N;;;;; +1D029;BYZANTINE MUSICAL SYMBOL SEISMA;So;0;L;;;;;N;;;;; +1D02A;BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION;So;0;L;;;;;N;;;;; +1D02B;BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU;So;0;L;;;;;N;;;;; +1D02C;BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION;So;0;L;;;;;N;;;;; +1D02D;BYZANTINE MUSICAL SYMBOL THEMA;So;0;L;;;;;N;;;;; +1D02E;BYZANTINE MUSICAL SYMBOL LEMOI;So;0;L;;;;;N;;;;; +1D02F;BYZANTINE MUSICAL SYMBOL DYO;So;0;L;;;;;N;;;;; +1D030;BYZANTINE MUSICAL SYMBOL TRIA;So;0;L;;;;;N;;;;; +1D031;BYZANTINE MUSICAL SYMBOL TESSERA;So;0;L;;;;;N;;;;; +1D032;BYZANTINE MUSICAL SYMBOL KRATIMATA;So;0;L;;;;;N;;;;; +1D033;BYZANTINE MUSICAL SYMBOL APESO EXO NEO;So;0;L;;;;;N;;;;; +1D034;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION;So;0;L;;;;;N;;;;; +1D035;BYZANTINE MUSICAL SYMBOL IMIFTHORA;So;0;L;;;;;N;;;;; +1D036;BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION;So;0;L;;;;;N;;;;; +1D037;BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON;So;0;L;;;;;N;;;;; +1D038;BYZANTINE MUSICAL SYMBOL PELASTON;So;0;L;;;;;N;;;;; +1D039;BYZANTINE MUSICAL SYMBOL PSIFISTON;So;0;L;;;;;N;;;;; +1D03A;BYZANTINE MUSICAL SYMBOL KONTEVMA;So;0;L;;;;;N;;;;; +1D03B;BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION;So;0;L;;;;;N;;;;; +1D03C;BYZANTINE MUSICAL SYMBOL RAPISMA;So;0;L;;;;;N;;;;; +1D03D;BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION;So;0;L;;;;;N;;;;; +1D03E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION;So;0;L;;;;;N;;;;; +1D03F;BYZANTINE MUSICAL SYMBOL ICHADIN;So;0;L;;;;;N;;;;; +1D040;BYZANTINE MUSICAL SYMBOL NANA;So;0;L;;;;;N;;;;; +1D041;BYZANTINE MUSICAL SYMBOL PETASMA;So;0;L;;;;;N;;;;; +1D042;BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO;So;0;L;;;;;N;;;;; +1D043;BYZANTINE MUSICAL SYMBOL TROMIKON ALLO;So;0;L;;;;;N;;;;; +1D044;BYZANTINE MUSICAL SYMBOL STRAGGISMATA;So;0;L;;;;;N;;;;; +1D045;BYZANTINE MUSICAL SYMBOL GRONTHISMATA;So;0;L;;;;;N;;;;; +1D046;BYZANTINE MUSICAL SYMBOL ISON NEO;So;0;L;;;;;N;;;;; +1D047;BYZANTINE MUSICAL SYMBOL OLIGON NEO;So;0;L;;;;;N;;;;; +1D048;BYZANTINE MUSICAL SYMBOL OXEIA NEO;So;0;L;;;;;N;;;;; +1D049;BYZANTINE MUSICAL SYMBOL PETASTI;So;0;L;;;;;N;;;;; +1D04A;BYZANTINE MUSICAL SYMBOL KOUFISMA;So;0;L;;;;;N;;;;; +1D04B;BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA;So;0;L;;;;;N;;;;; +1D04C;BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA;So;0;L;;;;;N;;;;; +1D04D;BYZANTINE MUSICAL SYMBOL PELASTON NEO;So;0;L;;;;;N;;;;; +1D04E;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO;So;0;L;;;;;N;;;;; +1D04F;BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO;So;0;L;;;;;N;;;;; +1D050;BYZANTINE MUSICAL SYMBOL YPSILI;So;0;L;;;;;N;;;;; +1D051;BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO;So;0;L;;;;;N;;;;; +1D052;BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO;So;0;L;;;;;N;;;;; +1D053;BYZANTINE MUSICAL SYMBOL YPORROI;So;0;L;;;;;N;;;;; +1D054;BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON;So;0;L;;;;;N;;;;; +1D055;BYZANTINE MUSICAL SYMBOL ELAFRON;So;0;L;;;;;N;;;;; +1D056;BYZANTINE MUSICAL SYMBOL CHAMILI;So;0;L;;;;;N;;;;; +1D057;BYZANTINE MUSICAL SYMBOL MIKRON ISON;So;0;L;;;;;N;;;;; +1D058;BYZANTINE MUSICAL SYMBOL VAREIA NEO;So;0;L;;;;;N;;;;; +1D059;BYZANTINE MUSICAL SYMBOL PIASMA NEO;So;0;L;;;;;N;;;;; +1D05A;BYZANTINE MUSICAL SYMBOL PSIFISTON NEO;So;0;L;;;;;N;;;;; +1D05B;BYZANTINE MUSICAL SYMBOL OMALON;So;0;L;;;;;N;;;;; +1D05C;BYZANTINE MUSICAL SYMBOL ANTIKENOMA;So;0;L;;;;;N;;;;; +1D05D;BYZANTINE MUSICAL SYMBOL LYGISMA;So;0;L;;;;;N;;;;; +1D05E;BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO;So;0;L;;;;;N;;;;; +1D05F;BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO;So;0;L;;;;;N;;;;; +1D060;BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA;So;0;L;;;;;N;;;;; +1D061;BYZANTINE MUSICAL SYMBOL KYLISMA;So;0;L;;;;;N;;;;; +1D062;BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA;So;0;L;;;;;N;;;;; +1D063;BYZANTINE MUSICAL SYMBOL TROMIKON NEO;So;0;L;;;;;N;;;;; +1D064;BYZANTINE MUSICAL SYMBOL EKSTREPTON;So;0;L;;;;;N;;;;; +1D065;BYZANTINE MUSICAL SYMBOL SYNAGMA NEO;So;0;L;;;;;N;;;;; +1D066;BYZANTINE MUSICAL SYMBOL SYRMA;So;0;L;;;;;N;;;;; +1D067;BYZANTINE MUSICAL SYMBOL CHOREVMA NEO;So;0;L;;;;;N;;;;; +1D068;BYZANTINE MUSICAL SYMBOL EPEGERMA;So;0;L;;;;;N;;;;; +1D069;BYZANTINE MUSICAL SYMBOL SEISMA NEO;So;0;L;;;;;N;;;;; +1D06A;BYZANTINE MUSICAL SYMBOL XIRON KLASMA;So;0;L;;;;;N;;;;; +1D06B;BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON;So;0;L;;;;;N;;;;; +1D06C;BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA;So;0;L;;;;;N;;;;; +1D06D;BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA;So;0;L;;;;;N;;;;; +1D06E;BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA;So;0;L;;;;;N;;;;; +1D06F;BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA;So;0;L;;;;;N;;;;; +1D070;BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA;So;0;L;;;;;N;;;;; +1D071;BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA;So;0;L;;;;;N;;;;; +1D072;BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON;So;0;L;;;;;N;;;;; +1D073;BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON;So;0;L;;;;;N;;;;; +1D074;BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON;So;0;L;;;;;N;;;;; +1D075;BYZANTINE MUSICAL SYMBOL OYRANISMA NEO;So;0;L;;;;;N;;;;; +1D076;BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO;So;0;L;;;;;N;;;;; +1D077;BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO;So;0;L;;;;;N;;;;; +1D078;BYZANTINE MUSICAL SYMBOL THEMA APLOUN;So;0;L;;;;;N;;;;; +1D079;BYZANTINE MUSICAL SYMBOL THES KAI APOTHES;So;0;L;;;;;N;;;;; +1D07A;BYZANTINE MUSICAL SYMBOL KATAVASMA;So;0;L;;;;;N;;;;; +1D07B;BYZANTINE MUSICAL SYMBOL ENDOFONON;So;0;L;;;;;N;;;;; +1D07C;BYZANTINE MUSICAL SYMBOL YFEN KATO;So;0;L;;;;;N;;;;; +1D07D;BYZANTINE MUSICAL SYMBOL YFEN ANO;So;0;L;;;;;N;;;;; +1D07E;BYZANTINE MUSICAL SYMBOL STAVROS;So;0;L;;;;;N;;;;; +1D07F;BYZANTINE MUSICAL SYMBOL KLASMA ANO;So;0;L;;;;;N;;;;; +1D080;BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION;So;0;L;;;;;N;;;;; +1D081;BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION;So;0;L;;;;;N;;;;; +1D082;BYZANTINE MUSICAL SYMBOL KRATIMA ALLO;So;0;L;;;;;N;;;;; +1D083;BYZANTINE MUSICAL SYMBOL KRATIMA NEO;So;0;L;;;;;N;;;;; +1D084;BYZANTINE MUSICAL SYMBOL APODERMA NEO;So;0;L;;;;;N;;;;; +1D085;BYZANTINE MUSICAL SYMBOL APLI;So;0;L;;;;;N;;;;; +1D086;BYZANTINE MUSICAL SYMBOL DIPLI;So;0;L;;;;;N;;;;; +1D087;BYZANTINE MUSICAL SYMBOL TRIPLI;So;0;L;;;;;N;;;;; +1D088;BYZANTINE MUSICAL SYMBOL TETRAPLI;So;0;L;;;;;N;;;;; +1D089;BYZANTINE MUSICAL SYMBOL KORONIS;So;0;L;;;;;N;;;;; +1D08A;BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU;So;0;L;;;;;N;;;;; +1D08B;BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON;So;0;L;;;;;N;;;;; +1D08C;BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON;So;0;L;;;;;N;;;;; +1D08D;BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON;So;0;L;;;;;N;;;;; +1D08E;BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU;So;0;L;;;;;N;;;;; +1D08F;BYZANTINE MUSICAL SYMBOL GORGON NEO ANO;So;0;L;;;;;N;;;;; +1D090;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA;So;0;L;;;;;N;;;;; +1D091;BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; +1D092;BYZANTINE MUSICAL SYMBOL DIGORGON;So;0;L;;;;;N;;;;; +1D093;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO;So;0;L;;;;;N;;;;; +1D094;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO;So;0;L;;;;;N;;;;; +1D095;BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA;So;0;L;;;;;N;;;;; +1D096;BYZANTINE MUSICAL SYMBOL TRIGORGON;So;0;L;;;;;N;;;;; +1D097;BYZANTINE MUSICAL SYMBOL ARGON;So;0;L;;;;;N;;;;; +1D098;BYZANTINE MUSICAL SYMBOL IMIDIARGON;So;0;L;;;;;N;;;;; +1D099;BYZANTINE MUSICAL SYMBOL DIARGON;So;0;L;;;;;N;;;;; +1D09A;BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI;So;0;L;;;;;N;;;;; +1D09B;BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI;So;0;L;;;;;N;;;;; +1D09C;BYZANTINE MUSICAL SYMBOL AGOGI ARGI;So;0;L;;;;;N;;;;; +1D09D;BYZANTINE MUSICAL SYMBOL AGOGI METRIA;So;0;L;;;;;N;;;;; +1D09E;BYZANTINE MUSICAL SYMBOL AGOGI MESI;So;0;L;;;;;N;;;;; +1D09F;BYZANTINE MUSICAL SYMBOL AGOGI GORGI;So;0;L;;;;;N;;;;; +1D0A0;BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI;So;0;L;;;;;N;;;;; +1D0A1;BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI;So;0;L;;;;;N;;;;; +1D0A2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A3;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A4;BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS;So;0;L;;;;;N;;;;; +1D0A5;BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS;So;0;L;;;;;N;;;;; +1D0A6;BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS;So;0;L;;;;;N;;;;; +1D0A7;BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS;So;0;L;;;;;N;;;;; +1D0A8;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS;So;0;L;;;;;N;;;;; +1D0A9;BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS;So;0;L;;;;;N;;;;; +1D0AA;BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS;So;0;L;;;;;N;;;;; +1D0AB;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS;So;0;L;;;;;N;;;;; +1D0AC;BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; +1D0AD;BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS;So;0;L;;;;;N;;;;; +1D0AE;BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS;So;0;L;;;;;N;;;;; +1D0AF;BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS;So;0;L;;;;;N;;;;; +1D0B0;BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS;So;0;L;;;;;N;;;;; +1D0B1;BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS;So;0;L;;;;;N;;;;; +1D0B2;BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS;So;0;L;;;;;N;;;;; +1D0B3;BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS;So;0;L;;;;;N;;;;; +1D0B4;BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN;So;0;L;;;;;N;;;;; +1D0B5;BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN;So;0;L;;;;;N;;;;; +1D0B6;BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU;So;0;L;;;;;N;;;;; +1D0B7;BYZANTINE MUSICAL SYMBOL IMIFONON;So;0;L;;;;;N;;;;; +1D0B8;BYZANTINE MUSICAL SYMBOL IMIFTHORON;So;0;L;;;;;N;;;;; +1D0B9;BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU;So;0;L;;;;;N;;;;; +1D0BA;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA;So;0;L;;;;;N;;;;; +1D0BB;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA;So;0;L;;;;;N;;;;; +1D0BC;BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS;So;0;L;;;;;N;;;;; +1D0BD;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI;So;0;L;;;;;N;;;;; +1D0BE;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI;So;0;L;;;;;N;;;;; +1D0BF;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE;So;0;L;;;;;N;;;;; +1D0C0;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO;So;0;L;;;;;N;;;;; +1D0C1;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO;So;0;L;;;;;N;;;;; +1D0C2;BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO;So;0;L;;;;;N;;;;; +1D0C3;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS;So;0;L;;;;;N;;;;; +1D0C4;BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS;So;0;L;;;;;N;;;;; +1D0C5;BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS;So;0;L;;;;;N;;;;; +1D0C6;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI;So;0;L;;;;;N;;;;; +1D0C7;BYZANTINE MUSICAL SYMBOL FTHORA NENANO;So;0;L;;;;;N;;;;; +1D0C8;BYZANTINE MUSICAL SYMBOL CHROA ZYGOS;So;0;L;;;;;N;;;;; +1D0C9;BYZANTINE MUSICAL SYMBOL CHROA KLITON;So;0;L;;;;;N;;;;; +1D0CA;BYZANTINE MUSICAL SYMBOL CHROA SPATHI;So;0;L;;;;;N;;;;; +1D0CB;BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION;So;0;L;;;;;N;;;;; +1D0CC;BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA;So;0;L;;;;;N;;;;; +1D0CD;BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION;So;0;L;;;;;N;;;;; +1D0CE;BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION;So;0;L;;;;;N;;;;; +1D0CF;BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION;So;0;L;;;;;N;;;;; +1D0D0;BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; +1D0D1;BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; +1D0D2;BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; +1D0D3;BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; +1D0D4;BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA;So;0;L;;;;;N;;;;; +1D0D5;BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA;So;0;L;;;;;N;;;;; +1D0D6;BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA;So;0;L;;;;;N;;;;; +1D0D7;BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA;So;0;L;;;;;N;;;;; +1D0D8;BYZANTINE MUSICAL SYMBOL GENIKI DIESIS;So;0;L;;;;;N;;;;; +1D0D9;BYZANTINE MUSICAL SYMBOL GENIKI YFESIS;So;0;L;;;;;N;;;;; +1D0DA;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI;So;0;L;;;;;N;;;;; +1D0DB;BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI;So;0;L;;;;;N;;;;; +1D0DC;BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI;So;0;L;;;;;N;;;;; +1D0DD;BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS;So;0;L;;;;;N;;;;; +1D0DE;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS;So;0;L;;;;;N;;;;; +1D0DF;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU;So;0;L;;;;;N;;;;; +1D0E0;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU;So;0;L;;;;;N;;;;; +1D0E1;BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU;So;0;L;;;;;N;;;;; +1D0E2;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS;So;0;L;;;;;N;;;;; +1D0E3;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU;So;0;L;;;;;N;;;;; +1D0E4;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU;So;0;L;;;;;N;;;;; +1D0E5;BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU;So;0;L;;;;;N;;;;; +1D0E6;BYZANTINE MUSICAL SYMBOL DIGRAMMA GG;So;0;L;;;;;N;;;;; +1D0E7;BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU;So;0;L;;;;;N;;;;; +1D0E8;BYZANTINE MUSICAL SYMBOL STIGMA;So;0;L;;;;;N;;;;; +1D0E9;BYZANTINE MUSICAL SYMBOL ARKTIKO PA;So;0;L;;;;;N;;;;; +1D0EA;BYZANTINE MUSICAL SYMBOL ARKTIKO VOU;So;0;L;;;;;N;;;;; +1D0EB;BYZANTINE MUSICAL SYMBOL ARKTIKO GA;So;0;L;;;;;N;;;;; +1D0EC;BYZANTINE MUSICAL SYMBOL ARKTIKO DI;So;0;L;;;;;N;;;;; +1D0ED;BYZANTINE MUSICAL SYMBOL ARKTIKO KE;So;0;L;;;;;N;;;;; +1D0EE;BYZANTINE MUSICAL SYMBOL ARKTIKO ZO;So;0;L;;;;;N;;;;; +1D0EF;BYZANTINE MUSICAL SYMBOL ARKTIKO NI;So;0;L;;;;;N;;;;; +1D0F0;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO;So;0;L;;;;;N;;;;; +1D0F1;BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO;So;0;L;;;;;N;;;;; +1D0F2;BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO;So;0;L;;;;;N;;;;; +1D0F3;BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO;So;0;L;;;;;N;;;;; +1D0F4;BYZANTINE MUSICAL SYMBOL KLASMA KATO;So;0;L;;;;;N;;;;; +1D0F5;BYZANTINE MUSICAL SYMBOL GORGON NEO KATO;So;0;L;;;;;N;;;;; +1D100;MUSICAL SYMBOL SINGLE BARLINE;So;0;L;;;;;N;;;;; +1D101;MUSICAL SYMBOL DOUBLE BARLINE;So;0;L;;;;;N;;;;; +1D102;MUSICAL SYMBOL FINAL BARLINE;So;0;L;;;;;N;;;;; +1D103;MUSICAL SYMBOL REVERSE FINAL BARLINE;So;0;L;;;;;N;;;;; +1D104;MUSICAL SYMBOL DASHED BARLINE;So;0;L;;;;;N;;;;; +1D105;MUSICAL SYMBOL SHORT BARLINE;So;0;L;;;;;N;;;;; +1D106;MUSICAL SYMBOL LEFT REPEAT SIGN;So;0;L;;;;;N;;;;; +1D107;MUSICAL SYMBOL RIGHT REPEAT SIGN;So;0;L;;;;;N;;;;; +1D108;MUSICAL SYMBOL REPEAT DOTS;So;0;L;;;;;N;;;;; +1D109;MUSICAL SYMBOL DAL SEGNO;So;0;L;;;;;N;;;;; +1D10A;MUSICAL SYMBOL DA CAPO;So;0;L;;;;;N;;;;; +1D10B;MUSICAL SYMBOL SEGNO;So;0;L;;;;;N;;;;; +1D10C;MUSICAL SYMBOL CODA;So;0;L;;;;;N;;;;; +1D10D;MUSICAL SYMBOL REPEATED FIGURE-1;So;0;L;;;;;N;;;;; +1D10E;MUSICAL SYMBOL REPEATED FIGURE-2;So;0;L;;;;;N;;;;; +1D10F;MUSICAL SYMBOL REPEATED FIGURE-3;So;0;L;;;;;N;;;;; +1D110;MUSICAL SYMBOL FERMATA;So;0;L;;;;;N;;;;; +1D111;MUSICAL SYMBOL FERMATA BELOW;So;0;L;;;;;N;;;;; +1D112;MUSICAL SYMBOL BREATH MARK;So;0;L;;;;;N;;;;; +1D113;MUSICAL SYMBOL CAESURA;So;0;L;;;;;N;;;;; +1D114;MUSICAL SYMBOL BRACE;So;0;L;;;;;N;;;;; +1D115;MUSICAL SYMBOL BRACKET;So;0;L;;;;;N;;;;; +1D116;MUSICAL SYMBOL ONE-LINE STAFF;So;0;L;;;;;N;;;;; +1D117;MUSICAL SYMBOL TWO-LINE STAFF;So;0;L;;;;;N;;;;; +1D118;MUSICAL SYMBOL THREE-LINE STAFF;So;0;L;;;;;N;;;;; +1D119;MUSICAL SYMBOL FOUR-LINE STAFF;So;0;L;;;;;N;;;;; +1D11A;MUSICAL SYMBOL FIVE-LINE STAFF;So;0;L;;;;;N;;;;; +1D11B;MUSICAL SYMBOL SIX-LINE STAFF;So;0;L;;;;;N;;;;; +1D11C;MUSICAL SYMBOL SIX-STRING FRETBOARD;So;0;L;;;;;N;;;;; +1D11D;MUSICAL SYMBOL FOUR-STRING FRETBOARD;So;0;L;;;;;N;;;;; +1D11E;MUSICAL SYMBOL G CLEF;So;0;L;;;;;N;;;;; +1D11F;MUSICAL SYMBOL G CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D120;MUSICAL SYMBOL G CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D121;MUSICAL SYMBOL C CLEF;So;0;L;;;;;N;;;;; +1D122;MUSICAL SYMBOL F CLEF;So;0;L;;;;;N;;;;; +1D123;MUSICAL SYMBOL F CLEF OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D124;MUSICAL SYMBOL F CLEF OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D125;MUSICAL SYMBOL DRUM CLEF-1;So;0;L;;;;;N;;;;; +1D126;MUSICAL SYMBOL DRUM CLEF-2;So;0;L;;;;;N;;;;; +1D129;MUSICAL SYMBOL MULTIPLE MEASURE REST;So;0;L;;;;;N;;;;; +1D12A;MUSICAL SYMBOL DOUBLE SHARP;So;0;L;;;;;N;;;;; +1D12B;MUSICAL SYMBOL DOUBLE FLAT;So;0;L;;;;;N;;;;; +1D12C;MUSICAL SYMBOL FLAT UP;So;0;L;;;;;N;;;;; +1D12D;MUSICAL SYMBOL FLAT DOWN;So;0;L;;;;;N;;;;; +1D12E;MUSICAL SYMBOL NATURAL UP;So;0;L;;;;;N;;;;; +1D12F;MUSICAL SYMBOL NATURAL DOWN;So;0;L;;;;;N;;;;; +1D130;MUSICAL SYMBOL SHARP UP;So;0;L;;;;;N;;;;; +1D131;MUSICAL SYMBOL SHARP DOWN;So;0;L;;;;;N;;;;; +1D132;MUSICAL SYMBOL QUARTER TONE SHARP;So;0;L;;;;;N;;;;; +1D133;MUSICAL SYMBOL QUARTER TONE FLAT;So;0;L;;;;;N;;;;; +1D134;MUSICAL SYMBOL COMMON TIME;So;0;L;;;;;N;;;;; +1D135;MUSICAL SYMBOL CUT TIME;So;0;L;;;;;N;;;;; +1D136;MUSICAL SYMBOL OTTAVA ALTA;So;0;L;;;;;N;;;;; +1D137;MUSICAL SYMBOL OTTAVA BASSA;So;0;L;;;;;N;;;;; +1D138;MUSICAL SYMBOL QUINDICESIMA ALTA;So;0;L;;;;;N;;;;; +1D139;MUSICAL SYMBOL QUINDICESIMA BASSA;So;0;L;;;;;N;;;;; +1D13A;MUSICAL SYMBOL MULTI REST;So;0;L;;;;;N;;;;; +1D13B;MUSICAL SYMBOL WHOLE REST;So;0;L;;;;;N;;;;; +1D13C;MUSICAL SYMBOL HALF REST;So;0;L;;;;;N;;;;; +1D13D;MUSICAL SYMBOL QUARTER REST;So;0;L;;;;;N;;;;; +1D13E;MUSICAL SYMBOL EIGHTH REST;So;0;L;;;;;N;;;;; +1D13F;MUSICAL SYMBOL SIXTEENTH REST;So;0;L;;;;;N;;;;; +1D140;MUSICAL SYMBOL THIRTY-SECOND REST;So;0;L;;;;;N;;;;; +1D141;MUSICAL SYMBOL SIXTY-FOURTH REST;So;0;L;;;;;N;;;;; +1D142;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST;So;0;L;;;;;N;;;;; +1D143;MUSICAL SYMBOL X NOTEHEAD;So;0;L;;;;;N;;;;; +1D144;MUSICAL SYMBOL PLUS NOTEHEAD;So;0;L;;;;;N;;;;; +1D145;MUSICAL SYMBOL CIRCLE X NOTEHEAD;So;0;L;;;;;N;;;;; +1D146;MUSICAL SYMBOL SQUARE NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D147;MUSICAL SYMBOL SQUARE NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D148;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE;So;0;L;;;;;N;;;;; +1D149;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK;So;0;L;;;;;N;;;;; +1D14A;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE;So;0;L;;;;;N;;;;; +1D14B;MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK;So;0;L;;;;;N;;;;; +1D14C;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE;So;0;L;;;;;N;;;;; +1D14D;MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK;So;0;L;;;;;N;;;;; +1D14E;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; +1D14F;MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; +1D150;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE;So;0;L;;;;;N;;;;; +1D151;MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK;So;0;L;;;;;N;;;;; +1D152;MUSICAL SYMBOL MOON NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D153;MUSICAL SYMBOL MOON NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D154;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE;So;0;L;;;;;N;;;;; +1D155;MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK;So;0;L;;;;;N;;;;; +1D156;MUSICAL SYMBOL PARENTHESIS NOTEHEAD;So;0;L;;;;;N;;;;; +1D157;MUSICAL SYMBOL VOID NOTEHEAD;So;0;L;;;;;N;;;;; +1D158;MUSICAL SYMBOL NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D159;MUSICAL SYMBOL NULL NOTEHEAD;So;0;L;;;;;N;;;;; +1D15A;MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE;So;0;L;;;;;N;;;;; +1D15B;MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK;So;0;L;;;;;N;;;;; +1D15C;MUSICAL SYMBOL BREVE;So;0;L;;;;;N;;;;; +1D15D;MUSICAL SYMBOL WHOLE NOTE;So;0;L;;;;;N;;;;; +1D15E;MUSICAL SYMBOL HALF NOTE;So;0;L;1D157 1D165;;;;N;;;;; +1D15F;MUSICAL SYMBOL QUARTER NOTE;So;0;L;1D158 1D165;;;;N;;;;; +1D160;MUSICAL SYMBOL EIGHTH NOTE;So;0;L;1D15F 1D16E;;;;N;;;;; +1D161;MUSICAL SYMBOL SIXTEENTH NOTE;So;0;L;1D15F 1D16F;;;;N;;;;; +1D162;MUSICAL SYMBOL THIRTY-SECOND NOTE;So;0;L;1D15F 1D170;;;;N;;;;; +1D163;MUSICAL SYMBOL SIXTY-FOURTH NOTE;So;0;L;1D15F 1D171;;;;N;;;;; +1D164;MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE;So;0;L;1D15F 1D172;;;;N;;;;; +1D165;MUSICAL SYMBOL COMBINING STEM;Mc;216;L;;;;;N;;;;; +1D166;MUSICAL SYMBOL COMBINING SPRECHGESANG STEM;Mc;216;L;;;;;N;;;;; +1D167;MUSICAL SYMBOL COMBINING TREMOLO-1;Mn;1;NSM;;;;;N;;;;; +1D168;MUSICAL SYMBOL COMBINING TREMOLO-2;Mn;1;NSM;;;;;N;;;;; +1D169;MUSICAL SYMBOL COMBINING TREMOLO-3;Mn;1;NSM;;;;;N;;;;; +1D16A;MUSICAL SYMBOL FINGERED TREMOLO-1;So;0;L;;;;;N;;;;; +1D16B;MUSICAL SYMBOL FINGERED TREMOLO-2;So;0;L;;;;;N;;;;; +1D16C;MUSICAL SYMBOL FINGERED TREMOLO-3;So;0;L;;;;;N;;;;; +1D16D;MUSICAL SYMBOL COMBINING AUGMENTATION DOT;Mc;226;L;;;;;N;;;;; +1D16E;MUSICAL SYMBOL COMBINING FLAG-1;Mc;216;L;;;;;N;;;;; +1D16F;MUSICAL SYMBOL COMBINING FLAG-2;Mc;216;L;;;;;N;;;;; +1D170;MUSICAL SYMBOL COMBINING FLAG-3;Mc;216;L;;;;;N;;;;; +1D171;MUSICAL SYMBOL COMBINING FLAG-4;Mc;216;L;;;;;N;;;;; +1D172;MUSICAL SYMBOL COMBINING FLAG-5;Mc;216;L;;;;;N;;;;; +1D173;MUSICAL SYMBOL BEGIN BEAM;Cf;0;BN;;;;;N;;;;; +1D174;MUSICAL SYMBOL END BEAM;Cf;0;BN;;;;;N;;;;; +1D175;MUSICAL SYMBOL BEGIN TIE;Cf;0;BN;;;;;N;;;;; +1D176;MUSICAL SYMBOL END TIE;Cf;0;BN;;;;;N;;;;; +1D177;MUSICAL SYMBOL BEGIN SLUR;Cf;0;BN;;;;;N;;;;; +1D178;MUSICAL SYMBOL END SLUR;Cf;0;BN;;;;;N;;;;; +1D179;MUSICAL SYMBOL BEGIN PHRASE;Cf;0;BN;;;;;N;;;;; +1D17A;MUSICAL SYMBOL END PHRASE;Cf;0;BN;;;;;N;;;;; +1D17B;MUSICAL SYMBOL COMBINING ACCENT;Mn;220;NSM;;;;;N;;;;; +1D17C;MUSICAL SYMBOL COMBINING STACCATO;Mn;220;NSM;;;;;N;;;;; +1D17D;MUSICAL SYMBOL COMBINING TENUTO;Mn;220;NSM;;;;;N;;;;; +1D17E;MUSICAL SYMBOL COMBINING STACCATISSIMO;Mn;220;NSM;;;;;N;;;;; +1D17F;MUSICAL SYMBOL COMBINING MARCATO;Mn;220;NSM;;;;;N;;;;; +1D180;MUSICAL SYMBOL COMBINING MARCATO-STACCATO;Mn;220;NSM;;;;;N;;;;; +1D181;MUSICAL SYMBOL COMBINING ACCENT-STACCATO;Mn;220;NSM;;;;;N;;;;; +1D182;MUSICAL SYMBOL COMBINING LOURE;Mn;220;NSM;;;;;N;;;;; +1D183;MUSICAL SYMBOL ARPEGGIATO UP;So;0;L;;;;;N;;;;; +1D184;MUSICAL SYMBOL ARPEGGIATO DOWN;So;0;L;;;;;N;;;;; +1D185;MUSICAL SYMBOL COMBINING DOIT;Mn;230;NSM;;;;;N;;;;; +1D186;MUSICAL SYMBOL COMBINING RIP;Mn;230;NSM;;;;;N;;;;; +1D187;MUSICAL SYMBOL COMBINING FLIP;Mn;230;NSM;;;;;N;;;;; +1D188;MUSICAL SYMBOL COMBINING SMEAR;Mn;230;NSM;;;;;N;;;;; +1D189;MUSICAL SYMBOL COMBINING BEND;Mn;230;NSM;;;;;N;;;;; +1D18A;MUSICAL SYMBOL COMBINING DOUBLE TONGUE;Mn;220;NSM;;;;;N;;;;; +1D18B;MUSICAL SYMBOL COMBINING TRIPLE TONGUE;Mn;220;NSM;;;;;N;;;;; +1D18C;MUSICAL SYMBOL RINFORZANDO;So;0;L;;;;;N;;;;; +1D18D;MUSICAL SYMBOL SUBITO;So;0;L;;;;;N;;;;; +1D18E;MUSICAL SYMBOL Z;So;0;L;;;;;N;;;;; +1D18F;MUSICAL SYMBOL PIANO;So;0;L;;;;;N;;;;; +1D190;MUSICAL SYMBOL MEZZO;So;0;L;;;;;N;;;;; +1D191;MUSICAL SYMBOL FORTE;So;0;L;;;;;N;;;;; +1D192;MUSICAL SYMBOL CRESCENDO;So;0;L;;;;;N;;;;; +1D193;MUSICAL SYMBOL DECRESCENDO;So;0;L;;;;;N;;;;; +1D194;MUSICAL SYMBOL GRACE NOTE SLASH;So;0;L;;;;;N;;;;; +1D195;MUSICAL SYMBOL GRACE NOTE NO SLASH;So;0;L;;;;;N;;;;; +1D196;MUSICAL SYMBOL TR;So;0;L;;;;;N;;;;; +1D197;MUSICAL SYMBOL TURN;So;0;L;;;;;N;;;;; +1D198;MUSICAL SYMBOL INVERTED TURN;So;0;L;;;;;N;;;;; +1D199;MUSICAL SYMBOL TURN SLASH;So;0;L;;;;;N;;;;; +1D19A;MUSICAL SYMBOL TURN UP;So;0;L;;;;;N;;;;; +1D19B;MUSICAL SYMBOL ORNAMENT STROKE-1;So;0;L;;;;;N;;;;; +1D19C;MUSICAL SYMBOL ORNAMENT STROKE-2;So;0;L;;;;;N;;;;; +1D19D;MUSICAL SYMBOL ORNAMENT STROKE-3;So;0;L;;;;;N;;;;; +1D19E;MUSICAL SYMBOL ORNAMENT STROKE-4;So;0;L;;;;;N;;;;; +1D19F;MUSICAL SYMBOL ORNAMENT STROKE-5;So;0;L;;;;;N;;;;; +1D1A0;MUSICAL SYMBOL ORNAMENT STROKE-6;So;0;L;;;;;N;;;;; +1D1A1;MUSICAL SYMBOL ORNAMENT STROKE-7;So;0;L;;;;;N;;;;; +1D1A2;MUSICAL SYMBOL ORNAMENT STROKE-8;So;0;L;;;;;N;;;;; +1D1A3;MUSICAL SYMBOL ORNAMENT STROKE-9;So;0;L;;;;;N;;;;; +1D1A4;MUSICAL SYMBOL ORNAMENT STROKE-10;So;0;L;;;;;N;;;;; +1D1A5;MUSICAL SYMBOL ORNAMENT STROKE-11;So;0;L;;;;;N;;;;; +1D1A6;MUSICAL SYMBOL HAUPTSTIMME;So;0;L;;;;;N;;;;; +1D1A7;MUSICAL SYMBOL NEBENSTIMME;So;0;L;;;;;N;;;;; +1D1A8;MUSICAL SYMBOL END OF STIMME;So;0;L;;;;;N;;;;; +1D1A9;MUSICAL SYMBOL DEGREE SLASH;So;0;L;;;;;N;;;;; +1D1AA;MUSICAL SYMBOL COMBINING DOWN BOW;Mn;230;NSM;;;;;N;;;;; +1D1AB;MUSICAL SYMBOL COMBINING UP BOW;Mn;230;NSM;;;;;N;;;;; +1D1AC;MUSICAL SYMBOL COMBINING HARMONIC;Mn;230;NSM;;;;;N;;;;; +1D1AD;MUSICAL SYMBOL COMBINING SNAP PIZZICATO;Mn;230;NSM;;;;;N;;;;; +1D1AE;MUSICAL SYMBOL PEDAL MARK;So;0;L;;;;;N;;;;; +1D1AF;MUSICAL SYMBOL PEDAL UP MARK;So;0;L;;;;;N;;;;; +1D1B0;MUSICAL SYMBOL HALF PEDAL MARK;So;0;L;;;;;N;;;;; +1D1B1;MUSICAL SYMBOL GLISSANDO UP;So;0;L;;;;;N;;;;; +1D1B2;MUSICAL SYMBOL GLISSANDO DOWN;So;0;L;;;;;N;;;;; +1D1B3;MUSICAL SYMBOL WITH FINGERNAILS;So;0;L;;;;;N;;;;; +1D1B4;MUSICAL SYMBOL DAMP;So;0;L;;;;;N;;;;; +1D1B5;MUSICAL SYMBOL DAMP ALL;So;0;L;;;;;N;;;;; +1D1B6;MUSICAL SYMBOL MAXIMA;So;0;L;;;;;N;;;;; +1D1B7;MUSICAL SYMBOL LONGA;So;0;L;;;;;N;;;;; +1D1B8;MUSICAL SYMBOL BREVIS;So;0;L;;;;;N;;;;; +1D1B9;MUSICAL SYMBOL SEMIBREVIS WHITE;So;0;L;;;;;N;;;;; +1D1BA;MUSICAL SYMBOL SEMIBREVIS BLACK;So;0;L;;;;;N;;;;; +1D1BB;MUSICAL SYMBOL MINIMA;So;0;L;1D1B9 1D165;;;;N;;;;; +1D1BC;MUSICAL SYMBOL MINIMA BLACK;So;0;L;1D1BA 1D165;;;;N;;;;; +1D1BD;MUSICAL SYMBOL SEMIMINIMA WHITE;So;0;L;1D1BB 1D16E;;;;N;;;;; +1D1BE;MUSICAL SYMBOL SEMIMINIMA BLACK;So;0;L;1D1BC 1D16E;;;;N;;;;; +1D1BF;MUSICAL SYMBOL FUSA WHITE;So;0;L;1D1BB 1D16F;;;;N;;;;; +1D1C0;MUSICAL SYMBOL FUSA BLACK;So;0;L;1D1BC 1D16F;;;;N;;;;; +1D1C1;MUSICAL SYMBOL LONGA PERFECTA REST;So;0;L;;;;;N;;;;; +1D1C2;MUSICAL SYMBOL LONGA IMPERFECTA REST;So;0;L;;;;;N;;;;; +1D1C3;MUSICAL SYMBOL BREVIS REST;So;0;L;;;;;N;;;;; +1D1C4;MUSICAL SYMBOL SEMIBREVIS REST;So;0;L;;;;;N;;;;; +1D1C5;MUSICAL SYMBOL MINIMA REST;So;0;L;;;;;N;;;;; +1D1C6;MUSICAL SYMBOL SEMIMINIMA REST;So;0;L;;;;;N;;;;; +1D1C7;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; +1D1C8;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; +1D1C9;MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; +1D1CA;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA;So;0;L;;;;;N;;;;; +1D1CB;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA;So;0;L;;;;;N;;;;; +1D1CC;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1;So;0;L;;;;;N;;;;; +1D1CD;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2;So;0;L;;;;;N;;;;; +1D1CE;MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3;So;0;L;;;;;N;;;;; +1D1CF;MUSICAL SYMBOL CROIX;So;0;L;;;;;N;;;;; +1D1D0;MUSICAL SYMBOL GREGORIAN C CLEF;So;0;L;;;;;N;;;;; +1D1D1;MUSICAL SYMBOL GREGORIAN F CLEF;So;0;L;;;;;N;;;;; +1D1D2;MUSICAL SYMBOL SQUARE B;So;0;L;;;;;N;;;;; +1D1D3;MUSICAL SYMBOL VIRGA;So;0;L;;;;;N;;;;; +1D1D4;MUSICAL SYMBOL PODATUS;So;0;L;;;;;N;;;;; +1D1D5;MUSICAL SYMBOL CLIVIS;So;0;L;;;;;N;;;;; +1D1D6;MUSICAL SYMBOL SCANDICUS;So;0;L;;;;;N;;;;; +1D1D7;MUSICAL SYMBOL CLIMACUS;So;0;L;;;;;N;;;;; +1D1D8;MUSICAL SYMBOL TORCULUS;So;0;L;;;;;N;;;;; +1D1D9;MUSICAL SYMBOL PORRECTUS;So;0;L;;;;;N;;;;; +1D1DA;MUSICAL SYMBOL PORRECTUS FLEXUS;So;0;L;;;;;N;;;;; +1D1DB;MUSICAL SYMBOL SCANDICUS FLEXUS;So;0;L;;;;;N;;;;; +1D1DC;MUSICAL SYMBOL TORCULUS RESUPINUS;So;0;L;;;;;N;;;;; +1D1DD;MUSICAL SYMBOL PES SUBPUNCTIS;So;0;L;;;;;N;;;;; +1D1DE;MUSICAL SYMBOL KIEVAN C CLEF;So;0;L;;;;;N;;;;; +1D1DF;MUSICAL SYMBOL KIEVAN END OF PIECE;So;0;L;;;;;N;;;;; +1D1E0;MUSICAL SYMBOL KIEVAN FINAL NOTE;So;0;L;;;;;N;;;;; +1D1E1;MUSICAL SYMBOL KIEVAN RECITATIVE MARK;So;0;L;;;;;N;;;;; +1D1E2;MUSICAL SYMBOL KIEVAN WHOLE NOTE;So;0;L;;;;;N;;;;; +1D1E3;MUSICAL SYMBOL KIEVAN HALF NOTE;So;0;L;;;;;N;;;;; +1D1E4;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM DOWN;So;0;L;;;;;N;;;;; +1D1E5;MUSICAL SYMBOL KIEVAN QUARTER NOTE STEM UP;So;0;L;;;;;N;;;;; +1D1E6;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM DOWN;So;0;L;;;;;N;;;;; +1D1E7;MUSICAL SYMBOL KIEVAN EIGHTH NOTE STEM UP;So;0;L;;;;;N;;;;; +1D1E8;MUSICAL SYMBOL KIEVAN FLAT SIGN;So;0;L;;;;;N;;;;; +1D200;GREEK VOCAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; +1D201;GREEK VOCAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; +1D202;GREEK VOCAL NOTATION SYMBOL-3;So;0;ON;;;;;N;;;;; +1D203;GREEK VOCAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;; +1D204;GREEK VOCAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;; +1D205;GREEK VOCAL NOTATION SYMBOL-6;So;0;ON;;;;;N;;;;; +1D206;GREEK VOCAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;; +1D207;GREEK VOCAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;; +1D208;GREEK VOCAL NOTATION SYMBOL-9;So;0;ON;;;;;N;;;;; +1D209;GREEK VOCAL NOTATION SYMBOL-10;So;0;ON;;;;;N;;;;; +1D20A;GREEK VOCAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;; +1D20B;GREEK VOCAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;; +1D20C;GREEK VOCAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;; +1D20D;GREEK VOCAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;; +1D20E;GREEK VOCAL NOTATION SYMBOL-15;So;0;ON;;;;;N;;;;; +1D20F;GREEK VOCAL NOTATION SYMBOL-16;So;0;ON;;;;;N;;;;; +1D210;GREEK VOCAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;; +1D211;GREEK VOCAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;; +1D212;GREEK VOCAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;; +1D213;GREEK VOCAL NOTATION SYMBOL-20;So;0;ON;;;;;N;;;;; +1D214;GREEK VOCAL NOTATION SYMBOL-21;So;0;ON;;;;;N;;;;; +1D215;GREEK VOCAL NOTATION SYMBOL-22;So;0;ON;;;;;N;;;;; +1D216;GREEK VOCAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;; +1D217;GREEK VOCAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;; +1D218;GREEK VOCAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;; +1D219;GREEK VOCAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;; +1D21A;GREEK VOCAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;; +1D21B;GREEK VOCAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;; +1D21C;GREEK VOCAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;; +1D21D;GREEK INSTRUMENTAL NOTATION SYMBOL-1;So;0;ON;;;;;N;;;;; +1D21E;GREEK INSTRUMENTAL NOTATION SYMBOL-2;So;0;ON;;;;;N;;;;; +1D21F;GREEK INSTRUMENTAL NOTATION SYMBOL-4;So;0;ON;;;;;N;;;;; +1D220;GREEK INSTRUMENTAL NOTATION SYMBOL-5;So;0;ON;;;;;N;;;;; +1D221;GREEK INSTRUMENTAL NOTATION SYMBOL-7;So;0;ON;;;;;N;;;;; +1D222;GREEK INSTRUMENTAL NOTATION SYMBOL-8;So;0;ON;;;;;N;;;;; +1D223;GREEK INSTRUMENTAL NOTATION SYMBOL-11;So;0;ON;;;;;N;;;;; +1D224;GREEK INSTRUMENTAL NOTATION SYMBOL-12;So;0;ON;;;;;N;;;;; +1D225;GREEK INSTRUMENTAL NOTATION SYMBOL-13;So;0;ON;;;;;N;;;;; +1D226;GREEK INSTRUMENTAL NOTATION SYMBOL-14;So;0;ON;;;;;N;;;;; +1D227;GREEK INSTRUMENTAL NOTATION SYMBOL-17;So;0;ON;;;;;N;;;;; +1D228;GREEK INSTRUMENTAL NOTATION SYMBOL-18;So;0;ON;;;;;N;;;;; +1D229;GREEK INSTRUMENTAL NOTATION SYMBOL-19;So;0;ON;;;;;N;;;;; +1D22A;GREEK INSTRUMENTAL NOTATION SYMBOL-23;So;0;ON;;;;;N;;;;; +1D22B;GREEK INSTRUMENTAL NOTATION SYMBOL-24;So;0;ON;;;;;N;;;;; +1D22C;GREEK INSTRUMENTAL NOTATION SYMBOL-25;So;0;ON;;;;;N;;;;; +1D22D;GREEK INSTRUMENTAL NOTATION SYMBOL-26;So;0;ON;;;;;N;;;;; +1D22E;GREEK INSTRUMENTAL NOTATION SYMBOL-27;So;0;ON;;;;;N;;;;; +1D22F;GREEK INSTRUMENTAL NOTATION SYMBOL-29;So;0;ON;;;;;N;;;;; +1D230;GREEK INSTRUMENTAL NOTATION SYMBOL-30;So;0;ON;;;;;N;;;;; +1D231;GREEK INSTRUMENTAL NOTATION SYMBOL-32;So;0;ON;;;;;N;;;;; +1D232;GREEK INSTRUMENTAL NOTATION SYMBOL-36;So;0;ON;;;;;N;;;;; +1D233;GREEK INSTRUMENTAL NOTATION SYMBOL-37;So;0;ON;;;;;N;;;;; +1D234;GREEK INSTRUMENTAL NOTATION SYMBOL-38;So;0;ON;;;;;N;;;;; +1D235;GREEK INSTRUMENTAL NOTATION SYMBOL-39;So;0;ON;;;;;N;;;;; +1D236;GREEK INSTRUMENTAL NOTATION SYMBOL-40;So;0;ON;;;;;N;;;;; +1D237;GREEK INSTRUMENTAL NOTATION SYMBOL-42;So;0;ON;;;;;N;;;;; +1D238;GREEK INSTRUMENTAL NOTATION SYMBOL-43;So;0;ON;;;;;N;;;;; +1D239;GREEK INSTRUMENTAL NOTATION SYMBOL-45;So;0;ON;;;;;N;;;;; +1D23A;GREEK INSTRUMENTAL NOTATION SYMBOL-47;So;0;ON;;;;;N;;;;; +1D23B;GREEK INSTRUMENTAL NOTATION SYMBOL-48;So;0;ON;;;;;N;;;;; +1D23C;GREEK INSTRUMENTAL NOTATION SYMBOL-49;So;0;ON;;;;;N;;;;; +1D23D;GREEK INSTRUMENTAL NOTATION SYMBOL-50;So;0;ON;;;;;N;;;;; +1D23E;GREEK INSTRUMENTAL NOTATION SYMBOL-51;So;0;ON;;;;;N;;;;; +1D23F;GREEK INSTRUMENTAL NOTATION SYMBOL-52;So;0;ON;;;;;N;;;;; +1D240;GREEK INSTRUMENTAL NOTATION SYMBOL-53;So;0;ON;;;;;N;;;;; +1D241;GREEK INSTRUMENTAL NOTATION SYMBOL-54;So;0;ON;;;;;N;;;;; +1D242;COMBINING GREEK MUSICAL TRISEME;Mn;230;NSM;;;;;N;;;;; +1D243;COMBINING GREEK MUSICAL TETRASEME;Mn;230;NSM;;;;;N;;;;; +1D244;COMBINING GREEK MUSICAL PENTASEME;Mn;230;NSM;;;;;N;;;;; +1D245;GREEK MUSICAL LEIMMA;So;0;ON;;;;;N;;;;; +1D2E0;MAYAN NUMERAL ZERO;No;0;L;;;;0;N;;;;; +1D2E1;MAYAN NUMERAL ONE;No;0;L;;;;1;N;;;;; +1D2E2;MAYAN NUMERAL TWO;No;0;L;;;;2;N;;;;; +1D2E3;MAYAN NUMERAL THREE;No;0;L;;;;3;N;;;;; +1D2E4;MAYAN NUMERAL FOUR;No;0;L;;;;4;N;;;;; +1D2E5;MAYAN NUMERAL FIVE;No;0;L;;;;5;N;;;;; +1D2E6;MAYAN NUMERAL SIX;No;0;L;;;;6;N;;;;; +1D2E7;MAYAN NUMERAL SEVEN;No;0;L;;;;7;N;;;;; +1D2E8;MAYAN NUMERAL EIGHT;No;0;L;;;;8;N;;;;; +1D2E9;MAYAN NUMERAL NINE;No;0;L;;;;9;N;;;;; +1D2EA;MAYAN NUMERAL TEN;No;0;L;;;;10;N;;;;; +1D2EB;MAYAN NUMERAL ELEVEN;No;0;L;;;;11;N;;;;; +1D2EC;MAYAN NUMERAL TWELVE;No;0;L;;;;12;N;;;;; +1D2ED;MAYAN NUMERAL THIRTEEN;No;0;L;;;;13;N;;;;; +1D2EE;MAYAN NUMERAL FOURTEEN;No;0;L;;;;14;N;;;;; +1D2EF;MAYAN NUMERAL FIFTEEN;No;0;L;;;;15;N;;;;; +1D2F0;MAYAN NUMERAL SIXTEEN;No;0;L;;;;16;N;;;;; +1D2F1;MAYAN NUMERAL SEVENTEEN;No;0;L;;;;17;N;;;;; +1D2F2;MAYAN NUMERAL EIGHTEEN;No;0;L;;;;18;N;;;;; +1D2F3;MAYAN NUMERAL NINETEEN;No;0;L;;;;19;N;;;;; +1D300;MONOGRAM FOR EARTH;So;0;ON;;;;;N;;;;; +1D301;DIGRAM FOR HEAVENLY EARTH;So;0;ON;;;;;N;;;;; +1D302;DIGRAM FOR HUMAN EARTH;So;0;ON;;;;;N;;;;; +1D303;DIGRAM FOR EARTHLY HEAVEN;So;0;ON;;;;;N;;;;; +1D304;DIGRAM FOR EARTHLY HUMAN;So;0;ON;;;;;N;;;;; +1D305;DIGRAM FOR EARTH;So;0;ON;;;;;N;;;;; +1D306;TETRAGRAM FOR CENTRE;So;0;ON;;;;;N;;;;; +1D307;TETRAGRAM FOR FULL CIRCLE;So;0;ON;;;;;N;;;;; +1D308;TETRAGRAM FOR MIRED;So;0;ON;;;;;N;;;;; +1D309;TETRAGRAM FOR BARRIER;So;0;ON;;;;;N;;;;; +1D30A;TETRAGRAM FOR KEEPING SMALL;So;0;ON;;;;;N;;;;; +1D30B;TETRAGRAM FOR CONTRARIETY;So;0;ON;;;;;N;;;;; +1D30C;TETRAGRAM FOR ASCENT;So;0;ON;;;;;N;;;;; +1D30D;TETRAGRAM FOR OPPOSITION;So;0;ON;;;;;N;;;;; +1D30E;TETRAGRAM FOR BRANCHING OUT;So;0;ON;;;;;N;;;;; +1D30F;TETRAGRAM FOR DEFECTIVENESS OR DISTORTION;So;0;ON;;;;;N;;;;; +1D310;TETRAGRAM FOR DIVERGENCE;So;0;ON;;;;;N;;;;; +1D311;TETRAGRAM FOR YOUTHFULNESS;So;0;ON;;;;;N;;;;; +1D312;TETRAGRAM FOR INCREASE;So;0;ON;;;;;N;;;;; +1D313;TETRAGRAM FOR PENETRATION;So;0;ON;;;;;N;;;;; +1D314;TETRAGRAM FOR REACH;So;0;ON;;;;;N;;;;; +1D315;TETRAGRAM FOR CONTACT;So;0;ON;;;;;N;;;;; +1D316;TETRAGRAM FOR HOLDING BACK;So;0;ON;;;;;N;;;;; +1D317;TETRAGRAM FOR WAITING;So;0;ON;;;;;N;;;;; +1D318;TETRAGRAM FOR FOLLOWING;So;0;ON;;;;;N;;;;; +1D319;TETRAGRAM FOR ADVANCE;So;0;ON;;;;;N;;;;; +1D31A;TETRAGRAM FOR RELEASE;So;0;ON;;;;;N;;;;; +1D31B;TETRAGRAM FOR RESISTANCE;So;0;ON;;;;;N;;;;; +1D31C;TETRAGRAM FOR EASE;So;0;ON;;;;;N;;;;; +1D31D;TETRAGRAM FOR JOY;So;0;ON;;;;;N;;;;; +1D31E;TETRAGRAM FOR CONTENTION;So;0;ON;;;;;N;;;;; +1D31F;TETRAGRAM FOR ENDEAVOUR;So;0;ON;;;;;N;;;;; +1D320;TETRAGRAM FOR DUTIES;So;0;ON;;;;;N;;;;; +1D321;TETRAGRAM FOR CHANGE;So;0;ON;;;;;N;;;;; +1D322;TETRAGRAM FOR DECISIVENESS;So;0;ON;;;;;N;;;;; +1D323;TETRAGRAM FOR BOLD RESOLUTION;So;0;ON;;;;;N;;;;; +1D324;TETRAGRAM FOR PACKING;So;0;ON;;;;;N;;;;; +1D325;TETRAGRAM FOR LEGION;So;0;ON;;;;;N;;;;; +1D326;TETRAGRAM FOR CLOSENESS;So;0;ON;;;;;N;;;;; +1D327;TETRAGRAM FOR KINSHIP;So;0;ON;;;;;N;;;;; +1D328;TETRAGRAM FOR GATHERING;So;0;ON;;;;;N;;;;; +1D329;TETRAGRAM FOR STRENGTH;So;0;ON;;;;;N;;;;; +1D32A;TETRAGRAM FOR PURITY;So;0;ON;;;;;N;;;;; +1D32B;TETRAGRAM FOR FULLNESS;So;0;ON;;;;;N;;;;; +1D32C;TETRAGRAM FOR RESIDENCE;So;0;ON;;;;;N;;;;; +1D32D;TETRAGRAM FOR LAW OR MODEL;So;0;ON;;;;;N;;;;; +1D32E;TETRAGRAM FOR RESPONSE;So;0;ON;;;;;N;;;;; +1D32F;TETRAGRAM FOR GOING TO MEET;So;0;ON;;;;;N;;;;; +1D330;TETRAGRAM FOR ENCOUNTERS;So;0;ON;;;;;N;;;;; +1D331;TETRAGRAM FOR STOVE;So;0;ON;;;;;N;;;;; +1D332;TETRAGRAM FOR GREATNESS;So;0;ON;;;;;N;;;;; +1D333;TETRAGRAM FOR ENLARGEMENT;So;0;ON;;;;;N;;;;; +1D334;TETRAGRAM FOR PATTERN;So;0;ON;;;;;N;;;;; +1D335;TETRAGRAM FOR RITUAL;So;0;ON;;;;;N;;;;; +1D336;TETRAGRAM FOR FLIGHT;So;0;ON;;;;;N;;;;; +1D337;TETRAGRAM FOR VASTNESS OR WASTING;So;0;ON;;;;;N;;;;; +1D338;TETRAGRAM FOR CONSTANCY;So;0;ON;;;;;N;;;;; +1D339;TETRAGRAM FOR MEASURE;So;0;ON;;;;;N;;;;; +1D33A;TETRAGRAM FOR ETERNITY;So;0;ON;;;;;N;;;;; +1D33B;TETRAGRAM FOR UNITY;So;0;ON;;;;;N;;;;; +1D33C;TETRAGRAM FOR DIMINISHMENT;So;0;ON;;;;;N;;;;; +1D33D;TETRAGRAM FOR CLOSED MOUTH;So;0;ON;;;;;N;;;;; +1D33E;TETRAGRAM FOR GUARDEDNESS;So;0;ON;;;;;N;;;;; +1D33F;TETRAGRAM FOR GATHERING IN;So;0;ON;;;;;N;;;;; +1D340;TETRAGRAM FOR MASSING;So;0;ON;;;;;N;;;;; +1D341;TETRAGRAM FOR ACCUMULATION;So;0;ON;;;;;N;;;;; +1D342;TETRAGRAM FOR EMBELLISHMENT;So;0;ON;;;;;N;;;;; +1D343;TETRAGRAM FOR DOUBT;So;0;ON;;;;;N;;;;; +1D344;TETRAGRAM FOR WATCH;So;0;ON;;;;;N;;;;; +1D345;TETRAGRAM FOR SINKING;So;0;ON;;;;;N;;;;; +1D346;TETRAGRAM FOR INNER;So;0;ON;;;;;N;;;;; +1D347;TETRAGRAM FOR DEPARTURE;So;0;ON;;;;;N;;;;; +1D348;TETRAGRAM FOR DARKENING;So;0;ON;;;;;N;;;;; +1D349;TETRAGRAM FOR DIMMING;So;0;ON;;;;;N;;;;; +1D34A;TETRAGRAM FOR EXHAUSTION;So;0;ON;;;;;N;;;;; +1D34B;TETRAGRAM FOR SEVERANCE;So;0;ON;;;;;N;;;;; +1D34C;TETRAGRAM FOR STOPPAGE;So;0;ON;;;;;N;;;;; +1D34D;TETRAGRAM FOR HARDNESS;So;0;ON;;;;;N;;;;; +1D34E;TETRAGRAM FOR COMPLETION;So;0;ON;;;;;N;;;;; +1D34F;TETRAGRAM FOR CLOSURE;So;0;ON;;;;;N;;;;; +1D350;TETRAGRAM FOR FAILURE;So;0;ON;;;;;N;;;;; +1D351;TETRAGRAM FOR AGGRAVATION;So;0;ON;;;;;N;;;;; +1D352;TETRAGRAM FOR COMPLIANCE;So;0;ON;;;;;N;;;;; +1D353;TETRAGRAM FOR ON THE VERGE;So;0;ON;;;;;N;;;;; +1D354;TETRAGRAM FOR DIFFICULTIES;So;0;ON;;;;;N;;;;; +1D355;TETRAGRAM FOR LABOURING;So;0;ON;;;;;N;;;;; +1D356;TETRAGRAM FOR FOSTERING;So;0;ON;;;;;N;;;;; +1D360;COUNTING ROD UNIT DIGIT ONE;No;0;L;;;;1;N;;;;; +1D361;COUNTING ROD UNIT DIGIT TWO;No;0;L;;;;2;N;;;;; +1D362;COUNTING ROD UNIT DIGIT THREE;No;0;L;;;;3;N;;;;; +1D363;COUNTING ROD UNIT DIGIT FOUR;No;0;L;;;;4;N;;;;; +1D364;COUNTING ROD UNIT DIGIT FIVE;No;0;L;;;;5;N;;;;; +1D365;COUNTING ROD UNIT DIGIT SIX;No;0;L;;;;6;N;;;;; +1D366;COUNTING ROD UNIT DIGIT SEVEN;No;0;L;;;;7;N;;;;; +1D367;COUNTING ROD UNIT DIGIT EIGHT;No;0;L;;;;8;N;;;;; +1D368;COUNTING ROD UNIT DIGIT NINE;No;0;L;;;;9;N;;;;; +1D369;COUNTING ROD TENS DIGIT ONE;No;0;L;;;;10;N;;;;; +1D36A;COUNTING ROD TENS DIGIT TWO;No;0;L;;;;20;N;;;;; +1D36B;COUNTING ROD TENS DIGIT THREE;No;0;L;;;;30;N;;;;; +1D36C;COUNTING ROD TENS DIGIT FOUR;No;0;L;;;;40;N;;;;; +1D36D;COUNTING ROD TENS DIGIT FIVE;No;0;L;;;;50;N;;;;; +1D36E;COUNTING ROD TENS DIGIT SIX;No;0;L;;;;60;N;;;;; +1D36F;COUNTING ROD TENS DIGIT SEVEN;No;0;L;;;;70;N;;;;; +1D370;COUNTING ROD TENS DIGIT EIGHT;No;0;L;;;;80;N;;;;; +1D371;COUNTING ROD TENS DIGIT NINE;No;0;L;;;;90;N;;;;; +1D372;IDEOGRAPHIC TALLY MARK ONE;No;0;L;;;;1;N;;;;; +1D373;IDEOGRAPHIC TALLY MARK TWO;No;0;L;;;;2;N;;;;; +1D374;IDEOGRAPHIC TALLY MARK THREE;No;0;L;;;;3;N;;;;; +1D375;IDEOGRAPHIC TALLY MARK FOUR;No;0;L;;;;4;N;;;;; +1D376;IDEOGRAPHIC TALLY MARK FIVE;No;0;L;;;;5;N;;;;; +1D377;TALLY MARK ONE;No;0;L;;;;1;N;;;;; +1D378;TALLY MARK FIVE;No;0;L;;;;5;N;;;;; +1D400;MATHEMATICAL BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D401;MATHEMATICAL BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D402;MATHEMATICAL BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D403;MATHEMATICAL BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D404;MATHEMATICAL BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D405;MATHEMATICAL BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D406;MATHEMATICAL BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D407;MATHEMATICAL BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D408;MATHEMATICAL BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D409;MATHEMATICAL BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D40A;MATHEMATICAL BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D40B;MATHEMATICAL BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D40C;MATHEMATICAL BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D40D;MATHEMATICAL BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D40E;MATHEMATICAL BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D40F;MATHEMATICAL BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D410;MATHEMATICAL BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D411;MATHEMATICAL BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D412;MATHEMATICAL BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D413;MATHEMATICAL BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D414;MATHEMATICAL BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D415;MATHEMATICAL BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D416;MATHEMATICAL BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D417;MATHEMATICAL BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D418;MATHEMATICAL BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D419;MATHEMATICAL BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D41A;MATHEMATICAL BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D41B;MATHEMATICAL BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D41C;MATHEMATICAL BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D41D;MATHEMATICAL BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D41E;MATHEMATICAL BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D41F;MATHEMATICAL BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D420;MATHEMATICAL BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D421;MATHEMATICAL BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D422;MATHEMATICAL BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D423;MATHEMATICAL BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D424;MATHEMATICAL BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D425;MATHEMATICAL BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D426;MATHEMATICAL BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D427;MATHEMATICAL BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D428;MATHEMATICAL BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D429;MATHEMATICAL BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D42A;MATHEMATICAL BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D42B;MATHEMATICAL BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D42C;MATHEMATICAL BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D42D;MATHEMATICAL BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D42E;MATHEMATICAL BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D42F;MATHEMATICAL BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D430;MATHEMATICAL BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D431;MATHEMATICAL BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D432;MATHEMATICAL BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D433;MATHEMATICAL BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D434;MATHEMATICAL ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D435;MATHEMATICAL ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D436;MATHEMATICAL ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D437;MATHEMATICAL ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D438;MATHEMATICAL ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D439;MATHEMATICAL ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D43A;MATHEMATICAL ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D43B;MATHEMATICAL ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D43C;MATHEMATICAL ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D43D;MATHEMATICAL ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D43E;MATHEMATICAL ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D43F;MATHEMATICAL ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D440;MATHEMATICAL ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D441;MATHEMATICAL ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D442;MATHEMATICAL ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D443;MATHEMATICAL ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D444;MATHEMATICAL ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D445;MATHEMATICAL ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D446;MATHEMATICAL ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D447;MATHEMATICAL ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D448;MATHEMATICAL ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D449;MATHEMATICAL ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D44A;MATHEMATICAL ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D44B;MATHEMATICAL ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D44C;MATHEMATICAL ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D44D;MATHEMATICAL ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D44E;MATHEMATICAL ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D44F;MATHEMATICAL ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D450;MATHEMATICAL ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D451;MATHEMATICAL ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D452;MATHEMATICAL ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D453;MATHEMATICAL ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D454;MATHEMATICAL ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D456;MATHEMATICAL ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D457;MATHEMATICAL ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D458;MATHEMATICAL ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D459;MATHEMATICAL ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D45A;MATHEMATICAL ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D45B;MATHEMATICAL ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D45C;MATHEMATICAL ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D45D;MATHEMATICAL ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D45E;MATHEMATICAL ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D45F;MATHEMATICAL ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D460;MATHEMATICAL ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D461;MATHEMATICAL ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D462;MATHEMATICAL ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D463;MATHEMATICAL ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D464;MATHEMATICAL ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D465;MATHEMATICAL ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D466;MATHEMATICAL ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D467;MATHEMATICAL ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D468;MATHEMATICAL BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D469;MATHEMATICAL BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D46A;MATHEMATICAL BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D46B;MATHEMATICAL BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D46C;MATHEMATICAL BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D46D;MATHEMATICAL BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D46E;MATHEMATICAL BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D46F;MATHEMATICAL BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D470;MATHEMATICAL BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D471;MATHEMATICAL BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D472;MATHEMATICAL BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D473;MATHEMATICAL BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D474;MATHEMATICAL BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D475;MATHEMATICAL BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D476;MATHEMATICAL BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D477;MATHEMATICAL BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D478;MATHEMATICAL BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D479;MATHEMATICAL BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D47A;MATHEMATICAL BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D47B;MATHEMATICAL BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D47C;MATHEMATICAL BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D47D;MATHEMATICAL BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D47E;MATHEMATICAL BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D47F;MATHEMATICAL BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D480;MATHEMATICAL BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D481;MATHEMATICAL BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D482;MATHEMATICAL BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D483;MATHEMATICAL BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D484;MATHEMATICAL BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D485;MATHEMATICAL BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D486;MATHEMATICAL BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D487;MATHEMATICAL BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D488;MATHEMATICAL BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D489;MATHEMATICAL BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D48A;MATHEMATICAL BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D48B;MATHEMATICAL BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D48C;MATHEMATICAL BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D48D;MATHEMATICAL BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D48E;MATHEMATICAL BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D48F;MATHEMATICAL BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D490;MATHEMATICAL BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D491;MATHEMATICAL BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D492;MATHEMATICAL BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D493;MATHEMATICAL BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D494;MATHEMATICAL BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D495;MATHEMATICAL BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D496;MATHEMATICAL BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D497;MATHEMATICAL BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D498;MATHEMATICAL BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D499;MATHEMATICAL BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D49A;MATHEMATICAL BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D49B;MATHEMATICAL BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D49C;MATHEMATICAL SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D49E;MATHEMATICAL SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D49F;MATHEMATICAL SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D4A2;MATHEMATICAL SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D4A5;MATHEMATICAL SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D4A6;MATHEMATICAL SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D4A9;MATHEMATICAL SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D4AA;MATHEMATICAL SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D4AB;MATHEMATICAL SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D4AC;MATHEMATICAL SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D4AE;MATHEMATICAL SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D4AF;MATHEMATICAL SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D4B0;MATHEMATICAL SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D4B1;MATHEMATICAL SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D4B2;MATHEMATICAL SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D4B3;MATHEMATICAL SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D4B4;MATHEMATICAL SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D4B5;MATHEMATICAL SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D4B6;MATHEMATICAL SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D4B7;MATHEMATICAL SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D4B8;MATHEMATICAL SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D4B9;MATHEMATICAL SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D4BB;MATHEMATICAL SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D4BD;MATHEMATICAL SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D4BE;MATHEMATICAL SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D4BF;MATHEMATICAL SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D4C0;MATHEMATICAL SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D4C1;MATHEMATICAL SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D4C2;MATHEMATICAL SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D4C3;MATHEMATICAL SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D4C5;MATHEMATICAL SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D4C6;MATHEMATICAL SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D4C7;MATHEMATICAL SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D4C8;MATHEMATICAL SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D4C9;MATHEMATICAL SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D4CA;MATHEMATICAL SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D4CB;MATHEMATICAL SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D4CC;MATHEMATICAL SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D4CD;MATHEMATICAL SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D4CE;MATHEMATICAL SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D4CF;MATHEMATICAL SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D4D0;MATHEMATICAL BOLD SCRIPT CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D4D1;MATHEMATICAL BOLD SCRIPT CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D4D2;MATHEMATICAL BOLD SCRIPT CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D4D3;MATHEMATICAL BOLD SCRIPT CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D4D4;MATHEMATICAL BOLD SCRIPT CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D4D5;MATHEMATICAL BOLD SCRIPT CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D4D6;MATHEMATICAL BOLD SCRIPT CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D4D7;MATHEMATICAL BOLD SCRIPT CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D4D8;MATHEMATICAL BOLD SCRIPT CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D4D9;MATHEMATICAL BOLD SCRIPT CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D4DA;MATHEMATICAL BOLD SCRIPT CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D4DB;MATHEMATICAL BOLD SCRIPT CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D4DC;MATHEMATICAL BOLD SCRIPT CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D4DD;MATHEMATICAL BOLD SCRIPT CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D4DE;MATHEMATICAL BOLD SCRIPT CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D4DF;MATHEMATICAL BOLD SCRIPT CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D4E0;MATHEMATICAL BOLD SCRIPT CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D4E1;MATHEMATICAL BOLD SCRIPT CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D4E2;MATHEMATICAL BOLD SCRIPT CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D4E3;MATHEMATICAL BOLD SCRIPT CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D4E4;MATHEMATICAL BOLD SCRIPT CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D4E5;MATHEMATICAL BOLD SCRIPT CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D4E6;MATHEMATICAL BOLD SCRIPT CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D4E7;MATHEMATICAL BOLD SCRIPT CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D4E8;MATHEMATICAL BOLD SCRIPT CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D4E9;MATHEMATICAL BOLD SCRIPT CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D4EA;MATHEMATICAL BOLD SCRIPT SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D4EB;MATHEMATICAL BOLD SCRIPT SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D4EC;MATHEMATICAL BOLD SCRIPT SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D4ED;MATHEMATICAL BOLD SCRIPT SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D4EE;MATHEMATICAL BOLD SCRIPT SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D4EF;MATHEMATICAL BOLD SCRIPT SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D4F0;MATHEMATICAL BOLD SCRIPT SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D4F1;MATHEMATICAL BOLD SCRIPT SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D4F2;MATHEMATICAL BOLD SCRIPT SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D4F3;MATHEMATICAL BOLD SCRIPT SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D4F4;MATHEMATICAL BOLD SCRIPT SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D4F5;MATHEMATICAL BOLD SCRIPT SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D4F6;MATHEMATICAL BOLD SCRIPT SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D4F7;MATHEMATICAL BOLD SCRIPT SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D4F8;MATHEMATICAL BOLD SCRIPT SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D4F9;MATHEMATICAL BOLD SCRIPT SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D4FA;MATHEMATICAL BOLD SCRIPT SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D4FB;MATHEMATICAL BOLD SCRIPT SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D4FC;MATHEMATICAL BOLD SCRIPT SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D4FD;MATHEMATICAL BOLD SCRIPT SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D4FE;MATHEMATICAL BOLD SCRIPT SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D4FF;MATHEMATICAL BOLD SCRIPT SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D500;MATHEMATICAL BOLD SCRIPT SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D501;MATHEMATICAL BOLD SCRIPT SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D502;MATHEMATICAL BOLD SCRIPT SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D503;MATHEMATICAL BOLD SCRIPT SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D504;MATHEMATICAL FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D505;MATHEMATICAL FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D507;MATHEMATICAL FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D508;MATHEMATICAL FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D509;MATHEMATICAL FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D50A;MATHEMATICAL FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D50D;MATHEMATICAL FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D50E;MATHEMATICAL FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D50F;MATHEMATICAL FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D510;MATHEMATICAL FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D511;MATHEMATICAL FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D512;MATHEMATICAL FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D513;MATHEMATICAL FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D514;MATHEMATICAL FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D516;MATHEMATICAL FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D517;MATHEMATICAL FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D518;MATHEMATICAL FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D519;MATHEMATICAL FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D51A;MATHEMATICAL FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D51B;MATHEMATICAL FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D51C;MATHEMATICAL FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D51E;MATHEMATICAL FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D51F;MATHEMATICAL FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D520;MATHEMATICAL FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D521;MATHEMATICAL FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D522;MATHEMATICAL FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D523;MATHEMATICAL FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D524;MATHEMATICAL FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D525;MATHEMATICAL FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D526;MATHEMATICAL FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D527;MATHEMATICAL FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D528;MATHEMATICAL FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D529;MATHEMATICAL FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D52A;MATHEMATICAL FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D52B;MATHEMATICAL FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D52C;MATHEMATICAL FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D52D;MATHEMATICAL FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D52E;MATHEMATICAL FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D52F;MATHEMATICAL FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D530;MATHEMATICAL FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D531;MATHEMATICAL FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D532;MATHEMATICAL FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D533;MATHEMATICAL FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D534;MATHEMATICAL FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D535;MATHEMATICAL FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D536;MATHEMATICAL FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D537;MATHEMATICAL FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D538;MATHEMATICAL DOUBLE-STRUCK CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D539;MATHEMATICAL DOUBLE-STRUCK CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D53B;MATHEMATICAL DOUBLE-STRUCK CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D53C;MATHEMATICAL DOUBLE-STRUCK CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D53D;MATHEMATICAL DOUBLE-STRUCK CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D53E;MATHEMATICAL DOUBLE-STRUCK CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D540;MATHEMATICAL DOUBLE-STRUCK CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D541;MATHEMATICAL DOUBLE-STRUCK CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D542;MATHEMATICAL DOUBLE-STRUCK CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D543;MATHEMATICAL DOUBLE-STRUCK CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D544;MATHEMATICAL DOUBLE-STRUCK CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D546;MATHEMATICAL DOUBLE-STRUCK CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D54A;MATHEMATICAL DOUBLE-STRUCK CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D54B;MATHEMATICAL DOUBLE-STRUCK CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D54C;MATHEMATICAL DOUBLE-STRUCK CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D54D;MATHEMATICAL DOUBLE-STRUCK CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D54E;MATHEMATICAL DOUBLE-STRUCK CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D54F;MATHEMATICAL DOUBLE-STRUCK CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D550;MATHEMATICAL DOUBLE-STRUCK CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D552;MATHEMATICAL DOUBLE-STRUCK SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D553;MATHEMATICAL DOUBLE-STRUCK SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D554;MATHEMATICAL DOUBLE-STRUCK SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D555;MATHEMATICAL DOUBLE-STRUCK SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D556;MATHEMATICAL DOUBLE-STRUCK SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D557;MATHEMATICAL DOUBLE-STRUCK SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D558;MATHEMATICAL DOUBLE-STRUCK SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D559;MATHEMATICAL DOUBLE-STRUCK SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D55A;MATHEMATICAL DOUBLE-STRUCK SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D55B;MATHEMATICAL DOUBLE-STRUCK SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D55C;MATHEMATICAL DOUBLE-STRUCK SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D55D;MATHEMATICAL DOUBLE-STRUCK SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D55E;MATHEMATICAL DOUBLE-STRUCK SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D55F;MATHEMATICAL DOUBLE-STRUCK SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D560;MATHEMATICAL DOUBLE-STRUCK SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D561;MATHEMATICAL DOUBLE-STRUCK SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D562;MATHEMATICAL DOUBLE-STRUCK SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D563;MATHEMATICAL DOUBLE-STRUCK SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D564;MATHEMATICAL DOUBLE-STRUCK SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D565;MATHEMATICAL DOUBLE-STRUCK SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D566;MATHEMATICAL DOUBLE-STRUCK SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D567;MATHEMATICAL DOUBLE-STRUCK SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D568;MATHEMATICAL DOUBLE-STRUCK SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D569;MATHEMATICAL DOUBLE-STRUCK SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D56A;MATHEMATICAL DOUBLE-STRUCK SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D56B;MATHEMATICAL DOUBLE-STRUCK SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D56C;MATHEMATICAL BOLD FRAKTUR CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D56D;MATHEMATICAL BOLD FRAKTUR CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D56E;MATHEMATICAL BOLD FRAKTUR CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D56F;MATHEMATICAL BOLD FRAKTUR CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D570;MATHEMATICAL BOLD FRAKTUR CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D571;MATHEMATICAL BOLD FRAKTUR CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D572;MATHEMATICAL BOLD FRAKTUR CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D573;MATHEMATICAL BOLD FRAKTUR CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D574;MATHEMATICAL BOLD FRAKTUR CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D575;MATHEMATICAL BOLD FRAKTUR CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D576;MATHEMATICAL BOLD FRAKTUR CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D577;MATHEMATICAL BOLD FRAKTUR CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D578;MATHEMATICAL BOLD FRAKTUR CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D579;MATHEMATICAL BOLD FRAKTUR CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D57A;MATHEMATICAL BOLD FRAKTUR CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D57B;MATHEMATICAL BOLD FRAKTUR CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D57C;MATHEMATICAL BOLD FRAKTUR CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D57D;MATHEMATICAL BOLD FRAKTUR CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D57E;MATHEMATICAL BOLD FRAKTUR CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D57F;MATHEMATICAL BOLD FRAKTUR CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D580;MATHEMATICAL BOLD FRAKTUR CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D581;MATHEMATICAL BOLD FRAKTUR CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D582;MATHEMATICAL BOLD FRAKTUR CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D583;MATHEMATICAL BOLD FRAKTUR CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D584;MATHEMATICAL BOLD FRAKTUR CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D585;MATHEMATICAL BOLD FRAKTUR CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D586;MATHEMATICAL BOLD FRAKTUR SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D587;MATHEMATICAL BOLD FRAKTUR SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D588;MATHEMATICAL BOLD FRAKTUR SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D589;MATHEMATICAL BOLD FRAKTUR SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D58A;MATHEMATICAL BOLD FRAKTUR SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D58B;MATHEMATICAL BOLD FRAKTUR SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D58C;MATHEMATICAL BOLD FRAKTUR SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D58D;MATHEMATICAL BOLD FRAKTUR SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D58E;MATHEMATICAL BOLD FRAKTUR SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D58F;MATHEMATICAL BOLD FRAKTUR SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D590;MATHEMATICAL BOLD FRAKTUR SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D591;MATHEMATICAL BOLD FRAKTUR SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D592;MATHEMATICAL BOLD FRAKTUR SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D593;MATHEMATICAL BOLD FRAKTUR SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D594;MATHEMATICAL BOLD FRAKTUR SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D595;MATHEMATICAL BOLD FRAKTUR SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D596;MATHEMATICAL BOLD FRAKTUR SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D597;MATHEMATICAL BOLD FRAKTUR SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D598;MATHEMATICAL BOLD FRAKTUR SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D599;MATHEMATICAL BOLD FRAKTUR SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D59A;MATHEMATICAL BOLD FRAKTUR SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D59B;MATHEMATICAL BOLD FRAKTUR SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D59C;MATHEMATICAL BOLD FRAKTUR SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D59D;MATHEMATICAL BOLD FRAKTUR SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D59E;MATHEMATICAL BOLD FRAKTUR SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D59F;MATHEMATICAL BOLD FRAKTUR SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D5A0;MATHEMATICAL SANS-SERIF CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D5A1;MATHEMATICAL SANS-SERIF CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D5A2;MATHEMATICAL SANS-SERIF CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D5A3;MATHEMATICAL SANS-SERIF CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D5A4;MATHEMATICAL SANS-SERIF CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D5A5;MATHEMATICAL SANS-SERIF CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D5A6;MATHEMATICAL SANS-SERIF CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D5A7;MATHEMATICAL SANS-SERIF CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D5A8;MATHEMATICAL SANS-SERIF CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D5A9;MATHEMATICAL SANS-SERIF CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D5AA;MATHEMATICAL SANS-SERIF CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D5AB;MATHEMATICAL SANS-SERIF CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D5AC;MATHEMATICAL SANS-SERIF CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D5AD;MATHEMATICAL SANS-SERIF CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D5AE;MATHEMATICAL SANS-SERIF CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D5AF;MATHEMATICAL SANS-SERIF CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D5B0;MATHEMATICAL SANS-SERIF CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D5B1;MATHEMATICAL SANS-SERIF CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D5B2;MATHEMATICAL SANS-SERIF CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D5B3;MATHEMATICAL SANS-SERIF CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D5B4;MATHEMATICAL SANS-SERIF CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D5B5;MATHEMATICAL SANS-SERIF CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D5B6;MATHEMATICAL SANS-SERIF CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D5B7;MATHEMATICAL SANS-SERIF CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D5B8;MATHEMATICAL SANS-SERIF CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D5B9;MATHEMATICAL SANS-SERIF CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D5BA;MATHEMATICAL SANS-SERIF SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D5BB;MATHEMATICAL SANS-SERIF SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D5BC;MATHEMATICAL SANS-SERIF SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D5BD;MATHEMATICAL SANS-SERIF SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D5BE;MATHEMATICAL SANS-SERIF SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D5BF;MATHEMATICAL SANS-SERIF SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D5C0;MATHEMATICAL SANS-SERIF SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D5C1;MATHEMATICAL SANS-SERIF SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D5C2;MATHEMATICAL SANS-SERIF SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D5C3;MATHEMATICAL SANS-SERIF SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D5C4;MATHEMATICAL SANS-SERIF SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D5C5;MATHEMATICAL SANS-SERIF SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D5C6;MATHEMATICAL SANS-SERIF SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D5C7;MATHEMATICAL SANS-SERIF SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D5C8;MATHEMATICAL SANS-SERIF SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D5C9;MATHEMATICAL SANS-SERIF SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D5CA;MATHEMATICAL SANS-SERIF SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D5CB;MATHEMATICAL SANS-SERIF SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D5CC;MATHEMATICAL SANS-SERIF SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D5CD;MATHEMATICAL SANS-SERIF SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D5CE;MATHEMATICAL SANS-SERIF SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D5CF;MATHEMATICAL SANS-SERIF SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D5D0;MATHEMATICAL SANS-SERIF SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D5D1;MATHEMATICAL SANS-SERIF SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D5D2;MATHEMATICAL SANS-SERIF SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D5D3;MATHEMATICAL SANS-SERIF SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D5D4;MATHEMATICAL SANS-SERIF BOLD CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D5D5;MATHEMATICAL SANS-SERIF BOLD CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D5D6;MATHEMATICAL SANS-SERIF BOLD CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D5D7;MATHEMATICAL SANS-SERIF BOLD CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D5D8;MATHEMATICAL SANS-SERIF BOLD CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D5D9;MATHEMATICAL SANS-SERIF BOLD CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D5DA;MATHEMATICAL SANS-SERIF BOLD CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D5DB;MATHEMATICAL SANS-SERIF BOLD CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D5DC;MATHEMATICAL SANS-SERIF BOLD CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D5DD;MATHEMATICAL SANS-SERIF BOLD CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D5DE;MATHEMATICAL SANS-SERIF BOLD CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D5DF;MATHEMATICAL SANS-SERIF BOLD CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D5E0;MATHEMATICAL SANS-SERIF BOLD CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D5E1;MATHEMATICAL SANS-SERIF BOLD CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D5E2;MATHEMATICAL SANS-SERIF BOLD CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D5E3;MATHEMATICAL SANS-SERIF BOLD CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D5E4;MATHEMATICAL SANS-SERIF BOLD CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D5E5;MATHEMATICAL SANS-SERIF BOLD CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D5E6;MATHEMATICAL SANS-SERIF BOLD CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D5E7;MATHEMATICAL SANS-SERIF BOLD CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D5E8;MATHEMATICAL SANS-SERIF BOLD CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D5E9;MATHEMATICAL SANS-SERIF BOLD CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D5EA;MATHEMATICAL SANS-SERIF BOLD CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D5EB;MATHEMATICAL SANS-SERIF BOLD CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D5EC;MATHEMATICAL SANS-SERIF BOLD CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D5ED;MATHEMATICAL SANS-SERIF BOLD CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D5EE;MATHEMATICAL SANS-SERIF BOLD SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D5EF;MATHEMATICAL SANS-SERIF BOLD SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D5F0;MATHEMATICAL SANS-SERIF BOLD SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D5F1;MATHEMATICAL SANS-SERIF BOLD SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D5F2;MATHEMATICAL SANS-SERIF BOLD SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D5F3;MATHEMATICAL SANS-SERIF BOLD SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D5F4;MATHEMATICAL SANS-SERIF BOLD SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D5F5;MATHEMATICAL SANS-SERIF BOLD SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D5F6;MATHEMATICAL SANS-SERIF BOLD SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D5F7;MATHEMATICAL SANS-SERIF BOLD SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D5F8;MATHEMATICAL SANS-SERIF BOLD SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D5F9;MATHEMATICAL SANS-SERIF BOLD SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D5FA;MATHEMATICAL SANS-SERIF BOLD SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D5FB;MATHEMATICAL SANS-SERIF BOLD SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D5FC;MATHEMATICAL SANS-SERIF BOLD SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D5FD;MATHEMATICAL SANS-SERIF BOLD SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D5FE;MATHEMATICAL SANS-SERIF BOLD SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D5FF;MATHEMATICAL SANS-SERIF BOLD SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D600;MATHEMATICAL SANS-SERIF BOLD SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D601;MATHEMATICAL SANS-SERIF BOLD SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D602;MATHEMATICAL SANS-SERIF BOLD SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D603;MATHEMATICAL SANS-SERIF BOLD SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D604;MATHEMATICAL SANS-SERIF BOLD SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D605;MATHEMATICAL SANS-SERIF BOLD SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D606;MATHEMATICAL SANS-SERIF BOLD SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D607;MATHEMATICAL SANS-SERIF BOLD SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D608;MATHEMATICAL SANS-SERIF ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D609;MATHEMATICAL SANS-SERIF ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D60A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D60B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D60C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D60D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D60E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D60F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D610;MATHEMATICAL SANS-SERIF ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D611;MATHEMATICAL SANS-SERIF ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D612;MATHEMATICAL SANS-SERIF ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D613;MATHEMATICAL SANS-SERIF ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D614;MATHEMATICAL SANS-SERIF ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D615;MATHEMATICAL SANS-SERIF ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D616;MATHEMATICAL SANS-SERIF ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D617;MATHEMATICAL SANS-SERIF ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D618;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D619;MATHEMATICAL SANS-SERIF ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D61A;MATHEMATICAL SANS-SERIF ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D61B;MATHEMATICAL SANS-SERIF ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D61C;MATHEMATICAL SANS-SERIF ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D61D;MATHEMATICAL SANS-SERIF ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D61E;MATHEMATICAL SANS-SERIF ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D61F;MATHEMATICAL SANS-SERIF ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D620;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D621;MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D622;MATHEMATICAL SANS-SERIF ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D623;MATHEMATICAL SANS-SERIF ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D624;MATHEMATICAL SANS-SERIF ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D625;MATHEMATICAL SANS-SERIF ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D626;MATHEMATICAL SANS-SERIF ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D627;MATHEMATICAL SANS-SERIF ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D628;MATHEMATICAL SANS-SERIF ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D629;MATHEMATICAL SANS-SERIF ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D62A;MATHEMATICAL SANS-SERIF ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D62B;MATHEMATICAL SANS-SERIF ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D62C;MATHEMATICAL SANS-SERIF ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D62D;MATHEMATICAL SANS-SERIF ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D62E;MATHEMATICAL SANS-SERIF ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D62F;MATHEMATICAL SANS-SERIF ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D630;MATHEMATICAL SANS-SERIF ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D631;MATHEMATICAL SANS-SERIF ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D632;MATHEMATICAL SANS-SERIF ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D633;MATHEMATICAL SANS-SERIF ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D634;MATHEMATICAL SANS-SERIF ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D635;MATHEMATICAL SANS-SERIF ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D636;MATHEMATICAL SANS-SERIF ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D637;MATHEMATICAL SANS-SERIF ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D638;MATHEMATICAL SANS-SERIF ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D639;MATHEMATICAL SANS-SERIF ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D63A;MATHEMATICAL SANS-SERIF ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D63B;MATHEMATICAL SANS-SERIF ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D63C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D63D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D63E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D63F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D640;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D641;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D642;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D643;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D644;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D645;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D646;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D647;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D648;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D649;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D64A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D64B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D64C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D64D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D64E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D64F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D650;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D651;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D652;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D653;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D654;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D655;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D656;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D657;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D658;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D659;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D65A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D65B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D65C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D65D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D65E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D65F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D660;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D661;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D662;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D663;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D664;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D665;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D666;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D667;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D668;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D669;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D66A;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D66B;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D66C;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D66D;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D66E;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D66F;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D670;MATHEMATICAL MONOSPACE CAPITAL A;Lu;0;L; 0041;;;;N;;;;; +1D671;MATHEMATICAL MONOSPACE CAPITAL B;Lu;0;L; 0042;;;;N;;;;; +1D672;MATHEMATICAL MONOSPACE CAPITAL C;Lu;0;L; 0043;;;;N;;;;; +1D673;MATHEMATICAL MONOSPACE CAPITAL D;Lu;0;L; 0044;;;;N;;;;; +1D674;MATHEMATICAL MONOSPACE CAPITAL E;Lu;0;L; 0045;;;;N;;;;; +1D675;MATHEMATICAL MONOSPACE CAPITAL F;Lu;0;L; 0046;;;;N;;;;; +1D676;MATHEMATICAL MONOSPACE CAPITAL G;Lu;0;L; 0047;;;;N;;;;; +1D677;MATHEMATICAL MONOSPACE CAPITAL H;Lu;0;L; 0048;;;;N;;;;; +1D678;MATHEMATICAL MONOSPACE CAPITAL I;Lu;0;L; 0049;;;;N;;;;; +1D679;MATHEMATICAL MONOSPACE CAPITAL J;Lu;0;L; 004A;;;;N;;;;; +1D67A;MATHEMATICAL MONOSPACE CAPITAL K;Lu;0;L; 004B;;;;N;;;;; +1D67B;MATHEMATICAL MONOSPACE CAPITAL L;Lu;0;L; 004C;;;;N;;;;; +1D67C;MATHEMATICAL MONOSPACE CAPITAL M;Lu;0;L; 004D;;;;N;;;;; +1D67D;MATHEMATICAL MONOSPACE CAPITAL N;Lu;0;L; 004E;;;;N;;;;; +1D67E;MATHEMATICAL MONOSPACE CAPITAL O;Lu;0;L; 004F;;;;N;;;;; +1D67F;MATHEMATICAL MONOSPACE CAPITAL P;Lu;0;L; 0050;;;;N;;;;; +1D680;MATHEMATICAL MONOSPACE CAPITAL Q;Lu;0;L; 0051;;;;N;;;;; +1D681;MATHEMATICAL MONOSPACE CAPITAL R;Lu;0;L; 0052;;;;N;;;;; +1D682;MATHEMATICAL MONOSPACE CAPITAL S;Lu;0;L; 0053;;;;N;;;;; +1D683;MATHEMATICAL MONOSPACE CAPITAL T;Lu;0;L; 0054;;;;N;;;;; +1D684;MATHEMATICAL MONOSPACE CAPITAL U;Lu;0;L; 0055;;;;N;;;;; +1D685;MATHEMATICAL MONOSPACE CAPITAL V;Lu;0;L; 0056;;;;N;;;;; +1D686;MATHEMATICAL MONOSPACE CAPITAL W;Lu;0;L; 0057;;;;N;;;;; +1D687;MATHEMATICAL MONOSPACE CAPITAL X;Lu;0;L; 0058;;;;N;;;;; +1D688;MATHEMATICAL MONOSPACE CAPITAL Y;Lu;0;L; 0059;;;;N;;;;; +1D689;MATHEMATICAL MONOSPACE CAPITAL Z;Lu;0;L; 005A;;;;N;;;;; +1D68A;MATHEMATICAL MONOSPACE SMALL A;Ll;0;L; 0061;;;;N;;;;; +1D68B;MATHEMATICAL MONOSPACE SMALL B;Ll;0;L; 0062;;;;N;;;;; +1D68C;MATHEMATICAL MONOSPACE SMALL C;Ll;0;L; 0063;;;;N;;;;; +1D68D;MATHEMATICAL MONOSPACE SMALL D;Ll;0;L; 0064;;;;N;;;;; +1D68E;MATHEMATICAL MONOSPACE SMALL E;Ll;0;L; 0065;;;;N;;;;; +1D68F;MATHEMATICAL MONOSPACE SMALL F;Ll;0;L; 0066;;;;N;;;;; +1D690;MATHEMATICAL MONOSPACE SMALL G;Ll;0;L; 0067;;;;N;;;;; +1D691;MATHEMATICAL MONOSPACE SMALL H;Ll;0;L; 0068;;;;N;;;;; +1D692;MATHEMATICAL MONOSPACE SMALL I;Ll;0;L; 0069;;;;N;;;;; +1D693;MATHEMATICAL MONOSPACE SMALL J;Ll;0;L; 006A;;;;N;;;;; +1D694;MATHEMATICAL MONOSPACE SMALL K;Ll;0;L; 006B;;;;N;;;;; +1D695;MATHEMATICAL MONOSPACE SMALL L;Ll;0;L; 006C;;;;N;;;;; +1D696;MATHEMATICAL MONOSPACE SMALL M;Ll;0;L; 006D;;;;N;;;;; +1D697;MATHEMATICAL MONOSPACE SMALL N;Ll;0;L; 006E;;;;N;;;;; +1D698;MATHEMATICAL MONOSPACE SMALL O;Ll;0;L; 006F;;;;N;;;;; +1D699;MATHEMATICAL MONOSPACE SMALL P;Ll;0;L; 0070;;;;N;;;;; +1D69A;MATHEMATICAL MONOSPACE SMALL Q;Ll;0;L; 0071;;;;N;;;;; +1D69B;MATHEMATICAL MONOSPACE SMALL R;Ll;0;L; 0072;;;;N;;;;; +1D69C;MATHEMATICAL MONOSPACE SMALL S;Ll;0;L; 0073;;;;N;;;;; +1D69D;MATHEMATICAL MONOSPACE SMALL T;Ll;0;L; 0074;;;;N;;;;; +1D69E;MATHEMATICAL MONOSPACE SMALL U;Ll;0;L; 0075;;;;N;;;;; +1D69F;MATHEMATICAL MONOSPACE SMALL V;Ll;0;L; 0076;;;;N;;;;; +1D6A0;MATHEMATICAL MONOSPACE SMALL W;Ll;0;L; 0077;;;;N;;;;; +1D6A1;MATHEMATICAL MONOSPACE SMALL X;Ll;0;L; 0078;;;;N;;;;; +1D6A2;MATHEMATICAL MONOSPACE SMALL Y;Ll;0;L; 0079;;;;N;;;;; +1D6A3;MATHEMATICAL MONOSPACE SMALL Z;Ll;0;L; 007A;;;;N;;;;; +1D6A4;MATHEMATICAL ITALIC SMALL DOTLESS I;Ll;0;L; 0131;;;;N;;;;; +1D6A5;MATHEMATICAL ITALIC SMALL DOTLESS J;Ll;0;L; 0237;;;;N;;;;; +1D6A8;MATHEMATICAL BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D6A9;MATHEMATICAL BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D6AA;MATHEMATICAL BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D6AB;MATHEMATICAL BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D6AC;MATHEMATICAL BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D6AD;MATHEMATICAL BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D6AE;MATHEMATICAL BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D6AF;MATHEMATICAL BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D6B0;MATHEMATICAL BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D6B1;MATHEMATICAL BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D6B2;MATHEMATICAL BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D6B3;MATHEMATICAL BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D6B4;MATHEMATICAL BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D6B5;MATHEMATICAL BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D6B6;MATHEMATICAL BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D6B7;MATHEMATICAL BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D6B8;MATHEMATICAL BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D6B9;MATHEMATICAL BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D6BA;MATHEMATICAL BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D6BB;MATHEMATICAL BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D6BC;MATHEMATICAL BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D6BD;MATHEMATICAL BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D6BE;MATHEMATICAL BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D6BF;MATHEMATICAL BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D6C0;MATHEMATICAL BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D6C1;MATHEMATICAL BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; +1D6C2;MATHEMATICAL BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D6C3;MATHEMATICAL BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D6C4;MATHEMATICAL BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D6C5;MATHEMATICAL BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D6C6;MATHEMATICAL BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D6C7;MATHEMATICAL BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D6C8;MATHEMATICAL BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D6C9;MATHEMATICAL BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D6CA;MATHEMATICAL BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D6CB;MATHEMATICAL BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D6CC;MATHEMATICAL BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D6CD;MATHEMATICAL BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D6CE;MATHEMATICAL BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D6CF;MATHEMATICAL BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D6D0;MATHEMATICAL BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D6D1;MATHEMATICAL BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D6D2;MATHEMATICAL BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D6D3;MATHEMATICAL BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D6D4;MATHEMATICAL BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D6D5;MATHEMATICAL BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D6D6;MATHEMATICAL BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D6D7;MATHEMATICAL BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D6D8;MATHEMATICAL BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D6D9;MATHEMATICAL BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D6DA;MATHEMATICAL BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D6DB;MATHEMATICAL BOLD PARTIAL DIFFERENTIAL;Sm;0;ON; 2202;;;;Y;;;;; +1D6DC;MATHEMATICAL BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D6DD;MATHEMATICAL BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D6DE;MATHEMATICAL BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D6DF;MATHEMATICAL BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D6E0;MATHEMATICAL BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D6E1;MATHEMATICAL BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D6E2;MATHEMATICAL ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D6E3;MATHEMATICAL ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D6E4;MATHEMATICAL ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D6E5;MATHEMATICAL ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D6E6;MATHEMATICAL ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D6E7;MATHEMATICAL ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D6E8;MATHEMATICAL ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D6E9;MATHEMATICAL ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D6EA;MATHEMATICAL ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D6EB;MATHEMATICAL ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D6EC;MATHEMATICAL ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D6ED;MATHEMATICAL ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D6EE;MATHEMATICAL ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D6EF;MATHEMATICAL ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D6F0;MATHEMATICAL ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D6F1;MATHEMATICAL ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D6F2;MATHEMATICAL ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D6F3;MATHEMATICAL ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D6F4;MATHEMATICAL ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D6F5;MATHEMATICAL ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D6F6;MATHEMATICAL ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D6F7;MATHEMATICAL ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D6F8;MATHEMATICAL ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D6F9;MATHEMATICAL ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D6FA;MATHEMATICAL ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D6FB;MATHEMATICAL ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D6FC;MATHEMATICAL ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D6FD;MATHEMATICAL ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D6FE;MATHEMATICAL ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D6FF;MATHEMATICAL ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D700;MATHEMATICAL ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D701;MATHEMATICAL ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D702;MATHEMATICAL ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D703;MATHEMATICAL ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D704;MATHEMATICAL ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D705;MATHEMATICAL ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D706;MATHEMATICAL ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D707;MATHEMATICAL ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D708;MATHEMATICAL ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D709;MATHEMATICAL ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D70A;MATHEMATICAL ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D70B;MATHEMATICAL ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D70C;MATHEMATICAL ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D70D;MATHEMATICAL ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D70E;MATHEMATICAL ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D70F;MATHEMATICAL ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D710;MATHEMATICAL ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D711;MATHEMATICAL ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D712;MATHEMATICAL ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D713;MATHEMATICAL ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D714;MATHEMATICAL ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D715;MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON; 2202;;;;Y;;;;; +1D716;MATHEMATICAL ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D717;MATHEMATICAL ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D718;MATHEMATICAL ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D719;MATHEMATICAL ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D71A;MATHEMATICAL ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D71B;MATHEMATICAL ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D71C;MATHEMATICAL BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D71D;MATHEMATICAL BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D71E;MATHEMATICAL BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D71F;MATHEMATICAL BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D720;MATHEMATICAL BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D721;MATHEMATICAL BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D722;MATHEMATICAL BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D723;MATHEMATICAL BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D724;MATHEMATICAL BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D725;MATHEMATICAL BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D726;MATHEMATICAL BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D727;MATHEMATICAL BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D728;MATHEMATICAL BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D729;MATHEMATICAL BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D72A;MATHEMATICAL BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D72B;MATHEMATICAL BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D72C;MATHEMATICAL BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D72D;MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D72E;MATHEMATICAL BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D72F;MATHEMATICAL BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D730;MATHEMATICAL BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D731;MATHEMATICAL BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D732;MATHEMATICAL BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D733;MATHEMATICAL BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D734;MATHEMATICAL BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D735;MATHEMATICAL BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D736;MATHEMATICAL BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D737;MATHEMATICAL BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D738;MATHEMATICAL BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D739;MATHEMATICAL BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D73A;MATHEMATICAL BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D73B;MATHEMATICAL BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D73C;MATHEMATICAL BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D73D;MATHEMATICAL BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D73E;MATHEMATICAL BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D73F;MATHEMATICAL BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D740;MATHEMATICAL BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D741;MATHEMATICAL BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D742;MATHEMATICAL BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D743;MATHEMATICAL BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D744;MATHEMATICAL BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D745;MATHEMATICAL BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D746;MATHEMATICAL BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D747;MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D748;MATHEMATICAL BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D749;MATHEMATICAL BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D74A;MATHEMATICAL BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D74B;MATHEMATICAL BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D74C;MATHEMATICAL BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D74D;MATHEMATICAL BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D74E;MATHEMATICAL BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D74F;MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON; 2202;;;;Y;;;;; +1D750;MATHEMATICAL BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D751;MATHEMATICAL BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D752;MATHEMATICAL BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D753;MATHEMATICAL BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D754;MATHEMATICAL BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D755;MATHEMATICAL BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D756;MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D757;MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D758;MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D759;MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D75A;MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D75B;MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D75C;MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D75D;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D75E;MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D75F;MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D760;MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D761;MATHEMATICAL SANS-SERIF BOLD CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D762;MATHEMATICAL SANS-SERIF BOLD CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D763;MATHEMATICAL SANS-SERIF BOLD CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D764;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D765;MATHEMATICAL SANS-SERIF BOLD CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D766;MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D767;MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D768;MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D769;MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D76A;MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D76B;MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D76C;MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D76D;MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D76E;MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D76F;MATHEMATICAL SANS-SERIF BOLD NABLA;Sm;0;L; 2207;;;;N;;;;; +1D770;MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D771;MATHEMATICAL SANS-SERIF BOLD SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D772;MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D773;MATHEMATICAL SANS-SERIF BOLD SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D774;MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D775;MATHEMATICAL SANS-SERIF BOLD SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D776;MATHEMATICAL SANS-SERIF BOLD SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D777;MATHEMATICAL SANS-SERIF BOLD SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D778;MATHEMATICAL SANS-SERIF BOLD SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D779;MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D77A;MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D77B;MATHEMATICAL SANS-SERIF BOLD SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D77C;MATHEMATICAL SANS-SERIF BOLD SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D77D;MATHEMATICAL SANS-SERIF BOLD SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D77E;MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D77F;MATHEMATICAL SANS-SERIF BOLD SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D780;MATHEMATICAL SANS-SERIF BOLD SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D781;MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D782;MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D783;MATHEMATICAL SANS-SERIF BOLD SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D784;MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D785;MATHEMATICAL SANS-SERIF BOLD SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D786;MATHEMATICAL SANS-SERIF BOLD SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D787;MATHEMATICAL SANS-SERIF BOLD SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D788;MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D789;MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL;Sm;0;ON; 2202;;;;Y;;;;; +1D78A;MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D78B;MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D78C;MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D78D;MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D78E;MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D78F;MATHEMATICAL SANS-SERIF BOLD PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D790;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA;Lu;0;L; 0391;;;;N;;;;; +1D791;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA;Lu;0;L; 0392;;;;N;;;;; +1D792;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA;Lu;0;L; 0393;;;;N;;;;; +1D793;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA;Lu;0;L; 0394;;;;N;;;;; +1D794;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON;Lu;0;L; 0395;;;;N;;;;; +1D795;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA;Lu;0;L; 0396;;;;N;;;;; +1D796;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA;Lu;0;L; 0397;;;;N;;;;; +1D797;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA;Lu;0;L; 0398;;;;N;;;;; +1D798;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA;Lu;0;L; 0399;;;;N;;;;; +1D799;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA;Lu;0;L; 039A;;;;N;;;;; +1D79A;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA;Lu;0;L; 039B;;;;N;;;;; +1D79B;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU;Lu;0;L; 039C;;;;N;;;;; +1D79C;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU;Lu;0;L; 039D;;;;N;;;;; +1D79D;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI;Lu;0;L; 039E;;;;N;;;;; +1D79E;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON;Lu;0;L; 039F;;;;N;;;;; +1D79F;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI;Lu;0;L; 03A0;;;;N;;;;; +1D7A0;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO;Lu;0;L; 03A1;;;;N;;;;; +1D7A1;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL;Lu;0;L; 03F4;;;;N;;;;; +1D7A2;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA;Lu;0;L; 03A3;;;;N;;;;; +1D7A3;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU;Lu;0;L; 03A4;;;;N;;;;; +1D7A4;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON;Lu;0;L; 03A5;;;;N;;;;; +1D7A5;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI;Lu;0;L; 03A6;;;;N;;;;; +1D7A6;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI;Lu;0;L; 03A7;;;;N;;;;; +1D7A7;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI;Lu;0;L; 03A8;;;;N;;;;; +1D7A8;MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA;Lu;0;L; 03A9;;;;N;;;;; +1D7A9;MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA;Sm;0;L; 2207;;;;N;;;;; +1D7AA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA;Ll;0;L; 03B1;;;;N;;;;; +1D7AB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA;Ll;0;L; 03B2;;;;N;;;;; +1D7AC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA;Ll;0;L; 03B3;;;;N;;;;; +1D7AD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA;Ll;0;L; 03B4;;;;N;;;;; +1D7AE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON;Ll;0;L; 03B5;;;;N;;;;; +1D7AF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA;Ll;0;L; 03B6;;;;N;;;;; +1D7B0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA;Ll;0;L; 03B7;;;;N;;;;; +1D7B1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA;Ll;0;L; 03B8;;;;N;;;;; +1D7B2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA;Ll;0;L; 03B9;;;;N;;;;; +1D7B3;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA;Ll;0;L; 03BA;;;;N;;;;; +1D7B4;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA;Ll;0;L; 03BB;;;;N;;;;; +1D7B5;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU;Ll;0;L; 03BC;;;;N;;;;; +1D7B6;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU;Ll;0;L; 03BD;;;;N;;;;; +1D7B7;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI;Ll;0;L; 03BE;;;;N;;;;; +1D7B8;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON;Ll;0;L; 03BF;;;;N;;;;; +1D7B9;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI;Ll;0;L; 03C0;;;;N;;;;; +1D7BA;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO;Ll;0;L; 03C1;;;;N;;;;; +1D7BB;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA;Ll;0;L; 03C2;;;;N;;;;; +1D7BC;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA;Ll;0;L; 03C3;;;;N;;;;; +1D7BD;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU;Ll;0;L; 03C4;;;;N;;;;; +1D7BE;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON;Ll;0;L; 03C5;;;;N;;;;; +1D7BF;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI;Ll;0;L; 03C6;;;;N;;;;; +1D7C0;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI;Ll;0;L; 03C7;;;;N;;;;; +1D7C1;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI;Ll;0;L; 03C8;;;;N;;;;; +1D7C2;MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA;Ll;0;L; 03C9;;;;N;;;;; +1D7C3;MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL;Sm;0;ON; 2202;;;;Y;;;;; +1D7C4;MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL;Ll;0;L; 03F5;;;;N;;;;; +1D7C5;MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL;Ll;0;L; 03D1;;;;N;;;;; +1D7C6;MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL;Ll;0;L; 03F0;;;;N;;;;; +1D7C7;MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL;Ll;0;L; 03D5;;;;N;;;;; +1D7C8;MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL;Ll;0;L; 03F1;;;;N;;;;; +1D7C9;MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL;Ll;0;L; 03D6;;;;N;;;;; +1D7CA;MATHEMATICAL BOLD CAPITAL DIGAMMA;Lu;0;L; 03DC;;;;N;;;;; +1D7CB;MATHEMATICAL BOLD SMALL DIGAMMA;Ll;0;L; 03DD;;;;N;;;;; +1D7CE;MATHEMATICAL BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7CF;MATHEMATICAL BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7D0;MATHEMATICAL BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7D1;MATHEMATICAL BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7D2;MATHEMATICAL BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7D3;MATHEMATICAL BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7D4;MATHEMATICAL BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7D5;MATHEMATICAL BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7D6;MATHEMATICAL BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7D7;MATHEMATICAL BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7D8;MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7D9;MATHEMATICAL DOUBLE-STRUCK DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7DA;MATHEMATICAL DOUBLE-STRUCK DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7DB;MATHEMATICAL DOUBLE-STRUCK DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7DC;MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7DD;MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7DE;MATHEMATICAL DOUBLE-STRUCK DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7DF;MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7E0;MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7E1;MATHEMATICAL DOUBLE-STRUCK DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7E2;MATHEMATICAL SANS-SERIF DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7E3;MATHEMATICAL SANS-SERIF DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7E4;MATHEMATICAL SANS-SERIF DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7E5;MATHEMATICAL SANS-SERIF DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7E6;MATHEMATICAL SANS-SERIF DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7E7;MATHEMATICAL SANS-SERIF DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7E8;MATHEMATICAL SANS-SERIF DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7E9;MATHEMATICAL SANS-SERIF DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7EA;MATHEMATICAL SANS-SERIF DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7EB;MATHEMATICAL SANS-SERIF DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7EC;MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7ED;MATHEMATICAL SANS-SERIF BOLD DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7EF;MATHEMATICAL SANS-SERIF BOLD DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7F0;MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7F1;MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7F2;MATHEMATICAL SANS-SERIF BOLD DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7F3;MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7F4;MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7F5;MATHEMATICAL SANS-SERIF BOLD DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D7F6;MATHEMATICAL MONOSPACE DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1D7F7;MATHEMATICAL MONOSPACE DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1D7F8;MATHEMATICAL MONOSPACE DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1D7F9;MATHEMATICAL MONOSPACE DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1D7FA;MATHEMATICAL MONOSPACE DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1D7FB;MATHEMATICAL MONOSPACE DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1D7FC;MATHEMATICAL MONOSPACE DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +1D800;SIGNWRITING HAND-FIST INDEX;So;0;L;;;;;N;;;;; +1D801;SIGNWRITING HAND-CIRCLE INDEX;So;0;L;;;;;N;;;;; +1D802;SIGNWRITING HAND-CUP INDEX;So;0;L;;;;;N;;;;; +1D803;SIGNWRITING HAND-OVAL INDEX;So;0;L;;;;;N;;;;; +1D804;SIGNWRITING HAND-HINGE INDEX;So;0;L;;;;;N;;;;; +1D805;SIGNWRITING HAND-ANGLE INDEX;So;0;L;;;;;N;;;;; +1D806;SIGNWRITING HAND-FIST INDEX BENT;So;0;L;;;;;N;;;;; +1D807;SIGNWRITING HAND-CIRCLE INDEX BENT;So;0;L;;;;;N;;;;; +1D808;SIGNWRITING HAND-FIST THUMB UNDER INDEX BENT;So;0;L;;;;;N;;;;; +1D809;SIGNWRITING HAND-FIST INDEX RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D80A;SIGNWRITING HAND-FIST INDEX CUPPED;So;0;L;;;;;N;;;;; +1D80B;SIGNWRITING HAND-FIST INDEX HINGED;So;0;L;;;;;N;;;;; +1D80C;SIGNWRITING HAND-FIST INDEX HINGED LOW;So;0;L;;;;;N;;;;; +1D80D;SIGNWRITING HAND-CIRCLE INDEX HINGE;So;0;L;;;;;N;;;;; +1D80E;SIGNWRITING HAND-FIST INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D80F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D810;SIGNWRITING HAND-FIST INDEX MIDDLE BENT;So;0;L;;;;;N;;;;; +1D811;SIGNWRITING HAND-FIST INDEX MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D812;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D813;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D814;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP;So;0;L;;;;;N;;;;; +1D815;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED;So;0;L;;;;;N;;;;; +1D816;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED INDEX BENT;So;0;L;;;;;N;;;;; +1D817;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED MIDDLE BENT;So;0;L;;;;;N;;;;; +1D818;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED;So;0;L;;;;;N;;;;; +1D819;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED;So;0;L;;;;;N;;;;; +1D81A;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; +1D81B;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSSED;So;0;L;;;;;N;;;;; +1D81C;SIGNWRITING HAND-FIST MIDDLE BENT OVER INDEX;So;0;L;;;;;N;;;;; +1D81D;SIGNWRITING HAND-FIST INDEX BENT OVER MIDDLE;So;0;L;;;;;N;;;;; +1D81E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D81F;SIGNWRITING HAND-CIRCLE INDEX MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D820;SIGNWRITING HAND-FIST INDEX MIDDLE STRAIGHT THUMB BENT;So;0;L;;;;;N;;;;; +1D821;SIGNWRITING HAND-FIST INDEX MIDDLE BENT THUMB STRAIGHT;So;0;L;;;;;N;;;;; +1D822;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB BENT;So;0;L;;;;;N;;;;; +1D823;SIGNWRITING HAND-FIST INDEX MIDDLE HINGED SPREAD THUMB SIDE;So;0;L;;;;;N;;;;; +1D824;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D825;SIGNWRITING HAND-FIST INDEX UP MIDDLE HINGED THUMB CONJOINED;So;0;L;;;;;N;;;;; +1D826;SIGNWRITING HAND-FIST INDEX HINGED MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; +1D827;SIGNWRITING HAND-FIST INDEX MIDDLE UP SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; +1D828;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CUPPED;So;0;L;;;;;N;;;;; +1D829;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CIRCLED;So;0;L;;;;;N;;;;; +1D82A;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HOOKED;So;0;L;;;;;N;;;;; +1D82B;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB HINGED;So;0;L;;;;;N;;;;; +1D82C;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE STRAIGHT;So;0;L;;;;;N;;;;; +1D82D;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE;So;0;L;;;;;N;;;;; +1D82E;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; +1D82F;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D830;SIGNWRITING HAND-FIST MIDDLE THUMB HOOKED INDEX UP;So;0;L;;;;;N;;;;; +1D831;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE UP;So;0;L;;;;;N;;;;; +1D832;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D833;SIGNWRITING HAND-FIST INDEX MIDDLE CROSSED THUMB SIDE;So;0;L;;;;;N;;;;; +1D834;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED THUMB FORWARD;So;0;L;;;;;N;;;;; +1D835;SIGNWRITING HAND-FIST INDEX MIDDLE CONJOINED CUPPED THUMB FORWARD;So;0;L;;;;;N;;;;; +1D836;SIGNWRITING HAND-FIST MIDDLE THUMB CUPPED INDEX UP;So;0;L;;;;;N;;;;; +1D837;SIGNWRITING HAND-FIST INDEX THUMB CUPPED MIDDLE UP;So;0;L;;;;;N;;;;; +1D838;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX UP;So;0;L;;;;;N;;;;; +1D839;SIGNWRITING HAND-FIST MIDDLE THUMB CIRCLED INDEX HINGED;So;0;L;;;;;N;;;;; +1D83A;SIGNWRITING HAND-FIST INDEX THUMB ANGLED OUT MIDDLE UP;So;0;L;;;;;N;;;;; +1D83B;SIGNWRITING HAND-FIST INDEX THUMB ANGLED IN MIDDLE UP;So;0;L;;;;;N;;;;; +1D83C;SIGNWRITING HAND-FIST INDEX THUMB CIRCLED MIDDLE UP;So;0;L;;;;;N;;;;; +1D83D;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB CONJOINED HINGED;So;0;L;;;;;N;;;;; +1D83E;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED OUT;So;0;L;;;;;N;;;;; +1D83F;SIGNWRITING HAND-FIST INDEX MIDDLE THUMB ANGLED;So;0;L;;;;;N;;;;; +1D840;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX UP;So;0;L;;;;;N;;;;; +1D841;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED OUT INDEX CROSSED;So;0;L;;;;;N;;;;; +1D842;SIGNWRITING HAND-FIST MIDDLE THUMB ANGLED INDEX UP;So;0;L;;;;;N;;;;; +1D843;SIGNWRITING HAND-FIST INDEX THUMB HOOKED MIDDLE HINGED;So;0;L;;;;;N;;;;; +1D844;SIGNWRITING HAND-FLAT FOUR FINGERS;So;0;L;;;;;N;;;;; +1D845;SIGNWRITING HAND-FLAT FOUR FINGERS BENT;So;0;L;;;;;N;;;;; +1D846;SIGNWRITING HAND-FLAT FOUR FINGERS HINGED;So;0;L;;;;;N;;;;; +1D847;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D848;SIGNWRITING HAND-FLAT FOUR FINGERS CONJOINED SPLIT;So;0;L;;;;;N;;;;; +1D849;SIGNWRITING HAND-CLAW FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D84A;SIGNWRITING HAND-FIST FOUR FINGERS CONJOINED BENT;So;0;L;;;;;N;;;;; +1D84B;SIGNWRITING HAND-HINGE FOUR FINGERS CONJOINED;So;0;L;;;;;N;;;;; +1D84C;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D84D;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D84E;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; +1D84F;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD FOUR BENT;So;0;L;;;;;N;;;;; +1D850;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; +1D851;SIGNWRITING HAND-FLAT HEEL FIVE FINGERS SPREAD BENT;So;0;L;;;;;N;;;;; +1D852;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD THUMB FORWARD;So;0;L;;;;;N;;;;; +1D853;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D854;SIGNWRITING HAND-CUP FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; +1D855;SIGNWRITING HAND-HINGE FIVE FINGERS SPREAD OPEN;So;0;L;;;;;N;;;;; +1D856;SIGNWRITING HAND-OVAL FIVE FINGERS SPREAD;So;0;L;;;;;N;;;;; +1D857;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED;So;0;L;;;;;N;;;;; +1D858;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED THUMB SIDE;So;0;L;;;;;N;;;;; +1D859;SIGNWRITING HAND-FLAT FIVE FINGERS SPREAD HINGED NO THUMB;So;0;L;;;;;N;;;;; +1D85A;SIGNWRITING HAND-FLAT;So;0;L;;;;;N;;;;; +1D85B;SIGNWRITING HAND-FLAT BETWEEN PALM FACINGS;So;0;L;;;;;N;;;;; +1D85C;SIGNWRITING HAND-FLAT HEEL;So;0;L;;;;;N;;;;; +1D85D;SIGNWRITING HAND-FLAT THUMB SIDE;So;0;L;;;;;N;;;;; +1D85E;SIGNWRITING HAND-FLAT HEEL THUMB SIDE;So;0;L;;;;;N;;;;; +1D85F;SIGNWRITING HAND-FLAT THUMB BENT;So;0;L;;;;;N;;;;; +1D860;SIGNWRITING HAND-FLAT THUMB FORWARD;So;0;L;;;;;N;;;;; +1D861;SIGNWRITING HAND-FLAT SPLIT INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D862;SIGNWRITING HAND-FLAT SPLIT CENTRE;So;0;L;;;;;N;;;;; +1D863;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE;So;0;L;;;;;N;;;;; +1D864;SIGNWRITING HAND-FLAT SPLIT CENTRE THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D865;SIGNWRITING HAND-FLAT SPLIT LITTLE;So;0;L;;;;;N;;;;; +1D866;SIGNWRITING HAND-CLAW;So;0;L;;;;;N;;;;; +1D867;SIGNWRITING HAND-CLAW THUMB SIDE;So;0;L;;;;;N;;;;; +1D868;SIGNWRITING HAND-CLAW NO THUMB;So;0;L;;;;;N;;;;; +1D869;SIGNWRITING HAND-CLAW THUMB FORWARD;So;0;L;;;;;N;;;;; +1D86A;SIGNWRITING HAND-HOOK CURLICUE;So;0;L;;;;;N;;;;; +1D86B;SIGNWRITING HAND-HOOK;So;0;L;;;;;N;;;;; +1D86C;SIGNWRITING HAND-CUP OPEN;So;0;L;;;;;N;;;;; +1D86D;SIGNWRITING HAND-CUP;So;0;L;;;;;N;;;;; +1D86E;SIGNWRITING HAND-CUP OPEN THUMB SIDE;So;0;L;;;;;N;;;;; +1D86F;SIGNWRITING HAND-CUP THUMB SIDE;So;0;L;;;;;N;;;;; +1D870;SIGNWRITING HAND-CUP OPEN NO THUMB;So;0;L;;;;;N;;;;; +1D871;SIGNWRITING HAND-CUP NO THUMB;So;0;L;;;;;N;;;;; +1D872;SIGNWRITING HAND-CUP OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; +1D873;SIGNWRITING HAND-CUP THUMB FORWARD;So;0;L;;;;;N;;;;; +1D874;SIGNWRITING HAND-CURLICUE OPEN;So;0;L;;;;;N;;;;; +1D875;SIGNWRITING HAND-CURLICUE;So;0;L;;;;;N;;;;; +1D876;SIGNWRITING HAND-CIRCLE;So;0;L;;;;;N;;;;; +1D877;SIGNWRITING HAND-OVAL;So;0;L;;;;;N;;;;; +1D878;SIGNWRITING HAND-OVAL THUMB SIDE;So;0;L;;;;;N;;;;; +1D879;SIGNWRITING HAND-OVAL NO THUMB;So;0;L;;;;;N;;;;; +1D87A;SIGNWRITING HAND-OVAL THUMB FORWARD;So;0;L;;;;;N;;;;; +1D87B;SIGNWRITING HAND-HINGE OPEN;So;0;L;;;;;N;;;;; +1D87C;SIGNWRITING HAND-HINGE OPEN THUMB FORWARD;So;0;L;;;;;N;;;;; +1D87D;SIGNWRITING HAND-HINGE;So;0;L;;;;;N;;;;; +1D87E;SIGNWRITING HAND-HINGE SMALL;So;0;L;;;;;N;;;;; +1D87F;SIGNWRITING HAND-HINGE OPEN THUMB SIDE;So;0;L;;;;;N;;;;; +1D880;SIGNWRITING HAND-HINGE THUMB SIDE;So;0;L;;;;;N;;;;; +1D881;SIGNWRITING HAND-HINGE OPEN NO THUMB;So;0;L;;;;;N;;;;; +1D882;SIGNWRITING HAND-HINGE NO THUMB;So;0;L;;;;;N;;;;; +1D883;SIGNWRITING HAND-HINGE THUMB SIDE TOUCHING INDEX;So;0;L;;;;;N;;;;; +1D884;SIGNWRITING HAND-HINGE THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; +1D885;SIGNWRITING HAND-ANGLE;So;0;L;;;;;N;;;;; +1D886;SIGNWRITING HAND-FIST INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D887;SIGNWRITING HAND-CIRCLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D888;SIGNWRITING HAND-HINGE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D889;SIGNWRITING HAND-ANGLE INDEX MIDDLE RING;So;0;L;;;;;N;;;;; +1D88A;SIGNWRITING HAND-HINGE LITTLE;So;0;L;;;;;N;;;;; +1D88B;SIGNWRITING HAND-FIST INDEX MIDDLE RING BENT;So;0;L;;;;;N;;;;; +1D88C;SIGNWRITING HAND-FIST INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; +1D88D;SIGNWRITING HAND-HINGE INDEX MIDDLE RING CONJOINED;So;0;L;;;;;N;;;;; +1D88E;SIGNWRITING HAND-FIST LITTLE DOWN;So;0;L;;;;;N;;;;; +1D88F;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE STRAIGHT;So;0;L;;;;;N;;;;; +1D890;SIGNWRITING HAND-FIST LITTLE DOWN RIPPLE CURVED;So;0;L;;;;;N;;;;; +1D891;SIGNWRITING HAND-FIST LITTLE DOWN OTHERS CIRCLED;So;0;L;;;;;N;;;;; +1D892;SIGNWRITING HAND-FIST LITTLE UP;So;0;L;;;;;N;;;;; +1D893;SIGNWRITING HAND-FIST THUMB UNDER LITTLE UP;So;0;L;;;;;N;;;;; +1D894;SIGNWRITING HAND-CIRCLE LITTLE UP;So;0;L;;;;;N;;;;; +1D895;SIGNWRITING HAND-OVAL LITTLE UP;So;0;L;;;;;N;;;;; +1D896;SIGNWRITING HAND-ANGLE LITTLE UP;So;0;L;;;;;N;;;;; +1D897;SIGNWRITING HAND-FIST LITTLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D898;SIGNWRITING HAND-FIST LITTLE BENT;So;0;L;;;;;N;;;;; +1D899;SIGNWRITING HAND-FIST LITTLE TOUCHES THUMB;So;0;L;;;;;N;;;;; +1D89A;SIGNWRITING HAND-FIST LITTLE THUMB;So;0;L;;;;;N;;;;; +1D89B;SIGNWRITING HAND-HINGE LITTLE THUMB;So;0;L;;;;;N;;;;; +1D89C;SIGNWRITING HAND-FIST LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D89D;SIGNWRITING HAND-HINGE LITTLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D89E;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB OUT;So;0;L;;;;;N;;;;; +1D89F;SIGNWRITING HAND-ANGLE LITTLE INDEX THUMB INDEX THUMB;So;0;L;;;;;N;;;;; +1D8A0;SIGNWRITING HAND-FIST LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A1;SIGNWRITING HAND-CIRCLE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A2;SIGNWRITING HAND-HINGE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A3;SIGNWRITING HAND-ANGLE LITTLE INDEX;So;0;L;;;;;N;;;;; +1D8A4;SIGNWRITING HAND-FIST INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A5;SIGNWRITING HAND-CIRCLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A6;SIGNWRITING HAND-HINGE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A7;SIGNWRITING HAND-HINGE RING;So;0;L;;;;;N;;;;; +1D8A8;SIGNWRITING HAND-ANGLE INDEX MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8A9;SIGNWRITING HAND-FIST INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; +1D8AA;SIGNWRITING HAND-CIRCLE INDEX MIDDLE CROSS LITTLE;So;0;L;;;;;N;;;;; +1D8AB;SIGNWRITING HAND-FIST RING DOWN;So;0;L;;;;;N;;;;; +1D8AC;SIGNWRITING HAND-HINGE RING DOWN INDEX THUMB HOOK MIDDLE;So;0;L;;;;;N;;;;; +1D8AD;SIGNWRITING HAND-ANGLE RING DOWN MIDDLE THUMB INDEX CROSS;So;0;L;;;;;N;;;;; +1D8AE;SIGNWRITING HAND-FIST RING UP;So;0;L;;;;;N;;;;; +1D8AF;SIGNWRITING HAND-FIST RING RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D8B0;SIGNWRITING HAND-FIST RING LITTLE;So;0;L;;;;;N;;;;; +1D8B1;SIGNWRITING HAND-CIRCLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8B2;SIGNWRITING HAND-OVAL RING LITTLE;So;0;L;;;;;N;;;;; +1D8B3;SIGNWRITING HAND-ANGLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8B4;SIGNWRITING HAND-FIST RING MIDDLE;So;0;L;;;;;N;;;;; +1D8B5;SIGNWRITING HAND-FIST RING MIDDLE CONJOINED;So;0;L;;;;;N;;;;; +1D8B6;SIGNWRITING HAND-FIST RING MIDDLE RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D8B7;SIGNWRITING HAND-FIST RING INDEX;So;0;L;;;;;N;;;;; +1D8B8;SIGNWRITING HAND-FIST RING THUMB;So;0;L;;;;;N;;;;; +1D8B9;SIGNWRITING HAND-HOOK RING THUMB;So;0;L;;;;;N;;;;; +1D8BA;SIGNWRITING HAND-FIST INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8BB;SIGNWRITING HAND-CIRCLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8BC;SIGNWRITING HAND-CURLICUE INDEX RING LITTLE ON;So;0;L;;;;;N;;;;; +1D8BD;SIGNWRITING HAND-HOOK INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8BE;SIGNWRITING HAND-HOOK INDEX RING LITTLE IN;So;0;L;;;;;N;;;;; +1D8BF;SIGNWRITING HAND-HOOK INDEX RING LITTLE UNDER;So;0;L;;;;;N;;;;; +1D8C0;SIGNWRITING HAND-CUP INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C1;SIGNWRITING HAND-HINGE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C2;SIGNWRITING HAND-ANGLE INDEX RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8C3;SIGNWRITING HAND-ANGLE INDEX RING LITTLE;So;0;L;;;;;N;;;;; +1D8C4;SIGNWRITING HAND-FIST MIDDLE DOWN;So;0;L;;;;;N;;;;; +1D8C5;SIGNWRITING HAND-HINGE MIDDLE;So;0;L;;;;;N;;;;; +1D8C6;SIGNWRITING HAND-FIST MIDDLE UP;So;0;L;;;;;N;;;;; +1D8C7;SIGNWRITING HAND-CIRCLE MIDDLE UP;So;0;L;;;;;N;;;;; +1D8C8;SIGNWRITING HAND-FIST MIDDLE RAISED KNUCKLE;So;0;L;;;;;N;;;;; +1D8C9;SIGNWRITING HAND-FIST MIDDLE UP THUMB SIDE;So;0;L;;;;;N;;;;; +1D8CA;SIGNWRITING HAND-HOOK MIDDLE THUMB;So;0;L;;;;;N;;;;; +1D8CB;SIGNWRITING HAND-FIST MIDDLE THUMB LITTLE;So;0;L;;;;;N;;;;; +1D8CC;SIGNWRITING HAND-FIST MIDDLE LITTLE;So;0;L;;;;;N;;;;; +1D8CD;SIGNWRITING HAND-FIST MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8CE;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8CF;SIGNWRITING HAND-CURLICUE MIDDLE RING LITTLE ON;So;0;L;;;;;N;;;;; +1D8D0;SIGNWRITING HAND-CUP MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D1;SIGNWRITING HAND-HINGE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D2;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE OUT;So;0;L;;;;;N;;;;; +1D8D3;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE IN;So;0;L;;;;;N;;;;; +1D8D4;SIGNWRITING HAND-ANGLE MIDDLE RING LITTLE;So;0;L;;;;;N;;;;; +1D8D5;SIGNWRITING HAND-CIRCLE MIDDLE RING LITTLE BENT;So;0;L;;;;;N;;;;; +1D8D6;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; +1D8D7;SIGNWRITING HAND-CLAW MIDDLE RING LITTLE CONJOINED SIDE;So;0;L;;;;;N;;;;; +1D8D8;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED OUT;So;0;L;;;;;N;;;;; +1D8D9;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED IN;So;0;L;;;;;N;;;;; +1D8DA;SIGNWRITING HAND-HOOK MIDDLE RING LITTLE CONJOINED;So;0;L;;;;;N;;;;; +1D8DB;SIGNWRITING HAND-HINGE INDEX HINGED;So;0;L;;;;;N;;;;; +1D8DC;SIGNWRITING HAND-FIST INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D8DD;SIGNWRITING HAND-HINGE INDEX THUMB SIDE;So;0;L;;;;;N;;;;; +1D8DE;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB DIAGONAL;So;0;L;;;;;N;;;;; +1D8DF;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB CONJOINED;So;0;L;;;;;N;;;;; +1D8E0;SIGNWRITING HAND-FIST INDEX THUMB SIDE THUMB BENT;So;0;L;;;;;N;;;;; +1D8E1;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX BENT;So;0;L;;;;;N;;;;; +1D8E2;SIGNWRITING HAND-FIST INDEX THUMB SIDE BOTH BENT;So;0;L;;;;;N;;;;; +1D8E3;SIGNWRITING HAND-FIST INDEX THUMB SIDE INDEX HINGE;So;0;L;;;;;N;;;;; +1D8E4;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX STRAIGHT;So;0;L;;;;;N;;;;; +1D8E5;SIGNWRITING HAND-FIST INDEX THUMB FORWARD INDEX BENT;So;0;L;;;;;N;;;;; +1D8E6;SIGNWRITING HAND-FIST INDEX THUMB HOOK;So;0;L;;;;;N;;;;; +1D8E7;SIGNWRITING HAND-FIST INDEX THUMB CURLICUE;So;0;L;;;;;N;;;;; +1D8E8;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; +1D8E9;SIGNWRITING HAND-CLAW INDEX THUMB CURVE THUMB INSIDE;So;0;L;;;;;N;;;;; +1D8EA;SIGNWRITING HAND-FIST INDEX THUMB CURVE THUMB UNDER;So;0;L;;;;;N;;;;; +1D8EB;SIGNWRITING HAND-FIST INDEX THUMB CIRCLE;So;0;L;;;;;N;;;;; +1D8EC;SIGNWRITING HAND-CUP INDEX THUMB;So;0;L;;;;;N;;;;; +1D8ED;SIGNWRITING HAND-CUP INDEX THUMB OPEN;So;0;L;;;;;N;;;;; +1D8EE;SIGNWRITING HAND-HINGE INDEX THUMB OPEN;So;0;L;;;;;N;;;;; +1D8EF;SIGNWRITING HAND-HINGE INDEX THUMB LARGE;So;0;L;;;;;N;;;;; +1D8F0;SIGNWRITING HAND-HINGE INDEX THUMB;So;0;L;;;;;N;;;;; +1D8F1;SIGNWRITING HAND-HINGE INDEX THUMB SMALL;So;0;L;;;;;N;;;;; +1D8F2;SIGNWRITING HAND-ANGLE INDEX THUMB OUT;So;0;L;;;;;N;;;;; +1D8F3;SIGNWRITING HAND-ANGLE INDEX THUMB IN;So;0;L;;;;;N;;;;; +1D8F4;SIGNWRITING HAND-ANGLE INDEX THUMB;So;0;L;;;;;N;;;;; +1D8F5;SIGNWRITING HAND-FIST THUMB;So;0;L;;;;;N;;;;; +1D8F6;SIGNWRITING HAND-FIST THUMB HEEL;So;0;L;;;;;N;;;;; +1D8F7;SIGNWRITING HAND-FIST THUMB SIDE DIAGONAL;So;0;L;;;;;N;;;;; +1D8F8;SIGNWRITING HAND-FIST THUMB SIDE CONJOINED;So;0;L;;;;;N;;;;; +1D8F9;SIGNWRITING HAND-FIST THUMB SIDE BENT;So;0;L;;;;;N;;;;; +1D8FA;SIGNWRITING HAND-FIST THUMB FORWARD;So;0;L;;;;;N;;;;; +1D8FB;SIGNWRITING HAND-FIST THUMB BETWEEN INDEX MIDDLE;So;0;L;;;;;N;;;;; +1D8FC;SIGNWRITING HAND-FIST THUMB BETWEEN MIDDLE RING;So;0;L;;;;;N;;;;; +1D8FD;SIGNWRITING HAND-FIST THUMB BETWEEN RING LITTLE;So;0;L;;;;;N;;;;; +1D8FE;SIGNWRITING HAND-FIST THUMB UNDER TWO FINGERS;So;0;L;;;;;N;;;;; +1D8FF;SIGNWRITING HAND-FIST THUMB OVER TWO FINGERS;So;0;L;;;;;N;;;;; +1D900;SIGNWRITING HAND-FIST THUMB UNDER THREE FINGERS;So;0;L;;;;;N;;;;; +1D901;SIGNWRITING HAND-FIST THUMB UNDER FOUR FINGERS;So;0;L;;;;;N;;;;; +1D902;SIGNWRITING HAND-FIST THUMB OVER FOUR RAISED KNUCKLES;So;0;L;;;;;N;;;;; +1D903;SIGNWRITING HAND-FIST;So;0;L;;;;;N;;;;; +1D904;SIGNWRITING HAND-FIST HEEL;So;0;L;;;;;N;;;;; +1D905;SIGNWRITING TOUCH SINGLE;So;0;L;;;;;N;;;;; +1D906;SIGNWRITING TOUCH MULTIPLE;So;0;L;;;;;N;;;;; +1D907;SIGNWRITING TOUCH BETWEEN;So;0;L;;;;;N;;;;; +1D908;SIGNWRITING GRASP SINGLE;So;0;L;;;;;N;;;;; +1D909;SIGNWRITING GRASP MULTIPLE;So;0;L;;;;;N;;;;; +1D90A;SIGNWRITING GRASP BETWEEN;So;0;L;;;;;N;;;;; +1D90B;SIGNWRITING STRIKE SINGLE;So;0;L;;;;;N;;;;; +1D90C;SIGNWRITING STRIKE MULTIPLE;So;0;L;;;;;N;;;;; +1D90D;SIGNWRITING STRIKE BETWEEN;So;0;L;;;;;N;;;;; +1D90E;SIGNWRITING BRUSH SINGLE;So;0;L;;;;;N;;;;; +1D90F;SIGNWRITING BRUSH MULTIPLE;So;0;L;;;;;N;;;;; +1D910;SIGNWRITING BRUSH BETWEEN;So;0;L;;;;;N;;;;; +1D911;SIGNWRITING RUB SINGLE;So;0;L;;;;;N;;;;; +1D912;SIGNWRITING RUB MULTIPLE;So;0;L;;;;;N;;;;; +1D913;SIGNWRITING RUB BETWEEN;So;0;L;;;;;N;;;;; +1D914;SIGNWRITING SURFACE SYMBOLS;So;0;L;;;;;N;;;;; +1D915;SIGNWRITING SURFACE BETWEEN;So;0;L;;;;;N;;;;; +1D916;SIGNWRITING SQUEEZE LARGE SINGLE;So;0;L;;;;;N;;;;; +1D917;SIGNWRITING SQUEEZE SMALL SINGLE;So;0;L;;;;;N;;;;; +1D918;SIGNWRITING SQUEEZE LARGE MULTIPLE;So;0;L;;;;;N;;;;; +1D919;SIGNWRITING SQUEEZE SMALL MULTIPLE;So;0;L;;;;;N;;;;; +1D91A;SIGNWRITING SQUEEZE SEQUENTIAL;So;0;L;;;;;N;;;;; +1D91B;SIGNWRITING FLICK LARGE SINGLE;So;0;L;;;;;N;;;;; +1D91C;SIGNWRITING FLICK SMALL SINGLE;So;0;L;;;;;N;;;;; +1D91D;SIGNWRITING FLICK LARGE MULTIPLE;So;0;L;;;;;N;;;;; +1D91E;SIGNWRITING FLICK SMALL MULTIPLE;So;0;L;;;;;N;;;;; +1D91F;SIGNWRITING FLICK SEQUENTIAL;So;0;L;;;;;N;;;;; +1D920;SIGNWRITING SQUEEZE FLICK ALTERNATING;So;0;L;;;;;N;;;;; +1D921;SIGNWRITING MOVEMENT-HINGE UP DOWN LARGE;So;0;L;;;;;N;;;;; +1D922;SIGNWRITING MOVEMENT-HINGE UP DOWN SMALL;So;0;L;;;;;N;;;;; +1D923;SIGNWRITING MOVEMENT-HINGE UP SEQUENTIAL;So;0;L;;;;;N;;;;; +1D924;SIGNWRITING MOVEMENT-HINGE DOWN SEQUENTIAL;So;0;L;;;;;N;;;;; +1D925;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING LARGE;So;0;L;;;;;N;;;;; +1D926;SIGNWRITING MOVEMENT-HINGE UP DOWN ALTERNATING SMALL;So;0;L;;;;;N;;;;; +1D927;SIGNWRITING MOVEMENT-HINGE SIDE TO SIDE SCISSORS;So;0;L;;;;;N;;;;; +1D928;SIGNWRITING MOVEMENT-WALLPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; +1D929;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CONTACT;So;0;L;;;;;N;;;;; +1D92A;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; +1D92B;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; +1D92C;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; +1D92D;SIGNWRITING MOVEMENT-WALLPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; +1D92E;SIGNWRITING MOVEMENT-WALLPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D92F;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; +1D930;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D931;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; +1D932;SIGNWRITING MOVEMENT-WALLPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D933;SIGNWRITING MOVEMENT-WALLPLANE CROSS;So;0;L;;;;;N;;;;; +1D934;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; +1D935;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D936;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING;So;0;L;;;;;N;;;;; +1D937;SIGNWRITING MOVEMENT-WALLPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D938;SIGNWRITING MOVEMENT-WALLPLANE BEND SMALL;So;0;L;;;;;N;;;;; +1D939;SIGNWRITING MOVEMENT-WALLPLANE BEND MEDIUM;So;0;L;;;;;N;;;;; +1D93A;SIGNWRITING MOVEMENT-WALLPLANE BEND LARGE;So;0;L;;;;;N;;;;; +1D93B;SIGNWRITING MOVEMENT-WALLPLANE CORNER SMALL;So;0;L;;;;;N;;;;; +1D93C;SIGNWRITING MOVEMENT-WALLPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; +1D93D;SIGNWRITING MOVEMENT-WALLPLANE CORNER LARGE;So;0;L;;;;;N;;;;; +1D93E;SIGNWRITING MOVEMENT-WALLPLANE CORNER ROTATION;So;0;L;;;;;N;;;;; +1D93F;SIGNWRITING MOVEMENT-WALLPLANE CHECK SMALL;So;0;L;;;;;N;;;;; +1D940;SIGNWRITING MOVEMENT-WALLPLANE CHECK MEDIUM;So;0;L;;;;;N;;;;; +1D941;SIGNWRITING MOVEMENT-WALLPLANE CHECK LARGE;So;0;L;;;;;N;;;;; +1D942;SIGNWRITING MOVEMENT-WALLPLANE BOX SMALL;So;0;L;;;;;N;;;;; +1D943;SIGNWRITING MOVEMENT-WALLPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; +1D944;SIGNWRITING MOVEMENT-WALLPLANE BOX LARGE;So;0;L;;;;;N;;;;; +1D945;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; +1D946;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; +1D947;SIGNWRITING MOVEMENT-WALLPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; +1D948;SIGNWRITING MOVEMENT-WALLPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; +1D949;SIGNWRITING MOVEMENT-WALLPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; +1D94A;SIGNWRITING MOVEMENT-WALLPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; +1D94B;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D94C;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D94D;SIGNWRITING TRAVEL-WALLPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D94E;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D94F;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D950;SIGNWRITING TRAVEL-WALLPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D951;SIGNWRITING TRAVEL-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; +1D952;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL SINGLE;So;0;L;;;;;N;;;;; +1D953;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL DOUBLE;So;0;L;;;;;N;;;;; +1D954;SIGNWRITING TRAVEL-WALLPLANE ARM SPIRAL TRIPLE;So;0;L;;;;;N;;;;; +1D955;SIGNWRITING MOVEMENT-DIAGONAL AWAY SMALL;So;0;L;;;;;N;;;;; +1D956;SIGNWRITING MOVEMENT-DIAGONAL AWAY MEDIUM;So;0;L;;;;;N;;;;; +1D957;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGE;So;0;L;;;;;N;;;;; +1D958;SIGNWRITING MOVEMENT-DIAGONAL AWAY LARGEST;So;0;L;;;;;N;;;;; +1D959;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS SMALL;So;0;L;;;;;N;;;;; +1D95A;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS MEDIUM;So;0;L;;;;;N;;;;; +1D95B;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGE;So;0;L;;;;;N;;;;; +1D95C;SIGNWRITING MOVEMENT-DIAGONAL TOWARDS LARGEST;So;0;L;;;;;N;;;;; +1D95D;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY SMALL;So;0;L;;;;;N;;;;; +1D95E;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY MEDIUM;So;0;L;;;;;N;;;;; +1D95F;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGE;So;0;L;;;;;N;;;;; +1D960;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN AWAY LARGEST;So;0;L;;;;;N;;;;; +1D961;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS SMALL;So;0;L;;;;;N;;;;; +1D962;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS MEDIUM;So;0;L;;;;;N;;;;; +1D963;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGE;So;0;L;;;;;N;;;;; +1D964;SIGNWRITING MOVEMENT-DIAGONAL BETWEEN TOWARDS LARGEST;So;0;L;;;;;N;;;;; +1D965;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT SMALL;So;0;L;;;;;N;;;;; +1D966;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT MEDIUM;So;0;L;;;;;N;;;;; +1D967;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGE;So;0;L;;;;;N;;;;; +1D968;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE STRAIGHT LARGEST;So;0;L;;;;;N;;;;; +1D969;SIGNWRITING MOVEMENT-FLOORPLANE SINGLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D96A;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE STRAIGHT;So;0;L;;;;;N;;;;; +1D96B;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D96C;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING;So;0;L;;;;;N;;;;; +1D96D;SIGNWRITING MOVEMENT-FLOORPLANE DOUBLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D96E;SIGNWRITING MOVEMENT-FLOORPLANE CROSS;So;0;L;;;;;N;;;;; +1D96F;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE STRAIGHT MOVEMENT;So;0;L;;;;;N;;;;; +1D970;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE WRIST FLEX;So;0;L;;;;;N;;;;; +1D971;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING MOVEMENT;So;0;L;;;;;N;;;;; +1D972;SIGNWRITING MOVEMENT-FLOORPLANE TRIPLE ALTERNATING WRIST FLEX;So;0;L;;;;;N;;;;; +1D973;SIGNWRITING MOVEMENT-FLOORPLANE BEND;So;0;L;;;;;N;;;;; +1D974;SIGNWRITING MOVEMENT-FLOORPLANE CORNER SMALL;So;0;L;;;;;N;;;;; +1D975;SIGNWRITING MOVEMENT-FLOORPLANE CORNER MEDIUM;So;0;L;;;;;N;;;;; +1D976;SIGNWRITING MOVEMENT-FLOORPLANE CORNER LARGE;So;0;L;;;;;N;;;;; +1D977;SIGNWRITING MOVEMENT-FLOORPLANE CHECK;So;0;L;;;;;N;;;;; +1D978;SIGNWRITING MOVEMENT-FLOORPLANE BOX SMALL;So;0;L;;;;;N;;;;; +1D979;SIGNWRITING MOVEMENT-FLOORPLANE BOX MEDIUM;So;0;L;;;;;N;;;;; +1D97A;SIGNWRITING MOVEMENT-FLOORPLANE BOX LARGE;So;0;L;;;;;N;;;;; +1D97B;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG SMALL;So;0;L;;;;;N;;;;; +1D97C;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG MEDIUM;So;0;L;;;;;N;;;;; +1D97D;SIGNWRITING MOVEMENT-FLOORPLANE ZIGZAG LARGE;So;0;L;;;;;N;;;;; +1D97E;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS SMALL;So;0;L;;;;;N;;;;; +1D97F;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS MEDIUM;So;0;L;;;;;N;;;;; +1D980;SIGNWRITING MOVEMENT-FLOORPLANE PEAKS LARGE;So;0;L;;;;;N;;;;; +1D981;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D982;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D983;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D984;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D985;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D986;SIGNWRITING TRAVEL-FLOORPLANE ROTATION-WALLPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D987;SIGNWRITING TRAVEL-FLOORPLANE SHAKING;So;0;L;;;;;N;;;;; +1D988;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER SMALL;So;0;L;;;;;N;;;;; +1D989;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER MEDIUM;So;0;L;;;;;N;;;;; +1D98A;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGE;So;0;L;;;;;N;;;;; +1D98B;SIGNWRITING MOVEMENT-WALLPLANE CURVE QUARTER LARGEST;So;0;L;;;;;N;;;;; +1D98C;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE SMALL;So;0;L;;;;;N;;;;; +1D98D;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE MEDIUM;So;0;L;;;;;N;;;;; +1D98E;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGE;So;0;L;;;;;N;;;;; +1D98F;SIGNWRITING MOVEMENT-WALLPLANE CURVE HALF-CIRCLE LARGEST;So;0;L;;;;;N;;;;; +1D990;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE SMALL;So;0;L;;;;;N;;;;; +1D991;SIGNWRITING MOVEMENT-WALLPLANE CURVE THREE-QUARTER CIRCLE MEDIUM;So;0;L;;;;;N;;;;; +1D992;SIGNWRITING MOVEMENT-WALLPLANE HUMP SMALL;So;0;L;;;;;N;;;;; +1D993;SIGNWRITING MOVEMENT-WALLPLANE HUMP MEDIUM;So;0;L;;;;;N;;;;; +1D994;SIGNWRITING MOVEMENT-WALLPLANE HUMP LARGE;So;0;L;;;;;N;;;;; +1D995;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL;So;0;L;;;;;N;;;;; +1D996;SIGNWRITING MOVEMENT-WALLPLANE LOOP MEDIUM;So;0;L;;;;;N;;;;; +1D997;SIGNWRITING MOVEMENT-WALLPLANE LOOP LARGE;So;0;L;;;;;N;;;;; +1D998;SIGNWRITING MOVEMENT-WALLPLANE LOOP SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D999;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE SMALL;So;0;L;;;;;N;;;;; +1D99A;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE MEDIUM;So;0;L;;;;;N;;;;; +1D99B;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE DOUBLE LARGE;So;0;L;;;;;N;;;;; +1D99C;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE SMALL;So;0;L;;;;;N;;;;; +1D99D;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE MEDIUM;So;0;L;;;;;N;;;;; +1D99E;SIGNWRITING MOVEMENT-WALLPLANE WAVE CURVE TRIPLE LARGE;So;0;L;;;;;N;;;;; +1D99F;SIGNWRITING MOVEMENT-WALLPLANE CURVE THEN STRAIGHT;So;0;L;;;;;N;;;;; +1D9A0;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS SMALL;So;0;L;;;;;N;;;;; +1D9A1;SIGNWRITING MOVEMENT-WALLPLANE CURVED CROSS MEDIUM;So;0;L;;;;;N;;;;; +1D9A2;SIGNWRITING ROTATION-WALLPLANE SINGLE;So;0;L;;;;;N;;;;; +1D9A3;SIGNWRITING ROTATION-WALLPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D9A4;SIGNWRITING ROTATION-WALLPLANE ALTERNATE;So;0;L;;;;;N;;;;; +1D9A5;SIGNWRITING MOVEMENT-WALLPLANE SHAKING;So;0;L;;;;;N;;;;; +1D9A6;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A7;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A8;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9A9;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AA;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AB;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AC;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING FRONT WALL;So;0;L;;;;;N;;;;; +1D9AD;SIGNWRITING MOVEMENT-WALLPLANE CURVE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9AE;SIGNWRITING MOVEMENT-WALLPLANE HUMP HITTING CHEST;So;0;L;;;;;N;;;;; +1D9AF;SIGNWRITING MOVEMENT-WALLPLANE LOOP HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B0;SIGNWRITING MOVEMENT-WALLPLANE WAVE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B1;SIGNWRITING ROTATION-WALLPLANE SINGLE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B2;SIGNWRITING ROTATION-WALLPLANE DOUBLE HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B3;SIGNWRITING ROTATION-WALLPLANE ALTERNATING HITTING CHEST;So;0;L;;;;;N;;;;; +1D9B4;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH SMALL;So;0;L;;;;;N;;;;; +1D9B5;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH MEDIUM;So;0;L;;;;;N;;;;; +1D9B6;SIGNWRITING MOVEMENT-WALLPLANE WAVE DIAGONAL PATH LARGE;So;0;L;;;;;N;;;;; +1D9B7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; +1D9B8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; +1D9B9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9BA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9BB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING SMALL TRIPLE;So;0;L;;;;;N;;;;; +1D9BC;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING CEILING LARGE TRIPLE;So;0;L;;;;;N;;;;; +1D9BD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9BE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9BF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9C0;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING CEILING LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9C1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING SMALL;So;0;L;;;;;N;;;;; +1D9C2;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING CEILING LARGE;So;0;L;;;;;N;;;;; +1D9C3;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C4;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C5;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING CEILING;So;0;L;;;;;N;;;;; +1D9C6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; +1D9C7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; +1D9C8;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9C9;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9CA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE SMALL TRIPLE;So;0;L;;;;;N;;;;; +1D9CB;SIGNWRITING MOVEMENT-FLOORPLANE HUMP HITTING FLOOR TRIPLE LARGE TRIPLE;So;0;L;;;;;N;;;;; +1D9CC;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9CD;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9CE;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9CF;SIGNWRITING MOVEMENT-FLOORPLANE LOOP HITTING FLOOR LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9D0;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR SMALL;So;0;L;;;;;N;;;;; +1D9D1;SIGNWRITING MOVEMENT-FLOORPLANE WAVE HITTING FLOOR LARGE;So;0;L;;;;;N;;;;; +1D9D2;SIGNWRITING ROTATION-FLOORPLANE SINGLE HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D3;SIGNWRITING ROTATION-FLOORPLANE DOUBLE HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D4;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING HITTING FLOOR;So;0;L;;;;;N;;;;; +1D9D5;SIGNWRITING MOVEMENT-FLOORPLANE CURVE SMALL;So;0;L;;;;;N;;;;; +1D9D6;SIGNWRITING MOVEMENT-FLOORPLANE CURVE MEDIUM;So;0;L;;;;;N;;;;; +1D9D7;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGE;So;0;L;;;;;N;;;;; +1D9D8;SIGNWRITING MOVEMENT-FLOORPLANE CURVE LARGEST;So;0;L;;;;;N;;;;; +1D9D9;SIGNWRITING MOVEMENT-FLOORPLANE CURVE COMBINED;So;0;L;;;;;N;;;;; +1D9DA;SIGNWRITING MOVEMENT-FLOORPLANE HUMP SMALL;So;0;L;;;;;N;;;;; +1D9DB;SIGNWRITING MOVEMENT-FLOORPLANE LOOP SMALL;So;0;L;;;;;N;;;;; +1D9DC;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SNAKE;So;0;L;;;;;N;;;;; +1D9DD;SIGNWRITING MOVEMENT-FLOORPLANE WAVE SMALL;So;0;L;;;;;N;;;;; +1D9DE;SIGNWRITING MOVEMENT-FLOORPLANE WAVE LARGE;So;0;L;;;;;N;;;;; +1D9DF;SIGNWRITING ROTATION-FLOORPLANE SINGLE;So;0;L;;;;;N;;;;; +1D9E0;SIGNWRITING ROTATION-FLOORPLANE DOUBLE;So;0;L;;;;;N;;;;; +1D9E1;SIGNWRITING ROTATION-FLOORPLANE ALTERNATING;So;0;L;;;;;N;;;;; +1D9E2;SIGNWRITING MOVEMENT-FLOORPLANE SHAKING PARALLEL;So;0;L;;;;;N;;;;; +1D9E3;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9E4;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM SINGLE;So;0;L;;;;;N;;;;; +1D9E5;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9E6;SIGNWRITING MOVEMENT-WALLPLANE ARM CIRCLE MEDIUM DOUBLE;So;0;L;;;;;N;;;;; +1D9E7;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL SINGLE;So;0;L;;;;;N;;;;; +1D9E8;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM SINGLE;So;0;L;;;;;N;;;;; +1D9E9;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE SINGLE;So;0;L;;;;;N;;;;; +1D9EA;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL SMALL DOUBLE;So;0;L;;;;;N;;;;; +1D9EB;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL MEDIUM DOUBLE;So;0;L;;;;;N;;;;; +1D9EC;SIGNWRITING MOVEMENT-FLOORPLANE ARM CIRCLE HITTING WALL LARGE DOUBLE;So;0;L;;;;;N;;;;; +1D9ED;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT SINGLE;So;0;L;;;;;N;;;;; +1D9EE;SIGNWRITING MOVEMENT-WALLPLANE WRIST CIRCLE FRONT DOUBLE;So;0;L;;;;;N;;;;; +1D9EF;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL SINGLE;So;0;L;;;;;N;;;;; +1D9F0;SIGNWRITING MOVEMENT-FLOORPLANE WRIST CIRCLE HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; +1D9F1;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES SINGLE;So;0;L;;;;;N;;;;; +1D9F2;SIGNWRITING MOVEMENT-WALLPLANE FINGER CIRCLES DOUBLE;So;0;L;;;;;N;;;;; +1D9F3;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL SINGLE;So;0;L;;;;;N;;;;; +1D9F4;SIGNWRITING MOVEMENT-FLOORPLANE FINGER CIRCLES HITTING WALL DOUBLE;So;0;L;;;;;N;;;;; +1D9F5;SIGNWRITING DYNAMIC ARROWHEAD SMALL;So;0;L;;;;;N;;;;; +1D9F6;SIGNWRITING DYNAMIC ARROWHEAD LARGE;So;0;L;;;;;N;;;;; +1D9F7;SIGNWRITING DYNAMIC FAST;So;0;L;;;;;N;;;;; +1D9F8;SIGNWRITING DYNAMIC SLOW;So;0;L;;;;;N;;;;; +1D9F9;SIGNWRITING DYNAMIC TENSE;So;0;L;;;;;N;;;;; +1D9FA;SIGNWRITING DYNAMIC RELAXED;So;0;L;;;;;N;;;;; +1D9FB;SIGNWRITING DYNAMIC SIMULTANEOUS;So;0;L;;;;;N;;;;; +1D9FC;SIGNWRITING DYNAMIC SIMULTANEOUS ALTERNATING;So;0;L;;;;;N;;;;; +1D9FD;SIGNWRITING DYNAMIC EVERY OTHER TIME;So;0;L;;;;;N;;;;; +1D9FE;SIGNWRITING DYNAMIC GRADUAL;So;0;L;;;;;N;;;;; +1D9FF;SIGNWRITING HEAD;So;0;L;;;;;N;;;;; +1DA00;SIGNWRITING HEAD RIM;Mn;0;NSM;;;;;N;;;;; +1DA01;SIGNWRITING HEAD MOVEMENT-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA02;SIGNWRITING HEAD MOVEMENT-WALLPLANE TILT;Mn;0;NSM;;;;;N;;;;; +1DA03;SIGNWRITING HEAD MOVEMENT-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA04;SIGNWRITING HEAD MOVEMENT-WALLPLANE CURVE;Mn;0;NSM;;;;;N;;;;; +1DA05;SIGNWRITING HEAD MOVEMENT-FLOORPLANE CURVE;Mn;0;NSM;;;;;N;;;;; +1DA06;SIGNWRITING HEAD MOVEMENT CIRCLE;Mn;0;NSM;;;;;N;;;;; +1DA07;SIGNWRITING FACE DIRECTION POSITION NOSE FORWARD TILTING;Mn;0;NSM;;;;;N;;;;; +1DA08;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN;Mn;0;NSM;;;;;N;;;;; +1DA09;SIGNWRITING FACE DIRECTION POSITION NOSE UP OR DOWN TILTING;Mn;0;NSM;;;;;N;;;;; +1DA0A;SIGNWRITING EYEBROWS STRAIGHT UP;Mn;0;NSM;;;;;N;;;;; +1DA0B;SIGNWRITING EYEBROWS STRAIGHT NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA0C;SIGNWRITING EYEBROWS STRAIGHT DOWN;Mn;0;NSM;;;;;N;;;;; +1DA0D;SIGNWRITING DREAMY EYEBROWS NEUTRAL DOWN;Mn;0;NSM;;;;;N;;;;; +1DA0E;SIGNWRITING DREAMY EYEBROWS DOWN NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA0F;SIGNWRITING DREAMY EYEBROWS UP NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA10;SIGNWRITING DREAMY EYEBROWS NEUTRAL UP;Mn;0;NSM;;;;;N;;;;; +1DA11;SIGNWRITING FOREHEAD NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA12;SIGNWRITING FOREHEAD CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA13;SIGNWRITING FOREHEAD WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA14;SIGNWRITING EYES OPEN;Mn;0;NSM;;;;;N;;;;; +1DA15;SIGNWRITING EYES SQUEEZED;Mn;0;NSM;;;;;N;;;;; +1DA16;SIGNWRITING EYES CLOSED;Mn;0;NSM;;;;;N;;;;; +1DA17;SIGNWRITING EYE BLINK SINGLE;Mn;0;NSM;;;;;N;;;;; +1DA18;SIGNWRITING EYE BLINK MULTIPLE;Mn;0;NSM;;;;;N;;;;; +1DA19;SIGNWRITING EYES HALF OPEN;Mn;0;NSM;;;;;N;;;;; +1DA1A;SIGNWRITING EYES WIDE OPEN;Mn;0;NSM;;;;;N;;;;; +1DA1B;SIGNWRITING EYES HALF CLOSED;Mn;0;NSM;;;;;N;;;;; +1DA1C;SIGNWRITING EYES WIDENING MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA1D;SIGNWRITING EYE WINK;Mn;0;NSM;;;;;N;;;;; +1DA1E;SIGNWRITING EYELASHES UP;Mn;0;NSM;;;;;N;;;;; +1DA1F;SIGNWRITING EYELASHES DOWN;Mn;0;NSM;;;;;N;;;;; +1DA20;SIGNWRITING EYELASHES FLUTTERING;Mn;0;NSM;;;;;N;;;;; +1DA21;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA22;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA23;SIGNWRITING EYEGAZE-WALLPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; +1DA24;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT;Mn;0;NSM;;;;;N;;;;; +1DA25;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA26;SIGNWRITING EYEGAZE-FLOORPLANE STRAIGHT ALTERNATING;Mn;0;NSM;;;;;N;;;;; +1DA27;SIGNWRITING EYEGAZE-WALLPLANE CURVED;Mn;0;NSM;;;;;N;;;;; +1DA28;SIGNWRITING EYEGAZE-FLOORPLANE CURVED;Mn;0;NSM;;;;;N;;;;; +1DA29;SIGNWRITING EYEGAZE-WALLPLANE CIRCLING;Mn;0;NSM;;;;;N;;;;; +1DA2A;SIGNWRITING CHEEKS PUFFED;Mn;0;NSM;;;;;N;;;;; +1DA2B;SIGNWRITING CHEEKS NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA2C;SIGNWRITING CHEEKS SUCKED;Mn;0;NSM;;;;;N;;;;; +1DA2D;SIGNWRITING TENSE CHEEKS HIGH;Mn;0;NSM;;;;;N;;;;; +1DA2E;SIGNWRITING TENSE CHEEKS MIDDLE;Mn;0;NSM;;;;;N;;;;; +1DA2F;SIGNWRITING TENSE CHEEKS LOW;Mn;0;NSM;;;;;N;;;;; +1DA30;SIGNWRITING EARS;Mn;0;NSM;;;;;N;;;;; +1DA31;SIGNWRITING NOSE NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA32;SIGNWRITING NOSE CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA33;SIGNWRITING NOSE WRINKLES;Mn;0;NSM;;;;;N;;;;; +1DA34;SIGNWRITING NOSE WIGGLES;Mn;0;NSM;;;;;N;;;;; +1DA35;SIGNWRITING AIR BLOWING OUT;Mn;0;NSM;;;;;N;;;;; +1DA36;SIGNWRITING AIR SUCKING IN;Mn;0;NSM;;;;;N;;;;; +1DA37;SIGNWRITING AIR BLOW SMALL ROTATIONS;So;0;L;;;;;N;;;;; +1DA38;SIGNWRITING AIR SUCK SMALL ROTATIONS;So;0;L;;;;;N;;;;; +1DA39;SIGNWRITING BREATH INHALE;So;0;L;;;;;N;;;;; +1DA3A;SIGNWRITING BREATH EXHALE;So;0;L;;;;;N;;;;; +1DA3B;SIGNWRITING MOUTH CLOSED NEUTRAL;Mn;0;NSM;;;;;N;;;;; +1DA3C;SIGNWRITING MOUTH CLOSED FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA3D;SIGNWRITING MOUTH CLOSED CONTACT;Mn;0;NSM;;;;;N;;;;; +1DA3E;SIGNWRITING MOUTH SMILE;Mn;0;NSM;;;;;N;;;;; +1DA3F;SIGNWRITING MOUTH SMILE WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA40;SIGNWRITING MOUTH SMILE OPEN;Mn;0;NSM;;;;;N;;;;; +1DA41;SIGNWRITING MOUTH FROWN;Mn;0;NSM;;;;;N;;;;; +1DA42;SIGNWRITING MOUTH FROWN WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA43;SIGNWRITING MOUTH FROWN OPEN;Mn;0;NSM;;;;;N;;;;; +1DA44;SIGNWRITING MOUTH OPEN CIRCLE;Mn;0;NSM;;;;;N;;;;; +1DA45;SIGNWRITING MOUTH OPEN FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA46;SIGNWRITING MOUTH OPEN WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA47;SIGNWRITING MOUTH OPEN OVAL;Mn;0;NSM;;;;;N;;;;; +1DA48;SIGNWRITING MOUTH OPEN OVAL WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA49;SIGNWRITING MOUTH OPEN OVAL YAWN;Mn;0;NSM;;;;;N;;;;; +1DA4A;SIGNWRITING MOUTH OPEN RECTANGLE;Mn;0;NSM;;;;;N;;;;; +1DA4B;SIGNWRITING MOUTH OPEN RECTANGLE WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA4C;SIGNWRITING MOUTH OPEN RECTANGLE YAWN;Mn;0;NSM;;;;;N;;;;; +1DA4D;SIGNWRITING MOUTH KISS;Mn;0;NSM;;;;;N;;;;; +1DA4E;SIGNWRITING MOUTH KISS FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA4F;SIGNWRITING MOUTH KISS WRINKLED;Mn;0;NSM;;;;;N;;;;; +1DA50;SIGNWRITING MOUTH TENSE;Mn;0;NSM;;;;;N;;;;; +1DA51;SIGNWRITING MOUTH TENSE FORWARD;Mn;0;NSM;;;;;N;;;;; +1DA52;SIGNWRITING MOUTH TENSE SUCKED;Mn;0;NSM;;;;;N;;;;; +1DA53;SIGNWRITING LIPS PRESSED TOGETHER;Mn;0;NSM;;;;;N;;;;; +1DA54;SIGNWRITING LIP LOWER OVER UPPER;Mn;0;NSM;;;;;N;;;;; +1DA55;SIGNWRITING LIP UPPER OVER LOWER;Mn;0;NSM;;;;;N;;;;; +1DA56;SIGNWRITING MOUTH CORNERS;Mn;0;NSM;;;;;N;;;;; +1DA57;SIGNWRITING MOUTH WRINKLES SINGLE;Mn;0;NSM;;;;;N;;;;; +1DA58;SIGNWRITING MOUTH WRINKLES DOUBLE;Mn;0;NSM;;;;;N;;;;; +1DA59;SIGNWRITING TONGUE STICKING OUT FAR;Mn;0;NSM;;;;;N;;;;; +1DA5A;SIGNWRITING TONGUE LICKING LIPS;Mn;0;NSM;;;;;N;;;;; +1DA5B;SIGNWRITING TONGUE TIP BETWEEN LIPS;Mn;0;NSM;;;;;N;;;;; +1DA5C;SIGNWRITING TONGUE TIP TOUCHING INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; +1DA5D;SIGNWRITING TONGUE INSIDE MOUTH RELAXED;Mn;0;NSM;;;;;N;;;;; +1DA5E;SIGNWRITING TONGUE MOVES AGAINST CHEEK;Mn;0;NSM;;;;;N;;;;; +1DA5F;SIGNWRITING TONGUE CENTRE STICKING OUT;Mn;0;NSM;;;;;N;;;;; +1DA60;SIGNWRITING TONGUE CENTRE INSIDE MOUTH;Mn;0;NSM;;;;;N;;;;; +1DA61;SIGNWRITING TEETH;Mn;0;NSM;;;;;N;;;;; +1DA62;SIGNWRITING TEETH MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA63;SIGNWRITING TEETH ON TONGUE;Mn;0;NSM;;;;;N;;;;; +1DA64;SIGNWRITING TEETH ON TONGUE MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA65;SIGNWRITING TEETH ON LIPS;Mn;0;NSM;;;;;N;;;;; +1DA66;SIGNWRITING TEETH ON LIPS MOVEMENT;Mn;0;NSM;;;;;N;;;;; +1DA67;SIGNWRITING TEETH BITE LIPS;Mn;0;NSM;;;;;N;;;;; +1DA68;SIGNWRITING MOVEMENT-WALLPLANE JAW;Mn;0;NSM;;;;;N;;;;; +1DA69;SIGNWRITING MOVEMENT-FLOORPLANE JAW;Mn;0;NSM;;;;;N;;;;; +1DA6A;SIGNWRITING NECK;Mn;0;NSM;;;;;N;;;;; +1DA6B;SIGNWRITING HAIR;Mn;0;NSM;;;;;N;;;;; +1DA6C;SIGNWRITING EXCITEMENT;Mn;0;NSM;;;;;N;;;;; +1DA6D;SIGNWRITING SHOULDER HIP SPINE;So;0;L;;;;;N;;;;; +1DA6E;SIGNWRITING SHOULDER HIP POSITIONS;So;0;L;;;;;N;;;;; +1DA6F;SIGNWRITING WALLPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; +1DA70;SIGNWRITING FLOORPLANE SHOULDER HIP MOVE;So;0;L;;;;;N;;;;; +1DA71;SIGNWRITING SHOULDER TILTING FROM WAIST;So;0;L;;;;;N;;;;; +1DA72;SIGNWRITING TORSO-WALLPLANE STRAIGHT STRETCH;So;0;L;;;;;N;;;;; +1DA73;SIGNWRITING TORSO-WALLPLANE CURVED BEND;So;0;L;;;;;N;;;;; +1DA74;SIGNWRITING TORSO-FLOORPLANE TWISTING;So;0;L;;;;;N;;;;; +1DA75;SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS;Mn;0;NSM;;;;;N;;;;; +1DA76;SIGNWRITING LIMB COMBINATION;So;0;L;;;;;N;;;;; +1DA77;SIGNWRITING LIMB LENGTH-1;So;0;L;;;;;N;;;;; +1DA78;SIGNWRITING LIMB LENGTH-2;So;0;L;;;;;N;;;;; +1DA79;SIGNWRITING LIMB LENGTH-3;So;0;L;;;;;N;;;;; +1DA7A;SIGNWRITING LIMB LENGTH-4;So;0;L;;;;;N;;;;; +1DA7B;SIGNWRITING LIMB LENGTH-5;So;0;L;;;;;N;;;;; +1DA7C;SIGNWRITING LIMB LENGTH-6;So;0;L;;;;;N;;;;; +1DA7D;SIGNWRITING LIMB LENGTH-7;So;0;L;;;;;N;;;;; +1DA7E;SIGNWRITING FINGER;So;0;L;;;;;N;;;;; +1DA7F;SIGNWRITING LOCATION-WALLPLANE SPACE;So;0;L;;;;;N;;;;; +1DA80;SIGNWRITING LOCATION-FLOORPLANE SPACE;So;0;L;;;;;N;;;;; +1DA81;SIGNWRITING LOCATION HEIGHT;So;0;L;;;;;N;;;;; +1DA82;SIGNWRITING LOCATION WIDTH;So;0;L;;;;;N;;;;; +1DA83;SIGNWRITING LOCATION DEPTH;So;0;L;;;;;N;;;;; +1DA84;SIGNWRITING LOCATION HEAD NECK;Mn;0;NSM;;;;;N;;;;; +1DA85;SIGNWRITING LOCATION TORSO;So;0;L;;;;;N;;;;; +1DA86;SIGNWRITING LOCATION LIMBS DIGITS;So;0;L;;;;;N;;;;; +1DA87;SIGNWRITING COMMA;Po;0;L;;;;;N;;;;; +1DA88;SIGNWRITING FULL STOP;Po;0;L;;;;;N;;;;; +1DA89;SIGNWRITING SEMICOLON;Po;0;L;;;;;N;;;;; +1DA8A;SIGNWRITING COLON;Po;0;L;;;;;N;;;;; +1DA8B;SIGNWRITING PARENTHESIS;Po;0;L;;;;;N;;;;; +1DA9B;SIGNWRITING FILL MODIFIER-2;Mn;0;NSM;;;;;N;;;;; +1DA9C;SIGNWRITING FILL MODIFIER-3;Mn;0;NSM;;;;;N;;;;; +1DA9D;SIGNWRITING FILL MODIFIER-4;Mn;0;NSM;;;;;N;;;;; +1DA9E;SIGNWRITING FILL MODIFIER-5;Mn;0;NSM;;;;;N;;;;; +1DA9F;SIGNWRITING FILL MODIFIER-6;Mn;0;NSM;;;;;N;;;;; +1DAA1;SIGNWRITING ROTATION MODIFIER-2;Mn;0;NSM;;;;;N;;;;; +1DAA2;SIGNWRITING ROTATION MODIFIER-3;Mn;0;NSM;;;;;N;;;;; +1DAA3;SIGNWRITING ROTATION MODIFIER-4;Mn;0;NSM;;;;;N;;;;; +1DAA4;SIGNWRITING ROTATION MODIFIER-5;Mn;0;NSM;;;;;N;;;;; +1DAA5;SIGNWRITING ROTATION MODIFIER-6;Mn;0;NSM;;;;;N;;;;; +1DAA6;SIGNWRITING ROTATION MODIFIER-7;Mn;0;NSM;;;;;N;;;;; +1DAA7;SIGNWRITING ROTATION MODIFIER-8;Mn;0;NSM;;;;;N;;;;; +1DAA8;SIGNWRITING ROTATION MODIFIER-9;Mn;0;NSM;;;;;N;;;;; +1DAA9;SIGNWRITING ROTATION MODIFIER-10;Mn;0;NSM;;;;;N;;;;; +1DAAA;SIGNWRITING ROTATION MODIFIER-11;Mn;0;NSM;;;;;N;;;;; +1DAAB;SIGNWRITING ROTATION MODIFIER-12;Mn;0;NSM;;;;;N;;;;; +1DAAC;SIGNWRITING ROTATION MODIFIER-13;Mn;0;NSM;;;;;N;;;;; +1DAAD;SIGNWRITING ROTATION MODIFIER-14;Mn;0;NSM;;;;;N;;;;; +1DAAE;SIGNWRITING ROTATION MODIFIER-15;Mn;0;NSM;;;;;N;;;;; +1DAAF;SIGNWRITING ROTATION MODIFIER-16;Mn;0;NSM;;;;;N;;;;; +1E000;COMBINING GLAGOLITIC LETTER AZU;Mn;230;NSM;;;;;N;;;;; +1E001;COMBINING GLAGOLITIC LETTER BUKY;Mn;230;NSM;;;;;N;;;;; +1E002;COMBINING GLAGOLITIC LETTER VEDE;Mn;230;NSM;;;;;N;;;;; +1E003;COMBINING GLAGOLITIC LETTER GLAGOLI;Mn;230;NSM;;;;;N;;;;; +1E004;COMBINING GLAGOLITIC LETTER DOBRO;Mn;230;NSM;;;;;N;;;;; +1E005;COMBINING GLAGOLITIC LETTER YESTU;Mn;230;NSM;;;;;N;;;;; +1E006;COMBINING GLAGOLITIC LETTER ZHIVETE;Mn;230;NSM;;;;;N;;;;; +1E008;COMBINING GLAGOLITIC LETTER ZEMLJA;Mn;230;NSM;;;;;N;;;;; +1E009;COMBINING GLAGOLITIC LETTER IZHE;Mn;230;NSM;;;;;N;;;;; +1E00A;COMBINING GLAGOLITIC LETTER INITIAL IZHE;Mn;230;NSM;;;;;N;;;;; +1E00B;COMBINING GLAGOLITIC LETTER I;Mn;230;NSM;;;;;N;;;;; +1E00C;COMBINING GLAGOLITIC LETTER DJERVI;Mn;230;NSM;;;;;N;;;;; +1E00D;COMBINING GLAGOLITIC LETTER KAKO;Mn;230;NSM;;;;;N;;;;; +1E00E;COMBINING GLAGOLITIC LETTER LJUDIJE;Mn;230;NSM;;;;;N;;;;; +1E00F;COMBINING GLAGOLITIC LETTER MYSLITE;Mn;230;NSM;;;;;N;;;;; +1E010;COMBINING GLAGOLITIC LETTER NASHI;Mn;230;NSM;;;;;N;;;;; +1E011;COMBINING GLAGOLITIC LETTER ONU;Mn;230;NSM;;;;;N;;;;; +1E012;COMBINING GLAGOLITIC LETTER POKOJI;Mn;230;NSM;;;;;N;;;;; +1E013;COMBINING GLAGOLITIC LETTER RITSI;Mn;230;NSM;;;;;N;;;;; +1E014;COMBINING GLAGOLITIC LETTER SLOVO;Mn;230;NSM;;;;;N;;;;; +1E015;COMBINING GLAGOLITIC LETTER TVRIDO;Mn;230;NSM;;;;;N;;;;; +1E016;COMBINING GLAGOLITIC LETTER UKU;Mn;230;NSM;;;;;N;;;;; +1E017;COMBINING GLAGOLITIC LETTER FRITU;Mn;230;NSM;;;;;N;;;;; +1E018;COMBINING GLAGOLITIC LETTER HERU;Mn;230;NSM;;;;;N;;;;; +1E01B;COMBINING GLAGOLITIC LETTER SHTA;Mn;230;NSM;;;;;N;;;;; +1E01C;COMBINING GLAGOLITIC LETTER TSI;Mn;230;NSM;;;;;N;;;;; +1E01D;COMBINING GLAGOLITIC LETTER CHRIVI;Mn;230;NSM;;;;;N;;;;; +1E01E;COMBINING GLAGOLITIC LETTER SHA;Mn;230;NSM;;;;;N;;;;; +1E01F;COMBINING GLAGOLITIC LETTER YERU;Mn;230;NSM;;;;;N;;;;; +1E020;COMBINING GLAGOLITIC LETTER YERI;Mn;230;NSM;;;;;N;;;;; +1E021;COMBINING GLAGOLITIC LETTER YATI;Mn;230;NSM;;;;;N;;;;; +1E023;COMBINING GLAGOLITIC LETTER YU;Mn;230;NSM;;;;;N;;;;; +1E024;COMBINING GLAGOLITIC LETTER SMALL YUS;Mn;230;NSM;;;;;N;;;;; +1E026;COMBINING GLAGOLITIC LETTER YO;Mn;230;NSM;;;;;N;;;;; +1E027;COMBINING GLAGOLITIC LETTER IOTATED SMALL YUS;Mn;230;NSM;;;;;N;;;;; +1E028;COMBINING GLAGOLITIC LETTER BIG YUS;Mn;230;NSM;;;;;N;;;;; +1E029;COMBINING GLAGOLITIC LETTER IOTATED BIG YUS;Mn;230;NSM;;;;;N;;;;; +1E02A;COMBINING GLAGOLITIC LETTER FITA;Mn;230;NSM;;;;;N;;;;; +1E100;NYIAKENG PUACHUE HMONG LETTER MA;Lo;0;L;;;;;N;;;;; +1E101;NYIAKENG PUACHUE HMONG LETTER TSA;Lo;0;L;;;;;N;;;;; +1E102;NYIAKENG PUACHUE HMONG LETTER NTA;Lo;0;L;;;;;N;;;;; +1E103;NYIAKENG PUACHUE HMONG LETTER TA;Lo;0;L;;;;;N;;;;; +1E104;NYIAKENG PUACHUE HMONG LETTER HA;Lo;0;L;;;;;N;;;;; +1E105;NYIAKENG PUACHUE HMONG LETTER NA;Lo;0;L;;;;;N;;;;; +1E106;NYIAKENG PUACHUE HMONG LETTER XA;Lo;0;L;;;;;N;;;;; +1E107;NYIAKENG PUACHUE HMONG LETTER NKA;Lo;0;L;;;;;N;;;;; +1E108;NYIAKENG PUACHUE HMONG LETTER CA;Lo;0;L;;;;;N;;;;; +1E109;NYIAKENG PUACHUE HMONG LETTER LA;Lo;0;L;;;;;N;;;;; +1E10A;NYIAKENG PUACHUE HMONG LETTER SA;Lo;0;L;;;;;N;;;;; +1E10B;NYIAKENG PUACHUE HMONG LETTER ZA;Lo;0;L;;;;;N;;;;; +1E10C;NYIAKENG PUACHUE HMONG LETTER NCA;Lo;0;L;;;;;N;;;;; +1E10D;NYIAKENG PUACHUE HMONG LETTER NTSA;Lo;0;L;;;;;N;;;;; +1E10E;NYIAKENG PUACHUE HMONG LETTER KA;Lo;0;L;;;;;N;;;;; +1E10F;NYIAKENG PUACHUE HMONG LETTER DA;Lo;0;L;;;;;N;;;;; +1E110;NYIAKENG PUACHUE HMONG LETTER NYA;Lo;0;L;;;;;N;;;;; +1E111;NYIAKENG PUACHUE HMONG LETTER NRA;Lo;0;L;;;;;N;;;;; +1E112;NYIAKENG PUACHUE HMONG LETTER VA;Lo;0;L;;;;;N;;;;; +1E113;NYIAKENG PUACHUE HMONG LETTER NTXA;Lo;0;L;;;;;N;;;;; +1E114;NYIAKENG PUACHUE HMONG LETTER TXA;Lo;0;L;;;;;N;;;;; +1E115;NYIAKENG PUACHUE HMONG LETTER FA;Lo;0;L;;;;;N;;;;; +1E116;NYIAKENG PUACHUE HMONG LETTER RA;Lo;0;L;;;;;N;;;;; +1E117;NYIAKENG PUACHUE HMONG LETTER QA;Lo;0;L;;;;;N;;;;; +1E118;NYIAKENG PUACHUE HMONG LETTER YA;Lo;0;L;;;;;N;;;;; +1E119;NYIAKENG PUACHUE HMONG LETTER NQA;Lo;0;L;;;;;N;;;;; +1E11A;NYIAKENG PUACHUE HMONG LETTER PA;Lo;0;L;;;;;N;;;;; +1E11B;NYIAKENG PUACHUE HMONG LETTER XYA;Lo;0;L;;;;;N;;;;; +1E11C;NYIAKENG PUACHUE HMONG LETTER NPA;Lo;0;L;;;;;N;;;;; +1E11D;NYIAKENG PUACHUE HMONG LETTER DLA;Lo;0;L;;;;;N;;;;; +1E11E;NYIAKENG PUACHUE HMONG LETTER NPLA;Lo;0;L;;;;;N;;;;; +1E11F;NYIAKENG PUACHUE HMONG LETTER HAH;Lo;0;L;;;;;N;;;;; +1E120;NYIAKENG PUACHUE HMONG LETTER MLA;Lo;0;L;;;;;N;;;;; +1E121;NYIAKENG PUACHUE HMONG LETTER PLA;Lo;0;L;;;;;N;;;;; +1E122;NYIAKENG PUACHUE HMONG LETTER GA;Lo;0;L;;;;;N;;;;; +1E123;NYIAKENG PUACHUE HMONG LETTER RRA;Lo;0;L;;;;;N;;;;; +1E124;NYIAKENG PUACHUE HMONG LETTER A;Lo;0;L;;;;;N;;;;; +1E125;NYIAKENG PUACHUE HMONG LETTER AA;Lo;0;L;;;;;N;;;;; +1E126;NYIAKENG PUACHUE HMONG LETTER I;Lo;0;L;;;;;N;;;;; +1E127;NYIAKENG PUACHUE HMONG LETTER U;Lo;0;L;;;;;N;;;;; +1E128;NYIAKENG PUACHUE HMONG LETTER O;Lo;0;L;;;;;N;;;;; +1E129;NYIAKENG PUACHUE HMONG LETTER OO;Lo;0;L;;;;;N;;;;; +1E12A;NYIAKENG PUACHUE HMONG LETTER E;Lo;0;L;;;;;N;;;;; +1E12B;NYIAKENG PUACHUE HMONG LETTER EE;Lo;0;L;;;;;N;;;;; +1E12C;NYIAKENG PUACHUE HMONG LETTER W;Lo;0;L;;;;;N;;;;; +1E130;NYIAKENG PUACHUE HMONG TONE-B;Mn;230;NSM;;;;;N;;;;; +1E131;NYIAKENG PUACHUE HMONG TONE-M;Mn;230;NSM;;;;;N;;;;; +1E132;NYIAKENG PUACHUE HMONG TONE-J;Mn;230;NSM;;;;;N;;;;; +1E133;NYIAKENG PUACHUE HMONG TONE-V;Mn;230;NSM;;;;;N;;;;; +1E134;NYIAKENG PUACHUE HMONG TONE-S;Mn;230;NSM;;;;;N;;;;; +1E135;NYIAKENG PUACHUE HMONG TONE-G;Mn;230;NSM;;;;;N;;;;; +1E136;NYIAKENG PUACHUE HMONG TONE-D;Mn;230;NSM;;;;;N;;;;; +1E137;NYIAKENG PUACHUE HMONG SIGN FOR PERSON;Lm;0;L;;;;;N;;;;; +1E138;NYIAKENG PUACHUE HMONG SIGN FOR THING;Lm;0;L;;;;;N;;;;; +1E139;NYIAKENG PUACHUE HMONG SIGN FOR LOCATION;Lm;0;L;;;;;N;;;;; +1E13A;NYIAKENG PUACHUE HMONG SIGN FOR ANIMAL;Lm;0;L;;;;;N;;;;; +1E13B;NYIAKENG PUACHUE HMONG SIGN FOR INVERTEBRATE;Lm;0;L;;;;;N;;;;; +1E13C;NYIAKENG PUACHUE HMONG SIGN XW XW;Lm;0;L;;;;;N;;;;; +1E13D;NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER;Lm;0;L;;;;;N;;;;; +1E140;NYIAKENG PUACHUE HMONG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1E141;NYIAKENG PUACHUE HMONG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1E142;NYIAKENG PUACHUE HMONG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1E143;NYIAKENG PUACHUE HMONG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1E144;NYIAKENG PUACHUE HMONG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1E145;NYIAKENG PUACHUE HMONG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1E146;NYIAKENG PUACHUE HMONG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1E147;NYIAKENG PUACHUE HMONG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1E148;NYIAKENG PUACHUE HMONG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1E149;NYIAKENG PUACHUE HMONG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1E14E;NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ;Lo;0;L;;;;;N;;;;; +1E14F;NYIAKENG PUACHUE HMONG CIRCLED CA;So;0;L;;;;;N;;;;; +1E2C0;WANCHO LETTER AA;Lo;0;L;;;;;N;;;;; +1E2C1;WANCHO LETTER A;Lo;0;L;;;;;N;;;;; +1E2C2;WANCHO LETTER BA;Lo;0;L;;;;;N;;;;; +1E2C3;WANCHO LETTER CA;Lo;0;L;;;;;N;;;;; +1E2C4;WANCHO LETTER DA;Lo;0;L;;;;;N;;;;; +1E2C5;WANCHO LETTER GA;Lo;0;L;;;;;N;;;;; +1E2C6;WANCHO LETTER YA;Lo;0;L;;;;;N;;;;; +1E2C7;WANCHO LETTER PHA;Lo;0;L;;;;;N;;;;; +1E2C8;WANCHO LETTER LA;Lo;0;L;;;;;N;;;;; +1E2C9;WANCHO LETTER NA;Lo;0;L;;;;;N;;;;; +1E2CA;WANCHO LETTER PA;Lo;0;L;;;;;N;;;;; +1E2CB;WANCHO LETTER TA;Lo;0;L;;;;;N;;;;; +1E2CC;WANCHO LETTER THA;Lo;0;L;;;;;N;;;;; +1E2CD;WANCHO LETTER FA;Lo;0;L;;;;;N;;;;; +1E2CE;WANCHO LETTER SA;Lo;0;L;;;;;N;;;;; +1E2CF;WANCHO LETTER SHA;Lo;0;L;;;;;N;;;;; +1E2D0;WANCHO LETTER JA;Lo;0;L;;;;;N;;;;; +1E2D1;WANCHO LETTER ZA;Lo;0;L;;;;;N;;;;; +1E2D2;WANCHO LETTER WA;Lo;0;L;;;;;N;;;;; +1E2D3;WANCHO LETTER VA;Lo;0;L;;;;;N;;;;; +1E2D4;WANCHO LETTER KA;Lo;0;L;;;;;N;;;;; +1E2D5;WANCHO LETTER O;Lo;0;L;;;;;N;;;;; +1E2D6;WANCHO LETTER AU;Lo;0;L;;;;;N;;;;; +1E2D7;WANCHO LETTER RA;Lo;0;L;;;;;N;;;;; +1E2D8;WANCHO LETTER MA;Lo;0;L;;;;;N;;;;; +1E2D9;WANCHO LETTER KHA;Lo;0;L;;;;;N;;;;; +1E2DA;WANCHO LETTER HA;Lo;0;L;;;;;N;;;;; +1E2DB;WANCHO LETTER E;Lo;0;L;;;;;N;;;;; +1E2DC;WANCHO LETTER I;Lo;0;L;;;;;N;;;;; +1E2DD;WANCHO LETTER NGA;Lo;0;L;;;;;N;;;;; +1E2DE;WANCHO LETTER U;Lo;0;L;;;;;N;;;;; +1E2DF;WANCHO LETTER LLHA;Lo;0;L;;;;;N;;;;; +1E2E0;WANCHO LETTER TSA;Lo;0;L;;;;;N;;;;; +1E2E1;WANCHO LETTER TRA;Lo;0;L;;;;;N;;;;; +1E2E2;WANCHO LETTER ONG;Lo;0;L;;;;;N;;;;; +1E2E3;WANCHO LETTER AANG;Lo;0;L;;;;;N;;;;; +1E2E4;WANCHO LETTER ANG;Lo;0;L;;;;;N;;;;; +1E2E5;WANCHO LETTER ING;Lo;0;L;;;;;N;;;;; +1E2E6;WANCHO LETTER ON;Lo;0;L;;;;;N;;;;; +1E2E7;WANCHO LETTER EN;Lo;0;L;;;;;N;;;;; +1E2E8;WANCHO LETTER AAN;Lo;0;L;;;;;N;;;;; +1E2E9;WANCHO LETTER NYA;Lo;0;L;;;;;N;;;;; +1E2EA;WANCHO LETTER UEN;Lo;0;L;;;;;N;;;;; +1E2EB;WANCHO LETTER YIH;Lo;0;L;;;;;N;;;;; +1E2EC;WANCHO TONE TUP;Mn;230;NSM;;;;;N;;;;; +1E2ED;WANCHO TONE TUPNI;Mn;230;NSM;;;;;N;;;;; +1E2EE;WANCHO TONE KOI;Mn;230;NSM;;;;;N;;;;; +1E2EF;WANCHO TONE KOINI;Mn;230;NSM;;;;;N;;;;; +1E2F0;WANCHO DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;; +1E2F1;WANCHO DIGIT ONE;Nd;0;L;;1;1;1;N;;;;; +1E2F2;WANCHO DIGIT TWO;Nd;0;L;;2;2;2;N;;;;; +1E2F3;WANCHO DIGIT THREE;Nd;0;L;;3;3;3;N;;;;; +1E2F4;WANCHO DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;; +1E2F5;WANCHO DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;; +1E2F6;WANCHO DIGIT SIX;Nd;0;L;;6;6;6;N;;;;; +1E2F7;WANCHO DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;; +1E2F8;WANCHO DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;; +1E2F9;WANCHO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;; +1E2FF;WANCHO NGUN SIGN;Sc;0;ET;;;;;N;;;;; +1E800;MENDE KIKAKUI SYLLABLE M001 KI;Lo;0;R;;;;;N;;;;; +1E801;MENDE KIKAKUI SYLLABLE M002 KA;Lo;0;R;;;;;N;;;;; +1E802;MENDE KIKAKUI SYLLABLE M003 KU;Lo;0;R;;;;;N;;;;; +1E803;MENDE KIKAKUI SYLLABLE M065 KEE;Lo;0;R;;;;;N;;;;; +1E804;MENDE KIKAKUI SYLLABLE M095 KE;Lo;0;R;;;;;N;;;;; +1E805;MENDE KIKAKUI SYLLABLE M076 KOO;Lo;0;R;;;;;N;;;;; +1E806;MENDE KIKAKUI SYLLABLE M048 KO;Lo;0;R;;;;;N;;;;; +1E807;MENDE KIKAKUI SYLLABLE M179 KUA;Lo;0;R;;;;;N;;;;; +1E808;MENDE KIKAKUI SYLLABLE M004 WI;Lo;0;R;;;;;N;;;;; +1E809;MENDE KIKAKUI SYLLABLE M005 WA;Lo;0;R;;;;;N;;;;; +1E80A;MENDE KIKAKUI SYLLABLE M006 WU;Lo;0;R;;;;;N;;;;; +1E80B;MENDE KIKAKUI SYLLABLE M126 WEE;Lo;0;R;;;;;N;;;;; +1E80C;MENDE KIKAKUI SYLLABLE M118 WE;Lo;0;R;;;;;N;;;;; +1E80D;MENDE KIKAKUI SYLLABLE M114 WOO;Lo;0;R;;;;;N;;;;; +1E80E;MENDE KIKAKUI SYLLABLE M045 WO;Lo;0;R;;;;;N;;;;; +1E80F;MENDE KIKAKUI SYLLABLE M194 WUI;Lo;0;R;;;;;N;;;;; +1E810;MENDE KIKAKUI SYLLABLE M143 WEI;Lo;0;R;;;;;N;;;;; +1E811;MENDE KIKAKUI SYLLABLE M061 WVI;Lo;0;R;;;;;N;;;;; +1E812;MENDE KIKAKUI SYLLABLE M049 WVA;Lo;0;R;;;;;N;;;;; +1E813;MENDE KIKAKUI SYLLABLE M139 WVE;Lo;0;R;;;;;N;;;;; +1E814;MENDE KIKAKUI SYLLABLE M007 MIN;Lo;0;R;;;;;N;;;;; +1E815;MENDE KIKAKUI SYLLABLE M008 MAN;Lo;0;R;;;;;N;;;;; +1E816;MENDE KIKAKUI SYLLABLE M009 MUN;Lo;0;R;;;;;N;;;;; +1E817;MENDE KIKAKUI SYLLABLE M059 MEN;Lo;0;R;;;;;N;;;;; +1E818;MENDE KIKAKUI SYLLABLE M094 MON;Lo;0;R;;;;;N;;;;; +1E819;MENDE KIKAKUI SYLLABLE M154 MUAN;Lo;0;R;;;;;N;;;;; +1E81A;MENDE KIKAKUI SYLLABLE M189 MUEN;Lo;0;R;;;;;N;;;;; +1E81B;MENDE KIKAKUI SYLLABLE M010 BI;Lo;0;R;;;;;N;;;;; +1E81C;MENDE KIKAKUI SYLLABLE M011 BA;Lo;0;R;;;;;N;;;;; +1E81D;MENDE KIKAKUI SYLLABLE M012 BU;Lo;0;R;;;;;N;;;;; +1E81E;MENDE KIKAKUI SYLLABLE M150 BEE;Lo;0;R;;;;;N;;;;; +1E81F;MENDE KIKAKUI SYLLABLE M097 BE;Lo;0;R;;;;;N;;;;; +1E820;MENDE KIKAKUI SYLLABLE M103 BOO;Lo;0;R;;;;;N;;;;; +1E821;MENDE KIKAKUI SYLLABLE M138 BO;Lo;0;R;;;;;N;;;;; +1E822;MENDE KIKAKUI SYLLABLE M013 I;Lo;0;R;;;;;N;;;;; +1E823;MENDE KIKAKUI SYLLABLE M014 A;Lo;0;R;;;;;N;;;;; +1E824;MENDE KIKAKUI SYLLABLE M015 U;Lo;0;R;;;;;N;;;;; +1E825;MENDE KIKAKUI SYLLABLE M163 EE;Lo;0;R;;;;;N;;;;; +1E826;MENDE KIKAKUI SYLLABLE M100 E;Lo;0;R;;;;;N;;;;; +1E827;MENDE KIKAKUI SYLLABLE M165 OO;Lo;0;R;;;;;N;;;;; +1E828;MENDE KIKAKUI SYLLABLE M147 O;Lo;0;R;;;;;N;;;;; +1E829;MENDE KIKAKUI SYLLABLE M137 EI;Lo;0;R;;;;;N;;;;; +1E82A;MENDE KIKAKUI SYLLABLE M131 IN;Lo;0;R;;;;;N;;;;; +1E82B;MENDE KIKAKUI SYLLABLE M135 IN;Lo;0;R;;;;;N;;;;; +1E82C;MENDE KIKAKUI SYLLABLE M195 AN;Lo;0;R;;;;;N;;;;; +1E82D;MENDE KIKAKUI SYLLABLE M178 EN;Lo;0;R;;;;;N;;;;; +1E82E;MENDE KIKAKUI SYLLABLE M019 SI;Lo;0;R;;;;;N;;;;; +1E82F;MENDE KIKAKUI SYLLABLE M020 SA;Lo;0;R;;;;;N;;;;; +1E830;MENDE KIKAKUI SYLLABLE M021 SU;Lo;0;R;;;;;N;;;;; +1E831;MENDE KIKAKUI SYLLABLE M162 SEE;Lo;0;R;;;;;N;;;;; +1E832;MENDE KIKAKUI SYLLABLE M116 SE;Lo;0;R;;;;;N;;;;; +1E833;MENDE KIKAKUI SYLLABLE M136 SOO;Lo;0;R;;;;;N;;;;; +1E834;MENDE KIKAKUI SYLLABLE M079 SO;Lo;0;R;;;;;N;;;;; +1E835;MENDE KIKAKUI SYLLABLE M196 SIA;Lo;0;R;;;;;N;;;;; +1E836;MENDE KIKAKUI SYLLABLE M025 LI;Lo;0;R;;;;;N;;;;; +1E837;MENDE KIKAKUI SYLLABLE M026 LA;Lo;0;R;;;;;N;;;;; +1E838;MENDE KIKAKUI SYLLABLE M027 LU;Lo;0;R;;;;;N;;;;; +1E839;MENDE KIKAKUI SYLLABLE M084 LEE;Lo;0;R;;;;;N;;;;; +1E83A;MENDE KIKAKUI SYLLABLE M073 LE;Lo;0;R;;;;;N;;;;; +1E83B;MENDE KIKAKUI SYLLABLE M054 LOO;Lo;0;R;;;;;N;;;;; +1E83C;MENDE KIKAKUI SYLLABLE M153 LO;Lo;0;R;;;;;N;;;;; +1E83D;MENDE KIKAKUI SYLLABLE M110 LONG LE;Lo;0;R;;;;;N;;;;; +1E83E;MENDE KIKAKUI SYLLABLE M016 DI;Lo;0;R;;;;;N;;;;; +1E83F;MENDE KIKAKUI SYLLABLE M017 DA;Lo;0;R;;;;;N;;;;; +1E840;MENDE KIKAKUI SYLLABLE M018 DU;Lo;0;R;;;;;N;;;;; +1E841;MENDE KIKAKUI SYLLABLE M089 DEE;Lo;0;R;;;;;N;;;;; +1E842;MENDE KIKAKUI SYLLABLE M180 DOO;Lo;0;R;;;;;N;;;;; +1E843;MENDE KIKAKUI SYLLABLE M181 DO;Lo;0;R;;;;;N;;;;; +1E844;MENDE KIKAKUI SYLLABLE M022 TI;Lo;0;R;;;;;N;;;;; +1E845;MENDE KIKAKUI SYLLABLE M023 TA;Lo;0;R;;;;;N;;;;; +1E846;MENDE KIKAKUI SYLLABLE M024 TU;Lo;0;R;;;;;N;;;;; +1E847;MENDE KIKAKUI SYLLABLE M091 TEE;Lo;0;R;;;;;N;;;;; +1E848;MENDE KIKAKUI SYLLABLE M055 TE;Lo;0;R;;;;;N;;;;; +1E849;MENDE KIKAKUI SYLLABLE M104 TOO;Lo;0;R;;;;;N;;;;; +1E84A;MENDE KIKAKUI SYLLABLE M069 TO;Lo;0;R;;;;;N;;;;; +1E84B;MENDE KIKAKUI SYLLABLE M028 JI;Lo;0;R;;;;;N;;;;; +1E84C;MENDE KIKAKUI SYLLABLE M029 JA;Lo;0;R;;;;;N;;;;; +1E84D;MENDE KIKAKUI SYLLABLE M030 JU;Lo;0;R;;;;;N;;;;; +1E84E;MENDE KIKAKUI SYLLABLE M157 JEE;Lo;0;R;;;;;N;;;;; +1E84F;MENDE KIKAKUI SYLLABLE M113 JE;Lo;0;R;;;;;N;;;;; +1E850;MENDE KIKAKUI SYLLABLE M160 JOO;Lo;0;R;;;;;N;;;;; +1E851;MENDE KIKAKUI SYLLABLE M063 JO;Lo;0;R;;;;;N;;;;; +1E852;MENDE KIKAKUI SYLLABLE M175 LONG JO;Lo;0;R;;;;;N;;;;; +1E853;MENDE KIKAKUI SYLLABLE M031 YI;Lo;0;R;;;;;N;;;;; +1E854;MENDE KIKAKUI SYLLABLE M032 YA;Lo;0;R;;;;;N;;;;; +1E855;MENDE KIKAKUI SYLLABLE M033 YU;Lo;0;R;;;;;N;;;;; +1E856;MENDE KIKAKUI SYLLABLE M109 YEE;Lo;0;R;;;;;N;;;;; +1E857;MENDE KIKAKUI SYLLABLE M080 YE;Lo;0;R;;;;;N;;;;; +1E858;MENDE KIKAKUI SYLLABLE M141 YOO;Lo;0;R;;;;;N;;;;; +1E859;MENDE KIKAKUI SYLLABLE M121 YO;Lo;0;R;;;;;N;;;;; +1E85A;MENDE KIKAKUI SYLLABLE M034 FI;Lo;0;R;;;;;N;;;;; +1E85B;MENDE KIKAKUI SYLLABLE M035 FA;Lo;0;R;;;;;N;;;;; +1E85C;MENDE KIKAKUI SYLLABLE M036 FU;Lo;0;R;;;;;N;;;;; +1E85D;MENDE KIKAKUI SYLLABLE M078 FEE;Lo;0;R;;;;;N;;;;; +1E85E;MENDE KIKAKUI SYLLABLE M075 FE;Lo;0;R;;;;;N;;;;; +1E85F;MENDE KIKAKUI SYLLABLE M133 FOO;Lo;0;R;;;;;N;;;;; +1E860;MENDE KIKAKUI SYLLABLE M088 FO;Lo;0;R;;;;;N;;;;; +1E861;MENDE KIKAKUI SYLLABLE M197 FUA;Lo;0;R;;;;;N;;;;; +1E862;MENDE KIKAKUI SYLLABLE M101 FAN;Lo;0;R;;;;;N;;;;; +1E863;MENDE KIKAKUI SYLLABLE M037 NIN;Lo;0;R;;;;;N;;;;; +1E864;MENDE KIKAKUI SYLLABLE M038 NAN;Lo;0;R;;;;;N;;;;; +1E865;MENDE KIKAKUI SYLLABLE M039 NUN;Lo;0;R;;;;;N;;;;; +1E866;MENDE KIKAKUI SYLLABLE M117 NEN;Lo;0;R;;;;;N;;;;; +1E867;MENDE KIKAKUI SYLLABLE M169 NON;Lo;0;R;;;;;N;;;;; +1E868;MENDE KIKAKUI SYLLABLE M176 HI;Lo;0;R;;;;;N;;;;; +1E869;MENDE KIKAKUI SYLLABLE M041 HA;Lo;0;R;;;;;N;;;;; +1E86A;MENDE KIKAKUI SYLLABLE M186 HU;Lo;0;R;;;;;N;;;;; +1E86B;MENDE KIKAKUI SYLLABLE M040 HEE;Lo;0;R;;;;;N;;;;; +1E86C;MENDE KIKAKUI SYLLABLE M096 HE;Lo;0;R;;;;;N;;;;; +1E86D;MENDE KIKAKUI SYLLABLE M042 HOO;Lo;0;R;;;;;N;;;;; +1E86E;MENDE KIKAKUI SYLLABLE M140 HO;Lo;0;R;;;;;N;;;;; +1E86F;MENDE KIKAKUI SYLLABLE M083 HEEI;Lo;0;R;;;;;N;;;;; +1E870;MENDE KIKAKUI SYLLABLE M128 HOOU;Lo;0;R;;;;;N;;;;; +1E871;MENDE KIKAKUI SYLLABLE M053 HIN;Lo;0;R;;;;;N;;;;; +1E872;MENDE KIKAKUI SYLLABLE M130 HAN;Lo;0;R;;;;;N;;;;; +1E873;MENDE KIKAKUI SYLLABLE M087 HUN;Lo;0;R;;;;;N;;;;; +1E874;MENDE KIKAKUI SYLLABLE M052 HEN;Lo;0;R;;;;;N;;;;; +1E875;MENDE KIKAKUI SYLLABLE M193 HON;Lo;0;R;;;;;N;;;;; +1E876;MENDE KIKAKUI SYLLABLE M046 HUAN;Lo;0;R;;;;;N;;;;; +1E877;MENDE KIKAKUI SYLLABLE M090 NGGI;Lo;0;R;;;;;N;;;;; +1E878;MENDE KIKAKUI SYLLABLE M043 NGGA;Lo;0;R;;;;;N;;;;; +1E879;MENDE KIKAKUI SYLLABLE M082 NGGU;Lo;0;R;;;;;N;;;;; +1E87A;MENDE KIKAKUI SYLLABLE M115 NGGEE;Lo;0;R;;;;;N;;;;; +1E87B;MENDE KIKAKUI SYLLABLE M146 NGGE;Lo;0;R;;;;;N;;;;; +1E87C;MENDE KIKAKUI SYLLABLE M156 NGGOO;Lo;0;R;;;;;N;;;;; +1E87D;MENDE KIKAKUI SYLLABLE M120 NGGO;Lo;0;R;;;;;N;;;;; +1E87E;MENDE KIKAKUI SYLLABLE M159 NGGAA;Lo;0;R;;;;;N;;;;; +1E87F;MENDE KIKAKUI SYLLABLE M127 NGGUA;Lo;0;R;;;;;N;;;;; +1E880;MENDE KIKAKUI SYLLABLE M086 LONG NGGE;Lo;0;R;;;;;N;;;;; +1E881;MENDE KIKAKUI SYLLABLE M106 LONG NGGOO;Lo;0;R;;;;;N;;;;; +1E882;MENDE KIKAKUI SYLLABLE M183 LONG NGGO;Lo;0;R;;;;;N;;;;; +1E883;MENDE KIKAKUI SYLLABLE M155 GI;Lo;0;R;;;;;N;;;;; +1E884;MENDE KIKAKUI SYLLABLE M111 GA;Lo;0;R;;;;;N;;;;; +1E885;MENDE KIKAKUI SYLLABLE M168 GU;Lo;0;R;;;;;N;;;;; +1E886;MENDE KIKAKUI SYLLABLE M190 GEE;Lo;0;R;;;;;N;;;;; +1E887;MENDE KIKAKUI SYLLABLE M166 GUEI;Lo;0;R;;;;;N;;;;; +1E888;MENDE KIKAKUI SYLLABLE M167 GUAN;Lo;0;R;;;;;N;;;;; +1E889;MENDE KIKAKUI SYLLABLE M184 NGEN;Lo;0;R;;;;;N;;;;; +1E88A;MENDE KIKAKUI SYLLABLE M057 NGON;Lo;0;R;;;;;N;;;;; +1E88B;MENDE KIKAKUI SYLLABLE M177 NGUAN;Lo;0;R;;;;;N;;;;; +1E88C;MENDE KIKAKUI SYLLABLE M068 PI;Lo;0;R;;;;;N;;;;; +1E88D;MENDE KIKAKUI SYLLABLE M099 PA;Lo;0;R;;;;;N;;;;; +1E88E;MENDE KIKAKUI SYLLABLE M050 PU;Lo;0;R;;;;;N;;;;; +1E88F;MENDE KIKAKUI SYLLABLE M081 PEE;Lo;0;R;;;;;N;;;;; +1E890;MENDE KIKAKUI SYLLABLE M051 PE;Lo;0;R;;;;;N;;;;; +1E891;MENDE KIKAKUI SYLLABLE M102 POO;Lo;0;R;;;;;N;;;;; +1E892;MENDE KIKAKUI SYLLABLE M066 PO;Lo;0;R;;;;;N;;;;; +1E893;MENDE KIKAKUI SYLLABLE M145 MBI;Lo;0;R;;;;;N;;;;; +1E894;MENDE KIKAKUI SYLLABLE M062 MBA;Lo;0;R;;;;;N;;;;; +1E895;MENDE KIKAKUI SYLLABLE M122 MBU;Lo;0;R;;;;;N;;;;; +1E896;MENDE KIKAKUI SYLLABLE M047 MBEE;Lo;0;R;;;;;N;;;;; +1E897;MENDE KIKAKUI SYLLABLE M188 MBEE;Lo;0;R;;;;;N;;;;; +1E898;MENDE KIKAKUI SYLLABLE M072 MBE;Lo;0;R;;;;;N;;;;; +1E899;MENDE KIKAKUI SYLLABLE M172 MBOO;Lo;0;R;;;;;N;;;;; +1E89A;MENDE KIKAKUI SYLLABLE M174 MBO;Lo;0;R;;;;;N;;;;; +1E89B;MENDE KIKAKUI SYLLABLE M187 MBUU;Lo;0;R;;;;;N;;;;; +1E89C;MENDE KIKAKUI SYLLABLE M161 LONG MBE;Lo;0;R;;;;;N;;;;; +1E89D;MENDE KIKAKUI SYLLABLE M105 LONG MBOO;Lo;0;R;;;;;N;;;;; +1E89E;MENDE KIKAKUI SYLLABLE M142 LONG MBO;Lo;0;R;;;;;N;;;;; +1E89F;MENDE KIKAKUI SYLLABLE M132 KPI;Lo;0;R;;;;;N;;;;; +1E8A0;MENDE KIKAKUI SYLLABLE M092 KPA;Lo;0;R;;;;;N;;;;; +1E8A1;MENDE KIKAKUI SYLLABLE M074 KPU;Lo;0;R;;;;;N;;;;; +1E8A2;MENDE KIKAKUI SYLLABLE M044 KPEE;Lo;0;R;;;;;N;;;;; +1E8A3;MENDE KIKAKUI SYLLABLE M108 KPE;Lo;0;R;;;;;N;;;;; +1E8A4;MENDE KIKAKUI SYLLABLE M112 KPOO;Lo;0;R;;;;;N;;;;; +1E8A5;MENDE KIKAKUI SYLLABLE M158 KPO;Lo;0;R;;;;;N;;;;; +1E8A6;MENDE KIKAKUI SYLLABLE M124 GBI;Lo;0;R;;;;;N;;;;; +1E8A7;MENDE KIKAKUI SYLLABLE M056 GBA;Lo;0;R;;;;;N;;;;; +1E8A8;MENDE KIKAKUI SYLLABLE M148 GBU;Lo;0;R;;;;;N;;;;; +1E8A9;MENDE KIKAKUI SYLLABLE M093 GBEE;Lo;0;R;;;;;N;;;;; +1E8AA;MENDE KIKAKUI SYLLABLE M107 GBE;Lo;0;R;;;;;N;;;;; +1E8AB;MENDE KIKAKUI SYLLABLE M071 GBOO;Lo;0;R;;;;;N;;;;; +1E8AC;MENDE KIKAKUI SYLLABLE M070 GBO;Lo;0;R;;;;;N;;;;; +1E8AD;MENDE KIKAKUI SYLLABLE M171 RA;Lo;0;R;;;;;N;;;;; +1E8AE;MENDE KIKAKUI SYLLABLE M123 NDI;Lo;0;R;;;;;N;;;;; +1E8AF;MENDE KIKAKUI SYLLABLE M129 NDA;Lo;0;R;;;;;N;;;;; +1E8B0;MENDE KIKAKUI SYLLABLE M125 NDU;Lo;0;R;;;;;N;;;;; +1E8B1;MENDE KIKAKUI SYLLABLE M191 NDEE;Lo;0;R;;;;;N;;;;; +1E8B2;MENDE KIKAKUI SYLLABLE M119 NDE;Lo;0;R;;;;;N;;;;; +1E8B3;MENDE KIKAKUI SYLLABLE M067 NDOO;Lo;0;R;;;;;N;;;;; +1E8B4;MENDE KIKAKUI SYLLABLE M064 NDO;Lo;0;R;;;;;N;;;;; +1E8B5;MENDE KIKAKUI SYLLABLE M152 NJA;Lo;0;R;;;;;N;;;;; +1E8B6;MENDE KIKAKUI SYLLABLE M192 NJU;Lo;0;R;;;;;N;;;;; +1E8B7;MENDE KIKAKUI SYLLABLE M149 NJEE;Lo;0;R;;;;;N;;;;; +1E8B8;MENDE KIKAKUI SYLLABLE M134 NJOO;Lo;0;R;;;;;N;;;;; +1E8B9;MENDE KIKAKUI SYLLABLE M182 VI;Lo;0;R;;;;;N;;;;; +1E8BA;MENDE KIKAKUI SYLLABLE M185 VA;Lo;0;R;;;;;N;;;;; +1E8BB;MENDE KIKAKUI SYLLABLE M151 VU;Lo;0;R;;;;;N;;;;; +1E8BC;MENDE KIKAKUI SYLLABLE M173 VEE;Lo;0;R;;;;;N;;;;; +1E8BD;MENDE KIKAKUI SYLLABLE M085 VE;Lo;0;R;;;;;N;;;;; +1E8BE;MENDE KIKAKUI SYLLABLE M144 VOO;Lo;0;R;;;;;N;;;;; +1E8BF;MENDE KIKAKUI SYLLABLE M077 VO;Lo;0;R;;;;;N;;;;; +1E8C0;MENDE KIKAKUI SYLLABLE M164 NYIN;Lo;0;R;;;;;N;;;;; +1E8C1;MENDE KIKAKUI SYLLABLE M058 NYAN;Lo;0;R;;;;;N;;;;; +1E8C2;MENDE KIKAKUI SYLLABLE M170 NYUN;Lo;0;R;;;;;N;;;;; +1E8C3;MENDE KIKAKUI SYLLABLE M098 NYEN;Lo;0;R;;;;;N;;;;; +1E8C4;MENDE KIKAKUI SYLLABLE M060 NYON;Lo;0;R;;;;;N;;;;; +1E8C7;MENDE KIKAKUI DIGIT ONE;No;0;R;;;;1;N;;;;; +1E8C8;MENDE KIKAKUI DIGIT TWO;No;0;R;;;;2;N;;;;; +1E8C9;MENDE KIKAKUI DIGIT THREE;No;0;R;;;;3;N;;;;; +1E8CA;MENDE KIKAKUI DIGIT FOUR;No;0;R;;;;4;N;;;;; +1E8CB;MENDE KIKAKUI DIGIT FIVE;No;0;R;;;;5;N;;;;; +1E8CC;MENDE KIKAKUI DIGIT SIX;No;0;R;;;;6;N;;;;; +1E8CD;MENDE KIKAKUI DIGIT SEVEN;No;0;R;;;;7;N;;;;; +1E8CE;MENDE KIKAKUI DIGIT EIGHT;No;0;R;;;;8;N;;;;; +1E8CF;MENDE KIKAKUI DIGIT NINE;No;0;R;;;;9;N;;;;; +1E8D0;MENDE KIKAKUI COMBINING NUMBER TEENS;Mn;220;NSM;;;;;N;;;;; +1E8D1;MENDE KIKAKUI COMBINING NUMBER TENS;Mn;220;NSM;;;;;N;;;;; +1E8D2;MENDE KIKAKUI COMBINING NUMBER HUNDREDS;Mn;220;NSM;;;;;N;;;;; +1E8D3;MENDE KIKAKUI COMBINING NUMBER THOUSANDS;Mn;220;NSM;;;;;N;;;;; +1E8D4;MENDE KIKAKUI COMBINING NUMBER TEN THOUSANDS;Mn;220;NSM;;;;;N;;;;; +1E8D5;MENDE KIKAKUI COMBINING NUMBER HUNDRED THOUSANDS;Mn;220;NSM;;;;;N;;;;; +1E8D6;MENDE KIKAKUI COMBINING NUMBER MILLIONS;Mn;220;NSM;;;;;N;;;;; +1E900;ADLAM CAPITAL LETTER ALIF;Lu;0;R;;;;;N;;;;1E922; +1E901;ADLAM CAPITAL LETTER DAALI;Lu;0;R;;;;;N;;;;1E923; +1E902;ADLAM CAPITAL LETTER LAAM;Lu;0;R;;;;;N;;;;1E924; +1E903;ADLAM CAPITAL LETTER MIIM;Lu;0;R;;;;;N;;;;1E925; +1E904;ADLAM CAPITAL LETTER BA;Lu;0;R;;;;;N;;;;1E926; +1E905;ADLAM CAPITAL LETTER SINNYIIYHE;Lu;0;R;;;;;N;;;;1E927; +1E906;ADLAM CAPITAL LETTER PE;Lu;0;R;;;;;N;;;;1E928; +1E907;ADLAM CAPITAL LETTER BHE;Lu;0;R;;;;;N;;;;1E929; +1E908;ADLAM CAPITAL LETTER RA;Lu;0;R;;;;;N;;;;1E92A; +1E909;ADLAM CAPITAL LETTER E;Lu;0;R;;;;;N;;;;1E92B; +1E90A;ADLAM CAPITAL LETTER FA;Lu;0;R;;;;;N;;;;1E92C; +1E90B;ADLAM CAPITAL LETTER I;Lu;0;R;;;;;N;;;;1E92D; +1E90C;ADLAM CAPITAL LETTER O;Lu;0;R;;;;;N;;;;1E92E; +1E90D;ADLAM CAPITAL LETTER DHA;Lu;0;R;;;;;N;;;;1E92F; +1E90E;ADLAM CAPITAL LETTER YHE;Lu;0;R;;;;;N;;;;1E930; +1E90F;ADLAM CAPITAL LETTER WAW;Lu;0;R;;;;;N;;;;1E931; +1E910;ADLAM CAPITAL LETTER NUN;Lu;0;R;;;;;N;;;;1E932; +1E911;ADLAM CAPITAL LETTER KAF;Lu;0;R;;;;;N;;;;1E933; +1E912;ADLAM CAPITAL LETTER YA;Lu;0;R;;;;;N;;;;1E934; +1E913;ADLAM CAPITAL LETTER U;Lu;0;R;;;;;N;;;;1E935; +1E914;ADLAM CAPITAL LETTER JIIM;Lu;0;R;;;;;N;;;;1E936; +1E915;ADLAM CAPITAL LETTER CHI;Lu;0;R;;;;;N;;;;1E937; +1E916;ADLAM CAPITAL LETTER HA;Lu;0;R;;;;;N;;;;1E938; +1E917;ADLAM CAPITAL LETTER QAAF;Lu;0;R;;;;;N;;;;1E939; +1E918;ADLAM CAPITAL LETTER GA;Lu;0;R;;;;;N;;;;1E93A; +1E919;ADLAM CAPITAL LETTER NYA;Lu;0;R;;;;;N;;;;1E93B; +1E91A;ADLAM CAPITAL LETTER TU;Lu;0;R;;;;;N;;;;1E93C; +1E91B;ADLAM CAPITAL LETTER NHA;Lu;0;R;;;;;N;;;;1E93D; +1E91C;ADLAM CAPITAL LETTER VA;Lu;0;R;;;;;N;;;;1E93E; +1E91D;ADLAM CAPITAL LETTER KHA;Lu;0;R;;;;;N;;;;1E93F; +1E91E;ADLAM CAPITAL LETTER GBE;Lu;0;R;;;;;N;;;;1E940; +1E91F;ADLAM CAPITAL LETTER ZAL;Lu;0;R;;;;;N;;;;1E941; +1E920;ADLAM CAPITAL LETTER KPO;Lu;0;R;;;;;N;;;;1E942; +1E921;ADLAM CAPITAL LETTER SHA;Lu;0;R;;;;;N;;;;1E943; +1E922;ADLAM SMALL LETTER ALIF;Ll;0;R;;;;;N;;;1E900;;1E900 +1E923;ADLAM SMALL LETTER DAALI;Ll;0;R;;;;;N;;;1E901;;1E901 +1E924;ADLAM SMALL LETTER LAAM;Ll;0;R;;;;;N;;;1E902;;1E902 +1E925;ADLAM SMALL LETTER MIIM;Ll;0;R;;;;;N;;;1E903;;1E903 +1E926;ADLAM SMALL LETTER BA;Ll;0;R;;;;;N;;;1E904;;1E904 +1E927;ADLAM SMALL LETTER SINNYIIYHE;Ll;0;R;;;;;N;;;1E905;;1E905 +1E928;ADLAM SMALL LETTER PE;Ll;0;R;;;;;N;;;1E906;;1E906 +1E929;ADLAM SMALL LETTER BHE;Ll;0;R;;;;;N;;;1E907;;1E907 +1E92A;ADLAM SMALL LETTER RA;Ll;0;R;;;;;N;;;1E908;;1E908 +1E92B;ADLAM SMALL LETTER E;Ll;0;R;;;;;N;;;1E909;;1E909 +1E92C;ADLAM SMALL LETTER FA;Ll;0;R;;;;;N;;;1E90A;;1E90A +1E92D;ADLAM SMALL LETTER I;Ll;0;R;;;;;N;;;1E90B;;1E90B +1E92E;ADLAM SMALL LETTER O;Ll;0;R;;;;;N;;;1E90C;;1E90C +1E92F;ADLAM SMALL LETTER DHA;Ll;0;R;;;;;N;;;1E90D;;1E90D +1E930;ADLAM SMALL LETTER YHE;Ll;0;R;;;;;N;;;1E90E;;1E90E +1E931;ADLAM SMALL LETTER WAW;Ll;0;R;;;;;N;;;1E90F;;1E90F +1E932;ADLAM SMALL LETTER NUN;Ll;0;R;;;;;N;;;1E910;;1E910 +1E933;ADLAM SMALL LETTER KAF;Ll;0;R;;;;;N;;;1E911;;1E911 +1E934;ADLAM SMALL LETTER YA;Ll;0;R;;;;;N;;;1E912;;1E912 +1E935;ADLAM SMALL LETTER U;Ll;0;R;;;;;N;;;1E913;;1E913 +1E936;ADLAM SMALL LETTER JIIM;Ll;0;R;;;;;N;;;1E914;;1E914 +1E937;ADLAM SMALL LETTER CHI;Ll;0;R;;;;;N;;;1E915;;1E915 +1E938;ADLAM SMALL LETTER HA;Ll;0;R;;;;;N;;;1E916;;1E916 +1E939;ADLAM SMALL LETTER QAAF;Ll;0;R;;;;;N;;;1E917;;1E917 +1E93A;ADLAM SMALL LETTER GA;Ll;0;R;;;;;N;;;1E918;;1E918 +1E93B;ADLAM SMALL LETTER NYA;Ll;0;R;;;;;N;;;1E919;;1E919 +1E93C;ADLAM SMALL LETTER TU;Ll;0;R;;;;;N;;;1E91A;;1E91A +1E93D;ADLAM SMALL LETTER NHA;Ll;0;R;;;;;N;;;1E91B;;1E91B +1E93E;ADLAM SMALL LETTER VA;Ll;0;R;;;;;N;;;1E91C;;1E91C +1E93F;ADLAM SMALL LETTER KHA;Ll;0;R;;;;;N;;;1E91D;;1E91D +1E940;ADLAM SMALL LETTER GBE;Ll;0;R;;;;;N;;;1E91E;;1E91E +1E941;ADLAM SMALL LETTER ZAL;Ll;0;R;;;;;N;;;1E91F;;1E91F +1E942;ADLAM SMALL LETTER KPO;Ll;0;R;;;;;N;;;1E920;;1E920 +1E943;ADLAM SMALL LETTER SHA;Ll;0;R;;;;;N;;;1E921;;1E921 +1E944;ADLAM ALIF LENGTHENER;Mn;230;NSM;;;;;N;;;;; +1E945;ADLAM VOWEL LENGTHENER;Mn;230;NSM;;;;;N;;;;; +1E946;ADLAM GEMINATION MARK;Mn;230;NSM;;;;;N;;;;; +1E947;ADLAM HAMZA;Mn;230;NSM;;;;;N;;;;; +1E948;ADLAM CONSONANT MODIFIER;Mn;230;NSM;;;;;N;;;;; +1E949;ADLAM GEMINATE CONSONANT MODIFIER;Mn;230;NSM;;;;;N;;;;; +1E94A;ADLAM NUKTA;Mn;7;NSM;;;;;N;;;;; +1E94B;ADLAM NASALIZATION MARK;Lm;0;R;;;;;N;;;;; +1E950;ADLAM DIGIT ZERO;Nd;0;R;;0;0;0;N;;;;; +1E951;ADLAM DIGIT ONE;Nd;0;R;;1;1;1;N;;;;; +1E952;ADLAM DIGIT TWO;Nd;0;R;;2;2;2;N;;;;; +1E953;ADLAM DIGIT THREE;Nd;0;R;;3;3;3;N;;;;; +1E954;ADLAM DIGIT FOUR;Nd;0;R;;4;4;4;N;;;;; +1E955;ADLAM DIGIT FIVE;Nd;0;R;;5;5;5;N;;;;; +1E956;ADLAM DIGIT SIX;Nd;0;R;;6;6;6;N;;;;; +1E957;ADLAM DIGIT SEVEN;Nd;0;R;;7;7;7;N;;;;; +1E958;ADLAM DIGIT EIGHT;Nd;0;R;;8;8;8;N;;;;; +1E959;ADLAM DIGIT NINE;Nd;0;R;;9;9;9;N;;;;; +1E95E;ADLAM INITIAL EXCLAMATION MARK;Po;0;R;;;;;N;;;;; +1E95F;ADLAM INITIAL QUESTION MARK;Po;0;R;;;;;N;;;;; +1EC71;INDIC SIYAQ NUMBER ONE;No;0;AL;;;;1;N;;;;; +1EC72;INDIC SIYAQ NUMBER TWO;No;0;AL;;;;2;N;;;;; +1EC73;INDIC SIYAQ NUMBER THREE;No;0;AL;;;;3;N;;;;; +1EC74;INDIC SIYAQ NUMBER FOUR;No;0;AL;;;;4;N;;;;; +1EC75;INDIC SIYAQ NUMBER FIVE;No;0;AL;;;;5;N;;;;; +1EC76;INDIC SIYAQ NUMBER SIX;No;0;AL;;;;6;N;;;;; +1EC77;INDIC SIYAQ NUMBER SEVEN;No;0;AL;;;;7;N;;;;; +1EC78;INDIC SIYAQ NUMBER EIGHT;No;0;AL;;;;8;N;;;;; +1EC79;INDIC SIYAQ NUMBER NINE;No;0;AL;;;;9;N;;;;; +1EC7A;INDIC SIYAQ NUMBER TEN;No;0;AL;;;;10;N;;;;; +1EC7B;INDIC SIYAQ NUMBER TWENTY;No;0;AL;;;;20;N;;;;; +1EC7C;INDIC SIYAQ NUMBER THIRTY;No;0;AL;;;;30;N;;;;; +1EC7D;INDIC SIYAQ NUMBER FORTY;No;0;AL;;;;40;N;;;;; +1EC7E;INDIC SIYAQ NUMBER FIFTY;No;0;AL;;;;50;N;;;;; +1EC7F;INDIC SIYAQ NUMBER SIXTY;No;0;AL;;;;60;N;;;;; +1EC80;INDIC SIYAQ NUMBER SEVENTY;No;0;AL;;;;70;N;;;;; +1EC81;INDIC SIYAQ NUMBER EIGHTY;No;0;AL;;;;80;N;;;;; +1EC82;INDIC SIYAQ NUMBER NINETY;No;0;AL;;;;90;N;;;;; +1EC83;INDIC SIYAQ NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;; +1EC84;INDIC SIYAQ NUMBER TWO HUNDRED;No;0;AL;;;;200;N;;;;; +1EC85;INDIC SIYAQ NUMBER THREE HUNDRED;No;0;AL;;;;300;N;;;;; +1EC86;INDIC SIYAQ NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;; +1EC87;INDIC SIYAQ NUMBER FIVE HUNDRED;No;0;AL;;;;500;N;;;;; +1EC88;INDIC SIYAQ NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;; +1EC89;INDIC SIYAQ NUMBER SEVEN HUNDRED;No;0;AL;;;;700;N;;;;; +1EC8A;INDIC SIYAQ NUMBER EIGHT HUNDRED;No;0;AL;;;;800;N;;;;; +1EC8B;INDIC SIYAQ NUMBER NINE HUNDRED;No;0;AL;;;;900;N;;;;; +1EC8C;INDIC SIYAQ NUMBER ONE THOUSAND;No;0;AL;;;;1000;N;;;;; +1EC8D;INDIC SIYAQ NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;; +1EC8E;INDIC SIYAQ NUMBER THREE THOUSAND;No;0;AL;;;;3000;N;;;;; +1EC8F;INDIC SIYAQ NUMBER FOUR THOUSAND;No;0;AL;;;;4000;N;;;;; +1EC90;INDIC SIYAQ NUMBER FIVE THOUSAND;No;0;AL;;;;5000;N;;;;; +1EC91;INDIC SIYAQ NUMBER SIX THOUSAND;No;0;AL;;;;6000;N;;;;; +1EC92;INDIC SIYAQ NUMBER SEVEN THOUSAND;No;0;AL;;;;7000;N;;;;; +1EC93;INDIC SIYAQ NUMBER EIGHT THOUSAND;No;0;AL;;;;8000;N;;;;; +1EC94;INDIC SIYAQ NUMBER NINE THOUSAND;No;0;AL;;;;9000;N;;;;; +1EC95;INDIC SIYAQ NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;; +1EC96;INDIC SIYAQ NUMBER TWENTY THOUSAND;No;0;AL;;;;20000;N;;;;; +1EC97;INDIC SIYAQ NUMBER THIRTY THOUSAND;No;0;AL;;;;30000;N;;;;; +1EC98;INDIC SIYAQ NUMBER FORTY THOUSAND;No;0;AL;;;;40000;N;;;;; +1EC99;INDIC SIYAQ NUMBER FIFTY THOUSAND;No;0;AL;;;;50000;N;;;;; +1EC9A;INDIC SIYAQ NUMBER SIXTY THOUSAND;No;0;AL;;;;60000;N;;;;; +1EC9B;INDIC SIYAQ NUMBER SEVENTY THOUSAND;No;0;AL;;;;70000;N;;;;; +1EC9C;INDIC SIYAQ NUMBER EIGHTY THOUSAND;No;0;AL;;;;80000;N;;;;; +1EC9D;INDIC SIYAQ NUMBER NINETY THOUSAND;No;0;AL;;;;90000;N;;;;; +1EC9E;INDIC SIYAQ NUMBER LAKH;No;0;AL;;;;100000;N;;;;; +1EC9F;INDIC SIYAQ NUMBER LAKHAN;No;0;AL;;;;200000;N;;;;; +1ECA0;INDIC SIYAQ LAKH MARK;No;0;AL;;;;100000;N;;;;; +1ECA1;INDIC SIYAQ NUMBER KAROR;No;0;AL;;;;10000000;N;;;;; +1ECA2;INDIC SIYAQ NUMBER KARORAN;No;0;AL;;;;20000000;N;;;;; +1ECA3;INDIC SIYAQ NUMBER PREFIXED ONE;No;0;AL;;;;1;N;;;;; +1ECA4;INDIC SIYAQ NUMBER PREFIXED TWO;No;0;AL;;;;2;N;;;;; +1ECA5;INDIC SIYAQ NUMBER PREFIXED THREE;No;0;AL;;;;3;N;;;;; +1ECA6;INDIC SIYAQ NUMBER PREFIXED FOUR;No;0;AL;;;;4;N;;;;; +1ECA7;INDIC SIYAQ NUMBER PREFIXED FIVE;No;0;AL;;;;5;N;;;;; +1ECA8;INDIC SIYAQ NUMBER PREFIXED SIX;No;0;AL;;;;6;N;;;;; +1ECA9;INDIC SIYAQ NUMBER PREFIXED SEVEN;No;0;AL;;;;7;N;;;;; +1ECAA;INDIC SIYAQ NUMBER PREFIXED EIGHT;No;0;AL;;;;8;N;;;;; +1ECAB;INDIC SIYAQ NUMBER PREFIXED NINE;No;0;AL;;;;9;N;;;;; +1ECAC;INDIC SIYAQ PLACEHOLDER;So;0;AL;;;;;N;;;;; +1ECAD;INDIC SIYAQ FRACTION ONE QUARTER;No;0;AL;;;;1/4;N;;;;; +1ECAE;INDIC SIYAQ FRACTION ONE HALF;No;0;AL;;;;1/2;N;;;;; +1ECAF;INDIC SIYAQ FRACTION THREE QUARTERS;No;0;AL;;;;3/4;N;;;;; +1ECB0;INDIC SIYAQ RUPEE MARK;Sc;0;AL;;;;;N;;;;; +1ECB1;INDIC SIYAQ NUMBER ALTERNATE ONE;No;0;AL;;;;1;N;;;;; +1ECB2;INDIC SIYAQ NUMBER ALTERNATE TWO;No;0;AL;;;;2;N;;;;; +1ECB3;INDIC SIYAQ NUMBER ALTERNATE TEN THOUSAND;No;0;AL;;;;10000;N;;;;; +1ECB4;INDIC SIYAQ ALTERNATE LAKH MARK;No;0;AL;;;;100000;N;;;;; +1ED01;OTTOMAN SIYAQ NUMBER ONE;No;0;AL;;;;1;N;;;;; +1ED02;OTTOMAN SIYAQ NUMBER TWO;No;0;AL;;;;2;N;;;;; +1ED03;OTTOMAN SIYAQ NUMBER THREE;No;0;AL;;;;3;N;;;;; +1ED04;OTTOMAN SIYAQ NUMBER FOUR;No;0;AL;;;;4;N;;;;; +1ED05;OTTOMAN SIYAQ NUMBER FIVE;No;0;AL;;;;5;N;;;;; +1ED06;OTTOMAN SIYAQ NUMBER SIX;No;0;AL;;;;6;N;;;;; +1ED07;OTTOMAN SIYAQ NUMBER SEVEN;No;0;AL;;;;7;N;;;;; +1ED08;OTTOMAN SIYAQ NUMBER EIGHT;No;0;AL;;;;8;N;;;;; +1ED09;OTTOMAN SIYAQ NUMBER NINE;No;0;AL;;;;9;N;;;;; +1ED0A;OTTOMAN SIYAQ NUMBER TEN;No;0;AL;;;;10;N;;;;; +1ED0B;OTTOMAN SIYAQ NUMBER TWENTY;No;0;AL;;;;20;N;;;;; +1ED0C;OTTOMAN SIYAQ NUMBER THIRTY;No;0;AL;;;;30;N;;;;; +1ED0D;OTTOMAN SIYAQ NUMBER FORTY;No;0;AL;;;;40;N;;;;; +1ED0E;OTTOMAN SIYAQ NUMBER FIFTY;No;0;AL;;;;50;N;;;;; +1ED0F;OTTOMAN SIYAQ NUMBER SIXTY;No;0;AL;;;;60;N;;;;; +1ED10;OTTOMAN SIYAQ NUMBER SEVENTY;No;0;AL;;;;70;N;;;;; +1ED11;OTTOMAN SIYAQ NUMBER EIGHTY;No;0;AL;;;;80;N;;;;; +1ED12;OTTOMAN SIYAQ NUMBER NINETY;No;0;AL;;;;90;N;;;;; +1ED13;OTTOMAN SIYAQ NUMBER ONE HUNDRED;No;0;AL;;;;100;N;;;;; +1ED14;OTTOMAN SIYAQ NUMBER TWO HUNDRED;No;0;AL;;;;200;N;;;;; +1ED15;OTTOMAN SIYAQ NUMBER THREE HUNDRED;No;0;AL;;;;300;N;;;;; +1ED16;OTTOMAN SIYAQ NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;; +1ED17;OTTOMAN SIYAQ NUMBER FIVE HUNDRED;No;0;AL;;;;500;N;;;;; +1ED18;OTTOMAN SIYAQ NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;; +1ED19;OTTOMAN SIYAQ NUMBER SEVEN HUNDRED;No;0;AL;;;;700;N;;;;; +1ED1A;OTTOMAN SIYAQ NUMBER EIGHT HUNDRED;No;0;AL;;;;800;N;;;;; +1ED1B;OTTOMAN SIYAQ NUMBER NINE HUNDRED;No;0;AL;;;;900;N;;;;; +1ED1C;OTTOMAN SIYAQ NUMBER ONE THOUSAND;No;0;AL;;;;1000;N;;;;; +1ED1D;OTTOMAN SIYAQ NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;; +1ED1E;OTTOMAN SIYAQ NUMBER THREE THOUSAND;No;0;AL;;;;3000;N;;;;; +1ED1F;OTTOMAN SIYAQ NUMBER FOUR THOUSAND;No;0;AL;;;;4000;N;;;;; +1ED20;OTTOMAN SIYAQ NUMBER FIVE THOUSAND;No;0;AL;;;;5000;N;;;;; +1ED21;OTTOMAN SIYAQ NUMBER SIX THOUSAND;No;0;AL;;;;6000;N;;;;; +1ED22;OTTOMAN SIYAQ NUMBER SEVEN THOUSAND;No;0;AL;;;;7000;N;;;;; +1ED23;OTTOMAN SIYAQ NUMBER EIGHT THOUSAND;No;0;AL;;;;8000;N;;;;; +1ED24;OTTOMAN SIYAQ NUMBER NINE THOUSAND;No;0;AL;;;;9000;N;;;;; +1ED25;OTTOMAN SIYAQ NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;; +1ED26;OTTOMAN SIYAQ NUMBER TWENTY THOUSAND;No;0;AL;;;;20000;N;;;;; +1ED27;OTTOMAN SIYAQ NUMBER THIRTY THOUSAND;No;0;AL;;;;30000;N;;;;; +1ED28;OTTOMAN SIYAQ NUMBER FORTY THOUSAND;No;0;AL;;;;40000;N;;;;; +1ED29;OTTOMAN SIYAQ NUMBER FIFTY THOUSAND;No;0;AL;;;;50000;N;;;;; +1ED2A;OTTOMAN SIYAQ NUMBER SIXTY THOUSAND;No;0;AL;;;;60000;N;;;;; +1ED2B;OTTOMAN SIYAQ NUMBER SEVENTY THOUSAND;No;0;AL;;;;70000;N;;;;; +1ED2C;OTTOMAN SIYAQ NUMBER EIGHTY THOUSAND;No;0;AL;;;;80000;N;;;;; +1ED2D;OTTOMAN SIYAQ NUMBER NINETY THOUSAND;No;0;AL;;;;90000;N;;;;; +1ED2E;OTTOMAN SIYAQ MARRATAN;So;0;AL;;;;;N;;;;; +1ED2F;OTTOMAN SIYAQ ALTERNATE NUMBER TWO;No;0;AL;;;;2;N;;;;; +1ED30;OTTOMAN SIYAQ ALTERNATE NUMBER THREE;No;0;AL;;;;3;N;;;;; +1ED31;OTTOMAN SIYAQ ALTERNATE NUMBER FOUR;No;0;AL;;;;4;N;;;;; +1ED32;OTTOMAN SIYAQ ALTERNATE NUMBER FIVE;No;0;AL;;;;5;N;;;;; +1ED33;OTTOMAN SIYAQ ALTERNATE NUMBER SIX;No;0;AL;;;;6;N;;;;; +1ED34;OTTOMAN SIYAQ ALTERNATE NUMBER SEVEN;No;0;AL;;;;7;N;;;;; +1ED35;OTTOMAN SIYAQ ALTERNATE NUMBER EIGHT;No;0;AL;;;;8;N;;;;; +1ED36;OTTOMAN SIYAQ ALTERNATE NUMBER NINE;No;0;AL;;;;9;N;;;;; +1ED37;OTTOMAN SIYAQ ALTERNATE NUMBER TEN;No;0;AL;;;;10;N;;;;; +1ED38;OTTOMAN SIYAQ ALTERNATE NUMBER FOUR HUNDRED;No;0;AL;;;;400;N;;;;; +1ED39;OTTOMAN SIYAQ ALTERNATE NUMBER SIX HUNDRED;No;0;AL;;;;600;N;;;;; +1ED3A;OTTOMAN SIYAQ ALTERNATE NUMBER TWO THOUSAND;No;0;AL;;;;2000;N;;;;; +1ED3B;OTTOMAN SIYAQ ALTERNATE NUMBER TEN THOUSAND;No;0;AL;;;;10000;N;;;;; +1ED3C;OTTOMAN SIYAQ FRACTION ONE HALF;No;0;AL;;;;1/2;N;;;;; +1ED3D;OTTOMAN SIYAQ FRACTION ONE SIXTH;No;0;AL;;;;1/6;N;;;;; +1EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL; 0627;;;;N;;;;; +1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL; 0628;;;;N;;;;; +1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EE03;ARABIC MATHEMATICAL DAL;Lo;0;AL; 062F;;;;N;;;;; +1EE05;ARABIC MATHEMATICAL WAW;Lo;0;AL; 0648;;;;N;;;;; +1EE06;ARABIC MATHEMATICAL ZAIN;Lo;0;AL; 0632;;;;N;;;;; +1EE07;ARABIC MATHEMATICAL HAH;Lo;0;AL; 062D;;;;N;;;;; +1EE08;ARABIC MATHEMATICAL TAH;Lo;0;AL; 0637;;;;N;;;;; +1EE09;ARABIC MATHEMATICAL YEH;Lo;0;AL; 064A;;;;N;;;;; +1EE0A;ARABIC MATHEMATICAL KAF;Lo;0;AL; 0643;;;;N;;;;; +1EE0B;ARABIC MATHEMATICAL LAM;Lo;0;AL; 0644;;;;N;;;;; +1EE0C;ARABIC MATHEMATICAL MEEM;Lo;0;AL; 0645;;;;N;;;;; +1EE0D;ARABIC MATHEMATICAL NOON;Lo;0;AL; 0646;;;;N;;;;; +1EE0E;ARABIC MATHEMATICAL SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EE0F;ARABIC MATHEMATICAL AIN;Lo;0;AL; 0639;;;;N;;;;; +1EE10;ARABIC MATHEMATICAL FEH;Lo;0;AL; 0641;;;;N;;;;; +1EE11;ARABIC MATHEMATICAL SAD;Lo;0;AL; 0635;;;;N;;;;; +1EE12;ARABIC MATHEMATICAL QAF;Lo;0;AL; 0642;;;;N;;;;; +1EE13;ARABIC MATHEMATICAL REH;Lo;0;AL; 0631;;;;N;;;;; +1EE14;ARABIC MATHEMATICAL SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EE15;ARABIC MATHEMATICAL TEH;Lo;0;AL; 062A;;;;N;;;;; +1EE16;ARABIC MATHEMATICAL THEH;Lo;0;AL; 062B;;;;N;;;;; +1EE17;ARABIC MATHEMATICAL KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EE18;ARABIC MATHEMATICAL THAL;Lo;0;AL; 0630;;;;N;;;;; +1EE19;ARABIC MATHEMATICAL DAD;Lo;0;AL; 0636;;;;N;;;;; +1EE1A;ARABIC MATHEMATICAL ZAH;Lo;0;AL; 0638;;;;N;;;;; +1EE1B;ARABIC MATHEMATICAL GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EE1C;ARABIC MATHEMATICAL DOTLESS BEH;Lo;0;AL; 066E;;;;N;;;;; +1EE1D;ARABIC MATHEMATICAL DOTLESS NOON;Lo;0;AL; 06BA;;;;N;;;;; +1EE1E;ARABIC MATHEMATICAL DOTLESS FEH;Lo;0;AL; 06A1;;;;N;;;;; +1EE1F;ARABIC MATHEMATICAL DOTLESS QAF;Lo;0;AL; 066F;;;;N;;;;; +1EE21;ARABIC MATHEMATICAL INITIAL BEH;Lo;0;AL; 0628;;;;N;;;;; +1EE22;ARABIC MATHEMATICAL INITIAL JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EE24;ARABIC MATHEMATICAL INITIAL HEH;Lo;0;AL; 0647;;;;N;;;;; +1EE27;ARABIC MATHEMATICAL INITIAL HAH;Lo;0;AL; 062D;;;;N;;;;; +1EE29;ARABIC MATHEMATICAL INITIAL YEH;Lo;0;AL; 064A;;;;N;;;;; +1EE2A;ARABIC MATHEMATICAL INITIAL KAF;Lo;0;AL; 0643;;;;N;;;;; +1EE2B;ARABIC MATHEMATICAL INITIAL LAM;Lo;0;AL; 0644;;;;N;;;;; +1EE2C;ARABIC MATHEMATICAL INITIAL MEEM;Lo;0;AL; 0645;;;;N;;;;; +1EE2D;ARABIC MATHEMATICAL INITIAL NOON;Lo;0;AL; 0646;;;;N;;;;; +1EE2E;ARABIC MATHEMATICAL INITIAL SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EE2F;ARABIC MATHEMATICAL INITIAL AIN;Lo;0;AL; 0639;;;;N;;;;; +1EE30;ARABIC MATHEMATICAL INITIAL FEH;Lo;0;AL; 0641;;;;N;;;;; +1EE31;ARABIC MATHEMATICAL INITIAL SAD;Lo;0;AL; 0635;;;;N;;;;; +1EE32;ARABIC MATHEMATICAL INITIAL QAF;Lo;0;AL; 0642;;;;N;;;;; +1EE34;ARABIC MATHEMATICAL INITIAL SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EE35;ARABIC MATHEMATICAL INITIAL TEH;Lo;0;AL; 062A;;;;N;;;;; +1EE36;ARABIC MATHEMATICAL INITIAL THEH;Lo;0;AL; 062B;;;;N;;;;; +1EE37;ARABIC MATHEMATICAL INITIAL KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EE39;ARABIC MATHEMATICAL INITIAL DAD;Lo;0;AL; 0636;;;;N;;;;; +1EE3B;ARABIC MATHEMATICAL INITIAL GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EE42;ARABIC MATHEMATICAL TAILED JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EE47;ARABIC MATHEMATICAL TAILED HAH;Lo;0;AL; 062D;;;;N;;;;; +1EE49;ARABIC MATHEMATICAL TAILED YEH;Lo;0;AL; 064A;;;;N;;;;; +1EE4B;ARABIC MATHEMATICAL TAILED LAM;Lo;0;AL; 0644;;;;N;;;;; +1EE4D;ARABIC MATHEMATICAL TAILED NOON;Lo;0;AL; 0646;;;;N;;;;; +1EE4E;ARABIC MATHEMATICAL TAILED SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EE4F;ARABIC MATHEMATICAL TAILED AIN;Lo;0;AL; 0639;;;;N;;;;; +1EE51;ARABIC MATHEMATICAL TAILED SAD;Lo;0;AL; 0635;;;;N;;;;; +1EE52;ARABIC MATHEMATICAL TAILED QAF;Lo;0;AL; 0642;;;;N;;;;; +1EE54;ARABIC MATHEMATICAL TAILED SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EE57;ARABIC MATHEMATICAL TAILED KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EE59;ARABIC MATHEMATICAL TAILED DAD;Lo;0;AL; 0636;;;;N;;;;; +1EE5B;ARABIC MATHEMATICAL TAILED GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EE5D;ARABIC MATHEMATICAL TAILED DOTLESS NOON;Lo;0;AL; 06BA;;;;N;;;;; +1EE5F;ARABIC MATHEMATICAL TAILED DOTLESS QAF;Lo;0;AL; 066F;;;;N;;;;; +1EE61;ARABIC MATHEMATICAL STRETCHED BEH;Lo;0;AL; 0628;;;;N;;;;; +1EE62;ARABIC MATHEMATICAL STRETCHED JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EE64;ARABIC MATHEMATICAL STRETCHED HEH;Lo;0;AL; 0647;;;;N;;;;; +1EE67;ARABIC MATHEMATICAL STRETCHED HAH;Lo;0;AL; 062D;;;;N;;;;; +1EE68;ARABIC MATHEMATICAL STRETCHED TAH;Lo;0;AL; 0637;;;;N;;;;; +1EE69;ARABIC MATHEMATICAL STRETCHED YEH;Lo;0;AL; 064A;;;;N;;;;; +1EE6A;ARABIC MATHEMATICAL STRETCHED KAF;Lo;0;AL; 0643;;;;N;;;;; +1EE6C;ARABIC MATHEMATICAL STRETCHED MEEM;Lo;0;AL; 0645;;;;N;;;;; +1EE6D;ARABIC MATHEMATICAL STRETCHED NOON;Lo;0;AL; 0646;;;;N;;;;; +1EE6E;ARABIC MATHEMATICAL STRETCHED SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EE6F;ARABIC MATHEMATICAL STRETCHED AIN;Lo;0;AL; 0639;;;;N;;;;; +1EE70;ARABIC MATHEMATICAL STRETCHED FEH;Lo;0;AL; 0641;;;;N;;;;; +1EE71;ARABIC MATHEMATICAL STRETCHED SAD;Lo;0;AL; 0635;;;;N;;;;; +1EE72;ARABIC MATHEMATICAL STRETCHED QAF;Lo;0;AL; 0642;;;;N;;;;; +1EE74;ARABIC MATHEMATICAL STRETCHED SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EE75;ARABIC MATHEMATICAL STRETCHED TEH;Lo;0;AL; 062A;;;;N;;;;; +1EE76;ARABIC MATHEMATICAL STRETCHED THEH;Lo;0;AL; 062B;;;;N;;;;; +1EE77;ARABIC MATHEMATICAL STRETCHED KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EE79;ARABIC MATHEMATICAL STRETCHED DAD;Lo;0;AL; 0636;;;;N;;;;; +1EE7A;ARABIC MATHEMATICAL STRETCHED ZAH;Lo;0;AL; 0638;;;;N;;;;; +1EE7B;ARABIC MATHEMATICAL STRETCHED GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EE7C;ARABIC MATHEMATICAL STRETCHED DOTLESS BEH;Lo;0;AL; 066E;;;;N;;;;; +1EE7E;ARABIC MATHEMATICAL STRETCHED DOTLESS FEH;Lo;0;AL; 06A1;;;;N;;;;; +1EE80;ARABIC MATHEMATICAL LOOPED ALEF;Lo;0;AL; 0627;;;;N;;;;; +1EE81;ARABIC MATHEMATICAL LOOPED BEH;Lo;0;AL; 0628;;;;N;;;;; +1EE82;ARABIC MATHEMATICAL LOOPED JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EE83;ARABIC MATHEMATICAL LOOPED DAL;Lo;0;AL; 062F;;;;N;;;;; +1EE84;ARABIC MATHEMATICAL LOOPED HEH;Lo;0;AL; 0647;;;;N;;;;; +1EE85;ARABIC MATHEMATICAL LOOPED WAW;Lo;0;AL; 0648;;;;N;;;;; +1EE86;ARABIC MATHEMATICAL LOOPED ZAIN;Lo;0;AL; 0632;;;;N;;;;; +1EE87;ARABIC MATHEMATICAL LOOPED HAH;Lo;0;AL; 062D;;;;N;;;;; +1EE88;ARABIC MATHEMATICAL LOOPED TAH;Lo;0;AL; 0637;;;;N;;;;; +1EE89;ARABIC MATHEMATICAL LOOPED YEH;Lo;0;AL; 064A;;;;N;;;;; +1EE8B;ARABIC MATHEMATICAL LOOPED LAM;Lo;0;AL; 0644;;;;N;;;;; +1EE8C;ARABIC MATHEMATICAL LOOPED MEEM;Lo;0;AL; 0645;;;;N;;;;; +1EE8D;ARABIC MATHEMATICAL LOOPED NOON;Lo;0;AL; 0646;;;;N;;;;; +1EE8E;ARABIC MATHEMATICAL LOOPED SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EE8F;ARABIC MATHEMATICAL LOOPED AIN;Lo;0;AL; 0639;;;;N;;;;; +1EE90;ARABIC MATHEMATICAL LOOPED FEH;Lo;0;AL; 0641;;;;N;;;;; +1EE91;ARABIC MATHEMATICAL LOOPED SAD;Lo;0;AL; 0635;;;;N;;;;; +1EE92;ARABIC MATHEMATICAL LOOPED QAF;Lo;0;AL; 0642;;;;N;;;;; +1EE93;ARABIC MATHEMATICAL LOOPED REH;Lo;0;AL; 0631;;;;N;;;;; +1EE94;ARABIC MATHEMATICAL LOOPED SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EE95;ARABIC MATHEMATICAL LOOPED TEH;Lo;0;AL; 062A;;;;N;;;;; +1EE96;ARABIC MATHEMATICAL LOOPED THEH;Lo;0;AL; 062B;;;;N;;;;; +1EE97;ARABIC MATHEMATICAL LOOPED KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EE98;ARABIC MATHEMATICAL LOOPED THAL;Lo;0;AL; 0630;;;;N;;;;; +1EE99;ARABIC MATHEMATICAL LOOPED DAD;Lo;0;AL; 0636;;;;N;;;;; +1EE9A;ARABIC MATHEMATICAL LOOPED ZAH;Lo;0;AL; 0638;;;;N;;;;; +1EE9B;ARABIC MATHEMATICAL LOOPED GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EEA1;ARABIC MATHEMATICAL DOUBLE-STRUCK BEH;Lo;0;AL; 0628;;;;N;;;;; +1EEA2;ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM;Lo;0;AL; 062C;;;;N;;;;; +1EEA3;ARABIC MATHEMATICAL DOUBLE-STRUCK DAL;Lo;0;AL; 062F;;;;N;;;;; +1EEA5;ARABIC MATHEMATICAL DOUBLE-STRUCK WAW;Lo;0;AL; 0648;;;;N;;;;; +1EEA6;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN;Lo;0;AL; 0632;;;;N;;;;; +1EEA7;ARABIC MATHEMATICAL DOUBLE-STRUCK HAH;Lo;0;AL; 062D;;;;N;;;;; +1EEA8;ARABIC MATHEMATICAL DOUBLE-STRUCK TAH;Lo;0;AL; 0637;;;;N;;;;; +1EEA9;ARABIC MATHEMATICAL DOUBLE-STRUCK YEH;Lo;0;AL; 064A;;;;N;;;;; +1EEAB;ARABIC MATHEMATICAL DOUBLE-STRUCK LAM;Lo;0;AL; 0644;;;;N;;;;; +1EEAC;ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM;Lo;0;AL; 0645;;;;N;;;;; +1EEAD;ARABIC MATHEMATICAL DOUBLE-STRUCK NOON;Lo;0;AL; 0646;;;;N;;;;; +1EEAE;ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN;Lo;0;AL; 0633;;;;N;;;;; +1EEAF;ARABIC MATHEMATICAL DOUBLE-STRUCK AIN;Lo;0;AL; 0639;;;;N;;;;; +1EEB0;ARABIC MATHEMATICAL DOUBLE-STRUCK FEH;Lo;0;AL; 0641;;;;N;;;;; +1EEB1;ARABIC MATHEMATICAL DOUBLE-STRUCK SAD;Lo;0;AL; 0635;;;;N;;;;; +1EEB2;ARABIC MATHEMATICAL DOUBLE-STRUCK QAF;Lo;0;AL; 0642;;;;N;;;;; +1EEB3;ARABIC MATHEMATICAL DOUBLE-STRUCK REH;Lo;0;AL; 0631;;;;N;;;;; +1EEB4;ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN;Lo;0;AL; 0634;;;;N;;;;; +1EEB5;ARABIC MATHEMATICAL DOUBLE-STRUCK TEH;Lo;0;AL; 062A;;;;N;;;;; +1EEB6;ARABIC MATHEMATICAL DOUBLE-STRUCK THEH;Lo;0;AL; 062B;;;;N;;;;; +1EEB7;ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH;Lo;0;AL; 062E;;;;N;;;;; +1EEB8;ARABIC MATHEMATICAL DOUBLE-STRUCK THAL;Lo;0;AL; 0630;;;;N;;;;; +1EEB9;ARABIC MATHEMATICAL DOUBLE-STRUCK DAD;Lo;0;AL; 0636;;;;N;;;;; +1EEBA;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH;Lo;0;AL; 0638;;;;N;;;;; +1EEBB;ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN;Lo;0;AL; 063A;;;;N;;;;; +1EEF0;ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL;Sm;0;ON;;;;;N;;;;; +1EEF1;ARABIC MATHEMATICAL OPERATOR HAH WITH DAL;Sm;0;ON;;;;;N;;;;; +1F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;; +1F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;; +1F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;; +1F003;MAHJONG TILE NORTH WIND;So;0;ON;;;;;N;;;;; +1F004;MAHJONG TILE RED DRAGON;So;0;ON;;;;;N;;;;; +1F005;MAHJONG TILE GREEN DRAGON;So;0;ON;;;;;N;;;;; +1F006;MAHJONG TILE WHITE DRAGON;So;0;ON;;;;;N;;;;; +1F007;MAHJONG TILE ONE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F008;MAHJONG TILE TWO OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F009;MAHJONG TILE THREE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00A;MAHJONG TILE FOUR OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00B;MAHJONG TILE FIVE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00C;MAHJONG TILE SIX OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00D;MAHJONG TILE SEVEN OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00E;MAHJONG TILE EIGHT OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F00F;MAHJONG TILE NINE OF CHARACTERS;So;0;ON;;;;;N;;;;; +1F010;MAHJONG TILE ONE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F011;MAHJONG TILE TWO OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F012;MAHJONG TILE THREE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F013;MAHJONG TILE FOUR OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F014;MAHJONG TILE FIVE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F015;MAHJONG TILE SIX OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F016;MAHJONG TILE SEVEN OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F017;MAHJONG TILE EIGHT OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F018;MAHJONG TILE NINE OF BAMBOOS;So;0;ON;;;;;N;;;;; +1F019;MAHJONG TILE ONE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01A;MAHJONG TILE TWO OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01B;MAHJONG TILE THREE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01C;MAHJONG TILE FOUR OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01D;MAHJONG TILE FIVE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01E;MAHJONG TILE SIX OF CIRCLES;So;0;ON;;;;;N;;;;; +1F01F;MAHJONG TILE SEVEN OF CIRCLES;So;0;ON;;;;;N;;;;; +1F020;MAHJONG TILE EIGHT OF CIRCLES;So;0;ON;;;;;N;;;;; +1F021;MAHJONG TILE NINE OF CIRCLES;So;0;ON;;;;;N;;;;; +1F022;MAHJONG TILE PLUM;So;0;ON;;;;;N;;;;; +1F023;MAHJONG TILE ORCHID;So;0;ON;;;;;N;;;;; +1F024;MAHJONG TILE BAMBOO;So;0;ON;;;;;N;;;;; +1F025;MAHJONG TILE CHRYSANTHEMUM;So;0;ON;;;;;N;;;;; +1F026;MAHJONG TILE SPRING;So;0;ON;;;;;N;;;;; +1F027;MAHJONG TILE SUMMER;So;0;ON;;;;;N;;;;; +1F028;MAHJONG TILE AUTUMN;So;0;ON;;;;;N;;;;; +1F029;MAHJONG TILE WINTER;So;0;ON;;;;;N;;;;; +1F02A;MAHJONG TILE JOKER;So;0;ON;;;;;N;;;;; +1F02B;MAHJONG TILE BACK;So;0;ON;;;;;N;;;;; +1F030;DOMINO TILE HORIZONTAL BACK;So;0;ON;;;;;N;;;;; +1F031;DOMINO TILE HORIZONTAL-00-00;So;0;ON;;;;;N;;;;; +1F032;DOMINO TILE HORIZONTAL-00-01;So;0;ON;;;;;N;;;;; +1F033;DOMINO TILE HORIZONTAL-00-02;So;0;ON;;;;;N;;;;; +1F034;DOMINO TILE HORIZONTAL-00-03;So;0;ON;;;;;N;;;;; +1F035;DOMINO TILE HORIZONTAL-00-04;So;0;ON;;;;;N;;;;; +1F036;DOMINO TILE HORIZONTAL-00-05;So;0;ON;;;;;N;;;;; +1F037;DOMINO TILE HORIZONTAL-00-06;So;0;ON;;;;;N;;;;; +1F038;DOMINO TILE HORIZONTAL-01-00;So;0;ON;;;;;N;;;;; +1F039;DOMINO TILE HORIZONTAL-01-01;So;0;ON;;;;;N;;;;; +1F03A;DOMINO TILE HORIZONTAL-01-02;So;0;ON;;;;;N;;;;; +1F03B;DOMINO TILE HORIZONTAL-01-03;So;0;ON;;;;;N;;;;; +1F03C;DOMINO TILE HORIZONTAL-01-04;So;0;ON;;;;;N;;;;; +1F03D;DOMINO TILE HORIZONTAL-01-05;So;0;ON;;;;;N;;;;; +1F03E;DOMINO TILE HORIZONTAL-01-06;So;0;ON;;;;;N;;;;; +1F03F;DOMINO TILE HORIZONTAL-02-00;So;0;ON;;;;;N;;;;; +1F040;DOMINO TILE HORIZONTAL-02-01;So;0;ON;;;;;N;;;;; +1F041;DOMINO TILE HORIZONTAL-02-02;So;0;ON;;;;;N;;;;; +1F042;DOMINO TILE HORIZONTAL-02-03;So;0;ON;;;;;N;;;;; +1F043;DOMINO TILE HORIZONTAL-02-04;So;0;ON;;;;;N;;;;; +1F044;DOMINO TILE HORIZONTAL-02-05;So;0;ON;;;;;N;;;;; +1F045;DOMINO TILE HORIZONTAL-02-06;So;0;ON;;;;;N;;;;; +1F046;DOMINO TILE HORIZONTAL-03-00;So;0;ON;;;;;N;;;;; +1F047;DOMINO TILE HORIZONTAL-03-01;So;0;ON;;;;;N;;;;; +1F048;DOMINO TILE HORIZONTAL-03-02;So;0;ON;;;;;N;;;;; +1F049;DOMINO TILE HORIZONTAL-03-03;So;0;ON;;;;;N;;;;; +1F04A;DOMINO TILE HORIZONTAL-03-04;So;0;ON;;;;;N;;;;; +1F04B;DOMINO TILE HORIZONTAL-03-05;So;0;ON;;;;;N;;;;; +1F04C;DOMINO TILE HORIZONTAL-03-06;So;0;ON;;;;;N;;;;; +1F04D;DOMINO TILE HORIZONTAL-04-00;So;0;ON;;;;;N;;;;; +1F04E;DOMINO TILE HORIZONTAL-04-01;So;0;ON;;;;;N;;;;; +1F04F;DOMINO TILE HORIZONTAL-04-02;So;0;ON;;;;;N;;;;; +1F050;DOMINO TILE HORIZONTAL-04-03;So;0;ON;;;;;N;;;;; +1F051;DOMINO TILE HORIZONTAL-04-04;So;0;ON;;;;;N;;;;; +1F052;DOMINO TILE HORIZONTAL-04-05;So;0;ON;;;;;N;;;;; +1F053;DOMINO TILE HORIZONTAL-04-06;So;0;ON;;;;;N;;;;; +1F054;DOMINO TILE HORIZONTAL-05-00;So;0;ON;;;;;N;;;;; +1F055;DOMINO TILE HORIZONTAL-05-01;So;0;ON;;;;;N;;;;; +1F056;DOMINO TILE HORIZONTAL-05-02;So;0;ON;;;;;N;;;;; +1F057;DOMINO TILE HORIZONTAL-05-03;So;0;ON;;;;;N;;;;; +1F058;DOMINO TILE HORIZONTAL-05-04;So;0;ON;;;;;N;;;;; +1F059;DOMINO TILE HORIZONTAL-05-05;So;0;ON;;;;;N;;;;; +1F05A;DOMINO TILE HORIZONTAL-05-06;So;0;ON;;;;;N;;;;; +1F05B;DOMINO TILE HORIZONTAL-06-00;So;0;ON;;;;;N;;;;; +1F05C;DOMINO TILE HORIZONTAL-06-01;So;0;ON;;;;;N;;;;; +1F05D;DOMINO TILE HORIZONTAL-06-02;So;0;ON;;;;;N;;;;; +1F05E;DOMINO TILE HORIZONTAL-06-03;So;0;ON;;;;;N;;;;; +1F05F;DOMINO TILE HORIZONTAL-06-04;So;0;ON;;;;;N;;;;; +1F060;DOMINO TILE HORIZONTAL-06-05;So;0;ON;;;;;N;;;;; +1F061;DOMINO TILE HORIZONTAL-06-06;So;0;ON;;;;;N;;;;; +1F062;DOMINO TILE VERTICAL BACK;So;0;ON;;;;;N;;;;; +1F063;DOMINO TILE VERTICAL-00-00;So;0;ON;;;;;N;;;;; +1F064;DOMINO TILE VERTICAL-00-01;So;0;ON;;;;;N;;;;; +1F065;DOMINO TILE VERTICAL-00-02;So;0;ON;;;;;N;;;;; +1F066;DOMINO TILE VERTICAL-00-03;So;0;ON;;;;;N;;;;; +1F067;DOMINO TILE VERTICAL-00-04;So;0;ON;;;;;N;;;;; +1F068;DOMINO TILE VERTICAL-00-05;So;0;ON;;;;;N;;;;; +1F069;DOMINO TILE VERTICAL-00-06;So;0;ON;;;;;N;;;;; +1F06A;DOMINO TILE VERTICAL-01-00;So;0;ON;;;;;N;;;;; +1F06B;DOMINO TILE VERTICAL-01-01;So;0;ON;;;;;N;;;;; +1F06C;DOMINO TILE VERTICAL-01-02;So;0;ON;;;;;N;;;;; +1F06D;DOMINO TILE VERTICAL-01-03;So;0;ON;;;;;N;;;;; +1F06E;DOMINO TILE VERTICAL-01-04;So;0;ON;;;;;N;;;;; +1F06F;DOMINO TILE VERTICAL-01-05;So;0;ON;;;;;N;;;;; +1F070;DOMINO TILE VERTICAL-01-06;So;0;ON;;;;;N;;;;; +1F071;DOMINO TILE VERTICAL-02-00;So;0;ON;;;;;N;;;;; +1F072;DOMINO TILE VERTICAL-02-01;So;0;ON;;;;;N;;;;; +1F073;DOMINO TILE VERTICAL-02-02;So;0;ON;;;;;N;;;;; +1F074;DOMINO TILE VERTICAL-02-03;So;0;ON;;;;;N;;;;; +1F075;DOMINO TILE VERTICAL-02-04;So;0;ON;;;;;N;;;;; +1F076;DOMINO TILE VERTICAL-02-05;So;0;ON;;;;;N;;;;; +1F077;DOMINO TILE VERTICAL-02-06;So;0;ON;;;;;N;;;;; +1F078;DOMINO TILE VERTICAL-03-00;So;0;ON;;;;;N;;;;; +1F079;DOMINO TILE VERTICAL-03-01;So;0;ON;;;;;N;;;;; +1F07A;DOMINO TILE VERTICAL-03-02;So;0;ON;;;;;N;;;;; +1F07B;DOMINO TILE VERTICAL-03-03;So;0;ON;;;;;N;;;;; +1F07C;DOMINO TILE VERTICAL-03-04;So;0;ON;;;;;N;;;;; +1F07D;DOMINO TILE VERTICAL-03-05;So;0;ON;;;;;N;;;;; +1F07E;DOMINO TILE VERTICAL-03-06;So;0;ON;;;;;N;;;;; +1F07F;DOMINO TILE VERTICAL-04-00;So;0;ON;;;;;N;;;;; +1F080;DOMINO TILE VERTICAL-04-01;So;0;ON;;;;;N;;;;; +1F081;DOMINO TILE VERTICAL-04-02;So;0;ON;;;;;N;;;;; +1F082;DOMINO TILE VERTICAL-04-03;So;0;ON;;;;;N;;;;; +1F083;DOMINO TILE VERTICAL-04-04;So;0;ON;;;;;N;;;;; +1F084;DOMINO TILE VERTICAL-04-05;So;0;ON;;;;;N;;;;; +1F085;DOMINO TILE VERTICAL-04-06;So;0;ON;;;;;N;;;;; +1F086;DOMINO TILE VERTICAL-05-00;So;0;ON;;;;;N;;;;; +1F087;DOMINO TILE VERTICAL-05-01;So;0;ON;;;;;N;;;;; +1F088;DOMINO TILE VERTICAL-05-02;So;0;ON;;;;;N;;;;; +1F089;DOMINO TILE VERTICAL-05-03;So;0;ON;;;;;N;;;;; +1F08A;DOMINO TILE VERTICAL-05-04;So;0;ON;;;;;N;;;;; +1F08B;DOMINO TILE VERTICAL-05-05;So;0;ON;;;;;N;;;;; +1F08C;DOMINO TILE VERTICAL-05-06;So;0;ON;;;;;N;;;;; +1F08D;DOMINO TILE VERTICAL-06-00;So;0;ON;;;;;N;;;;; +1F08E;DOMINO TILE VERTICAL-06-01;So;0;ON;;;;;N;;;;; +1F08F;DOMINO TILE VERTICAL-06-02;So;0;ON;;;;;N;;;;; +1F090;DOMINO TILE VERTICAL-06-03;So;0;ON;;;;;N;;;;; +1F091;DOMINO TILE VERTICAL-06-04;So;0;ON;;;;;N;;;;; +1F092;DOMINO TILE VERTICAL-06-05;So;0;ON;;;;;N;;;;; +1F093;DOMINO TILE VERTICAL-06-06;So;0;ON;;;;;N;;;;; +1F0A0;PLAYING CARD BACK;So;0;ON;;;;;N;;;;; +1F0A1;PLAYING CARD ACE OF SPADES;So;0;ON;;;;;N;;;;; +1F0A2;PLAYING CARD TWO OF SPADES;So;0;ON;;;;;N;;;;; +1F0A3;PLAYING CARD THREE OF SPADES;So;0;ON;;;;;N;;;;; +1F0A4;PLAYING CARD FOUR OF SPADES;So;0;ON;;;;;N;;;;; +1F0A5;PLAYING CARD FIVE OF SPADES;So;0;ON;;;;;N;;;;; +1F0A6;PLAYING CARD SIX OF SPADES;So;0;ON;;;;;N;;;;; +1F0A7;PLAYING CARD SEVEN OF SPADES;So;0;ON;;;;;N;;;;; +1F0A8;PLAYING CARD EIGHT OF SPADES;So;0;ON;;;;;N;;;;; +1F0A9;PLAYING CARD NINE OF SPADES;So;0;ON;;;;;N;;;;; +1F0AA;PLAYING CARD TEN OF SPADES;So;0;ON;;;;;N;;;;; +1F0AB;PLAYING CARD JACK OF SPADES;So;0;ON;;;;;N;;;;; +1F0AC;PLAYING CARD KNIGHT OF SPADES;So;0;ON;;;;;N;;;;; +1F0AD;PLAYING CARD QUEEN OF SPADES;So;0;ON;;;;;N;;;;; +1F0AE;PLAYING CARD KING OF SPADES;So;0;ON;;;;;N;;;;; +1F0B1;PLAYING CARD ACE OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B2;PLAYING CARD TWO OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B3;PLAYING CARD THREE OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B4;PLAYING CARD FOUR OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B5;PLAYING CARD FIVE OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B6;PLAYING CARD SIX OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B7;PLAYING CARD SEVEN OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B8;PLAYING CARD EIGHT OF HEARTS;So;0;ON;;;;;N;;;;; +1F0B9;PLAYING CARD NINE OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BA;PLAYING CARD TEN OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BB;PLAYING CARD JACK OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BC;PLAYING CARD KNIGHT OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BD;PLAYING CARD QUEEN OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BE;PLAYING CARD KING OF HEARTS;So;0;ON;;;;;N;;;;; +1F0BF;PLAYING CARD RED JOKER;So;0;ON;;;;;N;;;;; +1F0C1;PLAYING CARD ACE OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C2;PLAYING CARD TWO OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C3;PLAYING CARD THREE OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C4;PLAYING CARD FOUR OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C5;PLAYING CARD FIVE OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C6;PLAYING CARD SIX OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C7;PLAYING CARD SEVEN OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C8;PLAYING CARD EIGHT OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0C9;PLAYING CARD NINE OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CA;PLAYING CARD TEN OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CB;PLAYING CARD JACK OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CC;PLAYING CARD KNIGHT OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CD;PLAYING CARD QUEEN OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CE;PLAYING CARD KING OF DIAMONDS;So;0;ON;;;;;N;;;;; +1F0CF;PLAYING CARD BLACK JOKER;So;0;ON;;;;;N;;;;; +1F0D1;PLAYING CARD ACE OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D2;PLAYING CARD TWO OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D3;PLAYING CARD THREE OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D4;PLAYING CARD FOUR OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D5;PLAYING CARD FIVE OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D6;PLAYING CARD SIX OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D7;PLAYING CARD SEVEN OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D8;PLAYING CARD EIGHT OF CLUBS;So;0;ON;;;;;N;;;;; +1F0D9;PLAYING CARD NINE OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DA;PLAYING CARD TEN OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DB;PLAYING CARD JACK OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DC;PLAYING CARD KNIGHT OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DD;PLAYING CARD QUEEN OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DE;PLAYING CARD KING OF CLUBS;So;0;ON;;;;;N;;;;; +1F0DF;PLAYING CARD WHITE JOKER;So;0;ON;;;;;N;;;;; +1F0E0;PLAYING CARD FOOL;So;0;ON;;;;;N;;;;; +1F0E1;PLAYING CARD TRUMP-1;So;0;ON;;;;;N;;;;; +1F0E2;PLAYING CARD TRUMP-2;So;0;ON;;;;;N;;;;; +1F0E3;PLAYING CARD TRUMP-3;So;0;ON;;;;;N;;;;; +1F0E4;PLAYING CARD TRUMP-4;So;0;ON;;;;;N;;;;; +1F0E5;PLAYING CARD TRUMP-5;So;0;ON;;;;;N;;;;; +1F0E6;PLAYING CARD TRUMP-6;So;0;ON;;;;;N;;;;; +1F0E7;PLAYING CARD TRUMP-7;So;0;ON;;;;;N;;;;; +1F0E8;PLAYING CARD TRUMP-8;So;0;ON;;;;;N;;;;; +1F0E9;PLAYING CARD TRUMP-9;So;0;ON;;;;;N;;;;; +1F0EA;PLAYING CARD TRUMP-10;So;0;ON;;;;;N;;;;; +1F0EB;PLAYING CARD TRUMP-11;So;0;ON;;;;;N;;;;; +1F0EC;PLAYING CARD TRUMP-12;So;0;ON;;;;;N;;;;; +1F0ED;PLAYING CARD TRUMP-13;So;0;ON;;;;;N;;;;; +1F0EE;PLAYING CARD TRUMP-14;So;0;ON;;;;;N;;;;; +1F0EF;PLAYING CARD TRUMP-15;So;0;ON;;;;;N;;;;; +1F0F0;PLAYING CARD TRUMP-16;So;0;ON;;;;;N;;;;; +1F0F1;PLAYING CARD TRUMP-17;So;0;ON;;;;;N;;;;; +1F0F2;PLAYING CARD TRUMP-18;So;0;ON;;;;;N;;;;; +1F0F3;PLAYING CARD TRUMP-19;So;0;ON;;;;;N;;;;; +1F0F4;PLAYING CARD TRUMP-20;So;0;ON;;;;;N;;;;; +1F0F5;PLAYING CARD TRUMP-21;So;0;ON;;;;;N;;;;; +1F100;DIGIT ZERO FULL STOP;No;0;EN; 0030 002E;;0;0;N;;;;; +1F101;DIGIT ZERO COMMA;No;0;EN; 0030 002C;;0;0;N;;;;; +1F102;DIGIT ONE COMMA;No;0;EN; 0031 002C;;1;1;N;;;;; +1F103;DIGIT TWO COMMA;No;0;EN; 0032 002C;;2;2;N;;;;; +1F104;DIGIT THREE COMMA;No;0;EN; 0033 002C;;3;3;N;;;;; +1F105;DIGIT FOUR COMMA;No;0;EN; 0034 002C;;4;4;N;;;;; +1F106;DIGIT FIVE COMMA;No;0;EN; 0035 002C;;5;5;N;;;;; +1F107;DIGIT SIX COMMA;No;0;EN; 0036 002C;;6;6;N;;;;; +1F108;DIGIT SEVEN COMMA;No;0;EN; 0037 002C;;7;7;N;;;;; +1F109;DIGIT EIGHT COMMA;No;0;EN; 0038 002C;;8;8;N;;;;; +1F10A;DIGIT NINE COMMA;No;0;EN; 0039 002C;;9;9;N;;;;; +1F10B;DINGBAT CIRCLED SANS-SERIF DIGIT ZERO;No;0;ON;;;;0;N;;;;; +1F10C;DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO;No;0;ON;;;;0;N;;;;; +1F10D;CIRCLED ZERO WITH SLASH;So;0;ON;;;;;N;;;;; +1F10E;CIRCLED ANTICLOCKWISE ARROW;So;0;ON;;;;;N;;;;; +1F10F;CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH;So;0;ON;;;;;N;;;;; +1F110;PARENTHESIZED LATIN CAPITAL LETTER A;So;0;L; 0028 0041 0029;;;;N;;;;; +1F111;PARENTHESIZED LATIN CAPITAL LETTER B;So;0;L; 0028 0042 0029;;;;N;;;;; +1F112;PARENTHESIZED LATIN CAPITAL LETTER C;So;0;L; 0028 0043 0029;;;;N;;;;; +1F113;PARENTHESIZED LATIN CAPITAL LETTER D;So;0;L; 0028 0044 0029;;;;N;;;;; +1F114;PARENTHESIZED LATIN CAPITAL LETTER E;So;0;L; 0028 0045 0029;;;;N;;;;; +1F115;PARENTHESIZED LATIN CAPITAL LETTER F;So;0;L; 0028 0046 0029;;;;N;;;;; +1F116;PARENTHESIZED LATIN CAPITAL LETTER G;So;0;L; 0028 0047 0029;;;;N;;;;; +1F117;PARENTHESIZED LATIN CAPITAL LETTER H;So;0;L; 0028 0048 0029;;;;N;;;;; +1F118;PARENTHESIZED LATIN CAPITAL LETTER I;So;0;L; 0028 0049 0029;;;;N;;;;; +1F119;PARENTHESIZED LATIN CAPITAL LETTER J;So;0;L; 0028 004A 0029;;;;N;;;;; +1F11A;PARENTHESIZED LATIN CAPITAL LETTER K;So;0;L; 0028 004B 0029;;;;N;;;;; +1F11B;PARENTHESIZED LATIN CAPITAL LETTER L;So;0;L; 0028 004C 0029;;;;N;;;;; +1F11C;PARENTHESIZED LATIN CAPITAL LETTER M;So;0;L; 0028 004D 0029;;;;N;;;;; +1F11D;PARENTHESIZED LATIN CAPITAL LETTER N;So;0;L; 0028 004E 0029;;;;N;;;;; +1F11E;PARENTHESIZED LATIN CAPITAL LETTER O;So;0;L; 0028 004F 0029;;;;N;;;;; +1F11F;PARENTHESIZED LATIN CAPITAL LETTER P;So;0;L; 0028 0050 0029;;;;N;;;;; +1F120;PARENTHESIZED LATIN CAPITAL LETTER Q;So;0;L; 0028 0051 0029;;;;N;;;;; +1F121;PARENTHESIZED LATIN CAPITAL LETTER R;So;0;L; 0028 0052 0029;;;;N;;;;; +1F122;PARENTHESIZED LATIN CAPITAL LETTER S;So;0;L; 0028 0053 0029;;;;N;;;;; +1F123;PARENTHESIZED LATIN CAPITAL LETTER T;So;0;L; 0028 0054 0029;;;;N;;;;; +1F124;PARENTHESIZED LATIN CAPITAL LETTER U;So;0;L; 0028 0055 0029;;;;N;;;;; +1F125;PARENTHESIZED LATIN CAPITAL LETTER V;So;0;L; 0028 0056 0029;;;;N;;;;; +1F126;PARENTHESIZED LATIN CAPITAL LETTER W;So;0;L; 0028 0057 0029;;;;N;;;;; +1F127;PARENTHESIZED LATIN CAPITAL LETTER X;So;0;L; 0028 0058 0029;;;;N;;;;; +1F128;PARENTHESIZED LATIN CAPITAL LETTER Y;So;0;L; 0028 0059 0029;;;;N;;;;; +1F129;PARENTHESIZED LATIN CAPITAL LETTER Z;So;0;L; 0028 005A 0029;;;;N;;;;; +1F12A;TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S;So;0;L; 3014 0053 3015;;;;N;;;;; +1F12B;CIRCLED ITALIC LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;; +1F12C;CIRCLED ITALIC LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;; +1F12D;CIRCLED CD;So;0;L; 0043 0044;;;;N;;;;; +1F12E;CIRCLED WZ;So;0;L; 0057 005A;;;;N;;;;; +1F12F;COPYLEFT SYMBOL;So;0;ON;;;;;N;;;;; +1F130;SQUARED LATIN CAPITAL LETTER A;So;0;L; 0041;;;;N;;;;; +1F131;SQUARED LATIN CAPITAL LETTER B;So;0;L; 0042;;;;N;;;;; +1F132;SQUARED LATIN CAPITAL LETTER C;So;0;L; 0043;;;;N;;;;; +1F133;SQUARED LATIN CAPITAL LETTER D;So;0;L; 0044;;;;N;;;;; +1F134;SQUARED LATIN CAPITAL LETTER E;So;0;L; 0045;;;;N;;;;; +1F135;SQUARED LATIN CAPITAL LETTER F;So;0;L; 0046;;;;N;;;;; +1F136;SQUARED LATIN CAPITAL LETTER G;So;0;L; 0047;;;;N;;;;; +1F137;SQUARED LATIN CAPITAL LETTER H;So;0;L; 0048;;;;N;;;;; +1F138;SQUARED LATIN CAPITAL LETTER I;So;0;L; 0049;;;;N;;;;; +1F139;SQUARED LATIN CAPITAL LETTER J;So;0;L; 004A;;;;N;;;;; +1F13A;SQUARED LATIN CAPITAL LETTER K;So;0;L; 004B;;;;N;;;;; +1F13B;SQUARED LATIN CAPITAL LETTER L;So;0;L; 004C;;;;N;;;;; +1F13C;SQUARED LATIN CAPITAL LETTER M;So;0;L; 004D;;;;N;;;;; +1F13D;SQUARED LATIN CAPITAL LETTER N;So;0;L; 004E;;;;N;;;;; +1F13E;SQUARED LATIN CAPITAL LETTER O;So;0;L; 004F;;;;N;;;;; +1F13F;SQUARED LATIN CAPITAL LETTER P;So;0;L; 0050;;;;N;;;;; +1F140;SQUARED LATIN CAPITAL LETTER Q;So;0;L; 0051;;;;N;;;;; +1F141;SQUARED LATIN CAPITAL LETTER R;So;0;L; 0052;;;;N;;;;; +1F142;SQUARED LATIN CAPITAL LETTER S;So;0;L; 0053;;;;N;;;;; +1F143;SQUARED LATIN CAPITAL LETTER T;So;0;L; 0054;;;;N;;;;; +1F144;SQUARED LATIN CAPITAL LETTER U;So;0;L; 0055;;;;N;;;;; +1F145;SQUARED LATIN CAPITAL LETTER V;So;0;L; 0056;;;;N;;;;; +1F146;SQUARED LATIN CAPITAL LETTER W;So;0;L; 0057;;;;N;;;;; +1F147;SQUARED LATIN CAPITAL LETTER X;So;0;L; 0058;;;;N;;;;; +1F148;SQUARED LATIN CAPITAL LETTER Y;So;0;L; 0059;;;;N;;;;; +1F149;SQUARED LATIN CAPITAL LETTER Z;So;0;L; 005A;;;;N;;;;; +1F14A;SQUARED HV;So;0;L; 0048 0056;;;;N;;;;; +1F14B;SQUARED MV;So;0;L; 004D 0056;;;;N;;;;; +1F14C;SQUARED SD;So;0;L; 0053 0044;;;;N;;;;; +1F14D;SQUARED SS;So;0;L; 0053 0053;;;;N;;;;; +1F14E;SQUARED PPV;So;0;L; 0050 0050 0056;;;;N;;;;; +1F14F;SQUARED WC;So;0;L; 0057 0043;;;;N;;;;; +1F150;NEGATIVE CIRCLED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; +1F151;NEGATIVE CIRCLED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; +1F152;NEGATIVE CIRCLED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; +1F153;NEGATIVE CIRCLED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; +1F154;NEGATIVE CIRCLED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; +1F155;NEGATIVE CIRCLED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; +1F156;NEGATIVE CIRCLED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; +1F157;NEGATIVE CIRCLED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; +1F158;NEGATIVE CIRCLED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; +1F159;NEGATIVE CIRCLED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; +1F15A;NEGATIVE CIRCLED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; +1F15B;NEGATIVE CIRCLED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; +1F15C;NEGATIVE CIRCLED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; +1F15D;NEGATIVE CIRCLED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; +1F15E;NEGATIVE CIRCLED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; +1F15F;NEGATIVE CIRCLED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +1F160;NEGATIVE CIRCLED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; +1F161;NEGATIVE CIRCLED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; +1F162;NEGATIVE CIRCLED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; +1F163;NEGATIVE CIRCLED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; +1F164;NEGATIVE CIRCLED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; +1F165;NEGATIVE CIRCLED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; +1F166;NEGATIVE CIRCLED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; +1F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; +1F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; +1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; +1F16A;RAISED MC SIGN;So;0;ON; 004D 0043;;;;N;;;;; +1F16B;RAISED MD SIGN;So;0;ON; 004D 0044;;;;N;;;;; +1F16C;RAISED MR SIGN;So;0;ON; 004D 0052;;;;N;;;;; +1F16D;CIRCLED CC;So;0;ON;;;;;N;;;;; +1F16E;CIRCLED C WITH OVERLAID BACKSLASH;So;0;ON;;;;;N;;;;; +1F16F;CIRCLED HUMAN FIGURE;So;0;ON;;;;;N;;;;; +1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;; +1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;; +1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;; +1F173;NEGATIVE SQUARED LATIN CAPITAL LETTER D;So;0;L;;;;;N;;;;; +1F174;NEGATIVE SQUARED LATIN CAPITAL LETTER E;So;0;L;;;;;N;;;;; +1F175;NEGATIVE SQUARED LATIN CAPITAL LETTER F;So;0;L;;;;;N;;;;; +1F176;NEGATIVE SQUARED LATIN CAPITAL LETTER G;So;0;L;;;;;N;;;;; +1F177;NEGATIVE SQUARED LATIN CAPITAL LETTER H;So;0;L;;;;;N;;;;; +1F178;NEGATIVE SQUARED LATIN CAPITAL LETTER I;So;0;L;;;;;N;;;;; +1F179;NEGATIVE SQUARED LATIN CAPITAL LETTER J;So;0;L;;;;;N;;;;; +1F17A;NEGATIVE SQUARED LATIN CAPITAL LETTER K;So;0;L;;;;;N;;;;; +1F17B;NEGATIVE SQUARED LATIN CAPITAL LETTER L;So;0;L;;;;;N;;;;; +1F17C;NEGATIVE SQUARED LATIN CAPITAL LETTER M;So;0;L;;;;;N;;;;; +1F17D;NEGATIVE SQUARED LATIN CAPITAL LETTER N;So;0;L;;;;;N;;;;; +1F17E;NEGATIVE SQUARED LATIN CAPITAL LETTER O;So;0;L;;;;;N;;;;; +1F17F;NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +1F180;NEGATIVE SQUARED LATIN CAPITAL LETTER Q;So;0;L;;;;;N;;;;; +1F181;NEGATIVE SQUARED LATIN CAPITAL LETTER R;So;0;L;;;;;N;;;;; +1F182;NEGATIVE SQUARED LATIN CAPITAL LETTER S;So;0;L;;;;;N;;;;; +1F183;NEGATIVE SQUARED LATIN CAPITAL LETTER T;So;0;L;;;;;N;;;;; +1F184;NEGATIVE SQUARED LATIN CAPITAL LETTER U;So;0;L;;;;;N;;;;; +1F185;NEGATIVE SQUARED LATIN CAPITAL LETTER V;So;0;L;;;;;N;;;;; +1F186;NEGATIVE SQUARED LATIN CAPITAL LETTER W;So;0;L;;;;;N;;;;; +1F187;NEGATIVE SQUARED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;; +1F188;NEGATIVE SQUARED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;; +1F189;NEGATIVE SQUARED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;; +1F18A;CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P;So;0;L;;;;;N;;;;; +1F18B;NEGATIVE SQUARED IC;So;0;L;;;;;N;;;;; +1F18C;NEGATIVE SQUARED PA;So;0;L;;;;;N;;;;; +1F18D;NEGATIVE SQUARED SA;So;0;L;;;;;N;;;;; +1F18E;NEGATIVE SQUARED AB;So;0;L;;;;;N;;;;; +1F18F;NEGATIVE SQUARED WC;So;0;L;;;;;N;;;;; +1F190;SQUARE DJ;So;0;L; 0044 004A;;;;N;;;;; +1F191;SQUARED CL;So;0;L;;;;;N;;;;; +1F192;SQUARED COOL;So;0;L;;;;;N;;;;; +1F193;SQUARED FREE;So;0;L;;;;;N;;;;; +1F194;SQUARED ID;So;0;L;;;;;N;;;;; +1F195;SQUARED NEW;So;0;L;;;;;N;;;;; +1F196;SQUARED NG;So;0;L;;;;;N;;;;; +1F197;SQUARED OK;So;0;L;;;;;N;;;;; +1F198;SQUARED SOS;So;0;L;;;;;N;;;;; +1F199;SQUARED UP WITH EXCLAMATION MARK;So;0;L;;;;;N;;;;; +1F19A;SQUARED VS;So;0;L;;;;;N;;;;; +1F19B;SQUARED THREE D;So;0;L;;;;;N;;;;; +1F19C;SQUARED SECOND SCREEN;So;0;L;;;;;N;;;;; +1F19D;SQUARED TWO K;So;0;L;;;;;N;;;;; +1F19E;SQUARED FOUR K;So;0;L;;;;;N;;;;; +1F19F;SQUARED EIGHT K;So;0;L;;;;;N;;;;; +1F1A0;SQUARED FIVE POINT ONE;So;0;L;;;;;N;;;;; +1F1A1;SQUARED SEVEN POINT ONE;So;0;L;;;;;N;;;;; +1F1A2;SQUARED TWENTY-TWO POINT TWO;So;0;L;;;;;N;;;;; +1F1A3;SQUARED SIXTY P;So;0;L;;;;;N;;;;; +1F1A4;SQUARED ONE HUNDRED TWENTY P;So;0;L;;;;;N;;;;; +1F1A5;SQUARED LATIN SMALL LETTER D;So;0;L;;;;;N;;;;; +1F1A6;SQUARED HC;So;0;L;;;;;N;;;;; +1F1A7;SQUARED HDR;So;0;L;;;;;N;;;;; +1F1A8;SQUARED HI-RES;So;0;L;;;;;N;;;;; +1F1A9;SQUARED LOSSLESS;So;0;L;;;;;N;;;;; +1F1AA;SQUARED SHV;So;0;L;;;;;N;;;;; +1F1AB;SQUARED UHD;So;0;L;;;;;N;;;;; +1F1AC;SQUARED VOD;So;0;L;;;;;N;;;;; +1F1AD;MASK WORK SYMBOL;So;0;ON;;;;;N;;;;; +1F1E6;REGIONAL INDICATOR SYMBOL LETTER A;So;0;L;;;;;N;;;;; +1F1E7;REGIONAL INDICATOR SYMBOL LETTER B;So;0;L;;;;;N;;;;; +1F1E8;REGIONAL INDICATOR SYMBOL LETTER C;So;0;L;;;;;N;;;;; +1F1E9;REGIONAL INDICATOR SYMBOL LETTER D;So;0;L;;;;;N;;;;; +1F1EA;REGIONAL INDICATOR SYMBOL LETTER E;So;0;L;;;;;N;;;;; +1F1EB;REGIONAL INDICATOR SYMBOL LETTER F;So;0;L;;;;;N;;;;; +1F1EC;REGIONAL INDICATOR SYMBOL LETTER G;So;0;L;;;;;N;;;;; +1F1ED;REGIONAL INDICATOR SYMBOL LETTER H;So;0;L;;;;;N;;;;; +1F1EE;REGIONAL INDICATOR SYMBOL LETTER I;So;0;L;;;;;N;;;;; +1F1EF;REGIONAL INDICATOR SYMBOL LETTER J;So;0;L;;;;;N;;;;; +1F1F0;REGIONAL INDICATOR SYMBOL LETTER K;So;0;L;;;;;N;;;;; +1F1F1;REGIONAL INDICATOR SYMBOL LETTER L;So;0;L;;;;;N;;;;; +1F1F2;REGIONAL INDICATOR SYMBOL LETTER M;So;0;L;;;;;N;;;;; +1F1F3;REGIONAL INDICATOR SYMBOL LETTER N;So;0;L;;;;;N;;;;; +1F1F4;REGIONAL INDICATOR SYMBOL LETTER O;So;0;L;;;;;N;;;;; +1F1F5;REGIONAL INDICATOR SYMBOL LETTER P;So;0;L;;;;;N;;;;; +1F1F6;REGIONAL INDICATOR SYMBOL LETTER Q;So;0;L;;;;;N;;;;; +1F1F7;REGIONAL INDICATOR SYMBOL LETTER R;So;0;L;;;;;N;;;;; +1F1F8;REGIONAL INDICATOR SYMBOL LETTER S;So;0;L;;;;;N;;;;; +1F1F9;REGIONAL INDICATOR SYMBOL LETTER T;So;0;L;;;;;N;;;;; +1F1FA;REGIONAL INDICATOR SYMBOL LETTER U;So;0;L;;;;;N;;;;; +1F1FB;REGIONAL INDICATOR SYMBOL LETTER V;So;0;L;;;;;N;;;;; +1F1FC;REGIONAL INDICATOR SYMBOL LETTER W;So;0;L;;;;;N;;;;; +1F1FD;REGIONAL INDICATOR SYMBOL LETTER X;So;0;L;;;;;N;;;;; +1F1FE;REGIONAL INDICATOR SYMBOL LETTER Y;So;0;L;;;;;N;;;;; +1F1FF;REGIONAL INDICATOR SYMBOL LETTER Z;So;0;L;;;;;N;;;;; +1F200;SQUARE HIRAGANA HOKA;So;0;L; 307B 304B;;;;N;;;;; +1F201;SQUARED KATAKANA KOKO;So;0;L; 30B3 30B3;;;;N;;;;; +1F202;SQUARED KATAKANA SA;So;0;L; 30B5;;;;N;;;;; +1F210;SQUARED CJK UNIFIED IDEOGRAPH-624B;So;0;L; 624B;;;;N;;;;; +1F211;SQUARED CJK UNIFIED IDEOGRAPH-5B57;So;0;L; 5B57;;;;N;;;;; +1F212;SQUARED CJK UNIFIED IDEOGRAPH-53CC;So;0;L; 53CC;;;;N;;;;; +1F213;SQUARED KATAKANA DE;So;0;L; 30C7;;;;N;;;;; +1F214;SQUARED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L; 4E8C;;;;N;;;;; +1F215;SQUARED CJK UNIFIED IDEOGRAPH-591A;So;0;L; 591A;;;;N;;;;; +1F216;SQUARED CJK UNIFIED IDEOGRAPH-89E3;So;0;L; 89E3;;;;N;;;;; +1F217;SQUARED CJK UNIFIED IDEOGRAPH-5929;So;0;L; 5929;;;;N;;;;; +1F218;SQUARED CJK UNIFIED IDEOGRAPH-4EA4;So;0;L; 4EA4;;;;N;;;;; +1F219;SQUARED CJK UNIFIED IDEOGRAPH-6620;So;0;L; 6620;;;;N;;;;; +1F21A;SQUARED CJK UNIFIED IDEOGRAPH-7121;So;0;L; 7121;;;;N;;;;; +1F21B;SQUARED CJK UNIFIED IDEOGRAPH-6599;So;0;L; 6599;;;;N;;;;; +1F21C;SQUARED CJK UNIFIED IDEOGRAPH-524D;So;0;L; 524D;;;;N;;;;; +1F21D;SQUARED CJK UNIFIED IDEOGRAPH-5F8C;So;0;L; 5F8C;;;;N;;;;; +1F21E;SQUARED CJK UNIFIED IDEOGRAPH-518D;So;0;L; 518D;;;;N;;;;; +1F21F;SQUARED CJK UNIFIED IDEOGRAPH-65B0;So;0;L; 65B0;;;;N;;;;; +1F220;SQUARED CJK UNIFIED IDEOGRAPH-521D;So;0;L; 521D;;;;N;;;;; +1F221;SQUARED CJK UNIFIED IDEOGRAPH-7D42;So;0;L; 7D42;;;;N;;;;; +1F222;SQUARED CJK UNIFIED IDEOGRAPH-751F;So;0;L; 751F;;;;N;;;;; +1F223;SQUARED CJK UNIFIED IDEOGRAPH-8CA9;So;0;L; 8CA9;;;;N;;;;; +1F224;SQUARED CJK UNIFIED IDEOGRAPH-58F0;So;0;L; 58F0;;;;N;;;;; +1F225;SQUARED CJK UNIFIED IDEOGRAPH-5439;So;0;L; 5439;;;;N;;;;; +1F226;SQUARED CJK UNIFIED IDEOGRAPH-6F14;So;0;L; 6F14;;;;N;;;;; +1F227;SQUARED CJK UNIFIED IDEOGRAPH-6295;So;0;L; 6295;;;;N;;;;; +1F228;SQUARED CJK UNIFIED IDEOGRAPH-6355;So;0;L; 6355;;;;N;;;;; +1F229;SQUARED CJK UNIFIED IDEOGRAPH-4E00;So;0;L; 4E00;;;;N;;;;; +1F22A;SQUARED CJK UNIFIED IDEOGRAPH-4E09;So;0;L; 4E09;;;;N;;;;; +1F22B;SQUARED CJK UNIFIED IDEOGRAPH-904A;So;0;L; 904A;;;;N;;;;; +1F22C;SQUARED CJK UNIFIED IDEOGRAPH-5DE6;So;0;L; 5DE6;;;;N;;;;; +1F22D;SQUARED CJK UNIFIED IDEOGRAPH-4E2D;So;0;L; 4E2D;;;;N;;;;; +1F22E;SQUARED CJK UNIFIED IDEOGRAPH-53F3;So;0;L; 53F3;;;;N;;;;; +1F22F;SQUARED CJK UNIFIED IDEOGRAPH-6307;So;0;L; 6307;;;;N;;;;; +1F230;SQUARED CJK UNIFIED IDEOGRAPH-8D70;So;0;L; 8D70;;;;N;;;;; +1F231;SQUARED CJK UNIFIED IDEOGRAPH-6253;So;0;L; 6253;;;;N;;;;; +1F232;SQUARED CJK UNIFIED IDEOGRAPH-7981;So;0;L; 7981;;;;N;;;;; +1F233;SQUARED CJK UNIFIED IDEOGRAPH-7A7A;So;0;L; 7A7A;;;;N;;;;; +1F234;SQUARED CJK UNIFIED IDEOGRAPH-5408;So;0;L; 5408;;;;N;;;;; +1F235;SQUARED CJK UNIFIED IDEOGRAPH-6E80;So;0;L; 6E80;;;;N;;;;; +1F236;SQUARED CJK UNIFIED IDEOGRAPH-6709;So;0;L; 6709;;;;N;;;;; +1F237;SQUARED CJK UNIFIED IDEOGRAPH-6708;So;0;L; 6708;;;;N;;;;; +1F238;SQUARED CJK UNIFIED IDEOGRAPH-7533;So;0;L; 7533;;;;N;;;;; +1F239;SQUARED CJK UNIFIED IDEOGRAPH-5272;So;0;L; 5272;;;;N;;;;; +1F23A;SQUARED CJK UNIFIED IDEOGRAPH-55B6;So;0;L; 55B6;;;;N;;;;; +1F23B;SQUARED CJK UNIFIED IDEOGRAPH-914D;So;0;L; 914D;;;;N;;;;; +1F240;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C;So;0;L; 3014 672C 3015;;;;N;;;;; +1F241;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09;So;0;L; 3014 4E09 3015;;;;N;;;;; +1F242;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C;So;0;L; 3014 4E8C 3015;;;;N;;;;; +1F243;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89;So;0;L; 3014 5B89 3015;;;;N;;;;; +1F244;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9;So;0;L; 3014 70B9 3015;;;;N;;;;; +1F245;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253;So;0;L; 3014 6253 3015;;;;N;;;;; +1F246;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7;So;0;L; 3014 76D7 3015;;;;N;;;;; +1F247;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD;So;0;L; 3014 52DD 3015;;;;N;;;;; +1F248;TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557;So;0;L; 3014 6557 3015;;;;N;;;;; +1F250;CIRCLED IDEOGRAPH ADVANTAGE;So;0;L; 5F97;;;;N;;;;; +1F251;CIRCLED IDEOGRAPH ACCEPT;So;0;L; 53EF;;;;N;;;;; +1F260;ROUNDED SYMBOL FOR FU;So;0;ON;;;;;N;;;;; +1F261;ROUNDED SYMBOL FOR LU;So;0;ON;;;;;N;;;;; +1F262;ROUNDED SYMBOL FOR SHOU;So;0;ON;;;;;N;;;;; +1F263;ROUNDED SYMBOL FOR XI;So;0;ON;;;;;N;;;;; +1F264;ROUNDED SYMBOL FOR SHUANGXI;So;0;ON;;;;;N;;;;; +1F265;ROUNDED SYMBOL FOR CAI;So;0;ON;;;;;N;;;;; +1F300;CYCLONE;So;0;ON;;;;;N;;;;; +1F301;FOGGY;So;0;ON;;;;;N;;;;; +1F302;CLOSED UMBRELLA;So;0;ON;;;;;N;;;;; +1F303;NIGHT WITH STARS;So;0;ON;;;;;N;;;;; +1F304;SUNRISE OVER MOUNTAINS;So;0;ON;;;;;N;;;;; +1F305;SUNRISE;So;0;ON;;;;;N;;;;; +1F306;CITYSCAPE AT DUSK;So;0;ON;;;;;N;;;;; +1F307;SUNSET OVER BUILDINGS;So;0;ON;;;;;N;;;;; +1F308;RAINBOW;So;0;ON;;;;;N;;;;; +1F309;BRIDGE AT NIGHT;So;0;ON;;;;;N;;;;; +1F30A;WATER WAVE;So;0;ON;;;;;N;;;;; +1F30B;VOLCANO;So;0;ON;;;;;N;;;;; +1F30C;MILKY WAY;So;0;ON;;;;;N;;;;; +1F30D;EARTH GLOBE EUROPE-AFRICA;So;0;ON;;;;;N;;;;; +1F30E;EARTH GLOBE AMERICAS;So;0;ON;;;;;N;;;;; +1F30F;EARTH GLOBE ASIA-AUSTRALIA;So;0;ON;;;;;N;;;;; +1F310;GLOBE WITH MERIDIANS;So;0;ON;;;;;N;;;;; +1F311;NEW MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F312;WAXING CRESCENT MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F313;FIRST QUARTER MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F314;WAXING GIBBOUS MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F315;FULL MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F316;WANING GIBBOUS MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F317;LAST QUARTER MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F318;WANING CRESCENT MOON SYMBOL;So;0;ON;;;;;N;;;;; +1F319;CRESCENT MOON;So;0;ON;;;;;N;;;;; +1F31A;NEW MOON WITH FACE;So;0;ON;;;;;N;;;;; +1F31B;FIRST QUARTER MOON WITH FACE;So;0;ON;;;;;N;;;;; +1F31C;LAST QUARTER MOON WITH FACE;So;0;ON;;;;;N;;;;; +1F31D;FULL MOON WITH FACE;So;0;ON;;;;;N;;;;; +1F31E;SUN WITH FACE;So;0;ON;;;;;N;;;;; +1F31F;GLOWING STAR;So;0;ON;;;;;N;;;;; +1F320;SHOOTING STAR;So;0;ON;;;;;N;;;;; +1F321;THERMOMETER;So;0;ON;;;;;N;;;;; +1F322;BLACK DROPLET;So;0;ON;;;;;N;;;;; +1F323;WHITE SUN;So;0;ON;;;;;N;;;;; +1F324;WHITE SUN WITH SMALL CLOUD;So;0;ON;;;;;N;;;;; +1F325;WHITE SUN BEHIND CLOUD;So;0;ON;;;;;N;;;;; +1F326;WHITE SUN BEHIND CLOUD WITH RAIN;So;0;ON;;;;;N;;;;; +1F327;CLOUD WITH RAIN;So;0;ON;;;;;N;;;;; +1F328;CLOUD WITH SNOW;So;0;ON;;;;;N;;;;; +1F329;CLOUD WITH LIGHTNING;So;0;ON;;;;;N;;;;; +1F32A;CLOUD WITH TORNADO;So;0;ON;;;;;N;;;;; +1F32B;FOG;So;0;ON;;;;;N;;;;; +1F32C;WIND BLOWING FACE;So;0;ON;;;;;N;;;;; +1F32D;HOT DOG;So;0;ON;;;;;N;;;;; +1F32E;TACO;So;0;ON;;;;;N;;;;; +1F32F;BURRITO;So;0;ON;;;;;N;;;;; +1F330;CHESTNUT;So;0;ON;;;;;N;;;;; +1F331;SEEDLING;So;0;ON;;;;;N;;;;; +1F332;EVERGREEN TREE;So;0;ON;;;;;N;;;;; +1F333;DECIDUOUS TREE;So;0;ON;;;;;N;;;;; +1F334;PALM TREE;So;0;ON;;;;;N;;;;; +1F335;CACTUS;So;0;ON;;;;;N;;;;; +1F336;HOT PEPPER;So;0;ON;;;;;N;;;;; +1F337;TULIP;So;0;ON;;;;;N;;;;; +1F338;CHERRY BLOSSOM;So;0;ON;;;;;N;;;;; +1F339;ROSE;So;0;ON;;;;;N;;;;; +1F33A;HIBISCUS;So;0;ON;;;;;N;;;;; +1F33B;SUNFLOWER;So;0;ON;;;;;N;;;;; +1F33C;BLOSSOM;So;0;ON;;;;;N;;;;; +1F33D;EAR OF MAIZE;So;0;ON;;;;;N;;;;; +1F33E;EAR OF RICE;So;0;ON;;;;;N;;;;; +1F33F;HERB;So;0;ON;;;;;N;;;;; +1F340;FOUR LEAF CLOVER;So;0;ON;;;;;N;;;;; +1F341;MAPLE LEAF;So;0;ON;;;;;N;;;;; +1F342;FALLEN LEAF;So;0;ON;;;;;N;;;;; +1F343;LEAF FLUTTERING IN WIND;So;0;ON;;;;;N;;;;; +1F344;MUSHROOM;So;0;ON;;;;;N;;;;; +1F345;TOMATO;So;0;ON;;;;;N;;;;; +1F346;AUBERGINE;So;0;ON;;;;;N;;;;; +1F347;GRAPES;So;0;ON;;;;;N;;;;; +1F348;MELON;So;0;ON;;;;;N;;;;; +1F349;WATERMELON;So;0;ON;;;;;N;;;;; +1F34A;TANGERINE;So;0;ON;;;;;N;;;;; +1F34B;LEMON;So;0;ON;;;;;N;;;;; +1F34C;BANANA;So;0;ON;;;;;N;;;;; +1F34D;PINEAPPLE;So;0;ON;;;;;N;;;;; +1F34E;RED APPLE;So;0;ON;;;;;N;;;;; +1F34F;GREEN APPLE;So;0;ON;;;;;N;;;;; +1F350;PEAR;So;0;ON;;;;;N;;;;; +1F351;PEACH;So;0;ON;;;;;N;;;;; +1F352;CHERRIES;So;0;ON;;;;;N;;;;; +1F353;STRAWBERRY;So;0;ON;;;;;N;;;;; +1F354;HAMBURGER;So;0;ON;;;;;N;;;;; +1F355;SLICE OF PIZZA;So;0;ON;;;;;N;;;;; +1F356;MEAT ON BONE;So;0;ON;;;;;N;;;;; +1F357;POULTRY LEG;So;0;ON;;;;;N;;;;; +1F358;RICE CRACKER;So;0;ON;;;;;N;;;;; +1F359;RICE BALL;So;0;ON;;;;;N;;;;; +1F35A;COOKED RICE;So;0;ON;;;;;N;;;;; +1F35B;CURRY AND RICE;So;0;ON;;;;;N;;;;; +1F35C;STEAMING BOWL;So;0;ON;;;;;N;;;;; +1F35D;SPAGHETTI;So;0;ON;;;;;N;;;;; +1F35E;BREAD;So;0;ON;;;;;N;;;;; +1F35F;FRENCH FRIES;So;0;ON;;;;;N;;;;; +1F360;ROASTED SWEET POTATO;So;0;ON;;;;;N;;;;; +1F361;DANGO;So;0;ON;;;;;N;;;;; +1F362;ODEN;So;0;ON;;;;;N;;;;; +1F363;SUSHI;So;0;ON;;;;;N;;;;; +1F364;FRIED SHRIMP;So;0;ON;;;;;N;;;;; +1F365;FISH CAKE WITH SWIRL DESIGN;So;0;ON;;;;;N;;;;; +1F366;SOFT ICE CREAM;So;0;ON;;;;;N;;;;; +1F367;SHAVED ICE;So;0;ON;;;;;N;;;;; +1F368;ICE CREAM;So;0;ON;;;;;N;;;;; +1F369;DOUGHNUT;So;0;ON;;;;;N;;;;; +1F36A;COOKIE;So;0;ON;;;;;N;;;;; +1F36B;CHOCOLATE BAR;So;0;ON;;;;;N;;;;; +1F36C;CANDY;So;0;ON;;;;;N;;;;; +1F36D;LOLLIPOP;So;0;ON;;;;;N;;;;; +1F36E;CUSTARD;So;0;ON;;;;;N;;;;; +1F36F;HONEY POT;So;0;ON;;;;;N;;;;; +1F370;SHORTCAKE;So;0;ON;;;;;N;;;;; +1F371;BENTO BOX;So;0;ON;;;;;N;;;;; +1F372;POT OF FOOD;So;0;ON;;;;;N;;;;; +1F373;COOKING;So;0;ON;;;;;N;;;;; +1F374;FORK AND KNIFE;So;0;ON;;;;;N;;;;; +1F375;TEACUP WITHOUT HANDLE;So;0;ON;;;;;N;;;;; +1F376;SAKE BOTTLE AND CUP;So;0;ON;;;;;N;;;;; +1F377;WINE GLASS;So;0;ON;;;;;N;;;;; +1F378;COCKTAIL GLASS;So;0;ON;;;;;N;;;;; +1F379;TROPICAL DRINK;So;0;ON;;;;;N;;;;; +1F37A;BEER MUG;So;0;ON;;;;;N;;;;; +1F37B;CLINKING BEER MUGS;So;0;ON;;;;;N;;;;; +1F37C;BABY BOTTLE;So;0;ON;;;;;N;;;;; +1F37D;FORK AND KNIFE WITH PLATE;So;0;ON;;;;;N;;;;; +1F37E;BOTTLE WITH POPPING CORK;So;0;ON;;;;;N;;;;; +1F37F;POPCORN;So;0;ON;;;;;N;;;;; +1F380;RIBBON;So;0;ON;;;;;N;;;;; +1F381;WRAPPED PRESENT;So;0;ON;;;;;N;;;;; +1F382;BIRTHDAY CAKE;So;0;ON;;;;;N;;;;; +1F383;JACK-O-LANTERN;So;0;ON;;;;;N;;;;; +1F384;CHRISTMAS TREE;So;0;ON;;;;;N;;;;; +1F385;FATHER CHRISTMAS;So;0;ON;;;;;N;;;;; +1F386;FIREWORKS;So;0;ON;;;;;N;;;;; +1F387;FIREWORK SPARKLER;So;0;ON;;;;;N;;;;; +1F388;BALLOON;So;0;ON;;;;;N;;;;; +1F389;PARTY POPPER;So;0;ON;;;;;N;;;;; +1F38A;CONFETTI BALL;So;0;ON;;;;;N;;;;; +1F38B;TANABATA TREE;So;0;ON;;;;;N;;;;; +1F38C;CROSSED FLAGS;So;0;ON;;;;;N;;;;; +1F38D;PINE DECORATION;So;0;ON;;;;;N;;;;; +1F38E;JAPANESE DOLLS;So;0;ON;;;;;N;;;;; +1F38F;CARP STREAMER;So;0;ON;;;;;N;;;;; +1F390;WIND CHIME;So;0;ON;;;;;N;;;;; +1F391;MOON VIEWING CEREMONY;So;0;ON;;;;;N;;;;; +1F392;SCHOOL SATCHEL;So;0;ON;;;;;N;;;;; +1F393;GRADUATION CAP;So;0;ON;;;;;N;;;;; +1F394;HEART WITH TIP ON THE LEFT;So;0;ON;;;;;N;;;;; +1F395;BOUQUET OF FLOWERS;So;0;ON;;;;;N;;;;; +1F396;MILITARY MEDAL;So;0;ON;;;;;N;;;;; +1F397;REMINDER RIBBON;So;0;ON;;;;;N;;;;; +1F398;MUSICAL KEYBOARD WITH JACKS;So;0;ON;;;;;N;;;;; +1F399;STUDIO MICROPHONE;So;0;ON;;;;;N;;;;; +1F39A;LEVEL SLIDER;So;0;ON;;;;;N;;;;; +1F39B;CONTROL KNOBS;So;0;ON;;;;;N;;;;; +1F39C;BEAMED ASCENDING MUSICAL NOTES;So;0;ON;;;;;N;;;;; +1F39D;BEAMED DESCENDING MUSICAL NOTES;So;0;ON;;;;;N;;;;; +1F39E;FILM FRAMES;So;0;ON;;;;;N;;;;; +1F39F;ADMISSION TICKETS;So;0;ON;;;;;N;;;;; +1F3A0;CAROUSEL HORSE;So;0;ON;;;;;N;;;;; +1F3A1;FERRIS WHEEL;So;0;ON;;;;;N;;;;; +1F3A2;ROLLER COASTER;So;0;ON;;;;;N;;;;; +1F3A3;FISHING POLE AND FISH;So;0;ON;;;;;N;;;;; +1F3A4;MICROPHONE;So;0;ON;;;;;N;;;;; +1F3A5;MOVIE CAMERA;So;0;ON;;;;;N;;;;; +1F3A6;CINEMA;So;0;ON;;;;;N;;;;; +1F3A7;HEADPHONE;So;0;ON;;;;;N;;;;; +1F3A8;ARTIST PALETTE;So;0;ON;;;;;N;;;;; +1F3A9;TOP HAT;So;0;ON;;;;;N;;;;; +1F3AA;CIRCUS TENT;So;0;ON;;;;;N;;;;; +1F3AB;TICKET;So;0;ON;;;;;N;;;;; +1F3AC;CLAPPER BOARD;So;0;ON;;;;;N;;;;; +1F3AD;PERFORMING ARTS;So;0;ON;;;;;N;;;;; +1F3AE;VIDEO GAME;So;0;ON;;;;;N;;;;; +1F3AF;DIRECT HIT;So;0;ON;;;;;N;;;;; +1F3B0;SLOT MACHINE;So;0;ON;;;;;N;;;;; +1F3B1;BILLIARDS;So;0;ON;;;;;N;;;;; +1F3B2;GAME DIE;So;0;ON;;;;;N;;;;; +1F3B3;BOWLING;So;0;ON;;;;;N;;;;; +1F3B4;FLOWER PLAYING CARDS;So;0;ON;;;;;N;;;;; +1F3B5;MUSICAL NOTE;So;0;ON;;;;;N;;;;; +1F3B6;MULTIPLE MUSICAL NOTES;So;0;ON;;;;;N;;;;; +1F3B7;SAXOPHONE;So;0;ON;;;;;N;;;;; +1F3B8;GUITAR;So;0;ON;;;;;N;;;;; +1F3B9;MUSICAL KEYBOARD;So;0;ON;;;;;N;;;;; +1F3BA;TRUMPET;So;0;ON;;;;;N;;;;; +1F3BB;VIOLIN;So;0;ON;;;;;N;;;;; +1F3BC;MUSICAL SCORE;So;0;ON;;;;;N;;;;; +1F3BD;RUNNING SHIRT WITH SASH;So;0;ON;;;;;N;;;;; +1F3BE;TENNIS RACQUET AND BALL;So;0;ON;;;;;N;;;;; +1F3BF;SKI AND SKI BOOT;So;0;ON;;;;;N;;;;; +1F3C0;BASKETBALL AND HOOP;So;0;ON;;;;;N;;;;; +1F3C1;CHEQUERED FLAG;So;0;ON;;;;;N;;;;; +1F3C2;SNOWBOARDER;So;0;ON;;;;;N;;;;; +1F3C3;RUNNER;So;0;ON;;;;;N;;;;; +1F3C4;SURFER;So;0;ON;;;;;N;;;;; +1F3C5;SPORTS MEDAL;So;0;ON;;;;;N;;;;; +1F3C6;TROPHY;So;0;ON;;;;;N;;;;; +1F3C7;HORSE RACING;So;0;ON;;;;;N;;;;; +1F3C8;AMERICAN FOOTBALL;So;0;ON;;;;;N;;;;; +1F3C9;RUGBY FOOTBALL;So;0;ON;;;;;N;;;;; +1F3CA;SWIMMER;So;0;ON;;;;;N;;;;; +1F3CB;WEIGHT LIFTER;So;0;ON;;;;;N;;;;; +1F3CC;GOLFER;So;0;ON;;;;;N;;;;; +1F3CD;RACING MOTORCYCLE;So;0;ON;;;;;N;;;;; +1F3CE;RACING CAR;So;0;ON;;;;;N;;;;; +1F3CF;CRICKET BAT AND BALL;So;0;ON;;;;;N;;;;; +1F3D0;VOLLEYBALL;So;0;ON;;;;;N;;;;; +1F3D1;FIELD HOCKEY STICK AND BALL;So;0;ON;;;;;N;;;;; +1F3D2;ICE HOCKEY STICK AND PUCK;So;0;ON;;;;;N;;;;; +1F3D3;TABLE TENNIS PADDLE AND BALL;So;0;ON;;;;;N;;;;; +1F3D4;SNOW CAPPED MOUNTAIN;So;0;ON;;;;;N;;;;; +1F3D5;CAMPING;So;0;ON;;;;;N;;;;; +1F3D6;BEACH WITH UMBRELLA;So;0;ON;;;;;N;;;;; +1F3D7;BUILDING CONSTRUCTION;So;0;ON;;;;;N;;;;; +1F3D8;HOUSE BUILDINGS;So;0;ON;;;;;N;;;;; +1F3D9;CITYSCAPE;So;0;ON;;;;;N;;;;; +1F3DA;DERELICT HOUSE BUILDING;So;0;ON;;;;;N;;;;; +1F3DB;CLASSICAL BUILDING;So;0;ON;;;;;N;;;;; +1F3DC;DESERT;So;0;ON;;;;;N;;;;; +1F3DD;DESERT ISLAND;So;0;ON;;;;;N;;;;; +1F3DE;NATIONAL PARK;So;0;ON;;;;;N;;;;; +1F3DF;STADIUM;So;0;ON;;;;;N;;;;; +1F3E0;HOUSE BUILDING;So;0;ON;;;;;N;;;;; +1F3E1;HOUSE WITH GARDEN;So;0;ON;;;;;N;;;;; +1F3E2;OFFICE BUILDING;So;0;ON;;;;;N;;;;; +1F3E3;JAPANESE POST OFFICE;So;0;ON;;;;;N;;;;; +1F3E4;EUROPEAN POST OFFICE;So;0;ON;;;;;N;;;;; +1F3E5;HOSPITAL;So;0;ON;;;;;N;;;;; +1F3E6;BANK;So;0;ON;;;;;N;;;;; +1F3E7;AUTOMATED TELLER MACHINE;So;0;ON;;;;;N;;;;; +1F3E8;HOTEL;So;0;ON;;;;;N;;;;; +1F3E9;LOVE HOTEL;So;0;ON;;;;;N;;;;; +1F3EA;CONVENIENCE STORE;So;0;ON;;;;;N;;;;; +1F3EB;SCHOOL;So;0;ON;;;;;N;;;;; +1F3EC;DEPARTMENT STORE;So;0;ON;;;;;N;;;;; +1F3ED;FACTORY;So;0;ON;;;;;N;;;;; +1F3EE;IZAKAYA LANTERN;So;0;ON;;;;;N;;;;; +1F3EF;JAPANESE CASTLE;So;0;ON;;;;;N;;;;; +1F3F0;EUROPEAN CASTLE;So;0;ON;;;;;N;;;;; +1F3F1;WHITE PENNANT;So;0;ON;;;;;N;;;;; +1F3F2;BLACK PENNANT;So;0;ON;;;;;N;;;;; +1F3F3;WAVING WHITE FLAG;So;0;ON;;;;;N;;;;; +1F3F4;WAVING BLACK FLAG;So;0;ON;;;;;N;;;;; +1F3F5;ROSETTE;So;0;ON;;;;;N;;;;; +1F3F6;BLACK ROSETTE;So;0;ON;;;;;N;;;;; +1F3F7;LABEL;So;0;ON;;;;;N;;;;; +1F3F8;BADMINTON RACQUET AND SHUTTLECOCK;So;0;ON;;;;;N;;;;; +1F3F9;BOW AND ARROW;So;0;ON;;;;;N;;;;; +1F3FA;AMPHORA;So;0;ON;;;;;N;;;;; +1F3FB;EMOJI MODIFIER FITZPATRICK TYPE-1-2;Sk;0;ON;;;;;N;;;;; +1F3FC;EMOJI MODIFIER FITZPATRICK TYPE-3;Sk;0;ON;;;;;N;;;;; +1F3FD;EMOJI MODIFIER FITZPATRICK TYPE-4;Sk;0;ON;;;;;N;;;;; +1F3FE;EMOJI MODIFIER FITZPATRICK TYPE-5;Sk;0;ON;;;;;N;;;;; +1F3FF;EMOJI MODIFIER FITZPATRICK TYPE-6;Sk;0;ON;;;;;N;;;;; +1F400;RAT;So;0;ON;;;;;N;;;;; +1F401;MOUSE;So;0;ON;;;;;N;;;;; +1F402;OX;So;0;ON;;;;;N;;;;; +1F403;WATER BUFFALO;So;0;ON;;;;;N;;;;; +1F404;COW;So;0;ON;;;;;N;;;;; +1F405;TIGER;So;0;ON;;;;;N;;;;; +1F406;LEOPARD;So;0;ON;;;;;N;;;;; +1F407;RABBIT;So;0;ON;;;;;N;;;;; +1F408;CAT;So;0;ON;;;;;N;;;;; +1F409;DRAGON;So;0;ON;;;;;N;;;;; +1F40A;CROCODILE;So;0;ON;;;;;N;;;;; +1F40B;WHALE;So;0;ON;;;;;N;;;;; +1F40C;SNAIL;So;0;ON;;;;;N;;;;; +1F40D;SNAKE;So;0;ON;;;;;N;;;;; +1F40E;HORSE;So;0;ON;;;;;N;;;;; +1F40F;RAM;So;0;ON;;;;;N;;;;; +1F410;GOAT;So;0;ON;;;;;N;;;;; +1F411;SHEEP;So;0;ON;;;;;N;;;;; +1F412;MONKEY;So;0;ON;;;;;N;;;;; +1F413;ROOSTER;So;0;ON;;;;;N;;;;; +1F414;CHICKEN;So;0;ON;;;;;N;;;;; +1F415;DOG;So;0;ON;;;;;N;;;;; +1F416;PIG;So;0;ON;;;;;N;;;;; +1F417;BOAR;So;0;ON;;;;;N;;;;; +1F418;ELEPHANT;So;0;ON;;;;;N;;;;; +1F419;OCTOPUS;So;0;ON;;;;;N;;;;; +1F41A;SPIRAL SHELL;So;0;ON;;;;;N;;;;; +1F41B;BUG;So;0;ON;;;;;N;;;;; +1F41C;ANT;So;0;ON;;;;;N;;;;; +1F41D;HONEYBEE;So;0;ON;;;;;N;;;;; +1F41E;LADY BEETLE;So;0;ON;;;;;N;;;;; +1F41F;FISH;So;0;ON;;;;;N;;;;; +1F420;TROPICAL FISH;So;0;ON;;;;;N;;;;; +1F421;BLOWFISH;So;0;ON;;;;;N;;;;; +1F422;TURTLE;So;0;ON;;;;;N;;;;; +1F423;HATCHING CHICK;So;0;ON;;;;;N;;;;; +1F424;BABY CHICK;So;0;ON;;;;;N;;;;; +1F425;FRONT-FACING BABY CHICK;So;0;ON;;;;;N;;;;; +1F426;BIRD;So;0;ON;;;;;N;;;;; +1F427;PENGUIN;So;0;ON;;;;;N;;;;; +1F428;KOALA;So;0;ON;;;;;N;;;;; +1F429;POODLE;So;0;ON;;;;;N;;;;; +1F42A;DROMEDARY CAMEL;So;0;ON;;;;;N;;;;; +1F42B;BACTRIAN CAMEL;So;0;ON;;;;;N;;;;; +1F42C;DOLPHIN;So;0;ON;;;;;N;;;;; +1F42D;MOUSE FACE;So;0;ON;;;;;N;;;;; +1F42E;COW FACE;So;0;ON;;;;;N;;;;; +1F42F;TIGER FACE;So;0;ON;;;;;N;;;;; +1F430;RABBIT FACE;So;0;ON;;;;;N;;;;; +1F431;CAT FACE;So;0;ON;;;;;N;;;;; +1F432;DRAGON FACE;So;0;ON;;;;;N;;;;; +1F433;SPOUTING WHALE;So;0;ON;;;;;N;;;;; +1F434;HORSE FACE;So;0;ON;;;;;N;;;;; +1F435;MONKEY FACE;So;0;ON;;;;;N;;;;; +1F436;DOG FACE;So;0;ON;;;;;N;;;;; +1F437;PIG FACE;So;0;ON;;;;;N;;;;; +1F438;FROG FACE;So;0;ON;;;;;N;;;;; +1F439;HAMSTER FACE;So;0;ON;;;;;N;;;;; +1F43A;WOLF FACE;So;0;ON;;;;;N;;;;; +1F43B;BEAR FACE;So;0;ON;;;;;N;;;;; +1F43C;PANDA FACE;So;0;ON;;;;;N;;;;; +1F43D;PIG NOSE;So;0;ON;;;;;N;;;;; +1F43E;PAW PRINTS;So;0;ON;;;;;N;;;;; +1F43F;CHIPMUNK;So;0;ON;;;;;N;;;;; +1F440;EYES;So;0;ON;;;;;N;;;;; +1F441;EYE;So;0;ON;;;;;N;;;;; +1F442;EAR;So;0;ON;;;;;N;;;;; +1F443;NOSE;So;0;ON;;;;;N;;;;; +1F444;MOUTH;So;0;ON;;;;;N;;;;; +1F445;TONGUE;So;0;ON;;;;;N;;;;; +1F446;WHITE UP POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F447;WHITE DOWN POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F448;WHITE LEFT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F449;WHITE RIGHT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F44A;FISTED HAND SIGN;So;0;ON;;;;;N;;;;; +1F44B;WAVING HAND SIGN;So;0;ON;;;;;N;;;;; +1F44C;OK HAND SIGN;So;0;ON;;;;;N;;;;; +1F44D;THUMBS UP SIGN;So;0;ON;;;;;N;;;;; +1F44E;THUMBS DOWN SIGN;So;0;ON;;;;;N;;;;; +1F44F;CLAPPING HANDS SIGN;So;0;ON;;;;;N;;;;; +1F450;OPEN HANDS SIGN;So;0;ON;;;;;N;;;;; +1F451;CROWN;So;0;ON;;;;;N;;;;; +1F452;WOMANS HAT;So;0;ON;;;;;N;;;;; +1F453;EYEGLASSES;So;0;ON;;;;;N;;;;; +1F454;NECKTIE;So;0;ON;;;;;N;;;;; +1F455;T-SHIRT;So;0;ON;;;;;N;;;;; +1F456;JEANS;So;0;ON;;;;;N;;;;; +1F457;DRESS;So;0;ON;;;;;N;;;;; +1F458;KIMONO;So;0;ON;;;;;N;;;;; +1F459;BIKINI;So;0;ON;;;;;N;;;;; +1F45A;WOMANS CLOTHES;So;0;ON;;;;;N;;;;; +1F45B;PURSE;So;0;ON;;;;;N;;;;; +1F45C;HANDBAG;So;0;ON;;;;;N;;;;; +1F45D;POUCH;So;0;ON;;;;;N;;;;; +1F45E;MANS SHOE;So;0;ON;;;;;N;;;;; +1F45F;ATHLETIC SHOE;So;0;ON;;;;;N;;;;; +1F460;HIGH-HEELED SHOE;So;0;ON;;;;;N;;;;; +1F461;WOMANS SANDAL;So;0;ON;;;;;N;;;;; +1F462;WOMANS BOOTS;So;0;ON;;;;;N;;;;; +1F463;FOOTPRINTS;So;0;ON;;;;;N;;;;; +1F464;BUST IN SILHOUETTE;So;0;ON;;;;;N;;;;; +1F465;BUSTS IN SILHOUETTE;So;0;ON;;;;;N;;;;; +1F466;BOY;So;0;ON;;;;;N;;;;; +1F467;GIRL;So;0;ON;;;;;N;;;;; +1F468;MAN;So;0;ON;;;;;N;;;;; +1F469;WOMAN;So;0;ON;;;;;N;;;;; +1F46A;FAMILY;So;0;ON;;;;;N;;;;; +1F46B;MAN AND WOMAN HOLDING HANDS;So;0;ON;;;;;N;;;;; +1F46C;TWO MEN HOLDING HANDS;So;0;ON;;;;;N;;;;; +1F46D;TWO WOMEN HOLDING HANDS;So;0;ON;;;;;N;;;;; +1F46E;POLICE OFFICER;So;0;ON;;;;;N;;;;; +1F46F;WOMAN WITH BUNNY EARS;So;0;ON;;;;;N;;;;; +1F470;BRIDE WITH VEIL;So;0;ON;;;;;N;;;;; +1F471;PERSON WITH BLOND HAIR;So;0;ON;;;;;N;;;;; +1F472;MAN WITH GUA PI MAO;So;0;ON;;;;;N;;;;; +1F473;MAN WITH TURBAN;So;0;ON;;;;;N;;;;; +1F474;OLDER MAN;So;0;ON;;;;;N;;;;; +1F475;OLDER WOMAN;So;0;ON;;;;;N;;;;; +1F476;BABY;So;0;ON;;;;;N;;;;; +1F477;CONSTRUCTION WORKER;So;0;ON;;;;;N;;;;; +1F478;PRINCESS;So;0;ON;;;;;N;;;;; +1F479;JAPANESE OGRE;So;0;ON;;;;;N;;;;; +1F47A;JAPANESE GOBLIN;So;0;ON;;;;;N;;;;; +1F47B;GHOST;So;0;ON;;;;;N;;;;; +1F47C;BABY ANGEL;So;0;ON;;;;;N;;;;; +1F47D;EXTRATERRESTRIAL ALIEN;So;0;ON;;;;;N;;;;; +1F47E;ALIEN MONSTER;So;0;ON;;;;;N;;;;; +1F47F;IMP;So;0;ON;;;;;N;;;;; +1F480;SKULL;So;0;ON;;;;;N;;;;; +1F481;INFORMATION DESK PERSON;So;0;ON;;;;;N;;;;; +1F482;GUARDSMAN;So;0;ON;;;;;N;;;;; +1F483;DANCER;So;0;ON;;;;;N;;;;; +1F484;LIPSTICK;So;0;ON;;;;;N;;;;; +1F485;NAIL POLISH;So;0;ON;;;;;N;;;;; +1F486;FACE MASSAGE;So;0;ON;;;;;N;;;;; +1F487;HAIRCUT;So;0;ON;;;;;N;;;;; +1F488;BARBER POLE;So;0;ON;;;;;N;;;;; +1F489;SYRINGE;So;0;ON;;;;;N;;;;; +1F48A;PILL;So;0;ON;;;;;N;;;;; +1F48B;KISS MARK;So;0;ON;;;;;N;;;;; +1F48C;LOVE LETTER;So;0;ON;;;;;N;;;;; +1F48D;RING;So;0;ON;;;;;N;;;;; +1F48E;GEM STONE;So;0;ON;;;;;N;;;;; +1F48F;KISS;So;0;ON;;;;;N;;;;; +1F490;BOUQUET;So;0;ON;;;;;N;;;;; +1F491;COUPLE WITH HEART;So;0;ON;;;;;N;;;;; +1F492;WEDDING;So;0;ON;;;;;N;;;;; +1F493;BEATING HEART;So;0;ON;;;;;N;;;;; +1F494;BROKEN HEART;So;0;ON;;;;;N;;;;; +1F495;TWO HEARTS;So;0;ON;;;;;N;;;;; +1F496;SPARKLING HEART;So;0;ON;;;;;N;;;;; +1F497;GROWING HEART;So;0;ON;;;;;N;;;;; +1F498;HEART WITH ARROW;So;0;ON;;;;;N;;;;; +1F499;BLUE HEART;So;0;ON;;;;;N;;;;; +1F49A;GREEN HEART;So;0;ON;;;;;N;;;;; +1F49B;YELLOW HEART;So;0;ON;;;;;N;;;;; +1F49C;PURPLE HEART;So;0;ON;;;;;N;;;;; +1F49D;HEART WITH RIBBON;So;0;ON;;;;;N;;;;; +1F49E;REVOLVING HEARTS;So;0;ON;;;;;N;;;;; +1F49F;HEART DECORATION;So;0;ON;;;;;N;;;;; +1F4A0;DIAMOND SHAPE WITH A DOT INSIDE;So;0;ON;;;;;N;;;;; +1F4A1;ELECTRIC LIGHT BULB;So;0;ON;;;;;N;;;;; +1F4A2;ANGER SYMBOL;So;0;ON;;;;;N;;;;; +1F4A3;BOMB;So;0;ON;;;;;N;;;;; +1F4A4;SLEEPING SYMBOL;So;0;ON;;;;;N;;;;; +1F4A5;COLLISION SYMBOL;So;0;ON;;;;;N;;;;; +1F4A6;SPLASHING SWEAT SYMBOL;So;0;ON;;;;;N;;;;; +1F4A7;DROPLET;So;0;ON;;;;;N;;;;; +1F4A8;DASH SYMBOL;So;0;ON;;;;;N;;;;; +1F4A9;PILE OF POO;So;0;ON;;;;;N;;;;; +1F4AA;FLEXED BICEPS;So;0;ON;;;;;N;;;;; +1F4AB;DIZZY SYMBOL;So;0;ON;;;;;N;;;;; +1F4AC;SPEECH BALLOON;So;0;ON;;;;;N;;;;; +1F4AD;THOUGHT BALLOON;So;0;ON;;;;;N;;;;; +1F4AE;WHITE FLOWER;So;0;ON;;;;;N;;;;; +1F4AF;HUNDRED POINTS SYMBOL;So;0;ON;;;;;N;;;;; +1F4B0;MONEY BAG;So;0;ON;;;;;N;;;;; +1F4B1;CURRENCY EXCHANGE;So;0;ON;;;;;N;;;;; +1F4B2;HEAVY DOLLAR SIGN;So;0;ON;;;;;N;;;;; +1F4B3;CREDIT CARD;So;0;ON;;;;;N;;;;; +1F4B4;BANKNOTE WITH YEN SIGN;So;0;ON;;;;;N;;;;; +1F4B5;BANKNOTE WITH DOLLAR SIGN;So;0;ON;;;;;N;;;;; +1F4B6;BANKNOTE WITH EURO SIGN;So;0;ON;;;;;N;;;;; +1F4B7;BANKNOTE WITH POUND SIGN;So;0;ON;;;;;N;;;;; +1F4B8;MONEY WITH WINGS;So;0;ON;;;;;N;;;;; +1F4B9;CHART WITH UPWARDS TREND AND YEN SIGN;So;0;ON;;;;;N;;;;; +1F4BA;SEAT;So;0;ON;;;;;N;;;;; +1F4BB;PERSONAL COMPUTER;So;0;ON;;;;;N;;;;; +1F4BC;BRIEFCASE;So;0;ON;;;;;N;;;;; +1F4BD;MINIDISC;So;0;ON;;;;;N;;;;; +1F4BE;FLOPPY DISK;So;0;ON;;;;;N;;;;; +1F4BF;OPTICAL DISC;So;0;ON;;;;;N;;;;; +1F4C0;DVD;So;0;ON;;;;;N;;;;; +1F4C1;FILE FOLDER;So;0;ON;;;;;N;;;;; +1F4C2;OPEN FILE FOLDER;So;0;ON;;;;;N;;;;; +1F4C3;PAGE WITH CURL;So;0;ON;;;;;N;;;;; +1F4C4;PAGE FACING UP;So;0;ON;;;;;N;;;;; +1F4C5;CALENDAR;So;0;ON;;;;;N;;;;; +1F4C6;TEAR-OFF CALENDAR;So;0;ON;;;;;N;;;;; +1F4C7;CARD INDEX;So;0;ON;;;;;N;;;;; +1F4C8;CHART WITH UPWARDS TREND;So;0;ON;;;;;N;;;;; +1F4C9;CHART WITH DOWNWARDS TREND;So;0;ON;;;;;N;;;;; +1F4CA;BAR CHART;So;0;ON;;;;;N;;;;; +1F4CB;CLIPBOARD;So;0;ON;;;;;N;;;;; +1F4CC;PUSHPIN;So;0;ON;;;;;N;;;;; +1F4CD;ROUND PUSHPIN;So;0;ON;;;;;N;;;;; +1F4CE;PAPERCLIP;So;0;ON;;;;;N;;;;; +1F4CF;STRAIGHT RULER;So;0;ON;;;;;N;;;;; +1F4D0;TRIANGULAR RULER;So;0;ON;;;;;N;;;;; +1F4D1;BOOKMARK TABS;So;0;ON;;;;;N;;;;; +1F4D2;LEDGER;So;0;ON;;;;;N;;;;; +1F4D3;NOTEBOOK;So;0;ON;;;;;N;;;;; +1F4D4;NOTEBOOK WITH DECORATIVE COVER;So;0;ON;;;;;N;;;;; +1F4D5;CLOSED BOOK;So;0;ON;;;;;N;;;;; +1F4D6;OPEN BOOK;So;0;ON;;;;;N;;;;; +1F4D7;GREEN BOOK;So;0;ON;;;;;N;;;;; +1F4D8;BLUE BOOK;So;0;ON;;;;;N;;;;; +1F4D9;ORANGE BOOK;So;0;ON;;;;;N;;;;; +1F4DA;BOOKS;So;0;ON;;;;;N;;;;; +1F4DB;NAME BADGE;So;0;ON;;;;;N;;;;; +1F4DC;SCROLL;So;0;ON;;;;;N;;;;; +1F4DD;MEMO;So;0;ON;;;;;N;;;;; +1F4DE;TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;; +1F4DF;PAGER;So;0;ON;;;;;N;;;;; +1F4E0;FAX MACHINE;So;0;ON;;;;;N;;;;; +1F4E1;SATELLITE ANTENNA;So;0;ON;;;;;N;;;;; +1F4E2;PUBLIC ADDRESS LOUDSPEAKER;So;0;ON;;;;;N;;;;; +1F4E3;CHEERING MEGAPHONE;So;0;ON;;;;;N;;;;; +1F4E4;OUTBOX TRAY;So;0;ON;;;;;N;;;;; +1F4E5;INBOX TRAY;So;0;ON;;;;;N;;;;; +1F4E6;PACKAGE;So;0;ON;;;;;N;;;;; +1F4E7;E-MAIL SYMBOL;So;0;ON;;;;;N;;;;; +1F4E8;INCOMING ENVELOPE;So;0;ON;;;;;N;;;;; +1F4E9;ENVELOPE WITH DOWNWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F4EA;CLOSED MAILBOX WITH LOWERED FLAG;So;0;ON;;;;;N;;;;; +1F4EB;CLOSED MAILBOX WITH RAISED FLAG;So;0;ON;;;;;N;;;;; +1F4EC;OPEN MAILBOX WITH RAISED FLAG;So;0;ON;;;;;N;;;;; +1F4ED;OPEN MAILBOX WITH LOWERED FLAG;So;0;ON;;;;;N;;;;; +1F4EE;POSTBOX;So;0;ON;;;;;N;;;;; +1F4EF;POSTAL HORN;So;0;ON;;;;;N;;;;; +1F4F0;NEWSPAPER;So;0;ON;;;;;N;;;;; +1F4F1;MOBILE PHONE;So;0;ON;;;;;N;;;;; +1F4F2;MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT;So;0;ON;;;;;N;;;;; +1F4F3;VIBRATION MODE;So;0;ON;;;;;N;;;;; +1F4F4;MOBILE PHONE OFF;So;0;ON;;;;;N;;;;; +1F4F5;NO MOBILE PHONES;So;0;ON;;;;;N;;;;; +1F4F6;ANTENNA WITH BARS;So;0;ON;;;;;N;;;;; +1F4F7;CAMERA;So;0;ON;;;;;N;;;;; +1F4F8;CAMERA WITH FLASH;So;0;ON;;;;;N;;;;; +1F4F9;VIDEO CAMERA;So;0;ON;;;;;N;;;;; +1F4FA;TELEVISION;So;0;ON;;;;;N;;;;; +1F4FB;RADIO;So;0;ON;;;;;N;;;;; +1F4FC;VIDEOCASSETTE;So;0;ON;;;;;N;;;;; +1F4FD;FILM PROJECTOR;So;0;ON;;;;;N;;;;; +1F4FE;PORTABLE STEREO;So;0;ON;;;;;N;;;;; +1F4FF;PRAYER BEADS;So;0;ON;;;;;N;;;;; +1F500;TWISTED RIGHTWARDS ARROWS;So;0;ON;;;;;N;;;;; +1F501;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;; +1F502;CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY;So;0;ON;;;;;N;;;;; +1F503;CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;; +1F504;ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS;So;0;ON;;;;;N;;;;; +1F505;LOW BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;; +1F506;HIGH BRIGHTNESS SYMBOL;So;0;ON;;;;;N;;;;; +1F507;SPEAKER WITH CANCELLATION STROKE;So;0;ON;;;;;N;;;;; +1F508;SPEAKER;So;0;ON;;;;;N;;;;; +1F509;SPEAKER WITH ONE SOUND WAVE;So;0;ON;;;;;N;;;;; +1F50A;SPEAKER WITH THREE SOUND WAVES;So;0;ON;;;;;N;;;;; +1F50B;BATTERY;So;0;ON;;;;;N;;;;; +1F50C;ELECTRIC PLUG;So;0;ON;;;;;N;;;;; +1F50D;LEFT-POINTING MAGNIFYING GLASS;So;0;ON;;;;;N;;;;; +1F50E;RIGHT-POINTING MAGNIFYING GLASS;So;0;ON;;;;;N;;;;; +1F50F;LOCK WITH INK PEN;So;0;ON;;;;;N;;;;; +1F510;CLOSED LOCK WITH KEY;So;0;ON;;;;;N;;;;; +1F511;KEY;So;0;ON;;;;;N;;;;; +1F512;LOCK;So;0;ON;;;;;N;;;;; +1F513;OPEN LOCK;So;0;ON;;;;;N;;;;; +1F514;BELL;So;0;ON;;;;;N;;;;; +1F515;BELL WITH CANCELLATION STROKE;So;0;ON;;;;;N;;;;; +1F516;BOOKMARK;So;0;ON;;;;;N;;;;; +1F517;LINK SYMBOL;So;0;ON;;;;;N;;;;; +1F518;RADIO BUTTON;So;0;ON;;;;;N;;;;; +1F519;BACK WITH LEFTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F51A;END WITH LEFTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F51B;ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F51C;SOON WITH RIGHTWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F51D;TOP WITH UPWARDS ARROW ABOVE;So;0;ON;;;;;N;;;;; +1F51E;NO ONE UNDER EIGHTEEN SYMBOL;So;0;ON;;;;;N;;;;; +1F51F;KEYCAP TEN;So;0;ON;;;;;N;;;;; +1F520;INPUT SYMBOL FOR LATIN CAPITAL LETTERS;So;0;ON;;;;;N;;;;; +1F521;INPUT SYMBOL FOR LATIN SMALL LETTERS;So;0;ON;;;;;N;;;;; +1F522;INPUT SYMBOL FOR NUMBERS;So;0;ON;;;;;N;;;;; +1F523;INPUT SYMBOL FOR SYMBOLS;So;0;ON;;;;;N;;;;; +1F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;ON;;;;;N;;;;; +1F525;FIRE;So;0;ON;;;;;N;;;;; +1F526;ELECTRIC TORCH;So;0;ON;;;;;N;;;;; +1F527;WRENCH;So;0;ON;;;;;N;;;;; +1F528;HAMMER;So;0;ON;;;;;N;;;;; +1F529;NUT AND BOLT;So;0;ON;;;;;N;;;;; +1F52A;HOCHO;So;0;ON;;;;;N;;;;; +1F52B;PISTOL;So;0;ON;;;;;N;;;;; +1F52C;MICROSCOPE;So;0;ON;;;;;N;;;;; +1F52D;TELESCOPE;So;0;ON;;;;;N;;;;; +1F52E;CRYSTAL BALL;So;0;ON;;;;;N;;;;; +1F52F;SIX POINTED STAR WITH MIDDLE DOT;So;0;ON;;;;;N;;;;; +1F530;JAPANESE SYMBOL FOR BEGINNER;So;0;ON;;;;;N;;;;; +1F531;TRIDENT EMBLEM;So;0;ON;;;;;N;;;;; +1F532;BLACK SQUARE BUTTON;So;0;ON;;;;;N;;;;; +1F533;WHITE SQUARE BUTTON;So;0;ON;;;;;N;;;;; +1F534;LARGE RED CIRCLE;So;0;ON;;;;;N;;;;; +1F535;LARGE BLUE CIRCLE;So;0;ON;;;;;N;;;;; +1F536;LARGE ORANGE DIAMOND;So;0;ON;;;;;N;;;;; +1F537;LARGE BLUE DIAMOND;So;0;ON;;;;;N;;;;; +1F538;SMALL ORANGE DIAMOND;So;0;ON;;;;;N;;;;; +1F539;SMALL BLUE DIAMOND;So;0;ON;;;;;N;;;;; +1F53A;UP-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;; +1F53B;DOWN-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;; +1F53C;UP-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;; +1F53D;DOWN-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;; +1F53E;LOWER RIGHT SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F53F;UPPER RIGHT SHADOWED WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F540;CIRCLED CROSS POMMEE;So;0;ON;;;;;N;;;;; +1F541;CROSS POMMEE WITH HALF-CIRCLE BELOW;So;0;ON;;;;;N;;;;; +1F542;CROSS POMMEE;So;0;ON;;;;;N;;;;; +1F543;NOTCHED LEFT SEMICIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;; +1F544;NOTCHED RIGHT SEMICIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;; +1F545;SYMBOL FOR MARKS CHAPTER;So;0;ON;;;;;N;;;;; +1F546;WHITE LATIN CROSS;So;0;ON;;;;;N;;;;; +1F547;HEAVY LATIN CROSS;So;0;ON;;;;;N;;;;; +1F548;CELTIC CROSS;So;0;ON;;;;;N;;;;; +1F549;OM SYMBOL;So;0;ON;;;;;N;;;;; +1F54A;DOVE OF PEACE;So;0;ON;;;;;N;;;;; +1F54B;KAABA;So;0;ON;;;;;N;;;;; +1F54C;MOSQUE;So;0;ON;;;;;N;;;;; +1F54D;SYNAGOGUE;So;0;ON;;;;;N;;;;; +1F54E;MENORAH WITH NINE BRANCHES;So;0;ON;;;;;N;;;;; +1F54F;BOWL OF HYGIEIA;So;0;ON;;;;;N;;;;; +1F550;CLOCK FACE ONE OCLOCK;So;0;ON;;;;;N;;;;; +1F551;CLOCK FACE TWO OCLOCK;So;0;ON;;;;;N;;;;; +1F552;CLOCK FACE THREE OCLOCK;So;0;ON;;;;;N;;;;; +1F553;CLOCK FACE FOUR OCLOCK;So;0;ON;;;;;N;;;;; +1F554;CLOCK FACE FIVE OCLOCK;So;0;ON;;;;;N;;;;; +1F555;CLOCK FACE SIX OCLOCK;So;0;ON;;;;;N;;;;; +1F556;CLOCK FACE SEVEN OCLOCK;So;0;ON;;;;;N;;;;; +1F557;CLOCK FACE EIGHT OCLOCK;So;0;ON;;;;;N;;;;; +1F558;CLOCK FACE NINE OCLOCK;So;0;ON;;;;;N;;;;; +1F559;CLOCK FACE TEN OCLOCK;So;0;ON;;;;;N;;;;; +1F55A;CLOCK FACE ELEVEN OCLOCK;So;0;ON;;;;;N;;;;; +1F55B;CLOCK FACE TWELVE OCLOCK;So;0;ON;;;;;N;;;;; +1F55C;CLOCK FACE ONE-THIRTY;So;0;ON;;;;;N;;;;; +1F55D;CLOCK FACE TWO-THIRTY;So;0;ON;;;;;N;;;;; +1F55E;CLOCK FACE THREE-THIRTY;So;0;ON;;;;;N;;;;; +1F55F;CLOCK FACE FOUR-THIRTY;So;0;ON;;;;;N;;;;; +1F560;CLOCK FACE FIVE-THIRTY;So;0;ON;;;;;N;;;;; +1F561;CLOCK FACE SIX-THIRTY;So;0;ON;;;;;N;;;;; +1F562;CLOCK FACE SEVEN-THIRTY;So;0;ON;;;;;N;;;;; +1F563;CLOCK FACE EIGHT-THIRTY;So;0;ON;;;;;N;;;;; +1F564;CLOCK FACE NINE-THIRTY;So;0;ON;;;;;N;;;;; +1F565;CLOCK FACE TEN-THIRTY;So;0;ON;;;;;N;;;;; +1F566;CLOCK FACE ELEVEN-THIRTY;So;0;ON;;;;;N;;;;; +1F567;CLOCK FACE TWELVE-THIRTY;So;0;ON;;;;;N;;;;; +1F568;RIGHT SPEAKER;So;0;ON;;;;;N;;;;; +1F569;RIGHT SPEAKER WITH ONE SOUND WAVE;So;0;ON;;;;;N;;;;; +1F56A;RIGHT SPEAKER WITH THREE SOUND WAVES;So;0;ON;;;;;N;;;;; +1F56B;BULLHORN;So;0;ON;;;;;N;;;;; +1F56C;BULLHORN WITH SOUND WAVES;So;0;ON;;;;;N;;;;; +1F56D;RINGING BELL;So;0;ON;;;;;N;;;;; +1F56E;BOOK;So;0;ON;;;;;N;;;;; +1F56F;CANDLE;So;0;ON;;;;;N;;;;; +1F570;MANTELPIECE CLOCK;So;0;ON;;;;;N;;;;; +1F571;BLACK SKULL AND CROSSBONES;So;0;ON;;;;;N;;;;; +1F572;NO PIRACY;So;0;ON;;;;;N;;;;; +1F573;HOLE;So;0;ON;;;;;N;;;;; +1F574;MAN IN BUSINESS SUIT LEVITATING;So;0;ON;;;;;N;;;;; +1F575;SLEUTH OR SPY;So;0;ON;;;;;N;;;;; +1F576;DARK SUNGLASSES;So;0;ON;;;;;N;;;;; +1F577;SPIDER;So;0;ON;;;;;N;;;;; +1F578;SPIDER WEB;So;0;ON;;;;;N;;;;; +1F579;JOYSTICK;So;0;ON;;;;;N;;;;; +1F57A;MAN DANCING;So;0;ON;;;;;N;;;;; +1F57B;LEFT HAND TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;; +1F57C;TELEPHONE RECEIVER WITH PAGE;So;0;ON;;;;;N;;;;; +1F57D;RIGHT HAND TELEPHONE RECEIVER;So;0;ON;;;;;N;;;;; +1F57E;WHITE TOUCHTONE TELEPHONE;So;0;ON;;;;;N;;;;; +1F57F;BLACK TOUCHTONE TELEPHONE;So;0;ON;;;;;N;;;;; +1F580;TELEPHONE ON TOP OF MODEM;So;0;ON;;;;;N;;;;; +1F581;CLAMSHELL MOBILE PHONE;So;0;ON;;;;;N;;;;; +1F582;BACK OF ENVELOPE;So;0;ON;;;;;N;;;;; +1F583;STAMPED ENVELOPE;So;0;ON;;;;;N;;;;; +1F584;ENVELOPE WITH LIGHTNING;So;0;ON;;;;;N;;;;; +1F585;FLYING ENVELOPE;So;0;ON;;;;;N;;;;; +1F586;PEN OVER STAMPED ENVELOPE;So;0;ON;;;;;N;;;;; +1F587;LINKED PAPERCLIPS;So;0;ON;;;;;N;;;;; +1F588;BLACK PUSHPIN;So;0;ON;;;;;N;;;;; +1F589;LOWER LEFT PENCIL;So;0;ON;;;;;N;;;;; +1F58A;LOWER LEFT BALLPOINT PEN;So;0;ON;;;;;N;;;;; +1F58B;LOWER LEFT FOUNTAIN PEN;So;0;ON;;;;;N;;;;; +1F58C;LOWER LEFT PAINTBRUSH;So;0;ON;;;;;N;;;;; +1F58D;LOWER LEFT CRAYON;So;0;ON;;;;;N;;;;; +1F58E;LEFT WRITING HAND;So;0;ON;;;;;N;;;;; +1F58F;TURNED OK HAND SIGN;So;0;ON;;;;;N;;;;; +1F590;RAISED HAND WITH FINGERS SPLAYED;So;0;ON;;;;;N;;;;; +1F591;REVERSED RAISED HAND WITH FINGERS SPLAYED;So;0;ON;;;;;N;;;;; +1F592;REVERSED THUMBS UP SIGN;So;0;ON;;;;;N;;;;; +1F593;REVERSED THUMBS DOWN SIGN;So;0;ON;;;;;N;;;;; +1F594;REVERSED VICTORY HAND;So;0;ON;;;;;N;;;;; +1F595;REVERSED HAND WITH MIDDLE FINGER EXTENDED;So;0;ON;;;;;N;;;;; +1F596;RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS;So;0;ON;;;;;N;;;;; +1F597;WHITE DOWN POINTING LEFT HAND INDEX;So;0;ON;;;;;N;;;;; +1F598;SIDEWAYS WHITE LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +1F599;SIDEWAYS WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +1F59A;SIDEWAYS BLACK LEFT POINTING INDEX;So;0;ON;;;;;N;;;;; +1F59B;SIDEWAYS BLACK RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +1F59C;BLACK LEFT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F59D;BLACK RIGHT POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F59E;SIDEWAYS WHITE UP POINTING INDEX;So;0;ON;;;;;N;;;;; +1F59F;SIDEWAYS WHITE DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; +1F5A0;SIDEWAYS BLACK UP POINTING INDEX;So;0;ON;;;;;N;;;;; +1F5A1;SIDEWAYS BLACK DOWN POINTING INDEX;So;0;ON;;;;;N;;;;; +1F5A2;BLACK UP POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F5A3;BLACK DOWN POINTING BACKHAND INDEX;So;0;ON;;;;;N;;;;; +1F5A4;BLACK HEART;So;0;ON;;;;;N;;;;; +1F5A5;DESKTOP COMPUTER;So;0;ON;;;;;N;;;;; +1F5A6;KEYBOARD AND MOUSE;So;0;ON;;;;;N;;;;; +1F5A7;THREE NETWORKED COMPUTERS;So;0;ON;;;;;N;;;;; +1F5A8;PRINTER;So;0;ON;;;;;N;;;;; +1F5A9;POCKET CALCULATOR;So;0;ON;;;;;N;;;;; +1F5AA;BLACK HARD SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;; +1F5AB;WHITE HARD SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;; +1F5AC;SOFT SHELL FLOPPY DISK;So;0;ON;;;;;N;;;;; +1F5AD;TAPE CARTRIDGE;So;0;ON;;;;;N;;;;; +1F5AE;WIRED KEYBOARD;So;0;ON;;;;;N;;;;; +1F5AF;ONE BUTTON MOUSE;So;0;ON;;;;;N;;;;; +1F5B0;TWO BUTTON MOUSE;So;0;ON;;;;;N;;;;; +1F5B1;THREE BUTTON MOUSE;So;0;ON;;;;;N;;;;; +1F5B2;TRACKBALL;So;0;ON;;;;;N;;;;; +1F5B3;OLD PERSONAL COMPUTER;So;0;ON;;;;;N;;;;; +1F5B4;HARD DISK;So;0;ON;;;;;N;;;;; +1F5B5;SCREEN;So;0;ON;;;;;N;;;;; +1F5B6;PRINTER ICON;So;0;ON;;;;;N;;;;; +1F5B7;FAX ICON;So;0;ON;;;;;N;;;;; +1F5B8;OPTICAL DISC ICON;So;0;ON;;;;;N;;;;; +1F5B9;DOCUMENT WITH TEXT;So;0;ON;;;;;N;;;;; +1F5BA;DOCUMENT WITH TEXT AND PICTURE;So;0;ON;;;;;N;;;;; +1F5BB;DOCUMENT WITH PICTURE;So;0;ON;;;;;N;;;;; +1F5BC;FRAME WITH PICTURE;So;0;ON;;;;;N;;;;; +1F5BD;FRAME WITH TILES;So;0;ON;;;;;N;;;;; +1F5BE;FRAME WITH AN X;So;0;ON;;;;;N;;;;; +1F5BF;BLACK FOLDER;So;0;ON;;;;;N;;;;; +1F5C0;FOLDER;So;0;ON;;;;;N;;;;; +1F5C1;OPEN FOLDER;So;0;ON;;;;;N;;;;; +1F5C2;CARD INDEX DIVIDERS;So;0;ON;;;;;N;;;;; +1F5C3;CARD FILE BOX;So;0;ON;;;;;N;;;;; +1F5C4;FILE CABINET;So;0;ON;;;;;N;;;;; +1F5C5;EMPTY NOTE;So;0;ON;;;;;N;;;;; +1F5C6;EMPTY NOTE PAGE;So;0;ON;;;;;N;;;;; +1F5C7;EMPTY NOTE PAD;So;0;ON;;;;;N;;;;; +1F5C8;NOTE;So;0;ON;;;;;N;;;;; +1F5C9;NOTE PAGE;So;0;ON;;;;;N;;;;; +1F5CA;NOTE PAD;So;0;ON;;;;;N;;;;; +1F5CB;EMPTY DOCUMENT;So;0;ON;;;;;N;;;;; +1F5CC;EMPTY PAGE;So;0;ON;;;;;N;;;;; +1F5CD;EMPTY PAGES;So;0;ON;;;;;N;;;;; +1F5CE;DOCUMENT;So;0;ON;;;;;N;;;;; +1F5CF;PAGE;So;0;ON;;;;;N;;;;; +1F5D0;PAGES;So;0;ON;;;;;N;;;;; +1F5D1;WASTEBASKET;So;0;ON;;;;;N;;;;; +1F5D2;SPIRAL NOTE PAD;So;0;ON;;;;;N;;;;; +1F5D3;SPIRAL CALENDAR PAD;So;0;ON;;;;;N;;;;; +1F5D4;DESKTOP WINDOW;So;0;ON;;;;;N;;;;; +1F5D5;MINIMIZE;So;0;ON;;;;;N;;;;; +1F5D6;MAXIMIZE;So;0;ON;;;;;N;;;;; +1F5D7;OVERLAP;So;0;ON;;;;;N;;;;; +1F5D8;CLOCKWISE RIGHT AND LEFT SEMICIRCLE ARROWS;So;0;ON;;;;;N;;;;; +1F5D9;CANCELLATION X;So;0;ON;;;;;N;;;;; +1F5DA;INCREASE FONT SIZE SYMBOL;So;0;ON;;;;;N;;;;; +1F5DB;DECREASE FONT SIZE SYMBOL;So;0;ON;;;;;N;;;;; +1F5DC;COMPRESSION;So;0;ON;;;;;N;;;;; +1F5DD;OLD KEY;So;0;ON;;;;;N;;;;; +1F5DE;ROLLED-UP NEWSPAPER;So;0;ON;;;;;N;;;;; +1F5DF;PAGE WITH CIRCLED TEXT;So;0;ON;;;;;N;;;;; +1F5E0;STOCK CHART;So;0;ON;;;;;N;;;;; +1F5E1;DAGGER KNIFE;So;0;ON;;;;;N;;;;; +1F5E2;LIPS;So;0;ON;;;;;N;;;;; +1F5E3;SPEAKING HEAD IN SILHOUETTE;So;0;ON;;;;;N;;;;; +1F5E4;THREE RAYS ABOVE;So;0;ON;;;;;N;;;;; +1F5E5;THREE RAYS BELOW;So;0;ON;;;;;N;;;;; +1F5E6;THREE RAYS LEFT;So;0;ON;;;;;N;;;;; +1F5E7;THREE RAYS RIGHT;So;0;ON;;;;;N;;;;; +1F5E8;LEFT SPEECH BUBBLE;So;0;ON;;;;;N;;;;; +1F5E9;RIGHT SPEECH BUBBLE;So;0;ON;;;;;N;;;;; +1F5EA;TWO SPEECH BUBBLES;So;0;ON;;;;;N;;;;; +1F5EB;THREE SPEECH BUBBLES;So;0;ON;;;;;N;;;;; +1F5EC;LEFT THOUGHT BUBBLE;So;0;ON;;;;;N;;;;; +1F5ED;RIGHT THOUGHT BUBBLE;So;0;ON;;;;;N;;;;; +1F5EE;LEFT ANGER BUBBLE;So;0;ON;;;;;N;;;;; +1F5EF;RIGHT ANGER BUBBLE;So;0;ON;;;;;N;;;;; +1F5F0;MOOD BUBBLE;So;0;ON;;;;;N;;;;; +1F5F1;LIGHTNING MOOD BUBBLE;So;0;ON;;;;;N;;;;; +1F5F2;LIGHTNING MOOD;So;0;ON;;;;;N;;;;; +1F5F3;BALLOT BOX WITH BALLOT;So;0;ON;;;;;N;;;;; +1F5F4;BALLOT SCRIPT X;So;0;ON;;;;;N;;;;; +1F5F5;BALLOT BOX WITH SCRIPT X;So;0;ON;;;;;N;;;;; +1F5F6;BALLOT BOLD SCRIPT X;So;0;ON;;;;;N;;;;; +1F5F7;BALLOT BOX WITH BOLD SCRIPT X;So;0;ON;;;;;N;;;;; +1F5F8;LIGHT CHECK MARK;So;0;ON;;;;;N;;;;; +1F5F9;BALLOT BOX WITH BOLD CHECK;So;0;ON;;;;;N;;;;; +1F5FA;WORLD MAP;So;0;ON;;;;;N;;;;; +1F5FB;MOUNT FUJI;So;0;ON;;;;;N;;;;; +1F5FC;TOKYO TOWER;So;0;ON;;;;;N;;;;; +1F5FD;STATUE OF LIBERTY;So;0;ON;;;;;N;;;;; +1F5FE;SILHOUETTE OF JAPAN;So;0;ON;;;;;N;;;;; +1F5FF;MOYAI;So;0;ON;;;;;N;;;;; +1F600;GRINNING FACE;So;0;ON;;;;;N;;;;; +1F601;GRINNING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;; +1F602;FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;; +1F603;SMILING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;; +1F604;SMILING FACE WITH OPEN MOUTH AND SMILING EYES;So;0;ON;;;;;N;;;;; +1F605;SMILING FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;; +1F606;SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;; +1F607;SMILING FACE WITH HALO;So;0;ON;;;;;N;;;;; +1F608;SMILING FACE WITH HORNS;So;0;ON;;;;;N;;;;; +1F609;WINKING FACE;So;0;ON;;;;;N;;;;; +1F60A;SMILING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;; +1F60B;FACE SAVOURING DELICIOUS FOOD;So;0;ON;;;;;N;;;;; +1F60C;RELIEVED FACE;So;0;ON;;;;;N;;;;; +1F60D;SMILING FACE WITH HEART-SHAPED EYES;So;0;ON;;;;;N;;;;; +1F60E;SMILING FACE WITH SUNGLASSES;So;0;ON;;;;;N;;;;; +1F60F;SMIRKING FACE;So;0;ON;;;;;N;;;;; +1F610;NEUTRAL FACE;So;0;ON;;;;;N;;;;; +1F611;EXPRESSIONLESS FACE;So;0;ON;;;;;N;;;;; +1F612;UNAMUSED FACE;So;0;ON;;;;;N;;;;; +1F613;FACE WITH COLD SWEAT;So;0;ON;;;;;N;;;;; +1F614;PENSIVE FACE;So;0;ON;;;;;N;;;;; +1F615;CONFUSED FACE;So;0;ON;;;;;N;;;;; +1F616;CONFOUNDED FACE;So;0;ON;;;;;N;;;;; +1F617;KISSING FACE;So;0;ON;;;;;N;;;;; +1F618;FACE THROWING A KISS;So;0;ON;;;;;N;;;;; +1F619;KISSING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;; +1F61A;KISSING FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;; +1F61B;FACE WITH STUCK-OUT TONGUE;So;0;ON;;;;;N;;;;; +1F61C;FACE WITH STUCK-OUT TONGUE AND WINKING EYE;So;0;ON;;;;;N;;;;; +1F61D;FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;; +1F61E;DISAPPOINTED FACE;So;0;ON;;;;;N;;;;; +1F61F;WORRIED FACE;So;0;ON;;;;;N;;;;; +1F620;ANGRY FACE;So;0;ON;;;;;N;;;;; +1F621;POUTING FACE;So;0;ON;;;;;N;;;;; +1F622;CRYING FACE;So;0;ON;;;;;N;;;;; +1F623;PERSEVERING FACE;So;0;ON;;;;;N;;;;; +1F624;FACE WITH LOOK OF TRIUMPH;So;0;ON;;;;;N;;;;; +1F625;DISAPPOINTED BUT RELIEVED FACE;So;0;ON;;;;;N;;;;; +1F626;FROWNING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;; +1F627;ANGUISHED FACE;So;0;ON;;;;;N;;;;; +1F628;FEARFUL FACE;So;0;ON;;;;;N;;;;; +1F629;WEARY FACE;So;0;ON;;;;;N;;;;; +1F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;; +1F62B;TIRED FACE;So;0;ON;;;;;N;;;;; +1F62C;GRIMACING FACE;So;0;ON;;;;;N;;;;; +1F62D;LOUDLY CRYING FACE;So;0;ON;;;;;N;;;;; +1F62E;FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;; +1F62F;HUSHED FACE;So;0;ON;;;;;N;;;;; +1F630;FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;; +1F631;FACE SCREAMING IN FEAR;So;0;ON;;;;;N;;;;; +1F632;ASTONISHED FACE;So;0;ON;;;;;N;;;;; +1F633;FLUSHED FACE;So;0;ON;;;;;N;;;;; +1F634;SLEEPING FACE;So;0;ON;;;;;N;;;;; +1F635;DIZZY FACE;So;0;ON;;;;;N;;;;; +1F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;; +1F637;FACE WITH MEDICAL MASK;So;0;ON;;;;;N;;;;; +1F638;GRINNING CAT FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;; +1F639;CAT FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;; +1F63A;SMILING CAT FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;; +1F63B;SMILING CAT FACE WITH HEART-SHAPED EYES;So;0;ON;;;;;N;;;;; +1F63C;CAT FACE WITH WRY SMILE;So;0;ON;;;;;N;;;;; +1F63D;KISSING CAT FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;; +1F63E;POUTING CAT FACE;So;0;ON;;;;;N;;;;; +1F63F;CRYING CAT FACE;So;0;ON;;;;;N;;;;; +1F640;WEARY CAT FACE;So;0;ON;;;;;N;;;;; +1F641;SLIGHTLY FROWNING FACE;So;0;ON;;;;;N;;;;; +1F642;SLIGHTLY SMILING FACE;So;0;ON;;;;;N;;;;; +1F643;UPSIDE-DOWN FACE;So;0;ON;;;;;N;;;;; +1F644;FACE WITH ROLLING EYES;So;0;ON;;;;;N;;;;; +1F645;FACE WITH NO GOOD GESTURE;So;0;ON;;;;;N;;;;; +1F646;FACE WITH OK GESTURE;So;0;ON;;;;;N;;;;; +1F647;PERSON BOWING DEEPLY;So;0;ON;;;;;N;;;;; +1F648;SEE-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;; +1F649;HEAR-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;; +1F64A;SPEAK-NO-EVIL MONKEY;So;0;ON;;;;;N;;;;; +1F64B;HAPPY PERSON RAISING ONE HAND;So;0;ON;;;;;N;;;;; +1F64C;PERSON RAISING BOTH HANDS IN CELEBRATION;So;0;ON;;;;;N;;;;; +1F64D;PERSON FROWNING;So;0;ON;;;;;N;;;;; +1F64E;PERSON WITH POUTING FACE;So;0;ON;;;;;N;;;;; +1F64F;PERSON WITH FOLDED HANDS;So;0;ON;;;;;N;;;;; +1F650;NORTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F651;SOUTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F652;NORTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F653;SOUTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F654;TURNED NORTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F655;TURNED SOUTH WEST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F656;TURNED NORTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F657;TURNED SOUTH EAST POINTING LEAF;So;0;ON;;;;;N;;;;; +1F658;NORTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F659;SOUTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65A;NORTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65B;SOUTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65C;HEAVY NORTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65D;HEAVY SOUTH WEST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65E;HEAVY NORTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F65F;HEAVY SOUTH EAST POINTING VINE LEAF;So;0;ON;;;;;N;;;;; +1F660;NORTH WEST POINTING BUD;So;0;ON;;;;;N;;;;; +1F661;SOUTH WEST POINTING BUD;So;0;ON;;;;;N;;;;; +1F662;NORTH EAST POINTING BUD;So;0;ON;;;;;N;;;;; +1F663;SOUTH EAST POINTING BUD;So;0;ON;;;;;N;;;;; +1F664;HEAVY NORTH WEST POINTING BUD;So;0;ON;;;;;N;;;;; +1F665;HEAVY SOUTH WEST POINTING BUD;So;0;ON;;;;;N;;;;; +1F666;HEAVY NORTH EAST POINTING BUD;So;0;ON;;;;;N;;;;; +1F667;HEAVY SOUTH EAST POINTING BUD;So;0;ON;;;;;N;;;;; +1F668;HOLLOW QUILT SQUARE ORNAMENT;So;0;ON;;;;;N;;;;; +1F669;HOLLOW QUILT SQUARE ORNAMENT IN BLACK SQUARE;So;0;ON;;;;;N;;;;; +1F66A;SOLID QUILT SQUARE ORNAMENT;So;0;ON;;;;;N;;;;; +1F66B;SOLID QUILT SQUARE ORNAMENT IN BLACK SQUARE;So;0;ON;;;;;N;;;;; +1F66C;LEFTWARDS ROCKET;So;0;ON;;;;;N;;;;; +1F66D;UPWARDS ROCKET;So;0;ON;;;;;N;;;;; +1F66E;RIGHTWARDS ROCKET;So;0;ON;;;;;N;;;;; +1F66F;DOWNWARDS ROCKET;So;0;ON;;;;;N;;;;; +1F670;SCRIPT LIGATURE ET ORNAMENT;So;0;ON;;;;;N;;;;; +1F671;HEAVY SCRIPT LIGATURE ET ORNAMENT;So;0;ON;;;;;N;;;;; +1F672;LIGATURE OPEN ET ORNAMENT;So;0;ON;;;;;N;;;;; +1F673;HEAVY LIGATURE OPEN ET ORNAMENT;So;0;ON;;;;;N;;;;; +1F674;HEAVY AMPERSAND ORNAMENT;So;0;ON;;;;;N;;;;; +1F675;SWASH AMPERSAND ORNAMENT;So;0;ON;;;;;N;;;;; +1F676;SANS-SERIF HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +1F677;SANS-SERIF HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +1F678;SANS-SERIF HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT;So;0;ON;;;;;N;;;;; +1F679;HEAVY INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;; +1F67A;SANS-SERIF INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;; +1F67B;HEAVY SANS-SERIF INTERROBANG ORNAMENT;So;0;ON;;;;;N;;;;; +1F67C;VERY HEAVY SOLIDUS;So;0;ON;;;;;N;;;;; +1F67D;VERY HEAVY REVERSE SOLIDUS;So;0;ON;;;;;N;;;;; +1F67E;CHECKER BOARD;So;0;ON;;;;;N;;;;; +1F67F;REVERSE CHECKER BOARD;So;0;ON;;;;;N;;;;; +1F680;ROCKET;So;0;ON;;;;;N;;;;; +1F681;HELICOPTER;So;0;ON;;;;;N;;;;; +1F682;STEAM LOCOMOTIVE;So;0;ON;;;;;N;;;;; +1F683;RAILWAY CAR;So;0;ON;;;;;N;;;;; +1F684;HIGH-SPEED TRAIN;So;0;ON;;;;;N;;;;; +1F685;HIGH-SPEED TRAIN WITH BULLET NOSE;So;0;ON;;;;;N;;;;; +1F686;TRAIN;So;0;ON;;;;;N;;;;; +1F687;METRO;So;0;ON;;;;;N;;;;; +1F688;LIGHT RAIL;So;0;ON;;;;;N;;;;; +1F689;STATION;So;0;ON;;;;;N;;;;; +1F68A;TRAM;So;0;ON;;;;;N;;;;; +1F68B;TRAM CAR;So;0;ON;;;;;N;;;;; +1F68C;BUS;So;0;ON;;;;;N;;;;; +1F68D;ONCOMING BUS;So;0;ON;;;;;N;;;;; +1F68E;TROLLEYBUS;So;0;ON;;;;;N;;;;; +1F68F;BUS STOP;So;0;ON;;;;;N;;;;; +1F690;MINIBUS;So;0;ON;;;;;N;;;;; +1F691;AMBULANCE;So;0;ON;;;;;N;;;;; +1F692;FIRE ENGINE;So;0;ON;;;;;N;;;;; +1F693;POLICE CAR;So;0;ON;;;;;N;;;;; +1F694;ONCOMING POLICE CAR;So;0;ON;;;;;N;;;;; +1F695;TAXI;So;0;ON;;;;;N;;;;; +1F696;ONCOMING TAXI;So;0;ON;;;;;N;;;;; +1F697;AUTOMOBILE;So;0;ON;;;;;N;;;;; +1F698;ONCOMING AUTOMOBILE;So;0;ON;;;;;N;;;;; +1F699;RECREATIONAL VEHICLE;So;0;ON;;;;;N;;;;; +1F69A;DELIVERY TRUCK;So;0;ON;;;;;N;;;;; +1F69B;ARTICULATED LORRY;So;0;ON;;;;;N;;;;; +1F69C;TRACTOR;So;0;ON;;;;;N;;;;; +1F69D;MONORAIL;So;0;ON;;;;;N;;;;; +1F69E;MOUNTAIN RAILWAY;So;0;ON;;;;;N;;;;; +1F69F;SUSPENSION RAILWAY;So;0;ON;;;;;N;;;;; +1F6A0;MOUNTAIN CABLEWAY;So;0;ON;;;;;N;;;;; +1F6A1;AERIAL TRAMWAY;So;0;ON;;;;;N;;;;; +1F6A2;SHIP;So;0;ON;;;;;N;;;;; +1F6A3;ROWBOAT;So;0;ON;;;;;N;;;;; +1F6A4;SPEEDBOAT;So;0;ON;;;;;N;;;;; +1F6A5;HORIZONTAL TRAFFIC LIGHT;So;0;ON;;;;;N;;;;; +1F6A6;VERTICAL TRAFFIC LIGHT;So;0;ON;;;;;N;;;;; +1F6A7;CONSTRUCTION SIGN;So;0;ON;;;;;N;;;;; +1F6A8;POLICE CARS REVOLVING LIGHT;So;0;ON;;;;;N;;;;; +1F6A9;TRIANGULAR FLAG ON POST;So;0;ON;;;;;N;;;;; +1F6AA;DOOR;So;0;ON;;;;;N;;;;; +1F6AB;NO ENTRY SIGN;So;0;ON;;;;;N;;;;; +1F6AC;SMOKING SYMBOL;So;0;ON;;;;;N;;;;; +1F6AD;NO SMOKING SYMBOL;So;0;ON;;;;;N;;;;; +1F6AE;PUT LITTER IN ITS PLACE SYMBOL;So;0;ON;;;;;N;;;;; +1F6AF;DO NOT LITTER SYMBOL;So;0;ON;;;;;N;;;;; +1F6B0;POTABLE WATER SYMBOL;So;0;ON;;;;;N;;;;; +1F6B1;NON-POTABLE WATER SYMBOL;So;0;ON;;;;;N;;;;; +1F6B2;BICYCLE;So;0;ON;;;;;N;;;;; +1F6B3;NO BICYCLES;So;0;ON;;;;;N;;;;; +1F6B4;BICYCLIST;So;0;ON;;;;;N;;;;; +1F6B5;MOUNTAIN BICYCLIST;So;0;ON;;;;;N;;;;; +1F6B6;PEDESTRIAN;So;0;ON;;;;;N;;;;; +1F6B7;NO PEDESTRIANS;So;0;ON;;;;;N;;;;; +1F6B8;CHILDREN CROSSING;So;0;ON;;;;;N;;;;; +1F6B9;MENS SYMBOL;So;0;ON;;;;;N;;;;; +1F6BA;WOMENS SYMBOL;So;0;ON;;;;;N;;;;; +1F6BB;RESTROOM;So;0;ON;;;;;N;;;;; +1F6BC;BABY SYMBOL;So;0;ON;;;;;N;;;;; +1F6BD;TOILET;So;0;ON;;;;;N;;;;; +1F6BE;WATER CLOSET;So;0;ON;;;;;N;;;;; +1F6BF;SHOWER;So;0;ON;;;;;N;;;;; +1F6C0;BATH;So;0;ON;;;;;N;;;;; +1F6C1;BATHTUB;So;0;ON;;;;;N;;;;; +1F6C2;PASSPORT CONTROL;So;0;ON;;;;;N;;;;; +1F6C3;CUSTOMS;So;0;ON;;;;;N;;;;; +1F6C4;BAGGAGE CLAIM;So;0;ON;;;;;N;;;;; +1F6C5;LEFT LUGGAGE;So;0;ON;;;;;N;;;;; +1F6C6;TRIANGLE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; +1F6C7;PROHIBITED SIGN;So;0;ON;;;;;N;;;;; +1F6C8;CIRCLED INFORMATION SOURCE;So;0;ON;;;;;N;;;;; +1F6C9;BOYS SYMBOL;So;0;ON;;;;;N;;;;; +1F6CA;GIRLS SYMBOL;So;0;ON;;;;;N;;;;; +1F6CB;COUCH AND LAMP;So;0;ON;;;;;N;;;;; +1F6CC;SLEEPING ACCOMMODATION;So;0;ON;;;;;N;;;;; +1F6CD;SHOPPING BAGS;So;0;ON;;;;;N;;;;; +1F6CE;BELLHOP BELL;So;0;ON;;;;;N;;;;; +1F6CF;BED;So;0;ON;;;;;N;;;;; +1F6D0;PLACE OF WORSHIP;So;0;ON;;;;;N;;;;; +1F6D1;OCTAGONAL SIGN;So;0;ON;;;;;N;;;;; +1F6D2;SHOPPING TROLLEY;So;0;ON;;;;;N;;;;; +1F6D3;STUPA;So;0;ON;;;;;N;;;;; +1F6D4;PAGODA;So;0;ON;;;;;N;;;;; +1F6D5;HINDU TEMPLE;So;0;ON;;;;;N;;;;; +1F6D6;HUT;So;0;ON;;;;;N;;;;; +1F6D7;ELEVATOR;So;0;ON;;;;;N;;;;; +1F6E0;HAMMER AND WRENCH;So;0;ON;;;;;N;;;;; +1F6E1;SHIELD;So;0;ON;;;;;N;;;;; +1F6E2;OIL DRUM;So;0;ON;;;;;N;;;;; +1F6E3;MOTORWAY;So;0;ON;;;;;N;;;;; +1F6E4;RAILWAY TRACK;So;0;ON;;;;;N;;;;; +1F6E5;MOTOR BOAT;So;0;ON;;;;;N;;;;; +1F6E6;UP-POINTING MILITARY AIRPLANE;So;0;ON;;;;;N;;;;; +1F6E7;UP-POINTING AIRPLANE;So;0;ON;;;;;N;;;;; +1F6E8;UP-POINTING SMALL AIRPLANE;So;0;ON;;;;;N;;;;; +1F6E9;SMALL AIRPLANE;So;0;ON;;;;;N;;;;; +1F6EA;NORTHEAST-POINTING AIRPLANE;So;0;ON;;;;;N;;;;; +1F6EB;AIRPLANE DEPARTURE;So;0;ON;;;;;N;;;;; +1F6EC;AIRPLANE ARRIVING;So;0;ON;;;;;N;;;;; +1F6F0;SATELLITE;So;0;ON;;;;;N;;;;; +1F6F1;ONCOMING FIRE ENGINE;So;0;ON;;;;;N;;;;; +1F6F2;DIESEL LOCOMOTIVE;So;0;ON;;;;;N;;;;; +1F6F3;PASSENGER SHIP;So;0;ON;;;;;N;;;;; +1F6F4;SCOOTER;So;0;ON;;;;;N;;;;; +1F6F5;MOTOR SCOOTER;So;0;ON;;;;;N;;;;; +1F6F6;CANOE;So;0;ON;;;;;N;;;;; +1F6F7;SLED;So;0;ON;;;;;N;;;;; +1F6F8;FLYING SAUCER;So;0;ON;;;;;N;;;;; +1F6F9;SKATEBOARD;So;0;ON;;;;;N;;;;; +1F6FA;AUTO RICKSHAW;So;0;ON;;;;;N;;;;; +1F6FB;PICKUP TRUCK;So;0;ON;;;;;N;;;;; +1F6FC;ROLLER SKATE;So;0;ON;;;;;N;;;;; +1F700;ALCHEMICAL SYMBOL FOR QUINTESSENCE;So;0;ON;;;;;N;;;;; +1F701;ALCHEMICAL SYMBOL FOR AIR;So;0;ON;;;;;N;;;;; +1F702;ALCHEMICAL SYMBOL FOR FIRE;So;0;ON;;;;;N;;;;; +1F703;ALCHEMICAL SYMBOL FOR EARTH;So;0;ON;;;;;N;;;;; +1F704;ALCHEMICAL SYMBOL FOR WATER;So;0;ON;;;;;N;;;;; +1F705;ALCHEMICAL SYMBOL FOR AQUAFORTIS;So;0;ON;;;;;N;;;;; +1F706;ALCHEMICAL SYMBOL FOR AQUA REGIA;So;0;ON;;;;;N;;;;; +1F707;ALCHEMICAL SYMBOL FOR AQUA REGIA-2;So;0;ON;;;;;N;;;;; +1F708;ALCHEMICAL SYMBOL FOR AQUA VITAE;So;0;ON;;;;;N;;;;; +1F709;ALCHEMICAL SYMBOL FOR AQUA VITAE-2;So;0;ON;;;;;N;;;;; +1F70A;ALCHEMICAL SYMBOL FOR VINEGAR;So;0;ON;;;;;N;;;;; +1F70B;ALCHEMICAL SYMBOL FOR VINEGAR-2;So;0;ON;;;;;N;;;;; +1F70C;ALCHEMICAL SYMBOL FOR VINEGAR-3;So;0;ON;;;;;N;;;;; +1F70D;ALCHEMICAL SYMBOL FOR SULFUR;So;0;ON;;;;;N;;;;; +1F70E;ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR;So;0;ON;;;;;N;;;;; +1F70F;ALCHEMICAL SYMBOL FOR BLACK SULFUR;So;0;ON;;;;;N;;;;; +1F710;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE;So;0;ON;;;;;N;;;;; +1F711;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2;So;0;ON;;;;;N;;;;; +1F712;ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3;So;0;ON;;;;;N;;;;; +1F713;ALCHEMICAL SYMBOL FOR CINNABAR;So;0;ON;;;;;N;;;;; +1F714;ALCHEMICAL SYMBOL FOR SALT;So;0;ON;;;;;N;;;;; +1F715;ALCHEMICAL SYMBOL FOR NITRE;So;0;ON;;;;;N;;;;; +1F716;ALCHEMICAL SYMBOL FOR VITRIOL;So;0;ON;;;;;N;;;;; +1F717;ALCHEMICAL SYMBOL FOR VITRIOL-2;So;0;ON;;;;;N;;;;; +1F718;ALCHEMICAL SYMBOL FOR ROCK SALT;So;0;ON;;;;;N;;;;; +1F719;ALCHEMICAL SYMBOL FOR ROCK SALT-2;So;0;ON;;;;;N;;;;; +1F71A;ALCHEMICAL SYMBOL FOR GOLD;So;0;ON;;;;;N;;;;; +1F71B;ALCHEMICAL SYMBOL FOR SILVER;So;0;ON;;;;;N;;;;; +1F71C;ALCHEMICAL SYMBOL FOR IRON ORE;So;0;ON;;;;;N;;;;; +1F71D;ALCHEMICAL SYMBOL FOR IRON ORE-2;So;0;ON;;;;;N;;;;; +1F71E;ALCHEMICAL SYMBOL FOR CROCUS OF IRON;So;0;ON;;;;;N;;;;; +1F71F;ALCHEMICAL SYMBOL FOR REGULUS OF IRON;So;0;ON;;;;;N;;;;; +1F720;ALCHEMICAL SYMBOL FOR COPPER ORE;So;0;ON;;;;;N;;;;; +1F721;ALCHEMICAL SYMBOL FOR IRON-COPPER ORE;So;0;ON;;;;;N;;;;; +1F722;ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER;So;0;ON;;;;;N;;;;; +1F723;ALCHEMICAL SYMBOL FOR CROCUS OF COPPER;So;0;ON;;;;;N;;;;; +1F724;ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2;So;0;ON;;;;;N;;;;; +1F725;ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE;So;0;ON;;;;;N;;;;; +1F726;ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE;So;0;ON;;;;;N;;;;; +1F727;ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER;So;0;ON;;;;;N;;;;; +1F728;ALCHEMICAL SYMBOL FOR VERDIGRIS;So;0;ON;;;;;N;;;;; +1F729;ALCHEMICAL SYMBOL FOR TIN ORE;So;0;ON;;;;;N;;;;; +1F72A;ALCHEMICAL SYMBOL FOR LEAD ORE;So;0;ON;;;;;N;;;;; +1F72B;ALCHEMICAL SYMBOL FOR ANTIMONY ORE;So;0;ON;;;;;N;;;;; +1F72C;ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY;So;0;ON;;;;;N;;;;; +1F72D;ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY;So;0;ON;;;;;N;;;;; +1F72E;ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY;So;0;ON;;;;;N;;;;; +1F72F;ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY;So;0;ON;;;;;N;;;;; +1F730;ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY;So;0;ON;;;;;N;;;;; +1F731;ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2;So;0;ON;;;;;N;;;;; +1F732;ALCHEMICAL SYMBOL FOR REGULUS;So;0;ON;;;;;N;;;;; +1F733;ALCHEMICAL SYMBOL FOR REGULUS-2;So;0;ON;;;;;N;;;;; +1F734;ALCHEMICAL SYMBOL FOR REGULUS-3;So;0;ON;;;;;N;;;;; +1F735;ALCHEMICAL SYMBOL FOR REGULUS-4;So;0;ON;;;;;N;;;;; +1F736;ALCHEMICAL SYMBOL FOR ALKALI;So;0;ON;;;;;N;;;;; +1F737;ALCHEMICAL SYMBOL FOR ALKALI-2;So;0;ON;;;;;N;;;;; +1F738;ALCHEMICAL SYMBOL FOR MARCASITE;So;0;ON;;;;;N;;;;; +1F739;ALCHEMICAL SYMBOL FOR SAL-AMMONIAC;So;0;ON;;;;;N;;;;; +1F73A;ALCHEMICAL SYMBOL FOR ARSENIC;So;0;ON;;;;;N;;;;; +1F73B;ALCHEMICAL SYMBOL FOR REALGAR;So;0;ON;;;;;N;;;;; +1F73C;ALCHEMICAL SYMBOL FOR REALGAR-2;So;0;ON;;;;;N;;;;; +1F73D;ALCHEMICAL SYMBOL FOR AURIPIGMENT;So;0;ON;;;;;N;;;;; +1F73E;ALCHEMICAL SYMBOL FOR BISMUTH ORE;So;0;ON;;;;;N;;;;; +1F73F;ALCHEMICAL SYMBOL FOR TARTAR;So;0;ON;;;;;N;;;;; +1F740;ALCHEMICAL SYMBOL FOR TARTAR-2;So;0;ON;;;;;N;;;;; +1F741;ALCHEMICAL SYMBOL FOR QUICK LIME;So;0;ON;;;;;N;;;;; +1F742;ALCHEMICAL SYMBOL FOR BORAX;So;0;ON;;;;;N;;;;; +1F743;ALCHEMICAL SYMBOL FOR BORAX-2;So;0;ON;;;;;N;;;;; +1F744;ALCHEMICAL SYMBOL FOR BORAX-3;So;0;ON;;;;;N;;;;; +1F745;ALCHEMICAL SYMBOL FOR ALUM;So;0;ON;;;;;N;;;;; +1F746;ALCHEMICAL SYMBOL FOR OIL;So;0;ON;;;;;N;;;;; +1F747;ALCHEMICAL SYMBOL FOR SPIRIT;So;0;ON;;;;;N;;;;; +1F748;ALCHEMICAL SYMBOL FOR TINCTURE;So;0;ON;;;;;N;;;;; +1F749;ALCHEMICAL SYMBOL FOR GUM;So;0;ON;;;;;N;;;;; +1F74A;ALCHEMICAL SYMBOL FOR WAX;So;0;ON;;;;;N;;;;; +1F74B;ALCHEMICAL SYMBOL FOR POWDER;So;0;ON;;;;;N;;;;; +1F74C;ALCHEMICAL SYMBOL FOR CALX;So;0;ON;;;;;N;;;;; +1F74D;ALCHEMICAL SYMBOL FOR TUTTY;So;0;ON;;;;;N;;;;; +1F74E;ALCHEMICAL SYMBOL FOR CAPUT MORTUUM;So;0;ON;;;;;N;;;;; +1F74F;ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE;So;0;ON;;;;;N;;;;; +1F750;ALCHEMICAL SYMBOL FOR CADUCEUS;So;0;ON;;;;;N;;;;; +1F751;ALCHEMICAL SYMBOL FOR TRIDENT;So;0;ON;;;;;N;;;;; +1F752;ALCHEMICAL SYMBOL FOR STARRED TRIDENT;So;0;ON;;;;;N;;;;; +1F753;ALCHEMICAL SYMBOL FOR LODESTONE;So;0;ON;;;;;N;;;;; +1F754;ALCHEMICAL SYMBOL FOR SOAP;So;0;ON;;;;;N;;;;; +1F755;ALCHEMICAL SYMBOL FOR URINE;So;0;ON;;;;;N;;;;; +1F756;ALCHEMICAL SYMBOL FOR HORSE DUNG;So;0;ON;;;;;N;;;;; +1F757;ALCHEMICAL SYMBOL FOR ASHES;So;0;ON;;;;;N;;;;; +1F758;ALCHEMICAL SYMBOL FOR POT ASHES;So;0;ON;;;;;N;;;;; +1F759;ALCHEMICAL SYMBOL FOR BRICK;So;0;ON;;;;;N;;;;; +1F75A;ALCHEMICAL SYMBOL FOR POWDERED BRICK;So;0;ON;;;;;N;;;;; +1F75B;ALCHEMICAL SYMBOL FOR AMALGAM;So;0;ON;;;;;N;;;;; +1F75C;ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM;So;0;ON;;;;;N;;;;; +1F75D;ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2;So;0;ON;;;;;N;;;;; +1F75E;ALCHEMICAL SYMBOL FOR SUBLIMATION;So;0;ON;;;;;N;;;;; +1F75F;ALCHEMICAL SYMBOL FOR PRECIPITATE;So;0;ON;;;;;N;;;;; +1F760;ALCHEMICAL SYMBOL FOR DISTILL;So;0;ON;;;;;N;;;;; +1F761;ALCHEMICAL SYMBOL FOR DISSOLVE;So;0;ON;;;;;N;;;;; +1F762;ALCHEMICAL SYMBOL FOR DISSOLVE-2;So;0;ON;;;;;N;;;;; +1F763;ALCHEMICAL SYMBOL FOR PURIFY;So;0;ON;;;;;N;;;;; +1F764;ALCHEMICAL SYMBOL FOR PUTREFACTION;So;0;ON;;;;;N;;;;; +1F765;ALCHEMICAL SYMBOL FOR CRUCIBLE;So;0;ON;;;;;N;;;;; +1F766;ALCHEMICAL SYMBOL FOR CRUCIBLE-2;So;0;ON;;;;;N;;;;; +1F767;ALCHEMICAL SYMBOL FOR CRUCIBLE-3;So;0;ON;;;;;N;;;;; +1F768;ALCHEMICAL SYMBOL FOR CRUCIBLE-4;So;0;ON;;;;;N;;;;; +1F769;ALCHEMICAL SYMBOL FOR CRUCIBLE-5;So;0;ON;;;;;N;;;;; +1F76A;ALCHEMICAL SYMBOL FOR ALEMBIC;So;0;ON;;;;;N;;;;; +1F76B;ALCHEMICAL SYMBOL FOR BATH OF MARY;So;0;ON;;;;;N;;;;; +1F76C;ALCHEMICAL SYMBOL FOR BATH OF VAPOURS;So;0;ON;;;;;N;;;;; +1F76D;ALCHEMICAL SYMBOL FOR RETORT;So;0;ON;;;;;N;;;;; +1F76E;ALCHEMICAL SYMBOL FOR HOUR;So;0;ON;;;;;N;;;;; +1F76F;ALCHEMICAL SYMBOL FOR NIGHT;So;0;ON;;;;;N;;;;; +1F770;ALCHEMICAL SYMBOL FOR DAY-NIGHT;So;0;ON;;;;;N;;;;; +1F771;ALCHEMICAL SYMBOL FOR MONTH;So;0;ON;;;;;N;;;;; +1F772;ALCHEMICAL SYMBOL FOR HALF DRAM;So;0;ON;;;;;N;;;;; +1F773;ALCHEMICAL SYMBOL FOR HALF OUNCE;So;0;ON;;;;;N;;;;; +1F780;BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +1F781;BLACK UP-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +1F782;BLACK RIGHT-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +1F783;BLACK DOWN-POINTING ISOSCELES RIGHT TRIANGLE;So;0;ON;;;;;N;;;;; +1F784;BLACK SLIGHTLY SMALL CIRCLE;So;0;ON;;;;;N;;;;; +1F785;MEDIUM BOLD WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F786;BOLD WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F787;HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F788;VERY HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F789;EXTREMELY HEAVY WHITE CIRCLE;So;0;ON;;;;;N;;;;; +1F78A;WHITE CIRCLE CONTAINING BLACK SMALL CIRCLE;So;0;ON;;;;;N;;;;; +1F78B;ROUND TARGET;So;0;ON;;;;;N;;;;; +1F78C;BLACK TINY SQUARE;So;0;ON;;;;;N;;;;; +1F78D;BLACK SLIGHTLY SMALL SQUARE;So;0;ON;;;;;N;;;;; +1F78E;LIGHT WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F78F;MEDIUM WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F790;BOLD WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F791;HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F792;VERY HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F793;EXTREMELY HEAVY WHITE SQUARE;So;0;ON;;;;;N;;;;; +1F794;WHITE SQUARE CONTAINING BLACK VERY SMALL SQUARE;So;0;ON;;;;;N;;;;; +1F795;WHITE SQUARE CONTAINING BLACK MEDIUM SQUARE;So;0;ON;;;;;N;;;;; +1F796;SQUARE TARGET;So;0;ON;;;;;N;;;;; +1F797;BLACK TINY DIAMOND;So;0;ON;;;;;N;;;;; +1F798;BLACK VERY SMALL DIAMOND;So;0;ON;;;;;N;;;;; +1F799;BLACK MEDIUM SMALL DIAMOND;So;0;ON;;;;;N;;;;; +1F79A;WHITE DIAMOND CONTAINING BLACK VERY SMALL DIAMOND;So;0;ON;;;;;N;;;;; +1F79B;WHITE DIAMOND CONTAINING BLACK MEDIUM DIAMOND;So;0;ON;;;;;N;;;;; +1F79C;DIAMOND TARGET;So;0;ON;;;;;N;;;;; +1F79D;BLACK TINY LOZENGE;So;0;ON;;;;;N;;;;; +1F79E;BLACK VERY SMALL LOZENGE;So;0;ON;;;;;N;;;;; +1F79F;BLACK MEDIUM SMALL LOZENGE;So;0;ON;;;;;N;;;;; +1F7A0;WHITE LOZENGE CONTAINING BLACK SMALL LOZENGE;So;0;ON;;;;;N;;;;; +1F7A1;THIN GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A2;LIGHT GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A3;MEDIUM GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A4;BOLD GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A5;VERY BOLD GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A6;VERY HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A7;EXTREMELY HEAVY GREEK CROSS;So;0;ON;;;;;N;;;;; +1F7A8;THIN SALTIRE;So;0;ON;;;;;N;;;;; +1F7A9;LIGHT SALTIRE;So;0;ON;;;;;N;;;;; +1F7AA;MEDIUM SALTIRE;So;0;ON;;;;;N;;;;; +1F7AB;BOLD SALTIRE;So;0;ON;;;;;N;;;;; +1F7AC;HEAVY SALTIRE;So;0;ON;;;;;N;;;;; +1F7AD;VERY HEAVY SALTIRE;So;0;ON;;;;;N;;;;; +1F7AE;EXTREMELY HEAVY SALTIRE;So;0;ON;;;;;N;;;;; +1F7AF;LIGHT FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B0;MEDIUM FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B1;BOLD FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B2;HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B3;VERY HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B4;EXTREMELY HEAVY FIVE SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B5;LIGHT SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B6;MEDIUM SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B7;BOLD SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B8;HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7B9;VERY HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BA;EXTREMELY HEAVY SIX SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BB;LIGHT EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BC;MEDIUM EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BD;BOLD EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BE;HEAVY EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7BF;VERY HEAVY EIGHT SPOKED ASTERISK;So;0;ON;;;;;N;;;;; +1F7C0;LIGHT THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C1;MEDIUM THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C2;THREE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C3;MEDIUM THREE POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7C4;LIGHT FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C5;MEDIUM FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C6;FOUR POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7C7;MEDIUM FOUR POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7C8;REVERSE LIGHT FOUR POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7C9;LIGHT FIVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7CA;HEAVY FIVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7CB;MEDIUM SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7CC;HEAVY SIX POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7CD;SIX POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7CE;MEDIUM EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7CF;HEAVY EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7D0;VERY HEAVY EIGHT POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7D1;HEAVY EIGHT POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7D2;LIGHT TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7D3;HEAVY TWELVE POINTED BLACK STAR;So;0;ON;;;;;N;;;;; +1F7D4;HEAVY TWELVE POINTED PINWHEEL STAR;So;0;ON;;;;;N;;;;; +1F7D5;CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;; +1F7D6;NEGATIVE CIRCLED TRIANGLE;So;0;ON;;;;;N;;;;; +1F7D7;CIRCLED SQUARE;So;0;ON;;;;;N;;;;; +1F7D8;NEGATIVE CIRCLED SQUARE;So;0;ON;;;;;N;;;;; +1F7E0;LARGE ORANGE CIRCLE;So;0;ON;;;;;N;;;;; +1F7E1;LARGE YELLOW CIRCLE;So;0;ON;;;;;N;;;;; +1F7E2;LARGE GREEN CIRCLE;So;0;ON;;;;;N;;;;; +1F7E3;LARGE PURPLE CIRCLE;So;0;ON;;;;;N;;;;; +1F7E4;LARGE BROWN CIRCLE;So;0;ON;;;;;N;;;;; +1F7E5;LARGE RED SQUARE;So;0;ON;;;;;N;;;;; +1F7E6;LARGE BLUE SQUARE;So;0;ON;;;;;N;;;;; +1F7E7;LARGE ORANGE SQUARE;So;0;ON;;;;;N;;;;; +1F7E8;LARGE YELLOW SQUARE;So;0;ON;;;;;N;;;;; +1F7E9;LARGE GREEN SQUARE;So;0;ON;;;;;N;;;;; +1F7EA;LARGE PURPLE SQUARE;So;0;ON;;;;;N;;;;; +1F7EB;LARGE BROWN SQUARE;So;0;ON;;;;;N;;;;; +1F800;LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F801;UPWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F802;RIGHTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F803;DOWNWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F804;LEFTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F805;UPWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F806;RIGHTWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F807;DOWNWARDS ARROW WITH MEDIUM TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F808;LEFTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F809;UPWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F80A;RIGHTWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F80B;DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F810;LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F811;UPWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F812;RIGHTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F813;DOWNWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F814;LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F815;UPWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F816;RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F817;DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F818;HEAVY LEFTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F819;HEAVY UPWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81A;HEAVY RIGHTWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81B;HEAVY DOWNWARDS ARROW WITH EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81C;HEAVY LEFTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81D;HEAVY UPWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81E;HEAVY RIGHTWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F81F;HEAVY DOWNWARDS ARROW WITH LARGE EQUILATERAL ARROWHEAD;So;0;ON;;;;;N;;;;; +1F820;LEFTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;; +1F821;UPWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;; +1F822;RIGHTWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;; +1F823;DOWNWARDS TRIANGLE-HEADED ARROW WITH NARROW SHAFT;So;0;ON;;;;;N;;;;; +1F824;LEFTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;; +1F825;UPWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;; +1F826;RIGHTWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;; +1F827;DOWNWARDS TRIANGLE-HEADED ARROW WITH MEDIUM SHAFT;So;0;ON;;;;;N;;;;; +1F828;LEFTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;; +1F829;UPWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;; +1F82A;RIGHTWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;; +1F82B;DOWNWARDS TRIANGLE-HEADED ARROW WITH BOLD SHAFT;So;0;ON;;;;;N;;;;; +1F82C;LEFTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F82D;UPWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F82E;RIGHTWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F82F;DOWNWARDS TRIANGLE-HEADED ARROW WITH HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F830;LEFTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F831;UPWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F832;RIGHTWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F833;DOWNWARDS TRIANGLE-HEADED ARROW WITH VERY HEAVY SHAFT;So;0;ON;;;;;N;;;;; +1F834;LEFTWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;; +1F835;UPWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;; +1F836;RIGHTWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;; +1F837;DOWNWARDS FINGER-POST ARROW;So;0;ON;;;;;N;;;;; +1F838;LEFTWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;; +1F839;UPWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;; +1F83A;RIGHTWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;; +1F83B;DOWNWARDS SQUARED ARROW;So;0;ON;;;;;N;;;;; +1F83C;LEFTWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F83D;UPWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F83E;RIGHTWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F83F;DOWNWARDS COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F840;LEFTWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F841;UPWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F842;RIGHTWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F843;DOWNWARDS HEAVY COMPRESSED ARROW;So;0;ON;;;;;N;;;;; +1F844;LEFTWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;; +1F845;UPWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;; +1F846;RIGHTWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;; +1F847;DOWNWARDS HEAVY ARROW;So;0;ON;;;;;N;;;;; +1F850;LEFTWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F851;UPWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F852;RIGHTWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F853;DOWNWARDS SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F854;NORTH WEST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F855;NORTH EAST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F856;SOUTH EAST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F857;SOUTH WEST SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F858;LEFT RIGHT SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F859;UP DOWN SANS-SERIF ARROW;So;0;ON;;;;;N;;;;; +1F860;WIDE-HEADED LEFTWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F861;WIDE-HEADED UPWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F862;WIDE-HEADED RIGHTWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F863;WIDE-HEADED DOWNWARDS LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F864;WIDE-HEADED NORTH WEST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F865;WIDE-HEADED NORTH EAST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F866;WIDE-HEADED SOUTH EAST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F867;WIDE-HEADED SOUTH WEST LIGHT BARB ARROW;So;0;ON;;;;;N;;;;; +1F868;WIDE-HEADED LEFTWARDS BARB ARROW;So;0;ON;;;;;N;;;;; +1F869;WIDE-HEADED UPWARDS BARB ARROW;So;0;ON;;;;;N;;;;; +1F86A;WIDE-HEADED RIGHTWARDS BARB ARROW;So;0;ON;;;;;N;;;;; +1F86B;WIDE-HEADED DOWNWARDS BARB ARROW;So;0;ON;;;;;N;;;;; +1F86C;WIDE-HEADED NORTH WEST BARB ARROW;So;0;ON;;;;;N;;;;; +1F86D;WIDE-HEADED NORTH EAST BARB ARROW;So;0;ON;;;;;N;;;;; +1F86E;WIDE-HEADED SOUTH EAST BARB ARROW;So;0;ON;;;;;N;;;;; +1F86F;WIDE-HEADED SOUTH WEST BARB ARROW;So;0;ON;;;;;N;;;;; +1F870;WIDE-HEADED LEFTWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F871;WIDE-HEADED UPWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F872;WIDE-HEADED RIGHTWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F873;WIDE-HEADED DOWNWARDS MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F874;WIDE-HEADED NORTH WEST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F875;WIDE-HEADED NORTH EAST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F876;WIDE-HEADED SOUTH EAST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F877;WIDE-HEADED SOUTH WEST MEDIUM BARB ARROW;So;0;ON;;;;;N;;;;; +1F878;WIDE-HEADED LEFTWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F879;WIDE-HEADED UPWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87A;WIDE-HEADED RIGHTWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87B;WIDE-HEADED DOWNWARDS HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87C;WIDE-HEADED NORTH WEST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87D;WIDE-HEADED NORTH EAST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87E;WIDE-HEADED SOUTH EAST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F87F;WIDE-HEADED SOUTH WEST HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F880;WIDE-HEADED LEFTWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F881;WIDE-HEADED UPWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F882;WIDE-HEADED RIGHTWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F883;WIDE-HEADED DOWNWARDS VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F884;WIDE-HEADED NORTH WEST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F885;WIDE-HEADED NORTH EAST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F886;WIDE-HEADED SOUTH EAST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F887;WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW;So;0;ON;;;;;N;;;;; +1F890;LEFTWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F891;UPWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F892;RIGHTWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F893;DOWNWARDS TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F894;LEFTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F895;UPWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F896;RIGHTWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F897;DOWNWARDS WHITE ARROW WITHIN TRIANGLE ARROWHEAD;So;0;ON;;;;;N;;;;; +1F898;LEFTWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;; +1F899;UPWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;; +1F89A;RIGHTWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;; +1F89B;DOWNWARDS ARROW WITH NOTCHED TAIL;So;0;ON;;;;;N;;;;; +1F89C;HEAVY ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;; +1F89D;HEAVY ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;; +1F89E;HEAVY ARROW SHAFT WIDTH ONE HALF;So;0;ON;;;;;N;;;;; +1F89F;HEAVY ARROW SHAFT WIDTH ONE THIRD;So;0;ON;;;;;N;;;;; +1F8A0;LEFTWARDS BOTTOM-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A1;RIGHTWARDS BOTTOM SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A2;LEFTWARDS TOP SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A3;RIGHTWARDS TOP SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A4;LEFTWARDS LEFT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A5;RIGHTWARDS RIGHT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A6;LEFTWARDS RIGHT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A7;RIGHTWARDS LEFT-SHADED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A8;LEFTWARDS BACK-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8A9;RIGHTWARDS BACK-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8AA;LEFTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8AB;RIGHTWARDS FRONT-TILTED SHADOWED WHITE ARROW;So;0;ON;;;;;N;;;;; +1F8AC;WHITE ARROW SHAFT WIDTH ONE;So;0;ON;;;;;N;;;;; +1F8AD;WHITE ARROW SHAFT WIDTH TWO THIRDS;So;0;ON;;;;;N;;;;; +1F8B0;ARROW POINTING UPWARDS THEN NORTH WEST;So;0;ON;;;;;N;;;;; +1F8B1;ARROW POINTING RIGHTWARDS THEN CURVING SOUTH WEST;So;0;ON;;;;;N;;;;; +1F900;CIRCLED CROSS FORMEE WITH FOUR DOTS;So;0;ON;;;;;N;;;;; +1F901;CIRCLED CROSS FORMEE WITH TWO DOTS;So;0;ON;;;;;N;;;;; +1F902;CIRCLED CROSS FORMEE;So;0;ON;;;;;N;;;;; +1F903;LEFT HALF CIRCLE WITH FOUR DOTS;So;0;ON;;;;;N;;;;; +1F904;LEFT HALF CIRCLE WITH THREE DOTS;So;0;ON;;;;;N;;;;; +1F905;LEFT HALF CIRCLE WITH TWO DOTS;So;0;ON;;;;;N;;;;; +1F906;LEFT HALF CIRCLE WITH DOT;So;0;ON;;;;;N;;;;; +1F907;LEFT HALF CIRCLE;So;0;ON;;;;;N;;;;; +1F908;DOWNWARD FACING HOOK;So;0;ON;;;;;N;;;;; +1F909;DOWNWARD FACING NOTCHED HOOK;So;0;ON;;;;;N;;;;; +1F90A;DOWNWARD FACING HOOK WITH DOT;So;0;ON;;;;;N;;;;; +1F90B;DOWNWARD FACING NOTCHED HOOK WITH DOT;So;0;ON;;;;;N;;;;; +1F90C;PINCHED FINGERS;So;0;ON;;;;;N;;;;; +1F90D;WHITE HEART;So;0;ON;;;;;N;;;;; +1F90E;BROWN HEART;So;0;ON;;;;;N;;;;; +1F90F;PINCHING HAND;So;0;ON;;;;;N;;;;; +1F910;ZIPPER-MOUTH FACE;So;0;ON;;;;;N;;;;; +1F911;MONEY-MOUTH FACE;So;0;ON;;;;;N;;;;; +1F912;FACE WITH THERMOMETER;So;0;ON;;;;;N;;;;; +1F913;NERD FACE;So;0;ON;;;;;N;;;;; +1F914;THINKING FACE;So;0;ON;;;;;N;;;;; +1F915;FACE WITH HEAD-BANDAGE;So;0;ON;;;;;N;;;;; +1F916;ROBOT FACE;So;0;ON;;;;;N;;;;; +1F917;HUGGING FACE;So;0;ON;;;;;N;;;;; +1F918;SIGN OF THE HORNS;So;0;ON;;;;;N;;;;; +1F919;CALL ME HAND;So;0;ON;;;;;N;;;;; +1F91A;RAISED BACK OF HAND;So;0;ON;;;;;N;;;;; +1F91B;LEFT-FACING FIST;So;0;ON;;;;;N;;;;; +1F91C;RIGHT-FACING FIST;So;0;ON;;;;;N;;;;; +1F91D;HANDSHAKE;So;0;ON;;;;;N;;;;; +1F91E;HAND WITH INDEX AND MIDDLE FINGERS CROSSED;So;0;ON;;;;;N;;;;; +1F91F;I LOVE YOU HAND SIGN;So;0;ON;;;;;N;;;;; +1F920;FACE WITH COWBOY HAT;So;0;ON;;;;;N;;;;; +1F921;CLOWN FACE;So;0;ON;;;;;N;;;;; +1F922;NAUSEATED FACE;So;0;ON;;;;;N;;;;; +1F923;ROLLING ON THE FLOOR LAUGHING;So;0;ON;;;;;N;;;;; +1F924;DROOLING FACE;So;0;ON;;;;;N;;;;; +1F925;LYING FACE;So;0;ON;;;;;N;;;;; +1F926;FACE PALM;So;0;ON;;;;;N;;;;; +1F927;SNEEZING FACE;So;0;ON;;;;;N;;;;; +1F928;FACE WITH ONE EYEBROW RAISED;So;0;ON;;;;;N;;;;; +1F929;GRINNING FACE WITH STAR EYES;So;0;ON;;;;;N;;;;; +1F92A;GRINNING FACE WITH ONE LARGE AND ONE SMALL EYE;So;0;ON;;;;;N;;;;; +1F92B;FACE WITH FINGER COVERING CLOSED LIPS;So;0;ON;;;;;N;;;;; +1F92C;SERIOUS FACE WITH SYMBOLS COVERING MOUTH;So;0;ON;;;;;N;;;;; +1F92D;SMILING FACE WITH SMILING EYES AND HAND COVERING MOUTH;So;0;ON;;;;;N;;;;; +1F92E;FACE WITH OPEN MOUTH VOMITING;So;0;ON;;;;;N;;;;; +1F92F;SHOCKED FACE WITH EXPLODING HEAD;So;0;ON;;;;;N;;;;; +1F930;PREGNANT WOMAN;So;0;ON;;;;;N;;;;; +1F931;BREAST-FEEDING;So;0;ON;;;;;N;;;;; +1F932;PALMS UP TOGETHER;So;0;ON;;;;;N;;;;; +1F933;SELFIE;So;0;ON;;;;;N;;;;; +1F934;PRINCE;So;0;ON;;;;;N;;;;; +1F935;MAN IN TUXEDO;So;0;ON;;;;;N;;;;; +1F936;MOTHER CHRISTMAS;So;0;ON;;;;;N;;;;; +1F937;SHRUG;So;0;ON;;;;;N;;;;; +1F938;PERSON DOING CARTWHEEL;So;0;ON;;;;;N;;;;; +1F939;JUGGLING;So;0;ON;;;;;N;;;;; +1F93A;FENCER;So;0;ON;;;;;N;;;;; +1F93B;MODERN PENTATHLON;So;0;ON;;;;;N;;;;; +1F93C;WRESTLERS;So;0;ON;;;;;N;;;;; +1F93D;WATER POLO;So;0;ON;;;;;N;;;;; +1F93E;HANDBALL;So;0;ON;;;;;N;;;;; +1F93F;DIVING MASK;So;0;ON;;;;;N;;;;; +1F940;WILTED FLOWER;So;0;ON;;;;;N;;;;; +1F941;DRUM WITH DRUMSTICKS;So;0;ON;;;;;N;;;;; +1F942;CLINKING GLASSES;So;0;ON;;;;;N;;;;; +1F943;TUMBLER GLASS;So;0;ON;;;;;N;;;;; +1F944;SPOON;So;0;ON;;;;;N;;;;; +1F945;GOAL NET;So;0;ON;;;;;N;;;;; +1F946;RIFLE;So;0;ON;;;;;N;;;;; +1F947;FIRST PLACE MEDAL;So;0;ON;;;;;N;;;;; +1F948;SECOND PLACE MEDAL;So;0;ON;;;;;N;;;;; +1F949;THIRD PLACE MEDAL;So;0;ON;;;;;N;;;;; +1F94A;BOXING GLOVE;So;0;ON;;;;;N;;;;; +1F94B;MARTIAL ARTS UNIFORM;So;0;ON;;;;;N;;;;; +1F94C;CURLING STONE;So;0;ON;;;;;N;;;;; +1F94D;LACROSSE STICK AND BALL;So;0;ON;;;;;N;;;;; +1F94E;SOFTBALL;So;0;ON;;;;;N;;;;; +1F94F;FLYING DISC;So;0;ON;;;;;N;;;;; +1F950;CROISSANT;So;0;ON;;;;;N;;;;; +1F951;AVOCADO;So;0;ON;;;;;N;;;;; +1F952;CUCUMBER;So;0;ON;;;;;N;;;;; +1F953;BACON;So;0;ON;;;;;N;;;;; +1F954;POTATO;So;0;ON;;;;;N;;;;; +1F955;CARROT;So;0;ON;;;;;N;;;;; +1F956;BAGUETTE BREAD;So;0;ON;;;;;N;;;;; +1F957;GREEN SALAD;So;0;ON;;;;;N;;;;; +1F958;SHALLOW PAN OF FOOD;So;0;ON;;;;;N;;;;; +1F959;STUFFED FLATBREAD;So;0;ON;;;;;N;;;;; +1F95A;EGG;So;0;ON;;;;;N;;;;; +1F95B;GLASS OF MILK;So;0;ON;;;;;N;;;;; +1F95C;PEANUTS;So;0;ON;;;;;N;;;;; +1F95D;KIWIFRUIT;So;0;ON;;;;;N;;;;; +1F95E;PANCAKES;So;0;ON;;;;;N;;;;; +1F95F;DUMPLING;So;0;ON;;;;;N;;;;; +1F960;FORTUNE COOKIE;So;0;ON;;;;;N;;;;; +1F961;TAKEOUT BOX;So;0;ON;;;;;N;;;;; +1F962;CHOPSTICKS;So;0;ON;;;;;N;;;;; +1F963;BOWL WITH SPOON;So;0;ON;;;;;N;;;;; +1F964;CUP WITH STRAW;So;0;ON;;;;;N;;;;; +1F965;COCONUT;So;0;ON;;;;;N;;;;; +1F966;BROCCOLI;So;0;ON;;;;;N;;;;; +1F967;PIE;So;0;ON;;;;;N;;;;; +1F968;PRETZEL;So;0;ON;;;;;N;;;;; +1F969;CUT OF MEAT;So;0;ON;;;;;N;;;;; +1F96A;SANDWICH;So;0;ON;;;;;N;;;;; +1F96B;CANNED FOOD;So;0;ON;;;;;N;;;;; +1F96C;LEAFY GREEN;So;0;ON;;;;;N;;;;; +1F96D;MANGO;So;0;ON;;;;;N;;;;; +1F96E;MOON CAKE;So;0;ON;;;;;N;;;;; +1F96F;BAGEL;So;0;ON;;;;;N;;;;; +1F970;SMILING FACE WITH SMILING EYES AND THREE HEARTS;So;0;ON;;;;;N;;;;; +1F971;YAWNING FACE;So;0;ON;;;;;N;;;;; +1F972;SMILING FACE WITH TEAR;So;0;ON;;;;;N;;;;; +1F973;FACE WITH PARTY HORN AND PARTY HAT;So;0;ON;;;;;N;;;;; +1F974;FACE WITH UNEVEN EYES AND WAVY MOUTH;So;0;ON;;;;;N;;;;; +1F975;OVERHEATED FACE;So;0;ON;;;;;N;;;;; +1F976;FREEZING FACE;So;0;ON;;;;;N;;;;; +1F977;NINJA;So;0;ON;;;;;N;;;;; +1F978;DISGUISED FACE;So;0;ON;;;;;N;;;;; +1F97A;FACE WITH PLEADING EYES;So;0;ON;;;;;N;;;;; +1F97B;SARI;So;0;ON;;;;;N;;;;; +1F97C;LAB COAT;So;0;ON;;;;;N;;;;; +1F97D;GOGGLES;So;0;ON;;;;;N;;;;; +1F97E;HIKING BOOT;So;0;ON;;;;;N;;;;; +1F97F;FLAT SHOE;So;0;ON;;;;;N;;;;; +1F980;CRAB;So;0;ON;;;;;N;;;;; +1F981;LION FACE;So;0;ON;;;;;N;;;;; +1F982;SCORPION;So;0;ON;;;;;N;;;;; +1F983;TURKEY;So;0;ON;;;;;N;;;;; +1F984;UNICORN FACE;So;0;ON;;;;;N;;;;; +1F985;EAGLE;So;0;ON;;;;;N;;;;; +1F986;DUCK;So;0;ON;;;;;N;;;;; +1F987;BAT;So;0;ON;;;;;N;;;;; +1F988;SHARK;So;0;ON;;;;;N;;;;; +1F989;OWL;So;0;ON;;;;;N;;;;; +1F98A;FOX FACE;So;0;ON;;;;;N;;;;; +1F98B;BUTTERFLY;So;0;ON;;;;;N;;;;; +1F98C;DEER;So;0;ON;;;;;N;;;;; +1F98D;GORILLA;So;0;ON;;;;;N;;;;; +1F98E;LIZARD;So;0;ON;;;;;N;;;;; +1F98F;RHINOCEROS;So;0;ON;;;;;N;;;;; +1F990;SHRIMP;So;0;ON;;;;;N;;;;; +1F991;SQUID;So;0;ON;;;;;N;;;;; +1F992;GIRAFFE FACE;So;0;ON;;;;;N;;;;; +1F993;ZEBRA FACE;So;0;ON;;;;;N;;;;; +1F994;HEDGEHOG;So;0;ON;;;;;N;;;;; +1F995;SAUROPOD;So;0;ON;;;;;N;;;;; +1F996;T-REX;So;0;ON;;;;;N;;;;; +1F997;CRICKET;So;0;ON;;;;;N;;;;; +1F998;KANGAROO;So;0;ON;;;;;N;;;;; +1F999;LLAMA;So;0;ON;;;;;N;;;;; +1F99A;PEACOCK;So;0;ON;;;;;N;;;;; +1F99B;HIPPOPOTAMUS;So;0;ON;;;;;N;;;;; +1F99C;PARROT;So;0;ON;;;;;N;;;;; +1F99D;RACCOON;So;0;ON;;;;;N;;;;; +1F99E;LOBSTER;So;0;ON;;;;;N;;;;; +1F99F;MOSQUITO;So;0;ON;;;;;N;;;;; +1F9A0;MICROBE;So;0;ON;;;;;N;;;;; +1F9A1;BADGER;So;0;ON;;;;;N;;;;; +1F9A2;SWAN;So;0;ON;;;;;N;;;;; +1F9A3;MAMMOTH;So;0;ON;;;;;N;;;;; +1F9A4;DODO;So;0;ON;;;;;N;;;;; +1F9A5;SLOTH;So;0;ON;;;;;N;;;;; +1F9A6;OTTER;So;0;ON;;;;;N;;;;; +1F9A7;ORANGUTAN;So;0;ON;;;;;N;;;;; +1F9A8;SKUNK;So;0;ON;;;;;N;;;;; +1F9A9;FLAMINGO;So;0;ON;;;;;N;;;;; +1F9AA;OYSTER;So;0;ON;;;;;N;;;;; +1F9AB;BEAVER;So;0;ON;;;;;N;;;;; +1F9AC;BISON;So;0;ON;;;;;N;;;;; +1F9AD;SEAL;So;0;ON;;;;;N;;;;; +1F9AE;GUIDE DOG;So;0;ON;;;;;N;;;;; +1F9AF;PROBING CANE;So;0;ON;;;;;N;;;;; +1F9B0;EMOJI COMPONENT RED HAIR;So;0;ON;;;;;N;;;;; +1F9B1;EMOJI COMPONENT CURLY HAIR;So;0;ON;;;;;N;;;;; +1F9B2;EMOJI COMPONENT BALD;So;0;ON;;;;;N;;;;; +1F9B3;EMOJI COMPONENT WHITE HAIR;So;0;ON;;;;;N;;;;; +1F9B4;BONE;So;0;ON;;;;;N;;;;; +1F9B5;LEG;So;0;ON;;;;;N;;;;; +1F9B6;FOOT;So;0;ON;;;;;N;;;;; +1F9B7;TOOTH;So;0;ON;;;;;N;;;;; +1F9B8;SUPERHERO;So;0;ON;;;;;N;;;;; +1F9B9;SUPERVILLAIN;So;0;ON;;;;;N;;;;; +1F9BA;SAFETY VEST;So;0;ON;;;;;N;;;;; +1F9BB;EAR WITH HEARING AID;So;0;ON;;;;;N;;;;; +1F9BC;MOTORIZED WHEELCHAIR;So;0;ON;;;;;N;;;;; +1F9BD;MANUAL WHEELCHAIR;So;0;ON;;;;;N;;;;; +1F9BE;MECHANICAL ARM;So;0;ON;;;;;N;;;;; +1F9BF;MECHANICAL LEG;So;0;ON;;;;;N;;;;; +1F9C0;CHEESE WEDGE;So;0;ON;;;;;N;;;;; +1F9C1;CUPCAKE;So;0;ON;;;;;N;;;;; +1F9C2;SALT SHAKER;So;0;ON;;;;;N;;;;; +1F9C3;BEVERAGE BOX;So;0;ON;;;;;N;;;;; +1F9C4;GARLIC;So;0;ON;;;;;N;;;;; +1F9C5;ONION;So;0;ON;;;;;N;;;;; +1F9C6;FALAFEL;So;0;ON;;;;;N;;;;; +1F9C7;WAFFLE;So;0;ON;;;;;N;;;;; +1F9C8;BUTTER;So;0;ON;;;;;N;;;;; +1F9C9;MATE DRINK;So;0;ON;;;;;N;;;;; +1F9CA;ICE CUBE;So;0;ON;;;;;N;;;;; +1F9CB;BUBBLE TEA;So;0;ON;;;;;N;;;;; +1F9CD;STANDING PERSON;So;0;ON;;;;;N;;;;; +1F9CE;KNEELING PERSON;So;0;ON;;;;;N;;;;; +1F9CF;DEAF PERSON;So;0;ON;;;;;N;;;;; +1F9D0;FACE WITH MONOCLE;So;0;ON;;;;;N;;;;; +1F9D1;ADULT;So;0;ON;;;;;N;;;;; +1F9D2;CHILD;So;0;ON;;;;;N;;;;; +1F9D3;OLDER ADULT;So;0;ON;;;;;N;;;;; +1F9D4;BEARDED PERSON;So;0;ON;;;;;N;;;;; +1F9D5;PERSON WITH HEADSCARF;So;0;ON;;;;;N;;;;; +1F9D6;PERSON IN STEAMY ROOM;So;0;ON;;;;;N;;;;; +1F9D7;PERSON CLIMBING;So;0;ON;;;;;N;;;;; +1F9D8;PERSON IN LOTUS POSITION;So;0;ON;;;;;N;;;;; +1F9D9;MAGE;So;0;ON;;;;;N;;;;; +1F9DA;FAIRY;So;0;ON;;;;;N;;;;; +1F9DB;VAMPIRE;So;0;ON;;;;;N;;;;; +1F9DC;MERPERSON;So;0;ON;;;;;N;;;;; +1F9DD;ELF;So;0;ON;;;;;N;;;;; +1F9DE;GENIE;So;0;ON;;;;;N;;;;; +1F9DF;ZOMBIE;So;0;ON;;;;;N;;;;; +1F9E0;BRAIN;So;0;ON;;;;;N;;;;; +1F9E1;ORANGE HEART;So;0;ON;;;;;N;;;;; +1F9E2;BILLED CAP;So;0;ON;;;;;N;;;;; +1F9E3;SCARF;So;0;ON;;;;;N;;;;; +1F9E4;GLOVES;So;0;ON;;;;;N;;;;; +1F9E5;COAT;So;0;ON;;;;;N;;;;; +1F9E6;SOCKS;So;0;ON;;;;;N;;;;; +1F9E7;RED GIFT ENVELOPE;So;0;ON;;;;;N;;;;; +1F9E8;FIRECRACKER;So;0;ON;;;;;N;;;;; +1F9E9;JIGSAW PUZZLE PIECE;So;0;ON;;;;;N;;;;; +1F9EA;TEST TUBE;So;0;ON;;;;;N;;;;; +1F9EB;PETRI DISH;So;0;ON;;;;;N;;;;; +1F9EC;DNA DOUBLE HELIX;So;0;ON;;;;;N;;;;; +1F9ED;COMPASS;So;0;ON;;;;;N;;;;; +1F9EE;ABACUS;So;0;ON;;;;;N;;;;; +1F9EF;FIRE EXTINGUISHER;So;0;ON;;;;;N;;;;; +1F9F0;TOOLBOX;So;0;ON;;;;;N;;;;; +1F9F1;BRICK;So;0;ON;;;;;N;;;;; +1F9F2;MAGNET;So;0;ON;;;;;N;;;;; +1F9F3;LUGGAGE;So;0;ON;;;;;N;;;;; +1F9F4;LOTION BOTTLE;So;0;ON;;;;;N;;;;; +1F9F5;SPOOL OF THREAD;So;0;ON;;;;;N;;;;; +1F9F6;BALL OF YARN;So;0;ON;;;;;N;;;;; +1F9F7;SAFETY PIN;So;0;ON;;;;;N;;;;; +1F9F8;TEDDY BEAR;So;0;ON;;;;;N;;;;; +1F9F9;BROOM;So;0;ON;;;;;N;;;;; +1F9FA;BASKET;So;0;ON;;;;;N;;;;; +1F9FB;ROLL OF PAPER;So;0;ON;;;;;N;;;;; +1F9FC;BAR OF SOAP;So;0;ON;;;;;N;;;;; +1F9FD;SPONGE;So;0;ON;;;;;N;;;;; +1F9FE;RECEIPT;So;0;ON;;;;;N;;;;; +1F9FF;NAZAR AMULET;So;0;ON;;;;;N;;;;; +1FA00;NEUTRAL CHESS KING;So;0;ON;;;;;N;;;;; +1FA01;NEUTRAL CHESS QUEEN;So;0;ON;;;;;N;;;;; +1FA02;NEUTRAL CHESS ROOK;So;0;ON;;;;;N;;;;; +1FA03;NEUTRAL CHESS BISHOP;So;0;ON;;;;;N;;;;; +1FA04;NEUTRAL CHESS KNIGHT;So;0;ON;;;;;N;;;;; +1FA05;NEUTRAL CHESS PAWN;So;0;ON;;;;;N;;;;; +1FA06;WHITE CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA07;BLACK CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA08;NEUTRAL CHESS KNIGHT ROTATED FORTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA09;WHITE CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0A;WHITE CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0B;WHITE CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0C;WHITE CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0D;WHITE CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0E;WHITE CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA0F;BLACK CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA10;BLACK CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA11;BLACK CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA12;BLACK CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA13;BLACK CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA14;BLACK CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA15;NEUTRAL CHESS KING ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA16;NEUTRAL CHESS QUEEN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA17;NEUTRAL CHESS ROOK ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA18;NEUTRAL CHESS BISHOP ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA19;NEUTRAL CHESS KNIGHT ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA1A;NEUTRAL CHESS PAWN ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA1B;WHITE CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA1C;BLACK CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA1D;NEUTRAL CHESS KNIGHT ROTATED ONE HUNDRED THIRTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA1E;WHITE CHESS TURNED KING;So;0;ON;;;;;N;;;;; +1FA1F;WHITE CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;; +1FA20;WHITE CHESS TURNED ROOK;So;0;ON;;;;;N;;;;; +1FA21;WHITE CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;; +1FA22;WHITE CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;; +1FA23;WHITE CHESS TURNED PAWN;So;0;ON;;;;;N;;;;; +1FA24;BLACK CHESS TURNED KING;So;0;ON;;;;;N;;;;; +1FA25;BLACK CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;; +1FA26;BLACK CHESS TURNED ROOK;So;0;ON;;;;;N;;;;; +1FA27;BLACK CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;; +1FA28;BLACK CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;; +1FA29;BLACK CHESS TURNED PAWN;So;0;ON;;;;;N;;;;; +1FA2A;NEUTRAL CHESS TURNED KING;So;0;ON;;;;;N;;;;; +1FA2B;NEUTRAL CHESS TURNED QUEEN;So;0;ON;;;;;N;;;;; +1FA2C;NEUTRAL CHESS TURNED ROOK;So;0;ON;;;;;N;;;;; +1FA2D;NEUTRAL CHESS TURNED BISHOP;So;0;ON;;;;;N;;;;; +1FA2E;NEUTRAL CHESS TURNED KNIGHT;So;0;ON;;;;;N;;;;; +1FA2F;NEUTRAL CHESS TURNED PAWN;So;0;ON;;;;;N;;;;; +1FA30;WHITE CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA31;BLACK CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA32;NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED TWENTY-FIVE DEGREES;So;0;ON;;;;;N;;;;; +1FA33;WHITE CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA34;WHITE CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA35;WHITE CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA36;WHITE CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA37;WHITE CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA38;WHITE CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA39;BLACK CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3A;BLACK CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3B;BLACK CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3C;BLACK CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3D;BLACK CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3E;BLACK CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA3F;NEUTRAL CHESS KING ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA40;NEUTRAL CHESS QUEEN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA41;NEUTRAL CHESS ROOK ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA42;NEUTRAL CHESS BISHOP ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA43;NEUTRAL CHESS KNIGHT ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA44;NEUTRAL CHESS PAWN ROTATED TWO HUNDRED SEVENTY DEGREES;So;0;ON;;;;;N;;;;; +1FA45;WHITE CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;; +1FA46;BLACK CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;; +1FA47;NEUTRAL CHESS KNIGHT ROTATED THREE HUNDRED FIFTEEN DEGREES;So;0;ON;;;;;N;;;;; +1FA48;WHITE CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;; +1FA49;BLACK CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;; +1FA4A;NEUTRAL CHESS EQUIHOPPER;So;0;ON;;;;;N;;;;; +1FA4B;WHITE CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA4C;BLACK CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA4D;NEUTRAL CHESS EQUIHOPPER ROTATED NINETY DEGREES;So;0;ON;;;;;N;;;;; +1FA4E;WHITE CHESS KNIGHT-QUEEN;So;0;ON;;;;;N;;;;; +1FA4F;WHITE CHESS KNIGHT-ROOK;So;0;ON;;;;;N;;;;; +1FA50;WHITE CHESS KNIGHT-BISHOP;So;0;ON;;;;;N;;;;; +1FA51;BLACK CHESS KNIGHT-QUEEN;So;0;ON;;;;;N;;;;; +1FA52;BLACK CHESS KNIGHT-ROOK;So;0;ON;;;;;N;;;;; +1FA53;BLACK CHESS KNIGHT-BISHOP;So;0;ON;;;;;N;;;;; +1FA60;XIANGQI RED GENERAL;So;0;ON;;;;;N;;;;; +1FA61;XIANGQI RED MANDARIN;So;0;ON;;;;;N;;;;; +1FA62;XIANGQI RED ELEPHANT;So;0;ON;;;;;N;;;;; +1FA63;XIANGQI RED HORSE;So;0;ON;;;;;N;;;;; +1FA64;XIANGQI RED CHARIOT;So;0;ON;;;;;N;;;;; +1FA65;XIANGQI RED CANNON;So;0;ON;;;;;N;;;;; +1FA66;XIANGQI RED SOLDIER;So;0;ON;;;;;N;;;;; +1FA67;XIANGQI BLACK GENERAL;So;0;ON;;;;;N;;;;; +1FA68;XIANGQI BLACK MANDARIN;So;0;ON;;;;;N;;;;; +1FA69;XIANGQI BLACK ELEPHANT;So;0;ON;;;;;N;;;;; +1FA6A;XIANGQI BLACK HORSE;So;0;ON;;;;;N;;;;; +1FA6B;XIANGQI BLACK CHARIOT;So;0;ON;;;;;N;;;;; +1FA6C;XIANGQI BLACK CANNON;So;0;ON;;;;;N;;;;; +1FA6D;XIANGQI BLACK SOLDIER;So;0;ON;;;;;N;;;;; +1FA70;BALLET SHOES;So;0;ON;;;;;N;;;;; +1FA71;ONE-PIECE SWIMSUIT;So;0;ON;;;;;N;;;;; +1FA72;BRIEFS;So;0;ON;;;;;N;;;;; +1FA73;SHORTS;So;0;ON;;;;;N;;;;; +1FA74;THONG SANDAL;So;0;ON;;;;;N;;;;; +1FA78;DROP OF BLOOD;So;0;ON;;;;;N;;;;; +1FA79;ADHESIVE BANDAGE;So;0;ON;;;;;N;;;;; +1FA7A;STETHOSCOPE;So;0;ON;;;;;N;;;;; +1FA80;YO-YO;So;0;ON;;;;;N;;;;; +1FA81;KITE;So;0;ON;;;;;N;;;;; +1FA82;PARACHUTE;So;0;ON;;;;;N;;;;; +1FA83;BOOMERANG;So;0;ON;;;;;N;;;;; +1FA84;MAGIC WAND;So;0;ON;;;;;N;;;;; +1FA85;PINATA;So;0;ON;;;;;N;;;;; +1FA86;NESTING DOLLS;So;0;ON;;;;;N;;;;; +1FA90;RINGED PLANET;So;0;ON;;;;;N;;;;; +1FA91;CHAIR;So;0;ON;;;;;N;;;;; +1FA92;RAZOR;So;0;ON;;;;;N;;;;; +1FA93;AXE;So;0;ON;;;;;N;;;;; +1FA94;DIYA LAMP;So;0;ON;;;;;N;;;;; +1FA95;BANJO;So;0;ON;;;;;N;;;;; +1FA96;MILITARY HELMET;So;0;ON;;;;;N;;;;; +1FA97;ACCORDION;So;0;ON;;;;;N;;;;; +1FA98;LONG DRUM;So;0;ON;;;;;N;;;;; +1FA99;COIN;So;0;ON;;;;;N;;;;; +1FA9A;CARPENTRY SAW;So;0;ON;;;;;N;;;;; +1FA9B;SCREWDRIVER;So;0;ON;;;;;N;;;;; +1FA9C;LADDER;So;0;ON;;;;;N;;;;; +1FA9D;HOOK;So;0;ON;;;;;N;;;;; +1FA9E;MIRROR;So;0;ON;;;;;N;;;;; +1FA9F;WINDOW;So;0;ON;;;;;N;;;;; +1FAA0;PLUNGER;So;0;ON;;;;;N;;;;; +1FAA1;SEWING NEEDLE;So;0;ON;;;;;N;;;;; +1FAA2;KNOT;So;0;ON;;;;;N;;;;; +1FAA3;BUCKET;So;0;ON;;;;;N;;;;; +1FAA4;MOUSE TRAP;So;0;ON;;;;;N;;;;; +1FAA5;TOOTHBRUSH;So;0;ON;;;;;N;;;;; +1FAA6;HEADSTONE;So;0;ON;;;;;N;;;;; +1FAA7;PLACARD;So;0;ON;;;;;N;;;;; +1FAA8;ROCK;So;0;ON;;;;;N;;;;; +1FAB0;FLY;So;0;ON;;;;;N;;;;; +1FAB1;WORM;So;0;ON;;;;;N;;;;; +1FAB2;BEETLE;So;0;ON;;;;;N;;;;; +1FAB3;COCKROACH;So;0;ON;;;;;N;;;;; +1FAB4;POTTED PLANT;So;0;ON;;;;;N;;;;; +1FAB5;WOOD;So;0;ON;;;;;N;;;;; +1FAB6;FEATHER;So;0;ON;;;;;N;;;;; +1FAC0;ANATOMICAL HEART;So;0;ON;;;;;N;;;;; +1FAC1;LUNGS;So;0;ON;;;;;N;;;;; +1FAC2;PEOPLE HUGGING;So;0;ON;;;;;N;;;;; +1FAD0;BLUEBERRIES;So;0;ON;;;;;N;;;;; +1FAD1;BELL PEPPER;So;0;ON;;;;;N;;;;; +1FAD2;OLIVE;So;0;ON;;;;;N;;;;; +1FAD3;FLATBREAD;So;0;ON;;;;;N;;;;; +1FAD4;TAMALE;So;0;ON;;;;;N;;;;; +1FAD5;FONDUE;So;0;ON;;;;;N;;;;; +1FAD6;TEAPOT;So;0;ON;;;;;N;;;;; +1FB00;BLOCK SEXTANT-1;So;0;ON;;;;;N;;;;; +1FB01;BLOCK SEXTANT-2;So;0;ON;;;;;N;;;;; +1FB02;BLOCK SEXTANT-12;So;0;ON;;;;;N;;;;; +1FB03;BLOCK SEXTANT-3;So;0;ON;;;;;N;;;;; +1FB04;BLOCK SEXTANT-13;So;0;ON;;;;;N;;;;; +1FB05;BLOCK SEXTANT-23;So;0;ON;;;;;N;;;;; +1FB06;BLOCK SEXTANT-123;So;0;ON;;;;;N;;;;; +1FB07;BLOCK SEXTANT-4;So;0;ON;;;;;N;;;;; +1FB08;BLOCK SEXTANT-14;So;0;ON;;;;;N;;;;; +1FB09;BLOCK SEXTANT-24;So;0;ON;;;;;N;;;;; +1FB0A;BLOCK SEXTANT-124;So;0;ON;;;;;N;;;;; +1FB0B;BLOCK SEXTANT-34;So;0;ON;;;;;N;;;;; +1FB0C;BLOCK SEXTANT-134;So;0;ON;;;;;N;;;;; +1FB0D;BLOCK SEXTANT-234;So;0;ON;;;;;N;;;;; +1FB0E;BLOCK SEXTANT-1234;So;0;ON;;;;;N;;;;; +1FB0F;BLOCK SEXTANT-5;So;0;ON;;;;;N;;;;; +1FB10;BLOCK SEXTANT-15;So;0;ON;;;;;N;;;;; +1FB11;BLOCK SEXTANT-25;So;0;ON;;;;;N;;;;; +1FB12;BLOCK SEXTANT-125;So;0;ON;;;;;N;;;;; +1FB13;BLOCK SEXTANT-35;So;0;ON;;;;;N;;;;; +1FB14;BLOCK SEXTANT-235;So;0;ON;;;;;N;;;;; +1FB15;BLOCK SEXTANT-1235;So;0;ON;;;;;N;;;;; +1FB16;BLOCK SEXTANT-45;So;0;ON;;;;;N;;;;; +1FB17;BLOCK SEXTANT-145;So;0;ON;;;;;N;;;;; +1FB18;BLOCK SEXTANT-245;So;0;ON;;;;;N;;;;; +1FB19;BLOCK SEXTANT-1245;So;0;ON;;;;;N;;;;; +1FB1A;BLOCK SEXTANT-345;So;0;ON;;;;;N;;;;; +1FB1B;BLOCK SEXTANT-1345;So;0;ON;;;;;N;;;;; +1FB1C;BLOCK SEXTANT-2345;So;0;ON;;;;;N;;;;; +1FB1D;BLOCK SEXTANT-12345;So;0;ON;;;;;N;;;;; +1FB1E;BLOCK SEXTANT-6;So;0;ON;;;;;N;;;;; +1FB1F;BLOCK SEXTANT-16;So;0;ON;;;;;N;;;;; +1FB20;BLOCK SEXTANT-26;So;0;ON;;;;;N;;;;; +1FB21;BLOCK SEXTANT-126;So;0;ON;;;;;N;;;;; +1FB22;BLOCK SEXTANT-36;So;0;ON;;;;;N;;;;; +1FB23;BLOCK SEXTANT-136;So;0;ON;;;;;N;;;;; +1FB24;BLOCK SEXTANT-236;So;0;ON;;;;;N;;;;; +1FB25;BLOCK SEXTANT-1236;So;0;ON;;;;;N;;;;; +1FB26;BLOCK SEXTANT-46;So;0;ON;;;;;N;;;;; +1FB27;BLOCK SEXTANT-146;So;0;ON;;;;;N;;;;; +1FB28;BLOCK SEXTANT-1246;So;0;ON;;;;;N;;;;; +1FB29;BLOCK SEXTANT-346;So;0;ON;;;;;N;;;;; +1FB2A;BLOCK SEXTANT-1346;So;0;ON;;;;;N;;;;; +1FB2B;BLOCK SEXTANT-2346;So;0;ON;;;;;N;;;;; +1FB2C;BLOCK SEXTANT-12346;So;0;ON;;;;;N;;;;; +1FB2D;BLOCK SEXTANT-56;So;0;ON;;;;;N;;;;; +1FB2E;BLOCK SEXTANT-156;So;0;ON;;;;;N;;;;; +1FB2F;BLOCK SEXTANT-256;So;0;ON;;;;;N;;;;; +1FB30;BLOCK SEXTANT-1256;So;0;ON;;;;;N;;;;; +1FB31;BLOCK SEXTANT-356;So;0;ON;;;;;N;;;;; +1FB32;BLOCK SEXTANT-1356;So;0;ON;;;;;N;;;;; +1FB33;BLOCK SEXTANT-2356;So;0;ON;;;;;N;;;;; +1FB34;BLOCK SEXTANT-12356;So;0;ON;;;;;N;;;;; +1FB35;BLOCK SEXTANT-456;So;0;ON;;;;;N;;;;; +1FB36;BLOCK SEXTANT-1456;So;0;ON;;;;;N;;;;; +1FB37;BLOCK SEXTANT-2456;So;0;ON;;;;;N;;;;; +1FB38;BLOCK SEXTANT-12456;So;0;ON;;;;;N;;;;; +1FB39;BLOCK SEXTANT-3456;So;0;ON;;;;;N;;;;; +1FB3A;BLOCK SEXTANT-13456;So;0;ON;;;;;N;;;;; +1FB3B;BLOCK SEXTANT-23456;So;0;ON;;;;;N;;;;; +1FB3C;LOWER LEFT BLOCK DIAGONAL LOWER MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB3D;LOWER LEFT BLOCK DIAGONAL LOWER MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB3E;LOWER LEFT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB3F;LOWER LEFT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB40;LOWER LEFT BLOCK DIAGONAL UPPER LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB41;LOWER RIGHT BLOCK DIAGONAL UPPER MIDDLE LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB42;LOWER RIGHT BLOCK DIAGONAL UPPER MIDDLE LEFT TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB43;LOWER RIGHT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB44;LOWER RIGHT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB45;LOWER RIGHT BLOCK DIAGONAL LOWER LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB46;LOWER RIGHT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB47;LOWER RIGHT BLOCK DIAGONAL LOWER CENTRE TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB48;LOWER RIGHT BLOCK DIAGONAL LOWER LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB49;LOWER RIGHT BLOCK DIAGONAL LOWER CENTRE TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB4A;LOWER RIGHT BLOCK DIAGONAL LOWER LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB4B;LOWER RIGHT BLOCK DIAGONAL LOWER CENTRE TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB4C;LOWER LEFT BLOCK DIAGONAL UPPER CENTRE TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB4D;LOWER LEFT BLOCK DIAGONAL UPPER LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB4E;LOWER LEFT BLOCK DIAGONAL UPPER CENTRE TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB4F;LOWER LEFT BLOCK DIAGONAL UPPER LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB50;LOWER LEFT BLOCK DIAGONAL UPPER CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB51;LOWER LEFT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB52;UPPER RIGHT BLOCK DIAGONAL LOWER MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB53;UPPER RIGHT BLOCK DIAGONAL LOWER MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB54;UPPER RIGHT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB55;UPPER RIGHT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB56;UPPER RIGHT BLOCK DIAGONAL UPPER LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FB57;UPPER LEFT BLOCK DIAGONAL UPPER MIDDLE LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB58;UPPER LEFT BLOCK DIAGONAL UPPER MIDDLE LEFT TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB59;UPPER LEFT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB5A;UPPER LEFT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB5B;UPPER LEFT BLOCK DIAGONAL LOWER LEFT TO UPPER CENTRE;So;0;ON;;;;;N;;;;; +1FB5C;UPPER LEFT BLOCK DIAGONAL LOWER MIDDLE LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB5D;UPPER LEFT BLOCK DIAGONAL LOWER CENTRE TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB5E;UPPER LEFT BLOCK DIAGONAL LOWER LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB5F;UPPER LEFT BLOCK DIAGONAL LOWER CENTRE TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB60;UPPER LEFT BLOCK DIAGONAL LOWER LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB61;UPPER LEFT BLOCK DIAGONAL LOWER CENTRE TO UPPER RIGHT;So;0;ON;;;;;N;;;;; +1FB62;UPPER RIGHT BLOCK DIAGONAL UPPER CENTRE TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB63;UPPER RIGHT BLOCK DIAGONAL UPPER LEFT TO UPPER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB64;UPPER RIGHT BLOCK DIAGONAL UPPER CENTRE TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB65;UPPER RIGHT BLOCK DIAGONAL UPPER LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB66;UPPER RIGHT BLOCK DIAGONAL UPPER CENTRE TO LOWER RIGHT;So;0;ON;;;;;N;;;;; +1FB67;UPPER RIGHT BLOCK DIAGONAL UPPER MIDDLE LEFT TO LOWER MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FB68;UPPER AND RIGHT AND LOWER TRIANGULAR THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB69;LEFT AND LOWER AND RIGHT TRIANGULAR THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB6A;UPPER AND LEFT AND LOWER TRIANGULAR THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB6B;LEFT AND UPPER AND RIGHT TRIANGULAR THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB6C;LEFT TRIANGULAR ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB6D;UPPER TRIANGULAR ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB6E;RIGHT TRIANGULAR ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB6F;LOWER TRIANGULAR ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB70;VERTICAL ONE EIGHTH BLOCK-2;So;0;ON;;;;;N;;;;; +1FB71;VERTICAL ONE EIGHTH BLOCK-3;So;0;ON;;;;;N;;;;; +1FB72;VERTICAL ONE EIGHTH BLOCK-4;So;0;ON;;;;;N;;;;; +1FB73;VERTICAL ONE EIGHTH BLOCK-5;So;0;ON;;;;;N;;;;; +1FB74;VERTICAL ONE EIGHTH BLOCK-6;So;0;ON;;;;;N;;;;; +1FB75;VERTICAL ONE EIGHTH BLOCK-7;So;0;ON;;;;;N;;;;; +1FB76;HORIZONTAL ONE EIGHTH BLOCK-2;So;0;ON;;;;;N;;;;; +1FB77;HORIZONTAL ONE EIGHTH BLOCK-3;So;0;ON;;;;;N;;;;; +1FB78;HORIZONTAL ONE EIGHTH BLOCK-4;So;0;ON;;;;;N;;;;; +1FB79;HORIZONTAL ONE EIGHTH BLOCK-5;So;0;ON;;;;;N;;;;; +1FB7A;HORIZONTAL ONE EIGHTH BLOCK-6;So;0;ON;;;;;N;;;;; +1FB7B;HORIZONTAL ONE EIGHTH BLOCK-7;So;0;ON;;;;;N;;;;; +1FB7C;LEFT AND LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FB7D;LEFT AND UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FB7E;RIGHT AND UPPER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FB7F;RIGHT AND LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FB80;UPPER AND LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FB81;HORIZONTAL ONE EIGHTH BLOCK-1358;So;0;ON;;;;;N;;;;; +1FB82;UPPER ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB83;UPPER THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB84;UPPER FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB85;UPPER THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB86;UPPER SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB87;RIGHT ONE QUARTER BLOCK;So;0;ON;;;;;N;;;;; +1FB88;RIGHT THREE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB89;RIGHT FIVE EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB8A;RIGHT THREE QUARTERS BLOCK;So;0;ON;;;;;N;;;;; +1FB8B;RIGHT SEVEN EIGHTHS BLOCK;So;0;ON;;;;;N;;;;; +1FB8C;LEFT HALF MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB8D;RIGHT HALF MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB8E;UPPER HALF MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB8F;LOWER HALF MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB90;INVERSE MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB91;UPPER HALF BLOCK AND LOWER HALF INVERSE MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB92;UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK;So;0;ON;;;;;N;;;;; +1FB94;LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK;So;0;ON;;;;;N;;;;; +1FB95;CHECKER BOARD FILL;So;0;ON;;;;;N;;;;; +1FB96;INVERSE CHECKER BOARD FILL;So;0;ON;;;;;N;;;;; +1FB97;HEAVY HORIZONTAL FILL;So;0;ON;;;;;N;;;;; +1FB98;UPPER LEFT TO LOWER RIGHT FILL;So;0;ON;;;;;N;;;;; +1FB99;UPPER RIGHT TO LOWER LEFT FILL;So;0;ON;;;;;N;;;;; +1FB9A;UPPER AND LOWER TRIANGULAR HALF BLOCK;So;0;ON;;;;;N;;;;; +1FB9B;LEFT AND RIGHT TRIANGULAR HALF BLOCK;So;0;ON;;;;;N;;;;; +1FB9C;UPPER LEFT TRIANGULAR MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB9D;UPPER RIGHT TRIANGULAR MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB9E;LOWER RIGHT TRIANGULAR MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FB9F;LOWER LEFT TRIANGULAR MEDIUM SHADE;So;0;ON;;;;;N;;;;; +1FBA0;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE LEFT;So;0;ON;;;;;N;;;;; +1FBA1;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FBA2;BOX DRAWINGS LIGHT DIAGONAL MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBA3;BOX DRAWINGS LIGHT DIAGONAL MIDDLE RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBA4;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBA5;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBA6;BOX DRAWINGS LIGHT DIAGONAL MIDDLE LEFT TO LOWER CENTRE TO MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FBA7;BOX DRAWINGS LIGHT DIAGONAL MIDDLE LEFT TO UPPER CENTRE TO MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FBA8;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE LEFT AND MIDDLE RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBA9;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE RIGHT AND MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBAA;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE RIGHT TO LOWER CENTRE TO MIDDLE LEFT;So;0;ON;;;;;N;;;;; +1FBAB;BOX DRAWINGS LIGHT DIAGONAL UPPER CENTRE TO MIDDLE LEFT TO LOWER CENTRE TO MIDDLE RIGHT;So;0;ON;;;;;N;;;;; +1FBAC;BOX DRAWINGS LIGHT DIAGONAL MIDDLE LEFT TO UPPER CENTRE TO MIDDLE RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBAD;BOX DRAWINGS LIGHT DIAGONAL MIDDLE RIGHT TO UPPER CENTRE TO MIDDLE LEFT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBAE;BOX DRAWINGS LIGHT DIAGONAL DIAMOND;So;0;ON;;;;;N;;;;; +1FBAF;BOX DRAWINGS LIGHT HORIZONTAL WITH VERTICAL STROKE;So;0;ON;;;;;N;;;;; +1FBB0;ARROWHEAD-SHAPED POINTER;So;0;ON;;;;;N;;;;; +1FBB1;INVERSE CHECK MARK;So;0;ON;;;;;N;;;;; +1FBB2;LEFT HALF RUNNING MAN;So;0;ON;;;;;N;;;;; +1FBB3;RIGHT HALF RUNNING MAN;So;0;ON;;;;;N;;;;; +1FBB4;INVERSE DOWNWARDS ARROW WITH TIP LEFTWARDS;So;0;ON;;;;;N;;;;; +1FBB5;LEFTWARDS ARROW AND UPPER AND LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FBB6;RIGHTWARDS ARROW AND UPPER AND LOWER ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FBB7;DOWNWARDS ARROW AND RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FBB8;UPWARDS ARROW AND RIGHT ONE EIGHTH BLOCK;So;0;ON;;;;;N;;;;; +1FBB9;LEFT HALF FOLDER;So;0;ON;;;;;N;;;;; +1FBBA;RIGHT HALF FOLDER;So;0;ON;;;;;N;;;;; +1FBBB;VOIDED GREEK CROSS;So;0;ON;;;;;N;;;;; +1FBBC;RIGHT OPEN SQUARED DOT;So;0;ON;;;;;N;;;;; +1FBBD;NEGATIVE DIAGONAL CROSS;So;0;ON;;;;;N;;;;; +1FBBE;NEGATIVE DIAGONAL MIDDLE RIGHT TO LOWER CENTRE;So;0;ON;;;;;N;;;;; +1FBBF;NEGATIVE DIAGONAL DIAMOND;So;0;ON;;;;;N;;;;; +1FBC0;WHITE HEAVY SALTIRE WITH ROUNDED CORNERS;So;0;ON;;;;;N;;;;; +1FBC1;LEFT THIRD WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +1FBC2;MIDDLE THIRD WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +1FBC3;RIGHT THIRD WHITE RIGHT POINTING INDEX;So;0;ON;;;;;N;;;;; +1FBC4;NEGATIVE SQUARED QUESTION MARK;So;0;ON;;;;;N;;;;; +1FBC5;STICK FIGURE;So;0;ON;;;;;N;;;;; +1FBC6;STICK FIGURE WITH ARMS RAISED;So;0;ON;;;;;N;;;;; +1FBC7;STICK FIGURE LEANING LEFT;So;0;ON;;;;;N;;;;; +1FBC8;STICK FIGURE LEANING RIGHT;So;0;ON;;;;;N;;;;; +1FBC9;STICK FIGURE WITH DRESS;So;0;ON;;;;;N;;;;; +1FBCA;WHITE UP-POINTING CHEVRON;So;0;ON;;;;;N;;;;; +1FBF0;SEGMENTED DIGIT ZERO;Nd;0;EN; 0030;0;0;0;N;;;;; +1FBF1;SEGMENTED DIGIT ONE;Nd;0;EN; 0031;1;1;1;N;;;;; +1FBF2;SEGMENTED DIGIT TWO;Nd;0;EN; 0032;2;2;2;N;;;;; +1FBF3;SEGMENTED DIGIT THREE;Nd;0;EN; 0033;3;3;3;N;;;;; +1FBF4;SEGMENTED DIGIT FOUR;Nd;0;EN; 0034;4;4;4;N;;;;; +1FBF5;SEGMENTED DIGIT FIVE;Nd;0;EN; 0035;5;5;5;N;;;;; +1FBF6;SEGMENTED DIGIT SIX;Nd;0;EN; 0036;6;6;6;N;;;;; +1FBF7;SEGMENTED DIGIT SEVEN;Nd;0;EN; 0037;7;7;7;N;;;;; +1FBF8;SEGMENTED DIGIT EIGHT;Nd;0;EN; 0038;8;8;8;N;;;;; +1FBF9;SEGMENTED DIGIT NINE;Nd;0;EN; 0039;9;9;9;N;;;;; +20000;;Lo;0;L;;;;;N;;;;; +2A6DD;;Lo;0;L;;;;;N;;;;; +2A700;;Lo;0;L;;;;;N;;;;; +2B734;;Lo;0;L;;;;;N;;;;; +2B740;;Lo;0;L;;;;;N;;;;; +2B81D;;Lo;0;L;;;;;N;;;;; +2B820;;Lo;0;L;;;;;N;;;;; +2CEA1;;Lo;0;L;;;;;N;;;;; +2CEB0;;Lo;0;L;;;;;N;;;;; +2EBE0;;Lo;0;L;;;;;N;;;;; +2F800;CJK COMPATIBILITY IDEOGRAPH-2F800;Lo;0;L;4E3D;;;;N;;;;; +2F801;CJK COMPATIBILITY IDEOGRAPH-2F801;Lo;0;L;4E38;;;;N;;;;; +2F802;CJK COMPATIBILITY IDEOGRAPH-2F802;Lo;0;L;4E41;;;;N;;;;; +2F803;CJK COMPATIBILITY IDEOGRAPH-2F803;Lo;0;L;20122;;;;N;;;;; +2F804;CJK COMPATIBILITY IDEOGRAPH-2F804;Lo;0;L;4F60;;;;N;;;;; +2F805;CJK COMPATIBILITY IDEOGRAPH-2F805;Lo;0;L;4FAE;;;;N;;;;; +2F806;CJK COMPATIBILITY IDEOGRAPH-2F806;Lo;0;L;4FBB;;;;N;;;;; +2F807;CJK COMPATIBILITY IDEOGRAPH-2F807;Lo;0;L;5002;;;;N;;;;; +2F808;CJK COMPATIBILITY IDEOGRAPH-2F808;Lo;0;L;507A;;;;N;;;;; +2F809;CJK COMPATIBILITY IDEOGRAPH-2F809;Lo;0;L;5099;;;;N;;;;; +2F80A;CJK COMPATIBILITY IDEOGRAPH-2F80A;Lo;0;L;50E7;;;;N;;;;; +2F80B;CJK COMPATIBILITY IDEOGRAPH-2F80B;Lo;0;L;50CF;;;;N;;;;; +2F80C;CJK COMPATIBILITY IDEOGRAPH-2F80C;Lo;0;L;349E;;;;N;;;;; +2F80D;CJK COMPATIBILITY IDEOGRAPH-2F80D;Lo;0;L;2063A;;;;N;;;;; +2F80E;CJK COMPATIBILITY IDEOGRAPH-2F80E;Lo;0;L;514D;;;;N;;;;; +2F80F;CJK COMPATIBILITY IDEOGRAPH-2F80F;Lo;0;L;5154;;;;N;;;;; +2F810;CJK COMPATIBILITY IDEOGRAPH-2F810;Lo;0;L;5164;;;;N;;;;; +2F811;CJK COMPATIBILITY IDEOGRAPH-2F811;Lo;0;L;5177;;;;N;;;;; +2F812;CJK COMPATIBILITY IDEOGRAPH-2F812;Lo;0;L;2051C;;;;N;;;;; +2F813;CJK COMPATIBILITY IDEOGRAPH-2F813;Lo;0;L;34B9;;;;N;;;;; +2F814;CJK COMPATIBILITY IDEOGRAPH-2F814;Lo;0;L;5167;;;;N;;;;; +2F815;CJK COMPATIBILITY IDEOGRAPH-2F815;Lo;0;L;518D;;;;N;;;;; +2F816;CJK COMPATIBILITY IDEOGRAPH-2F816;Lo;0;L;2054B;;;;N;;;;; +2F817;CJK COMPATIBILITY IDEOGRAPH-2F817;Lo;0;L;5197;;;;N;;;;; +2F818;CJK COMPATIBILITY IDEOGRAPH-2F818;Lo;0;L;51A4;;;;N;;;;; +2F819;CJK COMPATIBILITY IDEOGRAPH-2F819;Lo;0;L;4ECC;;;;N;;;;; +2F81A;CJK COMPATIBILITY IDEOGRAPH-2F81A;Lo;0;L;51AC;;;;N;;;;; +2F81B;CJK COMPATIBILITY IDEOGRAPH-2F81B;Lo;0;L;51B5;;;;N;;;;; +2F81C;CJK COMPATIBILITY IDEOGRAPH-2F81C;Lo;0;L;291DF;;;;N;;;;; +2F81D;CJK COMPATIBILITY IDEOGRAPH-2F81D;Lo;0;L;51F5;;;;N;;;;; +2F81E;CJK COMPATIBILITY IDEOGRAPH-2F81E;Lo;0;L;5203;;;;N;;;;; +2F81F;CJK COMPATIBILITY IDEOGRAPH-2F81F;Lo;0;L;34DF;;;;N;;;;; +2F820;CJK COMPATIBILITY IDEOGRAPH-2F820;Lo;0;L;523B;;;;N;;;;; +2F821;CJK COMPATIBILITY IDEOGRAPH-2F821;Lo;0;L;5246;;;;N;;;;; +2F822;CJK COMPATIBILITY IDEOGRAPH-2F822;Lo;0;L;5272;;;;N;;;;; +2F823;CJK COMPATIBILITY IDEOGRAPH-2F823;Lo;0;L;5277;;;;N;;;;; +2F824;CJK COMPATIBILITY IDEOGRAPH-2F824;Lo;0;L;3515;;;;N;;;;; +2F825;CJK COMPATIBILITY IDEOGRAPH-2F825;Lo;0;L;52C7;;;;N;;;;; +2F826;CJK COMPATIBILITY IDEOGRAPH-2F826;Lo;0;L;52C9;;;;N;;;;; +2F827;CJK COMPATIBILITY IDEOGRAPH-2F827;Lo;0;L;52E4;;;;N;;;;; +2F828;CJK COMPATIBILITY IDEOGRAPH-2F828;Lo;0;L;52FA;;;;N;;;;; +2F829;CJK COMPATIBILITY IDEOGRAPH-2F829;Lo;0;L;5305;;;;N;;;;; +2F82A;CJK COMPATIBILITY IDEOGRAPH-2F82A;Lo;0;L;5306;;;;N;;;;; +2F82B;CJK COMPATIBILITY IDEOGRAPH-2F82B;Lo;0;L;5317;;;;N;;;;; +2F82C;CJK COMPATIBILITY IDEOGRAPH-2F82C;Lo;0;L;5349;;;;N;;;;; +2F82D;CJK COMPATIBILITY IDEOGRAPH-2F82D;Lo;0;L;5351;;;;N;;;;; +2F82E;CJK COMPATIBILITY IDEOGRAPH-2F82E;Lo;0;L;535A;;;;N;;;;; +2F82F;CJK COMPATIBILITY IDEOGRAPH-2F82F;Lo;0;L;5373;;;;N;;;;; +2F830;CJK COMPATIBILITY IDEOGRAPH-2F830;Lo;0;L;537D;;;;N;;;;; +2F831;CJK COMPATIBILITY IDEOGRAPH-2F831;Lo;0;L;537F;;;;N;;;;; +2F832;CJK COMPATIBILITY IDEOGRAPH-2F832;Lo;0;L;537F;;;;N;;;;; +2F833;CJK COMPATIBILITY IDEOGRAPH-2F833;Lo;0;L;537F;;;;N;;;;; +2F834;CJK COMPATIBILITY IDEOGRAPH-2F834;Lo;0;L;20A2C;;;;N;;;;; +2F835;CJK COMPATIBILITY IDEOGRAPH-2F835;Lo;0;L;7070;;;;N;;;;; +2F836;CJK COMPATIBILITY IDEOGRAPH-2F836;Lo;0;L;53CA;;;;N;;;;; +2F837;CJK COMPATIBILITY IDEOGRAPH-2F837;Lo;0;L;53DF;;;;N;;;;; +2F838;CJK COMPATIBILITY IDEOGRAPH-2F838;Lo;0;L;20B63;;;;N;;;;; +2F839;CJK COMPATIBILITY IDEOGRAPH-2F839;Lo;0;L;53EB;;;;N;;;;; +2F83A;CJK COMPATIBILITY IDEOGRAPH-2F83A;Lo;0;L;53F1;;;;N;;;;; +2F83B;CJK COMPATIBILITY IDEOGRAPH-2F83B;Lo;0;L;5406;;;;N;;;;; +2F83C;CJK COMPATIBILITY IDEOGRAPH-2F83C;Lo;0;L;549E;;;;N;;;;; +2F83D;CJK COMPATIBILITY IDEOGRAPH-2F83D;Lo;0;L;5438;;;;N;;;;; +2F83E;CJK COMPATIBILITY IDEOGRAPH-2F83E;Lo;0;L;5448;;;;N;;;;; +2F83F;CJK COMPATIBILITY IDEOGRAPH-2F83F;Lo;0;L;5468;;;;N;;;;; +2F840;CJK COMPATIBILITY IDEOGRAPH-2F840;Lo;0;L;54A2;;;;N;;;;; +2F841;CJK COMPATIBILITY IDEOGRAPH-2F841;Lo;0;L;54F6;;;;N;;;;; +2F842;CJK COMPATIBILITY IDEOGRAPH-2F842;Lo;0;L;5510;;;;N;;;;; +2F843;CJK COMPATIBILITY IDEOGRAPH-2F843;Lo;0;L;5553;;;;N;;;;; +2F844;CJK COMPATIBILITY IDEOGRAPH-2F844;Lo;0;L;5563;;;;N;;;;; +2F845;CJK COMPATIBILITY IDEOGRAPH-2F845;Lo;0;L;5584;;;;N;;;;; +2F846;CJK COMPATIBILITY IDEOGRAPH-2F846;Lo;0;L;5584;;;;N;;;;; +2F847;CJK COMPATIBILITY IDEOGRAPH-2F847;Lo;0;L;5599;;;;N;;;;; +2F848;CJK COMPATIBILITY IDEOGRAPH-2F848;Lo;0;L;55AB;;;;N;;;;; +2F849;CJK COMPATIBILITY IDEOGRAPH-2F849;Lo;0;L;55B3;;;;N;;;;; +2F84A;CJK COMPATIBILITY IDEOGRAPH-2F84A;Lo;0;L;55C2;;;;N;;;;; +2F84B;CJK COMPATIBILITY IDEOGRAPH-2F84B;Lo;0;L;5716;;;;N;;;;; +2F84C;CJK COMPATIBILITY IDEOGRAPH-2F84C;Lo;0;L;5606;;;;N;;;;; +2F84D;CJK COMPATIBILITY IDEOGRAPH-2F84D;Lo;0;L;5717;;;;N;;;;; +2F84E;CJK COMPATIBILITY IDEOGRAPH-2F84E;Lo;0;L;5651;;;;N;;;;; +2F84F;CJK COMPATIBILITY IDEOGRAPH-2F84F;Lo;0;L;5674;;;;N;;;;; +2F850;CJK COMPATIBILITY IDEOGRAPH-2F850;Lo;0;L;5207;;;;N;;;;; +2F851;CJK COMPATIBILITY IDEOGRAPH-2F851;Lo;0;L;58EE;;;;N;;;;; +2F852;CJK COMPATIBILITY IDEOGRAPH-2F852;Lo;0;L;57CE;;;;N;;;;; +2F853;CJK COMPATIBILITY IDEOGRAPH-2F853;Lo;0;L;57F4;;;;N;;;;; +2F854;CJK COMPATIBILITY IDEOGRAPH-2F854;Lo;0;L;580D;;;;N;;;;; +2F855;CJK COMPATIBILITY IDEOGRAPH-2F855;Lo;0;L;578B;;;;N;;;;; +2F856;CJK COMPATIBILITY IDEOGRAPH-2F856;Lo;0;L;5832;;;;N;;;;; +2F857;CJK COMPATIBILITY IDEOGRAPH-2F857;Lo;0;L;5831;;;;N;;;;; +2F858;CJK COMPATIBILITY IDEOGRAPH-2F858;Lo;0;L;58AC;;;;N;;;;; +2F859;CJK COMPATIBILITY IDEOGRAPH-2F859;Lo;0;L;214E4;;;;N;;;;; +2F85A;CJK COMPATIBILITY IDEOGRAPH-2F85A;Lo;0;L;58F2;;;;N;;;;; +2F85B;CJK COMPATIBILITY IDEOGRAPH-2F85B;Lo;0;L;58F7;;;;N;;;;; +2F85C;CJK COMPATIBILITY IDEOGRAPH-2F85C;Lo;0;L;5906;;;;N;;;;; +2F85D;CJK COMPATIBILITY IDEOGRAPH-2F85D;Lo;0;L;591A;;;;N;;;;; +2F85E;CJK COMPATIBILITY IDEOGRAPH-2F85E;Lo;0;L;5922;;;;N;;;;; +2F85F;CJK COMPATIBILITY IDEOGRAPH-2F85F;Lo;0;L;5962;;;;N;;;;; +2F860;CJK COMPATIBILITY IDEOGRAPH-2F860;Lo;0;L;216A8;;;;N;;;;; +2F861;CJK COMPATIBILITY IDEOGRAPH-2F861;Lo;0;L;216EA;;;;N;;;;; +2F862;CJK COMPATIBILITY IDEOGRAPH-2F862;Lo;0;L;59EC;;;;N;;;;; +2F863;CJK COMPATIBILITY IDEOGRAPH-2F863;Lo;0;L;5A1B;;;;N;;;;; +2F864;CJK COMPATIBILITY IDEOGRAPH-2F864;Lo;0;L;5A27;;;;N;;;;; +2F865;CJK COMPATIBILITY IDEOGRAPH-2F865;Lo;0;L;59D8;;;;N;;;;; +2F866;CJK COMPATIBILITY IDEOGRAPH-2F866;Lo;0;L;5A66;;;;N;;;;; +2F867;CJK COMPATIBILITY IDEOGRAPH-2F867;Lo;0;L;36EE;;;;N;;;;; +2F868;CJK COMPATIBILITY IDEOGRAPH-2F868;Lo;0;L;36FC;;;;N;;;;; +2F869;CJK COMPATIBILITY IDEOGRAPH-2F869;Lo;0;L;5B08;;;;N;;;;; +2F86A;CJK COMPATIBILITY IDEOGRAPH-2F86A;Lo;0;L;5B3E;;;;N;;;;; +2F86B;CJK COMPATIBILITY IDEOGRAPH-2F86B;Lo;0;L;5B3E;;;;N;;;;; +2F86C;CJK COMPATIBILITY IDEOGRAPH-2F86C;Lo;0;L;219C8;;;;N;;;;; +2F86D;CJK COMPATIBILITY IDEOGRAPH-2F86D;Lo;0;L;5BC3;;;;N;;;;; +2F86E;CJK COMPATIBILITY IDEOGRAPH-2F86E;Lo;0;L;5BD8;;;;N;;;;; +2F86F;CJK COMPATIBILITY IDEOGRAPH-2F86F;Lo;0;L;5BE7;;;;N;;;;; +2F870;CJK COMPATIBILITY IDEOGRAPH-2F870;Lo;0;L;5BF3;;;;N;;;;; +2F871;CJK COMPATIBILITY IDEOGRAPH-2F871;Lo;0;L;21B18;;;;N;;;;; +2F872;CJK COMPATIBILITY IDEOGRAPH-2F872;Lo;0;L;5BFF;;;;N;;;;; +2F873;CJK COMPATIBILITY IDEOGRAPH-2F873;Lo;0;L;5C06;;;;N;;;;; +2F874;CJK COMPATIBILITY IDEOGRAPH-2F874;Lo;0;L;5F53;;;;N;;;;; +2F875;CJK COMPATIBILITY IDEOGRAPH-2F875;Lo;0;L;5C22;;;;N;;;;; +2F876;CJK COMPATIBILITY IDEOGRAPH-2F876;Lo;0;L;3781;;;;N;;;;; +2F877;CJK COMPATIBILITY IDEOGRAPH-2F877;Lo;0;L;5C60;;;;N;;;;; +2F878;CJK COMPATIBILITY IDEOGRAPH-2F878;Lo;0;L;5C6E;;;;N;;;;; +2F879;CJK COMPATIBILITY IDEOGRAPH-2F879;Lo;0;L;5CC0;;;;N;;;;; +2F87A;CJK COMPATIBILITY IDEOGRAPH-2F87A;Lo;0;L;5C8D;;;;N;;;;; +2F87B;CJK COMPATIBILITY IDEOGRAPH-2F87B;Lo;0;L;21DE4;;;;N;;;;; +2F87C;CJK COMPATIBILITY IDEOGRAPH-2F87C;Lo;0;L;5D43;;;;N;;;;; +2F87D;CJK COMPATIBILITY IDEOGRAPH-2F87D;Lo;0;L;21DE6;;;;N;;;;; +2F87E;CJK COMPATIBILITY IDEOGRAPH-2F87E;Lo;0;L;5D6E;;;;N;;;;; +2F87F;CJK COMPATIBILITY IDEOGRAPH-2F87F;Lo;0;L;5D6B;;;;N;;;;; +2F880;CJK COMPATIBILITY IDEOGRAPH-2F880;Lo;0;L;5D7C;;;;N;;;;; +2F881;CJK COMPATIBILITY IDEOGRAPH-2F881;Lo;0;L;5DE1;;;;N;;;;; +2F882;CJK COMPATIBILITY IDEOGRAPH-2F882;Lo;0;L;5DE2;;;;N;;;;; +2F883;CJK COMPATIBILITY IDEOGRAPH-2F883;Lo;0;L;382F;;;;N;;;;; +2F884;CJK COMPATIBILITY IDEOGRAPH-2F884;Lo;0;L;5DFD;;;;N;;;;; +2F885;CJK COMPATIBILITY IDEOGRAPH-2F885;Lo;0;L;5E28;;;;N;;;;; +2F886;CJK COMPATIBILITY IDEOGRAPH-2F886;Lo;0;L;5E3D;;;;N;;;;; +2F887;CJK COMPATIBILITY IDEOGRAPH-2F887;Lo;0;L;5E69;;;;N;;;;; +2F888;CJK COMPATIBILITY IDEOGRAPH-2F888;Lo;0;L;3862;;;;N;;;;; +2F889;CJK COMPATIBILITY IDEOGRAPH-2F889;Lo;0;L;22183;;;;N;;;;; +2F88A;CJK COMPATIBILITY IDEOGRAPH-2F88A;Lo;0;L;387C;;;;N;;;;; +2F88B;CJK COMPATIBILITY IDEOGRAPH-2F88B;Lo;0;L;5EB0;;;;N;;;;; +2F88C;CJK COMPATIBILITY IDEOGRAPH-2F88C;Lo;0;L;5EB3;;;;N;;;;; +2F88D;CJK COMPATIBILITY IDEOGRAPH-2F88D;Lo;0;L;5EB6;;;;N;;;;; +2F88E;CJK COMPATIBILITY IDEOGRAPH-2F88E;Lo;0;L;5ECA;;;;N;;;;; +2F88F;CJK COMPATIBILITY IDEOGRAPH-2F88F;Lo;0;L;2A392;;;;N;;;;; +2F890;CJK COMPATIBILITY IDEOGRAPH-2F890;Lo;0;L;5EFE;;;9;N;;;;; +2F891;CJK COMPATIBILITY IDEOGRAPH-2F891;Lo;0;L;22331;;;;N;;;;; +2F892;CJK COMPATIBILITY IDEOGRAPH-2F892;Lo;0;L;22331;;;;N;;;;; +2F893;CJK COMPATIBILITY IDEOGRAPH-2F893;Lo;0;L;8201;;;;N;;;;; +2F894;CJK COMPATIBILITY IDEOGRAPH-2F894;Lo;0;L;5F22;;;;N;;;;; +2F895;CJK COMPATIBILITY IDEOGRAPH-2F895;Lo;0;L;5F22;;;;N;;;;; +2F896;CJK COMPATIBILITY IDEOGRAPH-2F896;Lo;0;L;38C7;;;;N;;;;; +2F897;CJK COMPATIBILITY IDEOGRAPH-2F897;Lo;0;L;232B8;;;;N;;;;; +2F898;CJK COMPATIBILITY IDEOGRAPH-2F898;Lo;0;L;261DA;;;;N;;;;; +2F899;CJK COMPATIBILITY IDEOGRAPH-2F899;Lo;0;L;5F62;;;;N;;;;; +2F89A;CJK COMPATIBILITY IDEOGRAPH-2F89A;Lo;0;L;5F6B;;;;N;;;;; +2F89B;CJK COMPATIBILITY IDEOGRAPH-2F89B;Lo;0;L;38E3;;;;N;;;;; +2F89C;CJK COMPATIBILITY IDEOGRAPH-2F89C;Lo;0;L;5F9A;;;;N;;;;; +2F89D;CJK COMPATIBILITY IDEOGRAPH-2F89D;Lo;0;L;5FCD;;;;N;;;;; +2F89E;CJK COMPATIBILITY IDEOGRAPH-2F89E;Lo;0;L;5FD7;;;;N;;;;; +2F89F;CJK COMPATIBILITY IDEOGRAPH-2F89F;Lo;0;L;5FF9;;;;N;;;;; +2F8A0;CJK COMPATIBILITY IDEOGRAPH-2F8A0;Lo;0;L;6081;;;;N;;;;; +2F8A1;CJK COMPATIBILITY IDEOGRAPH-2F8A1;Lo;0;L;393A;;;;N;;;;; +2F8A2;CJK COMPATIBILITY IDEOGRAPH-2F8A2;Lo;0;L;391C;;;;N;;;;; +2F8A3;CJK COMPATIBILITY IDEOGRAPH-2F8A3;Lo;0;L;6094;;;;N;;;;; +2F8A4;CJK COMPATIBILITY IDEOGRAPH-2F8A4;Lo;0;L;226D4;;;;N;;;;; +2F8A5;CJK COMPATIBILITY IDEOGRAPH-2F8A5;Lo;0;L;60C7;;;;N;;;;; +2F8A6;CJK COMPATIBILITY IDEOGRAPH-2F8A6;Lo;0;L;6148;;;;N;;;;; +2F8A7;CJK COMPATIBILITY IDEOGRAPH-2F8A7;Lo;0;L;614C;;;;N;;;;; +2F8A8;CJK COMPATIBILITY IDEOGRAPH-2F8A8;Lo;0;L;614E;;;;N;;;;; +2F8A9;CJK COMPATIBILITY IDEOGRAPH-2F8A9;Lo;0;L;614C;;;;N;;;;; +2F8AA;CJK COMPATIBILITY IDEOGRAPH-2F8AA;Lo;0;L;617A;;;;N;;;;; +2F8AB;CJK COMPATIBILITY IDEOGRAPH-2F8AB;Lo;0;L;618E;;;;N;;;;; +2F8AC;CJK COMPATIBILITY IDEOGRAPH-2F8AC;Lo;0;L;61B2;;;;N;;;;; +2F8AD;CJK COMPATIBILITY IDEOGRAPH-2F8AD;Lo;0;L;61A4;;;;N;;;;; +2F8AE;CJK COMPATIBILITY IDEOGRAPH-2F8AE;Lo;0;L;61AF;;;;N;;;;; +2F8AF;CJK COMPATIBILITY IDEOGRAPH-2F8AF;Lo;0;L;61DE;;;;N;;;;; +2F8B0;CJK COMPATIBILITY IDEOGRAPH-2F8B0;Lo;0;L;61F2;;;;N;;;;; +2F8B1;CJK COMPATIBILITY IDEOGRAPH-2F8B1;Lo;0;L;61F6;;;;N;;;;; +2F8B2;CJK COMPATIBILITY IDEOGRAPH-2F8B2;Lo;0;L;6210;;;;N;;;;; +2F8B3;CJK COMPATIBILITY IDEOGRAPH-2F8B3;Lo;0;L;621B;;;;N;;;;; +2F8B4;CJK COMPATIBILITY IDEOGRAPH-2F8B4;Lo;0;L;625D;;;;N;;;;; +2F8B5;CJK COMPATIBILITY IDEOGRAPH-2F8B5;Lo;0;L;62B1;;;;N;;;;; +2F8B6;CJK COMPATIBILITY IDEOGRAPH-2F8B6;Lo;0;L;62D4;;;;N;;;;; +2F8B7;CJK COMPATIBILITY IDEOGRAPH-2F8B7;Lo;0;L;6350;;;;N;;;;; +2F8B8;CJK COMPATIBILITY IDEOGRAPH-2F8B8;Lo;0;L;22B0C;;;;N;;;;; +2F8B9;CJK COMPATIBILITY IDEOGRAPH-2F8B9;Lo;0;L;633D;;;;N;;;;; +2F8BA;CJK COMPATIBILITY IDEOGRAPH-2F8BA;Lo;0;L;62FC;;;;N;;;;; +2F8BB;CJK COMPATIBILITY IDEOGRAPH-2F8BB;Lo;0;L;6368;;;;N;;;;; +2F8BC;CJK COMPATIBILITY IDEOGRAPH-2F8BC;Lo;0;L;6383;;;;N;;;;; +2F8BD;CJK COMPATIBILITY IDEOGRAPH-2F8BD;Lo;0;L;63E4;;;;N;;;;; +2F8BE;CJK COMPATIBILITY IDEOGRAPH-2F8BE;Lo;0;L;22BF1;;;;N;;;;; +2F8BF;CJK COMPATIBILITY IDEOGRAPH-2F8BF;Lo;0;L;6422;;;;N;;;;; +2F8C0;CJK COMPATIBILITY IDEOGRAPH-2F8C0;Lo;0;L;63C5;;;;N;;;;; +2F8C1;CJK COMPATIBILITY IDEOGRAPH-2F8C1;Lo;0;L;63A9;;;;N;;;;; +2F8C2;CJK COMPATIBILITY IDEOGRAPH-2F8C2;Lo;0;L;3A2E;;;;N;;;;; +2F8C3;CJK COMPATIBILITY IDEOGRAPH-2F8C3;Lo;0;L;6469;;;;N;;;;; +2F8C4;CJK COMPATIBILITY IDEOGRAPH-2F8C4;Lo;0;L;647E;;;;N;;;;; +2F8C5;CJK COMPATIBILITY IDEOGRAPH-2F8C5;Lo;0;L;649D;;;;N;;;;; +2F8C6;CJK COMPATIBILITY IDEOGRAPH-2F8C6;Lo;0;L;6477;;;;N;;;;; +2F8C7;CJK COMPATIBILITY IDEOGRAPH-2F8C7;Lo;0;L;3A6C;;;;N;;;;; +2F8C8;CJK COMPATIBILITY IDEOGRAPH-2F8C8;Lo;0;L;654F;;;;N;;;;; +2F8C9;CJK COMPATIBILITY IDEOGRAPH-2F8C9;Lo;0;L;656C;;;;N;;;;; +2F8CA;CJK COMPATIBILITY IDEOGRAPH-2F8CA;Lo;0;L;2300A;;;;N;;;;; +2F8CB;CJK COMPATIBILITY IDEOGRAPH-2F8CB;Lo;0;L;65E3;;;;N;;;;; +2F8CC;CJK COMPATIBILITY IDEOGRAPH-2F8CC;Lo;0;L;66F8;;;;N;;;;; +2F8CD;CJK COMPATIBILITY IDEOGRAPH-2F8CD;Lo;0;L;6649;;;;N;;;;; +2F8CE;CJK COMPATIBILITY IDEOGRAPH-2F8CE;Lo;0;L;3B19;;;;N;;;;; +2F8CF;CJK COMPATIBILITY IDEOGRAPH-2F8CF;Lo;0;L;6691;;;;N;;;;; +2F8D0;CJK COMPATIBILITY IDEOGRAPH-2F8D0;Lo;0;L;3B08;;;;N;;;;; +2F8D1;CJK COMPATIBILITY IDEOGRAPH-2F8D1;Lo;0;L;3AE4;;;;N;;;;; +2F8D2;CJK COMPATIBILITY IDEOGRAPH-2F8D2;Lo;0;L;5192;;;;N;;;;; +2F8D3;CJK COMPATIBILITY IDEOGRAPH-2F8D3;Lo;0;L;5195;;;;N;;;;; +2F8D4;CJK COMPATIBILITY IDEOGRAPH-2F8D4;Lo;0;L;6700;;;;N;;;;; +2F8D5;CJK COMPATIBILITY IDEOGRAPH-2F8D5;Lo;0;L;669C;;;;N;;;;; +2F8D6;CJK COMPATIBILITY IDEOGRAPH-2F8D6;Lo;0;L;80AD;;;;N;;;;; +2F8D7;CJK COMPATIBILITY IDEOGRAPH-2F8D7;Lo;0;L;43D9;;;;N;;;;; +2F8D8;CJK COMPATIBILITY IDEOGRAPH-2F8D8;Lo;0;L;6717;;;;N;;;;; +2F8D9;CJK COMPATIBILITY IDEOGRAPH-2F8D9;Lo;0;L;671B;;;;N;;;;; +2F8DA;CJK COMPATIBILITY IDEOGRAPH-2F8DA;Lo;0;L;6721;;;;N;;;;; +2F8DB;CJK COMPATIBILITY IDEOGRAPH-2F8DB;Lo;0;L;675E;;;;N;;;;; +2F8DC;CJK COMPATIBILITY IDEOGRAPH-2F8DC;Lo;0;L;6753;;;;N;;;;; +2F8DD;CJK COMPATIBILITY IDEOGRAPH-2F8DD;Lo;0;L;233C3;;;;N;;;;; +2F8DE;CJK COMPATIBILITY IDEOGRAPH-2F8DE;Lo;0;L;3B49;;;;N;;;;; +2F8DF;CJK COMPATIBILITY IDEOGRAPH-2F8DF;Lo;0;L;67FA;;;;N;;;;; +2F8E0;CJK COMPATIBILITY IDEOGRAPH-2F8E0;Lo;0;L;6785;;;;N;;;;; +2F8E1;CJK COMPATIBILITY IDEOGRAPH-2F8E1;Lo;0;L;6852;;;;N;;;;; +2F8E2;CJK COMPATIBILITY IDEOGRAPH-2F8E2;Lo;0;L;6885;;;;N;;;;; +2F8E3;CJK COMPATIBILITY IDEOGRAPH-2F8E3;Lo;0;L;2346D;;;;N;;;;; +2F8E4;CJK COMPATIBILITY IDEOGRAPH-2F8E4;Lo;0;L;688E;;;;N;;;;; +2F8E5;CJK COMPATIBILITY IDEOGRAPH-2F8E5;Lo;0;L;681F;;;;N;;;;; +2F8E6;CJK COMPATIBILITY IDEOGRAPH-2F8E6;Lo;0;L;6914;;;;N;;;;; +2F8E7;CJK COMPATIBILITY IDEOGRAPH-2F8E7;Lo;0;L;3B9D;;;;N;;;;; +2F8E8;CJK COMPATIBILITY IDEOGRAPH-2F8E8;Lo;0;L;6942;;;;N;;;;; +2F8E9;CJK COMPATIBILITY IDEOGRAPH-2F8E9;Lo;0;L;69A3;;;;N;;;;; +2F8EA;CJK COMPATIBILITY IDEOGRAPH-2F8EA;Lo;0;L;69EA;;;;N;;;;; +2F8EB;CJK COMPATIBILITY IDEOGRAPH-2F8EB;Lo;0;L;6AA8;;;;N;;;;; +2F8EC;CJK COMPATIBILITY IDEOGRAPH-2F8EC;Lo;0;L;236A3;;;;N;;;;; +2F8ED;CJK COMPATIBILITY IDEOGRAPH-2F8ED;Lo;0;L;6ADB;;;;N;;;;; +2F8EE;CJK COMPATIBILITY IDEOGRAPH-2F8EE;Lo;0;L;3C18;;;;N;;;;; +2F8EF;CJK COMPATIBILITY IDEOGRAPH-2F8EF;Lo;0;L;6B21;;;;N;;;;; +2F8F0;CJK COMPATIBILITY IDEOGRAPH-2F8F0;Lo;0;L;238A7;;;;N;;;;; +2F8F1;CJK COMPATIBILITY IDEOGRAPH-2F8F1;Lo;0;L;6B54;;;;N;;;;; +2F8F2;CJK COMPATIBILITY IDEOGRAPH-2F8F2;Lo;0;L;3C4E;;;;N;;;;; +2F8F3;CJK COMPATIBILITY IDEOGRAPH-2F8F3;Lo;0;L;6B72;;;;N;;;;; +2F8F4;CJK COMPATIBILITY IDEOGRAPH-2F8F4;Lo;0;L;6B9F;;;;N;;;;; +2F8F5;CJK COMPATIBILITY IDEOGRAPH-2F8F5;Lo;0;L;6BBA;;;;N;;;;; +2F8F6;CJK COMPATIBILITY IDEOGRAPH-2F8F6;Lo;0;L;6BBB;;;;N;;;;; +2F8F7;CJK COMPATIBILITY IDEOGRAPH-2F8F7;Lo;0;L;23A8D;;;;N;;;;; +2F8F8;CJK COMPATIBILITY IDEOGRAPH-2F8F8;Lo;0;L;21D0B;;;;N;;;;; +2F8F9;CJK COMPATIBILITY IDEOGRAPH-2F8F9;Lo;0;L;23AFA;;;;N;;;;; +2F8FA;CJK COMPATIBILITY IDEOGRAPH-2F8FA;Lo;0;L;6C4E;;;;N;;;;; +2F8FB;CJK COMPATIBILITY IDEOGRAPH-2F8FB;Lo;0;L;23CBC;;;;N;;;;; +2F8FC;CJK COMPATIBILITY IDEOGRAPH-2F8FC;Lo;0;L;6CBF;;;;N;;;;; +2F8FD;CJK COMPATIBILITY IDEOGRAPH-2F8FD;Lo;0;L;6CCD;;;;N;;;;; +2F8FE;CJK COMPATIBILITY IDEOGRAPH-2F8FE;Lo;0;L;6C67;;;;N;;;;; +2F8FF;CJK COMPATIBILITY IDEOGRAPH-2F8FF;Lo;0;L;6D16;;;;N;;;;; +2F900;CJK COMPATIBILITY IDEOGRAPH-2F900;Lo;0;L;6D3E;;;;N;;;;; +2F901;CJK COMPATIBILITY IDEOGRAPH-2F901;Lo;0;L;6D77;;;;N;;;;; +2F902;CJK COMPATIBILITY IDEOGRAPH-2F902;Lo;0;L;6D41;;;;N;;;;; +2F903;CJK COMPATIBILITY IDEOGRAPH-2F903;Lo;0;L;6D69;;;;N;;;;; +2F904;CJK COMPATIBILITY IDEOGRAPH-2F904;Lo;0;L;6D78;;;;N;;;;; +2F905;CJK COMPATIBILITY IDEOGRAPH-2F905;Lo;0;L;6D85;;;;N;;;;; +2F906;CJK COMPATIBILITY IDEOGRAPH-2F906;Lo;0;L;23D1E;;;;N;;;;; +2F907;CJK COMPATIBILITY IDEOGRAPH-2F907;Lo;0;L;6D34;;;;N;;;;; +2F908;CJK COMPATIBILITY IDEOGRAPH-2F908;Lo;0;L;6E2F;;;;N;;;;; +2F909;CJK COMPATIBILITY IDEOGRAPH-2F909;Lo;0;L;6E6E;;;;N;;;;; +2F90A;CJK COMPATIBILITY IDEOGRAPH-2F90A;Lo;0;L;3D33;;;;N;;;;; +2F90B;CJK COMPATIBILITY IDEOGRAPH-2F90B;Lo;0;L;6ECB;;;;N;;;;; +2F90C;CJK COMPATIBILITY IDEOGRAPH-2F90C;Lo;0;L;6EC7;;;;N;;;;; +2F90D;CJK COMPATIBILITY IDEOGRAPH-2F90D;Lo;0;L;23ED1;;;;N;;;;; +2F90E;CJK COMPATIBILITY IDEOGRAPH-2F90E;Lo;0;L;6DF9;;;;N;;;;; +2F90F;CJK COMPATIBILITY IDEOGRAPH-2F90F;Lo;0;L;6F6E;;;;N;;;;; +2F910;CJK COMPATIBILITY IDEOGRAPH-2F910;Lo;0;L;23F5E;;;;N;;;;; +2F911;CJK COMPATIBILITY IDEOGRAPH-2F911;Lo;0;L;23F8E;;;;N;;;;; +2F912;CJK COMPATIBILITY IDEOGRAPH-2F912;Lo;0;L;6FC6;;;;N;;;;; +2F913;CJK COMPATIBILITY IDEOGRAPH-2F913;Lo;0;L;7039;;;;N;;;;; +2F914;CJK COMPATIBILITY IDEOGRAPH-2F914;Lo;0;L;701E;;;;N;;;;; +2F915;CJK COMPATIBILITY IDEOGRAPH-2F915;Lo;0;L;701B;;;;N;;;;; +2F916;CJK COMPATIBILITY IDEOGRAPH-2F916;Lo;0;L;3D96;;;;N;;;;; +2F917;CJK COMPATIBILITY IDEOGRAPH-2F917;Lo;0;L;704A;;;;N;;;;; +2F918;CJK COMPATIBILITY IDEOGRAPH-2F918;Lo;0;L;707D;;;;N;;;;; +2F919;CJK COMPATIBILITY IDEOGRAPH-2F919;Lo;0;L;7077;;;;N;;;;; +2F91A;CJK COMPATIBILITY IDEOGRAPH-2F91A;Lo;0;L;70AD;;;;N;;;;; +2F91B;CJK COMPATIBILITY IDEOGRAPH-2F91B;Lo;0;L;20525;;;;N;;;;; +2F91C;CJK COMPATIBILITY IDEOGRAPH-2F91C;Lo;0;L;7145;;;;N;;;;; +2F91D;CJK COMPATIBILITY IDEOGRAPH-2F91D;Lo;0;L;24263;;;;N;;;;; +2F91E;CJK COMPATIBILITY IDEOGRAPH-2F91E;Lo;0;L;719C;;;;N;;;;; +2F91F;CJK COMPATIBILITY IDEOGRAPH-2F91F;Lo;0;L;243AB;;;;N;;;;; +2F920;CJK COMPATIBILITY IDEOGRAPH-2F920;Lo;0;L;7228;;;;N;;;;; +2F921;CJK COMPATIBILITY IDEOGRAPH-2F921;Lo;0;L;7235;;;;N;;;;; +2F922;CJK COMPATIBILITY IDEOGRAPH-2F922;Lo;0;L;7250;;;;N;;;;; +2F923;CJK COMPATIBILITY IDEOGRAPH-2F923;Lo;0;L;24608;;;;N;;;;; +2F924;CJK COMPATIBILITY IDEOGRAPH-2F924;Lo;0;L;7280;;;;N;;;;; +2F925;CJK COMPATIBILITY IDEOGRAPH-2F925;Lo;0;L;7295;;;;N;;;;; +2F926;CJK COMPATIBILITY IDEOGRAPH-2F926;Lo;0;L;24735;;;;N;;;;; +2F927;CJK COMPATIBILITY IDEOGRAPH-2F927;Lo;0;L;24814;;;;N;;;;; +2F928;CJK COMPATIBILITY IDEOGRAPH-2F928;Lo;0;L;737A;;;;N;;;;; +2F929;CJK COMPATIBILITY IDEOGRAPH-2F929;Lo;0;L;738B;;;;N;;;;; +2F92A;CJK COMPATIBILITY IDEOGRAPH-2F92A;Lo;0;L;3EAC;;;;N;;;;; +2F92B;CJK COMPATIBILITY IDEOGRAPH-2F92B;Lo;0;L;73A5;;;;N;;;;; +2F92C;CJK COMPATIBILITY IDEOGRAPH-2F92C;Lo;0;L;3EB8;;;;N;;;;; +2F92D;CJK COMPATIBILITY IDEOGRAPH-2F92D;Lo;0;L;3EB8;;;;N;;;;; +2F92E;CJK COMPATIBILITY IDEOGRAPH-2F92E;Lo;0;L;7447;;;;N;;;;; +2F92F;CJK COMPATIBILITY IDEOGRAPH-2F92F;Lo;0;L;745C;;;;N;;;;; +2F930;CJK COMPATIBILITY IDEOGRAPH-2F930;Lo;0;L;7471;;;;N;;;;; +2F931;CJK COMPATIBILITY IDEOGRAPH-2F931;Lo;0;L;7485;;;;N;;;;; +2F932;CJK COMPATIBILITY IDEOGRAPH-2F932;Lo;0;L;74CA;;;;N;;;;; +2F933;CJK COMPATIBILITY IDEOGRAPH-2F933;Lo;0;L;3F1B;;;;N;;;;; +2F934;CJK COMPATIBILITY IDEOGRAPH-2F934;Lo;0;L;7524;;;;N;;;;; +2F935;CJK COMPATIBILITY IDEOGRAPH-2F935;Lo;0;L;24C36;;;;N;;;;; +2F936;CJK COMPATIBILITY IDEOGRAPH-2F936;Lo;0;L;753E;;;;N;;;;; +2F937;CJK COMPATIBILITY IDEOGRAPH-2F937;Lo;0;L;24C92;;;;N;;;;; +2F938;CJK COMPATIBILITY IDEOGRAPH-2F938;Lo;0;L;7570;;;;N;;;;; +2F939;CJK COMPATIBILITY IDEOGRAPH-2F939;Lo;0;L;2219F;;;;N;;;;; +2F93A;CJK COMPATIBILITY IDEOGRAPH-2F93A;Lo;0;L;7610;;;;N;;;;; +2F93B;CJK COMPATIBILITY IDEOGRAPH-2F93B;Lo;0;L;24FA1;;;;N;;;;; +2F93C;CJK COMPATIBILITY IDEOGRAPH-2F93C;Lo;0;L;24FB8;;;;N;;;;; +2F93D;CJK COMPATIBILITY IDEOGRAPH-2F93D;Lo;0;L;25044;;;;N;;;;; +2F93E;CJK COMPATIBILITY IDEOGRAPH-2F93E;Lo;0;L;3FFC;;;;N;;;;; +2F93F;CJK COMPATIBILITY IDEOGRAPH-2F93F;Lo;0;L;4008;;;;N;;;;; +2F940;CJK COMPATIBILITY IDEOGRAPH-2F940;Lo;0;L;76F4;;;;N;;;;; +2F941;CJK COMPATIBILITY IDEOGRAPH-2F941;Lo;0;L;250F3;;;;N;;;;; +2F942;CJK COMPATIBILITY IDEOGRAPH-2F942;Lo;0;L;250F2;;;;N;;;;; +2F943;CJK COMPATIBILITY IDEOGRAPH-2F943;Lo;0;L;25119;;;;N;;;;; +2F944;CJK COMPATIBILITY IDEOGRAPH-2F944;Lo;0;L;25133;;;;N;;;;; +2F945;CJK COMPATIBILITY IDEOGRAPH-2F945;Lo;0;L;771E;;;;N;;;;; +2F946;CJK COMPATIBILITY IDEOGRAPH-2F946;Lo;0;L;771F;;;;N;;;;; +2F947;CJK COMPATIBILITY IDEOGRAPH-2F947;Lo;0;L;771F;;;;N;;;;; +2F948;CJK COMPATIBILITY IDEOGRAPH-2F948;Lo;0;L;774A;;;;N;;;;; +2F949;CJK COMPATIBILITY IDEOGRAPH-2F949;Lo;0;L;4039;;;;N;;;;; +2F94A;CJK COMPATIBILITY IDEOGRAPH-2F94A;Lo;0;L;778B;;;;N;;;;; +2F94B;CJK COMPATIBILITY IDEOGRAPH-2F94B;Lo;0;L;4046;;;;N;;;;; +2F94C;CJK COMPATIBILITY IDEOGRAPH-2F94C;Lo;0;L;4096;;;;N;;;;; +2F94D;CJK COMPATIBILITY IDEOGRAPH-2F94D;Lo;0;L;2541D;;;;N;;;;; +2F94E;CJK COMPATIBILITY IDEOGRAPH-2F94E;Lo;0;L;784E;;;;N;;;;; +2F94F;CJK COMPATIBILITY IDEOGRAPH-2F94F;Lo;0;L;788C;;;;N;;;;; +2F950;CJK COMPATIBILITY IDEOGRAPH-2F950;Lo;0;L;78CC;;;;N;;;;; +2F951;CJK COMPATIBILITY IDEOGRAPH-2F951;Lo;0;L;40E3;;;;N;;;;; +2F952;CJK COMPATIBILITY IDEOGRAPH-2F952;Lo;0;L;25626;;;;N;;;;; +2F953;CJK COMPATIBILITY IDEOGRAPH-2F953;Lo;0;L;7956;;;;N;;;;; +2F954;CJK COMPATIBILITY IDEOGRAPH-2F954;Lo;0;L;2569A;;;;N;;;;; +2F955;CJK COMPATIBILITY IDEOGRAPH-2F955;Lo;0;L;256C5;;;;N;;;;; +2F956;CJK COMPATIBILITY IDEOGRAPH-2F956;Lo;0;L;798F;;;;N;;;;; +2F957;CJK COMPATIBILITY IDEOGRAPH-2F957;Lo;0;L;79EB;;;;N;;;;; +2F958;CJK COMPATIBILITY IDEOGRAPH-2F958;Lo;0;L;412F;;;;N;;;;; +2F959;CJK COMPATIBILITY IDEOGRAPH-2F959;Lo;0;L;7A40;;;;N;;;;; +2F95A;CJK COMPATIBILITY IDEOGRAPH-2F95A;Lo;0;L;7A4A;;;;N;;;;; +2F95B;CJK COMPATIBILITY IDEOGRAPH-2F95B;Lo;0;L;7A4F;;;;N;;;;; +2F95C;CJK COMPATIBILITY IDEOGRAPH-2F95C;Lo;0;L;2597C;;;;N;;;;; +2F95D;CJK COMPATIBILITY IDEOGRAPH-2F95D;Lo;0;L;25AA7;;;;N;;;;; +2F95E;CJK COMPATIBILITY IDEOGRAPH-2F95E;Lo;0;L;25AA7;;;;N;;;;; +2F95F;CJK COMPATIBILITY IDEOGRAPH-2F95F;Lo;0;L;7AEE;;;;N;;;;; +2F960;CJK COMPATIBILITY IDEOGRAPH-2F960;Lo;0;L;4202;;;;N;;;;; +2F961;CJK COMPATIBILITY IDEOGRAPH-2F961;Lo;0;L;25BAB;;;;N;;;;; +2F962;CJK COMPATIBILITY IDEOGRAPH-2F962;Lo;0;L;7BC6;;;;N;;;;; +2F963;CJK COMPATIBILITY IDEOGRAPH-2F963;Lo;0;L;7BC9;;;;N;;;;; +2F964;CJK COMPATIBILITY IDEOGRAPH-2F964;Lo;0;L;4227;;;;N;;;;; +2F965;CJK COMPATIBILITY IDEOGRAPH-2F965;Lo;0;L;25C80;;;;N;;;;; +2F966;CJK COMPATIBILITY IDEOGRAPH-2F966;Lo;0;L;7CD2;;;;N;;;;; +2F967;CJK COMPATIBILITY IDEOGRAPH-2F967;Lo;0;L;42A0;;;;N;;;;; +2F968;CJK COMPATIBILITY IDEOGRAPH-2F968;Lo;0;L;7CE8;;;;N;;;;; +2F969;CJK COMPATIBILITY IDEOGRAPH-2F969;Lo;0;L;7CE3;;;;N;;;;; +2F96A;CJK COMPATIBILITY IDEOGRAPH-2F96A;Lo;0;L;7D00;;;;N;;;;; +2F96B;CJK COMPATIBILITY IDEOGRAPH-2F96B;Lo;0;L;25F86;;;;N;;;;; +2F96C;CJK COMPATIBILITY IDEOGRAPH-2F96C;Lo;0;L;7D63;;;;N;;;;; +2F96D;CJK COMPATIBILITY IDEOGRAPH-2F96D;Lo;0;L;4301;;;;N;;;;; +2F96E;CJK COMPATIBILITY IDEOGRAPH-2F96E;Lo;0;L;7DC7;;;;N;;;;; +2F96F;CJK COMPATIBILITY IDEOGRAPH-2F96F;Lo;0;L;7E02;;;;N;;;;; +2F970;CJK COMPATIBILITY IDEOGRAPH-2F970;Lo;0;L;7E45;;;;N;;;;; +2F971;CJK COMPATIBILITY IDEOGRAPH-2F971;Lo;0;L;4334;;;;N;;;;; +2F972;CJK COMPATIBILITY IDEOGRAPH-2F972;Lo;0;L;26228;;;;N;;;;; +2F973;CJK COMPATIBILITY IDEOGRAPH-2F973;Lo;0;L;26247;;;;N;;;;; +2F974;CJK COMPATIBILITY IDEOGRAPH-2F974;Lo;0;L;4359;;;;N;;;;; +2F975;CJK COMPATIBILITY IDEOGRAPH-2F975;Lo;0;L;262D9;;;;N;;;;; +2F976;CJK COMPATIBILITY IDEOGRAPH-2F976;Lo;0;L;7F7A;;;;N;;;;; +2F977;CJK COMPATIBILITY IDEOGRAPH-2F977;Lo;0;L;2633E;;;;N;;;;; +2F978;CJK COMPATIBILITY IDEOGRAPH-2F978;Lo;0;L;7F95;;;;N;;;;; +2F979;CJK COMPATIBILITY IDEOGRAPH-2F979;Lo;0;L;7FFA;;;;N;;;;; +2F97A;CJK COMPATIBILITY IDEOGRAPH-2F97A;Lo;0;L;8005;;;;N;;;;; +2F97B;CJK COMPATIBILITY IDEOGRAPH-2F97B;Lo;0;L;264DA;;;;N;;;;; +2F97C;CJK COMPATIBILITY IDEOGRAPH-2F97C;Lo;0;L;26523;;;;N;;;;; +2F97D;CJK COMPATIBILITY IDEOGRAPH-2F97D;Lo;0;L;8060;;;;N;;;;; +2F97E;CJK COMPATIBILITY IDEOGRAPH-2F97E;Lo;0;L;265A8;;;;N;;;;; +2F97F;CJK COMPATIBILITY IDEOGRAPH-2F97F;Lo;0;L;8070;;;;N;;;;; +2F980;CJK COMPATIBILITY IDEOGRAPH-2F980;Lo;0;L;2335F;;;;N;;;;; +2F981;CJK COMPATIBILITY IDEOGRAPH-2F981;Lo;0;L;43D5;;;;N;;;;; +2F982;CJK COMPATIBILITY IDEOGRAPH-2F982;Lo;0;L;80B2;;;;N;;;;; +2F983;CJK COMPATIBILITY IDEOGRAPH-2F983;Lo;0;L;8103;;;;N;;;;; +2F984;CJK COMPATIBILITY IDEOGRAPH-2F984;Lo;0;L;440B;;;;N;;;;; +2F985;CJK COMPATIBILITY IDEOGRAPH-2F985;Lo;0;L;813E;;;;N;;;;; +2F986;CJK COMPATIBILITY IDEOGRAPH-2F986;Lo;0;L;5AB5;;;;N;;;;; +2F987;CJK COMPATIBILITY IDEOGRAPH-2F987;Lo;0;L;267A7;;;;N;;;;; +2F988;CJK COMPATIBILITY IDEOGRAPH-2F988;Lo;0;L;267B5;;;;N;;;;; +2F989;CJK COMPATIBILITY IDEOGRAPH-2F989;Lo;0;L;23393;;;;N;;;;; +2F98A;CJK COMPATIBILITY IDEOGRAPH-2F98A;Lo;0;L;2339C;;;;N;;;;; +2F98B;CJK COMPATIBILITY IDEOGRAPH-2F98B;Lo;0;L;8201;;;;N;;;;; +2F98C;CJK COMPATIBILITY IDEOGRAPH-2F98C;Lo;0;L;8204;;;;N;;;;; +2F98D;CJK COMPATIBILITY IDEOGRAPH-2F98D;Lo;0;L;8F9E;;;;N;;;;; +2F98E;CJK COMPATIBILITY IDEOGRAPH-2F98E;Lo;0;L;446B;;;;N;;;;; +2F98F;CJK COMPATIBILITY IDEOGRAPH-2F98F;Lo;0;L;8291;;;;N;;;;; +2F990;CJK COMPATIBILITY IDEOGRAPH-2F990;Lo;0;L;828B;;;;N;;;;; +2F991;CJK COMPATIBILITY IDEOGRAPH-2F991;Lo;0;L;829D;;;;N;;;;; +2F992;CJK COMPATIBILITY IDEOGRAPH-2F992;Lo;0;L;52B3;;;;N;;;;; +2F993;CJK COMPATIBILITY IDEOGRAPH-2F993;Lo;0;L;82B1;;;;N;;;;; +2F994;CJK COMPATIBILITY IDEOGRAPH-2F994;Lo;0;L;82B3;;;;N;;;;; +2F995;CJK COMPATIBILITY IDEOGRAPH-2F995;Lo;0;L;82BD;;;;N;;;;; +2F996;CJK COMPATIBILITY IDEOGRAPH-2F996;Lo;0;L;82E6;;;;N;;;;; +2F997;CJK COMPATIBILITY IDEOGRAPH-2F997;Lo;0;L;26B3C;;;;N;;;;; +2F998;CJK COMPATIBILITY IDEOGRAPH-2F998;Lo;0;L;82E5;;;;N;;;;; +2F999;CJK COMPATIBILITY IDEOGRAPH-2F999;Lo;0;L;831D;;;;N;;;;; +2F99A;CJK COMPATIBILITY IDEOGRAPH-2F99A;Lo;0;L;8363;;;;N;;;;; +2F99B;CJK COMPATIBILITY IDEOGRAPH-2F99B;Lo;0;L;83AD;;;;N;;;;; +2F99C;CJK COMPATIBILITY IDEOGRAPH-2F99C;Lo;0;L;8323;;;;N;;;;; +2F99D;CJK COMPATIBILITY IDEOGRAPH-2F99D;Lo;0;L;83BD;;;;N;;;;; +2F99E;CJK COMPATIBILITY IDEOGRAPH-2F99E;Lo;0;L;83E7;;;;N;;;;; +2F99F;CJK COMPATIBILITY IDEOGRAPH-2F99F;Lo;0;L;8457;;;;N;;;;; +2F9A0;CJK COMPATIBILITY IDEOGRAPH-2F9A0;Lo;0;L;8353;;;;N;;;;; +2F9A1;CJK COMPATIBILITY IDEOGRAPH-2F9A1;Lo;0;L;83CA;;;;N;;;;; +2F9A2;CJK COMPATIBILITY IDEOGRAPH-2F9A2;Lo;0;L;83CC;;;;N;;;;; +2F9A3;CJK COMPATIBILITY IDEOGRAPH-2F9A3;Lo;0;L;83DC;;;;N;;;;; +2F9A4;CJK COMPATIBILITY IDEOGRAPH-2F9A4;Lo;0;L;26C36;;;;N;;;;; +2F9A5;CJK COMPATIBILITY IDEOGRAPH-2F9A5;Lo;0;L;26D6B;;;;N;;;;; +2F9A6;CJK COMPATIBILITY IDEOGRAPH-2F9A6;Lo;0;L;26CD5;;;;N;;;;; +2F9A7;CJK COMPATIBILITY IDEOGRAPH-2F9A7;Lo;0;L;452B;;;;N;;;;; +2F9A8;CJK COMPATIBILITY IDEOGRAPH-2F9A8;Lo;0;L;84F1;;;;N;;;;; +2F9A9;CJK COMPATIBILITY IDEOGRAPH-2F9A9;Lo;0;L;84F3;;;;N;;;;; +2F9AA;CJK COMPATIBILITY IDEOGRAPH-2F9AA;Lo;0;L;8516;;;;N;;;;; +2F9AB;CJK COMPATIBILITY IDEOGRAPH-2F9AB;Lo;0;L;273CA;;;;N;;;;; +2F9AC;CJK COMPATIBILITY IDEOGRAPH-2F9AC;Lo;0;L;8564;;;;N;;;;; +2F9AD;CJK COMPATIBILITY IDEOGRAPH-2F9AD;Lo;0;L;26F2C;;;;N;;;;; +2F9AE;CJK COMPATIBILITY IDEOGRAPH-2F9AE;Lo;0;L;455D;;;;N;;;;; +2F9AF;CJK COMPATIBILITY IDEOGRAPH-2F9AF;Lo;0;L;4561;;;;N;;;;; +2F9B0;CJK COMPATIBILITY IDEOGRAPH-2F9B0;Lo;0;L;26FB1;;;;N;;;;; +2F9B1;CJK COMPATIBILITY IDEOGRAPH-2F9B1;Lo;0;L;270D2;;;;N;;;;; +2F9B2;CJK COMPATIBILITY IDEOGRAPH-2F9B2;Lo;0;L;456B;;;;N;;;;; +2F9B3;CJK COMPATIBILITY IDEOGRAPH-2F9B3;Lo;0;L;8650;;;;N;;;;; +2F9B4;CJK COMPATIBILITY IDEOGRAPH-2F9B4;Lo;0;L;865C;;;;N;;;;; +2F9B5;CJK COMPATIBILITY IDEOGRAPH-2F9B5;Lo;0;L;8667;;;;N;;;;; +2F9B6;CJK COMPATIBILITY IDEOGRAPH-2F9B6;Lo;0;L;8669;;;;N;;;;; +2F9B7;CJK COMPATIBILITY IDEOGRAPH-2F9B7;Lo;0;L;86A9;;;;N;;;;; +2F9B8;CJK COMPATIBILITY IDEOGRAPH-2F9B8;Lo;0;L;8688;;;;N;;;;; +2F9B9;CJK COMPATIBILITY IDEOGRAPH-2F9B9;Lo;0;L;870E;;;;N;;;;; +2F9BA;CJK COMPATIBILITY IDEOGRAPH-2F9BA;Lo;0;L;86E2;;;;N;;;;; +2F9BB;CJK COMPATIBILITY IDEOGRAPH-2F9BB;Lo;0;L;8779;;;;N;;;;; +2F9BC;CJK COMPATIBILITY IDEOGRAPH-2F9BC;Lo;0;L;8728;;;;N;;;;; +2F9BD;CJK COMPATIBILITY IDEOGRAPH-2F9BD;Lo;0;L;876B;;;;N;;;;; +2F9BE;CJK COMPATIBILITY IDEOGRAPH-2F9BE;Lo;0;L;8786;;;;N;;;;; +2F9BF;CJK COMPATIBILITY IDEOGRAPH-2F9BF;Lo;0;L;45D7;;;;N;;;;; +2F9C0;CJK COMPATIBILITY IDEOGRAPH-2F9C0;Lo;0;L;87E1;;;;N;;;;; +2F9C1;CJK COMPATIBILITY IDEOGRAPH-2F9C1;Lo;0;L;8801;;;;N;;;;; +2F9C2;CJK COMPATIBILITY IDEOGRAPH-2F9C2;Lo;0;L;45F9;;;;N;;;;; +2F9C3;CJK COMPATIBILITY IDEOGRAPH-2F9C3;Lo;0;L;8860;;;;N;;;;; +2F9C4;CJK COMPATIBILITY IDEOGRAPH-2F9C4;Lo;0;L;8863;;;;N;;;;; +2F9C5;CJK COMPATIBILITY IDEOGRAPH-2F9C5;Lo;0;L;27667;;;;N;;;;; +2F9C6;CJK COMPATIBILITY IDEOGRAPH-2F9C6;Lo;0;L;88D7;;;;N;;;;; +2F9C7;CJK COMPATIBILITY IDEOGRAPH-2F9C7;Lo;0;L;88DE;;;;N;;;;; +2F9C8;CJK COMPATIBILITY IDEOGRAPH-2F9C8;Lo;0;L;4635;;;;N;;;;; +2F9C9;CJK COMPATIBILITY IDEOGRAPH-2F9C9;Lo;0;L;88FA;;;;N;;;;; +2F9CA;CJK COMPATIBILITY IDEOGRAPH-2F9CA;Lo;0;L;34BB;;;;N;;;;; +2F9CB;CJK COMPATIBILITY IDEOGRAPH-2F9CB;Lo;0;L;278AE;;;;N;;;;; +2F9CC;CJK COMPATIBILITY IDEOGRAPH-2F9CC;Lo;0;L;27966;;;;N;;;;; +2F9CD;CJK COMPATIBILITY IDEOGRAPH-2F9CD;Lo;0;L;46BE;;;;N;;;;; +2F9CE;CJK COMPATIBILITY IDEOGRAPH-2F9CE;Lo;0;L;46C7;;;;N;;;;; +2F9CF;CJK COMPATIBILITY IDEOGRAPH-2F9CF;Lo;0;L;8AA0;;;;N;;;;; +2F9D0;CJK COMPATIBILITY IDEOGRAPH-2F9D0;Lo;0;L;8AED;;;;N;;;;; +2F9D1;CJK COMPATIBILITY IDEOGRAPH-2F9D1;Lo;0;L;8B8A;;;;N;;;;; +2F9D2;CJK COMPATIBILITY IDEOGRAPH-2F9D2;Lo;0;L;8C55;;;;N;;;;; +2F9D3;CJK COMPATIBILITY IDEOGRAPH-2F9D3;Lo;0;L;27CA8;;;;N;;;;; +2F9D4;CJK COMPATIBILITY IDEOGRAPH-2F9D4;Lo;0;L;8CAB;;;;N;;;;; +2F9D5;CJK COMPATIBILITY IDEOGRAPH-2F9D5;Lo;0;L;8CC1;;;;N;;;;; +2F9D6;CJK COMPATIBILITY IDEOGRAPH-2F9D6;Lo;0;L;8D1B;;;;N;;;;; +2F9D7;CJK COMPATIBILITY IDEOGRAPH-2F9D7;Lo;0;L;8D77;;;;N;;;;; +2F9D8;CJK COMPATIBILITY IDEOGRAPH-2F9D8;Lo;0;L;27F2F;;;;N;;;;; +2F9D9;CJK COMPATIBILITY IDEOGRAPH-2F9D9;Lo;0;L;20804;;;;N;;;;; +2F9DA;CJK COMPATIBILITY IDEOGRAPH-2F9DA;Lo;0;L;8DCB;;;;N;;;;; +2F9DB;CJK COMPATIBILITY IDEOGRAPH-2F9DB;Lo;0;L;8DBC;;;;N;;;;; +2F9DC;CJK COMPATIBILITY IDEOGRAPH-2F9DC;Lo;0;L;8DF0;;;;N;;;;; +2F9DD;CJK COMPATIBILITY IDEOGRAPH-2F9DD;Lo;0;L;208DE;;;;N;;;;; +2F9DE;CJK COMPATIBILITY IDEOGRAPH-2F9DE;Lo;0;L;8ED4;;;;N;;;;; +2F9DF;CJK COMPATIBILITY IDEOGRAPH-2F9DF;Lo;0;L;8F38;;;;N;;;;; +2F9E0;CJK COMPATIBILITY IDEOGRAPH-2F9E0;Lo;0;L;285D2;;;;N;;;;; +2F9E1;CJK COMPATIBILITY IDEOGRAPH-2F9E1;Lo;0;L;285ED;;;;N;;;;; +2F9E2;CJK COMPATIBILITY IDEOGRAPH-2F9E2;Lo;0;L;9094;;;;N;;;;; +2F9E3;CJK COMPATIBILITY IDEOGRAPH-2F9E3;Lo;0;L;90F1;;;;N;;;;; +2F9E4;CJK COMPATIBILITY IDEOGRAPH-2F9E4;Lo;0;L;9111;;;;N;;;;; +2F9E5;CJK COMPATIBILITY IDEOGRAPH-2F9E5;Lo;0;L;2872E;;;;N;;;;; +2F9E6;CJK COMPATIBILITY IDEOGRAPH-2F9E6;Lo;0;L;911B;;;;N;;;;; +2F9E7;CJK COMPATIBILITY IDEOGRAPH-2F9E7;Lo;0;L;9238;;;;N;;;;; +2F9E8;CJK COMPATIBILITY IDEOGRAPH-2F9E8;Lo;0;L;92D7;;;;N;;;;; +2F9E9;CJK COMPATIBILITY IDEOGRAPH-2F9E9;Lo;0;L;92D8;;;;N;;;;; +2F9EA;CJK COMPATIBILITY IDEOGRAPH-2F9EA;Lo;0;L;927C;;;;N;;;;; +2F9EB;CJK COMPATIBILITY IDEOGRAPH-2F9EB;Lo;0;L;93F9;;;;N;;;;; +2F9EC;CJK COMPATIBILITY IDEOGRAPH-2F9EC;Lo;0;L;9415;;;;N;;;;; +2F9ED;CJK COMPATIBILITY IDEOGRAPH-2F9ED;Lo;0;L;28BFA;;;;N;;;;; +2F9EE;CJK COMPATIBILITY IDEOGRAPH-2F9EE;Lo;0;L;958B;;;;N;;;;; +2F9EF;CJK COMPATIBILITY IDEOGRAPH-2F9EF;Lo;0;L;4995;;;;N;;;;; +2F9F0;CJK COMPATIBILITY IDEOGRAPH-2F9F0;Lo;0;L;95B7;;;;N;;;;; +2F9F1;CJK COMPATIBILITY IDEOGRAPH-2F9F1;Lo;0;L;28D77;;;;N;;;;; +2F9F2;CJK COMPATIBILITY IDEOGRAPH-2F9F2;Lo;0;L;49E6;;;;N;;;;; +2F9F3;CJK COMPATIBILITY IDEOGRAPH-2F9F3;Lo;0;L;96C3;;;;N;;;;; +2F9F4;CJK COMPATIBILITY IDEOGRAPH-2F9F4;Lo;0;L;5DB2;;;;N;;;;; +2F9F5;CJK COMPATIBILITY IDEOGRAPH-2F9F5;Lo;0;L;9723;;;;N;;;;; +2F9F6;CJK COMPATIBILITY IDEOGRAPH-2F9F6;Lo;0;L;29145;;;;N;;;;; +2F9F7;CJK COMPATIBILITY IDEOGRAPH-2F9F7;Lo;0;L;2921A;;;;N;;;;; +2F9F8;CJK COMPATIBILITY IDEOGRAPH-2F9F8;Lo;0;L;4A6E;;;;N;;;;; +2F9F9;CJK COMPATIBILITY IDEOGRAPH-2F9F9;Lo;0;L;4A76;;;;N;;;;; +2F9FA;CJK COMPATIBILITY IDEOGRAPH-2F9FA;Lo;0;L;97E0;;;;N;;;;; +2F9FB;CJK COMPATIBILITY IDEOGRAPH-2F9FB;Lo;0;L;2940A;;;;N;;;;; +2F9FC;CJK COMPATIBILITY IDEOGRAPH-2F9FC;Lo;0;L;4AB2;;;;N;;;;; +2F9FD;CJK COMPATIBILITY IDEOGRAPH-2F9FD;Lo;0;L;29496;;;;N;;;;; +2F9FE;CJK COMPATIBILITY IDEOGRAPH-2F9FE;Lo;0;L;980B;;;;N;;;;; +2F9FF;CJK COMPATIBILITY IDEOGRAPH-2F9FF;Lo;0;L;980B;;;;N;;;;; +2FA00;CJK COMPATIBILITY IDEOGRAPH-2FA00;Lo;0;L;9829;;;;N;;;;; +2FA01;CJK COMPATIBILITY IDEOGRAPH-2FA01;Lo;0;L;295B6;;;;N;;;;; +2FA02;CJK COMPATIBILITY IDEOGRAPH-2FA02;Lo;0;L;98E2;;;;N;;;;; +2FA03;CJK COMPATIBILITY IDEOGRAPH-2FA03;Lo;0;L;4B33;;;;N;;;;; +2FA04;CJK COMPATIBILITY IDEOGRAPH-2FA04;Lo;0;L;9929;;;;N;;;;; +2FA05;CJK COMPATIBILITY IDEOGRAPH-2FA05;Lo;0;L;99A7;;;;N;;;;; +2FA06;CJK COMPATIBILITY IDEOGRAPH-2FA06;Lo;0;L;99C2;;;;N;;;;; +2FA07;CJK COMPATIBILITY IDEOGRAPH-2FA07;Lo;0;L;99FE;;;;N;;;;; +2FA08;CJK COMPATIBILITY IDEOGRAPH-2FA08;Lo;0;L;4BCE;;;;N;;;;; +2FA09;CJK COMPATIBILITY IDEOGRAPH-2FA09;Lo;0;L;29B30;;;;N;;;;; +2FA0A;CJK COMPATIBILITY IDEOGRAPH-2FA0A;Lo;0;L;9B12;;;;N;;;;; +2FA0B;CJK COMPATIBILITY IDEOGRAPH-2FA0B;Lo;0;L;9C40;;;;N;;;;; +2FA0C;CJK COMPATIBILITY IDEOGRAPH-2FA0C;Lo;0;L;9CFD;;;;N;;;;; +2FA0D;CJK COMPATIBILITY IDEOGRAPH-2FA0D;Lo;0;L;4CCE;;;;N;;;;; +2FA0E;CJK COMPATIBILITY IDEOGRAPH-2FA0E;Lo;0;L;4CED;;;;N;;;;; +2FA0F;CJK COMPATIBILITY IDEOGRAPH-2FA0F;Lo;0;L;9D67;;;;N;;;;; +2FA10;CJK COMPATIBILITY IDEOGRAPH-2FA10;Lo;0;L;2A0CE;;;;N;;;;; +2FA11;CJK COMPATIBILITY IDEOGRAPH-2FA11;Lo;0;L;4CF8;;;;N;;;;; +2FA12;CJK COMPATIBILITY IDEOGRAPH-2FA12;Lo;0;L;2A105;;;;N;;;;; +2FA13;CJK COMPATIBILITY IDEOGRAPH-2FA13;Lo;0;L;2A20E;;;;N;;;;; +2FA14;CJK COMPATIBILITY IDEOGRAPH-2FA14;Lo;0;L;2A291;;;;N;;;;; +2FA15;CJK COMPATIBILITY IDEOGRAPH-2FA15;Lo;0;L;9EBB;;;;N;;;;; +2FA16;CJK COMPATIBILITY IDEOGRAPH-2FA16;Lo;0;L;4D56;;;;N;;;;; +2FA17;CJK COMPATIBILITY IDEOGRAPH-2FA17;Lo;0;L;9EF9;;;;N;;;;; +2FA18;CJK COMPATIBILITY IDEOGRAPH-2FA18;Lo;0;L;9EFE;;;;N;;;;; +2FA19;CJK COMPATIBILITY IDEOGRAPH-2FA19;Lo;0;L;9F05;;;;N;;;;; +2FA1A;CJK COMPATIBILITY IDEOGRAPH-2FA1A;Lo;0;L;9F0F;;;;N;;;;; +2FA1B;CJK COMPATIBILITY IDEOGRAPH-2FA1B;Lo;0;L;9F16;;;;N;;;;; +2FA1C;CJK COMPATIBILITY IDEOGRAPH-2FA1C;Lo;0;L;9F3B;;;;N;;;;; +2FA1D;CJK COMPATIBILITY IDEOGRAPH-2FA1D;Lo;0;L;2A600;;;;N;;;;; +30000;;Lo;0;L;;;;;N;;;;; +3134A;;Lo;0;L;;;;;N;;;;; +E0001;LANGUAGE TAG;Cf;0;BN;;;;;N;;;;; +E0020;TAG SPACE;Cf;0;BN;;;;;N;;;;; +E0021;TAG EXCLAMATION MARK;Cf;0;BN;;;;;N;;;;; +E0022;TAG QUOTATION MARK;Cf;0;BN;;;;;N;;;;; +E0023;TAG NUMBER SIGN;Cf;0;BN;;;;;N;;;;; +E0024;TAG DOLLAR SIGN;Cf;0;BN;;;;;N;;;;; +E0025;TAG PERCENT SIGN;Cf;0;BN;;;;;N;;;;; +E0026;TAG AMPERSAND;Cf;0;BN;;;;;N;;;;; +E0027;TAG APOSTROPHE;Cf;0;BN;;;;;N;;;;; +E0028;TAG LEFT PARENTHESIS;Cf;0;BN;;;;;N;;;;; +E0029;TAG RIGHT PARENTHESIS;Cf;0;BN;;;;;N;;;;; +E002A;TAG ASTERISK;Cf;0;BN;;;;;N;;;;; +E002B;TAG PLUS SIGN;Cf;0;BN;;;;;N;;;;; +E002C;TAG COMMA;Cf;0;BN;;;;;N;;;;; +E002D;TAG HYPHEN-MINUS;Cf;0;BN;;;;;N;;;;; +E002E;TAG FULL STOP;Cf;0;BN;;;;;N;;;;; +E002F;TAG SOLIDUS;Cf;0;BN;;;;;N;;;;; +E0030;TAG DIGIT ZERO;Cf;0;BN;;;;;N;;;;; +E0031;TAG DIGIT ONE;Cf;0;BN;;;;;N;;;;; +E0032;TAG DIGIT TWO;Cf;0;BN;;;;;N;;;;; +E0033;TAG DIGIT THREE;Cf;0;BN;;;;;N;;;;; +E0034;TAG DIGIT FOUR;Cf;0;BN;;;;;N;;;;; +E0035;TAG DIGIT FIVE;Cf;0;BN;;;;;N;;;;; +E0036;TAG DIGIT SIX;Cf;0;BN;;;;;N;;;;; +E0037;TAG DIGIT SEVEN;Cf;0;BN;;;;;N;;;;; +E0038;TAG DIGIT EIGHT;Cf;0;BN;;;;;N;;;;; +E0039;TAG DIGIT NINE;Cf;0;BN;;;;;N;;;;; +E003A;TAG COLON;Cf;0;BN;;;;;N;;;;; +E003B;TAG SEMICOLON;Cf;0;BN;;;;;N;;;;; +E003C;TAG LESS-THAN SIGN;Cf;0;BN;;;;;N;;;;; +E003D;TAG EQUALS SIGN;Cf;0;BN;;;;;N;;;;; +E003E;TAG GREATER-THAN SIGN;Cf;0;BN;;;;;N;;;;; +E003F;TAG QUESTION MARK;Cf;0;BN;;;;;N;;;;; +E0040;TAG COMMERCIAL AT;Cf;0;BN;;;;;N;;;;; +E0041;TAG LATIN CAPITAL LETTER A;Cf;0;BN;;;;;N;;;;; +E0042;TAG LATIN CAPITAL LETTER B;Cf;0;BN;;;;;N;;;;; +E0043;TAG LATIN CAPITAL LETTER C;Cf;0;BN;;;;;N;;;;; +E0044;TAG LATIN CAPITAL LETTER D;Cf;0;BN;;;;;N;;;;; +E0045;TAG LATIN CAPITAL LETTER E;Cf;0;BN;;;;;N;;;;; +E0046;TAG LATIN CAPITAL LETTER F;Cf;0;BN;;;;;N;;;;; +E0047;TAG LATIN CAPITAL LETTER G;Cf;0;BN;;;;;N;;;;; +E0048;TAG LATIN CAPITAL LETTER H;Cf;0;BN;;;;;N;;;;; +E0049;TAG LATIN CAPITAL LETTER I;Cf;0;BN;;;;;N;;;;; +E004A;TAG LATIN CAPITAL LETTER J;Cf;0;BN;;;;;N;;;;; +E004B;TAG LATIN CAPITAL LETTER K;Cf;0;BN;;;;;N;;;;; +E004C;TAG LATIN CAPITAL LETTER L;Cf;0;BN;;;;;N;;;;; +E004D;TAG LATIN CAPITAL LETTER M;Cf;0;BN;;;;;N;;;;; +E004E;TAG LATIN CAPITAL LETTER N;Cf;0;BN;;;;;N;;;;; +E004F;TAG LATIN CAPITAL LETTER O;Cf;0;BN;;;;;N;;;;; +E0050;TAG LATIN CAPITAL LETTER P;Cf;0;BN;;;;;N;;;;; +E0051;TAG LATIN CAPITAL LETTER Q;Cf;0;BN;;;;;N;;;;; +E0052;TAG LATIN CAPITAL LETTER R;Cf;0;BN;;;;;N;;;;; +E0053;TAG LATIN CAPITAL LETTER S;Cf;0;BN;;;;;N;;;;; +E0054;TAG LATIN CAPITAL LETTER T;Cf;0;BN;;;;;N;;;;; +E0055;TAG LATIN CAPITAL LETTER U;Cf;0;BN;;;;;N;;;;; +E0056;TAG LATIN CAPITAL LETTER V;Cf;0;BN;;;;;N;;;;; +E0057;TAG LATIN CAPITAL LETTER W;Cf;0;BN;;;;;N;;;;; +E0058;TAG LATIN CAPITAL LETTER X;Cf;0;BN;;;;;N;;;;; +E0059;TAG LATIN CAPITAL LETTER Y;Cf;0;BN;;;;;N;;;;; +E005A;TAG LATIN CAPITAL LETTER Z;Cf;0;BN;;;;;N;;;;; +E005B;TAG LEFT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; +E005C;TAG REVERSE SOLIDUS;Cf;0;BN;;;;;N;;;;; +E005D;TAG RIGHT SQUARE BRACKET;Cf;0;BN;;;;;N;;;;; +E005E;TAG CIRCUMFLEX ACCENT;Cf;0;BN;;;;;N;;;;; +E005F;TAG LOW LINE;Cf;0;BN;;;;;N;;;;; +E0060;TAG GRAVE ACCENT;Cf;0;BN;;;;;N;;;;; +E0061;TAG LATIN SMALL LETTER A;Cf;0;BN;;;;;N;;;;; +E0062;TAG LATIN SMALL LETTER B;Cf;0;BN;;;;;N;;;;; +E0063;TAG LATIN SMALL LETTER C;Cf;0;BN;;;;;N;;;;; +E0064;TAG LATIN SMALL LETTER D;Cf;0;BN;;;;;N;;;;; +E0065;TAG LATIN SMALL LETTER E;Cf;0;BN;;;;;N;;;;; +E0066;TAG LATIN SMALL LETTER F;Cf;0;BN;;;;;N;;;;; +E0067;TAG LATIN SMALL LETTER G;Cf;0;BN;;;;;N;;;;; +E0068;TAG LATIN SMALL LETTER H;Cf;0;BN;;;;;N;;;;; +E0069;TAG LATIN SMALL LETTER I;Cf;0;BN;;;;;N;;;;; +E006A;TAG LATIN SMALL LETTER J;Cf;0;BN;;;;;N;;;;; +E006B;TAG LATIN SMALL LETTER K;Cf;0;BN;;;;;N;;;;; +E006C;TAG LATIN SMALL LETTER L;Cf;0;BN;;;;;N;;;;; +E006D;TAG LATIN SMALL LETTER M;Cf;0;BN;;;;;N;;;;; +E006E;TAG LATIN SMALL LETTER N;Cf;0;BN;;;;;N;;;;; +E006F;TAG LATIN SMALL LETTER O;Cf;0;BN;;;;;N;;;;; +E0070;TAG LATIN SMALL LETTER P;Cf;0;BN;;;;;N;;;;; +E0071;TAG LATIN SMALL LETTER Q;Cf;0;BN;;;;;N;;;;; +E0072;TAG LATIN SMALL LETTER R;Cf;0;BN;;;;;N;;;;; +E0073;TAG LATIN SMALL LETTER S;Cf;0;BN;;;;;N;;;;; +E0074;TAG LATIN SMALL LETTER T;Cf;0;BN;;;;;N;;;;; +E0075;TAG LATIN SMALL LETTER U;Cf;0;BN;;;;;N;;;;; +E0076;TAG LATIN SMALL LETTER V;Cf;0;BN;;;;;N;;;;; +E0077;TAG LATIN SMALL LETTER W;Cf;0;BN;;;;;N;;;;; +E0078;TAG LATIN SMALL LETTER X;Cf;0;BN;;;;;N;;;;; +E0079;TAG LATIN SMALL LETTER Y;Cf;0;BN;;;;;N;;;;; +E007A;TAG LATIN SMALL LETTER Z;Cf;0;BN;;;;;N;;;;; +E007B;TAG LEFT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; +E007C;TAG VERTICAL LINE;Cf;0;BN;;;;;N;;;;; +E007D;TAG RIGHT CURLY BRACKET;Cf;0;BN;;;;;N;;;;; +E007E;TAG TILDE;Cf;0;BN;;;;;N;;;;; +E007F;CANCEL TAG;Cf;0;BN;;;;;N;;;;; +E0100;VARIATION SELECTOR-17;Mn;0;NSM;;;;;N;;;;; +E0101;VARIATION SELECTOR-18;Mn;0;NSM;;;;;N;;;;; +E0102;VARIATION SELECTOR-19;Mn;0;NSM;;;;;N;;;;; +E0103;VARIATION SELECTOR-20;Mn;0;NSM;;;;;N;;;;; +E0104;VARIATION SELECTOR-21;Mn;0;NSM;;;;;N;;;;; +E0105;VARIATION SELECTOR-22;Mn;0;NSM;;;;;N;;;;; +E0106;VARIATION SELECTOR-23;Mn;0;NSM;;;;;N;;;;; +E0107;VARIATION SELECTOR-24;Mn;0;NSM;;;;;N;;;;; +E0108;VARIATION SELECTOR-25;Mn;0;NSM;;;;;N;;;;; +E0109;VARIATION SELECTOR-26;Mn;0;NSM;;;;;N;;;;; +E010A;VARIATION SELECTOR-27;Mn;0;NSM;;;;;N;;;;; +E010B;VARIATION SELECTOR-28;Mn;0;NSM;;;;;N;;;;; +E010C;VARIATION SELECTOR-29;Mn;0;NSM;;;;;N;;;;; +E010D;VARIATION SELECTOR-30;Mn;0;NSM;;;;;N;;;;; +E010E;VARIATION SELECTOR-31;Mn;0;NSM;;;;;N;;;;; +E010F;VARIATION SELECTOR-32;Mn;0;NSM;;;;;N;;;;; +E0110;VARIATION SELECTOR-33;Mn;0;NSM;;;;;N;;;;; +E0111;VARIATION SELECTOR-34;Mn;0;NSM;;;;;N;;;;; +E0112;VARIATION SELECTOR-35;Mn;0;NSM;;;;;N;;;;; +E0113;VARIATION SELECTOR-36;Mn;0;NSM;;;;;N;;;;; +E0114;VARIATION SELECTOR-37;Mn;0;NSM;;;;;N;;;;; +E0115;VARIATION SELECTOR-38;Mn;0;NSM;;;;;N;;;;; +E0116;VARIATION SELECTOR-39;Mn;0;NSM;;;;;N;;;;; +E0117;VARIATION SELECTOR-40;Mn;0;NSM;;;;;N;;;;; +E0118;VARIATION SELECTOR-41;Mn;0;NSM;;;;;N;;;;; +E0119;VARIATION SELECTOR-42;Mn;0;NSM;;;;;N;;;;; +E011A;VARIATION SELECTOR-43;Mn;0;NSM;;;;;N;;;;; +E011B;VARIATION SELECTOR-44;Mn;0;NSM;;;;;N;;;;; +E011C;VARIATION SELECTOR-45;Mn;0;NSM;;;;;N;;;;; +E011D;VARIATION SELECTOR-46;Mn;0;NSM;;;;;N;;;;; +E011E;VARIATION SELECTOR-47;Mn;0;NSM;;;;;N;;;;; +E011F;VARIATION SELECTOR-48;Mn;0;NSM;;;;;N;;;;; +E0120;VARIATION SELECTOR-49;Mn;0;NSM;;;;;N;;;;; +E0121;VARIATION SELECTOR-50;Mn;0;NSM;;;;;N;;;;; +E0122;VARIATION SELECTOR-51;Mn;0;NSM;;;;;N;;;;; +E0123;VARIATION SELECTOR-52;Mn;0;NSM;;;;;N;;;;; +E0124;VARIATION SELECTOR-53;Mn;0;NSM;;;;;N;;;;; +E0125;VARIATION SELECTOR-54;Mn;0;NSM;;;;;N;;;;; +E0126;VARIATION SELECTOR-55;Mn;0;NSM;;;;;N;;;;; +E0127;VARIATION SELECTOR-56;Mn;0;NSM;;;;;N;;;;; +E0128;VARIATION SELECTOR-57;Mn;0;NSM;;;;;N;;;;; +E0129;VARIATION SELECTOR-58;Mn;0;NSM;;;;;N;;;;; +E012A;VARIATION SELECTOR-59;Mn;0;NSM;;;;;N;;;;; +E012B;VARIATION SELECTOR-60;Mn;0;NSM;;;;;N;;;;; +E012C;VARIATION SELECTOR-61;Mn;0;NSM;;;;;N;;;;; +E012D;VARIATION SELECTOR-62;Mn;0;NSM;;;;;N;;;;; +E012E;VARIATION SELECTOR-63;Mn;0;NSM;;;;;N;;;;; +E012F;VARIATION SELECTOR-64;Mn;0;NSM;;;;;N;;;;; +E0130;VARIATION SELECTOR-65;Mn;0;NSM;;;;;N;;;;; +E0131;VARIATION SELECTOR-66;Mn;0;NSM;;;;;N;;;;; +E0132;VARIATION SELECTOR-67;Mn;0;NSM;;;;;N;;;;; +E0133;VARIATION SELECTOR-68;Mn;0;NSM;;;;;N;;;;; +E0134;VARIATION SELECTOR-69;Mn;0;NSM;;;;;N;;;;; +E0135;VARIATION SELECTOR-70;Mn;0;NSM;;;;;N;;;;; +E0136;VARIATION SELECTOR-71;Mn;0;NSM;;;;;N;;;;; +E0137;VARIATION SELECTOR-72;Mn;0;NSM;;;;;N;;;;; +E0138;VARIATION SELECTOR-73;Mn;0;NSM;;;;;N;;;;; +E0139;VARIATION SELECTOR-74;Mn;0;NSM;;;;;N;;;;; +E013A;VARIATION SELECTOR-75;Mn;0;NSM;;;;;N;;;;; +E013B;VARIATION SELECTOR-76;Mn;0;NSM;;;;;N;;;;; +E013C;VARIATION SELECTOR-77;Mn;0;NSM;;;;;N;;;;; +E013D;VARIATION SELECTOR-78;Mn;0;NSM;;;;;N;;;;; +E013E;VARIATION SELECTOR-79;Mn;0;NSM;;;;;N;;;;; +E013F;VARIATION SELECTOR-80;Mn;0;NSM;;;;;N;;;;; +E0140;VARIATION SELECTOR-81;Mn;0;NSM;;;;;N;;;;; +E0141;VARIATION SELECTOR-82;Mn;0;NSM;;;;;N;;;;; +E0142;VARIATION SELECTOR-83;Mn;0;NSM;;;;;N;;;;; +E0143;VARIATION SELECTOR-84;Mn;0;NSM;;;;;N;;;;; +E0144;VARIATION SELECTOR-85;Mn;0;NSM;;;;;N;;;;; +E0145;VARIATION SELECTOR-86;Mn;0;NSM;;;;;N;;;;; +E0146;VARIATION SELECTOR-87;Mn;0;NSM;;;;;N;;;;; +E0147;VARIATION SELECTOR-88;Mn;0;NSM;;;;;N;;;;; +E0148;VARIATION SELECTOR-89;Mn;0;NSM;;;;;N;;;;; +E0149;VARIATION SELECTOR-90;Mn;0;NSM;;;;;N;;;;; +E014A;VARIATION SELECTOR-91;Mn;0;NSM;;;;;N;;;;; +E014B;VARIATION SELECTOR-92;Mn;0;NSM;;;;;N;;;;; +E014C;VARIATION SELECTOR-93;Mn;0;NSM;;;;;N;;;;; +E014D;VARIATION SELECTOR-94;Mn;0;NSM;;;;;N;;;;; +E014E;VARIATION SELECTOR-95;Mn;0;NSM;;;;;N;;;;; +E014F;VARIATION SELECTOR-96;Mn;0;NSM;;;;;N;;;;; +E0150;VARIATION SELECTOR-97;Mn;0;NSM;;;;;N;;;;; +E0151;VARIATION SELECTOR-98;Mn;0;NSM;;;;;N;;;;; +E0152;VARIATION SELECTOR-99;Mn;0;NSM;;;;;N;;;;; +E0153;VARIATION SELECTOR-100;Mn;0;NSM;;;;;N;;;;; +E0154;VARIATION SELECTOR-101;Mn;0;NSM;;;;;N;;;;; +E0155;VARIATION SELECTOR-102;Mn;0;NSM;;;;;N;;;;; +E0156;VARIATION SELECTOR-103;Mn;0;NSM;;;;;N;;;;; +E0157;VARIATION SELECTOR-104;Mn;0;NSM;;;;;N;;;;; +E0158;VARIATION SELECTOR-105;Mn;0;NSM;;;;;N;;;;; +E0159;VARIATION SELECTOR-106;Mn;0;NSM;;;;;N;;;;; +E015A;VARIATION SELECTOR-107;Mn;0;NSM;;;;;N;;;;; +E015B;VARIATION SELECTOR-108;Mn;0;NSM;;;;;N;;;;; +E015C;VARIATION SELECTOR-109;Mn;0;NSM;;;;;N;;;;; +E015D;VARIATION SELECTOR-110;Mn;0;NSM;;;;;N;;;;; +E015E;VARIATION SELECTOR-111;Mn;0;NSM;;;;;N;;;;; +E015F;VARIATION SELECTOR-112;Mn;0;NSM;;;;;N;;;;; +E0160;VARIATION SELECTOR-113;Mn;0;NSM;;;;;N;;;;; +E0161;VARIATION SELECTOR-114;Mn;0;NSM;;;;;N;;;;; +E0162;VARIATION SELECTOR-115;Mn;0;NSM;;;;;N;;;;; +E0163;VARIATION SELECTOR-116;Mn;0;NSM;;;;;N;;;;; +E0164;VARIATION SELECTOR-117;Mn;0;NSM;;;;;N;;;;; +E0165;VARIATION SELECTOR-118;Mn;0;NSM;;;;;N;;;;; +E0166;VARIATION SELECTOR-119;Mn;0;NSM;;;;;N;;;;; +E0167;VARIATION SELECTOR-120;Mn;0;NSM;;;;;N;;;;; +E0168;VARIATION SELECTOR-121;Mn;0;NSM;;;;;N;;;;; +E0169;VARIATION SELECTOR-122;Mn;0;NSM;;;;;N;;;;; +E016A;VARIATION SELECTOR-123;Mn;0;NSM;;;;;N;;;;; +E016B;VARIATION SELECTOR-124;Mn;0;NSM;;;;;N;;;;; +E016C;VARIATION SELECTOR-125;Mn;0;NSM;;;;;N;;;;; +E016D;VARIATION SELECTOR-126;Mn;0;NSM;;;;;N;;;;; +E016E;VARIATION SELECTOR-127;Mn;0;NSM;;;;;N;;;;; +E016F;VARIATION SELECTOR-128;Mn;0;NSM;;;;;N;;;;; +E0170;VARIATION SELECTOR-129;Mn;0;NSM;;;;;N;;;;; +E0171;VARIATION SELECTOR-130;Mn;0;NSM;;;;;N;;;;; +E0172;VARIATION SELECTOR-131;Mn;0;NSM;;;;;N;;;;; +E0173;VARIATION SELECTOR-132;Mn;0;NSM;;;;;N;;;;; +E0174;VARIATION SELECTOR-133;Mn;0;NSM;;;;;N;;;;; +E0175;VARIATION SELECTOR-134;Mn;0;NSM;;;;;N;;;;; +E0176;VARIATION SELECTOR-135;Mn;0;NSM;;;;;N;;;;; +E0177;VARIATION SELECTOR-136;Mn;0;NSM;;;;;N;;;;; +E0178;VARIATION SELECTOR-137;Mn;0;NSM;;;;;N;;;;; +E0179;VARIATION SELECTOR-138;Mn;0;NSM;;;;;N;;;;; +E017A;VARIATION SELECTOR-139;Mn;0;NSM;;;;;N;;;;; +E017B;VARIATION SELECTOR-140;Mn;0;NSM;;;;;N;;;;; +E017C;VARIATION SELECTOR-141;Mn;0;NSM;;;;;N;;;;; +E017D;VARIATION SELECTOR-142;Mn;0;NSM;;;;;N;;;;; +E017E;VARIATION SELECTOR-143;Mn;0;NSM;;;;;N;;;;; +E017F;VARIATION SELECTOR-144;Mn;0;NSM;;;;;N;;;;; +E0180;VARIATION SELECTOR-145;Mn;0;NSM;;;;;N;;;;; +E0181;VARIATION SELECTOR-146;Mn;0;NSM;;;;;N;;;;; +E0182;VARIATION SELECTOR-147;Mn;0;NSM;;;;;N;;;;; +E0183;VARIATION SELECTOR-148;Mn;0;NSM;;;;;N;;;;; +E0184;VARIATION SELECTOR-149;Mn;0;NSM;;;;;N;;;;; +E0185;VARIATION SELECTOR-150;Mn;0;NSM;;;;;N;;;;; +E0186;VARIATION SELECTOR-151;Mn;0;NSM;;;;;N;;;;; +E0187;VARIATION SELECTOR-152;Mn;0;NSM;;;;;N;;;;; +E0188;VARIATION SELECTOR-153;Mn;0;NSM;;;;;N;;;;; +E0189;VARIATION SELECTOR-154;Mn;0;NSM;;;;;N;;;;; +E018A;VARIATION SELECTOR-155;Mn;0;NSM;;;;;N;;;;; +E018B;VARIATION SELECTOR-156;Mn;0;NSM;;;;;N;;;;; +E018C;VARIATION SELECTOR-157;Mn;0;NSM;;;;;N;;;;; +E018D;VARIATION SELECTOR-158;Mn;0;NSM;;;;;N;;;;; +E018E;VARIATION SELECTOR-159;Mn;0;NSM;;;;;N;;;;; +E018F;VARIATION SELECTOR-160;Mn;0;NSM;;;;;N;;;;; +E0190;VARIATION SELECTOR-161;Mn;0;NSM;;;;;N;;;;; +E0191;VARIATION SELECTOR-162;Mn;0;NSM;;;;;N;;;;; +E0192;VARIATION SELECTOR-163;Mn;0;NSM;;;;;N;;;;; +E0193;VARIATION SELECTOR-164;Mn;0;NSM;;;;;N;;;;; +E0194;VARIATION SELECTOR-165;Mn;0;NSM;;;;;N;;;;; +E0195;VARIATION SELECTOR-166;Mn;0;NSM;;;;;N;;;;; +E0196;VARIATION SELECTOR-167;Mn;0;NSM;;;;;N;;;;; +E0197;VARIATION SELECTOR-168;Mn;0;NSM;;;;;N;;;;; +E0198;VARIATION SELECTOR-169;Mn;0;NSM;;;;;N;;;;; +E0199;VARIATION SELECTOR-170;Mn;0;NSM;;;;;N;;;;; +E019A;VARIATION SELECTOR-171;Mn;0;NSM;;;;;N;;;;; +E019B;VARIATION SELECTOR-172;Mn;0;NSM;;;;;N;;;;; +E019C;VARIATION SELECTOR-173;Mn;0;NSM;;;;;N;;;;; +E019D;VARIATION SELECTOR-174;Mn;0;NSM;;;;;N;;;;; +E019E;VARIATION SELECTOR-175;Mn;0;NSM;;;;;N;;;;; +E019F;VARIATION SELECTOR-176;Mn;0;NSM;;;;;N;;;;; +E01A0;VARIATION SELECTOR-177;Mn;0;NSM;;;;;N;;;;; +E01A1;VARIATION SELECTOR-178;Mn;0;NSM;;;;;N;;;;; +E01A2;VARIATION SELECTOR-179;Mn;0;NSM;;;;;N;;;;; +E01A3;VARIATION SELECTOR-180;Mn;0;NSM;;;;;N;;;;; +E01A4;VARIATION SELECTOR-181;Mn;0;NSM;;;;;N;;;;; +E01A5;VARIATION SELECTOR-182;Mn;0;NSM;;;;;N;;;;; +E01A6;VARIATION SELECTOR-183;Mn;0;NSM;;;;;N;;;;; +E01A7;VARIATION SELECTOR-184;Mn;0;NSM;;;;;N;;;;; +E01A8;VARIATION SELECTOR-185;Mn;0;NSM;;;;;N;;;;; +E01A9;VARIATION SELECTOR-186;Mn;0;NSM;;;;;N;;;;; +E01AA;VARIATION SELECTOR-187;Mn;0;NSM;;;;;N;;;;; +E01AB;VARIATION SELECTOR-188;Mn;0;NSM;;;;;N;;;;; +E01AC;VARIATION SELECTOR-189;Mn;0;NSM;;;;;N;;;;; +E01AD;VARIATION SELECTOR-190;Mn;0;NSM;;;;;N;;;;; +E01AE;VARIATION SELECTOR-191;Mn;0;NSM;;;;;N;;;;; +E01AF;VARIATION SELECTOR-192;Mn;0;NSM;;;;;N;;;;; +E01B0;VARIATION SELECTOR-193;Mn;0;NSM;;;;;N;;;;; +E01B1;VARIATION SELECTOR-194;Mn;0;NSM;;;;;N;;;;; +E01B2;VARIATION SELECTOR-195;Mn;0;NSM;;;;;N;;;;; +E01B3;VARIATION SELECTOR-196;Mn;0;NSM;;;;;N;;;;; +E01B4;VARIATION SELECTOR-197;Mn;0;NSM;;;;;N;;;;; +E01B5;VARIATION SELECTOR-198;Mn;0;NSM;;;;;N;;;;; +E01B6;VARIATION SELECTOR-199;Mn;0;NSM;;;;;N;;;;; +E01B7;VARIATION SELECTOR-200;Mn;0;NSM;;;;;N;;;;; +E01B8;VARIATION SELECTOR-201;Mn;0;NSM;;;;;N;;;;; +E01B9;VARIATION SELECTOR-202;Mn;0;NSM;;;;;N;;;;; +E01BA;VARIATION SELECTOR-203;Mn;0;NSM;;;;;N;;;;; +E01BB;VARIATION SELECTOR-204;Mn;0;NSM;;;;;N;;;;; +E01BC;VARIATION SELECTOR-205;Mn;0;NSM;;;;;N;;;;; +E01BD;VARIATION SELECTOR-206;Mn;0;NSM;;;;;N;;;;; +E01BE;VARIATION SELECTOR-207;Mn;0;NSM;;;;;N;;;;; +E01BF;VARIATION SELECTOR-208;Mn;0;NSM;;;;;N;;;;; +E01C0;VARIATION SELECTOR-209;Mn;0;NSM;;;;;N;;;;; +E01C1;VARIATION SELECTOR-210;Mn;0;NSM;;;;;N;;;;; +E01C2;VARIATION SELECTOR-211;Mn;0;NSM;;;;;N;;;;; +E01C3;VARIATION SELECTOR-212;Mn;0;NSM;;;;;N;;;;; +E01C4;VARIATION SELECTOR-213;Mn;0;NSM;;;;;N;;;;; +E01C5;VARIATION SELECTOR-214;Mn;0;NSM;;;;;N;;;;; +E01C6;VARIATION SELECTOR-215;Mn;0;NSM;;;;;N;;;;; +E01C7;VARIATION SELECTOR-216;Mn;0;NSM;;;;;N;;;;; +E01C8;VARIATION SELECTOR-217;Mn;0;NSM;;;;;N;;;;; +E01C9;VARIATION SELECTOR-218;Mn;0;NSM;;;;;N;;;;; +E01CA;VARIATION SELECTOR-219;Mn;0;NSM;;;;;N;;;;; +E01CB;VARIATION SELECTOR-220;Mn;0;NSM;;;;;N;;;;; +E01CC;VARIATION SELECTOR-221;Mn;0;NSM;;;;;N;;;;; +E01CD;VARIATION SELECTOR-222;Mn;0;NSM;;;;;N;;;;; +E01CE;VARIATION SELECTOR-223;Mn;0;NSM;;;;;N;;;;; +E01CF;VARIATION SELECTOR-224;Mn;0;NSM;;;;;N;;;;; +E01D0;VARIATION SELECTOR-225;Mn;0;NSM;;;;;N;;;;; +E01D1;VARIATION SELECTOR-226;Mn;0;NSM;;;;;N;;;;; +E01D2;VARIATION SELECTOR-227;Mn;0;NSM;;;;;N;;;;; +E01D3;VARIATION SELECTOR-228;Mn;0;NSM;;;;;N;;;;; +E01D4;VARIATION SELECTOR-229;Mn;0;NSM;;;;;N;;;;; +E01D5;VARIATION SELECTOR-230;Mn;0;NSM;;;;;N;;;;; +E01D6;VARIATION SELECTOR-231;Mn;0;NSM;;;;;N;;;;; +E01D7;VARIATION SELECTOR-232;Mn;0;NSM;;;;;N;;;;; +E01D8;VARIATION SELECTOR-233;Mn;0;NSM;;;;;N;;;;; +E01D9;VARIATION SELECTOR-234;Mn;0;NSM;;;;;N;;;;; +E01DA;VARIATION SELECTOR-235;Mn;0;NSM;;;;;N;;;;; +E01DB;VARIATION SELECTOR-236;Mn;0;NSM;;;;;N;;;;; +E01DC;VARIATION SELECTOR-237;Mn;0;NSM;;;;;N;;;;; +E01DD;VARIATION SELECTOR-238;Mn;0;NSM;;;;;N;;;;; +E01DE;VARIATION SELECTOR-239;Mn;0;NSM;;;;;N;;;;; +E01DF;VARIATION SELECTOR-240;Mn;0;NSM;;;;;N;;;;; +E01E0;VARIATION SELECTOR-241;Mn;0;NSM;;;;;N;;;;; +E01E1;VARIATION SELECTOR-242;Mn;0;NSM;;;;;N;;;;; +E01E2;VARIATION SELECTOR-243;Mn;0;NSM;;;;;N;;;;; +E01E3;VARIATION SELECTOR-244;Mn;0;NSM;;;;;N;;;;; +E01E4;VARIATION SELECTOR-245;Mn;0;NSM;;;;;N;;;;; +E01E5;VARIATION SELECTOR-246;Mn;0;NSM;;;;;N;;;;; +E01E6;VARIATION SELECTOR-247;Mn;0;NSM;;;;;N;;;;; +E01E7;VARIATION SELECTOR-248;Mn;0;NSM;;;;;N;;;;; +E01E8;VARIATION SELECTOR-249;Mn;0;NSM;;;;;N;;;;; +E01E9;VARIATION SELECTOR-250;Mn;0;NSM;;;;;N;;;;; +E01EA;VARIATION SELECTOR-251;Mn;0;NSM;;;;;N;;;;; +E01EB;VARIATION SELECTOR-252;Mn;0;NSM;;;;;N;;;;; +E01EC;VARIATION SELECTOR-253;Mn;0;NSM;;;;;N;;;;; +E01ED;VARIATION SELECTOR-254;Mn;0;NSM;;;;;N;;;;; +E01EE;VARIATION SELECTOR-255;Mn;0;NSM;;;;;N;;;;; +E01EF;VARIATION SELECTOR-256;Mn;0;NSM;;;;;N;;;;; +F0000;;Co;0;L;;;;;N;;;;; +FFFFD;;Co;0;L;;;;;N;;;;; +100000;;Co;0;L;;;;;N;;;;; +10FFFD;;Co;0;L;;;;;N;;;;; diff --git a/ext/mbstring/tests/utf_encodings.phpt b/ext/mbstring/tests/utf_encodings.phpt new file mode 100644 index 0000000000000..d7ab7b0d81f1b --- /dev/null +++ b/ext/mbstring/tests/utf_encodings.phpt @@ -0,0 +1,330 @@ +--TEST-- +Torture test for UTF-{7,8,16,32} +--SKIPIF-- + +--FILE-- + 0xDFFF) // surrogates; included in UnicodeData.txt + $validCodepoints[pack('N', $codepoint)] = true; +} + +function testValidCodepoints($encoding) { + global $validCodepoints; + + $good = array_keys($validCodepoints); + shuffle($good); + + while (!empty($good)) { + $string = ''; + $length = min(rand(20,30), count($good)); + while ($length--) { + $string .= array_pop($good); + } + + $converted = mb_convert_encoding($string, $encoding, 'UTF-32BE'); + if ($converted === false) + die("mb_convert_encoding failed to convert UTF-32BE to $encoding." . + "\nString: " . bin2hex($string)); + testValidString($converted, $string, $encoding, 'UTF-32BE'); + } +} + +function testInvalidCodepoints($invalid, $encoding) { + global $validCodepoints; + + $good = array_keys($validCodepoints); + shuffle($good); + + foreach ($invalid as $bad => $expected) { + $good1 = array_pop($good); + $good2 = array_pop($good); + $string = mb_convert_encoding($good1, $encoding, 'UTF-32BE'); + $string .= $bad; + $string .= mb_convert_encoding($good2, $encoding, 'UTF-32BE'); + + testInvalidString($string, $good1 . $expected . $good2, $encoding, 'UTF-32BE'); + } +} + +echo "== UTF-8 ==\n"; + +testValidCodepoints('UTF-8'); + +testValidString('', '', 'UTF-8', 'UTF-32BE'); + +$invalid = array( + // Codepoints outside of valid 0-0x10FFFF range for Unicode + "\xF4\x90\x80\x80" => "\x00\x00\x00%", // CP 0x110000 + "\xF7\x80\x80\x80" => str_repeat("\x00\x00\x00%", 4), // CP 0x1C0000 + "\xF7\xBF\xBF\xBF" => str_repeat("\x00\x00\x00%", 4), // CP 0x1FFFFF + + // Reserved range for UTF-16 surrogate pairs + "\xED\xA0\x80" => str_repeat("\x00\x00\x00%", 2), // CP 0xD800 + "\xED\xAF\xBF" => str_repeat("\x00\x00\x00%", 2), // CP 0xDBFF + "\xED\xBF\xBF" => str_repeat("\x00\x00\x00%", 2), // CP 0xDFFF + + // Truncated characters + "\xDF" => "\x00\x00\x00%", // should have been 2-byte + "\xEF\xBF" => "\x00\x00\x00%", // should have been 3-byte + "\xF0\xBF\xBF" => "\x00\x00\x00%", // should have been 4-byte + + // Multi-byte characters which end too soon and go to ASCII + "\xDFA" => "\x00\x00\x00%\x00\x00\x00A", + "\xEF\xBFA" => "\x00\x00\x00%\x00\x00\x00A", + "\xF0\xBF\xBFA" => "\x00\x00\x00%\x00\x00\x00A", + + // Multi-byte characters which end too soon and go to another MB char + "\xDF\xDF\xBF" => "\x00\x00\x00%\x00\x00\x07\xFF", + "\xEF\xBF\xDF\xBF" => "\x00\x00\x00%\x00\x00\x07\xFF", + "\xF0\xBF\xBF\xDF\xBF" => "\x00\x00\x00%\x00\x00\x07\xFF", + + // Continuation bytes which appear outside of a MB char + "\x80" => "\x00\x00\x00%", + "A\x80" => "\x00\x00\x00A\x00\x00\x00%", + "\xDF\xBF\x80" => "\x00\x00\x07\xFF\x00\x00\x00%", + + // Overlong code units + // (Using more bytes than needed to encode a character) + "\xC1\xBF" => str_repeat("\x00\x00\x00%", 2), // didn't need 2 bytes + "\xE0\x9F\xBF" => str_repeat("\x00\x00\x00%", 2), // didn't need 3 bytes + "\xF0\x8F\xBF\xBF" => str_repeat("\x00\x00\x00%", 3) // didn't need 4 bytes +); + +testInvalidCodepoints($invalid, 'UTF-8'); + +echo "== UTF-16 ==\n"; + +testValidCodepoints("UTF-16"); +testValidCodepoints("UTF-16LE"); +testValidCodepoints("UTF-16BE"); + +testValidString('', '', 'UTF-16', 'UTF-32BE'); +testValidString('', '', 'UTF-16LE', 'UTF-32BE'); +testValidString('', '', 'UTF-16BE', 'UTF-32BE'); + +$invalid = array( + // UTF-16 _cannot_ represent codepoints bigger than 0x10FFFF, so we're not + // worried about that. But there are plenty of other ways to mess up... + + // Second half of surrogate pair comes first + "\xDC\x01\xD8\x02" => "\x00\x00\x00%\x00\x00\x00%", + + // First half of surrogate pair not followed by second part + "\xD8\x01\x00A" => "\x00\x00\x00%\x00\x00\x00A", + + // First half of surrogate pair at end of string + "\xD8\x01" => "\x00\x00\x00%", +); + +testInvalidCodepoints($invalid, 'UTF-16'); +testInvalidCodepoints($invalid, 'UTF-16BE'); + +// Truncated strings +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-16', 'UTF-32BE'); +testInvalidString("\x00A\x01", "\x00\x00\x00A\x00\x00\x00%", 'UTF-16', 'UTF-32BE'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-16BE', 'UTF-32BE'); +testInvalidString("\x00A\x01", "\x00\x00\x00A\x00\x00\x00%", 'UTF-16BE', 'UTF-32BE'); + +$invalid = array( + // Second half of surrogate pair comes first + "\x01\xDC\x02\xD8" => "\x00\x00\x00%\x00\x00\x00%", + + // First half of surrogate pair not followed by second part + "\x01\xD8A\x00" => "\x00\x00\x00%\x00\x00\x00A", + + // First half of surrogate pair at end of string + "\x01\xD8" => "\x00\x00\x00%", +); + +testInvalidCodepoints($invalid, 'UTF-16LE'); + +// Truncated +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-16LE', 'UTF-32BE'); +testInvalidString("A\x00\x01", "\x00\x00\x00A\x00\x00\x00%", 'UTF-16LE', 'UTF-32BE'); + +// TODO: test handling of UTF-16 BOM + +echo "== UTF-32 ==\n"; + +testValidCodepoints("UTF-32LE"); +testValidCodepoints("UTF-32BE"); + +// Empty string +testValidString('', '', 'UTF-32', 'UTF-32BE'); +testValidString('', '', 'UTF-32BE', 'UTF-32'); +testValidString('', '', 'UTF-32LE', 'UTF-32BE'); + +$invalid = array( + // Codepoints which are too big + "\x00\x11\x00\x00" => "\x00\x00\x00%", + "\x80\x00\x00\x00" => "\x00\x00\x00%", + "\xff\xff\xfe\xff" => "\x00\x00\x00%", + + // Surrogates + "\x00\x00\xd8\x00" => "\x00\x00\x00%", + "\x00\x00\xdb\xff" => "\x00\x00\x00%", + "\x00\x00\xdc\x00" => "\x00\x00\x00%", + "\x00\x00\xdf\xff" => "\x00\x00\x00%", +); + +testInvalidCodepoints($invalid, 'UTF-32'); +testInvalidCodepoints($invalid, 'UTF-32BE'); + +// Truncated code units +testInvalidString("\x00\x01\x01", "\x00\x00\x00%", 'UTF-32', 'UTF-32BE'); +testInvalidString("\x00\x01", "\x00\x00\x00%", 'UTF-32', 'UTF-32BE'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-32', 'UTF-32BE'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-32BE', 'UTF-32'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-32BE', 'UTF-32'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-32BE', 'UTF-32'); + +$invalid = array( + // Codepoints which are too big + "\x00\x00\x11\x00" => "\x00\x00\x00%", + "\x00\x00\x00\x80" => "\x00\x00\x00%", + "\xff\xfe\xff\xff" => "\x00\x00\x00%", + + // Surrogates + "\x00\xd8\x00\x00" => "\x00\x00\x00%", + "\xff\xdb\x00\x00" => "\x00\x00\x00%", + "\x00\xdc\x00\x00" => "\x00\x00\x00%", + "\xff\xdf\x00\x00" => "\x00\x00\x00%", +); + +testInvalidCodepoints($invalid, 'UTF-32LE'); + +// Truncated code units +testInvalidString("\x00\x01\x01", "\x00\x00\x00%", 'UTF-32LE', 'UTF-32BE'); +testInvalidString("\x00\x01", "\x00\x00\x00%", 'UTF-32LE', 'UTF-32BE'); +testInvalidString("\x00", "\x00\x00\x00%", 'UTF-32LE', 'UTF-32BE'); + +// TODO: test handling of UTF-32 BOM + +echo "== UTF-7 ==\n"; + +testValidString('', '', 'UTF-7', 'UTF-32BE'); + +// 'Direct' characters +foreach (range(ord('A'), ord('Z')) as $byte) + testValidString(chr($byte), "\x00\x00\x00" . chr($byte), 'UTF-7', 'UTF-32BE'); +foreach (range(ord('a'), ord('z')) as $byte) + testValidString(chr($byte), "\x00\x00\x00" . chr($byte), 'UTF-7', 'UTF-32BE'); +foreach (range(ord('0'), ord('9')) as $byte) + testValidString(chr($byte), "\x00\x00\x00" . chr($byte), 'UTF-7', 'UTF-32BE'); +foreach (str_split("'(),-./:?") as $char) + testValidString($char, "\x00\x00\x00" . $char, 'UTF-7', 'UTF-32BE'); + +// 'Optional direct' characters are Base64-encoded in mbstring's implementation + +// Whitespace +foreach (str_split(" \t\r\n\x00") as $char) + testValidString($char, "\x00\x00\x00" . $char, 'UTF-7', 'UTF-32BE'); + +// Encoding + as +- +testValidString('+-', "\x00\x00\x00+", 'UTF-7', 'UTF-32BE', false); + +// UTF-16 + Base64 encoding +function encode($str, $encoding) { + // Base64 encoding for UTF-7 doesn't use '=' for padding + return str_replace('=', '', base64_encode(mb_convert_encoding($str, 'UTF-16BE', $encoding))); +} + +for ($i = 0; $i < 256; $i++) { + $reversible = true; + if ($i >= ord('A') && $i <= ord('Z')) + $reversible = false; + if ($i >= ord('a') && $i <= ord('z')) + $reversible = false; + if ($i >= ord('0') && $i <= ord('9')) + $reversible = false; + if (strpos("'(),-./:?\x00 \t\r\n", chr($i)) !== false) + $reversible = false; + + testValidString('+' . encode("\x00" . chr($i), 'UTF-16BE') . '-', "\x00\x00\x00" . chr($i), 'UTF-7', 'UTF-32BE', $reversible); +} + +testValidString('+' . encode("\x12\x34", 'UTF-16BE') . '-', "\x00\x00\x12\x34", 'UTF-7', 'UTF-32BE'); +testValidString('+' . encode("\x12\x34\x56\x78", 'UTF-16BE') . '-', "\x00\x00\x12\x34\x00\x00\x56\x78", 'UTF-7', 'UTF-32BE'); +testValidString('+' . encode("\x12\x34\x56\x78\x00\x40", 'UTF-16BE') . '-', "\x00\x00\x12\x34\x00\x00\x56\x78\x00\x00\x00\x40", 'UTF-7', 'UTF-32BE'); + +// Surrogate pair +testValidString('+' . encode("\x00\x01\x04\x00", 'UTF-32BE') . '-', "\x00\x01\x04\x00", 'UTF-7', 'UTF-32BE'); +testValidString('+' . encode("\x00\x00\x00A\x00\x01\x04\x00\x00\x00\x00B", 'UTF-32BE') . '-', "\x00\x00\x00A\x00\x01\x04\x00\x00\x00\x00B", 'UTF-7', 'UTF-32BE', false); +testValidString('+' . encode("\x00\x01\x04\x00\x00\x01\x04\x00", 'UTF-32BE') . '-', "\x00\x01\x04\x00\x00\x01\x04\x00", 'UTF-7', 'UTF-32BE'); + +// Unterminated + section +// (This is not considered illegal) +testValidString('+' . encode('ABC', 'ASCII'), "\x00A\x00B\x00C", 'UTF-7', 'UTF-16BE', false); + +// + sections immediately after each other +// (This isn't illegal either) +testValidString('+' . encode('AB', 'ASCII') . '-+' . encode('CD', 'ASCII') . '-', "\x00A\x00B\x00C\x00D", 'UTF-7', 'UTF-16BE', false); + +// + sections not immediately after each other +// (Just trying to be exhaustive here) +testValidString('+' . encode('AB', 'ASCII') . '-!+' . encode('CD', 'ASCII') . '-', "\x00A\x00B\x00!\x00C\x00D", 'UTF-7', 'UTF-16BE', false); + +// + section terminated by a non-Base64 ASCII character which is NOT - +for ($i = 0; $i < 128; $i++) { + if ($i >= ord('A') && $i <= ord('Z')) + continue; + if ($i >= ord('a') && $i <= ord('z')) + continue; + if ($i >= ord('0') && $i <= ord('9')) + continue; + if ($i == ord('+') || $i == ord('/') || $i == ord('-') || $i == ord('\\') || $i == ord('~')) + continue; + $char = chr($i); + testValidString('+' . encode("\x12\x34", 'UTF-16BE') . $char, "\x00\x00\x12\x34\x00\x00\x00" . $char, 'UTF-7', 'UTF-32BE', false); +} + +// Now let's see how UTF-7 can go BAD... + +function rawEncode($str) { + return str_replace('=', '', base64_encode($str)); +} + +// First, messed up UTF16 in + section +// Second half of surrogate pair coming first +testInvalidString('+' . rawEncode("\xDC\x01\xD8\x02") . '-', "\x00\x00\x00%\x00\x00\x00%", 'UTF-7', 'UTF-32BE'); + +// First half of surrogate pair not followed by second half +testInvalidString('+' . rawEncode("\xD8\x01\x00A") . '-', "\x00\x00\x00%\x00\x00\x00A", 'UTF-7', 'UTF-32BE'); +testInvalidString('+' . rawEncode("\xD8\x01\xD9\x02") . '-', "\x00\x00\x00%\x00\x00\x00%", 'UTF-7', 'UTF-32BE'); + +// First half of surrogate pair appearing at end of string +testInvalidString('+' . rawEncode("\xD8\x01") . '-', "\x00\x00\x00%", 'UTF-7', 'UTF-32BE'); + +// Truncated string +testInvalidString('+' . rawEncode("\x01") . '-', "\x00\x00\x00%", 'UTF-7', 'UTF-32BE'); + +// And then, messed up Base64 encoding + +// Bad padding on + section (not zeroes) +$encoded = encode("\x12\x34", 'UTF-16BE'); // 3 Base64 bytes, 2 bits of padding... +$corrupted = substr($encoded, 0, 2) . chr(ord($encoded[2]) + 1); +testInvalidString('+' . $corrupted . '-', "\x00\x00\x12\x34\x00\x00\x00%", 'UTF-7', 'UTF-32BE'); + +echo "Done!\n"; + +?> +--EXPECT-- +== UTF-8 == +== UTF-16 == +== UTF-32 == +== UTF-7 == +Done! From 2c0098d854ba1c3a1eda3b16fdf5992f3b80d41c Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 7 Sep 2020 08:32:25 +0200 Subject: [PATCH 020/123] Add identify filter for modified UTF-7 (for IMAP protocol) RFC 3501, which defines the IMAP protocol, also defines a modified version of UTF-7 which is to be used in its headers. The reason for this is that the designers wanted IMAP messages to be '7-bit clean', but some of the 'special' characters in UTF-7 are commonly used in e-mail addresses and such, so they picked other ones as substitutes. There are a couple of other small differences between 'vanilla' UTF-7 and IMAP UTF-7. --- .../libmbfl/filters/mbfilter_utf7imap.c | 180 ++++++++++++++++++ .../libmbfl/filters/mbfilter_utf7imap.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 182 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 4c1cd8712fad9..df690f8599756 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -78,6 +78,8 @@ #include "mbfilter.h" #include "mbfilter_utf7imap.h" +static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter); + static const char *mbfl_encoding_utf7imap_aliases[] = {"mUTF-7", NULL}; const mbfl_encoding mbfl_encoding_utf7imap = { @@ -91,6 +93,12 @@ const mbfl_encoding mbfl_encoding_utf7imap = { &vtbl_wchar_utf7imap }; +const struct mbfl_identify_vtbl vtbl_identify_utf7imap = { + mbfl_no_encoding_utf7imap, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_utf7imap +}; + const struct mbfl_convert_vtbl vtbl_utf7imap_wchar = { mbfl_no_encoding_utf7imap, mbfl_no_encoding_wchar, @@ -442,3 +450,175 @@ int mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) } return 0; } + +/* IMAP has its own crazy variation on Base64 encoding where / is replaced by , */ +static inline int decode_modified_base64(int c) +{ + if (c >= 'A' && c <= 'Z') { + return c - 'A'; + } else if (c >= 'a' && c <= 'z') { + return c - 'a' + 26; + } else if (c >= '0' && c <= '9') { + return c - '0' + 52; + } else if (c == '+') { + return 62; + } else if (c == ',') { + return 63; + } + return -1; +} + +/* After finishing a Base64-encoded block, UTF7imap does not allow another one + * to start immediately; use this function in such places */ +static int mbfl_filt_ident_utf7imap_finished_base64(int c, mbfl_identify_filter *filter) +{ + /* Another modified Base64-encoded section may not begin immediately after + * one has just finished */ + if (c == '&' || c <= 0x1F || c >= 0x7F) { + filter->flag = 1; + } + filter->filter_function = mbfl_filt_ident_utf7imap; + return c; +} + +/* Make sure that decoded codepoint is one which is legal for Base64-encoded section + * Base64-encoding printable ASCII characters is verboten, except for '&' */ +static void check_legal_codepoint_for_base64(int cp, mbfl_identify_filter *filter) +{ + if (cp >= 0x20 && cp <= 0x7E && cp != '&') { + filter->flag = 1; + } +} + +static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) +{ + if (filter->status == 0) { /* Decoding ASCII characters */ + if (c == '&') { + /* Enter modified Base64-encoded block + * After reversing modified Base64 encoding, characters in such blocks + * are interpreted using UTF-16BE + * `status = 1` means we will be beginning a new UTF-16BE character */ + filter->status = 1; + } else if (c <= 0x1F || c >= 0x7F) { + filter->flag = 1; + } + return c; + } + + /* Decoding modified Base64 */ + if (c == '-') { + int cached_bits = filter->status >> 8; + if (cached_bits != 0) { + /* Data in Base64-encoded block truncated (ended in the middle of an incomplete character) */ + filter->flag = 1; + } + filter->status = 0; /* End modified Base64-encoded block */ + filter->filter_function = mbfl_filt_ident_utf7imap_finished_base64; + return c; + } + + int six_bits = decode_modified_base64(c); + if (six_bits < 0) { + filter->flag = 1; /* Not valid modified Base64 character */ + return c; + } + + /* The following state machine has 23 possible states, depending on: + * - How many bits we have already consumed of the current 16-bit code unit + * (0/2/4/6/8/10/12/14) + * - Whether or not we are in the 2nd 16 bits of a surrogate pair + * - If not, whether the bits already consumed appear to be part of the + * 1st 16 bits of a surrogate pair */ + +/* Get `n` low-order bits from `i` */ +#define EXTRACT_BITS(i,n) ((i) & ((1 << (n)) - 1)) +/* We might be in the 1st 16 bits of a surrogate pair; check if that's true + * + * Depending on where we are in the sequence of 6-bit chunks, we may need to compare + * the last part of `six_bits` with the first part of the mask which identifies + * surrogate pairs, or the first part of `six_bits` with the last part of the + * mask... or just take both of them straight up + * + * `shift1` is the number of low-order bits which should not be examined from + * the decoded 6 bits; `shift2` is the number of low-order bits which should + * not be examined from the (0xD8 >> 2) mask which identifies a surrogate pair */ +#define CHECK_SURROGATE_FIRST_PART(bits, shift1, shift2, offset_if_true, offset_if_false) \ + if (((bits >> shift1) & (0x3F >> shift2)) == (((0xD8 >> 2) >> shift2) & (0x3F >> shift1))) { \ + filter->status = (EXTRACT_BITS(bits, 6 - shift2) << 8) | (state + offset_if_true); \ + } else if (((bits >> shift1) & (0x3F >> shift2)) == (((0xDC >> 2) >> shift2) & (0x3F >> shift1))) { \ + filter->flag = 1; \ + } else { \ + filter->status = (EXTRACT_BITS(bits, 6 - shift2) << 8) | (state + offset_if_false); \ + } \ + break; +/* We are in the 2nd 16 bits of a surrogate pair; make sure the right 'magic bits' are there */ +#define CHECK_SURROGATE_SECOND_PART(bits, shift1, shift2, offset) \ + if (((bits >> shift1) & (0x3F >> shift2)) != (((0xDC >> 2) >> shift2) & (0x3F >> shift1))) { \ + filter->flag = 1; \ + } \ + filter->status = (cache << (8 + shift1)) | (EXTRACT_BITS(bits, shift1) << 8) | (state + offset); \ + break; + + int cache = filter->status >> 8, state = filter->status & 0xFF; + switch (state) { + /* 1st 16 bits of a UTF-16 code unit, might be surrogate pair */ + case 1: /* 0 bits consumed already */ + CHECK_SURROGATE_FIRST_PART(six_bits, 0, 0, 3, 10); + case 2: /* 2 bits consumed already */ + CHECK_SURROGATE_FIRST_PART(six_bits, 2, 0, 3, 10); + case 3: /* 4 bits... */ + CHECK_SURROGATE_FIRST_PART(six_bits, 4, 0, 3, 10); + case 4: /* 6 bits... */ + /* We have definitely found a surrogate pair + * Remove the top 6 cached bits which have the 'tag' for a surrogate pair */ + filter->status = (six_bits << 8) | (state + 3); break; + case 5: /* 8 bits... */ + /* Likewise */ + filter->status = ((cache & 0x3) << 14) | (six_bits << 8) | (state + 3); break; + case 6: /* 10 bits... */ + filter->status = ((cache & 0xF) << 14) | (six_bits << 8) | (state + 10); break; + case 7: /* 12 bits... */ + CHECK_SURROGATE_SECOND_PART(six_bits, 0, 4, 10); + case 8: /* 14 bits... */ + CHECK_SURROGATE_SECOND_PART(six_bits, 0, 2, 10); + + /* 1st 16 bits of a UTF-16 code unit; definitely not a surrogate pair */ + case 9: /* 2 bits consumed already */ + case 10: /* 4 bits... */ + case 11: /* 6 bits... */ + case 12: /* 8 bits... */ + filter->status = (cache << 14) | (six_bits << 8) | (state + 3); break; + case 13: /* 10 bits... */ + check_legal_codepoint_for_base64((cache << 6) | six_bits, filter); + /* We will end exactly at a character boundary, so there is no need to keep cached bits */ + filter->status = 1; break; + case 14: /* 12 bits... */ + check_legal_codepoint_for_base64((cache << 4) | (six_bits >> 2), filter); + CHECK_SURROGATE_FIRST_PART(six_bits, 0, 4, -12, -5); + case 15: /* 14 bits... */ + check_legal_codepoint_for_base64((cache << 2) | (six_bits >> 4), filter); + CHECK_SURROGATE_FIRST_PART(six_bits, 0, 2, -12, -5); + + /* 2nd 16 bits of a surrogate pair */ + case 16: /* 0 bits consumed already */ + CHECK_SURROGATE_SECOND_PART(six_bits, 0, 0, 3); + case 17: /* 2 bits... */ + CHECK_SURROGATE_SECOND_PART(six_bits, 2, 0, 3); + case 18: /* 4 bits... */ + CHECK_SURROGATE_SECOND_PART(six_bits, 4, 0, 3); + case 19: /* 6 bits... */ + case 20: /* 8 bits... */ + filter->status = (cache << 14) | (six_bits << 8) | (state + 3); break; + case 21: /* 10 bits... */ + check_legal_codepoint_for_base64((cache << 6) | six_bits, filter); + /* We will end exactly at a character boundary, so there is no need to keep cached bits */ + filter->status = 1; break; + case 22: /* 12 bits... */ + check_legal_codepoint_for_base64((cache << 4) | (six_bits >> 2), filter); + CHECK_SURROGATE_FIRST_PART(six_bits, 0, 4, -20, -13); + case 23: /* 14 bits... */ + check_legal_codepoint_for_base64((cache << 2) | (six_bits >> 4), filter); + CHECK_SURROGATE_FIRST_PART(six_bits, 0, 2, -20, -13); + } + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h index 19ab934da071e..3638146a0a332 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h @@ -33,6 +33,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_utf7imap; +extern const struct mbfl_identify_vtbl vtbl_identify_utf7imap; extern const struct mbfl_convert_vtbl vtbl_utf7imap_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf7imap; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 8ae638f885b3a..517a8e9a8d9c2 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -157,6 +157,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_ucs4, &vtbl_identify_ucs4be, &vtbl_identify_ucs4le, + &vtbl_identify_utf7imap, &vtbl_identify_false, NULL }; From 7cbe62b19bd6b1b60cd45b582b03f0fd0c1fbe83 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 11 Sep 2020 22:19:50 +0200 Subject: [PATCH 021/123] Add test suite for mUTF-7 (UTF7-IMAP) encoding --- ext/mbstring/tests/utf7imap_encoding.phpt | 204 ++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 ext/mbstring/tests/utf7imap_encoding.phpt diff --git a/ext/mbstring/tests/utf7imap_encoding.phpt b/ext/mbstring/tests/utf7imap_encoding.phpt new file mode 100644 index 0000000000000..87cbdfc90363b --- /dev/null +++ b/ext/mbstring/tests/utf7imap_encoding.phpt @@ -0,0 +1,204 @@ +--TEST-- +Exhaustive test of mUTF-7 (IMAP) encoding verification and conversion +--SKIPIF-- + +--FILE-- += 0x30 && $i <= 0x39) // '0'..'9' + continue; + if ($i >= 0x41 && $i <= 0x5A) // 'A'..'Z' + continue; + if ($i >= 0x61 && $i <= 0x7A) // 'a'..'z' + continue; + if ($i == 0x2B || $i == 0x2C) // '+' or ',' + continue; + if ($i == 0x2D) // '-'... this will be interpreted as ending the Base64 section + continue; + identifyInvalidString("&" . substr($testString, 0, 11) . chr($i) . "-", 'UTF7-IMAP'); +} +echo "Identification fails when Base64 sections contain non-Base64 bytes... right!\n"; + +/* Tell me, please, how many ways can UTF-16BE text get messed up? + * Why, that's elementary... */ + +/* 1. The second half of a surrogate pair could come first, */ +$testString = mb_convert_encoding("\x00\x01\x04\x00", 'UTF-16BE', 'UTF-32BE'); +if (strlen($testString) != 4) + die("Ouch!"); +$testString = substr($testString, 2, 2) . substr($testString, 0, 2); +identifyInvalidString("&" . mBase64($testString) . "-", 'UTF7-IMAP'); + +/* ...and we should detect this wherever it occurs */ +$singleChar = mb_convert_encoding("1", 'UTF-16BE', 'ASCII'); +$doubleChar = mb_convert_encoding("\x00\x01\x04\x01", 'UTF-16BE', 'UTF-32BE'); +if (strlen($doubleChar) != 4) + die("That was supposed to be a surrogate pair"); +identifyInvalidString("&" . mBase64($singleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $singleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $singleChar . $singleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($doubleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $doubleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $singleChar . $doubleChar . $testString) . "-", 'UTF7-IMAP'); + +/* 2. The first half of a surrogate pair might be followed by an invalid 2nd part, */ +$testString = mb_convert_encoding("\x00\x01\x04\x00", 'UTF-16BE', 'UTF-32BE'); +$testString = substr($testString, 0, 2) . mb_convert_encoding("a", 'UTF-16BE', 'ASCII'); +identifyInvalidString("&" . mBase64($testString) . "-", 'UTF7-IMAP'); + +/* ...and we should also detect that wherever it occurs... */ +identifyInvalidString("&" . mBase64($singleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $singleChar . $testString) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($doubleChar . $testString) . "-", 'UTF7-IMAP'); + +/* 3. The first half of a surrogate pair could come at the end of the string, */ +$testString = mb_convert_encoding("\x00\x01\x04\x00", 'UTF-16BE', 'UTF-32BE'); +identifyInvalidString("&" . mBase64(substr($testString, 0, 2)) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . substr($testString, 0, 2)) . "-", 'UTF7-IMAP'); +identifyInvalidString("&" . mBase64($singleChar . $singleChar . substr($testString, 0, 2)) . "-", 'UTF7-IMAP'); + +/* 4. Or, it could have an odd number of bytes in it! */ +$testString = utf16BE("ドーナツ"); +$testString = substr($testString, 0, strlen($testString) - 1); +identifyInvalidString("&" . mBase64($testString) . "-", 'UTF7-IMAP'); + +/* And there is one bonus way to discombobulate your UTF-16BE when it is Base64-encoded... + * The Base64 might not decode to an integral number of bytes + * Or, equivalently... it might not be padded with zeroes (as the RFC requires) */ +$testString = utf16BE("☺⛑"); +if (strlen($testString) != 4) + die("No good"); +$encoded = mBase64($testString); +if (strlen($encoded) != 6) + die("Don't like that"); +/* Mess up the padding by replacing the last Base64 character with ',', + * which represents 63 (a number with a 1 in the last bit) */ +identifyInvalidString("&" . substr($encoded, 0, strlen($encoded) - 1) . ",-", 'UTF7-IMAP'); + +echo "Identification fails when UTF-16 text is invalid... no sweat!\n"; + +/* OK, let's try valid Base64-encoded text now */ + +/* 2-byte char */ +testValid("&" . mBase64(utf16BE("☺")) . "-", "☺"); +/* 2 + 2 */ +testValid("&" . mBase64(utf16BE("饺子")) . "-", "饺子"); +/* 2 + 2 + 2 */ +testValid("&" . mBase64(utf16BE("123")) . "-", "123"); +/* 2 + 2 + 2 + 2 */ +testValid("&" . mBase64(utf16BE("ᄚᄆᄇᄈ")) . "-", "ᄚᄆᄇᄈ"); +/* 4 */ +$longChar1 = mb_convert_encoding("\x00\x01\x04\x01", 'UTF-16BE', 'UTF-32BE'); +$longChar2 = mb_convert_encoding("\x00\x01\x04\x01", 'UTF-8', 'UTF-32BE'); +testValid("&" . mBase64($longChar1) . "-", $longChar2); +/* 2 + 4 */ +testValid("&" . mBase64(utf16BE("饼") . $longChar1) . "-", "饼" . $longChar2); +/* 4 + 2 */ +testValid("&" . mBase64($longChar1 . utf16BE("饼")) . "-", $longChar2 . "饼"); +/* 2 + 4 + 2 */ +testValid("&" . mBase64(utf16BE("☺") . $longChar1 . utf16BE("饼")) . "-", "☺" . $longChar2 . "饼"); +/* 2 + 2 + 4 */ +testValid("&" . mBase64(utf16BE("西瓜") . $longChar1) . "-", "西瓜" . $longChar2); +/* 2 + 2 + 4 + 2 */ +testValid("&" . mBase64(utf16BE("西瓜") . $longChar1 . utf16BE("☺")) . "-", "西瓜" . $longChar2 . "☺"); +/* 2 + 2 + 4 + 4 */ +testValid("&" . mBase64(utf16BE("西瓜") . $longChar1 . $longChar1) . "-", "西瓜" . $longChar2 . $longChar2); +/* 2 + 2 + 2 + 4 */ +testValid("&" . mBase64(utf16BE("西红柿") . $longChar1) . "-", "西红柿" . $longChar2); + +/* Multiple sections of valid ASCII _and_ Base64-encoded text */ +testValid("123&" . mBase64(utf16BE("123")) . "-abc&" . mBase64(utf16BE("☺")) . "-.", "123123abc☺."); + +echo "Identification and conversion of valid text is working... perfect!\n"; + +?> +--EXPECT-- +Identification passes on empty string... good start! +Testing all valid single-character ASCII strings... check! +Non-ASCII characters convert to illegal char marker... yes! +& can be Base64-encoded... yes! +Testing unterminated & sections... yep! +Testing consecutive & sections which should have been merged... yep! +Testing ASCII characters which are Base64-encoded... great! +Testing valid strings which use '&-' for '&'... good! +Identification fails when Base64 sections contain non-Base64 bytes... right! +Identification fails when UTF-16 text is invalid... no sweat! +Identification and conversion of valid text is working... perfect! From cbfc02f3809ba0c28cf0dca0621f373661f06f7b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 7 Sep 2020 21:46:55 +0200 Subject: [PATCH 022/123] Add identify filter for CP50220-raw I can't find a definition of this encoding on the web. The original author of libmbfl had created an identify v-table struct for it, but never put it into the list of identify filters in mbfl_ident.c. I am not 100% convinced that what the original author did here is actually correct; they use the same filter function to identify CP50220 and CP50220-raw. But I can't find anything specifically wrong with it right now. Hope to do more rigorous verification later. --- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 517a8e9a8d9c2..6f60c7df5c0a1 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -138,6 +138,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_cp850, &vtbl_identify_jis_ms, &vtbl_identify_cp50220, + &vtbl_identify_cp50220raw, &vtbl_identify_cp50221, &vtbl_identify_cp50222, &vtbl_identify_gb18030, From 5d6ecd3479e2ebcc59c0c58a519fc6be6090b25b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 9 Sep 2020 19:16:10 +0200 Subject: [PATCH 023/123] Add identify filter for 'HTML entities' encoding Calling 'HTML entities' a text encoding is rather dubious, but aside from that, how are we supposed to identify which strings are 'valid' in this 'encoding'? I think this commit picks what is probably the most reasonable way: any ASCII string is considered 'valid'. --- ext/mbstring/libmbfl/filters/mbfilter_htmlent.c | 7 +++++++ ext/mbstring/libmbfl/filters/mbfilter_htmlent.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 9 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 95a0817103699..17d7d54a746de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -31,6 +31,7 @@ #include "mbfilter.h" #include "mbfilter_htmlent.h" #include "html_entities.h" +#include "mbfilter_ascii.h" static const int htmlentitifieds[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -64,6 +65,12 @@ const mbfl_encoding mbfl_encoding_html_ent = { &vtbl_wchar_html }; +const struct mbfl_identify_vtbl vtbl_identify_html_ent = { + mbfl_no_encoding_html_ent, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ascii +}; + const struct mbfl_convert_vtbl vtbl_wchar_html = { mbfl_no_encoding_wchar, mbfl_no_encoding_html_ent, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h index b61207da262d4..b5ba4161e2eb2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h @@ -33,6 +33,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_html_ent; +extern const struct mbfl_identify_vtbl vtbl_identify_html_ent; extern const struct mbfl_convert_vtbl vtbl_wchar_html; extern const struct mbfl_convert_vtbl vtbl_html_wchar; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 6f60c7df5c0a1..46fda0bc96710 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -159,6 +159,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_ucs4be, &vtbl_identify_ucs4le, &vtbl_identify_utf7imap, + &vtbl_identify_html_ent, &vtbl_identify_false, NULL }; From 8e9d740ef8f8dc40e2fd53ae898ba27df50e070c Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 12 Sep 2020 10:12:46 +0200 Subject: [PATCH 024/123] Add identify filter for 'byte2be' and 'byte2le' encodings --- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 21 +++++++++++++++++++ ext/mbstring/libmbfl/filters/mbfilter_byte2.h | 2 ++ ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 ++ 3 files changed, 25 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 72b5b2b7b2f8a..4063caacbe296 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -31,6 +31,8 @@ #include "mbfilter.h" #include "mbfilter_byte2.h" +static int mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter); + const mbfl_encoding mbfl_encoding_byte2be = { mbfl_no_encoding_byte2be, "byte2be", @@ -53,6 +55,18 @@ const mbfl_encoding mbfl_encoding_byte2le = { &vtbl_wchar_byte2le }; +const struct mbfl_identify_vtbl vtbl_identify_byte2be = { + mbfl_no_encoding_byte2be, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_byte2 +}; + +const struct mbfl_identify_vtbl vtbl_identify_byte2le = { + mbfl_no_encoding_byte2le, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_byte2 +}; + const struct mbfl_convert_vtbl vtbl_byte2be_wchar = { mbfl_no_encoding_byte2be, mbfl_no_encoding_wchar, @@ -140,3 +154,10 @@ int mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter) CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); return c; } + +static int mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter) +{ + /* Input string must be a multiple of 2 bytes */ + filter->status = (filter->status + 1) % 2; + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h index 8b1d991810c79..35ae66de44c8d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h @@ -35,6 +35,8 @@ extern const mbfl_encoding mbfl_encoding_byte2be; extern const mbfl_encoding mbfl_encoding_byte2le; +extern const struct mbfl_identify_vtbl vtbl_identify_byte2be; +extern const struct mbfl_identify_vtbl vtbl_identify_byte2le; extern const struct mbfl_convert_vtbl vtbl_byte2be_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_byte2be; extern const struct mbfl_convert_vtbl vtbl_byte2le_wchar; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 46fda0bc96710..b009efe7d5c07 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -160,6 +160,8 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_ucs4le, &vtbl_identify_utf7imap, &vtbl_identify_html_ent, + &vtbl_identify_byte2be, + &vtbl_identify_byte2le, &vtbl_identify_false, NULL }; From f3e730c7cde63e10bc940d76a4ac5dccae472c0e Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 12 Sep 2020 10:15:12 +0200 Subject: [PATCH 025/123] Add identify filter for 'byte4be' and 'byte4le' encodings --- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 21 +++++++++++++++++++ ext/mbstring/libmbfl/filters/mbfilter_byte4.h | 2 ++ ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 ++ 3 files changed, 25 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index b566e547725d7..474eeb092de7a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -31,6 +31,8 @@ #include "mbfilter.h" #include "mbfilter_byte4.h" +static int mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter); + const mbfl_encoding mbfl_encoding_byte4be = { mbfl_no_encoding_byte4be, "byte4be", @@ -53,6 +55,18 @@ const mbfl_encoding mbfl_encoding_byte4le = { &vtbl_wchar_byte4le }; +const struct mbfl_identify_vtbl vtbl_identify_byte4be = { + mbfl_no_encoding_byte4be, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_byte4 +}; + +const struct mbfl_identify_vtbl vtbl_identify_byte4le = { + mbfl_no_encoding_byte4le, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_byte4 +}; + const struct mbfl_convert_vtbl vtbl_byte4be_wchar = { mbfl_no_encoding_byte4be, mbfl_no_encoding_wchar, @@ -160,3 +174,10 @@ int mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter) CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); return c; } + +static int mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter) +{ + /* Input should be a multiple of 4 bytes */ + filter->status = (filter->status + 1) % 4; + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h index 572a2cf4775bf..247104d5a234e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h @@ -33,6 +33,8 @@ extern const mbfl_encoding mbfl_encoding_byte4be; extern const mbfl_encoding mbfl_encoding_byte4le; +extern const struct mbfl_identify_vtbl vtbl_identify_byte4be; +extern const struct mbfl_identify_vtbl vtbl_identify_byte4le; extern const struct mbfl_convert_vtbl vtbl_byte4be_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_byte4be; extern const struct mbfl_convert_vtbl vtbl_byte4le_wchar; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index b009efe7d5c07..84135d5e7a692 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -162,6 +162,8 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_html_ent, &vtbl_identify_byte2be, &vtbl_identify_byte2le, + &vtbl_identify_byte4be, + &vtbl_identify_byte4le, &vtbl_identify_false, NULL }; From fb9a1d9ccad0c02acde8213c72d5b6d6d2249634 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 25 Sep 2020 14:34:29 +0200 Subject: [PATCH 026/123] Add identify filter for uuencode 'character encoding' This isn't a real text encoding at all. Why is it present in mbstring? Especially since we have a separate implementation in the PHP standard library? --- ext/mbstring/libmbfl/filters/mbfilter_uuencode.c | 7 +++++++ ext/mbstring/libmbfl/filters/mbfilter_uuencode.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 9 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c index fab29ef9fc8dd..8daec577dc096 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c @@ -29,6 +29,7 @@ #include "mbfilter.h" #include "mbfilter_uuencode.h" +#include "mbfilter_ascii.h" const mbfl_encoding mbfl_encoding_uuencode = { mbfl_no_encoding_uuencode, @@ -41,6 +42,12 @@ const mbfl_encoding mbfl_encoding_uuencode = { NULL }; +const struct mbfl_identify_vtbl vtbl_identify_uuencode = { + mbfl_no_encoding_uuencode, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ascii +}; + const struct mbfl_convert_vtbl vtbl_uuencode_8bit = { mbfl_no_encoding_uuencode, mbfl_no_encoding_8bit, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h index 9d4bd5fd6bc49..b126cdf1d82c9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h @@ -31,6 +31,7 @@ #define MBFL_MBFILTER_UUENCODE_H extern const mbfl_encoding mbfl_encoding_uuencode; +extern const struct mbfl_identify_vtbl vtbl_identify_uuencode; extern const struct mbfl_convert_vtbl vtbl_uuencode_8bit; int mbfl_filt_conv_uudec(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 84135d5e7a692..8e734094359ad 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -164,6 +164,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_byte2le, &vtbl_identify_byte4be, &vtbl_identify_byte4le, + &vtbl_identify_uuencode, &vtbl_identify_false, NULL }; From 08a064bb022760732d349ce741a25cba1f07456a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 25 Sep 2020 18:25:05 +0200 Subject: [PATCH 027/123] Add identify filter for QPrint 'character encoding' --- ext/mbstring/libmbfl/filters/mbfilter_qprint.c | 7 +++++++ ext/mbstring/libmbfl/filters/mbfilter_qprint.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 9 insertions(+) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index 8f806def2586e..b54d0fc14cc8c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -29,6 +29,7 @@ #include "mbfilter.h" #include "mbfilter_qprint.h" +#include "mbfilter_ascii.h" #include "unicode_prop.h" static const char *mbfl_encoding_qprint_aliases[] = {"qprint", NULL}; @@ -44,6 +45,12 @@ const mbfl_encoding mbfl_encoding_qprint = { NULL }; +const struct mbfl_identify_vtbl vtbl_identify_qprint = { + mbfl_no_encoding_qprint, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_ascii +}; + const struct mbfl_convert_vtbl vtbl_8bit_qprint = { mbfl_no_encoding_8bit, mbfl_no_encoding_qprint, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h index 2c989141d4694..217d5a612ce67 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h @@ -33,6 +33,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_qprint; +extern const struct mbfl_identify_vtbl vtbl_identify_qprint; extern const struct mbfl_convert_vtbl vtbl_8bit_qprint; extern const struct mbfl_convert_vtbl vtbl_qprint_8bit; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 8e734094359ad..a8b712c8b8261 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -165,6 +165,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_byte4be, &vtbl_identify_byte4le, &vtbl_identify_uuencode, + &vtbl_identify_qprint, &vtbl_identify_false, NULL }; From 5550c71e3fee42a23497eef3983eda0c3a49b445 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 25 Sep 2020 21:07:01 +0200 Subject: [PATCH 028/123] Add identify filter for Base64 'character encoding' --- .../libmbfl/filters/mbfilter_base64.c | 54 +++++++++++++------ .../libmbfl/filters/mbfilter_base64.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 39 insertions(+), 17 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 9e5548b49419a..050a38104ea13 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -31,6 +31,8 @@ #include "mbfilter.h" #include "mbfilter_base64.h" +static int mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter); + const mbfl_encoding mbfl_encoding_base64 = { mbfl_no_encoding_base64, "BASE64", @@ -42,6 +44,12 @@ const mbfl_encoding mbfl_encoding_base64 = { NULL }; +const struct mbfl_identify_vtbl vtbl_identify_base64 = { + mbfl_no_encoding_base64, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_base64 +}; + const struct mbfl_convert_vtbl vtbl_8bit_b64 = { mbfl_no_encoding_8bit, mbfl_no_encoding_base64, @@ -146,27 +154,29 @@ int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) /* * BASE64 => any */ -int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) +static unsigned int decode_base64_char(unsigned char c) { - int n; - - if (c == 0x0d || c == 0x0a || c == 0x20 || c == 0x09 || c == 0x3d) { /* CR or LF or SPACE or HTAB or '=' */ - return c; + if (c >= 'A' && c <= 'Z') { + return c - 65; + } else if (c >= 'a' && c <= 'z') { + return c - 71; + } else if (c >= '0' && c <= '9') { + return c + 4; + } else if (c == '+') { + return 62; + } else if (c == '/') { + return 63; } + return -1; +} - n = 0; - if (c >= 0x41 && c <= 0x5a) { /* A - Z */ - n = c - 65; - } else if (c >= 0x61 && c <= 0x7a) { /* a - z */ - n = c - 71; - } else if (c >= 0x30 && c <= 0x39) { /* 0 - 9 */ - n = c + 4; - } else if (c == 0x2b) { /* '+' */ - n = 62; - } else if (c == 0x2f) { /* '/' */ - n = 63; +int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) +{ + if (c == '\r' || c == '\n' || c == ' ' || c == '\t' || c == '=') { + return 0; } - n &= 0x3f; + + unsigned int n = decode_base64_char(c); switch (filter->status) { case 0: @@ -210,3 +220,13 @@ int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) } return 0; } + +static int mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter) +{ + if (decode_base64_char(c) != -1 || c == '=') { + filter->status = (filter->status + 1) % 4; + } else { + filter->flag = 1; /* Illegal character */ + } + return c; +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.h b/ext/mbstring/libmbfl/filters/mbfilter_base64.h index 24a3c0ee0dd8b..b51b02d0d2478 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.h @@ -34,6 +34,7 @@ #include "mbfilter.h" extern const mbfl_encoding mbfl_encoding_base64; +extern const struct mbfl_identify_vtbl vtbl_identify_base64; extern const struct mbfl_convert_vtbl vtbl_b64_8bit; extern const struct mbfl_convert_vtbl vtbl_8bit_b64; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index a8b712c8b8261..8013d13bf08c1 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -166,6 +166,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_byte4le, &vtbl_identify_uuencode, &vtbl_identify_qprint, + &vtbl_identify_base64, &vtbl_identify_false, NULL }; From 32bb9475f1c40f17915824b174c456d02aa65d33 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 12 Sep 2020 14:31:06 +0200 Subject: [PATCH 029/123] Stricter identification of valid strings in ISO-2022-JP-2004 encoding --- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 228 +++++++++++++----- 1 file changed, 162 insertions(+), 66 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index 6b4a04fa1608d..1666770324fbc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -73,92 +73,188 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { NULL, }; -static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter) +static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter); + +/* ISO 2022-JP-2004 has different modes, which can be selected by a sequence + * starting with ESC (0x1B). In each mode, characters can be selected from a + * different character set. + * + * Handle these escape sequences: */ +static int handle_esc_sequence(int c, mbfl_identify_filter *filter) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x80: X 0212 */ -/* case 0x90: X 0213 plane 1 */ -/* case 0xa0: X 0213 plane 2 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ + /* If we are on the 2nd byte of a 2-byte character, `filter->status` will + * be `first_byte << 8` */ + + switch (filter->status) { + case 0: /* Starting new character */ + if (c == 0x1B) { /* ESC */ + filter->status = 1; + return 1; } break; -/* case 0x81: X 0208 second char */ - case 1: - if (c == 0x1b) { - filter->status++; + case 1: /* Already saw ESC */ + if (c == '$') { + filter->status = 2; + } else if (c == '(') { + filter->status = 3; } else { - filter->status &= ~0xf; - if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; - } + filter->flag = 1; + filter->status = 0; } - break; + return 1; - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; + case 2: /* Already saw ESC $ */ + /* According to the ISO standard, ESC $ @ should switch to the + * JIS X 0208-1978 character set, but that is not implemented */ + if (c == 'B') { + /* Switch to JIS X 0208 */ + filter->filter_function = mbfl_filt_ident_2022jp_2004_0208; + filter->status = 0; + } else if (c == '(') { + filter->status = 4; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; + filter->status = 0; } - break; + return 1; - /* ESC $ */ - case 3: - if (c == 0x42) { /* 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ - filter->status++; + case 3: /* Already saw ESC ( */ + /* According to the ISO standard, ESC ( J should switch to + * the JIS X 0201 character set, but that is not implemented. + * Additionally, ISO-2022-JP-2004 includes another added escape sequence + * ESC ( I, which should switch to the JIS X 0201-1976 Kana set */ + if (c == 'B') { + /* Switch to ASCII */ + filter->filter_function = mbfl_filt_ident_2022jp_2004; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; + filter->status = 0; + return 1; - /* ESC $ ( */ - case 4: - if (c == 0x51) { /* JIS X 0213 plane 1 */ - filter->status = 0x90; - } else if (c == 0x50) { /* JIS X 0213 plane 2 */ - filter->status = 0xa0; + case 4: /* Already saw ESC $ ( */ + /* ISO-2022-JP-2004 also includes another escape sequence: ESC ( $ O, + * which should switch to the JIS X 0213-2000 plane 1 character set, + * but that is not implemented */ + if (c == 'Q') { + /* Switch to JIS X 0213-2004 plane 1 */ + filter->filter_function = mbfl_filt_ident_2022jp_2004_0213_1; + } else if (c == 'P') { + /* Switch to JIS X 0213-2000 plane 2 */ + filter->filter_function = mbfl_filt_ident_2022jp_2004_0213_2; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; + filter->status = 0; + return 1; + } - /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ - filter->status = 0; + return 0; +} + +#undef IN +#define IN(c,lo,hi) ((c) >= lo && (c) <= hi) + +/* Not all byte sequences in JIS X 0208 which would otherwise be valid are + * actually mapped to a character */ +static inline int in_unused_jisx0208_range(int c1, int c2) +{ + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0208_ucs_table_size || !jisx0208_ucs_table[s]; +} + +/* In JIS X 0208 mode */ +static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence(c, filter)) { + if (filter->status == 0) { + if (c >= 0x21 && c <= 0x74) { + /* First byte of a 2-byte character */ + filter->status = c << 8; + } else if (c > 0x74 && c != 0x7F) { + /* In JISX 0208, single bytes from 0x0-0x1F and 0x7F represent + * control characters, 0x20 is space, others are unmapped */ + filter->flag = 1; + } + } else if (c < 0x21 || c > 0x7E || in_unused_jisx0208_range(filter->status >> 8, c)) { + filter->flag = 1; /* Illegal 2nd byte of a 2-byte character */ } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->status = 0; /* Passed by 2-byte character, starting a new one */ } - break; + } + return c; +} - default: - filter->status = 0; - break; +static inline int is_reserved_jisx0213_plane1_range(int c1, int c2) +{ + if (c1 == 0x24) + return IN(c2,0x7C,0x7E); + else if (c1 == 0x28) + return IN(c2,0x5F,0x66) || (c2 == 0x7D) || (c2 == 0x7E); + else if (c1 == 0x2C) + return IN(c2,0x74,0x7C); + else if (c1 == 0x2D) + return IN(c2,0x58,0x5E) || IN(c2,0x70,0x72) || IN(c2,0x74,0x77) || IN(c2,0x7A,0x7C); + return 0; +} + +/* In JIS X 0213:2004 plane 1 */ +static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence(c, filter)) { + if (filter->status == 0) { + if (c >= 0x21 && c <= 0x7E) { + filter->status = c << 8; + } else if (c > 0x7F) { + filter->flag = 1; + } + } else if (c < 0x21 || c > 0x7E || is_reserved_jisx0213_plane1_range(filter->status >> 8, c)) { + filter->flag = 1; /* Illegal 2nd byte of a 2-byte character */ + } else { + filter->status = 0; + } + } + return c; +} + +static inline int is_reserved_jisx0213_plane2_range(int c1, int c2) +{ + if (c1 == 0x22 || c1 == 0x26 || c1 == 0x27 || IN(c1,0x29,0x2B) || IN(c1,0x30,0x6D)) + return 1; + else if (c1 == 0x7E && c2 >= 0x77) + return 1; + return 0; +} + +/* In JIS X 0213:2000 plane 2 */ +static int mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence(c, filter)) { + if (filter->status == 0) { + if (c >= 0x21 && c <= 0x7E) { + filter->status = c << 8; + } else if (c > 0x7F) { + filter->flag = 1; + } + } else if (c < 0x21 || c > 0x7E || is_reserved_jisx0213_plane2_range(filter->status >> 8, c)) { + filter->flag = 1; /* Illegal 2nd byte of a 2-byte character */ + } else { + filter->status = 0; + } } + return c; +} +/* In ASCII mode */ +static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence(c, filter)) { + if (c > 0x7F) { /* non-ASCII */ + filter->flag = 1; + } + } return c; } From b374321473e75cdd7246ca44d918b560fb2fad25 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 13 Sep 2020 19:25:46 +0200 Subject: [PATCH 030/123] ISO-2022-JP-2004 conversion: handle invalid characters correctly --- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 21 ++++++++++++++++--- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index 1666770324fbc..aecedb31eb385 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -59,7 +59,7 @@ const struct mbfl_convert_vtbl vtbl_2022jp_2004_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis2004_wchar, - mbfl_filt_conv_common_flush, + mbfl_filt_conv_jis2004_wchar_flush, NULL, }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index a355afa8b60ed..6bff325e0bf01 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -216,9 +216,16 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data)); break; } - } else { - s1 = c1; - s2 = c; + } else { /* ISO-2022-JP-2004 */ + if (c >= 0x21 && c <= 0x7E) { + s1 = c1; + s2 = c; + } else { + w = c & MBFL_WCSGROUP_MASK; + w |= MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(w, filter->data)); + break; + } } w1 = (s1 << 8) | s2; @@ -326,6 +333,14 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) } else { c2 = c; } + + if (c2 < 0x21 || c2 > 0x7E) { + w = ((c1 << 8) | c2) & MBFL_WCSGROUP_MASK; + w |= MBFL_WCSGROUP_THROUGH; + CK((*filter->output_function)(w, filter->data)); + break; + } + s1 = c1 - 0x21; s2 = c2 - 0x21; From 3dfc88f838887f7235746d6dc48561d103bcb504 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 13 Sep 2020 12:28:06 +0200 Subject: [PATCH 031/123] Add test suite for ISO-2022-JP-2004 encoding --- .../docs/ISO-2022-JP-2004-JISX0213.txt | 11391 ++++++++++++++++ ext/mbstring/docs/JISX0208.txt | 6942 ++++++++++ .../tests/iso2022jp_2004_encoding.phpt | 335 + 3 files changed, 18668 insertions(+) create mode 100644 ext/mbstring/docs/ISO-2022-JP-2004-JISX0213.txt create mode 100644 ext/mbstring/docs/JISX0208.txt create mode 100644 ext/mbstring/tests/iso2022jp_2004_encoding.phpt diff --git a/ext/mbstring/docs/ISO-2022-JP-2004-JISX0213.txt b/ext/mbstring/docs/ISO-2022-JP-2004-JISX0213.txt new file mode 100644 index 0000000000000..4e4973eface7d --- /dev/null +++ b/ext/mbstring/docs/ISO-2022-JP-2004-JISX0213.txt @@ -0,0 +1,11391 @@ +## ISO-2022-JP-2004 vs Unicode mapping table +## +## Date: 3 May 2009 +## License: +## Copyright (C) 2001 earthian@tama.or.jp, All Rights Reserved. +## Copyright (C) 2001 I'O, All Rights Reserved. +## Copyright (C) 2006, 2009 Project X0213, All Rights Reserved. +## You can use, modify, distribute this table freely. +## Note: +## 0-XX ISO/IEC 646 IRV (designated by '1b 28 42') +## 3-XXXX JIS X 0213:2004 plane 1 (designated by '1b 24 28 51') +## 4-XXXX JIS X 0213:2000 plane 2 (designated by '1b 24 28 50') +## [1983] JIS codepoint defined by JIS X 0208-1983 +## [1990] JIS codepoint defined by JIS X 0208-1990 +## [2000] JIS codepoint defined by JIS X 0213:2000 +## [2004] JIS codepoint defined by JIS X 0213:2004 +## [Unicode3.1] UCS codepoint defined by Unicode 3.1 +## [Unicode3.2] UCS codepoint defined by Unicode 3.2 +## Windows Windows (CP932) mapping +## Some 0213 character can't represent by one UCS character. +## In this table, such characters are described as 'U+xxxx+xxxx'. +## +## IRV Unicode Name Note +0-20 U+0020 # SPACE +0-21 U+0021 # EXCLAMATION MARK +0-22 U+0022 # QUOTATION MARK +0-23 U+0023 # NUMBER SIGN +0-24 U+0024 # DOLLAR SIGN +0-25 U+0025 # PERCENT SIGN +0-26 U+0026 # AMPERSAND +0-27 U+0027 # APOSTROPHE +0-28 U+0028 # LEFT PARENTHESIS +0-29 U+0029 # RIGHT PARENTHESIS +0-2A U+002A # ASTERISK +0-2B U+002B # PLUS SIGN +0-2C U+002C # COMMA +0-2D U+002D # HYPHEN-MINUS +0-2E U+002E # FULL STOP +0-2F U+002F # SOLIDUS +0-30 U+0030 # DIGIT ZERO +0-31 U+0031 # DIGIT ONE +0-32 U+0032 # DIGIT TWO +0-33 U+0033 # DIGIT THREE +0-34 U+0034 # DIGIT FOUR +0-35 U+0035 # DIGIT FIVE +0-36 U+0036 # DIGIT SIX +0-37 U+0037 # DIGIT SEVEN +0-38 U+0038 # DIGIT EIGHT +0-39 U+0039 # DIGIT NINE +0-3A U+003A # COLON +0-3B U+003B # SEMICOLON +0-3C U+003C # LESS-THAN SIGN +0-3D U+003D # EQUALS SIGN +0-3E U+003E # GREATER-THAN SIGN +0-3F U+003F # QUESTION MARK +0-40 U+0040 # COMMERCIAL AT +0-41 U+0041 # LATIN CAPITAL LETTER A +0-42 U+0042 # LATIN CAPITAL LETTER B +0-43 U+0043 # LATIN CAPITAL LETTER C +0-44 U+0044 # LATIN CAPITAL LETTER D +0-45 U+0045 # LATIN CAPITAL LETTER E +0-46 U+0046 # LATIN CAPITAL LETTER F +0-47 U+0047 # LATIN CAPITAL LETTER G +0-48 U+0048 # LATIN CAPITAL LETTER H +0-49 U+0049 # LATIN CAPITAL LETTER I +0-4A U+004A # LATIN CAPITAL LETTER J +0-4B U+004B # LATIN CAPITAL LETTER K +0-4C U+004C # LATIN CAPITAL LETTER L +0-4D U+004D # LATIN CAPITAL LETTER M +0-4E U+004E # LATIN CAPITAL LETTER N +0-4F U+004F # LATIN CAPITAL LETTER O +0-50 U+0050 # LATIN CAPITAL LETTER P +0-51 U+0051 # LATIN CAPITAL LETTER Q +0-52 U+0052 # LATIN CAPITAL LETTER R +0-53 U+0053 # LATIN CAPITAL LETTER S +0-54 U+0054 # LATIN CAPITAL LETTER T +0-55 U+0055 # LATIN CAPITAL LETTER U +0-56 U+0056 # LATIN CAPITAL LETTER V +0-57 U+0057 # LATIN CAPITAL LETTER W +0-58 U+0058 # LATIN CAPITAL LETTER X +0-59 U+0059 # LATIN CAPITAL LETTER Y +0-5A U+005A # LATIN CAPITAL LETTER Z +0-5B U+005B # LEFT SQUARE BRACKET +0-5C U+005C # REVERSE SOLIDUS +0-5D U+005D # RIGHT SQUARE BRACKET +0-5E U+005E # CIRCUMFLEX ACCENT +0-5F U+005F # LOW LINE +0-60 U+0060 # GRAVE ACCENT +0-61 U+0061 # LATIN SMALL LETTER A +0-62 U+0062 # LATIN SMALL LETTER B +0-63 U+0063 # LATIN SMALL LETTER C +0-64 U+0064 # LATIN SMALL LETTER D +0-65 U+0065 # LATIN SMALL LETTER E +0-66 U+0066 # LATIN SMALL LETTER F +0-67 U+0067 # LATIN SMALL LETTER G +0-68 U+0068 # LATIN SMALL LETTER H +0-69 U+0069 # LATIN SMALL LETTER I +0-6A U+006A # LATIN SMALL LETTER J +0-6B U+006B # LATIN SMALL LETTER K +0-6C U+006C # LATIN SMALL LETTER L +0-6D U+006D # LATIN SMALL LETTER M +0-6E U+006E # LATIN SMALL LETTER N +0-6F U+006F # LATIN SMALL LETTER O +0-70 U+0070 # LATIN SMALL LETTER P +0-71 U+0071 # LATIN SMALL LETTER Q +0-72 U+0072 # LATIN SMALL LETTER R +0-73 U+0073 # LATIN SMALL LETTER S +0-74 U+0074 # LATIN SMALL LETTER T +0-75 U+0075 # LATIN SMALL LETTER U +0-76 U+0076 # LATIN SMALL LETTER V +0-77 U+0077 # LATIN SMALL LETTER W +0-78 U+0078 # LATIN SMALL LETTER X +0-79 U+0079 # LATIN SMALL LETTER Y +0-7A U+007A # LATIN SMALL LETTER Z +0-7B U+007B # LEFT CURLY BRACKET +0-7C U+007C # VERTICAL LINE +0-7D U+007D # RIGHT CURLY BRACKET +0-7E U+007E # TILDE +## JIS Unicode Name Note +3-2121 U+3000 # IDEOGRAPHIC SPACE +3-2122 U+3001 # IDEOGRAPHIC COMMA +3-2123 U+3002 # IDEOGRAPHIC FULL STOP +3-2124 U+FF0C # FULLWIDTH COMMA +3-2125 U+FF0E # FULLWIDTH FULL STOP +3-2126 U+30FB # KATAKANA MIDDLE DOT +3-2127 U+FF1A # FULLWIDTH COLON +3-2128 U+FF1B # FULLWIDTH SEMICOLON +3-2129 U+FF1F # FULLWIDTH QUESTION MARK +3-212A U+FF01 # FULLWIDTH EXCLAMATION MARK +3-212B U+309B # KATAKANA-HIRAGANA VOICED SOUND MARK +3-212C U+309C # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +3-212D U+00B4 # ACUTE ACCENT +3-212E U+FF40 # FULLWIDTH GRAVE ACCENT +3-212F U+00A8 # DIAERESIS +3-2130 U+FF3E # FULLWIDTH CIRCUMFLEX ACCENT +3-2131 U+203E # OVERLINE Windows: U+FFE3 +3-2132 U+FF3F # FULLWIDTH LOW LINE +3-2133 U+30FD # KATAKANA ITERATION MARK +3-2134 U+30FE # KATAKANA VOICED ITERATION MARK +3-2135 U+309D # HIRAGANA ITERATION MARK +3-2136 U+309E # HIRAGANA VOICED ITERATION MARK +3-2137 U+3003 # DITTO MARK +3-2138 U+4EDD # +3-2139 U+3005 # IDEOGRAPHIC ITERATION MARK +3-213A U+3006 # IDEOGRAPHIC CLOSING MARK +3-213B U+3007 # IDEOGRAPHIC NUMBER ZERO +3-213C U+30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK +3-213D U+2014 # EM DASH Windows: U+2015 +3-213E U+2010 # HYPHEN +3-213F U+FF0F # FULLWIDTH SOLIDUS +3-2140 U+FF3C # FULLWIDTH REVERSE SOLIDUS +3-2141 U+301C # WAVE DASH Windows: U+FF5E +3-2142 U+2016 # DOUBLE VERTICAL LINE Windows: U+2225 +3-2143 U+FF5C # FULLWIDTH VERTICAL LINE +3-2144 U+2026 # HORIZONTAL ELLIPSIS +3-2145 U+2025 # TWO DOT LEADER +3-2146 U+2018 # LEFT SINGLE QUOTATION MARK +3-2147 U+2019 # RIGHT SINGLE QUOTATION MARK +3-2148 U+201C # LEFT DOUBLE QUOTATION MARK +3-2149 U+201D # RIGHT DOUBLE QUOTATION MARK +3-214A U+FF08 # FULLWIDTH LEFT PARENTHESIS +3-214B U+FF09 # FULLWIDTH RIGHT PARENTHESIS +3-214C U+3014 # LEFT TORTOISE SHELL BRACKET +3-214D U+3015 # RIGHT TORTOISE SHELL BRACKET +3-214E U+FF3B # FULLWIDTH LEFT SQUARE BRACKET +3-214F U+FF3D # FULLWIDTH RIGHT SQUARE BRACKET +3-2150 U+FF5B # FULLWIDTH LEFT CURLY BRACKET +3-2151 U+FF5D # FULLWIDTH RIGHT CURLY BRACKET +3-2152 U+3008 # LEFT ANGLE BRACKET +3-2153 U+3009 # RIGHT ANGLE BRACKET +3-2154 U+300A # LEFT DOUBLE ANGLE BRACKET +3-2155 U+300B # RIGHT DOUBLE ANGLE BRACKET +3-2156 U+300C # LEFT CORNER BRACKET +3-2157 U+300D # RIGHT CORNER BRACKET +3-2158 U+300E # LEFT WHITE CORNER BRACKET +3-2159 U+300F # RIGHT WHITE CORNER BRACKET +3-215A U+3010 # LEFT BLACK LENTICULAR BRACKET +3-215B U+3011 # RIGHT BLACK LENTICULAR BRACKET +3-215C U+FF0B # FULLWIDTH PLUS SIGN +3-215D U+2212 # MINUS SIGN Windows: U+FF0D +3-215E U+00B1 # PLUS-MINUS SIGN +3-215F U+00D7 # MULTIPLICATION SIGN +3-2160 U+00F7 # DIVISION SIGN +3-2161 U+FF1D # FULLWIDTH EQUALS SIGN +3-2162 U+2260 # NOT EQUAL TO +3-2163 U+FF1C # FULLWIDTH LESS-THAN SIGN +3-2164 U+FF1E # FULLWIDTH GREATER-THAN SIGN +3-2165 U+2266 # LESS-THAN OVER EQUAL TO +3-2166 U+2267 # GREATER-THAN OVER EQUAL TO +3-2167 U+221E # INFINITY +3-2168 U+2234 # THEREFORE +3-2169 U+2642 # MALE SIGN +3-216A U+2640 # FEMALE SIGN +3-216B U+00B0 # DEGREE SIGN +3-216C U+2032 # PRIME +3-216D U+2033 # DOUBLE PRIME +3-216E U+2103 # DEGREE CELSIUS +3-216F U+00A5 # YEN SIGN Windows: U+FFE5 +3-2170 U+FF04 # FULLWIDTH DOLLAR SIGN +3-2171 U+00A2 # CENT SIGN Windows: U+FFE0 +3-2172 U+00A3 # POUND SIGN Windows: U+FFE1 +3-2173 U+FF05 # FULLWIDTH PERCENT SIGN +3-2174 U+FF03 # FULLWIDTH NUMBER SIGN +3-2175 U+FF06 # FULLWIDTH AMPERSAND +3-2176 U+FF0A # FULLWIDTH ASTERISK +3-2177 U+FF20 # FULLWIDTH COMMERCIAL AT +3-2178 U+00A7 # SECTION SIGN +3-2179 U+2606 # WHITE STAR +3-217A U+2605 # BLACK STAR +3-217B U+25CB # WHITE CIRCLE +3-217C U+25CF # BLACK CIRCLE +3-217D U+25CE # BULLSEYE +3-217E U+25C7 # WHITE DIAMOND +3-2221 U+25C6 # BLACK DIAMOND +3-2222 U+25A1 # WHITE SQUARE +3-2223 U+25A0 # BLACK SQUARE +3-2224 U+25B3 # WHITE UP-POINTING TRIANGLE +3-2225 U+25B2 # BLACK UP-POINTING TRIANGLE +3-2226 U+25BD # WHITE DOWN-POINTING TRIANGLE +3-2227 U+25BC # BLACK DOWN-POINTING TRIANGLE +3-2228 U+203B # REFERENCE MARK +3-2229 U+3012 # POSTAL MARK +3-222A U+2192 # RIGHTWARDS ARROW +3-222B U+2190 # LEFTWARDS ARROW +3-222C U+2191 # UPWARDS ARROW +3-222D U+2193 # DOWNWARDS ARROW +3-222E U+3013 # GETA MARK +3-222F U+FF07 # FULLWIDTH APOSTROPHE [2000] +3-2230 U+FF02 # FULLWIDTH QUOTATION MARK [2000] +3-2231 U+FF0D # FULLWIDTH HYPHEN-MINUS [2000] +3-2232 U+FF5E # FULLWIDTH TILDE [2000] +3-2233 U+3033 # VERTICAL KANA REPEAT MARK UPPER HALF [2000] +3-2234 U+3034 # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF [2000] +3-2235 U+3035 # VERTICAL KANA REPEAT MARK LOWER HALF [2000] +3-2236 U+303B # VERTICAL IDEOGRAPHIC ITERATION MARK [2000] [Unicode3.2] +3-2237 U+303C # MASU MARK [2000] [Unicode3.2] +3-2238 U+30FF # KATAKANA DIGRAPH KOTO [2000] [Unicode3.2] +3-2239 U+309F # HIRAGANA DIGRAPH YORI [2000] [Unicode3.2] +3-223A U+2208 # ELEMENT OF [1983] +3-223B U+220B # CONTAINS AS MEMBER [1983] +3-223C U+2286 # SUBSET OF OR EQUAL TO [1983] +3-223D U+2287 # SUPERSET OF OR EQUAL TO [1983] +3-223E U+2282 # SUBSET OF [1983] +3-223F U+2283 # SUPERSET OF [1983] +3-2240 U+222A # UNION [1983] +3-2241 U+2229 # INTERSECTION [1983] +3-2242 U+2284 # NOT A SUBSET OF [2000] +3-2243 U+2285 # NOT A SUPERSET OF [2000] +3-2244 U+228A # SUBSET OF WITH NOT EQUAL TO [2000] +3-2245 U+228B # SUPERSET OF WITH NOT EQUAL TO [2000] +3-2246 U+2209 # NOT AN ELEMENT OF [2000] +3-2247 U+2205 # EMPTY SET [2000] +3-2248 U+2305 # PROJECTIVE [2000] +3-2249 U+2306 # PERSPECTIVE [2000] +3-224A U+2227 # LOGICAL AND [1983] +3-224B U+2228 # LOGICAL OR [1983] +3-224C U+00AC # NOT SIGN [1983] Windows: U+FFE2 +3-224D U+21D2 # RIGHTWARDS DOUBLE ARROW [1983] +3-224E U+21D4 # LEFT RIGHT DOUBLE ARROW [1983] +3-224F U+2200 # FOR ALL [1983] +3-2250 U+2203 # THERE EXISTS [1983] +3-2251 U+2295 # CIRCLED PLUS [2000] +3-2252 U+2296 # CIRCLED MINUS [2000] +3-2253 U+2297 # CIRCLED TIMES [2000] +3-2254 U+2225 # PARALLEL TO [2000] +3-2255 U+2226 # NOT PARALLEL TO [2000] +3-2256 U+FF5F # FULLWIDTH LEFT WHITE PARENTHESIS [2000] [Unicode3.2] +3-2257 U+FF60 # FULLWIDTH RIGHT WHITE PARENTHESIS [2000] [Unicode3.2] +3-2258 U+3018 # LEFT WHITE TORTOISE SHELL BRACKET [2000] +3-2259 U+3019 # RIGHT WHITE TORTOISE SHELL BRACKET [2000] +3-225A U+3016 # LEFT WHITE LENTICULAR BRACKET [2000] +3-225B U+3017 # RIGHT WHITE LENTICULAR BRACKET [2000] +3-225C U+2220 # ANGLE [1983] +3-225D U+22A5 # UP TACK [1983] +3-225E U+2312 # ARC [1983] +3-225F U+2202 # PARTIAL DIFFERENTIAL [1983] +3-2260 U+2207 # NABLA [1983] +3-2261 U+2261 # IDENTICAL TO [1983] +3-2262 U+2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF [1983] +3-2263 U+226A # MUCH LESS-THAN [1983] +3-2264 U+226B # MUCH GREATER-THAN [1983] +3-2265 U+221A # SQUARE ROOT [1983] +3-2266 U+223D # REVERSED TILDE [1983] +3-2267 U+221D # PROPORTIONAL TO [1983] +3-2268 U+2235 # BECAUSE [1983] +3-2269 U+222B # INTEGRAL [1983] +3-226A U+222C # DOUBLE INTEGRAL [1983] +3-226B U+2262 # NOT IDENTICAL TO [2000] +3-226C U+2243 # ASYMPTOTICALLY EQUAL TO [2000] +3-226D U+2245 # APPROXIMATELY EQUAL TO [2000] +3-226E U+2248 # ALMOST EQUAL TO [2000] +3-226F U+2276 # LESS-THAN OR GREATER-THAN [2000] +3-2270 U+2277 # GREATER-THAN OR LESS-THAN [2000] +3-2271 U+2194 # LEFT RIGHT ARROW [2000] +3-2272 U+212B # ANGSTROM SIGN [1983] +3-2273 U+2030 # PER MILLE SIGN [1983] +3-2274 U+266F # MUSIC SHARP SIGN [1983] +3-2275 U+266D # MUSIC FLAT SIGN [1983] +3-2276 U+266A # EIGHTH NOTE [1983] +3-2277 U+2020 # DAGGER [1983] +3-2278 U+2021 # DOUBLE DAGGER [1983] +3-2279 U+00B6 # PILCROW SIGN [1983] +3-227A U+266E # MUSIC NATURAL SIGN [2000] +3-227B U+266B # BEAMED EIGHTH NOTES [2000] +3-227C U+266C # BEAMED SIXTEENTH NOTES [2000] +3-227D U+2669 # QUARTER NOTE [2000] +3-227E U+25EF # LARGE CIRCLE [1983] +3-2321 U+25B7 # WHITE RIGHT-POINTING TRIANGLE [2000] +3-2322 U+25B6 # BLACK RIGHT-POINTING TRIANGLE [2000] +3-2323 U+25C1 # WHITE LEFT-POINTING TRIANGLE [2000] +3-2324 U+25C0 # BLACK LEFT-POINTING TRIANGLE [2000] +3-2325 U+2197 # NORTH EAST ARROW [2000] +3-2326 U+2198 # SOUTH EAST ARROW [2000] +3-2327 U+2196 # NORTH WEST ARROW [2000] +3-2328 U+2199 # SOUTH WEST ARROW [2000] +3-2329 U+21C4 # RIGHTWARDS ARROW OVER LEFTWARDS ARROW [2000] +3-232A U+21E8 # RIGHTWARDS WHITE ARROW [2000] +3-232B U+21E6 # LEFTWARDS WHITE ARROW [2000] +3-232C U+21E7 # UPWARDS WHITE ARROW [2000] +3-232D U+21E9 # DOWNWARDS WHITE ARROW [2000] +3-232E U+2934 # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS [2000] [Unicode3.2] +3-232F U+2935 # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS [2000] [Unicode3.2] +3-2330 U+FF10 # FULLWIDTH DIGIT ZERO +3-2331 U+FF11 # FULLWIDTH DIGIT ONE +3-2332 U+FF12 # FULLWIDTH DIGIT TWO +3-2333 U+FF13 # FULLWIDTH DIGIT THREE +3-2334 U+FF14 # FULLWIDTH DIGIT FOUR +3-2335 U+FF15 # FULLWIDTH DIGIT FIVE +3-2336 U+FF16 # FULLWIDTH DIGIT SIX +3-2337 U+FF17 # FULLWIDTH DIGIT SEVEN +3-2338 U+FF18 # FULLWIDTH DIGIT EIGHT +3-2339 U+FF19 # FULLWIDTH DIGIT NINE +3-233A U+29BF # CIRCLED BULLET [2000] [Unicode3.2] +3-233B U+25C9 # FISHEYE [2000] +3-233C U+303D # PART ALTERNATION MARK [2000] [Unicode3.2] +3-233D U+FE46 # WHITE SESAME DOT [2000] [Unicode3.2] +3-233E U+FE45 # SESAME DOT [2000] [Unicode3.2] +3-233F U+25E6 # WHITE BULLET [2000] +3-2340 U+2022 # BULLET [2000] +3-2341 U+FF21 # FULLWIDTH LATIN CAPITAL LETTER A +3-2342 U+FF22 # FULLWIDTH LATIN CAPITAL LETTER B +3-2343 U+FF23 # FULLWIDTH LATIN CAPITAL LETTER C +3-2344 U+FF24 # FULLWIDTH LATIN CAPITAL LETTER D +3-2345 U+FF25 # FULLWIDTH LATIN CAPITAL LETTER E +3-2346 U+FF26 # FULLWIDTH LATIN CAPITAL LETTER F +3-2347 U+FF27 # FULLWIDTH LATIN CAPITAL LETTER G +3-2348 U+FF28 # FULLWIDTH LATIN CAPITAL LETTER H +3-2349 U+FF29 # FULLWIDTH LATIN CAPITAL LETTER I +3-234A U+FF2A # FULLWIDTH LATIN CAPITAL LETTER J +3-234B U+FF2B # FULLWIDTH LATIN CAPITAL LETTER K +3-234C U+FF2C # FULLWIDTH LATIN CAPITAL LETTER L +3-234D U+FF2D # FULLWIDTH LATIN CAPITAL LETTER M +3-234E U+FF2E # FULLWIDTH LATIN CAPITAL LETTER N +3-234F U+FF2F # FULLWIDTH LATIN CAPITAL LETTER O +3-2350 U+FF30 # FULLWIDTH LATIN CAPITAL LETTER P +3-2351 U+FF31 # FULLWIDTH LATIN CAPITAL LETTER Q +3-2352 U+FF32 # FULLWIDTH LATIN CAPITAL LETTER R +3-2353 U+FF33 # FULLWIDTH LATIN CAPITAL LETTER S +3-2354 U+FF34 # FULLWIDTH LATIN CAPITAL LETTER T +3-2355 U+FF35 # FULLWIDTH LATIN CAPITAL LETTER U +3-2356 U+FF36 # FULLWIDTH LATIN CAPITAL LETTER V +3-2357 U+FF37 # FULLWIDTH LATIN CAPITAL LETTER W +3-2358 U+FF38 # FULLWIDTH LATIN CAPITAL LETTER X +3-2359 U+FF39 # FULLWIDTH LATIN CAPITAL LETTER Y +3-235A U+FF3A # FULLWIDTH LATIN CAPITAL LETTER Z +3-235B U+2213 # MINUS-OR-PLUS SIGN [2000] +3-235C U+2135 # ALEF SYMBOL [2000] +3-235D U+210F # PLANCK CONSTANT OVER TWO PI [2000] +3-235E U+33CB # SQUARE HP [2000] +3-235F U+2113 # SCRIPT SMALL L [2000] +3-2360 U+2127 # INVERTED OHM SIGN [2000] +3-2361 U+FF41 # FULLWIDTH LATIN SMALL LETTER A +3-2362 U+FF42 # FULLWIDTH LATIN SMALL LETTER B +3-2363 U+FF43 # FULLWIDTH LATIN SMALL LETTER C +3-2364 U+FF44 # FULLWIDTH LATIN SMALL LETTER D +3-2365 U+FF45 # FULLWIDTH LATIN SMALL LETTER E +3-2366 U+FF46 # FULLWIDTH LATIN SMALL LETTER F +3-2367 U+FF47 # FULLWIDTH LATIN SMALL LETTER G +3-2368 U+FF48 # FULLWIDTH LATIN SMALL LETTER H +3-2369 U+FF49 # FULLWIDTH LATIN SMALL LETTER I +3-236A U+FF4A # FULLWIDTH LATIN SMALL LETTER J +3-236B U+FF4B # FULLWIDTH LATIN SMALL LETTER K +3-236C U+FF4C # FULLWIDTH LATIN SMALL LETTER L +3-236D U+FF4D # FULLWIDTH LATIN SMALL LETTER M +3-236E U+FF4E # FULLWIDTH LATIN SMALL LETTER N +3-236F U+FF4F # FULLWIDTH LATIN SMALL LETTER O +3-2370 U+FF50 # FULLWIDTH LATIN SMALL LETTER P +3-2371 U+FF51 # FULLWIDTH LATIN SMALL LETTER Q +3-2372 U+FF52 # FULLWIDTH LATIN SMALL LETTER R +3-2373 U+FF53 # FULLWIDTH LATIN SMALL LETTER S +3-2374 U+FF54 # FULLWIDTH LATIN SMALL LETTER T +3-2375 U+FF55 # FULLWIDTH LATIN SMALL LETTER U +3-2376 U+FF56 # FULLWIDTH LATIN SMALL LETTER V +3-2377 U+FF57 # FULLWIDTH LATIN SMALL LETTER W +3-2378 U+FF58 # FULLWIDTH LATIN SMALL LETTER X +3-2379 U+FF59 # FULLWIDTH LATIN SMALL LETTER Y +3-237A U+FF5A # FULLWIDTH LATIN SMALL LETTER Z +3-237B U+30A0 # KATAKANA-HIRAGANA DOUBLE HYPHEN [2000] [Unicode3.2] +3-237C U+2013 # EN DASH [2000] +3-237D U+29FA # DOUBLE PLUS [2000] [Unicode3.2] +3-237E U+29FB # TRIPLE PLUS [2000] [Unicode3.2] +3-2421 U+3041 # HIRAGANA LETTER SMALL A +3-2422 U+3042 # HIRAGANA LETTER A +3-2423 U+3043 # HIRAGANA LETTER SMALL I +3-2424 U+3044 # HIRAGANA LETTER I +3-2425 U+3045 # HIRAGANA LETTER SMALL U +3-2426 U+3046 # HIRAGANA LETTER U +3-2427 U+3047 # HIRAGANA LETTER SMALL E +3-2428 U+3048 # HIRAGANA LETTER E +3-2429 U+3049 # HIRAGANA LETTER SMALL O +3-242A U+304A # HIRAGANA LETTER O +3-242B U+304B # HIRAGANA LETTER KA +3-242C U+304C # HIRAGANA LETTER GA +3-242D U+304D # HIRAGANA LETTER KI +3-242E U+304E # HIRAGANA LETTER GI +3-242F U+304F # HIRAGANA LETTER KU +3-2430 U+3050 # HIRAGANA LETTER GU +3-2431 U+3051 # HIRAGANA LETTER KE +3-2432 U+3052 # HIRAGANA LETTER GE +3-2433 U+3053 # HIRAGANA LETTER KO +3-2434 U+3054 # HIRAGANA LETTER GO +3-2435 U+3055 # HIRAGANA LETTER SA +3-2436 U+3056 # HIRAGANA LETTER ZA +3-2437 U+3057 # HIRAGANA LETTER SI +3-2438 U+3058 # HIRAGANA LETTER ZI +3-2439 U+3059 # HIRAGANA LETTER SU +3-243A U+305A # HIRAGANA LETTER ZU +3-243B U+305B # HIRAGANA LETTER SE +3-243C U+305C # HIRAGANA LETTER ZE +3-243D U+305D # HIRAGANA LETTER SO +3-243E U+305E # HIRAGANA LETTER ZO +3-243F U+305F # HIRAGANA LETTER TA +3-2440 U+3060 # HIRAGANA LETTER DA +3-2441 U+3061 # HIRAGANA LETTER TI +3-2442 U+3062 # HIRAGANA LETTER DI +3-2443 U+3063 # HIRAGANA LETTER SMALL TU +3-2444 U+3064 # HIRAGANA LETTER TU +3-2445 U+3065 # HIRAGANA LETTER DU +3-2446 U+3066 # HIRAGANA LETTER TE +3-2447 U+3067 # HIRAGANA LETTER DE +3-2448 U+3068 # HIRAGANA LETTER TO +3-2449 U+3069 # HIRAGANA LETTER DO +3-244A U+306A # HIRAGANA LETTER NA +3-244B U+306B # HIRAGANA LETTER NI +3-244C U+306C # HIRAGANA LETTER NU +3-244D U+306D # HIRAGANA LETTER NE +3-244E U+306E # HIRAGANA LETTER NO +3-244F U+306F # HIRAGANA LETTER HA +3-2450 U+3070 # HIRAGANA LETTER BA +3-2451 U+3071 # HIRAGANA LETTER PA +3-2452 U+3072 # HIRAGANA LETTER HI +3-2453 U+3073 # HIRAGANA LETTER BI +3-2454 U+3074 # HIRAGANA LETTER PI +3-2455 U+3075 # HIRAGANA LETTER HU +3-2456 U+3076 # HIRAGANA LETTER BU +3-2457 U+3077 # HIRAGANA LETTER PU +3-2458 U+3078 # HIRAGANA LETTER HE +3-2459 U+3079 # HIRAGANA LETTER BE +3-245A U+307A # HIRAGANA LETTER PE +3-245B U+307B # HIRAGANA LETTER HO +3-245C U+307C # HIRAGANA LETTER BO +3-245D U+307D # HIRAGANA LETTER PO +3-245E U+307E # HIRAGANA LETTER MA +3-245F U+307F # HIRAGANA LETTER MI +3-2460 U+3080 # HIRAGANA LETTER MU +3-2461 U+3081 # HIRAGANA LETTER ME +3-2462 U+3082 # HIRAGANA LETTER MO +3-2463 U+3083 # HIRAGANA LETTER SMALL YA +3-2464 U+3084 # HIRAGANA LETTER YA +3-2465 U+3085 # HIRAGANA LETTER SMALL YU +3-2466 U+3086 # HIRAGANA LETTER YU +3-2467 U+3087 # HIRAGANA LETTER SMALL YO +3-2468 U+3088 # HIRAGANA LETTER YO +3-2469 U+3089 # HIRAGANA LETTER RA +3-246A U+308A # HIRAGANA LETTER RI +3-246B U+308B # HIRAGANA LETTER RU +3-246C U+308C # HIRAGANA LETTER RE +3-246D U+308D # HIRAGANA LETTER RO +3-246E U+308E # HIRAGANA LETTER SMALL WA +3-246F U+308F # HIRAGANA LETTER WA +3-2470 U+3090 # HIRAGANA LETTER WI +3-2471 U+3091 # HIRAGANA LETTER WE +3-2472 U+3092 # HIRAGANA LETTER WO +3-2473 U+3093 # HIRAGANA LETTER N +3-2474 U+3094 # HIRAGANA LETTER VU [2000] +3-2475 U+3095 # HIRAGANA LETTER SMALL KA [2000] [Unicode3.2] +3-2476 U+3096 # HIRAGANA LETTER SMALL KE [2000] [Unicode3.2] +3-2477 U+304B+309A # [2000] +3-2478 U+304D+309A # [2000] +3-2479 U+304F+309A # [2000] +3-247A U+3051+309A # [2000] +3-247B U+3053+309A # [2000] +3-247C # +3-247D # +3-247E # +3-2521 U+30A1 # KATAKANA LETTER SMALL A +3-2522 U+30A2 # KATAKANA LETTER A +3-2523 U+30A3 # KATAKANA LETTER SMALL I +3-2524 U+30A4 # KATAKANA LETTER I +3-2525 U+30A5 # KATAKANA LETTER SMALL U +3-2526 U+30A6 # KATAKANA LETTER U +3-2527 U+30A7 # KATAKANA LETTER SMALL E +3-2528 U+30A8 # KATAKANA LETTER E +3-2529 U+30A9 # KATAKANA LETTER SMALL O +3-252A U+30AA # KATAKANA LETTER O +3-252B U+30AB # KATAKANA LETTER KA +3-252C U+30AC # KATAKANA LETTER GA +3-252D U+30AD # KATAKANA LETTER KI +3-252E U+30AE # KATAKANA LETTER GI +3-252F U+30AF # KATAKANA LETTER KU +3-2530 U+30B0 # KATAKANA LETTER GU +3-2531 U+30B1 # KATAKANA LETTER KE +3-2532 U+30B2 # KATAKANA LETTER GE +3-2533 U+30B3 # KATAKANA LETTER KO +3-2534 U+30B4 # KATAKANA LETTER GO +3-2535 U+30B5 # KATAKANA LETTER SA +3-2536 U+30B6 # KATAKANA LETTER ZA +3-2537 U+30B7 # KATAKANA LETTER SI +3-2538 U+30B8 # KATAKANA LETTER ZI +3-2539 U+30B9 # KATAKANA LETTER SU +3-253A U+30BA # KATAKANA LETTER ZU +3-253B U+30BB # KATAKANA LETTER SE +3-253C U+30BC # KATAKANA LETTER ZE +3-253D U+30BD # KATAKANA LETTER SO +3-253E U+30BE # KATAKANA LETTER ZO +3-253F U+30BF # KATAKANA LETTER TA +3-2540 U+30C0 # KATAKANA LETTER DA +3-2541 U+30C1 # KATAKANA LETTER TI +3-2542 U+30C2 # KATAKANA LETTER DI +3-2543 U+30C3 # KATAKANA LETTER SMALL TU +3-2544 U+30C4 # KATAKANA LETTER TU +3-2545 U+30C5 # KATAKANA LETTER DU +3-2546 U+30C6 # KATAKANA LETTER TE +3-2547 U+30C7 # KATAKANA LETTER DE +3-2548 U+30C8 # KATAKANA LETTER TO +3-2549 U+30C9 # KATAKANA LETTER DO +3-254A U+30CA # KATAKANA LETTER NA +3-254B U+30CB # KATAKANA LETTER NI +3-254C U+30CC # KATAKANA LETTER NU +3-254D U+30CD # KATAKANA LETTER NE +3-254E U+30CE # KATAKANA LETTER NO +3-254F U+30CF # KATAKANA LETTER HA +3-2550 U+30D0 # KATAKANA LETTER BA +3-2551 U+30D1 # KATAKANA LETTER PA +3-2552 U+30D2 # KATAKANA LETTER HI +3-2553 U+30D3 # KATAKANA LETTER BI +3-2554 U+30D4 # KATAKANA LETTER PI +3-2555 U+30D5 # KATAKANA LETTER HU +3-2556 U+30D6 # KATAKANA LETTER BU +3-2557 U+30D7 # KATAKANA LETTER PU +3-2558 U+30D8 # KATAKANA LETTER HE +3-2559 U+30D9 # KATAKANA LETTER BE +3-255A U+30DA # KATAKANA LETTER PE +3-255B U+30DB # KATAKANA LETTER HO +3-255C U+30DC # KATAKANA LETTER BO +3-255D U+30DD # KATAKANA LETTER PO +3-255E U+30DE # KATAKANA LETTER MA +3-255F U+30DF # KATAKANA LETTER MI +3-2560 U+30E0 # KATAKANA LETTER MU +3-2561 U+30E1 # KATAKANA LETTER ME +3-2562 U+30E2 # KATAKANA LETTER MO +3-2563 U+30E3 # KATAKANA LETTER SMALL YA +3-2564 U+30E4 # KATAKANA LETTER YA +3-2565 U+30E5 # KATAKANA LETTER SMALL YU +3-2566 U+30E6 # KATAKANA LETTER YU +3-2567 U+30E7 # KATAKANA LETTER SMALL YO +3-2568 U+30E8 # KATAKANA LETTER YO +3-2569 U+30E9 # KATAKANA LETTER RA +3-256A U+30EA # KATAKANA LETTER RI +3-256B U+30EB # KATAKANA LETTER RU +3-256C U+30EC # KATAKANA LETTER RE +3-256D U+30ED # KATAKANA LETTER RO +3-256E U+30EE # KATAKANA LETTER SMALL WA +3-256F U+30EF # KATAKANA LETTER WA +3-2570 U+30F0 # KATAKANA LETTER WI +3-2571 U+30F1 # KATAKANA LETTER WE +3-2572 U+30F2 # KATAKANA LETTER WO +3-2573 U+30F3 # KATAKANA LETTER N +3-2574 U+30F4 # KATAKANA LETTER VU +3-2575 U+30F5 # KATAKANA LETTER SMALL KA +3-2576 U+30F6 # KATAKANA LETTER SMALL KE +3-2577 U+30AB+309A # [2000] +3-2578 U+30AD+309A # [2000] +3-2579 U+30AF+309A # [2000] +3-257A U+30B1+309A # [2000] +3-257B U+30B3+309A # [2000] +3-257C U+30BB+309A # [2000] +3-257D U+30C4+309A # [2000] +3-257E U+30C8+309A # [2000] +3-2621 U+0391 # GREEK CAPITAL LETTER ALPHA +3-2622 U+0392 # GREEK CAPITAL LETTER BETA +3-2623 U+0393 # GREEK CAPITAL LETTER GAMMA +3-2624 U+0394 # GREEK CAPITAL LETTER DELTA +3-2625 U+0395 # GREEK CAPITAL LETTER EPSILON +3-2626 U+0396 # GREEK CAPITAL LETTER ZETA +3-2627 U+0397 # GREEK CAPITAL LETTER ETA +3-2628 U+0398 # GREEK CAPITAL LETTER THETA +3-2629 U+0399 # GREEK CAPITAL LETTER IOTA +3-262A U+039A # GREEK CAPITAL LETTER KAPPA +3-262B U+039B # GREEK CAPITAL LETTER LAMDA +3-262C U+039C # GREEK CAPITAL LETTER MU +3-262D U+039D # GREEK CAPITAL LETTER NU +3-262E U+039E # GREEK CAPITAL LETTER XI +3-262F U+039F # GREEK CAPITAL LETTER OMICRON +3-2630 U+03A0 # GREEK CAPITAL LETTER PI +3-2631 U+03A1 # GREEK CAPITAL LETTER RHO +3-2632 U+03A3 # GREEK CAPITAL LETTER SIGMA +3-2633 U+03A4 # GREEK CAPITAL LETTER TAU +3-2634 U+03A5 # GREEK CAPITAL LETTER UPSILON +3-2635 U+03A6 # GREEK CAPITAL LETTER PHI +3-2636 U+03A7 # GREEK CAPITAL LETTER CHI +3-2637 U+03A8 # GREEK CAPITAL LETTER PSI +3-2638 U+03A9 # GREEK CAPITAL LETTER OMEGA +3-2639 U+2664 # WHITE SPADE SUIT [2000] +3-263A U+2660 # BLACK SPADE SUIT [2000] +3-263B U+2662 # WHITE DIAMOND SUIT [2000] +3-263C U+2666 # BLACK DIAMOND SUIT [2000] +3-263D U+2661 # WHITE HEART SUIT [2000] +3-263E U+2665 # BLACK HEART SUIT [2000] +3-263F U+2667 # WHITE CLUB SUIT [2000] +3-2640 U+2663 # BLACK CLUB SUIT [2000] +3-2641 U+03B1 # GREEK SMALL LETTER ALPHA +3-2642 U+03B2 # GREEK SMALL LETTER BETA +3-2643 U+03B3 # GREEK SMALL LETTER GAMMA +3-2644 U+03B4 # GREEK SMALL LETTER DELTA +3-2645 U+03B5 # GREEK SMALL LETTER EPSILON +3-2646 U+03B6 # GREEK SMALL LETTER ZETA +3-2647 U+03B7 # GREEK SMALL LETTER ETA +3-2648 U+03B8 # GREEK SMALL LETTER THETA +3-2649 U+03B9 # GREEK SMALL LETTER IOTA +3-264A U+03BA # GREEK SMALL LETTER KAPPA +3-264B U+03BB # GREEK SMALL LETTER LAMDA +3-264C U+03BC # GREEK SMALL LETTER MU +3-264D U+03BD # GREEK SMALL LETTER NU +3-264E U+03BE # GREEK SMALL LETTER XI +3-264F U+03BF # GREEK SMALL LETTER OMICRON +3-2650 U+03C0 # GREEK SMALL LETTER PI +3-2651 U+03C1 # GREEK SMALL LETTER RHO +3-2652 U+03C3 # GREEK SMALL LETTER SIGMA +3-2653 U+03C4 # GREEK SMALL LETTER TAU +3-2654 U+03C5 # GREEK SMALL LETTER UPSILON +3-2655 U+03C6 # GREEK SMALL LETTER PHI +3-2656 U+03C7 # GREEK SMALL LETTER CHI +3-2657 U+03C8 # GREEK SMALL LETTER PSI +3-2658 U+03C9 # GREEK SMALL LETTER OMEGA +3-2659 U+03C2 # GREEK SMALL LETTER FINAL SIGMA [2000] +3-265A U+24F5 # DOUBLE CIRCLED DIGIT ONE [2000] [Unicode3.2] +3-265B U+24F6 # DOUBLE CIRCLED DIGIT TWO [2000] [Unicode3.2] +3-265C U+24F7 # DOUBLE CIRCLED DIGIT THREE [2000] [Unicode3.2] +3-265D U+24F8 # DOUBLE CIRCLED DIGIT FOUR [2000] [Unicode3.2] +3-265E U+24F9 # DOUBLE CIRCLED DIGIT FIVE [2000] [Unicode3.2] +3-265F U+24FA # DOUBLE CIRCLED DIGIT SIX [2000] [Unicode3.2] +3-2660 U+24FB # DOUBLE CIRCLED DIGIT SEVEN [2000] [Unicode3.2] +3-2661 U+24FC # DOUBLE CIRCLED DIGIT EIGHT [2000] [Unicode3.2] +3-2662 U+24FD # DOUBLE CIRCLED DIGIT NINE [2000] [Unicode3.2] +3-2663 U+24FE # DOUBLE CIRCLED NUMBER TEN [2000] [Unicode3.2] +3-2664 U+2616 # WHITE SHOGI PIECE [2000] [Unicode3.2] +3-2665 U+2617 # BLACK SHOGI PIECE [2000] [Unicode3.2] +3-2666 U+3020 # POSTAL MARK FACE [2000] +3-2667 U+260E # BLACK TELEPHONE [2000] +3-2668 U+2600 # BLACK SUN WITH RAYS [2000] +3-2669 U+2601 # CLOUD [2000] +3-266A U+2602 # UMBRELLA [2000] +3-266B U+2603 # SNOWMAN [2000] +3-266C U+2668 # HOT SPRINGS [2000] +3-266D U+25B1 # WHITE PARALLELOGRAM [2000] +3-266E U+31F0 # KATAKANA LETTER SMALL KU [2000] [Unicode3.2] +3-266F U+31F1 # KATAKANA LETTER SMALL SI [2000] [Unicode3.2] +3-2670 U+31F2 # KATAKANA LETTER SMALL SU [2000] [Unicode3.2] +3-2671 U+31F3 # KATAKANA LETTER SMALL TO [2000] [Unicode3.2] +3-2672 U+31F4 # KATAKANA LETTER SMALL NU [2000] [Unicode3.2] +3-2673 U+31F5 # KATAKANA LETTER SMALL HA [2000] [Unicode3.2] +3-2674 U+31F6 # KATAKANA LETTER SMALL HI [2000] [Unicode3.2] +3-2675 U+31F7 # KATAKANA LETTER SMALL HU [2000] [Unicode3.2] +3-2676 U+31F8 # KATAKANA LETTER SMALL HE [2000] [Unicode3.2] +3-2677 U+31F9 # KATAKANA LETTER SMALL HO [2000] [Unicode3.2] +3-2678 U+31F7+309A # [2000] +3-2679 U+31FA # KATAKANA LETTER SMALL MU [2000] [Unicode3.2] +3-267A U+31FB # KATAKANA LETTER SMALL RA [2000] [Unicode3.2] +3-267B U+31FC # KATAKANA LETTER SMALL RI [2000] [Unicode3.2] +3-267C U+31FD # KATAKANA LETTER SMALL RU [2000] [Unicode3.2] +3-267D U+31FE # KATAKANA LETTER SMALL RE [2000] [Unicode3.2] +3-267E U+31FF # KATAKANA LETTER SMALL RO [2000] [Unicode3.2] +3-2721 U+0410 # CYRILLIC CAPITAL LETTER A +3-2722 U+0411 # CYRILLIC CAPITAL LETTER BE +3-2723 U+0412 # CYRILLIC CAPITAL LETTER VE +3-2724 U+0413 # CYRILLIC CAPITAL LETTER GHE +3-2725 U+0414 # CYRILLIC CAPITAL LETTER DE +3-2726 U+0415 # CYRILLIC CAPITAL LETTER IE +3-2727 U+0401 # CYRILLIC CAPITAL LETTER IO +3-2728 U+0416 # CYRILLIC CAPITAL LETTER ZHE +3-2729 U+0417 # CYRILLIC CAPITAL LETTER ZE +3-272A U+0418 # CYRILLIC CAPITAL LETTER I +3-272B U+0419 # CYRILLIC CAPITAL LETTER SHORT I +3-272C U+041A # CYRILLIC CAPITAL LETTER KA +3-272D U+041B # CYRILLIC CAPITAL LETTER EL +3-272E U+041C # CYRILLIC CAPITAL LETTER EM +3-272F U+041D # CYRILLIC CAPITAL LETTER EN +3-2730 U+041E # CYRILLIC CAPITAL LETTER O +3-2731 U+041F # CYRILLIC CAPITAL LETTER PE +3-2732 U+0420 # CYRILLIC CAPITAL LETTER ER +3-2733 U+0421 # CYRILLIC CAPITAL LETTER ES +3-2734 U+0422 # CYRILLIC CAPITAL LETTER TE +3-2735 U+0423 # CYRILLIC CAPITAL LETTER U +3-2736 U+0424 # CYRILLIC CAPITAL LETTER EF +3-2737 U+0425 # CYRILLIC CAPITAL LETTER HA +3-2738 U+0426 # CYRILLIC CAPITAL LETTER TSE +3-2739 U+0427 # CYRILLIC CAPITAL LETTER CHE +3-273A U+0428 # CYRILLIC CAPITAL LETTER SHA +3-273B U+0429 # CYRILLIC CAPITAL LETTER SHCHA +3-273C U+042A # CYRILLIC CAPITAL LETTER HARD SIGN +3-273D U+042B # CYRILLIC CAPITAL LETTER YERU +3-273E U+042C # CYRILLIC CAPITAL LETTER SOFT SIGN +3-273F U+042D # CYRILLIC CAPITAL LETTER E +3-2740 U+042E # CYRILLIC CAPITAL LETTER YU +3-2741 U+042F # CYRILLIC CAPITAL LETTER YA +3-2742 U+23BE # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT [2000] [Unicode3.2] +3-2743 U+23BF # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT [2000] [Unicode3.2] +3-2744 U+23C0 # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE [2000] [Unicode3.2] +3-2745 U+23C1 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE [2000] [Unicode3.2] +3-2746 U+23C2 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE [2000] [Unicode3.2] +3-2747 U+23C3 # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE [2000] [Unicode3.2] +3-2748 U+23C4 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE [2000] [Unicode3.2] +3-2749 U+23C5 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE [2000] [Unicode3.2] +3-274A U+23C6 # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE [2000] [Unicode3.2] +3-274B U+23C7 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE [2000] [Unicode3.2] +3-274C U+23C8 # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE [2000] [Unicode3.2] +3-274D U+23C9 # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL [2000] [Unicode3.2] +3-274E U+23CA # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL [2000] [Unicode3.2] +3-274F U+23CB # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT [2000] [Unicode3.2] +3-2750 U+23CC # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT [2000] [Unicode3.2] +3-2751 U+0430 # CYRILLIC SMALL LETTER A +3-2752 U+0431 # CYRILLIC SMALL LETTER BE +3-2753 U+0432 # CYRILLIC SMALL LETTER VE +3-2754 U+0433 # CYRILLIC SMALL LETTER GHE +3-2755 U+0434 # CYRILLIC SMALL LETTER DE +3-2756 U+0435 # CYRILLIC SMALL LETTER IE +3-2757 U+0451 # CYRILLIC SMALL LETTER IO +3-2758 U+0436 # CYRILLIC SMALL LETTER ZHE +3-2759 U+0437 # CYRILLIC SMALL LETTER ZE +3-275A U+0438 # CYRILLIC SMALL LETTER I +3-275B U+0439 # CYRILLIC SMALL LETTER SHORT I +3-275C U+043A # CYRILLIC SMALL LETTER KA +3-275D U+043B # CYRILLIC SMALL LETTER EL +3-275E U+043C # CYRILLIC SMALL LETTER EM +3-275F U+043D # CYRILLIC SMALL LETTER EN +3-2760 U+043E # CYRILLIC SMALL LETTER O +3-2761 U+043F # CYRILLIC SMALL LETTER PE +3-2762 U+0440 # CYRILLIC SMALL LETTER ER +3-2763 U+0441 # CYRILLIC SMALL LETTER ES +3-2764 U+0442 # CYRILLIC SMALL LETTER TE +3-2765 U+0443 # CYRILLIC SMALL LETTER U +3-2766 U+0444 # CYRILLIC SMALL LETTER EF +3-2767 U+0445 # CYRILLIC SMALL LETTER HA +3-2768 U+0446 # CYRILLIC SMALL LETTER TSE +3-2769 U+0447 # CYRILLIC SMALL LETTER CHE +3-276A U+0448 # CYRILLIC SMALL LETTER SHA +3-276B U+0449 # CYRILLIC SMALL LETTER SHCHA +3-276C U+044A # CYRILLIC SMALL LETTER HARD SIGN +3-276D U+044B # CYRILLIC SMALL LETTER YERU +3-276E U+044C # CYRILLIC SMALL LETTER SOFT SIGN +3-276F U+044D # CYRILLIC SMALL LETTER E +3-2770 U+044E # CYRILLIC SMALL LETTER YU +3-2771 U+044F # CYRILLIC SMALL LETTER YA +3-2772 U+30F7 # KATAKANA LETTER VA [2000] +3-2773 U+30F8 # KATAKANA LETTER VI [2000] +3-2774 U+30F9 # KATAKANA LETTER VE [2000] +3-2775 U+30FA # KATAKANA LETTER VO [2000] +3-2776 U+22DA # LESS-THAN EQUAL TO OR GREATER-THAN [2000] +3-2777 U+22DB # GREATER-THAN EQUAL TO OR LESS-THAN [2000] +3-2778 U+2153 # VULGAR FRACTION ONE THIRD [2000] +3-2779 U+2154 # VULGAR FRACTION TWO THIRDS [2000] +3-277A U+2155 # VULGAR FRACTION ONE FIFTH [2000] +3-277B U+2713 # CHECK MARK [2000] +3-277C U+2318 # PLACE OF INTEREST SIGN [2000] +3-277D U+2423 # OPEN BOX [2000] +3-277E U+23CE # RETURN SYMBOL [2000] [Unicode3.2] +3-2821 U+2500 # BOX DRAWINGS LIGHT HORIZONTAL [1983] +3-2822 U+2502 # BOX DRAWINGS LIGHT VERTICAL [1983] +3-2823 U+250C # BOX DRAWINGS LIGHT DOWN AND RIGHT [1983] +3-2824 U+2510 # BOX DRAWINGS LIGHT DOWN AND LEFT [1983] +3-2825 U+2518 # BOX DRAWINGS LIGHT UP AND LEFT [1983] +3-2826 U+2514 # BOX DRAWINGS LIGHT UP AND RIGHT [1983] +3-2827 U+251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT [1983] +3-2828 U+252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL [1983] +3-2829 U+2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT [1983] +3-282A U+2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL [1983] +3-282B U+253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL [1983] +3-282C U+2501 # BOX DRAWINGS HEAVY HORIZONTAL [1983] +3-282D U+2503 # BOX DRAWINGS HEAVY VERTICAL [1983] +3-282E U+250F # BOX DRAWINGS HEAVY DOWN AND RIGHT [1983] +3-282F U+2513 # BOX DRAWINGS HEAVY DOWN AND LEFT [1983] +3-2830 U+251B # BOX DRAWINGS HEAVY UP AND LEFT [1983] +3-2831 U+2517 # BOX DRAWINGS HEAVY UP AND RIGHT [1983] +3-2832 U+2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT [1983] +3-2833 U+2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL [1983] +3-2834 U+252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT [1983] +3-2835 U+253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL [1983] +3-2836 U+254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL [1983] +3-2837 U+2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT [1983] +3-2838 U+252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY [1983] +3-2839 U+2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT [1983] +3-283A U+2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY [1983] +3-283B U+253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY [1983] +3-283C U+251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY [1983] +3-283D U+2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT [1983] +3-283E U+2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY [1983] +3-283F U+2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT [1983] +3-2840 U+2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT [1983] +3-2841 U+3251 # CIRCLED NUMBER TWENTY ONE [2000] [Unicode3.2] +3-2842 U+3252 # CIRCLED NUMBER TWENTY TWO [2000] [Unicode3.2] +3-2843 U+3253 # CIRCLED NUMBER TWENTY THREE [2000] [Unicode3.2] +3-2844 U+3254 # CIRCLED NUMBER TWENTY FOUR [2000] [Unicode3.2] +3-2845 U+3255 # CIRCLED NUMBER TWENTY FIVE [2000] [Unicode3.2] +3-2846 U+3256 # CIRCLED NUMBER TWENTY SIX [2000] [Unicode3.2] +3-2847 U+3257 # CIRCLED NUMBER TWENTY SEVEN [2000] [Unicode3.2] +3-2848 U+3258 # CIRCLED NUMBER TWENTY EIGHT [2000] [Unicode3.2] +3-2849 U+3259 # CIRCLED NUMBER TWENTY NINE [2000] [Unicode3.2] +3-284A U+325A # CIRCLED NUMBER THIRTY [2000] [Unicode3.2] +3-284B U+325B # CIRCLED NUMBER THIRTY ONE [2000] [Unicode3.2] +3-284C U+325C # CIRCLED NUMBER THIRTY TWO [2000] [Unicode3.2] +3-284D U+325D # CIRCLED NUMBER THIRTY THREE [2000] [Unicode3.2] +3-284E U+325E # CIRCLED NUMBER THIRTY FOUR [2000] [Unicode3.2] +3-284F U+325F # CIRCLED NUMBER THIRTY FIVE [2000] [Unicode3.2] +3-2850 U+32B1 # CIRCLED NUMBER THIRTY SIX [2000] [Unicode3.2] +3-2851 U+32B2 # CIRCLED NUMBER THIRTY SEVEN [2000] [Unicode3.2] +3-2852 U+32B3 # CIRCLED NUMBER THIRTY EIGHT [2000] [Unicode3.2] +3-2853 U+32B4 # CIRCLED NUMBER THIRTY NINE [2000] [Unicode3.2] +3-2854 U+32B5 # CIRCLED NUMBER FORTY [2000] [Unicode3.2] +3-2855 U+32B6 # CIRCLED NUMBER FORTY ONE [2000] [Unicode3.2] +3-2856 U+32B7 # CIRCLED NUMBER FORTY TWO [2000] [Unicode3.2] +3-2857 U+32B8 # CIRCLED NUMBER FORTY THREE [2000] [Unicode3.2] +3-2858 U+32B9 # CIRCLED NUMBER FORTY FOUR [2000] [Unicode3.2] +3-2859 U+32BA # CIRCLED NUMBER FORTY FIVE [2000] [Unicode3.2] +3-285A U+32BB # CIRCLED NUMBER FORTY SIX [2000] [Unicode3.2] +3-285B U+32BC # CIRCLED NUMBER FORTY SEVEN [2000] [Unicode3.2] +3-285C U+32BD # CIRCLED NUMBER FORTY EIGHT [2000] [Unicode3.2] +3-285D U+32BE # CIRCLED NUMBER FORTY NINE [2000] [Unicode3.2] +3-285E U+32BF # CIRCLED NUMBER FIFTY [2000] [Unicode3.2] +3-285F # +3-2860 # +3-2861 # +3-2862 # +3-2863 # +3-2864 # +3-2865 # +3-2866 # +3-2867 U+25D0 # CIRCLE WITH LEFT HALF BLACK [2000] +3-2868 U+25D1 # CIRCLE WITH RIGHT HALF BLACK [2000] +3-2869 U+25D2 # CIRCLE WITH LOWER HALF BLACK [2000] +3-286A U+25D3 # CIRCLE WITH UPPER HALF BLACK [2000] +3-286B U+203C # DOUBLE EXCLAMATION MARK [2000] +3-286C U+2047 # DOUBLE QUESTION MARK [2000] [Unicode3.2] +3-286D U+2048 # QUESTION EXCLAMATION MARK [2000] +3-286E U+2049 # EXCLAMATION QUESTION MARK [2000] +3-286F U+01CD # LATIN CAPITAL LETTER A WITH CARON [2000] +3-2870 U+01CE # LATIN SMALL LETTER A WITH CARON [2000] +3-2871 U+01D0 # LATIN SMALL LETTER I WITH CARON [2000] +3-2872 U+1E3E # LATIN CAPITAL LETTER M WITH ACUTE [2000] +3-2873 U+1E3F # LATIN SMALL LETTER M WITH ACUTE [2000] +3-2874 U+01F8 # LATIN CAPITAL LETTER N WITH GRAVE [2000] +3-2875 U+01F9 # LATIN SMALL LETTER N WITH GRAVE [2000] +3-2876 U+01D1 # LATIN CAPITAL LETTER O WITH CARON [2000] +3-2877 U+01D2 # LATIN SMALL LETTER O WITH CARON [2000] +3-2878 U+01D4 # LATIN SMALL LETTER U WITH CARON [2000] +3-2879 U+01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON [2000] +3-287A U+01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE [2000] +3-287B U+01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON [2000] +3-287C U+01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE [2000] +3-287D # +3-287E # +3-2921 U+20AC # EURO SIGN [2000] +3-2922 U+00A0 # NO-BREAK SPACE [2000] +3-2923 U+00A1 # INVERTED EXCLAMATION MARK [2000] +3-2924 U+00A4 # CURRENCY SIGN [2000] +3-2925 U+00A6 # BROKEN BAR [2000] +3-2926 U+00A9 # COPYRIGHT SIGN [2000] +3-2927 U+00AA # FEMININE ORDINAL INDICATOR [2000] +3-2928 U+00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK [2000] +3-2929 U+00AD # SOFT HYPHEN [2000] +3-292A U+00AE # REGISTERED SIGN [2000] +3-292B U+00AF # MACRON [2000] +3-292C U+00B2 # SUPERSCRIPT TWO [2000] +3-292D U+00B3 # SUPERSCRIPT THREE [2000] +3-292E U+00B7 # MIDDLE DOT [2000] +3-292F U+00B8 # CEDILLA [2000] +3-2930 U+00B9 # SUPERSCRIPT ONE [2000] +3-2931 U+00BA # MASCULINE ORDINAL INDICATOR [2000] +3-2932 U+00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK [2000] +3-2933 U+00BC # VULGAR FRACTION ONE QUARTER [2000] +3-2934 U+00BD # VULGAR FRACTION ONE HALF [2000] +3-2935 U+00BE # VULGAR FRACTION THREE QUARTERS [2000] +3-2936 U+00BF # INVERTED QUESTION MARK [2000] +3-2937 U+00C0 # LATIN CAPITAL LETTER A WITH GRAVE [2000] +3-2938 U+00C1 # LATIN CAPITAL LETTER A WITH ACUTE [2000] +3-2939 U+00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX [2000] +3-293A U+00C3 # LATIN CAPITAL LETTER A WITH TILDE [2000] +3-293B U+00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS [2000] +3-293C U+00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE [2000] +3-293D U+00C6 # LATIN CAPITAL LETTER AE [2000] +3-293E U+00C7 # LATIN CAPITAL LETTER C WITH CEDILLA [2000] +3-293F U+00C8 # LATIN CAPITAL LETTER E WITH GRAVE [2000] +3-2940 U+00C9 # LATIN CAPITAL LETTER E WITH ACUTE [2000] +3-2941 U+00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX [2000] +3-2942 U+00CB # LATIN CAPITAL LETTER E WITH DIAERESIS [2000] +3-2943 U+00CC # LATIN CAPITAL LETTER I WITH GRAVE [2000] +3-2944 U+00CD # LATIN CAPITAL LETTER I WITH ACUTE [2000] +3-2945 U+00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX [2000] +3-2946 U+00CF # LATIN CAPITAL LETTER I WITH DIAERESIS [2000] +3-2947 U+00D0 # LATIN CAPITAL LETTER ETH [2000] +3-2948 U+00D1 # LATIN CAPITAL LETTER N WITH TILDE [2000] +3-2949 U+00D2 # LATIN CAPITAL LETTER O WITH GRAVE [2000] +3-294A U+00D3 # LATIN CAPITAL LETTER O WITH ACUTE [2000] +3-294B U+00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX [2000] +3-294C U+00D5 # LATIN CAPITAL LETTER O WITH TILDE [2000] +3-294D U+00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS [2000] +3-294E U+00D8 # LATIN CAPITAL LETTER O WITH STROKE [2000] +3-294F U+00D9 # LATIN CAPITAL LETTER U WITH GRAVE [2000] +3-2950 U+00DA # LATIN CAPITAL LETTER U WITH ACUTE [2000] +3-2951 U+00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX [2000] +3-2952 U+00DC # LATIN CAPITAL LETTER U WITH DIAERESIS [2000] +3-2953 U+00DD # LATIN CAPITAL LETTER Y WITH ACUTE [2000] +3-2954 U+00DE # LATIN CAPITAL LETTER THORN [2000] +3-2955 U+00DF # LATIN SMALL LETTER SHARP S [2000] +3-2956 U+00E0 # LATIN SMALL LETTER A WITH GRAVE [2000] +3-2957 U+00E1 # LATIN SMALL LETTER A WITH ACUTE [2000] +3-2958 U+00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX [2000] +3-2959 U+00E3 # LATIN SMALL LETTER A WITH TILDE [2000] +3-295A U+00E4 # LATIN SMALL LETTER A WITH DIAERESIS [2000] +3-295B U+00E5 # LATIN SMALL LETTER A WITH RING ABOVE [2000] +3-295C U+00E6 # LATIN SMALL LETTER AE [2000] +3-295D U+00E7 # LATIN SMALL LETTER C WITH CEDILLA [2000] +3-295E U+00E8 # LATIN SMALL LETTER E WITH GRAVE [2000] +3-295F U+00E9 # LATIN SMALL LETTER E WITH ACUTE [2000] +3-2960 U+00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX [2000] +3-2961 U+00EB # LATIN SMALL LETTER E WITH DIAERESIS [2000] +3-2962 U+00EC # LATIN SMALL LETTER I WITH GRAVE [2000] +3-2963 U+00ED # LATIN SMALL LETTER I WITH ACUTE [2000] +3-2964 U+00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX [2000] +3-2965 U+00EF # LATIN SMALL LETTER I WITH DIAERESIS [2000] +3-2966 U+00F0 # LATIN SMALL LETTER ETH [2000] +3-2967 U+00F1 # LATIN SMALL LETTER N WITH TILDE [2000] +3-2968 U+00F2 # LATIN SMALL LETTER O WITH GRAVE [2000] +3-2969 U+00F3 # LATIN SMALL LETTER O WITH ACUTE [2000] +3-296A U+00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX [2000] +3-296B U+00F5 # LATIN SMALL LETTER O WITH TILDE [2000] +3-296C U+00F6 # LATIN SMALL LETTER O WITH DIAERESIS [2000] +3-296D U+00F8 # LATIN SMALL LETTER O WITH STROKE [2000] +3-296E U+00F9 # LATIN SMALL LETTER U WITH GRAVE [2000] +3-296F U+00FA # LATIN SMALL LETTER U WITH ACUTE [2000] +3-2970 U+00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX [2000] +3-2971 U+00FC # LATIN SMALL LETTER U WITH DIAERESIS [2000] +3-2972 U+00FD # LATIN SMALL LETTER Y WITH ACUTE [2000] +3-2973 U+00FE # LATIN SMALL LETTER THORN [2000] +3-2974 U+00FF # LATIN SMALL LETTER Y WITH DIAERESIS [2000] +3-2975 U+0100 # LATIN CAPITAL LETTER A WITH MACRON [2000] +3-2976 U+012A # LATIN CAPITAL LETTER I WITH MACRON [2000] +3-2977 U+016A # LATIN CAPITAL LETTER U WITH MACRON [2000] +3-2978 U+0112 # LATIN CAPITAL LETTER E WITH MACRON [2000] +3-2979 U+014C # LATIN CAPITAL LETTER O WITH MACRON [2000] +3-297A U+0101 # LATIN SMALL LETTER A WITH MACRON [2000] +3-297B U+012B # LATIN SMALL LETTER I WITH MACRON [2000] +3-297C U+016B # LATIN SMALL LETTER U WITH MACRON [2000] +3-297D U+0113 # LATIN SMALL LETTER E WITH MACRON [2000] +3-297E U+014D # LATIN SMALL LETTER O WITH MACRON [2000] +3-2A21 U+0104 # LATIN CAPITAL LETTER A WITH OGONEK [2000] +3-2A22 U+02D8 # BREVE [2000] +3-2A23 U+0141 # LATIN CAPITAL LETTER L WITH STROKE [2000] +3-2A24 U+013D # LATIN CAPITAL LETTER L WITH CARON [2000] +3-2A25 U+015A # LATIN CAPITAL LETTER S WITH ACUTE [2000] +3-2A26 U+0160 # LATIN CAPITAL LETTER S WITH CARON [2000] +3-2A27 U+015E # LATIN CAPITAL LETTER S WITH CEDILLA [2000] +3-2A28 U+0164 # LATIN CAPITAL LETTER T WITH CARON [2000] +3-2A29 U+0179 # LATIN CAPITAL LETTER Z WITH ACUTE [2000] +3-2A2A U+017D # LATIN CAPITAL LETTER Z WITH CARON [2000] +3-2A2B U+017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE [2000] +3-2A2C U+0105 # LATIN SMALL LETTER A WITH OGONEK [2000] +3-2A2D U+02DB # OGONEK [2000] +3-2A2E U+0142 # LATIN SMALL LETTER L WITH STROKE [2000] +3-2A2F U+013E # LATIN SMALL LETTER L WITH CARON [2000] +3-2A30 U+015B # LATIN SMALL LETTER S WITH ACUTE [2000] +3-2A31 U+02C7 # CARON [2000] +3-2A32 U+0161 # LATIN SMALL LETTER S WITH CARON [2000] +3-2A33 U+015F # LATIN SMALL LETTER S WITH CEDILLA [2000] +3-2A34 U+0165 # LATIN SMALL LETTER T WITH CARON [2000] +3-2A35 U+017A # LATIN SMALL LETTER Z WITH ACUTE [2000] +3-2A36 U+02DD # DOUBLE ACUTE ACCENT [2000] +3-2A37 U+017E # LATIN SMALL LETTER Z WITH CARON [2000] +3-2A38 U+017C # LATIN SMALL LETTER Z WITH DOT ABOVE [2000] +3-2A39 U+0154 # LATIN CAPITAL LETTER R WITH ACUTE [2000] +3-2A3A U+0102 # LATIN CAPITAL LETTER A WITH BREVE [2000] +3-2A3B U+0139 # LATIN CAPITAL LETTER L WITH ACUTE [2000] +3-2A3C U+0106 # LATIN CAPITAL LETTER C WITH ACUTE [2000] +3-2A3D U+010C # LATIN CAPITAL LETTER C WITH CARON [2000] +3-2A3E U+0118 # LATIN CAPITAL LETTER E WITH OGONEK [2000] +3-2A3F U+011A # LATIN CAPITAL LETTER E WITH CARON [2000] +3-2A40 U+010E # LATIN CAPITAL LETTER D WITH CARON [2000] +3-2A41 U+0143 # LATIN CAPITAL LETTER N WITH ACUTE [2000] +3-2A42 U+0147 # LATIN CAPITAL LETTER N WITH CARON [2000] +3-2A43 U+0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE [2000] +3-2A44 U+0158 # LATIN CAPITAL LETTER R WITH CARON [2000] +3-2A45 U+016E # LATIN CAPITAL LETTER U WITH RING ABOVE [2000] +3-2A46 U+0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE [2000] +3-2A47 U+0162 # LATIN CAPITAL LETTER T WITH CEDILLA [2000] +3-2A48 U+0155 # LATIN SMALL LETTER R WITH ACUTE [2000] +3-2A49 U+0103 # LATIN SMALL LETTER A WITH BREVE [2000] +3-2A4A U+013A # LATIN SMALL LETTER L WITH ACUTE [2000] +3-2A4B U+0107 # LATIN SMALL LETTER C WITH ACUTE [2000] +3-2A4C U+010D # LATIN SMALL LETTER C WITH CARON [2000] +3-2A4D U+0119 # LATIN SMALL LETTER E WITH OGONEK [2000] +3-2A4E U+011B # LATIN SMALL LETTER E WITH CARON [2000] +3-2A4F U+010F # LATIN SMALL LETTER D WITH CARON [2000] +3-2A50 U+0111 # LATIN SMALL LETTER D WITH STROKE [2000] +3-2A51 U+0144 # LATIN SMALL LETTER N WITH ACUTE [2000] +3-2A52 U+0148 # LATIN SMALL LETTER N WITH CARON [2000] +3-2A53 U+0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE [2000] +3-2A54 U+0159 # LATIN SMALL LETTER R WITH CARON [2000] +3-2A55 U+016F # LATIN SMALL LETTER U WITH RING ABOVE [2000] +3-2A56 U+0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE [2000] +3-2A57 U+0163 # LATIN SMALL LETTER T WITH CEDILLA [2000] +3-2A58 U+02D9 # DOT ABOVE [2000] +3-2A59 U+0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX [2000] +3-2A5A U+011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX [2000] +3-2A5B U+0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX [2000] +3-2A5C U+0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX [2000] +3-2A5D U+015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX [2000] +3-2A5E U+016C # LATIN CAPITAL LETTER U WITH BREVE [2000] +3-2A5F U+0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX [2000] +3-2A60 U+011D # LATIN SMALL LETTER G WITH CIRCUMFLEX [2000] +3-2A61 U+0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX [2000] +3-2A62 U+0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX [2000] +3-2A63 U+015D # LATIN SMALL LETTER S WITH CIRCUMFLEX [2000] +3-2A64 U+016D # LATIN SMALL LETTER U WITH BREVE [2000] +3-2A65 U+0271 # LATIN SMALL LETTER M WITH HOOK [2000] +3-2A66 U+028B # LATIN SMALL LETTER V WITH HOOK [2000] +3-2A67 U+027E # LATIN SMALL LETTER R WITH FISHHOOK [2000] +3-2A68 U+0283 # LATIN SMALL LETTER ESH [2000] +3-2A69 U+0292 # LATIN SMALL LETTER EZH [2000] +3-2A6A U+026C # LATIN SMALL LETTER L WITH BELT [2000] +3-2A6B U+026E # LATIN SMALL LETTER LEZH [2000] +3-2A6C U+0279 # LATIN SMALL LETTER TURNED R [2000] +3-2A6D U+0288 # LATIN SMALL LETTER T WITH RETROFLEX HOOK [2000] +3-2A6E U+0256 # LATIN SMALL LETTER D WITH TAIL [2000] +3-2A6F U+0273 # LATIN SMALL LETTER N WITH RETROFLEX HOOK [2000] +3-2A70 U+027D # LATIN SMALL LETTER R WITH TAIL [2000] +3-2A71 U+0282 # LATIN SMALL LETTER S WITH HOOK [2000] +3-2A72 U+0290 # LATIN SMALL LETTER Z WITH RETROFLEX HOOK [2000] +3-2A73 U+027B # LATIN SMALL LETTER TURNED R WITH HOOK [2000] +3-2A74 U+026D # LATIN SMALL LETTER L WITH RETROFLEX HOOK [2000] +3-2A75 U+025F # LATIN SMALL LETTER DOTLESS J WITH STROKE [2000] +3-2A76 U+0272 # LATIN SMALL LETTER N WITH LEFT HOOK [2000] +3-2A77 U+029D # LATIN SMALL LETTER J WITH CROSSED-TAIL [2000] +3-2A78 U+028E # LATIN SMALL LETTER TURNED Y [2000] +3-2A79 U+0261 # LATIN SMALL LETTER SCRIPT G [2000] +3-2A7A U+014B # LATIN SMALL LETTER ENG [2000] +3-2A7B U+0270 # LATIN SMALL LETTER TURNED M WITH LONG LEG [2000] +3-2A7C U+0281 # LATIN LETTER SMALL CAPITAL INVERTED R [2000] +3-2A7D U+0127 # LATIN SMALL LETTER H WITH STROKE [2000] +3-2A7E U+0295 # LATIN LETTER PHARYNGEAL VOICED FRICATIVE [2000] +3-2B21 U+0294 # LATIN LETTER GLOTTAL STOP [2000] +3-2B22 U+0266 # LATIN SMALL LETTER H WITH HOOK [2000] +3-2B23 U+0298 # LATIN LETTER BILABIAL CLICK [2000] +3-2B24 U+01C2 # LATIN LETTER ALVEOLAR CLICK [2000] +3-2B25 U+0253 # LATIN SMALL LETTER B WITH HOOK [2000] +3-2B26 U+0257 # LATIN SMALL LETTER D WITH HOOK [2000] +3-2B27 U+0284 # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK [2000] +3-2B28 U+0260 # LATIN SMALL LETTER G WITH HOOK [2000] +3-2B29 U+0193 # LATIN CAPITAL LETTER G WITH HOOK [2000] +3-2B2A U+0153 # LATIN SMALL LIGATURE OE [2000] +3-2B2B U+0152 # LATIN CAPITAL LIGATURE OE [2000] +3-2B2C U+0268 # LATIN SMALL LETTER I WITH STROKE [2000] +3-2B2D U+0289 # LATIN SMALL LETTER U BAR [2000] +3-2B2E U+0258 # LATIN SMALL LETTER REVERSED E [2000] +3-2B2F U+0275 # LATIN SMALL LETTER BARRED O [2000] +3-2B30 U+0259 # LATIN SMALL LETTER SCHWA [2000] +3-2B31 U+025C # LATIN SMALL LETTER REVERSED OPEN E [2000] +3-2B32 U+025E # LATIN SMALL LETTER CLOSED REVERSED OPEN E [2000] +3-2B33 U+0250 # LATIN SMALL LETTER TURNED A [2000] +3-2B34 U+026F # LATIN SMALL LETTER TURNED M [2000] +3-2B35 U+028A # LATIN SMALL LETTER UPSILON [2000] +3-2B36 U+0264 # LATIN SMALL LETTER RAMS HORN [2000] +3-2B37 U+028C # LATIN SMALL LETTER TURNED V [2000] +3-2B38 U+0254 # LATIN SMALL LETTER OPEN O [2000] +3-2B39 U+0251 # LATIN SMALL LETTER ALPHA [2000] +3-2B3A U+0252 # LATIN SMALL LETTER TURNED ALPHA [2000] +3-2B3B U+028D # LATIN SMALL LETTER TURNED W [2000] +3-2B3C U+0265 # LATIN SMALL LETTER TURNED H [2000] +3-2B3D U+02A2 # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE [2000] +3-2B3E U+02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE [2000] +3-2B3F U+0255 # LATIN SMALL LETTER C WITH CURL [2000] +3-2B40 U+0291 # LATIN SMALL LETTER Z WITH CURL [2000] +3-2B41 U+027A # LATIN SMALL LETTER TURNED R WITH LONG LEG [2000] +3-2B42 U+0267 # LATIN SMALL LETTER HENG WITH HOOK [2000] +3-2B43 U+025A # LATIN SMALL LETTER SCHWA WITH HOOK [2000] +3-2B44 U+00E6+0300 # [2000] +3-2B45 U+01FD # LATIN SMALL LETTER AE WITH ACUTE [2000] +3-2B46 U+1F70 # GREEK SMALL LETTER ALPHA WITH VARIA [2000] +3-2B47 U+1F71 # GREEK SMALL LETTER ALPHA WITH OXIA [2000] +3-2B48 U+0254+0300 # [2000] +3-2B49 U+0254+0301 # [2000] +3-2B4A U+028C+0300 # [2000] +3-2B4B U+028C+0301 # [2000] +3-2B4C U+0259+0300 # [2000] +3-2B4D U+0259+0301 # [2000] +3-2B4E U+025A+0300 # [2000] +3-2B4F U+025A+0301 # [2000] +3-2B50 U+1F72 # GREEK SMALL LETTER EPSILON WITH VARIA [2000] +3-2B51 U+1F73 # GREEK SMALL LETTER EPSILON WITH OXIA [2000] +3-2B52 U+0361 # COMBINING DOUBLE INVERTED BREVE [2000] +3-2B53 U+02C8 # MODIFIER LETTER VERTICAL LINE [2000] +3-2B54 U+02CC # MODIFIER LETTER LOW VERTICAL LINE [2000] +3-2B55 U+02D0 # MODIFIER LETTER TRIANGULAR COLON [2000] +3-2B56 U+02D1 # MODIFIER LETTER HALF TRIANGULAR COLON [2000] +3-2B57 U+0306 # COMBINING BREVE [2000] +3-2B58 U+203F # UNDERTIE [2000] +3-2B59 U+030B # COMBINING DOUBLE ACUTE ACCENT [2000] +3-2B5A U+0301 # COMBINING ACUTE ACCENT [2000] +3-2B5B U+0304 # COMBINING MACRON [2000] +3-2B5C U+0300 # COMBINING GRAVE ACCENT [2000] +3-2B5D U+030F # COMBINING DOUBLE GRAVE ACCENT [2000] +3-2B5E U+030C # COMBINING CARON [2000] +3-2B5F U+0302 # COMBINING CIRCUMFLEX ACCENT [2000] +3-2B60 U+02E5 # MODIFIER LETTER EXTRA-HIGH TONE BAR [2000] +3-2B61 U+02E6 # MODIFIER LETTER HIGH TONE BAR [2000] +3-2B62 U+02E7 # MODIFIER LETTER MID TONE BAR [2000] +3-2B63 U+02E8 # MODIFIER LETTER LOW TONE BAR [2000] +3-2B64 U+02E9 # MODIFIER LETTER EXTRA-LOW TONE BAR [2000] +3-2B65 U+02E9+02E5 # [2000] +3-2B66 U+02E5+02E9 # [2000] +3-2B67 U+0325 # COMBINING RING BELOW [2000] +3-2B68 U+032C # COMBINING CARON BELOW [2000] +3-2B69 U+0339 # COMBINING RIGHT HALF RING BELOW [2000] +3-2B6A U+031C # COMBINING LEFT HALF RING BELOW [2000] +3-2B6B U+031F # COMBINING PLUS SIGN BELOW [2000] +3-2B6C U+0320 # COMBINING MINUS SIGN BELOW [2000] +3-2B6D U+0308 # COMBINING DIAERESIS [2000] +3-2B6E U+033D # COMBINING X ABOVE [2000] +3-2B6F U+0329 # COMBINING VERTICAL LINE BELOW [2000] +3-2B70 U+032F # COMBINING INVERTED BREVE BELOW [2000] +3-2B71 U+02DE # MODIFIER LETTER RHOTIC HOOK [2000] +3-2B72 U+0324 # COMBINING DIAERESIS BELOW [2000] +3-2B73 U+0330 # COMBINING TILDE BELOW [2000] +3-2B74 U+033C # COMBINING SEAGULL BELOW [2000] +3-2B75 U+0334 # COMBINING TILDE OVERLAY [2000] +3-2B76 U+031D # COMBINING UP TACK BELOW [2000] +3-2B77 U+031E # COMBINING DOWN TACK BELOW [2000] +3-2B78 U+0318 # COMBINING LEFT TACK BELOW [2000] +3-2B79 U+0319 # COMBINING RIGHT TACK BELOW [2000] +3-2B7A U+032A # COMBINING BRIDGE BELOW [2000] +3-2B7B U+033A # COMBINING INVERTED BRIDGE BELOW [2000] +3-2B7C U+033B # COMBINING SQUARE BELOW [2000] +3-2B7D U+0303 # COMBINING TILDE [2000] +3-2B7E U+031A # COMBINING LEFT ANGLE ABOVE [2000] +3-2C21 U+2776 # DINGBAT NEGATIVE CIRCLED DIGIT ONE [2000] +3-2C22 U+2777 # DINGBAT NEGATIVE CIRCLED DIGIT TWO [2000] +3-2C23 U+2778 # DINGBAT NEGATIVE CIRCLED DIGIT THREE [2000] +3-2C24 U+2779 # DINGBAT NEGATIVE CIRCLED DIGIT FOUR [2000] +3-2C25 U+277A # DINGBAT NEGATIVE CIRCLED DIGIT FIVE [2000] +3-2C26 U+277B # DINGBAT NEGATIVE CIRCLED DIGIT SIX [2000] +3-2C27 U+277C # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN [2000] +3-2C28 U+277D # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT [2000] +3-2C29 U+277E # DINGBAT NEGATIVE CIRCLED DIGIT NINE [2000] +3-2C2A U+277F # DINGBAT NEGATIVE CIRCLED NUMBER TEN [2000] +3-2C2B U+24EB # NEGATIVE CIRCLED NUMBER ELEVEN [2000] [Unicode3.2] +3-2C2C U+24EC # NEGATIVE CIRCLED NUMBER TWELVE [2000] [Unicode3.2] +3-2C2D U+24ED # NEGATIVE CIRCLED NUMBER THIRTEEN [2000] [Unicode3.2] +3-2C2E U+24EE # NEGATIVE CIRCLED NUMBER FOURTEEN [2000] [Unicode3.2] +3-2C2F U+24EF # NEGATIVE CIRCLED NUMBER FIFTEEN [2000] [Unicode3.2] +3-2C30 U+24F0 # NEGATIVE CIRCLED NUMBER SIXTEEN [2000] [Unicode3.2] +3-2C31 U+24F1 # NEGATIVE CIRCLED NUMBER SEVENTEEN [2000] [Unicode3.2] +3-2C32 U+24F2 # NEGATIVE CIRCLED NUMBER EIGHTEEN [2000] [Unicode3.2] +3-2C33 U+24F3 # NEGATIVE CIRCLED NUMBER NINETEEN [2000] [Unicode3.2] +3-2C34 U+24F4 # NEGATIVE CIRCLED NUMBER TWENTY [2000] [Unicode3.2] +3-2C35 U+2170 # SMALL ROMAN NUMERAL ONE [2000] +3-2C36 U+2171 # SMALL ROMAN NUMERAL TWO [2000] +3-2C37 U+2172 # SMALL ROMAN NUMERAL THREE [2000] +3-2C38 U+2173 # SMALL ROMAN NUMERAL FOUR [2000] +3-2C39 U+2174 # SMALL ROMAN NUMERAL FIVE [2000] +3-2C3A U+2175 # SMALL ROMAN NUMERAL SIX [2000] +3-2C3B U+2176 # SMALL ROMAN NUMERAL SEVEN [2000] +3-2C3C U+2177 # SMALL ROMAN NUMERAL EIGHT [2000] +3-2C3D U+2178 # SMALL ROMAN NUMERAL NINE [2000] +3-2C3E U+2179 # SMALL ROMAN NUMERAL TEN [2000] +3-2C3F U+217A # SMALL ROMAN NUMERAL ELEVEN [2000] +3-2C40 U+217B # SMALL ROMAN NUMERAL TWELVE [2000] +3-2C41 U+24D0 # CIRCLED LATIN SMALL LETTER A [2000] +3-2C42 U+24D1 # CIRCLED LATIN SMALL LETTER B [2000] +3-2C43 U+24D2 # CIRCLED LATIN SMALL LETTER C [2000] +3-2C44 U+24D3 # CIRCLED LATIN SMALL LETTER D [2000] +3-2C45 U+24D4 # CIRCLED LATIN SMALL LETTER E [2000] +3-2C46 U+24D5 # CIRCLED LATIN SMALL LETTER F [2000] +3-2C47 U+24D6 # CIRCLED LATIN SMALL LETTER G [2000] +3-2C48 U+24D7 # CIRCLED LATIN SMALL LETTER H [2000] +3-2C49 U+24D8 # CIRCLED LATIN SMALL LETTER I [2000] +3-2C4A U+24D9 # CIRCLED LATIN SMALL LETTER J [2000] +3-2C4B U+24DA # CIRCLED LATIN SMALL LETTER K [2000] +3-2C4C U+24DB # CIRCLED LATIN SMALL LETTER L [2000] +3-2C4D U+24DC # CIRCLED LATIN SMALL LETTER M [2000] +3-2C4E U+24DD # CIRCLED LATIN SMALL LETTER N [2000] +3-2C4F U+24DE # CIRCLED LATIN SMALL LETTER O [2000] +3-2C50 U+24DF # CIRCLED LATIN SMALL LETTER P [2000] +3-2C51 U+24E0 # CIRCLED LATIN SMALL LETTER Q [2000] +3-2C52 U+24E1 # CIRCLED LATIN SMALL LETTER R [2000] +3-2C53 U+24E2 # CIRCLED LATIN SMALL LETTER S [2000] +3-2C54 U+24E3 # CIRCLED LATIN SMALL LETTER T [2000] +3-2C55 U+24E4 # CIRCLED LATIN SMALL LETTER U [2000] +3-2C56 U+24E5 # CIRCLED LATIN SMALL LETTER V [2000] +3-2C57 U+24E6 # CIRCLED LATIN SMALL LETTER W [2000] +3-2C58 U+24E7 # CIRCLED LATIN SMALL LETTER X [2000] +3-2C59 U+24E8 # CIRCLED LATIN SMALL LETTER Y [2000] +3-2C5A U+24E9 # CIRCLED LATIN SMALL LETTER Z [2000] +3-2C5B U+32D0 # CIRCLED KATAKANA A [2000] +3-2C5C U+32D1 # CIRCLED KATAKANA I [2000] +3-2C5D U+32D2 # CIRCLED KATAKANA U [2000] +3-2C5E U+32D3 # CIRCLED KATAKANA E [2000] +3-2C5F U+32D4 # CIRCLED KATAKANA O [2000] +3-2C60 U+32D5 # CIRCLED KATAKANA KA [2000] +3-2C61 U+32D6 # CIRCLED KATAKANA KI [2000] +3-2C62 U+32D7 # CIRCLED KATAKANA KU [2000] +3-2C63 U+32D8 # CIRCLED KATAKANA KE [2000] +3-2C64 U+32D9 # CIRCLED KATAKANA KO [2000] +3-2C65 U+32DA # CIRCLED KATAKANA SA [2000] +3-2C66 U+32DB # CIRCLED KATAKANA SI [2000] +3-2C67 U+32DC # CIRCLED KATAKANA SU [2000] +3-2C68 U+32DD # CIRCLED KATAKANA SE [2000] +3-2C69 U+32DE # CIRCLED KATAKANA SO [2000] +3-2C6A U+32DF # CIRCLED KATAKANA TA [2000] +3-2C6B U+32E0 # CIRCLED KATAKANA TI [2000] +3-2C6C U+32E1 # CIRCLED KATAKANA TU [2000] +3-2C6D U+32E2 # CIRCLED KATAKANA TE [2000] +3-2C6E U+32E3 # CIRCLED KATAKANA TO [2000] +3-2C6F U+32FA # CIRCLED KATAKANA RO [2000] +3-2C70 U+32E9 # CIRCLED KATAKANA HA [2000] +3-2C71 U+32E5 # CIRCLED KATAKANA NI [2000] +3-2C72 U+32ED # CIRCLED KATAKANA HO [2000] +3-2C73 U+32EC # CIRCLED KATAKANA HE [2000] +3-2C74 # +3-2C75 # +3-2C76 # +3-2C77 # +3-2C78 # +3-2C79 # +3-2C7A # +3-2C7B # +3-2C7C # +3-2C7D U+2051 # TWO ASTERISKS ALIGNED VERTICALLY [2000] [Unicode3.2] +3-2C7E U+2042 # ASTERISM [2000] +3-2D21 U+2460 # CIRCLED DIGIT ONE [2000] +3-2D22 U+2461 # CIRCLED DIGIT TWO [2000] +3-2D23 U+2462 # CIRCLED DIGIT THREE [2000] +3-2D24 U+2463 # CIRCLED DIGIT FOUR [2000] +3-2D25 U+2464 # CIRCLED DIGIT FIVE [2000] +3-2D26 U+2465 # CIRCLED DIGIT SIX [2000] +3-2D27 U+2466 # CIRCLED DIGIT SEVEN [2000] +3-2D28 U+2467 # CIRCLED DIGIT EIGHT [2000] +3-2D29 U+2468 # CIRCLED DIGIT NINE [2000] +3-2D2A U+2469 # CIRCLED NUMBER TEN [2000] +3-2D2B U+246A # CIRCLED NUMBER ELEVEN [2000] +3-2D2C U+246B # CIRCLED NUMBER TWELVE [2000] +3-2D2D U+246C # CIRCLED NUMBER THIRTEEN [2000] +3-2D2E U+246D # CIRCLED NUMBER FOURTEEN [2000] +3-2D2F U+246E # CIRCLED NUMBER FIFTEEN [2000] +3-2D30 U+246F # CIRCLED NUMBER SIXTEEN [2000] +3-2D31 U+2470 # CIRCLED NUMBER SEVENTEEN [2000] +3-2D32 U+2471 # CIRCLED NUMBER EIGHTEEN [2000] +3-2D33 U+2472 # CIRCLED NUMBER NINETEEN [2000] +3-2D34 U+2473 # CIRCLED NUMBER TWENTY [2000] +3-2D35 U+2160 # ROMAN NUMERAL ONE [2000] +3-2D36 U+2161 # ROMAN NUMERAL TWO [2000] +3-2D37 U+2162 # ROMAN NUMERAL THREE [2000] +3-2D38 U+2163 # ROMAN NUMERAL FOUR [2000] +3-2D39 U+2164 # ROMAN NUMERAL FIVE [2000] +3-2D3A U+2165 # ROMAN NUMERAL SIX [2000] +3-2D3B U+2166 # ROMAN NUMERAL SEVEN [2000] +3-2D3C U+2167 # ROMAN NUMERAL EIGHT [2000] +3-2D3D U+2168 # ROMAN NUMERAL NINE [2000] +3-2D3E U+2169 # ROMAN NUMERAL TEN [2000] +3-2D3F U+216A # ROMAN NUMERAL ELEVEN [2000] +3-2D40 U+3349 # SQUARE MIRI [2000] +3-2D41 U+3314 # SQUARE KIRO [2000] +3-2D42 U+3322 # SQUARE SENTI [2000] +3-2D43 U+334D # SQUARE MEETORU [2000] +3-2D44 U+3318 # SQUARE GURAMU [2000] +3-2D45 U+3327 # SQUARE TON [2000] +3-2D46 U+3303 # SQUARE AARU [2000] +3-2D47 U+3336 # SQUARE HEKUTAARU [2000] +3-2D48 U+3351 # SQUARE RITTORU [2000] +3-2D49 U+3357 # SQUARE WATTO [2000] +3-2D4A U+330D # SQUARE KARORII [2000] +3-2D4B U+3326 # SQUARE DORU [2000] +3-2D4C U+3323 # SQUARE SENTO [2000] +3-2D4D U+332B # SQUARE PAASENTO [2000] +3-2D4E U+334A # SQUARE MIRIBAARU [2000] +3-2D4F U+333B # SQUARE PEEZI [2000] +3-2D50 U+339C # SQUARE MM [2000] +3-2D51 U+339D # SQUARE CM [2000] +3-2D52 U+339E # SQUARE KM [2000] +3-2D53 U+338E # SQUARE MG [2000] +3-2D54 U+338F # SQUARE KG [2000] +3-2D55 U+33C4 # SQUARE CC [2000] +3-2D56 U+33A1 # SQUARE M SQUARED [2000] +3-2D57 U+216B # ROMAN NUMERAL TWELVE [2000] +3-2D58 # +3-2D59 # +3-2D5A # +3-2D5B # +3-2D5C # +3-2D5D # +3-2D5E # +3-2D5F U+337B # SQUARE ERA NAME HEISEI [2000] +3-2D60 U+301D # REVERSED DOUBLE PRIME QUOTATION MARK [2000] +3-2D61 U+301F # LOW DOUBLE PRIME QUOTATION MARK [2000] +3-2D62 U+2116 # NUMERO SIGN [2000] +3-2D63 U+33CD # SQUARE KK [2000] +3-2D64 U+2121 # TELEPHONE SIGN [2000] +3-2D65 U+32A4 # CIRCLED IDEOGRAPH HIGH [2000] +3-2D66 U+32A5 # CIRCLED IDEOGRAPH CENTRE [2000] +3-2D67 U+32A6 # CIRCLED IDEOGRAPH LOW [2000] +3-2D68 U+32A7 # CIRCLED IDEOGRAPH LEFT [2000] +3-2D69 U+32A8 # CIRCLED IDEOGRAPH RIGHT [2000] +3-2D6A U+3231 # PARENTHESIZED IDEOGRAPH STOCK [2000] +3-2D6B U+3232 # PARENTHESIZED IDEOGRAPH HAVE [2000] +3-2D6C U+3239 # PARENTHESIZED IDEOGRAPH REPRESENT [2000] +3-2D6D U+337E # SQUARE ERA NAME MEIZI [2000] +3-2D6E U+337D # SQUARE ERA NAME TAISYOU [2000] +3-2D6F U+337C # SQUARE ERA NAME SYOUWA [2000] +3-2D70 # Windows: U+2252 +3-2D71 # Windows: U+2261 +3-2D72 # Windows: U+222B +3-2D73 U+222E # CONTOUR INTEGRAL [2000] +3-2D74 # Windows: U+2211 +3-2D75 # Windows: U+221A +3-2D76 # Windows: U+22A5 +3-2D77 # Windows: U+2220 +3-2D78 U+221F # RIGHT ANGLE [2000] +3-2D79 U+22BF # RIGHT TRIANGLE [2000] +3-2D7A # Windows: U+2235 +3-2D7B # Windows: U+2229 +3-2D7C # Windows: U+222A +3-2D7D U+2756 # BLACK DIAMOND MINUS WHITE X [2000] +3-2D7E U+261E # WHITE RIGHT POINTING INDEX [2000] +3-2E21 U+4FF1 # [2004] +3-2E22 U+2000B # [2000] [Unicode3.1] +3-2E23 U+3402 # [2000] +3-2E24 U+4E28 # [2000] +3-2E25 U+4E2F # [2000] +3-2E26 U+4E30 # [2000] +3-2E27 U+4E8D # [2000] +3-2E28 U+4EE1 # [2000] +3-2E29 U+4EFD # [2000] +3-2E2A U+4EFF # [2000] +3-2E2B U+4F03 # [2000] +3-2E2C U+4F0B # [2000] +3-2E2D U+4F60 # [2000] +3-2E2E U+4F48 # [2000] +3-2E2F U+4F49 # [2000] +3-2E30 U+4F56 # [2000] +3-2E31 U+4F5F # [2000] +3-2E32 U+4F6A # [2000] +3-2E33 U+4F6C # [2000] +3-2E34 U+4F7E # [2000] +3-2E35 U+4F8A # [2000] +3-2E36 U+4F94 # [2000] +3-2E37 U+4F97 # [2000] +3-2E38 U+FA30 # CJK COMPATIBILITY IDEOGRAPH-FA30 [2000] [Unicode3.2] +3-2E39 U+4FC9 # [2000] +3-2E3A U+4FE0 # [2000] +3-2E3B U+5001 # [2000] +3-2E3C U+5002 # [2000] +3-2E3D U+500E # [2000] +3-2E3E U+5018 # [2000] +3-2E3F U+5027 # [2000] +3-2E40 U+502E # [2000] +3-2E41 U+5040 # [2000] +3-2E42 U+503B # [2000] +3-2E43 U+5041 # [2000] +3-2E44 U+5094 # [2000] +3-2E45 U+50CC # [2000] +3-2E46 U+50F2 # [2000] +3-2E47 U+50D0 # [2000] +3-2E48 U+50E6 # [2000] +3-2E49 U+FA31 # CJK COMPATIBILITY IDEOGRAPH-FA31 [2000] [Unicode3.2] +3-2E4A U+5106 # [2000] +3-2E4B U+5103 # [2000] +3-2E4C U+510B # [2000] +3-2E4D U+511E # [2000] +3-2E4E U+5135 # [2000] +3-2E4F U+514A # [2000] +3-2E50 U+FA32 # CJK COMPATIBILITY IDEOGRAPH-FA32 [2000] [Unicode3.2] +3-2E51 U+5155 # [2000] +3-2E52 U+5157 # [2000] +3-2E53 U+34B5 # [2000] +3-2E54 U+519D # [2000] +3-2E55 U+51C3 # [2000] +3-2E56 U+51CA # [2000] +3-2E57 U+51DE # [2000] +3-2E58 U+51E2 # [2000] +3-2E59 U+51EE # [2000] +3-2E5A U+5201 # [2000] +3-2E5B U+34DB # [2000] +3-2E5C U+5213 # [2000] +3-2E5D U+5215 # [2000] +3-2E5E U+5249 # [2000] +3-2E5F U+5257 # [2000] +3-2E60 U+5261 # [2000] +3-2E61 U+5293 # [2000] +3-2E62 U+52C8 # [2000] +3-2E63 U+FA33 # CJK COMPATIBILITY IDEOGRAPH-FA33 [2000] [Unicode3.2] +3-2E64 U+52CC # [2000] +3-2E65 U+52D0 # [2000] +3-2E66 U+52D6 # [2000] +3-2E67 U+52DB # [2000] +3-2E68 U+FA34 # CJK COMPATIBILITY IDEOGRAPH-FA34 [2000] [Unicode3.2] +3-2E69 U+52F0 # [2000] +3-2E6A U+52FB # [2000] +3-2E6B U+5300 # [2000] +3-2E6C U+5307 # [2000] +3-2E6D U+531C # [2000] +3-2E6E U+FA35 # CJK COMPATIBILITY IDEOGRAPH-FA35 [2000] [Unicode3.2] +3-2E6F U+5361 # [2000] +3-2E70 U+5363 # [2000] +3-2E71 U+537D # [2000] +3-2E72 U+5393 # [2000] +3-2E73 U+539D # [2000] +3-2E74 U+53B2 # [2000] +3-2E75 U+5412 # [2000] +3-2E76 U+5427 # [2000] +3-2E77 U+544D # [2000] +3-2E78 U+549C # [2000] +3-2E79 U+546B # [2000] +3-2E7A U+5474 # [2000] +3-2E7B U+547F # [2000] +3-2E7C U+5488 # [2000] +3-2E7D U+5496 # [2000] +3-2E7E U+54A1 # [2000] +3-2F21 U+54A9 # [2000] +3-2F22 U+54C6 # [2000] +3-2F23 U+54FF # [2000] +3-2F24 U+550E # [2000] +3-2F25 U+552B # [2000] +3-2F26 U+5535 # [2000] +3-2F27 U+5550 # [2000] +3-2F28 U+555E # [2000] +3-2F29 U+5581 # [2000] +3-2F2A U+5586 # [2000] +3-2F2B U+558E # [2000] +3-2F2C U+FA36 # CJK COMPATIBILITY IDEOGRAPH-FA36 [2000] [Unicode3.2] +3-2F2D U+55AD # [2000] +3-2F2E U+55CE # [2000] +3-2F2F U+FA37 # CJK COMPATIBILITY IDEOGRAPH-FA37 [2000] [Unicode3.2] +3-2F30 U+5608 # [2000] +3-2F31 U+560E # [2000] +3-2F32 U+563B # [2000] +3-2F33 U+5649 # [2000] +3-2F34 U+5676 # [2000] +3-2F35 U+5666 # [2000] +3-2F36 U+FA38 # CJK COMPATIBILITY IDEOGRAPH-FA38 [2000] [Unicode3.2] +3-2F37 U+566F # [2000] +3-2F38 U+5671 # [2000] +3-2F39 U+5672 # [2000] +3-2F3A U+5699 # [2000] +3-2F3B U+569E # [2000] +3-2F3C U+56A9 # [2000] +3-2F3D U+56AC # [2000] +3-2F3E U+56B3 # [2000] +3-2F3F U+56C9 # [2000] +3-2F40 U+56CA # [2000] +3-2F41 U+570A # [2000] +3-2F42 U+2123D # [2000] [Unicode3.1] +3-2F43 U+5721 # [2000] +3-2F44 U+572F # [2000] +3-2F45 U+5733 # [2000] +3-2F46 U+5734 # [2000] +3-2F47 U+5770 # [2000] +3-2F48 U+5777 # [2000] +3-2F49 U+577C # [2000] +3-2F4A U+579C # [2000] +3-2F4B U+FA0F # CJK COMPATIBILITY IDEOGRAPH-FA0F [2000] +3-2F4C U+2131B # [2000] [Unicode3.1] +3-2F4D U+57B8 # [2000] +3-2F4E U+57C7 # [2000] +3-2F4F U+57C8 # [2000] +3-2F50 U+57CF # [2000] +3-2F51 U+57E4 # [2000] +3-2F52 U+57ED # [2000] +3-2F53 U+57F5 # [2000] +3-2F54 U+57F6 # [2000] +3-2F55 U+57FF # [2000] +3-2F56 U+5809 # [2000] +3-2F57 U+FA10 # CJK COMPATIBILITY IDEOGRAPH-FA10 [2000] +3-2F58 U+5861 # [2000] +3-2F59 U+5864 # [2000] +3-2F5A U+FA39 # CJK COMPATIBILITY IDEOGRAPH-FA39 [2000] [Unicode3.2] +3-2F5B U+587C # [2000] +3-2F5C U+5889 # [2000] +3-2F5D U+589E # [2000] +3-2F5E U+FA3A # CJK COMPATIBILITY IDEOGRAPH-FA3A [2000] [Unicode3.2] +3-2F5F U+58A9 # [2000] +3-2F60 U+2146E # [2000] [Unicode3.1] +3-2F61 U+58D2 # [2000] +3-2F62 U+58CE # [2000] +3-2F63 U+58D4 # [2000] +3-2F64 U+58DA # [2000] +3-2F65 U+58E0 # [2000] +3-2F66 U+58E9 # [2000] +3-2F67 U+590C # [2000] +3-2F68 U+8641 # [2000] +3-2F69 U+595D # [2000] +3-2F6A U+596D # [2000] +3-2F6B U+598B # [2000] +3-2F6C U+5992 # [2000] +3-2F6D U+59A4 # [2000] +3-2F6E U+59C3 # [2000] +3-2F6F U+59D2 # [2000] +3-2F70 U+59DD # [2000] +3-2F71 U+5A13 # [2000] +3-2F72 U+5A23 # [2000] +3-2F73 U+5A67 # [2000] +3-2F74 U+5A6D # [2000] +3-2F75 U+5A77 # [2000] +3-2F76 U+5A7E # [2000] +3-2F77 U+5A84 # [2000] +3-2F78 U+5A9E # [2000] +3-2F79 U+5AA7 # [2000] +3-2F7A U+5AC4 # [2000] +3-2F7B U+218BD # [2000] [Unicode3.1] +3-2F7C U+5B19 # [2000] +3-2F7D U+5B25 # [2000] +3-2F7E U+525D # [2004] +3-3021 U+4E9C # +3-3022 U+5516 # +3-3023 U+5A03 # +3-3024 U+963F # +3-3025 U+54C0 # +3-3026 U+611B # +3-3027 U+6328 # +3-3028 U+59F6 # +3-3029 U+9022 # +3-302A U+8475 # +3-302B U+831C # +3-302C U+7A50 # +3-302D U+60AA # +3-302E U+63E1 # +3-302F U+6E25 # +3-3030 U+65ED # +3-3031 U+8466 # +3-3032 U+82A6 # +3-3033 U+9BF5 # +3-3034 U+6893 # +3-3035 U+5727 # +3-3036 U+65A1 # +3-3037 U+6271 # +3-3038 U+5B9B # +3-3039 U+59D0 # +3-303A U+867B # +3-303B U+98F4 # +3-303C U+7D62 # +3-303D U+7DBE # +3-303E U+9B8E # +3-303F U+6216 # +3-3040 U+7C9F # +3-3041 U+88B7 # +3-3042 U+5B89 # +3-3043 U+5EB5 # +3-3044 U+6309 # +3-3045 U+6697 # +3-3046 U+6848 # +3-3047 U+95C7 # +3-3048 U+978D # +3-3049 U+674F # +3-304A U+4EE5 # +3-304B U+4F0A # +3-304C U+4F4D # +3-304D U+4F9D # +3-304E U+5049 # +3-304F U+56F2 # +3-3050 U+5937 # +3-3051 U+59D4 # +3-3052 U+5A01 # +3-3053 U+5C09 # +3-3054 U+60DF # +3-3055 U+610F # +3-3056 U+6170 # +3-3057 U+6613 # +3-3058 U+6905 # +3-3059 U+70BA # +3-305A U+754F # +3-305B U+7570 # +3-305C U+79FB # +3-305D U+7DAD # +3-305E U+7DEF # +3-305F U+80C3 # +3-3060 U+840E # +3-3061 U+8863 # +3-3062 U+8B02 # +3-3063 U+9055 # +3-3064 U+907A # +3-3065 U+533B # +3-3066 U+4E95 # +3-3067 U+4EA5 # +3-3068 U+57DF # +3-3069 U+80B2 # +3-306A U+90C1 # +3-306B U+78EF # +3-306C U+4E00 # +3-306D U+58F1 # +3-306E U+6EA2 # +3-306F U+9038 # +3-3070 U+7A32 # +3-3071 U+8328 # +3-3072 U+828B # +3-3073 U+9C2F # +3-3074 U+5141 # +3-3075 U+5370 # +3-3076 U+54BD # +3-3077 U+54E1 # +3-3078 U+56E0 # +3-3079 U+59FB # +3-307A U+5F15 # +3-307B U+98F2 # +3-307C U+6DEB # +3-307D U+80E4 # +3-307E U+852D # +3-3121 U+9662 # +3-3122 U+9670 # +3-3123 U+96A0 # +3-3124 U+97FB # +3-3125 U+540B # +3-3126 U+53F3 # +3-3127 U+5B87 # +3-3128 U+70CF # +3-3129 U+7FBD # +3-312A U+8FC2 # +3-312B U+96E8 # +3-312C U+536F # +3-312D U+9D5C # +3-312E U+7ABA # +3-312F U+4E11 # +3-3130 U+7893 # +3-3131 U+81FC # +3-3132 U+6E26 # +3-3133 U+5618 # +3-3134 U+5504 # +3-3135 U+6B1D # +3-3136 U+851A # +3-3137 U+9C3B # +3-3138 U+59E5 # +3-3139 U+53A9 # +3-313A U+6D66 # +3-313B U+74DC # +3-313C U+958F # +3-313D U+5642 # +3-313E U+4E91 # +3-313F U+904B # +3-3140 U+96F2 # +3-3141 U+834F # +3-3142 U+990C # +3-3143 U+53E1 # +3-3144 U+55B6 # +3-3145 U+5B30 # +3-3146 U+5F71 # +3-3147 U+6620 # +3-3148 U+66F3 # +3-3149 U+6804 # +3-314A U+6C38 # +3-314B U+6CF3 # +3-314C U+6D29 # +3-314D U+745B # +3-314E U+76C8 # +3-314F U+7A4E # +3-3150 U+9834 # +3-3151 U+82F1 # +3-3152 U+885B # +3-3153 U+8A60 # +3-3154 U+92ED # +3-3155 U+6DB2 # +3-3156 U+75AB # +3-3157 U+76CA # +3-3158 U+99C5 # +3-3159 U+60A6 # +3-315A U+8B01 # +3-315B U+8D8A # +3-315C U+95B2 # +3-315D U+698E # +3-315E U+53AD # +3-315F U+5186 # +3-3160 U+5712 # +3-3161 U+5830 # +3-3162 U+5944 # +3-3163 U+5BB4 # +3-3164 U+5EF6 # +3-3165 U+6028 # +3-3166 U+63A9 # +3-3167 U+63F4 # +3-3168 U+6CBF # +3-3169 U+6F14 # +3-316A U+708E # +3-316B U+7114 # +3-316C U+7159 # +3-316D U+71D5 # +3-316E U+733F # +3-316F U+7E01 # +3-3170 U+8276 # +3-3171 U+82D1 # +3-3172 U+8597 # +3-3173 U+9060 # +3-3174 U+925B # +3-3175 U+9D1B # +3-3176 U+5869 # +3-3177 U+65BC # +3-3178 U+6C5A # +3-3179 U+7525 # +3-317A U+51F9 # +3-317B U+592E # +3-317C U+5965 # +3-317D U+5F80 # +3-317E U+5FDC # +3-3221 U+62BC # +3-3222 U+65FA # +3-3223 U+6A2A # +3-3224 U+6B27 # +3-3225 U+6BB4 # +3-3226 U+738B # +3-3227 U+7FC1 # +3-3228 U+8956 # +3-3229 U+9D2C # +3-322A U+9D0E # +3-322B U+9EC4 # +3-322C U+5CA1 # +3-322D U+6C96 # +3-322E U+837B # +3-322F U+5104 # +3-3230 U+5C4B # +3-3231 U+61B6 # +3-3232 U+81C6 # +3-3233 U+6876 # +3-3234 U+7261 # +3-3235 U+4E59 # +3-3236 U+4FFA # +3-3237 U+5378 # +3-3238 U+6069 # +3-3239 U+6E29 # +3-323A U+7A4F # +3-323B U+97F3 # +3-323C U+4E0B # +3-323D U+5316 # +3-323E U+4EEE # +3-323F U+4F55 # +3-3240 U+4F3D # +3-3241 U+4FA1 # +3-3242 U+4F73 # +3-3243 U+52A0 # +3-3244 U+53EF # +3-3245 U+5609 # +3-3246 U+590F # +3-3247 U+5AC1 # +3-3248 U+5BB6 # +3-3249 U+5BE1 # +3-324A U+79D1 # +3-324B U+6687 # +3-324C U+679C # +3-324D U+67B6 # +3-324E U+6B4C # +3-324F U+6CB3 # +3-3250 U+706B # +3-3251 U+73C2 # +3-3252 U+798D # +3-3253 U+79BE # +3-3254 U+7A3C # +3-3255 U+7B87 # +3-3256 U+82B1 # +3-3257 U+82DB # +3-3258 U+8304 # +3-3259 U+8377 # +3-325A U+83EF # +3-325B U+83D3 # +3-325C U+8766 # +3-325D U+8AB2 # +3-325E U+5629 # +3-325F U+8CA8 # +3-3260 U+8FE6 # +3-3261 U+904E # +3-3262 U+971E # +3-3263 U+868A # +3-3264 U+4FC4 # +3-3265 U+5CE8 # +3-3266 U+6211 # +3-3267 U+7259 # +3-3268 U+753B # +3-3269 U+81E5 # +3-326A U+82BD # +3-326B U+86FE # +3-326C U+8CC0 # +3-326D U+96C5 # +3-326E U+9913 # +3-326F U+99D5 # +3-3270 U+4ECB # +3-3271 U+4F1A # +3-3272 U+89E3 # +3-3273 U+56DE # +3-3274 U+584A # +3-3275 U+58CA # +3-3276 U+5EFB # +3-3277 U+5FEB # +3-3278 U+602A # +3-3279 U+6094 # +3-327A U+6062 # +3-327B U+61D0 # +3-327C U+6212 # +3-327D U+62D0 # +3-327E U+6539 # +3-3321 U+9B41 # +3-3322 U+6666 # +3-3323 U+68B0 # +3-3324 U+6D77 # +3-3325 U+7070 # +3-3326 U+754C # +3-3327 U+7686 # +3-3328 U+7D75 # +3-3329 U+82A5 # +3-332A U+87F9 # +3-332B U+958B # +3-332C U+968E # +3-332D U+8C9D # +3-332E U+51F1 # +3-332F U+52BE # +3-3330 U+5916 # +3-3331 U+54B3 # +3-3332 U+5BB3 # +3-3333 U+5D16 # +3-3334 U+6168 # +3-3335 U+6982 # +3-3336 U+6DAF # +3-3337 U+788D # +3-3338 U+84CB # +3-3339 U+8857 # +3-333A U+8A72 # +3-333B U+93A7 # +3-333C U+9AB8 # +3-333D U+6D6C # +3-333E U+99A8 # +3-333F U+86D9 # +3-3340 U+57A3 # +3-3341 U+67FF # +3-3342 U+86CE # +3-3343 U+920E # +3-3344 U+5283 # +3-3345 U+5687 # +3-3346 U+5404 # +3-3347 U+5ED3 # +3-3348 U+62E1 # +3-3349 U+64B9 # +3-334A U+683C # +3-334B U+6838 # +3-334C U+6BBB # +3-334D U+7372 # +3-334E U+78BA # +3-334F U+7A6B # +3-3350 U+899A # +3-3351 U+89D2 # +3-3352 U+8D6B # +3-3353 U+8F03 # +3-3354 U+90ED # +3-3355 U+95A3 # +3-3356 U+9694 # +3-3357 U+9769 # +3-3358 U+5B66 # +3-3359 U+5CB3 # +3-335A U+697D # +3-335B U+984D # +3-335C U+984E # +3-335D U+639B # +3-335E U+7B20 # +3-335F U+6A2B # +3-3360 U+6A7F # +3-3361 U+68B6 # +3-3362 U+9C0D # +3-3363 U+6F5F # +3-3364 U+5272 # +3-3365 U+559D # +3-3366 U+6070 # +3-3367 U+62EC # +3-3368 U+6D3B # +3-3369 U+6E07 # +3-336A U+6ED1 # +3-336B U+845B # +3-336C U+8910 # +3-336D U+8F44 # +3-336E U+4E14 # +3-336F U+9C39 # +3-3370 U+53F6 # +3-3371 U+691B # +3-3372 U+6A3A # +3-3373 U+9784 # +3-3374 U+682A # +3-3375 U+515C # +3-3376 U+7AC3 # +3-3377 U+84B2 # +3-3378 U+91DC # +3-3379 U+938C # +3-337A U+565B # +3-337B U+9D28 # +3-337C U+6822 # +3-337D U+8305 # +3-337E U+8431 # +3-3421 U+7CA5 # +3-3422 U+5208 # +3-3423 U+82C5 # +3-3424 U+74E6 # +3-3425 U+4E7E # +3-3426 U+4F83 # +3-3427 U+51A0 # +3-3428 U+5BD2 # +3-3429 U+520A # +3-342A U+52D8 # +3-342B U+52E7 # +3-342C U+5DFB # +3-342D U+559A # +3-342E U+582A # +3-342F U+59E6 # +3-3430 U+5B8C # +3-3431 U+5B98 # +3-3432 U+5BDB # +3-3433 U+5E72 # +3-3434 U+5E79 # +3-3435 U+60A3 # +3-3436 U+611F # +3-3437 U+6163 # +3-3438 U+61BE # +3-3439 U+63DB # +3-343A U+6562 # +3-343B U+67D1 # +3-343C U+6853 # +3-343D U+68FA # +3-343E U+6B3E # +3-343F U+6B53 # +3-3440 U+6C57 # +3-3441 U+6F22 # +3-3442 U+6F97 # +3-3443 U+6F45 # +3-3444 U+74B0 # +3-3445 U+7518 # +3-3446 U+76E3 # +3-3447 U+770B # +3-3448 U+7AFF # +3-3449 U+7BA1 # +3-344A U+7C21 # +3-344B U+7DE9 # +3-344C U+7F36 # +3-344D U+7FF0 # +3-344E U+809D # +3-344F U+8266 # +3-3450 U+839E # +3-3451 U+89B3 # +3-3452 U+8ACC # +3-3453 U+8CAB # +3-3454 U+9084 # +3-3455 U+9451 # +3-3456 U+9593 # +3-3457 U+9591 # +3-3458 U+95A2 # +3-3459 U+9665 # +3-345A U+97D3 # +3-345B U+9928 # +3-345C U+8218 # +3-345D U+4E38 # +3-345E U+542B # +3-345F U+5CB8 # +3-3460 U+5DCC # +3-3461 U+73A9 # +3-3462 U+764C # +3-3463 U+773C # +3-3464 U+5CA9 # +3-3465 U+7FEB # +3-3466 U+8D0B # +3-3467 U+96C1 # +3-3468 U+9811 # +3-3469 U+9854 # +3-346A U+9858 # +3-346B U+4F01 # +3-346C U+4F0E # +3-346D U+5371 # +3-346E U+559C # +3-346F U+5668 # +3-3470 U+57FA # +3-3471 U+5947 # +3-3472 U+5B09 # +3-3473 U+5BC4 # +3-3474 U+5C90 # +3-3475 U+5E0C # +3-3476 U+5E7E # +3-3477 U+5FCC # +3-3478 U+63EE # +3-3479 U+673A # +3-347A U+65D7 # +3-347B U+65E2 # +3-347C U+671F # +3-347D U+68CB # +3-347E U+68C4 # +3-3521 U+6A5F # +3-3522 U+5E30 # +3-3523 U+6BC5 # +3-3524 U+6C17 # +3-3525 U+6C7D # +3-3526 U+757F # +3-3527 U+7948 # +3-3528 U+5B63 # +3-3529 U+7A00 # +3-352A U+7D00 # +3-352B U+5FBD # +3-352C U+898F # +3-352D U+8A18 # +3-352E U+8CB4 # +3-352F U+8D77 # +3-3530 U+8ECC # +3-3531 U+8F1D # +3-3532 U+98E2 # +3-3533 U+9A0E # +3-3534 U+9B3C # +3-3535 U+4E80 # +3-3536 U+507D # +3-3537 U+5100 # +3-3538 U+5993 # +3-3539 U+5B9C # +3-353A U+622F # +3-353B U+6280 # +3-353C U+64EC # +3-353D U+6B3A # +3-353E U+72A0 # +3-353F U+7591 # +3-3540 U+7947 # +3-3541 U+7FA9 # +3-3542 U+87FB # +3-3543 U+8ABC # +3-3544 U+8B70 # +3-3545 U+63AC # +3-3546 U+83CA # +3-3547 U+97A0 # +3-3548 U+5409 # +3-3549 U+5403 # +3-354A U+55AB # +3-354B U+6854 # +3-354C U+6A58 # +3-354D U+8A70 # +3-354E U+7827 # +3-354F U+6775 # +3-3550 U+9ECD # +3-3551 U+5374 # +3-3552 U+5BA2 # +3-3553 U+811A # +3-3554 U+8650 # +3-3555 U+9006 # +3-3556 U+4E18 # +3-3557 U+4E45 # +3-3558 U+4EC7 # +3-3559 U+4F11 # +3-355A U+53CA # +3-355B U+5438 # +3-355C U+5BAE # +3-355D U+5F13 # +3-355E U+6025 # +3-355F U+6551 # +3-3560 U+673D # +3-3561 U+6C42 # +3-3562 U+6C72 # +3-3563 U+6CE3 # +3-3564 U+7078 # +3-3565 U+7403 # +3-3566 U+7A76 # +3-3567 U+7AAE # +3-3568 U+7B08 # +3-3569 U+7D1A # +3-356A U+7CFE # +3-356B U+7D66 # +3-356C U+65E7 # +3-356D U+725B # +3-356E U+53BB # +3-356F U+5C45 # +3-3570 U+5DE8 # +3-3571 U+62D2 # +3-3572 U+62E0 # +3-3573 U+6319 # +3-3574 U+6E20 # +3-3575 U+865A # +3-3576 U+8A31 # +3-3577 U+8DDD # +3-3578 U+92F8 # +3-3579 U+6F01 # +3-357A U+79A6 # +3-357B U+9B5A # +3-357C U+4EA8 # +3-357D U+4EAB # +3-357E U+4EAC # +3-3621 U+4F9B # +3-3622 U+4FA0 # +3-3623 U+50D1 # +3-3624 U+5147 # +3-3625 U+7AF6 # +3-3626 U+5171 # +3-3627 U+51F6 # +3-3628 U+5354 # +3-3629 U+5321 # +3-362A U+537F # +3-362B U+53EB # +3-362C U+55AC # +3-362D U+5883 # +3-362E U+5CE1 # +3-362F U+5F37 # +3-3630 U+5F4A # +3-3631 U+602F # +3-3632 U+6050 # +3-3633 U+606D # +3-3634 U+631F # +3-3635 U+6559 # +3-3636 U+6A4B # +3-3637 U+6CC1 # +3-3638 U+72C2 # +3-3639 U+72ED # +3-363A U+77EF # +3-363B U+80F8 # +3-363C U+8105 # +3-363D U+8208 # +3-363E U+854E # +3-363F U+90F7 # +3-3640 U+93E1 # +3-3641 U+97FF # +3-3642 U+9957 # +3-3643 U+9A5A # +3-3644 U+4EF0 # +3-3645 U+51DD # +3-3646 U+5C2D # +3-3647 U+6681 # +3-3648 U+696D # +3-3649 U+5C40 # +3-364A U+66F2 # +3-364B U+6975 # +3-364C U+7389 # +3-364D U+6850 # +3-364E U+7C81 # +3-364F U+50C5 # +3-3650 U+52E4 # +3-3651 U+5747 # +3-3652 U+5DFE # +3-3653 U+9326 # +3-3654 U+65A4 # +3-3655 U+6B23 # +3-3656 U+6B3D # +3-3657 U+7434 # +3-3658 U+7981 # +3-3659 U+79BD # +3-365A U+7B4B # +3-365B U+7DCA # +3-365C U+82B9 # +3-365D U+83CC # +3-365E U+887F # +3-365F U+895F # +3-3660 U+8B39 # +3-3661 U+8FD1 # +3-3662 U+91D1 # +3-3663 U+541F # +3-3664 U+9280 # +3-3665 U+4E5D # +3-3666 U+5036 # +3-3667 U+53E5 # +3-3668 U+533A # +3-3669 U+72D7 # +3-366A U+7396 # +3-366B U+77E9 # +3-366C U+82E6 # +3-366D U+8EAF # +3-366E U+99C6 # +3-366F U+99C8 # +3-3670 U+99D2 # +3-3671 U+5177 # +3-3672 U+611A # +3-3673 U+865E # +3-3674 U+55B0 # +3-3675 U+7A7A # +3-3676 U+5076 # +3-3677 U+5BD3 # +3-3678 U+9047 # +3-3679 U+9685 # +3-367A U+4E32 # +3-367B U+6ADB # +3-367C U+91E7 # +3-367D U+5C51 # +3-367E U+5C48 # +3-3721 U+6398 # +3-3722 U+7A9F # +3-3723 U+6C93 # +3-3724 U+9774 # +3-3725 U+8F61 # +3-3726 U+7AAA # +3-3727 U+718A # +3-3728 U+9688 # +3-3729 U+7C82 # +3-372A U+6817 # +3-372B U+7E70 # +3-372C U+6851 # +3-372D U+936C # +3-372E U+52F2 # +3-372F U+541B # +3-3730 U+85AB # +3-3731 U+8A13 # +3-3732 U+7FA4 # +3-3733 U+8ECD # +3-3734 U+90E1 # +3-3735 U+5366 # +3-3736 U+8888 # +3-3737 U+7941 # +3-3738 U+4FC2 # +3-3739 U+50BE # +3-373A U+5211 # +3-373B U+5144 # +3-373C U+5553 # +3-373D U+572D # +3-373E U+73EA # +3-373F U+578B # +3-3740 U+5951 # +3-3741 U+5F62 # +3-3742 U+5F84 # +3-3743 U+6075 # +3-3744 U+6176 # +3-3745 U+6167 # +3-3746 U+61A9 # +3-3747 U+63B2 # +3-3748 U+643A # +3-3749 U+656C # +3-374A U+666F # +3-374B U+6842 # +3-374C U+6E13 # +3-374D U+7566 # +3-374E U+7A3D # +3-374F U+7CFB # +3-3750 U+7D4C # +3-3751 U+7D99 # +3-3752 U+7E4B # +3-3753 U+7F6B # +3-3754 U+830E # +3-3755 U+834A # +3-3756 U+86CD # +3-3757 U+8A08 # +3-3758 U+8A63 # +3-3759 U+8B66 # +3-375A U+8EFD # +3-375B U+981A # +3-375C U+9D8F # +3-375D U+82B8 # +3-375E U+8FCE # +3-375F U+9BE8 # +3-3760 U+5287 # +3-3761 U+621F # +3-3762 U+6483 # +3-3763 U+6FC0 # +3-3764 U+9699 # +3-3765 U+6841 # +3-3766 U+5091 # +3-3767 U+6B20 # +3-3768 U+6C7A # +3-3769 U+6F54 # +3-376A U+7A74 # +3-376B U+7D50 # +3-376C U+8840 # +3-376D U+8A23 # +3-376E U+6708 # +3-376F U+4EF6 # +3-3770 U+5039 # +3-3771 U+5026 # +3-3772 U+5065 # +3-3773 U+517C # +3-3774 U+5238 # +3-3775 U+5263 # +3-3776 U+55A7 # +3-3777 U+570F # +3-3778 U+5805 # +3-3779 U+5ACC # +3-377A U+5EFA # +3-377B U+61B2 # +3-377C U+61F8 # +3-377D U+62F3 # +3-377E U+6372 # +3-3821 U+691C # +3-3822 U+6A29 # +3-3823 U+727D # +3-3824 U+72AC # +3-3825 U+732E # +3-3826 U+7814 # +3-3827 U+786F # +3-3828 U+7D79 # +3-3829 U+770C # +3-382A U+80A9 # +3-382B U+898B # +3-382C U+8B19 # +3-382D U+8CE2 # +3-382E U+8ED2 # +3-382F U+9063 # +3-3830 U+9375 # +3-3831 U+967A # +3-3832 U+9855 # +3-3833 U+9A13 # +3-3834 U+9E78 # +3-3835 U+5143 # +3-3836 U+539F # +3-3837 U+53B3 # +3-3838 U+5E7B # +3-3839 U+5F26 # +3-383A U+6E1B # +3-383B U+6E90 # +3-383C U+7384 # +3-383D U+73FE # +3-383E U+7D43 # +3-383F U+8237 # +3-3840 U+8A00 # +3-3841 U+8AFA # +3-3842 U+9650 # +3-3843 U+4E4E # +3-3844 U+500B # +3-3845 U+53E4 # +3-3846 U+547C # +3-3847 U+56FA # +3-3848 U+59D1 # +3-3849 U+5B64 # +3-384A U+5DF1 # +3-384B U+5EAB # +3-384C U+5F27 # +3-384D U+6238 # +3-384E U+6545 # +3-384F U+67AF # +3-3850 U+6E56 # +3-3851 U+72D0 # +3-3852 U+7CCA # +3-3853 U+88B4 # +3-3854 U+80A1 # +3-3855 U+80E1 # +3-3856 U+83F0 # +3-3857 U+864E # +3-3858 U+8A87 # +3-3859 U+8DE8 # +3-385A U+9237 # +3-385B U+96C7 # +3-385C U+9867 # +3-385D U+9F13 # +3-385E U+4E94 # +3-385F U+4E92 # +3-3860 U+4F0D # +3-3861 U+5348 # +3-3862 U+5449 # +3-3863 U+543E # +3-3864 U+5A2F # +3-3865 U+5F8C # +3-3866 U+5FA1 # +3-3867 U+609F # +3-3868 U+68A7 # +3-3869 U+6A8E # +3-386A U+745A # +3-386B U+7881 # +3-386C U+8A9E # +3-386D U+8AA4 # +3-386E U+8B77 # +3-386F U+9190 # +3-3870 U+4E5E # +3-3871 U+9BC9 # +3-3872 U+4EA4 # +3-3873 U+4F7C # +3-3874 U+4FAF # +3-3875 U+5019 # +3-3876 U+5016 # +3-3877 U+5149 # +3-3878 U+516C # +3-3879 U+529F # +3-387A U+52B9 # +3-387B U+52FE # +3-387C U+539A # +3-387D U+53E3 # +3-387E U+5411 # +3-3921 U+540E # +3-3922 U+5589 # +3-3923 U+5751 # +3-3924 U+57A2 # +3-3925 U+597D # +3-3926 U+5B54 # +3-3927 U+5B5D # +3-3928 U+5B8F # +3-3929 U+5DE5 # +3-392A U+5DE7 # +3-392B U+5DF7 # +3-392C U+5E78 # +3-392D U+5E83 # +3-392E U+5E9A # +3-392F U+5EB7 # +3-3930 U+5F18 # +3-3931 U+6052 # +3-3932 U+614C # +3-3933 U+6297 # +3-3934 U+62D8 # +3-3935 U+63A7 # +3-3936 U+653B # +3-3937 U+6602 # +3-3938 U+6643 # +3-3939 U+66F4 # +3-393A U+676D # +3-393B U+6821 # +3-393C U+6897 # +3-393D U+69CB # +3-393E U+6C5F # +3-393F U+6D2A # +3-3940 U+6D69 # +3-3941 U+6E2F # +3-3942 U+6E9D # +3-3943 U+7532 # +3-3944 U+7687 # +3-3945 U+786C # +3-3946 U+7A3F # +3-3947 U+7CE0 # +3-3948 U+7D05 # +3-3949 U+7D18 # +3-394A U+7D5E # +3-394B U+7DB1 # +3-394C U+8015 # +3-394D U+8003 # +3-394E U+80AF # +3-394F U+80B1 # +3-3950 U+8154 # +3-3951 U+818F # +3-3952 U+822A # +3-3953 U+8352 # +3-3954 U+884C # +3-3955 U+8861 # +3-3956 U+8B1B # +3-3957 U+8CA2 # +3-3958 U+8CFC # +3-3959 U+90CA # +3-395A U+9175 # +3-395B U+9271 # +3-395C U+783F # +3-395D U+92FC # +3-395E U+95A4 # +3-395F U+964D # +3-3960 U+9805 # +3-3961 U+9999 # +3-3962 U+9AD8 # +3-3963 U+9D3B # +3-3964 U+525B # +3-3965 U+52AB # +3-3966 U+53F7 # +3-3967 U+5408 # +3-3968 U+58D5 # +3-3969 U+62F7 # +3-396A U+6FE0 # +3-396B U+8C6A # +3-396C U+8F5F # +3-396D U+9EB9 # +3-396E U+514B # +3-396F U+523B # +3-3970 U+544A # +3-3971 U+56FD # +3-3972 U+7A40 # +3-3973 U+9177 # +3-3974 U+9D60 # +3-3975 U+9ED2 # +3-3976 U+7344 # +3-3977 U+6F09 # +3-3978 U+8170 # +3-3979 U+7511 # +3-397A U+5FFD # +3-397B U+60DA # +3-397C U+9AA8 # +3-397D U+72DB # +3-397E U+8FBC # +3-3A21 U+6B64 # +3-3A22 U+9803 # +3-3A23 U+4ECA # +3-3A24 U+56F0 # +3-3A25 U+5764 # +3-3A26 U+58BE # +3-3A27 U+5A5A # +3-3A28 U+6068 # +3-3A29 U+61C7 # +3-3A2A U+660F # +3-3A2B U+6606 # +3-3A2C U+6839 # +3-3A2D U+68B1 # +3-3A2E U+6DF7 # +3-3A2F U+75D5 # +3-3A30 U+7D3A # +3-3A31 U+826E # +3-3A32 U+9B42 # +3-3A33 U+4E9B # +3-3A34 U+4F50 # +3-3A35 U+53C9 # +3-3A36 U+5506 # +3-3A37 U+5D6F # +3-3A38 U+5DE6 # +3-3A39 U+5DEE # +3-3A3A U+67FB # +3-3A3B U+6C99 # +3-3A3C U+7473 # +3-3A3D U+7802 # +3-3A3E U+8A50 # +3-3A3F U+9396 # +3-3A40 U+88DF # +3-3A41 U+5750 # +3-3A42 U+5EA7 # +3-3A43 U+632B # +3-3A44 U+50B5 # +3-3A45 U+50AC # +3-3A46 U+518D # +3-3A47 U+6700 # +3-3A48 U+54C9 # +3-3A49 U+585E # +3-3A4A U+59BB # +3-3A4B U+5BB0 # +3-3A4C U+5F69 # +3-3A4D U+624D # +3-3A4E U+63A1 # +3-3A4F U+683D # +3-3A50 U+6B73 # +3-3A51 U+6E08 # +3-3A52 U+707D # +3-3A53 U+91C7 # +3-3A54 U+7280 # +3-3A55 U+7815 # +3-3A56 U+7826 # +3-3A57 U+796D # +3-3A58 U+658E # +3-3A59 U+7D30 # +3-3A5A U+83DC # +3-3A5B U+88C1 # +3-3A5C U+8F09 # +3-3A5D U+969B # +3-3A5E U+5264 # +3-3A5F U+5728 # +3-3A60 U+6750 # +3-3A61 U+7F6A # +3-3A62 U+8CA1 # +3-3A63 U+51B4 # +3-3A64 U+5742 # +3-3A65 U+962A # +3-3A66 U+583A # +3-3A67 U+698A # +3-3A68 U+80B4 # +3-3A69 U+54B2 # +3-3A6A U+5D0E # +3-3A6B U+57FC # +3-3A6C U+7895 # +3-3A6D U+9DFA # +3-3A6E U+4F5C # +3-3A6F U+524A # +3-3A70 U+548B # +3-3A71 U+643E # +3-3A72 U+6628 # +3-3A73 U+6714 # +3-3A74 U+67F5 # +3-3A75 U+7A84 # +3-3A76 U+7B56 # +3-3A77 U+7D22 # +3-3A78 U+932F # +3-3A79 U+685C # +3-3A7A U+9BAD # +3-3A7B U+7B39 # +3-3A7C U+5319 # +3-3A7D U+518A # +3-3A7E U+5237 # +3-3B21 U+5BDF # +3-3B22 U+62F6 # +3-3B23 U+64AE # +3-3B24 U+64E6 # +3-3B25 U+672D # +3-3B26 U+6BBA # +3-3B27 U+85A9 # +3-3B28 U+96D1 # +3-3B29 U+7690 # +3-3B2A U+9BD6 # +3-3B2B U+634C # +3-3B2C U+9306 # +3-3B2D U+9BAB # +3-3B2E U+76BF # +3-3B2F U+6652 # +3-3B30 U+4E09 # +3-3B31 U+5098 # +3-3B32 U+53C2 # +3-3B33 U+5C71 # +3-3B34 U+60E8 # +3-3B35 U+6492 # +3-3B36 U+6563 # +3-3B37 U+685F # +3-3B38 U+71E6 # +3-3B39 U+73CA # +3-3B3A U+7523 # +3-3B3B U+7B97 # +3-3B3C U+7E82 # +3-3B3D U+8695 # +3-3B3E U+8B83 # +3-3B3F U+8CDB # +3-3B40 U+9178 # +3-3B41 U+9910 # +3-3B42 U+65AC # +3-3B43 U+66AB # +3-3B44 U+6B8B # +3-3B45 U+4ED5 # +3-3B46 U+4ED4 # +3-3B47 U+4F3A # +3-3B48 U+4F7F # +3-3B49 U+523A # +3-3B4A U+53F8 # +3-3B4B U+53F2 # +3-3B4C U+55E3 # +3-3B4D U+56DB # +3-3B4E U+58EB # +3-3B4F U+59CB # +3-3B50 U+59C9 # +3-3B51 U+59FF # +3-3B52 U+5B50 # +3-3B53 U+5C4D # +3-3B54 U+5E02 # +3-3B55 U+5E2B # +3-3B56 U+5FD7 # +3-3B57 U+601D # +3-3B58 U+6307 # +3-3B59 U+652F # +3-3B5A U+5B5C # +3-3B5B U+65AF # +3-3B5C U+65BD # +3-3B5D U+65E8 # +3-3B5E U+679D # +3-3B5F U+6B62 # +3-3B60 U+6B7B # +3-3B61 U+6C0F # +3-3B62 U+7345 # +3-3B63 U+7949 # +3-3B64 U+79C1 # +3-3B65 U+7CF8 # +3-3B66 U+7D19 # +3-3B67 U+7D2B # +3-3B68 U+80A2 # +3-3B69 U+8102 # +3-3B6A U+81F3 # +3-3B6B U+8996 # +3-3B6C U+8A5E # +3-3B6D U+8A69 # +3-3B6E U+8A66 # +3-3B6F U+8A8C # +3-3B70 U+8AEE # +3-3B71 U+8CC7 # +3-3B72 U+8CDC # +3-3B73 U+96CC # +3-3B74 U+98FC # +3-3B75 U+6B6F # +3-3B76 U+4E8B # +3-3B77 U+4F3C # +3-3B78 U+4F8D # +3-3B79 U+5150 # +3-3B7A U+5B57 # +3-3B7B U+5BFA # +3-3B7C U+6148 # +3-3B7D U+6301 # +3-3B7E U+6642 # +3-3C21 U+6B21 # +3-3C22 U+6ECB # +3-3C23 U+6CBB # +3-3C24 U+723E # +3-3C25 U+74BD # +3-3C26 U+75D4 # +3-3C27 U+78C1 # +3-3C28 U+793A # +3-3C29 U+800C # +3-3C2A U+8033 # +3-3C2B U+81EA # +3-3C2C U+8494 # +3-3C2D U+8F9E # +3-3C2E U+6C50 # +3-3C2F U+9E7F # +3-3C30 U+5F0F # +3-3C31 U+8B58 # +3-3C32 U+9D2B # +3-3C33 U+7AFA # +3-3C34 U+8EF8 # +3-3C35 U+5B8D # +3-3C36 U+96EB # +3-3C37 U+4E03 # +3-3C38 U+53F1 # +3-3C39 U+57F7 # +3-3C3A U+5931 # +3-3C3B U+5AC9 # +3-3C3C U+5BA4 # +3-3C3D U+6089 # +3-3C3E U+6E7F # +3-3C3F U+6F06 # +3-3C40 U+75BE # +3-3C41 U+8CEA # +3-3C42 U+5B9F # +3-3C43 U+8500 # +3-3C44 U+7BE0 # +3-3C45 U+5072 # +3-3C46 U+67F4 # +3-3C47 U+829D # +3-3C48 U+5C61 # +3-3C49 U+854A # +3-3C4A U+7E1E # +3-3C4B U+820E # +3-3C4C U+5199 # +3-3C4D U+5C04 # +3-3C4E U+6368 # +3-3C4F U+8D66 # +3-3C50 U+659C # +3-3C51 U+716E # +3-3C52 U+793E # +3-3C53 U+7D17 # +3-3C54 U+8005 # +3-3C55 U+8B1D # +3-3C56 U+8ECA # +3-3C57 U+906E # +3-3C58 U+86C7 # +3-3C59 U+90AA # +3-3C5A U+501F # +3-3C5B U+52FA # +3-3C5C U+5C3A # +3-3C5D U+6753 # +3-3C5E U+707C # +3-3C5F U+7235 # +3-3C60 U+914C # +3-3C61 U+91C8 # +3-3C62 U+932B # +3-3C63 U+82E5 # +3-3C64 U+5BC2 # +3-3C65 U+5F31 # +3-3C66 U+60F9 # +3-3C67 U+4E3B # +3-3C68 U+53D6 # +3-3C69 U+5B88 # +3-3C6A U+624B # +3-3C6B U+6731 # +3-3C6C U+6B8A # +3-3C6D U+72E9 # +3-3C6E U+73E0 # +3-3C6F U+7A2E # +3-3C70 U+816B # +3-3C71 U+8DA3 # +3-3C72 U+9152 # +3-3C73 U+9996 # +3-3C74 U+5112 # +3-3C75 U+53D7 # +3-3C76 U+546A # +3-3C77 U+5BFF # +3-3C78 U+6388 # +3-3C79 U+6A39 # +3-3C7A U+7DAC # +3-3C7B U+9700 # +3-3C7C U+56DA # +3-3C7D U+53CE # +3-3C7E U+5468 # +3-3D21 U+5B97 # +3-3D22 U+5C31 # +3-3D23 U+5DDE # +3-3D24 U+4FEE # +3-3D25 U+6101 # +3-3D26 U+62FE # +3-3D27 U+6D32 # +3-3D28 U+79C0 # +3-3D29 U+79CB # +3-3D2A U+7D42 # +3-3D2B U+7E4D # +3-3D2C U+7FD2 # +3-3D2D U+81ED # +3-3D2E U+821F # +3-3D2F U+8490 # +3-3D30 U+8846 # +3-3D31 U+8972 # +3-3D32 U+8B90 # +3-3D33 U+8E74 # +3-3D34 U+8F2F # +3-3D35 U+9031 # +3-3D36 U+914B # +3-3D37 U+916C # +3-3D38 U+96C6 # +3-3D39 U+919C # +3-3D3A U+4EC0 # +3-3D3B U+4F4F # +3-3D3C U+5145 # +3-3D3D U+5341 # +3-3D3E U+5F93 # +3-3D3F U+620E # +3-3D40 U+67D4 # +3-3D41 U+6C41 # +3-3D42 U+6E0B # +3-3D43 U+7363 # +3-3D44 U+7E26 # +3-3D45 U+91CD # +3-3D46 U+9283 # +3-3D47 U+53D4 # +3-3D48 U+5919 # +3-3D49 U+5BBF # +3-3D4A U+6DD1 # +3-3D4B U+795D # +3-3D4C U+7E2E # +3-3D4D U+7C9B # +3-3D4E U+587E # +3-3D4F U+719F # +3-3D50 U+51FA # +3-3D51 U+8853 # +3-3D52 U+8FF0 # +3-3D53 U+4FCA # +3-3D54 U+5CFB # +3-3D55 U+6625 # +3-3D56 U+77AC # +3-3D57 U+7AE3 # +3-3D58 U+821C # +3-3D59 U+99FF # +3-3D5A U+51C6 # +3-3D5B U+5FAA # +3-3D5C U+65EC # +3-3D5D U+696F # +3-3D5E U+6B89 # +3-3D5F U+6DF3 # +3-3D60 U+6E96 # +3-3D61 U+6F64 # +3-3D62 U+76FE # +3-3D63 U+7D14 # +3-3D64 U+5DE1 # +3-3D65 U+9075 # +3-3D66 U+9187 # +3-3D67 U+9806 # +3-3D68 U+51E6 # +3-3D69 U+521D # +3-3D6A U+6240 # +3-3D6B U+6691 # +3-3D6C U+66D9 # +3-3D6D U+6E1A # +3-3D6E U+5EB6 # +3-3D6F U+7DD2 # +3-3D70 U+7F72 # +3-3D71 U+66F8 # +3-3D72 U+85AF # +3-3D73 U+85F7 # +3-3D74 U+8AF8 # +3-3D75 U+52A9 # +3-3D76 U+53D9 # +3-3D77 U+5973 # +3-3D78 U+5E8F # +3-3D79 U+5F90 # +3-3D7A U+6055 # +3-3D7B U+92E4 # +3-3D7C U+9664 # +3-3D7D U+50B7 # +3-3D7E U+511F # +3-3E21 U+52DD # +3-3E22 U+5320 # +3-3E23 U+5347 # +3-3E24 U+53EC # +3-3E25 U+54E8 # +3-3E26 U+5546 # +3-3E27 U+5531 # +3-3E28 U+5617 # +3-3E29 U+5968 # +3-3E2A U+59BE # +3-3E2B U+5A3C # +3-3E2C U+5BB5 # +3-3E2D U+5C06 # +3-3E2E U+5C0F # +3-3E2F U+5C11 # +3-3E30 U+5C1A # +3-3E31 U+5E84 # +3-3E32 U+5E8A # +3-3E33 U+5EE0 # +3-3E34 U+5F70 # +3-3E35 U+627F # +3-3E36 U+6284 # +3-3E37 U+62DB # +3-3E38 U+638C # +3-3E39 U+6377 # +3-3E3A U+6607 # +3-3E3B U+660C # +3-3E3C U+662D # +3-3E3D U+6676 # +3-3E3E U+677E # +3-3E3F U+68A2 # +3-3E40 U+6A1F # +3-3E41 U+6A35 # +3-3E42 U+6CBC # +3-3E43 U+6D88 # +3-3E44 U+6E09 # +3-3E45 U+6E58 # +3-3E46 U+713C # +3-3E47 U+7126 # +3-3E48 U+7167 # +3-3E49 U+75C7 # +3-3E4A U+7701 # +3-3E4B U+785D # +3-3E4C U+7901 # +3-3E4D U+7965 # +3-3E4E U+79F0 # +3-3E4F U+7AE0 # +3-3E50 U+7B11 # +3-3E51 U+7CA7 # +3-3E52 U+7D39 # +3-3E53 U+8096 # +3-3E54 U+83D6 # +3-3E55 U+848B # +3-3E56 U+8549 # +3-3E57 U+885D # +3-3E58 U+88F3 # +3-3E59 U+8A1F # +3-3E5A U+8A3C # +3-3E5B U+8A54 # +3-3E5C U+8A73 # +3-3E5D U+8C61 # +3-3E5E U+8CDE # +3-3E5F U+91A4 # +3-3E60 U+9266 # +3-3E61 U+937E # +3-3E62 U+9418 # +3-3E63 U+969C # +3-3E64 U+9798 # +3-3E65 U+4E0A # +3-3E66 U+4E08 # +3-3E67 U+4E1E # +3-3E68 U+4E57 # +3-3E69 U+5197 # +3-3E6A U+5270 # +3-3E6B U+57CE # +3-3E6C U+5834 # +3-3E6D U+58CC # +3-3E6E U+5B22 # +3-3E6F U+5E38 # +3-3E70 U+60C5 # +3-3E71 U+64FE # +3-3E72 U+6761 # +3-3E73 U+6756 # +3-3E74 U+6D44 # +3-3E75 U+72B6 # +3-3E76 U+7573 # +3-3E77 U+7A63 # +3-3E78 U+84B8 # +3-3E79 U+8B72 # +3-3E7A U+91B8 # +3-3E7B U+9320 # +3-3E7C U+5631 # +3-3E7D U+57F4 # +3-3E7E U+98FE # +3-3F21 U+62ED # +3-3F22 U+690D # +3-3F23 U+6B96 # +3-3F24 U+71ED # +3-3F25 U+7E54 # +3-3F26 U+8077 # +3-3F27 U+8272 # +3-3F28 U+89E6 # +3-3F29 U+98DF # +3-3F2A U+8755 # +3-3F2B U+8FB1 # +3-3F2C U+5C3B # +3-3F2D U+4F38 # +3-3F2E U+4FE1 # +3-3F2F U+4FB5 # +3-3F30 U+5507 # +3-3F31 U+5A20 # +3-3F32 U+5BDD # +3-3F33 U+5BE9 # +3-3F34 U+5FC3 # +3-3F35 U+614E # +3-3F36 U+632F # +3-3F37 U+65B0 # +3-3F38 U+664B # +3-3F39 U+68EE # +3-3F3A U+699B # +3-3F3B U+6D78 # +3-3F3C U+6DF1 # +3-3F3D U+7533 # +3-3F3E U+75B9 # +3-3F3F U+771F # +3-3F40 U+795E # +3-3F41 U+79E6 # +3-3F42 U+7D33 # +3-3F43 U+81E3 # +3-3F44 U+82AF # +3-3F45 U+85AA # +3-3F46 U+89AA # +3-3F47 U+8A3A # +3-3F48 U+8EAB # +3-3F49 U+8F9B # +3-3F4A U+9032 # +3-3F4B U+91DD # +3-3F4C U+9707 # +3-3F4D U+4EBA # +3-3F4E U+4EC1 # +3-3F4F U+5203 # +3-3F50 U+5875 # +3-3F51 U+58EC # +3-3F52 U+5C0B # +3-3F53 U+751A # +3-3F54 U+5C3D # +3-3F55 U+814E # +3-3F56 U+8A0A # +3-3F57 U+8FC5 # +3-3F58 U+9663 # +3-3F59 U+976D # +3-3F5A U+7B25 # +3-3F5B U+8ACF # +3-3F5C U+9808 # +3-3F5D U+9162 # +3-3F5E U+56F3 # +3-3F5F U+53A8 # +3-3F60 U+9017 # +3-3F61 U+5439 # +3-3F62 U+5782 # +3-3F63 U+5E25 # +3-3F64 U+63A8 # +3-3F65 U+6C34 # +3-3F66 U+708A # +3-3F67 U+7761 # +3-3F68 U+7C8B # +3-3F69 U+7FE0 # +3-3F6A U+8870 # +3-3F6B U+9042 # +3-3F6C U+9154 # +3-3F6D U+9310 # +3-3F6E U+9318 # +3-3F6F U+968F # +3-3F70 U+745E # +3-3F71 U+9AC4 # +3-3F72 U+5D07 # +3-3F73 U+5D69 # +3-3F74 U+6570 # +3-3F75 U+67A2 # +3-3F76 U+8DA8 # +3-3F77 U+96DB # +3-3F78 U+636E # +3-3F79 U+6749 # +3-3F7A U+6919 # +3-3F7B U+83C5 # +3-3F7C U+9817 # +3-3F7D U+96C0 # +3-3F7E U+88FE # +3-4021 U+6F84 # +3-4022 U+647A # +3-4023 U+5BF8 # +3-4024 U+4E16 # +3-4025 U+702C # +3-4026 U+755D # +3-4027 U+662F # +3-4028 U+51C4 # +3-4029 U+5236 # +3-402A U+52E2 # +3-402B U+59D3 # +3-402C U+5F81 # +3-402D U+6027 # +3-402E U+6210 # +3-402F U+653F # +3-4030 U+6574 # +3-4031 U+661F # +3-4032 U+6674 # +3-4033 U+68F2 # +3-4034 U+6816 # +3-4035 U+6B63 # +3-4036 U+6E05 # +3-4037 U+7272 # +3-4038 U+751F # +3-4039 U+76DB # +3-403A U+7CBE # +3-403B U+8056 # +3-403C U+58F0 # +3-403D U+88FD # +3-403E U+897F # +3-403F U+8AA0 # +3-4040 U+8A93 # +3-4041 U+8ACB # +3-4042 U+901D # +3-4043 U+9192 # +3-4044 U+9752 # +3-4045 U+9759 # +3-4046 U+6589 # +3-4047 U+7A0E # +3-4048 U+8106 # +3-4049 U+96BB # +3-404A U+5E2D # +3-404B U+60DC # +3-404C U+621A # +3-404D U+65A5 # +3-404E U+6614 # +3-404F U+6790 # +3-4050 U+77F3 # +3-4051 U+7A4D # +3-4052 U+7C4D # +3-4053 U+7E3E # +3-4054 U+810A # +3-4055 U+8CAC # +3-4056 U+8D64 # +3-4057 U+8DE1 # +3-4058 U+8E5F # +3-4059 U+78A9 # +3-405A U+5207 # +3-405B U+62D9 # +3-405C U+63A5 # +3-405D U+6442 # +3-405E U+6298 # +3-405F U+8A2D # +3-4060 U+7A83 # +3-4061 U+7BC0 # +3-4062 U+8AAC # +3-4063 U+96EA # +3-4064 U+7D76 # +3-4065 U+820C # +3-4066 U+8749 # +3-4067 U+4ED9 # +3-4068 U+5148 # +3-4069 U+5343 # +3-406A U+5360 # +3-406B U+5BA3 # +3-406C U+5C02 # +3-406D U+5C16 # +3-406E U+5DDD # +3-406F U+6226 # +3-4070 U+6247 # +3-4071 U+64B0 # +3-4072 U+6813 # +3-4073 U+6834 # +3-4074 U+6CC9 # +3-4075 U+6D45 # +3-4076 U+6D17 # +3-4077 U+67D3 # +3-4078 U+6F5C # +3-4079 U+714E # +3-407A U+717D # +3-407B U+65CB # +3-407C U+7A7F # +3-407D U+7BAD # +3-407E U+7DDA # +3-4121 U+7E4A # +3-4122 U+7FA8 # +3-4123 U+817A # +3-4124 U+821B # +3-4125 U+8239 # +3-4126 U+85A6 # +3-4127 U+8A6E # +3-4128 U+8CCE # +3-4129 U+8DF5 # +3-412A U+9078 # +3-412B U+9077 # +3-412C U+92AD # +3-412D U+9291 # +3-412E U+9583 # +3-412F U+9BAE # +3-4130 U+524D # +3-4131 U+5584 # +3-4132 U+6F38 # +3-4133 U+7136 # +3-4134 U+5168 # +3-4135 U+7985 # +3-4136 U+7E55 # +3-4137 U+81B3 # +3-4138 U+7CCE # +3-4139 U+564C # +3-413A U+5851 # +3-413B U+5CA8 # +3-413C U+63AA # +3-413D U+66FE # +3-413E U+66FD # +3-413F U+695A # +3-4140 U+72D9 # +3-4141 U+758F # +3-4142 U+758E # +3-4143 U+790E # +3-4144 U+7956 # +3-4145 U+79DF # +3-4146 U+7C97 # +3-4147 U+7D20 # +3-4148 U+7D44 # +3-4149 U+8607 # +3-414A U+8A34 # +3-414B U+963B # +3-414C U+9061 # +3-414D U+9F20 # +3-414E U+50E7 # +3-414F U+5275 # +3-4150 U+53CC # +3-4151 U+53E2 # +3-4152 U+5009 # +3-4153 U+55AA # +3-4154 U+58EE # +3-4155 U+594F # +3-4156 U+723D # +3-4157 U+5B8B # +3-4158 U+5C64 # +3-4159 U+531D # +3-415A U+60E3 # +3-415B U+60F3 # +3-415C U+635C # +3-415D U+6383 # +3-415E U+633F # +3-415F U+63BB # +3-4160 U+64CD # +3-4161 U+65E9 # +3-4162 U+66F9 # +3-4163 U+5DE3 # +3-4164 U+69CD # +3-4165 U+69FD # +3-4166 U+6F15 # +3-4167 U+71E5 # +3-4168 U+4E89 # +3-4169 U+75E9 # +3-416A U+76F8 # +3-416B U+7A93 # +3-416C U+7CDF # +3-416D U+7DCF # +3-416E U+7D9C # +3-416F U+8061 # +3-4170 U+8349 # +3-4171 U+8358 # +3-4172 U+846C # +3-4173 U+84BC # +3-4174 U+85FB # +3-4175 U+88C5 # +3-4176 U+8D70 # +3-4177 U+9001 # +3-4178 U+906D # +3-4179 U+9397 # +3-417A U+971C # +3-417B U+9A12 # +3-417C U+50CF # +3-417D U+5897 # +3-417E U+618E # +3-4221 U+81D3 # +3-4222 U+8535 # +3-4223 U+8D08 # +3-4224 U+9020 # +3-4225 U+4FC3 # +3-4226 U+5074 # +3-4227 U+5247 # +3-4228 U+5373 # +3-4229 U+606F # +3-422A U+6349 # +3-422B U+675F # +3-422C U+6E2C # +3-422D U+8DB3 # +3-422E U+901F # +3-422F U+4FD7 # +3-4230 U+5C5E # +3-4231 U+8CCA # +3-4232 U+65CF # +3-4233 U+7D9A # +3-4234 U+5352 # +3-4235 U+8896 # +3-4236 U+5176 # +3-4237 U+63C3 # +3-4238 U+5B58 # +3-4239 U+5B6B # +3-423A U+5C0A # +3-423B U+640D # +3-423C U+6751 # +3-423D U+905C # +3-423E U+4ED6 # +3-423F U+591A # +3-4240 U+592A # +3-4241 U+6C70 # +3-4242 U+8A51 # +3-4243 U+553E # +3-4244 U+5815 # +3-4245 U+59A5 # +3-4246 U+60F0 # +3-4247 U+6253 # +3-4248 U+67C1 # +3-4249 U+8235 # +3-424A U+6955 # +3-424B U+9640 # +3-424C U+99C4 # +3-424D U+9A28 # +3-424E U+4F53 # +3-424F U+5806 # +3-4250 U+5BFE # +3-4251 U+8010 # +3-4252 U+5CB1 # +3-4253 U+5E2F # +3-4254 U+5F85 # +3-4255 U+6020 # +3-4256 U+614B # +3-4257 U+6234 # +3-4258 U+66FF # +3-4259 U+6CF0 # +3-425A U+6EDE # +3-425B U+80CE # +3-425C U+817F # +3-425D U+82D4 # +3-425E U+888B # +3-425F U+8CB8 # +3-4260 U+9000 # +3-4261 U+902E # +3-4262 U+968A # +3-4263 U+9EDB # +3-4264 U+9BDB # +3-4265 U+4EE3 # +3-4266 U+53F0 # +3-4267 U+5927 # +3-4268 U+7B2C # +3-4269 U+918D # +3-426A U+984C # +3-426B U+9DF9 # +3-426C U+6EDD # +3-426D U+7027 # +3-426E U+5353 # +3-426F U+5544 # +3-4270 U+5B85 # +3-4271 U+6258 # +3-4272 U+629E # +3-4273 U+62D3 # +3-4274 U+6CA2 # +3-4275 U+6FEF # +3-4276 U+7422 # +3-4277 U+8A17 # +3-4278 U+9438 # +3-4279 U+6FC1 # +3-427A U+8AFE # +3-427B U+8338 # +3-427C U+51E7 # +3-427D U+86F8 # +3-427E U+53EA # +3-4321 U+53E9 # +3-4322 U+4F46 # +3-4323 U+9054 # +3-4324 U+8FB0 # +3-4325 U+596A # +3-4326 U+8131 # +3-4327 U+5DFD # +3-4328 U+7AEA # +3-4329 U+8FBF # +3-432A U+68DA # +3-432B U+8C37 # +3-432C U+72F8 # +3-432D U+9C48 # +3-432E U+6A3D # +3-432F U+8AB0 # +3-4330 U+4E39 # +3-4331 U+5358 # +3-4332 U+5606 # +3-4333 U+5766 # +3-4334 U+62C5 # +3-4335 U+63A2 # +3-4336 U+65E6 # +3-4337 U+6B4E # +3-4338 U+6DE1 # +3-4339 U+6E5B # +3-433A U+70AD # +3-433B U+77ED # +3-433C U+7AEF # +3-433D U+7BAA # +3-433E U+7DBB # +3-433F U+803D # +3-4340 U+80C6 # +3-4341 U+86CB # +3-4342 U+8A95 # +3-4343 U+935B # +3-4344 U+56E3 # +3-4345 U+58C7 # +3-4346 U+5F3E # +3-4347 U+65AD # +3-4348 U+6696 # +3-4349 U+6A80 # +3-434A U+6BB5 # +3-434B U+7537 # +3-434C U+8AC7 # +3-434D U+5024 # +3-434E U+77E5 # +3-434F U+5730 # +3-4350 U+5F1B # +3-4351 U+6065 # +3-4352 U+667A # +3-4353 U+6C60 # +3-4354 U+75F4 # +3-4355 U+7A1A # +3-4356 U+7F6E # +3-4357 U+81F4 # +3-4358 U+8718 # +3-4359 U+9045 # +3-435A U+99B3 # +3-435B U+7BC9 # +3-435C U+755C # +3-435D U+7AF9 # +3-435E U+7B51 # +3-435F U+84C4 # +3-4360 U+9010 # +3-4361 U+79E9 # +3-4362 U+7A92 # +3-4363 U+8336 # +3-4364 U+5AE1 # +3-4365 U+7740 # +3-4366 U+4E2D # +3-4367 U+4EF2 # +3-4368 U+5B99 # +3-4369 U+5FE0 # +3-436A U+62BD # +3-436B U+663C # +3-436C U+67F1 # +3-436D U+6CE8 # +3-436E U+866B # +3-436F U+8877 # +3-4370 U+8A3B # +3-4371 U+914E # +3-4372 U+92F3 # +3-4373 U+99D0 # +3-4374 U+6A17 # +3-4375 U+7026 # +3-4376 U+732A # +3-4377 U+82E7 # +3-4378 U+8457 # +3-4379 U+8CAF # +3-437A U+4E01 # +3-437B U+5146 # +3-437C U+51CB # +3-437D U+558B # +3-437E U+5BF5 # +3-4421 U+5E16 # +3-4422 U+5E33 # +3-4423 U+5E81 # +3-4424 U+5F14 # +3-4425 U+5F35 # +3-4426 U+5F6B # +3-4427 U+5FB4 # +3-4428 U+61F2 # +3-4429 U+6311 # +3-442A U+66A2 # +3-442B U+671D # +3-442C U+6F6E # +3-442D U+7252 # +3-442E U+753A # +3-442F U+773A # +3-4430 U+8074 # +3-4431 U+8139 # +3-4432 U+8178 # +3-4433 U+8776 # +3-4434 U+8ABF # +3-4435 U+8ADC # +3-4436 U+8D85 # +3-4437 U+8DF3 # +3-4438 U+929A # +3-4439 U+9577 # +3-443A U+9802 # +3-443B U+9CE5 # +3-443C U+52C5 # +3-443D U+6357 # +3-443E U+76F4 # +3-443F U+6715 # +3-4440 U+6C88 # +3-4441 U+73CD # +3-4442 U+8CC3 # +3-4443 U+93AE # +3-4444 U+9673 # +3-4445 U+6D25 # +3-4446 U+589C # +3-4447 U+690E # +3-4448 U+69CC # +3-4449 U+8FFD # +3-444A U+939A # +3-444B U+75DB # +3-444C U+901A # +3-444D U+585A # +3-444E U+6802 # +3-444F U+63B4 # +3-4450 U+69FB # +3-4451 U+4F43 # +3-4452 U+6F2C # +3-4453 U+67D8 # +3-4454 U+8FBB # +3-4455 U+8526 # +3-4456 U+7DB4 # +3-4457 U+9354 # +3-4458 U+693F # +3-4459 U+6F70 # +3-445A U+576A # +3-445B U+58F7 # +3-445C U+5B2C # +3-445D U+7D2C # +3-445E U+722A # +3-445F U+540A # +3-4460 U+91E3 # +3-4461 U+9DB4 # +3-4462 U+4EAD # +3-4463 U+4F4E # +3-4464 U+505C # +3-4465 U+5075 # +3-4466 U+5243 # +3-4467 U+8C9E # +3-4468 U+5448 # +3-4469 U+5824 # +3-446A U+5B9A # +3-446B U+5E1D # +3-446C U+5E95 # +3-446D U+5EAD # +3-446E U+5EF7 # +3-446F U+5F1F # +3-4470 U+608C # +3-4471 U+62B5 # +3-4472 U+633A # +3-4473 U+63D0 # +3-4474 U+68AF # +3-4475 U+6C40 # +3-4476 U+7887 # +3-4477 U+798E # +3-4478 U+7A0B # +3-4479 U+7DE0 # +3-447A U+8247 # +3-447B U+8A02 # +3-447C U+8AE6 # +3-447D U+8E44 # +3-447E U+9013 # +3-4521 U+90B8 # +3-4522 U+912D # +3-4523 U+91D8 # +3-4524 U+9F0E # +3-4525 U+6CE5 # +3-4526 U+6458 # +3-4527 U+64E2 # +3-4528 U+6575 # +3-4529 U+6EF4 # +3-452A U+7684 # +3-452B U+7B1B # +3-452C U+9069 # +3-452D U+93D1 # +3-452E U+6EBA # +3-452F U+54F2 # +3-4530 U+5FB9 # +3-4531 U+64A4 # +3-4532 U+8F4D # +3-4533 U+8FED # +3-4534 U+9244 # +3-4535 U+5178 # +3-4536 U+586B # +3-4537 U+5929 # +3-4538 U+5C55 # +3-4539 U+5E97 # +3-453A U+6DFB # +3-453B U+7E8F # +3-453C U+751C # +3-453D U+8CBC # +3-453E U+8EE2 # +3-453F U+985B # +3-4540 U+70B9 # +3-4541 U+4F1D # +3-4542 U+6BBF # +3-4543 U+6FB1 # +3-4544 U+7530 # +3-4545 U+96FB # +3-4546 U+514E # +3-4547 U+5410 # +3-4548 U+5835 # +3-4549 U+5857 # +3-454A U+59AC # +3-454B U+5C60 # +3-454C U+5F92 # +3-454D U+6597 # +3-454E U+675C # +3-454F U+6E21 # +3-4550 U+767B # +3-4551 U+83DF # +3-4552 U+8CED # +3-4553 U+9014 # +3-4554 U+90FD # +3-4555 U+934D # +3-4556 U+7825 # +3-4557 U+783A # +3-4558 U+52AA # +3-4559 U+5EA6 # +3-455A U+571F # +3-455B U+5974 # +3-455C U+6012 # +3-455D U+5012 # +3-455E U+515A # +3-455F U+51AC # +3-4560 U+51CD # +3-4561 U+5200 # +3-4562 U+5510 # +3-4563 U+5854 # +3-4564 U+5858 # +3-4565 U+5957 # +3-4566 U+5B95 # +3-4567 U+5CF6 # +3-4568 U+5D8B # +3-4569 U+60BC # +3-456A U+6295 # +3-456B U+642D # +3-456C U+6771 # +3-456D U+6843 # +3-456E U+68BC # +3-456F U+68DF # +3-4570 U+76D7 # +3-4571 U+6DD8 # +3-4572 U+6E6F # +3-4573 U+6D9B # +3-4574 U+706F # +3-4575 U+71C8 # +3-4576 U+5F53 # +3-4577 U+75D8 # +3-4578 U+7977 # +3-4579 U+7B49 # +3-457A U+7B54 # +3-457B U+7B52 # +3-457C U+7CD6 # +3-457D U+7D71 # +3-457E U+5230 # +3-4621 U+8463 # +3-4622 U+8569 # +3-4623 U+85E4 # +3-4624 U+8A0E # +3-4625 U+8B04 # +3-4626 U+8C46 # +3-4627 U+8E0F # +3-4628 U+9003 # +3-4629 U+900F # +3-462A U+9419 # +3-462B U+9676 # +3-462C U+982D # +3-462D U+9A30 # +3-462E U+95D8 # +3-462F U+50CD # +3-4630 U+52D5 # +3-4631 U+540C # +3-4632 U+5802 # +3-4633 U+5C0E # +3-4634 U+61A7 # +3-4635 U+649E # +3-4636 U+6D1E # +3-4637 U+77B3 # +3-4638 U+7AE5 # +3-4639 U+80F4 # +3-463A U+8404 # +3-463B U+9053 # +3-463C U+9285 # +3-463D U+5CE0 # +3-463E U+9D07 # +3-463F U+533F # +3-4640 U+5F97 # +3-4641 U+5FB3 # +3-4642 U+6D9C # +3-4643 U+7279 # +3-4644 U+7763 # +3-4645 U+79BF # +3-4646 U+7BE4 # +3-4647 U+6BD2 # +3-4648 U+72EC # +3-4649 U+8AAD # +3-464A U+6803 # +3-464B U+6A61 # +3-464C U+51F8 # +3-464D U+7A81 # +3-464E U+6934 # +3-464F U+5C4A # +3-4650 U+9CF6 # +3-4651 U+82EB # +3-4652 U+5BC5 # +3-4653 U+9149 # +3-4654 U+701E # +3-4655 U+5678 # +3-4656 U+5C6F # +3-4657 U+60C7 # +3-4658 U+6566 # +3-4659 U+6C8C # +3-465A U+8C5A # +3-465B U+9041 # +3-465C U+9813 # +3-465D U+5451 # +3-465E U+66C7 # +3-465F U+920D # +3-4660 U+5948 # +3-4661 U+90A3 # +3-4662 U+5185 # +3-4663 U+4E4D # +3-4664 U+51EA # +3-4665 U+8599 # +3-4666 U+8B0E # +3-4667 U+7058 # +3-4668 U+637A # +3-4669 U+934B # +3-466A U+6962 # +3-466B U+99B4 # +3-466C U+7E04 # +3-466D U+7577 # +3-466E U+5357 # +3-466F U+6960 # +3-4670 U+8EDF # +3-4671 U+96E3 # +3-4672 U+6C5D # +3-4673 U+4E8C # +3-4674 U+5C3C # +3-4675 U+5F10 # +3-4676 U+8FE9 # +3-4677 U+5302 # +3-4678 U+8CD1 # +3-4679 U+8089 # +3-467A U+8679 # +3-467B U+5EFF # +3-467C U+65E5 # +3-467D U+4E73 # +3-467E U+5165 # +3-4721 U+5982 # +3-4722 U+5C3F # +3-4723 U+97EE # +3-4724 U+4EFB # +3-4725 U+598A # +3-4726 U+5FCD # +3-4727 U+8A8D # +3-4728 U+6FE1 # +3-4729 U+79B0 # +3-472A U+7962 # +3-472B U+5BE7 # +3-472C U+8471 # +3-472D U+732B # +3-472E U+71B1 # +3-472F U+5E74 # +3-4730 U+5FF5 # +3-4731 U+637B # +3-4732 U+649A # +3-4733 U+71C3 # +3-4734 U+7C98 # +3-4735 U+4E43 # +3-4736 U+5EFC # +3-4737 U+4E4B # +3-4738 U+57DC # +3-4739 U+56A2 # +3-473A U+60A9 # +3-473B U+6FC3 # +3-473C U+7D0D # +3-473D U+80FD # +3-473E U+8133 # +3-473F U+81BF # +3-4740 U+8FB2 # +3-4741 U+8997 # +3-4742 U+86A4 # +3-4743 U+5DF4 # +3-4744 U+628A # +3-4745 U+64AD # +3-4746 U+8987 # +3-4747 U+6777 # +3-4748 U+6CE2 # +3-4749 U+6D3E # +3-474A U+7436 # +3-474B U+7834 # +3-474C U+5A46 # +3-474D U+7F75 # +3-474E U+82AD # +3-474F U+99AC # +3-4750 U+4FF3 # +3-4751 U+5EC3 # +3-4752 U+62DD # +3-4753 U+6392 # +3-4754 U+6557 # +3-4755 U+676F # +3-4756 U+76C3 # +3-4757 U+724C # +3-4758 U+80CC # +3-4759 U+80BA # +3-475A U+8F29 # +3-475B U+914D # +3-475C U+500D # +3-475D U+57F9 # +3-475E U+5A92 # +3-475F U+6885 # +3-4760 U+6973 # +3-4761 U+7164 # +3-4762 U+72FD # +3-4763 U+8CB7 # +3-4764 U+58F2 # +3-4765 U+8CE0 # +3-4766 U+966A # +3-4767 U+9019 # +3-4768 U+877F # +3-4769 U+79E4 # +3-476A U+77E7 # +3-476B U+8429 # +3-476C U+4F2F # +3-476D U+5265 # +3-476E U+535A # +3-476F U+62CD # +3-4770 U+67CF # +3-4771 U+6CCA # +3-4772 U+767D # +3-4773 U+7B94 # +3-4774 U+7C95 # +3-4775 U+8236 # +3-4776 U+8584 # +3-4777 U+8FEB # +3-4778 U+66DD # +3-4779 U+6F20 # +3-477A U+7206 # +3-477B U+7E1B # +3-477C U+83AB # +3-477D U+99C1 # +3-477E U+9EA6 # +3-4821 U+51FD # +3-4822 U+7BB1 # +3-4823 U+7872 # +3-4824 U+7BB8 # +3-4825 U+8087 # +3-4826 U+7B48 # +3-4827 U+6AE8 # +3-4828 U+5E61 # +3-4829 U+808C # +3-482A U+7551 # +3-482B U+7560 # +3-482C U+516B # +3-482D U+9262 # +3-482E U+6E8C # +3-482F U+767A # +3-4830 U+9197 # +3-4831 U+9AEA # +3-4832 U+4F10 # +3-4833 U+7F70 # +3-4834 U+629C # +3-4835 U+7B4F # +3-4836 U+95A5 # +3-4837 U+9CE9 # +3-4838 U+567A # +3-4839 U+5859 # +3-483A U+86E4 # +3-483B U+96BC # +3-483C U+4F34 # +3-483D U+5224 # +3-483E U+534A # +3-483F U+53CD # +3-4840 U+53DB # +3-4841 U+5E06 # +3-4842 U+642C # +3-4843 U+6591 # +3-4844 U+677F # +3-4845 U+6C3E # +3-4846 U+6C4E # +3-4847 U+7248 # +3-4848 U+72AF # +3-4849 U+73ED # +3-484A U+7554 # +3-484B U+7E41 # +3-484C U+822C # +3-484D U+85E9 # +3-484E U+8CA9 # +3-484F U+7BC4 # +3-4850 U+91C6 # +3-4851 U+7169 # +3-4852 U+9812 # +3-4853 U+98EF # +3-4854 U+633D # +3-4855 U+6669 # +3-4856 U+756A # +3-4857 U+76E4 # +3-4858 U+78D0 # +3-4859 U+8543 # +3-485A U+86EE # +3-485B U+532A # +3-485C U+5351 # +3-485D U+5426 # +3-485E U+5983 # +3-485F U+5E87 # +3-4860 U+5F7C # +3-4861 U+60B2 # +3-4862 U+6249 # +3-4863 U+6279 # +3-4864 U+62AB # +3-4865 U+6590 # +3-4866 U+6BD4 # +3-4867 U+6CCC # +3-4868 U+75B2 # +3-4869 U+76AE # +3-486A U+7891 # +3-486B U+79D8 # +3-486C U+7DCB # +3-486D U+7F77 # +3-486E U+80A5 # +3-486F U+88AB # +3-4870 U+8AB9 # +3-4871 U+8CBB # +3-4872 U+907F # +3-4873 U+975E # +3-4874 U+98DB # +3-4875 U+6A0B # +3-4876 U+7C38 # +3-4877 U+5099 # +3-4878 U+5C3E # +3-4879 U+5FAE # +3-487A U+6787 # +3-487B U+6BD8 # +3-487C U+7435 # +3-487D U+7709 # +3-487E U+7F8E # +3-4921 U+9F3B # +3-4922 U+67CA # +3-4923 U+7A17 # +3-4924 U+5339 # +3-4925 U+758B # +3-4926 U+9AED # +3-4927 U+5F66 # +3-4928 U+819D # +3-4929 U+83F1 # +3-492A U+8098 # +3-492B U+5F3C # +3-492C U+5FC5 # +3-492D U+7562 # +3-492E U+7B46 # +3-492F U+903C # +3-4930 U+6867 # +3-4931 U+59EB # +3-4932 U+5A9B # +3-4933 U+7D10 # +3-4934 U+767E # +3-4935 U+8B2C # +3-4936 U+4FF5 # +3-4937 U+5F6A # +3-4938 U+6A19 # +3-4939 U+6C37 # +3-493A U+6F02 # +3-493B U+74E2 # +3-493C U+7968 # +3-493D U+8868 # +3-493E U+8A55 # +3-493F U+8C79 # +3-4940 U+5EDF # +3-4941 U+63CF # +3-4942 U+75C5 # +3-4943 U+79D2 # +3-4944 U+82D7 # +3-4945 U+9328 # +3-4946 U+92F2 # +3-4947 U+849C # +3-4948 U+86ED # +3-4949 U+9C2D # +3-494A U+54C1 # +3-494B U+5F6C # +3-494C U+658C # +3-494D U+6D5C # +3-494E U+7015 # +3-494F U+8CA7 # +3-4950 U+8CD3 # +3-4951 U+983B # +3-4952 U+654F # +3-4953 U+74F6 # +3-4954 U+4E0D # +3-4955 U+4ED8 # +3-4956 U+57E0 # +3-4957 U+592B # +3-4958 U+5A66 # +3-4959 U+5BCC # +3-495A U+51A8 # +3-495B U+5E03 # +3-495C U+5E9C # +3-495D U+6016 # +3-495E U+6276 # +3-495F U+6577 # +3-4960 U+65A7 # +3-4961 U+666E # +3-4962 U+6D6E # +3-4963 U+7236 # +3-4964 U+7B26 # +3-4965 U+8150 # +3-4966 U+819A # +3-4967 U+8299 # +3-4968 U+8B5C # +3-4969 U+8CA0 # +3-496A U+8CE6 # +3-496B U+8D74 # +3-496C U+961C # +3-496D U+9644 # +3-496E U+4FAE # +3-496F U+64AB # +3-4970 U+6B66 # +3-4971 U+821E # +3-4972 U+8461 # +3-4973 U+856A # +3-4974 U+90E8 # +3-4975 U+5C01 # +3-4976 U+6953 # +3-4977 U+98A8 # +3-4978 U+847A # +3-4979 U+8557 # +3-497A U+4F0F # +3-497B U+526F # +3-497C U+5FA9 # +3-497D U+5E45 # +3-497E U+670D # +3-4A21 U+798F # +3-4A22 U+8179 # +3-4A23 U+8907 # +3-4A24 U+8986 # +3-4A25 U+6DF5 # +3-4A26 U+5F17 # +3-4A27 U+6255 # +3-4A28 U+6CB8 # +3-4A29 U+4ECF # +3-4A2A U+7269 # +3-4A2B U+9B92 # +3-4A2C U+5206 # +3-4A2D U+543B # +3-4A2E U+5674 # +3-4A2F U+58B3 # +3-4A30 U+61A4 # +3-4A31 U+626E # +3-4A32 U+711A # +3-4A33 U+596E # +3-4A34 U+7C89 # +3-4A35 U+7CDE # +3-4A36 U+7D1B # +3-4A37 U+96F0 # +3-4A38 U+6587 # +3-4A39 U+805E # +3-4A3A U+4E19 # +3-4A3B U+4F75 # +3-4A3C U+5175 # +3-4A3D U+5840 # +3-4A3E U+5E63 # +3-4A3F U+5E73 # +3-4A40 U+5F0A # +3-4A41 U+67C4 # +3-4A42 U+4E26 # +3-4A43 U+853D # +3-4A44 U+9589 # +3-4A45 U+965B # +3-4A46 U+7C73 # +3-4A47 U+9801 # +3-4A48 U+50FB # +3-4A49 U+58C1 # +3-4A4A U+7656 # +3-4A4B U+78A7 # +3-4A4C U+5225 # +3-4A4D U+77A5 # +3-4A4E U+8511 # +3-4A4F U+7B86 # +3-4A50 U+504F # +3-4A51 U+5909 # +3-4A52 U+7247 # +3-4A53 U+7BC7 # +3-4A54 U+7DE8 # +3-4A55 U+8FBA # +3-4A56 U+8FD4 # +3-4A57 U+904D # +3-4A58 U+4FBF # +3-4A59 U+52C9 # +3-4A5A U+5A29 # +3-4A5B U+5F01 # +3-4A5C U+97AD # +3-4A5D U+4FDD # +3-4A5E U+8217 # +3-4A5F U+92EA # +3-4A60 U+5703 # +3-4A61 U+6355 # +3-4A62 U+6B69 # +3-4A63 U+752B # +3-4A64 U+88DC # +3-4A65 U+8F14 # +3-4A66 U+7A42 # +3-4A67 U+52DF # +3-4A68 U+5893 # +3-4A69 U+6155 # +3-4A6A U+620A # +3-4A6B U+66AE # +3-4A6C U+6BCD # +3-4A6D U+7C3F # +3-4A6E U+83E9 # +3-4A6F U+5023 # +3-4A70 U+4FF8 # +3-4A71 U+5305 # +3-4A72 U+5446 # +3-4A73 U+5831 # +3-4A74 U+5949 # +3-4A75 U+5B9D # +3-4A76 U+5CF0 # +3-4A77 U+5CEF # +3-4A78 U+5D29 # +3-4A79 U+5E96 # +3-4A7A U+62B1 # +3-4A7B U+6367 # +3-4A7C U+653E # +3-4A7D U+65B9 # +3-4A7E U+670B # +3-4B21 U+6CD5 # +3-4B22 U+6CE1 # +3-4B23 U+70F9 # +3-4B24 U+7832 # +3-4B25 U+7E2B # +3-4B26 U+80DE # +3-4B27 U+82B3 # +3-4B28 U+840C # +3-4B29 U+84EC # +3-4B2A U+8702 # +3-4B2B U+8912 # +3-4B2C U+8A2A # +3-4B2D U+8C4A # +3-4B2E U+90A6 # +3-4B2F U+92D2 # +3-4B30 U+98FD # +3-4B31 U+9CF3 # +3-4B32 U+9D6C # +3-4B33 U+4E4F # +3-4B34 U+4EA1 # +3-4B35 U+508D # +3-4B36 U+5256 # +3-4B37 U+574A # +3-4B38 U+59A8 # +3-4B39 U+5E3D # +3-4B3A U+5FD8 # +3-4B3B U+5FD9 # +3-4B3C U+623F # +3-4B3D U+66B4 # +3-4B3E U+671B # +3-4B3F U+67D0 # +3-4B40 U+68D2 # +3-4B41 U+5192 # +3-4B42 U+7D21 # +3-4B43 U+80AA # +3-4B44 U+81A8 # +3-4B45 U+8B00 # +3-4B46 U+8C8C # +3-4B47 U+8CBF # +3-4B48 U+927E # +3-4B49 U+9632 # +3-4B4A U+5420 # +3-4B4B U+982C # +3-4B4C U+5317 # +3-4B4D U+50D5 # +3-4B4E U+535C # +3-4B4F U+58A8 # +3-4B50 U+64B2 # +3-4B51 U+6734 # +3-4B52 U+7267 # +3-4B53 U+7766 # +3-4B54 U+7A46 # +3-4B55 U+91E6 # +3-4B56 U+52C3 # +3-4B57 U+6CA1 # +3-4B58 U+6B86 # +3-4B59 U+5800 # +3-4B5A U+5E4C # +3-4B5B U+5954 # +3-4B5C U+672C # +3-4B5D U+7FFB # +3-4B5E U+51E1 # +3-4B5F U+76C6 # +3-4B60 U+6469 # +3-4B61 U+78E8 # +3-4B62 U+9B54 # +3-4B63 U+9EBB # +3-4B64 U+57CB # +3-4B65 U+59B9 # +3-4B66 U+6627 # +3-4B67 U+679A # +3-4B68 U+6BCE # +3-4B69 U+54E9 # +3-4B6A U+69D9 # +3-4B6B U+5E55 # +3-4B6C U+819C # +3-4B6D U+6795 # +3-4B6E U+9BAA # +3-4B6F U+67FE # +3-4B70 U+9C52 # +3-4B71 U+685D # +3-4B72 U+4EA6 # +3-4B73 U+4FE3 # +3-4B74 U+53C8 # +3-4B75 U+62B9 # +3-4B76 U+672B # +3-4B77 U+6CAB # +3-4B78 U+8FC4 # +3-4B79 U+4FAD # +3-4B7A U+7E6D # +3-4B7B U+9EBF # +3-4B7C U+4E07 # +3-4B7D U+6162 # +3-4B7E U+6E80 # +3-4C21 U+6F2B # +3-4C22 U+8513 # +3-4C23 U+5473 # +3-4C24 U+672A # +3-4C25 U+9B45 # +3-4C26 U+5DF3 # +3-4C27 U+7B95 # +3-4C28 U+5CAC # +3-4C29 U+5BC6 # +3-4C2A U+871C # +3-4C2B U+6E4A # +3-4C2C U+84D1 # +3-4C2D U+7A14 # +3-4C2E U+8108 # +3-4C2F U+5999 # +3-4C30 U+7C8D # +3-4C31 U+6C11 # +3-4C32 U+7720 # +3-4C33 U+52D9 # +3-4C34 U+5922 # +3-4C35 U+7121 # +3-4C36 U+725F # +3-4C37 U+77DB # +3-4C38 U+9727 # +3-4C39 U+9D61 # +3-4C3A U+690B # +3-4C3B U+5A7F # +3-4C3C U+5A18 # +3-4C3D U+51A5 # +3-4C3E U+540D # +3-4C3F U+547D # +3-4C40 U+660E # +3-4C41 U+76DF # +3-4C42 U+8FF7 # +3-4C43 U+9298 # +3-4C44 U+9CF4 # +3-4C45 U+59EA # +3-4C46 U+725D # +3-4C47 U+6EC5 # +3-4C48 U+514D # +3-4C49 U+68C9 # +3-4C4A U+7DBF # +3-4C4B U+7DEC # +3-4C4C U+9762 # +3-4C4D U+9EBA # +3-4C4E U+6478 # +3-4C4F U+6A21 # +3-4C50 U+8302 # +3-4C51 U+5984 # +3-4C52 U+5B5F # +3-4C53 U+6BDB # +3-4C54 U+731B # +3-4C55 U+76F2 # +3-4C56 U+7DB2 # +3-4C57 U+8017 # +3-4C58 U+8499 # +3-4C59 U+5132 # +3-4C5A U+6728 # +3-4C5B U+9ED9 # +3-4C5C U+76EE # +3-4C5D U+6762 # +3-4C5E U+52FF # +3-4C5F U+9905 # +3-4C60 U+5C24 # +3-4C61 U+623B # +3-4C62 U+7C7E # +3-4C63 U+8CB0 # +3-4C64 U+554F # +3-4C65 U+60B6 # +3-4C66 U+7D0B # +3-4C67 U+9580 # +3-4C68 U+5301 # +3-4C69 U+4E5F # +3-4C6A U+51B6 # +3-4C6B U+591C # +3-4C6C U+723A # +3-4C6D U+8036 # +3-4C6E U+91CE # +3-4C6F U+5F25 # +3-4C70 U+77E2 # +3-4C71 U+5384 # +3-4C72 U+5F79 # +3-4C73 U+7D04 # +3-4C74 U+85AC # +3-4C75 U+8A33 # +3-4C76 U+8E8D # +3-4C77 U+9756 # +3-4C78 U+67F3 # +3-4C79 U+85AE # +3-4C7A U+9453 # +3-4C7B U+6109 # +3-4C7C U+6108 # +3-4C7D U+6CB9 # +3-4C7E U+7652 # +3-4D21 U+8AED # +3-4D22 U+8F38 # +3-4D23 U+552F # +3-4D24 U+4F51 # +3-4D25 U+512A # +3-4D26 U+52C7 # +3-4D27 U+53CB # +3-4D28 U+5BA5 # +3-4D29 U+5E7D # +3-4D2A U+60A0 # +3-4D2B U+6182 # +3-4D2C U+63D6 # +3-4D2D U+6709 # +3-4D2E U+67DA # +3-4D2F U+6E67 # +3-4D30 U+6D8C # +3-4D31 U+7336 # +3-4D32 U+7337 # +3-4D33 U+7531 # +3-4D34 U+7950 # +3-4D35 U+88D5 # +3-4D36 U+8A98 # +3-4D37 U+904A # +3-4D38 U+9091 # +3-4D39 U+90F5 # +3-4D3A U+96C4 # +3-4D3B U+878D # +3-4D3C U+5915 # +3-4D3D U+4E88 # +3-4D3E U+4F59 # +3-4D3F U+4E0E # +3-4D40 U+8A89 # +3-4D41 U+8F3F # +3-4D42 U+9810 # +3-4D43 U+50AD # +3-4D44 U+5E7C # +3-4D45 U+5996 # +3-4D46 U+5BB9 # +3-4D47 U+5EB8 # +3-4D48 U+63DA # +3-4D49 U+63FA # +3-4D4A U+64C1 # +3-4D4B U+66DC # +3-4D4C U+694A # +3-4D4D U+69D8 # +3-4D4E U+6D0B # +3-4D4F U+6EB6 # +3-4D50 U+7194 # +3-4D51 U+7528 # +3-4D52 U+7AAF # +3-4D53 U+7F8A # +3-4D54 U+8000 # +3-4D55 U+8449 # +3-4D56 U+84C9 # +3-4D57 U+8981 # +3-4D58 U+8B21 # +3-4D59 U+8E0A # +3-4D5A U+9065 # +3-4D5B U+967D # +3-4D5C U+990A # +3-4D5D U+617E # +3-4D5E U+6291 # +3-4D5F U+6B32 # +3-4D60 U+6C83 # +3-4D61 U+6D74 # +3-4D62 U+7FCC # +3-4D63 U+7FFC # +3-4D64 U+6DC0 # +3-4D65 U+7F85 # +3-4D66 U+87BA # +3-4D67 U+88F8 # +3-4D68 U+6765 # +3-4D69 U+83B1 # +3-4D6A U+983C # +3-4D6B U+96F7 # +3-4D6C U+6D1B # +3-4D6D U+7D61 # +3-4D6E U+843D # +3-4D6F U+916A # +3-4D70 U+4E71 # +3-4D71 U+5375 # +3-4D72 U+5D50 # +3-4D73 U+6B04 # +3-4D74 U+6FEB # +3-4D75 U+85CD # +3-4D76 U+862D # +3-4D77 U+89A7 # +3-4D78 U+5229 # +3-4D79 U+540F # +3-4D7A U+5C65 # +3-4D7B U+674E # +3-4D7C U+68A8 # +3-4D7D U+7406 # +3-4D7E U+7483 # +3-4E21 U+75E2 # +3-4E22 U+88CF # +3-4E23 U+88E1 # +3-4E24 U+91CC # +3-4E25 U+96E2 # +3-4E26 U+9678 # +3-4E27 U+5F8B # +3-4E28 U+7387 # +3-4E29 U+7ACB # +3-4E2A U+844E # +3-4E2B U+63A0 # +3-4E2C U+7565 # +3-4E2D U+5289 # +3-4E2E U+6D41 # +3-4E2F U+6E9C # +3-4E30 U+7409 # +3-4E31 U+7559 # +3-4E32 U+786B # +3-4E33 U+7C92 # +3-4E34 U+9686 # +3-4E35 U+7ADC # +3-4E36 U+9F8D # +3-4E37 U+4FB6 # +3-4E38 U+616E # +3-4E39 U+65C5 # +3-4E3A U+865C # +3-4E3B U+4E86 # +3-4E3C U+4EAE # +3-4E3D U+50DA # +3-4E3E U+4E21 # +3-4E3F U+51CC # +3-4E40 U+5BEE # +3-4E41 U+6599 # +3-4E42 U+6881 # +3-4E43 U+6DBC # +3-4E44 U+731F # +3-4E45 U+7642 # +3-4E46 U+77AD # +3-4E47 U+7A1C # +3-4E48 U+7CE7 # +3-4E49 U+826F # +3-4E4A U+8AD2 # +3-4E4B U+907C # +3-4E4C U+91CF # +3-4E4D U+9675 # +3-4E4E U+9818 # +3-4E4F U+529B # +3-4E50 U+7DD1 # +3-4E51 U+502B # +3-4E52 U+5398 # +3-4E53 U+6797 # +3-4E54 U+6DCB # +3-4E55 U+71D0 # +3-4E56 U+7433 # +3-4E57 U+81E8 # +3-4E58 U+8F2A # +3-4E59 U+96A3 # +3-4E5A U+9C57 # +3-4E5B U+9E9F # +3-4E5C U+7460 # +3-4E5D U+5841 # +3-4E5E U+6D99 # +3-4E5F U+7D2F # +3-4E60 U+985E # +3-4E61 U+4EE4 # +3-4E62 U+4F36 # +3-4E63 U+4F8B # +3-4E64 U+51B7 # +3-4E65 U+52B1 # +3-4E66 U+5DBA # +3-4E67 U+601C # +3-4E68 U+73B2 # +3-4E69 U+793C # +3-4E6A U+82D3 # +3-4E6B U+9234 # +3-4E6C U+96B7 # +3-4E6D U+96F6 # +3-4E6E U+970A # +3-4E6F U+9E97 # +3-4E70 U+9F62 # +3-4E71 U+66A6 # +3-4E72 U+6B74 # +3-4E73 U+5217 # +3-4E74 U+52A3 # +3-4E75 U+70C8 # +3-4E76 U+88C2 # +3-4E77 U+5EC9 # +3-4E78 U+604B # +3-4E79 U+6190 # +3-4E7A U+6F23 # +3-4E7B U+7149 # +3-4E7C U+7C3E # +3-4E7D U+7DF4 # +3-4E7E U+806F # +3-4F21 U+84EE # +3-4F22 U+9023 # +3-4F23 U+932C # +3-4F24 U+5442 # +3-4F25 U+9B6F # +3-4F26 U+6AD3 # +3-4F27 U+7089 # +3-4F28 U+8CC2 # +3-4F29 U+8DEF # +3-4F2A U+9732 # +3-4F2B U+52B4 # +3-4F2C U+5A41 # +3-4F2D U+5ECA # +3-4F2E U+5F04 # +3-4F2F U+6717 # +3-4F30 U+697C # +3-4F31 U+6994 # +3-4F32 U+6D6A # +3-4F33 U+6F0F # +3-4F34 U+7262 # +3-4F35 U+72FC # +3-4F36 U+7BED # +3-4F37 U+8001 # +3-4F38 U+807E # +3-4F39 U+874B # +3-4F3A U+90CE # +3-4F3B U+516D # +3-4F3C U+9E93 # +3-4F3D U+7984 # +3-4F3E U+808B # +3-4F3F U+9332 # +3-4F40 U+8AD6 # +3-4F41 U+502D # +3-4F42 U+548C # +3-4F43 U+8A71 # +3-4F44 U+6B6A # +3-4F45 U+8CC4 # +3-4F46 U+8107 # +3-4F47 U+60D1 # +3-4F48 U+67A0 # +3-4F49 U+9DF2 # +3-4F4A U+4E99 # +3-4F4B U+4E98 # +3-4F4C U+9C10 # +3-4F4D U+8A6B # +3-4F4E U+85C1 # +3-4F4F U+8568 # +3-4F50 U+6900 # +3-4F51 U+6E7E # +3-4F52 U+7897 # +3-4F53 U+8155 # +3-4F54 U+20B9F # [2004] [Unicode3.1] +3-4F55 U+5B41 # [2000] +3-4F56 U+5B56 # [2000] +3-4F57 U+5B7D # [2000] +3-4F58 U+5B93 # [2000] +3-4F59 U+5BD8 # [2000] +3-4F5A U+5BEC # [2000] +3-4F5B U+5C12 # [2000] +3-4F5C U+5C1E # [2000] +3-4F5D U+5C23 # [2000] +3-4F5E U+5C2B # [2000] +3-4F5F U+378D # [2000] +3-4F60 U+5C62 # [2000] +3-4F61 U+FA3B # CJK COMPATIBILITY IDEOGRAPH-FA3B [2000] [Unicode3.2] +3-4F62 U+FA3C # CJK COMPATIBILITY IDEOGRAPH-FA3C [2000] [Unicode3.2] +3-4F63 U+216B4 # [2000] [Unicode3.1] +3-4F64 U+5C7A # [2000] +3-4F65 U+5C8F # [2000] +3-4F66 U+5C9F # [2000] +3-4F67 U+5CA3 # [2000] +3-4F68 U+5CAA # [2000] +3-4F69 U+5CBA # [2000] +3-4F6A U+5CCB # [2000] +3-4F6B U+5CD0 # [2000] +3-4F6C U+5CD2 # [2000] +3-4F6D U+5CF4 # [2000] +3-4F6E U+21E34 # [2000] [Unicode3.1] +3-4F6F U+37E2 # [2000] +3-4F70 U+5D0D # [2000] +3-4F71 U+5D27 # [2000] +3-4F72 U+FA11 # CJK COMPATIBILITY IDEOGRAPH-FA11 [2000] +3-4F73 U+5D46 # [2000] +3-4F74 U+5D47 # [2000] +3-4F75 U+5D53 # [2000] +3-4F76 U+5D4A # [2000] +3-4F77 U+5D6D # [2000] +3-4F78 U+5D81 # [2000] +3-4F79 U+5DA0 # [2000] +3-4F7A U+5DA4 # [2000] +3-4F7B U+5DA7 # [2000] +3-4F7C U+5DB8 # [2000] +3-4F7D U+5DCB # [2000] +3-4F7E U+541E # [2004] +3-5021 U+5F0C # +3-5022 U+4E10 # +3-5023 U+4E15 # +3-5024 U+4E2A # +3-5025 U+4E31 # +3-5026 U+4E36 # +3-5027 U+4E3C # +3-5028 U+4E3F # +3-5029 U+4E42 # +3-502A U+4E56 # +3-502B U+4E58 # +3-502C U+4E82 # +3-502D U+4E85 # +3-502E U+8C6B # +3-502F U+4E8A # +3-5030 U+8212 # +3-5031 U+5F0D # +3-5032 U+4E8E # +3-5033 U+4E9E # +3-5034 U+4E9F # +3-5035 U+4EA0 # +3-5036 U+4EA2 # +3-5037 U+4EB0 # +3-5038 U+4EB3 # +3-5039 U+4EB6 # +3-503A U+4ECE # +3-503B U+4ECD # +3-503C U+4EC4 # +3-503D U+4EC6 # +3-503E U+4EC2 # +3-503F U+4ED7 # +3-5040 U+4EDE # +3-5041 U+4EED # +3-5042 U+4EDF # +3-5043 U+4EF7 # +3-5044 U+4F09 # +3-5045 U+4F5A # +3-5046 U+4F30 # +3-5047 U+4F5B # +3-5048 U+4F5D # +3-5049 U+4F57 # +3-504A U+4F47 # +3-504B U+4F76 # +3-504C U+4F88 # +3-504D U+4F8F # +3-504E U+4F98 # +3-504F U+4F7B # +3-5050 U+4F69 # +3-5051 U+4F70 # +3-5052 U+4F91 # +3-5053 U+4F6F # +3-5054 U+4F86 # +3-5055 U+4F96 # +3-5056 U+5118 # +3-5057 U+4FD4 # +3-5058 U+4FDF # +3-5059 U+4FCE # +3-505A U+4FD8 # +3-505B U+4FDB # +3-505C U+4FD1 # +3-505D U+4FDA # +3-505E U+4FD0 # +3-505F U+4FE4 # +3-5060 U+4FE5 # +3-5061 U+501A # +3-5062 U+5028 # +3-5063 U+5014 # +3-5064 U+502A # +3-5065 U+5025 # +3-5066 U+5005 # +3-5067 U+4F1C # +3-5068 U+4FF6 # +3-5069 U+5021 # +3-506A U+5029 # +3-506B U+502C # +3-506C U+4FFE # +3-506D U+4FEF # +3-506E U+5011 # +3-506F U+5006 # +3-5070 U+5043 # +3-5071 U+5047 # +3-5072 U+6703 # +3-5073 U+5055 # +3-5074 U+5050 # +3-5075 U+5048 # +3-5076 U+505A # +3-5077 U+5056 # +3-5078 U+506C # +3-5079 U+5078 # +3-507A U+5080 # +3-507B U+509A # +3-507C U+5085 # +3-507D U+50B4 # +3-507E U+50B2 # +3-5121 U+50C9 # +3-5122 U+50CA # +3-5123 U+50B3 # +3-5124 U+50C2 # +3-5125 U+50D6 # +3-5126 U+50DE # +3-5127 U+50E5 # +3-5128 U+50ED # +3-5129 U+50E3 # +3-512A U+50EE # +3-512B U+50F9 # +3-512C U+50F5 # +3-512D U+5109 # +3-512E U+5101 # +3-512F U+5102 # +3-5130 U+5116 # +3-5131 U+5115 # +3-5132 U+5114 # +3-5133 U+511A # +3-5134 U+5121 # +3-5135 U+513A # +3-5136 U+5137 # +3-5137 U+513C # +3-5138 U+513B # +3-5139 U+513F # +3-513A U+5140 # +3-513B U+5152 # +3-513C U+514C # +3-513D U+5154 # +3-513E U+5162 # +3-513F U+7AF8 # +3-5140 U+5169 # +3-5141 U+516A # +3-5142 U+516E # +3-5143 U+5180 # +3-5144 U+5182 # +3-5145 U+56D8 # +3-5146 U+518C # +3-5147 U+5189 # +3-5148 U+518F # +3-5149 U+5191 # +3-514A U+5193 # +3-514B U+5195 # +3-514C U+5196 # +3-514D U+51A4 # +3-514E U+51A6 # +3-514F U+51A2 # +3-5150 U+51A9 # +3-5151 U+51AA # +3-5152 U+51AB # +3-5153 U+51B3 # +3-5154 U+51B1 # +3-5155 U+51B2 # +3-5156 U+51B0 # +3-5157 U+51B5 # +3-5158 U+51BD # +3-5159 U+51C5 # +3-515A U+51C9 # +3-515B U+51DB # +3-515C U+51E0 # +3-515D U+8655 # +3-515E U+51E9 # +3-515F U+51ED # +3-5160 U+51F0 # +3-5161 U+51F5 # +3-5162 U+51FE # +3-5163 U+5204 # +3-5164 U+520B # +3-5165 U+5214 # +3-5166 U+520E # +3-5167 U+5227 # +3-5168 U+522A # +3-5169 U+522E # +3-516A U+5233 # +3-516B U+5239 # +3-516C U+524F # +3-516D U+5244 # +3-516E U+524B # +3-516F U+524C # +3-5170 U+525E # +3-5171 U+5254 # +3-5172 U+526A # +3-5173 U+5274 # +3-5174 U+5269 # +3-5175 U+5273 # +3-5176 U+527F # +3-5177 U+527D # +3-5178 U+528D # +3-5179 U+5294 # +3-517A U+5292 # +3-517B U+5271 # +3-517C U+5288 # +3-517D U+5291 # +3-517E U+8FA8 # +3-5221 U+8FA7 # +3-5222 U+52AC # +3-5223 U+52AD # +3-5224 U+52BC # +3-5225 U+52B5 # +3-5226 U+52C1 # +3-5227 U+52CD # +3-5228 U+52D7 # +3-5229 U+52DE # +3-522A U+52E3 # +3-522B U+52E6 # +3-522C U+98ED # +3-522D U+52E0 # +3-522E U+52F3 # +3-522F U+52F5 # +3-5230 U+52F8 # +3-5231 U+52F9 # +3-5232 U+5306 # +3-5233 U+5308 # +3-5234 U+7538 # +3-5235 U+530D # +3-5236 U+5310 # +3-5237 U+530F # +3-5238 U+5315 # +3-5239 U+531A # +3-523A U+5323 # +3-523B U+532F # +3-523C U+5331 # +3-523D U+5333 # +3-523E U+5338 # +3-523F U+5340 # +3-5240 U+5346 # +3-5241 U+5345 # +3-5242 U+4E17 # +3-5243 U+5349 # +3-5244 U+534D # +3-5245 U+51D6 # +3-5246 U+535E # +3-5247 U+5369 # +3-5248 U+536E # +3-5249 U+5918 # +3-524A U+537B # +3-524B U+5377 # +3-524C U+5382 # +3-524D U+5396 # +3-524E U+53A0 # +3-524F U+53A6 # +3-5250 U+53A5 # +3-5251 U+53AE # +3-5252 U+53B0 # +3-5253 U+53B6 # +3-5254 U+53C3 # +3-5255 U+7C12 # +3-5256 U+96D9 # +3-5257 U+53DF # +3-5258 U+66FC # +3-5259 U+71EE # +3-525A U+53EE # +3-525B U+53E8 # +3-525C U+53ED # +3-525D U+53FA # +3-525E U+5401 # +3-525F U+543D # +3-5260 U+5440 # +3-5261 U+542C # +3-5262 U+542D # +3-5263 U+543C # +3-5264 U+542E # +3-5265 U+5436 # +3-5266 U+5429 # +3-5267 U+541D # +3-5268 U+544E # +3-5269 U+548F # +3-526A U+5475 # +3-526B U+548E # +3-526C U+545F # +3-526D U+5471 # +3-526E U+5477 # +3-526F U+5470 # +3-5270 U+5492 # +3-5271 U+547B # +3-5272 U+5480 # +3-5273 U+5476 # +3-5274 U+5484 # +3-5275 U+5490 # +3-5276 U+5486 # +3-5277 U+54C7 # +3-5278 U+54A2 # +3-5279 U+54B8 # +3-527A U+54A5 # +3-527B U+54AC # +3-527C U+54C4 # +3-527D U+54C8 # +3-527E U+54A8 # +3-5321 U+54AB # +3-5322 U+54C2 # +3-5323 U+54A4 # +3-5324 U+54BE # +3-5325 U+54BC # +3-5326 U+54D8 # +3-5327 U+54E5 # +3-5328 U+54E6 # +3-5329 U+550F # +3-532A U+5514 # +3-532B U+54FD # +3-532C U+54EE # +3-532D U+54ED # +3-532E U+54FA # +3-532F U+54E2 # +3-5330 U+5539 # +3-5331 U+5540 # +3-5332 U+5563 # +3-5333 U+554C # +3-5334 U+552E # +3-5335 U+555C # +3-5336 U+5545 # +3-5337 U+5556 # +3-5338 U+5557 # +3-5339 U+5538 # +3-533A U+5533 # +3-533B U+555D # +3-533C U+5599 # +3-533D U+5580 # +3-533E U+54AF # +3-533F U+558A # +3-5340 U+559F # +3-5341 U+557B # +3-5342 U+557E # +3-5343 U+5598 # +3-5344 U+559E # +3-5345 U+55AE # +3-5346 U+557C # +3-5347 U+5583 # +3-5348 U+55A9 # +3-5349 U+5587 # +3-534A U+55A8 # +3-534B U+55DA # +3-534C U+55C5 # +3-534D U+55DF # +3-534E U+55C4 # +3-534F U+55DC # +3-5350 U+55E4 # +3-5351 U+55D4 # +3-5352 U+5614 # +3-5353 U+55F7 # +3-5354 U+5616 # +3-5355 U+55FE # +3-5356 U+55FD # +3-5357 U+561B # +3-5358 U+55F9 # +3-5359 U+564E # +3-535A U+5650 # +3-535B U+71DF # +3-535C U+5634 # +3-535D U+5636 # +3-535E U+5632 # +3-535F U+5638 # +3-5360 U+566B # +3-5361 U+5664 # +3-5362 U+562F # +3-5363 U+566C # +3-5364 U+566A # +3-5365 U+5686 # +3-5366 U+5680 # +3-5367 U+568A # +3-5368 U+56A0 # +3-5369 U+5694 # +3-536A U+568F # +3-536B U+56A5 # +3-536C U+56AE # +3-536D U+56B6 # +3-536E U+56B4 # +3-536F U+56C2 # +3-5370 U+56BC # +3-5371 U+56C1 # +3-5372 U+56C3 # +3-5373 U+56C0 # +3-5374 U+56C8 # +3-5375 U+56CE # +3-5376 U+56D1 # +3-5377 U+56D3 # +3-5378 U+56D7 # +3-5379 U+56EE # +3-537A U+56F9 # +3-537B U+5700 # +3-537C U+56FF # +3-537D U+5704 # +3-537E U+5709 # +3-5421 U+5708 # +3-5422 U+570B # +3-5423 U+570D # +3-5424 U+5713 # +3-5425 U+5718 # +3-5426 U+5716 # +3-5427 U+55C7 # +3-5428 U+571C # +3-5429 U+5726 # +3-542A U+5737 # +3-542B U+5738 # +3-542C U+574E # +3-542D U+573B # +3-542E U+5740 # +3-542F U+574F # +3-5430 U+5769 # +3-5431 U+57C0 # +3-5432 U+5788 # +3-5433 U+5761 # +3-5434 U+577F # +3-5435 U+5789 # +3-5436 U+5793 # +3-5437 U+57A0 # +3-5438 U+57B3 # +3-5439 U+57A4 # +3-543A U+57AA # +3-543B U+57B0 # +3-543C U+57C3 # +3-543D U+57C6 # +3-543E U+57D4 # +3-543F U+57D2 # +3-5440 U+57D3 # +3-5441 U+580A # +3-5442 U+57D6 # +3-5443 U+57E3 # +3-5444 U+580B # +3-5445 U+5819 # +3-5446 U+581D # +3-5447 U+5872 # +3-5448 U+5821 # +3-5449 U+5862 # +3-544A U+584B # +3-544B U+5870 # +3-544C U+6BC0 # +3-544D U+5852 # +3-544E U+583D # +3-544F U+5879 # +3-5450 U+5885 # +3-5451 U+58B9 # +3-5452 U+589F # +3-5453 U+58AB # +3-5454 U+58BA # +3-5455 U+58DE # +3-5456 U+58BB # +3-5457 U+58B8 # +3-5458 U+58AE # +3-5459 U+58C5 # +3-545A U+58D3 # +3-545B U+58D1 # +3-545C U+58D7 # +3-545D U+58D9 # +3-545E U+58D8 # +3-545F U+58E5 # +3-5460 U+58DC # +3-5461 U+58E4 # +3-5462 U+58DF # +3-5463 U+58EF # +3-5464 U+58FA # +3-5465 U+58F9 # +3-5466 U+58FB # +3-5467 U+58FC # +3-5468 U+58FD # +3-5469 U+5902 # +3-546A U+590A # +3-546B U+5910 # +3-546C U+591B # +3-546D U+68A6 # +3-546E U+5925 # +3-546F U+592C # +3-5470 U+592D # +3-5471 U+5932 # +3-5472 U+5938 # +3-5473 U+593E # +3-5474 U+7AD2 # +3-5475 U+5955 # +3-5476 U+5950 # +3-5477 U+594E # +3-5478 U+595A # +3-5479 U+5958 # +3-547A U+5962 # +3-547B U+5960 # +3-547C U+5967 # +3-547D U+596C # +3-547E U+5969 # +3-5521 U+5978 # +3-5522 U+5981 # +3-5523 U+599D # +3-5524 U+4F5E # +3-5525 U+4FAB # +3-5526 U+59A3 # +3-5527 U+59B2 # +3-5528 U+59C6 # +3-5529 U+59E8 # +3-552A U+59DC # +3-552B U+598D # +3-552C U+59D9 # +3-552D U+59DA # +3-552E U+5A25 # +3-552F U+5A1F # +3-5530 U+5A11 # +3-5531 U+5A1C # +3-5532 U+5A09 # +3-5533 U+5A1A # +3-5534 U+5A40 # +3-5535 U+5A6C # +3-5536 U+5A49 # +3-5537 U+5A35 # +3-5538 U+5A36 # +3-5539 U+5A62 # +3-553A U+5A6A # +3-553B U+5A9A # +3-553C U+5ABC # +3-553D U+5ABE # +3-553E U+5ACB # +3-553F U+5AC2 # +3-5540 U+5ABD # +3-5541 U+5AE3 # +3-5542 U+5AD7 # +3-5543 U+5AE6 # +3-5544 U+5AE9 # +3-5545 U+5AD6 # +3-5546 U+5AFA # +3-5547 U+5AFB # +3-5548 U+5B0C # +3-5549 U+5B0B # +3-554A U+5B16 # +3-554B U+5B32 # +3-554C U+5AD0 # +3-554D U+5B2A # +3-554E U+5B36 # +3-554F U+5B3E # +3-5550 U+5B43 # +3-5551 U+5B45 # +3-5552 U+5B40 # +3-5553 U+5B51 # +3-5554 U+5B55 # +3-5555 U+5B5A # +3-5556 U+5B5B # +3-5557 U+5B65 # +3-5558 U+5B69 # +3-5559 U+5B70 # +3-555A U+5B73 # +3-555B U+5B75 # +3-555C U+5B78 # +3-555D U+6588 # +3-555E U+5B7A # +3-555F U+5B80 # +3-5560 U+5B83 # +3-5561 U+5BA6 # +3-5562 U+5BB8 # +3-5563 U+5BC3 # +3-5564 U+5BC7 # +3-5565 U+5BC9 # +3-5566 U+5BD4 # +3-5567 U+5BD0 # +3-5568 U+5BE4 # +3-5569 U+5BE6 # +3-556A U+5BE2 # +3-556B U+5BDE # +3-556C U+5BE5 # +3-556D U+5BEB # +3-556E U+5BF0 # +3-556F U+5BF6 # +3-5570 U+5BF3 # +3-5571 U+5C05 # +3-5572 U+5C07 # +3-5573 U+5C08 # +3-5574 U+5C0D # +3-5575 U+5C13 # +3-5576 U+5C20 # +3-5577 U+5C22 # +3-5578 U+5C28 # +3-5579 U+5C38 # +3-557A U+5C39 # +3-557B U+5C41 # +3-557C U+5C46 # +3-557D U+5C4E # +3-557E U+5C53 # +3-5621 U+5C50 # +3-5622 U+5C4F # +3-5623 U+5B71 # +3-5624 U+5C6C # +3-5625 U+5C6E # +3-5626 U+4E62 # +3-5627 U+5C76 # +3-5628 U+5C79 # +3-5629 U+5C8C # +3-562A U+5C91 # +3-562B U+5C94 # +3-562C U+599B # +3-562D U+5CAB # +3-562E U+5CBB # +3-562F U+5CB6 # +3-5630 U+5CBC # +3-5631 U+5CB7 # +3-5632 U+5CC5 # +3-5633 U+5CBE # +3-5634 U+5CC7 # +3-5635 U+5CD9 # +3-5636 U+5CE9 # +3-5637 U+5CFD # +3-5638 U+5CFA # +3-5639 U+5CED # +3-563A U+5D8C # +3-563B U+5CEA # +3-563C U+5D0B # +3-563D U+5D15 # +3-563E U+5D17 # +3-563F U+5D5C # +3-5640 U+5D1F # +3-5641 U+5D1B # +3-5642 U+5D11 # +3-5643 U+5D14 # +3-5644 U+5D22 # +3-5645 U+5D1A # +3-5646 U+5D19 # +3-5647 U+5D18 # +3-5648 U+5D4C # +3-5649 U+5D52 # +3-564A U+5D4E # +3-564B U+5D4B # +3-564C U+5D6C # +3-564D U+5D73 # +3-564E U+5D76 # +3-564F U+5D87 # +3-5650 U+5D84 # +3-5651 U+5D82 # +3-5652 U+5DA2 # +3-5653 U+5D9D # +3-5654 U+5DAC # +3-5655 U+5DAE # +3-5656 U+5DBD # +3-5657 U+5D90 # +3-5658 U+5DB7 # +3-5659 U+5DBC # +3-565A U+5DC9 # +3-565B U+5DCD # +3-565C U+5DD3 # +3-565D U+5DD2 # +3-565E U+5DD6 # +3-565F U+5DDB # +3-5660 U+5DEB # +3-5661 U+5DF2 # +3-5662 U+5DF5 # +3-5663 U+5E0B # +3-5664 U+5E1A # +3-5665 U+5E19 # +3-5666 U+5E11 # +3-5667 U+5E1B # +3-5668 U+5E36 # +3-5669 U+5E37 # +3-566A U+5E44 # +3-566B U+5E43 # +3-566C U+5E40 # +3-566D U+5E4E # +3-566E U+5E57 # +3-566F U+5E54 # +3-5670 U+5E5F # +3-5671 U+5E62 # +3-5672 U+5E64 # +3-5673 U+5E47 # +3-5674 U+5E75 # +3-5675 U+5E76 # +3-5676 U+5E7A # +3-5677 U+9EBC # +3-5678 U+5E7F # +3-5679 U+5EA0 # +3-567A U+5EC1 # +3-567B U+5EC2 # +3-567C U+5EC8 # +3-567D U+5ED0 # +3-567E U+5ECF # +3-5721 U+5ED6 # +3-5722 U+5EE3 # +3-5723 U+5EDD # +3-5724 U+5EDA # +3-5725 U+5EDB # +3-5726 U+5EE2 # +3-5727 U+5EE1 # +3-5728 U+5EE8 # +3-5729 U+5EE9 # +3-572A U+5EEC # +3-572B U+5EF1 # +3-572C U+5EF3 # +3-572D U+5EF0 # +3-572E U+5EF4 # +3-572F U+5EF8 # +3-5730 U+5EFE # +3-5731 U+5F03 # +3-5732 U+5F09 # +3-5733 U+5F5D # +3-5734 U+5F5C # +3-5735 U+5F0B # +3-5736 U+5F11 # +3-5737 U+5F16 # +3-5738 U+5F29 # +3-5739 U+5F2D # +3-573A U+5F38 # +3-573B U+5F41 # +3-573C U+5F48 # +3-573D U+5F4C # +3-573E U+5F4E # +3-573F U+5F2F # +3-5740 U+5F51 # +3-5741 U+5F56 # +3-5742 U+5F57 # +3-5743 U+5F59 # +3-5744 U+5F61 # +3-5745 U+5F6D # +3-5746 U+5F73 # +3-5747 U+5F77 # +3-5748 U+5F83 # +3-5749 U+5F82 # +3-574A U+5F7F # +3-574B U+5F8A # +3-574C U+5F88 # +3-574D U+5F91 # +3-574E U+5F87 # +3-574F U+5F9E # +3-5750 U+5F99 # +3-5751 U+5F98 # +3-5752 U+5FA0 # +3-5753 U+5FA8 # +3-5754 U+5FAD # +3-5755 U+5FBC # +3-5756 U+5FD6 # +3-5757 U+5FFB # +3-5758 U+5FE4 # +3-5759 U+5FF8 # +3-575A U+5FF1 # +3-575B U+5FDD # +3-575C U+60B3 # +3-575D U+5FFF # +3-575E U+6021 # +3-575F U+6060 # +3-5760 U+6019 # +3-5761 U+6010 # +3-5762 U+6029 # +3-5763 U+600E # +3-5764 U+6031 # +3-5765 U+601B # +3-5766 U+6015 # +3-5767 U+602B # +3-5768 U+6026 # +3-5769 U+600F # +3-576A U+603A # +3-576B U+605A # +3-576C U+6041 # +3-576D U+606A # +3-576E U+6077 # +3-576F U+605F # +3-5770 U+604A # +3-5771 U+6046 # +3-5772 U+604D # +3-5773 U+6063 # +3-5774 U+6043 # +3-5775 U+6064 # +3-5776 U+6042 # +3-5777 U+606C # +3-5778 U+606B # +3-5779 U+6059 # +3-577A U+6081 # +3-577B U+608D # +3-577C U+60E7 # +3-577D U+6083 # +3-577E U+609A # +3-5821 U+6084 # +3-5822 U+609B # +3-5823 U+6096 # +3-5824 U+6097 # +3-5825 U+6092 # +3-5826 U+60A7 # +3-5827 U+608B # +3-5828 U+60E1 # +3-5829 U+60B8 # +3-582A U+60E0 # +3-582B U+60D3 # +3-582C U+60B4 # +3-582D U+5FF0 # +3-582E U+60BD # +3-582F U+60C6 # +3-5830 U+60B5 # +3-5831 U+60D8 # +3-5832 U+614D # +3-5833 U+6115 # +3-5834 U+6106 # +3-5835 U+60F6 # +3-5836 U+60F7 # +3-5837 U+6100 # +3-5838 U+60F4 # +3-5839 U+60FA # +3-583A U+6103 # +3-583B U+6121 # +3-583C U+60FB # +3-583D U+60F1 # +3-583E U+610D # +3-583F U+610E # +3-5840 U+6147 # +3-5841 U+613E # +3-5842 U+6128 # +3-5843 U+6127 # +3-5844 U+614A # +3-5845 U+613F # +3-5846 U+613C # +3-5847 U+612C # +3-5848 U+6134 # +3-5849 U+613D # +3-584A U+6142 # +3-584B U+6144 # +3-584C U+6173 # +3-584D U+6177 # +3-584E U+6158 # +3-584F U+6159 # +3-5850 U+615A # +3-5851 U+616B # +3-5852 U+6174 # +3-5853 U+616F # +3-5854 U+6165 # +3-5855 U+6171 # +3-5856 U+615F # +3-5857 U+615D # +3-5858 U+6153 # +3-5859 U+6175 # +3-585A U+6199 # +3-585B U+6196 # +3-585C U+6187 # +3-585D U+61AC # +3-585E U+6194 # +3-585F U+619A # +3-5860 U+618A # +3-5861 U+6191 # +3-5862 U+61AB # +3-5863 U+61AE # +3-5864 U+61CC # +3-5865 U+61CA # +3-5866 U+61C9 # +3-5867 U+61F7 # +3-5868 U+61C8 # +3-5869 U+61C3 # +3-586A U+61C6 # +3-586B U+61BA # +3-586C U+61CB # +3-586D U+7F79 # +3-586E U+61CD # +3-586F U+61E6 # +3-5870 U+61E3 # +3-5871 U+61F6 # +3-5872 U+61FA # +3-5873 U+61F4 # +3-5874 U+61FF # +3-5875 U+61FD # +3-5876 U+61FC # +3-5877 U+61FE # +3-5878 U+6200 # +3-5879 U+6208 # +3-587A U+6209 # +3-587B U+620D # +3-587C U+620C # +3-587D U+6214 # +3-587E U+621B # +3-5921 U+621E # +3-5922 U+6221 # +3-5923 U+622A # +3-5924 U+622E # +3-5925 U+6230 # +3-5926 U+6232 # +3-5927 U+6233 # +3-5928 U+6241 # +3-5929 U+624E # +3-592A U+625E # +3-592B U+6263 # +3-592C U+625B # +3-592D U+6260 # +3-592E U+6268 # +3-592F U+627C # +3-5930 U+6282 # +3-5931 U+6289 # +3-5932 U+627E # +3-5933 U+6292 # +3-5934 U+6293 # +3-5935 U+6296 # +3-5936 U+62D4 # +3-5937 U+6283 # +3-5938 U+6294 # +3-5939 U+62D7 # +3-593A U+62D1 # +3-593B U+62BB # +3-593C U+62CF # +3-593D U+62FF # +3-593E U+62C6 # +3-593F U+64D4 # +3-5940 U+62C8 # +3-5941 U+62DC # +3-5942 U+62CC # +3-5943 U+62CA # +3-5944 U+62C2 # +3-5945 U+62C7 # +3-5946 U+629B # +3-5947 U+62C9 # +3-5948 U+630C # +3-5949 U+62EE # +3-594A U+62F1 # +3-594B U+6327 # +3-594C U+6302 # +3-594D U+6308 # +3-594E U+62EF # +3-594F U+62F5 # +3-5950 U+6350 # +3-5951 U+633E # +3-5952 U+634D # +3-5953 U+641C # +3-5954 U+634F # +3-5955 U+6396 # +3-5956 U+638E # +3-5957 U+6380 # +3-5958 U+63AB # +3-5959 U+6376 # +3-595A U+63A3 # +3-595B U+638F # +3-595C U+6389 # +3-595D U+639F # +3-595E U+63B5 # +3-595F U+636B # +3-5960 U+6369 # +3-5961 U+63BE # +3-5962 U+63E9 # +3-5963 U+63C0 # +3-5964 U+63C6 # +3-5965 U+63E3 # +3-5966 U+63C9 # +3-5967 U+63D2 # +3-5968 U+63F6 # +3-5969 U+63C4 # +3-596A U+6416 # +3-596B U+6434 # +3-596C U+6406 # +3-596D U+6413 # +3-596E U+6426 # +3-596F U+6436 # +3-5970 U+651D # +3-5971 U+6417 # +3-5972 U+6428 # +3-5973 U+640F # +3-5974 U+6467 # +3-5975 U+646F # +3-5976 U+6476 # +3-5977 U+644E # +3-5978 U+652A # +3-5979 U+6495 # +3-597A U+6493 # +3-597B U+64A5 # +3-597C U+64A9 # +3-597D U+6488 # +3-597E U+64BC # +3-5A21 U+64DA # +3-5A22 U+64D2 # +3-5A23 U+64C5 # +3-5A24 U+64C7 # +3-5A25 U+64BB # +3-5A26 U+64D8 # +3-5A27 U+64C2 # +3-5A28 U+64F1 # +3-5A29 U+64E7 # +3-5A2A U+8209 # +3-5A2B U+64E0 # +3-5A2C U+64E1 # +3-5A2D U+62AC # +3-5A2E U+64E3 # +3-5A2F U+64EF # +3-5A30 U+652C # +3-5A31 U+64F6 # +3-5A32 U+64F4 # +3-5A33 U+64F2 # +3-5A34 U+64FA # +3-5A35 U+6500 # +3-5A36 U+64FD # +3-5A37 U+6518 # +3-5A38 U+651C # +3-5A39 U+6505 # +3-5A3A U+6524 # +3-5A3B U+6523 # +3-5A3C U+652B # +3-5A3D U+6534 # +3-5A3E U+6535 # +3-5A3F U+6537 # +3-5A40 U+6536 # +3-5A41 U+6538 # +3-5A42 U+754B # +3-5A43 U+6548 # +3-5A44 U+6556 # +3-5A45 U+6555 # +3-5A46 U+654D # +3-5A47 U+6558 # +3-5A48 U+655E # +3-5A49 U+655D # +3-5A4A U+6572 # +3-5A4B U+6578 # +3-5A4C U+6582 # +3-5A4D U+6583 # +3-5A4E U+8B8A # +3-5A4F U+659B # +3-5A50 U+659F # +3-5A51 U+65AB # +3-5A52 U+65B7 # +3-5A53 U+65C3 # +3-5A54 U+65C6 # +3-5A55 U+65C1 # +3-5A56 U+65C4 # +3-5A57 U+65CC # +3-5A58 U+65D2 # +3-5A59 U+65DB # +3-5A5A U+65D9 # +3-5A5B U+65E0 # +3-5A5C U+65E1 # +3-5A5D U+65F1 # +3-5A5E U+6772 # +3-5A5F U+660A # +3-5A60 U+6603 # +3-5A61 U+65FB # +3-5A62 U+6773 # +3-5A63 U+6635 # +3-5A64 U+6636 # +3-5A65 U+6634 # +3-5A66 U+661C # +3-5A67 U+664F # +3-5A68 U+6644 # +3-5A69 U+6649 # +3-5A6A U+6641 # +3-5A6B U+665E # +3-5A6C U+665D # +3-5A6D U+6664 # +3-5A6E U+6667 # +3-5A6F U+6668 # +3-5A70 U+665F # +3-5A71 U+6662 # +3-5A72 U+6670 # +3-5A73 U+6683 # +3-5A74 U+6688 # +3-5A75 U+668E # +3-5A76 U+6689 # +3-5A77 U+6684 # +3-5A78 U+6698 # +3-5A79 U+669D # +3-5A7A U+66C1 # +3-5A7B U+66B9 # +3-5A7C U+66C9 # +3-5A7D U+66BE # +3-5A7E U+66BC # +3-5B21 U+66C4 # +3-5B22 U+66B8 # +3-5B23 U+66D6 # +3-5B24 U+66DA # +3-5B25 U+66E0 # +3-5B26 U+663F # +3-5B27 U+66E6 # +3-5B28 U+66E9 # +3-5B29 U+66F0 # +3-5B2A U+66F5 # +3-5B2B U+66F7 # +3-5B2C U+670F # +3-5B2D U+6716 # +3-5B2E U+671E # +3-5B2F U+6726 # +3-5B30 U+6727 # +3-5B31 U+9738 # +3-5B32 U+672E # +3-5B33 U+673F # +3-5B34 U+6736 # +3-5B35 U+6741 # +3-5B36 U+6738 # +3-5B37 U+6737 # +3-5B38 U+6746 # +3-5B39 U+675E # +3-5B3A U+6760 # +3-5B3B U+6759 # +3-5B3C U+6763 # +3-5B3D U+6764 # +3-5B3E U+6789 # +3-5B3F U+6770 # +3-5B40 U+67A9 # +3-5B41 U+677C # +3-5B42 U+676A # +3-5B43 U+678C # +3-5B44 U+678B # +3-5B45 U+67A6 # +3-5B46 U+67A1 # +3-5B47 U+6785 # +3-5B48 U+67B7 # +3-5B49 U+67EF # +3-5B4A U+67B4 # +3-5B4B U+67EC # +3-5B4C U+67B3 # +3-5B4D U+67E9 # +3-5B4E U+67B8 # +3-5B4F U+67E4 # +3-5B50 U+67DE # +3-5B51 U+67DD # +3-5B52 U+67E2 # +3-5B53 U+67EE # +3-5B54 U+67B9 # +3-5B55 U+67CE # +3-5B56 U+67C6 # +3-5B57 U+67E7 # +3-5B58 U+6A9C # +3-5B59 U+681E # +3-5B5A U+6846 # +3-5B5B U+6829 # +3-5B5C U+6840 # +3-5B5D U+684D # +3-5B5E U+6832 # +3-5B5F U+684E # +3-5B60 U+68B3 # +3-5B61 U+682B # +3-5B62 U+6859 # +3-5B63 U+6863 # +3-5B64 U+6877 # +3-5B65 U+687F # +3-5B66 U+689F # +3-5B67 U+688F # +3-5B68 U+68AD # +3-5B69 U+6894 # +3-5B6A U+689D # +3-5B6B U+689B # +3-5B6C U+6883 # +3-5B6D U+6AAE # +3-5B6E U+68B9 # +3-5B6F U+6874 # +3-5B70 U+68B5 # +3-5B71 U+68A0 # +3-5B72 U+68BA # +3-5B73 U+690F # +3-5B74 U+688D # +3-5B75 U+687E # +3-5B76 U+6901 # +3-5B77 U+68CA # +3-5B78 U+6908 # +3-5B79 U+68D8 # +3-5B7A U+6922 # +3-5B7B U+6926 # +3-5B7C U+68E1 # +3-5B7D U+690C # +3-5B7E U+68CD # +3-5C21 U+68D4 # +3-5C22 U+68E7 # +3-5C23 U+68D5 # +3-5C24 U+6936 # +3-5C25 U+6912 # +3-5C26 U+6904 # +3-5C27 U+68D7 # +3-5C28 U+68E3 # +3-5C29 U+6925 # +3-5C2A U+68F9 # +3-5C2B U+68E0 # +3-5C2C U+68EF # +3-5C2D U+6928 # +3-5C2E U+692A # +3-5C2F U+691A # +3-5C30 U+6923 # +3-5C31 U+6921 # +3-5C32 U+68C6 # +3-5C33 U+6979 # +3-5C34 U+6977 # +3-5C35 U+695C # +3-5C36 U+6978 # +3-5C37 U+696B # +3-5C38 U+6954 # +3-5C39 U+697E # +3-5C3A U+696E # +3-5C3B U+6939 # +3-5C3C U+6974 # +3-5C3D U+693D # +3-5C3E U+6959 # +3-5C3F U+6930 # +3-5C40 U+6961 # +3-5C41 U+695E # +3-5C42 U+695D # +3-5C43 U+6981 # +3-5C44 U+696A # +3-5C45 U+69B2 # +3-5C46 U+69AE # +3-5C47 U+69D0 # +3-5C48 U+69BF # +3-5C49 U+69C1 # +3-5C4A U+69D3 # +3-5C4B U+69BE # +3-5C4C U+69CE # +3-5C4D U+5BE8 # +3-5C4E U+69CA # +3-5C4F U+69DD # +3-5C50 U+69BB # +3-5C51 U+69C3 # +3-5C52 U+69A7 # +3-5C53 U+6A2E # +3-5C54 U+6991 # +3-5C55 U+69A0 # +3-5C56 U+699C # +3-5C57 U+6995 # +3-5C58 U+69B4 # +3-5C59 U+69DE # +3-5C5A U+69E8 # +3-5C5B U+6A02 # +3-5C5C U+6A1B # +3-5C5D U+69FF # +3-5C5E U+6B0A # +3-5C5F U+69F9 # +3-5C60 U+69F2 # +3-5C61 U+69E7 # +3-5C62 U+6A05 # +3-5C63 U+69B1 # +3-5C64 U+6A1E # +3-5C65 U+69ED # +3-5C66 U+6A14 # +3-5C67 U+69EB # +3-5C68 U+6A0A # +3-5C69 U+6A12 # +3-5C6A U+6AC1 # +3-5C6B U+6A23 # +3-5C6C U+6A13 # +3-5C6D U+6A44 # +3-5C6E U+6A0C # +3-5C6F U+6A72 # +3-5C70 U+6A36 # +3-5C71 U+6A78 # +3-5C72 U+6A47 # +3-5C73 U+6A62 # +3-5C74 U+6A59 # +3-5C75 U+6A66 # +3-5C76 U+6A48 # +3-5C77 U+6A38 # +3-5C78 U+6A22 # +3-5C79 U+6A90 # +3-5C7A U+6A8D # +3-5C7B U+6AA0 # +3-5C7C U+6A84 # +3-5C7D U+6AA2 # +3-5C7E U+6AA3 # +3-5D21 U+6A97 # +3-5D22 U+8617 # +3-5D23 U+6ABB # +3-5D24 U+6AC3 # +3-5D25 U+6AC2 # +3-5D26 U+6AB8 # +3-5D27 U+6AB3 # +3-5D28 U+6AAC # +3-5D29 U+6ADE # +3-5D2A U+6AD1 # +3-5D2B U+6ADF # +3-5D2C U+6AAA # +3-5D2D U+6ADA # +3-5D2E U+6AEA # +3-5D2F U+6AFB # +3-5D30 U+6B05 # +3-5D31 U+8616 # +3-5D32 U+6AFA # +3-5D33 U+6B12 # +3-5D34 U+6B16 # +3-5D35 U+9B31 # +3-5D36 U+6B1F # +3-5D37 U+6B38 # +3-5D38 U+6B37 # +3-5D39 U+76DC # +3-5D3A U+6B39 # +3-5D3B U+98EE # +3-5D3C U+6B47 # +3-5D3D U+6B43 # +3-5D3E U+6B49 # +3-5D3F U+6B50 # +3-5D40 U+6B59 # +3-5D41 U+6B54 # +3-5D42 U+6B5B # +3-5D43 U+6B5F # +3-5D44 U+6B61 # +3-5D45 U+6B78 # +3-5D46 U+6B79 # +3-5D47 U+6B7F # +3-5D48 U+6B80 # +3-5D49 U+6B84 # +3-5D4A U+6B83 # +3-5D4B U+6B8D # +3-5D4C U+6B98 # +3-5D4D U+6B95 # +3-5D4E U+6B9E # +3-5D4F U+6BA4 # +3-5D50 U+6BAA # +3-5D51 U+6BAB # +3-5D52 U+6BAF # +3-5D53 U+6BB2 # +3-5D54 U+6BB1 # +3-5D55 U+6BB3 # +3-5D56 U+6BB7 # +3-5D57 U+6BBC # +3-5D58 U+6BC6 # +3-5D59 U+6BCB # +3-5D5A U+6BD3 # +3-5D5B U+6BDF # +3-5D5C U+6BEC # +3-5D5D U+6BEB # +3-5D5E U+6BF3 # +3-5D5F U+6BEF # +3-5D60 U+9EBE # +3-5D61 U+6C08 # +3-5D62 U+6C13 # +3-5D63 U+6C14 # +3-5D64 U+6C1B # +3-5D65 U+6C24 # +3-5D66 U+6C23 # +3-5D67 U+6C5E # +3-5D68 U+6C55 # +3-5D69 U+6C62 # +3-5D6A U+6C6A # +3-5D6B U+6C82 # +3-5D6C U+6C8D # +3-5D6D U+6C9A # +3-5D6E U+6C81 # +3-5D6F U+6C9B # +3-5D70 U+6C7E # +3-5D71 U+6C68 # +3-5D72 U+6C73 # +3-5D73 U+6C92 # +3-5D74 U+6C90 # +3-5D75 U+6CC4 # +3-5D76 U+6CF1 # +3-5D77 U+6CD3 # +3-5D78 U+6CBD # +3-5D79 U+6CD7 # +3-5D7A U+6CC5 # +3-5D7B U+6CDD # +3-5D7C U+6CAE # +3-5D7D U+6CB1 # +3-5D7E U+6CBE # +3-5E21 U+6CBA # +3-5E22 U+6CDB # +3-5E23 U+6CEF # +3-5E24 U+6CD9 # +3-5E25 U+6CEA # +3-5E26 U+6D1F # +3-5E27 U+884D # +3-5E28 U+6D36 # +3-5E29 U+6D2B # +3-5E2A U+6D3D # +3-5E2B U+6D38 # +3-5E2C U+6D19 # +3-5E2D U+6D35 # +3-5E2E U+6D33 # +3-5E2F U+6D12 # +3-5E30 U+6D0C # +3-5E31 U+6D63 # +3-5E32 U+6D93 # +3-5E33 U+6D64 # +3-5E34 U+6D5A # +3-5E35 U+6D79 # +3-5E36 U+6D59 # +3-5E37 U+6D8E # +3-5E38 U+6D95 # +3-5E39 U+6FE4 # +3-5E3A U+6D85 # +3-5E3B U+6DF9 # +3-5E3C U+6E15 # +3-5E3D U+6E0A # +3-5E3E U+6DB5 # +3-5E3F U+6DC7 # +3-5E40 U+6DE6 # +3-5E41 U+6DB8 # +3-5E42 U+6DC6 # +3-5E43 U+6DEC # +3-5E44 U+6DDE # +3-5E45 U+6DCC # +3-5E46 U+6DE8 # +3-5E47 U+6DD2 # +3-5E48 U+6DC5 # +3-5E49 U+6DFA # +3-5E4A U+6DD9 # +3-5E4B U+6DE4 # +3-5E4C U+6DD5 # +3-5E4D U+6DEA # +3-5E4E U+6DEE # +3-5E4F U+6E2D # +3-5E50 U+6E6E # +3-5E51 U+6E2E # +3-5E52 U+6E19 # +3-5E53 U+6E72 # +3-5E54 U+6E5F # +3-5E55 U+6E3E # +3-5E56 U+6E23 # +3-5E57 U+6E6B # +3-5E58 U+6E2B # +3-5E59 U+6E76 # +3-5E5A U+6E4D # +3-5E5B U+6E1F # +3-5E5C U+6E43 # +3-5E5D U+6E3A # +3-5E5E U+6E4E # +3-5E5F U+6E24 # +3-5E60 U+6EFF # +3-5E61 U+6E1D # +3-5E62 U+6E38 # +3-5E63 U+6E82 # +3-5E64 U+6EAA # +3-5E65 U+6E98 # +3-5E66 U+6EC9 # +3-5E67 U+6EB7 # +3-5E68 U+6ED3 # +3-5E69 U+6EBD # +3-5E6A U+6EAF # +3-5E6B U+6EC4 # +3-5E6C U+6EB2 # +3-5E6D U+6ED4 # +3-5E6E U+6ED5 # +3-5E6F U+6E8F # +3-5E70 U+6EA5 # +3-5E71 U+6EC2 # +3-5E72 U+6E9F # +3-5E73 U+6F41 # +3-5E74 U+6F11 # +3-5E75 U+704C # +3-5E76 U+6EEC # +3-5E77 U+6EF8 # +3-5E78 U+6EFE # +3-5E79 U+6F3F # +3-5E7A U+6EF2 # +3-5E7B U+6F31 # +3-5E7C U+6EEF # +3-5E7D U+6F32 # +3-5E7E U+6ECC # +3-5F21 U+6F3E # +3-5F22 U+6F13 # +3-5F23 U+6EF7 # +3-5F24 U+6F86 # +3-5F25 U+6F7A # +3-5F26 U+6F78 # +3-5F27 U+6F81 # +3-5F28 U+6F80 # +3-5F29 U+6F6F # +3-5F2A U+6F5B # +3-5F2B U+6FF3 # +3-5F2C U+6F6D # +3-5F2D U+6F82 # +3-5F2E U+6F7C # +3-5F2F U+6F58 # +3-5F30 U+6F8E # +3-5F31 U+6F91 # +3-5F32 U+6FC2 # +3-5F33 U+6F66 # +3-5F34 U+6FB3 # +3-5F35 U+6FA3 # +3-5F36 U+6FA1 # +3-5F37 U+6FA4 # +3-5F38 U+6FB9 # +3-5F39 U+6FC6 # +3-5F3A U+6FAA # +3-5F3B U+6FDF # +3-5F3C U+6FD5 # +3-5F3D U+6FEC # +3-5F3E U+6FD4 # +3-5F3F U+6FD8 # +3-5F40 U+6FF1 # +3-5F41 U+6FEE # +3-5F42 U+6FDB # +3-5F43 U+7009 # +3-5F44 U+700B # +3-5F45 U+6FFA # +3-5F46 U+7011 # +3-5F47 U+7001 # +3-5F48 U+700F # +3-5F49 U+6FFE # +3-5F4A U+701B # +3-5F4B U+701A # +3-5F4C U+6F74 # +3-5F4D U+701D # +3-5F4E U+7018 # +3-5F4F U+701F # +3-5F50 U+7030 # +3-5F51 U+703E # +3-5F52 U+7032 # +3-5F53 U+7051 # +3-5F54 U+7063 # +3-5F55 U+7099 # +3-5F56 U+7092 # +3-5F57 U+70AF # +3-5F58 U+70F1 # +3-5F59 U+70AC # +3-5F5A U+70B8 # +3-5F5B U+70B3 # +3-5F5C U+70AE # +3-5F5D U+70DF # +3-5F5E U+70CB # +3-5F5F U+70DD # +3-5F60 U+70D9 # +3-5F61 U+7109 # +3-5F62 U+70FD # +3-5F63 U+711C # +3-5F64 U+7119 # +3-5F65 U+7165 # +3-5F66 U+7155 # +3-5F67 U+7188 # +3-5F68 U+7166 # +3-5F69 U+7162 # +3-5F6A U+714C # +3-5F6B U+7156 # +3-5F6C U+716C # +3-5F6D U+718F # +3-5F6E U+71FB # +3-5F6F U+7184 # +3-5F70 U+7195 # +3-5F71 U+71A8 # +3-5F72 U+71AC # +3-5F73 U+71D7 # +3-5F74 U+71B9 # +3-5F75 U+71BE # +3-5F76 U+71D2 # +3-5F77 U+71C9 # +3-5F78 U+71D4 # +3-5F79 U+71CE # +3-5F7A U+71E0 # +3-5F7B U+71EC # +3-5F7C U+71E7 # +3-5F7D U+71F5 # +3-5F7E U+71FC # +3-6021 U+71F9 # +3-6022 U+71FF # +3-6023 U+720D # +3-6024 U+7210 # +3-6025 U+721B # +3-6026 U+7228 # +3-6027 U+722D # +3-6028 U+722C # +3-6029 U+7230 # +3-602A U+7232 # +3-602B U+723B # +3-602C U+723C # +3-602D U+723F # +3-602E U+7240 # +3-602F U+7246 # +3-6030 U+724B # +3-6031 U+7258 # +3-6032 U+7274 # +3-6033 U+727E # +3-6034 U+7282 # +3-6035 U+7281 # +3-6036 U+7287 # +3-6037 U+7292 # +3-6038 U+7296 # +3-6039 U+72A2 # +3-603A U+72A7 # +3-603B U+72B9 # +3-603C U+72B2 # +3-603D U+72C3 # +3-603E U+72C6 # +3-603F U+72C4 # +3-6040 U+72CE # +3-6041 U+72D2 # +3-6042 U+72E2 # +3-6043 U+72E0 # +3-6044 U+72E1 # +3-6045 U+72F9 # +3-6046 U+72F7 # +3-6047 U+500F # +3-6048 U+7317 # +3-6049 U+730A # +3-604A U+731C # +3-604B U+7316 # +3-604C U+731D # +3-604D U+7334 # +3-604E U+732F # +3-604F U+7329 # +3-6050 U+7325 # +3-6051 U+733E # +3-6052 U+734E # +3-6053 U+734F # +3-6054 U+9ED8 # +3-6055 U+7357 # +3-6056 U+736A # +3-6057 U+7368 # +3-6058 U+7370 # +3-6059 U+7378 # +3-605A U+7375 # +3-605B U+737B # +3-605C U+737A # +3-605D U+73C8 # +3-605E U+73B3 # +3-605F U+73CE # +3-6060 U+73BB # +3-6061 U+73C0 # +3-6062 U+73E5 # +3-6063 U+73EE # +3-6064 U+73DE # +3-6065 U+74A2 # +3-6066 U+7405 # +3-6067 U+746F # +3-6068 U+7425 # +3-6069 U+73F8 # +3-606A U+7432 # +3-606B U+743A # +3-606C U+7455 # +3-606D U+743F # +3-606E U+745F # +3-606F U+7459 # +3-6070 U+7441 # +3-6071 U+745C # +3-6072 U+7469 # +3-6073 U+7470 # +3-6074 U+7463 # +3-6075 U+746A # +3-6076 U+7476 # +3-6077 U+747E # +3-6078 U+748B # +3-6079 U+749E # +3-607A U+74A7 # +3-607B U+74CA # +3-607C U+74CF # +3-607D U+74D4 # +3-607E U+73F1 # +3-6121 U+74E0 # +3-6122 U+74E3 # +3-6123 U+74E7 # +3-6124 U+74E9 # +3-6125 U+74EE # +3-6126 U+74F2 # +3-6127 U+74F0 # +3-6128 U+74F1 # +3-6129 U+74F8 # +3-612A U+74F7 # +3-612B U+7504 # +3-612C U+7503 # +3-612D U+7505 # +3-612E U+750C # +3-612F U+750E # +3-6130 U+750D # +3-6131 U+7515 # +3-6132 U+7513 # +3-6133 U+751E # +3-6134 U+7526 # +3-6135 U+752C # +3-6136 U+753C # +3-6137 U+7544 # +3-6138 U+754D # +3-6139 U+754A # +3-613A U+7549 # +3-613B U+755B # +3-613C U+7546 # +3-613D U+755A # +3-613E U+7569 # +3-613F U+7564 # +3-6140 U+7567 # +3-6141 U+756B # +3-6142 U+756D # +3-6143 U+7578 # +3-6144 U+7576 # +3-6145 U+7586 # +3-6146 U+7587 # +3-6147 U+7574 # +3-6148 U+758A # +3-6149 U+7589 # +3-614A U+7582 # +3-614B U+7594 # +3-614C U+759A # +3-614D U+759D # +3-614E U+75A5 # +3-614F U+75A3 # +3-6150 U+75C2 # +3-6151 U+75B3 # +3-6152 U+75C3 # +3-6153 U+75B5 # +3-6154 U+75BD # +3-6155 U+75B8 # +3-6156 U+75BC # +3-6157 U+75B1 # +3-6158 U+75CD # +3-6159 U+75CA # +3-615A U+75D2 # +3-615B U+75D9 # +3-615C U+75E3 # +3-615D U+75DE # +3-615E U+75FE # +3-615F U+75FF # +3-6160 U+75FC # +3-6161 U+7601 # +3-6162 U+75F0 # +3-6163 U+75FA # +3-6164 U+75F2 # +3-6165 U+75F3 # +3-6166 U+760B # +3-6167 U+760D # +3-6168 U+7609 # +3-6169 U+761F # +3-616A U+7627 # +3-616B U+7620 # +3-616C U+7621 # +3-616D U+7622 # +3-616E U+7624 # +3-616F U+7634 # +3-6170 U+7630 # +3-6171 U+763B # +3-6172 U+7647 # +3-6173 U+7648 # +3-6174 U+7646 # +3-6175 U+765C # +3-6176 U+7658 # +3-6177 U+7661 # +3-6178 U+7662 # +3-6179 U+7668 # +3-617A U+7669 # +3-617B U+766A # +3-617C U+7667 # +3-617D U+766C # +3-617E U+7670 # +3-6221 U+7672 # +3-6222 U+7676 # +3-6223 U+7678 # +3-6224 U+767C # +3-6225 U+7680 # +3-6226 U+7683 # +3-6227 U+7688 # +3-6228 U+768B # +3-6229 U+768E # +3-622A U+7696 # +3-622B U+7693 # +3-622C U+7699 # +3-622D U+769A # +3-622E U+76B0 # +3-622F U+76B4 # +3-6230 U+76B8 # +3-6231 U+76B9 # +3-6232 U+76BA # +3-6233 U+76C2 # +3-6234 U+76CD # +3-6235 U+76D6 # +3-6236 U+76D2 # +3-6237 U+76DE # +3-6238 U+76E1 # +3-6239 U+76E5 # +3-623A U+76E7 # +3-623B U+76EA # +3-623C U+862F # +3-623D U+76FB # +3-623E U+7708 # +3-623F U+7707 # +3-6240 U+7704 # +3-6241 U+7729 # +3-6242 U+7724 # +3-6243 U+771E # +3-6244 U+7725 # +3-6245 U+7726 # +3-6246 U+771B # +3-6247 U+7737 # +3-6248 U+7738 # +3-6249 U+7747 # +3-624A U+775A # +3-624B U+7768 # +3-624C U+776B # +3-624D U+775B # +3-624E U+7765 # +3-624F U+777F # +3-6250 U+777E # +3-6251 U+7779 # +3-6252 U+778E # +3-6253 U+778B # +3-6254 U+7791 # +3-6255 U+77A0 # +3-6256 U+779E # +3-6257 U+77B0 # +3-6258 U+77B6 # +3-6259 U+77B9 # +3-625A U+77BF # +3-625B U+77BC # +3-625C U+77BD # +3-625D U+77BB # +3-625E U+77C7 # +3-625F U+77CD # +3-6260 U+77D7 # +3-6261 U+77DA # +3-6262 U+77DC # +3-6263 U+77E3 # +3-6264 U+77EE # +3-6265 U+77FC # +3-6266 U+780C # +3-6267 U+7812 # +3-6268 U+7926 # +3-6269 U+7820 # +3-626A U+792A # +3-626B U+7845 # +3-626C U+788E # +3-626D U+7874 # +3-626E U+7886 # +3-626F U+787C # +3-6270 U+789A # +3-6271 U+788C # +3-6272 U+78A3 # +3-6273 U+78B5 # +3-6274 U+78AA # +3-6275 U+78AF # +3-6276 U+78D1 # +3-6277 U+78C6 # +3-6278 U+78CB # +3-6279 U+78D4 # +3-627A U+78BE # +3-627B U+78BC # +3-627C U+78C5 # +3-627D U+78CA # +3-627E U+78EC # +3-6321 U+78E7 # +3-6322 U+78DA # +3-6323 U+78FD # +3-6324 U+78F4 # +3-6325 U+7907 # +3-6326 U+7912 # +3-6327 U+7911 # +3-6328 U+7919 # +3-6329 U+792C # +3-632A U+792B # +3-632B U+7940 # +3-632C U+7960 # +3-632D U+7957 # +3-632E U+795F # +3-632F U+795A # +3-6330 U+7955 # +3-6331 U+7953 # +3-6332 U+797A # +3-6333 U+797F # +3-6334 U+798A # +3-6335 U+799D # +3-6336 U+79A7 # +3-6337 U+9F4B # +3-6338 U+79AA # +3-6339 U+79AE # +3-633A U+79B3 # +3-633B U+79B9 # +3-633C U+79BA # +3-633D U+79C9 # +3-633E U+79D5 # +3-633F U+79E7 # +3-6340 U+79EC # +3-6341 U+79E1 # +3-6342 U+79E3 # +3-6343 U+7A08 # +3-6344 U+7A0D # +3-6345 U+7A18 # +3-6346 U+7A19 # +3-6347 U+7A20 # +3-6348 U+7A1F # +3-6349 U+7980 # +3-634A U+7A31 # +3-634B U+7A3B # +3-634C U+7A3E # +3-634D U+7A37 # +3-634E U+7A43 # +3-634F U+7A57 # +3-6350 U+7A49 # +3-6351 U+7A61 # +3-6352 U+7A62 # +3-6353 U+7A69 # +3-6354 U+9F9D # +3-6355 U+7A70 # +3-6356 U+7A79 # +3-6357 U+7A7D # +3-6358 U+7A88 # +3-6359 U+7A97 # +3-635A U+7A95 # +3-635B U+7A98 # +3-635C U+7A96 # +3-635D U+7AA9 # +3-635E U+7AC8 # +3-635F U+7AB0 # +3-6360 U+7AB6 # +3-6361 U+7AC5 # +3-6362 U+7AC4 # +3-6363 U+7ABF # +3-6364 U+9083 # +3-6365 U+7AC7 # +3-6366 U+7ACA # +3-6367 U+7ACD # +3-6368 U+7ACF # +3-6369 U+7AD5 # +3-636A U+7AD3 # +3-636B U+7AD9 # +3-636C U+7ADA # +3-636D U+7ADD # +3-636E U+7AE1 # +3-636F U+7AE2 # +3-6370 U+7AE6 # +3-6371 U+7AED # +3-6372 U+7AF0 # +3-6373 U+7B02 # +3-6374 U+7B0F # +3-6375 U+7B0A # +3-6376 U+7B06 # +3-6377 U+7B33 # +3-6378 U+7B18 # +3-6379 U+7B19 # +3-637A U+7B1E # +3-637B U+7B35 # +3-637C U+7B28 # +3-637D U+7B36 # +3-637E U+7B50 # +3-6421 U+7B7A # +3-6422 U+7B04 # +3-6423 U+7B4D # +3-6424 U+7B0B # +3-6425 U+7B4C # +3-6426 U+7B45 # +3-6427 U+7B75 # +3-6428 U+7B65 # +3-6429 U+7B74 # +3-642A U+7B67 # +3-642B U+7B70 # +3-642C U+7B71 # +3-642D U+7B6C # +3-642E U+7B6E # +3-642F U+7B9D # +3-6430 U+7B98 # +3-6431 U+7B9F # +3-6432 U+7B8D # +3-6433 U+7B9C # +3-6434 U+7B9A # +3-6435 U+7B8B # +3-6436 U+7B92 # +3-6437 U+7B8F # +3-6438 U+7B5D # +3-6439 U+7B99 # +3-643A U+7BCB # +3-643B U+7BC1 # +3-643C U+7BCC # +3-643D U+7BCF # +3-643E U+7BB4 # +3-643F U+7BC6 # +3-6440 U+7BDD # +3-6441 U+7BE9 # +3-6442 U+7C11 # +3-6443 U+7C14 # +3-6444 U+7BE6 # +3-6445 U+7BE5 # +3-6446 U+7C60 # +3-6447 U+7C00 # +3-6448 U+7C07 # +3-6449 U+7C13 # +3-644A U+7BF3 # +3-644B U+7BF7 # +3-644C U+7C17 # +3-644D U+7C0D # +3-644E U+7BF6 # +3-644F U+7C23 # +3-6450 U+7C27 # +3-6451 U+7C2A # +3-6452 U+7C1F # +3-6453 U+7C37 # +3-6454 U+7C2B # +3-6455 U+7C3D # +3-6456 U+7C4C # +3-6457 U+7C43 # +3-6458 U+7C54 # +3-6459 U+7C4F # +3-645A U+7C40 # +3-645B U+7C50 # +3-645C U+7C58 # +3-645D U+7C5F # +3-645E U+7C64 # +3-645F U+7C56 # +3-6460 U+7C65 # +3-6461 U+7C6C # +3-6462 U+7C75 # +3-6463 U+7C83 # +3-6464 U+7C90 # +3-6465 U+7CA4 # +3-6466 U+7CAD # +3-6467 U+7CA2 # +3-6468 U+7CAB # +3-6469 U+7CA1 # +3-646A U+7CA8 # +3-646B U+7CB3 # +3-646C U+7CB2 # +3-646D U+7CB1 # +3-646E U+7CAE # +3-646F U+7CB9 # +3-6470 U+7CBD # +3-6471 U+7CC0 # +3-6472 U+7CC5 # +3-6473 U+7CC2 # +3-6474 U+7CD8 # +3-6475 U+7CD2 # +3-6476 U+7CDC # +3-6477 U+7CE2 # +3-6478 U+9B3B # +3-6479 U+7CEF # +3-647A U+7CF2 # +3-647B U+7CF4 # +3-647C U+7CF6 # +3-647D U+7CFA # +3-647E U+7D06 # +3-6521 U+7D02 # +3-6522 U+7D1C # +3-6523 U+7D15 # +3-6524 U+7D0A # +3-6525 U+7D45 # +3-6526 U+7D4B # +3-6527 U+7D2E # +3-6528 U+7D32 # +3-6529 U+7D3F # +3-652A U+7D35 # +3-652B U+7D46 # +3-652C U+7D73 # +3-652D U+7D56 # +3-652E U+7D4E # +3-652F U+7D72 # +3-6530 U+7D68 # +3-6531 U+7D6E # +3-6532 U+7D4F # +3-6533 U+7D63 # +3-6534 U+7D93 # +3-6535 U+7D89 # +3-6536 U+7D5B # +3-6537 U+7D8F # +3-6538 U+7D7D # +3-6539 U+7D9B # +3-653A U+7DBA # +3-653B U+7DAE # +3-653C U+7DA3 # +3-653D U+7DB5 # +3-653E U+7DC7 # +3-653F U+7DBD # +3-6540 U+7DAB # +3-6541 U+7E3D # +3-6542 U+7DA2 # +3-6543 U+7DAF # +3-6544 U+7DDC # +3-6545 U+7DB8 # +3-6546 U+7D9F # +3-6547 U+7DB0 # +3-6548 U+7DD8 # +3-6549 U+7DDD # +3-654A U+7DE4 # +3-654B U+7DDE # +3-654C U+7DFB # +3-654D U+7DF2 # +3-654E U+7DE1 # +3-654F U+7E05 # +3-6550 U+7E0A # +3-6551 U+7E23 # +3-6552 U+7E21 # +3-6553 U+7E12 # +3-6554 U+7E31 # +3-6555 U+7E1F # +3-6556 U+7E09 # +3-6557 U+7E0B # +3-6558 U+7E22 # +3-6559 U+7E46 # +3-655A U+7E66 # +3-655B U+7E3B # +3-655C U+7E35 # +3-655D U+7E39 # +3-655E U+7E43 # +3-655F U+7E37 # +3-6560 U+7E32 # +3-6561 U+7E3A # +3-6562 U+7E67 # +3-6563 U+7E5D # +3-6564 U+7E56 # +3-6565 U+7E5E # +3-6566 U+7E59 # +3-6567 U+7E5A # +3-6568 U+7E79 # +3-6569 U+7E6A # +3-656A U+7E69 # +3-656B U+7E7C # +3-656C U+7E7B # +3-656D U+7E83 # +3-656E U+7DD5 # +3-656F U+7E7D # +3-6570 U+8FAE # +3-6571 U+7E7F # +3-6572 U+7E88 # +3-6573 U+7E89 # +3-6574 U+7E8C # +3-6575 U+7E92 # +3-6576 U+7E90 # +3-6577 U+7E93 # +3-6578 U+7E94 # +3-6579 U+7E96 # +3-657A U+7E8E # +3-657B U+7E9B # +3-657C U+7E9C # +3-657D U+7F38 # +3-657E U+7F3A # +3-6621 U+7F45 # +3-6622 U+7F4C # +3-6623 U+7F4D # +3-6624 U+7F4E # +3-6625 U+7F50 # +3-6626 U+7F51 # +3-6627 U+7F55 # +3-6628 U+7F54 # +3-6629 U+7F58 # +3-662A U+7F5F # +3-662B U+7F60 # +3-662C U+7F68 # +3-662D U+7F69 # +3-662E U+7F67 # +3-662F U+7F78 # +3-6630 U+7F82 # +3-6631 U+7F86 # +3-6632 U+7F83 # +3-6633 U+7F88 # +3-6634 U+7F87 # +3-6635 U+7F8C # +3-6636 U+7F94 # +3-6637 U+7F9E # +3-6638 U+7F9D # +3-6639 U+7F9A # +3-663A U+7FA3 # +3-663B U+7FAF # +3-663C U+7FB2 # +3-663D U+7FB9 # +3-663E U+7FAE # +3-663F U+7FB6 # +3-6640 U+7FB8 # +3-6641 U+8B71 # +3-6642 U+7FC5 # +3-6643 U+7FC6 # +3-6644 U+7FCA # +3-6645 U+7FD5 # +3-6646 U+7FD4 # +3-6647 U+7FE1 # +3-6648 U+7FE6 # +3-6649 U+7FE9 # +3-664A U+7FF3 # +3-664B U+7FF9 # +3-664C U+98DC # +3-664D U+8006 # +3-664E U+8004 # +3-664F U+800B # +3-6650 U+8012 # +3-6651 U+8018 # +3-6652 U+8019 # +3-6653 U+801C # +3-6654 U+8021 # +3-6655 U+8028 # +3-6656 U+803F # +3-6657 U+803B # +3-6658 U+804A # +3-6659 U+8046 # +3-665A U+8052 # +3-665B U+8058 # +3-665C U+805A # +3-665D U+805F # +3-665E U+8062 # +3-665F U+8068 # +3-6660 U+8073 # +3-6661 U+8072 # +3-6662 U+8070 # +3-6663 U+8076 # +3-6664 U+8079 # +3-6665 U+807D # +3-6666 U+807F # +3-6667 U+8084 # +3-6668 U+8086 # +3-6669 U+8085 # +3-666A U+809B # +3-666B U+8093 # +3-666C U+809A # +3-666D U+80AD # +3-666E U+5190 # +3-666F U+80AC # +3-6670 U+80DB # +3-6671 U+80E5 # +3-6672 U+80D9 # +3-6673 U+80DD # +3-6674 U+80C4 # +3-6675 U+80DA # +3-6676 U+80D6 # +3-6677 U+8109 # +3-6678 U+80EF # +3-6679 U+80F1 # +3-667A U+811B # +3-667B U+8129 # +3-667C U+8123 # +3-667D U+812F # +3-667E U+814B # +3-6721 U+968B # +3-6722 U+8146 # +3-6723 U+813E # +3-6724 U+8153 # +3-6725 U+8151 # +3-6726 U+80FC # +3-6727 U+8171 # +3-6728 U+816E # +3-6729 U+8165 # +3-672A U+8166 # +3-672B U+8174 # +3-672C U+8183 # +3-672D U+8188 # +3-672E U+818A # +3-672F U+8180 # +3-6730 U+8182 # +3-6731 U+81A0 # +3-6732 U+8195 # +3-6733 U+81A4 # +3-6734 U+81A3 # +3-6735 U+815F # +3-6736 U+8193 # +3-6737 U+81A9 # +3-6738 U+81B0 # +3-6739 U+81B5 # +3-673A U+81BE # +3-673B U+81B8 # +3-673C U+81BD # +3-673D U+81C0 # +3-673E U+81C2 # +3-673F U+81BA # +3-6740 U+81C9 # +3-6741 U+81CD # +3-6742 U+81D1 # +3-6743 U+81D9 # +3-6744 U+81D8 # +3-6745 U+81C8 # +3-6746 U+81DA # +3-6747 U+81DF # +3-6748 U+81E0 # +3-6749 U+81E7 # +3-674A U+81FA # +3-674B U+81FB # +3-674C U+81FE # +3-674D U+8201 # +3-674E U+8202 # +3-674F U+8205 # +3-6750 U+8207 # +3-6751 U+820A # +3-6752 U+820D # +3-6753 U+8210 # +3-6754 U+8216 # +3-6755 U+8229 # +3-6756 U+822B # +3-6757 U+8238 # +3-6758 U+8233 # +3-6759 U+8240 # +3-675A U+8259 # +3-675B U+8258 # +3-675C U+825D # +3-675D U+825A # +3-675E U+825F # +3-675F U+8264 # +3-6760 U+8262 # +3-6761 U+8268 # +3-6762 U+826A # +3-6763 U+826B # +3-6764 U+822E # +3-6765 U+8271 # +3-6766 U+8277 # +3-6767 U+8278 # +3-6768 U+827E # +3-6769 U+828D # +3-676A U+8292 # +3-676B U+82AB # +3-676C U+829F # +3-676D U+82BB # +3-676E U+82AC # +3-676F U+82E1 # +3-6770 U+82E3 # +3-6771 U+82DF # +3-6772 U+82D2 # +3-6773 U+82F4 # +3-6774 U+82F3 # +3-6775 U+82FA # +3-6776 U+8393 # +3-6777 U+8303 # +3-6778 U+82FB # +3-6779 U+82F9 # +3-677A U+82DE # +3-677B U+8306 # +3-677C U+82DC # +3-677D U+8309 # +3-677E U+82D9 # +3-6821 U+8335 # +3-6822 U+8334 # +3-6823 U+8316 # +3-6824 U+8332 # +3-6825 U+8331 # +3-6826 U+8340 # +3-6827 U+8339 # +3-6828 U+8350 # +3-6829 U+8345 # +3-682A U+832F # +3-682B U+832B # +3-682C U+8317 # +3-682D U+8318 # +3-682E U+8385 # +3-682F U+839A # +3-6830 U+83AA # +3-6831 U+839F # +3-6832 U+83A2 # +3-6833 U+8396 # +3-6834 U+8323 # +3-6835 U+838E # +3-6836 U+8387 # +3-6837 U+838A # +3-6838 U+837C # +3-6839 U+83B5 # +3-683A U+8373 # +3-683B U+8375 # +3-683C U+83A0 # +3-683D U+8389 # +3-683E U+83A8 # +3-683F U+83F4 # +3-6840 U+8413 # +3-6841 U+83EB # +3-6842 U+83CE # +3-6843 U+83FD # +3-6844 U+8403 # +3-6845 U+83D8 # +3-6846 U+840B # +3-6847 U+83C1 # +3-6848 U+83F7 # +3-6849 U+8407 # +3-684A U+83E0 # +3-684B U+83F2 # +3-684C U+840D # +3-684D U+8422 # +3-684E U+8420 # +3-684F U+83BD # +3-6850 U+8438 # +3-6851 U+8506 # +3-6852 U+83FB # +3-6853 U+846D # +3-6854 U+842A # +3-6855 U+843C # +3-6856 U+855A # +3-6857 U+8484 # +3-6858 U+8477 # +3-6859 U+846B # +3-685A U+84AD # +3-685B U+846E # +3-685C U+8482 # +3-685D U+8469 # +3-685E U+8446 # +3-685F U+842C # +3-6860 U+846F # +3-6861 U+8479 # +3-6862 U+8435 # +3-6863 U+84CA # +3-6864 U+8462 # +3-6865 U+84B9 # +3-6866 U+84BF # +3-6867 U+849F # +3-6868 U+84D9 # +3-6869 U+84CD # +3-686A U+84BB # +3-686B U+84DA # +3-686C U+84D0 # +3-686D U+84C1 # +3-686E U+84C6 # +3-686F U+84D6 # +3-6870 U+84A1 # +3-6871 U+8521 # +3-6872 U+84FF # +3-6873 U+84F4 # +3-6874 U+8517 # +3-6875 U+8518 # +3-6876 U+852C # +3-6877 U+851F # +3-6878 U+8515 # +3-6879 U+8514 # +3-687A U+84FC # +3-687B U+8540 # +3-687C U+8563 # +3-687D U+8558 # +3-687E U+8548 # +3-6921 U+8541 # +3-6922 U+8602 # +3-6923 U+854B # +3-6924 U+8555 # +3-6925 U+8580 # +3-6926 U+85A4 # +3-6927 U+8588 # +3-6928 U+8591 # +3-6929 U+858A # +3-692A U+85A8 # +3-692B U+856D # +3-692C U+8594 # +3-692D U+859B # +3-692E U+85EA # +3-692F U+8587 # +3-6930 U+859C # +3-6931 U+8577 # +3-6932 U+857E # +3-6933 U+8590 # +3-6934 U+85C9 # +3-6935 U+85BA # +3-6936 U+85CF # +3-6937 U+85B9 # +3-6938 U+85D0 # +3-6939 U+85D5 # +3-693A U+85DD # +3-693B U+85E5 # +3-693C U+85DC # +3-693D U+85F9 # +3-693E U+860A # +3-693F U+8613 # +3-6940 U+860B # +3-6941 U+85FE # +3-6942 U+85FA # +3-6943 U+8606 # +3-6944 U+8622 # +3-6945 U+861A # +3-6946 U+8630 # +3-6947 U+863F # +3-6948 U+864D # +3-6949 U+4E55 # +3-694A U+8654 # +3-694B U+865F # +3-694C U+8667 # +3-694D U+8671 # +3-694E U+8693 # +3-694F U+86A3 # +3-6950 U+86A9 # +3-6951 U+86AA # +3-6952 U+868B # +3-6953 U+868C # +3-6954 U+86B6 # +3-6955 U+86AF # +3-6956 U+86C4 # +3-6957 U+86C6 # +3-6958 U+86B0 # +3-6959 U+86C9 # +3-695A U+8823 # +3-695B U+86AB # +3-695C U+86D4 # +3-695D U+86DE # +3-695E U+86E9 # +3-695F U+86EC # +3-6960 U+86DF # +3-6961 U+86DB # +3-6962 U+86EF # +3-6963 U+8712 # +3-6964 U+8706 # +3-6965 U+8708 # +3-6966 U+8700 # +3-6967 U+8703 # +3-6968 U+86FB # +3-6969 U+8711 # +3-696A U+8709 # +3-696B U+870D # +3-696C U+86F9 # +3-696D U+870A # +3-696E U+8734 # +3-696F U+873F # +3-6970 U+8737 # +3-6971 U+873B # +3-6972 U+8725 # +3-6973 U+8729 # +3-6974 U+871A # +3-6975 U+8760 # +3-6976 U+875F # +3-6977 U+8778 # +3-6978 U+874C # +3-6979 U+874E # +3-697A U+8774 # +3-697B U+8757 # +3-697C U+8768 # +3-697D U+876E # +3-697E U+8759 # +3-6A21 U+8753 # +3-6A22 U+8763 # +3-6A23 U+876A # +3-6A24 U+8805 # +3-6A25 U+87A2 # +3-6A26 U+879F # +3-6A27 U+8782 # +3-6A28 U+87AF # +3-6A29 U+87CB # +3-6A2A U+87BD # +3-6A2B U+87C0 # +3-6A2C U+87D0 # +3-6A2D U+96D6 # +3-6A2E U+87AB # +3-6A2F U+87C4 # +3-6A30 U+87B3 # +3-6A31 U+87C7 # +3-6A32 U+87C6 # +3-6A33 U+87BB # +3-6A34 U+87EF # +3-6A35 U+87F2 # +3-6A36 U+87E0 # +3-6A37 U+880F # +3-6A38 U+880D # +3-6A39 U+87FE # +3-6A3A U+87F6 # +3-6A3B U+87F7 # +3-6A3C U+880E # +3-6A3D U+87D2 # +3-6A3E U+8811 # +3-6A3F U+8816 # +3-6A40 U+8815 # +3-6A41 U+8822 # +3-6A42 U+8821 # +3-6A43 U+8831 # +3-6A44 U+8836 # +3-6A45 U+8839 # +3-6A46 U+8827 # +3-6A47 U+883B # +3-6A48 U+8844 # +3-6A49 U+8842 # +3-6A4A U+8852 # +3-6A4B U+8859 # +3-6A4C U+885E # +3-6A4D U+8862 # +3-6A4E U+886B # +3-6A4F U+8881 # +3-6A50 U+887E # +3-6A51 U+889E # +3-6A52 U+8875 # +3-6A53 U+887D # +3-6A54 U+88B5 # +3-6A55 U+8872 # +3-6A56 U+8882 # +3-6A57 U+8897 # +3-6A58 U+8892 # +3-6A59 U+88AE # +3-6A5A U+8899 # +3-6A5B U+88A2 # +3-6A5C U+888D # +3-6A5D U+88A4 # +3-6A5E U+88B0 # +3-6A5F U+88BF # +3-6A60 U+88B1 # +3-6A61 U+88C3 # +3-6A62 U+88C4 # +3-6A63 U+88D4 # +3-6A64 U+88D8 # +3-6A65 U+88D9 # +3-6A66 U+88DD # +3-6A67 U+88F9 # +3-6A68 U+8902 # +3-6A69 U+88FC # +3-6A6A U+88F4 # +3-6A6B U+88E8 # +3-6A6C U+88F2 # +3-6A6D U+8904 # +3-6A6E U+890C # +3-6A6F U+890A # +3-6A70 U+8913 # +3-6A71 U+8943 # +3-6A72 U+891E # +3-6A73 U+8925 # +3-6A74 U+892A # +3-6A75 U+892B # +3-6A76 U+8941 # +3-6A77 U+8944 # +3-6A78 U+893B # +3-6A79 U+8936 # +3-6A7A U+8938 # +3-6A7B U+894C # +3-6A7C U+891D # +3-6A7D U+8960 # +3-6A7E U+895E # +3-6B21 U+8966 # +3-6B22 U+8964 # +3-6B23 U+896D # +3-6B24 U+896A # +3-6B25 U+896F # +3-6B26 U+8974 # +3-6B27 U+8977 # +3-6B28 U+897E # +3-6B29 U+8983 # +3-6B2A U+8988 # +3-6B2B U+898A # +3-6B2C U+8993 # +3-6B2D U+8998 # +3-6B2E U+89A1 # +3-6B2F U+89A9 # +3-6B30 U+89A6 # +3-6B31 U+89AC # +3-6B32 U+89AF # +3-6B33 U+89B2 # +3-6B34 U+89BA # +3-6B35 U+89BD # +3-6B36 U+89BF # +3-6B37 U+89C0 # +3-6B38 U+89DA # +3-6B39 U+89DC # +3-6B3A U+89DD # +3-6B3B U+89E7 # +3-6B3C U+89F4 # +3-6B3D U+89F8 # +3-6B3E U+8A03 # +3-6B3F U+8A16 # +3-6B40 U+8A10 # +3-6B41 U+8A0C # +3-6B42 U+8A1B # +3-6B43 U+8A1D # +3-6B44 U+8A25 # +3-6B45 U+8A36 # +3-6B46 U+8A41 # +3-6B47 U+8A5B # +3-6B48 U+8A52 # +3-6B49 U+8A46 # +3-6B4A U+8A48 # +3-6B4B U+8A7C # +3-6B4C U+8A6D # +3-6B4D U+8A6C # +3-6B4E U+8A62 # +3-6B4F U+8A85 # +3-6B50 U+8A82 # +3-6B51 U+8A84 # +3-6B52 U+8AA8 # +3-6B53 U+8AA1 # +3-6B54 U+8A91 # +3-6B55 U+8AA5 # +3-6B56 U+8AA6 # +3-6B57 U+8A9A # +3-6B58 U+8AA3 # +3-6B59 U+8AC4 # +3-6B5A U+8ACD # +3-6B5B U+8AC2 # +3-6B5C U+8ADA # +3-6B5D U+8AEB # +3-6B5E U+8AF3 # +3-6B5F U+8AE7 # +3-6B60 U+8AE4 # +3-6B61 U+8AF1 # +3-6B62 U+8B14 # +3-6B63 U+8AE0 # +3-6B64 U+8AE2 # +3-6B65 U+8AF7 # +3-6B66 U+8ADE # +3-6B67 U+8ADB # +3-6B68 U+8B0C # +3-6B69 U+8B07 # +3-6B6A U+8B1A # +3-6B6B U+8AE1 # +3-6B6C U+8B16 # +3-6B6D U+8B10 # +3-6B6E U+8B17 # +3-6B6F U+8B20 # +3-6B70 U+8B33 # +3-6B71 U+97AB # +3-6B72 U+8B26 # +3-6B73 U+8B2B # +3-6B74 U+8B3E # +3-6B75 U+8B28 # +3-6B76 U+8B41 # +3-6B77 U+8B4C # +3-6B78 U+8B4F # +3-6B79 U+8B4E # +3-6B7A U+8B49 # +3-6B7B U+8B56 # +3-6B7C U+8B5B # +3-6B7D U+8B5A # +3-6B7E U+8B6B # +3-6C21 U+8B5F # +3-6C22 U+8B6C # +3-6C23 U+8B6F # +3-6C24 U+8B74 # +3-6C25 U+8B7D # +3-6C26 U+8B80 # +3-6C27 U+8B8C # +3-6C28 U+8B8E # +3-6C29 U+8B92 # +3-6C2A U+8B93 # +3-6C2B U+8B96 # +3-6C2C U+8B99 # +3-6C2D U+8B9A # +3-6C2E U+8C3A # +3-6C2F U+8C41 # +3-6C30 U+8C3F # +3-6C31 U+8C48 # +3-6C32 U+8C4C # +3-6C33 U+8C4E # +3-6C34 U+8C50 # +3-6C35 U+8C55 # +3-6C36 U+8C62 # +3-6C37 U+8C6C # +3-6C38 U+8C78 # +3-6C39 U+8C7A # +3-6C3A U+8C82 # +3-6C3B U+8C89 # +3-6C3C U+8C85 # +3-6C3D U+8C8A # +3-6C3E U+8C8D # +3-6C3F U+8C8E # +3-6C40 U+8C94 # +3-6C41 U+8C7C # +3-6C42 U+8C98 # +3-6C43 U+621D # +3-6C44 U+8CAD # +3-6C45 U+8CAA # +3-6C46 U+8CBD # +3-6C47 U+8CB2 # +3-6C48 U+8CB3 # +3-6C49 U+8CAE # +3-6C4A U+8CB6 # +3-6C4B U+8CC8 # +3-6C4C U+8CC1 # +3-6C4D U+8CE4 # +3-6C4E U+8CE3 # +3-6C4F U+8CDA # +3-6C50 U+8CFD # +3-6C51 U+8CFA # +3-6C52 U+8CFB # +3-6C53 U+8D04 # +3-6C54 U+8D05 # +3-6C55 U+8D0A # +3-6C56 U+8D07 # +3-6C57 U+8D0F # +3-6C58 U+8D0D # +3-6C59 U+8D10 # +3-6C5A U+9F4E # +3-6C5B U+8D13 # +3-6C5C U+8CCD # +3-6C5D U+8D14 # +3-6C5E U+8D16 # +3-6C5F U+8D67 # +3-6C60 U+8D6D # +3-6C61 U+8D71 # +3-6C62 U+8D73 # +3-6C63 U+8D81 # +3-6C64 U+8D99 # +3-6C65 U+8DC2 # +3-6C66 U+8DBE # +3-6C67 U+8DBA # +3-6C68 U+8DCF # +3-6C69 U+8DDA # +3-6C6A U+8DD6 # +3-6C6B U+8DCC # +3-6C6C U+8DDB # +3-6C6D U+8DCB # +3-6C6E U+8DEA # +3-6C6F U+8DEB # +3-6C70 U+8DDF # +3-6C71 U+8DE3 # +3-6C72 U+8DFC # +3-6C73 U+8E08 # +3-6C74 U+8E09 # +3-6C75 U+8DFF # +3-6C76 U+8E1D # +3-6C77 U+8E1E # +3-6C78 U+8E10 # +3-6C79 U+8E1F # +3-6C7A U+8E42 # +3-6C7B U+8E35 # +3-6C7C U+8E30 # +3-6C7D U+8E34 # +3-6C7E U+8E4A # +3-6D21 U+8E47 # +3-6D22 U+8E49 # +3-6D23 U+8E4C # +3-6D24 U+8E50 # +3-6D25 U+8E48 # +3-6D26 U+8E59 # +3-6D27 U+8E64 # +3-6D28 U+8E60 # +3-6D29 U+8E2A # +3-6D2A U+8E63 # +3-6D2B U+8E55 # +3-6D2C U+8E76 # +3-6D2D U+8E72 # +3-6D2E U+8E7C # +3-6D2F U+8E81 # +3-6D30 U+8E87 # +3-6D31 U+8E85 # +3-6D32 U+8E84 # +3-6D33 U+8E8B # +3-6D34 U+8E8A # +3-6D35 U+8E93 # +3-6D36 U+8E91 # +3-6D37 U+8E94 # +3-6D38 U+8E99 # +3-6D39 U+8EAA # +3-6D3A U+8EA1 # +3-6D3B U+8EAC # +3-6D3C U+8EB0 # +3-6D3D U+8EC6 # +3-6D3E U+8EB1 # +3-6D3F U+8EBE # +3-6D40 U+8EC5 # +3-6D41 U+8EC8 # +3-6D42 U+8ECB # +3-6D43 U+8EDB # +3-6D44 U+8EE3 # +3-6D45 U+8EFC # +3-6D46 U+8EFB # +3-6D47 U+8EEB # +3-6D48 U+8EFE # +3-6D49 U+8F0A # +3-6D4A U+8F05 # +3-6D4B U+8F15 # +3-6D4C U+8F12 # +3-6D4D U+8F19 # +3-6D4E U+8F13 # +3-6D4F U+8F1C # +3-6D50 U+8F1F # +3-6D51 U+8F1B # +3-6D52 U+8F0C # +3-6D53 U+8F26 # +3-6D54 U+8F33 # +3-6D55 U+8F3B # +3-6D56 U+8F39 # +3-6D57 U+8F45 # +3-6D58 U+8F42 # +3-6D59 U+8F3E # +3-6D5A U+8F4C # +3-6D5B U+8F49 # +3-6D5C U+8F46 # +3-6D5D U+8F4E # +3-6D5E U+8F57 # +3-6D5F U+8F5C # +3-6D60 U+8F62 # +3-6D61 U+8F63 # +3-6D62 U+8F64 # +3-6D63 U+8F9C # +3-6D64 U+8F9F # +3-6D65 U+8FA3 # +3-6D66 U+8FAD # +3-6D67 U+8FAF # +3-6D68 U+8FB7 # +3-6D69 U+8FDA # +3-6D6A U+8FE5 # +3-6D6B U+8FE2 # +3-6D6C U+8FEA # +3-6D6D U+8FEF # +3-6D6E U+9087 # +3-6D6F U+8FF4 # +3-6D70 U+9005 # +3-6D71 U+8FF9 # +3-6D72 U+8FFA # +3-6D73 U+9011 # +3-6D74 U+9015 # +3-6D75 U+9021 # +3-6D76 U+900D # +3-6D77 U+901E # +3-6D78 U+9016 # +3-6D79 U+900B # +3-6D7A U+9027 # +3-6D7B U+9036 # +3-6D7C U+9035 # +3-6D7D U+9039 # +3-6D7E U+8FF8 # +3-6E21 U+904F # +3-6E22 U+9050 # +3-6E23 U+9051 # +3-6E24 U+9052 # +3-6E25 U+900E # +3-6E26 U+9049 # +3-6E27 U+903E # +3-6E28 U+9056 # +3-6E29 U+9058 # +3-6E2A U+905E # +3-6E2B U+9068 # +3-6E2C U+906F # +3-6E2D U+9076 # +3-6E2E U+96A8 # +3-6E2F U+9072 # +3-6E30 U+9082 # +3-6E31 U+907D # +3-6E32 U+9081 # +3-6E33 U+9080 # +3-6E34 U+908A # +3-6E35 U+9089 # +3-6E36 U+908F # +3-6E37 U+90A8 # +3-6E38 U+90AF # +3-6E39 U+90B1 # +3-6E3A U+90B5 # +3-6E3B U+90E2 # +3-6E3C U+90E4 # +3-6E3D U+6248 # +3-6E3E U+90DB # +3-6E3F U+9102 # +3-6E40 U+9112 # +3-6E41 U+9119 # +3-6E42 U+9132 # +3-6E43 U+9130 # +3-6E44 U+914A # +3-6E45 U+9156 # +3-6E46 U+9158 # +3-6E47 U+9163 # +3-6E48 U+9165 # +3-6E49 U+9169 # +3-6E4A U+9173 # +3-6E4B U+9172 # +3-6E4C U+918B # +3-6E4D U+9189 # +3-6E4E U+9182 # +3-6E4F U+91A2 # +3-6E50 U+91AB # +3-6E51 U+91AF # +3-6E52 U+91AA # +3-6E53 U+91B5 # +3-6E54 U+91B4 # +3-6E55 U+91BA # +3-6E56 U+91C0 # +3-6E57 U+91C1 # +3-6E58 U+91C9 # +3-6E59 U+91CB # +3-6E5A U+91D0 # +3-6E5B U+91D6 # +3-6E5C U+91DF # +3-6E5D U+91E1 # +3-6E5E U+91DB # +3-6E5F U+91FC # +3-6E60 U+91F5 # +3-6E61 U+91F6 # +3-6E62 U+921E # +3-6E63 U+91FF # +3-6E64 U+9214 # +3-6E65 U+922C # +3-6E66 U+9215 # +3-6E67 U+9211 # +3-6E68 U+925E # +3-6E69 U+9257 # +3-6E6A U+9245 # +3-6E6B U+9249 # +3-6E6C U+9264 # +3-6E6D U+9248 # +3-6E6E U+9295 # +3-6E6F U+923F # +3-6E70 U+924B # +3-6E71 U+9250 # +3-6E72 U+929C # +3-6E73 U+9296 # +3-6E74 U+9293 # +3-6E75 U+929B # +3-6E76 U+925A # +3-6E77 U+92CF # +3-6E78 U+92B9 # +3-6E79 U+92B7 # +3-6E7A U+92E9 # +3-6E7B U+930F # +3-6E7C U+92FA # +3-6E7D U+9344 # +3-6E7E U+932E # +3-6F21 U+9319 # +3-6F22 U+9322 # +3-6F23 U+931A # +3-6F24 U+9323 # +3-6F25 U+933A # +3-6F26 U+9335 # +3-6F27 U+933B # +3-6F28 U+935C # +3-6F29 U+9360 # +3-6F2A U+937C # +3-6F2B U+936E # +3-6F2C U+9356 # +3-6F2D U+93B0 # +3-6F2E U+93AC # +3-6F2F U+93AD # +3-6F30 U+9394 # +3-6F31 U+93B9 # +3-6F32 U+93D6 # +3-6F33 U+93D7 # +3-6F34 U+93E8 # +3-6F35 U+93E5 # +3-6F36 U+93D8 # +3-6F37 U+93C3 # +3-6F38 U+93DD # +3-6F39 U+93D0 # +3-6F3A U+93C8 # +3-6F3B U+93E4 # +3-6F3C U+941A # +3-6F3D U+9414 # +3-6F3E U+9413 # +3-6F3F U+9403 # +3-6F40 U+9407 # +3-6F41 U+9410 # +3-6F42 U+9436 # +3-6F43 U+942B # +3-6F44 U+9435 # +3-6F45 U+9421 # +3-6F46 U+943A # +3-6F47 U+9441 # +3-6F48 U+9452 # +3-6F49 U+9444 # +3-6F4A U+945B # +3-6F4B U+9460 # +3-6F4C U+9462 # +3-6F4D U+945E # +3-6F4E U+946A # +3-6F4F U+9229 # +3-6F50 U+9470 # +3-6F51 U+9475 # +3-6F52 U+9477 # +3-6F53 U+947D # +3-6F54 U+945A # +3-6F55 U+947C # +3-6F56 U+947E # +3-6F57 U+9481 # +3-6F58 U+947F # +3-6F59 U+9582 # +3-6F5A U+9587 # +3-6F5B U+958A # +3-6F5C U+9594 # +3-6F5D U+9596 # +3-6F5E U+9598 # +3-6F5F U+9599 # +3-6F60 U+95A0 # +3-6F61 U+95A8 # +3-6F62 U+95A7 # +3-6F63 U+95AD # +3-6F64 U+95BC # +3-6F65 U+95BB # +3-6F66 U+95B9 # +3-6F67 U+95BE # +3-6F68 U+95CA # +3-6F69 U+6FF6 # +3-6F6A U+95C3 # +3-6F6B U+95CD # +3-6F6C U+95CC # +3-6F6D U+95D5 # +3-6F6E U+95D4 # +3-6F6F U+95D6 # +3-6F70 U+95DC # +3-6F71 U+95E1 # +3-6F72 U+95E5 # +3-6F73 U+95E2 # +3-6F74 U+9621 # +3-6F75 U+9628 # +3-6F76 U+962E # +3-6F77 U+962F # +3-6F78 U+9642 # +3-6F79 U+964C # +3-6F7A U+964F # +3-6F7B U+964B # +3-6F7C U+9677 # +3-6F7D U+965C # +3-6F7E U+965E # +3-7021 U+965D # +3-7022 U+965F # +3-7023 U+9666 # +3-7024 U+9672 # +3-7025 U+966C # +3-7026 U+968D # +3-7027 U+9698 # +3-7028 U+9695 # +3-7029 U+9697 # +3-702A U+96AA # +3-702B U+96A7 # +3-702C U+96B1 # +3-702D U+96B2 # +3-702E U+96B0 # +3-702F U+96B4 # +3-7030 U+96B6 # +3-7031 U+96B8 # +3-7032 U+96B9 # +3-7033 U+96CE # +3-7034 U+96CB # +3-7035 U+96C9 # +3-7036 U+96CD # +3-7037 U+894D # +3-7038 U+96DC # +3-7039 U+970D # +3-703A U+96D5 # +3-703B U+96F9 # +3-703C U+9704 # +3-703D U+9706 # +3-703E U+9708 # +3-703F U+9713 # +3-7040 U+970E # +3-7041 U+9711 # +3-7042 U+970F # +3-7043 U+9716 # +3-7044 U+9719 # +3-7045 U+9724 # +3-7046 U+972A # +3-7047 U+9730 # +3-7048 U+9739 # +3-7049 U+973D # +3-704A U+973E # +3-704B U+9744 # +3-704C U+9746 # +3-704D U+9748 # +3-704E U+9742 # +3-704F U+9749 # +3-7050 U+975C # +3-7051 U+9760 # +3-7052 U+9764 # +3-7053 U+9766 # +3-7054 U+9768 # +3-7055 U+52D2 # +3-7056 U+976B # +3-7057 U+9771 # +3-7058 U+9779 # +3-7059 U+9785 # +3-705A U+977C # +3-705B U+9781 # +3-705C U+977A # +3-705D U+9786 # +3-705E U+978B # +3-705F U+978F # +3-7060 U+9790 # +3-7061 U+979C # +3-7062 U+97A8 # +3-7063 U+97A6 # +3-7064 U+97A3 # +3-7065 U+97B3 # +3-7066 U+97B4 # +3-7067 U+97C3 # +3-7068 U+97C6 # +3-7069 U+97C8 # +3-706A U+97CB # +3-706B U+97DC # +3-706C U+97ED # +3-706D U+9F4F # +3-706E U+97F2 # +3-706F U+7ADF # +3-7070 U+97F6 # +3-7071 U+97F5 # +3-7072 U+980F # +3-7073 U+980C # +3-7074 U+9838 # +3-7075 U+9824 # +3-7076 U+9821 # +3-7077 U+9837 # +3-7078 U+983D # +3-7079 U+9846 # +3-707A U+984F # +3-707B U+984B # +3-707C U+986B # +3-707D U+986F # +3-707E U+9870 # +3-7121 U+9871 # +3-7122 U+9874 # +3-7123 U+9873 # +3-7124 U+98AA # +3-7125 U+98AF # +3-7126 U+98B1 # +3-7127 U+98B6 # +3-7128 U+98C4 # +3-7129 U+98C3 # +3-712A U+98C6 # +3-712B U+98E9 # +3-712C U+98EB # +3-712D U+9903 # +3-712E U+9909 # +3-712F U+9912 # +3-7130 U+9914 # +3-7131 U+9918 # +3-7132 U+9921 # +3-7133 U+991D # +3-7134 U+991E # +3-7135 U+9924 # +3-7136 U+9920 # +3-7137 U+992C # +3-7138 U+992E # +3-7139 U+993D # +3-713A U+993E # +3-713B U+9942 # +3-713C U+9949 # +3-713D U+9945 # +3-713E U+9950 # +3-713F U+994B # +3-7140 U+9951 # +3-7141 U+9952 # +3-7142 U+994C # +3-7143 U+9955 # +3-7144 U+9997 # +3-7145 U+9998 # +3-7146 U+99A5 # +3-7147 U+99AD # +3-7148 U+99AE # +3-7149 U+99BC # +3-714A U+99DF # +3-714B U+99DB # +3-714C U+99DD # +3-714D U+99D8 # +3-714E U+99D1 # +3-714F U+99ED # +3-7150 U+99EE # +3-7151 U+99F1 # +3-7152 U+99F2 # +3-7153 U+99FB # +3-7154 U+99F8 # +3-7155 U+9A01 # +3-7156 U+9A0F # +3-7157 U+9A05 # +3-7158 U+99E2 # +3-7159 U+9A19 # +3-715A U+9A2B # +3-715B U+9A37 # +3-715C U+9A45 # +3-715D U+9A42 # +3-715E U+9A40 # +3-715F U+9A43 # +3-7160 U+9A3E # +3-7161 U+9A55 # +3-7162 U+9A4D # +3-7163 U+9A5B # +3-7164 U+9A57 # +3-7165 U+9A5F # +3-7166 U+9A62 # +3-7167 U+9A65 # +3-7168 U+9A64 # +3-7169 U+9A69 # +3-716A U+9A6B # +3-716B U+9A6A # +3-716C U+9AAD # +3-716D U+9AB0 # +3-716E U+9ABC # +3-716F U+9AC0 # +3-7170 U+9ACF # +3-7171 U+9AD1 # +3-7172 U+9AD3 # +3-7173 U+9AD4 # +3-7174 U+9ADE # +3-7175 U+9ADF # +3-7176 U+9AE2 # +3-7177 U+9AE3 # +3-7178 U+9AE6 # +3-7179 U+9AEF # +3-717A U+9AEB # +3-717B U+9AEE # +3-717C U+9AF4 # +3-717D U+9AF1 # +3-717E U+9AF7 # +3-7221 U+9AFB # +3-7222 U+9B06 # +3-7223 U+9B18 # +3-7224 U+9B1A # +3-7225 U+9B1F # +3-7226 U+9B22 # +3-7227 U+9B23 # +3-7228 U+9B25 # +3-7229 U+9B27 # +3-722A U+9B28 # +3-722B U+9B29 # +3-722C U+9B2A # +3-722D U+9B2E # +3-722E U+9B2F # +3-722F U+9B32 # +3-7230 U+9B44 # +3-7231 U+9B43 # +3-7232 U+9B4F # +3-7233 U+9B4D # +3-7234 U+9B4E # +3-7235 U+9B51 # +3-7236 U+9B58 # +3-7237 U+9B74 # +3-7238 U+9B93 # +3-7239 U+9B83 # +3-723A U+9B91 # +3-723B U+9B96 # +3-723C U+9B97 # +3-723D U+9B9F # +3-723E U+9BA0 # +3-723F U+9BA8 # +3-7240 U+9BB4 # +3-7241 U+9BC0 # +3-7242 U+9BCA # +3-7243 U+9BB9 # +3-7244 U+9BC6 # +3-7245 U+9BCF # +3-7246 U+9BD1 # +3-7247 U+9BD2 # +3-7248 U+9BE3 # +3-7249 U+9BE2 # +3-724A U+9BE4 # +3-724B U+9BD4 # +3-724C U+9BE1 # +3-724D U+9C3A # +3-724E U+9BF2 # +3-724F U+9BF1 # +3-7250 U+9BF0 # +3-7251 U+9C15 # +3-7252 U+9C14 # +3-7253 U+9C09 # +3-7254 U+9C13 # +3-7255 U+9C0C # +3-7256 U+9C06 # +3-7257 U+9C08 # +3-7258 U+9C12 # +3-7259 U+9C0A # +3-725A U+9C04 # +3-725B U+9C2E # +3-725C U+9C1B # +3-725D U+9C25 # +3-725E U+9C24 # +3-725F U+9C21 # +3-7260 U+9C30 # +3-7261 U+9C47 # +3-7262 U+9C32 # +3-7263 U+9C46 # +3-7264 U+9C3E # +3-7265 U+9C5A # +3-7266 U+9C60 # +3-7267 U+9C67 # +3-7268 U+9C76 # +3-7269 U+9C78 # +3-726A U+9CE7 # +3-726B U+9CEC # +3-726C U+9CF0 # +3-726D U+9D09 # +3-726E U+9D08 # +3-726F U+9CEB # +3-7270 U+9D03 # +3-7271 U+9D06 # +3-7272 U+9D2A # +3-7273 U+9D26 # +3-7274 U+9DAF # +3-7275 U+9D23 # +3-7276 U+9D1F # +3-7277 U+9D44 # +3-7278 U+9D15 # +3-7279 U+9D12 # +3-727A U+9D41 # +3-727B U+9D3F # +3-727C U+9D3E # +3-727D U+9D46 # +3-727E U+9D48 # +3-7321 U+9D5D # +3-7322 U+9D5E # +3-7323 U+9D64 # +3-7324 U+9D51 # +3-7325 U+9D50 # +3-7326 U+9D59 # +3-7327 U+9D72 # +3-7328 U+9D89 # +3-7329 U+9D87 # +3-732A U+9DAB # +3-732B U+9D6F # +3-732C U+9D7A # +3-732D U+9D9A # +3-732E U+9DA4 # +3-732F U+9DA9 # +3-7330 U+9DB2 # +3-7331 U+9DC4 # +3-7332 U+9DC1 # +3-7333 U+9DBB # +3-7334 U+9DB8 # +3-7335 U+9DBA # +3-7336 U+9DC6 # +3-7337 U+9DCF # +3-7338 U+9DC2 # +3-7339 U+9DD9 # +3-733A U+9DD3 # +3-733B U+9DF8 # +3-733C U+9DE6 # +3-733D U+9DED # +3-733E U+9DEF # +3-733F U+9DFD # +3-7340 U+9E1A # +3-7341 U+9E1B # +3-7342 U+9E1E # +3-7343 U+9E75 # +3-7344 U+9E79 # +3-7345 U+9E7D # +3-7346 U+9E81 # +3-7347 U+9E88 # +3-7348 U+9E8B # +3-7349 U+9E8C # +3-734A U+9E92 # +3-734B U+9E95 # +3-734C U+9E91 # +3-734D U+9E9D # +3-734E U+9EA5 # +3-734F U+9EA9 # +3-7350 U+9EB8 # +3-7351 U+9EAA # +3-7352 U+9EAD # +3-7353 U+9761 # +3-7354 U+9ECC # +3-7355 U+9ECE # +3-7356 U+9ECF # +3-7357 U+9ED0 # +3-7358 U+9ED4 # +3-7359 U+9EDC # +3-735A U+9EDE # +3-735B U+9EDD # +3-735C U+9EE0 # +3-735D U+9EE5 # +3-735E U+9EE8 # +3-735F U+9EEF # +3-7360 U+9EF4 # +3-7361 U+9EF6 # +3-7362 U+9EF7 # +3-7363 U+9EF9 # +3-7364 U+9EFB # +3-7365 U+9EFC # +3-7366 U+9EFD # +3-7367 U+9F07 # +3-7368 U+9F08 # +3-7369 U+76B7 # +3-736A U+9F15 # +3-736B U+9F21 # +3-736C U+9F2C # +3-736D U+9F3E # +3-736E U+9F4A # +3-736F U+9F52 # +3-7370 U+9F54 # +3-7371 U+9F63 # +3-7372 U+9F5F # +3-7373 U+9F60 # +3-7374 U+9F61 # +3-7375 U+9F66 # +3-7376 U+9F67 # +3-7377 U+9F6C # +3-7378 U+9F6A # +3-7379 U+9F77 # +3-737A U+9F72 # +3-737B U+9F76 # +3-737C U+9F95 # +3-737D U+9F9C # +3-737E U+9FA0 # +3-7421 U+582F # [1983] +3-7422 U+69C7 # [1983] +3-7423 U+9059 # [1983] +3-7424 U+7464 # [1983] +3-7425 U+51DC # [1990] +3-7426 U+7199 # [1990] +3-7427 U+5653 # [2004] +3-7428 U+5DE2 # [2000] +3-7429 U+5E14 # [2000] +3-742A U+5E18 # [2000] +3-742B U+5E58 # [2000] +3-742C U+5E5E # [2000] +3-742D U+5EBE # [2000] +3-742E U+F928 # CJK COMPATIBILITY IDEOGRAPH-F928 [2000] +3-742F U+5ECB # [2000] +3-7430 U+5EF9 # [2000] +3-7431 U+5F00 # [2000] +3-7432 U+5F02 # [2000] +3-7433 U+5F07 # [2000] +3-7434 U+5F1D # [2000] +3-7435 U+5F23 # [2000] +3-7436 U+5F34 # [2000] +3-7437 U+5F36 # [2000] +3-7438 U+5F3D # [2000] +3-7439 U+5F40 # [2000] +3-743A U+5F45 # [2000] +3-743B U+5F54 # [2000] +3-743C U+5F58 # [2000] +3-743D U+5F64 # [2000] +3-743E U+5F67 # [2000] +3-743F U+5F7D # [2000] +3-7440 U+5F89 # [2000] +3-7441 U+5F9C # [2000] +3-7442 U+5FA7 # [2000] +3-7443 U+5FAF # [2000] +3-7444 U+5FB5 # [2000] +3-7445 U+5FB7 # [2000] +3-7446 U+5FC9 # [2000] +3-7447 U+5FDE # [2000] +3-7448 U+5FE1 # [2000] +3-7449 U+5FE9 # [2000] +3-744A U+600D # [2000] +3-744B U+6014 # [2000] +3-744C U+6018 # [2000] +3-744D U+6033 # [2000] +3-744E U+6035 # [2000] +3-744F U+6047 # [2000] +3-7450 U+FA3D # CJK COMPATIBILITY IDEOGRAPH-FA3D [2000] [Unicode3.2] +3-7451 U+609D # [2000] +3-7452 U+609E # [2000] +3-7453 U+60CB # [2000] +3-7454 U+60D4 # [2000] +3-7455 U+60D5 # [2000] +3-7456 U+60DD # [2000] +3-7457 U+60F8 # [2000] +3-7458 U+611C # [2000] +3-7459 U+612B # [2000] +3-745A U+6130 # [2000] +3-745B U+6137 # [2000] +3-745C U+FA3E # CJK COMPATIBILITY IDEOGRAPH-FA3E [2000] [Unicode3.2] +3-745D U+618D # [2000] +3-745E U+FA3F # CJK COMPATIBILITY IDEOGRAPH-FA3F [2000] [Unicode3.2] +3-745F U+61BC # [2000] +3-7460 U+61B9 # [2000] +3-7461 U+FA40 # CJK COMPATIBILITY IDEOGRAPH-FA40 [2000] [Unicode3.2] +3-7462 U+6222 # [2000] +3-7463 U+623E # [2000] +3-7464 U+6243 # [2000] +3-7465 U+6256 # [2000] +3-7466 U+625A # [2000] +3-7467 U+626F # [2000] +3-7468 U+6285 # [2000] +3-7469 U+62C4 # [2000] +3-746A U+62D6 # [2000] +3-746B U+62FC # [2000] +3-746C U+630A # [2000] +3-746D U+6318 # [2000] +3-746E U+6339 # [2000] +3-746F U+6343 # [2000] +3-7470 U+6365 # [2000] +3-7471 U+637C # [2000] +3-7472 U+63E5 # [2000] +3-7473 U+63ED # [2000] +3-7474 U+63F5 # [2000] +3-7475 U+6410 # [2000] +3-7476 U+6414 # [2000] +3-7477 U+6422 # [2000] +3-7478 U+6479 # [2000] +3-7479 U+6451 # [2000] +3-747A U+6460 # [2000] +3-747B U+646D # [2000] +3-747C U+64CE # [2000] +3-747D U+64BE # [2000] +3-747E U+64BF # [2000] +3-7521 U+64C4 # [2000] +3-7522 U+64CA # [2000] +3-7523 U+64D0 # [2000] +3-7524 U+64F7 # [2000] +3-7525 U+64FB # [2000] +3-7526 U+6522 # [2000] +3-7527 U+6529 # [2000] +3-7528 U+FA41 # CJK COMPATIBILITY IDEOGRAPH-FA41 [2000] [Unicode3.2] +3-7529 U+6567 # [2000] +3-752A U+659D # [2000] +3-752B U+FA42 # CJK COMPATIBILITY IDEOGRAPH-FA42 [2000] [Unicode3.2] +3-752C U+6600 # [2000] +3-752D U+6609 # [2000] +3-752E U+6615 # [2000] +3-752F U+661E # [2000] +3-7530 U+663A # [2000] +3-7531 U+6622 # [2000] +3-7532 U+6624 # [2000] +3-7533 U+662B # [2000] +3-7534 U+6630 # [2000] +3-7535 U+6631 # [2000] +3-7536 U+6633 # [2000] +3-7537 U+66FB # [2000] +3-7538 U+6648 # [2000] +3-7539 U+664C # [2000] +3-753A U+231C4 # [2000] [Unicode3.1] +3-753B U+6659 # [2000] +3-753C U+665A # [2000] +3-753D U+6661 # [2000] +3-753E U+6665 # [2000] +3-753F U+6673 # [2000] +3-7540 U+6677 # [2000] +3-7541 U+6678 # [2000] +3-7542 U+668D # [2000] +3-7543 U+FA43 # CJK COMPATIBILITY IDEOGRAPH-FA43 [2000] [Unicode3.2] +3-7544 U+66A0 # [2000] +3-7545 U+66B2 # [2000] +3-7546 U+66BB # [2000] +3-7547 U+66C6 # [2000] +3-7548 U+66C8 # [2000] +3-7549 U+3B22 # [2000] +3-754A U+66DB # [2000] +3-754B U+66E8 # [2000] +3-754C U+66FA # [2000] +3-754D U+6713 # [2000] +3-754E U+F929 # CJK COMPATIBILITY IDEOGRAPH-F929 [2000] +3-754F U+6733 # [2000] +3-7550 U+6766 # [2000] +3-7551 U+6747 # [2000] +3-7552 U+6748 # [2000] +3-7553 U+677B # [2000] +3-7554 U+6781 # [2000] +3-7555 U+6793 # [2000] +3-7556 U+6798 # [2000] +3-7557 U+679B # [2000] +3-7558 U+67BB # [2000] +3-7559 U+67F9 # [2000] +3-755A U+67C0 # [2000] +3-755B U+67D7 # [2000] +3-755C U+67FC # [2000] +3-755D U+6801 # [2000] +3-755E U+6852 # [2000] +3-755F U+681D # [2000] +3-7560 U+682C # [2000] +3-7561 U+6831 # [2000] +3-7562 U+685B # [2000] +3-7563 U+6872 # [2000] +3-7564 U+6875 # [2000] +3-7565 U+FA44 # CJK COMPATIBILITY IDEOGRAPH-FA44 [2000] [Unicode3.2] +3-7566 U+68A3 # [2000] +3-7567 U+68A5 # [2000] +3-7568 U+68B2 # [2000] +3-7569 U+68C8 # [2000] +3-756A U+68D0 # [2000] +3-756B U+68E8 # [2000] +3-756C U+68ED # [2000] +3-756D U+68F0 # [2000] +3-756E U+68F1 # [2000] +3-756F U+68FC # [2000] +3-7570 U+690A # [2000] +3-7571 U+6949 # [2000] +3-7572 U+235C4 # [2000] [Unicode3.1] +3-7573 U+6935 # [2000] +3-7574 U+6942 # [2000] +3-7575 U+6957 # [2000] +3-7576 U+6963 # [2000] +3-7577 U+6964 # [2000] +3-7578 U+6968 # [2000] +3-7579 U+6980 # [2000] +3-757A U+FA14 # CJK COMPATIBILITY IDEOGRAPH-FA14 [2000] +3-757B U+69A5 # [2000] +3-757C U+69AD # [2000] +3-757D U+69CF # [2000] +3-757E U+3BB6 # [2000] +3-7621 U+3BC3 # [2000] +3-7622 U+69E2 # [2000] +3-7623 U+69E9 # [2000] +3-7624 U+69EA # [2000] +3-7625 U+69F5 # [2000] +3-7626 U+69F6 # [2000] +3-7627 U+6A0F # [2000] +3-7628 U+6A15 # [2000] +3-7629 U+2373F # [2000] [Unicode3.1] +3-762A U+6A3B # [2000] +3-762B U+6A3E # [2000] +3-762C U+6A45 # [2000] +3-762D U+6A50 # [2000] +3-762E U+6A56 # [2000] +3-762F U+6A5B # [2000] +3-7630 U+6A6B # [2000] +3-7631 U+6A73 # [2000] +3-7632 U+23763 # [2000] [Unicode3.1] +3-7633 U+6A89 # [2000] +3-7634 U+6A94 # [2000] +3-7635 U+6A9D # [2000] +3-7636 U+6A9E # [2000] +3-7637 U+6AA5 # [2000] +3-7638 U+6AE4 # [2000] +3-7639 U+6AE7 # [2000] +3-763A U+3C0F # [2000] +3-763B U+F91D # CJK COMPATIBILITY IDEOGRAPH-F91D [2000] +3-763C U+6B1B # [2000] +3-763D U+6B1E # [2000] +3-763E U+6B2C # [2000] +3-763F U+6B35 # [2000] +3-7640 U+6B46 # [2000] +3-7641 U+6B56 # [2000] +3-7642 U+6B60 # [2000] +3-7643 U+6B65 # [2000] +3-7644 U+6B67 # [2000] +3-7645 U+6B77 # [2000] +3-7646 U+6B82 # [2000] +3-7647 U+6BA9 # [2000] +3-7648 U+6BAD # [2000] +3-7649 U+F970 # CJK COMPATIBILITY IDEOGRAPH-F970 [2000] +3-764A U+6BCF # [2000] +3-764B U+6BD6 # [2000] +3-764C U+6BD7 # [2000] +3-764D U+6BFF # [2000] +3-764E U+6C05 # [2000] +3-764F U+6C10 # [2000] +3-7650 U+6C33 # [2000] +3-7651 U+6C59 # [2000] +3-7652 U+6C5C # [2000] +3-7653 U+6CAA # [2000] +3-7654 U+6C74 # [2000] +3-7655 U+6C76 # [2000] +3-7656 U+6C85 # [2000] +3-7657 U+6C86 # [2000] +3-7658 U+6C98 # [2000] +3-7659 U+6C9C # [2000] +3-765A U+6CFB # [2000] +3-765B U+6CC6 # [2000] +3-765C U+6CD4 # [2000] +3-765D U+6CE0 # [2000] +3-765E U+6CEB # [2000] +3-765F U+6CEE # [2000] +3-7660 U+23CFE # [2000] [Unicode3.1] +3-7661 U+6D04 # [2000] +3-7662 U+6D0E # [2000] +3-7663 U+6D2E # [2000] +3-7664 U+6D31 # [2000] +3-7665 U+6D39 # [2000] +3-7666 U+6D3F # [2000] +3-7667 U+6D58 # [2000] +3-7668 U+6D65 # [2000] +3-7669 U+FA45 # CJK COMPATIBILITY IDEOGRAPH-FA45 [2000] [Unicode3.2] +3-766A U+6D82 # [2000] +3-766B U+6D87 # [2000] +3-766C U+6D89 # [2000] +3-766D U+6D94 # [2000] +3-766E U+6DAA # [2000] +3-766F U+6DAC # [2000] +3-7670 U+6DBF # [2000] +3-7671 U+6DC4 # [2000] +3-7672 U+6DD6 # [2000] +3-7673 U+6DDA # [2000] +3-7674 U+6DDB # [2000] +3-7675 U+6DDD # [2000] +3-7676 U+6DFC # [2000] +3-7677 U+FA46 # CJK COMPATIBILITY IDEOGRAPH-FA46 [2000] [Unicode3.2] +3-7678 U+6E34 # [2000] +3-7679 U+6E44 # [2000] +3-767A U+6E5C # [2000] +3-767B U+6E5E # [2000] +3-767C U+6EAB # [2000] +3-767D U+6EB1 # [2000] +3-767E U+6EC1 # [2000] +3-7721 U+6EC7 # [2000] +3-7722 U+6ECE # [2000] +3-7723 U+6F10 # [2000] +3-7724 U+6F1A # [2000] +3-7725 U+FA47 # CJK COMPATIBILITY IDEOGRAPH-FA47 [2000] [Unicode3.2] +3-7726 U+6F2A # [2000] +3-7727 U+6F2F # [2000] +3-7728 U+6F33 # [2000] +3-7729 U+6F51 # [2000] +3-772A U+6F59 # [2000] +3-772B U+6F5E # [2000] +3-772C U+6F61 # [2000] +3-772D U+6F62 # [2000] +3-772E U+6F7E # [2000] +3-772F U+6F88 # [2000] +3-7730 U+6F8C # [2000] +3-7731 U+6F8D # [2000] +3-7732 U+6F94 # [2000] +3-7733 U+6FA0 # [2000] +3-7734 U+6FA7 # [2000] +3-7735 U+6FB6 # [2000] +3-7736 U+6FBC # [2000] +3-7737 U+6FC7 # [2000] +3-7738 U+6FCA # [2000] +3-7739 U+6FF9 # [2000] +3-773A U+6FF0 # [2000] +3-773B U+6FF5 # [2000] +3-773C U+7005 # [2000] +3-773D U+7006 # [2000] +3-773E U+7028 # [2000] +3-773F U+704A # [2000] +3-7740 U+705D # [2000] +3-7741 U+705E # [2000] +3-7742 U+704E # [2000] +3-7743 U+7064 # [2000] +3-7744 U+7075 # [2000] +3-7745 U+7085 # [2000] +3-7746 U+70A4 # [2000] +3-7747 U+70AB # [2000] +3-7748 U+70B7 # [2000] +3-7749 U+70D4 # [2000] +3-774A U+70D8 # [2000] +3-774B U+70E4 # [2000] +3-774C U+710F # [2000] +3-774D U+712B # [2000] +3-774E U+711E # [2000] +3-774F U+7120 # [2000] +3-7750 U+712E # [2000] +3-7751 U+7130 # [2000] +3-7752 U+7146 # [2000] +3-7753 U+7147 # [2000] +3-7754 U+7151 # [2000] +3-7755 U+FA48 # CJK COMPATIBILITY IDEOGRAPH-FA48 [2000] [Unicode3.2] +3-7756 U+7152 # [2000] +3-7757 U+715C # [2000] +3-7758 U+7160 # [2000] +3-7759 U+7168 # [2000] +3-775A U+FA15 # CJK COMPATIBILITY IDEOGRAPH-FA15 [2000] +3-775B U+7185 # [2000] +3-775C U+7187 # [2000] +3-775D U+7192 # [2000] +3-775E U+71C1 # [2000] +3-775F U+71BA # [2000] +3-7760 U+71C4 # [2000] +3-7761 U+71FE # [2000] +3-7762 U+7200 # [2000] +3-7763 U+7215 # [2000] +3-7764 U+7255 # [2000] +3-7765 U+7256 # [2000] +3-7766 U+3E3F # [2000] +3-7767 U+728D # [2000] +3-7768 U+729B # [2000] +3-7769 U+72BE # [2000] +3-776A U+72C0 # [2000] +3-776B U+72FB # [2000] +3-776C U+247F1 # [2000] [Unicode3.1] +3-776D U+7327 # [2000] +3-776E U+7328 # [2000] +3-776F U+FA16 # CJK COMPATIBILITY IDEOGRAPH-FA16 [2000] +3-7770 U+7350 # [2000] +3-7771 U+7366 # [2000] +3-7772 U+737C # [2000] +3-7773 U+7395 # [2000] +3-7774 U+739F # [2000] +3-7775 U+73A0 # [2000] +3-7776 U+73A2 # [2000] +3-7777 U+73A6 # [2000] +3-7778 U+73AB # [2000] +3-7779 U+73C9 # [2000] +3-777A U+73CF # [2000] +3-777B U+73D6 # [2000] +3-777C U+73D9 # [2000] +3-777D U+73E3 # [2000] +3-777E U+73E9 # [2000] +3-7821 U+7407 # [2000] +3-7822 U+740A # [2000] +3-7823 U+741A # [2000] +3-7824 U+741B # [2000] +3-7825 U+FA4A # CJK COMPATIBILITY IDEOGRAPH-FA4A [2000] [Unicode3.2] +3-7826 U+7426 # [2000] +3-7827 U+7428 # [2000] +3-7828 U+742A # [2000] +3-7829 U+742B # [2000] +3-782A U+742C # [2000] +3-782B U+742E # [2000] +3-782C U+742F # [2000] +3-782D U+7430 # [2000] +3-782E U+7444 # [2000] +3-782F U+7446 # [2000] +3-7830 U+7447 # [2000] +3-7831 U+744B # [2000] +3-7832 U+7457 # [2000] +3-7833 U+7462 # [2000] +3-7834 U+746B # [2000] +3-7835 U+746D # [2000] +3-7836 U+7486 # [2000] +3-7837 U+7487 # [2000] +3-7838 U+7489 # [2000] +3-7839 U+7498 # [2000] +3-783A U+749C # [2000] +3-783B U+749F # [2000] +3-783C U+74A3 # [2000] +3-783D U+7490 # [2000] +3-783E U+74A6 # [2000] +3-783F U+74A8 # [2000] +3-7840 U+74A9 # [2000] +3-7841 U+74B5 # [2000] +3-7842 U+74BF # [2000] +3-7843 U+74C8 # [2000] +3-7844 U+74C9 # [2000] +3-7845 U+74DA # [2000] +3-7846 U+74FF # [2000] +3-7847 U+7501 # [2000] +3-7848 U+7517 # [2000] +3-7849 U+752F # [2000] +3-784A U+756F # [2000] +3-784B U+7579 # [2000] +3-784C U+7592 # [2000] +3-784D U+3F72 # [2000] +3-784E U+75CE # [2000] +3-784F U+75E4 # [2000] +3-7850 U+7600 # [2000] +3-7851 U+7602 # [2000] +3-7852 U+7608 # [2000] +3-7853 U+7615 # [2000] +3-7854 U+7616 # [2000] +3-7855 U+7619 # [2000] +3-7856 U+761E # [2000] +3-7857 U+762D # [2000] +3-7858 U+7635 # [2000] +3-7859 U+7643 # [2000] +3-785A U+764B # [2000] +3-785B U+7664 # [2000] +3-785C U+7665 # [2000] +3-785D U+766D # [2000] +3-785E U+766F # [2000] +3-785F U+7671 # [2000] +3-7860 U+7681 # [2000] +3-7861 U+769B # [2000] +3-7862 U+769D # [2000] +3-7863 U+769E # [2000] +3-7864 U+76A6 # [2000] +3-7865 U+76AA # [2000] +3-7866 U+76B6 # [2000] +3-7867 U+76C5 # [2000] +3-7868 U+76CC # [2000] +3-7869 U+76CE # [2000] +3-786A U+76D4 # [2000] +3-786B U+76E6 # [2000] +3-786C U+76F1 # [2000] +3-786D U+76FC # [2000] +3-786E U+770A # [2000] +3-786F U+7719 # [2000] +3-7870 U+7734 # [2000] +3-7871 U+7736 # [2000] +3-7872 U+7746 # [2000] +3-7873 U+774D # [2000] +3-7874 U+774E # [2000] +3-7875 U+775C # [2000] +3-7876 U+775F # [2000] +3-7877 U+7762 # [2000] +3-7878 U+777A # [2000] +3-7879 U+7780 # [2000] +3-787A U+7794 # [2000] +3-787B U+77AA # [2000] +3-787C U+77E0 # [2000] +3-787D U+782D # [2000] +3-787E U+2548E # [2000] [Unicode3.1] +3-7921 U+7843 # [2000] +3-7922 U+784E # [2000] +3-7923 U+784F # [2000] +3-7924 U+7851 # [2000] +3-7925 U+7868 # [2000] +3-7926 U+786E # [2000] +3-7927 U+FA4B # CJK COMPATIBILITY IDEOGRAPH-FA4B [2000] [Unicode3.2] +3-7928 U+78B0 # [2000] +3-7929 U+2550E # [2000] [Unicode3.1] +3-792A U+78AD # [2000] +3-792B U+78E4 # [2000] +3-792C U+78F2 # [2000] +3-792D U+7900 # [2000] +3-792E U+78F7 # [2000] +3-792F U+791C # [2000] +3-7930 U+792E # [2000] +3-7931 U+7931 # [2000] +3-7932 U+7934 # [2000] +3-7933 U+FA4C # CJK COMPATIBILITY IDEOGRAPH-FA4C [2000] [Unicode3.2] +3-7934 U+FA4D # CJK COMPATIBILITY IDEOGRAPH-FA4D [2000] [Unicode3.2] +3-7935 U+7945 # [2000] +3-7936 U+7946 # [2000] +3-7937 U+FA4E # CJK COMPATIBILITY IDEOGRAPH-FA4E [2000] [Unicode3.2] +3-7938 U+FA4F # CJK COMPATIBILITY IDEOGRAPH-FA4F [2000] [Unicode3.2] +3-7939 U+FA50 # CJK COMPATIBILITY IDEOGRAPH-FA50 [2000] [Unicode3.2] +3-793A U+795C # [2000] +3-793B U+FA51 # CJK COMPATIBILITY IDEOGRAPH-FA51 [2000] [Unicode3.2] +3-793C U+FA19 # CJK COMPATIBILITY IDEOGRAPH-FA19 [2000] +3-793D U+FA1A # CJK COMPATIBILITY IDEOGRAPH-FA1A [2000] +3-793E U+7979 # [2000] +3-793F U+FA52 # CJK COMPATIBILITY IDEOGRAPH-FA52 [2000] [Unicode3.2] +3-7940 U+FA53 # CJK COMPATIBILITY IDEOGRAPH-FA53 [2000] [Unicode3.2] +3-7941 U+FA1B # CJK COMPATIBILITY IDEOGRAPH-FA1B [2000] +3-7942 U+7998 # [2000] +3-7943 U+79B1 # [2000] +3-7944 U+79B8 # [2000] +3-7945 U+79C8 # [2000] +3-7946 U+79CA # [2000] +3-7947 U+25771 # [2000] [Unicode3.1] +3-7948 U+79D4 # [2000] +3-7949 U+79DE # [2000] +3-794A U+79EB # [2000] +3-794B U+79ED # [2000] +3-794C U+7A03 # [2000] +3-794D U+FA54 # CJK COMPATIBILITY IDEOGRAPH-FA54 [2000] [Unicode3.2] +3-794E U+7A39 # [2000] +3-794F U+7A5D # [2000] +3-7950 U+7A6D # [2000] +3-7951 U+FA55 # CJK COMPATIBILITY IDEOGRAPH-FA55 [2000] [Unicode3.2] +3-7952 U+7A85 # [2000] +3-7953 U+7AA0 # [2000] +3-7954 U+259C4 # [2000] [Unicode3.1] +3-7955 U+7AB3 # [2000] +3-7956 U+7ABB # [2000] +3-7957 U+7ACE # [2000] +3-7958 U+7AEB # [2000] +3-7959 U+7AFD # [2000] +3-795A U+7B12 # [2000] +3-795B U+7B2D # [2000] +3-795C U+7B3B # [2000] +3-795D U+7B47 # [2000] +3-795E U+7B4E # [2000] +3-795F U+7B60 # [2000] +3-7960 U+7B6D # [2000] +3-7961 U+7B6F # [2000] +3-7962 U+7B72 # [2000] +3-7963 U+7B9E # [2000] +3-7964 U+FA56 # CJK COMPATIBILITY IDEOGRAPH-FA56 [2000] [Unicode3.2] +3-7965 U+7BD7 # [2000] +3-7966 U+7BD9 # [2000] +3-7967 U+7C01 # [2000] +3-7968 U+7C31 # [2000] +3-7969 U+7C1E # [2000] +3-796A U+7C20 # [2000] +3-796B U+7C33 # [2000] +3-796C U+7C36 # [2000] +3-796D U+4264 # [2000] +3-796E U+25DA1 # [2000] [Unicode3.1] +3-796F U+7C59 # [2000] +3-7970 U+7C6D # [2000] +3-7971 U+7C79 # [2000] +3-7972 U+7C8F # [2000] +3-7973 U+7C94 # [2000] +3-7974 U+7CA0 # [2000] +3-7975 U+7CBC # [2000] +3-7976 U+7CD5 # [2000] +3-7977 U+7CD9 # [2000] +3-7978 U+7CDD # [2000] +3-7979 U+7D07 # [2000] +3-797A U+7D08 # [2000] +3-797B U+7D13 # [2000] +3-797C U+7D1D # [2000] +3-797D U+7D23 # [2000] +3-797E U+7D31 # [2000] +3-7A21 U+7D41 # [2000] +3-7A22 U+7D48 # [2000] +3-7A23 U+7D53 # [2000] +3-7A24 U+7D5C # [2000] +3-7A25 U+7D7A # [2000] +3-7A26 U+7D83 # [2000] +3-7A27 U+7D8B # [2000] +3-7A28 U+7DA0 # [2000] +3-7A29 U+7DA6 # [2000] +3-7A2A U+7DC2 # [2000] +3-7A2B U+7DCC # [2000] +3-7A2C U+7DD6 # [2000] +3-7A2D U+7DE3 # [2000] +3-7A2E U+FA57 # CJK COMPATIBILITY IDEOGRAPH-FA57 [2000] [Unicode3.2] +3-7A2F U+7E28 # [2000] +3-7A30 U+7E08 # [2000] +3-7A31 U+7E11 # [2000] +3-7A32 U+7E15 # [2000] +3-7A33 U+FA59 # CJK COMPATIBILITY IDEOGRAPH-FA59 [2000] [Unicode3.2] +3-7A34 U+7E47 # [2000] +3-7A35 U+7E52 # [2000] +3-7A36 U+7E61 # [2000] +3-7A37 U+7E8A # [2000] +3-7A38 U+7E8D # [2000] +3-7A39 U+7F47 # [2000] +3-7A3A U+FA5A # CJK COMPATIBILITY IDEOGRAPH-FA5A [2000] [Unicode3.2] +3-7A3B U+7F91 # [2000] +3-7A3C U+7F97 # [2000] +3-7A3D U+7FBF # [2000] +3-7A3E U+7FCE # [2000] +3-7A3F U+7FDB # [2000] +3-7A40 U+7FDF # [2000] +3-7A41 U+7FEC # [2000] +3-7A42 U+7FEE # [2000] +3-7A43 U+7FFA # [2000] +3-7A44 U+FA5B # CJK COMPATIBILITY IDEOGRAPH-FA5B [2000] [Unicode3.2] +3-7A45 U+8014 # [2000] +3-7A46 U+8026 # [2000] +3-7A47 U+8035 # [2000] +3-7A48 U+8037 # [2000] +3-7A49 U+803C # [2000] +3-7A4A U+80CA # [2000] +3-7A4B U+80D7 # [2000] +3-7A4C U+80E0 # [2000] +3-7A4D U+80F3 # [2000] +3-7A4E U+8118 # [2000] +3-7A4F U+814A # [2000] +3-7A50 U+8160 # [2000] +3-7A51 U+8167 # [2000] +3-7A52 U+8168 # [2000] +3-7A53 U+816D # [2000] +3-7A54 U+81BB # [2000] +3-7A55 U+81CA # [2000] +3-7A56 U+81CF # [2000] +3-7A57 U+81D7 # [2000] +3-7A58 U+FA5C # CJK COMPATIBILITY IDEOGRAPH-FA5C [2000] [Unicode3.2] +3-7A59 U+4453 # [2000] +3-7A5A U+445B # [2000] +3-7A5B U+8260 # [2000] +3-7A5C U+8274 # [2000] +3-7A5D U+26AFF # [2000] [Unicode3.1] +3-7A5E U+828E # [2000] +3-7A5F U+82A1 # [2000] +3-7A60 U+82A3 # [2000] +3-7A61 U+82A4 # [2000] +3-7A62 U+82A9 # [2000] +3-7A63 U+82AE # [2000] +3-7A64 U+82B7 # [2000] +3-7A65 U+82BE # [2000] +3-7A66 U+82BF # [2000] +3-7A67 U+82C6 # [2000] +3-7A68 U+82D5 # [2000] +3-7A69 U+82FD # [2000] +3-7A6A U+82FE # [2000] +3-7A6B U+8300 # [2000] +3-7A6C U+8301 # [2000] +3-7A6D U+8362 # [2000] +3-7A6E U+8322 # [2000] +3-7A6F U+832D # [2000] +3-7A70 U+833A # [2000] +3-7A71 U+8343 # [2000] +3-7A72 U+8347 # [2000] +3-7A73 U+8351 # [2000] +3-7A74 U+8355 # [2000] +3-7A75 U+837D # [2000] +3-7A76 U+8386 # [2000] +3-7A77 U+8392 # [2000] +3-7A78 U+8398 # [2000] +3-7A79 U+83A7 # [2000] +3-7A7A U+83A9 # [2000] +3-7A7B U+83BF # [2000] +3-7A7C U+83C0 # [2000] +3-7A7D U+83C7 # [2000] +3-7A7E U+83CF # [2000] +3-7B21 U+83D1 # [2000] +3-7B22 U+83E1 # [2000] +3-7B23 U+83EA # [2000] +3-7B24 U+8401 # [2000] +3-7B25 U+8406 # [2000] +3-7B26 U+840A # [2000] +3-7B27 U+FA5F # CJK COMPATIBILITY IDEOGRAPH-FA5F [2000] [Unicode3.2] +3-7B28 U+8448 # [2000] +3-7B29 U+845F # [2000] +3-7B2A U+8470 # [2000] +3-7B2B U+8473 # [2000] +3-7B2C U+8485 # [2000] +3-7B2D U+849E # [2000] +3-7B2E U+84AF # [2000] +3-7B2F U+84B4 # [2000] +3-7B30 U+84BA # [2000] +3-7B31 U+84C0 # [2000] +3-7B32 U+84C2 # [2000] +3-7B33 U+26E40 # [2000] [Unicode3.1] +3-7B34 U+8532 # [2000] +3-7B35 U+851E # [2000] +3-7B36 U+8523 # [2000] +3-7B37 U+852F # [2000] +3-7B38 U+8559 # [2000] +3-7B39 U+8564 # [2000] +3-7B3A U+FA1F # CJK COMPATIBILITY IDEOGRAPH-FA1F [2000] +3-7B3B U+85AD # [2000] +3-7B3C U+857A # [2000] +3-7B3D U+858C # [2000] +3-7B3E U+858F # [2000] +3-7B3F U+85A2 # [2000] +3-7B40 U+85B0 # [2000] +3-7B41 U+85CB # [2000] +3-7B42 U+85CE # [2000] +3-7B43 U+85ED # [2000] +3-7B44 U+8612 # [2000] +3-7B45 U+85FF # [2000] +3-7B46 U+8604 # [2000] +3-7B47 U+8605 # [2000] +3-7B48 U+8610 # [2000] +3-7B49 U+270F4 # [2000] [Unicode3.1] +3-7B4A U+8618 # [2000] +3-7B4B U+8629 # [2000] +3-7B4C U+8638 # [2000] +3-7B4D U+8657 # [2000] +3-7B4E U+865B # [2000] +3-7B4F U+F936 # CJK COMPATIBILITY IDEOGRAPH-F936 [2000] +3-7B50 U+8662 # [2000] +3-7B51 U+459D # [2000] +3-7B52 U+866C # [2000] +3-7B53 U+8675 # [2000] +3-7B54 U+8698 # [2000] +3-7B55 U+86B8 # [2000] +3-7B56 U+86FA # [2000] +3-7B57 U+86FC # [2000] +3-7B58 U+86FD # [2000] +3-7B59 U+870B # [2000] +3-7B5A U+8771 # [2000] +3-7B5B U+8787 # [2000] +3-7B5C U+8788 # [2000] +3-7B5D U+87AC # [2000] +3-7B5E U+87AD # [2000] +3-7B5F U+87B5 # [2000] +3-7B60 U+45EA # [2000] +3-7B61 U+87D6 # [2000] +3-7B62 U+87EC # [2000] +3-7B63 U+8806 # [2000] +3-7B64 U+880A # [2000] +3-7B65 U+8810 # [2000] +3-7B66 U+8814 # [2000] +3-7B67 U+881F # [2000] +3-7B68 U+8898 # [2000] +3-7B69 U+88AA # [2000] +3-7B6A U+88CA # [2000] +3-7B6B U+88CE # [2000] +3-7B6C U+27684 # [2000] [Unicode3.1] +3-7B6D U+88F5 # [2000] +3-7B6E U+891C # [2000] +3-7B6F U+FA60 # CJK COMPATIBILITY IDEOGRAPH-FA60 [2000] [Unicode3.2] +3-7B70 U+8918 # [2000] +3-7B71 U+8919 # [2000] +3-7B72 U+891A # [2000] +3-7B73 U+8927 # [2000] +3-7B74 U+8930 # [2000] +3-7B75 U+8932 # [2000] +3-7B76 U+8939 # [2000] +3-7B77 U+8940 # [2000] +3-7B78 U+8994 # [2000] +3-7B79 U+FA61 # CJK COMPATIBILITY IDEOGRAPH-FA61 [2000] [Unicode3.2] +3-7B7A U+89D4 # [2000] +3-7B7B U+89E5 # [2000] +3-7B7C U+89F6 # [2000] +3-7B7D U+8A12 # [2000] +3-7B7E U+8A15 # [2000] +3-7C21 U+8A22 # [2000] +3-7C22 U+8A37 # [2000] +3-7C23 U+8A47 # [2000] +3-7C24 U+8A4E # [2000] +3-7C25 U+8A5D # [2000] +3-7C26 U+8A61 # [2000] +3-7C27 U+8A75 # [2000] +3-7C28 U+8A79 # [2000] +3-7C29 U+8AA7 # [2000] +3-7C2A U+8AD0 # [2000] +3-7C2B U+8ADF # [2000] +3-7C2C U+8AF4 # [2000] +3-7C2D U+8AF6 # [2000] +3-7C2E U+FA22 # CJK COMPATIBILITY IDEOGRAPH-FA22 [2000] +3-7C2F U+FA62 # CJK COMPATIBILITY IDEOGRAPH-FA62 [2000] [Unicode3.2] +3-7C30 U+FA63 # CJK COMPATIBILITY IDEOGRAPH-FA63 [2000] [Unicode3.2] +3-7C31 U+8B46 # [2000] +3-7C32 U+8B54 # [2000] +3-7C33 U+8B59 # [2000] +3-7C34 U+8B69 # [2000] +3-7C35 U+8B9D # [2000] +3-7C36 U+8C49 # [2000] +3-7C37 U+8C68 # [2000] +3-7C38 U+FA64 # CJK COMPATIBILITY IDEOGRAPH-FA64 [2000] [Unicode3.2] +3-7C39 U+8CE1 # [2000] +3-7C3A U+8CF4 # [2000] +3-7C3B U+8CF8 # [2000] +3-7C3C U+8CFE # [2000] +3-7C3D U+FA65 # CJK COMPATIBILITY IDEOGRAPH-FA65 [2000] [Unicode3.2] +3-7C3E U+8D12 # [2000] +3-7C3F U+8D1B # [2000] +3-7C40 U+8DAF # [2000] +3-7C41 U+8DCE # [2000] +3-7C42 U+8DD1 # [2000] +3-7C43 U+8DD7 # [2000] +3-7C44 U+8E20 # [2000] +3-7C45 U+8E23 # [2000] +3-7C46 U+8E3D # [2000] +3-7C47 U+8E70 # [2000] +3-7C48 U+8E7B # [2000] +3-7C49 U+28277 # [2000] [Unicode3.1] +3-7C4A U+8EC0 # [2000] +3-7C4B U+4844 # [2000] +3-7C4C U+8EFA # [2000] +3-7C4D U+8F1E # [2000] +3-7C4E U+8F2D # [2000] +3-7C4F U+8F36 # [2000] +3-7C50 U+8F54 # [2000] +3-7C51 U+283CD # [2000] [Unicode3.1] +3-7C52 U+8FA6 # [2000] +3-7C53 U+8FB5 # [2000] +3-7C54 U+8FE4 # [2000] +3-7C55 U+8FE8 # [2000] +3-7C56 U+8FEE # [2000] +3-7C57 U+9008 # [2000] +3-7C58 U+902D # [2000] +3-7C59 U+FA67 # CJK COMPATIBILITY IDEOGRAPH-FA67 [2000] [Unicode3.2] +3-7C5A U+9088 # [2000] +3-7C5B U+9095 # [2000] +3-7C5C U+9097 # [2000] +3-7C5D U+9099 # [2000] +3-7C5E U+909B # [2000] +3-7C5F U+90A2 # [2000] +3-7C60 U+90B3 # [2000] +3-7C61 U+90BE # [2000] +3-7C62 U+90C4 # [2000] +3-7C63 U+90C5 # [2000] +3-7C64 U+90C7 # [2000] +3-7C65 U+90D7 # [2000] +3-7C66 U+90DD # [2000] +3-7C67 U+90DE # [2000] +3-7C68 U+90EF # [2000] +3-7C69 U+90F4 # [2000] +3-7C6A U+FA26 # CJK COMPATIBILITY IDEOGRAPH-FA26 [2000] +3-7C6B U+9114 # [2000] +3-7C6C U+9115 # [2000] +3-7C6D U+9116 # [2000] +3-7C6E U+9122 # [2000] +3-7C6F U+9123 # [2000] +3-7C70 U+9127 # [2000] +3-7C71 U+912F # [2000] +3-7C72 U+9131 # [2000] +3-7C73 U+9134 # [2000] +3-7C74 U+913D # [2000] +3-7C75 U+9148 # [2000] +3-7C76 U+915B # [2000] +3-7C77 U+9183 # [2000] +3-7C78 U+919E # [2000] +3-7C79 U+91AC # [2000] +3-7C7A U+91B1 # [2000] +3-7C7B U+91BC # [2000] +3-7C7C U+91D7 # [2000] +3-7C7D U+91FB # [2000] +3-7C7E U+91E4 # [2000] +3-7D21 U+91E5 # [2000] +3-7D22 U+91ED # [2000] +3-7D23 U+91F1 # [2000] +3-7D24 U+9207 # [2000] +3-7D25 U+9210 # [2000] +3-7D26 U+9238 # [2000] +3-7D27 U+9239 # [2000] +3-7D28 U+923A # [2000] +3-7D29 U+923C # [2000] +3-7D2A U+9240 # [2000] +3-7D2B U+9243 # [2000] +3-7D2C U+924F # [2000] +3-7D2D U+9278 # [2000] +3-7D2E U+9288 # [2000] +3-7D2F U+92C2 # [2000] +3-7D30 U+92CB # [2000] +3-7D31 U+92CC # [2000] +3-7D32 U+92D3 # [2000] +3-7D33 U+92E0 # [2000] +3-7D34 U+92FF # [2000] +3-7D35 U+9304 # [2000] +3-7D36 U+931F # [2000] +3-7D37 U+9321 # [2000] +3-7D38 U+9325 # [2000] +3-7D39 U+9348 # [2000] +3-7D3A U+9349 # [2000] +3-7D3B U+934A # [2000] +3-7D3C U+9364 # [2000] +3-7D3D U+9365 # [2000] +3-7D3E U+936A # [2000] +3-7D3F U+9370 # [2000] +3-7D40 U+939B # [2000] +3-7D41 U+93A3 # [2000] +3-7D42 U+93BA # [2000] +3-7D43 U+93C6 # [2000] +3-7D44 U+93DE # [2000] +3-7D45 U+93DF # [2000] +3-7D46 U+9404 # [2000] +3-7D47 U+93FD # [2000] +3-7D48 U+9433 # [2000] +3-7D49 U+944A # [2000] +3-7D4A U+9463 # [2000] +3-7D4B U+946B # [2000] +3-7D4C U+9471 # [2000] +3-7D4D U+9472 # [2000] +3-7D4E U+958E # [2000] +3-7D4F U+959F # [2000] +3-7D50 U+95A6 # [2000] +3-7D51 U+95A9 # [2000] +3-7D52 U+95AC # [2000] +3-7D53 U+95B6 # [2000] +3-7D54 U+95BD # [2000] +3-7D55 U+95CB # [2000] +3-7D56 U+95D0 # [2000] +3-7D57 U+95D3 # [2000] +3-7D58 U+49B0 # [2000] +3-7D59 U+95DA # [2000] +3-7D5A U+95DE # [2000] +3-7D5B U+9658 # [2000] +3-7D5C U+9684 # [2000] +3-7D5D U+F9DC # CJK COMPATIBILITY IDEOGRAPH-F9DC [2000] +3-7D5E U+969D # [2000] +3-7D5F U+96A4 # [2000] +3-7D60 U+96A5 # [2000] +3-7D61 U+96D2 # [2000] +3-7D62 U+96DE # [2000] +3-7D63 U+FA68 # CJK COMPATIBILITY IDEOGRAPH-FA68 [2000] [Unicode3.2] +3-7D64 U+96E9 # [2000] +3-7D65 U+96EF # [2000] +3-7D66 U+9733 # [2000] +3-7D67 U+973B # [2000] +3-7D68 U+974D # [2000] +3-7D69 U+974E # [2000] +3-7D6A U+974F # [2000] +3-7D6B U+975A # [2000] +3-7D6C U+976E # [2000] +3-7D6D U+9773 # [2000] +3-7D6E U+9795 # [2000] +3-7D6F U+97AE # [2000] +3-7D70 U+97BA # [2000] +3-7D71 U+97C1 # [2000] +3-7D72 U+97C9 # [2000] +3-7D73 U+97DE # [2000] +3-7D74 U+97DB # [2000] +3-7D75 U+97F4 # [2000] +3-7D76 U+FA69 # CJK COMPATIBILITY IDEOGRAPH-FA69 [2000] [Unicode3.2] +3-7D77 U+980A # [2000] +3-7D78 U+981E # [2000] +3-7D79 U+982B # [2000] +3-7D7A U+9830 # [2000] +3-7D7B U+FA6A # CJK COMPATIBILITY IDEOGRAPH-FA6A [2000] [Unicode3.2] +3-7D7C U+9852 # [2000] +3-7D7D U+9853 # [2000] +3-7D7E U+9856 # [2000] +3-7E21 U+9857 # [2000] +3-7E22 U+9859 # [2000] +3-7E23 U+985A # [2000] +3-7E24 U+F9D0 # CJK COMPATIBILITY IDEOGRAPH-F9D0 [2000] +3-7E25 U+9865 # [2000] +3-7E26 U+986C # [2000] +3-7E27 U+98BA # [2000] +3-7E28 U+98C8 # [2000] +3-7E29 U+98E7 # [2000] +3-7E2A U+9958 # [2000] +3-7E2B U+999E # [2000] +3-7E2C U+9A02 # [2000] +3-7E2D U+9A03 # [2000] +3-7E2E U+9A24 # [2000] +3-7E2F U+9A2D # [2000] +3-7E30 U+9A2E # [2000] +3-7E31 U+9A38 # [2000] +3-7E32 U+9A4A # [2000] +3-7E33 U+9A4E # [2000] +3-7E34 U+9A52 # [2000] +3-7E35 U+9AB6 # [2000] +3-7E36 U+9AC1 # [2000] +3-7E37 U+9AC3 # [2000] +3-7E38 U+9ACE # [2000] +3-7E39 U+9AD6 # [2000] +3-7E3A U+9AF9 # [2000] +3-7E3B U+9B02 # [2000] +3-7E3C U+9B08 # [2000] +3-7E3D U+9B20 # [2000] +3-7E3E U+4C17 # [2000] +3-7E3F U+9B2D # [2000] +3-7E40 U+9B5E # [2000] +3-7E41 U+9B79 # [2000] +3-7E42 U+9B66 # [2000] +3-7E43 U+9B72 # [2000] +3-7E44 U+9B75 # [2000] +3-7E45 U+9B84 # [2000] +3-7E46 U+9B8A # [2000] +3-7E47 U+9B8F # [2000] +3-7E48 U+9B9E # [2000] +3-7E49 U+9BA7 # [2000] +3-7E4A U+9BC1 # [2000] +3-7E4B U+9BCE # [2000] +3-7E4C U+9BE5 # [2000] +3-7E4D U+9BF8 # [2000] +3-7E4E U+9BFD # [2000] +3-7E4F U+9C00 # [2000] +3-7E50 U+9C23 # [2000] +3-7E51 U+9C41 # [2000] +3-7E52 U+9C4F # [2000] +3-7E53 U+9C50 # [2000] +3-7E54 U+9C53 # [2000] +3-7E55 U+9C63 # [2000] +3-7E56 U+9C65 # [2000] +3-7E57 U+9C77 # [2000] +3-7E58 U+9D1D # [2000] +3-7E59 U+9D1E # [2000] +3-7E5A U+9D43 # [2000] +3-7E5B U+9D47 # [2000] +3-7E5C U+9D52 # [2000] +3-7E5D U+9D63 # [2000] +3-7E5E U+9D70 # [2000] +3-7E5F U+9D7C # [2000] +3-7E60 U+9D8A # [2000] +3-7E61 U+9D96 # [2000] +3-7E62 U+9DC0 # [2000] +3-7E63 U+9DAC # [2000] +3-7E64 U+9DBC # [2000] +3-7E65 U+9DD7 # [2000] +3-7E66 U+2A190 # [2000] [Unicode3.1] +3-7E67 U+9DE7 # [2000] +3-7E68 U+9E07 # [2000] +3-7E69 U+9E15 # [2000] +3-7E6A U+9E7C # [2000] +3-7E6B U+9E9E # [2000] +3-7E6C U+9EA4 # [2000] +3-7E6D U+9EAC # [2000] +3-7E6E U+9EAF # [2000] +3-7E6F U+9EB4 # [2000] +3-7E70 U+9EB5 # [2000] +3-7E71 U+9EC3 # [2000] +3-7E72 U+9ED1 # [2000] +3-7E73 U+9F10 # [2000] +3-7E74 U+9F39 # [2000] +3-7E75 U+9F57 # [2000] +3-7E76 U+9F90 # [2000] +3-7E77 U+9F94 # [2000] +3-7E78 U+9F97 # [2000] +3-7E79 U+9FA2 # [2000] +3-7E7A U+59F8 # [2004] +3-7E7B U+5C5B # [2004] +3-7E7C U+5E77 # [2004] +3-7E7D U+7626 # [2004] +3-7E7E U+7E6B # [2004] +4-2121 U+20089 # [2000] [Unicode3.1] +4-2122 U+4E02 # [2000] +4-2123 U+4E0F # [2000] +4-2124 U+4E12 # [2000] +4-2125 U+4E29 # [2000] +4-2126 U+4E2B # [2000] +4-2127 U+4E2E # [2000] +4-2128 U+4E40 # [2000] +4-2129 U+4E47 # [2000] +4-212A U+4E48 # [2000] +4-212B U+200A2 # [2000] [Unicode3.1] +4-212C U+4E51 # [2000] +4-212D U+3406 # [2000] +4-212E U+200A4 # [2000] [Unicode3.1] +4-212F U+4E5A # [2000] +4-2130 U+4E69 # [2000] +4-2131 U+4E9D # [2000] +4-2132 U+342C # [2000] +4-2133 U+342E # [2000] +4-2134 U+4EB9 # [2000] +4-2135 U+4EBB # [2000] +4-2136 U+201A2 # [2000] [Unicode3.1] +4-2137 U+4EBC # [2000] +4-2138 U+4EC3 # [2000] +4-2139 U+4EC8 # [2000] +4-213A U+4ED0 # [2000] +4-213B U+4EEB # [2000] +4-213C U+4EDA # [2000] +4-213D U+4EF1 # [2000] +4-213E U+4EF5 # [2000] +4-213F U+4F00 # [2000] +4-2140 U+4F16 # [2000] +4-2141 U+4F64 # [2000] +4-2142 U+4F37 # [2000] +4-2143 U+4F3E # [2000] +4-2144 U+4F54 # [2000] +4-2145 U+4F58 # [2000] +4-2146 U+20213 # [2000] [Unicode3.1] +4-2147 U+4F77 # [2000] +4-2148 U+4F78 # [2000] +4-2149 U+4F7A # [2000] +4-214A U+4F7D # [2000] +4-214B U+4F82 # [2000] +4-214C U+4F85 # [2000] +4-214D U+4F92 # [2000] +4-214E U+4F9A # [2000] +4-214F U+4FE6 # [2000] +4-2150 U+4FB2 # [2000] +4-2151 U+4FBE # [2000] +4-2152 U+4FC5 # [2000] +4-2153 U+4FCB # [2000] +4-2154 U+4FCF # [2000] +4-2155 U+4FD2 # [2000] +4-2156 U+346A # [2000] +4-2157 U+4FF2 # [2000] +4-2158 U+5000 # [2000] +4-2159 U+5010 # [2000] +4-215A U+5013 # [2000] +4-215B U+501C # [2000] +4-215C U+501E # [2000] +4-215D U+5022 # [2000] +4-215E U+3468 # [2000] +4-215F U+5042 # [2000] +4-2160 U+5046 # [2000] +4-2161 U+504E # [2000] +4-2162 U+5053 # [2000] +4-2163 U+5057 # [2000] +4-2164 U+5063 # [2000] +4-2165 U+5066 # [2000] +4-2166 U+506A # [2000] +4-2167 U+5070 # [2000] +4-2168 U+50A3 # [2000] +4-2169 U+5088 # [2000] +4-216A U+5092 # [2000] +4-216B U+5093 # [2000] +4-216C U+5095 # [2000] +4-216D U+5096 # [2000] +4-216E U+509C # [2000] +4-216F U+50AA # [2000] +4-2170 U+2032B # [2000] [Unicode3.1] +4-2171 U+50B1 # [2000] +4-2172 U+50BA # [2000] +4-2173 U+50BB # [2000] +4-2174 U+50C4 # [2000] +4-2175 U+50C7 # [2000] +4-2176 U+50F3 # [2000] +4-2177 U+20381 # [2000] [Unicode3.1] +4-2178 U+50CE # [2000] +4-2179 U+20371 # [2000] [Unicode3.1] +4-217A U+50D4 # [2000] +4-217B U+50D9 # [2000] +4-217C U+50E1 # [2000] +4-217D U+50E9 # [2000] +4-217E U+3492 # [2000] +4-2321 U+5108 # [2000] +4-2322 U+203F9 # [2000] [Unicode3.1] +4-2323 U+5117 # [2000] +4-2324 U+511B # [2000] +4-2325 U+2044A # [2000] [Unicode3.1] +4-2326 U+5160 # [2000] +4-2327 U+20509 # [2000] [Unicode3.1] +4-2328 U+5173 # [2000] +4-2329 U+5183 # [2000] +4-232A U+518B # [2000] +4-232B U+34BC # [2000] +4-232C U+5198 # [2000] +4-232D U+51A3 # [2000] +4-232E U+51AD # [2000] +4-232F U+34C7 # [2000] +4-2330 U+51BC # [2000] +4-2331 U+205D6 # [2000] [Unicode3.1] +4-2332 U+20628 # [2000] [Unicode3.1] +4-2333 U+51F3 # [2000] +4-2334 U+51F4 # [2000] +4-2335 U+5202 # [2000] +4-2336 U+5212 # [2000] +4-2337 U+5216 # [2000] +4-2338 U+2074F # [2000] [Unicode3.1] +4-2339 U+5255 # [2000] +4-233A U+525C # [2000] +4-233B U+526C # [2000] +4-233C U+5277 # [2000] +4-233D U+5284 # [2000] +4-233E U+5282 # [2000] +4-233F U+20807 # [2000] [Unicode3.1] +4-2340 U+5298 # [2000] +4-2341 U+2083A # [2000] [Unicode3.1] +4-2342 U+52A4 # [2000] +4-2343 U+52A6 # [2000] +4-2344 U+52AF # [2000] +4-2345 U+52BA # [2000] +4-2346 U+52BB # [2000] +4-2347 U+52CA # [2000] +4-2348 U+351F # [2000] +4-2349 U+52D1 # [2000] +4-234A U+208B9 # [2000] [Unicode3.1] +4-234B U+52F7 # [2000] +4-234C U+530A # [2000] +4-234D U+530B # [2000] +4-234E U+5324 # [2000] +4-234F U+5335 # [2000] +4-2350 U+533E # [2000] +4-2351 U+5342 # [2000] +4-2352 U+2097C # [2000] [Unicode3.1] +4-2353 U+2099D # [2000] [Unicode3.1] +4-2354 U+5367 # [2000] +4-2355 U+536C # [2000] +4-2356 U+537A # [2000] +4-2357 U+53A4 # [2000] +4-2358 U+53B4 # [2000] +4-2359 U+20AD3 # [2000] [Unicode3.1] +4-235A U+53B7 # [2000] +4-235B U+53C0 # [2000] +4-235C U+20B1D # [2000] [Unicode3.1] +4-235D U+355D # [2000] +4-235E U+355E # [2000] +4-235F U+53D5 # [2000] +4-2360 U+53DA # [2000] +4-2361 U+3563 # [2000] +4-2362 U+53F4 # [2000] +4-2363 U+53F5 # [2000] +4-2364 U+5455 # [2000] +4-2365 U+5424 # [2000] +4-2366 U+5428 # [2000] +4-2367 U+356E # [2000] +4-2368 U+5443 # [2000] +4-2369 U+5462 # [2000] +4-236A U+5466 # [2000] +4-236B U+546C # [2000] +4-236C U+548A # [2000] +4-236D U+548D # [2000] +4-236E U+5495 # [2000] +4-236F U+54A0 # [2000] +4-2370 U+54A6 # [2000] +4-2371 U+54AD # [2000] +4-2372 U+54AE # [2000] +4-2373 U+54B7 # [2000] +4-2374 U+54BA # [2000] +4-2375 U+54BF # [2000] +4-2376 U+54C3 # [2000] +4-2377 U+20D45 # [2000] [Unicode3.1] +4-2378 U+54EC # [2000] +4-2379 U+54EF # [2000] +4-237A U+54F1 # [2000] +4-237B U+54F3 # [2000] +4-237C U+5500 # [2000] +4-237D U+5501 # [2000] +4-237E U+5509 # [2000] +4-2421 U+553C # [2000] +4-2422 U+5541 # [2000] +4-2423 U+35A6 # [2000] +4-2424 U+5547 # [2000] +4-2425 U+554A # [2000] +4-2426 U+35A8 # [2000] +4-2427 U+5560 # [2000] +4-2428 U+5561 # [2000] +4-2429 U+5564 # [2000] +4-242A U+20DE1 # [2000] [Unicode3.1] +4-242B U+557D # [2000] +4-242C U+5582 # [2000] +4-242D U+5588 # [2000] +4-242E U+5591 # [2000] +4-242F U+35C5 # [2000] +4-2430 U+55D2 # [2000] +4-2431 U+20E95 # [2000] [Unicode3.1] +4-2432 U+20E6D # [2000] [Unicode3.1] +4-2433 U+55BF # [2000] +4-2434 U+55C9 # [2000] +4-2435 U+55CC # [2000] +4-2436 U+55D1 # [2000] +4-2437 U+55DD # [2000] +4-2438 U+35DA # [2000] +4-2439 U+55E2 # [2000] +4-243A U+20E64 # [2000] [Unicode3.1] +4-243B U+55E9 # [2000] +4-243C U+5628 # [2000] +4-243D U+20F5F # [2000] [Unicode3.1] +4-243E U+5607 # [2000] +4-243F U+5610 # [2000] +4-2440 U+5630 # [2000] +4-2441 U+5637 # [2000] +4-2442 U+35F4 # [2000] +4-2443 U+563D # [2000] +4-2444 U+563F # [2000] +4-2445 U+5640 # [2000] +4-2446 U+5647 # [2000] +4-2447 U+565E # [2000] +4-2448 U+5660 # [2000] +4-2449 U+566D # [2000] +4-244A U+3605 # [2000] +4-244B U+5688 # [2000] +4-244C U+568C # [2000] +4-244D U+5695 # [2000] +4-244E U+569A # [2000] +4-244F U+569D # [2000] +4-2450 U+56A8 # [2000] +4-2451 U+56AD # [2000] +4-2452 U+56B2 # [2000] +4-2453 U+56C5 # [2000] +4-2454 U+56CD # [2000] +4-2455 U+56DF # [2000] +4-2456 U+56E8 # [2000] +4-2457 U+56F6 # [2000] +4-2458 U+56F7 # [2000] +4-2459 U+21201 # [2000] [Unicode3.1] +4-245A U+5715 # [2000] +4-245B U+5723 # [2000] +4-245C U+21255 # [2000] [Unicode3.1] +4-245D U+5729 # [2000] +4-245E U+2127B # [2000] [Unicode3.1] +4-245F U+5745 # [2000] +4-2460 U+5746 # [2000] +4-2461 U+574C # [2000] +4-2462 U+574D # [2000] +4-2463 U+21274 # [2000] [Unicode3.1] +4-2464 U+5768 # [2000] +4-2465 U+576F # [2000] +4-2466 U+5773 # [2000] +4-2467 U+5774 # [2000] +4-2468 U+5775 # [2000] +4-2469 U+577B # [2000] +4-246A U+212E4 # [2000] [Unicode3.1] +4-246B U+212D7 # [2000] [Unicode3.1] +4-246C U+57AC # [2000] +4-246D U+579A # [2000] +4-246E U+579D # [2000] +4-246F U+579E # [2000] +4-2470 U+57A8 # [2000] +4-2471 U+57D7 # [2000] +4-2472 U+212FD # [2000] [Unicode3.1] +4-2473 U+57CC # [2000] +4-2474 U+21336 # [2000] [Unicode3.1] +4-2475 U+21344 # [2000] [Unicode3.1] +4-2476 U+57DE # [2000] +4-2477 U+57E6 # [2000] +4-2478 U+57F0 # [2000] +4-2479 U+364A # [2000] +4-247A U+57F8 # [2000] +4-247B U+57FB # [2000] +4-247C U+57FD # [2000] +4-247D U+5804 # [2000] +4-247E U+581E # [2000] +4-2521 U+5820 # [2000] +4-2522 U+5827 # [2000] +4-2523 U+5832 # [2000] +4-2524 U+5839 # [2000] +4-2525 U+213C4 # [2000] [Unicode3.1] +4-2526 U+5849 # [2000] +4-2527 U+584C # [2000] +4-2528 U+5867 # [2000] +4-2529 U+588A # [2000] +4-252A U+588B # [2000] +4-252B U+588D # [2000] +4-252C U+588F # [2000] +4-252D U+5890 # [2000] +4-252E U+5894 # [2000] +4-252F U+589D # [2000] +4-2530 U+58AA # [2000] +4-2531 U+58B1 # [2000] +4-2532 U+2146D # [2000] [Unicode3.1] +4-2533 U+58C3 # [2000] +4-2534 U+58CD # [2000] +4-2535 U+58E2 # [2000] +4-2536 U+58F3 # [2000] +4-2537 U+58F4 # [2000] +4-2538 U+5905 # [2000] +4-2539 U+5906 # [2000] +4-253A U+590B # [2000] +4-253B U+590D # [2000] +4-253C U+5914 # [2000] +4-253D U+5924 # [2000] +4-253E U+215D7 # [2000] [Unicode3.1] +4-253F U+3691 # [2000] +4-2540 U+593D # [2000] +4-2541 U+3699 # [2000] +4-2542 U+5946 # [2000] +4-2543 U+3696 # [2000] +4-2544 U+26C29 # [2000] [Unicode3.1] +4-2545 U+595B # [2000] +4-2546 U+595F # [2000] +4-2547 U+21647 # [2000] [Unicode3.1] +4-2548 U+5975 # [2000] +4-2549 U+5976 # [2000] +4-254A U+597C # [2000] +4-254B U+599F # [2000] +4-254C U+59AE # [2000] +4-254D U+59BC # [2000] +4-254E U+59C8 # [2000] +4-254F U+59CD # [2000] +4-2550 U+59DE # [2000] +4-2551 U+59E3 # [2000] +4-2552 U+59E4 # [2000] +4-2553 U+59E7 # [2000] +4-2554 U+59EE # [2000] +4-2555 U+21706 # [2000] [Unicode3.1] +4-2556 U+21742 # [2000] [Unicode3.1] +4-2557 U+36CF # [2000] +4-2558 U+5A0C # [2000] +4-2559 U+5A0D # [2000] +4-255A U+5A17 # [2000] +4-255B U+5A27 # [2000] +4-255C U+5A2D # [2000] +4-255D U+5A55 # [2000] +4-255E U+5A65 # [2000] +4-255F U+5A7A # [2000] +4-2560 U+5A8B # [2000] +4-2561 U+5A9C # [2000] +4-2562 U+5A9F # [2000] +4-2563 U+5AA0 # [2000] +4-2564 U+5AA2 # [2000] +4-2565 U+5AB1 # [2000] +4-2566 U+5AB3 # [2000] +4-2567 U+5AB5 # [2000] +4-2568 U+5ABA # [2000] +4-2569 U+5ABF # [2000] +4-256A U+5ADA # [2000] +4-256B U+5ADC # [2000] +4-256C U+5AE0 # [2000] +4-256D U+5AE5 # [2000] +4-256E U+5AF0 # [2000] +4-256F U+5AEE # [2000] +4-2570 U+5AF5 # [2000] +4-2571 U+5B00 # [2000] +4-2572 U+5B08 # [2000] +4-2573 U+5B17 # [2000] +4-2574 U+5B34 # [2000] +4-2575 U+5B2D # [2000] +4-2576 U+5B4C # [2000] +4-2577 U+5B52 # [2000] +4-2578 U+5B68 # [2000] +4-2579 U+5B6F # [2000] +4-257A U+5B7C # [2000] +4-257B U+5B7F # [2000] +4-257C U+5B81 # [2000] +4-257D U+5B84 # [2000] +4-257E U+219C3 # [2000] [Unicode3.1] +4-2821 U+5B96 # [2000] +4-2822 U+5BAC # [2000] +4-2823 U+3761 # [2000] +4-2824 U+5BC0 # [2000] +4-2825 U+3762 # [2000] +4-2826 U+5BCE # [2000] +4-2827 U+5BD6 # [2000] +4-2828 U+376C # [2000] +4-2829 U+376B # [2000] +4-282A U+5BF1 # [2000] +4-282B U+5BFD # [2000] +4-282C U+3775 # [2000] +4-282D U+5C03 # [2000] +4-282E U+5C29 # [2000] +4-282F U+5C30 # [2000] +4-2830 U+21C56 # [2000] [Unicode3.1] +4-2831 U+5C5F # [2000] +4-2832 U+5C63 # [2000] +4-2833 U+5C67 # [2000] +4-2834 U+5C68 # [2000] +4-2835 U+5C69 # [2000] +4-2836 U+5C70 # [2000] +4-2837 U+21D2D # [2000] [Unicode3.1] +4-2838 U+21D45 # [2000] [Unicode3.1] +4-2839 U+5C7C # [2000] +4-283A U+21D78 # [2000] [Unicode3.1] +4-283B U+21D62 # [2000] [Unicode3.1] +4-283C U+5C88 # [2000] +4-283D U+5C8A # [2000] +4-283E U+37C1 # [2000] +4-283F U+21DA1 # [2000] [Unicode3.1] +4-2840 U+21D9C # [2000] [Unicode3.1] +4-2841 U+5CA0 # [2000] +4-2842 U+5CA2 # [2000] +4-2843 U+5CA6 # [2000] +4-2844 U+5CA7 # [2000] +4-2845 U+21D92 # [2000] [Unicode3.1] +4-2846 U+5CAD # [2000] +4-2847 U+5CB5 # [2000] +4-2848 U+21DB7 # [2000] [Unicode3.1] +4-2849 U+5CC9 # [2000] +4-284A U+21DE0 # [2000] [Unicode3.1] +4-284B U+21E33 # [2000] [Unicode3.1] +4-284C U+5D06 # [2000] +4-284D U+5D10 # [2000] +4-284E U+5D2B # [2000] +4-284F U+5D1D # [2000] +4-2850 U+5D20 # [2000] +4-2851 U+5D24 # [2000] +4-2852 U+5D26 # [2000] +4-2853 U+5D31 # [2000] +4-2854 U+5D39 # [2000] +4-2855 U+5D42 # [2000] +4-2856 U+37E8 # [2000] +4-2857 U+5D61 # [2000] +4-2858 U+5D6A # [2000] +4-2859 U+37F4 # [2000] +4-285A U+5D70 # [2000] +4-285B U+21F1E # [2000] [Unicode3.1] +4-285C U+37FD # [2000] +4-285D U+5D88 # [2000] +4-285E U+3800 # [2000] +4-285F U+5D92 # [2000] +4-2860 U+5D94 # [2000] +4-2861 U+5D97 # [2000] +4-2862 U+5D99 # [2000] +4-2863 U+5DB0 # [2000] +4-2864 U+5DB2 # [2000] +4-2865 U+5DB4 # [2000] +4-2866 U+21F76 # [2000] [Unicode3.1] +4-2867 U+5DB9 # [2000] +4-2868 U+5DD1 # [2000] +4-2869 U+5DD7 # [2000] +4-286A U+5DD8 # [2000] +4-286B U+5DE0 # [2000] +4-286C U+21FFA # [2000] [Unicode3.1] +4-286D U+5DE4 # [2000] +4-286E U+5DE9 # [2000] +4-286F U+382F # [2000] +4-2870 U+5E00 # [2000] +4-2871 U+3836 # [2000] +4-2872 U+5E12 # [2000] +4-2873 U+5E15 # [2000] +4-2874 U+3840 # [2000] +4-2875 U+5E1F # [2000] +4-2876 U+5E2E # [2000] +4-2877 U+5E3E # [2000] +4-2878 U+5E49 # [2000] +4-2879 U+385C # [2000] +4-287A U+5E56 # [2000] +4-287B U+3861 # [2000] +4-287C U+5E6B # [2000] +4-287D U+5E6C # [2000] +4-287E U+5E6D # [2000] +4-2C21 U+5E6E # [2000] +4-2C22 U+2217B # [2000] [Unicode3.1] +4-2C23 U+5EA5 # [2000] +4-2C24 U+5EAA # [2000] +4-2C25 U+5EAC # [2000] +4-2C26 U+5EB9 # [2000] +4-2C27 U+5EBF # [2000] +4-2C28 U+5EC6 # [2000] +4-2C29 U+5ED2 # [2000] +4-2C2A U+5ED9 # [2000] +4-2C2B U+2231E # [2000] [Unicode3.1] +4-2C2C U+5EFD # [2000] +4-2C2D U+5F08 # [2000] +4-2C2E U+5F0E # [2000] +4-2C2F U+5F1C # [2000] +4-2C30 U+223AD # [2000] [Unicode3.1] +4-2C31 U+5F1E # [2000] +4-2C32 U+5F47 # [2000] +4-2C33 U+5F63 # [2000] +4-2C34 U+5F72 # [2000] +4-2C35 U+5F7E # [2000] +4-2C36 U+5F8F # [2000] +4-2C37 U+5FA2 # [2000] +4-2C38 U+5FA4 # [2000] +4-2C39 U+5FB8 # [2000] +4-2C3A U+5FC4 # [2000] +4-2C3B U+38FA # [2000] +4-2C3C U+5FC7 # [2000] +4-2C3D U+5FCB # [2000] +4-2C3E U+5FD2 # [2000] +4-2C3F U+5FD3 # [2000] +4-2C40 U+5FD4 # [2000] +4-2C41 U+5FE2 # [2000] +4-2C42 U+5FEE # [2000] +4-2C43 U+5FEF # [2000] +4-2C44 U+5FF3 # [2000] +4-2C45 U+5FFC # [2000] +4-2C46 U+3917 # [2000] +4-2C47 U+6017 # [2000] +4-2C48 U+6022 # [2000] +4-2C49 U+6024 # [2000] +4-2C4A U+391A # [2000] +4-2C4B U+604C # [2000] +4-2C4C U+607F # [2000] +4-2C4D U+608A # [2000] +4-2C4E U+6095 # [2000] +4-2C4F U+60A8 # [2000] +4-2C50 U+226F3 # [2000] [Unicode3.1] +4-2C51 U+60B0 # [2000] +4-2C52 U+60B1 # [2000] +4-2C53 U+60BE # [2000] +4-2C54 U+60C8 # [2000] +4-2C55 U+60D9 # [2000] +4-2C56 U+60DB # [2000] +4-2C57 U+60EE # [2000] +4-2C58 U+60F2 # [2000] +4-2C59 U+60F5 # [2000] +4-2C5A U+6110 # [2000] +4-2C5B U+6112 # [2000] +4-2C5C U+6113 # [2000] +4-2C5D U+6119 # [2000] +4-2C5E U+611E # [2000] +4-2C5F U+613A # [2000] +4-2C60 U+396F # [2000] +4-2C61 U+6141 # [2000] +4-2C62 U+6146 # [2000] +4-2C63 U+6160 # [2000] +4-2C64 U+617C # [2000] +4-2C65 U+2285B # [2000] [Unicode3.1] +4-2C66 U+6192 # [2000] +4-2C67 U+6193 # [2000] +4-2C68 U+6197 # [2000] +4-2C69 U+6198 # [2000] +4-2C6A U+61A5 # [2000] +4-2C6B U+61A8 # [2000] +4-2C6C U+61AD # [2000] +4-2C6D U+228AB # [2000] [Unicode3.1] +4-2C6E U+61D5 # [2000] +4-2C6F U+61DD # [2000] +4-2C70 U+61DF # [2000] +4-2C71 U+61F5 # [2000] +4-2C72 U+2298F # [2000] [Unicode3.1] +4-2C73 U+6215 # [2000] +4-2C74 U+6223 # [2000] +4-2C75 U+6229 # [2000] +4-2C76 U+6246 # [2000] +4-2C77 U+624C # [2000] +4-2C78 U+6251 # [2000] +4-2C79 U+6252 # [2000] +4-2C7A U+6261 # [2000] +4-2C7B U+6264 # [2000] +4-2C7C U+627B # [2000] +4-2C7D U+626D # [2000] +4-2C7E U+6273 # [2000] +4-2D21 U+6299 # [2000] +4-2D22 U+62A6 # [2000] +4-2D23 U+62D5 # [2000] +4-2D24 U+22AB8 # [2000] [Unicode3.1] +4-2D25 U+62FD # [2000] +4-2D26 U+6303 # [2000] +4-2D27 U+630D # [2000] +4-2D28 U+6310 # [2000] +4-2D29 U+22B4F # [2000] [Unicode3.1] +4-2D2A U+22B50 # [2000] [Unicode3.1] +4-2D2B U+6332 # [2000] +4-2D2C U+6335 # [2000] +4-2D2D U+633B # [2000] +4-2D2E U+633C # [2000] +4-2D2F U+6341 # [2000] +4-2D30 U+6344 # [2000] +4-2D31 U+634E # [2000] +4-2D32 U+22B46 # [2000] [Unicode3.1] +4-2D33 U+6359 # [2000] +4-2D34 U+22C1D # [2000] [Unicode3.1] +4-2D35 U+22BA6 # [2000] [Unicode3.1] +4-2D36 U+636C # [2000] +4-2D37 U+6384 # [2000] +4-2D38 U+6399 # [2000] +4-2D39 U+22C24 # [2000] [Unicode3.1] +4-2D3A U+6394 # [2000] +4-2D3B U+63BD # [2000] +4-2D3C U+63F7 # [2000] +4-2D3D U+63D4 # [2000] +4-2D3E U+63D5 # [2000] +4-2D3F U+63DC # [2000] +4-2D40 U+63E0 # [2000] +4-2D41 U+63EB # [2000] +4-2D42 U+63EC # [2000] +4-2D43 U+63F2 # [2000] +4-2D44 U+6409 # [2000] +4-2D45 U+641E # [2000] +4-2D46 U+6425 # [2000] +4-2D47 U+6429 # [2000] +4-2D48 U+642F # [2000] +4-2D49 U+645A # [2000] +4-2D4A U+645B # [2000] +4-2D4B U+645D # [2000] +4-2D4C U+6473 # [2000] +4-2D4D U+647D # [2000] +4-2D4E U+6487 # [2000] +4-2D4F U+6491 # [2000] +4-2D50 U+649D # [2000] +4-2D51 U+649F # [2000] +4-2D52 U+64CB # [2000] +4-2D53 U+64CC # [2000] +4-2D54 U+64D5 # [2000] +4-2D55 U+64D7 # [2000] +4-2D56 U+22DE1 # [2000] [Unicode3.1] +4-2D57 U+64E4 # [2000] +4-2D58 U+64E5 # [2000] +4-2D59 U+64FF # [2000] +4-2D5A U+6504 # [2000] +4-2D5B U+3A6E # [2000] +4-2D5C U+650F # [2000] +4-2D5D U+6514 # [2000] +4-2D5E U+6516 # [2000] +4-2D5F U+3A73 # [2000] +4-2D60 U+651E # [2000] +4-2D61 U+6532 # [2000] +4-2D62 U+6544 # [2000] +4-2D63 U+6554 # [2000] +4-2D64 U+656B # [2000] +4-2D65 U+657A # [2000] +4-2D66 U+6581 # [2000] +4-2D67 U+6584 # [2000] +4-2D68 U+6585 # [2000] +4-2D69 U+658A # [2000] +4-2D6A U+65B2 # [2000] +4-2D6B U+65B5 # [2000] +4-2D6C U+65B8 # [2000] +4-2D6D U+65BF # [2000] +4-2D6E U+65C2 # [2000] +4-2D6F U+65C9 # [2000] +4-2D70 U+65D4 # [2000] +4-2D71 U+3AD6 # [2000] +4-2D72 U+65F2 # [2000] +4-2D73 U+65F9 # [2000] +4-2D74 U+65FC # [2000] +4-2D75 U+6604 # [2000] +4-2D76 U+6608 # [2000] +4-2D77 U+6621 # [2000] +4-2D78 U+662A # [2000] +4-2D79 U+6645 # [2000] +4-2D7A U+6651 # [2000] +4-2D7B U+664E # [2000] +4-2D7C U+3AEA # [2000] +4-2D7D U+231C3 # [2000] [Unicode3.1] +4-2D7E U+6657 # [2000] +4-2E21 U+665B # [2000] +4-2E22 U+6663 # [2000] +4-2E23 U+231F5 # [2000] [Unicode3.1] +4-2E24 U+231B6 # [2000] [Unicode3.1] +4-2E25 U+666A # [2000] +4-2E26 U+666B # [2000] +4-2E27 U+666C # [2000] +4-2E28 U+666D # [2000] +4-2E29 U+667B # [2000] +4-2E2A U+6680 # [2000] +4-2E2B U+6690 # [2000] +4-2E2C U+6692 # [2000] +4-2E2D U+6699 # [2000] +4-2E2E U+3B0E # [2000] +4-2E2F U+66AD # [2000] +4-2E30 U+66B1 # [2000] +4-2E31 U+66B5 # [2000] +4-2E32 U+3B1A # [2000] +4-2E33 U+66BF # [2000] +4-2E34 U+3B1C # [2000] +4-2E35 U+66EC # [2000] +4-2E36 U+3AD7 # [2000] +4-2E37 U+6701 # [2000] +4-2E38 U+6705 # [2000] +4-2E39 U+6712 # [2000] +4-2E3A U+23372 # [2000] [Unicode3.1] +4-2E3B U+6719 # [2000] +4-2E3C U+233D3 # [2000] [Unicode3.1] +4-2E3D U+233D2 # [2000] [Unicode3.1] +4-2E3E U+674C # [2000] +4-2E3F U+674D # [2000] +4-2E40 U+6754 # [2000] +4-2E41 U+675D # [2000] +4-2E42 U+233D0 # [2000] [Unicode3.1] +4-2E43 U+233E4 # [2000] [Unicode3.1] +4-2E44 U+233D5 # [2000] [Unicode3.1] +4-2E45 U+6774 # [2000] +4-2E46 U+6776 # [2000] +4-2E47 U+233DA # [2000] [Unicode3.1] +4-2E48 U+6792 # [2000] +4-2E49 U+233DF # [2000] [Unicode3.1] +4-2E4A U+8363 # [2000] +4-2E4B U+6810 # [2000] +4-2E4C U+67B0 # [2000] +4-2E4D U+67B2 # [2000] +4-2E4E U+67C3 # [2000] +4-2E4F U+67C8 # [2000] +4-2E50 U+67D2 # [2000] +4-2E51 U+67D9 # [2000] +4-2E52 U+67DB # [2000] +4-2E53 U+67F0 # [2000] +4-2E54 U+67F7 # [2000] +4-2E55 U+2344A # [2000] [Unicode3.1] +4-2E56 U+23451 # [2000] [Unicode3.1] +4-2E57 U+2344B # [2000] [Unicode3.1] +4-2E58 U+6818 # [2000] +4-2E59 U+681F # [2000] +4-2E5A U+682D # [2000] +4-2E5B U+23465 # [2000] [Unicode3.1] +4-2E5C U+6833 # [2000] +4-2E5D U+683B # [2000] +4-2E5E U+683E # [2000] +4-2E5F U+6844 # [2000] +4-2E60 U+6845 # [2000] +4-2E61 U+6849 # [2000] +4-2E62 U+684C # [2000] +4-2E63 U+6855 # [2000] +4-2E64 U+6857 # [2000] +4-2E65 U+3B77 # [2000] +4-2E66 U+686B # [2000] +4-2E67 U+686E # [2000] +4-2E68 U+687A # [2000] +4-2E69 U+687C # [2000] +4-2E6A U+6882 # [2000] +4-2E6B U+6890 # [2000] +4-2E6C U+6896 # [2000] +4-2E6D U+3B6D # [2000] +4-2E6E U+6898 # [2000] +4-2E6F U+6899 # [2000] +4-2E70 U+689A # [2000] +4-2E71 U+689C # [2000] +4-2E72 U+68AA # [2000] +4-2E73 U+68AB # [2000] +4-2E74 U+68B4 # [2000] +4-2E75 U+68BB # [2000] +4-2E76 U+68FB # [2000] +4-2E77 U+234E4 # [2000] [Unicode3.1] +4-2E78 U+2355A # [2000] [Unicode3.1] +4-2E79 U+FA13 # CJK COMPATIBILITY IDEOGRAPH-FA13 [2000] +4-2E7A U+68C3 # [2000] +4-2E7B U+68C5 # [2000] +4-2E7C U+68CC # [2000] +4-2E7D U+68CF # [2000] +4-2E7E U+68D6 # [2000] +4-2F21 U+68D9 # [2000] +4-2F22 U+68E4 # [2000] +4-2F23 U+68E5 # [2000] +4-2F24 U+68EC # [2000] +4-2F25 U+68F7 # [2000] +4-2F26 U+6903 # [2000] +4-2F27 U+6907 # [2000] +4-2F28 U+3B87 # [2000] +4-2F29 U+3B88 # [2000] +4-2F2A U+23594 # [2000] [Unicode3.1] +4-2F2B U+693B # [2000] +4-2F2C U+3B8D # [2000] +4-2F2D U+6946 # [2000] +4-2F2E U+6969 # [2000] +4-2F2F U+696C # [2000] +4-2F30 U+6972 # [2000] +4-2F31 U+697A # [2000] +4-2F32 U+697F # [2000] +4-2F33 U+6992 # [2000] +4-2F34 U+3BA4 # [2000] +4-2F35 U+6996 # [2000] +4-2F36 U+6998 # [2000] +4-2F37 U+69A6 # [2000] +4-2F38 U+69B0 # [2000] +4-2F39 U+69B7 # [2000] +4-2F3A U+69BA # [2000] +4-2F3B U+69BC # [2000] +4-2F3C U+69C0 # [2000] +4-2F3D U+69D1 # [2000] +4-2F3E U+69D6 # [2000] +4-2F3F U+23639 # [2000] [Unicode3.1] +4-2F40 U+23647 # [2000] [Unicode3.1] +4-2F41 U+6A30 # [2000] +4-2F42 U+23638 # [2000] [Unicode3.1] +4-2F43 U+2363A # [2000] [Unicode3.1] +4-2F44 U+69E3 # [2000] +4-2F45 U+69EE # [2000] +4-2F46 U+69EF # [2000] +4-2F47 U+69F3 # [2000] +4-2F48 U+3BCD # [2000] +4-2F49 U+69F4 # [2000] +4-2F4A U+69FE # [2000] +4-2F4B U+6A11 # [2000] +4-2F4C U+6A1A # [2000] +4-2F4D U+6A1D # [2000] +4-2F4E U+2371C # [2000] [Unicode3.1] +4-2F4F U+6A32 # [2000] +4-2F50 U+6A33 # [2000] +4-2F51 U+6A34 # [2000] +4-2F52 U+6A3F # [2000] +4-2F53 U+6A46 # [2000] +4-2F54 U+6A49 # [2000] +4-2F55 U+6A7A # [2000] +4-2F56 U+6A4E # [2000] +4-2F57 U+6A52 # [2000] +4-2F58 U+6A64 # [2000] +4-2F59 U+2370C # [2000] [Unicode3.1] +4-2F5A U+6A7E # [2000] +4-2F5B U+6A83 # [2000] +4-2F5C U+6A8B # [2000] +4-2F5D U+3BF0 # [2000] +4-2F5E U+6A91 # [2000] +4-2F5F U+6A9F # [2000] +4-2F60 U+6AA1 # [2000] +4-2F61 U+23764 # [2000] [Unicode3.1] +4-2F62 U+6AAB # [2000] +4-2F63 U+6ABD # [2000] +4-2F64 U+6AC6 # [2000] +4-2F65 U+6AD4 # [2000] +4-2F66 U+6AD0 # [2000] +4-2F67 U+6ADC # [2000] +4-2F68 U+6ADD # [2000] +4-2F69 U+237FF # [2000] [Unicode3.1] +4-2F6A U+237E7 # [2000] [Unicode3.1] +4-2F6B U+6AEC # [2000] +4-2F6C U+6AF1 # [2000] +4-2F6D U+6AF2 # [2000] +4-2F6E U+6AF3 # [2000] +4-2F6F U+6AFD # [2000] +4-2F70 U+23824 # [2000] [Unicode3.1] +4-2F71 U+6B0B # [2000] +4-2F72 U+6B0F # [2000] +4-2F73 U+6B10 # [2000] +4-2F74 U+6B11 # [2000] +4-2F75 U+2383D # [2000] [Unicode3.1] +4-2F76 U+6B17 # [2000] +4-2F77 U+3C26 # [2000] +4-2F78 U+6B2F # [2000] +4-2F79 U+6B4A # [2000] +4-2F7A U+6B58 # [2000] +4-2F7B U+6B6C # [2000] +4-2F7C U+6B75 # [2000] +4-2F7D U+6B7A # [2000] +4-2F7E U+6B81 # [2000] +4-6E21 U+6B9B # [2000] +4-6E22 U+6BAE # [2000] +4-6E23 U+23A98 # [2000] [Unicode3.1] +4-6E24 U+6BBD # [2000] +4-6E25 U+6BBE # [2000] +4-6E26 U+6BC7 # [2000] +4-6E27 U+6BC8 # [2000] +4-6E28 U+6BC9 # [2000] +4-6E29 U+6BDA # [2000] +4-6E2A U+6BE6 # [2000] +4-6E2B U+6BE7 # [2000] +4-6E2C U+6BEE # [2000] +4-6E2D U+6BF1 # [2000] +4-6E2E U+6C02 # [2000] +4-6E2F U+6C0A # [2000] +4-6E30 U+6C0E # [2000] +4-6E31 U+6C35 # [2000] +4-6E32 U+6C36 # [2000] +4-6E33 U+6C3A # [2000] +4-6E34 U+23C7F # [2000] [Unicode3.1] +4-6E35 U+6C3F # [2000] +4-6E36 U+6C4D # [2000] +4-6E37 U+6C5B # [2000] +4-6E38 U+6C6D # [2000] +4-6E39 U+6C84 # [2000] +4-6E3A U+6C89 # [2000] +4-6E3B U+3CC3 # [2000] +4-6E3C U+6C94 # [2000] +4-6E3D U+6C95 # [2000] +4-6E3E U+6C97 # [2000] +4-6E3F U+6CAD # [2000] +4-6E40 U+6CC2 # [2000] +4-6E41 U+6CD0 # [2000] +4-6E42 U+3CD2 # [2000] +4-6E43 U+6CD6 # [2000] +4-6E44 U+6CDA # [2000] +4-6E45 U+6CDC # [2000] +4-6E46 U+6CE9 # [2000] +4-6E47 U+6CEC # [2000] +4-6E48 U+6CED # [2000] +4-6E49 U+23D00 # [2000] [Unicode3.1] +4-6E4A U+6D00 # [2000] +4-6E4B U+6D0A # [2000] +4-6E4C U+6D24 # [2000] +4-6E4D U+6D26 # [2000] +4-6E4E U+6D27 # [2000] +4-6E4F U+6C67 # [2000] +4-6E50 U+6D2F # [2000] +4-6E51 U+6D3C # [2000] +4-6E52 U+6D5B # [2000] +4-6E53 U+6D5E # [2000] +4-6E54 U+6D60 # [2000] +4-6E55 U+6D70 # [2000] +4-6E56 U+6D80 # [2000] +4-6E57 U+6D81 # [2000] +4-6E58 U+6D8A # [2000] +4-6E59 U+6D8D # [2000] +4-6E5A U+6D91 # [2000] +4-6E5B U+6D98 # [2000] +4-6E5C U+23D40 # [2000] [Unicode3.1] +4-6E5D U+6E17 # [2000] +4-6E5E U+23DFA # [2000] [Unicode3.1] +4-6E5F U+23DF9 # [2000] [Unicode3.1] +4-6E60 U+23DD3 # [2000] [Unicode3.1] +4-6E61 U+6DAB # [2000] +4-6E62 U+6DAE # [2000] +4-6E63 U+6DB4 # [2000] +4-6E64 U+6DC2 # [2000] +4-6E65 U+6D34 # [2000] +4-6E66 U+6DC8 # [2000] +4-6E67 U+6DCE # [2000] +4-6E68 U+6DCF # [2000] +4-6E69 U+6DD0 # [2000] +4-6E6A U+6DDF # [2000] +4-6E6B U+6DE9 # [2000] +4-6E6C U+6DF6 # [2000] +4-6E6D U+6E36 # [2000] +4-6E6E U+6E1E # [2000] +4-6E6F U+6E22 # [2000] +4-6E70 U+6E27 # [2000] +4-6E71 U+3D11 # [2000] +4-6E72 U+6E32 # [2000] +4-6E73 U+6E3C # [2000] +4-6E74 U+6E48 # [2000] +4-6E75 U+6E49 # [2000] +4-6E76 U+6E4B # [2000] +4-6E77 U+6E4C # [2000] +4-6E78 U+6E4F # [2000] +4-6E79 U+6E51 # [2000] +4-6E7A U+6E53 # [2000] +4-6E7B U+6E54 # [2000] +4-6E7C U+6E57 # [2000] +4-6E7D U+6E63 # [2000] +4-6E7E U+3D1E # [2000] +4-6F21 U+6E93 # [2000] +4-6F22 U+6EA7 # [2000] +4-6F23 U+6EB4 # [2000] +4-6F24 U+6EBF # [2000] +4-6F25 U+6EC3 # [2000] +4-6F26 U+6ECA # [2000] +4-6F27 U+6ED9 # [2000] +4-6F28 U+6F35 # [2000] +4-6F29 U+6EEB # [2000] +4-6F2A U+6EF9 # [2000] +4-6F2B U+6EFB # [2000] +4-6F2C U+6F0A # [2000] +4-6F2D U+6F0C # [2000] +4-6F2E U+6F18 # [2000] +4-6F2F U+6F25 # [2000] +4-6F30 U+6F36 # [2000] +4-6F31 U+6F3C # [2000] +4-6F32 U+23F7E # [2000] [Unicode3.1] +4-6F33 U+6F52 # [2000] +4-6F34 U+6F57 # [2000] +4-6F35 U+6F5A # [2000] +4-6F36 U+6F60 # [2000] +4-6F37 U+6F68 # [2000] +4-6F38 U+6F98 # [2000] +4-6F39 U+6F7D # [2000] +4-6F3A U+6F90 # [2000] +4-6F3B U+6F96 # [2000] +4-6F3C U+6FBE # [2000] +4-6F3D U+6F9F # [2000] +4-6F3E U+6FA5 # [2000] +4-6F3F U+6FAF # [2000] +4-6F40 U+3D64 # [2000] +4-6F41 U+6FB5 # [2000] +4-6F42 U+6FC8 # [2000] +4-6F43 U+6FC9 # [2000] +4-6F44 U+6FDA # [2000] +4-6F45 U+6FDE # [2000] +4-6F46 U+6FE9 # [2000] +4-6F47 U+24096 # [2000] [Unicode3.1] +4-6F48 U+6FFC # [2000] +4-6F49 U+7000 # [2000] +4-6F4A U+7007 # [2000] +4-6F4B U+700A # [2000] +4-6F4C U+7023 # [2000] +4-6F4D U+24103 # [2000] [Unicode3.1] +4-6F4E U+7039 # [2000] +4-6F4F U+703A # [2000] +4-6F50 U+703C # [2000] +4-6F51 U+7043 # [2000] +4-6F52 U+7047 # [2000] +4-6F53 U+704B # [2000] +4-6F54 U+3D9A # [2000] +4-6F55 U+7054 # [2000] +4-6F56 U+7065 # [2000] +4-6F57 U+7069 # [2000] +4-6F58 U+706C # [2000] +4-6F59 U+706E # [2000] +4-6F5A U+7076 # [2000] +4-6F5B U+707E # [2000] +4-6F5C U+7081 # [2000] +4-6F5D U+7086 # [2000] +4-6F5E U+7095 # [2000] +4-6F5F U+7097 # [2000] +4-6F60 U+70BB # [2000] +4-6F61 U+241C6 # [2000] [Unicode3.1] +4-6F62 U+709F # [2000] +4-6F63 U+70B1 # [2000] +4-6F64 U+241FE # [2000] [Unicode3.1] +4-6F65 U+70EC # [2000] +4-6F66 U+70CA # [2000] +4-6F67 U+70D1 # [2000] +4-6F68 U+70D3 # [2000] +4-6F69 U+70DC # [2000] +4-6F6A U+7103 # [2000] +4-6F6B U+7104 # [2000] +4-6F6C U+7106 # [2000] +4-6F6D U+7107 # [2000] +4-6F6E U+7108 # [2000] +4-6F6F U+710C # [2000] +4-6F70 U+3DC0 # [2000] +4-6F71 U+712F # [2000] +4-6F72 U+7131 # [2000] +4-6F73 U+7150 # [2000] +4-6F74 U+714A # [2000] +4-6F75 U+7153 # [2000] +4-6F76 U+715E # [2000] +4-6F77 U+3DD4 # [2000] +4-6F78 U+7196 # [2000] +4-6F79 U+7180 # [2000] +4-6F7A U+719B # [2000] +4-6F7B U+71A0 # [2000] +4-6F7C U+71A2 # [2000] +4-6F7D U+71AE # [2000] +4-6F7E U+71AF # [2000] +4-7021 U+71B3 # [2000] +4-7022 U+243BC # [2000] [Unicode3.1] +4-7023 U+71CB # [2000] +4-7024 U+71D3 # [2000] +4-7025 U+71D9 # [2000] +4-7026 U+71DC # [2000] +4-7027 U+7207 # [2000] +4-7028 U+3E05 # [2000] +4-7029 U+FA49 # CJK COMPATIBILITY IDEOGRAPH-FA49 [2000] [Unicode3.2] +4-702A U+722B # [2000] +4-702B U+7234 # [2000] +4-702C U+7238 # [2000] +4-702D U+7239 # [2000] +4-702E U+4E2C # [2000] +4-702F U+7242 # [2000] +4-7030 U+7253 # [2000] +4-7031 U+7257 # [2000] +4-7032 U+7263 # [2000] +4-7033 U+24629 # [2000] [Unicode3.1] +4-7034 U+726E # [2000] +4-7035 U+726F # [2000] +4-7036 U+7278 # [2000] +4-7037 U+727F # [2000] +4-7038 U+728E # [2000] +4-7039 U+246A5 # [2000] [Unicode3.1] +4-703A U+72AD # [2000] +4-703B U+72AE # [2000] +4-703C U+72B0 # [2000] +4-703D U+72B1 # [2000] +4-703E U+72C1 # [2000] +4-703F U+3E60 # [2000] +4-7040 U+72CC # [2000] +4-7041 U+3E66 # [2000] +4-7042 U+3E68 # [2000] +4-7043 U+72F3 # [2000] +4-7044 U+72FA # [2000] +4-7045 U+7307 # [2000] +4-7046 U+7312 # [2000] +4-7047 U+7318 # [2000] +4-7048 U+7319 # [2000] +4-7049 U+3E83 # [2000] +4-704A U+7339 # [2000] +4-704B U+732C # [2000] +4-704C U+7331 # [2000] +4-704D U+7333 # [2000] +4-704E U+733D # [2000] +4-704F U+7352 # [2000] +4-7050 U+3E94 # [2000] +4-7051 U+736B # [2000] +4-7052 U+736C # [2000] +4-7053 U+24896 # [2000] [Unicode3.1] +4-7054 U+736E # [2000] +4-7055 U+736F # [2000] +4-7056 U+7371 # [2000] +4-7057 U+7377 # [2000] +4-7058 U+7381 # [2000] +4-7059 U+7385 # [2000] +4-705A U+738A # [2000] +4-705B U+7394 # [2000] +4-705C U+7398 # [2000] +4-705D U+739C # [2000] +4-705E U+739E # [2000] +4-705F U+73A5 # [2000] +4-7060 U+73A8 # [2000] +4-7061 U+73B5 # [2000] +4-7062 U+73B7 # [2000] +4-7063 U+73B9 # [2000] +4-7064 U+73BC # [2000] +4-7065 U+73BF # [2000] +4-7066 U+73C5 # [2000] +4-7067 U+73CB # [2000] +4-7068 U+73E1 # [2000] +4-7069 U+73E7 # [2000] +4-706A U+73F9 # [2000] +4-706B U+7413 # [2000] +4-706C U+73FA # [2000] +4-706D U+7401 # [2000] +4-706E U+7424 # [2000] +4-706F U+7431 # [2000] +4-7070 U+7439 # [2000] +4-7071 U+7453 # [2000] +4-7072 U+7440 # [2000] +4-7073 U+7443 # [2000] +4-7074 U+744D # [2000] +4-7075 U+7452 # [2000] +4-7076 U+745D # [2000] +4-7077 U+7471 # [2000] +4-7078 U+7481 # [2000] +4-7079 U+7485 # [2000] +4-707A U+7488 # [2000] +4-707B U+24A4D # [2000] [Unicode3.1] +4-707C U+7492 # [2000] +4-707D U+7497 # [2000] +4-707E U+7499 # [2000] +4-7121 U+74A0 # [2000] +4-7122 U+74A1 # [2000] +4-7123 U+74A5 # [2000] +4-7124 U+74AA # [2000] +4-7125 U+74AB # [2000] +4-7126 U+74B9 # [2000] +4-7127 U+74BB # [2000] +4-7128 U+74BA # [2000] +4-7129 U+74D6 # [2000] +4-712A U+74D8 # [2000] +4-712B U+74DE # [2000] +4-712C U+74EF # [2000] +4-712D U+74EB # [2000] +4-712E U+24B56 # [2000] [Unicode3.1] +4-712F U+74FA # [2000] +4-7130 U+24B6F # [2000] [Unicode3.1] +4-7131 U+7520 # [2000] +4-7132 U+7524 # [2000] +4-7133 U+752A # [2000] +4-7134 U+3F57 # [2000] +4-7135 U+24C16 # [2000] [Unicode3.1] +4-7136 U+753D # [2000] +4-7137 U+753E # [2000] +4-7138 U+7540 # [2000] +4-7139 U+7548 # [2000] +4-713A U+754E # [2000] +4-713B U+7550 # [2000] +4-713C U+7552 # [2000] +4-713D U+756C # [2000] +4-713E U+7572 # [2000] +4-713F U+7571 # [2000] +4-7140 U+757A # [2000] +4-7141 U+757D # [2000] +4-7142 U+757E # [2000] +4-7143 U+7581 # [2000] +4-7144 U+24D14 # [2000] [Unicode3.1] +4-7145 U+758C # [2000] +4-7146 U+3F75 # [2000] +4-7147 U+75A2 # [2000] +4-7148 U+3F77 # [2000] +4-7149 U+75B0 # [2000] +4-714A U+75B7 # [2000] +4-714B U+75BF # [2000] +4-714C U+75C0 # [2000] +4-714D U+75C6 # [2000] +4-714E U+75CF # [2000] +4-714F U+75D3 # [2000] +4-7150 U+75DD # [2000] +4-7151 U+75DF # [2000] +4-7152 U+75E0 # [2000] +4-7153 U+75E7 # [2000] +4-7154 U+75EC # [2000] +4-7155 U+75EE # [2000] +4-7156 U+75F1 # [2000] +4-7157 U+75F9 # [2000] +4-7158 U+7603 # [2000] +4-7159 U+7618 # [2000] +4-715A U+7607 # [2000] +4-715B U+760F # [2000] +4-715C U+3FAE # [2000] +4-715D U+24E0E # [2000] [Unicode3.1] +4-715E U+7613 # [2000] +4-715F U+761B # [2000] +4-7160 U+761C # [2000] +4-7161 U+24E37 # [2000] [Unicode3.1] +4-7162 U+7625 # [2000] +4-7163 U+7628 # [2000] +4-7164 U+763C # [2000] +4-7165 U+7633 # [2000] +4-7166 U+24E6A # [2000] [Unicode3.1] +4-7167 U+3FC9 # [2000] +4-7168 U+7641 # [2000] +4-7169 U+24E8B # [2000] [Unicode3.1] +4-716A U+7649 # [2000] +4-716B U+7655 # [2000] +4-716C U+3FD7 # [2000] +4-716D U+766E # [2000] +4-716E U+7695 # [2000] +4-716F U+769C # [2000] +4-7170 U+76A1 # [2000] +4-7171 U+76A0 # [2000] +4-7172 U+76A7 # [2000] +4-7173 U+76A8 # [2000] +4-7174 U+76AF # [2000] +4-7175 U+2504A # [2000] [Unicode3.1] +4-7176 U+76C9 # [2000] +4-7177 U+25055 # [2000] [Unicode3.1] +4-7178 U+76E8 # [2000] +4-7179 U+76EC # [2000] +4-717A U+25122 # [2000] [Unicode3.1] +4-717B U+7717 # [2000] +4-717C U+771A # [2000] +4-717D U+772D # [2000] +4-717E U+7735 # [2000] +4-7221 U+251A9 # [2000] [Unicode3.1] +4-7222 U+4039 # [2000] +4-7223 U+251E5 # [2000] [Unicode3.1] +4-7224 U+251CD # [2000] [Unicode3.1] +4-7225 U+7758 # [2000] +4-7226 U+7760 # [2000] +4-7227 U+776A # [2000] +4-7228 U+2521E # [2000] [Unicode3.1] +4-7229 U+7772 # [2000] +4-722A U+777C # [2000] +4-722B U+777D # [2000] +4-722C U+2524C # [2000] [Unicode3.1] +4-722D U+4058 # [2000] +4-722E U+779A # [2000] +4-722F U+779F # [2000] +4-7230 U+77A2 # [2000] +4-7231 U+77A4 # [2000] +4-7232 U+77A9 # [2000] +4-7233 U+77DE # [2000] +4-7234 U+77DF # [2000] +4-7235 U+77E4 # [2000] +4-7236 U+77E6 # [2000] +4-7237 U+77EA # [2000] +4-7238 U+77EC # [2000] +4-7239 U+4093 # [2000] +4-723A U+77F0 # [2000] +4-723B U+77F4 # [2000] +4-723C U+77FB # [2000] +4-723D U+2542E # [2000] [Unicode3.1] +4-723E U+7805 # [2000] +4-723F U+7806 # [2000] +4-7240 U+7809 # [2000] +4-7241 U+780D # [2000] +4-7242 U+7819 # [2000] +4-7243 U+7821 # [2000] +4-7244 U+782C # [2000] +4-7245 U+7847 # [2000] +4-7246 U+7864 # [2000] +4-7247 U+786A # [2000] +4-7248 U+254D9 # [2000] [Unicode3.1] +4-7249 U+788A # [2000] +4-724A U+7894 # [2000] +4-724B U+78A4 # [2000] +4-724C U+789D # [2000] +4-724D U+789E # [2000] +4-724E U+789F # [2000] +4-724F U+78BB # [2000] +4-7250 U+78C8 # [2000] +4-7251 U+78CC # [2000] +4-7252 U+78CE # [2000] +4-7253 U+78D5 # [2000] +4-7254 U+78E0 # [2000] +4-7255 U+78E1 # [2000] +4-7256 U+78E6 # [2000] +4-7257 U+78F9 # [2000] +4-7258 U+78FA # [2000] +4-7259 U+78FB # [2000] +4-725A U+78FE # [2000] +4-725B U+255A7 # [2000] [Unicode3.1] +4-725C U+7910 # [2000] +4-725D U+791B # [2000] +4-725E U+7930 # [2000] +4-725F U+7925 # [2000] +4-7260 U+793B # [2000] +4-7261 U+794A # [2000] +4-7262 U+7958 # [2000] +4-7263 U+795B # [2000] +4-7264 U+4105 # [2000] +4-7265 U+7967 # [2000] +4-7266 U+7972 # [2000] +4-7267 U+7994 # [2000] +4-7268 U+7995 # [2000] +4-7269 U+7996 # [2000] +4-726A U+799B # [2000] +4-726B U+79A1 # [2000] +4-726C U+79A9 # [2000] +4-726D U+79B4 # [2000] +4-726E U+79BB # [2000] +4-726F U+79C2 # [2000] +4-7270 U+79C7 # [2000] +4-7271 U+79CC # [2000] +4-7272 U+79CD # [2000] +4-7273 U+79D6 # [2000] +4-7274 U+4148 # [2000] +4-7275 U+257A9 # [2000] [Unicode3.1] +4-7276 U+257B4 # [2000] [Unicode3.1] +4-7277 U+414F # [2000] +4-7278 U+7A0A # [2000] +4-7279 U+7A11 # [2000] +4-727A U+7A15 # [2000] +4-727B U+7A1B # [2000] +4-727C U+7A1E # [2000] +4-727D U+4163 # [2000] +4-727E U+7A2D # [2000] +4-7321 U+7A38 # [2000] +4-7322 U+7A47 # [2000] +4-7323 U+7A4C # [2000] +4-7324 U+7A56 # [2000] +4-7325 U+7A59 # [2000] +4-7326 U+7A5C # [2000] +4-7327 U+7A5F # [2000] +4-7328 U+7A60 # [2000] +4-7329 U+7A67 # [2000] +4-732A U+7A6A # [2000] +4-732B U+7A75 # [2000] +4-732C U+7A78 # [2000] +4-732D U+7A82 # [2000] +4-732E U+7A8A # [2000] +4-732F U+7A90 # [2000] +4-7330 U+7AA3 # [2000] +4-7331 U+7AAC # [2000] +4-7332 U+259D4 # [2000] [Unicode3.1] +4-7333 U+41B4 # [2000] +4-7334 U+7AB9 # [2000] +4-7335 U+7ABC # [2000] +4-7336 U+7ABE # [2000] +4-7337 U+41BF # [2000] +4-7338 U+7ACC # [2000] +4-7339 U+7AD1 # [2000] +4-733A U+7AE7 # [2000] +4-733B U+7AE8 # [2000] +4-733C U+7AF4 # [2000] +4-733D U+25AE4 # [2000] [Unicode3.1] +4-733E U+25AE3 # [2000] [Unicode3.1] +4-733F U+7B07 # [2000] +4-7340 U+25AF1 # [2000] [Unicode3.1] +4-7341 U+7B3D # [2000] +4-7342 U+7B27 # [2000] +4-7343 U+7B2A # [2000] +4-7344 U+7B2E # [2000] +4-7345 U+7B2F # [2000] +4-7346 U+7B31 # [2000] +4-7347 U+41E6 # [2000] +4-7348 U+41F3 # [2000] +4-7349 U+7B7F # [2000] +4-734A U+7B41 # [2000] +4-734B U+41EE # [2000] +4-734C U+7B55 # [2000] +4-734D U+7B79 # [2000] +4-734E U+7B64 # [2000] +4-734F U+7B66 # [2000] +4-7350 U+7B69 # [2000] +4-7351 U+7B73 # [2000] +4-7352 U+25BB2 # [2000] [Unicode3.1] +4-7353 U+4207 # [2000] +4-7354 U+7B90 # [2000] +4-7355 U+7B91 # [2000] +4-7356 U+7B9B # [2000] +4-7357 U+420E # [2000] +4-7358 U+7BAF # [2000] +4-7359 U+7BB5 # [2000] +4-735A U+7BBC # [2000] +4-735B U+7BC5 # [2000] +4-735C U+7BCA # [2000] +4-735D U+25C4B # [2000] [Unicode3.1] +4-735E U+25C64 # [2000] [Unicode3.1] +4-735F U+7BD4 # [2000] +4-7360 U+7BD6 # [2000] +4-7361 U+7BDA # [2000] +4-7362 U+7BEA # [2000] +4-7363 U+7BF0 # [2000] +4-7364 U+7C03 # [2000] +4-7365 U+7C0B # [2000] +4-7366 U+7C0E # [2000] +4-7367 U+7C0F # [2000] +4-7368 U+7C26 # [2000] +4-7369 U+7C45 # [2000] +4-736A U+7C4A # [2000] +4-736B U+7C51 # [2000] +4-736C U+7C57 # [2000] +4-736D U+7C5E # [2000] +4-736E U+7C61 # [2000] +4-736F U+7C69 # [2000] +4-7370 U+7C6E # [2000] +4-7371 U+7C6F # [2000] +4-7372 U+7C70 # [2000] +4-7373 U+25E2E # [2000] [Unicode3.1] +4-7374 U+25E56 # [2000] [Unicode3.1] +4-7375 U+25E65 # [2000] [Unicode3.1] +4-7376 U+7CA6 # [2000] +4-7377 U+25E62 # [2000] [Unicode3.1] +4-7378 U+7CB6 # [2000] +4-7379 U+7CB7 # [2000] +4-737A U+7CBF # [2000] +4-737B U+25ED8 # [2000] [Unicode3.1] +4-737C U+7CC4 # [2000] +4-737D U+25EC2 # [2000] [Unicode3.1] +4-737E U+7CC8 # [2000] +4-7421 U+7CCD # [2000] +4-7422 U+25EE8 # [2000] [Unicode3.1] +4-7423 U+7CD7 # [2000] +4-7424 U+25F23 # [2000] [Unicode3.1] +4-7425 U+7CE6 # [2000] +4-7426 U+7CEB # [2000] +4-7427 U+25F5C # [2000] [Unicode3.1] +4-7428 U+7CF5 # [2000] +4-7429 U+7D03 # [2000] +4-742A U+7D09 # [2000] +4-742B U+42C6 # [2000] +4-742C U+7D12 # [2000] +4-742D U+7D1E # [2000] +4-742E U+25FE0 # [2000] [Unicode3.1] +4-742F U+25FD4 # [2000] [Unicode3.1] +4-7430 U+7D3D # [2000] +4-7431 U+7D3E # [2000] +4-7432 U+7D40 # [2000] +4-7433 U+7D47 # [2000] +4-7434 U+2600C # [2000] [Unicode3.1] +4-7435 U+25FFB # [2000] [Unicode3.1] +4-7436 U+42D6 # [2000] +4-7437 U+7D59 # [2000] +4-7438 U+7D5A # [2000] +4-7439 U+7D6A # [2000] +4-743A U+7D70 # [2000] +4-743B U+42DD # [2000] +4-743C U+7D7F # [2000] +4-743D U+26017 # [2000] [Unicode3.1] +4-743E U+7D86 # [2000] +4-743F U+7D88 # [2000] +4-7440 U+7D8C # [2000] +4-7441 U+7D97 # [2000] +4-7442 U+26060 # [2000] [Unicode3.1] +4-7443 U+7D9D # [2000] +4-7444 U+7DA7 # [2000] +4-7445 U+7DAA # [2000] +4-7446 U+7DB6 # [2000] +4-7447 U+7DB7 # [2000] +4-7448 U+7DC0 # [2000] +4-7449 U+7DD7 # [2000] +4-744A U+7DD9 # [2000] +4-744B U+7DE6 # [2000] +4-744C U+7DF1 # [2000] +4-744D U+7DF9 # [2000] +4-744E U+4302 # [2000] +4-744F U+260ED # [2000] [Unicode3.1] +4-7450 U+FA58 # CJK COMPATIBILITY IDEOGRAPH-FA58 [2000] [Unicode3.2] +4-7451 U+7E10 # [2000] +4-7452 U+7E17 # [2000] +4-7453 U+7E1D # [2000] +4-7454 U+7E20 # [2000] +4-7455 U+7E27 # [2000] +4-7456 U+7E2C # [2000] +4-7457 U+7E45 # [2000] +4-7458 U+7E73 # [2000] +4-7459 U+7E75 # [2000] +4-745A U+7E7E # [2000] +4-745B U+7E86 # [2000] +4-745C U+7E87 # [2000] +4-745D U+432B # [2000] +4-745E U+7E91 # [2000] +4-745F U+7E98 # [2000] +4-7460 U+7E9A # [2000] +4-7461 U+4343 # [2000] +4-7462 U+7F3C # [2000] +4-7463 U+7F3B # [2000] +4-7464 U+7F3E # [2000] +4-7465 U+7F43 # [2000] +4-7466 U+7F44 # [2000] +4-7467 U+7F4F # [2000] +4-7468 U+34C1 # [2000] +4-7469 U+26270 # [2000] [Unicode3.1] +4-746A U+7F52 # [2000] +4-746B U+26286 # [2000] [Unicode3.1] +4-746C U+7F61 # [2000] +4-746D U+7F63 # [2000] +4-746E U+7F64 # [2000] +4-746F U+7F6D # [2000] +4-7470 U+7F7D # [2000] +4-7471 U+7F7E # [2000] +4-7472 U+2634C # [2000] [Unicode3.1] +4-7473 U+7F90 # [2000] +4-7474 U+517B # [2000] +4-7475 U+23D0E # [2000] [Unicode3.1] +4-7476 U+7F96 # [2000] +4-7477 U+7F9C # [2000] +4-7478 U+7FAD # [2000] +4-7479 U+26402 # [2000] [Unicode3.1] +4-747A U+7FC3 # [2000] +4-747B U+7FCF # [2000] +4-747C U+7FE3 # [2000] +4-747D U+7FE5 # [2000] +4-747E U+7FEF # [2000] +4-7521 U+7FF2 # [2000] +4-7522 U+8002 # [2000] +4-7523 U+800A # [2000] +4-7524 U+8008 # [2000] +4-7525 U+800E # [2000] +4-7526 U+8011 # [2000] +4-7527 U+8016 # [2000] +4-7528 U+8024 # [2000] +4-7529 U+802C # [2000] +4-752A U+8030 # [2000] +4-752B U+8043 # [2000] +4-752C U+8066 # [2000] +4-752D U+8071 # [2000] +4-752E U+8075 # [2000] +4-752F U+807B # [2000] +4-7530 U+8099 # [2000] +4-7531 U+809C # [2000] +4-7532 U+80A4 # [2000] +4-7533 U+80A7 # [2000] +4-7534 U+80B8 # [2000] +4-7535 U+2667E # [2000] [Unicode3.1] +4-7536 U+80C5 # [2000] +4-7537 U+80D5 # [2000] +4-7538 U+80D8 # [2000] +4-7539 U+80E6 # [2000] +4-753A U+266B0 # [2000] [Unicode3.1] +4-753B U+810D # [2000] +4-753C U+80F5 # [2000] +4-753D U+80FB # [2000] +4-753E U+43EE # [2000] +4-753F U+8135 # [2000] +4-7540 U+8116 # [2000] +4-7541 U+811E # [2000] +4-7542 U+43F0 # [2000] +4-7543 U+8124 # [2000] +4-7544 U+8127 # [2000] +4-7545 U+812C # [2000] +4-7546 U+2671D # [2000] [Unicode3.1] +4-7547 U+813D # [2000] +4-7548 U+4408 # [2000] +4-7549 U+8169 # [2000] +4-754A U+4417 # [2000] +4-754B U+8181 # [2000] +4-754C U+441C # [2000] +4-754D U+8184 # [2000] +4-754E U+8185 # [2000] +4-754F U+4422 # [2000] +4-7550 U+8198 # [2000] +4-7551 U+81B2 # [2000] +4-7552 U+81C1 # [2000] +4-7553 U+81C3 # [2000] +4-7554 U+81D6 # [2000] +4-7555 U+81DB # [2000] +4-7556 U+268DD # [2000] [Unicode3.1] +4-7557 U+81E4 # [2000] +4-7558 U+268EA # [2000] [Unicode3.1] +4-7559 U+81EC # [2000] +4-755A U+26951 # [2000] [Unicode3.1] +4-755B U+81FD # [2000] +4-755C U+81FF # [2000] +4-755D U+2696F # [2000] [Unicode3.1] +4-755E U+8204 # [2000] +4-755F U+269DD # [2000] [Unicode3.1] +4-7560 U+8219 # [2000] +4-7561 U+8221 # [2000] +4-7562 U+8222 # [2000] +4-7563 U+26A1E # [2000] [Unicode3.1] +4-7564 U+8232 # [2000] +4-7565 U+8234 # [2000] +4-7566 U+823C # [2000] +4-7567 U+8246 # [2000] +4-7568 U+8249 # [2000] +4-7569 U+8245 # [2000] +4-756A U+26A58 # [2000] [Unicode3.1] +4-756B U+824B # [2000] +4-756C U+4476 # [2000] +4-756D U+824F # [2000] +4-756E U+447A # [2000] +4-756F U+8257 # [2000] +4-7570 U+26A8C # [2000] [Unicode3.1] +4-7571 U+825C # [2000] +4-7572 U+8263 # [2000] +4-7573 U+26AB7 # [2000] [Unicode3.1] +4-7574 U+FA5D # CJK COMPATIBILITY IDEOGRAPH-FA5D [2000] [Unicode3.2] +4-7575 U+FA5E # CJK COMPATIBILITY IDEOGRAPH-FA5E [2000] [Unicode3.2] +4-7576 U+8279 # [2000] +4-7577 U+4491 # [2000] +4-7578 U+827D # [2000] +4-7579 U+827F # [2000] +4-757A U+8283 # [2000] +4-757B U+828A # [2000] +4-757C U+8293 # [2000] +4-757D U+82A7 # [2000] +4-757E U+82A8 # [2000] +4-7621 U+82B2 # [2000] +4-7622 U+82B4 # [2000] +4-7623 U+82BA # [2000] +4-7624 U+82BC # [2000] +4-7625 U+82E2 # [2000] +4-7626 U+82E8 # [2000] +4-7627 U+82F7 # [2000] +4-7628 U+8307 # [2000] +4-7629 U+8308 # [2000] +4-762A U+830C # [2000] +4-762B U+8354 # [2000] +4-762C U+831B # [2000] +4-762D U+831D # [2000] +4-762E U+8330 # [2000] +4-762F U+833C # [2000] +4-7630 U+8344 # [2000] +4-7631 U+8357 # [2000] +4-7632 U+44BE # [2000] +4-7633 U+837F # [2000] +4-7634 U+44D4 # [2000] +4-7635 U+44B3 # [2000] +4-7636 U+838D # [2000] +4-7637 U+8394 # [2000] +4-7638 U+8395 # [2000] +4-7639 U+839B # [2000] +4-763A U+839D # [2000] +4-763B U+83C9 # [2000] +4-763C U+83D0 # [2000] +4-763D U+83D4 # [2000] +4-763E U+83DD # [2000] +4-763F U+83E5 # [2000] +4-7640 U+83F9 # [2000] +4-7641 U+840F # [2000] +4-7642 U+8411 # [2000] +4-7643 U+8415 # [2000] +4-7644 U+26C73 # [2000] [Unicode3.1] +4-7645 U+8417 # [2000] +4-7646 U+8439 # [2000] +4-7647 U+844A # [2000] +4-7648 U+844F # [2000] +4-7649 U+8451 # [2000] +4-764A U+8452 # [2000] +4-764B U+8459 # [2000] +4-764C U+845A # [2000] +4-764D U+845C # [2000] +4-764E U+26CDD # [2000] [Unicode3.1] +4-764F U+8465 # [2000] +4-7650 U+8476 # [2000] +4-7651 U+8478 # [2000] +4-7652 U+847C # [2000] +4-7653 U+8481 # [2000] +4-7654 U+450D # [2000] +4-7655 U+84DC # [2000] +4-7656 U+8497 # [2000] +4-7657 U+84A6 # [2000] +4-7658 U+84BE # [2000] +4-7659 U+4508 # [2000] +4-765A U+84CE # [2000] +4-765B U+84CF # [2000] +4-765C U+84D3 # [2000] +4-765D U+26E65 # [2000] [Unicode3.1] +4-765E U+84E7 # [2000] +4-765F U+84EA # [2000] +4-7660 U+84EF # [2000] +4-7661 U+84F0 # [2000] +4-7662 U+84F1 # [2000] +4-7663 U+84FA # [2000] +4-7664 U+84FD # [2000] +4-7665 U+850C # [2000] +4-7666 U+851B # [2000] +4-7667 U+8524 # [2000] +4-7668 U+8525 # [2000] +4-7669 U+852B # [2000] +4-766A U+8534 # [2000] +4-766B U+854F # [2000] +4-766C U+856F # [2000] +4-766D U+4525 # [2000] +4-766E U+4543 # [2000] +4-766F U+853E # [2000] +4-7670 U+8551 # [2000] +4-7671 U+8553 # [2000] +4-7672 U+855E # [2000] +4-7673 U+8561 # [2000] +4-7674 U+8562 # [2000] +4-7675 U+26F94 # [2000] [Unicode3.1] +4-7676 U+857B # [2000] +4-7677 U+857D # [2000] +4-7678 U+857F # [2000] +4-7679 U+8581 # [2000] +4-767A U+8586 # [2000] +4-767B U+8593 # [2000] +4-767C U+859D # [2000] +4-767D U+859F # [2000] +4-767E U+26FF8 # [2000] [Unicode3.1] +4-7721 U+26FF6 # [2000] [Unicode3.1] +4-7722 U+26FF7 # [2000] [Unicode3.1] +4-7723 U+85B7 # [2000] +4-7724 U+85BC # [2000] +4-7725 U+85C7 # [2000] +4-7726 U+85CA # [2000] +4-7727 U+85D8 # [2000] +4-7728 U+85D9 # [2000] +4-7729 U+85DF # [2000] +4-772A U+85E1 # [2000] +4-772B U+85E6 # [2000] +4-772C U+85F6 # [2000] +4-772D U+8600 # [2000] +4-772E U+8611 # [2000] +4-772F U+861E # [2000] +4-7730 U+8621 # [2000] +4-7731 U+8624 # [2000] +4-7732 U+8627 # [2000] +4-7733 U+2710D # [2000] [Unicode3.1] +4-7734 U+8639 # [2000] +4-7735 U+863C # [2000] +4-7736 U+27139 # [2000] [Unicode3.1] +4-7737 U+8640 # [2000] +4-7738 U+FA20 # CJK COMPATIBILITY IDEOGRAPH-FA20 [2000] +4-7739 U+8653 # [2000] +4-773A U+8656 # [2000] +4-773B U+866F # [2000] +4-773C U+8677 # [2000] +4-773D U+867A # [2000] +4-773E U+8687 # [2000] +4-773F U+8689 # [2000] +4-7740 U+868D # [2000] +4-7741 U+8691 # [2000] +4-7742 U+869C # [2000] +4-7743 U+869D # [2000] +4-7744 U+86A8 # [2000] +4-7745 U+FA21 # CJK COMPATIBILITY IDEOGRAPH-FA21 [2000] +4-7746 U+86B1 # [2000] +4-7747 U+86B3 # [2000] +4-7748 U+86C1 # [2000] +4-7749 U+86C3 # [2000] +4-774A U+86D1 # [2000] +4-774B U+86D5 # [2000] +4-774C U+86D7 # [2000] +4-774D U+86E3 # [2000] +4-774E U+86E6 # [2000] +4-774F U+45B8 # [2000] +4-7750 U+8705 # [2000] +4-7751 U+8707 # [2000] +4-7752 U+870E # [2000] +4-7753 U+8710 # [2000] +4-7754 U+8713 # [2000] +4-7755 U+8719 # [2000] +4-7756 U+871F # [2000] +4-7757 U+8721 # [2000] +4-7758 U+8723 # [2000] +4-7759 U+8731 # [2000] +4-775A U+873A # [2000] +4-775B U+873E # [2000] +4-775C U+8740 # [2000] +4-775D U+8743 # [2000] +4-775E U+8751 # [2000] +4-775F U+8758 # [2000] +4-7760 U+8764 # [2000] +4-7761 U+8765 # [2000] +4-7762 U+8772 # [2000] +4-7763 U+877C # [2000] +4-7764 U+273DB # [2000] [Unicode3.1] +4-7765 U+273DA # [2000] [Unicode3.1] +4-7766 U+87A7 # [2000] +4-7767 U+8789 # [2000] +4-7768 U+878B # [2000] +4-7769 U+8793 # [2000] +4-776A U+87A0 # [2000] +4-776B U+273FE # [2000] [Unicode3.1] +4-776C U+45E5 # [2000] +4-776D U+87BE # [2000] +4-776E U+27410 # [2000] [Unicode3.1] +4-776F U+87C1 # [2000] +4-7770 U+87CE # [2000] +4-7771 U+87F5 # [2000] +4-7772 U+87DF # [2000] +4-7773 U+27449 # [2000] [Unicode3.1] +4-7774 U+87E3 # [2000] +4-7775 U+87E5 # [2000] +4-7776 U+87E6 # [2000] +4-7777 U+87EA # [2000] +4-7778 U+87EB # [2000] +4-7779 U+87ED # [2000] +4-777A U+8801 # [2000] +4-777B U+8803 # [2000] +4-777C U+880B # [2000] +4-777D U+8813 # [2000] +4-777E U+8828 # [2000] +4-7821 U+882E # [2000] +4-7822 U+8832 # [2000] +4-7823 U+883C # [2000] +4-7824 U+460F # [2000] +4-7825 U+884A # [2000] +4-7826 U+8858 # [2000] +4-7827 U+885F # [2000] +4-7828 U+8864 # [2000] +4-7829 U+27615 # [2000] [Unicode3.1] +4-782A U+27614 # [2000] [Unicode3.1] +4-782B U+8869 # [2000] +4-782C U+27631 # [2000] [Unicode3.1] +4-782D U+886F # [2000] +4-782E U+88A0 # [2000] +4-782F U+88BC # [2000] +4-7830 U+88BD # [2000] +4-7831 U+88BE # [2000] +4-7832 U+88C0 # [2000] +4-7833 U+88D2 # [2000] +4-7834 U+27693 # [2000] [Unicode3.1] +4-7835 U+88D1 # [2000] +4-7836 U+88D3 # [2000] +4-7837 U+88DB # [2000] +4-7838 U+88F0 # [2000] +4-7839 U+88F1 # [2000] +4-783A U+4641 # [2000] +4-783B U+8901 # [2000] +4-783C U+2770E # [2000] [Unicode3.1] +4-783D U+8937 # [2000] +4-783E U+27723 # [2000] [Unicode3.1] +4-783F U+8942 # [2000] +4-7840 U+8945 # [2000] +4-7841 U+8949 # [2000] +4-7842 U+27752 # [2000] [Unicode3.1] +4-7843 U+4665 # [2000] +4-7844 U+8962 # [2000] +4-7845 U+8980 # [2000] +4-7846 U+8989 # [2000] +4-7847 U+8990 # [2000] +4-7848 U+899F # [2000] +4-7849 U+89B0 # [2000] +4-784A U+89B7 # [2000] +4-784B U+89D6 # [2000] +4-784C U+89D8 # [2000] +4-784D U+89EB # [2000] +4-784E U+46A1 # [2000] +4-784F U+89F1 # [2000] +4-7850 U+89F3 # [2000] +4-7851 U+89FD # [2000] +4-7852 U+89FF # [2000] +4-7853 U+46AF # [2000] +4-7854 U+8A11 # [2000] +4-7855 U+8A14 # [2000] +4-7856 U+27985 # [2000] [Unicode3.1] +4-7857 U+8A21 # [2000] +4-7858 U+8A35 # [2000] +4-7859 U+8A3E # [2000] +4-785A U+8A45 # [2000] +4-785B U+8A4D # [2000] +4-785C U+8A58 # [2000] +4-785D U+8AAE # [2000] +4-785E U+8A90 # [2000] +4-785F U+8AB7 # [2000] +4-7860 U+8ABE # [2000] +4-7861 U+8AD7 # [2000] +4-7862 U+8AFC # [2000] +4-7863 U+27A84 # [2000] [Unicode3.1] +4-7864 U+8B0A # [2000] +4-7865 U+8B05 # [2000] +4-7866 U+8B0D # [2000] +4-7867 U+8B1C # [2000] +4-7868 U+8B1F # [2000] +4-7869 U+8B2D # [2000] +4-786A U+8B43 # [2000] +4-786B U+470C # [2000] +4-786C U+8B51 # [2000] +4-786D U+8B5E # [2000] +4-786E U+8B76 # [2000] +4-786F U+8B7F # [2000] +4-7870 U+8B81 # [2000] +4-7871 U+8B8B # [2000] +4-7872 U+8B94 # [2000] +4-7873 U+8B95 # [2000] +4-7874 U+8B9C # [2000] +4-7875 U+8B9E # [2000] +4-7876 U+8C39 # [2000] +4-7877 U+27BB3 # [2000] [Unicode3.1] +4-7878 U+8C3D # [2000] +4-7879 U+27BBE # [2000] [Unicode3.1] +4-787A U+27BC7 # [2000] [Unicode3.1] +4-787B U+8C45 # [2000] +4-787C U+8C47 # [2000] +4-787D U+8C4F # [2000] +4-787E U+8C54 # [2000] +4-7921 U+8C57 # [2000] +4-7922 U+8C69 # [2000] +4-7923 U+8C6D # [2000] +4-7924 U+8C73 # [2000] +4-7925 U+27CB8 # [2000] [Unicode3.1] +4-7926 U+8C93 # [2000] +4-7927 U+8C92 # [2000] +4-7928 U+8C99 # [2000] +4-7929 U+4764 # [2000] +4-792A U+8C9B # [2000] +4-792B U+8CA4 # [2000] +4-792C U+8CD6 # [2000] +4-792D U+8CD5 # [2000] +4-792E U+8CD9 # [2000] +4-792F U+27DA0 # [2000] [Unicode3.1] +4-7930 U+8CF0 # [2000] +4-7931 U+8CF1 # [2000] +4-7932 U+27E10 # [2000] [Unicode3.1] +4-7933 U+8D09 # [2000] +4-7934 U+8D0E # [2000] +4-7935 U+8D6C # [2000] +4-7936 U+8D84 # [2000] +4-7937 U+8D95 # [2000] +4-7938 U+8DA6 # [2000] +4-7939 U+27FB7 # [2000] [Unicode3.1] +4-793A U+8DC6 # [2000] +4-793B U+8DC8 # [2000] +4-793C U+8DD9 # [2000] +4-793D U+8DEC # [2000] +4-793E U+8E0C # [2000] +4-793F U+47FD # [2000] +4-7940 U+8DFD # [2000] +4-7941 U+8E06 # [2000] +4-7942 U+2808A # [2000] [Unicode3.1] +4-7943 U+8E14 # [2000] +4-7944 U+8E16 # [2000] +4-7945 U+8E21 # [2000] +4-7946 U+8E22 # [2000] +4-7947 U+8E27 # [2000] +4-7948 U+280BB # [2000] [Unicode3.1] +4-7949 U+4816 # [2000] +4-794A U+8E36 # [2000] +4-794B U+8E39 # [2000] +4-794C U+8E4B # [2000] +4-794D U+8E54 # [2000] +4-794E U+8E62 # [2000] +4-794F U+8E6C # [2000] +4-7950 U+8E6D # [2000] +4-7951 U+8E6F # [2000] +4-7952 U+8E98 # [2000] +4-7953 U+8E9E # [2000] +4-7954 U+8EAE # [2000] +4-7955 U+8EB3 # [2000] +4-7956 U+8EB5 # [2000] +4-7957 U+8EB6 # [2000] +4-7958 U+8EBB # [2000] +4-7959 U+28282 # [2000] [Unicode3.1] +4-795A U+8ED1 # [2000] +4-795B U+8ED4 # [2000] +4-795C U+484E # [2000] +4-795D U+8EF9 # [2000] +4-795E U+282F3 # [2000] [Unicode3.1] +4-795F U+8F00 # [2000] +4-7960 U+8F08 # [2000] +4-7961 U+8F17 # [2000] +4-7962 U+8F2B # [2000] +4-7963 U+8F40 # [2000] +4-7964 U+8F4A # [2000] +4-7965 U+8F58 # [2000] +4-7966 U+2840C # [2000] [Unicode3.1] +4-7967 U+8FA4 # [2000] +4-7968 U+8FB4 # [2000] +4-7969 U+FA66 # CJK COMPATIBILITY IDEOGRAPH-FA66 [2000] [Unicode3.2] +4-796A U+8FB6 # [2000] +4-796B U+28455 # [2000] [Unicode3.1] +4-796C U+8FC1 # [2000] +4-796D U+8FC6 # [2000] +4-796E U+FA24 # CJK COMPATIBILITY IDEOGRAPH-FA24 [2000] +4-796F U+8FCA # [2000] +4-7970 U+8FCD # [2000] +4-7971 U+8FD3 # [2000] +4-7972 U+8FD5 # [2000] +4-7973 U+8FE0 # [2000] +4-7974 U+8FF1 # [2000] +4-7975 U+8FF5 # [2000] +4-7976 U+8FFB # [2000] +4-7977 U+9002 # [2000] +4-7978 U+900C # [2000] +4-7979 U+9037 # [2000] +4-797A U+2856B # [2000] [Unicode3.1] +4-797B U+9043 # [2000] +4-797C U+9044 # [2000] +4-797D U+905D # [2000] +4-797E U+285C8 # [2000] [Unicode3.1] +4-7A21 U+285C9 # [2000] [Unicode3.1] +4-7A22 U+9085 # [2000] +4-7A23 U+908C # [2000] +4-7A24 U+9090 # [2000] +4-7A25 U+961D # [2000] +4-7A26 U+90A1 # [2000] +4-7A27 U+48B5 # [2000] +4-7A28 U+90B0 # [2000] +4-7A29 U+90B6 # [2000] +4-7A2A U+90C3 # [2000] +4-7A2B U+90C8 # [2000] +4-7A2C U+286D7 # [2000] [Unicode3.1] +4-7A2D U+90DC # [2000] +4-7A2E U+90DF # [2000] +4-7A2F U+286FA # [2000] [Unicode3.1] +4-7A30 U+90F6 # [2000] +4-7A31 U+90F2 # [2000] +4-7A32 U+9100 # [2000] +4-7A33 U+90EB # [2000] +4-7A34 U+90FE # [2000] +4-7A35 U+90FF # [2000] +4-7A36 U+9104 # [2000] +4-7A37 U+9106 # [2000] +4-7A38 U+9118 # [2000] +4-7A39 U+911C # [2000] +4-7A3A U+911E # [2000] +4-7A3B U+9137 # [2000] +4-7A3C U+9139 # [2000] +4-7A3D U+913A # [2000] +4-7A3E U+9146 # [2000] +4-7A3F U+9147 # [2000] +4-7A40 U+9157 # [2000] +4-7A41 U+9159 # [2000] +4-7A42 U+9161 # [2000] +4-7A43 U+9164 # [2000] +4-7A44 U+9174 # [2000] +4-7A45 U+9179 # [2000] +4-7A46 U+9185 # [2000] +4-7A47 U+918E # [2000] +4-7A48 U+91A8 # [2000] +4-7A49 U+91AE # [2000] +4-7A4A U+91B3 # [2000] +4-7A4B U+91B6 # [2000] +4-7A4C U+91C3 # [2000] +4-7A4D U+91C4 # [2000] +4-7A4E U+91DA # [2000] +4-7A4F U+28949 # [2000] [Unicode3.1] +4-7A50 U+28946 # [2000] [Unicode3.1] +4-7A51 U+91EC # [2000] +4-7A52 U+91EE # [2000] +4-7A53 U+9201 # [2000] +4-7A54 U+920A # [2000] +4-7A55 U+9216 # [2000] +4-7A56 U+9217 # [2000] +4-7A57 U+2896B # [2000] [Unicode3.1] +4-7A58 U+9233 # [2000] +4-7A59 U+9242 # [2000] +4-7A5A U+9247 # [2000] +4-7A5B U+924A # [2000] +4-7A5C U+924E # [2000] +4-7A5D U+9251 # [2000] +4-7A5E U+9256 # [2000] +4-7A5F U+9259 # [2000] +4-7A60 U+9260 # [2000] +4-7A61 U+9261 # [2000] +4-7A62 U+9265 # [2000] +4-7A63 U+9267 # [2000] +4-7A64 U+9268 # [2000] +4-7A65 U+28987 # [2000] [Unicode3.1] +4-7A66 U+28988 # [2000] [Unicode3.1] +4-7A67 U+927C # [2000] +4-7A68 U+927D # [2000] +4-7A69 U+927F # [2000] +4-7A6A U+9289 # [2000] +4-7A6B U+928D # [2000] +4-7A6C U+9297 # [2000] +4-7A6D U+9299 # [2000] +4-7A6E U+929F # [2000] +4-7A6F U+92A7 # [2000] +4-7A70 U+92AB # [2000] +4-7A71 U+289BA # [2000] [Unicode3.1] +4-7A72 U+289BB # [2000] [Unicode3.1] +4-7A73 U+92B2 # [2000] +4-7A74 U+92BF # [2000] +4-7A75 U+92C0 # [2000] +4-7A76 U+92C6 # [2000] +4-7A77 U+92CE # [2000] +4-7A78 U+92D0 # [2000] +4-7A79 U+92D7 # [2000] +4-7A7A U+92D9 # [2000] +4-7A7B U+92E5 # [2000] +4-7A7C U+92E7 # [2000] +4-7A7D U+9311 # [2000] +4-7A7E U+28A1E # [2000] [Unicode3.1] +4-7B21 U+28A29 # [2000] [Unicode3.1] +4-7B22 U+92F7 # [2000] +4-7B23 U+92F9 # [2000] +4-7B24 U+92FB # [2000] +4-7B25 U+9302 # [2000] +4-7B26 U+930D # [2000] +4-7B27 U+9315 # [2000] +4-7B28 U+931D # [2000] +4-7B29 U+931E # [2000] +4-7B2A U+9327 # [2000] +4-7B2B U+9329 # [2000] +4-7B2C U+28A71 # [2000] [Unicode3.1] +4-7B2D U+28A43 # [2000] [Unicode3.1] +4-7B2E U+9347 # [2000] +4-7B2F U+9351 # [2000] +4-7B30 U+9357 # [2000] +4-7B31 U+935A # [2000] +4-7B32 U+936B # [2000] +4-7B33 U+9371 # [2000] +4-7B34 U+9373 # [2000] +4-7B35 U+93A1 # [2000] +4-7B36 U+28A99 # [2000] [Unicode3.1] +4-7B37 U+28ACD # [2000] [Unicode3.1] +4-7B38 U+9388 # [2000] +4-7B39 U+938B # [2000] +4-7B3A U+938F # [2000] +4-7B3B U+939E # [2000] +4-7B3C U+93F5 # [2000] +4-7B3D U+28AE4 # [2000] [Unicode3.1] +4-7B3E U+28ADD # [2000] [Unicode3.1] +4-7B3F U+93F1 # [2000] +4-7B40 U+93C1 # [2000] +4-7B41 U+93C7 # [2000] +4-7B42 U+93DC # [2000] +4-7B43 U+93E2 # [2000] +4-7B44 U+93E7 # [2000] +4-7B45 U+9409 # [2000] +4-7B46 U+940F # [2000] +4-7B47 U+9416 # [2000] +4-7B48 U+9417 # [2000] +4-7B49 U+93FB # [2000] +4-7B4A U+9432 # [2000] +4-7B4B U+9434 # [2000] +4-7B4C U+943B # [2000] +4-7B4D U+9445 # [2000] +4-7B4E U+28BC1 # [2000] [Unicode3.1] +4-7B4F U+28BEF # [2000] [Unicode3.1] +4-7B50 U+946D # [2000] +4-7B51 U+946F # [2000] +4-7B52 U+9578 # [2000] +4-7B53 U+9579 # [2000] +4-7B54 U+9586 # [2000] +4-7B55 U+958C # [2000] +4-7B56 U+958D # [2000] +4-7B57 U+28D10 # [2000] [Unicode3.1] +4-7B58 U+95AB # [2000] +4-7B59 U+95B4 # [2000] +4-7B5A U+28D71 # [2000] [Unicode3.1] +4-7B5B U+95C8 # [2000] +4-7B5C U+28DFB # [2000] [Unicode3.1] +4-7B5D U+28E1F # [2000] [Unicode3.1] +4-7B5E U+962C # [2000] +4-7B5F U+9633 # [2000] +4-7B60 U+9634 # [2000] +4-7B61 U+28E36 # [2000] [Unicode3.1] +4-7B62 U+963C # [2000] +4-7B63 U+9641 # [2000] +4-7B64 U+9661 # [2000] +4-7B65 U+28E89 # [2000] [Unicode3.1] +4-7B66 U+9682 # [2000] +4-7B67 U+28EEB # [2000] [Unicode3.1] +4-7B68 U+969A # [2000] +4-7B69 U+28F32 # [2000] [Unicode3.1] +4-7B6A U+49E7 # [2000] +4-7B6B U+96A9 # [2000] +4-7B6C U+96AF # [2000] +4-7B6D U+96B3 # [2000] +4-7B6E U+96BA # [2000] +4-7B6F U+96BD # [2000] +4-7B70 U+49FA # [2000] +4-7B71 U+28FF8 # [2000] [Unicode3.1] +4-7B72 U+96D8 # [2000] +4-7B73 U+96DA # [2000] +4-7B74 U+96DD # [2000] +4-7B75 U+4A04 # [2000] +4-7B76 U+9714 # [2000] +4-7B77 U+9723 # [2000] +4-7B78 U+4A29 # [2000] +4-7B79 U+9736 # [2000] +4-7B7A U+9741 # [2000] +4-7B7B U+9747 # [2000] +4-7B7C U+9755 # [2000] +4-7B7D U+9757 # [2000] +4-7B7E U+975B # [2000] +4-7C21 U+976A # [2000] +4-7C22 U+292A0 # [2000] [Unicode3.1] +4-7C23 U+292B1 # [2000] [Unicode3.1] +4-7C24 U+9796 # [2000] +4-7C25 U+979A # [2000] +4-7C26 U+979E # [2000] +4-7C27 U+97A2 # [2000] +4-7C28 U+97B1 # [2000] +4-7C29 U+97B2 # [2000] +4-7C2A U+97BE # [2000] +4-7C2B U+97CC # [2000] +4-7C2C U+97D1 # [2000] +4-7C2D U+97D4 # [2000] +4-7C2E U+97D8 # [2000] +4-7C2F U+97D9 # [2000] +4-7C30 U+97E1 # [2000] +4-7C31 U+97F1 # [2000] +4-7C32 U+9804 # [2000] +4-7C33 U+980D # [2000] +4-7C34 U+980E # [2000] +4-7C35 U+9814 # [2000] +4-7C36 U+9816 # [2000] +4-7C37 U+4ABC # [2000] +4-7C38 U+29490 # [2000] [Unicode3.1] +4-7C39 U+9823 # [2000] +4-7C3A U+9832 # [2000] +4-7C3B U+9833 # [2000] +4-7C3C U+9825 # [2000] +4-7C3D U+9847 # [2000] +4-7C3E U+9866 # [2000] +4-7C3F U+98AB # [2000] +4-7C40 U+98AD # [2000] +4-7C41 U+98B0 # [2000] +4-7C42 U+295CF # [2000] [Unicode3.1] +4-7C43 U+98B7 # [2000] +4-7C44 U+98B8 # [2000] +4-7C45 U+98BB # [2000] +4-7C46 U+98BC # [2000] +4-7C47 U+98BF # [2000] +4-7C48 U+98C2 # [2000] +4-7C49 U+98C7 # [2000] +4-7C4A U+98CB # [2000] +4-7C4B U+98E0 # [2000] +4-7C4C U+2967F # [2000] [Unicode3.1] +4-7C4D U+98E1 # [2000] +4-7C4E U+98E3 # [2000] +4-7C4F U+98E5 # [2000] +4-7C50 U+98EA # [2000] +4-7C51 U+98F0 # [2000] +4-7C52 U+98F1 # [2000] +4-7C53 U+98F3 # [2000] +4-7C54 U+9908 # [2000] +4-7C55 U+4B3B # [2000] +4-7C56 U+296F0 # [2000] [Unicode3.1] +4-7C57 U+9916 # [2000] +4-7C58 U+9917 # [2000] +4-7C59 U+29719 # [2000] [Unicode3.1] +4-7C5A U+991A # [2000] +4-7C5B U+991B # [2000] +4-7C5C U+991C # [2000] +4-7C5D U+29750 # [2000] [Unicode3.1] +4-7C5E U+9931 # [2000] +4-7C5F U+9932 # [2000] +4-7C60 U+9933 # [2000] +4-7C61 U+993A # [2000] +4-7C62 U+993B # [2000] +4-7C63 U+993C # [2000] +4-7C64 U+9940 # [2000] +4-7C65 U+9941 # [2000] +4-7C66 U+9946 # [2000] +4-7C67 U+994D # [2000] +4-7C68 U+994E # [2000] +4-7C69 U+995C # [2000] +4-7C6A U+995F # [2000] +4-7C6B U+9960 # [2000] +4-7C6C U+99A3 # [2000] +4-7C6D U+99A6 # [2000] +4-7C6E U+99B9 # [2000] +4-7C6F U+99BD # [2000] +4-7C70 U+99BF # [2000] +4-7C71 U+99C3 # [2000] +4-7C72 U+99C9 # [2000] +4-7C73 U+99D4 # [2000] +4-7C74 U+99D9 # [2000] +4-7C75 U+99DE # [2000] +4-7C76 U+298C6 # [2000] [Unicode3.1] +4-7C77 U+99F0 # [2000] +4-7C78 U+99F9 # [2000] +4-7C79 U+99FC # [2000] +4-7C7A U+9A0A # [2000] +4-7C7B U+9A11 # [2000] +4-7C7C U+9A16 # [2000] +4-7C7D U+9A1A # [2000] +4-7C7E U+9A20 # [2000] +4-7D21 U+9A31 # [2000] +4-7D22 U+9A36 # [2000] +4-7D23 U+9A44 # [2000] +4-7D24 U+9A4C # [2000] +4-7D25 U+9A58 # [2000] +4-7D26 U+4BC2 # [2000] +4-7D27 U+9AAF # [2000] +4-7D28 U+4BCA # [2000] +4-7D29 U+9AB7 # [2000] +4-7D2A U+4BD2 # [2000] +4-7D2B U+9AB9 # [2000] +4-7D2C U+29A72 # [2000] [Unicode3.1] +4-7D2D U+9AC6 # [2000] +4-7D2E U+9AD0 # [2000] +4-7D2F U+9AD2 # [2000] +4-7D30 U+9AD5 # [2000] +4-7D31 U+4BE8 # [2000] +4-7D32 U+9ADC # [2000] +4-7D33 U+9AE0 # [2000] +4-7D34 U+9AE5 # [2000] +4-7D35 U+9AE9 # [2000] +4-7D36 U+9B03 # [2000] +4-7D37 U+9B0C # [2000] +4-7D38 U+9B10 # [2000] +4-7D39 U+9B12 # [2000] +4-7D3A U+9B16 # [2000] +4-7D3B U+9B1C # [2000] +4-7D3C U+9B2B # [2000] +4-7D3D U+9B33 # [2000] +4-7D3E U+9B3D # [2000] +4-7D3F U+4C20 # [2000] +4-7D40 U+9B4B # [2000] +4-7D41 U+9B63 # [2000] +4-7D42 U+9B65 # [2000] +4-7D43 U+9B6B # [2000] +4-7D44 U+9B6C # [2000] +4-7D45 U+9B73 # [2000] +4-7D46 U+9B76 # [2000] +4-7D47 U+9B77 # [2000] +4-7D48 U+9BA6 # [2000] +4-7D49 U+9BAC # [2000] +4-7D4A U+9BB1 # [2000] +4-7D4B U+29DDB # [2000] [Unicode3.1] +4-7D4C U+29E3D # [2000] [Unicode3.1] +4-7D4D U+9BB2 # [2000] +4-7D4E U+9BB8 # [2000] +4-7D4F U+9BBE # [2000] +4-7D50 U+9BC7 # [2000] +4-7D51 U+9BF3 # [2000] +4-7D52 U+9BD8 # [2000] +4-7D53 U+9BDD # [2000] +4-7D54 U+9BE7 # [2000] +4-7D55 U+9BEA # [2000] +4-7D56 U+9BEB # [2000] +4-7D57 U+9BEF # [2000] +4-7D58 U+9BEE # [2000] +4-7D59 U+29E15 # [2000] [Unicode3.1] +4-7D5A U+9BFA # [2000] +4-7D5B U+29E8A # [2000] [Unicode3.1] +4-7D5C U+9BF7 # [2000] +4-7D5D U+29E49 # [2000] [Unicode3.1] +4-7D5E U+9C16 # [2000] +4-7D5F U+9C18 # [2000] +4-7D60 U+9C19 # [2000] +4-7D61 U+9C1A # [2000] +4-7D62 U+9C1D # [2000] +4-7D63 U+9C22 # [2000] +4-7D64 U+9C27 # [2000] +4-7D65 U+9C29 # [2000] +4-7D66 U+9C2A # [2000] +4-7D67 U+29EC4 # [2000] [Unicode3.1] +4-7D68 U+9C31 # [2000] +4-7D69 U+9C36 # [2000] +4-7D6A U+9C37 # [2000] +4-7D6B U+9C45 # [2000] +4-7D6C U+9C5C # [2000] +4-7D6D U+29EE9 # [2000] [Unicode3.1] +4-7D6E U+9C49 # [2000] +4-7D6F U+9C4A # [2000] +4-7D70 U+29EDB # [2000] [Unicode3.1] +4-7D71 U+9C54 # [2000] +4-7D72 U+9C58 # [2000] +4-7D73 U+9C5B # [2000] +4-7D74 U+9C5D # [2000] +4-7D75 U+9C5F # [2000] +4-7D76 U+9C69 # [2000] +4-7D77 U+9C6A # [2000] +4-7D78 U+9C6B # [2000] +4-7D79 U+9C6D # [2000] +4-7D7A U+9C6E # [2000] +4-7D7B U+9C70 # [2000] +4-7D7C U+9C72 # [2000] +4-7D7D U+9C75 # [2000] +4-7D7E U+9C7A # [2000] +4-7E21 U+9CE6 # [2000] +4-7E22 U+9CF2 # [2000] +4-7E23 U+9D0B # [2000] +4-7E24 U+9D02 # [2000] +4-7E25 U+29FCE # [2000] [Unicode3.1] +4-7E26 U+9D11 # [2000] +4-7E27 U+9D17 # [2000] +4-7E28 U+9D18 # [2000] +4-7E29 U+2A02F # [2000] [Unicode3.1] +4-7E2A U+4CC4 # [2000] +4-7E2B U+2A01A # [2000] [Unicode3.1] +4-7E2C U+9D32 # [2000] +4-7E2D U+4CD1 # [2000] +4-7E2E U+9D42 # [2000] +4-7E2F U+9D4A # [2000] +4-7E30 U+9D5F # [2000] +4-7E31 U+9D62 # [2000] +4-7E32 U+2A0F9 # [2000] [Unicode3.1] +4-7E33 U+9D69 # [2000] +4-7E34 U+9D6B # [2000] +4-7E35 U+2A082 # [2000] [Unicode3.1] +4-7E36 U+9D73 # [2000] +4-7E37 U+9D76 # [2000] +4-7E38 U+9D77 # [2000] +4-7E39 U+9D7E # [2000] +4-7E3A U+9D84 # [2000] +4-7E3B U+9D8D # [2000] +4-7E3C U+9D99 # [2000] +4-7E3D U+9DA1 # [2000] +4-7E3E U+9DBF # [2000] +4-7E3F U+9DB5 # [2000] +4-7E40 U+9DB9 # [2000] +4-7E41 U+9DBD # [2000] +4-7E42 U+9DC3 # [2000] +4-7E43 U+9DC7 # [2000] +4-7E44 U+9DC9 # [2000] +4-7E45 U+9DD6 # [2000] +4-7E46 U+9DDA # [2000] +4-7E47 U+9DDF # [2000] +4-7E48 U+9DE0 # [2000] +4-7E49 U+9DE3 # [2000] +4-7E4A U+9DF4 # [2000] +4-7E4B U+4D07 # [2000] +4-7E4C U+9E0A # [2000] +4-7E4D U+9E02 # [2000] +4-7E4E U+9E0D # [2000] +4-7E4F U+9E19 # [2000] +4-7E50 U+9E1C # [2000] +4-7E51 U+9E1D # [2000] +4-7E52 U+9E7B # [2000] +4-7E53 U+22218 # [2000] [Unicode3.1] +4-7E54 U+9E80 # [2000] +4-7E55 U+9E85 # [2000] +4-7E56 U+9E9B # [2000] +4-7E57 U+9EA8 # [2000] +4-7E58 U+2A38C # [2000] [Unicode3.1] +4-7E59 U+9EBD # [2000] +4-7E5A U+2A437 # [2000] [Unicode3.1] +4-7E5B U+9EDF # [2000] +4-7E5C U+9EE7 # [2000] +4-7E5D U+9EEE # [2000] +4-7E5E U+9EFF # [2000] +4-7E5F U+9F02 # [2000] +4-7E60 U+4D77 # [2000] +4-7E61 U+9F03 # [2000] +4-7E62 U+9F17 # [2000] +4-7E63 U+9F19 # [2000] +4-7E64 U+9F2F # [2000] +4-7E65 U+9F37 # [2000] +4-7E66 U+9F3A # [2000] +4-7E67 U+9F3D # [2000] +4-7E68 U+9F41 # [2000] +4-7E69 U+9F45 # [2000] +4-7E6A U+9F46 # [2000] +4-7E6B U+9F53 # [2000] +4-7E6C U+9F55 # [2000] +4-7E6D U+9F58 # [2000] +4-7E6E U+2A5F1 # [2000] [Unicode3.1] +4-7E6F U+9F5D # [2000] +4-7E70 U+2A602 # [2000] [Unicode3.1] +4-7E71 U+9F69 # [2000] +4-7E72 U+2A61A # [2000] [Unicode3.1] +4-7E73 U+9F6D # [2000] +4-7E74 U+9F70 # [2000] +4-7E75 U+9F75 # [2000] +4-7E76 U+2A6B2 # [2000] [Unicode3.1] diff --git a/ext/mbstring/docs/JISX0208.txt b/ext/mbstring/docs/JISX0208.txt new file mode 100644 index 0000000000000..0a9382c276082 --- /dev/null +++ b/ext/mbstring/docs/JISX0208.txt @@ -0,0 +1,6942 @@ +# JIS0208.TXT +# Date: 2015-12-02 23:50:00 GMT [KW] +# © 2015 Unicode®, Inc. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# Name: JIS X 0208 (1990) to Unicode +# Unicode version: 1.1 +# Table version: 2.0 +# Table format: Format A +# Date: 2011 October 14 (header updated: 2015 December 02) +# +# General notes: +# +# +# This table contains one set of mappings from JIS X 0208 (1990) into Unicode. +# Note that these data are *possible* mappings only and may not be the +# same as those used by actual products, nor may they be the best suited +# for all uses. For more information on the mappings between various code +# pages incorporating the repertoire of JIS X 0208 (1990) and Unicode, consult the +# VENDORS mapping data. +# +# +# Format: Four tab-separated columns +# Column #1 is the shift-JIS code (in hex) +# Column #2 is the JIS X 0208 code (in hex as 0xXXXX) +# Column #3 is the Unicode (in hex as 0xXXXX) +# Column #4 the Unicode name (follows a comment sign, '#') +# The official names for Unicode characters U+4E00 +# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX", +# where XXXX is the code point. Including all these +# names in this file increases its size substantially +# and needlessly. The token "" is used for the +# name of these characters. If necessary, it can be +# expanded algorithmically by a parser or editor. +# +# The entries are in JIS X 0208 order +# +# The following algorithms can be used to change the hex form +# of JIS 0208 to other standard forms: +# +# To change hex to EUC form, add 0x8080 +# To change hex to kuten form, first subtract 0x2020. Then +# the high and low bytes correspond to the ku and ten of +# the kuten form. For example, 0x2121 -> 0x0101 -> 0101; +# 0x7426 -> 0x5406 -> 8406 +# +# Revision History: +# +# [v2.0, 2015 December 02] +# updates to copyright notice and terms of use +# no changes to character mappings +# +# [v1.0, 2011 October 14] +# Updated terms of use to current wording. +# Updated contact information. +# No changes to the mapping data. +# +# [v0.9, 8 March 1994] +# First release. +# +# Use the Unicode reporting form +# for any questions or comments or to report errors in the data. +# +0x8140 0x2121 0x3000 # IDEOGRAPHIC SPACE +0x8141 0x2122 0x3001 # IDEOGRAPHIC COMMA +0x8142 0x2123 0x3002 # IDEOGRAPHIC FULL STOP +0x8143 0x2124 0xFF0C # FULLWIDTH COMMA +0x8144 0x2125 0xFF0E # FULLWIDTH FULL STOP +0x8145 0x2126 0x30FB # KATAKANA MIDDLE DOT +0x8146 0x2127 0xFF1A # FULLWIDTH COLON +0x8147 0x2128 0xFF1B # FULLWIDTH SEMICOLON +0x8148 0x2129 0xFF1F # FULLWIDTH QUESTION MARK +0x8149 0x212A 0xFF01 # FULLWIDTH EXCLAMATION MARK +0x814A 0x212B 0x309B # KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B 0x212C 0x309C # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C 0x212D 0x00B4 # ACUTE ACCENT +0x814D 0x212E 0xFF40 # FULLWIDTH GRAVE ACCENT +0x814E 0x212F 0x00A8 # DIAERESIS +0x814F 0x2130 0xFF3E # FULLWIDTH CIRCUMFLEX ACCENT +0x8150 0x2131 0xFFE3 # FULLWIDTH MACRON +0x8151 0x2132 0xFF3F # FULLWIDTH LOW LINE +0x8152 0x2133 0x30FD # KATAKANA ITERATION MARK +0x8153 0x2134 0x30FE # KATAKANA VOICED ITERATION MARK +0x8154 0x2135 0x309D # HIRAGANA ITERATION MARK +0x8155 0x2136 0x309E # HIRAGANA VOICED ITERATION MARK +0x8156 0x2137 0x3003 # DITTO MARK +0x8157 0x2138 0x4EDD # +0x8158 0x2139 0x3005 # IDEOGRAPHIC ITERATION MARK +0x8159 0x213A 0x3006 # IDEOGRAPHIC CLOSING MARK +0x815A 0x213B 0x3007 # IDEOGRAPHIC NUMBER ZERO +0x815B 0x213C 0x30FC # KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C 0x213D 0x2015 # HORIZONTAL BAR +0x815D 0x213E 0x2010 # HYPHEN +0x815E 0x213F 0xFF0F # FULLWIDTH SOLIDUS +0x815F 0x2140 0x005C # REVERSE SOLIDUS +0x8160 0x2141 0x301C # WAVE DASH +0x8161 0x2142 0x2016 # DOUBLE VERTICAL LINE +0x8162 0x2143 0xFF5C # FULLWIDTH VERTICAL LINE +0x8163 0x2144 0x2026 # HORIZONTAL ELLIPSIS +0x8164 0x2145 0x2025 # TWO DOT LEADER +0x8165 0x2146 0x2018 # LEFT SINGLE QUOTATION MARK +0x8166 0x2147 0x2019 # RIGHT SINGLE QUOTATION MARK +0x8167 0x2148 0x201C # LEFT DOUBLE QUOTATION MARK +0x8168 0x2149 0x201D # RIGHT DOUBLE QUOTATION MARK +0x8169 0x214A 0xFF08 # FULLWIDTH LEFT PARENTHESIS +0x816A 0x214B 0xFF09 # FULLWIDTH RIGHT PARENTHESIS +0x816B 0x214C 0x3014 # LEFT TORTOISE SHELL BRACKET +0x816C 0x214D 0x3015 # RIGHT TORTOISE SHELL BRACKET +0x816D 0x214E 0xFF3B # FULLWIDTH LEFT SQUARE BRACKET +0x816E 0x214F 0xFF3D # FULLWIDTH RIGHT SQUARE BRACKET +0x816F 0x2150 0xFF5B # FULLWIDTH LEFT CURLY BRACKET +0x8170 0x2151 0xFF5D # FULLWIDTH RIGHT CURLY BRACKET +0x8171 0x2152 0x3008 # LEFT ANGLE BRACKET +0x8172 0x2153 0x3009 # RIGHT ANGLE BRACKET +0x8173 0x2154 0x300A # LEFT DOUBLE ANGLE BRACKET +0x8174 0x2155 0x300B # RIGHT DOUBLE ANGLE BRACKET +0x8175 0x2156 0x300C # LEFT CORNER BRACKET +0x8176 0x2157 0x300D # RIGHT CORNER BRACKET +0x8177 0x2158 0x300E # LEFT WHITE CORNER BRACKET +0x8178 0x2159 0x300F # RIGHT WHITE CORNER BRACKET +0x8179 0x215A 0x3010 # LEFT BLACK LENTICULAR BRACKET +0x817A 0x215B 0x3011 # RIGHT BLACK LENTICULAR BRACKET +0x817B 0x215C 0xFF0B # FULLWIDTH PLUS SIGN +0x817C 0x215D 0x2212 # MINUS SIGN +0x817D 0x215E 0x00B1 # PLUS-MINUS SIGN +0x817E 0x215F 0x00D7 # MULTIPLICATION SIGN +0x8180 0x2160 0x00F7 # DIVISION SIGN +0x8181 0x2161 0xFF1D # FULLWIDTH EQUALS SIGN +0x8182 0x2162 0x2260 # NOT EQUAL TO +0x8183 0x2163 0xFF1C # FULLWIDTH LESS-THAN SIGN +0x8184 0x2164 0xFF1E # FULLWIDTH GREATER-THAN SIGN +0x8185 0x2165 0x2266 # LESS-THAN OVER EQUAL TO +0x8186 0x2166 0x2267 # GREATER-THAN OVER EQUAL TO +0x8187 0x2167 0x221E # INFINITY +0x8188 0x2168 0x2234 # THEREFORE +0x8189 0x2169 0x2642 # MALE SIGN +0x818A 0x216A 0x2640 # FEMALE SIGN +0x818B 0x216B 0x00B0 # DEGREE SIGN +0x818C 0x216C 0x2032 # PRIME +0x818D 0x216D 0x2033 # DOUBLE PRIME +0x818E 0x216E 0x2103 # DEGREE CELSIUS +0x818F 0x216F 0xFFE5 # FULLWIDTH YEN SIGN +0x8190 0x2170 0xFF04 # FULLWIDTH DOLLAR SIGN +0x8191 0x2171 0x00A2 # CENT SIGN +0x8192 0x2172 0x00A3 # POUND SIGN +0x8193 0x2173 0xFF05 # FULLWIDTH PERCENT SIGN +0x8194 0x2174 0xFF03 # FULLWIDTH NUMBER SIGN +0x8195 0x2175 0xFF06 # FULLWIDTH AMPERSAND +0x8196 0x2176 0xFF0A # FULLWIDTH ASTERISK +0x8197 0x2177 0xFF20 # FULLWIDTH COMMERCIAL AT +0x8198 0x2178 0x00A7 # SECTION SIGN +0x8199 0x2179 0x2606 # WHITE STAR +0x819A 0x217A 0x2605 # BLACK STAR +0x819B 0x217B 0x25CB # WHITE CIRCLE +0x819C 0x217C 0x25CF # BLACK CIRCLE +0x819D 0x217D 0x25CE # BULLSEYE +0x819E 0x217E 0x25C7 # WHITE DIAMOND +0x819F 0x2221 0x25C6 # BLACK DIAMOND +0x81A0 0x2222 0x25A1 # WHITE SQUARE +0x81A1 0x2223 0x25A0 # BLACK SQUARE +0x81A2 0x2224 0x25B3 # WHITE UP-POINTING TRIANGLE +0x81A3 0x2225 0x25B2 # BLACK UP-POINTING TRIANGLE +0x81A4 0x2226 0x25BD # WHITE DOWN-POINTING TRIANGLE +0x81A5 0x2227 0x25BC # BLACK DOWN-POINTING TRIANGLE +0x81A6 0x2228 0x203B # REFERENCE MARK +0x81A7 0x2229 0x3012 # POSTAL MARK +0x81A8 0x222A 0x2192 # RIGHTWARDS ARROW +0x81A9 0x222B 0x2190 # LEFTWARDS ARROW +0x81AA 0x222C 0x2191 # UPWARDS ARROW +0x81AB 0x222D 0x2193 # DOWNWARDS ARROW +0x81AC 0x222E 0x3013 # GETA MARK +0x81B8 0x223A 0x2208 # ELEMENT OF +0x81B9 0x223B 0x220B # CONTAINS AS MEMBER +0x81BA 0x223C 0x2286 # SUBSET OF OR EQUAL TO +0x81BB 0x223D 0x2287 # SUPERSET OF OR EQUAL TO +0x81BC 0x223E 0x2282 # SUBSET OF +0x81BD 0x223F 0x2283 # SUPERSET OF +0x81BE 0x2240 0x222A # UNION +0x81BF 0x2241 0x2229 # INTERSECTION +0x81C8 0x224A 0x2227 # LOGICAL AND +0x81C9 0x224B 0x2228 # LOGICAL OR +0x81CA 0x224C 0x00AC # NOT SIGN +0x81CB 0x224D 0x21D2 # RIGHTWARDS DOUBLE ARROW +0x81CC 0x224E 0x21D4 # LEFT RIGHT DOUBLE ARROW +0x81CD 0x224F 0x2200 # FOR ALL +0x81CE 0x2250 0x2203 # THERE EXISTS +0x81DA 0x225C 0x2220 # ANGLE +0x81DB 0x225D 0x22A5 # UP TACK +0x81DC 0x225E 0x2312 # ARC +0x81DD 0x225F 0x2202 # PARTIAL DIFFERENTIAL +0x81DE 0x2260 0x2207 # NABLA +0x81DF 0x2261 0x2261 # IDENTICAL TO +0x81E0 0x2262 0x2252 # APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x81E1 0x2263 0x226A # MUCH LESS-THAN +0x81E2 0x2264 0x226B # MUCH GREATER-THAN +0x81E3 0x2265 0x221A # SQUARE ROOT +0x81E4 0x2266 0x223D # REVERSED TILDE +0x81E5 0x2267 0x221D # PROPORTIONAL TO +0x81E6 0x2268 0x2235 # BECAUSE +0x81E7 0x2269 0x222B # INTEGRAL +0x81E8 0x226A 0x222C # DOUBLE INTEGRAL +0x81F0 0x2272 0x212B # ANGSTROM SIGN +0x81F1 0x2273 0x2030 # PER MILLE SIGN +0x81F2 0x2274 0x266F # MUSIC SHARP SIGN +0x81F3 0x2275 0x266D # MUSIC FLAT SIGN +0x81F4 0x2276 0x266A # EIGHTH NOTE +0x81F5 0x2277 0x2020 # DAGGER +0x81F6 0x2278 0x2021 # DOUBLE DAGGER +0x81F7 0x2279 0x00B6 # PILCROW SIGN +0x81FC 0x227E 0x25EF # LARGE CIRCLE +0x824F 0x2330 0xFF10 # FULLWIDTH DIGIT ZERO +0x8250 0x2331 0xFF11 # FULLWIDTH DIGIT ONE +0x8251 0x2332 0xFF12 # FULLWIDTH DIGIT TWO +0x8252 0x2333 0xFF13 # FULLWIDTH DIGIT THREE +0x8253 0x2334 0xFF14 # FULLWIDTH DIGIT FOUR +0x8254 0x2335 0xFF15 # FULLWIDTH DIGIT FIVE +0x8255 0x2336 0xFF16 # FULLWIDTH DIGIT SIX +0x8256 0x2337 0xFF17 # FULLWIDTH DIGIT SEVEN +0x8257 0x2338 0xFF18 # FULLWIDTH DIGIT EIGHT +0x8258 0x2339 0xFF19 # FULLWIDTH DIGIT NINE +0x8260 0x2341 0xFF21 # FULLWIDTH LATIN CAPITAL LETTER A +0x8261 0x2342 0xFF22 # FULLWIDTH LATIN CAPITAL LETTER B +0x8262 0x2343 0xFF23 # FULLWIDTH LATIN CAPITAL LETTER C +0x8263 0x2344 0xFF24 # FULLWIDTH LATIN CAPITAL LETTER D +0x8264 0x2345 0xFF25 # FULLWIDTH LATIN CAPITAL LETTER E +0x8265 0x2346 0xFF26 # FULLWIDTH LATIN CAPITAL LETTER F +0x8266 0x2347 0xFF27 # FULLWIDTH LATIN CAPITAL LETTER G +0x8267 0x2348 0xFF28 # FULLWIDTH LATIN CAPITAL LETTER H +0x8268 0x2349 0xFF29 # FULLWIDTH LATIN CAPITAL LETTER I +0x8269 0x234A 0xFF2A # FULLWIDTH LATIN CAPITAL LETTER J +0x826A 0x234B 0xFF2B # FULLWIDTH LATIN CAPITAL LETTER K +0x826B 0x234C 0xFF2C # FULLWIDTH LATIN CAPITAL LETTER L +0x826C 0x234D 0xFF2D # FULLWIDTH LATIN CAPITAL LETTER M +0x826D 0x234E 0xFF2E # FULLWIDTH LATIN CAPITAL LETTER N +0x826E 0x234F 0xFF2F # FULLWIDTH LATIN CAPITAL LETTER O +0x826F 0x2350 0xFF30 # FULLWIDTH LATIN CAPITAL LETTER P +0x8270 0x2351 0xFF31 # FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 0x2352 0xFF32 # FULLWIDTH LATIN CAPITAL LETTER R +0x8272 0x2353 0xFF33 # FULLWIDTH LATIN CAPITAL LETTER S +0x8273 0x2354 0xFF34 # FULLWIDTH LATIN CAPITAL LETTER T +0x8274 0x2355 0xFF35 # FULLWIDTH LATIN CAPITAL LETTER U +0x8275 0x2356 0xFF36 # FULLWIDTH LATIN CAPITAL LETTER V +0x8276 0x2357 0xFF37 # FULLWIDTH LATIN CAPITAL LETTER W +0x8277 0x2358 0xFF38 # FULLWIDTH LATIN CAPITAL LETTER X +0x8278 0x2359 0xFF39 # FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 0x235A 0xFF3A # FULLWIDTH LATIN CAPITAL LETTER Z +0x8281 0x2361 0xFF41 # FULLWIDTH LATIN SMALL LETTER A +0x8282 0x2362 0xFF42 # FULLWIDTH LATIN SMALL LETTER B +0x8283 0x2363 0xFF43 # FULLWIDTH LATIN SMALL LETTER C +0x8284 0x2364 0xFF44 # FULLWIDTH LATIN SMALL LETTER D +0x8285 0x2365 0xFF45 # FULLWIDTH LATIN SMALL LETTER E +0x8286 0x2366 0xFF46 # FULLWIDTH LATIN SMALL LETTER F +0x8287 0x2367 0xFF47 # FULLWIDTH LATIN SMALL LETTER G +0x8288 0x2368 0xFF48 # FULLWIDTH LATIN SMALL LETTER H +0x8289 0x2369 0xFF49 # FULLWIDTH LATIN SMALL LETTER I +0x828A 0x236A 0xFF4A # FULLWIDTH LATIN SMALL LETTER J +0x828B 0x236B 0xFF4B # FULLWIDTH LATIN SMALL LETTER K +0x828C 0x236C 0xFF4C # FULLWIDTH LATIN SMALL LETTER L +0x828D 0x236D 0xFF4D # FULLWIDTH LATIN SMALL LETTER M +0x828E 0x236E 0xFF4E # FULLWIDTH LATIN SMALL LETTER N +0x828F 0x236F 0xFF4F # FULLWIDTH LATIN SMALL LETTER O +0x8290 0x2370 0xFF50 # FULLWIDTH LATIN SMALL LETTER P +0x8291 0x2371 0xFF51 # FULLWIDTH LATIN SMALL LETTER Q +0x8292 0x2372 0xFF52 # FULLWIDTH LATIN SMALL LETTER R +0x8293 0x2373 0xFF53 # FULLWIDTH LATIN SMALL LETTER S +0x8294 0x2374 0xFF54 # FULLWIDTH LATIN SMALL LETTER T +0x8295 0x2375 0xFF55 # FULLWIDTH LATIN SMALL LETTER U +0x8296 0x2376 0xFF56 # FULLWIDTH LATIN SMALL LETTER V +0x8297 0x2377 0xFF57 # FULLWIDTH LATIN SMALL LETTER W +0x8298 0x2378 0xFF58 # FULLWIDTH LATIN SMALL LETTER X +0x8299 0x2379 0xFF59 # FULLWIDTH LATIN SMALL LETTER Y +0x829A 0x237A 0xFF5A # FULLWIDTH LATIN SMALL LETTER Z +0x829F 0x2421 0x3041 # HIRAGANA LETTER SMALL A +0x82A0 0x2422 0x3042 # HIRAGANA LETTER A +0x82A1 0x2423 0x3043 # HIRAGANA LETTER SMALL I +0x82A2 0x2424 0x3044 # HIRAGANA LETTER I +0x82A3 0x2425 0x3045 # HIRAGANA LETTER SMALL U +0x82A4 0x2426 0x3046 # HIRAGANA LETTER U +0x82A5 0x2427 0x3047 # HIRAGANA LETTER SMALL E +0x82A6 0x2428 0x3048 # HIRAGANA LETTER E +0x82A7 0x2429 0x3049 # HIRAGANA LETTER SMALL O +0x82A8 0x242A 0x304A # HIRAGANA LETTER O +0x82A9 0x242B 0x304B # HIRAGANA LETTER KA +0x82AA 0x242C 0x304C # HIRAGANA LETTER GA +0x82AB 0x242D 0x304D # HIRAGANA LETTER KI +0x82AC 0x242E 0x304E # HIRAGANA LETTER GI +0x82AD 0x242F 0x304F # HIRAGANA LETTER KU +0x82AE 0x2430 0x3050 # HIRAGANA LETTER GU +0x82AF 0x2431 0x3051 # HIRAGANA LETTER KE +0x82B0 0x2432 0x3052 # HIRAGANA LETTER GE +0x82B1 0x2433 0x3053 # HIRAGANA LETTER KO +0x82B2 0x2434 0x3054 # HIRAGANA LETTER GO +0x82B3 0x2435 0x3055 # HIRAGANA LETTER SA +0x82B4 0x2436 0x3056 # HIRAGANA LETTER ZA +0x82B5 0x2437 0x3057 # HIRAGANA LETTER SI +0x82B6 0x2438 0x3058 # HIRAGANA LETTER ZI +0x82B7 0x2439 0x3059 # HIRAGANA LETTER SU +0x82B8 0x243A 0x305A # HIRAGANA LETTER ZU +0x82B9 0x243B 0x305B # HIRAGANA LETTER SE +0x82BA 0x243C 0x305C # HIRAGANA LETTER ZE +0x82BB 0x243D 0x305D # HIRAGANA LETTER SO +0x82BC 0x243E 0x305E # HIRAGANA LETTER ZO +0x82BD 0x243F 0x305F # HIRAGANA LETTER TA +0x82BE 0x2440 0x3060 # HIRAGANA LETTER DA +0x82BF 0x2441 0x3061 # HIRAGANA LETTER TI +0x82C0 0x2442 0x3062 # HIRAGANA LETTER DI +0x82C1 0x2443 0x3063 # HIRAGANA LETTER SMALL TU +0x82C2 0x2444 0x3064 # HIRAGANA LETTER TU +0x82C3 0x2445 0x3065 # HIRAGANA LETTER DU +0x82C4 0x2446 0x3066 # HIRAGANA LETTER TE +0x82C5 0x2447 0x3067 # HIRAGANA LETTER DE +0x82C6 0x2448 0x3068 # HIRAGANA LETTER TO +0x82C7 0x2449 0x3069 # HIRAGANA LETTER DO +0x82C8 0x244A 0x306A # HIRAGANA LETTER NA +0x82C9 0x244B 0x306B # HIRAGANA LETTER NI +0x82CA 0x244C 0x306C # HIRAGANA LETTER NU +0x82CB 0x244D 0x306D # HIRAGANA LETTER NE +0x82CC 0x244E 0x306E # HIRAGANA LETTER NO +0x82CD 0x244F 0x306F # HIRAGANA LETTER HA +0x82CE 0x2450 0x3070 # HIRAGANA LETTER BA +0x82CF 0x2451 0x3071 # HIRAGANA LETTER PA +0x82D0 0x2452 0x3072 # HIRAGANA LETTER HI +0x82D1 0x2453 0x3073 # HIRAGANA LETTER BI +0x82D2 0x2454 0x3074 # HIRAGANA LETTER PI +0x82D3 0x2455 0x3075 # HIRAGANA LETTER HU +0x82D4 0x2456 0x3076 # HIRAGANA LETTER BU +0x82D5 0x2457 0x3077 # HIRAGANA LETTER PU +0x82D6 0x2458 0x3078 # HIRAGANA LETTER HE +0x82D7 0x2459 0x3079 # HIRAGANA LETTER BE +0x82D8 0x245A 0x307A # HIRAGANA LETTER PE +0x82D9 0x245B 0x307B # HIRAGANA LETTER HO +0x82DA 0x245C 0x307C # HIRAGANA LETTER BO +0x82DB 0x245D 0x307D # HIRAGANA LETTER PO +0x82DC 0x245E 0x307E # HIRAGANA LETTER MA +0x82DD 0x245F 0x307F # HIRAGANA LETTER MI +0x82DE 0x2460 0x3080 # HIRAGANA LETTER MU +0x82DF 0x2461 0x3081 # HIRAGANA LETTER ME +0x82E0 0x2462 0x3082 # HIRAGANA LETTER MO +0x82E1 0x2463 0x3083 # HIRAGANA LETTER SMALL YA +0x82E2 0x2464 0x3084 # HIRAGANA LETTER YA +0x82E3 0x2465 0x3085 # HIRAGANA LETTER SMALL YU +0x82E4 0x2466 0x3086 # HIRAGANA LETTER YU +0x82E5 0x2467 0x3087 # HIRAGANA LETTER SMALL YO +0x82E6 0x2468 0x3088 # HIRAGANA LETTER YO +0x82E7 0x2469 0x3089 # HIRAGANA LETTER RA +0x82E8 0x246A 0x308A # HIRAGANA LETTER RI +0x82E9 0x246B 0x308B # HIRAGANA LETTER RU +0x82EA 0x246C 0x308C # HIRAGANA LETTER RE +0x82EB 0x246D 0x308D # HIRAGANA LETTER RO +0x82EC 0x246E 0x308E # HIRAGANA LETTER SMALL WA +0x82ED 0x246F 0x308F # HIRAGANA LETTER WA +0x82EE 0x2470 0x3090 # HIRAGANA LETTER WI +0x82EF 0x2471 0x3091 # HIRAGANA LETTER WE +0x82F0 0x2472 0x3092 # HIRAGANA LETTER WO +0x82F1 0x2473 0x3093 # HIRAGANA LETTER N +0x8340 0x2521 0x30A1 # KATAKANA LETTER SMALL A +0x8341 0x2522 0x30A2 # KATAKANA LETTER A +0x8342 0x2523 0x30A3 # KATAKANA LETTER SMALL I +0x8343 0x2524 0x30A4 # KATAKANA LETTER I +0x8344 0x2525 0x30A5 # KATAKANA LETTER SMALL U +0x8345 0x2526 0x30A6 # KATAKANA LETTER U +0x8346 0x2527 0x30A7 # KATAKANA LETTER SMALL E +0x8347 0x2528 0x30A8 # KATAKANA LETTER E +0x8348 0x2529 0x30A9 # KATAKANA LETTER SMALL O +0x8349 0x252A 0x30AA # KATAKANA LETTER O +0x834A 0x252B 0x30AB # KATAKANA LETTER KA +0x834B 0x252C 0x30AC # KATAKANA LETTER GA +0x834C 0x252D 0x30AD # KATAKANA LETTER KI +0x834D 0x252E 0x30AE # KATAKANA LETTER GI +0x834E 0x252F 0x30AF # KATAKANA LETTER KU +0x834F 0x2530 0x30B0 # KATAKANA LETTER GU +0x8350 0x2531 0x30B1 # KATAKANA LETTER KE +0x8351 0x2532 0x30B2 # KATAKANA LETTER GE +0x8352 0x2533 0x30B3 # KATAKANA LETTER KO +0x8353 0x2534 0x30B4 # KATAKANA LETTER GO +0x8354 0x2535 0x30B5 # KATAKANA LETTER SA +0x8355 0x2536 0x30B6 # KATAKANA LETTER ZA +0x8356 0x2537 0x30B7 # KATAKANA LETTER SI +0x8357 0x2538 0x30B8 # KATAKANA LETTER ZI +0x8358 0x2539 0x30B9 # KATAKANA LETTER SU +0x8359 0x253A 0x30BA # KATAKANA LETTER ZU +0x835A 0x253B 0x30BB # KATAKANA LETTER SE +0x835B 0x253C 0x30BC # KATAKANA LETTER ZE +0x835C 0x253D 0x30BD # KATAKANA LETTER SO +0x835D 0x253E 0x30BE # KATAKANA LETTER ZO +0x835E 0x253F 0x30BF # KATAKANA LETTER TA +0x835F 0x2540 0x30C0 # KATAKANA LETTER DA +0x8360 0x2541 0x30C1 # KATAKANA LETTER TI +0x8361 0x2542 0x30C2 # KATAKANA LETTER DI +0x8362 0x2543 0x30C3 # KATAKANA LETTER SMALL TU +0x8363 0x2544 0x30C4 # KATAKANA LETTER TU +0x8364 0x2545 0x30C5 # KATAKANA LETTER DU +0x8365 0x2546 0x30C6 # KATAKANA LETTER TE +0x8366 0x2547 0x30C7 # KATAKANA LETTER DE +0x8367 0x2548 0x30C8 # KATAKANA LETTER TO +0x8368 0x2549 0x30C9 # KATAKANA LETTER DO +0x8369 0x254A 0x30CA # KATAKANA LETTER NA +0x836A 0x254B 0x30CB # KATAKANA LETTER NI +0x836B 0x254C 0x30CC # KATAKANA LETTER NU +0x836C 0x254D 0x30CD # KATAKANA LETTER NE +0x836D 0x254E 0x30CE # KATAKANA LETTER NO +0x836E 0x254F 0x30CF # KATAKANA LETTER HA +0x836F 0x2550 0x30D0 # KATAKANA LETTER BA +0x8370 0x2551 0x30D1 # KATAKANA LETTER PA +0x8371 0x2552 0x30D2 # KATAKANA LETTER HI +0x8372 0x2553 0x30D3 # KATAKANA LETTER BI +0x8373 0x2554 0x30D4 # KATAKANA LETTER PI +0x8374 0x2555 0x30D5 # KATAKANA LETTER HU +0x8375 0x2556 0x30D6 # KATAKANA LETTER BU +0x8376 0x2557 0x30D7 # KATAKANA LETTER PU +0x8377 0x2558 0x30D8 # KATAKANA LETTER HE +0x8378 0x2559 0x30D9 # KATAKANA LETTER BE +0x8379 0x255A 0x30DA # KATAKANA LETTER PE +0x837A 0x255B 0x30DB # KATAKANA LETTER HO +0x837B 0x255C 0x30DC # KATAKANA LETTER BO +0x837C 0x255D 0x30DD # KATAKANA LETTER PO +0x837D 0x255E 0x30DE # KATAKANA LETTER MA +0x837E 0x255F 0x30DF # KATAKANA LETTER MI +0x8380 0x2560 0x30E0 # KATAKANA LETTER MU +0x8381 0x2561 0x30E1 # KATAKANA LETTER ME +0x8382 0x2562 0x30E2 # KATAKANA LETTER MO +0x8383 0x2563 0x30E3 # KATAKANA LETTER SMALL YA +0x8384 0x2564 0x30E4 # KATAKANA LETTER YA +0x8385 0x2565 0x30E5 # KATAKANA LETTER SMALL YU +0x8386 0x2566 0x30E6 # KATAKANA LETTER YU +0x8387 0x2567 0x30E7 # KATAKANA LETTER SMALL YO +0x8388 0x2568 0x30E8 # KATAKANA LETTER YO +0x8389 0x2569 0x30E9 # KATAKANA LETTER RA +0x838A 0x256A 0x30EA # KATAKANA LETTER RI +0x838B 0x256B 0x30EB # KATAKANA LETTER RU +0x838C 0x256C 0x30EC # KATAKANA LETTER RE +0x838D 0x256D 0x30ED # KATAKANA LETTER RO +0x838E 0x256E 0x30EE # KATAKANA LETTER SMALL WA +0x838F 0x256F 0x30EF # KATAKANA LETTER WA +0x8390 0x2570 0x30F0 # KATAKANA LETTER WI +0x8391 0x2571 0x30F1 # KATAKANA LETTER WE +0x8392 0x2572 0x30F2 # KATAKANA LETTER WO +0x8393 0x2573 0x30F3 # KATAKANA LETTER N +0x8394 0x2574 0x30F4 # KATAKANA LETTER VU +0x8395 0x2575 0x30F5 # KATAKANA LETTER SMALL KA +0x8396 0x2576 0x30F6 # KATAKANA LETTER SMALL KE +0x839F 0x2621 0x0391 # GREEK CAPITAL LETTER ALPHA +0x83A0 0x2622 0x0392 # GREEK CAPITAL LETTER BETA +0x83A1 0x2623 0x0393 # GREEK CAPITAL LETTER GAMMA +0x83A2 0x2624 0x0394 # GREEK CAPITAL LETTER DELTA +0x83A3 0x2625 0x0395 # GREEK CAPITAL LETTER EPSILON +0x83A4 0x2626 0x0396 # GREEK CAPITAL LETTER ZETA +0x83A5 0x2627 0x0397 # GREEK CAPITAL LETTER ETA +0x83A6 0x2628 0x0398 # GREEK CAPITAL LETTER THETA +0x83A7 0x2629 0x0399 # GREEK CAPITAL LETTER IOTA +0x83A8 0x262A 0x039A # GREEK CAPITAL LETTER KAPPA +0x83A9 0x262B 0x039B # GREEK CAPITAL LETTER LAMDA +0x83AA 0x262C 0x039C # GREEK CAPITAL LETTER MU +0x83AB 0x262D 0x039D # GREEK CAPITAL LETTER NU +0x83AC 0x262E 0x039E # GREEK CAPITAL LETTER XI +0x83AD 0x262F 0x039F # GREEK CAPITAL LETTER OMICRON +0x83AE 0x2630 0x03A0 # GREEK CAPITAL LETTER PI +0x83AF 0x2631 0x03A1 # GREEK CAPITAL LETTER RHO +0x83B0 0x2632 0x03A3 # GREEK CAPITAL LETTER SIGMA +0x83B1 0x2633 0x03A4 # GREEK CAPITAL LETTER TAU +0x83B2 0x2634 0x03A5 # GREEK CAPITAL LETTER UPSILON +0x83B3 0x2635 0x03A6 # GREEK CAPITAL LETTER PHI +0x83B4 0x2636 0x03A7 # GREEK CAPITAL LETTER CHI +0x83B5 0x2637 0x03A8 # GREEK CAPITAL LETTER PSI +0x83B6 0x2638 0x03A9 # GREEK CAPITAL LETTER OMEGA +0x83BF 0x2641 0x03B1 # GREEK SMALL LETTER ALPHA +0x83C0 0x2642 0x03B2 # GREEK SMALL LETTER BETA +0x83C1 0x2643 0x03B3 # GREEK SMALL LETTER GAMMA +0x83C2 0x2644 0x03B4 # GREEK SMALL LETTER DELTA +0x83C3 0x2645 0x03B5 # GREEK SMALL LETTER EPSILON +0x83C4 0x2646 0x03B6 # GREEK SMALL LETTER ZETA +0x83C5 0x2647 0x03B7 # GREEK SMALL LETTER ETA +0x83C6 0x2648 0x03B8 # GREEK SMALL LETTER THETA +0x83C7 0x2649 0x03B9 # GREEK SMALL LETTER IOTA +0x83C8 0x264A 0x03BA # GREEK SMALL LETTER KAPPA +0x83C9 0x264B 0x03BB # GREEK SMALL LETTER LAMDA +0x83CA 0x264C 0x03BC # GREEK SMALL LETTER MU +0x83CB 0x264D 0x03BD # GREEK SMALL LETTER NU +0x83CC 0x264E 0x03BE # GREEK SMALL LETTER XI +0x83CD 0x264F 0x03BF # GREEK SMALL LETTER OMICRON +0x83CE 0x2650 0x03C0 # GREEK SMALL LETTER PI +0x83CF 0x2651 0x03C1 # GREEK SMALL LETTER RHO +0x83D0 0x2652 0x03C3 # GREEK SMALL LETTER SIGMA +0x83D1 0x2653 0x03C4 # GREEK SMALL LETTER TAU +0x83D2 0x2654 0x03C5 # GREEK SMALL LETTER UPSILON +0x83D3 0x2655 0x03C6 # GREEK SMALL LETTER PHI +0x83D4 0x2656 0x03C7 # GREEK SMALL LETTER CHI +0x83D5 0x2657 0x03C8 # GREEK SMALL LETTER PSI +0x83D6 0x2658 0x03C9 # GREEK SMALL LETTER OMEGA +0x8440 0x2721 0x0410 # CYRILLIC CAPITAL LETTER A +0x8441 0x2722 0x0411 # CYRILLIC CAPITAL LETTER BE +0x8442 0x2723 0x0412 # CYRILLIC CAPITAL LETTER VE +0x8443 0x2724 0x0413 # CYRILLIC CAPITAL LETTER GHE +0x8444 0x2725 0x0414 # CYRILLIC CAPITAL LETTER DE +0x8445 0x2726 0x0415 # CYRILLIC CAPITAL LETTER IE +0x8446 0x2727 0x0401 # CYRILLIC CAPITAL LETTER IO +0x8447 0x2728 0x0416 # CYRILLIC CAPITAL LETTER ZHE +0x8448 0x2729 0x0417 # CYRILLIC CAPITAL LETTER ZE +0x8449 0x272A 0x0418 # CYRILLIC CAPITAL LETTER I +0x844A 0x272B 0x0419 # CYRILLIC CAPITAL LETTER SHORT I +0x844B 0x272C 0x041A # CYRILLIC CAPITAL LETTER KA +0x844C 0x272D 0x041B # CYRILLIC CAPITAL LETTER EL +0x844D 0x272E 0x041C # CYRILLIC CAPITAL LETTER EM +0x844E 0x272F 0x041D # CYRILLIC CAPITAL LETTER EN +0x844F 0x2730 0x041E # CYRILLIC CAPITAL LETTER O +0x8450 0x2731 0x041F # CYRILLIC CAPITAL LETTER PE +0x8451 0x2732 0x0420 # CYRILLIC CAPITAL LETTER ER +0x8452 0x2733 0x0421 # CYRILLIC CAPITAL LETTER ES +0x8453 0x2734 0x0422 # CYRILLIC CAPITAL LETTER TE +0x8454 0x2735 0x0423 # CYRILLIC CAPITAL LETTER U +0x8455 0x2736 0x0424 # CYRILLIC CAPITAL LETTER EF +0x8456 0x2737 0x0425 # CYRILLIC CAPITAL LETTER HA +0x8457 0x2738 0x0426 # CYRILLIC CAPITAL LETTER TSE +0x8458 0x2739 0x0427 # CYRILLIC CAPITAL LETTER CHE +0x8459 0x273A 0x0428 # CYRILLIC CAPITAL LETTER SHA +0x845A 0x273B 0x0429 # CYRILLIC CAPITAL LETTER SHCHA +0x845B 0x273C 0x042A # CYRILLIC CAPITAL LETTER HARD SIGN +0x845C 0x273D 0x042B # CYRILLIC CAPITAL LETTER YERU +0x845D 0x273E 0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E 0x273F 0x042D # CYRILLIC CAPITAL LETTER E +0x845F 0x2740 0x042E # CYRILLIC CAPITAL LETTER YU +0x8460 0x2741 0x042F # CYRILLIC CAPITAL LETTER YA +0x8470 0x2751 0x0430 # CYRILLIC SMALL LETTER A +0x8471 0x2752 0x0431 # CYRILLIC SMALL LETTER BE +0x8472 0x2753 0x0432 # CYRILLIC SMALL LETTER VE +0x8473 0x2754 0x0433 # CYRILLIC SMALL LETTER GHE +0x8474 0x2755 0x0434 # CYRILLIC SMALL LETTER DE +0x8475 0x2756 0x0435 # CYRILLIC SMALL LETTER IE +0x8476 0x2757 0x0451 # CYRILLIC SMALL LETTER IO +0x8477 0x2758 0x0436 # CYRILLIC SMALL LETTER ZHE +0x8478 0x2759 0x0437 # CYRILLIC SMALL LETTER ZE +0x8479 0x275A 0x0438 # CYRILLIC SMALL LETTER I +0x847A 0x275B 0x0439 # CYRILLIC SMALL LETTER SHORT I +0x847B 0x275C 0x043A # CYRILLIC SMALL LETTER KA +0x847C 0x275D 0x043B # CYRILLIC SMALL LETTER EL +0x847D 0x275E 0x043C # CYRILLIC SMALL LETTER EM +0x847E 0x275F 0x043D # CYRILLIC SMALL LETTER EN +0x8480 0x2760 0x043E # CYRILLIC SMALL LETTER O +0x8481 0x2761 0x043F # CYRILLIC SMALL LETTER PE +0x8482 0x2762 0x0440 # CYRILLIC SMALL LETTER ER +0x8483 0x2763 0x0441 # CYRILLIC SMALL LETTER ES +0x8484 0x2764 0x0442 # CYRILLIC SMALL LETTER TE +0x8485 0x2765 0x0443 # CYRILLIC SMALL LETTER U +0x8486 0x2766 0x0444 # CYRILLIC SMALL LETTER EF +0x8487 0x2767 0x0445 # CYRILLIC SMALL LETTER HA +0x8488 0x2768 0x0446 # CYRILLIC SMALL LETTER TSE +0x8489 0x2769 0x0447 # CYRILLIC SMALL LETTER CHE +0x848A 0x276A 0x0448 # CYRILLIC SMALL LETTER SHA +0x848B 0x276B 0x0449 # CYRILLIC SMALL LETTER SHCHA +0x848C 0x276C 0x044A # CYRILLIC SMALL LETTER HARD SIGN +0x848D 0x276D 0x044B # CYRILLIC SMALL LETTER YERU +0x848E 0x276E 0x044C # CYRILLIC SMALL LETTER SOFT SIGN +0x848F 0x276F 0x044D # CYRILLIC SMALL LETTER E +0x8490 0x2770 0x044E # CYRILLIC SMALL LETTER YU +0x8491 0x2771 0x044F # CYRILLIC SMALL LETTER YA +0x849F 0x2821 0x2500 # BOX DRAWINGS LIGHT HORIZONTAL +0x84A0 0x2822 0x2502 # BOX DRAWINGS LIGHT VERTICAL +0x84A1 0x2823 0x250C # BOX DRAWINGS LIGHT DOWN AND RIGHT +0x84A2 0x2824 0x2510 # BOX DRAWINGS LIGHT DOWN AND LEFT +0x84A3 0x2825 0x2518 # BOX DRAWINGS LIGHT UP AND LEFT +0x84A4 0x2826 0x2514 # BOX DRAWINGS LIGHT UP AND RIGHT +0x84A5 0x2827 0x251C # BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x84A6 0x2828 0x252C # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x84A7 0x2829 0x2524 # BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x84A8 0x282A 0x2534 # BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x84A9 0x282B 0x253C # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x84AA 0x282C 0x2501 # BOX DRAWINGS HEAVY HORIZONTAL +0x84AB 0x282D 0x2503 # BOX DRAWINGS HEAVY VERTICAL +0x84AC 0x282E 0x250F # BOX DRAWINGS HEAVY DOWN AND RIGHT +0x84AD 0x282F 0x2513 # BOX DRAWINGS HEAVY DOWN AND LEFT +0x84AE 0x2830 0x251B # BOX DRAWINGS HEAVY UP AND LEFT +0x84AF 0x2831 0x2517 # BOX DRAWINGS HEAVY UP AND RIGHT +0x84B0 0x2832 0x2523 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT +0x84B1 0x2833 0x2533 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL +0x84B2 0x2834 0x252B # BOX DRAWINGS HEAVY VERTICAL AND LEFT +0x84B3 0x2835 0x253B # BOX DRAWINGS HEAVY UP AND HORIZONTAL +0x84B4 0x2836 0x254B # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +0x84B5 0x2837 0x2520 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT +0x84B6 0x2838 0x252F # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY +0x84B7 0x2839 0x2528 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT +0x84B8 0x283A 0x2537 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY +0x84B9 0x283B 0x253F # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY +0x84BA 0x283C 0x251D # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY +0x84BB 0x283D 0x2530 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT +0x84BC 0x283E 0x2525 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY +0x84BD 0x283F 0x2538 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT +0x84BE 0x2840 0x2542 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT +0x889F 0x3021 0x4E9C # +0x88A0 0x3022 0x5516 # +0x88A1 0x3023 0x5A03 # +0x88A2 0x3024 0x963F # +0x88A3 0x3025 0x54C0 # +0x88A4 0x3026 0x611B # +0x88A5 0x3027 0x6328 # +0x88A6 0x3028 0x59F6 # +0x88A7 0x3029 0x9022 # +0x88A8 0x302A 0x8475 # +0x88A9 0x302B 0x831C # +0x88AA 0x302C 0x7A50 # +0x88AB 0x302D 0x60AA # +0x88AC 0x302E 0x63E1 # +0x88AD 0x302F 0x6E25 # +0x88AE 0x3030 0x65ED # +0x88AF 0x3031 0x8466 # +0x88B0 0x3032 0x82A6 # +0x88B1 0x3033 0x9BF5 # +0x88B2 0x3034 0x6893 # +0x88B3 0x3035 0x5727 # +0x88B4 0x3036 0x65A1 # +0x88B5 0x3037 0x6271 # +0x88B6 0x3038 0x5B9B # +0x88B7 0x3039 0x59D0 # +0x88B8 0x303A 0x867B # +0x88B9 0x303B 0x98F4 # +0x88BA 0x303C 0x7D62 # +0x88BB 0x303D 0x7DBE # +0x88BC 0x303E 0x9B8E # +0x88BD 0x303F 0x6216 # +0x88BE 0x3040 0x7C9F # +0x88BF 0x3041 0x88B7 # +0x88C0 0x3042 0x5B89 # +0x88C1 0x3043 0x5EB5 # +0x88C2 0x3044 0x6309 # +0x88C3 0x3045 0x6697 # +0x88C4 0x3046 0x6848 # +0x88C5 0x3047 0x95C7 # +0x88C6 0x3048 0x978D # +0x88C7 0x3049 0x674F # +0x88C8 0x304A 0x4EE5 # +0x88C9 0x304B 0x4F0A # +0x88CA 0x304C 0x4F4D # +0x88CB 0x304D 0x4F9D # +0x88CC 0x304E 0x5049 # +0x88CD 0x304F 0x56F2 # +0x88CE 0x3050 0x5937 # +0x88CF 0x3051 0x59D4 # +0x88D0 0x3052 0x5A01 # +0x88D1 0x3053 0x5C09 # +0x88D2 0x3054 0x60DF # +0x88D3 0x3055 0x610F # +0x88D4 0x3056 0x6170 # +0x88D5 0x3057 0x6613 # +0x88D6 0x3058 0x6905 # +0x88D7 0x3059 0x70BA # +0x88D8 0x305A 0x754F # +0x88D9 0x305B 0x7570 # +0x88DA 0x305C 0x79FB # +0x88DB 0x305D 0x7DAD # +0x88DC 0x305E 0x7DEF # +0x88DD 0x305F 0x80C3 # +0x88DE 0x3060 0x840E # +0x88DF 0x3061 0x8863 # +0x88E0 0x3062 0x8B02 # +0x88E1 0x3063 0x9055 # +0x88E2 0x3064 0x907A # +0x88E3 0x3065 0x533B # +0x88E4 0x3066 0x4E95 # +0x88E5 0x3067 0x4EA5 # +0x88E6 0x3068 0x57DF # +0x88E7 0x3069 0x80B2 # +0x88E8 0x306A 0x90C1 # +0x88E9 0x306B 0x78EF # +0x88EA 0x306C 0x4E00 # +0x88EB 0x306D 0x58F1 # +0x88EC 0x306E 0x6EA2 # +0x88ED 0x306F 0x9038 # +0x88EE 0x3070 0x7A32 # +0x88EF 0x3071 0x8328 # +0x88F0 0x3072 0x828B # +0x88F1 0x3073 0x9C2F # +0x88F2 0x3074 0x5141 # +0x88F3 0x3075 0x5370 # +0x88F4 0x3076 0x54BD # +0x88F5 0x3077 0x54E1 # +0x88F6 0x3078 0x56E0 # +0x88F7 0x3079 0x59FB # +0x88F8 0x307A 0x5F15 # +0x88F9 0x307B 0x98F2 # +0x88FA 0x307C 0x6DEB # +0x88FB 0x307D 0x80E4 # +0x88FC 0x307E 0x852D # +0x8940 0x3121 0x9662 # +0x8941 0x3122 0x9670 # +0x8942 0x3123 0x96A0 # +0x8943 0x3124 0x97FB # +0x8944 0x3125 0x540B # +0x8945 0x3126 0x53F3 # +0x8946 0x3127 0x5B87 # +0x8947 0x3128 0x70CF # +0x8948 0x3129 0x7FBD # +0x8949 0x312A 0x8FC2 # +0x894A 0x312B 0x96E8 # +0x894B 0x312C 0x536F # +0x894C 0x312D 0x9D5C # +0x894D 0x312E 0x7ABA # +0x894E 0x312F 0x4E11 # +0x894F 0x3130 0x7893 # +0x8950 0x3131 0x81FC # +0x8951 0x3132 0x6E26 # +0x8952 0x3133 0x5618 # +0x8953 0x3134 0x5504 # +0x8954 0x3135 0x6B1D # +0x8955 0x3136 0x851A # +0x8956 0x3137 0x9C3B # +0x8957 0x3138 0x59E5 # +0x8958 0x3139 0x53A9 # +0x8959 0x313A 0x6D66 # +0x895A 0x313B 0x74DC # +0x895B 0x313C 0x958F # +0x895C 0x313D 0x5642 # +0x895D 0x313E 0x4E91 # +0x895E 0x313F 0x904B # +0x895F 0x3140 0x96F2 # +0x8960 0x3141 0x834F # +0x8961 0x3142 0x990C # +0x8962 0x3143 0x53E1 # +0x8963 0x3144 0x55B6 # +0x8964 0x3145 0x5B30 # +0x8965 0x3146 0x5F71 # +0x8966 0x3147 0x6620 # +0x8967 0x3148 0x66F3 # +0x8968 0x3149 0x6804 # +0x8969 0x314A 0x6C38 # +0x896A 0x314B 0x6CF3 # +0x896B 0x314C 0x6D29 # +0x896C 0x314D 0x745B # +0x896D 0x314E 0x76C8 # +0x896E 0x314F 0x7A4E # +0x896F 0x3150 0x9834 # +0x8970 0x3151 0x82F1 # +0x8971 0x3152 0x885B # +0x8972 0x3153 0x8A60 # +0x8973 0x3154 0x92ED # +0x8974 0x3155 0x6DB2 # +0x8975 0x3156 0x75AB # +0x8976 0x3157 0x76CA # +0x8977 0x3158 0x99C5 # +0x8978 0x3159 0x60A6 # +0x8979 0x315A 0x8B01 # +0x897A 0x315B 0x8D8A # +0x897B 0x315C 0x95B2 # +0x897C 0x315D 0x698E # +0x897D 0x315E 0x53AD # +0x897E 0x315F 0x5186 # +0x8980 0x3160 0x5712 # +0x8981 0x3161 0x5830 # +0x8982 0x3162 0x5944 # +0x8983 0x3163 0x5BB4 # +0x8984 0x3164 0x5EF6 # +0x8985 0x3165 0x6028 # +0x8986 0x3166 0x63A9 # +0x8987 0x3167 0x63F4 # +0x8988 0x3168 0x6CBF # +0x8989 0x3169 0x6F14 # +0x898A 0x316A 0x708E # +0x898B 0x316B 0x7114 # +0x898C 0x316C 0x7159 # +0x898D 0x316D 0x71D5 # +0x898E 0x316E 0x733F # +0x898F 0x316F 0x7E01 # +0x8990 0x3170 0x8276 # +0x8991 0x3171 0x82D1 # +0x8992 0x3172 0x8597 # +0x8993 0x3173 0x9060 # +0x8994 0x3174 0x925B # +0x8995 0x3175 0x9D1B # +0x8996 0x3176 0x5869 # +0x8997 0x3177 0x65BC # +0x8998 0x3178 0x6C5A # +0x8999 0x3179 0x7525 # +0x899A 0x317A 0x51F9 # +0x899B 0x317B 0x592E # +0x899C 0x317C 0x5965 # +0x899D 0x317D 0x5F80 # +0x899E 0x317E 0x5FDC # +0x899F 0x3221 0x62BC # +0x89A0 0x3222 0x65FA # +0x89A1 0x3223 0x6A2A # +0x89A2 0x3224 0x6B27 # +0x89A3 0x3225 0x6BB4 # +0x89A4 0x3226 0x738B # +0x89A5 0x3227 0x7FC1 # +0x89A6 0x3228 0x8956 # +0x89A7 0x3229 0x9D2C # +0x89A8 0x322A 0x9D0E # +0x89A9 0x322B 0x9EC4 # +0x89AA 0x322C 0x5CA1 # +0x89AB 0x322D 0x6C96 # +0x89AC 0x322E 0x837B # +0x89AD 0x322F 0x5104 # +0x89AE 0x3230 0x5C4B # +0x89AF 0x3231 0x61B6 # +0x89B0 0x3232 0x81C6 # +0x89B1 0x3233 0x6876 # +0x89B2 0x3234 0x7261 # +0x89B3 0x3235 0x4E59 # +0x89B4 0x3236 0x4FFA # +0x89B5 0x3237 0x5378 # +0x89B6 0x3238 0x6069 # +0x89B7 0x3239 0x6E29 # +0x89B8 0x323A 0x7A4F # +0x89B9 0x323B 0x97F3 # +0x89BA 0x323C 0x4E0B # +0x89BB 0x323D 0x5316 # +0x89BC 0x323E 0x4EEE # +0x89BD 0x323F 0x4F55 # +0x89BE 0x3240 0x4F3D # +0x89BF 0x3241 0x4FA1 # +0x89C0 0x3242 0x4F73 # +0x89C1 0x3243 0x52A0 # +0x89C2 0x3244 0x53EF # +0x89C3 0x3245 0x5609 # +0x89C4 0x3246 0x590F # +0x89C5 0x3247 0x5AC1 # +0x89C6 0x3248 0x5BB6 # +0x89C7 0x3249 0x5BE1 # +0x89C8 0x324A 0x79D1 # +0x89C9 0x324B 0x6687 # +0x89CA 0x324C 0x679C # +0x89CB 0x324D 0x67B6 # +0x89CC 0x324E 0x6B4C # +0x89CD 0x324F 0x6CB3 # +0x89CE 0x3250 0x706B # +0x89CF 0x3251 0x73C2 # +0x89D0 0x3252 0x798D # +0x89D1 0x3253 0x79BE # +0x89D2 0x3254 0x7A3C # +0x89D3 0x3255 0x7B87 # +0x89D4 0x3256 0x82B1 # +0x89D5 0x3257 0x82DB # +0x89D6 0x3258 0x8304 # +0x89D7 0x3259 0x8377 # +0x89D8 0x325A 0x83EF # +0x89D9 0x325B 0x83D3 # +0x89DA 0x325C 0x8766 # +0x89DB 0x325D 0x8AB2 # +0x89DC 0x325E 0x5629 # +0x89DD 0x325F 0x8CA8 # +0x89DE 0x3260 0x8FE6 # +0x89DF 0x3261 0x904E # +0x89E0 0x3262 0x971E # +0x89E1 0x3263 0x868A # +0x89E2 0x3264 0x4FC4 # +0x89E3 0x3265 0x5CE8 # +0x89E4 0x3266 0x6211 # +0x89E5 0x3267 0x7259 # +0x89E6 0x3268 0x753B # +0x89E7 0x3269 0x81E5 # +0x89E8 0x326A 0x82BD # +0x89E9 0x326B 0x86FE # +0x89EA 0x326C 0x8CC0 # +0x89EB 0x326D 0x96C5 # +0x89EC 0x326E 0x9913 # +0x89ED 0x326F 0x99D5 # +0x89EE 0x3270 0x4ECB # +0x89EF 0x3271 0x4F1A # +0x89F0 0x3272 0x89E3 # +0x89F1 0x3273 0x56DE # +0x89F2 0x3274 0x584A # +0x89F3 0x3275 0x58CA # +0x89F4 0x3276 0x5EFB # +0x89F5 0x3277 0x5FEB # +0x89F6 0x3278 0x602A # +0x89F7 0x3279 0x6094 # +0x89F8 0x327A 0x6062 # +0x89F9 0x327B 0x61D0 # +0x89FA 0x327C 0x6212 # +0x89FB 0x327D 0x62D0 # +0x89FC 0x327E 0x6539 # +0x8A40 0x3321 0x9B41 # +0x8A41 0x3322 0x6666 # +0x8A42 0x3323 0x68B0 # +0x8A43 0x3324 0x6D77 # +0x8A44 0x3325 0x7070 # +0x8A45 0x3326 0x754C # +0x8A46 0x3327 0x7686 # +0x8A47 0x3328 0x7D75 # +0x8A48 0x3329 0x82A5 # +0x8A49 0x332A 0x87F9 # +0x8A4A 0x332B 0x958B # +0x8A4B 0x332C 0x968E # +0x8A4C 0x332D 0x8C9D # +0x8A4D 0x332E 0x51F1 # +0x8A4E 0x332F 0x52BE # +0x8A4F 0x3330 0x5916 # +0x8A50 0x3331 0x54B3 # +0x8A51 0x3332 0x5BB3 # +0x8A52 0x3333 0x5D16 # +0x8A53 0x3334 0x6168 # +0x8A54 0x3335 0x6982 # +0x8A55 0x3336 0x6DAF # +0x8A56 0x3337 0x788D # +0x8A57 0x3338 0x84CB # +0x8A58 0x3339 0x8857 # +0x8A59 0x333A 0x8A72 # +0x8A5A 0x333B 0x93A7 # +0x8A5B 0x333C 0x9AB8 # +0x8A5C 0x333D 0x6D6C # +0x8A5D 0x333E 0x99A8 # +0x8A5E 0x333F 0x86D9 # +0x8A5F 0x3340 0x57A3 # +0x8A60 0x3341 0x67FF # +0x8A61 0x3342 0x86CE # +0x8A62 0x3343 0x920E # +0x8A63 0x3344 0x5283 # +0x8A64 0x3345 0x5687 # +0x8A65 0x3346 0x5404 # +0x8A66 0x3347 0x5ED3 # +0x8A67 0x3348 0x62E1 # +0x8A68 0x3349 0x64B9 # +0x8A69 0x334A 0x683C # +0x8A6A 0x334B 0x6838 # +0x8A6B 0x334C 0x6BBB # +0x8A6C 0x334D 0x7372 # +0x8A6D 0x334E 0x78BA # +0x8A6E 0x334F 0x7A6B # +0x8A6F 0x3350 0x899A # +0x8A70 0x3351 0x89D2 # +0x8A71 0x3352 0x8D6B # +0x8A72 0x3353 0x8F03 # +0x8A73 0x3354 0x90ED # +0x8A74 0x3355 0x95A3 # +0x8A75 0x3356 0x9694 # +0x8A76 0x3357 0x9769 # +0x8A77 0x3358 0x5B66 # +0x8A78 0x3359 0x5CB3 # +0x8A79 0x335A 0x697D # +0x8A7A 0x335B 0x984D # +0x8A7B 0x335C 0x984E # +0x8A7C 0x335D 0x639B # +0x8A7D 0x335E 0x7B20 # +0x8A7E 0x335F 0x6A2B # +0x8A80 0x3360 0x6A7F # +0x8A81 0x3361 0x68B6 # +0x8A82 0x3362 0x9C0D # +0x8A83 0x3363 0x6F5F # +0x8A84 0x3364 0x5272 # +0x8A85 0x3365 0x559D # +0x8A86 0x3366 0x6070 # +0x8A87 0x3367 0x62EC # +0x8A88 0x3368 0x6D3B # +0x8A89 0x3369 0x6E07 # +0x8A8A 0x336A 0x6ED1 # +0x8A8B 0x336B 0x845B # +0x8A8C 0x336C 0x8910 # +0x8A8D 0x336D 0x8F44 # +0x8A8E 0x336E 0x4E14 # +0x8A8F 0x336F 0x9C39 # +0x8A90 0x3370 0x53F6 # +0x8A91 0x3371 0x691B # +0x8A92 0x3372 0x6A3A # +0x8A93 0x3373 0x9784 # +0x8A94 0x3374 0x682A # +0x8A95 0x3375 0x515C # +0x8A96 0x3376 0x7AC3 # +0x8A97 0x3377 0x84B2 # +0x8A98 0x3378 0x91DC # +0x8A99 0x3379 0x938C # +0x8A9A 0x337A 0x565B # +0x8A9B 0x337B 0x9D28 # +0x8A9C 0x337C 0x6822 # +0x8A9D 0x337D 0x8305 # +0x8A9E 0x337E 0x8431 # +0x8A9F 0x3421 0x7CA5 # +0x8AA0 0x3422 0x5208 # +0x8AA1 0x3423 0x82C5 # +0x8AA2 0x3424 0x74E6 # +0x8AA3 0x3425 0x4E7E # +0x8AA4 0x3426 0x4F83 # +0x8AA5 0x3427 0x51A0 # +0x8AA6 0x3428 0x5BD2 # +0x8AA7 0x3429 0x520A # +0x8AA8 0x342A 0x52D8 # +0x8AA9 0x342B 0x52E7 # +0x8AAA 0x342C 0x5DFB # +0x8AAB 0x342D 0x559A # +0x8AAC 0x342E 0x582A # +0x8AAD 0x342F 0x59E6 # +0x8AAE 0x3430 0x5B8C # +0x8AAF 0x3431 0x5B98 # +0x8AB0 0x3432 0x5BDB # +0x8AB1 0x3433 0x5E72 # +0x8AB2 0x3434 0x5E79 # +0x8AB3 0x3435 0x60A3 # +0x8AB4 0x3436 0x611F # +0x8AB5 0x3437 0x6163 # +0x8AB6 0x3438 0x61BE # +0x8AB7 0x3439 0x63DB # +0x8AB8 0x343A 0x6562 # +0x8AB9 0x343B 0x67D1 # +0x8ABA 0x343C 0x6853 # +0x8ABB 0x343D 0x68FA # +0x8ABC 0x343E 0x6B3E # +0x8ABD 0x343F 0x6B53 # +0x8ABE 0x3440 0x6C57 # +0x8ABF 0x3441 0x6F22 # +0x8AC0 0x3442 0x6F97 # +0x8AC1 0x3443 0x6F45 # +0x8AC2 0x3444 0x74B0 # +0x8AC3 0x3445 0x7518 # +0x8AC4 0x3446 0x76E3 # +0x8AC5 0x3447 0x770B # +0x8AC6 0x3448 0x7AFF # +0x8AC7 0x3449 0x7BA1 # +0x8AC8 0x344A 0x7C21 # +0x8AC9 0x344B 0x7DE9 # +0x8ACA 0x344C 0x7F36 # +0x8ACB 0x344D 0x7FF0 # +0x8ACC 0x344E 0x809D # +0x8ACD 0x344F 0x8266 # +0x8ACE 0x3450 0x839E # +0x8ACF 0x3451 0x89B3 # +0x8AD0 0x3452 0x8ACC # +0x8AD1 0x3453 0x8CAB # +0x8AD2 0x3454 0x9084 # +0x8AD3 0x3455 0x9451 # +0x8AD4 0x3456 0x9593 # +0x8AD5 0x3457 0x9591 # +0x8AD6 0x3458 0x95A2 # +0x8AD7 0x3459 0x9665 # +0x8AD8 0x345A 0x97D3 # +0x8AD9 0x345B 0x9928 # +0x8ADA 0x345C 0x8218 # +0x8ADB 0x345D 0x4E38 # +0x8ADC 0x345E 0x542B # +0x8ADD 0x345F 0x5CB8 # +0x8ADE 0x3460 0x5DCC # +0x8ADF 0x3461 0x73A9 # +0x8AE0 0x3462 0x764C # +0x8AE1 0x3463 0x773C # +0x8AE2 0x3464 0x5CA9 # +0x8AE3 0x3465 0x7FEB # +0x8AE4 0x3466 0x8D0B # +0x8AE5 0x3467 0x96C1 # +0x8AE6 0x3468 0x9811 # +0x8AE7 0x3469 0x9854 # +0x8AE8 0x346A 0x9858 # +0x8AE9 0x346B 0x4F01 # +0x8AEA 0x346C 0x4F0E # +0x8AEB 0x346D 0x5371 # +0x8AEC 0x346E 0x559C # +0x8AED 0x346F 0x5668 # +0x8AEE 0x3470 0x57FA # +0x8AEF 0x3471 0x5947 # +0x8AF0 0x3472 0x5B09 # +0x8AF1 0x3473 0x5BC4 # +0x8AF2 0x3474 0x5C90 # +0x8AF3 0x3475 0x5E0C # +0x8AF4 0x3476 0x5E7E # +0x8AF5 0x3477 0x5FCC # +0x8AF6 0x3478 0x63EE # +0x8AF7 0x3479 0x673A # +0x8AF8 0x347A 0x65D7 # +0x8AF9 0x347B 0x65E2 # +0x8AFA 0x347C 0x671F # +0x8AFB 0x347D 0x68CB # +0x8AFC 0x347E 0x68C4 # +0x8B40 0x3521 0x6A5F # +0x8B41 0x3522 0x5E30 # +0x8B42 0x3523 0x6BC5 # +0x8B43 0x3524 0x6C17 # +0x8B44 0x3525 0x6C7D # +0x8B45 0x3526 0x757F # +0x8B46 0x3527 0x7948 # +0x8B47 0x3528 0x5B63 # +0x8B48 0x3529 0x7A00 # +0x8B49 0x352A 0x7D00 # +0x8B4A 0x352B 0x5FBD # +0x8B4B 0x352C 0x898F # +0x8B4C 0x352D 0x8A18 # +0x8B4D 0x352E 0x8CB4 # +0x8B4E 0x352F 0x8D77 # +0x8B4F 0x3530 0x8ECC # +0x8B50 0x3531 0x8F1D # +0x8B51 0x3532 0x98E2 # +0x8B52 0x3533 0x9A0E # +0x8B53 0x3534 0x9B3C # +0x8B54 0x3535 0x4E80 # +0x8B55 0x3536 0x507D # +0x8B56 0x3537 0x5100 # +0x8B57 0x3538 0x5993 # +0x8B58 0x3539 0x5B9C # +0x8B59 0x353A 0x622F # +0x8B5A 0x353B 0x6280 # +0x8B5B 0x353C 0x64EC # +0x8B5C 0x353D 0x6B3A # +0x8B5D 0x353E 0x72A0 # +0x8B5E 0x353F 0x7591 # +0x8B5F 0x3540 0x7947 # +0x8B60 0x3541 0x7FA9 # +0x8B61 0x3542 0x87FB # +0x8B62 0x3543 0x8ABC # +0x8B63 0x3544 0x8B70 # +0x8B64 0x3545 0x63AC # +0x8B65 0x3546 0x83CA # +0x8B66 0x3547 0x97A0 # +0x8B67 0x3548 0x5409 # +0x8B68 0x3549 0x5403 # +0x8B69 0x354A 0x55AB # +0x8B6A 0x354B 0x6854 # +0x8B6B 0x354C 0x6A58 # +0x8B6C 0x354D 0x8A70 # +0x8B6D 0x354E 0x7827 # +0x8B6E 0x354F 0x6775 # +0x8B6F 0x3550 0x9ECD # +0x8B70 0x3551 0x5374 # +0x8B71 0x3552 0x5BA2 # +0x8B72 0x3553 0x811A # +0x8B73 0x3554 0x8650 # +0x8B74 0x3555 0x9006 # +0x8B75 0x3556 0x4E18 # +0x8B76 0x3557 0x4E45 # +0x8B77 0x3558 0x4EC7 # +0x8B78 0x3559 0x4F11 # +0x8B79 0x355A 0x53CA # +0x8B7A 0x355B 0x5438 # +0x8B7B 0x355C 0x5BAE # +0x8B7C 0x355D 0x5F13 # +0x8B7D 0x355E 0x6025 # +0x8B7E 0x355F 0x6551 # +0x8B80 0x3560 0x673D # +0x8B81 0x3561 0x6C42 # +0x8B82 0x3562 0x6C72 # +0x8B83 0x3563 0x6CE3 # +0x8B84 0x3564 0x7078 # +0x8B85 0x3565 0x7403 # +0x8B86 0x3566 0x7A76 # +0x8B87 0x3567 0x7AAE # +0x8B88 0x3568 0x7B08 # +0x8B89 0x3569 0x7D1A # +0x8B8A 0x356A 0x7CFE # +0x8B8B 0x356B 0x7D66 # +0x8B8C 0x356C 0x65E7 # +0x8B8D 0x356D 0x725B # +0x8B8E 0x356E 0x53BB # +0x8B8F 0x356F 0x5C45 # +0x8B90 0x3570 0x5DE8 # +0x8B91 0x3571 0x62D2 # +0x8B92 0x3572 0x62E0 # +0x8B93 0x3573 0x6319 # +0x8B94 0x3574 0x6E20 # +0x8B95 0x3575 0x865A # +0x8B96 0x3576 0x8A31 # +0x8B97 0x3577 0x8DDD # +0x8B98 0x3578 0x92F8 # +0x8B99 0x3579 0x6F01 # +0x8B9A 0x357A 0x79A6 # +0x8B9B 0x357B 0x9B5A # +0x8B9C 0x357C 0x4EA8 # +0x8B9D 0x357D 0x4EAB # +0x8B9E 0x357E 0x4EAC # +0x8B9F 0x3621 0x4F9B # +0x8BA0 0x3622 0x4FA0 # +0x8BA1 0x3623 0x50D1 # +0x8BA2 0x3624 0x5147 # +0x8BA3 0x3625 0x7AF6 # +0x8BA4 0x3626 0x5171 # +0x8BA5 0x3627 0x51F6 # +0x8BA6 0x3628 0x5354 # +0x8BA7 0x3629 0x5321 # +0x8BA8 0x362A 0x537F # +0x8BA9 0x362B 0x53EB # +0x8BAA 0x362C 0x55AC # +0x8BAB 0x362D 0x5883 # +0x8BAC 0x362E 0x5CE1 # +0x8BAD 0x362F 0x5F37 # +0x8BAE 0x3630 0x5F4A # +0x8BAF 0x3631 0x602F # +0x8BB0 0x3632 0x6050 # +0x8BB1 0x3633 0x606D # +0x8BB2 0x3634 0x631F # +0x8BB3 0x3635 0x6559 # +0x8BB4 0x3636 0x6A4B # +0x8BB5 0x3637 0x6CC1 # +0x8BB6 0x3638 0x72C2 # +0x8BB7 0x3639 0x72ED # +0x8BB8 0x363A 0x77EF # +0x8BB9 0x363B 0x80F8 # +0x8BBA 0x363C 0x8105 # +0x8BBB 0x363D 0x8208 # +0x8BBC 0x363E 0x854E # +0x8BBD 0x363F 0x90F7 # +0x8BBE 0x3640 0x93E1 # +0x8BBF 0x3641 0x97FF # +0x8BC0 0x3642 0x9957 # +0x8BC1 0x3643 0x9A5A # +0x8BC2 0x3644 0x4EF0 # +0x8BC3 0x3645 0x51DD # +0x8BC4 0x3646 0x5C2D # +0x8BC5 0x3647 0x6681 # +0x8BC6 0x3648 0x696D # +0x8BC7 0x3649 0x5C40 # +0x8BC8 0x364A 0x66F2 # +0x8BC9 0x364B 0x6975 # +0x8BCA 0x364C 0x7389 # +0x8BCB 0x364D 0x6850 # +0x8BCC 0x364E 0x7C81 # +0x8BCD 0x364F 0x50C5 # +0x8BCE 0x3650 0x52E4 # +0x8BCF 0x3651 0x5747 # +0x8BD0 0x3652 0x5DFE # +0x8BD1 0x3653 0x9326 # +0x8BD2 0x3654 0x65A4 # +0x8BD3 0x3655 0x6B23 # +0x8BD4 0x3656 0x6B3D # +0x8BD5 0x3657 0x7434 # +0x8BD6 0x3658 0x7981 # +0x8BD7 0x3659 0x79BD # +0x8BD8 0x365A 0x7B4B # +0x8BD9 0x365B 0x7DCA # +0x8BDA 0x365C 0x82B9 # +0x8BDB 0x365D 0x83CC # +0x8BDC 0x365E 0x887F # +0x8BDD 0x365F 0x895F # +0x8BDE 0x3660 0x8B39 # +0x8BDF 0x3661 0x8FD1 # +0x8BE0 0x3662 0x91D1 # +0x8BE1 0x3663 0x541F # +0x8BE2 0x3664 0x9280 # +0x8BE3 0x3665 0x4E5D # +0x8BE4 0x3666 0x5036 # +0x8BE5 0x3667 0x53E5 # +0x8BE6 0x3668 0x533A # +0x8BE7 0x3669 0x72D7 # +0x8BE8 0x366A 0x7396 # +0x8BE9 0x366B 0x77E9 # +0x8BEA 0x366C 0x82E6 # +0x8BEB 0x366D 0x8EAF # +0x8BEC 0x366E 0x99C6 # +0x8BED 0x366F 0x99C8 # +0x8BEE 0x3670 0x99D2 # +0x8BEF 0x3671 0x5177 # +0x8BF0 0x3672 0x611A # +0x8BF1 0x3673 0x865E # +0x8BF2 0x3674 0x55B0 # +0x8BF3 0x3675 0x7A7A # +0x8BF4 0x3676 0x5076 # +0x8BF5 0x3677 0x5BD3 # +0x8BF6 0x3678 0x9047 # +0x8BF7 0x3679 0x9685 # +0x8BF8 0x367A 0x4E32 # +0x8BF9 0x367B 0x6ADB # +0x8BFA 0x367C 0x91E7 # +0x8BFB 0x367D 0x5C51 # +0x8BFC 0x367E 0x5C48 # +0x8C40 0x3721 0x6398 # +0x8C41 0x3722 0x7A9F # +0x8C42 0x3723 0x6C93 # +0x8C43 0x3724 0x9774 # +0x8C44 0x3725 0x8F61 # +0x8C45 0x3726 0x7AAA # +0x8C46 0x3727 0x718A # +0x8C47 0x3728 0x9688 # +0x8C48 0x3729 0x7C82 # +0x8C49 0x372A 0x6817 # +0x8C4A 0x372B 0x7E70 # +0x8C4B 0x372C 0x6851 # +0x8C4C 0x372D 0x936C # +0x8C4D 0x372E 0x52F2 # +0x8C4E 0x372F 0x541B # +0x8C4F 0x3730 0x85AB # +0x8C50 0x3731 0x8A13 # +0x8C51 0x3732 0x7FA4 # +0x8C52 0x3733 0x8ECD # +0x8C53 0x3734 0x90E1 # +0x8C54 0x3735 0x5366 # +0x8C55 0x3736 0x8888 # +0x8C56 0x3737 0x7941 # +0x8C57 0x3738 0x4FC2 # +0x8C58 0x3739 0x50BE # +0x8C59 0x373A 0x5211 # +0x8C5A 0x373B 0x5144 # +0x8C5B 0x373C 0x5553 # +0x8C5C 0x373D 0x572D # +0x8C5D 0x373E 0x73EA # +0x8C5E 0x373F 0x578B # +0x8C5F 0x3740 0x5951 # +0x8C60 0x3741 0x5F62 # +0x8C61 0x3742 0x5F84 # +0x8C62 0x3743 0x6075 # +0x8C63 0x3744 0x6176 # +0x8C64 0x3745 0x6167 # +0x8C65 0x3746 0x61A9 # +0x8C66 0x3747 0x63B2 # +0x8C67 0x3748 0x643A # +0x8C68 0x3749 0x656C # +0x8C69 0x374A 0x666F # +0x8C6A 0x374B 0x6842 # +0x8C6B 0x374C 0x6E13 # +0x8C6C 0x374D 0x7566 # +0x8C6D 0x374E 0x7A3D # +0x8C6E 0x374F 0x7CFB # +0x8C6F 0x3750 0x7D4C # +0x8C70 0x3751 0x7D99 # +0x8C71 0x3752 0x7E4B # +0x8C72 0x3753 0x7F6B # +0x8C73 0x3754 0x830E # +0x8C74 0x3755 0x834A # +0x8C75 0x3756 0x86CD # +0x8C76 0x3757 0x8A08 # +0x8C77 0x3758 0x8A63 # +0x8C78 0x3759 0x8B66 # +0x8C79 0x375A 0x8EFD # +0x8C7A 0x375B 0x981A # +0x8C7B 0x375C 0x9D8F # +0x8C7C 0x375D 0x82B8 # +0x8C7D 0x375E 0x8FCE # +0x8C7E 0x375F 0x9BE8 # +0x8C80 0x3760 0x5287 # +0x8C81 0x3761 0x621F # +0x8C82 0x3762 0x6483 # +0x8C83 0x3763 0x6FC0 # +0x8C84 0x3764 0x9699 # +0x8C85 0x3765 0x6841 # +0x8C86 0x3766 0x5091 # +0x8C87 0x3767 0x6B20 # +0x8C88 0x3768 0x6C7A # +0x8C89 0x3769 0x6F54 # +0x8C8A 0x376A 0x7A74 # +0x8C8B 0x376B 0x7D50 # +0x8C8C 0x376C 0x8840 # +0x8C8D 0x376D 0x8A23 # +0x8C8E 0x376E 0x6708 # +0x8C8F 0x376F 0x4EF6 # +0x8C90 0x3770 0x5039 # +0x8C91 0x3771 0x5026 # +0x8C92 0x3772 0x5065 # +0x8C93 0x3773 0x517C # +0x8C94 0x3774 0x5238 # +0x8C95 0x3775 0x5263 # +0x8C96 0x3776 0x55A7 # +0x8C97 0x3777 0x570F # +0x8C98 0x3778 0x5805 # +0x8C99 0x3779 0x5ACC # +0x8C9A 0x377A 0x5EFA # +0x8C9B 0x377B 0x61B2 # +0x8C9C 0x377C 0x61F8 # +0x8C9D 0x377D 0x62F3 # +0x8C9E 0x377E 0x6372 # +0x8C9F 0x3821 0x691C # +0x8CA0 0x3822 0x6A29 # +0x8CA1 0x3823 0x727D # +0x8CA2 0x3824 0x72AC # +0x8CA3 0x3825 0x732E # +0x8CA4 0x3826 0x7814 # +0x8CA5 0x3827 0x786F # +0x8CA6 0x3828 0x7D79 # +0x8CA7 0x3829 0x770C # +0x8CA8 0x382A 0x80A9 # +0x8CA9 0x382B 0x898B # +0x8CAA 0x382C 0x8B19 # +0x8CAB 0x382D 0x8CE2 # +0x8CAC 0x382E 0x8ED2 # +0x8CAD 0x382F 0x9063 # +0x8CAE 0x3830 0x9375 # +0x8CAF 0x3831 0x967A # +0x8CB0 0x3832 0x9855 # +0x8CB1 0x3833 0x9A13 # +0x8CB2 0x3834 0x9E78 # +0x8CB3 0x3835 0x5143 # +0x8CB4 0x3836 0x539F # +0x8CB5 0x3837 0x53B3 # +0x8CB6 0x3838 0x5E7B # +0x8CB7 0x3839 0x5F26 # +0x8CB8 0x383A 0x6E1B # +0x8CB9 0x383B 0x6E90 # +0x8CBA 0x383C 0x7384 # +0x8CBB 0x383D 0x73FE # +0x8CBC 0x383E 0x7D43 # +0x8CBD 0x383F 0x8237 # +0x8CBE 0x3840 0x8A00 # +0x8CBF 0x3841 0x8AFA # +0x8CC0 0x3842 0x9650 # +0x8CC1 0x3843 0x4E4E # +0x8CC2 0x3844 0x500B # +0x8CC3 0x3845 0x53E4 # +0x8CC4 0x3846 0x547C # +0x8CC5 0x3847 0x56FA # +0x8CC6 0x3848 0x59D1 # +0x8CC7 0x3849 0x5B64 # +0x8CC8 0x384A 0x5DF1 # +0x8CC9 0x384B 0x5EAB # +0x8CCA 0x384C 0x5F27 # +0x8CCB 0x384D 0x6238 # +0x8CCC 0x384E 0x6545 # +0x8CCD 0x384F 0x67AF # +0x8CCE 0x3850 0x6E56 # +0x8CCF 0x3851 0x72D0 # +0x8CD0 0x3852 0x7CCA # +0x8CD1 0x3853 0x88B4 # +0x8CD2 0x3854 0x80A1 # +0x8CD3 0x3855 0x80E1 # +0x8CD4 0x3856 0x83F0 # +0x8CD5 0x3857 0x864E # +0x8CD6 0x3858 0x8A87 # +0x8CD7 0x3859 0x8DE8 # +0x8CD8 0x385A 0x9237 # +0x8CD9 0x385B 0x96C7 # +0x8CDA 0x385C 0x9867 # +0x8CDB 0x385D 0x9F13 # +0x8CDC 0x385E 0x4E94 # +0x8CDD 0x385F 0x4E92 # +0x8CDE 0x3860 0x4F0D # +0x8CDF 0x3861 0x5348 # +0x8CE0 0x3862 0x5449 # +0x8CE1 0x3863 0x543E # +0x8CE2 0x3864 0x5A2F # +0x8CE3 0x3865 0x5F8C # +0x8CE4 0x3866 0x5FA1 # +0x8CE5 0x3867 0x609F # +0x8CE6 0x3868 0x68A7 # +0x8CE7 0x3869 0x6A8E # +0x8CE8 0x386A 0x745A # +0x8CE9 0x386B 0x7881 # +0x8CEA 0x386C 0x8A9E # +0x8CEB 0x386D 0x8AA4 # +0x8CEC 0x386E 0x8B77 # +0x8CED 0x386F 0x9190 # +0x8CEE 0x3870 0x4E5E # +0x8CEF 0x3871 0x9BC9 # +0x8CF0 0x3872 0x4EA4 # +0x8CF1 0x3873 0x4F7C # +0x8CF2 0x3874 0x4FAF # +0x8CF3 0x3875 0x5019 # +0x8CF4 0x3876 0x5016 # +0x8CF5 0x3877 0x5149 # +0x8CF6 0x3878 0x516C # +0x8CF7 0x3879 0x529F # +0x8CF8 0x387A 0x52B9 # +0x8CF9 0x387B 0x52FE # +0x8CFA 0x387C 0x539A # +0x8CFB 0x387D 0x53E3 # +0x8CFC 0x387E 0x5411 # +0x8D40 0x3921 0x540E # +0x8D41 0x3922 0x5589 # +0x8D42 0x3923 0x5751 # +0x8D43 0x3924 0x57A2 # +0x8D44 0x3925 0x597D # +0x8D45 0x3926 0x5B54 # +0x8D46 0x3927 0x5B5D # +0x8D47 0x3928 0x5B8F # +0x8D48 0x3929 0x5DE5 # +0x8D49 0x392A 0x5DE7 # +0x8D4A 0x392B 0x5DF7 # +0x8D4B 0x392C 0x5E78 # +0x8D4C 0x392D 0x5E83 # +0x8D4D 0x392E 0x5E9A # +0x8D4E 0x392F 0x5EB7 # +0x8D4F 0x3930 0x5F18 # +0x8D50 0x3931 0x6052 # +0x8D51 0x3932 0x614C # +0x8D52 0x3933 0x6297 # +0x8D53 0x3934 0x62D8 # +0x8D54 0x3935 0x63A7 # +0x8D55 0x3936 0x653B # +0x8D56 0x3937 0x6602 # +0x8D57 0x3938 0x6643 # +0x8D58 0x3939 0x66F4 # +0x8D59 0x393A 0x676D # +0x8D5A 0x393B 0x6821 # +0x8D5B 0x393C 0x6897 # +0x8D5C 0x393D 0x69CB # +0x8D5D 0x393E 0x6C5F # +0x8D5E 0x393F 0x6D2A # +0x8D5F 0x3940 0x6D69 # +0x8D60 0x3941 0x6E2F # +0x8D61 0x3942 0x6E9D # +0x8D62 0x3943 0x7532 # +0x8D63 0x3944 0x7687 # +0x8D64 0x3945 0x786C # +0x8D65 0x3946 0x7A3F # +0x8D66 0x3947 0x7CE0 # +0x8D67 0x3948 0x7D05 # +0x8D68 0x3949 0x7D18 # +0x8D69 0x394A 0x7D5E # +0x8D6A 0x394B 0x7DB1 # +0x8D6B 0x394C 0x8015 # +0x8D6C 0x394D 0x8003 # +0x8D6D 0x394E 0x80AF # +0x8D6E 0x394F 0x80B1 # +0x8D6F 0x3950 0x8154 # +0x8D70 0x3951 0x818F # +0x8D71 0x3952 0x822A # +0x8D72 0x3953 0x8352 # +0x8D73 0x3954 0x884C # +0x8D74 0x3955 0x8861 # +0x8D75 0x3956 0x8B1B # +0x8D76 0x3957 0x8CA2 # +0x8D77 0x3958 0x8CFC # +0x8D78 0x3959 0x90CA # +0x8D79 0x395A 0x9175 # +0x8D7A 0x395B 0x9271 # +0x8D7B 0x395C 0x783F # +0x8D7C 0x395D 0x92FC # +0x8D7D 0x395E 0x95A4 # +0x8D7E 0x395F 0x964D # +0x8D80 0x3960 0x9805 # +0x8D81 0x3961 0x9999 # +0x8D82 0x3962 0x9AD8 # +0x8D83 0x3963 0x9D3B # +0x8D84 0x3964 0x525B # +0x8D85 0x3965 0x52AB # +0x8D86 0x3966 0x53F7 # +0x8D87 0x3967 0x5408 # +0x8D88 0x3968 0x58D5 # +0x8D89 0x3969 0x62F7 # +0x8D8A 0x396A 0x6FE0 # +0x8D8B 0x396B 0x8C6A # +0x8D8C 0x396C 0x8F5F # +0x8D8D 0x396D 0x9EB9 # +0x8D8E 0x396E 0x514B # +0x8D8F 0x396F 0x523B # +0x8D90 0x3970 0x544A # +0x8D91 0x3971 0x56FD # +0x8D92 0x3972 0x7A40 # +0x8D93 0x3973 0x9177 # +0x8D94 0x3974 0x9D60 # +0x8D95 0x3975 0x9ED2 # +0x8D96 0x3976 0x7344 # +0x8D97 0x3977 0x6F09 # +0x8D98 0x3978 0x8170 # +0x8D99 0x3979 0x7511 # +0x8D9A 0x397A 0x5FFD # +0x8D9B 0x397B 0x60DA # +0x8D9C 0x397C 0x9AA8 # +0x8D9D 0x397D 0x72DB # +0x8D9E 0x397E 0x8FBC # +0x8D9F 0x3A21 0x6B64 # +0x8DA0 0x3A22 0x9803 # +0x8DA1 0x3A23 0x4ECA # +0x8DA2 0x3A24 0x56F0 # +0x8DA3 0x3A25 0x5764 # +0x8DA4 0x3A26 0x58BE # +0x8DA5 0x3A27 0x5A5A # +0x8DA6 0x3A28 0x6068 # +0x8DA7 0x3A29 0x61C7 # +0x8DA8 0x3A2A 0x660F # +0x8DA9 0x3A2B 0x6606 # +0x8DAA 0x3A2C 0x6839 # +0x8DAB 0x3A2D 0x68B1 # +0x8DAC 0x3A2E 0x6DF7 # +0x8DAD 0x3A2F 0x75D5 # +0x8DAE 0x3A30 0x7D3A # +0x8DAF 0x3A31 0x826E # +0x8DB0 0x3A32 0x9B42 # +0x8DB1 0x3A33 0x4E9B # +0x8DB2 0x3A34 0x4F50 # +0x8DB3 0x3A35 0x53C9 # +0x8DB4 0x3A36 0x5506 # +0x8DB5 0x3A37 0x5D6F # +0x8DB6 0x3A38 0x5DE6 # +0x8DB7 0x3A39 0x5DEE # +0x8DB8 0x3A3A 0x67FB # +0x8DB9 0x3A3B 0x6C99 # +0x8DBA 0x3A3C 0x7473 # +0x8DBB 0x3A3D 0x7802 # +0x8DBC 0x3A3E 0x8A50 # +0x8DBD 0x3A3F 0x9396 # +0x8DBE 0x3A40 0x88DF # +0x8DBF 0x3A41 0x5750 # +0x8DC0 0x3A42 0x5EA7 # +0x8DC1 0x3A43 0x632B # +0x8DC2 0x3A44 0x50B5 # +0x8DC3 0x3A45 0x50AC # +0x8DC4 0x3A46 0x518D # +0x8DC5 0x3A47 0x6700 # +0x8DC6 0x3A48 0x54C9 # +0x8DC7 0x3A49 0x585E # +0x8DC8 0x3A4A 0x59BB # +0x8DC9 0x3A4B 0x5BB0 # +0x8DCA 0x3A4C 0x5F69 # +0x8DCB 0x3A4D 0x624D # +0x8DCC 0x3A4E 0x63A1 # +0x8DCD 0x3A4F 0x683D # +0x8DCE 0x3A50 0x6B73 # +0x8DCF 0x3A51 0x6E08 # +0x8DD0 0x3A52 0x707D # +0x8DD1 0x3A53 0x91C7 # +0x8DD2 0x3A54 0x7280 # +0x8DD3 0x3A55 0x7815 # +0x8DD4 0x3A56 0x7826 # +0x8DD5 0x3A57 0x796D # +0x8DD6 0x3A58 0x658E # +0x8DD7 0x3A59 0x7D30 # +0x8DD8 0x3A5A 0x83DC # +0x8DD9 0x3A5B 0x88C1 # +0x8DDA 0x3A5C 0x8F09 # +0x8DDB 0x3A5D 0x969B # +0x8DDC 0x3A5E 0x5264 # +0x8DDD 0x3A5F 0x5728 # +0x8DDE 0x3A60 0x6750 # +0x8DDF 0x3A61 0x7F6A # +0x8DE0 0x3A62 0x8CA1 # +0x8DE1 0x3A63 0x51B4 # +0x8DE2 0x3A64 0x5742 # +0x8DE3 0x3A65 0x962A # +0x8DE4 0x3A66 0x583A # +0x8DE5 0x3A67 0x698A # +0x8DE6 0x3A68 0x80B4 # +0x8DE7 0x3A69 0x54B2 # +0x8DE8 0x3A6A 0x5D0E # +0x8DE9 0x3A6B 0x57FC # +0x8DEA 0x3A6C 0x7895 # +0x8DEB 0x3A6D 0x9DFA # +0x8DEC 0x3A6E 0x4F5C # +0x8DED 0x3A6F 0x524A # +0x8DEE 0x3A70 0x548B # +0x8DEF 0x3A71 0x643E # +0x8DF0 0x3A72 0x6628 # +0x8DF1 0x3A73 0x6714 # +0x8DF2 0x3A74 0x67F5 # +0x8DF3 0x3A75 0x7A84 # +0x8DF4 0x3A76 0x7B56 # +0x8DF5 0x3A77 0x7D22 # +0x8DF6 0x3A78 0x932F # +0x8DF7 0x3A79 0x685C # +0x8DF8 0x3A7A 0x9BAD # +0x8DF9 0x3A7B 0x7B39 # +0x8DFA 0x3A7C 0x5319 # +0x8DFB 0x3A7D 0x518A # +0x8DFC 0x3A7E 0x5237 # +0x8E40 0x3B21 0x5BDF # +0x8E41 0x3B22 0x62F6 # +0x8E42 0x3B23 0x64AE # +0x8E43 0x3B24 0x64E6 # +0x8E44 0x3B25 0x672D # +0x8E45 0x3B26 0x6BBA # +0x8E46 0x3B27 0x85A9 # +0x8E47 0x3B28 0x96D1 # +0x8E48 0x3B29 0x7690 # +0x8E49 0x3B2A 0x9BD6 # +0x8E4A 0x3B2B 0x634C # +0x8E4B 0x3B2C 0x9306 # +0x8E4C 0x3B2D 0x9BAB # +0x8E4D 0x3B2E 0x76BF # +0x8E4E 0x3B2F 0x6652 # +0x8E4F 0x3B30 0x4E09 # +0x8E50 0x3B31 0x5098 # +0x8E51 0x3B32 0x53C2 # +0x8E52 0x3B33 0x5C71 # +0x8E53 0x3B34 0x60E8 # +0x8E54 0x3B35 0x6492 # +0x8E55 0x3B36 0x6563 # +0x8E56 0x3B37 0x685F # +0x8E57 0x3B38 0x71E6 # +0x8E58 0x3B39 0x73CA # +0x8E59 0x3B3A 0x7523 # +0x8E5A 0x3B3B 0x7B97 # +0x8E5B 0x3B3C 0x7E82 # +0x8E5C 0x3B3D 0x8695 # +0x8E5D 0x3B3E 0x8B83 # +0x8E5E 0x3B3F 0x8CDB # +0x8E5F 0x3B40 0x9178 # +0x8E60 0x3B41 0x9910 # +0x8E61 0x3B42 0x65AC # +0x8E62 0x3B43 0x66AB # +0x8E63 0x3B44 0x6B8B # +0x8E64 0x3B45 0x4ED5 # +0x8E65 0x3B46 0x4ED4 # +0x8E66 0x3B47 0x4F3A # +0x8E67 0x3B48 0x4F7F # +0x8E68 0x3B49 0x523A # +0x8E69 0x3B4A 0x53F8 # +0x8E6A 0x3B4B 0x53F2 # +0x8E6B 0x3B4C 0x55E3 # +0x8E6C 0x3B4D 0x56DB # +0x8E6D 0x3B4E 0x58EB # +0x8E6E 0x3B4F 0x59CB # +0x8E6F 0x3B50 0x59C9 # +0x8E70 0x3B51 0x59FF # +0x8E71 0x3B52 0x5B50 # +0x8E72 0x3B53 0x5C4D # +0x8E73 0x3B54 0x5E02 # +0x8E74 0x3B55 0x5E2B # +0x8E75 0x3B56 0x5FD7 # +0x8E76 0x3B57 0x601D # +0x8E77 0x3B58 0x6307 # +0x8E78 0x3B59 0x652F # +0x8E79 0x3B5A 0x5B5C # +0x8E7A 0x3B5B 0x65AF # +0x8E7B 0x3B5C 0x65BD # +0x8E7C 0x3B5D 0x65E8 # +0x8E7D 0x3B5E 0x679D # +0x8E7E 0x3B5F 0x6B62 # +0x8E80 0x3B60 0x6B7B # +0x8E81 0x3B61 0x6C0F # +0x8E82 0x3B62 0x7345 # +0x8E83 0x3B63 0x7949 # +0x8E84 0x3B64 0x79C1 # +0x8E85 0x3B65 0x7CF8 # +0x8E86 0x3B66 0x7D19 # +0x8E87 0x3B67 0x7D2B # +0x8E88 0x3B68 0x80A2 # +0x8E89 0x3B69 0x8102 # +0x8E8A 0x3B6A 0x81F3 # +0x8E8B 0x3B6B 0x8996 # +0x8E8C 0x3B6C 0x8A5E # +0x8E8D 0x3B6D 0x8A69 # +0x8E8E 0x3B6E 0x8A66 # +0x8E8F 0x3B6F 0x8A8C # +0x8E90 0x3B70 0x8AEE # +0x8E91 0x3B71 0x8CC7 # +0x8E92 0x3B72 0x8CDC # +0x8E93 0x3B73 0x96CC # +0x8E94 0x3B74 0x98FC # +0x8E95 0x3B75 0x6B6F # +0x8E96 0x3B76 0x4E8B # +0x8E97 0x3B77 0x4F3C # +0x8E98 0x3B78 0x4F8D # +0x8E99 0x3B79 0x5150 # +0x8E9A 0x3B7A 0x5B57 # +0x8E9B 0x3B7B 0x5BFA # +0x8E9C 0x3B7C 0x6148 # +0x8E9D 0x3B7D 0x6301 # +0x8E9E 0x3B7E 0x6642 # +0x8E9F 0x3C21 0x6B21 # +0x8EA0 0x3C22 0x6ECB # +0x8EA1 0x3C23 0x6CBB # +0x8EA2 0x3C24 0x723E # +0x8EA3 0x3C25 0x74BD # +0x8EA4 0x3C26 0x75D4 # +0x8EA5 0x3C27 0x78C1 # +0x8EA6 0x3C28 0x793A # +0x8EA7 0x3C29 0x800C # +0x8EA8 0x3C2A 0x8033 # +0x8EA9 0x3C2B 0x81EA # +0x8EAA 0x3C2C 0x8494 # +0x8EAB 0x3C2D 0x8F9E # +0x8EAC 0x3C2E 0x6C50 # +0x8EAD 0x3C2F 0x9E7F # +0x8EAE 0x3C30 0x5F0F # +0x8EAF 0x3C31 0x8B58 # +0x8EB0 0x3C32 0x9D2B # +0x8EB1 0x3C33 0x7AFA # +0x8EB2 0x3C34 0x8EF8 # +0x8EB3 0x3C35 0x5B8D # +0x8EB4 0x3C36 0x96EB # +0x8EB5 0x3C37 0x4E03 # +0x8EB6 0x3C38 0x53F1 # +0x8EB7 0x3C39 0x57F7 # +0x8EB8 0x3C3A 0x5931 # +0x8EB9 0x3C3B 0x5AC9 # +0x8EBA 0x3C3C 0x5BA4 # +0x8EBB 0x3C3D 0x6089 # +0x8EBC 0x3C3E 0x6E7F # +0x8EBD 0x3C3F 0x6F06 # +0x8EBE 0x3C40 0x75BE # +0x8EBF 0x3C41 0x8CEA # +0x8EC0 0x3C42 0x5B9F # +0x8EC1 0x3C43 0x8500 # +0x8EC2 0x3C44 0x7BE0 # +0x8EC3 0x3C45 0x5072 # +0x8EC4 0x3C46 0x67F4 # +0x8EC5 0x3C47 0x829D # +0x8EC6 0x3C48 0x5C61 # +0x8EC7 0x3C49 0x854A # +0x8EC8 0x3C4A 0x7E1E # +0x8EC9 0x3C4B 0x820E # +0x8ECA 0x3C4C 0x5199 # +0x8ECB 0x3C4D 0x5C04 # +0x8ECC 0x3C4E 0x6368 # +0x8ECD 0x3C4F 0x8D66 # +0x8ECE 0x3C50 0x659C # +0x8ECF 0x3C51 0x716E # +0x8ED0 0x3C52 0x793E # +0x8ED1 0x3C53 0x7D17 # +0x8ED2 0x3C54 0x8005 # +0x8ED3 0x3C55 0x8B1D # +0x8ED4 0x3C56 0x8ECA # +0x8ED5 0x3C57 0x906E # +0x8ED6 0x3C58 0x86C7 # +0x8ED7 0x3C59 0x90AA # +0x8ED8 0x3C5A 0x501F # +0x8ED9 0x3C5B 0x52FA # +0x8EDA 0x3C5C 0x5C3A # +0x8EDB 0x3C5D 0x6753 # +0x8EDC 0x3C5E 0x707C # +0x8EDD 0x3C5F 0x7235 # +0x8EDE 0x3C60 0x914C # +0x8EDF 0x3C61 0x91C8 # +0x8EE0 0x3C62 0x932B # +0x8EE1 0x3C63 0x82E5 # +0x8EE2 0x3C64 0x5BC2 # +0x8EE3 0x3C65 0x5F31 # +0x8EE4 0x3C66 0x60F9 # +0x8EE5 0x3C67 0x4E3B # +0x8EE6 0x3C68 0x53D6 # +0x8EE7 0x3C69 0x5B88 # +0x8EE8 0x3C6A 0x624B # +0x8EE9 0x3C6B 0x6731 # +0x8EEA 0x3C6C 0x6B8A # +0x8EEB 0x3C6D 0x72E9 # +0x8EEC 0x3C6E 0x73E0 # +0x8EED 0x3C6F 0x7A2E # +0x8EEE 0x3C70 0x816B # +0x8EEF 0x3C71 0x8DA3 # +0x8EF0 0x3C72 0x9152 # +0x8EF1 0x3C73 0x9996 # +0x8EF2 0x3C74 0x5112 # +0x8EF3 0x3C75 0x53D7 # +0x8EF4 0x3C76 0x546A # +0x8EF5 0x3C77 0x5BFF # +0x8EF6 0x3C78 0x6388 # +0x8EF7 0x3C79 0x6A39 # +0x8EF8 0x3C7A 0x7DAC # +0x8EF9 0x3C7B 0x9700 # +0x8EFA 0x3C7C 0x56DA # +0x8EFB 0x3C7D 0x53CE # +0x8EFC 0x3C7E 0x5468 # +0x8F40 0x3D21 0x5B97 # +0x8F41 0x3D22 0x5C31 # +0x8F42 0x3D23 0x5DDE # +0x8F43 0x3D24 0x4FEE # +0x8F44 0x3D25 0x6101 # +0x8F45 0x3D26 0x62FE # +0x8F46 0x3D27 0x6D32 # +0x8F47 0x3D28 0x79C0 # +0x8F48 0x3D29 0x79CB # +0x8F49 0x3D2A 0x7D42 # +0x8F4A 0x3D2B 0x7E4D # +0x8F4B 0x3D2C 0x7FD2 # +0x8F4C 0x3D2D 0x81ED # +0x8F4D 0x3D2E 0x821F # +0x8F4E 0x3D2F 0x8490 # +0x8F4F 0x3D30 0x8846 # +0x8F50 0x3D31 0x8972 # +0x8F51 0x3D32 0x8B90 # +0x8F52 0x3D33 0x8E74 # +0x8F53 0x3D34 0x8F2F # +0x8F54 0x3D35 0x9031 # +0x8F55 0x3D36 0x914B # +0x8F56 0x3D37 0x916C # +0x8F57 0x3D38 0x96C6 # +0x8F58 0x3D39 0x919C # +0x8F59 0x3D3A 0x4EC0 # +0x8F5A 0x3D3B 0x4F4F # +0x8F5B 0x3D3C 0x5145 # +0x8F5C 0x3D3D 0x5341 # +0x8F5D 0x3D3E 0x5F93 # +0x8F5E 0x3D3F 0x620E # +0x8F5F 0x3D40 0x67D4 # +0x8F60 0x3D41 0x6C41 # +0x8F61 0x3D42 0x6E0B # +0x8F62 0x3D43 0x7363 # +0x8F63 0x3D44 0x7E26 # +0x8F64 0x3D45 0x91CD # +0x8F65 0x3D46 0x9283 # +0x8F66 0x3D47 0x53D4 # +0x8F67 0x3D48 0x5919 # +0x8F68 0x3D49 0x5BBF # +0x8F69 0x3D4A 0x6DD1 # +0x8F6A 0x3D4B 0x795D # +0x8F6B 0x3D4C 0x7E2E # +0x8F6C 0x3D4D 0x7C9B # +0x8F6D 0x3D4E 0x587E # +0x8F6E 0x3D4F 0x719F # +0x8F6F 0x3D50 0x51FA # +0x8F70 0x3D51 0x8853 # +0x8F71 0x3D52 0x8FF0 # +0x8F72 0x3D53 0x4FCA # +0x8F73 0x3D54 0x5CFB # +0x8F74 0x3D55 0x6625 # +0x8F75 0x3D56 0x77AC # +0x8F76 0x3D57 0x7AE3 # +0x8F77 0x3D58 0x821C # +0x8F78 0x3D59 0x99FF # +0x8F79 0x3D5A 0x51C6 # +0x8F7A 0x3D5B 0x5FAA # +0x8F7B 0x3D5C 0x65EC # +0x8F7C 0x3D5D 0x696F # +0x8F7D 0x3D5E 0x6B89 # +0x8F7E 0x3D5F 0x6DF3 # +0x8F80 0x3D60 0x6E96 # +0x8F81 0x3D61 0x6F64 # +0x8F82 0x3D62 0x76FE # +0x8F83 0x3D63 0x7D14 # +0x8F84 0x3D64 0x5DE1 # +0x8F85 0x3D65 0x9075 # +0x8F86 0x3D66 0x9187 # +0x8F87 0x3D67 0x9806 # +0x8F88 0x3D68 0x51E6 # +0x8F89 0x3D69 0x521D # +0x8F8A 0x3D6A 0x6240 # +0x8F8B 0x3D6B 0x6691 # +0x8F8C 0x3D6C 0x66D9 # +0x8F8D 0x3D6D 0x6E1A # +0x8F8E 0x3D6E 0x5EB6 # +0x8F8F 0x3D6F 0x7DD2 # +0x8F90 0x3D70 0x7F72 # +0x8F91 0x3D71 0x66F8 # +0x8F92 0x3D72 0x85AF # +0x8F93 0x3D73 0x85F7 # +0x8F94 0x3D74 0x8AF8 # +0x8F95 0x3D75 0x52A9 # +0x8F96 0x3D76 0x53D9 # +0x8F97 0x3D77 0x5973 # +0x8F98 0x3D78 0x5E8F # +0x8F99 0x3D79 0x5F90 # +0x8F9A 0x3D7A 0x6055 # +0x8F9B 0x3D7B 0x92E4 # +0x8F9C 0x3D7C 0x9664 # +0x8F9D 0x3D7D 0x50B7 # +0x8F9E 0x3D7E 0x511F # +0x8F9F 0x3E21 0x52DD # +0x8FA0 0x3E22 0x5320 # +0x8FA1 0x3E23 0x5347 # +0x8FA2 0x3E24 0x53EC # +0x8FA3 0x3E25 0x54E8 # +0x8FA4 0x3E26 0x5546 # +0x8FA5 0x3E27 0x5531 # +0x8FA6 0x3E28 0x5617 # +0x8FA7 0x3E29 0x5968 # +0x8FA8 0x3E2A 0x59BE # +0x8FA9 0x3E2B 0x5A3C # +0x8FAA 0x3E2C 0x5BB5 # +0x8FAB 0x3E2D 0x5C06 # +0x8FAC 0x3E2E 0x5C0F # +0x8FAD 0x3E2F 0x5C11 # +0x8FAE 0x3E30 0x5C1A # +0x8FAF 0x3E31 0x5E84 # +0x8FB0 0x3E32 0x5E8A # +0x8FB1 0x3E33 0x5EE0 # +0x8FB2 0x3E34 0x5F70 # +0x8FB3 0x3E35 0x627F # +0x8FB4 0x3E36 0x6284 # +0x8FB5 0x3E37 0x62DB # +0x8FB6 0x3E38 0x638C # +0x8FB7 0x3E39 0x6377 # +0x8FB8 0x3E3A 0x6607 # +0x8FB9 0x3E3B 0x660C # +0x8FBA 0x3E3C 0x662D # +0x8FBB 0x3E3D 0x6676 # +0x8FBC 0x3E3E 0x677E # +0x8FBD 0x3E3F 0x68A2 # +0x8FBE 0x3E40 0x6A1F # +0x8FBF 0x3E41 0x6A35 # +0x8FC0 0x3E42 0x6CBC # +0x8FC1 0x3E43 0x6D88 # +0x8FC2 0x3E44 0x6E09 # +0x8FC3 0x3E45 0x6E58 # +0x8FC4 0x3E46 0x713C # +0x8FC5 0x3E47 0x7126 # +0x8FC6 0x3E48 0x7167 # +0x8FC7 0x3E49 0x75C7 # +0x8FC8 0x3E4A 0x7701 # +0x8FC9 0x3E4B 0x785D # +0x8FCA 0x3E4C 0x7901 # +0x8FCB 0x3E4D 0x7965 # +0x8FCC 0x3E4E 0x79F0 # +0x8FCD 0x3E4F 0x7AE0 # +0x8FCE 0x3E50 0x7B11 # +0x8FCF 0x3E51 0x7CA7 # +0x8FD0 0x3E52 0x7D39 # +0x8FD1 0x3E53 0x8096 # +0x8FD2 0x3E54 0x83D6 # +0x8FD3 0x3E55 0x848B # +0x8FD4 0x3E56 0x8549 # +0x8FD5 0x3E57 0x885D # +0x8FD6 0x3E58 0x88F3 # +0x8FD7 0x3E59 0x8A1F # +0x8FD8 0x3E5A 0x8A3C # +0x8FD9 0x3E5B 0x8A54 # +0x8FDA 0x3E5C 0x8A73 # +0x8FDB 0x3E5D 0x8C61 # +0x8FDC 0x3E5E 0x8CDE # +0x8FDD 0x3E5F 0x91A4 # +0x8FDE 0x3E60 0x9266 # +0x8FDF 0x3E61 0x937E # +0x8FE0 0x3E62 0x9418 # +0x8FE1 0x3E63 0x969C # +0x8FE2 0x3E64 0x9798 # +0x8FE3 0x3E65 0x4E0A # +0x8FE4 0x3E66 0x4E08 # +0x8FE5 0x3E67 0x4E1E # +0x8FE6 0x3E68 0x4E57 # +0x8FE7 0x3E69 0x5197 # +0x8FE8 0x3E6A 0x5270 # +0x8FE9 0x3E6B 0x57CE # +0x8FEA 0x3E6C 0x5834 # +0x8FEB 0x3E6D 0x58CC # +0x8FEC 0x3E6E 0x5B22 # +0x8FED 0x3E6F 0x5E38 # +0x8FEE 0x3E70 0x60C5 # +0x8FEF 0x3E71 0x64FE # +0x8FF0 0x3E72 0x6761 # +0x8FF1 0x3E73 0x6756 # +0x8FF2 0x3E74 0x6D44 # +0x8FF3 0x3E75 0x72B6 # +0x8FF4 0x3E76 0x7573 # +0x8FF5 0x3E77 0x7A63 # +0x8FF6 0x3E78 0x84B8 # +0x8FF7 0x3E79 0x8B72 # +0x8FF8 0x3E7A 0x91B8 # +0x8FF9 0x3E7B 0x9320 # +0x8FFA 0x3E7C 0x5631 # +0x8FFB 0x3E7D 0x57F4 # +0x8FFC 0x3E7E 0x98FE # +0x9040 0x3F21 0x62ED # +0x9041 0x3F22 0x690D # +0x9042 0x3F23 0x6B96 # +0x9043 0x3F24 0x71ED # +0x9044 0x3F25 0x7E54 # +0x9045 0x3F26 0x8077 # +0x9046 0x3F27 0x8272 # +0x9047 0x3F28 0x89E6 # +0x9048 0x3F29 0x98DF # +0x9049 0x3F2A 0x8755 # +0x904A 0x3F2B 0x8FB1 # +0x904B 0x3F2C 0x5C3B # +0x904C 0x3F2D 0x4F38 # +0x904D 0x3F2E 0x4FE1 # +0x904E 0x3F2F 0x4FB5 # +0x904F 0x3F30 0x5507 # +0x9050 0x3F31 0x5A20 # +0x9051 0x3F32 0x5BDD # +0x9052 0x3F33 0x5BE9 # +0x9053 0x3F34 0x5FC3 # +0x9054 0x3F35 0x614E # +0x9055 0x3F36 0x632F # +0x9056 0x3F37 0x65B0 # +0x9057 0x3F38 0x664B # +0x9058 0x3F39 0x68EE # +0x9059 0x3F3A 0x699B # +0x905A 0x3F3B 0x6D78 # +0x905B 0x3F3C 0x6DF1 # +0x905C 0x3F3D 0x7533 # +0x905D 0x3F3E 0x75B9 # +0x905E 0x3F3F 0x771F # +0x905F 0x3F40 0x795E # +0x9060 0x3F41 0x79E6 # +0x9061 0x3F42 0x7D33 # +0x9062 0x3F43 0x81E3 # +0x9063 0x3F44 0x82AF # +0x9064 0x3F45 0x85AA # +0x9065 0x3F46 0x89AA # +0x9066 0x3F47 0x8A3A # +0x9067 0x3F48 0x8EAB # +0x9068 0x3F49 0x8F9B # +0x9069 0x3F4A 0x9032 # +0x906A 0x3F4B 0x91DD # +0x906B 0x3F4C 0x9707 # +0x906C 0x3F4D 0x4EBA # +0x906D 0x3F4E 0x4EC1 # +0x906E 0x3F4F 0x5203 # +0x906F 0x3F50 0x5875 # +0x9070 0x3F51 0x58EC # +0x9071 0x3F52 0x5C0B # +0x9072 0x3F53 0x751A # +0x9073 0x3F54 0x5C3D # +0x9074 0x3F55 0x814E # +0x9075 0x3F56 0x8A0A # +0x9076 0x3F57 0x8FC5 # +0x9077 0x3F58 0x9663 # +0x9078 0x3F59 0x976D # +0x9079 0x3F5A 0x7B25 # +0x907A 0x3F5B 0x8ACF # +0x907B 0x3F5C 0x9808 # +0x907C 0x3F5D 0x9162 # +0x907D 0x3F5E 0x56F3 # +0x907E 0x3F5F 0x53A8 # +0x9080 0x3F60 0x9017 # +0x9081 0x3F61 0x5439 # +0x9082 0x3F62 0x5782 # +0x9083 0x3F63 0x5E25 # +0x9084 0x3F64 0x63A8 # +0x9085 0x3F65 0x6C34 # +0x9086 0x3F66 0x708A # +0x9087 0x3F67 0x7761 # +0x9088 0x3F68 0x7C8B # +0x9089 0x3F69 0x7FE0 # +0x908A 0x3F6A 0x8870 # +0x908B 0x3F6B 0x9042 # +0x908C 0x3F6C 0x9154 # +0x908D 0x3F6D 0x9310 # +0x908E 0x3F6E 0x9318 # +0x908F 0x3F6F 0x968F # +0x9090 0x3F70 0x745E # +0x9091 0x3F71 0x9AC4 # +0x9092 0x3F72 0x5D07 # +0x9093 0x3F73 0x5D69 # +0x9094 0x3F74 0x6570 # +0x9095 0x3F75 0x67A2 # +0x9096 0x3F76 0x8DA8 # +0x9097 0x3F77 0x96DB # +0x9098 0x3F78 0x636E # +0x9099 0x3F79 0x6749 # +0x909A 0x3F7A 0x6919 # +0x909B 0x3F7B 0x83C5 # +0x909C 0x3F7C 0x9817 # +0x909D 0x3F7D 0x96C0 # +0x909E 0x3F7E 0x88FE # +0x909F 0x4021 0x6F84 # +0x90A0 0x4022 0x647A # +0x90A1 0x4023 0x5BF8 # +0x90A2 0x4024 0x4E16 # +0x90A3 0x4025 0x702C # +0x90A4 0x4026 0x755D # +0x90A5 0x4027 0x662F # +0x90A6 0x4028 0x51C4 # +0x90A7 0x4029 0x5236 # +0x90A8 0x402A 0x52E2 # +0x90A9 0x402B 0x59D3 # +0x90AA 0x402C 0x5F81 # +0x90AB 0x402D 0x6027 # +0x90AC 0x402E 0x6210 # +0x90AD 0x402F 0x653F # +0x90AE 0x4030 0x6574 # +0x90AF 0x4031 0x661F # +0x90B0 0x4032 0x6674 # +0x90B1 0x4033 0x68F2 # +0x90B2 0x4034 0x6816 # +0x90B3 0x4035 0x6B63 # +0x90B4 0x4036 0x6E05 # +0x90B5 0x4037 0x7272 # +0x90B6 0x4038 0x751F # +0x90B7 0x4039 0x76DB # +0x90B8 0x403A 0x7CBE # +0x90B9 0x403B 0x8056 # +0x90BA 0x403C 0x58F0 # +0x90BB 0x403D 0x88FD # +0x90BC 0x403E 0x897F # +0x90BD 0x403F 0x8AA0 # +0x90BE 0x4040 0x8A93 # +0x90BF 0x4041 0x8ACB # +0x90C0 0x4042 0x901D # +0x90C1 0x4043 0x9192 # +0x90C2 0x4044 0x9752 # +0x90C3 0x4045 0x9759 # +0x90C4 0x4046 0x6589 # +0x90C5 0x4047 0x7A0E # +0x90C6 0x4048 0x8106 # +0x90C7 0x4049 0x96BB # +0x90C8 0x404A 0x5E2D # +0x90C9 0x404B 0x60DC # +0x90CA 0x404C 0x621A # +0x90CB 0x404D 0x65A5 # +0x90CC 0x404E 0x6614 # +0x90CD 0x404F 0x6790 # +0x90CE 0x4050 0x77F3 # +0x90CF 0x4051 0x7A4D # +0x90D0 0x4052 0x7C4D # +0x90D1 0x4053 0x7E3E # +0x90D2 0x4054 0x810A # +0x90D3 0x4055 0x8CAC # +0x90D4 0x4056 0x8D64 # +0x90D5 0x4057 0x8DE1 # +0x90D6 0x4058 0x8E5F # +0x90D7 0x4059 0x78A9 # +0x90D8 0x405A 0x5207 # +0x90D9 0x405B 0x62D9 # +0x90DA 0x405C 0x63A5 # +0x90DB 0x405D 0x6442 # +0x90DC 0x405E 0x6298 # +0x90DD 0x405F 0x8A2D # +0x90DE 0x4060 0x7A83 # +0x90DF 0x4061 0x7BC0 # +0x90E0 0x4062 0x8AAC # +0x90E1 0x4063 0x96EA # +0x90E2 0x4064 0x7D76 # +0x90E3 0x4065 0x820C # +0x90E4 0x4066 0x8749 # +0x90E5 0x4067 0x4ED9 # +0x90E6 0x4068 0x5148 # +0x90E7 0x4069 0x5343 # +0x90E8 0x406A 0x5360 # +0x90E9 0x406B 0x5BA3 # +0x90EA 0x406C 0x5C02 # +0x90EB 0x406D 0x5C16 # +0x90EC 0x406E 0x5DDD # +0x90ED 0x406F 0x6226 # +0x90EE 0x4070 0x6247 # +0x90EF 0x4071 0x64B0 # +0x90F0 0x4072 0x6813 # +0x90F1 0x4073 0x6834 # +0x90F2 0x4074 0x6CC9 # +0x90F3 0x4075 0x6D45 # +0x90F4 0x4076 0x6D17 # +0x90F5 0x4077 0x67D3 # +0x90F6 0x4078 0x6F5C # +0x90F7 0x4079 0x714E # +0x90F8 0x407A 0x717D # +0x90F9 0x407B 0x65CB # +0x90FA 0x407C 0x7A7F # +0x90FB 0x407D 0x7BAD # +0x90FC 0x407E 0x7DDA # +0x9140 0x4121 0x7E4A # +0x9141 0x4122 0x7FA8 # +0x9142 0x4123 0x817A # +0x9143 0x4124 0x821B # +0x9144 0x4125 0x8239 # +0x9145 0x4126 0x85A6 # +0x9146 0x4127 0x8A6E # +0x9147 0x4128 0x8CCE # +0x9148 0x4129 0x8DF5 # +0x9149 0x412A 0x9078 # +0x914A 0x412B 0x9077 # +0x914B 0x412C 0x92AD # +0x914C 0x412D 0x9291 # +0x914D 0x412E 0x9583 # +0x914E 0x412F 0x9BAE # +0x914F 0x4130 0x524D # +0x9150 0x4131 0x5584 # +0x9151 0x4132 0x6F38 # +0x9152 0x4133 0x7136 # +0x9153 0x4134 0x5168 # +0x9154 0x4135 0x7985 # +0x9155 0x4136 0x7E55 # +0x9156 0x4137 0x81B3 # +0x9157 0x4138 0x7CCE # +0x9158 0x4139 0x564C # +0x9159 0x413A 0x5851 # +0x915A 0x413B 0x5CA8 # +0x915B 0x413C 0x63AA # +0x915C 0x413D 0x66FE # +0x915D 0x413E 0x66FD # +0x915E 0x413F 0x695A # +0x915F 0x4140 0x72D9 # +0x9160 0x4141 0x758F # +0x9161 0x4142 0x758E # +0x9162 0x4143 0x790E # +0x9163 0x4144 0x7956 # +0x9164 0x4145 0x79DF # +0x9165 0x4146 0x7C97 # +0x9166 0x4147 0x7D20 # +0x9167 0x4148 0x7D44 # +0x9168 0x4149 0x8607 # +0x9169 0x414A 0x8A34 # +0x916A 0x414B 0x963B # +0x916B 0x414C 0x9061 # +0x916C 0x414D 0x9F20 # +0x916D 0x414E 0x50E7 # +0x916E 0x414F 0x5275 # +0x916F 0x4150 0x53CC # +0x9170 0x4151 0x53E2 # +0x9171 0x4152 0x5009 # +0x9172 0x4153 0x55AA # +0x9173 0x4154 0x58EE # +0x9174 0x4155 0x594F # +0x9175 0x4156 0x723D # +0x9176 0x4157 0x5B8B # +0x9177 0x4158 0x5C64 # +0x9178 0x4159 0x531D # +0x9179 0x415A 0x60E3 # +0x917A 0x415B 0x60F3 # +0x917B 0x415C 0x635C # +0x917C 0x415D 0x6383 # +0x917D 0x415E 0x633F # +0x917E 0x415F 0x63BB # +0x9180 0x4160 0x64CD # +0x9181 0x4161 0x65E9 # +0x9182 0x4162 0x66F9 # +0x9183 0x4163 0x5DE3 # +0x9184 0x4164 0x69CD # +0x9185 0x4165 0x69FD # +0x9186 0x4166 0x6F15 # +0x9187 0x4167 0x71E5 # +0x9188 0x4168 0x4E89 # +0x9189 0x4169 0x75E9 # +0x918A 0x416A 0x76F8 # +0x918B 0x416B 0x7A93 # +0x918C 0x416C 0x7CDF # +0x918D 0x416D 0x7DCF # +0x918E 0x416E 0x7D9C # +0x918F 0x416F 0x8061 # +0x9190 0x4170 0x8349 # +0x9191 0x4171 0x8358 # +0x9192 0x4172 0x846C # +0x9193 0x4173 0x84BC # +0x9194 0x4174 0x85FB # +0x9195 0x4175 0x88C5 # +0x9196 0x4176 0x8D70 # +0x9197 0x4177 0x9001 # +0x9198 0x4178 0x906D # +0x9199 0x4179 0x9397 # +0x919A 0x417A 0x971C # +0x919B 0x417B 0x9A12 # +0x919C 0x417C 0x50CF # +0x919D 0x417D 0x5897 # +0x919E 0x417E 0x618E # +0x919F 0x4221 0x81D3 # +0x91A0 0x4222 0x8535 # +0x91A1 0x4223 0x8D08 # +0x91A2 0x4224 0x9020 # +0x91A3 0x4225 0x4FC3 # +0x91A4 0x4226 0x5074 # +0x91A5 0x4227 0x5247 # +0x91A6 0x4228 0x5373 # +0x91A7 0x4229 0x606F # +0x91A8 0x422A 0x6349 # +0x91A9 0x422B 0x675F # +0x91AA 0x422C 0x6E2C # +0x91AB 0x422D 0x8DB3 # +0x91AC 0x422E 0x901F # +0x91AD 0x422F 0x4FD7 # +0x91AE 0x4230 0x5C5E # +0x91AF 0x4231 0x8CCA # +0x91B0 0x4232 0x65CF # +0x91B1 0x4233 0x7D9A # +0x91B2 0x4234 0x5352 # +0x91B3 0x4235 0x8896 # +0x91B4 0x4236 0x5176 # +0x91B5 0x4237 0x63C3 # +0x91B6 0x4238 0x5B58 # +0x91B7 0x4239 0x5B6B # +0x91B8 0x423A 0x5C0A # +0x91B9 0x423B 0x640D # +0x91BA 0x423C 0x6751 # +0x91BB 0x423D 0x905C # +0x91BC 0x423E 0x4ED6 # +0x91BD 0x423F 0x591A # +0x91BE 0x4240 0x592A # +0x91BF 0x4241 0x6C70 # +0x91C0 0x4242 0x8A51 # +0x91C1 0x4243 0x553E # +0x91C2 0x4244 0x5815 # +0x91C3 0x4245 0x59A5 # +0x91C4 0x4246 0x60F0 # +0x91C5 0x4247 0x6253 # +0x91C6 0x4248 0x67C1 # +0x91C7 0x4249 0x8235 # +0x91C8 0x424A 0x6955 # +0x91C9 0x424B 0x9640 # +0x91CA 0x424C 0x99C4 # +0x91CB 0x424D 0x9A28 # +0x91CC 0x424E 0x4F53 # +0x91CD 0x424F 0x5806 # +0x91CE 0x4250 0x5BFE # +0x91CF 0x4251 0x8010 # +0x91D0 0x4252 0x5CB1 # +0x91D1 0x4253 0x5E2F # +0x91D2 0x4254 0x5F85 # +0x91D3 0x4255 0x6020 # +0x91D4 0x4256 0x614B # +0x91D5 0x4257 0x6234 # +0x91D6 0x4258 0x66FF # +0x91D7 0x4259 0x6CF0 # +0x91D8 0x425A 0x6EDE # +0x91D9 0x425B 0x80CE # +0x91DA 0x425C 0x817F # +0x91DB 0x425D 0x82D4 # +0x91DC 0x425E 0x888B # +0x91DD 0x425F 0x8CB8 # +0x91DE 0x4260 0x9000 # +0x91DF 0x4261 0x902E # +0x91E0 0x4262 0x968A # +0x91E1 0x4263 0x9EDB # +0x91E2 0x4264 0x9BDB # +0x91E3 0x4265 0x4EE3 # +0x91E4 0x4266 0x53F0 # +0x91E5 0x4267 0x5927 # +0x91E6 0x4268 0x7B2C # +0x91E7 0x4269 0x918D # +0x91E8 0x426A 0x984C # +0x91E9 0x426B 0x9DF9 # +0x91EA 0x426C 0x6EDD # +0x91EB 0x426D 0x7027 # +0x91EC 0x426E 0x5353 # +0x91ED 0x426F 0x5544 # +0x91EE 0x4270 0x5B85 # +0x91EF 0x4271 0x6258 # +0x91F0 0x4272 0x629E # +0x91F1 0x4273 0x62D3 # +0x91F2 0x4274 0x6CA2 # +0x91F3 0x4275 0x6FEF # +0x91F4 0x4276 0x7422 # +0x91F5 0x4277 0x8A17 # +0x91F6 0x4278 0x9438 # +0x91F7 0x4279 0x6FC1 # +0x91F8 0x427A 0x8AFE # +0x91F9 0x427B 0x8338 # +0x91FA 0x427C 0x51E7 # +0x91FB 0x427D 0x86F8 # +0x91FC 0x427E 0x53EA # +0x9240 0x4321 0x53E9 # +0x9241 0x4322 0x4F46 # +0x9242 0x4323 0x9054 # +0x9243 0x4324 0x8FB0 # +0x9244 0x4325 0x596A # +0x9245 0x4326 0x8131 # +0x9246 0x4327 0x5DFD # +0x9247 0x4328 0x7AEA # +0x9248 0x4329 0x8FBF # +0x9249 0x432A 0x68DA # +0x924A 0x432B 0x8C37 # +0x924B 0x432C 0x72F8 # +0x924C 0x432D 0x9C48 # +0x924D 0x432E 0x6A3D # +0x924E 0x432F 0x8AB0 # +0x924F 0x4330 0x4E39 # +0x9250 0x4331 0x5358 # +0x9251 0x4332 0x5606 # +0x9252 0x4333 0x5766 # +0x9253 0x4334 0x62C5 # +0x9254 0x4335 0x63A2 # +0x9255 0x4336 0x65E6 # +0x9256 0x4337 0x6B4E # +0x9257 0x4338 0x6DE1 # +0x9258 0x4339 0x6E5B # +0x9259 0x433A 0x70AD # +0x925A 0x433B 0x77ED # +0x925B 0x433C 0x7AEF # +0x925C 0x433D 0x7BAA # +0x925D 0x433E 0x7DBB # +0x925E 0x433F 0x803D # +0x925F 0x4340 0x80C6 # +0x9260 0x4341 0x86CB # +0x9261 0x4342 0x8A95 # +0x9262 0x4343 0x935B # +0x9263 0x4344 0x56E3 # +0x9264 0x4345 0x58C7 # +0x9265 0x4346 0x5F3E # +0x9266 0x4347 0x65AD # +0x9267 0x4348 0x6696 # +0x9268 0x4349 0x6A80 # +0x9269 0x434A 0x6BB5 # +0x926A 0x434B 0x7537 # +0x926B 0x434C 0x8AC7 # +0x926C 0x434D 0x5024 # +0x926D 0x434E 0x77E5 # +0x926E 0x434F 0x5730 # +0x926F 0x4350 0x5F1B # +0x9270 0x4351 0x6065 # +0x9271 0x4352 0x667A # +0x9272 0x4353 0x6C60 # +0x9273 0x4354 0x75F4 # +0x9274 0x4355 0x7A1A # +0x9275 0x4356 0x7F6E # +0x9276 0x4357 0x81F4 # +0x9277 0x4358 0x8718 # +0x9278 0x4359 0x9045 # +0x9279 0x435A 0x99B3 # +0x927A 0x435B 0x7BC9 # +0x927B 0x435C 0x755C # +0x927C 0x435D 0x7AF9 # +0x927D 0x435E 0x7B51 # +0x927E 0x435F 0x84C4 # +0x9280 0x4360 0x9010 # +0x9281 0x4361 0x79E9 # +0x9282 0x4362 0x7A92 # +0x9283 0x4363 0x8336 # +0x9284 0x4364 0x5AE1 # +0x9285 0x4365 0x7740 # +0x9286 0x4366 0x4E2D # +0x9287 0x4367 0x4EF2 # +0x9288 0x4368 0x5B99 # +0x9289 0x4369 0x5FE0 # +0x928A 0x436A 0x62BD # +0x928B 0x436B 0x663C # +0x928C 0x436C 0x67F1 # +0x928D 0x436D 0x6CE8 # +0x928E 0x436E 0x866B # +0x928F 0x436F 0x8877 # +0x9290 0x4370 0x8A3B # +0x9291 0x4371 0x914E # +0x9292 0x4372 0x92F3 # +0x9293 0x4373 0x99D0 # +0x9294 0x4374 0x6A17 # +0x9295 0x4375 0x7026 # +0x9296 0x4376 0x732A # +0x9297 0x4377 0x82E7 # +0x9298 0x4378 0x8457 # +0x9299 0x4379 0x8CAF # +0x929A 0x437A 0x4E01 # +0x929B 0x437B 0x5146 # +0x929C 0x437C 0x51CB # +0x929D 0x437D 0x558B # +0x929E 0x437E 0x5BF5 # +0x929F 0x4421 0x5E16 # +0x92A0 0x4422 0x5E33 # +0x92A1 0x4423 0x5E81 # +0x92A2 0x4424 0x5F14 # +0x92A3 0x4425 0x5F35 # +0x92A4 0x4426 0x5F6B # +0x92A5 0x4427 0x5FB4 # +0x92A6 0x4428 0x61F2 # +0x92A7 0x4429 0x6311 # +0x92A8 0x442A 0x66A2 # +0x92A9 0x442B 0x671D # +0x92AA 0x442C 0x6F6E # +0x92AB 0x442D 0x7252 # +0x92AC 0x442E 0x753A # +0x92AD 0x442F 0x773A # +0x92AE 0x4430 0x8074 # +0x92AF 0x4431 0x8139 # +0x92B0 0x4432 0x8178 # +0x92B1 0x4433 0x8776 # +0x92B2 0x4434 0x8ABF # +0x92B3 0x4435 0x8ADC # +0x92B4 0x4436 0x8D85 # +0x92B5 0x4437 0x8DF3 # +0x92B6 0x4438 0x929A # +0x92B7 0x4439 0x9577 # +0x92B8 0x443A 0x9802 # +0x92B9 0x443B 0x9CE5 # +0x92BA 0x443C 0x52C5 # +0x92BB 0x443D 0x6357 # +0x92BC 0x443E 0x76F4 # +0x92BD 0x443F 0x6715 # +0x92BE 0x4440 0x6C88 # +0x92BF 0x4441 0x73CD # +0x92C0 0x4442 0x8CC3 # +0x92C1 0x4443 0x93AE # +0x92C2 0x4444 0x9673 # +0x92C3 0x4445 0x6D25 # +0x92C4 0x4446 0x589C # +0x92C5 0x4447 0x690E # +0x92C6 0x4448 0x69CC # +0x92C7 0x4449 0x8FFD # +0x92C8 0x444A 0x939A # +0x92C9 0x444B 0x75DB # +0x92CA 0x444C 0x901A # +0x92CB 0x444D 0x585A # +0x92CC 0x444E 0x6802 # +0x92CD 0x444F 0x63B4 # +0x92CE 0x4450 0x69FB # +0x92CF 0x4451 0x4F43 # +0x92D0 0x4452 0x6F2C # +0x92D1 0x4453 0x67D8 # +0x92D2 0x4454 0x8FBB # +0x92D3 0x4455 0x8526 # +0x92D4 0x4456 0x7DB4 # +0x92D5 0x4457 0x9354 # +0x92D6 0x4458 0x693F # +0x92D7 0x4459 0x6F70 # +0x92D8 0x445A 0x576A # +0x92D9 0x445B 0x58F7 # +0x92DA 0x445C 0x5B2C # +0x92DB 0x445D 0x7D2C # +0x92DC 0x445E 0x722A # +0x92DD 0x445F 0x540A # +0x92DE 0x4460 0x91E3 # +0x92DF 0x4461 0x9DB4 # +0x92E0 0x4462 0x4EAD # +0x92E1 0x4463 0x4F4E # +0x92E2 0x4464 0x505C # +0x92E3 0x4465 0x5075 # +0x92E4 0x4466 0x5243 # +0x92E5 0x4467 0x8C9E # +0x92E6 0x4468 0x5448 # +0x92E7 0x4469 0x5824 # +0x92E8 0x446A 0x5B9A # +0x92E9 0x446B 0x5E1D # +0x92EA 0x446C 0x5E95 # +0x92EB 0x446D 0x5EAD # +0x92EC 0x446E 0x5EF7 # +0x92ED 0x446F 0x5F1F # +0x92EE 0x4470 0x608C # +0x92EF 0x4471 0x62B5 # +0x92F0 0x4472 0x633A # +0x92F1 0x4473 0x63D0 # +0x92F2 0x4474 0x68AF # +0x92F3 0x4475 0x6C40 # +0x92F4 0x4476 0x7887 # +0x92F5 0x4477 0x798E # +0x92F6 0x4478 0x7A0B # +0x92F7 0x4479 0x7DE0 # +0x92F8 0x447A 0x8247 # +0x92F9 0x447B 0x8A02 # +0x92FA 0x447C 0x8AE6 # +0x92FB 0x447D 0x8E44 # +0x92FC 0x447E 0x9013 # +0x9340 0x4521 0x90B8 # +0x9341 0x4522 0x912D # +0x9342 0x4523 0x91D8 # +0x9343 0x4524 0x9F0E # +0x9344 0x4525 0x6CE5 # +0x9345 0x4526 0x6458 # +0x9346 0x4527 0x64E2 # +0x9347 0x4528 0x6575 # +0x9348 0x4529 0x6EF4 # +0x9349 0x452A 0x7684 # +0x934A 0x452B 0x7B1B # +0x934B 0x452C 0x9069 # +0x934C 0x452D 0x93D1 # +0x934D 0x452E 0x6EBA # +0x934E 0x452F 0x54F2 # +0x934F 0x4530 0x5FB9 # +0x9350 0x4531 0x64A4 # +0x9351 0x4532 0x8F4D # +0x9352 0x4533 0x8FED # +0x9353 0x4534 0x9244 # +0x9354 0x4535 0x5178 # +0x9355 0x4536 0x586B # +0x9356 0x4537 0x5929 # +0x9357 0x4538 0x5C55 # +0x9358 0x4539 0x5E97 # +0x9359 0x453A 0x6DFB # +0x935A 0x453B 0x7E8F # +0x935B 0x453C 0x751C # +0x935C 0x453D 0x8CBC # +0x935D 0x453E 0x8EE2 # +0x935E 0x453F 0x985B # +0x935F 0x4540 0x70B9 # +0x9360 0x4541 0x4F1D # +0x9361 0x4542 0x6BBF # +0x9362 0x4543 0x6FB1 # +0x9363 0x4544 0x7530 # +0x9364 0x4545 0x96FB # +0x9365 0x4546 0x514E # +0x9366 0x4547 0x5410 # +0x9367 0x4548 0x5835 # +0x9368 0x4549 0x5857 # +0x9369 0x454A 0x59AC # +0x936A 0x454B 0x5C60 # +0x936B 0x454C 0x5F92 # +0x936C 0x454D 0x6597 # +0x936D 0x454E 0x675C # +0x936E 0x454F 0x6E21 # +0x936F 0x4550 0x767B # +0x9370 0x4551 0x83DF # +0x9371 0x4552 0x8CED # +0x9372 0x4553 0x9014 # +0x9373 0x4554 0x90FD # +0x9374 0x4555 0x934D # +0x9375 0x4556 0x7825 # +0x9376 0x4557 0x783A # +0x9377 0x4558 0x52AA # +0x9378 0x4559 0x5EA6 # +0x9379 0x455A 0x571F # +0x937A 0x455B 0x5974 # +0x937B 0x455C 0x6012 # +0x937C 0x455D 0x5012 # +0x937D 0x455E 0x515A # +0x937E 0x455F 0x51AC # +0x9380 0x4560 0x51CD # +0x9381 0x4561 0x5200 # +0x9382 0x4562 0x5510 # +0x9383 0x4563 0x5854 # +0x9384 0x4564 0x5858 # +0x9385 0x4565 0x5957 # +0x9386 0x4566 0x5B95 # +0x9387 0x4567 0x5CF6 # +0x9388 0x4568 0x5D8B # +0x9389 0x4569 0x60BC # +0x938A 0x456A 0x6295 # +0x938B 0x456B 0x642D # +0x938C 0x456C 0x6771 # +0x938D 0x456D 0x6843 # +0x938E 0x456E 0x68BC # +0x938F 0x456F 0x68DF # +0x9390 0x4570 0x76D7 # +0x9391 0x4571 0x6DD8 # +0x9392 0x4572 0x6E6F # +0x9393 0x4573 0x6D9B # +0x9394 0x4574 0x706F # +0x9395 0x4575 0x71C8 # +0x9396 0x4576 0x5F53 # +0x9397 0x4577 0x75D8 # +0x9398 0x4578 0x7977 # +0x9399 0x4579 0x7B49 # +0x939A 0x457A 0x7B54 # +0x939B 0x457B 0x7B52 # +0x939C 0x457C 0x7CD6 # +0x939D 0x457D 0x7D71 # +0x939E 0x457E 0x5230 # +0x939F 0x4621 0x8463 # +0x93A0 0x4622 0x8569 # +0x93A1 0x4623 0x85E4 # +0x93A2 0x4624 0x8A0E # +0x93A3 0x4625 0x8B04 # +0x93A4 0x4626 0x8C46 # +0x93A5 0x4627 0x8E0F # +0x93A6 0x4628 0x9003 # +0x93A7 0x4629 0x900F # +0x93A8 0x462A 0x9419 # +0x93A9 0x462B 0x9676 # +0x93AA 0x462C 0x982D # +0x93AB 0x462D 0x9A30 # +0x93AC 0x462E 0x95D8 # +0x93AD 0x462F 0x50CD # +0x93AE 0x4630 0x52D5 # +0x93AF 0x4631 0x540C # +0x93B0 0x4632 0x5802 # +0x93B1 0x4633 0x5C0E # +0x93B2 0x4634 0x61A7 # +0x93B3 0x4635 0x649E # +0x93B4 0x4636 0x6D1E # +0x93B5 0x4637 0x77B3 # +0x93B6 0x4638 0x7AE5 # +0x93B7 0x4639 0x80F4 # +0x93B8 0x463A 0x8404 # +0x93B9 0x463B 0x9053 # +0x93BA 0x463C 0x9285 # +0x93BB 0x463D 0x5CE0 # +0x93BC 0x463E 0x9D07 # +0x93BD 0x463F 0x533F # +0x93BE 0x4640 0x5F97 # +0x93BF 0x4641 0x5FB3 # +0x93C0 0x4642 0x6D9C # +0x93C1 0x4643 0x7279 # +0x93C2 0x4644 0x7763 # +0x93C3 0x4645 0x79BF # +0x93C4 0x4646 0x7BE4 # +0x93C5 0x4647 0x6BD2 # +0x93C6 0x4648 0x72EC # +0x93C7 0x4649 0x8AAD # +0x93C8 0x464A 0x6803 # +0x93C9 0x464B 0x6A61 # +0x93CA 0x464C 0x51F8 # +0x93CB 0x464D 0x7A81 # +0x93CC 0x464E 0x6934 # +0x93CD 0x464F 0x5C4A # +0x93CE 0x4650 0x9CF6 # +0x93CF 0x4651 0x82EB # +0x93D0 0x4652 0x5BC5 # +0x93D1 0x4653 0x9149 # +0x93D2 0x4654 0x701E # +0x93D3 0x4655 0x5678 # +0x93D4 0x4656 0x5C6F # +0x93D5 0x4657 0x60C7 # +0x93D6 0x4658 0x6566 # +0x93D7 0x4659 0x6C8C # +0x93D8 0x465A 0x8C5A # +0x93D9 0x465B 0x9041 # +0x93DA 0x465C 0x9813 # +0x93DB 0x465D 0x5451 # +0x93DC 0x465E 0x66C7 # +0x93DD 0x465F 0x920D # +0x93DE 0x4660 0x5948 # +0x93DF 0x4661 0x90A3 # +0x93E0 0x4662 0x5185 # +0x93E1 0x4663 0x4E4D # +0x93E2 0x4664 0x51EA # +0x93E3 0x4665 0x8599 # +0x93E4 0x4666 0x8B0E # +0x93E5 0x4667 0x7058 # +0x93E6 0x4668 0x637A # +0x93E7 0x4669 0x934B # +0x93E8 0x466A 0x6962 # +0x93E9 0x466B 0x99B4 # +0x93EA 0x466C 0x7E04 # +0x93EB 0x466D 0x7577 # +0x93EC 0x466E 0x5357 # +0x93ED 0x466F 0x6960 # +0x93EE 0x4670 0x8EDF # +0x93EF 0x4671 0x96E3 # +0x93F0 0x4672 0x6C5D # +0x93F1 0x4673 0x4E8C # +0x93F2 0x4674 0x5C3C # +0x93F3 0x4675 0x5F10 # +0x93F4 0x4676 0x8FE9 # +0x93F5 0x4677 0x5302 # +0x93F6 0x4678 0x8CD1 # +0x93F7 0x4679 0x8089 # +0x93F8 0x467A 0x8679 # +0x93F9 0x467B 0x5EFF # +0x93FA 0x467C 0x65E5 # +0x93FB 0x467D 0x4E73 # +0x93FC 0x467E 0x5165 # +0x9440 0x4721 0x5982 # +0x9441 0x4722 0x5C3F # +0x9442 0x4723 0x97EE # +0x9443 0x4724 0x4EFB # +0x9444 0x4725 0x598A # +0x9445 0x4726 0x5FCD # +0x9446 0x4727 0x8A8D # +0x9447 0x4728 0x6FE1 # +0x9448 0x4729 0x79B0 # +0x9449 0x472A 0x7962 # +0x944A 0x472B 0x5BE7 # +0x944B 0x472C 0x8471 # +0x944C 0x472D 0x732B # +0x944D 0x472E 0x71B1 # +0x944E 0x472F 0x5E74 # +0x944F 0x4730 0x5FF5 # +0x9450 0x4731 0x637B # +0x9451 0x4732 0x649A # +0x9452 0x4733 0x71C3 # +0x9453 0x4734 0x7C98 # +0x9454 0x4735 0x4E43 # +0x9455 0x4736 0x5EFC # +0x9456 0x4737 0x4E4B # +0x9457 0x4738 0x57DC # +0x9458 0x4739 0x56A2 # +0x9459 0x473A 0x60A9 # +0x945A 0x473B 0x6FC3 # +0x945B 0x473C 0x7D0D # +0x945C 0x473D 0x80FD # +0x945D 0x473E 0x8133 # +0x945E 0x473F 0x81BF # +0x945F 0x4740 0x8FB2 # +0x9460 0x4741 0x8997 # +0x9461 0x4742 0x86A4 # +0x9462 0x4743 0x5DF4 # +0x9463 0x4744 0x628A # +0x9464 0x4745 0x64AD # +0x9465 0x4746 0x8987 # +0x9466 0x4747 0x6777 # +0x9467 0x4748 0x6CE2 # +0x9468 0x4749 0x6D3E # +0x9469 0x474A 0x7436 # +0x946A 0x474B 0x7834 # +0x946B 0x474C 0x5A46 # +0x946C 0x474D 0x7F75 # +0x946D 0x474E 0x82AD # +0x946E 0x474F 0x99AC # +0x946F 0x4750 0x4FF3 # +0x9470 0x4751 0x5EC3 # +0x9471 0x4752 0x62DD # +0x9472 0x4753 0x6392 # +0x9473 0x4754 0x6557 # +0x9474 0x4755 0x676F # +0x9475 0x4756 0x76C3 # +0x9476 0x4757 0x724C # +0x9477 0x4758 0x80CC # +0x9478 0x4759 0x80BA # +0x9479 0x475A 0x8F29 # +0x947A 0x475B 0x914D # +0x947B 0x475C 0x500D # +0x947C 0x475D 0x57F9 # +0x947D 0x475E 0x5A92 # +0x947E 0x475F 0x6885 # +0x9480 0x4760 0x6973 # +0x9481 0x4761 0x7164 # +0x9482 0x4762 0x72FD # +0x9483 0x4763 0x8CB7 # +0x9484 0x4764 0x58F2 # +0x9485 0x4765 0x8CE0 # +0x9486 0x4766 0x966A # +0x9487 0x4767 0x9019 # +0x9488 0x4768 0x877F # +0x9489 0x4769 0x79E4 # +0x948A 0x476A 0x77E7 # +0x948B 0x476B 0x8429 # +0x948C 0x476C 0x4F2F # +0x948D 0x476D 0x5265 # +0x948E 0x476E 0x535A # +0x948F 0x476F 0x62CD # +0x9490 0x4770 0x67CF # +0x9491 0x4771 0x6CCA # +0x9492 0x4772 0x767D # +0x9493 0x4773 0x7B94 # +0x9494 0x4774 0x7C95 # +0x9495 0x4775 0x8236 # +0x9496 0x4776 0x8584 # +0x9497 0x4777 0x8FEB # +0x9498 0x4778 0x66DD # +0x9499 0x4779 0x6F20 # +0x949A 0x477A 0x7206 # +0x949B 0x477B 0x7E1B # +0x949C 0x477C 0x83AB # +0x949D 0x477D 0x99C1 # +0x949E 0x477E 0x9EA6 # +0x949F 0x4821 0x51FD # +0x94A0 0x4822 0x7BB1 # +0x94A1 0x4823 0x7872 # +0x94A2 0x4824 0x7BB8 # +0x94A3 0x4825 0x8087 # +0x94A4 0x4826 0x7B48 # +0x94A5 0x4827 0x6AE8 # +0x94A6 0x4828 0x5E61 # +0x94A7 0x4829 0x808C # +0x94A8 0x482A 0x7551 # +0x94A9 0x482B 0x7560 # +0x94AA 0x482C 0x516B # +0x94AB 0x482D 0x9262 # +0x94AC 0x482E 0x6E8C # +0x94AD 0x482F 0x767A # +0x94AE 0x4830 0x9197 # +0x94AF 0x4831 0x9AEA # +0x94B0 0x4832 0x4F10 # +0x94B1 0x4833 0x7F70 # +0x94B2 0x4834 0x629C # +0x94B3 0x4835 0x7B4F # +0x94B4 0x4836 0x95A5 # +0x94B5 0x4837 0x9CE9 # +0x94B6 0x4838 0x567A # +0x94B7 0x4839 0x5859 # +0x94B8 0x483A 0x86E4 # +0x94B9 0x483B 0x96BC # +0x94BA 0x483C 0x4F34 # +0x94BB 0x483D 0x5224 # +0x94BC 0x483E 0x534A # +0x94BD 0x483F 0x53CD # +0x94BE 0x4840 0x53DB # +0x94BF 0x4841 0x5E06 # +0x94C0 0x4842 0x642C # +0x94C1 0x4843 0x6591 # +0x94C2 0x4844 0x677F # +0x94C3 0x4845 0x6C3E # +0x94C4 0x4846 0x6C4E # +0x94C5 0x4847 0x7248 # +0x94C6 0x4848 0x72AF # +0x94C7 0x4849 0x73ED # +0x94C8 0x484A 0x7554 # +0x94C9 0x484B 0x7E41 # +0x94CA 0x484C 0x822C # +0x94CB 0x484D 0x85E9 # +0x94CC 0x484E 0x8CA9 # +0x94CD 0x484F 0x7BC4 # +0x94CE 0x4850 0x91C6 # +0x94CF 0x4851 0x7169 # +0x94D0 0x4852 0x9812 # +0x94D1 0x4853 0x98EF # +0x94D2 0x4854 0x633D # +0x94D3 0x4855 0x6669 # +0x94D4 0x4856 0x756A # +0x94D5 0x4857 0x76E4 # +0x94D6 0x4858 0x78D0 # +0x94D7 0x4859 0x8543 # +0x94D8 0x485A 0x86EE # +0x94D9 0x485B 0x532A # +0x94DA 0x485C 0x5351 # +0x94DB 0x485D 0x5426 # +0x94DC 0x485E 0x5983 # +0x94DD 0x485F 0x5E87 # +0x94DE 0x4860 0x5F7C # +0x94DF 0x4861 0x60B2 # +0x94E0 0x4862 0x6249 # +0x94E1 0x4863 0x6279 # +0x94E2 0x4864 0x62AB # +0x94E3 0x4865 0x6590 # +0x94E4 0x4866 0x6BD4 # +0x94E5 0x4867 0x6CCC # +0x94E6 0x4868 0x75B2 # +0x94E7 0x4869 0x76AE # +0x94E8 0x486A 0x7891 # +0x94E9 0x486B 0x79D8 # +0x94EA 0x486C 0x7DCB # +0x94EB 0x486D 0x7F77 # +0x94EC 0x486E 0x80A5 # +0x94ED 0x486F 0x88AB # +0x94EE 0x4870 0x8AB9 # +0x94EF 0x4871 0x8CBB # +0x94F0 0x4872 0x907F # +0x94F1 0x4873 0x975E # +0x94F2 0x4874 0x98DB # +0x94F3 0x4875 0x6A0B # +0x94F4 0x4876 0x7C38 # +0x94F5 0x4877 0x5099 # +0x94F6 0x4878 0x5C3E # +0x94F7 0x4879 0x5FAE # +0x94F8 0x487A 0x6787 # +0x94F9 0x487B 0x6BD8 # +0x94FA 0x487C 0x7435 # +0x94FB 0x487D 0x7709 # +0x94FC 0x487E 0x7F8E # +0x9540 0x4921 0x9F3B # +0x9541 0x4922 0x67CA # +0x9542 0x4923 0x7A17 # +0x9543 0x4924 0x5339 # +0x9544 0x4925 0x758B # +0x9545 0x4926 0x9AED # +0x9546 0x4927 0x5F66 # +0x9547 0x4928 0x819D # +0x9548 0x4929 0x83F1 # +0x9549 0x492A 0x8098 # +0x954A 0x492B 0x5F3C # +0x954B 0x492C 0x5FC5 # +0x954C 0x492D 0x7562 # +0x954D 0x492E 0x7B46 # +0x954E 0x492F 0x903C # +0x954F 0x4930 0x6867 # +0x9550 0x4931 0x59EB # +0x9551 0x4932 0x5A9B # +0x9552 0x4933 0x7D10 # +0x9553 0x4934 0x767E # +0x9554 0x4935 0x8B2C # +0x9555 0x4936 0x4FF5 # +0x9556 0x4937 0x5F6A # +0x9557 0x4938 0x6A19 # +0x9558 0x4939 0x6C37 # +0x9559 0x493A 0x6F02 # +0x955A 0x493B 0x74E2 # +0x955B 0x493C 0x7968 # +0x955C 0x493D 0x8868 # +0x955D 0x493E 0x8A55 # +0x955E 0x493F 0x8C79 # +0x955F 0x4940 0x5EDF # +0x9560 0x4941 0x63CF # +0x9561 0x4942 0x75C5 # +0x9562 0x4943 0x79D2 # +0x9563 0x4944 0x82D7 # +0x9564 0x4945 0x9328 # +0x9565 0x4946 0x92F2 # +0x9566 0x4947 0x849C # +0x9567 0x4948 0x86ED # +0x9568 0x4949 0x9C2D # +0x9569 0x494A 0x54C1 # +0x956A 0x494B 0x5F6C # +0x956B 0x494C 0x658C # +0x956C 0x494D 0x6D5C # +0x956D 0x494E 0x7015 # +0x956E 0x494F 0x8CA7 # +0x956F 0x4950 0x8CD3 # +0x9570 0x4951 0x983B # +0x9571 0x4952 0x654F # +0x9572 0x4953 0x74F6 # +0x9573 0x4954 0x4E0D # +0x9574 0x4955 0x4ED8 # +0x9575 0x4956 0x57E0 # +0x9576 0x4957 0x592B # +0x9577 0x4958 0x5A66 # +0x9578 0x4959 0x5BCC # +0x9579 0x495A 0x51A8 # +0x957A 0x495B 0x5E03 # +0x957B 0x495C 0x5E9C # +0x957C 0x495D 0x6016 # +0x957D 0x495E 0x6276 # +0x957E 0x495F 0x6577 # +0x9580 0x4960 0x65A7 # +0x9581 0x4961 0x666E # +0x9582 0x4962 0x6D6E # +0x9583 0x4963 0x7236 # +0x9584 0x4964 0x7B26 # +0x9585 0x4965 0x8150 # +0x9586 0x4966 0x819A # +0x9587 0x4967 0x8299 # +0x9588 0x4968 0x8B5C # +0x9589 0x4969 0x8CA0 # +0x958A 0x496A 0x8CE6 # +0x958B 0x496B 0x8D74 # +0x958C 0x496C 0x961C # +0x958D 0x496D 0x9644 # +0x958E 0x496E 0x4FAE # +0x958F 0x496F 0x64AB # +0x9590 0x4970 0x6B66 # +0x9591 0x4971 0x821E # +0x9592 0x4972 0x8461 # +0x9593 0x4973 0x856A # +0x9594 0x4974 0x90E8 # +0x9595 0x4975 0x5C01 # +0x9596 0x4976 0x6953 # +0x9597 0x4977 0x98A8 # +0x9598 0x4978 0x847A # +0x9599 0x4979 0x8557 # +0x959A 0x497A 0x4F0F # +0x959B 0x497B 0x526F # +0x959C 0x497C 0x5FA9 # +0x959D 0x497D 0x5E45 # +0x959E 0x497E 0x670D # +0x959F 0x4A21 0x798F # +0x95A0 0x4A22 0x8179 # +0x95A1 0x4A23 0x8907 # +0x95A2 0x4A24 0x8986 # +0x95A3 0x4A25 0x6DF5 # +0x95A4 0x4A26 0x5F17 # +0x95A5 0x4A27 0x6255 # +0x95A6 0x4A28 0x6CB8 # +0x95A7 0x4A29 0x4ECF # +0x95A8 0x4A2A 0x7269 # +0x95A9 0x4A2B 0x9B92 # +0x95AA 0x4A2C 0x5206 # +0x95AB 0x4A2D 0x543B # +0x95AC 0x4A2E 0x5674 # +0x95AD 0x4A2F 0x58B3 # +0x95AE 0x4A30 0x61A4 # +0x95AF 0x4A31 0x626E # +0x95B0 0x4A32 0x711A # +0x95B1 0x4A33 0x596E # +0x95B2 0x4A34 0x7C89 # +0x95B3 0x4A35 0x7CDE # +0x95B4 0x4A36 0x7D1B # +0x95B5 0x4A37 0x96F0 # +0x95B6 0x4A38 0x6587 # +0x95B7 0x4A39 0x805E # +0x95B8 0x4A3A 0x4E19 # +0x95B9 0x4A3B 0x4F75 # +0x95BA 0x4A3C 0x5175 # +0x95BB 0x4A3D 0x5840 # +0x95BC 0x4A3E 0x5E63 # +0x95BD 0x4A3F 0x5E73 # +0x95BE 0x4A40 0x5F0A # +0x95BF 0x4A41 0x67C4 # +0x95C0 0x4A42 0x4E26 # +0x95C1 0x4A43 0x853D # +0x95C2 0x4A44 0x9589 # +0x95C3 0x4A45 0x965B # +0x95C4 0x4A46 0x7C73 # +0x95C5 0x4A47 0x9801 # +0x95C6 0x4A48 0x50FB # +0x95C7 0x4A49 0x58C1 # +0x95C8 0x4A4A 0x7656 # +0x95C9 0x4A4B 0x78A7 # +0x95CA 0x4A4C 0x5225 # +0x95CB 0x4A4D 0x77A5 # +0x95CC 0x4A4E 0x8511 # +0x95CD 0x4A4F 0x7B86 # +0x95CE 0x4A50 0x504F # +0x95CF 0x4A51 0x5909 # +0x95D0 0x4A52 0x7247 # +0x95D1 0x4A53 0x7BC7 # +0x95D2 0x4A54 0x7DE8 # +0x95D3 0x4A55 0x8FBA # +0x95D4 0x4A56 0x8FD4 # +0x95D5 0x4A57 0x904D # +0x95D6 0x4A58 0x4FBF # +0x95D7 0x4A59 0x52C9 # +0x95D8 0x4A5A 0x5A29 # +0x95D9 0x4A5B 0x5F01 # +0x95DA 0x4A5C 0x97AD # +0x95DB 0x4A5D 0x4FDD # +0x95DC 0x4A5E 0x8217 # +0x95DD 0x4A5F 0x92EA # +0x95DE 0x4A60 0x5703 # +0x95DF 0x4A61 0x6355 # +0x95E0 0x4A62 0x6B69 # +0x95E1 0x4A63 0x752B # +0x95E2 0x4A64 0x88DC # +0x95E3 0x4A65 0x8F14 # +0x95E4 0x4A66 0x7A42 # +0x95E5 0x4A67 0x52DF # +0x95E6 0x4A68 0x5893 # +0x95E7 0x4A69 0x6155 # +0x95E8 0x4A6A 0x620A # +0x95E9 0x4A6B 0x66AE # +0x95EA 0x4A6C 0x6BCD # +0x95EB 0x4A6D 0x7C3F # +0x95EC 0x4A6E 0x83E9 # +0x95ED 0x4A6F 0x5023 # +0x95EE 0x4A70 0x4FF8 # +0x95EF 0x4A71 0x5305 # +0x95F0 0x4A72 0x5446 # +0x95F1 0x4A73 0x5831 # +0x95F2 0x4A74 0x5949 # +0x95F3 0x4A75 0x5B9D # +0x95F4 0x4A76 0x5CF0 # +0x95F5 0x4A77 0x5CEF # +0x95F6 0x4A78 0x5D29 # +0x95F7 0x4A79 0x5E96 # +0x95F8 0x4A7A 0x62B1 # +0x95F9 0x4A7B 0x6367 # +0x95FA 0x4A7C 0x653E # +0x95FB 0x4A7D 0x65B9 # +0x95FC 0x4A7E 0x670B # +0x9640 0x4B21 0x6CD5 # +0x9641 0x4B22 0x6CE1 # +0x9642 0x4B23 0x70F9 # +0x9643 0x4B24 0x7832 # +0x9644 0x4B25 0x7E2B # +0x9645 0x4B26 0x80DE # +0x9646 0x4B27 0x82B3 # +0x9647 0x4B28 0x840C # +0x9648 0x4B29 0x84EC # +0x9649 0x4B2A 0x8702 # +0x964A 0x4B2B 0x8912 # +0x964B 0x4B2C 0x8A2A # +0x964C 0x4B2D 0x8C4A # +0x964D 0x4B2E 0x90A6 # +0x964E 0x4B2F 0x92D2 # +0x964F 0x4B30 0x98FD # +0x9650 0x4B31 0x9CF3 # +0x9651 0x4B32 0x9D6C # +0x9652 0x4B33 0x4E4F # +0x9653 0x4B34 0x4EA1 # +0x9654 0x4B35 0x508D # +0x9655 0x4B36 0x5256 # +0x9656 0x4B37 0x574A # +0x9657 0x4B38 0x59A8 # +0x9658 0x4B39 0x5E3D # +0x9659 0x4B3A 0x5FD8 # +0x965A 0x4B3B 0x5FD9 # +0x965B 0x4B3C 0x623F # +0x965C 0x4B3D 0x66B4 # +0x965D 0x4B3E 0x671B # +0x965E 0x4B3F 0x67D0 # +0x965F 0x4B40 0x68D2 # +0x9660 0x4B41 0x5192 # +0x9661 0x4B42 0x7D21 # +0x9662 0x4B43 0x80AA # +0x9663 0x4B44 0x81A8 # +0x9664 0x4B45 0x8B00 # +0x9665 0x4B46 0x8C8C # +0x9666 0x4B47 0x8CBF # +0x9667 0x4B48 0x927E # +0x9668 0x4B49 0x9632 # +0x9669 0x4B4A 0x5420 # +0x966A 0x4B4B 0x982C # +0x966B 0x4B4C 0x5317 # +0x966C 0x4B4D 0x50D5 # +0x966D 0x4B4E 0x535C # +0x966E 0x4B4F 0x58A8 # +0x966F 0x4B50 0x64B2 # +0x9670 0x4B51 0x6734 # +0x9671 0x4B52 0x7267 # +0x9672 0x4B53 0x7766 # +0x9673 0x4B54 0x7A46 # +0x9674 0x4B55 0x91E6 # +0x9675 0x4B56 0x52C3 # +0x9676 0x4B57 0x6CA1 # +0x9677 0x4B58 0x6B86 # +0x9678 0x4B59 0x5800 # +0x9679 0x4B5A 0x5E4C # +0x967A 0x4B5B 0x5954 # +0x967B 0x4B5C 0x672C # +0x967C 0x4B5D 0x7FFB # +0x967D 0x4B5E 0x51E1 # +0x967E 0x4B5F 0x76C6 # +0x9680 0x4B60 0x6469 # +0x9681 0x4B61 0x78E8 # +0x9682 0x4B62 0x9B54 # +0x9683 0x4B63 0x9EBB # +0x9684 0x4B64 0x57CB # +0x9685 0x4B65 0x59B9 # +0x9686 0x4B66 0x6627 # +0x9687 0x4B67 0x679A # +0x9688 0x4B68 0x6BCE # +0x9689 0x4B69 0x54E9 # +0x968A 0x4B6A 0x69D9 # +0x968B 0x4B6B 0x5E55 # +0x968C 0x4B6C 0x819C # +0x968D 0x4B6D 0x6795 # +0x968E 0x4B6E 0x9BAA # +0x968F 0x4B6F 0x67FE # +0x9690 0x4B70 0x9C52 # +0x9691 0x4B71 0x685D # +0x9692 0x4B72 0x4EA6 # +0x9693 0x4B73 0x4FE3 # +0x9694 0x4B74 0x53C8 # +0x9695 0x4B75 0x62B9 # +0x9696 0x4B76 0x672B # +0x9697 0x4B77 0x6CAB # +0x9698 0x4B78 0x8FC4 # +0x9699 0x4B79 0x4FAD # +0x969A 0x4B7A 0x7E6D # +0x969B 0x4B7B 0x9EBF # +0x969C 0x4B7C 0x4E07 # +0x969D 0x4B7D 0x6162 # +0x969E 0x4B7E 0x6E80 # +0x969F 0x4C21 0x6F2B # +0x96A0 0x4C22 0x8513 # +0x96A1 0x4C23 0x5473 # +0x96A2 0x4C24 0x672A # +0x96A3 0x4C25 0x9B45 # +0x96A4 0x4C26 0x5DF3 # +0x96A5 0x4C27 0x7B95 # +0x96A6 0x4C28 0x5CAC # +0x96A7 0x4C29 0x5BC6 # +0x96A8 0x4C2A 0x871C # +0x96A9 0x4C2B 0x6E4A # +0x96AA 0x4C2C 0x84D1 # +0x96AB 0x4C2D 0x7A14 # +0x96AC 0x4C2E 0x8108 # +0x96AD 0x4C2F 0x5999 # +0x96AE 0x4C30 0x7C8D # +0x96AF 0x4C31 0x6C11 # +0x96B0 0x4C32 0x7720 # +0x96B1 0x4C33 0x52D9 # +0x96B2 0x4C34 0x5922 # +0x96B3 0x4C35 0x7121 # +0x96B4 0x4C36 0x725F # +0x96B5 0x4C37 0x77DB # +0x96B6 0x4C38 0x9727 # +0x96B7 0x4C39 0x9D61 # +0x96B8 0x4C3A 0x690B # +0x96B9 0x4C3B 0x5A7F # +0x96BA 0x4C3C 0x5A18 # +0x96BB 0x4C3D 0x51A5 # +0x96BC 0x4C3E 0x540D # +0x96BD 0x4C3F 0x547D # +0x96BE 0x4C40 0x660E # +0x96BF 0x4C41 0x76DF # +0x96C0 0x4C42 0x8FF7 # +0x96C1 0x4C43 0x9298 # +0x96C2 0x4C44 0x9CF4 # +0x96C3 0x4C45 0x59EA # +0x96C4 0x4C46 0x725D # +0x96C5 0x4C47 0x6EC5 # +0x96C6 0x4C48 0x514D # +0x96C7 0x4C49 0x68C9 # +0x96C8 0x4C4A 0x7DBF # +0x96C9 0x4C4B 0x7DEC # +0x96CA 0x4C4C 0x9762 # +0x96CB 0x4C4D 0x9EBA # +0x96CC 0x4C4E 0x6478 # +0x96CD 0x4C4F 0x6A21 # +0x96CE 0x4C50 0x8302 # +0x96CF 0x4C51 0x5984 # +0x96D0 0x4C52 0x5B5F # +0x96D1 0x4C53 0x6BDB # +0x96D2 0x4C54 0x731B # +0x96D3 0x4C55 0x76F2 # +0x96D4 0x4C56 0x7DB2 # +0x96D5 0x4C57 0x8017 # +0x96D6 0x4C58 0x8499 # +0x96D7 0x4C59 0x5132 # +0x96D8 0x4C5A 0x6728 # +0x96D9 0x4C5B 0x9ED9 # +0x96DA 0x4C5C 0x76EE # +0x96DB 0x4C5D 0x6762 # +0x96DC 0x4C5E 0x52FF # +0x96DD 0x4C5F 0x9905 # +0x96DE 0x4C60 0x5C24 # +0x96DF 0x4C61 0x623B # +0x96E0 0x4C62 0x7C7E # +0x96E1 0x4C63 0x8CB0 # +0x96E2 0x4C64 0x554F # +0x96E3 0x4C65 0x60B6 # +0x96E4 0x4C66 0x7D0B # +0x96E5 0x4C67 0x9580 # +0x96E6 0x4C68 0x5301 # +0x96E7 0x4C69 0x4E5F # +0x96E8 0x4C6A 0x51B6 # +0x96E9 0x4C6B 0x591C # +0x96EA 0x4C6C 0x723A # +0x96EB 0x4C6D 0x8036 # +0x96EC 0x4C6E 0x91CE # +0x96ED 0x4C6F 0x5F25 # +0x96EE 0x4C70 0x77E2 # +0x96EF 0x4C71 0x5384 # +0x96F0 0x4C72 0x5F79 # +0x96F1 0x4C73 0x7D04 # +0x96F2 0x4C74 0x85AC # +0x96F3 0x4C75 0x8A33 # +0x96F4 0x4C76 0x8E8D # +0x96F5 0x4C77 0x9756 # +0x96F6 0x4C78 0x67F3 # +0x96F7 0x4C79 0x85AE # +0x96F8 0x4C7A 0x9453 # +0x96F9 0x4C7B 0x6109 # +0x96FA 0x4C7C 0x6108 # +0x96FB 0x4C7D 0x6CB9 # +0x96FC 0x4C7E 0x7652 # +0x9740 0x4D21 0x8AED # +0x9741 0x4D22 0x8F38 # +0x9742 0x4D23 0x552F # +0x9743 0x4D24 0x4F51 # +0x9744 0x4D25 0x512A # +0x9745 0x4D26 0x52C7 # +0x9746 0x4D27 0x53CB # +0x9747 0x4D28 0x5BA5 # +0x9748 0x4D29 0x5E7D # +0x9749 0x4D2A 0x60A0 # +0x974A 0x4D2B 0x6182 # +0x974B 0x4D2C 0x63D6 # +0x974C 0x4D2D 0x6709 # +0x974D 0x4D2E 0x67DA # +0x974E 0x4D2F 0x6E67 # +0x974F 0x4D30 0x6D8C # +0x9750 0x4D31 0x7336 # +0x9751 0x4D32 0x7337 # +0x9752 0x4D33 0x7531 # +0x9753 0x4D34 0x7950 # +0x9754 0x4D35 0x88D5 # +0x9755 0x4D36 0x8A98 # +0x9756 0x4D37 0x904A # +0x9757 0x4D38 0x9091 # +0x9758 0x4D39 0x90F5 # +0x9759 0x4D3A 0x96C4 # +0x975A 0x4D3B 0x878D # +0x975B 0x4D3C 0x5915 # +0x975C 0x4D3D 0x4E88 # +0x975D 0x4D3E 0x4F59 # +0x975E 0x4D3F 0x4E0E # +0x975F 0x4D40 0x8A89 # +0x9760 0x4D41 0x8F3F # +0x9761 0x4D42 0x9810 # +0x9762 0x4D43 0x50AD # +0x9763 0x4D44 0x5E7C # +0x9764 0x4D45 0x5996 # +0x9765 0x4D46 0x5BB9 # +0x9766 0x4D47 0x5EB8 # +0x9767 0x4D48 0x63DA # +0x9768 0x4D49 0x63FA # +0x9769 0x4D4A 0x64C1 # +0x976A 0x4D4B 0x66DC # +0x976B 0x4D4C 0x694A # +0x976C 0x4D4D 0x69D8 # +0x976D 0x4D4E 0x6D0B # +0x976E 0x4D4F 0x6EB6 # +0x976F 0x4D50 0x7194 # +0x9770 0x4D51 0x7528 # +0x9771 0x4D52 0x7AAF # +0x9772 0x4D53 0x7F8A # +0x9773 0x4D54 0x8000 # +0x9774 0x4D55 0x8449 # +0x9775 0x4D56 0x84C9 # +0x9776 0x4D57 0x8981 # +0x9777 0x4D58 0x8B21 # +0x9778 0x4D59 0x8E0A # +0x9779 0x4D5A 0x9065 # +0x977A 0x4D5B 0x967D # +0x977B 0x4D5C 0x990A # +0x977C 0x4D5D 0x617E # +0x977D 0x4D5E 0x6291 # +0x977E 0x4D5F 0x6B32 # +0x9780 0x4D60 0x6C83 # +0x9781 0x4D61 0x6D74 # +0x9782 0x4D62 0x7FCC # +0x9783 0x4D63 0x7FFC # +0x9784 0x4D64 0x6DC0 # +0x9785 0x4D65 0x7F85 # +0x9786 0x4D66 0x87BA # +0x9787 0x4D67 0x88F8 # +0x9788 0x4D68 0x6765 # +0x9789 0x4D69 0x83B1 # +0x978A 0x4D6A 0x983C # +0x978B 0x4D6B 0x96F7 # +0x978C 0x4D6C 0x6D1B # +0x978D 0x4D6D 0x7D61 # +0x978E 0x4D6E 0x843D # +0x978F 0x4D6F 0x916A # +0x9790 0x4D70 0x4E71 # +0x9791 0x4D71 0x5375 # +0x9792 0x4D72 0x5D50 # +0x9793 0x4D73 0x6B04 # +0x9794 0x4D74 0x6FEB # +0x9795 0x4D75 0x85CD # +0x9796 0x4D76 0x862D # +0x9797 0x4D77 0x89A7 # +0x9798 0x4D78 0x5229 # +0x9799 0x4D79 0x540F # +0x979A 0x4D7A 0x5C65 # +0x979B 0x4D7B 0x674E # +0x979C 0x4D7C 0x68A8 # +0x979D 0x4D7D 0x7406 # +0x979E 0x4D7E 0x7483 # +0x979F 0x4E21 0x75E2 # +0x97A0 0x4E22 0x88CF # +0x97A1 0x4E23 0x88E1 # +0x97A2 0x4E24 0x91CC # +0x97A3 0x4E25 0x96E2 # +0x97A4 0x4E26 0x9678 # +0x97A5 0x4E27 0x5F8B # +0x97A6 0x4E28 0x7387 # +0x97A7 0x4E29 0x7ACB # +0x97A8 0x4E2A 0x844E # +0x97A9 0x4E2B 0x63A0 # +0x97AA 0x4E2C 0x7565 # +0x97AB 0x4E2D 0x5289 # +0x97AC 0x4E2E 0x6D41 # +0x97AD 0x4E2F 0x6E9C # +0x97AE 0x4E30 0x7409 # +0x97AF 0x4E31 0x7559 # +0x97B0 0x4E32 0x786B # +0x97B1 0x4E33 0x7C92 # +0x97B2 0x4E34 0x9686 # +0x97B3 0x4E35 0x7ADC # +0x97B4 0x4E36 0x9F8D # +0x97B5 0x4E37 0x4FB6 # +0x97B6 0x4E38 0x616E # +0x97B7 0x4E39 0x65C5 # +0x97B8 0x4E3A 0x865C # +0x97B9 0x4E3B 0x4E86 # +0x97BA 0x4E3C 0x4EAE # +0x97BB 0x4E3D 0x50DA # +0x97BC 0x4E3E 0x4E21 # +0x97BD 0x4E3F 0x51CC # +0x97BE 0x4E40 0x5BEE # +0x97BF 0x4E41 0x6599 # +0x97C0 0x4E42 0x6881 # +0x97C1 0x4E43 0x6DBC # +0x97C2 0x4E44 0x731F # +0x97C3 0x4E45 0x7642 # +0x97C4 0x4E46 0x77AD # +0x97C5 0x4E47 0x7A1C # +0x97C6 0x4E48 0x7CE7 # +0x97C7 0x4E49 0x826F # +0x97C8 0x4E4A 0x8AD2 # +0x97C9 0x4E4B 0x907C # +0x97CA 0x4E4C 0x91CF # +0x97CB 0x4E4D 0x9675 # +0x97CC 0x4E4E 0x9818 # +0x97CD 0x4E4F 0x529B # +0x97CE 0x4E50 0x7DD1 # +0x97CF 0x4E51 0x502B # +0x97D0 0x4E52 0x5398 # +0x97D1 0x4E53 0x6797 # +0x97D2 0x4E54 0x6DCB # +0x97D3 0x4E55 0x71D0 # +0x97D4 0x4E56 0x7433 # +0x97D5 0x4E57 0x81E8 # +0x97D6 0x4E58 0x8F2A # +0x97D7 0x4E59 0x96A3 # +0x97D8 0x4E5A 0x9C57 # +0x97D9 0x4E5B 0x9E9F # +0x97DA 0x4E5C 0x7460 # +0x97DB 0x4E5D 0x5841 # +0x97DC 0x4E5E 0x6D99 # +0x97DD 0x4E5F 0x7D2F # +0x97DE 0x4E60 0x985E # +0x97DF 0x4E61 0x4EE4 # +0x97E0 0x4E62 0x4F36 # +0x97E1 0x4E63 0x4F8B # +0x97E2 0x4E64 0x51B7 # +0x97E3 0x4E65 0x52B1 # +0x97E4 0x4E66 0x5DBA # +0x97E5 0x4E67 0x601C # +0x97E6 0x4E68 0x73B2 # +0x97E7 0x4E69 0x793C # +0x97E8 0x4E6A 0x82D3 # +0x97E9 0x4E6B 0x9234 # +0x97EA 0x4E6C 0x96B7 # +0x97EB 0x4E6D 0x96F6 # +0x97EC 0x4E6E 0x970A # +0x97ED 0x4E6F 0x9E97 # +0x97EE 0x4E70 0x9F62 # +0x97EF 0x4E71 0x66A6 # +0x97F0 0x4E72 0x6B74 # +0x97F1 0x4E73 0x5217 # +0x97F2 0x4E74 0x52A3 # +0x97F3 0x4E75 0x70C8 # +0x97F4 0x4E76 0x88C2 # +0x97F5 0x4E77 0x5EC9 # +0x97F6 0x4E78 0x604B # +0x97F7 0x4E79 0x6190 # +0x97F8 0x4E7A 0x6F23 # +0x97F9 0x4E7B 0x7149 # +0x97FA 0x4E7C 0x7C3E # +0x97FB 0x4E7D 0x7DF4 # +0x97FC 0x4E7E 0x806F # +0x9840 0x4F21 0x84EE # +0x9841 0x4F22 0x9023 # +0x9842 0x4F23 0x932C # +0x9843 0x4F24 0x5442 # +0x9844 0x4F25 0x9B6F # +0x9845 0x4F26 0x6AD3 # +0x9846 0x4F27 0x7089 # +0x9847 0x4F28 0x8CC2 # +0x9848 0x4F29 0x8DEF # +0x9849 0x4F2A 0x9732 # +0x984A 0x4F2B 0x52B4 # +0x984B 0x4F2C 0x5A41 # +0x984C 0x4F2D 0x5ECA # +0x984D 0x4F2E 0x5F04 # +0x984E 0x4F2F 0x6717 # +0x984F 0x4F30 0x697C # +0x9850 0x4F31 0x6994 # +0x9851 0x4F32 0x6D6A # +0x9852 0x4F33 0x6F0F # +0x9853 0x4F34 0x7262 # +0x9854 0x4F35 0x72FC # +0x9855 0x4F36 0x7BED # +0x9856 0x4F37 0x8001 # +0x9857 0x4F38 0x807E # +0x9858 0x4F39 0x874B # +0x9859 0x4F3A 0x90CE # +0x985A 0x4F3B 0x516D # +0x985B 0x4F3C 0x9E93 # +0x985C 0x4F3D 0x7984 # +0x985D 0x4F3E 0x808B # +0x985E 0x4F3F 0x9332 # +0x985F 0x4F40 0x8AD6 # +0x9860 0x4F41 0x502D # +0x9861 0x4F42 0x548C # +0x9862 0x4F43 0x8A71 # +0x9863 0x4F44 0x6B6A # +0x9864 0x4F45 0x8CC4 # +0x9865 0x4F46 0x8107 # +0x9866 0x4F47 0x60D1 # +0x9867 0x4F48 0x67A0 # +0x9868 0x4F49 0x9DF2 # +0x9869 0x4F4A 0x4E99 # +0x986A 0x4F4B 0x4E98 # +0x986B 0x4F4C 0x9C10 # +0x986C 0x4F4D 0x8A6B # +0x986D 0x4F4E 0x85C1 # +0x986E 0x4F4F 0x8568 # +0x986F 0x4F50 0x6900 # +0x9870 0x4F51 0x6E7E # +0x9871 0x4F52 0x7897 # +0x9872 0x4F53 0x8155 # +0x989F 0x5021 0x5F0C # +0x98A0 0x5022 0x4E10 # +0x98A1 0x5023 0x4E15 # +0x98A2 0x5024 0x4E2A # +0x98A3 0x5025 0x4E31 # +0x98A4 0x5026 0x4E36 # +0x98A5 0x5027 0x4E3C # +0x98A6 0x5028 0x4E3F # +0x98A7 0x5029 0x4E42 # +0x98A8 0x502A 0x4E56 # +0x98A9 0x502B 0x4E58 # +0x98AA 0x502C 0x4E82 # +0x98AB 0x502D 0x4E85 # +0x98AC 0x502E 0x8C6B # +0x98AD 0x502F 0x4E8A # +0x98AE 0x5030 0x8212 # +0x98AF 0x5031 0x5F0D # +0x98B0 0x5032 0x4E8E # +0x98B1 0x5033 0x4E9E # +0x98B2 0x5034 0x4E9F # +0x98B3 0x5035 0x4EA0 # +0x98B4 0x5036 0x4EA2 # +0x98B5 0x5037 0x4EB0 # +0x98B6 0x5038 0x4EB3 # +0x98B7 0x5039 0x4EB6 # +0x98B8 0x503A 0x4ECE # +0x98B9 0x503B 0x4ECD # +0x98BA 0x503C 0x4EC4 # +0x98BB 0x503D 0x4EC6 # +0x98BC 0x503E 0x4EC2 # +0x98BD 0x503F 0x4ED7 # +0x98BE 0x5040 0x4EDE # +0x98BF 0x5041 0x4EED # +0x98C0 0x5042 0x4EDF # +0x98C1 0x5043 0x4EF7 # +0x98C2 0x5044 0x4F09 # +0x98C3 0x5045 0x4F5A # +0x98C4 0x5046 0x4F30 # +0x98C5 0x5047 0x4F5B # +0x98C6 0x5048 0x4F5D # +0x98C7 0x5049 0x4F57 # +0x98C8 0x504A 0x4F47 # +0x98C9 0x504B 0x4F76 # +0x98CA 0x504C 0x4F88 # +0x98CB 0x504D 0x4F8F # +0x98CC 0x504E 0x4F98 # +0x98CD 0x504F 0x4F7B # +0x98CE 0x5050 0x4F69 # +0x98CF 0x5051 0x4F70 # +0x98D0 0x5052 0x4F91 # +0x98D1 0x5053 0x4F6F # +0x98D2 0x5054 0x4F86 # +0x98D3 0x5055 0x4F96 # +0x98D4 0x5056 0x5118 # +0x98D5 0x5057 0x4FD4 # +0x98D6 0x5058 0x4FDF # +0x98D7 0x5059 0x4FCE # +0x98D8 0x505A 0x4FD8 # +0x98D9 0x505B 0x4FDB # +0x98DA 0x505C 0x4FD1 # +0x98DB 0x505D 0x4FDA # +0x98DC 0x505E 0x4FD0 # +0x98DD 0x505F 0x4FE4 # +0x98DE 0x5060 0x4FE5 # +0x98DF 0x5061 0x501A # +0x98E0 0x5062 0x5028 # +0x98E1 0x5063 0x5014 # +0x98E2 0x5064 0x502A # +0x98E3 0x5065 0x5025 # +0x98E4 0x5066 0x5005 # +0x98E5 0x5067 0x4F1C # +0x98E6 0x5068 0x4FF6 # +0x98E7 0x5069 0x5021 # +0x98E8 0x506A 0x5029 # +0x98E9 0x506B 0x502C # +0x98EA 0x506C 0x4FFE # +0x98EB 0x506D 0x4FEF # +0x98EC 0x506E 0x5011 # +0x98ED 0x506F 0x5006 # +0x98EE 0x5070 0x5043 # +0x98EF 0x5071 0x5047 # +0x98F0 0x5072 0x6703 # +0x98F1 0x5073 0x5055 # +0x98F2 0x5074 0x5050 # +0x98F3 0x5075 0x5048 # +0x98F4 0x5076 0x505A # +0x98F5 0x5077 0x5056 # +0x98F6 0x5078 0x506C # +0x98F7 0x5079 0x5078 # +0x98F8 0x507A 0x5080 # +0x98F9 0x507B 0x509A # +0x98FA 0x507C 0x5085 # +0x98FB 0x507D 0x50B4 # +0x98FC 0x507E 0x50B2 # +0x9940 0x5121 0x50C9 # +0x9941 0x5122 0x50CA # +0x9942 0x5123 0x50B3 # +0x9943 0x5124 0x50C2 # +0x9944 0x5125 0x50D6 # +0x9945 0x5126 0x50DE # +0x9946 0x5127 0x50E5 # +0x9947 0x5128 0x50ED # +0x9948 0x5129 0x50E3 # +0x9949 0x512A 0x50EE # +0x994A 0x512B 0x50F9 # +0x994B 0x512C 0x50F5 # +0x994C 0x512D 0x5109 # +0x994D 0x512E 0x5101 # +0x994E 0x512F 0x5102 # +0x994F 0x5130 0x5116 # +0x9950 0x5131 0x5115 # +0x9951 0x5132 0x5114 # +0x9952 0x5133 0x511A # +0x9953 0x5134 0x5121 # +0x9954 0x5135 0x513A # +0x9955 0x5136 0x5137 # +0x9956 0x5137 0x513C # +0x9957 0x5138 0x513B # +0x9958 0x5139 0x513F # +0x9959 0x513A 0x5140 # +0x995A 0x513B 0x5152 # +0x995B 0x513C 0x514C # +0x995C 0x513D 0x5154 # +0x995D 0x513E 0x5162 # +0x995E 0x513F 0x7AF8 # +0x995F 0x5140 0x5169 # +0x9960 0x5141 0x516A # +0x9961 0x5142 0x516E # +0x9962 0x5143 0x5180 # +0x9963 0x5144 0x5182 # +0x9964 0x5145 0x56D8 # +0x9965 0x5146 0x518C # +0x9966 0x5147 0x5189 # +0x9967 0x5148 0x518F # +0x9968 0x5149 0x5191 # +0x9969 0x514A 0x5193 # +0x996A 0x514B 0x5195 # +0x996B 0x514C 0x5196 # +0x996C 0x514D 0x51A4 # +0x996D 0x514E 0x51A6 # +0x996E 0x514F 0x51A2 # +0x996F 0x5150 0x51A9 # +0x9970 0x5151 0x51AA # +0x9971 0x5152 0x51AB # +0x9972 0x5153 0x51B3 # +0x9973 0x5154 0x51B1 # +0x9974 0x5155 0x51B2 # +0x9975 0x5156 0x51B0 # +0x9976 0x5157 0x51B5 # +0x9977 0x5158 0x51BD # +0x9978 0x5159 0x51C5 # +0x9979 0x515A 0x51C9 # +0x997A 0x515B 0x51DB # +0x997B 0x515C 0x51E0 # +0x997C 0x515D 0x8655 # +0x997D 0x515E 0x51E9 # +0x997E 0x515F 0x51ED # +0x9980 0x5160 0x51F0 # +0x9981 0x5161 0x51F5 # +0x9982 0x5162 0x51FE # +0x9983 0x5163 0x5204 # +0x9984 0x5164 0x520B # +0x9985 0x5165 0x5214 # +0x9986 0x5166 0x520E # +0x9987 0x5167 0x5227 # +0x9988 0x5168 0x522A # +0x9989 0x5169 0x522E # +0x998A 0x516A 0x5233 # +0x998B 0x516B 0x5239 # +0x998C 0x516C 0x524F # +0x998D 0x516D 0x5244 # +0x998E 0x516E 0x524B # +0x998F 0x516F 0x524C # +0x9990 0x5170 0x525E # +0x9991 0x5171 0x5254 # +0x9992 0x5172 0x526A # +0x9993 0x5173 0x5274 # +0x9994 0x5174 0x5269 # +0x9995 0x5175 0x5273 # +0x9996 0x5176 0x527F # +0x9997 0x5177 0x527D # +0x9998 0x5178 0x528D # +0x9999 0x5179 0x5294 # +0x999A 0x517A 0x5292 # +0x999B 0x517B 0x5271 # +0x999C 0x517C 0x5288 # +0x999D 0x517D 0x5291 # +0x999E 0x517E 0x8FA8 # +0x999F 0x5221 0x8FA7 # +0x99A0 0x5222 0x52AC # +0x99A1 0x5223 0x52AD # +0x99A2 0x5224 0x52BC # +0x99A3 0x5225 0x52B5 # +0x99A4 0x5226 0x52C1 # +0x99A5 0x5227 0x52CD # +0x99A6 0x5228 0x52D7 # +0x99A7 0x5229 0x52DE # +0x99A8 0x522A 0x52E3 # +0x99A9 0x522B 0x52E6 # +0x99AA 0x522C 0x98ED # +0x99AB 0x522D 0x52E0 # +0x99AC 0x522E 0x52F3 # +0x99AD 0x522F 0x52F5 # +0x99AE 0x5230 0x52F8 # +0x99AF 0x5231 0x52F9 # +0x99B0 0x5232 0x5306 # +0x99B1 0x5233 0x5308 # +0x99B2 0x5234 0x7538 # +0x99B3 0x5235 0x530D # +0x99B4 0x5236 0x5310 # +0x99B5 0x5237 0x530F # +0x99B6 0x5238 0x5315 # +0x99B7 0x5239 0x531A # +0x99B8 0x523A 0x5323 # +0x99B9 0x523B 0x532F # +0x99BA 0x523C 0x5331 # +0x99BB 0x523D 0x5333 # +0x99BC 0x523E 0x5338 # +0x99BD 0x523F 0x5340 # +0x99BE 0x5240 0x5346 # +0x99BF 0x5241 0x5345 # +0x99C0 0x5242 0x4E17 # +0x99C1 0x5243 0x5349 # +0x99C2 0x5244 0x534D # +0x99C3 0x5245 0x51D6 # +0x99C4 0x5246 0x535E # +0x99C5 0x5247 0x5369 # +0x99C6 0x5248 0x536E # +0x99C7 0x5249 0x5918 # +0x99C8 0x524A 0x537B # +0x99C9 0x524B 0x5377 # +0x99CA 0x524C 0x5382 # +0x99CB 0x524D 0x5396 # +0x99CC 0x524E 0x53A0 # +0x99CD 0x524F 0x53A6 # +0x99CE 0x5250 0x53A5 # +0x99CF 0x5251 0x53AE # +0x99D0 0x5252 0x53B0 # +0x99D1 0x5253 0x53B6 # +0x99D2 0x5254 0x53C3 # +0x99D3 0x5255 0x7C12 # +0x99D4 0x5256 0x96D9 # +0x99D5 0x5257 0x53DF # +0x99D6 0x5258 0x66FC # +0x99D7 0x5259 0x71EE # +0x99D8 0x525A 0x53EE # +0x99D9 0x525B 0x53E8 # +0x99DA 0x525C 0x53ED # +0x99DB 0x525D 0x53FA # +0x99DC 0x525E 0x5401 # +0x99DD 0x525F 0x543D # +0x99DE 0x5260 0x5440 # +0x99DF 0x5261 0x542C # +0x99E0 0x5262 0x542D # +0x99E1 0x5263 0x543C # +0x99E2 0x5264 0x542E # +0x99E3 0x5265 0x5436 # +0x99E4 0x5266 0x5429 # +0x99E5 0x5267 0x541D # +0x99E6 0x5268 0x544E # +0x99E7 0x5269 0x548F # +0x99E8 0x526A 0x5475 # +0x99E9 0x526B 0x548E # +0x99EA 0x526C 0x545F # +0x99EB 0x526D 0x5471 # +0x99EC 0x526E 0x5477 # +0x99ED 0x526F 0x5470 # +0x99EE 0x5270 0x5492 # +0x99EF 0x5271 0x547B # +0x99F0 0x5272 0x5480 # +0x99F1 0x5273 0x5476 # +0x99F2 0x5274 0x5484 # +0x99F3 0x5275 0x5490 # +0x99F4 0x5276 0x5486 # +0x99F5 0x5277 0x54C7 # +0x99F6 0x5278 0x54A2 # +0x99F7 0x5279 0x54B8 # +0x99F8 0x527A 0x54A5 # +0x99F9 0x527B 0x54AC # +0x99FA 0x527C 0x54C4 # +0x99FB 0x527D 0x54C8 # +0x99FC 0x527E 0x54A8 # +0x9A40 0x5321 0x54AB # +0x9A41 0x5322 0x54C2 # +0x9A42 0x5323 0x54A4 # +0x9A43 0x5324 0x54BE # +0x9A44 0x5325 0x54BC # +0x9A45 0x5326 0x54D8 # +0x9A46 0x5327 0x54E5 # +0x9A47 0x5328 0x54E6 # +0x9A48 0x5329 0x550F # +0x9A49 0x532A 0x5514 # +0x9A4A 0x532B 0x54FD # +0x9A4B 0x532C 0x54EE # +0x9A4C 0x532D 0x54ED # +0x9A4D 0x532E 0x54FA # +0x9A4E 0x532F 0x54E2 # +0x9A4F 0x5330 0x5539 # +0x9A50 0x5331 0x5540 # +0x9A51 0x5332 0x5563 # +0x9A52 0x5333 0x554C # +0x9A53 0x5334 0x552E # +0x9A54 0x5335 0x555C # +0x9A55 0x5336 0x5545 # +0x9A56 0x5337 0x5556 # +0x9A57 0x5338 0x5557 # +0x9A58 0x5339 0x5538 # +0x9A59 0x533A 0x5533 # +0x9A5A 0x533B 0x555D # +0x9A5B 0x533C 0x5599 # +0x9A5C 0x533D 0x5580 # +0x9A5D 0x533E 0x54AF # +0x9A5E 0x533F 0x558A # +0x9A5F 0x5340 0x559F # +0x9A60 0x5341 0x557B # +0x9A61 0x5342 0x557E # +0x9A62 0x5343 0x5598 # +0x9A63 0x5344 0x559E # +0x9A64 0x5345 0x55AE # +0x9A65 0x5346 0x557C # +0x9A66 0x5347 0x5583 # +0x9A67 0x5348 0x55A9 # +0x9A68 0x5349 0x5587 # +0x9A69 0x534A 0x55A8 # +0x9A6A 0x534B 0x55DA # +0x9A6B 0x534C 0x55C5 # +0x9A6C 0x534D 0x55DF # +0x9A6D 0x534E 0x55C4 # +0x9A6E 0x534F 0x55DC # +0x9A6F 0x5350 0x55E4 # +0x9A70 0x5351 0x55D4 # +0x9A71 0x5352 0x5614 # +0x9A72 0x5353 0x55F7 # +0x9A73 0x5354 0x5616 # +0x9A74 0x5355 0x55FE # +0x9A75 0x5356 0x55FD # +0x9A76 0x5357 0x561B # +0x9A77 0x5358 0x55F9 # +0x9A78 0x5359 0x564E # +0x9A79 0x535A 0x5650 # +0x9A7A 0x535B 0x71DF # +0x9A7B 0x535C 0x5634 # +0x9A7C 0x535D 0x5636 # +0x9A7D 0x535E 0x5632 # +0x9A7E 0x535F 0x5638 # +0x9A80 0x5360 0x566B # +0x9A81 0x5361 0x5664 # +0x9A82 0x5362 0x562F # +0x9A83 0x5363 0x566C # +0x9A84 0x5364 0x566A # +0x9A85 0x5365 0x5686 # +0x9A86 0x5366 0x5680 # +0x9A87 0x5367 0x568A # +0x9A88 0x5368 0x56A0 # +0x9A89 0x5369 0x5694 # +0x9A8A 0x536A 0x568F # +0x9A8B 0x536B 0x56A5 # +0x9A8C 0x536C 0x56AE # +0x9A8D 0x536D 0x56B6 # +0x9A8E 0x536E 0x56B4 # +0x9A8F 0x536F 0x56C2 # +0x9A90 0x5370 0x56BC # +0x9A91 0x5371 0x56C1 # +0x9A92 0x5372 0x56C3 # +0x9A93 0x5373 0x56C0 # +0x9A94 0x5374 0x56C8 # +0x9A95 0x5375 0x56CE # +0x9A96 0x5376 0x56D1 # +0x9A97 0x5377 0x56D3 # +0x9A98 0x5378 0x56D7 # +0x9A99 0x5379 0x56EE # +0x9A9A 0x537A 0x56F9 # +0x9A9B 0x537B 0x5700 # +0x9A9C 0x537C 0x56FF # +0x9A9D 0x537D 0x5704 # +0x9A9E 0x537E 0x5709 # +0x9A9F 0x5421 0x5708 # +0x9AA0 0x5422 0x570B # +0x9AA1 0x5423 0x570D # +0x9AA2 0x5424 0x5713 # +0x9AA3 0x5425 0x5718 # +0x9AA4 0x5426 0x5716 # +0x9AA5 0x5427 0x55C7 # +0x9AA6 0x5428 0x571C # +0x9AA7 0x5429 0x5726 # +0x9AA8 0x542A 0x5737 # +0x9AA9 0x542B 0x5738 # +0x9AAA 0x542C 0x574E # +0x9AAB 0x542D 0x573B # +0x9AAC 0x542E 0x5740 # +0x9AAD 0x542F 0x574F # +0x9AAE 0x5430 0x5769 # +0x9AAF 0x5431 0x57C0 # +0x9AB0 0x5432 0x5788 # +0x9AB1 0x5433 0x5761 # +0x9AB2 0x5434 0x577F # +0x9AB3 0x5435 0x5789 # +0x9AB4 0x5436 0x5793 # +0x9AB5 0x5437 0x57A0 # +0x9AB6 0x5438 0x57B3 # +0x9AB7 0x5439 0x57A4 # +0x9AB8 0x543A 0x57AA # +0x9AB9 0x543B 0x57B0 # +0x9ABA 0x543C 0x57C3 # +0x9ABB 0x543D 0x57C6 # +0x9ABC 0x543E 0x57D4 # +0x9ABD 0x543F 0x57D2 # +0x9ABE 0x5440 0x57D3 # +0x9ABF 0x5441 0x580A # +0x9AC0 0x5442 0x57D6 # +0x9AC1 0x5443 0x57E3 # +0x9AC2 0x5444 0x580B # +0x9AC3 0x5445 0x5819 # +0x9AC4 0x5446 0x581D # +0x9AC5 0x5447 0x5872 # +0x9AC6 0x5448 0x5821 # +0x9AC7 0x5449 0x5862 # +0x9AC8 0x544A 0x584B # +0x9AC9 0x544B 0x5870 # +0x9ACA 0x544C 0x6BC0 # +0x9ACB 0x544D 0x5852 # +0x9ACC 0x544E 0x583D # +0x9ACD 0x544F 0x5879 # +0x9ACE 0x5450 0x5885 # +0x9ACF 0x5451 0x58B9 # +0x9AD0 0x5452 0x589F # +0x9AD1 0x5453 0x58AB # +0x9AD2 0x5454 0x58BA # +0x9AD3 0x5455 0x58DE # +0x9AD4 0x5456 0x58BB # +0x9AD5 0x5457 0x58B8 # +0x9AD6 0x5458 0x58AE # +0x9AD7 0x5459 0x58C5 # +0x9AD8 0x545A 0x58D3 # +0x9AD9 0x545B 0x58D1 # +0x9ADA 0x545C 0x58D7 # +0x9ADB 0x545D 0x58D9 # +0x9ADC 0x545E 0x58D8 # +0x9ADD 0x545F 0x58E5 # +0x9ADE 0x5460 0x58DC # +0x9ADF 0x5461 0x58E4 # +0x9AE0 0x5462 0x58DF # +0x9AE1 0x5463 0x58EF # +0x9AE2 0x5464 0x58FA # +0x9AE3 0x5465 0x58F9 # +0x9AE4 0x5466 0x58FB # +0x9AE5 0x5467 0x58FC # +0x9AE6 0x5468 0x58FD # +0x9AE7 0x5469 0x5902 # +0x9AE8 0x546A 0x590A # +0x9AE9 0x546B 0x5910 # +0x9AEA 0x546C 0x591B # +0x9AEB 0x546D 0x68A6 # +0x9AEC 0x546E 0x5925 # +0x9AED 0x546F 0x592C # +0x9AEE 0x5470 0x592D # +0x9AEF 0x5471 0x5932 # +0x9AF0 0x5472 0x5938 # +0x9AF1 0x5473 0x593E # +0x9AF2 0x5474 0x7AD2 # +0x9AF3 0x5475 0x5955 # +0x9AF4 0x5476 0x5950 # +0x9AF5 0x5477 0x594E # +0x9AF6 0x5478 0x595A # +0x9AF7 0x5479 0x5958 # +0x9AF8 0x547A 0x5962 # +0x9AF9 0x547B 0x5960 # +0x9AFA 0x547C 0x5967 # +0x9AFB 0x547D 0x596C # +0x9AFC 0x547E 0x5969 # +0x9B40 0x5521 0x5978 # +0x9B41 0x5522 0x5981 # +0x9B42 0x5523 0x599D # +0x9B43 0x5524 0x4F5E # +0x9B44 0x5525 0x4FAB # +0x9B45 0x5526 0x59A3 # +0x9B46 0x5527 0x59B2 # +0x9B47 0x5528 0x59C6 # +0x9B48 0x5529 0x59E8 # +0x9B49 0x552A 0x59DC # +0x9B4A 0x552B 0x598D # +0x9B4B 0x552C 0x59D9 # +0x9B4C 0x552D 0x59DA # +0x9B4D 0x552E 0x5A25 # +0x9B4E 0x552F 0x5A1F # +0x9B4F 0x5530 0x5A11 # +0x9B50 0x5531 0x5A1C # +0x9B51 0x5532 0x5A09 # +0x9B52 0x5533 0x5A1A # +0x9B53 0x5534 0x5A40 # +0x9B54 0x5535 0x5A6C # +0x9B55 0x5536 0x5A49 # +0x9B56 0x5537 0x5A35 # +0x9B57 0x5538 0x5A36 # +0x9B58 0x5539 0x5A62 # +0x9B59 0x553A 0x5A6A # +0x9B5A 0x553B 0x5A9A # +0x9B5B 0x553C 0x5ABC # +0x9B5C 0x553D 0x5ABE # +0x9B5D 0x553E 0x5ACB # +0x9B5E 0x553F 0x5AC2 # +0x9B5F 0x5540 0x5ABD # +0x9B60 0x5541 0x5AE3 # +0x9B61 0x5542 0x5AD7 # +0x9B62 0x5543 0x5AE6 # +0x9B63 0x5544 0x5AE9 # +0x9B64 0x5545 0x5AD6 # +0x9B65 0x5546 0x5AFA # +0x9B66 0x5547 0x5AFB # +0x9B67 0x5548 0x5B0C # +0x9B68 0x5549 0x5B0B # +0x9B69 0x554A 0x5B16 # +0x9B6A 0x554B 0x5B32 # +0x9B6B 0x554C 0x5AD0 # +0x9B6C 0x554D 0x5B2A # +0x9B6D 0x554E 0x5B36 # +0x9B6E 0x554F 0x5B3E # +0x9B6F 0x5550 0x5B43 # +0x9B70 0x5551 0x5B45 # +0x9B71 0x5552 0x5B40 # +0x9B72 0x5553 0x5B51 # +0x9B73 0x5554 0x5B55 # +0x9B74 0x5555 0x5B5A # +0x9B75 0x5556 0x5B5B # +0x9B76 0x5557 0x5B65 # +0x9B77 0x5558 0x5B69 # +0x9B78 0x5559 0x5B70 # +0x9B79 0x555A 0x5B73 # +0x9B7A 0x555B 0x5B75 # +0x9B7B 0x555C 0x5B78 # +0x9B7C 0x555D 0x6588 # +0x9B7D 0x555E 0x5B7A # +0x9B7E 0x555F 0x5B80 # +0x9B80 0x5560 0x5B83 # +0x9B81 0x5561 0x5BA6 # +0x9B82 0x5562 0x5BB8 # +0x9B83 0x5563 0x5BC3 # +0x9B84 0x5564 0x5BC7 # +0x9B85 0x5565 0x5BC9 # +0x9B86 0x5566 0x5BD4 # +0x9B87 0x5567 0x5BD0 # +0x9B88 0x5568 0x5BE4 # +0x9B89 0x5569 0x5BE6 # +0x9B8A 0x556A 0x5BE2 # +0x9B8B 0x556B 0x5BDE # +0x9B8C 0x556C 0x5BE5 # +0x9B8D 0x556D 0x5BEB # +0x9B8E 0x556E 0x5BF0 # +0x9B8F 0x556F 0x5BF6 # +0x9B90 0x5570 0x5BF3 # +0x9B91 0x5571 0x5C05 # +0x9B92 0x5572 0x5C07 # +0x9B93 0x5573 0x5C08 # +0x9B94 0x5574 0x5C0D # +0x9B95 0x5575 0x5C13 # +0x9B96 0x5576 0x5C20 # +0x9B97 0x5577 0x5C22 # +0x9B98 0x5578 0x5C28 # +0x9B99 0x5579 0x5C38 # +0x9B9A 0x557A 0x5C39 # +0x9B9B 0x557B 0x5C41 # +0x9B9C 0x557C 0x5C46 # +0x9B9D 0x557D 0x5C4E # +0x9B9E 0x557E 0x5C53 # +0x9B9F 0x5621 0x5C50 # +0x9BA0 0x5622 0x5C4F # +0x9BA1 0x5623 0x5B71 # +0x9BA2 0x5624 0x5C6C # +0x9BA3 0x5625 0x5C6E # +0x9BA4 0x5626 0x4E62 # +0x9BA5 0x5627 0x5C76 # +0x9BA6 0x5628 0x5C79 # +0x9BA7 0x5629 0x5C8C # +0x9BA8 0x562A 0x5C91 # +0x9BA9 0x562B 0x5C94 # +0x9BAA 0x562C 0x599B # +0x9BAB 0x562D 0x5CAB # +0x9BAC 0x562E 0x5CBB # +0x9BAD 0x562F 0x5CB6 # +0x9BAE 0x5630 0x5CBC # +0x9BAF 0x5631 0x5CB7 # +0x9BB0 0x5632 0x5CC5 # +0x9BB1 0x5633 0x5CBE # +0x9BB2 0x5634 0x5CC7 # +0x9BB3 0x5635 0x5CD9 # +0x9BB4 0x5636 0x5CE9 # +0x9BB5 0x5637 0x5CFD # +0x9BB6 0x5638 0x5CFA # +0x9BB7 0x5639 0x5CED # +0x9BB8 0x563A 0x5D8C # +0x9BB9 0x563B 0x5CEA # +0x9BBA 0x563C 0x5D0B # +0x9BBB 0x563D 0x5D15 # +0x9BBC 0x563E 0x5D17 # +0x9BBD 0x563F 0x5D5C # +0x9BBE 0x5640 0x5D1F # +0x9BBF 0x5641 0x5D1B # +0x9BC0 0x5642 0x5D11 # +0x9BC1 0x5643 0x5D14 # +0x9BC2 0x5644 0x5D22 # +0x9BC3 0x5645 0x5D1A # +0x9BC4 0x5646 0x5D19 # +0x9BC5 0x5647 0x5D18 # +0x9BC6 0x5648 0x5D4C # +0x9BC7 0x5649 0x5D52 # +0x9BC8 0x564A 0x5D4E # +0x9BC9 0x564B 0x5D4B # +0x9BCA 0x564C 0x5D6C # +0x9BCB 0x564D 0x5D73 # +0x9BCC 0x564E 0x5D76 # +0x9BCD 0x564F 0x5D87 # +0x9BCE 0x5650 0x5D84 # +0x9BCF 0x5651 0x5D82 # +0x9BD0 0x5652 0x5DA2 # +0x9BD1 0x5653 0x5D9D # +0x9BD2 0x5654 0x5DAC # +0x9BD3 0x5655 0x5DAE # +0x9BD4 0x5656 0x5DBD # +0x9BD5 0x5657 0x5D90 # +0x9BD6 0x5658 0x5DB7 # +0x9BD7 0x5659 0x5DBC # +0x9BD8 0x565A 0x5DC9 # +0x9BD9 0x565B 0x5DCD # +0x9BDA 0x565C 0x5DD3 # +0x9BDB 0x565D 0x5DD2 # +0x9BDC 0x565E 0x5DD6 # +0x9BDD 0x565F 0x5DDB # +0x9BDE 0x5660 0x5DEB # +0x9BDF 0x5661 0x5DF2 # +0x9BE0 0x5662 0x5DF5 # +0x9BE1 0x5663 0x5E0B # +0x9BE2 0x5664 0x5E1A # +0x9BE3 0x5665 0x5E19 # +0x9BE4 0x5666 0x5E11 # +0x9BE5 0x5667 0x5E1B # +0x9BE6 0x5668 0x5E36 # +0x9BE7 0x5669 0x5E37 # +0x9BE8 0x566A 0x5E44 # +0x9BE9 0x566B 0x5E43 # +0x9BEA 0x566C 0x5E40 # +0x9BEB 0x566D 0x5E4E # +0x9BEC 0x566E 0x5E57 # +0x9BED 0x566F 0x5E54 # +0x9BEE 0x5670 0x5E5F # +0x9BEF 0x5671 0x5E62 # +0x9BF0 0x5672 0x5E64 # +0x9BF1 0x5673 0x5E47 # +0x9BF2 0x5674 0x5E75 # +0x9BF3 0x5675 0x5E76 # +0x9BF4 0x5676 0x5E7A # +0x9BF5 0x5677 0x9EBC # +0x9BF6 0x5678 0x5E7F # +0x9BF7 0x5679 0x5EA0 # +0x9BF8 0x567A 0x5EC1 # +0x9BF9 0x567B 0x5EC2 # +0x9BFA 0x567C 0x5EC8 # +0x9BFB 0x567D 0x5ED0 # +0x9BFC 0x567E 0x5ECF # +0x9C40 0x5721 0x5ED6 # +0x9C41 0x5722 0x5EE3 # +0x9C42 0x5723 0x5EDD # +0x9C43 0x5724 0x5EDA # +0x9C44 0x5725 0x5EDB # +0x9C45 0x5726 0x5EE2 # +0x9C46 0x5727 0x5EE1 # +0x9C47 0x5728 0x5EE8 # +0x9C48 0x5729 0x5EE9 # +0x9C49 0x572A 0x5EEC # +0x9C4A 0x572B 0x5EF1 # +0x9C4B 0x572C 0x5EF3 # +0x9C4C 0x572D 0x5EF0 # +0x9C4D 0x572E 0x5EF4 # +0x9C4E 0x572F 0x5EF8 # +0x9C4F 0x5730 0x5EFE # +0x9C50 0x5731 0x5F03 # +0x9C51 0x5732 0x5F09 # +0x9C52 0x5733 0x5F5D # +0x9C53 0x5734 0x5F5C # +0x9C54 0x5735 0x5F0B # +0x9C55 0x5736 0x5F11 # +0x9C56 0x5737 0x5F16 # +0x9C57 0x5738 0x5F29 # +0x9C58 0x5739 0x5F2D # +0x9C59 0x573A 0x5F38 # +0x9C5A 0x573B 0x5F41 # +0x9C5B 0x573C 0x5F48 # +0x9C5C 0x573D 0x5F4C # +0x9C5D 0x573E 0x5F4E # +0x9C5E 0x573F 0x5F2F # +0x9C5F 0x5740 0x5F51 # +0x9C60 0x5741 0x5F56 # +0x9C61 0x5742 0x5F57 # +0x9C62 0x5743 0x5F59 # +0x9C63 0x5744 0x5F61 # +0x9C64 0x5745 0x5F6D # +0x9C65 0x5746 0x5F73 # +0x9C66 0x5747 0x5F77 # +0x9C67 0x5748 0x5F83 # +0x9C68 0x5749 0x5F82 # +0x9C69 0x574A 0x5F7F # +0x9C6A 0x574B 0x5F8A # +0x9C6B 0x574C 0x5F88 # +0x9C6C 0x574D 0x5F91 # +0x9C6D 0x574E 0x5F87 # +0x9C6E 0x574F 0x5F9E # +0x9C6F 0x5750 0x5F99 # +0x9C70 0x5751 0x5F98 # +0x9C71 0x5752 0x5FA0 # +0x9C72 0x5753 0x5FA8 # +0x9C73 0x5754 0x5FAD # +0x9C74 0x5755 0x5FBC # +0x9C75 0x5756 0x5FD6 # +0x9C76 0x5757 0x5FFB # +0x9C77 0x5758 0x5FE4 # +0x9C78 0x5759 0x5FF8 # +0x9C79 0x575A 0x5FF1 # +0x9C7A 0x575B 0x5FDD # +0x9C7B 0x575C 0x60B3 # +0x9C7C 0x575D 0x5FFF # +0x9C7D 0x575E 0x6021 # +0x9C7E 0x575F 0x6060 # +0x9C80 0x5760 0x6019 # +0x9C81 0x5761 0x6010 # +0x9C82 0x5762 0x6029 # +0x9C83 0x5763 0x600E # +0x9C84 0x5764 0x6031 # +0x9C85 0x5765 0x601B # +0x9C86 0x5766 0x6015 # +0x9C87 0x5767 0x602B # +0x9C88 0x5768 0x6026 # +0x9C89 0x5769 0x600F # +0x9C8A 0x576A 0x603A # +0x9C8B 0x576B 0x605A # +0x9C8C 0x576C 0x6041 # +0x9C8D 0x576D 0x606A # +0x9C8E 0x576E 0x6077 # +0x9C8F 0x576F 0x605F # +0x9C90 0x5770 0x604A # +0x9C91 0x5771 0x6046 # +0x9C92 0x5772 0x604D # +0x9C93 0x5773 0x6063 # +0x9C94 0x5774 0x6043 # +0x9C95 0x5775 0x6064 # +0x9C96 0x5776 0x6042 # +0x9C97 0x5777 0x606C # +0x9C98 0x5778 0x606B # +0x9C99 0x5779 0x6059 # +0x9C9A 0x577A 0x6081 # +0x9C9B 0x577B 0x608D # +0x9C9C 0x577C 0x60E7 # +0x9C9D 0x577D 0x6083 # +0x9C9E 0x577E 0x609A # +0x9C9F 0x5821 0x6084 # +0x9CA0 0x5822 0x609B # +0x9CA1 0x5823 0x6096 # +0x9CA2 0x5824 0x6097 # +0x9CA3 0x5825 0x6092 # +0x9CA4 0x5826 0x60A7 # +0x9CA5 0x5827 0x608B # +0x9CA6 0x5828 0x60E1 # +0x9CA7 0x5829 0x60B8 # +0x9CA8 0x582A 0x60E0 # +0x9CA9 0x582B 0x60D3 # +0x9CAA 0x582C 0x60B4 # +0x9CAB 0x582D 0x5FF0 # +0x9CAC 0x582E 0x60BD # +0x9CAD 0x582F 0x60C6 # +0x9CAE 0x5830 0x60B5 # +0x9CAF 0x5831 0x60D8 # +0x9CB0 0x5832 0x614D # +0x9CB1 0x5833 0x6115 # +0x9CB2 0x5834 0x6106 # +0x9CB3 0x5835 0x60F6 # +0x9CB4 0x5836 0x60F7 # +0x9CB5 0x5837 0x6100 # +0x9CB6 0x5838 0x60F4 # +0x9CB7 0x5839 0x60FA # +0x9CB8 0x583A 0x6103 # +0x9CB9 0x583B 0x6121 # +0x9CBA 0x583C 0x60FB # +0x9CBB 0x583D 0x60F1 # +0x9CBC 0x583E 0x610D # +0x9CBD 0x583F 0x610E # +0x9CBE 0x5840 0x6147 # +0x9CBF 0x5841 0x613E # +0x9CC0 0x5842 0x6128 # +0x9CC1 0x5843 0x6127 # +0x9CC2 0x5844 0x614A # +0x9CC3 0x5845 0x613F # +0x9CC4 0x5846 0x613C # +0x9CC5 0x5847 0x612C # +0x9CC6 0x5848 0x6134 # +0x9CC7 0x5849 0x613D # +0x9CC8 0x584A 0x6142 # +0x9CC9 0x584B 0x6144 # +0x9CCA 0x584C 0x6173 # +0x9CCB 0x584D 0x6177 # +0x9CCC 0x584E 0x6158 # +0x9CCD 0x584F 0x6159 # +0x9CCE 0x5850 0x615A # +0x9CCF 0x5851 0x616B # +0x9CD0 0x5852 0x6174 # +0x9CD1 0x5853 0x616F # +0x9CD2 0x5854 0x6165 # +0x9CD3 0x5855 0x6171 # +0x9CD4 0x5856 0x615F # +0x9CD5 0x5857 0x615D # +0x9CD6 0x5858 0x6153 # +0x9CD7 0x5859 0x6175 # +0x9CD8 0x585A 0x6199 # +0x9CD9 0x585B 0x6196 # +0x9CDA 0x585C 0x6187 # +0x9CDB 0x585D 0x61AC # +0x9CDC 0x585E 0x6194 # +0x9CDD 0x585F 0x619A # +0x9CDE 0x5860 0x618A # +0x9CDF 0x5861 0x6191 # +0x9CE0 0x5862 0x61AB # +0x9CE1 0x5863 0x61AE # +0x9CE2 0x5864 0x61CC # +0x9CE3 0x5865 0x61CA # +0x9CE4 0x5866 0x61C9 # +0x9CE5 0x5867 0x61F7 # +0x9CE6 0x5868 0x61C8 # +0x9CE7 0x5869 0x61C3 # +0x9CE8 0x586A 0x61C6 # +0x9CE9 0x586B 0x61BA # +0x9CEA 0x586C 0x61CB # +0x9CEB 0x586D 0x7F79 # +0x9CEC 0x586E 0x61CD # +0x9CED 0x586F 0x61E6 # +0x9CEE 0x5870 0x61E3 # +0x9CEF 0x5871 0x61F6 # +0x9CF0 0x5872 0x61FA # +0x9CF1 0x5873 0x61F4 # +0x9CF2 0x5874 0x61FF # +0x9CF3 0x5875 0x61FD # +0x9CF4 0x5876 0x61FC # +0x9CF5 0x5877 0x61FE # +0x9CF6 0x5878 0x6200 # +0x9CF7 0x5879 0x6208 # +0x9CF8 0x587A 0x6209 # +0x9CF9 0x587B 0x620D # +0x9CFA 0x587C 0x620C # +0x9CFB 0x587D 0x6214 # +0x9CFC 0x587E 0x621B # +0x9D40 0x5921 0x621E # +0x9D41 0x5922 0x6221 # +0x9D42 0x5923 0x622A # +0x9D43 0x5924 0x622E # +0x9D44 0x5925 0x6230 # +0x9D45 0x5926 0x6232 # +0x9D46 0x5927 0x6233 # +0x9D47 0x5928 0x6241 # +0x9D48 0x5929 0x624E # +0x9D49 0x592A 0x625E # +0x9D4A 0x592B 0x6263 # +0x9D4B 0x592C 0x625B # +0x9D4C 0x592D 0x6260 # +0x9D4D 0x592E 0x6268 # +0x9D4E 0x592F 0x627C # +0x9D4F 0x5930 0x6282 # +0x9D50 0x5931 0x6289 # +0x9D51 0x5932 0x627E # +0x9D52 0x5933 0x6292 # +0x9D53 0x5934 0x6293 # +0x9D54 0x5935 0x6296 # +0x9D55 0x5936 0x62D4 # +0x9D56 0x5937 0x6283 # +0x9D57 0x5938 0x6294 # +0x9D58 0x5939 0x62D7 # +0x9D59 0x593A 0x62D1 # +0x9D5A 0x593B 0x62BB # +0x9D5B 0x593C 0x62CF # +0x9D5C 0x593D 0x62FF # +0x9D5D 0x593E 0x62C6 # +0x9D5E 0x593F 0x64D4 # +0x9D5F 0x5940 0x62C8 # +0x9D60 0x5941 0x62DC # +0x9D61 0x5942 0x62CC # +0x9D62 0x5943 0x62CA # +0x9D63 0x5944 0x62C2 # +0x9D64 0x5945 0x62C7 # +0x9D65 0x5946 0x629B # +0x9D66 0x5947 0x62C9 # +0x9D67 0x5948 0x630C # +0x9D68 0x5949 0x62EE # +0x9D69 0x594A 0x62F1 # +0x9D6A 0x594B 0x6327 # +0x9D6B 0x594C 0x6302 # +0x9D6C 0x594D 0x6308 # +0x9D6D 0x594E 0x62EF # +0x9D6E 0x594F 0x62F5 # +0x9D6F 0x5950 0x6350 # +0x9D70 0x5951 0x633E # +0x9D71 0x5952 0x634D # +0x9D72 0x5953 0x641C # +0x9D73 0x5954 0x634F # +0x9D74 0x5955 0x6396 # +0x9D75 0x5956 0x638E # +0x9D76 0x5957 0x6380 # +0x9D77 0x5958 0x63AB # +0x9D78 0x5959 0x6376 # +0x9D79 0x595A 0x63A3 # +0x9D7A 0x595B 0x638F # +0x9D7B 0x595C 0x6389 # +0x9D7C 0x595D 0x639F # +0x9D7D 0x595E 0x63B5 # +0x9D7E 0x595F 0x636B # +0x9D80 0x5960 0x6369 # +0x9D81 0x5961 0x63BE # +0x9D82 0x5962 0x63E9 # +0x9D83 0x5963 0x63C0 # +0x9D84 0x5964 0x63C6 # +0x9D85 0x5965 0x63E3 # +0x9D86 0x5966 0x63C9 # +0x9D87 0x5967 0x63D2 # +0x9D88 0x5968 0x63F6 # +0x9D89 0x5969 0x63C4 # +0x9D8A 0x596A 0x6416 # +0x9D8B 0x596B 0x6434 # +0x9D8C 0x596C 0x6406 # +0x9D8D 0x596D 0x6413 # +0x9D8E 0x596E 0x6426 # +0x9D8F 0x596F 0x6436 # +0x9D90 0x5970 0x651D # +0x9D91 0x5971 0x6417 # +0x9D92 0x5972 0x6428 # +0x9D93 0x5973 0x640F # +0x9D94 0x5974 0x6467 # +0x9D95 0x5975 0x646F # +0x9D96 0x5976 0x6476 # +0x9D97 0x5977 0x644E # +0x9D98 0x5978 0x652A # +0x9D99 0x5979 0x6495 # +0x9D9A 0x597A 0x6493 # +0x9D9B 0x597B 0x64A5 # +0x9D9C 0x597C 0x64A9 # +0x9D9D 0x597D 0x6488 # +0x9D9E 0x597E 0x64BC # +0x9D9F 0x5A21 0x64DA # +0x9DA0 0x5A22 0x64D2 # +0x9DA1 0x5A23 0x64C5 # +0x9DA2 0x5A24 0x64C7 # +0x9DA3 0x5A25 0x64BB # +0x9DA4 0x5A26 0x64D8 # +0x9DA5 0x5A27 0x64C2 # +0x9DA6 0x5A28 0x64F1 # +0x9DA7 0x5A29 0x64E7 # +0x9DA8 0x5A2A 0x8209 # +0x9DA9 0x5A2B 0x64E0 # +0x9DAA 0x5A2C 0x64E1 # +0x9DAB 0x5A2D 0x62AC # +0x9DAC 0x5A2E 0x64E3 # +0x9DAD 0x5A2F 0x64EF # +0x9DAE 0x5A30 0x652C # +0x9DAF 0x5A31 0x64F6 # +0x9DB0 0x5A32 0x64F4 # +0x9DB1 0x5A33 0x64F2 # +0x9DB2 0x5A34 0x64FA # +0x9DB3 0x5A35 0x6500 # +0x9DB4 0x5A36 0x64FD # +0x9DB5 0x5A37 0x6518 # +0x9DB6 0x5A38 0x651C # +0x9DB7 0x5A39 0x6505 # +0x9DB8 0x5A3A 0x6524 # +0x9DB9 0x5A3B 0x6523 # +0x9DBA 0x5A3C 0x652B # +0x9DBB 0x5A3D 0x6534 # +0x9DBC 0x5A3E 0x6535 # +0x9DBD 0x5A3F 0x6537 # +0x9DBE 0x5A40 0x6536 # +0x9DBF 0x5A41 0x6538 # +0x9DC0 0x5A42 0x754B # +0x9DC1 0x5A43 0x6548 # +0x9DC2 0x5A44 0x6556 # +0x9DC3 0x5A45 0x6555 # +0x9DC4 0x5A46 0x654D # +0x9DC5 0x5A47 0x6558 # +0x9DC6 0x5A48 0x655E # +0x9DC7 0x5A49 0x655D # +0x9DC8 0x5A4A 0x6572 # +0x9DC9 0x5A4B 0x6578 # +0x9DCA 0x5A4C 0x6582 # +0x9DCB 0x5A4D 0x6583 # +0x9DCC 0x5A4E 0x8B8A # +0x9DCD 0x5A4F 0x659B # +0x9DCE 0x5A50 0x659F # +0x9DCF 0x5A51 0x65AB # +0x9DD0 0x5A52 0x65B7 # +0x9DD1 0x5A53 0x65C3 # +0x9DD2 0x5A54 0x65C6 # +0x9DD3 0x5A55 0x65C1 # +0x9DD4 0x5A56 0x65C4 # +0x9DD5 0x5A57 0x65CC # +0x9DD6 0x5A58 0x65D2 # +0x9DD7 0x5A59 0x65DB # +0x9DD8 0x5A5A 0x65D9 # +0x9DD9 0x5A5B 0x65E0 # +0x9DDA 0x5A5C 0x65E1 # +0x9DDB 0x5A5D 0x65F1 # +0x9DDC 0x5A5E 0x6772 # +0x9DDD 0x5A5F 0x660A # +0x9DDE 0x5A60 0x6603 # +0x9DDF 0x5A61 0x65FB # +0x9DE0 0x5A62 0x6773 # +0x9DE1 0x5A63 0x6635 # +0x9DE2 0x5A64 0x6636 # +0x9DE3 0x5A65 0x6634 # +0x9DE4 0x5A66 0x661C # +0x9DE5 0x5A67 0x664F # +0x9DE6 0x5A68 0x6644 # +0x9DE7 0x5A69 0x6649 # +0x9DE8 0x5A6A 0x6641 # +0x9DE9 0x5A6B 0x665E # +0x9DEA 0x5A6C 0x665D # +0x9DEB 0x5A6D 0x6664 # +0x9DEC 0x5A6E 0x6667 # +0x9DED 0x5A6F 0x6668 # +0x9DEE 0x5A70 0x665F # +0x9DEF 0x5A71 0x6662 # +0x9DF0 0x5A72 0x6670 # +0x9DF1 0x5A73 0x6683 # +0x9DF2 0x5A74 0x6688 # +0x9DF3 0x5A75 0x668E # +0x9DF4 0x5A76 0x6689 # +0x9DF5 0x5A77 0x6684 # +0x9DF6 0x5A78 0x6698 # +0x9DF7 0x5A79 0x669D # +0x9DF8 0x5A7A 0x66C1 # +0x9DF9 0x5A7B 0x66B9 # +0x9DFA 0x5A7C 0x66C9 # +0x9DFB 0x5A7D 0x66BE # +0x9DFC 0x5A7E 0x66BC # +0x9E40 0x5B21 0x66C4 # +0x9E41 0x5B22 0x66B8 # +0x9E42 0x5B23 0x66D6 # +0x9E43 0x5B24 0x66DA # +0x9E44 0x5B25 0x66E0 # +0x9E45 0x5B26 0x663F # +0x9E46 0x5B27 0x66E6 # +0x9E47 0x5B28 0x66E9 # +0x9E48 0x5B29 0x66F0 # +0x9E49 0x5B2A 0x66F5 # +0x9E4A 0x5B2B 0x66F7 # +0x9E4B 0x5B2C 0x670F # +0x9E4C 0x5B2D 0x6716 # +0x9E4D 0x5B2E 0x671E # +0x9E4E 0x5B2F 0x6726 # +0x9E4F 0x5B30 0x6727 # +0x9E50 0x5B31 0x9738 # +0x9E51 0x5B32 0x672E # +0x9E52 0x5B33 0x673F # +0x9E53 0x5B34 0x6736 # +0x9E54 0x5B35 0x6741 # +0x9E55 0x5B36 0x6738 # +0x9E56 0x5B37 0x6737 # +0x9E57 0x5B38 0x6746 # +0x9E58 0x5B39 0x675E # +0x9E59 0x5B3A 0x6760 # +0x9E5A 0x5B3B 0x6759 # +0x9E5B 0x5B3C 0x6763 # +0x9E5C 0x5B3D 0x6764 # +0x9E5D 0x5B3E 0x6789 # +0x9E5E 0x5B3F 0x6770 # +0x9E5F 0x5B40 0x67A9 # +0x9E60 0x5B41 0x677C # +0x9E61 0x5B42 0x676A # +0x9E62 0x5B43 0x678C # +0x9E63 0x5B44 0x678B # +0x9E64 0x5B45 0x67A6 # +0x9E65 0x5B46 0x67A1 # +0x9E66 0x5B47 0x6785 # +0x9E67 0x5B48 0x67B7 # +0x9E68 0x5B49 0x67EF # +0x9E69 0x5B4A 0x67B4 # +0x9E6A 0x5B4B 0x67EC # +0x9E6B 0x5B4C 0x67B3 # +0x9E6C 0x5B4D 0x67E9 # +0x9E6D 0x5B4E 0x67B8 # +0x9E6E 0x5B4F 0x67E4 # +0x9E6F 0x5B50 0x67DE # +0x9E70 0x5B51 0x67DD # +0x9E71 0x5B52 0x67E2 # +0x9E72 0x5B53 0x67EE # +0x9E73 0x5B54 0x67B9 # +0x9E74 0x5B55 0x67CE # +0x9E75 0x5B56 0x67C6 # +0x9E76 0x5B57 0x67E7 # +0x9E77 0x5B58 0x6A9C # +0x9E78 0x5B59 0x681E # +0x9E79 0x5B5A 0x6846 # +0x9E7A 0x5B5B 0x6829 # +0x9E7B 0x5B5C 0x6840 # +0x9E7C 0x5B5D 0x684D # +0x9E7D 0x5B5E 0x6832 # +0x9E7E 0x5B5F 0x684E # +0x9E80 0x5B60 0x68B3 # +0x9E81 0x5B61 0x682B # +0x9E82 0x5B62 0x6859 # +0x9E83 0x5B63 0x6863 # +0x9E84 0x5B64 0x6877 # +0x9E85 0x5B65 0x687F # +0x9E86 0x5B66 0x689F # +0x9E87 0x5B67 0x688F # +0x9E88 0x5B68 0x68AD # +0x9E89 0x5B69 0x6894 # +0x9E8A 0x5B6A 0x689D # +0x9E8B 0x5B6B 0x689B # +0x9E8C 0x5B6C 0x6883 # +0x9E8D 0x5B6D 0x6AAE # +0x9E8E 0x5B6E 0x68B9 # +0x9E8F 0x5B6F 0x6874 # +0x9E90 0x5B70 0x68B5 # +0x9E91 0x5B71 0x68A0 # +0x9E92 0x5B72 0x68BA # +0x9E93 0x5B73 0x690F # +0x9E94 0x5B74 0x688D # +0x9E95 0x5B75 0x687E # +0x9E96 0x5B76 0x6901 # +0x9E97 0x5B77 0x68CA # +0x9E98 0x5B78 0x6908 # +0x9E99 0x5B79 0x68D8 # +0x9E9A 0x5B7A 0x6922 # +0x9E9B 0x5B7B 0x6926 # +0x9E9C 0x5B7C 0x68E1 # +0x9E9D 0x5B7D 0x690C # +0x9E9E 0x5B7E 0x68CD # +0x9E9F 0x5C21 0x68D4 # +0x9EA0 0x5C22 0x68E7 # +0x9EA1 0x5C23 0x68D5 # +0x9EA2 0x5C24 0x6936 # +0x9EA3 0x5C25 0x6912 # +0x9EA4 0x5C26 0x6904 # +0x9EA5 0x5C27 0x68D7 # +0x9EA6 0x5C28 0x68E3 # +0x9EA7 0x5C29 0x6925 # +0x9EA8 0x5C2A 0x68F9 # +0x9EA9 0x5C2B 0x68E0 # +0x9EAA 0x5C2C 0x68EF # +0x9EAB 0x5C2D 0x6928 # +0x9EAC 0x5C2E 0x692A # +0x9EAD 0x5C2F 0x691A # +0x9EAE 0x5C30 0x6923 # +0x9EAF 0x5C31 0x6921 # +0x9EB0 0x5C32 0x68C6 # +0x9EB1 0x5C33 0x6979 # +0x9EB2 0x5C34 0x6977 # +0x9EB3 0x5C35 0x695C # +0x9EB4 0x5C36 0x6978 # +0x9EB5 0x5C37 0x696B # +0x9EB6 0x5C38 0x6954 # +0x9EB7 0x5C39 0x697E # +0x9EB8 0x5C3A 0x696E # +0x9EB9 0x5C3B 0x6939 # +0x9EBA 0x5C3C 0x6974 # +0x9EBB 0x5C3D 0x693D # +0x9EBC 0x5C3E 0x6959 # +0x9EBD 0x5C3F 0x6930 # +0x9EBE 0x5C40 0x6961 # +0x9EBF 0x5C41 0x695E # +0x9EC0 0x5C42 0x695D # +0x9EC1 0x5C43 0x6981 # +0x9EC2 0x5C44 0x696A # +0x9EC3 0x5C45 0x69B2 # +0x9EC4 0x5C46 0x69AE # +0x9EC5 0x5C47 0x69D0 # +0x9EC6 0x5C48 0x69BF # +0x9EC7 0x5C49 0x69C1 # +0x9EC8 0x5C4A 0x69D3 # +0x9EC9 0x5C4B 0x69BE # +0x9ECA 0x5C4C 0x69CE # +0x9ECB 0x5C4D 0x5BE8 # +0x9ECC 0x5C4E 0x69CA # +0x9ECD 0x5C4F 0x69DD # +0x9ECE 0x5C50 0x69BB # +0x9ECF 0x5C51 0x69C3 # +0x9ED0 0x5C52 0x69A7 # +0x9ED1 0x5C53 0x6A2E # +0x9ED2 0x5C54 0x6991 # +0x9ED3 0x5C55 0x69A0 # +0x9ED4 0x5C56 0x699C # +0x9ED5 0x5C57 0x6995 # +0x9ED6 0x5C58 0x69B4 # +0x9ED7 0x5C59 0x69DE # +0x9ED8 0x5C5A 0x69E8 # +0x9ED9 0x5C5B 0x6A02 # +0x9EDA 0x5C5C 0x6A1B # +0x9EDB 0x5C5D 0x69FF # +0x9EDC 0x5C5E 0x6B0A # +0x9EDD 0x5C5F 0x69F9 # +0x9EDE 0x5C60 0x69F2 # +0x9EDF 0x5C61 0x69E7 # +0x9EE0 0x5C62 0x6A05 # +0x9EE1 0x5C63 0x69B1 # +0x9EE2 0x5C64 0x6A1E # +0x9EE3 0x5C65 0x69ED # +0x9EE4 0x5C66 0x6A14 # +0x9EE5 0x5C67 0x69EB # +0x9EE6 0x5C68 0x6A0A # +0x9EE7 0x5C69 0x6A12 # +0x9EE8 0x5C6A 0x6AC1 # +0x9EE9 0x5C6B 0x6A23 # +0x9EEA 0x5C6C 0x6A13 # +0x9EEB 0x5C6D 0x6A44 # +0x9EEC 0x5C6E 0x6A0C # +0x9EED 0x5C6F 0x6A72 # +0x9EEE 0x5C70 0x6A36 # +0x9EEF 0x5C71 0x6A78 # +0x9EF0 0x5C72 0x6A47 # +0x9EF1 0x5C73 0x6A62 # +0x9EF2 0x5C74 0x6A59 # +0x9EF3 0x5C75 0x6A66 # +0x9EF4 0x5C76 0x6A48 # +0x9EF5 0x5C77 0x6A38 # +0x9EF6 0x5C78 0x6A22 # +0x9EF7 0x5C79 0x6A90 # +0x9EF8 0x5C7A 0x6A8D # +0x9EF9 0x5C7B 0x6AA0 # +0x9EFA 0x5C7C 0x6A84 # +0x9EFB 0x5C7D 0x6AA2 # +0x9EFC 0x5C7E 0x6AA3 # +0x9F40 0x5D21 0x6A97 # +0x9F41 0x5D22 0x8617 # +0x9F42 0x5D23 0x6ABB # +0x9F43 0x5D24 0x6AC3 # +0x9F44 0x5D25 0x6AC2 # +0x9F45 0x5D26 0x6AB8 # +0x9F46 0x5D27 0x6AB3 # +0x9F47 0x5D28 0x6AAC # +0x9F48 0x5D29 0x6ADE # +0x9F49 0x5D2A 0x6AD1 # +0x9F4A 0x5D2B 0x6ADF # +0x9F4B 0x5D2C 0x6AAA # +0x9F4C 0x5D2D 0x6ADA # +0x9F4D 0x5D2E 0x6AEA # +0x9F4E 0x5D2F 0x6AFB # +0x9F4F 0x5D30 0x6B05 # +0x9F50 0x5D31 0x8616 # +0x9F51 0x5D32 0x6AFA # +0x9F52 0x5D33 0x6B12 # +0x9F53 0x5D34 0x6B16 # +0x9F54 0x5D35 0x9B31 # +0x9F55 0x5D36 0x6B1F # +0x9F56 0x5D37 0x6B38 # +0x9F57 0x5D38 0x6B37 # +0x9F58 0x5D39 0x76DC # +0x9F59 0x5D3A 0x6B39 # +0x9F5A 0x5D3B 0x98EE # +0x9F5B 0x5D3C 0x6B47 # +0x9F5C 0x5D3D 0x6B43 # +0x9F5D 0x5D3E 0x6B49 # +0x9F5E 0x5D3F 0x6B50 # +0x9F5F 0x5D40 0x6B59 # +0x9F60 0x5D41 0x6B54 # +0x9F61 0x5D42 0x6B5B # +0x9F62 0x5D43 0x6B5F # +0x9F63 0x5D44 0x6B61 # +0x9F64 0x5D45 0x6B78 # +0x9F65 0x5D46 0x6B79 # +0x9F66 0x5D47 0x6B7F # +0x9F67 0x5D48 0x6B80 # +0x9F68 0x5D49 0x6B84 # +0x9F69 0x5D4A 0x6B83 # +0x9F6A 0x5D4B 0x6B8D # +0x9F6B 0x5D4C 0x6B98 # +0x9F6C 0x5D4D 0x6B95 # +0x9F6D 0x5D4E 0x6B9E # +0x9F6E 0x5D4F 0x6BA4 # +0x9F6F 0x5D50 0x6BAA # +0x9F70 0x5D51 0x6BAB # +0x9F71 0x5D52 0x6BAF # +0x9F72 0x5D53 0x6BB2 # +0x9F73 0x5D54 0x6BB1 # +0x9F74 0x5D55 0x6BB3 # +0x9F75 0x5D56 0x6BB7 # +0x9F76 0x5D57 0x6BBC # +0x9F77 0x5D58 0x6BC6 # +0x9F78 0x5D59 0x6BCB # +0x9F79 0x5D5A 0x6BD3 # +0x9F7A 0x5D5B 0x6BDF # +0x9F7B 0x5D5C 0x6BEC # +0x9F7C 0x5D5D 0x6BEB # +0x9F7D 0x5D5E 0x6BF3 # +0x9F7E 0x5D5F 0x6BEF # +0x9F80 0x5D60 0x9EBE # +0x9F81 0x5D61 0x6C08 # +0x9F82 0x5D62 0x6C13 # +0x9F83 0x5D63 0x6C14 # +0x9F84 0x5D64 0x6C1B # +0x9F85 0x5D65 0x6C24 # +0x9F86 0x5D66 0x6C23 # +0x9F87 0x5D67 0x6C5E # +0x9F88 0x5D68 0x6C55 # +0x9F89 0x5D69 0x6C62 # +0x9F8A 0x5D6A 0x6C6A # +0x9F8B 0x5D6B 0x6C82 # +0x9F8C 0x5D6C 0x6C8D # +0x9F8D 0x5D6D 0x6C9A # +0x9F8E 0x5D6E 0x6C81 # +0x9F8F 0x5D6F 0x6C9B # +0x9F90 0x5D70 0x6C7E # +0x9F91 0x5D71 0x6C68 # +0x9F92 0x5D72 0x6C73 # +0x9F93 0x5D73 0x6C92 # +0x9F94 0x5D74 0x6C90 # +0x9F95 0x5D75 0x6CC4 # +0x9F96 0x5D76 0x6CF1 # +0x9F97 0x5D77 0x6CD3 # +0x9F98 0x5D78 0x6CBD # +0x9F99 0x5D79 0x6CD7 # +0x9F9A 0x5D7A 0x6CC5 # +0x9F9B 0x5D7B 0x6CDD # +0x9F9C 0x5D7C 0x6CAE # +0x9F9D 0x5D7D 0x6CB1 # +0x9F9E 0x5D7E 0x6CBE # +0x9F9F 0x5E21 0x6CBA # +0x9FA0 0x5E22 0x6CDB # +0x9FA1 0x5E23 0x6CEF # +0x9FA2 0x5E24 0x6CD9 # +0x9FA3 0x5E25 0x6CEA # +0x9FA4 0x5E26 0x6D1F # +0x9FA5 0x5E27 0x884D # +0x9FA6 0x5E28 0x6D36 # +0x9FA7 0x5E29 0x6D2B # +0x9FA8 0x5E2A 0x6D3D # +0x9FA9 0x5E2B 0x6D38 # +0x9FAA 0x5E2C 0x6D19 # +0x9FAB 0x5E2D 0x6D35 # +0x9FAC 0x5E2E 0x6D33 # +0x9FAD 0x5E2F 0x6D12 # +0x9FAE 0x5E30 0x6D0C # +0x9FAF 0x5E31 0x6D63 # +0x9FB0 0x5E32 0x6D93 # +0x9FB1 0x5E33 0x6D64 # +0x9FB2 0x5E34 0x6D5A # +0x9FB3 0x5E35 0x6D79 # +0x9FB4 0x5E36 0x6D59 # +0x9FB5 0x5E37 0x6D8E # +0x9FB6 0x5E38 0x6D95 # +0x9FB7 0x5E39 0x6FE4 # +0x9FB8 0x5E3A 0x6D85 # +0x9FB9 0x5E3B 0x6DF9 # +0x9FBA 0x5E3C 0x6E15 # +0x9FBB 0x5E3D 0x6E0A # +0x9FBC 0x5E3E 0x6DB5 # +0x9FBD 0x5E3F 0x6DC7 # +0x9FBE 0x5E40 0x6DE6 # +0x9FBF 0x5E41 0x6DB8 # +0x9FC0 0x5E42 0x6DC6 # +0x9FC1 0x5E43 0x6DEC # +0x9FC2 0x5E44 0x6DDE # +0x9FC3 0x5E45 0x6DCC # +0x9FC4 0x5E46 0x6DE8 # +0x9FC5 0x5E47 0x6DD2 # +0x9FC6 0x5E48 0x6DC5 # +0x9FC7 0x5E49 0x6DFA # +0x9FC8 0x5E4A 0x6DD9 # +0x9FC9 0x5E4B 0x6DE4 # +0x9FCA 0x5E4C 0x6DD5 # +0x9FCB 0x5E4D 0x6DEA # +0x9FCC 0x5E4E 0x6DEE # +0x9FCD 0x5E4F 0x6E2D # +0x9FCE 0x5E50 0x6E6E # +0x9FCF 0x5E51 0x6E2E # +0x9FD0 0x5E52 0x6E19 # +0x9FD1 0x5E53 0x6E72 # +0x9FD2 0x5E54 0x6E5F # +0x9FD3 0x5E55 0x6E3E # +0x9FD4 0x5E56 0x6E23 # +0x9FD5 0x5E57 0x6E6B # +0x9FD6 0x5E58 0x6E2B # +0x9FD7 0x5E59 0x6E76 # +0x9FD8 0x5E5A 0x6E4D # +0x9FD9 0x5E5B 0x6E1F # +0x9FDA 0x5E5C 0x6E43 # +0x9FDB 0x5E5D 0x6E3A # +0x9FDC 0x5E5E 0x6E4E # +0x9FDD 0x5E5F 0x6E24 # +0x9FDE 0x5E60 0x6EFF # +0x9FDF 0x5E61 0x6E1D # +0x9FE0 0x5E62 0x6E38 # +0x9FE1 0x5E63 0x6E82 # +0x9FE2 0x5E64 0x6EAA # +0x9FE3 0x5E65 0x6E98 # +0x9FE4 0x5E66 0x6EC9 # +0x9FE5 0x5E67 0x6EB7 # +0x9FE6 0x5E68 0x6ED3 # +0x9FE7 0x5E69 0x6EBD # +0x9FE8 0x5E6A 0x6EAF # +0x9FE9 0x5E6B 0x6EC4 # +0x9FEA 0x5E6C 0x6EB2 # +0x9FEB 0x5E6D 0x6ED4 # +0x9FEC 0x5E6E 0x6ED5 # +0x9FED 0x5E6F 0x6E8F # +0x9FEE 0x5E70 0x6EA5 # +0x9FEF 0x5E71 0x6EC2 # +0x9FF0 0x5E72 0x6E9F # +0x9FF1 0x5E73 0x6F41 # +0x9FF2 0x5E74 0x6F11 # +0x9FF3 0x5E75 0x704C # +0x9FF4 0x5E76 0x6EEC # +0x9FF5 0x5E77 0x6EF8 # +0x9FF6 0x5E78 0x6EFE # +0x9FF7 0x5E79 0x6F3F # +0x9FF8 0x5E7A 0x6EF2 # +0x9FF9 0x5E7B 0x6F31 # +0x9FFA 0x5E7C 0x6EEF # +0x9FFB 0x5E7D 0x6F32 # +0x9FFC 0x5E7E 0x6ECC # +0xE040 0x5F21 0x6F3E # +0xE041 0x5F22 0x6F13 # +0xE042 0x5F23 0x6EF7 # +0xE043 0x5F24 0x6F86 # +0xE044 0x5F25 0x6F7A # +0xE045 0x5F26 0x6F78 # +0xE046 0x5F27 0x6F81 # +0xE047 0x5F28 0x6F80 # +0xE048 0x5F29 0x6F6F # +0xE049 0x5F2A 0x6F5B # +0xE04A 0x5F2B 0x6FF3 # +0xE04B 0x5F2C 0x6F6D # +0xE04C 0x5F2D 0x6F82 # +0xE04D 0x5F2E 0x6F7C # +0xE04E 0x5F2F 0x6F58 # +0xE04F 0x5F30 0x6F8E # +0xE050 0x5F31 0x6F91 # +0xE051 0x5F32 0x6FC2 # +0xE052 0x5F33 0x6F66 # +0xE053 0x5F34 0x6FB3 # +0xE054 0x5F35 0x6FA3 # +0xE055 0x5F36 0x6FA1 # +0xE056 0x5F37 0x6FA4 # +0xE057 0x5F38 0x6FB9 # +0xE058 0x5F39 0x6FC6 # +0xE059 0x5F3A 0x6FAA # +0xE05A 0x5F3B 0x6FDF # +0xE05B 0x5F3C 0x6FD5 # +0xE05C 0x5F3D 0x6FEC # +0xE05D 0x5F3E 0x6FD4 # +0xE05E 0x5F3F 0x6FD8 # +0xE05F 0x5F40 0x6FF1 # +0xE060 0x5F41 0x6FEE # +0xE061 0x5F42 0x6FDB # +0xE062 0x5F43 0x7009 # +0xE063 0x5F44 0x700B # +0xE064 0x5F45 0x6FFA # +0xE065 0x5F46 0x7011 # +0xE066 0x5F47 0x7001 # +0xE067 0x5F48 0x700F # +0xE068 0x5F49 0x6FFE # +0xE069 0x5F4A 0x701B # +0xE06A 0x5F4B 0x701A # +0xE06B 0x5F4C 0x6F74 # +0xE06C 0x5F4D 0x701D # +0xE06D 0x5F4E 0x7018 # +0xE06E 0x5F4F 0x701F # +0xE06F 0x5F50 0x7030 # +0xE070 0x5F51 0x703E # +0xE071 0x5F52 0x7032 # +0xE072 0x5F53 0x7051 # +0xE073 0x5F54 0x7063 # +0xE074 0x5F55 0x7099 # +0xE075 0x5F56 0x7092 # +0xE076 0x5F57 0x70AF # +0xE077 0x5F58 0x70F1 # +0xE078 0x5F59 0x70AC # +0xE079 0x5F5A 0x70B8 # +0xE07A 0x5F5B 0x70B3 # +0xE07B 0x5F5C 0x70AE # +0xE07C 0x5F5D 0x70DF # +0xE07D 0x5F5E 0x70CB # +0xE07E 0x5F5F 0x70DD # +0xE080 0x5F60 0x70D9 # +0xE081 0x5F61 0x7109 # +0xE082 0x5F62 0x70FD # +0xE083 0x5F63 0x711C # +0xE084 0x5F64 0x7119 # +0xE085 0x5F65 0x7165 # +0xE086 0x5F66 0x7155 # +0xE087 0x5F67 0x7188 # +0xE088 0x5F68 0x7166 # +0xE089 0x5F69 0x7162 # +0xE08A 0x5F6A 0x714C # +0xE08B 0x5F6B 0x7156 # +0xE08C 0x5F6C 0x716C # +0xE08D 0x5F6D 0x718F # +0xE08E 0x5F6E 0x71FB # +0xE08F 0x5F6F 0x7184 # +0xE090 0x5F70 0x7195 # +0xE091 0x5F71 0x71A8 # +0xE092 0x5F72 0x71AC # +0xE093 0x5F73 0x71D7 # +0xE094 0x5F74 0x71B9 # +0xE095 0x5F75 0x71BE # +0xE096 0x5F76 0x71D2 # +0xE097 0x5F77 0x71C9 # +0xE098 0x5F78 0x71D4 # +0xE099 0x5F79 0x71CE # +0xE09A 0x5F7A 0x71E0 # +0xE09B 0x5F7B 0x71EC # +0xE09C 0x5F7C 0x71E7 # +0xE09D 0x5F7D 0x71F5 # +0xE09E 0x5F7E 0x71FC # +0xE09F 0x6021 0x71F9 # +0xE0A0 0x6022 0x71FF # +0xE0A1 0x6023 0x720D # +0xE0A2 0x6024 0x7210 # +0xE0A3 0x6025 0x721B # +0xE0A4 0x6026 0x7228 # +0xE0A5 0x6027 0x722D # +0xE0A6 0x6028 0x722C # +0xE0A7 0x6029 0x7230 # +0xE0A8 0x602A 0x7232 # +0xE0A9 0x602B 0x723B # +0xE0AA 0x602C 0x723C # +0xE0AB 0x602D 0x723F # +0xE0AC 0x602E 0x7240 # +0xE0AD 0x602F 0x7246 # +0xE0AE 0x6030 0x724B # +0xE0AF 0x6031 0x7258 # +0xE0B0 0x6032 0x7274 # +0xE0B1 0x6033 0x727E # +0xE0B2 0x6034 0x7282 # +0xE0B3 0x6035 0x7281 # +0xE0B4 0x6036 0x7287 # +0xE0B5 0x6037 0x7292 # +0xE0B6 0x6038 0x7296 # +0xE0B7 0x6039 0x72A2 # +0xE0B8 0x603A 0x72A7 # +0xE0B9 0x603B 0x72B9 # +0xE0BA 0x603C 0x72B2 # +0xE0BB 0x603D 0x72C3 # +0xE0BC 0x603E 0x72C6 # +0xE0BD 0x603F 0x72C4 # +0xE0BE 0x6040 0x72CE # +0xE0BF 0x6041 0x72D2 # +0xE0C0 0x6042 0x72E2 # +0xE0C1 0x6043 0x72E0 # +0xE0C2 0x6044 0x72E1 # +0xE0C3 0x6045 0x72F9 # +0xE0C4 0x6046 0x72F7 # +0xE0C5 0x6047 0x500F # +0xE0C6 0x6048 0x7317 # +0xE0C7 0x6049 0x730A # +0xE0C8 0x604A 0x731C # +0xE0C9 0x604B 0x7316 # +0xE0CA 0x604C 0x731D # +0xE0CB 0x604D 0x7334 # +0xE0CC 0x604E 0x732F # +0xE0CD 0x604F 0x7329 # +0xE0CE 0x6050 0x7325 # +0xE0CF 0x6051 0x733E # +0xE0D0 0x6052 0x734E # +0xE0D1 0x6053 0x734F # +0xE0D2 0x6054 0x9ED8 # +0xE0D3 0x6055 0x7357 # +0xE0D4 0x6056 0x736A # +0xE0D5 0x6057 0x7368 # +0xE0D6 0x6058 0x7370 # +0xE0D7 0x6059 0x7378 # +0xE0D8 0x605A 0x7375 # +0xE0D9 0x605B 0x737B # +0xE0DA 0x605C 0x737A # +0xE0DB 0x605D 0x73C8 # +0xE0DC 0x605E 0x73B3 # +0xE0DD 0x605F 0x73CE # +0xE0DE 0x6060 0x73BB # +0xE0DF 0x6061 0x73C0 # +0xE0E0 0x6062 0x73E5 # +0xE0E1 0x6063 0x73EE # +0xE0E2 0x6064 0x73DE # +0xE0E3 0x6065 0x74A2 # +0xE0E4 0x6066 0x7405 # +0xE0E5 0x6067 0x746F # +0xE0E6 0x6068 0x7425 # +0xE0E7 0x6069 0x73F8 # +0xE0E8 0x606A 0x7432 # +0xE0E9 0x606B 0x743A # +0xE0EA 0x606C 0x7455 # +0xE0EB 0x606D 0x743F # +0xE0EC 0x606E 0x745F # +0xE0ED 0x606F 0x7459 # +0xE0EE 0x6070 0x7441 # +0xE0EF 0x6071 0x745C # +0xE0F0 0x6072 0x7469 # +0xE0F1 0x6073 0x7470 # +0xE0F2 0x6074 0x7463 # +0xE0F3 0x6075 0x746A # +0xE0F4 0x6076 0x7476 # +0xE0F5 0x6077 0x747E # +0xE0F6 0x6078 0x748B # +0xE0F7 0x6079 0x749E # +0xE0F8 0x607A 0x74A7 # +0xE0F9 0x607B 0x74CA # +0xE0FA 0x607C 0x74CF # +0xE0FB 0x607D 0x74D4 # +0xE0FC 0x607E 0x73F1 # +0xE140 0x6121 0x74E0 # +0xE141 0x6122 0x74E3 # +0xE142 0x6123 0x74E7 # +0xE143 0x6124 0x74E9 # +0xE144 0x6125 0x74EE # +0xE145 0x6126 0x74F2 # +0xE146 0x6127 0x74F0 # +0xE147 0x6128 0x74F1 # +0xE148 0x6129 0x74F8 # +0xE149 0x612A 0x74F7 # +0xE14A 0x612B 0x7504 # +0xE14B 0x612C 0x7503 # +0xE14C 0x612D 0x7505 # +0xE14D 0x612E 0x750C # +0xE14E 0x612F 0x750E # +0xE14F 0x6130 0x750D # +0xE150 0x6131 0x7515 # +0xE151 0x6132 0x7513 # +0xE152 0x6133 0x751E # +0xE153 0x6134 0x7526 # +0xE154 0x6135 0x752C # +0xE155 0x6136 0x753C # +0xE156 0x6137 0x7544 # +0xE157 0x6138 0x754D # +0xE158 0x6139 0x754A # +0xE159 0x613A 0x7549 # +0xE15A 0x613B 0x755B # +0xE15B 0x613C 0x7546 # +0xE15C 0x613D 0x755A # +0xE15D 0x613E 0x7569 # +0xE15E 0x613F 0x7564 # +0xE15F 0x6140 0x7567 # +0xE160 0x6141 0x756B # +0xE161 0x6142 0x756D # +0xE162 0x6143 0x7578 # +0xE163 0x6144 0x7576 # +0xE164 0x6145 0x7586 # +0xE165 0x6146 0x7587 # +0xE166 0x6147 0x7574 # +0xE167 0x6148 0x758A # +0xE168 0x6149 0x7589 # +0xE169 0x614A 0x7582 # +0xE16A 0x614B 0x7594 # +0xE16B 0x614C 0x759A # +0xE16C 0x614D 0x759D # +0xE16D 0x614E 0x75A5 # +0xE16E 0x614F 0x75A3 # +0xE16F 0x6150 0x75C2 # +0xE170 0x6151 0x75B3 # +0xE171 0x6152 0x75C3 # +0xE172 0x6153 0x75B5 # +0xE173 0x6154 0x75BD # +0xE174 0x6155 0x75B8 # +0xE175 0x6156 0x75BC # +0xE176 0x6157 0x75B1 # +0xE177 0x6158 0x75CD # +0xE178 0x6159 0x75CA # +0xE179 0x615A 0x75D2 # +0xE17A 0x615B 0x75D9 # +0xE17B 0x615C 0x75E3 # +0xE17C 0x615D 0x75DE # +0xE17D 0x615E 0x75FE # +0xE17E 0x615F 0x75FF # +0xE180 0x6160 0x75FC # +0xE181 0x6161 0x7601 # +0xE182 0x6162 0x75F0 # +0xE183 0x6163 0x75FA # +0xE184 0x6164 0x75F2 # +0xE185 0x6165 0x75F3 # +0xE186 0x6166 0x760B # +0xE187 0x6167 0x760D # +0xE188 0x6168 0x7609 # +0xE189 0x6169 0x761F # +0xE18A 0x616A 0x7627 # +0xE18B 0x616B 0x7620 # +0xE18C 0x616C 0x7621 # +0xE18D 0x616D 0x7622 # +0xE18E 0x616E 0x7624 # +0xE18F 0x616F 0x7634 # +0xE190 0x6170 0x7630 # +0xE191 0x6171 0x763B # +0xE192 0x6172 0x7647 # +0xE193 0x6173 0x7648 # +0xE194 0x6174 0x7646 # +0xE195 0x6175 0x765C # +0xE196 0x6176 0x7658 # +0xE197 0x6177 0x7661 # +0xE198 0x6178 0x7662 # +0xE199 0x6179 0x7668 # +0xE19A 0x617A 0x7669 # +0xE19B 0x617B 0x766A # +0xE19C 0x617C 0x7667 # +0xE19D 0x617D 0x766C # +0xE19E 0x617E 0x7670 # +0xE19F 0x6221 0x7672 # +0xE1A0 0x6222 0x7676 # +0xE1A1 0x6223 0x7678 # +0xE1A2 0x6224 0x767C # +0xE1A3 0x6225 0x7680 # +0xE1A4 0x6226 0x7683 # +0xE1A5 0x6227 0x7688 # +0xE1A6 0x6228 0x768B # +0xE1A7 0x6229 0x768E # +0xE1A8 0x622A 0x7696 # +0xE1A9 0x622B 0x7693 # +0xE1AA 0x622C 0x7699 # +0xE1AB 0x622D 0x769A # +0xE1AC 0x622E 0x76B0 # +0xE1AD 0x622F 0x76B4 # +0xE1AE 0x6230 0x76B8 # +0xE1AF 0x6231 0x76B9 # +0xE1B0 0x6232 0x76BA # +0xE1B1 0x6233 0x76C2 # +0xE1B2 0x6234 0x76CD # +0xE1B3 0x6235 0x76D6 # +0xE1B4 0x6236 0x76D2 # +0xE1B5 0x6237 0x76DE # +0xE1B6 0x6238 0x76E1 # +0xE1B7 0x6239 0x76E5 # +0xE1B8 0x623A 0x76E7 # +0xE1B9 0x623B 0x76EA # +0xE1BA 0x623C 0x862F # +0xE1BB 0x623D 0x76FB # +0xE1BC 0x623E 0x7708 # +0xE1BD 0x623F 0x7707 # +0xE1BE 0x6240 0x7704 # +0xE1BF 0x6241 0x7729 # +0xE1C0 0x6242 0x7724 # +0xE1C1 0x6243 0x771E # +0xE1C2 0x6244 0x7725 # +0xE1C3 0x6245 0x7726 # +0xE1C4 0x6246 0x771B # +0xE1C5 0x6247 0x7737 # +0xE1C6 0x6248 0x7738 # +0xE1C7 0x6249 0x7747 # +0xE1C8 0x624A 0x775A # +0xE1C9 0x624B 0x7768 # +0xE1CA 0x624C 0x776B # +0xE1CB 0x624D 0x775B # +0xE1CC 0x624E 0x7765 # +0xE1CD 0x624F 0x777F # +0xE1CE 0x6250 0x777E # +0xE1CF 0x6251 0x7779 # +0xE1D0 0x6252 0x778E # +0xE1D1 0x6253 0x778B # +0xE1D2 0x6254 0x7791 # +0xE1D3 0x6255 0x77A0 # +0xE1D4 0x6256 0x779E # +0xE1D5 0x6257 0x77B0 # +0xE1D6 0x6258 0x77B6 # +0xE1D7 0x6259 0x77B9 # +0xE1D8 0x625A 0x77BF # +0xE1D9 0x625B 0x77BC # +0xE1DA 0x625C 0x77BD # +0xE1DB 0x625D 0x77BB # +0xE1DC 0x625E 0x77C7 # +0xE1DD 0x625F 0x77CD # +0xE1DE 0x6260 0x77D7 # +0xE1DF 0x6261 0x77DA # +0xE1E0 0x6262 0x77DC # +0xE1E1 0x6263 0x77E3 # +0xE1E2 0x6264 0x77EE # +0xE1E3 0x6265 0x77FC # +0xE1E4 0x6266 0x780C # +0xE1E5 0x6267 0x7812 # +0xE1E6 0x6268 0x7926 # +0xE1E7 0x6269 0x7820 # +0xE1E8 0x626A 0x792A # +0xE1E9 0x626B 0x7845 # +0xE1EA 0x626C 0x788E # +0xE1EB 0x626D 0x7874 # +0xE1EC 0x626E 0x7886 # +0xE1ED 0x626F 0x787C # +0xE1EE 0x6270 0x789A # +0xE1EF 0x6271 0x788C # +0xE1F0 0x6272 0x78A3 # +0xE1F1 0x6273 0x78B5 # +0xE1F2 0x6274 0x78AA # +0xE1F3 0x6275 0x78AF # +0xE1F4 0x6276 0x78D1 # +0xE1F5 0x6277 0x78C6 # +0xE1F6 0x6278 0x78CB # +0xE1F7 0x6279 0x78D4 # +0xE1F8 0x627A 0x78BE # +0xE1F9 0x627B 0x78BC # +0xE1FA 0x627C 0x78C5 # +0xE1FB 0x627D 0x78CA # +0xE1FC 0x627E 0x78EC # +0xE240 0x6321 0x78E7 # +0xE241 0x6322 0x78DA # +0xE242 0x6323 0x78FD # +0xE243 0x6324 0x78F4 # +0xE244 0x6325 0x7907 # +0xE245 0x6326 0x7912 # +0xE246 0x6327 0x7911 # +0xE247 0x6328 0x7919 # +0xE248 0x6329 0x792C # +0xE249 0x632A 0x792B # +0xE24A 0x632B 0x7940 # +0xE24B 0x632C 0x7960 # +0xE24C 0x632D 0x7957 # +0xE24D 0x632E 0x795F # +0xE24E 0x632F 0x795A # +0xE24F 0x6330 0x7955 # +0xE250 0x6331 0x7953 # +0xE251 0x6332 0x797A # +0xE252 0x6333 0x797F # +0xE253 0x6334 0x798A # +0xE254 0x6335 0x799D # +0xE255 0x6336 0x79A7 # +0xE256 0x6337 0x9F4B # +0xE257 0x6338 0x79AA # +0xE258 0x6339 0x79AE # +0xE259 0x633A 0x79B3 # +0xE25A 0x633B 0x79B9 # +0xE25B 0x633C 0x79BA # +0xE25C 0x633D 0x79C9 # +0xE25D 0x633E 0x79D5 # +0xE25E 0x633F 0x79E7 # +0xE25F 0x6340 0x79EC # +0xE260 0x6341 0x79E1 # +0xE261 0x6342 0x79E3 # +0xE262 0x6343 0x7A08 # +0xE263 0x6344 0x7A0D # +0xE264 0x6345 0x7A18 # +0xE265 0x6346 0x7A19 # +0xE266 0x6347 0x7A20 # +0xE267 0x6348 0x7A1F # +0xE268 0x6349 0x7980 # +0xE269 0x634A 0x7A31 # +0xE26A 0x634B 0x7A3B # +0xE26B 0x634C 0x7A3E # +0xE26C 0x634D 0x7A37 # +0xE26D 0x634E 0x7A43 # +0xE26E 0x634F 0x7A57 # +0xE26F 0x6350 0x7A49 # +0xE270 0x6351 0x7A61 # +0xE271 0x6352 0x7A62 # +0xE272 0x6353 0x7A69 # +0xE273 0x6354 0x9F9D # +0xE274 0x6355 0x7A70 # +0xE275 0x6356 0x7A79 # +0xE276 0x6357 0x7A7D # +0xE277 0x6358 0x7A88 # +0xE278 0x6359 0x7A97 # +0xE279 0x635A 0x7A95 # +0xE27A 0x635B 0x7A98 # +0xE27B 0x635C 0x7A96 # +0xE27C 0x635D 0x7AA9 # +0xE27D 0x635E 0x7AC8 # +0xE27E 0x635F 0x7AB0 # +0xE280 0x6360 0x7AB6 # +0xE281 0x6361 0x7AC5 # +0xE282 0x6362 0x7AC4 # +0xE283 0x6363 0x7ABF # +0xE284 0x6364 0x9083 # +0xE285 0x6365 0x7AC7 # +0xE286 0x6366 0x7ACA # +0xE287 0x6367 0x7ACD # +0xE288 0x6368 0x7ACF # +0xE289 0x6369 0x7AD5 # +0xE28A 0x636A 0x7AD3 # +0xE28B 0x636B 0x7AD9 # +0xE28C 0x636C 0x7ADA # +0xE28D 0x636D 0x7ADD # +0xE28E 0x636E 0x7AE1 # +0xE28F 0x636F 0x7AE2 # +0xE290 0x6370 0x7AE6 # +0xE291 0x6371 0x7AED # +0xE292 0x6372 0x7AF0 # +0xE293 0x6373 0x7B02 # +0xE294 0x6374 0x7B0F # +0xE295 0x6375 0x7B0A # +0xE296 0x6376 0x7B06 # +0xE297 0x6377 0x7B33 # +0xE298 0x6378 0x7B18 # +0xE299 0x6379 0x7B19 # +0xE29A 0x637A 0x7B1E # +0xE29B 0x637B 0x7B35 # +0xE29C 0x637C 0x7B28 # +0xE29D 0x637D 0x7B36 # +0xE29E 0x637E 0x7B50 # +0xE29F 0x6421 0x7B7A # +0xE2A0 0x6422 0x7B04 # +0xE2A1 0x6423 0x7B4D # +0xE2A2 0x6424 0x7B0B # +0xE2A3 0x6425 0x7B4C # +0xE2A4 0x6426 0x7B45 # +0xE2A5 0x6427 0x7B75 # +0xE2A6 0x6428 0x7B65 # +0xE2A7 0x6429 0x7B74 # +0xE2A8 0x642A 0x7B67 # +0xE2A9 0x642B 0x7B70 # +0xE2AA 0x642C 0x7B71 # +0xE2AB 0x642D 0x7B6C # +0xE2AC 0x642E 0x7B6E # +0xE2AD 0x642F 0x7B9D # +0xE2AE 0x6430 0x7B98 # +0xE2AF 0x6431 0x7B9F # +0xE2B0 0x6432 0x7B8D # +0xE2B1 0x6433 0x7B9C # +0xE2B2 0x6434 0x7B9A # +0xE2B3 0x6435 0x7B8B # +0xE2B4 0x6436 0x7B92 # +0xE2B5 0x6437 0x7B8F # +0xE2B6 0x6438 0x7B5D # +0xE2B7 0x6439 0x7B99 # +0xE2B8 0x643A 0x7BCB # +0xE2B9 0x643B 0x7BC1 # +0xE2BA 0x643C 0x7BCC # +0xE2BB 0x643D 0x7BCF # +0xE2BC 0x643E 0x7BB4 # +0xE2BD 0x643F 0x7BC6 # +0xE2BE 0x6440 0x7BDD # +0xE2BF 0x6441 0x7BE9 # +0xE2C0 0x6442 0x7C11 # +0xE2C1 0x6443 0x7C14 # +0xE2C2 0x6444 0x7BE6 # +0xE2C3 0x6445 0x7BE5 # +0xE2C4 0x6446 0x7C60 # +0xE2C5 0x6447 0x7C00 # +0xE2C6 0x6448 0x7C07 # +0xE2C7 0x6449 0x7C13 # +0xE2C8 0x644A 0x7BF3 # +0xE2C9 0x644B 0x7BF7 # +0xE2CA 0x644C 0x7C17 # +0xE2CB 0x644D 0x7C0D # +0xE2CC 0x644E 0x7BF6 # +0xE2CD 0x644F 0x7C23 # +0xE2CE 0x6450 0x7C27 # +0xE2CF 0x6451 0x7C2A # +0xE2D0 0x6452 0x7C1F # +0xE2D1 0x6453 0x7C37 # +0xE2D2 0x6454 0x7C2B # +0xE2D3 0x6455 0x7C3D # +0xE2D4 0x6456 0x7C4C # +0xE2D5 0x6457 0x7C43 # +0xE2D6 0x6458 0x7C54 # +0xE2D7 0x6459 0x7C4F # +0xE2D8 0x645A 0x7C40 # +0xE2D9 0x645B 0x7C50 # +0xE2DA 0x645C 0x7C58 # +0xE2DB 0x645D 0x7C5F # +0xE2DC 0x645E 0x7C64 # +0xE2DD 0x645F 0x7C56 # +0xE2DE 0x6460 0x7C65 # +0xE2DF 0x6461 0x7C6C # +0xE2E0 0x6462 0x7C75 # +0xE2E1 0x6463 0x7C83 # +0xE2E2 0x6464 0x7C90 # +0xE2E3 0x6465 0x7CA4 # +0xE2E4 0x6466 0x7CAD # +0xE2E5 0x6467 0x7CA2 # +0xE2E6 0x6468 0x7CAB # +0xE2E7 0x6469 0x7CA1 # +0xE2E8 0x646A 0x7CA8 # +0xE2E9 0x646B 0x7CB3 # +0xE2EA 0x646C 0x7CB2 # +0xE2EB 0x646D 0x7CB1 # +0xE2EC 0x646E 0x7CAE # +0xE2ED 0x646F 0x7CB9 # +0xE2EE 0x6470 0x7CBD # +0xE2EF 0x6471 0x7CC0 # +0xE2F0 0x6472 0x7CC5 # +0xE2F1 0x6473 0x7CC2 # +0xE2F2 0x6474 0x7CD8 # +0xE2F3 0x6475 0x7CD2 # +0xE2F4 0x6476 0x7CDC # +0xE2F5 0x6477 0x7CE2 # +0xE2F6 0x6478 0x9B3B # +0xE2F7 0x6479 0x7CEF # +0xE2F8 0x647A 0x7CF2 # +0xE2F9 0x647B 0x7CF4 # +0xE2FA 0x647C 0x7CF6 # +0xE2FB 0x647D 0x7CFA # +0xE2FC 0x647E 0x7D06 # +0xE340 0x6521 0x7D02 # +0xE341 0x6522 0x7D1C # +0xE342 0x6523 0x7D15 # +0xE343 0x6524 0x7D0A # +0xE344 0x6525 0x7D45 # +0xE345 0x6526 0x7D4B # +0xE346 0x6527 0x7D2E # +0xE347 0x6528 0x7D32 # +0xE348 0x6529 0x7D3F # +0xE349 0x652A 0x7D35 # +0xE34A 0x652B 0x7D46 # +0xE34B 0x652C 0x7D73 # +0xE34C 0x652D 0x7D56 # +0xE34D 0x652E 0x7D4E # +0xE34E 0x652F 0x7D72 # +0xE34F 0x6530 0x7D68 # +0xE350 0x6531 0x7D6E # +0xE351 0x6532 0x7D4F # +0xE352 0x6533 0x7D63 # +0xE353 0x6534 0x7D93 # +0xE354 0x6535 0x7D89 # +0xE355 0x6536 0x7D5B # +0xE356 0x6537 0x7D8F # +0xE357 0x6538 0x7D7D # +0xE358 0x6539 0x7D9B # +0xE359 0x653A 0x7DBA # +0xE35A 0x653B 0x7DAE # +0xE35B 0x653C 0x7DA3 # +0xE35C 0x653D 0x7DB5 # +0xE35D 0x653E 0x7DC7 # +0xE35E 0x653F 0x7DBD # +0xE35F 0x6540 0x7DAB # +0xE360 0x6541 0x7E3D # +0xE361 0x6542 0x7DA2 # +0xE362 0x6543 0x7DAF # +0xE363 0x6544 0x7DDC # +0xE364 0x6545 0x7DB8 # +0xE365 0x6546 0x7D9F # +0xE366 0x6547 0x7DB0 # +0xE367 0x6548 0x7DD8 # +0xE368 0x6549 0x7DDD # +0xE369 0x654A 0x7DE4 # +0xE36A 0x654B 0x7DDE # +0xE36B 0x654C 0x7DFB # +0xE36C 0x654D 0x7DF2 # +0xE36D 0x654E 0x7DE1 # +0xE36E 0x654F 0x7E05 # +0xE36F 0x6550 0x7E0A # +0xE370 0x6551 0x7E23 # +0xE371 0x6552 0x7E21 # +0xE372 0x6553 0x7E12 # +0xE373 0x6554 0x7E31 # +0xE374 0x6555 0x7E1F # +0xE375 0x6556 0x7E09 # +0xE376 0x6557 0x7E0B # +0xE377 0x6558 0x7E22 # +0xE378 0x6559 0x7E46 # +0xE379 0x655A 0x7E66 # +0xE37A 0x655B 0x7E3B # +0xE37B 0x655C 0x7E35 # +0xE37C 0x655D 0x7E39 # +0xE37D 0x655E 0x7E43 # +0xE37E 0x655F 0x7E37 # +0xE380 0x6560 0x7E32 # +0xE381 0x6561 0x7E3A # +0xE382 0x6562 0x7E67 # +0xE383 0x6563 0x7E5D # +0xE384 0x6564 0x7E56 # +0xE385 0x6565 0x7E5E # +0xE386 0x6566 0x7E59 # +0xE387 0x6567 0x7E5A # +0xE388 0x6568 0x7E79 # +0xE389 0x6569 0x7E6A # +0xE38A 0x656A 0x7E69 # +0xE38B 0x656B 0x7E7C # +0xE38C 0x656C 0x7E7B # +0xE38D 0x656D 0x7E83 # +0xE38E 0x656E 0x7DD5 # +0xE38F 0x656F 0x7E7D # +0xE390 0x6570 0x8FAE # +0xE391 0x6571 0x7E7F # +0xE392 0x6572 0x7E88 # +0xE393 0x6573 0x7E89 # +0xE394 0x6574 0x7E8C # +0xE395 0x6575 0x7E92 # +0xE396 0x6576 0x7E90 # +0xE397 0x6577 0x7E93 # +0xE398 0x6578 0x7E94 # +0xE399 0x6579 0x7E96 # +0xE39A 0x657A 0x7E8E # +0xE39B 0x657B 0x7E9B # +0xE39C 0x657C 0x7E9C # +0xE39D 0x657D 0x7F38 # +0xE39E 0x657E 0x7F3A # +0xE39F 0x6621 0x7F45 # +0xE3A0 0x6622 0x7F4C # +0xE3A1 0x6623 0x7F4D # +0xE3A2 0x6624 0x7F4E # +0xE3A3 0x6625 0x7F50 # +0xE3A4 0x6626 0x7F51 # +0xE3A5 0x6627 0x7F55 # +0xE3A6 0x6628 0x7F54 # +0xE3A7 0x6629 0x7F58 # +0xE3A8 0x662A 0x7F5F # +0xE3A9 0x662B 0x7F60 # +0xE3AA 0x662C 0x7F68 # +0xE3AB 0x662D 0x7F69 # +0xE3AC 0x662E 0x7F67 # +0xE3AD 0x662F 0x7F78 # +0xE3AE 0x6630 0x7F82 # +0xE3AF 0x6631 0x7F86 # +0xE3B0 0x6632 0x7F83 # +0xE3B1 0x6633 0x7F88 # +0xE3B2 0x6634 0x7F87 # +0xE3B3 0x6635 0x7F8C # +0xE3B4 0x6636 0x7F94 # +0xE3B5 0x6637 0x7F9E # +0xE3B6 0x6638 0x7F9D # +0xE3B7 0x6639 0x7F9A # +0xE3B8 0x663A 0x7FA3 # +0xE3B9 0x663B 0x7FAF # +0xE3BA 0x663C 0x7FB2 # +0xE3BB 0x663D 0x7FB9 # +0xE3BC 0x663E 0x7FAE # +0xE3BD 0x663F 0x7FB6 # +0xE3BE 0x6640 0x7FB8 # +0xE3BF 0x6641 0x8B71 # +0xE3C0 0x6642 0x7FC5 # +0xE3C1 0x6643 0x7FC6 # +0xE3C2 0x6644 0x7FCA # +0xE3C3 0x6645 0x7FD5 # +0xE3C4 0x6646 0x7FD4 # +0xE3C5 0x6647 0x7FE1 # +0xE3C6 0x6648 0x7FE6 # +0xE3C7 0x6649 0x7FE9 # +0xE3C8 0x664A 0x7FF3 # +0xE3C9 0x664B 0x7FF9 # +0xE3CA 0x664C 0x98DC # +0xE3CB 0x664D 0x8006 # +0xE3CC 0x664E 0x8004 # +0xE3CD 0x664F 0x800B # +0xE3CE 0x6650 0x8012 # +0xE3CF 0x6651 0x8018 # +0xE3D0 0x6652 0x8019 # +0xE3D1 0x6653 0x801C # +0xE3D2 0x6654 0x8021 # +0xE3D3 0x6655 0x8028 # +0xE3D4 0x6656 0x803F # +0xE3D5 0x6657 0x803B # +0xE3D6 0x6658 0x804A # +0xE3D7 0x6659 0x8046 # +0xE3D8 0x665A 0x8052 # +0xE3D9 0x665B 0x8058 # +0xE3DA 0x665C 0x805A # +0xE3DB 0x665D 0x805F # +0xE3DC 0x665E 0x8062 # +0xE3DD 0x665F 0x8068 # +0xE3DE 0x6660 0x8073 # +0xE3DF 0x6661 0x8072 # +0xE3E0 0x6662 0x8070 # +0xE3E1 0x6663 0x8076 # +0xE3E2 0x6664 0x8079 # +0xE3E3 0x6665 0x807D # +0xE3E4 0x6666 0x807F # +0xE3E5 0x6667 0x8084 # +0xE3E6 0x6668 0x8086 # +0xE3E7 0x6669 0x8085 # +0xE3E8 0x666A 0x809B # +0xE3E9 0x666B 0x8093 # +0xE3EA 0x666C 0x809A # +0xE3EB 0x666D 0x80AD # +0xE3EC 0x666E 0x5190 # +0xE3ED 0x666F 0x80AC # +0xE3EE 0x6670 0x80DB # +0xE3EF 0x6671 0x80E5 # +0xE3F0 0x6672 0x80D9 # +0xE3F1 0x6673 0x80DD # +0xE3F2 0x6674 0x80C4 # +0xE3F3 0x6675 0x80DA # +0xE3F4 0x6676 0x80D6 # +0xE3F5 0x6677 0x8109 # +0xE3F6 0x6678 0x80EF # +0xE3F7 0x6679 0x80F1 # +0xE3F8 0x667A 0x811B # +0xE3F9 0x667B 0x8129 # +0xE3FA 0x667C 0x8123 # +0xE3FB 0x667D 0x812F # +0xE3FC 0x667E 0x814B # +0xE440 0x6721 0x968B # +0xE441 0x6722 0x8146 # +0xE442 0x6723 0x813E # +0xE443 0x6724 0x8153 # +0xE444 0x6725 0x8151 # +0xE445 0x6726 0x80FC # +0xE446 0x6727 0x8171 # +0xE447 0x6728 0x816E # +0xE448 0x6729 0x8165 # +0xE449 0x672A 0x8166 # +0xE44A 0x672B 0x8174 # +0xE44B 0x672C 0x8183 # +0xE44C 0x672D 0x8188 # +0xE44D 0x672E 0x818A # +0xE44E 0x672F 0x8180 # +0xE44F 0x6730 0x8182 # +0xE450 0x6731 0x81A0 # +0xE451 0x6732 0x8195 # +0xE452 0x6733 0x81A4 # +0xE453 0x6734 0x81A3 # +0xE454 0x6735 0x815F # +0xE455 0x6736 0x8193 # +0xE456 0x6737 0x81A9 # +0xE457 0x6738 0x81B0 # +0xE458 0x6739 0x81B5 # +0xE459 0x673A 0x81BE # +0xE45A 0x673B 0x81B8 # +0xE45B 0x673C 0x81BD # +0xE45C 0x673D 0x81C0 # +0xE45D 0x673E 0x81C2 # +0xE45E 0x673F 0x81BA # +0xE45F 0x6740 0x81C9 # +0xE460 0x6741 0x81CD # +0xE461 0x6742 0x81D1 # +0xE462 0x6743 0x81D9 # +0xE463 0x6744 0x81D8 # +0xE464 0x6745 0x81C8 # +0xE465 0x6746 0x81DA # +0xE466 0x6747 0x81DF # +0xE467 0x6748 0x81E0 # +0xE468 0x6749 0x81E7 # +0xE469 0x674A 0x81FA # +0xE46A 0x674B 0x81FB # +0xE46B 0x674C 0x81FE # +0xE46C 0x674D 0x8201 # +0xE46D 0x674E 0x8202 # +0xE46E 0x674F 0x8205 # +0xE46F 0x6750 0x8207 # +0xE470 0x6751 0x820A # +0xE471 0x6752 0x820D # +0xE472 0x6753 0x8210 # +0xE473 0x6754 0x8216 # +0xE474 0x6755 0x8229 # +0xE475 0x6756 0x822B # +0xE476 0x6757 0x8238 # +0xE477 0x6758 0x8233 # +0xE478 0x6759 0x8240 # +0xE479 0x675A 0x8259 # +0xE47A 0x675B 0x8258 # +0xE47B 0x675C 0x825D # +0xE47C 0x675D 0x825A # +0xE47D 0x675E 0x825F # +0xE47E 0x675F 0x8264 # +0xE480 0x6760 0x8262 # +0xE481 0x6761 0x8268 # +0xE482 0x6762 0x826A # +0xE483 0x6763 0x826B # +0xE484 0x6764 0x822E # +0xE485 0x6765 0x8271 # +0xE486 0x6766 0x8277 # +0xE487 0x6767 0x8278 # +0xE488 0x6768 0x827E # +0xE489 0x6769 0x828D # +0xE48A 0x676A 0x8292 # +0xE48B 0x676B 0x82AB # +0xE48C 0x676C 0x829F # +0xE48D 0x676D 0x82BB # +0xE48E 0x676E 0x82AC # +0xE48F 0x676F 0x82E1 # +0xE490 0x6770 0x82E3 # +0xE491 0x6771 0x82DF # +0xE492 0x6772 0x82D2 # +0xE493 0x6773 0x82F4 # +0xE494 0x6774 0x82F3 # +0xE495 0x6775 0x82FA # +0xE496 0x6776 0x8393 # +0xE497 0x6777 0x8303 # +0xE498 0x6778 0x82FB # +0xE499 0x6779 0x82F9 # +0xE49A 0x677A 0x82DE # +0xE49B 0x677B 0x8306 # +0xE49C 0x677C 0x82DC # +0xE49D 0x677D 0x8309 # +0xE49E 0x677E 0x82D9 # +0xE49F 0x6821 0x8335 # +0xE4A0 0x6822 0x8334 # +0xE4A1 0x6823 0x8316 # +0xE4A2 0x6824 0x8332 # +0xE4A3 0x6825 0x8331 # +0xE4A4 0x6826 0x8340 # +0xE4A5 0x6827 0x8339 # +0xE4A6 0x6828 0x8350 # +0xE4A7 0x6829 0x8345 # +0xE4A8 0x682A 0x832F # +0xE4A9 0x682B 0x832B # +0xE4AA 0x682C 0x8317 # +0xE4AB 0x682D 0x8318 # +0xE4AC 0x682E 0x8385 # +0xE4AD 0x682F 0x839A # +0xE4AE 0x6830 0x83AA # +0xE4AF 0x6831 0x839F # +0xE4B0 0x6832 0x83A2 # +0xE4B1 0x6833 0x8396 # +0xE4B2 0x6834 0x8323 # +0xE4B3 0x6835 0x838E # +0xE4B4 0x6836 0x8387 # +0xE4B5 0x6837 0x838A # +0xE4B6 0x6838 0x837C # +0xE4B7 0x6839 0x83B5 # +0xE4B8 0x683A 0x8373 # +0xE4B9 0x683B 0x8375 # +0xE4BA 0x683C 0x83A0 # +0xE4BB 0x683D 0x8389 # +0xE4BC 0x683E 0x83A8 # +0xE4BD 0x683F 0x83F4 # +0xE4BE 0x6840 0x8413 # +0xE4BF 0x6841 0x83EB # +0xE4C0 0x6842 0x83CE # +0xE4C1 0x6843 0x83FD # +0xE4C2 0x6844 0x8403 # +0xE4C3 0x6845 0x83D8 # +0xE4C4 0x6846 0x840B # +0xE4C5 0x6847 0x83C1 # +0xE4C6 0x6848 0x83F7 # +0xE4C7 0x6849 0x8407 # +0xE4C8 0x684A 0x83E0 # +0xE4C9 0x684B 0x83F2 # +0xE4CA 0x684C 0x840D # +0xE4CB 0x684D 0x8422 # +0xE4CC 0x684E 0x8420 # +0xE4CD 0x684F 0x83BD # +0xE4CE 0x6850 0x8438 # +0xE4CF 0x6851 0x8506 # +0xE4D0 0x6852 0x83FB # +0xE4D1 0x6853 0x846D # +0xE4D2 0x6854 0x842A # +0xE4D3 0x6855 0x843C # +0xE4D4 0x6856 0x855A # +0xE4D5 0x6857 0x8484 # +0xE4D6 0x6858 0x8477 # +0xE4D7 0x6859 0x846B # +0xE4D8 0x685A 0x84AD # +0xE4D9 0x685B 0x846E # +0xE4DA 0x685C 0x8482 # +0xE4DB 0x685D 0x8469 # +0xE4DC 0x685E 0x8446 # +0xE4DD 0x685F 0x842C # +0xE4DE 0x6860 0x846F # +0xE4DF 0x6861 0x8479 # +0xE4E0 0x6862 0x8435 # +0xE4E1 0x6863 0x84CA # +0xE4E2 0x6864 0x8462 # +0xE4E3 0x6865 0x84B9 # +0xE4E4 0x6866 0x84BF # +0xE4E5 0x6867 0x849F # +0xE4E6 0x6868 0x84D9 # +0xE4E7 0x6869 0x84CD # +0xE4E8 0x686A 0x84BB # +0xE4E9 0x686B 0x84DA # +0xE4EA 0x686C 0x84D0 # +0xE4EB 0x686D 0x84C1 # +0xE4EC 0x686E 0x84C6 # +0xE4ED 0x686F 0x84D6 # +0xE4EE 0x6870 0x84A1 # +0xE4EF 0x6871 0x8521 # +0xE4F0 0x6872 0x84FF # +0xE4F1 0x6873 0x84F4 # +0xE4F2 0x6874 0x8517 # +0xE4F3 0x6875 0x8518 # +0xE4F4 0x6876 0x852C # +0xE4F5 0x6877 0x851F # +0xE4F6 0x6878 0x8515 # +0xE4F7 0x6879 0x8514 # +0xE4F8 0x687A 0x84FC # +0xE4F9 0x687B 0x8540 # +0xE4FA 0x687C 0x8563 # +0xE4FB 0x687D 0x8558 # +0xE4FC 0x687E 0x8548 # +0xE540 0x6921 0x8541 # +0xE541 0x6922 0x8602 # +0xE542 0x6923 0x854B # +0xE543 0x6924 0x8555 # +0xE544 0x6925 0x8580 # +0xE545 0x6926 0x85A4 # +0xE546 0x6927 0x8588 # +0xE547 0x6928 0x8591 # +0xE548 0x6929 0x858A # +0xE549 0x692A 0x85A8 # +0xE54A 0x692B 0x856D # +0xE54B 0x692C 0x8594 # +0xE54C 0x692D 0x859B # +0xE54D 0x692E 0x85EA # +0xE54E 0x692F 0x8587 # +0xE54F 0x6930 0x859C # +0xE550 0x6931 0x8577 # +0xE551 0x6932 0x857E # +0xE552 0x6933 0x8590 # +0xE553 0x6934 0x85C9 # +0xE554 0x6935 0x85BA # +0xE555 0x6936 0x85CF # +0xE556 0x6937 0x85B9 # +0xE557 0x6938 0x85D0 # +0xE558 0x6939 0x85D5 # +0xE559 0x693A 0x85DD # +0xE55A 0x693B 0x85E5 # +0xE55B 0x693C 0x85DC # +0xE55C 0x693D 0x85F9 # +0xE55D 0x693E 0x860A # +0xE55E 0x693F 0x8613 # +0xE55F 0x6940 0x860B # +0xE560 0x6941 0x85FE # +0xE561 0x6942 0x85FA # +0xE562 0x6943 0x8606 # +0xE563 0x6944 0x8622 # +0xE564 0x6945 0x861A # +0xE565 0x6946 0x8630 # +0xE566 0x6947 0x863F # +0xE567 0x6948 0x864D # +0xE568 0x6949 0x4E55 # +0xE569 0x694A 0x8654 # +0xE56A 0x694B 0x865F # +0xE56B 0x694C 0x8667 # +0xE56C 0x694D 0x8671 # +0xE56D 0x694E 0x8693 # +0xE56E 0x694F 0x86A3 # +0xE56F 0x6950 0x86A9 # +0xE570 0x6951 0x86AA # +0xE571 0x6952 0x868B # +0xE572 0x6953 0x868C # +0xE573 0x6954 0x86B6 # +0xE574 0x6955 0x86AF # +0xE575 0x6956 0x86C4 # +0xE576 0x6957 0x86C6 # +0xE577 0x6958 0x86B0 # +0xE578 0x6959 0x86C9 # +0xE579 0x695A 0x8823 # +0xE57A 0x695B 0x86AB # +0xE57B 0x695C 0x86D4 # +0xE57C 0x695D 0x86DE # +0xE57D 0x695E 0x86E9 # +0xE57E 0x695F 0x86EC # +0xE580 0x6960 0x86DF # +0xE581 0x6961 0x86DB # +0xE582 0x6962 0x86EF # +0xE583 0x6963 0x8712 # +0xE584 0x6964 0x8706 # +0xE585 0x6965 0x8708 # +0xE586 0x6966 0x8700 # +0xE587 0x6967 0x8703 # +0xE588 0x6968 0x86FB # +0xE589 0x6969 0x8711 # +0xE58A 0x696A 0x8709 # +0xE58B 0x696B 0x870D # +0xE58C 0x696C 0x86F9 # +0xE58D 0x696D 0x870A # +0xE58E 0x696E 0x8734 # +0xE58F 0x696F 0x873F # +0xE590 0x6970 0x8737 # +0xE591 0x6971 0x873B # +0xE592 0x6972 0x8725 # +0xE593 0x6973 0x8729 # +0xE594 0x6974 0x871A # +0xE595 0x6975 0x8760 # +0xE596 0x6976 0x875F # +0xE597 0x6977 0x8778 # +0xE598 0x6978 0x874C # +0xE599 0x6979 0x874E # +0xE59A 0x697A 0x8774 # +0xE59B 0x697B 0x8757 # +0xE59C 0x697C 0x8768 # +0xE59D 0x697D 0x876E # +0xE59E 0x697E 0x8759 # +0xE59F 0x6A21 0x8753 # +0xE5A0 0x6A22 0x8763 # +0xE5A1 0x6A23 0x876A # +0xE5A2 0x6A24 0x8805 # +0xE5A3 0x6A25 0x87A2 # +0xE5A4 0x6A26 0x879F # +0xE5A5 0x6A27 0x8782 # +0xE5A6 0x6A28 0x87AF # +0xE5A7 0x6A29 0x87CB # +0xE5A8 0x6A2A 0x87BD # +0xE5A9 0x6A2B 0x87C0 # +0xE5AA 0x6A2C 0x87D0 # +0xE5AB 0x6A2D 0x96D6 # +0xE5AC 0x6A2E 0x87AB # +0xE5AD 0x6A2F 0x87C4 # +0xE5AE 0x6A30 0x87B3 # +0xE5AF 0x6A31 0x87C7 # +0xE5B0 0x6A32 0x87C6 # +0xE5B1 0x6A33 0x87BB # +0xE5B2 0x6A34 0x87EF # +0xE5B3 0x6A35 0x87F2 # +0xE5B4 0x6A36 0x87E0 # +0xE5B5 0x6A37 0x880F # +0xE5B6 0x6A38 0x880D # +0xE5B7 0x6A39 0x87FE # +0xE5B8 0x6A3A 0x87F6 # +0xE5B9 0x6A3B 0x87F7 # +0xE5BA 0x6A3C 0x880E # +0xE5BB 0x6A3D 0x87D2 # +0xE5BC 0x6A3E 0x8811 # +0xE5BD 0x6A3F 0x8816 # +0xE5BE 0x6A40 0x8815 # +0xE5BF 0x6A41 0x8822 # +0xE5C0 0x6A42 0x8821 # +0xE5C1 0x6A43 0x8831 # +0xE5C2 0x6A44 0x8836 # +0xE5C3 0x6A45 0x8839 # +0xE5C4 0x6A46 0x8827 # +0xE5C5 0x6A47 0x883B # +0xE5C6 0x6A48 0x8844 # +0xE5C7 0x6A49 0x8842 # +0xE5C8 0x6A4A 0x8852 # +0xE5C9 0x6A4B 0x8859 # +0xE5CA 0x6A4C 0x885E # +0xE5CB 0x6A4D 0x8862 # +0xE5CC 0x6A4E 0x886B # +0xE5CD 0x6A4F 0x8881 # +0xE5CE 0x6A50 0x887E # +0xE5CF 0x6A51 0x889E # +0xE5D0 0x6A52 0x8875 # +0xE5D1 0x6A53 0x887D # +0xE5D2 0x6A54 0x88B5 # +0xE5D3 0x6A55 0x8872 # +0xE5D4 0x6A56 0x8882 # +0xE5D5 0x6A57 0x8897 # +0xE5D6 0x6A58 0x8892 # +0xE5D7 0x6A59 0x88AE # +0xE5D8 0x6A5A 0x8899 # +0xE5D9 0x6A5B 0x88A2 # +0xE5DA 0x6A5C 0x888D # +0xE5DB 0x6A5D 0x88A4 # +0xE5DC 0x6A5E 0x88B0 # +0xE5DD 0x6A5F 0x88BF # +0xE5DE 0x6A60 0x88B1 # +0xE5DF 0x6A61 0x88C3 # +0xE5E0 0x6A62 0x88C4 # +0xE5E1 0x6A63 0x88D4 # +0xE5E2 0x6A64 0x88D8 # +0xE5E3 0x6A65 0x88D9 # +0xE5E4 0x6A66 0x88DD # +0xE5E5 0x6A67 0x88F9 # +0xE5E6 0x6A68 0x8902 # +0xE5E7 0x6A69 0x88FC # +0xE5E8 0x6A6A 0x88F4 # +0xE5E9 0x6A6B 0x88E8 # +0xE5EA 0x6A6C 0x88F2 # +0xE5EB 0x6A6D 0x8904 # +0xE5EC 0x6A6E 0x890C # +0xE5ED 0x6A6F 0x890A # +0xE5EE 0x6A70 0x8913 # +0xE5EF 0x6A71 0x8943 # +0xE5F0 0x6A72 0x891E # +0xE5F1 0x6A73 0x8925 # +0xE5F2 0x6A74 0x892A # +0xE5F3 0x6A75 0x892B # +0xE5F4 0x6A76 0x8941 # +0xE5F5 0x6A77 0x8944 # +0xE5F6 0x6A78 0x893B # +0xE5F7 0x6A79 0x8936 # +0xE5F8 0x6A7A 0x8938 # +0xE5F9 0x6A7B 0x894C # +0xE5FA 0x6A7C 0x891D # +0xE5FB 0x6A7D 0x8960 # +0xE5FC 0x6A7E 0x895E # +0xE640 0x6B21 0x8966 # +0xE641 0x6B22 0x8964 # +0xE642 0x6B23 0x896D # +0xE643 0x6B24 0x896A # +0xE644 0x6B25 0x896F # +0xE645 0x6B26 0x8974 # +0xE646 0x6B27 0x8977 # +0xE647 0x6B28 0x897E # +0xE648 0x6B29 0x8983 # +0xE649 0x6B2A 0x8988 # +0xE64A 0x6B2B 0x898A # +0xE64B 0x6B2C 0x8993 # +0xE64C 0x6B2D 0x8998 # +0xE64D 0x6B2E 0x89A1 # +0xE64E 0x6B2F 0x89A9 # +0xE64F 0x6B30 0x89A6 # +0xE650 0x6B31 0x89AC # +0xE651 0x6B32 0x89AF # +0xE652 0x6B33 0x89B2 # +0xE653 0x6B34 0x89BA # +0xE654 0x6B35 0x89BD # +0xE655 0x6B36 0x89BF # +0xE656 0x6B37 0x89C0 # +0xE657 0x6B38 0x89DA # +0xE658 0x6B39 0x89DC # +0xE659 0x6B3A 0x89DD # +0xE65A 0x6B3B 0x89E7 # +0xE65B 0x6B3C 0x89F4 # +0xE65C 0x6B3D 0x89F8 # +0xE65D 0x6B3E 0x8A03 # +0xE65E 0x6B3F 0x8A16 # +0xE65F 0x6B40 0x8A10 # +0xE660 0x6B41 0x8A0C # +0xE661 0x6B42 0x8A1B # +0xE662 0x6B43 0x8A1D # +0xE663 0x6B44 0x8A25 # +0xE664 0x6B45 0x8A36 # +0xE665 0x6B46 0x8A41 # +0xE666 0x6B47 0x8A5B # +0xE667 0x6B48 0x8A52 # +0xE668 0x6B49 0x8A46 # +0xE669 0x6B4A 0x8A48 # +0xE66A 0x6B4B 0x8A7C # +0xE66B 0x6B4C 0x8A6D # +0xE66C 0x6B4D 0x8A6C # +0xE66D 0x6B4E 0x8A62 # +0xE66E 0x6B4F 0x8A85 # +0xE66F 0x6B50 0x8A82 # +0xE670 0x6B51 0x8A84 # +0xE671 0x6B52 0x8AA8 # +0xE672 0x6B53 0x8AA1 # +0xE673 0x6B54 0x8A91 # +0xE674 0x6B55 0x8AA5 # +0xE675 0x6B56 0x8AA6 # +0xE676 0x6B57 0x8A9A # +0xE677 0x6B58 0x8AA3 # +0xE678 0x6B59 0x8AC4 # +0xE679 0x6B5A 0x8ACD # +0xE67A 0x6B5B 0x8AC2 # +0xE67B 0x6B5C 0x8ADA # +0xE67C 0x6B5D 0x8AEB # +0xE67D 0x6B5E 0x8AF3 # +0xE67E 0x6B5F 0x8AE7 # +0xE680 0x6B60 0x8AE4 # +0xE681 0x6B61 0x8AF1 # +0xE682 0x6B62 0x8B14 # +0xE683 0x6B63 0x8AE0 # +0xE684 0x6B64 0x8AE2 # +0xE685 0x6B65 0x8AF7 # +0xE686 0x6B66 0x8ADE # +0xE687 0x6B67 0x8ADB # +0xE688 0x6B68 0x8B0C # +0xE689 0x6B69 0x8B07 # +0xE68A 0x6B6A 0x8B1A # +0xE68B 0x6B6B 0x8AE1 # +0xE68C 0x6B6C 0x8B16 # +0xE68D 0x6B6D 0x8B10 # +0xE68E 0x6B6E 0x8B17 # +0xE68F 0x6B6F 0x8B20 # +0xE690 0x6B70 0x8B33 # +0xE691 0x6B71 0x97AB # +0xE692 0x6B72 0x8B26 # +0xE693 0x6B73 0x8B2B # +0xE694 0x6B74 0x8B3E # +0xE695 0x6B75 0x8B28 # +0xE696 0x6B76 0x8B41 # +0xE697 0x6B77 0x8B4C # +0xE698 0x6B78 0x8B4F # +0xE699 0x6B79 0x8B4E # +0xE69A 0x6B7A 0x8B49 # +0xE69B 0x6B7B 0x8B56 # +0xE69C 0x6B7C 0x8B5B # +0xE69D 0x6B7D 0x8B5A # +0xE69E 0x6B7E 0x8B6B # +0xE69F 0x6C21 0x8B5F # +0xE6A0 0x6C22 0x8B6C # +0xE6A1 0x6C23 0x8B6F # +0xE6A2 0x6C24 0x8B74 # +0xE6A3 0x6C25 0x8B7D # +0xE6A4 0x6C26 0x8B80 # +0xE6A5 0x6C27 0x8B8C # +0xE6A6 0x6C28 0x8B8E # +0xE6A7 0x6C29 0x8B92 # +0xE6A8 0x6C2A 0x8B93 # +0xE6A9 0x6C2B 0x8B96 # +0xE6AA 0x6C2C 0x8B99 # +0xE6AB 0x6C2D 0x8B9A # +0xE6AC 0x6C2E 0x8C3A # +0xE6AD 0x6C2F 0x8C41 # +0xE6AE 0x6C30 0x8C3F # +0xE6AF 0x6C31 0x8C48 # +0xE6B0 0x6C32 0x8C4C # +0xE6B1 0x6C33 0x8C4E # +0xE6B2 0x6C34 0x8C50 # +0xE6B3 0x6C35 0x8C55 # +0xE6B4 0x6C36 0x8C62 # +0xE6B5 0x6C37 0x8C6C # +0xE6B6 0x6C38 0x8C78 # +0xE6B7 0x6C39 0x8C7A # +0xE6B8 0x6C3A 0x8C82 # +0xE6B9 0x6C3B 0x8C89 # +0xE6BA 0x6C3C 0x8C85 # +0xE6BB 0x6C3D 0x8C8A # +0xE6BC 0x6C3E 0x8C8D # +0xE6BD 0x6C3F 0x8C8E # +0xE6BE 0x6C40 0x8C94 # +0xE6BF 0x6C41 0x8C7C # +0xE6C0 0x6C42 0x8C98 # +0xE6C1 0x6C43 0x621D # +0xE6C2 0x6C44 0x8CAD # +0xE6C3 0x6C45 0x8CAA # +0xE6C4 0x6C46 0x8CBD # +0xE6C5 0x6C47 0x8CB2 # +0xE6C6 0x6C48 0x8CB3 # +0xE6C7 0x6C49 0x8CAE # +0xE6C8 0x6C4A 0x8CB6 # +0xE6C9 0x6C4B 0x8CC8 # +0xE6CA 0x6C4C 0x8CC1 # +0xE6CB 0x6C4D 0x8CE4 # +0xE6CC 0x6C4E 0x8CE3 # +0xE6CD 0x6C4F 0x8CDA # +0xE6CE 0x6C50 0x8CFD # +0xE6CF 0x6C51 0x8CFA # +0xE6D0 0x6C52 0x8CFB # +0xE6D1 0x6C53 0x8D04 # +0xE6D2 0x6C54 0x8D05 # +0xE6D3 0x6C55 0x8D0A # +0xE6D4 0x6C56 0x8D07 # +0xE6D5 0x6C57 0x8D0F # +0xE6D6 0x6C58 0x8D0D # +0xE6D7 0x6C59 0x8D10 # +0xE6D8 0x6C5A 0x9F4E # +0xE6D9 0x6C5B 0x8D13 # +0xE6DA 0x6C5C 0x8CCD # +0xE6DB 0x6C5D 0x8D14 # +0xE6DC 0x6C5E 0x8D16 # +0xE6DD 0x6C5F 0x8D67 # +0xE6DE 0x6C60 0x8D6D # +0xE6DF 0x6C61 0x8D71 # +0xE6E0 0x6C62 0x8D73 # +0xE6E1 0x6C63 0x8D81 # +0xE6E2 0x6C64 0x8D99 # +0xE6E3 0x6C65 0x8DC2 # +0xE6E4 0x6C66 0x8DBE # +0xE6E5 0x6C67 0x8DBA # +0xE6E6 0x6C68 0x8DCF # +0xE6E7 0x6C69 0x8DDA # +0xE6E8 0x6C6A 0x8DD6 # +0xE6E9 0x6C6B 0x8DCC # +0xE6EA 0x6C6C 0x8DDB # +0xE6EB 0x6C6D 0x8DCB # +0xE6EC 0x6C6E 0x8DEA # +0xE6ED 0x6C6F 0x8DEB # +0xE6EE 0x6C70 0x8DDF # +0xE6EF 0x6C71 0x8DE3 # +0xE6F0 0x6C72 0x8DFC # +0xE6F1 0x6C73 0x8E08 # +0xE6F2 0x6C74 0x8E09 # +0xE6F3 0x6C75 0x8DFF # +0xE6F4 0x6C76 0x8E1D # +0xE6F5 0x6C77 0x8E1E # +0xE6F6 0x6C78 0x8E10 # +0xE6F7 0x6C79 0x8E1F # +0xE6F8 0x6C7A 0x8E42 # +0xE6F9 0x6C7B 0x8E35 # +0xE6FA 0x6C7C 0x8E30 # +0xE6FB 0x6C7D 0x8E34 # +0xE6FC 0x6C7E 0x8E4A # +0xE740 0x6D21 0x8E47 # +0xE741 0x6D22 0x8E49 # +0xE742 0x6D23 0x8E4C # +0xE743 0x6D24 0x8E50 # +0xE744 0x6D25 0x8E48 # +0xE745 0x6D26 0x8E59 # +0xE746 0x6D27 0x8E64 # +0xE747 0x6D28 0x8E60 # +0xE748 0x6D29 0x8E2A # +0xE749 0x6D2A 0x8E63 # +0xE74A 0x6D2B 0x8E55 # +0xE74B 0x6D2C 0x8E76 # +0xE74C 0x6D2D 0x8E72 # +0xE74D 0x6D2E 0x8E7C # +0xE74E 0x6D2F 0x8E81 # +0xE74F 0x6D30 0x8E87 # +0xE750 0x6D31 0x8E85 # +0xE751 0x6D32 0x8E84 # +0xE752 0x6D33 0x8E8B # +0xE753 0x6D34 0x8E8A # +0xE754 0x6D35 0x8E93 # +0xE755 0x6D36 0x8E91 # +0xE756 0x6D37 0x8E94 # +0xE757 0x6D38 0x8E99 # +0xE758 0x6D39 0x8EAA # +0xE759 0x6D3A 0x8EA1 # +0xE75A 0x6D3B 0x8EAC # +0xE75B 0x6D3C 0x8EB0 # +0xE75C 0x6D3D 0x8EC6 # +0xE75D 0x6D3E 0x8EB1 # +0xE75E 0x6D3F 0x8EBE # +0xE75F 0x6D40 0x8EC5 # +0xE760 0x6D41 0x8EC8 # +0xE761 0x6D42 0x8ECB # +0xE762 0x6D43 0x8EDB # +0xE763 0x6D44 0x8EE3 # +0xE764 0x6D45 0x8EFC # +0xE765 0x6D46 0x8EFB # +0xE766 0x6D47 0x8EEB # +0xE767 0x6D48 0x8EFE # +0xE768 0x6D49 0x8F0A # +0xE769 0x6D4A 0x8F05 # +0xE76A 0x6D4B 0x8F15 # +0xE76B 0x6D4C 0x8F12 # +0xE76C 0x6D4D 0x8F19 # +0xE76D 0x6D4E 0x8F13 # +0xE76E 0x6D4F 0x8F1C # +0xE76F 0x6D50 0x8F1F # +0xE770 0x6D51 0x8F1B # +0xE771 0x6D52 0x8F0C # +0xE772 0x6D53 0x8F26 # +0xE773 0x6D54 0x8F33 # +0xE774 0x6D55 0x8F3B # +0xE775 0x6D56 0x8F39 # +0xE776 0x6D57 0x8F45 # +0xE777 0x6D58 0x8F42 # +0xE778 0x6D59 0x8F3E # +0xE779 0x6D5A 0x8F4C # +0xE77A 0x6D5B 0x8F49 # +0xE77B 0x6D5C 0x8F46 # +0xE77C 0x6D5D 0x8F4E # +0xE77D 0x6D5E 0x8F57 # +0xE77E 0x6D5F 0x8F5C # +0xE780 0x6D60 0x8F62 # +0xE781 0x6D61 0x8F63 # +0xE782 0x6D62 0x8F64 # +0xE783 0x6D63 0x8F9C # +0xE784 0x6D64 0x8F9F # +0xE785 0x6D65 0x8FA3 # +0xE786 0x6D66 0x8FAD # +0xE787 0x6D67 0x8FAF # +0xE788 0x6D68 0x8FB7 # +0xE789 0x6D69 0x8FDA # +0xE78A 0x6D6A 0x8FE5 # +0xE78B 0x6D6B 0x8FE2 # +0xE78C 0x6D6C 0x8FEA # +0xE78D 0x6D6D 0x8FEF # +0xE78E 0x6D6E 0x9087 # +0xE78F 0x6D6F 0x8FF4 # +0xE790 0x6D70 0x9005 # +0xE791 0x6D71 0x8FF9 # +0xE792 0x6D72 0x8FFA # +0xE793 0x6D73 0x9011 # +0xE794 0x6D74 0x9015 # +0xE795 0x6D75 0x9021 # +0xE796 0x6D76 0x900D # +0xE797 0x6D77 0x901E # +0xE798 0x6D78 0x9016 # +0xE799 0x6D79 0x900B # +0xE79A 0x6D7A 0x9027 # +0xE79B 0x6D7B 0x9036 # +0xE79C 0x6D7C 0x9035 # +0xE79D 0x6D7D 0x9039 # +0xE79E 0x6D7E 0x8FF8 # +0xE79F 0x6E21 0x904F # +0xE7A0 0x6E22 0x9050 # +0xE7A1 0x6E23 0x9051 # +0xE7A2 0x6E24 0x9052 # +0xE7A3 0x6E25 0x900E # +0xE7A4 0x6E26 0x9049 # +0xE7A5 0x6E27 0x903E # +0xE7A6 0x6E28 0x9056 # +0xE7A7 0x6E29 0x9058 # +0xE7A8 0x6E2A 0x905E # +0xE7A9 0x6E2B 0x9068 # +0xE7AA 0x6E2C 0x906F # +0xE7AB 0x6E2D 0x9076 # +0xE7AC 0x6E2E 0x96A8 # +0xE7AD 0x6E2F 0x9072 # +0xE7AE 0x6E30 0x9082 # +0xE7AF 0x6E31 0x907D # +0xE7B0 0x6E32 0x9081 # +0xE7B1 0x6E33 0x9080 # +0xE7B2 0x6E34 0x908A # +0xE7B3 0x6E35 0x9089 # +0xE7B4 0x6E36 0x908F # +0xE7B5 0x6E37 0x90A8 # +0xE7B6 0x6E38 0x90AF # +0xE7B7 0x6E39 0x90B1 # +0xE7B8 0x6E3A 0x90B5 # +0xE7B9 0x6E3B 0x90E2 # +0xE7BA 0x6E3C 0x90E4 # +0xE7BB 0x6E3D 0x6248 # +0xE7BC 0x6E3E 0x90DB # +0xE7BD 0x6E3F 0x9102 # +0xE7BE 0x6E40 0x9112 # +0xE7BF 0x6E41 0x9119 # +0xE7C0 0x6E42 0x9132 # +0xE7C1 0x6E43 0x9130 # +0xE7C2 0x6E44 0x914A # +0xE7C3 0x6E45 0x9156 # +0xE7C4 0x6E46 0x9158 # +0xE7C5 0x6E47 0x9163 # +0xE7C6 0x6E48 0x9165 # +0xE7C7 0x6E49 0x9169 # +0xE7C8 0x6E4A 0x9173 # +0xE7C9 0x6E4B 0x9172 # +0xE7CA 0x6E4C 0x918B # +0xE7CB 0x6E4D 0x9189 # +0xE7CC 0x6E4E 0x9182 # +0xE7CD 0x6E4F 0x91A2 # +0xE7CE 0x6E50 0x91AB # +0xE7CF 0x6E51 0x91AF # +0xE7D0 0x6E52 0x91AA # +0xE7D1 0x6E53 0x91B5 # +0xE7D2 0x6E54 0x91B4 # +0xE7D3 0x6E55 0x91BA # +0xE7D4 0x6E56 0x91C0 # +0xE7D5 0x6E57 0x91C1 # +0xE7D6 0x6E58 0x91C9 # +0xE7D7 0x6E59 0x91CB # +0xE7D8 0x6E5A 0x91D0 # +0xE7D9 0x6E5B 0x91D6 # +0xE7DA 0x6E5C 0x91DF # +0xE7DB 0x6E5D 0x91E1 # +0xE7DC 0x6E5E 0x91DB # +0xE7DD 0x6E5F 0x91FC # +0xE7DE 0x6E60 0x91F5 # +0xE7DF 0x6E61 0x91F6 # +0xE7E0 0x6E62 0x921E # +0xE7E1 0x6E63 0x91FF # +0xE7E2 0x6E64 0x9214 # +0xE7E3 0x6E65 0x922C # +0xE7E4 0x6E66 0x9215 # +0xE7E5 0x6E67 0x9211 # +0xE7E6 0x6E68 0x925E # +0xE7E7 0x6E69 0x9257 # +0xE7E8 0x6E6A 0x9245 # +0xE7E9 0x6E6B 0x9249 # +0xE7EA 0x6E6C 0x9264 # +0xE7EB 0x6E6D 0x9248 # +0xE7EC 0x6E6E 0x9295 # +0xE7ED 0x6E6F 0x923F # +0xE7EE 0x6E70 0x924B # +0xE7EF 0x6E71 0x9250 # +0xE7F0 0x6E72 0x929C # +0xE7F1 0x6E73 0x9296 # +0xE7F2 0x6E74 0x9293 # +0xE7F3 0x6E75 0x929B # +0xE7F4 0x6E76 0x925A # +0xE7F5 0x6E77 0x92CF # +0xE7F6 0x6E78 0x92B9 # +0xE7F7 0x6E79 0x92B7 # +0xE7F8 0x6E7A 0x92E9 # +0xE7F9 0x6E7B 0x930F # +0xE7FA 0x6E7C 0x92FA # +0xE7FB 0x6E7D 0x9344 # +0xE7FC 0x6E7E 0x932E # +0xE840 0x6F21 0x9319 # +0xE841 0x6F22 0x9322 # +0xE842 0x6F23 0x931A # +0xE843 0x6F24 0x9323 # +0xE844 0x6F25 0x933A # +0xE845 0x6F26 0x9335 # +0xE846 0x6F27 0x933B # +0xE847 0x6F28 0x935C # +0xE848 0x6F29 0x9360 # +0xE849 0x6F2A 0x937C # +0xE84A 0x6F2B 0x936E # +0xE84B 0x6F2C 0x9356 # +0xE84C 0x6F2D 0x93B0 # +0xE84D 0x6F2E 0x93AC # +0xE84E 0x6F2F 0x93AD # +0xE84F 0x6F30 0x9394 # +0xE850 0x6F31 0x93B9 # +0xE851 0x6F32 0x93D6 # +0xE852 0x6F33 0x93D7 # +0xE853 0x6F34 0x93E8 # +0xE854 0x6F35 0x93E5 # +0xE855 0x6F36 0x93D8 # +0xE856 0x6F37 0x93C3 # +0xE857 0x6F38 0x93DD # +0xE858 0x6F39 0x93D0 # +0xE859 0x6F3A 0x93C8 # +0xE85A 0x6F3B 0x93E4 # +0xE85B 0x6F3C 0x941A # +0xE85C 0x6F3D 0x9414 # +0xE85D 0x6F3E 0x9413 # +0xE85E 0x6F3F 0x9403 # +0xE85F 0x6F40 0x9407 # +0xE860 0x6F41 0x9410 # +0xE861 0x6F42 0x9436 # +0xE862 0x6F43 0x942B # +0xE863 0x6F44 0x9435 # +0xE864 0x6F45 0x9421 # +0xE865 0x6F46 0x943A # +0xE866 0x6F47 0x9441 # +0xE867 0x6F48 0x9452 # +0xE868 0x6F49 0x9444 # +0xE869 0x6F4A 0x945B # +0xE86A 0x6F4B 0x9460 # +0xE86B 0x6F4C 0x9462 # +0xE86C 0x6F4D 0x945E # +0xE86D 0x6F4E 0x946A # +0xE86E 0x6F4F 0x9229 # +0xE86F 0x6F50 0x9470 # +0xE870 0x6F51 0x9475 # +0xE871 0x6F52 0x9477 # +0xE872 0x6F53 0x947D # +0xE873 0x6F54 0x945A # +0xE874 0x6F55 0x947C # +0xE875 0x6F56 0x947E # +0xE876 0x6F57 0x9481 # +0xE877 0x6F58 0x947F # +0xE878 0x6F59 0x9582 # +0xE879 0x6F5A 0x9587 # +0xE87A 0x6F5B 0x958A # +0xE87B 0x6F5C 0x9594 # +0xE87C 0x6F5D 0x9596 # +0xE87D 0x6F5E 0x9598 # +0xE87E 0x6F5F 0x9599 # +0xE880 0x6F60 0x95A0 # +0xE881 0x6F61 0x95A8 # +0xE882 0x6F62 0x95A7 # +0xE883 0x6F63 0x95AD # +0xE884 0x6F64 0x95BC # +0xE885 0x6F65 0x95BB # +0xE886 0x6F66 0x95B9 # +0xE887 0x6F67 0x95BE # +0xE888 0x6F68 0x95CA # +0xE889 0x6F69 0x6FF6 # +0xE88A 0x6F6A 0x95C3 # +0xE88B 0x6F6B 0x95CD # +0xE88C 0x6F6C 0x95CC # +0xE88D 0x6F6D 0x95D5 # +0xE88E 0x6F6E 0x95D4 # +0xE88F 0x6F6F 0x95D6 # +0xE890 0x6F70 0x95DC # +0xE891 0x6F71 0x95E1 # +0xE892 0x6F72 0x95E5 # +0xE893 0x6F73 0x95E2 # +0xE894 0x6F74 0x9621 # +0xE895 0x6F75 0x9628 # +0xE896 0x6F76 0x962E # +0xE897 0x6F77 0x962F # +0xE898 0x6F78 0x9642 # +0xE899 0x6F79 0x964C # +0xE89A 0x6F7A 0x964F # +0xE89B 0x6F7B 0x964B # +0xE89C 0x6F7C 0x9677 # +0xE89D 0x6F7D 0x965C # +0xE89E 0x6F7E 0x965E # +0xE89F 0x7021 0x965D # +0xE8A0 0x7022 0x965F # +0xE8A1 0x7023 0x9666 # +0xE8A2 0x7024 0x9672 # +0xE8A3 0x7025 0x966C # +0xE8A4 0x7026 0x968D # +0xE8A5 0x7027 0x9698 # +0xE8A6 0x7028 0x9695 # +0xE8A7 0x7029 0x9697 # +0xE8A8 0x702A 0x96AA # +0xE8A9 0x702B 0x96A7 # +0xE8AA 0x702C 0x96B1 # +0xE8AB 0x702D 0x96B2 # +0xE8AC 0x702E 0x96B0 # +0xE8AD 0x702F 0x96B4 # +0xE8AE 0x7030 0x96B6 # +0xE8AF 0x7031 0x96B8 # +0xE8B0 0x7032 0x96B9 # +0xE8B1 0x7033 0x96CE # +0xE8B2 0x7034 0x96CB # +0xE8B3 0x7035 0x96C9 # +0xE8B4 0x7036 0x96CD # +0xE8B5 0x7037 0x894D # +0xE8B6 0x7038 0x96DC # +0xE8B7 0x7039 0x970D # +0xE8B8 0x703A 0x96D5 # +0xE8B9 0x703B 0x96F9 # +0xE8BA 0x703C 0x9704 # +0xE8BB 0x703D 0x9706 # +0xE8BC 0x703E 0x9708 # +0xE8BD 0x703F 0x9713 # +0xE8BE 0x7040 0x970E # +0xE8BF 0x7041 0x9711 # +0xE8C0 0x7042 0x970F # +0xE8C1 0x7043 0x9716 # +0xE8C2 0x7044 0x9719 # +0xE8C3 0x7045 0x9724 # +0xE8C4 0x7046 0x972A # +0xE8C5 0x7047 0x9730 # +0xE8C6 0x7048 0x9739 # +0xE8C7 0x7049 0x973D # +0xE8C8 0x704A 0x973E # +0xE8C9 0x704B 0x9744 # +0xE8CA 0x704C 0x9746 # +0xE8CB 0x704D 0x9748 # +0xE8CC 0x704E 0x9742 # +0xE8CD 0x704F 0x9749 # +0xE8CE 0x7050 0x975C # +0xE8CF 0x7051 0x9760 # +0xE8D0 0x7052 0x9764 # +0xE8D1 0x7053 0x9766 # +0xE8D2 0x7054 0x9768 # +0xE8D3 0x7055 0x52D2 # +0xE8D4 0x7056 0x976B # +0xE8D5 0x7057 0x9771 # +0xE8D6 0x7058 0x9779 # +0xE8D7 0x7059 0x9785 # +0xE8D8 0x705A 0x977C # +0xE8D9 0x705B 0x9781 # +0xE8DA 0x705C 0x977A # +0xE8DB 0x705D 0x9786 # +0xE8DC 0x705E 0x978B # +0xE8DD 0x705F 0x978F # +0xE8DE 0x7060 0x9790 # +0xE8DF 0x7061 0x979C # +0xE8E0 0x7062 0x97A8 # +0xE8E1 0x7063 0x97A6 # +0xE8E2 0x7064 0x97A3 # +0xE8E3 0x7065 0x97B3 # +0xE8E4 0x7066 0x97B4 # +0xE8E5 0x7067 0x97C3 # +0xE8E6 0x7068 0x97C6 # +0xE8E7 0x7069 0x97C8 # +0xE8E8 0x706A 0x97CB # +0xE8E9 0x706B 0x97DC # +0xE8EA 0x706C 0x97ED # +0xE8EB 0x706D 0x9F4F # +0xE8EC 0x706E 0x97F2 # +0xE8ED 0x706F 0x7ADF # +0xE8EE 0x7070 0x97F6 # +0xE8EF 0x7071 0x97F5 # +0xE8F0 0x7072 0x980F # +0xE8F1 0x7073 0x980C # +0xE8F2 0x7074 0x9838 # +0xE8F3 0x7075 0x9824 # +0xE8F4 0x7076 0x9821 # +0xE8F5 0x7077 0x9837 # +0xE8F6 0x7078 0x983D # +0xE8F7 0x7079 0x9846 # +0xE8F8 0x707A 0x984F # +0xE8F9 0x707B 0x984B # +0xE8FA 0x707C 0x986B # +0xE8FB 0x707D 0x986F # +0xE8FC 0x707E 0x9870 # +0xE940 0x7121 0x9871 # +0xE941 0x7122 0x9874 # +0xE942 0x7123 0x9873 # +0xE943 0x7124 0x98AA # +0xE944 0x7125 0x98AF # +0xE945 0x7126 0x98B1 # +0xE946 0x7127 0x98B6 # +0xE947 0x7128 0x98C4 # +0xE948 0x7129 0x98C3 # +0xE949 0x712A 0x98C6 # +0xE94A 0x712B 0x98E9 # +0xE94B 0x712C 0x98EB # +0xE94C 0x712D 0x9903 # +0xE94D 0x712E 0x9909 # +0xE94E 0x712F 0x9912 # +0xE94F 0x7130 0x9914 # +0xE950 0x7131 0x9918 # +0xE951 0x7132 0x9921 # +0xE952 0x7133 0x991D # +0xE953 0x7134 0x991E # +0xE954 0x7135 0x9924 # +0xE955 0x7136 0x9920 # +0xE956 0x7137 0x992C # +0xE957 0x7138 0x992E # +0xE958 0x7139 0x993D # +0xE959 0x713A 0x993E # +0xE95A 0x713B 0x9942 # +0xE95B 0x713C 0x9949 # +0xE95C 0x713D 0x9945 # +0xE95D 0x713E 0x9950 # +0xE95E 0x713F 0x994B # +0xE95F 0x7140 0x9951 # +0xE960 0x7141 0x9952 # +0xE961 0x7142 0x994C # +0xE962 0x7143 0x9955 # +0xE963 0x7144 0x9997 # +0xE964 0x7145 0x9998 # +0xE965 0x7146 0x99A5 # +0xE966 0x7147 0x99AD # +0xE967 0x7148 0x99AE # +0xE968 0x7149 0x99BC # +0xE969 0x714A 0x99DF # +0xE96A 0x714B 0x99DB # +0xE96B 0x714C 0x99DD # +0xE96C 0x714D 0x99D8 # +0xE96D 0x714E 0x99D1 # +0xE96E 0x714F 0x99ED # +0xE96F 0x7150 0x99EE # +0xE970 0x7151 0x99F1 # +0xE971 0x7152 0x99F2 # +0xE972 0x7153 0x99FB # +0xE973 0x7154 0x99F8 # +0xE974 0x7155 0x9A01 # +0xE975 0x7156 0x9A0F # +0xE976 0x7157 0x9A05 # +0xE977 0x7158 0x99E2 # +0xE978 0x7159 0x9A19 # +0xE979 0x715A 0x9A2B # +0xE97A 0x715B 0x9A37 # +0xE97B 0x715C 0x9A45 # +0xE97C 0x715D 0x9A42 # +0xE97D 0x715E 0x9A40 # +0xE97E 0x715F 0x9A43 # +0xE980 0x7160 0x9A3E # +0xE981 0x7161 0x9A55 # +0xE982 0x7162 0x9A4D # +0xE983 0x7163 0x9A5B # +0xE984 0x7164 0x9A57 # +0xE985 0x7165 0x9A5F # +0xE986 0x7166 0x9A62 # +0xE987 0x7167 0x9A65 # +0xE988 0x7168 0x9A64 # +0xE989 0x7169 0x9A69 # +0xE98A 0x716A 0x9A6B # +0xE98B 0x716B 0x9A6A # +0xE98C 0x716C 0x9AAD # +0xE98D 0x716D 0x9AB0 # +0xE98E 0x716E 0x9ABC # +0xE98F 0x716F 0x9AC0 # +0xE990 0x7170 0x9ACF # +0xE991 0x7171 0x9AD1 # +0xE992 0x7172 0x9AD3 # +0xE993 0x7173 0x9AD4 # +0xE994 0x7174 0x9ADE # +0xE995 0x7175 0x9ADF # +0xE996 0x7176 0x9AE2 # +0xE997 0x7177 0x9AE3 # +0xE998 0x7178 0x9AE6 # +0xE999 0x7179 0x9AEF # +0xE99A 0x717A 0x9AEB # +0xE99B 0x717B 0x9AEE # +0xE99C 0x717C 0x9AF4 # +0xE99D 0x717D 0x9AF1 # +0xE99E 0x717E 0x9AF7 # +0xE99F 0x7221 0x9AFB # +0xE9A0 0x7222 0x9B06 # +0xE9A1 0x7223 0x9B18 # +0xE9A2 0x7224 0x9B1A # +0xE9A3 0x7225 0x9B1F # +0xE9A4 0x7226 0x9B22 # +0xE9A5 0x7227 0x9B23 # +0xE9A6 0x7228 0x9B25 # +0xE9A7 0x7229 0x9B27 # +0xE9A8 0x722A 0x9B28 # +0xE9A9 0x722B 0x9B29 # +0xE9AA 0x722C 0x9B2A # +0xE9AB 0x722D 0x9B2E # +0xE9AC 0x722E 0x9B2F # +0xE9AD 0x722F 0x9B32 # +0xE9AE 0x7230 0x9B44 # +0xE9AF 0x7231 0x9B43 # +0xE9B0 0x7232 0x9B4F # +0xE9B1 0x7233 0x9B4D # +0xE9B2 0x7234 0x9B4E # +0xE9B3 0x7235 0x9B51 # +0xE9B4 0x7236 0x9B58 # +0xE9B5 0x7237 0x9B74 # +0xE9B6 0x7238 0x9B93 # +0xE9B7 0x7239 0x9B83 # +0xE9B8 0x723A 0x9B91 # +0xE9B9 0x723B 0x9B96 # +0xE9BA 0x723C 0x9B97 # +0xE9BB 0x723D 0x9B9F # +0xE9BC 0x723E 0x9BA0 # +0xE9BD 0x723F 0x9BA8 # +0xE9BE 0x7240 0x9BB4 # +0xE9BF 0x7241 0x9BC0 # +0xE9C0 0x7242 0x9BCA # +0xE9C1 0x7243 0x9BB9 # +0xE9C2 0x7244 0x9BC6 # +0xE9C3 0x7245 0x9BCF # +0xE9C4 0x7246 0x9BD1 # +0xE9C5 0x7247 0x9BD2 # +0xE9C6 0x7248 0x9BE3 # +0xE9C7 0x7249 0x9BE2 # +0xE9C8 0x724A 0x9BE4 # +0xE9C9 0x724B 0x9BD4 # +0xE9CA 0x724C 0x9BE1 # +0xE9CB 0x724D 0x9C3A # +0xE9CC 0x724E 0x9BF2 # +0xE9CD 0x724F 0x9BF1 # +0xE9CE 0x7250 0x9BF0 # +0xE9CF 0x7251 0x9C15 # +0xE9D0 0x7252 0x9C14 # +0xE9D1 0x7253 0x9C09 # +0xE9D2 0x7254 0x9C13 # +0xE9D3 0x7255 0x9C0C # +0xE9D4 0x7256 0x9C06 # +0xE9D5 0x7257 0x9C08 # +0xE9D6 0x7258 0x9C12 # +0xE9D7 0x7259 0x9C0A # +0xE9D8 0x725A 0x9C04 # +0xE9D9 0x725B 0x9C2E # +0xE9DA 0x725C 0x9C1B # +0xE9DB 0x725D 0x9C25 # +0xE9DC 0x725E 0x9C24 # +0xE9DD 0x725F 0x9C21 # +0xE9DE 0x7260 0x9C30 # +0xE9DF 0x7261 0x9C47 # +0xE9E0 0x7262 0x9C32 # +0xE9E1 0x7263 0x9C46 # +0xE9E2 0x7264 0x9C3E # +0xE9E3 0x7265 0x9C5A # +0xE9E4 0x7266 0x9C60 # +0xE9E5 0x7267 0x9C67 # +0xE9E6 0x7268 0x9C76 # +0xE9E7 0x7269 0x9C78 # +0xE9E8 0x726A 0x9CE7 # +0xE9E9 0x726B 0x9CEC # +0xE9EA 0x726C 0x9CF0 # +0xE9EB 0x726D 0x9D09 # +0xE9EC 0x726E 0x9D08 # +0xE9ED 0x726F 0x9CEB # +0xE9EE 0x7270 0x9D03 # +0xE9EF 0x7271 0x9D06 # +0xE9F0 0x7272 0x9D2A # +0xE9F1 0x7273 0x9D26 # +0xE9F2 0x7274 0x9DAF # +0xE9F3 0x7275 0x9D23 # +0xE9F4 0x7276 0x9D1F # +0xE9F5 0x7277 0x9D44 # +0xE9F6 0x7278 0x9D15 # +0xE9F7 0x7279 0x9D12 # +0xE9F8 0x727A 0x9D41 # +0xE9F9 0x727B 0x9D3F # +0xE9FA 0x727C 0x9D3E # +0xE9FB 0x727D 0x9D46 # +0xE9FC 0x727E 0x9D48 # +0xEA40 0x7321 0x9D5D # +0xEA41 0x7322 0x9D5E # +0xEA42 0x7323 0x9D64 # +0xEA43 0x7324 0x9D51 # +0xEA44 0x7325 0x9D50 # +0xEA45 0x7326 0x9D59 # +0xEA46 0x7327 0x9D72 # +0xEA47 0x7328 0x9D89 # +0xEA48 0x7329 0x9D87 # +0xEA49 0x732A 0x9DAB # +0xEA4A 0x732B 0x9D6F # +0xEA4B 0x732C 0x9D7A # +0xEA4C 0x732D 0x9D9A # +0xEA4D 0x732E 0x9DA4 # +0xEA4E 0x732F 0x9DA9 # +0xEA4F 0x7330 0x9DB2 # +0xEA50 0x7331 0x9DC4 # +0xEA51 0x7332 0x9DC1 # +0xEA52 0x7333 0x9DBB # +0xEA53 0x7334 0x9DB8 # +0xEA54 0x7335 0x9DBA # +0xEA55 0x7336 0x9DC6 # +0xEA56 0x7337 0x9DCF # +0xEA57 0x7338 0x9DC2 # +0xEA58 0x7339 0x9DD9 # +0xEA59 0x733A 0x9DD3 # +0xEA5A 0x733B 0x9DF8 # +0xEA5B 0x733C 0x9DE6 # +0xEA5C 0x733D 0x9DED # +0xEA5D 0x733E 0x9DEF # +0xEA5E 0x733F 0x9DFD # +0xEA5F 0x7340 0x9E1A # +0xEA60 0x7341 0x9E1B # +0xEA61 0x7342 0x9E1E # +0xEA62 0x7343 0x9E75 # +0xEA63 0x7344 0x9E79 # +0xEA64 0x7345 0x9E7D # +0xEA65 0x7346 0x9E81 # +0xEA66 0x7347 0x9E88 # +0xEA67 0x7348 0x9E8B # +0xEA68 0x7349 0x9E8C # +0xEA69 0x734A 0x9E92 # +0xEA6A 0x734B 0x9E95 # +0xEA6B 0x734C 0x9E91 # +0xEA6C 0x734D 0x9E9D # +0xEA6D 0x734E 0x9EA5 # +0xEA6E 0x734F 0x9EA9 # +0xEA6F 0x7350 0x9EB8 # +0xEA70 0x7351 0x9EAA # +0xEA71 0x7352 0x9EAD # +0xEA72 0x7353 0x9761 # +0xEA73 0x7354 0x9ECC # +0xEA74 0x7355 0x9ECE # +0xEA75 0x7356 0x9ECF # +0xEA76 0x7357 0x9ED0 # +0xEA77 0x7358 0x9ED4 # +0xEA78 0x7359 0x9EDC # +0xEA79 0x735A 0x9EDE # +0xEA7A 0x735B 0x9EDD # +0xEA7B 0x735C 0x9EE0 # +0xEA7C 0x735D 0x9EE5 # +0xEA7D 0x735E 0x9EE8 # +0xEA7E 0x735F 0x9EEF # +0xEA80 0x7360 0x9EF4 # +0xEA81 0x7361 0x9EF6 # +0xEA82 0x7362 0x9EF7 # +0xEA83 0x7363 0x9EF9 # +0xEA84 0x7364 0x9EFB # +0xEA85 0x7365 0x9EFC # +0xEA86 0x7366 0x9EFD # +0xEA87 0x7367 0x9F07 # +0xEA88 0x7368 0x9F08 # +0xEA89 0x7369 0x76B7 # +0xEA8A 0x736A 0x9F15 # +0xEA8B 0x736B 0x9F21 # +0xEA8C 0x736C 0x9F2C # +0xEA8D 0x736D 0x9F3E # +0xEA8E 0x736E 0x9F4A # +0xEA8F 0x736F 0x9F52 # +0xEA90 0x7370 0x9F54 # +0xEA91 0x7371 0x9F63 # +0xEA92 0x7372 0x9F5F # +0xEA93 0x7373 0x9F60 # +0xEA94 0x7374 0x9F61 # +0xEA95 0x7375 0x9F66 # +0xEA96 0x7376 0x9F67 # +0xEA97 0x7377 0x9F6C # +0xEA98 0x7378 0x9F6A # +0xEA99 0x7379 0x9F77 # +0xEA9A 0x737A 0x9F72 # +0xEA9B 0x737B 0x9F76 # +0xEA9C 0x737C 0x9F95 # +0xEA9D 0x737D 0x9F9C # +0xEA9E 0x737E 0x9FA0 # +0xEA9F 0x7421 0x582F # +0xEAA0 0x7422 0x69C7 # +0xEAA1 0x7423 0x9059 # +0xEAA2 0x7424 0x7464 # +0xEAA3 0x7425 0x51DC # +0xEAA4 0x7426 0x7199 # diff --git a/ext/mbstring/tests/iso2022jp_2004_encoding.phpt b/ext/mbstring/tests/iso2022jp_2004_encoding.phpt new file mode 100644 index 0000000000000..0e336f0aa9779 --- /dev/null +++ b/ext/mbstring/tests/iso2022jp_2004_encoding.phpt @@ -0,0 +1,335 @@ +--TEST-- +Exhaustive test of ISO-2022-JP-2004 encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/JISX0208.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x\t0x%x", $shiftJIS, $jis0208Code, $unicodeCP) == 3) { + $jisx0208Chars[pack('n', $jis0208Code)] = pack('n', $unicodeCP); + } +} + +/* The JIS X 0208 character set does not have a single, straightforward + * mapping to the Unicode character set + * mbstring converts one character differently from the mappings in + * ../docs/JISX0208.txt, which comes from the Unicode Consortium */ + +/* 0x2140 is a backslash; this can be mapped to 0x005C for an ordinary + * backslash, or 0xFF3C for a _fullwidth_ one */ +$jisx0208Chars["\x21\x40"] = "\xFF\x3C"; + +/* Single bytes from 0x0-0x20 are allowed */ +for ($i = 0; $i <= 0x20; $i++) { + if ($i != 0x1B) + $jisx0208Chars[chr($i)] = "\x00" . chr($i); +} +/* As is 0x7F */ +$jisx0208Chars["\x7F"] = "\x00\x7F"; + +/* Now read table of JISX-0213:2004 plane 1 and JISX-0213:2000 plane 2 chars */ +$jisx0213_2004_1Chars = array(); +$jisx0213_2000_2Chars = array(); +$fp = fopen(realpath(__DIR__ . '/../docs/ISO-2022-JP-2004-JISX0213.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + $cp2 = null; + if (sscanf($line, "%d-%x\tU+%x+%x", $type, $bytes, $cp1, $cp2) >= 3) { + if ($cp1 <= 0xFFFF) + $unicode = pack('n', $cp1); + else + $unicode = mb_convert_encoding(pack('N', $cp1), 'UTF-16BE', 'UTF-32BE'); + + if ($cp2) + $unicode .= pack('n', $cp2); + + if ($type == 3) + $jisx0213_2004_1Chars[pack('n', $bytes)] = $unicode; + else if ($type == 4) + $jisx0213_2000_2Chars[pack('n', $bytes)] = $unicode; + } +} + +/* JISX 0213 plane 1 0x2131 is an overline; Unicode has a halfwidth overline + * at 0x203E and a fullwidth overline at 0xFFE3 + * We'll use the fullwidth version when converting JISX 0213 to Unicode */ +$jisx0213_2004_1Chars["\x21\x31"] = "\xFF\xE3"; +/* Same deal with the Yen sign; use the fullwidth one */ +$jisx0213_2004_1Chars["\x21\x6F"] = "\xFF\xE5"; + +/* Since JISX 0213 is an extension of JISX 0208, allow the same single-byte chars */ +for ($i = 0; $i <= 0x20; $i++) { + if ($i != 0x1B) + $jisx0213_2004_1Chars[chr($i)] = "\x00" . chr($i); +} +$jisx0213_2004_1Chars["\x7F"] = "\x00\x7F"; + +for ($i = 0; $i <= 0x20; $i++) { + if ($i != 0x1B) + $jisx0213_2000_2Chars[chr($i)] = "\x00" . chr($i); +} +$jisx0213_2000_2Chars["\x7F"] = "\x00\x7F"; + +function testValid($from, $to, $bothWays = true) { + identifyValidString($from, 'ISO-2022-JP-2004'); + convertValidString($from, $to, 'ISO-2022-JP-2004', 'UTF-16BE', false); + + if ($bothWays) { + /* Try going in the opposite direction too + * ESC ( B at the beginning of ISO-2022-JP-2004 string is redundant, + * since ASCII mode is the default */ + if (substr($from, 0, 3) == "\x1B(B") + $from = substr($from, 3, strlen($from) - 3); + /* If the ISO-2022-JP-2004 string switches to a different charset, it + * should switch back to ASCII at the end */ + if (strpos($from, "\x1B\$B") !== false) + $from .= "\x1B(B"; + + convertValidString($to, $from, 'UTF-16BE', 'ISO-2022-JP-2004', false); + } +} + +function testInvalid($from, $to) { + testInvalidString($from, $to, 'ISO-2022-JP-2004', 'UTF-16BE'); +} + +/* Try all ASCII characters */ +for ($i = 0; $i <= 0x7F; $i++) { + if ($i == 0x1B) + continue; + testValid(chr($i), "\x00" . chr($i)); +} + +/* Try all ASCII characters, with explicit ASCII escape */ +for ($i = 0; $i <= 0x7F; $i++) { + if ($i == 0x1B) + continue; + testValid("\x1B(B" . chr($i), "\x00" . chr($i)); +} + +echo "Encoding verification and conversion works for all ASCII characters\n"; + +/* Try a bare ESC */ +identifyInvalidString("\x1B", 'ISO-2022-JP-2004'); + +/* Try all non-ASCII, non-ESC single bytes */ +for ($i = 0x80; $i <= 0xFF; $i++) { + testInvalid(chr($i), "\x00%"); +} + +echo "Encoding verification and conversion rejects all invalid single bytes\n"; + +/* All valid JISX0208 characters */ +foreach ($jisx0208Chars as $jisx0208 => $utf16BE) { + /* Since JIS X 0213 charset is a superset of JIS X 0208, we don't bother + * using JIS X 0208 when converting Unicode to ISO-2022-JP-2004 + * Therefore, don't test conversion in both directions here */ + testValid("\x1B\$B" . $jisx0208, $utf16BE, false); +} + +/* All invalid 1-byte JISX0208 characters */ +for ($i = 0; $i < 256; $i++) { + if ($i == 0x1B) + continue; + if ($i >= 0x21 && $i <= 0x7E) + continue; + $testString = chr($i); + if (!isset($jisx0208Chars[$testString])) { + testInvalid("\x1B\$B" . $testString, "\x00%"); + } +} + +/* All invalid 2-byte JISX0208 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($jisx0208Chars[$testString])) { + testInvalid("\x1B\$B" . $testString, "\x00%"); + } + } +} + +echo "Encoding verification and conversion work on JISX-0208 characters\n"; + +/* All JISX0213 plane 1 characters */ +foreach ($jisx0213_2004_1Chars as $jisx0213_2004 => $utf16BE) { + /* For single bytes, don't try conversion in both directions */ + testValid("\x1B$(Q" . $jisx0213_2004, $utf16BE, $utf16BE > "\x01\x00"); +} + +/* All invalid 2-byte JISX0213 plane 1 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($jisx0213_2004_1Chars[$testString])) { + testInvalid("\x1B$(Q" . $testString, "\x00%"); + } + } +} + +echo "Encoding verification and conversion work on JISX-0213:2004 plane 1 characters\n"; + +/* All JISX0213 plane 2 characters */ +foreach ($jisx0213_2000_2Chars as $jisx0213_2000 => $utf16BE) { + /* For single bytes, don't try conversion in both directions */ + testValid("\x1B$(P" . $jisx0213_2000, $utf16BE, $utf16BE > "\x01\x00"); +} + +/* All invalid 2-byte JISX0213 plane 2 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($jisx0213_2000_2Chars[$testString])) { + testInvalid("\x1B$(P" . $testString, "\x00%"); + } + } +} + +echo "Encoding verification and conversion work on JISX-0213:2000 plane 2 characters\n"; + +/* All possible escape sequences */ +$validEscapes = ["\x1B\$B" => true, "\x1B(B" => true, "\x1B$(Q" => true, "\x1B$(P" => true]; +for ($i = 0; $i <= 0xFF; $i++) { + for ($j = 0; $j <= 0xFF; $j++) { + $escapeSequence = "\x1B" . chr($i) . chr($j); + if (isset($validEscapes[$escapeSequence])) { + testValid($escapeSequence, "", false); + } else { + identifyInvalidString($escapeSequence, 'ISO-2022-JP-2004'); + } + } +} + +echo "All escape sequences work as expected\n"; + +identifyInvalidString("\x1B$", 'ISO-2022-JP-2004'); +identifyInvalidString("\x1B(", 'ISO-2022-JP-2004'); +identifyInvalidString("\x1B$(", 'ISO-2022-JP-2004'); + +echo "All incomplete escape sequences are rejected\n"; + +/* Try all combinations of 2 different charsets in the same string */ +$ascii = "\x1B(Ba"; +$jisx0208 = "\x1B\$B" . array_keys($jisx0208Chars)[rand(0,1000)]; +$jisx0213_1 = "\x1B$(Q" . array_keys($jisx0213_2004_1Chars)[rand(0,1000)]; +$jisx0213_2 = "\x1B$(P" . array_keys($jisx0213_2000_2Chars)[rand(0,1000)]; +$differentCharsets = [$ascii, $jisx0208, $jisx0213_1, $jisx0213_2]; +foreach ($differentCharsets as $a) { + foreach ($differentCharsets as $b) { + identifyValidString($a . $b, 'ISO-2022-JP-2004'); + } +} + +/* Try redundant escape sequences (switching mode but including any characters + * in the new mode) */ +$ascii_Esc = "\x1B(B"; +$jisx0208_Esc = "\x1B\$B"; +$jisx0213_1_Esc = "\x1B$(Q"; +$jisx0213_2_Esc = "\x1B$(P"; +$differentCharsets = [$ascii_Esc, $jisx0208_Esc, $jisx0213_1_Esc, $jisx0213_2_Esc]; +foreach ($differentCharsets as $a) { + foreach ($differentCharsets as $b) { + testValid($a . $b, "", false); + } +} + +echo "Combining multiple charsets in the same string works as expected\n"; + +/* Try ending in the middle of a JISX0208 character */ +testInvalid(substr($jisx0208, 0, strlen($jisx0208) - 1), "\x00%"); + +/* Try ending in the middle of a JISX0213 plane 1 character */ +testInvalid(substr($jisx0213_1, 0, strlen($jisx0213_1) - 1), "\x00%"); + +/* Try ending in the middle of a JISX0213 plane 2 character */ +testInvalid(substr($jisx0213_2, 0, strlen($jisx0213_2) - 1), "\x00%"); + +echo "Strings with truncated multi-byte characters are rejected\n"; + +/* We have tried converting all kinds of strings with single characters; + * now try some random examples of strings with multiple characters */ +$jisx0208 = array_keys($jisx0208Chars); +shuffle($jisx0208); +$jisx0213_1 = array_keys($jisx0213_2004_1Chars); +shuffle($jisx0213_1); +$jisx0213_2 = array_keys($jisx0213_2000_2Chars); +shuffle($jisx0213_2); + +for ($i = 0; $i < 100; $i++) { + $size = rand(5,20); + $testString = ''; + $convertsTo = ''; + + /* Build a string from a random combination of characters in the supported + * character sets */ + while ($size--) { + $type = rand(0,4); + $chars = rand(0,10); + if ($type == 0) { /* ASCII */ + $testString .= "\x1B(B"; + while ($chars--) { + $ascii = chr(rand(0x20, 0x7E)); + $testString .= $ascii; + $convertsTo .= "\x00" . $ascii; + } + } else if ($type == 1) { /* JIS X 0208 */ + $testString .= "\x1B\$B"; + while ($chars--) { + $jis = array_pop($jisx0208); + $testString .= $jis; + $convertsTo .= $jisx0208Chars[$jis]; + } + } else if ($type == 2) { /* JIS X 0213:2004 plane 1 */ + $testString .= "\x1B$(Q"; + while ($chars--) { + $jis = array_pop($jisx0213_1); + $testString .= $jis; + $convertsTo .= $jisx0213_2004_1Chars[$jis]; + } + } else { /* JIS X 0213:2000 plane 2 */ + $testString .= "\x1B$(P"; + while ($chars-- && !empty($jisx0213_2)) { + $jis = array_pop($jisx0213_2); + $testString .= $jis; + $convertsTo .= $jisx0213_2000_2Chars[$jis]; + } + } + } + + testValid($testString, $convertsTo, false); +} + +echo "All done!\n"; + +?> +--EXPECT-- +Encoding verification and conversion works for all ASCII characters +Encoding verification and conversion rejects all invalid single bytes +Encoding verification and conversion work on JISX-0208 characters +Encoding verification and conversion work on JISX-0213:2004 plane 1 characters +Encoding verification and conversion work on JISX-0213:2000 plane 2 characters +All escape sequences work as expected +All incomplete escape sequences are rejected +Combining multiple charsets in the same string works as expected +Strings with truncated multi-byte characters are rejected +All done! From 2e063528b0ca16387c5d1f53beaff227b4f40588 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 19 Sep 2020 16:26:04 +0200 Subject: [PATCH 032/123] Add comment explaining why ISO-2022-JP-2004, etc strings end with ESC ( B These encodings have multiple modes which can be selected via escape sequences. The default starting mode is ASCII. If a string _ends_ in a different mode, we emit a 'redundant' escape sequence to switch back to ASCII. If the resulting string is never concatenated with other strings, that extra escape sequence serves no purpose. But if the resulting string is concatenated with other strings of the same encoding, it ensures that the resulting string will be valid. --- ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 6bff325e0bf01..ee63ec06f5a14 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -736,7 +736,9 @@ mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) CK((*filter->output_function)(s2, filter->data)); } - /* back to latin */ + /* If we had switched to a different charset, go back to ASCII mode + * This makes it possible to concatenate arbitrary valid strings + * together and get a valid string */ if ((filter->status & 0xff00) != 0) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ From f3e3ee57346895d60bcb908c86ece60524463d30 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 13 Sep 2020 20:07:56 +0200 Subject: [PATCH 033/123] Stricter identification of valid strings in JIS7/JIS8 and ISO-2022-JP encodings --- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 19 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 302 ++++++++++-------- .../libmbfl/filters/mbfilter_sjis_2004.c | 18 ++ .../libmbfl/filters/unicode_table_jis2004.h | 18 -- 4 files changed, 188 insertions(+), 169 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index aecedb31eb385..2cea3de64f060 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -32,6 +32,7 @@ #include "mbfilter_sjis_2004.h" #include "unicode_table_jis.h" +#include "unicode_table_jis2004.h" extern int mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter); @@ -190,15 +191,8 @@ static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) static inline int is_reserved_jisx0213_plane1_range(int c1, int c2) { - if (c1 == 0x24) - return IN(c2,0x7C,0x7E); - else if (c1 == 0x28) - return IN(c2,0x5F,0x66) || (c2 == 0x7D) || (c2 == 0x7E); - else if (c1 == 0x2C) - return IN(c2,0x74,0x7C); - else if (c1 == 0x2D) - return IN(c2,0x58,0x5E) || IN(c2,0x70,0x72) || IN(c2,0x74,0x77) || IN(c2,0x7A,0x7C); - return 0; + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0213_ucs_table_size || !jisx0213_ucs_table[s]; } /* In JIS X 0213:2004 plane 1 */ @@ -222,11 +216,8 @@ static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filte static inline int is_reserved_jisx0213_plane2_range(int c1, int c2) { - if (c1 == 0x22 || c1 == 0x26 || c1 == 0x27 || IN(c1,0x29,0x2B) || IN(c1,0x30,0x6D)) - return 1; - else if (c1 == 0x7E && c2 >= 0x77) - return 1; - return 0; + unsigned int s = (c1 - 0x21)*94 + (94*94) + c2 - 0x21; + return s >= jisx0213_ucs_table_size || !jisx0213_ucs_table[s]; } /* In JIS X 0213:2000 plane 2 */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index b08eec38b0ab7..15c390432a42c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static int mbfl_filt_ident_jis(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_jis = { @@ -61,7 +61,7 @@ const mbfl_encoding mbfl_encoding_2022jp = { const struct mbfl_identify_vtbl vtbl_identify_jis = { mbfl_no_encoding_jis, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_jis + mbfl_filt_ident_jis7 }; const struct mbfl_identify_vtbl vtbl_identify_2022jp = { @@ -484,176 +484,204 @@ mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) return 0; } -static int mbfl_filt_ident_jis(int c, mbfl_identify_filter *filter) +static int mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter); +static int mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter); + +/* ISO 2022-JP has different modes, which can be selected by a sequence + * starting with ESC (0x1B). In each mode, characters can be selected from a + * different character set. */ +static int handle_basic_esc_sequence(int c, mbfl_identify_filter *filter) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x20: X 0201 kana */ -/* case 0x80: X 0208 */ -/* case 0x90: X 0212 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (c == 0x0e) { /* "kana in" */ - filter->status = 0x20; - } else if (c == 0x0f) { /* "kana out" */ - filter->status = 0; - } else if ((filter->status == 0x80 || filter->status == 0x90) && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ + /* If we are on the 2nd byte of a 2-byte character, `filter->status` will + * be `first_byte << 8` */ + + switch (filter->status) { + case 0: /* Starting new character */ + if (c == 0x1B) { /* ESC */ + filter->status = 1; + return 1; } break; -/* case 0x81: X 0208 second char */ -/* case 0x91: X 0212 second char */ - case 1: - filter->status &= ~0xf; - if (c == 0x1b) { - goto retry; - } else if (c < 0x21 || c > 0x7e) { /* bad */ + case 1: /* Already saw ESC */ + if (c == '$') { + filter->status = 2; + } else if (c == '(') { + filter->status = 3; + } else { filter->flag = 1; + filter->status = 0; } - break; + return 1; - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + case 2: /* Already saw ESC $ */ + if (c == '(') { + filter->status = 4; + return 1; } - break; + } - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ - filter->status++; + return 0; +} + +static int handle_esc_sequence_jis7(int c, mbfl_identify_filter *filter) +{ + if (handle_basic_esc_sequence(c, filter)) { + return 1; + } + + switch (filter->status) { + case 2: /* Already saw ESC $ */ + if (c == 'B' || c == '@') { + /* Switch to JIS X 0208 */ + filter->filter_function = mbfl_filt_ident_jis7_0208; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; - - /* ESC $ ( */ - case 4: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x44) { /* 'D' */ - filter->status = 0x90; + filter->status = 0; + return 1; + + case 3: /* Already saw ESC ( */ + if (c == 'B' || c == 'H' || c == 'J' || c == 'I') { + /* B => switch to ASCII + * J => switch to JIS X 0201 Roman + * I => switch to JIS X 0201 Kana + * We don't care about the difference, because the valid byte + * sequences are the same in any case! */ + filter->filter_function = mbfl_filt_ident_jis7; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; + filter->status = 0; + return 1; - /* ESC ( */ - case 5: - if (c == 0x42 || c == 0x48) { /* 'B' or 'H' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; + case 4: /* Already saw ESC $ ( */ + if (c == 'D') { + /* Switch to JIS X 0212 + * This is an extension from ISO-2022-JP-1 (RFC 2237) */ + filter->filter_function = mbfl_filt_ident_jis7_0212; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; - - default: filter->status = 0; - break; + return 1; } + return 0; +} + +static int mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter) +{ + /* We convert single bytes from 0xA1-0xDF to JIS X 0201 kana, even if + * no escape to shift to JIS X 0201 has been seen */ + if (!handle_esc_sequence_jis7(c, filter) && ((c >= 0x80 && c <= 0xA0) || c >= 0xE0)) { + filter->flag = 1; + } return c; } -static int mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter) +/* Not all byte sequences in JIS X 0208 which would otherwise be valid are + * actually mapped to a character */ +static inline int in_unused_jisx0208_range(int c1, int c2) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x80: X 0208 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ - } - break; + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0208_ucs_table_size || !jisx0208_ucs_table[s]; +} -/* case 0x81: X 0208 second char */ - case 1: - if (c == 0x1b) { - filter->status++; - } else { - filter->status &= ~0xf; - if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; - } +static int handle_jisx_0208(int c, mbfl_identify_filter *filter) +{ + if (filter->status == 0) { + if (c >= 0x21 && c <= 0x7E) { + filter->status = c << 8; + } else if (c > 0x7F) { + filter->flag = 1; } - break; + } else if (c < 0x21 || c > 0x7E || in_unused_jisx0208_range(filter->status >> 8, c)) { + filter->flag = 1; + } else { + filter->status = 0; + } + return c; +} - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; +static int mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter) +{ + return handle_esc_sequence_jis7(c, filter) || handle_jisx_0208(c, filter); +} + +static inline int in_unused_jisx0212_range(int c1, int c2) +{ + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; +} + +static int mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter) +{ + if (handle_esc_sequence_jis7(c, filter)) { + return c; + } else if (filter->status == 0) { + if (c >= 0x21 && c <= 0x7E) { + filter->status = c << 8; + } else if (c > 0x7F) { + filter->flag = 1; } - break; + } else if (c < 0x21 || c > 0x7E || in_unused_jisx0212_range(filter->status >> 8, c)) { + filter->flag = 1; + } else { + filter->status = 0; + } + return c; +} - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; +static int handle_esc_sequence_2022jp(int c, mbfl_identify_filter *filter) +{ + if (handle_basic_esc_sequence(c, filter)) { + return 1; + } + + switch (filter->status) { + case 2: /* Already saw ESC $ */ + if (c == 'B' || c == '@') { + /* Switch to JIS X 0208 */ + filter->filter_function = mbfl_filt_ident_2022jp_0208; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; - - /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; + filter->status = 0; + return 1; + + case 3: /* Already saw ESC ( */ + if (c == 'B' || c == 'J') { + /* B => switch to ASCII + * J => switch to JIS X 0201 Roman + * We don't care about the difference, because the valid byte + * sequences are the same in any case! */ + filter->filter_function = mbfl_filt_ident_2022jp; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; } - break; + filter->status = 0; + return 1; - default: + case 4: /* Already saw ESC $ ( */ + filter->flag = 1; filter->status = 0; - break; + return 1; } + return 0; +} + +static int mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence_2022jp(c, filter) && c > 0x7F) { + filter->flag = 1; + } return c; } + +static int mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter) +{ + return handle_esc_sequence_2022jp(c, filter) || handle_jisx_0208(c, filter); +} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index ee63ec06f5a14..b78f7b7b83b93 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -83,6 +83,24 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis2004 = { #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) +static const int uni2jis_tbl_range[][2] = { + {0x0000, 0x045f}, + {0x3000, 0x30ff}, + {0x4e00, 0x9fff}, + {0xff00, 0xffe5}, + {0xfa0f, 0xfa6a}, +}; + +static const unsigned short *uni2jis_tbl[] = { + ucs_a1_jisx0213_table, + ucs_hk_jisx0213_table, + ucs_i_jisx0213_table, + ucs_r_jisx0213_table, + ucs_r2_jisx0213_table, +}; + +static const int uni2jis_tbl_len = sizeof(uni2jis_tbl_range) / (sizeof(int)*2); + #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ diff --git a/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h b/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h index 01afcc1f2d9f4..384bbb934728c 100644 --- a/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h +++ b/ext/mbstring/libmbfl/filters/unicode_table_jis2004.h @@ -5045,22 +5045,4 @@ static const unsigned short jisx0213_p2_ofst[] = { static const int jisx0213_p2_ofst_len = sizeof(jisx0213_p2_ofst)/sizeof(unsigned short); -static const int uni2jis_tbl_range[][2] = { - {0x0000, 0x045f}, - {0x3000, 0x30ff}, - {0x4e00, 0x9fff}, - {0xff00, 0xffe5}, - {0xfa0f, 0xfa6a}, -}; - -static const unsigned short *uni2jis_tbl[] = { - ucs_a1_jisx0213_table, - ucs_hk_jisx0213_table, - ucs_i_jisx0213_table, - ucs_r_jisx0213_table, - ucs_r2_jisx0213_table, -}; - -static const int uni2jis_tbl_len = sizeof(uni2jis_tbl_range)/(sizeof(int)*2); - #endif /* UNICODE_TABLE_JIS2004_H */ From 1d10932e7f4b022b5ad6558a5f60992831470205 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 14 Sep 2020 21:07:03 +0200 Subject: [PATCH 034/123] JIS7/8 encoding: handle invalid 2nd byte for Kanji correctly --- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 15c390432a42c..46d6cb29b6e46 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -185,10 +185,6 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) } } CK((*filter->output_function)(w, filter->data)); - } else if (c == 0x1b) { - filter->status += 2; - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; From 53217880f80484ddc199340d7b38d94938e1f0c1 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 14 Sep 2020 20:34:37 +0200 Subject: [PATCH 035/123] Add test suite for JIS7/JIS8 and ISO-2022-JP encodings --- ext/mbstring/docs/JISX0201.txt | 202 + ext/mbstring/docs/JISX0212.txt | 6141 ++++++++++++++++++++ ext/mbstring/tests/iso2022jp_encoding.phpt | 170 + 3 files changed, 6513 insertions(+) create mode 100644 ext/mbstring/docs/JISX0201.txt create mode 100644 ext/mbstring/docs/JISX0212.txt create mode 100644 ext/mbstring/tests/iso2022jp_encoding.phpt diff --git a/ext/mbstring/docs/JISX0201.txt b/ext/mbstring/docs/JISX0201.txt new file mode 100644 index 0000000000000..87e9e94192e23 --- /dev/null +++ b/ext/mbstring/docs/JISX0201.txt @@ -0,0 +1,202 @@ +# +# Name: JIS X 0201 (1976) to Unicode 1.1 Table +# Unicode version: 1.1 +# Table version: 0.9 +# Table format: Format A +# Date: 8 March 1994 +# Authors: Glenn Adams +# John H. Jenkins +# +# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on magnetic media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Recipient is granted the right to make copies in any form for +# internal distribution and to freely use the information supplied +# in the creation of products supporting Unicode. Unicode, Inc. +# specifically excludes the right to re-distribute this file directly +# to third parties or other organizations whether for profit or not. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# single-byte JIS X 0201 characters map into Unicode 1.1 +# (ISO/IEC 10646:1-1993 UCS-2). +# +# Format: Three tab-separated columns +# Column #1 is the shift JIS code (in hex as 0xXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode (ISO 10646) name (follows a comment sign) +# +# The entries are in JIS order +# +# These mappings are provisional, pending definition of +# official mappings by Japanese standards bodies. +# +# Any comments or problems, contact +# +# +0x20 0x0020 # SPACE +0x21 0x0021 # EXCLAMATION MARK +0x22 0x0022 # QUOTATION MARK +0x23 0x0023 # NUMBER SIGN +0x24 0x0024 # DOLLAR SIGN +0x25 0x0025 # PERCENT SIGN +0x26 0x0026 # AMPERSAND +0x27 0x0027 # APOSTROPHE +0x28 0x0028 # LEFT PARENTHESIS +0x29 0x0029 # RIGHT PARENTHESIS +0x2A 0x002A # ASTERISK +0x2B 0x002B # PLUS SIGN +0x2C 0x002C # COMMA +0x2D 0x002D # HYPHEN-MINUS +0x2E 0x002E # FULL STOP +0x2F 0x002F # SOLIDUS +0x30 0x0030 # DIGIT ZERO +0x31 0x0031 # DIGIT ONE +0x32 0x0032 # DIGIT TWO +0x33 0x0033 # DIGIT THREE +0x34 0x0034 # DIGIT FOUR +0x35 0x0035 # DIGIT FIVE +0x36 0x0036 # DIGIT SIX +0x37 0x0037 # DIGIT SEVEN +0x38 0x0038 # DIGIT EIGHT +0x39 0x0039 # DIGIT NINE +0x3A 0x003A # COLON +0x3B 0x003B # SEMICOLON +0x3C 0x003C # LESS-THAN SIGN +0x3D 0x003D # EQUALS SIGN +0x3E 0x003E # GREATER-THAN SIGN +0x3F 0x003F # QUESTION MARK +0x40 0x0040 # COMMERCIAL AT +0x41 0x0041 # LATIN CAPITAL LETTER A +0x42 0x0042 # LATIN CAPITAL LETTER B +0x43 0x0043 # LATIN CAPITAL LETTER C +0x44 0x0044 # LATIN CAPITAL LETTER D +0x45 0x0045 # LATIN CAPITAL LETTER E +0x46 0x0046 # LATIN CAPITAL LETTER F +0x47 0x0047 # LATIN CAPITAL LETTER G +0x48 0x0048 # LATIN CAPITAL LETTER H +0x49 0x0049 # LATIN CAPITAL LETTER I +0x4A 0x004A # LATIN CAPITAL LETTER J +0x4B 0x004B # LATIN CAPITAL LETTER K +0x4C 0x004C # LATIN CAPITAL LETTER L +0x4D 0x004D # LATIN CAPITAL LETTER M +0x4E 0x004E # LATIN CAPITAL LETTER N +0x4F 0x004F # LATIN CAPITAL LETTER O +0x50 0x0050 # LATIN CAPITAL LETTER P +0x51 0x0051 # LATIN CAPITAL LETTER Q +0x52 0x0052 # LATIN CAPITAL LETTER R +0x53 0x0053 # LATIN CAPITAL LETTER S +0x54 0x0054 # LATIN CAPITAL LETTER T +0x55 0x0055 # LATIN CAPITAL LETTER U +0x56 0x0056 # LATIN CAPITAL LETTER V +0x57 0x0057 # LATIN CAPITAL LETTER W +0x58 0x0058 # LATIN CAPITAL LETTER X +0x59 0x0059 # LATIN CAPITAL LETTER Y +0x5A 0x005A # LATIN CAPITAL LETTER Z +0x5B 0x005B # LEFT SQUARE BRACKET +0x5C 0x00A5 # YEN SIGN +0x5D 0x005D # RIGHT SQUARE BRACKET +0x5E 0x005E # CIRCUMFLEX ACCENT +0x5F 0x005F # LOW LINE +0x60 0x0060 # GRAVE ACCENT +0x61 0x0061 # LATIN SMALL LETTER A +0x62 0x0062 # LATIN SMALL LETTER B +0x63 0x0063 # LATIN SMALL LETTER C +0x64 0x0064 # LATIN SMALL LETTER D +0x65 0x0065 # LATIN SMALL LETTER E +0x66 0x0066 # LATIN SMALL LETTER F +0x67 0x0067 # LATIN SMALL LETTER G +0x68 0x0068 # LATIN SMALL LETTER H +0x69 0x0069 # LATIN SMALL LETTER I +0x6A 0x006A # LATIN SMALL LETTER J +0x6B 0x006B # LATIN SMALL LETTER K +0x6C 0x006C # LATIN SMALL LETTER L +0x6D 0x006D # LATIN SMALL LETTER M +0x6E 0x006E # LATIN SMALL LETTER N +0x6F 0x006F # LATIN SMALL LETTER O +0x70 0x0070 # LATIN SMALL LETTER P +0x71 0x0071 # LATIN SMALL LETTER Q +0x72 0x0072 # LATIN SMALL LETTER R +0x73 0x0073 # LATIN SMALL LETTER S +0x74 0x0074 # LATIN SMALL LETTER T +0x75 0x0075 # LATIN SMALL LETTER U +0x76 0x0076 # LATIN SMALL LETTER V +0x77 0x0077 # LATIN SMALL LETTER W +0x78 0x0078 # LATIN SMALL LETTER X +0x79 0x0079 # LATIN SMALL LETTER Y +0x7A 0x007A # LATIN SMALL LETTER Z +0x7B 0x007B # LEFT CURLY BRACKET +0x7C 0x007C # VERTICAL LINE +0x7D 0x007D # RIGHT CURLY BRACKET +0x7E 0x203E # OVERLINE +0xA1 0xFF61 # HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 0xFF62 # HALFWIDTH LEFT CORNER BRACKET +0xA3 0xFF63 # HALFWIDTH RIGHT CORNER BRACKET +0xA4 0xFF64 # HALFWIDTH IDEOGRAPHIC COMMA +0xA5 0xFF65 # HALFWIDTH KATAKANA MIDDLE DOT +0xA6 0xFF66 # HALFWIDTH KATAKANA LETTER WO +0xA7 0xFF67 # HALFWIDTH KATAKANA LETTER SMALL A +0xA8 0xFF68 # HALFWIDTH KATAKANA LETTER SMALL I +0xA9 0xFF69 # HALFWIDTH KATAKANA LETTER SMALL U +0xAA 0xFF6A # HALFWIDTH KATAKANA LETTER SMALL E +0xAB 0xFF6B # HALFWIDTH KATAKANA LETTER SMALL O +0xAC 0xFF6C # HALFWIDTH KATAKANA LETTER SMALL YA +0xAD 0xFF6D # HALFWIDTH KATAKANA LETTER SMALL YU +0xAE 0xFF6E # HALFWIDTH KATAKANA LETTER SMALL YO +0xAF 0xFF6F # HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 0xFF70 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 0xFF71 # HALFWIDTH KATAKANA LETTER A +0xB2 0xFF72 # HALFWIDTH KATAKANA LETTER I +0xB3 0xFF73 # HALFWIDTH KATAKANA LETTER U +0xB4 0xFF74 # HALFWIDTH KATAKANA LETTER E +0xB5 0xFF75 # HALFWIDTH KATAKANA LETTER O +0xB6 0xFF76 # HALFWIDTH KATAKANA LETTER KA +0xB7 0xFF77 # HALFWIDTH KATAKANA LETTER KI +0xB8 0xFF78 # HALFWIDTH KATAKANA LETTER KU +0xB9 0xFF79 # HALFWIDTH KATAKANA LETTER KE +0xBA 0xFF7A # HALFWIDTH KATAKANA LETTER KO +0xBB 0xFF7B # HALFWIDTH KATAKANA LETTER SA +0xBC 0xFF7C # HALFWIDTH KATAKANA LETTER SI +0xBD 0xFF7D # HALFWIDTH KATAKANA LETTER SU +0xBE 0xFF7E # HALFWIDTH KATAKANA LETTER SE +0xBF 0xFF7F # HALFWIDTH KATAKANA LETTER SO +0xC0 0xFF80 # HALFWIDTH KATAKANA LETTER TA +0xC1 0xFF81 # HALFWIDTH KATAKANA LETTER TI +0xC2 0xFF82 # HALFWIDTH KATAKANA LETTER TU +0xC3 0xFF83 # HALFWIDTH KATAKANA LETTER TE +0xC4 0xFF84 # HALFWIDTH KATAKANA LETTER TO +0xC5 0xFF85 # HALFWIDTH KATAKANA LETTER NA +0xC6 0xFF86 # HALFWIDTH KATAKANA LETTER NI +0xC7 0xFF87 # HALFWIDTH KATAKANA LETTER NU +0xC8 0xFF88 # HALFWIDTH KATAKANA LETTER NE +0xC9 0xFF89 # HALFWIDTH KATAKANA LETTER NO +0xCA 0xFF8A # HALFWIDTH KATAKANA LETTER HA +0xCB 0xFF8B # HALFWIDTH KATAKANA LETTER HI +0xCC 0xFF8C # HALFWIDTH KATAKANA LETTER HU +0xCD 0xFF8D # HALFWIDTH KATAKANA LETTER HE +0xCE 0xFF8E # HALFWIDTH KATAKANA LETTER HO +0xCF 0xFF8F # HALFWIDTH KATAKANA LETTER MA +0xD0 0xFF90 # HALFWIDTH KATAKANA LETTER MI +0xD1 0xFF91 # HALFWIDTH KATAKANA LETTER MU +0xD2 0xFF92 # HALFWIDTH KATAKANA LETTER ME +0xD3 0xFF93 # HALFWIDTH KATAKANA LETTER MO +0xD4 0xFF94 # HALFWIDTH KATAKANA LETTER YA +0xD5 0xFF95 # HALFWIDTH KATAKANA LETTER YU +0xD6 0xFF96 # HALFWIDTH KATAKANA LETTER YO +0xD7 0xFF97 # HALFWIDTH KATAKANA LETTER RA +0xD8 0xFF98 # HALFWIDTH KATAKANA LETTER RI +0xD9 0xFF99 # HALFWIDTH KATAKANA LETTER RU +0xDA 0xFF9A # HALFWIDTH KATAKANA LETTER RE +0xDB 0xFF9B # HALFWIDTH KATAKANA LETTER RO +0xDC 0xFF9C # HALFWIDTH KATAKANA LETTER WA +0xDD 0xFF9D # HALFWIDTH KATAKANA LETTER N +0xDE 0xFF9E # HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF 0xFF9F # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK diff --git a/ext/mbstring/docs/JISX0212.txt b/ext/mbstring/docs/JISX0212.txt new file mode 100644 index 0000000000000..316d28e4d10fd --- /dev/null +++ b/ext/mbstring/docs/JISX0212.txt @@ -0,0 +1,6141 @@ +# +# Name: JIS X 0212 (1990) to Unicode +# Unicode version: 1.1 +# Table version: 0.9 +# Table format: Format A +# Date: 8 March 1994 +# Authors: Glenn Adams +# John H. Jenkins +# +# Copyright (c) 1991-1994 Unicode, Inc. All Rights reserved. +# +# This file is provided as-is by Unicode, Inc. (The Unicode Consortium). +# No claims are made as to fitness for any particular purpose. No +# warranties of any kind are expressed or implied. The recipient +# agrees to determine applicability of information provided. If this +# file has been provided on magnetic media by Unicode, Inc., the sole +# remedy for any claim will be exchange of defective media within 90 +# days of receipt. +# +# Recipient is granted the right to make copies in any form for +# internal distribution and to freely use the information supplied +# in the creation of products supporting Unicode. Unicode, Inc. +# specifically excludes the right to re-distribute this file directly +# to third parties or other organizations whether for profit or not. +# +# General notes: +# +# This table contains the data the Unicode Consortium has on how +# JIS X 0212 (1983) characters map into Unicode. +# +# Format: Three tab-separated columns +# Column #1 is the JIS X 0212 code (in hex as 0xXXXX) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 the Unicode name (follows a comment sign, '#') +# The official names for Unicode characters U+4E00 +# to U+9FA5, inclusive, is "CJK UNIFIED IDEOGRAPH-XXXX", +# where XXXX is the code point. Including all these +# names in this file increases its size substantially +# and needlessly. The token "" is used for the +# name of these characters. If necessary, it can be +# expanded algorithmically by a parser or editor. +# +# The entries are in JIS X 0212 order +# +# The following algorithms can be used to change the hex form +# of JIS 0212 to other standard forms: +# +# To change hex to EUC form, add 0x8080 +# To change hex to kuten form, first subtract 0x2020. Then +# the high and low bytes correspond to the ku and ten of +# the kuten form. For example, 0x2121 -> 0x0101 -> 0101; +# 0x6D63 -> 0x4D43 -> 7767 +# +# The kanji mappings are a normative part of ISO/IEC 10646. The +# non-kanji mappings are provisional, pending definition of +# official mappings by Japanese standards bodies +# +# Any comments or problems, contact +# +# Notes: +# +# 1. JIS X 0212 apparently unified the following two symbols +# into a single character at 0x2922: +# +# LATIN CAPITAL LETTER D WITH STROKE +# LATIN CAPITAL LETTER ETH +# +# However, JIS X 0212 maintains the distinction between +# the lowercase forms of these two elements at 0x2942 and 0x2943. +# Given the structre of these JIS encodings, it is clear that +# 0x2922 and 0x2942 are intended to be a capital/small pair. +# Consequently, in the Unicode mapping, 0x2922 is treated as +# LATIN CAPITAL LETTER D WITH STROKE. +# +0x222F 0x02D8 # BREVE +0x2230 0x02C7 # CARON (Mandarin Chinese third tone) +0x2231 0x00B8 # CEDILLA +0x2232 0x02D9 # DOT ABOVE (Mandarin Chinese light tone) +0x2233 0x02DD # DOUBLE ACUTE ACCENT +0x2234 0x00AF # MACRON +0x2235 0x02DB # OGONEK +0x2236 0x02DA # RING ABOVE +0x2237 0x007E # TILDE +0x2238 0x0384 # GREEK TONOS +0x2239 0x0385 # GREEK DIALYTIKA TONOS +0x2242 0x00A1 # INVERTED EXCLAMATION MARK +0x2243 0x00A6 # BROKEN BAR +0x2244 0x00BF # INVERTED QUESTION MARK +0x226B 0x00BA # MASCULINE ORDINAL INDICATOR +0x226C 0x00AA # FEMININE ORDINAL INDICATOR +0x226D 0x00A9 # COPYRIGHT SIGN +0x226E 0x00AE # REGISTERED SIGN +0x226F 0x2122 # TRADE MARK SIGN +0x2270 0x00A4 # CURRENCY SIGN +0x2271 0x2116 # NUMERO SIGN +0x2661 0x0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS +0x2662 0x0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS +0x2663 0x0389 # GREEK CAPITAL LETTER ETA WITH TONOS +0x2664 0x038A # GREEK CAPITAL LETTER IOTA WITH TONOS +0x2665 0x03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA +0x2667 0x038C # GREEK CAPITAL LETTER OMICRON WITH TONOS +0x2669 0x038E # GREEK CAPITAL LETTER UPSILON WITH TONOS +0x266A 0x03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA +0x266C 0x038F # GREEK CAPITAL LETTER OMEGA WITH TONOS +0x2671 0x03AC # GREEK SMALL LETTER ALPHA WITH TONOS +0x2672 0x03AD # GREEK SMALL LETTER EPSILON WITH TONOS +0x2673 0x03AE # GREEK SMALL LETTER ETA WITH TONOS +0x2674 0x03AF # GREEK SMALL LETTER IOTA WITH TONOS +0x2675 0x03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA +0x2676 0x0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +0x2677 0x03CC # GREEK SMALL LETTER OMICRON WITH TONOS +0x2678 0x03C2 # GREEK SMALL LETTER FINAL SIGMA +0x2679 0x03CD # GREEK SMALL LETTER UPSILON WITH TONOS +0x267A 0x03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA +0x267B 0x03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +0x267C 0x03CE # GREEK SMALL LETTER OMEGA WITH TONOS +0x2742 0x0402 # CYRILLIC CAPITAL LETTER DJE +0x2743 0x0403 # CYRILLIC CAPITAL LETTER GJE +0x2744 0x0404 # CYRILLIC CAPITAL LETTER UKRAINIAN IE +0x2745 0x0405 # CYRILLIC CAPITAL LETTER DZE +0x2746 0x0406 # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I +0x2747 0x0407 # CYRILLIC CAPITAL LETTER YI +0x2748 0x0408 # CYRILLIC CAPITAL LETTER JE +0x2749 0x0409 # CYRILLIC CAPITAL LETTER LJE +0x274A 0x040A # CYRILLIC CAPITAL LETTER NJE +0x274B 0x040B # CYRILLIC CAPITAL LETTER TSHE +0x274C 0x040C # CYRILLIC CAPITAL LETTER KJE +0x274D 0x040E # CYRILLIC CAPITAL LETTER SHORT U +0x274E 0x040F # CYRILLIC CAPITAL LETTER DZHE +0x2772 0x0452 # CYRILLIC SMALL LETTER DJE +0x2773 0x0453 # CYRILLIC SMALL LETTER GJE +0x2774 0x0454 # CYRILLIC SMALL LETTER UKRAINIAN IE +0x2775 0x0455 # CYRILLIC SMALL LETTER DZE +0x2776 0x0456 # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I +0x2777 0x0457 # CYRILLIC SMALL LETTER YI +0x2778 0x0458 # CYRILLIC SMALL LETTER JE +0x2779 0x0459 # CYRILLIC SMALL LETTER LJE +0x277A 0x045A # CYRILLIC SMALL LETTER NJE +0x277B 0x045B # CYRILLIC SMALL LETTER TSHE +0x277C 0x045C # CYRILLIC SMALL LETTER KJE +0x277D 0x045E # CYRILLIC SMALL LETTER SHORT U +0x277E 0x045F # CYRILLIC SMALL LETTER DZHE +0x2921 0x00C6 # LATIN CAPITAL LIGATURE AE +0x2922 0x0110 # LATIN CAPITAL LETTER D WITH STROKE +0x2924 0x0126 # LATIN CAPITAL LETTER H WITH STROKE +0x2926 0x0132 # LATIN CAPITAL LIGATURE IJ +0x2928 0x0141 # LATIN CAPITAL LETTER L WITH STROKE +0x2929 0x013F # LATIN CAPITAL LETTER L WITH MIDDLE DOT +0x292B 0x014A # LATIN CAPITAL LETTER ENG +0x292C 0x00D8 # LATIN CAPITAL LETTER O WITH STROKE +0x292D 0x0152 # LATIN CAPITAL LIGATURE OE +0x292F 0x0166 # LATIN CAPITAL LETTER T WITH STROKE +0x2930 0x00DE # LATIN CAPITAL LETTER THORN +0x2941 0x00E6 # LATIN SMALL LIGATURE AE +0x2942 0x0111 # LATIN SMALL LETTER D WITH STROKE +0x2943 0x00F0 # LATIN SMALL LETTER ETH +0x2944 0x0127 # LATIN SMALL LETTER H WITH STROKE +0x2945 0x0131 # LATIN SMALL LETTER DOTLESS I +0x2946 0x0133 # LATIN SMALL LIGATURE IJ +0x2947 0x0138 # LATIN SMALL LETTER KRA +0x2948 0x0142 # LATIN SMALL LETTER L WITH STROKE +0x2949 0x0140 # LATIN SMALL LETTER L WITH MIDDLE DOT +0x294A 0x0149 # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE +0x294B 0x014B # LATIN SMALL LETTER ENG +0x294C 0x00F8 # LATIN SMALL LETTER O WITH STROKE +0x294D 0x0153 # LATIN SMALL LIGATURE OE +0x294E 0x00DF # LATIN SMALL LETTER SHARP S +0x294F 0x0167 # LATIN SMALL LETTER T WITH STROKE +0x2950 0x00FE # LATIN SMALL LETTER THORN +0x2A21 0x00C1 # LATIN CAPITAL LETTER A WITH ACUTE +0x2A22 0x00C0 # LATIN CAPITAL LETTER A WITH GRAVE +0x2A23 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS +0x2A24 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX +0x2A25 0x0102 # LATIN CAPITAL LETTER A WITH BREVE +0x2A26 0x01CD # LATIN CAPITAL LETTER A WITH CARON +0x2A27 0x0100 # LATIN CAPITAL LETTER A WITH MACRON +0x2A28 0x0104 # LATIN CAPITAL LETTER A WITH OGONEK +0x2A29 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE +0x2A2A 0x00C3 # LATIN CAPITAL LETTER A WITH TILDE +0x2A2B 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE +0x2A2C 0x0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX +0x2A2D 0x010C # LATIN CAPITAL LETTER C WITH CARON +0x2A2E 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA +0x2A2F 0x010A # LATIN CAPITAL LETTER C WITH DOT ABOVE +0x2A30 0x010E # LATIN CAPITAL LETTER D WITH CARON +0x2A31 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE +0x2A32 0x00C8 # LATIN CAPITAL LETTER E WITH GRAVE +0x2A33 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS +0x2A34 0x00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX +0x2A35 0x011A # LATIN CAPITAL LETTER E WITH CARON +0x2A36 0x0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE +0x2A37 0x0112 # LATIN CAPITAL LETTER E WITH MACRON +0x2A38 0x0118 # LATIN CAPITAL LETTER E WITH OGONEK +0x2A3A 0x011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX +0x2A3B 0x011E # LATIN CAPITAL LETTER G WITH BREVE +0x2A3C 0x0122 # LATIN CAPITAL LETTER G WITH CEDILLA +0x2A3D 0x0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE +0x2A3E 0x0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX +0x2A3F 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE +0x2A40 0x00CC # LATIN CAPITAL LETTER I WITH GRAVE +0x2A41 0x00CF # LATIN CAPITAL LETTER I WITH DIAERESIS +0x2A42 0x00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX +0x2A43 0x01CF # LATIN CAPITAL LETTER I WITH CARON +0x2A44 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE +0x2A45 0x012A # LATIN CAPITAL LETTER I WITH MACRON +0x2A46 0x012E # LATIN CAPITAL LETTER I WITH OGONEK +0x2A47 0x0128 # LATIN CAPITAL LETTER I WITH TILDE +0x2A48 0x0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX +0x2A49 0x0136 # LATIN CAPITAL LETTER K WITH CEDILLA +0x2A4A 0x0139 # LATIN CAPITAL LETTER L WITH ACUTE +0x2A4B 0x013D # LATIN CAPITAL LETTER L WITH CARON +0x2A4C 0x013B # LATIN CAPITAL LETTER L WITH CEDILLA +0x2A4D 0x0143 # LATIN CAPITAL LETTER N WITH ACUTE +0x2A4E 0x0147 # LATIN CAPITAL LETTER N WITH CARON +0x2A4F 0x0145 # LATIN CAPITAL LETTER N WITH CEDILLA +0x2A50 0x00D1 # LATIN CAPITAL LETTER N WITH TILDE +0x2A51 0x00D3 # LATIN CAPITAL LETTER O WITH ACUTE +0x2A52 0x00D2 # LATIN CAPITAL LETTER O WITH GRAVE +0x2A53 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS +0x2A54 0x00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX +0x2A55 0x01D1 # LATIN CAPITAL LETTER O WITH CARON +0x2A56 0x0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE +0x2A57 0x014C # LATIN CAPITAL LETTER O WITH MACRON +0x2A58 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE +0x2A59 0x0154 # LATIN CAPITAL LETTER R WITH ACUTE +0x2A5A 0x0158 # LATIN CAPITAL LETTER R WITH CARON +0x2A5B 0x0156 # LATIN CAPITAL LETTER R WITH CEDILLA +0x2A5C 0x015A # LATIN CAPITAL LETTER S WITH ACUTE +0x2A5D 0x015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX +0x2A5E 0x0160 # LATIN CAPITAL LETTER S WITH CARON +0x2A5F 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA +0x2A60 0x0164 # LATIN CAPITAL LETTER T WITH CARON +0x2A61 0x0162 # LATIN CAPITAL LETTER T WITH CEDILLA +0x2A62 0x00DA # LATIN CAPITAL LETTER U WITH ACUTE +0x2A63 0x00D9 # LATIN CAPITAL LETTER U WITH GRAVE +0x2A64 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS +0x2A65 0x00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX +0x2A66 0x016C # LATIN CAPITAL LETTER U WITH BREVE +0x2A67 0x01D3 # LATIN CAPITAL LETTER U WITH CARON +0x2A68 0x0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE +0x2A69 0x016A # LATIN CAPITAL LETTER U WITH MACRON +0x2A6A 0x0172 # LATIN CAPITAL LETTER U WITH OGONEK +0x2A6B 0x016E # LATIN CAPITAL LETTER U WITH RING ABOVE +0x2A6C 0x0168 # LATIN CAPITAL LETTER U WITH TILDE +0x2A6D 0x01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +0x2A6E 0x01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +0x2A6F 0x01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +0x2A70 0x01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +0x2A71 0x0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX +0x2A72 0x00DD # LATIN CAPITAL LETTER Y WITH ACUTE +0x2A73 0x0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS +0x2A74 0x0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX +0x2A75 0x0179 # LATIN CAPITAL LETTER Z WITH ACUTE +0x2A76 0x017D # LATIN CAPITAL LETTER Z WITH CARON +0x2A77 0x017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE +0x2B21 0x00E1 # LATIN SMALL LETTER A WITH ACUTE +0x2B22 0x00E0 # LATIN SMALL LETTER A WITH GRAVE +0x2B23 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS +0x2B24 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX +0x2B25 0x0103 # LATIN SMALL LETTER A WITH BREVE +0x2B26 0x01CE # LATIN SMALL LETTER A WITH CARON +0x2B27 0x0101 # LATIN SMALL LETTER A WITH MACRON +0x2B28 0x0105 # LATIN SMALL LETTER A WITH OGONEK +0x2B29 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE +0x2B2A 0x00E3 # LATIN SMALL LETTER A WITH TILDE +0x2B2B 0x0107 # LATIN SMALL LETTER C WITH ACUTE +0x2B2C 0x0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX +0x2B2D 0x010D # LATIN SMALL LETTER C WITH CARON +0x2B2E 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA +0x2B2F 0x010B # LATIN SMALL LETTER C WITH DOT ABOVE +0x2B30 0x010F # LATIN SMALL LETTER D WITH CARON +0x2B31 0x00E9 # LATIN SMALL LETTER E WITH ACUTE +0x2B32 0x00E8 # LATIN SMALL LETTER E WITH GRAVE +0x2B33 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS +0x2B34 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX +0x2B35 0x011B # LATIN SMALL LETTER E WITH CARON +0x2B36 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE +0x2B37 0x0113 # LATIN SMALL LETTER E WITH MACRON +0x2B38 0x0119 # LATIN SMALL LETTER E WITH OGONEK +0x2B39 0x01F5 # LATIN SMALL LETTER G WITH ACUTE +0x2B3A 0x011D # LATIN SMALL LETTER G WITH CIRCUMFLEX +0x2B3B 0x011F # LATIN SMALL LETTER G WITH BREVE +0x2B3D 0x0121 # LATIN SMALL LETTER G WITH DOT ABOVE +0x2B3E 0x0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX +0x2B3F 0x00ED # LATIN SMALL LETTER I WITH ACUTE +0x2B40 0x00EC # LATIN SMALL LETTER I WITH GRAVE +0x2B41 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS +0x2B42 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX +0x2B43 0x01D0 # LATIN SMALL LETTER I WITH CARON +0x2B45 0x012B # LATIN SMALL LETTER I WITH MACRON +0x2B46 0x012F # LATIN SMALL LETTER I WITH OGONEK +0x2B47 0x0129 # LATIN SMALL LETTER I WITH TILDE +0x2B48 0x0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX +0x2B49 0x0137 # LATIN SMALL LETTER K WITH CEDILLA +0x2B4A 0x013A # LATIN SMALL LETTER L WITH ACUTE +0x2B4B 0x013E # LATIN SMALL LETTER L WITH CARON +0x2B4C 0x013C # LATIN SMALL LETTER L WITH CEDILLA +0x2B4D 0x0144 # LATIN SMALL LETTER N WITH ACUTE +0x2B4E 0x0148 # LATIN SMALL LETTER N WITH CARON +0x2B4F 0x0146 # LATIN SMALL LETTER N WITH CEDILLA +0x2B50 0x00F1 # LATIN SMALL LETTER N WITH TILDE +0x2B51 0x00F3 # LATIN SMALL LETTER O WITH ACUTE +0x2B52 0x00F2 # LATIN SMALL LETTER O WITH GRAVE +0x2B53 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS +0x2B54 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX +0x2B55 0x01D2 # LATIN SMALL LETTER O WITH CARON +0x2B56 0x0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE +0x2B57 0x014D # LATIN SMALL LETTER O WITH MACRON +0x2B58 0x00F5 # LATIN SMALL LETTER O WITH TILDE +0x2B59 0x0155 # LATIN SMALL LETTER R WITH ACUTE +0x2B5A 0x0159 # LATIN SMALL LETTER R WITH CARON +0x2B5B 0x0157 # LATIN SMALL LETTER R WITH CEDILLA +0x2B5C 0x015B # LATIN SMALL LETTER S WITH ACUTE +0x2B5D 0x015D # LATIN SMALL LETTER S WITH CIRCUMFLEX +0x2B5E 0x0161 # LATIN SMALL LETTER S WITH CARON +0x2B5F 0x015F # LATIN SMALL LETTER S WITH CEDILLA +0x2B60 0x0165 # LATIN SMALL LETTER T WITH CARON +0x2B61 0x0163 # LATIN SMALL LETTER T WITH CEDILLA +0x2B62 0x00FA # LATIN SMALL LETTER U WITH ACUTE +0x2B63 0x00F9 # LATIN SMALL LETTER U WITH GRAVE +0x2B64 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS +0x2B65 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX +0x2B66 0x016D # LATIN SMALL LETTER U WITH BREVE +0x2B67 0x01D4 # LATIN SMALL LETTER U WITH CARON +0x2B68 0x0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE +0x2B69 0x016B # LATIN SMALL LETTER U WITH MACRON +0x2B6A 0x0173 # LATIN SMALL LETTER U WITH OGONEK +0x2B6B 0x016F # LATIN SMALL LETTER U WITH RING ABOVE +0x2B6C 0x0169 # LATIN SMALL LETTER U WITH TILDE +0x2B6D 0x01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +0x2B6E 0x01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +0x2B6F 0x01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON +0x2B70 0x01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +0x2B71 0x0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX +0x2B72 0x00FD # LATIN SMALL LETTER Y WITH ACUTE +0x2B73 0x00FF # LATIN SMALL LETTER Y WITH DIAERESIS +0x2B74 0x0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX +0x2B75 0x017A # LATIN SMALL LETTER Z WITH ACUTE +0x2B76 0x017E # LATIN SMALL LETTER Z WITH CARON +0x2B77 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE +0x3021 0x4E02 # +0x3022 0x4E04 # +0x3023 0x4E05 # +0x3024 0x4E0C # +0x3025 0x4E12 # +0x3026 0x4E1F # +0x3027 0x4E23 # +0x3028 0x4E24 # +0x3029 0x4E28 # +0x302A 0x4E2B # +0x302B 0x4E2E # +0x302C 0x4E2F # +0x302D 0x4E30 # +0x302E 0x4E35 # +0x302F 0x4E40 # +0x3030 0x4E41 # +0x3031 0x4E44 # +0x3032 0x4E47 # +0x3033 0x4E51 # +0x3034 0x4E5A # +0x3035 0x4E5C # +0x3036 0x4E63 # +0x3037 0x4E68 # +0x3038 0x4E69 # +0x3039 0x4E74 # +0x303A 0x4E75 # +0x303B 0x4E79 # +0x303C 0x4E7F # +0x303D 0x4E8D # +0x303E 0x4E96 # +0x303F 0x4E97 # +0x3040 0x4E9D # +0x3041 0x4EAF # +0x3042 0x4EB9 # +0x3043 0x4EC3 # +0x3044 0x4ED0 # +0x3045 0x4EDA # +0x3046 0x4EDB # +0x3047 0x4EE0 # +0x3048 0x4EE1 # +0x3049 0x4EE2 # +0x304A 0x4EE8 # +0x304B 0x4EEF # +0x304C 0x4EF1 # +0x304D 0x4EF3 # +0x304E 0x4EF5 # +0x304F 0x4EFD # +0x3050 0x4EFE # +0x3051 0x4EFF # +0x3052 0x4F00 # +0x3053 0x4F02 # +0x3054 0x4F03 # +0x3055 0x4F08 # +0x3056 0x4F0B # +0x3057 0x4F0C # +0x3058 0x4F12 # +0x3059 0x4F15 # +0x305A 0x4F16 # +0x305B 0x4F17 # +0x305C 0x4F19 # +0x305D 0x4F2E # +0x305E 0x4F31 # +0x305F 0x4F60 # +0x3060 0x4F33 # +0x3061 0x4F35 # +0x3062 0x4F37 # +0x3063 0x4F39 # +0x3064 0x4F3B # +0x3065 0x4F3E # +0x3066 0x4F40 # +0x3067 0x4F42 # +0x3068 0x4F48 # +0x3069 0x4F49 # +0x306A 0x4F4B # +0x306B 0x4F4C # +0x306C 0x4F52 # +0x306D 0x4F54 # +0x306E 0x4F56 # +0x306F 0x4F58 # +0x3070 0x4F5F # +0x3071 0x4F63 # +0x3072 0x4F6A # +0x3073 0x4F6C # +0x3074 0x4F6E # +0x3075 0x4F71 # +0x3076 0x4F77 # +0x3077 0x4F78 # +0x3078 0x4F79 # +0x3079 0x4F7A # +0x307A 0x4F7D # +0x307B 0x4F7E # +0x307C 0x4F81 # +0x307D 0x4F82 # +0x307E 0x4F84 # +0x3121 0x4F85 # +0x3122 0x4F89 # +0x3123 0x4F8A # +0x3124 0x4F8C # +0x3125 0x4F8E # +0x3126 0x4F90 # +0x3127 0x4F92 # +0x3128 0x4F93 # +0x3129 0x4F94 # +0x312A 0x4F97 # +0x312B 0x4F99 # +0x312C 0x4F9A # +0x312D 0x4F9E # +0x312E 0x4F9F # +0x312F 0x4FB2 # +0x3130 0x4FB7 # +0x3131 0x4FB9 # +0x3132 0x4FBB # +0x3133 0x4FBC # +0x3134 0x4FBD # +0x3135 0x4FBE # +0x3136 0x4FC0 # +0x3137 0x4FC1 # +0x3138 0x4FC5 # +0x3139 0x4FC6 # +0x313A 0x4FC8 # +0x313B 0x4FC9 # +0x313C 0x4FCB # +0x313D 0x4FCC # +0x313E 0x4FCD # +0x313F 0x4FCF # +0x3140 0x4FD2 # +0x3141 0x4FDC # +0x3142 0x4FE0 # +0x3143 0x4FE2 # +0x3144 0x4FF0 # +0x3145 0x4FF2 # +0x3146 0x4FFC # +0x3147 0x4FFD # +0x3148 0x4FFF # +0x3149 0x5000 # +0x314A 0x5001 # +0x314B 0x5004 # +0x314C 0x5007 # +0x314D 0x500A # +0x314E 0x500C # +0x314F 0x500E # +0x3150 0x5010 # +0x3151 0x5013 # +0x3152 0x5017 # +0x3153 0x5018 # +0x3154 0x501B # +0x3155 0x501C # +0x3156 0x501D # +0x3157 0x501E # +0x3158 0x5022 # +0x3159 0x5027 # +0x315A 0x502E # +0x315B 0x5030 # +0x315C 0x5032 # +0x315D 0x5033 # +0x315E 0x5035 # +0x315F 0x5040 # +0x3160 0x5041 # +0x3161 0x5042 # +0x3162 0x5045 # +0x3163 0x5046 # +0x3164 0x504A # +0x3165 0x504C # +0x3166 0x504E # +0x3167 0x5051 # +0x3168 0x5052 # +0x3169 0x5053 # +0x316A 0x5057 # +0x316B 0x5059 # +0x316C 0x505F # +0x316D 0x5060 # +0x316E 0x5062 # +0x316F 0x5063 # +0x3170 0x5066 # +0x3171 0x5067 # +0x3172 0x506A # +0x3173 0x506D # +0x3174 0x5070 # +0x3175 0x5071 # +0x3176 0x503B # +0x3177 0x5081 # +0x3178 0x5083 # +0x3179 0x5084 # +0x317A 0x5086 # +0x317B 0x508A # +0x317C 0x508E # +0x317D 0x508F # +0x317E 0x5090 # +0x3221 0x5092 # +0x3222 0x5093 # +0x3223 0x5094 # +0x3224 0x5096 # +0x3225 0x509B # +0x3226 0x509C # +0x3227 0x509E # +0x3228 0x509F # +0x3229 0x50A0 # +0x322A 0x50A1 # +0x322B 0x50A2 # +0x322C 0x50AA # +0x322D 0x50AF # +0x322E 0x50B0 # +0x322F 0x50B9 # +0x3230 0x50BA # +0x3231 0x50BD # +0x3232 0x50C0 # +0x3233 0x50C3 # +0x3234 0x50C4 # +0x3235 0x50C7 # +0x3236 0x50CC # +0x3237 0x50CE # +0x3238 0x50D0 # +0x3239 0x50D3 # +0x323A 0x50D4 # +0x323B 0x50D8 # +0x323C 0x50DC # +0x323D 0x50DD # +0x323E 0x50DF # +0x323F 0x50E2 # +0x3240 0x50E4 # +0x3241 0x50E6 # +0x3242 0x50E8 # +0x3243 0x50E9 # +0x3244 0x50EF # +0x3245 0x50F1 # +0x3246 0x50F6 # +0x3247 0x50FA # +0x3248 0x50FE # +0x3249 0x5103 # +0x324A 0x5106 # +0x324B 0x5107 # +0x324C 0x5108 # +0x324D 0x510B # +0x324E 0x510C # +0x324F 0x510D # +0x3250 0x510E # +0x3251 0x50F2 # +0x3252 0x5110 # +0x3253 0x5117 # +0x3254 0x5119 # +0x3255 0x511B # +0x3256 0x511C # +0x3257 0x511D # +0x3258 0x511E # +0x3259 0x5123 # +0x325A 0x5127 # +0x325B 0x5128 # +0x325C 0x512C # +0x325D 0x512D # +0x325E 0x512F # +0x325F 0x5131 # +0x3260 0x5133 # +0x3261 0x5134 # +0x3262 0x5135 # +0x3263 0x5138 # +0x3264 0x5139 # +0x3265 0x5142 # +0x3266 0x514A # +0x3267 0x514F # +0x3268 0x5153 # +0x3269 0x5155 # +0x326A 0x5157 # +0x326B 0x5158 # +0x326C 0x515F # +0x326D 0x5164 # +0x326E 0x5166 # +0x326F 0x517E # +0x3270 0x5183 # +0x3271 0x5184 # +0x3272 0x518B # +0x3273 0x518E # +0x3274 0x5198 # +0x3275 0x519D # +0x3276 0x51A1 # +0x3277 0x51A3 # +0x3278 0x51AD # +0x3279 0x51B8 # +0x327A 0x51BA # +0x327B 0x51BC # +0x327C 0x51BE # +0x327D 0x51BF # +0x327E 0x51C2 # +0x3321 0x51C8 # +0x3322 0x51CF # +0x3323 0x51D1 # +0x3324 0x51D2 # +0x3325 0x51D3 # +0x3326 0x51D5 # +0x3327 0x51D8 # +0x3328 0x51DE # +0x3329 0x51E2 # +0x332A 0x51E5 # +0x332B 0x51EE # +0x332C 0x51F2 # +0x332D 0x51F3 # +0x332E 0x51F4 # +0x332F 0x51F7 # +0x3330 0x5201 # +0x3331 0x5202 # +0x3332 0x5205 # +0x3333 0x5212 # +0x3334 0x5213 # +0x3335 0x5215 # +0x3336 0x5216 # +0x3337 0x5218 # +0x3338 0x5222 # +0x3339 0x5228 # +0x333A 0x5231 # +0x333B 0x5232 # +0x333C 0x5235 # +0x333D 0x523C # +0x333E 0x5245 # +0x333F 0x5249 # +0x3340 0x5255 # +0x3341 0x5257 # +0x3342 0x5258 # +0x3343 0x525A # +0x3344 0x525C # +0x3345 0x525F # +0x3346 0x5260 # +0x3347 0x5261 # +0x3348 0x5266 # +0x3349 0x526E # +0x334A 0x5277 # +0x334B 0x5278 # +0x334C 0x5279 # +0x334D 0x5280 # +0x334E 0x5282 # +0x334F 0x5285 # +0x3350 0x528A # +0x3351 0x528C # +0x3352 0x5293 # +0x3353 0x5295 # +0x3354 0x5296 # +0x3355 0x5297 # +0x3356 0x5298 # +0x3357 0x529A # +0x3358 0x529C # +0x3359 0x52A4 # +0x335A 0x52A5 # +0x335B 0x52A6 # +0x335C 0x52A7 # +0x335D 0x52AF # +0x335E 0x52B0 # +0x335F 0x52B6 # +0x3360 0x52B7 # +0x3361 0x52B8 # +0x3362 0x52BA # +0x3363 0x52BB # +0x3364 0x52BD # +0x3365 0x52C0 # +0x3366 0x52C4 # +0x3367 0x52C6 # +0x3368 0x52C8 # +0x3369 0x52CC # +0x336A 0x52CF # +0x336B 0x52D1 # +0x336C 0x52D4 # +0x336D 0x52D6 # +0x336E 0x52DB # +0x336F 0x52DC # +0x3370 0x52E1 # +0x3371 0x52E5 # +0x3372 0x52E8 # +0x3373 0x52E9 # +0x3374 0x52EA # +0x3375 0x52EC # +0x3376 0x52F0 # +0x3377 0x52F1 # +0x3378 0x52F4 # +0x3379 0x52F6 # +0x337A 0x52F7 # +0x337B 0x5300 # +0x337C 0x5303 # +0x337D 0x530A # +0x337E 0x530B # +0x3421 0x530C # +0x3422 0x5311 # +0x3423 0x5313 # +0x3424 0x5318 # +0x3425 0x531B # +0x3426 0x531C # +0x3427 0x531E # +0x3428 0x531F # +0x3429 0x5325 # +0x342A 0x5327 # +0x342B 0x5328 # +0x342C 0x5329 # +0x342D 0x532B # +0x342E 0x532C # +0x342F 0x532D # +0x3430 0x5330 # +0x3431 0x5332 # +0x3432 0x5335 # +0x3433 0x533C # +0x3434 0x533D # +0x3435 0x533E # +0x3436 0x5342 # +0x3437 0x534C # +0x3438 0x534B # +0x3439 0x5359 # +0x343A 0x535B # +0x343B 0x5361 # +0x343C 0x5363 # +0x343D 0x5365 # +0x343E 0x536C # +0x343F 0x536D # +0x3440 0x5372 # +0x3441 0x5379 # +0x3442 0x537E # +0x3443 0x5383 # +0x3444 0x5387 # +0x3445 0x5388 # +0x3446 0x538E # +0x3447 0x5393 # +0x3448 0x5394 # +0x3449 0x5399 # +0x344A 0x539D # +0x344B 0x53A1 # +0x344C 0x53A4 # +0x344D 0x53AA # +0x344E 0x53AB # +0x344F 0x53AF # +0x3450 0x53B2 # +0x3451 0x53B4 # +0x3452 0x53B5 # +0x3453 0x53B7 # +0x3454 0x53B8 # +0x3455 0x53BA # +0x3456 0x53BD # +0x3457 0x53C0 # +0x3458 0x53C5 # +0x3459 0x53CF # +0x345A 0x53D2 # +0x345B 0x53D3 # +0x345C 0x53D5 # +0x345D 0x53DA # +0x345E 0x53DD # +0x345F 0x53DE # +0x3460 0x53E0 # +0x3461 0x53E6 # +0x3462 0x53E7 # +0x3463 0x53F5 # +0x3464 0x5402 # +0x3465 0x5413 # +0x3466 0x541A # +0x3467 0x5421 # +0x3468 0x5427 # +0x3469 0x5428 # +0x346A 0x542A # +0x346B 0x542F # +0x346C 0x5431 # +0x346D 0x5434 # +0x346E 0x5435 # +0x346F 0x5443 # +0x3470 0x5444 # +0x3471 0x5447 # +0x3472 0x544D # +0x3473 0x544F # +0x3474 0x545E # +0x3475 0x5462 # +0x3476 0x5464 # +0x3477 0x5466 # +0x3478 0x5467 # +0x3479 0x5469 # +0x347A 0x546B # +0x347B 0x546D # +0x347C 0x546E # +0x347D 0x5474 # +0x347E 0x547F # +0x3521 0x5481 # +0x3522 0x5483 # +0x3523 0x5485 # +0x3524 0x5488 # +0x3525 0x5489 # +0x3526 0x548D # +0x3527 0x5491 # +0x3528 0x5495 # +0x3529 0x5496 # +0x352A 0x549C # +0x352B 0x549F # +0x352C 0x54A1 # +0x352D 0x54A6 # +0x352E 0x54A7 # +0x352F 0x54A9 # +0x3530 0x54AA # +0x3531 0x54AD # +0x3532 0x54AE # +0x3533 0x54B1 # +0x3534 0x54B7 # +0x3535 0x54B9 # +0x3536 0x54BA # +0x3537 0x54BB # +0x3538 0x54BF # +0x3539 0x54C6 # +0x353A 0x54CA # +0x353B 0x54CD # +0x353C 0x54CE # +0x353D 0x54E0 # +0x353E 0x54EA # +0x353F 0x54EC # +0x3540 0x54EF # +0x3541 0x54F6 # +0x3542 0x54FC # +0x3543 0x54FE # +0x3544 0x54FF # +0x3545 0x5500 # +0x3546 0x5501 # +0x3547 0x5505 # +0x3548 0x5508 # +0x3549 0x5509 # +0x354A 0x550C # +0x354B 0x550D # +0x354C 0x550E # +0x354D 0x5515 # +0x354E 0x552A # +0x354F 0x552B # +0x3550 0x5532 # +0x3551 0x5535 # +0x3552 0x5536 # +0x3553 0x553B # +0x3554 0x553C # +0x3555 0x553D # +0x3556 0x5541 # +0x3557 0x5547 # +0x3558 0x5549 # +0x3559 0x554A # +0x355A 0x554D # +0x355B 0x5550 # +0x355C 0x5551 # +0x355D 0x5558 # +0x355E 0x555A # +0x355F 0x555B # +0x3560 0x555E # +0x3561 0x5560 # +0x3562 0x5561 # +0x3563 0x5564 # +0x3564 0x5566 # +0x3565 0x557F # +0x3566 0x5581 # +0x3567 0x5582 # +0x3568 0x5586 # +0x3569 0x5588 # +0x356A 0x558E # +0x356B 0x558F # +0x356C 0x5591 # +0x356D 0x5592 # +0x356E 0x5593 # +0x356F 0x5594 # +0x3570 0x5597 # +0x3571 0x55A3 # +0x3572 0x55A4 # +0x3573 0x55AD # +0x3574 0x55B2 # +0x3575 0x55BF # +0x3576 0x55C1 # +0x3577 0x55C3 # +0x3578 0x55C6 # +0x3579 0x55C9 # +0x357A 0x55CB # +0x357B 0x55CC # +0x357C 0x55CE # +0x357D 0x55D1 # +0x357E 0x55D2 # +0x3621 0x55D3 # +0x3622 0x55D7 # +0x3623 0x55D8 # +0x3624 0x55DB # +0x3625 0x55DE # +0x3626 0x55E2 # +0x3627 0x55E9 # +0x3628 0x55F6 # +0x3629 0x55FF # +0x362A 0x5605 # +0x362B 0x5608 # +0x362C 0x560A # +0x362D 0x560D # +0x362E 0x560E # +0x362F 0x560F # +0x3630 0x5610 # +0x3631 0x5611 # +0x3632 0x5612 # +0x3633 0x5619 # +0x3634 0x562C # +0x3635 0x5630 # +0x3636 0x5633 # +0x3637 0x5635 # +0x3638 0x5637 # +0x3639 0x5639 # +0x363A 0x563B # +0x363B 0x563C # +0x363C 0x563D # +0x363D 0x563F # +0x363E 0x5640 # +0x363F 0x5641 # +0x3640 0x5643 # +0x3641 0x5644 # +0x3642 0x5646 # +0x3643 0x5649 # +0x3644 0x564B # +0x3645 0x564D # +0x3646 0x564F # +0x3647 0x5654 # +0x3648 0x565E # +0x3649 0x5660 # +0x364A 0x5661 # +0x364B 0x5662 # +0x364C 0x5663 # +0x364D 0x5666 # +0x364E 0x5669 # +0x364F 0x566D # +0x3650 0x566F # +0x3651 0x5671 # +0x3652 0x5672 # +0x3653 0x5675 # +0x3654 0x5684 # +0x3655 0x5685 # +0x3656 0x5688 # +0x3657 0x568B # +0x3658 0x568C # +0x3659 0x5695 # +0x365A 0x5699 # +0x365B 0x569A # +0x365C 0x569D # +0x365D 0x569E # +0x365E 0x569F # +0x365F 0x56A6 # +0x3660 0x56A7 # +0x3661 0x56A8 # +0x3662 0x56A9 # +0x3663 0x56AB # +0x3664 0x56AC # +0x3665 0x56AD # +0x3666 0x56B1 # +0x3667 0x56B3 # +0x3668 0x56B7 # +0x3669 0x56BE # +0x366A 0x56C5 # +0x366B 0x56C9 # +0x366C 0x56CA # +0x366D 0x56CB # +0x366E 0x56CF # +0x366F 0x56D0 # +0x3670 0x56CC # +0x3671 0x56CD # +0x3672 0x56D9 # +0x3673 0x56DC # +0x3674 0x56DD # +0x3675 0x56DF # +0x3676 0x56E1 # +0x3677 0x56E4 # +0x3678 0x56E5 # +0x3679 0x56E6 # +0x367A 0x56E7 # +0x367B 0x56E8 # +0x367C 0x56F1 # +0x367D 0x56EB # +0x367E 0x56ED # +0x3721 0x56F6 # +0x3722 0x56F7 # +0x3723 0x5701 # +0x3724 0x5702 # +0x3725 0x5707 # +0x3726 0x570A # +0x3727 0x570C # +0x3728 0x5711 # +0x3729 0x5715 # +0x372A 0x571A # +0x372B 0x571B # +0x372C 0x571D # +0x372D 0x5720 # +0x372E 0x5722 # +0x372F 0x5723 # +0x3730 0x5724 # +0x3731 0x5725 # +0x3732 0x5729 # +0x3733 0x572A # +0x3734 0x572C # +0x3735 0x572E # +0x3736 0x572F # +0x3737 0x5733 # +0x3738 0x5734 # +0x3739 0x573D # +0x373A 0x573E # +0x373B 0x573F # +0x373C 0x5745 # +0x373D 0x5746 # +0x373E 0x574C # +0x373F 0x574D # +0x3740 0x5752 # +0x3741 0x5762 # +0x3742 0x5765 # +0x3743 0x5767 # +0x3744 0x5768 # +0x3745 0x576B # +0x3746 0x576D # +0x3747 0x576E # +0x3748 0x576F # +0x3749 0x5770 # +0x374A 0x5771 # +0x374B 0x5773 # +0x374C 0x5774 # +0x374D 0x5775 # +0x374E 0x5777 # +0x374F 0x5779 # +0x3750 0x577A # +0x3751 0x577B # +0x3752 0x577C # +0x3753 0x577E # +0x3754 0x5781 # +0x3755 0x5783 # +0x3756 0x578C # +0x3757 0x5794 # +0x3758 0x5797 # +0x3759 0x5799 # +0x375A 0x579A # +0x375B 0x579C # +0x375C 0x579D # +0x375D 0x579E # +0x375E 0x579F # +0x375F 0x57A1 # +0x3760 0x5795 # +0x3761 0x57A7 # +0x3762 0x57A8 # +0x3763 0x57A9 # +0x3764 0x57AC # +0x3765 0x57B8 # +0x3766 0x57BD # +0x3767 0x57C7 # +0x3768 0x57C8 # +0x3769 0x57CC # +0x376A 0x57CF # +0x376B 0x57D5 # +0x376C 0x57DD # +0x376D 0x57DE # +0x376E 0x57E4 # +0x376F 0x57E6 # +0x3770 0x57E7 # +0x3771 0x57E9 # +0x3772 0x57ED # +0x3773 0x57F0 # +0x3774 0x57F5 # +0x3775 0x57F6 # +0x3776 0x57F8 # +0x3777 0x57FD # +0x3778 0x57FE # +0x3779 0x57FF # +0x377A 0x5803 # +0x377B 0x5804 # +0x377C 0x5808 # +0x377D 0x5809 # +0x377E 0x57E1 # +0x3821 0x580C # +0x3822 0x580D # +0x3823 0x581B # +0x3824 0x581E # +0x3825 0x581F # +0x3826 0x5820 # +0x3827 0x5826 # +0x3828 0x5827 # +0x3829 0x582D # +0x382A 0x5832 # +0x382B 0x5839 # +0x382C 0x583F # +0x382D 0x5849 # +0x382E 0x584C # +0x382F 0x584D # +0x3830 0x584F # +0x3831 0x5850 # +0x3832 0x5855 # +0x3833 0x585F # +0x3834 0x5861 # +0x3835 0x5864 # +0x3836 0x5867 # +0x3837 0x5868 # +0x3838 0x5878 # +0x3839 0x587C # +0x383A 0x587F # +0x383B 0x5880 # +0x383C 0x5881 # +0x383D 0x5887 # +0x383E 0x5888 # +0x383F 0x5889 # +0x3840 0x588A # +0x3841 0x588C # +0x3842 0x588D # +0x3843 0x588F # +0x3844 0x5890 # +0x3845 0x5894 # +0x3846 0x5896 # +0x3847 0x589D # +0x3848 0x58A0 # +0x3849 0x58A1 # +0x384A 0x58A2 # +0x384B 0x58A6 # +0x384C 0x58A9 # +0x384D 0x58B1 # +0x384E 0x58B2 # +0x384F 0x58C4 # +0x3850 0x58BC # +0x3851 0x58C2 # +0x3852 0x58C8 # +0x3853 0x58CD # +0x3854 0x58CE # +0x3855 0x58D0 # +0x3856 0x58D2 # +0x3857 0x58D4 # +0x3858 0x58D6 # +0x3859 0x58DA # +0x385A 0x58DD # +0x385B 0x58E1 # +0x385C 0x58E2 # +0x385D 0x58E9 # +0x385E 0x58F3 # +0x385F 0x5905 # +0x3860 0x5906 # +0x3861 0x590B # +0x3862 0x590C # +0x3863 0x5912 # +0x3864 0x5913 # +0x3865 0x5914 # +0x3866 0x8641 # +0x3867 0x591D # +0x3868 0x5921 # +0x3869 0x5923 # +0x386A 0x5924 # +0x386B 0x5928 # +0x386C 0x592F # +0x386D 0x5930 # +0x386E 0x5933 # +0x386F 0x5935 # +0x3870 0x5936 # +0x3871 0x593F # +0x3872 0x5943 # +0x3873 0x5946 # +0x3874 0x5952 # +0x3875 0x5953 # +0x3876 0x5959 # +0x3877 0x595B # +0x3878 0x595D # +0x3879 0x595E # +0x387A 0x595F # +0x387B 0x5961 # +0x387C 0x5963 # +0x387D 0x596B # +0x387E 0x596D # +0x3921 0x596F # +0x3922 0x5972 # +0x3923 0x5975 # +0x3924 0x5976 # +0x3925 0x5979 # +0x3926 0x597B # +0x3927 0x597C # +0x3928 0x598B # +0x3929 0x598C # +0x392A 0x598E # +0x392B 0x5992 # +0x392C 0x5995 # +0x392D 0x5997 # +0x392E 0x599F # +0x392F 0x59A4 # +0x3930 0x59A7 # +0x3931 0x59AD # +0x3932 0x59AE # +0x3933 0x59AF # +0x3934 0x59B0 # +0x3935 0x59B3 # +0x3936 0x59B7 # +0x3937 0x59BA # +0x3938 0x59BC # +0x3939 0x59C1 # +0x393A 0x59C3 # +0x393B 0x59C4 # +0x393C 0x59C8 # +0x393D 0x59CA # +0x393E 0x59CD # +0x393F 0x59D2 # +0x3940 0x59DD # +0x3941 0x59DE # +0x3942 0x59DF # +0x3943 0x59E3 # +0x3944 0x59E4 # +0x3945 0x59E7 # +0x3946 0x59EE # +0x3947 0x59EF # +0x3948 0x59F1 # +0x3949 0x59F2 # +0x394A 0x59F4 # +0x394B 0x59F7 # +0x394C 0x5A00 # +0x394D 0x5A04 # +0x394E 0x5A0C # +0x394F 0x5A0D # +0x3950 0x5A0E # +0x3951 0x5A12 # +0x3952 0x5A13 # +0x3953 0x5A1E # +0x3954 0x5A23 # +0x3955 0x5A24 # +0x3956 0x5A27 # +0x3957 0x5A28 # +0x3958 0x5A2A # +0x3959 0x5A2D # +0x395A 0x5A30 # +0x395B 0x5A44 # +0x395C 0x5A45 # +0x395D 0x5A47 # +0x395E 0x5A48 # +0x395F 0x5A4C # +0x3960 0x5A50 # +0x3961 0x5A55 # +0x3962 0x5A5E # +0x3963 0x5A63 # +0x3964 0x5A65 # +0x3965 0x5A67 # +0x3966 0x5A6D # +0x3967 0x5A77 # +0x3968 0x5A7A # +0x3969 0x5A7B # +0x396A 0x5A7E # +0x396B 0x5A8B # +0x396C 0x5A90 # +0x396D 0x5A93 # +0x396E 0x5A96 # +0x396F 0x5A99 # +0x3970 0x5A9C # +0x3971 0x5A9E # +0x3972 0x5A9F # +0x3973 0x5AA0 # +0x3974 0x5AA2 # +0x3975 0x5AA7 # +0x3976 0x5AAC # +0x3977 0x5AB1 # +0x3978 0x5AB2 # +0x3979 0x5AB3 # +0x397A 0x5AB5 # +0x397B 0x5AB8 # +0x397C 0x5ABA # +0x397D 0x5ABB # +0x397E 0x5ABF # +0x3A21 0x5AC4 # +0x3A22 0x5AC6 # +0x3A23 0x5AC8 # +0x3A24 0x5ACF # +0x3A25 0x5ADA # +0x3A26 0x5ADC # +0x3A27 0x5AE0 # +0x3A28 0x5AE5 # +0x3A29 0x5AEA # +0x3A2A 0x5AEE # +0x3A2B 0x5AF5 # +0x3A2C 0x5AF6 # +0x3A2D 0x5AFD # +0x3A2E 0x5B00 # +0x3A2F 0x5B01 # +0x3A30 0x5B08 # +0x3A31 0x5B17 # +0x3A32 0x5B34 # +0x3A33 0x5B19 # +0x3A34 0x5B1B # +0x3A35 0x5B1D # +0x3A36 0x5B21 # +0x3A37 0x5B25 # +0x3A38 0x5B2D # +0x3A39 0x5B38 # +0x3A3A 0x5B41 # +0x3A3B 0x5B4B # +0x3A3C 0x5B4C # +0x3A3D 0x5B52 # +0x3A3E 0x5B56 # +0x3A3F 0x5B5E # +0x3A40 0x5B68 # +0x3A41 0x5B6E # +0x3A42 0x5B6F # +0x3A43 0x5B7C # +0x3A44 0x5B7D # +0x3A45 0x5B7E # +0x3A46 0x5B7F # +0x3A47 0x5B81 # +0x3A48 0x5B84 # +0x3A49 0x5B86 # +0x3A4A 0x5B8A # +0x3A4B 0x5B8E # +0x3A4C 0x5B90 # +0x3A4D 0x5B91 # +0x3A4E 0x5B93 # +0x3A4F 0x5B94 # +0x3A50 0x5B96 # +0x3A51 0x5BA8 # +0x3A52 0x5BA9 # +0x3A53 0x5BAC # +0x3A54 0x5BAD # +0x3A55 0x5BAF # +0x3A56 0x5BB1 # +0x3A57 0x5BB2 # +0x3A58 0x5BB7 # +0x3A59 0x5BBA # +0x3A5A 0x5BBC # +0x3A5B 0x5BC0 # +0x3A5C 0x5BC1 # +0x3A5D 0x5BCD # +0x3A5E 0x5BCF # +0x3A5F 0x5BD6 # +0x3A60 0x5BD7 # +0x3A61 0x5BD8 # +0x3A62 0x5BD9 # +0x3A63 0x5BDA # +0x3A64 0x5BE0 # +0x3A65 0x5BEF # +0x3A66 0x5BF1 # +0x3A67 0x5BF4 # +0x3A68 0x5BFD # +0x3A69 0x5C0C # +0x3A6A 0x5C17 # +0x3A6B 0x5C1E # +0x3A6C 0x5C1F # +0x3A6D 0x5C23 # +0x3A6E 0x5C26 # +0x3A6F 0x5C29 # +0x3A70 0x5C2B # +0x3A71 0x5C2C # +0x3A72 0x5C2E # +0x3A73 0x5C30 # +0x3A74 0x5C32 # +0x3A75 0x5C35 # +0x3A76 0x5C36 # +0x3A77 0x5C59 # +0x3A78 0x5C5A # +0x3A79 0x5C5C # +0x3A7A 0x5C62 # +0x3A7B 0x5C63 # +0x3A7C 0x5C67 # +0x3A7D 0x5C68 # +0x3A7E 0x5C69 # +0x3B21 0x5C6D # +0x3B22 0x5C70 # +0x3B23 0x5C74 # +0x3B24 0x5C75 # +0x3B25 0x5C7A # +0x3B26 0x5C7B # +0x3B27 0x5C7C # +0x3B28 0x5C7D # +0x3B29 0x5C87 # +0x3B2A 0x5C88 # +0x3B2B 0x5C8A # +0x3B2C 0x5C8F # +0x3B2D 0x5C92 # +0x3B2E 0x5C9D # +0x3B2F 0x5C9F # +0x3B30 0x5CA0 # +0x3B31 0x5CA2 # +0x3B32 0x5CA3 # +0x3B33 0x5CA6 # +0x3B34 0x5CAA # +0x3B35 0x5CB2 # +0x3B36 0x5CB4 # +0x3B37 0x5CB5 # +0x3B38 0x5CBA # +0x3B39 0x5CC9 # +0x3B3A 0x5CCB # +0x3B3B 0x5CD2 # +0x3B3C 0x5CDD # +0x3B3D 0x5CD7 # +0x3B3E 0x5CEE # +0x3B3F 0x5CF1 # +0x3B40 0x5CF2 # +0x3B41 0x5CF4 # +0x3B42 0x5D01 # +0x3B43 0x5D06 # +0x3B44 0x5D0D # +0x3B45 0x5D12 # +0x3B46 0x5D2B # +0x3B47 0x5D23 # +0x3B48 0x5D24 # +0x3B49 0x5D26 # +0x3B4A 0x5D27 # +0x3B4B 0x5D31 # +0x3B4C 0x5D34 # +0x3B4D 0x5D39 # +0x3B4E 0x5D3D # +0x3B4F 0x5D3F # +0x3B50 0x5D42 # +0x3B51 0x5D43 # +0x3B52 0x5D46 # +0x3B53 0x5D48 # +0x3B54 0x5D55 # +0x3B55 0x5D51 # +0x3B56 0x5D59 # +0x3B57 0x5D4A # +0x3B58 0x5D5F # +0x3B59 0x5D60 # +0x3B5A 0x5D61 # +0x3B5B 0x5D62 # +0x3B5C 0x5D64 # +0x3B5D 0x5D6A # +0x3B5E 0x5D6D # +0x3B5F 0x5D70 # +0x3B60 0x5D79 # +0x3B61 0x5D7A # +0x3B62 0x5D7E # +0x3B63 0x5D7F # +0x3B64 0x5D81 # +0x3B65 0x5D83 # +0x3B66 0x5D88 # +0x3B67 0x5D8A # +0x3B68 0x5D92 # +0x3B69 0x5D93 # +0x3B6A 0x5D94 # +0x3B6B 0x5D95 # +0x3B6C 0x5D99 # +0x3B6D 0x5D9B # +0x3B6E 0x5D9F # +0x3B6F 0x5DA0 # +0x3B70 0x5DA7 # +0x3B71 0x5DAB # +0x3B72 0x5DB0 # +0x3B73 0x5DB4 # +0x3B74 0x5DB8 # +0x3B75 0x5DB9 # +0x3B76 0x5DC3 # +0x3B77 0x5DC7 # +0x3B78 0x5DCB # +0x3B79 0x5DD0 # +0x3B7A 0x5DCE # +0x3B7B 0x5DD8 # +0x3B7C 0x5DD9 # +0x3B7D 0x5DE0 # +0x3B7E 0x5DE4 # +0x3C21 0x5DE9 # +0x3C22 0x5DF8 # +0x3C23 0x5DF9 # +0x3C24 0x5E00 # +0x3C25 0x5E07 # +0x3C26 0x5E0D # +0x3C27 0x5E12 # +0x3C28 0x5E14 # +0x3C29 0x5E15 # +0x3C2A 0x5E18 # +0x3C2B 0x5E1F # +0x3C2C 0x5E20 # +0x3C2D 0x5E2E # +0x3C2E 0x5E28 # +0x3C2F 0x5E32 # +0x3C30 0x5E35 # +0x3C31 0x5E3E # +0x3C32 0x5E4B # +0x3C33 0x5E50 # +0x3C34 0x5E49 # +0x3C35 0x5E51 # +0x3C36 0x5E56 # +0x3C37 0x5E58 # +0x3C38 0x5E5B # +0x3C39 0x5E5C # +0x3C3A 0x5E5E # +0x3C3B 0x5E68 # +0x3C3C 0x5E6A # +0x3C3D 0x5E6B # +0x3C3E 0x5E6C # +0x3C3F 0x5E6D # +0x3C40 0x5E6E # +0x3C41 0x5E70 # +0x3C42 0x5E80 # +0x3C43 0x5E8B # +0x3C44 0x5E8E # +0x3C45 0x5EA2 # +0x3C46 0x5EA4 # +0x3C47 0x5EA5 # +0x3C48 0x5EA8 # +0x3C49 0x5EAA # +0x3C4A 0x5EAC # +0x3C4B 0x5EB1 # +0x3C4C 0x5EB3 # +0x3C4D 0x5EBD # +0x3C4E 0x5EBE # +0x3C4F 0x5EBF # +0x3C50 0x5EC6 # +0x3C51 0x5ECC # +0x3C52 0x5ECB # +0x3C53 0x5ECE # +0x3C54 0x5ED1 # +0x3C55 0x5ED2 # +0x3C56 0x5ED4 # +0x3C57 0x5ED5 # +0x3C58 0x5EDC # +0x3C59 0x5EDE # +0x3C5A 0x5EE5 # +0x3C5B 0x5EEB # +0x3C5C 0x5F02 # +0x3C5D 0x5F06 # +0x3C5E 0x5F07 # +0x3C5F 0x5F08 # +0x3C60 0x5F0E # +0x3C61 0x5F19 # +0x3C62 0x5F1C # +0x3C63 0x5F1D # +0x3C64 0x5F21 # +0x3C65 0x5F22 # +0x3C66 0x5F23 # +0x3C67 0x5F24 # +0x3C68 0x5F28 # +0x3C69 0x5F2B # +0x3C6A 0x5F2C # +0x3C6B 0x5F2E # +0x3C6C 0x5F30 # +0x3C6D 0x5F34 # +0x3C6E 0x5F36 # +0x3C6F 0x5F3B # +0x3C70 0x5F3D # +0x3C71 0x5F3F # +0x3C72 0x5F40 # +0x3C73 0x5F44 # +0x3C74 0x5F45 # +0x3C75 0x5F47 # +0x3C76 0x5F4D # +0x3C77 0x5F50 # +0x3C78 0x5F54 # +0x3C79 0x5F58 # +0x3C7A 0x5F5B # +0x3C7B 0x5F60 # +0x3C7C 0x5F63 # +0x3C7D 0x5F64 # +0x3C7E 0x5F67 # +0x3D21 0x5F6F # +0x3D22 0x5F72 # +0x3D23 0x5F74 # +0x3D24 0x5F75 # +0x3D25 0x5F78 # +0x3D26 0x5F7A # +0x3D27 0x5F7D # +0x3D28 0x5F7E # +0x3D29 0x5F89 # +0x3D2A 0x5F8D # +0x3D2B 0x5F8F # +0x3D2C 0x5F96 # +0x3D2D 0x5F9C # +0x3D2E 0x5F9D # +0x3D2F 0x5FA2 # +0x3D30 0x5FA7 # +0x3D31 0x5FAB # +0x3D32 0x5FA4 # +0x3D33 0x5FAC # +0x3D34 0x5FAF # +0x3D35 0x5FB0 # +0x3D36 0x5FB1 # +0x3D37 0x5FB8 # +0x3D38 0x5FC4 # +0x3D39 0x5FC7 # +0x3D3A 0x5FC8 # +0x3D3B 0x5FC9 # +0x3D3C 0x5FCB # +0x3D3D 0x5FD0 # +0x3D3E 0x5FD1 # +0x3D3F 0x5FD2 # +0x3D40 0x5FD3 # +0x3D41 0x5FD4 # +0x3D42 0x5FDE # +0x3D43 0x5FE1 # +0x3D44 0x5FE2 # +0x3D45 0x5FE8 # +0x3D46 0x5FE9 # +0x3D47 0x5FEA # +0x3D48 0x5FEC # +0x3D49 0x5FED # +0x3D4A 0x5FEE # +0x3D4B 0x5FEF # +0x3D4C 0x5FF2 # +0x3D4D 0x5FF3 # +0x3D4E 0x5FF6 # +0x3D4F 0x5FFA # +0x3D50 0x5FFC # +0x3D51 0x6007 # +0x3D52 0x600A # +0x3D53 0x600D # +0x3D54 0x6013 # +0x3D55 0x6014 # +0x3D56 0x6017 # +0x3D57 0x6018 # +0x3D58 0x601A # +0x3D59 0x601F # +0x3D5A 0x6024 # +0x3D5B 0x602D # +0x3D5C 0x6033 # +0x3D5D 0x6035 # +0x3D5E 0x6040 # +0x3D5F 0x6047 # +0x3D60 0x6048 # +0x3D61 0x6049 # +0x3D62 0x604C # +0x3D63 0x6051 # +0x3D64 0x6054 # +0x3D65 0x6056 # +0x3D66 0x6057 # +0x3D67 0x605D # +0x3D68 0x6061 # +0x3D69 0x6067 # +0x3D6A 0x6071 # +0x3D6B 0x607E # +0x3D6C 0x607F # +0x3D6D 0x6082 # +0x3D6E 0x6086 # +0x3D6F 0x6088 # +0x3D70 0x608A # +0x3D71 0x608E # +0x3D72 0x6091 # +0x3D73 0x6093 # +0x3D74 0x6095 # +0x3D75 0x6098 # +0x3D76 0x609D # +0x3D77 0x609E # +0x3D78 0x60A2 # +0x3D79 0x60A4 # +0x3D7A 0x60A5 # +0x3D7B 0x60A8 # +0x3D7C 0x60B0 # +0x3D7D 0x60B1 # +0x3D7E 0x60B7 # +0x3E21 0x60BB # +0x3E22 0x60BE # +0x3E23 0x60C2 # +0x3E24 0x60C4 # +0x3E25 0x60C8 # +0x3E26 0x60C9 # +0x3E27 0x60CA # +0x3E28 0x60CB # +0x3E29 0x60CE # +0x3E2A 0x60CF # +0x3E2B 0x60D4 # +0x3E2C 0x60D5 # +0x3E2D 0x60D9 # +0x3E2E 0x60DB # +0x3E2F 0x60DD # +0x3E30 0x60DE # +0x3E31 0x60E2 # +0x3E32 0x60E5 # +0x3E33 0x60F2 # +0x3E34 0x60F5 # +0x3E35 0x60F8 # +0x3E36 0x60FC # +0x3E37 0x60FD # +0x3E38 0x6102 # +0x3E39 0x6107 # +0x3E3A 0x610A # +0x3E3B 0x610C # +0x3E3C 0x6110 # +0x3E3D 0x6111 # +0x3E3E 0x6112 # +0x3E3F 0x6113 # +0x3E40 0x6114 # +0x3E41 0x6116 # +0x3E42 0x6117 # +0x3E43 0x6119 # +0x3E44 0x611C # +0x3E45 0x611E # +0x3E46 0x6122 # +0x3E47 0x612A # +0x3E48 0x612B # +0x3E49 0x6130 # +0x3E4A 0x6131 # +0x3E4B 0x6135 # +0x3E4C 0x6136 # +0x3E4D 0x6137 # +0x3E4E 0x6139 # +0x3E4F 0x6141 # +0x3E50 0x6145 # +0x3E51 0x6146 # +0x3E52 0x6149 # +0x3E53 0x615E # +0x3E54 0x6160 # +0x3E55 0x616C # +0x3E56 0x6172 # +0x3E57 0x6178 # +0x3E58 0x617B # +0x3E59 0x617C # +0x3E5A 0x617F # +0x3E5B 0x6180 # +0x3E5C 0x6181 # +0x3E5D 0x6183 # +0x3E5E 0x6184 # +0x3E5F 0x618B # +0x3E60 0x618D # +0x3E61 0x6192 # +0x3E62 0x6193 # +0x3E63 0x6197 # +0x3E64 0x6198 # +0x3E65 0x619C # +0x3E66 0x619D # +0x3E67 0x619F # +0x3E68 0x61A0 # +0x3E69 0x61A5 # +0x3E6A 0x61A8 # +0x3E6B 0x61AA # +0x3E6C 0x61AD # +0x3E6D 0x61B8 # +0x3E6E 0x61B9 # +0x3E6F 0x61BC # +0x3E70 0x61C0 # +0x3E71 0x61C1 # +0x3E72 0x61C2 # +0x3E73 0x61CE # +0x3E74 0x61CF # +0x3E75 0x61D5 # +0x3E76 0x61DC # +0x3E77 0x61DD # +0x3E78 0x61DE # +0x3E79 0x61DF # +0x3E7A 0x61E1 # +0x3E7B 0x61E2 # +0x3E7C 0x61E7 # +0x3E7D 0x61E9 # +0x3E7E 0x61E5 # +0x3F21 0x61EC # +0x3F22 0x61ED # +0x3F23 0x61EF # +0x3F24 0x6201 # +0x3F25 0x6203 # +0x3F26 0x6204 # +0x3F27 0x6207 # +0x3F28 0x6213 # +0x3F29 0x6215 # +0x3F2A 0x621C # +0x3F2B 0x6220 # +0x3F2C 0x6222 # +0x3F2D 0x6223 # +0x3F2E 0x6227 # +0x3F2F 0x6229 # +0x3F30 0x622B # +0x3F31 0x6239 # +0x3F32 0x623D # +0x3F33 0x6242 # +0x3F34 0x6243 # +0x3F35 0x6244 # +0x3F36 0x6246 # +0x3F37 0x624C # +0x3F38 0x6250 # +0x3F39 0x6251 # +0x3F3A 0x6252 # +0x3F3B 0x6254 # +0x3F3C 0x6256 # +0x3F3D 0x625A # +0x3F3E 0x625C # +0x3F3F 0x6264 # +0x3F40 0x626D # +0x3F41 0x626F # +0x3F42 0x6273 # +0x3F43 0x627A # +0x3F44 0x627D # +0x3F45 0x628D # +0x3F46 0x628E # +0x3F47 0x628F # +0x3F48 0x6290 # +0x3F49 0x62A6 # +0x3F4A 0x62A8 # +0x3F4B 0x62B3 # +0x3F4C 0x62B6 # +0x3F4D 0x62B7 # +0x3F4E 0x62BA # +0x3F4F 0x62BE # +0x3F50 0x62BF # +0x3F51 0x62C4 # +0x3F52 0x62CE # +0x3F53 0x62D5 # +0x3F54 0x62D6 # +0x3F55 0x62DA # +0x3F56 0x62EA # +0x3F57 0x62F2 # +0x3F58 0x62F4 # +0x3F59 0x62FC # +0x3F5A 0x62FD # +0x3F5B 0x6303 # +0x3F5C 0x6304 # +0x3F5D 0x630A # +0x3F5E 0x630B # +0x3F5F 0x630D # +0x3F60 0x6310 # +0x3F61 0x6313 # +0x3F62 0x6316 # +0x3F63 0x6318 # +0x3F64 0x6329 # +0x3F65 0x632A # +0x3F66 0x632D # +0x3F67 0x6335 # +0x3F68 0x6336 # +0x3F69 0x6339 # +0x3F6A 0x633C # +0x3F6B 0x6341 # +0x3F6C 0x6342 # +0x3F6D 0x6343 # +0x3F6E 0x6344 # +0x3F6F 0x6346 # +0x3F70 0x634A # +0x3F71 0x634B # +0x3F72 0x634E # +0x3F73 0x6352 # +0x3F74 0x6353 # +0x3F75 0x6354 # +0x3F76 0x6358 # +0x3F77 0x635B # +0x3F78 0x6365 # +0x3F79 0x6366 # +0x3F7A 0x636C # +0x3F7B 0x636D # +0x3F7C 0x6371 # +0x3F7D 0x6374 # +0x3F7E 0x6375 # +0x4021 0x6378 # +0x4022 0x637C # +0x4023 0x637D # +0x4024 0x637F # +0x4025 0x6382 # +0x4026 0x6384 # +0x4027 0x6387 # +0x4028 0x638A # +0x4029 0x6390 # +0x402A 0x6394 # +0x402B 0x6395 # +0x402C 0x6399 # +0x402D 0x639A # +0x402E 0x639E # +0x402F 0x63A4 # +0x4030 0x63A6 # +0x4031 0x63AD # +0x4032 0x63AE # +0x4033 0x63AF # +0x4034 0x63BD # +0x4035 0x63C1 # +0x4036 0x63C5 # +0x4037 0x63C8 # +0x4038 0x63CE # +0x4039 0x63D1 # +0x403A 0x63D3 # +0x403B 0x63D4 # +0x403C 0x63D5 # +0x403D 0x63DC # +0x403E 0x63E0 # +0x403F 0x63E5 # +0x4040 0x63EA # +0x4041 0x63EC # +0x4042 0x63F2 # +0x4043 0x63F3 # +0x4044 0x63F5 # +0x4045 0x63F8 # +0x4046 0x63F9 # +0x4047 0x6409 # +0x4048 0x640A # +0x4049 0x6410 # +0x404A 0x6412 # +0x404B 0x6414 # +0x404C 0x6418 # +0x404D 0x641E # +0x404E 0x6420 # +0x404F 0x6422 # +0x4050 0x6424 # +0x4051 0x6425 # +0x4052 0x6429 # +0x4053 0x642A # +0x4054 0x642F # +0x4055 0x6430 # +0x4056 0x6435 # +0x4057 0x643D # +0x4058 0x643F # +0x4059 0x644B # +0x405A 0x644F # +0x405B 0x6451 # +0x405C 0x6452 # +0x405D 0x6453 # +0x405E 0x6454 # +0x405F 0x645A # +0x4060 0x645B # +0x4061 0x645C # +0x4062 0x645D # +0x4063 0x645F # +0x4064 0x6460 # +0x4065 0x6461 # +0x4066 0x6463 # +0x4067 0x646D # +0x4068 0x6473 # +0x4069 0x6474 # +0x406A 0x647B # +0x406B 0x647D # +0x406C 0x6485 # +0x406D 0x6487 # +0x406E 0x648F # +0x406F 0x6490 # +0x4070 0x6491 # +0x4071 0x6498 # +0x4072 0x6499 # +0x4073 0x649B # +0x4074 0x649D # +0x4075 0x649F # +0x4076 0x64A1 # +0x4077 0x64A3 # +0x4078 0x64A6 # +0x4079 0x64A8 # +0x407A 0x64AC # +0x407B 0x64B3 # +0x407C 0x64BD # +0x407D 0x64BE # +0x407E 0x64BF # +0x4121 0x64C4 # +0x4122 0x64C9 # +0x4123 0x64CA # +0x4124 0x64CB # +0x4125 0x64CC # +0x4126 0x64CE # +0x4127 0x64D0 # +0x4128 0x64D1 # +0x4129 0x64D5 # +0x412A 0x64D7 # +0x412B 0x64E4 # +0x412C 0x64E5 # +0x412D 0x64E9 # +0x412E 0x64EA # +0x412F 0x64ED # +0x4130 0x64F0 # +0x4131 0x64F5 # +0x4132 0x64F7 # +0x4133 0x64FB # +0x4134 0x64FF # +0x4135 0x6501 # +0x4136 0x6504 # +0x4137 0x6508 # +0x4138 0x6509 # +0x4139 0x650A # +0x413A 0x650F # +0x413B 0x6513 # +0x413C 0x6514 # +0x413D 0x6516 # +0x413E 0x6519 # +0x413F 0x651B # +0x4140 0x651E # +0x4141 0x651F # +0x4142 0x6522 # +0x4143 0x6526 # +0x4144 0x6529 # +0x4145 0x652E # +0x4146 0x6531 # +0x4147 0x653A # +0x4148 0x653C # +0x4149 0x653D # +0x414A 0x6543 # +0x414B 0x6547 # +0x414C 0x6549 # +0x414D 0x6550 # +0x414E 0x6552 # +0x414F 0x6554 # +0x4150 0x655F # +0x4151 0x6560 # +0x4152 0x6567 # +0x4153 0x656B # +0x4154 0x657A # +0x4155 0x657D # +0x4156 0x6581 # +0x4157 0x6585 # +0x4158 0x658A # +0x4159 0x6592 # +0x415A 0x6595 # +0x415B 0x6598 # +0x415C 0x659D # +0x415D 0x65A0 # +0x415E 0x65A3 # +0x415F 0x65A6 # +0x4160 0x65AE # +0x4161 0x65B2 # +0x4162 0x65B3 # +0x4163 0x65B4 # +0x4164 0x65BF # +0x4165 0x65C2 # +0x4166 0x65C8 # +0x4167 0x65C9 # +0x4168 0x65CE # +0x4169 0x65D0 # +0x416A 0x65D4 # +0x416B 0x65D6 # +0x416C 0x65D8 # +0x416D 0x65DF # +0x416E 0x65F0 # +0x416F 0x65F2 # +0x4170 0x65F4 # +0x4171 0x65F5 # +0x4172 0x65F9 # +0x4173 0x65FE # +0x4174 0x65FF # +0x4175 0x6600 # +0x4176 0x6604 # +0x4177 0x6608 # +0x4178 0x6609 # +0x4179 0x660D # +0x417A 0x6611 # +0x417B 0x6612 # +0x417C 0x6615 # +0x417D 0x6616 # +0x417E 0x661D # +0x4221 0x661E # +0x4222 0x6621 # +0x4223 0x6622 # +0x4224 0x6623 # +0x4225 0x6624 # +0x4226 0x6626 # +0x4227 0x6629 # +0x4228 0x662A # +0x4229 0x662B # +0x422A 0x662C # +0x422B 0x662E # +0x422C 0x6630 # +0x422D 0x6631 # +0x422E 0x6633 # +0x422F 0x6639 # +0x4230 0x6637 # +0x4231 0x6640 # +0x4232 0x6645 # +0x4233 0x6646 # +0x4234 0x664A # +0x4235 0x664C # +0x4236 0x6651 # +0x4237 0x664E # +0x4238 0x6657 # +0x4239 0x6658 # +0x423A 0x6659 # +0x423B 0x665B # +0x423C 0x665C # +0x423D 0x6660 # +0x423E 0x6661 # +0x423F 0x66FB # +0x4240 0x666A # +0x4241 0x666B # +0x4242 0x666C # +0x4243 0x667E # +0x4244 0x6673 # +0x4245 0x6675 # +0x4246 0x667F # +0x4247 0x6677 # +0x4248 0x6678 # +0x4249 0x6679 # +0x424A 0x667B # +0x424B 0x6680 # +0x424C 0x667C # +0x424D 0x668B # +0x424E 0x668C # +0x424F 0x668D # +0x4250 0x6690 # +0x4251 0x6692 # +0x4252 0x6699 # +0x4253 0x669A # +0x4254 0x669B # +0x4255 0x669C # +0x4256 0x669F # +0x4257 0x66A0 # +0x4258 0x66A4 # +0x4259 0x66AD # +0x425A 0x66B1 # +0x425B 0x66B2 # +0x425C 0x66B5 # +0x425D 0x66BB # +0x425E 0x66BF # +0x425F 0x66C0 # +0x4260 0x66C2 # +0x4261 0x66C3 # +0x4262 0x66C8 # +0x4263 0x66CC # +0x4264 0x66CE # +0x4265 0x66CF # +0x4266 0x66D4 # +0x4267 0x66DB # +0x4268 0x66DF # +0x4269 0x66E8 # +0x426A 0x66EB # +0x426B 0x66EC # +0x426C 0x66EE # +0x426D 0x66FA # +0x426E 0x6705 # +0x426F 0x6707 # +0x4270 0x670E # +0x4271 0x6713 # +0x4272 0x6719 # +0x4273 0x671C # +0x4274 0x6720 # +0x4275 0x6722 # +0x4276 0x6733 # +0x4277 0x673E # +0x4278 0x6745 # +0x4279 0x6747 # +0x427A 0x6748 # +0x427B 0x674C # +0x427C 0x6754 # +0x427D 0x6755 # +0x427E 0x675D # +0x4321 0x6766 # +0x4322 0x676C # +0x4323 0x676E # +0x4324 0x6774 # +0x4325 0x6776 # +0x4326 0x677B # +0x4327 0x6781 # +0x4328 0x6784 # +0x4329 0x678E # +0x432A 0x678F # +0x432B 0x6791 # +0x432C 0x6793 # +0x432D 0x6796 # +0x432E 0x6798 # +0x432F 0x6799 # +0x4330 0x679B # +0x4331 0x67B0 # +0x4332 0x67B1 # +0x4333 0x67B2 # +0x4334 0x67B5 # +0x4335 0x67BB # +0x4336 0x67BC # +0x4337 0x67BD # +0x4338 0x67F9 # +0x4339 0x67C0 # +0x433A 0x67C2 # +0x433B 0x67C3 # +0x433C 0x67C5 # +0x433D 0x67C8 # +0x433E 0x67C9 # +0x433F 0x67D2 # +0x4340 0x67D7 # +0x4341 0x67D9 # +0x4342 0x67DC # +0x4343 0x67E1 # +0x4344 0x67E6 # +0x4345 0x67F0 # +0x4346 0x67F2 # +0x4347 0x67F6 # +0x4348 0x67F7 # +0x4349 0x6852 # +0x434A 0x6814 # +0x434B 0x6819 # +0x434C 0x681D # +0x434D 0x681F # +0x434E 0x6828 # +0x434F 0x6827 # +0x4350 0x682C # +0x4351 0x682D # +0x4352 0x682F # +0x4353 0x6830 # +0x4354 0x6831 # +0x4355 0x6833 # +0x4356 0x683B # +0x4357 0x683F # +0x4358 0x6844 # +0x4359 0x6845 # +0x435A 0x684A # +0x435B 0x684C # +0x435C 0x6855 # +0x435D 0x6857 # +0x435E 0x6858 # +0x435F 0x685B # +0x4360 0x686B # +0x4361 0x686E # +0x4362 0x686F # +0x4363 0x6870 # +0x4364 0x6871 # +0x4365 0x6872 # +0x4366 0x6875 # +0x4367 0x6879 # +0x4368 0x687A # +0x4369 0x687B # +0x436A 0x687C # +0x436B 0x6882 # +0x436C 0x6884 # +0x436D 0x6886 # +0x436E 0x6888 # +0x436F 0x6896 # +0x4370 0x6898 # +0x4371 0x689A # +0x4372 0x689C # +0x4373 0x68A1 # +0x4374 0x68A3 # +0x4375 0x68A5 # +0x4376 0x68A9 # +0x4377 0x68AA # +0x4378 0x68AE # +0x4379 0x68B2 # +0x437A 0x68BB # +0x437B 0x68C5 # +0x437C 0x68C8 # +0x437D 0x68CC # +0x437E 0x68CF # +0x4421 0x68D0 # +0x4422 0x68D1 # +0x4423 0x68D3 # +0x4424 0x68D6 # +0x4425 0x68D9 # +0x4426 0x68DC # +0x4427 0x68DD # +0x4428 0x68E5 # +0x4429 0x68E8 # +0x442A 0x68EA # +0x442B 0x68EB # +0x442C 0x68EC # +0x442D 0x68ED # +0x442E 0x68F0 # +0x442F 0x68F1 # +0x4430 0x68F5 # +0x4431 0x68F6 # +0x4432 0x68FB # +0x4433 0x68FC # +0x4434 0x68FD # +0x4435 0x6906 # +0x4436 0x6909 # +0x4437 0x690A # +0x4438 0x6910 # +0x4439 0x6911 # +0x443A 0x6913 # +0x443B 0x6916 # +0x443C 0x6917 # +0x443D 0x6931 # +0x443E 0x6933 # +0x443F 0x6935 # +0x4440 0x6938 # +0x4441 0x693B # +0x4442 0x6942 # +0x4443 0x6945 # +0x4444 0x6949 # +0x4445 0x694E # +0x4446 0x6957 # +0x4447 0x695B # +0x4448 0x6963 # +0x4449 0x6964 # +0x444A 0x6965 # +0x444B 0x6966 # +0x444C 0x6968 # +0x444D 0x6969 # +0x444E 0x696C # +0x444F 0x6970 # +0x4450 0x6971 # +0x4451 0x6972 # +0x4452 0x697A # +0x4453 0x697B # +0x4454 0x697F # +0x4455 0x6980 # +0x4456 0x698D # +0x4457 0x6992 # +0x4458 0x6996 # +0x4459 0x6998 # +0x445A 0x69A1 # +0x445B 0x69A5 # +0x445C 0x69A6 # +0x445D 0x69A8 # +0x445E 0x69AB # +0x445F 0x69AD # +0x4460 0x69AF # +0x4461 0x69B7 # +0x4462 0x69B8 # +0x4463 0x69BA # +0x4464 0x69BC # +0x4465 0x69C5 # +0x4466 0x69C8 # +0x4467 0x69D1 # +0x4468 0x69D6 # +0x4469 0x69D7 # +0x446A 0x69E2 # +0x446B 0x69E5 # +0x446C 0x69EE # +0x446D 0x69EF # +0x446E 0x69F1 # +0x446F 0x69F3 # +0x4470 0x69F5 # +0x4471 0x69FE # +0x4472 0x6A00 # +0x4473 0x6A01 # +0x4474 0x6A03 # +0x4475 0x6A0F # +0x4476 0x6A11 # +0x4477 0x6A15 # +0x4478 0x6A1A # +0x4479 0x6A1D # +0x447A 0x6A20 # +0x447B 0x6A24 # +0x447C 0x6A28 # +0x447D 0x6A30 # +0x447E 0x6A32 # +0x4521 0x6A34 # +0x4522 0x6A37 # +0x4523 0x6A3B # +0x4524 0x6A3E # +0x4525 0x6A3F # +0x4526 0x6A45 # +0x4527 0x6A46 # +0x4528 0x6A49 # +0x4529 0x6A4A # +0x452A 0x6A4E # +0x452B 0x6A50 # +0x452C 0x6A51 # +0x452D 0x6A52 # +0x452E 0x6A55 # +0x452F 0x6A56 # +0x4530 0x6A5B # +0x4531 0x6A64 # +0x4532 0x6A67 # +0x4533 0x6A6A # +0x4534 0x6A71 # +0x4535 0x6A73 # +0x4536 0x6A7E # +0x4537 0x6A81 # +0x4538 0x6A83 # +0x4539 0x6A86 # +0x453A 0x6A87 # +0x453B 0x6A89 # +0x453C 0x6A8B # +0x453D 0x6A91 # +0x453E 0x6A9B # +0x453F 0x6A9D # +0x4540 0x6A9E # +0x4541 0x6A9F # +0x4542 0x6AA5 # +0x4543 0x6AAB # +0x4544 0x6AAF # +0x4545 0x6AB0 # +0x4546 0x6AB1 # +0x4547 0x6AB4 # +0x4548 0x6ABD # +0x4549 0x6ABE # +0x454A 0x6ABF # +0x454B 0x6AC6 # +0x454C 0x6AC9 # +0x454D 0x6AC8 # +0x454E 0x6ACC # +0x454F 0x6AD0 # +0x4550 0x6AD4 # +0x4551 0x6AD5 # +0x4552 0x6AD6 # +0x4553 0x6ADC # +0x4554 0x6ADD # +0x4555 0x6AE4 # +0x4556 0x6AE7 # +0x4557 0x6AEC # +0x4558 0x6AF0 # +0x4559 0x6AF1 # +0x455A 0x6AF2 # +0x455B 0x6AFC # +0x455C 0x6AFD # +0x455D 0x6B02 # +0x455E 0x6B03 # +0x455F 0x6B06 # +0x4560 0x6B07 # +0x4561 0x6B09 # +0x4562 0x6B0F # +0x4563 0x6B10 # +0x4564 0x6B11 # +0x4565 0x6B17 # +0x4566 0x6B1B # +0x4567 0x6B1E # +0x4568 0x6B24 # +0x4569 0x6B28 # +0x456A 0x6B2B # +0x456B 0x6B2C # +0x456C 0x6B2F # +0x456D 0x6B35 # +0x456E 0x6B36 # +0x456F 0x6B3B # +0x4570 0x6B3F # +0x4571 0x6B46 # +0x4572 0x6B4A # +0x4573 0x6B4D # +0x4574 0x6B52 # +0x4575 0x6B56 # +0x4576 0x6B58 # +0x4577 0x6B5D # +0x4578 0x6B60 # +0x4579 0x6B67 # +0x457A 0x6B6B # +0x457B 0x6B6E # +0x457C 0x6B70 # +0x457D 0x6B75 # +0x457E 0x6B7D # +0x4621 0x6B7E # +0x4622 0x6B82 # +0x4623 0x6B85 # +0x4624 0x6B97 # +0x4625 0x6B9B # +0x4626 0x6B9F # +0x4627 0x6BA0 # +0x4628 0x6BA2 # +0x4629 0x6BA3 # +0x462A 0x6BA8 # +0x462B 0x6BA9 # +0x462C 0x6BAC # +0x462D 0x6BAD # +0x462E 0x6BAE # +0x462F 0x6BB0 # +0x4630 0x6BB8 # +0x4631 0x6BB9 # +0x4632 0x6BBD # +0x4633 0x6BBE # +0x4634 0x6BC3 # +0x4635 0x6BC4 # +0x4636 0x6BC9 # +0x4637 0x6BCC # +0x4638 0x6BD6 # +0x4639 0x6BDA # +0x463A 0x6BE1 # +0x463B 0x6BE3 # +0x463C 0x6BE6 # +0x463D 0x6BE7 # +0x463E 0x6BEE # +0x463F 0x6BF1 # +0x4640 0x6BF7 # +0x4641 0x6BF9 # +0x4642 0x6BFF # +0x4643 0x6C02 # +0x4644 0x6C04 # +0x4645 0x6C05 # +0x4646 0x6C09 # +0x4647 0x6C0D # +0x4648 0x6C0E # +0x4649 0x6C10 # +0x464A 0x6C12 # +0x464B 0x6C19 # +0x464C 0x6C1F # +0x464D 0x6C26 # +0x464E 0x6C27 # +0x464F 0x6C28 # +0x4650 0x6C2C # +0x4651 0x6C2E # +0x4652 0x6C33 # +0x4653 0x6C35 # +0x4654 0x6C36 # +0x4655 0x6C3A # +0x4656 0x6C3B # +0x4657 0x6C3F # +0x4658 0x6C4A # +0x4659 0x6C4B # +0x465A 0x6C4D # +0x465B 0x6C4F # +0x465C 0x6C52 # +0x465D 0x6C54 # +0x465E 0x6C59 # +0x465F 0x6C5B # +0x4660 0x6C5C # +0x4661 0x6C6B # +0x4662 0x6C6D # +0x4663 0x6C6F # +0x4664 0x6C74 # +0x4665 0x6C76 # +0x4666 0x6C78 # +0x4667 0x6C79 # +0x4668 0x6C7B # +0x4669 0x6C85 # +0x466A 0x6C86 # +0x466B 0x6C87 # +0x466C 0x6C89 # +0x466D 0x6C94 # +0x466E 0x6C95 # +0x466F 0x6C97 # +0x4670 0x6C98 # +0x4671 0x6C9C # +0x4672 0x6C9F # +0x4673 0x6CB0 # +0x4674 0x6CB2 # +0x4675 0x6CB4 # +0x4676 0x6CC2 # +0x4677 0x6CC6 # +0x4678 0x6CCD # +0x4679 0x6CCF # +0x467A 0x6CD0 # +0x467B 0x6CD1 # +0x467C 0x6CD2 # +0x467D 0x6CD4 # +0x467E 0x6CD6 # +0x4721 0x6CDA # +0x4722 0x6CDC # +0x4723 0x6CE0 # +0x4724 0x6CE7 # +0x4725 0x6CE9 # +0x4726 0x6CEB # +0x4727 0x6CEC # +0x4728 0x6CEE # +0x4729 0x6CF2 # +0x472A 0x6CF4 # +0x472B 0x6D04 # +0x472C 0x6D07 # +0x472D 0x6D0A # +0x472E 0x6D0E # +0x472F 0x6D0F # +0x4730 0x6D11 # +0x4731 0x6D13 # +0x4732 0x6D1A # +0x4733 0x6D26 # +0x4734 0x6D27 # +0x4735 0x6D28 # +0x4736 0x6C67 # +0x4737 0x6D2E # +0x4738 0x6D2F # +0x4739 0x6D31 # +0x473A 0x6D39 # +0x473B 0x6D3C # +0x473C 0x6D3F # +0x473D 0x6D57 # +0x473E 0x6D5E # +0x473F 0x6D5F # +0x4740 0x6D61 # +0x4741 0x6D65 # +0x4742 0x6D67 # +0x4743 0x6D6F # +0x4744 0x6D70 # +0x4745 0x6D7C # +0x4746 0x6D82 # +0x4747 0x6D87 # +0x4748 0x6D91 # +0x4749 0x6D92 # +0x474A 0x6D94 # +0x474B 0x6D96 # +0x474C 0x6D97 # +0x474D 0x6D98 # +0x474E 0x6DAA # +0x474F 0x6DAC # +0x4750 0x6DB4 # +0x4751 0x6DB7 # +0x4752 0x6DB9 # +0x4753 0x6DBD # +0x4754 0x6DBF # +0x4755 0x6DC4 # +0x4756 0x6DC8 # +0x4757 0x6DCA # +0x4758 0x6DCE # +0x4759 0x6DCF # +0x475A 0x6DD6 # +0x475B 0x6DDB # +0x475C 0x6DDD # +0x475D 0x6DDF # +0x475E 0x6DE0 # +0x475F 0x6DE2 # +0x4760 0x6DE5 # +0x4761 0x6DE9 # +0x4762 0x6DEF # +0x4763 0x6DF0 # +0x4764 0x6DF4 # +0x4765 0x6DF6 # +0x4766 0x6DFC # +0x4767 0x6E00 # +0x4768 0x6E04 # +0x4769 0x6E1E # +0x476A 0x6E22 # +0x476B 0x6E27 # +0x476C 0x6E32 # +0x476D 0x6E36 # +0x476E 0x6E39 # +0x476F 0x6E3B # +0x4770 0x6E3C # +0x4771 0x6E44 # +0x4772 0x6E45 # +0x4773 0x6E48 # +0x4774 0x6E49 # +0x4775 0x6E4B # +0x4776 0x6E4F # +0x4777 0x6E51 # +0x4778 0x6E52 # +0x4779 0x6E53 # +0x477A 0x6E54 # +0x477B 0x6E57 # +0x477C 0x6E5C # +0x477D 0x6E5D # +0x477E 0x6E5E # +0x4821 0x6E62 # +0x4822 0x6E63 # +0x4823 0x6E68 # +0x4824 0x6E73 # +0x4825 0x6E7B # +0x4826 0x6E7D # +0x4827 0x6E8D # +0x4828 0x6E93 # +0x4829 0x6E99 # +0x482A 0x6EA0 # +0x482B 0x6EA7 # +0x482C 0x6EAD # +0x482D 0x6EAE # +0x482E 0x6EB1 # +0x482F 0x6EB3 # +0x4830 0x6EBB # +0x4831 0x6EBF # +0x4832 0x6EC0 # +0x4833 0x6EC1 # +0x4834 0x6EC3 # +0x4835 0x6EC7 # +0x4836 0x6EC8 # +0x4837 0x6ECA # +0x4838 0x6ECD # +0x4839 0x6ECE # +0x483A 0x6ECF # +0x483B 0x6EEB # +0x483C 0x6EED # +0x483D 0x6EEE # +0x483E 0x6EF9 # +0x483F 0x6EFB # +0x4840 0x6EFD # +0x4841 0x6F04 # +0x4842 0x6F08 # +0x4843 0x6F0A # +0x4844 0x6F0C # +0x4845 0x6F0D # +0x4846 0x6F16 # +0x4847 0x6F18 # +0x4848 0x6F1A # +0x4849 0x6F1B # +0x484A 0x6F26 # +0x484B 0x6F29 # +0x484C 0x6F2A # +0x484D 0x6F2F # +0x484E 0x6F30 # +0x484F 0x6F33 # +0x4850 0x6F36 # +0x4851 0x6F3B # +0x4852 0x6F3C # +0x4853 0x6F2D # +0x4854 0x6F4F # +0x4855 0x6F51 # +0x4856 0x6F52 # +0x4857 0x6F53 # +0x4858 0x6F57 # +0x4859 0x6F59 # +0x485A 0x6F5A # +0x485B 0x6F5D # +0x485C 0x6F5E # +0x485D 0x6F61 # +0x485E 0x6F62 # +0x485F 0x6F68 # +0x4860 0x6F6C # +0x4861 0x6F7D # +0x4862 0x6F7E # +0x4863 0x6F83 # +0x4864 0x6F87 # +0x4865 0x6F88 # +0x4866 0x6F8B # +0x4867 0x6F8C # +0x4868 0x6F8D # +0x4869 0x6F90 # +0x486A 0x6F92 # +0x486B 0x6F93 # +0x486C 0x6F94 # +0x486D 0x6F96 # +0x486E 0x6F9A # +0x486F 0x6F9F # +0x4870 0x6FA0 # +0x4871 0x6FA5 # +0x4872 0x6FA6 # +0x4873 0x6FA7 # +0x4874 0x6FA8 # +0x4875 0x6FAE # +0x4876 0x6FAF # +0x4877 0x6FB0 # +0x4878 0x6FB5 # +0x4879 0x6FB6 # +0x487A 0x6FBC # +0x487B 0x6FC5 # +0x487C 0x6FC7 # +0x487D 0x6FC8 # +0x487E 0x6FCA # +0x4921 0x6FDA # +0x4922 0x6FDE # +0x4923 0x6FE8 # +0x4924 0x6FE9 # +0x4925 0x6FF0 # +0x4926 0x6FF5 # +0x4927 0x6FF9 # +0x4928 0x6FFC # +0x4929 0x6FFD # +0x492A 0x7000 # +0x492B 0x7005 # +0x492C 0x7006 # +0x492D 0x7007 # +0x492E 0x700D # +0x492F 0x7017 # +0x4930 0x7020 # +0x4931 0x7023 # +0x4932 0x702F # +0x4933 0x7034 # +0x4934 0x7037 # +0x4935 0x7039 # +0x4936 0x703C # +0x4937 0x7043 # +0x4938 0x7044 # +0x4939 0x7048 # +0x493A 0x7049 # +0x493B 0x704A # +0x493C 0x704B # +0x493D 0x7054 # +0x493E 0x7055 # +0x493F 0x705D # +0x4940 0x705E # +0x4941 0x704E # +0x4942 0x7064 # +0x4943 0x7065 # +0x4944 0x706C # +0x4945 0x706E # +0x4946 0x7075 # +0x4947 0x7076 # +0x4948 0x707E # +0x4949 0x7081 # +0x494A 0x7085 # +0x494B 0x7086 # +0x494C 0x7094 # +0x494D 0x7095 # +0x494E 0x7096 # +0x494F 0x7097 # +0x4950 0x7098 # +0x4951 0x709B # +0x4952 0x70A4 # +0x4953 0x70AB # +0x4954 0x70B0 # +0x4955 0x70B1 # +0x4956 0x70B4 # +0x4957 0x70B7 # +0x4958 0x70CA # +0x4959 0x70D1 # +0x495A 0x70D3 # +0x495B 0x70D4 # +0x495C 0x70D5 # +0x495D 0x70D6 # +0x495E 0x70D8 # +0x495F 0x70DC # +0x4960 0x70E4 # +0x4961 0x70FA # +0x4962 0x7103 # +0x4963 0x7104 # +0x4964 0x7105 # +0x4965 0x7106 # +0x4966 0x7107 # +0x4967 0x710B # +0x4968 0x710C # +0x4969 0x710F # +0x496A 0x711E # +0x496B 0x7120 # +0x496C 0x712B # +0x496D 0x712D # +0x496E 0x712F # +0x496F 0x7130 # +0x4970 0x7131 # +0x4971 0x7138 # +0x4972 0x7141 # +0x4973 0x7145 # +0x4974 0x7146 # +0x4975 0x7147 # +0x4976 0x714A # +0x4977 0x714B # +0x4978 0x7150 # +0x4979 0x7152 # +0x497A 0x7157 # +0x497B 0x715A # +0x497C 0x715C # +0x497D 0x715E # +0x497E 0x7160 # +0x4A21 0x7168 # +0x4A22 0x7179 # +0x4A23 0x7180 # +0x4A24 0x7185 # +0x4A25 0x7187 # +0x4A26 0x718C # +0x4A27 0x7192 # +0x4A28 0x719A # +0x4A29 0x719B # +0x4A2A 0x71A0 # +0x4A2B 0x71A2 # +0x4A2C 0x71AF # +0x4A2D 0x71B0 # +0x4A2E 0x71B2 # +0x4A2F 0x71B3 # +0x4A30 0x71BA # +0x4A31 0x71BF # +0x4A32 0x71C0 # +0x4A33 0x71C1 # +0x4A34 0x71C4 # +0x4A35 0x71CB # +0x4A36 0x71CC # +0x4A37 0x71D3 # +0x4A38 0x71D6 # +0x4A39 0x71D9 # +0x4A3A 0x71DA # +0x4A3B 0x71DC # +0x4A3C 0x71F8 # +0x4A3D 0x71FE # +0x4A3E 0x7200 # +0x4A3F 0x7207 # +0x4A40 0x7208 # +0x4A41 0x7209 # +0x4A42 0x7213 # +0x4A43 0x7217 # +0x4A44 0x721A # +0x4A45 0x721D # +0x4A46 0x721F # +0x4A47 0x7224 # +0x4A48 0x722B # +0x4A49 0x722F # +0x4A4A 0x7234 # +0x4A4B 0x7238 # +0x4A4C 0x7239 # +0x4A4D 0x7241 # +0x4A4E 0x7242 # +0x4A4F 0x7243 # +0x4A50 0x7245 # +0x4A51 0x724E # +0x4A52 0x724F # +0x4A53 0x7250 # +0x4A54 0x7253 # +0x4A55 0x7255 # +0x4A56 0x7256 # +0x4A57 0x725A # +0x4A58 0x725C # +0x4A59 0x725E # +0x4A5A 0x7260 # +0x4A5B 0x7263 # +0x4A5C 0x7268 # +0x4A5D 0x726B # +0x4A5E 0x726E # +0x4A5F 0x726F # +0x4A60 0x7271 # +0x4A61 0x7277 # +0x4A62 0x7278 # +0x4A63 0x727B # +0x4A64 0x727C # +0x4A65 0x727F # +0x4A66 0x7284 # +0x4A67 0x7289 # +0x4A68 0x728D # +0x4A69 0x728E # +0x4A6A 0x7293 # +0x4A6B 0x729B # +0x4A6C 0x72A8 # +0x4A6D 0x72AD # +0x4A6E 0x72AE # +0x4A6F 0x72B1 # +0x4A70 0x72B4 # +0x4A71 0x72BE # +0x4A72 0x72C1 # +0x4A73 0x72C7 # +0x4A74 0x72C9 # +0x4A75 0x72CC # +0x4A76 0x72D5 # +0x4A77 0x72D6 # +0x4A78 0x72D8 # +0x4A79 0x72DF # +0x4A7A 0x72E5 # +0x4A7B 0x72F3 # +0x4A7C 0x72F4 # +0x4A7D 0x72FA # +0x4A7E 0x72FB # +0x4B21 0x72FE # +0x4B22 0x7302 # +0x4B23 0x7304 # +0x4B24 0x7305 # +0x4B25 0x7307 # +0x4B26 0x730B # +0x4B27 0x730D # +0x4B28 0x7312 # +0x4B29 0x7313 # +0x4B2A 0x7318 # +0x4B2B 0x7319 # +0x4B2C 0x731E # +0x4B2D 0x7322 # +0x4B2E 0x7324 # +0x4B2F 0x7327 # +0x4B30 0x7328 # +0x4B31 0x732C # +0x4B32 0x7331 # +0x4B33 0x7332 # +0x4B34 0x7335 # +0x4B35 0x733A # +0x4B36 0x733B # +0x4B37 0x733D # +0x4B38 0x7343 # +0x4B39 0x734D # +0x4B3A 0x7350 # +0x4B3B 0x7352 # +0x4B3C 0x7356 # +0x4B3D 0x7358 # +0x4B3E 0x735D # +0x4B3F 0x735E # +0x4B40 0x735F # +0x4B41 0x7360 # +0x4B42 0x7366 # +0x4B43 0x7367 # +0x4B44 0x7369 # +0x4B45 0x736B # +0x4B46 0x736C # +0x4B47 0x736E # +0x4B48 0x736F # +0x4B49 0x7371 # +0x4B4A 0x7377 # +0x4B4B 0x7379 # +0x4B4C 0x737C # +0x4B4D 0x7380 # +0x4B4E 0x7381 # +0x4B4F 0x7383 # +0x4B50 0x7385 # +0x4B51 0x7386 # +0x4B52 0x738E # +0x4B53 0x7390 # +0x4B54 0x7393 # +0x4B55 0x7395 # +0x4B56 0x7397 # +0x4B57 0x7398 # +0x4B58 0x739C # +0x4B59 0x739E # +0x4B5A 0x739F # +0x4B5B 0x73A0 # +0x4B5C 0x73A2 # +0x4B5D 0x73A5 # +0x4B5E 0x73A6 # +0x4B5F 0x73AA # +0x4B60 0x73AB # +0x4B61 0x73AD # +0x4B62 0x73B5 # +0x4B63 0x73B7 # +0x4B64 0x73B9 # +0x4B65 0x73BC # +0x4B66 0x73BD # +0x4B67 0x73BF # +0x4B68 0x73C5 # +0x4B69 0x73C6 # +0x4B6A 0x73C9 # +0x4B6B 0x73CB # +0x4B6C 0x73CC # +0x4B6D 0x73CF # +0x4B6E 0x73D2 # +0x4B6F 0x73D3 # +0x4B70 0x73D6 # +0x4B71 0x73D9 # +0x4B72 0x73DD # +0x4B73 0x73E1 # +0x4B74 0x73E3 # +0x4B75 0x73E6 # +0x4B76 0x73E7 # +0x4B77 0x73E9 # +0x4B78 0x73F4 # +0x4B79 0x73F5 # +0x4B7A 0x73F7 # +0x4B7B 0x73F9 # +0x4B7C 0x73FA # +0x4B7D 0x73FB # +0x4B7E 0x73FD # +0x4C21 0x73FF # +0x4C22 0x7400 # +0x4C23 0x7401 # +0x4C24 0x7404 # +0x4C25 0x7407 # +0x4C26 0x740A # +0x4C27 0x7411 # +0x4C28 0x741A # +0x4C29 0x741B # +0x4C2A 0x7424 # +0x4C2B 0x7426 # +0x4C2C 0x7428 # +0x4C2D 0x7429 # +0x4C2E 0x742A # +0x4C2F 0x742B # +0x4C30 0x742C # +0x4C31 0x742D # +0x4C32 0x742E # +0x4C33 0x742F # +0x4C34 0x7430 # +0x4C35 0x7431 # +0x4C36 0x7439 # +0x4C37 0x7440 # +0x4C38 0x7443 # +0x4C39 0x7444 # +0x4C3A 0x7446 # +0x4C3B 0x7447 # +0x4C3C 0x744B # +0x4C3D 0x744D # +0x4C3E 0x7451 # +0x4C3F 0x7452 # +0x4C40 0x7457 # +0x4C41 0x745D # +0x4C42 0x7462 # +0x4C43 0x7466 # +0x4C44 0x7467 # +0x4C45 0x7468 # +0x4C46 0x746B # +0x4C47 0x746D # +0x4C48 0x746E # +0x4C49 0x7471 # +0x4C4A 0x7472 # +0x4C4B 0x7480 # +0x4C4C 0x7481 # +0x4C4D 0x7485 # +0x4C4E 0x7486 # +0x4C4F 0x7487 # +0x4C50 0x7489 # +0x4C51 0x748F # +0x4C52 0x7490 # +0x4C53 0x7491 # +0x4C54 0x7492 # +0x4C55 0x7498 # +0x4C56 0x7499 # +0x4C57 0x749A # +0x4C58 0x749C # +0x4C59 0x749F # +0x4C5A 0x74A0 # +0x4C5B 0x74A1 # +0x4C5C 0x74A3 # +0x4C5D 0x74A6 # +0x4C5E 0x74A8 # +0x4C5F 0x74A9 # +0x4C60 0x74AA # +0x4C61 0x74AB # +0x4C62 0x74AE # +0x4C63 0x74AF # +0x4C64 0x74B1 # +0x4C65 0x74B2 # +0x4C66 0x74B5 # +0x4C67 0x74B9 # +0x4C68 0x74BB # +0x4C69 0x74BF # +0x4C6A 0x74C8 # +0x4C6B 0x74C9 # +0x4C6C 0x74CC # +0x4C6D 0x74D0 # +0x4C6E 0x74D3 # +0x4C6F 0x74D8 # +0x4C70 0x74DA # +0x4C71 0x74DB # +0x4C72 0x74DE # +0x4C73 0x74DF # +0x4C74 0x74E4 # +0x4C75 0x74E8 # +0x4C76 0x74EA # +0x4C77 0x74EB # +0x4C78 0x74EF # +0x4C79 0x74F4 # +0x4C7A 0x74FA # +0x4C7B 0x74FB # +0x4C7C 0x74FC # +0x4C7D 0x74FF # +0x4C7E 0x7506 # +0x4D21 0x7512 # +0x4D22 0x7516 # +0x4D23 0x7517 # +0x4D24 0x7520 # +0x4D25 0x7521 # +0x4D26 0x7524 # +0x4D27 0x7527 # +0x4D28 0x7529 # +0x4D29 0x752A # +0x4D2A 0x752F # +0x4D2B 0x7536 # +0x4D2C 0x7539 # +0x4D2D 0x753D # +0x4D2E 0x753E # +0x4D2F 0x753F # +0x4D30 0x7540 # +0x4D31 0x7543 # +0x4D32 0x7547 # +0x4D33 0x7548 # +0x4D34 0x754E # +0x4D35 0x7550 # +0x4D36 0x7552 # +0x4D37 0x7557 # +0x4D38 0x755E # +0x4D39 0x755F # +0x4D3A 0x7561 # +0x4D3B 0x756F # +0x4D3C 0x7571 # +0x4D3D 0x7579 # +0x4D3E 0x757A # +0x4D3F 0x757B # +0x4D40 0x757C # +0x4D41 0x757D # +0x4D42 0x757E # +0x4D43 0x7581 # +0x4D44 0x7585 # +0x4D45 0x7590 # +0x4D46 0x7592 # +0x4D47 0x7593 # +0x4D48 0x7595 # +0x4D49 0x7599 # +0x4D4A 0x759C # +0x4D4B 0x75A2 # +0x4D4C 0x75A4 # +0x4D4D 0x75B4 # +0x4D4E 0x75BA # +0x4D4F 0x75BF # +0x4D50 0x75C0 # +0x4D51 0x75C1 # +0x4D52 0x75C4 # +0x4D53 0x75C6 # +0x4D54 0x75CC # +0x4D55 0x75CE # +0x4D56 0x75CF # +0x4D57 0x75D7 # +0x4D58 0x75DC # +0x4D59 0x75DF # +0x4D5A 0x75E0 # +0x4D5B 0x75E1 # +0x4D5C 0x75E4 # +0x4D5D 0x75E7 # +0x4D5E 0x75EC # +0x4D5F 0x75EE # +0x4D60 0x75EF # +0x4D61 0x75F1 # +0x4D62 0x75F9 # +0x4D63 0x7600 # +0x4D64 0x7602 # +0x4D65 0x7603 # +0x4D66 0x7604 # +0x4D67 0x7607 # +0x4D68 0x7608 # +0x4D69 0x760A # +0x4D6A 0x760C # +0x4D6B 0x760F # +0x4D6C 0x7612 # +0x4D6D 0x7613 # +0x4D6E 0x7615 # +0x4D6F 0x7616 # +0x4D70 0x7619 # +0x4D71 0x761B # +0x4D72 0x761C # +0x4D73 0x761D # +0x4D74 0x761E # +0x4D75 0x7623 # +0x4D76 0x7625 # +0x4D77 0x7626 # +0x4D78 0x7629 # +0x4D79 0x762D # +0x4D7A 0x7632 # +0x4D7B 0x7633 # +0x4D7C 0x7635 # +0x4D7D 0x7638 # +0x4D7E 0x7639 # +0x4E21 0x763A # +0x4E22 0x763C # +0x4E23 0x764A # +0x4E24 0x7640 # +0x4E25 0x7641 # +0x4E26 0x7643 # +0x4E27 0x7644 # +0x4E28 0x7645 # +0x4E29 0x7649 # +0x4E2A 0x764B # +0x4E2B 0x7655 # +0x4E2C 0x7659 # +0x4E2D 0x765F # +0x4E2E 0x7664 # +0x4E2F 0x7665 # +0x4E30 0x766D # +0x4E31 0x766E # +0x4E32 0x766F # +0x4E33 0x7671 # +0x4E34 0x7674 # +0x4E35 0x7681 # +0x4E36 0x7685 # +0x4E37 0x768C # +0x4E38 0x768D # +0x4E39 0x7695 # +0x4E3A 0x769B # +0x4E3B 0x769C # +0x4E3C 0x769D # +0x4E3D 0x769F # +0x4E3E 0x76A0 # +0x4E3F 0x76A2 # +0x4E40 0x76A3 # +0x4E41 0x76A4 # +0x4E42 0x76A5 # +0x4E43 0x76A6 # +0x4E44 0x76A7 # +0x4E45 0x76A8 # +0x4E46 0x76AA # +0x4E47 0x76AD # +0x4E48 0x76BD # +0x4E49 0x76C1 # +0x4E4A 0x76C5 # +0x4E4B 0x76C9 # +0x4E4C 0x76CB # +0x4E4D 0x76CC # +0x4E4E 0x76CE # +0x4E4F 0x76D4 # +0x4E50 0x76D9 # +0x4E51 0x76E0 # +0x4E52 0x76E6 # +0x4E53 0x76E8 # +0x4E54 0x76EC # +0x4E55 0x76F0 # +0x4E56 0x76F1 # +0x4E57 0x76F6 # +0x4E58 0x76F9 # +0x4E59 0x76FC # +0x4E5A 0x7700 # +0x4E5B 0x7706 # +0x4E5C 0x770A # +0x4E5D 0x770E # +0x4E5E 0x7712 # +0x4E5F 0x7714 # +0x4E60 0x7715 # +0x4E61 0x7717 # +0x4E62 0x7719 # +0x4E63 0x771A # +0x4E64 0x771C # +0x4E65 0x7722 # +0x4E66 0x7728 # +0x4E67 0x772D # +0x4E68 0x772E # +0x4E69 0x772F # +0x4E6A 0x7734 # +0x4E6B 0x7735 # +0x4E6C 0x7736 # +0x4E6D 0x7739 # +0x4E6E 0x773D # +0x4E6F 0x773E # +0x4E70 0x7742 # +0x4E71 0x7745 # +0x4E72 0x7746 # +0x4E73 0x774A # +0x4E74 0x774D # +0x4E75 0x774E # +0x4E76 0x774F # +0x4E77 0x7752 # +0x4E78 0x7756 # +0x4E79 0x7757 # +0x4E7A 0x775C # +0x4E7B 0x775E # +0x4E7C 0x775F # +0x4E7D 0x7760 # +0x4E7E 0x7762 # +0x4F21 0x7764 # +0x4F22 0x7767 # +0x4F23 0x776A # +0x4F24 0x776C # +0x4F25 0x7770 # +0x4F26 0x7772 # +0x4F27 0x7773 # +0x4F28 0x7774 # +0x4F29 0x777A # +0x4F2A 0x777D # +0x4F2B 0x7780 # +0x4F2C 0x7784 # +0x4F2D 0x778C # +0x4F2E 0x778D # +0x4F2F 0x7794 # +0x4F30 0x7795 # +0x4F31 0x7796 # +0x4F32 0x779A # +0x4F33 0x779F # +0x4F34 0x77A2 # +0x4F35 0x77A7 # +0x4F36 0x77AA # +0x4F37 0x77AE # +0x4F38 0x77AF # +0x4F39 0x77B1 # +0x4F3A 0x77B5 # +0x4F3B 0x77BE # +0x4F3C 0x77C3 # +0x4F3D 0x77C9 # +0x4F3E 0x77D1 # +0x4F3F 0x77D2 # +0x4F40 0x77D5 # +0x4F41 0x77D9 # +0x4F42 0x77DE # +0x4F43 0x77DF # +0x4F44 0x77E0 # +0x4F45 0x77E4 # +0x4F46 0x77E6 # +0x4F47 0x77EA # +0x4F48 0x77EC # +0x4F49 0x77F0 # +0x4F4A 0x77F1 # +0x4F4B 0x77F4 # +0x4F4C 0x77F8 # +0x4F4D 0x77FB # +0x4F4E 0x7805 # +0x4F4F 0x7806 # +0x4F50 0x7809 # +0x4F51 0x780D # +0x4F52 0x780E # +0x4F53 0x7811 # +0x4F54 0x781D # +0x4F55 0x7821 # +0x4F56 0x7822 # +0x4F57 0x7823 # +0x4F58 0x782D # +0x4F59 0x782E # +0x4F5A 0x7830 # +0x4F5B 0x7835 # +0x4F5C 0x7837 # +0x4F5D 0x7843 # +0x4F5E 0x7844 # +0x4F5F 0x7847 # +0x4F60 0x7848 # +0x4F61 0x784C # +0x4F62 0x784E # +0x4F63 0x7852 # +0x4F64 0x785C # +0x4F65 0x785E # +0x4F66 0x7860 # +0x4F67 0x7861 # +0x4F68 0x7863 # +0x4F69 0x7864 # +0x4F6A 0x7868 # +0x4F6B 0x786A # +0x4F6C 0x786E # +0x4F6D 0x787A # +0x4F6E 0x787E # +0x4F6F 0x788A # +0x4F70 0x788F # +0x4F71 0x7894 # +0x4F72 0x7898 # +0x4F73 0x78A1 # +0x4F74 0x789D # +0x4F75 0x789E # +0x4F76 0x789F # +0x4F77 0x78A4 # +0x4F78 0x78A8 # +0x4F79 0x78AC # +0x4F7A 0x78AD # +0x4F7B 0x78B0 # +0x4F7C 0x78B1 # +0x4F7D 0x78B2 # +0x4F7E 0x78B3 # +0x5021 0x78BB # +0x5022 0x78BD # +0x5023 0x78BF # +0x5024 0x78C7 # +0x5025 0x78C8 # +0x5026 0x78C9 # +0x5027 0x78CC # +0x5028 0x78CE # +0x5029 0x78D2 # +0x502A 0x78D3 # +0x502B 0x78D5 # +0x502C 0x78D6 # +0x502D 0x78E4 # +0x502E 0x78DB # +0x502F 0x78DF # +0x5030 0x78E0 # +0x5031 0x78E1 # +0x5032 0x78E6 # +0x5033 0x78EA # +0x5034 0x78F2 # +0x5035 0x78F3 # +0x5036 0x7900 # +0x5037 0x78F6 # +0x5038 0x78F7 # +0x5039 0x78FA # +0x503A 0x78FB # +0x503B 0x78FF # +0x503C 0x7906 # +0x503D 0x790C # +0x503E 0x7910 # +0x503F 0x791A # +0x5040 0x791C # +0x5041 0x791E # +0x5042 0x791F # +0x5043 0x7920 # +0x5044 0x7925 # +0x5045 0x7927 # +0x5046 0x7929 # +0x5047 0x792D # +0x5048 0x7931 # +0x5049 0x7934 # +0x504A 0x7935 # +0x504B 0x793B # +0x504C 0x793D # +0x504D 0x793F # +0x504E 0x7944 # +0x504F 0x7945 # +0x5050 0x7946 # +0x5051 0x794A # +0x5052 0x794B # +0x5053 0x794F # +0x5054 0x7951 # +0x5055 0x7954 # +0x5056 0x7958 # +0x5057 0x795B # +0x5058 0x795C # +0x5059 0x7967 # +0x505A 0x7969 # +0x505B 0x796B # +0x505C 0x7972 # +0x505D 0x7979 # +0x505E 0x797B # +0x505F 0x797C # +0x5060 0x797E # +0x5061 0x798B # +0x5062 0x798C # +0x5063 0x7991 # +0x5064 0x7993 # +0x5065 0x7994 # +0x5066 0x7995 # +0x5067 0x7996 # +0x5068 0x7998 # +0x5069 0x799B # +0x506A 0x799C # +0x506B 0x79A1 # +0x506C 0x79A8 # +0x506D 0x79A9 # +0x506E 0x79AB # +0x506F 0x79AF # +0x5070 0x79B1 # +0x5071 0x79B4 # +0x5072 0x79B8 # +0x5073 0x79BB # +0x5074 0x79C2 # +0x5075 0x79C4 # +0x5076 0x79C7 # +0x5077 0x79C8 # +0x5078 0x79CA # +0x5079 0x79CF # +0x507A 0x79D4 # +0x507B 0x79D6 # +0x507C 0x79DA # +0x507D 0x79DD # +0x507E 0x79DE # +0x5121 0x79E0 # +0x5122 0x79E2 # +0x5123 0x79E5 # +0x5124 0x79EA # +0x5125 0x79EB # +0x5126 0x79ED # +0x5127 0x79F1 # +0x5128 0x79F8 # +0x5129 0x79FC # +0x512A 0x7A02 # +0x512B 0x7A03 # +0x512C 0x7A07 # +0x512D 0x7A09 # +0x512E 0x7A0A # +0x512F 0x7A0C # +0x5130 0x7A11 # +0x5131 0x7A15 # +0x5132 0x7A1B # +0x5133 0x7A1E # +0x5134 0x7A21 # +0x5135 0x7A27 # +0x5136 0x7A2B # +0x5137 0x7A2D # +0x5138 0x7A2F # +0x5139 0x7A30 # +0x513A 0x7A34 # +0x513B 0x7A35 # +0x513C 0x7A38 # +0x513D 0x7A39 # +0x513E 0x7A3A # +0x513F 0x7A44 # +0x5140 0x7A45 # +0x5141 0x7A47 # +0x5142 0x7A48 # +0x5143 0x7A4C # +0x5144 0x7A55 # +0x5145 0x7A56 # +0x5146 0x7A59 # +0x5147 0x7A5C # +0x5148 0x7A5D # +0x5149 0x7A5F # +0x514A 0x7A60 # +0x514B 0x7A65 # +0x514C 0x7A67 # +0x514D 0x7A6A # +0x514E 0x7A6D # +0x514F 0x7A75 # +0x5150 0x7A78 # +0x5151 0x7A7E # +0x5152 0x7A80 # +0x5153 0x7A82 # +0x5154 0x7A85 # +0x5155 0x7A86 # +0x5156 0x7A8A # +0x5157 0x7A8B # +0x5158 0x7A90 # +0x5159 0x7A91 # +0x515A 0x7A94 # +0x515B 0x7A9E # +0x515C 0x7AA0 # +0x515D 0x7AA3 # +0x515E 0x7AAC # +0x515F 0x7AB3 # +0x5160 0x7AB5 # +0x5161 0x7AB9 # +0x5162 0x7ABB # +0x5163 0x7ABC # +0x5164 0x7AC6 # +0x5165 0x7AC9 # +0x5166 0x7ACC # +0x5167 0x7ACE # +0x5168 0x7AD1 # +0x5169 0x7ADB # +0x516A 0x7AE8 # +0x516B 0x7AE9 # +0x516C 0x7AEB # +0x516D 0x7AEC # +0x516E 0x7AF1 # +0x516F 0x7AF4 # +0x5170 0x7AFB # +0x5171 0x7AFD # +0x5172 0x7AFE # +0x5173 0x7B07 # +0x5174 0x7B14 # +0x5175 0x7B1F # +0x5176 0x7B23 # +0x5177 0x7B27 # +0x5178 0x7B29 # +0x5179 0x7B2A # +0x517A 0x7B2B # +0x517B 0x7B2D # +0x517C 0x7B2E # +0x517D 0x7B2F # +0x517E 0x7B30 # +0x5221 0x7B31 # +0x5222 0x7B34 # +0x5223 0x7B3D # +0x5224 0x7B3F # +0x5225 0x7B40 # +0x5226 0x7B41 # +0x5227 0x7B47 # +0x5228 0x7B4E # +0x5229 0x7B55 # +0x522A 0x7B60 # +0x522B 0x7B64 # +0x522C 0x7B66 # +0x522D 0x7B69 # +0x522E 0x7B6A # +0x522F 0x7B6D # +0x5230 0x7B6F # +0x5231 0x7B72 # +0x5232 0x7B73 # +0x5233 0x7B77 # +0x5234 0x7B84 # +0x5235 0x7B89 # +0x5236 0x7B8E # +0x5237 0x7B90 # +0x5238 0x7B91 # +0x5239 0x7B96 # +0x523A 0x7B9B # +0x523B 0x7B9E # +0x523C 0x7BA0 # +0x523D 0x7BA5 # +0x523E 0x7BAC # +0x523F 0x7BAF # +0x5240 0x7BB0 # +0x5241 0x7BB2 # +0x5242 0x7BB5 # +0x5243 0x7BB6 # +0x5244 0x7BBA # +0x5245 0x7BBB # +0x5246 0x7BBC # +0x5247 0x7BBD # +0x5248 0x7BC2 # +0x5249 0x7BC5 # +0x524A 0x7BC8 # +0x524B 0x7BCA # +0x524C 0x7BD4 # +0x524D 0x7BD6 # +0x524E 0x7BD7 # +0x524F 0x7BD9 # +0x5250 0x7BDA # +0x5251 0x7BDB # +0x5252 0x7BE8 # +0x5253 0x7BEA # +0x5254 0x7BF2 # +0x5255 0x7BF4 # +0x5256 0x7BF5 # +0x5257 0x7BF8 # +0x5258 0x7BF9 # +0x5259 0x7BFA # +0x525A 0x7BFC # +0x525B 0x7BFE # +0x525C 0x7C01 # +0x525D 0x7C02 # +0x525E 0x7C03 # +0x525F 0x7C04 # +0x5260 0x7C06 # +0x5261 0x7C09 # +0x5262 0x7C0B # +0x5263 0x7C0C # +0x5264 0x7C0E # +0x5265 0x7C0F # +0x5266 0x7C19 # +0x5267 0x7C1B # +0x5268 0x7C20 # +0x5269 0x7C25 # +0x526A 0x7C26 # +0x526B 0x7C28 # +0x526C 0x7C2C # +0x526D 0x7C31 # +0x526E 0x7C33 # +0x526F 0x7C34 # +0x5270 0x7C36 # +0x5271 0x7C39 # +0x5272 0x7C3A # +0x5273 0x7C46 # +0x5274 0x7C4A # +0x5275 0x7C55 # +0x5276 0x7C51 # +0x5277 0x7C52 # +0x5278 0x7C53 # +0x5279 0x7C59 # +0x527A 0x7C5A # +0x527B 0x7C5B # +0x527C 0x7C5C # +0x527D 0x7C5D # +0x527E 0x7C5E # +0x5321 0x7C61 # +0x5322 0x7C63 # +0x5323 0x7C67 # +0x5324 0x7C69 # +0x5325 0x7C6D # +0x5326 0x7C6E # +0x5327 0x7C70 # +0x5328 0x7C72 # +0x5329 0x7C79 # +0x532A 0x7C7C # +0x532B 0x7C7D # +0x532C 0x7C86 # +0x532D 0x7C87 # +0x532E 0x7C8F # +0x532F 0x7C94 # +0x5330 0x7C9E # +0x5331 0x7CA0 # +0x5332 0x7CA6 # +0x5333 0x7CB0 # +0x5334 0x7CB6 # +0x5335 0x7CB7 # +0x5336 0x7CBA # +0x5337 0x7CBB # +0x5338 0x7CBC # +0x5339 0x7CBF # +0x533A 0x7CC4 # +0x533B 0x7CC7 # +0x533C 0x7CC8 # +0x533D 0x7CC9 # +0x533E 0x7CCD # +0x533F 0x7CCF # +0x5340 0x7CD3 # +0x5341 0x7CD4 # +0x5342 0x7CD5 # +0x5343 0x7CD7 # +0x5344 0x7CD9 # +0x5345 0x7CDA # +0x5346 0x7CDD # +0x5347 0x7CE6 # +0x5348 0x7CE9 # +0x5349 0x7CEB # +0x534A 0x7CF5 # +0x534B 0x7D03 # +0x534C 0x7D07 # +0x534D 0x7D08 # +0x534E 0x7D09 # +0x534F 0x7D0F # +0x5350 0x7D11 # +0x5351 0x7D12 # +0x5352 0x7D13 # +0x5353 0x7D16 # +0x5354 0x7D1D # +0x5355 0x7D1E # +0x5356 0x7D23 # +0x5357 0x7D26 # +0x5358 0x7D2A # +0x5359 0x7D2D # +0x535A 0x7D31 # +0x535B 0x7D3C # +0x535C 0x7D3D # +0x535D 0x7D3E # +0x535E 0x7D40 # +0x535F 0x7D41 # +0x5360 0x7D47 # +0x5361 0x7D48 # +0x5362 0x7D4D # +0x5363 0x7D51 # +0x5364 0x7D53 # +0x5365 0x7D57 # +0x5366 0x7D59 # +0x5367 0x7D5A # +0x5368 0x7D5C # +0x5369 0x7D5D # +0x536A 0x7D65 # +0x536B 0x7D67 # +0x536C 0x7D6A # +0x536D 0x7D70 # +0x536E 0x7D78 # +0x536F 0x7D7A # +0x5370 0x7D7B # +0x5371 0x7D7F # +0x5372 0x7D81 # +0x5373 0x7D82 # +0x5374 0x7D83 # +0x5375 0x7D85 # +0x5376 0x7D86 # +0x5377 0x7D88 # +0x5378 0x7D8B # +0x5379 0x7D8C # +0x537A 0x7D8D # +0x537B 0x7D91 # +0x537C 0x7D96 # +0x537D 0x7D97 # +0x537E 0x7D9D # +0x5421 0x7D9E # +0x5422 0x7DA6 # +0x5423 0x7DA7 # +0x5424 0x7DAA # +0x5425 0x7DB3 # +0x5426 0x7DB6 # +0x5427 0x7DB7 # +0x5428 0x7DB9 # +0x5429 0x7DC2 # +0x542A 0x7DC3 # +0x542B 0x7DC4 # +0x542C 0x7DC5 # +0x542D 0x7DC6 # +0x542E 0x7DCC # +0x542F 0x7DCD # +0x5430 0x7DCE # +0x5431 0x7DD7 # +0x5432 0x7DD9 # +0x5433 0x7E00 # +0x5434 0x7DE2 # +0x5435 0x7DE5 # +0x5436 0x7DE6 # +0x5437 0x7DEA # +0x5438 0x7DEB # +0x5439 0x7DED # +0x543A 0x7DF1 # +0x543B 0x7DF5 # +0x543C 0x7DF6 # +0x543D 0x7DF9 # +0x543E 0x7DFA # +0x543F 0x7E08 # +0x5440 0x7E10 # +0x5441 0x7E11 # +0x5442 0x7E15 # +0x5443 0x7E17 # +0x5444 0x7E1C # +0x5445 0x7E1D # +0x5446 0x7E20 # +0x5447 0x7E27 # +0x5448 0x7E28 # +0x5449 0x7E2C # +0x544A 0x7E2D # +0x544B 0x7E2F # +0x544C 0x7E33 # +0x544D 0x7E36 # +0x544E 0x7E3F # +0x544F 0x7E44 # +0x5450 0x7E45 # +0x5451 0x7E47 # +0x5452 0x7E4E # +0x5453 0x7E50 # +0x5454 0x7E52 # +0x5455 0x7E58 # +0x5456 0x7E5F # +0x5457 0x7E61 # +0x5458 0x7E62 # +0x5459 0x7E65 # +0x545A 0x7E6B # +0x545B 0x7E6E # +0x545C 0x7E6F # +0x545D 0x7E73 # +0x545E 0x7E78 # +0x545F 0x7E7E # +0x5460 0x7E81 # +0x5461 0x7E86 # +0x5462 0x7E87 # +0x5463 0x7E8A # +0x5464 0x7E8D # +0x5465 0x7E91 # +0x5466 0x7E95 # +0x5467 0x7E98 # +0x5468 0x7E9A # +0x5469 0x7E9D # +0x546A 0x7E9E # +0x546B 0x7F3C # +0x546C 0x7F3B # +0x546D 0x7F3D # +0x546E 0x7F3E # +0x546F 0x7F3F # +0x5470 0x7F43 # +0x5471 0x7F44 # +0x5472 0x7F47 # +0x5473 0x7F4F # +0x5474 0x7F52 # +0x5475 0x7F53 # +0x5476 0x7F5B # +0x5477 0x7F5C # +0x5478 0x7F5D # +0x5479 0x7F61 # +0x547A 0x7F63 # +0x547B 0x7F64 # +0x547C 0x7F65 # +0x547D 0x7F66 # +0x547E 0x7F6D # +0x5521 0x7F71 # +0x5522 0x7F7D # +0x5523 0x7F7E # +0x5524 0x7F7F # +0x5525 0x7F80 # +0x5526 0x7F8B # +0x5527 0x7F8D # +0x5528 0x7F8F # +0x5529 0x7F90 # +0x552A 0x7F91 # +0x552B 0x7F96 # +0x552C 0x7F97 # +0x552D 0x7F9C # +0x552E 0x7FA1 # +0x552F 0x7FA2 # +0x5530 0x7FA6 # +0x5531 0x7FAA # +0x5532 0x7FAD # +0x5533 0x7FB4 # +0x5534 0x7FBC # +0x5535 0x7FBF # +0x5536 0x7FC0 # +0x5537 0x7FC3 # +0x5538 0x7FC8 # +0x5539 0x7FCE # +0x553A 0x7FCF # +0x553B 0x7FDB # +0x553C 0x7FDF # +0x553D 0x7FE3 # +0x553E 0x7FE5 # +0x553F 0x7FE8 # +0x5540 0x7FEC # +0x5541 0x7FEE # +0x5542 0x7FEF # +0x5543 0x7FF2 # +0x5544 0x7FFA # +0x5545 0x7FFD # +0x5546 0x7FFE # +0x5547 0x7FFF # +0x5548 0x8007 # +0x5549 0x8008 # +0x554A 0x800A # +0x554B 0x800D # +0x554C 0x800E # +0x554D 0x800F # +0x554E 0x8011 # +0x554F 0x8013 # +0x5550 0x8014 # +0x5551 0x8016 # +0x5552 0x801D # +0x5553 0x801E # +0x5554 0x801F # +0x5555 0x8020 # +0x5556 0x8024 # +0x5557 0x8026 # +0x5558 0x802C # +0x5559 0x802E # +0x555A 0x8030 # +0x555B 0x8034 # +0x555C 0x8035 # +0x555D 0x8037 # +0x555E 0x8039 # +0x555F 0x803A # +0x5560 0x803C # +0x5561 0x803E # +0x5562 0x8040 # +0x5563 0x8044 # +0x5564 0x8060 # +0x5565 0x8064 # +0x5566 0x8066 # +0x5567 0x806D # +0x5568 0x8071 # +0x5569 0x8075 # +0x556A 0x8081 # +0x556B 0x8088 # +0x556C 0x808E # +0x556D 0x809C # +0x556E 0x809E # +0x556F 0x80A6 # +0x5570 0x80A7 # +0x5571 0x80AB # +0x5572 0x80B8 # +0x5573 0x80B9 # +0x5574 0x80C8 # +0x5575 0x80CD # +0x5576 0x80CF # +0x5577 0x80D2 # +0x5578 0x80D4 # +0x5579 0x80D5 # +0x557A 0x80D7 # +0x557B 0x80D8 # +0x557C 0x80E0 # +0x557D 0x80ED # +0x557E 0x80EE # +0x5621 0x80F0 # +0x5622 0x80F2 # +0x5623 0x80F3 # +0x5624 0x80F6 # +0x5625 0x80F9 # +0x5626 0x80FA # +0x5627 0x80FE # +0x5628 0x8103 # +0x5629 0x810B # +0x562A 0x8116 # +0x562B 0x8117 # +0x562C 0x8118 # +0x562D 0x811C # +0x562E 0x811E # +0x562F 0x8120 # +0x5630 0x8124 # +0x5631 0x8127 # +0x5632 0x812C # +0x5633 0x8130 # +0x5634 0x8135 # +0x5635 0x813A # +0x5636 0x813C # +0x5637 0x8145 # +0x5638 0x8147 # +0x5639 0x814A # +0x563A 0x814C # +0x563B 0x8152 # +0x563C 0x8157 # +0x563D 0x8160 # +0x563E 0x8161 # +0x563F 0x8167 # +0x5640 0x8168 # +0x5641 0x8169 # +0x5642 0x816D # +0x5643 0x816F # +0x5644 0x8177 # +0x5645 0x8181 # +0x5646 0x8190 # +0x5647 0x8184 # +0x5648 0x8185 # +0x5649 0x8186 # +0x564A 0x818B # +0x564B 0x818E # +0x564C 0x8196 # +0x564D 0x8198 # +0x564E 0x819B # +0x564F 0x819E # +0x5650 0x81A2 # +0x5651 0x81AE # +0x5652 0x81B2 # +0x5653 0x81B4 # +0x5654 0x81BB # +0x5655 0x81CB # +0x5656 0x81C3 # +0x5657 0x81C5 # +0x5658 0x81CA # +0x5659 0x81CE # +0x565A 0x81CF # +0x565B 0x81D5 # +0x565C 0x81D7 # +0x565D 0x81DB # +0x565E 0x81DD # +0x565F 0x81DE # +0x5660 0x81E1 # +0x5661 0x81E4 # +0x5662 0x81EB # +0x5663 0x81EC # +0x5664 0x81F0 # +0x5665 0x81F1 # +0x5666 0x81F2 # +0x5667 0x81F5 # +0x5668 0x81F6 # +0x5669 0x81F8 # +0x566A 0x81F9 # +0x566B 0x81FD # +0x566C 0x81FF # +0x566D 0x8200 # +0x566E 0x8203 # +0x566F 0x820F # +0x5670 0x8213 # +0x5671 0x8214 # +0x5672 0x8219 # +0x5673 0x821A # +0x5674 0x821D # +0x5675 0x8221 # +0x5676 0x8222 # +0x5677 0x8228 # +0x5678 0x8232 # +0x5679 0x8234 # +0x567A 0x823A # +0x567B 0x8243 # +0x567C 0x8244 # +0x567D 0x8245 # +0x567E 0x8246 # +0x5721 0x824B # +0x5722 0x824E # +0x5723 0x824F # +0x5724 0x8251 # +0x5725 0x8256 # +0x5726 0x825C # +0x5727 0x8260 # +0x5728 0x8263 # +0x5729 0x8267 # +0x572A 0x826D # +0x572B 0x8274 # +0x572C 0x827B # +0x572D 0x827D # +0x572E 0x827F # +0x572F 0x8280 # +0x5730 0x8281 # +0x5731 0x8283 # +0x5732 0x8284 # +0x5733 0x8287 # +0x5734 0x8289 # +0x5735 0x828A # +0x5736 0x828E # +0x5737 0x8291 # +0x5738 0x8294 # +0x5739 0x8296 # +0x573A 0x8298 # +0x573B 0x829A # +0x573C 0x829B # +0x573D 0x82A0 # +0x573E 0x82A1 # +0x573F 0x82A3 # +0x5740 0x82A4 # +0x5741 0x82A7 # +0x5742 0x82A8 # +0x5743 0x82A9 # +0x5744 0x82AA # +0x5745 0x82AE # +0x5746 0x82B0 # +0x5747 0x82B2 # +0x5748 0x82B4 # +0x5749 0x82B7 # +0x574A 0x82BA # +0x574B 0x82BC # +0x574C 0x82BE # +0x574D 0x82BF # +0x574E 0x82C6 # +0x574F 0x82D0 # +0x5750 0x82D5 # +0x5751 0x82DA # +0x5752 0x82E0 # +0x5753 0x82E2 # +0x5754 0x82E4 # +0x5755 0x82E8 # +0x5756 0x82EA # +0x5757 0x82ED # +0x5758 0x82EF # +0x5759 0x82F6 # +0x575A 0x82F7 # +0x575B 0x82FD # +0x575C 0x82FE # +0x575D 0x8300 # +0x575E 0x8301 # +0x575F 0x8307 # +0x5760 0x8308 # +0x5761 0x830A # +0x5762 0x830B # +0x5763 0x8354 # +0x5764 0x831B # +0x5765 0x831D # +0x5766 0x831E # +0x5767 0x831F # +0x5768 0x8321 # +0x5769 0x8322 # +0x576A 0x832C # +0x576B 0x832D # +0x576C 0x832E # +0x576D 0x8330 # +0x576E 0x8333 # +0x576F 0x8337 # +0x5770 0x833A # +0x5771 0x833C # +0x5772 0x833D # +0x5773 0x8342 # +0x5774 0x8343 # +0x5775 0x8344 # +0x5776 0x8347 # +0x5777 0x834D # +0x5778 0x834E # +0x5779 0x8351 # +0x577A 0x8355 # +0x577B 0x8356 # +0x577C 0x8357 # +0x577D 0x8370 # +0x577E 0x8378 # +0x5821 0x837D # +0x5822 0x837F # +0x5823 0x8380 # +0x5824 0x8382 # +0x5825 0x8384 # +0x5826 0x8386 # +0x5827 0x838D # +0x5828 0x8392 # +0x5829 0x8394 # +0x582A 0x8395 # +0x582B 0x8398 # +0x582C 0x8399 # +0x582D 0x839B # +0x582E 0x839C # +0x582F 0x839D # +0x5830 0x83A6 # +0x5831 0x83A7 # +0x5832 0x83A9 # +0x5833 0x83AC # +0x5834 0x83BE # +0x5835 0x83BF # +0x5836 0x83C0 # +0x5837 0x83C7 # +0x5838 0x83C9 # +0x5839 0x83CF # +0x583A 0x83D0 # +0x583B 0x83D1 # +0x583C 0x83D4 # +0x583D 0x83DD # +0x583E 0x8353 # +0x583F 0x83E8 # +0x5840 0x83EA # +0x5841 0x83F6 # +0x5842 0x83F8 # +0x5843 0x83F9 # +0x5844 0x83FC # +0x5845 0x8401 # +0x5846 0x8406 # +0x5847 0x840A # +0x5848 0x840F # +0x5849 0x8411 # +0x584A 0x8415 # +0x584B 0x8419 # +0x584C 0x83AD # +0x584D 0x842F # +0x584E 0x8439 # +0x584F 0x8445 # +0x5850 0x8447 # +0x5851 0x8448 # +0x5852 0x844A # +0x5853 0x844D # +0x5854 0x844F # +0x5855 0x8451 # +0x5856 0x8452 # +0x5857 0x8456 # +0x5858 0x8458 # +0x5859 0x8459 # +0x585A 0x845A # +0x585B 0x845C # +0x585C 0x8460 # +0x585D 0x8464 # +0x585E 0x8465 # +0x585F 0x8467 # +0x5860 0x846A # +0x5861 0x8470 # +0x5862 0x8473 # +0x5863 0x8474 # +0x5864 0x8476 # +0x5865 0x8478 # +0x5866 0x847C # +0x5867 0x847D # +0x5868 0x8481 # +0x5869 0x8485 # +0x586A 0x8492 # +0x586B 0x8493 # +0x586C 0x8495 # +0x586D 0x849E # +0x586E 0x84A6 # +0x586F 0x84A8 # +0x5870 0x84A9 # +0x5871 0x84AA # +0x5872 0x84AF # +0x5873 0x84B1 # +0x5874 0x84B4 # +0x5875 0x84BA # +0x5876 0x84BD # +0x5877 0x84BE # +0x5878 0x84C0 # +0x5879 0x84C2 # +0x587A 0x84C7 # +0x587B 0x84C8 # +0x587C 0x84CC # +0x587D 0x84CF # +0x587E 0x84D3 # +0x5921 0x84DC # +0x5922 0x84E7 # +0x5923 0x84EA # +0x5924 0x84EF # +0x5925 0x84F0 # +0x5926 0x84F1 # +0x5927 0x84F2 # +0x5928 0x84F7 # +0x5929 0x8532 # +0x592A 0x84FA # +0x592B 0x84FB # +0x592C 0x84FD # +0x592D 0x8502 # +0x592E 0x8503 # +0x592F 0x8507 # +0x5930 0x850C # +0x5931 0x850E # +0x5932 0x8510 # +0x5933 0x851C # +0x5934 0x851E # +0x5935 0x8522 # +0x5936 0x8523 # +0x5937 0x8524 # +0x5938 0x8525 # +0x5939 0x8527 # +0x593A 0x852A # +0x593B 0x852B # +0x593C 0x852F # +0x593D 0x8533 # +0x593E 0x8534 # +0x593F 0x8536 # +0x5940 0x853F # +0x5941 0x8546 # +0x5942 0x854F # +0x5943 0x8550 # +0x5944 0x8551 # +0x5945 0x8552 # +0x5946 0x8553 # +0x5947 0x8556 # +0x5948 0x8559 # +0x5949 0x855C # +0x594A 0x855D # +0x594B 0x855E # +0x594C 0x855F # +0x594D 0x8560 # +0x594E 0x8561 # +0x594F 0x8562 # +0x5950 0x8564 # +0x5951 0x856B # +0x5952 0x856F # +0x5953 0x8579 # +0x5954 0x857A # +0x5955 0x857B # +0x5956 0x857D # +0x5957 0x857F # +0x5958 0x8581 # +0x5959 0x8585 # +0x595A 0x8586 # +0x595B 0x8589 # +0x595C 0x858B # +0x595D 0x858C # +0x595E 0x858F # +0x595F 0x8593 # +0x5960 0x8598 # +0x5961 0x859D # +0x5962 0x859F # +0x5963 0x85A0 # +0x5964 0x85A2 # +0x5965 0x85A5 # +0x5966 0x85A7 # +0x5967 0x85B4 # +0x5968 0x85B6 # +0x5969 0x85B7 # +0x596A 0x85B8 # +0x596B 0x85BC # +0x596C 0x85BD # +0x596D 0x85BE # +0x596E 0x85BF # +0x596F 0x85C2 # +0x5970 0x85C7 # +0x5971 0x85CA # +0x5972 0x85CB # +0x5973 0x85CE # +0x5974 0x85AD # +0x5975 0x85D8 # +0x5976 0x85DA # +0x5977 0x85DF # +0x5978 0x85E0 # +0x5979 0x85E6 # +0x597A 0x85E8 # +0x597B 0x85ED # +0x597C 0x85F3 # +0x597D 0x85F6 # +0x597E 0x85FC # +0x5A21 0x85FF # +0x5A22 0x8600 # +0x5A23 0x8604 # +0x5A24 0x8605 # +0x5A25 0x860D # +0x5A26 0x860E # +0x5A27 0x8610 # +0x5A28 0x8611 # +0x5A29 0x8612 # +0x5A2A 0x8618 # +0x5A2B 0x8619 # +0x5A2C 0x861B # +0x5A2D 0x861E # +0x5A2E 0x8621 # +0x5A2F 0x8627 # +0x5A30 0x8629 # +0x5A31 0x8636 # +0x5A32 0x8638 # +0x5A33 0x863A # +0x5A34 0x863C # +0x5A35 0x863D # +0x5A36 0x8640 # +0x5A37 0x8642 # +0x5A38 0x8646 # +0x5A39 0x8652 # +0x5A3A 0x8653 # +0x5A3B 0x8656 # +0x5A3C 0x8657 # +0x5A3D 0x8658 # +0x5A3E 0x8659 # +0x5A3F 0x865D # +0x5A40 0x8660 # +0x5A41 0x8661 # +0x5A42 0x8662 # +0x5A43 0x8663 # +0x5A44 0x8664 # +0x5A45 0x8669 # +0x5A46 0x866C # +0x5A47 0x866F # +0x5A48 0x8675 # +0x5A49 0x8676 # +0x5A4A 0x8677 # +0x5A4B 0x867A # +0x5A4C 0x868D # +0x5A4D 0x8691 # +0x5A4E 0x8696 # +0x5A4F 0x8698 # +0x5A50 0x869A # +0x5A51 0x869C # +0x5A52 0x86A1 # +0x5A53 0x86A6 # +0x5A54 0x86A7 # +0x5A55 0x86A8 # +0x5A56 0x86AD # +0x5A57 0x86B1 # +0x5A58 0x86B3 # +0x5A59 0x86B4 # +0x5A5A 0x86B5 # +0x5A5B 0x86B7 # +0x5A5C 0x86B8 # +0x5A5D 0x86B9 # +0x5A5E 0x86BF # +0x5A5F 0x86C0 # +0x5A60 0x86C1 # +0x5A61 0x86C3 # +0x5A62 0x86C5 # +0x5A63 0x86D1 # +0x5A64 0x86D2 # +0x5A65 0x86D5 # +0x5A66 0x86D7 # +0x5A67 0x86DA # +0x5A68 0x86DC # +0x5A69 0x86E0 # +0x5A6A 0x86E3 # +0x5A6B 0x86E5 # +0x5A6C 0x86E7 # +0x5A6D 0x8688 # +0x5A6E 0x86FA # +0x5A6F 0x86FC # +0x5A70 0x86FD # +0x5A71 0x8704 # +0x5A72 0x8705 # +0x5A73 0x8707 # +0x5A74 0x870B # +0x5A75 0x870E # +0x5A76 0x870F # +0x5A77 0x8710 # +0x5A78 0x8713 # +0x5A79 0x8714 # +0x5A7A 0x8719 # +0x5A7B 0x871E # +0x5A7C 0x871F # +0x5A7D 0x8721 # +0x5A7E 0x8723 # +0x5B21 0x8728 # +0x5B22 0x872E # +0x5B23 0x872F # +0x5B24 0x8731 # +0x5B25 0x8732 # +0x5B26 0x8739 # +0x5B27 0x873A # +0x5B28 0x873C # +0x5B29 0x873D # +0x5B2A 0x873E # +0x5B2B 0x8740 # +0x5B2C 0x8743 # +0x5B2D 0x8745 # +0x5B2E 0x874D # +0x5B2F 0x8758 # +0x5B30 0x875D # +0x5B31 0x8761 # +0x5B32 0x8764 # +0x5B33 0x8765 # +0x5B34 0x876F # +0x5B35 0x8771 # +0x5B36 0x8772 # +0x5B37 0x877B # +0x5B38 0x8783 # +0x5B39 0x8784 # +0x5B3A 0x8785 # +0x5B3B 0x8786 # +0x5B3C 0x8787 # +0x5B3D 0x8788 # +0x5B3E 0x8789 # +0x5B3F 0x878B # +0x5B40 0x878C # +0x5B41 0x8790 # +0x5B42 0x8793 # +0x5B43 0x8795 # +0x5B44 0x8797 # +0x5B45 0x8798 # +0x5B46 0x8799 # +0x5B47 0x879E # +0x5B48 0x87A0 # +0x5B49 0x87A3 # +0x5B4A 0x87A7 # +0x5B4B 0x87AC # +0x5B4C 0x87AD # +0x5B4D 0x87AE # +0x5B4E 0x87B1 # +0x5B4F 0x87B5 # +0x5B50 0x87BE # +0x5B51 0x87BF # +0x5B52 0x87C1 # +0x5B53 0x87C8 # +0x5B54 0x87C9 # +0x5B55 0x87CA # +0x5B56 0x87CE # +0x5B57 0x87D5 # +0x5B58 0x87D6 # +0x5B59 0x87D9 # +0x5B5A 0x87DA # +0x5B5B 0x87DC # +0x5B5C 0x87DF # +0x5B5D 0x87E2 # +0x5B5E 0x87E3 # +0x5B5F 0x87E4 # +0x5B60 0x87EA # +0x5B61 0x87EB # +0x5B62 0x87ED # +0x5B63 0x87F1 # +0x5B64 0x87F3 # +0x5B65 0x87F8 # +0x5B66 0x87FA # +0x5B67 0x87FF # +0x5B68 0x8801 # +0x5B69 0x8803 # +0x5B6A 0x8806 # +0x5B6B 0x8809 # +0x5B6C 0x880A # +0x5B6D 0x880B # +0x5B6E 0x8810 # +0x5B6F 0x8819 # +0x5B70 0x8812 # +0x5B71 0x8813 # +0x5B72 0x8814 # +0x5B73 0x8818 # +0x5B74 0x881A # +0x5B75 0x881B # +0x5B76 0x881C # +0x5B77 0x881E # +0x5B78 0x881F # +0x5B79 0x8828 # +0x5B7A 0x882D # +0x5B7B 0x882E # +0x5B7C 0x8830 # +0x5B7D 0x8832 # +0x5B7E 0x8835 # +0x5C21 0x883A # +0x5C22 0x883C # +0x5C23 0x8841 # +0x5C24 0x8843 # +0x5C25 0x8845 # +0x5C26 0x8848 # +0x5C27 0x8849 # +0x5C28 0x884A # +0x5C29 0x884B # +0x5C2A 0x884E # +0x5C2B 0x8851 # +0x5C2C 0x8855 # +0x5C2D 0x8856 # +0x5C2E 0x8858 # +0x5C2F 0x885A # +0x5C30 0x885C # +0x5C31 0x885F # +0x5C32 0x8860 # +0x5C33 0x8864 # +0x5C34 0x8869 # +0x5C35 0x8871 # +0x5C36 0x8879 # +0x5C37 0x887B # +0x5C38 0x8880 # +0x5C39 0x8898 # +0x5C3A 0x889A # +0x5C3B 0x889B # +0x5C3C 0x889C # +0x5C3D 0x889F # +0x5C3E 0x88A0 # +0x5C3F 0x88A8 # +0x5C40 0x88AA # +0x5C41 0x88BA # +0x5C42 0x88BD # +0x5C43 0x88BE # +0x5C44 0x88C0 # +0x5C45 0x88CA # +0x5C46 0x88CB # +0x5C47 0x88CC # +0x5C48 0x88CD # +0x5C49 0x88CE # +0x5C4A 0x88D1 # +0x5C4B 0x88D2 # +0x5C4C 0x88D3 # +0x5C4D 0x88DB # +0x5C4E 0x88DE # +0x5C4F 0x88E7 # +0x5C50 0x88EF # +0x5C51 0x88F0 # +0x5C52 0x88F1 # +0x5C53 0x88F5 # +0x5C54 0x88F7 # +0x5C55 0x8901 # +0x5C56 0x8906 # +0x5C57 0x890D # +0x5C58 0x890E # +0x5C59 0x890F # +0x5C5A 0x8915 # +0x5C5B 0x8916 # +0x5C5C 0x8918 # +0x5C5D 0x8919 # +0x5C5E 0x891A # +0x5C5F 0x891C # +0x5C60 0x8920 # +0x5C61 0x8926 # +0x5C62 0x8927 # +0x5C63 0x8928 # +0x5C64 0x8930 # +0x5C65 0x8931 # +0x5C66 0x8932 # +0x5C67 0x8935 # +0x5C68 0x8939 # +0x5C69 0x893A # +0x5C6A 0x893E # +0x5C6B 0x8940 # +0x5C6C 0x8942 # +0x5C6D 0x8945 # +0x5C6E 0x8946 # +0x5C6F 0x8949 # +0x5C70 0x894F # +0x5C71 0x8952 # +0x5C72 0x8957 # +0x5C73 0x895A # +0x5C74 0x895B # +0x5C75 0x895C # +0x5C76 0x8961 # +0x5C77 0x8962 # +0x5C78 0x8963 # +0x5C79 0x896B # +0x5C7A 0x896E # +0x5C7B 0x8970 # +0x5C7C 0x8973 # +0x5C7D 0x8975 # +0x5C7E 0x897A # +0x5D21 0x897B # +0x5D22 0x897C # +0x5D23 0x897D # +0x5D24 0x8989 # +0x5D25 0x898D # +0x5D26 0x8990 # +0x5D27 0x8994 # +0x5D28 0x8995 # +0x5D29 0x899B # +0x5D2A 0x899C # +0x5D2B 0x899F # +0x5D2C 0x89A0 # +0x5D2D 0x89A5 # +0x5D2E 0x89B0 # +0x5D2F 0x89B4 # +0x5D30 0x89B5 # +0x5D31 0x89B6 # +0x5D32 0x89B7 # +0x5D33 0x89BC # +0x5D34 0x89D4 # +0x5D35 0x89D5 # +0x5D36 0x89D6 # +0x5D37 0x89D7 # +0x5D38 0x89D8 # +0x5D39 0x89E5 # +0x5D3A 0x89E9 # +0x5D3B 0x89EB # +0x5D3C 0x89ED # +0x5D3D 0x89F1 # +0x5D3E 0x89F3 # +0x5D3F 0x89F6 # +0x5D40 0x89F9 # +0x5D41 0x89FD # +0x5D42 0x89FF # +0x5D43 0x8A04 # +0x5D44 0x8A05 # +0x5D45 0x8A07 # +0x5D46 0x8A0F # +0x5D47 0x8A11 # +0x5D48 0x8A12 # +0x5D49 0x8A14 # +0x5D4A 0x8A15 # +0x5D4B 0x8A1E # +0x5D4C 0x8A20 # +0x5D4D 0x8A22 # +0x5D4E 0x8A24 # +0x5D4F 0x8A26 # +0x5D50 0x8A2B # +0x5D51 0x8A2C # +0x5D52 0x8A2F # +0x5D53 0x8A35 # +0x5D54 0x8A37 # +0x5D55 0x8A3D # +0x5D56 0x8A3E # +0x5D57 0x8A40 # +0x5D58 0x8A43 # +0x5D59 0x8A45 # +0x5D5A 0x8A47 # +0x5D5B 0x8A49 # +0x5D5C 0x8A4D # +0x5D5D 0x8A4E # +0x5D5E 0x8A53 # +0x5D5F 0x8A56 # +0x5D60 0x8A57 # +0x5D61 0x8A58 # +0x5D62 0x8A5C # +0x5D63 0x8A5D # +0x5D64 0x8A61 # +0x5D65 0x8A65 # +0x5D66 0x8A67 # +0x5D67 0x8A75 # +0x5D68 0x8A76 # +0x5D69 0x8A77 # +0x5D6A 0x8A79 # +0x5D6B 0x8A7A # +0x5D6C 0x8A7B # +0x5D6D 0x8A7E # +0x5D6E 0x8A7F # +0x5D6F 0x8A80 # +0x5D70 0x8A83 # +0x5D71 0x8A86 # +0x5D72 0x8A8B # +0x5D73 0x8A8F # +0x5D74 0x8A90 # +0x5D75 0x8A92 # +0x5D76 0x8A96 # +0x5D77 0x8A97 # +0x5D78 0x8A99 # +0x5D79 0x8A9F # +0x5D7A 0x8AA7 # +0x5D7B 0x8AA9 # +0x5D7C 0x8AAE # +0x5D7D 0x8AAF # +0x5D7E 0x8AB3 # +0x5E21 0x8AB6 # +0x5E22 0x8AB7 # +0x5E23 0x8ABB # +0x5E24 0x8ABE # +0x5E25 0x8AC3 # +0x5E26 0x8AC6 # +0x5E27 0x8AC8 # +0x5E28 0x8AC9 # +0x5E29 0x8ACA # +0x5E2A 0x8AD1 # +0x5E2B 0x8AD3 # +0x5E2C 0x8AD4 # +0x5E2D 0x8AD5 # +0x5E2E 0x8AD7 # +0x5E2F 0x8ADD # +0x5E30 0x8ADF # +0x5E31 0x8AEC # +0x5E32 0x8AF0 # +0x5E33 0x8AF4 # +0x5E34 0x8AF5 # +0x5E35 0x8AF6 # +0x5E36 0x8AFC # +0x5E37 0x8AFF # +0x5E38 0x8B05 # +0x5E39 0x8B06 # +0x5E3A 0x8B0B # +0x5E3B 0x8B11 # +0x5E3C 0x8B1C # +0x5E3D 0x8B1E # +0x5E3E 0x8B1F # +0x5E3F 0x8B0A # +0x5E40 0x8B2D # +0x5E41 0x8B30 # +0x5E42 0x8B37 # +0x5E43 0x8B3C # +0x5E44 0x8B42 # +0x5E45 0x8B43 # +0x5E46 0x8B44 # +0x5E47 0x8B45 # +0x5E48 0x8B46 # +0x5E49 0x8B48 # +0x5E4A 0x8B52 # +0x5E4B 0x8B53 # +0x5E4C 0x8B54 # +0x5E4D 0x8B59 # +0x5E4E 0x8B4D # +0x5E4F 0x8B5E # +0x5E50 0x8B63 # +0x5E51 0x8B6D # +0x5E52 0x8B76 # +0x5E53 0x8B78 # +0x5E54 0x8B79 # +0x5E55 0x8B7C # +0x5E56 0x8B7E # +0x5E57 0x8B81 # +0x5E58 0x8B84 # +0x5E59 0x8B85 # +0x5E5A 0x8B8B # +0x5E5B 0x8B8D # +0x5E5C 0x8B8F # +0x5E5D 0x8B94 # +0x5E5E 0x8B95 # +0x5E5F 0x8B9C # +0x5E60 0x8B9E # +0x5E61 0x8B9F # +0x5E62 0x8C38 # +0x5E63 0x8C39 # +0x5E64 0x8C3D # +0x5E65 0x8C3E # +0x5E66 0x8C45 # +0x5E67 0x8C47 # +0x5E68 0x8C49 # +0x5E69 0x8C4B # +0x5E6A 0x8C4F # +0x5E6B 0x8C51 # +0x5E6C 0x8C53 # +0x5E6D 0x8C54 # +0x5E6E 0x8C57 # +0x5E6F 0x8C58 # +0x5E70 0x8C5B # +0x5E71 0x8C5D # +0x5E72 0x8C59 # +0x5E73 0x8C63 # +0x5E74 0x8C64 # +0x5E75 0x8C66 # +0x5E76 0x8C68 # +0x5E77 0x8C69 # +0x5E78 0x8C6D # +0x5E79 0x8C73 # +0x5E7A 0x8C75 # +0x5E7B 0x8C76 # +0x5E7C 0x8C7B # +0x5E7D 0x8C7E # +0x5E7E 0x8C86 # +0x5F21 0x8C87 # +0x5F22 0x8C8B # +0x5F23 0x8C90 # +0x5F24 0x8C92 # +0x5F25 0x8C93 # +0x5F26 0x8C99 # +0x5F27 0x8C9B # +0x5F28 0x8C9C # +0x5F29 0x8CA4 # +0x5F2A 0x8CB9 # +0x5F2B 0x8CBA # +0x5F2C 0x8CC5 # +0x5F2D 0x8CC6 # +0x5F2E 0x8CC9 # +0x5F2F 0x8CCB # +0x5F30 0x8CCF # +0x5F31 0x8CD6 # +0x5F32 0x8CD5 # +0x5F33 0x8CD9 # +0x5F34 0x8CDD # +0x5F35 0x8CE1 # +0x5F36 0x8CE8 # +0x5F37 0x8CEC # +0x5F38 0x8CEF # +0x5F39 0x8CF0 # +0x5F3A 0x8CF2 # +0x5F3B 0x8CF5 # +0x5F3C 0x8CF7 # +0x5F3D 0x8CF8 # +0x5F3E 0x8CFE # +0x5F3F 0x8CFF # +0x5F40 0x8D01 # +0x5F41 0x8D03 # +0x5F42 0x8D09 # +0x5F43 0x8D12 # +0x5F44 0x8D17 # +0x5F45 0x8D1B # +0x5F46 0x8D65 # +0x5F47 0x8D69 # +0x5F48 0x8D6C # +0x5F49 0x8D6E # +0x5F4A 0x8D7F # +0x5F4B 0x8D82 # +0x5F4C 0x8D84 # +0x5F4D 0x8D88 # +0x5F4E 0x8D8D # +0x5F4F 0x8D90 # +0x5F50 0x8D91 # +0x5F51 0x8D95 # +0x5F52 0x8D9E # +0x5F53 0x8D9F # +0x5F54 0x8DA0 # +0x5F55 0x8DA6 # +0x5F56 0x8DAB # +0x5F57 0x8DAC # +0x5F58 0x8DAF # +0x5F59 0x8DB2 # +0x5F5A 0x8DB5 # +0x5F5B 0x8DB7 # +0x5F5C 0x8DB9 # +0x5F5D 0x8DBB # +0x5F5E 0x8DC0 # +0x5F5F 0x8DC5 # +0x5F60 0x8DC6 # +0x5F61 0x8DC7 # +0x5F62 0x8DC8 # +0x5F63 0x8DCA # +0x5F64 0x8DCE # +0x5F65 0x8DD1 # +0x5F66 0x8DD4 # +0x5F67 0x8DD5 # +0x5F68 0x8DD7 # +0x5F69 0x8DD9 # +0x5F6A 0x8DE4 # +0x5F6B 0x8DE5 # +0x5F6C 0x8DE7 # +0x5F6D 0x8DEC # +0x5F6E 0x8DF0 # +0x5F6F 0x8DBC # +0x5F70 0x8DF1 # +0x5F71 0x8DF2 # +0x5F72 0x8DF4 # +0x5F73 0x8DFD # +0x5F74 0x8E01 # +0x5F75 0x8E04 # +0x5F76 0x8E05 # +0x5F77 0x8E06 # +0x5F78 0x8E0B # +0x5F79 0x8E11 # +0x5F7A 0x8E14 # +0x5F7B 0x8E16 # +0x5F7C 0x8E20 # +0x5F7D 0x8E21 # +0x5F7E 0x8E22 # +0x6021 0x8E23 # +0x6022 0x8E26 # +0x6023 0x8E27 # +0x6024 0x8E31 # +0x6025 0x8E33 # +0x6026 0x8E36 # +0x6027 0x8E37 # +0x6028 0x8E38 # +0x6029 0x8E39 # +0x602A 0x8E3D # +0x602B 0x8E40 # +0x602C 0x8E41 # +0x602D 0x8E4B # +0x602E 0x8E4D # +0x602F 0x8E4E # +0x6030 0x8E4F # +0x6031 0x8E54 # +0x6032 0x8E5B # +0x6033 0x8E5C # +0x6034 0x8E5D # +0x6035 0x8E5E # +0x6036 0x8E61 # +0x6037 0x8E62 # +0x6038 0x8E69 # +0x6039 0x8E6C # +0x603A 0x8E6D # +0x603B 0x8E6F # +0x603C 0x8E70 # +0x603D 0x8E71 # +0x603E 0x8E79 # +0x603F 0x8E7A # +0x6040 0x8E7B # +0x6041 0x8E82 # +0x6042 0x8E83 # +0x6043 0x8E89 # +0x6044 0x8E90 # +0x6045 0x8E92 # +0x6046 0x8E95 # +0x6047 0x8E9A # +0x6048 0x8E9B # +0x6049 0x8E9D # +0x604A 0x8E9E # +0x604B 0x8EA2 # +0x604C 0x8EA7 # +0x604D 0x8EA9 # +0x604E 0x8EAD # +0x604F 0x8EAE # +0x6050 0x8EB3 # +0x6051 0x8EB5 # +0x6052 0x8EBA # +0x6053 0x8EBB # +0x6054 0x8EC0 # +0x6055 0x8EC1 # +0x6056 0x8EC3 # +0x6057 0x8EC4 # +0x6058 0x8EC7 # +0x6059 0x8ECF # +0x605A 0x8ED1 # +0x605B 0x8ED4 # +0x605C 0x8EDC # +0x605D 0x8EE8 # +0x605E 0x8EEE # +0x605F 0x8EF0 # +0x6060 0x8EF1 # +0x6061 0x8EF7 # +0x6062 0x8EF9 # +0x6063 0x8EFA # +0x6064 0x8EED # +0x6065 0x8F00 # +0x6066 0x8F02 # +0x6067 0x8F07 # +0x6068 0x8F08 # +0x6069 0x8F0F # +0x606A 0x8F10 # +0x606B 0x8F16 # +0x606C 0x8F17 # +0x606D 0x8F18 # +0x606E 0x8F1E # +0x606F 0x8F20 # +0x6070 0x8F21 # +0x6071 0x8F23 # +0x6072 0x8F25 # +0x6073 0x8F27 # +0x6074 0x8F28 # +0x6075 0x8F2C # +0x6076 0x8F2D # +0x6077 0x8F2E # +0x6078 0x8F34 # +0x6079 0x8F35 # +0x607A 0x8F36 # +0x607B 0x8F37 # +0x607C 0x8F3A # +0x607D 0x8F40 # +0x607E 0x8F41 # +0x6121 0x8F43 # +0x6122 0x8F47 # +0x6123 0x8F4F # +0x6124 0x8F51 # +0x6125 0x8F52 # +0x6126 0x8F53 # +0x6127 0x8F54 # +0x6128 0x8F55 # +0x6129 0x8F58 # +0x612A 0x8F5D # +0x612B 0x8F5E # +0x612C 0x8F65 # +0x612D 0x8F9D # +0x612E 0x8FA0 # +0x612F 0x8FA1 # +0x6130 0x8FA4 # +0x6131 0x8FA5 # +0x6132 0x8FA6 # +0x6133 0x8FB5 # +0x6134 0x8FB6 # +0x6135 0x8FB8 # +0x6136 0x8FBE # +0x6137 0x8FC0 # +0x6138 0x8FC1 # +0x6139 0x8FC6 # +0x613A 0x8FCA # +0x613B 0x8FCB # +0x613C 0x8FCD # +0x613D 0x8FD0 # +0x613E 0x8FD2 # +0x613F 0x8FD3 # +0x6140 0x8FD5 # +0x6141 0x8FE0 # +0x6142 0x8FE3 # +0x6143 0x8FE4 # +0x6144 0x8FE8 # +0x6145 0x8FEE # +0x6146 0x8FF1 # +0x6147 0x8FF5 # +0x6148 0x8FF6 # +0x6149 0x8FFB # +0x614A 0x8FFE # +0x614B 0x9002 # +0x614C 0x9004 # +0x614D 0x9008 # +0x614E 0x900C # +0x614F 0x9018 # +0x6150 0x901B # +0x6151 0x9028 # +0x6152 0x9029 # +0x6153 0x902F # +0x6154 0x902A # +0x6155 0x902C # +0x6156 0x902D # +0x6157 0x9033 # +0x6158 0x9034 # +0x6159 0x9037 # +0x615A 0x903F # +0x615B 0x9043 # +0x615C 0x9044 # +0x615D 0x904C # +0x615E 0x905B # +0x615F 0x905D # +0x6160 0x9062 # +0x6161 0x9066 # +0x6162 0x9067 # +0x6163 0x906C # +0x6164 0x9070 # +0x6165 0x9074 # +0x6166 0x9079 # +0x6167 0x9085 # +0x6168 0x9088 # +0x6169 0x908B # +0x616A 0x908C # +0x616B 0x908E # +0x616C 0x9090 # +0x616D 0x9095 # +0x616E 0x9097 # +0x616F 0x9098 # +0x6170 0x9099 # +0x6171 0x909B # +0x6172 0x90A0 # +0x6173 0x90A1 # +0x6174 0x90A2 # +0x6175 0x90A5 # +0x6176 0x90B0 # +0x6177 0x90B2 # +0x6178 0x90B3 # +0x6179 0x90B4 # +0x617A 0x90B6 # +0x617B 0x90BD # +0x617C 0x90CC # +0x617D 0x90BE # +0x617E 0x90C3 # +0x6221 0x90C4 # +0x6222 0x90C5 # +0x6223 0x90C7 # +0x6224 0x90C8 # +0x6225 0x90D5 # +0x6226 0x90D7 # +0x6227 0x90D8 # +0x6228 0x90D9 # +0x6229 0x90DC # +0x622A 0x90DD # +0x622B 0x90DF # +0x622C 0x90E5 # +0x622D 0x90D2 # +0x622E 0x90F6 # +0x622F 0x90EB # +0x6230 0x90EF # +0x6231 0x90F0 # +0x6232 0x90F4 # +0x6233 0x90FE # +0x6234 0x90FF # +0x6235 0x9100 # +0x6236 0x9104 # +0x6237 0x9105 # +0x6238 0x9106 # +0x6239 0x9108 # +0x623A 0x910D # +0x623B 0x9110 # +0x623C 0x9114 # +0x623D 0x9116 # +0x623E 0x9117 # +0x623F 0x9118 # +0x6240 0x911A # +0x6241 0x911C # +0x6242 0x911E # +0x6243 0x9120 # +0x6244 0x9125 # +0x6245 0x9122 # +0x6246 0x9123 # +0x6247 0x9127 # +0x6248 0x9129 # +0x6249 0x912E # +0x624A 0x912F # +0x624B 0x9131 # +0x624C 0x9134 # +0x624D 0x9136 # +0x624E 0x9137 # +0x624F 0x9139 # +0x6250 0x913A # +0x6251 0x913C # +0x6252 0x913D # +0x6253 0x9143 # +0x6254 0x9147 # +0x6255 0x9148 # +0x6256 0x914F # +0x6257 0x9153 # +0x6258 0x9157 # +0x6259 0x9159 # +0x625A 0x915A # +0x625B 0x915B # +0x625C 0x9161 # +0x625D 0x9164 # +0x625E 0x9167 # +0x625F 0x916D # +0x6260 0x9174 # +0x6261 0x9179 # +0x6262 0x917A # +0x6263 0x917B # +0x6264 0x9181 # +0x6265 0x9183 # +0x6266 0x9185 # +0x6267 0x9186 # +0x6268 0x918A # +0x6269 0x918E # +0x626A 0x9191 # +0x626B 0x9193 # +0x626C 0x9194 # +0x626D 0x9195 # +0x626E 0x9198 # +0x626F 0x919E # +0x6270 0x91A1 # +0x6271 0x91A6 # +0x6272 0x91A8 # +0x6273 0x91AC # +0x6274 0x91AD # +0x6275 0x91AE # +0x6276 0x91B0 # +0x6277 0x91B1 # +0x6278 0x91B2 # +0x6279 0x91B3 # +0x627A 0x91B6 # +0x627B 0x91BB # +0x627C 0x91BC # +0x627D 0x91BD # +0x627E 0x91BF # +0x6321 0x91C2 # +0x6322 0x91C3 # +0x6323 0x91C5 # +0x6324 0x91D3 # +0x6325 0x91D4 # +0x6326 0x91D7 # +0x6327 0x91D9 # +0x6328 0x91DA # +0x6329 0x91DE # +0x632A 0x91E4 # +0x632B 0x91E5 # +0x632C 0x91E9 # +0x632D 0x91EA # +0x632E 0x91EC # +0x632F 0x91ED # +0x6330 0x91EE # +0x6331 0x91EF # +0x6332 0x91F0 # +0x6333 0x91F1 # +0x6334 0x91F7 # +0x6335 0x91F9 # +0x6336 0x91FB # +0x6337 0x91FD # +0x6338 0x9200 # +0x6339 0x9201 # +0x633A 0x9204 # +0x633B 0x9205 # +0x633C 0x9206 # +0x633D 0x9207 # +0x633E 0x9209 # +0x633F 0x920A # +0x6340 0x920C # +0x6341 0x9210 # +0x6342 0x9212 # +0x6343 0x9213 # +0x6344 0x9216 # +0x6345 0x9218 # +0x6346 0x921C # +0x6347 0x921D # +0x6348 0x9223 # +0x6349 0x9224 # +0x634A 0x9225 # +0x634B 0x9226 # +0x634C 0x9228 # +0x634D 0x922E # +0x634E 0x922F # +0x634F 0x9230 # +0x6350 0x9233 # +0x6351 0x9235 # +0x6352 0x9236 # +0x6353 0x9238 # +0x6354 0x9239 # +0x6355 0x923A # +0x6356 0x923C # +0x6357 0x923E # +0x6358 0x9240 # +0x6359 0x9242 # +0x635A 0x9243 # +0x635B 0x9246 # +0x635C 0x9247 # +0x635D 0x924A # +0x635E 0x924D # +0x635F 0x924E # +0x6360 0x924F # +0x6361 0x9251 # +0x6362 0x9258 # +0x6363 0x9259 # +0x6364 0x925C # +0x6365 0x925D # +0x6366 0x9260 # +0x6367 0x9261 # +0x6368 0x9265 # +0x6369 0x9267 # +0x636A 0x9268 # +0x636B 0x9269 # +0x636C 0x926E # +0x636D 0x926F # +0x636E 0x9270 # +0x636F 0x9275 # +0x6370 0x9276 # +0x6371 0x9277 # +0x6372 0x9278 # +0x6373 0x9279 # +0x6374 0x927B # +0x6375 0x927C # +0x6376 0x927D # +0x6377 0x927F # +0x6378 0x9288 # +0x6379 0x9289 # +0x637A 0x928A # +0x637B 0x928D # +0x637C 0x928E # +0x637D 0x9292 # +0x637E 0x9297 # +0x6421 0x9299 # +0x6422 0x929F # +0x6423 0x92A0 # +0x6424 0x92A4 # +0x6425 0x92A5 # +0x6426 0x92A7 # +0x6427 0x92A8 # +0x6428 0x92AB # +0x6429 0x92AF # +0x642A 0x92B2 # +0x642B 0x92B6 # +0x642C 0x92B8 # +0x642D 0x92BA # +0x642E 0x92BB # +0x642F 0x92BC # +0x6430 0x92BD # +0x6431 0x92BF # +0x6432 0x92C0 # +0x6433 0x92C1 # +0x6434 0x92C2 # +0x6435 0x92C3 # +0x6436 0x92C5 # +0x6437 0x92C6 # +0x6438 0x92C7 # +0x6439 0x92C8 # +0x643A 0x92CB # +0x643B 0x92CC # +0x643C 0x92CD # +0x643D 0x92CE # +0x643E 0x92D0 # +0x643F 0x92D3 # +0x6440 0x92D5 # +0x6441 0x92D7 # +0x6442 0x92D8 # +0x6443 0x92D9 # +0x6444 0x92DC # +0x6445 0x92DD # +0x6446 0x92DF # +0x6447 0x92E0 # +0x6448 0x92E1 # +0x6449 0x92E3 # +0x644A 0x92E5 # +0x644B 0x92E7 # +0x644C 0x92E8 # +0x644D 0x92EC # +0x644E 0x92EE # +0x644F 0x92F0 # +0x6450 0x92F9 # +0x6451 0x92FB # +0x6452 0x92FF # +0x6453 0x9300 # +0x6454 0x9302 # +0x6455 0x9308 # +0x6456 0x930D # +0x6457 0x9311 # +0x6458 0x9314 # +0x6459 0x9315 # +0x645A 0x931C # +0x645B 0x931D # +0x645C 0x931E # +0x645D 0x931F # +0x645E 0x9321 # +0x645F 0x9324 # +0x6460 0x9325 # +0x6461 0x9327 # +0x6462 0x9329 # +0x6463 0x932A # +0x6464 0x9333 # +0x6465 0x9334 # +0x6466 0x9336 # +0x6467 0x9337 # +0x6468 0x9347 # +0x6469 0x9348 # +0x646A 0x9349 # +0x646B 0x9350 # +0x646C 0x9351 # +0x646D 0x9352 # +0x646E 0x9355 # +0x646F 0x9357 # +0x6470 0x9358 # +0x6471 0x935A # +0x6472 0x935E # +0x6473 0x9364 # +0x6474 0x9365 # +0x6475 0x9367 # +0x6476 0x9369 # +0x6477 0x936A # +0x6478 0x936D # +0x6479 0x936F # +0x647A 0x9370 # +0x647B 0x9371 # +0x647C 0x9373 # +0x647D 0x9374 # +0x647E 0x9376 # +0x6521 0x937A # +0x6522 0x937D # +0x6523 0x937F # +0x6524 0x9380 # +0x6525 0x9381 # +0x6526 0x9382 # +0x6527 0x9388 # +0x6528 0x938A # +0x6529 0x938B # +0x652A 0x938D # +0x652B 0x938F # +0x652C 0x9392 # +0x652D 0x9395 # +0x652E 0x9398 # +0x652F 0x939B # +0x6530 0x939E # +0x6531 0x93A1 # +0x6532 0x93A3 # +0x6533 0x93A4 # +0x6534 0x93A6 # +0x6535 0x93A8 # +0x6536 0x93AB # +0x6537 0x93B4 # +0x6538 0x93B5 # +0x6539 0x93B6 # +0x653A 0x93BA # +0x653B 0x93A9 # +0x653C 0x93C1 # +0x653D 0x93C4 # +0x653E 0x93C5 # +0x653F 0x93C6 # +0x6540 0x93C7 # +0x6541 0x93C9 # +0x6542 0x93CA # +0x6543 0x93CB # +0x6544 0x93CC # +0x6545 0x93CD # +0x6546 0x93D3 # +0x6547 0x93D9 # +0x6548 0x93DC # +0x6549 0x93DE # +0x654A 0x93DF # +0x654B 0x93E2 # +0x654C 0x93E6 # +0x654D 0x93E7 # +0x654E 0x93F9 # +0x654F 0x93F7 # +0x6550 0x93F8 # +0x6551 0x93FA # +0x6552 0x93FB # +0x6553 0x93FD # +0x6554 0x9401 # +0x6555 0x9402 # +0x6556 0x9404 # +0x6557 0x9408 # +0x6558 0x9409 # +0x6559 0x940D # +0x655A 0x940E # +0x655B 0x940F # +0x655C 0x9415 # +0x655D 0x9416 # +0x655E 0x9417 # +0x655F 0x941F # +0x6560 0x942E # +0x6561 0x942F # +0x6562 0x9431 # +0x6563 0x9432 # +0x6564 0x9433 # +0x6565 0x9434 # +0x6566 0x943B # +0x6567 0x943F # +0x6568 0x943D # +0x6569 0x9443 # +0x656A 0x9445 # +0x656B 0x9448 # +0x656C 0x944A # +0x656D 0x944C # +0x656E 0x9455 # +0x656F 0x9459 # +0x6570 0x945C # +0x6571 0x945F # +0x6572 0x9461 # +0x6573 0x9463 # +0x6574 0x9468 # +0x6575 0x946B # +0x6576 0x946D # +0x6577 0x946E # +0x6578 0x946F # +0x6579 0x9471 # +0x657A 0x9472 # +0x657B 0x9484 # +0x657C 0x9483 # +0x657D 0x9578 # +0x657E 0x9579 # +0x6621 0x957E # +0x6622 0x9584 # +0x6623 0x9588 # +0x6624 0x958C # +0x6625 0x958D # +0x6626 0x958E # +0x6627 0x959D # +0x6628 0x959E # +0x6629 0x959F # +0x662A 0x95A1 # +0x662B 0x95A6 # +0x662C 0x95A9 # +0x662D 0x95AB # +0x662E 0x95AC # +0x662F 0x95B4 # +0x6630 0x95B6 # +0x6631 0x95BA # +0x6632 0x95BD # +0x6633 0x95BF # +0x6634 0x95C6 # +0x6635 0x95C8 # +0x6636 0x95C9 # +0x6637 0x95CB # +0x6638 0x95D0 # +0x6639 0x95D1 # +0x663A 0x95D2 # +0x663B 0x95D3 # +0x663C 0x95D9 # +0x663D 0x95DA # +0x663E 0x95DD # +0x663F 0x95DE # +0x6640 0x95DF # +0x6641 0x95E0 # +0x6642 0x95E4 # +0x6643 0x95E6 # +0x6644 0x961D # +0x6645 0x961E # +0x6646 0x9622 # +0x6647 0x9624 # +0x6648 0x9625 # +0x6649 0x9626 # +0x664A 0x962C # +0x664B 0x9631 # +0x664C 0x9633 # +0x664D 0x9637 # +0x664E 0x9638 # +0x664F 0x9639 # +0x6650 0x963A # +0x6651 0x963C # +0x6652 0x963D # +0x6653 0x9641 # +0x6654 0x9652 # +0x6655 0x9654 # +0x6656 0x9656 # +0x6657 0x9657 # +0x6658 0x9658 # +0x6659 0x9661 # +0x665A 0x966E # +0x665B 0x9674 # +0x665C 0x967B # +0x665D 0x967C # +0x665E 0x967E # +0x665F 0x967F # +0x6660 0x9681 # +0x6661 0x9682 # +0x6662 0x9683 # +0x6663 0x9684 # +0x6664 0x9689 # +0x6665 0x9691 # +0x6666 0x9696 # +0x6667 0x969A # +0x6668 0x969D # +0x6669 0x969F # +0x666A 0x96A4 # +0x666B 0x96A5 # +0x666C 0x96A6 # +0x666D 0x96A9 # +0x666E 0x96AE # +0x666F 0x96AF # +0x6670 0x96B3 # +0x6671 0x96BA # +0x6672 0x96CA # +0x6673 0x96D2 # +0x6674 0x5DB2 # +0x6675 0x96D8 # +0x6676 0x96DA # +0x6677 0x96DD # +0x6678 0x96DE # +0x6679 0x96DF # +0x667A 0x96E9 # +0x667B 0x96EF # +0x667C 0x96F1 # +0x667D 0x96FA # +0x667E 0x9702 # +0x6721 0x9703 # +0x6722 0x9705 # +0x6723 0x9709 # +0x6724 0x971A # +0x6725 0x971B # +0x6726 0x971D # +0x6727 0x9721 # +0x6728 0x9722 # +0x6729 0x9723 # +0x672A 0x9728 # +0x672B 0x9731 # +0x672C 0x9733 # +0x672D 0x9741 # +0x672E 0x9743 # +0x672F 0x974A # +0x6730 0x974E # +0x6731 0x974F # +0x6732 0x9755 # +0x6733 0x9757 # +0x6734 0x9758 # +0x6735 0x975A # +0x6736 0x975B # +0x6737 0x9763 # +0x6738 0x9767 # +0x6739 0x976A # +0x673A 0x976E # +0x673B 0x9773 # +0x673C 0x9776 # +0x673D 0x9777 # +0x673E 0x9778 # +0x673F 0x977B # +0x6740 0x977D # +0x6741 0x977F # +0x6742 0x9780 # +0x6743 0x9789 # +0x6744 0x9795 # +0x6745 0x9796 # +0x6746 0x9797 # +0x6747 0x9799 # +0x6748 0x979A # +0x6749 0x979E # +0x674A 0x979F # +0x674B 0x97A2 # +0x674C 0x97AC # +0x674D 0x97AE # +0x674E 0x97B1 # +0x674F 0x97B2 # +0x6750 0x97B5 # +0x6751 0x97B6 # +0x6752 0x97B8 # +0x6753 0x97B9 # +0x6754 0x97BA # +0x6755 0x97BC # +0x6756 0x97BE # +0x6757 0x97BF # +0x6758 0x97C1 # +0x6759 0x97C4 # +0x675A 0x97C5 # +0x675B 0x97C7 # +0x675C 0x97C9 # +0x675D 0x97CA # +0x675E 0x97CC # +0x675F 0x97CD # +0x6760 0x97CE # +0x6761 0x97D0 # +0x6762 0x97D1 # +0x6763 0x97D4 # +0x6764 0x97D7 # +0x6765 0x97D8 # +0x6766 0x97D9 # +0x6767 0x97DD # +0x6768 0x97DE # +0x6769 0x97E0 # +0x676A 0x97DB # +0x676B 0x97E1 # +0x676C 0x97E4 # +0x676D 0x97EF # +0x676E 0x97F1 # +0x676F 0x97F4 # +0x6770 0x97F7 # +0x6771 0x97F8 # +0x6772 0x97FA # +0x6773 0x9807 # +0x6774 0x980A # +0x6775 0x9819 # +0x6776 0x980D # +0x6777 0x980E # +0x6778 0x9814 # +0x6779 0x9816 # +0x677A 0x981C # +0x677B 0x981E # +0x677C 0x9820 # +0x677D 0x9823 # +0x677E 0x9826 # +0x6821 0x982B # +0x6822 0x982E # +0x6823 0x982F # +0x6824 0x9830 # +0x6825 0x9832 # +0x6826 0x9833 # +0x6827 0x9835 # +0x6828 0x9825 # +0x6829 0x983E # +0x682A 0x9844 # +0x682B 0x9847 # +0x682C 0x984A # +0x682D 0x9851 # +0x682E 0x9852 # +0x682F 0x9853 # +0x6830 0x9856 # +0x6831 0x9857 # +0x6832 0x9859 # +0x6833 0x985A # +0x6834 0x9862 # +0x6835 0x9863 # +0x6836 0x9865 # +0x6837 0x9866 # +0x6838 0x986A # +0x6839 0x986C # +0x683A 0x98AB # +0x683B 0x98AD # +0x683C 0x98AE # +0x683D 0x98B0 # +0x683E 0x98B4 # +0x683F 0x98B7 # +0x6840 0x98B8 # +0x6841 0x98BA # +0x6842 0x98BB # +0x6843 0x98BF # +0x6844 0x98C2 # +0x6845 0x98C5 # +0x6846 0x98C8 # +0x6847 0x98CC # +0x6848 0x98E1 # +0x6849 0x98E3 # +0x684A 0x98E5 # +0x684B 0x98E6 # +0x684C 0x98E7 # +0x684D 0x98EA # +0x684E 0x98F3 # +0x684F 0x98F6 # +0x6850 0x9902 # +0x6851 0x9907 # +0x6852 0x9908 # +0x6853 0x9911 # +0x6854 0x9915 # +0x6855 0x9916 # +0x6856 0x9917 # +0x6857 0x991A # +0x6858 0x991B # +0x6859 0x991C # +0x685A 0x991F # +0x685B 0x9922 # +0x685C 0x9926 # +0x685D 0x9927 # +0x685E 0x992B # +0x685F 0x9931 # +0x6860 0x9932 # +0x6861 0x9933 # +0x6862 0x9934 # +0x6863 0x9935 # +0x6864 0x9939 # +0x6865 0x993A # +0x6866 0x993B # +0x6867 0x993C # +0x6868 0x9940 # +0x6869 0x9941 # +0x686A 0x9946 # +0x686B 0x9947 # +0x686C 0x9948 # +0x686D 0x994D # +0x686E 0x994E # +0x686F 0x9954 # +0x6870 0x9958 # +0x6871 0x9959 # +0x6872 0x995B # +0x6873 0x995C # +0x6874 0x995E # +0x6875 0x995F # +0x6876 0x9960 # +0x6877 0x999B # +0x6878 0x999D # +0x6879 0x999F # +0x687A 0x99A6 # +0x687B 0x99B0 # +0x687C 0x99B1 # +0x687D 0x99B2 # +0x687E 0x99B5 # +0x6921 0x99B9 # +0x6922 0x99BA # +0x6923 0x99BD # +0x6924 0x99BF # +0x6925 0x99C3 # +0x6926 0x99C9 # +0x6927 0x99D3 # +0x6928 0x99D4 # +0x6929 0x99D9 # +0x692A 0x99DA # +0x692B 0x99DC # +0x692C 0x99DE # +0x692D 0x99E7 # +0x692E 0x99EA # +0x692F 0x99EB # +0x6930 0x99EC # +0x6931 0x99F0 # +0x6932 0x99F4 # +0x6933 0x99F5 # +0x6934 0x99F9 # +0x6935 0x99FD # +0x6936 0x99FE # +0x6937 0x9A02 # +0x6938 0x9A03 # +0x6939 0x9A04 # +0x693A 0x9A0B # +0x693B 0x9A0C # +0x693C 0x9A10 # +0x693D 0x9A11 # +0x693E 0x9A16 # +0x693F 0x9A1E # +0x6940 0x9A20 # +0x6941 0x9A22 # +0x6942 0x9A23 # +0x6943 0x9A24 # +0x6944 0x9A27 # +0x6945 0x9A2D # +0x6946 0x9A2E # +0x6947 0x9A33 # +0x6948 0x9A35 # +0x6949 0x9A36 # +0x694A 0x9A38 # +0x694B 0x9A47 # +0x694C 0x9A41 # +0x694D 0x9A44 # +0x694E 0x9A4A # +0x694F 0x9A4B # +0x6950 0x9A4C # +0x6951 0x9A4E # +0x6952 0x9A51 # +0x6953 0x9A54 # +0x6954 0x9A56 # +0x6955 0x9A5D # +0x6956 0x9AAA # +0x6957 0x9AAC # +0x6958 0x9AAE # +0x6959 0x9AAF # +0x695A 0x9AB2 # +0x695B 0x9AB4 # +0x695C 0x9AB5 # +0x695D 0x9AB6 # +0x695E 0x9AB9 # +0x695F 0x9ABB # +0x6960 0x9ABE # +0x6961 0x9ABF # +0x6962 0x9AC1 # +0x6963 0x9AC3 # +0x6964 0x9AC6 # +0x6965 0x9AC8 # +0x6966 0x9ACE # +0x6967 0x9AD0 # +0x6968 0x9AD2 # +0x6969 0x9AD5 # +0x696A 0x9AD6 # +0x696B 0x9AD7 # +0x696C 0x9ADB # +0x696D 0x9ADC # +0x696E 0x9AE0 # +0x696F 0x9AE4 # +0x6970 0x9AE5 # +0x6971 0x9AE7 # +0x6972 0x9AE9 # +0x6973 0x9AEC # +0x6974 0x9AF2 # +0x6975 0x9AF3 # +0x6976 0x9AF5 # +0x6977 0x9AF9 # +0x6978 0x9AFA # +0x6979 0x9AFD # +0x697A 0x9AFF # +0x697B 0x9B00 # +0x697C 0x9B01 # +0x697D 0x9B02 # +0x697E 0x9B03 # +0x6A21 0x9B04 # +0x6A22 0x9B05 # +0x6A23 0x9B08 # +0x6A24 0x9B09 # +0x6A25 0x9B0B # +0x6A26 0x9B0C # +0x6A27 0x9B0D # +0x6A28 0x9B0E # +0x6A29 0x9B10 # +0x6A2A 0x9B12 # +0x6A2B 0x9B16 # +0x6A2C 0x9B19 # +0x6A2D 0x9B1B # +0x6A2E 0x9B1C # +0x6A2F 0x9B20 # +0x6A30 0x9B26 # +0x6A31 0x9B2B # +0x6A32 0x9B2D # +0x6A33 0x9B33 # +0x6A34 0x9B34 # +0x6A35 0x9B35 # +0x6A36 0x9B37 # +0x6A37 0x9B39 # +0x6A38 0x9B3A # +0x6A39 0x9B3D # +0x6A3A 0x9B48 # +0x6A3B 0x9B4B # +0x6A3C 0x9B4C # +0x6A3D 0x9B55 # +0x6A3E 0x9B56 # +0x6A3F 0x9B57 # +0x6A40 0x9B5B # +0x6A41 0x9B5E # +0x6A42 0x9B61 # +0x6A43 0x9B63 # +0x6A44 0x9B65 # +0x6A45 0x9B66 # +0x6A46 0x9B68 # +0x6A47 0x9B6A # +0x6A48 0x9B6B # +0x6A49 0x9B6C # +0x6A4A 0x9B6D # +0x6A4B 0x9B6E # +0x6A4C 0x9B73 # +0x6A4D 0x9B75 # +0x6A4E 0x9B77 # +0x6A4F 0x9B78 # +0x6A50 0x9B79 # +0x6A51 0x9B7F # +0x6A52 0x9B80 # +0x6A53 0x9B84 # +0x6A54 0x9B85 # +0x6A55 0x9B86 # +0x6A56 0x9B87 # +0x6A57 0x9B89 # +0x6A58 0x9B8A # +0x6A59 0x9B8B # +0x6A5A 0x9B8D # +0x6A5B 0x9B8F # +0x6A5C 0x9B90 # +0x6A5D 0x9B94 # +0x6A5E 0x9B9A # +0x6A5F 0x9B9D # +0x6A60 0x9B9E # +0x6A61 0x9BA6 # +0x6A62 0x9BA7 # +0x6A63 0x9BA9 # +0x6A64 0x9BAC # +0x6A65 0x9BB0 # +0x6A66 0x9BB1 # +0x6A67 0x9BB2 # +0x6A68 0x9BB7 # +0x6A69 0x9BB8 # +0x6A6A 0x9BBB # +0x6A6B 0x9BBC # +0x6A6C 0x9BBE # +0x6A6D 0x9BBF # +0x6A6E 0x9BC1 # +0x6A6F 0x9BC7 # +0x6A70 0x9BC8 # +0x6A71 0x9BCE # +0x6A72 0x9BD0 # +0x6A73 0x9BD7 # +0x6A74 0x9BD8 # +0x6A75 0x9BDD # +0x6A76 0x9BDF # +0x6A77 0x9BE5 # +0x6A78 0x9BE7 # +0x6A79 0x9BEA # +0x6A7A 0x9BEB # +0x6A7B 0x9BEF # +0x6A7C 0x9BF3 # +0x6A7D 0x9BF7 # +0x6A7E 0x9BF8 # +0x6B21 0x9BF9 # +0x6B22 0x9BFA # +0x6B23 0x9BFD # +0x6B24 0x9BFF # +0x6B25 0x9C00 # +0x6B26 0x9C02 # +0x6B27 0x9C0B # +0x6B28 0x9C0F # +0x6B29 0x9C11 # +0x6B2A 0x9C16 # +0x6B2B 0x9C18 # +0x6B2C 0x9C19 # +0x6B2D 0x9C1A # +0x6B2E 0x9C1C # +0x6B2F 0x9C1E # +0x6B30 0x9C22 # +0x6B31 0x9C23 # +0x6B32 0x9C26 # +0x6B33 0x9C27 # +0x6B34 0x9C28 # +0x6B35 0x9C29 # +0x6B36 0x9C2A # +0x6B37 0x9C31 # +0x6B38 0x9C35 # +0x6B39 0x9C36 # +0x6B3A 0x9C37 # +0x6B3B 0x9C3D # +0x6B3C 0x9C41 # +0x6B3D 0x9C43 # +0x6B3E 0x9C44 # +0x6B3F 0x9C45 # +0x6B40 0x9C49 # +0x6B41 0x9C4A # +0x6B42 0x9C4E # +0x6B43 0x9C4F # +0x6B44 0x9C50 # +0x6B45 0x9C53 # +0x6B46 0x9C54 # +0x6B47 0x9C56 # +0x6B48 0x9C58 # +0x6B49 0x9C5B # +0x6B4A 0x9C5D # +0x6B4B 0x9C5E # +0x6B4C 0x9C5F # +0x6B4D 0x9C63 # +0x6B4E 0x9C69 # +0x6B4F 0x9C6A # +0x6B50 0x9C5C # +0x6B51 0x9C6B # +0x6B52 0x9C68 # +0x6B53 0x9C6E # +0x6B54 0x9C70 # +0x6B55 0x9C72 # +0x6B56 0x9C75 # +0x6B57 0x9C77 # +0x6B58 0x9C7B # +0x6B59 0x9CE6 # +0x6B5A 0x9CF2 # +0x6B5B 0x9CF7 # +0x6B5C 0x9CF9 # +0x6B5D 0x9D0B # +0x6B5E 0x9D02 # +0x6B5F 0x9D11 # +0x6B60 0x9D17 # +0x6B61 0x9D18 # +0x6B62 0x9D1C # +0x6B63 0x9D1D # +0x6B64 0x9D1E # +0x6B65 0x9D2F # +0x6B66 0x9D30 # +0x6B67 0x9D32 # +0x6B68 0x9D33 # +0x6B69 0x9D34 # +0x6B6A 0x9D3A # +0x6B6B 0x9D3C # +0x6B6C 0x9D45 # +0x6B6D 0x9D3D # +0x6B6E 0x9D42 # +0x6B6F 0x9D43 # +0x6B70 0x9D47 # +0x6B71 0x9D4A # +0x6B72 0x9D53 # +0x6B73 0x9D54 # +0x6B74 0x9D5F # +0x6B75 0x9D63 # +0x6B76 0x9D62 # +0x6B77 0x9D65 # +0x6B78 0x9D69 # +0x6B79 0x9D6A # +0x6B7A 0x9D6B # +0x6B7B 0x9D70 # +0x6B7C 0x9D76 # +0x6B7D 0x9D77 # +0x6B7E 0x9D7B # +0x6C21 0x9D7C # +0x6C22 0x9D7E # +0x6C23 0x9D83 # +0x6C24 0x9D84 # +0x6C25 0x9D86 # +0x6C26 0x9D8A # +0x6C27 0x9D8D # +0x6C28 0x9D8E # +0x6C29 0x9D92 # +0x6C2A 0x9D93 # +0x6C2B 0x9D95 # +0x6C2C 0x9D96 # +0x6C2D 0x9D97 # +0x6C2E 0x9D98 # +0x6C2F 0x9DA1 # +0x6C30 0x9DAA # +0x6C31 0x9DAC # +0x6C32 0x9DAE # +0x6C33 0x9DB1 # +0x6C34 0x9DB5 # +0x6C35 0x9DB9 # +0x6C36 0x9DBC # +0x6C37 0x9DBF # +0x6C38 0x9DC3 # +0x6C39 0x9DC7 # +0x6C3A 0x9DC9 # +0x6C3B 0x9DCA # +0x6C3C 0x9DD4 # +0x6C3D 0x9DD5 # +0x6C3E 0x9DD6 # +0x6C3F 0x9DD7 # +0x6C40 0x9DDA # +0x6C41 0x9DDE # +0x6C42 0x9DDF # +0x6C43 0x9DE0 # +0x6C44 0x9DE5 # +0x6C45 0x9DE7 # +0x6C46 0x9DE9 # +0x6C47 0x9DEB # +0x6C48 0x9DEE # +0x6C49 0x9DF0 # +0x6C4A 0x9DF3 # +0x6C4B 0x9DF4 # +0x6C4C 0x9DFE # +0x6C4D 0x9E0A # +0x6C4E 0x9E02 # +0x6C4F 0x9E07 # +0x6C50 0x9E0E # +0x6C51 0x9E10 # +0x6C52 0x9E11 # +0x6C53 0x9E12 # +0x6C54 0x9E15 # +0x6C55 0x9E16 # +0x6C56 0x9E19 # +0x6C57 0x9E1C # +0x6C58 0x9E1D # +0x6C59 0x9E7A # +0x6C5A 0x9E7B # +0x6C5B 0x9E7C # +0x6C5C 0x9E80 # +0x6C5D 0x9E82 # +0x6C5E 0x9E83 # +0x6C5F 0x9E84 # +0x6C60 0x9E85 # +0x6C61 0x9E87 # +0x6C62 0x9E8E # +0x6C63 0x9E8F # +0x6C64 0x9E96 # +0x6C65 0x9E98 # +0x6C66 0x9E9B # +0x6C67 0x9E9E # +0x6C68 0x9EA4 # +0x6C69 0x9EA8 # +0x6C6A 0x9EAC # +0x6C6B 0x9EAE # +0x6C6C 0x9EAF # +0x6C6D 0x9EB0 # +0x6C6E 0x9EB3 # +0x6C6F 0x9EB4 # +0x6C70 0x9EB5 # +0x6C71 0x9EC6 # +0x6C72 0x9EC8 # +0x6C73 0x9ECB # +0x6C74 0x9ED5 # +0x6C75 0x9EDF # +0x6C76 0x9EE4 # +0x6C77 0x9EE7 # +0x6C78 0x9EEC # +0x6C79 0x9EED # +0x6C7A 0x9EEE # +0x6C7B 0x9EF0 # +0x6C7C 0x9EF1 # +0x6C7D 0x9EF2 # +0x6C7E 0x9EF5 # +0x6D21 0x9EF8 # +0x6D22 0x9EFF # +0x6D23 0x9F02 # +0x6D24 0x9F03 # +0x6D25 0x9F09 # +0x6D26 0x9F0F # +0x6D27 0x9F10 # +0x6D28 0x9F11 # +0x6D29 0x9F12 # +0x6D2A 0x9F14 # +0x6D2B 0x9F16 # +0x6D2C 0x9F17 # +0x6D2D 0x9F19 # +0x6D2E 0x9F1A # +0x6D2F 0x9F1B # +0x6D30 0x9F1F # +0x6D31 0x9F22 # +0x6D32 0x9F26 # +0x6D33 0x9F2A # +0x6D34 0x9F2B # +0x6D35 0x9F2F # +0x6D36 0x9F31 # +0x6D37 0x9F32 # +0x6D38 0x9F34 # +0x6D39 0x9F37 # +0x6D3A 0x9F39 # +0x6D3B 0x9F3A # +0x6D3C 0x9F3C # +0x6D3D 0x9F3D # +0x6D3E 0x9F3F # +0x6D3F 0x9F41 # +0x6D40 0x9F43 # +0x6D41 0x9F44 # +0x6D42 0x9F45 # +0x6D43 0x9F46 # +0x6D44 0x9F47 # +0x6D45 0x9F53 # +0x6D46 0x9F55 # +0x6D47 0x9F56 # +0x6D48 0x9F57 # +0x6D49 0x9F58 # +0x6D4A 0x9F5A # +0x6D4B 0x9F5D # +0x6D4C 0x9F5E # +0x6D4D 0x9F68 # +0x6D4E 0x9F69 # +0x6D4F 0x9F6D # +0x6D50 0x9F6E # +0x6D51 0x9F6F # +0x6D52 0x9F70 # +0x6D53 0x9F71 # +0x6D54 0x9F73 # +0x6D55 0x9F75 # +0x6D56 0x9F7A # +0x6D57 0x9F7D # +0x6D58 0x9F8F # +0x6D59 0x9F90 # +0x6D5A 0x9F91 # +0x6D5B 0x9F92 # +0x6D5C 0x9F94 # +0x6D5D 0x9F96 # +0x6D5E 0x9F97 # +0x6D5F 0x9F9E # +0x6D60 0x9FA1 # +0x6D61 0x9FA2 # +0x6D62 0x9FA3 # +0x6D63 0x9FA5 # diff --git a/ext/mbstring/tests/iso2022jp_encoding.phpt b/ext/mbstring/tests/iso2022jp_encoding.phpt new file mode 100644 index 0000000000000..8cbb17c413f74 --- /dev/null +++ b/ext/mbstring/tests/iso2022jp_encoding.phpt @@ -0,0 +1,170 @@ +--TEST-- +Test of ASCII and JIS X 0201/0208/0212 support in ISO-2022-JP and JIS7/8 encodings +--SKIPIF-- + +--FILE-- + UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/JISX0212.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) + $jisx0212Chars[pack('n', $bytes)] = pack('n', $codepoint); +} + +/* Read in table of all characters in JISX-0208 charset */ +$jisx0208Chars = array(); /* JISX0208 -> UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/JISX0208.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x\t0x%x", $shiftJIS, $jis0208Code, $unicodeCP) == 3) { + $jisx0208Chars[pack('n', $jis0208Code)] = pack('n', $unicodeCP); + } +} + +/* Read in table of all characters in JISX-0201 charset */ +$jisx0201Chars = array(); /* JISX0201 -> UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/JISX0201.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $byte, $codepoint) == 2) + $jisx0201Chars[chr($byte)] = pack('n', $codepoint); +} + +/* The JIS X 0208 character set does not have a single, straightforward + * mapping to the Unicode character set + * mbstring converts one character differently from the mappings in + * ../docs/JISX0208.txt, which comes from the Unicode Consortium */ + +/* 0x2140 is a backslash; this can be mapped to 0x005C for an ordinary + * backslash, or 0xFF3C for a _fullwidth_ one */ +$jisx0208Chars["\x21\x40"] = "\xFF\x3C"; + +function testValid($from, $to, $encoding, $bothWays = true) { + identifyValidString($from, $encoding); + convertValidString($from, $to, $encoding, 'UTF-16BE', false); + + if ($bothWays) { + /* An 0xF at the beginning of a JIS7 string is redundant; it switches + * to ASCII mode, but ASCII mode is default */ + if ($from[0] == "\x0F") + $from = substr($from, 1, strlen($from) - 1); + /* ESC ( B at the beginning is redundant, since ASCII mode is the default */ + if (substr($from, 0, 3) == "\x1B(B") + $from = substr($from, 3, strlen($from) - 3); + /* If the string switches to a different charset, it should switch back to + * ASCII at the end */ + if (strpos($from, "\x1B\$B") !== false || strpos($from, "\x1B(J") !== false) + $from .= "\x1B(B"; + + convertValidString($to, $from, 'UTF-16BE', $encoding, false); + } +} + +function testInvalid($from, $to, $encoding) { + testInvalidString($from, $to, $encoding, 'UTF-16BE'); +} + +for ($i = 0; $i < 0x80; $i++) { + if ($i == 0xE || $i == 0xF || $i == 0x1B) + continue; + testValid(chr($i), "\x00" . chr($i), 'JIS'); + testValid("\x0F" . chr($i), "\x00" . chr($i), 'JIS'); /* 0xF is 'Shift Out' code */ + testValid("\x1B(B" . chr($i), "\x00" . chr($i), 'JIS'); + testValid(chr($i), "\x00" . chr($i), 'ISO-2022-JP'); + testValid("\x1B(B" . chr($i), "\x00" . chr($i), 'ISO-2022-JP'); +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) // We convert single bytes from 0xA1-0xDF as JIS X 0201 kana + continue; + testInvalid(chr($i), "\x00%", 'JIS'); + testInvalid("\x0F" . chr($i), "\x00%", 'JIS'); + testInvalid("\x1B(B" . chr($i), "\x00%", 'JIS'); + testInvalid(chr($i), "\x00%", 'ISO-2022-JP'); + testInvalid("\x1B(B" . chr($i), "\x00%", 'ISO-2022-JP'); +} + +echo "ASCII support OK\n"; + +/* All valid JIS X 0201 characters + * Those with a 1 in the high bit are JIS X 0201 kana; JIS7 encodes those + * with a 0 in the high bit and treats them as a separate charset + * (We don't test ISO-2022-JP here, as it does not support the JIS X 0201 charset) */ +foreach ($jisx0201Chars as $jisx0201 => $utf16BE) { + if (ord($jisx0201) >= 128) { + $kana = chr(ord($jisx0201) - 128); + testValid("\x1B(I" . $kana, $utf16BE, 'JIS', false); + testValid("\x0E" . $kana, $utf16BE, 'JIS', false); /* 0xE is 'Shift In' code */ + testValid($jisx0201, $utf16BE, 'JIS', false); + } else { + testValid("\x1B(J" . $jisx0201, $utf16BE, 'JIS', $utf16BE > "\x00\x80"); + } +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) + continue; + testInvalid("\x1B(I" . chr($i), "\x00%", 'JIS'); + testInvalid("\x1B(J" . chr($i), "\x00%", 'JIS'); +} + +echo "JIS X 0201 support OK\n"; + +/* All valid JISX0208 characters */ +foreach ($jisx0208Chars as $jisx0208 => $utf16BE) { + testValid("\x1B\$B" . $jisx0208, $utf16BE, 'JIS'); + testValid("\x1B\$B" . $jisx0208, $utf16BE, 'ISO-2022-JP'); +} + +/* All invalid 2-byte JISX0208 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($jisx0208Chars[$testString])) { + testInvalid("\x1B\$B" . $testString, "\x00%", 'JIS'); + testInvalid("\x1B\$B" . $testString, "\x00%", 'ISO-2022-JP'); + } + } +} + +echo "JIS X 0208 support OK\n"; + +/* JIS7 supports escape to switch to JIS X 0212 charset, but ISO-2022-JP does not */ + +/* All valid JISX0212 characters */ +foreach ($jisx0212Chars as $jisx0212 => $utf16BE) { + testValid("\x1B\$(D" . $jisx0212, $utf16BE, 'JIS', false); +} + +/* All invalid 2-byte JISX0212 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($jisx0212Chars[$testString])) { + testInvalid("\x1B\$(D" . $testString, "\x00%", 'JIS'); + } + } +} + +echo "JIS X 0212 support OK\n"; + +?> +--EXPECT-- +ASCII support OK +JIS X 0201 support OK +JIS X 0208 support OK +JIS X 0212 support OK From 92dd38f76dcd0bfcc4c42b85f242be659c56374b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 24 Sep 2020 10:40:49 +0200 Subject: [PATCH 036/123] Update 'East Asian Width' table to comply with Unicode 13.0 Also do rigorous testing of `mb_strwidth`. Something must be said about the deleted test case. Back in 2004, someone noticed that `mb_strwidth` didn't comply with Unicode 4.0. A test case was added to expose the problem. Well, time keeps moving on, and with the changing years, new Unicodes are born and old Unicodes die. Some characters which were counted as double-width in Unicode 4.0 are no longer such in Unicode 13.0, which renders the test case obsolete. --- ext/mbstring/docs/EastAsianWidth.txt | 2522 +++++++++++++++++++++++++ ext/mbstring/libmbfl/mbfl/eaw_table.h | 100 +- ext/mbstring/tests/bug28220.phpt | 25 - ext/mbstring/tests/mb_strwidth.phpt | 74 + 4 files changed, 2664 insertions(+), 57 deletions(-) create mode 100644 ext/mbstring/docs/EastAsianWidth.txt delete mode 100644 ext/mbstring/tests/bug28220.phpt diff --git a/ext/mbstring/docs/EastAsianWidth.txt b/ext/mbstring/docs/EastAsianWidth.txt new file mode 100644 index 0000000000000..b43aec92738c5 --- /dev/null +++ b/ext/mbstring/docs/EastAsianWidth.txt @@ -0,0 +1,2522 @@ +# EastAsianWidth-13.0.0.txt +# Date: 2029-01-21, 18:14:00 GMT [KW, LI] +# © 2020 Unicode®, Inc. +# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# Unicode Character Database +# For documentation, see http://www.unicode.org/reports/tr44/ +# +# East_Asian_Width Property +# +# This file is a normative contributory data file in the +# Unicode Character Database. +# +# The format is two fields separated by a semicolon. +# Field 0: Unicode code point value or range of code point values +# Field 1: East_Asian_Width property, consisting of one of the following values: +# "A", "F", "H", "N", "Na", "W" +# - All code points, assigned or unassigned, that are not listed +# explicitly are given the value "N". +# - The unassigned code points in the following blocks default to "W": +# CJK Unified Ideographs Extension A: U+3400..U+4DBF +# CJK Unified Ideographs: U+4E00..U+9FFF +# CJK Compatibility Ideographs: U+F900..U+FAFF +# - All undesignated code points in Planes 2 and 3, whether inside or +# outside of allocated blocks, default to "W": +# Plane 2: U+20000..U+2FFFD +# Plane 3: U+30000..U+3FFFD +# +# Character ranges are specified as for other property files in the +# Unicode Character Database. +# +# For legacy reasons, there are no spaces before or after the semicolon +# which separates the two fields. The comments following the number sign +# "#" list the General_Category property value or the L& alias of the +# derived value LC, the Unicode character name or names, and, in lines +# with ranges of code points, the code point count in square brackets. +# +# For more information, see UAX #11: East Asian Width, +# at http://www.unicode.org/reports/tr11/ +# +# @missing: 0000..10FFFF; N +0000..001F;N # Cc [32] .. +0020;Na # Zs SPACE +0021..0023;Na # Po [3] EXCLAMATION MARK..NUMBER SIGN +0024;Na # Sc DOLLAR SIGN +0025..0027;Na # Po [3] PERCENT SIGN..APOSTROPHE +0028;Na # Ps LEFT PARENTHESIS +0029;Na # Pe RIGHT PARENTHESIS +002A;Na # Po ASTERISK +002B;Na # Sm PLUS SIGN +002C;Na # Po COMMA +002D;Na # Pd HYPHEN-MINUS +002E..002F;Na # Po [2] FULL STOP..SOLIDUS +0030..0039;Na # Nd [10] DIGIT ZERO..DIGIT NINE +003A..003B;Na # Po [2] COLON..SEMICOLON +003C..003E;Na # Sm [3] LESS-THAN SIGN..GREATER-THAN SIGN +003F..0040;Na # Po [2] QUESTION MARK..COMMERCIAL AT +0041..005A;Na # Lu [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z +005B;Na # Ps LEFT SQUARE BRACKET +005C;Na # Po REVERSE SOLIDUS +005D;Na # Pe RIGHT SQUARE BRACKET +005E;Na # Sk CIRCUMFLEX ACCENT +005F;Na # Pc LOW LINE +0060;Na # Sk GRAVE ACCENT +0061..007A;Na # Ll [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z +007B;Na # Ps LEFT CURLY BRACKET +007C;Na # Sm VERTICAL LINE +007D;Na # Pe RIGHT CURLY BRACKET +007E;Na # Sm TILDE +007F;N # Cc +0080..009F;N # Cc [32] .. +00A0;N # Zs NO-BREAK SPACE +00A1;A # Po INVERTED EXCLAMATION MARK +00A2..00A3;Na # Sc [2] CENT SIGN..POUND SIGN +00A4;A # Sc CURRENCY SIGN +00A5;Na # Sc YEN SIGN +00A6;Na # So BROKEN BAR +00A7;A # Po SECTION SIGN +00A8;A # Sk DIAERESIS +00A9;N # So COPYRIGHT SIGN +00AA;A # Lo FEMININE ORDINAL INDICATOR +00AB;N # Pi LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +00AC;Na # Sm NOT SIGN +00AD;A # Cf SOFT HYPHEN +00AE;A # So REGISTERED SIGN +00AF;Na # Sk MACRON +00B0;A # So DEGREE SIGN +00B1;A # Sm PLUS-MINUS SIGN +00B2..00B3;A # No [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE +00B4;A # Sk ACUTE ACCENT +00B5;N # Ll MICRO SIGN +00B6..00B7;A # Po [2] PILCROW SIGN..MIDDLE DOT +00B8;A # Sk CEDILLA +00B9;A # No SUPERSCRIPT ONE +00BA;A # Lo MASCULINE ORDINAL INDICATOR +00BB;N # Pf RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +00BC..00BE;A # No [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS +00BF;A # Po INVERTED QUESTION MARK +00C0..00C5;N # Lu [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE +00C6;A # Lu LATIN CAPITAL LETTER AE +00C7..00CF;N # Lu [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS +00D0;A # Lu LATIN CAPITAL LETTER ETH +00D1..00D6;N # Lu [6] LATIN CAPITAL LETTER N WITH TILDE..LATIN CAPITAL LETTER O WITH DIAERESIS +00D7;A # Sm MULTIPLICATION SIGN +00D8;A # Lu LATIN CAPITAL LETTER O WITH STROKE +00D9..00DD;N # Lu [5] LATIN CAPITAL LETTER U WITH GRAVE..LATIN CAPITAL LETTER Y WITH ACUTE +00DE..00E1;A # L& [4] LATIN CAPITAL LETTER THORN..LATIN SMALL LETTER A WITH ACUTE +00E2..00E5;N # Ll [4] LATIN SMALL LETTER A WITH CIRCUMFLEX..LATIN SMALL LETTER A WITH RING ABOVE +00E6;A # Ll LATIN SMALL LETTER AE +00E7;N # Ll LATIN SMALL LETTER C WITH CEDILLA +00E8..00EA;A # Ll [3] LATIN SMALL LETTER E WITH GRAVE..LATIN SMALL LETTER E WITH CIRCUMFLEX +00EB;N # Ll LATIN SMALL LETTER E WITH DIAERESIS +00EC..00ED;A # Ll [2] LATIN SMALL LETTER I WITH GRAVE..LATIN SMALL LETTER I WITH ACUTE +00EE..00EF;N # Ll [2] LATIN SMALL LETTER I WITH CIRCUMFLEX..LATIN SMALL LETTER I WITH DIAERESIS +00F0;A # Ll LATIN SMALL LETTER ETH +00F1;N # Ll LATIN SMALL LETTER N WITH TILDE +00F2..00F3;A # Ll [2] LATIN SMALL LETTER O WITH GRAVE..LATIN SMALL LETTER O WITH ACUTE +00F4..00F6;N # Ll [3] LATIN SMALL LETTER O WITH CIRCUMFLEX..LATIN SMALL LETTER O WITH DIAERESIS +00F7;A # Sm DIVISION SIGN +00F8..00FA;A # Ll [3] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER U WITH ACUTE +00FB;N # Ll LATIN SMALL LETTER U WITH CIRCUMFLEX +00FC;A # Ll LATIN SMALL LETTER U WITH DIAERESIS +00FD;N # Ll LATIN SMALL LETTER Y WITH ACUTE +00FE;A # Ll LATIN SMALL LETTER THORN +00FF;N # Ll LATIN SMALL LETTER Y WITH DIAERESIS +0100;N # Lu LATIN CAPITAL LETTER A WITH MACRON +0101;A # Ll LATIN SMALL LETTER A WITH MACRON +0102..0110;N # L& [15] LATIN CAPITAL LETTER A WITH BREVE..LATIN CAPITAL LETTER D WITH STROKE +0111;A # Ll LATIN SMALL LETTER D WITH STROKE +0112;N # Lu LATIN CAPITAL LETTER E WITH MACRON +0113;A # Ll LATIN SMALL LETTER E WITH MACRON +0114..011A;N # L& [7] LATIN CAPITAL LETTER E WITH BREVE..LATIN CAPITAL LETTER E WITH CARON +011B;A # Ll LATIN SMALL LETTER E WITH CARON +011C..0125;N # L& [10] LATIN CAPITAL LETTER G WITH CIRCUMFLEX..LATIN SMALL LETTER H WITH CIRCUMFLEX +0126..0127;A # L& [2] LATIN CAPITAL LETTER H WITH STROKE..LATIN SMALL LETTER H WITH STROKE +0128..012A;N # L& [3] LATIN CAPITAL LETTER I WITH TILDE..LATIN CAPITAL LETTER I WITH MACRON +012B;A # Ll LATIN SMALL LETTER I WITH MACRON +012C..0130;N # L& [5] LATIN CAPITAL LETTER I WITH BREVE..LATIN CAPITAL LETTER I WITH DOT ABOVE +0131..0133;A # L& [3] LATIN SMALL LETTER DOTLESS I..LATIN SMALL LIGATURE IJ +0134..0137;N # L& [4] LATIN CAPITAL LETTER J WITH CIRCUMFLEX..LATIN SMALL LETTER K WITH CEDILLA +0138;A # Ll LATIN SMALL LETTER KRA +0139..013E;N # L& [6] LATIN CAPITAL LETTER L WITH ACUTE..LATIN SMALL LETTER L WITH CARON +013F..0142;A # L& [4] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH STROKE +0143;N # Lu LATIN CAPITAL LETTER N WITH ACUTE +0144;A # Ll LATIN SMALL LETTER N WITH ACUTE +0145..0147;N # L& [3] LATIN CAPITAL LETTER N WITH CEDILLA..LATIN CAPITAL LETTER N WITH CARON +0148..014B;A # L& [4] LATIN SMALL LETTER N WITH CARON..LATIN SMALL LETTER ENG +014C;N # Lu LATIN CAPITAL LETTER O WITH MACRON +014D;A # Ll LATIN SMALL LETTER O WITH MACRON +014E..0151;N # L& [4] LATIN CAPITAL LETTER O WITH BREVE..LATIN SMALL LETTER O WITH DOUBLE ACUTE +0152..0153;A # L& [2] LATIN CAPITAL LIGATURE OE..LATIN SMALL LIGATURE OE +0154..0165;N # L& [18] LATIN CAPITAL LETTER R WITH ACUTE..LATIN SMALL LETTER T WITH CARON +0166..0167;A # L& [2] LATIN CAPITAL LETTER T WITH STROKE..LATIN SMALL LETTER T WITH STROKE +0168..016A;N # L& [3] LATIN CAPITAL LETTER U WITH TILDE..LATIN CAPITAL LETTER U WITH MACRON +016B;A # Ll LATIN SMALL LETTER U WITH MACRON +016C..017F;N # L& [20] LATIN CAPITAL LETTER U WITH BREVE..LATIN SMALL LETTER LONG S +0180..01BA;N # L& [59] LATIN SMALL LETTER B WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL +01BB;N # Lo LATIN LETTER TWO WITH STROKE +01BC..01BF;N # L& [4] LATIN CAPITAL LETTER TONE FIVE..LATIN LETTER WYNN +01C0..01C3;N # Lo [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK +01C4..01CD;N # L& [10] LATIN CAPITAL LETTER DZ WITH CARON..LATIN CAPITAL LETTER A WITH CARON +01CE;A # Ll LATIN SMALL LETTER A WITH CARON +01CF;N # Lu LATIN CAPITAL LETTER I WITH CARON +01D0;A # Ll LATIN SMALL LETTER I WITH CARON +01D1;N # Lu LATIN CAPITAL LETTER O WITH CARON +01D2;A # Ll LATIN SMALL LETTER O WITH CARON +01D3;N # Lu LATIN CAPITAL LETTER U WITH CARON +01D4;A # Ll LATIN SMALL LETTER U WITH CARON +01D5;N # Lu LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON +01D6;A # Ll LATIN SMALL LETTER U WITH DIAERESIS AND MACRON +01D7;N # Lu LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE +01D8;A # Ll LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE +01D9;N # Lu LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON +01DA;A # Ll LATIN SMALL LETTER U WITH DIAERESIS AND CARON +01DB;N # Lu LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE +01DC;A # Ll LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE +01DD..024F;N # L& [115] LATIN SMALL LETTER TURNED E..LATIN SMALL LETTER Y WITH STROKE +0250;N # Ll LATIN SMALL LETTER TURNED A +0251;A # Ll LATIN SMALL LETTER ALPHA +0252..0260;N # Ll [15] LATIN SMALL LETTER TURNED ALPHA..LATIN SMALL LETTER G WITH HOOK +0261;A # Ll LATIN SMALL LETTER SCRIPT G +0262..0293;N # Ll [50] LATIN LETTER SMALL CAPITAL G..LATIN SMALL LETTER EZH WITH CURL +0294;N # Lo LATIN LETTER GLOTTAL STOP +0295..02AF;N # Ll [27] LATIN LETTER PHARYNGEAL VOICED FRICATIVE..LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL +02B0..02C1;N # Lm [18] MODIFIER LETTER SMALL H..MODIFIER LETTER REVERSED GLOTTAL STOP +02C2..02C3;N # Sk [2] MODIFIER LETTER LEFT ARROWHEAD..MODIFIER LETTER RIGHT ARROWHEAD +02C4;A # Sk MODIFIER LETTER UP ARROWHEAD +02C5;N # Sk MODIFIER LETTER DOWN ARROWHEAD +02C6;N # Lm MODIFIER LETTER CIRCUMFLEX ACCENT +02C7;A # Lm CARON +02C8;N # Lm MODIFIER LETTER VERTICAL LINE +02C9..02CB;A # Lm [3] MODIFIER LETTER MACRON..MODIFIER LETTER GRAVE ACCENT +02CC;N # Lm MODIFIER LETTER LOW VERTICAL LINE +02CD;A # Lm MODIFIER LETTER LOW MACRON +02CE..02CF;N # Lm [2] MODIFIER LETTER LOW GRAVE ACCENT..MODIFIER LETTER LOW ACUTE ACCENT +02D0;A # Lm MODIFIER LETTER TRIANGULAR COLON +02D1;N # Lm MODIFIER LETTER HALF TRIANGULAR COLON +02D2..02D7;N # Sk [6] MODIFIER LETTER CENTRED RIGHT HALF RING..MODIFIER LETTER MINUS SIGN +02D8..02DB;A # Sk [4] BREVE..OGONEK +02DC;N # Sk SMALL TILDE +02DD;A # Sk DOUBLE ACUTE ACCENT +02DE;N # Sk MODIFIER LETTER RHOTIC HOOK +02DF;A # Sk MODIFIER LETTER CROSS ACCENT +02E0..02E4;N # Lm [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP +02E5..02EB;N # Sk [7] MODIFIER LETTER EXTRA-HIGH TONE BAR..MODIFIER LETTER YANG DEPARTING TONE MARK +02EC;N # Lm MODIFIER LETTER VOICING +02ED;N # Sk MODIFIER LETTER UNASPIRATED +02EE;N # Lm MODIFIER LETTER DOUBLE APOSTROPHE +02EF..02FF;N # Sk [17] MODIFIER LETTER LOW DOWN ARROWHEAD..MODIFIER LETTER LOW LEFT ARROW +0300..036F;A # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X +0370..0373;N # L& [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI +0374;N # Lm GREEK NUMERAL SIGN +0375;N # Sk GREEK LOWER NUMERAL SIGN +0376..0377;N # L& [2] GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA..GREEK SMALL LETTER PAMPHYLIAN DIGAMMA +037A;N # Lm GREEK YPOGEGRAMMENI +037B..037D;N # Ll [3] GREEK SMALL REVERSED LUNATE SIGMA SYMBOL..GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL +037E;N # Po GREEK QUESTION MARK +037F;N # Lu GREEK CAPITAL LETTER YOT +0384..0385;N # Sk [2] GREEK TONOS..GREEK DIALYTIKA TONOS +0386;N # Lu GREEK CAPITAL LETTER ALPHA WITH TONOS +0387;N # Po GREEK ANO TELEIA +0388..038A;N # Lu [3] GREEK CAPITAL LETTER EPSILON WITH TONOS..GREEK CAPITAL LETTER IOTA WITH TONOS +038C;N # Lu GREEK CAPITAL LETTER OMICRON WITH TONOS +038E..0390;N # L& [3] GREEK CAPITAL LETTER UPSILON WITH TONOS..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS +0391..03A1;A # Lu [17] GREEK CAPITAL LETTER ALPHA..GREEK CAPITAL LETTER RHO +03A3..03A9;A # Lu [7] GREEK CAPITAL LETTER SIGMA..GREEK CAPITAL LETTER OMEGA +03AA..03B0;N # L& [7] GREEK CAPITAL LETTER IOTA WITH DIALYTIKA..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS +03B1..03C1;A # Ll [17] GREEK SMALL LETTER ALPHA..GREEK SMALL LETTER RHO +03C2;N # Ll GREEK SMALL LETTER FINAL SIGMA +03C3..03C9;A # Ll [7] GREEK SMALL LETTER SIGMA..GREEK SMALL LETTER OMEGA +03CA..03F5;N # L& [44] GREEK SMALL LETTER IOTA WITH DIALYTIKA..GREEK LUNATE EPSILON SYMBOL +03F6;N # Sm GREEK REVERSED LUNATE EPSILON SYMBOL +03F7..03FF;N # L& [9] GREEK CAPITAL LETTER SHO..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL +0400;N # Lu CYRILLIC CAPITAL LETTER IE WITH GRAVE +0401;A # Lu CYRILLIC CAPITAL LETTER IO +0402..040F;N # Lu [14] CYRILLIC CAPITAL LETTER DJE..CYRILLIC CAPITAL LETTER DZHE +0410..044F;A # L& [64] CYRILLIC CAPITAL LETTER A..CYRILLIC SMALL LETTER YA +0450;N # Ll CYRILLIC SMALL LETTER IE WITH GRAVE +0451;A # Ll CYRILLIC SMALL LETTER IO +0452..0481;N # L& [48] CYRILLIC SMALL LETTER DJE..CYRILLIC SMALL LETTER KOPPA +0482;N # So CYRILLIC THOUSANDS SIGN +0483..0487;N # Mn [5] COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRYTIE +0488..0489;N # Me [2] COMBINING CYRILLIC HUNDRED THOUSANDS SIGN..COMBINING CYRILLIC MILLIONS SIGN +048A..04FF;N # L& [118] CYRILLIC CAPITAL LETTER SHORT I WITH TAIL..CYRILLIC SMALL LETTER HA WITH STROKE +0500..052F;N # L& [48] CYRILLIC CAPITAL LETTER KOMI DE..CYRILLIC SMALL LETTER EL WITH DESCENDER +0531..0556;N # Lu [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH +0559;N # Lm ARMENIAN MODIFIER LETTER LEFT HALF RING +055A..055F;N # Po [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK +0560..0588;N # Ll [41] ARMENIAN SMALL LETTER TURNED AYB..ARMENIAN SMALL LETTER YI WITH STROKE +0589;N # Po ARMENIAN FULL STOP +058A;N # Pd ARMENIAN HYPHEN +058D..058E;N # So [2] RIGHT-FACING ARMENIAN ETERNITY SIGN..LEFT-FACING ARMENIAN ETERNITY SIGN +058F;N # Sc ARMENIAN DRAM SIGN +0591..05BD;N # Mn [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG +05BE;N # Pd HEBREW PUNCTUATION MAQAF +05BF;N # Mn HEBREW POINT RAFE +05C0;N # Po HEBREW PUNCTUATION PASEQ +05C1..05C2;N # Mn [2] HEBREW POINT SHIN DOT..HEBREW POINT SIN DOT +05C3;N # Po HEBREW PUNCTUATION SOF PASUQ +05C4..05C5;N # Mn [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT +05C6;N # Po HEBREW PUNCTUATION NUN HAFUKHA +05C7;N # Mn HEBREW POINT QAMATS QATAN +05D0..05EA;N # Lo [27] HEBREW LETTER ALEF..HEBREW LETTER TAV +05EF..05F2;N # Lo [4] HEBREW YOD TRIANGLE..HEBREW LIGATURE YIDDISH DOUBLE YOD +05F3..05F4;N # Po [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM +0600..0605;N # Cf [6] ARABIC NUMBER SIGN..ARABIC NUMBER MARK ABOVE +0606..0608;N # Sm [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY +0609..060A;N # Po [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN +060B;N # Sc AFGHANI SIGN +060C..060D;N # Po [2] ARABIC COMMA..ARABIC DATE SEPARATOR +060E..060F;N # So [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA +0610..061A;N # Mn [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA +061B;N # Po ARABIC SEMICOLON +061C;N # Cf ARABIC LETTER MARK +061E..061F;N # Po [2] ARABIC TRIPLE DOT PUNCTUATION MARK..ARABIC QUESTION MARK +0620..063F;N # Lo [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE +0640;N # Lm ARABIC TATWEEL +0641..064A;N # Lo [10] ARABIC LETTER FEH..ARABIC LETTER YEH +064B..065F;N # Mn [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW +0660..0669;N # Nd [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE +066A..066D;N # Po [4] ARABIC PERCENT SIGN..ARABIC FIVE POINTED STAR +066E..066F;N # Lo [2] ARABIC LETTER DOTLESS BEH..ARABIC LETTER DOTLESS QAF +0670;N # Mn ARABIC LETTER SUPERSCRIPT ALEF +0671..06D3;N # Lo [99] ARABIC LETTER ALEF WASLA..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE +06D4;N # Po ARABIC FULL STOP +06D5;N # Lo ARABIC LETTER AE +06D6..06DC;N # Mn [7] ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA..ARABIC SMALL HIGH SEEN +06DD;N # Cf ARABIC END OF AYAH +06DE;N # So ARABIC START OF RUB EL HIZB +06DF..06E4;N # Mn [6] ARABIC SMALL HIGH ROUNDED ZERO..ARABIC SMALL HIGH MADDA +06E5..06E6;N # Lm [2] ARABIC SMALL WAW..ARABIC SMALL YEH +06E7..06E8;N # Mn [2] ARABIC SMALL HIGH YEH..ARABIC SMALL HIGH NOON +06E9;N # So ARABIC PLACE OF SAJDAH +06EA..06ED;N # Mn [4] ARABIC EMPTY CENTRE LOW STOP..ARABIC SMALL LOW MEEM +06EE..06EF;N # Lo [2] ARABIC LETTER DAL WITH INVERTED V..ARABIC LETTER REH WITH INVERTED V +06F0..06F9;N # Nd [10] EXTENDED ARABIC-INDIC DIGIT ZERO..EXTENDED ARABIC-INDIC DIGIT NINE +06FA..06FC;N # Lo [3] ARABIC LETTER SHEEN WITH DOT BELOW..ARABIC LETTER GHAIN WITH DOT BELOW +06FD..06FE;N # So [2] ARABIC SIGN SINDHI AMPERSAND..ARABIC SIGN SINDHI POSTPOSITION MEN +06FF;N # Lo ARABIC LETTER HEH WITH INVERTED V +0700..070D;N # Po [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS +070F;N # Cf SYRIAC ABBREVIATION MARK +0710;N # Lo SYRIAC LETTER ALAPH +0711;N # Mn SYRIAC LETTER SUPERSCRIPT ALAPH +0712..072F;N # Lo [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH +0730..074A;N # Mn [27] SYRIAC PTHAHA ABOVE..SYRIAC BARREKH +074D..074F;N # Lo [3] SYRIAC LETTER SOGDIAN ZHAIN..SYRIAC LETTER SOGDIAN FE +0750..077F;N # Lo [48] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER KAF WITH TWO DOTS ABOVE +0780..07A5;N # Lo [38] THAANA LETTER HAA..THAANA LETTER WAAVU +07A6..07B0;N # Mn [11] THAANA ABAFILI..THAANA SUKUN +07B1;N # Lo THAANA LETTER NAA +07C0..07C9;N # Nd [10] NKO DIGIT ZERO..NKO DIGIT NINE +07CA..07EA;N # Lo [33] NKO LETTER A..NKO LETTER JONA RA +07EB..07F3;N # Mn [9] NKO COMBINING SHORT HIGH TONE..NKO COMBINING DOUBLE DOT ABOVE +07F4..07F5;N # Lm [2] NKO HIGH TONE APOSTROPHE..NKO LOW TONE APOSTROPHE +07F6;N # So NKO SYMBOL OO DENNEN +07F7..07F9;N # Po [3] NKO SYMBOL GBAKURUNEN..NKO EXCLAMATION MARK +07FA;N # Lm NKO LAJANYALAN +07FD;N # Mn NKO DANTAYALAN +07FE..07FF;N # Sc [2] NKO DOROME SIGN..NKO TAMAN SIGN +0800..0815;N # Lo [22] SAMARITAN LETTER ALAF..SAMARITAN LETTER TAAF +0816..0819;N # Mn [4] SAMARITAN MARK IN..SAMARITAN MARK DAGESH +081A;N # Lm SAMARITAN MODIFIER LETTER EPENTHETIC YUT +081B..0823;N # Mn [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A +0824;N # Lm SAMARITAN MODIFIER LETTER SHORT A +0825..0827;N # Mn [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U +0828;N # Lm SAMARITAN MODIFIER LETTER I +0829..082D;N # Mn [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA +0830..083E;N # Po [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU +0840..0858;N # Lo [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN +0859..085B;N # Mn [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK +085E;N # Po MANDAIC PUNCTUATION +0860..086A;N # Lo [11] SYRIAC LETTER MALAYALAM NGA..SYRIAC LETTER MALAYALAM SSA +08A0..08B4;N # Lo [21] ARABIC LETTER BEH WITH SMALL V BELOW..ARABIC LETTER KAF WITH DOT BELOW +08B6..08C7;N # Lo [18] ARABIC LETTER BEH WITH SMALL MEEM ABOVE..ARABIC LETTER LAM WITH SMALL ARABIC LETTER TAH ABOVE +08D3..08E1;N # Mn [15] ARABIC SMALL LOW WAW..ARABIC SMALL HIGH SIGN SAFHA +08E2;N # Cf ARABIC DISPUTED END OF AYAH +08E3..08FF;N # Mn [29] ARABIC TURNED DAMMA BELOW..ARABIC MARK SIDEWAYS NOON GHUNNA +0900..0902;N # Mn [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA +0903;N # Mc DEVANAGARI SIGN VISARGA +0904..0939;N # Lo [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA +093A;N # Mn DEVANAGARI VOWEL SIGN OE +093B;N # Mc DEVANAGARI VOWEL SIGN OOE +093C;N # Mn DEVANAGARI SIGN NUKTA +093D;N # Lo DEVANAGARI SIGN AVAGRAHA +093E..0940;N # Mc [3] DEVANAGARI VOWEL SIGN AA..DEVANAGARI VOWEL SIGN II +0941..0948;N # Mn [8] DEVANAGARI VOWEL SIGN U..DEVANAGARI VOWEL SIGN AI +0949..094C;N # Mc [4] DEVANAGARI VOWEL SIGN CANDRA O..DEVANAGARI VOWEL SIGN AU +094D;N # Mn DEVANAGARI SIGN VIRAMA +094E..094F;N # Mc [2] DEVANAGARI VOWEL SIGN PRISHTHAMATRA E..DEVANAGARI VOWEL SIGN AW +0950;N # Lo DEVANAGARI OM +0951..0957;N # Mn [7] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI VOWEL SIGN UUE +0958..0961;N # Lo [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL +0962..0963;N # Mn [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL +0964..0965;N # Po [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA +0966..096F;N # Nd [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE +0970;N # Po DEVANAGARI ABBREVIATION SIGN +0971;N # Lm DEVANAGARI SIGN HIGH SPACING DOT +0972..097F;N # Lo [14] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER BBA +0980;N # Lo BENGALI ANJI +0981;N # Mn BENGALI SIGN CANDRABINDU +0982..0983;N # Mc [2] BENGALI SIGN ANUSVARA..BENGALI SIGN VISARGA +0985..098C;N # Lo [8] BENGALI LETTER A..BENGALI LETTER VOCALIC L +098F..0990;N # Lo [2] BENGALI LETTER E..BENGALI LETTER AI +0993..09A8;N # Lo [22] BENGALI LETTER O..BENGALI LETTER NA +09AA..09B0;N # Lo [7] BENGALI LETTER PA..BENGALI LETTER RA +09B2;N # Lo BENGALI LETTER LA +09B6..09B9;N # Lo [4] BENGALI LETTER SHA..BENGALI LETTER HA +09BC;N # Mn BENGALI SIGN NUKTA +09BD;N # Lo BENGALI SIGN AVAGRAHA +09BE..09C0;N # Mc [3] BENGALI VOWEL SIGN AA..BENGALI VOWEL SIGN II +09C1..09C4;N # Mn [4] BENGALI VOWEL SIGN U..BENGALI VOWEL SIGN VOCALIC RR +09C7..09C8;N # Mc [2] BENGALI VOWEL SIGN E..BENGALI VOWEL SIGN AI +09CB..09CC;N # Mc [2] BENGALI VOWEL SIGN O..BENGALI VOWEL SIGN AU +09CD;N # Mn BENGALI SIGN VIRAMA +09CE;N # Lo BENGALI LETTER KHANDA TA +09D7;N # Mc BENGALI AU LENGTH MARK +09DC..09DD;N # Lo [2] BENGALI LETTER RRA..BENGALI LETTER RHA +09DF..09E1;N # Lo [3] BENGALI LETTER YYA..BENGALI LETTER VOCALIC LL +09E2..09E3;N # Mn [2] BENGALI VOWEL SIGN VOCALIC L..BENGALI VOWEL SIGN VOCALIC LL +09E6..09EF;N # Nd [10] BENGALI DIGIT ZERO..BENGALI DIGIT NINE +09F0..09F1;N # Lo [2] BENGALI LETTER RA WITH MIDDLE DIAGONAL..BENGALI LETTER RA WITH LOWER DIAGONAL +09F2..09F3;N # Sc [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN +09F4..09F9;N # No [6] BENGALI CURRENCY NUMERATOR ONE..BENGALI CURRENCY DENOMINATOR SIXTEEN +09FA;N # So BENGALI ISSHAR +09FB;N # Sc BENGALI GANDA MARK +09FC;N # Lo BENGALI LETTER VEDIC ANUSVARA +09FD;N # Po BENGALI ABBREVIATION SIGN +09FE;N # Mn BENGALI SANDHI MARK +0A01..0A02;N # Mn [2] GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI +0A03;N # Mc GURMUKHI SIGN VISARGA +0A05..0A0A;N # Lo [6] GURMUKHI LETTER A..GURMUKHI LETTER UU +0A0F..0A10;N # Lo [2] GURMUKHI LETTER EE..GURMUKHI LETTER AI +0A13..0A28;N # Lo [22] GURMUKHI LETTER OO..GURMUKHI LETTER NA +0A2A..0A30;N # Lo [7] GURMUKHI LETTER PA..GURMUKHI LETTER RA +0A32..0A33;N # Lo [2] GURMUKHI LETTER LA..GURMUKHI LETTER LLA +0A35..0A36;N # Lo [2] GURMUKHI LETTER VA..GURMUKHI LETTER SHA +0A38..0A39;N # Lo [2] GURMUKHI LETTER SA..GURMUKHI LETTER HA +0A3C;N # Mn GURMUKHI SIGN NUKTA +0A3E..0A40;N # Mc [3] GURMUKHI VOWEL SIGN AA..GURMUKHI VOWEL SIGN II +0A41..0A42;N # Mn [2] GURMUKHI VOWEL SIGN U..GURMUKHI VOWEL SIGN UU +0A47..0A48;N # Mn [2] GURMUKHI VOWEL SIGN EE..GURMUKHI VOWEL SIGN AI +0A4B..0A4D;N # Mn [3] GURMUKHI VOWEL SIGN OO..GURMUKHI SIGN VIRAMA +0A51;N # Mn GURMUKHI SIGN UDAAT +0A59..0A5C;N # Lo [4] GURMUKHI LETTER KHHA..GURMUKHI LETTER RRA +0A5E;N # Lo GURMUKHI LETTER FA +0A66..0A6F;N # Nd [10] GURMUKHI DIGIT ZERO..GURMUKHI DIGIT NINE +0A70..0A71;N # Mn [2] GURMUKHI TIPPI..GURMUKHI ADDAK +0A72..0A74;N # Lo [3] GURMUKHI IRI..GURMUKHI EK ONKAR +0A75;N # Mn GURMUKHI SIGN YAKASH +0A76;N # Po GURMUKHI ABBREVIATION SIGN +0A81..0A82;N # Mn [2] GUJARATI SIGN CANDRABINDU..GUJARATI SIGN ANUSVARA +0A83;N # Mc GUJARATI SIGN VISARGA +0A85..0A8D;N # Lo [9] GUJARATI LETTER A..GUJARATI VOWEL CANDRA E +0A8F..0A91;N # Lo [3] GUJARATI LETTER E..GUJARATI VOWEL CANDRA O +0A93..0AA8;N # Lo [22] GUJARATI LETTER O..GUJARATI LETTER NA +0AAA..0AB0;N # Lo [7] GUJARATI LETTER PA..GUJARATI LETTER RA +0AB2..0AB3;N # Lo [2] GUJARATI LETTER LA..GUJARATI LETTER LLA +0AB5..0AB9;N # Lo [5] GUJARATI LETTER VA..GUJARATI LETTER HA +0ABC;N # Mn GUJARATI SIGN NUKTA +0ABD;N # Lo GUJARATI SIGN AVAGRAHA +0ABE..0AC0;N # Mc [3] GUJARATI VOWEL SIGN AA..GUJARATI VOWEL SIGN II +0AC1..0AC5;N # Mn [5] GUJARATI VOWEL SIGN U..GUJARATI VOWEL SIGN CANDRA E +0AC7..0AC8;N # Mn [2] GUJARATI VOWEL SIGN E..GUJARATI VOWEL SIGN AI +0AC9;N # Mc GUJARATI VOWEL SIGN CANDRA O +0ACB..0ACC;N # Mc [2] GUJARATI VOWEL SIGN O..GUJARATI VOWEL SIGN AU +0ACD;N # Mn GUJARATI SIGN VIRAMA +0AD0;N # Lo GUJARATI OM +0AE0..0AE1;N # Lo [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL +0AE2..0AE3;N # Mn [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL +0AE6..0AEF;N # Nd [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE +0AF0;N # Po GUJARATI ABBREVIATION SIGN +0AF1;N # Sc GUJARATI RUPEE SIGN +0AF9;N # Lo GUJARATI LETTER ZHA +0AFA..0AFF;N # Mn [6] GUJARATI SIGN SUKUN..GUJARATI SIGN TWO-CIRCLE NUKTA ABOVE +0B01;N # Mn ORIYA SIGN CANDRABINDU +0B02..0B03;N # Mc [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA +0B05..0B0C;N # Lo [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L +0B0F..0B10;N # Lo [2] ORIYA LETTER E..ORIYA LETTER AI +0B13..0B28;N # Lo [22] ORIYA LETTER O..ORIYA LETTER NA +0B2A..0B30;N # Lo [7] ORIYA LETTER PA..ORIYA LETTER RA +0B32..0B33;N # Lo [2] ORIYA LETTER LA..ORIYA LETTER LLA +0B35..0B39;N # Lo [5] ORIYA LETTER VA..ORIYA LETTER HA +0B3C;N # Mn ORIYA SIGN NUKTA +0B3D;N # Lo ORIYA SIGN AVAGRAHA +0B3E;N # Mc ORIYA VOWEL SIGN AA +0B3F;N # Mn ORIYA VOWEL SIGN I +0B40;N # Mc ORIYA VOWEL SIGN II +0B41..0B44;N # Mn [4] ORIYA VOWEL SIGN U..ORIYA VOWEL SIGN VOCALIC RR +0B47..0B48;N # Mc [2] ORIYA VOWEL SIGN E..ORIYA VOWEL SIGN AI +0B4B..0B4C;N # Mc [2] ORIYA VOWEL SIGN O..ORIYA VOWEL SIGN AU +0B4D;N # Mn ORIYA SIGN VIRAMA +0B55..0B56;N # Mn [2] ORIYA SIGN OVERLINE..ORIYA AI LENGTH MARK +0B57;N # Mc ORIYA AU LENGTH MARK +0B5C..0B5D;N # Lo [2] ORIYA LETTER RRA..ORIYA LETTER RHA +0B5F..0B61;N # Lo [3] ORIYA LETTER YYA..ORIYA LETTER VOCALIC LL +0B62..0B63;N # Mn [2] ORIYA VOWEL SIGN VOCALIC L..ORIYA VOWEL SIGN VOCALIC LL +0B66..0B6F;N # Nd [10] ORIYA DIGIT ZERO..ORIYA DIGIT NINE +0B70;N # So ORIYA ISSHAR +0B71;N # Lo ORIYA LETTER WA +0B72..0B77;N # No [6] ORIYA FRACTION ONE QUARTER..ORIYA FRACTION THREE SIXTEENTHS +0B82;N # Mn TAMIL SIGN ANUSVARA +0B83;N # Lo TAMIL SIGN VISARGA +0B85..0B8A;N # Lo [6] TAMIL LETTER A..TAMIL LETTER UU +0B8E..0B90;N # Lo [3] TAMIL LETTER E..TAMIL LETTER AI +0B92..0B95;N # Lo [4] TAMIL LETTER O..TAMIL LETTER KA +0B99..0B9A;N # Lo [2] TAMIL LETTER NGA..TAMIL LETTER CA +0B9C;N # Lo TAMIL LETTER JA +0B9E..0B9F;N # Lo [2] TAMIL LETTER NYA..TAMIL LETTER TTA +0BA3..0BA4;N # Lo [2] TAMIL LETTER NNA..TAMIL LETTER TA +0BA8..0BAA;N # Lo [3] TAMIL LETTER NA..TAMIL LETTER PA +0BAE..0BB9;N # Lo [12] TAMIL LETTER MA..TAMIL LETTER HA +0BBE..0BBF;N # Mc [2] TAMIL VOWEL SIGN AA..TAMIL VOWEL SIGN I +0BC0;N # Mn TAMIL VOWEL SIGN II +0BC1..0BC2;N # Mc [2] TAMIL VOWEL SIGN U..TAMIL VOWEL SIGN UU +0BC6..0BC8;N # Mc [3] TAMIL VOWEL SIGN E..TAMIL VOWEL SIGN AI +0BCA..0BCC;N # Mc [3] TAMIL VOWEL SIGN O..TAMIL VOWEL SIGN AU +0BCD;N # Mn TAMIL SIGN VIRAMA +0BD0;N # Lo TAMIL OM +0BD7;N # Mc TAMIL AU LENGTH MARK +0BE6..0BEF;N # Nd [10] TAMIL DIGIT ZERO..TAMIL DIGIT NINE +0BF0..0BF2;N # No [3] TAMIL NUMBER TEN..TAMIL NUMBER ONE THOUSAND +0BF3..0BF8;N # So [6] TAMIL DAY SIGN..TAMIL AS ABOVE SIGN +0BF9;N # Sc TAMIL RUPEE SIGN +0BFA;N # So TAMIL NUMBER SIGN +0C00;N # Mn TELUGU SIGN COMBINING CANDRABINDU ABOVE +0C01..0C03;N # Mc [3] TELUGU SIGN CANDRABINDU..TELUGU SIGN VISARGA +0C04;N # Mn TELUGU SIGN COMBINING ANUSVARA ABOVE +0C05..0C0C;N # Lo [8] TELUGU LETTER A..TELUGU LETTER VOCALIC L +0C0E..0C10;N # Lo [3] TELUGU LETTER E..TELUGU LETTER AI +0C12..0C28;N # Lo [23] TELUGU LETTER O..TELUGU LETTER NA +0C2A..0C39;N # Lo [16] TELUGU LETTER PA..TELUGU LETTER HA +0C3D;N # Lo TELUGU SIGN AVAGRAHA +0C3E..0C40;N # Mn [3] TELUGU VOWEL SIGN AA..TELUGU VOWEL SIGN II +0C41..0C44;N # Mc [4] TELUGU VOWEL SIGN U..TELUGU VOWEL SIGN VOCALIC RR +0C46..0C48;N # Mn [3] TELUGU VOWEL SIGN E..TELUGU VOWEL SIGN AI +0C4A..0C4D;N # Mn [4] TELUGU VOWEL SIGN O..TELUGU SIGN VIRAMA +0C55..0C56;N # Mn [2] TELUGU LENGTH MARK..TELUGU AI LENGTH MARK +0C58..0C5A;N # Lo [3] TELUGU LETTER TSA..TELUGU LETTER RRRA +0C60..0C61;N # Lo [2] TELUGU LETTER VOCALIC RR..TELUGU LETTER VOCALIC LL +0C62..0C63;N # Mn [2] TELUGU VOWEL SIGN VOCALIC L..TELUGU VOWEL SIGN VOCALIC LL +0C66..0C6F;N # Nd [10] TELUGU DIGIT ZERO..TELUGU DIGIT NINE +0C77;N # Po TELUGU SIGN SIDDHAM +0C78..0C7E;N # No [7] TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR..TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR +0C7F;N # So TELUGU SIGN TUUMU +0C80;N # Lo KANNADA SIGN SPACING CANDRABINDU +0C81;N # Mn KANNADA SIGN CANDRABINDU +0C82..0C83;N # Mc [2] KANNADA SIGN ANUSVARA..KANNADA SIGN VISARGA +0C84;N # Po KANNADA SIGN SIDDHAM +0C85..0C8C;N # Lo [8] KANNADA LETTER A..KANNADA LETTER VOCALIC L +0C8E..0C90;N # Lo [3] KANNADA LETTER E..KANNADA LETTER AI +0C92..0CA8;N # Lo [23] KANNADA LETTER O..KANNADA LETTER NA +0CAA..0CB3;N # Lo [10] KANNADA LETTER PA..KANNADA LETTER LLA +0CB5..0CB9;N # Lo [5] KANNADA LETTER VA..KANNADA LETTER HA +0CBC;N # Mn KANNADA SIGN NUKTA +0CBD;N # Lo KANNADA SIGN AVAGRAHA +0CBE;N # Mc KANNADA VOWEL SIGN AA +0CBF;N # Mn KANNADA VOWEL SIGN I +0CC0..0CC4;N # Mc [5] KANNADA VOWEL SIGN II..KANNADA VOWEL SIGN VOCALIC RR +0CC6;N # Mn KANNADA VOWEL SIGN E +0CC7..0CC8;N # Mc [2] KANNADA VOWEL SIGN EE..KANNADA VOWEL SIGN AI +0CCA..0CCB;N # Mc [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO +0CCC..0CCD;N # Mn [2] KANNADA VOWEL SIGN AU..KANNADA SIGN VIRAMA +0CD5..0CD6;N # Mc [2] KANNADA LENGTH MARK..KANNADA AI LENGTH MARK +0CDE;N # Lo KANNADA LETTER FA +0CE0..0CE1;N # Lo [2] KANNADA LETTER VOCALIC RR..KANNADA LETTER VOCALIC LL +0CE2..0CE3;N # Mn [2] KANNADA VOWEL SIGN VOCALIC L..KANNADA VOWEL SIGN VOCALIC LL +0CE6..0CEF;N # Nd [10] KANNADA DIGIT ZERO..KANNADA DIGIT NINE +0CF1..0CF2;N # Lo [2] KANNADA SIGN JIHVAMULIYA..KANNADA SIGN UPADHMANIYA +0D00..0D01;N # Mn [2] MALAYALAM SIGN COMBINING ANUSVARA ABOVE..MALAYALAM SIGN CANDRABINDU +0D02..0D03;N # Mc [2] MALAYALAM SIGN ANUSVARA..MALAYALAM SIGN VISARGA +0D04..0D0C;N # Lo [9] MALAYALAM LETTER VEDIC ANUSVARA..MALAYALAM LETTER VOCALIC L +0D0E..0D10;N # Lo [3] MALAYALAM LETTER E..MALAYALAM LETTER AI +0D12..0D3A;N # Lo [41] MALAYALAM LETTER O..MALAYALAM LETTER TTTA +0D3B..0D3C;N # Mn [2] MALAYALAM SIGN VERTICAL BAR VIRAMA..MALAYALAM SIGN CIRCULAR VIRAMA +0D3D;N # Lo MALAYALAM SIGN AVAGRAHA +0D3E..0D40;N # Mc [3] MALAYALAM VOWEL SIGN AA..MALAYALAM VOWEL SIGN II +0D41..0D44;N # Mn [4] MALAYALAM VOWEL SIGN U..MALAYALAM VOWEL SIGN VOCALIC RR +0D46..0D48;N # Mc [3] MALAYALAM VOWEL SIGN E..MALAYALAM VOWEL SIGN AI +0D4A..0D4C;N # Mc [3] MALAYALAM VOWEL SIGN O..MALAYALAM VOWEL SIGN AU +0D4D;N # Mn MALAYALAM SIGN VIRAMA +0D4E;N # Lo MALAYALAM LETTER DOT REPH +0D4F;N # So MALAYALAM SIGN PARA +0D54..0D56;N # Lo [3] MALAYALAM LETTER CHILLU M..MALAYALAM LETTER CHILLU LLL +0D57;N # Mc MALAYALAM AU LENGTH MARK +0D58..0D5E;N # No [7] MALAYALAM FRACTION ONE ONE-HUNDRED-AND-SIXTIETH..MALAYALAM FRACTION ONE FIFTH +0D5F..0D61;N # Lo [3] MALAYALAM LETTER ARCHAIC II..MALAYALAM LETTER VOCALIC LL +0D62..0D63;N # Mn [2] MALAYALAM VOWEL SIGN VOCALIC L..MALAYALAM VOWEL SIGN VOCALIC LL +0D66..0D6F;N # Nd [10] MALAYALAM DIGIT ZERO..MALAYALAM DIGIT NINE +0D70..0D78;N # No [9] MALAYALAM NUMBER TEN..MALAYALAM FRACTION THREE SIXTEENTHS +0D79;N # So MALAYALAM DATE MARK +0D7A..0D7F;N # Lo [6] MALAYALAM LETTER CHILLU NN..MALAYALAM LETTER CHILLU K +0D81;N # Mn SINHALA SIGN CANDRABINDU +0D82..0D83;N # Mc [2] SINHALA SIGN ANUSVARAYA..SINHALA SIGN VISARGAYA +0D85..0D96;N # Lo [18] SINHALA LETTER AYANNA..SINHALA LETTER AUYANNA +0D9A..0DB1;N # Lo [24] SINHALA LETTER ALPAPRAANA KAYANNA..SINHALA LETTER DANTAJA NAYANNA +0DB3..0DBB;N # Lo [9] SINHALA LETTER SANYAKA DAYANNA..SINHALA LETTER RAYANNA +0DBD;N # Lo SINHALA LETTER DANTAJA LAYANNA +0DC0..0DC6;N # Lo [7] SINHALA LETTER VAYANNA..SINHALA LETTER FAYANNA +0DCA;N # Mn SINHALA SIGN AL-LAKUNA +0DCF..0DD1;N # Mc [3] SINHALA VOWEL SIGN AELA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA +0DD2..0DD4;N # Mn [3] SINHALA VOWEL SIGN KETTI IS-PILLA..SINHALA VOWEL SIGN KETTI PAA-PILLA +0DD6;N # Mn SINHALA VOWEL SIGN DIGA PAA-PILLA +0DD8..0DDF;N # Mc [8] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN GAYANUKITTA +0DE6..0DEF;N # Nd [10] SINHALA LITH DIGIT ZERO..SINHALA LITH DIGIT NINE +0DF2..0DF3;N # Mc [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA +0DF4;N # Po SINHALA PUNCTUATION KUNDDALIYA +0E01..0E30;N # Lo [48] THAI CHARACTER KO KAI..THAI CHARACTER SARA A +0E31;N # Mn THAI CHARACTER MAI HAN-AKAT +0E32..0E33;N # Lo [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM +0E34..0E3A;N # Mn [7] THAI CHARACTER SARA I..THAI CHARACTER PHINTHU +0E3F;N # Sc THAI CURRENCY SYMBOL BAHT +0E40..0E45;N # Lo [6] THAI CHARACTER SARA E..THAI CHARACTER LAKKHANGYAO +0E46;N # Lm THAI CHARACTER MAIYAMOK +0E47..0E4E;N # Mn [8] THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN +0E4F;N # Po THAI CHARACTER FONGMAN +0E50..0E59;N # Nd [10] THAI DIGIT ZERO..THAI DIGIT NINE +0E5A..0E5B;N # Po [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT +0E81..0E82;N # Lo [2] LAO LETTER KO..LAO LETTER KHO SUNG +0E84;N # Lo LAO LETTER KHO TAM +0E86..0E8A;N # Lo [5] LAO LETTER PALI GHA..LAO LETTER SO TAM +0E8C..0EA3;N # Lo [24] LAO LETTER PALI JHA..LAO LETTER LO LING +0EA5;N # Lo LAO LETTER LO LOOT +0EA7..0EB0;N # Lo [10] LAO LETTER WO..LAO VOWEL SIGN A +0EB1;N # Mn LAO VOWEL SIGN MAI KAN +0EB2..0EB3;N # Lo [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM +0EB4..0EBC;N # Mn [9] LAO VOWEL SIGN I..LAO SEMIVOWEL SIGN LO +0EBD;N # Lo LAO SEMIVOWEL SIGN NYO +0EC0..0EC4;N # Lo [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI +0EC6;N # Lm LAO KO LA +0EC8..0ECD;N # Mn [6] LAO TONE MAI EK..LAO NIGGAHITA +0ED0..0ED9;N # Nd [10] LAO DIGIT ZERO..LAO DIGIT NINE +0EDC..0EDF;N # Lo [4] LAO HO NO..LAO LETTER KHMU NYO +0F00;N # Lo TIBETAN SYLLABLE OM +0F01..0F03;N # So [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA +0F04..0F12;N # Po [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD +0F13;N # So TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN +0F14;N # Po TIBETAN MARK GTER TSHEG +0F15..0F17;N # So [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS +0F18..0F19;N # Mn [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS +0F1A..0F1F;N # So [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG +0F20..0F29;N # Nd [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE +0F2A..0F33;N # No [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO +0F34;N # So TIBETAN MARK BSDUS RTAGS +0F35;N # Mn TIBETAN MARK NGAS BZUNG NYI ZLA +0F36;N # So TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN +0F37;N # Mn TIBETAN MARK NGAS BZUNG SGOR RTAGS +0F38;N # So TIBETAN MARK CHE MGO +0F39;N # Mn TIBETAN MARK TSA -PHRU +0F3A;N # Ps TIBETAN MARK GUG RTAGS GYON +0F3B;N # Pe TIBETAN MARK GUG RTAGS GYAS +0F3C;N # Ps TIBETAN MARK ANG KHANG GYON +0F3D;N # Pe TIBETAN MARK ANG KHANG GYAS +0F3E..0F3F;N # Mc [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES +0F40..0F47;N # Lo [8] TIBETAN LETTER KA..TIBETAN LETTER JA +0F49..0F6C;N # Lo [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA +0F71..0F7E;N # Mn [14] TIBETAN VOWEL SIGN AA..TIBETAN SIGN RJES SU NGA RO +0F7F;N # Mc TIBETAN SIGN RNAM BCAD +0F80..0F84;N # Mn [5] TIBETAN VOWEL SIGN REVERSED I..TIBETAN MARK HALANTA +0F85;N # Po TIBETAN MARK PALUTA +0F86..0F87;N # Mn [2] TIBETAN SIGN LCI RTAGS..TIBETAN SIGN YANG RTAGS +0F88..0F8C;N # Lo [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN +0F8D..0F97;N # Mn [11] TIBETAN SUBJOINED SIGN LCE TSA CAN..TIBETAN SUBJOINED LETTER JA +0F99..0FBC;N # Mn [36] TIBETAN SUBJOINED LETTER NYA..TIBETAN SUBJOINED LETTER FIXED-FORM RA +0FBE..0FC5;N # So [8] TIBETAN KU RU KHA..TIBETAN SYMBOL RDO RJE +0FC6;N # Mn TIBETAN SYMBOL PADMA GDAN +0FC7..0FCC;N # So [6] TIBETAN SYMBOL RDO RJE RGYA GRAM..TIBETAN SYMBOL NOR BU BZHI -KHYIL +0FCE..0FCF;N # So [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM +0FD0..0FD4;N # Po [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA +0FD5..0FD8;N # So [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS +0FD9..0FDA;N # Po [2] TIBETAN MARK LEADING MCHAN RTAGS..TIBETAN MARK TRAILING MCHAN RTAGS +1000..102A;N # Lo [43] MYANMAR LETTER KA..MYANMAR LETTER AU +102B..102C;N # Mc [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA +102D..1030;N # Mn [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU +1031;N # Mc MYANMAR VOWEL SIGN E +1032..1037;N # Mn [6] MYANMAR VOWEL SIGN AI..MYANMAR SIGN DOT BELOW +1038;N # Mc MYANMAR SIGN VISARGA +1039..103A;N # Mn [2] MYANMAR SIGN VIRAMA..MYANMAR SIGN ASAT +103B..103C;N # Mc [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA +103D..103E;N # Mn [2] MYANMAR CONSONANT SIGN MEDIAL WA..MYANMAR CONSONANT SIGN MEDIAL HA +103F;N # Lo MYANMAR LETTER GREAT SA +1040..1049;N # Nd [10] MYANMAR DIGIT ZERO..MYANMAR DIGIT NINE +104A..104F;N # Po [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE +1050..1055;N # Lo [6] MYANMAR LETTER SHA..MYANMAR LETTER VOCALIC LL +1056..1057;N # Mc [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR +1058..1059;N # Mn [2] MYANMAR VOWEL SIGN VOCALIC L..MYANMAR VOWEL SIGN VOCALIC LL +105A..105D;N # Lo [4] MYANMAR LETTER MON NGA..MYANMAR LETTER MON BBE +105E..1060;N # Mn [3] MYANMAR CONSONANT SIGN MON MEDIAL NA..MYANMAR CONSONANT SIGN MON MEDIAL LA +1061;N # Lo MYANMAR LETTER SGAW KAREN SHA +1062..1064;N # Mc [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO +1065..1066;N # Lo [2] MYANMAR LETTER WESTERN PWO KAREN THA..MYANMAR LETTER WESTERN PWO KAREN PWA +1067..106D;N # Mc [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5 +106E..1070;N # Lo [3] MYANMAR LETTER EASTERN PWO KAREN NNA..MYANMAR LETTER EASTERN PWO KAREN GHWA +1071..1074;N # Mn [4] MYANMAR VOWEL SIGN GEBA KAREN I..MYANMAR VOWEL SIGN KAYAH EE +1075..1081;N # Lo [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA +1082;N # Mn MYANMAR CONSONANT SIGN SHAN MEDIAL WA +1083..1084;N # Mc [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E +1085..1086;N # Mn [2] MYANMAR VOWEL SIGN SHAN E ABOVE..MYANMAR VOWEL SIGN SHAN FINAL Y +1087..108C;N # Mc [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3 +108D;N # Mn MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE +108E;N # Lo MYANMAR LETTER RUMAI PALAUNG FA +108F;N # Mc MYANMAR SIGN RUMAI PALAUNG TONE-5 +1090..1099;N # Nd [10] MYANMAR SHAN DIGIT ZERO..MYANMAR SHAN DIGIT NINE +109A..109C;N # Mc [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A +109D;N # Mn MYANMAR VOWEL SIGN AITON AI +109E..109F;N # So [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION +10A0..10C5;N # Lu [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE +10C7;N # Lu GEORGIAN CAPITAL LETTER YN +10CD;N # Lu GEORGIAN CAPITAL LETTER AEN +10D0..10FA;N # Ll [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN +10FB;N # Po GEORGIAN PARAGRAPH SEPARATOR +10FC;N # Lm MODIFIER LETTER GEORGIAN NAR +10FD..10FF;N # Ll [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN +1100..115F;W # Lo [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER +1160..11FF;N # Lo [160] HANGUL JUNGSEONG FILLER..HANGUL JONGSEONG SSANGNIEUN +1200..1248;N # Lo [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA +124A..124D;N # Lo [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE +1250..1256;N # Lo [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO +1258;N # Lo ETHIOPIC SYLLABLE QHWA +125A..125D;N # Lo [4] ETHIOPIC SYLLABLE QHWI..ETHIOPIC SYLLABLE QHWE +1260..1288;N # Lo [41] ETHIOPIC SYLLABLE BA..ETHIOPIC SYLLABLE XWA +128A..128D;N # Lo [4] ETHIOPIC SYLLABLE XWI..ETHIOPIC SYLLABLE XWE +1290..12B0;N # Lo [33] ETHIOPIC SYLLABLE NA..ETHIOPIC SYLLABLE KWA +12B2..12B5;N # Lo [4] ETHIOPIC SYLLABLE KWI..ETHIOPIC SYLLABLE KWE +12B8..12BE;N # Lo [7] ETHIOPIC SYLLABLE KXA..ETHIOPIC SYLLABLE KXO +12C0;N # Lo ETHIOPIC SYLLABLE KXWA +12C2..12C5;N # Lo [4] ETHIOPIC SYLLABLE KXWI..ETHIOPIC SYLLABLE KXWE +12C8..12D6;N # Lo [15] ETHIOPIC SYLLABLE WA..ETHIOPIC SYLLABLE PHARYNGEAL O +12D8..1310;N # Lo [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA +1312..1315;N # Lo [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE +1318..135A;N # Lo [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA +135D..135F;N # Mn [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK +1360..1368;N # Po [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR +1369..137C;N # No [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND +1380..138F;N # Lo [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE +1390..1399;N # So [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT +13A0..13F5;N # Lu [86] CHEROKEE LETTER A..CHEROKEE LETTER MV +13F8..13FD;N # Ll [6] CHEROKEE SMALL LETTER YE..CHEROKEE SMALL LETTER MV +1400;N # Pd CANADIAN SYLLABICS HYPHEN +1401..166C;N # Lo [620] CANADIAN SYLLABICS E..CANADIAN SYLLABICS CARRIER TTSA +166D;N # So CANADIAN SYLLABICS CHI SIGN +166E;N # Po CANADIAN SYLLABICS FULL STOP +166F..167F;N # Lo [17] CANADIAN SYLLABICS QAI..CANADIAN SYLLABICS BLACKFOOT W +1680;N # Zs OGHAM SPACE MARK +1681..169A;N # Lo [26] OGHAM LETTER BEITH..OGHAM LETTER PEITH +169B;N # Ps OGHAM FEATHER MARK +169C;N # Pe OGHAM REVERSED FEATHER MARK +16A0..16EA;N # Lo [75] RUNIC LETTER FEHU FEOH FE F..RUNIC LETTER X +16EB..16ED;N # Po [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION +16EE..16F0;N # Nl [3] RUNIC ARLAUG SYMBOL..RUNIC BELGTHOR SYMBOL +16F1..16F8;N # Lo [8] RUNIC LETTER K..RUNIC LETTER FRANKS CASKET AESC +1700..170C;N # Lo [13] TAGALOG LETTER A..TAGALOG LETTER YA +170E..1711;N # Lo [4] TAGALOG LETTER LA..TAGALOG LETTER HA +1712..1714;N # Mn [3] TAGALOG VOWEL SIGN I..TAGALOG SIGN VIRAMA +1720..1731;N # Lo [18] HANUNOO LETTER A..HANUNOO LETTER HA +1732..1734;N # Mn [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD +1735..1736;N # Po [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION +1740..1751;N # Lo [18] BUHID LETTER A..BUHID LETTER HA +1752..1753;N # Mn [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U +1760..176C;N # Lo [13] TAGBANWA LETTER A..TAGBANWA LETTER YA +176E..1770;N # Lo [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA +1772..1773;N # Mn [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U +1780..17B3;N # Lo [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU +17B4..17B5;N # Mn [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA +17B6;N # Mc KHMER VOWEL SIGN AA +17B7..17BD;N # Mn [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA +17BE..17C5;N # Mc [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU +17C6;N # Mn KHMER SIGN NIKAHIT +17C7..17C8;N # Mc [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU +17C9..17D3;N # Mn [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT +17D4..17D6;N # Po [3] KHMER SIGN KHAN..KHMER SIGN CAMNUC PII KUUH +17D7;N # Lm KHMER SIGN LEK TOO +17D8..17DA;N # Po [3] KHMER SIGN BEYYAL..KHMER SIGN KOOMUUT +17DB;N # Sc KHMER CURRENCY SYMBOL RIEL +17DC;N # Lo KHMER SIGN AVAKRAHASANYA +17DD;N # Mn KHMER SIGN ATTHACAN +17E0..17E9;N # Nd [10] KHMER DIGIT ZERO..KHMER DIGIT NINE +17F0..17F9;N # No [10] KHMER SYMBOL LEK ATTAK SON..KHMER SYMBOL LEK ATTAK PRAM-BUON +1800..1805;N # Po [6] MONGOLIAN BIRGA..MONGOLIAN FOUR DOTS +1806;N # Pd MONGOLIAN TODO SOFT HYPHEN +1807..180A;N # Po [4] MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER..MONGOLIAN NIRUGU +180B..180D;N # Mn [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE +180E;N # Cf MONGOLIAN VOWEL SEPARATOR +1810..1819;N # Nd [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE +1820..1842;N # Lo [35] MONGOLIAN LETTER A..MONGOLIAN LETTER CHI +1843;N # Lm MONGOLIAN LETTER TODO LONG VOWEL SIGN +1844..1878;N # Lo [53] MONGOLIAN LETTER TODO E..MONGOLIAN LETTER CHA WITH TWO DOTS +1880..1884;N # Lo [5] MONGOLIAN LETTER ALI GALI ANUSVARA ONE..MONGOLIAN LETTER ALI GALI INVERTED UBADAMA +1885..1886;N # Mn [2] MONGOLIAN LETTER ALI GALI BALUDA..MONGOLIAN LETTER ALI GALI THREE BALUDA +1887..18A8;N # Lo [34] MONGOLIAN LETTER ALI GALI A..MONGOLIAN LETTER MANCHU ALI GALI BHA +18A9;N # Mn MONGOLIAN LETTER ALI GALI DAGALGA +18AA;N # Lo MONGOLIAN LETTER MANCHU ALI GALI LHA +18B0..18F5;N # Lo [70] CANADIAN SYLLABICS OY..CANADIAN SYLLABICS CARRIER DENTAL S +1900..191E;N # Lo [31] LIMBU VOWEL-CARRIER LETTER..LIMBU LETTER TRA +1920..1922;N # Mn [3] LIMBU VOWEL SIGN A..LIMBU VOWEL SIGN U +1923..1926;N # Mc [4] LIMBU VOWEL SIGN EE..LIMBU VOWEL SIGN AU +1927..1928;N # Mn [2] LIMBU VOWEL SIGN E..LIMBU VOWEL SIGN O +1929..192B;N # Mc [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA +1930..1931;N # Mc [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA +1932;N # Mn LIMBU SMALL LETTER ANUSVARA +1933..1938;N # Mc [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA +1939..193B;N # Mn [3] LIMBU SIGN MUKPHRENG..LIMBU SIGN SA-I +1940;N # So LIMBU SIGN LOO +1944..1945;N # Po [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK +1946..194F;N # Nd [10] LIMBU DIGIT ZERO..LIMBU DIGIT NINE +1950..196D;N # Lo [30] TAI LE LETTER KA..TAI LE LETTER AI +1970..1974;N # Lo [5] TAI LE LETTER TONE-2..TAI LE LETTER TONE-6 +1980..19AB;N # Lo [44] NEW TAI LUE LETTER HIGH QA..NEW TAI LUE LETTER LOW SUA +19B0..19C9;N # Lo [26] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE TONE MARK-2 +19D0..19D9;N # Nd [10] NEW TAI LUE DIGIT ZERO..NEW TAI LUE DIGIT NINE +19DA;N # No NEW TAI LUE THAM DIGIT ONE +19DE..19DF;N # So [2] NEW TAI LUE SIGN LAE..NEW TAI LUE SIGN LAEV +19E0..19FF;N # So [32] KHMER SYMBOL PATHAMASAT..KHMER SYMBOL DAP-PRAM ROC +1A00..1A16;N # Lo [23] BUGINESE LETTER KA..BUGINESE LETTER HA +1A17..1A18;N # Mn [2] BUGINESE VOWEL SIGN I..BUGINESE VOWEL SIGN U +1A19..1A1A;N # Mc [2] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN O +1A1B;N # Mn BUGINESE VOWEL SIGN AE +1A1E..1A1F;N # Po [2] BUGINESE PALLAWA..BUGINESE END OF SECTION +1A20..1A54;N # Lo [53] TAI THAM LETTER HIGH KA..TAI THAM LETTER GREAT SA +1A55;N # Mc TAI THAM CONSONANT SIGN MEDIAL RA +1A56;N # Mn TAI THAM CONSONANT SIGN MEDIAL LA +1A57;N # Mc TAI THAM CONSONANT SIGN LA TANG LAI +1A58..1A5E;N # Mn [7] TAI THAM SIGN MAI KANG LAI..TAI THAM CONSONANT SIGN SA +1A60;N # Mn TAI THAM SIGN SAKOT +1A61;N # Mc TAI THAM VOWEL SIGN A +1A62;N # Mn TAI THAM VOWEL SIGN MAI SAT +1A63..1A64;N # Mc [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA +1A65..1A6C;N # Mn [8] TAI THAM VOWEL SIGN I..TAI THAM VOWEL SIGN OA BELOW +1A6D..1A72;N # Mc [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI +1A73..1A7C;N # Mn [10] TAI THAM VOWEL SIGN OA ABOVE..TAI THAM SIGN KHUEN-LUE KARAN +1A7F;N # Mn TAI THAM COMBINING CRYPTOGRAMMIC DOT +1A80..1A89;N # Nd [10] TAI THAM HORA DIGIT ZERO..TAI THAM HORA DIGIT NINE +1A90..1A99;N # Nd [10] TAI THAM THAM DIGIT ZERO..TAI THAM THAM DIGIT NINE +1AA0..1AA6;N # Po [7] TAI THAM SIGN WIANG..TAI THAM SIGN REVERSED ROTATED RANA +1AA7;N # Lm TAI THAM SIGN MAI YAMOK +1AA8..1AAD;N # Po [6] TAI THAM SIGN KAAN..TAI THAM SIGN CAANG +1AB0..1ABD;N # Mn [14] COMBINING DOUBLED CIRCUMFLEX ACCENT..COMBINING PARENTHESES BELOW +1ABE;N # Me COMBINING PARENTHESES OVERLAY +1ABF..1AC0;N # Mn [2] COMBINING LATIN SMALL LETTER W BELOW..COMBINING LATIN SMALL LETTER TURNED W BELOW +1B00..1B03;N # Mn [4] BALINESE SIGN ULU RICEM..BALINESE SIGN SURANG +1B04;N # Mc BALINESE SIGN BISAH +1B05..1B33;N # Lo [47] BALINESE LETTER AKARA..BALINESE LETTER HA +1B34;N # Mn BALINESE SIGN REREKAN +1B35;N # Mc BALINESE VOWEL SIGN TEDUNG +1B36..1B3A;N # Mn [5] BALINESE VOWEL SIGN ULU..BALINESE VOWEL SIGN RA REPA +1B3B;N # Mc BALINESE VOWEL SIGN RA REPA TEDUNG +1B3C;N # Mn BALINESE VOWEL SIGN LA LENGA +1B3D..1B41;N # Mc [5] BALINESE VOWEL SIGN LA LENGA TEDUNG..BALINESE VOWEL SIGN TALING REPA TEDUNG +1B42;N # Mn BALINESE VOWEL SIGN PEPET +1B43..1B44;N # Mc [2] BALINESE VOWEL SIGN PEPET TEDUNG..BALINESE ADEG ADEG +1B45..1B4B;N # Lo [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK +1B50..1B59;N # Nd [10] BALINESE DIGIT ZERO..BALINESE DIGIT NINE +1B5A..1B60;N # Po [7] BALINESE PANTI..BALINESE PAMENENG +1B61..1B6A;N # So [10] BALINESE MUSICAL SYMBOL DONG..BALINESE MUSICAL SYMBOL DANG GEDE +1B6B..1B73;N # Mn [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG +1B74..1B7C;N # So [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING +1B80..1B81;N # Mn [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR +1B82;N # Mc SUNDANESE SIGN PANGWISAD +1B83..1BA0;N # Lo [30] SUNDANESE LETTER A..SUNDANESE LETTER HA +1BA1;N # Mc SUNDANESE CONSONANT SIGN PAMINGKAL +1BA2..1BA5;N # Mn [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU +1BA6..1BA7;N # Mc [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG +1BA8..1BA9;N # Mn [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG +1BAA;N # Mc SUNDANESE SIGN PAMAAEH +1BAB..1BAD;N # Mn [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA +1BAE..1BAF;N # Lo [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA +1BB0..1BB9;N # Nd [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE +1BBA..1BBF;N # Lo [6] SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M +1BC0..1BE5;N # Lo [38] BATAK LETTER A..BATAK LETTER U +1BE6;N # Mn BATAK SIGN TOMPI +1BE7;N # Mc BATAK VOWEL SIGN E +1BE8..1BE9;N # Mn [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE +1BEA..1BEC;N # Mc [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O +1BED;N # Mn BATAK VOWEL SIGN KARO O +1BEE;N # Mc BATAK VOWEL SIGN U +1BEF..1BF1;N # Mn [3] BATAK VOWEL SIGN U FOR SIMALUNGUN SA..BATAK CONSONANT SIGN H +1BF2..1BF3;N # Mc [2] BATAK PANGOLAT..BATAK PANONGONAN +1BFC..1BFF;N # Po [4] BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT +1C00..1C23;N # Lo [36] LEPCHA LETTER KA..LEPCHA LETTER A +1C24..1C2B;N # Mc [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU +1C2C..1C33;N # Mn [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T +1C34..1C35;N # Mc [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG +1C36..1C37;N # Mn [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA +1C3B..1C3F;N # Po [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK +1C40..1C49;N # Nd [10] LEPCHA DIGIT ZERO..LEPCHA DIGIT NINE +1C4D..1C4F;N # Lo [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA +1C50..1C59;N # Nd [10] OL CHIKI DIGIT ZERO..OL CHIKI DIGIT NINE +1C5A..1C77;N # Lo [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH +1C78..1C7D;N # Lm [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD +1C7E..1C7F;N # Po [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD +1C80..1C88;N # Ll [9] CYRILLIC SMALL LETTER ROUNDED VE..CYRILLIC SMALL LETTER UNBLENDED UK +1C90..1CBA;N # Lu [43] GEORGIAN MTAVRULI CAPITAL LETTER AN..GEORGIAN MTAVRULI CAPITAL LETTER AIN +1CBD..1CBF;N # Lu [3] GEORGIAN MTAVRULI CAPITAL LETTER AEN..GEORGIAN MTAVRULI CAPITAL LETTER LABIAL SIGN +1CC0..1CC7;N # Po [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA +1CD0..1CD2;N # Mn [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA +1CD3;N # Po VEDIC SIGN NIHSHVASA +1CD4..1CE0;N # Mn [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA +1CE1;N # Mc VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA +1CE2..1CE8;N # Mn [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL +1CE9..1CEC;N # Lo [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL +1CED;N # Mn VEDIC SIGN TIRYAK +1CEE..1CF3;N # Lo [6] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ROTATED ARDHAVISARGA +1CF4;N # Mn VEDIC TONE CANDRA ABOVE +1CF5..1CF6;N # Lo [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA +1CF7;N # Mc VEDIC SIGN ATIKRAMA +1CF8..1CF9;N # Mn [2] VEDIC TONE RING ABOVE..VEDIC TONE DOUBLE RING ABOVE +1CFA;N # Lo VEDIC SIGN DOUBLE ANUSVARA ANTARGOMUKHA +1D00..1D2B;N # Ll [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL +1D2C..1D6A;N # Lm [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI +1D6B..1D77;N # Ll [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G +1D78;N # Lm MODIFIER LETTER CYRILLIC EN +1D79..1D7F;N # Ll [7] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER UPSILON WITH STROKE +1D80..1D9A;N # Ll [27] LATIN SMALL LETTER B WITH PALATAL HOOK..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK +1D9B..1DBF;N # Lm [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA +1DC0..1DF9;N # Mn [58] COMBINING DOTTED GRAVE ACCENT..COMBINING WIDE INVERTED BRIDGE BELOW +1DFB..1DFF;N # Mn [5] COMBINING DELETION MARK..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW +1E00..1EFF;N # L& [256] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER Y WITH LOOP +1F00..1F15;N # L& [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA +1F18..1F1D;N # Lu [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA +1F20..1F45;N # L& [38] GREEK SMALL LETTER ETA WITH PSILI..GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA +1F48..1F4D;N # Lu [6] GREEK CAPITAL LETTER OMICRON WITH PSILI..GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA +1F50..1F57;N # Ll [8] GREEK SMALL LETTER UPSILON WITH PSILI..GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI +1F59;N # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA +1F5B;N # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA +1F5D;N # Lu GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA +1F5F..1F7D;N # L& [31] GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI..GREEK SMALL LETTER OMEGA WITH OXIA +1F80..1FB4;N # L& [53] GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI..GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI +1FB6..1FBC;N # L& [7] GREEK SMALL LETTER ALPHA WITH PERISPOMENI..GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI +1FBD;N # Sk GREEK KORONIS +1FBE;N # Ll GREEK PROSGEGRAMMENI +1FBF..1FC1;N # Sk [3] GREEK PSILI..GREEK DIALYTIKA AND PERISPOMENI +1FC2..1FC4;N # Ll [3] GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI +1FC6..1FCC;N # L& [7] GREEK SMALL LETTER ETA WITH PERISPOMENI..GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI +1FCD..1FCF;N # Sk [3] GREEK PSILI AND VARIA..GREEK PSILI AND PERISPOMENI +1FD0..1FD3;N # Ll [4] GREEK SMALL LETTER IOTA WITH VRACHY..GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA +1FD6..1FDB;N # L& [6] GREEK SMALL LETTER IOTA WITH PERISPOMENI..GREEK CAPITAL LETTER IOTA WITH OXIA +1FDD..1FDF;N # Sk [3] GREEK DASIA AND VARIA..GREEK DASIA AND PERISPOMENI +1FE0..1FEC;N # L& [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA +1FED..1FEF;N # Sk [3] GREEK DIALYTIKA AND VARIA..GREEK VARIA +1FF2..1FF4;N # Ll [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI +1FF6..1FFC;N # L& [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI +1FFD..1FFE;N # Sk [2] GREEK OXIA..GREEK DASIA +2000..200A;N # Zs [11] EN QUAD..HAIR SPACE +200B..200F;N # Cf [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK +2010;A # Pd HYPHEN +2011..2012;N # Pd [2] NON-BREAKING HYPHEN..FIGURE DASH +2013..2015;A # Pd [3] EN DASH..HORIZONTAL BAR +2016;A # Po DOUBLE VERTICAL LINE +2017;N # Po DOUBLE LOW LINE +2018;A # Pi LEFT SINGLE QUOTATION MARK +2019;A # Pf RIGHT SINGLE QUOTATION MARK +201A;N # Ps SINGLE LOW-9 QUOTATION MARK +201B;N # Pi SINGLE HIGH-REVERSED-9 QUOTATION MARK +201C;A # Pi LEFT DOUBLE QUOTATION MARK +201D;A # Pf RIGHT DOUBLE QUOTATION MARK +201E;N # Ps DOUBLE LOW-9 QUOTATION MARK +201F;N # Pi DOUBLE HIGH-REVERSED-9 QUOTATION MARK +2020..2022;A # Po [3] DAGGER..BULLET +2023;N # Po TRIANGULAR BULLET +2024..2027;A # Po [4] ONE DOT LEADER..HYPHENATION POINT +2028;N # Zl LINE SEPARATOR +2029;N # Zp PARAGRAPH SEPARATOR +202A..202E;N # Cf [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE +202F;N # Zs NARROW NO-BREAK SPACE +2030;A # Po PER MILLE SIGN +2031;N # Po PER TEN THOUSAND SIGN +2032..2033;A # Po [2] PRIME..DOUBLE PRIME +2034;N # Po TRIPLE PRIME +2035;A # Po REVERSED PRIME +2036..2038;N # Po [3] REVERSED DOUBLE PRIME..CARET +2039;N # Pi SINGLE LEFT-POINTING ANGLE QUOTATION MARK +203A;N # Pf SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +203B;A # Po REFERENCE MARK +203C..203D;N # Po [2] DOUBLE EXCLAMATION MARK..INTERROBANG +203E;A # Po OVERLINE +203F..2040;N # Pc [2] UNDERTIE..CHARACTER TIE +2041..2043;N # Po [3] CARET INSERTION POINT..HYPHEN BULLET +2044;N # Sm FRACTION SLASH +2045;N # Ps LEFT SQUARE BRACKET WITH QUILL +2046;N # Pe RIGHT SQUARE BRACKET WITH QUILL +2047..2051;N # Po [11] DOUBLE QUESTION MARK..TWO ASTERISKS ALIGNED VERTICALLY +2052;N # Sm COMMERCIAL MINUS SIGN +2053;N # Po SWUNG DASH +2054;N # Pc INVERTED UNDERTIE +2055..205E;N # Po [10] FLOWER PUNCTUATION MARK..VERTICAL FOUR DOTS +205F;N # Zs MEDIUM MATHEMATICAL SPACE +2060..2064;N # Cf [5] WORD JOINER..INVISIBLE PLUS +2066..206F;N # Cf [10] LEFT-TO-RIGHT ISOLATE..NOMINAL DIGIT SHAPES +2070;N # No SUPERSCRIPT ZERO +2071;N # Lm SUPERSCRIPT LATIN SMALL LETTER I +2074;A # No SUPERSCRIPT FOUR +2075..2079;N # No [5] SUPERSCRIPT FIVE..SUPERSCRIPT NINE +207A..207C;N # Sm [3] SUPERSCRIPT PLUS SIGN..SUPERSCRIPT EQUALS SIGN +207D;N # Ps SUPERSCRIPT LEFT PARENTHESIS +207E;N # Pe SUPERSCRIPT RIGHT PARENTHESIS +207F;A # Lm SUPERSCRIPT LATIN SMALL LETTER N +2080;N # No SUBSCRIPT ZERO +2081..2084;A # No [4] SUBSCRIPT ONE..SUBSCRIPT FOUR +2085..2089;N # No [5] SUBSCRIPT FIVE..SUBSCRIPT NINE +208A..208C;N # Sm [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN +208D;N # Ps SUBSCRIPT LEFT PARENTHESIS +208E;N # Pe SUBSCRIPT RIGHT PARENTHESIS +2090..209C;N # Lm [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T +20A0..20A8;N # Sc [9] EURO-CURRENCY SIGN..RUPEE SIGN +20A9;H # Sc WON SIGN +20AA..20AB;N # Sc [2] NEW SHEQEL SIGN..DONG SIGN +20AC;A # Sc EURO SIGN +20AD..20BF;N # Sc [19] KIP SIGN..BITCOIN SIGN +20D0..20DC;N # Mn [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE +20DD..20E0;N # Me [4] COMBINING ENCLOSING CIRCLE..COMBINING ENCLOSING CIRCLE BACKSLASH +20E1;N # Mn COMBINING LEFT RIGHT ARROW ABOVE +20E2..20E4;N # Me [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE +20E5..20F0;N # Mn [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE +2100..2101;N # So [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT +2102;N # Lu DOUBLE-STRUCK CAPITAL C +2103;A # So DEGREE CELSIUS +2104;N # So CENTRE LINE SYMBOL +2105;A # So CARE OF +2106;N # So CADA UNA +2107;N # Lu EULER CONSTANT +2108;N # So SCRUPLE +2109;A # So DEGREE FAHRENHEIT +210A..2112;N # L& [9] SCRIPT SMALL G..SCRIPT CAPITAL L +2113;A # Ll SCRIPT SMALL L +2114;N # So L B BAR SYMBOL +2115;N # Lu DOUBLE-STRUCK CAPITAL N +2116;A # So NUMERO SIGN +2117;N # So SOUND RECORDING COPYRIGHT +2118;N # Sm SCRIPT CAPITAL P +2119..211D;N # Lu [5] DOUBLE-STRUCK CAPITAL P..DOUBLE-STRUCK CAPITAL R +211E..2120;N # So [3] PRESCRIPTION TAKE..SERVICE MARK +2121..2122;A # So [2] TELEPHONE SIGN..TRADE MARK SIGN +2123;N # So VERSICLE +2124;N # Lu DOUBLE-STRUCK CAPITAL Z +2125;N # So OUNCE SIGN +2126;A # Lu OHM SIGN +2127;N # So INVERTED OHM SIGN +2128;N # Lu BLACK-LETTER CAPITAL Z +2129;N # So TURNED GREEK SMALL LETTER IOTA +212A;N # Lu KELVIN SIGN +212B;A # Lu ANGSTROM SIGN +212C..212D;N # Lu [2] SCRIPT CAPITAL B..BLACK-LETTER CAPITAL C +212E;N # So ESTIMATED SYMBOL +212F..2134;N # L& [6] SCRIPT SMALL E..SCRIPT SMALL O +2135..2138;N # Lo [4] ALEF SYMBOL..DALET SYMBOL +2139;N # Ll INFORMATION SOURCE +213A..213B;N # So [2] ROTATED CAPITAL Q..FACSIMILE SIGN +213C..213F;N # L& [4] DOUBLE-STRUCK SMALL PI..DOUBLE-STRUCK CAPITAL PI +2140..2144;N # Sm [5] DOUBLE-STRUCK N-ARY SUMMATION..TURNED SANS-SERIF CAPITAL Y +2145..2149;N # L& [5] DOUBLE-STRUCK ITALIC CAPITAL D..DOUBLE-STRUCK ITALIC SMALL J +214A;N # So PROPERTY LINE +214B;N # Sm TURNED AMPERSAND +214C..214D;N # So [2] PER SIGN..AKTIESELSKAB +214E;N # Ll TURNED SMALL F +214F;N # So SYMBOL FOR SAMARITAN SOURCE +2150..2152;N # No [3] VULGAR FRACTION ONE SEVENTH..VULGAR FRACTION ONE TENTH +2153..2154;A # No [2] VULGAR FRACTION ONE THIRD..VULGAR FRACTION TWO THIRDS +2155..215A;N # No [6] VULGAR FRACTION ONE FIFTH..VULGAR FRACTION FIVE SIXTHS +215B..215E;A # No [4] VULGAR FRACTION ONE EIGHTH..VULGAR FRACTION SEVEN EIGHTHS +215F;N # No FRACTION NUMERATOR ONE +2160..216B;A # Nl [12] ROMAN NUMERAL ONE..ROMAN NUMERAL TWELVE +216C..216F;N # Nl [4] ROMAN NUMERAL FIFTY..ROMAN NUMERAL ONE THOUSAND +2170..2179;A # Nl [10] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL TEN +217A..2182;N # Nl [9] SMALL ROMAN NUMERAL ELEVEN..ROMAN NUMERAL TEN THOUSAND +2183..2184;N # L& [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C +2185..2188;N # Nl [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND +2189;A # No VULGAR FRACTION ZERO THIRDS +218A..218B;N # So [2] TURNED DIGIT TWO..TURNED DIGIT THREE +2190..2194;A # Sm [5] LEFTWARDS ARROW..LEFT RIGHT ARROW +2195..2199;A # So [5] UP DOWN ARROW..SOUTH WEST ARROW +219A..219B;N # Sm [2] LEFTWARDS ARROW WITH STROKE..RIGHTWARDS ARROW WITH STROKE +219C..219F;N # So [4] LEFTWARDS WAVE ARROW..UPWARDS TWO HEADED ARROW +21A0;N # Sm RIGHTWARDS TWO HEADED ARROW +21A1..21A2;N # So [2] DOWNWARDS TWO HEADED ARROW..LEFTWARDS ARROW WITH TAIL +21A3;N # Sm RIGHTWARDS ARROW WITH TAIL +21A4..21A5;N # So [2] LEFTWARDS ARROW FROM BAR..UPWARDS ARROW FROM BAR +21A6;N # Sm RIGHTWARDS ARROW FROM BAR +21A7..21AD;N # So [7] DOWNWARDS ARROW FROM BAR..LEFT RIGHT WAVE ARROW +21AE;N # Sm LEFT RIGHT ARROW WITH STROKE +21AF..21B7;N # So [9] DOWNWARDS ZIGZAG ARROW..CLOCKWISE TOP SEMICIRCLE ARROW +21B8..21B9;A # So [2] NORTH WEST ARROW TO LONG BAR..LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR +21BA..21CD;N # So [20] ANTICLOCKWISE OPEN CIRCLE ARROW..LEFTWARDS DOUBLE ARROW WITH STROKE +21CE..21CF;N # Sm [2] LEFT RIGHT DOUBLE ARROW WITH STROKE..RIGHTWARDS DOUBLE ARROW WITH STROKE +21D0..21D1;N # So [2] LEFTWARDS DOUBLE ARROW..UPWARDS DOUBLE ARROW +21D2;A # Sm RIGHTWARDS DOUBLE ARROW +21D3;N # So DOWNWARDS DOUBLE ARROW +21D4;A # Sm LEFT RIGHT DOUBLE ARROW +21D5..21E6;N # So [18] UP DOWN DOUBLE ARROW..LEFTWARDS WHITE ARROW +21E7;A # So UPWARDS WHITE ARROW +21E8..21F3;N # So [12] RIGHTWARDS WHITE ARROW..UP DOWN WHITE ARROW +21F4..21FF;N # Sm [12] RIGHT ARROW WITH SMALL CIRCLE..LEFT RIGHT OPEN-HEADED ARROW +2200;A # Sm FOR ALL +2201;N # Sm COMPLEMENT +2202..2203;A # Sm [2] PARTIAL DIFFERENTIAL..THERE EXISTS +2204..2206;N # Sm [3] THERE DOES NOT EXIST..INCREMENT +2207..2208;A # Sm [2] NABLA..ELEMENT OF +2209..220A;N # Sm [2] NOT AN ELEMENT OF..SMALL ELEMENT OF +220B;A # Sm CONTAINS AS MEMBER +220C..220E;N # Sm [3] DOES NOT CONTAIN AS MEMBER..END OF PROOF +220F;A # Sm N-ARY PRODUCT +2210;N # Sm N-ARY COPRODUCT +2211;A # Sm N-ARY SUMMATION +2212..2214;N # Sm [3] MINUS SIGN..DOT PLUS +2215;A # Sm DIVISION SLASH +2216..2219;N # Sm [4] SET MINUS..BULLET OPERATOR +221A;A # Sm SQUARE ROOT +221B..221C;N # Sm [2] CUBE ROOT..FOURTH ROOT +221D..2220;A # Sm [4] PROPORTIONAL TO..ANGLE +2221..2222;N # Sm [2] MEASURED ANGLE..SPHERICAL ANGLE +2223;A # Sm DIVIDES +2224;N # Sm DOES NOT DIVIDE +2225;A # Sm PARALLEL TO +2226;N # Sm NOT PARALLEL TO +2227..222C;A # Sm [6] LOGICAL AND..DOUBLE INTEGRAL +222D;N # Sm TRIPLE INTEGRAL +222E;A # Sm CONTOUR INTEGRAL +222F..2233;N # Sm [5] SURFACE INTEGRAL..ANTICLOCKWISE CONTOUR INTEGRAL +2234..2237;A # Sm [4] THEREFORE..PROPORTION +2238..223B;N # Sm [4] DOT MINUS..HOMOTHETIC +223C..223D;A # Sm [2] TILDE OPERATOR..REVERSED TILDE +223E..2247;N # Sm [10] INVERTED LAZY S..NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO +2248;A # Sm ALMOST EQUAL TO +2249..224B;N # Sm [3] NOT ALMOST EQUAL TO..TRIPLE TILDE +224C;A # Sm ALL EQUAL TO +224D..2251;N # Sm [5] EQUIVALENT TO..GEOMETRICALLY EQUAL TO +2252;A # Sm APPROXIMATELY EQUAL TO OR THE IMAGE OF +2253..225F;N # Sm [13] IMAGE OF OR APPROXIMATELY EQUAL TO..QUESTIONED EQUAL TO +2260..2261;A # Sm [2] NOT EQUAL TO..IDENTICAL TO +2262..2263;N # Sm [2] NOT IDENTICAL TO..STRICTLY EQUIVALENT TO +2264..2267;A # Sm [4] LESS-THAN OR EQUAL TO..GREATER-THAN OVER EQUAL TO +2268..2269;N # Sm [2] LESS-THAN BUT NOT EQUAL TO..GREATER-THAN BUT NOT EQUAL TO +226A..226B;A # Sm [2] MUCH LESS-THAN..MUCH GREATER-THAN +226C..226D;N # Sm [2] BETWEEN..NOT EQUIVALENT TO +226E..226F;A # Sm [2] NOT LESS-THAN..NOT GREATER-THAN +2270..2281;N # Sm [18] NEITHER LESS-THAN NOR EQUAL TO..DOES NOT SUCCEED +2282..2283;A # Sm [2] SUBSET OF..SUPERSET OF +2284..2285;N # Sm [2] NOT A SUBSET OF..NOT A SUPERSET OF +2286..2287;A # Sm [2] SUBSET OF OR EQUAL TO..SUPERSET OF OR EQUAL TO +2288..2294;N # Sm [13] NEITHER A SUBSET OF NOR EQUAL TO..SQUARE CUP +2295;A # Sm CIRCLED PLUS +2296..2298;N # Sm [3] CIRCLED MINUS..CIRCLED DIVISION SLASH +2299;A # Sm CIRCLED DOT OPERATOR +229A..22A4;N # Sm [11] CIRCLED RING OPERATOR..DOWN TACK +22A5;A # Sm UP TACK +22A6..22BE;N # Sm [25] ASSERTION..RIGHT ANGLE WITH ARC +22BF;A # Sm RIGHT TRIANGLE +22C0..22FF;N # Sm [64] N-ARY LOGICAL AND..Z NOTATION BAG MEMBERSHIP +2300..2307;N # So [8] DIAMETER SIGN..WAVY LINE +2308;N # Ps LEFT CEILING +2309;N # Pe RIGHT CEILING +230A;N # Ps LEFT FLOOR +230B;N # Pe RIGHT FLOOR +230C..2311;N # So [6] BOTTOM RIGHT CROP..SQUARE LOZENGE +2312;A # So ARC +2313..2319;N # So [7] SEGMENT..TURNED NOT SIGN +231A..231B;W # So [2] WATCH..HOURGLASS +231C..231F;N # So [4] TOP LEFT CORNER..BOTTOM RIGHT CORNER +2320..2321;N # Sm [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL +2322..2328;N # So [7] FROWN..KEYBOARD +2329;W # Ps LEFT-POINTING ANGLE BRACKET +232A;W # Pe RIGHT-POINTING ANGLE BRACKET +232B..237B;N # So [81] ERASE TO THE LEFT..NOT CHECK MARK +237C;N # Sm RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW +237D..239A;N # So [30] SHOULDERED OPEN BOX..CLEAR SCREEN SYMBOL +239B..23B3;N # Sm [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM +23B4..23DB;N # So [40] TOP SQUARE BRACKET..FUSE +23DC..23E1;N # Sm [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET +23E2..23E8;N # So [7] WHITE TRAPEZIUM..DECIMAL EXPONENT SYMBOL +23E9..23EC;W # So [4] BLACK RIGHT-POINTING DOUBLE TRIANGLE..BLACK DOWN-POINTING DOUBLE TRIANGLE +23ED..23EF;N # So [3] BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR +23F0;W # So ALARM CLOCK +23F1..23F2;N # So [2] STOPWATCH..TIMER CLOCK +23F3;W # So HOURGLASS WITH FLOWING SAND +23F4..23FF;N # So [12] BLACK MEDIUM LEFT-POINTING TRIANGLE..OBSERVER EYE SYMBOL +2400..2426;N # So [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO +2440..244A;N # So [11] OCR HOOK..OCR DOUBLE BACKSLASH +2460..249B;A # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP +249C..24E9;A # So [78] PARENTHESIZED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z +24EA;N # No CIRCLED DIGIT ZERO +24EB..24FF;A # No [21] NEGATIVE CIRCLED NUMBER ELEVEN..NEGATIVE CIRCLED DIGIT ZERO +2500..254B;A # So [76] BOX DRAWINGS LIGHT HORIZONTAL..BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +254C..254F;N # So [4] BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL..BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL +2550..2573;A # So [36] BOX DRAWINGS DOUBLE HORIZONTAL..BOX DRAWINGS LIGHT DIAGONAL CROSS +2574..257F;N # So [12] BOX DRAWINGS LIGHT LEFT..BOX DRAWINGS HEAVY UP AND LIGHT DOWN +2580..258F;A # So [16] UPPER HALF BLOCK..LEFT ONE EIGHTH BLOCK +2590..2591;N # So [2] RIGHT HALF BLOCK..LIGHT SHADE +2592..2595;A # So [4] MEDIUM SHADE..RIGHT ONE EIGHTH BLOCK +2596..259F;N # So [10] QUADRANT LOWER LEFT..QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT +25A0..25A1;A # So [2] BLACK SQUARE..WHITE SQUARE +25A2;N # So WHITE SQUARE WITH ROUNDED CORNERS +25A3..25A9;A # So [7] WHITE SQUARE CONTAINING BLACK SMALL SQUARE..SQUARE WITH DIAGONAL CROSSHATCH FILL +25AA..25B1;N # So [8] BLACK SMALL SQUARE..WHITE PARALLELOGRAM +25B2..25B3;A # So [2] BLACK UP-POINTING TRIANGLE..WHITE UP-POINTING TRIANGLE +25B4..25B5;N # So [2] BLACK UP-POINTING SMALL TRIANGLE..WHITE UP-POINTING SMALL TRIANGLE +25B6;A # So BLACK RIGHT-POINTING TRIANGLE +25B7;A # Sm WHITE RIGHT-POINTING TRIANGLE +25B8..25BB;N # So [4] BLACK RIGHT-POINTING SMALL TRIANGLE..WHITE RIGHT-POINTING POINTER +25BC..25BD;A # So [2] BLACK DOWN-POINTING TRIANGLE..WHITE DOWN-POINTING TRIANGLE +25BE..25BF;N # So [2] BLACK DOWN-POINTING SMALL TRIANGLE..WHITE DOWN-POINTING SMALL TRIANGLE +25C0;A # So BLACK LEFT-POINTING TRIANGLE +25C1;A # Sm WHITE LEFT-POINTING TRIANGLE +25C2..25C5;N # So [4] BLACK LEFT-POINTING SMALL TRIANGLE..WHITE LEFT-POINTING POINTER +25C6..25C8;A # So [3] BLACK DIAMOND..WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND +25C9..25CA;N # So [2] FISHEYE..LOZENGE +25CB;A # So WHITE CIRCLE +25CC..25CD;N # So [2] DOTTED CIRCLE..CIRCLE WITH VERTICAL FILL +25CE..25D1;A # So [4] BULLSEYE..CIRCLE WITH RIGHT HALF BLACK +25D2..25E1;N # So [16] CIRCLE WITH LOWER HALF BLACK..LOWER HALF CIRCLE +25E2..25E5;A # So [4] BLACK LOWER RIGHT TRIANGLE..BLACK UPPER RIGHT TRIANGLE +25E6..25EE;N # So [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK +25EF;A # So LARGE CIRCLE +25F0..25F7;N # So [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT +25F8..25FC;N # Sm [5] UPPER LEFT TRIANGLE..BLACK MEDIUM SQUARE +25FD..25FE;W # Sm [2] WHITE MEDIUM SMALL SQUARE..BLACK MEDIUM SMALL SQUARE +25FF;N # Sm LOWER RIGHT TRIANGLE +2600..2604;N # So [5] BLACK SUN WITH RAYS..COMET +2605..2606;A # So [2] BLACK STAR..WHITE STAR +2607..2608;N # So [2] LIGHTNING..THUNDERSTORM +2609;A # So SUN +260A..260D;N # So [4] ASCENDING NODE..OPPOSITION +260E..260F;A # So [2] BLACK TELEPHONE..WHITE TELEPHONE +2610..2613;N # So [4] BALLOT BOX..SALTIRE +2614..2615;W # So [2] UMBRELLA WITH RAIN DROPS..HOT BEVERAGE +2616..261B;N # So [6] WHITE SHOGI PIECE..BLACK RIGHT POINTING INDEX +261C;A # So WHITE LEFT POINTING INDEX +261D;N # So WHITE UP POINTING INDEX +261E;A # So WHITE RIGHT POINTING INDEX +261F..263F;N # So [33] WHITE DOWN POINTING INDEX..MERCURY +2640;A # So FEMALE SIGN +2641;N # So EARTH +2642;A # So MALE SIGN +2643..2647;N # So [5] JUPITER..PLUTO +2648..2653;W # So [12] ARIES..PISCES +2654..265F;N # So [12] WHITE CHESS KING..BLACK CHESS PAWN +2660..2661;A # So [2] BLACK SPADE SUIT..WHITE HEART SUIT +2662;N # So WHITE DIAMOND SUIT +2663..2665;A # So [3] BLACK CLUB SUIT..BLACK HEART SUIT +2666;N # So BLACK DIAMOND SUIT +2667..266A;A # So [4] WHITE CLUB SUIT..EIGHTH NOTE +266B;N # So BEAMED EIGHTH NOTES +266C..266D;A # So [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN +266E;N # So MUSIC NATURAL SIGN +266F;A # Sm MUSIC SHARP SIGN +2670..267E;N # So [15] WEST SYRIAC CROSS..PERMANENT PAPER SIGN +267F;W # So WHEELCHAIR SYMBOL +2680..2692;N # So [19] DIE FACE-1..HAMMER AND PICK +2693;W # So ANCHOR +2694..269D;N # So [10] CROSSED SWORDS..OUTLINED WHITE STAR +269E..269F;A # So [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT +26A0;N # So WARNING SIGN +26A1;W # So HIGH VOLTAGE SIGN +26A2..26A9;N # So [8] DOUBLED FEMALE SIGN..HORIZONTAL MALE WITH STROKE SIGN +26AA..26AB;W # So [2] MEDIUM WHITE CIRCLE..MEDIUM BLACK CIRCLE +26AC..26BC;N # So [17] MEDIUM SMALL WHITE CIRCLE..SESQUIQUADRATE +26BD..26BE;W # So [2] SOCCER BALL..BASEBALL +26BF;A # So SQUARED KEY +26C0..26C3;N # So [4] WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING +26C4..26C5;W # So [2] SNOWMAN WITHOUT SNOW..SUN BEHIND CLOUD +26C6..26CD;A # So [8] RAIN..DISABLED CAR +26CE;W # So OPHIUCHUS +26CF..26D3;A # So [5] PICK..CHAINS +26D4;W # So NO ENTRY +26D5..26E1;A # So [13] ALTERNATE ONE-WAY LEFT WAY TRAFFIC..RESTRICTED LEFT ENTRY-2 +26E2;N # So ASTRONOMICAL SYMBOL FOR URANUS +26E3;A # So HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE +26E4..26E7;N # So [4] PENTAGRAM..INVERTED PENTAGRAM +26E8..26E9;A # So [2] BLACK CROSS ON SHIELD..SHINTO SHRINE +26EA;W # So CHURCH +26EB..26F1;A # So [7] CASTLE..UMBRELLA ON GROUND +26F2..26F3;W # So [2] FOUNTAIN..FLAG IN HOLE +26F4;A # So FERRY +26F5;W # So SAILBOAT +26F6..26F9;A # So [4] SQUARE FOUR CORNERS..PERSON WITH BALL +26FA;W # So TENT +26FB..26FC;A # So [2] JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL +26FD;W # So FUEL PUMP +26FE..26FF;A # So [2] CUP ON BLACK SQUARE..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE +2700..2704;N # So [5] BLACK SAFETY SCISSORS..WHITE SCISSORS +2705;W # So WHITE HEAVY CHECK MARK +2706..2709;N # So [4] TELEPHONE LOCATION SIGN..ENVELOPE +270A..270B;W # So [2] RAISED FIST..RAISED HAND +270C..2727;N # So [28] VICTORY HAND..WHITE FOUR POINTED STAR +2728;W # So SPARKLES +2729..273C;N # So [20] STRESS OUTLINED WHITE STAR..OPEN CENTRE TEARDROP-SPOKED ASTERISK +273D;A # So HEAVY TEARDROP-SPOKED ASTERISK +273E..274B;N # So [14] SIX PETALLED BLACK AND WHITE FLORETTE..HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK +274C;W # So CROSS MARK +274D;N # So SHADOWED WHITE CIRCLE +274E;W # So NEGATIVE SQUARED CROSS MARK +274F..2752;N # So [4] LOWER RIGHT DROP-SHADOWED WHITE SQUARE..UPPER RIGHT SHADOWED WHITE SQUARE +2753..2755;W # So [3] BLACK QUESTION MARK ORNAMENT..WHITE EXCLAMATION MARK ORNAMENT +2756;N # So BLACK DIAMOND MINUS WHITE X +2757;W # So HEAVY EXCLAMATION MARK SYMBOL +2758..2767;N # So [16] LIGHT VERTICAL BAR..ROTATED FLORAL HEART BULLET +2768;N # Ps MEDIUM LEFT PARENTHESIS ORNAMENT +2769;N # Pe MEDIUM RIGHT PARENTHESIS ORNAMENT +276A;N # Ps MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT +276B;N # Pe MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT +276C;N # Ps MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT +276D;N # Pe MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT +276E;N # Ps HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT +276F;N # Pe HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT +2770;N # Ps HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT +2771;N # Pe HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT +2772;N # Ps LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT +2773;N # Pe LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT +2774;N # Ps MEDIUM LEFT CURLY BRACKET ORNAMENT +2775;N # Pe MEDIUM RIGHT CURLY BRACKET ORNAMENT +2776..277F;A # No [10] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED NUMBER TEN +2780..2793;N # No [20] DINGBAT CIRCLED SANS-SERIF DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN +2794;N # So HEAVY WIDE-HEADED RIGHTWARDS ARROW +2795..2797;W # So [3] HEAVY PLUS SIGN..HEAVY DIVISION SIGN +2798..27AF;N # So [24] HEAVY SOUTH EAST ARROW..NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW +27B0;W # So CURLY LOOP +27B1..27BE;N # So [14] NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW..OPEN-OUTLINED RIGHTWARDS ARROW +27BF;W # So DOUBLE CURLY LOOP +27C0..27C4;N # Sm [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET +27C5;N # Ps LEFT S-SHAPED BAG DELIMITER +27C6;N # Pe RIGHT S-SHAPED BAG DELIMITER +27C7..27E5;N # Sm [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK +27E6;Na # Ps MATHEMATICAL LEFT WHITE SQUARE BRACKET +27E7;Na # Pe MATHEMATICAL RIGHT WHITE SQUARE BRACKET +27E8;Na # Ps MATHEMATICAL LEFT ANGLE BRACKET +27E9;Na # Pe MATHEMATICAL RIGHT ANGLE BRACKET +27EA;Na # Ps MATHEMATICAL LEFT DOUBLE ANGLE BRACKET +27EB;Na # Pe MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET +27EC;Na # Ps MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET +27ED;Na # Pe MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET +27EE;N # Ps MATHEMATICAL LEFT FLATTENED PARENTHESIS +27EF;N # Pe MATHEMATICAL RIGHT FLATTENED PARENTHESIS +27F0..27FF;N # Sm [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW +2800..28FF;N # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678 +2900..297F;N # Sm [128] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..DOWN FISH TAIL +2980..2982;N # Sm [3] TRIPLE VERTICAL BAR DELIMITER..Z NOTATION TYPE COLON +2983;N # Ps LEFT WHITE CURLY BRACKET +2984;N # Pe RIGHT WHITE CURLY BRACKET +2985;Na # Ps LEFT WHITE PARENTHESIS +2986;Na # Pe RIGHT WHITE PARENTHESIS +2987;N # Ps Z NOTATION LEFT IMAGE BRACKET +2988;N # Pe Z NOTATION RIGHT IMAGE BRACKET +2989;N # Ps Z NOTATION LEFT BINDING BRACKET +298A;N # Pe Z NOTATION RIGHT BINDING BRACKET +298B;N # Ps LEFT SQUARE BRACKET WITH UNDERBAR +298C;N # Pe RIGHT SQUARE BRACKET WITH UNDERBAR +298D;N # Ps LEFT SQUARE BRACKET WITH TICK IN TOP CORNER +298E;N # Pe RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +298F;N # Ps LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER +2990;N # Pe RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER +2991;N # Ps LEFT ANGLE BRACKET WITH DOT +2992;N # Pe RIGHT ANGLE BRACKET WITH DOT +2993;N # Ps LEFT ARC LESS-THAN BRACKET +2994;N # Pe RIGHT ARC GREATER-THAN BRACKET +2995;N # Ps DOUBLE LEFT ARC GREATER-THAN BRACKET +2996;N # Pe DOUBLE RIGHT ARC LESS-THAN BRACKET +2997;N # Ps LEFT BLACK TORTOISE SHELL BRACKET +2998;N # Pe RIGHT BLACK TORTOISE SHELL BRACKET +2999..29D7;N # Sm [63] DOTTED FENCE..BLACK HOURGLASS +29D8;N # Ps LEFT WIGGLY FENCE +29D9;N # Pe RIGHT WIGGLY FENCE +29DA;N # Ps LEFT DOUBLE WIGGLY FENCE +29DB;N # Pe RIGHT DOUBLE WIGGLY FENCE +29DC..29FB;N # Sm [32] INCOMPLETE INFINITY..TRIPLE PLUS +29FC;N # Ps LEFT-POINTING CURVED ANGLE BRACKET +29FD;N # Pe RIGHT-POINTING CURVED ANGLE BRACKET +29FE..29FF;N # Sm [2] TINY..MINY +2A00..2AFF;N # Sm [256] N-ARY CIRCLED DOT OPERATOR..N-ARY WHITE VERTICAL BAR +2B00..2B1A;N # So [27] NORTH EAST WHITE ARROW..DOTTED SQUARE +2B1B..2B1C;W # So [2] BLACK LARGE SQUARE..WHITE LARGE SQUARE +2B1D..2B2F;N # So [19] BLACK VERY SMALL SQUARE..WHITE VERTICAL ELLIPSE +2B30..2B44;N # Sm [21] LEFT ARROW WITH SMALL CIRCLE..RIGHTWARDS ARROW THROUGH SUPERSET +2B45..2B46;N # So [2] LEFTWARDS QUADRUPLE ARROW..RIGHTWARDS QUADRUPLE ARROW +2B47..2B4C;N # Sm [6] REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW..RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR +2B4D..2B4F;N # So [3] DOWNWARDS TRIANGLE-HEADED ZIGZAG ARROW..SHORT BACKSLANTED SOUTH ARROW +2B50;W # So WHITE MEDIUM STAR +2B51..2B54;N # So [4] BLACK SMALL STAR..WHITE RIGHT-POINTING PENTAGON +2B55;W # So HEAVY LARGE CIRCLE +2B56..2B59;A # So [4] HEAVY OVAL WITH OVAL INSIDE..HEAVY CIRCLED SALTIRE +2B5A..2B73;N # So [26] SLANTED NORTH ARROW WITH HOOKED HEAD..DOWNWARDS TRIANGLE-HEADED ARROW TO BAR +2B76..2B95;N # So [32] NORTH WEST TRIANGLE-HEADED ARROW TO BAR..RIGHTWARDS BLACK ARROW +2B97..2BFF;N # So [105] SYMBOL FOR TYPE A ELECTRONICS..HELLSCHREIBER PAUSE SYMBOL +2C00..2C2E;N # Lu [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE +2C30..2C5E;N # Ll [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE +2C60..2C7B;N # L& [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E +2C7C..2C7D;N # Lm [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V +2C7E..2C7F;N # Lu [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL +2C80..2CE4;N # L& [101] COPTIC CAPITAL LETTER ALFA..COPTIC SYMBOL KAI +2CE5..2CEA;N # So [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA +2CEB..2CEE;N # L& [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA +2CEF..2CF1;N # Mn [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS +2CF2..2CF3;N # L& [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI +2CF9..2CFC;N # Po [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER +2CFD;N # No COPTIC FRACTION ONE HALF +2CFE..2CFF;N # Po [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER +2D00..2D25;N # Ll [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE +2D27;N # Ll GEORGIAN SMALL LETTER YN +2D2D;N # Ll GEORGIAN SMALL LETTER AEN +2D30..2D67;N # Lo [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO +2D6F;N # Lm TIFINAGH MODIFIER LETTER LABIALIZATION MARK +2D70;N # Po TIFINAGH SEPARATOR MARK +2D7F;N # Mn TIFINAGH CONSONANT JOINER +2D80..2D96;N # Lo [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE +2DA0..2DA6;N # Lo [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO +2DA8..2DAE;N # Lo [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO +2DB0..2DB6;N # Lo [7] ETHIOPIC SYLLABLE ZZA..ETHIOPIC SYLLABLE ZZO +2DB8..2DBE;N # Lo [7] ETHIOPIC SYLLABLE CCHA..ETHIOPIC SYLLABLE CCHO +2DC0..2DC6;N # Lo [7] ETHIOPIC SYLLABLE QYA..ETHIOPIC SYLLABLE QYO +2DC8..2DCE;N # Lo [7] ETHIOPIC SYLLABLE KYA..ETHIOPIC SYLLABLE KYO +2DD0..2DD6;N # Lo [7] ETHIOPIC SYLLABLE XYA..ETHIOPIC SYLLABLE XYO +2DD8..2DDE;N # Lo [7] ETHIOPIC SYLLABLE GYA..ETHIOPIC SYLLABLE GYO +2DE0..2DFF;N # Mn [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS +2E00..2E01;N # Po [2] RIGHT ANGLE SUBSTITUTION MARKER..RIGHT ANGLE DOTTED SUBSTITUTION MARKER +2E02;N # Pi LEFT SUBSTITUTION BRACKET +2E03;N # Pf RIGHT SUBSTITUTION BRACKET +2E04;N # Pi LEFT DOTTED SUBSTITUTION BRACKET +2E05;N # Pf RIGHT DOTTED SUBSTITUTION BRACKET +2E06..2E08;N # Po [3] RAISED INTERPOLATION MARKER..DOTTED TRANSPOSITION MARKER +2E09;N # Pi LEFT TRANSPOSITION BRACKET +2E0A;N # Pf RIGHT TRANSPOSITION BRACKET +2E0B;N # Po RAISED SQUARE +2E0C;N # Pi LEFT RAISED OMISSION BRACKET +2E0D;N # Pf RIGHT RAISED OMISSION BRACKET +2E0E..2E16;N # Po [9] EDITORIAL CORONIS..DOTTED RIGHT-POINTING ANGLE +2E17;N # Pd DOUBLE OBLIQUE HYPHEN +2E18..2E19;N # Po [2] INVERTED INTERROBANG..PALM BRANCH +2E1A;N # Pd HYPHEN WITH DIAERESIS +2E1B;N # Po TILDE WITH RING ABOVE +2E1C;N # Pi LEFT LOW PARAPHRASE BRACKET +2E1D;N # Pf RIGHT LOW PARAPHRASE BRACKET +2E1E..2E1F;N # Po [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW +2E20;N # Pi LEFT VERTICAL BAR WITH QUILL +2E21;N # Pf RIGHT VERTICAL BAR WITH QUILL +2E22;N # Ps TOP LEFT HALF BRACKET +2E23;N # Pe TOP RIGHT HALF BRACKET +2E24;N # Ps BOTTOM LEFT HALF BRACKET +2E25;N # Pe BOTTOM RIGHT HALF BRACKET +2E26;N # Ps LEFT SIDEWAYS U BRACKET +2E27;N # Pe RIGHT SIDEWAYS U BRACKET +2E28;N # Ps LEFT DOUBLE PARENTHESIS +2E29;N # Pe RIGHT DOUBLE PARENTHESIS +2E2A..2E2E;N # Po [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK +2E2F;N # Lm VERTICAL TILDE +2E30..2E39;N # Po [10] RING POINT..TOP HALF SECTION SIGN +2E3A..2E3B;N # Pd [2] TWO-EM DASH..THREE-EM DASH +2E3C..2E3F;N # Po [4] STENOGRAPHIC FULL STOP..CAPITULUM +2E40;N # Pd DOUBLE HYPHEN +2E41;N # Po REVERSED COMMA +2E42;N # Ps DOUBLE LOW-REVERSED-9 QUOTATION MARK +2E43..2E4F;N # Po [13] DASH WITH LEFT UPTURN..CORNISH VERSE DIVIDER +2E50..2E51;N # So [2] CROSS PATTY WITH RIGHT CROSSBAR..CROSS PATTY WITH LEFT CROSSBAR +2E52;N # Po TIRONIAN SIGN CAPITAL ET +2E80..2E99;W # So [26] CJK RADICAL REPEAT..CJK RADICAL RAP +2E9B..2EF3;W # So [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE +2F00..2FD5;W # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE +2FF0..2FFB;W # So [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID +3000;F # Zs IDEOGRAPHIC SPACE +3001..3003;W # Po [3] IDEOGRAPHIC COMMA..DITTO MARK +3004;W # So JAPANESE INDUSTRIAL STANDARD SYMBOL +3005;W # Lm IDEOGRAPHIC ITERATION MARK +3006;W # Lo IDEOGRAPHIC CLOSING MARK +3007;W # Nl IDEOGRAPHIC NUMBER ZERO +3008;W # Ps LEFT ANGLE BRACKET +3009;W # Pe RIGHT ANGLE BRACKET +300A;W # Ps LEFT DOUBLE ANGLE BRACKET +300B;W # Pe RIGHT DOUBLE ANGLE BRACKET +300C;W # Ps LEFT CORNER BRACKET +300D;W # Pe RIGHT CORNER BRACKET +300E;W # Ps LEFT WHITE CORNER BRACKET +300F;W # Pe RIGHT WHITE CORNER BRACKET +3010;W # Ps LEFT BLACK LENTICULAR BRACKET +3011;W # Pe RIGHT BLACK LENTICULAR BRACKET +3012..3013;W # So [2] POSTAL MARK..GETA MARK +3014;W # Ps LEFT TORTOISE SHELL BRACKET +3015;W # Pe RIGHT TORTOISE SHELL BRACKET +3016;W # Ps LEFT WHITE LENTICULAR BRACKET +3017;W # Pe RIGHT WHITE LENTICULAR BRACKET +3018;W # Ps LEFT WHITE TORTOISE SHELL BRACKET +3019;W # Pe RIGHT WHITE TORTOISE SHELL BRACKET +301A;W # Ps LEFT WHITE SQUARE BRACKET +301B;W # Pe RIGHT WHITE SQUARE BRACKET +301C;W # Pd WAVE DASH +301D;W # Ps REVERSED DOUBLE PRIME QUOTATION MARK +301E..301F;W # Pe [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK +3020;W # So POSTAL MARK FACE +3021..3029;W # Nl [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE +302A..302D;W # Mn [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK +302E..302F;W # Mc [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK +3030;W # Pd WAVY DASH +3031..3035;W # Lm [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF +3036..3037;W # So [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL +3038..303A;W # Nl [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY +303B;W # Lm VERTICAL IDEOGRAPHIC ITERATION MARK +303C;W # Lo MASU MARK +303D;W # Po PART ALTERNATION MARK +303E;W # So IDEOGRAPHIC VARIATION INDICATOR +303F;N # So IDEOGRAPHIC HALF FILL SPACE +3041..3096;W # Lo [86] HIRAGANA LETTER SMALL A..HIRAGANA LETTER SMALL KE +3099..309A;W # Mn [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +309B..309C;W # Sk [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +309D..309E;W # Lm [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK +309F;W # Lo HIRAGANA DIGRAPH YORI +30A0;W # Pd KATAKANA-HIRAGANA DOUBLE HYPHEN +30A1..30FA;W # Lo [90] KATAKANA LETTER SMALL A..KATAKANA LETTER VO +30FB;W # Po KATAKANA MIDDLE DOT +30FC..30FE;W # Lm [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK +30FF;W # Lo KATAKANA DIGRAPH KOTO +3105..312F;W # Lo [43] BOPOMOFO LETTER B..BOPOMOFO LETTER NN +3131..318E;W # Lo [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE +3190..3191;W # So [2] IDEOGRAPHIC ANNOTATION LINKING MARK..IDEOGRAPHIC ANNOTATION REVERSE MARK +3192..3195;W # No [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK +3196..319F;W # So [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK +31A0..31BF;W # Lo [32] BOPOMOFO LETTER BU..BOPOMOFO LETTER AH +31C0..31E3;W # So [36] CJK STROKE T..CJK STROKE Q +31F0..31FF;W # Lo [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO +3200..321E;W # So [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU +3220..3229;W # No [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN +322A..3247;W # So [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO +3248..324F;A # No [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE +3250;W # So PARTNERSHIP SIGN +3251..325F;W # No [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE +3260..327F;W # So [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL +3280..3289;W # No [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN +328A..32B0;W # So [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT +32B1..32BF;W # No [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY +32C0..32FF;W # So [64] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..SQUARE ERA NAME REIWA +3300..33FF;W # So [256] SQUARE APAATO..SQUARE GAL +3400..4DBF;W # Lo [6592] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DBF +4DC0..4DFF;N # So [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION +4E00..9FFC;W # Lo [20989] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FFC +9FFD..9FFF;W # Cn [3] .. +A000..A014;W # Lo [21] YI SYLLABLE IT..YI SYLLABLE E +A015;W # Lm YI SYLLABLE WU +A016..A48C;W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR +A490..A4C6;W # So [55] YI RADICAL QOT..YI RADICAL KE +A4D0..A4F7;N # Lo [40] LISU LETTER BA..LISU LETTER OE +A4F8..A4FD;N # Lm [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU +A4FE..A4FF;N # Po [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP +A500..A60B;N # Lo [268] VAI SYLLABLE EE..VAI SYLLABLE NG +A60C;N # Lm VAI SYLLABLE LENGTHENER +A60D..A60F;N # Po [3] VAI COMMA..VAI QUESTION MARK +A610..A61F;N # Lo [16] VAI SYLLABLE NDOLE FA..VAI SYMBOL JONG +A620..A629;N # Nd [10] VAI DIGIT ZERO..VAI DIGIT NINE +A62A..A62B;N # Lo [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO +A640..A66D;N # L& [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O +A66E;N # Lo CYRILLIC LETTER MULTIOCULAR O +A66F;N # Mn COMBINING CYRILLIC VZMET +A670..A672;N # Me [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN +A673;N # Po SLAVONIC ASTERISK +A674..A67D;N # Mn [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK +A67E;N # Po CYRILLIC KAVYKA +A67F;N # Lm CYRILLIC PAYEROK +A680..A69B;N # L& [28] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER CROSSED O +A69C..A69D;N # Lm [2] MODIFIER LETTER CYRILLIC HARD SIGN..MODIFIER LETTER CYRILLIC SOFT SIGN +A69E..A69F;N # Mn [2] COMBINING CYRILLIC LETTER EF..COMBINING CYRILLIC LETTER IOTIFIED E +A6A0..A6E5;N # Lo [70] BAMUM LETTER A..BAMUM LETTER KI +A6E6..A6EF;N # Nl [10] BAMUM LETTER MO..BAMUM LETTER KOGHOM +A6F0..A6F1;N # Mn [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS +A6F2..A6F7;N # Po [6] BAMUM NJAEMLI..BAMUM QUESTION MARK +A700..A716;N # Sk [23] MODIFIER LETTER CHINESE TONE YIN PING..MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR +A717..A71F;N # Lm [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK +A720..A721;N # Sk [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE +A722..A76F;N # L& [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON +A770;N # Lm MODIFIER LETTER US +A771..A787;N # L& [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T +A788;N # Lm MODIFIER LETTER LOW CIRCUMFLEX ACCENT +A789..A78A;N # Sk [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN +A78B..A78E;N # L& [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT +A78F;N # Lo LATIN LETTER SINOLOGICAL DOT +A790..A7BF;N # L& [48] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER GLOTTAL U +A7C2..A7CA;N # L& [9] LATIN CAPITAL LETTER ANGLICANA W..LATIN SMALL LETTER S WITH SHORT STROKE OVERLAY +A7F5..A7F6;N # L& [2] LATIN CAPITAL LETTER REVERSED HALF H..LATIN SMALL LETTER REVERSED HALF H +A7F7;N # Lo LATIN EPIGRAPHIC LETTER SIDEWAYS I +A7F8..A7F9;N # Lm [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE +A7FA;N # Ll LATIN LETTER SMALL CAPITAL TURNED M +A7FB..A7FF;N # Lo [5] LATIN EPIGRAPHIC LETTER REVERSED F..LATIN EPIGRAPHIC LETTER ARCHAIC M +A800..A801;N # Lo [2] SYLOTI NAGRI LETTER A..SYLOTI NAGRI LETTER I +A802;N # Mn SYLOTI NAGRI SIGN DVISVARA +A803..A805;N # Lo [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O +A806;N # Mn SYLOTI NAGRI SIGN HASANTA +A807..A80A;N # Lo [4] SYLOTI NAGRI LETTER KO..SYLOTI NAGRI LETTER GHO +A80B;N # Mn SYLOTI NAGRI SIGN ANUSVARA +A80C..A822;N # Lo [23] SYLOTI NAGRI LETTER CO..SYLOTI NAGRI LETTER HO +A823..A824;N # Mc [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I +A825..A826;N # Mn [2] SYLOTI NAGRI VOWEL SIGN U..SYLOTI NAGRI VOWEL SIGN E +A827;N # Mc SYLOTI NAGRI VOWEL SIGN OO +A828..A82B;N # So [4] SYLOTI NAGRI POETRY MARK-1..SYLOTI NAGRI POETRY MARK-4 +A82C;N # Mn SYLOTI NAGRI SIGN ALTERNATE HASANTA +A830..A835;N # No [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS +A836..A837;N # So [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK +A838;N # Sc NORTH INDIC RUPEE MARK +A839;N # So NORTH INDIC QUANTITY MARK +A840..A873;N # Lo [52] PHAGS-PA LETTER KA..PHAGS-PA LETTER CANDRABINDU +A874..A877;N # Po [4] PHAGS-PA SINGLE HEAD MARK..PHAGS-PA MARK DOUBLE SHAD +A880..A881;N # Mc [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA +A882..A8B3;N # Lo [50] SAURASHTRA LETTER A..SAURASHTRA LETTER LLA +A8B4..A8C3;N # Mc [16] SAURASHTRA CONSONANT SIGN HAARU..SAURASHTRA VOWEL SIGN AU +A8C4..A8C5;N # Mn [2] SAURASHTRA SIGN VIRAMA..SAURASHTRA SIGN CANDRABINDU +A8CE..A8CF;N # Po [2] SAURASHTRA DANDA..SAURASHTRA DOUBLE DANDA +A8D0..A8D9;N # Nd [10] SAURASHTRA DIGIT ZERO..SAURASHTRA DIGIT NINE +A8E0..A8F1;N # Mn [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA +A8F2..A8F7;N # Lo [6] DEVANAGARI SIGN SPACING CANDRABINDU..DEVANAGARI SIGN CANDRABINDU AVAGRAHA +A8F8..A8FA;N # Po [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET +A8FB;N # Lo DEVANAGARI HEADSTROKE +A8FC;N # Po DEVANAGARI SIGN SIDDHAM +A8FD..A8FE;N # Lo [2] DEVANAGARI JAIN OM..DEVANAGARI LETTER AY +A8FF;N # Mn DEVANAGARI VOWEL SIGN AY +A900..A909;N # Nd [10] KAYAH LI DIGIT ZERO..KAYAH LI DIGIT NINE +A90A..A925;N # Lo [28] KAYAH LI LETTER KA..KAYAH LI LETTER OO +A926..A92D;N # Mn [8] KAYAH LI VOWEL UE..KAYAH LI TONE CALYA PLOPHU +A92E..A92F;N # Po [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA +A930..A946;N # Lo [23] REJANG LETTER KA..REJANG LETTER A +A947..A951;N # Mn [11] REJANG VOWEL SIGN I..REJANG CONSONANT SIGN R +A952..A953;N # Mc [2] REJANG CONSONANT SIGN H..REJANG VIRAMA +A95F;N # Po REJANG SECTION MARK +A960..A97C;W # Lo [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH +A980..A982;N # Mn [3] JAVANESE SIGN PANYANGGA..JAVANESE SIGN LAYAR +A983;N # Mc JAVANESE SIGN WIGNYAN +A984..A9B2;N # Lo [47] JAVANESE LETTER A..JAVANESE LETTER HA +A9B3;N # Mn JAVANESE SIGN CECAK TELU +A9B4..A9B5;N # Mc [2] JAVANESE VOWEL SIGN TARUNG..JAVANESE VOWEL SIGN TOLONG +A9B6..A9B9;N # Mn [4] JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU MENDUT +A9BA..A9BB;N # Mc [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE +A9BC..A9BD;N # Mn [2] JAVANESE VOWEL SIGN PEPET..JAVANESE CONSONANT SIGN KERET +A9BE..A9C0;N # Mc [3] JAVANESE CONSONANT SIGN PENGKAL..JAVANESE PANGKON +A9C1..A9CD;N # Po [13] JAVANESE LEFT RERENGGAN..JAVANESE TURNED PADA PISELEH +A9CF;N # Lm JAVANESE PANGRANGKEP +A9D0..A9D9;N # Nd [10] JAVANESE DIGIT ZERO..JAVANESE DIGIT NINE +A9DE..A9DF;N # Po [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN +A9E0..A9E4;N # Lo [5] MYANMAR LETTER SHAN GHA..MYANMAR LETTER SHAN BHA +A9E5;N # Mn MYANMAR SIGN SHAN SAW +A9E6;N # Lm MYANMAR MODIFIER LETTER SHAN REDUPLICATION +A9E7..A9EF;N # Lo [9] MYANMAR LETTER TAI LAING NYA..MYANMAR LETTER TAI LAING NNA +A9F0..A9F9;N # Nd [10] MYANMAR TAI LAING DIGIT ZERO..MYANMAR TAI LAING DIGIT NINE +A9FA..A9FE;N # Lo [5] MYANMAR LETTER TAI LAING LLA..MYANMAR LETTER TAI LAING BHA +AA00..AA28;N # Lo [41] CHAM LETTER A..CHAM LETTER HA +AA29..AA2E;N # Mn [6] CHAM VOWEL SIGN AA..CHAM VOWEL SIGN OE +AA2F..AA30;N # Mc [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI +AA31..AA32;N # Mn [2] CHAM VOWEL SIGN AU..CHAM VOWEL SIGN UE +AA33..AA34;N # Mc [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA +AA35..AA36;N # Mn [2] CHAM CONSONANT SIGN LA..CHAM CONSONANT SIGN WA +AA40..AA42;N # Lo [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG +AA43;N # Mn CHAM CONSONANT SIGN FINAL NG +AA44..AA4B;N # Lo [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS +AA4C;N # Mn CHAM CONSONANT SIGN FINAL M +AA4D;N # Mc CHAM CONSONANT SIGN FINAL H +AA50..AA59;N # Nd [10] CHAM DIGIT ZERO..CHAM DIGIT NINE +AA5C..AA5F;N # Po [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA +AA60..AA6F;N # Lo [16] MYANMAR LETTER KHAMTI GA..MYANMAR LETTER KHAMTI FA +AA70;N # Lm MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION +AA71..AA76;N # Lo [6] MYANMAR LETTER KHAMTI XA..MYANMAR LOGOGRAM KHAMTI HM +AA77..AA79;N # So [3] MYANMAR SYMBOL AITON EXCLAMATION..MYANMAR SYMBOL AITON TWO +AA7A;N # Lo MYANMAR LETTER AITON RA +AA7B;N # Mc MYANMAR SIGN PAO KAREN TONE +AA7C;N # Mn MYANMAR SIGN TAI LAING TONE-2 +AA7D;N # Mc MYANMAR SIGN TAI LAING TONE-5 +AA7E..AA7F;N # Lo [2] MYANMAR LETTER SHWE PALAUNG CHA..MYANMAR LETTER SHWE PALAUNG SHA +AA80..AAAF;N # Lo [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O +AAB0;N # Mn TAI VIET MAI KANG +AAB1;N # Lo TAI VIET VOWEL AA +AAB2..AAB4;N # Mn [3] TAI VIET VOWEL I..TAI VIET VOWEL U +AAB5..AAB6;N # Lo [2] TAI VIET VOWEL E..TAI VIET VOWEL O +AAB7..AAB8;N # Mn [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA +AAB9..AABD;N # Lo [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN +AABE..AABF;N # Mn [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK +AAC0;N # Lo TAI VIET TONE MAI NUENG +AAC1;N # Mn TAI VIET TONE MAI THO +AAC2;N # Lo TAI VIET TONE MAI SONG +AADB..AADC;N # Lo [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG +AADD;N # Lm TAI VIET SYMBOL SAM +AADE..AADF;N # Po [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI +AAE0..AAEA;N # Lo [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA +AAEB;N # Mc MEETEI MAYEK VOWEL SIGN II +AAEC..AAED;N # Mn [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI +AAEE..AAEF;N # Mc [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU +AAF0..AAF1;N # Po [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM +AAF2;N # Lo MEETEI MAYEK ANJI +AAF3..AAF4;N # Lm [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK +AAF5;N # Mc MEETEI MAYEK VOWEL SIGN VISARGA +AAF6;N # Mn MEETEI MAYEK VIRAMA +AB01..AB06;N # Lo [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO +AB09..AB0E;N # Lo [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO +AB11..AB16;N # Lo [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO +AB20..AB26;N # Lo [7] ETHIOPIC SYLLABLE CCHHA..ETHIOPIC SYLLABLE CCHHO +AB28..AB2E;N # Lo [7] ETHIOPIC SYLLABLE BBA..ETHIOPIC SYLLABLE BBO +AB30..AB5A;N # Ll [43] LATIN SMALL LETTER BARRED ALPHA..LATIN SMALL LETTER Y WITH SHORT RIGHT LEG +AB5B;N # Sk MODIFIER BREVE WITH INVERTED BREVE +AB5C..AB5F;N # Lm [4] MODIFIER LETTER SMALL HENG..MODIFIER LETTER SMALL U WITH LEFT HOOK +AB60..AB68;N # Ll [9] LATIN SMALL LETTER SAKHA YAT..LATIN SMALL LETTER TURNED R WITH MIDDLE TILDE +AB69;N # Lm MODIFIER LETTER SMALL TURNED W +AB6A..AB6B;N # Sk [2] MODIFIER LETTER LEFT TACK..MODIFIER LETTER RIGHT TACK +AB70..ABBF;N # Ll [80] CHEROKEE SMALL LETTER A..CHEROKEE SMALL LETTER YA +ABC0..ABE2;N # Lo [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM +ABE3..ABE4;N # Mc [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP +ABE5;N # Mn MEETEI MAYEK VOWEL SIGN ANAP +ABE6..ABE7;N # Mc [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP +ABE8;N # Mn MEETEI MAYEK VOWEL SIGN UNAP +ABE9..ABEA;N # Mc [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG +ABEB;N # Po MEETEI MAYEK CHEIKHEI +ABEC;N # Mc MEETEI MAYEK LUM IYEK +ABED;N # Mn MEETEI MAYEK APUN IYEK +ABF0..ABF9;N # Nd [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE +AC00..D7A3;W # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH +D7B0..D7C6;N # Lo [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E +D7CB..D7FB;N # Lo [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH +D800..DB7F;N # Cs [896] .. +DB80..DBFF;N # Cs [128] .. +DC00..DFFF;N # Cs [1024] .. +E000..F8FF;A # Co [6400] .. +F900..FA6D;W # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D +FA6E..FA6F;W # Cn [2] .. +FA70..FAD9;W # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9 +FADA..FAFF;W # Cn [38] .. +FB00..FB06;N # Ll [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST +FB13..FB17;N # Ll [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH +FB1D;N # Lo HEBREW LETTER YOD WITH HIRIQ +FB1E;N # Mn HEBREW POINT JUDEO-SPANISH VARIKA +FB1F..FB28;N # Lo [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV +FB29;N # Sm HEBREW LETTER ALTERNATIVE PLUS SIGN +FB2A..FB36;N # Lo [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH +FB38..FB3C;N # Lo [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH +FB3E;N # Lo HEBREW LETTER MEM WITH DAGESH +FB40..FB41;N # Lo [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH +FB43..FB44;N # Lo [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH +FB46..FB4F;N # Lo [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED +FB50..FBB1;N # Lo [98] ARABIC LETTER ALEF WASLA ISOLATED FORM..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM +FBB2..FBC1;N # Sk [16] ARABIC SYMBOL DOT ABOVE..ARABIC SYMBOL SMALL TAH BELOW +FBD3..FD3D;N # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM +FD3E;N # Pe ORNATE LEFT PARENTHESIS +FD3F;N # Ps ORNATE RIGHT PARENTHESIS +FD50..FD8F;N # Lo [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM +FD92..FDC7;N # Lo [54] ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM..ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM +FDF0..FDFB;N # Lo [12] ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM..ARABIC LIGATURE JALLAJALALOUHOU +FDFC;N # Sc RIAL SIGN +FDFD;N # So ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM +FE00..FE0F;A # Mn [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16 +FE10..FE16;W # Po [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK +FE17;W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET +FE18;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET +FE19;W # Po PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS +FE20..FE2F;N # Mn [16] COMBINING LIGATURE LEFT HALF..COMBINING CYRILLIC TITLO RIGHT HALF +FE30;W # Po PRESENTATION FORM FOR VERTICAL TWO DOT LEADER +FE31..FE32;W # Pd [2] PRESENTATION FORM FOR VERTICAL EM DASH..PRESENTATION FORM FOR VERTICAL EN DASH +FE33..FE34;W # Pc [2] PRESENTATION FORM FOR VERTICAL LOW LINE..PRESENTATION FORM FOR VERTICAL WAVY LOW LINE +FE35;W # Ps PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS +FE36;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS +FE37;W # Ps PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET +FE38;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET +FE39;W # Ps PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET +FE3A;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET +FE3B;W # Ps PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET +FE3C;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET +FE3D;W # Ps PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET +FE3E;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET +FE3F;W # Ps PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET +FE40;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET +FE41;W # Ps PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET +FE42;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET +FE43;W # Ps PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET +FE44;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET +FE45..FE46;W # Po [2] SESAME DOT..WHITE SESAME DOT +FE47;W # Ps PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET +FE48;W # Pe PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET +FE49..FE4C;W # Po [4] DASHED OVERLINE..DOUBLE WAVY OVERLINE +FE4D..FE4F;W # Pc [3] DASHED LOW LINE..WAVY LOW LINE +FE50..FE52;W # Po [3] SMALL COMMA..SMALL FULL STOP +FE54..FE57;W # Po [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK +FE58;W # Pd SMALL EM DASH +FE59;W # Ps SMALL LEFT PARENTHESIS +FE5A;W # Pe SMALL RIGHT PARENTHESIS +FE5B;W # Ps SMALL LEFT CURLY BRACKET +FE5C;W # Pe SMALL RIGHT CURLY BRACKET +FE5D;W # Ps SMALL LEFT TORTOISE SHELL BRACKET +FE5E;W # Pe SMALL RIGHT TORTOISE SHELL BRACKET +FE5F..FE61;W # Po [3] SMALL NUMBER SIGN..SMALL ASTERISK +FE62;W # Sm SMALL PLUS SIGN +FE63;W # Pd SMALL HYPHEN-MINUS +FE64..FE66;W # Sm [3] SMALL LESS-THAN SIGN..SMALL EQUALS SIGN +FE68;W # Po SMALL REVERSE SOLIDUS +FE69;W # Sc SMALL DOLLAR SIGN +FE6A..FE6B;W # Po [2] SMALL PERCENT SIGN..SMALL COMMERCIAL AT +FE70..FE74;N # Lo [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM +FE76..FEFC;N # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM +FEFF;N # Cf ZERO WIDTH NO-BREAK SPACE +FF01..FF03;F # Po [3] FULLWIDTH EXCLAMATION MARK..FULLWIDTH NUMBER SIGN +FF04;F # Sc FULLWIDTH DOLLAR SIGN +FF05..FF07;F # Po [3] FULLWIDTH PERCENT SIGN..FULLWIDTH APOSTROPHE +FF08;F # Ps FULLWIDTH LEFT PARENTHESIS +FF09;F # Pe FULLWIDTH RIGHT PARENTHESIS +FF0A;F # Po FULLWIDTH ASTERISK +FF0B;F # Sm FULLWIDTH PLUS SIGN +FF0C;F # Po FULLWIDTH COMMA +FF0D;F # Pd FULLWIDTH HYPHEN-MINUS +FF0E..FF0F;F # Po [2] FULLWIDTH FULL STOP..FULLWIDTH SOLIDUS +FF10..FF19;F # Nd [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE +FF1A..FF1B;F # Po [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON +FF1C..FF1E;F # Sm [3] FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN SIGN +FF1F..FF20;F # Po [2] FULLWIDTH QUESTION MARK..FULLWIDTH COMMERCIAL AT +FF21..FF3A;F # Lu [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z +FF3B;F # Ps FULLWIDTH LEFT SQUARE BRACKET +FF3C;F # Po FULLWIDTH REVERSE SOLIDUS +FF3D;F # Pe FULLWIDTH RIGHT SQUARE BRACKET +FF3E;F # Sk FULLWIDTH CIRCUMFLEX ACCENT +FF3F;F # Pc FULLWIDTH LOW LINE +FF40;F # Sk FULLWIDTH GRAVE ACCENT +FF41..FF5A;F # Ll [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z +FF5B;F # Ps FULLWIDTH LEFT CURLY BRACKET +FF5C;F # Sm FULLWIDTH VERTICAL LINE +FF5D;F # Pe FULLWIDTH RIGHT CURLY BRACKET +FF5E;F # Sm FULLWIDTH TILDE +FF5F;F # Ps FULLWIDTH LEFT WHITE PARENTHESIS +FF60;F # Pe FULLWIDTH RIGHT WHITE PARENTHESIS +FF61;H # Po HALFWIDTH IDEOGRAPHIC FULL STOP +FF62;H # Ps HALFWIDTH LEFT CORNER BRACKET +FF63;H # Pe HALFWIDTH RIGHT CORNER BRACKET +FF64..FF65;H # Po [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT +FF66..FF6F;H # Lo [10] HALFWIDTH KATAKANA LETTER WO..HALFWIDTH KATAKANA LETTER SMALL TU +FF70;H # Lm HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +FF71..FF9D;H # Lo [45] HALFWIDTH KATAKANA LETTER A..HALFWIDTH KATAKANA LETTER N +FF9E..FF9F;H # Lm [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +FFA0..FFBE;H # Lo [31] HALFWIDTH HANGUL FILLER..HALFWIDTH HANGUL LETTER HIEUH +FFC2..FFC7;H # Lo [6] HALFWIDTH HANGUL LETTER A..HALFWIDTH HANGUL LETTER E +FFCA..FFCF;H # Lo [6] HALFWIDTH HANGUL LETTER YEO..HALFWIDTH HANGUL LETTER OE +FFD2..FFD7;H # Lo [6] HALFWIDTH HANGUL LETTER YO..HALFWIDTH HANGUL LETTER YU +FFDA..FFDC;H # Lo [3] HALFWIDTH HANGUL LETTER EU..HALFWIDTH HANGUL LETTER I +FFE0..FFE1;F # Sc [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN +FFE2;F # Sm FULLWIDTH NOT SIGN +FFE3;F # Sk FULLWIDTH MACRON +FFE4;F # So FULLWIDTH BROKEN BAR +FFE5..FFE6;F # Sc [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN +FFE8;H # So HALFWIDTH FORMS LIGHT VERTICAL +FFE9..FFEC;H # Sm [4] HALFWIDTH LEFTWARDS ARROW..HALFWIDTH DOWNWARDS ARROW +FFED..FFEE;H # So [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE +FFF9..FFFB;N # Cf [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR +FFFC;N # So OBJECT REPLACEMENT CHARACTER +FFFD;A # So REPLACEMENT CHARACTER +10000..1000B;N # Lo [12] LINEAR B SYLLABLE B008 A..LINEAR B SYLLABLE B046 JE +1000D..10026;N # Lo [26] LINEAR B SYLLABLE B036 JO..LINEAR B SYLLABLE B032 QO +10028..1003A;N # Lo [19] LINEAR B SYLLABLE B060 RA..LINEAR B SYLLABLE B042 WO +1003C..1003D;N # Lo [2] LINEAR B SYLLABLE B017 ZA..LINEAR B SYLLABLE B074 ZE +1003F..1004D;N # Lo [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO +10050..1005D;N # Lo [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089 +10080..100FA;N # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305 +10100..10102;N # Po [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK +10107..10133;N # No [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND +10137..1013F;N # So [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT +10140..10174;N # Nl [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS +10175..10178;N # No [4] GREEK ONE HALF SIGN..GREEK THREE QUARTERS SIGN +10179..10189;N # So [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN +1018A..1018B;N # No [2] GREEK ZERO SIGN..GREEK ONE QUARTER SIGN +1018C..1018E;N # So [3] GREEK SINUSOID SIGN..NOMISMA SIGN +10190..1019C;N # So [13] ROMAN SEXTANS SIGN..ASCIA SYMBOL +101A0;N # So GREEK SYMBOL TAU RHO +101D0..101FC;N # So [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND +101FD;N # Mn PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE +10280..1029C;N # Lo [29] LYCIAN LETTER A..LYCIAN LETTER X +102A0..102D0;N # Lo [49] CARIAN LETTER A..CARIAN LETTER UUU3 +102E0;N # Mn COPTIC EPACT THOUSANDS MARK +102E1..102FB;N # No [27] COPTIC EPACT DIGIT ONE..COPTIC EPACT NUMBER NINE HUNDRED +10300..1031F;N # Lo [32] OLD ITALIC LETTER A..OLD ITALIC LETTER ESS +10320..10323;N # No [4] OLD ITALIC NUMERAL ONE..OLD ITALIC NUMERAL FIFTY +1032D..1032F;N # Lo [3] OLD ITALIC LETTER YE..OLD ITALIC LETTER SOUTHERN TSE +10330..10340;N # Lo [17] GOTHIC LETTER AHSA..GOTHIC LETTER PAIRTHRA +10341;N # Nl GOTHIC LETTER NINETY +10342..10349;N # Lo [8] GOTHIC LETTER RAIDA..GOTHIC LETTER OTHAL +1034A;N # Nl GOTHIC LETTER NINE HUNDRED +10350..10375;N # Lo [38] OLD PERMIC LETTER AN..OLD PERMIC LETTER IA +10376..1037A;N # Mn [5] COMBINING OLD PERMIC LETTER AN..COMBINING OLD PERMIC LETTER SII +10380..1039D;N # Lo [30] UGARITIC LETTER ALPA..UGARITIC LETTER SSU +1039F;N # Po UGARITIC WORD DIVIDER +103A0..103C3;N # Lo [36] OLD PERSIAN SIGN A..OLD PERSIAN SIGN HA +103C8..103CF;N # Lo [8] OLD PERSIAN SIGN AURAMAZDAA..OLD PERSIAN SIGN BUUMISH +103D0;N # Po OLD PERSIAN WORD DIVIDER +103D1..103D5;N # Nl [5] OLD PERSIAN NUMBER ONE..OLD PERSIAN NUMBER HUNDRED +10400..1044F;N # L& [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW +10450..1047F;N # Lo [48] SHAVIAN LETTER PEEP..SHAVIAN LETTER YEW +10480..1049D;N # Lo [30] OSMANYA LETTER ALEF..OSMANYA LETTER OO +104A0..104A9;N # Nd [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE +104B0..104D3;N # Lu [36] OSAGE CAPITAL LETTER A..OSAGE CAPITAL LETTER ZHA +104D8..104FB;N # Ll [36] OSAGE SMALL LETTER A..OSAGE SMALL LETTER ZHA +10500..10527;N # Lo [40] ELBASAN LETTER A..ELBASAN LETTER KHE +10530..10563;N # Lo [52] CAUCASIAN ALBANIAN LETTER ALT..CAUCASIAN ALBANIAN LETTER KIW +1056F;N # Po CAUCASIAN ALBANIAN CITATION MARK +10600..10736;N # Lo [311] LINEAR A SIGN AB001..LINEAR A SIGN A664 +10740..10755;N # Lo [22] LINEAR A SIGN A701 A..LINEAR A SIGN A732 JE +10760..10767;N # Lo [8] LINEAR A SIGN A800..LINEAR A SIGN A807 +10800..10805;N # Lo [6] CYPRIOT SYLLABLE A..CYPRIOT SYLLABLE JA +10808;N # Lo CYPRIOT SYLLABLE JO +1080A..10835;N # Lo [44] CYPRIOT SYLLABLE KA..CYPRIOT SYLLABLE WO +10837..10838;N # Lo [2] CYPRIOT SYLLABLE XA..CYPRIOT SYLLABLE XE +1083C;N # Lo CYPRIOT SYLLABLE ZA +1083F;N # Lo CYPRIOT SYLLABLE ZO +10840..10855;N # Lo [22] IMPERIAL ARAMAIC LETTER ALEPH..IMPERIAL ARAMAIC LETTER TAW +10857;N # Po IMPERIAL ARAMAIC SECTION SIGN +10858..1085F;N # No [8] IMPERIAL ARAMAIC NUMBER ONE..IMPERIAL ARAMAIC NUMBER TEN THOUSAND +10860..10876;N # Lo [23] PALMYRENE LETTER ALEPH..PALMYRENE LETTER TAW +10877..10878;N # So [2] PALMYRENE LEFT-POINTING FLEURON..PALMYRENE RIGHT-POINTING FLEURON +10879..1087F;N # No [7] PALMYRENE NUMBER ONE..PALMYRENE NUMBER TWENTY +10880..1089E;N # Lo [31] NABATAEAN LETTER FINAL ALEPH..NABATAEAN LETTER TAW +108A7..108AF;N # No [9] NABATAEAN NUMBER ONE..NABATAEAN NUMBER ONE HUNDRED +108E0..108F2;N # Lo [19] HATRAN LETTER ALEPH..HATRAN LETTER QOPH +108F4..108F5;N # Lo [2] HATRAN LETTER SHIN..HATRAN LETTER TAW +108FB..108FF;N # No [5] HATRAN NUMBER ONE..HATRAN NUMBER ONE HUNDRED +10900..10915;N # Lo [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU +10916..1091B;N # No [6] PHOENICIAN NUMBER ONE..PHOENICIAN NUMBER THREE +1091F;N # Po PHOENICIAN WORD SEPARATOR +10920..10939;N # Lo [26] LYDIAN LETTER A..LYDIAN LETTER C +1093F;N # Po LYDIAN TRIANGULAR MARK +10980..1099F;N # Lo [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2 +109A0..109B7;N # Lo [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA +109BC..109BD;N # No [2] MEROITIC CURSIVE FRACTION ELEVEN TWELFTHS..MEROITIC CURSIVE FRACTION ONE HALF +109BE..109BF;N # Lo [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN +109C0..109CF;N # No [16] MEROITIC CURSIVE NUMBER ONE..MEROITIC CURSIVE NUMBER SEVENTY +109D2..109FF;N # No [46] MEROITIC CURSIVE NUMBER ONE HUNDRED..MEROITIC CURSIVE FRACTION TEN TWELFTHS +10A00;N # Lo KHAROSHTHI LETTER A +10A01..10A03;N # Mn [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R +10A05..10A06;N # Mn [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O +10A0C..10A0F;N # Mn [4] KHAROSHTHI VOWEL LENGTH MARK..KHAROSHTHI SIGN VISARGA +10A10..10A13;N # Lo [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA +10A15..10A17;N # Lo [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA +10A19..10A35;N # Lo [29] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER VHA +10A38..10A3A;N # Mn [3] KHAROSHTHI SIGN BAR ABOVE..KHAROSHTHI SIGN DOT BELOW +10A3F;N # Mn KHAROSHTHI VIRAMA +10A40..10A48;N # No [9] KHAROSHTHI DIGIT ONE..KHAROSHTHI FRACTION ONE HALF +10A50..10A58;N # Po [9] KHAROSHTHI PUNCTUATION DOT..KHAROSHTHI PUNCTUATION LINES +10A60..10A7C;N # Lo [29] OLD SOUTH ARABIAN LETTER HE..OLD SOUTH ARABIAN LETTER THETH +10A7D..10A7E;N # No [2] OLD SOUTH ARABIAN NUMBER ONE..OLD SOUTH ARABIAN NUMBER FIFTY +10A7F;N # Po OLD SOUTH ARABIAN NUMERIC INDICATOR +10A80..10A9C;N # Lo [29] OLD NORTH ARABIAN LETTER HEH..OLD NORTH ARABIAN LETTER ZAH +10A9D..10A9F;N # No [3] OLD NORTH ARABIAN NUMBER ONE..OLD NORTH ARABIAN NUMBER TWENTY +10AC0..10AC7;N # Lo [8] MANICHAEAN LETTER ALEPH..MANICHAEAN LETTER WAW +10AC8;N # So MANICHAEAN SIGN UD +10AC9..10AE4;N # Lo [28] MANICHAEAN LETTER ZAYIN..MANICHAEAN LETTER TAW +10AE5..10AE6;N # Mn [2] MANICHAEAN ABBREVIATION MARK ABOVE..MANICHAEAN ABBREVIATION MARK BELOW +10AEB..10AEF;N # No [5] MANICHAEAN NUMBER ONE..MANICHAEAN NUMBER ONE HUNDRED +10AF0..10AF6;N # Po [7] MANICHAEAN PUNCTUATION STAR..MANICHAEAN PUNCTUATION LINE FILLER +10B00..10B35;N # Lo [54] AVESTAN LETTER A..AVESTAN LETTER HE +10B39..10B3F;N # Po [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION +10B40..10B55;N # Lo [22] INSCRIPTIONAL PARTHIAN LETTER ALEPH..INSCRIPTIONAL PARTHIAN LETTER TAW +10B58..10B5F;N # No [8] INSCRIPTIONAL PARTHIAN NUMBER ONE..INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND +10B60..10B72;N # Lo [19] INSCRIPTIONAL PAHLAVI LETTER ALEPH..INSCRIPTIONAL PAHLAVI LETTER TAW +10B78..10B7F;N # No [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND +10B80..10B91;N # Lo [18] PSALTER PAHLAVI LETTER ALEPH..PSALTER PAHLAVI LETTER TAW +10B99..10B9C;N # Po [4] PSALTER PAHLAVI SECTION MARK..PSALTER PAHLAVI FOUR DOTS WITH DOT +10BA9..10BAF;N # No [7] PSALTER PAHLAVI NUMBER ONE..PSALTER PAHLAVI NUMBER ONE HUNDRED +10C00..10C48;N # Lo [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH +10C80..10CB2;N # Lu [51] OLD HUNGARIAN CAPITAL LETTER A..OLD HUNGARIAN CAPITAL LETTER US +10CC0..10CF2;N # Ll [51] OLD HUNGARIAN SMALL LETTER A..OLD HUNGARIAN SMALL LETTER US +10CFA..10CFF;N # No [6] OLD HUNGARIAN NUMBER ONE..OLD HUNGARIAN NUMBER ONE THOUSAND +10D00..10D23;N # Lo [36] HANIFI ROHINGYA LETTER A..HANIFI ROHINGYA MARK NA KHONNA +10D24..10D27;N # Mn [4] HANIFI ROHINGYA SIGN HARBAHAY..HANIFI ROHINGYA SIGN TASSI +10D30..10D39;N # Nd [10] HANIFI ROHINGYA DIGIT ZERO..HANIFI ROHINGYA DIGIT NINE +10E60..10E7E;N # No [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS +10E80..10EA9;N # Lo [42] YEZIDI LETTER ELIF..YEZIDI LETTER ET +10EAB..10EAC;N # Mn [2] YEZIDI COMBINING HAMZA MARK..YEZIDI COMBINING MADDA MARK +10EAD;N # Pd YEZIDI HYPHENATION MARK +10EB0..10EB1;N # Lo [2] YEZIDI LETTER LAM WITH DOT ABOVE..YEZIDI LETTER YOT WITH CIRCUMFLEX ABOVE +10F00..10F1C;N # Lo [29] OLD SOGDIAN LETTER ALEPH..OLD SOGDIAN LETTER FINAL TAW WITH VERTICAL TAIL +10F1D..10F26;N # No [10] OLD SOGDIAN NUMBER ONE..OLD SOGDIAN FRACTION ONE HALF +10F27;N # Lo OLD SOGDIAN LIGATURE AYIN-DALETH +10F30..10F45;N # Lo [22] SOGDIAN LETTER ALEPH..SOGDIAN INDEPENDENT SHIN +10F46..10F50;N # Mn [11] SOGDIAN COMBINING DOT BELOW..SOGDIAN COMBINING STROKE BELOW +10F51..10F54;N # No [4] SOGDIAN NUMBER ONE..SOGDIAN NUMBER ONE HUNDRED +10F55..10F59;N # Po [5] SOGDIAN PUNCTUATION TWO VERTICAL BARS..SOGDIAN PUNCTUATION HALF CIRCLE WITH DOT +10FB0..10FC4;N # Lo [21] CHORASMIAN LETTER ALEPH..CHORASMIAN LETTER TAW +10FC5..10FCB;N # No [7] CHORASMIAN NUMBER ONE..CHORASMIAN NUMBER ONE HUNDRED +10FE0..10FF6;N # Lo [23] ELYMAIC LETTER ALEPH..ELYMAIC LIGATURE ZAYIN-YODH +11000;N # Mc BRAHMI SIGN CANDRABINDU +11001;N # Mn BRAHMI SIGN ANUSVARA +11002;N # Mc BRAHMI SIGN VISARGA +11003..11037;N # Lo [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA +11038..11046;N # Mn [15] BRAHMI VOWEL SIGN AA..BRAHMI VIRAMA +11047..1104D;N # Po [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS +11052..11065;N # No [20] BRAHMI NUMBER ONE..BRAHMI NUMBER ONE THOUSAND +11066..1106F;N # Nd [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE +1107F;N # Mn BRAHMI NUMBER JOINER +11080..11081;N # Mn [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA +11082;N # Mc KAITHI SIGN VISARGA +11083..110AF;N # Lo [45] KAITHI LETTER A..KAITHI LETTER HA +110B0..110B2;N # Mc [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II +110B3..110B6;N # Mn [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI +110B7..110B8;N # Mc [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU +110B9..110BA;N # Mn [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA +110BB..110BC;N # Po [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN +110BD;N # Cf KAITHI NUMBER SIGN +110BE..110C1;N # Po [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA +110CD;N # Cf KAITHI NUMBER SIGN ABOVE +110D0..110E8;N # Lo [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE +110F0..110F9;N # Nd [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE +11100..11102;N # Mn [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA +11103..11126;N # Lo [36] CHAKMA LETTER AA..CHAKMA LETTER HAA +11127..1112B;N # Mn [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU +1112C;N # Mc CHAKMA VOWEL SIGN E +1112D..11134;N # Mn [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA +11136..1113F;N # Nd [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE +11140..11143;N # Po [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK +11144;N # Lo CHAKMA LETTER LHAA +11145..11146;N # Mc [2] CHAKMA VOWEL SIGN AA..CHAKMA VOWEL SIGN EI +11147;N # Lo CHAKMA LETTER VAA +11150..11172;N # Lo [35] MAHAJANI LETTER A..MAHAJANI LETTER RRA +11173;N # Mn MAHAJANI SIGN NUKTA +11174..11175;N # Po [2] MAHAJANI ABBREVIATION SIGN..MAHAJANI SECTION MARK +11176;N # Lo MAHAJANI LIGATURE SHRI +11180..11181;N # Mn [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA +11182;N # Mc SHARADA SIGN VISARGA +11183..111B2;N # Lo [48] SHARADA LETTER A..SHARADA LETTER HA +111B3..111B5;N # Mc [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II +111B6..111BE;N # Mn [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O +111BF..111C0;N # Mc [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA +111C1..111C4;N # Lo [4] SHARADA SIGN AVAGRAHA..SHARADA OM +111C5..111C8;N # Po [4] SHARADA DANDA..SHARADA SEPARATOR +111C9..111CC;N # Mn [4] SHARADA SANDHI MARK..SHARADA EXTRA SHORT VOWEL MARK +111CD;N # Po SHARADA SUTRA MARK +111CE;N # Mc SHARADA VOWEL SIGN PRISHTHAMATRA E +111CF;N # Mn SHARADA SIGN INVERTED CANDRABINDU +111D0..111D9;N # Nd [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE +111DA;N # Lo SHARADA EKAM +111DB;N # Po SHARADA SIGN SIDDHAM +111DC;N # Lo SHARADA HEADSTROKE +111DD..111DF;N # Po [3] SHARADA CONTINUATION SIGN..SHARADA SECTION MARK-2 +111E1..111F4;N # No [20] SINHALA ARCHAIC DIGIT ONE..SINHALA ARCHAIC NUMBER ONE THOUSAND +11200..11211;N # Lo [18] KHOJKI LETTER A..KHOJKI LETTER JJA +11213..1122B;N # Lo [25] KHOJKI LETTER NYA..KHOJKI LETTER LLA +1122C..1122E;N # Mc [3] KHOJKI VOWEL SIGN AA..KHOJKI VOWEL SIGN II +1122F..11231;N # Mn [3] KHOJKI VOWEL SIGN U..KHOJKI VOWEL SIGN AI +11232..11233;N # Mc [2] KHOJKI VOWEL SIGN O..KHOJKI VOWEL SIGN AU +11234;N # Mn KHOJKI SIGN ANUSVARA +11235;N # Mc KHOJKI SIGN VIRAMA +11236..11237;N # Mn [2] KHOJKI SIGN NUKTA..KHOJKI SIGN SHADDA +11238..1123D;N # Po [6] KHOJKI DANDA..KHOJKI ABBREVIATION SIGN +1123E;N # Mn KHOJKI SIGN SUKUN +11280..11286;N # Lo [7] MULTANI LETTER A..MULTANI LETTER GA +11288;N # Lo MULTANI LETTER GHA +1128A..1128D;N # Lo [4] MULTANI LETTER CA..MULTANI LETTER JJA +1128F..1129D;N # Lo [15] MULTANI LETTER NYA..MULTANI LETTER BA +1129F..112A8;N # Lo [10] MULTANI LETTER BHA..MULTANI LETTER RHA +112A9;N # Po MULTANI SECTION MARK +112B0..112DE;N # Lo [47] KHUDAWADI LETTER A..KHUDAWADI LETTER HA +112DF;N # Mn KHUDAWADI SIGN ANUSVARA +112E0..112E2;N # Mc [3] KHUDAWADI VOWEL SIGN AA..KHUDAWADI VOWEL SIGN II +112E3..112EA;N # Mn [8] KHUDAWADI VOWEL SIGN U..KHUDAWADI SIGN VIRAMA +112F0..112F9;N # Nd [10] KHUDAWADI DIGIT ZERO..KHUDAWADI DIGIT NINE +11300..11301;N # Mn [2] GRANTHA SIGN COMBINING ANUSVARA ABOVE..GRANTHA SIGN CANDRABINDU +11302..11303;N # Mc [2] GRANTHA SIGN ANUSVARA..GRANTHA SIGN VISARGA +11305..1130C;N # Lo [8] GRANTHA LETTER A..GRANTHA LETTER VOCALIC L +1130F..11310;N # Lo [2] GRANTHA LETTER EE..GRANTHA LETTER AI +11313..11328;N # Lo [22] GRANTHA LETTER OO..GRANTHA LETTER NA +1132A..11330;N # Lo [7] GRANTHA LETTER PA..GRANTHA LETTER RA +11332..11333;N # Lo [2] GRANTHA LETTER LA..GRANTHA LETTER LLA +11335..11339;N # Lo [5] GRANTHA LETTER VA..GRANTHA LETTER HA +1133B..1133C;N # Mn [2] COMBINING BINDU BELOW..GRANTHA SIGN NUKTA +1133D;N # Lo GRANTHA SIGN AVAGRAHA +1133E..1133F;N # Mc [2] GRANTHA VOWEL SIGN AA..GRANTHA VOWEL SIGN I +11340;N # Mn GRANTHA VOWEL SIGN II +11341..11344;N # Mc [4] GRANTHA VOWEL SIGN U..GRANTHA VOWEL SIGN VOCALIC RR +11347..11348;N # Mc [2] GRANTHA VOWEL SIGN EE..GRANTHA VOWEL SIGN AI +1134B..1134D;N # Mc [3] GRANTHA VOWEL SIGN OO..GRANTHA SIGN VIRAMA +11350;N # Lo GRANTHA OM +11357;N # Mc GRANTHA AU LENGTH MARK +1135D..11361;N # Lo [5] GRANTHA SIGN PLUTA..GRANTHA LETTER VOCALIC LL +11362..11363;N # Mc [2] GRANTHA VOWEL SIGN VOCALIC L..GRANTHA VOWEL SIGN VOCALIC LL +11366..1136C;N # Mn [7] COMBINING GRANTHA DIGIT ZERO..COMBINING GRANTHA DIGIT SIX +11370..11374;N # Mn [5] COMBINING GRANTHA LETTER A..COMBINING GRANTHA LETTER PA +11400..11434;N # Lo [53] NEWA LETTER A..NEWA LETTER HA +11435..11437;N # Mc [3] NEWA VOWEL SIGN AA..NEWA VOWEL SIGN II +11438..1143F;N # Mn [8] NEWA VOWEL SIGN U..NEWA VOWEL SIGN AI +11440..11441;N # Mc [2] NEWA VOWEL SIGN O..NEWA VOWEL SIGN AU +11442..11444;N # Mn [3] NEWA SIGN VIRAMA..NEWA SIGN ANUSVARA +11445;N # Mc NEWA SIGN VISARGA +11446;N # Mn NEWA SIGN NUKTA +11447..1144A;N # Lo [4] NEWA SIGN AVAGRAHA..NEWA SIDDHI +1144B..1144F;N # Po [5] NEWA DANDA..NEWA ABBREVIATION SIGN +11450..11459;N # Nd [10] NEWA DIGIT ZERO..NEWA DIGIT NINE +1145A..1145B;N # Po [2] NEWA DOUBLE COMMA..NEWA PLACEHOLDER MARK +1145D;N # Po NEWA INSERTION SIGN +1145E;N # Mn NEWA SANDHI MARK +1145F..11461;N # Lo [3] NEWA LETTER VEDIC ANUSVARA..NEWA SIGN UPADHMANIYA +11480..114AF;N # Lo [48] TIRHUTA ANJI..TIRHUTA LETTER HA +114B0..114B2;N # Mc [3] TIRHUTA VOWEL SIGN AA..TIRHUTA VOWEL SIGN II +114B3..114B8;N # Mn [6] TIRHUTA VOWEL SIGN U..TIRHUTA VOWEL SIGN VOCALIC LL +114B9;N # Mc TIRHUTA VOWEL SIGN E +114BA;N # Mn TIRHUTA VOWEL SIGN SHORT E +114BB..114BE;N # Mc [4] TIRHUTA VOWEL SIGN AI..TIRHUTA VOWEL SIGN AU +114BF..114C0;N # Mn [2] TIRHUTA SIGN CANDRABINDU..TIRHUTA SIGN ANUSVARA +114C1;N # Mc TIRHUTA SIGN VISARGA +114C2..114C3;N # Mn [2] TIRHUTA SIGN VIRAMA..TIRHUTA SIGN NUKTA +114C4..114C5;N # Lo [2] TIRHUTA SIGN AVAGRAHA..TIRHUTA GVANG +114C6;N # Po TIRHUTA ABBREVIATION SIGN +114C7;N # Lo TIRHUTA OM +114D0..114D9;N # Nd [10] TIRHUTA DIGIT ZERO..TIRHUTA DIGIT NINE +11580..115AE;N # Lo [47] SIDDHAM LETTER A..SIDDHAM LETTER HA +115AF..115B1;N # Mc [3] SIDDHAM VOWEL SIGN AA..SIDDHAM VOWEL SIGN II +115B2..115B5;N # Mn [4] SIDDHAM VOWEL SIGN U..SIDDHAM VOWEL SIGN VOCALIC RR +115B8..115BB;N # Mc [4] SIDDHAM VOWEL SIGN E..SIDDHAM VOWEL SIGN AU +115BC..115BD;N # Mn [2] SIDDHAM SIGN CANDRABINDU..SIDDHAM SIGN ANUSVARA +115BE;N # Mc SIDDHAM SIGN VISARGA +115BF..115C0;N # Mn [2] SIDDHAM SIGN VIRAMA..SIDDHAM SIGN NUKTA +115C1..115D7;N # Po [23] SIDDHAM SIGN SIDDHAM..SIDDHAM SECTION MARK WITH CIRCLES AND FOUR ENCLOSURES +115D8..115DB;N # Lo [4] SIDDHAM LETTER THREE-CIRCLE ALTERNATE I..SIDDHAM LETTER ALTERNATE U +115DC..115DD;N # Mn [2] SIDDHAM VOWEL SIGN ALTERNATE U..SIDDHAM VOWEL SIGN ALTERNATE UU +11600..1162F;N # Lo [48] MODI LETTER A..MODI LETTER LLA +11630..11632;N # Mc [3] MODI VOWEL SIGN AA..MODI VOWEL SIGN II +11633..1163A;N # Mn [8] MODI VOWEL SIGN U..MODI VOWEL SIGN AI +1163B..1163C;N # Mc [2] MODI VOWEL SIGN O..MODI VOWEL SIGN AU +1163D;N # Mn MODI SIGN ANUSVARA +1163E;N # Mc MODI SIGN VISARGA +1163F..11640;N # Mn [2] MODI SIGN VIRAMA..MODI SIGN ARDHACANDRA +11641..11643;N # Po [3] MODI DANDA..MODI ABBREVIATION SIGN +11644;N # Lo MODI SIGN HUVA +11650..11659;N # Nd [10] MODI DIGIT ZERO..MODI DIGIT NINE +11660..1166C;N # Po [13] MONGOLIAN BIRGA WITH ORNAMENT..MONGOLIAN TURNED SWIRL BIRGA WITH DOUBLE ORNAMENT +11680..116AA;N # Lo [43] TAKRI LETTER A..TAKRI LETTER RRA +116AB;N # Mn TAKRI SIGN ANUSVARA +116AC;N # Mc TAKRI SIGN VISARGA +116AD;N # Mn TAKRI VOWEL SIGN AA +116AE..116AF;N # Mc [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II +116B0..116B5;N # Mn [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU +116B6;N # Mc TAKRI SIGN VIRAMA +116B7;N # Mn TAKRI SIGN NUKTA +116B8;N # Lo TAKRI LETTER ARCHAIC KHA +116C0..116C9;N # Nd [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE +11700..1171A;N # Lo [27] AHOM LETTER KA..AHOM LETTER ALTERNATE BA +1171D..1171F;N # Mn [3] AHOM CONSONANT SIGN MEDIAL LA..AHOM CONSONANT SIGN MEDIAL LIGATING RA +11720..11721;N # Mc [2] AHOM VOWEL SIGN A..AHOM VOWEL SIGN AA +11722..11725;N # Mn [4] AHOM VOWEL SIGN I..AHOM VOWEL SIGN UU +11726;N # Mc AHOM VOWEL SIGN E +11727..1172B;N # Mn [5] AHOM VOWEL SIGN AW..AHOM SIGN KILLER +11730..11739;N # Nd [10] AHOM DIGIT ZERO..AHOM DIGIT NINE +1173A..1173B;N # No [2] AHOM NUMBER TEN..AHOM NUMBER TWENTY +1173C..1173E;N # Po [3] AHOM SIGN SMALL SECTION..AHOM SIGN RULAI +1173F;N # So AHOM SYMBOL VI +11800..1182B;N # Lo [44] DOGRA LETTER A..DOGRA LETTER RRA +1182C..1182E;N # Mc [3] DOGRA VOWEL SIGN AA..DOGRA VOWEL SIGN II +1182F..11837;N # Mn [9] DOGRA VOWEL SIGN U..DOGRA SIGN ANUSVARA +11838;N # Mc DOGRA SIGN VISARGA +11839..1183A;N # Mn [2] DOGRA SIGN VIRAMA..DOGRA SIGN NUKTA +1183B;N # Po DOGRA ABBREVIATION SIGN +118A0..118DF;N # L& [64] WARANG CITI CAPITAL LETTER NGAA..WARANG CITI SMALL LETTER VIYO +118E0..118E9;N # Nd [10] WARANG CITI DIGIT ZERO..WARANG CITI DIGIT NINE +118EA..118F2;N # No [9] WARANG CITI NUMBER TEN..WARANG CITI NUMBER NINETY +118FF;N # Lo WARANG CITI OM +11900..11906;N # Lo [7] DIVES AKURU LETTER A..DIVES AKURU LETTER E +11909;N # Lo DIVES AKURU LETTER O +1190C..11913;N # Lo [8] DIVES AKURU LETTER KA..DIVES AKURU LETTER JA +11915..11916;N # Lo [2] DIVES AKURU LETTER NYA..DIVES AKURU LETTER TTA +11918..1192F;N # Lo [24] DIVES AKURU LETTER DDA..DIVES AKURU LETTER ZA +11930..11935;N # Mc [6] DIVES AKURU VOWEL SIGN AA..DIVES AKURU VOWEL SIGN E +11937..11938;N # Mc [2] DIVES AKURU VOWEL SIGN AI..DIVES AKURU VOWEL SIGN O +1193B..1193C;N # Mn [2] DIVES AKURU SIGN ANUSVARA..DIVES AKURU SIGN CANDRABINDU +1193D;N # Mc DIVES AKURU SIGN HALANTA +1193E;N # Mn DIVES AKURU VIRAMA +1193F;N # Lo DIVES AKURU PREFIXED NASAL SIGN +11940;N # Mc DIVES AKURU MEDIAL YA +11941;N # Lo DIVES AKURU INITIAL RA +11942;N # Mc DIVES AKURU MEDIAL RA +11943;N # Mn DIVES AKURU SIGN NUKTA +11944..11946;N # Po [3] DIVES AKURU DOUBLE DANDA..DIVES AKURU END OF TEXT MARK +11950..11959;N # Nd [10] DIVES AKURU DIGIT ZERO..DIVES AKURU DIGIT NINE +119A0..119A7;N # Lo [8] NANDINAGARI LETTER A..NANDINAGARI LETTER VOCALIC RR +119AA..119D0;N # Lo [39] NANDINAGARI LETTER E..NANDINAGARI LETTER RRA +119D1..119D3;N # Mc [3] NANDINAGARI VOWEL SIGN AA..NANDINAGARI VOWEL SIGN II +119D4..119D7;N # Mn [4] NANDINAGARI VOWEL SIGN U..NANDINAGARI VOWEL SIGN VOCALIC RR +119DA..119DB;N # Mn [2] NANDINAGARI VOWEL SIGN E..NANDINAGARI VOWEL SIGN AI +119DC..119DF;N # Mc [4] NANDINAGARI VOWEL SIGN O..NANDINAGARI SIGN VISARGA +119E0;N # Mn NANDINAGARI SIGN VIRAMA +119E1;N # Lo NANDINAGARI SIGN AVAGRAHA +119E2;N # Po NANDINAGARI SIGN SIDDHAM +119E3;N # Lo NANDINAGARI HEADSTROKE +119E4;N # Mc NANDINAGARI VOWEL SIGN PRISHTHAMATRA E +11A00;N # Lo ZANABAZAR SQUARE LETTER A +11A01..11A0A;N # Mn [10] ZANABAZAR SQUARE VOWEL SIGN I..ZANABAZAR SQUARE VOWEL LENGTH MARK +11A0B..11A32;N # Lo [40] ZANABAZAR SQUARE LETTER KA..ZANABAZAR SQUARE LETTER KSSA +11A33..11A38;N # Mn [6] ZANABAZAR SQUARE FINAL CONSONANT MARK..ZANABAZAR SQUARE SIGN ANUSVARA +11A39;N # Mc ZANABAZAR SQUARE SIGN VISARGA +11A3A;N # Lo ZANABAZAR SQUARE CLUSTER-INITIAL LETTER RA +11A3B..11A3E;N # Mn [4] ZANABAZAR SQUARE CLUSTER-FINAL LETTER YA..ZANABAZAR SQUARE CLUSTER-FINAL LETTER VA +11A3F..11A46;N # Po [8] ZANABAZAR SQUARE INITIAL HEAD MARK..ZANABAZAR SQUARE CLOSING DOUBLE-LINED HEAD MARK +11A47;N # Mn ZANABAZAR SQUARE SUBJOINER +11A50;N # Lo SOYOMBO LETTER A +11A51..11A56;N # Mn [6] SOYOMBO VOWEL SIGN I..SOYOMBO VOWEL SIGN OE +11A57..11A58;N # Mc [2] SOYOMBO VOWEL SIGN AI..SOYOMBO VOWEL SIGN AU +11A59..11A5B;N # Mn [3] SOYOMBO VOWEL SIGN VOCALIC R..SOYOMBO VOWEL LENGTH MARK +11A5C..11A89;N # Lo [46] SOYOMBO LETTER KA..SOYOMBO CLUSTER-INITIAL LETTER SA +11A8A..11A96;N # Mn [13] SOYOMBO FINAL CONSONANT SIGN G..SOYOMBO SIGN ANUSVARA +11A97;N # Mc SOYOMBO SIGN VISARGA +11A98..11A99;N # Mn [2] SOYOMBO GEMINATION MARK..SOYOMBO SUBJOINER +11A9A..11A9C;N # Po [3] SOYOMBO MARK TSHEG..SOYOMBO MARK DOUBLE SHAD +11A9D;N # Lo SOYOMBO MARK PLUTA +11A9E..11AA2;N # Po [5] SOYOMBO HEAD MARK WITH MOON AND SUN AND TRIPLE FLAME..SOYOMBO TERMINAL MARK-2 +11AC0..11AF8;N # Lo [57] PAU CIN HAU LETTER PA..PAU CIN HAU GLOTTAL STOP FINAL +11C00..11C08;N # Lo [9] BHAIKSUKI LETTER A..BHAIKSUKI LETTER VOCALIC L +11C0A..11C2E;N # Lo [37] BHAIKSUKI LETTER E..BHAIKSUKI LETTER HA +11C2F;N # Mc BHAIKSUKI VOWEL SIGN AA +11C30..11C36;N # Mn [7] BHAIKSUKI VOWEL SIGN I..BHAIKSUKI VOWEL SIGN VOCALIC L +11C38..11C3D;N # Mn [6] BHAIKSUKI VOWEL SIGN E..BHAIKSUKI SIGN ANUSVARA +11C3E;N # Mc BHAIKSUKI SIGN VISARGA +11C3F;N # Mn BHAIKSUKI SIGN VIRAMA +11C40;N # Lo BHAIKSUKI SIGN AVAGRAHA +11C41..11C45;N # Po [5] BHAIKSUKI DANDA..BHAIKSUKI GAP FILLER-2 +11C50..11C59;N # Nd [10] BHAIKSUKI DIGIT ZERO..BHAIKSUKI DIGIT NINE +11C5A..11C6C;N # No [19] BHAIKSUKI NUMBER ONE..BHAIKSUKI HUNDREDS UNIT MARK +11C70..11C71;N # Po [2] MARCHEN HEAD MARK..MARCHEN MARK SHAD +11C72..11C8F;N # Lo [30] MARCHEN LETTER KA..MARCHEN LETTER A +11C92..11CA7;N # Mn [22] MARCHEN SUBJOINED LETTER KA..MARCHEN SUBJOINED LETTER ZA +11CA9;N # Mc MARCHEN SUBJOINED LETTER YA +11CAA..11CB0;N # Mn [7] MARCHEN SUBJOINED LETTER RA..MARCHEN VOWEL SIGN AA +11CB1;N # Mc MARCHEN VOWEL SIGN I +11CB2..11CB3;N # Mn [2] MARCHEN VOWEL SIGN U..MARCHEN VOWEL SIGN E +11CB4;N # Mc MARCHEN VOWEL SIGN O +11CB5..11CB6;N # Mn [2] MARCHEN SIGN ANUSVARA..MARCHEN SIGN CANDRABINDU +11D00..11D06;N # Lo [7] MASARAM GONDI LETTER A..MASARAM GONDI LETTER E +11D08..11D09;N # Lo [2] MASARAM GONDI LETTER AI..MASARAM GONDI LETTER O +11D0B..11D30;N # Lo [38] MASARAM GONDI LETTER AU..MASARAM GONDI LETTER TRA +11D31..11D36;N # Mn [6] MASARAM GONDI VOWEL SIGN AA..MASARAM GONDI VOWEL SIGN VOCALIC R +11D3A;N # Mn MASARAM GONDI VOWEL SIGN E +11D3C..11D3D;N # Mn [2] MASARAM GONDI VOWEL SIGN AI..MASARAM GONDI VOWEL SIGN O +11D3F..11D45;N # Mn [7] MASARAM GONDI VOWEL SIGN AU..MASARAM GONDI VIRAMA +11D46;N # Lo MASARAM GONDI REPHA +11D47;N # Mn MASARAM GONDI RA-KARA +11D50..11D59;N # Nd [10] MASARAM GONDI DIGIT ZERO..MASARAM GONDI DIGIT NINE +11D60..11D65;N # Lo [6] GUNJALA GONDI LETTER A..GUNJALA GONDI LETTER UU +11D67..11D68;N # Lo [2] GUNJALA GONDI LETTER EE..GUNJALA GONDI LETTER AI +11D6A..11D89;N # Lo [32] GUNJALA GONDI LETTER OO..GUNJALA GONDI LETTER SA +11D8A..11D8E;N # Mc [5] GUNJALA GONDI VOWEL SIGN AA..GUNJALA GONDI VOWEL SIGN UU +11D90..11D91;N # Mn [2] GUNJALA GONDI VOWEL SIGN EE..GUNJALA GONDI VOWEL SIGN AI +11D93..11D94;N # Mc [2] GUNJALA GONDI VOWEL SIGN OO..GUNJALA GONDI VOWEL SIGN AU +11D95;N # Mn GUNJALA GONDI SIGN ANUSVARA +11D96;N # Mc GUNJALA GONDI SIGN VISARGA +11D97;N # Mn GUNJALA GONDI VIRAMA +11D98;N # Lo GUNJALA GONDI OM +11DA0..11DA9;N # Nd [10] GUNJALA GONDI DIGIT ZERO..GUNJALA GONDI DIGIT NINE +11EE0..11EF2;N # Lo [19] MAKASAR LETTER KA..MAKASAR ANGKA +11EF3..11EF4;N # Mn [2] MAKASAR VOWEL SIGN I..MAKASAR VOWEL SIGN U +11EF5..11EF6;N # Mc [2] MAKASAR VOWEL SIGN E..MAKASAR VOWEL SIGN O +11EF7..11EF8;N # Po [2] MAKASAR PASSIMBANG..MAKASAR END OF SECTION +11FB0;N # Lo LISU LETTER YHA +11FC0..11FD4;N # No [21] TAMIL FRACTION ONE THREE-HUNDRED-AND-TWENTIETH..TAMIL FRACTION DOWNSCALING FACTOR KIIZH +11FD5..11FDC;N # So [8] TAMIL SIGN NEL..TAMIL SIGN MUKKURUNI +11FDD..11FE0;N # Sc [4] TAMIL SIGN KAACU..TAMIL SIGN VARAAKAN +11FE1..11FF1;N # So [17] TAMIL SIGN PAARAM..TAMIL SIGN VAKAIYARAA +11FFF;N # Po TAMIL PUNCTUATION END OF TEXT +12000..12399;N # Lo [922] CUNEIFORM SIGN A..CUNEIFORM SIGN U U +12400..1246E;N # Nl [111] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN NINE U VARIANT FORM +12470..12474;N # Po [5] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL QUADCOLON +12480..12543;N # Lo [196] CUNEIFORM SIGN AB TIMES NUN TENU..CUNEIFORM SIGN ZU5 TIMES THREE DISH TENU +13000..1342E;N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032 +13430..13438;N # Cf [9] EGYPTIAN HIEROGLYPH VERTICAL JOINER..EGYPTIAN HIEROGLYPH END SEGMENT +14400..14646;N # Lo [583] ANATOLIAN HIEROGLYPH A001..ANATOLIAN HIEROGLYPH A530 +16800..16A38;N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ +16A40..16A5E;N # Lo [31] MRO LETTER TA..MRO LETTER TEK +16A60..16A69;N # Nd [10] MRO DIGIT ZERO..MRO DIGIT NINE +16A6E..16A6F;N # Po [2] MRO DANDA..MRO DOUBLE DANDA +16AD0..16AED;N # Lo [30] BASSA VAH LETTER ENNI..BASSA VAH LETTER I +16AF0..16AF4;N # Mn [5] BASSA VAH COMBINING HIGH TONE..BASSA VAH COMBINING HIGH-LOW TONE +16AF5;N # Po BASSA VAH FULL STOP +16B00..16B2F;N # Lo [48] PAHAWH HMONG VOWEL KEEB..PAHAWH HMONG CONSONANT CAU +16B30..16B36;N # Mn [7] PAHAWH HMONG MARK CIM TUB..PAHAWH HMONG MARK CIM TAUM +16B37..16B3B;N # Po [5] PAHAWH HMONG SIGN VOS THOM..PAHAWH HMONG SIGN VOS FEEM +16B3C..16B3F;N # So [4] PAHAWH HMONG SIGN XYEEM NTXIV..PAHAWH HMONG SIGN XYEEM FAIB +16B40..16B43;N # Lm [4] PAHAWH HMONG SIGN VOS SEEV..PAHAWH HMONG SIGN IB YAM +16B44;N # Po PAHAWH HMONG SIGN XAUS +16B45;N # So PAHAWH HMONG SIGN CIM TSOV ROG +16B50..16B59;N # Nd [10] PAHAWH HMONG DIGIT ZERO..PAHAWH HMONG DIGIT NINE +16B5B..16B61;N # No [7] PAHAWH HMONG NUMBER TENS..PAHAWH HMONG NUMBER TRILLIONS +16B63..16B77;N # Lo [21] PAHAWH HMONG SIGN VOS LUB..PAHAWH HMONG SIGN CIM NRES TOS +16B7D..16B8F;N # Lo [19] PAHAWH HMONG CLAN SIGN TSHEEJ..PAHAWH HMONG CLAN SIGN VWJ +16E40..16E7F;N # L& [64] MEDEFAIDRIN CAPITAL LETTER M..MEDEFAIDRIN SMALL LETTER Y +16E80..16E96;N # No [23] MEDEFAIDRIN DIGIT ZERO..MEDEFAIDRIN DIGIT THREE ALTERNATE FORM +16E97..16E9A;N # Po [4] MEDEFAIDRIN COMMA..MEDEFAIDRIN EXCLAMATION OH +16F00..16F4A;N # Lo [75] MIAO LETTER PA..MIAO LETTER RTE +16F4F;N # Mn MIAO SIGN CONSONANT MODIFIER BAR +16F50;N # Lo MIAO LETTER NASALIZATION +16F51..16F87;N # Mc [55] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN UI +16F8F..16F92;N # Mn [4] MIAO TONE RIGHT..MIAO TONE BELOW +16F93..16F9F;N # Lm [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8 +16FE0..16FE1;W # Lm [2] TANGUT ITERATION MARK..NUSHU ITERATION MARK +16FE2;W # Po OLD CHINESE HOOK MARK +16FE3;W # Lm OLD CHINESE ITERATION MARK +16FE4;W # Mn KHITAN SMALL SCRIPT FILLER +16FF0..16FF1;W # Mc [2] VIETNAMESE ALTERNATE READING MARK CA..VIETNAMESE ALTERNATE READING MARK NHAY +17000..187F7;W # Lo [6136] TANGUT IDEOGRAPH-17000..TANGUT IDEOGRAPH-187F7 +18800..18AFF;W # Lo [768] TANGUT COMPONENT-001..TANGUT COMPONENT-768 +18B00..18CD5;W # Lo [470] KHITAN SMALL SCRIPT CHARACTER-18B00..KHITAN SMALL SCRIPT CHARACTER-18CD5 +18D00..18D08;W # Lo [9] TANGUT IDEOGRAPH-18D00..TANGUT IDEOGRAPH-18D08 +1B000..1B0FF;W # Lo [256] KATAKANA LETTER ARCHAIC E..HENTAIGANA LETTER RE-2 +1B100..1B11E;W # Lo [31] HENTAIGANA LETTER RE-3..HENTAIGANA LETTER N-MU-MO-2 +1B150..1B152;W # Lo [3] HIRAGANA LETTER SMALL WI..HIRAGANA LETTER SMALL WO +1B164..1B167;W # Lo [4] KATAKANA LETTER SMALL WI..KATAKANA LETTER SMALL N +1B170..1B2FB;W # Lo [396] NUSHU CHARACTER-1B170..NUSHU CHARACTER-1B2FB +1BC00..1BC6A;N # Lo [107] DUPLOYAN LETTER H..DUPLOYAN LETTER VOCALIC M +1BC70..1BC7C;N # Lo [13] DUPLOYAN AFFIX LEFT HORIZONTAL SECANT..DUPLOYAN AFFIX ATTACHED TANGENT HOOK +1BC80..1BC88;N # Lo [9] DUPLOYAN AFFIX HIGH ACUTE..DUPLOYAN AFFIX HIGH VERTICAL +1BC90..1BC99;N # Lo [10] DUPLOYAN AFFIX LOW ACUTE..DUPLOYAN AFFIX LOW ARROW +1BC9C;N # So DUPLOYAN SIGN O WITH CROSS +1BC9D..1BC9E;N # Mn [2] DUPLOYAN THICK LETTER SELECTOR..DUPLOYAN DOUBLE MARK +1BC9F;N # Po DUPLOYAN PUNCTUATION CHINOOK FULL STOP +1BCA0..1BCA3;N # Cf [4] SHORTHAND FORMAT LETTER OVERLAP..SHORTHAND FORMAT UP STEP +1D000..1D0F5;N # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO +1D100..1D126;N # So [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2 +1D129..1D164;N # So [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE +1D165..1D166;N # Mc [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM +1D167..1D169;N # Mn [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3 +1D16A..1D16C;N # So [3] MUSICAL SYMBOL FINGERED TREMOLO-1..MUSICAL SYMBOL FINGERED TREMOLO-3 +1D16D..1D172;N # Mc [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5 +1D173..1D17A;N # Cf [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE +1D17B..1D182;N # Mn [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE +1D183..1D184;N # So [2] MUSICAL SYMBOL ARPEGGIATO UP..MUSICAL SYMBOL ARPEGGIATO DOWN +1D185..1D18B;N # Mn [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE +1D18C..1D1A9;N # So [30] MUSICAL SYMBOL RINFORZANDO..MUSICAL SYMBOL DEGREE SLASH +1D1AA..1D1AD;N # Mn [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO +1D1AE..1D1E8;N # So [59] MUSICAL SYMBOL PEDAL MARK..MUSICAL SYMBOL KIEVAN FLAT SIGN +1D200..1D241;N # So [66] GREEK VOCAL NOTATION SYMBOL-1..GREEK INSTRUMENTAL NOTATION SYMBOL-54 +1D242..1D244;N # Mn [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME +1D245;N # So GREEK MUSICAL LEIMMA +1D2E0..1D2F3;N # No [20] MAYAN NUMERAL ZERO..MAYAN NUMERAL NINETEEN +1D300..1D356;N # So [87] MONOGRAM FOR EARTH..TETRAGRAM FOR FOSTERING +1D360..1D378;N # No [25] COUNTING ROD UNIT DIGIT ONE..TALLY MARK FIVE +1D400..1D454;N # L& [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G +1D456..1D49C;N # L& [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A +1D49E..1D49F;N # Lu [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D +1D4A2;N # Lu MATHEMATICAL SCRIPT CAPITAL G +1D4A5..1D4A6;N # Lu [2] MATHEMATICAL SCRIPT CAPITAL J..MATHEMATICAL SCRIPT CAPITAL K +1D4A9..1D4AC;N # Lu [4] MATHEMATICAL SCRIPT CAPITAL N..MATHEMATICAL SCRIPT CAPITAL Q +1D4AE..1D4B9;N # L& [12] MATHEMATICAL SCRIPT CAPITAL S..MATHEMATICAL SCRIPT SMALL D +1D4BB;N # Ll MATHEMATICAL SCRIPT SMALL F +1D4BD..1D4C3;N # Ll [7] MATHEMATICAL SCRIPT SMALL H..MATHEMATICAL SCRIPT SMALL N +1D4C5..1D505;N # L& [65] MATHEMATICAL SCRIPT SMALL P..MATHEMATICAL FRAKTUR CAPITAL B +1D507..1D50A;N # Lu [4] MATHEMATICAL FRAKTUR CAPITAL D..MATHEMATICAL FRAKTUR CAPITAL G +1D50D..1D514;N # Lu [8] MATHEMATICAL FRAKTUR CAPITAL J..MATHEMATICAL FRAKTUR CAPITAL Q +1D516..1D51C;N # Lu [7] MATHEMATICAL FRAKTUR CAPITAL S..MATHEMATICAL FRAKTUR CAPITAL Y +1D51E..1D539;N # L& [28] MATHEMATICAL FRAKTUR SMALL A..MATHEMATICAL DOUBLE-STRUCK CAPITAL B +1D53B..1D53E;N # Lu [4] MATHEMATICAL DOUBLE-STRUCK CAPITAL D..MATHEMATICAL DOUBLE-STRUCK CAPITAL G +1D540..1D544;N # Lu [5] MATHEMATICAL DOUBLE-STRUCK CAPITAL I..MATHEMATICAL DOUBLE-STRUCK CAPITAL M +1D546;N # Lu MATHEMATICAL DOUBLE-STRUCK CAPITAL O +1D54A..1D550;N # Lu [7] MATHEMATICAL DOUBLE-STRUCK CAPITAL S..MATHEMATICAL DOUBLE-STRUCK CAPITAL Y +1D552..1D6A5;N # L& [340] MATHEMATICAL DOUBLE-STRUCK SMALL A..MATHEMATICAL ITALIC SMALL DOTLESS J +1D6A8..1D6C0;N # Lu [25] MATHEMATICAL BOLD CAPITAL ALPHA..MATHEMATICAL BOLD CAPITAL OMEGA +1D6C1;N # Sm MATHEMATICAL BOLD NABLA +1D6C2..1D6DA;N # Ll [25] MATHEMATICAL BOLD SMALL ALPHA..MATHEMATICAL BOLD SMALL OMEGA +1D6DB;N # Sm MATHEMATICAL BOLD PARTIAL DIFFERENTIAL +1D6DC..1D6FA;N # L& [31] MATHEMATICAL BOLD EPSILON SYMBOL..MATHEMATICAL ITALIC CAPITAL OMEGA +1D6FB;N # Sm MATHEMATICAL ITALIC NABLA +1D6FC..1D714;N # Ll [25] MATHEMATICAL ITALIC SMALL ALPHA..MATHEMATICAL ITALIC SMALL OMEGA +1D715;N # Sm MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL +1D716..1D734;N # L& [31] MATHEMATICAL ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD ITALIC CAPITAL OMEGA +1D735;N # Sm MATHEMATICAL BOLD ITALIC NABLA +1D736..1D74E;N # Ll [25] MATHEMATICAL BOLD ITALIC SMALL ALPHA..MATHEMATICAL BOLD ITALIC SMALL OMEGA +1D74F;N # Sm MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL +1D750..1D76E;N # L& [31] MATHEMATICAL BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA +1D76F;N # Sm MATHEMATICAL SANS-SERIF BOLD NABLA +1D770..1D788;N # Ll [25] MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA +1D789;N # Sm MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL +1D78A..1D7A8;N # L& [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA +1D7A9;N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA +1D7AA..1D7C2;N # Ll [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA +1D7C3;N # Sm MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL +1D7C4..1D7CB;N # L& [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA +1D7CE..1D7FF;N # Nd [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE +1D800..1D9FF;N # So [512] SIGNWRITING HAND-FIST INDEX..SIGNWRITING HEAD +1DA00..1DA36;N # Mn [55] SIGNWRITING HEAD RIM..SIGNWRITING AIR SUCKING IN +1DA37..1DA3A;N # So [4] SIGNWRITING AIR BLOW SMALL ROTATIONS..SIGNWRITING BREATH EXHALE +1DA3B..1DA6C;N # Mn [50] SIGNWRITING MOUTH CLOSED NEUTRAL..SIGNWRITING EXCITEMENT +1DA6D..1DA74;N # So [8] SIGNWRITING SHOULDER HIP SPINE..SIGNWRITING TORSO-FLOORPLANE TWISTING +1DA75;N # Mn SIGNWRITING UPPER BODY TILTING FROM HIP JOINTS +1DA76..1DA83;N # So [14] SIGNWRITING LIMB COMBINATION..SIGNWRITING LOCATION DEPTH +1DA84;N # Mn SIGNWRITING LOCATION HEAD NECK +1DA85..1DA86;N # So [2] SIGNWRITING LOCATION TORSO..SIGNWRITING LOCATION LIMBS DIGITS +1DA87..1DA8B;N # Po [5] SIGNWRITING COMMA..SIGNWRITING PARENTHESIS +1DA9B..1DA9F;N # Mn [5] SIGNWRITING FILL MODIFIER-2..SIGNWRITING FILL MODIFIER-6 +1DAA1..1DAAF;N # Mn [15] SIGNWRITING ROTATION MODIFIER-2..SIGNWRITING ROTATION MODIFIER-16 +1E000..1E006;N # Mn [7] COMBINING GLAGOLITIC LETTER AZU..COMBINING GLAGOLITIC LETTER ZHIVETE +1E008..1E018;N # Mn [17] COMBINING GLAGOLITIC LETTER ZEMLJA..COMBINING GLAGOLITIC LETTER HERU +1E01B..1E021;N # Mn [7] COMBINING GLAGOLITIC LETTER SHTA..COMBINING GLAGOLITIC LETTER YATI +1E023..1E024;N # Mn [2] COMBINING GLAGOLITIC LETTER YU..COMBINING GLAGOLITIC LETTER SMALL YUS +1E026..1E02A;N # Mn [5] COMBINING GLAGOLITIC LETTER YO..COMBINING GLAGOLITIC LETTER FITA +1E100..1E12C;N # Lo [45] NYIAKENG PUACHUE HMONG LETTER MA..NYIAKENG PUACHUE HMONG LETTER W +1E130..1E136;N # Mn [7] NYIAKENG PUACHUE HMONG TONE-B..NYIAKENG PUACHUE HMONG TONE-D +1E137..1E13D;N # Lm [7] NYIAKENG PUACHUE HMONG SIGN FOR PERSON..NYIAKENG PUACHUE HMONG SYLLABLE LENGTHENER +1E140..1E149;N # Nd [10] NYIAKENG PUACHUE HMONG DIGIT ZERO..NYIAKENG PUACHUE HMONG DIGIT NINE +1E14E;N # Lo NYIAKENG PUACHUE HMONG LOGOGRAM NYAJ +1E14F;N # So NYIAKENG PUACHUE HMONG CIRCLED CA +1E2C0..1E2EB;N # Lo [44] WANCHO LETTER AA..WANCHO LETTER YIH +1E2EC..1E2EF;N # Mn [4] WANCHO TONE TUP..WANCHO TONE KOINI +1E2F0..1E2F9;N # Nd [10] WANCHO DIGIT ZERO..WANCHO DIGIT NINE +1E2FF;N # Sc WANCHO NGUN SIGN +1E800..1E8C4;N # Lo [197] MENDE KIKAKUI SYLLABLE M001 KI..MENDE KIKAKUI SYLLABLE M060 NYON +1E8C7..1E8CF;N # No [9] MENDE KIKAKUI DIGIT ONE..MENDE KIKAKUI DIGIT NINE +1E8D0..1E8D6;N # Mn [7] MENDE KIKAKUI COMBINING NUMBER TEENS..MENDE KIKAKUI COMBINING NUMBER MILLIONS +1E900..1E943;N # L& [68] ADLAM CAPITAL LETTER ALIF..ADLAM SMALL LETTER SHA +1E944..1E94A;N # Mn [7] ADLAM ALIF LENGTHENER..ADLAM NUKTA +1E94B;N # Lm ADLAM NASALIZATION MARK +1E950..1E959;N # Nd [10] ADLAM DIGIT ZERO..ADLAM DIGIT NINE +1E95E..1E95F;N # Po [2] ADLAM INITIAL EXCLAMATION MARK..ADLAM INITIAL QUESTION MARK +1EC71..1ECAB;N # No [59] INDIC SIYAQ NUMBER ONE..INDIC SIYAQ NUMBER PREFIXED NINE +1ECAC;N # So INDIC SIYAQ PLACEHOLDER +1ECAD..1ECAF;N # No [3] INDIC SIYAQ FRACTION ONE QUARTER..INDIC SIYAQ FRACTION THREE QUARTERS +1ECB0;N # Sc INDIC SIYAQ RUPEE MARK +1ECB1..1ECB4;N # No [4] INDIC SIYAQ NUMBER ALTERNATE ONE..INDIC SIYAQ ALTERNATE LAKH MARK +1ED01..1ED2D;N # No [45] OTTOMAN SIYAQ NUMBER ONE..OTTOMAN SIYAQ NUMBER NINETY THOUSAND +1ED2E;N # So OTTOMAN SIYAQ MARRATAN +1ED2F..1ED3D;N # No [15] OTTOMAN SIYAQ ALTERNATE NUMBER TWO..OTTOMAN SIYAQ FRACTION ONE SIXTH +1EE00..1EE03;N # Lo [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL +1EE05..1EE1F;N # Lo [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF +1EE21..1EE22;N # Lo [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM +1EE24;N # Lo ARABIC MATHEMATICAL INITIAL HEH +1EE27;N # Lo ARABIC MATHEMATICAL INITIAL HAH +1EE29..1EE32;N # Lo [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF +1EE34..1EE37;N # Lo [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH +1EE39;N # Lo ARABIC MATHEMATICAL INITIAL DAD +1EE3B;N # Lo ARABIC MATHEMATICAL INITIAL GHAIN +1EE42;N # Lo ARABIC MATHEMATICAL TAILED JEEM +1EE47;N # Lo ARABIC MATHEMATICAL TAILED HAH +1EE49;N # Lo ARABIC MATHEMATICAL TAILED YEH +1EE4B;N # Lo ARABIC MATHEMATICAL TAILED LAM +1EE4D..1EE4F;N # Lo [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN +1EE51..1EE52;N # Lo [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF +1EE54;N # Lo ARABIC MATHEMATICAL TAILED SHEEN +1EE57;N # Lo ARABIC MATHEMATICAL TAILED KHAH +1EE59;N # Lo ARABIC MATHEMATICAL TAILED DAD +1EE5B;N # Lo ARABIC MATHEMATICAL TAILED GHAIN +1EE5D;N # Lo ARABIC MATHEMATICAL TAILED DOTLESS NOON +1EE5F;N # Lo ARABIC MATHEMATICAL TAILED DOTLESS QAF +1EE61..1EE62;N # Lo [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM +1EE64;N # Lo ARABIC MATHEMATICAL STRETCHED HEH +1EE67..1EE6A;N # Lo [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF +1EE6C..1EE72;N # Lo [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF +1EE74..1EE77;N # Lo [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH +1EE79..1EE7C;N # Lo [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH +1EE7E;N # Lo ARABIC MATHEMATICAL STRETCHED DOTLESS FEH +1EE80..1EE89;N # Lo [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH +1EE8B..1EE9B;N # Lo [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN +1EEA1..1EEA3;N # Lo [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL +1EEA5..1EEA9;N # Lo [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH +1EEAB..1EEBB;N # Lo [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN +1EEF0..1EEF1;N # Sm [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL +1F000..1F003;N # So [4] MAHJONG TILE EAST WIND..MAHJONG TILE NORTH WIND +1F004;W # So MAHJONG TILE RED DRAGON +1F005..1F02B;N # So [39] MAHJONG TILE GREEN DRAGON..MAHJONG TILE BACK +1F030..1F093;N # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06 +1F0A0..1F0AE;N # So [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES +1F0B1..1F0BF;N # So [15] PLAYING CARD ACE OF HEARTS..PLAYING CARD RED JOKER +1F0C1..1F0CE;N # So [14] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD KING OF DIAMONDS +1F0CF;W # So PLAYING CARD BLACK JOKER +1F0D1..1F0F5;N # So [37] PLAYING CARD ACE OF CLUBS..PLAYING CARD TRUMP-21 +1F100..1F10A;A # No [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA +1F10B..1F10C;N # No [2] DINGBAT CIRCLED SANS-SERIF DIGIT ZERO..DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO +1F10D..1F10F;N # So [3] CIRCLED ZERO WITH SLASH..CIRCLED DOLLAR SIGN WITH OVERLAID BACKSLASH +1F110..1F12D;A # So [30] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED CD +1F12E..1F12F;N # So [2] CIRCLED WZ..COPYLEFT SYMBOL +1F130..1F169;A # So [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z +1F16A..1F16F;N # So [6] RAISED MC SIGN..CIRCLED HUMAN FIGURE +1F170..1F18D;A # So [30] NEGATIVE SQUARED LATIN CAPITAL LETTER A..NEGATIVE SQUARED SA +1F18E;W # So NEGATIVE SQUARED AB +1F18F..1F190;A # So [2] NEGATIVE SQUARED WC..SQUARE DJ +1F191..1F19A;W # So [10] SQUARED CL..SQUARED VS +1F19B..1F1AC;A # So [18] SQUARED THREE D..SQUARED VOD +1F1AD;N # So MASK WORK SYMBOL +1F1E6..1F1FF;N # So [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z +1F200..1F202;W # So [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA +1F210..1F23B;W # So [44] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-914D +1F240..1F248;W # So [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557 +1F250..1F251;W # So [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT +1F260..1F265;W # So [6] ROUNDED SYMBOL FOR FU..ROUNDED SYMBOL FOR CAI +1F300..1F320;W # So [33] CYCLONE..SHOOTING STAR +1F321..1F32C;N # So [12] THERMOMETER..WIND BLOWING FACE +1F32D..1F335;W # So [9] HOT DOG..CACTUS +1F336;N # So HOT PEPPER +1F337..1F37C;W # So [70] TULIP..BABY BOTTLE +1F37D;N # So FORK AND KNIFE WITH PLATE +1F37E..1F393;W # So [22] BOTTLE WITH POPPING CORK..GRADUATION CAP +1F394..1F39F;N # So [12] HEART WITH TIP ON THE LEFT..ADMISSION TICKETS +1F3A0..1F3CA;W # So [43] CAROUSEL HORSE..SWIMMER +1F3CB..1F3CE;N # So [4] WEIGHT LIFTER..RACING CAR +1F3CF..1F3D3;W # So [5] CRICKET BAT AND BALL..TABLE TENNIS PADDLE AND BALL +1F3D4..1F3DF;N # So [12] SNOW CAPPED MOUNTAIN..STADIUM +1F3E0..1F3F0;W # So [17] HOUSE BUILDING..EUROPEAN CASTLE +1F3F1..1F3F3;N # So [3] WHITE PENNANT..WAVING WHITE FLAG +1F3F4;W # So WAVING BLACK FLAG +1F3F5..1F3F7;N # So [3] ROSETTE..LABEL +1F3F8..1F3FA;W # So [3] BADMINTON RACQUET AND SHUTTLECOCK..AMPHORA +1F3FB..1F3FF;W # Sk [5] EMOJI MODIFIER FITZPATRICK TYPE-1-2..EMOJI MODIFIER FITZPATRICK TYPE-6 +1F400..1F43E;W # So [63] RAT..PAW PRINTS +1F43F;N # So CHIPMUNK +1F440;W # So EYES +1F441;N # So EYE +1F442..1F4FC;W # So [187] EAR..VIDEOCASSETTE +1F4FD..1F4FE;N # So [2] FILM PROJECTOR..PORTABLE STEREO +1F4FF..1F53D;W # So [63] PRAYER BEADS..DOWN-POINTING SMALL RED TRIANGLE +1F53E..1F54A;N # So [13] LOWER RIGHT SHADOWED WHITE CIRCLE..DOVE OF PEACE +1F54B..1F54E;W # So [4] KAABA..MENORAH WITH NINE BRANCHES +1F54F;N # So BOWL OF HYGIEIA +1F550..1F567;W # So [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY +1F568..1F579;N # So [18] RIGHT SPEAKER..JOYSTICK +1F57A;W # So MAN DANCING +1F57B..1F594;N # So [26] LEFT HAND TELEPHONE RECEIVER..REVERSED VICTORY HAND +1F595..1F596;W # So [2] REVERSED HAND WITH MIDDLE FINGER EXTENDED..RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS +1F597..1F5A3;N # So [13] WHITE DOWN POINTING LEFT HAND INDEX..BLACK DOWN POINTING BACKHAND INDEX +1F5A4;W # So BLACK HEART +1F5A5..1F5FA;N # So [86] DESKTOP COMPUTER..WORLD MAP +1F5FB..1F5FF;W # So [5] MOUNT FUJI..MOYAI +1F600..1F64F;W # So [80] GRINNING FACE..PERSON WITH FOLDED HANDS +1F650..1F67F;N # So [48] NORTH WEST POINTING LEAF..REVERSE CHECKER BOARD +1F680..1F6C5;W # So [70] ROCKET..LEFT LUGGAGE +1F6C6..1F6CB;N # So [6] TRIANGLE WITH ROUNDED CORNERS..COUCH AND LAMP +1F6CC;W # So SLEEPING ACCOMMODATION +1F6CD..1F6CF;N # So [3] SHOPPING BAGS..BED +1F6D0..1F6D2;W # So [3] PLACE OF WORSHIP..SHOPPING TROLLEY +1F6D3..1F6D4;N # So [2] STUPA..PAGODA +1F6D5..1F6D7;W # So [3] HINDU TEMPLE..ELEVATOR +1F6E0..1F6EA;N # So [11] HAMMER AND WRENCH..NORTHEAST-POINTING AIRPLANE +1F6EB..1F6EC;W # So [2] AIRPLANE DEPARTURE..AIRPLANE ARRIVING +1F6F0..1F6F3;N # So [4] SATELLITE..PASSENGER SHIP +1F6F4..1F6FC;W # So [9] SCOOTER..ROLLER SKATE +1F700..1F773;N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE +1F780..1F7D8;N # So [89] BLACK LEFT-POINTING ISOSCELES RIGHT TRIANGLE..NEGATIVE CIRCLED SQUARE +1F7E0..1F7EB;W # So [12] LARGE ORANGE CIRCLE..LARGE BROWN SQUARE +1F800..1F80B;N # So [12] LEFTWARDS ARROW WITH SMALL TRIANGLE ARROWHEAD..DOWNWARDS ARROW WITH LARGE TRIANGLE ARROWHEAD +1F810..1F847;N # So [56] LEFTWARDS ARROW WITH SMALL EQUILATERAL ARROWHEAD..DOWNWARDS HEAVY ARROW +1F850..1F859;N # So [10] LEFTWARDS SANS-SERIF ARROW..UP DOWN SANS-SERIF ARROW +1F860..1F887;N # So [40] WIDE-HEADED LEFTWARDS LIGHT BARB ARROW..WIDE-HEADED SOUTH WEST VERY HEAVY BARB ARROW +1F890..1F8AD;N # So [30] LEFTWARDS TRIANGLE ARROWHEAD..WHITE ARROW SHAFT WIDTH TWO THIRDS +1F8B0..1F8B1;N # So [2] ARROW POINTING UPWARDS THEN NORTH WEST..ARROW POINTING RIGHTWARDS THEN CURVING SOUTH WEST +1F900..1F90B;N # So [12] CIRCLED CROSS FORMEE WITH FOUR DOTS..DOWNWARD FACING NOTCHED HOOK WITH DOT +1F90C..1F93A;W # So [47] PINCHED FINGERS..FENCER +1F93B;N # So MODERN PENTATHLON +1F93C..1F945;W # So [10] WRESTLERS..GOAL NET +1F946;N # So RIFLE +1F947..1F978;W # So [50] FIRST PLACE MEDAL..DISGUISED FACE +1F97A..1F9CB;W # So [82] FACE WITH PLEADING EYES..BUBBLE TEA +1F9CD..1F9FF;W # So [51] STANDING PERSON..NAZAR AMULET +1FA00..1FA53;N # So [84] NEUTRAL CHESS KING..BLACK CHESS KNIGHT-BISHOP +1FA60..1FA6D;N # So [14] XIANGQI RED GENERAL..XIANGQI BLACK SOLDIER +1FA70..1FA74;W # So [5] BALLET SHOES..THONG SANDAL +1FA78..1FA7A;W # So [3] DROP OF BLOOD..STETHOSCOPE +1FA80..1FA86;W # So [7] YO-YO..NESTING DOLLS +1FA90..1FAA8;W # So [25] RINGED PLANET..ROCK +1FAB0..1FAB6;W # So [7] FLY..FEATHER +1FAC0..1FAC2;W # So [3] ANATOMICAL HEART..PEOPLE HUGGING +1FAD0..1FAD6;W # So [7] BLUEBERRIES..TEAPOT +1FB00..1FB92;N # So [147] BLOCK SEXTANT-1..UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK +1FB94..1FBCA;N # So [55] LEFT HALF INVERSE MEDIUM SHADE AND RIGHT HALF BLOCK..WHITE UP-POINTING CHEVRON +1FBF0..1FBF9;N # Nd [10] SEGMENTED DIGIT ZERO..SEGMENTED DIGIT NINE +20000..2A6DD;W # Lo [42718] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6DD +2A6DE..2A6FF;W # Cn [34] .. +2A700..2B734;W # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734 +2B735..2B73F;W # Cn [11] .. +2B740..2B81D;W # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D +2B81E..2B81F;W # Cn [2] .. +2B820..2CEA1;W # Lo [5762] CJK UNIFIED IDEOGRAPH-2B820..CJK UNIFIED IDEOGRAPH-2CEA1 +2CEA2..2CEAF;W # Cn [14] .. +2CEB0..2EBE0;W # Lo [7473] CJK UNIFIED IDEOGRAPH-2CEB0..CJK UNIFIED IDEOGRAPH-2EBE0 +2EBE1..2F7FF;W # Cn [3103] .. +2F800..2FA1D;W # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D +2FA1E..2FA1F;W # Cn [2] .. +2FA20..2FFFD;W # Cn [1502] .. +30000..3134A;W # Lo [4939] CJK UNIFIED IDEOGRAPH-30000..CJK UNIFIED IDEOGRAPH-3134A +3134B..3FFFD;W # Cn [60595] .. +E0001;N # Cf LANGUAGE TAG +E0020..E007F;N # Cf [96] TAG SPACE..CANCEL TAG +E0100..E01EF;A # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256 +F0000..FFFFD;A # Co [65534] .. +100000..10FFFD;A # Co [65534] .. + +# EOF diff --git a/ext/mbstring/libmbfl/mbfl/eaw_table.h b/ext/mbstring/libmbfl/mbfl/eaw_table.h index 495945445116b..68e0516cb7bd8 100644 --- a/ext/mbstring/libmbfl/mbfl/eaw_table.h +++ b/ext/mbstring/libmbfl/mbfl/eaw_table.h @@ -7,49 +7,85 @@ * when doing things like wrapping text to a specific width. * * Each pair of numbers in the below table is a range of Unicode codepoints - * which should be displayed as double-width. */ + * which should be displayed as double-width. + * + * This data complies with Unicode 13.0. See ../../docs/EastAsianWidth.txt */ static const struct { int begin; int end; } mbfl_eaw_table[] = { { 0x1100, 0x115f }, - { 0x11a3, 0x11a7 }, - { 0x11fa, 0x11ff }, + { 0x231a, 0x231b }, { 0x2329, 0x232a }, - { 0x2e80, 0x2e99 }, - { 0x2e9b, 0x2ef3 }, - { 0x2f00, 0x2fd5 }, - { 0x2ff0, 0x2ffb }, - { 0x3000, 0x303e }, - { 0x3041, 0x3096 }, - { 0x3099, 0x30ff }, - { 0x3105, 0x312d }, - { 0x3131, 0x318e }, - { 0x3190, 0x31ba }, - { 0x31c0, 0x31e3 }, - { 0x31f0, 0x321e }, - { 0x3220, 0x3247 }, - { 0x3250, 0x32fe }, - { 0x3300, 0x4dbf }, - { 0x4e00, 0xa48c }, - { 0xa490, 0xa4c6 }, + { 0x23e9, 0x23ec }, + { 0x23f0, 0x23f0 }, + { 0x23f3, 0x23f3 }, + { 0x25fd, 0x25fe }, + { 0x2614, 0x2615 }, + { 0x2648, 0x2653 }, + { 0x267f, 0x267f }, + { 0x2693, 0x2693 }, + { 0x26a1, 0x26a1 }, + { 0x26aa, 0x26ab }, + { 0x26bd, 0x26be }, + { 0x26c4, 0x26d4 }, /* Several 'ambiguous' characters in this range */ + { 0x26ea, 0x26fd }, /* Likewise */ + { 0x2705, 0x2705 }, + { 0x270a, 0x270b }, + { 0x2728, 0x2728 }, + { 0x274c, 0x274c }, + { 0x274e, 0x274e }, + { 0x2753, 0x2755 }, + { 0x2757, 0x2757 }, + { 0x2795, 0x2797 }, + { 0x27b0, 0x27b0 }, + { 0x27bf, 0x27bf }, + { 0x2b1b, 0x2b1c }, + { 0x2b50, 0x2b50 }, + { 0x2b55, 0x2b55 }, + { 0x2e80, 0x303e }, + { 0x3041, 0x4dbf }, /* Some 'ambiguous' characters in this range */ + { 0x4e00, 0xa4c6 }, { 0xa960, 0xa97c }, { 0xac00, 0xd7a3 }, - { 0xd7b0, 0xd7c6 }, - { 0xd7cb, 0xd7fb }, { 0xf900, 0xfaff }, { 0xfe10, 0xfe19 }, - { 0xfe30, 0xfe52 }, - { 0xfe54, 0xfe66 }, - { 0xfe68, 0xfe6b }, + { 0xfe30, 0xfe6b }, { 0xff01, 0xff60 }, { 0xffe0, 0xffe6 }, - { 0x1b000, 0x1b001 }, - { 0x1f200, 0x1f202 }, - { 0x1f210, 0x1f23a }, - { 0x1f240, 0x1f248 }, - { 0x1f250, 0x1f251 }, - { 0x20000, 0x2fffd }, - { 0x30000, 0x3fffd } + { 0x16fe0, 0x1b2fb }, + { 0x1f004, 0x1f004 }, + { 0x1f0cf, 0x1f0cf }, + { 0x1f18e, 0x1f19a }, /* Some 'ambiguous' characters in this range */ + { 0x1f200, 0x1f320 }, + { 0x1f32d, 0x1f335 }, + { 0x1f337, 0x1f37c }, + { 0x1f37e, 0x1f393 }, + { 0x1f3a0, 0x1f3ca }, + { 0x1f3cf, 0x1f3d3 }, + { 0x1f3e0, 0x1f3f0 }, + { 0x1f3f4, 0x1f3f4 }, + { 0x1f3f8, 0x1f43e }, + { 0x1f440, 0x1f440 }, + { 0x1f442, 0x1f4fc }, + { 0x1f4ff, 0x1f53d }, + { 0x1f54b, 0x1f54e }, + { 0x1f550, 0x1f567 }, + { 0x1f57a, 0x1f57a }, + { 0x1f595, 0x1f596 }, + { 0x1f5a4, 0x1f5a4 }, + { 0x1f5fb, 0x1f64f }, + { 0x1f680, 0x1f6c5 }, + { 0x1f6cc, 0x1f6cc }, + { 0x1f6d0, 0x1f6d2 }, + { 0x1f6d5, 0x1f6d7 }, + { 0x1f6eb, 0x1f6ec }, + { 0x1f6f4, 0x1f6fc }, + { 0x1f7e0, 0x1f7eb }, + { 0x1f90c, 0x1f93a }, + { 0x1f93c, 0x1f945 }, + { 0x1f947, 0x1f9ff }, + { 0x1fa70, 0x1fad6 }, + { 0x20000, 0x3fffd } }; diff --git a/ext/mbstring/tests/bug28220.phpt b/ext/mbstring/tests/bug28220.phpt deleted file mode 100644 index 6845dc3ed9737..0000000000000 --- a/ext/mbstring/tests/bug28220.phpt +++ /dev/null @@ -1,25 +0,0 @@ ---TEST-- -Bug #28220 (mb_strwidth() returns wrong width values for some Hangul characters) ---SKIPIF-- - ---FILE-- - ---EXPECT-- -8085 -63 diff --git a/ext/mbstring/tests/mb_strwidth.phpt b/ext/mbstring/tests/mb_strwidth.phpt index 6eb26df2f11c9..09192054b7d83 100644 --- a/ext/mbstring/tests/mb_strwidth.phpt +++ b/ext/mbstring/tests/mb_strwidth.phpt @@ -24,6 +24,77 @@ print "3: " . mb_strwidth($utf16le, 'UTF-16LE') . "\n"; print "4: " . mb_strwidth($utf16be, 'UTF-16BE') . "\n"; print "5: " . mb_strwidth($koi8r, 'KOI8-R') . "\n"; +// OK, that was just starters. Now let's get real. + +$wideChars = []; +$narrowChars = []; + +function storeCharByWidth($codepoint, $eawCode) { + global $wideChars, $narrowChars; + // Interpret code from EastAsianWidth.txt data file (from Unicode consortium) + if ($eawCode == 'W' || $eawCode == 'F') { + // 'Wide' or 'Fullwidth' + array_push($wideChars, pack('N', $codepoint)); + } else if ($eawCode == 'H' || $eawCode == 'Na' || $eawCode == 'N') { + // 'Halfwidth', 'Narrow', or 'Neutral' + array_push($narrowChars, pack('N', $codepoint)); + } + // The other possible code is 'A' for 'Ambiguous' + // We don't do any testing on those +} + +$fp = fopen(realpath(__DIR__ . '/../docs/EastAsianWidth.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, '%x..%x;%s', $startCodepoint, $endCodepoint, $eaw) == 3) { + for ($i = $startCodepoint; $i <= $endCodepoint; $i++) + storeCharByWidth($i, $eaw); + } else if (sscanf($line, '%x;%s', $codepoint, $eaw) == 2) { + storeCharByWidth($codepoint, $eaw); + } +} + +foreach ($wideChars as $wideChar) { + if (mb_strwidth($wideChar, 'UTF-32BE') != 2) { + die("Oops! Codepoint " . bin2hex($wideChar) . " should have mb_strwidth of 2"); + } +} +echo "mb_strwidth works as expected on all 'wide' characters\n"; + +foreach ($narrowChars as $narrowChar) { + if (mb_strwidth($narrowChar, 'UTF-32BE') != 1) { + die("Oops! Codepoint " . bin2hex($narrowChar) . " should have mb_strwidth of 1"); + } +} +echo "mb_strwidth works as expected on all 'narrow' characters\n"; + +// Now try some random combinations +srand(123); // Make results consistent +shuffle($wideChars); +shuffle($narrowChars); + +for ($i = 0; $i < 100; $i++) { + // Put together a random combination of wide and narrow chars + $length = rand(5, 20); + $testString = ''; + $testWidth = 0; + while ($length--) { + if (rand(0, 1) == 1) { + $testString .= array_pop($wideChars); + $testWidth += 2; + } else { + $testString .= array_pop($narrowChars); + $testWidth += 1; + } + } + if (mb_strwidth($testString, 'UTF-32BE') != $testWidth) + die("mb_strwidth of UTF-32BE string " . bin2hex($testString) . " was " . + mb_strwidth($testString, 'UTF-32BE') . ", expected " . $testWidth); +} +echo "All good!\n"; + ?> --EXPECT-- 1: 68 @@ -31,3 +102,6 @@ print "5: " . mb_strwidth($koi8r, 'KOI8-R') . "\n"; 3: 21 4: 21 5: 21 +mb_strwidth works as expected on all 'wide' characters +mb_strwidth works as expected on all 'narrow' characters +All good! From 360187e98faf9035631d712145b89090651e3cdf Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 26 Sep 2020 22:19:16 +0200 Subject: [PATCH 037/123] Correct wrong flags for 'byte2be', 'byte2le', 'byte4be', and 'byte4le' encodings These encodings were flagged `MBFL_ENCTYPE_SBCS`, which is for single-byte encodings (where each byte represents one character). However, these are not single but rather _double-byte_ and _4-byte_ encodings. --- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 4 ++-- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 4063caacbe296..66ba4e27f564b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_byte2be = { NULL, NULL, NULL, - MBFL_ENCTYPE_SBCS, + MBFL_ENCTYPE_WCS2, &vtbl_byte2be_wchar, &vtbl_wchar_byte2be }; @@ -50,7 +50,7 @@ const mbfl_encoding mbfl_encoding_byte2le = { NULL, NULL, NULL, - MBFL_ENCTYPE_SBCS, + MBFL_ENCTYPE_WCS2, &vtbl_byte2le_wchar, &vtbl_wchar_byte2le }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index 474eeb092de7a..b2d6c835a4466 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_byte4be = { NULL, NULL, NULL, - MBFL_ENCTYPE_SBCS, + MBFL_ENCTYPE_WCS4, &vtbl_byte4be_wchar, &vtbl_wchar_byte4be }; @@ -50,7 +50,7 @@ const mbfl_encoding mbfl_encoding_byte4le = { NULL, NULL, NULL, - MBFL_ENCTYPE_SBCS, + MBFL_ENCTYPE_WCS4, &vtbl_byte4le_wchar, &vtbl_wchar_byte4le }; From 938b5175d8030a8b26722554dcea93ec1321eb09 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 1 Oct 2020 19:56:42 +0200 Subject: [PATCH 038/123] Enhance handling of EUC-JP text encoding - When a bad byte is detected during text conversion, handle error immediately instead of waiting to consume the next byte first. - Don't allow control characters to appear in the middle of a multi-byte character. (A strange feature, or perhaps misfeature, of mbstring which is not present in other libraries such as iconv.) - When checking whether string is valid, reject kuten codes which do not map to any character. --- .../libmbfl/filters/mbfilter_euc_jp.c | 80 ++++++++++++------- 1 file changed, 50 insertions(+), 30 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 61da27f04388a..5d637e830219b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -137,8 +137,6 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_JIS0208; } CK((*filter->output_function)(w, filter->data)); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; @@ -152,8 +150,6 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; CK((*filter->output_function)(w, filter->data)); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; @@ -162,19 +158,19 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) } break; - case 3: /* got 0x8f, X 0212 first char */ - if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); - filter->status = 0; - } else { + case 3: /* got 0x8f, JIS X 0212 first byte */ + if (c > 0xa0 && c < 0xff) { filter->status++; filter->cache = c; + } else { /* bad */ + filter->status = 0; + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); } break; - case 4: /* got 0x8f, X 0212 second char */ + case 4: /* got 0x8f, JIS X 0212 second byte */ filter->status = 0; c1 = filter->cache; - if (c1 > 0xa0 && c1 < 0xff && c > 0xa0 && c < 0xff) { + if (c > 0xa0 && c < 0xff) { s = (c1 - 0xa1)*94 + c - 0xa1; if (s >= 0 && s < jisx0212_ucs_table_size) { w = jisx0212_ucs_table[s]; @@ -187,8 +183,6 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_JIS0212; } CK((*filter->output_function)(w, filter->data)); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); } else { w = (c1 << 8) | c | 0x8f0000; w &= MBFL_WCSGROUP_MASK; @@ -272,45 +266,71 @@ mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) return c; } +/* Not all byte sequences in JIS X 0208 which would otherwise be valid are + * actually mapped to a character */ +static inline int in_unused_jisx0208_range(int c1, int c2) +{ + /* `c1`, `c2` are kuten codes */ + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0208_ucs_table_size || !jisx0208_ucs_table[s]; +} + +static inline int in_unused_jisx0212_range(int c1, int c2) +{ + unsigned int s = (c1 - 0x21)*94 + c2 - 0x21; + return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; +} + int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter) { - switch (filter->status) { - case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + unsigned char ku, ten; + + switch (filter->status & 0xF) { + case 0: /* latin */ + if (c < 0x80) { /* ok */ ; - } else if (c > 0xa0 && c < 0xff) { /* kanji first char */ - filter->status = 1; - } else if (c == 0x8e) { /* kana first char */ + } else if (c > 0xa0 && c < 0xff) { + /* JIS X 0208, first byte + * In EUC-JP, each such byte ranges from 0xA1-0xFE; however, + * the bytes of JIS X 0208 kuten codes range from 0x21-0x7E */ + filter->status = ((c - 0xA1 + 0x21) << 8) | 1; + } else if (c == 0x8e) { /* JIS X 0201 */ filter->status = 2; - } else if (c == 0x8f) { /* X 0212 first char */ + } else if (c == 0x8f) { /* JIS X 0212 */ filter->status = 3; - } else { /* bad */ + } else { /* bad */ filter->flag = 1; } break; - case 1: /* got first half */ - if (c < 0xa1 || c > 0xfe) { /* bad */ + case 1: /* 2nd byte of JIS X 0208 */ + ku = filter->status >> 8; + ten = c - 0xA1 + 0x21; + if (c < 0xa1 || c > 0xfe || in_unused_jisx0208_range(ku, ten)) { /* bad */ filter->flag = 1; } filter->status = 0; break; - case 2: /* got 0x8e */ - if (c < 0xa1 || c > 0xdf) { /* bad */ + case 2: /* JIS X 0201 */ + if (c < 0xa1 || c > 0xdf) { /* bad */ filter->flag = 1; } filter->status = 0; break; - case 3: /* got 0x8f */ - if (c < 0xa1 || c > 0xfe) { /* bad */ + case 3: /* JIS X 0212 */ + if (c < 0xa1 || c > 0xfe) { /* bad */ filter->flag = 1; + } else { + filter->status = ((c - 0xA1 + 0x21) << 8) | 4; } - filter->status++; break; - case 4: /* got 0x8f */ - if (c < 0xa1 || c > 0xfe) { /* bad */ + + case 4: /* JIS X 0212, final byte */ + ku = filter->status >> 8; + ten = c - 0xA1 + 0x21; + if (c < 0xa1 || c > 0xfe || in_unused_jisx0212_range(ku, ten)) { /* bad */ filter->flag = 1; } filter->status = 0; From eaca8668cad164cdfcb4e8b02604b3d533d4c026 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 30 Sep 2020 23:13:30 +0200 Subject: [PATCH 039/123] Add test suite for EUC-JP encoding --- ext/mbstring/docs/EUC-JP.txt | 13137 +++++++++++++++++++++++ ext/mbstring/tests/eucjp_encoding.phpt | 101 + 2 files changed, 13238 insertions(+) create mode 100644 ext/mbstring/docs/EUC-JP.txt create mode 100644 ext/mbstring/tests/eucjp_encoding.phpt diff --git a/ext/mbstring/docs/EUC-JP.txt b/ext/mbstring/docs/EUC-JP.txt new file mode 100644 index 0000000000000..8a56f460b139f --- /dev/null +++ b/ext/mbstring/docs/EUC-JP.txt @@ -0,0 +1,13137 @@ +0x00 0x0000 +0x01 0x0001 +0x02 0x0002 +0x03 0x0003 +0x04 0x0004 +0x05 0x0005 +0x06 0x0006 +0x07 0x0007 +0x08 0x0008 +0x09 0x0009 +0x0A 0x000A +0x0B 0x000B +0x0C 0x000C +0x0D 0x000D +0x0E 0x000E +0x0F 0x000F +0x10 0x0010 +0x11 0x0011 +0x12 0x0012 +0x13 0x0013 +0x14 0x0014 +0x15 0x0015 +0x16 0x0016 +0x17 0x0017 +0x18 0x0018 +0x19 0x0019 +0x1A 0x001A +0x1B 0x001B +0x1C 0x001C +0x1D 0x001D +0x1E 0x001E +0x1F 0x001F +0x20 0x0020 +0x21 0x0021 +0x22 0x0022 +0x23 0x0023 +0x24 0x0024 +0x25 0x0025 +0x26 0x0026 +0x27 0x0027 +0x28 0x0028 +0x29 0x0029 +0x2A 0x002A +0x2B 0x002B +0x2C 0x002C +0x2D 0x002D +0x2E 0x002E +0x2F 0x002F +0x30 0x0030 +0x31 0x0031 +0x32 0x0032 +0x33 0x0033 +0x34 0x0034 +0x35 0x0035 +0x36 0x0036 +0x37 0x0037 +0x38 0x0038 +0x39 0x0039 +0x3A 0x003A +0x3B 0x003B +0x3C 0x003C +0x3D 0x003D +0x3E 0x003E +0x3F 0x003F +0x40 0x0040 +0x41 0x0041 +0x42 0x0042 +0x43 0x0043 +0x44 0x0044 +0x45 0x0045 +0x46 0x0046 +0x47 0x0047 +0x48 0x0048 +0x49 0x0049 +0x4A 0x004A +0x4B 0x004B +0x4C 0x004C +0x4D 0x004D +0x4E 0x004E +0x4F 0x004F +0x50 0x0050 +0x51 0x0051 +0x52 0x0052 +0x53 0x0053 +0x54 0x0054 +0x55 0x0055 +0x56 0x0056 +0x57 0x0057 +0x58 0x0058 +0x59 0x0059 +0x5A 0x005A +0x5B 0x005B +0x5C 0x005C +0x5D 0x005D +0x5E 0x005E +0x5F 0x005F +0x60 0x0060 +0x61 0x0061 +0x62 0x0062 +0x63 0x0063 +0x64 0x0064 +0x65 0x0065 +0x66 0x0066 +0x67 0x0067 +0x68 0x0068 +0x69 0x0069 +0x6A 0x006A +0x6B 0x006B +0x6C 0x006C +0x6D 0x006D +0x6E 0x006E +0x6F 0x006F +0x70 0x0070 +0x71 0x0071 +0x72 0x0072 +0x73 0x0073 +0x74 0x0074 +0x75 0x0075 +0x76 0x0076 +0x77 0x0077 +0x78 0x0078 +0x79 0x0079 +0x7A 0x007A +0x7B 0x007B +0x7C 0x007C +0x7D 0x007D +0x7E 0x007E +0x7F 0x007F +0x8EA1 0xFF61 +0x8EA2 0xFF62 +0x8EA3 0xFF63 +0x8EA4 0xFF64 +0x8EA5 0xFF65 +0x8EA6 0xFF66 +0x8EA7 0xFF67 +0x8EA8 0xFF68 +0x8EA9 0xFF69 +0x8EAA 0xFF6A +0x8EAB 0xFF6B +0x8EAC 0xFF6C +0x8EAD 0xFF6D +0x8EAE 0xFF6E +0x8EAF 0xFF6F +0x8EB0 0xFF70 +0x8EB1 0xFF71 +0x8EB2 0xFF72 +0x8EB3 0xFF73 +0x8EB4 0xFF74 +0x8EB5 0xFF75 +0x8EB6 0xFF76 +0x8EB7 0xFF77 +0x8EB8 0xFF78 +0x8EB9 0xFF79 +0x8EBA 0xFF7A +0x8EBB 0xFF7B +0x8EBC 0xFF7C +0x8EBD 0xFF7D +0x8EBE 0xFF7E +0x8EBF 0xFF7F +0x8EC0 0xFF80 +0x8EC1 0xFF81 +0x8EC2 0xFF82 +0x8EC3 0xFF83 +0x8EC4 0xFF84 +0x8EC5 0xFF85 +0x8EC6 0xFF86 +0x8EC7 0xFF87 +0x8EC8 0xFF88 +0x8EC9 0xFF89 +0x8ECA 0xFF8A +0x8ECB 0xFF8B +0x8ECC 0xFF8C +0x8ECD 0xFF8D +0x8ECE 0xFF8E +0x8ECF 0xFF8F +0x8ED0 0xFF90 +0x8ED1 0xFF91 +0x8ED2 0xFF92 +0x8ED3 0xFF93 +0x8ED4 0xFF94 +0x8ED5 0xFF95 +0x8ED6 0xFF96 +0x8ED7 0xFF97 +0x8ED8 0xFF98 +0x8ED9 0xFF99 +0x8EDA 0xFF9A +0x8EDB 0xFF9B +0x8EDC 0xFF9C +0x8EDD 0xFF9D +0x8EDE 0xFF9E +0x8EDF 0xFF9F +0x8FA2AF 0x02D8 +0x8FA2B0 0x02C7 +0x8FA2B1 0x00B8 +0x8FA2B2 0x02D9 +0x8FA2B3 0x02DD +0x8FA2B4 0x00AF +0x8FA2B5 0x02DB +0x8FA2B6 0x02DA +0x8FA2B7 0x007E +0x8FA2B8 0x0384 +0x8FA2B9 0x0385 +0x8FA2C2 0x00A1 +0x8FA2C3 0x00A6 +0x8FA2C4 0x00BF +0x8FA2EB 0x00BA +0x8FA2EC 0x00AA +0x8FA2ED 0x00A9 +0x8FA2EE 0x00AE +0x8FA2EF 0x2122 +0x8FA2F0 0x00A4 +0x8FA2F1 0x2116 +0x8FA6E1 0x0386 +0x8FA6E2 0x0388 +0x8FA6E3 0x0389 +0x8FA6E4 0x038A +0x8FA6E5 0x03AA +0x8FA6E7 0x038C +0x8FA6E9 0x038E +0x8FA6EA 0x03AB +0x8FA6EC 0x038F +0x8FA6F1 0x03AC +0x8FA6F2 0x03AD +0x8FA6F3 0x03AE +0x8FA6F4 0x03AF +0x8FA6F5 0x03CA +0x8FA6F6 0x0390 +0x8FA6F7 0x03CC +0x8FA6F8 0x03C2 +0x8FA6F9 0x03CD +0x8FA6FA 0x03CB +0x8FA6FB 0x03B0 +0x8FA6FC 0x03CE +0x8FA7C2 0x0402 +0x8FA7C3 0x0403 +0x8FA7C4 0x0404 +0x8FA7C5 0x0405 +0x8FA7C6 0x0406 +0x8FA7C7 0x0407 +0x8FA7C8 0x0408 +0x8FA7C9 0x0409 +0x8FA7CA 0x040A +0x8FA7CB 0x040B +0x8FA7CC 0x040C +0x8FA7CD 0x040E +0x8FA7CE 0x040F +0x8FA7F2 0x0452 +0x8FA7F3 0x0453 +0x8FA7F4 0x0454 +0x8FA7F5 0x0455 +0x8FA7F6 0x0456 +0x8FA7F7 0x0457 +0x8FA7F8 0x0458 +0x8FA7F9 0x0459 +0x8FA7FA 0x045A +0x8FA7FB 0x045B +0x8FA7FC 0x045C +0x8FA7FD 0x045E +0x8FA7FE 0x045F +0x8FA9A1 0x00C6 +0x8FA9A2 0x0110 +0x8FA9A4 0x0126 +0x8FA9A6 0x0132 +0x8FA9A8 0x0141 +0x8FA9A9 0x013F +0x8FA9AB 0x014A +0x8FA9AC 0x00D8 +0x8FA9AD 0x0152 +0x8FA9AF 0x0166 +0x8FA9B0 0x00DE +0x8FA9C1 0x00E6 +0x8FA9C2 0x0111 +0x8FA9C3 0x00F0 +0x8FA9C4 0x0127 +0x8FA9C5 0x0131 +0x8FA9C6 0x0133 +0x8FA9C7 0x0138 +0x8FA9C8 0x0142 +0x8FA9C9 0x0140 +0x8FA9CA 0x0149 +0x8FA9CB 0x014B +0x8FA9CC 0x00F8 +0x8FA9CD 0x0153 +0x8FA9CE 0x00DF +0x8FA9CF 0x0167 +0x8FA9D0 0x00FE +0x8FAAA1 0x00C1 +0x8FAAA2 0x00C0 +0x8FAAA3 0x00C4 +0x8FAAA4 0x00C2 +0x8FAAA5 0x0102 +0x8FAAA6 0x01CD +0x8FAAA7 0x0100 +0x8FAAA8 0x0104 +0x8FAAA9 0x00C5 +0x8FAAAA 0x00C3 +0x8FAAAB 0x0106 +0x8FAAAC 0x0108 +0x8FAAAD 0x010C +0x8FAAAE 0x00C7 +0x8FAAAF 0x010A +0x8FAAB0 0x010E +0x8FAAB1 0x00C9 +0x8FAAB2 0x00C8 +0x8FAAB3 0x00CB +0x8FAAB4 0x00CA +0x8FAAB5 0x011A +0x8FAAB6 0x0116 +0x8FAAB7 0x0112 +0x8FAAB8 0x0118 +0x8FAABA 0x011C +0x8FAABB 0x011E +0x8FAABC 0x0122 +0x8FAABD 0x0120 +0x8FAABE 0x0124 +0x8FAABF 0x00CD +0x8FAAC0 0x00CC +0x8FAAC1 0x00CF +0x8FAAC2 0x00CE +0x8FAAC3 0x01CF +0x8FAAC4 0x0130 +0x8FAAC5 0x012A +0x8FAAC6 0x012E +0x8FAAC7 0x0128 +0x8FAAC8 0x0134 +0x8FAAC9 0x0136 +0x8FAACA 0x0139 +0x8FAACB 0x013D +0x8FAACC 0x013B +0x8FAACD 0x0143 +0x8FAACE 0x0147 +0x8FAACF 0x0145 +0x8FAAD0 0x00D1 +0x8FAAD1 0x00D3 +0x8FAAD2 0x00D2 +0x8FAAD3 0x00D6 +0x8FAAD4 0x00D4 +0x8FAAD5 0x01D1 +0x8FAAD6 0x0150 +0x8FAAD7 0x014C +0x8FAAD8 0x00D5 +0x8FAAD9 0x0154 +0x8FAADA 0x0158 +0x8FAADB 0x0156 +0x8FAADC 0x015A +0x8FAADD 0x015C +0x8FAADE 0x0160 +0x8FAADF 0x015E +0x8FAAE0 0x0164 +0x8FAAE1 0x0162 +0x8FAAE2 0x00DA +0x8FAAE3 0x00D9 +0x8FAAE4 0x00DC +0x8FAAE5 0x00DB +0x8FAAE6 0x016C +0x8FAAE7 0x01D3 +0x8FAAE8 0x0170 +0x8FAAE9 0x016A +0x8FAAEA 0x0172 +0x8FAAEB 0x016E +0x8FAAEC 0x0168 +0x8FAAED 0x01D7 +0x8FAAEE 0x01DB +0x8FAAEF 0x01D9 +0x8FAAF0 0x01D5 +0x8FAAF1 0x0174 +0x8FAAF2 0x00DD +0x8FAAF3 0x0178 +0x8FAAF4 0x0176 +0x8FAAF5 0x0179 +0x8FAAF6 0x017D +0x8FAAF7 0x017B +0x8FABA1 0x00E1 +0x8FABA2 0x00E0 +0x8FABA3 0x00E4 +0x8FABA4 0x00E2 +0x8FABA5 0x0103 +0x8FABA6 0x01CE +0x8FABA7 0x0101 +0x8FABA8 0x0105 +0x8FABA9 0x00E5 +0x8FABAA 0x00E3 +0x8FABAB 0x0107 +0x8FABAC 0x0109 +0x8FABAD 0x010D +0x8FABAE 0x00E7 +0x8FABAF 0x010B +0x8FABB0 0x010F +0x8FABB1 0x00E9 +0x8FABB2 0x00E8 +0x8FABB3 0x00EB +0x8FABB4 0x00EA +0x8FABB5 0x011B +0x8FABB6 0x0117 +0x8FABB7 0x0113 +0x8FABB8 0x0119 +0x8FABB9 0x01F5 +0x8FABBA 0x011D +0x8FABBB 0x011F +0x8FABBD 0x0121 +0x8FABBE 0x0125 +0x8FABBF 0x00ED +0x8FABC0 0x00EC +0x8FABC1 0x00EF +0x8FABC2 0x00EE +0x8FABC3 0x01D0 +0x8FABC5 0x012B +0x8FABC6 0x012F +0x8FABC7 0x0129 +0x8FABC8 0x0135 +0x8FABC9 0x0137 +0x8FABCA 0x013A +0x8FABCB 0x013E +0x8FABCC 0x013C +0x8FABCD 0x0144 +0x8FABCE 0x0148 +0x8FABCF 0x0146 +0x8FABD0 0x00F1 +0x8FABD1 0x00F3 +0x8FABD2 0x00F2 +0x8FABD3 0x00F6 +0x8FABD4 0x00F4 +0x8FABD5 0x01D2 +0x8FABD6 0x0151 +0x8FABD7 0x014D +0x8FABD8 0x00F5 +0x8FABD9 0x0155 +0x8FABDA 0x0159 +0x8FABDB 0x0157 +0x8FABDC 0x015B +0x8FABDD 0x015D +0x8FABDE 0x0161 +0x8FABDF 0x015F +0x8FABE0 0x0165 +0x8FABE1 0x0163 +0x8FABE2 0x00FA +0x8FABE3 0x00F9 +0x8FABE4 0x00FC +0x8FABE5 0x00FB +0x8FABE6 0x016D +0x8FABE7 0x01D4 +0x8FABE8 0x0171 +0x8FABE9 0x016B +0x8FABEA 0x0173 +0x8FABEB 0x016F +0x8FABEC 0x0169 +0x8FABED 0x01D8 +0x8FABEE 0x01DC +0x8FABEF 0x01DA +0x8FABF0 0x01D6 +0x8FABF1 0x0175 +0x8FABF2 0x00FD +0x8FABF3 0x00FF +0x8FABF4 0x0177 +0x8FABF5 0x017A +0x8FABF6 0x017E +0x8FABF7 0x017C +0x8FB0A1 0x4E02 +0x8FB0A2 0x4E04 +0x8FB0A3 0x4E05 +0x8FB0A4 0x4E0C +0x8FB0A5 0x4E12 +0x8FB0A6 0x4E1F +0x8FB0A7 0x4E23 +0x8FB0A8 0x4E24 +0x8FB0A9 0x4E28 +0x8FB0AA 0x4E2B +0x8FB0AB 0x4E2E +0x8FB0AC 0x4E2F +0x8FB0AD 0x4E30 +0x8FB0AE 0x4E35 +0x8FB0AF 0x4E40 +0x8FB0B0 0x4E41 +0x8FB0B1 0x4E44 +0x8FB0B2 0x4E47 +0x8FB0B3 0x4E51 +0x8FB0B4 0x4E5A +0x8FB0B5 0x4E5C +0x8FB0B6 0x4E63 +0x8FB0B7 0x4E68 +0x8FB0B8 0x4E69 +0x8FB0B9 0x4E74 +0x8FB0BA 0x4E75 +0x8FB0BB 0x4E79 +0x8FB0BC 0x4E7F +0x8FB0BD 0x4E8D +0x8FB0BE 0x4E96 +0x8FB0BF 0x4E97 +0x8FB0C0 0x4E9D +0x8FB0C1 0x4EAF +0x8FB0C2 0x4EB9 +0x8FB0C3 0x4EC3 +0x8FB0C4 0x4ED0 +0x8FB0C5 0x4EDA +0x8FB0C6 0x4EDB +0x8FB0C7 0x4EE0 +0x8FB0C8 0x4EE1 +0x8FB0C9 0x4EE2 +0x8FB0CA 0x4EE8 +0x8FB0CB 0x4EEF +0x8FB0CC 0x4EF1 +0x8FB0CD 0x4EF3 +0x8FB0CE 0x4EF5 +0x8FB0CF 0x4EFD +0x8FB0D0 0x4EFE +0x8FB0D1 0x4EFF +0x8FB0D2 0x4F00 +0x8FB0D3 0x4F02 +0x8FB0D4 0x4F03 +0x8FB0D5 0x4F08 +0x8FB0D6 0x4F0B +0x8FB0D7 0x4F0C +0x8FB0D8 0x4F12 +0x8FB0D9 0x4F15 +0x8FB0DA 0x4F16 +0x8FB0DB 0x4F17 +0x8FB0DC 0x4F19 +0x8FB0DD 0x4F2E +0x8FB0DE 0x4F31 +0x8FB0DF 0x4F60 +0x8FB0E0 0x4F33 +0x8FB0E1 0x4F35 +0x8FB0E2 0x4F37 +0x8FB0E3 0x4F39 +0x8FB0E4 0x4F3B +0x8FB0E5 0x4F3E +0x8FB0E6 0x4F40 +0x8FB0E7 0x4F42 +0x8FB0E8 0x4F48 +0x8FB0E9 0x4F49 +0x8FB0EA 0x4F4B +0x8FB0EB 0x4F4C +0x8FB0EC 0x4F52 +0x8FB0ED 0x4F54 +0x8FB0EE 0x4F56 +0x8FB0EF 0x4F58 +0x8FB0F0 0x4F5F +0x8FB0F1 0x4F63 +0x8FB0F2 0x4F6A +0x8FB0F3 0x4F6C +0x8FB0F4 0x4F6E +0x8FB0F5 0x4F71 +0x8FB0F6 0x4F77 +0x8FB0F7 0x4F78 +0x8FB0F8 0x4F79 +0x8FB0F9 0x4F7A +0x8FB0FA 0x4F7D +0x8FB0FB 0x4F7E +0x8FB0FC 0x4F81 +0x8FB0FD 0x4F82 +0x8FB0FE 0x4F84 +0x8FB1A1 0x4F85 +0x8FB1A2 0x4F89 +0x8FB1A3 0x4F8A +0x8FB1A4 0x4F8C +0x8FB1A5 0x4F8E +0x8FB1A6 0x4F90 +0x8FB1A7 0x4F92 +0x8FB1A8 0x4F93 +0x8FB1A9 0x4F94 +0x8FB1AA 0x4F97 +0x8FB1AB 0x4F99 +0x8FB1AC 0x4F9A +0x8FB1AD 0x4F9E +0x8FB1AE 0x4F9F +0x8FB1AF 0x4FB2 +0x8FB1B0 0x4FB7 +0x8FB1B1 0x4FB9 +0x8FB1B2 0x4FBB +0x8FB1B3 0x4FBC +0x8FB1B4 0x4FBD +0x8FB1B5 0x4FBE +0x8FB1B6 0x4FC0 +0x8FB1B7 0x4FC1 +0x8FB1B8 0x4FC5 +0x8FB1B9 0x4FC6 +0x8FB1BA 0x4FC8 +0x8FB1BB 0x4FC9 +0x8FB1BC 0x4FCB +0x8FB1BD 0x4FCC +0x8FB1BE 0x4FCD +0x8FB1BF 0x4FCF +0x8FB1C0 0x4FD2 +0x8FB1C1 0x4FDC +0x8FB1C2 0x4FE0 +0x8FB1C3 0x4FE2 +0x8FB1C4 0x4FF0 +0x8FB1C5 0x4FF2 +0x8FB1C6 0x4FFC +0x8FB1C7 0x4FFD +0x8FB1C8 0x4FFF +0x8FB1C9 0x5000 +0x8FB1CA 0x5001 +0x8FB1CB 0x5004 +0x8FB1CC 0x5007 +0x8FB1CD 0x500A +0x8FB1CE 0x500C +0x8FB1CF 0x500E +0x8FB1D0 0x5010 +0x8FB1D1 0x5013 +0x8FB1D2 0x5017 +0x8FB1D3 0x5018 +0x8FB1D4 0x501B +0x8FB1D5 0x501C +0x8FB1D6 0x501D +0x8FB1D7 0x501E +0x8FB1D8 0x5022 +0x8FB1D9 0x5027 +0x8FB1DA 0x502E +0x8FB1DB 0x5030 +0x8FB1DC 0x5032 +0x8FB1DD 0x5033 +0x8FB1DE 0x5035 +0x8FB1DF 0x5040 +0x8FB1E0 0x5041 +0x8FB1E1 0x5042 +0x8FB1E2 0x5045 +0x8FB1E3 0x5046 +0x8FB1E4 0x504A +0x8FB1E5 0x504C +0x8FB1E6 0x504E +0x8FB1E7 0x5051 +0x8FB1E8 0x5052 +0x8FB1E9 0x5053 +0x8FB1EA 0x5057 +0x8FB1EB 0x5059 +0x8FB1EC 0x505F +0x8FB1ED 0x5060 +0x8FB1EE 0x5062 +0x8FB1EF 0x5063 +0x8FB1F0 0x5066 +0x8FB1F1 0x5067 +0x8FB1F2 0x506A +0x8FB1F3 0x506D +0x8FB1F4 0x5070 +0x8FB1F5 0x5071 +0x8FB1F6 0x503B +0x8FB1F7 0x5081 +0x8FB1F8 0x5083 +0x8FB1F9 0x5084 +0x8FB1FA 0x5086 +0x8FB1FB 0x508A +0x8FB1FC 0x508E +0x8FB1FD 0x508F +0x8FB1FE 0x5090 +0x8FB2A1 0x5092 +0x8FB2A2 0x5093 +0x8FB2A3 0x5094 +0x8FB2A4 0x5096 +0x8FB2A5 0x509B +0x8FB2A6 0x509C +0x8FB2A7 0x509E +0x8FB2A8 0x509F +0x8FB2A9 0x50A0 +0x8FB2AA 0x50A1 +0x8FB2AB 0x50A2 +0x8FB2AC 0x50AA +0x8FB2AD 0x50AF +0x8FB2AE 0x50B0 +0x8FB2AF 0x50B9 +0x8FB2B0 0x50BA +0x8FB2B1 0x50BD +0x8FB2B2 0x50C0 +0x8FB2B3 0x50C3 +0x8FB2B4 0x50C4 +0x8FB2B5 0x50C7 +0x8FB2B6 0x50CC +0x8FB2B7 0x50CE +0x8FB2B8 0x50D0 +0x8FB2B9 0x50D3 +0x8FB2BA 0x50D4 +0x8FB2BB 0x50D8 +0x8FB2BC 0x50DC +0x8FB2BD 0x50DD +0x8FB2BE 0x50DF +0x8FB2BF 0x50E2 +0x8FB2C0 0x50E4 +0x8FB2C1 0x50E6 +0x8FB2C2 0x50E8 +0x8FB2C3 0x50E9 +0x8FB2C4 0x50EF +0x8FB2C5 0x50F1 +0x8FB2C6 0x50F6 +0x8FB2C7 0x50FA +0x8FB2C8 0x50FE +0x8FB2C9 0x5103 +0x8FB2CA 0x5106 +0x8FB2CB 0x5107 +0x8FB2CC 0x5108 +0x8FB2CD 0x510B +0x8FB2CE 0x510C +0x8FB2CF 0x510D +0x8FB2D0 0x510E +0x8FB2D1 0x50F2 +0x8FB2D2 0x5110 +0x8FB2D3 0x5117 +0x8FB2D4 0x5119 +0x8FB2D5 0x511B +0x8FB2D6 0x511C +0x8FB2D7 0x511D +0x8FB2D8 0x511E +0x8FB2D9 0x5123 +0x8FB2DA 0x5127 +0x8FB2DB 0x5128 +0x8FB2DC 0x512C +0x8FB2DD 0x512D +0x8FB2DE 0x512F +0x8FB2DF 0x5131 +0x8FB2E0 0x5133 +0x8FB2E1 0x5134 +0x8FB2E2 0x5135 +0x8FB2E3 0x5138 +0x8FB2E4 0x5139 +0x8FB2E5 0x5142 +0x8FB2E6 0x514A +0x8FB2E7 0x514F +0x8FB2E8 0x5153 +0x8FB2E9 0x5155 +0x8FB2EA 0x5157 +0x8FB2EB 0x5158 +0x8FB2EC 0x515F +0x8FB2ED 0x5164 +0x8FB2EE 0x5166 +0x8FB2EF 0x517E +0x8FB2F0 0x5183 +0x8FB2F1 0x5184 +0x8FB2F2 0x518B +0x8FB2F3 0x518E +0x8FB2F4 0x5198 +0x8FB2F5 0x519D +0x8FB2F6 0x51A1 +0x8FB2F7 0x51A3 +0x8FB2F8 0x51AD +0x8FB2F9 0x51B8 +0x8FB2FA 0x51BA +0x8FB2FB 0x51BC +0x8FB2FC 0x51BE +0x8FB2FD 0x51BF +0x8FB2FE 0x51C2 +0x8FB3A1 0x51C8 +0x8FB3A2 0x51CF +0x8FB3A3 0x51D1 +0x8FB3A4 0x51D2 +0x8FB3A5 0x51D3 +0x8FB3A6 0x51D5 +0x8FB3A7 0x51D8 +0x8FB3A8 0x51DE +0x8FB3A9 0x51E2 +0x8FB3AA 0x51E5 +0x8FB3AB 0x51EE +0x8FB3AC 0x51F2 +0x8FB3AD 0x51F3 +0x8FB3AE 0x51F4 +0x8FB3AF 0x51F7 +0x8FB3B0 0x5201 +0x8FB3B1 0x5202 +0x8FB3B2 0x5205 +0x8FB3B3 0x5212 +0x8FB3B4 0x5213 +0x8FB3B5 0x5215 +0x8FB3B6 0x5216 +0x8FB3B7 0x5218 +0x8FB3B8 0x5222 +0x8FB3B9 0x5228 +0x8FB3BA 0x5231 +0x8FB3BB 0x5232 +0x8FB3BC 0x5235 +0x8FB3BD 0x523C +0x8FB3BE 0x5245 +0x8FB3BF 0x5249 +0x8FB3C0 0x5255 +0x8FB3C1 0x5257 +0x8FB3C2 0x5258 +0x8FB3C3 0x525A +0x8FB3C4 0x525C +0x8FB3C5 0x525F +0x8FB3C6 0x5260 +0x8FB3C7 0x5261 +0x8FB3C8 0x5266 +0x8FB3C9 0x526E +0x8FB3CA 0x5277 +0x8FB3CB 0x5278 +0x8FB3CC 0x5279 +0x8FB3CD 0x5280 +0x8FB3CE 0x5282 +0x8FB3CF 0x5285 +0x8FB3D0 0x528A +0x8FB3D1 0x528C +0x8FB3D2 0x5293 +0x8FB3D3 0x5295 +0x8FB3D4 0x5296 +0x8FB3D5 0x5297 +0x8FB3D6 0x5298 +0x8FB3D7 0x529A +0x8FB3D8 0x529C +0x8FB3D9 0x52A4 +0x8FB3DA 0x52A5 +0x8FB3DB 0x52A6 +0x8FB3DC 0x52A7 +0x8FB3DD 0x52AF +0x8FB3DE 0x52B0 +0x8FB3DF 0x52B6 +0x8FB3E0 0x52B7 +0x8FB3E1 0x52B8 +0x8FB3E2 0x52BA +0x8FB3E3 0x52BB +0x8FB3E4 0x52BD +0x8FB3E5 0x52C0 +0x8FB3E6 0x52C4 +0x8FB3E7 0x52C6 +0x8FB3E8 0x52C8 +0x8FB3E9 0x52CC +0x8FB3EA 0x52CF +0x8FB3EB 0x52D1 +0x8FB3EC 0x52D4 +0x8FB3ED 0x52D6 +0x8FB3EE 0x52DB +0x8FB3EF 0x52DC +0x8FB3F0 0x52E1 +0x8FB3F1 0x52E5 +0x8FB3F2 0x52E8 +0x8FB3F3 0x52E9 +0x8FB3F4 0x52EA +0x8FB3F5 0x52EC +0x8FB3F6 0x52F0 +0x8FB3F7 0x52F1 +0x8FB3F8 0x52F4 +0x8FB3F9 0x52F6 +0x8FB3FA 0x52F7 +0x8FB3FB 0x5300 +0x8FB3FC 0x5303 +0x8FB3FD 0x530A +0x8FB3FE 0x530B +0x8FB4A1 0x530C +0x8FB4A2 0x5311 +0x8FB4A3 0x5313 +0x8FB4A4 0x5318 +0x8FB4A5 0x531B +0x8FB4A6 0x531C +0x8FB4A7 0x531E +0x8FB4A8 0x531F +0x8FB4A9 0x5325 +0x8FB4AA 0x5327 +0x8FB4AB 0x5328 +0x8FB4AC 0x5329 +0x8FB4AD 0x532B +0x8FB4AE 0x532C +0x8FB4AF 0x532D +0x8FB4B0 0x5330 +0x8FB4B1 0x5332 +0x8FB4B2 0x5335 +0x8FB4B3 0x533C +0x8FB4B4 0x533D +0x8FB4B5 0x533E +0x8FB4B6 0x5342 +0x8FB4B7 0x534C +0x8FB4B8 0x534B +0x8FB4B9 0x5359 +0x8FB4BA 0x535B +0x8FB4BB 0x5361 +0x8FB4BC 0x5363 +0x8FB4BD 0x5365 +0x8FB4BE 0x536C +0x8FB4BF 0x536D +0x8FB4C0 0x5372 +0x8FB4C1 0x5379 +0x8FB4C2 0x537E +0x8FB4C3 0x5383 +0x8FB4C4 0x5387 +0x8FB4C5 0x5388 +0x8FB4C6 0x538E +0x8FB4C7 0x5393 +0x8FB4C8 0x5394 +0x8FB4C9 0x5399 +0x8FB4CA 0x539D +0x8FB4CB 0x53A1 +0x8FB4CC 0x53A4 +0x8FB4CD 0x53AA +0x8FB4CE 0x53AB +0x8FB4CF 0x53AF +0x8FB4D0 0x53B2 +0x8FB4D1 0x53B4 +0x8FB4D2 0x53B5 +0x8FB4D3 0x53B7 +0x8FB4D4 0x53B8 +0x8FB4D5 0x53BA +0x8FB4D6 0x53BD +0x8FB4D7 0x53C0 +0x8FB4D8 0x53C5 +0x8FB4D9 0x53CF +0x8FB4DA 0x53D2 +0x8FB4DB 0x53D3 +0x8FB4DC 0x53D5 +0x8FB4DD 0x53DA +0x8FB4DE 0x53DD +0x8FB4DF 0x53DE +0x8FB4E0 0x53E0 +0x8FB4E1 0x53E6 +0x8FB4E2 0x53E7 +0x8FB4E3 0x53F5 +0x8FB4E4 0x5402 +0x8FB4E5 0x5413 +0x8FB4E6 0x541A +0x8FB4E7 0x5421 +0x8FB4E8 0x5427 +0x8FB4E9 0x5428 +0x8FB4EA 0x542A +0x8FB4EB 0x542F +0x8FB4EC 0x5431 +0x8FB4ED 0x5434 +0x8FB4EE 0x5435 +0x8FB4EF 0x5443 +0x8FB4F0 0x5444 +0x8FB4F1 0x5447 +0x8FB4F2 0x544D +0x8FB4F3 0x544F +0x8FB4F4 0x545E +0x8FB4F5 0x5462 +0x8FB4F6 0x5464 +0x8FB4F7 0x5466 +0x8FB4F8 0x5467 +0x8FB4F9 0x5469 +0x8FB4FA 0x546B +0x8FB4FB 0x546D +0x8FB4FC 0x546E +0x8FB4FD 0x5474 +0x8FB4FE 0x547F +0x8FB5A1 0x5481 +0x8FB5A2 0x5483 +0x8FB5A3 0x5485 +0x8FB5A4 0x5488 +0x8FB5A5 0x5489 +0x8FB5A6 0x548D +0x8FB5A7 0x5491 +0x8FB5A8 0x5495 +0x8FB5A9 0x5496 +0x8FB5AA 0x549C +0x8FB5AB 0x549F +0x8FB5AC 0x54A1 +0x8FB5AD 0x54A6 +0x8FB5AE 0x54A7 +0x8FB5AF 0x54A9 +0x8FB5B0 0x54AA +0x8FB5B1 0x54AD +0x8FB5B2 0x54AE +0x8FB5B3 0x54B1 +0x8FB5B4 0x54B7 +0x8FB5B5 0x54B9 +0x8FB5B6 0x54BA +0x8FB5B7 0x54BB +0x8FB5B8 0x54BF +0x8FB5B9 0x54C6 +0x8FB5BA 0x54CA +0x8FB5BB 0x54CD +0x8FB5BC 0x54CE +0x8FB5BD 0x54E0 +0x8FB5BE 0x54EA +0x8FB5BF 0x54EC +0x8FB5C0 0x54EF +0x8FB5C1 0x54F6 +0x8FB5C2 0x54FC +0x8FB5C3 0x54FE +0x8FB5C4 0x54FF +0x8FB5C5 0x5500 +0x8FB5C6 0x5501 +0x8FB5C7 0x5505 +0x8FB5C8 0x5508 +0x8FB5C9 0x5509 +0x8FB5CA 0x550C +0x8FB5CB 0x550D +0x8FB5CC 0x550E +0x8FB5CD 0x5515 +0x8FB5CE 0x552A +0x8FB5CF 0x552B +0x8FB5D0 0x5532 +0x8FB5D1 0x5535 +0x8FB5D2 0x5536 +0x8FB5D3 0x553B +0x8FB5D4 0x553C +0x8FB5D5 0x553D +0x8FB5D6 0x5541 +0x8FB5D7 0x5547 +0x8FB5D8 0x5549 +0x8FB5D9 0x554A +0x8FB5DA 0x554D +0x8FB5DB 0x5550 +0x8FB5DC 0x5551 +0x8FB5DD 0x5558 +0x8FB5DE 0x555A +0x8FB5DF 0x555B +0x8FB5E0 0x555E +0x8FB5E1 0x5560 +0x8FB5E2 0x5561 +0x8FB5E3 0x5564 +0x8FB5E4 0x5566 +0x8FB5E5 0x557F +0x8FB5E6 0x5581 +0x8FB5E7 0x5582 +0x8FB5E8 0x5586 +0x8FB5E9 0x5588 +0x8FB5EA 0x558E +0x8FB5EB 0x558F +0x8FB5EC 0x5591 +0x8FB5ED 0x5592 +0x8FB5EE 0x5593 +0x8FB5EF 0x5594 +0x8FB5F0 0x5597 +0x8FB5F1 0x55A3 +0x8FB5F2 0x55A4 +0x8FB5F3 0x55AD +0x8FB5F4 0x55B2 +0x8FB5F5 0x55BF +0x8FB5F6 0x55C1 +0x8FB5F7 0x55C3 +0x8FB5F8 0x55C6 +0x8FB5F9 0x55C9 +0x8FB5FA 0x55CB +0x8FB5FB 0x55CC +0x8FB5FC 0x55CE +0x8FB5FD 0x55D1 +0x8FB5FE 0x55D2 +0x8FB6A1 0x55D3 +0x8FB6A2 0x55D7 +0x8FB6A3 0x55D8 +0x8FB6A4 0x55DB +0x8FB6A5 0x55DE +0x8FB6A6 0x55E2 +0x8FB6A7 0x55E9 +0x8FB6A8 0x55F6 +0x8FB6A9 0x55FF +0x8FB6AA 0x5605 +0x8FB6AB 0x5608 +0x8FB6AC 0x560A +0x8FB6AD 0x560D +0x8FB6AE 0x560E +0x8FB6AF 0x560F +0x8FB6B0 0x5610 +0x8FB6B1 0x5611 +0x8FB6B2 0x5612 +0x8FB6B3 0x5619 +0x8FB6B4 0x562C +0x8FB6B5 0x5630 +0x8FB6B6 0x5633 +0x8FB6B7 0x5635 +0x8FB6B8 0x5637 +0x8FB6B9 0x5639 +0x8FB6BA 0x563B +0x8FB6BB 0x563C +0x8FB6BC 0x563D +0x8FB6BD 0x563F +0x8FB6BE 0x5640 +0x8FB6BF 0x5641 +0x8FB6C0 0x5643 +0x8FB6C1 0x5644 +0x8FB6C2 0x5646 +0x8FB6C3 0x5649 +0x8FB6C4 0x564B +0x8FB6C5 0x564D +0x8FB6C6 0x564F +0x8FB6C7 0x5654 +0x8FB6C8 0x565E +0x8FB6C9 0x5660 +0x8FB6CA 0x5661 +0x8FB6CB 0x5662 +0x8FB6CC 0x5663 +0x8FB6CD 0x5666 +0x8FB6CE 0x5669 +0x8FB6CF 0x566D +0x8FB6D0 0x566F +0x8FB6D1 0x5671 +0x8FB6D2 0x5672 +0x8FB6D3 0x5675 +0x8FB6D4 0x5684 +0x8FB6D5 0x5685 +0x8FB6D6 0x5688 +0x8FB6D7 0x568B +0x8FB6D8 0x568C +0x8FB6D9 0x5695 +0x8FB6DA 0x5699 +0x8FB6DB 0x569A +0x8FB6DC 0x569D +0x8FB6DD 0x569E +0x8FB6DE 0x569F +0x8FB6DF 0x56A6 +0x8FB6E0 0x56A7 +0x8FB6E1 0x56A8 +0x8FB6E2 0x56A9 +0x8FB6E3 0x56AB +0x8FB6E4 0x56AC +0x8FB6E5 0x56AD +0x8FB6E6 0x56B1 +0x8FB6E7 0x56B3 +0x8FB6E8 0x56B7 +0x8FB6E9 0x56BE +0x8FB6EA 0x56C5 +0x8FB6EB 0x56C9 +0x8FB6EC 0x56CA +0x8FB6ED 0x56CB +0x8FB6EE 0x56CF +0x8FB6EF 0x56D0 +0x8FB6F0 0x56CC +0x8FB6F1 0x56CD +0x8FB6F2 0x56D9 +0x8FB6F3 0x56DC +0x8FB6F4 0x56DD +0x8FB6F5 0x56DF +0x8FB6F6 0x56E1 +0x8FB6F7 0x56E4 +0x8FB6F8 0x56E5 +0x8FB6F9 0x56E6 +0x8FB6FA 0x56E7 +0x8FB6FB 0x56E8 +0x8FB6FC 0x56F1 +0x8FB6FD 0x56EB +0x8FB6FE 0x56ED +0x8FB7A1 0x56F6 +0x8FB7A2 0x56F7 +0x8FB7A3 0x5701 +0x8FB7A4 0x5702 +0x8FB7A5 0x5707 +0x8FB7A6 0x570A +0x8FB7A7 0x570C +0x8FB7A8 0x5711 +0x8FB7A9 0x5715 +0x8FB7AA 0x571A +0x8FB7AB 0x571B +0x8FB7AC 0x571D +0x8FB7AD 0x5720 +0x8FB7AE 0x5722 +0x8FB7AF 0x5723 +0x8FB7B0 0x5724 +0x8FB7B1 0x5725 +0x8FB7B2 0x5729 +0x8FB7B3 0x572A +0x8FB7B4 0x572C +0x8FB7B5 0x572E +0x8FB7B6 0x572F +0x8FB7B7 0x5733 +0x8FB7B8 0x5734 +0x8FB7B9 0x573D +0x8FB7BA 0x573E +0x8FB7BB 0x573F +0x8FB7BC 0x5745 +0x8FB7BD 0x5746 +0x8FB7BE 0x574C +0x8FB7BF 0x574D +0x8FB7C0 0x5752 +0x8FB7C1 0x5762 +0x8FB7C2 0x5765 +0x8FB7C3 0x5767 +0x8FB7C4 0x5768 +0x8FB7C5 0x576B +0x8FB7C6 0x576D +0x8FB7C7 0x576E +0x8FB7C8 0x576F +0x8FB7C9 0x5770 +0x8FB7CA 0x5771 +0x8FB7CB 0x5773 +0x8FB7CC 0x5774 +0x8FB7CD 0x5775 +0x8FB7CE 0x5777 +0x8FB7CF 0x5779 +0x8FB7D0 0x577A +0x8FB7D1 0x577B +0x8FB7D2 0x577C +0x8FB7D3 0x577E +0x8FB7D4 0x5781 +0x8FB7D5 0x5783 +0x8FB7D6 0x578C +0x8FB7D7 0x5794 +0x8FB7D8 0x5797 +0x8FB7D9 0x5799 +0x8FB7DA 0x579A +0x8FB7DB 0x579C +0x8FB7DC 0x579D +0x8FB7DD 0x579E +0x8FB7DE 0x579F +0x8FB7DF 0x57A1 +0x8FB7E0 0x5795 +0x8FB7E1 0x57A7 +0x8FB7E2 0x57A8 +0x8FB7E3 0x57A9 +0x8FB7E4 0x57AC +0x8FB7E5 0x57B8 +0x8FB7E6 0x57BD +0x8FB7E7 0x57C7 +0x8FB7E8 0x57C8 +0x8FB7E9 0x57CC +0x8FB7EA 0x57CF +0x8FB7EB 0x57D5 +0x8FB7EC 0x57DD +0x8FB7ED 0x57DE +0x8FB7EE 0x57E4 +0x8FB7EF 0x57E6 +0x8FB7F0 0x57E7 +0x8FB7F1 0x57E9 +0x8FB7F2 0x57ED +0x8FB7F3 0x57F0 +0x8FB7F4 0x57F5 +0x8FB7F5 0x57F6 +0x8FB7F6 0x57F8 +0x8FB7F7 0x57FD +0x8FB7F8 0x57FE +0x8FB7F9 0x57FF +0x8FB7FA 0x5803 +0x8FB7FB 0x5804 +0x8FB7FC 0x5808 +0x8FB7FD 0x5809 +0x8FB7FE 0x57E1 +0x8FB8A1 0x580C +0x8FB8A2 0x580D +0x8FB8A3 0x581B +0x8FB8A4 0x581E +0x8FB8A5 0x581F +0x8FB8A6 0x5820 +0x8FB8A7 0x5826 +0x8FB8A8 0x5827 +0x8FB8A9 0x582D +0x8FB8AA 0x5832 +0x8FB8AB 0x5839 +0x8FB8AC 0x583F +0x8FB8AD 0x5849 +0x8FB8AE 0x584C +0x8FB8AF 0x584D +0x8FB8B0 0x584F +0x8FB8B1 0x5850 +0x8FB8B2 0x5855 +0x8FB8B3 0x585F +0x8FB8B4 0x5861 +0x8FB8B5 0x5864 +0x8FB8B6 0x5867 +0x8FB8B7 0x5868 +0x8FB8B8 0x5878 +0x8FB8B9 0x587C +0x8FB8BA 0x587F +0x8FB8BB 0x5880 +0x8FB8BC 0x5881 +0x8FB8BD 0x5887 +0x8FB8BE 0x5888 +0x8FB8BF 0x5889 +0x8FB8C0 0x588A +0x8FB8C1 0x588C +0x8FB8C2 0x588D +0x8FB8C3 0x588F +0x8FB8C4 0x5890 +0x8FB8C5 0x5894 +0x8FB8C6 0x5896 +0x8FB8C7 0x589D +0x8FB8C8 0x58A0 +0x8FB8C9 0x58A1 +0x8FB8CA 0x58A2 +0x8FB8CB 0x58A6 +0x8FB8CC 0x58A9 +0x8FB8CD 0x58B1 +0x8FB8CE 0x58B2 +0x8FB8CF 0x58C4 +0x8FB8D0 0x58BC +0x8FB8D1 0x58C2 +0x8FB8D2 0x58C8 +0x8FB8D3 0x58CD +0x8FB8D4 0x58CE +0x8FB8D5 0x58D0 +0x8FB8D6 0x58D2 +0x8FB8D7 0x58D4 +0x8FB8D8 0x58D6 +0x8FB8D9 0x58DA +0x8FB8DA 0x58DD +0x8FB8DB 0x58E1 +0x8FB8DC 0x58E2 +0x8FB8DD 0x58E9 +0x8FB8DE 0x58F3 +0x8FB8DF 0x5905 +0x8FB8E0 0x5906 +0x8FB8E1 0x590B +0x8FB8E2 0x590C +0x8FB8E3 0x5912 +0x8FB8E4 0x5913 +0x8FB8E5 0x5914 +0x8FB8E6 0x8641 +0x8FB8E7 0x591D +0x8FB8E8 0x5921 +0x8FB8E9 0x5923 +0x8FB8EA 0x5924 +0x8FB8EB 0x5928 +0x8FB8EC 0x592F +0x8FB8ED 0x5930 +0x8FB8EE 0x5933 +0x8FB8EF 0x5935 +0x8FB8F0 0x5936 +0x8FB8F1 0x593F +0x8FB8F2 0x5943 +0x8FB8F3 0x5946 +0x8FB8F4 0x5952 +0x8FB8F5 0x5953 +0x8FB8F6 0x5959 +0x8FB8F7 0x595B +0x8FB8F8 0x595D +0x8FB8F9 0x595E +0x8FB8FA 0x595F +0x8FB8FB 0x5961 +0x8FB8FC 0x5963 +0x8FB8FD 0x596B +0x8FB8FE 0x596D +0x8FB9A1 0x596F +0x8FB9A2 0x5972 +0x8FB9A3 0x5975 +0x8FB9A4 0x5976 +0x8FB9A5 0x5979 +0x8FB9A6 0x597B +0x8FB9A7 0x597C +0x8FB9A8 0x598B +0x8FB9A9 0x598C +0x8FB9AA 0x598E +0x8FB9AB 0x5992 +0x8FB9AC 0x5995 +0x8FB9AD 0x5997 +0x8FB9AE 0x599F +0x8FB9AF 0x59A4 +0x8FB9B0 0x59A7 +0x8FB9B1 0x59AD +0x8FB9B2 0x59AE +0x8FB9B3 0x59AF +0x8FB9B4 0x59B0 +0x8FB9B5 0x59B3 +0x8FB9B6 0x59B7 +0x8FB9B7 0x59BA +0x8FB9B8 0x59BC +0x8FB9B9 0x59C1 +0x8FB9BA 0x59C3 +0x8FB9BB 0x59C4 +0x8FB9BC 0x59C8 +0x8FB9BD 0x59CA +0x8FB9BE 0x59CD +0x8FB9BF 0x59D2 +0x8FB9C0 0x59DD +0x8FB9C1 0x59DE +0x8FB9C2 0x59DF +0x8FB9C3 0x59E3 +0x8FB9C4 0x59E4 +0x8FB9C5 0x59E7 +0x8FB9C6 0x59EE +0x8FB9C7 0x59EF +0x8FB9C8 0x59F1 +0x8FB9C9 0x59F2 +0x8FB9CA 0x59F4 +0x8FB9CB 0x59F7 +0x8FB9CC 0x5A00 +0x8FB9CD 0x5A04 +0x8FB9CE 0x5A0C +0x8FB9CF 0x5A0D +0x8FB9D0 0x5A0E +0x8FB9D1 0x5A12 +0x8FB9D2 0x5A13 +0x8FB9D3 0x5A1E +0x8FB9D4 0x5A23 +0x8FB9D5 0x5A24 +0x8FB9D6 0x5A27 +0x8FB9D7 0x5A28 +0x8FB9D8 0x5A2A +0x8FB9D9 0x5A2D +0x8FB9DA 0x5A30 +0x8FB9DB 0x5A44 +0x8FB9DC 0x5A45 +0x8FB9DD 0x5A47 +0x8FB9DE 0x5A48 +0x8FB9DF 0x5A4C +0x8FB9E0 0x5A50 +0x8FB9E1 0x5A55 +0x8FB9E2 0x5A5E +0x8FB9E3 0x5A63 +0x8FB9E4 0x5A65 +0x8FB9E5 0x5A67 +0x8FB9E6 0x5A6D +0x8FB9E7 0x5A77 +0x8FB9E8 0x5A7A +0x8FB9E9 0x5A7B +0x8FB9EA 0x5A7E +0x8FB9EB 0x5A8B +0x8FB9EC 0x5A90 +0x8FB9ED 0x5A93 +0x8FB9EE 0x5A96 +0x8FB9EF 0x5A99 +0x8FB9F0 0x5A9C +0x8FB9F1 0x5A9E +0x8FB9F2 0x5A9F +0x8FB9F3 0x5AA0 +0x8FB9F4 0x5AA2 +0x8FB9F5 0x5AA7 +0x8FB9F6 0x5AAC +0x8FB9F7 0x5AB1 +0x8FB9F8 0x5AB2 +0x8FB9F9 0x5AB3 +0x8FB9FA 0x5AB5 +0x8FB9FB 0x5AB8 +0x8FB9FC 0x5ABA +0x8FB9FD 0x5ABB +0x8FB9FE 0x5ABF +0x8FBAA1 0x5AC4 +0x8FBAA2 0x5AC6 +0x8FBAA3 0x5AC8 +0x8FBAA4 0x5ACF +0x8FBAA5 0x5ADA +0x8FBAA6 0x5ADC +0x8FBAA7 0x5AE0 +0x8FBAA8 0x5AE5 +0x8FBAA9 0x5AEA +0x8FBAAA 0x5AEE +0x8FBAAB 0x5AF5 +0x8FBAAC 0x5AF6 +0x8FBAAD 0x5AFD +0x8FBAAE 0x5B00 +0x8FBAAF 0x5B01 +0x8FBAB0 0x5B08 +0x8FBAB1 0x5B17 +0x8FBAB2 0x5B34 +0x8FBAB3 0x5B19 +0x8FBAB4 0x5B1B +0x8FBAB5 0x5B1D +0x8FBAB6 0x5B21 +0x8FBAB7 0x5B25 +0x8FBAB8 0x5B2D +0x8FBAB9 0x5B38 +0x8FBABA 0x5B41 +0x8FBABB 0x5B4B +0x8FBABC 0x5B4C +0x8FBABD 0x5B52 +0x8FBABE 0x5B56 +0x8FBABF 0x5B5E +0x8FBAC0 0x5B68 +0x8FBAC1 0x5B6E +0x8FBAC2 0x5B6F +0x8FBAC3 0x5B7C +0x8FBAC4 0x5B7D +0x8FBAC5 0x5B7E +0x8FBAC6 0x5B7F +0x8FBAC7 0x5B81 +0x8FBAC8 0x5B84 +0x8FBAC9 0x5B86 +0x8FBACA 0x5B8A +0x8FBACB 0x5B8E +0x8FBACC 0x5B90 +0x8FBACD 0x5B91 +0x8FBACE 0x5B93 +0x8FBACF 0x5B94 +0x8FBAD0 0x5B96 +0x8FBAD1 0x5BA8 +0x8FBAD2 0x5BA9 +0x8FBAD3 0x5BAC +0x8FBAD4 0x5BAD +0x8FBAD5 0x5BAF +0x8FBAD6 0x5BB1 +0x8FBAD7 0x5BB2 +0x8FBAD8 0x5BB7 +0x8FBAD9 0x5BBA +0x8FBADA 0x5BBC +0x8FBADB 0x5BC0 +0x8FBADC 0x5BC1 +0x8FBADD 0x5BCD +0x8FBADE 0x5BCF +0x8FBADF 0x5BD6 +0x8FBAE0 0x5BD7 +0x8FBAE1 0x5BD8 +0x8FBAE2 0x5BD9 +0x8FBAE3 0x5BDA +0x8FBAE4 0x5BE0 +0x8FBAE5 0x5BEF +0x8FBAE6 0x5BF1 +0x8FBAE7 0x5BF4 +0x8FBAE8 0x5BFD +0x8FBAE9 0x5C0C +0x8FBAEA 0x5C17 +0x8FBAEB 0x5C1E +0x8FBAEC 0x5C1F +0x8FBAED 0x5C23 +0x8FBAEE 0x5C26 +0x8FBAEF 0x5C29 +0x8FBAF0 0x5C2B +0x8FBAF1 0x5C2C +0x8FBAF2 0x5C2E +0x8FBAF3 0x5C30 +0x8FBAF4 0x5C32 +0x8FBAF5 0x5C35 +0x8FBAF6 0x5C36 +0x8FBAF7 0x5C59 +0x8FBAF8 0x5C5A +0x8FBAF9 0x5C5C +0x8FBAFA 0x5C62 +0x8FBAFB 0x5C63 +0x8FBAFC 0x5C67 +0x8FBAFD 0x5C68 +0x8FBAFE 0x5C69 +0x8FBBA1 0x5C6D +0x8FBBA2 0x5C70 +0x8FBBA3 0x5C74 +0x8FBBA4 0x5C75 +0x8FBBA5 0x5C7A +0x8FBBA6 0x5C7B +0x8FBBA7 0x5C7C +0x8FBBA8 0x5C7D +0x8FBBA9 0x5C87 +0x8FBBAA 0x5C88 +0x8FBBAB 0x5C8A +0x8FBBAC 0x5C8F +0x8FBBAD 0x5C92 +0x8FBBAE 0x5C9D +0x8FBBAF 0x5C9F +0x8FBBB0 0x5CA0 +0x8FBBB1 0x5CA2 +0x8FBBB2 0x5CA3 +0x8FBBB3 0x5CA6 +0x8FBBB4 0x5CAA +0x8FBBB5 0x5CB2 +0x8FBBB6 0x5CB4 +0x8FBBB7 0x5CB5 +0x8FBBB8 0x5CBA +0x8FBBB9 0x5CC9 +0x8FBBBA 0x5CCB +0x8FBBBB 0x5CD2 +0x8FBBBC 0x5CDD +0x8FBBBD 0x5CD7 +0x8FBBBE 0x5CEE +0x8FBBBF 0x5CF1 +0x8FBBC0 0x5CF2 +0x8FBBC1 0x5CF4 +0x8FBBC2 0x5D01 +0x8FBBC3 0x5D06 +0x8FBBC4 0x5D0D +0x8FBBC5 0x5D12 +0x8FBBC6 0x5D2B +0x8FBBC7 0x5D23 +0x8FBBC8 0x5D24 +0x8FBBC9 0x5D26 +0x8FBBCA 0x5D27 +0x8FBBCB 0x5D31 +0x8FBBCC 0x5D34 +0x8FBBCD 0x5D39 +0x8FBBCE 0x5D3D +0x8FBBCF 0x5D3F +0x8FBBD0 0x5D42 +0x8FBBD1 0x5D43 +0x8FBBD2 0x5D46 +0x8FBBD3 0x5D48 +0x8FBBD4 0x5D55 +0x8FBBD5 0x5D51 +0x8FBBD6 0x5D59 +0x8FBBD7 0x5D4A +0x8FBBD8 0x5D5F +0x8FBBD9 0x5D60 +0x8FBBDA 0x5D61 +0x8FBBDB 0x5D62 +0x8FBBDC 0x5D64 +0x8FBBDD 0x5D6A +0x8FBBDE 0x5D6D +0x8FBBDF 0x5D70 +0x8FBBE0 0x5D79 +0x8FBBE1 0x5D7A +0x8FBBE2 0x5D7E +0x8FBBE3 0x5D7F +0x8FBBE4 0x5D81 +0x8FBBE5 0x5D83 +0x8FBBE6 0x5D88 +0x8FBBE7 0x5D8A +0x8FBBE8 0x5D92 +0x8FBBE9 0x5D93 +0x8FBBEA 0x5D94 +0x8FBBEB 0x5D95 +0x8FBBEC 0x5D99 +0x8FBBED 0x5D9B +0x8FBBEE 0x5D9F +0x8FBBEF 0x5DA0 +0x8FBBF0 0x5DA7 +0x8FBBF1 0x5DAB +0x8FBBF2 0x5DB0 +0x8FBBF3 0x5DB4 +0x8FBBF4 0x5DB8 +0x8FBBF5 0x5DB9 +0x8FBBF6 0x5DC3 +0x8FBBF7 0x5DC7 +0x8FBBF8 0x5DCB +0x8FBBF9 0x5DD0 +0x8FBBFA 0x5DCE +0x8FBBFB 0x5DD8 +0x8FBBFC 0x5DD9 +0x8FBBFD 0x5DE0 +0x8FBBFE 0x5DE4 +0x8FBCA1 0x5DE9 +0x8FBCA2 0x5DF8 +0x8FBCA3 0x5DF9 +0x8FBCA4 0x5E00 +0x8FBCA5 0x5E07 +0x8FBCA6 0x5E0D +0x8FBCA7 0x5E12 +0x8FBCA8 0x5E14 +0x8FBCA9 0x5E15 +0x8FBCAA 0x5E18 +0x8FBCAB 0x5E1F +0x8FBCAC 0x5E20 +0x8FBCAD 0x5E2E +0x8FBCAE 0x5E28 +0x8FBCAF 0x5E32 +0x8FBCB0 0x5E35 +0x8FBCB1 0x5E3E +0x8FBCB2 0x5E4B +0x8FBCB3 0x5E50 +0x8FBCB4 0x5E49 +0x8FBCB5 0x5E51 +0x8FBCB6 0x5E56 +0x8FBCB7 0x5E58 +0x8FBCB8 0x5E5B +0x8FBCB9 0x5E5C +0x8FBCBA 0x5E5E +0x8FBCBB 0x5E68 +0x8FBCBC 0x5E6A +0x8FBCBD 0x5E6B +0x8FBCBE 0x5E6C +0x8FBCBF 0x5E6D +0x8FBCC0 0x5E6E +0x8FBCC1 0x5E70 +0x8FBCC2 0x5E80 +0x8FBCC3 0x5E8B +0x8FBCC4 0x5E8E +0x8FBCC5 0x5EA2 +0x8FBCC6 0x5EA4 +0x8FBCC7 0x5EA5 +0x8FBCC8 0x5EA8 +0x8FBCC9 0x5EAA +0x8FBCCA 0x5EAC +0x8FBCCB 0x5EB1 +0x8FBCCC 0x5EB3 +0x8FBCCD 0x5EBD +0x8FBCCE 0x5EBE +0x8FBCCF 0x5EBF +0x8FBCD0 0x5EC6 +0x8FBCD1 0x5ECC +0x8FBCD2 0x5ECB +0x8FBCD3 0x5ECE +0x8FBCD4 0x5ED1 +0x8FBCD5 0x5ED2 +0x8FBCD6 0x5ED4 +0x8FBCD7 0x5ED5 +0x8FBCD8 0x5EDC +0x8FBCD9 0x5EDE +0x8FBCDA 0x5EE5 +0x8FBCDB 0x5EEB +0x8FBCDC 0x5F02 +0x8FBCDD 0x5F06 +0x8FBCDE 0x5F07 +0x8FBCDF 0x5F08 +0x8FBCE0 0x5F0E +0x8FBCE1 0x5F19 +0x8FBCE2 0x5F1C +0x8FBCE3 0x5F1D +0x8FBCE4 0x5F21 +0x8FBCE5 0x5F22 +0x8FBCE6 0x5F23 +0x8FBCE7 0x5F24 +0x8FBCE8 0x5F28 +0x8FBCE9 0x5F2B +0x8FBCEA 0x5F2C +0x8FBCEB 0x5F2E +0x8FBCEC 0x5F30 +0x8FBCED 0x5F34 +0x8FBCEE 0x5F36 +0x8FBCEF 0x5F3B +0x8FBCF0 0x5F3D +0x8FBCF1 0x5F3F +0x8FBCF2 0x5F40 +0x8FBCF3 0x5F44 +0x8FBCF4 0x5F45 +0x8FBCF5 0x5F47 +0x8FBCF6 0x5F4D +0x8FBCF7 0x5F50 +0x8FBCF8 0x5F54 +0x8FBCF9 0x5F58 +0x8FBCFA 0x5F5B +0x8FBCFB 0x5F60 +0x8FBCFC 0x5F63 +0x8FBCFD 0x5F64 +0x8FBCFE 0x5F67 +0x8FBDA1 0x5F6F +0x8FBDA2 0x5F72 +0x8FBDA3 0x5F74 +0x8FBDA4 0x5F75 +0x8FBDA5 0x5F78 +0x8FBDA6 0x5F7A +0x8FBDA7 0x5F7D +0x8FBDA8 0x5F7E +0x8FBDA9 0x5F89 +0x8FBDAA 0x5F8D +0x8FBDAB 0x5F8F +0x8FBDAC 0x5F96 +0x8FBDAD 0x5F9C +0x8FBDAE 0x5F9D +0x8FBDAF 0x5FA2 +0x8FBDB0 0x5FA7 +0x8FBDB1 0x5FAB +0x8FBDB2 0x5FA4 +0x8FBDB3 0x5FAC +0x8FBDB4 0x5FAF +0x8FBDB5 0x5FB0 +0x8FBDB6 0x5FB1 +0x8FBDB7 0x5FB8 +0x8FBDB8 0x5FC4 +0x8FBDB9 0x5FC7 +0x8FBDBA 0x5FC8 +0x8FBDBB 0x5FC9 +0x8FBDBC 0x5FCB +0x8FBDBD 0x5FD0 +0x8FBDBE 0x5FD1 +0x8FBDBF 0x5FD2 +0x8FBDC0 0x5FD3 +0x8FBDC1 0x5FD4 +0x8FBDC2 0x5FDE +0x8FBDC3 0x5FE1 +0x8FBDC4 0x5FE2 +0x8FBDC5 0x5FE8 +0x8FBDC6 0x5FE9 +0x8FBDC7 0x5FEA +0x8FBDC8 0x5FEC +0x8FBDC9 0x5FED +0x8FBDCA 0x5FEE +0x8FBDCB 0x5FEF +0x8FBDCC 0x5FF2 +0x8FBDCD 0x5FF3 +0x8FBDCE 0x5FF6 +0x8FBDCF 0x5FFA +0x8FBDD0 0x5FFC +0x8FBDD1 0x6007 +0x8FBDD2 0x600A +0x8FBDD3 0x600D +0x8FBDD4 0x6013 +0x8FBDD5 0x6014 +0x8FBDD6 0x6017 +0x8FBDD7 0x6018 +0x8FBDD8 0x601A +0x8FBDD9 0x601F +0x8FBDDA 0x6024 +0x8FBDDB 0x602D +0x8FBDDC 0x6033 +0x8FBDDD 0x6035 +0x8FBDDE 0x6040 +0x8FBDDF 0x6047 +0x8FBDE0 0x6048 +0x8FBDE1 0x6049 +0x8FBDE2 0x604C +0x8FBDE3 0x6051 +0x8FBDE4 0x6054 +0x8FBDE5 0x6056 +0x8FBDE6 0x6057 +0x8FBDE7 0x605D +0x8FBDE8 0x6061 +0x8FBDE9 0x6067 +0x8FBDEA 0x6071 +0x8FBDEB 0x607E +0x8FBDEC 0x607F +0x8FBDED 0x6082 +0x8FBDEE 0x6086 +0x8FBDEF 0x6088 +0x8FBDF0 0x608A +0x8FBDF1 0x608E +0x8FBDF2 0x6091 +0x8FBDF3 0x6093 +0x8FBDF4 0x6095 +0x8FBDF5 0x6098 +0x8FBDF6 0x609D +0x8FBDF7 0x609E +0x8FBDF8 0x60A2 +0x8FBDF9 0x60A4 +0x8FBDFA 0x60A5 +0x8FBDFB 0x60A8 +0x8FBDFC 0x60B0 +0x8FBDFD 0x60B1 +0x8FBDFE 0x60B7 +0x8FBEA1 0x60BB +0x8FBEA2 0x60BE +0x8FBEA3 0x60C2 +0x8FBEA4 0x60C4 +0x8FBEA5 0x60C8 +0x8FBEA6 0x60C9 +0x8FBEA7 0x60CA +0x8FBEA8 0x60CB +0x8FBEA9 0x60CE +0x8FBEAA 0x60CF +0x8FBEAB 0x60D4 +0x8FBEAC 0x60D5 +0x8FBEAD 0x60D9 +0x8FBEAE 0x60DB +0x8FBEAF 0x60DD +0x8FBEB0 0x60DE +0x8FBEB1 0x60E2 +0x8FBEB2 0x60E5 +0x8FBEB3 0x60F2 +0x8FBEB4 0x60F5 +0x8FBEB5 0x60F8 +0x8FBEB6 0x60FC +0x8FBEB7 0x60FD +0x8FBEB8 0x6102 +0x8FBEB9 0x6107 +0x8FBEBA 0x610A +0x8FBEBB 0x610C +0x8FBEBC 0x6110 +0x8FBEBD 0x6111 +0x8FBEBE 0x6112 +0x8FBEBF 0x6113 +0x8FBEC0 0x6114 +0x8FBEC1 0x6116 +0x8FBEC2 0x6117 +0x8FBEC3 0x6119 +0x8FBEC4 0x611C +0x8FBEC5 0x611E +0x8FBEC6 0x6122 +0x8FBEC7 0x612A +0x8FBEC8 0x612B +0x8FBEC9 0x6130 +0x8FBECA 0x6131 +0x8FBECB 0x6135 +0x8FBECC 0x6136 +0x8FBECD 0x6137 +0x8FBECE 0x6139 +0x8FBECF 0x6141 +0x8FBED0 0x6145 +0x8FBED1 0x6146 +0x8FBED2 0x6149 +0x8FBED3 0x615E +0x8FBED4 0x6160 +0x8FBED5 0x616C +0x8FBED6 0x6172 +0x8FBED7 0x6178 +0x8FBED8 0x617B +0x8FBED9 0x617C +0x8FBEDA 0x617F +0x8FBEDB 0x6180 +0x8FBEDC 0x6181 +0x8FBEDD 0x6183 +0x8FBEDE 0x6184 +0x8FBEDF 0x618B +0x8FBEE0 0x618D +0x8FBEE1 0x6192 +0x8FBEE2 0x6193 +0x8FBEE3 0x6197 +0x8FBEE4 0x6198 +0x8FBEE5 0x619C +0x8FBEE6 0x619D +0x8FBEE7 0x619F +0x8FBEE8 0x61A0 +0x8FBEE9 0x61A5 +0x8FBEEA 0x61A8 +0x8FBEEB 0x61AA +0x8FBEEC 0x61AD +0x8FBEED 0x61B8 +0x8FBEEE 0x61B9 +0x8FBEEF 0x61BC +0x8FBEF0 0x61C0 +0x8FBEF1 0x61C1 +0x8FBEF2 0x61C2 +0x8FBEF3 0x61CE +0x8FBEF4 0x61CF +0x8FBEF5 0x61D5 +0x8FBEF6 0x61DC +0x8FBEF7 0x61DD +0x8FBEF8 0x61DE +0x8FBEF9 0x61DF +0x8FBEFA 0x61E1 +0x8FBEFB 0x61E2 +0x8FBEFC 0x61E7 +0x8FBEFD 0x61E9 +0x8FBEFE 0x61E5 +0x8FBFA1 0x61EC +0x8FBFA2 0x61ED +0x8FBFA3 0x61EF +0x8FBFA4 0x6201 +0x8FBFA5 0x6203 +0x8FBFA6 0x6204 +0x8FBFA7 0x6207 +0x8FBFA8 0x6213 +0x8FBFA9 0x6215 +0x8FBFAA 0x621C +0x8FBFAB 0x6220 +0x8FBFAC 0x6222 +0x8FBFAD 0x6223 +0x8FBFAE 0x6227 +0x8FBFAF 0x6229 +0x8FBFB0 0x622B +0x8FBFB1 0x6239 +0x8FBFB2 0x623D +0x8FBFB3 0x6242 +0x8FBFB4 0x6243 +0x8FBFB5 0x6244 +0x8FBFB6 0x6246 +0x8FBFB7 0x624C +0x8FBFB8 0x6250 +0x8FBFB9 0x6251 +0x8FBFBA 0x6252 +0x8FBFBB 0x6254 +0x8FBFBC 0x6256 +0x8FBFBD 0x625A +0x8FBFBE 0x625C +0x8FBFBF 0x6264 +0x8FBFC0 0x626D +0x8FBFC1 0x626F +0x8FBFC2 0x6273 +0x8FBFC3 0x627A +0x8FBFC4 0x627D +0x8FBFC5 0x628D +0x8FBFC6 0x628E +0x8FBFC7 0x628F +0x8FBFC8 0x6290 +0x8FBFC9 0x62A6 +0x8FBFCA 0x62A8 +0x8FBFCB 0x62B3 +0x8FBFCC 0x62B6 +0x8FBFCD 0x62B7 +0x8FBFCE 0x62BA +0x8FBFCF 0x62BE +0x8FBFD0 0x62BF +0x8FBFD1 0x62C4 +0x8FBFD2 0x62CE +0x8FBFD3 0x62D5 +0x8FBFD4 0x62D6 +0x8FBFD5 0x62DA +0x8FBFD6 0x62EA +0x8FBFD7 0x62F2 +0x8FBFD8 0x62F4 +0x8FBFD9 0x62FC +0x8FBFDA 0x62FD +0x8FBFDB 0x6303 +0x8FBFDC 0x6304 +0x8FBFDD 0x630A +0x8FBFDE 0x630B +0x8FBFDF 0x630D +0x8FBFE0 0x6310 +0x8FBFE1 0x6313 +0x8FBFE2 0x6316 +0x8FBFE3 0x6318 +0x8FBFE4 0x6329 +0x8FBFE5 0x632A +0x8FBFE6 0x632D +0x8FBFE7 0x6335 +0x8FBFE8 0x6336 +0x8FBFE9 0x6339 +0x8FBFEA 0x633C +0x8FBFEB 0x6341 +0x8FBFEC 0x6342 +0x8FBFED 0x6343 +0x8FBFEE 0x6344 +0x8FBFEF 0x6346 +0x8FBFF0 0x634A +0x8FBFF1 0x634B +0x8FBFF2 0x634E +0x8FBFF3 0x6352 +0x8FBFF4 0x6353 +0x8FBFF5 0x6354 +0x8FBFF6 0x6358 +0x8FBFF7 0x635B +0x8FBFF8 0x6365 +0x8FBFF9 0x6366 +0x8FBFFA 0x636C +0x8FBFFB 0x636D +0x8FBFFC 0x6371 +0x8FBFFD 0x6374 +0x8FBFFE 0x6375 +0x8FC0A1 0x6378 +0x8FC0A2 0x637C +0x8FC0A3 0x637D +0x8FC0A4 0x637F +0x8FC0A5 0x6382 +0x8FC0A6 0x6384 +0x8FC0A7 0x6387 +0x8FC0A8 0x638A +0x8FC0A9 0x6390 +0x8FC0AA 0x6394 +0x8FC0AB 0x6395 +0x8FC0AC 0x6399 +0x8FC0AD 0x639A +0x8FC0AE 0x639E +0x8FC0AF 0x63A4 +0x8FC0B0 0x63A6 +0x8FC0B1 0x63AD +0x8FC0B2 0x63AE +0x8FC0B3 0x63AF +0x8FC0B4 0x63BD +0x8FC0B5 0x63C1 +0x8FC0B6 0x63C5 +0x8FC0B7 0x63C8 +0x8FC0B8 0x63CE +0x8FC0B9 0x63D1 +0x8FC0BA 0x63D3 +0x8FC0BB 0x63D4 +0x8FC0BC 0x63D5 +0x8FC0BD 0x63DC +0x8FC0BE 0x63E0 +0x8FC0BF 0x63E5 +0x8FC0C0 0x63EA +0x8FC0C1 0x63EC +0x8FC0C2 0x63F2 +0x8FC0C3 0x63F3 +0x8FC0C4 0x63F5 +0x8FC0C5 0x63F8 +0x8FC0C6 0x63F9 +0x8FC0C7 0x6409 +0x8FC0C8 0x640A +0x8FC0C9 0x6410 +0x8FC0CA 0x6412 +0x8FC0CB 0x6414 +0x8FC0CC 0x6418 +0x8FC0CD 0x641E +0x8FC0CE 0x6420 +0x8FC0CF 0x6422 +0x8FC0D0 0x6424 +0x8FC0D1 0x6425 +0x8FC0D2 0x6429 +0x8FC0D3 0x642A +0x8FC0D4 0x642F +0x8FC0D5 0x6430 +0x8FC0D6 0x6435 +0x8FC0D7 0x643D +0x8FC0D8 0x643F +0x8FC0D9 0x644B +0x8FC0DA 0x644F +0x8FC0DB 0x6451 +0x8FC0DC 0x6452 +0x8FC0DD 0x6453 +0x8FC0DE 0x6454 +0x8FC0DF 0x645A +0x8FC0E0 0x645B +0x8FC0E1 0x645C +0x8FC0E2 0x645D +0x8FC0E3 0x645F +0x8FC0E4 0x6460 +0x8FC0E5 0x6461 +0x8FC0E6 0x6463 +0x8FC0E7 0x646D +0x8FC0E8 0x6473 +0x8FC0E9 0x6474 +0x8FC0EA 0x647B +0x8FC0EB 0x647D +0x8FC0EC 0x6485 +0x8FC0ED 0x6487 +0x8FC0EE 0x648F +0x8FC0EF 0x6490 +0x8FC0F0 0x6491 +0x8FC0F1 0x6498 +0x8FC0F2 0x6499 +0x8FC0F3 0x649B +0x8FC0F4 0x649D +0x8FC0F5 0x649F +0x8FC0F6 0x64A1 +0x8FC0F7 0x64A3 +0x8FC0F8 0x64A6 +0x8FC0F9 0x64A8 +0x8FC0FA 0x64AC +0x8FC0FB 0x64B3 +0x8FC0FC 0x64BD +0x8FC0FD 0x64BE +0x8FC0FE 0x64BF +0x8FC1A1 0x64C4 +0x8FC1A2 0x64C9 +0x8FC1A3 0x64CA +0x8FC1A4 0x64CB +0x8FC1A5 0x64CC +0x8FC1A6 0x64CE +0x8FC1A7 0x64D0 +0x8FC1A8 0x64D1 +0x8FC1A9 0x64D5 +0x8FC1AA 0x64D7 +0x8FC1AB 0x64E4 +0x8FC1AC 0x64E5 +0x8FC1AD 0x64E9 +0x8FC1AE 0x64EA +0x8FC1AF 0x64ED +0x8FC1B0 0x64F0 +0x8FC1B1 0x64F5 +0x8FC1B2 0x64F7 +0x8FC1B3 0x64FB +0x8FC1B4 0x64FF +0x8FC1B5 0x6501 +0x8FC1B6 0x6504 +0x8FC1B7 0x6508 +0x8FC1B8 0x6509 +0x8FC1B9 0x650A +0x8FC1BA 0x650F +0x8FC1BB 0x6513 +0x8FC1BC 0x6514 +0x8FC1BD 0x6516 +0x8FC1BE 0x6519 +0x8FC1BF 0x651B +0x8FC1C0 0x651E +0x8FC1C1 0x651F +0x8FC1C2 0x6522 +0x8FC1C3 0x6526 +0x8FC1C4 0x6529 +0x8FC1C5 0x652E +0x8FC1C6 0x6531 +0x8FC1C7 0x653A +0x8FC1C8 0x653C +0x8FC1C9 0x653D +0x8FC1CA 0x6543 +0x8FC1CB 0x6547 +0x8FC1CC 0x6549 +0x8FC1CD 0x6550 +0x8FC1CE 0x6552 +0x8FC1CF 0x6554 +0x8FC1D0 0x655F +0x8FC1D1 0x6560 +0x8FC1D2 0x6567 +0x8FC1D3 0x656B +0x8FC1D4 0x657A +0x8FC1D5 0x657D +0x8FC1D6 0x6581 +0x8FC1D7 0x6585 +0x8FC1D8 0x658A +0x8FC1D9 0x6592 +0x8FC1DA 0x6595 +0x8FC1DB 0x6598 +0x8FC1DC 0x659D +0x8FC1DD 0x65A0 +0x8FC1DE 0x65A3 +0x8FC1DF 0x65A6 +0x8FC1E0 0x65AE +0x8FC1E1 0x65B2 +0x8FC1E2 0x65B3 +0x8FC1E3 0x65B4 +0x8FC1E4 0x65BF +0x8FC1E5 0x65C2 +0x8FC1E6 0x65C8 +0x8FC1E7 0x65C9 +0x8FC1E8 0x65CE +0x8FC1E9 0x65D0 +0x8FC1EA 0x65D4 +0x8FC1EB 0x65D6 +0x8FC1EC 0x65D8 +0x8FC1ED 0x65DF +0x8FC1EE 0x65F0 +0x8FC1EF 0x65F2 +0x8FC1F0 0x65F4 +0x8FC1F1 0x65F5 +0x8FC1F2 0x65F9 +0x8FC1F3 0x65FE +0x8FC1F4 0x65FF +0x8FC1F5 0x6600 +0x8FC1F6 0x6604 +0x8FC1F7 0x6608 +0x8FC1F8 0x6609 +0x8FC1F9 0x660D +0x8FC1FA 0x6611 +0x8FC1FB 0x6612 +0x8FC1FC 0x6615 +0x8FC1FD 0x6616 +0x8FC1FE 0x661D +0x8FC2A1 0x661E +0x8FC2A2 0x6621 +0x8FC2A3 0x6622 +0x8FC2A4 0x6623 +0x8FC2A5 0x6624 +0x8FC2A6 0x6626 +0x8FC2A7 0x6629 +0x8FC2A8 0x662A +0x8FC2A9 0x662B +0x8FC2AA 0x662C +0x8FC2AB 0x662E +0x8FC2AC 0x6630 +0x8FC2AD 0x6631 +0x8FC2AE 0x6633 +0x8FC2AF 0x6639 +0x8FC2B0 0x6637 +0x8FC2B1 0x6640 +0x8FC2B2 0x6645 +0x8FC2B3 0x6646 +0x8FC2B4 0x664A +0x8FC2B5 0x664C +0x8FC2B6 0x6651 +0x8FC2B7 0x664E +0x8FC2B8 0x6657 +0x8FC2B9 0x6658 +0x8FC2BA 0x6659 +0x8FC2BB 0x665B +0x8FC2BC 0x665C +0x8FC2BD 0x6660 +0x8FC2BE 0x6661 +0x8FC2BF 0x66FB +0x8FC2C0 0x666A +0x8FC2C1 0x666B +0x8FC2C2 0x666C +0x8FC2C3 0x667E +0x8FC2C4 0x6673 +0x8FC2C5 0x6675 +0x8FC2C6 0x667F +0x8FC2C7 0x6677 +0x8FC2C8 0x6678 +0x8FC2C9 0x6679 +0x8FC2CA 0x667B +0x8FC2CB 0x6680 +0x8FC2CC 0x667C +0x8FC2CD 0x668B +0x8FC2CE 0x668C +0x8FC2CF 0x668D +0x8FC2D0 0x6690 +0x8FC2D1 0x6692 +0x8FC2D2 0x6699 +0x8FC2D3 0x669A +0x8FC2D4 0x669B +0x8FC2D5 0x669C +0x8FC2D6 0x669F +0x8FC2D7 0x66A0 +0x8FC2D8 0x66A4 +0x8FC2D9 0x66AD +0x8FC2DA 0x66B1 +0x8FC2DB 0x66B2 +0x8FC2DC 0x66B5 +0x8FC2DD 0x66BB +0x8FC2DE 0x66BF +0x8FC2DF 0x66C0 +0x8FC2E0 0x66C2 +0x8FC2E1 0x66C3 +0x8FC2E2 0x66C8 +0x8FC2E3 0x66CC +0x8FC2E4 0x66CE +0x8FC2E5 0x66CF +0x8FC2E6 0x66D4 +0x8FC2E7 0x66DB +0x8FC2E8 0x66DF +0x8FC2E9 0x66E8 +0x8FC2EA 0x66EB +0x8FC2EB 0x66EC +0x8FC2EC 0x66EE +0x8FC2ED 0x66FA +0x8FC2EE 0x6705 +0x8FC2EF 0x6707 +0x8FC2F0 0x670E +0x8FC2F1 0x6713 +0x8FC2F2 0x6719 +0x8FC2F3 0x671C +0x8FC2F4 0x6720 +0x8FC2F5 0x6722 +0x8FC2F6 0x6733 +0x8FC2F7 0x673E +0x8FC2F8 0x6745 +0x8FC2F9 0x6747 +0x8FC2FA 0x6748 +0x8FC2FB 0x674C +0x8FC2FC 0x6754 +0x8FC2FD 0x6755 +0x8FC2FE 0x675D +0x8FC3A1 0x6766 +0x8FC3A2 0x676C +0x8FC3A3 0x676E +0x8FC3A4 0x6774 +0x8FC3A5 0x6776 +0x8FC3A6 0x677B +0x8FC3A7 0x6781 +0x8FC3A8 0x6784 +0x8FC3A9 0x678E +0x8FC3AA 0x678F +0x8FC3AB 0x6791 +0x8FC3AC 0x6793 +0x8FC3AD 0x6796 +0x8FC3AE 0x6798 +0x8FC3AF 0x6799 +0x8FC3B0 0x679B +0x8FC3B1 0x67B0 +0x8FC3B2 0x67B1 +0x8FC3B3 0x67B2 +0x8FC3B4 0x67B5 +0x8FC3B5 0x67BB +0x8FC3B6 0x67BC +0x8FC3B7 0x67BD +0x8FC3B8 0x67F9 +0x8FC3B9 0x67C0 +0x8FC3BA 0x67C2 +0x8FC3BB 0x67C3 +0x8FC3BC 0x67C5 +0x8FC3BD 0x67C8 +0x8FC3BE 0x67C9 +0x8FC3BF 0x67D2 +0x8FC3C0 0x67D7 +0x8FC3C1 0x67D9 +0x8FC3C2 0x67DC +0x8FC3C3 0x67E1 +0x8FC3C4 0x67E6 +0x8FC3C5 0x67F0 +0x8FC3C6 0x67F2 +0x8FC3C7 0x67F6 +0x8FC3C8 0x67F7 +0x8FC3C9 0x6852 +0x8FC3CA 0x6814 +0x8FC3CB 0x6819 +0x8FC3CC 0x681D +0x8FC3CD 0x681F +0x8FC3CE 0x6828 +0x8FC3CF 0x6827 +0x8FC3D0 0x682C +0x8FC3D1 0x682D +0x8FC3D2 0x682F +0x8FC3D3 0x6830 +0x8FC3D4 0x6831 +0x8FC3D5 0x6833 +0x8FC3D6 0x683B +0x8FC3D7 0x683F +0x8FC3D8 0x6844 +0x8FC3D9 0x6845 +0x8FC3DA 0x684A +0x8FC3DB 0x684C +0x8FC3DC 0x6855 +0x8FC3DD 0x6857 +0x8FC3DE 0x6858 +0x8FC3DF 0x685B +0x8FC3E0 0x686B +0x8FC3E1 0x686E +0x8FC3E2 0x686F +0x8FC3E3 0x6870 +0x8FC3E4 0x6871 +0x8FC3E5 0x6872 +0x8FC3E6 0x6875 +0x8FC3E7 0x6879 +0x8FC3E8 0x687A +0x8FC3E9 0x687B +0x8FC3EA 0x687C +0x8FC3EB 0x6882 +0x8FC3EC 0x6884 +0x8FC3ED 0x6886 +0x8FC3EE 0x6888 +0x8FC3EF 0x6896 +0x8FC3F0 0x6898 +0x8FC3F1 0x689A +0x8FC3F2 0x689C +0x8FC3F3 0x68A1 +0x8FC3F4 0x68A3 +0x8FC3F5 0x68A5 +0x8FC3F6 0x68A9 +0x8FC3F7 0x68AA +0x8FC3F8 0x68AE +0x8FC3F9 0x68B2 +0x8FC3FA 0x68BB +0x8FC3FB 0x68C5 +0x8FC3FC 0x68C8 +0x8FC3FD 0x68CC +0x8FC3FE 0x68CF +0x8FC4A1 0x68D0 +0x8FC4A2 0x68D1 +0x8FC4A3 0x68D3 +0x8FC4A4 0x68D6 +0x8FC4A5 0x68D9 +0x8FC4A6 0x68DC +0x8FC4A7 0x68DD +0x8FC4A8 0x68E5 +0x8FC4A9 0x68E8 +0x8FC4AA 0x68EA +0x8FC4AB 0x68EB +0x8FC4AC 0x68EC +0x8FC4AD 0x68ED +0x8FC4AE 0x68F0 +0x8FC4AF 0x68F1 +0x8FC4B0 0x68F5 +0x8FC4B1 0x68F6 +0x8FC4B2 0x68FB +0x8FC4B3 0x68FC +0x8FC4B4 0x68FD +0x8FC4B5 0x6906 +0x8FC4B6 0x6909 +0x8FC4B7 0x690A +0x8FC4B8 0x6910 +0x8FC4B9 0x6911 +0x8FC4BA 0x6913 +0x8FC4BB 0x6916 +0x8FC4BC 0x6917 +0x8FC4BD 0x6931 +0x8FC4BE 0x6933 +0x8FC4BF 0x6935 +0x8FC4C0 0x6938 +0x8FC4C1 0x693B +0x8FC4C2 0x6942 +0x8FC4C3 0x6945 +0x8FC4C4 0x6949 +0x8FC4C5 0x694E +0x8FC4C6 0x6957 +0x8FC4C7 0x695B +0x8FC4C8 0x6963 +0x8FC4C9 0x6964 +0x8FC4CA 0x6965 +0x8FC4CB 0x6966 +0x8FC4CC 0x6968 +0x8FC4CD 0x6969 +0x8FC4CE 0x696C +0x8FC4CF 0x6970 +0x8FC4D0 0x6971 +0x8FC4D1 0x6972 +0x8FC4D2 0x697A +0x8FC4D3 0x697B +0x8FC4D4 0x697F +0x8FC4D5 0x6980 +0x8FC4D6 0x698D +0x8FC4D7 0x6992 +0x8FC4D8 0x6996 +0x8FC4D9 0x6998 +0x8FC4DA 0x69A1 +0x8FC4DB 0x69A5 +0x8FC4DC 0x69A6 +0x8FC4DD 0x69A8 +0x8FC4DE 0x69AB +0x8FC4DF 0x69AD +0x8FC4E0 0x69AF +0x8FC4E1 0x69B7 +0x8FC4E2 0x69B8 +0x8FC4E3 0x69BA +0x8FC4E4 0x69BC +0x8FC4E5 0x69C5 +0x8FC4E6 0x69C8 +0x8FC4E7 0x69D1 +0x8FC4E8 0x69D6 +0x8FC4E9 0x69D7 +0x8FC4EA 0x69E2 +0x8FC4EB 0x69E5 +0x8FC4EC 0x69EE +0x8FC4ED 0x69EF +0x8FC4EE 0x69F1 +0x8FC4EF 0x69F3 +0x8FC4F0 0x69F5 +0x8FC4F1 0x69FE +0x8FC4F2 0x6A00 +0x8FC4F3 0x6A01 +0x8FC4F4 0x6A03 +0x8FC4F5 0x6A0F +0x8FC4F6 0x6A11 +0x8FC4F7 0x6A15 +0x8FC4F8 0x6A1A +0x8FC4F9 0x6A1D +0x8FC4FA 0x6A20 +0x8FC4FB 0x6A24 +0x8FC4FC 0x6A28 +0x8FC4FD 0x6A30 +0x8FC4FE 0x6A32 +0x8FC5A1 0x6A34 +0x8FC5A2 0x6A37 +0x8FC5A3 0x6A3B +0x8FC5A4 0x6A3E +0x8FC5A5 0x6A3F +0x8FC5A6 0x6A45 +0x8FC5A7 0x6A46 +0x8FC5A8 0x6A49 +0x8FC5A9 0x6A4A +0x8FC5AA 0x6A4E +0x8FC5AB 0x6A50 +0x8FC5AC 0x6A51 +0x8FC5AD 0x6A52 +0x8FC5AE 0x6A55 +0x8FC5AF 0x6A56 +0x8FC5B0 0x6A5B +0x8FC5B1 0x6A64 +0x8FC5B2 0x6A67 +0x8FC5B3 0x6A6A +0x8FC5B4 0x6A71 +0x8FC5B5 0x6A73 +0x8FC5B6 0x6A7E +0x8FC5B7 0x6A81 +0x8FC5B8 0x6A83 +0x8FC5B9 0x6A86 +0x8FC5BA 0x6A87 +0x8FC5BB 0x6A89 +0x8FC5BC 0x6A8B +0x8FC5BD 0x6A91 +0x8FC5BE 0x6A9B +0x8FC5BF 0x6A9D +0x8FC5C0 0x6A9E +0x8FC5C1 0x6A9F +0x8FC5C2 0x6AA5 +0x8FC5C3 0x6AAB +0x8FC5C4 0x6AAF +0x8FC5C5 0x6AB0 +0x8FC5C6 0x6AB1 +0x8FC5C7 0x6AB4 +0x8FC5C8 0x6ABD +0x8FC5C9 0x6ABE +0x8FC5CA 0x6ABF +0x8FC5CB 0x6AC6 +0x8FC5CC 0x6AC9 +0x8FC5CD 0x6AC8 +0x8FC5CE 0x6ACC +0x8FC5CF 0x6AD0 +0x8FC5D0 0x6AD4 +0x8FC5D1 0x6AD5 +0x8FC5D2 0x6AD6 +0x8FC5D3 0x6ADC +0x8FC5D4 0x6ADD +0x8FC5D5 0x6AE4 +0x8FC5D6 0x6AE7 +0x8FC5D7 0x6AEC +0x8FC5D8 0x6AF0 +0x8FC5D9 0x6AF1 +0x8FC5DA 0x6AF2 +0x8FC5DB 0x6AFC +0x8FC5DC 0x6AFD +0x8FC5DD 0x6B02 +0x8FC5DE 0x6B03 +0x8FC5DF 0x6B06 +0x8FC5E0 0x6B07 +0x8FC5E1 0x6B09 +0x8FC5E2 0x6B0F +0x8FC5E3 0x6B10 +0x8FC5E4 0x6B11 +0x8FC5E5 0x6B17 +0x8FC5E6 0x6B1B +0x8FC5E7 0x6B1E +0x8FC5E8 0x6B24 +0x8FC5E9 0x6B28 +0x8FC5EA 0x6B2B +0x8FC5EB 0x6B2C +0x8FC5EC 0x6B2F +0x8FC5ED 0x6B35 +0x8FC5EE 0x6B36 +0x8FC5EF 0x6B3B +0x8FC5F0 0x6B3F +0x8FC5F1 0x6B46 +0x8FC5F2 0x6B4A +0x8FC5F3 0x6B4D +0x8FC5F4 0x6B52 +0x8FC5F5 0x6B56 +0x8FC5F6 0x6B58 +0x8FC5F7 0x6B5D +0x8FC5F8 0x6B60 +0x8FC5F9 0x6B67 +0x8FC5FA 0x6B6B +0x8FC5FB 0x6B6E +0x8FC5FC 0x6B70 +0x8FC5FD 0x6B75 +0x8FC5FE 0x6B7D +0x8FC6A1 0x6B7E +0x8FC6A2 0x6B82 +0x8FC6A3 0x6B85 +0x8FC6A4 0x6B97 +0x8FC6A5 0x6B9B +0x8FC6A6 0x6B9F +0x8FC6A7 0x6BA0 +0x8FC6A8 0x6BA2 +0x8FC6A9 0x6BA3 +0x8FC6AA 0x6BA8 +0x8FC6AB 0x6BA9 +0x8FC6AC 0x6BAC +0x8FC6AD 0x6BAD +0x8FC6AE 0x6BAE +0x8FC6AF 0x6BB0 +0x8FC6B0 0x6BB8 +0x8FC6B1 0x6BB9 +0x8FC6B2 0x6BBD +0x8FC6B3 0x6BBE +0x8FC6B4 0x6BC3 +0x8FC6B5 0x6BC4 +0x8FC6B6 0x6BC9 +0x8FC6B7 0x6BCC +0x8FC6B8 0x6BD6 +0x8FC6B9 0x6BDA +0x8FC6BA 0x6BE1 +0x8FC6BB 0x6BE3 +0x8FC6BC 0x6BE6 +0x8FC6BD 0x6BE7 +0x8FC6BE 0x6BEE +0x8FC6BF 0x6BF1 +0x8FC6C0 0x6BF7 +0x8FC6C1 0x6BF9 +0x8FC6C2 0x6BFF +0x8FC6C3 0x6C02 +0x8FC6C4 0x6C04 +0x8FC6C5 0x6C05 +0x8FC6C6 0x6C09 +0x8FC6C7 0x6C0D +0x8FC6C8 0x6C0E +0x8FC6C9 0x6C10 +0x8FC6CA 0x6C12 +0x8FC6CB 0x6C19 +0x8FC6CC 0x6C1F +0x8FC6CD 0x6C26 +0x8FC6CE 0x6C27 +0x8FC6CF 0x6C28 +0x8FC6D0 0x6C2C +0x8FC6D1 0x6C2E +0x8FC6D2 0x6C33 +0x8FC6D3 0x6C35 +0x8FC6D4 0x6C36 +0x8FC6D5 0x6C3A +0x8FC6D6 0x6C3B +0x8FC6D7 0x6C3F +0x8FC6D8 0x6C4A +0x8FC6D9 0x6C4B +0x8FC6DA 0x6C4D +0x8FC6DB 0x6C4F +0x8FC6DC 0x6C52 +0x8FC6DD 0x6C54 +0x8FC6DE 0x6C59 +0x8FC6DF 0x6C5B +0x8FC6E0 0x6C5C +0x8FC6E1 0x6C6B +0x8FC6E2 0x6C6D +0x8FC6E3 0x6C6F +0x8FC6E4 0x6C74 +0x8FC6E5 0x6C76 +0x8FC6E6 0x6C78 +0x8FC6E7 0x6C79 +0x8FC6E8 0x6C7B +0x8FC6E9 0x6C85 +0x8FC6EA 0x6C86 +0x8FC6EB 0x6C87 +0x8FC6EC 0x6C89 +0x8FC6ED 0x6C94 +0x8FC6EE 0x6C95 +0x8FC6EF 0x6C97 +0x8FC6F0 0x6C98 +0x8FC6F1 0x6C9C +0x8FC6F2 0x6C9F +0x8FC6F3 0x6CB0 +0x8FC6F4 0x6CB2 +0x8FC6F5 0x6CB4 +0x8FC6F6 0x6CC2 +0x8FC6F7 0x6CC6 +0x8FC6F8 0x6CCD +0x8FC6F9 0x6CCF +0x8FC6FA 0x6CD0 +0x8FC6FB 0x6CD1 +0x8FC6FC 0x6CD2 +0x8FC6FD 0x6CD4 +0x8FC6FE 0x6CD6 +0x8FC7A1 0x6CDA +0x8FC7A2 0x6CDC +0x8FC7A3 0x6CE0 +0x8FC7A4 0x6CE7 +0x8FC7A5 0x6CE9 +0x8FC7A6 0x6CEB +0x8FC7A7 0x6CEC +0x8FC7A8 0x6CEE +0x8FC7A9 0x6CF2 +0x8FC7AA 0x6CF4 +0x8FC7AB 0x6D04 +0x8FC7AC 0x6D07 +0x8FC7AD 0x6D0A +0x8FC7AE 0x6D0E +0x8FC7AF 0x6D0F +0x8FC7B0 0x6D11 +0x8FC7B1 0x6D13 +0x8FC7B2 0x6D1A +0x8FC7B3 0x6D26 +0x8FC7B4 0x6D27 +0x8FC7B5 0x6D28 +0x8FC7B6 0x6C67 +0x8FC7B7 0x6D2E +0x8FC7B8 0x6D2F +0x8FC7B9 0x6D31 +0x8FC7BA 0x6D39 +0x8FC7BB 0x6D3C +0x8FC7BC 0x6D3F +0x8FC7BD 0x6D57 +0x8FC7BE 0x6D5E +0x8FC7BF 0x6D5F +0x8FC7C0 0x6D61 +0x8FC7C1 0x6D65 +0x8FC7C2 0x6D67 +0x8FC7C3 0x6D6F +0x8FC7C4 0x6D70 +0x8FC7C5 0x6D7C +0x8FC7C6 0x6D82 +0x8FC7C7 0x6D87 +0x8FC7C8 0x6D91 +0x8FC7C9 0x6D92 +0x8FC7CA 0x6D94 +0x8FC7CB 0x6D96 +0x8FC7CC 0x6D97 +0x8FC7CD 0x6D98 +0x8FC7CE 0x6DAA +0x8FC7CF 0x6DAC +0x8FC7D0 0x6DB4 +0x8FC7D1 0x6DB7 +0x8FC7D2 0x6DB9 +0x8FC7D3 0x6DBD +0x8FC7D4 0x6DBF +0x8FC7D5 0x6DC4 +0x8FC7D6 0x6DC8 +0x8FC7D7 0x6DCA +0x8FC7D8 0x6DCE +0x8FC7D9 0x6DCF +0x8FC7DA 0x6DD6 +0x8FC7DB 0x6DDB +0x8FC7DC 0x6DDD +0x8FC7DD 0x6DDF +0x8FC7DE 0x6DE0 +0x8FC7DF 0x6DE2 +0x8FC7E0 0x6DE5 +0x8FC7E1 0x6DE9 +0x8FC7E2 0x6DEF +0x8FC7E3 0x6DF0 +0x8FC7E4 0x6DF4 +0x8FC7E5 0x6DF6 +0x8FC7E6 0x6DFC +0x8FC7E7 0x6E00 +0x8FC7E8 0x6E04 +0x8FC7E9 0x6E1E +0x8FC7EA 0x6E22 +0x8FC7EB 0x6E27 +0x8FC7EC 0x6E32 +0x8FC7ED 0x6E36 +0x8FC7EE 0x6E39 +0x8FC7EF 0x6E3B +0x8FC7F0 0x6E3C +0x8FC7F1 0x6E44 +0x8FC7F2 0x6E45 +0x8FC7F3 0x6E48 +0x8FC7F4 0x6E49 +0x8FC7F5 0x6E4B +0x8FC7F6 0x6E4F +0x8FC7F7 0x6E51 +0x8FC7F8 0x6E52 +0x8FC7F9 0x6E53 +0x8FC7FA 0x6E54 +0x8FC7FB 0x6E57 +0x8FC7FC 0x6E5C +0x8FC7FD 0x6E5D +0x8FC7FE 0x6E5E +0x8FC8A1 0x6E62 +0x8FC8A2 0x6E63 +0x8FC8A3 0x6E68 +0x8FC8A4 0x6E73 +0x8FC8A5 0x6E7B +0x8FC8A6 0x6E7D +0x8FC8A7 0x6E8D +0x8FC8A8 0x6E93 +0x8FC8A9 0x6E99 +0x8FC8AA 0x6EA0 +0x8FC8AB 0x6EA7 +0x8FC8AC 0x6EAD +0x8FC8AD 0x6EAE +0x8FC8AE 0x6EB1 +0x8FC8AF 0x6EB3 +0x8FC8B0 0x6EBB +0x8FC8B1 0x6EBF +0x8FC8B2 0x6EC0 +0x8FC8B3 0x6EC1 +0x8FC8B4 0x6EC3 +0x8FC8B5 0x6EC7 +0x8FC8B6 0x6EC8 +0x8FC8B7 0x6ECA +0x8FC8B8 0x6ECD +0x8FC8B9 0x6ECE +0x8FC8BA 0x6ECF +0x8FC8BB 0x6EEB +0x8FC8BC 0x6EED +0x8FC8BD 0x6EEE +0x8FC8BE 0x6EF9 +0x8FC8BF 0x6EFB +0x8FC8C0 0x6EFD +0x8FC8C1 0x6F04 +0x8FC8C2 0x6F08 +0x8FC8C3 0x6F0A +0x8FC8C4 0x6F0C +0x8FC8C5 0x6F0D +0x8FC8C6 0x6F16 +0x8FC8C7 0x6F18 +0x8FC8C8 0x6F1A +0x8FC8C9 0x6F1B +0x8FC8CA 0x6F26 +0x8FC8CB 0x6F29 +0x8FC8CC 0x6F2A +0x8FC8CD 0x6F2F +0x8FC8CE 0x6F30 +0x8FC8CF 0x6F33 +0x8FC8D0 0x6F36 +0x8FC8D1 0x6F3B +0x8FC8D2 0x6F3C +0x8FC8D3 0x6F2D +0x8FC8D4 0x6F4F +0x8FC8D5 0x6F51 +0x8FC8D6 0x6F52 +0x8FC8D7 0x6F53 +0x8FC8D8 0x6F57 +0x8FC8D9 0x6F59 +0x8FC8DA 0x6F5A +0x8FC8DB 0x6F5D +0x8FC8DC 0x6F5E +0x8FC8DD 0x6F61 +0x8FC8DE 0x6F62 +0x8FC8DF 0x6F68 +0x8FC8E0 0x6F6C +0x8FC8E1 0x6F7D +0x8FC8E2 0x6F7E +0x8FC8E3 0x6F83 +0x8FC8E4 0x6F87 +0x8FC8E5 0x6F88 +0x8FC8E6 0x6F8B +0x8FC8E7 0x6F8C +0x8FC8E8 0x6F8D +0x8FC8E9 0x6F90 +0x8FC8EA 0x6F92 +0x8FC8EB 0x6F93 +0x8FC8EC 0x6F94 +0x8FC8ED 0x6F96 +0x8FC8EE 0x6F9A +0x8FC8EF 0x6F9F +0x8FC8F0 0x6FA0 +0x8FC8F1 0x6FA5 +0x8FC8F2 0x6FA6 +0x8FC8F3 0x6FA7 +0x8FC8F4 0x6FA8 +0x8FC8F5 0x6FAE +0x8FC8F6 0x6FAF +0x8FC8F7 0x6FB0 +0x8FC8F8 0x6FB5 +0x8FC8F9 0x6FB6 +0x8FC8FA 0x6FBC +0x8FC8FB 0x6FC5 +0x8FC8FC 0x6FC7 +0x8FC8FD 0x6FC8 +0x8FC8FE 0x6FCA +0x8FC9A1 0x6FDA +0x8FC9A2 0x6FDE +0x8FC9A3 0x6FE8 +0x8FC9A4 0x6FE9 +0x8FC9A5 0x6FF0 +0x8FC9A6 0x6FF5 +0x8FC9A7 0x6FF9 +0x8FC9A8 0x6FFC +0x8FC9A9 0x6FFD +0x8FC9AA 0x7000 +0x8FC9AB 0x7005 +0x8FC9AC 0x7006 +0x8FC9AD 0x7007 +0x8FC9AE 0x700D +0x8FC9AF 0x7017 +0x8FC9B0 0x7020 +0x8FC9B1 0x7023 +0x8FC9B2 0x702F +0x8FC9B3 0x7034 +0x8FC9B4 0x7037 +0x8FC9B5 0x7039 +0x8FC9B6 0x703C +0x8FC9B7 0x7043 +0x8FC9B8 0x7044 +0x8FC9B9 0x7048 +0x8FC9BA 0x7049 +0x8FC9BB 0x704A +0x8FC9BC 0x704B +0x8FC9BD 0x7054 +0x8FC9BE 0x7055 +0x8FC9BF 0x705D +0x8FC9C0 0x705E +0x8FC9C1 0x704E +0x8FC9C2 0x7064 +0x8FC9C3 0x7065 +0x8FC9C4 0x706C +0x8FC9C5 0x706E +0x8FC9C6 0x7075 +0x8FC9C7 0x7076 +0x8FC9C8 0x707E +0x8FC9C9 0x7081 +0x8FC9CA 0x7085 +0x8FC9CB 0x7086 +0x8FC9CC 0x7094 +0x8FC9CD 0x7095 +0x8FC9CE 0x7096 +0x8FC9CF 0x7097 +0x8FC9D0 0x7098 +0x8FC9D1 0x709B +0x8FC9D2 0x70A4 +0x8FC9D3 0x70AB +0x8FC9D4 0x70B0 +0x8FC9D5 0x70B1 +0x8FC9D6 0x70B4 +0x8FC9D7 0x70B7 +0x8FC9D8 0x70CA +0x8FC9D9 0x70D1 +0x8FC9DA 0x70D3 +0x8FC9DB 0x70D4 +0x8FC9DC 0x70D5 +0x8FC9DD 0x70D6 +0x8FC9DE 0x70D8 +0x8FC9DF 0x70DC +0x8FC9E0 0x70E4 +0x8FC9E1 0x70FA +0x8FC9E2 0x7103 +0x8FC9E3 0x7104 +0x8FC9E4 0x7105 +0x8FC9E5 0x7106 +0x8FC9E6 0x7107 +0x8FC9E7 0x710B +0x8FC9E8 0x710C +0x8FC9E9 0x710F +0x8FC9EA 0x711E +0x8FC9EB 0x7120 +0x8FC9EC 0x712B +0x8FC9ED 0x712D +0x8FC9EE 0x712F +0x8FC9EF 0x7130 +0x8FC9F0 0x7131 +0x8FC9F1 0x7138 +0x8FC9F2 0x7141 +0x8FC9F3 0x7145 +0x8FC9F4 0x7146 +0x8FC9F5 0x7147 +0x8FC9F6 0x714A +0x8FC9F7 0x714B +0x8FC9F8 0x7150 +0x8FC9F9 0x7152 +0x8FC9FA 0x7157 +0x8FC9FB 0x715A +0x8FC9FC 0x715C +0x8FC9FD 0x715E +0x8FC9FE 0x7160 +0x8FCAA1 0x7168 +0x8FCAA2 0x7179 +0x8FCAA3 0x7180 +0x8FCAA4 0x7185 +0x8FCAA5 0x7187 +0x8FCAA6 0x718C +0x8FCAA7 0x7192 +0x8FCAA8 0x719A +0x8FCAA9 0x719B +0x8FCAAA 0x71A0 +0x8FCAAB 0x71A2 +0x8FCAAC 0x71AF +0x8FCAAD 0x71B0 +0x8FCAAE 0x71B2 +0x8FCAAF 0x71B3 +0x8FCAB0 0x71BA +0x8FCAB1 0x71BF +0x8FCAB2 0x71C0 +0x8FCAB3 0x71C1 +0x8FCAB4 0x71C4 +0x8FCAB5 0x71CB +0x8FCAB6 0x71CC +0x8FCAB7 0x71D3 +0x8FCAB8 0x71D6 +0x8FCAB9 0x71D9 +0x8FCABA 0x71DA +0x8FCABB 0x71DC +0x8FCABC 0x71F8 +0x8FCABD 0x71FE +0x8FCABE 0x7200 +0x8FCABF 0x7207 +0x8FCAC0 0x7208 +0x8FCAC1 0x7209 +0x8FCAC2 0x7213 +0x8FCAC3 0x7217 +0x8FCAC4 0x721A +0x8FCAC5 0x721D +0x8FCAC6 0x721F +0x8FCAC7 0x7224 +0x8FCAC8 0x722B +0x8FCAC9 0x722F +0x8FCACA 0x7234 +0x8FCACB 0x7238 +0x8FCACC 0x7239 +0x8FCACD 0x7241 +0x8FCACE 0x7242 +0x8FCACF 0x7243 +0x8FCAD0 0x7245 +0x8FCAD1 0x724E +0x8FCAD2 0x724F +0x8FCAD3 0x7250 +0x8FCAD4 0x7253 +0x8FCAD5 0x7255 +0x8FCAD6 0x7256 +0x8FCAD7 0x725A +0x8FCAD8 0x725C +0x8FCAD9 0x725E +0x8FCADA 0x7260 +0x8FCADB 0x7263 +0x8FCADC 0x7268 +0x8FCADD 0x726B +0x8FCADE 0x726E +0x8FCADF 0x726F +0x8FCAE0 0x7271 +0x8FCAE1 0x7277 +0x8FCAE2 0x7278 +0x8FCAE3 0x727B +0x8FCAE4 0x727C +0x8FCAE5 0x727F +0x8FCAE6 0x7284 +0x8FCAE7 0x7289 +0x8FCAE8 0x728D +0x8FCAE9 0x728E +0x8FCAEA 0x7293 +0x8FCAEB 0x729B +0x8FCAEC 0x72A8 +0x8FCAED 0x72AD +0x8FCAEE 0x72AE +0x8FCAEF 0x72B1 +0x8FCAF0 0x72B4 +0x8FCAF1 0x72BE +0x8FCAF2 0x72C1 +0x8FCAF3 0x72C7 +0x8FCAF4 0x72C9 +0x8FCAF5 0x72CC +0x8FCAF6 0x72D5 +0x8FCAF7 0x72D6 +0x8FCAF8 0x72D8 +0x8FCAF9 0x72DF +0x8FCAFA 0x72E5 +0x8FCAFB 0x72F3 +0x8FCAFC 0x72F4 +0x8FCAFD 0x72FA +0x8FCAFE 0x72FB +0x8FCBA1 0x72FE +0x8FCBA2 0x7302 +0x8FCBA3 0x7304 +0x8FCBA4 0x7305 +0x8FCBA5 0x7307 +0x8FCBA6 0x730B +0x8FCBA7 0x730D +0x8FCBA8 0x7312 +0x8FCBA9 0x7313 +0x8FCBAA 0x7318 +0x8FCBAB 0x7319 +0x8FCBAC 0x731E +0x8FCBAD 0x7322 +0x8FCBAE 0x7324 +0x8FCBAF 0x7327 +0x8FCBB0 0x7328 +0x8FCBB1 0x732C +0x8FCBB2 0x7331 +0x8FCBB3 0x7332 +0x8FCBB4 0x7335 +0x8FCBB5 0x733A +0x8FCBB6 0x733B +0x8FCBB7 0x733D +0x8FCBB8 0x7343 +0x8FCBB9 0x734D +0x8FCBBA 0x7350 +0x8FCBBB 0x7352 +0x8FCBBC 0x7356 +0x8FCBBD 0x7358 +0x8FCBBE 0x735D +0x8FCBBF 0x735E +0x8FCBC0 0x735F +0x8FCBC1 0x7360 +0x8FCBC2 0x7366 +0x8FCBC3 0x7367 +0x8FCBC4 0x7369 +0x8FCBC5 0x736B +0x8FCBC6 0x736C +0x8FCBC7 0x736E +0x8FCBC8 0x736F +0x8FCBC9 0x7371 +0x8FCBCA 0x7377 +0x8FCBCB 0x7379 +0x8FCBCC 0x737C +0x8FCBCD 0x7380 +0x8FCBCE 0x7381 +0x8FCBCF 0x7383 +0x8FCBD0 0x7385 +0x8FCBD1 0x7386 +0x8FCBD2 0x738E +0x8FCBD3 0x7390 +0x8FCBD4 0x7393 +0x8FCBD5 0x7395 +0x8FCBD6 0x7397 +0x8FCBD7 0x7398 +0x8FCBD8 0x739C +0x8FCBD9 0x739E +0x8FCBDA 0x739F +0x8FCBDB 0x73A0 +0x8FCBDC 0x73A2 +0x8FCBDD 0x73A5 +0x8FCBDE 0x73A6 +0x8FCBDF 0x73AA +0x8FCBE0 0x73AB +0x8FCBE1 0x73AD +0x8FCBE2 0x73B5 +0x8FCBE3 0x73B7 +0x8FCBE4 0x73B9 +0x8FCBE5 0x73BC +0x8FCBE6 0x73BD +0x8FCBE7 0x73BF +0x8FCBE8 0x73C5 +0x8FCBE9 0x73C6 +0x8FCBEA 0x73C9 +0x8FCBEB 0x73CB +0x8FCBEC 0x73CC +0x8FCBED 0x73CF +0x8FCBEE 0x73D2 +0x8FCBEF 0x73D3 +0x8FCBF0 0x73D6 +0x8FCBF1 0x73D9 +0x8FCBF2 0x73DD +0x8FCBF3 0x73E1 +0x8FCBF4 0x73E3 +0x8FCBF5 0x73E6 +0x8FCBF6 0x73E7 +0x8FCBF7 0x73E9 +0x8FCBF8 0x73F4 +0x8FCBF9 0x73F5 +0x8FCBFA 0x73F7 +0x8FCBFB 0x73F9 +0x8FCBFC 0x73FA +0x8FCBFD 0x73FB +0x8FCBFE 0x73FD +0x8FCCA1 0x73FF +0x8FCCA2 0x7400 +0x8FCCA3 0x7401 +0x8FCCA4 0x7404 +0x8FCCA5 0x7407 +0x8FCCA6 0x740A +0x8FCCA7 0x7411 +0x8FCCA8 0x741A +0x8FCCA9 0x741B +0x8FCCAA 0x7424 +0x8FCCAB 0x7426 +0x8FCCAC 0x7428 +0x8FCCAD 0x7429 +0x8FCCAE 0x742A +0x8FCCAF 0x742B +0x8FCCB0 0x742C +0x8FCCB1 0x742D +0x8FCCB2 0x742E +0x8FCCB3 0x742F +0x8FCCB4 0x7430 +0x8FCCB5 0x7431 +0x8FCCB6 0x7439 +0x8FCCB7 0x7440 +0x8FCCB8 0x7443 +0x8FCCB9 0x7444 +0x8FCCBA 0x7446 +0x8FCCBB 0x7447 +0x8FCCBC 0x744B +0x8FCCBD 0x744D +0x8FCCBE 0x7451 +0x8FCCBF 0x7452 +0x8FCCC0 0x7457 +0x8FCCC1 0x745D +0x8FCCC2 0x7462 +0x8FCCC3 0x7466 +0x8FCCC4 0x7467 +0x8FCCC5 0x7468 +0x8FCCC6 0x746B +0x8FCCC7 0x746D +0x8FCCC8 0x746E +0x8FCCC9 0x7471 +0x8FCCCA 0x7472 +0x8FCCCB 0x7480 +0x8FCCCC 0x7481 +0x8FCCCD 0x7485 +0x8FCCCE 0x7486 +0x8FCCCF 0x7487 +0x8FCCD0 0x7489 +0x8FCCD1 0x748F +0x8FCCD2 0x7490 +0x8FCCD3 0x7491 +0x8FCCD4 0x7492 +0x8FCCD5 0x7498 +0x8FCCD6 0x7499 +0x8FCCD7 0x749A +0x8FCCD8 0x749C +0x8FCCD9 0x749F +0x8FCCDA 0x74A0 +0x8FCCDB 0x74A1 +0x8FCCDC 0x74A3 +0x8FCCDD 0x74A6 +0x8FCCDE 0x74A8 +0x8FCCDF 0x74A9 +0x8FCCE0 0x74AA +0x8FCCE1 0x74AB +0x8FCCE2 0x74AE +0x8FCCE3 0x74AF +0x8FCCE4 0x74B1 +0x8FCCE5 0x74B2 +0x8FCCE6 0x74B5 +0x8FCCE7 0x74B9 +0x8FCCE8 0x74BB +0x8FCCE9 0x74BF +0x8FCCEA 0x74C8 +0x8FCCEB 0x74C9 +0x8FCCEC 0x74CC +0x8FCCED 0x74D0 +0x8FCCEE 0x74D3 +0x8FCCEF 0x74D8 +0x8FCCF0 0x74DA +0x8FCCF1 0x74DB +0x8FCCF2 0x74DE +0x8FCCF3 0x74DF +0x8FCCF4 0x74E4 +0x8FCCF5 0x74E8 +0x8FCCF6 0x74EA +0x8FCCF7 0x74EB +0x8FCCF8 0x74EF +0x8FCCF9 0x74F4 +0x8FCCFA 0x74FA +0x8FCCFB 0x74FB +0x8FCCFC 0x74FC +0x8FCCFD 0x74FF +0x8FCCFE 0x7506 +0x8FCDA1 0x7512 +0x8FCDA2 0x7516 +0x8FCDA3 0x7517 +0x8FCDA4 0x7520 +0x8FCDA5 0x7521 +0x8FCDA6 0x7524 +0x8FCDA7 0x7527 +0x8FCDA8 0x7529 +0x8FCDA9 0x752A +0x8FCDAA 0x752F +0x8FCDAB 0x7536 +0x8FCDAC 0x7539 +0x8FCDAD 0x753D +0x8FCDAE 0x753E +0x8FCDAF 0x753F +0x8FCDB0 0x7540 +0x8FCDB1 0x7543 +0x8FCDB2 0x7547 +0x8FCDB3 0x7548 +0x8FCDB4 0x754E +0x8FCDB5 0x7550 +0x8FCDB6 0x7552 +0x8FCDB7 0x7557 +0x8FCDB8 0x755E +0x8FCDB9 0x755F +0x8FCDBA 0x7561 +0x8FCDBB 0x756F +0x8FCDBC 0x7571 +0x8FCDBD 0x7579 +0x8FCDBE 0x757A +0x8FCDBF 0x757B +0x8FCDC0 0x757C +0x8FCDC1 0x757D +0x8FCDC2 0x757E +0x8FCDC3 0x7581 +0x8FCDC4 0x7585 +0x8FCDC5 0x7590 +0x8FCDC6 0x7592 +0x8FCDC7 0x7593 +0x8FCDC8 0x7595 +0x8FCDC9 0x7599 +0x8FCDCA 0x759C +0x8FCDCB 0x75A2 +0x8FCDCC 0x75A4 +0x8FCDCD 0x75B4 +0x8FCDCE 0x75BA +0x8FCDCF 0x75BF +0x8FCDD0 0x75C0 +0x8FCDD1 0x75C1 +0x8FCDD2 0x75C4 +0x8FCDD3 0x75C6 +0x8FCDD4 0x75CC +0x8FCDD5 0x75CE +0x8FCDD6 0x75CF +0x8FCDD7 0x75D7 +0x8FCDD8 0x75DC +0x8FCDD9 0x75DF +0x8FCDDA 0x75E0 +0x8FCDDB 0x75E1 +0x8FCDDC 0x75E4 +0x8FCDDD 0x75E7 +0x8FCDDE 0x75EC +0x8FCDDF 0x75EE +0x8FCDE0 0x75EF +0x8FCDE1 0x75F1 +0x8FCDE2 0x75F9 +0x8FCDE3 0x7600 +0x8FCDE4 0x7602 +0x8FCDE5 0x7603 +0x8FCDE6 0x7604 +0x8FCDE7 0x7607 +0x8FCDE8 0x7608 +0x8FCDE9 0x760A +0x8FCDEA 0x760C +0x8FCDEB 0x760F +0x8FCDEC 0x7612 +0x8FCDED 0x7613 +0x8FCDEE 0x7615 +0x8FCDEF 0x7616 +0x8FCDF0 0x7619 +0x8FCDF1 0x761B +0x8FCDF2 0x761C +0x8FCDF3 0x761D +0x8FCDF4 0x761E +0x8FCDF5 0x7623 +0x8FCDF6 0x7625 +0x8FCDF7 0x7626 +0x8FCDF8 0x7629 +0x8FCDF9 0x762D +0x8FCDFA 0x7632 +0x8FCDFB 0x7633 +0x8FCDFC 0x7635 +0x8FCDFD 0x7638 +0x8FCDFE 0x7639 +0x8FCEA1 0x763A +0x8FCEA2 0x763C +0x8FCEA3 0x764A +0x8FCEA4 0x7640 +0x8FCEA5 0x7641 +0x8FCEA6 0x7643 +0x8FCEA7 0x7644 +0x8FCEA8 0x7645 +0x8FCEA9 0x7649 +0x8FCEAA 0x764B +0x8FCEAB 0x7655 +0x8FCEAC 0x7659 +0x8FCEAD 0x765F +0x8FCEAE 0x7664 +0x8FCEAF 0x7665 +0x8FCEB0 0x766D +0x8FCEB1 0x766E +0x8FCEB2 0x766F +0x8FCEB3 0x7671 +0x8FCEB4 0x7674 +0x8FCEB5 0x7681 +0x8FCEB6 0x7685 +0x8FCEB7 0x768C +0x8FCEB8 0x768D +0x8FCEB9 0x7695 +0x8FCEBA 0x769B +0x8FCEBB 0x769C +0x8FCEBC 0x769D +0x8FCEBD 0x769F +0x8FCEBE 0x76A0 +0x8FCEBF 0x76A2 +0x8FCEC0 0x76A3 +0x8FCEC1 0x76A4 +0x8FCEC2 0x76A5 +0x8FCEC3 0x76A6 +0x8FCEC4 0x76A7 +0x8FCEC5 0x76A8 +0x8FCEC6 0x76AA +0x8FCEC7 0x76AD +0x8FCEC8 0x76BD +0x8FCEC9 0x76C1 +0x8FCECA 0x76C5 +0x8FCECB 0x76C9 +0x8FCECC 0x76CB +0x8FCECD 0x76CC +0x8FCECE 0x76CE +0x8FCECF 0x76D4 +0x8FCED0 0x76D9 +0x8FCED1 0x76E0 +0x8FCED2 0x76E6 +0x8FCED3 0x76E8 +0x8FCED4 0x76EC +0x8FCED5 0x76F0 +0x8FCED6 0x76F1 +0x8FCED7 0x76F6 +0x8FCED8 0x76F9 +0x8FCED9 0x76FC +0x8FCEDA 0x7700 +0x8FCEDB 0x7706 +0x8FCEDC 0x770A +0x8FCEDD 0x770E +0x8FCEDE 0x7712 +0x8FCEDF 0x7714 +0x8FCEE0 0x7715 +0x8FCEE1 0x7717 +0x8FCEE2 0x7719 +0x8FCEE3 0x771A +0x8FCEE4 0x771C +0x8FCEE5 0x7722 +0x8FCEE6 0x7728 +0x8FCEE7 0x772D +0x8FCEE8 0x772E +0x8FCEE9 0x772F +0x8FCEEA 0x7734 +0x8FCEEB 0x7735 +0x8FCEEC 0x7736 +0x8FCEED 0x7739 +0x8FCEEE 0x773D +0x8FCEEF 0x773E +0x8FCEF0 0x7742 +0x8FCEF1 0x7745 +0x8FCEF2 0x7746 +0x8FCEF3 0x774A +0x8FCEF4 0x774D +0x8FCEF5 0x774E +0x8FCEF6 0x774F +0x8FCEF7 0x7752 +0x8FCEF8 0x7756 +0x8FCEF9 0x7757 +0x8FCEFA 0x775C +0x8FCEFB 0x775E +0x8FCEFC 0x775F +0x8FCEFD 0x7760 +0x8FCEFE 0x7762 +0x8FCFA1 0x7764 +0x8FCFA2 0x7767 +0x8FCFA3 0x776A +0x8FCFA4 0x776C +0x8FCFA5 0x7770 +0x8FCFA6 0x7772 +0x8FCFA7 0x7773 +0x8FCFA8 0x7774 +0x8FCFA9 0x777A +0x8FCFAA 0x777D +0x8FCFAB 0x7780 +0x8FCFAC 0x7784 +0x8FCFAD 0x778C +0x8FCFAE 0x778D +0x8FCFAF 0x7794 +0x8FCFB0 0x7795 +0x8FCFB1 0x7796 +0x8FCFB2 0x779A +0x8FCFB3 0x779F +0x8FCFB4 0x77A2 +0x8FCFB5 0x77A7 +0x8FCFB6 0x77AA +0x8FCFB7 0x77AE +0x8FCFB8 0x77AF +0x8FCFB9 0x77B1 +0x8FCFBA 0x77B5 +0x8FCFBB 0x77BE +0x8FCFBC 0x77C3 +0x8FCFBD 0x77C9 +0x8FCFBE 0x77D1 +0x8FCFBF 0x77D2 +0x8FCFC0 0x77D5 +0x8FCFC1 0x77D9 +0x8FCFC2 0x77DE +0x8FCFC3 0x77DF +0x8FCFC4 0x77E0 +0x8FCFC5 0x77E4 +0x8FCFC6 0x77E6 +0x8FCFC7 0x77EA +0x8FCFC8 0x77EC +0x8FCFC9 0x77F0 +0x8FCFCA 0x77F1 +0x8FCFCB 0x77F4 +0x8FCFCC 0x77F8 +0x8FCFCD 0x77FB +0x8FCFCE 0x7805 +0x8FCFCF 0x7806 +0x8FCFD0 0x7809 +0x8FCFD1 0x780D +0x8FCFD2 0x780E +0x8FCFD3 0x7811 +0x8FCFD4 0x781D +0x8FCFD5 0x7821 +0x8FCFD6 0x7822 +0x8FCFD7 0x7823 +0x8FCFD8 0x782D +0x8FCFD9 0x782E +0x8FCFDA 0x7830 +0x8FCFDB 0x7835 +0x8FCFDC 0x7837 +0x8FCFDD 0x7843 +0x8FCFDE 0x7844 +0x8FCFDF 0x7847 +0x8FCFE0 0x7848 +0x8FCFE1 0x784C +0x8FCFE2 0x784E +0x8FCFE3 0x7852 +0x8FCFE4 0x785C +0x8FCFE5 0x785E +0x8FCFE6 0x7860 +0x8FCFE7 0x7861 +0x8FCFE8 0x7863 +0x8FCFE9 0x7864 +0x8FCFEA 0x7868 +0x8FCFEB 0x786A +0x8FCFEC 0x786E +0x8FCFED 0x787A +0x8FCFEE 0x787E +0x8FCFEF 0x788A +0x8FCFF0 0x788F +0x8FCFF1 0x7894 +0x8FCFF2 0x7898 +0x8FCFF3 0x78A1 +0x8FCFF4 0x789D +0x8FCFF5 0x789E +0x8FCFF6 0x789F +0x8FCFF7 0x78A4 +0x8FCFF8 0x78A8 +0x8FCFF9 0x78AC +0x8FCFFA 0x78AD +0x8FCFFB 0x78B0 +0x8FCFFC 0x78B1 +0x8FCFFD 0x78B2 +0x8FCFFE 0x78B3 +0x8FD0A1 0x78BB +0x8FD0A2 0x78BD +0x8FD0A3 0x78BF +0x8FD0A4 0x78C7 +0x8FD0A5 0x78C8 +0x8FD0A6 0x78C9 +0x8FD0A7 0x78CC +0x8FD0A8 0x78CE +0x8FD0A9 0x78D2 +0x8FD0AA 0x78D3 +0x8FD0AB 0x78D5 +0x8FD0AC 0x78D6 +0x8FD0AD 0x78E4 +0x8FD0AE 0x78DB +0x8FD0AF 0x78DF +0x8FD0B0 0x78E0 +0x8FD0B1 0x78E1 +0x8FD0B2 0x78E6 +0x8FD0B3 0x78EA +0x8FD0B4 0x78F2 +0x8FD0B5 0x78F3 +0x8FD0B6 0x7900 +0x8FD0B7 0x78F6 +0x8FD0B8 0x78F7 +0x8FD0B9 0x78FA +0x8FD0BA 0x78FB +0x8FD0BB 0x78FF +0x8FD0BC 0x7906 +0x8FD0BD 0x790C +0x8FD0BE 0x7910 +0x8FD0BF 0x791A +0x8FD0C0 0x791C +0x8FD0C1 0x791E +0x8FD0C2 0x791F +0x8FD0C3 0x7920 +0x8FD0C4 0x7925 +0x8FD0C5 0x7927 +0x8FD0C6 0x7929 +0x8FD0C7 0x792D +0x8FD0C8 0x7931 +0x8FD0C9 0x7934 +0x8FD0CA 0x7935 +0x8FD0CB 0x793B +0x8FD0CC 0x793D +0x8FD0CD 0x793F +0x8FD0CE 0x7944 +0x8FD0CF 0x7945 +0x8FD0D0 0x7946 +0x8FD0D1 0x794A +0x8FD0D2 0x794B +0x8FD0D3 0x794F +0x8FD0D4 0x7951 +0x8FD0D5 0x7954 +0x8FD0D6 0x7958 +0x8FD0D7 0x795B +0x8FD0D8 0x795C +0x8FD0D9 0x7967 +0x8FD0DA 0x7969 +0x8FD0DB 0x796B +0x8FD0DC 0x7972 +0x8FD0DD 0x7979 +0x8FD0DE 0x797B +0x8FD0DF 0x797C +0x8FD0E0 0x797E +0x8FD0E1 0x798B +0x8FD0E2 0x798C +0x8FD0E3 0x7991 +0x8FD0E4 0x7993 +0x8FD0E5 0x7994 +0x8FD0E6 0x7995 +0x8FD0E7 0x7996 +0x8FD0E8 0x7998 +0x8FD0E9 0x799B +0x8FD0EA 0x799C +0x8FD0EB 0x79A1 +0x8FD0EC 0x79A8 +0x8FD0ED 0x79A9 +0x8FD0EE 0x79AB +0x8FD0EF 0x79AF +0x8FD0F0 0x79B1 +0x8FD0F1 0x79B4 +0x8FD0F2 0x79B8 +0x8FD0F3 0x79BB +0x8FD0F4 0x79C2 +0x8FD0F5 0x79C4 +0x8FD0F6 0x79C7 +0x8FD0F7 0x79C8 +0x8FD0F8 0x79CA +0x8FD0F9 0x79CF +0x8FD0FA 0x79D4 +0x8FD0FB 0x79D6 +0x8FD0FC 0x79DA +0x8FD0FD 0x79DD +0x8FD0FE 0x79DE +0x8FD1A1 0x79E0 +0x8FD1A2 0x79E2 +0x8FD1A3 0x79E5 +0x8FD1A4 0x79EA +0x8FD1A5 0x79EB +0x8FD1A6 0x79ED +0x8FD1A7 0x79F1 +0x8FD1A8 0x79F8 +0x8FD1A9 0x79FC +0x8FD1AA 0x7A02 +0x8FD1AB 0x7A03 +0x8FD1AC 0x7A07 +0x8FD1AD 0x7A09 +0x8FD1AE 0x7A0A +0x8FD1AF 0x7A0C +0x8FD1B0 0x7A11 +0x8FD1B1 0x7A15 +0x8FD1B2 0x7A1B +0x8FD1B3 0x7A1E +0x8FD1B4 0x7A21 +0x8FD1B5 0x7A27 +0x8FD1B6 0x7A2B +0x8FD1B7 0x7A2D +0x8FD1B8 0x7A2F +0x8FD1B9 0x7A30 +0x8FD1BA 0x7A34 +0x8FD1BB 0x7A35 +0x8FD1BC 0x7A38 +0x8FD1BD 0x7A39 +0x8FD1BE 0x7A3A +0x8FD1BF 0x7A44 +0x8FD1C0 0x7A45 +0x8FD1C1 0x7A47 +0x8FD1C2 0x7A48 +0x8FD1C3 0x7A4C +0x8FD1C4 0x7A55 +0x8FD1C5 0x7A56 +0x8FD1C6 0x7A59 +0x8FD1C7 0x7A5C +0x8FD1C8 0x7A5D +0x8FD1C9 0x7A5F +0x8FD1CA 0x7A60 +0x8FD1CB 0x7A65 +0x8FD1CC 0x7A67 +0x8FD1CD 0x7A6A +0x8FD1CE 0x7A6D +0x8FD1CF 0x7A75 +0x8FD1D0 0x7A78 +0x8FD1D1 0x7A7E +0x8FD1D2 0x7A80 +0x8FD1D3 0x7A82 +0x8FD1D4 0x7A85 +0x8FD1D5 0x7A86 +0x8FD1D6 0x7A8A +0x8FD1D7 0x7A8B +0x8FD1D8 0x7A90 +0x8FD1D9 0x7A91 +0x8FD1DA 0x7A94 +0x8FD1DB 0x7A9E +0x8FD1DC 0x7AA0 +0x8FD1DD 0x7AA3 +0x8FD1DE 0x7AAC +0x8FD1DF 0x7AB3 +0x8FD1E0 0x7AB5 +0x8FD1E1 0x7AB9 +0x8FD1E2 0x7ABB +0x8FD1E3 0x7ABC +0x8FD1E4 0x7AC6 +0x8FD1E5 0x7AC9 +0x8FD1E6 0x7ACC +0x8FD1E7 0x7ACE +0x8FD1E8 0x7AD1 +0x8FD1E9 0x7ADB +0x8FD1EA 0x7AE8 +0x8FD1EB 0x7AE9 +0x8FD1EC 0x7AEB +0x8FD1ED 0x7AEC +0x8FD1EE 0x7AF1 +0x8FD1EF 0x7AF4 +0x8FD1F0 0x7AFB +0x8FD1F1 0x7AFD +0x8FD1F2 0x7AFE +0x8FD1F3 0x7B07 +0x8FD1F4 0x7B14 +0x8FD1F5 0x7B1F +0x8FD1F6 0x7B23 +0x8FD1F7 0x7B27 +0x8FD1F8 0x7B29 +0x8FD1F9 0x7B2A +0x8FD1FA 0x7B2B +0x8FD1FB 0x7B2D +0x8FD1FC 0x7B2E +0x8FD1FD 0x7B2F +0x8FD1FE 0x7B30 +0x8FD2A1 0x7B31 +0x8FD2A2 0x7B34 +0x8FD2A3 0x7B3D +0x8FD2A4 0x7B3F +0x8FD2A5 0x7B40 +0x8FD2A6 0x7B41 +0x8FD2A7 0x7B47 +0x8FD2A8 0x7B4E +0x8FD2A9 0x7B55 +0x8FD2AA 0x7B60 +0x8FD2AB 0x7B64 +0x8FD2AC 0x7B66 +0x8FD2AD 0x7B69 +0x8FD2AE 0x7B6A +0x8FD2AF 0x7B6D +0x8FD2B0 0x7B6F +0x8FD2B1 0x7B72 +0x8FD2B2 0x7B73 +0x8FD2B3 0x7B77 +0x8FD2B4 0x7B84 +0x8FD2B5 0x7B89 +0x8FD2B6 0x7B8E +0x8FD2B7 0x7B90 +0x8FD2B8 0x7B91 +0x8FD2B9 0x7B96 +0x8FD2BA 0x7B9B +0x8FD2BB 0x7B9E +0x8FD2BC 0x7BA0 +0x8FD2BD 0x7BA5 +0x8FD2BE 0x7BAC +0x8FD2BF 0x7BAF +0x8FD2C0 0x7BB0 +0x8FD2C1 0x7BB2 +0x8FD2C2 0x7BB5 +0x8FD2C3 0x7BB6 +0x8FD2C4 0x7BBA +0x8FD2C5 0x7BBB +0x8FD2C6 0x7BBC +0x8FD2C7 0x7BBD +0x8FD2C8 0x7BC2 +0x8FD2C9 0x7BC5 +0x8FD2CA 0x7BC8 +0x8FD2CB 0x7BCA +0x8FD2CC 0x7BD4 +0x8FD2CD 0x7BD6 +0x8FD2CE 0x7BD7 +0x8FD2CF 0x7BD9 +0x8FD2D0 0x7BDA +0x8FD2D1 0x7BDB +0x8FD2D2 0x7BE8 +0x8FD2D3 0x7BEA +0x8FD2D4 0x7BF2 +0x8FD2D5 0x7BF4 +0x8FD2D6 0x7BF5 +0x8FD2D7 0x7BF8 +0x8FD2D8 0x7BF9 +0x8FD2D9 0x7BFA +0x8FD2DA 0x7BFC +0x8FD2DB 0x7BFE +0x8FD2DC 0x7C01 +0x8FD2DD 0x7C02 +0x8FD2DE 0x7C03 +0x8FD2DF 0x7C04 +0x8FD2E0 0x7C06 +0x8FD2E1 0x7C09 +0x8FD2E2 0x7C0B +0x8FD2E3 0x7C0C +0x8FD2E4 0x7C0E +0x8FD2E5 0x7C0F +0x8FD2E6 0x7C19 +0x8FD2E7 0x7C1B +0x8FD2E8 0x7C20 +0x8FD2E9 0x7C25 +0x8FD2EA 0x7C26 +0x8FD2EB 0x7C28 +0x8FD2EC 0x7C2C +0x8FD2ED 0x7C31 +0x8FD2EE 0x7C33 +0x8FD2EF 0x7C34 +0x8FD2F0 0x7C36 +0x8FD2F1 0x7C39 +0x8FD2F2 0x7C3A +0x8FD2F3 0x7C46 +0x8FD2F4 0x7C4A +0x8FD2F5 0x7C55 +0x8FD2F6 0x7C51 +0x8FD2F7 0x7C52 +0x8FD2F8 0x7C53 +0x8FD2F9 0x7C59 +0x8FD2FA 0x7C5A +0x8FD2FB 0x7C5B +0x8FD2FC 0x7C5C +0x8FD2FD 0x7C5D +0x8FD2FE 0x7C5E +0x8FD3A1 0x7C61 +0x8FD3A2 0x7C63 +0x8FD3A3 0x7C67 +0x8FD3A4 0x7C69 +0x8FD3A5 0x7C6D +0x8FD3A6 0x7C6E +0x8FD3A7 0x7C70 +0x8FD3A8 0x7C72 +0x8FD3A9 0x7C79 +0x8FD3AA 0x7C7C +0x8FD3AB 0x7C7D +0x8FD3AC 0x7C86 +0x8FD3AD 0x7C87 +0x8FD3AE 0x7C8F +0x8FD3AF 0x7C94 +0x8FD3B0 0x7C9E +0x8FD3B1 0x7CA0 +0x8FD3B2 0x7CA6 +0x8FD3B3 0x7CB0 +0x8FD3B4 0x7CB6 +0x8FD3B5 0x7CB7 +0x8FD3B6 0x7CBA +0x8FD3B7 0x7CBB +0x8FD3B8 0x7CBC +0x8FD3B9 0x7CBF +0x8FD3BA 0x7CC4 +0x8FD3BB 0x7CC7 +0x8FD3BC 0x7CC8 +0x8FD3BD 0x7CC9 +0x8FD3BE 0x7CCD +0x8FD3BF 0x7CCF +0x8FD3C0 0x7CD3 +0x8FD3C1 0x7CD4 +0x8FD3C2 0x7CD5 +0x8FD3C3 0x7CD7 +0x8FD3C4 0x7CD9 +0x8FD3C5 0x7CDA +0x8FD3C6 0x7CDD +0x8FD3C7 0x7CE6 +0x8FD3C8 0x7CE9 +0x8FD3C9 0x7CEB +0x8FD3CA 0x7CF5 +0x8FD3CB 0x7D03 +0x8FD3CC 0x7D07 +0x8FD3CD 0x7D08 +0x8FD3CE 0x7D09 +0x8FD3CF 0x7D0F +0x8FD3D0 0x7D11 +0x8FD3D1 0x7D12 +0x8FD3D2 0x7D13 +0x8FD3D3 0x7D16 +0x8FD3D4 0x7D1D +0x8FD3D5 0x7D1E +0x8FD3D6 0x7D23 +0x8FD3D7 0x7D26 +0x8FD3D8 0x7D2A +0x8FD3D9 0x7D2D +0x8FD3DA 0x7D31 +0x8FD3DB 0x7D3C +0x8FD3DC 0x7D3D +0x8FD3DD 0x7D3E +0x8FD3DE 0x7D40 +0x8FD3DF 0x7D41 +0x8FD3E0 0x7D47 +0x8FD3E1 0x7D48 +0x8FD3E2 0x7D4D +0x8FD3E3 0x7D51 +0x8FD3E4 0x7D53 +0x8FD3E5 0x7D57 +0x8FD3E6 0x7D59 +0x8FD3E7 0x7D5A +0x8FD3E8 0x7D5C +0x8FD3E9 0x7D5D +0x8FD3EA 0x7D65 +0x8FD3EB 0x7D67 +0x8FD3EC 0x7D6A +0x8FD3ED 0x7D70 +0x8FD3EE 0x7D78 +0x8FD3EF 0x7D7A +0x8FD3F0 0x7D7B +0x8FD3F1 0x7D7F +0x8FD3F2 0x7D81 +0x8FD3F3 0x7D82 +0x8FD3F4 0x7D83 +0x8FD3F5 0x7D85 +0x8FD3F6 0x7D86 +0x8FD3F7 0x7D88 +0x8FD3F8 0x7D8B +0x8FD3F9 0x7D8C +0x8FD3FA 0x7D8D +0x8FD3FB 0x7D91 +0x8FD3FC 0x7D96 +0x8FD3FD 0x7D97 +0x8FD3FE 0x7D9D +0x8FD4A1 0x7D9E +0x8FD4A2 0x7DA6 +0x8FD4A3 0x7DA7 +0x8FD4A4 0x7DAA +0x8FD4A5 0x7DB3 +0x8FD4A6 0x7DB6 +0x8FD4A7 0x7DB7 +0x8FD4A8 0x7DB9 +0x8FD4A9 0x7DC2 +0x8FD4AA 0x7DC3 +0x8FD4AB 0x7DC4 +0x8FD4AC 0x7DC5 +0x8FD4AD 0x7DC6 +0x8FD4AE 0x7DCC +0x8FD4AF 0x7DCD +0x8FD4B0 0x7DCE +0x8FD4B1 0x7DD7 +0x8FD4B2 0x7DD9 +0x8FD4B3 0x7E00 +0x8FD4B4 0x7DE2 +0x8FD4B5 0x7DE5 +0x8FD4B6 0x7DE6 +0x8FD4B7 0x7DEA +0x8FD4B8 0x7DEB +0x8FD4B9 0x7DED +0x8FD4BA 0x7DF1 +0x8FD4BB 0x7DF5 +0x8FD4BC 0x7DF6 +0x8FD4BD 0x7DF9 +0x8FD4BE 0x7DFA +0x8FD4BF 0x7E08 +0x8FD4C0 0x7E10 +0x8FD4C1 0x7E11 +0x8FD4C2 0x7E15 +0x8FD4C3 0x7E17 +0x8FD4C4 0x7E1C +0x8FD4C5 0x7E1D +0x8FD4C6 0x7E20 +0x8FD4C7 0x7E27 +0x8FD4C8 0x7E28 +0x8FD4C9 0x7E2C +0x8FD4CA 0x7E2D +0x8FD4CB 0x7E2F +0x8FD4CC 0x7E33 +0x8FD4CD 0x7E36 +0x8FD4CE 0x7E3F +0x8FD4CF 0x7E44 +0x8FD4D0 0x7E45 +0x8FD4D1 0x7E47 +0x8FD4D2 0x7E4E +0x8FD4D3 0x7E50 +0x8FD4D4 0x7E52 +0x8FD4D5 0x7E58 +0x8FD4D6 0x7E5F +0x8FD4D7 0x7E61 +0x8FD4D8 0x7E62 +0x8FD4D9 0x7E65 +0x8FD4DA 0x7E6B +0x8FD4DB 0x7E6E +0x8FD4DC 0x7E6F +0x8FD4DD 0x7E73 +0x8FD4DE 0x7E78 +0x8FD4DF 0x7E7E +0x8FD4E0 0x7E81 +0x8FD4E1 0x7E86 +0x8FD4E2 0x7E87 +0x8FD4E3 0x7E8A +0x8FD4E4 0x7E8D +0x8FD4E5 0x7E91 +0x8FD4E6 0x7E95 +0x8FD4E7 0x7E98 +0x8FD4E8 0x7E9A +0x8FD4E9 0x7E9D +0x8FD4EA 0x7E9E +0x8FD4EB 0x7F3C +0x8FD4EC 0x7F3B +0x8FD4ED 0x7F3D +0x8FD4EE 0x7F3E +0x8FD4EF 0x7F3F +0x8FD4F0 0x7F43 +0x8FD4F1 0x7F44 +0x8FD4F2 0x7F47 +0x8FD4F3 0x7F4F +0x8FD4F4 0x7F52 +0x8FD4F5 0x7F53 +0x8FD4F6 0x7F5B +0x8FD4F7 0x7F5C +0x8FD4F8 0x7F5D +0x8FD4F9 0x7F61 +0x8FD4FA 0x7F63 +0x8FD4FB 0x7F64 +0x8FD4FC 0x7F65 +0x8FD4FD 0x7F66 +0x8FD4FE 0x7F6D +0x8FD5A1 0x7F71 +0x8FD5A2 0x7F7D +0x8FD5A3 0x7F7E +0x8FD5A4 0x7F7F +0x8FD5A5 0x7F80 +0x8FD5A6 0x7F8B +0x8FD5A7 0x7F8D +0x8FD5A8 0x7F8F +0x8FD5A9 0x7F90 +0x8FD5AA 0x7F91 +0x8FD5AB 0x7F96 +0x8FD5AC 0x7F97 +0x8FD5AD 0x7F9C +0x8FD5AE 0x7FA1 +0x8FD5AF 0x7FA2 +0x8FD5B0 0x7FA6 +0x8FD5B1 0x7FAA +0x8FD5B2 0x7FAD +0x8FD5B3 0x7FB4 +0x8FD5B4 0x7FBC +0x8FD5B5 0x7FBF +0x8FD5B6 0x7FC0 +0x8FD5B7 0x7FC3 +0x8FD5B8 0x7FC8 +0x8FD5B9 0x7FCE +0x8FD5BA 0x7FCF +0x8FD5BB 0x7FDB +0x8FD5BC 0x7FDF +0x8FD5BD 0x7FE3 +0x8FD5BE 0x7FE5 +0x8FD5BF 0x7FE8 +0x8FD5C0 0x7FEC +0x8FD5C1 0x7FEE +0x8FD5C2 0x7FEF +0x8FD5C3 0x7FF2 +0x8FD5C4 0x7FFA +0x8FD5C5 0x7FFD +0x8FD5C6 0x7FFE +0x8FD5C7 0x7FFF +0x8FD5C8 0x8007 +0x8FD5C9 0x8008 +0x8FD5CA 0x800A +0x8FD5CB 0x800D +0x8FD5CC 0x800E +0x8FD5CD 0x800F +0x8FD5CE 0x8011 +0x8FD5CF 0x8013 +0x8FD5D0 0x8014 +0x8FD5D1 0x8016 +0x8FD5D2 0x801D +0x8FD5D3 0x801E +0x8FD5D4 0x801F +0x8FD5D5 0x8020 +0x8FD5D6 0x8024 +0x8FD5D7 0x8026 +0x8FD5D8 0x802C +0x8FD5D9 0x802E +0x8FD5DA 0x8030 +0x8FD5DB 0x8034 +0x8FD5DC 0x8035 +0x8FD5DD 0x8037 +0x8FD5DE 0x8039 +0x8FD5DF 0x803A +0x8FD5E0 0x803C +0x8FD5E1 0x803E +0x8FD5E2 0x8040 +0x8FD5E3 0x8044 +0x8FD5E4 0x8060 +0x8FD5E5 0x8064 +0x8FD5E6 0x8066 +0x8FD5E7 0x806D +0x8FD5E8 0x8071 +0x8FD5E9 0x8075 +0x8FD5EA 0x8081 +0x8FD5EB 0x8088 +0x8FD5EC 0x808E +0x8FD5ED 0x809C +0x8FD5EE 0x809E +0x8FD5EF 0x80A6 +0x8FD5F0 0x80A7 +0x8FD5F1 0x80AB +0x8FD5F2 0x80B8 +0x8FD5F3 0x80B9 +0x8FD5F4 0x80C8 +0x8FD5F5 0x80CD +0x8FD5F6 0x80CF +0x8FD5F7 0x80D2 +0x8FD5F8 0x80D4 +0x8FD5F9 0x80D5 +0x8FD5FA 0x80D7 +0x8FD5FB 0x80D8 +0x8FD5FC 0x80E0 +0x8FD5FD 0x80ED +0x8FD5FE 0x80EE +0x8FD6A1 0x80F0 +0x8FD6A2 0x80F2 +0x8FD6A3 0x80F3 +0x8FD6A4 0x80F6 +0x8FD6A5 0x80F9 +0x8FD6A6 0x80FA +0x8FD6A7 0x80FE +0x8FD6A8 0x8103 +0x8FD6A9 0x810B +0x8FD6AA 0x8116 +0x8FD6AB 0x8117 +0x8FD6AC 0x8118 +0x8FD6AD 0x811C +0x8FD6AE 0x811E +0x8FD6AF 0x8120 +0x8FD6B0 0x8124 +0x8FD6B1 0x8127 +0x8FD6B2 0x812C +0x8FD6B3 0x8130 +0x8FD6B4 0x8135 +0x8FD6B5 0x813A +0x8FD6B6 0x813C +0x8FD6B7 0x8145 +0x8FD6B8 0x8147 +0x8FD6B9 0x814A +0x8FD6BA 0x814C +0x8FD6BB 0x8152 +0x8FD6BC 0x8157 +0x8FD6BD 0x8160 +0x8FD6BE 0x8161 +0x8FD6BF 0x8167 +0x8FD6C0 0x8168 +0x8FD6C1 0x8169 +0x8FD6C2 0x816D +0x8FD6C3 0x816F +0x8FD6C4 0x8177 +0x8FD6C5 0x8181 +0x8FD6C6 0x8190 +0x8FD6C7 0x8184 +0x8FD6C8 0x8185 +0x8FD6C9 0x8186 +0x8FD6CA 0x818B +0x8FD6CB 0x818E +0x8FD6CC 0x8196 +0x8FD6CD 0x8198 +0x8FD6CE 0x819B +0x8FD6CF 0x819E +0x8FD6D0 0x81A2 +0x8FD6D1 0x81AE +0x8FD6D2 0x81B2 +0x8FD6D3 0x81B4 +0x8FD6D4 0x81BB +0x8FD6D5 0x81CB +0x8FD6D6 0x81C3 +0x8FD6D7 0x81C5 +0x8FD6D8 0x81CA +0x8FD6D9 0x81CE +0x8FD6DA 0x81CF +0x8FD6DB 0x81D5 +0x8FD6DC 0x81D7 +0x8FD6DD 0x81DB +0x8FD6DE 0x81DD +0x8FD6DF 0x81DE +0x8FD6E0 0x81E1 +0x8FD6E1 0x81E4 +0x8FD6E2 0x81EB +0x8FD6E3 0x81EC +0x8FD6E4 0x81F0 +0x8FD6E5 0x81F1 +0x8FD6E6 0x81F2 +0x8FD6E7 0x81F5 +0x8FD6E8 0x81F6 +0x8FD6E9 0x81F8 +0x8FD6EA 0x81F9 +0x8FD6EB 0x81FD +0x8FD6EC 0x81FF +0x8FD6ED 0x8200 +0x8FD6EE 0x8203 +0x8FD6EF 0x820F +0x8FD6F0 0x8213 +0x8FD6F1 0x8214 +0x8FD6F2 0x8219 +0x8FD6F3 0x821A +0x8FD6F4 0x821D +0x8FD6F5 0x8221 +0x8FD6F6 0x8222 +0x8FD6F7 0x8228 +0x8FD6F8 0x8232 +0x8FD6F9 0x8234 +0x8FD6FA 0x823A +0x8FD6FB 0x8243 +0x8FD6FC 0x8244 +0x8FD6FD 0x8245 +0x8FD6FE 0x8246 +0x8FD7A1 0x824B +0x8FD7A2 0x824E +0x8FD7A3 0x824F +0x8FD7A4 0x8251 +0x8FD7A5 0x8256 +0x8FD7A6 0x825C +0x8FD7A7 0x8260 +0x8FD7A8 0x8263 +0x8FD7A9 0x8267 +0x8FD7AA 0x826D +0x8FD7AB 0x8274 +0x8FD7AC 0x827B +0x8FD7AD 0x827D +0x8FD7AE 0x827F +0x8FD7AF 0x8280 +0x8FD7B0 0x8281 +0x8FD7B1 0x8283 +0x8FD7B2 0x8284 +0x8FD7B3 0x8287 +0x8FD7B4 0x8289 +0x8FD7B5 0x828A +0x8FD7B6 0x828E +0x8FD7B7 0x8291 +0x8FD7B8 0x8294 +0x8FD7B9 0x8296 +0x8FD7BA 0x8298 +0x8FD7BB 0x829A +0x8FD7BC 0x829B +0x8FD7BD 0x82A0 +0x8FD7BE 0x82A1 +0x8FD7BF 0x82A3 +0x8FD7C0 0x82A4 +0x8FD7C1 0x82A7 +0x8FD7C2 0x82A8 +0x8FD7C3 0x82A9 +0x8FD7C4 0x82AA +0x8FD7C5 0x82AE +0x8FD7C6 0x82B0 +0x8FD7C7 0x82B2 +0x8FD7C8 0x82B4 +0x8FD7C9 0x82B7 +0x8FD7CA 0x82BA +0x8FD7CB 0x82BC +0x8FD7CC 0x82BE +0x8FD7CD 0x82BF +0x8FD7CE 0x82C6 +0x8FD7CF 0x82D0 +0x8FD7D0 0x82D5 +0x8FD7D1 0x82DA +0x8FD7D2 0x82E0 +0x8FD7D3 0x82E2 +0x8FD7D4 0x82E4 +0x8FD7D5 0x82E8 +0x8FD7D6 0x82EA +0x8FD7D7 0x82ED +0x8FD7D8 0x82EF +0x8FD7D9 0x82F6 +0x8FD7DA 0x82F7 +0x8FD7DB 0x82FD +0x8FD7DC 0x82FE +0x8FD7DD 0x8300 +0x8FD7DE 0x8301 +0x8FD7DF 0x8307 +0x8FD7E0 0x8308 +0x8FD7E1 0x830A +0x8FD7E2 0x830B +0x8FD7E3 0x8354 +0x8FD7E4 0x831B +0x8FD7E5 0x831D +0x8FD7E6 0x831E +0x8FD7E7 0x831F +0x8FD7E8 0x8321 +0x8FD7E9 0x8322 +0x8FD7EA 0x832C +0x8FD7EB 0x832D +0x8FD7EC 0x832E +0x8FD7ED 0x8330 +0x8FD7EE 0x8333 +0x8FD7EF 0x8337 +0x8FD7F0 0x833A +0x8FD7F1 0x833C +0x8FD7F2 0x833D +0x8FD7F3 0x8342 +0x8FD7F4 0x8343 +0x8FD7F5 0x8344 +0x8FD7F6 0x8347 +0x8FD7F7 0x834D +0x8FD7F8 0x834E +0x8FD7F9 0x8351 +0x8FD7FA 0x8355 +0x8FD7FB 0x8356 +0x8FD7FC 0x8357 +0x8FD7FD 0x8370 +0x8FD7FE 0x8378 +0x8FD8A1 0x837D +0x8FD8A2 0x837F +0x8FD8A3 0x8380 +0x8FD8A4 0x8382 +0x8FD8A5 0x8384 +0x8FD8A6 0x8386 +0x8FD8A7 0x838D +0x8FD8A8 0x8392 +0x8FD8A9 0x8394 +0x8FD8AA 0x8395 +0x8FD8AB 0x8398 +0x8FD8AC 0x8399 +0x8FD8AD 0x839B +0x8FD8AE 0x839C +0x8FD8AF 0x839D +0x8FD8B0 0x83A6 +0x8FD8B1 0x83A7 +0x8FD8B2 0x83A9 +0x8FD8B3 0x83AC +0x8FD8B4 0x83BE +0x8FD8B5 0x83BF +0x8FD8B6 0x83C0 +0x8FD8B7 0x83C7 +0x8FD8B8 0x83C9 +0x8FD8B9 0x83CF +0x8FD8BA 0x83D0 +0x8FD8BB 0x83D1 +0x8FD8BC 0x83D4 +0x8FD8BD 0x83DD +0x8FD8BE 0x8353 +0x8FD8BF 0x83E8 +0x8FD8C0 0x83EA +0x8FD8C1 0x83F6 +0x8FD8C2 0x83F8 +0x8FD8C3 0x83F9 +0x8FD8C4 0x83FC +0x8FD8C5 0x8401 +0x8FD8C6 0x8406 +0x8FD8C7 0x840A +0x8FD8C8 0x840F +0x8FD8C9 0x8411 +0x8FD8CA 0x8415 +0x8FD8CB 0x8419 +0x8FD8CC 0x83AD +0x8FD8CD 0x842F +0x8FD8CE 0x8439 +0x8FD8CF 0x8445 +0x8FD8D0 0x8447 +0x8FD8D1 0x8448 +0x8FD8D2 0x844A +0x8FD8D3 0x844D +0x8FD8D4 0x844F +0x8FD8D5 0x8451 +0x8FD8D6 0x8452 +0x8FD8D7 0x8456 +0x8FD8D8 0x8458 +0x8FD8D9 0x8459 +0x8FD8DA 0x845A +0x8FD8DB 0x845C +0x8FD8DC 0x8460 +0x8FD8DD 0x8464 +0x8FD8DE 0x8465 +0x8FD8DF 0x8467 +0x8FD8E0 0x846A +0x8FD8E1 0x8470 +0x8FD8E2 0x8473 +0x8FD8E3 0x8474 +0x8FD8E4 0x8476 +0x8FD8E5 0x8478 +0x8FD8E6 0x847C +0x8FD8E7 0x847D +0x8FD8E8 0x8481 +0x8FD8E9 0x8485 +0x8FD8EA 0x8492 +0x8FD8EB 0x8493 +0x8FD8EC 0x8495 +0x8FD8ED 0x849E +0x8FD8EE 0x84A6 +0x8FD8EF 0x84A8 +0x8FD8F0 0x84A9 +0x8FD8F1 0x84AA +0x8FD8F2 0x84AF +0x8FD8F3 0x84B1 +0x8FD8F4 0x84B4 +0x8FD8F5 0x84BA +0x8FD8F6 0x84BD +0x8FD8F7 0x84BE +0x8FD8F8 0x84C0 +0x8FD8F9 0x84C2 +0x8FD8FA 0x84C7 +0x8FD8FB 0x84C8 +0x8FD8FC 0x84CC +0x8FD8FD 0x84CF +0x8FD8FE 0x84D3 +0x8FD9A1 0x84DC +0x8FD9A2 0x84E7 +0x8FD9A3 0x84EA +0x8FD9A4 0x84EF +0x8FD9A5 0x84F0 +0x8FD9A6 0x84F1 +0x8FD9A7 0x84F2 +0x8FD9A8 0x84F7 +0x8FD9A9 0x8532 +0x8FD9AA 0x84FA +0x8FD9AB 0x84FB +0x8FD9AC 0x84FD +0x8FD9AD 0x8502 +0x8FD9AE 0x8503 +0x8FD9AF 0x8507 +0x8FD9B0 0x850C +0x8FD9B1 0x850E +0x8FD9B2 0x8510 +0x8FD9B3 0x851C +0x8FD9B4 0x851E +0x8FD9B5 0x8522 +0x8FD9B6 0x8523 +0x8FD9B7 0x8524 +0x8FD9B8 0x8525 +0x8FD9B9 0x8527 +0x8FD9BA 0x852A +0x8FD9BB 0x852B +0x8FD9BC 0x852F +0x8FD9BD 0x8533 +0x8FD9BE 0x8534 +0x8FD9BF 0x8536 +0x8FD9C0 0x853F +0x8FD9C1 0x8546 +0x8FD9C2 0x854F +0x8FD9C3 0x8550 +0x8FD9C4 0x8551 +0x8FD9C5 0x8552 +0x8FD9C6 0x8553 +0x8FD9C7 0x8556 +0x8FD9C8 0x8559 +0x8FD9C9 0x855C +0x8FD9CA 0x855D +0x8FD9CB 0x855E +0x8FD9CC 0x855F +0x8FD9CD 0x8560 +0x8FD9CE 0x8561 +0x8FD9CF 0x8562 +0x8FD9D0 0x8564 +0x8FD9D1 0x856B +0x8FD9D2 0x856F +0x8FD9D3 0x8579 +0x8FD9D4 0x857A +0x8FD9D5 0x857B +0x8FD9D6 0x857D +0x8FD9D7 0x857F +0x8FD9D8 0x8581 +0x8FD9D9 0x8585 +0x8FD9DA 0x8586 +0x8FD9DB 0x8589 +0x8FD9DC 0x858B +0x8FD9DD 0x858C +0x8FD9DE 0x858F +0x8FD9DF 0x8593 +0x8FD9E0 0x8598 +0x8FD9E1 0x859D +0x8FD9E2 0x859F +0x8FD9E3 0x85A0 +0x8FD9E4 0x85A2 +0x8FD9E5 0x85A5 +0x8FD9E6 0x85A7 +0x8FD9E7 0x85B4 +0x8FD9E8 0x85B6 +0x8FD9E9 0x85B7 +0x8FD9EA 0x85B8 +0x8FD9EB 0x85BC +0x8FD9EC 0x85BD +0x8FD9ED 0x85BE +0x8FD9EE 0x85BF +0x8FD9EF 0x85C2 +0x8FD9F0 0x85C7 +0x8FD9F1 0x85CA +0x8FD9F2 0x85CB +0x8FD9F3 0x85CE +0x8FD9F4 0x85AD +0x8FD9F5 0x85D8 +0x8FD9F6 0x85DA +0x8FD9F7 0x85DF +0x8FD9F8 0x85E0 +0x8FD9F9 0x85E6 +0x8FD9FA 0x85E8 +0x8FD9FB 0x85ED +0x8FD9FC 0x85F3 +0x8FD9FD 0x85F6 +0x8FD9FE 0x85FC +0x8FDAA1 0x85FF +0x8FDAA2 0x8600 +0x8FDAA3 0x8604 +0x8FDAA4 0x8605 +0x8FDAA5 0x860D +0x8FDAA6 0x860E +0x8FDAA7 0x8610 +0x8FDAA8 0x8611 +0x8FDAA9 0x8612 +0x8FDAAA 0x8618 +0x8FDAAB 0x8619 +0x8FDAAC 0x861B +0x8FDAAD 0x861E +0x8FDAAE 0x8621 +0x8FDAAF 0x8627 +0x8FDAB0 0x8629 +0x8FDAB1 0x8636 +0x8FDAB2 0x8638 +0x8FDAB3 0x863A +0x8FDAB4 0x863C +0x8FDAB5 0x863D +0x8FDAB6 0x8640 +0x8FDAB7 0x8642 +0x8FDAB8 0x8646 +0x8FDAB9 0x8652 +0x8FDABA 0x8653 +0x8FDABB 0x8656 +0x8FDABC 0x8657 +0x8FDABD 0x8658 +0x8FDABE 0x8659 +0x8FDABF 0x865D +0x8FDAC0 0x8660 +0x8FDAC1 0x8661 +0x8FDAC2 0x8662 +0x8FDAC3 0x8663 +0x8FDAC4 0x8664 +0x8FDAC5 0x8669 +0x8FDAC6 0x866C +0x8FDAC7 0x866F +0x8FDAC8 0x8675 +0x8FDAC9 0x8676 +0x8FDACA 0x8677 +0x8FDACB 0x867A +0x8FDACC 0x868D +0x8FDACD 0x8691 +0x8FDACE 0x8696 +0x8FDACF 0x8698 +0x8FDAD0 0x869A +0x8FDAD1 0x869C +0x8FDAD2 0x86A1 +0x8FDAD3 0x86A6 +0x8FDAD4 0x86A7 +0x8FDAD5 0x86A8 +0x8FDAD6 0x86AD +0x8FDAD7 0x86B1 +0x8FDAD8 0x86B3 +0x8FDAD9 0x86B4 +0x8FDADA 0x86B5 +0x8FDADB 0x86B7 +0x8FDADC 0x86B8 +0x8FDADD 0x86B9 +0x8FDADE 0x86BF +0x8FDADF 0x86C0 +0x8FDAE0 0x86C1 +0x8FDAE1 0x86C3 +0x8FDAE2 0x86C5 +0x8FDAE3 0x86D1 +0x8FDAE4 0x86D2 +0x8FDAE5 0x86D5 +0x8FDAE6 0x86D7 +0x8FDAE7 0x86DA +0x8FDAE8 0x86DC +0x8FDAE9 0x86E0 +0x8FDAEA 0x86E3 +0x8FDAEB 0x86E5 +0x8FDAEC 0x86E7 +0x8FDAED 0x8688 +0x8FDAEE 0x86FA +0x8FDAEF 0x86FC +0x8FDAF0 0x86FD +0x8FDAF1 0x8704 +0x8FDAF2 0x8705 +0x8FDAF3 0x8707 +0x8FDAF4 0x870B +0x8FDAF5 0x870E +0x8FDAF6 0x870F +0x8FDAF7 0x8710 +0x8FDAF8 0x8713 +0x8FDAF9 0x8714 +0x8FDAFA 0x8719 +0x8FDAFB 0x871E +0x8FDAFC 0x871F +0x8FDAFD 0x8721 +0x8FDAFE 0x8723 +0x8FDBA1 0x8728 +0x8FDBA2 0x872E +0x8FDBA3 0x872F +0x8FDBA4 0x8731 +0x8FDBA5 0x8732 +0x8FDBA6 0x8739 +0x8FDBA7 0x873A +0x8FDBA8 0x873C +0x8FDBA9 0x873D +0x8FDBAA 0x873E +0x8FDBAB 0x8740 +0x8FDBAC 0x8743 +0x8FDBAD 0x8745 +0x8FDBAE 0x874D +0x8FDBAF 0x8758 +0x8FDBB0 0x875D +0x8FDBB1 0x8761 +0x8FDBB2 0x8764 +0x8FDBB3 0x8765 +0x8FDBB4 0x876F +0x8FDBB5 0x8771 +0x8FDBB6 0x8772 +0x8FDBB7 0x877B +0x8FDBB8 0x8783 +0x8FDBB9 0x8784 +0x8FDBBA 0x8785 +0x8FDBBB 0x8786 +0x8FDBBC 0x8787 +0x8FDBBD 0x8788 +0x8FDBBE 0x8789 +0x8FDBBF 0x878B +0x8FDBC0 0x878C +0x8FDBC1 0x8790 +0x8FDBC2 0x8793 +0x8FDBC3 0x8795 +0x8FDBC4 0x8797 +0x8FDBC5 0x8798 +0x8FDBC6 0x8799 +0x8FDBC7 0x879E +0x8FDBC8 0x87A0 +0x8FDBC9 0x87A3 +0x8FDBCA 0x87A7 +0x8FDBCB 0x87AC +0x8FDBCC 0x87AD +0x8FDBCD 0x87AE +0x8FDBCE 0x87B1 +0x8FDBCF 0x87B5 +0x8FDBD0 0x87BE +0x8FDBD1 0x87BF +0x8FDBD2 0x87C1 +0x8FDBD3 0x87C8 +0x8FDBD4 0x87C9 +0x8FDBD5 0x87CA +0x8FDBD6 0x87CE +0x8FDBD7 0x87D5 +0x8FDBD8 0x87D6 +0x8FDBD9 0x87D9 +0x8FDBDA 0x87DA +0x8FDBDB 0x87DC +0x8FDBDC 0x87DF +0x8FDBDD 0x87E2 +0x8FDBDE 0x87E3 +0x8FDBDF 0x87E4 +0x8FDBE0 0x87EA +0x8FDBE1 0x87EB +0x8FDBE2 0x87ED +0x8FDBE3 0x87F1 +0x8FDBE4 0x87F3 +0x8FDBE5 0x87F8 +0x8FDBE6 0x87FA +0x8FDBE7 0x87FF +0x8FDBE8 0x8801 +0x8FDBE9 0x8803 +0x8FDBEA 0x8806 +0x8FDBEB 0x8809 +0x8FDBEC 0x880A +0x8FDBED 0x880B +0x8FDBEE 0x8810 +0x8FDBEF 0x8819 +0x8FDBF0 0x8812 +0x8FDBF1 0x8813 +0x8FDBF2 0x8814 +0x8FDBF3 0x8818 +0x8FDBF4 0x881A +0x8FDBF5 0x881B +0x8FDBF6 0x881C +0x8FDBF7 0x881E +0x8FDBF8 0x881F +0x8FDBF9 0x8828 +0x8FDBFA 0x882D +0x8FDBFB 0x882E +0x8FDBFC 0x8830 +0x8FDBFD 0x8832 +0x8FDBFE 0x8835 +0x8FDCA1 0x883A +0x8FDCA2 0x883C +0x8FDCA3 0x8841 +0x8FDCA4 0x8843 +0x8FDCA5 0x8845 +0x8FDCA6 0x8848 +0x8FDCA7 0x8849 +0x8FDCA8 0x884A +0x8FDCA9 0x884B +0x8FDCAA 0x884E +0x8FDCAB 0x8851 +0x8FDCAC 0x8855 +0x8FDCAD 0x8856 +0x8FDCAE 0x8858 +0x8FDCAF 0x885A +0x8FDCB0 0x885C +0x8FDCB1 0x885F +0x8FDCB2 0x8860 +0x8FDCB3 0x8864 +0x8FDCB4 0x8869 +0x8FDCB5 0x8871 +0x8FDCB6 0x8879 +0x8FDCB7 0x887B +0x8FDCB8 0x8880 +0x8FDCB9 0x8898 +0x8FDCBA 0x889A +0x8FDCBB 0x889B +0x8FDCBC 0x889C +0x8FDCBD 0x889F +0x8FDCBE 0x88A0 +0x8FDCBF 0x88A8 +0x8FDCC0 0x88AA +0x8FDCC1 0x88BA +0x8FDCC2 0x88BD +0x8FDCC3 0x88BE +0x8FDCC4 0x88C0 +0x8FDCC5 0x88CA +0x8FDCC6 0x88CB +0x8FDCC7 0x88CC +0x8FDCC8 0x88CD +0x8FDCC9 0x88CE +0x8FDCCA 0x88D1 +0x8FDCCB 0x88D2 +0x8FDCCC 0x88D3 +0x8FDCCD 0x88DB +0x8FDCCE 0x88DE +0x8FDCCF 0x88E7 +0x8FDCD0 0x88EF +0x8FDCD1 0x88F0 +0x8FDCD2 0x88F1 +0x8FDCD3 0x88F5 +0x8FDCD4 0x88F7 +0x8FDCD5 0x8901 +0x8FDCD6 0x8906 +0x8FDCD7 0x890D +0x8FDCD8 0x890E +0x8FDCD9 0x890F +0x8FDCDA 0x8915 +0x8FDCDB 0x8916 +0x8FDCDC 0x8918 +0x8FDCDD 0x8919 +0x8FDCDE 0x891A +0x8FDCDF 0x891C +0x8FDCE0 0x8920 +0x8FDCE1 0x8926 +0x8FDCE2 0x8927 +0x8FDCE3 0x8928 +0x8FDCE4 0x8930 +0x8FDCE5 0x8931 +0x8FDCE6 0x8932 +0x8FDCE7 0x8935 +0x8FDCE8 0x8939 +0x8FDCE9 0x893A +0x8FDCEA 0x893E +0x8FDCEB 0x8940 +0x8FDCEC 0x8942 +0x8FDCED 0x8945 +0x8FDCEE 0x8946 +0x8FDCEF 0x8949 +0x8FDCF0 0x894F +0x8FDCF1 0x8952 +0x8FDCF2 0x8957 +0x8FDCF3 0x895A +0x8FDCF4 0x895B +0x8FDCF5 0x895C +0x8FDCF6 0x8961 +0x8FDCF7 0x8962 +0x8FDCF8 0x8963 +0x8FDCF9 0x896B +0x8FDCFA 0x896E +0x8FDCFB 0x8970 +0x8FDCFC 0x8973 +0x8FDCFD 0x8975 +0x8FDCFE 0x897A +0x8FDDA1 0x897B +0x8FDDA2 0x897C +0x8FDDA3 0x897D +0x8FDDA4 0x8989 +0x8FDDA5 0x898D +0x8FDDA6 0x8990 +0x8FDDA7 0x8994 +0x8FDDA8 0x8995 +0x8FDDA9 0x899B +0x8FDDAA 0x899C +0x8FDDAB 0x899F +0x8FDDAC 0x89A0 +0x8FDDAD 0x89A5 +0x8FDDAE 0x89B0 +0x8FDDAF 0x89B4 +0x8FDDB0 0x89B5 +0x8FDDB1 0x89B6 +0x8FDDB2 0x89B7 +0x8FDDB3 0x89BC +0x8FDDB4 0x89D4 +0x8FDDB5 0x89D5 +0x8FDDB6 0x89D6 +0x8FDDB7 0x89D7 +0x8FDDB8 0x89D8 +0x8FDDB9 0x89E5 +0x8FDDBA 0x89E9 +0x8FDDBB 0x89EB +0x8FDDBC 0x89ED +0x8FDDBD 0x89F1 +0x8FDDBE 0x89F3 +0x8FDDBF 0x89F6 +0x8FDDC0 0x89F9 +0x8FDDC1 0x89FD +0x8FDDC2 0x89FF +0x8FDDC3 0x8A04 +0x8FDDC4 0x8A05 +0x8FDDC5 0x8A07 +0x8FDDC6 0x8A0F +0x8FDDC7 0x8A11 +0x8FDDC8 0x8A12 +0x8FDDC9 0x8A14 +0x8FDDCA 0x8A15 +0x8FDDCB 0x8A1E +0x8FDDCC 0x8A20 +0x8FDDCD 0x8A22 +0x8FDDCE 0x8A24 +0x8FDDCF 0x8A26 +0x8FDDD0 0x8A2B +0x8FDDD1 0x8A2C +0x8FDDD2 0x8A2F +0x8FDDD3 0x8A35 +0x8FDDD4 0x8A37 +0x8FDDD5 0x8A3D +0x8FDDD6 0x8A3E +0x8FDDD7 0x8A40 +0x8FDDD8 0x8A43 +0x8FDDD9 0x8A45 +0x8FDDDA 0x8A47 +0x8FDDDB 0x8A49 +0x8FDDDC 0x8A4D +0x8FDDDD 0x8A4E +0x8FDDDE 0x8A53 +0x8FDDDF 0x8A56 +0x8FDDE0 0x8A57 +0x8FDDE1 0x8A58 +0x8FDDE2 0x8A5C +0x8FDDE3 0x8A5D +0x8FDDE4 0x8A61 +0x8FDDE5 0x8A65 +0x8FDDE6 0x8A67 +0x8FDDE7 0x8A75 +0x8FDDE8 0x8A76 +0x8FDDE9 0x8A77 +0x8FDDEA 0x8A79 +0x8FDDEB 0x8A7A +0x8FDDEC 0x8A7B +0x8FDDED 0x8A7E +0x8FDDEE 0x8A7F +0x8FDDEF 0x8A80 +0x8FDDF0 0x8A83 +0x8FDDF1 0x8A86 +0x8FDDF2 0x8A8B +0x8FDDF3 0x8A8F +0x8FDDF4 0x8A90 +0x8FDDF5 0x8A92 +0x8FDDF6 0x8A96 +0x8FDDF7 0x8A97 +0x8FDDF8 0x8A99 +0x8FDDF9 0x8A9F +0x8FDDFA 0x8AA7 +0x8FDDFB 0x8AA9 +0x8FDDFC 0x8AAE +0x8FDDFD 0x8AAF +0x8FDDFE 0x8AB3 +0x8FDEA1 0x8AB6 +0x8FDEA2 0x8AB7 +0x8FDEA3 0x8ABB +0x8FDEA4 0x8ABE +0x8FDEA5 0x8AC3 +0x8FDEA6 0x8AC6 +0x8FDEA7 0x8AC8 +0x8FDEA8 0x8AC9 +0x8FDEA9 0x8ACA +0x8FDEAA 0x8AD1 +0x8FDEAB 0x8AD3 +0x8FDEAC 0x8AD4 +0x8FDEAD 0x8AD5 +0x8FDEAE 0x8AD7 +0x8FDEAF 0x8ADD +0x8FDEB0 0x8ADF +0x8FDEB1 0x8AEC +0x8FDEB2 0x8AF0 +0x8FDEB3 0x8AF4 +0x8FDEB4 0x8AF5 +0x8FDEB5 0x8AF6 +0x8FDEB6 0x8AFC +0x8FDEB7 0x8AFF +0x8FDEB8 0x8B05 +0x8FDEB9 0x8B06 +0x8FDEBA 0x8B0B +0x8FDEBB 0x8B11 +0x8FDEBC 0x8B1C +0x8FDEBD 0x8B1E +0x8FDEBE 0x8B1F +0x8FDEBF 0x8B0A +0x8FDEC0 0x8B2D +0x8FDEC1 0x8B30 +0x8FDEC2 0x8B37 +0x8FDEC3 0x8B3C +0x8FDEC4 0x8B42 +0x8FDEC5 0x8B43 +0x8FDEC6 0x8B44 +0x8FDEC7 0x8B45 +0x8FDEC8 0x8B46 +0x8FDEC9 0x8B48 +0x8FDECA 0x8B52 +0x8FDECB 0x8B53 +0x8FDECC 0x8B54 +0x8FDECD 0x8B59 +0x8FDECE 0x8B4D +0x8FDECF 0x8B5E +0x8FDED0 0x8B63 +0x8FDED1 0x8B6D +0x8FDED2 0x8B76 +0x8FDED3 0x8B78 +0x8FDED4 0x8B79 +0x8FDED5 0x8B7C +0x8FDED6 0x8B7E +0x8FDED7 0x8B81 +0x8FDED8 0x8B84 +0x8FDED9 0x8B85 +0x8FDEDA 0x8B8B +0x8FDEDB 0x8B8D +0x8FDEDC 0x8B8F +0x8FDEDD 0x8B94 +0x8FDEDE 0x8B95 +0x8FDEDF 0x8B9C +0x8FDEE0 0x8B9E +0x8FDEE1 0x8B9F +0x8FDEE2 0x8C38 +0x8FDEE3 0x8C39 +0x8FDEE4 0x8C3D +0x8FDEE5 0x8C3E +0x8FDEE6 0x8C45 +0x8FDEE7 0x8C47 +0x8FDEE8 0x8C49 +0x8FDEE9 0x8C4B +0x8FDEEA 0x8C4F +0x8FDEEB 0x8C51 +0x8FDEEC 0x8C53 +0x8FDEED 0x8C54 +0x8FDEEE 0x8C57 +0x8FDEEF 0x8C58 +0x8FDEF0 0x8C5B +0x8FDEF1 0x8C5D +0x8FDEF2 0x8C59 +0x8FDEF3 0x8C63 +0x8FDEF4 0x8C64 +0x8FDEF5 0x8C66 +0x8FDEF6 0x8C68 +0x8FDEF7 0x8C69 +0x8FDEF8 0x8C6D +0x8FDEF9 0x8C73 +0x8FDEFA 0x8C75 +0x8FDEFB 0x8C76 +0x8FDEFC 0x8C7B +0x8FDEFD 0x8C7E +0x8FDEFE 0x8C86 +0x8FDFA1 0x8C87 +0x8FDFA2 0x8C8B +0x8FDFA3 0x8C90 +0x8FDFA4 0x8C92 +0x8FDFA5 0x8C93 +0x8FDFA6 0x8C99 +0x8FDFA7 0x8C9B +0x8FDFA8 0x8C9C +0x8FDFA9 0x8CA4 +0x8FDFAA 0x8CB9 +0x8FDFAB 0x8CBA +0x8FDFAC 0x8CC5 +0x8FDFAD 0x8CC6 +0x8FDFAE 0x8CC9 +0x8FDFAF 0x8CCB +0x8FDFB0 0x8CCF +0x8FDFB1 0x8CD6 +0x8FDFB2 0x8CD5 +0x8FDFB3 0x8CD9 +0x8FDFB4 0x8CDD +0x8FDFB5 0x8CE1 +0x8FDFB6 0x8CE8 +0x8FDFB7 0x8CEC +0x8FDFB8 0x8CEF +0x8FDFB9 0x8CF0 +0x8FDFBA 0x8CF2 +0x8FDFBB 0x8CF5 +0x8FDFBC 0x8CF7 +0x8FDFBD 0x8CF8 +0x8FDFBE 0x8CFE +0x8FDFBF 0x8CFF +0x8FDFC0 0x8D01 +0x8FDFC1 0x8D03 +0x8FDFC2 0x8D09 +0x8FDFC3 0x8D12 +0x8FDFC4 0x8D17 +0x8FDFC5 0x8D1B +0x8FDFC6 0x8D65 +0x8FDFC7 0x8D69 +0x8FDFC8 0x8D6C +0x8FDFC9 0x8D6E +0x8FDFCA 0x8D7F +0x8FDFCB 0x8D82 +0x8FDFCC 0x8D84 +0x8FDFCD 0x8D88 +0x8FDFCE 0x8D8D +0x8FDFCF 0x8D90 +0x8FDFD0 0x8D91 +0x8FDFD1 0x8D95 +0x8FDFD2 0x8D9E +0x8FDFD3 0x8D9F +0x8FDFD4 0x8DA0 +0x8FDFD5 0x8DA6 +0x8FDFD6 0x8DAB +0x8FDFD7 0x8DAC +0x8FDFD8 0x8DAF +0x8FDFD9 0x8DB2 +0x8FDFDA 0x8DB5 +0x8FDFDB 0x8DB7 +0x8FDFDC 0x8DB9 +0x8FDFDD 0x8DBB +0x8FDFDE 0x8DC0 +0x8FDFDF 0x8DC5 +0x8FDFE0 0x8DC6 +0x8FDFE1 0x8DC7 +0x8FDFE2 0x8DC8 +0x8FDFE3 0x8DCA +0x8FDFE4 0x8DCE +0x8FDFE5 0x8DD1 +0x8FDFE6 0x8DD4 +0x8FDFE7 0x8DD5 +0x8FDFE8 0x8DD7 +0x8FDFE9 0x8DD9 +0x8FDFEA 0x8DE4 +0x8FDFEB 0x8DE5 +0x8FDFEC 0x8DE7 +0x8FDFED 0x8DEC +0x8FDFEE 0x8DF0 +0x8FDFEF 0x8DBC +0x8FDFF0 0x8DF1 +0x8FDFF1 0x8DF2 +0x8FDFF2 0x8DF4 +0x8FDFF3 0x8DFD +0x8FDFF4 0x8E01 +0x8FDFF5 0x8E04 +0x8FDFF6 0x8E05 +0x8FDFF7 0x8E06 +0x8FDFF8 0x8E0B +0x8FDFF9 0x8E11 +0x8FDFFA 0x8E14 +0x8FDFFB 0x8E16 +0x8FDFFC 0x8E20 +0x8FDFFD 0x8E21 +0x8FDFFE 0x8E22 +0x8FE0A1 0x8E23 +0x8FE0A2 0x8E26 +0x8FE0A3 0x8E27 +0x8FE0A4 0x8E31 +0x8FE0A5 0x8E33 +0x8FE0A6 0x8E36 +0x8FE0A7 0x8E37 +0x8FE0A8 0x8E38 +0x8FE0A9 0x8E39 +0x8FE0AA 0x8E3D +0x8FE0AB 0x8E40 +0x8FE0AC 0x8E41 +0x8FE0AD 0x8E4B +0x8FE0AE 0x8E4D +0x8FE0AF 0x8E4E +0x8FE0B0 0x8E4F +0x8FE0B1 0x8E54 +0x8FE0B2 0x8E5B +0x8FE0B3 0x8E5C +0x8FE0B4 0x8E5D +0x8FE0B5 0x8E5E +0x8FE0B6 0x8E61 +0x8FE0B7 0x8E62 +0x8FE0B8 0x8E69 +0x8FE0B9 0x8E6C +0x8FE0BA 0x8E6D +0x8FE0BB 0x8E6F +0x8FE0BC 0x8E70 +0x8FE0BD 0x8E71 +0x8FE0BE 0x8E79 +0x8FE0BF 0x8E7A +0x8FE0C0 0x8E7B +0x8FE0C1 0x8E82 +0x8FE0C2 0x8E83 +0x8FE0C3 0x8E89 +0x8FE0C4 0x8E90 +0x8FE0C5 0x8E92 +0x8FE0C6 0x8E95 +0x8FE0C7 0x8E9A +0x8FE0C8 0x8E9B +0x8FE0C9 0x8E9D +0x8FE0CA 0x8E9E +0x8FE0CB 0x8EA2 +0x8FE0CC 0x8EA7 +0x8FE0CD 0x8EA9 +0x8FE0CE 0x8EAD +0x8FE0CF 0x8EAE +0x8FE0D0 0x8EB3 +0x8FE0D1 0x8EB5 +0x8FE0D2 0x8EBA +0x8FE0D3 0x8EBB +0x8FE0D4 0x8EC0 +0x8FE0D5 0x8EC1 +0x8FE0D6 0x8EC3 +0x8FE0D7 0x8EC4 +0x8FE0D8 0x8EC7 +0x8FE0D9 0x8ECF +0x8FE0DA 0x8ED1 +0x8FE0DB 0x8ED4 +0x8FE0DC 0x8EDC +0x8FE0DD 0x8EE8 +0x8FE0DE 0x8EEE +0x8FE0DF 0x8EF0 +0x8FE0E0 0x8EF1 +0x8FE0E1 0x8EF7 +0x8FE0E2 0x8EF9 +0x8FE0E3 0x8EFA +0x8FE0E4 0x8EED +0x8FE0E5 0x8F00 +0x8FE0E6 0x8F02 +0x8FE0E7 0x8F07 +0x8FE0E8 0x8F08 +0x8FE0E9 0x8F0F +0x8FE0EA 0x8F10 +0x8FE0EB 0x8F16 +0x8FE0EC 0x8F17 +0x8FE0ED 0x8F18 +0x8FE0EE 0x8F1E +0x8FE0EF 0x8F20 +0x8FE0F0 0x8F21 +0x8FE0F1 0x8F23 +0x8FE0F2 0x8F25 +0x8FE0F3 0x8F27 +0x8FE0F4 0x8F28 +0x8FE0F5 0x8F2C +0x8FE0F6 0x8F2D +0x8FE0F7 0x8F2E +0x8FE0F8 0x8F34 +0x8FE0F9 0x8F35 +0x8FE0FA 0x8F36 +0x8FE0FB 0x8F37 +0x8FE0FC 0x8F3A +0x8FE0FD 0x8F40 +0x8FE0FE 0x8F41 +0x8FE1A1 0x8F43 +0x8FE1A2 0x8F47 +0x8FE1A3 0x8F4F +0x8FE1A4 0x8F51 +0x8FE1A5 0x8F52 +0x8FE1A6 0x8F53 +0x8FE1A7 0x8F54 +0x8FE1A8 0x8F55 +0x8FE1A9 0x8F58 +0x8FE1AA 0x8F5D +0x8FE1AB 0x8F5E +0x8FE1AC 0x8F65 +0x8FE1AD 0x8F9D +0x8FE1AE 0x8FA0 +0x8FE1AF 0x8FA1 +0x8FE1B0 0x8FA4 +0x8FE1B1 0x8FA5 +0x8FE1B2 0x8FA6 +0x8FE1B3 0x8FB5 +0x8FE1B4 0x8FB6 +0x8FE1B5 0x8FB8 +0x8FE1B6 0x8FBE +0x8FE1B7 0x8FC0 +0x8FE1B8 0x8FC1 +0x8FE1B9 0x8FC6 +0x8FE1BA 0x8FCA +0x8FE1BB 0x8FCB +0x8FE1BC 0x8FCD +0x8FE1BD 0x8FD0 +0x8FE1BE 0x8FD2 +0x8FE1BF 0x8FD3 +0x8FE1C0 0x8FD5 +0x8FE1C1 0x8FE0 +0x8FE1C2 0x8FE3 +0x8FE1C3 0x8FE4 +0x8FE1C4 0x8FE8 +0x8FE1C5 0x8FEE +0x8FE1C6 0x8FF1 +0x8FE1C7 0x8FF5 +0x8FE1C8 0x8FF6 +0x8FE1C9 0x8FFB +0x8FE1CA 0x8FFE +0x8FE1CB 0x9002 +0x8FE1CC 0x9004 +0x8FE1CD 0x9008 +0x8FE1CE 0x900C +0x8FE1CF 0x9018 +0x8FE1D0 0x901B +0x8FE1D1 0x9028 +0x8FE1D2 0x9029 +0x8FE1D3 0x902F +0x8FE1D4 0x902A +0x8FE1D5 0x902C +0x8FE1D6 0x902D +0x8FE1D7 0x9033 +0x8FE1D8 0x9034 +0x8FE1D9 0x9037 +0x8FE1DA 0x903F +0x8FE1DB 0x9043 +0x8FE1DC 0x9044 +0x8FE1DD 0x904C +0x8FE1DE 0x905B +0x8FE1DF 0x905D +0x8FE1E0 0x9062 +0x8FE1E1 0x9066 +0x8FE1E2 0x9067 +0x8FE1E3 0x906C +0x8FE1E4 0x9070 +0x8FE1E5 0x9074 +0x8FE1E6 0x9079 +0x8FE1E7 0x9085 +0x8FE1E8 0x9088 +0x8FE1E9 0x908B +0x8FE1EA 0x908C +0x8FE1EB 0x908E +0x8FE1EC 0x9090 +0x8FE1ED 0x9095 +0x8FE1EE 0x9097 +0x8FE1EF 0x9098 +0x8FE1F0 0x9099 +0x8FE1F1 0x909B +0x8FE1F2 0x90A0 +0x8FE1F3 0x90A1 +0x8FE1F4 0x90A2 +0x8FE1F5 0x90A5 +0x8FE1F6 0x90B0 +0x8FE1F7 0x90B2 +0x8FE1F8 0x90B3 +0x8FE1F9 0x90B4 +0x8FE1FA 0x90B6 +0x8FE1FB 0x90BD +0x8FE1FC 0x90CC +0x8FE1FD 0x90BE +0x8FE1FE 0x90C3 +0x8FE2A1 0x90C4 +0x8FE2A2 0x90C5 +0x8FE2A3 0x90C7 +0x8FE2A4 0x90C8 +0x8FE2A5 0x90D5 +0x8FE2A6 0x90D7 +0x8FE2A7 0x90D8 +0x8FE2A8 0x90D9 +0x8FE2A9 0x90DC +0x8FE2AA 0x90DD +0x8FE2AB 0x90DF +0x8FE2AC 0x90E5 +0x8FE2AD 0x90D2 +0x8FE2AE 0x90F6 +0x8FE2AF 0x90EB +0x8FE2B0 0x90EF +0x8FE2B1 0x90F0 +0x8FE2B2 0x90F4 +0x8FE2B3 0x90FE +0x8FE2B4 0x90FF +0x8FE2B5 0x9100 +0x8FE2B6 0x9104 +0x8FE2B7 0x9105 +0x8FE2B8 0x9106 +0x8FE2B9 0x9108 +0x8FE2BA 0x910D +0x8FE2BB 0x9110 +0x8FE2BC 0x9114 +0x8FE2BD 0x9116 +0x8FE2BE 0x9117 +0x8FE2BF 0x9118 +0x8FE2C0 0x911A +0x8FE2C1 0x911C +0x8FE2C2 0x911E +0x8FE2C3 0x9120 +0x8FE2C4 0x9125 +0x8FE2C5 0x9122 +0x8FE2C6 0x9123 +0x8FE2C7 0x9127 +0x8FE2C8 0x9129 +0x8FE2C9 0x912E +0x8FE2CA 0x912F +0x8FE2CB 0x9131 +0x8FE2CC 0x9134 +0x8FE2CD 0x9136 +0x8FE2CE 0x9137 +0x8FE2CF 0x9139 +0x8FE2D0 0x913A +0x8FE2D1 0x913C +0x8FE2D2 0x913D +0x8FE2D3 0x9143 +0x8FE2D4 0x9147 +0x8FE2D5 0x9148 +0x8FE2D6 0x914F +0x8FE2D7 0x9153 +0x8FE2D8 0x9157 +0x8FE2D9 0x9159 +0x8FE2DA 0x915A +0x8FE2DB 0x915B +0x8FE2DC 0x9161 +0x8FE2DD 0x9164 +0x8FE2DE 0x9167 +0x8FE2DF 0x916D +0x8FE2E0 0x9174 +0x8FE2E1 0x9179 +0x8FE2E2 0x917A +0x8FE2E3 0x917B +0x8FE2E4 0x9181 +0x8FE2E5 0x9183 +0x8FE2E6 0x9185 +0x8FE2E7 0x9186 +0x8FE2E8 0x918A +0x8FE2E9 0x918E +0x8FE2EA 0x9191 +0x8FE2EB 0x9193 +0x8FE2EC 0x9194 +0x8FE2ED 0x9195 +0x8FE2EE 0x9198 +0x8FE2EF 0x919E +0x8FE2F0 0x91A1 +0x8FE2F1 0x91A6 +0x8FE2F2 0x91A8 +0x8FE2F3 0x91AC +0x8FE2F4 0x91AD +0x8FE2F5 0x91AE +0x8FE2F6 0x91B0 +0x8FE2F7 0x91B1 +0x8FE2F8 0x91B2 +0x8FE2F9 0x91B3 +0x8FE2FA 0x91B6 +0x8FE2FB 0x91BB +0x8FE2FC 0x91BC +0x8FE2FD 0x91BD +0x8FE2FE 0x91BF +0x8FE3A1 0x91C2 +0x8FE3A2 0x91C3 +0x8FE3A3 0x91C5 +0x8FE3A4 0x91D3 +0x8FE3A5 0x91D4 +0x8FE3A6 0x91D7 +0x8FE3A7 0x91D9 +0x8FE3A8 0x91DA +0x8FE3A9 0x91DE +0x8FE3AA 0x91E4 +0x8FE3AB 0x91E5 +0x8FE3AC 0x91E9 +0x8FE3AD 0x91EA +0x8FE3AE 0x91EC +0x8FE3AF 0x91ED +0x8FE3B0 0x91EE +0x8FE3B1 0x91EF +0x8FE3B2 0x91F0 +0x8FE3B3 0x91F1 +0x8FE3B4 0x91F7 +0x8FE3B5 0x91F9 +0x8FE3B6 0x91FB +0x8FE3B7 0x91FD +0x8FE3B8 0x9200 +0x8FE3B9 0x9201 +0x8FE3BA 0x9204 +0x8FE3BB 0x9205 +0x8FE3BC 0x9206 +0x8FE3BD 0x9207 +0x8FE3BE 0x9209 +0x8FE3BF 0x920A +0x8FE3C0 0x920C +0x8FE3C1 0x9210 +0x8FE3C2 0x9212 +0x8FE3C3 0x9213 +0x8FE3C4 0x9216 +0x8FE3C5 0x9218 +0x8FE3C6 0x921C +0x8FE3C7 0x921D +0x8FE3C8 0x9223 +0x8FE3C9 0x9224 +0x8FE3CA 0x9225 +0x8FE3CB 0x9226 +0x8FE3CC 0x9228 +0x8FE3CD 0x922E +0x8FE3CE 0x922F +0x8FE3CF 0x9230 +0x8FE3D0 0x9233 +0x8FE3D1 0x9235 +0x8FE3D2 0x9236 +0x8FE3D3 0x9238 +0x8FE3D4 0x9239 +0x8FE3D5 0x923A +0x8FE3D6 0x923C +0x8FE3D7 0x923E +0x8FE3D8 0x9240 +0x8FE3D9 0x9242 +0x8FE3DA 0x9243 +0x8FE3DB 0x9246 +0x8FE3DC 0x9247 +0x8FE3DD 0x924A +0x8FE3DE 0x924D +0x8FE3DF 0x924E +0x8FE3E0 0x924F +0x8FE3E1 0x9251 +0x8FE3E2 0x9258 +0x8FE3E3 0x9259 +0x8FE3E4 0x925C +0x8FE3E5 0x925D +0x8FE3E6 0x9260 +0x8FE3E7 0x9261 +0x8FE3E8 0x9265 +0x8FE3E9 0x9267 +0x8FE3EA 0x9268 +0x8FE3EB 0x9269 +0x8FE3EC 0x926E +0x8FE3ED 0x926F +0x8FE3EE 0x9270 +0x8FE3EF 0x9275 +0x8FE3F0 0x9276 +0x8FE3F1 0x9277 +0x8FE3F2 0x9278 +0x8FE3F3 0x9279 +0x8FE3F4 0x927B +0x8FE3F5 0x927C +0x8FE3F6 0x927D +0x8FE3F7 0x927F +0x8FE3F8 0x9288 +0x8FE3F9 0x9289 +0x8FE3FA 0x928A +0x8FE3FB 0x928D +0x8FE3FC 0x928E +0x8FE3FD 0x9292 +0x8FE3FE 0x9297 +0x8FE4A1 0x9299 +0x8FE4A2 0x929F +0x8FE4A3 0x92A0 +0x8FE4A4 0x92A4 +0x8FE4A5 0x92A5 +0x8FE4A6 0x92A7 +0x8FE4A7 0x92A8 +0x8FE4A8 0x92AB +0x8FE4A9 0x92AF +0x8FE4AA 0x92B2 +0x8FE4AB 0x92B6 +0x8FE4AC 0x92B8 +0x8FE4AD 0x92BA +0x8FE4AE 0x92BB +0x8FE4AF 0x92BC +0x8FE4B0 0x92BD +0x8FE4B1 0x92BF +0x8FE4B2 0x92C0 +0x8FE4B3 0x92C1 +0x8FE4B4 0x92C2 +0x8FE4B5 0x92C3 +0x8FE4B6 0x92C5 +0x8FE4B7 0x92C6 +0x8FE4B8 0x92C7 +0x8FE4B9 0x92C8 +0x8FE4BA 0x92CB +0x8FE4BB 0x92CC +0x8FE4BC 0x92CD +0x8FE4BD 0x92CE +0x8FE4BE 0x92D0 +0x8FE4BF 0x92D3 +0x8FE4C0 0x92D5 +0x8FE4C1 0x92D7 +0x8FE4C2 0x92D8 +0x8FE4C3 0x92D9 +0x8FE4C4 0x92DC +0x8FE4C5 0x92DD +0x8FE4C6 0x92DF +0x8FE4C7 0x92E0 +0x8FE4C8 0x92E1 +0x8FE4C9 0x92E3 +0x8FE4CA 0x92E5 +0x8FE4CB 0x92E7 +0x8FE4CC 0x92E8 +0x8FE4CD 0x92EC +0x8FE4CE 0x92EE +0x8FE4CF 0x92F0 +0x8FE4D0 0x92F9 +0x8FE4D1 0x92FB +0x8FE4D2 0x92FF +0x8FE4D3 0x9300 +0x8FE4D4 0x9302 +0x8FE4D5 0x9308 +0x8FE4D6 0x930D +0x8FE4D7 0x9311 +0x8FE4D8 0x9314 +0x8FE4D9 0x9315 +0x8FE4DA 0x931C +0x8FE4DB 0x931D +0x8FE4DC 0x931E +0x8FE4DD 0x931F +0x8FE4DE 0x9321 +0x8FE4DF 0x9324 +0x8FE4E0 0x9325 +0x8FE4E1 0x9327 +0x8FE4E2 0x9329 +0x8FE4E3 0x932A +0x8FE4E4 0x9333 +0x8FE4E5 0x9334 +0x8FE4E6 0x9336 +0x8FE4E7 0x9337 +0x8FE4E8 0x9347 +0x8FE4E9 0x9348 +0x8FE4EA 0x9349 +0x8FE4EB 0x9350 +0x8FE4EC 0x9351 +0x8FE4ED 0x9352 +0x8FE4EE 0x9355 +0x8FE4EF 0x9357 +0x8FE4F0 0x9358 +0x8FE4F1 0x935A +0x8FE4F2 0x935E +0x8FE4F3 0x9364 +0x8FE4F4 0x9365 +0x8FE4F5 0x9367 +0x8FE4F6 0x9369 +0x8FE4F7 0x936A +0x8FE4F8 0x936D +0x8FE4F9 0x936F +0x8FE4FA 0x9370 +0x8FE4FB 0x9371 +0x8FE4FC 0x9373 +0x8FE4FD 0x9374 +0x8FE4FE 0x9376 +0x8FE5A1 0x937A +0x8FE5A2 0x937D +0x8FE5A3 0x937F +0x8FE5A4 0x9380 +0x8FE5A5 0x9381 +0x8FE5A6 0x9382 +0x8FE5A7 0x9388 +0x8FE5A8 0x938A +0x8FE5A9 0x938B +0x8FE5AA 0x938D +0x8FE5AB 0x938F +0x8FE5AC 0x9392 +0x8FE5AD 0x9395 +0x8FE5AE 0x9398 +0x8FE5AF 0x939B +0x8FE5B0 0x939E +0x8FE5B1 0x93A1 +0x8FE5B2 0x93A3 +0x8FE5B3 0x93A4 +0x8FE5B4 0x93A6 +0x8FE5B5 0x93A8 +0x8FE5B6 0x93AB +0x8FE5B7 0x93B4 +0x8FE5B8 0x93B5 +0x8FE5B9 0x93B6 +0x8FE5BA 0x93BA +0x8FE5BB 0x93A9 +0x8FE5BC 0x93C1 +0x8FE5BD 0x93C4 +0x8FE5BE 0x93C5 +0x8FE5BF 0x93C6 +0x8FE5C0 0x93C7 +0x8FE5C1 0x93C9 +0x8FE5C2 0x93CA +0x8FE5C3 0x93CB +0x8FE5C4 0x93CC +0x8FE5C5 0x93CD +0x8FE5C6 0x93D3 +0x8FE5C7 0x93D9 +0x8FE5C8 0x93DC +0x8FE5C9 0x93DE +0x8FE5CA 0x93DF +0x8FE5CB 0x93E2 +0x8FE5CC 0x93E6 +0x8FE5CD 0x93E7 +0x8FE5CE 0x93F9 +0x8FE5CF 0x93F7 +0x8FE5D0 0x93F8 +0x8FE5D1 0x93FA +0x8FE5D2 0x93FB +0x8FE5D3 0x93FD +0x8FE5D4 0x9401 +0x8FE5D5 0x9402 +0x8FE5D6 0x9404 +0x8FE5D7 0x9408 +0x8FE5D8 0x9409 +0x8FE5D9 0x940D +0x8FE5DA 0x940E +0x8FE5DB 0x940F +0x8FE5DC 0x9415 +0x8FE5DD 0x9416 +0x8FE5DE 0x9417 +0x8FE5DF 0x941F +0x8FE5E0 0x942E +0x8FE5E1 0x942F +0x8FE5E2 0x9431 +0x8FE5E3 0x9432 +0x8FE5E4 0x9433 +0x8FE5E5 0x9434 +0x8FE5E6 0x943B +0x8FE5E7 0x943F +0x8FE5E8 0x943D +0x8FE5E9 0x9443 +0x8FE5EA 0x9445 +0x8FE5EB 0x9448 +0x8FE5EC 0x944A +0x8FE5ED 0x944C +0x8FE5EE 0x9455 +0x8FE5EF 0x9459 +0x8FE5F0 0x945C +0x8FE5F1 0x945F +0x8FE5F2 0x9461 +0x8FE5F3 0x9463 +0x8FE5F4 0x9468 +0x8FE5F5 0x946B +0x8FE5F6 0x946D +0x8FE5F7 0x946E +0x8FE5F8 0x946F +0x8FE5F9 0x9471 +0x8FE5FA 0x9472 +0x8FE5FB 0x9484 +0x8FE5FC 0x9483 +0x8FE5FD 0x9578 +0x8FE5FE 0x9579 +0x8FE6A1 0x957E +0x8FE6A2 0x9584 +0x8FE6A3 0x9588 +0x8FE6A4 0x958C +0x8FE6A5 0x958D +0x8FE6A6 0x958E +0x8FE6A7 0x959D +0x8FE6A8 0x959E +0x8FE6A9 0x959F +0x8FE6AA 0x95A1 +0x8FE6AB 0x95A6 +0x8FE6AC 0x95A9 +0x8FE6AD 0x95AB +0x8FE6AE 0x95AC +0x8FE6AF 0x95B4 +0x8FE6B0 0x95B6 +0x8FE6B1 0x95BA +0x8FE6B2 0x95BD +0x8FE6B3 0x95BF +0x8FE6B4 0x95C6 +0x8FE6B5 0x95C8 +0x8FE6B6 0x95C9 +0x8FE6B7 0x95CB +0x8FE6B8 0x95D0 +0x8FE6B9 0x95D1 +0x8FE6BA 0x95D2 +0x8FE6BB 0x95D3 +0x8FE6BC 0x95D9 +0x8FE6BD 0x95DA +0x8FE6BE 0x95DD +0x8FE6BF 0x95DE +0x8FE6C0 0x95DF +0x8FE6C1 0x95E0 +0x8FE6C2 0x95E4 +0x8FE6C3 0x95E6 +0x8FE6C4 0x961D +0x8FE6C5 0x961E +0x8FE6C6 0x9622 +0x8FE6C7 0x9624 +0x8FE6C8 0x9625 +0x8FE6C9 0x9626 +0x8FE6CA 0x962C +0x8FE6CB 0x9631 +0x8FE6CC 0x9633 +0x8FE6CD 0x9637 +0x8FE6CE 0x9638 +0x8FE6CF 0x9639 +0x8FE6D0 0x963A +0x8FE6D1 0x963C +0x8FE6D2 0x963D +0x8FE6D3 0x9641 +0x8FE6D4 0x9652 +0x8FE6D5 0x9654 +0x8FE6D6 0x9656 +0x8FE6D7 0x9657 +0x8FE6D8 0x9658 +0x8FE6D9 0x9661 +0x8FE6DA 0x966E +0x8FE6DB 0x9674 +0x8FE6DC 0x967B +0x8FE6DD 0x967C +0x8FE6DE 0x967E +0x8FE6DF 0x967F +0x8FE6E0 0x9681 +0x8FE6E1 0x9682 +0x8FE6E2 0x9683 +0x8FE6E3 0x9684 +0x8FE6E4 0x9689 +0x8FE6E5 0x9691 +0x8FE6E6 0x9696 +0x8FE6E7 0x969A +0x8FE6E8 0x969D +0x8FE6E9 0x969F +0x8FE6EA 0x96A4 +0x8FE6EB 0x96A5 +0x8FE6EC 0x96A6 +0x8FE6ED 0x96A9 +0x8FE6EE 0x96AE +0x8FE6EF 0x96AF +0x8FE6F0 0x96B3 +0x8FE6F1 0x96BA +0x8FE6F2 0x96CA +0x8FE6F3 0x96D2 +0x8FE6F4 0x5DB2 +0x8FE6F5 0x96D8 +0x8FE6F6 0x96DA +0x8FE6F7 0x96DD +0x8FE6F8 0x96DE +0x8FE6F9 0x96DF +0x8FE6FA 0x96E9 +0x8FE6FB 0x96EF +0x8FE6FC 0x96F1 +0x8FE6FD 0x96FA +0x8FE6FE 0x9702 +0x8FE7A1 0x9703 +0x8FE7A2 0x9705 +0x8FE7A3 0x9709 +0x8FE7A4 0x971A +0x8FE7A5 0x971B +0x8FE7A6 0x971D +0x8FE7A7 0x9721 +0x8FE7A8 0x9722 +0x8FE7A9 0x9723 +0x8FE7AA 0x9728 +0x8FE7AB 0x9731 +0x8FE7AC 0x9733 +0x8FE7AD 0x9741 +0x8FE7AE 0x9743 +0x8FE7AF 0x974A +0x8FE7B0 0x974E +0x8FE7B1 0x974F +0x8FE7B2 0x9755 +0x8FE7B3 0x9757 +0x8FE7B4 0x9758 +0x8FE7B5 0x975A +0x8FE7B6 0x975B +0x8FE7B7 0x9763 +0x8FE7B8 0x9767 +0x8FE7B9 0x976A +0x8FE7BA 0x976E +0x8FE7BB 0x9773 +0x8FE7BC 0x9776 +0x8FE7BD 0x9777 +0x8FE7BE 0x9778 +0x8FE7BF 0x977B +0x8FE7C0 0x977D +0x8FE7C1 0x977F +0x8FE7C2 0x9780 +0x8FE7C3 0x9789 +0x8FE7C4 0x9795 +0x8FE7C5 0x9796 +0x8FE7C6 0x9797 +0x8FE7C7 0x9799 +0x8FE7C8 0x979A +0x8FE7C9 0x979E +0x8FE7CA 0x979F +0x8FE7CB 0x97A2 +0x8FE7CC 0x97AC +0x8FE7CD 0x97AE +0x8FE7CE 0x97B1 +0x8FE7CF 0x97B2 +0x8FE7D0 0x97B5 +0x8FE7D1 0x97B6 +0x8FE7D2 0x97B8 +0x8FE7D3 0x97B9 +0x8FE7D4 0x97BA +0x8FE7D5 0x97BC +0x8FE7D6 0x97BE +0x8FE7D7 0x97BF +0x8FE7D8 0x97C1 +0x8FE7D9 0x97C4 +0x8FE7DA 0x97C5 +0x8FE7DB 0x97C7 +0x8FE7DC 0x97C9 +0x8FE7DD 0x97CA +0x8FE7DE 0x97CC +0x8FE7DF 0x97CD +0x8FE7E0 0x97CE +0x8FE7E1 0x97D0 +0x8FE7E2 0x97D1 +0x8FE7E3 0x97D4 +0x8FE7E4 0x97D7 +0x8FE7E5 0x97D8 +0x8FE7E6 0x97D9 +0x8FE7E7 0x97DD +0x8FE7E8 0x97DE +0x8FE7E9 0x97E0 +0x8FE7EA 0x97DB +0x8FE7EB 0x97E1 +0x8FE7EC 0x97E4 +0x8FE7ED 0x97EF +0x8FE7EE 0x97F1 +0x8FE7EF 0x97F4 +0x8FE7F0 0x97F7 +0x8FE7F1 0x97F8 +0x8FE7F2 0x97FA +0x8FE7F3 0x9807 +0x8FE7F4 0x980A +0x8FE7F5 0x9819 +0x8FE7F6 0x980D +0x8FE7F7 0x980E +0x8FE7F8 0x9814 +0x8FE7F9 0x9816 +0x8FE7FA 0x981C +0x8FE7FB 0x981E +0x8FE7FC 0x9820 +0x8FE7FD 0x9823 +0x8FE7FE 0x9826 +0x8FE8A1 0x982B +0x8FE8A2 0x982E +0x8FE8A3 0x982F +0x8FE8A4 0x9830 +0x8FE8A5 0x9832 +0x8FE8A6 0x9833 +0x8FE8A7 0x9835 +0x8FE8A8 0x9825 +0x8FE8A9 0x983E +0x8FE8AA 0x9844 +0x8FE8AB 0x9847 +0x8FE8AC 0x984A +0x8FE8AD 0x9851 +0x8FE8AE 0x9852 +0x8FE8AF 0x9853 +0x8FE8B0 0x9856 +0x8FE8B1 0x9857 +0x8FE8B2 0x9859 +0x8FE8B3 0x985A +0x8FE8B4 0x9862 +0x8FE8B5 0x9863 +0x8FE8B6 0x9865 +0x8FE8B7 0x9866 +0x8FE8B8 0x986A +0x8FE8B9 0x986C +0x8FE8BA 0x98AB +0x8FE8BB 0x98AD +0x8FE8BC 0x98AE +0x8FE8BD 0x98B0 +0x8FE8BE 0x98B4 +0x8FE8BF 0x98B7 +0x8FE8C0 0x98B8 +0x8FE8C1 0x98BA +0x8FE8C2 0x98BB +0x8FE8C3 0x98BF +0x8FE8C4 0x98C2 +0x8FE8C5 0x98C5 +0x8FE8C6 0x98C8 +0x8FE8C7 0x98CC +0x8FE8C8 0x98E1 +0x8FE8C9 0x98E3 +0x8FE8CA 0x98E5 +0x8FE8CB 0x98E6 +0x8FE8CC 0x98E7 +0x8FE8CD 0x98EA +0x8FE8CE 0x98F3 +0x8FE8CF 0x98F6 +0x8FE8D0 0x9902 +0x8FE8D1 0x9907 +0x8FE8D2 0x9908 +0x8FE8D3 0x9911 +0x8FE8D4 0x9915 +0x8FE8D5 0x9916 +0x8FE8D6 0x9917 +0x8FE8D7 0x991A +0x8FE8D8 0x991B +0x8FE8D9 0x991C +0x8FE8DA 0x991F +0x8FE8DB 0x9922 +0x8FE8DC 0x9926 +0x8FE8DD 0x9927 +0x8FE8DE 0x992B +0x8FE8DF 0x9931 +0x8FE8E0 0x9932 +0x8FE8E1 0x9933 +0x8FE8E2 0x9934 +0x8FE8E3 0x9935 +0x8FE8E4 0x9939 +0x8FE8E5 0x993A +0x8FE8E6 0x993B +0x8FE8E7 0x993C +0x8FE8E8 0x9940 +0x8FE8E9 0x9941 +0x8FE8EA 0x9946 +0x8FE8EB 0x9947 +0x8FE8EC 0x9948 +0x8FE8ED 0x994D +0x8FE8EE 0x994E +0x8FE8EF 0x9954 +0x8FE8F0 0x9958 +0x8FE8F1 0x9959 +0x8FE8F2 0x995B +0x8FE8F3 0x995C +0x8FE8F4 0x995E +0x8FE8F5 0x995F +0x8FE8F6 0x9960 +0x8FE8F7 0x999B +0x8FE8F8 0x999D +0x8FE8F9 0x999F +0x8FE8FA 0x99A6 +0x8FE8FB 0x99B0 +0x8FE8FC 0x99B1 +0x8FE8FD 0x99B2 +0x8FE8FE 0x99B5 +0x8FE9A1 0x99B9 +0x8FE9A2 0x99BA +0x8FE9A3 0x99BD +0x8FE9A4 0x99BF +0x8FE9A5 0x99C3 +0x8FE9A6 0x99C9 +0x8FE9A7 0x99D3 +0x8FE9A8 0x99D4 +0x8FE9A9 0x99D9 +0x8FE9AA 0x99DA +0x8FE9AB 0x99DC +0x8FE9AC 0x99DE +0x8FE9AD 0x99E7 +0x8FE9AE 0x99EA +0x8FE9AF 0x99EB +0x8FE9B0 0x99EC +0x8FE9B1 0x99F0 +0x8FE9B2 0x99F4 +0x8FE9B3 0x99F5 +0x8FE9B4 0x99F9 +0x8FE9B5 0x99FD +0x8FE9B6 0x99FE +0x8FE9B7 0x9A02 +0x8FE9B8 0x9A03 +0x8FE9B9 0x9A04 +0x8FE9BA 0x9A0B +0x8FE9BB 0x9A0C +0x8FE9BC 0x9A10 +0x8FE9BD 0x9A11 +0x8FE9BE 0x9A16 +0x8FE9BF 0x9A1E +0x8FE9C0 0x9A20 +0x8FE9C1 0x9A22 +0x8FE9C2 0x9A23 +0x8FE9C3 0x9A24 +0x8FE9C4 0x9A27 +0x8FE9C5 0x9A2D +0x8FE9C6 0x9A2E +0x8FE9C7 0x9A33 +0x8FE9C8 0x9A35 +0x8FE9C9 0x9A36 +0x8FE9CA 0x9A38 +0x8FE9CB 0x9A47 +0x8FE9CC 0x9A41 +0x8FE9CD 0x9A44 +0x8FE9CE 0x9A4A +0x8FE9CF 0x9A4B +0x8FE9D0 0x9A4C +0x8FE9D1 0x9A4E +0x8FE9D2 0x9A51 +0x8FE9D3 0x9A54 +0x8FE9D4 0x9A56 +0x8FE9D5 0x9A5D +0x8FE9D6 0x9AAA +0x8FE9D7 0x9AAC +0x8FE9D8 0x9AAE +0x8FE9D9 0x9AAF +0x8FE9DA 0x9AB2 +0x8FE9DB 0x9AB4 +0x8FE9DC 0x9AB5 +0x8FE9DD 0x9AB6 +0x8FE9DE 0x9AB9 +0x8FE9DF 0x9ABB +0x8FE9E0 0x9ABE +0x8FE9E1 0x9ABF +0x8FE9E2 0x9AC1 +0x8FE9E3 0x9AC3 +0x8FE9E4 0x9AC6 +0x8FE9E5 0x9AC8 +0x8FE9E6 0x9ACE +0x8FE9E7 0x9AD0 +0x8FE9E8 0x9AD2 +0x8FE9E9 0x9AD5 +0x8FE9EA 0x9AD6 +0x8FE9EB 0x9AD7 +0x8FE9EC 0x9ADB +0x8FE9ED 0x9ADC +0x8FE9EE 0x9AE0 +0x8FE9EF 0x9AE4 +0x8FE9F0 0x9AE5 +0x8FE9F1 0x9AE7 +0x8FE9F2 0x9AE9 +0x8FE9F3 0x9AEC +0x8FE9F4 0x9AF2 +0x8FE9F5 0x9AF3 +0x8FE9F6 0x9AF5 +0x8FE9F7 0x9AF9 +0x8FE9F8 0x9AFA +0x8FE9F9 0x9AFD +0x8FE9FA 0x9AFF +0x8FE9FB 0x9B00 +0x8FE9FC 0x9B01 +0x8FE9FD 0x9B02 +0x8FE9FE 0x9B03 +0x8FEAA1 0x9B04 +0x8FEAA2 0x9B05 +0x8FEAA3 0x9B08 +0x8FEAA4 0x9B09 +0x8FEAA5 0x9B0B +0x8FEAA6 0x9B0C +0x8FEAA7 0x9B0D +0x8FEAA8 0x9B0E +0x8FEAA9 0x9B10 +0x8FEAAA 0x9B12 +0x8FEAAB 0x9B16 +0x8FEAAC 0x9B19 +0x8FEAAD 0x9B1B +0x8FEAAE 0x9B1C +0x8FEAAF 0x9B20 +0x8FEAB0 0x9B26 +0x8FEAB1 0x9B2B +0x8FEAB2 0x9B2D +0x8FEAB3 0x9B33 +0x8FEAB4 0x9B34 +0x8FEAB5 0x9B35 +0x8FEAB6 0x9B37 +0x8FEAB7 0x9B39 +0x8FEAB8 0x9B3A +0x8FEAB9 0x9B3D +0x8FEABA 0x9B48 +0x8FEABB 0x9B4B +0x8FEABC 0x9B4C +0x8FEABD 0x9B55 +0x8FEABE 0x9B56 +0x8FEABF 0x9B57 +0x8FEAC0 0x9B5B +0x8FEAC1 0x9B5E +0x8FEAC2 0x9B61 +0x8FEAC3 0x9B63 +0x8FEAC4 0x9B65 +0x8FEAC5 0x9B66 +0x8FEAC6 0x9B68 +0x8FEAC7 0x9B6A +0x8FEAC8 0x9B6B +0x8FEAC9 0x9B6C +0x8FEACA 0x9B6D +0x8FEACB 0x9B6E +0x8FEACC 0x9B73 +0x8FEACD 0x9B75 +0x8FEACE 0x9B77 +0x8FEACF 0x9B78 +0x8FEAD0 0x9B79 +0x8FEAD1 0x9B7F +0x8FEAD2 0x9B80 +0x8FEAD3 0x9B84 +0x8FEAD4 0x9B85 +0x8FEAD5 0x9B86 +0x8FEAD6 0x9B87 +0x8FEAD7 0x9B89 +0x8FEAD8 0x9B8A +0x8FEAD9 0x9B8B +0x8FEADA 0x9B8D +0x8FEADB 0x9B8F +0x8FEADC 0x9B90 +0x8FEADD 0x9B94 +0x8FEADE 0x9B9A +0x8FEADF 0x9B9D +0x8FEAE0 0x9B9E +0x8FEAE1 0x9BA6 +0x8FEAE2 0x9BA7 +0x8FEAE3 0x9BA9 +0x8FEAE4 0x9BAC +0x8FEAE5 0x9BB0 +0x8FEAE6 0x9BB1 +0x8FEAE7 0x9BB2 +0x8FEAE8 0x9BB7 +0x8FEAE9 0x9BB8 +0x8FEAEA 0x9BBB +0x8FEAEB 0x9BBC +0x8FEAEC 0x9BBE +0x8FEAED 0x9BBF +0x8FEAEE 0x9BC1 +0x8FEAEF 0x9BC7 +0x8FEAF0 0x9BC8 +0x8FEAF1 0x9BCE +0x8FEAF2 0x9BD0 +0x8FEAF3 0x9BD7 +0x8FEAF4 0x9BD8 +0x8FEAF5 0x9BDD +0x8FEAF6 0x9BDF +0x8FEAF7 0x9BE5 +0x8FEAF8 0x9BE7 +0x8FEAF9 0x9BEA +0x8FEAFA 0x9BEB +0x8FEAFB 0x9BEF +0x8FEAFC 0x9BF3 +0x8FEAFD 0x9BF7 +0x8FEAFE 0x9BF8 +0x8FEBA1 0x9BF9 +0x8FEBA2 0x9BFA +0x8FEBA3 0x9BFD +0x8FEBA4 0x9BFF +0x8FEBA5 0x9C00 +0x8FEBA6 0x9C02 +0x8FEBA7 0x9C0B +0x8FEBA8 0x9C0F +0x8FEBA9 0x9C11 +0x8FEBAA 0x9C16 +0x8FEBAB 0x9C18 +0x8FEBAC 0x9C19 +0x8FEBAD 0x9C1A +0x8FEBAE 0x9C1C +0x8FEBAF 0x9C1E +0x8FEBB0 0x9C22 +0x8FEBB1 0x9C23 +0x8FEBB2 0x9C26 +0x8FEBB3 0x9C27 +0x8FEBB4 0x9C28 +0x8FEBB5 0x9C29 +0x8FEBB6 0x9C2A +0x8FEBB7 0x9C31 +0x8FEBB8 0x9C35 +0x8FEBB9 0x9C36 +0x8FEBBA 0x9C37 +0x8FEBBB 0x9C3D +0x8FEBBC 0x9C41 +0x8FEBBD 0x9C43 +0x8FEBBE 0x9C44 +0x8FEBBF 0x9C45 +0x8FEBC0 0x9C49 +0x8FEBC1 0x9C4A +0x8FEBC2 0x9C4E +0x8FEBC3 0x9C4F +0x8FEBC4 0x9C50 +0x8FEBC5 0x9C53 +0x8FEBC6 0x9C54 +0x8FEBC7 0x9C56 +0x8FEBC8 0x9C58 +0x8FEBC9 0x9C5B +0x8FEBCA 0x9C5D +0x8FEBCB 0x9C5E +0x8FEBCC 0x9C5F +0x8FEBCD 0x9C63 +0x8FEBCE 0x9C69 +0x8FEBCF 0x9C6A +0x8FEBD0 0x9C5C +0x8FEBD1 0x9C6B +0x8FEBD2 0x9C68 +0x8FEBD3 0x9C6E +0x8FEBD4 0x9C70 +0x8FEBD5 0x9C72 +0x8FEBD6 0x9C75 +0x8FEBD7 0x9C77 +0x8FEBD8 0x9C7B +0x8FEBD9 0x9CE6 +0x8FEBDA 0x9CF2 +0x8FEBDB 0x9CF7 +0x8FEBDC 0x9CF9 +0x8FEBDD 0x9D0B +0x8FEBDE 0x9D02 +0x8FEBDF 0x9D11 +0x8FEBE0 0x9D17 +0x8FEBE1 0x9D18 +0x8FEBE2 0x9D1C +0x8FEBE3 0x9D1D +0x8FEBE4 0x9D1E +0x8FEBE5 0x9D2F +0x8FEBE6 0x9D30 +0x8FEBE7 0x9D32 +0x8FEBE8 0x9D33 +0x8FEBE9 0x9D34 +0x8FEBEA 0x9D3A +0x8FEBEB 0x9D3C +0x8FEBEC 0x9D45 +0x8FEBED 0x9D3D +0x8FEBEE 0x9D42 +0x8FEBEF 0x9D43 +0x8FEBF0 0x9D47 +0x8FEBF1 0x9D4A +0x8FEBF2 0x9D53 +0x8FEBF3 0x9D54 +0x8FEBF4 0x9D5F +0x8FEBF5 0x9D63 +0x8FEBF6 0x9D62 +0x8FEBF7 0x9D65 +0x8FEBF8 0x9D69 +0x8FEBF9 0x9D6A +0x8FEBFA 0x9D6B +0x8FEBFB 0x9D70 +0x8FEBFC 0x9D76 +0x8FEBFD 0x9D77 +0x8FEBFE 0x9D7B +0x8FECA1 0x9D7C +0x8FECA2 0x9D7E +0x8FECA3 0x9D83 +0x8FECA4 0x9D84 +0x8FECA5 0x9D86 +0x8FECA6 0x9D8A +0x8FECA7 0x9D8D +0x8FECA8 0x9D8E +0x8FECA9 0x9D92 +0x8FECAA 0x9D93 +0x8FECAB 0x9D95 +0x8FECAC 0x9D96 +0x8FECAD 0x9D97 +0x8FECAE 0x9D98 +0x8FECAF 0x9DA1 +0x8FECB0 0x9DAA +0x8FECB1 0x9DAC +0x8FECB2 0x9DAE +0x8FECB3 0x9DB1 +0x8FECB4 0x9DB5 +0x8FECB5 0x9DB9 +0x8FECB6 0x9DBC +0x8FECB7 0x9DBF +0x8FECB8 0x9DC3 +0x8FECB9 0x9DC7 +0x8FECBA 0x9DC9 +0x8FECBB 0x9DCA +0x8FECBC 0x9DD4 +0x8FECBD 0x9DD5 +0x8FECBE 0x9DD6 +0x8FECBF 0x9DD7 +0x8FECC0 0x9DDA +0x8FECC1 0x9DDE +0x8FECC2 0x9DDF +0x8FECC3 0x9DE0 +0x8FECC4 0x9DE5 +0x8FECC5 0x9DE7 +0x8FECC6 0x9DE9 +0x8FECC7 0x9DEB +0x8FECC8 0x9DEE +0x8FECC9 0x9DF0 +0x8FECCA 0x9DF3 +0x8FECCB 0x9DF4 +0x8FECCC 0x9DFE +0x8FECCD 0x9E0A +0x8FECCE 0x9E02 +0x8FECCF 0x9E07 +0x8FECD0 0x9E0E +0x8FECD1 0x9E10 +0x8FECD2 0x9E11 +0x8FECD3 0x9E12 +0x8FECD4 0x9E15 +0x8FECD5 0x9E16 +0x8FECD6 0x9E19 +0x8FECD7 0x9E1C +0x8FECD8 0x9E1D +0x8FECD9 0x9E7A +0x8FECDA 0x9E7B +0x8FECDB 0x9E7C +0x8FECDC 0x9E80 +0x8FECDD 0x9E82 +0x8FECDE 0x9E83 +0x8FECDF 0x9E84 +0x8FECE0 0x9E85 +0x8FECE1 0x9E87 +0x8FECE2 0x9E8E +0x8FECE3 0x9E8F +0x8FECE4 0x9E96 +0x8FECE5 0x9E98 +0x8FECE6 0x9E9B +0x8FECE7 0x9E9E +0x8FECE8 0x9EA4 +0x8FECE9 0x9EA8 +0x8FECEA 0x9EAC +0x8FECEB 0x9EAE +0x8FECEC 0x9EAF +0x8FECED 0x9EB0 +0x8FECEE 0x9EB3 +0x8FECEF 0x9EB4 +0x8FECF0 0x9EB5 +0x8FECF1 0x9EC6 +0x8FECF2 0x9EC8 +0x8FECF3 0x9ECB +0x8FECF4 0x9ED5 +0x8FECF5 0x9EDF +0x8FECF6 0x9EE4 +0x8FECF7 0x9EE7 +0x8FECF8 0x9EEC +0x8FECF9 0x9EED +0x8FECFA 0x9EEE +0x8FECFB 0x9EF0 +0x8FECFC 0x9EF1 +0x8FECFD 0x9EF2 +0x8FECFE 0x9EF5 +0x8FEDA1 0x9EF8 +0x8FEDA2 0x9EFF +0x8FEDA3 0x9F02 +0x8FEDA4 0x9F03 +0x8FEDA5 0x9F09 +0x8FEDA6 0x9F0F +0x8FEDA7 0x9F10 +0x8FEDA8 0x9F11 +0x8FEDA9 0x9F12 +0x8FEDAA 0x9F14 +0x8FEDAB 0x9F16 +0x8FEDAC 0x9F17 +0x8FEDAD 0x9F19 +0x8FEDAE 0x9F1A +0x8FEDAF 0x9F1B +0x8FEDB0 0x9F1F +0x8FEDB1 0x9F22 +0x8FEDB2 0x9F26 +0x8FEDB3 0x9F2A +0x8FEDB4 0x9F2B +0x8FEDB5 0x9F2F +0x8FEDB6 0x9F31 +0x8FEDB7 0x9F32 +0x8FEDB8 0x9F34 +0x8FEDB9 0x9F37 +0x8FEDBA 0x9F39 +0x8FEDBB 0x9F3A +0x8FEDBC 0x9F3C +0x8FEDBD 0x9F3D +0x8FEDBE 0x9F3F +0x8FEDBF 0x9F41 +0x8FEDC0 0x9F43 +0x8FEDC1 0x9F44 +0x8FEDC2 0x9F45 +0x8FEDC3 0x9F46 +0x8FEDC4 0x9F47 +0x8FEDC5 0x9F53 +0x8FEDC6 0x9F55 +0x8FEDC7 0x9F56 +0x8FEDC8 0x9F57 +0x8FEDC9 0x9F58 +0x8FEDCA 0x9F5A +0x8FEDCB 0x9F5D +0x8FEDCC 0x9F5E +0x8FEDCD 0x9F68 +0x8FEDCE 0x9F69 +0x8FEDCF 0x9F6D +0x8FEDD0 0x9F6E +0x8FEDD1 0x9F6F +0x8FEDD2 0x9F70 +0x8FEDD3 0x9F71 +0x8FEDD4 0x9F73 +0x8FEDD5 0x9F75 +0x8FEDD6 0x9F7A +0x8FEDD7 0x9F7D +0x8FEDD8 0x9F8F +0x8FEDD9 0x9F90 +0x8FEDDA 0x9F91 +0x8FEDDB 0x9F92 +0x8FEDDC 0x9F94 +0x8FEDDD 0x9F96 +0x8FEDDE 0x9F97 +0x8FEDDF 0x9F9E +0x8FEDE0 0x9FA1 +0x8FEDE1 0x9FA2 +0x8FEDE2 0x9FA3 +0x8FEDE3 0x9FA5 +0xA1A1 0x3000 +0xA1A2 0x3001 +0xA1A3 0x3002 +0xA1A4 0xFF0C +0xA1A5 0xFF0E +0xA1A6 0x30FB +0xA1A7 0xFF1A +0xA1A8 0xFF1B +0xA1A9 0xFF1F +0xA1AA 0xFF01 +0xA1AB 0x309B +0xA1AC 0x309C +0xA1AD 0x00B4 +0xA1AE 0xFF40 +0xA1AF 0x00A8 +0xA1B0 0xFF3E +0xA1B1 0xFFE3 +0xA1B2 0xFF3F +0xA1B3 0x30FD +0xA1B4 0x30FE +0xA1B5 0x309D +0xA1B6 0x309E +0xA1B7 0x3003 +0xA1B8 0x4EDD +0xA1B9 0x3005 +0xA1BA 0x3006 +0xA1BB 0x3007 +0xA1BC 0x30FC +0xA1BD 0x2015 +0xA1BE 0x2010 +0xA1BF 0xFF0F +0xA1C0 0x005C +0xA1C1 0x301C +0xA1C2 0x2016 +0xA1C3 0xFF5C +0xA1C4 0x2026 +0xA1C5 0x2025 +0xA1C6 0x2018 +0xA1C7 0x2019 +0xA1C8 0x201C +0xA1C9 0x201D +0xA1CA 0xFF08 +0xA1CB 0xFF09 +0xA1CC 0x3014 +0xA1CD 0x3015 +0xA1CE 0xFF3B +0xA1CF 0xFF3D +0xA1D0 0xFF5B +0xA1D1 0xFF5D +0xA1D2 0x3008 +0xA1D3 0x3009 +0xA1D4 0x300A +0xA1D5 0x300B +0xA1D6 0x300C +0xA1D7 0x300D +0xA1D8 0x300E +0xA1D9 0x300F +0xA1DA 0x3010 +0xA1DB 0x3011 +0xA1DC 0xFF0B +0xA1DD 0x2212 +0xA1DE 0x00B1 +0xA1DF 0x00D7 +0xA1E0 0x00F7 +0xA1E1 0xFF1D +0xA1E2 0x2260 +0xA1E3 0xFF1C +0xA1E4 0xFF1E +0xA1E5 0x2266 +0xA1E6 0x2267 +0xA1E7 0x221E +0xA1E8 0x2234 +0xA1E9 0x2642 +0xA1EA 0x2640 +0xA1EB 0x00B0 +0xA1EC 0x2032 +0xA1ED 0x2033 +0xA1EE 0x2103 +0xA1EF 0xFFE5 +0xA1F0 0xFF04 +0xA1F1 0x00A2 +0xA1F2 0x00A3 +0xA1F3 0xFF05 +0xA1F4 0xFF03 +0xA1F5 0xFF06 +0xA1F6 0xFF0A +0xA1F7 0xFF20 +0xA1F8 0x00A7 +0xA1F9 0x2606 +0xA1FA 0x2605 +0xA1FB 0x25CB +0xA1FC 0x25CF +0xA1FD 0x25CE +0xA1FE 0x25C7 +0xA2A1 0x25C6 +0xA2A2 0x25A1 +0xA2A3 0x25A0 +0xA2A4 0x25B3 +0xA2A5 0x25B2 +0xA2A6 0x25BD +0xA2A7 0x25BC +0xA2A8 0x203B +0xA2A9 0x3012 +0xA2AA 0x2192 +0xA2AB 0x2190 +0xA2AC 0x2191 +0xA2AD 0x2193 +0xA2AE 0x3013 +0xA2BA 0x2208 +0xA2BB 0x220B +0xA2BC 0x2286 +0xA2BD 0x2287 +0xA2BE 0x2282 +0xA2BF 0x2283 +0xA2C0 0x222A +0xA2C1 0x2229 +0xA2CA 0x2227 +0xA2CB 0x2228 +0xA2CC 0x00AC +0xA2CD 0x21D2 +0xA2CE 0x21D4 +0xA2CF 0x2200 +0xA2D0 0x2203 +0xA2DC 0x2220 +0xA2DD 0x22A5 +0xA2DE 0x2312 +0xA2DF 0x2202 +0xA2E0 0x2207 +0xA2E1 0x2261 +0xA2E2 0x2252 +0xA2E3 0x226A +0xA2E4 0x226B +0xA2E5 0x221A +0xA2E6 0x223D +0xA2E7 0x221D +0xA2E8 0x2235 +0xA2E9 0x222B +0xA2EA 0x222C +0xA2F2 0x212B +0xA2F3 0x2030 +0xA2F4 0x266F +0xA2F5 0x266D +0xA2F6 0x266A +0xA2F7 0x2020 +0xA2F8 0x2021 +0xA2F9 0x00B6 +0xA2FE 0x25EF +0xA3B0 0xFF10 +0xA3B1 0xFF11 +0xA3B2 0xFF12 +0xA3B3 0xFF13 +0xA3B4 0xFF14 +0xA3B5 0xFF15 +0xA3B6 0xFF16 +0xA3B7 0xFF17 +0xA3B8 0xFF18 +0xA3B9 0xFF19 +0xA3C1 0xFF21 +0xA3C2 0xFF22 +0xA3C3 0xFF23 +0xA3C4 0xFF24 +0xA3C5 0xFF25 +0xA3C6 0xFF26 +0xA3C7 0xFF27 +0xA3C8 0xFF28 +0xA3C9 0xFF29 +0xA3CA 0xFF2A +0xA3CB 0xFF2B +0xA3CC 0xFF2C +0xA3CD 0xFF2D +0xA3CE 0xFF2E +0xA3CF 0xFF2F +0xA3D0 0xFF30 +0xA3D1 0xFF31 +0xA3D2 0xFF32 +0xA3D3 0xFF33 +0xA3D4 0xFF34 +0xA3D5 0xFF35 +0xA3D6 0xFF36 +0xA3D7 0xFF37 +0xA3D8 0xFF38 +0xA3D9 0xFF39 +0xA3DA 0xFF3A +0xA3E1 0xFF41 +0xA3E2 0xFF42 +0xA3E3 0xFF43 +0xA3E4 0xFF44 +0xA3E5 0xFF45 +0xA3E6 0xFF46 +0xA3E7 0xFF47 +0xA3E8 0xFF48 +0xA3E9 0xFF49 +0xA3EA 0xFF4A +0xA3EB 0xFF4B +0xA3EC 0xFF4C +0xA3ED 0xFF4D +0xA3EE 0xFF4E +0xA3EF 0xFF4F +0xA3F0 0xFF50 +0xA3F1 0xFF51 +0xA3F2 0xFF52 +0xA3F3 0xFF53 +0xA3F4 0xFF54 +0xA3F5 0xFF55 +0xA3F6 0xFF56 +0xA3F7 0xFF57 +0xA3F8 0xFF58 +0xA3F9 0xFF59 +0xA3FA 0xFF5A +0xA4A1 0x3041 +0xA4A2 0x3042 +0xA4A3 0x3043 +0xA4A4 0x3044 +0xA4A5 0x3045 +0xA4A6 0x3046 +0xA4A7 0x3047 +0xA4A8 0x3048 +0xA4A9 0x3049 +0xA4AA 0x304A +0xA4AB 0x304B +0xA4AC 0x304C +0xA4AD 0x304D +0xA4AE 0x304E +0xA4AF 0x304F +0xA4B0 0x3050 +0xA4B1 0x3051 +0xA4B2 0x3052 +0xA4B3 0x3053 +0xA4B4 0x3054 +0xA4B5 0x3055 +0xA4B6 0x3056 +0xA4B7 0x3057 +0xA4B8 0x3058 +0xA4B9 0x3059 +0xA4BA 0x305A +0xA4BB 0x305B +0xA4BC 0x305C +0xA4BD 0x305D +0xA4BE 0x305E +0xA4BF 0x305F +0xA4C0 0x3060 +0xA4C1 0x3061 +0xA4C2 0x3062 +0xA4C3 0x3063 +0xA4C4 0x3064 +0xA4C5 0x3065 +0xA4C6 0x3066 +0xA4C7 0x3067 +0xA4C8 0x3068 +0xA4C9 0x3069 +0xA4CA 0x306A +0xA4CB 0x306B +0xA4CC 0x306C +0xA4CD 0x306D +0xA4CE 0x306E +0xA4CF 0x306F +0xA4D0 0x3070 +0xA4D1 0x3071 +0xA4D2 0x3072 +0xA4D3 0x3073 +0xA4D4 0x3074 +0xA4D5 0x3075 +0xA4D6 0x3076 +0xA4D7 0x3077 +0xA4D8 0x3078 +0xA4D9 0x3079 +0xA4DA 0x307A +0xA4DB 0x307B +0xA4DC 0x307C +0xA4DD 0x307D +0xA4DE 0x307E +0xA4DF 0x307F +0xA4E0 0x3080 +0xA4E1 0x3081 +0xA4E2 0x3082 +0xA4E3 0x3083 +0xA4E4 0x3084 +0xA4E5 0x3085 +0xA4E6 0x3086 +0xA4E7 0x3087 +0xA4E8 0x3088 +0xA4E9 0x3089 +0xA4EA 0x308A +0xA4EB 0x308B +0xA4EC 0x308C +0xA4ED 0x308D +0xA4EE 0x308E +0xA4EF 0x308F +0xA4F0 0x3090 +0xA4F1 0x3091 +0xA4F2 0x3092 +0xA4F3 0x3093 +0xA5A1 0x30A1 +0xA5A2 0x30A2 +0xA5A3 0x30A3 +0xA5A4 0x30A4 +0xA5A5 0x30A5 +0xA5A6 0x30A6 +0xA5A7 0x30A7 +0xA5A8 0x30A8 +0xA5A9 0x30A9 +0xA5AA 0x30AA +0xA5AB 0x30AB +0xA5AC 0x30AC +0xA5AD 0x30AD +0xA5AE 0x30AE +0xA5AF 0x30AF +0xA5B0 0x30B0 +0xA5B1 0x30B1 +0xA5B2 0x30B2 +0xA5B3 0x30B3 +0xA5B4 0x30B4 +0xA5B5 0x30B5 +0xA5B6 0x30B6 +0xA5B7 0x30B7 +0xA5B8 0x30B8 +0xA5B9 0x30B9 +0xA5BA 0x30BA +0xA5BB 0x30BB +0xA5BC 0x30BC +0xA5BD 0x30BD +0xA5BE 0x30BE +0xA5BF 0x30BF +0xA5C0 0x30C0 +0xA5C1 0x30C1 +0xA5C2 0x30C2 +0xA5C3 0x30C3 +0xA5C4 0x30C4 +0xA5C5 0x30C5 +0xA5C6 0x30C6 +0xA5C7 0x30C7 +0xA5C8 0x30C8 +0xA5C9 0x30C9 +0xA5CA 0x30CA +0xA5CB 0x30CB +0xA5CC 0x30CC +0xA5CD 0x30CD +0xA5CE 0x30CE +0xA5CF 0x30CF +0xA5D0 0x30D0 +0xA5D1 0x30D1 +0xA5D2 0x30D2 +0xA5D3 0x30D3 +0xA5D4 0x30D4 +0xA5D5 0x30D5 +0xA5D6 0x30D6 +0xA5D7 0x30D7 +0xA5D8 0x30D8 +0xA5D9 0x30D9 +0xA5DA 0x30DA +0xA5DB 0x30DB +0xA5DC 0x30DC +0xA5DD 0x30DD +0xA5DE 0x30DE +0xA5DF 0x30DF +0xA5E0 0x30E0 +0xA5E1 0x30E1 +0xA5E2 0x30E2 +0xA5E3 0x30E3 +0xA5E4 0x30E4 +0xA5E5 0x30E5 +0xA5E6 0x30E6 +0xA5E7 0x30E7 +0xA5E8 0x30E8 +0xA5E9 0x30E9 +0xA5EA 0x30EA +0xA5EB 0x30EB +0xA5EC 0x30EC +0xA5ED 0x30ED +0xA5EE 0x30EE +0xA5EF 0x30EF +0xA5F0 0x30F0 +0xA5F1 0x30F1 +0xA5F2 0x30F2 +0xA5F3 0x30F3 +0xA5F4 0x30F4 +0xA5F5 0x30F5 +0xA5F6 0x30F6 +0xA6A1 0x0391 +0xA6A2 0x0392 +0xA6A3 0x0393 +0xA6A4 0x0394 +0xA6A5 0x0395 +0xA6A6 0x0396 +0xA6A7 0x0397 +0xA6A8 0x0398 +0xA6A9 0x0399 +0xA6AA 0x039A +0xA6AB 0x039B +0xA6AC 0x039C +0xA6AD 0x039D +0xA6AE 0x039E +0xA6AF 0x039F +0xA6B0 0x03A0 +0xA6B1 0x03A1 +0xA6B2 0x03A3 +0xA6B3 0x03A4 +0xA6B4 0x03A5 +0xA6B5 0x03A6 +0xA6B6 0x03A7 +0xA6B7 0x03A8 +0xA6B8 0x03A9 +0xA6C1 0x03B1 +0xA6C2 0x03B2 +0xA6C3 0x03B3 +0xA6C4 0x03B4 +0xA6C5 0x03B5 +0xA6C6 0x03B6 +0xA6C7 0x03B7 +0xA6C8 0x03B8 +0xA6C9 0x03B9 +0xA6CA 0x03BA +0xA6CB 0x03BB +0xA6CC 0x03BC +0xA6CD 0x03BD +0xA6CE 0x03BE +0xA6CF 0x03BF +0xA6D0 0x03C0 +0xA6D1 0x03C1 +0xA6D2 0x03C3 +0xA6D3 0x03C4 +0xA6D4 0x03C5 +0xA6D5 0x03C6 +0xA6D6 0x03C7 +0xA6D7 0x03C8 +0xA6D8 0x03C9 +0xA7A1 0x0410 +0xA7A2 0x0411 +0xA7A3 0x0412 +0xA7A4 0x0413 +0xA7A5 0x0414 +0xA7A6 0x0415 +0xA7A7 0x0401 +0xA7A8 0x0416 +0xA7A9 0x0417 +0xA7AA 0x0418 +0xA7AB 0x0419 +0xA7AC 0x041A +0xA7AD 0x041B +0xA7AE 0x041C +0xA7AF 0x041D +0xA7B0 0x041E +0xA7B1 0x041F +0xA7B2 0x0420 +0xA7B3 0x0421 +0xA7B4 0x0422 +0xA7B5 0x0423 +0xA7B6 0x0424 +0xA7B7 0x0425 +0xA7B8 0x0426 +0xA7B9 0x0427 +0xA7BA 0x0428 +0xA7BB 0x0429 +0xA7BC 0x042A +0xA7BD 0x042B +0xA7BE 0x042C +0xA7BF 0x042D +0xA7C0 0x042E +0xA7C1 0x042F +0xA7D1 0x0430 +0xA7D2 0x0431 +0xA7D3 0x0432 +0xA7D4 0x0433 +0xA7D5 0x0434 +0xA7D6 0x0435 +0xA7D7 0x0451 +0xA7D8 0x0436 +0xA7D9 0x0437 +0xA7DA 0x0438 +0xA7DB 0x0439 +0xA7DC 0x043A +0xA7DD 0x043B +0xA7DE 0x043C +0xA7DF 0x043D +0xA7E0 0x043E +0xA7E1 0x043F +0xA7E2 0x0440 +0xA7E3 0x0441 +0xA7E4 0x0442 +0xA7E5 0x0443 +0xA7E6 0x0444 +0xA7E7 0x0445 +0xA7E8 0x0446 +0xA7E9 0x0447 +0xA7EA 0x0448 +0xA7EB 0x0449 +0xA7EC 0x044A +0xA7ED 0x044B +0xA7EE 0x044C +0xA7EF 0x044D +0xA7F0 0x044E +0xA7F1 0x044F +0xA8A1 0x2500 +0xA8A2 0x2502 +0xA8A3 0x250C +0xA8A4 0x2510 +0xA8A5 0x2518 +0xA8A6 0x2514 +0xA8A7 0x251C +0xA8A8 0x252C +0xA8A9 0x2524 +0xA8AA 0x2534 +0xA8AB 0x253C +0xA8AC 0x2501 +0xA8AD 0x2503 +0xA8AE 0x250F +0xA8AF 0x2513 +0xA8B0 0x251B +0xA8B1 0x2517 +0xA8B2 0x2523 +0xA8B3 0x2533 +0xA8B4 0x252B +0xA8B5 0x253B +0xA8B6 0x254B +0xA8B7 0x2520 +0xA8B8 0x252F +0xA8B9 0x2528 +0xA8BA 0x2537 +0xA8BB 0x253F +0xA8BC 0x251D +0xA8BD 0x2530 +0xA8BE 0x2525 +0xA8BF 0x2538 +0xA8C0 0x2542 +0xB0A1 0x4E9C +0xB0A2 0x5516 +0xB0A3 0x5A03 +0xB0A4 0x963F +0xB0A5 0x54C0 +0xB0A6 0x611B +0xB0A7 0x6328 +0xB0A8 0x59F6 +0xB0A9 0x9022 +0xB0AA 0x8475 +0xB0AB 0x831C +0xB0AC 0x7A50 +0xB0AD 0x60AA +0xB0AE 0x63E1 +0xB0AF 0x6E25 +0xB0B0 0x65ED +0xB0B1 0x8466 +0xB0B2 0x82A6 +0xB0B3 0x9BF5 +0xB0B4 0x6893 +0xB0B5 0x5727 +0xB0B6 0x65A1 +0xB0B7 0x6271 +0xB0B8 0x5B9B +0xB0B9 0x59D0 +0xB0BA 0x867B +0xB0BB 0x98F4 +0xB0BC 0x7D62 +0xB0BD 0x7DBE +0xB0BE 0x9B8E +0xB0BF 0x6216 +0xB0C0 0x7C9F +0xB0C1 0x88B7 +0xB0C2 0x5B89 +0xB0C3 0x5EB5 +0xB0C4 0x6309 +0xB0C5 0x6697 +0xB0C6 0x6848 +0xB0C7 0x95C7 +0xB0C8 0x978D +0xB0C9 0x674F +0xB0CA 0x4EE5 +0xB0CB 0x4F0A +0xB0CC 0x4F4D +0xB0CD 0x4F9D +0xB0CE 0x5049 +0xB0CF 0x56F2 +0xB0D0 0x5937 +0xB0D1 0x59D4 +0xB0D2 0x5A01 +0xB0D3 0x5C09 +0xB0D4 0x60DF +0xB0D5 0x610F +0xB0D6 0x6170 +0xB0D7 0x6613 +0xB0D8 0x6905 +0xB0D9 0x70BA +0xB0DA 0x754F +0xB0DB 0x7570 +0xB0DC 0x79FB +0xB0DD 0x7DAD +0xB0DE 0x7DEF +0xB0DF 0x80C3 +0xB0E0 0x840E +0xB0E1 0x8863 +0xB0E2 0x8B02 +0xB0E3 0x9055 +0xB0E4 0x907A +0xB0E5 0x533B +0xB0E6 0x4E95 +0xB0E7 0x4EA5 +0xB0E8 0x57DF +0xB0E9 0x80B2 +0xB0EA 0x90C1 +0xB0EB 0x78EF +0xB0EC 0x4E00 +0xB0ED 0x58F1 +0xB0EE 0x6EA2 +0xB0EF 0x9038 +0xB0F0 0x7A32 +0xB0F1 0x8328 +0xB0F2 0x828B +0xB0F3 0x9C2F +0xB0F4 0x5141 +0xB0F5 0x5370 +0xB0F6 0x54BD +0xB0F7 0x54E1 +0xB0F8 0x56E0 +0xB0F9 0x59FB +0xB0FA 0x5F15 +0xB0FB 0x98F2 +0xB0FC 0x6DEB +0xB0FD 0x80E4 +0xB0FE 0x852D +0xB1A1 0x9662 +0xB1A2 0x9670 +0xB1A3 0x96A0 +0xB1A4 0x97FB +0xB1A5 0x540B +0xB1A6 0x53F3 +0xB1A7 0x5B87 +0xB1A8 0x70CF +0xB1A9 0x7FBD +0xB1AA 0x8FC2 +0xB1AB 0x96E8 +0xB1AC 0x536F +0xB1AD 0x9D5C +0xB1AE 0x7ABA +0xB1AF 0x4E11 +0xB1B0 0x7893 +0xB1B1 0x81FC +0xB1B2 0x6E26 +0xB1B3 0x5618 +0xB1B4 0x5504 +0xB1B5 0x6B1D +0xB1B6 0x851A +0xB1B7 0x9C3B +0xB1B8 0x59E5 +0xB1B9 0x53A9 +0xB1BA 0x6D66 +0xB1BB 0x74DC +0xB1BC 0x958F +0xB1BD 0x5642 +0xB1BE 0x4E91 +0xB1BF 0x904B +0xB1C0 0x96F2 +0xB1C1 0x834F +0xB1C2 0x990C +0xB1C3 0x53E1 +0xB1C4 0x55B6 +0xB1C5 0x5B30 +0xB1C6 0x5F71 +0xB1C7 0x6620 +0xB1C8 0x66F3 +0xB1C9 0x6804 +0xB1CA 0x6C38 +0xB1CB 0x6CF3 +0xB1CC 0x6D29 +0xB1CD 0x745B +0xB1CE 0x76C8 +0xB1CF 0x7A4E +0xB1D0 0x9834 +0xB1D1 0x82F1 +0xB1D2 0x885B +0xB1D3 0x8A60 +0xB1D4 0x92ED +0xB1D5 0x6DB2 +0xB1D6 0x75AB +0xB1D7 0x76CA +0xB1D8 0x99C5 +0xB1D9 0x60A6 +0xB1DA 0x8B01 +0xB1DB 0x8D8A +0xB1DC 0x95B2 +0xB1DD 0x698E +0xB1DE 0x53AD +0xB1DF 0x5186 +0xB1E0 0x5712 +0xB1E1 0x5830 +0xB1E2 0x5944 +0xB1E3 0x5BB4 +0xB1E4 0x5EF6 +0xB1E5 0x6028 +0xB1E6 0x63A9 +0xB1E7 0x63F4 +0xB1E8 0x6CBF +0xB1E9 0x6F14 +0xB1EA 0x708E +0xB1EB 0x7114 +0xB1EC 0x7159 +0xB1ED 0x71D5 +0xB1EE 0x733F +0xB1EF 0x7E01 +0xB1F0 0x8276 +0xB1F1 0x82D1 +0xB1F2 0x8597 +0xB1F3 0x9060 +0xB1F4 0x925B +0xB1F5 0x9D1B +0xB1F6 0x5869 +0xB1F7 0x65BC +0xB1F8 0x6C5A +0xB1F9 0x7525 +0xB1FA 0x51F9 +0xB1FB 0x592E +0xB1FC 0x5965 +0xB1FD 0x5F80 +0xB1FE 0x5FDC +0xB2A1 0x62BC +0xB2A2 0x65FA +0xB2A3 0x6A2A +0xB2A4 0x6B27 +0xB2A5 0x6BB4 +0xB2A6 0x738B +0xB2A7 0x7FC1 +0xB2A8 0x8956 +0xB2A9 0x9D2C +0xB2AA 0x9D0E +0xB2AB 0x9EC4 +0xB2AC 0x5CA1 +0xB2AD 0x6C96 +0xB2AE 0x837B +0xB2AF 0x5104 +0xB2B0 0x5C4B +0xB2B1 0x61B6 +0xB2B2 0x81C6 +0xB2B3 0x6876 +0xB2B4 0x7261 +0xB2B5 0x4E59 +0xB2B6 0x4FFA +0xB2B7 0x5378 +0xB2B8 0x6069 +0xB2B9 0x6E29 +0xB2BA 0x7A4F +0xB2BB 0x97F3 +0xB2BC 0x4E0B +0xB2BD 0x5316 +0xB2BE 0x4EEE +0xB2BF 0x4F55 +0xB2C0 0x4F3D +0xB2C1 0x4FA1 +0xB2C2 0x4F73 +0xB2C3 0x52A0 +0xB2C4 0x53EF +0xB2C5 0x5609 +0xB2C6 0x590F +0xB2C7 0x5AC1 +0xB2C8 0x5BB6 +0xB2C9 0x5BE1 +0xB2CA 0x79D1 +0xB2CB 0x6687 +0xB2CC 0x679C +0xB2CD 0x67B6 +0xB2CE 0x6B4C +0xB2CF 0x6CB3 +0xB2D0 0x706B +0xB2D1 0x73C2 +0xB2D2 0x798D +0xB2D3 0x79BE +0xB2D4 0x7A3C +0xB2D5 0x7B87 +0xB2D6 0x82B1 +0xB2D7 0x82DB +0xB2D8 0x8304 +0xB2D9 0x8377 +0xB2DA 0x83EF +0xB2DB 0x83D3 +0xB2DC 0x8766 +0xB2DD 0x8AB2 +0xB2DE 0x5629 +0xB2DF 0x8CA8 +0xB2E0 0x8FE6 +0xB2E1 0x904E +0xB2E2 0x971E +0xB2E3 0x868A +0xB2E4 0x4FC4 +0xB2E5 0x5CE8 +0xB2E6 0x6211 +0xB2E7 0x7259 +0xB2E8 0x753B +0xB2E9 0x81E5 +0xB2EA 0x82BD +0xB2EB 0x86FE +0xB2EC 0x8CC0 +0xB2ED 0x96C5 +0xB2EE 0x9913 +0xB2EF 0x99D5 +0xB2F0 0x4ECB +0xB2F1 0x4F1A +0xB2F2 0x89E3 +0xB2F3 0x56DE +0xB2F4 0x584A +0xB2F5 0x58CA +0xB2F6 0x5EFB +0xB2F7 0x5FEB +0xB2F8 0x602A +0xB2F9 0x6094 +0xB2FA 0x6062 +0xB2FB 0x61D0 +0xB2FC 0x6212 +0xB2FD 0x62D0 +0xB2FE 0x6539 +0xB3A1 0x9B41 +0xB3A2 0x6666 +0xB3A3 0x68B0 +0xB3A4 0x6D77 +0xB3A5 0x7070 +0xB3A6 0x754C +0xB3A7 0x7686 +0xB3A8 0x7D75 +0xB3A9 0x82A5 +0xB3AA 0x87F9 +0xB3AB 0x958B +0xB3AC 0x968E +0xB3AD 0x8C9D +0xB3AE 0x51F1 +0xB3AF 0x52BE +0xB3B0 0x5916 +0xB3B1 0x54B3 +0xB3B2 0x5BB3 +0xB3B3 0x5D16 +0xB3B4 0x6168 +0xB3B5 0x6982 +0xB3B6 0x6DAF +0xB3B7 0x788D +0xB3B8 0x84CB +0xB3B9 0x8857 +0xB3BA 0x8A72 +0xB3BB 0x93A7 +0xB3BC 0x9AB8 +0xB3BD 0x6D6C +0xB3BE 0x99A8 +0xB3BF 0x86D9 +0xB3C0 0x57A3 +0xB3C1 0x67FF +0xB3C2 0x86CE +0xB3C3 0x920E +0xB3C4 0x5283 +0xB3C5 0x5687 +0xB3C6 0x5404 +0xB3C7 0x5ED3 +0xB3C8 0x62E1 +0xB3C9 0x64B9 +0xB3CA 0x683C +0xB3CB 0x6838 +0xB3CC 0x6BBB +0xB3CD 0x7372 +0xB3CE 0x78BA +0xB3CF 0x7A6B +0xB3D0 0x899A +0xB3D1 0x89D2 +0xB3D2 0x8D6B +0xB3D3 0x8F03 +0xB3D4 0x90ED +0xB3D5 0x95A3 +0xB3D6 0x9694 +0xB3D7 0x9769 +0xB3D8 0x5B66 +0xB3D9 0x5CB3 +0xB3DA 0x697D +0xB3DB 0x984D +0xB3DC 0x984E +0xB3DD 0x639B +0xB3DE 0x7B20 +0xB3DF 0x6A2B +0xB3E0 0x6A7F +0xB3E1 0x68B6 +0xB3E2 0x9C0D +0xB3E3 0x6F5F +0xB3E4 0x5272 +0xB3E5 0x559D +0xB3E6 0x6070 +0xB3E7 0x62EC +0xB3E8 0x6D3B +0xB3E9 0x6E07 +0xB3EA 0x6ED1 +0xB3EB 0x845B +0xB3EC 0x8910 +0xB3ED 0x8F44 +0xB3EE 0x4E14 +0xB3EF 0x9C39 +0xB3F0 0x53F6 +0xB3F1 0x691B +0xB3F2 0x6A3A +0xB3F3 0x9784 +0xB3F4 0x682A +0xB3F5 0x515C +0xB3F6 0x7AC3 +0xB3F7 0x84B2 +0xB3F8 0x91DC +0xB3F9 0x938C +0xB3FA 0x565B +0xB3FB 0x9D28 +0xB3FC 0x6822 +0xB3FD 0x8305 +0xB3FE 0x8431 +0xB4A1 0x7CA5 +0xB4A2 0x5208 +0xB4A3 0x82C5 +0xB4A4 0x74E6 +0xB4A5 0x4E7E +0xB4A6 0x4F83 +0xB4A7 0x51A0 +0xB4A8 0x5BD2 +0xB4A9 0x520A +0xB4AA 0x52D8 +0xB4AB 0x52E7 +0xB4AC 0x5DFB +0xB4AD 0x559A +0xB4AE 0x582A +0xB4AF 0x59E6 +0xB4B0 0x5B8C +0xB4B1 0x5B98 +0xB4B2 0x5BDB +0xB4B3 0x5E72 +0xB4B4 0x5E79 +0xB4B5 0x60A3 +0xB4B6 0x611F +0xB4B7 0x6163 +0xB4B8 0x61BE +0xB4B9 0x63DB +0xB4BA 0x6562 +0xB4BB 0x67D1 +0xB4BC 0x6853 +0xB4BD 0x68FA +0xB4BE 0x6B3E +0xB4BF 0x6B53 +0xB4C0 0x6C57 +0xB4C1 0x6F22 +0xB4C2 0x6F97 +0xB4C3 0x6F45 +0xB4C4 0x74B0 +0xB4C5 0x7518 +0xB4C6 0x76E3 +0xB4C7 0x770B +0xB4C8 0x7AFF +0xB4C9 0x7BA1 +0xB4CA 0x7C21 +0xB4CB 0x7DE9 +0xB4CC 0x7F36 +0xB4CD 0x7FF0 +0xB4CE 0x809D +0xB4CF 0x8266 +0xB4D0 0x839E +0xB4D1 0x89B3 +0xB4D2 0x8ACC +0xB4D3 0x8CAB +0xB4D4 0x9084 +0xB4D5 0x9451 +0xB4D6 0x9593 +0xB4D7 0x9591 +0xB4D8 0x95A2 +0xB4D9 0x9665 +0xB4DA 0x97D3 +0xB4DB 0x9928 +0xB4DC 0x8218 +0xB4DD 0x4E38 +0xB4DE 0x542B +0xB4DF 0x5CB8 +0xB4E0 0x5DCC +0xB4E1 0x73A9 +0xB4E2 0x764C +0xB4E3 0x773C +0xB4E4 0x5CA9 +0xB4E5 0x7FEB +0xB4E6 0x8D0B +0xB4E7 0x96C1 +0xB4E8 0x9811 +0xB4E9 0x9854 +0xB4EA 0x9858 +0xB4EB 0x4F01 +0xB4EC 0x4F0E +0xB4ED 0x5371 +0xB4EE 0x559C +0xB4EF 0x5668 +0xB4F0 0x57FA +0xB4F1 0x5947 +0xB4F2 0x5B09 +0xB4F3 0x5BC4 +0xB4F4 0x5C90 +0xB4F5 0x5E0C +0xB4F6 0x5E7E +0xB4F7 0x5FCC +0xB4F8 0x63EE +0xB4F9 0x673A +0xB4FA 0x65D7 +0xB4FB 0x65E2 +0xB4FC 0x671F +0xB4FD 0x68CB +0xB4FE 0x68C4 +0xB5A1 0x6A5F +0xB5A2 0x5E30 +0xB5A3 0x6BC5 +0xB5A4 0x6C17 +0xB5A5 0x6C7D +0xB5A6 0x757F +0xB5A7 0x7948 +0xB5A8 0x5B63 +0xB5A9 0x7A00 +0xB5AA 0x7D00 +0xB5AB 0x5FBD +0xB5AC 0x898F +0xB5AD 0x8A18 +0xB5AE 0x8CB4 +0xB5AF 0x8D77 +0xB5B0 0x8ECC +0xB5B1 0x8F1D +0xB5B2 0x98E2 +0xB5B3 0x9A0E +0xB5B4 0x9B3C +0xB5B5 0x4E80 +0xB5B6 0x507D +0xB5B7 0x5100 +0xB5B8 0x5993 +0xB5B9 0x5B9C +0xB5BA 0x622F +0xB5BB 0x6280 +0xB5BC 0x64EC +0xB5BD 0x6B3A +0xB5BE 0x72A0 +0xB5BF 0x7591 +0xB5C0 0x7947 +0xB5C1 0x7FA9 +0xB5C2 0x87FB +0xB5C3 0x8ABC +0xB5C4 0x8B70 +0xB5C5 0x63AC +0xB5C6 0x83CA +0xB5C7 0x97A0 +0xB5C8 0x5409 +0xB5C9 0x5403 +0xB5CA 0x55AB +0xB5CB 0x6854 +0xB5CC 0x6A58 +0xB5CD 0x8A70 +0xB5CE 0x7827 +0xB5CF 0x6775 +0xB5D0 0x9ECD +0xB5D1 0x5374 +0xB5D2 0x5BA2 +0xB5D3 0x811A +0xB5D4 0x8650 +0xB5D5 0x9006 +0xB5D6 0x4E18 +0xB5D7 0x4E45 +0xB5D8 0x4EC7 +0xB5D9 0x4F11 +0xB5DA 0x53CA +0xB5DB 0x5438 +0xB5DC 0x5BAE +0xB5DD 0x5F13 +0xB5DE 0x6025 +0xB5DF 0x6551 +0xB5E0 0x673D +0xB5E1 0x6C42 +0xB5E2 0x6C72 +0xB5E3 0x6CE3 +0xB5E4 0x7078 +0xB5E5 0x7403 +0xB5E6 0x7A76 +0xB5E7 0x7AAE +0xB5E8 0x7B08 +0xB5E9 0x7D1A +0xB5EA 0x7CFE +0xB5EB 0x7D66 +0xB5EC 0x65E7 +0xB5ED 0x725B +0xB5EE 0x53BB +0xB5EF 0x5C45 +0xB5F0 0x5DE8 +0xB5F1 0x62D2 +0xB5F2 0x62E0 +0xB5F3 0x6319 +0xB5F4 0x6E20 +0xB5F5 0x865A +0xB5F6 0x8A31 +0xB5F7 0x8DDD +0xB5F8 0x92F8 +0xB5F9 0x6F01 +0xB5FA 0x79A6 +0xB5FB 0x9B5A +0xB5FC 0x4EA8 +0xB5FD 0x4EAB +0xB5FE 0x4EAC +0xB6A1 0x4F9B +0xB6A2 0x4FA0 +0xB6A3 0x50D1 +0xB6A4 0x5147 +0xB6A5 0x7AF6 +0xB6A6 0x5171 +0xB6A7 0x51F6 +0xB6A8 0x5354 +0xB6A9 0x5321 +0xB6AA 0x537F +0xB6AB 0x53EB +0xB6AC 0x55AC +0xB6AD 0x5883 +0xB6AE 0x5CE1 +0xB6AF 0x5F37 +0xB6B0 0x5F4A +0xB6B1 0x602F +0xB6B2 0x6050 +0xB6B3 0x606D +0xB6B4 0x631F +0xB6B5 0x6559 +0xB6B6 0x6A4B +0xB6B7 0x6CC1 +0xB6B8 0x72C2 +0xB6B9 0x72ED +0xB6BA 0x77EF +0xB6BB 0x80F8 +0xB6BC 0x8105 +0xB6BD 0x8208 +0xB6BE 0x854E +0xB6BF 0x90F7 +0xB6C0 0x93E1 +0xB6C1 0x97FF +0xB6C2 0x9957 +0xB6C3 0x9A5A +0xB6C4 0x4EF0 +0xB6C5 0x51DD +0xB6C6 0x5C2D +0xB6C7 0x6681 +0xB6C8 0x696D +0xB6C9 0x5C40 +0xB6CA 0x66F2 +0xB6CB 0x6975 +0xB6CC 0x7389 +0xB6CD 0x6850 +0xB6CE 0x7C81 +0xB6CF 0x50C5 +0xB6D0 0x52E4 +0xB6D1 0x5747 +0xB6D2 0x5DFE +0xB6D3 0x9326 +0xB6D4 0x65A4 +0xB6D5 0x6B23 +0xB6D6 0x6B3D +0xB6D7 0x7434 +0xB6D8 0x7981 +0xB6D9 0x79BD +0xB6DA 0x7B4B +0xB6DB 0x7DCA +0xB6DC 0x82B9 +0xB6DD 0x83CC +0xB6DE 0x887F +0xB6DF 0x895F +0xB6E0 0x8B39 +0xB6E1 0x8FD1 +0xB6E2 0x91D1 +0xB6E3 0x541F +0xB6E4 0x9280 +0xB6E5 0x4E5D +0xB6E6 0x5036 +0xB6E7 0x53E5 +0xB6E8 0x533A +0xB6E9 0x72D7 +0xB6EA 0x7396 +0xB6EB 0x77E9 +0xB6EC 0x82E6 +0xB6ED 0x8EAF +0xB6EE 0x99C6 +0xB6EF 0x99C8 +0xB6F0 0x99D2 +0xB6F1 0x5177 +0xB6F2 0x611A +0xB6F3 0x865E +0xB6F4 0x55B0 +0xB6F5 0x7A7A +0xB6F6 0x5076 +0xB6F7 0x5BD3 +0xB6F8 0x9047 +0xB6F9 0x9685 +0xB6FA 0x4E32 +0xB6FB 0x6ADB +0xB6FC 0x91E7 +0xB6FD 0x5C51 +0xB6FE 0x5C48 +0xB7A1 0x6398 +0xB7A2 0x7A9F +0xB7A3 0x6C93 +0xB7A4 0x9774 +0xB7A5 0x8F61 +0xB7A6 0x7AAA +0xB7A7 0x718A +0xB7A8 0x9688 +0xB7A9 0x7C82 +0xB7AA 0x6817 +0xB7AB 0x7E70 +0xB7AC 0x6851 +0xB7AD 0x936C +0xB7AE 0x52F2 +0xB7AF 0x541B +0xB7B0 0x85AB +0xB7B1 0x8A13 +0xB7B2 0x7FA4 +0xB7B3 0x8ECD +0xB7B4 0x90E1 +0xB7B5 0x5366 +0xB7B6 0x8888 +0xB7B7 0x7941 +0xB7B8 0x4FC2 +0xB7B9 0x50BE +0xB7BA 0x5211 +0xB7BB 0x5144 +0xB7BC 0x5553 +0xB7BD 0x572D +0xB7BE 0x73EA +0xB7BF 0x578B +0xB7C0 0x5951 +0xB7C1 0x5F62 +0xB7C2 0x5F84 +0xB7C3 0x6075 +0xB7C4 0x6176 +0xB7C5 0x6167 +0xB7C6 0x61A9 +0xB7C7 0x63B2 +0xB7C8 0x643A +0xB7C9 0x656C +0xB7CA 0x666F +0xB7CB 0x6842 +0xB7CC 0x6E13 +0xB7CD 0x7566 +0xB7CE 0x7A3D +0xB7CF 0x7CFB +0xB7D0 0x7D4C +0xB7D1 0x7D99 +0xB7D2 0x7E4B +0xB7D3 0x7F6B +0xB7D4 0x830E +0xB7D5 0x834A +0xB7D6 0x86CD +0xB7D7 0x8A08 +0xB7D8 0x8A63 +0xB7D9 0x8B66 +0xB7DA 0x8EFD +0xB7DB 0x981A +0xB7DC 0x9D8F +0xB7DD 0x82B8 +0xB7DE 0x8FCE +0xB7DF 0x9BE8 +0xB7E0 0x5287 +0xB7E1 0x621F +0xB7E2 0x6483 +0xB7E3 0x6FC0 +0xB7E4 0x9699 +0xB7E5 0x6841 +0xB7E6 0x5091 +0xB7E7 0x6B20 +0xB7E8 0x6C7A +0xB7E9 0x6F54 +0xB7EA 0x7A74 +0xB7EB 0x7D50 +0xB7EC 0x8840 +0xB7ED 0x8A23 +0xB7EE 0x6708 +0xB7EF 0x4EF6 +0xB7F0 0x5039 +0xB7F1 0x5026 +0xB7F2 0x5065 +0xB7F3 0x517C +0xB7F4 0x5238 +0xB7F5 0x5263 +0xB7F6 0x55A7 +0xB7F7 0x570F +0xB7F8 0x5805 +0xB7F9 0x5ACC +0xB7FA 0x5EFA +0xB7FB 0x61B2 +0xB7FC 0x61F8 +0xB7FD 0x62F3 +0xB7FE 0x6372 +0xB8A1 0x691C +0xB8A2 0x6A29 +0xB8A3 0x727D +0xB8A4 0x72AC +0xB8A5 0x732E +0xB8A6 0x7814 +0xB8A7 0x786F +0xB8A8 0x7D79 +0xB8A9 0x770C +0xB8AA 0x80A9 +0xB8AB 0x898B +0xB8AC 0x8B19 +0xB8AD 0x8CE2 +0xB8AE 0x8ED2 +0xB8AF 0x9063 +0xB8B0 0x9375 +0xB8B1 0x967A +0xB8B2 0x9855 +0xB8B3 0x9A13 +0xB8B4 0x9E78 +0xB8B5 0x5143 +0xB8B6 0x539F +0xB8B7 0x53B3 +0xB8B8 0x5E7B +0xB8B9 0x5F26 +0xB8BA 0x6E1B +0xB8BB 0x6E90 +0xB8BC 0x7384 +0xB8BD 0x73FE +0xB8BE 0x7D43 +0xB8BF 0x8237 +0xB8C0 0x8A00 +0xB8C1 0x8AFA +0xB8C2 0x9650 +0xB8C3 0x4E4E +0xB8C4 0x500B +0xB8C5 0x53E4 +0xB8C6 0x547C +0xB8C7 0x56FA +0xB8C8 0x59D1 +0xB8C9 0x5B64 +0xB8CA 0x5DF1 +0xB8CB 0x5EAB +0xB8CC 0x5F27 +0xB8CD 0x6238 +0xB8CE 0x6545 +0xB8CF 0x67AF +0xB8D0 0x6E56 +0xB8D1 0x72D0 +0xB8D2 0x7CCA +0xB8D3 0x88B4 +0xB8D4 0x80A1 +0xB8D5 0x80E1 +0xB8D6 0x83F0 +0xB8D7 0x864E +0xB8D8 0x8A87 +0xB8D9 0x8DE8 +0xB8DA 0x9237 +0xB8DB 0x96C7 +0xB8DC 0x9867 +0xB8DD 0x9F13 +0xB8DE 0x4E94 +0xB8DF 0x4E92 +0xB8E0 0x4F0D +0xB8E1 0x5348 +0xB8E2 0x5449 +0xB8E3 0x543E +0xB8E4 0x5A2F +0xB8E5 0x5F8C +0xB8E6 0x5FA1 +0xB8E7 0x609F +0xB8E8 0x68A7 +0xB8E9 0x6A8E +0xB8EA 0x745A +0xB8EB 0x7881 +0xB8EC 0x8A9E +0xB8ED 0x8AA4 +0xB8EE 0x8B77 +0xB8EF 0x9190 +0xB8F0 0x4E5E +0xB8F1 0x9BC9 +0xB8F2 0x4EA4 +0xB8F3 0x4F7C +0xB8F4 0x4FAF +0xB8F5 0x5019 +0xB8F6 0x5016 +0xB8F7 0x5149 +0xB8F8 0x516C +0xB8F9 0x529F +0xB8FA 0x52B9 +0xB8FB 0x52FE +0xB8FC 0x539A +0xB8FD 0x53E3 +0xB8FE 0x5411 +0xB9A1 0x540E +0xB9A2 0x5589 +0xB9A3 0x5751 +0xB9A4 0x57A2 +0xB9A5 0x597D +0xB9A6 0x5B54 +0xB9A7 0x5B5D +0xB9A8 0x5B8F +0xB9A9 0x5DE5 +0xB9AA 0x5DE7 +0xB9AB 0x5DF7 +0xB9AC 0x5E78 +0xB9AD 0x5E83 +0xB9AE 0x5E9A +0xB9AF 0x5EB7 +0xB9B0 0x5F18 +0xB9B1 0x6052 +0xB9B2 0x614C +0xB9B3 0x6297 +0xB9B4 0x62D8 +0xB9B5 0x63A7 +0xB9B6 0x653B +0xB9B7 0x6602 +0xB9B8 0x6643 +0xB9B9 0x66F4 +0xB9BA 0x676D +0xB9BB 0x6821 +0xB9BC 0x6897 +0xB9BD 0x69CB +0xB9BE 0x6C5F +0xB9BF 0x6D2A +0xB9C0 0x6D69 +0xB9C1 0x6E2F +0xB9C2 0x6E9D +0xB9C3 0x7532 +0xB9C4 0x7687 +0xB9C5 0x786C +0xB9C6 0x7A3F +0xB9C7 0x7CE0 +0xB9C8 0x7D05 +0xB9C9 0x7D18 +0xB9CA 0x7D5E +0xB9CB 0x7DB1 +0xB9CC 0x8015 +0xB9CD 0x8003 +0xB9CE 0x80AF +0xB9CF 0x80B1 +0xB9D0 0x8154 +0xB9D1 0x818F +0xB9D2 0x822A +0xB9D3 0x8352 +0xB9D4 0x884C +0xB9D5 0x8861 +0xB9D6 0x8B1B +0xB9D7 0x8CA2 +0xB9D8 0x8CFC +0xB9D9 0x90CA +0xB9DA 0x9175 +0xB9DB 0x9271 +0xB9DC 0x783F +0xB9DD 0x92FC +0xB9DE 0x95A4 +0xB9DF 0x964D +0xB9E0 0x9805 +0xB9E1 0x9999 +0xB9E2 0x9AD8 +0xB9E3 0x9D3B +0xB9E4 0x525B +0xB9E5 0x52AB +0xB9E6 0x53F7 +0xB9E7 0x5408 +0xB9E8 0x58D5 +0xB9E9 0x62F7 +0xB9EA 0x6FE0 +0xB9EB 0x8C6A +0xB9EC 0x8F5F +0xB9ED 0x9EB9 +0xB9EE 0x514B +0xB9EF 0x523B +0xB9F0 0x544A +0xB9F1 0x56FD +0xB9F2 0x7A40 +0xB9F3 0x9177 +0xB9F4 0x9D60 +0xB9F5 0x9ED2 +0xB9F6 0x7344 +0xB9F7 0x6F09 +0xB9F8 0x8170 +0xB9F9 0x7511 +0xB9FA 0x5FFD +0xB9FB 0x60DA +0xB9FC 0x9AA8 +0xB9FD 0x72DB +0xB9FE 0x8FBC +0xBAA1 0x6B64 +0xBAA2 0x9803 +0xBAA3 0x4ECA +0xBAA4 0x56F0 +0xBAA5 0x5764 +0xBAA6 0x58BE +0xBAA7 0x5A5A +0xBAA8 0x6068 +0xBAA9 0x61C7 +0xBAAA 0x660F +0xBAAB 0x6606 +0xBAAC 0x6839 +0xBAAD 0x68B1 +0xBAAE 0x6DF7 +0xBAAF 0x75D5 +0xBAB0 0x7D3A +0xBAB1 0x826E +0xBAB2 0x9B42 +0xBAB3 0x4E9B +0xBAB4 0x4F50 +0xBAB5 0x53C9 +0xBAB6 0x5506 +0xBAB7 0x5D6F +0xBAB8 0x5DE6 +0xBAB9 0x5DEE +0xBABA 0x67FB +0xBABB 0x6C99 +0xBABC 0x7473 +0xBABD 0x7802 +0xBABE 0x8A50 +0xBABF 0x9396 +0xBAC0 0x88DF +0xBAC1 0x5750 +0xBAC2 0x5EA7 +0xBAC3 0x632B +0xBAC4 0x50B5 +0xBAC5 0x50AC +0xBAC6 0x518D +0xBAC7 0x6700 +0xBAC8 0x54C9 +0xBAC9 0x585E +0xBACA 0x59BB +0xBACB 0x5BB0 +0xBACC 0x5F69 +0xBACD 0x624D +0xBACE 0x63A1 +0xBACF 0x683D +0xBAD0 0x6B73 +0xBAD1 0x6E08 +0xBAD2 0x707D +0xBAD3 0x91C7 +0xBAD4 0x7280 +0xBAD5 0x7815 +0xBAD6 0x7826 +0xBAD7 0x796D +0xBAD8 0x658E +0xBAD9 0x7D30 +0xBADA 0x83DC +0xBADB 0x88C1 +0xBADC 0x8F09 +0xBADD 0x969B +0xBADE 0x5264 +0xBADF 0x5728 +0xBAE0 0x6750 +0xBAE1 0x7F6A +0xBAE2 0x8CA1 +0xBAE3 0x51B4 +0xBAE4 0x5742 +0xBAE5 0x962A +0xBAE6 0x583A +0xBAE7 0x698A +0xBAE8 0x80B4 +0xBAE9 0x54B2 +0xBAEA 0x5D0E +0xBAEB 0x57FC +0xBAEC 0x7895 +0xBAED 0x9DFA +0xBAEE 0x4F5C +0xBAEF 0x524A +0xBAF0 0x548B +0xBAF1 0x643E +0xBAF2 0x6628 +0xBAF3 0x6714 +0xBAF4 0x67F5 +0xBAF5 0x7A84 +0xBAF6 0x7B56 +0xBAF7 0x7D22 +0xBAF8 0x932F +0xBAF9 0x685C +0xBAFA 0x9BAD +0xBAFB 0x7B39 +0xBAFC 0x5319 +0xBAFD 0x518A +0xBAFE 0x5237 +0xBBA1 0x5BDF +0xBBA2 0x62F6 +0xBBA3 0x64AE +0xBBA4 0x64E6 +0xBBA5 0x672D +0xBBA6 0x6BBA +0xBBA7 0x85A9 +0xBBA8 0x96D1 +0xBBA9 0x7690 +0xBBAA 0x9BD6 +0xBBAB 0x634C +0xBBAC 0x9306 +0xBBAD 0x9BAB +0xBBAE 0x76BF +0xBBAF 0x6652 +0xBBB0 0x4E09 +0xBBB1 0x5098 +0xBBB2 0x53C2 +0xBBB3 0x5C71 +0xBBB4 0x60E8 +0xBBB5 0x6492 +0xBBB6 0x6563 +0xBBB7 0x685F +0xBBB8 0x71E6 +0xBBB9 0x73CA +0xBBBA 0x7523 +0xBBBB 0x7B97 +0xBBBC 0x7E82 +0xBBBD 0x8695 +0xBBBE 0x8B83 +0xBBBF 0x8CDB +0xBBC0 0x9178 +0xBBC1 0x9910 +0xBBC2 0x65AC +0xBBC3 0x66AB +0xBBC4 0x6B8B +0xBBC5 0x4ED5 +0xBBC6 0x4ED4 +0xBBC7 0x4F3A +0xBBC8 0x4F7F +0xBBC9 0x523A +0xBBCA 0x53F8 +0xBBCB 0x53F2 +0xBBCC 0x55E3 +0xBBCD 0x56DB +0xBBCE 0x58EB +0xBBCF 0x59CB +0xBBD0 0x59C9 +0xBBD1 0x59FF +0xBBD2 0x5B50 +0xBBD3 0x5C4D +0xBBD4 0x5E02 +0xBBD5 0x5E2B +0xBBD6 0x5FD7 +0xBBD7 0x601D +0xBBD8 0x6307 +0xBBD9 0x652F +0xBBDA 0x5B5C +0xBBDB 0x65AF +0xBBDC 0x65BD +0xBBDD 0x65E8 +0xBBDE 0x679D +0xBBDF 0x6B62 +0xBBE0 0x6B7B +0xBBE1 0x6C0F +0xBBE2 0x7345 +0xBBE3 0x7949 +0xBBE4 0x79C1 +0xBBE5 0x7CF8 +0xBBE6 0x7D19 +0xBBE7 0x7D2B +0xBBE8 0x80A2 +0xBBE9 0x8102 +0xBBEA 0x81F3 +0xBBEB 0x8996 +0xBBEC 0x8A5E +0xBBED 0x8A69 +0xBBEE 0x8A66 +0xBBEF 0x8A8C +0xBBF0 0x8AEE +0xBBF1 0x8CC7 +0xBBF2 0x8CDC +0xBBF3 0x96CC +0xBBF4 0x98FC +0xBBF5 0x6B6F +0xBBF6 0x4E8B +0xBBF7 0x4F3C +0xBBF8 0x4F8D +0xBBF9 0x5150 +0xBBFA 0x5B57 +0xBBFB 0x5BFA +0xBBFC 0x6148 +0xBBFD 0x6301 +0xBBFE 0x6642 +0xBCA1 0x6B21 +0xBCA2 0x6ECB +0xBCA3 0x6CBB +0xBCA4 0x723E +0xBCA5 0x74BD +0xBCA6 0x75D4 +0xBCA7 0x78C1 +0xBCA8 0x793A +0xBCA9 0x800C +0xBCAA 0x8033 +0xBCAB 0x81EA +0xBCAC 0x8494 +0xBCAD 0x8F9E +0xBCAE 0x6C50 +0xBCAF 0x9E7F +0xBCB0 0x5F0F +0xBCB1 0x8B58 +0xBCB2 0x9D2B +0xBCB3 0x7AFA +0xBCB4 0x8EF8 +0xBCB5 0x5B8D +0xBCB6 0x96EB +0xBCB7 0x4E03 +0xBCB8 0x53F1 +0xBCB9 0x57F7 +0xBCBA 0x5931 +0xBCBB 0x5AC9 +0xBCBC 0x5BA4 +0xBCBD 0x6089 +0xBCBE 0x6E7F +0xBCBF 0x6F06 +0xBCC0 0x75BE +0xBCC1 0x8CEA +0xBCC2 0x5B9F +0xBCC3 0x8500 +0xBCC4 0x7BE0 +0xBCC5 0x5072 +0xBCC6 0x67F4 +0xBCC7 0x829D +0xBCC8 0x5C61 +0xBCC9 0x854A +0xBCCA 0x7E1E +0xBCCB 0x820E +0xBCCC 0x5199 +0xBCCD 0x5C04 +0xBCCE 0x6368 +0xBCCF 0x8D66 +0xBCD0 0x659C +0xBCD1 0x716E +0xBCD2 0x793E +0xBCD3 0x7D17 +0xBCD4 0x8005 +0xBCD5 0x8B1D +0xBCD6 0x8ECA +0xBCD7 0x906E +0xBCD8 0x86C7 +0xBCD9 0x90AA +0xBCDA 0x501F +0xBCDB 0x52FA +0xBCDC 0x5C3A +0xBCDD 0x6753 +0xBCDE 0x707C +0xBCDF 0x7235 +0xBCE0 0x914C +0xBCE1 0x91C8 +0xBCE2 0x932B +0xBCE3 0x82E5 +0xBCE4 0x5BC2 +0xBCE5 0x5F31 +0xBCE6 0x60F9 +0xBCE7 0x4E3B +0xBCE8 0x53D6 +0xBCE9 0x5B88 +0xBCEA 0x624B +0xBCEB 0x6731 +0xBCEC 0x6B8A +0xBCED 0x72E9 +0xBCEE 0x73E0 +0xBCEF 0x7A2E +0xBCF0 0x816B +0xBCF1 0x8DA3 +0xBCF2 0x9152 +0xBCF3 0x9996 +0xBCF4 0x5112 +0xBCF5 0x53D7 +0xBCF6 0x546A +0xBCF7 0x5BFF +0xBCF8 0x6388 +0xBCF9 0x6A39 +0xBCFA 0x7DAC +0xBCFB 0x9700 +0xBCFC 0x56DA +0xBCFD 0x53CE +0xBCFE 0x5468 +0xBDA1 0x5B97 +0xBDA2 0x5C31 +0xBDA3 0x5DDE +0xBDA4 0x4FEE +0xBDA5 0x6101 +0xBDA6 0x62FE +0xBDA7 0x6D32 +0xBDA8 0x79C0 +0xBDA9 0x79CB +0xBDAA 0x7D42 +0xBDAB 0x7E4D +0xBDAC 0x7FD2 +0xBDAD 0x81ED +0xBDAE 0x821F +0xBDAF 0x8490 +0xBDB0 0x8846 +0xBDB1 0x8972 +0xBDB2 0x8B90 +0xBDB3 0x8E74 +0xBDB4 0x8F2F +0xBDB5 0x9031 +0xBDB6 0x914B +0xBDB7 0x916C +0xBDB8 0x96C6 +0xBDB9 0x919C +0xBDBA 0x4EC0 +0xBDBB 0x4F4F +0xBDBC 0x5145 +0xBDBD 0x5341 +0xBDBE 0x5F93 +0xBDBF 0x620E +0xBDC0 0x67D4 +0xBDC1 0x6C41 +0xBDC2 0x6E0B +0xBDC3 0x7363 +0xBDC4 0x7E26 +0xBDC5 0x91CD +0xBDC6 0x9283 +0xBDC7 0x53D4 +0xBDC8 0x5919 +0xBDC9 0x5BBF +0xBDCA 0x6DD1 +0xBDCB 0x795D +0xBDCC 0x7E2E +0xBDCD 0x7C9B +0xBDCE 0x587E +0xBDCF 0x719F +0xBDD0 0x51FA +0xBDD1 0x8853 +0xBDD2 0x8FF0 +0xBDD3 0x4FCA +0xBDD4 0x5CFB +0xBDD5 0x6625 +0xBDD6 0x77AC +0xBDD7 0x7AE3 +0xBDD8 0x821C +0xBDD9 0x99FF +0xBDDA 0x51C6 +0xBDDB 0x5FAA +0xBDDC 0x65EC +0xBDDD 0x696F +0xBDDE 0x6B89 +0xBDDF 0x6DF3 +0xBDE0 0x6E96 +0xBDE1 0x6F64 +0xBDE2 0x76FE +0xBDE3 0x7D14 +0xBDE4 0x5DE1 +0xBDE5 0x9075 +0xBDE6 0x9187 +0xBDE7 0x9806 +0xBDE8 0x51E6 +0xBDE9 0x521D +0xBDEA 0x6240 +0xBDEB 0x6691 +0xBDEC 0x66D9 +0xBDED 0x6E1A +0xBDEE 0x5EB6 +0xBDEF 0x7DD2 +0xBDF0 0x7F72 +0xBDF1 0x66F8 +0xBDF2 0x85AF +0xBDF3 0x85F7 +0xBDF4 0x8AF8 +0xBDF5 0x52A9 +0xBDF6 0x53D9 +0xBDF7 0x5973 +0xBDF8 0x5E8F +0xBDF9 0x5F90 +0xBDFA 0x6055 +0xBDFB 0x92E4 +0xBDFC 0x9664 +0xBDFD 0x50B7 +0xBDFE 0x511F +0xBEA1 0x52DD +0xBEA2 0x5320 +0xBEA3 0x5347 +0xBEA4 0x53EC +0xBEA5 0x54E8 +0xBEA6 0x5546 +0xBEA7 0x5531 +0xBEA8 0x5617 +0xBEA9 0x5968 +0xBEAA 0x59BE +0xBEAB 0x5A3C +0xBEAC 0x5BB5 +0xBEAD 0x5C06 +0xBEAE 0x5C0F +0xBEAF 0x5C11 +0xBEB0 0x5C1A +0xBEB1 0x5E84 +0xBEB2 0x5E8A +0xBEB3 0x5EE0 +0xBEB4 0x5F70 +0xBEB5 0x627F +0xBEB6 0x6284 +0xBEB7 0x62DB +0xBEB8 0x638C +0xBEB9 0x6377 +0xBEBA 0x6607 +0xBEBB 0x660C +0xBEBC 0x662D +0xBEBD 0x6676 +0xBEBE 0x677E +0xBEBF 0x68A2 +0xBEC0 0x6A1F +0xBEC1 0x6A35 +0xBEC2 0x6CBC +0xBEC3 0x6D88 +0xBEC4 0x6E09 +0xBEC5 0x6E58 +0xBEC6 0x713C +0xBEC7 0x7126 +0xBEC8 0x7167 +0xBEC9 0x75C7 +0xBECA 0x7701 +0xBECB 0x785D +0xBECC 0x7901 +0xBECD 0x7965 +0xBECE 0x79F0 +0xBECF 0x7AE0 +0xBED0 0x7B11 +0xBED1 0x7CA7 +0xBED2 0x7D39 +0xBED3 0x8096 +0xBED4 0x83D6 +0xBED5 0x848B +0xBED6 0x8549 +0xBED7 0x885D +0xBED8 0x88F3 +0xBED9 0x8A1F +0xBEDA 0x8A3C +0xBEDB 0x8A54 +0xBEDC 0x8A73 +0xBEDD 0x8C61 +0xBEDE 0x8CDE +0xBEDF 0x91A4 +0xBEE0 0x9266 +0xBEE1 0x937E +0xBEE2 0x9418 +0xBEE3 0x969C +0xBEE4 0x9798 +0xBEE5 0x4E0A +0xBEE6 0x4E08 +0xBEE7 0x4E1E +0xBEE8 0x4E57 +0xBEE9 0x5197 +0xBEEA 0x5270 +0xBEEB 0x57CE +0xBEEC 0x5834 +0xBEED 0x58CC +0xBEEE 0x5B22 +0xBEEF 0x5E38 +0xBEF0 0x60C5 +0xBEF1 0x64FE +0xBEF2 0x6761 +0xBEF3 0x6756 +0xBEF4 0x6D44 +0xBEF5 0x72B6 +0xBEF6 0x7573 +0xBEF7 0x7A63 +0xBEF8 0x84B8 +0xBEF9 0x8B72 +0xBEFA 0x91B8 +0xBEFB 0x9320 +0xBEFC 0x5631 +0xBEFD 0x57F4 +0xBEFE 0x98FE +0xBFA1 0x62ED +0xBFA2 0x690D +0xBFA3 0x6B96 +0xBFA4 0x71ED +0xBFA5 0x7E54 +0xBFA6 0x8077 +0xBFA7 0x8272 +0xBFA8 0x89E6 +0xBFA9 0x98DF +0xBFAA 0x8755 +0xBFAB 0x8FB1 +0xBFAC 0x5C3B +0xBFAD 0x4F38 +0xBFAE 0x4FE1 +0xBFAF 0x4FB5 +0xBFB0 0x5507 +0xBFB1 0x5A20 +0xBFB2 0x5BDD +0xBFB3 0x5BE9 +0xBFB4 0x5FC3 +0xBFB5 0x614E +0xBFB6 0x632F +0xBFB7 0x65B0 +0xBFB8 0x664B +0xBFB9 0x68EE +0xBFBA 0x699B +0xBFBB 0x6D78 +0xBFBC 0x6DF1 +0xBFBD 0x7533 +0xBFBE 0x75B9 +0xBFBF 0x771F +0xBFC0 0x795E +0xBFC1 0x79E6 +0xBFC2 0x7D33 +0xBFC3 0x81E3 +0xBFC4 0x82AF +0xBFC5 0x85AA +0xBFC6 0x89AA +0xBFC7 0x8A3A +0xBFC8 0x8EAB +0xBFC9 0x8F9B +0xBFCA 0x9032 +0xBFCB 0x91DD +0xBFCC 0x9707 +0xBFCD 0x4EBA +0xBFCE 0x4EC1 +0xBFCF 0x5203 +0xBFD0 0x5875 +0xBFD1 0x58EC +0xBFD2 0x5C0B +0xBFD3 0x751A +0xBFD4 0x5C3D +0xBFD5 0x814E +0xBFD6 0x8A0A +0xBFD7 0x8FC5 +0xBFD8 0x9663 +0xBFD9 0x976D +0xBFDA 0x7B25 +0xBFDB 0x8ACF +0xBFDC 0x9808 +0xBFDD 0x9162 +0xBFDE 0x56F3 +0xBFDF 0x53A8 +0xBFE0 0x9017 +0xBFE1 0x5439 +0xBFE2 0x5782 +0xBFE3 0x5E25 +0xBFE4 0x63A8 +0xBFE5 0x6C34 +0xBFE6 0x708A +0xBFE7 0x7761 +0xBFE8 0x7C8B +0xBFE9 0x7FE0 +0xBFEA 0x8870 +0xBFEB 0x9042 +0xBFEC 0x9154 +0xBFED 0x9310 +0xBFEE 0x9318 +0xBFEF 0x968F +0xBFF0 0x745E +0xBFF1 0x9AC4 +0xBFF2 0x5D07 +0xBFF3 0x5D69 +0xBFF4 0x6570 +0xBFF5 0x67A2 +0xBFF6 0x8DA8 +0xBFF7 0x96DB +0xBFF8 0x636E +0xBFF9 0x6749 +0xBFFA 0x6919 +0xBFFB 0x83C5 +0xBFFC 0x9817 +0xBFFD 0x96C0 +0xBFFE 0x88FE +0xC0A1 0x6F84 +0xC0A2 0x647A +0xC0A3 0x5BF8 +0xC0A4 0x4E16 +0xC0A5 0x702C +0xC0A6 0x755D +0xC0A7 0x662F +0xC0A8 0x51C4 +0xC0A9 0x5236 +0xC0AA 0x52E2 +0xC0AB 0x59D3 +0xC0AC 0x5F81 +0xC0AD 0x6027 +0xC0AE 0x6210 +0xC0AF 0x653F +0xC0B0 0x6574 +0xC0B1 0x661F +0xC0B2 0x6674 +0xC0B3 0x68F2 +0xC0B4 0x6816 +0xC0B5 0x6B63 +0xC0B6 0x6E05 +0xC0B7 0x7272 +0xC0B8 0x751F +0xC0B9 0x76DB +0xC0BA 0x7CBE +0xC0BB 0x8056 +0xC0BC 0x58F0 +0xC0BD 0x88FD +0xC0BE 0x897F +0xC0BF 0x8AA0 +0xC0C0 0x8A93 +0xC0C1 0x8ACB +0xC0C2 0x901D +0xC0C3 0x9192 +0xC0C4 0x9752 +0xC0C5 0x9759 +0xC0C6 0x6589 +0xC0C7 0x7A0E +0xC0C8 0x8106 +0xC0C9 0x96BB +0xC0CA 0x5E2D +0xC0CB 0x60DC +0xC0CC 0x621A +0xC0CD 0x65A5 +0xC0CE 0x6614 +0xC0CF 0x6790 +0xC0D0 0x77F3 +0xC0D1 0x7A4D +0xC0D2 0x7C4D +0xC0D3 0x7E3E +0xC0D4 0x810A +0xC0D5 0x8CAC +0xC0D6 0x8D64 +0xC0D7 0x8DE1 +0xC0D8 0x8E5F +0xC0D9 0x78A9 +0xC0DA 0x5207 +0xC0DB 0x62D9 +0xC0DC 0x63A5 +0xC0DD 0x6442 +0xC0DE 0x6298 +0xC0DF 0x8A2D +0xC0E0 0x7A83 +0xC0E1 0x7BC0 +0xC0E2 0x8AAC +0xC0E3 0x96EA +0xC0E4 0x7D76 +0xC0E5 0x820C +0xC0E6 0x8749 +0xC0E7 0x4ED9 +0xC0E8 0x5148 +0xC0E9 0x5343 +0xC0EA 0x5360 +0xC0EB 0x5BA3 +0xC0EC 0x5C02 +0xC0ED 0x5C16 +0xC0EE 0x5DDD +0xC0EF 0x6226 +0xC0F0 0x6247 +0xC0F1 0x64B0 +0xC0F2 0x6813 +0xC0F3 0x6834 +0xC0F4 0x6CC9 +0xC0F5 0x6D45 +0xC0F6 0x6D17 +0xC0F7 0x67D3 +0xC0F8 0x6F5C +0xC0F9 0x714E +0xC0FA 0x717D +0xC0FB 0x65CB +0xC0FC 0x7A7F +0xC0FD 0x7BAD +0xC0FE 0x7DDA +0xC1A1 0x7E4A +0xC1A2 0x7FA8 +0xC1A3 0x817A +0xC1A4 0x821B +0xC1A5 0x8239 +0xC1A6 0x85A6 +0xC1A7 0x8A6E +0xC1A8 0x8CCE +0xC1A9 0x8DF5 +0xC1AA 0x9078 +0xC1AB 0x9077 +0xC1AC 0x92AD +0xC1AD 0x9291 +0xC1AE 0x9583 +0xC1AF 0x9BAE +0xC1B0 0x524D +0xC1B1 0x5584 +0xC1B2 0x6F38 +0xC1B3 0x7136 +0xC1B4 0x5168 +0xC1B5 0x7985 +0xC1B6 0x7E55 +0xC1B7 0x81B3 +0xC1B8 0x7CCE +0xC1B9 0x564C +0xC1BA 0x5851 +0xC1BB 0x5CA8 +0xC1BC 0x63AA +0xC1BD 0x66FE +0xC1BE 0x66FD +0xC1BF 0x695A +0xC1C0 0x72D9 +0xC1C1 0x758F +0xC1C2 0x758E +0xC1C3 0x790E +0xC1C4 0x7956 +0xC1C5 0x79DF +0xC1C6 0x7C97 +0xC1C7 0x7D20 +0xC1C8 0x7D44 +0xC1C9 0x8607 +0xC1CA 0x8A34 +0xC1CB 0x963B +0xC1CC 0x9061 +0xC1CD 0x9F20 +0xC1CE 0x50E7 +0xC1CF 0x5275 +0xC1D0 0x53CC +0xC1D1 0x53E2 +0xC1D2 0x5009 +0xC1D3 0x55AA +0xC1D4 0x58EE +0xC1D5 0x594F +0xC1D6 0x723D +0xC1D7 0x5B8B +0xC1D8 0x5C64 +0xC1D9 0x531D +0xC1DA 0x60E3 +0xC1DB 0x60F3 +0xC1DC 0x635C +0xC1DD 0x6383 +0xC1DE 0x633F +0xC1DF 0x63BB +0xC1E0 0x64CD +0xC1E1 0x65E9 +0xC1E2 0x66F9 +0xC1E3 0x5DE3 +0xC1E4 0x69CD +0xC1E5 0x69FD +0xC1E6 0x6F15 +0xC1E7 0x71E5 +0xC1E8 0x4E89 +0xC1E9 0x75E9 +0xC1EA 0x76F8 +0xC1EB 0x7A93 +0xC1EC 0x7CDF +0xC1ED 0x7DCF +0xC1EE 0x7D9C +0xC1EF 0x8061 +0xC1F0 0x8349 +0xC1F1 0x8358 +0xC1F2 0x846C +0xC1F3 0x84BC +0xC1F4 0x85FB +0xC1F5 0x88C5 +0xC1F6 0x8D70 +0xC1F7 0x9001 +0xC1F8 0x906D +0xC1F9 0x9397 +0xC1FA 0x971C +0xC1FB 0x9A12 +0xC1FC 0x50CF +0xC1FD 0x5897 +0xC1FE 0x618E +0xC2A1 0x81D3 +0xC2A2 0x8535 +0xC2A3 0x8D08 +0xC2A4 0x9020 +0xC2A5 0x4FC3 +0xC2A6 0x5074 +0xC2A7 0x5247 +0xC2A8 0x5373 +0xC2A9 0x606F +0xC2AA 0x6349 +0xC2AB 0x675F +0xC2AC 0x6E2C +0xC2AD 0x8DB3 +0xC2AE 0x901F +0xC2AF 0x4FD7 +0xC2B0 0x5C5E +0xC2B1 0x8CCA +0xC2B2 0x65CF +0xC2B3 0x7D9A +0xC2B4 0x5352 +0xC2B5 0x8896 +0xC2B6 0x5176 +0xC2B7 0x63C3 +0xC2B8 0x5B58 +0xC2B9 0x5B6B +0xC2BA 0x5C0A +0xC2BB 0x640D +0xC2BC 0x6751 +0xC2BD 0x905C +0xC2BE 0x4ED6 +0xC2BF 0x591A +0xC2C0 0x592A +0xC2C1 0x6C70 +0xC2C2 0x8A51 +0xC2C3 0x553E +0xC2C4 0x5815 +0xC2C5 0x59A5 +0xC2C6 0x60F0 +0xC2C7 0x6253 +0xC2C8 0x67C1 +0xC2C9 0x8235 +0xC2CA 0x6955 +0xC2CB 0x9640 +0xC2CC 0x99C4 +0xC2CD 0x9A28 +0xC2CE 0x4F53 +0xC2CF 0x5806 +0xC2D0 0x5BFE +0xC2D1 0x8010 +0xC2D2 0x5CB1 +0xC2D3 0x5E2F +0xC2D4 0x5F85 +0xC2D5 0x6020 +0xC2D6 0x614B +0xC2D7 0x6234 +0xC2D8 0x66FF +0xC2D9 0x6CF0 +0xC2DA 0x6EDE +0xC2DB 0x80CE +0xC2DC 0x817F +0xC2DD 0x82D4 +0xC2DE 0x888B +0xC2DF 0x8CB8 +0xC2E0 0x9000 +0xC2E1 0x902E +0xC2E2 0x968A +0xC2E3 0x9EDB +0xC2E4 0x9BDB +0xC2E5 0x4EE3 +0xC2E6 0x53F0 +0xC2E7 0x5927 +0xC2E8 0x7B2C +0xC2E9 0x918D +0xC2EA 0x984C +0xC2EB 0x9DF9 +0xC2EC 0x6EDD +0xC2ED 0x7027 +0xC2EE 0x5353 +0xC2EF 0x5544 +0xC2F0 0x5B85 +0xC2F1 0x6258 +0xC2F2 0x629E +0xC2F3 0x62D3 +0xC2F4 0x6CA2 +0xC2F5 0x6FEF +0xC2F6 0x7422 +0xC2F7 0x8A17 +0xC2F8 0x9438 +0xC2F9 0x6FC1 +0xC2FA 0x8AFE +0xC2FB 0x8338 +0xC2FC 0x51E7 +0xC2FD 0x86F8 +0xC2FE 0x53EA +0xC3A1 0x53E9 +0xC3A2 0x4F46 +0xC3A3 0x9054 +0xC3A4 0x8FB0 +0xC3A5 0x596A +0xC3A6 0x8131 +0xC3A7 0x5DFD +0xC3A8 0x7AEA +0xC3A9 0x8FBF +0xC3AA 0x68DA +0xC3AB 0x8C37 +0xC3AC 0x72F8 +0xC3AD 0x9C48 +0xC3AE 0x6A3D +0xC3AF 0x8AB0 +0xC3B0 0x4E39 +0xC3B1 0x5358 +0xC3B2 0x5606 +0xC3B3 0x5766 +0xC3B4 0x62C5 +0xC3B5 0x63A2 +0xC3B6 0x65E6 +0xC3B7 0x6B4E +0xC3B8 0x6DE1 +0xC3B9 0x6E5B +0xC3BA 0x70AD +0xC3BB 0x77ED +0xC3BC 0x7AEF +0xC3BD 0x7BAA +0xC3BE 0x7DBB +0xC3BF 0x803D +0xC3C0 0x80C6 +0xC3C1 0x86CB +0xC3C2 0x8A95 +0xC3C3 0x935B +0xC3C4 0x56E3 +0xC3C5 0x58C7 +0xC3C6 0x5F3E +0xC3C7 0x65AD +0xC3C8 0x6696 +0xC3C9 0x6A80 +0xC3CA 0x6BB5 +0xC3CB 0x7537 +0xC3CC 0x8AC7 +0xC3CD 0x5024 +0xC3CE 0x77E5 +0xC3CF 0x5730 +0xC3D0 0x5F1B +0xC3D1 0x6065 +0xC3D2 0x667A +0xC3D3 0x6C60 +0xC3D4 0x75F4 +0xC3D5 0x7A1A +0xC3D6 0x7F6E +0xC3D7 0x81F4 +0xC3D8 0x8718 +0xC3D9 0x9045 +0xC3DA 0x99B3 +0xC3DB 0x7BC9 +0xC3DC 0x755C +0xC3DD 0x7AF9 +0xC3DE 0x7B51 +0xC3DF 0x84C4 +0xC3E0 0x9010 +0xC3E1 0x79E9 +0xC3E2 0x7A92 +0xC3E3 0x8336 +0xC3E4 0x5AE1 +0xC3E5 0x7740 +0xC3E6 0x4E2D +0xC3E7 0x4EF2 +0xC3E8 0x5B99 +0xC3E9 0x5FE0 +0xC3EA 0x62BD +0xC3EB 0x663C +0xC3EC 0x67F1 +0xC3ED 0x6CE8 +0xC3EE 0x866B +0xC3EF 0x8877 +0xC3F0 0x8A3B +0xC3F1 0x914E +0xC3F2 0x92F3 +0xC3F3 0x99D0 +0xC3F4 0x6A17 +0xC3F5 0x7026 +0xC3F6 0x732A +0xC3F7 0x82E7 +0xC3F8 0x8457 +0xC3F9 0x8CAF +0xC3FA 0x4E01 +0xC3FB 0x5146 +0xC3FC 0x51CB +0xC3FD 0x558B +0xC3FE 0x5BF5 +0xC4A1 0x5E16 +0xC4A2 0x5E33 +0xC4A3 0x5E81 +0xC4A4 0x5F14 +0xC4A5 0x5F35 +0xC4A6 0x5F6B +0xC4A7 0x5FB4 +0xC4A8 0x61F2 +0xC4A9 0x6311 +0xC4AA 0x66A2 +0xC4AB 0x671D +0xC4AC 0x6F6E +0xC4AD 0x7252 +0xC4AE 0x753A +0xC4AF 0x773A +0xC4B0 0x8074 +0xC4B1 0x8139 +0xC4B2 0x8178 +0xC4B3 0x8776 +0xC4B4 0x8ABF +0xC4B5 0x8ADC +0xC4B6 0x8D85 +0xC4B7 0x8DF3 +0xC4B8 0x929A +0xC4B9 0x9577 +0xC4BA 0x9802 +0xC4BB 0x9CE5 +0xC4BC 0x52C5 +0xC4BD 0x6357 +0xC4BE 0x76F4 +0xC4BF 0x6715 +0xC4C0 0x6C88 +0xC4C1 0x73CD +0xC4C2 0x8CC3 +0xC4C3 0x93AE +0xC4C4 0x9673 +0xC4C5 0x6D25 +0xC4C6 0x589C +0xC4C7 0x690E +0xC4C8 0x69CC +0xC4C9 0x8FFD +0xC4CA 0x939A +0xC4CB 0x75DB +0xC4CC 0x901A +0xC4CD 0x585A +0xC4CE 0x6802 +0xC4CF 0x63B4 +0xC4D0 0x69FB +0xC4D1 0x4F43 +0xC4D2 0x6F2C +0xC4D3 0x67D8 +0xC4D4 0x8FBB +0xC4D5 0x8526 +0xC4D6 0x7DB4 +0xC4D7 0x9354 +0xC4D8 0x693F +0xC4D9 0x6F70 +0xC4DA 0x576A +0xC4DB 0x58F7 +0xC4DC 0x5B2C +0xC4DD 0x7D2C +0xC4DE 0x722A +0xC4DF 0x540A +0xC4E0 0x91E3 +0xC4E1 0x9DB4 +0xC4E2 0x4EAD +0xC4E3 0x4F4E +0xC4E4 0x505C +0xC4E5 0x5075 +0xC4E6 0x5243 +0xC4E7 0x8C9E +0xC4E8 0x5448 +0xC4E9 0x5824 +0xC4EA 0x5B9A +0xC4EB 0x5E1D +0xC4EC 0x5E95 +0xC4ED 0x5EAD +0xC4EE 0x5EF7 +0xC4EF 0x5F1F +0xC4F0 0x608C +0xC4F1 0x62B5 +0xC4F2 0x633A +0xC4F3 0x63D0 +0xC4F4 0x68AF +0xC4F5 0x6C40 +0xC4F6 0x7887 +0xC4F7 0x798E +0xC4F8 0x7A0B +0xC4F9 0x7DE0 +0xC4FA 0x8247 +0xC4FB 0x8A02 +0xC4FC 0x8AE6 +0xC4FD 0x8E44 +0xC4FE 0x9013 +0xC5A1 0x90B8 +0xC5A2 0x912D +0xC5A3 0x91D8 +0xC5A4 0x9F0E +0xC5A5 0x6CE5 +0xC5A6 0x6458 +0xC5A7 0x64E2 +0xC5A8 0x6575 +0xC5A9 0x6EF4 +0xC5AA 0x7684 +0xC5AB 0x7B1B +0xC5AC 0x9069 +0xC5AD 0x93D1 +0xC5AE 0x6EBA +0xC5AF 0x54F2 +0xC5B0 0x5FB9 +0xC5B1 0x64A4 +0xC5B2 0x8F4D +0xC5B3 0x8FED +0xC5B4 0x9244 +0xC5B5 0x5178 +0xC5B6 0x586B +0xC5B7 0x5929 +0xC5B8 0x5C55 +0xC5B9 0x5E97 +0xC5BA 0x6DFB +0xC5BB 0x7E8F +0xC5BC 0x751C +0xC5BD 0x8CBC +0xC5BE 0x8EE2 +0xC5BF 0x985B +0xC5C0 0x70B9 +0xC5C1 0x4F1D +0xC5C2 0x6BBF +0xC5C3 0x6FB1 +0xC5C4 0x7530 +0xC5C5 0x96FB +0xC5C6 0x514E +0xC5C7 0x5410 +0xC5C8 0x5835 +0xC5C9 0x5857 +0xC5CA 0x59AC +0xC5CB 0x5C60 +0xC5CC 0x5F92 +0xC5CD 0x6597 +0xC5CE 0x675C +0xC5CF 0x6E21 +0xC5D0 0x767B +0xC5D1 0x83DF +0xC5D2 0x8CED +0xC5D3 0x9014 +0xC5D4 0x90FD +0xC5D5 0x934D +0xC5D6 0x7825 +0xC5D7 0x783A +0xC5D8 0x52AA +0xC5D9 0x5EA6 +0xC5DA 0x571F +0xC5DB 0x5974 +0xC5DC 0x6012 +0xC5DD 0x5012 +0xC5DE 0x515A +0xC5DF 0x51AC +0xC5E0 0x51CD +0xC5E1 0x5200 +0xC5E2 0x5510 +0xC5E3 0x5854 +0xC5E4 0x5858 +0xC5E5 0x5957 +0xC5E6 0x5B95 +0xC5E7 0x5CF6 +0xC5E8 0x5D8B +0xC5E9 0x60BC +0xC5EA 0x6295 +0xC5EB 0x642D +0xC5EC 0x6771 +0xC5ED 0x6843 +0xC5EE 0x68BC +0xC5EF 0x68DF +0xC5F0 0x76D7 +0xC5F1 0x6DD8 +0xC5F2 0x6E6F +0xC5F3 0x6D9B +0xC5F4 0x706F +0xC5F5 0x71C8 +0xC5F6 0x5F53 +0xC5F7 0x75D8 +0xC5F8 0x7977 +0xC5F9 0x7B49 +0xC5FA 0x7B54 +0xC5FB 0x7B52 +0xC5FC 0x7CD6 +0xC5FD 0x7D71 +0xC5FE 0x5230 +0xC6A1 0x8463 +0xC6A2 0x8569 +0xC6A3 0x85E4 +0xC6A4 0x8A0E +0xC6A5 0x8B04 +0xC6A6 0x8C46 +0xC6A7 0x8E0F +0xC6A8 0x9003 +0xC6A9 0x900F +0xC6AA 0x9419 +0xC6AB 0x9676 +0xC6AC 0x982D +0xC6AD 0x9A30 +0xC6AE 0x95D8 +0xC6AF 0x50CD +0xC6B0 0x52D5 +0xC6B1 0x540C +0xC6B2 0x5802 +0xC6B3 0x5C0E +0xC6B4 0x61A7 +0xC6B5 0x649E +0xC6B6 0x6D1E +0xC6B7 0x77B3 +0xC6B8 0x7AE5 +0xC6B9 0x80F4 +0xC6BA 0x8404 +0xC6BB 0x9053 +0xC6BC 0x9285 +0xC6BD 0x5CE0 +0xC6BE 0x9D07 +0xC6BF 0x533F +0xC6C0 0x5F97 +0xC6C1 0x5FB3 +0xC6C2 0x6D9C +0xC6C3 0x7279 +0xC6C4 0x7763 +0xC6C5 0x79BF +0xC6C6 0x7BE4 +0xC6C7 0x6BD2 +0xC6C8 0x72EC +0xC6C9 0x8AAD +0xC6CA 0x6803 +0xC6CB 0x6A61 +0xC6CC 0x51F8 +0xC6CD 0x7A81 +0xC6CE 0x6934 +0xC6CF 0x5C4A +0xC6D0 0x9CF6 +0xC6D1 0x82EB +0xC6D2 0x5BC5 +0xC6D3 0x9149 +0xC6D4 0x701E +0xC6D5 0x5678 +0xC6D6 0x5C6F +0xC6D7 0x60C7 +0xC6D8 0x6566 +0xC6D9 0x6C8C +0xC6DA 0x8C5A +0xC6DB 0x9041 +0xC6DC 0x9813 +0xC6DD 0x5451 +0xC6DE 0x66C7 +0xC6DF 0x920D +0xC6E0 0x5948 +0xC6E1 0x90A3 +0xC6E2 0x5185 +0xC6E3 0x4E4D +0xC6E4 0x51EA +0xC6E5 0x8599 +0xC6E6 0x8B0E +0xC6E7 0x7058 +0xC6E8 0x637A +0xC6E9 0x934B +0xC6EA 0x6962 +0xC6EB 0x99B4 +0xC6EC 0x7E04 +0xC6ED 0x7577 +0xC6EE 0x5357 +0xC6EF 0x6960 +0xC6F0 0x8EDF +0xC6F1 0x96E3 +0xC6F2 0x6C5D +0xC6F3 0x4E8C +0xC6F4 0x5C3C +0xC6F5 0x5F10 +0xC6F6 0x8FE9 +0xC6F7 0x5302 +0xC6F8 0x8CD1 +0xC6F9 0x8089 +0xC6FA 0x8679 +0xC6FB 0x5EFF +0xC6FC 0x65E5 +0xC6FD 0x4E73 +0xC6FE 0x5165 +0xC7A1 0x5982 +0xC7A2 0x5C3F +0xC7A3 0x97EE +0xC7A4 0x4EFB +0xC7A5 0x598A +0xC7A6 0x5FCD +0xC7A7 0x8A8D +0xC7A8 0x6FE1 +0xC7A9 0x79B0 +0xC7AA 0x7962 +0xC7AB 0x5BE7 +0xC7AC 0x8471 +0xC7AD 0x732B +0xC7AE 0x71B1 +0xC7AF 0x5E74 +0xC7B0 0x5FF5 +0xC7B1 0x637B +0xC7B2 0x649A +0xC7B3 0x71C3 +0xC7B4 0x7C98 +0xC7B5 0x4E43 +0xC7B6 0x5EFC +0xC7B7 0x4E4B +0xC7B8 0x57DC +0xC7B9 0x56A2 +0xC7BA 0x60A9 +0xC7BB 0x6FC3 +0xC7BC 0x7D0D +0xC7BD 0x80FD +0xC7BE 0x8133 +0xC7BF 0x81BF +0xC7C0 0x8FB2 +0xC7C1 0x8997 +0xC7C2 0x86A4 +0xC7C3 0x5DF4 +0xC7C4 0x628A +0xC7C5 0x64AD +0xC7C6 0x8987 +0xC7C7 0x6777 +0xC7C8 0x6CE2 +0xC7C9 0x6D3E +0xC7CA 0x7436 +0xC7CB 0x7834 +0xC7CC 0x5A46 +0xC7CD 0x7F75 +0xC7CE 0x82AD +0xC7CF 0x99AC +0xC7D0 0x4FF3 +0xC7D1 0x5EC3 +0xC7D2 0x62DD +0xC7D3 0x6392 +0xC7D4 0x6557 +0xC7D5 0x676F +0xC7D6 0x76C3 +0xC7D7 0x724C +0xC7D8 0x80CC +0xC7D9 0x80BA +0xC7DA 0x8F29 +0xC7DB 0x914D +0xC7DC 0x500D +0xC7DD 0x57F9 +0xC7DE 0x5A92 +0xC7DF 0x6885 +0xC7E0 0x6973 +0xC7E1 0x7164 +0xC7E2 0x72FD +0xC7E3 0x8CB7 +0xC7E4 0x58F2 +0xC7E5 0x8CE0 +0xC7E6 0x966A +0xC7E7 0x9019 +0xC7E8 0x877F +0xC7E9 0x79E4 +0xC7EA 0x77E7 +0xC7EB 0x8429 +0xC7EC 0x4F2F +0xC7ED 0x5265 +0xC7EE 0x535A +0xC7EF 0x62CD +0xC7F0 0x67CF +0xC7F1 0x6CCA +0xC7F2 0x767D +0xC7F3 0x7B94 +0xC7F4 0x7C95 +0xC7F5 0x8236 +0xC7F6 0x8584 +0xC7F7 0x8FEB +0xC7F8 0x66DD +0xC7F9 0x6F20 +0xC7FA 0x7206 +0xC7FB 0x7E1B +0xC7FC 0x83AB +0xC7FD 0x99C1 +0xC7FE 0x9EA6 +0xC8A1 0x51FD +0xC8A2 0x7BB1 +0xC8A3 0x7872 +0xC8A4 0x7BB8 +0xC8A5 0x8087 +0xC8A6 0x7B48 +0xC8A7 0x6AE8 +0xC8A8 0x5E61 +0xC8A9 0x808C +0xC8AA 0x7551 +0xC8AB 0x7560 +0xC8AC 0x516B +0xC8AD 0x9262 +0xC8AE 0x6E8C +0xC8AF 0x767A +0xC8B0 0x9197 +0xC8B1 0x9AEA +0xC8B2 0x4F10 +0xC8B3 0x7F70 +0xC8B4 0x629C +0xC8B5 0x7B4F +0xC8B6 0x95A5 +0xC8B7 0x9CE9 +0xC8B8 0x567A +0xC8B9 0x5859 +0xC8BA 0x86E4 +0xC8BB 0x96BC +0xC8BC 0x4F34 +0xC8BD 0x5224 +0xC8BE 0x534A +0xC8BF 0x53CD +0xC8C0 0x53DB +0xC8C1 0x5E06 +0xC8C2 0x642C +0xC8C3 0x6591 +0xC8C4 0x677F +0xC8C5 0x6C3E +0xC8C6 0x6C4E +0xC8C7 0x7248 +0xC8C8 0x72AF +0xC8C9 0x73ED +0xC8CA 0x7554 +0xC8CB 0x7E41 +0xC8CC 0x822C +0xC8CD 0x85E9 +0xC8CE 0x8CA9 +0xC8CF 0x7BC4 +0xC8D0 0x91C6 +0xC8D1 0x7169 +0xC8D2 0x9812 +0xC8D3 0x98EF +0xC8D4 0x633D +0xC8D5 0x6669 +0xC8D6 0x756A +0xC8D7 0x76E4 +0xC8D8 0x78D0 +0xC8D9 0x8543 +0xC8DA 0x86EE +0xC8DB 0x532A +0xC8DC 0x5351 +0xC8DD 0x5426 +0xC8DE 0x5983 +0xC8DF 0x5E87 +0xC8E0 0x5F7C +0xC8E1 0x60B2 +0xC8E2 0x6249 +0xC8E3 0x6279 +0xC8E4 0x62AB +0xC8E5 0x6590 +0xC8E6 0x6BD4 +0xC8E7 0x6CCC +0xC8E8 0x75B2 +0xC8E9 0x76AE +0xC8EA 0x7891 +0xC8EB 0x79D8 +0xC8EC 0x7DCB +0xC8ED 0x7F77 +0xC8EE 0x80A5 +0xC8EF 0x88AB +0xC8F0 0x8AB9 +0xC8F1 0x8CBB +0xC8F2 0x907F +0xC8F3 0x975E +0xC8F4 0x98DB +0xC8F5 0x6A0B +0xC8F6 0x7C38 +0xC8F7 0x5099 +0xC8F8 0x5C3E +0xC8F9 0x5FAE +0xC8FA 0x6787 +0xC8FB 0x6BD8 +0xC8FC 0x7435 +0xC8FD 0x7709 +0xC8FE 0x7F8E +0xC9A1 0x9F3B +0xC9A2 0x67CA +0xC9A3 0x7A17 +0xC9A4 0x5339 +0xC9A5 0x758B +0xC9A6 0x9AED +0xC9A7 0x5F66 +0xC9A8 0x819D +0xC9A9 0x83F1 +0xC9AA 0x8098 +0xC9AB 0x5F3C +0xC9AC 0x5FC5 +0xC9AD 0x7562 +0xC9AE 0x7B46 +0xC9AF 0x903C +0xC9B0 0x6867 +0xC9B1 0x59EB +0xC9B2 0x5A9B +0xC9B3 0x7D10 +0xC9B4 0x767E +0xC9B5 0x8B2C +0xC9B6 0x4FF5 +0xC9B7 0x5F6A +0xC9B8 0x6A19 +0xC9B9 0x6C37 +0xC9BA 0x6F02 +0xC9BB 0x74E2 +0xC9BC 0x7968 +0xC9BD 0x8868 +0xC9BE 0x8A55 +0xC9BF 0x8C79 +0xC9C0 0x5EDF +0xC9C1 0x63CF +0xC9C2 0x75C5 +0xC9C3 0x79D2 +0xC9C4 0x82D7 +0xC9C5 0x9328 +0xC9C6 0x92F2 +0xC9C7 0x849C +0xC9C8 0x86ED +0xC9C9 0x9C2D +0xC9CA 0x54C1 +0xC9CB 0x5F6C +0xC9CC 0x658C +0xC9CD 0x6D5C +0xC9CE 0x7015 +0xC9CF 0x8CA7 +0xC9D0 0x8CD3 +0xC9D1 0x983B +0xC9D2 0x654F +0xC9D3 0x74F6 +0xC9D4 0x4E0D +0xC9D5 0x4ED8 +0xC9D6 0x57E0 +0xC9D7 0x592B +0xC9D8 0x5A66 +0xC9D9 0x5BCC +0xC9DA 0x51A8 +0xC9DB 0x5E03 +0xC9DC 0x5E9C +0xC9DD 0x6016 +0xC9DE 0x6276 +0xC9DF 0x6577 +0xC9E0 0x65A7 +0xC9E1 0x666E +0xC9E2 0x6D6E +0xC9E3 0x7236 +0xC9E4 0x7B26 +0xC9E5 0x8150 +0xC9E6 0x819A +0xC9E7 0x8299 +0xC9E8 0x8B5C +0xC9E9 0x8CA0 +0xC9EA 0x8CE6 +0xC9EB 0x8D74 +0xC9EC 0x961C +0xC9ED 0x9644 +0xC9EE 0x4FAE +0xC9EF 0x64AB +0xC9F0 0x6B66 +0xC9F1 0x821E +0xC9F2 0x8461 +0xC9F3 0x856A +0xC9F4 0x90E8 +0xC9F5 0x5C01 +0xC9F6 0x6953 +0xC9F7 0x98A8 +0xC9F8 0x847A +0xC9F9 0x8557 +0xC9FA 0x4F0F +0xC9FB 0x526F +0xC9FC 0x5FA9 +0xC9FD 0x5E45 +0xC9FE 0x670D +0xCAA1 0x798F +0xCAA2 0x8179 +0xCAA3 0x8907 +0xCAA4 0x8986 +0xCAA5 0x6DF5 +0xCAA6 0x5F17 +0xCAA7 0x6255 +0xCAA8 0x6CB8 +0xCAA9 0x4ECF +0xCAAA 0x7269 +0xCAAB 0x9B92 +0xCAAC 0x5206 +0xCAAD 0x543B +0xCAAE 0x5674 +0xCAAF 0x58B3 +0xCAB0 0x61A4 +0xCAB1 0x626E +0xCAB2 0x711A +0xCAB3 0x596E +0xCAB4 0x7C89 +0xCAB5 0x7CDE +0xCAB6 0x7D1B +0xCAB7 0x96F0 +0xCAB8 0x6587 +0xCAB9 0x805E +0xCABA 0x4E19 +0xCABB 0x4F75 +0xCABC 0x5175 +0xCABD 0x5840 +0xCABE 0x5E63 +0xCABF 0x5E73 +0xCAC0 0x5F0A +0xCAC1 0x67C4 +0xCAC2 0x4E26 +0xCAC3 0x853D +0xCAC4 0x9589 +0xCAC5 0x965B +0xCAC6 0x7C73 +0xCAC7 0x9801 +0xCAC8 0x50FB +0xCAC9 0x58C1 +0xCACA 0x7656 +0xCACB 0x78A7 +0xCACC 0x5225 +0xCACD 0x77A5 +0xCACE 0x8511 +0xCACF 0x7B86 +0xCAD0 0x504F +0xCAD1 0x5909 +0xCAD2 0x7247 +0xCAD3 0x7BC7 +0xCAD4 0x7DE8 +0xCAD5 0x8FBA +0xCAD6 0x8FD4 +0xCAD7 0x904D +0xCAD8 0x4FBF +0xCAD9 0x52C9 +0xCADA 0x5A29 +0xCADB 0x5F01 +0xCADC 0x97AD +0xCADD 0x4FDD +0xCADE 0x8217 +0xCADF 0x92EA +0xCAE0 0x5703 +0xCAE1 0x6355 +0xCAE2 0x6B69 +0xCAE3 0x752B +0xCAE4 0x88DC +0xCAE5 0x8F14 +0xCAE6 0x7A42 +0xCAE7 0x52DF +0xCAE8 0x5893 +0xCAE9 0x6155 +0xCAEA 0x620A +0xCAEB 0x66AE +0xCAEC 0x6BCD +0xCAED 0x7C3F +0xCAEE 0x83E9 +0xCAEF 0x5023 +0xCAF0 0x4FF8 +0xCAF1 0x5305 +0xCAF2 0x5446 +0xCAF3 0x5831 +0xCAF4 0x5949 +0xCAF5 0x5B9D +0xCAF6 0x5CF0 +0xCAF7 0x5CEF +0xCAF8 0x5D29 +0xCAF9 0x5E96 +0xCAFA 0x62B1 +0xCAFB 0x6367 +0xCAFC 0x653E +0xCAFD 0x65B9 +0xCAFE 0x670B +0xCBA1 0x6CD5 +0xCBA2 0x6CE1 +0xCBA3 0x70F9 +0xCBA4 0x7832 +0xCBA5 0x7E2B +0xCBA6 0x80DE +0xCBA7 0x82B3 +0xCBA8 0x840C +0xCBA9 0x84EC +0xCBAA 0x8702 +0xCBAB 0x8912 +0xCBAC 0x8A2A +0xCBAD 0x8C4A +0xCBAE 0x90A6 +0xCBAF 0x92D2 +0xCBB0 0x98FD +0xCBB1 0x9CF3 +0xCBB2 0x9D6C +0xCBB3 0x4E4F +0xCBB4 0x4EA1 +0xCBB5 0x508D +0xCBB6 0x5256 +0xCBB7 0x574A +0xCBB8 0x59A8 +0xCBB9 0x5E3D +0xCBBA 0x5FD8 +0xCBBB 0x5FD9 +0xCBBC 0x623F +0xCBBD 0x66B4 +0xCBBE 0x671B +0xCBBF 0x67D0 +0xCBC0 0x68D2 +0xCBC1 0x5192 +0xCBC2 0x7D21 +0xCBC3 0x80AA +0xCBC4 0x81A8 +0xCBC5 0x8B00 +0xCBC6 0x8C8C +0xCBC7 0x8CBF +0xCBC8 0x927E +0xCBC9 0x9632 +0xCBCA 0x5420 +0xCBCB 0x982C +0xCBCC 0x5317 +0xCBCD 0x50D5 +0xCBCE 0x535C +0xCBCF 0x58A8 +0xCBD0 0x64B2 +0xCBD1 0x6734 +0xCBD2 0x7267 +0xCBD3 0x7766 +0xCBD4 0x7A46 +0xCBD5 0x91E6 +0xCBD6 0x52C3 +0xCBD7 0x6CA1 +0xCBD8 0x6B86 +0xCBD9 0x5800 +0xCBDA 0x5E4C +0xCBDB 0x5954 +0xCBDC 0x672C +0xCBDD 0x7FFB +0xCBDE 0x51E1 +0xCBDF 0x76C6 +0xCBE0 0x6469 +0xCBE1 0x78E8 +0xCBE2 0x9B54 +0xCBE3 0x9EBB +0xCBE4 0x57CB +0xCBE5 0x59B9 +0xCBE6 0x6627 +0xCBE7 0x679A +0xCBE8 0x6BCE +0xCBE9 0x54E9 +0xCBEA 0x69D9 +0xCBEB 0x5E55 +0xCBEC 0x819C +0xCBED 0x6795 +0xCBEE 0x9BAA +0xCBEF 0x67FE +0xCBF0 0x9C52 +0xCBF1 0x685D +0xCBF2 0x4EA6 +0xCBF3 0x4FE3 +0xCBF4 0x53C8 +0xCBF5 0x62B9 +0xCBF6 0x672B +0xCBF7 0x6CAB +0xCBF8 0x8FC4 +0xCBF9 0x4FAD +0xCBFA 0x7E6D +0xCBFB 0x9EBF +0xCBFC 0x4E07 +0xCBFD 0x6162 +0xCBFE 0x6E80 +0xCCA1 0x6F2B +0xCCA2 0x8513 +0xCCA3 0x5473 +0xCCA4 0x672A +0xCCA5 0x9B45 +0xCCA6 0x5DF3 +0xCCA7 0x7B95 +0xCCA8 0x5CAC +0xCCA9 0x5BC6 +0xCCAA 0x871C +0xCCAB 0x6E4A +0xCCAC 0x84D1 +0xCCAD 0x7A14 +0xCCAE 0x8108 +0xCCAF 0x5999 +0xCCB0 0x7C8D +0xCCB1 0x6C11 +0xCCB2 0x7720 +0xCCB3 0x52D9 +0xCCB4 0x5922 +0xCCB5 0x7121 +0xCCB6 0x725F +0xCCB7 0x77DB +0xCCB8 0x9727 +0xCCB9 0x9D61 +0xCCBA 0x690B +0xCCBB 0x5A7F +0xCCBC 0x5A18 +0xCCBD 0x51A5 +0xCCBE 0x540D +0xCCBF 0x547D +0xCCC0 0x660E +0xCCC1 0x76DF +0xCCC2 0x8FF7 +0xCCC3 0x9298 +0xCCC4 0x9CF4 +0xCCC5 0x59EA +0xCCC6 0x725D +0xCCC7 0x6EC5 +0xCCC8 0x514D +0xCCC9 0x68C9 +0xCCCA 0x7DBF +0xCCCB 0x7DEC +0xCCCC 0x9762 +0xCCCD 0x9EBA +0xCCCE 0x6478 +0xCCCF 0x6A21 +0xCCD0 0x8302 +0xCCD1 0x5984 +0xCCD2 0x5B5F +0xCCD3 0x6BDB +0xCCD4 0x731B +0xCCD5 0x76F2 +0xCCD6 0x7DB2 +0xCCD7 0x8017 +0xCCD8 0x8499 +0xCCD9 0x5132 +0xCCDA 0x6728 +0xCCDB 0x9ED9 +0xCCDC 0x76EE +0xCCDD 0x6762 +0xCCDE 0x52FF +0xCCDF 0x9905 +0xCCE0 0x5C24 +0xCCE1 0x623B +0xCCE2 0x7C7E +0xCCE3 0x8CB0 +0xCCE4 0x554F +0xCCE5 0x60B6 +0xCCE6 0x7D0B +0xCCE7 0x9580 +0xCCE8 0x5301 +0xCCE9 0x4E5F +0xCCEA 0x51B6 +0xCCEB 0x591C +0xCCEC 0x723A +0xCCED 0x8036 +0xCCEE 0x91CE +0xCCEF 0x5F25 +0xCCF0 0x77E2 +0xCCF1 0x5384 +0xCCF2 0x5F79 +0xCCF3 0x7D04 +0xCCF4 0x85AC +0xCCF5 0x8A33 +0xCCF6 0x8E8D +0xCCF7 0x9756 +0xCCF8 0x67F3 +0xCCF9 0x85AE +0xCCFA 0x9453 +0xCCFB 0x6109 +0xCCFC 0x6108 +0xCCFD 0x6CB9 +0xCCFE 0x7652 +0xCDA1 0x8AED +0xCDA2 0x8F38 +0xCDA3 0x552F +0xCDA4 0x4F51 +0xCDA5 0x512A +0xCDA6 0x52C7 +0xCDA7 0x53CB +0xCDA8 0x5BA5 +0xCDA9 0x5E7D +0xCDAA 0x60A0 +0xCDAB 0x6182 +0xCDAC 0x63D6 +0xCDAD 0x6709 +0xCDAE 0x67DA +0xCDAF 0x6E67 +0xCDB0 0x6D8C +0xCDB1 0x7336 +0xCDB2 0x7337 +0xCDB3 0x7531 +0xCDB4 0x7950 +0xCDB5 0x88D5 +0xCDB6 0x8A98 +0xCDB7 0x904A +0xCDB8 0x9091 +0xCDB9 0x90F5 +0xCDBA 0x96C4 +0xCDBB 0x878D +0xCDBC 0x5915 +0xCDBD 0x4E88 +0xCDBE 0x4F59 +0xCDBF 0x4E0E +0xCDC0 0x8A89 +0xCDC1 0x8F3F +0xCDC2 0x9810 +0xCDC3 0x50AD +0xCDC4 0x5E7C +0xCDC5 0x5996 +0xCDC6 0x5BB9 +0xCDC7 0x5EB8 +0xCDC8 0x63DA +0xCDC9 0x63FA +0xCDCA 0x64C1 +0xCDCB 0x66DC +0xCDCC 0x694A +0xCDCD 0x69D8 +0xCDCE 0x6D0B +0xCDCF 0x6EB6 +0xCDD0 0x7194 +0xCDD1 0x7528 +0xCDD2 0x7AAF +0xCDD3 0x7F8A +0xCDD4 0x8000 +0xCDD5 0x8449 +0xCDD6 0x84C9 +0xCDD7 0x8981 +0xCDD8 0x8B21 +0xCDD9 0x8E0A +0xCDDA 0x9065 +0xCDDB 0x967D +0xCDDC 0x990A +0xCDDD 0x617E +0xCDDE 0x6291 +0xCDDF 0x6B32 +0xCDE0 0x6C83 +0xCDE1 0x6D74 +0xCDE2 0x7FCC +0xCDE3 0x7FFC +0xCDE4 0x6DC0 +0xCDE5 0x7F85 +0xCDE6 0x87BA +0xCDE7 0x88F8 +0xCDE8 0x6765 +0xCDE9 0x83B1 +0xCDEA 0x983C +0xCDEB 0x96F7 +0xCDEC 0x6D1B +0xCDED 0x7D61 +0xCDEE 0x843D +0xCDEF 0x916A +0xCDF0 0x4E71 +0xCDF1 0x5375 +0xCDF2 0x5D50 +0xCDF3 0x6B04 +0xCDF4 0x6FEB +0xCDF5 0x85CD +0xCDF6 0x862D +0xCDF7 0x89A7 +0xCDF8 0x5229 +0xCDF9 0x540F +0xCDFA 0x5C65 +0xCDFB 0x674E +0xCDFC 0x68A8 +0xCDFD 0x7406 +0xCDFE 0x7483 +0xCEA1 0x75E2 +0xCEA2 0x88CF +0xCEA3 0x88E1 +0xCEA4 0x91CC +0xCEA5 0x96E2 +0xCEA6 0x9678 +0xCEA7 0x5F8B +0xCEA8 0x7387 +0xCEA9 0x7ACB +0xCEAA 0x844E +0xCEAB 0x63A0 +0xCEAC 0x7565 +0xCEAD 0x5289 +0xCEAE 0x6D41 +0xCEAF 0x6E9C +0xCEB0 0x7409 +0xCEB1 0x7559 +0xCEB2 0x786B +0xCEB3 0x7C92 +0xCEB4 0x9686 +0xCEB5 0x7ADC +0xCEB6 0x9F8D +0xCEB7 0x4FB6 +0xCEB8 0x616E +0xCEB9 0x65C5 +0xCEBA 0x865C +0xCEBB 0x4E86 +0xCEBC 0x4EAE +0xCEBD 0x50DA +0xCEBE 0x4E21 +0xCEBF 0x51CC +0xCEC0 0x5BEE +0xCEC1 0x6599 +0xCEC2 0x6881 +0xCEC3 0x6DBC +0xCEC4 0x731F +0xCEC5 0x7642 +0xCEC6 0x77AD +0xCEC7 0x7A1C +0xCEC8 0x7CE7 +0xCEC9 0x826F +0xCECA 0x8AD2 +0xCECB 0x907C +0xCECC 0x91CF +0xCECD 0x9675 +0xCECE 0x9818 +0xCECF 0x529B +0xCED0 0x7DD1 +0xCED1 0x502B +0xCED2 0x5398 +0xCED3 0x6797 +0xCED4 0x6DCB +0xCED5 0x71D0 +0xCED6 0x7433 +0xCED7 0x81E8 +0xCED8 0x8F2A +0xCED9 0x96A3 +0xCEDA 0x9C57 +0xCEDB 0x9E9F +0xCEDC 0x7460 +0xCEDD 0x5841 +0xCEDE 0x6D99 +0xCEDF 0x7D2F +0xCEE0 0x985E +0xCEE1 0x4EE4 +0xCEE2 0x4F36 +0xCEE3 0x4F8B +0xCEE4 0x51B7 +0xCEE5 0x52B1 +0xCEE6 0x5DBA +0xCEE7 0x601C +0xCEE8 0x73B2 +0xCEE9 0x793C +0xCEEA 0x82D3 +0xCEEB 0x9234 +0xCEEC 0x96B7 +0xCEED 0x96F6 +0xCEEE 0x970A +0xCEEF 0x9E97 +0xCEF0 0x9F62 +0xCEF1 0x66A6 +0xCEF2 0x6B74 +0xCEF3 0x5217 +0xCEF4 0x52A3 +0xCEF5 0x70C8 +0xCEF6 0x88C2 +0xCEF7 0x5EC9 +0xCEF8 0x604B +0xCEF9 0x6190 +0xCEFA 0x6F23 +0xCEFB 0x7149 +0xCEFC 0x7C3E +0xCEFD 0x7DF4 +0xCEFE 0x806F +0xCFA1 0x84EE +0xCFA2 0x9023 +0xCFA3 0x932C +0xCFA4 0x5442 +0xCFA5 0x9B6F +0xCFA6 0x6AD3 +0xCFA7 0x7089 +0xCFA8 0x8CC2 +0xCFA9 0x8DEF +0xCFAA 0x9732 +0xCFAB 0x52B4 +0xCFAC 0x5A41 +0xCFAD 0x5ECA +0xCFAE 0x5F04 +0xCFAF 0x6717 +0xCFB0 0x697C +0xCFB1 0x6994 +0xCFB2 0x6D6A +0xCFB3 0x6F0F +0xCFB4 0x7262 +0xCFB5 0x72FC +0xCFB6 0x7BED +0xCFB7 0x8001 +0xCFB8 0x807E +0xCFB9 0x874B +0xCFBA 0x90CE +0xCFBB 0x516D +0xCFBC 0x9E93 +0xCFBD 0x7984 +0xCFBE 0x808B +0xCFBF 0x9332 +0xCFC0 0x8AD6 +0xCFC1 0x502D +0xCFC2 0x548C +0xCFC3 0x8A71 +0xCFC4 0x6B6A +0xCFC5 0x8CC4 +0xCFC6 0x8107 +0xCFC7 0x60D1 +0xCFC8 0x67A0 +0xCFC9 0x9DF2 +0xCFCA 0x4E99 +0xCFCB 0x4E98 +0xCFCC 0x9C10 +0xCFCD 0x8A6B +0xCFCE 0x85C1 +0xCFCF 0x8568 +0xCFD0 0x6900 +0xCFD1 0x6E7E +0xCFD2 0x7897 +0xCFD3 0x8155 +0xD0A1 0x5F0C +0xD0A2 0x4E10 +0xD0A3 0x4E15 +0xD0A4 0x4E2A +0xD0A5 0x4E31 +0xD0A6 0x4E36 +0xD0A7 0x4E3C +0xD0A8 0x4E3F +0xD0A9 0x4E42 +0xD0AA 0x4E56 +0xD0AB 0x4E58 +0xD0AC 0x4E82 +0xD0AD 0x4E85 +0xD0AE 0x8C6B +0xD0AF 0x4E8A +0xD0B0 0x8212 +0xD0B1 0x5F0D +0xD0B2 0x4E8E +0xD0B3 0x4E9E +0xD0B4 0x4E9F +0xD0B5 0x4EA0 +0xD0B6 0x4EA2 +0xD0B7 0x4EB0 +0xD0B8 0x4EB3 +0xD0B9 0x4EB6 +0xD0BA 0x4ECE +0xD0BB 0x4ECD +0xD0BC 0x4EC4 +0xD0BD 0x4EC6 +0xD0BE 0x4EC2 +0xD0BF 0x4ED7 +0xD0C0 0x4EDE +0xD0C1 0x4EED +0xD0C2 0x4EDF +0xD0C3 0x4EF7 +0xD0C4 0x4F09 +0xD0C5 0x4F5A +0xD0C6 0x4F30 +0xD0C7 0x4F5B +0xD0C8 0x4F5D +0xD0C9 0x4F57 +0xD0CA 0x4F47 +0xD0CB 0x4F76 +0xD0CC 0x4F88 +0xD0CD 0x4F8F +0xD0CE 0x4F98 +0xD0CF 0x4F7B +0xD0D0 0x4F69 +0xD0D1 0x4F70 +0xD0D2 0x4F91 +0xD0D3 0x4F6F +0xD0D4 0x4F86 +0xD0D5 0x4F96 +0xD0D6 0x5118 +0xD0D7 0x4FD4 +0xD0D8 0x4FDF +0xD0D9 0x4FCE +0xD0DA 0x4FD8 +0xD0DB 0x4FDB +0xD0DC 0x4FD1 +0xD0DD 0x4FDA +0xD0DE 0x4FD0 +0xD0DF 0x4FE4 +0xD0E0 0x4FE5 +0xD0E1 0x501A +0xD0E2 0x5028 +0xD0E3 0x5014 +0xD0E4 0x502A +0xD0E5 0x5025 +0xD0E6 0x5005 +0xD0E7 0x4F1C +0xD0E8 0x4FF6 +0xD0E9 0x5021 +0xD0EA 0x5029 +0xD0EB 0x502C +0xD0EC 0x4FFE +0xD0ED 0x4FEF +0xD0EE 0x5011 +0xD0EF 0x5006 +0xD0F0 0x5043 +0xD0F1 0x5047 +0xD0F2 0x6703 +0xD0F3 0x5055 +0xD0F4 0x5050 +0xD0F5 0x5048 +0xD0F6 0x505A +0xD0F7 0x5056 +0xD0F8 0x506C +0xD0F9 0x5078 +0xD0FA 0x5080 +0xD0FB 0x509A +0xD0FC 0x5085 +0xD0FD 0x50B4 +0xD0FE 0x50B2 +0xD1A1 0x50C9 +0xD1A2 0x50CA +0xD1A3 0x50B3 +0xD1A4 0x50C2 +0xD1A5 0x50D6 +0xD1A6 0x50DE +0xD1A7 0x50E5 +0xD1A8 0x50ED +0xD1A9 0x50E3 +0xD1AA 0x50EE +0xD1AB 0x50F9 +0xD1AC 0x50F5 +0xD1AD 0x5109 +0xD1AE 0x5101 +0xD1AF 0x5102 +0xD1B0 0x5116 +0xD1B1 0x5115 +0xD1B2 0x5114 +0xD1B3 0x511A +0xD1B4 0x5121 +0xD1B5 0x513A +0xD1B6 0x5137 +0xD1B7 0x513C +0xD1B8 0x513B +0xD1B9 0x513F +0xD1BA 0x5140 +0xD1BB 0x5152 +0xD1BC 0x514C +0xD1BD 0x5154 +0xD1BE 0x5162 +0xD1BF 0x7AF8 +0xD1C0 0x5169 +0xD1C1 0x516A +0xD1C2 0x516E +0xD1C3 0x5180 +0xD1C4 0x5182 +0xD1C5 0x56D8 +0xD1C6 0x518C +0xD1C7 0x5189 +0xD1C8 0x518F +0xD1C9 0x5191 +0xD1CA 0x5193 +0xD1CB 0x5195 +0xD1CC 0x5196 +0xD1CD 0x51A4 +0xD1CE 0x51A6 +0xD1CF 0x51A2 +0xD1D0 0x51A9 +0xD1D1 0x51AA +0xD1D2 0x51AB +0xD1D3 0x51B3 +0xD1D4 0x51B1 +0xD1D5 0x51B2 +0xD1D6 0x51B0 +0xD1D7 0x51B5 +0xD1D8 0x51BD +0xD1D9 0x51C5 +0xD1DA 0x51C9 +0xD1DB 0x51DB +0xD1DC 0x51E0 +0xD1DD 0x8655 +0xD1DE 0x51E9 +0xD1DF 0x51ED +0xD1E0 0x51F0 +0xD1E1 0x51F5 +0xD1E2 0x51FE +0xD1E3 0x5204 +0xD1E4 0x520B +0xD1E5 0x5214 +0xD1E6 0x520E +0xD1E7 0x5227 +0xD1E8 0x522A +0xD1E9 0x522E +0xD1EA 0x5233 +0xD1EB 0x5239 +0xD1EC 0x524F +0xD1ED 0x5244 +0xD1EE 0x524B +0xD1EF 0x524C +0xD1F0 0x525E +0xD1F1 0x5254 +0xD1F2 0x526A +0xD1F3 0x5274 +0xD1F4 0x5269 +0xD1F5 0x5273 +0xD1F6 0x527F +0xD1F7 0x527D +0xD1F8 0x528D +0xD1F9 0x5294 +0xD1FA 0x5292 +0xD1FB 0x5271 +0xD1FC 0x5288 +0xD1FD 0x5291 +0xD1FE 0x8FA8 +0xD2A1 0x8FA7 +0xD2A2 0x52AC +0xD2A3 0x52AD +0xD2A4 0x52BC +0xD2A5 0x52B5 +0xD2A6 0x52C1 +0xD2A7 0x52CD +0xD2A8 0x52D7 +0xD2A9 0x52DE +0xD2AA 0x52E3 +0xD2AB 0x52E6 +0xD2AC 0x98ED +0xD2AD 0x52E0 +0xD2AE 0x52F3 +0xD2AF 0x52F5 +0xD2B0 0x52F8 +0xD2B1 0x52F9 +0xD2B2 0x5306 +0xD2B3 0x5308 +0xD2B4 0x7538 +0xD2B5 0x530D +0xD2B6 0x5310 +0xD2B7 0x530F +0xD2B8 0x5315 +0xD2B9 0x531A +0xD2BA 0x5323 +0xD2BB 0x532F +0xD2BC 0x5331 +0xD2BD 0x5333 +0xD2BE 0x5338 +0xD2BF 0x5340 +0xD2C0 0x5346 +0xD2C1 0x5345 +0xD2C2 0x4E17 +0xD2C3 0x5349 +0xD2C4 0x534D +0xD2C5 0x51D6 +0xD2C6 0x535E +0xD2C7 0x5369 +0xD2C8 0x536E +0xD2C9 0x5918 +0xD2CA 0x537B +0xD2CB 0x5377 +0xD2CC 0x5382 +0xD2CD 0x5396 +0xD2CE 0x53A0 +0xD2CF 0x53A6 +0xD2D0 0x53A5 +0xD2D1 0x53AE +0xD2D2 0x53B0 +0xD2D3 0x53B6 +0xD2D4 0x53C3 +0xD2D5 0x7C12 +0xD2D6 0x96D9 +0xD2D7 0x53DF +0xD2D8 0x66FC +0xD2D9 0x71EE +0xD2DA 0x53EE +0xD2DB 0x53E8 +0xD2DC 0x53ED +0xD2DD 0x53FA +0xD2DE 0x5401 +0xD2DF 0x543D +0xD2E0 0x5440 +0xD2E1 0x542C +0xD2E2 0x542D +0xD2E3 0x543C +0xD2E4 0x542E +0xD2E5 0x5436 +0xD2E6 0x5429 +0xD2E7 0x541D +0xD2E8 0x544E +0xD2E9 0x548F +0xD2EA 0x5475 +0xD2EB 0x548E +0xD2EC 0x545F +0xD2ED 0x5471 +0xD2EE 0x5477 +0xD2EF 0x5470 +0xD2F0 0x5492 +0xD2F1 0x547B +0xD2F2 0x5480 +0xD2F3 0x5476 +0xD2F4 0x5484 +0xD2F5 0x5490 +0xD2F6 0x5486 +0xD2F7 0x54C7 +0xD2F8 0x54A2 +0xD2F9 0x54B8 +0xD2FA 0x54A5 +0xD2FB 0x54AC +0xD2FC 0x54C4 +0xD2FD 0x54C8 +0xD2FE 0x54A8 +0xD3A1 0x54AB +0xD3A2 0x54C2 +0xD3A3 0x54A4 +0xD3A4 0x54BE +0xD3A5 0x54BC +0xD3A6 0x54D8 +0xD3A7 0x54E5 +0xD3A8 0x54E6 +0xD3A9 0x550F +0xD3AA 0x5514 +0xD3AB 0x54FD +0xD3AC 0x54EE +0xD3AD 0x54ED +0xD3AE 0x54FA +0xD3AF 0x54E2 +0xD3B0 0x5539 +0xD3B1 0x5540 +0xD3B2 0x5563 +0xD3B3 0x554C +0xD3B4 0x552E +0xD3B5 0x555C +0xD3B6 0x5545 +0xD3B7 0x5556 +0xD3B8 0x5557 +0xD3B9 0x5538 +0xD3BA 0x5533 +0xD3BB 0x555D +0xD3BC 0x5599 +0xD3BD 0x5580 +0xD3BE 0x54AF +0xD3BF 0x558A +0xD3C0 0x559F +0xD3C1 0x557B +0xD3C2 0x557E +0xD3C3 0x5598 +0xD3C4 0x559E +0xD3C5 0x55AE +0xD3C6 0x557C +0xD3C7 0x5583 +0xD3C8 0x55A9 +0xD3C9 0x5587 +0xD3CA 0x55A8 +0xD3CB 0x55DA +0xD3CC 0x55C5 +0xD3CD 0x55DF +0xD3CE 0x55C4 +0xD3CF 0x55DC +0xD3D0 0x55E4 +0xD3D1 0x55D4 +0xD3D2 0x5614 +0xD3D3 0x55F7 +0xD3D4 0x5616 +0xD3D5 0x55FE +0xD3D6 0x55FD +0xD3D7 0x561B +0xD3D8 0x55F9 +0xD3D9 0x564E +0xD3DA 0x5650 +0xD3DB 0x71DF +0xD3DC 0x5634 +0xD3DD 0x5636 +0xD3DE 0x5632 +0xD3DF 0x5638 +0xD3E0 0x566B +0xD3E1 0x5664 +0xD3E2 0x562F +0xD3E3 0x566C +0xD3E4 0x566A +0xD3E5 0x5686 +0xD3E6 0x5680 +0xD3E7 0x568A +0xD3E8 0x56A0 +0xD3E9 0x5694 +0xD3EA 0x568F +0xD3EB 0x56A5 +0xD3EC 0x56AE +0xD3ED 0x56B6 +0xD3EE 0x56B4 +0xD3EF 0x56C2 +0xD3F0 0x56BC +0xD3F1 0x56C1 +0xD3F2 0x56C3 +0xD3F3 0x56C0 +0xD3F4 0x56C8 +0xD3F5 0x56CE +0xD3F6 0x56D1 +0xD3F7 0x56D3 +0xD3F8 0x56D7 +0xD3F9 0x56EE +0xD3FA 0x56F9 +0xD3FB 0x5700 +0xD3FC 0x56FF +0xD3FD 0x5704 +0xD3FE 0x5709 +0xD4A1 0x5708 +0xD4A2 0x570B +0xD4A3 0x570D +0xD4A4 0x5713 +0xD4A5 0x5718 +0xD4A6 0x5716 +0xD4A7 0x55C7 +0xD4A8 0x571C +0xD4A9 0x5726 +0xD4AA 0x5737 +0xD4AB 0x5738 +0xD4AC 0x574E +0xD4AD 0x573B +0xD4AE 0x5740 +0xD4AF 0x574F +0xD4B0 0x5769 +0xD4B1 0x57C0 +0xD4B2 0x5788 +0xD4B3 0x5761 +0xD4B4 0x577F +0xD4B5 0x5789 +0xD4B6 0x5793 +0xD4B7 0x57A0 +0xD4B8 0x57B3 +0xD4B9 0x57A4 +0xD4BA 0x57AA +0xD4BB 0x57B0 +0xD4BC 0x57C3 +0xD4BD 0x57C6 +0xD4BE 0x57D4 +0xD4BF 0x57D2 +0xD4C0 0x57D3 +0xD4C1 0x580A +0xD4C2 0x57D6 +0xD4C3 0x57E3 +0xD4C4 0x580B +0xD4C5 0x5819 +0xD4C6 0x581D +0xD4C7 0x5872 +0xD4C8 0x5821 +0xD4C9 0x5862 +0xD4CA 0x584B +0xD4CB 0x5870 +0xD4CC 0x6BC0 +0xD4CD 0x5852 +0xD4CE 0x583D +0xD4CF 0x5879 +0xD4D0 0x5885 +0xD4D1 0x58B9 +0xD4D2 0x589F +0xD4D3 0x58AB +0xD4D4 0x58BA +0xD4D5 0x58DE +0xD4D6 0x58BB +0xD4D7 0x58B8 +0xD4D8 0x58AE +0xD4D9 0x58C5 +0xD4DA 0x58D3 +0xD4DB 0x58D1 +0xD4DC 0x58D7 +0xD4DD 0x58D9 +0xD4DE 0x58D8 +0xD4DF 0x58E5 +0xD4E0 0x58DC +0xD4E1 0x58E4 +0xD4E2 0x58DF +0xD4E3 0x58EF +0xD4E4 0x58FA +0xD4E5 0x58F9 +0xD4E6 0x58FB +0xD4E7 0x58FC +0xD4E8 0x58FD +0xD4E9 0x5902 +0xD4EA 0x590A +0xD4EB 0x5910 +0xD4EC 0x591B +0xD4ED 0x68A6 +0xD4EE 0x5925 +0xD4EF 0x592C +0xD4F0 0x592D +0xD4F1 0x5932 +0xD4F2 0x5938 +0xD4F3 0x593E +0xD4F4 0x7AD2 +0xD4F5 0x5955 +0xD4F6 0x5950 +0xD4F7 0x594E +0xD4F8 0x595A +0xD4F9 0x5958 +0xD4FA 0x5962 +0xD4FB 0x5960 +0xD4FC 0x5967 +0xD4FD 0x596C +0xD4FE 0x5969 +0xD5A1 0x5978 +0xD5A2 0x5981 +0xD5A3 0x599D +0xD5A4 0x4F5E +0xD5A5 0x4FAB +0xD5A6 0x59A3 +0xD5A7 0x59B2 +0xD5A8 0x59C6 +0xD5A9 0x59E8 +0xD5AA 0x59DC +0xD5AB 0x598D +0xD5AC 0x59D9 +0xD5AD 0x59DA +0xD5AE 0x5A25 +0xD5AF 0x5A1F +0xD5B0 0x5A11 +0xD5B1 0x5A1C +0xD5B2 0x5A09 +0xD5B3 0x5A1A +0xD5B4 0x5A40 +0xD5B5 0x5A6C +0xD5B6 0x5A49 +0xD5B7 0x5A35 +0xD5B8 0x5A36 +0xD5B9 0x5A62 +0xD5BA 0x5A6A +0xD5BB 0x5A9A +0xD5BC 0x5ABC +0xD5BD 0x5ABE +0xD5BE 0x5ACB +0xD5BF 0x5AC2 +0xD5C0 0x5ABD +0xD5C1 0x5AE3 +0xD5C2 0x5AD7 +0xD5C3 0x5AE6 +0xD5C4 0x5AE9 +0xD5C5 0x5AD6 +0xD5C6 0x5AFA +0xD5C7 0x5AFB +0xD5C8 0x5B0C +0xD5C9 0x5B0B +0xD5CA 0x5B16 +0xD5CB 0x5B32 +0xD5CC 0x5AD0 +0xD5CD 0x5B2A +0xD5CE 0x5B36 +0xD5CF 0x5B3E +0xD5D0 0x5B43 +0xD5D1 0x5B45 +0xD5D2 0x5B40 +0xD5D3 0x5B51 +0xD5D4 0x5B55 +0xD5D5 0x5B5A +0xD5D6 0x5B5B +0xD5D7 0x5B65 +0xD5D8 0x5B69 +0xD5D9 0x5B70 +0xD5DA 0x5B73 +0xD5DB 0x5B75 +0xD5DC 0x5B78 +0xD5DD 0x6588 +0xD5DE 0x5B7A +0xD5DF 0x5B80 +0xD5E0 0x5B83 +0xD5E1 0x5BA6 +0xD5E2 0x5BB8 +0xD5E3 0x5BC3 +0xD5E4 0x5BC7 +0xD5E5 0x5BC9 +0xD5E6 0x5BD4 +0xD5E7 0x5BD0 +0xD5E8 0x5BE4 +0xD5E9 0x5BE6 +0xD5EA 0x5BE2 +0xD5EB 0x5BDE +0xD5EC 0x5BE5 +0xD5ED 0x5BEB +0xD5EE 0x5BF0 +0xD5EF 0x5BF6 +0xD5F0 0x5BF3 +0xD5F1 0x5C05 +0xD5F2 0x5C07 +0xD5F3 0x5C08 +0xD5F4 0x5C0D +0xD5F5 0x5C13 +0xD5F6 0x5C20 +0xD5F7 0x5C22 +0xD5F8 0x5C28 +0xD5F9 0x5C38 +0xD5FA 0x5C39 +0xD5FB 0x5C41 +0xD5FC 0x5C46 +0xD5FD 0x5C4E +0xD5FE 0x5C53 +0xD6A1 0x5C50 +0xD6A2 0x5C4F +0xD6A3 0x5B71 +0xD6A4 0x5C6C +0xD6A5 0x5C6E +0xD6A6 0x4E62 +0xD6A7 0x5C76 +0xD6A8 0x5C79 +0xD6A9 0x5C8C +0xD6AA 0x5C91 +0xD6AB 0x5C94 +0xD6AC 0x599B +0xD6AD 0x5CAB +0xD6AE 0x5CBB +0xD6AF 0x5CB6 +0xD6B0 0x5CBC +0xD6B1 0x5CB7 +0xD6B2 0x5CC5 +0xD6B3 0x5CBE +0xD6B4 0x5CC7 +0xD6B5 0x5CD9 +0xD6B6 0x5CE9 +0xD6B7 0x5CFD +0xD6B8 0x5CFA +0xD6B9 0x5CED +0xD6BA 0x5D8C +0xD6BB 0x5CEA +0xD6BC 0x5D0B +0xD6BD 0x5D15 +0xD6BE 0x5D17 +0xD6BF 0x5D5C +0xD6C0 0x5D1F +0xD6C1 0x5D1B +0xD6C2 0x5D11 +0xD6C3 0x5D14 +0xD6C4 0x5D22 +0xD6C5 0x5D1A +0xD6C6 0x5D19 +0xD6C7 0x5D18 +0xD6C8 0x5D4C +0xD6C9 0x5D52 +0xD6CA 0x5D4E +0xD6CB 0x5D4B +0xD6CC 0x5D6C +0xD6CD 0x5D73 +0xD6CE 0x5D76 +0xD6CF 0x5D87 +0xD6D0 0x5D84 +0xD6D1 0x5D82 +0xD6D2 0x5DA2 +0xD6D3 0x5D9D +0xD6D4 0x5DAC +0xD6D5 0x5DAE +0xD6D6 0x5DBD +0xD6D7 0x5D90 +0xD6D8 0x5DB7 +0xD6D9 0x5DBC +0xD6DA 0x5DC9 +0xD6DB 0x5DCD +0xD6DC 0x5DD3 +0xD6DD 0x5DD2 +0xD6DE 0x5DD6 +0xD6DF 0x5DDB +0xD6E0 0x5DEB +0xD6E1 0x5DF2 +0xD6E2 0x5DF5 +0xD6E3 0x5E0B +0xD6E4 0x5E1A +0xD6E5 0x5E19 +0xD6E6 0x5E11 +0xD6E7 0x5E1B +0xD6E8 0x5E36 +0xD6E9 0x5E37 +0xD6EA 0x5E44 +0xD6EB 0x5E43 +0xD6EC 0x5E40 +0xD6ED 0x5E4E +0xD6EE 0x5E57 +0xD6EF 0x5E54 +0xD6F0 0x5E5F +0xD6F1 0x5E62 +0xD6F2 0x5E64 +0xD6F3 0x5E47 +0xD6F4 0x5E75 +0xD6F5 0x5E76 +0xD6F6 0x5E7A +0xD6F7 0x9EBC +0xD6F8 0x5E7F +0xD6F9 0x5EA0 +0xD6FA 0x5EC1 +0xD6FB 0x5EC2 +0xD6FC 0x5EC8 +0xD6FD 0x5ED0 +0xD6FE 0x5ECF +0xD7A1 0x5ED6 +0xD7A2 0x5EE3 +0xD7A3 0x5EDD +0xD7A4 0x5EDA +0xD7A5 0x5EDB +0xD7A6 0x5EE2 +0xD7A7 0x5EE1 +0xD7A8 0x5EE8 +0xD7A9 0x5EE9 +0xD7AA 0x5EEC +0xD7AB 0x5EF1 +0xD7AC 0x5EF3 +0xD7AD 0x5EF0 +0xD7AE 0x5EF4 +0xD7AF 0x5EF8 +0xD7B0 0x5EFE +0xD7B1 0x5F03 +0xD7B2 0x5F09 +0xD7B3 0x5F5D +0xD7B4 0x5F5C +0xD7B5 0x5F0B +0xD7B6 0x5F11 +0xD7B7 0x5F16 +0xD7B8 0x5F29 +0xD7B9 0x5F2D +0xD7BA 0x5F38 +0xD7BB 0x5F41 +0xD7BC 0x5F48 +0xD7BD 0x5F4C +0xD7BE 0x5F4E +0xD7BF 0x5F2F +0xD7C0 0x5F51 +0xD7C1 0x5F56 +0xD7C2 0x5F57 +0xD7C3 0x5F59 +0xD7C4 0x5F61 +0xD7C5 0x5F6D +0xD7C6 0x5F73 +0xD7C7 0x5F77 +0xD7C8 0x5F83 +0xD7C9 0x5F82 +0xD7CA 0x5F7F +0xD7CB 0x5F8A +0xD7CC 0x5F88 +0xD7CD 0x5F91 +0xD7CE 0x5F87 +0xD7CF 0x5F9E +0xD7D0 0x5F99 +0xD7D1 0x5F98 +0xD7D2 0x5FA0 +0xD7D3 0x5FA8 +0xD7D4 0x5FAD +0xD7D5 0x5FBC +0xD7D6 0x5FD6 +0xD7D7 0x5FFB +0xD7D8 0x5FE4 +0xD7D9 0x5FF8 +0xD7DA 0x5FF1 +0xD7DB 0x5FDD +0xD7DC 0x60B3 +0xD7DD 0x5FFF +0xD7DE 0x6021 +0xD7DF 0x6060 +0xD7E0 0x6019 +0xD7E1 0x6010 +0xD7E2 0x6029 +0xD7E3 0x600E +0xD7E4 0x6031 +0xD7E5 0x601B +0xD7E6 0x6015 +0xD7E7 0x602B +0xD7E8 0x6026 +0xD7E9 0x600F +0xD7EA 0x603A +0xD7EB 0x605A +0xD7EC 0x6041 +0xD7ED 0x606A +0xD7EE 0x6077 +0xD7EF 0x605F +0xD7F0 0x604A +0xD7F1 0x6046 +0xD7F2 0x604D +0xD7F3 0x6063 +0xD7F4 0x6043 +0xD7F5 0x6064 +0xD7F6 0x6042 +0xD7F7 0x606C +0xD7F8 0x606B +0xD7F9 0x6059 +0xD7FA 0x6081 +0xD7FB 0x608D +0xD7FC 0x60E7 +0xD7FD 0x6083 +0xD7FE 0x609A +0xD8A1 0x6084 +0xD8A2 0x609B +0xD8A3 0x6096 +0xD8A4 0x6097 +0xD8A5 0x6092 +0xD8A6 0x60A7 +0xD8A7 0x608B +0xD8A8 0x60E1 +0xD8A9 0x60B8 +0xD8AA 0x60E0 +0xD8AB 0x60D3 +0xD8AC 0x60B4 +0xD8AD 0x5FF0 +0xD8AE 0x60BD +0xD8AF 0x60C6 +0xD8B0 0x60B5 +0xD8B1 0x60D8 +0xD8B2 0x614D +0xD8B3 0x6115 +0xD8B4 0x6106 +0xD8B5 0x60F6 +0xD8B6 0x60F7 +0xD8B7 0x6100 +0xD8B8 0x60F4 +0xD8B9 0x60FA +0xD8BA 0x6103 +0xD8BB 0x6121 +0xD8BC 0x60FB +0xD8BD 0x60F1 +0xD8BE 0x610D +0xD8BF 0x610E +0xD8C0 0x6147 +0xD8C1 0x613E +0xD8C2 0x6128 +0xD8C3 0x6127 +0xD8C4 0x614A +0xD8C5 0x613F +0xD8C6 0x613C +0xD8C7 0x612C +0xD8C8 0x6134 +0xD8C9 0x613D +0xD8CA 0x6142 +0xD8CB 0x6144 +0xD8CC 0x6173 +0xD8CD 0x6177 +0xD8CE 0x6158 +0xD8CF 0x6159 +0xD8D0 0x615A +0xD8D1 0x616B +0xD8D2 0x6174 +0xD8D3 0x616F +0xD8D4 0x6165 +0xD8D5 0x6171 +0xD8D6 0x615F +0xD8D7 0x615D +0xD8D8 0x6153 +0xD8D9 0x6175 +0xD8DA 0x6199 +0xD8DB 0x6196 +0xD8DC 0x6187 +0xD8DD 0x61AC +0xD8DE 0x6194 +0xD8DF 0x619A +0xD8E0 0x618A +0xD8E1 0x6191 +0xD8E2 0x61AB +0xD8E3 0x61AE +0xD8E4 0x61CC +0xD8E5 0x61CA +0xD8E6 0x61C9 +0xD8E7 0x61F7 +0xD8E8 0x61C8 +0xD8E9 0x61C3 +0xD8EA 0x61C6 +0xD8EB 0x61BA +0xD8EC 0x61CB +0xD8ED 0x7F79 +0xD8EE 0x61CD +0xD8EF 0x61E6 +0xD8F0 0x61E3 +0xD8F1 0x61F6 +0xD8F2 0x61FA +0xD8F3 0x61F4 +0xD8F4 0x61FF +0xD8F5 0x61FD +0xD8F6 0x61FC +0xD8F7 0x61FE +0xD8F8 0x6200 +0xD8F9 0x6208 +0xD8FA 0x6209 +0xD8FB 0x620D +0xD8FC 0x620C +0xD8FD 0x6214 +0xD8FE 0x621B +0xD9A1 0x621E +0xD9A2 0x6221 +0xD9A3 0x622A +0xD9A4 0x622E +0xD9A5 0x6230 +0xD9A6 0x6232 +0xD9A7 0x6233 +0xD9A8 0x6241 +0xD9A9 0x624E +0xD9AA 0x625E +0xD9AB 0x6263 +0xD9AC 0x625B +0xD9AD 0x6260 +0xD9AE 0x6268 +0xD9AF 0x627C +0xD9B0 0x6282 +0xD9B1 0x6289 +0xD9B2 0x627E +0xD9B3 0x6292 +0xD9B4 0x6293 +0xD9B5 0x6296 +0xD9B6 0x62D4 +0xD9B7 0x6283 +0xD9B8 0x6294 +0xD9B9 0x62D7 +0xD9BA 0x62D1 +0xD9BB 0x62BB +0xD9BC 0x62CF +0xD9BD 0x62FF +0xD9BE 0x62C6 +0xD9BF 0x64D4 +0xD9C0 0x62C8 +0xD9C1 0x62DC +0xD9C2 0x62CC +0xD9C3 0x62CA +0xD9C4 0x62C2 +0xD9C5 0x62C7 +0xD9C6 0x629B +0xD9C7 0x62C9 +0xD9C8 0x630C +0xD9C9 0x62EE +0xD9CA 0x62F1 +0xD9CB 0x6327 +0xD9CC 0x6302 +0xD9CD 0x6308 +0xD9CE 0x62EF +0xD9CF 0x62F5 +0xD9D0 0x6350 +0xD9D1 0x633E +0xD9D2 0x634D +0xD9D3 0x641C +0xD9D4 0x634F +0xD9D5 0x6396 +0xD9D6 0x638E +0xD9D7 0x6380 +0xD9D8 0x63AB +0xD9D9 0x6376 +0xD9DA 0x63A3 +0xD9DB 0x638F +0xD9DC 0x6389 +0xD9DD 0x639F +0xD9DE 0x63B5 +0xD9DF 0x636B +0xD9E0 0x6369 +0xD9E1 0x63BE +0xD9E2 0x63E9 +0xD9E3 0x63C0 +0xD9E4 0x63C6 +0xD9E5 0x63E3 +0xD9E6 0x63C9 +0xD9E7 0x63D2 +0xD9E8 0x63F6 +0xD9E9 0x63C4 +0xD9EA 0x6416 +0xD9EB 0x6434 +0xD9EC 0x6406 +0xD9ED 0x6413 +0xD9EE 0x6426 +0xD9EF 0x6436 +0xD9F0 0x651D +0xD9F1 0x6417 +0xD9F2 0x6428 +0xD9F3 0x640F +0xD9F4 0x6467 +0xD9F5 0x646F +0xD9F6 0x6476 +0xD9F7 0x644E +0xD9F8 0x652A +0xD9F9 0x6495 +0xD9FA 0x6493 +0xD9FB 0x64A5 +0xD9FC 0x64A9 +0xD9FD 0x6488 +0xD9FE 0x64BC +0xDAA1 0x64DA +0xDAA2 0x64D2 +0xDAA3 0x64C5 +0xDAA4 0x64C7 +0xDAA5 0x64BB +0xDAA6 0x64D8 +0xDAA7 0x64C2 +0xDAA8 0x64F1 +0xDAA9 0x64E7 +0xDAAA 0x8209 +0xDAAB 0x64E0 +0xDAAC 0x64E1 +0xDAAD 0x62AC +0xDAAE 0x64E3 +0xDAAF 0x64EF +0xDAB0 0x652C +0xDAB1 0x64F6 +0xDAB2 0x64F4 +0xDAB3 0x64F2 +0xDAB4 0x64FA +0xDAB5 0x6500 +0xDAB6 0x64FD +0xDAB7 0x6518 +0xDAB8 0x651C +0xDAB9 0x6505 +0xDABA 0x6524 +0xDABB 0x6523 +0xDABC 0x652B +0xDABD 0x6534 +0xDABE 0x6535 +0xDABF 0x6537 +0xDAC0 0x6536 +0xDAC1 0x6538 +0xDAC2 0x754B +0xDAC3 0x6548 +0xDAC4 0x6556 +0xDAC5 0x6555 +0xDAC6 0x654D +0xDAC7 0x6558 +0xDAC8 0x655E +0xDAC9 0x655D +0xDACA 0x6572 +0xDACB 0x6578 +0xDACC 0x6582 +0xDACD 0x6583 +0xDACE 0x8B8A +0xDACF 0x659B +0xDAD0 0x659F +0xDAD1 0x65AB +0xDAD2 0x65B7 +0xDAD3 0x65C3 +0xDAD4 0x65C6 +0xDAD5 0x65C1 +0xDAD6 0x65C4 +0xDAD7 0x65CC +0xDAD8 0x65D2 +0xDAD9 0x65DB +0xDADA 0x65D9 +0xDADB 0x65E0 +0xDADC 0x65E1 +0xDADD 0x65F1 +0xDADE 0x6772 +0xDADF 0x660A +0xDAE0 0x6603 +0xDAE1 0x65FB +0xDAE2 0x6773 +0xDAE3 0x6635 +0xDAE4 0x6636 +0xDAE5 0x6634 +0xDAE6 0x661C +0xDAE7 0x664F +0xDAE8 0x6644 +0xDAE9 0x6649 +0xDAEA 0x6641 +0xDAEB 0x665E +0xDAEC 0x665D +0xDAED 0x6664 +0xDAEE 0x6667 +0xDAEF 0x6668 +0xDAF0 0x665F +0xDAF1 0x6662 +0xDAF2 0x6670 +0xDAF3 0x6683 +0xDAF4 0x6688 +0xDAF5 0x668E +0xDAF6 0x6689 +0xDAF7 0x6684 +0xDAF8 0x6698 +0xDAF9 0x669D +0xDAFA 0x66C1 +0xDAFB 0x66B9 +0xDAFC 0x66C9 +0xDAFD 0x66BE +0xDAFE 0x66BC +0xDBA1 0x66C4 +0xDBA2 0x66B8 +0xDBA3 0x66D6 +0xDBA4 0x66DA +0xDBA5 0x66E0 +0xDBA6 0x663F +0xDBA7 0x66E6 +0xDBA8 0x66E9 +0xDBA9 0x66F0 +0xDBAA 0x66F5 +0xDBAB 0x66F7 +0xDBAC 0x670F +0xDBAD 0x6716 +0xDBAE 0x671E +0xDBAF 0x6726 +0xDBB0 0x6727 +0xDBB1 0x9738 +0xDBB2 0x672E +0xDBB3 0x673F +0xDBB4 0x6736 +0xDBB5 0x6741 +0xDBB6 0x6738 +0xDBB7 0x6737 +0xDBB8 0x6746 +0xDBB9 0x675E +0xDBBA 0x6760 +0xDBBB 0x6759 +0xDBBC 0x6763 +0xDBBD 0x6764 +0xDBBE 0x6789 +0xDBBF 0x6770 +0xDBC0 0x67A9 +0xDBC1 0x677C +0xDBC2 0x676A +0xDBC3 0x678C +0xDBC4 0x678B +0xDBC5 0x67A6 +0xDBC6 0x67A1 +0xDBC7 0x6785 +0xDBC8 0x67B7 +0xDBC9 0x67EF +0xDBCA 0x67B4 +0xDBCB 0x67EC +0xDBCC 0x67B3 +0xDBCD 0x67E9 +0xDBCE 0x67B8 +0xDBCF 0x67E4 +0xDBD0 0x67DE +0xDBD1 0x67DD +0xDBD2 0x67E2 +0xDBD3 0x67EE +0xDBD4 0x67B9 +0xDBD5 0x67CE +0xDBD6 0x67C6 +0xDBD7 0x67E7 +0xDBD8 0x6A9C +0xDBD9 0x681E +0xDBDA 0x6846 +0xDBDB 0x6829 +0xDBDC 0x6840 +0xDBDD 0x684D +0xDBDE 0x6832 +0xDBDF 0x684E +0xDBE0 0x68B3 +0xDBE1 0x682B +0xDBE2 0x6859 +0xDBE3 0x6863 +0xDBE4 0x6877 +0xDBE5 0x687F +0xDBE6 0x689F +0xDBE7 0x688F +0xDBE8 0x68AD +0xDBE9 0x6894 +0xDBEA 0x689D +0xDBEB 0x689B +0xDBEC 0x6883 +0xDBED 0x6AAE +0xDBEE 0x68B9 +0xDBEF 0x6874 +0xDBF0 0x68B5 +0xDBF1 0x68A0 +0xDBF2 0x68BA +0xDBF3 0x690F +0xDBF4 0x688D +0xDBF5 0x687E +0xDBF6 0x6901 +0xDBF7 0x68CA +0xDBF8 0x6908 +0xDBF9 0x68D8 +0xDBFA 0x6922 +0xDBFB 0x6926 +0xDBFC 0x68E1 +0xDBFD 0x690C +0xDBFE 0x68CD +0xDCA1 0x68D4 +0xDCA2 0x68E7 +0xDCA3 0x68D5 +0xDCA4 0x6936 +0xDCA5 0x6912 +0xDCA6 0x6904 +0xDCA7 0x68D7 +0xDCA8 0x68E3 +0xDCA9 0x6925 +0xDCAA 0x68F9 +0xDCAB 0x68E0 +0xDCAC 0x68EF +0xDCAD 0x6928 +0xDCAE 0x692A +0xDCAF 0x691A +0xDCB0 0x6923 +0xDCB1 0x6921 +0xDCB2 0x68C6 +0xDCB3 0x6979 +0xDCB4 0x6977 +0xDCB5 0x695C +0xDCB6 0x6978 +0xDCB7 0x696B +0xDCB8 0x6954 +0xDCB9 0x697E +0xDCBA 0x696E +0xDCBB 0x6939 +0xDCBC 0x6974 +0xDCBD 0x693D +0xDCBE 0x6959 +0xDCBF 0x6930 +0xDCC0 0x6961 +0xDCC1 0x695E +0xDCC2 0x695D +0xDCC3 0x6981 +0xDCC4 0x696A +0xDCC5 0x69B2 +0xDCC6 0x69AE +0xDCC7 0x69D0 +0xDCC8 0x69BF +0xDCC9 0x69C1 +0xDCCA 0x69D3 +0xDCCB 0x69BE +0xDCCC 0x69CE +0xDCCD 0x5BE8 +0xDCCE 0x69CA +0xDCCF 0x69DD +0xDCD0 0x69BB +0xDCD1 0x69C3 +0xDCD2 0x69A7 +0xDCD3 0x6A2E +0xDCD4 0x6991 +0xDCD5 0x69A0 +0xDCD6 0x699C +0xDCD7 0x6995 +0xDCD8 0x69B4 +0xDCD9 0x69DE +0xDCDA 0x69E8 +0xDCDB 0x6A02 +0xDCDC 0x6A1B +0xDCDD 0x69FF +0xDCDE 0x6B0A +0xDCDF 0x69F9 +0xDCE0 0x69F2 +0xDCE1 0x69E7 +0xDCE2 0x6A05 +0xDCE3 0x69B1 +0xDCE4 0x6A1E +0xDCE5 0x69ED +0xDCE6 0x6A14 +0xDCE7 0x69EB +0xDCE8 0x6A0A +0xDCE9 0x6A12 +0xDCEA 0x6AC1 +0xDCEB 0x6A23 +0xDCEC 0x6A13 +0xDCED 0x6A44 +0xDCEE 0x6A0C +0xDCEF 0x6A72 +0xDCF0 0x6A36 +0xDCF1 0x6A78 +0xDCF2 0x6A47 +0xDCF3 0x6A62 +0xDCF4 0x6A59 +0xDCF5 0x6A66 +0xDCF6 0x6A48 +0xDCF7 0x6A38 +0xDCF8 0x6A22 +0xDCF9 0x6A90 +0xDCFA 0x6A8D +0xDCFB 0x6AA0 +0xDCFC 0x6A84 +0xDCFD 0x6AA2 +0xDCFE 0x6AA3 +0xDDA1 0x6A97 +0xDDA2 0x8617 +0xDDA3 0x6ABB +0xDDA4 0x6AC3 +0xDDA5 0x6AC2 +0xDDA6 0x6AB8 +0xDDA7 0x6AB3 +0xDDA8 0x6AAC +0xDDA9 0x6ADE +0xDDAA 0x6AD1 +0xDDAB 0x6ADF +0xDDAC 0x6AAA +0xDDAD 0x6ADA +0xDDAE 0x6AEA +0xDDAF 0x6AFB +0xDDB0 0x6B05 +0xDDB1 0x8616 +0xDDB2 0x6AFA +0xDDB3 0x6B12 +0xDDB4 0x6B16 +0xDDB5 0x9B31 +0xDDB6 0x6B1F +0xDDB7 0x6B38 +0xDDB8 0x6B37 +0xDDB9 0x76DC +0xDDBA 0x6B39 +0xDDBB 0x98EE +0xDDBC 0x6B47 +0xDDBD 0x6B43 +0xDDBE 0x6B49 +0xDDBF 0x6B50 +0xDDC0 0x6B59 +0xDDC1 0x6B54 +0xDDC2 0x6B5B +0xDDC3 0x6B5F +0xDDC4 0x6B61 +0xDDC5 0x6B78 +0xDDC6 0x6B79 +0xDDC7 0x6B7F +0xDDC8 0x6B80 +0xDDC9 0x6B84 +0xDDCA 0x6B83 +0xDDCB 0x6B8D +0xDDCC 0x6B98 +0xDDCD 0x6B95 +0xDDCE 0x6B9E +0xDDCF 0x6BA4 +0xDDD0 0x6BAA +0xDDD1 0x6BAB +0xDDD2 0x6BAF +0xDDD3 0x6BB2 +0xDDD4 0x6BB1 +0xDDD5 0x6BB3 +0xDDD6 0x6BB7 +0xDDD7 0x6BBC +0xDDD8 0x6BC6 +0xDDD9 0x6BCB +0xDDDA 0x6BD3 +0xDDDB 0x6BDF +0xDDDC 0x6BEC +0xDDDD 0x6BEB +0xDDDE 0x6BF3 +0xDDDF 0x6BEF +0xDDE0 0x9EBE +0xDDE1 0x6C08 +0xDDE2 0x6C13 +0xDDE3 0x6C14 +0xDDE4 0x6C1B +0xDDE5 0x6C24 +0xDDE6 0x6C23 +0xDDE7 0x6C5E +0xDDE8 0x6C55 +0xDDE9 0x6C62 +0xDDEA 0x6C6A +0xDDEB 0x6C82 +0xDDEC 0x6C8D +0xDDED 0x6C9A +0xDDEE 0x6C81 +0xDDEF 0x6C9B +0xDDF0 0x6C7E +0xDDF1 0x6C68 +0xDDF2 0x6C73 +0xDDF3 0x6C92 +0xDDF4 0x6C90 +0xDDF5 0x6CC4 +0xDDF6 0x6CF1 +0xDDF7 0x6CD3 +0xDDF8 0x6CBD +0xDDF9 0x6CD7 +0xDDFA 0x6CC5 +0xDDFB 0x6CDD +0xDDFC 0x6CAE +0xDDFD 0x6CB1 +0xDDFE 0x6CBE +0xDEA1 0x6CBA +0xDEA2 0x6CDB +0xDEA3 0x6CEF +0xDEA4 0x6CD9 +0xDEA5 0x6CEA +0xDEA6 0x6D1F +0xDEA7 0x884D +0xDEA8 0x6D36 +0xDEA9 0x6D2B +0xDEAA 0x6D3D +0xDEAB 0x6D38 +0xDEAC 0x6D19 +0xDEAD 0x6D35 +0xDEAE 0x6D33 +0xDEAF 0x6D12 +0xDEB0 0x6D0C +0xDEB1 0x6D63 +0xDEB2 0x6D93 +0xDEB3 0x6D64 +0xDEB4 0x6D5A +0xDEB5 0x6D79 +0xDEB6 0x6D59 +0xDEB7 0x6D8E +0xDEB8 0x6D95 +0xDEB9 0x6FE4 +0xDEBA 0x6D85 +0xDEBB 0x6DF9 +0xDEBC 0x6E15 +0xDEBD 0x6E0A +0xDEBE 0x6DB5 +0xDEBF 0x6DC7 +0xDEC0 0x6DE6 +0xDEC1 0x6DB8 +0xDEC2 0x6DC6 +0xDEC3 0x6DEC +0xDEC4 0x6DDE +0xDEC5 0x6DCC +0xDEC6 0x6DE8 +0xDEC7 0x6DD2 +0xDEC8 0x6DC5 +0xDEC9 0x6DFA +0xDECA 0x6DD9 +0xDECB 0x6DE4 +0xDECC 0x6DD5 +0xDECD 0x6DEA +0xDECE 0x6DEE +0xDECF 0x6E2D +0xDED0 0x6E6E +0xDED1 0x6E2E +0xDED2 0x6E19 +0xDED3 0x6E72 +0xDED4 0x6E5F +0xDED5 0x6E3E +0xDED6 0x6E23 +0xDED7 0x6E6B +0xDED8 0x6E2B +0xDED9 0x6E76 +0xDEDA 0x6E4D +0xDEDB 0x6E1F +0xDEDC 0x6E43 +0xDEDD 0x6E3A +0xDEDE 0x6E4E +0xDEDF 0x6E24 +0xDEE0 0x6EFF +0xDEE1 0x6E1D +0xDEE2 0x6E38 +0xDEE3 0x6E82 +0xDEE4 0x6EAA +0xDEE5 0x6E98 +0xDEE6 0x6EC9 +0xDEE7 0x6EB7 +0xDEE8 0x6ED3 +0xDEE9 0x6EBD +0xDEEA 0x6EAF +0xDEEB 0x6EC4 +0xDEEC 0x6EB2 +0xDEED 0x6ED4 +0xDEEE 0x6ED5 +0xDEEF 0x6E8F +0xDEF0 0x6EA5 +0xDEF1 0x6EC2 +0xDEF2 0x6E9F +0xDEF3 0x6F41 +0xDEF4 0x6F11 +0xDEF5 0x704C +0xDEF6 0x6EEC +0xDEF7 0x6EF8 +0xDEF8 0x6EFE +0xDEF9 0x6F3F +0xDEFA 0x6EF2 +0xDEFB 0x6F31 +0xDEFC 0x6EEF +0xDEFD 0x6F32 +0xDEFE 0x6ECC +0xDFA1 0x6F3E +0xDFA2 0x6F13 +0xDFA3 0x6EF7 +0xDFA4 0x6F86 +0xDFA5 0x6F7A +0xDFA6 0x6F78 +0xDFA7 0x6F81 +0xDFA8 0x6F80 +0xDFA9 0x6F6F +0xDFAA 0x6F5B +0xDFAB 0x6FF3 +0xDFAC 0x6F6D +0xDFAD 0x6F82 +0xDFAE 0x6F7C +0xDFAF 0x6F58 +0xDFB0 0x6F8E +0xDFB1 0x6F91 +0xDFB2 0x6FC2 +0xDFB3 0x6F66 +0xDFB4 0x6FB3 +0xDFB5 0x6FA3 +0xDFB6 0x6FA1 +0xDFB7 0x6FA4 +0xDFB8 0x6FB9 +0xDFB9 0x6FC6 +0xDFBA 0x6FAA +0xDFBB 0x6FDF +0xDFBC 0x6FD5 +0xDFBD 0x6FEC +0xDFBE 0x6FD4 +0xDFBF 0x6FD8 +0xDFC0 0x6FF1 +0xDFC1 0x6FEE +0xDFC2 0x6FDB +0xDFC3 0x7009 +0xDFC4 0x700B +0xDFC5 0x6FFA +0xDFC6 0x7011 +0xDFC7 0x7001 +0xDFC8 0x700F +0xDFC9 0x6FFE +0xDFCA 0x701B +0xDFCB 0x701A +0xDFCC 0x6F74 +0xDFCD 0x701D +0xDFCE 0x7018 +0xDFCF 0x701F +0xDFD0 0x7030 +0xDFD1 0x703E +0xDFD2 0x7032 +0xDFD3 0x7051 +0xDFD4 0x7063 +0xDFD5 0x7099 +0xDFD6 0x7092 +0xDFD7 0x70AF +0xDFD8 0x70F1 +0xDFD9 0x70AC +0xDFDA 0x70B8 +0xDFDB 0x70B3 +0xDFDC 0x70AE +0xDFDD 0x70DF +0xDFDE 0x70CB +0xDFDF 0x70DD +0xDFE0 0x70D9 +0xDFE1 0x7109 +0xDFE2 0x70FD +0xDFE3 0x711C +0xDFE4 0x7119 +0xDFE5 0x7165 +0xDFE6 0x7155 +0xDFE7 0x7188 +0xDFE8 0x7166 +0xDFE9 0x7162 +0xDFEA 0x714C +0xDFEB 0x7156 +0xDFEC 0x716C +0xDFED 0x718F +0xDFEE 0x71FB +0xDFEF 0x7184 +0xDFF0 0x7195 +0xDFF1 0x71A8 +0xDFF2 0x71AC +0xDFF3 0x71D7 +0xDFF4 0x71B9 +0xDFF5 0x71BE +0xDFF6 0x71D2 +0xDFF7 0x71C9 +0xDFF8 0x71D4 +0xDFF9 0x71CE +0xDFFA 0x71E0 +0xDFFB 0x71EC +0xDFFC 0x71E7 +0xDFFD 0x71F5 +0xDFFE 0x71FC +0xE0A1 0x71F9 +0xE0A2 0x71FF +0xE0A3 0x720D +0xE0A4 0x7210 +0xE0A5 0x721B +0xE0A6 0x7228 +0xE0A7 0x722D +0xE0A8 0x722C +0xE0A9 0x7230 +0xE0AA 0x7232 +0xE0AB 0x723B +0xE0AC 0x723C +0xE0AD 0x723F +0xE0AE 0x7240 +0xE0AF 0x7246 +0xE0B0 0x724B +0xE0B1 0x7258 +0xE0B2 0x7274 +0xE0B3 0x727E +0xE0B4 0x7282 +0xE0B5 0x7281 +0xE0B6 0x7287 +0xE0B7 0x7292 +0xE0B8 0x7296 +0xE0B9 0x72A2 +0xE0BA 0x72A7 +0xE0BB 0x72B9 +0xE0BC 0x72B2 +0xE0BD 0x72C3 +0xE0BE 0x72C6 +0xE0BF 0x72C4 +0xE0C0 0x72CE +0xE0C1 0x72D2 +0xE0C2 0x72E2 +0xE0C3 0x72E0 +0xE0C4 0x72E1 +0xE0C5 0x72F9 +0xE0C6 0x72F7 +0xE0C7 0x500F +0xE0C8 0x7317 +0xE0C9 0x730A +0xE0CA 0x731C +0xE0CB 0x7316 +0xE0CC 0x731D +0xE0CD 0x7334 +0xE0CE 0x732F +0xE0CF 0x7329 +0xE0D0 0x7325 +0xE0D1 0x733E +0xE0D2 0x734E +0xE0D3 0x734F +0xE0D4 0x9ED8 +0xE0D5 0x7357 +0xE0D6 0x736A +0xE0D7 0x7368 +0xE0D8 0x7370 +0xE0D9 0x7378 +0xE0DA 0x7375 +0xE0DB 0x737B +0xE0DC 0x737A +0xE0DD 0x73C8 +0xE0DE 0x73B3 +0xE0DF 0x73CE +0xE0E0 0x73BB +0xE0E1 0x73C0 +0xE0E2 0x73E5 +0xE0E3 0x73EE +0xE0E4 0x73DE +0xE0E5 0x74A2 +0xE0E6 0x7405 +0xE0E7 0x746F +0xE0E8 0x7425 +0xE0E9 0x73F8 +0xE0EA 0x7432 +0xE0EB 0x743A +0xE0EC 0x7455 +0xE0ED 0x743F +0xE0EE 0x745F +0xE0EF 0x7459 +0xE0F0 0x7441 +0xE0F1 0x745C +0xE0F2 0x7469 +0xE0F3 0x7470 +0xE0F4 0x7463 +0xE0F5 0x746A +0xE0F6 0x7476 +0xE0F7 0x747E +0xE0F8 0x748B +0xE0F9 0x749E +0xE0FA 0x74A7 +0xE0FB 0x74CA +0xE0FC 0x74CF +0xE0FD 0x74D4 +0xE0FE 0x73F1 +0xE1A1 0x74E0 +0xE1A2 0x74E3 +0xE1A3 0x74E7 +0xE1A4 0x74E9 +0xE1A5 0x74EE +0xE1A6 0x74F2 +0xE1A7 0x74F0 +0xE1A8 0x74F1 +0xE1A9 0x74F8 +0xE1AA 0x74F7 +0xE1AB 0x7504 +0xE1AC 0x7503 +0xE1AD 0x7505 +0xE1AE 0x750C +0xE1AF 0x750E +0xE1B0 0x750D +0xE1B1 0x7515 +0xE1B2 0x7513 +0xE1B3 0x751E +0xE1B4 0x7526 +0xE1B5 0x752C +0xE1B6 0x753C +0xE1B7 0x7544 +0xE1B8 0x754D +0xE1B9 0x754A +0xE1BA 0x7549 +0xE1BB 0x755B +0xE1BC 0x7546 +0xE1BD 0x755A +0xE1BE 0x7569 +0xE1BF 0x7564 +0xE1C0 0x7567 +0xE1C1 0x756B +0xE1C2 0x756D +0xE1C3 0x7578 +0xE1C4 0x7576 +0xE1C5 0x7586 +0xE1C6 0x7587 +0xE1C7 0x7574 +0xE1C8 0x758A +0xE1C9 0x7589 +0xE1CA 0x7582 +0xE1CB 0x7594 +0xE1CC 0x759A +0xE1CD 0x759D +0xE1CE 0x75A5 +0xE1CF 0x75A3 +0xE1D0 0x75C2 +0xE1D1 0x75B3 +0xE1D2 0x75C3 +0xE1D3 0x75B5 +0xE1D4 0x75BD +0xE1D5 0x75B8 +0xE1D6 0x75BC +0xE1D7 0x75B1 +0xE1D8 0x75CD +0xE1D9 0x75CA +0xE1DA 0x75D2 +0xE1DB 0x75D9 +0xE1DC 0x75E3 +0xE1DD 0x75DE +0xE1DE 0x75FE +0xE1DF 0x75FF +0xE1E0 0x75FC +0xE1E1 0x7601 +0xE1E2 0x75F0 +0xE1E3 0x75FA +0xE1E4 0x75F2 +0xE1E5 0x75F3 +0xE1E6 0x760B +0xE1E7 0x760D +0xE1E8 0x7609 +0xE1E9 0x761F +0xE1EA 0x7627 +0xE1EB 0x7620 +0xE1EC 0x7621 +0xE1ED 0x7622 +0xE1EE 0x7624 +0xE1EF 0x7634 +0xE1F0 0x7630 +0xE1F1 0x763B +0xE1F2 0x7647 +0xE1F3 0x7648 +0xE1F4 0x7646 +0xE1F5 0x765C +0xE1F6 0x7658 +0xE1F7 0x7661 +0xE1F8 0x7662 +0xE1F9 0x7668 +0xE1FA 0x7669 +0xE1FB 0x766A +0xE1FC 0x7667 +0xE1FD 0x766C +0xE1FE 0x7670 +0xE2A1 0x7672 +0xE2A2 0x7676 +0xE2A3 0x7678 +0xE2A4 0x767C +0xE2A5 0x7680 +0xE2A6 0x7683 +0xE2A7 0x7688 +0xE2A8 0x768B +0xE2A9 0x768E +0xE2AA 0x7696 +0xE2AB 0x7693 +0xE2AC 0x7699 +0xE2AD 0x769A +0xE2AE 0x76B0 +0xE2AF 0x76B4 +0xE2B0 0x76B8 +0xE2B1 0x76B9 +0xE2B2 0x76BA +0xE2B3 0x76C2 +0xE2B4 0x76CD +0xE2B5 0x76D6 +0xE2B6 0x76D2 +0xE2B7 0x76DE +0xE2B8 0x76E1 +0xE2B9 0x76E5 +0xE2BA 0x76E7 +0xE2BB 0x76EA +0xE2BC 0x862F +0xE2BD 0x76FB +0xE2BE 0x7708 +0xE2BF 0x7707 +0xE2C0 0x7704 +0xE2C1 0x7729 +0xE2C2 0x7724 +0xE2C3 0x771E +0xE2C4 0x7725 +0xE2C5 0x7726 +0xE2C6 0x771B +0xE2C7 0x7737 +0xE2C8 0x7738 +0xE2C9 0x7747 +0xE2CA 0x775A +0xE2CB 0x7768 +0xE2CC 0x776B +0xE2CD 0x775B +0xE2CE 0x7765 +0xE2CF 0x777F +0xE2D0 0x777E +0xE2D1 0x7779 +0xE2D2 0x778E +0xE2D3 0x778B +0xE2D4 0x7791 +0xE2D5 0x77A0 +0xE2D6 0x779E +0xE2D7 0x77B0 +0xE2D8 0x77B6 +0xE2D9 0x77B9 +0xE2DA 0x77BF +0xE2DB 0x77BC +0xE2DC 0x77BD +0xE2DD 0x77BB +0xE2DE 0x77C7 +0xE2DF 0x77CD +0xE2E0 0x77D7 +0xE2E1 0x77DA +0xE2E2 0x77DC +0xE2E3 0x77E3 +0xE2E4 0x77EE +0xE2E5 0x77FC +0xE2E6 0x780C +0xE2E7 0x7812 +0xE2E8 0x7926 +0xE2E9 0x7820 +0xE2EA 0x792A +0xE2EB 0x7845 +0xE2EC 0x788E +0xE2ED 0x7874 +0xE2EE 0x7886 +0xE2EF 0x787C +0xE2F0 0x789A +0xE2F1 0x788C +0xE2F2 0x78A3 +0xE2F3 0x78B5 +0xE2F4 0x78AA +0xE2F5 0x78AF +0xE2F6 0x78D1 +0xE2F7 0x78C6 +0xE2F8 0x78CB +0xE2F9 0x78D4 +0xE2FA 0x78BE +0xE2FB 0x78BC +0xE2FC 0x78C5 +0xE2FD 0x78CA +0xE2FE 0x78EC +0xE3A1 0x78E7 +0xE3A2 0x78DA +0xE3A3 0x78FD +0xE3A4 0x78F4 +0xE3A5 0x7907 +0xE3A6 0x7912 +0xE3A7 0x7911 +0xE3A8 0x7919 +0xE3A9 0x792C +0xE3AA 0x792B +0xE3AB 0x7940 +0xE3AC 0x7960 +0xE3AD 0x7957 +0xE3AE 0x795F +0xE3AF 0x795A +0xE3B0 0x7955 +0xE3B1 0x7953 +0xE3B2 0x797A +0xE3B3 0x797F +0xE3B4 0x798A +0xE3B5 0x799D +0xE3B6 0x79A7 +0xE3B7 0x9F4B +0xE3B8 0x79AA +0xE3B9 0x79AE +0xE3BA 0x79B3 +0xE3BB 0x79B9 +0xE3BC 0x79BA +0xE3BD 0x79C9 +0xE3BE 0x79D5 +0xE3BF 0x79E7 +0xE3C0 0x79EC +0xE3C1 0x79E1 +0xE3C2 0x79E3 +0xE3C3 0x7A08 +0xE3C4 0x7A0D +0xE3C5 0x7A18 +0xE3C6 0x7A19 +0xE3C7 0x7A20 +0xE3C8 0x7A1F +0xE3C9 0x7980 +0xE3CA 0x7A31 +0xE3CB 0x7A3B +0xE3CC 0x7A3E +0xE3CD 0x7A37 +0xE3CE 0x7A43 +0xE3CF 0x7A57 +0xE3D0 0x7A49 +0xE3D1 0x7A61 +0xE3D2 0x7A62 +0xE3D3 0x7A69 +0xE3D4 0x9F9D +0xE3D5 0x7A70 +0xE3D6 0x7A79 +0xE3D7 0x7A7D +0xE3D8 0x7A88 +0xE3D9 0x7A97 +0xE3DA 0x7A95 +0xE3DB 0x7A98 +0xE3DC 0x7A96 +0xE3DD 0x7AA9 +0xE3DE 0x7AC8 +0xE3DF 0x7AB0 +0xE3E0 0x7AB6 +0xE3E1 0x7AC5 +0xE3E2 0x7AC4 +0xE3E3 0x7ABF +0xE3E4 0x9083 +0xE3E5 0x7AC7 +0xE3E6 0x7ACA +0xE3E7 0x7ACD +0xE3E8 0x7ACF +0xE3E9 0x7AD5 +0xE3EA 0x7AD3 +0xE3EB 0x7AD9 +0xE3EC 0x7ADA +0xE3ED 0x7ADD +0xE3EE 0x7AE1 +0xE3EF 0x7AE2 +0xE3F0 0x7AE6 +0xE3F1 0x7AED +0xE3F2 0x7AF0 +0xE3F3 0x7B02 +0xE3F4 0x7B0F +0xE3F5 0x7B0A +0xE3F6 0x7B06 +0xE3F7 0x7B33 +0xE3F8 0x7B18 +0xE3F9 0x7B19 +0xE3FA 0x7B1E +0xE3FB 0x7B35 +0xE3FC 0x7B28 +0xE3FD 0x7B36 +0xE3FE 0x7B50 +0xE4A1 0x7B7A +0xE4A2 0x7B04 +0xE4A3 0x7B4D +0xE4A4 0x7B0B +0xE4A5 0x7B4C +0xE4A6 0x7B45 +0xE4A7 0x7B75 +0xE4A8 0x7B65 +0xE4A9 0x7B74 +0xE4AA 0x7B67 +0xE4AB 0x7B70 +0xE4AC 0x7B71 +0xE4AD 0x7B6C +0xE4AE 0x7B6E +0xE4AF 0x7B9D +0xE4B0 0x7B98 +0xE4B1 0x7B9F +0xE4B2 0x7B8D +0xE4B3 0x7B9C +0xE4B4 0x7B9A +0xE4B5 0x7B8B +0xE4B6 0x7B92 +0xE4B7 0x7B8F +0xE4B8 0x7B5D +0xE4B9 0x7B99 +0xE4BA 0x7BCB +0xE4BB 0x7BC1 +0xE4BC 0x7BCC +0xE4BD 0x7BCF +0xE4BE 0x7BB4 +0xE4BF 0x7BC6 +0xE4C0 0x7BDD +0xE4C1 0x7BE9 +0xE4C2 0x7C11 +0xE4C3 0x7C14 +0xE4C4 0x7BE6 +0xE4C5 0x7BE5 +0xE4C6 0x7C60 +0xE4C7 0x7C00 +0xE4C8 0x7C07 +0xE4C9 0x7C13 +0xE4CA 0x7BF3 +0xE4CB 0x7BF7 +0xE4CC 0x7C17 +0xE4CD 0x7C0D +0xE4CE 0x7BF6 +0xE4CF 0x7C23 +0xE4D0 0x7C27 +0xE4D1 0x7C2A +0xE4D2 0x7C1F +0xE4D3 0x7C37 +0xE4D4 0x7C2B +0xE4D5 0x7C3D +0xE4D6 0x7C4C +0xE4D7 0x7C43 +0xE4D8 0x7C54 +0xE4D9 0x7C4F +0xE4DA 0x7C40 +0xE4DB 0x7C50 +0xE4DC 0x7C58 +0xE4DD 0x7C5F +0xE4DE 0x7C64 +0xE4DF 0x7C56 +0xE4E0 0x7C65 +0xE4E1 0x7C6C +0xE4E2 0x7C75 +0xE4E3 0x7C83 +0xE4E4 0x7C90 +0xE4E5 0x7CA4 +0xE4E6 0x7CAD +0xE4E7 0x7CA2 +0xE4E8 0x7CAB +0xE4E9 0x7CA1 +0xE4EA 0x7CA8 +0xE4EB 0x7CB3 +0xE4EC 0x7CB2 +0xE4ED 0x7CB1 +0xE4EE 0x7CAE +0xE4EF 0x7CB9 +0xE4F0 0x7CBD +0xE4F1 0x7CC0 +0xE4F2 0x7CC5 +0xE4F3 0x7CC2 +0xE4F4 0x7CD8 +0xE4F5 0x7CD2 +0xE4F6 0x7CDC +0xE4F7 0x7CE2 +0xE4F8 0x9B3B +0xE4F9 0x7CEF +0xE4FA 0x7CF2 +0xE4FB 0x7CF4 +0xE4FC 0x7CF6 +0xE4FD 0x7CFA +0xE4FE 0x7D06 +0xE5A1 0x7D02 +0xE5A2 0x7D1C +0xE5A3 0x7D15 +0xE5A4 0x7D0A +0xE5A5 0x7D45 +0xE5A6 0x7D4B +0xE5A7 0x7D2E +0xE5A8 0x7D32 +0xE5A9 0x7D3F +0xE5AA 0x7D35 +0xE5AB 0x7D46 +0xE5AC 0x7D73 +0xE5AD 0x7D56 +0xE5AE 0x7D4E +0xE5AF 0x7D72 +0xE5B0 0x7D68 +0xE5B1 0x7D6E +0xE5B2 0x7D4F +0xE5B3 0x7D63 +0xE5B4 0x7D93 +0xE5B5 0x7D89 +0xE5B6 0x7D5B +0xE5B7 0x7D8F +0xE5B8 0x7D7D +0xE5B9 0x7D9B +0xE5BA 0x7DBA +0xE5BB 0x7DAE +0xE5BC 0x7DA3 +0xE5BD 0x7DB5 +0xE5BE 0x7DC7 +0xE5BF 0x7DBD +0xE5C0 0x7DAB +0xE5C1 0x7E3D +0xE5C2 0x7DA2 +0xE5C3 0x7DAF +0xE5C4 0x7DDC +0xE5C5 0x7DB8 +0xE5C6 0x7D9F +0xE5C7 0x7DB0 +0xE5C8 0x7DD8 +0xE5C9 0x7DDD +0xE5CA 0x7DE4 +0xE5CB 0x7DDE +0xE5CC 0x7DFB +0xE5CD 0x7DF2 +0xE5CE 0x7DE1 +0xE5CF 0x7E05 +0xE5D0 0x7E0A +0xE5D1 0x7E23 +0xE5D2 0x7E21 +0xE5D3 0x7E12 +0xE5D4 0x7E31 +0xE5D5 0x7E1F +0xE5D6 0x7E09 +0xE5D7 0x7E0B +0xE5D8 0x7E22 +0xE5D9 0x7E46 +0xE5DA 0x7E66 +0xE5DB 0x7E3B +0xE5DC 0x7E35 +0xE5DD 0x7E39 +0xE5DE 0x7E43 +0xE5DF 0x7E37 +0xE5E0 0x7E32 +0xE5E1 0x7E3A +0xE5E2 0x7E67 +0xE5E3 0x7E5D +0xE5E4 0x7E56 +0xE5E5 0x7E5E +0xE5E6 0x7E59 +0xE5E7 0x7E5A +0xE5E8 0x7E79 +0xE5E9 0x7E6A +0xE5EA 0x7E69 +0xE5EB 0x7E7C +0xE5EC 0x7E7B +0xE5ED 0x7E83 +0xE5EE 0x7DD5 +0xE5EF 0x7E7D +0xE5F0 0x8FAE +0xE5F1 0x7E7F +0xE5F2 0x7E88 +0xE5F3 0x7E89 +0xE5F4 0x7E8C +0xE5F5 0x7E92 +0xE5F6 0x7E90 +0xE5F7 0x7E93 +0xE5F8 0x7E94 +0xE5F9 0x7E96 +0xE5FA 0x7E8E +0xE5FB 0x7E9B +0xE5FC 0x7E9C +0xE5FD 0x7F38 +0xE5FE 0x7F3A +0xE6A1 0x7F45 +0xE6A2 0x7F4C +0xE6A3 0x7F4D +0xE6A4 0x7F4E +0xE6A5 0x7F50 +0xE6A6 0x7F51 +0xE6A7 0x7F55 +0xE6A8 0x7F54 +0xE6A9 0x7F58 +0xE6AA 0x7F5F +0xE6AB 0x7F60 +0xE6AC 0x7F68 +0xE6AD 0x7F69 +0xE6AE 0x7F67 +0xE6AF 0x7F78 +0xE6B0 0x7F82 +0xE6B1 0x7F86 +0xE6B2 0x7F83 +0xE6B3 0x7F88 +0xE6B4 0x7F87 +0xE6B5 0x7F8C +0xE6B6 0x7F94 +0xE6B7 0x7F9E +0xE6B8 0x7F9D +0xE6B9 0x7F9A +0xE6BA 0x7FA3 +0xE6BB 0x7FAF +0xE6BC 0x7FB2 +0xE6BD 0x7FB9 +0xE6BE 0x7FAE +0xE6BF 0x7FB6 +0xE6C0 0x7FB8 +0xE6C1 0x8B71 +0xE6C2 0x7FC5 +0xE6C3 0x7FC6 +0xE6C4 0x7FCA +0xE6C5 0x7FD5 +0xE6C6 0x7FD4 +0xE6C7 0x7FE1 +0xE6C8 0x7FE6 +0xE6C9 0x7FE9 +0xE6CA 0x7FF3 +0xE6CB 0x7FF9 +0xE6CC 0x98DC +0xE6CD 0x8006 +0xE6CE 0x8004 +0xE6CF 0x800B +0xE6D0 0x8012 +0xE6D1 0x8018 +0xE6D2 0x8019 +0xE6D3 0x801C +0xE6D4 0x8021 +0xE6D5 0x8028 +0xE6D6 0x803F +0xE6D7 0x803B +0xE6D8 0x804A +0xE6D9 0x8046 +0xE6DA 0x8052 +0xE6DB 0x8058 +0xE6DC 0x805A +0xE6DD 0x805F +0xE6DE 0x8062 +0xE6DF 0x8068 +0xE6E0 0x8073 +0xE6E1 0x8072 +0xE6E2 0x8070 +0xE6E3 0x8076 +0xE6E4 0x8079 +0xE6E5 0x807D +0xE6E6 0x807F +0xE6E7 0x8084 +0xE6E8 0x8086 +0xE6E9 0x8085 +0xE6EA 0x809B +0xE6EB 0x8093 +0xE6EC 0x809A +0xE6ED 0x80AD +0xE6EE 0x5190 +0xE6EF 0x80AC +0xE6F0 0x80DB +0xE6F1 0x80E5 +0xE6F2 0x80D9 +0xE6F3 0x80DD +0xE6F4 0x80C4 +0xE6F5 0x80DA +0xE6F6 0x80D6 +0xE6F7 0x8109 +0xE6F8 0x80EF +0xE6F9 0x80F1 +0xE6FA 0x811B +0xE6FB 0x8129 +0xE6FC 0x8123 +0xE6FD 0x812F +0xE6FE 0x814B +0xE7A1 0x968B +0xE7A2 0x8146 +0xE7A3 0x813E +0xE7A4 0x8153 +0xE7A5 0x8151 +0xE7A6 0x80FC +0xE7A7 0x8171 +0xE7A8 0x816E +0xE7A9 0x8165 +0xE7AA 0x8166 +0xE7AB 0x8174 +0xE7AC 0x8183 +0xE7AD 0x8188 +0xE7AE 0x818A +0xE7AF 0x8180 +0xE7B0 0x8182 +0xE7B1 0x81A0 +0xE7B2 0x8195 +0xE7B3 0x81A4 +0xE7B4 0x81A3 +0xE7B5 0x815F +0xE7B6 0x8193 +0xE7B7 0x81A9 +0xE7B8 0x81B0 +0xE7B9 0x81B5 +0xE7BA 0x81BE +0xE7BB 0x81B8 +0xE7BC 0x81BD +0xE7BD 0x81C0 +0xE7BE 0x81C2 +0xE7BF 0x81BA +0xE7C0 0x81C9 +0xE7C1 0x81CD +0xE7C2 0x81D1 +0xE7C3 0x81D9 +0xE7C4 0x81D8 +0xE7C5 0x81C8 +0xE7C6 0x81DA +0xE7C7 0x81DF +0xE7C8 0x81E0 +0xE7C9 0x81E7 +0xE7CA 0x81FA +0xE7CB 0x81FB +0xE7CC 0x81FE +0xE7CD 0x8201 +0xE7CE 0x8202 +0xE7CF 0x8205 +0xE7D0 0x8207 +0xE7D1 0x820A +0xE7D2 0x820D +0xE7D3 0x8210 +0xE7D4 0x8216 +0xE7D5 0x8229 +0xE7D6 0x822B +0xE7D7 0x8238 +0xE7D8 0x8233 +0xE7D9 0x8240 +0xE7DA 0x8259 +0xE7DB 0x8258 +0xE7DC 0x825D +0xE7DD 0x825A +0xE7DE 0x825F +0xE7DF 0x8264 +0xE7E0 0x8262 +0xE7E1 0x8268 +0xE7E2 0x826A +0xE7E3 0x826B +0xE7E4 0x822E +0xE7E5 0x8271 +0xE7E6 0x8277 +0xE7E7 0x8278 +0xE7E8 0x827E +0xE7E9 0x828D +0xE7EA 0x8292 +0xE7EB 0x82AB +0xE7EC 0x829F +0xE7ED 0x82BB +0xE7EE 0x82AC +0xE7EF 0x82E1 +0xE7F0 0x82E3 +0xE7F1 0x82DF +0xE7F2 0x82D2 +0xE7F3 0x82F4 +0xE7F4 0x82F3 +0xE7F5 0x82FA +0xE7F6 0x8393 +0xE7F7 0x8303 +0xE7F8 0x82FB +0xE7F9 0x82F9 +0xE7FA 0x82DE +0xE7FB 0x8306 +0xE7FC 0x82DC +0xE7FD 0x8309 +0xE7FE 0x82D9 +0xE8A1 0x8335 +0xE8A2 0x8334 +0xE8A3 0x8316 +0xE8A4 0x8332 +0xE8A5 0x8331 +0xE8A6 0x8340 +0xE8A7 0x8339 +0xE8A8 0x8350 +0xE8A9 0x8345 +0xE8AA 0x832F +0xE8AB 0x832B +0xE8AC 0x8317 +0xE8AD 0x8318 +0xE8AE 0x8385 +0xE8AF 0x839A +0xE8B0 0x83AA +0xE8B1 0x839F +0xE8B2 0x83A2 +0xE8B3 0x8396 +0xE8B4 0x8323 +0xE8B5 0x838E +0xE8B6 0x8387 +0xE8B7 0x838A +0xE8B8 0x837C +0xE8B9 0x83B5 +0xE8BA 0x8373 +0xE8BB 0x8375 +0xE8BC 0x83A0 +0xE8BD 0x8389 +0xE8BE 0x83A8 +0xE8BF 0x83F4 +0xE8C0 0x8413 +0xE8C1 0x83EB +0xE8C2 0x83CE +0xE8C3 0x83FD +0xE8C4 0x8403 +0xE8C5 0x83D8 +0xE8C6 0x840B +0xE8C7 0x83C1 +0xE8C8 0x83F7 +0xE8C9 0x8407 +0xE8CA 0x83E0 +0xE8CB 0x83F2 +0xE8CC 0x840D +0xE8CD 0x8422 +0xE8CE 0x8420 +0xE8CF 0x83BD +0xE8D0 0x8438 +0xE8D1 0x8506 +0xE8D2 0x83FB +0xE8D3 0x846D +0xE8D4 0x842A +0xE8D5 0x843C +0xE8D6 0x855A +0xE8D7 0x8484 +0xE8D8 0x8477 +0xE8D9 0x846B +0xE8DA 0x84AD +0xE8DB 0x846E +0xE8DC 0x8482 +0xE8DD 0x8469 +0xE8DE 0x8446 +0xE8DF 0x842C +0xE8E0 0x846F +0xE8E1 0x8479 +0xE8E2 0x8435 +0xE8E3 0x84CA +0xE8E4 0x8462 +0xE8E5 0x84B9 +0xE8E6 0x84BF +0xE8E7 0x849F +0xE8E8 0x84D9 +0xE8E9 0x84CD +0xE8EA 0x84BB +0xE8EB 0x84DA +0xE8EC 0x84D0 +0xE8ED 0x84C1 +0xE8EE 0x84C6 +0xE8EF 0x84D6 +0xE8F0 0x84A1 +0xE8F1 0x8521 +0xE8F2 0x84FF +0xE8F3 0x84F4 +0xE8F4 0x8517 +0xE8F5 0x8518 +0xE8F6 0x852C +0xE8F7 0x851F +0xE8F8 0x8515 +0xE8F9 0x8514 +0xE8FA 0x84FC +0xE8FB 0x8540 +0xE8FC 0x8563 +0xE8FD 0x8558 +0xE8FE 0x8548 +0xE9A1 0x8541 +0xE9A2 0x8602 +0xE9A3 0x854B +0xE9A4 0x8555 +0xE9A5 0x8580 +0xE9A6 0x85A4 +0xE9A7 0x8588 +0xE9A8 0x8591 +0xE9A9 0x858A +0xE9AA 0x85A8 +0xE9AB 0x856D +0xE9AC 0x8594 +0xE9AD 0x859B +0xE9AE 0x85EA +0xE9AF 0x8587 +0xE9B0 0x859C +0xE9B1 0x8577 +0xE9B2 0x857E +0xE9B3 0x8590 +0xE9B4 0x85C9 +0xE9B5 0x85BA +0xE9B6 0x85CF +0xE9B7 0x85B9 +0xE9B8 0x85D0 +0xE9B9 0x85D5 +0xE9BA 0x85DD +0xE9BB 0x85E5 +0xE9BC 0x85DC +0xE9BD 0x85F9 +0xE9BE 0x860A +0xE9BF 0x8613 +0xE9C0 0x860B +0xE9C1 0x85FE +0xE9C2 0x85FA +0xE9C3 0x8606 +0xE9C4 0x8622 +0xE9C5 0x861A +0xE9C6 0x8630 +0xE9C7 0x863F +0xE9C8 0x864D +0xE9C9 0x4E55 +0xE9CA 0x8654 +0xE9CB 0x865F +0xE9CC 0x8667 +0xE9CD 0x8671 +0xE9CE 0x8693 +0xE9CF 0x86A3 +0xE9D0 0x86A9 +0xE9D1 0x86AA +0xE9D2 0x868B +0xE9D3 0x868C +0xE9D4 0x86B6 +0xE9D5 0x86AF +0xE9D6 0x86C4 +0xE9D7 0x86C6 +0xE9D8 0x86B0 +0xE9D9 0x86C9 +0xE9DA 0x8823 +0xE9DB 0x86AB +0xE9DC 0x86D4 +0xE9DD 0x86DE +0xE9DE 0x86E9 +0xE9DF 0x86EC +0xE9E0 0x86DF +0xE9E1 0x86DB +0xE9E2 0x86EF +0xE9E3 0x8712 +0xE9E4 0x8706 +0xE9E5 0x8708 +0xE9E6 0x8700 +0xE9E7 0x8703 +0xE9E8 0x86FB +0xE9E9 0x8711 +0xE9EA 0x8709 +0xE9EB 0x870D +0xE9EC 0x86F9 +0xE9ED 0x870A +0xE9EE 0x8734 +0xE9EF 0x873F +0xE9F0 0x8737 +0xE9F1 0x873B +0xE9F2 0x8725 +0xE9F3 0x8729 +0xE9F4 0x871A +0xE9F5 0x8760 +0xE9F6 0x875F +0xE9F7 0x8778 +0xE9F8 0x874C +0xE9F9 0x874E +0xE9FA 0x8774 +0xE9FB 0x8757 +0xE9FC 0x8768 +0xE9FD 0x876E +0xE9FE 0x8759 +0xEAA1 0x8753 +0xEAA2 0x8763 +0xEAA3 0x876A +0xEAA4 0x8805 +0xEAA5 0x87A2 +0xEAA6 0x879F +0xEAA7 0x8782 +0xEAA8 0x87AF +0xEAA9 0x87CB +0xEAAA 0x87BD +0xEAAB 0x87C0 +0xEAAC 0x87D0 +0xEAAD 0x96D6 +0xEAAE 0x87AB +0xEAAF 0x87C4 +0xEAB0 0x87B3 +0xEAB1 0x87C7 +0xEAB2 0x87C6 +0xEAB3 0x87BB +0xEAB4 0x87EF +0xEAB5 0x87F2 +0xEAB6 0x87E0 +0xEAB7 0x880F +0xEAB8 0x880D +0xEAB9 0x87FE +0xEABA 0x87F6 +0xEABB 0x87F7 +0xEABC 0x880E +0xEABD 0x87D2 +0xEABE 0x8811 +0xEABF 0x8816 +0xEAC0 0x8815 +0xEAC1 0x8822 +0xEAC2 0x8821 +0xEAC3 0x8831 +0xEAC4 0x8836 +0xEAC5 0x8839 +0xEAC6 0x8827 +0xEAC7 0x883B +0xEAC8 0x8844 +0xEAC9 0x8842 +0xEACA 0x8852 +0xEACB 0x8859 +0xEACC 0x885E +0xEACD 0x8862 +0xEACE 0x886B +0xEACF 0x8881 +0xEAD0 0x887E +0xEAD1 0x889E +0xEAD2 0x8875 +0xEAD3 0x887D +0xEAD4 0x88B5 +0xEAD5 0x8872 +0xEAD6 0x8882 +0xEAD7 0x8897 +0xEAD8 0x8892 +0xEAD9 0x88AE +0xEADA 0x8899 +0xEADB 0x88A2 +0xEADC 0x888D +0xEADD 0x88A4 +0xEADE 0x88B0 +0xEADF 0x88BF +0xEAE0 0x88B1 +0xEAE1 0x88C3 +0xEAE2 0x88C4 +0xEAE3 0x88D4 +0xEAE4 0x88D8 +0xEAE5 0x88D9 +0xEAE6 0x88DD +0xEAE7 0x88F9 +0xEAE8 0x8902 +0xEAE9 0x88FC +0xEAEA 0x88F4 +0xEAEB 0x88E8 +0xEAEC 0x88F2 +0xEAED 0x8904 +0xEAEE 0x890C +0xEAEF 0x890A +0xEAF0 0x8913 +0xEAF1 0x8943 +0xEAF2 0x891E +0xEAF3 0x8925 +0xEAF4 0x892A +0xEAF5 0x892B +0xEAF6 0x8941 +0xEAF7 0x8944 +0xEAF8 0x893B +0xEAF9 0x8936 +0xEAFA 0x8938 +0xEAFB 0x894C +0xEAFC 0x891D +0xEAFD 0x8960 +0xEAFE 0x895E +0xEBA1 0x8966 +0xEBA2 0x8964 +0xEBA3 0x896D +0xEBA4 0x896A +0xEBA5 0x896F +0xEBA6 0x8974 +0xEBA7 0x8977 +0xEBA8 0x897E +0xEBA9 0x8983 +0xEBAA 0x8988 +0xEBAB 0x898A +0xEBAC 0x8993 +0xEBAD 0x8998 +0xEBAE 0x89A1 +0xEBAF 0x89A9 +0xEBB0 0x89A6 +0xEBB1 0x89AC +0xEBB2 0x89AF +0xEBB3 0x89B2 +0xEBB4 0x89BA +0xEBB5 0x89BD +0xEBB6 0x89BF +0xEBB7 0x89C0 +0xEBB8 0x89DA +0xEBB9 0x89DC +0xEBBA 0x89DD +0xEBBB 0x89E7 +0xEBBC 0x89F4 +0xEBBD 0x89F8 +0xEBBE 0x8A03 +0xEBBF 0x8A16 +0xEBC0 0x8A10 +0xEBC1 0x8A0C +0xEBC2 0x8A1B +0xEBC3 0x8A1D +0xEBC4 0x8A25 +0xEBC5 0x8A36 +0xEBC6 0x8A41 +0xEBC7 0x8A5B +0xEBC8 0x8A52 +0xEBC9 0x8A46 +0xEBCA 0x8A48 +0xEBCB 0x8A7C +0xEBCC 0x8A6D +0xEBCD 0x8A6C +0xEBCE 0x8A62 +0xEBCF 0x8A85 +0xEBD0 0x8A82 +0xEBD1 0x8A84 +0xEBD2 0x8AA8 +0xEBD3 0x8AA1 +0xEBD4 0x8A91 +0xEBD5 0x8AA5 +0xEBD6 0x8AA6 +0xEBD7 0x8A9A +0xEBD8 0x8AA3 +0xEBD9 0x8AC4 +0xEBDA 0x8ACD +0xEBDB 0x8AC2 +0xEBDC 0x8ADA +0xEBDD 0x8AEB +0xEBDE 0x8AF3 +0xEBDF 0x8AE7 +0xEBE0 0x8AE4 +0xEBE1 0x8AF1 +0xEBE2 0x8B14 +0xEBE3 0x8AE0 +0xEBE4 0x8AE2 +0xEBE5 0x8AF7 +0xEBE6 0x8ADE +0xEBE7 0x8ADB +0xEBE8 0x8B0C +0xEBE9 0x8B07 +0xEBEA 0x8B1A +0xEBEB 0x8AE1 +0xEBEC 0x8B16 +0xEBED 0x8B10 +0xEBEE 0x8B17 +0xEBEF 0x8B20 +0xEBF0 0x8B33 +0xEBF1 0x97AB +0xEBF2 0x8B26 +0xEBF3 0x8B2B +0xEBF4 0x8B3E +0xEBF5 0x8B28 +0xEBF6 0x8B41 +0xEBF7 0x8B4C +0xEBF8 0x8B4F +0xEBF9 0x8B4E +0xEBFA 0x8B49 +0xEBFB 0x8B56 +0xEBFC 0x8B5B +0xEBFD 0x8B5A +0xEBFE 0x8B6B +0xECA1 0x8B5F +0xECA2 0x8B6C +0xECA3 0x8B6F +0xECA4 0x8B74 +0xECA5 0x8B7D +0xECA6 0x8B80 +0xECA7 0x8B8C +0xECA8 0x8B8E +0xECA9 0x8B92 +0xECAA 0x8B93 +0xECAB 0x8B96 +0xECAC 0x8B99 +0xECAD 0x8B9A +0xECAE 0x8C3A +0xECAF 0x8C41 +0xECB0 0x8C3F +0xECB1 0x8C48 +0xECB2 0x8C4C +0xECB3 0x8C4E +0xECB4 0x8C50 +0xECB5 0x8C55 +0xECB6 0x8C62 +0xECB7 0x8C6C +0xECB8 0x8C78 +0xECB9 0x8C7A +0xECBA 0x8C82 +0xECBB 0x8C89 +0xECBC 0x8C85 +0xECBD 0x8C8A +0xECBE 0x8C8D +0xECBF 0x8C8E +0xECC0 0x8C94 +0xECC1 0x8C7C +0xECC2 0x8C98 +0xECC3 0x621D +0xECC4 0x8CAD +0xECC5 0x8CAA +0xECC6 0x8CBD +0xECC7 0x8CB2 +0xECC8 0x8CB3 +0xECC9 0x8CAE +0xECCA 0x8CB6 +0xECCB 0x8CC8 +0xECCC 0x8CC1 +0xECCD 0x8CE4 +0xECCE 0x8CE3 +0xECCF 0x8CDA +0xECD0 0x8CFD +0xECD1 0x8CFA +0xECD2 0x8CFB +0xECD3 0x8D04 +0xECD4 0x8D05 +0xECD5 0x8D0A +0xECD6 0x8D07 +0xECD7 0x8D0F +0xECD8 0x8D0D +0xECD9 0x8D10 +0xECDA 0x9F4E +0xECDB 0x8D13 +0xECDC 0x8CCD +0xECDD 0x8D14 +0xECDE 0x8D16 +0xECDF 0x8D67 +0xECE0 0x8D6D +0xECE1 0x8D71 +0xECE2 0x8D73 +0xECE3 0x8D81 +0xECE4 0x8D99 +0xECE5 0x8DC2 +0xECE6 0x8DBE +0xECE7 0x8DBA +0xECE8 0x8DCF +0xECE9 0x8DDA +0xECEA 0x8DD6 +0xECEB 0x8DCC +0xECEC 0x8DDB +0xECED 0x8DCB +0xECEE 0x8DEA +0xECEF 0x8DEB +0xECF0 0x8DDF +0xECF1 0x8DE3 +0xECF2 0x8DFC +0xECF3 0x8E08 +0xECF4 0x8E09 +0xECF5 0x8DFF +0xECF6 0x8E1D +0xECF7 0x8E1E +0xECF8 0x8E10 +0xECF9 0x8E1F +0xECFA 0x8E42 +0xECFB 0x8E35 +0xECFC 0x8E30 +0xECFD 0x8E34 +0xECFE 0x8E4A +0xEDA1 0x8E47 +0xEDA2 0x8E49 +0xEDA3 0x8E4C +0xEDA4 0x8E50 +0xEDA5 0x8E48 +0xEDA6 0x8E59 +0xEDA7 0x8E64 +0xEDA8 0x8E60 +0xEDA9 0x8E2A +0xEDAA 0x8E63 +0xEDAB 0x8E55 +0xEDAC 0x8E76 +0xEDAD 0x8E72 +0xEDAE 0x8E7C +0xEDAF 0x8E81 +0xEDB0 0x8E87 +0xEDB1 0x8E85 +0xEDB2 0x8E84 +0xEDB3 0x8E8B +0xEDB4 0x8E8A +0xEDB5 0x8E93 +0xEDB6 0x8E91 +0xEDB7 0x8E94 +0xEDB8 0x8E99 +0xEDB9 0x8EAA +0xEDBA 0x8EA1 +0xEDBB 0x8EAC +0xEDBC 0x8EB0 +0xEDBD 0x8EC6 +0xEDBE 0x8EB1 +0xEDBF 0x8EBE +0xEDC0 0x8EC5 +0xEDC1 0x8EC8 +0xEDC2 0x8ECB +0xEDC3 0x8EDB +0xEDC4 0x8EE3 +0xEDC5 0x8EFC +0xEDC6 0x8EFB +0xEDC7 0x8EEB +0xEDC8 0x8EFE +0xEDC9 0x8F0A +0xEDCA 0x8F05 +0xEDCB 0x8F15 +0xEDCC 0x8F12 +0xEDCD 0x8F19 +0xEDCE 0x8F13 +0xEDCF 0x8F1C +0xEDD0 0x8F1F +0xEDD1 0x8F1B +0xEDD2 0x8F0C +0xEDD3 0x8F26 +0xEDD4 0x8F33 +0xEDD5 0x8F3B +0xEDD6 0x8F39 +0xEDD7 0x8F45 +0xEDD8 0x8F42 +0xEDD9 0x8F3E +0xEDDA 0x8F4C +0xEDDB 0x8F49 +0xEDDC 0x8F46 +0xEDDD 0x8F4E +0xEDDE 0x8F57 +0xEDDF 0x8F5C +0xEDE0 0x8F62 +0xEDE1 0x8F63 +0xEDE2 0x8F64 +0xEDE3 0x8F9C +0xEDE4 0x8F9F +0xEDE5 0x8FA3 +0xEDE6 0x8FAD +0xEDE7 0x8FAF +0xEDE8 0x8FB7 +0xEDE9 0x8FDA +0xEDEA 0x8FE5 +0xEDEB 0x8FE2 +0xEDEC 0x8FEA +0xEDED 0x8FEF +0xEDEE 0x9087 +0xEDEF 0x8FF4 +0xEDF0 0x9005 +0xEDF1 0x8FF9 +0xEDF2 0x8FFA +0xEDF3 0x9011 +0xEDF4 0x9015 +0xEDF5 0x9021 +0xEDF6 0x900D +0xEDF7 0x901E +0xEDF8 0x9016 +0xEDF9 0x900B +0xEDFA 0x9027 +0xEDFB 0x9036 +0xEDFC 0x9035 +0xEDFD 0x9039 +0xEDFE 0x8FF8 +0xEEA1 0x904F +0xEEA2 0x9050 +0xEEA3 0x9051 +0xEEA4 0x9052 +0xEEA5 0x900E +0xEEA6 0x9049 +0xEEA7 0x903E +0xEEA8 0x9056 +0xEEA9 0x9058 +0xEEAA 0x905E +0xEEAB 0x9068 +0xEEAC 0x906F +0xEEAD 0x9076 +0xEEAE 0x96A8 +0xEEAF 0x9072 +0xEEB0 0x9082 +0xEEB1 0x907D +0xEEB2 0x9081 +0xEEB3 0x9080 +0xEEB4 0x908A +0xEEB5 0x9089 +0xEEB6 0x908F +0xEEB7 0x90A8 +0xEEB8 0x90AF +0xEEB9 0x90B1 +0xEEBA 0x90B5 +0xEEBB 0x90E2 +0xEEBC 0x90E4 +0xEEBD 0x6248 +0xEEBE 0x90DB +0xEEBF 0x9102 +0xEEC0 0x9112 +0xEEC1 0x9119 +0xEEC2 0x9132 +0xEEC3 0x9130 +0xEEC4 0x914A +0xEEC5 0x9156 +0xEEC6 0x9158 +0xEEC7 0x9163 +0xEEC8 0x9165 +0xEEC9 0x9169 +0xEECA 0x9173 +0xEECB 0x9172 +0xEECC 0x918B +0xEECD 0x9189 +0xEECE 0x9182 +0xEECF 0x91A2 +0xEED0 0x91AB +0xEED1 0x91AF +0xEED2 0x91AA +0xEED3 0x91B5 +0xEED4 0x91B4 +0xEED5 0x91BA +0xEED6 0x91C0 +0xEED7 0x91C1 +0xEED8 0x91C9 +0xEED9 0x91CB +0xEEDA 0x91D0 +0xEEDB 0x91D6 +0xEEDC 0x91DF +0xEEDD 0x91E1 +0xEEDE 0x91DB +0xEEDF 0x91FC +0xEEE0 0x91F5 +0xEEE1 0x91F6 +0xEEE2 0x921E +0xEEE3 0x91FF +0xEEE4 0x9214 +0xEEE5 0x922C +0xEEE6 0x9215 +0xEEE7 0x9211 +0xEEE8 0x925E +0xEEE9 0x9257 +0xEEEA 0x9245 +0xEEEB 0x9249 +0xEEEC 0x9264 +0xEEED 0x9248 +0xEEEE 0x9295 +0xEEEF 0x923F +0xEEF0 0x924B +0xEEF1 0x9250 +0xEEF2 0x929C +0xEEF3 0x9296 +0xEEF4 0x9293 +0xEEF5 0x929B +0xEEF6 0x925A +0xEEF7 0x92CF +0xEEF8 0x92B9 +0xEEF9 0x92B7 +0xEEFA 0x92E9 +0xEEFB 0x930F +0xEEFC 0x92FA +0xEEFD 0x9344 +0xEEFE 0x932E +0xEFA1 0x9319 +0xEFA2 0x9322 +0xEFA3 0x931A +0xEFA4 0x9323 +0xEFA5 0x933A +0xEFA6 0x9335 +0xEFA7 0x933B +0xEFA8 0x935C +0xEFA9 0x9360 +0xEFAA 0x937C +0xEFAB 0x936E +0xEFAC 0x9356 +0xEFAD 0x93B0 +0xEFAE 0x93AC +0xEFAF 0x93AD +0xEFB0 0x9394 +0xEFB1 0x93B9 +0xEFB2 0x93D6 +0xEFB3 0x93D7 +0xEFB4 0x93E8 +0xEFB5 0x93E5 +0xEFB6 0x93D8 +0xEFB7 0x93C3 +0xEFB8 0x93DD +0xEFB9 0x93D0 +0xEFBA 0x93C8 +0xEFBB 0x93E4 +0xEFBC 0x941A +0xEFBD 0x9414 +0xEFBE 0x9413 +0xEFBF 0x9403 +0xEFC0 0x9407 +0xEFC1 0x9410 +0xEFC2 0x9436 +0xEFC3 0x942B +0xEFC4 0x9435 +0xEFC5 0x9421 +0xEFC6 0x943A +0xEFC7 0x9441 +0xEFC8 0x9452 +0xEFC9 0x9444 +0xEFCA 0x945B +0xEFCB 0x9460 +0xEFCC 0x9462 +0xEFCD 0x945E +0xEFCE 0x946A +0xEFCF 0x9229 +0xEFD0 0x9470 +0xEFD1 0x9475 +0xEFD2 0x9477 +0xEFD3 0x947D +0xEFD4 0x945A +0xEFD5 0x947C +0xEFD6 0x947E +0xEFD7 0x9481 +0xEFD8 0x947F +0xEFD9 0x9582 +0xEFDA 0x9587 +0xEFDB 0x958A +0xEFDC 0x9594 +0xEFDD 0x9596 +0xEFDE 0x9598 +0xEFDF 0x9599 +0xEFE0 0x95A0 +0xEFE1 0x95A8 +0xEFE2 0x95A7 +0xEFE3 0x95AD +0xEFE4 0x95BC +0xEFE5 0x95BB +0xEFE6 0x95B9 +0xEFE7 0x95BE +0xEFE8 0x95CA +0xEFE9 0x6FF6 +0xEFEA 0x95C3 +0xEFEB 0x95CD +0xEFEC 0x95CC +0xEFED 0x95D5 +0xEFEE 0x95D4 +0xEFEF 0x95D6 +0xEFF0 0x95DC +0xEFF1 0x95E1 +0xEFF2 0x95E5 +0xEFF3 0x95E2 +0xEFF4 0x9621 +0xEFF5 0x9628 +0xEFF6 0x962E +0xEFF7 0x962F +0xEFF8 0x9642 +0xEFF9 0x964C +0xEFFA 0x964F +0xEFFB 0x964B +0xEFFC 0x9677 +0xEFFD 0x965C +0xEFFE 0x965E +0xF0A1 0x965D +0xF0A2 0x965F +0xF0A3 0x9666 +0xF0A4 0x9672 +0xF0A5 0x966C +0xF0A6 0x968D +0xF0A7 0x9698 +0xF0A8 0x9695 +0xF0A9 0x9697 +0xF0AA 0x96AA +0xF0AB 0x96A7 +0xF0AC 0x96B1 +0xF0AD 0x96B2 +0xF0AE 0x96B0 +0xF0AF 0x96B4 +0xF0B0 0x96B6 +0xF0B1 0x96B8 +0xF0B2 0x96B9 +0xF0B3 0x96CE +0xF0B4 0x96CB +0xF0B5 0x96C9 +0xF0B6 0x96CD +0xF0B7 0x894D +0xF0B8 0x96DC +0xF0B9 0x970D +0xF0BA 0x96D5 +0xF0BB 0x96F9 +0xF0BC 0x9704 +0xF0BD 0x9706 +0xF0BE 0x9708 +0xF0BF 0x9713 +0xF0C0 0x970E +0xF0C1 0x9711 +0xF0C2 0x970F +0xF0C3 0x9716 +0xF0C4 0x9719 +0xF0C5 0x9724 +0xF0C6 0x972A +0xF0C7 0x9730 +0xF0C8 0x9739 +0xF0C9 0x973D +0xF0CA 0x973E +0xF0CB 0x9744 +0xF0CC 0x9746 +0xF0CD 0x9748 +0xF0CE 0x9742 +0xF0CF 0x9749 +0xF0D0 0x975C +0xF0D1 0x9760 +0xF0D2 0x9764 +0xF0D3 0x9766 +0xF0D4 0x9768 +0xF0D5 0x52D2 +0xF0D6 0x976B +0xF0D7 0x9771 +0xF0D8 0x9779 +0xF0D9 0x9785 +0xF0DA 0x977C +0xF0DB 0x9781 +0xF0DC 0x977A +0xF0DD 0x9786 +0xF0DE 0x978B +0xF0DF 0x978F +0xF0E0 0x9790 +0xF0E1 0x979C +0xF0E2 0x97A8 +0xF0E3 0x97A6 +0xF0E4 0x97A3 +0xF0E5 0x97B3 +0xF0E6 0x97B4 +0xF0E7 0x97C3 +0xF0E8 0x97C6 +0xF0E9 0x97C8 +0xF0EA 0x97CB +0xF0EB 0x97DC +0xF0EC 0x97ED +0xF0ED 0x9F4F +0xF0EE 0x97F2 +0xF0EF 0x7ADF +0xF0F0 0x97F6 +0xF0F1 0x97F5 +0xF0F2 0x980F +0xF0F3 0x980C +0xF0F4 0x9838 +0xF0F5 0x9824 +0xF0F6 0x9821 +0xF0F7 0x9837 +0xF0F8 0x983D +0xF0F9 0x9846 +0xF0FA 0x984F +0xF0FB 0x984B +0xF0FC 0x986B +0xF0FD 0x986F +0xF0FE 0x9870 +0xF1A1 0x9871 +0xF1A2 0x9874 +0xF1A3 0x9873 +0xF1A4 0x98AA +0xF1A5 0x98AF +0xF1A6 0x98B1 +0xF1A7 0x98B6 +0xF1A8 0x98C4 +0xF1A9 0x98C3 +0xF1AA 0x98C6 +0xF1AB 0x98E9 +0xF1AC 0x98EB +0xF1AD 0x9903 +0xF1AE 0x9909 +0xF1AF 0x9912 +0xF1B0 0x9914 +0xF1B1 0x9918 +0xF1B2 0x9921 +0xF1B3 0x991D +0xF1B4 0x991E +0xF1B5 0x9924 +0xF1B6 0x9920 +0xF1B7 0x992C +0xF1B8 0x992E +0xF1B9 0x993D +0xF1BA 0x993E +0xF1BB 0x9942 +0xF1BC 0x9949 +0xF1BD 0x9945 +0xF1BE 0x9950 +0xF1BF 0x994B +0xF1C0 0x9951 +0xF1C1 0x9952 +0xF1C2 0x994C +0xF1C3 0x9955 +0xF1C4 0x9997 +0xF1C5 0x9998 +0xF1C6 0x99A5 +0xF1C7 0x99AD +0xF1C8 0x99AE +0xF1C9 0x99BC +0xF1CA 0x99DF +0xF1CB 0x99DB +0xF1CC 0x99DD +0xF1CD 0x99D8 +0xF1CE 0x99D1 +0xF1CF 0x99ED +0xF1D0 0x99EE +0xF1D1 0x99F1 +0xF1D2 0x99F2 +0xF1D3 0x99FB +0xF1D4 0x99F8 +0xF1D5 0x9A01 +0xF1D6 0x9A0F +0xF1D7 0x9A05 +0xF1D8 0x99E2 +0xF1D9 0x9A19 +0xF1DA 0x9A2B +0xF1DB 0x9A37 +0xF1DC 0x9A45 +0xF1DD 0x9A42 +0xF1DE 0x9A40 +0xF1DF 0x9A43 +0xF1E0 0x9A3E +0xF1E1 0x9A55 +0xF1E2 0x9A4D +0xF1E3 0x9A5B +0xF1E4 0x9A57 +0xF1E5 0x9A5F +0xF1E6 0x9A62 +0xF1E7 0x9A65 +0xF1E8 0x9A64 +0xF1E9 0x9A69 +0xF1EA 0x9A6B +0xF1EB 0x9A6A +0xF1EC 0x9AAD +0xF1ED 0x9AB0 +0xF1EE 0x9ABC +0xF1EF 0x9AC0 +0xF1F0 0x9ACF +0xF1F1 0x9AD1 +0xF1F2 0x9AD3 +0xF1F3 0x9AD4 +0xF1F4 0x9ADE +0xF1F5 0x9ADF +0xF1F6 0x9AE2 +0xF1F7 0x9AE3 +0xF1F8 0x9AE6 +0xF1F9 0x9AEF +0xF1FA 0x9AEB +0xF1FB 0x9AEE +0xF1FC 0x9AF4 +0xF1FD 0x9AF1 +0xF1FE 0x9AF7 +0xF2A1 0x9AFB +0xF2A2 0x9B06 +0xF2A3 0x9B18 +0xF2A4 0x9B1A +0xF2A5 0x9B1F +0xF2A6 0x9B22 +0xF2A7 0x9B23 +0xF2A8 0x9B25 +0xF2A9 0x9B27 +0xF2AA 0x9B28 +0xF2AB 0x9B29 +0xF2AC 0x9B2A +0xF2AD 0x9B2E +0xF2AE 0x9B2F +0xF2AF 0x9B32 +0xF2B0 0x9B44 +0xF2B1 0x9B43 +0xF2B2 0x9B4F +0xF2B3 0x9B4D +0xF2B4 0x9B4E +0xF2B5 0x9B51 +0xF2B6 0x9B58 +0xF2B7 0x9B74 +0xF2B8 0x9B93 +0xF2B9 0x9B83 +0xF2BA 0x9B91 +0xF2BB 0x9B96 +0xF2BC 0x9B97 +0xF2BD 0x9B9F +0xF2BE 0x9BA0 +0xF2BF 0x9BA8 +0xF2C0 0x9BB4 +0xF2C1 0x9BC0 +0xF2C2 0x9BCA +0xF2C3 0x9BB9 +0xF2C4 0x9BC6 +0xF2C5 0x9BCF +0xF2C6 0x9BD1 +0xF2C7 0x9BD2 +0xF2C8 0x9BE3 +0xF2C9 0x9BE2 +0xF2CA 0x9BE4 +0xF2CB 0x9BD4 +0xF2CC 0x9BE1 +0xF2CD 0x9C3A +0xF2CE 0x9BF2 +0xF2CF 0x9BF1 +0xF2D0 0x9BF0 +0xF2D1 0x9C15 +0xF2D2 0x9C14 +0xF2D3 0x9C09 +0xF2D4 0x9C13 +0xF2D5 0x9C0C +0xF2D6 0x9C06 +0xF2D7 0x9C08 +0xF2D8 0x9C12 +0xF2D9 0x9C0A +0xF2DA 0x9C04 +0xF2DB 0x9C2E +0xF2DC 0x9C1B +0xF2DD 0x9C25 +0xF2DE 0x9C24 +0xF2DF 0x9C21 +0xF2E0 0x9C30 +0xF2E1 0x9C47 +0xF2E2 0x9C32 +0xF2E3 0x9C46 +0xF2E4 0x9C3E +0xF2E5 0x9C5A +0xF2E6 0x9C60 +0xF2E7 0x9C67 +0xF2E8 0x9C76 +0xF2E9 0x9C78 +0xF2EA 0x9CE7 +0xF2EB 0x9CEC +0xF2EC 0x9CF0 +0xF2ED 0x9D09 +0xF2EE 0x9D08 +0xF2EF 0x9CEB +0xF2F0 0x9D03 +0xF2F1 0x9D06 +0xF2F2 0x9D2A +0xF2F3 0x9D26 +0xF2F4 0x9DAF +0xF2F5 0x9D23 +0xF2F6 0x9D1F +0xF2F7 0x9D44 +0xF2F8 0x9D15 +0xF2F9 0x9D12 +0xF2FA 0x9D41 +0xF2FB 0x9D3F +0xF2FC 0x9D3E +0xF2FD 0x9D46 +0xF2FE 0x9D48 +0xF3A1 0x9D5D +0xF3A2 0x9D5E +0xF3A3 0x9D64 +0xF3A4 0x9D51 +0xF3A5 0x9D50 +0xF3A6 0x9D59 +0xF3A7 0x9D72 +0xF3A8 0x9D89 +0xF3A9 0x9D87 +0xF3AA 0x9DAB +0xF3AB 0x9D6F +0xF3AC 0x9D7A +0xF3AD 0x9D9A +0xF3AE 0x9DA4 +0xF3AF 0x9DA9 +0xF3B0 0x9DB2 +0xF3B1 0x9DC4 +0xF3B2 0x9DC1 +0xF3B3 0x9DBB +0xF3B4 0x9DB8 +0xF3B5 0x9DBA +0xF3B6 0x9DC6 +0xF3B7 0x9DCF +0xF3B8 0x9DC2 +0xF3B9 0x9DD9 +0xF3BA 0x9DD3 +0xF3BB 0x9DF8 +0xF3BC 0x9DE6 +0xF3BD 0x9DED +0xF3BE 0x9DEF +0xF3BF 0x9DFD +0xF3C0 0x9E1A +0xF3C1 0x9E1B +0xF3C2 0x9E1E +0xF3C3 0x9E75 +0xF3C4 0x9E79 +0xF3C5 0x9E7D +0xF3C6 0x9E81 +0xF3C7 0x9E88 +0xF3C8 0x9E8B +0xF3C9 0x9E8C +0xF3CA 0x9E92 +0xF3CB 0x9E95 +0xF3CC 0x9E91 +0xF3CD 0x9E9D +0xF3CE 0x9EA5 +0xF3CF 0x9EA9 +0xF3D0 0x9EB8 +0xF3D1 0x9EAA +0xF3D2 0x9EAD +0xF3D3 0x9761 +0xF3D4 0x9ECC +0xF3D5 0x9ECE +0xF3D6 0x9ECF +0xF3D7 0x9ED0 +0xF3D8 0x9ED4 +0xF3D9 0x9EDC +0xF3DA 0x9EDE +0xF3DB 0x9EDD +0xF3DC 0x9EE0 +0xF3DD 0x9EE5 +0xF3DE 0x9EE8 +0xF3DF 0x9EEF +0xF3E0 0x9EF4 +0xF3E1 0x9EF6 +0xF3E2 0x9EF7 +0xF3E3 0x9EF9 +0xF3E4 0x9EFB +0xF3E5 0x9EFC +0xF3E6 0x9EFD +0xF3E7 0x9F07 +0xF3E8 0x9F08 +0xF3E9 0x76B7 +0xF3EA 0x9F15 +0xF3EB 0x9F21 +0xF3EC 0x9F2C +0xF3ED 0x9F3E +0xF3EE 0x9F4A +0xF3EF 0x9F52 +0xF3F0 0x9F54 +0xF3F1 0x9F63 +0xF3F2 0x9F5F +0xF3F3 0x9F60 +0xF3F4 0x9F61 +0xF3F5 0x9F66 +0xF3F6 0x9F67 +0xF3F7 0x9F6C +0xF3F8 0x9F6A +0xF3F9 0x9F77 +0xF3FA 0x9F72 +0xF3FB 0x9F76 +0xF3FC 0x9F95 +0xF3FD 0x9F9C +0xF3FE 0x9FA0 +0xF4A1 0x582F +0xF4A2 0x69C7 +0xF4A3 0x9059 +0xF4A4 0x7464 +0xF4A5 0x51DC +0xF4A6 0x7199 diff --git a/ext/mbstring/tests/eucjp_encoding.phpt b/ext/mbstring/tests/eucjp_encoding.phpt new file mode 100644 index 0000000000000..e1e9968b29e8a --- /dev/null +++ b/ext/mbstring/tests/eucjp_encoding.phpt @@ -0,0 +1,101 @@ +--TEST-- +Exhaustive test of EUC-JP encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/../docs/EUC-JP.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + $eucJP = chr($bytes); + else if ($bytes <= 0xFFFF) + $eucJP = pack('n', $bytes); + else + $eucJP = chr(($bytes >> 16) & 0xFF) . chr(($bytes >> 8) & 0xFF) . chr($bytes & 0xFF); + + $utf32 = pack('N', $codepoint); + $validChars[$eucJP] = $utf32; + } +} + +/* The JIS X 0208 character set does not have a single, straightforward + * mapping to the Unicode character set */ + +/* Kuten code 0x2140 (EUC-JP 0xA1C0) is a backslash; this can be mapped to + * 0x005C for an ordinary backslash, or 0xFF3C for a _fullwidth_ one + * We go with fullwidth */ +$validChars["\xA1\xC0"] = "\x00\x00\xFF\x3C"; + +/* In the JIS X 0212 character set, kuten code 0x2237 (EUC-JP 0x8FA2B7) + * is an ordinary tilde character + * This mapping is not reversible, because ASCII 0x7E also represents + * the same character */ +unset($validChars["\x8F\xA2\xB7"]); + +/* Go through all the possible ways that a EUC-JP character could be formed + * in an invalid way */ +$invalidChars = array(); +for ($i = 0; $i < 256; $i++) { + /* Look for bad single-byte chars */ + if (($i >= 0xA1 && $i <= 0xFE) || $i == 0x8E || $i == 0x8F) + continue; + if (!isset($validChars[chr($i)])) + $invalidChars[chr($i)] = true; +} +for ($i = 0xA1; $i <= 0xFE; $i++) { + for ($j = 0; $j < 256; $j++) { + /* Bad double-byte, JIS X 0208 characters... */ + $char = chr($i) . chr($j); + if (!isset($validChars[$char])) + $invalidChars[$char] = true; + } +} +for ($i = 0; $i < 256; $i++) { + /* Also JIS X 0201... */ + $char = "\x8E" . chr($i); + if (!isset($validChars[$char])) + $invalidChars[$char] = true; +} +/* And finally cover all the ways to form an invalid JIS X 0212 character */ +for ($i = 0; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xFE) { + for ($j = 0; $j < 256; $j++) { + $char = "\x8F" . chr($i) . chr($j); + if ($j >= 0xA1 && $j <= 0xFE) { + if (!isset($validChars[$char])) + $invalidChars[$char] = true; + } else { + $invalidChars[$char] = true; + } + } + } else { + $invalidChars["\x8F" . chr($i)] = true; + } +} + +unset($invalidChars["\x8F\xA2\xB7"]); + +testAllValidChars($validChars, 'EUC-JP', 'UTF-32BE'); +echo "Encoding verification and conversion work for all valid characters\n"; + +testAllInvalidChars($invalidChars, $validChars, 'EUC-JP', 'UTF-32BE', "\x00\x00\x00%"); +echo "Encoding verification and conversion work for all invalid characters\n"; + +testValidString("\x8F\xA2\xB7", "\x00\x00\x00~", 'EUC-JP', 'UTF-32BE', false); +echo "Irreversible mapping of 0x8FA2B7 follows JIS X 0212 correctly\n"; + +?> +--EXPECT-- +Encoding verification and conversion work for all valid characters +Encoding verification and conversion work for all invalid characters +Irreversible mapping of 0x8FA2B7 follows JIS X 0212 correctly From ae0f229627153ae6ed9f3adb99195ca7f71a91ce Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 25 Sep 2020 21:29:00 +0200 Subject: [PATCH 040/123] Add identify filter for text encoding 'wchar' --- ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c | 6 ++++++ ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h | 1 + ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 + 3 files changed, 8 insertions(+) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c index f69e70a64a423..f16edfee3be6f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c @@ -42,3 +42,9 @@ const mbfl_encoding mbfl_encoding_wchar = { NULL, NULL }; + +const struct mbfl_identify_vtbl vtbl_identify_wchar = { + mbfl_no_encoding_wchar, + mbfl_filt_ident_common_ctor, + mbfl_filt_ident_true +}; diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h index b412f4c907959..2e85da688f298 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.h @@ -35,5 +35,6 @@ #include "mbfilter.h" MBFLAPI extern const mbfl_encoding mbfl_encoding_wchar; +extern const struct mbfl_identify_vtbl vtbl_identify_wchar; #endif /* MBFL_MBFILTER_WCHAR_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 8013d13bf08c1..2a8f2a9c6fe73 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -167,6 +167,7 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_uuencode, &vtbl_identify_qprint, &vtbl_identify_base64, + &vtbl_identify_wchar, &vtbl_identify_false, NULL }; From 215c1460d8fc113f12f572b388bfe2136c147dae Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 6 Sep 2020 10:28:52 +0200 Subject: [PATCH 041/123] All mbstring encodings have identify filter now --- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 25 +------------------------ ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 2 -- 2 files changed, 1 insertion(+), 26 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 2a8f2a9c6fe73..32ed05736b633 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -76,12 +76,6 @@ #include "filters/mbfilter_ucs2.h" #include "filters/mbfilter_htmlent.h" -static const struct mbfl_identify_vtbl vtbl_identify_false = { - mbfl_no_encoding_pass, - mbfl_filt_ident_false_ctor, - mbfl_filt_ident_false -}; - static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_utf8, &vtbl_identify_utf7, @@ -168,7 +162,6 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_qprint, &vtbl_identify_base64, &vtbl_identify_wchar, - &vtbl_identify_false, NULL }; @@ -212,9 +205,7 @@ void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encodin /* setup the function table */ const struct mbfl_identify_vtbl *vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); - if (vtbl == NULL) { - vtbl = &vtbl_identify_false; - } + ZEND_ASSERT(vtbl); filter->filter_ctor = vtbl->filter_ctor; filter->filter_function = vtbl->filter_function; @@ -231,20 +222,6 @@ void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter) filter->status = filter->flag = 0; } -/* A (useless) filter which says that _every_ string is invalid in a certain encoding. - * Obviously, that cannot be true. Remove after all encodings have proper identify filters */ -int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter) -{ - filter->flag = 1; /* bad */ - return c; -} - -void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter) -{ - filter->status = 0; - filter->flag = 1; -} - /* For encodings in which _every_ possible input string is valid */ int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter) { diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 39be183ef3f4d..74b01483d45b6 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -62,9 +62,7 @@ MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, enum MBFLAPI extern void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding); MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); -MBFLAPI extern void mbfl_filt_ident_false_ctor(mbfl_identify_filter *filter); -MBFLAPI extern int mbfl_filt_ident_false(int c, mbfl_identify_filter *filter); MBFLAPI extern int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter); #endif /* MBFL_IDENT_H */ From 934a2d81eeacf6e1e8be109ca6b419817180f0af Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 29 Aug 2020 16:49:23 +0200 Subject: [PATCH 042/123] Tell compiler which way jumps will usually go in mbfl_memory_device.c Several functions in this file are very "hot". While tweaking the code to see if I could make it faster, and looking at disassembly of resulting code, I noticed that gcc -O3 was inconsistent in how it handled `if`/`else` statements. Sometimes, gcc would put the body of an `if` statement on the 'jump taken' side of a conditional branch, and at other times, it would put it on the 'jump not taken' side. Use `EXPECTED`/`UNEXPECTED` macros to (hopefully) help the compiler organize the code for better static branch prediction. --- .../libmbfl/mbfl/mbfl_memory_device.c | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c index cd064e5ee8faa..8c4928f29e07d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c @@ -70,7 +70,7 @@ void mbfl_memory_device_reset(mbfl_memory_device *device) void mbfl_memory_device_unput(mbfl_memory_device *device) { - if (device->pos > 0) { + if (EXPECTED(device->pos > 0)) { device->pos--; } } @@ -89,10 +89,10 @@ int mbfl_memory_device_output(int c, void *data) { mbfl_memory_device *device = (mbfl_memory_device *)data; - if (device->pos >= device->length) { + if (UNEXPECTED(device->pos >= device->length)) { /* reallocate buffer */ - if (device->length > SIZE_MAX - device->allocsz) { + if (UNEXPECTED(device->length > SIZE_MAX - device->allocsz)) { /* overflow */ return -1; } @@ -113,11 +113,11 @@ int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc) int mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t len) { - if (len > device->length - device->pos) { + if (UNEXPECTED(len > device->length - device->pos)) { /* reallocate buffer */ - if (len > SIZE_MAX - MBFL_MEMORY_DEVICE_ALLOC_SIZE - || device->length > SIZE_MAX - (len + MBFL_MEMORY_DEVICE_ALLOC_SIZE)) { + if (UNEXPECTED(len > SIZE_MAX - MBFL_MEMORY_DEVICE_ALLOC_SIZE + || device->length > SIZE_MAX - (len + MBFL_MEMORY_DEVICE_ALLOC_SIZE))) { /* overflow */ return -1; } @@ -160,17 +160,15 @@ int mbfl_wchar_device_output(int c, void *data) { mbfl_wchar_device *device = (mbfl_wchar_device *)data; - if (device->pos >= device->length) { + if (UNEXPECTED(device->pos >= device->length)) { /* reallocate buffer */ - size_t newlen; - - if (device->length > SIZE_MAX - device->allocsz) { + if (UNEXPECTED(device->length > SIZE_MAX - device->allocsz)) { /* overflow */ return -1; } - newlen = device->length + device->allocsz; - if (newlen > SIZE_MAX / sizeof(int)) { + size_t newlen = device->length + device->allocsz; + if (UNEXPECTED(newlen > SIZE_MAX / sizeof(int))) { /* overflow */ return -1; } From 2c6db2cc786318842f5e8dbc366ccd7eabb42471 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 30 Aug 2020 18:06:52 +0200 Subject: [PATCH 043/123] Simplify code for handling mbstring language aliases Rather than using pointers to pointers to pointers (3 levels of indirection), what makes sense is two levels. This reduces unnecessary pointer dereference operations. --- ext/mbstring/libmbfl/mbfl/mbfl_language.c | 6 +++--- ext/mbstring/libmbfl/mbfl/mbfl_language.h | 2 +- ext/mbstring/libmbfl/nls/nls_de.c | 2 +- ext/mbstring/libmbfl/nls/nls_uni.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.c b/ext/mbstring/libmbfl/mbfl/mbfl_language.c index 8e4d8f776d876..ba1855aed109e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.c @@ -99,13 +99,13 @@ mbfl_name2language(const char *name) } } - /* serch aliases */ + /* search aliases */ i = 0; while ((language = mbfl_language_ptr_table[i++]) != NULL) { if (language->aliases != NULL) { j = 0; - while ((*language->aliases)[j] != NULL) { - if (strcasecmp((*language->aliases)[j], name) == 0) { + while (language->aliases[j]) { + if (strcasecmp(language->aliases[j], name) == 0) { return language; } j++; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.h b/ext/mbstring/libmbfl/mbfl/mbfl_language.h index a0a73899ee3bf..c5e68df745e4f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.h @@ -72,7 +72,7 @@ typedef struct _mbfl_language { enum mbfl_no_language no_language; const char *name; const char *short_name; - const char *(*aliases)[]; + const char **aliases; enum mbfl_no_encoding mail_charset; enum mbfl_no_encoding mail_header_encoding; enum mbfl_no_encoding mail_body_encoding; diff --git a/ext/mbstring/libmbfl/nls/nls_de.c b/ext/mbstring/libmbfl/nls/nls_de.c index 9e9dae7cab6f9..54f4679b45048 100644 --- a/ext/mbstring/libmbfl/nls/nls_de.c +++ b/ext/mbstring/libmbfl/nls/nls_de.c @@ -6,7 +6,7 @@ const mbfl_language mbfl_language_german = { mbfl_no_language_german, "German", "de", - (const char *(*)[])&mbfl_language_german_aliases, + mbfl_language_german_aliases, mbfl_no_encoding_8859_15, mbfl_no_encoding_qprint, mbfl_no_encoding_8bit diff --git a/ext/mbstring/libmbfl/nls/nls_uni.c b/ext/mbstring/libmbfl/nls/nls_uni.c index e8ec5c795afd5..994b1c450e485 100644 --- a/ext/mbstring/libmbfl/nls/nls_uni.c +++ b/ext/mbstring/libmbfl/nls/nls_uni.c @@ -6,7 +6,7 @@ const mbfl_language mbfl_language_uni = { mbfl_no_language_uni, "uni", "uni", - (const char *(*)[])&mbfl_language_uni_aliases, + mbfl_language_uni_aliases, mbfl_no_encoding_utf8, mbfl_no_encoding_base64, mbfl_no_encoding_base64 From 78747866523647c778d99dc4e7ee92c0b99a3d33 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 26 Jul 2020 16:07:17 +0200 Subject: [PATCH 044/123] Major refactoring and optimization of mbfilter.c This was epic! mbfilter.c is the "heart" of mbstring and was one of the single biggest source files. Almost every significant function was written in an wildly verbose and convoluted way. One repeated theme was the use of explicit state machines which process strings character by character, storing a state variable between each call. Converting these to 'straight-line' code cleaned things up enormously. Another theme was the presence of many trivial code comments stating the obvious, but almost no comments on the parts which were not obvious. A lot of detailed comments on the tricky parts have been added to smooth the way for future developers. I was worried that all those contortions might have been done in the name of speed, and that replacing them with clean code might kill performance. Happily, it turns out that the clean code is much faster. The behavior is largely unchanged. One misfeature which has been fixed is that when HTML numeric entities were being decoded, if a hexadecimal entity was invalid, rather than just passing it through, it would be unnecessarily uppercased. The handling of invalid MIME "encoded words" when decoding MIME headers is also a bit different. Also, there is a bug fix for `mb_strpos`: Previously, it would indicate that the needle could not be found in some cases where the needle represented a sequence of characters which *was* in the haystack. This would occur only for encodings which can represent the same character in more than one way, whereby some representations use more bytes than others. The problem occurred when the byte length of the needle was greater than the haystack, due to representing the same characters in a way which took more bytes. Interestingly, while I was working on this refactoring, Nikita Popov fixed a bug in mb_strimwidth. It turns out that this refactoring would also have fixed the same bug (N. Popov's new test passed on the refactored code without any changes). Cases where it is necessary to count characters backwards from the end of a UTF-8 string have also been optimized. There is still more juicy, low-hanging fruit for performance optimization, however. --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 3360 ++++++----------- ext/mbstring/libmbfl/mbfl/mbfilter.h | 22 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 30 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 2 + .../libmbfl/mbfl/mbfl_filter_output.c | 9 - .../libmbfl/mbfl/mbfl_filter_output.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 5 + ext/mbstring/mbstring.c | 5 +- ext/mbstring/tests/bug40685.phpt | 2 +- .../tests/mb_decode_numericentity.phpt | 12 + ext/mbstring/tests/mb_strpos.phpt | 9 + win32/build/config.w32.h.in | 2 + 12 files changed, 1209 insertions(+), 2250 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index acdd886d99b8f..5f307894157c3 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -83,7 +83,6 @@ #include #include "mbfilter.h" -#include "mbfl_filter_output.h" #include "mbfilter_8bit.h" #include "mbfilter_wchar.h" #include "filters/mbfilter_base64.h" @@ -93,2562 +92,1493 @@ #include "../mbstring_singlebyte.h" #include "eaw_table.h" +#include "filters/unicode_prop.h" -/* hex character table "0123456789ABCDEF" */ -static char mbfl_hexchar_table[] = { - 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46 -}; - - - -/* - * encoding filter - */ -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - +static inline unsigned char *mbfl_filter_feed_data(mbfl_string *string, mbfl_convert_filter *filter) +{ + return mbfl_convert_filter_feed_string(filter, string->val, string->len); +} -/* - * buffering converter - */ -mbfl_buffer_converter * -mbfl_buffer_converter_new( - const mbfl_encoding *from, - const mbfl_encoding *to, - size_t buf_initsz) +/* Used below for counting characters in a string */ +static int filter_count_output(int c, void *data) { - mbfl_buffer_converter *convd = emalloc(sizeof(mbfl_buffer_converter)); - convd->to = to; + (*(size_t *)data)++; + return c; +} - /* create convert filter */ - convd->filter1 = NULL; - convd->filter2 = NULL; - if (mbfl_convert_filter_get_vtbl(from, to) != NULL) { - convd->filter1 = mbfl_convert_filter_new(from, to, mbfl_memory_device_output, NULL, &convd->device); - } else { - convd->filter2 = mbfl_convert_filter_new(&mbfl_encoding_wchar, to, mbfl_memory_device_output, NULL, &convd->device); - if (convd->filter2 != NULL) { - convd->filter1 = mbfl_convert_filter_new(from, - &mbfl_encoding_wchar, - (output_function_t)convd->filter2->filter_function, - (flush_function_t)convd->filter2->filter_flush, - convd->filter2); - if (convd->filter1 == NULL) { - mbfl_convert_filter_delete(convd->filter2); - } +/* Byte offset into multi-byte encoded string -> number of complete characters up to that position + * Negative offsets count back from the end of the string, but cannot count back further than the start of the string + * Positive offsets which are greater than the length of the string are clamped to the end of the string */ +static size_t byte_offset_to_char_offset(const mbfl_encoding *encoding, unsigned char *start, size_t length, ssize_t byte_offset) +{ + if (byte_offset == 0) { + return 0; + } else if (byte_offset < 0) { + byte_offset += length; + if (byte_offset < 0) { + /* negative offsets greater than length of string are clamped to zero */ + return 0; } + } else if (byte_offset > length) { + byte_offset = length; } - if (convd->filter1 == NULL) { - efree(convd); - return NULL; - } - - mbfl_memory_device_init(&convd->device, buf_initsz, buf_initsz/4); - return convd; + /* If encoding uses a constant number of bytes per character, we can trivially convert + * byte offset to character offset */ + if (encoding->flag & MBFL_ENCTYPE_SBCS) { + return byte_offset; + } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + return byte_offset / 2; + } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + return byte_offset / 4; + } else if (encoding->mblen_table) { + /* If not, can we determine the number of bytes for each character just by + * looking at the first byte? If so, we can run through the string, using + * a table lookup on the first byte to see how many bytes to skip ahead */ + const unsigned char *mbtab = encoding->mblen_table; + unsigned char *p = start, *e = p + byte_offset; + size_t len = 0; + while (p < e) { + p += mbtab[*p]; + len++; + } + if (p > e) { + len--; + } + return len; + } else { + /* Otherwise, do it the slow way: convert the string to wchar, and count those */ + size_t len = 0; + mbfl_convert_filter *filter = mbfl_convert_filter_new(encoding, &mbfl_encoding_wchar, filter_count_output, 0, &len); + mbfl_convert_filter_feed_string(filter, start, byte_offset); + mbfl_convert_filter_delete(filter); + return len; + } } - -void -mbfl_buffer_converter_delete(mbfl_buffer_converter *convd) +/* Character offset into multi-byte encoded string -> number of bytes up to that position + * If requested offset is greater than character length of string, returns byte length of string + * Negative offsets count back from the end of the string, but cannot count past the beginning */ +static size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigned char *start, size_t length, ssize_t char_offset) { - if (convd != NULL) { - if (convd->filter1) { - mbfl_convert_filter_delete(convd->filter1); + if (char_offset == 0) { + return 0; + } else if (char_offset < 0) { + /* Need to go backwards from end of string */ + char_offset = -char_offset; + if (char_offset >= length) { + /* Each character takes _at least_ one byte, so this will definitely go + * to the beginning of the string */ + return 0; + } + if (encoding->flag & MBFL_ENCTYPE_SBCS) { + return MAX((ssize_t)length - char_offset, 0); + } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + return MAX((ssize_t)length - (char_offset * 2), 0); + } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + return MAX((ssize_t)length - (char_offset * 4), 0); + } else if (encoding == &mbfl_encoding_utf8) { + /* We can easily count backwards from the end of a UTF-8 string + * As we back up, decrement `char_offset` when we find a byte which is the first byte in a character + * It's easy to tell, since any byte which starts with bits 10 is a continuation byte and is not + * the first byte in a character */ + unsigned char *p = start + length; + while (char_offset > 0 && --p > start) { + unsigned char c = *p; + if (c < 0x80 || (c & 0xC0) != 0x80) { + char_offset--; + } + } + return p - start; + } else { + /* If we don't have any efficient way to iterate backwards from the end + * of the string, the only sane thing to do is to iterate through + * the string _twice_. First, go through one time and find its length + * in characters. Then, go through a second time and stop when we reach + * the requested number of characters before the end. + * + * (If `char_offset` is a small number, we could also keep track of the + * last `char_offset` character positions passed by when iterating through + * the string. This would avoid the need to iterate over the string twice. + * But it's not good for the general case, since `char_offset` can be + * arbitrarily large.) */ + size_t char_len = byte_offset_to_char_offset(encoding, start, length, length); + if (char_offset >= char_len) { + return 0; + } + return char_offset_to_byte_offset(encoding, start, length, char_len - char_offset); + } + } else if (char_offset >= length) { + return length; + } + + /* `char_offset` is positive; we are searching from the beginning of the string. + * The easiest case is when each character takes a constant number of bytes */ + if (encoding->flag & MBFL_ENCTYPE_SBCS) { + return MIN(char_offset, length); + } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + return MIN(char_offset * 2, length); + } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + return MIN(char_offset * 4, length); + } else if (encoding->mblen_table) { + const unsigned char *mbtab = encoding->mblen_table; + unsigned char *p = start, *e = p + length; + while (p < e && char_offset--) { + p += mbtab[*p]; } - if (convd->filter2) { - mbfl_convert_filter_delete(convd->filter2); + return MIN(p - start, length); + } else { + /* Use a filter function to iterate through characters in string */ + size_t len = 0; + mbfl_convert_filter *filter = mbfl_convert_filter_new(encoding, &mbfl_encoding_wchar, filter_count_output, 0, &len); + unsigned char *p = start, *e = p + length; + while (len < char_offset && p < e) { + mbfl_convert_filter_feed(*p++, filter); } - mbfl_memory_device_clear(&convd->device); - efree((void*)convd); + mbfl_convert_filter_delete(filter); + return p - start; } } -int -mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode) +/* If we can't convert between encodings `from` -> `to`, output parameters `filter1` and `filter2` will receive NULL */ +static void create_encoding_conversion_filters(const mbfl_encoding *from, const mbfl_encoding *to, mbfl_memory_device *device, + mbfl_convert_filter **filter1, mbfl_convert_filter **filter2) { - if (convd != NULL) { - if (convd->filter2 != NULL) { - convd->filter2->illegal_mode = mode; - } else if (convd->filter1 != NULL) { - convd->filter1->illegal_mode = mode; - } else { - return 0; + /* If we have a function which directly converts encoding `from` -> `to`, use it */ + if ((*filter1 = mbfl_convert_filter_new(from, to, mbfl_memory_device_output, NULL, device))) { + /* `filter1` can handle the conversion, `filter2` will not be needed */ + *filter2 = NULL; + return; + } + + /* If not, can we do it by going through two stages of conversion? + * (`from` -> wchar -> `to`) */ + if ((*filter2 = mbfl_convert_filter_new(&mbfl_encoding_wchar, to, mbfl_memory_device_output, NULL, device))) { + *filter1 = mbfl_convert_filter_new(from, &mbfl_encoding_wchar, (output_function_t)((*filter2)->filter_function), + (flush_function_t)((*filter2)->filter_flush), *filter2); + if (*filter1 == NULL) { + mbfl_convert_filter_delete(*filter2); + *filter2 = NULL; } } +} - return 1; +static unsigned int *convert_string_to_wchar(mbfl_string *string, size_t *len) +{ + mbfl_wchar_device wdev; + mbfl_wchar_device_init(&wdev); + mbfl_convert_filter *encoder = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, mbfl_wchar_device_output, NULL, &wdev); + mbfl_filter_feed_data(string, encoder); + mbfl_convert_filter_flush(encoder); + mbfl_convert_filter_delete(encoder); + *len = wdev.pos; + return wdev.buffer; /* Caller is responsible for freeing this buffer */ } -int -mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar) +mbfl_buffer_converter *mbfl_buffer_converter_new(const mbfl_encoding *from, const mbfl_encoding *to, size_t buf_initsz) { - if (convd != NULL) { - if (convd->filter2 != NULL) { - convd->filter2->illegal_substchar = substchar; - } else if (convd->filter1 != NULL) { - convd->filter1->illegal_substchar = substchar; - } else { - return 0; - } + mbfl_buffer_converter *convd = emalloc(sizeof(mbfl_buffer_converter)); + convd->to = to; + + create_encoding_conversion_filters(from, to, &convd->device, &convd->filter1, &convd->filter2); + if (convd->filter1 == NULL) { + /* We are not able to convert between encodings `from` and `to` */ + efree(convd); + return NULL; } - return 1; + mbfl_memory_device_init(&convd->device, buf_initsz, buf_initsz/4); + return convd; } -size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string) +void mbfl_buffer_converter_delete(mbfl_buffer_converter *convd) { - size_t n; - unsigned char *p; - mbfl_convert_filter *filter; - - ZEND_ASSERT(convd); - ZEND_ASSERT(string); - - mbfl_memory_device_realloc(&convd->device, convd->device.pos + string->len, string->len/4); - /* feed data */ - n = string->len; - p = string->val; - - filter = convd->filter1; - if (filter != NULL) { - while (n > 0) { - if ((*filter->filter_function)(*p++, filter) < 0) { - return p - string->val; - } - n--; - } + mbfl_convert_filter_delete(convd->filter1); + if (convd->filter2) { + mbfl_convert_filter_delete(convd->filter2); } - return p - string->val; + mbfl_memory_device_clear(&convd->device); + efree(convd); } +void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode) +{ + (convd->filter2 ? convd->filter2 : convd->filter1)->illegal_mode = mode; +} -int -mbfl_buffer_converter_flush(mbfl_buffer_converter *convd) +void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar) { - if (convd == NULL) { - return -1; - } + (convd->filter2 ? convd->filter2 : convd->filter1)->illegal_substchar = substchar; +} - if (convd->filter1 != NULL) { - mbfl_convert_filter_flush(convd->filter1); - } - if (convd->filter2 != NULL) { - mbfl_convert_filter_flush(convd->filter2); - } +size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string) +{ + /* Ensure that the buffer has enough space to hold the entire string; this is better + * for performance than repeatedly growing it in small increments */ + mbfl_memory_device_realloc(&convd->device, convd->device.pos + string->len, string->len / 4); + return mbfl_filter_feed_data(string, convd->filter1) - string->val; +} - return 0; +void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd) +{ + mbfl_convert_filter_flush(convd->filter1); } -mbfl_string * -mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result) +mbfl_string *mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result) { - if (convd == NULL || result == NULL) { - return NULL; - } result->encoding = convd->to; + mbfl_convert_filter_flush(convd->filter1); return mbfl_memory_device_result(&convd->device, result); } -mbfl_string * -mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, - mbfl_string *result) +mbfl_string *mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, mbfl_string *result) { - if (convd == NULL || string == NULL || result == NULL) { - return NULL; - } mbfl_buffer_converter_feed(convd, string); - if (convd->filter1 != NULL) { - mbfl_convert_filter_flush(convd->filter1); - } - if (convd->filter2 != NULL) { - mbfl_convert_filter_flush(convd->filter2); - } - result->encoding = convd->to; - return mbfl_memory_device_result(&convd->device, result); + return mbfl_buffer_converter_result(convd, result); } size_t mbfl_buffer_illegalchars(mbfl_buffer_converter *convd) { - size_t num_illegalchars = 0; - - if (convd == NULL) { - return 0; - } - - if (convd->filter1 != NULL) { - num_illegalchars += convd->filter1->num_illegalchar; - } - - if (convd->filter2 != NULL) { + size_t num_illegalchars = convd->filter1->num_illegalchar; + if (convd->filter2) { num_illegalchars += convd->filter2->num_illegalchar; } - return num_illegalchars; } -/* - * encoding detector - */ -mbfl_encoding_detector * -mbfl_encoding_detector_new(const mbfl_encoding **elist, int elistsz, int strict) +mbfl_encoding_detector *mbfl_encoding_detector_new(const mbfl_encoding **elist, int elistsz, int strict) { - mbfl_encoding_detector *identd; + ZEND_ASSERT(elistsz > 0); - int i, num; - mbfl_identify_filter *filter; - - if (elist == NULL || elistsz <= 0) { - return NULL; - } - - /* allocate */ - identd = emalloc(sizeof(mbfl_encoding_detector)); + mbfl_encoding_detector *identd = emalloc(sizeof(mbfl_encoding_detector)); identd->filter_list = ecalloc(elistsz, sizeof(mbfl_identify_filter *)); - /* create filters */ - i = 0; - num = 0; - while (i < elistsz) { - filter = mbfl_identify_filter_new2(elist[i]); - if (filter != NULL) { - identd->filter_list[num] = filter; - num++; - } - i++; + for (int i = 0; i < elistsz; i++) { + identd->filter_list[i] = mbfl_identify_filter_new2(elist[i]); } - identd->filter_list_size = num; - - /* set strict flag */ + identd->filter_list_size = elistsz; identd->strict = strict; return identd; } - -void -mbfl_encoding_detector_delete(mbfl_encoding_detector *identd) +void mbfl_encoding_detector_delete(mbfl_encoding_detector *identd) { - int i; - - if (identd != NULL) { - if (identd->filter_list != NULL) { - i = identd->filter_list_size; - while (i > 0) { - i--; - mbfl_identify_filter_delete(identd->filter_list[i]); - } - efree((void *)identd->filter_list); - } - efree((void *)identd); + for (int i = identd->filter_list_size - 1; i >= 0; i--) { + mbfl_identify_filter_delete(identd->filter_list[i]); } + efree(identd->filter_list); + efree(identd); } -int -mbfl_encoding_detector_feed(mbfl_encoding_detector *identd, mbfl_string *string) +int mbfl_encoding_detector_feed(mbfl_encoding_detector *identd, mbfl_string *string) { - int res = 0; - /* feed data */ - if (identd != NULL && string != NULL && string->val != NULL) { - int num = identd->filter_list_size; - size_t n = string->len; - unsigned char *p = string->val; - int bad = 0; - while (n > 0) { - int i; - for (i = 0; i < num; i++) { - mbfl_identify_filter *filter = identd->filter_list[i]; - if (!filter->flag) { - (*filter->filter_function)(*p, filter); - if (filter->flag) { - bad++; - } + if (string->len == 0) + return 0; + + int num = identd->filter_list_size; + unsigned char *p = string->val, *e = p + string->len; + int bad = 0; + + /* We have an array of filter functions corresponding to different encodings + * Iterate over the string, pushing each byte into each and every filter function + * + * If the string is not encoding XYZ, then likely at some point we will hit a + * byte which is not valid in encoding XYZ, and the the 'flag' for that encoding + * will be set. + * + * Our hope is that at some point, all the candidate encodings will be flagged + * except one, which will presumably be the correct one. */ + while (p < e) { + for (int i = 0; i < num; i++) { + mbfl_identify_filter *filter = identd->filter_list[i]; + if (!filter->flag) { + mbfl_identify_filter_feed(*p, filter); + if (filter->flag) { + bad++; } } - if ((num - 1) <= bad) { - res = 1; - break; - } - p++; - n--; } + /* If all candidate encodings have failed, or there is only one remaining + * which has not failed, we can return. + * + * The exception is in strict mode; because when we discover that all + * other possible encodings have failed, we might still be in the middle + * of a multi-byte character for the 'correct' encoding, and stopping + * right here would cause `mbfl_encoding_detector_judge` (below) to + * wrongly reject it. Further, in strict mode, we want to ensure that + * the 'correct' encoding works for the entire string, and not just + * some prefix of it. */ + if ((num - 1) <= bad && !identd->strict) { + return 1; + } + p++; } - return res; + return 0; /* No conclusion on which of the candidate encodings is correct */ } const mbfl_encoding *mbfl_encoding_detector_judge(mbfl_encoding_detector *identd) { - mbfl_identify_filter *filter; - const mbfl_encoding *encoding = NULL; - int n; - - /* judge */ - if (identd != NULL) { - n = identd->filter_list_size - 1; - while (n >= 0) { - filter = identd->filter_list[n]; - if (!filter->flag) { - if (!identd->strict || !filter->status) { - encoding = filter->encoding; - } - } - n--; + for (int i = 0; i < identd->filter_list_size; i++) { + mbfl_identify_filter *filter = identd->filter_list[i]; + /* `filter->status` is a state machine state variable for all the various + * filter functions which iterate over the characters in a multi-byte + * encoded string. When `status` is 0, it means a new character is starting. + * + * If we are in strict mode, then we don't accept a possible encoding as + * valid if it means the string would end in the middle of a multi-byte + * character. */ + if (!filter->flag && (!identd->strict || !filter->status)) { + return filter->encoding; } } + return NULL; +} + +const mbfl_encoding *mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int elistsz, int strict) +{ + mbfl_encoding_detector *identd = mbfl_encoding_detector_new(elist, elistsz, strict); + mbfl_encoding_detector_feed(identd, string); + const mbfl_encoding *encoding = mbfl_encoding_detector_judge(identd); + mbfl_encoding_detector_delete(identd); return encoding; } -/* - * encoding converter - */ -mbfl_string * -mbfl_convert_encoding( - mbfl_string *string, - mbfl_string *result, - const mbfl_encoding *toenc) +mbfl_string *mbfl_convert_encoding(mbfl_string *string, mbfl_string *result, const mbfl_encoding *toenc) { - size_t n; - unsigned char *p; mbfl_memory_device device; - mbfl_convert_filter *filter1; - mbfl_convert_filter *filter2; - - /* initialize */ - if (toenc == NULL || string == NULL || result == NULL) { - return NULL; - } + mbfl_convert_filter *filter1, *filter2; - filter1 = NULL; - filter2 = NULL; - if (mbfl_convert_filter_get_vtbl(string->encoding, toenc) != NULL) { - filter1 = mbfl_convert_filter_new(string->encoding, toenc, mbfl_memory_device_output, 0, &device); - } else { - filter2 = mbfl_convert_filter_new(&mbfl_encoding_wchar, toenc, mbfl_memory_device_output, 0, &device); - if (filter2 != NULL) { - filter1 = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, (int (*)(int, void*))filter2->filter_function, NULL, filter2); - if (filter1 == NULL) { - mbfl_convert_filter_delete(filter2); - } - } - } + create_encoding_conversion_filters(string->encoding, toenc, &device, &filter1, &filter2); if (filter1 == NULL) { + /* Can't convert from `string->encoding` to `toenc` */ return NULL; } - if (filter2 != NULL) { - filter2->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; - filter2->illegal_substchar = 0x3f; /* '?' */ - } - mbfl_memory_device_init(&device, string->len, (string->len >> 2) + 8); - - /* feed data */ - n = string->len; - p = string->val; - if (p != NULL) { - while (n > 0) { - if ((*filter1->filter_function)(*p++, filter1) < 0) { - break; - } - n--; - } - } - + mbfl_filter_feed_data(string, filter1); mbfl_convert_filter_flush(filter1); mbfl_convert_filter_delete(filter1); - if (filter2 != NULL) { - mbfl_convert_filter_flush(filter2); + if (filter2) { mbfl_convert_filter_delete(filter2); } + result->encoding = toenc; return mbfl_memory_device_result(&device, result); } +size_t mbfl_strlen(const mbfl_string *string) +{ + return byte_offset_to_char_offset(string->encoding, string->val, string->len, string->len); +} + +/* Different from `char_offset_to_byte_offset`; returns NULL if `offset` is out of bounds */ +static unsigned char *mbfl_utf8_find_offset(unsigned char *start, unsigned char *end, ssize_t offset) +{ + if (offset == 0) { + return start; + } else if (offset > 0) { + const unsigned char *mbtab = mbfl_encoding_utf8.mblen_table; + while (offset && start < end) { + start += mbtab[*start]; + offset--; + } + return (offset == 0) ? start : NULL; + } else { + while (offset && start < end) { + unsigned char c = *--end; + if (c < 0x80 || (c & 0xC0) != 0x80) { + offset++; + } + } + return (offset == 0) ? end : NULL; + } +} -/* - * identify encoding - */ -const mbfl_encoding * -mbfl_identify_encoding(mbfl_string *string, const mbfl_encoding **elist, int elistsz, int strict) +size_t mbfl_strpos(mbfl_string *haystack, mbfl_string *needle, ssize_t offset, int reverse) { - int i, bad; - size_t n; - unsigned char *p; - mbfl_identify_filter *flist, *filter; + ZEND_ASSERT(haystack->encoding == needle->encoding); + + unsigned char *base = haystack->val, *start = base, *end = start + haystack->len; const mbfl_encoding *encoding; - /* flist is an array of mbfl_identify_filter instances */ - flist = ecalloc(elistsz, sizeof(mbfl_identify_filter)); + if (haystack->encoding->flag & MBFL_ENCTYPE_SBCS) { + /* Fast path for single-byte encodings */ + if (offset < 0) { + offset += haystack->len; + } + if (offset < 0 || offset > haystack->len) { + return MBFL_ERROR_OFFSET; + } + start += offset; + encoding = haystack->encoding; + } else { + if (haystack->encoding != &mbfl_encoding_utf8) { + /* Convert to UTF-8 to avoid false matches + * + * For example, say we are searching for 02 03 and there are two successive + * characters encoded as 01 02 and 03 04. Since the search functions below + * look for _byte_ patterns and are oblivious to where each multi-byte + * character begins and ends, they will return a 'false positive'. + * This can't happen with UTF-8 */ + mbfl_string utf8_haystack, utf8_needle; + mbfl_convert_encoding(haystack, &utf8_haystack, &mbfl_encoding_utf8); + mbfl_convert_encoding(needle, &utf8_needle, &mbfl_encoding_utf8); + base = utf8_haystack.val; + end = base + utf8_haystack.len; + needle = &utf8_needle; + } - if (elist != NULL) { - for (i = 0; i < elistsz; i++) { - mbfl_identify_filter_init2(&flist[i], elist[i]); + start = mbfl_utf8_find_offset(base, end, offset); + if (!start) { + return MBFL_ERROR_OFFSET; } + encoding = &mbfl_encoding_utf8; } - /* feed data */ - n = string->len; - p = string->val; - - if (p != NULL) { - bad = 0; - while (n > 0) { - for (i = 0; i < elistsz; i++) { - filter = &flist[i]; - if (!filter->flag) { - (*filter->filter_function)(*p, filter); - if (filter->flag) { - bad++; - } - } - } - if ((elistsz - 1) <= bad && !strict) { - break; - } - p++; - n--; - } + const char *found_pos; + if (!reverse) { + found_pos = zend_memnstr( + (const char*)start, + (const char*)needle->val, needle->len, + (const char*)end); + } else if (offset >= 0) { + found_pos = zend_memnrstr( + (const char*)start, + (const char*)needle->val, needle->len, + (const char*)end); + } else { + /* If we're searching in the reverse direction (from string end going backwards), + * and the offset was negative, then we will search the area _BEFORE_ the offset + * position (with a positive offset, we would search the area after the offset position) + * + * But if the needle is longer than 1 character, and it appears right at the end of + * the area to be searched, it may pass over the offset position, overlapping it + * Expand the area to be searched just enough so that we still find the needle in + * such cases */ + size_t needle_charlen = mbfl_strlen(needle); + start += char_offset_to_byte_offset(encoding, start, end - start, needle_charlen); + found_pos = zend_memnrstr( + (const char*)base, + (const char*)needle->val, needle->len, + (const char*)start); + } + + size_t result = MBFL_ERROR_NOT_FOUND; + if (found_pos) { + result = byte_offset_to_char_offset(encoding, base, end - base, ((unsigned char*)found_pos) - base); } - /* judge */ - encoding = NULL; + if (haystack->encoding != &mbfl_encoding_utf8 && encoding == &mbfl_encoding_utf8) { + efree(base); + efree(needle->val); + } - for (i = 0; i < elistsz; i++) { - filter = &flist[i]; - if (!filter->flag) { - if (strict && filter->status) { - continue; - } - encoding = filter->encoding; - break; - } + return result; +} + +size_t mbfl_substr_count(mbfl_string *haystack, mbfl_string *needle) +{ + ZEND_ASSERT(haystack->encoding == needle->encoding); + + if (needle->len == 0) { + return MBFL_ERROR_EMPTY; } - /* fall-back judge */ - if (!encoding) { - for (i = 0; i < elistsz; i++) { - filter = &flist[i]; - if (!filter->flag && (!strict || !filter->status)) { - encoding = filter->encoding; - break; - } + size_t result = 0, needle_len; + unsigned char *search_pos, *end, *needle_p; + mbfl_string utf8_haystack, utf8_needle; + + if (haystack->encoding != &mbfl_encoding_utf8 && !(haystack->encoding->flag & MBFL_ENCTYPE_SBCS)) { + /* Convert to UTF-8, for same reason as `mbfl_strpos` (above) */ + mbfl_convert_encoding(haystack, &utf8_haystack, &mbfl_encoding_utf8); + mbfl_convert_encoding(needle, &utf8_needle, &mbfl_encoding_utf8); + search_pos = utf8_haystack.val; + end = search_pos + utf8_haystack.len; + needle_p = utf8_needle.val; + needle_len = utf8_needle.len; + } else { + search_pos = haystack->val; + end = search_pos + haystack->len; + needle_p = needle->val; + needle_len = needle->len; + } + + while (search_pos < end) { + unsigned char *found_pos = (unsigned char*)zend_memnstr( + (const char*)search_pos, + (const char*)needle_p, needle_len, + (const char*)end); + if (!found_pos) { + break; } + result++; + search_pos = found_pos + needle_len; } - efree((void *)flist); + if (haystack->encoding != &mbfl_encoding_utf8 && !(haystack->encoding->flag & MBFL_ENCTYPE_SBCS)) { + efree(utf8_haystack.val); + efree(utf8_needle.val); + } - return encoding; + return result; } -/* - * strlen - */ -static int -filter_count_output(int c, void *data) +mbfl_string *mbfl_substr(mbfl_string *string, mbfl_string *result, size_t from, size_t length) { - (*(size_t *)data)++; - return c; + const mbfl_encoding *encoding = string->encoding; + mbfl_string_init_set(result, encoding); + + size_t start = char_offset_to_byte_offset(encoding, string->val, string->len, from); + size_t end = char_offset_to_byte_offset(encoding, string->val + start, string->len - start, length) + start; + + /* FIXME: This may cause problems with some encodings like ISO-2022-JP which use + * escape sequences to switch to a different charset + * So that strings can be concatenated without fear, we normally end strings in + * such encodings with an escape sequence to switch back to the default charset + * But this just pulls raw bytes out... */ + result->val = (unsigned char*)estrndup((const char*)(string->val + start), end - start); + result->len = end - start; + return result; } -size_t -mbfl_strlen(const mbfl_string *string) +static inline void strcut_const_width(mbfl_string *string, const mbfl_encoding *encoding, size_t from, const unsigned char **start, size_t *length) { - size_t len, n, k; - unsigned char *p; - const mbfl_encoding *encoding = string->encoding; - - len = 0; - if (encoding->flag & MBFL_ENCTYPE_SBCS) { - len = string->len; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { - len = string->len/2; + /* If the requested `from` and `length` would give us a range of bytes which starts + * or ends in the middle of a multi-byte character, push the start position and/or + * the end position forwards so we get only complete characters. This means the extracted + * range may include slightly more or less bytes than requested. + * + * It's easiest when each character is encoded with a constant number of bytes: */ + size_t bytes_per_char; + if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + bytes_per_char = 2; } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { - len = string->len/4; - } else if (encoding->mblen_table != NULL) { - const unsigned char *mbtab = encoding->mblen_table; - n = 0; - p = string->val; - k = string->len; - /* count */ - if (p != NULL) { - while (n < k) { - unsigned m = mbtab[*p]; - n += m; - p += m; - len++; - } - } + bytes_per_char = 4; } else { - /* wchar filter */ - mbfl_convert_filter *filter = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - filter_count_output, 0, &len); - if (filter == NULL) { - return (size_t) -1; - } - /* count */ - n = string->len; - p = string->val; - if (p != NULL) { - while (n > 0) { - (*filter->filter_function)(*p++, filter); - n--; - } - } - mbfl_convert_filter_delete(filter); + bytes_per_char = 1; } - return len; + from &= -bytes_per_char; /* push start position forward by zeroing low bits */ + *length = MIN(*length, string->len - from) & -bytes_per_char; + *start = string->val + from; } - -/* - * strpos - */ -struct collector_strpos_data { - mbfl_convert_filter *next_filter; - mbfl_wchar_device needle; - size_t needle_len; - size_t start; - size_t output; - size_t found_pos; - size_t needle_pos; - size_t matched_pos; -}; - -static int -collector_strpos(int c, void* data) +static inline void strcut_utf8(mbfl_string *string, size_t from, const unsigned char **start, size_t *length) { - int *p, *h, *m; - ssize_t n; - struct collector_strpos_data *pc = (struct collector_strpos_data*)data; - - if (pc->output >= pc->start) { - if (c == (int)pc->needle.buffer[pc->needle_pos]) { - if (pc->needle_pos == 0) { - pc->found_pos = pc->output; /* found position */ - } - pc->needle_pos++; /* needle pointer */ - if (pc->needle_pos >= pc->needle_len) { - pc->matched_pos = pc->found_pos; /* matched position */ - pc->needle_pos--; - goto retry; - } - } else if (pc->needle_pos != 0) { -retry: - h = (int *)pc->needle.buffer; - h++; - for (;;) { - pc->found_pos++; - p = h; - m = (int *)pc->needle.buffer; - n = pc->needle_pos - 1; - while (n > 0 && *p == *m) { - n--; - p++; - m++; - } - if (n <= 0) { - if (*m != c) { - pc->needle_pos = 0; - } - break; - } else { - h++; - pc->needle_pos--; - } - } - } + /* It is easy to tell if we are in the middle of a multi-byte character + * with UTF-8; all continuation bytes are like 10xxxxxx (in binary) */ + unsigned char *search_pos = string->val + from; + while (((*search_pos & 0xC0) == 0x80) && (search_pos > string->val)) { + search_pos--; } + *start = search_pos; - pc->output++; - return c; -} - -static const unsigned char *mbfl_find_offset_utf8( - const unsigned char *str, const unsigned char *end, ssize_t offset) { - if (offset < 0) { - const unsigned char *pos = end; - while (offset < 0) { - if (pos <= str) { - return NULL; - } - - unsigned char c = *(--pos); - if (c < 0x80) { - ++offset; - } else if ((c & 0xc0) != 0x80) { - ++offset; - } - } - return pos; + size_t max_len = string->val + string->len - search_pos; + if (*length >= max_len) { + *length = max_len; } else { - const unsigned char *u8_tbl = mbfl_encoding_utf8.mblen_table; - const unsigned char *pos = str; - while (offset-- > 0) { - if (pos >= end) { - return NULL; - } - pos += u8_tbl[*pos]; + unsigned char *end = search_pos + *length; + while (((*end & 0xC0) == 0x80) && (end > search_pos)) { + end--; } - return pos; + *length = end - search_pos; } } -static size_t mbfl_pointer_to_offset_utf8(const unsigned char *start, const unsigned char *pos) { - size_t result = 0; - while (pos > start) { - unsigned char c = *--pos; - if (c < 0x80) { - ++result; - } else if ((c & 0xc0) != 0x80) { - ++result; - } +static inline void strcut_with_mblen_table(mbfl_string *string, const unsigned char *mblen_table, size_t from, const unsigned char **start, size_t *length) +{ + /* If we can determine the number of bytes each character is encoded in by + * looking at the first byte, we can iterate through the string using a + * '1st byte -> byte length' table, see if we land on the requested start + * and end positions, and adjust if not */ + const unsigned char *search_pos = string->val, *search_end = search_pos + from; + int byte_len = 0; + + while (search_pos < search_end) { + search_pos += (byte_len = mblen_table[*search_pos]); } - return result; -} -size_t -mbfl_strpos( - mbfl_string *haystack, - mbfl_string *needle, - ssize_t offset, - int reverse) -{ - size_t result; - mbfl_string _haystack_u8, _needle_u8; - const mbfl_string *haystack_u8, *needle_u8 = NULL; - const unsigned char *offset_pointer; - - if (haystack->encoding->no_encoding != mbfl_no_encoding_utf8) { - mbfl_string_init(&_haystack_u8); - haystack_u8 = mbfl_convert_encoding(haystack, &_haystack_u8, &mbfl_encoding_utf8); - if (haystack_u8 == NULL) { - result = MBFL_ERROR_ENCODING; - goto out; - } - } else { - haystack_u8 = haystack; + if (search_pos > search_end) { + search_pos -= byte_len; } - if (needle->encoding->no_encoding != mbfl_no_encoding_utf8) { - mbfl_string_init(&_needle_u8); - needle_u8 = mbfl_convert_encoding(needle, &_needle_u8, &mbfl_encoding_utf8); - if (needle_u8 == NULL) { - result = MBFL_ERROR_ENCODING; - goto out; - } + *start = search_pos; + + if (*length >= string->val + string->len - *start) { + /* If the requested length goes beyond the end of the string, there is no need + * to search for the requested end position and see if it is valid; just go to + * the end of the string */ + *length = string->val + string->len - *start; } else { - needle_u8 = needle; - } + search_end = search_pos + *length; + + while (search_pos < search_end) { + search_pos += (byte_len = mblen_table[*search_pos]); + } + + if (search_pos > search_end) { + search_pos -= byte_len; + } - offset_pointer = mbfl_find_offset_utf8( - haystack_u8->val, haystack_u8->val + haystack_u8->len, offset); - if (!offset_pointer) { - result = MBFL_ERROR_OFFSET; - goto out; + *length = search_pos - *start; } +} + +/* `from` must be non-negative; caller is responsible for converting negative values */ +mbfl_string *mbfl_strcut(mbfl_string *string, mbfl_string *result, size_t from, size_t length) +{ + const mbfl_encoding *encoding = string->encoding; + const unsigned char *start = NULL; - result = MBFL_ERROR_NOT_FOUND; - if (haystack_u8->len < needle_u8->len) { - goto out; + if (from >= string->len) { + from = string->len; } - const char *found_pos; - if (!reverse) { - found_pos = zend_memnstr( - (const char *) offset_pointer, - (const char *) needle_u8->val, needle_u8->len, - (const char *) haystack_u8->val + haystack_u8->len); + if (encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE | MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + strcut_const_width(string, encoding, from, &start, &length); + } else if (encoding == &mbfl_encoding_utf8) { + strcut_utf8(string, from, &start, &length); + } else if (encoding->mblen_table) { + strcut_with_mblen_table(string, encoding->mblen_table, from, &start, &length); } else { - if (offset >= 0) { - found_pos = zend_memnrstr( - (const char *) offset_pointer, - (const char *) needle_u8->val, needle_u8->len, - (const char *) haystack_u8->val + haystack_u8->len); + /* This is the slowest case; we have to use one of our filter functions + * (string decoding state machine) to iterate through the string, look for + * the requested start and end positions, and see if they land on a + * character boundary or not */ + mbfl_identify_filter *ident = mbfl_identify_filter_new2(string->encoding); + unsigned char *search_pos = string->val, *search_end = search_pos + from, *last_valid_pos = string->val; + + while (search_pos < search_end) { + mbfl_identify_filter_feed(*search_pos++, ident); + if (ident->status == 0) { + /* We have just passed by a complete character + * (For each identify filter, 0 is the starting state of its state + * machine, used when it is just entering a new character) */ + last_valid_pos = search_pos; + } + } + + start = last_valid_pos; + + if (length >= string->val + string->len - start) { + /* If the requested length goes beyond the end of the string, there is no need + * to search for the requested end position and see if it is valid; just go to + * the end of the string */ + length = string->val + string->len - start; } else { - size_t needle_len = mbfl_strlen(needle_u8); - offset_pointer = mbfl_find_offset_utf8( - offset_pointer, haystack_u8->val + haystack_u8->len, needle_len); - if (!offset_pointer) { - offset_pointer = haystack_u8->val + haystack_u8->len; + search_end = last_valid_pos + length; + while (search_pos < search_end) { + mbfl_identify_filter_feed(*search_pos++, ident); + if (ident->status == 0) { /* See comment above */ + last_valid_pos = search_pos; + } } - - found_pos = zend_memnrstr( - (const char *) haystack_u8->val, - (const char *) needle_u8->val, needle_u8->len, - (const char *) offset_pointer); + length = last_valid_pos - start; } - } - if (found_pos) { - result = mbfl_pointer_to_offset_utf8(haystack_u8->val, (const unsigned char *) found_pos); + mbfl_identify_filter_delete(ident); } -out: - if (haystack_u8 == &_haystack_u8) { - mbfl_string_clear(&_haystack_u8); - } - if (needle_u8 == &_needle_u8) { - mbfl_string_clear(&_needle_u8); - } + result->val = (unsigned char*)estrndup((const char*)start, length); + result->len = length; + result->encoding = encoding; return result; } -/* - * substr_count - */ - -size_t -mbfl_substr_count( - mbfl_string *haystack, - mbfl_string *needle - ) +/* Some East Asian characters, when printed at a terminal (or the like), require double + * the usual amount of horizontal space. We call these "fullwidth" characters. */ +static size_t character_width(int c) { - size_t n, result = 0; - unsigned char *p; - mbfl_convert_filter *filter; - struct collector_strpos_data pc; - - /* needle is converted into wchar */ - mbfl_wchar_device_init(&pc.needle); - filter = mbfl_convert_filter_new( - needle->encoding, - &mbfl_encoding_wchar, - mbfl_wchar_device_output, 0, &pc.needle); - if (filter == NULL) { - return MBFL_ERROR_ENCODING; - } - mbfl_convert_filter_feed_string(filter, needle->val, needle->len); - mbfl_convert_filter_flush(filter); - mbfl_convert_filter_delete(filter); - pc.needle_len = pc.needle.pos; - if (pc.needle.buffer == NULL) { - return MBFL_ERROR_ENCODING; - } - if (pc.needle_len == 0) { - mbfl_wchar_device_clear(&pc.needle); - return MBFL_ERROR_EMPTY; - } - /* initialize filter and collector data */ - filter = mbfl_convert_filter_new( - haystack->encoding, - &mbfl_encoding_wchar, - collector_strpos, 0, &pc); - if (filter == NULL) { - mbfl_wchar_device_clear(&pc.needle); - return MBFL_ERROR_ENCODING; - } - pc.start = 0; - pc.output = 0; - pc.needle_pos = 0; - pc.found_pos = 0; - pc.matched_pos = MBFL_ERROR_NOT_FOUND; - - /* feed data */ - p = haystack->val; - n = haystack->len; - if (p != NULL) { - while (n > 0) { - if ((*filter->filter_function)(*p++, filter) < 0) { - pc.matched_pos = MBFL_ERROR_ENCODING; - break; - } - if (pc.matched_pos != MBFL_ERROR_NOT_FOUND) { - ++result; - pc.matched_pos = MBFL_ERROR_NOT_FOUND; - pc.needle_pos = 0; - } - n--; + /* The first fullwidth codepoint is 0x1100; the most commonly used characters, + * including all those in the ASCII character set, are below that */ + if (c < 0x1100) { + return 1; + } + + /* Do a binary search to see if we fall in any of the fullwidth ranges */ + int lo = 0, hi = sizeof(mbfl_eaw_table) / sizeof(mbfl_eaw_table[0]); + while (lo < hi) { + int probe = (lo + hi) / 2; + if (c < mbfl_eaw_table[probe].begin) { + hi = probe; + } else if (c > mbfl_eaw_table[probe].end) { + lo = probe + 1; + } else { + return 2; } } - mbfl_convert_filter_flush(filter); - mbfl_convert_filter_delete(filter); - mbfl_wchar_device_clear(&pc.needle); - return result; + return 1; } -/* - * substr - */ -struct collector_substr_data { - mbfl_convert_filter *next_filter; - size_t start; - size_t stop; - size_t output; -}; - -static int -collector_substr(int c, void* data) +static int filter_count_width(int c, void* data) { - struct collector_substr_data *pc = (struct collector_substr_data*)data; - - if (pc->output >= pc->stop) { - return -1; - } - - if (pc->output >= pc->start) { - (*pc->next_filter->filter_function)(c, pc->next_filter); - } - - pc->output++; - + (*(size_t *)data) += character_width(c); return c; } -mbfl_string * -mbfl_substr( - mbfl_string *string, - mbfl_string *result, - size_t from, - size_t length) +size_t mbfl_strwidth(mbfl_string *string) { - const mbfl_encoding *encoding = string->encoding; - size_t n, k, len, start, end; - unsigned m; - unsigned char *p, *w; - - mbfl_string_init(result); - result->encoding = string->encoding; - - if ((encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE | MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) || - encoding->mblen_table != NULL) { - len = string->len; - if (encoding->flag & MBFL_ENCTYPE_SBCS) { - start = from; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { - start = from*2; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { - start = from*4; - } else { - const unsigned char *mbtab = encoding->mblen_table; - start = 0; - n = 0; - k = 0; - p = string->val; - /* search start position */ - while (k <= from) { - start = n; - if (n >= len) { - break; - } - m = mbtab[*p]; - n += m; - p += m; - k++; - } - } + size_t width = 0; - if (length == MBFL_SUBSTR_UNTIL_END) { - end = len; - } else if (encoding->flag & MBFL_ENCTYPE_SBCS) { - end = start + length; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { - end = start + length*2; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { - end = start + length*4; - } else { - const unsigned char *mbtab = encoding->mblen_table; - end = start; - n = start; - k = 0; - p = string->val + start; - /* detect end position */ - while (k <= length) { - end = n; - if (n >= len) { - break; - } - m = mbtab[*p]; - n += m; - p += m; - k++; - } - } - - if (start > len) { - start = len; - } - if (end > len) { - end = len; - } - if (start > end) { - start = end; - } - - /* allocate memory and copy */ - n = end - start; - result->len = 0; - result->val = w = (unsigned char*)emalloc(n + 1); - result->len = n; - memcpy(w, string->val + start, n); - w[n] = '\0'; - } else { - mbfl_memory_device device; - struct collector_substr_data pc; - mbfl_convert_filter *decoder; - mbfl_convert_filter *encoder; - - if (length == MBFL_SUBSTR_UNTIL_END) { - length = mbfl_strlen(string) - from; - } - - mbfl_memory_device_init(&device, length + 1, 0); - mbfl_string_init(result); - result->encoding = string->encoding; - /* output code filter */ - decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &device); - /* wchar filter */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_substr, 0, &pc); - if (decoder == NULL || encoder == NULL) { - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(decoder); - return NULL; - } - pc.next_filter = decoder; - pc.start = from; - pc.stop = from + length; - pc.output = 0; - - /* feed data */ - p = string->val; - n = string->len; - if (p != NULL) { - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - n--; - } - } - - mbfl_convert_filter_flush(encoder); - mbfl_convert_filter_flush(decoder); - result = mbfl_memory_device_result(&device, result); - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(decoder); + if (string->len > 0) { + mbfl_convert_filter *filter = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, filter_count_width, 0, &width); + mbfl_filter_feed_data(string, filter); + mbfl_convert_filter_flush(filter); + mbfl_convert_filter_delete(filter); } - return result; + return width; } -/* - * strcut - */ -mbfl_string * -mbfl_strcut( - mbfl_string *string, - mbfl_string *result, - size_t from, - size_t length) +mbfl_string *mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_string *result, size_t from, size_t max_width) { - const mbfl_encoding *encoding = string->encoding; - mbfl_memory_device device; - - if (from >= string->len) { - from = string->len; + /* Cut string down to total display width of `max_width` or less, where East Asian width is taken into account + * If it is necessary to trim string, add `marker` at end (unless the marker is NULL) + * Even after adding the trim marker, the total display width of `max_width` will not be exceeded, except in + * one pathological case... when BOTH the string width AND the width of the trim marker are more than `max_width`. + * + * Also note we don't make any attempt to determine whether the trim marker is actually + * valid in the target encoding or not */ + + mbfl_string_init_set(result, string->encoding); + + if (string->len == 0) { + result->val = (unsigned char*)estrdup(""); + result->len = 0; + return result; } - mbfl_string_init(result); - result->encoding = string->encoding; - - if ((encoding->flag & (MBFL_ENCTYPE_SBCS - | MBFL_ENCTYPE_WCS2BE - | MBFL_ENCTYPE_WCS2LE - | MBFL_ENCTYPE_WCS4BE - | MBFL_ENCTYPE_WCS4LE)) - || encoding->mblen_table != NULL) { - const unsigned char *start = NULL; - const unsigned char *end = NULL; - unsigned char *w; - size_t sz; - - if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { - from &= -2; - - if (length >= string->len - from) { - length = string->len - from; - } - - start = string->val + from; - end = start + (length & -2); - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { - from &= -4; - - if (length >= string->len - from) { - length = string->len - from; - } - - start = string->val + from; - end = start + (length & -4); - } else if ((encoding->flag & MBFL_ENCTYPE_SBCS)) { - if (length >= string->len - from) { - length = string->len - from; - } - - start = string->val + from; - end = start + length; - } else if (encoding->mblen_table != NULL) { - const unsigned char *mbtab = encoding->mblen_table; - const unsigned char *p, *q; - int m; - - /* search start position */ - for (m = 0, p = string->val, q = p + from; - p < q; p += (m = mbtab[*p])); - - if (p > q) { - p -= m; - } - - start = p; - - /* search end position */ - if (length >= string->len - (start - string->val)) { - end = string->val + string->len; - } else { - for (q = p + length; p < q; p += (m = mbtab[*p])); + /* Skip over `from` characters and set start pointer */ + unsigned char *start = string->val, *e = start + string->len; + if (from > 0) { + start += char_offset_to_byte_offset(string->encoding, string->val, string->len, from); + } - if (p > q) { - p -= m; - } - end = p; - } - } else { - /* never reached */ - return NULL; - } + /* Did we skip right to the end of the input string? */ + if (start == e) { + return result; /* if so, return empty string */ + } - /* allocate memory and copy string */ - sz = end - start; - w = ecalloc(sz + 8, sizeof(unsigned char)); + /* Now check how far we can get into remainder of string while still leaving + * enough space for the trim marker, in case it is necessary to add it */ + size_t marker_width = (marker ? mbfl_strwidth(marker) : 0); - memcpy(w, start, sz); - w[sz] = '\0'; - w[sz + 1] = '\0'; - w[sz + 2] = '\0'; - w[sz + 3] = '\0'; + size_t width = 0; + mbfl_convert_filter *filter = mbfl_convert_filter_new(string->encoding, + &mbfl_encoding_wchar, filter_count_width, 0, &width); + /* Hope to eliminate `ident` later. For now, identify filters can reliably + * be used to determine where a string can legally be truncated, but + * convert filters cannot */ + mbfl_identify_filter *ident = mbfl_identify_filter_new2(string->encoding); - result->val = w; - result->len = sz; - } else { - mbfl_convert_filter *encoder = NULL; - mbfl_convert_filter *decoder = NULL; - const unsigned char *p, *q, *r; - struct { - mbfl_convert_filter encoder; - mbfl_convert_filter decoder; - const unsigned char *p; - size_t pos; - } bk, _bk; - - /* output code filter */ - if (!(decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &device))) { - return NULL; - } + unsigned char *p = start, *enough_space_for_marker = start; + while (p < e) { + unsigned char c = *p++; + mbfl_convert_filter_feed(c, filter); + mbfl_identify_filter_feed(c, ident); - /* wchar filter */ - if (!(encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - mbfl_filter_output_null, - NULL, NULL))) { - mbfl_convert_filter_delete(decoder); - return NULL; + if (width + marker_width > max_width) { + break; } - - mbfl_memory_device_init(&device, length + 8, 0); - - p = string->val; - - /* search start position */ - for (q = string->val + from; p < q; p++) { - (*encoder->filter_function)(*p, encoder); + /* If `ident->status` is zero, we have just passed over a complete + * character and are entering another one */ + if (ident->status == 0) { + /* FIXME: Just keeping track of the place where we were in the output + * buffer is not enough! We may still need to 'flush' to emit any + * final escapes which will make it safe to concatenate the trim + * marker onto this string */ + enough_space_for_marker = p; } + } + mbfl_identify_filter_delete(ident); - /* switch the drain direction */ - encoder->output_function = (output_function_t)decoder->filter_function; - encoder->flush_function = (flush_function_t)decoder->filter_flush; - encoder->data = decoder; - - q = string->val + string->len; - - /* save the encoder, decoder state and the pointer */ - mbfl_convert_filter_copy(decoder, &_bk.decoder); - mbfl_convert_filter_copy(encoder, &_bk.encoder); - _bk.p = p; - _bk.pos = device.pos; + /* OK, we've found the last position where the trim marker could fit. + * Now let's see if the rest of the string will fit in `max_width` or not */ + while (width < max_width && p < e) { + mbfl_convert_filter_feed(*p++, filter); + } + mbfl_convert_filter_flush(filter); + mbfl_convert_filter_delete(filter); - if (length > q - p) { - length = q - p; + if (p == e && width <= max_width) { + /* The whole input string fits within `max_width`, at least after skipping + * over `from` characters, so there is no need to add the trim marker */ + result->val = (unsigned char*)estrndup((const char*)start, string->len); + result->len = string->len; + } else { + /* We need to trim the input string and add the trim marker */ + size_t trimmed_length = enough_space_for_marker - start; + size_t marker_length = (marker ? marker->len : 0); + result->val = emalloc(trimmed_length + marker_length + 1); + memcpy(result->val, start, trimmed_length); + if (marker) { + memcpy(result->val + trimmed_length, marker->val, marker_length); } + result->len = trimmed_length + marker_length; + result->val[result->len] = '\0'; + } - if (length >= 20) { - /* output a little shorter than "length" */ - /* XXX: the constant "20" was determined purely on the heuristics. */ - for (r = p + length - 20; p < r; p++) { - (*encoder->filter_function)(*p, encoder); - } - - /* if the offset of the resulting string exceeds the length, - * then restore the state */ - if (device.pos > length) { - p = _bk.p; - device.pos = _bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&_bk.decoder, decoder); - mbfl_convert_filter_copy(&_bk.encoder, encoder); - bk = _bk; - } else { - /* save the encoder, decoder state and the pointer */ - mbfl_convert_filter_copy(decoder, &bk.decoder); - mbfl_convert_filter_copy(encoder, &bk.encoder); - bk.p = p; - bk.pos = device.pos; - - /* flush the stream */ - (*encoder->filter_flush)(encoder); - - /* if the offset of the resulting string exceeds the length, - * then restore the state */ - if (device.pos > length) { - if (bk.decoder.filter_dtor) - bk.decoder.filter_dtor(&bk.decoder); - if (bk.encoder.filter_dtor) - bk.encoder.filter_dtor(&bk.encoder); - - p = _bk.p; - device.pos = _bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&_bk.decoder, decoder); - mbfl_convert_filter_copy(&_bk.encoder, encoder); - bk = _bk; - } else { - if (_bk.decoder.filter_dtor) - _bk.decoder.filter_dtor(&_bk.decoder); - if (_bk.encoder.filter_dtor) - _bk.encoder.filter_dtor(&_bk.encoder); - - p = bk.p; - device.pos = bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&bk.decoder, decoder); - mbfl_convert_filter_copy(&bk.encoder, encoder); - } - } - } else { - bk = _bk; - } + return result; +} - /* detect end position */ - while (p < q) { - (*encoder->filter_function)(*p, encoder); - - if (device.pos > length) { - /* restore filter */ - p = bk.p; - device.pos = bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&bk.decoder, decoder); - mbfl_convert_filter_copy(&bk.encoder, encoder); - break; - } +/* Perform various transformations on Japanese text + * + * Some Japanese characters have both halfwidth and fullwidth versions; 'hantozen' refers + * to converting halfwidth to fullwidth. + * However, this function can also convert in the opposite direction, or convert + * hiragana to katakana and so on... all depending on the value of the `mode` argument */ +mbfl_string *mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, int mode) +{ + mbfl_memory_device device; - p++; + mbfl_memory_device_init(&device, string->len, 0); + mbfl_string_init_set(result, string->encoding); - /* backup current state */ - mbfl_convert_filter_copy(decoder, &_bk.decoder); - mbfl_convert_filter_copy(encoder, &_bk.encoder); - _bk.pos = device.pos; - _bk.p = p; - - (*encoder->filter_flush)(encoder); - - if (device.pos > length) { - if (_bk.decoder.filter_dtor) - _bk.decoder.filter_dtor(&_bk.decoder); - if (_bk.encoder.filter_dtor) - _bk.encoder.filter_dtor(&_bk.encoder); - - /* restore filter */ - p = bk.p; - device.pos = bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&bk.decoder, decoder); - mbfl_convert_filter_copy(&bk.encoder, encoder); - break; - } + mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, + string->encoding, mbfl_memory_device_output, 0, &device); - if (bk.decoder.filter_dtor) - bk.decoder.filter_dtor(&bk.decoder); - if (bk.encoder.filter_dtor) - bk.encoder.filter_dtor(&bk.encoder); - - p = _bk.p; - device.pos = _bk.pos; - if (decoder->filter_dtor) - decoder->filter_dtor(decoder); - if (encoder->filter_dtor) - encoder->filter_dtor(encoder); - mbfl_convert_filter_copy(&_bk.decoder, decoder); - mbfl_convert_filter_copy(&_bk.encoder, encoder); - - bk = _bk; - } + /* TODO: should this not be part of the filter ctor?? */ + mbfl_filt_tl_jisx0201_jisx0208_param *param = emalloc(sizeof(mbfl_filt_tl_jisx0201_jisx0208_param)); + param->mode = mode; - (*encoder->filter_flush)(encoder); + mbfl_convert_filter *tl_filter = mbfl_convert_filter_new2(&vtbl_tl_jisx0201_jisx0208, + (output_function_t)decoder->filter_function, (flush_function_t)decoder->filter_flush, decoder); + tl_filter->opaque = param; - if (bk.decoder.filter_dtor) - bk.decoder.filter_dtor(&bk.decoder); - if (bk.encoder.filter_dtor) - bk.encoder.filter_dtor(&bk.encoder); + mbfl_convert_filter *encoder = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, + (output_function_t)tl_filter->filter_function, (flush_function_t)tl_filter->filter_flush, tl_filter); - result = mbfl_memory_device_result(&device, result); + mbfl_filter_feed_data(string, encoder); + mbfl_convert_filter_flush(encoder); + mbfl_memory_device_result(&device, result); - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(decoder); + if (tl_filter->opaque) { + efree(tl_filter->opaque); } + mbfl_convert_filter_delete(tl_filter); + mbfl_convert_filter_delete(decoder); + mbfl_convert_filter_delete(encoder); return result; } +struct mime_header_encoder_data { + mbfl_memory_device outdev; + const mbfl_encoding *output_encoding; + const mbfl_encoding *transfer_encoding; + size_t linehead; + size_t firstindent; + int encname_len; + int linefeed_len; + /* The longest preferred MIME name for an encoding is 16 characters: "Quoted-Printable" + * So `encname` will never be longer than 21 characters, since 5 more are added to the MIME name */ + char encname[24]; + char linefeed[16]; +}; -/* - * strwidth - */ -static size_t is_fullwidth(int c) +struct mime_header_encoder_data *mime_header_encoder_new(const mbfl_encoding *incode, + const mbfl_encoding *outcode, const mbfl_encoding *transenc) { - int i; + ZEND_ASSERT(transenc == &mbfl_encoding_qprint || transenc == &mbfl_encoding_base64); - if (c < mbfl_eaw_table[0].begin) { - return 0; + /* check MIME charset name for content encoding */ + if (outcode->mime_name == NULL || outcode->mime_name[0] == '\0') { + return NULL; } - for (i = 0; i < sizeof(mbfl_eaw_table) / sizeof(mbfl_eaw_table[0]); i++) { - if (mbfl_eaw_table[i].begin <= c && c <= mbfl_eaw_table[i].end) { - return 1; - } - } + struct mime_header_encoder_data *pe = emalloc(sizeof(struct mime_header_encoder_data)); + mbfl_memory_device_init(&pe->outdev, 0, 0); + pe->linehead = pe->firstindent = 0; + pe->output_encoding = outcode; + pe->transfer_encoding = transenc; - return 0; -} + /* make the encoding description string exp. "=?ISO-2022-JP?B?" */ + pe->encname_len = snprintf(pe->encname, sizeof(pe->encname), "=?%s?%c?", + outcode->mime_name, (transenc == &mbfl_encoding_qprint ? 'Q' : 'B')); -static int -filter_count_width(int c, void* data) -{ - (*(size_t *)data) += (is_fullwidth(c) ? 2: 1); - return c; + strcpy(pe->linefeed, "\r\n "); + pe->linefeed_len = sizeof("\r\n "); + + return pe; } -size_t -mbfl_strwidth(mbfl_string *string) +void mime_header_encoder_delete(struct mime_header_encoder_data *pe) { - size_t len, n; - unsigned char *p; - mbfl_convert_filter *filter; - - len = 0; - if (string->len > 0 && string->val != NULL) { - /* wchar filter */ - filter = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - filter_count_width, 0, &len); - if (filter == NULL) { - mbfl_convert_filter_delete(filter); - return -1; - } - - /* feed data */ - p = string->val; - n = string->len; - while (n > 0) { - (*filter->filter_function)(*p++, filter); - n--; - } - - mbfl_convert_filter_flush(filter); - mbfl_convert_filter_delete(filter); - } - - return len; + mbfl_memory_device_clear(&pe->outdev); + efree(pe); } - -/* - * strimwidth - */ -struct collector_strimwidth_data { - mbfl_convert_filter *decoder; - mbfl_convert_filter *decoder_backup; - mbfl_memory_device device; - size_t from; - size_t width; - size_t outwidth; - size_t outchar; - size_t endpos; - int status; +static const unsigned char qp_table[128] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x00 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x10 */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x20 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, /* 0x30 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x40 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, /* 0x50 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x60 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, /* 0x70 */ }; -static int -collector_strimwidth(int c, void* data) -{ - struct collector_strimwidth_data *pc = (struct collector_strimwidth_data*)data; - - switch (pc->status) { - case 10: - (*pc->decoder->filter_function)(c, pc->decoder); - break; - default: - if (pc->outchar >= pc->from) { - pc->outwidth += (is_fullwidth(c) ? 2: 1); - - if (pc->outwidth > pc->width) { - if (pc->status == 0) { - pc->endpos = pc->device.pos; - mbfl_convert_filter_copy(pc->decoder, pc->decoder_backup); - } - pc->status++; - (*pc->decoder->filter_function)(c, pc->decoder); - c = -1; - } else { - (*pc->decoder->filter_function)(c, pc->decoder); - } - } - pc->outchar++; - break; - } +#define EMIT_SPACE() mbfl_memory_device_output(' ', &pe->outdev) - return c; +static void mime_header_break_line(struct mime_header_encoder_data *pe) +{ + mbfl_memory_device_strncat(&pe->outdev, pe->linefeed, pe->linefeed_len); + pe->linehead = pe->outdev.pos; + pe->firstindent = 0; /* We're no longer on the first line */ } -mbfl_string * -mbfl_strimwidth( - mbfl_string *string, - mbfl_string *marker, - mbfl_string *result, - size_t from, - size_t width) +static void mime_header_break_marked_line(struct mime_header_encoder_data *pe) { - struct collector_strimwidth_data pc; - mbfl_convert_filter *encoder; - size_t n, mkwidth; - unsigned char *p; - - if (string == NULL || result == NULL) { - return NULL; - } - mbfl_string_init(result); - result->encoding = string->encoding; - mbfl_memory_device_init(&pc.device, MIN(string->len, width), 0); - - /* output code filter */ - pc.decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &pc.device); - pc.decoder_backup = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &pc.device); - /* wchar filter */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_strimwidth, 0, &pc); - if (pc.decoder == NULL || pc.decoder_backup == NULL || encoder == NULL) { - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(pc.decoder); - mbfl_convert_filter_delete(pc.decoder_backup); - return NULL; - } - mkwidth = 0; - if (marker) { - mkwidth = mbfl_strwidth(marker); - } - pc.from = from; - pc.width = width - mkwidth; - pc.outwidth = 0; - pc.outchar = 0; - pc.status = 0; - pc.endpos = 0; - - /* feed data */ - p = string->val; - n = string->len; - if (p != NULL) { - while (n > 0) { - n--; - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - } - mbfl_convert_filter_flush(encoder); - if (pc.status != 0 && mkwidth > 0) { - pc.width += mkwidth; - if (n > 0) { - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - n--; - } - mbfl_convert_filter_flush(encoder); - } else if (pc.outwidth > pc.width) { - pc.status++; - } - if (pc.status != 1) { - pc.status = 10; - pc.device.pos = pc.endpos; - mbfl_convert_filter_copy(pc.decoder_backup, pc.decoder); - mbfl_convert_filter_reset(encoder, marker->encoding, &mbfl_encoding_wchar); - p = marker->val; - n = marker->len; - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - n--; - } - mbfl_convert_filter_flush(encoder); - } - } else if (pc.status != 0) { - pc.device.pos = pc.endpos; - mbfl_convert_filter_copy(pc.decoder_backup, pc.decoder); - } - mbfl_convert_filter_flush(pc.decoder); - } - result = mbfl_memory_device_result(&pc.device, result); - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(pc.decoder); - mbfl_convert_filter_delete(pc.decoder_backup); - - return result; + mbfl_memory_device_strncat(&pe->outdev, "?=", 2); + mime_header_break_line(pe); + mbfl_memory_device_strncat(&pe->outdev, pe->encname, pe->encname_len); } -mbfl_string * -mbfl_ja_jp_hantozen( - mbfl_string *string, - mbfl_string *result, - int mode) +static void mime_header_flush_to_output(struct mime_header_encoder_data *pe, unsigned int *start, unsigned int *end) { - size_t n; - unsigned char *p; - mbfl_memory_device device; - mbfl_convert_filter *decoder = NULL; - mbfl_convert_filter *encoder = NULL; - mbfl_convert_filter *tl_filter = NULL; - mbfl_convert_filter *next_filter = NULL; - mbfl_filt_tl_jisx0201_jisx0208_param *param = NULL; - - mbfl_memory_device_init(&device, string->len, 0); - mbfl_string_init(result); - - result->encoding = string->encoding; + int line_length = pe->outdev.pos - pe->linehead + pe->firstindent + (end - start); - decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &device); - if (decoder == NULL) { - goto out; - } - next_filter = decoder; - - param = emalloc(sizeof(mbfl_filt_tl_jisx0201_jisx0208_param)); - param->mode = mode; - - tl_filter = mbfl_convert_filter_new2( - &vtbl_tl_jisx0201_jisx0208, - (int(*)(int, void*))next_filter->filter_function, - (flush_function_t)next_filter->filter_flush, - next_filter); - if (tl_filter == NULL) { - efree(param); - goto out; - } - - tl_filter->opaque = param; - next_filter = tl_filter; - - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - (int(*)(int, void*))next_filter->filter_function, - (flush_function_t)next_filter->filter_flush, - next_filter); - if (encoder == NULL) { - goto out; - } - - /* feed data */ - p = string->val; - n = string->len; - if (p != NULL) { - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; - } - n--; - } - } - - mbfl_convert_filter_flush(encoder); - result = mbfl_memory_device_result(&device, result); -out: - if (tl_filter != NULL) { - if (tl_filter->opaque != NULL) { - efree(tl_filter->opaque); - } - mbfl_convert_filter_delete(tl_filter); + if (line_length > 74) { + mime_header_break_line(pe); + } else if (pe->outdev.pos > 0) { + EMIT_SPACE(); } - if (decoder != NULL) { - mbfl_convert_filter_delete(decoder); + while (start < end) { + mbfl_memory_device_output(*start++, &pe->outdev); } - - if (encoder != NULL) { - mbfl_convert_filter_delete(encoder); - } - - return result; } - -/* - * MIME header encode - */ -struct mime_header_encoder_data { - mbfl_convert_filter *conv1_filter; - mbfl_convert_filter *block_filter; - mbfl_convert_filter *conv2_filter; - mbfl_convert_filter *conv2_filter_backup; - mbfl_convert_filter *encod_filter; - mbfl_convert_filter *encod_filter_backup; - mbfl_memory_device outdev; - mbfl_memory_device tmpdev; - int status1; - int status2; - size_t prevpos; - size_t linehead; - size_t firstindent; - int encnamelen; - int lwsplen; - char encname[128]; - char lwsp[16]; -}; - -static int -mime_header_encoder_block_collector(int c, void *data) +static void mime_header_emit_encoded_line(mbfl_memory_device *converted, mbfl_convert_filter *convert_filter, mbfl_convert_filter *encode_filter, + struct mime_header_encoder_data *pe) { - size_t n; - struct mime_header_encoder_data *pe = (struct mime_header_encoder_data *)data; - - switch (pe->status2) { - case 1: /* encoded word */ - pe->prevpos = pe->outdev.pos; - mbfl_convert_filter_copy(pe->conv2_filter, pe->conv2_filter_backup); - mbfl_convert_filter_copy(pe->encod_filter, pe->encod_filter_backup); - (*pe->conv2_filter->filter_function)(c, pe->conv2_filter); - (*pe->conv2_filter->filter_flush)(pe->conv2_filter); - (*pe->encod_filter->filter_flush)(pe->encod_filter); - n = pe->outdev.pos - pe->linehead + pe->firstindent; - pe->outdev.pos = pe->prevpos; - mbfl_convert_filter_copy(pe->conv2_filter_backup, pe->conv2_filter); - mbfl_convert_filter_copy(pe->encod_filter_backup, pe->encod_filter); - if (n >= 74) { - (*pe->conv2_filter->filter_flush)(pe->conv2_filter); - (*pe->encod_filter->filter_flush)(pe->encod_filter); - mbfl_memory_device_strncat(&pe->outdev, "\x3f\x3d", 2); /* ?= */ - mbfl_memory_device_strncat(&pe->outdev, pe->lwsp, pe->lwsplen); - pe->linehead = pe->outdev.pos; - pe->firstindent = 0; - mbfl_memory_device_strncat(&pe->outdev, pe->encname, pe->encnamelen); - c = (*pe->conv2_filter->filter_function)(c, pe->conv2_filter); - } else { - c = (*pe->conv2_filter->filter_function)(c, pe->conv2_filter); - } - break; - - default: - mbfl_memory_device_strncat(&pe->outdev, pe->encname, pe->encnamelen); - c = (*pe->conv2_filter->filter_function)(c, pe->conv2_filter); - pe->status2 = 1; - break; - } - - return c; + (convert_filter->filter_flush)(convert_filter); + mbfl_convert_filter_devcat(encode_filter, converted); + (encode_filter->filter_flush)(encode_filter); + mime_header_break_marked_line(pe); + mbfl_memory_device_reset(converted); } -static int -mime_header_encoder_collector(int c, void *data) +static void mime_header_base64_output(int c, mbfl_memory_device *converted, mbfl_convert_filter *convert_filter, mbfl_convert_filter *encode_filter, + struct mime_header_encoder_data *pe) { - static int qp_table[256] = { - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x00 */ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x20 */ - 0, 0, 0, 0, 0, 0, 0 ,0, 0, 0, 0, 0, 0, 1, 0, 1, /* 0x10 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x40 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x50 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x60 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x70 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x80 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x90 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0xA0 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0xB0 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0xC0 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0xD0 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0xE0 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 /* 0xF0 */ - }; - - size_t n; - struct mime_header_encoder_data *pe = (struct mime_header_encoder_data *)data; - - switch (pe->status1) { - case 11: /* encoded word */ - (*pe->block_filter->filter_function)(c, pe->block_filter); - break; - - default: /* ASCII */ - if (c <= 0x00ff && !qp_table[(c & 0xff)]) { /* ordinary characters */ - mbfl_memory_device_output(c, &pe->tmpdev); - pe->status1 = 1; - } else if (pe->status1 == 0 && c == 0x20) { /* repeat SPACE */ - mbfl_memory_device_output(c, &pe->tmpdev); + int line_length = pe->outdev.pos - pe->linehead + pe->firstindent; + int max_bytes = (73 - line_length) / 4 * 3; + + int saved_pos = converted->pos, saved_status = convert_filter->status, saved_cache = convert_filter->cache; + mbfl_convert_filter_feed(c, convert_filter); + + /* If we're getting close to where we need to break to another line, check whether we + * will still be within the line length limit after flushing the conversion filter */ + if (converted->pos > max_bytes - 6) { + int saved_pos2 = converted->pos, saved_status2 = convert_filter->status, saved_cache2 = convert_filter->cache; + (convert_filter->filter_flush)(convert_filter); + + if (converted->pos > max_bytes) { + /* Looks like `c` will not actually fit on this line + * Back up to where we were before consuming `c` */ + converted->pos = saved_pos; + convert_filter->status = saved_status; + convert_filter->cache = saved_cache; + + /* Emit a completed line and then consume `c` again */ + mime_header_emit_encoded_line(converted, convert_filter, encode_filter, pe); + mbfl_convert_filter_feed(c, convert_filter); } else { - if (pe->tmpdev.pos < 74 && c == 0x20) { - n = pe->outdev.pos - pe->linehead + pe->tmpdev.pos + pe->firstindent; - if (n > 74) { - mbfl_memory_device_strncat(&pe->outdev, pe->lwsp, pe->lwsplen); /* LWSP */ - pe->linehead = pe->outdev.pos; - pe->firstindent = 0; - } else if (pe->outdev.pos > 0) { - mbfl_memory_device_output(0x20, &pe->outdev); - } - mbfl_memory_device_devcat(&pe->outdev, &pe->tmpdev); - mbfl_memory_device_reset(&pe->tmpdev); - pe->status1 = 0; - } else { - n = pe->outdev.pos - pe->linehead + pe->encnamelen + pe->firstindent; - if (n > 60) { - mbfl_memory_device_strncat(&pe->outdev, pe->lwsp, pe->lwsplen); /* LWSP */ - pe->linehead = pe->outdev.pos; - pe->firstindent = 0; - } else if (pe->outdev.pos > 0) { - mbfl_memory_device_output(0x20, &pe->outdev); - } - mbfl_convert_filter_devcat(pe->block_filter, &pe->tmpdev); - mbfl_memory_device_reset(&pe->tmpdev); - (*pe->block_filter->filter_function)(c, pe->block_filter); - pe->status1 = 11; - } + /* OK, `c` will fit. This is good to know. But we need to undo the flush + * so more characters can potentially fit on the same line */ + converted->pos = saved_pos2; + convert_filter->status = saved_status2; + convert_filter->cache = saved_cache2; } - break; } - - return c; } -mbfl_string * -mime_header_encoder_result(struct mime_header_encoder_data *pe, mbfl_string *result) +static void mime_header_qprint_output(int c, mbfl_memory_device *converted, mbfl_convert_filter *convert_filter, mbfl_convert_filter *encode_filter, + struct mime_header_encoder_data *pe) { - if (pe->status1 >= 10) { - (*pe->conv2_filter->filter_flush)(pe->conv2_filter); - (*pe->encod_filter->filter_flush)(pe->encod_filter); - mbfl_memory_device_strncat(&pe->outdev, "\x3f\x3d", 2); /* ?= */ - } else if (pe->tmpdev.pos > 0) { - if (pe->outdev.pos > 0) { - if ((pe->outdev.pos - pe->linehead + pe->tmpdev.pos) > 74) { - mbfl_memory_device_strncat(&pe->outdev, pe->lwsp, pe->lwsplen); - } else { - mbfl_memory_device_output(0x20, &pe->outdev); - } + int saved_pos = converted->pos, saved_status = convert_filter->status, saved_cache = convert_filter->cache; + mbfl_convert_filter_feed(c, convert_filter); + + int line_length = pe->outdev.pos - pe->linehead + pe->firstindent; + unsigned char *p = converted->buffer, *e = p + converted->pos; + while (p < e) { + unsigned char byte = *p++; + line_length += (byte >= 0x80 || byte == '=' || mime_char_needs_qencode[byte]) ? 3 : 1; + } + + /* `line_length` must not exceed 73 at the point where we decide to break, to make + * space for the terminating '?=' + * Flushing the conversion filter should not emit more than 4 bytes. Those 4 bytes + * could potentially expand to 12 bytes when QPrint-encoded. */ + if (line_length > 73 - 12) { + int saved_pos2 = converted->pos, saved_status2 = convert_filter->status, saved_cache2 = convert_filter->cache; + (convert_filter->filter_flush)(convert_filter); + + e = converted->buffer + converted->pos; + while (p < e) { + unsigned char byte = *p++; + line_length += (byte >= 0x80 || byte == '=' || mime_char_needs_qencode[byte]) ? 3 : 1; + } + + if (line_length > 73) { + /* Looks like `c` will not actually fit on this line + * Back up to where we were before consuming `c` */ + converted->pos = saved_pos; + convert_filter->status = saved_status; + convert_filter->cache = saved_cache; + + /* Emit a completed line and then consume `c` again */ + mime_header_emit_encoded_line(converted, convert_filter, encode_filter, pe); + mbfl_convert_filter_feed(c, convert_filter); + } else { + /* OK, `c` will fit. This is good to know. But we need to undo the flush + * so more characters can potentially fit on the same line */ + converted->pos = saved_pos2; + convert_filter->status = saved_status2; + convert_filter->cache = saved_cache2; } - mbfl_memory_device_devcat(&pe->outdev, &pe->tmpdev); } - mbfl_memory_device_reset(&pe->tmpdev); - pe->prevpos = 0; - pe->linehead = 0; - pe->status1 = 0; - pe->status2 = 0; - - return mbfl_memory_device_result(&pe->outdev, result); } -struct mime_header_encoder_data* -mime_header_encoder_new( - const mbfl_encoding *incode, - const mbfl_encoding *outcode, - const mbfl_encoding *transenc) +static void mime_header_encode_rest_of_input(unsigned int *p, unsigned int *e, struct mime_header_encoder_data *pe) { - size_t n; - const char *s; - struct mime_header_encoder_data *pe; + mbfl_memory_device converted; + mbfl_memory_device_init(&converted, 0, 0); - /* get output encoding and check MIME charset name */ - if (outcode->mime_name == NULL || outcode->mime_name[0] == '\0') { - return NULL; - } + /* Transfer encode filter */ + mbfl_convert_filter *encode_filter = mbfl_convert_filter_new(pe->output_encoding, pe->transfer_encoding, mbfl_memory_device_output, 0, &pe->outdev); - pe = emalloc(sizeof(struct mime_header_encoder_data)); - mbfl_memory_device_init(&pe->outdev, 0, 0); - mbfl_memory_device_init(&pe->tmpdev, 0, 0); - pe->prevpos = 0; - pe->linehead = 0; - pe->firstindent = 0; - pe->status1 = 0; - pe->status2 = 0; + /* Output code filter */ + mbfl_convert_filter *conv2_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, pe->output_encoding, mbfl_memory_device_output, 0, &converted); - /* make the encoding description string exp. "=?ISO-2022-JP?B?" */ - n = 0; - pe->encname[n++] = 0x3d; - pe->encname[n++] = 0x3f; - s = outcode->mime_name; - while (*s) { - pe->encname[n++] = *s++; - } - pe->encname[n++] = 0x3f; - if (transenc->no_encoding == mbfl_no_encoding_qprint) { - pe->encname[n++] = 0x51; + void (*output_function)(int, mbfl_memory_device*, mbfl_convert_filter*, mbfl_convert_filter*, struct mime_header_encoder_data*); + if (pe->transfer_encoding == &mbfl_encoding_qprint) { + encode_filter->status |= MBFL_QPRINT_STS_MIME_HEADER; + output_function = mime_header_qprint_output; } else { - pe->encname[n++] = 0x42; - transenc = &mbfl_encoding_base64; + encode_filter->status |= MBFL_BASE64_STS_MIME_HEADER; + output_function = mime_header_base64_output; } - pe->encname[n++] = 0x3f; - pe->encname[n] = '\0'; - pe->encnamelen = n; - - n = 0; - pe->lwsp[n++] = 0x0d; - pe->lwsp[n++] = 0x0a; - pe->lwsp[n++] = 0x20; - pe->lwsp[n] = '\0'; - pe->lwsplen = n; - /* transfer encode filter */ - pe->encod_filter = mbfl_convert_filter_new(outcode, transenc, mbfl_memory_device_output, 0, &(pe->outdev)); - pe->encod_filter_backup = mbfl_convert_filter_new(outcode, transenc, mbfl_memory_device_output, 0, &(pe->outdev)); - - /* Output code filter */ - pe->conv2_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, outcode, mbfl_filter_output_pipe, 0, pe->encod_filter); - pe->conv2_filter_backup = mbfl_convert_filter_new(&mbfl_encoding_wchar, outcode, mbfl_filter_output_pipe, 0, pe->encod_filter); - - /* encoded block filter */ - pe->block_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, &mbfl_encoding_wchar, mime_header_encoder_block_collector, 0, pe); + int line_length = pe->outdev.pos - pe->linehead + pe->encname_len + pe->firstindent; + if (line_length > 60) { + mime_header_break_line(pe); + } else if (pe->outdev.pos > 0) { + EMIT_SPACE(); + } - /* Input code filter */ - pe->conv1_filter = mbfl_convert_filter_new(incode, &mbfl_encoding_wchar, mime_header_encoder_collector, 0, pe); + mbfl_memory_device_strncat(&pe->outdev, pe->encname, pe->encname_len); - if (pe->encod_filter == NULL || - pe->encod_filter_backup == NULL || - pe->conv2_filter == NULL || - pe->conv2_filter_backup == NULL || - pe->conv1_filter == NULL) { - mime_header_encoder_delete(pe); - return NULL; + while (p < e) { + output_function(*p++, &converted, conv2_filter, encode_filter, pe); } - if (transenc->no_encoding == mbfl_no_encoding_qprint) { - pe->encod_filter->status |= MBFL_QPRINT_STS_MIME_HEADER; - pe->encod_filter_backup->status |= MBFL_QPRINT_STS_MIME_HEADER; - } else { - pe->encod_filter->status |= MBFL_BASE64_STS_MIME_HEADER; - pe->encod_filter_backup->status |= MBFL_BASE64_STS_MIME_HEADER; - } + (conv2_filter->filter_flush)(conv2_filter); + mbfl_convert_filter_devcat(encode_filter, &converted); + (encode_filter->filter_flush)(encode_filter); - return pe; -} + mbfl_memory_device_strncat(&pe->outdev, "?=", 2); -void -mime_header_encoder_delete(struct mime_header_encoder_data *pe) -{ - if (pe) { - mbfl_convert_filter_delete(pe->conv1_filter); - mbfl_convert_filter_delete(pe->block_filter); - mbfl_convert_filter_delete(pe->conv2_filter); - mbfl_convert_filter_delete(pe->conv2_filter_backup); - mbfl_convert_filter_delete(pe->encod_filter); - mbfl_convert_filter_delete(pe->encod_filter_backup); - mbfl_memory_device_clear(&pe->outdev); - mbfl_memory_device_clear(&pe->tmpdev); - efree((void*)pe); - } + mbfl_memory_device_clear(&converted); + mbfl_convert_filter_delete(conv2_filter); + mbfl_convert_filter_delete(encode_filter); } -mbfl_string * -mbfl_mime_header_encode( - mbfl_string *string, - mbfl_string *result, - const mbfl_encoding *outcode, - const mbfl_encoding *encoding, - const char *linefeed, - int indent) +mbfl_string *mbfl_mime_header_encode(mbfl_string *string, mbfl_string *result, const mbfl_encoding *outcode, + const mbfl_encoding *transfer_encoding, const char *linefeed, int indent) { - size_t n; - unsigned char *p; - struct mime_header_encoder_data *pe; + mbfl_string_init_set(result, &mbfl_encoding_ascii); - mbfl_string_init(result); - result->encoding = &mbfl_encoding_ascii; - - pe = mime_header_encoder_new(string->encoding, outcode, encoding); + struct mime_header_encoder_data *pe = mime_header_encoder_new(string->encoding, outcode, transfer_encoding); if (pe == NULL) { return NULL; } - if (linefeed != NULL) { - n = 0; - while (*linefeed && n < 8) { - pe->lwsp[n++] = *linefeed++; - } - pe->lwsp[n++] = 0x20; - pe->lwsp[n] = '\0'; - pe->lwsplen = n; + if (linefeed) { + pe->linefeed_len = snprintf(pe->linefeed, sizeof(pe->linefeed), "%.8s ", linefeed); } if (indent > 0 && indent < 74) { pe->firstindent = indent; } - n = string->len; - p = string->val; - while (n > 0) { - (*pe->conv1_filter->filter_function)(*p++, pe->conv1_filter); - n--; + size_t len; + unsigned int *wc_buffer = convert_string_to_wchar(string, &len), *p = wc_buffer, *e = p + len, *saved = p; + + while (p < e) { + int c = *p++; + + /* Accept a run of spaces followed by a run of characters which do not require + * any special encoding. When we see another space after that, flush to output + * buffer, breaking line if necessary. + * + * If at any point we see a character which *does* need special encoding, + * switch to Base64-encoding or QPrint-encoding all the input */ + if (c <= 0x7f && qp_table[c]) { + while (p < e) { + int c = *p++; + + if (c == ' ' && (p - saved - 1) < 74) { + mime_header_flush_to_output(pe, saved, p - 1); + saved = p; + break; + } else if (c > 0x7f || !qp_table[c]) { + mime_header_encode_rest_of_input(saved, e, pe); + goto mime_header_encode_finished_input; + } + } + } else if (c != ' ') { + mime_header_encode_rest_of_input(saved, e, pe); + goto mime_header_encode_finished_input; + } } - result = mime_header_encoder_result(pe, result); - mime_header_encoder_delete(pe); + if (saved < e) { + mime_header_flush_to_output(pe, saved, e); + } +mime_header_encode_finished_input: + efree(wc_buffer); + mbfl_memory_device_result(&pe->outdev, result); + mime_header_encoder_delete(pe); return result; } - -/* - * MIME header decode - */ struct mime_header_decoder_data { - mbfl_convert_filter *deco_filter; + mbfl_convert_filter *decode_filter; mbfl_convert_filter *conv1_filter; mbfl_convert_filter *conv2_filter; mbfl_memory_device outdev; - mbfl_memory_device tmpdev; - size_t cspos; - int status; - const mbfl_encoding *encoding; - const mbfl_encoding *incode; - const mbfl_encoding *outcode; }; -static int -mime_header_decoder_collector(int c, void* data) +mbfl_string *mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result) { - const mbfl_encoding *encoding; - struct mime_header_decoder_data *pd = (struct mime_header_decoder_data*)data; - - switch (pd->status) { - case 1: - if (c == 0x3f) { /* ? */ - mbfl_memory_device_output(c, &pd->tmpdev); - pd->cspos = pd->tmpdev.pos; - pd->status = 2; - } else { - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - mbfl_memory_device_reset(&pd->tmpdev); - if (c == 0x3d) { /* = */ - mbfl_memory_device_output(c, &pd->tmpdev); - } else if (c == 0x0d || c == 0x0a) { /* CR or LF */ - pd->status = 9; - } else { - (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); - pd->status = 0; - } - } - break; - case 2: /* store charset string */ - if (c == 0x3f) { /* ? */ - /* identify charset */ - mbfl_memory_device_output('\0', &pd->tmpdev); - encoding = mbfl_name2encoding((const char *)&pd->tmpdev.buffer[pd->cspos]); - if (encoding != NULL) { - pd->incode = encoding; - pd->status = 3; - } - mbfl_memory_device_unput(&pd->tmpdev); - mbfl_memory_device_output(c, &pd->tmpdev); - } else { - mbfl_memory_device_output(c, &pd->tmpdev); - if (pd->tmpdev.pos > 100) { /* too long charset string */ - pd->status = 0; - } else if (c == 0x0d || c == 0x0a) { /* CR or LF */ - mbfl_memory_device_unput(&pd->tmpdev); - pd->status = 9; - } - if (pd->status != 2) { - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - mbfl_memory_device_reset(&pd->tmpdev); - } - } - break; - case 3: /* identify encoding */ - mbfl_memory_device_output(c, &pd->tmpdev); - if (c == 0x42 || c == 0x62) { /* 'B' or 'b' */ - pd->encoding = &mbfl_encoding_base64; - pd->status = 4; - } else if (c == 0x51 || c == 0x71) { /* 'Q' or 'q' */ - pd->encoding = &mbfl_encoding_qprint; - pd->status = 4; - } else { - if (c == 0x0d || c == 0x0a) { /* CR or LF */ - mbfl_memory_device_unput(&pd->tmpdev); - pd->status = 9; - } else { - pd->status = 0; - } - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - mbfl_memory_device_reset(&pd->tmpdev); - } - break; - case 4: /* reset filter */ - mbfl_memory_device_output(c, &pd->tmpdev); - if (c == 0x3f) { /* ? */ - /* charset convert filter */ - mbfl_convert_filter_reset(pd->conv1_filter, pd->incode, &mbfl_encoding_wchar); - /* decode filter */ - mbfl_convert_filter_reset(pd->deco_filter, pd->encoding, &mbfl_encoding_8bit); - pd->status = 5; - } else { - if (c == 0x0d || c == 0x0a) { /* CR or LF */ - mbfl_memory_device_unput(&pd->tmpdev); - pd->status = 9; - } else { - pd->status = 0; - } - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - } - mbfl_memory_device_reset(&pd->tmpdev); - break; - case 5: /* encoded block */ - if (c == 0x3f) { /* ? */ - pd->status = 6; - } else { - (*pd->deco_filter->filter_function)(c, pd->deco_filter); - } - break; - case 6: /* check end position */ - if (c == 0x3d) { /* = */ - /* flush and reset filter */ - (*pd->deco_filter->filter_flush)(pd->deco_filter); - (*pd->conv1_filter->filter_flush)(pd->conv1_filter); - mbfl_convert_filter_reset(pd->conv1_filter, &mbfl_encoding_ascii, &mbfl_encoding_wchar); - pd->status = 7; - } else { - (*pd->deco_filter->filter_function)(0x3f, pd->deco_filter); - if (c != 0x3f) { /* ? */ - (*pd->deco_filter->filter_function)(c, pd->deco_filter); - pd->status = 5; - } - } - break; - case 7: /* after encoded block */ - if (c == 0x0d || c == 0x0a) { /* CR LF */ - pd->status = 8; - } else { - mbfl_memory_device_output(c, &pd->tmpdev); - if (c == 0x3d) { /* = */ - pd->status = 1; - } else if (c != 0x20 && c != 0x09) { /* not space */ - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - mbfl_memory_device_reset(&pd->tmpdev); - pd->status = 0; - } - } - break; - case 8: /* folding */ - case 9: /* folding */ - if (c != 0x0d && c != 0x0a && c != 0x20 && c != 0x09) { - if (c == 0x3d) { /* = */ - if (pd->status == 8) { - mbfl_memory_device_output(0x20, &pd->tmpdev); /* SPACE */ - } else { - (*pd->conv1_filter->filter_function)(0x20, pd->conv1_filter); - } - mbfl_memory_device_output(c, &pd->tmpdev); - pd->status = 1; - } else { - mbfl_memory_device_output(0x20, &pd->tmpdev); - mbfl_memory_device_output(c, &pd->tmpdev); - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - mbfl_memory_device_reset(&pd->tmpdev); - pd->status = 0; - } - } - break; - default: /* non encoded block */ - if (c == 0x0d || c == 0x0a) { /* CR LF */ - pd->status = 9; - } else if (c == 0x3d) { /* = */ - mbfl_memory_device_output(c, &pd->tmpdev); - pd->status = 1; - } else { - (*pd->conv1_filter->filter_function)(c, pd->conv1_filter); - } - break; - } - - return c; + (*pd->decode_filter->filter_flush)(pd->decode_filter); + return mbfl_memory_device_result(&pd->outdev, result); } -mbfl_string * -mime_header_decoder_result(struct mime_header_decoder_data *pd, mbfl_string *result) +struct mime_header_decoder_data *mime_header_decoder_new(const mbfl_encoding *outcode) { - switch (pd->status) { - case 1: - case 2: - case 3: - case 4: - case 7: - case 8: - case 9: - mbfl_convert_filter_devcat(pd->conv1_filter, &pd->tmpdev); - break; - case 5: - case 6: - (*pd->deco_filter->filter_flush)(pd->deco_filter); - (*pd->conv1_filter->filter_flush)(pd->conv1_filter); - break; - } - (*pd->conv2_filter->filter_flush)(pd->conv2_filter); - mbfl_memory_device_reset(&pd->tmpdev); - pd->status = 0; + struct mime_header_decoder_data *pd = emalloc(sizeof(struct mime_header_decoder_data)); - return mbfl_memory_device_result(&pd->outdev, result); + mbfl_memory_device_init(&pd->outdev, 0, 0); + pd->conv2_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, outcode, mbfl_memory_device_output, 0, &pd->outdev); + pd->conv1_filter = mbfl_convert_filter_new(&mbfl_encoding_ascii, &mbfl_encoding_wchar, (output_function_t)pd->conv2_filter->filter_function, + (flush_function_t)pd->conv2_filter->filter_flush, pd->conv2_filter); + + /* decode filter; 'from' encoding may change to base64 or qprint later */ + pd->decode_filter = mbfl_convert_filter_new(&mbfl_encoding_8bit, &mbfl_encoding_8bit, (filter_output_func)pd->conv1_filter->filter_function, + (flush_function_t)pd->conv1_filter->filter_flush, pd->conv1_filter); + return pd; } -struct mime_header_decoder_data* -mime_header_decoder_new(const mbfl_encoding *outcode) +void mime_header_decoder_delete(struct mime_header_decoder_data *pd) { - struct mime_header_decoder_data *pd = emalloc(sizeof(struct mime_header_decoder_data)); + mbfl_convert_filter_delete(pd->conv2_filter); + mbfl_convert_filter_delete(pd->conv1_filter); + mbfl_convert_filter_delete(pd->decode_filter); + mbfl_memory_device_clear(&pd->outdev); + efree(pd); +} - mbfl_memory_device_init(&pd->outdev, 0, 0); - mbfl_memory_device_init(&pd->tmpdev, 0, 0); - pd->cspos = 0; - pd->status = 0; - pd->encoding = &mbfl_encoding_8bit; - pd->incode = &mbfl_encoding_ascii; - pd->outcode = outcode; - /* charset convert filter */ - pd->conv2_filter = mbfl_convert_filter_new(&mbfl_encoding_wchar, pd->outcode, mbfl_memory_device_output, 0, &pd->outdev); - pd->conv1_filter = mbfl_convert_filter_new(pd->incode, &mbfl_encoding_wchar, mbfl_filter_output_pipe, 0, pd->conv2_filter); - /* decode filter */ - pd->deco_filter = mbfl_convert_filter_new(pd->encoding, &mbfl_encoding_8bit, mbfl_filter_output_pipe, 0, pd->conv1_filter); - - if (pd->conv1_filter == NULL || pd->conv2_filter == NULL || pd->deco_filter == NULL) { - mime_header_decoder_delete(pd); +static unsigned char *mime_header_skip_whitespace(unsigned char *p, unsigned char *e) +{ + while (p < e) { + unsigned char c = *p; + if (c == '\r' || c == '\n' || c == ' ' || c == '\t') { + p++; + } else { + return p; + } + } + return p; +} + +static const mbfl_encoding *mime_identify_transfer_encoding(unsigned char c) +{ + if (c == 'B' || c == 'b') { + return &mbfl_encoding_base64; + } else if (c == 'Q' || c == 'q') { + return &mbfl_encoding_qprint; + } else { return NULL; } +} - return pd; +static void mime_prepare_filters_for_encword_contents(struct mime_header_decoder_data *pd, const mbfl_encoding *content_encoding, + const mbfl_encoding *transfer_encoding) +{ + mbfl_convert_filter_reset(pd->conv1_filter, content_encoding, &mbfl_encoding_wchar); + pd->decode_filter->output_function = (int(*)(int, void*))pd->conv1_filter->filter_function; + pd->decode_filter->flush_function = (flush_function_t)pd->conv1_filter->filter_flush; + mbfl_convert_filter_reset(pd->decode_filter, transfer_encoding, &mbfl_encoding_8bit); } -void -mime_header_decoder_delete(struct mime_header_decoder_data *pd) +static void mime_reset_filter_after_encword(struct mime_header_decoder_data *pd) { - if (pd) { - mbfl_convert_filter_delete(pd->conv2_filter); - mbfl_convert_filter_delete(pd->conv1_filter); - mbfl_convert_filter_delete(pd->deco_filter); - mbfl_memory_device_clear(&pd->outdev); - mbfl_memory_device_clear(&pd->tmpdev); - efree((void*)pd); - } + (*pd->decode_filter->filter_flush)(pd->decode_filter); + mbfl_convert_filter_reset(pd->conv1_filter, &mbfl_encoding_ascii, &mbfl_encoding_wchar); } -mbfl_string * -mbfl_mime_header_decode( - mbfl_string *string, - mbfl_string *result, - const mbfl_encoding *outcode) +#define NOT_ENCODED_WORD() do { \ + p--; \ + mbfl_convert_filter_feed_string(pd->conv1_filter, encword_start, (p - encword_start)); \ + goto mime_header_decode_feed; \ + } while(0) + +mbfl_string *mbfl_mime_header_decode(mbfl_string *string, mbfl_string *result, const mbfl_encoding *outcode) { - size_t n; - unsigned char *p; - struct mime_header_decoder_data *pd; + struct mime_header_decoder_data *pd = mime_header_decoder_new(outcode); + unsigned char *p = string->val, *e = string->val + string->len, *encword_start; + mbfl_string_init_set(result, outcode); - mbfl_string_init(result); - result->encoding = outcode; +mime_header_decode_feed: + while (p < e) { + int c = *p++; - pd = mime_header_decoder_new(outcode); - if (pd == NULL) { - return NULL; - } + if (c == '\r' || c == '\n') { /* CR LF */ + p = mime_header_skip_whitespace(p, e); + mbfl_convert_filter_feed(' ', pd->conv1_filter); /* Emit space */ + } else if (c == '=' && p < e) { + encword_start = p - 1; - /* feed data */ - n = string->len; - p = string->val; - while (n > 0) { - mime_header_decoder_collector(*p++, pd); - n--; - } + if (*p++ != '?') + NOT_ENCODED_WORD(); - result = mime_header_decoder_result(pd, result); - mime_header_decoder_delete(pd); + /* We have passed over '=?', which should be the start of a MIME 'encoded word' + * Content encoding name should follow. Run over it and see if it is an encoding we understand */ + while (p < e) { + c = *p++; - return result; -} + if (c == '?') { /* End of content encoding name */ + const mbfl_encoding *encoding = mbfl_namelen2encoding((const char*)(encword_start + 2), p - encword_start - 3); + if (encoding == NULL || p >= e) + NOT_ENCODED_WORD(); + const mbfl_encoding *transfer_encoding = mime_identify_transfer_encoding(*p++); + if (transfer_encoding == NULL || p >= e) + NOT_ENCODED_WORD(); + if (*p++ != '?') + NOT_ENCODED_WORD(); -/* - * convert HTML numeric entity - */ -struct collector_htmlnumericentity_data { - mbfl_convert_filter *decoder; - int status; - int cache; - int digit; - int *convmap; - int mapsize; -}; + mime_prepare_filters_for_encword_contents(pd, encoding, transfer_encoding); -static int -collector_encode_htmlnumericentity(int c, void *data) -{ - struct collector_htmlnumericentity_data *pc = (struct collector_htmlnumericentity_data *)data; - int f, n, s, r, d, size, *mapelm; - - size = pc->mapsize; - f = 0; - n = 0; - while (n < size) { - mapelm = &(pc->convmap[n*4]); - if (c >= mapelm[0] && c <= mapelm[1]) { - s = (c + mapelm[2]) & mapelm[3]; - if (s >= 0) { - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - r = 100000000; - s %= r; - while (r > 0) { - d = s/r; - if (d || f) { - f = 1; - s %= r; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); + while (p < e && (c = *p++) != '?') { + mbfl_convert_filter_feed(c, pd->decode_filter); } - r /= 10; - } - if (!f) { - f = 1; - (*pc->decoder->filter_function)(mbfl_hexchar_table[0], pc->decoder); + + /* Skip over whatever is presumably '='; an encoded word is terminated by '?=', and after you see '?', + * the only thing which can legally follow is '=' */ + p++; + + mime_reset_filter_after_encword(pd); + + /* Normally we emit a space after skipping a block of whitespace, but we don't want to do so here */ + p = mime_header_skip_whitespace(p, e); + break; + } else if ((p - encword_start) > 100 || c == 0x0d || c == 0x0a) { /* too long charset string or CR or LF */ + NOT_ENCODED_WORD(); } - (*pc->decoder->filter_function)(0x3b, pc->decoder); /* ';' */ } + } else { + mbfl_convert_filter_feed(c, pd->conv1_filter); /* Emit character to output */ } - if (f) { - break; - } - n++; - } - if (!f) { - (*pc->decoder->filter_function)(c, pc->decoder); } - return c; + result = mime_header_decoder_result(pd, result); + mime_header_decoder_delete(pd); + return result; } -static int -collector_decode_htmlnumericentity(int c, void *data) +mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *result, int *convmap, + int mapsize, bool hex) { - struct collector_htmlnumericentity_data *pc = (struct collector_htmlnumericentity_data *)data; - int f, n, s, r, d, size, *mapelm; + mbfl_string_init_set(result, string->encoding); + mbfl_memory_device device; + mbfl_memory_device_init(&device, string->len, 0); + mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, string->encoding, + mbfl_memory_device_output, 0, &device); - switch (pc->status) { - case 1: - if (c == 0x23) { /* '#' */ - pc->status = 2; - } else { - pc->status = 0; - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; - case 2: - if (c == 0x78) { /* 'x' */ - pc->status = 4; - } else if (c >= 0x30 && c <= 0x39) { /* '0' - '9' */ - pc->cache = c - 0x30; - pc->status = 3; - pc->digit = 1; - } else { - pc->status = 0; - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; - case 3: - s = 0; - f = 0; - if (c >= 0x30 && c <= 0x39) { /* '0' - '9' */ - s = pc->cache; - if (pc->digit > 9 || s > INT_MAX/10) { - pc->status = 0; - f = 1; - } else { - s = s*10 + (c - 0x30); - pc->cache = s; - pc->digit++; - } - } else { - pc->status = 0; - s = pc->cache; - f = 1; - n = 0; - size = pc->mapsize; - while (n < size) { - mapelm = &(pc->convmap[n*4]); - d = s - mapelm[2]; - if (d >= mapelm[0] && d <= mapelm[1]) { - f = 0; - (*pc->decoder->filter_function)(d, pc->decoder); - if (c != 0x3b) { /* ';' */ - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; + size_t len; + unsigned int *wc_buffer = convert_string_to_wchar(string, &len), *p = wc_buffer, *e = p + len; + int *convmap_end = convmap + (mapsize * 4); + unsigned char buf[16]; + +next_character: + while (p < e) { + int c = *p++; + + for (int *mapelm = convmap; mapelm < convmap_end; mapelm += 4) { + int lo_code = mapelm[0]; + int hi_code = mapelm[1]; + int offset = mapelm[2]; + int mask = mapelm[3]; + + if (c >= lo_code && c <= hi_code) { + c = (c + offset) & mask; + + if (c < 0) { + continue; /* Don't output anything, but see if another range matches */ } - n++; - } - } - if (f) { - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - r = 1; - n = pc->digit; - while (n > 1) { - r *= 10; - n--; - } - while (r > 0) { - d = s/r; - s %= r; - r /= 10; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); - } - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; - case 4: - if (c >= 0x30 && c <= 0x39) { /* '0' - '9' */ - pc->cache = c - 0x30; - pc->status = 5; - pc->digit = 1; - } else if (c >= 0x41 && c <= 0x46) { /* 'A' - 'F' */ - pc->cache = c - 0x41 + 10; - pc->status = 5; - pc->digit = 1; - } else if (c >= 0x61 && c <= 0x66) { /* 'a' - 'f' */ - pc->cache = c - 0x61 + 10; - pc->status = 5; - pc->digit = 1; - } else { - pc->status = 0; - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(0x78, pc->decoder); /* 'x' */ - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; - case 5: - s = 0; - f = 0; - if ((c >= 0x30 && c <= 0x39) || - (c >= 0x41 && c <= 0x46) || - (c >= 0x61 && c <= 0x66)) { /* '0' - '9' or 'a' - 'f' */ - if (pc->digit > 9) { - pc->status = 0; - s = pc->cache; - f = 1; - } else { - if (c >= 0x30 && c <= 0x39) { - s = pc->cache*16 + (c - 0x30); - } else if (c >= 0x41 && c <= 0x46) { - s = pc->cache*16 + (c - 0x41 + 10); + + mbfl_convert_filter_feed('&', decoder); + mbfl_convert_filter_feed('#', decoder); + + /* Convert codepoint to decimal/hex string */ + if (c == 0) { + mbfl_convert_filter_feed('0', decoder); } else { - s = pc->cache*16 + (c - 0x61 + 10); - } - pc->cache = s; - pc->digit++; - } - } else { - pc->status = 0; - s = pc->cache; - f = 1; - n = 0; - size = pc->mapsize; - while (n < size) { - mapelm = &(pc->convmap[n*4]); - d = s - mapelm[2]; - if (d >= mapelm[0] && d <= mapelm[1]) { - f = 0; - (*pc->decoder->filter_function)(d, pc->decoder); - if (c != 0x3b) { /* ';' */ - (*pc->decoder->filter_function)(c, pc->decoder); + unsigned char *converted = buf + sizeof(buf); + if (hex) { + while (c > 0) { + *(--converted) = "0123456789ABCDEF"[c & 0xF]; + c >>= 4; + } + } else { + while (c > 0) { + *(--converted) = "0123456789"[c % 10]; + c /= 10; + } } - break; + mbfl_convert_filter_feed_string(decoder, converted, buf + sizeof(buf) - converted); } - n++; - } - } - if (f) { - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(0x78, pc->decoder); /* 'x' */ - r = 1; - n = pc->digit; - while (n > 0) { - r *= 16; - n--; - } - s %= r; - r /= 16; - while (r > 0) { - d = s/r; - s %= r; - r /= 16; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); + + mbfl_convert_filter_feed(';', decoder); + goto next_character; } - (*pc->decoder->filter_function)(c, pc->decoder); - } - break; - default: - if (c == 0x26) { /* '&' */ - pc->status = 1; - } else { - (*pc->decoder->filter_function)(c, pc->decoder); } - break; + /* None of the ranges matched; pass this character through unmodified */ + mbfl_convert_filter_feed(c, decoder); } - return c; + efree(wc_buffer); + mbfl_convert_filter_flush(decoder); + mbfl_memory_device_result(&device, result); + mbfl_convert_filter_delete(decoder); + return result; } -static int -collector_encode_hex_htmlnumericentity(int c, void *data) +static int html_numeric_entity_deconvert(unsigned int number, int *convmap, int mapsize) { - struct collector_htmlnumericentity_data *pc = (struct collector_htmlnumericentity_data *)data; - int f, n, s, r, d, size, *mapelm; - - size = pc->mapsize; - f = 0; - n = 0; - while (n < size) { - mapelm = &(pc->convmap[n*4]); - if (c >= mapelm[0] && c <= mapelm[1]) { - s = (c + mapelm[2]) & mapelm[3]; - if (s >= 0) { - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(0x78, pc->decoder); /* 'x' */ - r = 0x1000000; - s %= r; - while (r > 0) { - d = s/r; - if (d || f) { - f = 1; - s %= r; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); - } - r /= 16; - } - if (!f) { - f = 1; - (*pc->decoder->filter_function)(mbfl_hexchar_table[0], pc->decoder); - } - (*pc->decoder->filter_function)(0x3b, pc->decoder); /* ';' */ - } - } - if (f) { - break; + int *convmap_end = convmap + (mapsize * 4); + + for (int *mapelm = convmap; mapelm < convmap_end; mapelm += 4) { + unsigned int lo_code = mapelm[0]; + unsigned int hi_code = mapelm[1]; + unsigned int offset = mapelm[2]; + unsigned int codepoint = number - offset; + if (codepoint >= lo_code && codepoint <= hi_code) { + return codepoint; } - n++; - } - if (!f) { - (*pc->decoder->filter_function)(c, pc->decoder); } - return c; + return -1; } -int mbfl_filt_decode_htmlnumericentity_flush(mbfl_convert_filter *filter) +mbfl_string *mbfl_html_numeric_entity_decode(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize) { - struct collector_htmlnumericentity_data *pc = (struct collector_htmlnumericentity_data *)filter; - int n, s, r, d; + mbfl_string_init_set(result, string->encoding); + mbfl_memory_device device; + mbfl_memory_device_init(&device, string->len, 0); + mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, string->encoding, + mbfl_memory_device_output, 0, &device); - if (pc->status) { - switch (pc->status) { - case 1: /* '&' */ - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - break; - case 2: /* '#' */ - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - break; - case 3: /* '0'-'9' */ - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - - s = pc->cache; - r = 1; - n = pc->digit; - while (n > 1) { - r *= 10; - n--; - } - while (r > 0) { - d = s/r; - s %= r; - r /= 10; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); - } + size_t len; + unsigned int *wc_buffer = convert_string_to_wchar(string, &len), *p = wc_buffer, *e = wc_buffer + len; - break; - case 4: /* 'x' */ - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(0x78, pc->decoder); /* 'x' */ - break; - case 5: /* '0'-'9','a'-'f' */ - (*pc->decoder->filter_function)(0x26, pc->decoder); /* '&' */ - (*pc->decoder->filter_function)(0x23, pc->decoder); /* '#' */ - (*pc->decoder->filter_function)(0x78, pc->decoder); /* 'x' */ - - s = pc->cache; - r = 1; - n = pc->digit; - while (n > 0) { - r *= 16; - n--; - } - s %= r; - r /= 16; - while (r > 0) { - d = s/r; - s %= r; - r /= 16; - (*pc->decoder->filter_function)(mbfl_hexchar_table[d], pc->decoder); - } - break; - default: - break; - } - } +continue_decoding_html_entity: + while (p < e) { + unsigned int c = *p++; - pc->status = 0; - pc->cache = 0; - pc->digit = 0; + if (c == '&' && p + 1 < e && *p == '#') { + /* OK, we have something which _might_ be an HTML numeric entity. Let's see what comes next... */ + unsigned int *entity = p - 1; /* So we can go back and output these chars if it's not a valid numeric entity */ + p++; /* skip over '#' */ + c = *p++; - return 0; -} + if (c == 'x') { + /* Start decoding hexadecimal number */ + unsigned int hex = 0, digits = 0; + while (p < e) { + c = *p++; + if (digits++ >= 10) { + goto not_valid_html_entity; + } -mbfl_string * -mbfl_html_numeric_entity( - mbfl_string *string, - mbfl_string *result, - int *convmap, - int mapsize, - int type) -{ - struct collector_htmlnumericentity_data pc; - mbfl_memory_device device; - mbfl_convert_filter *encoder; - size_t n; - unsigned char *p; + if (c >= '0' && c <= '9') { + hex = (hex * 16) + (c - '0'); + } else if (c >= 'A' && c <= 'F') { + hex = (hex * 16) + 10 + (c - 'A'); + } else if (c >= 'a' && c <= 'f') { + hex = (hex * 16) + 10 + (c - 'a'); + } else { + if (digits == 0) { + goto not_valid_html_entity; + } + + int original = html_numeric_entity_deconvert(hex, convmap, mapsize); + if (original != -1) { + mbfl_convert_filter_feed(original, decoder); + if (c != ';') { + p--; + } + goto continue_decoding_html_entity; + } else { + goto not_valid_html_entity; + } + } + } - if (string == NULL || result == NULL) { - return NULL; - } - mbfl_string_init(result); - result->encoding = string->encoding; - mbfl_memory_device_init(&device, string->len, 0); + /* Hit the end of the string while decoding a hexadecimal numeric entity */ + } else if (c >= '0' && c <= '9') { + /* Start decoding decimal number */ + unsigned int decimal = c - '0', digits = 1; + + while (p < e) { + c = *p++; + if (c >= '0' && c <= '9') { + if (digits++ >= 10) { + goto not_valid_html_entity; + } + decimal = (decimal * 10) + (c - '0'); + } else { + int original = html_numeric_entity_deconvert(decimal, convmap, mapsize); + if (original != -1) { + mbfl_convert_filter_feed(original, decoder); + if (c != ';') { + p--; + } + goto continue_decoding_html_entity; + } else { + goto not_valid_html_entity; + } + } + } - /* output code filter */ - pc.decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string->encoding, - mbfl_memory_device_output, 0, &device); - /* wchar filter */ - if (type == 0) { /* decimal output */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_encode_htmlnumericentity, 0, &pc); - } else if (type == 2) { /* hex output */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_encode_hex_htmlnumericentity, 0, &pc); - } else { /* type == 1: decimal/hex input */ - encoder = mbfl_convert_filter_new( - string->encoding, - &mbfl_encoding_wchar, - collector_decode_htmlnumericentity, - (flush_function_t)mbfl_filt_decode_htmlnumericentity_flush, &pc); - } - if (pc.decoder == NULL || encoder == NULL) { - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(pc.decoder); - return NULL; - } - pc.status = 0; - pc.cache = 0; - pc.digit = 0; - pc.convmap = convmap; - pc.mapsize = mapsize; - - /* feed data */ - p = string->val; - n = string->len; - if (p != NULL) { - while (n > 0) { - if ((*encoder->filter_function)(*p++, encoder) < 0) { - break; + /* Hit the end of the string while decoding a decimal numeric entity */ + } + +not_valid_html_entity: + /* It wasn't a valid HTML numeric entity; just pass all the characters through */ + while (entity < p) { + mbfl_convert_filter_feed(*entity++, decoder); } - n--; + } else { + /* Not an HTML numeric entity, pass it through unmodified */ + mbfl_convert_filter_feed(c, decoder); } } - mbfl_convert_filter_flush(encoder); - mbfl_convert_filter_flush(pc.decoder); - result = mbfl_memory_device_result(&device, result); - mbfl_convert_filter_delete(encoder); - mbfl_convert_filter_delete(pc.decoder); + efree(wc_buffer); + mbfl_convert_filter_flush(decoder); + mbfl_memory_device_result(&device, result); + mbfl_convert_filter_delete(decoder); return result; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 16742be96c3da..3fe40e935caf1 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -85,6 +85,7 @@ #ifndef MBFL_MBFILTER_H #define MBFL_MBFILTER_H +#include #include "zend.h" #include "mbfl_defs.h" @@ -106,6 +107,14 @@ #endif #endif +#ifndef SSIZE_MAX +#if SIZEOF_SSIZE_T == SIZEOF_LONG_LONG +#define SSIZE_MAX LLONG_MAX +#elif SIZEOF_SSIZE_T == SIZEOF_LONG +#define SSIZE_MAX LONG_MAX +#endif +#endif + /* * version information */ @@ -142,10 +151,10 @@ struct _mbfl_buffer_converter { MBFLAPI extern mbfl_buffer_converter * mbfl_buffer_converter_new(const mbfl_encoding *from, const mbfl_encoding *to, size_t buf_initsz); MBFLAPI extern void mbfl_buffer_converter_delete(mbfl_buffer_converter *convd); -MBFLAPI extern int mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode); -MBFLAPI extern int mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar); +MBFLAPI extern void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode); +MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar); MBFLAPI extern size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string); -MBFLAPI extern int mbfl_buffer_converter_flush(mbfl_buffer_converter *convd); +MBFLAPI extern void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd); MBFLAPI extern mbfl_string * mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result); MBFLAPI extern mbfl_string * mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, mbfl_string *result); MBFLAPI extern size_t mbfl_buffer_illegalchars(mbfl_buffer_converter *convd); @@ -212,7 +221,7 @@ mbfl_substr_count(mbfl_string *haystack, mbfl_string *needle); /* * If specified as length, the substr until the end of the string is taken. */ -#define MBFL_SUBSTR_UNTIL_END ((size_t) -1) +#define MBFL_SUBSTR_UNTIL_END (SSIZE_MAX) /* * substr @@ -287,7 +296,10 @@ mbfl_mime_header_decode( * convert HTML numeric entity */ MBFLAPI extern mbfl_string * -mbfl_html_numeric_entity(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize, int type); +mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize, bool hex); + +MBFLAPI extern mbfl_string * +mbfl_html_numeric_entity_decode(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize); /* * convert of harfwidth and fullwidth for japanese diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index d3a36c8c8a0fb..ecdafb6aaaefe 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -30,11 +30,6 @@ #include "libmbfl/config.h" -#ifdef HAVE_STRINGS_H - /* For strcasecmp */ - #include -#endif - #include "mbfl_encoding.h" #include "mbfilter_pass.h" #include "mbfilter_8bit.h" @@ -81,13 +76,6 @@ #include "filters/mbfilter_ucs2.h" #include "filters/mbfilter_htmlent.h" -#ifndef HAVE_STRCASECMP -#ifdef HAVE_STRICMP -#define strcasecmp stricmp -#endif -#endif - - static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_wchar, &mbfl_encoding_byte2be, @@ -177,12 +165,17 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { NULL }; -const mbfl_encoding *mbfl_name2encoding(const char *name) +static inline int compare_encoding_name(const char *encname, const char *name, size_t len) +{ + return zend_binary_strcasecmp(encname, strlen(encname), name, len) == 0; +} + +const mbfl_encoding *mbfl_namelen2encoding(const char *name, size_t len) { const mbfl_encoding **encoding; for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { - if (strcasecmp((*encoding)->name, name) == 0) { + if (compare_encoding_name((*encoding)->name, name, len)) { return *encoding; } } @@ -190,7 +183,7 @@ const mbfl_encoding *mbfl_name2encoding(const char *name) /* search MIME charset name */ for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { if ((*encoding)->mime_name) { - if (strcasecmp((*encoding)->mime_name, name) == 0) { + if (compare_encoding_name((*encoding)->mime_name, name, len)) { return *encoding; } } @@ -200,7 +193,7 @@ const mbfl_encoding *mbfl_name2encoding(const char *name) for (encoding = mbfl_encoding_ptr_list; *encoding; encoding++) { if ((*encoding)->aliases) { for (const char **alias = (*encoding)->aliases; *alias; alias++) { - if (strcasecmp(*alias, name) == 0) { + if (compare_encoding_name(*alias, name, len)) { return *encoding; } } @@ -210,6 +203,11 @@ const mbfl_encoding *mbfl_name2encoding(const char *name) return NULL; } +const mbfl_encoding *mbfl_name2encoding(const char *name) +{ + return mbfl_namelen2encoding(name, strlen(name)); +} + const mbfl_encoding *mbfl_no2encoding(enum mbfl_no_encoding no_encoding) { const mbfl_encoding **encoding; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index f945b5dd03180..f6cefeb77acf2 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -31,6 +31,7 @@ #ifndef MBFL_ENCODING_H #define MBFL_ENCODING_H +#include #include "mbfl_defs.h" enum mbfl_no_encoding { @@ -152,6 +153,7 @@ typedef struct _mbfl_encoding { const struct mbfl_convert_vtbl *output_filter; } mbfl_encoding; +MBFLAPI extern const mbfl_encoding *mbfl_namelen2encoding(const char *name, size_t len); MBFLAPI extern const mbfl_encoding *mbfl_name2encoding(const char *name); MBFLAPI extern const mbfl_encoding *mbfl_no2encoding(enum mbfl_no_encoding no_encoding); MBFLAPI extern enum mbfl_no_encoding mbfl_name2no_encoding(const char *name); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c index ab2b2fc09e64d..82ddc9caf613f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c @@ -28,15 +28,6 @@ * */ -#include "mbfl_convert.h" -#include "mbfl_filter_output.h" - -int mbfl_filter_output_pipe(int c, void* data) -{ - mbfl_convert_filter *filter = (mbfl_convert_filter*)data; - return (*filter->filter_function)(c, filter); -} - int mbfl_filter_output_null(int c, void* data) { return c; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h index d10fa76b0cf5e..ca3b5551ab3aa 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h @@ -31,7 +31,6 @@ #ifndef MBFL_FILTER_OUTPUT_H #define MBFL_FILTER_OUTPUT_H -MBFLAPI extern int mbfl_filter_output_pipe(int c, void* data); MBFLAPI extern int mbfl_filter_output_null(int c, void* data); #endif /* MBFL_FILTER_OUTPUT_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 74b01483d45b6..6c4ded29d7592 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -65,4 +65,9 @@ MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); MBFLAPI extern int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter); +static inline int mbfl_identify_filter_feed(int c, mbfl_identify_filter *filter) +{ + return (*filter->filter_function)(c, filter); +} + #endif /* MBFL_IDENT_H */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index a012aa6686918..0aafcb431d0c1 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -450,7 +450,6 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng /* do it */ size_t loc = mbfl_buffer_converter_feed(convd, &string); - mbfl_buffer_converter_flush(convd); mbfl_string_init(&result); if (!mbfl_buffer_converter_result(convd, &result)) { mbfl_buffer_converter_delete(convd); @@ -3206,7 +3205,7 @@ PHP_FUNCTION(mb_encode_numericentity) RETURN_THROWS(); } - ret = mbfl_html_numeric_entity(&string, &result, convmap, mapsize, is_hex ? 2 : 0); + ret = mbfl_html_numeric_entity_encode(&string, &result, convmap, mapsize, is_hex); ZEND_ASSERT(ret != NULL); // TODO: avoid reallocation ??? RETVAL_STRINGL((char *)ret->val, ret->len); @@ -3242,7 +3241,7 @@ PHP_FUNCTION(mb_decode_numericentity) RETURN_THROWS(); } - ret = mbfl_html_numeric_entity(&string, &result, convmap, mapsize, 1); + ret = mbfl_html_numeric_entity_decode(&string, &result, convmap, mapsize); ZEND_ASSERT(ret != NULL); // TODO: avoid reallocation ??? RETVAL_STRINGL((char *)ret->val, ret->len); diff --git a/ext/mbstring/tests/bug40685.phpt b/ext/mbstring/tests/bug40685.phpt index 9434158106cfa..7b2954b7918fa 100644 --- a/ext/mbstring/tests/bug40685.phpt +++ b/ext/mbstring/tests/bug40685.phpt @@ -20,6 +20,6 @@ string(3) "&&&" string(2) "&#" string(3) "&#x" string(4) "=" -string(5) "=" +string(5) "=" string(1) "=" string(1) "=" diff --git a/ext/mbstring/tests/mb_decode_numericentity.phpt b/ext/mbstring/tests/mb_decode_numericentity.phpt index b28a875f8a77f..4e4f26fd8d863 100644 --- a/ext/mbstring/tests/mb_decode_numericentity.phpt +++ b/ext/mbstring/tests/mb_decode_numericentity.phpt @@ -28,6 +28,14 @@ echo mb_decode_numericentity('�', $convmap), "\n"; $convmap = []; echo mb_decode_numericentity('föo', $convmap, "UTF-8")."\n"; +// Try numeric entities which follow one after other without terminating semicolons +// Web browsers do accept and decode HTML numeric entities like this! +$convmap = array(0x0, 0x2FFFF, 0, 0xFFFF); +echo mb_decode_numericentity('AB', $convmap), "\n"; +echo mb_decode_numericentity('AB', $convmap), "\n"; +echo mb_decode_numericentity('AB', $convmap), "\n"; +echo mb_decode_numericentity('AB', $convmap), "\n"; + $convmap = array(0x0, 0x2FFFF, 0); // 3 elements try { echo mb_decode_numericentity($str3, $convmap, "UTF-8")."\n"; @@ -49,4 +57,8 @@ aŒbœcŠdše€fg � � föo +AB +AB +AB +AB mb_decode_numericentity(): Argument #2 ($map) must have a multiple of 4 elements diff --git a/ext/mbstring/tests/mb_strpos.phpt b/ext/mbstring/tests/mb_strpos.phpt index 1b689ab95de9e..7eec02a7ef0eb 100644 --- a/ext/mbstring/tests/mb_strpos.phpt +++ b/ext/mbstring/tests/mb_strpos.phpt @@ -80,6 +80,12 @@ $r = mb_strpos($euc_jp, ' $r = mb_strpos($euc_jp, "\n"); ($r === FALSE) ? print "OK_NEWLINE\n" : print "NG_NEWLINE\n"; +// Some encodings can represent the _same_ character in more than one way +// Even so, mb_strpos should be able to find them! +echo "== DIFFERENT REPRESENTATIONS OF SAME CHARACTER ==\n"; +print mb_strpos("abc", "\x1B(Bb", 0, "ISO-2022-JP") . "\n"; +print mb_strpos("\x1B(Babc", "b", 0, "ISO-2022-JP") . "\n"; + ?> --EXPECT-- String len: 43 @@ -115,3 +121,6 @@ OK_NEWLINE 0 OK_STR OK_NEWLINE +== DIFFERENT REPRESENTATIONS OF SAME CHARACTER == +1 +1 diff --git a/win32/build/config.w32.h.in b/win32/build/config.w32.h.in index ce4b71282e7a0..ba0988c4ecf0d 100644 --- a/win32/build/config.w32.h.in +++ b/win32/build/config.w32.h.in @@ -94,9 +94,11 @@ #define ssize_t SSIZE_T #ifdef _WIN64 # define SIZEOF_SIZE_T 8 +# define SIZEOF_SSIZE_T 8 # define SIZEOF_PTRDIFF_T 8 #else # define SIZEOF_SIZE_T 4 +# define SIZEOF_SSIZE_T 4 # define SIZEOF_PTRDIFF_T 4 #endif #define SIZEOF_OFF_T 4 From c0eeafd705fa70c2c2927d49f9ef3f1403409191 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 17 Jul 2020 22:33:05 +0200 Subject: [PATCH 045/123] Remove useless struct: mbfl_filt_tl_jisx0201_jisx0208_param This struct contained an unused 'next_filter' field. The only field which was used was the integral 'mode'. Since only one field in the struct was used, it is better to inline it and just store the integer directly where it is needed. Further, while an instance of this struct was included in the struct mbfl_filt_conv_wchar_cp50220_ctx, it was never actually used there. It was just taking up memory for nothing. --- .../libmbfl/filters/mbfilter_cp5022x.c | 15 ++++-------- .../filters/mbfilter_tl_jisx0201_jisx0208.c | 5 ++-- .../filters/mbfilter_tl_jisx0201_jisx0208.h | 6 ----- ext/mbstring/libmbfl/mbfl/mbfilter.c | 11 ++------- ext/mbstring/libmbfl/mbfl/mbfilter.h | 6 ++--- .../tests/mb_convert_encoding_cp50220.phpt | 23 +++++++++++++++++++ 6 files changed, 36 insertions(+), 30 deletions(-) create mode 100644 ext/mbstring/tests/mb_convert_encoding_cp50220.phpt diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 798487d34284f..d60829155de2b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -32,7 +32,6 @@ #include "cp932_table.h" typedef struct _mbfl_filt_conv_wchar_cp50220_ctx { - mbfl_filt_tl_jisx0201_jisx0208_param tl_param; mbfl_convert_filter last; } mbfl_filt_conv_wchar_cp50220_ctx; @@ -579,17 +578,14 @@ mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt) mbfl_filt_conv_common_ctor(filt); ctx = emalloc(sizeof(mbfl_filt_conv_wchar_cp50220_ctx)); - ctx->tl_param.mode = MBFL_FILT_TL_HAN2ZEN_KATAKANA | MBFL_FILT_TL_HAN2ZEN_GLUE; - ctx->last = *filt; - ctx->last.opaque = ctx; ctx->last.data = filt->data; filt->filter_function = vtbl_tl_jisx0201_jisx0208.filter_function; filt->filter_flush = (filter_flush_t)vtbl_tl_jisx0201_jisx0208.filter_flush; filt->output_function = (output_function_t)ctx->last.filter_function; filt->flush_function = (flush_function_t)ctx->last.filter_flush; - filt->data = &ctx->last; - filt->opaque = ctx; + filt->data = ctx; + filt->opaque = (void*)(MBFL_FILT_TL_HAN2ZEN_KATAKANA | MBFL_FILT_TL_HAN2ZEN_GLUE); vtbl_tl_jisx0201_jisx0208.filter_ctor(filt); } @@ -600,15 +596,14 @@ mbfl_filt_conv_wchar_cp50220_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest = *src; ctx = emalloc(sizeof(mbfl_filt_conv_wchar_cp50220_ctx)); - dest->opaque = ctx; - dest->data = &ctx->last; + dest->data = ctx; } static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt) { - if (filt->opaque != NULL) { - efree(filt->opaque); + if (filt->data) { + efree(filt->data); } } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 9ab3415d15e94..9217cfe9d154a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -22,6 +22,7 @@ * */ +#include #include "mbfilter_tl_jisx0201_jisx0208.h" #include "translit_kana_jisx0201_jisx0208.h" @@ -35,7 +36,7 @@ int mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) { int s, n; - int mode = ((mbfl_filt_tl_jisx0201_jisx0208_param *)filt->opaque)->mode; + intptr_t mode = (intptr_t)filt->opaque; s = c; @@ -268,7 +269,7 @@ int mbfl_filt_tl_jisx0201_jisx0208_flush(mbfl_convert_filter *filt) { int ret, n; - int mode = ((mbfl_filt_tl_jisx0201_jisx0208_param *)filt->opaque)->mode; + intptr_t mode = (intptr_t)filt->opaque; ret = 0; if (filt->status) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index 13a3f11182a92..f97ac4591e40a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -70,12 +70,6 @@ MBFL_FILT_TL_ZEN2HAN_COMPAT1 | \ MBFL_FILT_TL_ZEN2HAN_COMPAT2) - -typedef struct _mbfl_filt_tl_jisx0201_jisx0208_param { - mbfl_convert_filter *next_filter; - int mode; -} mbfl_filt_tl_jisx0201_jisx0208_param; - extern const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208; #endif /* MBFILTER_TL_KANA_JISX0201_JISX0208_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 5f307894157c3..dab2403f0feb6 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -931,7 +931,7 @@ mbfl_string *mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_stri * to converting halfwidth to fullwidth. * However, this function can also convert in the opposite direction, or convert * hiragana to katakana and so on... all depending on the value of the `mode` argument */ -mbfl_string *mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, int mode) +mbfl_string *mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, intptr_t mode) { mbfl_memory_device device; @@ -941,13 +941,9 @@ mbfl_string *mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, int m mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, string->encoding, mbfl_memory_device_output, 0, &device); - /* TODO: should this not be part of the filter ctor?? */ - mbfl_filt_tl_jisx0201_jisx0208_param *param = emalloc(sizeof(mbfl_filt_tl_jisx0201_jisx0208_param)); - param->mode = mode; - mbfl_convert_filter *tl_filter = mbfl_convert_filter_new2(&vtbl_tl_jisx0201_jisx0208, (output_function_t)decoder->filter_function, (flush_function_t)decoder->filter_flush, decoder); - tl_filter->opaque = param; + tl_filter->opaque = (void*)mode; mbfl_convert_filter *encoder = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, (output_function_t)tl_filter->filter_function, (flush_function_t)tl_filter->filter_flush, tl_filter); @@ -956,9 +952,6 @@ mbfl_string *mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, int m mbfl_convert_filter_flush(encoder); mbfl_memory_device_result(&device, result); - if (tl_filter->opaque) { - efree(tl_filter->opaque); - } mbfl_convert_filter_delete(tl_filter); mbfl_convert_filter_delete(decoder); mbfl_convert_filter_delete(encoder); diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 3fe40e935caf1..a616243c6ded4 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -86,6 +86,7 @@ #define MBFL_MBFILTER_H #include +#include #include "zend.h" #include "mbfl_defs.h" @@ -302,9 +303,8 @@ MBFLAPI extern mbfl_string * mbfl_html_numeric_entity_decode(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize); /* - * convert of harfwidth and fullwidth for japanese + * conversion of halfwidth and fullwidth characters for Japanese */ -MBFLAPI extern mbfl_string * -mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, int mode); +MBFLAPI extern mbfl_string* mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, intptr_t mode); #endif /* MBFL_MBFILTER_H */ diff --git a/ext/mbstring/tests/mb_convert_encoding_cp50220.phpt b/ext/mbstring/tests/mb_convert_encoding_cp50220.phpt new file mode 100644 index 0000000000000..7979f96459653 --- /dev/null +++ b/ext/mbstring/tests/mb_convert_encoding_cp50220.phpt @@ -0,0 +1,23 @@ +--TEST-- +mb_convert_encoding() -- converting to and from CP50220 +--SKIPIF-- + +--INI-- +output_handler= +mbstring.language=Japanese +--FILE-- + +--EXPECT-- +Katakana U followed by voiced breath mark: 1b244225741b2842 +Converted back to UTF-8: e383b4 From 54e189f9c513e433b12972f612c7c07807ef53a9 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 17 Jul 2020 23:16:19 +0200 Subject: [PATCH 046/123] Minor code cleanup in php_unicode.h Add comments, make indentation consistent, remove a tiny bit of unneeded code. --- ext/mbstring/php_unicode.c | 87 ++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 50 deletions(-) diff --git a/ext/mbstring/php_unicode.c b/ext/mbstring/php_unicode.c index d0cf9f55e538f..81d1b309943cf 100644 --- a/ext/mbstring/php_unicode.c +++ b/ext/mbstring/php_unicode.c @@ -13,19 +13,19 @@ | Author: Wez Furlong (wez@thebrainroom.com) | +----------------------------------------------------------------------+ - Based on code from ucdata-2.5, which has the following Copyright: + Based on code from ucdata-2.5, which has the following Copyright: - Copyright 2001 Computing Research Labs, New Mexico State University + Copyright 2001 Computing Research Labs, New Mexico State University - Permission is hereby granted, free of charge, to any person obtaining a - copy of this software and associated documentation files (the "Software"), - to deal in the Software without restriction, including without limitation - the rights to use, copy, modify, merge, publish, distribute, sublicense, - and/or sell copies of the Software, and to permit persons to whom the - Software is furnished to do so, subject to the following conditions: + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. */ #include "php.h" @@ -104,18 +104,19 @@ MBSTRING_API int php_unicode_is_prop(unsigned long code, ...) return result; } -static inline unsigned mph_hash(unsigned d, unsigned x) { - x ^= d; - x = ((x >> 16) ^ x) * 0x45d9f3b; - return x; +/* Minimal Perfect Hash function for character substitution tables + * (uppercase, lowercase, titlecase, etc) */ +static inline unsigned mph_hash(unsigned d, unsigned x) +{ + x ^= d; + x = ((x >> 16) ^ x) * 0x45d9f3b; + return x; } #define CODE_NOT_FOUND ((unsigned) -1) -static inline unsigned mph_lookup( - unsigned code, - const short *g_table, unsigned g_table_size, - const unsigned *table, unsigned table_size) +static inline unsigned mph_lookup(unsigned code, const short *g_table, unsigned g_table_size, + const unsigned *table, unsigned table_size) { short g = g_table[mph_hash(0, code) % g_table_size]; @@ -170,6 +171,10 @@ static unsigned php_unicode_tolower_raw(unsigned code, enum mbfl_no_encoding enc } else { unsigned new_code = CASE_LOOKUP(code, lower); if (new_code != CODE_NOT_FOUND) { + /* If we are using Latin-5 encoding (for Turkish), and the character + * being folded is a capital I with a dot, rather than converting it + * to a small i followed by a "combining dot above" character, just + * emit the small i by itself */ if (UNEXPECTED(enc == mbfl_no_encoding_8859_9 && code == 0x130)) { return 0x69; } @@ -220,6 +225,7 @@ static inline unsigned php_unicode_tolower_simple(unsigned code, enum mbfl_no_en } return code; } + static inline unsigned php_unicode_toupper_simple(unsigned code, enum mbfl_no_encoding enc) { code = php_unicode_toupper_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { @@ -227,6 +233,7 @@ static inline unsigned php_unicode_toupper_simple(unsigned code, enum mbfl_no_en } return code; } + static inline unsigned php_unicode_totitle_simple(unsigned code, enum mbfl_no_encoding enc) { code = php_unicode_totitle_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { @@ -234,6 +241,7 @@ static inline unsigned php_unicode_totitle_simple(unsigned code, enum mbfl_no_en } return code; } + static inline unsigned php_unicode_tofold_simple(unsigned code, enum mbfl_no_encoding enc) { code = php_unicode_tofold_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { @@ -242,8 +250,7 @@ static inline unsigned php_unicode_tofold_simple(unsigned code, enum mbfl_no_enc return code; } -static inline void php_unicode_tolower_full(unsigned code, enum mbfl_no_encoding enc, - mbfl_convert_filter* next_filter) { +static inline void php_unicode_tolower_full(unsigned code, enum mbfl_no_encoding enc, mbfl_convert_filter* next_filter) { code = php_unicode_tolower_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { unsigned len = code >> 24; @@ -256,8 +263,7 @@ static inline void php_unicode_tolower_full(unsigned code, enum mbfl_no_encoding } } -static inline void php_unicode_toupper_full(unsigned code, enum mbfl_no_encoding enc, - mbfl_convert_filter* next_filter) { +static inline void php_unicode_toupper_full(unsigned code, enum mbfl_no_encoding enc, mbfl_convert_filter* next_filter) { code = php_unicode_toupper_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { unsigned len = code >> 24; @@ -270,8 +276,7 @@ static inline void php_unicode_toupper_full(unsigned code, enum mbfl_no_encoding } } -static inline void php_unicode_totitle_full(unsigned code, enum mbfl_no_encoding enc, - mbfl_convert_filter* next_filter) { +static inline void php_unicode_totitle_full(unsigned code, enum mbfl_no_encoding enc, mbfl_convert_filter* next_filter) { code = php_unicode_totitle_raw(code, enc); if (UNEXPECTED(code > 0xffffff)) { unsigned len = code >> 24; @@ -312,7 +317,7 @@ static int convert_case_filter(int c, void *void_data) /* Handle invalid characters early, as we assign special meaning to * codepoints above 0xffffff. */ - if (UNEXPECTED((unsigned) c > 0xffffff)) { + if (UNEXPECTED((unsigned)c > 0xffffff)) { (*data->next_filter->filter_function)(c, data->next_filter); return 0; } @@ -374,29 +379,25 @@ static int convert_case_filter(int c, void *void_data) return 0; } -MBSTRING_API char *php_unicode_convert_case( - int case_mode, const char *srcstr, size_t srclen, size_t *ret_len, - const mbfl_encoding *src_encoding, int illegal_mode, int illegal_substchar) +MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, size_t srclen, + size_t *ret_len, const mbfl_encoding *src_encoding, int illegal_mode, int illegal_substchar) { struct convert_case_data data; mbfl_convert_filter *from_wchar, *to_wchar; - mbfl_string result, *result_ptr; + mbfl_string result; mbfl_memory_device device; mbfl_memory_device_init(&device, srclen + 1, 0); /* encoding -> wchar filter */ - to_wchar = mbfl_convert_filter_new(src_encoding, - &mbfl_encoding_wchar, convert_case_filter, NULL, &data); + to_wchar = mbfl_convert_filter_new(src_encoding, &mbfl_encoding_wchar, convert_case_filter, NULL, &data); if (to_wchar == NULL) { mbfl_memory_device_clear(&device); return NULL; } /* wchar -> encoding filter */ - from_wchar = mbfl_convert_filter_new( - &mbfl_encoding_wchar, src_encoding, - mbfl_memory_device_output, NULL, &device); + from_wchar = mbfl_convert_filter_new(&mbfl_encoding_wchar, src_encoding, mbfl_memory_device_output, NULL, &device); if (from_wchar == NULL) { mbfl_convert_filter_delete(to_wchar); mbfl_memory_device_clear(&device); @@ -413,28 +414,14 @@ MBSTRING_API char *php_unicode_convert_case( data.case_mode = case_mode; data.title_mode = 0; - { - /* feed data */ - const unsigned char *p = (const unsigned char *) srcstr; - size_t n = srclen; - while (n > 0) { - if ((*to_wchar->filter_function)(*p++, to_wchar) < 0) { - break; - } - n--; - } - } + mbfl_convert_filter_feed_string(to_wchar, (unsigned char*)srcstr, srclen); mbfl_convert_filter_flush(to_wchar); mbfl_convert_filter_flush(from_wchar); - result_ptr = mbfl_memory_device_result(&device, &result); + mbfl_memory_device_result(&device, &result); mbfl_convert_filter_delete(to_wchar); mbfl_convert_filter_delete(from_wchar); - if (!result_ptr) { - return NULL; - } - *ret_len = result.len; return (char *) result.val; } From 35a2cecaa2010c5948fe6b92754ae96387e77aff Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 23 Jul 2020 22:01:23 +0200 Subject: [PATCH 047/123] Remove unneeded function mbfl_convert_filter_copy from mbstring This was only used when encoding MIME headers, but now that the code for MIME header encoding has been refactored, it is not used anywhere. --- ext/mbstring/libmbfl/filters/mbfilter_7bit.c | 6 +-- .../libmbfl/filters/mbfilter_base64.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 12 ++---- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 12 ++---- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 12 ++---- .../libmbfl/filters/mbfilter_cp5022x.c | 41 +++++-------------- .../libmbfl/filters/mbfilter_cp51932.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 6 +-- .../libmbfl/filters/mbfilter_euc_cn.c | 6 +-- .../libmbfl/filters/mbfilter_euc_jp.c | 6 +-- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 4 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 6 +-- .../libmbfl/filters/mbfilter_euc_kr.c | 6 +-- .../libmbfl/filters/mbfilter_euc_tw.c | 6 +-- .../libmbfl/filters/mbfilter_gb18030.c | 6 +-- .../libmbfl/filters/mbfilter_htmlent.c | 13 +----- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022_kr.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 6 +-- .../filters/mbfilter_iso2022jp_mobile.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 12 ++---- .../libmbfl/filters/mbfilter_qprint.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 6 +-- .../libmbfl/filters/mbfilter_sjis_2004.c | 6 +-- .../libmbfl/filters/mbfilter_sjis_mac.c | 6 +-- .../libmbfl/filters/mbfilter_sjis_mobile.c | 18 +++----- .../libmbfl/filters/mbfilter_sjis_open.c | 6 +-- .../filters/mbfilter_tl_jisx0201_jisx0208.c | 3 +- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 18 +++----- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 18 +++----- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 12 ++---- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 18 +++----- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 6 +-- .../libmbfl/filters/mbfilter_utf7imap.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 6 +-- .../libmbfl/filters/mbfilter_utf8_mobile.c | 24 ++++------- .../libmbfl/filters/mbfilter_uuencode.c | 3 +- ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c | 6 +-- ext/mbstring/libmbfl/mbfl/mbfilter_pass.c | 3 +- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 11 ----- ext/mbstring/libmbfl/mbfl/mbfl_convert.h | 2 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 1 - 45 files changed, 119 insertions(+), 274 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 331dc8e743cf5..6064144106e2f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -56,8 +56,7 @@ const struct mbfl_convert_vtbl vtbl_8bit_7bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_any_7bit, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_7bit_8bit = { @@ -66,8 +65,7 @@ const struct mbfl_convert_vtbl vtbl_7bit_8bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_7bit_any, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 050a38104ea13..9812a5eac22af 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -56,8 +56,7 @@ const struct mbfl_convert_vtbl vtbl_8bit_b64 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_base64enc, - mbfl_filt_conv_base64enc_flush, - NULL, + mbfl_filt_conv_base64enc_flush }; const struct mbfl_convert_vtbl vtbl_b64_8bit = { @@ -66,8 +65,7 @@ const struct mbfl_convert_vtbl vtbl_b64_8bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_base64dec, - mbfl_filt_conv_base64dec_flush, - NULL, + mbfl_filt_conv_base64dec_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index 95c75a37e34c1..a5a5a68fe4740 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -95,8 +95,7 @@ const struct mbfl_convert_vtbl vtbl_big5_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_big5_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_big5 = { @@ -105,8 +104,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_big5 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_big5, - mbfl_filt_conv_common_flush, - NULL + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_cp950_wchar = { @@ -115,8 +113,7 @@ const struct mbfl_convert_vtbl vtbl_cp950_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_big5_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp950 = { @@ -125,8 +122,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp950 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_big5, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 66ba4e27f564b..d375705a551f4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -73,8 +73,7 @@ const struct mbfl_convert_vtbl vtbl_byte2be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_byte2be_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_byte2be = { @@ -83,8 +82,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte2be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_byte2be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_byte2le_wchar = { @@ -93,8 +91,7 @@ const struct mbfl_convert_vtbl vtbl_byte2le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_byte2le_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_byte2le = { @@ -103,8 +100,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte2le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_byte2le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index b2d6c835a4466..0bac065c6e8c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -73,8 +73,7 @@ const struct mbfl_convert_vtbl vtbl_byte4be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_byte4be_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_byte4be = { @@ -83,8 +82,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte4be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_byte4be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_byte4le_wchar = { @@ -93,8 +91,7 @@ const struct mbfl_convert_vtbl vtbl_byte4le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_byte4le_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_byte4le = { @@ -103,8 +100,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte4le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_byte4le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index d60829155de2b..5d399af71877c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -41,7 +41,6 @@ static int mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); -static void mbfl_filt_conv_wchar_cp50220_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest); const mbfl_encoding mbfl_encoding_jis_ms = { mbfl_no_encoding_jis_ms, @@ -134,8 +133,7 @@ const struct mbfl_convert_vtbl vtbl_jis_ms_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_jis_ms = { @@ -144,8 +142,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_jis_ms = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis_ms, - mbfl_filt_conv_any_jis_flush, - NULL, + mbfl_filt_conv_any_jis_flush }; const struct mbfl_convert_vtbl vtbl_cp50220_wchar = { @@ -154,8 +151,7 @@ const struct mbfl_convert_vtbl vtbl_cp50220_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp50220 = { @@ -164,8 +160,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50220 = { mbfl_filt_conv_wchar_cp50220_ctor, mbfl_filt_conv_wchar_cp50220_dtor, mbfl_filt_conv_wchar_cp50221, - mbfl_filt_conv_any_jis_flush, - mbfl_filt_conv_wchar_cp50220_copy + mbfl_filt_conv_any_jis_flush }; const struct mbfl_convert_vtbl vtbl_cp50220raw_wchar = { @@ -174,8 +169,7 @@ const struct mbfl_convert_vtbl vtbl_cp50220raw_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp50220raw = { @@ -184,8 +178,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50220raw = { mbfl_filt_conv_wchar_cp50220_ctor, mbfl_filt_conv_wchar_cp50220_dtor, mbfl_filt_conv_wchar_cp50220raw, - mbfl_filt_conv_any_jis_flush, - mbfl_filt_conv_wchar_cp50220_copy + mbfl_filt_conv_any_jis_flush }; const struct mbfl_convert_vtbl vtbl_cp50221_wchar = { @@ -194,8 +187,7 @@ const struct mbfl_convert_vtbl vtbl_cp50221_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp50221 = { @@ -204,8 +196,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50221 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_cp50221, - mbfl_filt_conv_any_jis_flush, - NULL, + mbfl_filt_conv_any_jis_flush }; const struct mbfl_convert_vtbl vtbl_cp50222_wchar = { @@ -214,8 +205,7 @@ const struct mbfl_convert_vtbl vtbl_cp50222_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp50222 = { @@ -224,8 +214,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50222 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_cp50222, - mbfl_filt_conv_wchar_cp50222_flush, - NULL, + mbfl_filt_conv_wchar_cp50222_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) @@ -589,16 +578,6 @@ mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt) vtbl_tl_jisx0201_jisx0208.filter_ctor(filt); } -static void -mbfl_filt_conv_wchar_cp50220_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest) -{ - mbfl_filt_conv_wchar_cp50220_ctx *ctx; - - *dest = *src; - ctx = emalloc(sizeof(mbfl_filt_conv_wchar_cp50220_ctx)); - dest->data = ctx; -} - static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 9b893bc6388d7..3bda4d82003f6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -81,8 +81,7 @@ const struct mbfl_convert_vtbl vtbl_cp51932_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_cp51932_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { @@ -91,8 +90,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_cp51932, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 511d8644651a0..faa28de5366f5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -79,8 +79,7 @@ const struct mbfl_convert_vtbl vtbl_cp932_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_cp932_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { @@ -89,8 +88,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_cp932, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index d73954267fe72..40d87b9ddc21b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -78,8 +78,7 @@ const struct mbfl_convert_vtbl vtbl_cp936_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_cp936_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp936 = { @@ -88,8 +87,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp936 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_cp936, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index 0a7edaa927196..850f3236161ce 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -78,8 +78,7 @@ const struct mbfl_convert_vtbl vtbl_euccn_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_euccn_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_euccn = { @@ -88,8 +87,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_euccn = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_euccn, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 5d637e830219b..2aa82b75fbd75 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -79,8 +79,7 @@ const struct mbfl_convert_vtbl vtbl_eucjp_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_eucjp_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_eucjp = { @@ -89,8 +88,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjp = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_eucjp, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index d5e2702ff1fb3..dd9f8c424ed79 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -59,8 +59,7 @@ const struct mbfl_convert_vtbl vtbl_eucjp2004_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis2004_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_eucjp2004 = { @@ -70,5 +69,4 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjp2004 = { NULL, mbfl_filt_conv_wchar_jis2004, mbfl_filt_conv_wchar_jis2004_flush, - NULL, }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index 7c1aebdea5bcb..b5e5856e80f3b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -82,8 +82,7 @@ const struct mbfl_convert_vtbl vtbl_eucjpwin_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_eucjpwin_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { @@ -92,8 +91,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_eucjpwin, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index 0c44a99860131..b86d1e49b161d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -77,8 +77,7 @@ const struct mbfl_convert_vtbl vtbl_euckr_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_euckr_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_euckr = { @@ -87,8 +86,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_euckr = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_euckr, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 74bca29d47e8b..5f6173bdd74dc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -79,8 +79,7 @@ const struct mbfl_convert_vtbl vtbl_euctw_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_euctw_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_euctw = { @@ -89,8 +88,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_euctw = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_euctw, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index ec6e3973a53d5..861a0549667fb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -60,8 +60,7 @@ const struct mbfl_convert_vtbl vtbl_gb18030_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_gb18030_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_gb18030 = { @@ -70,8 +69,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_gb18030 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_gb18030, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 17d7d54a746de..42a1d65c1c974 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -77,8 +77,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_html = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_html_enc, - mbfl_filt_conv_html_enc_flush, - NULL, + mbfl_filt_conv_html_enc_flush }; const struct mbfl_convert_vtbl vtbl_html_wchar = { @@ -87,8 +86,7 @@ const struct mbfl_convert_vtbl vtbl_html_wchar = { mbfl_filt_conv_html_dec_ctor, mbfl_filt_conv_html_dec_dtor, mbfl_filt_conv_html_dec, - mbfl_filt_conv_html_dec_flush, - mbfl_filt_conv_html_dec_copy, + mbfl_filt_conv_html_dec_flush }; @@ -309,10 +307,3 @@ int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) return err; } - -void mbfl_filt_conv_html_dec_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest) -{ - *dest = *src; - dest->opaque = emalloc(html_enc_buffer_size+1); - memcpy(dest->opaque, src->opaque, html_enc_buffer_size+1); -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index ceac85816cf09..ebcc61f984e8d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -57,8 +57,7 @@ const struct mbfl_convert_vtbl vtbl_hz_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_hz_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_hz = { @@ -67,8 +66,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_hz = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_hz, - mbfl_filt_conv_any_hz_flush, - NULL, + mbfl_filt_conv_any_hz_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 32f4072ce2dea..ef9c2c0286fee 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -61,8 +61,7 @@ const struct mbfl_convert_vtbl vtbl_2022jpms_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_2022jpms_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_2022jpms = { @@ -71,8 +70,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jpms = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_2022jpms, - mbfl_filt_conv_any_2022jpms_flush, - NULL, + mbfl_filt_conv_any_2022jpms_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 8df1d6f9b5603..2f31801846dca 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -56,8 +56,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022kr = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_2022kr, - mbfl_filt_conv_any_2022kr_flush, - NULL, + mbfl_filt_conv_any_2022kr_flush }; const struct mbfl_convert_vtbl vtbl_2022kr_wchar = { @@ -66,8 +65,7 @@ const struct mbfl_convert_vtbl vtbl_2022kr_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_2022kr_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index 2cea3de64f060..af9782523cb71 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -60,8 +60,7 @@ const struct mbfl_convert_vtbl vtbl_2022jp_2004_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis2004_wchar, - mbfl_filt_conv_jis2004_wchar_flush, - NULL, + mbfl_filt_conv_jis2004_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { @@ -70,8 +69,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis2004, - mbfl_filt_conv_wchar_jis2004_flush, - NULL, + mbfl_filt_conv_wchar_jis2004_flush }; static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 00f0ddeda84e5..ffd2191399594 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -63,8 +63,7 @@ const struct mbfl_convert_vtbl vtbl_2022jp_kddi_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_2022jp_mobile_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { @@ -73,8 +72,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_2022jp_mobile, - mbfl_filt_conv_any_jis_flush, - NULL, + mbfl_filt_conv_any_jis_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 46d6cb29b6e46..a8f804c83c2d1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -76,8 +76,7 @@ const struct mbfl_convert_vtbl vtbl_jis_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_jis = { @@ -86,8 +85,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_jis = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis, - mbfl_filt_conv_any_jis_flush, - NULL, + mbfl_filt_conv_any_jis_flush }; const struct mbfl_convert_vtbl vtbl_2022jp_wchar = { @@ -96,8 +94,7 @@ const struct mbfl_convert_vtbl vtbl_2022jp_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_2022jp = { @@ -106,8 +103,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_2022jp, - mbfl_filt_conv_any_jis_flush, - NULL, + mbfl_filt_conv_any_jis_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index b54d0fc14cc8c..65238d5fd2efd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -57,8 +57,7 @@ const struct mbfl_convert_vtbl vtbl_8bit_qprint = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_qprintenc, - mbfl_filt_conv_qprintenc_flush, - NULL, + mbfl_filt_conv_qprintenc_flush }; const struct mbfl_convert_vtbl vtbl_qprint_8bit = { @@ -67,8 +66,7 @@ const struct mbfl_convert_vtbl vtbl_qprint_8bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_qprintdec, - mbfl_filt_conv_qprintdec_flush, - NULL, + mbfl_filt_conv_qprintdec_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index f4871981433f2..334fcf74c3ad6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -83,8 +83,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_wchar, - mbfl_filt_conv_sjis_wchar_flush, - NULL + mbfl_filt_conv_sjis_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis = { @@ -93,8 +92,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis, - mbfl_filt_conv_common_flush, - NULL + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index b78f7b7b83b93..b3a6c2764bb96 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -67,8 +67,7 @@ const struct mbfl_convert_vtbl vtbl_sjis2004_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_jis2004_wchar, - mbfl_filt_conv_jis2004_wchar_flush, - NULL, + mbfl_filt_conv_jis2004_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis2004 = { @@ -77,8 +76,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis2004 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_jis2004, - mbfl_filt_conv_wchar_jis2004_flush, - NULL, + mbfl_filt_conv_wchar_jis2004_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 9a4be0f87a2c9..f96773d5edf9a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -68,8 +68,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mac_wchar, - mbfl_filt_conv_sjis_mac_wchar_flush, - NULL, + mbfl_filt_conv_sjis_mac_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { @@ -78,8 +77,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_mac, - mbfl_filt_conv_wchar_sjis_mac_flush, - NULL, + mbfl_filt_conv_wchar_sjis_mac_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index d5015a92a8f52..0a7dec135e41e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -100,8 +100,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_docomo_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo = { @@ -110,8 +109,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, + mbfl_filt_conv_sjis_mobile_flush }; const struct mbfl_convert_vtbl vtbl_sjis_kddi_wchar = { @@ -120,8 +118,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_kddi_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi = { @@ -130,8 +127,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, + mbfl_filt_conv_sjis_mobile_flush }; const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar = { @@ -140,8 +136,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { @@ -150,8 +145,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_sjis_mobile_flush, - NULL, + mbfl_filt_conv_sjis_mobile_flush }; static const char nflags_s[10][2] = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index b3ec28740bbc0..34317462448af 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -79,8 +79,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_open_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_open_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_open = { @@ -89,8 +88,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_open = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_sjis_open, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 9217cfe9d154a..19a96c3fad448 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -295,6 +295,5 @@ const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208 = { mbfl_filt_tl_jisx0201_jisx0208_init, NULL, mbfl_filt_tl_jisx0201_jisx0208, - mbfl_filt_tl_jisx0201_jisx0208_flush, - NULL, + mbfl_filt_tl_jisx0201_jisx0208_flush }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 31071dee02ce7..3a449eea5e120 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -92,8 +92,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2_wchar, - mbfl_filt_conv_ucs2_wchar_flush, - NULL, + mbfl_filt_conv_ucs2_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs2 = { @@ -102,8 +101,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs2 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs2be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { @@ -112,8 +110,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2be_wchar, - mbfl_filt_conv_ucs2_wchar_flush, - NULL, + mbfl_filt_conv_ucs2_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs2be = { @@ -122,8 +119,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs2be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs2be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { @@ -132,8 +128,7 @@ const struct mbfl_convert_vtbl vtbl_ucs2le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs2le_wchar, - mbfl_filt_conv_ucs2_wchar_flush, - NULL, + mbfl_filt_conv_ucs2_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { @@ -142,8 +137,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs2le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 461bc4b9b4cc7..3b0dfb104c179 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -94,8 +94,7 @@ const struct mbfl_convert_vtbl vtbl_ucs4_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4_wchar, - mbfl_filt_conv_ucs4_wchar_flush, - NULL, + mbfl_filt_conv_ucs4_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs4 = { @@ -104,8 +103,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs4 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs4be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { @@ -114,8 +112,7 @@ const struct mbfl_convert_vtbl vtbl_ucs4be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4be_wchar, - mbfl_filt_conv_ucs4_wchar_flush, - NULL, + mbfl_filt_conv_ucs4_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs4be = { @@ -124,8 +121,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs4be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs4be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { @@ -134,8 +130,7 @@ const struct mbfl_convert_vtbl vtbl_ucs4le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_ucs4le_wchar, - mbfl_filt_conv_ucs4_wchar_flush, - NULL, + mbfl_filt_conv_ucs4_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { @@ -144,8 +139,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_ucs4le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index c86612bac2d51..a194e74bf3745 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -78,8 +78,7 @@ const struct mbfl_convert_vtbl vtbl_uhc_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_uhc_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_uhc = { @@ -88,8 +87,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_uhc = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_uhc, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index c23a43269516e..f5b7eb49fd8b9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -95,7 +95,6 @@ const struct mbfl_convert_vtbl vtbl_utf16_wchar = { NULL, mbfl_filt_conv_utf16_wchar, mbfl_filt_conv_utf16_wchar_flush, - NULL, }; const struct mbfl_convert_vtbl vtbl_wchar_utf16 = { @@ -104,8 +103,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf16 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf16be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf16be_wchar = { @@ -115,7 +113,6 @@ const struct mbfl_convert_vtbl vtbl_utf16be_wchar = { NULL, mbfl_filt_conv_utf16be_wchar, mbfl_filt_conv_utf16_wchar_flush, - NULL, }; const struct mbfl_convert_vtbl vtbl_wchar_utf16be = { @@ -124,8 +121,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf16be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf16be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf16le_wchar = { @@ -135,7 +131,6 @@ const struct mbfl_convert_vtbl vtbl_utf16le_wchar = { NULL, mbfl_filt_conv_utf16le_wchar, mbfl_filt_conv_utf16_wchar_flush, - NULL, }; const struct mbfl_convert_vtbl vtbl_wchar_utf16le = { @@ -144,8 +139,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf16le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf16le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index aeee352fff7b0..ae9d0e26b1ff0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -94,8 +94,7 @@ const struct mbfl_convert_vtbl vtbl_utf32_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf32_wchar, - mbfl_filt_conv_utf32_wchar_flush, - NULL, + mbfl_filt_conv_utf32_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf32 = { @@ -104,8 +103,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf32 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf32be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf32be_wchar = { @@ -114,8 +112,7 @@ const struct mbfl_convert_vtbl vtbl_utf32be_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf32be_wchar, - mbfl_filt_conv_utf32_wchar_flush, - NULL, + mbfl_filt_conv_utf32_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf32be = { @@ -124,8 +121,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf32be = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf32be, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf32le_wchar = { @@ -134,8 +130,7 @@ const struct mbfl_convert_vtbl vtbl_utf32le_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf32le_wchar, - mbfl_filt_conv_utf32_wchar_flush, - NULL, + mbfl_filt_conv_utf32_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf32le = { @@ -144,8 +139,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf32le = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf32le, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 2b8547e378c2c..8a2a7bd13fb90 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -71,8 +71,7 @@ const struct mbfl_convert_vtbl vtbl_utf7_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf7_wchar, - mbfl_filt_conv_utf7_wchar_flush, - NULL, + mbfl_filt_conv_utf7_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf7 = { @@ -81,8 +80,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf7 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf7, - mbfl_filt_conv_wchar_utf7_flush, - NULL, + mbfl_filt_conv_wchar_utf7_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index df690f8599756..8582265296532 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -105,8 +105,7 @@ const struct mbfl_convert_vtbl vtbl_utf7imap_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf7imap_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { @@ -115,8 +114,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf7imap, - mbfl_filt_conv_wchar_utf7imap_flush, - NULL, + mbfl_filt_conv_wchar_utf7imap_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 3b7a76de475e7..80fa3d0afc7f4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -76,8 +76,7 @@ const struct mbfl_convert_vtbl vtbl_utf8_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf8_wchar, - mbfl_filt_conv_utf8_wchar_flush, - NULL, + mbfl_filt_conv_utf8_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf8 = { @@ -86,8 +85,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8 = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf8, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index 8f50d227817b9..341485888496f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -116,8 +116,7 @@ const struct mbfl_convert_vtbl vtbl_utf8_docomo_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf8_mobile_wchar, - mbfl_filt_conv_utf8_wchar_flush, - NULL, + mbfl_filt_conv_utf8_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf8_docomo = { @@ -126,8 +125,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_docomo = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf8_mobile, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf8_kddi_a_wchar = { @@ -136,8 +134,7 @@ const struct mbfl_convert_vtbl vtbl_utf8_kddi_a_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf8_mobile_wchar, - mbfl_filt_conv_utf8_wchar_flush, - NULL, + mbfl_filt_conv_utf8_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf8_kddi_a = { @@ -146,8 +143,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_kddi_a = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf8_mobile, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf8_kddi_b_wchar = { @@ -156,8 +152,7 @@ const struct mbfl_convert_vtbl vtbl_utf8_kddi_b_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf8_mobile_wchar, - mbfl_filt_conv_utf8_wchar_flush, - NULL, + mbfl_filt_conv_utf8_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf8_kddi_b = { @@ -166,8 +161,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_kddi_b = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf8_mobile, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_utf8_sb_wchar = { @@ -176,8 +170,7 @@ const struct mbfl_convert_vtbl vtbl_utf8_sb_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_utf8_mobile_wchar, - mbfl_filt_conv_utf8_wchar_flush, - NULL, + mbfl_filt_conv_utf8_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb = { @@ -186,8 +179,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_utf8_mobile, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c index 8daec577dc096..80fd3b9aeec8a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c @@ -54,8 +54,7 @@ const struct mbfl_convert_vtbl vtbl_uuencode_8bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_uudec, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c index 41081aa883dae..c45bab4a2760b 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c @@ -62,8 +62,7 @@ const struct mbfl_convert_vtbl vtbl_8bit_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_8bit_wchar, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; const struct mbfl_convert_vtbl vtbl_wchar_8bit = { @@ -72,8 +71,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_8bit = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_8bit, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c index e43f746ecca45..ac7ff9b2137fa 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c @@ -51,8 +51,7 @@ const struct mbfl_convert_vtbl vtbl_pass = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_pass, - mbfl_filt_conv_common_flush, - NULL, + mbfl_filt_conv_common_flush }; int mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index d39ac9b5e09bd..e01dbd299d865 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -116,7 +116,6 @@ static void mbfl_convert_filter_common_init(mbfl_convert_filter *filter, const m filter->filter_dtor = vtbl->filter_dtor; filter->filter_function = vtbl->filter_function; filter->filter_flush = (filter_flush_t)vtbl->filter_flush; - filter->filter_copy = vtbl->filter_copy; (*filter->filter_ctor)(filter); } @@ -193,16 +192,6 @@ void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding filter->output_function, filter->flush_function, filter->data); } -void mbfl_convert_filter_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest) -{ - if (src->filter_copy != NULL) { - src->filter_copy(src, dest); - return; - } - - *dest = *src; -} - void mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src) { mbfl_convert_filter_feed_string(filter, src->buffer, src->pos); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h index 771c38e3dfc18..05f683698619c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h @@ -47,7 +47,6 @@ typedef int (*flush_function_t)(void *); struct _mbfl_convert_filter { void (*filter_ctor)(mbfl_convert_filter *filter); void (*filter_dtor)(mbfl_convert_filter *filter); - void (*filter_copy)(mbfl_convert_filter *src, mbfl_convert_filter *dest); int (*filter_function)(int c, mbfl_convert_filter *filter); filter_flush_t filter_flush; output_function_t output_function; @@ -72,7 +71,6 @@ MBFLAPI extern int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter); MBFLAPI extern unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len); MBFLAPI extern int mbfl_convert_filter_flush(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to); -MBFLAPI extern void mbfl_convert_filter_copy(mbfl_convert_filter *src, mbfl_convert_filter *dist); MBFLAPI extern int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter); MBFLAPI extern const struct mbfl_convert_vtbl * mbfl_convert_filter_get_vtbl(const mbfl_encoding *from, const mbfl_encoding *to); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index f6cefeb77acf2..d49326201106f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -136,7 +136,6 @@ struct mbfl_convert_vtbl { void (*filter_dtor)(struct _mbfl_convert_filter *filter); int (*filter_function)(int c, struct _mbfl_convert_filter *filter); int (*filter_flush)(struct _mbfl_convert_filter *filter); - void (*filter_copy)(struct _mbfl_convert_filter *src, struct _mbfl_convert_filter *dest); }; /* From 163815a57873db9bbaf5fb063a6f4b13957d9204 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 26 Jul 2020 21:17:27 +0200 Subject: [PATCH 048/123] Optimize mbstring upper/lowercasing: use fast path in more cases The 'fast path' in the uppercase/lowercase functions for Unicode text can be used for a slightly greater range of characters. This is not expected to have a big impact on performance, since the number of characters which will use the 'fast path' is only increased by about 50-60, and these are not very commonly used characters... but still, it doesn't cost anything. --- ext/mbstring/php_unicode.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/php_unicode.c b/ext/mbstring/php_unicode.c index 81d1b309943cf..9ddef23aa16a6 100644 --- a/ext/mbstring/php_unicode.c +++ b/ext/mbstring/php_unicode.c @@ -139,7 +139,9 @@ static inline unsigned mph_lookup(unsigned code, const short *g_table, unsigned static unsigned php_unicode_toupper_raw(unsigned code, enum mbfl_no_encoding enc) { - if (code < 0x80) { + /* After the ASCII characters, the first codepoint with an uppercase version + * is 0xB5 (MICRO SIGN) */ + if (code < 0xB5) { /* Fast path for ASCII */ if (code >= 0x61 && code <= 0x7A) { if (UNEXPECTED(enc == mbfl_no_encoding_8859_9 && code == 0x69)) { @@ -159,7 +161,9 @@ static unsigned php_unicode_toupper_raw(unsigned code, enum mbfl_no_encoding enc static unsigned php_unicode_tolower_raw(unsigned code, enum mbfl_no_encoding enc) { - if (code < 0x80) { + /* After the ASCII characters, the first codepoint with a lowercase version + * is 0xC0 (LATIN CAPITAL LETTER A WITH GRAVE) */ + if (code < 0xC0) { /* Fast path for ASCII */ if (code >= 0x41 && code <= 0x5A) { if (UNEXPECTED(enc == mbfl_no_encoding_8859_9 && code == 0x0049L)) { From 9930b0cc89c786592dea0b4b0a62211ddba69db3 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 28 Jul 2020 23:35:13 +0200 Subject: [PATCH 049/123] Fix buggy support for negative 'start' argument to mb_strimwidth According to the document, strimwidth accepts a negative value for the 'start' parameter, which means it should count backwards the given number of characters from the end of the input string and use that as its starting position. This is, frankly, a bizarre feature. I am struggling to think of when it would be useful for this specific function. But since it exists, presumably it should *work*, right? Actually, it has been buggy since it was first implemented in 2016. Negative 'start' offsets were implemented with this code: if (from < 0) { from += mbfl_strwidth(&string); } Uh oh. That is clearly intended to convert a negative character offset to an equivalent positive offset (counting forward from the beginning, rather than backwards from the end). But it does it by adding the string *width* and not the string *length*, which are different numbers if there are any fullwidth East Asian characters in the string. The result is that for each fullwidth character in the string, the starting position is 'bumped forward' by one character from where it should actually be if negative starting offsets were implemented correctly. Unfortunately, the unit tests for this feature are also wrong. Examining the inputs and expected outputs clearly shows that they do not agree with the documentation. I can only conclude that the author created these tests by running the function on some input text and taking whatever it produced as the "correct" answer. "Testing" code in this way is essentially no different from just declaring that it is right, "because I said so." This might have been noticed earlier, if not for another bug which I will address in the next commit. Side note: I found that my text editor mangled the EUC-JP text in the test case, and converted it to a hex string instead. --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 15 +---- ext/mbstring/libmbfl/mbfl/mbfilter.h | 4 +- ext/mbstring/mbstring.c | 23 +++---- ext/mbstring/tests/mb_strimwidth.phpt | 93 ++++++++++++++++++++------- 4 files changed, 89 insertions(+), 46 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index dab2403f0feb6..c5fa05964fc88 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -159,7 +159,7 @@ static size_t byte_offset_to_char_offset(const mbfl_encoding *encoding, unsigned /* Character offset into multi-byte encoded string -> number of bytes up to that position * If requested offset is greater than character length of string, returns byte length of string * Negative offsets count back from the end of the string, but cannot count past the beginning */ -static size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigned char *start, size_t length, ssize_t char_offset) +MBFLAPI size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigned char *start, size_t length, ssize_t char_offset) { if (char_offset == 0) { return 0; @@ -834,7 +834,7 @@ size_t mbfl_strwidth(mbfl_string *string) return width; } -mbfl_string *mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_string *result, size_t from, size_t max_width) +mbfl_string *mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_string *result, size_t max_width) { /* Cut string down to total display width of `max_width` or less, where East Asian width is taken into account * If it is necessary to trim string, add `marker` at end (unless the marker is NULL) @@ -852,18 +852,9 @@ mbfl_string *mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_stri return result; } - /* Skip over `from` characters and set start pointer */ unsigned char *start = string->val, *e = start + string->len; - if (from > 0) { - start += char_offset_to_byte_offset(string->encoding, string->val, string->len, from); - } - - /* Did we skip right to the end of the input string? */ - if (start == e) { - return result; /* if so, return empty string */ - } - /* Now check how far we can get into remainder of string while still leaving + /* Check how far we can get into remainder of string while still leaving * enough space for the trim marker, in case it is necessary to add it */ size_t marker_width = (marker ? mbfl_strwidth(marker) : 0); diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index a616243c6ded4..95b2d11fea427 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -138,6 +138,8 @@ #define MIN(a,b) ((a)<(b)?(a):(b)) #endif +MBFLAPI extern size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigned char *start, size_t length, ssize_t char_offset); + /* * buffering converter */ @@ -246,7 +248,7 @@ mbfl_strwidth(mbfl_string *string); * strimwidth */ MBFLAPI extern mbfl_string * -mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_string *result, size_t from, size_t width); +mbfl_strimwidth(mbfl_string *string, mbfl_string *marker, mbfl_string *result, size_t width); /* * MIME header encode diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 0aafcb431d0c1..f3a08db1a5840 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2271,7 +2271,7 @@ PHP_FUNCTION(mb_strimwidth) { char *str, *trimmarker = NULL; zend_string *encoding = NULL; - zend_long from, width, swidth = 0; + zend_long from, width; size_t str_len, trimmarker_len; mbfl_string string, result, marker, *ret; @@ -2294,12 +2294,8 @@ PHP_FUNCTION(mb_strimwidth) marker.val = NULL; marker.len = 0; - if ((from < 0) || (width < 0)) { - swidth = mbfl_strwidth(&string); - } - if (from < 0) { - from += swidth; + from += mbfl_strlen(&string); } if (from < 0 || (size_t)from > str_len) { @@ -2307,13 +2303,18 @@ PHP_FUNCTION(mb_strimwidth) RETURN_THROWS(); } - if (width < 0) { - width = swidth + width - from; + if (from != 0) { + size_t offset = char_offset_to_byte_offset(string.encoding, string.val, string.len, from); + string.val += offset; + string.len -= offset; } if (width < 0) { - zend_argument_value_error(3, "is out of range"); - RETURN_THROWS(); + width += mbfl_strwidth(&string); + if (width < 0) { + zend_argument_value_error(3, "is out of range"); + RETURN_THROWS(); + } } if (trimmarker) { @@ -2321,7 +2322,7 @@ PHP_FUNCTION(mb_strimwidth) marker.len = trimmarker_len; } - ret = mbfl_strimwidth(&string, &marker, &result, from, width); + ret = mbfl_strimwidth(&string, &marker, &result, width); ZEND_ASSERT(ret != NULL); // TODO: avoid reallocation ??? RETVAL_STRINGL((char *)ret->val, ret->len); /* the string is already strdup()'ed */ diff --git a/ext/mbstring/tests/mb_strimwidth.phpt b/ext/mbstring/tests/mb_strimwidth.phpt index ad346ef038259..f0fd65719334f 100644 --- a/ext/mbstring/tests/mb_strimwidth.phpt +++ b/ext/mbstring/tests/mb_strimwidth.phpt @@ -8,51 +8,100 @@ output_handler= getMessage() . \PHP_EOL; } + try { var_dump(mb_strimwidth($euc_jp, 100, 10,'...','EUC-JP')); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } + try { var_dump(mb_strimwidth($euc_jp, -100, 10,'...','EUC-JP')); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } -try { - var_dump(mb_strimwidth($euc_jp, -10, -12,'...','EUC-JP')); -} catch (\ValueError $e) { - echo $e->getMessage() . \PHP_EOL; -} ?> --EXPECT-- String width: 68 -1: 0123����ʸ��... -2: 0123����ʸ��������ܸ�Ǥ���EUC-JP��ȤäƤ��ޤ������ܸ�����ݽ����� -3: ��EUC-JP��ȤäƤ��ޤ������ܸ�����ݽ����� -4: �� -5: �� -6: �� -7: �� +String character length: 39 +Characters: [30 31 32 33 a4b3 a4ce cab8 bbfa cef3 a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc c5dd bdad a4a4 a1a3] +Character widths: [1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2] + +Test 1: start=0 width=15 result=[30 31 32 33 a4b3 a4ce cab8 bbfa 2e 2e 2e] length=11 width=15 +Test 2: start=0 width=100 result=[30 31 32 33 a4b3 a4ce cab8 bbfa cef3 a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc c5dd bdad a4a4 a1a3] length=39 width=68 +Test 3: start=15 width=100 result=[a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc c5dd bdad a4a4 a1a3] length=24 width=42 +Test 4: start=-30 width=5 result=[a4cf 2e 2e 2e] length=4 width=5 +Test 5: start=9 width=5 result=[a4cf 2e 2e 2e] length=4 width=5 +Test 6: start=15 width=-5 result=[a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc 2e 2e 2e] length=23 width=37 +Test 7: start=-30 width=-25 result=[a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 2e 2e 2e] length=19 width=29 +Test 8: start=-10 width=-12 result=[a1a3 c6fc 2e 2e 2e] length=5 width=7 mb_strimwidth(): Argument #3 ($width) is out of range mb_strimwidth(): Argument #2 ($start) is out of range -mb_strimwidth(): Argument #2 ($start) is out of range -mb_strimwidth(): Argument #3 ($width) is out of range +mb_strimwidth(): Argument #2 ($start) is out of range \ No newline at end of file From 809351cad8601da6ec9e8151de004deccb130362 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 28 Jul 2020 23:48:13 +0200 Subject: [PATCH 050/123] Remove broken test for validity of 'start' argument to mb_strimwidth The validity of the 'start' offset for mb_strimwidth was checked, in part, with a test like: if (from >= str_len) { /* Fail with an error message */ } See the bug? No? One of those is a count of *characters*, while the other is a count of *bytes*. Comparing them is not meaningful in the context of multi-byte encoded strings... which is kind of what the mbstring extension is all about, after all. In practice, this means that a lot of "invalid" offsets would be accepted without any error message. And what would mb_strimwidth do in those cases? Sensibly, it would just clamp these "too-big" offsets to the end of the string, so the output would be empty. We could fix this so that "invalid" offsets would always be rejected, but it would mean always computing the character length of the input string, which may be a O(n) operation, and which may not be needed for anything else. It might also break working code for some extension users. And besides, the documentation never stated that mb_strimwidth should reject 'start' offsets which are too big. A better fix is simply to remove the meaningless check. Now all offsets which are too big are clamped to the end of the string and result in empty output. --- ext/mbstring/mbstring.c | 9 ++++----- ext/mbstring/tests/mb_strimwidth.phpt | 16 +++++++--------- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index f3a08db1a5840..606e46bfbcad0 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2296,11 +2296,10 @@ PHP_FUNCTION(mb_strimwidth) if (from < 0) { from += mbfl_strlen(&string); - } - - if (from < 0 || (size_t)from > str_len) { - zend_argument_value_error(2, "is out of range"); - RETURN_THROWS(); + if (from < 0) { + zend_argument_value_error(2, "is out of range"); + RETURN_THROWS(); + } } if (from != 0) { diff --git a/ext/mbstring/tests/mb_strimwidth.phpt b/ext/mbstring/tests/mb_strimwidth.phpt index f0fd65719334f..4ac51d77bee5a 100644 --- a/ext/mbstring/tests/mb_strimwidth.phpt +++ b/ext/mbstring/tests/mb_strimwidth.phpt @@ -65,9 +65,13 @@ testStrimwidth(6, $euc_jp, 15, -5, 'EUC-JP'); // 25 less than that, which is 29. testStrimwidth(7, $euc_jp, -30, -25, 'EUC-JP'); +// Skip over 100 characters... but since string is only 39 characters long, +// it takes us to the end of the string, and output is empty +testStrimwidth(8, $euc_jp, 100, 10, 'EUC-JP'); + // Take the last 10 characters, which have a width of 20. Trim string down to // 12 less than that, which is a width of 8. -testStrimwidth(8, $euc_jp, -10, -12, 'EUC-JP'); +testStrimwidth(9, $euc_jp, -10, -12, 'EUC-JP'); try { var_dump(mb_strimwidth($euc_jp, 0, -100,'...','EUC-JP')); @@ -75,12 +79,6 @@ try { echo $e->getMessage() . \PHP_EOL; } -try { - var_dump(mb_strimwidth($euc_jp, 100, 10,'...','EUC-JP')); -} catch (\ValueError $e) { - echo $e->getMessage() . \PHP_EOL; -} - try { var_dump(mb_strimwidth($euc_jp, -100, 10,'...','EUC-JP')); } catch (\ValueError $e) { @@ -101,7 +99,7 @@ Test 4: start=-30 width=5 result=[a4cf 2e 2e 2e] length=4 width=5 Test 5: start=9 width=5 result=[a4cf 2e 2e 2e] length=4 width=5 Test 6: start=15 width=-5 result=[a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc 2e 2e 2e] length=23 width=37 Test 7: start=-30 width=-25 result=[a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 2e 2e 2e] length=19 width=29 -Test 8: start=-10 width=-12 result=[a1a3 c6fc 2e 2e 2e] length=5 width=7 +Test 8: start=100 width=10 result=[] length=0 width=0 +Test 9: start=-10 width=-12 result=[a1a3 c6fc 2e 2e 2e] length=5 width=7 mb_strimwidth(): Argument #3 ($width) is out of range -mb_strimwidth(): Argument #2 ($start) is out of range mb_strimwidth(): Argument #2 ($start) is out of range \ No newline at end of file From 05ad0871c6cd9f3c61774cbdae10b6a761adee35 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 1 Aug 2020 18:20:01 +0200 Subject: [PATCH 051/123] Remove unneeded function mbfl_filt_tl_jisx0201_jisx0208_init --- .../libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 19a96c3fad448..4ba99201c553d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -26,12 +26,6 @@ #include "mbfilter_tl_jisx0201_jisx0208.h" #include "translit_kana_jisx0201_jisx0208.h" -void -mbfl_filt_tl_jisx0201_jisx0208_init(mbfl_convert_filter *filt) -{ - mbfl_filt_conv_common_ctor(filt); -} - int mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) { @@ -292,7 +286,7 @@ mbfl_filt_tl_jisx0201_jisx0208_flush(mbfl_convert_filter *filt) const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208 = { mbfl_no_encoding_wchar, mbfl_no_encoding_wchar, - mbfl_filt_tl_jisx0201_jisx0208_init, + mbfl_filt_conv_common_ctor, NULL, mbfl_filt_tl_jisx0201_jisx0208, mbfl_filt_tl_jisx0201_jisx0208_flush From fab2151fba20183c826b467dfe9ea01fb5158a92 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 1 Aug 2020 18:24:31 +0200 Subject: [PATCH 052/123] Remove unneeded struct: mbfl_filt_conv_wchar_cp50220_ctx After eliminating mbfl_filt_tl_jisx0201_jisx0208_param, this struct was left with just one member. So it can be trivially inlined. --- .../libmbfl/filters/mbfilter_cp5022x.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 5d399af71877c..019168df91b09 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -31,10 +31,6 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -typedef struct _mbfl_filt_conv_wchar_cp50220_ctx { - mbfl_convert_filter last; -} mbfl_filt_conv_wchar_cp50220_ctx; - static int mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter); @@ -562,20 +558,16 @@ mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt) { - mbfl_filt_conv_wchar_cp50220_ctx *ctx; - mbfl_filt_conv_common_ctor(filt); - ctx = emalloc(sizeof(mbfl_filt_conv_wchar_cp50220_ctx)); - ctx->last = *filt; - ctx->last.data = filt->data; + mbfl_convert_filter *last = emalloc(sizeof(mbfl_convert_filter)); + *last = *filt; filt->filter_function = vtbl_tl_jisx0201_jisx0208.filter_function; filt->filter_flush = (filter_flush_t)vtbl_tl_jisx0201_jisx0208.filter_flush; - filt->output_function = (output_function_t)ctx->last.filter_function; - filt->flush_function = (flush_function_t)ctx->last.filter_flush; - filt->data = ctx; + filt->output_function = (output_function_t)last->filter_function; + filt->flush_function = (flush_function_t)last->filter_flush; + filt->data = last; filt->opaque = (void*)(MBFL_FILT_TL_HAN2ZEN_KATAKANA | MBFL_FILT_TL_HAN2ZEN_GLUE); - vtbl_tl_jisx0201_jisx0208.filter_ctor(filt); } static void From 20de301c2762b95769344961c1cd8950024978d4 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 4 Aug 2020 21:16:31 +0200 Subject: [PATCH 053/123] mbfl_wchar_device_init accepts initial buffer size argument This cuts down the number of times the buffer has to be dynamically grown, meaning less allocation/deallocation/copying of memory. --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c | 6 +++--- ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h | 2 +- ext/mbstring/mbstring.c | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index c5fa05964fc88..7ea03abd7396c 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -266,7 +266,7 @@ static void create_encoding_conversion_filters(const mbfl_encoding *from, const static unsigned int *convert_string_to_wchar(mbfl_string *string, size_t *len) { mbfl_wchar_device wdev; - mbfl_wchar_device_init(&wdev); + mbfl_wchar_device_init(&wdev, mbfl_strlen(string)); mbfl_convert_filter *encoder = mbfl_convert_filter_new(string->encoding, &mbfl_encoding_wchar, mbfl_wchar_device_output, NULL, &wdev); mbfl_filter_feed_data(string, encoder); mbfl_convert_filter_flush(encoder); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c index 8c4928f29e07d..a1b66e8edd668 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c @@ -139,10 +139,10 @@ int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src) return mbfl_memory_device_strncat(dest, (const char*)src->buffer, src->pos); } -void mbfl_wchar_device_init(mbfl_wchar_device *device) +void mbfl_wchar_device_init(mbfl_wchar_device *device, size_t initsz) { - device->buffer = NULL; - device->length = 0; + device->buffer = (initsz > 0) ? emalloc(initsz * sizeof(int)) : NULL; + device->length = initsz; device->pos = 0; device->allocsz = MBFL_MEMORY_DEVICE_ALLOC_SIZE; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h index b8a188ec84e69..0418adc6138aa 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h @@ -65,7 +65,7 @@ MBFLAPI extern int mbfl_memory_device_strncat( mbfl_memory_device *device, const char *psrc, size_t len); MBFLAPI extern int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src); -MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device); +MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device, size_t initsz); MBFLAPI extern int mbfl_wchar_device_output(int c, void *data); MBFLAPI extern void mbfl_wchar_device_clear(mbfl_wchar_device *device); diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 606e46bfbcad0..aa7e366b24283 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3979,7 +3979,7 @@ static inline zend_long php_mb_ord(const char *str, size_t str_len, zend_string mbfl_convert_filter *filter; zend_long cp; - mbfl_wchar_device_init(&dev); + mbfl_wchar_device_init(&dev, 1); filter = mbfl_convert_filter_new(enc, &mbfl_encoding_wchar, mbfl_wchar_device_output, 0, &dev); /* If this assertion fails this means some memory allocation failure which is a bug */ ZEND_ASSERT(filter != NULL); From a5e5430cb38b47d6a40a778e1e70d993ebb95ac5 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 5 Aug 2020 11:17:24 +0200 Subject: [PATCH 054/123] Remove unused COMPAT2 constants from mbstring These were supposed to be used to select an obscure conversion mode for mb_convert_kana. However, they were never used. --- .../filters/mbfilter_tl_jisx0201_jisx0208.c | 23 ------------------- .../filters/mbfilter_tl_jisx0201_jisx0208.h | 8 ++----- 2 files changed, 2 insertions(+), 29 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 4ba99201c553d..61c16824e5a0d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -141,17 +141,6 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } else if (c == 0x22) { s = 0x201d; /* RIGHT DOUBLE QUOTATION MARK */ } - } else if (mode & MBFL_FILT_TL_HAN2ZEN_COMPAT2) { - /* special ascii to symbol */ - if (c == 0x5c) { - s = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (c == 0x7e) { - s = 0xff5e; /* FULLWIDTH TILDE */ - } else if (c == 0x27) { - s = 0xff07; /* FULLWIDTH APOSTROPHE */ - } else if (c == 0x22) { - s = 0xff02; /* FULLWIDTH QUOTATION MARK */ - } } if (mode & (MBFL_FILT_TL_ZEN2HAN_ALL | MBFL_FILT_TL_ZEN2HAN_ALPHA | MBFL_FILT_TL_ZEN2HAN_NUMERIC | MBFL_FILT_TL_ZEN2HAN_SPACE)) { @@ -244,18 +233,6 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } } - if (mode & MBFL_FILT_TL_ZEN2HAN_COMPAT2) { /* special symbol to ascii */ - if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x5c; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ - s = 0x7e; - } else if (c == 0xff07) { /* FULLWIDTH APOSTROPHE */ - s = 0x27; - } else if (c == 0xff02) { /* FULLWIDTH QUOTATION MARK */ - s = 0x22; - } - } - return (*filt->output_function)(s, filt->data); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index f97ac4591e40a..4e61d92e9065f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -46,8 +46,6 @@ #define MBFL_FILT_TL_ZEN2HAN_KANA2HIRA 0x00020000 #define MBFL_FILT_TL_HAN2ZEN_COMPAT1 0x00100000 #define MBFL_FILT_TL_ZEN2HAN_COMPAT1 0x00200000 -#define MBFL_FILT_TL_HAN2ZEN_COMPAT2 0x00400000 -#define MBFL_FILT_TL_ZEN2HAN_COMPAT2 0x00800000 #define MBFL_FILT_TL_HAN2ZEN_MASK ( \ MBFL_FILT_TL_HAN2ZEN_ALL |\ MBFL_FILT_TL_HAN2ZEN_ALPHA |\ @@ -56,8 +54,7 @@ MBFL_FILT_TL_HAN2ZEN_KATAKANA |\ MBFL_FILT_TL_HAN2ZEN_HIRAGANA |\ MBFL_FILT_TL_HAN2ZEN_GLUE |\ - MBFL_FILT_TL_HAN2ZEN_COMPAT1 |\ - MBFL_FILT_TL_HAN2ZEN_COMPAT2) + MBFL_FILT_TL_HAN2ZEN_COMPAT1) #define MBFL_FILT_TL_ZEN2HAN_MASK ( \ MBFL_FILT_TL_ZEN2HAN_ALL | \ MBFL_FILT_TL_ZEN2HAN_ALPHA | \ @@ -67,8 +64,7 @@ MBFL_FILT_TL_ZEN2HAN_HIRAGANA | \ MBFL_FILT_TL_ZEN2HAN_HIRA2KANA | \ MBFL_FILT_TL_ZEN2HAN_KANA2HIRA | \ - MBFL_FILT_TL_ZEN2HAN_COMPAT1 | \ - MBFL_FILT_TL_ZEN2HAN_COMPAT2) + MBFL_FILT_TL_ZEN2HAN_COMPAT1) extern const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208; From db69a19aec1552fb16cb5f141725b53fd8fc5edf Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 7 Aug 2020 21:53:31 +0200 Subject: [PATCH 055/123] Rename 'COMPAT1' constants for mbstring to 'SPECIAL' (more meaningful name) These constants are used to select conversion modes for mb_convert_kana which convert between a few specific ASCII characters and their "fullwidth" Unicode equivalents, which are commonly used in Japanese text. For example, ` converts to a "left single quote" Unicode character, ' to a "right single quote", and so on. Even the existing code comments refer to these as "special" ASCII characters, hence the name. It doesn't exactly paint the whole picture, but it's better than COMPAT1. --- .../libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c | 4 ++-- .../libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h | 11 +++++++---- ext/mbstring/mbstring.c | 6 ++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 61c16824e5a0d..1bcf4e9c83252 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -126,7 +126,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } } - if (mode & MBFL_FILT_TL_HAN2ZEN_COMPAT1) { + if (mode & MBFL_FILT_TL_HAN2ZEN_SPECIAL) { /* special ascii to symbol */ if (c == 0x5c) { s = 0xffe5; /* FULLWIDTH YEN SIGN */ @@ -213,7 +213,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } } - if (mode & MBFL_FILT_TL_ZEN2HAN_COMPAT1) { /* special symbol to ascii */ + if (mode & MBFL_FILT_TL_ZEN2HAN_SPECIAL) { /* special symbol to ascii */ if (c == 0xffe5) { /* FULLWIDTH YEN SIGN */ s = 0x5c; } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index 4e61d92e9065f..be0a7ddd2b1c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -44,8 +44,11 @@ #define MBFL_FILT_TL_ZEN2HAN_HIRAGANA 0x00002000 #define MBFL_FILT_TL_ZEN2HAN_HIRA2KANA 0x00010000 #define MBFL_FILT_TL_ZEN2HAN_KANA2HIRA 0x00020000 -#define MBFL_FILT_TL_HAN2ZEN_COMPAT1 0x00100000 -#define MBFL_FILT_TL_ZEN2HAN_COMPAT1 0x00200000 +/* A few "special" ASCII characters correspond to fullwidth Unicode characters + * which are commonly used in Japanese + * For example, ' corresponds to a fullwidth single quote */ +#define MBFL_FILT_TL_HAN2ZEN_SPECIAL 0x00100000 +#define MBFL_FILT_TL_ZEN2HAN_SPECIAL 0x00200000 #define MBFL_FILT_TL_HAN2ZEN_MASK ( \ MBFL_FILT_TL_HAN2ZEN_ALL |\ MBFL_FILT_TL_HAN2ZEN_ALPHA |\ @@ -54,7 +57,7 @@ MBFL_FILT_TL_HAN2ZEN_KATAKANA |\ MBFL_FILT_TL_HAN2ZEN_HIRAGANA |\ MBFL_FILT_TL_HAN2ZEN_GLUE |\ - MBFL_FILT_TL_HAN2ZEN_COMPAT1) + MBFL_FILT_TL_HAN2ZEN_SPECIAL) #define MBFL_FILT_TL_ZEN2HAN_MASK ( \ MBFL_FILT_TL_ZEN2HAN_ALL | \ MBFL_FILT_TL_ZEN2HAN_ALPHA | \ @@ -64,7 +67,7 @@ MBFL_FILT_TL_ZEN2HAN_HIRAGANA | \ MBFL_FILT_TL_ZEN2HAN_HIRA2KANA | \ MBFL_FILT_TL_ZEN2HAN_KANA2HIRA | \ - MBFL_FILT_TL_ZEN2HAN_COMPAT1) + MBFL_FILT_TL_ZEN2HAN_SPECIAL) extern const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208; diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index aa7e366b24283..bc2f5e655aca8 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2917,12 +2917,10 @@ PHP_FUNCTION(mb_convert_kana) opt |= MBFL_FILT_TL_ZEN2HAN_KANA2HIRA; break; case 'M': - /* TODO: figure out what 'M' and 'm' are for, and rename the constant - * to something meaningful */ - opt |= MBFL_FILT_TL_HAN2ZEN_COMPAT1; + opt |= MBFL_FILT_TL_HAN2ZEN_SPECIAL; break; case 'm': - opt |= MBFL_FILT_TL_ZEN2HAN_COMPAT1; + opt |= MBFL_FILT_TL_ZEN2HAN_SPECIAL; break; } } From 48e390f1ca5b7c83be9cfcd7c275db45907d0149 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 7 Aug 2020 22:15:14 +0200 Subject: [PATCH 056/123] Remove unused MBFL_FILT_TL_{HAN2ZEN,ZEN2HAN}_MASK constants --- .../filters/mbfilter_tl_jisx0201_jisx0208.h | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index be0a7ddd2b1c8..bf76c4f516b1f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -49,25 +49,6 @@ * For example, ' corresponds to a fullwidth single quote */ #define MBFL_FILT_TL_HAN2ZEN_SPECIAL 0x00100000 #define MBFL_FILT_TL_ZEN2HAN_SPECIAL 0x00200000 -#define MBFL_FILT_TL_HAN2ZEN_MASK ( \ - MBFL_FILT_TL_HAN2ZEN_ALL |\ - MBFL_FILT_TL_HAN2ZEN_ALPHA |\ - MBFL_FILT_TL_HAN2ZEN_NUMERIC |\ - MBFL_FILT_TL_HAN2ZEN_SPACE |\ - MBFL_FILT_TL_HAN2ZEN_KATAKANA |\ - MBFL_FILT_TL_HAN2ZEN_HIRAGANA |\ - MBFL_FILT_TL_HAN2ZEN_GLUE |\ - MBFL_FILT_TL_HAN2ZEN_SPECIAL) -#define MBFL_FILT_TL_ZEN2HAN_MASK ( \ - MBFL_FILT_TL_ZEN2HAN_ALL | \ - MBFL_FILT_TL_ZEN2HAN_ALPHA | \ - MBFL_FILT_TL_ZEN2HAN_NUMERIC | \ - MBFL_FILT_TL_ZEN2HAN_SPACE | \ - MBFL_FILT_TL_ZEN2HAN_KATAKANA | \ - MBFL_FILT_TL_ZEN2HAN_HIRAGANA | \ - MBFL_FILT_TL_ZEN2HAN_HIRA2KANA | \ - MBFL_FILT_TL_ZEN2HAN_KANA2HIRA | \ - MBFL_FILT_TL_ZEN2HAN_SPECIAL) extern const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208; From fd03267a60eeddf31cbcff4d74c78d282ba6fc15 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 7 Aug 2020 22:22:09 +0200 Subject: [PATCH 057/123] Rename MBFL_FILT_TL_ZEN2HAN_{HIRA2KANA,KANA2HIRA} to accurately reflect what they do 'ZEN2HAN' implies that these conversion modes (of mb_convert_kana) convert fullwidth to halfwidth, but this is not true. Further, 'KANA2HIRA' and 'HIRA2KANA' imply that *both* katakana and hiragana (all types of 'kana') are converted, which is also not true. These modes actually convert fullwidth katakana to fullwidth hiragana, or vice versa. MBFL_FILT_TL_ZENKAKU_{HIRA2KATA,KATA2HIRA} is more on target. --- .../libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c | 8 ++++---- .../libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h | 5 +++-- ext/mbstring/mbstring.c | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 1bcf4e9c83252..60ce8f0b2d2c6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -200,13 +200,13 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } else if (c == 0x30fb) { s = 0xff65; /* HALFWIDTH KATAKANA MIDDLE DOT */ } - } else if (mode & (MBFL_FILT_TL_ZEN2HAN_HIRA2KANA - | MBFL_FILT_TL_ZEN2HAN_KANA2HIRA)) { - if ((mode & MBFL_FILT_TL_ZEN2HAN_HIRA2KANA) && + } else if (mode & (MBFL_FILT_TL_ZENKAKU_HIRA2KATA + | MBFL_FILT_TL_ZENKAKU_KATA2HIRA)) { + if ((mode & MBFL_FILT_TL_ZENKAKU_HIRA2KATA) && ((c >= 0x3041 && c <= 0x3093) || c == 0x309d || c == 0x309e)) { /* Zenkaku hiragana to Zenkaku katakana */ s = c + 0x60; - } else if ((mode & MBFL_FILT_TL_ZEN2HAN_KANA2HIRA) && + } else if ((mode & MBFL_FILT_TL_ZENKAKU_KATA2HIRA) && ((c >= 0x30a1 && c <= 0x30f3) || c == 0x30fd || c == 0x30fe)) { /* Zenkaku katakana to Zenkaku hiragana */ s = c - 0x60; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h index bf76c4f516b1f..09188ab4ae4ab 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.h @@ -42,8 +42,9 @@ #define MBFL_FILT_TL_HAN2ZEN_GLUE 0x00000800 #define MBFL_FILT_TL_ZEN2HAN_KATAKANA 0x00001000 #define MBFL_FILT_TL_ZEN2HAN_HIRAGANA 0x00002000 -#define MBFL_FILT_TL_ZEN2HAN_HIRA2KANA 0x00010000 -#define MBFL_FILT_TL_ZEN2HAN_KANA2HIRA 0x00020000 +/* Convert fullwidth hiragana to fullwidth katakana, or vice versa */ +#define MBFL_FILT_TL_ZENKAKU_HIRA2KATA 0x00010000 +#define MBFL_FILT_TL_ZENKAKU_KATA2HIRA 0x00020000 /* A few "special" ASCII characters correspond to fullwidth Unicode characters * which are commonly used in Japanese * For example, ' corresponds to a fullwidth single quote */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index bc2f5e655aca8..c2d4bc744f9e2 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2911,10 +2911,10 @@ PHP_FUNCTION(mb_convert_kana) opt |= MBFL_FILT_TL_HAN2ZEN_GLUE; break; case 'C': - opt |= MBFL_FILT_TL_ZEN2HAN_HIRA2KANA; + opt |= MBFL_FILT_TL_ZENKAKU_HIRA2KATA; break; case 'c': - opt |= MBFL_FILT_TL_ZEN2HAN_KANA2HIRA; + opt |= MBFL_FILT_TL_ZENKAKU_KATA2HIRA; break; case 'M': opt |= MBFL_FILT_TL_HAN2ZEN_SPECIAL; From 6a74bb485705d17d02b7c9e44a512ab22fa74637 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 7 Aug 2020 22:37:28 +0200 Subject: [PATCH 058/123] Disallow nonsensical combinations of conversion flags to mb_convert_kana mb_convert_kana is controlled by user-provided flags, which specify what it should convert and to what. These flags come in inverse pairs, for example "fullwidth numerals to halfwidth numerals" and "halfwidth numerics to fullwidth numerics". It does not make sense to combine inverse flags. But, clever reader of commit logs, you will surely say: What if I want all my halfwidth numerals to become fullwidth, and all my fullwidth numerals to become halfwidth? Much too clever, you are! Let's put aside the fact that this bizarre switch-up is ridiculous and will never be used, and face up to another stark reality: mb_convert_kana does not work for that case, and never has. This was probably never noticed because nobody ever tried. Disallowing useless combinations of flags gives freedom to rearrange the kana conversion code without changing behavior. Interestingly, the existing tests used a 'Z' flag, which is useless (it's not recognized at all). --- ext/mbstring/mbstring.c | 29 ++++++++++++ ext/mbstring/tests/mb_convert_kana.phpt | 61 +++++++++++++------------ 2 files changed, 61 insertions(+), 29 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index c2d4bc744f9e2..49ddfcb280ecb 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2864,6 +2864,13 @@ PHP_FUNCTION(mb_convert_kana) string.val = (unsigned char*)string_val; +#define DISALLOW_FLAG(flag, opt1, opt2) do { \ + if (opt & flag) { \ + zend_argument_value_error(2, "must not combine '%c' and '%c' flags", opt1, opt2); \ + RETURN_THROWS(); \ + } \ + } while(0) + /* "Zen" is 全, or "full"; "Han" is 半, or "half" * This refers to "fullwidth" or "halfwidth" variants of characters used for writing Japanese */ if (optstr != NULL) { @@ -2872,54 +2879,76 @@ PHP_FUNCTION(mb_convert_kana) while (p < e) { switch (*p++) { case 'A': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_ALL, 'A', 'a'); + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_ALPHA, 'A', 'r'); + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_NUMERIC, 'A', 'n'); opt |= MBFL_FILT_TL_HAN2ZEN_ALL; break; case 'a': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALL, 'a', 'A'); + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALPHA, 'a', 'R'); + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_NUMERIC, 'a', 'N'); opt |= MBFL_FILT_TL_ZEN2HAN_ALL; break; case 'R': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_ALPHA, 'R', 'r'); opt |= MBFL_FILT_TL_HAN2ZEN_ALPHA; break; case 'r': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALPHA, 'r', 'R'); opt |= MBFL_FILT_TL_ZEN2HAN_ALPHA; break; case 'N': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_NUMERIC, 'N', 'n'); opt |= MBFL_FILT_TL_HAN2ZEN_NUMERIC; break; case 'n': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_NUMERIC, 'n', 'N'); opt |= MBFL_FILT_TL_ZEN2HAN_NUMERIC; break; case 'S': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_SPACE, 'S', 's'); opt |= MBFL_FILT_TL_HAN2ZEN_SPACE; break; case 's': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_SPACE, 's', 'S'); opt |= MBFL_FILT_TL_ZEN2HAN_SPACE; break; case 'K': + /* Convert ALL hankaku kana to zenkaku katakana... so it doesn't make + * sense to combine with HAN2ZEN_HIRAGANA. Likewise below */ + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_HIRAGANA, 'K', 'H'); opt |= MBFL_FILT_TL_HAN2ZEN_KATAKANA; break; case 'k': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_HIRAGANA, 'k', 'h'); opt |= MBFL_FILT_TL_ZEN2HAN_KATAKANA; break; case 'H': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_KATAKANA, 'H', 'K'); opt |= MBFL_FILT_TL_HAN2ZEN_HIRAGANA; break; case 'h': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_KATAKANA, 'h', 'k'); opt |= MBFL_FILT_TL_ZEN2HAN_HIRAGANA; break; case 'V': opt |= MBFL_FILT_TL_HAN2ZEN_GLUE; break; case 'C': + DISALLOW_FLAG(MBFL_FILT_TL_ZENKAKU_KATA2HIRA, 'C', 'c'); opt |= MBFL_FILT_TL_ZENKAKU_HIRA2KATA; break; case 'c': + DISALLOW_FLAG(MBFL_FILT_TL_ZENKAKU_HIRA2KATA, 'c', 'C'); opt |= MBFL_FILT_TL_ZENKAKU_KATA2HIRA; break; case 'M': + DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_SPECIAL, 'M', 'm'); opt |= MBFL_FILT_TL_HAN2ZEN_SPECIAL; break; case 'm': + DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_SPECIAL, 'm', 'M'); opt |= MBFL_FILT_TL_ZEN2HAN_SPECIAL; break; } diff --git a/ext/mbstring/tests/mb_convert_kana.phpt b/ext/mbstring/tests/mb_convert_kana.phpt index b83923756de53..37b301cfb1594 100644 --- a/ext/mbstring/tests/mb_convert_kana.phpt +++ b/ext/mbstring/tests/mb_convert_kana.phpt @@ -19,40 +19,43 @@ $hanKakuB = 'ーアイウエオカキクケコサシスセソ'; $hanKakuC = 'タチツテトナニヌネノハヒフヘホマ'; $hanKakuD = 'ミムメモヤユヨラリルレロワン゙゚'; +// Convert all Zenkaku to Hankaku; no effect +echo "'A': " . $zenKakuA . ' => ' . mb_convert_kana($zenKakuA, 'AK', 'utf-8') . "\n"; +// Convert all Hankaku to Zenkaku; has an effect +echo "'a': " . $zenKakuB . ' => ' . mb_convert_kana($zenKakuB, 'ak', 'utf-8') . "\n"; +echo "'a': " . $zenKakuC . ' => ' . mb_convert_kana($zenKakuC, 'ak', 'utf-8') . "\n"; +echo "'a': " . $zenKakuD . ' => ' . mb_convert_kana($zenKakuD, 'ak', 'utf-8') . "\n"; +echo "'a': " . $zenKakuE . ' => ' . mb_convert_kana($zenKakuE, 'ak', 'utf-8') . "\n"; +echo "'a': " . $zenKakuF . ' => ' . mb_convert_kana($zenKakuF, 'ak', 'utf-8') . "\n"; +echo "\n"; +// Convert all Zenkaku to Hankaku; has an effect +echo "'A': " . $hanKakuA . ' => ' . mb_convert_kana($hanKakuA, 'AK', 'utf-8') . "\n"; +echo "'A': " . $hanKakuB . ' => ' . mb_convert_kana($hanKakuB, 'AK', 'utf-8') . "\n"; +echo "'A': " . $hanKakuC . ' => ' . mb_convert_kana($hanKakuC, 'AK', 'utf-8') . "\n"; +echo "'A': " . $hanKakuD . ' => ' . mb_convert_kana($hanKakuD, 'AK', 'utf-8') . "\n"; -echo $zenKakuA . ' => ' . mb_convert_kana($zenKakuA, 'AZKH', 'utf-8'); echo "\n"; -echo $zenKakuB . ' => ' . mb_convert_kana($zenKakuB, 'azkh', 'utf-8'); -echo "\n"; -echo $zenKakuC . ' => ' . mb_convert_kana($zenKakuC, 'azkh', 'utf-8'); -echo "\n"; -echo $zenKakuD . ' => ' . mb_convert_kana($zenKakuD, 'azkh', 'utf-8'); -echo "\n"; -echo $zenKakuE . ' => ' . mb_convert_kana($zenKakuE, 'azkh', 'utf-8'); -echo "\n"; -echo $zenKakuF . ' => ' . mb_convert_kana($zenKakuF, 'azkh', 'utf-8'); -echo "\n"; -echo "\n"; -echo $hanKakuA . ' => ' . mb_convert_kana($hanKakuA, 'AZKH', 'utf-8'); -echo "\n"; -echo $hanKakuB . ' => ' . mb_convert_kana($hanKakuB, 'AZKH', 'utf-8'); -echo "\n"; -echo $hanKakuC . ' => ' . mb_convert_kana($hanKakuC, 'AZKH', 'utf-8'); -echo "\n"; -echo $hanKakuD . ' => ' . mb_convert_kana($hanKakuD, 'AZKH', 'utf-8'); +// Try combination of flags which doesn't make sense +try { + mb_convert_kana($zenKakuA, 'HK', 'utf-8'); +} catch (\ValueError $e) { + echo $e->getMessage() . "\n"; +} ?> --EXPECT-- -ァアィイゥウェエォオカガキギク => ァアィイゥウェエォオカガキギク -グケゲコゴサザシジスズセゼソゾタ => グケゲコゴサザシジスズセゼソゾタ -ダチヂッツヅテデトドナニヌネノハ => ダチヂッツヅテデトドナニヌネノハ -バパヒビピフブプヘベペホボポマミ => バパヒビピフブプヘベペホボポマミ -ムメモャヤュユョヨラリルレロヮワ => ムメモャヤュユョヨラリルレロワワ -ヰヱヲンヴヵヶヷヸヹヺ・ーヽヾ => イエヲンヴヵヶヷヸヹヺ・ーヽヾ +'A': ァアィイゥウェエォオカガキギク => ァアィイゥウェエォオカガキギク +'a': グケゲコゴサザシジスズセゼソゾタ => グケゲコゴサザシジスズセゼソゾタ +'a': ダチヂッツヅテデトドナニヌネノハ => ダチヂッツヅテデトドナニヌネノハ +'a': バパヒビピフブプヘベペホボポマミ => バパヒビピフブプヘベペホボポマミ +'a': ムメモャヤュユョヨラリルレロヮワ => ムメモャヤュユョヨラリルレロワワ +'a': ヰヱヲンヴヵヶヷヸヹヺ・ーヽヾ => イエヲンヴヵヶヷヸヹヺ・ーヽヾ + +'A': ⦆。「」、・ヲァィゥェォャュョッ => ⦆。「」、・ヲァィゥェォャュョッ +'A': ーアイウエオカキクケコサシスセソ => ーアイウエオカキクケコサシスセソ +'A': タチツテトナニヌネノハヒフヘホマ => タチツテトナニヌネノハヒフヘホマ +'A': ミムメモヤユヨラリルレロワン゙゚ => ミムメモヤユヨラリルレロワン゛゜ -⦆。「」、・ヲァィゥェォャュョッ => ⦆。「」、・ヲァィゥェォャュョッ -ーアイウエオカキクケコサシスセソ => ーアイウエオカキクケコサシスセソ -タチツテトナニヌネノハヒフヘホマ => タチツテトナニヌネノハヒフヘホマ -ミムメモヤユヨラリルレロワン゙゚ => ミムメモヤユヨラリルレロワン゛゜ +mb_convert_kana(): Argument #2 ($mode) must not combine 'K' and 'H' flags --CREDITS-- Jason Easter PHPUG Würzburg From e612f3816da8640ee0060b0c7c1017a43121ad2e Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 14:55:12 +0200 Subject: [PATCH 059/123] Return values of 'filter flush' functions are never used After running some text through a 'filter', the last step is to call its 'flush function'. This is done because some filters cache one or more characters rather than pushing them to the output right away. (That is because the encoding of some characters may depend on what comes before or after.) The flush functions all returned an integral status code... but nothing actually *checks* the return values. So... simplify things by making flush functions return void. --- .../libmbfl/filters/mbfilter_base64.c | 26 ++++++++-------- .../libmbfl/filters/mbfilter_base64.h | 4 +-- .../libmbfl/filters/mbfilter_cp5022x.c | 15 ++++------ .../libmbfl/filters/mbfilter_cp5022x.h | 2 +- .../libmbfl/filters/mbfilter_htmlent.c | 17 ++++------- .../libmbfl/filters/mbfilter_htmlent.h | 4 +-- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 10 +++---- ext/mbstring/libmbfl/filters/mbfilter_hz.h | 2 +- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 13 ++++---- .../libmbfl/filters/mbfilter_iso2022_jp_ms.h | 2 +- .../libmbfl/filters/mbfilter_iso2022_kr.c | 13 ++++---- .../libmbfl/filters/mbfilter_iso2022_kr.h | 2 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.h | 2 +- .../filters/mbfilter_iso2022jp_mobile.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 17 +++++------ ext/mbstring/libmbfl/filters/mbfilter_jis.h | 2 +- .../libmbfl/filters/mbfilter_qprint.c | 14 ++++----- .../libmbfl/filters/mbfilter_qprint.h | 4 +-- .../libmbfl/filters/mbfilter_sjis_2004.c | 30 ++++++++----------- .../libmbfl/filters/mbfilter_sjis_2004.h | 4 +-- .../libmbfl/filters/mbfilter_sjis_mac.c | 28 ++++++++--------- .../libmbfl/filters/mbfilter_sjis_mobile.c | 14 ++++----- .../libmbfl/filters/mbfilter_sjis_mobile.h | 2 +- .../filters/mbfilter_tl_jisx0201_jisx0208.c | 17 ++++------- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 8 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 8 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 30 +++++++++---------- ext/mbstring/libmbfl/filters/mbfilter_utf7.h | 2 +- .../libmbfl/filters/mbfilter_utf7imap.c | 29 +++++++++--------- .../libmbfl/filters/mbfilter_utf7imap.h | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 7 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf8.h | 2 +- .../libmbfl/filters/mbfilter_utf8_mobile.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 15 +++++----- ext/mbstring/libmbfl/mbfl/mbfl_convert.h | 8 ++--- ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 4 +-- 37 files changed, 156 insertions(+), 209 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 9812a5eac22af..26724bd9b3f9b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -119,7 +119,7 @@ int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) { int status, cache, len; @@ -132,21 +132,20 @@ int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) if (status >= 1) { if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { if (len > 72){ - CK((*filter->output_function)(0x0d, filter->data)); /* CR */ - CK((*filter->output_function)(0x0a, filter->data)); /* LF */ + (*filter->output_function)(0x0d, filter->data); /* CR */ + (*filter->output_function)(0x0a, filter->data); /* LF */ } } - CK((*filter->output_function)(mbfl_base64_table[(cache >> 18) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data)); + (*filter->output_function)(mbfl_base64_table[(cache >> 18) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data); if (status == 1) { - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ + (*filter->output_function)(0x3d, filter->data); /* '=' */ + (*filter->output_function)(0x3d, filter->data); /* '=' */ } else { - CK((*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ + (*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data); + (*filter->output_function)(0x3d, filter->data); /* '=' */ } } - return 0; } /* @@ -201,7 +200,7 @@ int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) { int status, cache; @@ -211,12 +210,11 @@ int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) filter->cache = 0; /* flush fragments */ if (status >= 2) { - CK((*filter->output_function)((cache >> 16) & 0xff, filter->data)); + (*filter->output_function)((cache >> 16) & 0xff, filter->data); if (status >= 3) { - CK((*filter->output_function)((cache >> 8) & 0xff, filter->data)); + (*filter->output_function)((cache >> 8) & 0xff, filter->data); } } - return 0; } static int mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.h b/ext/mbstring/libmbfl/filters/mbfilter_base64.h index b51b02d0d2478..4dd617cb2e807 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.h @@ -39,8 +39,8 @@ extern const struct mbfl_convert_vtbl vtbl_b64_8bit; extern const struct mbfl_convert_vtbl vtbl_8bit_b64; int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter); int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_BASE64_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 019168df91b09..6e1b99a2c6b11 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -895,24 +895,21 @@ mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) { /* back to latin */ if ((filter->status & 0xff00) == 0x500) { - CK((*filter->output_function)(0x0f, filter->data)); /* SO */ + (*filter->output_function)(0x0f, filter->data); /* SO */ } else if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status &= 0xff; if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + (*filter->flush_function)(filter->data); } - - return 0; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h index e7cde7dff837b..e61c234a11f12 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h @@ -59,6 +59,6 @@ int mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP50221_h */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 42a1d65c1c974..3b08b835306c2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -141,16 +141,14 @@ int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter) { filter->status = 0; filter->opaque = NULL; - if (filter->flush_function != NULL) { + if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return 0; } /* @@ -284,11 +282,10 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) { int status, pos = 0; unsigned char *buffer; - int err = 0; buffer = (unsigned char*)filter->opaque; status = filter->status; @@ -296,14 +293,10 @@ int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) /* flush fragments */ while (status--) { - int e = (*filter->output_function)(buffer[pos++], filter->data); - if (e != 0) - err = e; + (*filter->output_function)(buffer[pos++], filter->data); } - if (filter->flush_function != NULL) { + if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return err; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h index b5ba4161e2eb2..a8051fe1457e5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h @@ -40,9 +40,9 @@ extern const struct mbfl_convert_vtbl vtbl_html_wchar; void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter); void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter); int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter); int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter); void mbfl_filt_conv_html_dec_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest); #endif /* MBFL_MBFILTER_HTMLENT_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index ebcc61f984e8d..9cebb4c7855de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -212,16 +212,14 @@ mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) { /* back to latin */ - if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x7e, filter->data)); /* ~ */ - CK((*filter->output_function)(0x7d, filter->data)); /* '{' */ + if (filter->status & 0xff00) { + (*filter->output_function)(0x7e, filter->data); /* ~ */ + (*filter->output_function)(0x7d, filter->data); /* '{' */ } filter->status &= 0xff; - return 0; } static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.h b/ext/mbstring/libmbfl/filters/mbfilter_hz.h index e7e35cacc81db..9b5642ecc5d8c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_hz; int mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_HZ_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index ef9c2c0286fee..3a5db69a5e18e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -409,23 +409,20 @@ mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) { /* back to latin */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status &= 0xff; if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + (*filter->flush_function)(filter->data); } - - return 0; } int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h index 7c40b19246622..406d54c3fb4c1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_2022jpms; int mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ISO2022_JP_MS_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 2f31801846dca..6b3957192d2d2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -264,21 +264,18 @@ mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) { /* back to ascii */ - if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x0f, filter->data)); /* SI */ + if (filter->status & 0xff00) { + (*filter->output_function)(0x0f, filter->data); /* SI */ } filter->status &= 0xff; - if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } - - return 0; } static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h index 7277c5f11c529..ae1348ed4de29 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_2022kr_wchar; int mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ISO2022_KR_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index af9782523cb71..d32be2a7a39f1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "unicode_table_jis2004.h" -extern int mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); +extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_2022jp_2004 = { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h index 929559b87f9ee..ed3bc3b9dd288 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004; int mbfl_filt_conv_2022jp_2004_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jp_2004(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_2022jp_2004_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_any_2022jp_2004_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_2022JP_2004_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index ffd2191399594..af517bb9ec62e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -35,7 +35,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -extern int mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); +extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); extern int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jp_kddi_aliases[] = {"ISO-2022-JP-KDDI", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index a8f804c83c2d1..540c9a633bc8d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -458,22 +458,19 @@ mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) { /* back to latin */ - if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + if (filter->status & 0xff00) { + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status &= 0xff; - if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } - - return 0; } static int mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.h b/ext/mbstring/libmbfl/filters/mbfilter_jis.h index e7a164167e4b2..867f07381dd1b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.h @@ -44,6 +44,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp; int mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_JIS_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index 65238d5fd2efd..012b1b3c0ac5e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -147,13 +147,11 @@ int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter) { - /* flush filter cache */ (*filter->filter_function)('\0', filter); filter->status &= ~0xffff; filter->cache = 0; - return 0; } /* @@ -227,7 +225,7 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter) { int status, cache; @@ -237,11 +235,9 @@ int mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter) filter->cache = 0; /* flush fragments */ if (status == 1) { - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ + (*filter->output_function)(0x3d, filter->data); /* '=' */ } else if (status == 2) { - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ - CK((*filter->output_function)(cache, filter->data)); + (*filter->output_function)(0x3d, filter->data); /* '=' */ + (*filter->output_function)(cache, filter->data); } - - return 0; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h index 217d5a612ce67..f7212acc683af 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h @@ -38,8 +38,8 @@ extern const struct mbfl_convert_vtbl vtbl_8bit_qprint; extern const struct mbfl_convert_vtbl vtbl_qprint_8bit; int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter); int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ASCII_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index b3a6c2764bb96..7011df52b6de1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -515,13 +515,12 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) { int status = filter->status & 0xF; if (status == 1 || status == 4 || status == 5) { - CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data); } - return 0; } int @@ -718,8 +717,7 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { return c; } -int -mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) { int k, c1, c2, s1, s2; @@ -740,34 +738,32 @@ mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) s2 = s1 & 0x7f; s1 = (s1 >> 8) & 0x7f; if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x51, filter->data)); /* 'Q' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x51, filter->data); /* 'Q' */ } filter->status = 0x200; } - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } /* If we had switched to a different charset, go back to ASCII mode * This makes it possible to concatenate arbitrary valid strings * together and get a valid string */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0; if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + (*filter->flush_function)(filter->data); } - - return 0; } /* SJIS-2004 doesn't use all the 2-byte sequences which would otherwise be legal; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h index 9cb0a0ab818a1..79317929441cb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h @@ -40,8 +40,8 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_sjis2004; int mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter); -int mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_SJIS_2004_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index f96773d5edf9a..580db3bcffa19 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -40,8 +40,8 @@ extern const unsigned char mblen_table_sjis[]; static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); -static int mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_sjis_mac_aliases[] = {"MacJapanese", "x-Mac-Japanese", NULL}; @@ -278,13 +278,12 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) +static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) { if (filter->status == 1) { int w = (filter->cache & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } - return 0; } /* @@ -684,31 +683,28 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) return c; } -static int -mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) +static void mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) { - int i, c1, s1 = 0; + int s1 = 0; if (filter->status == 1 && filter->cache > 0) { - c1 = filter->cache; - for (i=0;icache; + for (int i = 0; i < s_form_tbl_len; i++) { if (c1 == s_form_tbl[i]) { s1 = s_form_sjis_fallback_tbl[i]; break; } } if (s1 > 0) { - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0xff, filter->data)); + (*filter->output_function)((s1 >> 8) & 0xff, filter->data); + (*filter->output_function)(s1 & 0xff, filter->data); } } filter->cache = 0; filter->status = 0; - if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } - - return 0; } /* MacJapanese doesn't use all the 2-byte sequences which would otherwise be legal; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 0a7dec135e41e..4ebc6471c98cd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -904,19 +904,15 @@ mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) return c; } -int -mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) { int c1 = filter->cache; if (filter->status == 1 && (c1 == 0x0023 || (c1 >= 0x0030 && c1<=0x0039))) { - CK((*filter->output_function)(c1, filter->data)); + (*filter->output_function)(c1, filter->data); } - filter->status = 0; - filter->cache = 0; + filter->status = filter->cache = 0; - if (filter->flush_function != NULL) { - return (*filter->flush_function)(filter->data); + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } - - return 0; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h index 51b703da72964..6ab1cee354153 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h @@ -54,7 +54,7 @@ extern const unsigned short mbfl_kddi2uni_pua_b[8][3]; int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter); int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd); int mbfilter_sjis_emoji_kddi2unicode(int s, int *snd); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 60ce8f0b2d2c6..25c7c18bf4f27 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -236,28 +236,23 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) return (*filt->output_function)(s, filt->data); } -int -mbfl_filt_tl_jisx0201_jisx0208_flush(mbfl_convert_filter *filt) +void mbfl_filt_tl_jisx0201_jisx0208_flush(mbfl_convert_filter *filt) { - int ret, n; intptr_t mode = (intptr_t)filt->opaque; - ret = 0; if (filt->status) { - n = (filt->cache - 0xff60) & 0x3f; + int n = (filt->cache - 0xff60) & 0x3f; if (mode & MBFL_FILT_TL_HAN2ZEN_KATAKANA) { /* hankaku kana to zenkaku katakana */ - ret = (*filt->output_function)(0x3000 + hankana2zenkana_table[n], filt->data); + (*filt->output_function)(0x3000 + hankana2zenkana_table[n], filt->data); } else if (mode & MBFL_FILT_TL_HAN2ZEN_HIRAGANA) { /* hankaku kana to zenkaku hiragana */ - ret = (*filt->output_function)(0x3000 + hankana2zenhira_table[n], filt->data); + (*filt->output_function)(0x3000 + hankana2zenhira_table[n], filt->data); } filt->status = 0; } - if (filt->flush_function != NULL) { - return (*filt->flush_function)(filt->data); + if (filt->flush_function) { + (*filt->flush_function)(filt->data); } - - return ret; } const struct mbfl_convert_vtbl vtbl_tl_jisx0201_jisx0208 = { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index f5b7eb49fd8b9..f9d7dda3a37ef 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -33,7 +33,7 @@ static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter); -static int mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf16_aliases[] = {"utf16", NULL}; @@ -323,7 +323,7 @@ int mbfl_filt_conv_wchar_utf16le(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) +static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) { int status = filter->status; int cache = filter->cache; @@ -331,14 +331,12 @@ static int mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) if (status) { /* Input string was truncated */ - CK((*filter->output_function)(cache | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(cache | MBFL_WCSGROUP_THROUGH, filter->data); } if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return 0; } static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index ae9d0e26b1ff0..13e899f76ad96 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -33,7 +33,7 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter); static int mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter); -static int mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf32_aliases[] = {"utf32", NULL}; @@ -232,18 +232,16 @@ int mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) +static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) { if (filter->status) { /* Input string was truncated */ - CK((*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data); } if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return 0; } static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 8a2a7bd13fb90..dadc33133fa83 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -409,7 +409,7 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) } -int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) { int status = filter->status; int cache = filter->cache; @@ -417,33 +417,31 @@ int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) /* flush fragments */ switch (status) { case 1: - CK((*filter->output_function)(mbfl_base64_table[(cache >> 10) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache >> 4) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache << 2) & 0x3c], filter->data)); - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)(mbfl_base64_table[(cache >> 10) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache >> 4) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache << 2) & 0x3c], filter->data); + (*filter->output_function)('-', filter->data); break; case 2: - CK((*filter->output_function)(mbfl_base64_table[(cache >> 14) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache >> 8) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache >> 2) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache << 4) & 0x30], filter->data)); - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)(mbfl_base64_table[(cache >> 14) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache >> 8) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache >> 2) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache << 4) & 0x30], filter->data); + (*filter->output_function)('-', filter->data); break; case 3: - CK((*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[cache & 0x3f], filter->data)); - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[cache & 0x3f], filter->data); + (*filter->output_function)('-', filter->data); break; } if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return 0; } static int mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h index 6223bdba97e29..bdf4f6e7420be 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf7; int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF7_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 8582265296532..2b2c2dacdf31f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -414,7 +414,7 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) } -int mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) { int status, cache; @@ -425,28 +425,27 @@ int mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) /* flush fragments */ switch (status) { case 1: - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 10) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 4) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 2) & 0x3c], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 10) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 4) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 2) & 0x3c], filter->data); + (*filter->output_function)(0x2d, filter->data); /* '-' */ break; case 2: - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 14) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 8) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 2) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 4) & 0x30], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 14) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 8) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 2) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache << 4) & 0x30], filter->data); + (*filter->output_function)(0x2d, filter->data); /* '-' */ break; case 3: - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 12) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[cache & 0x3f], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 12) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(cache >> 6) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[cache & 0x3f], filter->data); + (*filter->output_function)(0x2d, filter->data); /* '-' */ break; } - return 0; } /* IMAP has its own crazy variation on Base64 encoding where / is replaced by , */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h index 3638146a0a332..64280ea1b16fd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h @@ -39,6 +39,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf7imap; int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF7IMAP_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 80fa3d0afc7f4..df33f1efb0b0e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -187,7 +187,7 @@ int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) { int status, cache; @@ -198,13 +198,12 @@ int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) filter->cache = 0; if (status != 0) { - CK(mbfl_filt_put_invalid_char(cache, filter)); + mbfl_filt_put_invalid_char(cache, filter); } - if (filter->flush_function != NULL) { + if (filter->flush_function) { (*filter->flush_function)(filter->data); } - return 0; } /* diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h index b0c93ccd3db3c..57448ede05c5e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h @@ -37,6 +37,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf8; int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF8_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index 341485888496f..9c533f0f603cc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -33,7 +33,7 @@ #include "mbfilter_sjis_mobile.h" extern int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); -extern int mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); +extern void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); extern const unsigned char mblen_table_utf8[]; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index e01dbd299d865..742876f1ee405 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -170,10 +170,12 @@ unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsi return p; } -int mbfl_convert_filter_flush(mbfl_convert_filter *filter) +void mbfl_convert_filter_flush(mbfl_convert_filter *filter) { (*filter->filter_flush)(filter); - return filter->flush_function ? (*filter->flush_function)(filter->data) : 0; + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } } void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to) @@ -368,13 +370,10 @@ void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter) filter->cache = 0; } -int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter) +void mbfl_filt_conv_common_flush(mbfl_convert_filter *filter) { - filter->status = 0; - filter->cache = 0; - - if (filter->flush_function != NULL) { + filter->status = filter->cache = 0; + if (filter->flush_function) { (*filter->flush_function)(filter->data); } - return 0; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h index 05f683698619c..555082fab942e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h @@ -38,11 +38,11 @@ typedef struct _mbfl_convert_filter mbfl_convert_filter; /* internal */ -typedef int (*filter_flush_t)(mbfl_convert_filter*); +typedef void (*filter_flush_t)(mbfl_convert_filter*); /* defined by mbfl_convert_filter_{new,new2,init} */ typedef int (*output_function_t)(int, void*); -typedef int (*flush_function_t)(void *); +typedef void (*flush_function_t)(void *); struct _mbfl_convert_filter { void (*filter_ctor)(mbfl_convert_filter *filter); @@ -69,13 +69,13 @@ MBFLAPI extern mbfl_convert_filter *mbfl_convert_filter_new2(const struct mbfl_c MBFLAPI extern void mbfl_convert_filter_delete(mbfl_convert_filter *filter); MBFLAPI extern int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter); MBFLAPI extern unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len); -MBFLAPI extern int mbfl_convert_filter_flush(mbfl_convert_filter *filter); +MBFLAPI extern void mbfl_convert_filter_flush(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to); MBFLAPI extern int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter); MBFLAPI extern const struct mbfl_convert_vtbl * mbfl_convert_filter_get_vtbl(const mbfl_encoding *from, const mbfl_encoding *to); MBFLAPI extern void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter); -MBFLAPI extern int mbfl_filt_conv_common_flush(mbfl_convert_filter *filter); +MBFLAPI extern void mbfl_filt_conv_common_flush(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src); MBFLAPI extern int mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index d49326201106f..cf5658e18d63e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -134,8 +134,8 @@ struct mbfl_convert_vtbl { enum mbfl_no_encoding to; void (*filter_ctor)(struct _mbfl_convert_filter *filter); void (*filter_dtor)(struct _mbfl_convert_filter *filter); - int (*filter_function)(int c, struct _mbfl_convert_filter *filter); - int (*filter_flush)(struct _mbfl_convert_filter *filter); + int (*filter_function)(int c, struct _mbfl_convert_filter *filter); + void (*filter_flush)(struct _mbfl_convert_filter *filter); }; /* From 7cf60e0caa343f4d8badab9a073e8f070e05dbf7 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 22:38:02 +0200 Subject: [PATCH 060/123] Canonicalize flags received by mb_convert_kana mb_convert_kana receives flags which specify what conversions it should perform. Some of these flags subsume others; for example, 'A' does everything which 'R' and 'N' do, and more. In cases where redundant flags are provided (like "AR" instead of just "A"), canonicalize them to the smallest set which has the same effect. In some cases, this will reduce the number of tests which need to be evaluated for each character when actually performing the conversion. --- ext/mbstring/mbstring.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 49ddfcb280ecb..d0450f0d8f9b7 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2883,28 +2883,38 @@ PHP_FUNCTION(mb_convert_kana) DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_ALPHA, 'A', 'r'); DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_NUMERIC, 'A', 'n'); opt |= MBFL_FILT_TL_HAN2ZEN_ALL; + opt &= ~(MBFL_FILT_TL_HAN2ZEN_ALPHA | MBFL_FILT_TL_HAN2ZEN_NUMERIC); /* No need for these flags, they're covered */ break; case 'a': DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALL, 'a', 'A'); DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALPHA, 'a', 'R'); DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_NUMERIC, 'a', 'N'); opt |= MBFL_FILT_TL_ZEN2HAN_ALL; + opt &= ~(MBFL_FILT_TL_ZEN2HAN_ALPHA | MBFL_FILT_TL_ZEN2HAN_NUMERIC); /* These flags are covered by 'a' */ break; case 'R': DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_ALPHA, 'R', 'r'); - opt |= MBFL_FILT_TL_HAN2ZEN_ALPHA; + if (!(opt & MBFL_FILT_TL_HAN2ZEN_ALL)) { /* 'R' is redundant if we have 'A' */ + opt |= MBFL_FILT_TL_HAN2ZEN_ALPHA; + } break; case 'r': DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_ALPHA, 'r', 'R'); - opt |= MBFL_FILT_TL_ZEN2HAN_ALPHA; + if (!(opt & MBFL_FILT_TL_ZEN2HAN_ALL)) { /* 'r' is redundant if we have 'a' */ + opt |= MBFL_FILT_TL_ZEN2HAN_ALPHA; + } break; case 'N': DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_NUMERIC, 'N', 'n'); - opt |= MBFL_FILT_TL_HAN2ZEN_NUMERIC; + if (!(opt & MBFL_FILT_TL_HAN2ZEN_ALL)) { /* 'N' is redundant if we have 'A' */ + opt |= MBFL_FILT_TL_HAN2ZEN_NUMERIC; + } break; case 'n': DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_NUMERIC, 'n', 'N'); - opt |= MBFL_FILT_TL_ZEN2HAN_NUMERIC; + if (!(opt & MBFL_FILT_TL_ZEN2HAN_ALL)) { /* 'n' is redundant if we have 'a' */ + opt |= MBFL_FILT_TL_ZEN2HAN_NUMERIC; + } break; case 'S': DISALLOW_FLAG(MBFL_FILT_TL_ZEN2HAN_SPACE, 'S', 's'); From d2d0c1c1a4937f27480b0f232195efb48089b849 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 23:09:59 +0200 Subject: [PATCH 061/123] Don't redundantly flush filter chain twice in mbfl_convert_filter_flush This function explicitly flushes the second filter in the chain; but the flush function for each filter in a chain should always call the next one (if there is a next one). So this is actually flushing the entire chain twice. --- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 742876f1ee405..cd6534230d31f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -173,9 +173,6 @@ unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsi void mbfl_convert_filter_flush(mbfl_convert_filter *filter) { (*filter->filter_flush)(filter); - if (filter->flush_function) { - (*filter->flush_function)(filter->data); - } } void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to) From 1ab4f68ad30a6f766e4383073436701a2d3634b1 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 23:17:51 +0200 Subject: [PATCH 062/123] Remove unneeded 'filter_ctor' field from filter structs This function pointer is only called when initializing the struct. After that nothing is done with it. Therefore, there is no need to keep it in the struct. --- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 3 +-- ext/mbstring/libmbfl/mbfl/mbfl_convert.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 3 +-- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 1 - 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index cd6534230d31f..20feeac97057d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -112,12 +112,11 @@ static void mbfl_convert_filter_common_init(mbfl_convert_filter *filter, const m filter->illegal_mode = MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR; filter->illegal_substchar = '?'; filter->num_illegalchar = 0; - filter->filter_ctor = vtbl->filter_ctor; filter->filter_dtor = vtbl->filter_dtor; filter->filter_function = vtbl->filter_function; filter->filter_flush = (filter_flush_t)vtbl->filter_flush; - (*filter->filter_ctor)(filter); + (*vtbl->filter_ctor)(filter); } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h index 555082fab942e..6c00d7bd9e025 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h @@ -45,7 +45,6 @@ typedef int (*output_function_t)(int, void*); typedef void (*flush_function_t)(void *); struct _mbfl_convert_filter { - void (*filter_ctor)(mbfl_convert_filter *filter); void (*filter_dtor)(mbfl_convert_filter *filter); int (*filter_function)(int c, mbfl_convert_filter *filter); filter_flush_t filter_flush; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 32ed05736b633..b245c84f64b06 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -206,10 +206,9 @@ void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encodin /* setup the function table */ const struct mbfl_identify_vtbl *vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); ZEND_ASSERT(vtbl); - filter->filter_ctor = vtbl->filter_ctor; filter->filter_function = vtbl->filter_function; - (*filter->filter_ctor)(filter); + (*vtbl->filter_ctor)(filter); } void mbfl_identify_filter_delete(mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 6c4ded29d7592..094d4a7769337 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -40,7 +40,6 @@ typedef struct _mbfl_identify_filter mbfl_identify_filter; struct _mbfl_identify_filter { - void (*filter_ctor)(mbfl_identify_filter *filter); int (*filter_function)(int c, mbfl_identify_filter *filter); int status; int flag; From d88df519f004446cfdb8f203a40051b402e7b414 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 23:22:28 +0200 Subject: [PATCH 063/123] Initialization of encoding identification filters is more concise --- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 14 +++----------- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 3 +-- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index b245c84f64b06..f7b4b84c0223d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -180,25 +180,17 @@ const struct mbfl_identify_vtbl* mbfl_identify_filter_get_vtbl(enum mbfl_no_enco mbfl_identify_filter *mbfl_identify_filter_new(enum mbfl_no_encoding encoding) { - mbfl_identify_filter *filter = emalloc(sizeof(mbfl_identify_filter)); - mbfl_identify_filter_init(filter, encoding); - return filter; + return mbfl_identify_filter_new2(mbfl_no2encoding(encoding)); } mbfl_identify_filter *mbfl_identify_filter_new2(const mbfl_encoding *encoding) { mbfl_identify_filter *filter = emalloc(sizeof(mbfl_identify_filter)); - mbfl_identify_filter_init2(filter, encoding); + mbfl_identify_filter_init(filter, encoding); return filter; } -void mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding) -{ - const mbfl_encoding *enc = mbfl_no2encoding(encoding); - mbfl_identify_filter_init2(filter, enc ? enc : &mbfl_encoding_pass); -} - -void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding) +void mbfl_identify_filter_init(mbfl_identify_filter *filter, const mbfl_encoding *encoding) { filter->encoding = encoding; filter->status = filter->flag = filter->score = 0; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 094d4a7769337..ed2b5bb62268e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -57,8 +57,7 @@ MBFLAPI extern const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(e MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new(enum mbfl_no_encoding encoding); MBFLAPI extern mbfl_identify_filter * mbfl_identify_filter_new2(const mbfl_encoding *encoding); MBFLAPI extern void mbfl_identify_filter_delete(mbfl_identify_filter *filter); -MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, enum mbfl_no_encoding encoding); -MBFLAPI extern void mbfl_identify_filter_init2(mbfl_identify_filter *filter, const mbfl_encoding *encoding); +MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, const mbfl_encoding *encoding); MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); From a67cb8fcfc9aa32cd92af7f2d548bcf859af9d5e Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 8 Aug 2020 23:23:09 +0200 Subject: [PATCH 064/123] Remove unused 'score' field from mbfl_identify_filter struct --- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index f7b4b84c0223d..3d79ff1c9c00e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -193,7 +193,7 @@ mbfl_identify_filter *mbfl_identify_filter_new2(const mbfl_encoding *encoding) void mbfl_identify_filter_init(mbfl_identify_filter *filter, const mbfl_encoding *encoding) { filter->encoding = encoding; - filter->status = filter->flag = filter->score = 0; + filter->status = filter->flag = 0; /* setup the function table */ const struct mbfl_identify_vtbl *vtbl = mbfl_identify_filter_get_vtbl(filter->encoding->no_encoding); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index ed2b5bb62268e..6493cef530350 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -43,7 +43,6 @@ struct _mbfl_identify_filter { int (*filter_function)(int c, mbfl_identify_filter *filter); int status; int flag; - int score; const mbfl_encoding *encoding; }; From e48660d10f2ec7b6d42d31459fa796bb4bc3274f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 12 Aug 2020 21:53:23 +0200 Subject: [PATCH 065/123] Rewrite UTF-8 -> wchar conversion to use function pointer as state variable This is slightly faster. --- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 173 +++++++++--------- ext/mbstring/libmbfl/mbfl/mbfilter.c | 4 +- .../libmbfl/mbfl/mbfl_filter_output.c | 8 + .../libmbfl/mbfl/mbfl_filter_output.h | 1 + 4 files changed, 93 insertions(+), 93 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index df33f1efb0b0e..5f535b62efe23 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -92,123 +92,114 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8 = { int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) { - int w; - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - filter->status = 0; - filter->cache = 0; - CK((*filter->output_function)(w, filter->data)); + filter->filter_function = mbfl_filt_conv_utf8_wchar; + filter->cache = filter->status = 0; + CK((*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data)); return 0; } +int mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter); +int mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter); +int mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter); -/* - * UTF-8 => wchar - */ int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) { - int s, c1; + if (c < 0x80) { + CK((*filter->output_function)(c, filter->data)); + } else if (c >= 0xC2 && c <= 0xDF) { /* 2-byte character */ + /* The first byte of a 2-byte character must be at least 0xC2... if it was + * 0xC0 or 0xC1, that would mean the character could have fit into 1 byte! + * UTF-8 characters must be encoded in the smallest number of bytes that works */ + filter->filter_function = mbfl_filt_conv_utf8_wchar_lastbyte; + filter->status = 1; + filter->cache = c & 0x1F; + } else if (c >= 0xE0 && c <= 0xEF) { /* 3-byte character */ + filter->filter_function = mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte; + filter->status = 1; + filter->cache = c & 0xF; + } else if (c >= 0xF0 && c <= 0xF4) { /* 4-byte character */ + filter->filter_function = mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes; + filter->status = 1; + filter->cache = c & 0x7; + } else { + CK(mbfl_filt_put_invalid_char(c, filter)); + } + return c; +} -retry: - switch (filter->status & 0xff) { - case 0x00: - if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); - } else if (c >= 0xc2 && c <= 0xdf) { /* 2byte code first char: 0xc2-0xdf */ - filter->status = 0x10; - filter->cache = c & 0x1f; - } else if (c >= 0xe0 && c <= 0xef) { /* 3byte code first char: 0xe0-0xef */ - filter->status = 0x20; - filter->cache = c & 0xf; - } else if (c >= 0xf0 && c <= 0xf4) { /* 3byte code first char: 0xf0-0xf4 */ - filter->status = 0x30; - filter->cache = c & 0x7; - } else { - CK(mbfl_filt_put_invalid_char(c, filter)); - } - break; - case 0x10: /* 2byte code 2nd char: 0x80-0xbf */ - case 0x21: /* 3byte code 3rd char: 0x80-0xbf */ - case 0x32: /* 4byte code 4th char: 0x80-0xbf */ - filter->status = 0; - if (c >= 0x80 && c <= 0xbf) { - s = (filter->cache<<6) | (c & 0x3f); - filter->cache = 0; - CK((*filter->output_function)(s, filter->data)); - } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); - goto retry; +int mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter) +{ + /* 2nd byte of a 4-byte character + * + * If the cache is zero, and `c & 0x30` is zero, that means the top 5 bits + * of the 21-bit codepoint were all zero... meaning this character could + * have fit into the 16 data bits of a 3-byte character */ + if (c >= 0x80 && c <= 0xBF && (filter->cache || (c & 0x30))) { + filter->cache = (filter->cache << 6) | (c & 0x3F); + filter->filter_function = mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte; + } else { + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { + /* Only retry if byte could be the start of a valid UTF-8 character */ + return mbfl_filt_conv_utf8_wchar(c, filter); } - break; - case 0x20: /* 3byte code 2nd char: 0:0xa0-0xbf,D:0x80-9F,1-C,E-F:0x80-0x9f */ - s = (filter->cache<<6) | (c & 0x3f); - c1 = filter->cache & 0xf; + } + return c; +} - if ((c >= 0x80 && c <= 0xbf) && - ((c1 == 0x0 && c >= 0xa0) || - (c1 == 0xd && c < 0xa0) || - (c1 > 0x0 && c1 != 0xd))) { - filter->cache = s; - filter->status++; - } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); - goto retry; +int mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter) +{ + if (c >= 0x80 && c <= 0xBF && (filter->cache || (c & 0x20)) && (filter->cache != 0xD || !(c & 0x20))) { + /* This could be the 2nd byte of a 3-byte character + * If so, and the cache is zero, and `c & 0x20` is zero, then this + * character could have fit into 2 bytes + * + * Again, if the cache is 0xD, and the high bit of `c` is 1, then this + * codepoint is in the illegal range 0xD800-0xDFFF, which is not used + * so as not to overlap with 'surrogates' in some encodings like UTF-16 */ + filter->cache = (filter->cache << 6) | (c & 0x3f); + filter->filter_function = mbfl_filt_conv_utf8_wchar_lastbyte; + } else { + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { + return mbfl_filt_conv_utf8_wchar(c, filter); } - break; - case 0x30: /* 4byte code 2nd char: 0:0x90-0xbf,1-3:0x80-0xbf,4:0x80-0x8f */ - s = (filter->cache<<6) | (c & 0x3f); - c1 = filter->cache & 0x7; + } + return c; +} - if ((c >= 0x80 && c <= 0xbf) && - ((c1 == 0x0 && c >= 0x90) || - (c1 == 0x4 && c < 0x90) || - (c1 > 0x0 && c1 != 0x4))) { - filter->cache = s; - filter->status++; - } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); - goto retry; - } - break; - case 0x31: /* 4byte code 3rd char: 0x80-0xbf */ - if (c >= 0x80 && c <= 0xbf) { - filter->cache = (filter->cache<<6) | (c & 0x3f); - filter->status++; - } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); - goto retry; +int mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter) +{ + filter->filter_function = mbfl_filt_conv_utf8_wchar; + filter->status = 0; + if (c >= 0x80 && c <= 0xBF) { + int s = (filter->cache << 6) | (c & 0x3F); + filter->cache = 0; + if (s <= 0x10FFFF) { + CK((*filter->output_function)(s, filter->data)); + return; } - break; - default: - filter->status = 0; - break; } + CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { + return mbfl_filt_conv_utf8_wchar(c, filter); + } return c; } void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) { - int status, cache; - - status = filter->status; - cache = filter->cache; - - filter->status = 0; - filter->cache = 0; - - if (status != 0) { - mbfl_filt_put_invalid_char(cache, filter); + if (filter->cache != 0) { + mbfl_filt_put_invalid_char(filter->cache, filter); } + filter->cache = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); } } -/* - * wchar => UTF-8 - */ int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x110000) { diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 7ea03abd7396c..e08a8578da4f7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -91,6 +91,7 @@ #include "filters/mbfilter_utf8.h" #include "../mbstring_singlebyte.h" +#include "mbfl_filter_output.h" #include "eaw_table.h" #include "filters/unicode_prop.h" @@ -1256,7 +1257,7 @@ struct mime_header_decoder_data *mime_header_decoder_new(const mbfl_encoding *ou (flush_function_t)pd->conv2_filter->filter_flush, pd->conv2_filter); /* decode filter; 'from' encoding may change to base64 or qprint later */ - pd->decode_filter = mbfl_convert_filter_new(&mbfl_encoding_8bit, &mbfl_encoding_8bit, (filter_output_func)pd->conv1_filter->filter_function, + pd->decode_filter = mbfl_convert_filter_new(&mbfl_encoding_8bit, &mbfl_encoding_8bit, mbfl_filter_output_pipe, (flush_function_t)pd->conv1_filter->filter_flush, pd->conv1_filter); return pd; } @@ -1298,7 +1299,6 @@ static void mime_prepare_filters_for_encword_contents(struct mime_header_decoder const mbfl_encoding *transfer_encoding) { mbfl_convert_filter_reset(pd->conv1_filter, content_encoding, &mbfl_encoding_wchar); - pd->decode_filter->output_function = (int(*)(int, void*))pd->conv1_filter->filter_function; pd->decode_filter->flush_function = (flush_function_t)pd->conv1_filter->filter_flush; mbfl_convert_filter_reset(pd->decode_filter, transfer_encoding, &mbfl_encoding_8bit); } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c index 82ddc9caf613f..4b66c2974a04d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c @@ -28,6 +28,14 @@ * */ +#include "mbfl_convert.h" + +int mbfl_filter_output_pipe(int c, void* data) +{ + mbfl_convert_filter *filter = (mbfl_convert_filter*)data; + return (*filter->filter_function)(c, filter); +} + int mbfl_filter_output_null(int c, void* data) { return c; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h index ca3b5551ab3aa..d10fa76b0cf5e 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h @@ -31,6 +31,7 @@ #ifndef MBFL_FILTER_OUTPUT_H #define MBFL_FILTER_OUTPUT_H +MBFLAPI extern int mbfl_filter_output_pipe(int c, void* data); MBFLAPI extern int mbfl_filter_output_null(int c, void* data); #endif /* MBFL_FILTER_OUTPUT_H */ From 3c510fa0de830e7d4a28d4003d148d9ceacadd57 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 15 Aug 2020 15:36:42 +0200 Subject: [PATCH 066/123] Optimize wchar -> JIS conversion (mbfl_filt_conv_wchar_jis) This function contained a number of redundant bitwise AND ops, masking off bits which will always be zero anyways. Remove them. --- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 540c9a633bc8d..982dd977e43ce 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -327,7 +327,7 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s < 0x80) { /* ASCII */ - if ((filter->status & 0xff00) != 0) { + if (filter->status != 0) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ @@ -335,7 +335,7 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) filter->status = 0; CK((*filter->output_function)(s, filter->data)); } else if (s < 0x100) { /* kana */ - if ((filter->status & 0xff00) != 0x100) { + if (filter->status != 0x100) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ @@ -343,7 +343,7 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) filter->status = 0x100; CK((*filter->output_function)(s & 0x7f, filter->data)); } else if (s < 0x8080) { /* X 0208 */ - if ((filter->status & 0xff00) != 0x200) { + if (filter->status != 0x200) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x24, filter->data)); /* '$' */ CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ @@ -352,7 +352,7 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); CK((*filter->output_function)(s & 0x7f, filter->data)); } else if (s < 0x10000) { /* X 0212 */ - if ((filter->status & 0xff00) != 0x300) { + if (filter->status != 0x300) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x24, filter->data)); /* '$' */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ @@ -362,7 +362,7 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); CK((*filter->output_function)(s & 0x7f, filter->data)); } else { /* X 0201 latin */ - if ((filter->status & 0xff00) != 0x400) { + if (filter->status != 0x400) { CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ CK((*filter->output_function)(0x28, filter->data)); /* '(' */ CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ From 4b53585958985e4e2a145e00f014ace3933977fc Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 15 Aug 2020 16:02:37 +0200 Subject: [PATCH 067/123] Optimize encoding of HTML decimal numeric entities ...By generating 2 decimal digits at once rather than 1 at a time. This reduces runtime of mb_encode_numericentity by more than 10% (when using decimal format for HTML numeric entities). On my development machine, making sure to align the source and destination buffers to a multiple of 16 bits was very important; when they were not aligned, this optimization actually became a pessimization (it made things slower). --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index e08a8578da4f7..dbcc0dbddf1f4 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -1380,6 +1380,8 @@ mbfl_string *mbfl_mime_header_decode(mbfl_string *string, mbfl_string *result, c return result; } +ZEND_SET_ALIGNED(2, static char decimal_digits[]) = "00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899"; + mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *result, int *convmap, int mapsize, bool hex) { @@ -1392,7 +1394,7 @@ mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *r size_t len; unsigned int *wc_buffer = convert_string_to_wchar(string, &len), *p = wc_buffer, *e = p + len; int *convmap_end = convmap + (mapsize * 4); - unsigned char buf[16]; + ZEND_SET_ALIGNED(2, unsigned char buf[16]); /* We will do 16-bit writes into this buffer */ next_character: while (p < e) { @@ -1425,9 +1427,13 @@ mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *r c >>= 4; } } else { - while (c > 0) { + while (c >= 10) { + converted -= 2; + *((uint16_t*)converted) = ((uint16_t*)decimal_digits)[c % 100]; + c /= 100; + } + if (c > 0) { *(--converted) = "0123456789"[c % 10]; - c /= 10; } } mbfl_convert_filter_feed_string(decoder, converted, buf + sizeof(buf) - converted); From 951001af7be605be28c593b30597396bc4082d5b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 24 Aug 2020 21:47:13 +0200 Subject: [PATCH 068/123] Offset and mask values in mb_encode_numericentity convmap do not affect which ranges apply This is a subtle change in behavior for mbstring, but a good one. First, some background: mb_encode_numericentity takes a series of integers called a 'convmap'. Each group of four integers specifies a range of codepoints which should be encoded as HTML numeric entities, and further specifies some transformations which should be performed on them. In particular, the first two integers in each group are low and high codepoint values to encode. The third is a (signed) offset to add to a codepoint before encoding it, and the fourth is a bitmask to apply to the codepoint before encoding. After applying the offset and bitmask, legacy mbstring checked that the resulting value was non-negative before encoding it. This test is hereby removed, and here's the reasons: 1. The documentation does not indicate in any way that the offset and mask should affect which codepoints are actually converted. Rather, it implies the opposite. 2. The argument names do not imply in any way that they should have such an effect. 3. Common sense does not imply that they should have such an effect. 4. There is no apparent use case for this behavior. 5. All existing tests pass with the 'non-negative' condition removed. 6. Even if we fly in the face of good sense and stubbornly say that the legacy behavior should remain... the legacy behavior was broken. It created a strange dependency on the bit width of a C `int` on the target platform. Technically, it also creates a dependency on the representation of negative integers, since the C standard allows three possible representations... but all platforms of interest use two's-complement. Anyways, the dependency on the bit width of `int` is clearly undesirable. Just say NO to bitwise ops on signed integers! --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index dbcc0dbddf1f4..556034be36946 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -1398,7 +1398,7 @@ mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *r next_character: while (p < e) { - int c = *p++; + unsigned int c = *p++; for (int *mapelm = convmap; mapelm < convmap_end; mapelm += 4) { int lo_code = mapelm[0]; @@ -1409,10 +1409,6 @@ mbfl_string *mbfl_html_numeric_entity_encode(mbfl_string *string, mbfl_string *r if (c >= lo_code && c <= hi_code) { c = (c + offset) & mask; - if (c < 0) { - continue; /* Don't output anything, but see if another range matches */ - } - mbfl_convert_filter_feed('&', decoder); mbfl_convert_filter_feed('#', decoder); From 8836e3cd1511d8580ea7bfe329dee24699d87029 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 25 Aug 2020 22:29:04 +0200 Subject: [PATCH 069/123] Test strimwidth with UTF-16LE text --- ext/mbstring/tests/mb_strimwidth.phpt | 65 ++++++++++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/tests/mb_strimwidth.phpt b/ext/mbstring/tests/mb_strimwidth.phpt index 4ac51d77bee5a..6d93662efb19b 100644 --- a/ext/mbstring/tests/mb_strimwidth.phpt +++ b/ext/mbstring/tests/mb_strimwidth.phpt @@ -23,7 +23,8 @@ function MBStringWidths($string, $encoding) { } function testStrimwidth($index, $string, $start, $width, $encoding) { - $result = mb_strimwidth($string, $start, $width, '...', $encoding); + $trimmark = mb_convert_encoding('...', $encoding, 'ASCII'); + $result = mb_strimwidth($string, $start, $width, $trimmark, $encoding); print "Test $index: start=$start width=$width result=["; print MBStringChars($result, $encoding); print "] length=" . mb_strlen($result, $encoding); @@ -33,6 +34,7 @@ function testStrimwidth($index, $string, $start, $width, $encoding) { // EUC-JP $euc_jp = pack('H*', '30313233a4b3a4cecab8bbfacef3a4cfc6fccbdcb8eca4c7a4b9a1a34555432d4a50a4f2bbc8a4c3a4c6a4a4a4dea4b9a1a3c6fccbdcb8eca4cfccccc5ddbdada4a4a1a3'); +print "** EUC-JP **\n"; print "String width: ".mb_strwidth($euc_jp,'EUC-JP')."\n"; print "String character length: ".mb_strlen($euc_jp,'EUC-JP')."\n"; @@ -85,8 +87,52 @@ try { echo $e->getMessage() . \PHP_EOL; } +echo "\n"; + +// UTF-16 +// In UTF-8, this is: 123abc漢字かな +$utf16le = pack('H*', '310032003300610062006300226f575b4b306a30'); + +echo "** UTF-16LE **\n"; +print "String width: " . mb_strwidth($utf16le, 'UTF-16LE') . "\n"; +print "String character length: " . mb_strlen($utf16le, 'UTF-16LE') . "\n"; + +echo 'Characters: [' . MBStringChars($utf16le, 'UTF-16LE') . "]\n"; +echo 'Character widths: [' . MBStringWidths($utf16le, 'UTF-16LE') . "]\n\n"; + +// Just take the whole string with plenty of room to spare +testStrimwidth(10, $utf16le, 0, 100, 'UTF-16LE'); + +// OK, now the string will just barely fit in the allowed width... +testStrimwidth(11, $utf16le, 0, 14, 'UTF-16LE'); + +// Now the last hiragana won't quite fit +testStrimwidth(12, $utf16le, 0, 13, 'UTF-16LE'); + +// Even a bit tighter +testStrimwidth(13, $utf16le, 0, 12, 'UTF-16LE'); + +// What if we expect an output width of zero? +// (It will still output the trim marker, pushing the width beyond the stipulated 'maximum') +testStrimwidth(14, $utf16le, 0, 0, 'UTF-16LE'); + +// Or output width of one? +// (Likewise, it will still output the trim marker) +testStrimwidth(15, $utf16le, 0, 1, 'UTF-16LE'); + +// OK, let's count back 3 characters from the end of the string, then allow a width of 5 +// (Negative starting index) +testStrimwidth(16, $utf16le, -3, 5, 'UTF-16LE'); + +// Let's also try a negative width +// We'll count back 4 characters, then allow a width of ((4 * 2) - 2) = 6 +// Since the output will not reach the END of the string, the trim marker +// will have to be added, and will consume a width of 3 +testStrimwidth(17, $utf16le, -4, -2, 'UTF-16LE'); + ?> --EXPECT-- +** EUC-JP ** String width: 68 String character length: 39 Characters: [30 31 32 33 a4b3 a4ce cab8 bbfa cef3 a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 2d 4a 50 a4f2 bbc8 a4c3 a4c6 a4a4 a4de a4b9 a1a3 c6fc cbdc b8ec a4cf cccc c5dd bdad a4a4 a1a3] @@ -102,4 +148,19 @@ Test 7: start=-30 width=-25 result=[a4cf c6fc cbdc b8ec a4c7 a4b9 a1a3 45 55 43 Test 8: start=100 width=10 result=[] length=0 width=0 Test 9: start=-10 width=-12 result=[a1a3 c6fc 2e 2e 2e] length=5 width=7 mb_strimwidth(): Argument #3 ($width) is out of range -mb_strimwidth(): Argument #2 ($start) is out of range \ No newline at end of file +mb_strimwidth(): Argument #2 ($start) is out of range + +** UTF-16LE ** +String width: 14 +String character length: 10 +Characters: [3100 3200 3300 6100 6200 6300 226f 575b 4b30 6a30] +Character widths: [1 1 1 1 1 1 2 2 2 2] + +Test 10: start=0 width=100 result=[3100 3200 3300 6100 6200 6300 226f 575b 4b30 6a30] length=10 width=14 +Test 11: start=0 width=14 result=[3100 3200 3300 6100 6200 6300 226f 575b 4b30 6a30] length=10 width=14 +Test 12: start=0 width=13 result=[3100 3200 3300 6100 6200 6300 226f 575b 2e00 2e00 2e00] length=11 width=13 +Test 13: start=0 width=12 result=[3100 3200 3300 6100 6200 6300 226f 2e00 2e00 2e00] length=10 width=11 +Test 14: start=0 width=0 result=[2e00 2e00 2e00] length=3 width=3 +Test 15: start=0 width=1 result=[2e00 2e00 2e00] length=3 width=3 +Test 16: start=-3 width=5 result=[575b 2e00 2e00 2e00] length=4 width=5 +Test 17: start=-4 width=-2 result=[226f 2e00 2e00 2e00] length=4 width=5 From 3a5c5e7a81009f390ec4fa1331d1bac169670838 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 25 Aug 2020 22:51:47 +0200 Subject: [PATCH 070/123] Test mb_strcut more thoroughly on UTF-16LE text --- ext/mbstring/tests/mb_strcut.phpt | 39 ++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/tests/mb_strcut.phpt b/ext/mbstring/tests/mb_strcut.phpt index 5c191f7dcd983..6fac9de455ccc 100644 --- a/ext/mbstring/tests/mb_strcut.phpt +++ b/ext/mbstring/tests/mb_strcut.phpt @@ -21,7 +21,8 @@ $euc_jp = pack('H*', '30313233a4b3a4cecab8bbfacef3a4cfc6fccbdcb8eca4c7a4b9a1a345 // UTF-8 $utf8 = pack('H*', 'e288ae2045e28b856461203d2051'); // has 2 multi-byte characters: [e288ae 20 45 e28b85 64 61 20 3d 20 51] // UTF-16LE -$utf16le = pack('H*', '1a043804400438043b043b04380446043004200069007300200043007900720069006c006c0069006300'); +// The second-to-last character is encoded with a surrogate pair; we will make sure to test with it +$utf16le = pack('H*', '1a043804400438043b043b04380446043004200069007300200043007900720069006c006c0069006300200003d86dde2100'); print "== EUC-JP ==\n"; print MBStringChars(mb_strcut($euc_jp, 6, 5,'EUC-JP'), 'EUC-JP') . "\n"; @@ -50,10 +51,32 @@ print MBStringChars(mb_strcut($utf16le, 0, 0, 'UTF-16LE'), 'UTF-16LE') . "\n"; print MBStringChars(mb_strcut($utf16le, 0, 1, 'UTF-16LE'), 'UTF-16LE') . "\n"; print MBStringChars(mb_strcut($utf16le, 0, 2, 'UTF-16LE'), 'UTF-16LE') . "\n"; print MBStringChars(mb_strcut($utf16le, 0, 3, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, 0, 4, 'UTF-16LE'), 'UTF-16LE') . "\n"; + print MBStringChars(mb_strcut($utf16le, 1, 2, 'UTF-16LE'), 'UTF-16LE') . "\n"; print MBStringChars(mb_strcut($utf16le, 1, 3, 'UTF-16LE'), 'UTF-16LE') . "\n"; print MBStringChars(mb_strcut($utf16le, 1, 4, 'UTF-16LE'), 'UTF-16LE') . "\n"; +// Now counting backwards from end of string +print MBStringChars(mb_strcut($utf16le, -2, 1, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -2, 2, 'UTF-16LE'), 'UTF-16LE') . "\n"; +// Next we go back into the surrogate pair +print MBStringChars(mb_strcut($utf16le, -3, 2, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -3, 3, 'UTF-16LE'), 'UTF-16LE') . "\n"; +// These ones should get the entire surrogate pair: +print MBStringChars(mb_strcut($utf16le, -4, 4, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -5, 4, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -6, 4, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -5, 5, 'UTF-16LE'), 'UTF-16LE') . "\n"; +// This should also get the following exclamation mark +print MBStringChars(mb_strcut($utf16le, -6, 6, 'UTF-16LE'), 'UTF-16LE') . "\n"; + +// Now let's try also giving a negative 'length' argument +print MBStringChars(mb_strcut($utf16le, -5, -1, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -5, -2, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -5, -3, 'UTF-16LE'), 'UTF-16LE') . "\n"; +print MBStringChars(mb_strcut($utf16le, -6, -2, 'UTF-16LE'), 'UTF-16LE') . "\n"; + ?> --EXPECT-- == EUC-JP == @@ -77,6 +100,20 @@ OK [] [1a04] [1a04] +[1a04 3804] [1a04] [1a04] [1a04 3804] +[] +[2100] +[] +[] +[03d86dde] +[03d86dde] +[03d86dde] +[03d86dde] +[03d86dde 2100] +[03d86dde] +[] +[] +[03d86dde] From 426946278bb12d03a15e26fc26a302fd50ffa2a2 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 25 Aug 2020 23:04:39 +0200 Subject: [PATCH 071/123] mb_convert_kana throws an error on unrecognized flags Better to be strict about rejecting invalid input; it helps people catch bugs. --- ext/mbstring/mbstring.c | 3 +++ ext/mbstring/tests/mb_convert_kana.phpt | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index d0450f0d8f9b7..988bf48548fdf 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2961,6 +2961,9 @@ PHP_FUNCTION(mb_convert_kana) DISALLOW_FLAG(MBFL_FILT_TL_HAN2ZEN_SPECIAL, 'm', 'M'); opt |= MBFL_FILT_TL_ZEN2HAN_SPECIAL; break; + default: + zend_argument_value_error(2, "contains invalid flag: '%c'", *--p); + RETURN_THROWS(); } } } else { diff --git a/ext/mbstring/tests/mb_convert_kana.phpt b/ext/mbstring/tests/mb_convert_kana.phpt index 37b301cfb1594..37d4f8167b01f 100644 --- a/ext/mbstring/tests/mb_convert_kana.phpt +++ b/ext/mbstring/tests/mb_convert_kana.phpt @@ -41,6 +41,13 @@ try { } catch (\ValueError $e) { echo $e->getMessage() . "\n"; } + +// Try non-existent flag +try { + mb_convert_kana($zenKakuA, 'Z', 'utf-8'); +} catch (\ValueError $e) { + echo $e->getMessage() . "\n"; +} ?> --EXPECT-- 'A': ァアィイゥウェエォオカガキギク => ァアィイゥウェエォオカガキギク @@ -56,6 +63,7 @@ try { 'A': ミムメモヤユヨラリルレロワン゙゚ => ミムメモヤユヨラリルレロワン゛゜ mb_convert_kana(): Argument #2 ($mode) must not combine 'K' and 'H' flags +mb_convert_kana(): Argument #2 ($mode) contains invalid flag: 'Z' --CREDITS-- Jason Easter PHPUG Würzburg From 4c19d61a749bd51ee4700498749f1c9e01a7376a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 29 Aug 2020 13:59:56 +0200 Subject: [PATCH 072/123] Use mbfl_memory_device_output for emitting newlines in mb_send_mail This is more appropriate than using mbfl_memory_device_strncat with a fixed length of 1. --- ext/mbstring/mbstring.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 988bf48548fdf..2fcf26c7c3be0 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3671,14 +3671,14 @@ PHP_FUNCTION(mb_send_mail) n = ZSTR_LEN(str_headers); mbfl_memory_device_strncat(&device, p, n); if (n > 0 && p[n - 1] != '\n') { - mbfl_memory_device_strncat(&device, "\n", 1); + mbfl_memory_device_output('\n', &device); } zend_string_release_ex(str_headers, 0); } if (!zend_hash_str_exists(&ht_headers, "MIME-VERSION", sizeof("MIME-VERSION") - 1)) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER1, sizeof(PHP_MBSTR_MAIL_MIME_HEADER1) - 1); - mbfl_memory_device_strncat(&device, "\n", 1); + mbfl_memory_device_output('\n', &device); } if (!suppressed_hdrs.cnt_type) { @@ -3689,7 +3689,7 @@ PHP_FUNCTION(mb_send_mail) mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER3, sizeof(PHP_MBSTR_MAIL_MIME_HEADER3) - 1); mbfl_memory_device_strcat(&device, p); } - mbfl_memory_device_strncat(&device, "\n", 1); + mbfl_memory_device_output('\n', &device); } if (!suppressed_hdrs.cnt_trans_enc) { mbfl_memory_device_strncat(&device, PHP_MBSTR_MAIL_MIME_HEADER4, sizeof(PHP_MBSTR_MAIL_MIME_HEADER4) - 1); @@ -3698,7 +3698,7 @@ PHP_FUNCTION(mb_send_mail) p = "7bit"; } mbfl_memory_device_strcat(&device, p); - mbfl_memory_device_strncat(&device, "\n", 1); + mbfl_memory_device_output('\n', &device); } mbfl_memory_device_unput(&device); From 60483da1d673cdd5a496f2dc3d9ec83ea90a85cb Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 30 Aug 2020 18:21:49 +0200 Subject: [PATCH 073/123] Code cleanup in mbfl_language.c --- ext/mbstring/libmbfl/mbfl/mbfl_language.c | 72 ++++++++--------------- 1 file changed, 24 insertions(+), 48 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_language.c b/ext/mbstring/libmbfl/mbfl/mbfl_language.c index ba1855aed109e..b710701daf17b 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_language.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_language.c @@ -75,40 +75,33 @@ static const mbfl_language *mbfl_language_ptr_table[] = { }; /* language resolver */ -const mbfl_language * -mbfl_name2language(const char *name) +const mbfl_language *mbfl_name2language(const char *name) { - const mbfl_language *language; - int i, j; + const mbfl_language **language; if (name == NULL) { return NULL; } - i = 0; - while ((language = mbfl_language_ptr_table[i++]) != NULL){ - if (strcasecmp(language->name, name) == 0) { - return language; + for (language = mbfl_language_ptr_table; *language; language++) { + if (strcasecmp((*language)->name, name) == 0) { + return *language; } } - i = 0; - while ((language = mbfl_language_ptr_table[i++]) != NULL){ - if (strcasecmp(language->short_name, name) == 0) { - return language; + for (language = mbfl_language_ptr_table; *language; language++) { + if (strcasecmp((*language)->short_name, name) == 0) { + return *language; } } /* search aliases */ - i = 0; - while ((language = mbfl_language_ptr_table[i++]) != NULL) { - if (language->aliases != NULL) { - j = 0; - while (language->aliases[j]) { - if (strcasecmp(language->aliases[j], name) == 0) { - return language; + for (language = mbfl_language_ptr_table; *language; language++) { + if ((*language)->aliases) { + for (const char **alias = (*language)->aliases; *alias; alias++) { + if (strcasecmp(*alias, name) == 0) { + return *language; } - j++; } } } @@ -116,44 +109,27 @@ mbfl_name2language(const char *name) return NULL; } -const mbfl_language * -mbfl_no2language(enum mbfl_no_language no_language) +const mbfl_language *mbfl_no2language(enum mbfl_no_language no_language) { - const mbfl_language *language; - int i; + const mbfl_language **language; - i = 0; - while ((language = mbfl_language_ptr_table[i++]) != NULL){ - if (language->no_language == no_language) { - return language; + for (language = mbfl_language_ptr_table; *language; language++) { + if ((*language)->no_language == no_language) { + return *language; } } return NULL; } -enum mbfl_no_language -mbfl_name2no_language(const char *name) +enum mbfl_no_language mbfl_name2no_language(const char *name) { - const mbfl_language *language; - - language = mbfl_name2language(name); - if (language == NULL) { - return mbfl_no_language_invalid; - } else { - return language->no_language; - } + const mbfl_language *language = mbfl_name2language(name); + return (language == NULL) ? mbfl_no_language_invalid : language->no_language; } -const char * -mbfl_no_language2name(enum mbfl_no_language no_language) +const char *mbfl_no_language2name(enum mbfl_no_language no_language) { - const mbfl_language *language; - - language = mbfl_no2language(no_language); - if (language == NULL) { - return ""; - } else { - return language->name; - } + const mbfl_language *language = mbfl_no2language(no_language); + return (language == NULL) ? "" : language->name; } From f6447ea8c9018a13a133ca50b25d27890fa11bea Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 31 Aug 2020 21:36:07 +0200 Subject: [PATCH 074/123] Code cleanup in mb_str_split - Make everything a bit more concise - Remove trivial comments - Improve grammar of remaining comments --- ext/mbstring/mbstring.c | 79 +++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 51 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 2fcf26c7c3be0..92e8e40ccdb32 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1679,9 +1679,7 @@ PHP_FUNCTION(mb_str_split) { zend_string *str, *encoding = NULL; size_t mb_len, chunks, chunk_len; - const char *p, *last; /* pointer for the string cursor and last string char */ mbfl_string string, result_string; - const mbfl_encoding *mbfl_encoding; zend_long split_length = 1; ZEND_PARSE_PARAMETERS_START(1, 3) @@ -1696,20 +1694,17 @@ PHP_FUNCTION(mb_str_split) RETURN_THROWS(); } - /* fill mbfl_string structure */ string.val = (unsigned char *) ZSTR_VAL(str); string.len = ZSTR_LEN(str); - string.encoding = php_mb_get_encoding(encoding, 3); + const mbfl_encoding *mbfl_encoding = string.encoding = php_mb_get_encoding(encoding, 3); if (!string.encoding) { RETURN_THROWS(); } - p = ZSTR_VAL(str); /* string cursor pointer */ - last = ZSTR_VAL(str) + ZSTR_LEN(str); /* last string char pointer */ - - mbfl_encoding = string.encoding; + const char *p = ZSTR_VAL(str); + const char *last = ZSTR_VAL(str) + ZSTR_LEN(str); - /* first scenario: 1,2,4-bytes fixed width encodings (head part) */ + /* first scenario: 1/2/4-byte fixed width encoding */ if (mbfl_encoding->flag & MBFL_ENCTYPE_SBCS) { /* 1 byte */ mb_len = string.len; chunk_len = (size_t)split_length; /* chunk length in bytes */ @@ -1719,46 +1714,37 @@ PHP_FUNCTION(mb_str_split) } else if (mbfl_encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { /* 4 bytes */ mb_len = string.len / 4; chunk_len = split_length * 4; - } else if (mbfl_encoding->mblen_table != NULL) { - /* second scenario: variable width encodings with length table */ - char unsigned const *mbtab = mbfl_encoding->mblen_table; + } else if (mbfl_encoding->mblen_table) { + /* second scenario: variable width encoding with length table */ + const unsigned char *mbtab = mbfl_encoding->mblen_table; - /* assume that we have 1-bytes characters */ + /* assume that we have 1-byte characters */ array_init_size(return_value, (string.len + split_length) / split_length); /* round up */ - while (p < last) { /* split cycle work until the cursor has reached the last byte */ - char const *chunk_p = p; /* chunk first byte pointer */ - chunk_len = 0; /* chunk length in bytes */ - zend_long char_count; + while (p < last) { + char *chunk_p = p; /* pointer to first byte in chunk */ - for (char_count = 0; char_count < split_length && p < last; ++char_count) { - char unsigned const m = mbtab[*(const unsigned char *)p]; /* single character length table */ - chunk_len += m; - p += m; + for (int char_count = 0; char_count < split_length && p < last; char_count++) { + p += mbtab[*(unsigned char*)p]; /* character byte length table */ } - if (p >= last) chunk_len -= p - last; /* check if chunk is in bounds */ - add_next_index_stringl(return_value, chunk_p, chunk_len); + if (p > last) { /* check if chunk is in bounds */ + p = last; + } + add_next_index_stringl(return_value, chunk_p, p - chunk_p); } return; } else { /* third scenario: other multibyte encodings */ - mbfl_convert_filter *filter, *decoder; - - /* assume that we have 1-bytes characters */ + /* assume that we have 1-byte characters */ array_init_size(return_value, (string.len + split_length) / split_length); /* round up */ /* decoder filter to decode wchar to encoding */ mbfl_memory_device device; mbfl_memory_device_init(&device, split_length + 1, 0); - decoder = mbfl_convert_filter_new( - &mbfl_encoding_wchar, - string.encoding, - mbfl_memory_device_output, - NULL, - &device); - /* assert that nothing is wrong with the decoder */ - ZEND_ASSERT(decoder != NULL); + mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, string.encoding, + mbfl_memory_device_output, NULL, &device); + ZEND_ASSERT(decoder); /* wchar filter */ mbfl_string_init(&result_string); /* mbfl_string to store chunk in the callback */ @@ -1770,14 +1756,9 @@ PHP_FUNCTION(mb_str_split) .next_filter = decoder, }; - filter = mbfl_convert_filter_new( - string.encoding, - &mbfl_encoding_wchar, - mbfl_split_output, - NULL, - ¶ms); - /* assert that nothing is wrong with the filter */ - ZEND_ASSERT(filter != NULL); + mbfl_convert_filter *filter = mbfl_convert_filter_new(string.encoding, &mbfl_encoding_wchar, + mbfl_split_output, NULL, ¶ms); + ZEND_ASSERT(filter); while (p < last - 1) { /* cycle each byte except last with callback function */ (*filter->filter_function)(*p++, filter); @@ -1791,16 +1772,12 @@ PHP_FUNCTION(mb_str_split) return; } - /* first scenario: 1,2,4-bytes fixed width encodings (tail part) */ - chunks = (mb_len + split_length - 1) / split_length; /* (round up idiom) */ + /* first scenario: 1/2/4-byte fixed width encoding */ + chunks = (mb_len + split_length - 1) / split_length; /* round up */ array_init_size(return_value, chunks); - if (chunks != 0) { - zend_long i; - - for (i = 0; i < chunks - 1; p += chunk_len, ++i) { - add_next_index_stringl(return_value, p, chunk_len); - } - add_next_index_stringl(return_value, p, last - p); + while (chunks--) { + add_next_index_stringl(return_value, p, chunk_len); + p += chunk_len; } } /* }}} */ From 4a74877b3799aa4837effe5f3085e1260aec7c83 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 31 Aug 2020 22:47:48 +0200 Subject: [PATCH 075/123] [WIP] Move meat of mb_str_split to mbfl_str_split (in mbfilter.c) This follows the pattern of most other PHP-level functions in mbstring; mbstring.c handles marshalling of PHP-level arguments and return values, as well as dealing with .INI parameters, built-in globals, and so on, and calls into functions in mbfilter.c for the core logic. Note: It also fixes a bug! mb_str_split did one thing wrong in that after feeding the entire input string into a conversion filter function, it never called the corresponding flush function! That is a no-no in mbfl; conversion filters may cache bytes and only send them to the output when flushed. I need to add a test to expose the bug. --- ext/mbstring/libmbfl/mbfl/mbfilter.c | 90 ++++++++++++++++++++ ext/mbstring/libmbfl/mbfl/mbfilter.h | 5 ++ ext/mbstring/mbstring.c | 120 ++------------------------- 3 files changed, 102 insertions(+), 113 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index 556034be36946..fd95cb0523a41 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -95,6 +95,8 @@ #include "eaw_table.h" #include "filters/unicode_prop.h" +#include "zend_API.h" + static inline unsigned char *mbfl_filter_feed_data(mbfl_string *string, mbfl_convert_filter *filter) { return mbfl_convert_filter_feed_string(filter, string->val, string->len); @@ -1568,3 +1570,91 @@ mbfl_string *mbfl_html_numeric_entity_decode(mbfl_string *string, mbfl_string *r mbfl_convert_filter_delete(decoder); return result; } + +HashTable *mbfl_str_split(mbfl_string *string, unsigned int split_length) +{ + HashTable *result = NULL; + unsigned int mb_len; + size_t chunk_len = 0; + zval chunk; + unsigned char *p = string->val, *last = p + string->len; + const mbfl_encoding *encoding = string->encoding; + + /* first scenario: 1/2/4-byte fixed width encoding */ + if (encoding->flag & MBFL_ENCTYPE_SBCS) { /* 1 byte */ + mb_len = string->len; + chunk_len = split_length; /* chunk length in bytes */ + } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { /* 2 bytes */ + mb_len = string->len / 2; + chunk_len = split_length * 2; + } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { /* 4 bytes */ + mb_len = string->len / 4; + chunk_len = split_length * 4; + } else if (encoding->mblen_table) { + /* second scenario: variable width encoding with length table */ + const unsigned char *mbtab = encoding->mblen_table; + + /* assume that we have 1-byte characters */ + result = zend_new_array((string->len + split_length - 1) / split_length); /* round up */ + + while (p < last) { + unsigned char *chunk_p = p; /* pointer to first byte in chunk */ + + for (int char_count = 0; char_count < split_length && p < last; char_count++) { + p += mbtab[*(unsigned char*)p]; /* character byte length table */ + } + if (p > last) { /* check if chunk is in bounds */ + p = last; + } + ZVAL_STRINGL(&chunk, (const char*)chunk_p, p - chunk_p); + zend_hash_next_index_insert(result, &chunk); + } + + return result; + } else { + /* third scenario: other multibyte encodings */ + /* assume that we have 1-byte characters */ + result = zend_new_array((string->len + split_length - 1) / split_length); /* round up */ + + /* decoder filter to decode wchar to encoding */ + mbfl_memory_device device; + mbfl_memory_device_init(&device, split_length + 1, 0); + mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, encoding, + mbfl_memory_device_output, NULL, &device); + ZEND_ASSERT(decoder); + + size_t len; + unsigned int *wc_buffer = convert_string_to_wchar(string, &len), *w = wc_buffer, *e = wc_buffer + len; + + while (w < e) { + (decoder->filter_function)(*w++, decoder); + + if (split_length == ++chunk_len) { /* if current chunk size reached defined chunk size */ + mbfl_convert_filter_flush(decoder); + ZVAL_STRINGL(&chunk, (const char*)device.buffer, device.pos); + zend_hash_next_index_insert(result, &chunk); + mbfl_memory_device_reset(&device); + chunk_len = 0; + } + } + + if (chunk_len > 0) { + mbfl_convert_filter_flush(decoder); + ZVAL_STRINGL(&chunk, (const char*)device.buffer, device.pos); + zend_hash_next_index_insert(result, &chunk); + } + + efree(wc_buffer); + mbfl_memory_device_clear(&device); + mbfl_convert_filter_delete(decoder); + return result; + } + + /* first scenario: 1/2/4-byte fixed width encoding */ + result = zend_new_array((mb_len + split_length - 1) / split_length); /* round up */ + for (; p < last; p += chunk_len) { + ZVAL_STRINGL(&chunk, (const char*)p, chunk_len); + zend_hash_next_index_insert(result, &chunk); + } + return result; +} diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 95b2d11fea427..7dd23e5673c68 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -309,4 +309,9 @@ mbfl_html_numeric_entity_decode(mbfl_string *string, mbfl_string *result, int *c */ MBFLAPI extern mbfl_string* mbfl_ja_jp_hantozen(mbfl_string *string, mbfl_string *result, intptr_t mode); +/* + * str_split + */ +MBFLAPI extern HashTable* mbfl_str_split(mbfl_string *string, unsigned int split_length); + #endif /* MBFL_MBFILTER_H */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 92e8e40ccdb32..fc40b014d0efd 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1645,41 +1645,9 @@ PHP_FUNCTION(mb_output_handler) /* {{{ Convert a multibyte string to an array. If split_length is specified, break the string down into chunks each split_length characters long. */ - -/* structure to pass split params to the callback */ -struct mbfl_split_params { - zval *return_value; /* php function return value structure pointer */ - mbfl_string *result_string; /* string to store result chunk */ - size_t mb_chunk_length; /* actual chunk length in chars */ - size_t split_length; /* split length in chars */ - mbfl_convert_filter *next_filter; /* widechar to encoding converter */ -}; - -/* callback function to fill split array */ -static int mbfl_split_output(int c, void *data) -{ - struct mbfl_split_params *params = (struct mbfl_split_params *)data; /* cast passed data */ - - (*params->next_filter->filter_function)(c, params->next_filter); /* decoder filter */ - - if (params->split_length == ++params->mb_chunk_length) { /* if current chunk size reached defined chunk size or last char reached */ - mbfl_convert_filter_flush(params->next_filter);/* concatenate separate decoded chars to the solid string */ - mbfl_memory_device *device = (mbfl_memory_device *)params->next_filter->data; /* chars container */ - mbfl_string *chunk = params->result_string; - mbfl_memory_device_result(device, chunk); /* make chunk */ - add_next_index_stringl(params->return_value, (const char *)chunk->val, chunk->len); /* add chunk to the array */ - efree(chunk->val); - params->mb_chunk_length = 0; /* reset mb_chunk size */ - } - - return 0; -} - PHP_FUNCTION(mb_str_split) { zend_string *str, *encoding = NULL; - size_t mb_len, chunks, chunk_len; - mbfl_string string, result_string; zend_long split_length = 1; ZEND_PARSE_PARAMETERS_START(1, 3) @@ -1694,91 +1662,17 @@ PHP_FUNCTION(mb_str_split) RETURN_THROWS(); } - string.val = (unsigned char *) ZSTR_VAL(str); - string.len = ZSTR_LEN(str); - const mbfl_encoding *mbfl_encoding = string.encoding = php_mb_get_encoding(encoding, 3); - if (!string.encoding) { + const mbfl_encoding *mbfl_encoding = php_mb_get_encoding(encoding, 3); + if (!mbfl_encoding) { RETURN_THROWS(); } - const char *p = ZSTR_VAL(str); - const char *last = ZSTR_VAL(str) + ZSTR_LEN(str); - - /* first scenario: 1/2/4-byte fixed width encoding */ - if (mbfl_encoding->flag & MBFL_ENCTYPE_SBCS) { /* 1 byte */ - mb_len = string.len; - chunk_len = (size_t)split_length; /* chunk length in bytes */ - } else if (mbfl_encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { /* 2 bytes */ - mb_len = string.len / 2; - chunk_len = split_length * 2; - } else if (mbfl_encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { /* 4 bytes */ - mb_len = string.len / 4; - chunk_len = split_length * 4; - } else if (mbfl_encoding->mblen_table) { - /* second scenario: variable width encoding with length table */ - const unsigned char *mbtab = mbfl_encoding->mblen_table; - - /* assume that we have 1-byte characters */ - array_init_size(return_value, (string.len + split_length) / split_length); /* round up */ - - while (p < last) { - char *chunk_p = p; /* pointer to first byte in chunk */ - - for (int char_count = 0; char_count < split_length && p < last; char_count++) { - p += mbtab[*(unsigned char*)p]; /* character byte length table */ - } - if (p > last) { /* check if chunk is in bounds */ - p = last; - } - add_next_index_stringl(return_value, chunk_p, p - chunk_p); - } - return; - } else { - /* third scenario: other multibyte encodings */ - /* assume that we have 1-byte characters */ - array_init_size(return_value, (string.len + split_length) / split_length); /* round up */ - - /* decoder filter to decode wchar to encoding */ - mbfl_memory_device device; - mbfl_memory_device_init(&device, split_length + 1, 0); - - mbfl_convert_filter *decoder = mbfl_convert_filter_new(&mbfl_encoding_wchar, string.encoding, - mbfl_memory_device_output, NULL, &device); - ZEND_ASSERT(decoder); - - /* wchar filter */ - mbfl_string_init(&result_string); /* mbfl_string to store chunk in the callback */ - struct mbfl_split_params params = { /* init callback function params structure */ - .return_value = return_value, - .result_string = &result_string, - .mb_chunk_length = 0, - .split_length = (size_t)split_length, - .next_filter = decoder, - }; - - mbfl_convert_filter *filter = mbfl_convert_filter_new(string.encoding, &mbfl_encoding_wchar, - mbfl_split_output, NULL, ¶ms); - ZEND_ASSERT(filter); - - while (p < last - 1) { /* cycle each byte except last with callback function */ - (*filter->filter_function)(*p++, filter); - } - params.mb_chunk_length = split_length - 1; /* force to finish current chunk */ - (*filter->filter_function)(*p++, filter); /* process last char */ - - mbfl_convert_filter_delete(decoder); - mbfl_convert_filter_delete(filter); - mbfl_memory_device_clear(&device); - return; - } + mbfl_string string; + string.val = (unsigned char*)ZSTR_VAL(str); + string.len = ZSTR_LEN(str); + string.encoding = mbfl_encoding; - /* first scenario: 1/2/4-byte fixed width encoding */ - chunks = (mb_len + split_length - 1) / split_length; /* round up */ - array_init_size(return_value, chunks); - while (chunks--) { - add_next_index_stringl(return_value, p, chunk_len); - p += chunk_len; - } + RETVAL_ARR(mbfl_str_split(&string, split_length)); } /* }}} */ From e19f9b2ae4b6556105325e92766236d5cadd52e0 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 3 Sep 2020 22:44:36 +0200 Subject: [PATCH 076/123] Minor cleanup in mbfilter_byte2.c --- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index d375705a551f4..8f7c5a04487d1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -107,16 +107,12 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte2le = { int mbfl_filt_conv_byte2be_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = (c & 0xff) << 8; - filter->cache = n; + filter->cache = (c & 0xff) << 8; } else { filter->status = 0; - n = (c & 0xff) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)((c & 0xff) | filter->cache, filter->data)); } return c; } @@ -130,16 +126,12 @@ int mbfl_filt_conv_wchar_byte2be(int c, mbfl_convert_filter *filter) int mbfl_filt_conv_byte2le_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = c & 0xff; - filter->cache = n; + filter->cache = c & 0xff; } else { filter->status = 0; - n = ((c & 0xff) << 8) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)(((c & 0xff) << 8) | filter->cache, filter->data)); } return c; } From 6223925153d01244b5183f07e4ee0610cc218d51 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 3 Sep 2020 22:47:18 +0200 Subject: [PATCH 077/123] Minor cleanup in mbfilter_byte4.c --- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 28 ++++++------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index 0bac065c6e8c8..ed6d440f931ad 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -107,24 +107,18 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte4le = { int mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = (c & 0xff) << 24; - filter->cache = n; + filter->cache = (c & 0xff) << 24; } else if (filter->status == 1) { filter->status = 2; - n = (c & 0xff) << 16; - filter->cache |= n; + filter->cache |= (c & 0xff) << 16; } else if (filter->status == 2) { filter->status = 3; - n = (c & 0xff) << 8; - filter->cache |= n; + filter->cache |= (c & 0xff) << 8; } else { filter->status = 0; - n = (c & 0xff) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)((c & 0xff) | filter->cache, filter->data)); } return c; } @@ -140,24 +134,18 @@ int mbfl_filt_conv_wchar_byte4be(int c, mbfl_convert_filter *filter) int mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter) { - int n; - if (filter->status == 0) { filter->status = 1; - n = (c & 0xff); - filter->cache = n; + filter->cache = c & 0xff; } else if (filter->status == 1) { filter->status = 2; - n = (c & 0xff) << 8; - filter->cache |= n; + filter->cache |= (c & 0xff) << 8; } else if (filter->status == 2) { filter->status = 3; - n = (c & 0xff) << 16; - filter->cache |= n; + filter->cache |= (c & 0xff) << 16; } else { filter->status = 0; - n = ((c & 0xff) << 24) | filter->cache; - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)(((c & 0xff) << 24) | filter->cache, filter->data)); } return c; } From 93158db8fe07e50284d4d252515142bc6edd6316 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 3 Sep 2020 22:52:04 +0200 Subject: [PATCH 078/123] Minor cleanup in mbfilter_base64.c --- .../libmbfl/filters/mbfilter_base64.c | 42 +++++++++---------- 1 file changed, 19 insertions(+), 23 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 26724bd9b3f9b..5112afe511693 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -89,9 +89,13 @@ static const unsigned char mbfl_base64_table[] = { int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) { - int n; - - n = (filter->status & 0xff); + int n = (filter->status & 0xff); + /* 1st (low) byte of `n` is the number of bytes already cached (0, 1, or 2) + * + * 2nd byte of `n` is the number of characters already emitted on the current + * line, _if_ this filter is not being used for MIME header encoding + * + * 4th byte of `n` is 1 if this filter is being used for MIME header encoding */ if (n == 0) { filter->status++; filter->cache = (c & 0xff) << 16; @@ -101,11 +105,10 @@ int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) } else { filter->status &= ~0xff; if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { - n = (filter->status & 0xff00) >> 8; - if (n > 72) { + if ((filter->status & 0xff00) > (72 << 8)) { CK((*filter->output_function)(0x0d, filter->data)); /* CR */ CK((*filter->output_function)(0x0a, filter->data)); /* LF */ - filter->status &= ~0xff00; + filter->status = 0; } filter->status += 0x400; } @@ -115,36 +118,32 @@ int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) CK((*filter->output_function)(mbfl_base64_table[(n >> 6) & 0x3f], filter->data)); CK((*filter->output_function)(mbfl_base64_table[n & 0x3f], filter->data)); } - return c; } void mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) { - int status, cache, len; - - status = filter->status & 0xff; - cache = filter->cache; - len = (filter->status & 0xff00) >> 8; + int status = filter->status & 0xff; + int cache = filter->cache; + int len = (filter->status & 0xff00) >> 8; filter->status &= ~0xffff; filter->cache = 0; /* flush fragments */ if (status >= 1) { if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { if (len > 72){ - (*filter->output_function)(0x0d, filter->data); /* CR */ - (*filter->output_function)(0x0a, filter->data); /* LF */ + (*filter->output_function)('\r', filter->data); + (*filter->output_function)('\n', filter->data); } } (*filter->output_function)(mbfl_base64_table[(cache >> 18) & 0x3f], filter->data); (*filter->output_function)(mbfl_base64_table[(cache >> 12) & 0x3f], filter->data); if (status == 1) { - (*filter->output_function)(0x3d, filter->data); /* '=' */ - (*filter->output_function)(0x3d, filter->data); /* '=' */ + (*filter->output_function)('=', filter->data); } else { (*filter->output_function)(mbfl_base64_table[(cache >> 6) & 0x3f], filter->data); - (*filter->output_function)(0x3d, filter->data); /* '=' */ } + (*filter->output_function)('=', filter->data); } } @@ -202,12 +201,9 @@ int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) { - int status, cache; - - status = filter->status; - cache = filter->cache; - filter->status = 0; - filter->cache = 0; + int status = filter->status; + int cache = filter->cache; + filter->status = filter->cache = 0; /* flush fragments */ if (status >= 2) { (*filter->output_function)((cache >> 16) & 0xff, filter->data); From 0e01d8ae83cf41439230e5cf744d6a4000ebd46a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 4 Sep 2020 20:32:50 +0200 Subject: [PATCH 079/123] Minor cleanup in mbfilter_uuencode.c --- .../libmbfl/filters/mbfilter_uuencode.c | 74 +++++++++---------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c index 80fd3b9aeec8a..2db9ee7a17201 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c @@ -60,29 +60,34 @@ const struct mbfl_convert_vtbl vtbl_uuencode_8bit = { #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) /* uuencode => any */ -#define UUDEC(c) (char)(((c)-' ')&077) +#define UUDEC(c) (char)(((c)-' ') & 0x3f) static const char * uuenc_begin_text = "begin "; -enum { uudec_state_ground=0, uudec_state_inbegin, +enum { + uudec_state_ground=0, + uudec_state_inbegin, uudec_state_until_newline, - uudec_state_size, uudec_state_a, uudec_state_b, uudec_state_c, uudec_state_d, - uudec_state_skip_newline}; + uudec_state_size, + uudec_state_a, + uudec_state_b, + uudec_state_c, + uudec_state_d, + uudec_state_skip_newline +}; int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) { int n; - switch(filter->status) { case uudec_state_ground: /* looking for "begin 0666 filename\n" line */ - if (filter->cache == 0 && c == 'b') - { + if (filter->cache == 0 && c == 'b') { filter->status = uudec_state_inbegin; filter->cache = 1; /* move to 'e' */ - } - else if (c == '\n') + } else if (c == '\n') { filter->cache = 0; - else + } else { filter->cache++; + } break; case uudec_state_inbegin: if (uuenc_begin_text[filter->cache++] != c) { @@ -90,61 +95,54 @@ int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) filter->status = uudec_state_ground; break; } - if (filter->cache == 5) - { + if (filter->cache == 5) { /* that's good enough - wait for a newline */ filter->status = uudec_state_until_newline; filter->cache = 0; } break; case uudec_state_until_newline: - if (c == '\n') + if (c == '\n') { filter->status = uudec_state_size; + } break; case uudec_state_size: /* get "size" byte */ - n = UUDEC(c); - filter->cache = n << 24; + filter->cache = UUDEC(c) << 24; filter->status = uudec_state_a; break; case uudec_state_a: /* get "a" byte */ - n = UUDEC(c); - filter->cache |= (n << 16); + filter->cache |= (UUDEC(c) << 16); filter->status = uudec_state_b; break; case uudec_state_b: /* get "b" byte */ - n = UUDEC(c); - filter->cache |= (n << 8); + filter->cache |= (UUDEC(c) << 8); filter->status = uudec_state_c; break; case uudec_state_c: /* get "c" byte */ - n = UUDEC(c); - filter->cache |= n; + filter->cache |= UUDEC(c); filter->status = uudec_state_d; break; case uudec_state_d: /* get "d" byte */ - { - int A, B, C, D = UUDEC(c); - A = (filter->cache >> 16) & 0xff; - B = (filter->cache >> 8) & 0xff; - C = (filter->cache) & 0xff; - n = (filter->cache >> 24) & 0xff; - if (n-- > 0) - CK((*filter->output_function)( (A << 2) | (B >> 4), filter->data)); - if (n-- > 0) - CK((*filter->output_function)( (B << 4) | (C >> 2), filter->data)); - if (n-- > 0) - CK((*filter->output_function)( (C << 6) | D, filter->data)); - filter->cache = n << 24; + n = (filter->cache >> 24) & 0xff; + int A = (filter->cache >> 16) & 0xff, B = (filter->cache >> 8) & 0xff, + C = (filter->cache) & 0xff, D = UUDEC(c); + if (n-- > 0) + CK((*filter->output_function)((A << 2) | (B >> 4), filter->data)); + if (n-- > 0) + CK((*filter->output_function)((B << 4) | (C >> 2), filter->data)); + if (n-- > 0) + CK((*filter->output_function)((C << 6) | D, filter->data)); + filter->cache = n << 24; - if (n == 0) - filter->status = uudec_state_skip_newline; /* skip next byte (newline) */ - else - filter->status = uudec_state_a; /* go back to fetch "A" byte */ + if (n == 0) { + filter->status = uudec_state_skip_newline; /* skip next byte (newline) */ + } else { + filter->status = uudec_state_a; /* go back to fetch "A" byte */ } break; case uudec_state_skip_newline: From e9d4694814d96cca3a2021e31b03135fe45f0864 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 4 Sep 2020 20:40:37 +0200 Subject: [PATCH 080/123] Code cleanup in mbfilter_htmlent.c I hope to clean up mbfl_filt_conv_html_dec one of these days. If things were structured differently, it wouldn't need to maintain a buffer for partially input HTML entities... --- .../libmbfl/filters/mbfilter_htmlent.c | 92 ++++++++----------- 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index 3b08b835306c2..e624881112318 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -98,46 +98,42 @@ const struct mbfl_convert_vtbl vtbl_html_wchar = { int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) { int tmp[64]; - int i; - unsigned int uc; - const mbfl_html_entity_entry *e; - if (c < sizeof(htmlentitifieds) / sizeof(htmlentitifieds[0]) && - htmlentitifieds[c] != 1) { + if (c < sizeof(htmlentitifieds) / sizeof(htmlentitifieds[0]) && htmlentitifieds[c] != 1) { CK((*filter->output_function)(c, filter->data)); - } else { - CK((*filter->output_function)('&', filter->data)); - for (i = 0; (e = &mbfl_html_entity_list[i])->name != NULL; i++) { - if (c == e->code) { - char *p; + return c; + } - for (p = e->name; *p != '\0'; p++) { - CK((*filter->output_function)((int)*p, filter->data)); - } - goto last; + CK((*filter->output_function)('&', filter->data)); + + for (int i = 0; mbfl_html_entity_list[i].name; i++) { + const mbfl_html_entity_entry *e = &mbfl_html_entity_list[i]; + if (c == e->code) { + for (char *p = e->name; *p; p++) { + CK((*filter->output_function)(*p, filter->data)); } + goto last; } + } - { - int *p = tmp + sizeof(tmp) / sizeof(tmp[0]); - - CK((*filter->output_function)('#', filter->data)); + int *p = tmp + sizeof(tmp) / sizeof(tmp[0]); - uc = (unsigned int)c; + CK((*filter->output_function)('#', filter->data)); - *(--p) = '\0'; - do { - *(--p) = "0123456789"[uc % 10]; - uc /= 10; - } while (uc); + /* TODO: Why not use hexadecimal entities here?? */ + unsigned int uc = (unsigned int)c; + *(--p) = '\0'; + do { + *(--p) = "0123456789"[uc % 10]; + uc /= 10; + } while (uc); - for (; *p != '\0'; p++) { - CK((*filter->output_function)(*p, filter->data)); - } - } - last: - CK((*filter->output_function)(';', filter->data)); + while (*p) { + CK((*filter->output_function)(*p++, filter->data)); } + +last: + CK((*filter->output_function)(';', filter->data)); return c; } @@ -166,11 +162,10 @@ void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter) void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter) { filter->status = 0; - if (filter->opaque) - { - efree((void*)filter->opaque); + if (filter->opaque) { + efree(filter->opaque); + filter->opaque = NULL; } - filter->opaque = NULL; } int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) @@ -180,7 +175,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) char *buffer = (char*)filter->opaque; if (!filter->status) { - if (c == '&' ) { + if (c == '&') { filter->status = 1; buffer[0] = '&'; } else { @@ -188,11 +183,11 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) } } else { if (c == ';') { - if (buffer[1]=='#') { + if (buffer[1] == '#') { if (filter->status > 2 && (buffer[2] == 'x' || buffer[2] == 'X')) { if (filter->status > 3) { /* numeric entity */ - for (pos=3; posstatus; pos++) { + for (pos = 3; pos < filter->status; pos++) { int v = buffer[pos]; if (v >= '0' && v <= '9') { v = v - '0'; @@ -212,7 +207,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) } else { /* numeric entity */ if (filter->status > 2) { - for (pos=2; posstatus; pos++) { + for (pos = 2; pos < filter->status; pos++) { int v = buffer[pos]; if (v >= '0' && v <= '9') { v = v - '0'; @@ -251,12 +246,10 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) /* decoded */ CK((*filter->output_function)(ent, filter->data)); filter->status = 0; - /*php_error_docref("ref.mbstring", E_NOTICE,"mbstring decoded '%s'=%d", buffer, ent);*/ } else { /* failure */ buffer[filter->status++] = ';'; - buffer[filter->status] = 0; - /* php_error_docref("ref.mbstring", E_WARNING, "mbstring cannot decode '%s'", buffer); */ + buffer[filter->status] = '\0'; mbfl_filt_conv_html_dec_flush(filter); } } @@ -264,16 +257,13 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) /* add character */ buffer[filter->status++] = c; /* add character and check */ - if (!strchr(html_entity_chars, c) || filter->status+1==html_enc_buffer_size || (c=='#' && filter->status>2)) - { + if (!strchr(html_entity_chars, c) || filter->status+1 == html_enc_buffer_size || (c == '#' && filter->status > 2)) { /* illegal character or end of buffer */ - if (c=='&') + if (c == '&') filter->status--; buffer[filter->status] = 0; - /* php_error_docref("ref.mbstring", E_WARNING, "mbstring cannot decode '%s'", buffer)l */ mbfl_filt_conv_html_dec_flush(filter); - if (c=='&') - { + if (c == '&') { buffer[filter->status++] = '&'; } } @@ -284,11 +274,9 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) void mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) { - int status, pos = 0; - unsigned char *buffer; - - buffer = (unsigned char*)filter->opaque; - status = filter->status; + int pos = 0; + unsigned char *buffer = (unsigned char*)filter->opaque; + int status = filter->status; filter->status = 0; /* flush fragments */ From bb5fb71bdf5a0540eaf93a7a851a2eebbbd15b36 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 4 Sep 2020 20:59:53 +0200 Subject: [PATCH 081/123] Code cleanup in mbfilter_qprint.c --- .../libmbfl/filters/mbfilter_qprint.c | 71 +++++++++---------- 1 file changed, 32 insertions(+), 39 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index 012b1b3c0ac5e..17dfe14ebeb70 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -75,6 +75,14 @@ const struct mbfl_convert_vtbl vtbl_qprint_8bit = { /* * any => Quoted-Printable */ +static inline int nibble2hex(int nibble) +{ + if (nibble < 10) { + return nibble + '0'; + } else { + return nibble + 'A' - 10; + } +} int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) { @@ -90,48 +98,36 @@ int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) filter->cache = c; n = (filter->status & 0xff00) >> 8; - if (s == 0) { /* null */ + if (s == 0) { /* null */ CK((*filter->output_function)(s, filter->data)); filter->status &= ~0xff00; break; } if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0) { - if (s == 0x0a || (s == 0x0d && c != 0x0a)) { /* line feed */ - CK((*filter->output_function)(0x0d, filter->data)); /* CR */ - CK((*filter->output_function)(0x0a, filter->data)); /* LF */ + if (s == '\n' || (s == '\r' && c != '\n')) { /* line feed */ + CK((*filter->output_function)('\r', filter->data)); + CK((*filter->output_function)('\n', filter->data)); filter->status &= ~0xff00; break; - } else if (s == 0x0d) { + } else if (s == '\r') { break; } } - if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0 && n >= 72) { /* soft line feed */ - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ - CK((*filter->output_function)(0x0d, filter->data)); /* CR */ - CK((*filter->output_function)(0x0a, filter->data)); /* LF */ + if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0 && n >= 72) { /* soft line feed */ + CK((*filter->output_function)('=', filter->data)); + CK((*filter->output_function)('\r', filter->data)); + CK((*filter->output_function)('\n', filter->data)); filter->status &= ~0xff00; } - if (s <= 0 || s >= 0x80 || s == 0x3d /* not ASCII or '=' */ + if (s <= 0 || s >= 0x80 || s == '=' /* not ASCII or '=' */ || ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) && mime_char_needs_qencode[s])) { /* hex-octet */ - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ - n = (s >> 4) & 0xf; - if (n < 10) { - n += 48; /* '0' */ - } else { - n += 55; /* 'A' - 10 */ - } - CK((*filter->output_function)(n, filter->data)); - n = s & 0xf; - if (n < 10) { - n += 48; - } else { - n += 55; - } - CK((*filter->output_function)(n, filter->data)); + CK((*filter->output_function)('=', filter->data)); + CK((*filter->output_function)(nibble2hex((s >> 4) & 0xf), filter->data)); + CK((*filter->output_function)(nibble2hex(s & 0xf), filter->data)); if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0) { filter->status += 0x300; } @@ -185,12 +181,12 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) if (hex2code_map[c & 0xff] >= 0) { filter->cache = c; filter->status = 2; - } else if (c == 0x0d) { /* soft line feed */ + } else if (c == '\r') { /* soft line feed */ filter->status = 3; - } else if (c == 0x0a) { /* soft line feed */ + } else if (c == '\n') { /* soft line feed */ filter->status = 0; } else { - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ + CK((*filter->output_function)('=', filter->data)); CK((*filter->output_function)(c, filter->data)); filter->status = 0; } @@ -198,7 +194,7 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) case 2: m = hex2code_map[c & 0xff]; if (m < 0) { - CK((*filter->output_function)(0x3d, filter->data)); /* '=' */ + CK((*filter->output_function)('=', filter->data)); CK((*filter->output_function)(filter->cache, filter->data)); n = c; } else { @@ -208,13 +204,13 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) filter->status = 0; break; case 3: - if (c != 0x0a) { /* LF */ + if (c != '\n') { CK((*filter->output_function)(c, filter->data)); } filter->status = 0; break; default: - if (c == 0x3d) { /* '=' */ + if (c == '=') { filter->status = 1; } else { CK((*filter->output_function)(c, filter->data)); @@ -227,17 +223,14 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) void mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter) { - int status, cache; - - status = filter->status; - cache = filter->cache; - filter->status = 0; - filter->cache = 0; + int status = filter->status; + int cache = filter->cache; + filter->status = filter->cache = 0; /* flush fragments */ if (status == 1) { - (*filter->output_function)(0x3d, filter->data); /* '=' */ + (*filter->output_function)('=', filter->data); } else if (status == 2) { - (*filter->output_function)(0x3d, filter->data); /* '=' */ + (*filter->output_function)('=', filter->data); (*filter->output_function)(cache, filter->data); } } From e39473da2a8f85dccc7f2ab2c23da1f2691f3032 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 20 Sep 2020 16:29:32 +0200 Subject: [PATCH 082/123] Combine MBFL_ENCTYPE_WCS{2,4}{BE,LE} constants These flags identify text encodings in mbstring which use a constant number of bytes per character. While some parts of the code do use these flags, usually to detect cases which can be optimized due to constant-width encoding, nothing cares whether the encodings are 'LE' (little-endian) or 'BE' (big-endian). So we can simplify things by combining constants. --- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 6 ++--- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 6 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 6 ++--- ext/mbstring/libmbfl/mbfl/mbfilter.c | 22 +++++++++---------- ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_consts.h | 6 ++--- ext/mbstring/mbstring.c | 4 ++-- 7 files changed, 25 insertions(+), 27 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 3a449eea5e120..e4def44ae4122 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -41,7 +41,7 @@ const mbfl_encoding mbfl_encoding_ucs2 = { "UCS-2", mbfl_encoding_ucs2_aliases, NULL, - MBFL_ENCTYPE_WCS2BE, + MBFL_ENCTYPE_WCS2, &vtbl_ucs2_wchar, &vtbl_wchar_ucs2 }; @@ -52,7 +52,7 @@ const mbfl_encoding mbfl_encoding_ucs2be = { "UCS-2BE", NULL, NULL, - MBFL_ENCTYPE_WCS2BE, + MBFL_ENCTYPE_WCS2, &vtbl_ucs2be_wchar, &vtbl_wchar_ucs2be }; @@ -63,7 +63,7 @@ const mbfl_encoding mbfl_encoding_ucs2le = { "UCS-2LE", NULL, NULL, - MBFL_ENCTYPE_WCS2LE, + MBFL_ENCTYPE_WCS2, &vtbl_ucs2le_wchar, &vtbl_wchar_ucs2le }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 3b0dfb104c179..44c769956422f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_ucs4 = { "UCS-4", mbfl_encoding_ucs4_aliases, NULL, - MBFL_ENCTYPE_WCS4BE, + MBFL_ENCTYPE_WCS4, &vtbl_ucs4_wchar, &vtbl_wchar_ucs4 }; @@ -54,7 +54,7 @@ const mbfl_encoding mbfl_encoding_ucs4be = { "UCS-4BE", NULL, NULL, - MBFL_ENCTYPE_WCS4BE, + MBFL_ENCTYPE_WCS4, &vtbl_ucs4be_wchar, &vtbl_wchar_ucs4be }; @@ -65,7 +65,7 @@ const mbfl_encoding mbfl_encoding_ucs4le = { "UCS-4LE", NULL, NULL, - MBFL_ENCTYPE_WCS4LE, + MBFL_ENCTYPE_WCS4, &vtbl_ucs4le_wchar, &vtbl_wchar_ucs4le }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index 13e899f76ad96..1e2e5e63b5476 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_utf32 = { "UTF-32", mbfl_encoding_utf32_aliases, NULL, - MBFL_ENCTYPE_WCS4BE, + MBFL_ENCTYPE_WCS4, &vtbl_utf32_wchar, &vtbl_wchar_utf32 }; @@ -54,7 +54,7 @@ const mbfl_encoding mbfl_encoding_utf32be = { "UTF-32BE", NULL, NULL, - MBFL_ENCTYPE_WCS4BE, + MBFL_ENCTYPE_WCS4, &vtbl_utf32be_wchar, &vtbl_wchar_utf32be }; @@ -65,7 +65,7 @@ const mbfl_encoding mbfl_encoding_utf32le = { "UTF-32LE", NULL, NULL, - MBFL_ENCTYPE_WCS4LE, + MBFL_ENCTYPE_WCS4, &vtbl_utf32le_wchar, &vtbl_wchar_utf32le }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index fd95cb0523a41..cfb72fe8d2ab7 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -130,9 +130,9 @@ static size_t byte_offset_to_char_offset(const mbfl_encoding *encoding, unsigned * byte offset to character offset */ if (encoding->flag & MBFL_ENCTYPE_SBCS) { return byte_offset; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { return byte_offset / 2; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { return byte_offset / 4; } else if (encoding->mblen_table) { /* If not, can we determine the number of bytes for each character just by @@ -176,9 +176,9 @@ MBFLAPI size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigne } if (encoding->flag & MBFL_ENCTYPE_SBCS) { return MAX((ssize_t)length - char_offset, 0); - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { return MAX((ssize_t)length - (char_offset * 2), 0); - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { return MAX((ssize_t)length - (char_offset * 4), 0); } else if (encoding == &mbfl_encoding_utf8) { /* We can easily count backwards from the end of a UTF-8 string @@ -219,9 +219,9 @@ MBFLAPI size_t char_offset_to_byte_offset(const mbfl_encoding *encoding, unsigne * The easiest case is when each character takes a constant number of bytes */ if (encoding->flag & MBFL_ENCTYPE_SBCS) { return MIN(char_offset, length); - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { return MIN(char_offset * 2, length); - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { return MIN(char_offset * 4, length); } else if (encoding->mblen_table) { const unsigned char *mbtab = encoding->mblen_table; @@ -656,9 +656,9 @@ static inline void strcut_const_width(mbfl_string *string, const mbfl_encoding * * * It's easiest when each character is encoded with a constant number of bytes: */ size_t bytes_per_char; - if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + if (encoding->flag & MBFL_ENCTYPE_WCS2) { bytes_per_char = 2; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { bytes_per_char = 4; } else { bytes_per_char = 1; @@ -740,7 +740,7 @@ mbfl_string *mbfl_strcut(mbfl_string *string, mbfl_string *result, size_t from, from = string->len; } - if (encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE | MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + if (encoding->flag & (MBFL_ENCTYPE_SBCS | MBFL_ENCTYPE_WCS2 | MBFL_ENCTYPE_WCS4)) { strcut_const_width(string, encoding, from, &start, &length); } else if (encoding == &mbfl_encoding_utf8) { strcut_utf8(string, from, &start, &length); @@ -1584,10 +1584,10 @@ HashTable *mbfl_str_split(mbfl_string *string, unsigned int split_length) if (encoding->flag & MBFL_ENCTYPE_SBCS) { /* 1 byte */ mb_len = string->len; chunk_len = split_length; /* chunk length in bytes */ - } else if (encoding->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { /* 2 bytes */ + } else if (encoding->flag & MBFL_ENCTYPE_WCS2) { /* 2 bytes */ mb_len = string->len / 2; chunk_len = split_length * 2; - } else if (encoding->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { /* 4 bytes */ + } else if (encoding->flag & MBFL_ENCTYPE_WCS4) { /* 4 bytes */ mb_len = string->len / 4; chunk_len = split_length * 4; } else if (encoding->mblen_table) { diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c index f16edfee3be6f..65b81f20646c2 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_wchar.c @@ -38,7 +38,7 @@ const mbfl_encoding mbfl_encoding_wchar = { NULL, NULL, NULL, - MBFL_ENCTYPE_WCS4BE, + MBFL_ENCTYPE_WCS4, NULL, NULL }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index 0f57310d5e11f..25d2ea0235595 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -33,12 +33,10 @@ #define MBFL_ENCTYPE_SBCS 0x00000001 /* single-byte encoding */ #define MBFL_ENCTYPE_MBCS 0x00000002 /* multi-byte encoding */ -#define MBFL_ENCTYPE_WCS2BE 0x00000010 /* 2 bytes/char, big endian */ -#define MBFL_ENCTYPE_WCS2LE 0x00000020 /* 2 bytes/char, little endian */ +#define MBFL_ENCTYPE_WCS2 0x00000010 /* 2 bytes/char */ #define MBFL_ENCTYPE_MWC2BE 0x00000040 /* 2+ bytes/char, big endian */ #define MBFL_ENCTYPE_MWC2LE 0x00000080 /* 2+ bytes/char, little endian */ -#define MBFL_ENCTYPE_WCS4BE 0x00000100 /* 4 bytes/char, big endian */ -#define MBFL_ENCTYPE_WCS4LE 0x00000200 /* 4 bytes/char, little endian */ +#define MBFL_ENCTYPE_WCS4 0x00000100 /* 4 bytes/char */ #define MBFL_ENCTYPE_GL_UNSAFE 0x00004000 /* wchar plane, special character */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index fc40b014d0efd..7524cd5af5bc4 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -4118,9 +4118,9 @@ MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *e if (enc->mblen_table != NULL) { if (s != NULL) return enc->mblen_table[*(unsigned char *)s]; } - } else if (enc->flag & (MBFL_ENCTYPE_WCS2BE | MBFL_ENCTYPE_WCS2LE)) { + } else if (enc->flag & MBFL_ENCTYPE_WCS2) { return 2; - } else if (enc->flag & (MBFL_ENCTYPE_WCS4BE | MBFL_ENCTYPE_WCS4LE)) { + } else if (enc->flag & MBFL_ENCTYPE_WCS4) { return 4; } } From 03b57af87fd39f2aebc942e7774695dd3aa0fd26 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 21 Sep 2020 21:05:34 +0200 Subject: [PATCH 083/123] Nothing uses return values of identity filter functions Each type of text encoding in mbstring has an 'identify filter' which can be used to see if some string is valid for that encoding or not. All the identify filter functions return an `int`, but nothing checks or uses the return values! So we can simplify things by making these functions return `void`. --- ext/mbstring/libmbfl/filters/mbfilter_7bit.c | 5 +- .../libmbfl/filters/mbfilter_base64.c | 5 +- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 5 +- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 5 +- .../libmbfl/filters/mbfilter_cp5022x.c | 24 +++---- .../libmbfl/filters/mbfilter_cp51932.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 6 +- .../libmbfl/filters/mbfilter_euc_cn.c | 6 +- .../libmbfl/filters/mbfilter_euc_jp.c | 6 +- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 6 +- .../libmbfl/filters/mbfilter_euc_kr.c | 6 +- .../libmbfl/filters/mbfilter_euc_tw.c | 6 +- .../libmbfl/filters/mbfilter_gb18030.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 6 +- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 6 +- .../libmbfl/filters/mbfilter_iso2022_kr.c | 6 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 20 +++--- .../filters/mbfilter_iso2022jp_mobile.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 36 +++++------ ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 6 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 5 +- .../libmbfl/filters/mbfilter_sjis_mac.c | 6 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 2 +- .../libmbfl/filters/mbfilter_sjis_open.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 5 +- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 15 ++--- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 6 +- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 21 +++---- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 24 ++++--- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 63 +++++++++---------- .../libmbfl/filters/mbfilter_utf7imap.c | 14 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 6 +- .../libmbfl/filters/mbfilter_utf8_mobile.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 5 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 10 +-- 38 files changed, 152 insertions(+), 226 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 6064144106e2f..91bdcdd19ceb5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_7bit.h" -static int mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_7bit = { mbfl_no_encoding_7bit, @@ -87,10 +87,9 @@ int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter) { if (c >= 0x80) { filter->flag = 1; } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 5112afe511693..1f0f0b0be6fed 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_base64.h" -static int mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_base64 = { mbfl_no_encoding_base64, @@ -213,12 +213,11 @@ void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter) { if (decode_base64_char(c) != -1 || c == '=') { filter->status = (filter->status + 1) % 4; } else { filter->flag = 1; /* Illegal character */ } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index a5a5a68fe4740..dbde082b97191 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -32,7 +32,7 @@ #include "unicode_table_big5.h" -static int mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_big5[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -319,7 +319,7 @@ mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) { int c1; if (filter->encoding->no_encoding == mbfl_no_encoding_cp950) { @@ -340,6 +340,4 @@ static int mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) } else { /* bad */ filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 8f7c5a04487d1..d08da6e7812ee 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_byte2.h" -static int mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_byte2be = { mbfl_no_encoding_byte2be, @@ -143,9 +143,8 @@ int mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter) { /* Input string must be a multiple of 2 bytes */ filter->status = (filter->status + 1) % 2; - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index ed6d440f931ad..98d53cfd21671 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_byte4.h" -static int mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_byte4be = { mbfl_no_encoding_byte4be, @@ -159,9 +159,8 @@ int mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter) { /* Input should be a multiple of 4 bytes */ filter->status = (filter->status + 1) % 4; - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 6e1b99a2c6b11..de96e06124cd7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -31,10 +31,10 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static int mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); @@ -913,7 +913,7 @@ void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) } -static int mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1007,11 +1007,9 @@ static int mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } -static int mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1083,11 +1081,9 @@ static int mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } -static int mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1161,11 +1157,9 @@ static int mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } -static int mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1237,6 +1231,4 @@ static int mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 3bda4d82003f6..966993538e912 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static int mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -298,7 +298,7 @@ mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -331,6 +331,4 @@ static int mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index faa28de5366f5..2dd4e16d26cee 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static int mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -322,7 +322,7 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ @@ -338,6 +338,4 @@ static int mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter) } else { /* bad */ filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index 40d87b9ddc21b..d18653c27e38d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -32,7 +32,7 @@ #define UNICODE_TABLE_CP936_DEF #include "unicode_table_cp936.h" -static int mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_cp936[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -282,7 +282,7 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfe || c == 0x7f) { /* bad */ @@ -296,6 +296,4 @@ static int mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter) } else { /* bad */ filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index 850f3236161ce..f5fd9e361ce31 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -32,7 +32,7 @@ #include "unicode_table_cp936.h" -static int mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euccn[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -208,7 +208,7 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -232,6 +232,4 @@ static int mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 2aa82b75fbd75..cfaef80428d1f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -279,7 +279,7 @@ static inline int in_unused_jisx0212_range(int c1, int c2) return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; } -int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter) { unsigned char ku, ten; @@ -338,6 +338,4 @@ int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index dd9f8c424ed79..7c3b58e8e8255 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -31,7 +31,7 @@ #include "mbfilter_euc_jp_2004.h" #include "mbfilter_sjis_2004.h" -extern int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_eucjp[]; static const char *mbfl_encoding_eucjp2004_aliases[] = {"EUC_JP-2004", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index b5e5856e80f3b..d13655ec8aafc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static int mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -372,7 +372,7 @@ mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -420,6 +420,4 @@ static int mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index b86d1e49b161d..b2422dafddb7e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -31,7 +31,7 @@ #include "mbfilter_euc_kr.h" #include "unicode_table_uhc.h" -static int mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euckr[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -222,7 +222,7 @@ mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -246,6 +246,4 @@ static int mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 5f6173bdd74dc..59b6faf944819 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -32,7 +32,7 @@ #include "unicode_table_cns11643.h" -static int mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euctw[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -270,7 +270,7 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -318,6 +318,4 @@ static int mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index 861a0549667fb..af01d7287c592 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -33,7 +33,7 @@ #include "unicode_table_cp936.h" #include "unicode_table_gb18030.h" -static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_gb18030_aliases[] = {"gb-18030", "gb-18030-2000", NULL}; @@ -413,7 +413,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) { int c1; @@ -461,6 +461,4 @@ static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) } else { /* bad */ filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index 9cebb4c7855de..99b8567beff99 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -32,7 +32,7 @@ #include "unicode_table_cp936.h" -static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_hz = { mbfl_no_encoding_hz, @@ -222,7 +222,7 @@ void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) filter->status &= 0xff; } -static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) { switch (filter->status & 0xf) { /* case 0x00: ASCII */ @@ -264,6 +264,4 @@ static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 3a5db69a5e18e..d1a6dd780a62f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jpms_aliases[] = {"ISO2022JPMS", NULL}; @@ -425,7 +425,7 @@ void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) } } -int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -515,6 +515,4 @@ int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 6b3957192d2d2..47b35b7ff36e5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -31,7 +31,7 @@ #include "mbfilter_iso2022_kr.h" #include "unicode_table_uhc.h" -static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_2022kr = { mbfl_no_encoding_2022kr, @@ -278,7 +278,7 @@ void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -344,6 +344,4 @@ static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index d32be2a7a39f1..66934088da68c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -35,7 +35,7 @@ #include "unicode_table_jis2004.h" extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); -static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_2022jp_2004 = { mbfl_no_encoding_2022jp_2004, @@ -72,9 +72,9 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { mbfl_filt_conv_wchar_jis2004_flush }; -static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter); /* ISO 2022-JP-2004 has different modes, which can be selected by a sequence * starting with ESC (0x1B). In each mode, characters can be selected from a @@ -166,7 +166,7 @@ static inline int in_unused_jisx0208_range(int c1, int c2) } /* In JIS X 0208 mode */ -static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -184,7 +184,6 @@ static int mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) filter->status = 0; /* Passed by 2-byte character, starting a new one */ } } - return c; } static inline int is_reserved_jisx0213_plane1_range(int c1, int c2) @@ -194,7 +193,7 @@ static inline int is_reserved_jisx0213_plane1_range(int c1, int c2) } /* In JIS X 0213:2004 plane 1 */ -static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -209,7 +208,6 @@ static int mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filte filter->status = 0; } } - return c; } static inline int is_reserved_jisx0213_plane2_range(int c1, int c2) @@ -219,7 +217,7 @@ static inline int is_reserved_jisx0213_plane2_range(int c1, int c2) } /* In JIS X 0213:2000 plane 2 */ -static int mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -234,16 +232,14 @@ static int mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filte filter->status = 0; } } - return c; } /* In ASCII mode */ -static int mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (c > 0x7F) { /* non-ASCII */ filter->flag = 1; } } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index af517bb9ec62e..2d96f4d7a9b5d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -36,7 +36,7 @@ #include "cp932_table.h" extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); -extern int mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jp_kddi_aliases[] = {"ISO-2022-JP-KDDI", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 982dd977e43ce..4a86700e4491f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -33,8 +33,8 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static int mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_jis = { mbfl_no_encoding_jis, @@ -473,9 +473,9 @@ void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter); /* ISO 2022-JP has different modes, which can be selected by a sequence * starting with ESC (0x1B). In each mode, characters can be selected from a @@ -560,14 +560,13 @@ static int handle_esc_sequence_jis7(int c, mbfl_identify_filter *filter) return 0; } -static int mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter) { /* We convert single bytes from 0xA1-0xDF to JIS X 0201 kana, even if * no escape to shift to JIS X 0201 has been seen */ if (!handle_esc_sequence_jis7(c, filter) && ((c >= 0x80 && c <= 0xA0) || c >= 0xE0)) { filter->flag = 1; } - return c; } /* Not all byte sequences in JIS X 0208 which would otherwise be valid are @@ -578,7 +577,7 @@ static inline int in_unused_jisx0208_range(int c1, int c2) return s >= jisx0208_ucs_table_size || !jisx0208_ucs_table[s]; } -static int handle_jisx_0208(int c, mbfl_identify_filter *filter) +static void handle_jisx_0208(int c, mbfl_identify_filter *filter) { if (filter->status == 0) { if (c >= 0x21 && c <= 0x7E) { @@ -591,12 +590,13 @@ static int handle_jisx_0208(int c, mbfl_identify_filter *filter) } else { filter->status = 0; } - return c; } -static int mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter) { - return handle_esc_sequence_jis7(c, filter) || handle_jisx_0208(c, filter); + if (!handle_esc_sequence_jis7(c, filter)) { + handle_jisx_0208(c, filter); + } } static inline int in_unused_jisx0212_range(int c1, int c2) @@ -605,10 +605,10 @@ static inline int in_unused_jisx0212_range(int c1, int c2) return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; } -static int mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter) { if (handle_esc_sequence_jis7(c, filter)) { - return c; + return; } else if (filter->status == 0) { if (c >= 0x21 && c <= 0x7E) { filter->status = c << 8; @@ -620,7 +620,6 @@ static int mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter) } else { filter->status = 0; } - return c; } static int handle_esc_sequence_2022jp(int c, mbfl_identify_filter *filter) @@ -662,15 +661,16 @@ static int handle_esc_sequence_2022jp(int c, mbfl_identify_filter *filter) return 0; } -static int mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter) { if (!handle_esc_sequence_2022jp(c, filter) && c > 0x7F) { filter->flag = 1; } - return c; } -static int mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter) { - return handle_esc_sequence_2022jp(c, filter) || handle_jisx_0208(c, filter); + if (!handle_esc_sequence_2022jp(c, filter)) { + handle_jisx_0208(c, filter); + } } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 334fcf74c3ad6..81c273c69ebe3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -37,7 +37,7 @@ #include "unicode_table_jis.h" static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); -int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -260,7 +260,7 @@ int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xFC || c == 0x7F) { @@ -281,6 +281,4 @@ int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter) } else { filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 7011df52b6de1..4241a5ce8f905 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -40,7 +40,7 @@ extern const unsigned char mblen_table_sjis[]; extern int mbfl_bisec_srch(int w, const unsigned short *tbl, int n); extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -static int mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_sjis2004_aliases[] = {"SJIS2004","Shift_JIS-2004", NULL}; @@ -781,7 +781,7 @@ static int in_reserved_range(unsigned char byte1, unsigned char byte2) mbfl_bisec_srch2(s, jisx0213_u2_key, jisx0213_u2_tbl_len) == -1; } -static int mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xFC || c == 0x7F || in_reserved_range(filter->status, c)) { @@ -794,5 +794,4 @@ static int mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter) } else if (c == 0x80 || c == 0xA0 || c >= 0xF0) { filter->flag = 1; } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 580db3bcffa19..3cf2a3b897b1b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -39,7 +39,7 @@ extern const unsigned char mblen_table_sjis[]; -static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); @@ -744,7 +744,7 @@ static int in_reserved_range(unsigned char byte1, unsigned char byte2) } } -static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xfc || c == 0x7f || in_reserved_range(filter->status, c)) { @@ -766,6 +766,4 @@ static int mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter) } else { filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 4ebc6471c98cd..aa50456467b96 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -36,7 +36,7 @@ #include "emoji2uni.h" extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -extern int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_sjis[]; static const char *mbfl_encoding_sjis_docomo_aliases[] = {"SJIS-DOCOMO", "shift_jis-imode", "x-sjis-emoji-docomo", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index 34317462448af..1dfcf45adf84a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static int mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -322,7 +322,7 @@ mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ @@ -338,6 +338,4 @@ static int mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter) } else { /* bad */ filter->flag = 1; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index e4def44ae4122..091291cd4176f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -31,7 +31,7 @@ #include "mbfilter_ucs2.h" static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter); -static int mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_ucs2_aliases[] = {"ISO-10646-UCS-2", "UCS2" , "UNICODE", NULL}; @@ -223,9 +223,8 @@ static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) return 0; } -static int mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter) { /* Input string must be a multiple of 2 bytes */ filter->status = (filter->status + 1) % 2; - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index 44c769956422f..ff4df14a819d3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -31,9 +31,9 @@ #include "mbfilter_ucs4.h" static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter); -static int mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_ucs4_aliases[] = {"ISO-10646-UCS-4", "UCS4", NULL}; @@ -251,7 +251,7 @@ static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter) return 0; } -static int mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { @@ -263,10 +263,9 @@ static int mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) } filter->status = 0; } - return c; } -static int mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { @@ -278,10 +277,9 @@ static int mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) } filter->status = 0; } - return c; } -static int mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { @@ -298,5 +296,4 @@ static int mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter) } filter->status = 0; } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index a194e74bf3745..9e4295e302914 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -32,7 +32,7 @@ #define UNICODE_TABLE_UHC_DEF #include "unicode_table_uhc.h" -static int mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter); static const unsigned char mblen_table_uhc[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -219,7 +219,7 @@ mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ @@ -255,6 +255,4 @@ static int mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index f9d7dda3a37ef..f7ae5a9c09c06 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -30,9 +30,9 @@ #include "mbfilter.h" #include "mbfilter_utf16.h" -static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter); static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf16_aliases[] = {"utf16", NULL}; @@ -339,7 +339,7 @@ static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) { if (filter->status == 0) { if (c >= 0xfe) { /* could be a byte-order mark */ @@ -347,7 +347,7 @@ static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) } else { /* no byte-order mark at beginning of input; assume UTF-16BE */ filter->filter_function = mbfl_filt_ident_utf16be; - return (filter->filter_function)(c, filter); + (filter->filter_function)(c, filter); } } else { unsigned short n = (filter->status << 8) | c; @@ -363,13 +363,12 @@ static int mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) /* it wasn't a byte-order mark */ filter->filter_function = mbfl_filt_ident_utf16be; (filter->filter_function)(n >> 8, filter); - return (filter->filter_function)(c, filter); + (filter->filter_function)(c, filter); } } - return c; } -static int mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -400,11 +399,9 @@ static int mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter) } break; } - - return c; } -static int mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -440,6 +437,4 @@ static int mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter) filter->status = 0; break; } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index 1e2e5e63b5476..f57aec0b79753 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -30,9 +30,9 @@ #include "mbfilter.h" #include "mbfilter_utf32.h" -static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter); static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf32_aliases[] = {"utf32", NULL}; @@ -244,7 +244,7 @@ static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) { /* The largest valid codepoint is 0x10FFFF; we don't want values above that * Neither do we want to see surrogates @@ -253,7 +253,7 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) case 0: /* 1st byte */ if (c == 0xff) { filter->status = 1; - return c; + return; } filter->filter_function = mbfl_filt_ident_utf32be; break; @@ -261,7 +261,7 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) case 1: /* 2nd byte */ if (c == 0xfe) { filter->status = 2; - return c; + return; } filter->filter_function = mbfl_filt_ident_utf32be; (filter->filter_function)(0xff, filter); @@ -270,7 +270,7 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) case 2: /* 3rd byte */ if (c == 0) { filter->status = 3; - return c; + return; } filter->filter_function = mbfl_filt_ident_utf32be; (filter->filter_function)(0xff, filter); @@ -282,7 +282,7 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) /* We found a little-endian byte-order mark! */ filter->status = 0; filter->filter_function = mbfl_filt_ident_utf32le; - return c; + return; } filter->filter_function = mbfl_filt_ident_utf32be; (filter->filter_function)(0xff, filter); @@ -291,10 +291,10 @@ static int mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) break; } - return (filter->filter_function)(c, filter); + (filter->filter_function)(c, filter); } -static int mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -329,10 +329,9 @@ static int mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter) } filter->status = 3; } - return c; } -static int mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -366,5 +365,4 @@ static int mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter) case 4: /* 3rd byte, not in BMP */ filter->status = 3; } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index dadc33133fa83..9b18094dd2d55 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -30,7 +30,7 @@ #include "mbfilter.h" #include "mbfilter_utf7.h" -static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter); static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter); static const unsigned char mbfl_base64_table[] = { @@ -266,7 +266,7 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) return c; } -static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) +static void mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) { if (filter->cache) { /* Either we were expecting the 2nd half of a surrogate pair which @@ -277,8 +277,6 @@ static int mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) if (filter->flush_function) { (*filter->flush_function)(filter->data); } - - return 0; } /* @@ -444,16 +442,16 @@ void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) } } -static int mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter); -static int mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter); -int (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { +void (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { mbfl_filt_ident_utf7_base64, mbfl_filt_ident_utf7_base64_2, mbfl_filt_ident_utf7_base64_4, @@ -464,7 +462,7 @@ int (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { mbfl_filt_ident_utf7_base64_14 }; -static int identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter *filter) +static void identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter *filter) { /* Cached bits are in low 2 bytes of `filter->status` * If expecting the 2nd part of a UTF-16BE surrogate pair, bit 17 is set */ @@ -511,56 +509,53 @@ static int identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter filter->status = surr | cache; filter->filter_function = filt_ident_utf7_functions[bits / 2]; } - return c; } -static int mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 0, filter); + identify_utf7_base64(c, 0, filter); } -static int mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 2, filter); + identify_utf7_base64(c, 2, filter); } -static int mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 4, filter); + identify_utf7_base64(c, 4, filter); } -static int mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 6, filter); + identify_utf7_base64(c, 6, filter); } -static int mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 8, filter); + identify_utf7_base64(c, 8, filter); } -static int mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 10, filter); + identify_utf7_base64(c, 10, filter); } -static int mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 12, filter); + identify_utf7_base64(c, 12, filter); } -static int mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter) { - return identify_utf7_base64(c, 14, filter); + identify_utf7_base64(c, 14, filter); } -static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter) { if (c == '+') { /* '+' shift character */ filter->filter_function = mbfl_filt_ident_utf7_base64; } else if (c == '\\' || c == '~' || c > 0x7F) { /* illegal character */ filter->flag = 1; /* bad */ } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 2b2c2dacdf31f..24257a35cf5c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -78,7 +78,7 @@ #include "mbfilter.h" #include "mbfilter_utf7imap.h" -static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter); static const char *mbfl_encoding_utf7imap_aliases[] = {"mUTF-7", NULL}; @@ -467,7 +467,7 @@ static inline int decode_modified_base64(int c) /* After finishing a Base64-encoded block, UTF7imap does not allow another one * to start immediately; use this function in such places */ -static int mbfl_filt_ident_utf7imap_finished_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7imap_finished_base64(int c, mbfl_identify_filter *filter) { /* Another modified Base64-encoded section may not begin immediately after * one has just finished */ @@ -475,7 +475,6 @@ static int mbfl_filt_ident_utf7imap_finished_base64(int c, mbfl_identify_filter filter->flag = 1; } filter->filter_function = mbfl_filt_ident_utf7imap; - return c; } /* Make sure that decoded codepoint is one which is legal for Base64-encoded section @@ -487,7 +486,7 @@ static void check_legal_codepoint_for_base64(int cp, mbfl_identify_filter *filte } } -static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) { if (filter->status == 0) { /* Decoding ASCII characters */ if (c == '&') { @@ -499,7 +498,7 @@ static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) } else if (c <= 0x1F || c >= 0x7F) { filter->flag = 1; } - return c; + return; } /* Decoding modified Base64 */ @@ -511,13 +510,13 @@ static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) } filter->status = 0; /* End modified Base64-encoded block */ filter->filter_function = mbfl_filt_ident_utf7imap_finished_base64; - return c; + return; } int six_bits = decode_modified_base64(c); if (six_bits < 0) { filter->flag = 1; /* Not valid modified Base64 character */ - return c; + return; } /* The following state machine has 23 possible states, depending on: @@ -617,5 +616,4 @@ static int mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) check_legal_codepoint_for_base64((cache << 2) | (six_bits >> 4), filter); CHECK_SURROGATE_FIRST_PART(six_bits, 0, 2, -20, -13); } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 5f535b62efe23..d87829b76d523 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -30,7 +30,7 @@ #include "mbfilter.h" #include "mbfilter_utf8.h" -int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); const unsigned char mblen_table_utf8[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -225,7 +225,7 @@ int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) return c; } -int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) { int c1; @@ -294,6 +294,4 @@ int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) filter->flag = 1; /* bad */ } } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index 9c533f0f603cc..d651aa1e1ffd5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -32,7 +32,7 @@ #include "mbfilter_utf8_mobile.h" #include "mbfilter_sjis_mobile.h" -extern int mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); extern void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); extern const unsigned char mblen_table_utf8[]; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 3d79ff1c9c00e..7b82cff61ca69 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -214,7 +214,4 @@ void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter) } /* For encodings in which _every_ possible input string is valid */ -int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter) -{ - return c; -} +void mbfl_filt_ident_true(int c, mbfl_identify_filter *filter) {} diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 6493cef530350..79023fb00ceaa 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -40,7 +40,7 @@ typedef struct _mbfl_identify_filter mbfl_identify_filter; struct _mbfl_identify_filter { - int (*filter_function)(int c, mbfl_identify_filter *filter); + void (*filter_function)(int c, mbfl_identify_filter *filter); int status; int flag; const mbfl_encoding *encoding; @@ -49,7 +49,7 @@ struct _mbfl_identify_filter { struct mbfl_identify_vtbl { enum mbfl_no_encoding encoding; void (*filter_ctor)(mbfl_identify_filter *filter); - int (*filter_function)(int c, mbfl_identify_filter *filter); + void (*filter_function)(int c, mbfl_identify_filter *filter); }; MBFLAPI extern const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding); @@ -60,11 +60,11 @@ MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, cons MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); -MBFLAPI extern int mbfl_filt_ident_true(int c, mbfl_identify_filter *filter); +MBFLAPI extern void mbfl_filt_ident_true(int c, mbfl_identify_filter *filter); -static inline int mbfl_identify_filter_feed(int c, mbfl_identify_filter *filter) +static inline void mbfl_identify_filter_feed(int c, mbfl_identify_filter *filter) { - return (*filter->filter_function)(c, filter); + (*filter->filter_function)(c, filter); } #endif /* MBFL_IDENT_H */ From b47267293279872891c50a57efad74eb27fb2441 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 21 Sep 2020 21:56:23 +0200 Subject: [PATCH 084/123] Identify filter functions should take unsigned char, not int Every caller of these functions passes `unsigned char`s. Why widen them to `int`? There's no good reason. --- ext/mbstring/libmbfl/filters/mbfilter_7bit.c | 4 +- .../libmbfl/filters/mbfilter_base64.c | 4 +- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 4 +- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 4 +- .../libmbfl/filters/mbfilter_cp5022x.c | 24 +++++------ .../libmbfl/filters/mbfilter_cp51932.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 6 +-- .../libmbfl/filters/mbfilter_euc_cn.c | 6 +-- .../libmbfl/filters/mbfilter_euc_jp.c | 4 +- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 6 +-- .../libmbfl/filters/mbfilter_euc_kr.c | 6 +-- .../libmbfl/filters/mbfilter_euc_tw.c | 6 +-- .../libmbfl/filters/mbfilter_gb18030.c | 4 +- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022_kr.c | 6 +-- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 16 ++++---- .../filters/mbfilter_iso2022jp_mobile.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 20 +++++----- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 4 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 4 +- .../libmbfl/filters/mbfilter_sjis_mac.c | 6 +-- .../libmbfl/filters/mbfilter_sjis_mobile.c | 2 +- .../libmbfl/filters/mbfilter_sjis_open.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 4 +- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 12 +++--- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 12 +++--- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 12 +++--- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 40 +++++++++---------- .../libmbfl/filters/mbfilter_utf7imap.c | 6 +-- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 8 ++-- .../libmbfl/filters/mbfilter_utf8_mobile.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_ident.h | 8 ++-- ext/mbstring/mbstring.c | 3 +- 39 files changed, 144 insertions(+), 147 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 91bdcdd19ceb5..8427934dfb088 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_7bit.h" -static void mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_7bit(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_7bit = { mbfl_no_encoding_7bit, @@ -87,7 +87,7 @@ int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_7bit(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_7bit(unsigned char c, mbfl_identify_filter *filter) { if (c >= 0x80) { filter->flag = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 1f0f0b0be6fed..55ca417dd332a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_base64.h" -static void mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_base64(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_base64 = { mbfl_no_encoding_base64, @@ -213,7 +213,7 @@ void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_base64(unsigned char c, mbfl_identify_filter *filter) { if (decode_base64_char(c) != -1 || c == '=') { filter->status = (filter->status + 1) % 4; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index dbde082b97191..8ca6a61d08466 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -32,7 +32,7 @@ #include "unicode_table_big5.h" -static void mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_big5(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_big5[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -319,7 +319,7 @@ mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_big5(unsigned char c, mbfl_identify_filter *filter) { int c1; if (filter->encoding->no_encoding == mbfl_no_encoding_cp950) { @@ -333,7 +333,7 @@ static void mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) filter->flag = 1; } filter->status = 0; - } else if (c >= 0 && c < 0x80) { /* latin ok */ + } else if (c < 0x80) { /* latin ok */ ; } else if (c > c1 && c < 0xff) { /* DBCS lead byte */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index d08da6e7812ee..5c691736d1220 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_byte2.h" -static void mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_byte2(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_byte2be = { mbfl_no_encoding_byte2be, @@ -143,7 +143,7 @@ int mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_byte2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_byte2(unsigned char c, mbfl_identify_filter *filter) { /* Input string must be a multiple of 2 bytes */ filter->status = (filter->status + 1) % 2; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index 98d53cfd21671..ab4b363606c97 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -31,7 +31,7 @@ #include "mbfilter.h" #include "mbfilter_byte4.h" -static void mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_byte4(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_byte4be = { mbfl_no_encoding_byte4be, @@ -159,7 +159,7 @@ int mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_byte4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_byte4(unsigned char c, mbfl_identify_filter *filter) { /* Input should be a multiple of 4 bytes */ filter->status = (filter->status + 1) % 4; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index de96e06124cd7..c1fd725af0e9a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -31,10 +31,10 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50220(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50221(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp50222(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); @@ -913,7 +913,7 @@ void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) } -static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -931,7 +931,7 @@ static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) filter->status = 0; } else if ((filter->status == 0x80 || filter->status == 0x90) && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ @@ -1009,7 +1009,7 @@ static void mbfl_filt_ident_jis_ms(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50220(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1021,7 +1021,7 @@ static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) filter->status += 2; } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ @@ -1083,7 +1083,7 @@ static void mbfl_filt_ident_cp50220(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50221(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1095,7 +1095,7 @@ static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) filter->status += 2; } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ @@ -1159,7 +1159,7 @@ static void mbfl_filt_ident_cp50221(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp50222(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -1171,7 +1171,7 @@ static void mbfl_filt_ident_cp50222(int c, mbfl_identify_filter *filter) filter->status += 2; } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 966993538e912..ed4156645673c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static void mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp51932(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -298,11 +298,11 @@ mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_cp51932(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp51932(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c > 0xa0 && c < 0xff) { /* kanji first char */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 2dd4e16d26cee..400315c42380f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static void mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp932(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -322,14 +322,14 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_cp932(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp932(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ filter->flag = 1; } filter->status = 0; - } else if (c >= 0 && c < 0x80) { /* latin ok */ + } else if (c < 0x80) { /* latin ok */ ; } else if (c > 0xa0 && c < 0xe0) { /* kana ok */ ; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index d18653c27e38d..d1cf9115aa1d5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -32,7 +32,7 @@ #define UNICODE_TABLE_CP936_DEF #include "unicode_table_cp936.h" -static void mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp936(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_cp936[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -282,14 +282,14 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_cp936(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp936(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfe || c == 0x7f) { /* bad */ filter->flag = 1; } filter->status = 0; - } else if (c >= 0 && c < 0x80) { /* latin ok */ + } else if (c < 0x80) { /* latin ok */ ; } else if (c > 0x80 && c < 0xff) { /* DBCS lead byte */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index f5fd9e361ce31..da7b213256738 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -32,7 +32,7 @@ #include "unicode_table_cp936.h" -static void mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euccn(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euccn[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -208,11 +208,11 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_euccn(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euccn(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c > 0xa0 && c < 0xff) { /* DBCS lead byte */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index cfaef80428d1f..0a08f4524d72d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_eucjp(unsigned char c, mbfl_identify_filter *filter); const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -279,7 +279,7 @@ static inline int in_unused_jisx0212_range(int c1, int c2) return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; } -void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_eucjp(unsigned char c, mbfl_identify_filter *filter) { unsigned char ku, ten; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index 7c3b58e8e8255..bafb7d742f4cd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -31,7 +31,7 @@ #include "mbfilter_euc_jp_2004.h" #include "mbfilter_sjis_2004.h" -extern void mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_eucjp(unsigned char c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_eucjp[]; static const char *mbfl_encoding_eucjp2004_aliases[] = {"EUC_JP-2004", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index d13655ec8aafc..4b1c9dd6731b6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static void mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_eucjp_win(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -372,11 +372,11 @@ mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_eucjp_win(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_eucjp_win(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c > 0xa0 && c < 0xff) { /* kanji first char */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index b2422dafddb7e..c4d1458ac95e4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -31,7 +31,7 @@ #include "mbfilter_euc_kr.h" #include "unicode_table_uhc.h" -static void mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euckr(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euckr[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -222,11 +222,11 @@ mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_euckr(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euckr(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c > 0xa0 && c < 0xff) { /* DBCS lead byte */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 59b6faf944819..9327ad3257d61 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -32,7 +32,7 @@ #include "unicode_table_cns11643.h" -static void mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_euctw(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_euctw[] = { /* 0xA1-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -270,11 +270,11 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_euctw(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_euctw(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c > 0xa0 && c < 0xff) { /* DBCS lead byte */ filter->status = 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index af01d7287c592..fac11f1e2f25f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -33,7 +33,7 @@ #include "unicode_table_cp936.h" #include "unicode_table_gb18030.h" -static void mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_gb18030(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_gb18030_aliases[] = {"gb-18030", "gb-18030-2000", NULL}; @@ -413,7 +413,7 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_gb18030(unsigned char c, mbfl_identify_filter *filter) { int c1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index 99b8567beff99..1fd8463c1fdad 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -32,7 +32,7 @@ #include "unicode_table_cp936.h" -static void mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_hz(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_hz = { mbfl_no_encoding_hz, @@ -222,7 +222,7 @@ void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) filter->status &= 0xff; } -static void mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_hz(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status & 0xf) { /* case 0x00: ASCII */ @@ -232,7 +232,7 @@ static void mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) filter->status += 2; } else if (filter->status == 0x10 && c > 0x20 && c < 0x7f) { /* DBCS first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index d1a6dd780a62f..904f2cfb1901b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jpms_aliases[] = {"ISO2022JPMS", NULL}; @@ -425,7 +425,7 @@ void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) } } -void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -439,7 +439,7 @@ void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter) filter->status += 2; } else if ((filter->status == 0x80 || filter->status == 0xa0) && c > 0x20 && c < 0x80) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 47b35b7ff36e5..30c6be21e7434 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -31,7 +31,7 @@ #include "mbfilter_iso2022_kr.h" #include "unicode_table_uhc.h" -static void mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022kr(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_2022kr = { mbfl_no_encoding_2022kr, @@ -278,7 +278,7 @@ void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022kr(unsigned char c, mbfl_identify_filter *filter) { retry: switch (filter->status & 0xf) { @@ -292,7 +292,7 @@ static void mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) filter->status += 2; } else if (filter->status == 0x20 && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c < 0x80) { /* latin, CTLs */ ; } else { filter->flag = 1; /* bad */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index 66934088da68c..92082090efcb1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -35,7 +35,7 @@ #include "unicode_table_jis2004.h" extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); -static void mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_2022jp_2004 = { mbfl_no_encoding_2022jp_2004, @@ -72,9 +72,9 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004 = { mbfl_filt_conv_wchar_jis2004_flush }; -static void mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0208(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0213_1(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_2004_0213_2(unsigned char c, mbfl_identify_filter *filter); /* ISO 2022-JP-2004 has different modes, which can be selected by a sequence * starting with ESC (0x1B). In each mode, characters can be selected from a @@ -166,7 +166,7 @@ static inline int in_unused_jisx0208_range(int c1, int c2) } /* In JIS X 0208 mode */ -static void mbfl_filt_ident_2022jp_2004_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0208(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -193,7 +193,7 @@ static inline int is_reserved_jisx0213_plane1_range(int c1, int c2) } /* In JIS X 0213:2004 plane 1 */ -static void mbfl_filt_ident_2022jp_2004_0213_1(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0213_1(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -217,7 +217,7 @@ static inline int is_reserved_jisx0213_plane2_range(int c1, int c2) } /* In JIS X 0213:2000 plane 2 */ -static void mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004_0213_2(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (filter->status == 0) { @@ -235,7 +235,7 @@ static void mbfl_filt_ident_2022jp_2004_0213_2(int c, mbfl_identify_filter *filt } /* In ASCII mode */ -static void mbfl_filt_ident_2022jp_2004(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_2004(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence(c, filter)) { if (c > 0x7F) { /* non-ASCII */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 2d96f4d7a9b5d..80ddb02987f07 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -36,7 +36,7 @@ #include "cp932_table.h" extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); -extern void mbfl_filt_ident_2022jpms(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jp_kddi_aliases[] = {"ISO-2022-JP-KDDI", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 4a86700e4491f..d7fe44e8263e0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -33,8 +33,8 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static void mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp(unsigned char c, mbfl_identify_filter *filter); const mbfl_encoding mbfl_encoding_jis = { mbfl_no_encoding_jis, @@ -473,9 +473,9 @@ void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7_0208(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_jis7_0212(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jp_0208(unsigned char c, mbfl_identify_filter *filter); /* ISO 2022-JP has different modes, which can be selected by a sequence * starting with ESC (0x1B). In each mode, characters can be selected from a @@ -560,7 +560,7 @@ static int handle_esc_sequence_jis7(int c, mbfl_identify_filter *filter) return 0; } -static void mbfl_filt_ident_jis7(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7(unsigned char c, mbfl_identify_filter *filter) { /* We convert single bytes from 0xA1-0xDF to JIS X 0201 kana, even if * no escape to shift to JIS X 0201 has been seen */ @@ -592,7 +592,7 @@ static void handle_jisx_0208(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_jis7_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7_0208(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence_jis7(c, filter)) { handle_jisx_0208(c, filter); @@ -605,7 +605,7 @@ static inline int in_unused_jisx0212_range(int c1, int c2) return s >= jisx0212_ucs_table_size || !jisx0212_ucs_table[s]; } -static void mbfl_filt_ident_jis7_0212(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_jis7_0212(unsigned char c, mbfl_identify_filter *filter) { if (handle_esc_sequence_jis7(c, filter)) { return; @@ -661,14 +661,14 @@ static int handle_esc_sequence_2022jp(int c, mbfl_identify_filter *filter) return 0; } -static void mbfl_filt_ident_2022jp(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence_2022jp(c, filter) && c > 0x7F) { filter->flag = 1; } } -static void mbfl_filt_ident_2022jp_0208(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jp_0208(unsigned char c, mbfl_identify_filter *filter) { if (!handle_esc_sequence_2022jp(c, filter)) { handle_jisx_0208(c, filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 81c273c69ebe3..5cca0b2fea1c7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -37,7 +37,7 @@ #include "unicode_table_jis.h" static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); -void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter); const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -260,7 +260,7 @@ int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) return c; } -void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xFC || c == 0x7F) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 4241a5ce8f905..044e754205365 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -40,7 +40,7 @@ extern const unsigned char mblen_table_sjis[]; extern int mbfl_bisec_srch(int w, const unsigned short *tbl, int n); extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -static void mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_2004(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_sjis2004_aliases[] = {"SJIS2004","Shift_JIS-2004", NULL}; @@ -781,7 +781,7 @@ static int in_reserved_range(unsigned char byte1, unsigned char byte2) mbfl_bisec_srch2(s, jisx0213_u2_key, jisx0213_u2_tbl_len) == -1; } -static void mbfl_filt_ident_sjis_2004(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_2004(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xFC || c == 0x7F || in_reserved_range(filter->status, c)) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 3cf2a3b897b1b..aa59a85a29d0e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -39,7 +39,7 @@ extern const unsigned char mblen_table_sjis[]; -static void mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_mac(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter); static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter); @@ -744,14 +744,14 @@ static int in_reserved_range(unsigned char byte1, unsigned char byte2) } } -static void mbfl_filt_ident_sjis_mac(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_mac(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xfc || c == 0x7f || in_reserved_range(filter->status, c)) { filter->flag = 1; } filter->status = 0; - } else if (c >= 0 && c <= 0x80) { + } else if (c <= 0x80) { /* ASCII characters are OK, and Apple added REVERSE SOLIDUS at 0x80 */ ; } else if (c >= 0xA0 && c < 0xE0) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index aa50456467b96..27dc8b5353404 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -36,7 +36,7 @@ #include "emoji2uni.h" extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -extern void mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_sjis[]; static const char *mbfl_encoding_sjis_docomo_aliases[] = {"SJIS-DOCOMO", "shift_jis-imode", "x-sjis-emoji-docomo", NULL}; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index 1dfcf45adf84a..e33b218943e35 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -33,7 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static void mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_open(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -322,14 +322,14 @@ mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_sjis_open(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis_open(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* kanji second char */ if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ filter->flag = 1; } filter->status = 0; - } else if (c >= 0 && c < 0x80) { /* latin ok */ + } else if (c < 0x80) { /* latin ok */ ; } else if (c > 0xa0 && c < 0xe0) { /* kana ok */ ; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 091291cd4176f..9bcf41076efbb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -31,7 +31,7 @@ #include "mbfilter_ucs2.h" static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter); -static void mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs2(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_ucs2_aliases[] = {"ISO-10646-UCS-2", "UCS2" , "UNICODE", NULL}; @@ -223,7 +223,7 @@ static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) return 0; } -static void mbfl_filt_ident_ucs2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs2(unsigned char c, mbfl_identify_filter *filter) { /* Input string must be a multiple of 2 bytes */ filter->status = (filter->status + 1) % 2; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index ff4df14a819d3..ea52cbdcb696e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -31,9 +31,9 @@ #include "mbfilter_ucs4.h" static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter); -static void mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4be(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_ucs4le(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_ucs4_aliases[] = {"ISO-10646-UCS-4", "UCS4", NULL}; @@ -251,7 +251,7 @@ static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter) return 0; } -static void mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4be(unsigned char c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { @@ -265,7 +265,7 @@ static void mbfl_filt_ident_ucs4be(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4le(unsigned char c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { @@ -279,7 +279,7 @@ static void mbfl_filt_ident_ucs4le(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_ucs4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_ucs4(unsigned char c, mbfl_identify_filter *filter) { int n = filter->status & 0xFF; /* # of bytes already consumed in code unit */ if (n < 3) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index 9e4295e302914..94e81167ba296 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -32,7 +32,7 @@ #define UNICODE_TABLE_UHC_DEF #include "unicode_table_uhc.h" -static void mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_uhc(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_uhc[] = { /* 0x81-0xFE */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -219,11 +219,11 @@ mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter) return c; } -static void mbfl_filt_ident_uhc(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_uhc(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* latin */ - if (c >= 0 && c < 0x80) { /* ok */ + if (c < 0x80) { /* ok */ ; } else if (c >= 0x81 && c <= 0xa0) { /* dbcs first char */ filter->status= 1; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index f7ae5a9c09c06..0a4077c8b1169 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -30,9 +30,9 @@ #include "mbfilter.h" #include "mbfilter_utf16.h" -static void mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16le(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf16be(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf16_aliases[] = {"utf16", NULL}; @@ -339,7 +339,7 @@ static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16(unsigned char c, mbfl_identify_filter *filter) { if (filter->status == 0) { if (c >= 0xfe) { /* could be a byte-order mark */ @@ -368,7 +368,7 @@ static void mbfl_filt_ident_utf16(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16le(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -401,7 +401,7 @@ static void mbfl_filt_ident_utf16le(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_utf16be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf16be(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index f57aec0b79753..7df4e8c1c0d13 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -30,9 +30,9 @@ #include "mbfilter.h" #include "mbfilter_utf32.h" -static void mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32le(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf32be(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter); static const char *mbfl_encoding_utf32_aliases[] = {"utf32", NULL}; @@ -244,7 +244,7 @@ static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32(unsigned char c, mbfl_identify_filter *filter) { /* The largest valid codepoint is 0x10FFFF; we don't want values above that * Neither do we want to see surrogates @@ -294,7 +294,7 @@ static void mbfl_filt_ident_utf32(int c, mbfl_identify_filter *filter) (filter->filter_function)(c, filter); } -static void mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32le(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ @@ -331,7 +331,7 @@ static void mbfl_filt_ident_utf32le(int c, mbfl_identify_filter *filter) } } -static void mbfl_filt_ident_utf32be(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf32be(unsigned char c, mbfl_identify_filter *filter) { switch (filter->status) { case 0: /* 1st byte */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 9b18094dd2d55..3abd2cc1bae06 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -31,7 +31,7 @@ #include "mbfilter_utf7.h" static void mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter); -static int mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mbfl_base64_table[] = { /* 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', */ @@ -442,16 +442,16 @@ void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) } } -static void mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_2(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_4(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_6(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_8(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_10(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_12(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7_base64_14(unsigned char c, mbfl_identify_filter *filter); -void (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { +void (*filt_ident_utf7_functions[])(unsigned char, mbfl_identify_filter*) = { mbfl_filt_ident_utf7_base64, mbfl_filt_ident_utf7_base64_2, mbfl_filt_ident_utf7_base64_4, @@ -462,7 +462,7 @@ void (*filt_ident_utf7_functions[])(int, mbfl_identify_filter*) = { mbfl_filt_ident_utf7_base64_14 }; -static void identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter *filter) +static void identify_utf7_base64(unsigned char c, unsigned char bits, mbfl_identify_filter *filter) { /* Cached bits are in low 2 bytes of `filter->status` * If expecting the 2nd part of a UTF-16BE surrogate pair, bit 17 is set */ @@ -511,47 +511,47 @@ static void identify_utf7_base64(int c, unsigned char bits, mbfl_identify_filter } } -static void mbfl_filt_ident_utf7_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 0, filter); } -static void mbfl_filt_ident_utf7_base64_2(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_2(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 2, filter); } -static void mbfl_filt_ident_utf7_base64_4(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_4(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 4, filter); } -static void mbfl_filt_ident_utf7_base64_6(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_6(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 6, filter); } -static void mbfl_filt_ident_utf7_base64_8(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_8(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 8, filter); } -static void mbfl_filt_ident_utf7_base64_10(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_10(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 10, filter); } -static void mbfl_filt_ident_utf7_base64_12(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_12(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 12, filter); } -static void mbfl_filt_ident_utf7_base64_14(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7_base64_14(unsigned char c, mbfl_identify_filter *filter) { identify_utf7_base64(c, 14, filter); } -static void mbfl_filt_ident_utf7(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7(unsigned char c, mbfl_identify_filter *filter) { if (c == '+') { /* '+' shift character */ filter->filter_function = mbfl_filt_ident_utf7_base64; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 24257a35cf5c8..aceac8f4401b8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -78,7 +78,7 @@ #include "mbfilter.h" #include "mbfilter_utf7imap.h" -static void mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_utf7imap(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_utf7imap_aliases[] = {"mUTF-7", NULL}; @@ -467,7 +467,7 @@ static inline int decode_modified_base64(int c) /* After finishing a Base64-encoded block, UTF7imap does not allow another one * to start immediately; use this function in such places */ -static void mbfl_filt_ident_utf7imap_finished_base64(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7imap_finished_base64(unsigned char c, mbfl_identify_filter *filter) { /* Another modified Base64-encoded section may not begin immediately after * one has just finished */ @@ -486,7 +486,7 @@ static void check_legal_codepoint_for_base64(int cp, mbfl_identify_filter *filte } } -static void mbfl_filt_ident_utf7imap(int c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_utf7imap(unsigned char c, mbfl_identify_filter *filter) { if (filter->status == 0) { /* Decoding ASCII characters */ if (c == '&') { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index d87829b76d523..ed5f7b83b87e2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -30,7 +30,7 @@ #include "mbfilter.h" #include "mbfilter_utf8.h" -void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); +void mbfl_filt_ident_utf8(unsigned char c, mbfl_identify_filter *filter); const unsigned char mblen_table_utf8[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -225,7 +225,7 @@ int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) return c; } -void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) +void mbfl_filt_ident_utf8(unsigned char c, mbfl_identify_filter *filter) { int c1; @@ -233,9 +233,7 @@ void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter) filter->status &= 0xff; if (c < 0x80) { - if (c < 0) { - filter->flag = 1; /* bad */ - } else if (filter->status) { + if (filter->status) { filter->flag = 1; /* bad */ } filter->status = 0; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index d651aa1e1ffd5..06c506f91e9c2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -32,7 +32,7 @@ #include "mbfilter_utf8_mobile.h" #include "mbfilter_sjis_mobile.h" -extern void mbfl_filt_ident_utf8(int c, mbfl_identify_filter *filter); +extern void mbfl_filt_ident_utf8(unsigned char c, mbfl_identify_filter *filter); extern void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); extern const unsigned char mblen_table_utf8[]; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 7b82cff61ca69..42c4710f80187 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -214,4 +214,4 @@ void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter) } /* For encodings in which _every_ possible input string is valid */ -void mbfl_filt_ident_true(int c, mbfl_identify_filter *filter) {} +void mbfl_filt_ident_true(unsigned char c, mbfl_identify_filter *filter) {} diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h index 79023fb00ceaa..938f591d4ce82 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.h @@ -40,7 +40,7 @@ typedef struct _mbfl_identify_filter mbfl_identify_filter; struct _mbfl_identify_filter { - void (*filter_function)(int c, mbfl_identify_filter *filter); + void (*filter_function)(unsigned char c, mbfl_identify_filter *filter); int status; int flag; const mbfl_encoding *encoding; @@ -49,7 +49,7 @@ struct _mbfl_identify_filter { struct mbfl_identify_vtbl { enum mbfl_no_encoding encoding; void (*filter_ctor)(mbfl_identify_filter *filter); - void (*filter_function)(int c, mbfl_identify_filter *filter); + void (*filter_function)(unsigned char c, mbfl_identify_filter *filter); }; MBFLAPI extern const struct mbfl_identify_vtbl * mbfl_identify_filter_get_vtbl(enum mbfl_no_encoding encoding); @@ -60,9 +60,9 @@ MBFLAPI extern void mbfl_identify_filter_init(mbfl_identify_filter *filter, cons MBFLAPI extern void mbfl_filt_ident_common_ctor(mbfl_identify_filter *filter); -MBFLAPI extern void mbfl_filt_ident_true(int c, mbfl_identify_filter *filter); +MBFLAPI extern void mbfl_filt_ident_true(unsigned char c, mbfl_identify_filter *filter); -static inline void mbfl_identify_filter_feed(int c, mbfl_identify_filter *filter) +static inline void mbfl_identify_filter_feed(unsigned char c, mbfl_identify_filter *filter) { (*filter->filter_function)(c, filter); } diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 7524cd5af5bc4..6ec605f703642 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3771,8 +3771,7 @@ MBSTRING_API int php_mb_check_encoding(const char *input, size_t length, const m mbfl_identify_filter *ident = mbfl_identify_filter_new2(encoding); while (length--) { - unsigned char c = *input++; - (ident->filter_function)(c, ident); + mbfl_identify_filter_feed(*input++, ident); if (ident->flag) { mbfl_identify_filter_delete(ident); return 0; From aeca9e6c3e0548c76f3c9a4a8383900489c09cff Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 21 Sep 2020 22:28:11 +0200 Subject: [PATCH 085/123] Encoding conversion functions don't need to return anything All mbstring encoding conversion functions were declared as returning `int`. When emitting output, they would check if the next function in the chain returned an error code, and if so, return it back to their own caller. What kind of 'errors' was this actually used to detect? Interestingly, there was only _one_ possible error condition: If the output bytes were stored in a dynamically growing buffer, an error would be signaled if it grew _bigger than the range of a `size_t`_. The range of `size_t` is platform-dependent, but on all sane platforms, it is big enough to cover the entire memory address space of the computer. In any case, no statically or dynamically allocated object can be bigger than the range of a `size_t`. So let's think about how likely that error condition actually is. A single buffer, holding the results of a text encoding conversion, growing _bigger than the entire memory space_? Really? So where would that leave room for the _source_ string being converted? PHP tracks how much memory a script allocates and fails with an error if the heap grows too big. Don't we expect that this would happen long before our monster buffer fills up the entire address space? Think, too, that in no case is the entire address space available for user pages (even if you have enough physical RAM + swap space). Most OS kernels map the kernel text/data into the address space of every process (with suitable access protection), so page tables don't have to be swapped on every syscall. And there will always be some address space used for other things... like the PHP interpreter! So it will never happen that a single buffer fills the whole address space. The process will crash before that. So essentially, our only error condition... will never happen! That means that the encoding filter functions don't need to return anything, and we can remove thousands of 'check and return early on error' operations. --- ext/mbstring/libmbfl/filters/mbfilter_7bit.c | 13 +- ext/mbstring/libmbfl/filters/mbfilter_7bit.h | 4 +- .../libmbfl/filters/mbfilter_base64.c | 30 ++- .../libmbfl/filters/mbfilter_base64.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 32 ++- ext/mbstring/libmbfl/filters/mbfilter_big5.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_byte2.c | 26 +-- ext/mbstring/libmbfl/filters/mbfilter_byte2.h | 8 +- ext/mbstring/libmbfl/filters/mbfilter_byte4.c | 34 ++- ext/mbstring/libmbfl/filters/mbfilter_byte4.h | 8 +- .../libmbfl/filters/mbfilter_cp5022x.c | 200 ++++++++---------- .../libmbfl/filters/mbfilter_cp5022x.h | 12 +- .../libmbfl/filters/mbfilter_cp51932.c | 42 ++-- .../libmbfl/filters/mbfilter_cp51932.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 32 ++- ext/mbstring/libmbfl/filters/mbfilter_cp932.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 39 ++-- ext/mbstring/libmbfl/filters/mbfilter_cp936.h | 4 +- .../libmbfl/filters/mbfilter_euc_cn.c | 30 +-- .../libmbfl/filters/mbfilter_euc_cn.h | 4 +- .../libmbfl/filters/mbfilter_euc_jp.c | 46 ++-- .../libmbfl/filters/mbfilter_euc_jp.h | 4 +- .../libmbfl/filters/mbfilter_euc_jp_2004.h | 4 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 54 ++--- .../libmbfl/filters/mbfilter_euc_jp_win.h | 4 +- .../libmbfl/filters/mbfilter_euc_kr.c | 31 +-- .../libmbfl/filters/mbfilter_euc_kr.h | 4 +- .../libmbfl/filters/mbfilter_euc_tw.c | 51 ++--- .../libmbfl/filters/mbfilter_euc_tw.h | 4 +- .../libmbfl/filters/mbfilter_gb18030.c | 67 +++--- .../libmbfl/filters/mbfilter_gb18030.h | 4 +- .../libmbfl/filters/mbfilter_htmlent.c | 33 ++- .../libmbfl/filters/mbfilter_htmlent.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 42 ++-- ext/mbstring/libmbfl/filters/mbfilter_hz.h | 4 +- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 87 ++++---- .../libmbfl/filters/mbfilter_iso2022_jp_ms.h | 4 +- .../libmbfl/filters/mbfilter_iso2022_kr.c | 54 ++--- .../libmbfl/filters/mbfilter_iso2022_kr.h | 4 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.h | 4 +- .../filters/mbfilter_iso2022jp_mobile.c | 74 +++---- .../filters/mbfilter_iso2022jp_mobile.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 126 +++++------ ext/mbstring/libmbfl/filters/mbfilter_jis.h | 6 +- .../libmbfl/filters/mbfilter_qprint.c | 45 ++-- .../libmbfl/filters/mbfilter_qprint.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 30 ++- ext/mbstring/libmbfl/filters/mbfilter_sjis.h | 4 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 135 ++++++------ .../libmbfl/filters/mbfilter_sjis_2004.h | 4 +- .../libmbfl/filters/mbfilter_sjis_mac.c | 103 +++++---- .../libmbfl/filters/mbfilter_sjis_mac.h | 4 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 61 +++--- .../libmbfl/filters/mbfilter_sjis_mobile.h | 4 +- .../libmbfl/filters/mbfilter_sjis_open.c | 32 ++- .../libmbfl/filters/mbfilter_sjis_open.h | 4 +- .../filters/mbfilter_tl_jisx0201_jisx0208.c | 9 +- ext/mbstring/libmbfl/filters/mbfilter_ucs2.c | 35 ++- ext/mbstring/libmbfl/filters/mbfilter_ucs2.h | 10 +- ext/mbstring/libmbfl/filters/mbfilter_ucs4.c | 52 ++--- ext/mbstring/libmbfl/filters/mbfilter_ucs4.h | 10 +- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 30 +-- ext/mbstring/libmbfl/filters/mbfilter_uhc.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 78 +++---- ext/mbstring/libmbfl/filters/mbfilter_utf16.h | 10 +- ext/mbstring/libmbfl/filters/mbfilter_utf32.c | 53 ++--- ext/mbstring/libmbfl/filters/mbfilter_utf32.h | 10 +- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 86 ++++---- ext/mbstring/libmbfl/filters/mbfilter_utf7.h | 4 +- .../libmbfl/filters/mbfilter_utf7imap.c | 101 ++++----- .../libmbfl/filters/mbfilter_utf7imap.h | 4 +- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 71 +++---- ext/mbstring/libmbfl/filters/mbfilter_utf8.h | 4 +- .../libmbfl/filters/mbfilter_utf8_mobile.c | 51 ++--- .../libmbfl/filters/mbfilter_utf8_mobile.h | 6 +- .../libmbfl/filters/mbfilter_uuencode.c | 11 +- .../libmbfl/filters/mbfilter_uuencode.h | 2 +- ext/mbstring/libmbfl/mbfl/mbfilter.c | 14 +- ext/mbstring/libmbfl/mbfl/mbfilter.h | 2 +- ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c | 18 +- ext/mbstring/libmbfl/mbfl/mbfilter_pass.c | 4 +- ext/mbstring/libmbfl/mbfl/mbfilter_pass.h | 2 +- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 86 +++----- ext/mbstring/libmbfl/mbfl/mbfl_convert.h | 10 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 2 +- .../libmbfl/mbfl/mbfl_filter_output.c | 9 +- .../libmbfl/mbfl/mbfl_filter_output.h | 4 +- .../libmbfl/mbfl/mbfl_memory_device.c | 46 ++-- .../libmbfl/mbfl/mbfl_memory_device.h | 10 +- ext/mbstring/mbstring.c | 4 +- ext/mbstring/php_unicode.c | 6 +- 91 files changed, 1095 insertions(+), 1446 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c index 8427934dfb088..93317f8837217 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.c @@ -68,23 +68,18 @@ const struct mbfl_convert_vtbl vtbl_7bit_8bit = { mbfl_filt_conv_common_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter) { - return (*filter->output_function)(c, filter->data); + (*filter->output_function)(c, filter->data); } - -int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x80) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { mbfl_filt_conv_illegal_output(c, filter); } - return c; } static void mbfl_filt_ident_7bit(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_7bit.h b/ext/mbstring/libmbfl/filters/mbfilter_7bit.h index f842a2ad3be4d..f44770f3a22b5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_7bit.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_7bit.h @@ -38,7 +38,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_7bit; extern const struct mbfl_convert_vtbl vtbl_8bit_7bit; extern const struct mbfl_convert_vtbl vtbl_7bit_8bit; -int mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_7bit_any(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_any_7bit(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_7BIT_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.c b/ext/mbstring/libmbfl/filters/mbfilter_base64.c index 55ca417dd332a..9f34461185898 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.c @@ -68,9 +68,6 @@ const struct mbfl_convert_vtbl vtbl_b64_8bit = { mbfl_filt_conv_base64dec_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * any => BASE64 */ @@ -87,7 +84,7 @@ static const unsigned char mbfl_base64_table[] = { 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x2b,0x2f,0x00 }; -int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) { int n = (filter->status & 0xff); /* 1st (low) byte of `n` is the number of bytes already cached (0, 1, or 2) @@ -106,19 +103,18 @@ int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter) filter->status &= ~0xff; if ((filter->status & MBFL_BASE64_STS_MIME_HEADER) == 0) { if ((filter->status & 0xff00) > (72 << 8)) { - CK((*filter->output_function)(0x0d, filter->data)); /* CR */ - CK((*filter->output_function)(0x0a, filter->data)); /* LF */ + (*filter->output_function)(0x0d, filter->data); /* CR */ + (*filter->output_function)(0x0a, filter->data); /* LF */ filter->status = 0; } filter->status += 0x400; } n = filter->cache | (c & 0xff); - CK((*filter->output_function)(mbfl_base64_table[(n >> 18) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(n >> 12) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(n >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[n & 0x3f], filter->data)); + (*filter->output_function)(mbfl_base64_table[(n >> 18) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(n >> 12) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(n >> 6) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[n & 0x3f], filter->data); } - return c; } void mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter) @@ -166,10 +162,10 @@ static unsigned int decode_base64_char(unsigned char c) return -1; } -int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) { if (c == '\r' || c == '\n' || c == ' ' || c == '\t' || c == '=') { - return 0; + return; } unsigned int n = decode_base64_char(c); @@ -190,13 +186,11 @@ int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter) default: filter->status = 0; n |= filter->cache; - CK((*filter->output_function)((n >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(n & 0xff, filter->data)); + (*filter->output_function)((n >> 16) & 0xff, filter->data); + (*filter->output_function)((n >> 8) & 0xff, filter->data); + (*filter->output_function)(n & 0xff, filter->data); break; } - - return c; } void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_base64.h b/ext/mbstring/libmbfl/filters/mbfilter_base64.h index 4dd617cb2e807..97afa7a844e3d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_base64.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_base64.h @@ -38,9 +38,9 @@ extern const struct mbfl_identify_vtbl vtbl_identify_base64; extern const struct mbfl_convert_vtbl vtbl_b64_8bit; extern const struct mbfl_convert_vtbl vtbl_8bit_b64; -int mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_base64enc(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_base64enc_flush(mbfl_convert_filter *filter); -int mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_base64dec(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_base64dec_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_BASE64_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index 8ca6a61d08466..d50f4258c23de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -125,8 +125,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp950 = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* 63 + 94 = 157 or 94 */ static unsigned short cp950_pua_tbl[][4] = { {0xe000,0xe310,0xfa40,0xfefe}, @@ -150,8 +148,7 @@ static inline int is_in_cp950_pua(int c1, int c) { /* * Big5 => wchar */ -int -mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) { int k; int c1, w, c2; @@ -165,16 +162,16 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) } if (c >= 0 && c <= 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c == 0xff) { - CK((*filter->output_function)(0xf8f8, filter->data)); + (*filter->output_function)(0xf8f8, filter->data); } else if (c > c1 && c < 0xff) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -217,14 +214,14 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_BIG5; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -232,15 +229,12 @@ mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => Big5 */ -int -mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) { int k; int c1, s, c2; @@ -307,16 +301,14 @@ mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s <= 0x80 || s == 0xff) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_big5(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.h b/ext/mbstring/libmbfl/filters/mbfilter_big5.h index c5a0955f8d71b..e347a03a97aef 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.h @@ -42,7 +42,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_cp950; extern const struct mbfl_convert_vtbl vtbl_cp950_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp950; -int mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_BIG5_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c index 5c691736d1220..575cc802c7d9f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.c @@ -103,44 +103,38 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte2le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_byte2be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_byte2be_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; filter->cache = (c & 0xff) << 8; } else { filter->status = 0; - CK((*filter->output_function)((c & 0xff) | filter->cache, filter->data)); + (*filter->output_function)((c & 0xff) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_byte2be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_byte2be(int c, mbfl_convert_filter *filter) { - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); - return c; + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)(c & 0xff, filter->data); } -int mbfl_filt_conv_byte2le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_byte2le_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; filter->cache = c & 0xff; } else { filter->status = 0; - CK((*filter->output_function)(((c & 0xff) << 8) | filter->cache, filter->data)); + (*filter->output_function)(((c & 0xff) << 8) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - return c; + (*filter->output_function)(c & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); } static void mbfl_filt_ident_byte2(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h index 35ae66de44c8d..c3719e78f0e53 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte2.h @@ -42,9 +42,9 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_byte2be; extern const struct mbfl_convert_vtbl vtbl_byte2le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_byte2le; -int mbfl_filt_conv_wchar_byte2be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_byte2be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_byte2le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_byte2be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_byte2be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_byte2le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_byte2le_wchar(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_BYTE2_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c index ab4b363606c97..e42e081c1d022 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.c @@ -103,9 +103,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_byte4le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; @@ -118,21 +116,19 @@ int mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter) filter->cache |= (c & 0xff) << 8; } else { filter->status = 0; - CK((*filter->output_function)((c & 0xff) | filter->cache, filter->data)); + (*filter->output_function)((c & 0xff) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_byte4be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_byte4be(int c, mbfl_convert_filter *filter) { - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); - return c; + (*filter->output_function)((c >> 24) & 0xff, filter->data); + (*filter->output_function)((c >> 16) & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)(c & 0xff, filter->data); } -int mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; @@ -145,18 +141,16 @@ int mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter) filter->cache |= (c & 0xff) << 16; } else { filter->status = 0; - CK((*filter->output_function)(((c & 0xff) << 24) | filter->cache, filter->data)); + (*filter->output_function)(((c & 0xff) << 24) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); - return c; + (*filter->output_function)(c & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)((c >> 16) & 0xff, filter->data); + (*filter->output_function)((c >> 24) & 0xff, filter->data); } static void mbfl_filt_ident_byte4(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h index 247104d5a234e..311a1cbdd950b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_byte4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_byte4.h @@ -40,9 +40,9 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_byte4be; extern const struct mbfl_convert_vtbl vtbl_byte4le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_byte4le; -int mbfl_filt_conv_wchar_byte4be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_byte4be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_byte4be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_byte4le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_byte4le_wchar(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_BYTE4_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index c1fd725af0e9a..e0b71e3747580 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -213,13 +213,10 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50222 = { mbfl_filt_conv_wchar_cp50222_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * JIS-ms => wchar */ -int -mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; @@ -238,22 +235,22 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) } else if (c == 0x0f) { /* "kana out" */ filter->status = 0; } else if (filter->status == 0x10 && c == 0x5c) { /* YEN SIGN */ - CK((*filter->output_function)(0xa5, filter->data)); + (*filter->output_function)(0xa5, filter->data); } else if (filter->status == 0x10 && c == 0x7e) { /* OVER LINE */ - CK((*filter->output_function)(0x203e, filter->data)); + (*filter->output_function)(0x203e, filter->data); } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - CK((*filter->output_function)(0xff40 + c, filter->data)); + (*filter->output_function)(0xff40 + c, filter->data); } else if ((filter->status == 0x80 || filter->status == 0x90) && c > 0x20 && c < 0x93) { /* kanji first char */ filter->cache = c; filter->status += 1; } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -296,16 +293,16 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_JIS0212; } } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if (c == 0x1b) { filter->status += 2; } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -322,7 +319,7 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) filter->status += 3; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -340,8 +337,8 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -359,9 +356,9 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x90; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -381,8 +378,8 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x20; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -391,15 +388,12 @@ mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => JIS */ -int -mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) { int c1, s; @@ -502,54 +496,52 @@ mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ - if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + if (filter->status & 0xff00) { + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s < 0x100) { /* kana */ if ((filter->status & 0xff00) != 0x100) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x49, filter->data); /* 'I' */ } filter->status = 0x100; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x8080) { /* X 0208 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x10000) { /* X 0212 */ if ((filter->status & 0xff00) != 0x300) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x44, filter->data)); /* 'D' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x44, filter->data); /* 'D' */ } filter->status = 0x300; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else { /* X 0201 latin */ if ((filter->status & 0xff00) != 0x400) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x4a, filter->data); /* 'J' */ } filter->status = 0x400; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } /* @@ -581,31 +573,28 @@ mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt) /* * wchar => cp50220raw */ -int -mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter) { if (c & MBFL_WCSPLANE_JIS0208) { const int s = c & MBFL_WCSPLANE_MASK; if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0x200; } - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); - return c; + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else { - return mbfl_filt_conv_wchar_cp50221(c, filter); + mbfl_filt_conv_wchar_cp50221(c, filter); } } /* * wchar => CP50221 */ -int -mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) { int s = 0; @@ -702,52 +691,49 @@ mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0; } - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s >= 0xa0 && s < 0xe0) { /* X 0201 kana */ if ((filter->status & 0xff00) != 0x500) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x49, filter->data); /* 'I' */ filter->status = 0x500; } - CK((*filter->output_function)(s - 0x80, filter->data)); + (*filter->output_function)(s - 0x80, filter->data); } else if (s < 0x8080) { /* X 0208 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0x200; } - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x10000) { /* X0212 */ - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } else { /* X 0201 latin */ if ((filter->status & 0xff00) != 0x400) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x4a, filter->data); /* 'J' */ } filter->status = 0x400; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } /* * wchar => CP50222 */ -int -mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) { int s; @@ -845,54 +831,52 @@ mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ if ((filter->status & 0xff00) == 0x500) { - CK((*filter->output_function)(0x0f, filter->data)); /* SO */ + (*filter->output_function)(0x0f, filter->data); /* SO */ filter->status = 0; } else if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0; } - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s >= 0xa0 && s < 0xe0) { /* X 0201 kana */ if ((filter->status & 0xff00) != 0x500) { - CK((*filter->output_function)(0x0e, filter->data)); /* SI */ + (*filter->output_function)(0x0e, filter->data); /* SI */ filter->status = 0x500; } - CK((*filter->output_function)(s - 0x80, filter->data)); + (*filter->output_function)(s - 0x80, filter->data); } else if (s < 0x8080) { /* X 0208 */ if ((filter->status & 0xff00) == 0x500) { - CK((*filter->output_function)(0x0f, filter->data)); /* SO */ + (*filter->output_function)(0x0f, filter->data); /* SO */ filter->status = 0; } if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0x200; } - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x10000) { /* X0212 */ - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } else { /* X 0201 latin */ if ((filter->status & 0xff00) == 0x500) { - CK((*filter->output_function)(0x0f, filter->data)); /* SO */ + (*filter->output_function)(0x0f, filter->data); /* SO */ filter->status = 0; } if ((filter->status & 0xff00) != 0x400) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x4a, filter->data); /* 'J' */ } filter->status = 0x400; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h index e61c234a11f12..da7ad141d1bd7 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h @@ -53,12 +53,12 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_cp50221; extern const struct mbfl_convert_vtbl vtbl_cp50222_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50222; -int mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP50221_h */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index ed4156645673c..0064b7ca0688b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -93,8 +93,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define sjistoidx(c1, c2) \ (((c1) > 0x9f) \ ? (((c1) - 0xc1) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40)) \ @@ -105,15 +103,14 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { /* * cp51932 => wchar */ -int -mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff) { /* CP932 first char */ filter->status = 1; filter->cache = c; @@ -122,7 +119,7 @@ mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -163,14 +160,14 @@ mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -178,14 +175,14 @@ mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -193,15 +190,12 @@ mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => cp51932 */ -int -mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) { int c1, c2, s1; @@ -281,21 +275,19 @@ mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x80) { /* latin */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x100) { /* kana */ - CK((*filter->output_function)(0x8e, filter->data)); - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(0x8e, filter->data); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x8080) { /* X 0208 */ - CK((*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data)); - CK((*filter->output_function)((s1 & 0xff) | 0x80, filter->data)); + (*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data); + (*filter->output_function)((s1 & 0xff) | 0x80, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_cp51932(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h index bbf56f48ca845..50bdc2931605a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_cp51932; extern const struct mbfl_convert_vtbl vtbl_cp51932_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp51932; -int mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP51932_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 400315c42380f..76577c5ffe451 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -91,8 +91,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ @@ -140,24 +138,23 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { /* * SJIS-win => wchar */ -int -mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) { int c1, s, s1, s2, w; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -203,14 +200,14 @@ mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -218,15 +215,12 @@ mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => SJIS-win */ -int -mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -307,19 +301,17 @@ mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) } if (s1 >= 0) { if (s1 < 0x100) { /* latin or kana */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { /* kanji */ c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_cp932(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h index f0b6daeac7f49..68dd7f00d001b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_cp932; extern const struct mbfl_convert_vtbl vtbl_cp932_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp932; -int mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP932_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index d1cf9115aa1d5..889cf357a607b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -90,14 +90,10 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp936 = { mbfl_filt_conv_common_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * CP936 => wchar */ -int -mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) { int k; int c1, c2, w = -1; @@ -105,14 +101,14 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c == 0x80) { /* euro sign */ - CK((*filter->output_function)(0x20ac, filter->data)); + (*filter->output_function)(0x20ac, filter->data); } else if (c < 0xff) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; } else { /* 0xff */ - CK((*filter->output_function)(0xf8f5, filter->data)); + (*filter->output_function)(0xf8f5, filter->data); } break; @@ -124,11 +120,11 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) (c >= 0xa1 && c <= 0xfe)) { /* UDA part1,2: U+E000-U+E4C5 */ w = 94*(c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c - 0xa1) + 0xe000; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { /* UDA part3 : U+E4C6-U+E765*/ w = 96*(c1 - 0xa1) + c - (c >= 0x80 ? 0x41 : 0x40) + 0xe4c6; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } c2 = (c1 << 8) | c; @@ -142,7 +138,7 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) c2 <= mbfl_cp936_pua_tbl[k][2] + mbfl_cp936_pua_tbl[k][1] - mbfl_cp936_pua_tbl[k][0]) { w = c2 - mbfl_cp936_pua_tbl[k][2] + mbfl_cp936_pua_tbl[k][0]; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); break; } } @@ -161,14 +157,14 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP936; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } break; @@ -177,15 +173,12 @@ mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => CP936 */ -int -mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) { int k, k1, k2; int c1, s = 0; @@ -270,16 +263,14 @@ mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s <= 0x80 || s == 0xff) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_cp936(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.h b/ext/mbstring/libmbfl/filters/mbfilter_cp936.h index cc5e9bd33332b..ec2eed46549e1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_cp936; extern const struct mbfl_convert_vtbl vtbl_cp936_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp936; -int mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_cp936_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_cp936(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_CP936_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index da7b213256738..58fecd374d3d5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -90,27 +90,24 @@ const struct mbfl_convert_vtbl vtbl_wchar_euccn = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * EUC-CN => wchar */ -int -mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter) { int c1, w; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -129,14 +126,14 @@ mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_GB2312; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -144,15 +141,12 @@ mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => EUC-CN */ -int -mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) { int c1, c2, s; @@ -196,16 +190,14 @@ mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s < 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_euccn(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h index 31251fcf6dcba..642dfa065d6de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_euccn; extern const struct mbfl_convert_vtbl vtbl_euccn_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_euccn; -int mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_euccn_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_euccn(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_CN_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 0a08f4524d72d..3035791cc04d2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -91,20 +91,17 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjp = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * EUC-JP => wchar */ -int -mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff) { /* X 0208 first char */ filter->status = 1; filter->cache = c; @@ -115,7 +112,7 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -134,12 +131,12 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0208; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -147,12 +144,12 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -180,12 +177,12 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0212; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 8) | c | 0x8f0000; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -193,15 +190,12 @@ mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => EUC-JP */ -int -mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) { int c1, s; @@ -245,23 +239,21 @@ mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s < 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s < 0x100) { /* kana */ - CK((*filter->output_function)(0x8e, filter->data)); - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(0x8e, filter->data); + (*filter->output_function)(s, filter->data); } else if (s < 0x8080) { /* X 0208 */ - CK((*filter->output_function)(((s >> 8) & 0xff) | 0x80, filter->data)); - CK((*filter->output_function)((s & 0xff) | 0x80, filter->data)); + (*filter->output_function)(((s >> 8) & 0xff) | 0x80, filter->data); + (*filter->output_function)((s & 0xff) | 0x80, filter->data); } else { /* X 0212 */ - CK((*filter->output_function)(0x8f, filter->data)); - CK((*filter->output_function)(((s >> 8) & 0xff) | 0x80, filter->data)); - CK((*filter->output_function)((s & 0xff) | 0x80, filter->data)); + (*filter->output_function)(0x8f, filter->data); + (*filter->output_function)(((s >> 8) & 0xff) | 0x80, filter->data); + (*filter->output_function)((s & 0xff) | 0x80, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } /* Not all byte sequences in JIS X 0208 which would otherwise be valid are diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h index e1bd5653433e8..c302b1e8af680 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_eucjp; extern const struct mbfl_convert_vtbl vtbl_eucjp_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_eucjp; -int mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_JP_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h index 55c06aef98bdd..f2c076ccddd3a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_eucjp2004; extern const struct mbfl_convert_vtbl vtbl_eucjp2004_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_eucjp2004; -int mbfl_filt_conv_eucjp2004_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_eucjp2004(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_eucjp2004_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_eucjp2004(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_JP_2004_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index 4b1c9dd6731b6..0c097c6d1237a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -94,20 +94,17 @@ const struct mbfl_convert_vtbl vtbl_wchar_eucjpwin = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * eucJP-win => wchar */ -int -mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w, n; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff) { /* CP932 first char */ filter->status = 1; filter->cache = c; @@ -118,7 +115,7 @@ mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -159,14 +156,14 @@ mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -174,20 +171,20 @@ mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; case 3: /* got 0x8f, X 0212 first char */ if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else { filter->status++; @@ -230,14 +227,14 @@ mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0212; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c | 0x8f0000; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -245,15 +242,12 @@ mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => eucJP-win */ -int -mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) { int c1, c2, s1; @@ -353,23 +347,21 @@ mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x80) { /* latin */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x100) { /* kana */ - CK((*filter->output_function)(0x8e, filter->data)); - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(0x8e, filter->data); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x8080) { /* X 0208 */ - CK((*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data)); - CK((*filter->output_function)((s1 & 0xff) | 0x80, filter->data)); + (*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data); + (*filter->output_function)((s1 & 0xff) | 0x80, filter->data); } else { /* X 0212 */ - CK((*filter->output_function)(0x8f, filter->data)); - CK((*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data)); - CK((*filter->output_function)((s1 & 0xff) | 0x80, filter->data)); + (*filter->output_function)(0x8f, filter->data); + (*filter->output_function)(((s1 >> 8) & 0xff) | 0x80, filter->data); + (*filter->output_function)((s1 & 0xff) | 0x80, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_eucjp_win(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h index f17058d523e8c..0a8a8aa29095e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_eucjpwin; extern const struct mbfl_convert_vtbl vtbl_eucjpwin_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_eucjpwin; -int mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_eucjpwin_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_JP_WIN_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index c4d1458ac95e4..66ce25ea77f4e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -89,28 +89,24 @@ const struct mbfl_convert_vtbl vtbl_wchar_euckr = { mbfl_filt_conv_common_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * EUC-KR => wchar */ -int -mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter) { int c1, w, flag; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff && c != 0xc9) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -145,14 +141,14 @@ mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_KSC5601; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -160,15 +156,12 @@ mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => EUC-KR */ -int -mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) { int c1, c2, s; @@ -210,16 +203,14 @@ mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s < 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_euckr(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h index 1534d2bedc557..59b78481dc155 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_euckr; extern const struct mbfl_convert_vtbl vtbl_euckr_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_euckr; -int mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_euckr_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_euckr(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_KR_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 9327ad3257d61..18007bce313c2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -91,20 +91,17 @@ const struct mbfl_convert_vtbl vtbl_wchar_euctw = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * EUC-TW => wchar */ -int -mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w, plane; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xff) { /* dbcs first byte */ filter->status = 1; filter->cache = c; @@ -114,7 +111,7 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -133,21 +130,21 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_CNS11643; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; case 2: /* got 0x8e, first char */ c1 = filter->cache; if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else if (c > 0xa0 && c < 0xaf) { filter->status = 3; @@ -156,7 +153,7 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -164,7 +161,7 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; c1 = filter->cache; if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else if (c > 0xa0 && c < 0xff) { filter->status = 4; @@ -173,7 +170,7 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -197,14 +194,14 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_CNS11643; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c | 0x8e0000; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -212,15 +209,12 @@ mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => EUC-TW */ -int -mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) { int c1, s, plane; @@ -251,23 +245,22 @@ mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter) plane = (s & 0x1f0000) >> 16; if (plane <= 1){ if (s < 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { s = (s & 0xffff) | 0x8080; - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { s = (0x8ea00000 + (plane << 16)) | ((s & 0xffff) | 0x8080); - CK((*filter->output_function)(0x8e , filter->data)); - CK((*filter->output_function)((s >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)(0x8e , filter->data); + (*filter->output_function)((s >> 16) & 0xff, filter->data); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - return c; } static void mbfl_filt_ident_euctw(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h index ed1f09125971f..bb5f490e6571f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_euctw; extern const struct mbfl_convert_vtbl vtbl_euctw_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_euctw; -int mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_euctw_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_euctw(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_EUC_TW_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index fac11f1e2f25f..6b08fbe3a0dbc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -72,9 +72,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_gb18030 = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - - int mbfl_bisec_srch(int w, const unsigned short *tbl, int n) { @@ -118,8 +115,7 @@ mbfl_bisec_srch2(int w, const unsigned short tbl[], int n) /* * GB18030 => wchar */ -int -mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) { int k; int c1, c2, c3, w = -1; @@ -127,18 +123,18 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c == 0x80) { /* euro sign */ - CK((*filter->output_function)(0x20ac, filter->data)); + (*filter->output_function)(0x20ac, filter->data); } else if (c == 0xff) { - CK((*filter->output_function)(0x00ff, filter->data)); + (*filter->output_function)(0x00ff, filter->data); } else if (c > 0x80 && c < 0xff) { /* dbcs/qbcs lead byte */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -149,20 +145,20 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) if (c1 >= 0x81 && c1 <= 0x84 && c >= 0x30 && c <= 0x39) { /* 4 byte range: Unicode BMP */ filter->status = 2; filter->cache = (c1 << 8) | c; - return c; + return; } else if (c1 >= 0x90 && c1 <= 0xe3 && c >= 0x30 && c <= 0x39) { /* 4 byte range: Unicode 16 planes */ filter->status = 2; filter->cache = (c1 << 8) | c; - return c; + return; } else if (((c1 >= 0xaa && c1 <= 0xaf) || (c1 >= 0xf8 && c1 <= 0xfe)) && (c >= 0xa1 && c <= 0xfe)) { /* UDA part1,2: U+E000-U+E4C5 */ w = 94*(c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c - 0xa1) + 0xe000; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { /* UDA part3 : U+E4C6-U+E765*/ w = 96*(c1 - 0xa1) + c - (c >= 0x80 ? 0x41 : 0x40) + 0xe4c6; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } c2 = (c1 << 8) | c; @@ -176,7 +172,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) c2 <= mbfl_gb18030_pua_tbl[k][2] + mbfl_gb18030_pua_tbl[k][1] - mbfl_gb18030_pua_tbl[k][0]) { w = c2 - mbfl_gb18030_pua_tbl[k][2] + mbfl_gb18030_pua_tbl[k][0]; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); break; } } @@ -199,14 +195,14 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_GB18030; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } break; @@ -223,7 +219,7 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 16) | (c2 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -246,24 +242,24 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); - return c; + (*filter->output_function)(w, filter->data); + return; } w += mbfl_gb_uni_ofst[k]; } else { w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); - return c; + (*filter->output_function)(w, filter->data); + return; } } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -271,15 +267,12 @@ mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => GB18030 */ -int -mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) { int k, k1, k2; int c1, s = 0, s1 = 0; @@ -396,21 +389,19 @@ mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s <= 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s1 > 0) { /* qbcs */ - CK((*filter->output_function)(s1 & 0xff, filter->data)); - CK((*filter->output_function)((s >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)(s1 & 0xff, filter->data); + (*filter->output_function)((s >> 16) & 0xff, filter->data); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } else { /* dbcs */ - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_gb18030(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h index dc7d51b6e2c51..efbdea32d38a1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_gb18030; extern const struct mbfl_convert_vtbl vtbl_gb18030_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_gb18030; -int mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_GB18030_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c index e624881112318..0576738be45ed 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.c @@ -89,28 +89,25 @@ const struct mbfl_convert_vtbl vtbl_html_wchar = { mbfl_filt_conv_html_dec_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * any => HTML */ -int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) { int tmp[64]; if (c < sizeof(htmlentitifieds) / sizeof(htmlentitifieds[0]) && htmlentitifieds[c] != 1) { - CK((*filter->output_function)(c, filter->data)); - return c; + (*filter->output_function)(c, filter->data); + return; } - CK((*filter->output_function)('&', filter->data)); + (*filter->output_function)('&', filter->data); for (int i = 0; mbfl_html_entity_list[i].name; i++) { const mbfl_html_entity_entry *e = &mbfl_html_entity_list[i]; if (c == e->code) { for (char *p = e->name; *p; p++) { - CK((*filter->output_function)(*p, filter->data)); + (*filter->output_function)(*p, filter->data); } goto last; } @@ -118,7 +115,7 @@ int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) int *p = tmp + sizeof(tmp) / sizeof(tmp[0]); - CK((*filter->output_function)('#', filter->data)); + (*filter->output_function)('#', filter->data); /* TODO: Why not use hexadecimal entities here?? */ unsigned int uc = (unsigned int)c; @@ -129,12 +126,11 @@ int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter) } while (uc); while (*p) { - CK((*filter->output_function)(*p++, filter->data)); + (*filter->output_function)(*p++, filter->data); } last: - CK((*filter->output_function)(';', filter->data)); - return c; + (*filter->output_function)(';', filter->data); } void mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter) @@ -168,7 +164,7 @@ void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter) } } -int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) { int pos, ent = 0; mbfl_html_entity_entry *entity; @@ -179,7 +175,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) filter->status = 1; buffer[0] = '&'; } else { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } } else { if (c == ';') { @@ -222,12 +218,12 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) } } if (ent >= 0 && ent < 0x110000) { - CK((*filter->output_function)(ent, filter->data)); + (*filter->output_function)(ent, filter->data); } else { for (pos = 0; pos < filter->status; pos++) { - CK((*filter->output_function)(buffer[pos], filter->data)); + (*filter->output_function)(buffer[pos], filter->data); } - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } filter->status = 0; /*php_error_docref("ref.mbstring", E_NOTICE, "mbstring decoded '%s'=%d", buffer, ent);*/ @@ -244,7 +240,7 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) } if (ent) { /* decoded */ - CK((*filter->output_function)(ent, filter->data)); + (*filter->output_function)(ent, filter->data); filter->status = 0; } else { /* failure */ @@ -269,7 +265,6 @@ int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter) } } } - return c; } void mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h index a8051fe1457e5..2eb4692802e7f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_htmlent.h @@ -39,9 +39,9 @@ extern const struct mbfl_convert_vtbl vtbl_html_wchar; void mbfl_filt_conv_html_dec_ctor(mbfl_convert_filter *filter); void mbfl_filt_conv_html_dec_dtor(mbfl_convert_filter *filter); -int mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_html_enc(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_html_enc_flush(mbfl_convert_filter *filter); -int mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_html_dec(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_html_dec_flush(mbfl_convert_filter *filter); void mbfl_filt_conv_html_dec_copy(mbfl_convert_filter *src, mbfl_convert_filter *dest); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index 1fd8463c1fdad..ee481e2be5a55 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -69,13 +69,10 @@ const struct mbfl_convert_vtbl vtbl_wchar_hz = { mbfl_filt_conv_any_hz_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * HZ => wchar */ -int -mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; @@ -89,11 +86,11 @@ mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) filter->cache = c; filter->status += 1; } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -113,14 +110,14 @@ mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_GB2312; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -132,7 +129,7 @@ mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x10; } else if (c == 0x7e) { /* '~' */ filter->status = 0x0; - CK((*filter->output_function)(0x007e, filter->data)); + (*filter->output_function)(0x007e, filter->data); } break; @@ -140,15 +137,12 @@ mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => HZ */ -int -mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) { int s; @@ -188,28 +182,26 @@ mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ - CK((*filter->output_function)(0x7d, filter->data)); /* '}' */ + (*filter->output_function)(0x7e, filter->data); /* '~' */ + (*filter->output_function)(0x7d, filter->data); /* '}' */ } filter->status = 0; if (s == 0x7e){ - CK((*filter->output_function)(0x7e, filter->data)); + (*filter->output_function)(0x7e, filter->data); } - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* GB 2312-80 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ - CK((*filter->output_function)(0x7b, filter->data)); /* '{' */ + (*filter->output_function)(0x7e, filter->data); /* '~' */ + (*filter->output_function)(0x7b, filter->data); /* '{' */ } filter->status = 0x200; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.h b/ext/mbstring/libmbfl/filters/mbfilter_hz.h index 9b5642ecc5d8c..85cf9244a9f28 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_hz; extern const struct mbfl_convert_vtbl vtbl_hz_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_hz; -int mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_HZ_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 904f2cfb1901b..7f3e76a3bbc32 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -73,8 +73,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jpms = { mbfl_filt_conv_any_2022jpms_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define sjistoidx(c1, c2) \ (((c1) > 0x9f) \ ? (((c1) - 0xc1) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40)) \ @@ -85,8 +83,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jpms = { /* * ISO-2022-JP-MS => wchar */ -int -mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; @@ -101,18 +98,18 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) if (c == 0x1b) { filter->status += 2; } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - CK((*filter->output_function)(0xff40 + c, filter->data)); + (*filter->output_function)(0xff40 + c, filter->data); } else if ((filter->status == 0x80 || filter->status == 0xa0) && c > 0x20 && c < 0x80) { /* kanji first char */ filter->cache = c; filter->status += 1; } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -158,7 +155,7 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0208; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { if (c1 > 0x20 && c1 < 0x35) { w = 0xe000 + (c1 - 0x21)*94 + c - 0x21; @@ -168,17 +165,17 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0208; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } else if (c == 0x1b) { filter->status += 2; } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -195,7 +192,7 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) filter->status += 3; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -213,8 +210,8 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -232,9 +229,9 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0xa0; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -254,8 +251,8 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x20; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -264,12 +261,9 @@ mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } -static int -cp932ext3_cp932ext2_jis(int c) +static int cp932ext3_cp932ext2_jis(int c) { int idx; @@ -286,8 +280,7 @@ cp932ext3_cp932ext2_jis(int c) /* * wchar => ISO-2022-JP-MS */ -int -mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -368,45 +361,43 @@ mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x80) { /* latin */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); filter->status = 0; } else if (s1 > 0xa0 && s1 < 0xe0) { /* kana */ if ((filter->status & 0xff00) != 0x100) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x49, filter->data); /* 'I' */ } filter->status = 0x100; - CK((*filter->output_function)(s1 & 0x7f, filter->data)); + (*filter->output_function)(s1 & 0x7f, filter->data); } else if (s1 < 0x7e7f) { /* X 0208 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0x7f, filter->data)); + (*filter->output_function)((s1 >> 8) & 0xff, filter->data); + (*filter->output_function)(s1 & 0x7f, filter->data); } else if (s1 < 0x927f) { /* UDC */ if ((filter->status & 0xff00) != 0x800) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x3f, filter->data)); /* '?' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x3f, filter->data); /* '?' */ } filter->status = 0x800; - CK((*filter->output_function)(((s1 >> 8) - 0x5e) & 0x7f, filter->data)); - CK((*filter->output_function)(s1 & 0x7f, filter->data)); + (*filter->output_function)(((s1 >> 8) - 0x5e) & 0x7f, filter->data); + (*filter->output_function)(s1 & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h index 406d54c3fb4c1..31076d6715d4b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_2022jpms; extern const struct mbfl_convert_vtbl vtbl_2022jpms_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jpms; -int mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ISO2022_JP_MS_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 30c6be21e7434..0b08a8e72f1d0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -68,13 +68,10 @@ const struct mbfl_convert_vtbl vtbl_2022kr_wchar = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * ISO-2022-KR => wchar */ -int -mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) { int c1, w, flag; @@ -95,11 +92,11 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) filter->status += 1; } else if ((filter->status & 0x10) == 0 && c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -134,16 +131,16 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_KSC5601; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if (c == 0x1b) { /* ESC */ filter->status++; } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -152,7 +149,7 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -161,8 +158,8 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -172,9 +169,9 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) filter->status |= 0x100; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x29, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x29, filter->data); goto retry; } break; @@ -182,15 +179,12 @@ mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => ISO-2022-KR */ -int -mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) { int c1, c2, s; @@ -238,30 +232,28 @@ mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80 && s > 0) { /* ASCII */ if ((filter->status & 0x10) != 0) { - CK((*filter->output_function)(0x0f, filter->data)); /* SI */ + (*filter->output_function)(0x0f, filter->data); /* SI */ filter->status &= ~0x10; } - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { if ( (filter->status & 0x100) == 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x29, filter->data)); /* ')' */ - CK((*filter->output_function)(0x43, filter->data)); /* 'C' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x29, filter->data); /* '' */ + (*filter->output_function)(0x43, filter->data); /* 'C' */ filter->status |= 0x100; } if ((filter->status & 0x10) == 0) { - CK((*filter->output_function)(0x0e, filter->data)); /* SO */ + (*filter->output_function)(0x0e, filter->data); /* SO */ filter->status |= 0x10; } - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h index ae1348ed4de29..25703c8d36795 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_2022kr; extern const struct mbfl_convert_vtbl vtbl_wchar_2022kr; extern const struct mbfl_convert_vtbl vtbl_2022kr_wchar; -int mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ISO2022_KR_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h index ed3bc3b9dd288..14ced114ae632 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_2022jp_2004; extern const struct mbfl_convert_vtbl vtbl_2022jp_2004_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp_2004; -int mbfl_filt_conv_2022jp_2004_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_2022jp_2004(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_2022jp_2004_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_2022jp_2004(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_any_2022jp_2004_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_2022JP_2004_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 80ddb02987f07..ebdc1681e902a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -75,8 +75,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { mbfl_filt_conv_any_jis_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define sjistoidx(c1, c2) \ (((c1) > 0x9f) \ ? (((c1) - 0xc1) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40)) \ @@ -136,8 +134,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { /* * ISO-2022-JP-Mobile => wchar */ -int -mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w, snd = 0; @@ -151,18 +148,18 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) if (c == 0x1b) { filter->status += 2; } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - CK((*filter->output_function)(0xff40 + c, filter->data)); + (*filter->output_function)(0xff40 + c, filter->data); } else if (filter->status == 0x80 && c > 0x20 && c < 0x80) { /* kanji first char */ filter->cache = c; filter->status += 1; } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -208,7 +205,7 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); } if (w > 0 && snd > 0) { - CK((*filter->output_function)(snd, filter->data)); + (*filter->output_function)(snd, filter->data); } } @@ -217,16 +214,16 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0208; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if (c == 0x1b) { filter->status += 2; } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -242,7 +239,7 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status += 3; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -259,8 +256,8 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -275,9 +272,9 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x80; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -296,8 +293,8 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x20; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -306,15 +303,12 @@ mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => ISO-2022-JP-Mobile */ -int -mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -390,39 +384,37 @@ mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) } if (filter->status == 1 && filter->cache > 0) { - return c; + return; } if (s1 >= 0) { if (s1 < 0x80) { /* latin */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); filter->status = 0; } else if (s1 > 0xa0 && s1 < 0xe0) { /* kana */ if ((filter->status & 0xff00) != 0x100) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x49, filter->data); /* 'I' */ } filter->status = 0x100; - CK((*filter->output_function)(s1 & 0x7f, filter->data)); + (*filter->output_function)(s1 & 0x7f, filter->data); } else if (s1 < 0x7e7f) { /* X 0208 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0x7f, filter->data)); + (*filter->output_function)((s1 >> 8) & 0xff, filter->data); + (*filter->output_function)(s1 & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h index a375e8df0e8b0..81674ccb4233b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_2022jp_kddi; extern const struct mbfl_convert_vtbl vtbl_2022jp_kddi_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi; -int mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ISO2022_JP_MOBILE_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index d7fe44e8263e0..92950f6efef70 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -106,13 +106,10 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp = { mbfl_filt_conv_any_jis_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * JIS => wchar */ -int -mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; @@ -131,22 +128,22 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) } else if (c == 0x0f) { /* "kana out" */ filter->status = 0; } else if (filter->status == 0x10 && c == 0x5c) { /* YEN SIGN */ - CK((*filter->output_function)(0xa5, filter->data)); + (*filter->output_function)(0xa5, filter->data); } else if (filter->status == 0x10 && c == 0x7e) { /* OVER LINE */ - CK((*filter->output_function)(0x203e, filter->data)); + (*filter->output_function)(0x203e, filter->data); } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - CK((*filter->output_function)(0xff40 + c, filter->data)); + (*filter->output_function)(0xff40 + c, filter->data); } else if ((filter->status == 0x80 || filter->status == 0x90) && c > 0x20 && c < 0x7f) { /* kanji first char */ filter->cache = c; filter->status += 1; } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -180,12 +177,12 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_JIS0212; } } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -202,7 +199,7 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) filter->status += 3; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -220,8 +217,8 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -239,9 +236,9 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x90; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -261,8 +258,8 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x20; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -271,15 +268,12 @@ mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => JIS */ -int -mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) { int c1, s; @@ -328,61 +322,57 @@ mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ if (filter->status != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s < 0x100) { /* kana */ if (filter->status != 0x100) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x49, filter->data)); /* 'I' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x49, filter->data); /* 'I' */ } filter->status = 0x100; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x8080) { /* X 0208 */ if (filter->status != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else if (s < 0x10000) { /* X 0212 */ if (filter->status != 0x300) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x44, filter->data)); /* 'D' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x44, filter->data); /* 'D' */ } filter->status = 0x300; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else { /* X 0201 latin */ if (filter->status != 0x400) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x4a, filter->data); /* 'J' */ } filter->status = 0x400; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } - /* * wchar => ISO-2022-JP */ -int -mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter) { int s; @@ -427,35 +417,33 @@ mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter) if (s >= 0) { if (s < 0x80) { /* ASCII */ if ((filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else if (s < 0x10000) { /* X 0208 */ if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)((s >> 8) & 0x7f, filter->data); + (*filter->output_function)(s & 0x7f, filter->data); } else { /* X 0201 latin */ if ((filter->status & 0xff00) != 0x400) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x4a, filter->data)); /* 'J' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x4a, filter->data); /* 'J' */ } filter->status = 0x400; - CK((*filter->output_function)(s & 0x7f, filter->data)); + (*filter->output_function)(s & 0x7f, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.h b/ext/mbstring/libmbfl/filters/mbfilter_jis.h index 867f07381dd1b..a127e66fe213b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.h @@ -41,9 +41,9 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_jis; extern const struct mbfl_convert_vtbl vtbl_2022jp_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_2022jp; -int mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_2022jp(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_JIS_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c index 17dfe14ebeb70..7a8766b736622 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.c @@ -69,9 +69,6 @@ const struct mbfl_convert_vtbl vtbl_qprint_8bit = { mbfl_filt_conv_qprintdec_flush }; - -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * any => Quoted-Printable */ @@ -84,7 +81,7 @@ static inline int nibble2hex(int nibble) } } -int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) { int s, n; @@ -99,15 +96,15 @@ int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) n = (filter->status & 0xff00) >> 8; if (s == 0) { /* null */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); filter->status &= ~0xff00; break; } if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0) { if (s == '\n' || (s == '\r' && c != '\n')) { /* line feed */ - CK((*filter->output_function)('\r', filter->data)); - CK((*filter->output_function)('\n', filter->data)); + (*filter->output_function)('\r', filter->data); + (*filter->output_function)('\n', filter->data); filter->status &= ~0xff00; break; } else if (s == '\r') { @@ -116,31 +113,29 @@ int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter) } if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0 && n >= 72) { /* soft line feed */ - CK((*filter->output_function)('=', filter->data)); - CK((*filter->output_function)('\r', filter->data)); - CK((*filter->output_function)('\n', filter->data)); + (*filter->output_function)('=', filter->data); + (*filter->output_function)('\r', filter->data); + (*filter->output_function)('\n', filter->data); filter->status &= ~0xff00; } if (s <= 0 || s >= 0x80 || s == '=' /* not ASCII or '=' */ || ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) && mime_char_needs_qencode[s])) { /* hex-octet */ - CK((*filter->output_function)('=', filter->data)); - CK((*filter->output_function)(nibble2hex((s >> 4) & 0xf), filter->data)); - CK((*filter->output_function)(nibble2hex(s & 0xf), filter->data)); + (*filter->output_function)('=', filter->data); + (*filter->output_function)(nibble2hex((s >> 4) & 0xf), filter->data); + (*filter->output_function)(nibble2hex(s & 0xf), filter->data); if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0) { filter->status += 0x300; } } else { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); if ((filter->status & MBFL_QPRINT_STS_MIME_HEADER) == 0) { filter->status += 0x100; } } break; } - - return c; } void mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter) @@ -153,7 +148,7 @@ void mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter) /* * Quoted-Printable => any */ -int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) { int n, m; @@ -186,26 +181,26 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) } else if (c == '\n') { /* soft line feed */ filter->status = 0; } else { - CK((*filter->output_function)('=', filter->data)); - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)('=', filter->data); + (*filter->output_function)(c, filter->data); filter->status = 0; } break; case 2: m = hex2code_map[c & 0xff]; if (m < 0) { - CK((*filter->output_function)('=', filter->data)); - CK((*filter->output_function)(filter->cache, filter->data)); + (*filter->output_function)('=', filter->data); + (*filter->output_function)(filter->cache, filter->data); n = c; } else { n = hex2code_map[filter->cache] << 4 | m; } - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); filter->status = 0; break; case 3: if (c != '\n') { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } filter->status = 0; break; @@ -213,12 +208,10 @@ int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter) if (c == '=') { filter->status = 1; } else { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } break; } - - return c; } void mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h index f7212acc683af..c7691737525a9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_qprint.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_qprint.h @@ -37,9 +37,9 @@ extern const struct mbfl_identify_vtbl vtbl_identify_qprint; extern const struct mbfl_convert_vtbl vtbl_8bit_qprint; extern const struct mbfl_convert_vtbl vtbl_qprint_8bit; -int mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_qprintenc(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_qprintenc_flush(mbfl_convert_filter *filter); -int mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_qprintdec(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_qprintdec_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_ASCII_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 5cca0b2fea1c7..2fd81d1fe5ffd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -95,8 +95,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ @@ -140,25 +138,25 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis = { } \ } while (0) -int mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) { int s1, s2, w; switch (filter->status) { case 0: if (c == 0x5C) { - CK((*filter->output_function)(0xA5, filter->data)); + (*filter->output_function)(0xA5, filter->data); } else if (c == 0x7E) { - CK((*filter->output_function)(0x203E, filter->data)); + (*filter->output_function)(0x203E, filter->data); } else if (c >= 0 && c < 0x80) { /* ASCII */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xA0 && c < 0xE0) { /* Kana */ - CK((*filter->output_function)(0xFEC0 + c, filter->data)); + (*filter->output_function)(0xFEC0 + c, filter->data); } else if (c > 0x80 && c < 0xF0 && c != 0xA0) { /* Kanji, first byte */ filter->status = 1; filter->cache = c; } else { - CK((*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); } break; @@ -180,14 +178,12 @@ int mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 8) | c | MBFL_WCSGROUP_THROUGH; } } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 8) | c | MBFL_WCSGROUP_THROUGH; CK((*filter->output_function)(w, filter->data)); } } - - return c; } static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) @@ -203,7 +199,7 @@ static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) return 0; } -int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -245,19 +241,17 @@ int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x100) { /* Latin/Kana */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { /* Kanji */ c1 = (s1 >> 8) & 0xFF; c2 = s1 & 0xFF; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis.h index f271f399c9227..d6806512ad7e9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_sjis; extern const struct mbfl_convert_vtbl vtbl_sjis_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis; -int mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_sjis_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_SJIS_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 044e754205365..43de3fa3393e4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -79,8 +79,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis2004 = { mbfl_filt_conv_wchar_jis2004_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - static const int uni2jis_tbl_range[][2] = { {0x0000, 0x045f}, {0x3000, 0x30ff}, @@ -146,8 +144,7 @@ static const int uni2jis_tbl_len = sizeof(uni2jis_tbl_range) / (sizeof(int)*2); /* * JIS-2004 => wchar */ -int -mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) { int k; int c1, c2, s, s1 = 0, s2 = 0, w = 0, w1; @@ -157,14 +154,14 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) case 0: if (c >= 0 && c < 0x80) { /* latin */ if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { if (c == 0x5c) { - CK((*filter->output_function)(0x00a5, filter->data)); + (*filter->output_function)(0x00a5, filter->data); } else if (c == 0x7e) { - CK((*filter->output_function)(0x203e, filter->data)); + (*filter->output_function)(0x203e, filter->data); } else { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } } else { /* ISO-2022-JP-2004 */ if (c == 0x1b) { @@ -180,7 +177,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status += 5; /* JIS X 0208 */ } } else { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } } } else { @@ -195,23 +192,23 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } break; @@ -229,7 +226,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) if (c >= 0x40 && c <= 0xfc && c != 0x7f) { SJIS_DECODE(c1, c, s1, s2); } else { - CK((*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); break; } } else { /* ISO-2022-JP-2004 */ @@ -239,7 +236,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); break; } } @@ -253,7 +250,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) k = mbfl_bisec_srch2(w1, jisx0213_u2_key, jisx0213_u2_tbl_len); if (k >= 0) { w = jisx0213_u2_tbl[2*k]; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); w = jisx0213_u2_tbl[2*k+1]; } } @@ -286,14 +283,14 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSGROUP_THROUGH; } } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -301,20 +298,20 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; case 3: /* X 0213 plane 2 first char : EUC-JP-2004 (0x8f), ISO-2022-JP-2004 */ if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else { if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { @@ -335,7 +332,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0213; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } break; @@ -353,7 +350,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) if (c2 < 0x21 || c2 > 0x7E) { w = ((c1 << 8) | c2) & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); break; } @@ -393,9 +390,9 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_JIS0213; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { w = (c1 << 8) | c | 0x8f0000; @@ -406,7 +403,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0213; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -425,7 +422,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_JIS0208; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); break; /* ESC : ISO-2022-JP-2004 */ @@ -442,7 +439,7 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status += 3; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -461,14 +458,12 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status++; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; - break; - /* ESC $ ( : ISO-2022-JP-2004 */ /* case 0x08: */ /* case 0x18: */ @@ -483,9 +478,9 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status = 0xa0; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -501,8 +496,8 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; } else { filter->status &= ~0xf; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x28, filter->data); goto retry; } break; @@ -511,8 +506,6 @@ mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } void mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) @@ -523,8 +516,8 @@ void mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter) } } -int -mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { +void mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) +{ int k; int c1, c2, s1 = 0, s2; @@ -541,7 +534,7 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { if (c == jisx0213_u2_tbl[2*k]) { filter->status++; filter->cache = k; - return c; + return; } } } @@ -572,10 +565,10 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { s1 = ((s1 >> 8) & 0xff) + 0x80; } else { if (filter->status != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(0x28, filter->data)); - CK((*filter->output_function)(0x51, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(0x28, filter->data); + (*filter->output_function)(0x51, filter->data); } filter->status = 0x200; @@ -583,8 +576,8 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { s1 = (s1 >> 8) & 0x7f; } - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); s1 = 0; goto retry; } @@ -649,17 +642,17 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { if (s1 < 0x80) { /* ASCII */ if (filter->to->no_encoding == mbfl_no_encoding_2022jp_2004 && (filter->status & 0xff00) != 0) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0; - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x100) { /* latin or kana */ if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { - CK((*filter->output_function)(0x8e, filter->data)); + (*filter->output_function)(0x8e, filter->data); } - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else if (s1 < 0x7f00) { /* X 0213 plane 1 */ if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff; @@ -670,17 +663,17 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { s1 = ((s1 >> 8) & 0xff) + 0x80; } else { if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x51, filter->data)); /* 'Q' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x51, filter->data); /* 'Q' */ } filter->status = 0x200; s2 = s1 & 0xff; s1 = (s1 >> 8) & 0xff; } - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } else { /* X 0213 plane 2 */ if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { c1 = (s1 >> 8) & 0xff; @@ -695,26 +688,24 @@ mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { s2 |= 0x80; s1 |= 0x80; - CK((*filter->output_function)(0x8f, filter->data)); + (*filter->output_function)(0x8f, filter->data); } else { if ((filter->status & 0xff00) != 0x200) { - CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ - CK((*filter->output_function)(0x24, filter->data)); /* '$' */ - CK((*filter->output_function)(0x28, filter->data)); /* '(' */ - CK((*filter->output_function)(0x50, filter->data)); /* 'P' */ + (*filter->output_function)(0x1b, filter->data); /* ESC */ + (*filter->output_function)(0x24, filter->data); /* '$' */ + (*filter->output_function)(0x28, filter->data); /* '(' */ + (*filter->output_function)(0x50, filter->data); /* 'P' */ } filter->status = 0x200; } } - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h index 79317929441cb..c25d3eb192256 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_sjis2004; extern const struct mbfl_convert_vtbl vtbl_sjis2004_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis2004; -int mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_jis2004_flush(mbfl_convert_filter *filter); void mbfl_filt_conv_jis2004_wchar_flush(mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index aa59a85a29d0e..7386caa6fdfa5 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -80,8 +80,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { mbfl_filt_conv_wchar_sjis_mac_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ @@ -128,8 +126,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac = { /* * SJIS-mac => wchar */ -int -mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) { int i, j, n; int c1, s, s1, s2, w; @@ -137,29 +134,29 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) switch (filter->status) { case 0: if (c >= 0 && c < 0x80 && c != 0x5c) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else if (c > 0x80 && c <= 0xed && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else if (c == 0x5c) { - CK((*filter->output_function)(0x00a5, filter->data)); + (*filter->output_function)(0x00a5, filter->data); } else if (c == 0x80) { - CK((*filter->output_function)(0x005c, filter->data)); + (*filter->output_function)(0x005c, filter->data); } else if (c == 0xa0) { - CK((*filter->output_function)(0x00a0, filter->data)); + (*filter->output_function)(0x00a0, filter->data); } else if (c == 0xfd) { - CK((*filter->output_function)(0x00a9, filter->data)); + (*filter->output_function)(0x00a9, filter->data); } else if (c == 0xfe) { - CK((*filter->output_function)(0x2122, filter->data)); + (*filter->output_function)(0x2122, filter->data); } else if (c == 0xff) { - CK((*filter->output_function)(0x2026, filter->data)); - CK((*filter->output_function)(0xf87f, filter->data)); + (*filter->output_function)(0x2026, filter->data); + (*filter->output_function)(0xf87f, filter->data); } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -212,7 +209,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) n = 6; } for (j=1; joutput_function)(code_tbl_m[i][j], filter->data)); + (*filter->output_function)(code_tbl_m[i][j], filter->data); } w = code_tbl_m[i][n-1]; break; @@ -228,8 +225,8 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); - return c; + (*filter->output_function)(w, filter->data); + return; } s2 = 0; if (s >= 0x043e && s <= 0x0441) { @@ -244,7 +241,7 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) s2 = 0xf87e; } if (s2 > 0) { - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); w = s2; } break; @@ -261,12 +258,12 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -274,8 +271,6 @@ mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) @@ -289,8 +284,7 @@ static void mbfl_filt_conv_sjis_mac_wchar_flush(mbfl_convert_filter *filter) /* * wchar => SJIS-mac */ -int -mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) { int i; int c1, c2, s1, s2, mode; @@ -369,13 +363,13 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x100) { - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { - CK((*filter->output_function)((s1 >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s1 & 0xff, filter->data)); + (*filter->output_function)((s1 >> 8) & 0xff, filter->data); + (*filter->output_function)(s1 & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } if (s2 <= 0 || s1 == -1) { @@ -412,14 +406,14 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (c == s_form_tbl[i]) { filter->status = 1; filter->cache = c; - return c; + return; } } if (c == 0xf860 || c == 0xf861 || c == 0xf862) { filter->status = 2; filter->cache = c; - return c; + return; } } @@ -491,16 +485,16 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x100) { /* latin or kana */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { /* kanji */ c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } break; @@ -536,8 +530,8 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } if (filter->status == 0) { - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c1, filter); + mbfl_filt_conv_illegal_output(c, filter); } break; @@ -562,14 +556,14 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) c1 = s1/94+0x21; c2 = s1-94*(c1-0x21)+0x21; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } if (s1 <= 0) { - CK(mbfl_filt_conv_illegal_output(0xf860, filter)); - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(0xf860, filter); + mbfl_filt_conv_illegal_output(c1, filter); + mbfl_filt_conv_illegal_output(c, filter); } } else if (mode == 0x2) { @@ -611,20 +605,20 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) c1 = s1/94+0x21; c2 = s1-94*(c1-0x21)+0x21; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } if (s1 <= 0) { - CK(mbfl_filt_conv_illegal_output(0xf861, filter)); + mbfl_filt_conv_illegal_output(0xf861, filter); for (i=0; i<3; i++) { if (c1 == code_tbl_m[i+5][3]) { - CK(mbfl_filt_conv_illegal_output(code_tbl_m[i+5][2], filter)); + mbfl_filt_conv_illegal_output(code_tbl_m[i+5][2], filter); break; } } - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c1, filter); + mbfl_filt_conv_illegal_output(c, filter); } } else if (mode == 0x4) { for (i=0; i<4; i++) { @@ -657,21 +651,21 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) c1 = s1/94+0x21; c2 = s1-94*(c1-0x21)+0x21; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } if (s1 <= 0) { - CK(mbfl_filt_conv_illegal_output(0xf862, filter)); + mbfl_filt_conv_illegal_output(0xf862, filter); for (i=0; i<4; i++) { if (c1 == code_tbl_m[i+8][4]) { - CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][2], filter)); - CK(mbfl_filt_conv_illegal_output( code_tbl_m[i+8][3], filter)); + mbfl_filt_conv_illegal_output(code_tbl_m[i+8][2], filter); + mbfl_filt_conv_illegal_output(code_tbl_m[i+8][3], filter); break; } } - CK(mbfl_filt_conv_illegal_output(c1, filter)); - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c1, filter); + mbfl_filt_conv_illegal_output(c, filter); } } break; @@ -680,7 +674,6 @@ mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - return c; } static void mbfl_filt_conv_wchar_sjis_mac_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h index 31511088d6953..48ff760567615 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_sjis_mac; extern const struct mbfl_convert_vtbl vtbl_sjis_mac_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_mac; -int mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_sjis_mac_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_SJIS_MAC_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 27dc8b5353404..cb7ab219cc1c4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -191,8 +191,6 @@ const unsigned short mbfl_kddi2uni_pua_b[8][3] = { #define NFLAGS(c) (0x1F1A5+(int)(c)) -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ @@ -398,8 +396,7 @@ mbfilter_sjis_emoji_sb2unicode(int s, int *snd) return w; } -int -mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) +int mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) { int i, match = 0, c1s; @@ -419,7 +416,7 @@ mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) match = 1; } } else { - CK((*filter->output_function)(c1s, filter->data)); + (*filter->output_function)(c1s, filter->data); } } else { if (c == 0x0023 || (c >= 0x0030 && c<=0x0039)) { @@ -488,7 +485,7 @@ mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) } else { if (c1s >= ucs_a1_jis_table_min && c1s < ucs_a1_jis_table_max) { c1s = ucs_a1_jis_table[c1s - ucs_a1_jis_table_min]; - CK((*filter->output_function)(c1s, filter->data)); + (*filter->output_function)(c1s, filter->data); } } } else { @@ -559,7 +556,7 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) } else { if (c1s >= ucs_a1_jis_table_min && c1s < ucs_a1_jis_table_max) { c1s = ucs_a1_jis_table[c1s - ucs_a1_jis_table_min]; - CK((*filter->output_function)(c1s, filter->data)); + (*filter->output_function)(c1s, filter->data); } } } else { @@ -600,8 +597,7 @@ mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) /* * SJIS-win => wchar */ -int -mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) { int c1, s, s1 = 0, s2 = 0, w; int snd = 0; @@ -614,17 +610,17 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) filter->cache = c; filter->status = 2; } else { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -675,7 +671,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) } if (w > 0 && snd > 0) { - CK((*filter->output_function)(snd, filter->data)); + (*filter->output_function)(snd, filter->data); } } } @@ -684,14 +680,14 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; /* ESC : Softbank Emoji */ @@ -703,7 +699,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) } else { filter->cache = 0; filter->status = 0; - CK((*filter->output_function)(0x1b, filter->data)); + (*filter->output_function)(0x1b, filter->data); goto retry; } break; @@ -717,8 +713,8 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) } else { filter->cache = 0; filter->status = 0; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); goto retry; } break; @@ -751,9 +747,9 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) w = mbfilter_sjis_emoji_sb2unicode(s, &snd); if (w > 0) { if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); + (*filter->output_function)(snd, filter->data); } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } } @@ -762,9 +758,9 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) c1 = filter->cache; filter->cache = 0; filter->status = 0; - CK((*filter->output_function)(0x1b, filter->data)); - CK((*filter->output_function)(0x24, filter->data)); - CK((*filter->output_function)(c1 & 0xff, filter->data)); + (*filter->output_function)(0x1b, filter->data); + (*filter->output_function)(0x24, filter->data); + (*filter->output_function)(c1 & 0xff, filter->data); goto retry; } break; @@ -773,15 +769,12 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => SJIS-win */ -int -mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -884,24 +877,22 @@ mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) } if (filter->status == 1 && filter->cache > 0) { - return c; + return; } if (s1 >= 0) { if (s1 < 0x100) { /* latin or kana */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { /* kanji */ c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h index 6ab1cee354153..d917c11a61241 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h @@ -52,8 +52,8 @@ extern const unsigned short mbfl_kddi2uni_pua[7][3]; extern const unsigned short mbfl_sb2uni_pua[6][3]; extern const unsigned short mbfl_kddi2uni_pua_b[8][3]; -int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter); int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index e33b218943e35..9a97f26063cbc 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -91,8 +91,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_open = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ @@ -139,24 +137,23 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_open = { /* * SJIS-win => wchar */ -int -mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter) { int c1, s, s1, s2, w; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0xa0 && c < 0xe0) { /* kana */ - CK((*filter->output_function)(0xfec0 + c, filter->data)); + (*filter->output_function)(0xfec0 + c, filter->data); } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -202,14 +199,14 @@ mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_WINCP932; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -217,15 +214,12 @@ mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => SJIS-win */ -int -mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) { int c1, c2, s1, s2; @@ -307,19 +301,17 @@ mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) if (s1 >= 0) { if (s1 < 0x100) { /* latin or kana */ - CK((*filter->output_function)(s1, filter->data)); + (*filter->output_function)(s1, filter->data); } else { /* kanji */ c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); - CK((*filter->output_function)(s1, filter->data)); - CK((*filter->output_function)(s2, filter->data)); + (*filter->output_function)(s1, filter->data); + (*filter->output_function)(s2, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_sjis_open(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h index 2c6c70373a5d2..89b9af1498019 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h @@ -38,7 +38,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_sjis_open; extern const struct mbfl_convert_vtbl vtbl_sjis_open_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_open; -int mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_SJIS_OPEN_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c index 25c7c18bf4f27..e18dc8057d4c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_tl_jisx0201_jisx0208.c @@ -26,8 +26,7 @@ #include "mbfilter_tl_jisx0201_jisx0208.h" #include "translit_kana_jisx0201_jisx0208.h" -int -mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) +void mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) { int s, n; intptr_t mode = (intptr_t)filt->opaque; @@ -77,7 +76,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } else { filt->status = 1; filt->cache = c; - return c; + return; } } else { if (filt->status) { @@ -106,7 +105,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } else { filt->status = 1; filt->cache = c; - return c; + return; } } else { if (filt->status) { @@ -233,7 +232,7 @@ mbfl_filt_tl_jisx0201_jisx0208(int c, mbfl_convert_filter *filt) } } - return (*filt->output_function)(s, filt->data); + (*filt->output_function)(s, filt->data); } void mbfl_filt_tl_jisx0201_jisx0208_flush(mbfl_convert_filter *filt) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c index 9bcf41076efbb..b7aad6f0d0e68 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.c @@ -140,9 +140,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs2le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; @@ -156,57 +154,52 @@ int mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter) } else { filter->filter_function = mbfl_filt_conv_ucs2be_wchar; if (n != 0xFEFF) { - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); } } } - return c; } -int mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; filter->cache = (c & 0xFF) << 8; } else { filter->status = 0; - CK((*filter->output_function)((c & 0xFF) | filter->cache, filter->data)); + (*filter->output_function)((c & 0xFF) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); - CK((*filter->output_function)(c & 0xFF, filter->data)); + (*filter->output_function)((c >> 8) & 0xFF, filter->data); + (*filter->output_function)(c & 0xFF, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - return c; } -int mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter) { if (filter->status == 0) { filter->status = 1; filter->cache = c & 0xFF; } else { filter->status = 0; - CK((*filter->output_function)(((c & 0xFF) << 8) | filter->cache, filter->data)); + (*filter->output_function)(((c & 0xFF) << 8) | filter->cache, filter->data); } - return c; } -int mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)(c & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); + (*filter->output_function)(c & 0xFF, filter->data); + (*filter->output_function)((c >> 8) & 0xFF, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - return c; } static int mbfl_filt_conv_ucs2_wchar_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h index f6d9b8b77289c..79ba464ce449f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs2.h @@ -45,10 +45,10 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_ucs2be; extern const struct mbfl_convert_vtbl vtbl_ucs2le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ucs2le; -int mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs2_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs2be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_ucs2be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs2le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_ucs2le(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UCS2_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c index ea52cbdcb696e..f7cda5af4055c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.c @@ -142,9 +142,8 @@ const struct mbfl_convert_vtbl vtbl_wchar_ucs4le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -static int emit_wchar_if_valid(unsigned int w, mbfl_convert_filter *filter) +static void emit_wchar_if_valid(unsigned int w, mbfl_convert_filter *filter) { /* FIXME: UCS-4 should actually accept code unit values up to 0x7FFFFFFF * This is a hack to get around the fact that values of 0x70000000 and up @@ -152,14 +151,13 @@ static int emit_wchar_if_valid(unsigned int w, mbfl_convert_filter *filter) * for error handling by a later conversion filter stage * After we adjust the range of values used for such, change this to 0x7FFFFFFF */ if (w < MBFL_WCSGROUP_UCS4MAX) { - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(w, filter)); + mbfl_filt_conv_illegal_output(w, filter); } - return 0; } -int mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter) { /* We start out with the assumption that the string is big-endian * If we find a little-endian BOM, then we will change that assumption */ @@ -175,66 +173,58 @@ int mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter) filter->filter_function = mbfl_filt_conv_ucs4le_wchar; } else { if (filter->cache != 0xFEFF) { - CK(emit_wchar_if_valid(filter->cache, filter)); + emit_wchar_if_valid(filter->cache, filter); } filter->filter_function = mbfl_filt_conv_ucs4be_wchar; } filter->status = filter->cache = 0; } - - return c; } -int mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter) { filter->cache = (filter->cache << 8) | (c & 0xFF); if (filter->status < 3) { filter->status++; } else { - CK(emit_wchar_if_valid(filter->cache, filter)); + emit_wchar_if_valid(filter->cache, filter); filter->status = filter->cache = 0; } - return c; } -int mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSGROUP_UCS4MAX) { - CK((*filter->output_function)((c >> 24) & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); - CK((*filter->output_function)(c & 0xFF, filter->data)); + (*filter->output_function)((c >> 24) & 0xFF, filter->data); + (*filter->output_function)((c >> 16) & 0xFF, filter->data); + (*filter->output_function)((c >> 8) & 0xFF, filter->data); + (*filter->output_function)(c & 0xFF, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } -int mbfl_filt_conv_ucs4le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_ucs4le_wchar(int c, mbfl_convert_filter *filter) { filter->cache = (filter->cache >> 8) | ((c & 0xFF) << 24); if (filter->status < 3) { filter->status++; } else { - CK(emit_wchar_if_valid(filter->cache, filter)); + emit_wchar_if_valid(filter->cache, filter); filter->status = filter->cache = 0; } - return c; } -int mbfl_filt_conv_wchar_ucs4le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_ucs4le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSGROUP_UCS4MAX) { - CK((*filter->output_function)(c & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xFF, filter->data)); - CK((*filter->output_function)((c >> 24) & 0xFF, filter->data)); + (*filter->output_function)(c & 0xFF, filter->data); + (*filter->output_function)((c >> 8) & 0xFF, filter->data); + (*filter->output_function)((c >> 16) & 0xFF, filter->data); + (*filter->output_function)((c >> 24) & 0xFF, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static int mbfl_filt_conv_ucs4_wchar_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h index d810c80990c19..5a946d41f31e3 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_ucs4.h @@ -43,10 +43,10 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_ucs4be; extern const struct mbfl_convert_vtbl vtbl_ucs4le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_ucs4le; -int mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_ucs4le_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_ucs4le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs4_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs4be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_ucs4be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_ucs4le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_ucs4le(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UCS4_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index 94e81167ba296..dddc64760ab1f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -90,27 +90,24 @@ const struct mbfl_convert_vtbl vtbl_wchar_uhc = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * UHC => wchar */ -int -mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter) { int c1, w = 0, flag = 0; switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c > 0x80 && c < 0xff && c != 0xc9) { /* dbcs lead byte */ filter->status = 1; filter->cache = c; } else { w = c & MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } break; @@ -149,15 +146,15 @@ mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter) w &= MBFL_WCSPLANE_MASK; w |= MBFL_WCSPLANE_UHC; } - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } else { if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; w |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(w, filter->data)); + (*filter->output_function)(w, filter->data); } } break; @@ -166,15 +163,12 @@ mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => UHC */ -int -mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter) { int c1, s; @@ -207,16 +201,14 @@ mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter) } if (s >= 0) { if (s < 0x80) { /* latin */ - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(s & 0xff, filter->data)); + (*filter->output_function)((s >> 8) & 0xff, filter->data); + (*filter->output_function)(s & 0xff, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_ident_uhc(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.h b/ext/mbstring/libmbfl/filters/mbfilter_uhc.h index 6ed5486767444..1efd158c41abd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.h @@ -37,7 +37,7 @@ extern const struct mbfl_identify_vtbl vtbl_identify_uhc; extern const struct mbfl_convert_vtbl vtbl_uhc_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_uhc; -int mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_uhc_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_uhc(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UHC_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index 0a4077c8b1169..758dd0a5c8c92 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -142,9 +142,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf16le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_conv_utf16_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf16_wchar(int c, mbfl_convert_filter *filter) { /* Start with the assumption that the string is big-endian; * If we find a little-endian BOM, then we will change that assumption */ @@ -165,18 +163,16 @@ int mbfl_filt_conv_utf16_wchar(int c, mbfl_convert_filter *filter) return c; } else if (n >= 0xDC00 && n <= 0xDFFF) { /* This is wrong; second part of surrogate pair has come first */ - CK((*filter->output_function)(n | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(n | MBFL_WCSGROUP_THROUGH, filter->data); } else if (n != 0xFEFF) { - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); } filter->cache = filter->status = 0; } } - - return c; } -int mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter) { int n; @@ -193,10 +189,10 @@ int mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter) filter->status = 2; } else if (n >= 0xDC00 && n <= 0xDFFF) { /* This is wrong; second part of surrogate pair has come first */ - CK((*filter->output_function)(n | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)(n | MBFL_WCSGROUP_THROUGH, filter->data); filter->status = 0; } else { - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); filter->status = 0; } break; @@ -210,45 +206,41 @@ int mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter) n = ((filter->cache & 0xFF) << 8) | (c & 0xFF); if (n >= 0xD800 && n <= 0xDBFF) { /* Wrong; that's the first half of a surrogate pair, not the second */ - CK((*filter->output_function)((0xD8 << 10) | (filter->cache >> 8) | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)((0xD8 << 10) | (filter->cache >> 8) | MBFL_WCSGROUP_THROUGH, filter->data); filter->cache = n & 0x3FF; filter->status = 2; } else if (n >= 0xDC00 && n <= 0xDFFF) { n = ((filter->cache & 0x3FF00) << 2) + (n & 0x3FF) + 0x10000; - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); filter->status = 0; } else { - CK((*filter->output_function)((0xD8 << 10) | (filter->cache >> 8) | MBFL_WCSGROUP_THROUGH, filter->data)); - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)((0xD8 << 10) | (filter->cache >> 8) | MBFL_WCSGROUP_THROUGH, filter->data); + (*filter->output_function)(n, filter->data); filter->status = 0; } } - - return c; } -int mbfl_filt_conv_wchar_utf16be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf16be(int c, mbfl_convert_filter *filter) { int n; if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)(c & 0xff, filter->data); } else if (c >= MBFL_WCSPLANE_SUPMIN && c < MBFL_WCSPLANE_SUPMAX) { n = ((c >> 10) - 0x40) | 0xd800; - CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(n & 0xff, filter->data)); + (*filter->output_function)((n >> 8) & 0xff, filter->data); + (*filter->output_function)(n & 0xff, filter->data); n = (c & 0x3ff) | 0xdc00; - CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(n & 0xff, filter->data)); + (*filter->output_function)((n >> 8) & 0xff, filter->data); + (*filter->output_function)(n & 0xff, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } -int mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter) { int n; @@ -268,10 +260,10 @@ int mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter) * Flag it with `MBFL_WCSGROUP_THROUGH`; the following filter will handle * the error */ n = (filter->cache + ((c & 0xff) << 8)) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); filter->status = 0; } else { - CK((*filter->output_function)(filter->cache + ((c & 0xff) << 8), filter->data)); + (*filter->output_function)(filter->cache + ((c & 0xff) << 8), filter->data); filter->status = 0; } break; @@ -284,43 +276,39 @@ int mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter) case 3: n = (filter->cache & 0xFF) | ((c & 0xFF) << 8); if (n >= 0xD800 && n <= 0xDBFF) { - CK((*filter->output_function)((0xD8 << 10) | (filter->cache >> 10) | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)((0xD8 << 10) | (filter->cache >> 10) | MBFL_WCSGROUP_THROUGH, filter->data); filter->cache = n & 0x3FF; filter->status = 2; } else if (n >= 0xDC00 && n <= 0xDFFF) { n = filter->cache + ((c & 0x3) << 8) + 0x10000; - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); filter->status = 0; } else { - CK((*filter->output_function)((0xD8 << 10) | (filter->cache >> 10) | MBFL_WCSGROUP_THROUGH, filter->data)); - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)((0xD8 << 10) | (filter->cache >> 10) | MBFL_WCSGROUP_THROUGH, filter->data); + (*filter->output_function)(n, filter->data); filter->status = 0; } break; } - - return c; } -int mbfl_filt_conv_wchar_utf16le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf16le(int c, mbfl_convert_filter *filter) { int n; if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); + (*filter->output_function)(c & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); } else if (c >= MBFL_WCSPLANE_SUPMIN && c < MBFL_WCSPLANE_SUPMAX) { n = ((c >> 10) - 0x40) | 0xd800; - CK((*filter->output_function)(n & 0xff, filter->data)); - CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); + (*filter->output_function)(n & 0xff, filter->data); + (*filter->output_function)((n >> 8) & 0xff, filter->data); n = (c & 0x3ff) | 0xdc00; - CK((*filter->output_function)(n & 0xff, filter->data)); - CK((*filter->output_function)((n >> 8) & 0xff, filter->data)); + (*filter->output_function)(n & 0xff, filter->data); + (*filter->output_function)((n >> 8) & 0xff, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_conv_utf16_wchar_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.h b/ext/mbstring/libmbfl/filters/mbfilter_utf16.h index 601779add41d6..446b20653ee86 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.h @@ -43,10 +43,10 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf16be; extern const struct mbfl_convert_vtbl vtbl_utf16le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf16le; -int mbfl_filt_conv_utf16_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf16be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf16le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf16_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf16be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf16be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf16le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf16le(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF16_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c index 7df4e8c1c0d13..c646b759063e8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.c @@ -142,20 +142,17 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf32le = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -static int emit_char_if_valid(int n, mbfl_convert_filter *filter) +static void emit_char_if_valid(int n, mbfl_convert_filter *filter) { if (n < MBFL_WCSPLANE_UTF32MAX && (n < 0xD800 || n > 0xDFFF)) { - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); } else { n = (n & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(n, filter->data)); + (*filter->output_function)(n, filter->data); } - return 0; } -int mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter) { if (filter->status < 3) { filter->cache = (filter->cache << 8) | (c & 0xFF); @@ -170,15 +167,13 @@ int mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter) } else { filter->filter_function = mbfl_filt_conv_utf32be_wchar; if (n != 0xFEFF) { - CK(emit_char_if_valid(n, filter)); + emit_char_if_valid(n, filter); } } } - - return c; } -int mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter) { if (filter->status < 3) { filter->cache = (filter->cache << 8) | (c & 0xFF); @@ -186,26 +181,23 @@ int mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter) } else { int n = (filter->cache << 8) | (c & 0xFF); filter->cache = filter->status = 0; - CK(emit_char_if_valid(n, filter)); + emit_char_if_valid(n, filter); } - return c; } -int mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UTF32MAX) { - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)(c & 0xff, filter->data)); + (*filter->output_function)((c >> 24) & 0xff, filter->data); + (*filter->output_function)((c >> 16) & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)(c & 0xff, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } -int mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter) { if (filter->status < 3) { filter->cache |= ((c & 0xFFU) << (8 * filter->status)); @@ -213,23 +205,20 @@ int mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter) } else { int n = ((c & 0xFFU) << 24) | filter->cache; filter->cache = filter->status = 0; - CK(emit_char_if_valid(n, filter)); + emit_char_if_valid(n, filter); } - return c; } -int mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < MBFL_WCSPLANE_UTF32MAX) { - CK((*filter->output_function)(c & 0xff, filter->data)); - CK((*filter->output_function)((c >> 8) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 16) & 0xff, filter->data)); - CK((*filter->output_function)((c >> 24) & 0xff, filter->data)); + (*filter->output_function)(c & 0xff, filter->data); + (*filter->output_function)((c >> 8) & 0xff, filter->data); + (*filter->output_function)((c >> 16) & 0xff, filter->data); + (*filter->output_function)((c >> 24) & 0xff, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } static void mbfl_filt_conv_utf32_wchar_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf32.h b/ext/mbstring/libmbfl/filters/mbfilter_utf32.h index de1235e4519ac..5049a129e5409 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf32.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf32.h @@ -43,10 +43,10 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf32be; extern const struct mbfl_convert_vtbl vtbl_utf32le_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf32le; -int mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf32_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf32be_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf32be(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf32le_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf32le(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF32_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 3abd2cc1bae06..261e10ad57686 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -83,8 +83,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf7 = { mbfl_filt_conv_wchar_utf7_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - static unsigned int decode_base64_char(unsigned char c) { if (c >= 'A' && c <= 'Z') { @@ -101,7 +99,7 @@ static unsigned int decode_base64_char(unsigned char c) return -1; } -int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) { int s, n = -1; @@ -115,17 +113,16 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) } if (c == '-') { if (filter->status == 1) { /* "+-" -> "+" */ - CK((*filter->output_function)('+', filter->data)); + (*filter->output_function)('+', filter->data); } } else if (c >= 0 && c < 0x80) { /* ASCII exclude '-' */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { /* illegal character */ s = c & MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } filter->cache = filter->status = 0; - return c; } } @@ -135,9 +132,9 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) if (c == '+') { /* '+' shift character */ filter->status = 1; } else if (c >= 0 && c < 0x80) { /* ASCII */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { /* illegal character */ - CK((*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data)); + (*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data); } break; @@ -167,11 +164,11 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = n; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { if (filter->cache & 0xfff0000) { @@ -179,7 +176,7 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); } filter->cache = n; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } break; @@ -207,11 +204,11 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = n; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { if (filter->cache & 0xfff0000) { @@ -219,7 +216,7 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); } filter->cache = n; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } break; @@ -242,11 +239,11 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = 0; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { if (filter->cache & 0xfff0000) { @@ -254,7 +251,7 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) (*filter->output_function)(((filter->cache & 0xfff0000) >> 6) | MBFL_WCSGROUP_THROUGH, filter->data); } filter->cache = 0; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } break; @@ -262,8 +259,6 @@ int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } static void mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) @@ -282,7 +277,7 @@ static void mbfl_filt_conv_utf7_wchar_flush(mbfl_convert_filter *filter) /* * wchar => UTF-7 */ -int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) { int s; @@ -326,20 +321,20 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) } else if (c >= 0 && c < MBFL_WCSPLANE_UCS2MAX) { ; } else if (c >= MBFL_WCSPLANE_SUPMIN && c < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->filter_function)(((c >> 10) - 0x40) | 0xd800, filter)); - CK((*filter->filter_function)((c & 0x3ff) | 0xdc00, filter)); - return c; + (*filter->filter_function)(((c >> 10) - 0x40) | 0xd800, filter); + (*filter->filter_function)((c & 0x3ff) | 0xdc00, filter); + return; } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - return c; + mbfl_filt_conv_illegal_output(c, filter); + return; } switch (filter->status) { case 0: if (n != 0) { /* directly encode characters */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { /* Modified Base64 */ - CK((*filter->output_function)('+', filter->data)); + (*filter->output_function)('+', filter->data); filter->status = 1; filter->cache = c; } @@ -348,14 +343,14 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) /* encode Modified Base64 */ case 1: s = filter->cache; - CK((*filter->output_function)(mbfl_base64_table[(s >> 10) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(s >> 4) & 0x3f], filter->data)); + (*filter->output_function)(mbfl_base64_table[(s >> 10) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(s >> 4) & 0x3f], filter->data); if (n != 0) { - CK((*filter->output_function)(mbfl_base64_table[(s << 2) & 0x3c], filter->data)); + (*filter->output_function)(mbfl_base64_table[(s << 2) & 0x3c], filter->data); if (n == 1) { - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)('-', filter->data); } - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else { filter->status = 2; @@ -365,15 +360,15 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) case 2: s = filter->cache; - CK((*filter->output_function)(mbfl_base64_table[(s >> 14) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(s >> 8) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(s >> 2) & 0x3f], filter->data)); + (*filter->output_function)(mbfl_base64_table[(s >> 14) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(s >> 8) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(s >> 2) & 0x3f], filter->data); if (n != 0) { - CK((*filter->output_function)(mbfl_base64_table[(s << 4) & 0x30], filter->data)); + (*filter->output_function)(mbfl_base64_table[(s << 4) & 0x30], filter->data); if (n == 1) { - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)('-', filter->data); } - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else { filter->status = 3; @@ -383,14 +378,14 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) case 3: s = filter->cache; - CK((*filter->output_function)(mbfl_base64_table[(s >> 12) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[(s >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_base64_table[s & 0x3f], filter->data)); + (*filter->output_function)(mbfl_base64_table[(s >> 12) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[(s >> 6) & 0x3f], filter->data); + (*filter->output_function)(mbfl_base64_table[s & 0x3f], filter->data); if (n != 0) { if (n == 1) { - CK((*filter->output_function)('-', filter->data)); + (*filter->output_function)('-', filter->data); } - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); filter->status = 0; } else { filter->status = 1; @@ -402,9 +397,6 @@ int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; - } void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h index bdf4f6e7420be..d67ed1bbb657c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_utf7; extern const struct mbfl_convert_vtbl vtbl_utf7_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf7; -int mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf7_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf7(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_utf7_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF7_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index aceac8f4401b8..34ecb7b9432d6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -117,12 +117,10 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf7imap = { mbfl_filt_conv_wchar_utf7imap_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* * UTF7-IMAP => wchar */ -int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) { int s, n; @@ -142,18 +140,18 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) if (n < 0 || n > 63) { if (c == 0x2d) { if (filter->status == 1) { /* "&-" -> "&" */ - CK((*filter->output_function)(0x26, filter->data)); + (*filter->output_function)(0x26, filter->data); } } else if (c >= 0 && c < 0x80) { /* ASCII exclude '-' */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { /* illegal character */ s = c & MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } filter->cache = 0; filter->status = 0; - return c; + return; } } @@ -163,11 +161,11 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) if (c == 0x26) { /* '&' shift character */ filter->status++; } else if (c >= 0x20 && c <= 0x7E) { /* ASCII */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { /* illegal character */ s = c & MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } break; @@ -193,22 +191,22 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = n; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { filter->cache = n; /* Characters which can be expressed as literal, ASCII characters * should not be Base64-encoded */ if (s < 0x20 || s > 0x7E || s == '&') { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } break; @@ -233,22 +231,22 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = n; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { filter->cache = n; /* Characters which can be expressed as literal, ASCII characters * should not be Base64-encoded */ if (s < 0x20 || s > 0x7E || s == '&') { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } break; @@ -268,22 +266,22 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) s |= (filter->cache & 0xfff0000) >> 6; filter->cache = 0; if (s >= MBFL_WCSPLANE_SUPMIN && s < MBFL_WCSPLANE_SUPMAX) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { /* illegal character */ s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } else { filter->cache = 0; /* Characters which can be expressed as literal, ASCII characters * should not be Base64-encoded */ if (s < 0x20 || s > 0x7E || s == '&') { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { s &= MBFL_WCSGROUP_MASK; s |= MBFL_WCSGROUP_THROUGH; - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } } break; @@ -292,8 +290,6 @@ int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } static const unsigned char mbfl_utf7imap_base64_table[] = @@ -313,7 +309,7 @@ static const unsigned char mbfl_utf7imap_base64_table[] = /* * wchar => UTF7-IMAP */ -int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) { int n, s; @@ -326,24 +322,24 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) ; } else if (c >= MBFL_WCSPLANE_SUPMIN && c < MBFL_WCSPLANE_SUPMAX) { s = ((c >> 10) - 0x40) | 0xd800; - CK((*filter->filter_function)(s, filter)); + (*filter->filter_function)(s, filter); s = (c & 0x3ff) | 0xdc00; - CK((*filter->filter_function)(s, filter)); - return c; + (*filter->filter_function)(s, filter); + return; } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); - return c; + mbfl_filt_conv_illegal_output(c, filter); + return; } switch (filter->status) { case 0: if (n != 0) { /* directly encode characters */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(0x2d, filter->data); /* '-' */ } } else { /* Modified Base64 */ - CK((*filter->output_function)(0x26, filter->data)); /* '&' */ + (*filter->output_function)(0x26, filter->data); /* '&' */ filter->status = 1; filter->cache = c; } @@ -352,14 +348,14 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) /* encode Modified Base64 */ case 1: s = filter->cache; - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 10) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 4) & 0x3f], filter->data)); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 10) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 4) & 0x3f], filter->data); if (n != 0) { - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s << 2) & 0x3c], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s << 2) & 0x3c], filter->data); + (*filter->output_function)(0x2d, filter->data); /* '-' */ + (*filter->output_function)(c, filter->data); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(0x2d, filter->data); /* '-' */ } filter->status = 0; } else { @@ -370,15 +366,15 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) case 2: s = filter->cache; - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 14) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 8) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 2) & 0x3f], filter->data)); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 14) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 8) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 2) & 0x3f], filter->data); if (n != 0) { - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s << 4) & 0x30], filter->data)); - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s << 4) & 0x30], filter->data); + (*filter->output_function)(0x2d, filter->data); /* '-' */ + (*filter->output_function)(c, filter->data); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(0x2d, filter->data); /* '-' */ } filter->status = 0; } else { @@ -389,14 +385,14 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) case 3: s = filter->cache; - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 12) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 6) & 0x3f], filter->data)); - CK((*filter->output_function)(mbfl_utf7imap_base64_table[s & 0x3f], filter->data)); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 12) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[(s >> 6) & 0x3f], filter->data); + (*filter->output_function)(mbfl_utf7imap_base64_table[s & 0x3f], filter->data); if (n != 0) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(0x2d, filter->data); /* '-' */ + (*filter->output_function)(c, filter->data); if (n == 1) { - CK((*filter->output_function)(0x2d, filter->data)); /* '-' */ + (*filter->output_function)(0x2d, filter->data); /* '-' */ } filter->status = 0; } else { @@ -409,9 +405,6 @@ int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; - } void mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h index 64280ea1b16fd..abfe036f5b2de 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.h @@ -37,8 +37,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_utf7imap; extern const struct mbfl_convert_vtbl vtbl_utf7imap_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf7imap; -int mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf7imap_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf7imap(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_utf7imap_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF7IMAP_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index ed5f7b83b87e2..66de9c3652198 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -88,24 +88,21 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8 = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) +void mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter) { filter->filter_function = mbfl_filt_conv_utf8_wchar; filter->cache = filter->status = 0; - CK((*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data)); - return 0; + (*filter->output_function)((c & MBFL_WCSGROUP_MASK) | MBFL_WCSGROUP_THROUGH, filter->data); } -int mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) { if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c >= 0xC2 && c <= 0xDF) { /* 2-byte character */ /* The first byte of a 2-byte character must be at least 0xC2... if it was * 0xC0 or 0xC1, that would mean the character could have fit into 1 byte! @@ -122,12 +119,11 @@ int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter) filter->status = 1; filter->cache = c & 0x7; } else { - CK(mbfl_filt_put_invalid_char(c, filter)); + mbfl_filt_put_invalid_char(c, filter); } - return c; } -int mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter) { /* 2nd byte of a 4-byte character * @@ -138,16 +134,15 @@ int mbfl_filt_conv_utf8_wchar_2nd_of_4_bytes(int c, mbfl_convert_filter *filter) filter->cache = (filter->cache << 6) | (c & 0x3F); filter->filter_function = mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte; } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { /* Only retry if byte could be the start of a valid UTF-8 character */ - return mbfl_filt_conv_utf8_wchar(c, filter); + mbfl_filt_conv_utf8_wchar(c, filter); } } - return c; } -int mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter) { if (c >= 0x80 && c <= 0xBF && (filter->cache || (c & 0x20)) && (filter->cache != 0xD || !(c & 0x20))) { /* This could be the 2nd byte of a 3-byte character @@ -160,15 +155,14 @@ int mbfl_filt_conv_utf8_wchar_2nd_to_lastbyte(int c, mbfl_convert_filter *filter filter->cache = (filter->cache << 6) | (c & 0x3f); filter->filter_function = mbfl_filt_conv_utf8_wchar_lastbyte; } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { - return mbfl_filt_conv_utf8_wchar(c, filter); + mbfl_filt_conv_utf8_wchar(c, filter); } } - return c; } -int mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter) { filter->filter_function = mbfl_filt_conv_utf8_wchar; filter->status = 0; @@ -176,21 +170,20 @@ int mbfl_filt_conv_utf8_wchar_lastbyte(int c, mbfl_convert_filter *filter) int s = (filter->cache << 6) | (c & 0x3F); filter->cache = 0; if (s <= 0x10FFFF) { - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); return; } } - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); if (c < 0x80 || (c >= 0xC2 && c <= 0xF4)) { - return mbfl_filt_conv_utf8_wchar(c, filter); + mbfl_filt_conv_utf8_wchar(c, filter); } - return c; } void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) { - if (filter->cache != 0) { + if (filter->cache) { mbfl_filt_put_invalid_char(filter->cache, filter); } filter->cache = 0; @@ -200,29 +193,27 @@ void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter) } } -int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x110000) { if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c < 0x800) { - CK((*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } else if (c < 0x10000) { - CK((*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data)); - CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data); + (*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } else { - CK((*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data)); - CK((*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data); + (*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data); + (*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } void mbfl_filt_ident_utf8(unsigned char c, mbfl_identify_filter *filter) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h index 57448ede05c5e..e912259ad5f86 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.h @@ -35,8 +35,8 @@ extern const struct mbfl_identify_vtbl vtbl_identify_utf8; extern const struct mbfl_convert_vtbl vtbl_utf8_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf8; -int mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf8(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF8_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index 06c506f91e9c2..d9533611b66c8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -182,13 +182,12 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) -int mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter); +void mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter); /* * UTF-8 => wchar */ -int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) { int s, s1 = 0, c1 = 0, snd = 0; @@ -196,7 +195,7 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) switch (filter->status & 0xff) { case 0x00: if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c >= 0xc2 && c <= 0xdf) { /* 2byte code first char: 0xc2-0xdf */ filter->status = 0x10; filter->cache = c & 0x1f; @@ -207,7 +206,7 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0x30; filter->cache = c & 0x7; } else { - CK(mbfl_filt_put_invalid_char(c, filter)); + mbfl_filt_put_invalid_char(c, filter); } break; case 0x10: /* 2byte code 2nd char: 0x80-0xbf */ @@ -233,11 +232,11 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) } if (snd > 0) { - CK((*filter->output_function)(snd, filter->data)); + (*filter->output_function)(snd, filter->data); } - CK((*filter->output_function)(s, filter->data)); + (*filter->output_function)(s, filter->data); } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); goto retry; } break; @@ -252,7 +251,7 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) filter->cache = s; filter->status++; } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); goto retry; } break; @@ -267,7 +266,7 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) filter->cache = s; filter->status++; } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); goto retry; } break; @@ -276,7 +275,7 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) filter->cache = (filter->cache<<6) | (c & 0x3f); filter->status++; } else { - CK(mbfl_filt_put_invalid_char(filter->cache, filter)); + mbfl_filt_put_invalid_char(filter->cache, filter); goto retry; } break; @@ -284,14 +283,12 @@ int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) filter->status = 0; break; } - - return c; } /* * wchar => UTF-8 */ -int mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x110000) { int s1, c1; @@ -312,27 +309,25 @@ int mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter) } if (filter->status == 1 && filter->cache > 0) { - return c; + return; } if (c < 0x80) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else if (c < 0x800) { - CK((*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 6) & 0x1f) | 0xc0, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } else if (c < 0x10000) { - CK((*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data)); - CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 12) & 0x0f) | 0xe0, filter->data); + (*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } else { - CK((*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data)); - CK((*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data)); - CK((*filter->output_function)((c & 0x3f) | 0x80, filter->data)); + (*filter->output_function)(((c >> 18) & 0x07) | 0xf0, filter->data); + (*filter->output_function)(((c >> 12) & 0x3f) | 0x80, filter->data); + (*filter->output_function)(((c >> 6) & 0x3f) | 0x80, filter->data); + (*filter->output_function)((c & 0x3f) | 0x80, filter->data); } } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h index 74ac6e195e5a2..cc06283403856 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.h @@ -49,9 +49,7 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_utf8_kddi_b; extern const struct mbfl_convert_vtbl vtbl_utf8_sb_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb; - - -int mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter); -int mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UTF8_MOBILE_H */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c index 2db9ee7a17201..9c0ff812ba74b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.c @@ -57,8 +57,6 @@ const struct mbfl_convert_vtbl vtbl_uuencode_8bit = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - /* uuencode => any */ #define UUDEC(c) (char)(((c)-' ') & 0x3f) static const char * uuenc_begin_text = "begin "; @@ -74,7 +72,7 @@ enum { uudec_state_skip_newline }; -int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) +void mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) { int n; switch(filter->status) { @@ -132,11 +130,11 @@ int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) int A = (filter->cache >> 16) & 0xff, B = (filter->cache >> 8) & 0xff, C = (filter->cache) & 0xff, D = UUDEC(c); if (n-- > 0) - CK((*filter->output_function)((A << 2) | (B >> 4), filter->data)); + (*filter->output_function)((A << 2) | (B >> 4), filter->data); if (n-- > 0) - CK((*filter->output_function)((B << 4) | (C >> 2), filter->data)); + (*filter->output_function)((B << 4) | (C >> 2), filter->data); if (n-- > 0) - CK((*filter->output_function)((C << 6) | D, filter->data)); + (*filter->output_function)((C << 6) | D, filter->data); filter->cache = n << 24; if (n == 0) { @@ -149,5 +147,4 @@ int mbfl_filt_conv_uudec(int c, mbfl_convert_filter * filter) /* skip newline */ filter->status = uudec_state_size; } - return c; } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h index b126cdf1d82c9..ac23c809d699c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_uuencode.h @@ -34,6 +34,6 @@ extern const mbfl_encoding mbfl_encoding_uuencode; extern const struct mbfl_identify_vtbl vtbl_identify_uuencode; extern const struct mbfl_convert_vtbl vtbl_uuencode_8bit; -int mbfl_filt_conv_uudec(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_uudec(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_UUENCODE_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.c b/ext/mbstring/libmbfl/mbfl/mbfilter.c index cfb72fe8d2ab7..330edf72b02b0 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.c @@ -97,16 +97,15 @@ #include "zend_API.h" -static inline unsigned char *mbfl_filter_feed_data(mbfl_string *string, mbfl_convert_filter *filter) +static inline void mbfl_filter_feed_data(mbfl_string *string, mbfl_convert_filter *filter) { - return mbfl_convert_filter_feed_string(filter, string->val, string->len); + mbfl_convert_filter_feed_string(filter, string->val, string->len); } /* Used below for counting characters in a string */ -static int filter_count_output(int c, void *data) +static void filter_count_output(int c, void *data) { (*(size_t *)data)++; - return c; } /* Byte offset into multi-byte encoded string -> number of complete characters up to that position @@ -314,12 +313,12 @@ void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int s (convd->filter2 ? convd->filter2 : convd->filter1)->illegal_substchar = substchar; } -size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string) +void mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string) { /* Ensure that the buffer has enough space to hold the entire string; this is better * for performance than repeatedly growing it in small increments */ mbfl_memory_device_realloc(&convd->device, convd->device.pos + string->len, string->len / 4); - return mbfl_filter_feed_data(string, convd->filter1) - string->val; + mbfl_filter_feed_data(string, convd->filter1); } void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd) @@ -817,10 +816,9 @@ static size_t character_width(int c) return 1; } -static int filter_count_width(int c, void* data) +static void filter_count_width(int c, void* data) { (*(size_t *)data) += character_width(c); - return c; } size_t mbfl_strwidth(mbfl_string *string) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index 7dd23e5673c68..c149032d4284f 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -156,7 +156,7 @@ MBFLAPI extern mbfl_buffer_converter * mbfl_buffer_converter_new(const mbfl_enco MBFLAPI extern void mbfl_buffer_converter_delete(mbfl_buffer_converter *convd); MBFLAPI extern void mbfl_buffer_converter_illegal_mode(mbfl_buffer_converter *convd, int mode); MBFLAPI extern void mbfl_buffer_converter_illegal_substchar(mbfl_buffer_converter *convd, int substchar); -MBFLAPI extern size_t mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string); +MBFLAPI extern void mbfl_buffer_converter_feed(mbfl_buffer_converter *convd, mbfl_string *string); MBFLAPI extern void mbfl_buffer_converter_flush(mbfl_buffer_converter *convd); MBFLAPI extern mbfl_string * mbfl_buffer_converter_result(mbfl_buffer_converter *convd, mbfl_string *result); MBFLAPI extern mbfl_string * mbfl_buffer_converter_feed_result(mbfl_buffer_converter *convd, mbfl_string *string, mbfl_string *result); diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c index c45bab4a2760b..2876bf3c2fd66 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_8bit.c @@ -34,8 +34,8 @@ const struct mbfl_convert_vtbl vtbl_8bit_wchar; const struct mbfl_convert_vtbl vtbl_wchar_8bit; -static int mbfl_filt_conv_8bit_wchar(int c, mbfl_convert_filter *filter); -static int mbfl_filt_conv_wchar_8bit(int c, mbfl_convert_filter *filter); +static void mbfl_filt_conv_8bit_wchar(int c, mbfl_convert_filter *filter); +static void mbfl_filt_conv_wchar_8bit(int c, mbfl_convert_filter *filter); static const char *mbfl_encoding_8bit_aliases[] = {"binary", NULL}; @@ -74,20 +74,16 @@ const struct mbfl_convert_vtbl vtbl_wchar_8bit = { mbfl_filt_conv_common_flush }; -#define CK(statement) do { if ((statement) < 0) return (-1); } while (0) - -static int mbfl_filt_conv_8bit_wchar(int c, mbfl_convert_filter *filter) +static void mbfl_filt_conv_8bit_wchar(int c, mbfl_convert_filter *filter) { - return (*filter->output_function)(c, filter->data); + (*filter->output_function)(c, filter->data); } -static int mbfl_filt_conv_wchar_8bit(int c, mbfl_convert_filter *filter) +static void mbfl_filt_conv_wchar_8bit(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x100) { - CK((*filter->output_function)(c, filter->data)); + (*filter->output_function)(c, filter->data); } else { - CK(mbfl_filt_conv_illegal_output(c, filter)); + mbfl_filt_conv_illegal_output(c, filter); } - - return c; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c index ac7ff9b2137fa..398dc13d11d9d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.c @@ -54,7 +54,7 @@ const struct mbfl_convert_vtbl vtbl_pass = { mbfl_filt_conv_common_flush }; -int mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter) { - return (*filter->output_function)(c, filter->data); + (*filter->output_function)(c, filter->data); } diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h index a1064b85bcb72..cfe2813e5be27 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter_pass.h @@ -36,6 +36,6 @@ MBFLAPI extern const mbfl_encoding mbfl_encoding_pass; MBFLAPI extern const struct mbfl_convert_vtbl vtbl_pass; -MBFLAPI extern int mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter); +MBFLAPI extern void mbfl_filt_conv_pass(int c, mbfl_convert_filter *filter); #endif /* MBFL_MBFILTER_PASS_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 20feeac97057d..5a588a28180a8 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -155,18 +155,16 @@ void mbfl_convert_filter_delete(mbfl_convert_filter *filter) /* Feed a char, return 0 if ok - used by mailparse ext */ int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter) { - return (*filter->filter_function)(c, filter); + (*filter->filter_function)(c, filter); + return 0; } -/* Feed string into `filter` byte by byte; return pointer to first byte not processed */ -unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len) +/* Feed string into `filter` byte by byte */ +void mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len) { while (len--) { - if ((*filter->filter_function)(*p++, filter) < 0) { - break; - } + (*filter->filter_function)(*p++, filter); } - return p; } void mbfl_convert_filter_flush(mbfl_convert_filter *filter) @@ -195,24 +193,19 @@ void mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device mbfl_convert_filter_feed_string(filter, src->buffer, src->pos); } -int mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p) +void mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p) { int c; while ((c = *p++)) { - if ((*filter->filter_function)(c, filter) < 0) { - return -1; - } + (*filter->filter_function)(c, filter); } - - return 0; } /* illegal character output function for conv-filter */ -int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) { int n, m, r; - int ret = 0; int mode_backup = filter->illegal_mode; int substchar_backup = filter->illegal_substchar; @@ -228,67 +221,61 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) switch (mode_backup) { case MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR: - ret = (*filter->filter_function)(substchar_backup, filter); + (*filter->filter_function)(substchar_backup, filter); break; case MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG: if (c >= 0) { if (c < MBFL_WCSGROUP_UCS4MAX) { /* unicode */ - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"U+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"U+"); } else { if (c < MBFL_WCSGROUP_WCHARMAX) { m = c & ~MBFL_WCSPLANE_MASK; switch (m) { case MBFL_WCSPLANE_JIS0208: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS+"); break; case MBFL_WCSPLANE_JIS0212: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS2+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS2+"); break; case MBFL_WCSPLANE_JIS0213: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS3+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"JIS3+"); break; case MBFL_WCSPLANE_WINCP932: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"W932+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"W932+"); break; case MBFL_WCSPLANE_GB18030: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"GB+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"GB+"); break; default: - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"?+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"?+"); break; } c &= MBFL_WCSPLANE_MASK; } else { - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"BAD+"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)"BAD+"); c &= MBFL_WCSGROUP_MASK; } } - if (ret >= 0) { - m = 0; - r = 28; - while (r >= 0) { - n = (c >> r) & 0xf; - if (n || m) { - m = 1; - ret = (*filter->filter_function)(mbfl_hexchar_table[n], filter); - if (ret < 0) { - break; - } - } - r -= 4; - } - if (m == 0) { - ret = (*filter->filter_function)(mbfl_hexchar_table[0], filter); + + m = 0; + r = 28; + while (r >= 0) { + n = (c >> r) & 0xf; + if (n || m) { + m = 1; + (*filter->filter_function)(mbfl_hexchar_table[n], filter); } + r -= 4; + } + if (m == 0) { + (*filter->filter_function)(mbfl_hexchar_table[0], filter); } } break; case MBFL_OUTPUTFILTER_ILLEGAL_MODE_ENTITY: if (c >= 0) { if (c < MBFL_WCSGROUP_UCS4MAX) { /* unicode */ - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)"&#x"); - if (ret < 0) - break; + mbfl_convert_filter_strcat(filter, (const unsigned char *)"&#x"); m = 0; r = 28; @@ -296,20 +283,17 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) n = (c >> r) & 0xf; if (n || m) { m = 1; - ret = (*filter->filter_function)(mbfl_hexchar_table[n], filter); - if (ret < 0) { - break; - } + (*filter->filter_function)(mbfl_hexchar_table[n], filter); } r -= 4; } if (m == 0) { /* illegal character was zero; no hex digits were output by above loop */ - ret = (*filter->filter_function)('0', filter); + (*filter->filter_function)('0', filter); } - ret = mbfl_convert_filter_strcat(filter, (const unsigned char *)";"); + mbfl_convert_filter_strcat(filter, (const unsigned char *)";"); } else { - ret = (*filter->filter_function)(substchar_backup, filter); + (*filter->filter_function)(substchar_backup, filter); } } break; @@ -321,8 +305,6 @@ int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter) filter->illegal_mode = mode_backup; filter->illegal_substchar = substchar_backup; filter->num_illegalchar++; - - return ret; } const struct mbfl_convert_vtbl* mbfl_convert_filter_get_vtbl(const mbfl_encoding *from, const mbfl_encoding *to) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h index 6c00d7bd9e025..ed2bea56435cd 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.h @@ -41,12 +41,12 @@ typedef struct _mbfl_convert_filter mbfl_convert_filter; typedef void (*filter_flush_t)(mbfl_convert_filter*); /* defined by mbfl_convert_filter_{new,new2,init} */ -typedef int (*output_function_t)(int, void*); +typedef void (*output_function_t)(int, void*); typedef void (*flush_function_t)(void *); struct _mbfl_convert_filter { void (*filter_dtor)(mbfl_convert_filter *filter); - int (*filter_function)(int c, mbfl_convert_filter *filter); + void (*filter_function)(int c, mbfl_convert_filter *filter); filter_flush_t filter_flush; output_function_t output_function; flush_function_t flush_function; @@ -67,16 +67,16 @@ MBFLAPI extern mbfl_convert_filter *mbfl_convert_filter_new2(const struct mbfl_c flush_function_t flush_function, void *data); MBFLAPI extern void mbfl_convert_filter_delete(mbfl_convert_filter *filter); MBFLAPI extern int mbfl_convert_filter_feed(int c, mbfl_convert_filter *filter); -MBFLAPI extern unsigned char* mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len); +MBFLAPI extern void mbfl_convert_filter_feed_string(mbfl_convert_filter *filter, unsigned char *p, size_t len); MBFLAPI extern void mbfl_convert_filter_flush(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding *from, const mbfl_encoding *to); -MBFLAPI extern int mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter); +MBFLAPI extern void mbfl_filt_conv_illegal_output(int c, mbfl_convert_filter *filter); MBFLAPI extern const struct mbfl_convert_vtbl * mbfl_convert_filter_get_vtbl(const mbfl_encoding *from, const mbfl_encoding *to); MBFLAPI extern void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_filt_conv_common_flush(mbfl_convert_filter *filter); MBFLAPI extern void mbfl_convert_filter_devcat(mbfl_convert_filter *filter, mbfl_memory_device *src); -MBFLAPI extern int mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p); +MBFLAPI extern void mbfl_convert_filter_strcat(mbfl_convert_filter *filter, const unsigned char *p); #endif /* MBFL_CONVERT_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index cf5658e18d63e..047ed4e5dc26d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -134,7 +134,7 @@ struct mbfl_convert_vtbl { enum mbfl_no_encoding to; void (*filter_ctor)(struct _mbfl_convert_filter *filter); void (*filter_dtor)(struct _mbfl_convert_filter *filter); - int (*filter_function)(int c, struct _mbfl_convert_filter *filter); + void (*filter_function)(int c, struct _mbfl_convert_filter *filter); void (*filter_flush)(struct _mbfl_convert_filter *filter); }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c index 4b66c2974a04d..8aa080303712a 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.c @@ -30,13 +30,10 @@ #include "mbfl_convert.h" -int mbfl_filter_output_pipe(int c, void* data) +void mbfl_filter_output_pipe(int c, void* data) { mbfl_convert_filter *filter = (mbfl_convert_filter*)data; - return (*filter->filter_function)(c, filter); + (*filter->filter_function)(c, filter); } -int mbfl_filter_output_null(int c, void* data) -{ - return c; -} +void mbfl_filter_output_null(int c, void* data) {} diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h index d10fa76b0cf5e..2af77a397c859 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_filter_output.h @@ -31,7 +31,7 @@ #ifndef MBFL_FILTER_OUTPUT_H #define MBFL_FILTER_OUTPUT_H -MBFLAPI extern int mbfl_filter_output_pipe(int c, void* data); -MBFLAPI extern int mbfl_filter_output_null(int c, void* data); +MBFLAPI extern void mbfl_filter_output_pipe(int c, void* data); +MBFLAPI extern void mbfl_filter_output_null(int c, void* data); #endif /* MBFL_FILTER_OUTPUT_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c index a1b66e8edd668..8cdfd3b294cdf 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.c @@ -85,43 +85,32 @@ mbfl_string* mbfl_memory_device_result(mbfl_memory_device *device, mbfl_string * return result; } -int mbfl_memory_device_output(int c, void *data) +void mbfl_memory_device_output(int c, void *data) { mbfl_memory_device *device = (mbfl_memory_device *)data; if (UNEXPECTED(device->pos >= device->length)) { /* reallocate buffer */ - - if (UNEXPECTED(device->length > SIZE_MAX - device->allocsz)) { - /* overflow */ - return -1; - } - + ZEND_ASSERT(device->length <= SIZE_MAX - device->allocsz); size_t newlen = device->length + device->allocsz; device->buffer = erealloc(device->buffer, newlen); device->length = newlen; } device->buffer[device->pos++] = (unsigned char)c; - return c; } -int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc) +void mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc) { - return mbfl_memory_device_strncat(device, psrc, strlen(psrc)); + mbfl_memory_device_strncat(device, psrc, strlen(psrc)); } -int mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t len) +void mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, size_t len) { if (UNEXPECTED(len > device->length - device->pos)) { /* reallocate buffer */ - - if (UNEXPECTED(len > SIZE_MAX - MBFL_MEMORY_DEVICE_ALLOC_SIZE - || device->length > SIZE_MAX - (len + MBFL_MEMORY_DEVICE_ALLOC_SIZE))) { - /* overflow */ - return -1; - } - + ZEND_ASSERT(len <= SIZE_MAX - MBFL_MEMORY_DEVICE_ALLOC_SIZE); + ZEND_ASSERT(device->length <= SIZE_MAX - len - MBFL_MEMORY_DEVICE_ALLOC_SIZE); size_t newlen = device->length + len + MBFL_MEMORY_DEVICE_ALLOC_SIZE; device->buffer = erealloc(device->buffer, newlen); device->length = newlen; @@ -130,13 +119,11 @@ int mbfl_memory_device_strncat(mbfl_memory_device *device, const char *psrc, siz unsigned char *w = &device->buffer[device->pos]; memcpy(w, psrc, len); device->pos += len; - - return 0; } -int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src) +void mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src) { - return mbfl_memory_device_strncat(dest, (const char*)src->buffer, src->pos); + mbfl_memory_device_strncat(dest, (const char*)src->buffer, src->pos); } void mbfl_wchar_device_init(mbfl_wchar_device *device, size_t initsz) @@ -156,27 +143,18 @@ void mbfl_wchar_device_clear(mbfl_wchar_device *device) device->length = device->pos = 0; } -int mbfl_wchar_device_output(int c, void *data) +void mbfl_wchar_device_output(int c, void *data) { mbfl_wchar_device *device = (mbfl_wchar_device *)data; if (UNEXPECTED(device->pos >= device->length)) { /* reallocate buffer */ - if (UNEXPECTED(device->length > SIZE_MAX - device->allocsz)) { - /* overflow */ - return -1; - } - + ZEND_ASSERT(device->length <= SIZE_MAX - device->allocsz); size_t newlen = device->length + device->allocsz; - if (UNEXPECTED(newlen > SIZE_MAX / sizeof(int))) { - /* overflow */ - return -1; - } - + ZEND_ASSERT(newlen <= SIZE_MAX / sizeof(int)); device->buffer = erealloc(device->buffer, newlen * sizeof(int)); device->length = newlen; } device->buffer[device->pos++] = c; - return c; } diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h index 0418adc6138aa..08a518df1d4a4 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_memory_device.h @@ -59,14 +59,14 @@ MBFLAPI extern void mbfl_memory_device_reset(mbfl_memory_device *device); MBFLAPI extern mbfl_string * mbfl_memory_device_result( mbfl_memory_device *device, mbfl_string *result); MBFLAPI extern void mbfl_memory_device_unput(mbfl_memory_device *device); -MBFLAPI extern int mbfl_memory_device_output(int c, void *data); -MBFLAPI extern int mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc); -MBFLAPI extern int mbfl_memory_device_strncat( +MBFLAPI extern void mbfl_memory_device_output(int c, void *data); +MBFLAPI extern void mbfl_memory_device_strcat(mbfl_memory_device *device, const char *psrc); +MBFLAPI extern void mbfl_memory_device_strncat( mbfl_memory_device *device, const char *psrc, size_t len); -MBFLAPI extern int mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src); +MBFLAPI extern void mbfl_memory_device_devcat(mbfl_memory_device *dest, mbfl_memory_device *src); MBFLAPI extern void mbfl_wchar_device_init(mbfl_wchar_device *device, size_t initsz); -MBFLAPI extern int mbfl_wchar_device_output(int c, void *data); +MBFLAPI extern void mbfl_wchar_device_output(int c, void *data); MBFLAPI extern void mbfl_wchar_device_clear(mbfl_wchar_device *device); #endif /* MBFL_MEMORY_DEVICE_H */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 6ec605f703642..8b64750e7d7cb 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -448,7 +448,7 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); /* do it */ - size_t loc = mbfl_buffer_converter_feed(convd, &string); + mbfl_buffer_converter_feed(convd, &string); mbfl_string_init(&result); if (!mbfl_buffer_converter_result(convd, &result)) { @@ -461,7 +461,7 @@ static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_leng mbfl_buffer_converter_delete(convd); - return loc; + return from_length; } static zend_result php_mb_zend_encoding_list_parser(const char *encoding_list, size_t encoding_list_len, const zend_encoding ***return_list, size_t *return_size, bool persistent) diff --git a/ext/mbstring/php_unicode.c b/ext/mbstring/php_unicode.c index 9ddef23aa16a6..15e37a71a3052 100644 --- a/ext/mbstring/php_unicode.c +++ b/ext/mbstring/php_unicode.c @@ -314,7 +314,7 @@ struct convert_case_data { int title_mode; }; -static int convert_case_filter(int c, void *void_data) +static void convert_case_filter(int c, void *void_data) { struct convert_case_data *data = (struct convert_case_data *) void_data; unsigned code; @@ -323,7 +323,7 @@ static int convert_case_filter(int c, void *void_data) * codepoints above 0xffffff. */ if (UNEXPECTED((unsigned)c > 0xffffff)) { (*data->next_filter->filter_function)(c, data->next_filter); - return 0; + return; } switch (data->case_mode) { @@ -379,8 +379,6 @@ static int convert_case_filter(int c, void *void_data) } EMPTY_SWITCH_DEFAULT_CASE() } - - return 0; } MBSTRING_API char *php_unicode_convert_case(int case_mode, const char *srcstr, size_t srclen, From fe8ad10b759e340b6e3a1c5712ff50cda42c168a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 24 Sep 2020 22:06:51 +0200 Subject: [PATCH 086/123] Optimize calls to mb_substr which return entire input string When the requested range covers the entire input string, we can just return it without doing anything else. --- ext/mbstring/mbstring.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 8b64750e7d7cb..38809f7d5dc16 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1989,16 +1989,15 @@ PHP_FUNCTION(mb_substr_count) /* {{{ Returns part of a string */ PHP_FUNCTION(mb_substr) { - char *str; + zend_string *str; zend_string *encoding = NULL; zend_long from, len; size_t real_from, real_len; - size_t str_len; zend_bool len_is_null = 1; mbfl_string string, result, *ret; ZEND_PARSE_PARAMETERS_START(2, 4) - Z_PARAM_STRING(str, str_len) + Z_PARAM_STR(str) Z_PARAM_LONG(from) Z_PARAM_OPTIONAL Z_PARAM_LONG_OR_NULL(len, len_is_null) @@ -2010,8 +2009,16 @@ PHP_FUNCTION(mb_substr) RETURN_THROWS(); } - string.val = (unsigned char *)str; - string.len = str_len; + string.val = (unsigned char *)ZSTR_VAL(str); + string.len = ZSTR_LEN(str); + + /* If the desired character length is >= byte length, we can definitely + * just return the entire input string */ + if (from == 0 && (len_is_null || len >= string.len)) { + zend_string_addref(str); + RETVAL_STR(str); + return; + } /* measures length */ size_t mblen = 0; From 1ce3045eb779a26bdb834c5229abc468aa1eeafe Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 27 Sep 2020 18:05:52 +0200 Subject: [PATCH 087/123] Minor code tweaks in mbfl_convert.c --- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 5a588a28180a8..9dd4b68a416ed 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -101,7 +101,7 @@ static void mbfl_convert_filter_common_init(mbfl_convert_filter *filter, const m filter->from = from; filter->to = to; - if (output_function != NULL) { + if (output_function) { filter->output_function = output_function; } else { filter->output_function = mbfl_filter_output_null; @@ -179,7 +179,6 @@ void mbfl_convert_filter_reset(mbfl_convert_filter *filter, const mbfl_encoding } const struct mbfl_convert_vtbl *vtbl = mbfl_convert_filter_get_vtbl(from, to); - if (vtbl == NULL) { vtbl = &vtbl_pass; } @@ -344,8 +343,7 @@ const struct mbfl_convert_vtbl* mbfl_convert_filter_get_vtbl(const mbfl_encoding */ void mbfl_filt_conv_common_ctor(mbfl_convert_filter *filter) { - filter->status = 0; - filter->cache = 0; + filter->status = filter->cache = 0; } void mbfl_filt_conv_common_flush(mbfl_convert_filter *filter) From cef8d9e8d64bb2fe804119e46dd7b59a46504836 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 27 Sep 2020 18:59:16 +0200 Subject: [PATCH 088/123] Add comment on assertion in mbstring.c which can fail --- ext/mbstring/mbstring.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 38809f7d5dc16..03e2a77df8986 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2241,8 +2241,9 @@ MBSTRING_API char *php_mb_convert_encoding_ex(const char *input, size_t length, /* initialize converter */ convd = mbfl_buffer_converter_new(from_encoding, to_encoding, string.len); - /* If this assertion fails this means some memory allocation failure which is a bug */ - ZEND_ASSERT(convd != NULL); + /* This assertion fails if one tries to convert any other encoding to 'uuencode' + * Should we throw an exception in that case? */ + ZEND_ASSERT(convd); mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); From 9274e2a82a8ce9b5236747871e7102fe3d66918b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 4 Oct 2020 18:38:59 +0200 Subject: [PATCH 089/123] Add 'Windows-932' alias for CP932 text encoding --- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 76577c5ffe451..63d7ce5d3f07a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -54,7 +54,7 @@ static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; -static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-31J", "MS_Kanji", NULL}; +static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-932", "Windows-31J", "MS_Kanji", NULL}; const mbfl_encoding mbfl_encoding_cp932 = { mbfl_no_encoding_cp932, From b2a7ad45f706d28bce61cbfd8d97ce5e88a274cf Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 4 Oct 2020 22:29:34 +0200 Subject: [PATCH 090/123] Enhance handling of CP932 text encoding - When checking whether string is valid, reject (otherwise legal) byte sequences which don't map to any character. - Don't allow control characters to appear in the middle of a multi-byte character. (This was a strange feature of mbstring; it doesn't make much sense, and iconv doesn't allow it.) --- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 63d7ce5d3f07a..77bdefd281462 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -201,8 +201,6 @@ void mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_WINCP932; } (*filter->output_function)(w, filter->data); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; @@ -314,20 +312,48 @@ void mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) } } +static int is_unused_cp932_range(unsigned char c1, unsigned char c2) +{ + if (c1 == 0x85 || c1 == 0x86 || (c1 >= 0xA1 && c1 <= 0xDF) || c1 == 0xEB || c1 == 0xEC || c1 == 0xEF) { + return 1; + } else if (c1 == 0x81) { + return (c2 >= 0xAD && c2 <= 0xB7) || (c2 >= 0xC0 && c2 <= 0xC7) || (c2 >= 0xCF && c2 <= 0xD9) || (c2 >= 0xE9 && c2 <= 0xEF) || (c2 >= 0xF8 && c2 <= 0xFB); + } else if (c1 == 0x82) { + return (c2 <= 0x4E) || (c2 >= 0x59 && c2 <= 0x5F) || (c2 >= 0x7A && c2 <= 0x80) || (c2 >= 0x9B && c2 <= 0x9E) || (c2 >= 0xF2); + } else if (c1 == 0x83) { + return (c2 >= 0x97 && c2 <= 0x9E) || (c2 >= 0xB7 && c2 <= 0xBE) || (c2 >= 0xD7); + } else if (c1 == 0x84) { + return (c2 >= 0x61 && c2 <= 0x6F) || (c2 >= 0x92 && c2 <= 0x9E) || (c2 >= 0xBF); + } else if (c1 == 0x87) { + return (c2 == 0x5E) || (c2 >= 0x76 && c2 <= 0x7D) || (c2 == 0x7F) || (c2 >= 0x9D); + } else if (c1 == 0x88) { + return (c2 <= 0x9E); + } else if (c1 == 0x98) { + return (c2 >= 0x73 && c2 <= 0x9E); + } else if (c1 == 0xEA) { + return (c2 >= 0xA5); + } else if (c1 == 0xEE) { + return (c2 == 0xED) || (c2 == 0xEE); + } else if (c1 == 0xFC) { + return (c2 >= 0x4C); + } + return 0; +} + static void mbfl_filt_ident_cp932(unsigned char c, mbfl_identify_filter *filter) { - if (filter->status) { /* kanji second char */ - if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ + if (filter->status) { /* Kanji second char */ + if (c < 0x40 || c > 0xFC || c == 0x7F || is_unused_cp932_range(filter->status, c)) { /* bad */ filter->flag = 1; } filter->status = 0; - } else if (c < 0x80) { /* latin ok */ + } else if (c < 0x80) { /* Latin */ ; - } else if (c > 0xa0 && c < 0xe0) { /* kana ok */ + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ ; - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ - filter->status = 1; - } else { /* bad */ + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { /* Kanji first char */ + filter->status = c; + } else { filter->flag = 1; } } From 2cee8751f3119d6ddd83de278ee89dbfa2a5bd6f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 3 Oct 2020 08:45:52 +0200 Subject: [PATCH 091/123] Add test suite for CP932 text encoding This test suite supercedes bug47399.phpt, which only tested Shift JIS and CP932 on 2-byte characters starting with 0x81. Aside from testing everything which that one does (and far more), it is also more correct. Bug 47399 pointed out that some completely invalid byte sequences, like 0x813A (the second byte should be at least 0x40) were accepted by Shift JIS and CP932. It is good that this issue was fixed, but even after the fix, mbstring still accepted byte sequences which, although technically valid, did not map to any character. (They were 'empty' cells in the JIS X 0208 character table.) Now we are doing better by rejecting such sequences, which breaks bug47399.phpt. --- ext/mbstring/docs/CP932.txt | 7998 ++++++++++++++++++++++++ ext/mbstring/tests/bug47399.phpt | 525 -- ext/mbstring/tests/cp932_encoding.phpt | 96 + 3 files changed, 8094 insertions(+), 525 deletions(-) create mode 100644 ext/mbstring/docs/CP932.txt delete mode 100644 ext/mbstring/tests/bug47399.phpt create mode 100644 ext/mbstring/tests/cp932_encoding.phpt diff --git a/ext/mbstring/docs/CP932.txt b/ext/mbstring/docs/CP932.txt new file mode 100644 index 0000000000000..7ff471bcd1058 --- /dev/null +++ b/ext/mbstring/docs/CP932.txt @@ -0,0 +1,7998 @@ +# +# Name: cp932 to Unicode table +# Unicode version: 2.0 +# Table version: 2.01 +# Table format: Format A +# Date: 04/15/98 +# +# Contact: Shawn.Steele@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp932 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp932 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 #UNDEFINED +0x81 #DBCS LEAD BYTE +0x82 #DBCS LEAD BYTE +0x83 #DBCS LEAD BYTE +0x84 #DBCS LEAD BYTE +0x85 #DBCS LEAD BYTE +0x86 #DBCS LEAD BYTE +0x87 #DBCS LEAD BYTE +0x88 #DBCS LEAD BYTE +0x89 #DBCS LEAD BYTE +0x8A #DBCS LEAD BYTE +0x8B #DBCS LEAD BYTE +0x8C #DBCS LEAD BYTE +0x8D #DBCS LEAD BYTE +0x8E #DBCS LEAD BYTE +0x8F #DBCS LEAD BYTE +0x90 #DBCS LEAD BYTE +0x91 #DBCS LEAD BYTE +0x92 #DBCS LEAD BYTE +0x93 #DBCS LEAD BYTE +0x94 #DBCS LEAD BYTE +0x95 #DBCS LEAD BYTE +0x96 #DBCS LEAD BYTE +0x97 #DBCS LEAD BYTE +0x98 #DBCS LEAD BYTE +0x99 #DBCS LEAD BYTE +0x9A #DBCS LEAD BYTE +0x9B #DBCS LEAD BYTE +0x9C #DBCS LEAD BYTE +0x9D #DBCS LEAD BYTE +0x9E #DBCS LEAD BYTE +0x9F #DBCS LEAD BYTE +0xA0 #UNDEFINED +0xA1 0xFF61 #HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 0xFF62 #HALFWIDTH LEFT CORNER BRACKET +0xA3 0xFF63 #HALFWIDTH RIGHT CORNER BRACKET +0xA4 0xFF64 #HALFWIDTH IDEOGRAPHIC COMMA +0xA5 0xFF65 #HALFWIDTH KATAKANA MIDDLE DOT +0xA6 0xFF66 #HALFWIDTH KATAKANA LETTER WO +0xA7 0xFF67 #HALFWIDTH KATAKANA LETTER SMALL A +0xA8 0xFF68 #HALFWIDTH KATAKANA LETTER SMALL I +0xA9 0xFF69 #HALFWIDTH KATAKANA LETTER SMALL U +0xAA 0xFF6A #HALFWIDTH KATAKANA LETTER SMALL E +0xAB 0xFF6B #HALFWIDTH KATAKANA LETTER SMALL O +0xAC 0xFF6C #HALFWIDTH KATAKANA LETTER SMALL YA +0xAD 0xFF6D #HALFWIDTH KATAKANA LETTER SMALL YU +0xAE 0xFF6E #HALFWIDTH KATAKANA LETTER SMALL YO +0xAF 0xFF6F #HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 0xFF70 #HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 0xFF71 #HALFWIDTH KATAKANA LETTER A +0xB2 0xFF72 #HALFWIDTH KATAKANA LETTER I +0xB3 0xFF73 #HALFWIDTH KATAKANA LETTER U +0xB4 0xFF74 #HALFWIDTH KATAKANA LETTER E +0xB5 0xFF75 #HALFWIDTH KATAKANA LETTER O +0xB6 0xFF76 #HALFWIDTH KATAKANA LETTER KA +0xB7 0xFF77 #HALFWIDTH KATAKANA LETTER KI +0xB8 0xFF78 #HALFWIDTH KATAKANA LETTER KU +0xB9 0xFF79 #HALFWIDTH KATAKANA LETTER KE +0xBA 0xFF7A #HALFWIDTH KATAKANA LETTER KO +0xBB 0xFF7B #HALFWIDTH KATAKANA LETTER SA +0xBC 0xFF7C #HALFWIDTH KATAKANA LETTER SI +0xBD 0xFF7D #HALFWIDTH KATAKANA LETTER SU +0xBE 0xFF7E #HALFWIDTH KATAKANA LETTER SE +0xBF 0xFF7F #HALFWIDTH KATAKANA LETTER SO +0xC0 0xFF80 #HALFWIDTH KATAKANA LETTER TA +0xC1 0xFF81 #HALFWIDTH KATAKANA LETTER TI +0xC2 0xFF82 #HALFWIDTH KATAKANA LETTER TU +0xC3 0xFF83 #HALFWIDTH KATAKANA LETTER TE +0xC4 0xFF84 #HALFWIDTH KATAKANA LETTER TO +0xC5 0xFF85 #HALFWIDTH KATAKANA LETTER NA +0xC6 0xFF86 #HALFWIDTH KATAKANA LETTER NI +0xC7 0xFF87 #HALFWIDTH KATAKANA LETTER NU +0xC8 0xFF88 #HALFWIDTH KATAKANA LETTER NE +0xC9 0xFF89 #HALFWIDTH KATAKANA LETTER NO +0xCA 0xFF8A #HALFWIDTH KATAKANA LETTER HA +0xCB 0xFF8B #HALFWIDTH KATAKANA LETTER HI +0xCC 0xFF8C #HALFWIDTH KATAKANA LETTER HU +0xCD 0xFF8D #HALFWIDTH KATAKANA LETTER HE +0xCE 0xFF8E #HALFWIDTH KATAKANA LETTER HO +0xCF 0xFF8F #HALFWIDTH KATAKANA LETTER MA +0xD0 0xFF90 #HALFWIDTH KATAKANA LETTER MI +0xD1 0xFF91 #HALFWIDTH KATAKANA LETTER MU +0xD2 0xFF92 #HALFWIDTH KATAKANA LETTER ME +0xD3 0xFF93 #HALFWIDTH KATAKANA LETTER MO +0xD4 0xFF94 #HALFWIDTH KATAKANA LETTER YA +0xD5 0xFF95 #HALFWIDTH KATAKANA LETTER YU +0xD6 0xFF96 #HALFWIDTH KATAKANA LETTER YO +0xD7 0xFF97 #HALFWIDTH KATAKANA LETTER RA +0xD8 0xFF98 #HALFWIDTH KATAKANA LETTER RI +0xD9 0xFF99 #HALFWIDTH KATAKANA LETTER RU +0xDA 0xFF9A #HALFWIDTH KATAKANA LETTER RE +0xDB 0xFF9B #HALFWIDTH KATAKANA LETTER RO +0xDC 0xFF9C #HALFWIDTH KATAKANA LETTER WA +0xDD 0xFF9D #HALFWIDTH KATAKANA LETTER N +0xDE 0xFF9E #HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF 0xFF9F #HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +0xE0 #DBCS LEAD BYTE +0xE1 #DBCS LEAD BYTE +0xE2 #DBCS LEAD BYTE +0xE3 #DBCS LEAD BYTE +0xE4 #DBCS LEAD BYTE +0xE5 #DBCS LEAD BYTE +0xE6 #DBCS LEAD BYTE +0xE7 #DBCS LEAD BYTE +0xE8 #DBCS LEAD BYTE +0xE9 #DBCS LEAD BYTE +0xEA #DBCS LEAD BYTE +0xEB #DBCS LEAD BYTE +0xEC #DBCS LEAD BYTE +0xED #DBCS LEAD BYTE +0xEE #DBCS LEAD BYTE +0xEF #DBCS LEAD BYTE +0xF0 #DBCS LEAD BYTE +0xF1 #DBCS LEAD BYTE +0xF2 #DBCS LEAD BYTE +0xF3 #DBCS LEAD BYTE +0xF4 #DBCS LEAD BYTE +0xF5 #DBCS LEAD BYTE +0xF6 #DBCS LEAD BYTE +0xF7 #DBCS LEAD BYTE +0xF8 #DBCS LEAD BYTE +0xF9 #DBCS LEAD BYTE +0xFA #DBCS LEAD BYTE +0xFB #DBCS LEAD BYTE +0xFC #DBCS LEAD BYTE +0xFD #UNDEFINED +0xFE #UNDEFINED +0xFF #UNDEFINED +0x8140 0x3000 #IDEOGRAPHIC SPACE +0x8141 0x3001 #IDEOGRAPHIC COMMA +0x8142 0x3002 #IDEOGRAPHIC FULL STOP +0x8143 0xFF0C #FULLWIDTH COMMA +0x8144 0xFF0E #FULLWIDTH FULL STOP +0x8145 0x30FB #KATAKANA MIDDLE DOT +0x8146 0xFF1A #FULLWIDTH COLON +0x8147 0xFF1B #FULLWIDTH SEMICOLON +0x8148 0xFF1F #FULLWIDTH QUESTION MARK +0x8149 0xFF01 #FULLWIDTH EXCLAMATION MARK +0x814A 0x309B #KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B 0x309C #KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C 0x00B4 #ACUTE ACCENT +0x814D 0xFF40 #FULLWIDTH GRAVE ACCENT +0x814E 0x00A8 #DIAERESIS +0x814F 0xFF3E #FULLWIDTH CIRCUMFLEX ACCENT +0x8150 0xFFE3 #FULLWIDTH MACRON +0x8151 0xFF3F #FULLWIDTH LOW LINE +0x8152 0x30FD #KATAKANA ITERATION MARK +0x8153 0x30FE #KATAKANA VOICED ITERATION MARK +0x8154 0x309D #HIRAGANA ITERATION MARK +0x8155 0x309E #HIRAGANA VOICED ITERATION MARK +0x8156 0x3003 #DITTO MARK +0x8157 0x4EDD #CJK UNIFIED IDEOGRAPH +0x8158 0x3005 #IDEOGRAPHIC ITERATION MARK +0x8159 0x3006 #IDEOGRAPHIC CLOSING MARK +0x815A 0x3007 #IDEOGRAPHIC NUMBER ZERO +0x815B 0x30FC #KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C 0x2015 #HORIZONTAL BAR +0x815D 0x2010 #HYPHEN +0x815E 0xFF0F #FULLWIDTH SOLIDUS +0x815F 0xFF3C #FULLWIDTH REVERSE SOLIDUS +0x8160 0xFF5E #FULLWIDTH TILDE +0x8161 0x2225 #PARALLEL TO +0x8162 0xFF5C #FULLWIDTH VERTICAL LINE +0x8163 0x2026 #HORIZONTAL ELLIPSIS +0x8164 0x2025 #TWO DOT LEADER +0x8165 0x2018 #LEFT SINGLE QUOTATION MARK +0x8166 0x2019 #RIGHT SINGLE QUOTATION MARK +0x8167 0x201C #LEFT DOUBLE QUOTATION MARK +0x8168 0x201D #RIGHT DOUBLE QUOTATION MARK +0x8169 0xFF08 #FULLWIDTH LEFT PARENTHESIS +0x816A 0xFF09 #FULLWIDTH RIGHT PARENTHESIS +0x816B 0x3014 #LEFT TORTOISE SHELL BRACKET +0x816C 0x3015 #RIGHT TORTOISE SHELL BRACKET +0x816D 0xFF3B #FULLWIDTH LEFT SQUARE BRACKET +0x816E 0xFF3D #FULLWIDTH RIGHT SQUARE BRACKET +0x816F 0xFF5B #FULLWIDTH LEFT CURLY BRACKET +0x8170 0xFF5D #FULLWIDTH RIGHT CURLY BRACKET +0x8171 0x3008 #LEFT ANGLE BRACKET +0x8172 0x3009 #RIGHT ANGLE BRACKET +0x8173 0x300A #LEFT DOUBLE ANGLE BRACKET +0x8174 0x300B #RIGHT DOUBLE ANGLE BRACKET +0x8175 0x300C #LEFT CORNER BRACKET +0x8176 0x300D #RIGHT CORNER BRACKET +0x8177 0x300E #LEFT WHITE CORNER BRACKET +0x8178 0x300F #RIGHT WHITE CORNER BRACKET +0x8179 0x3010 #LEFT BLACK LENTICULAR BRACKET +0x817A 0x3011 #RIGHT BLACK LENTICULAR BRACKET +0x817B 0xFF0B #FULLWIDTH PLUS SIGN +0x817C 0xFF0D #FULLWIDTH HYPHEN-MINUS +0x817D 0x00B1 #PLUS-MINUS SIGN +0x817E 0x00D7 #MULTIPLICATION SIGN +0x8180 0x00F7 #DIVISION SIGN +0x8181 0xFF1D #FULLWIDTH EQUALS SIGN +0x8182 0x2260 #NOT EQUAL TO +0x8183 0xFF1C #FULLWIDTH LESS-THAN SIGN +0x8184 0xFF1E #FULLWIDTH GREATER-THAN SIGN +0x8185 0x2266 #LESS-THAN OVER EQUAL TO +0x8186 0x2267 #GREATER-THAN OVER EQUAL TO +0x8187 0x221E #INFINITY +0x8188 0x2234 #THEREFORE +0x8189 0x2642 #MALE SIGN +0x818A 0x2640 #FEMALE SIGN +0x818B 0x00B0 #DEGREE SIGN +0x818C 0x2032 #PRIME +0x818D 0x2033 #DOUBLE PRIME +0x818E 0x2103 #DEGREE CELSIUS +0x818F 0xFFE5 #FULLWIDTH YEN SIGN +0x8190 0xFF04 #FULLWIDTH DOLLAR SIGN +0x8191 0xFFE0 #FULLWIDTH CENT SIGN +0x8192 0xFFE1 #FULLWIDTH POUND SIGN +0x8193 0xFF05 #FULLWIDTH PERCENT SIGN +0x8194 0xFF03 #FULLWIDTH NUMBER SIGN +0x8195 0xFF06 #FULLWIDTH AMPERSAND +0x8196 0xFF0A #FULLWIDTH ASTERISK +0x8197 0xFF20 #FULLWIDTH COMMERCIAL AT +0x8198 0x00A7 #SECTION SIGN +0x8199 0x2606 #WHITE STAR +0x819A 0x2605 #BLACK STAR +0x819B 0x25CB #WHITE CIRCLE +0x819C 0x25CF #BLACK CIRCLE +0x819D 0x25CE #BULLSEYE +0x819E 0x25C7 #WHITE DIAMOND +0x819F 0x25C6 #BLACK DIAMOND +0x81A0 0x25A1 #WHITE SQUARE +0x81A1 0x25A0 #BLACK SQUARE +0x81A2 0x25B3 #WHITE UP-POINTING TRIANGLE +0x81A3 0x25B2 #BLACK UP-POINTING TRIANGLE +0x81A4 0x25BD #WHITE DOWN-POINTING TRIANGLE +0x81A5 0x25BC #BLACK DOWN-POINTING TRIANGLE +0x81A6 0x203B #REFERENCE MARK +0x81A7 0x3012 #POSTAL MARK +0x81A8 0x2192 #RIGHTWARDS ARROW +0x81A9 0x2190 #LEFTWARDS ARROW +0x81AA 0x2191 #UPWARDS ARROW +0x81AB 0x2193 #DOWNWARDS ARROW +0x81AC 0x3013 #GETA MARK +0x81B8 0x2208 #ELEMENT OF +0x81B9 0x220B #CONTAINS AS MEMBER +0x81BA 0x2286 #SUBSET OF OR EQUAL TO +0x81BB 0x2287 #SUPERSET OF OR EQUAL TO +0x81BC 0x2282 #SUBSET OF +0x81BD 0x2283 #SUPERSET OF +0x81BE 0x222A #UNION +0x81BF 0x2229 #INTERSECTION +0x81C8 0x2227 #LOGICAL AND +0x81C9 0x2228 #LOGICAL OR +0x81CA 0xFFE2 #FULLWIDTH NOT SIGN +0x81CB 0x21D2 #RIGHTWARDS DOUBLE ARROW +0x81CC 0x21D4 #LEFT RIGHT DOUBLE ARROW +0x81CD 0x2200 #FOR ALL +0x81CE 0x2203 #THERE EXISTS +0x81DA 0x2220 #ANGLE +0x81DB 0x22A5 #UP TACK +0x81DC 0x2312 #ARC +0x81DD 0x2202 #PARTIAL DIFFERENTIAL +0x81DE 0x2207 #NABLA +0x81DF 0x2261 #IDENTICAL TO +0x81E0 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x81E1 0x226A #MUCH LESS-THAN +0x81E2 0x226B #MUCH GREATER-THAN +0x81E3 0x221A #SQUARE ROOT +0x81E4 0x223D #REVERSED TILDE +0x81E5 0x221D #PROPORTIONAL TO +0x81E6 0x2235 #BECAUSE +0x81E7 0x222B #INTEGRAL +0x81E8 0x222C #DOUBLE INTEGRAL +0x81F0 0x212B #ANGSTROM SIGN +0x81F1 0x2030 #PER MILLE SIGN +0x81F2 0x266F #MUSIC SHARP SIGN +0x81F3 0x266D #MUSIC FLAT SIGN +0x81F4 0x266A #EIGHTH NOTE +0x81F5 0x2020 #DAGGER +0x81F6 0x2021 #DOUBLE DAGGER +0x81F7 0x00B6 #PILCROW SIGN +0x81FC 0x25EF #LARGE CIRCLE +0x824F 0xFF10 #FULLWIDTH DIGIT ZERO +0x8250 0xFF11 #FULLWIDTH DIGIT ONE +0x8251 0xFF12 #FULLWIDTH DIGIT TWO +0x8252 0xFF13 #FULLWIDTH DIGIT THREE +0x8253 0xFF14 #FULLWIDTH DIGIT FOUR +0x8254 0xFF15 #FULLWIDTH DIGIT FIVE +0x8255 0xFF16 #FULLWIDTH DIGIT SIX +0x8256 0xFF17 #FULLWIDTH DIGIT SEVEN +0x8257 0xFF18 #FULLWIDTH DIGIT EIGHT +0x8258 0xFF19 #FULLWIDTH DIGIT NINE +0x8260 0xFF21 #FULLWIDTH LATIN CAPITAL LETTER A +0x8261 0xFF22 #FULLWIDTH LATIN CAPITAL LETTER B +0x8262 0xFF23 #FULLWIDTH LATIN CAPITAL LETTER C +0x8263 0xFF24 #FULLWIDTH LATIN CAPITAL LETTER D +0x8264 0xFF25 #FULLWIDTH LATIN CAPITAL LETTER E +0x8265 0xFF26 #FULLWIDTH LATIN CAPITAL LETTER F +0x8266 0xFF27 #FULLWIDTH LATIN CAPITAL LETTER G +0x8267 0xFF28 #FULLWIDTH LATIN CAPITAL LETTER H +0x8268 0xFF29 #FULLWIDTH LATIN CAPITAL LETTER I +0x8269 0xFF2A #FULLWIDTH LATIN CAPITAL LETTER J +0x826A 0xFF2B #FULLWIDTH LATIN CAPITAL LETTER K +0x826B 0xFF2C #FULLWIDTH LATIN CAPITAL LETTER L +0x826C 0xFF2D #FULLWIDTH LATIN CAPITAL LETTER M +0x826D 0xFF2E #FULLWIDTH LATIN CAPITAL LETTER N +0x826E 0xFF2F #FULLWIDTH LATIN CAPITAL LETTER O +0x826F 0xFF30 #FULLWIDTH LATIN CAPITAL LETTER P +0x8270 0xFF31 #FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 0xFF32 #FULLWIDTH LATIN CAPITAL LETTER R +0x8272 0xFF33 #FULLWIDTH LATIN CAPITAL LETTER S +0x8273 0xFF34 #FULLWIDTH LATIN CAPITAL LETTER T +0x8274 0xFF35 #FULLWIDTH LATIN CAPITAL LETTER U +0x8275 0xFF36 #FULLWIDTH LATIN CAPITAL LETTER V +0x8276 0xFF37 #FULLWIDTH LATIN CAPITAL LETTER W +0x8277 0xFF38 #FULLWIDTH LATIN CAPITAL LETTER X +0x8278 0xFF39 #FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 0xFF3A #FULLWIDTH LATIN CAPITAL LETTER Z +0x8281 0xFF41 #FULLWIDTH LATIN SMALL LETTER A +0x8282 0xFF42 #FULLWIDTH LATIN SMALL LETTER B +0x8283 0xFF43 #FULLWIDTH LATIN SMALL LETTER C +0x8284 0xFF44 #FULLWIDTH LATIN SMALL LETTER D +0x8285 0xFF45 #FULLWIDTH LATIN SMALL LETTER E +0x8286 0xFF46 #FULLWIDTH LATIN SMALL LETTER F +0x8287 0xFF47 #FULLWIDTH LATIN SMALL LETTER G +0x8288 0xFF48 #FULLWIDTH LATIN SMALL LETTER H +0x8289 0xFF49 #FULLWIDTH LATIN SMALL LETTER I +0x828A 0xFF4A #FULLWIDTH LATIN SMALL LETTER J +0x828B 0xFF4B #FULLWIDTH LATIN SMALL LETTER K +0x828C 0xFF4C #FULLWIDTH LATIN SMALL LETTER L +0x828D 0xFF4D #FULLWIDTH LATIN SMALL LETTER M +0x828E 0xFF4E #FULLWIDTH LATIN SMALL LETTER N +0x828F 0xFF4F #FULLWIDTH LATIN SMALL LETTER O +0x8290 0xFF50 #FULLWIDTH LATIN SMALL LETTER P +0x8291 0xFF51 #FULLWIDTH LATIN SMALL LETTER Q +0x8292 0xFF52 #FULLWIDTH LATIN SMALL LETTER R +0x8293 0xFF53 #FULLWIDTH LATIN SMALL LETTER S +0x8294 0xFF54 #FULLWIDTH LATIN SMALL LETTER T +0x8295 0xFF55 #FULLWIDTH LATIN SMALL LETTER U +0x8296 0xFF56 #FULLWIDTH LATIN SMALL LETTER V +0x8297 0xFF57 #FULLWIDTH LATIN SMALL LETTER W +0x8298 0xFF58 #FULLWIDTH LATIN SMALL LETTER X +0x8299 0xFF59 #FULLWIDTH LATIN SMALL LETTER Y +0x829A 0xFF5A #FULLWIDTH LATIN SMALL LETTER Z +0x829F 0x3041 #HIRAGANA LETTER SMALL A +0x82A0 0x3042 #HIRAGANA LETTER A +0x82A1 0x3043 #HIRAGANA LETTER SMALL I +0x82A2 0x3044 #HIRAGANA LETTER I +0x82A3 0x3045 #HIRAGANA LETTER SMALL U +0x82A4 0x3046 #HIRAGANA LETTER U +0x82A5 0x3047 #HIRAGANA LETTER SMALL E +0x82A6 0x3048 #HIRAGANA LETTER E +0x82A7 0x3049 #HIRAGANA LETTER SMALL O +0x82A8 0x304A #HIRAGANA LETTER O +0x82A9 0x304B #HIRAGANA LETTER KA +0x82AA 0x304C #HIRAGANA LETTER GA +0x82AB 0x304D #HIRAGANA LETTER KI +0x82AC 0x304E #HIRAGANA LETTER GI +0x82AD 0x304F #HIRAGANA LETTER KU +0x82AE 0x3050 #HIRAGANA LETTER GU +0x82AF 0x3051 #HIRAGANA LETTER KE +0x82B0 0x3052 #HIRAGANA LETTER GE +0x82B1 0x3053 #HIRAGANA LETTER KO +0x82B2 0x3054 #HIRAGANA LETTER GO +0x82B3 0x3055 #HIRAGANA LETTER SA +0x82B4 0x3056 #HIRAGANA LETTER ZA +0x82B5 0x3057 #HIRAGANA LETTER SI +0x82B6 0x3058 #HIRAGANA LETTER ZI +0x82B7 0x3059 #HIRAGANA LETTER SU +0x82B8 0x305A #HIRAGANA LETTER ZU +0x82B9 0x305B #HIRAGANA LETTER SE +0x82BA 0x305C #HIRAGANA LETTER ZE +0x82BB 0x305D #HIRAGANA LETTER SO +0x82BC 0x305E #HIRAGANA LETTER ZO +0x82BD 0x305F #HIRAGANA LETTER TA +0x82BE 0x3060 #HIRAGANA LETTER DA +0x82BF 0x3061 #HIRAGANA LETTER TI +0x82C0 0x3062 #HIRAGANA LETTER DI +0x82C1 0x3063 #HIRAGANA LETTER SMALL TU +0x82C2 0x3064 #HIRAGANA LETTER TU +0x82C3 0x3065 #HIRAGANA LETTER DU +0x82C4 0x3066 #HIRAGANA LETTER TE +0x82C5 0x3067 #HIRAGANA LETTER DE +0x82C6 0x3068 #HIRAGANA LETTER TO +0x82C7 0x3069 #HIRAGANA LETTER DO +0x82C8 0x306A #HIRAGANA LETTER NA +0x82C9 0x306B #HIRAGANA LETTER NI +0x82CA 0x306C #HIRAGANA LETTER NU +0x82CB 0x306D #HIRAGANA LETTER NE +0x82CC 0x306E #HIRAGANA LETTER NO +0x82CD 0x306F #HIRAGANA LETTER HA +0x82CE 0x3070 #HIRAGANA LETTER BA +0x82CF 0x3071 #HIRAGANA LETTER PA +0x82D0 0x3072 #HIRAGANA LETTER HI +0x82D1 0x3073 #HIRAGANA LETTER BI +0x82D2 0x3074 #HIRAGANA LETTER PI +0x82D3 0x3075 #HIRAGANA LETTER HU +0x82D4 0x3076 #HIRAGANA LETTER BU +0x82D5 0x3077 #HIRAGANA LETTER PU +0x82D6 0x3078 #HIRAGANA LETTER HE +0x82D7 0x3079 #HIRAGANA LETTER BE +0x82D8 0x307A #HIRAGANA LETTER PE +0x82D9 0x307B #HIRAGANA LETTER HO +0x82DA 0x307C #HIRAGANA LETTER BO +0x82DB 0x307D #HIRAGANA LETTER PO +0x82DC 0x307E #HIRAGANA LETTER MA +0x82DD 0x307F #HIRAGANA LETTER MI +0x82DE 0x3080 #HIRAGANA LETTER MU +0x82DF 0x3081 #HIRAGANA LETTER ME +0x82E0 0x3082 #HIRAGANA LETTER MO +0x82E1 0x3083 #HIRAGANA LETTER SMALL YA +0x82E2 0x3084 #HIRAGANA LETTER YA +0x82E3 0x3085 #HIRAGANA LETTER SMALL YU +0x82E4 0x3086 #HIRAGANA LETTER YU +0x82E5 0x3087 #HIRAGANA LETTER SMALL YO +0x82E6 0x3088 #HIRAGANA LETTER YO +0x82E7 0x3089 #HIRAGANA LETTER RA +0x82E8 0x308A #HIRAGANA LETTER RI +0x82E9 0x308B #HIRAGANA LETTER RU +0x82EA 0x308C #HIRAGANA LETTER RE +0x82EB 0x308D #HIRAGANA LETTER RO +0x82EC 0x308E #HIRAGANA LETTER SMALL WA +0x82ED 0x308F #HIRAGANA LETTER WA +0x82EE 0x3090 #HIRAGANA LETTER WI +0x82EF 0x3091 #HIRAGANA LETTER WE +0x82F0 0x3092 #HIRAGANA LETTER WO +0x82F1 0x3093 #HIRAGANA LETTER N +0x8340 0x30A1 #KATAKANA LETTER SMALL A +0x8341 0x30A2 #KATAKANA LETTER A +0x8342 0x30A3 #KATAKANA LETTER SMALL I +0x8343 0x30A4 #KATAKANA LETTER I +0x8344 0x30A5 #KATAKANA LETTER SMALL U +0x8345 0x30A6 #KATAKANA LETTER U +0x8346 0x30A7 #KATAKANA LETTER SMALL E +0x8347 0x30A8 #KATAKANA LETTER E +0x8348 0x30A9 #KATAKANA LETTER SMALL O +0x8349 0x30AA #KATAKANA LETTER O +0x834A 0x30AB #KATAKANA LETTER KA +0x834B 0x30AC #KATAKANA LETTER GA +0x834C 0x30AD #KATAKANA LETTER KI +0x834D 0x30AE #KATAKANA LETTER GI +0x834E 0x30AF #KATAKANA LETTER KU +0x834F 0x30B0 #KATAKANA LETTER GU +0x8350 0x30B1 #KATAKANA LETTER KE +0x8351 0x30B2 #KATAKANA LETTER GE +0x8352 0x30B3 #KATAKANA LETTER KO +0x8353 0x30B4 #KATAKANA LETTER GO +0x8354 0x30B5 #KATAKANA LETTER SA +0x8355 0x30B6 #KATAKANA LETTER ZA +0x8356 0x30B7 #KATAKANA LETTER SI +0x8357 0x30B8 #KATAKANA LETTER ZI +0x8358 0x30B9 #KATAKANA LETTER SU +0x8359 0x30BA #KATAKANA LETTER ZU +0x835A 0x30BB #KATAKANA LETTER SE +0x835B 0x30BC #KATAKANA LETTER ZE +0x835C 0x30BD #KATAKANA LETTER SO +0x835D 0x30BE #KATAKANA LETTER ZO +0x835E 0x30BF #KATAKANA LETTER TA +0x835F 0x30C0 #KATAKANA LETTER DA +0x8360 0x30C1 #KATAKANA LETTER TI +0x8361 0x30C2 #KATAKANA LETTER DI +0x8362 0x30C3 #KATAKANA LETTER SMALL TU +0x8363 0x30C4 #KATAKANA LETTER TU +0x8364 0x30C5 #KATAKANA LETTER DU +0x8365 0x30C6 #KATAKANA LETTER TE +0x8366 0x30C7 #KATAKANA LETTER DE +0x8367 0x30C8 #KATAKANA LETTER TO +0x8368 0x30C9 #KATAKANA LETTER DO +0x8369 0x30CA #KATAKANA LETTER NA +0x836A 0x30CB #KATAKANA LETTER NI +0x836B 0x30CC #KATAKANA LETTER NU +0x836C 0x30CD #KATAKANA LETTER NE +0x836D 0x30CE #KATAKANA LETTER NO +0x836E 0x30CF #KATAKANA LETTER HA +0x836F 0x30D0 #KATAKANA LETTER BA +0x8370 0x30D1 #KATAKANA LETTER PA +0x8371 0x30D2 #KATAKANA LETTER HI +0x8372 0x30D3 #KATAKANA LETTER BI +0x8373 0x30D4 #KATAKANA LETTER PI +0x8374 0x30D5 #KATAKANA LETTER HU +0x8375 0x30D6 #KATAKANA LETTER BU +0x8376 0x30D7 #KATAKANA LETTER PU +0x8377 0x30D8 #KATAKANA LETTER HE +0x8378 0x30D9 #KATAKANA LETTER BE +0x8379 0x30DA #KATAKANA LETTER PE +0x837A 0x30DB #KATAKANA LETTER HO +0x837B 0x30DC #KATAKANA LETTER BO +0x837C 0x30DD #KATAKANA LETTER PO +0x837D 0x30DE #KATAKANA LETTER MA +0x837E 0x30DF #KATAKANA LETTER MI +0x8380 0x30E0 #KATAKANA LETTER MU +0x8381 0x30E1 #KATAKANA LETTER ME +0x8382 0x30E2 #KATAKANA LETTER MO +0x8383 0x30E3 #KATAKANA LETTER SMALL YA +0x8384 0x30E4 #KATAKANA LETTER YA +0x8385 0x30E5 #KATAKANA LETTER SMALL YU +0x8386 0x30E6 #KATAKANA LETTER YU +0x8387 0x30E7 #KATAKANA LETTER SMALL YO +0x8388 0x30E8 #KATAKANA LETTER YO +0x8389 0x30E9 #KATAKANA LETTER RA +0x838A 0x30EA #KATAKANA LETTER RI +0x838B 0x30EB #KATAKANA LETTER RU +0x838C 0x30EC #KATAKANA LETTER RE +0x838D 0x30ED #KATAKANA LETTER RO +0x838E 0x30EE #KATAKANA LETTER SMALL WA +0x838F 0x30EF #KATAKANA LETTER WA +0x8390 0x30F0 #KATAKANA LETTER WI +0x8391 0x30F1 #KATAKANA LETTER WE +0x8392 0x30F2 #KATAKANA LETTER WO +0x8393 0x30F3 #KATAKANA LETTER N +0x8394 0x30F4 #KATAKANA LETTER VU +0x8395 0x30F5 #KATAKANA LETTER SMALL KA +0x8396 0x30F6 #KATAKANA LETTER SMALL KE +0x839F 0x0391 #GREEK CAPITAL LETTER ALPHA +0x83A0 0x0392 #GREEK CAPITAL LETTER BETA +0x83A1 0x0393 #GREEK CAPITAL LETTER GAMMA +0x83A2 0x0394 #GREEK CAPITAL LETTER DELTA +0x83A3 0x0395 #GREEK CAPITAL LETTER EPSILON +0x83A4 0x0396 #GREEK CAPITAL LETTER ZETA +0x83A5 0x0397 #GREEK CAPITAL LETTER ETA +0x83A6 0x0398 #GREEK CAPITAL LETTER THETA +0x83A7 0x0399 #GREEK CAPITAL LETTER IOTA +0x83A8 0x039A #GREEK CAPITAL LETTER KAPPA +0x83A9 0x039B #GREEK CAPITAL LETTER LAMDA +0x83AA 0x039C #GREEK CAPITAL LETTER MU +0x83AB 0x039D #GREEK CAPITAL LETTER NU +0x83AC 0x039E #GREEK CAPITAL LETTER XI +0x83AD 0x039F #GREEK CAPITAL LETTER OMICRON +0x83AE 0x03A0 #GREEK CAPITAL LETTER PI +0x83AF 0x03A1 #GREEK CAPITAL LETTER RHO +0x83B0 0x03A3 #GREEK CAPITAL LETTER SIGMA +0x83B1 0x03A4 #GREEK CAPITAL LETTER TAU +0x83B2 0x03A5 #GREEK CAPITAL LETTER UPSILON +0x83B3 0x03A6 #GREEK CAPITAL LETTER PHI +0x83B4 0x03A7 #GREEK CAPITAL LETTER CHI +0x83B5 0x03A8 #GREEK CAPITAL LETTER PSI +0x83B6 0x03A9 #GREEK CAPITAL LETTER OMEGA +0x83BF 0x03B1 #GREEK SMALL LETTER ALPHA +0x83C0 0x03B2 #GREEK SMALL LETTER BETA +0x83C1 0x03B3 #GREEK SMALL LETTER GAMMA +0x83C2 0x03B4 #GREEK SMALL LETTER DELTA +0x83C3 0x03B5 #GREEK SMALL LETTER EPSILON +0x83C4 0x03B6 #GREEK SMALL LETTER ZETA +0x83C5 0x03B7 #GREEK SMALL LETTER ETA +0x83C6 0x03B8 #GREEK SMALL LETTER THETA +0x83C7 0x03B9 #GREEK SMALL LETTER IOTA +0x83C8 0x03BA #GREEK SMALL LETTER KAPPA +0x83C9 0x03BB #GREEK SMALL LETTER LAMDA +0x83CA 0x03BC #GREEK SMALL LETTER MU +0x83CB 0x03BD #GREEK SMALL LETTER NU +0x83CC 0x03BE #GREEK SMALL LETTER XI +0x83CD 0x03BF #GREEK SMALL LETTER OMICRON +0x83CE 0x03C0 #GREEK SMALL LETTER PI +0x83CF 0x03C1 #GREEK SMALL LETTER RHO +0x83D0 0x03C3 #GREEK SMALL LETTER SIGMA +0x83D1 0x03C4 #GREEK SMALL LETTER TAU +0x83D2 0x03C5 #GREEK SMALL LETTER UPSILON +0x83D3 0x03C6 #GREEK SMALL LETTER PHI +0x83D4 0x03C7 #GREEK SMALL LETTER CHI +0x83D5 0x03C8 #GREEK SMALL LETTER PSI +0x83D6 0x03C9 #GREEK SMALL LETTER OMEGA +0x8440 0x0410 #CYRILLIC CAPITAL LETTER A +0x8441 0x0411 #CYRILLIC CAPITAL LETTER BE +0x8442 0x0412 #CYRILLIC CAPITAL LETTER VE +0x8443 0x0413 #CYRILLIC CAPITAL LETTER GHE +0x8444 0x0414 #CYRILLIC CAPITAL LETTER DE +0x8445 0x0415 #CYRILLIC CAPITAL LETTER IE +0x8446 0x0401 #CYRILLIC CAPITAL LETTER IO +0x8447 0x0416 #CYRILLIC CAPITAL LETTER ZHE +0x8448 0x0417 #CYRILLIC CAPITAL LETTER ZE +0x8449 0x0418 #CYRILLIC CAPITAL LETTER I +0x844A 0x0419 #CYRILLIC CAPITAL LETTER SHORT I +0x844B 0x041A #CYRILLIC CAPITAL LETTER KA +0x844C 0x041B #CYRILLIC CAPITAL LETTER EL +0x844D 0x041C #CYRILLIC CAPITAL LETTER EM +0x844E 0x041D #CYRILLIC CAPITAL LETTER EN +0x844F 0x041E #CYRILLIC CAPITAL LETTER O +0x8450 0x041F #CYRILLIC CAPITAL LETTER PE +0x8451 0x0420 #CYRILLIC CAPITAL LETTER ER +0x8452 0x0421 #CYRILLIC CAPITAL LETTER ES +0x8453 0x0422 #CYRILLIC CAPITAL LETTER TE +0x8454 0x0423 #CYRILLIC CAPITAL LETTER U +0x8455 0x0424 #CYRILLIC CAPITAL LETTER EF +0x8456 0x0425 #CYRILLIC CAPITAL LETTER HA +0x8457 0x0426 #CYRILLIC CAPITAL LETTER TSE +0x8458 0x0427 #CYRILLIC CAPITAL LETTER CHE +0x8459 0x0428 #CYRILLIC CAPITAL LETTER SHA +0x845A 0x0429 #CYRILLIC CAPITAL LETTER SHCHA +0x845B 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN +0x845C 0x042B #CYRILLIC CAPITAL LETTER YERU +0x845D 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E 0x042D #CYRILLIC CAPITAL LETTER E +0x845F 0x042E #CYRILLIC CAPITAL LETTER YU +0x8460 0x042F #CYRILLIC CAPITAL LETTER YA +0x8470 0x0430 #CYRILLIC SMALL LETTER A +0x8471 0x0431 #CYRILLIC SMALL LETTER BE +0x8472 0x0432 #CYRILLIC SMALL LETTER VE +0x8473 0x0433 #CYRILLIC SMALL LETTER GHE +0x8474 0x0434 #CYRILLIC SMALL LETTER DE +0x8475 0x0435 #CYRILLIC SMALL LETTER IE +0x8476 0x0451 #CYRILLIC SMALL LETTER IO +0x8477 0x0436 #CYRILLIC SMALL LETTER ZHE +0x8478 0x0437 #CYRILLIC SMALL LETTER ZE +0x8479 0x0438 #CYRILLIC SMALL LETTER I +0x847A 0x0439 #CYRILLIC SMALL LETTER SHORT I +0x847B 0x043A #CYRILLIC SMALL LETTER KA +0x847C 0x043B #CYRILLIC SMALL LETTER EL +0x847D 0x043C #CYRILLIC SMALL LETTER EM +0x847E 0x043D #CYRILLIC SMALL LETTER EN +0x8480 0x043E #CYRILLIC SMALL LETTER O +0x8481 0x043F #CYRILLIC SMALL LETTER PE +0x8482 0x0440 #CYRILLIC SMALL LETTER ER +0x8483 0x0441 #CYRILLIC SMALL LETTER ES +0x8484 0x0442 #CYRILLIC SMALL LETTER TE +0x8485 0x0443 #CYRILLIC SMALL LETTER U +0x8486 0x0444 #CYRILLIC SMALL LETTER EF +0x8487 0x0445 #CYRILLIC SMALL LETTER HA +0x8488 0x0446 #CYRILLIC SMALL LETTER TSE +0x8489 0x0447 #CYRILLIC SMALL LETTER CHE +0x848A 0x0448 #CYRILLIC SMALL LETTER SHA +0x848B 0x0449 #CYRILLIC SMALL LETTER SHCHA +0x848C 0x044A #CYRILLIC SMALL LETTER HARD SIGN +0x848D 0x044B #CYRILLIC SMALL LETTER YERU +0x848E 0x044C #CYRILLIC SMALL LETTER SOFT SIGN +0x848F 0x044D #CYRILLIC SMALL LETTER E +0x8490 0x044E #CYRILLIC SMALL LETTER YU +0x8491 0x044F #CYRILLIC SMALL LETTER YA +0x849F 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0x84A0 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0x84A1 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT +0x84A2 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0x84A3 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0x84A4 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0x84A5 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x84A6 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x84A7 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x84A8 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x84A9 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x84AA 0x2501 #BOX DRAWINGS HEAVY HORIZONTAL +0x84AB 0x2503 #BOX DRAWINGS HEAVY VERTICAL +0x84AC 0x250F #BOX DRAWINGS HEAVY DOWN AND RIGHT +0x84AD 0x2513 #BOX DRAWINGS HEAVY DOWN AND LEFT +0x84AE 0x251B #BOX DRAWINGS HEAVY UP AND LEFT +0x84AF 0x2517 #BOX DRAWINGS HEAVY UP AND RIGHT +0x84B0 0x2523 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT +0x84B1 0x2533 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL +0x84B2 0x252B #BOX DRAWINGS HEAVY VERTICAL AND LEFT +0x84B3 0x253B #BOX DRAWINGS HEAVY UP AND HORIZONTAL +0x84B4 0x254B #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +0x84B5 0x2520 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT +0x84B6 0x252F #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY +0x84B7 0x2528 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT +0x84B8 0x2537 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY +0x84B9 0x253F #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY +0x84BA 0x251D #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY +0x84BB 0x2530 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT +0x84BC 0x2525 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY +0x84BD 0x2538 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT +0x84BE 0x2542 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT +0x8740 0x2460 #CIRCLED DIGIT ONE +0x8741 0x2461 #CIRCLED DIGIT TWO +0x8742 0x2462 #CIRCLED DIGIT THREE +0x8743 0x2463 #CIRCLED DIGIT FOUR +0x8744 0x2464 #CIRCLED DIGIT FIVE +0x8745 0x2465 #CIRCLED DIGIT SIX +0x8746 0x2466 #CIRCLED DIGIT SEVEN +0x8747 0x2467 #CIRCLED DIGIT EIGHT +0x8748 0x2468 #CIRCLED DIGIT NINE +0x8749 0x2469 #CIRCLED NUMBER TEN +0x874A 0x246A #CIRCLED NUMBER ELEVEN +0x874B 0x246B #CIRCLED NUMBER TWELVE +0x874C 0x246C #CIRCLED NUMBER THIRTEEN +0x874D 0x246D #CIRCLED NUMBER FOURTEEN +0x874E 0x246E #CIRCLED NUMBER FIFTEEN +0x874F 0x246F #CIRCLED NUMBER SIXTEEN +0x8750 0x2470 #CIRCLED NUMBER SEVENTEEN +0x8751 0x2471 #CIRCLED NUMBER EIGHTEEN +0x8752 0x2472 #CIRCLED NUMBER NINETEEN +0x8753 0x2473 #CIRCLED NUMBER TWENTY +0x8754 0x2160 #ROMAN NUMERAL ONE +0x8755 0x2161 #ROMAN NUMERAL TWO +0x8756 0x2162 #ROMAN NUMERAL THREE +0x8757 0x2163 #ROMAN NUMERAL FOUR +0x8758 0x2164 #ROMAN NUMERAL FIVE +0x8759 0x2165 #ROMAN NUMERAL SIX +0x875A 0x2166 #ROMAN NUMERAL SEVEN +0x875B 0x2167 #ROMAN NUMERAL EIGHT +0x875C 0x2168 #ROMAN NUMERAL NINE +0x875D 0x2169 #ROMAN NUMERAL TEN +0x875F 0x3349 #SQUARE MIRI +0x8760 0x3314 #SQUARE KIRO +0x8761 0x3322 #SQUARE SENTI +0x8762 0x334D #SQUARE MEETORU +0x8763 0x3318 #SQUARE GURAMU +0x8764 0x3327 #SQUARE TON +0x8765 0x3303 #SQUARE AARU +0x8766 0x3336 #SQUARE HEKUTAARU +0x8767 0x3351 #SQUARE RITTORU +0x8768 0x3357 #SQUARE WATTO +0x8769 0x330D #SQUARE KARORII +0x876A 0x3326 #SQUARE DORU +0x876B 0x3323 #SQUARE SENTO +0x876C 0x332B #SQUARE PAASENTO +0x876D 0x334A #SQUARE MIRIBAARU +0x876E 0x333B #SQUARE PEEZI +0x876F 0x339C #SQUARE MM +0x8770 0x339D #SQUARE CM +0x8771 0x339E #SQUARE KM +0x8772 0x338E #SQUARE MG +0x8773 0x338F #SQUARE KG +0x8774 0x33C4 #SQUARE CC +0x8775 0x33A1 #SQUARE M SQUARED +0x877E 0x337B #SQUARE ERA NAME HEISEI +0x8780 0x301D #REVERSED DOUBLE PRIME QUOTATION MARK +0x8781 0x301F #LOW DOUBLE PRIME QUOTATION MARK +0x8782 0x2116 #NUMERO SIGN +0x8783 0x33CD #SQUARE KK +0x8784 0x2121 #TELEPHONE SIGN +0x8785 0x32A4 #CIRCLED IDEOGRAPH HIGH +0x8786 0x32A5 #CIRCLED IDEOGRAPH CENTRE +0x8787 0x32A6 #CIRCLED IDEOGRAPH LOW +0x8788 0x32A7 #CIRCLED IDEOGRAPH LEFT +0x8789 0x32A8 #CIRCLED IDEOGRAPH RIGHT +0x878A 0x3231 #PARENTHESIZED IDEOGRAPH STOCK +0x878B 0x3232 #PARENTHESIZED IDEOGRAPH HAVE +0x878C 0x3239 #PARENTHESIZED IDEOGRAPH REPRESENT +0x878D 0x337E #SQUARE ERA NAME MEIZI +0x878E 0x337D #SQUARE ERA NAME TAISYOU +0x878F 0x337C #SQUARE ERA NAME SYOUWA +0x8790 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x8791 0x2261 #IDENTICAL TO +0x8792 0x222B #INTEGRAL +0x8793 0x222E #CONTOUR INTEGRAL +0x8794 0x2211 #N-ARY SUMMATION +0x8795 0x221A #SQUARE ROOT +0x8796 0x22A5 #UP TACK +0x8797 0x2220 #ANGLE +0x8798 0x221F #RIGHT ANGLE +0x8799 0x22BF #RIGHT TRIANGLE +0x879A 0x2235 #BECAUSE +0x879B 0x2229 #INTERSECTION +0x879C 0x222A #UNION +0x889F 0x4E9C #CJK UNIFIED IDEOGRAPH +0x88A0 0x5516 #CJK UNIFIED IDEOGRAPH +0x88A1 0x5A03 #CJK UNIFIED IDEOGRAPH +0x88A2 0x963F #CJK UNIFIED IDEOGRAPH +0x88A3 0x54C0 #CJK UNIFIED IDEOGRAPH +0x88A4 0x611B #CJK UNIFIED IDEOGRAPH +0x88A5 0x6328 #CJK UNIFIED IDEOGRAPH +0x88A6 0x59F6 #CJK UNIFIED IDEOGRAPH +0x88A7 0x9022 #CJK UNIFIED IDEOGRAPH +0x88A8 0x8475 #CJK UNIFIED IDEOGRAPH +0x88A9 0x831C #CJK UNIFIED IDEOGRAPH +0x88AA 0x7A50 #CJK UNIFIED IDEOGRAPH +0x88AB 0x60AA #CJK UNIFIED IDEOGRAPH +0x88AC 0x63E1 #CJK UNIFIED IDEOGRAPH +0x88AD 0x6E25 #CJK UNIFIED IDEOGRAPH +0x88AE 0x65ED #CJK UNIFIED IDEOGRAPH +0x88AF 0x8466 #CJK UNIFIED IDEOGRAPH +0x88B0 0x82A6 #CJK UNIFIED IDEOGRAPH +0x88B1 0x9BF5 #CJK UNIFIED IDEOGRAPH +0x88B2 0x6893 #CJK UNIFIED IDEOGRAPH +0x88B3 0x5727 #CJK UNIFIED IDEOGRAPH +0x88B4 0x65A1 #CJK UNIFIED IDEOGRAPH +0x88B5 0x6271 #CJK UNIFIED IDEOGRAPH +0x88B6 0x5B9B #CJK UNIFIED IDEOGRAPH +0x88B7 0x59D0 #CJK UNIFIED IDEOGRAPH +0x88B8 0x867B #CJK UNIFIED IDEOGRAPH +0x88B9 0x98F4 #CJK UNIFIED IDEOGRAPH +0x88BA 0x7D62 #CJK UNIFIED IDEOGRAPH +0x88BB 0x7DBE #CJK UNIFIED IDEOGRAPH +0x88BC 0x9B8E #CJK UNIFIED IDEOGRAPH +0x88BD 0x6216 #CJK UNIFIED IDEOGRAPH +0x88BE 0x7C9F #CJK UNIFIED IDEOGRAPH +0x88BF 0x88B7 #CJK UNIFIED IDEOGRAPH +0x88C0 0x5B89 #CJK UNIFIED IDEOGRAPH +0x88C1 0x5EB5 #CJK UNIFIED IDEOGRAPH +0x88C2 0x6309 #CJK UNIFIED IDEOGRAPH +0x88C3 0x6697 #CJK UNIFIED IDEOGRAPH +0x88C4 0x6848 #CJK UNIFIED IDEOGRAPH +0x88C5 0x95C7 #CJK UNIFIED IDEOGRAPH +0x88C6 0x978D #CJK UNIFIED IDEOGRAPH +0x88C7 0x674F #CJK UNIFIED IDEOGRAPH +0x88C8 0x4EE5 #CJK UNIFIED IDEOGRAPH +0x88C9 0x4F0A #CJK UNIFIED IDEOGRAPH +0x88CA 0x4F4D #CJK UNIFIED IDEOGRAPH +0x88CB 0x4F9D #CJK UNIFIED IDEOGRAPH +0x88CC 0x5049 #CJK UNIFIED IDEOGRAPH +0x88CD 0x56F2 #CJK UNIFIED IDEOGRAPH +0x88CE 0x5937 #CJK UNIFIED IDEOGRAPH +0x88CF 0x59D4 #CJK UNIFIED IDEOGRAPH +0x88D0 0x5A01 #CJK UNIFIED IDEOGRAPH +0x88D1 0x5C09 #CJK UNIFIED IDEOGRAPH +0x88D2 0x60DF #CJK UNIFIED IDEOGRAPH +0x88D3 0x610F #CJK UNIFIED IDEOGRAPH +0x88D4 0x6170 #CJK UNIFIED IDEOGRAPH +0x88D5 0x6613 #CJK UNIFIED IDEOGRAPH +0x88D6 0x6905 #CJK UNIFIED IDEOGRAPH +0x88D7 0x70BA #CJK UNIFIED IDEOGRAPH +0x88D8 0x754F #CJK UNIFIED IDEOGRAPH +0x88D9 0x7570 #CJK UNIFIED IDEOGRAPH +0x88DA 0x79FB #CJK UNIFIED IDEOGRAPH +0x88DB 0x7DAD #CJK UNIFIED IDEOGRAPH +0x88DC 0x7DEF #CJK UNIFIED IDEOGRAPH +0x88DD 0x80C3 #CJK UNIFIED IDEOGRAPH +0x88DE 0x840E #CJK UNIFIED IDEOGRAPH +0x88DF 0x8863 #CJK UNIFIED IDEOGRAPH +0x88E0 0x8B02 #CJK UNIFIED IDEOGRAPH +0x88E1 0x9055 #CJK UNIFIED IDEOGRAPH +0x88E2 0x907A #CJK UNIFIED IDEOGRAPH +0x88E3 0x533B #CJK UNIFIED IDEOGRAPH +0x88E4 0x4E95 #CJK UNIFIED IDEOGRAPH +0x88E5 0x4EA5 #CJK UNIFIED IDEOGRAPH +0x88E6 0x57DF #CJK UNIFIED IDEOGRAPH +0x88E7 0x80B2 #CJK UNIFIED IDEOGRAPH +0x88E8 0x90C1 #CJK UNIFIED IDEOGRAPH +0x88E9 0x78EF #CJK UNIFIED IDEOGRAPH +0x88EA 0x4E00 #CJK UNIFIED IDEOGRAPH +0x88EB 0x58F1 #CJK UNIFIED IDEOGRAPH +0x88EC 0x6EA2 #CJK UNIFIED IDEOGRAPH +0x88ED 0x9038 #CJK UNIFIED IDEOGRAPH +0x88EE 0x7A32 #CJK UNIFIED IDEOGRAPH +0x88EF 0x8328 #CJK UNIFIED IDEOGRAPH +0x88F0 0x828B #CJK UNIFIED IDEOGRAPH +0x88F1 0x9C2F #CJK UNIFIED IDEOGRAPH +0x88F2 0x5141 #CJK UNIFIED IDEOGRAPH +0x88F3 0x5370 #CJK UNIFIED IDEOGRAPH +0x88F4 0x54BD #CJK UNIFIED IDEOGRAPH +0x88F5 0x54E1 #CJK UNIFIED IDEOGRAPH +0x88F6 0x56E0 #CJK UNIFIED IDEOGRAPH +0x88F7 0x59FB #CJK UNIFIED IDEOGRAPH +0x88F8 0x5F15 #CJK UNIFIED IDEOGRAPH +0x88F9 0x98F2 #CJK UNIFIED IDEOGRAPH +0x88FA 0x6DEB #CJK UNIFIED IDEOGRAPH +0x88FB 0x80E4 #CJK UNIFIED IDEOGRAPH +0x88FC 0x852D #CJK UNIFIED IDEOGRAPH +0x8940 0x9662 #CJK UNIFIED IDEOGRAPH +0x8941 0x9670 #CJK UNIFIED IDEOGRAPH +0x8942 0x96A0 #CJK UNIFIED IDEOGRAPH +0x8943 0x97FB #CJK UNIFIED IDEOGRAPH +0x8944 0x540B #CJK UNIFIED IDEOGRAPH +0x8945 0x53F3 #CJK UNIFIED IDEOGRAPH +0x8946 0x5B87 #CJK UNIFIED IDEOGRAPH +0x8947 0x70CF #CJK UNIFIED IDEOGRAPH +0x8948 0x7FBD #CJK UNIFIED IDEOGRAPH +0x8949 0x8FC2 #CJK UNIFIED IDEOGRAPH +0x894A 0x96E8 #CJK UNIFIED IDEOGRAPH +0x894B 0x536F #CJK UNIFIED IDEOGRAPH +0x894C 0x9D5C #CJK UNIFIED IDEOGRAPH +0x894D 0x7ABA #CJK UNIFIED IDEOGRAPH +0x894E 0x4E11 #CJK UNIFIED IDEOGRAPH +0x894F 0x7893 #CJK UNIFIED IDEOGRAPH +0x8950 0x81FC #CJK UNIFIED IDEOGRAPH +0x8951 0x6E26 #CJK UNIFIED IDEOGRAPH +0x8952 0x5618 #CJK UNIFIED IDEOGRAPH +0x8953 0x5504 #CJK UNIFIED IDEOGRAPH +0x8954 0x6B1D #CJK UNIFIED IDEOGRAPH +0x8955 0x851A #CJK UNIFIED IDEOGRAPH +0x8956 0x9C3B #CJK UNIFIED IDEOGRAPH +0x8957 0x59E5 #CJK UNIFIED IDEOGRAPH +0x8958 0x53A9 #CJK UNIFIED IDEOGRAPH +0x8959 0x6D66 #CJK UNIFIED IDEOGRAPH +0x895A 0x74DC #CJK UNIFIED IDEOGRAPH +0x895B 0x958F #CJK UNIFIED IDEOGRAPH +0x895C 0x5642 #CJK UNIFIED IDEOGRAPH +0x895D 0x4E91 #CJK UNIFIED IDEOGRAPH +0x895E 0x904B #CJK UNIFIED IDEOGRAPH +0x895F 0x96F2 #CJK UNIFIED IDEOGRAPH +0x8960 0x834F #CJK UNIFIED IDEOGRAPH +0x8961 0x990C #CJK UNIFIED IDEOGRAPH +0x8962 0x53E1 #CJK UNIFIED IDEOGRAPH +0x8963 0x55B6 #CJK UNIFIED IDEOGRAPH +0x8964 0x5B30 #CJK UNIFIED IDEOGRAPH +0x8965 0x5F71 #CJK UNIFIED IDEOGRAPH +0x8966 0x6620 #CJK UNIFIED IDEOGRAPH +0x8967 0x66F3 #CJK UNIFIED IDEOGRAPH +0x8968 0x6804 #CJK UNIFIED IDEOGRAPH +0x8969 0x6C38 #CJK UNIFIED IDEOGRAPH +0x896A 0x6CF3 #CJK UNIFIED IDEOGRAPH +0x896B 0x6D29 #CJK UNIFIED IDEOGRAPH +0x896C 0x745B #CJK UNIFIED IDEOGRAPH +0x896D 0x76C8 #CJK UNIFIED IDEOGRAPH +0x896E 0x7A4E #CJK UNIFIED IDEOGRAPH +0x896F 0x9834 #CJK UNIFIED IDEOGRAPH +0x8970 0x82F1 #CJK UNIFIED IDEOGRAPH +0x8971 0x885B #CJK UNIFIED IDEOGRAPH +0x8972 0x8A60 #CJK UNIFIED IDEOGRAPH +0x8973 0x92ED #CJK UNIFIED IDEOGRAPH +0x8974 0x6DB2 #CJK UNIFIED IDEOGRAPH +0x8975 0x75AB #CJK UNIFIED IDEOGRAPH +0x8976 0x76CA #CJK UNIFIED IDEOGRAPH +0x8977 0x99C5 #CJK UNIFIED IDEOGRAPH +0x8978 0x60A6 #CJK UNIFIED IDEOGRAPH +0x8979 0x8B01 #CJK UNIFIED IDEOGRAPH +0x897A 0x8D8A #CJK UNIFIED IDEOGRAPH +0x897B 0x95B2 #CJK UNIFIED IDEOGRAPH +0x897C 0x698E #CJK UNIFIED IDEOGRAPH +0x897D 0x53AD #CJK UNIFIED IDEOGRAPH +0x897E 0x5186 #CJK UNIFIED IDEOGRAPH +0x8980 0x5712 #CJK UNIFIED IDEOGRAPH +0x8981 0x5830 #CJK UNIFIED IDEOGRAPH +0x8982 0x5944 #CJK UNIFIED IDEOGRAPH +0x8983 0x5BB4 #CJK UNIFIED IDEOGRAPH +0x8984 0x5EF6 #CJK UNIFIED IDEOGRAPH +0x8985 0x6028 #CJK UNIFIED IDEOGRAPH +0x8986 0x63A9 #CJK UNIFIED IDEOGRAPH +0x8987 0x63F4 #CJK UNIFIED IDEOGRAPH +0x8988 0x6CBF #CJK UNIFIED IDEOGRAPH +0x8989 0x6F14 #CJK UNIFIED IDEOGRAPH +0x898A 0x708E #CJK UNIFIED IDEOGRAPH +0x898B 0x7114 #CJK UNIFIED IDEOGRAPH +0x898C 0x7159 #CJK UNIFIED IDEOGRAPH +0x898D 0x71D5 #CJK UNIFIED IDEOGRAPH +0x898E 0x733F #CJK UNIFIED IDEOGRAPH +0x898F 0x7E01 #CJK UNIFIED IDEOGRAPH +0x8990 0x8276 #CJK UNIFIED IDEOGRAPH +0x8991 0x82D1 #CJK UNIFIED IDEOGRAPH +0x8992 0x8597 #CJK UNIFIED IDEOGRAPH +0x8993 0x9060 #CJK UNIFIED IDEOGRAPH +0x8994 0x925B #CJK UNIFIED IDEOGRAPH +0x8995 0x9D1B #CJK UNIFIED IDEOGRAPH +0x8996 0x5869 #CJK UNIFIED IDEOGRAPH +0x8997 0x65BC #CJK UNIFIED IDEOGRAPH +0x8998 0x6C5A #CJK UNIFIED IDEOGRAPH +0x8999 0x7525 #CJK UNIFIED IDEOGRAPH +0x899A 0x51F9 #CJK UNIFIED IDEOGRAPH +0x899B 0x592E #CJK UNIFIED IDEOGRAPH +0x899C 0x5965 #CJK UNIFIED IDEOGRAPH +0x899D 0x5F80 #CJK UNIFIED IDEOGRAPH +0x899E 0x5FDC #CJK UNIFIED IDEOGRAPH +0x899F 0x62BC #CJK UNIFIED IDEOGRAPH +0x89A0 0x65FA #CJK UNIFIED IDEOGRAPH +0x89A1 0x6A2A #CJK UNIFIED IDEOGRAPH +0x89A2 0x6B27 #CJK UNIFIED IDEOGRAPH +0x89A3 0x6BB4 #CJK UNIFIED IDEOGRAPH +0x89A4 0x738B #CJK UNIFIED IDEOGRAPH +0x89A5 0x7FC1 #CJK UNIFIED IDEOGRAPH +0x89A6 0x8956 #CJK UNIFIED IDEOGRAPH +0x89A7 0x9D2C #CJK UNIFIED IDEOGRAPH +0x89A8 0x9D0E #CJK UNIFIED IDEOGRAPH +0x89A9 0x9EC4 #CJK UNIFIED IDEOGRAPH +0x89AA 0x5CA1 #CJK UNIFIED IDEOGRAPH +0x89AB 0x6C96 #CJK UNIFIED IDEOGRAPH +0x89AC 0x837B #CJK UNIFIED IDEOGRAPH +0x89AD 0x5104 #CJK UNIFIED IDEOGRAPH +0x89AE 0x5C4B #CJK UNIFIED IDEOGRAPH +0x89AF 0x61B6 #CJK UNIFIED IDEOGRAPH +0x89B0 0x81C6 #CJK UNIFIED IDEOGRAPH +0x89B1 0x6876 #CJK UNIFIED IDEOGRAPH +0x89B2 0x7261 #CJK UNIFIED IDEOGRAPH +0x89B3 0x4E59 #CJK UNIFIED IDEOGRAPH +0x89B4 0x4FFA #CJK UNIFIED IDEOGRAPH +0x89B5 0x5378 #CJK UNIFIED IDEOGRAPH +0x89B6 0x6069 #CJK UNIFIED IDEOGRAPH +0x89B7 0x6E29 #CJK UNIFIED IDEOGRAPH +0x89B8 0x7A4F #CJK UNIFIED IDEOGRAPH +0x89B9 0x97F3 #CJK UNIFIED IDEOGRAPH +0x89BA 0x4E0B #CJK UNIFIED IDEOGRAPH +0x89BB 0x5316 #CJK UNIFIED IDEOGRAPH +0x89BC 0x4EEE #CJK UNIFIED IDEOGRAPH +0x89BD 0x4F55 #CJK UNIFIED IDEOGRAPH +0x89BE 0x4F3D #CJK UNIFIED IDEOGRAPH +0x89BF 0x4FA1 #CJK UNIFIED IDEOGRAPH +0x89C0 0x4F73 #CJK UNIFIED IDEOGRAPH +0x89C1 0x52A0 #CJK UNIFIED IDEOGRAPH +0x89C2 0x53EF #CJK UNIFIED IDEOGRAPH +0x89C3 0x5609 #CJK UNIFIED IDEOGRAPH +0x89C4 0x590F #CJK UNIFIED IDEOGRAPH +0x89C5 0x5AC1 #CJK UNIFIED IDEOGRAPH +0x89C6 0x5BB6 #CJK UNIFIED IDEOGRAPH +0x89C7 0x5BE1 #CJK UNIFIED IDEOGRAPH +0x89C8 0x79D1 #CJK UNIFIED IDEOGRAPH +0x89C9 0x6687 #CJK UNIFIED IDEOGRAPH +0x89CA 0x679C #CJK UNIFIED IDEOGRAPH +0x89CB 0x67B6 #CJK UNIFIED IDEOGRAPH +0x89CC 0x6B4C #CJK UNIFIED IDEOGRAPH +0x89CD 0x6CB3 #CJK UNIFIED IDEOGRAPH +0x89CE 0x706B #CJK UNIFIED IDEOGRAPH +0x89CF 0x73C2 #CJK UNIFIED IDEOGRAPH +0x89D0 0x798D #CJK UNIFIED IDEOGRAPH +0x89D1 0x79BE #CJK UNIFIED IDEOGRAPH +0x89D2 0x7A3C #CJK UNIFIED IDEOGRAPH +0x89D3 0x7B87 #CJK UNIFIED IDEOGRAPH +0x89D4 0x82B1 #CJK UNIFIED IDEOGRAPH +0x89D5 0x82DB #CJK UNIFIED IDEOGRAPH +0x89D6 0x8304 #CJK UNIFIED IDEOGRAPH +0x89D7 0x8377 #CJK UNIFIED IDEOGRAPH +0x89D8 0x83EF #CJK UNIFIED IDEOGRAPH +0x89D9 0x83D3 #CJK UNIFIED IDEOGRAPH +0x89DA 0x8766 #CJK UNIFIED IDEOGRAPH +0x89DB 0x8AB2 #CJK UNIFIED IDEOGRAPH +0x89DC 0x5629 #CJK UNIFIED IDEOGRAPH +0x89DD 0x8CA8 #CJK UNIFIED IDEOGRAPH +0x89DE 0x8FE6 #CJK UNIFIED IDEOGRAPH +0x89DF 0x904E #CJK UNIFIED IDEOGRAPH +0x89E0 0x971E #CJK UNIFIED IDEOGRAPH +0x89E1 0x868A #CJK UNIFIED IDEOGRAPH +0x89E2 0x4FC4 #CJK UNIFIED IDEOGRAPH +0x89E3 0x5CE8 #CJK UNIFIED IDEOGRAPH +0x89E4 0x6211 #CJK UNIFIED IDEOGRAPH +0x89E5 0x7259 #CJK UNIFIED IDEOGRAPH +0x89E6 0x753B #CJK UNIFIED IDEOGRAPH +0x89E7 0x81E5 #CJK UNIFIED IDEOGRAPH +0x89E8 0x82BD #CJK UNIFIED IDEOGRAPH +0x89E9 0x86FE #CJK UNIFIED IDEOGRAPH +0x89EA 0x8CC0 #CJK UNIFIED IDEOGRAPH +0x89EB 0x96C5 #CJK UNIFIED IDEOGRAPH +0x89EC 0x9913 #CJK UNIFIED IDEOGRAPH +0x89ED 0x99D5 #CJK UNIFIED IDEOGRAPH +0x89EE 0x4ECB #CJK UNIFIED IDEOGRAPH +0x89EF 0x4F1A #CJK UNIFIED IDEOGRAPH +0x89F0 0x89E3 #CJK UNIFIED IDEOGRAPH +0x89F1 0x56DE #CJK UNIFIED IDEOGRAPH +0x89F2 0x584A #CJK UNIFIED IDEOGRAPH +0x89F3 0x58CA #CJK UNIFIED IDEOGRAPH +0x89F4 0x5EFB #CJK UNIFIED IDEOGRAPH +0x89F5 0x5FEB #CJK UNIFIED IDEOGRAPH +0x89F6 0x602A #CJK UNIFIED IDEOGRAPH +0x89F7 0x6094 #CJK UNIFIED IDEOGRAPH +0x89F8 0x6062 #CJK UNIFIED IDEOGRAPH +0x89F9 0x61D0 #CJK UNIFIED IDEOGRAPH +0x89FA 0x6212 #CJK UNIFIED IDEOGRAPH +0x89FB 0x62D0 #CJK UNIFIED IDEOGRAPH +0x89FC 0x6539 #CJK UNIFIED IDEOGRAPH +0x8A40 0x9B41 #CJK UNIFIED IDEOGRAPH +0x8A41 0x6666 #CJK UNIFIED IDEOGRAPH +0x8A42 0x68B0 #CJK UNIFIED IDEOGRAPH +0x8A43 0x6D77 #CJK UNIFIED IDEOGRAPH +0x8A44 0x7070 #CJK UNIFIED IDEOGRAPH +0x8A45 0x754C #CJK UNIFIED IDEOGRAPH +0x8A46 0x7686 #CJK UNIFIED IDEOGRAPH +0x8A47 0x7D75 #CJK UNIFIED IDEOGRAPH +0x8A48 0x82A5 #CJK UNIFIED IDEOGRAPH +0x8A49 0x87F9 #CJK UNIFIED IDEOGRAPH +0x8A4A 0x958B #CJK UNIFIED IDEOGRAPH +0x8A4B 0x968E #CJK UNIFIED IDEOGRAPH +0x8A4C 0x8C9D #CJK UNIFIED IDEOGRAPH +0x8A4D 0x51F1 #CJK UNIFIED IDEOGRAPH +0x8A4E 0x52BE #CJK UNIFIED IDEOGRAPH +0x8A4F 0x5916 #CJK UNIFIED IDEOGRAPH +0x8A50 0x54B3 #CJK UNIFIED IDEOGRAPH +0x8A51 0x5BB3 #CJK UNIFIED IDEOGRAPH +0x8A52 0x5D16 #CJK UNIFIED IDEOGRAPH +0x8A53 0x6168 #CJK UNIFIED IDEOGRAPH +0x8A54 0x6982 #CJK UNIFIED IDEOGRAPH +0x8A55 0x6DAF #CJK UNIFIED IDEOGRAPH +0x8A56 0x788D #CJK UNIFIED IDEOGRAPH +0x8A57 0x84CB #CJK UNIFIED IDEOGRAPH +0x8A58 0x8857 #CJK UNIFIED IDEOGRAPH +0x8A59 0x8A72 #CJK UNIFIED IDEOGRAPH +0x8A5A 0x93A7 #CJK UNIFIED IDEOGRAPH +0x8A5B 0x9AB8 #CJK UNIFIED IDEOGRAPH +0x8A5C 0x6D6C #CJK UNIFIED IDEOGRAPH +0x8A5D 0x99A8 #CJK UNIFIED IDEOGRAPH +0x8A5E 0x86D9 #CJK UNIFIED IDEOGRAPH +0x8A5F 0x57A3 #CJK UNIFIED IDEOGRAPH +0x8A60 0x67FF #CJK UNIFIED IDEOGRAPH +0x8A61 0x86CE #CJK UNIFIED IDEOGRAPH +0x8A62 0x920E #CJK UNIFIED IDEOGRAPH +0x8A63 0x5283 #CJK UNIFIED IDEOGRAPH +0x8A64 0x5687 #CJK UNIFIED IDEOGRAPH +0x8A65 0x5404 #CJK UNIFIED IDEOGRAPH +0x8A66 0x5ED3 #CJK UNIFIED IDEOGRAPH +0x8A67 0x62E1 #CJK UNIFIED IDEOGRAPH +0x8A68 0x64B9 #CJK UNIFIED IDEOGRAPH +0x8A69 0x683C #CJK UNIFIED IDEOGRAPH +0x8A6A 0x6838 #CJK UNIFIED IDEOGRAPH +0x8A6B 0x6BBB #CJK UNIFIED IDEOGRAPH +0x8A6C 0x7372 #CJK UNIFIED IDEOGRAPH +0x8A6D 0x78BA #CJK UNIFIED IDEOGRAPH +0x8A6E 0x7A6B #CJK UNIFIED IDEOGRAPH +0x8A6F 0x899A #CJK UNIFIED IDEOGRAPH +0x8A70 0x89D2 #CJK UNIFIED IDEOGRAPH +0x8A71 0x8D6B #CJK UNIFIED IDEOGRAPH +0x8A72 0x8F03 #CJK UNIFIED IDEOGRAPH +0x8A73 0x90ED #CJK UNIFIED IDEOGRAPH +0x8A74 0x95A3 #CJK UNIFIED IDEOGRAPH +0x8A75 0x9694 #CJK UNIFIED IDEOGRAPH +0x8A76 0x9769 #CJK UNIFIED IDEOGRAPH +0x8A77 0x5B66 #CJK UNIFIED IDEOGRAPH +0x8A78 0x5CB3 #CJK UNIFIED IDEOGRAPH +0x8A79 0x697D #CJK UNIFIED IDEOGRAPH +0x8A7A 0x984D #CJK UNIFIED IDEOGRAPH +0x8A7B 0x984E #CJK UNIFIED IDEOGRAPH +0x8A7C 0x639B #CJK UNIFIED IDEOGRAPH +0x8A7D 0x7B20 #CJK UNIFIED IDEOGRAPH +0x8A7E 0x6A2B #CJK UNIFIED IDEOGRAPH +0x8A80 0x6A7F #CJK UNIFIED IDEOGRAPH +0x8A81 0x68B6 #CJK UNIFIED IDEOGRAPH +0x8A82 0x9C0D #CJK UNIFIED IDEOGRAPH +0x8A83 0x6F5F #CJK UNIFIED IDEOGRAPH +0x8A84 0x5272 #CJK UNIFIED IDEOGRAPH +0x8A85 0x559D #CJK UNIFIED IDEOGRAPH +0x8A86 0x6070 #CJK UNIFIED IDEOGRAPH +0x8A87 0x62EC #CJK UNIFIED IDEOGRAPH +0x8A88 0x6D3B #CJK UNIFIED IDEOGRAPH +0x8A89 0x6E07 #CJK UNIFIED IDEOGRAPH +0x8A8A 0x6ED1 #CJK UNIFIED IDEOGRAPH +0x8A8B 0x845B #CJK UNIFIED IDEOGRAPH +0x8A8C 0x8910 #CJK UNIFIED IDEOGRAPH +0x8A8D 0x8F44 #CJK UNIFIED IDEOGRAPH +0x8A8E 0x4E14 #CJK UNIFIED IDEOGRAPH +0x8A8F 0x9C39 #CJK UNIFIED IDEOGRAPH +0x8A90 0x53F6 #CJK UNIFIED IDEOGRAPH +0x8A91 0x691B #CJK UNIFIED IDEOGRAPH +0x8A92 0x6A3A #CJK UNIFIED IDEOGRAPH +0x8A93 0x9784 #CJK UNIFIED IDEOGRAPH +0x8A94 0x682A #CJK UNIFIED IDEOGRAPH +0x8A95 0x515C #CJK UNIFIED IDEOGRAPH +0x8A96 0x7AC3 #CJK UNIFIED IDEOGRAPH +0x8A97 0x84B2 #CJK UNIFIED IDEOGRAPH +0x8A98 0x91DC #CJK UNIFIED IDEOGRAPH +0x8A99 0x938C #CJK UNIFIED IDEOGRAPH +0x8A9A 0x565B #CJK UNIFIED IDEOGRAPH +0x8A9B 0x9D28 #CJK UNIFIED IDEOGRAPH +0x8A9C 0x6822 #CJK UNIFIED IDEOGRAPH +0x8A9D 0x8305 #CJK UNIFIED IDEOGRAPH +0x8A9E 0x8431 #CJK UNIFIED IDEOGRAPH +0x8A9F 0x7CA5 #CJK UNIFIED IDEOGRAPH +0x8AA0 0x5208 #CJK UNIFIED IDEOGRAPH +0x8AA1 0x82C5 #CJK UNIFIED IDEOGRAPH +0x8AA2 0x74E6 #CJK UNIFIED IDEOGRAPH +0x8AA3 0x4E7E #CJK UNIFIED IDEOGRAPH +0x8AA4 0x4F83 #CJK UNIFIED IDEOGRAPH +0x8AA5 0x51A0 #CJK UNIFIED IDEOGRAPH +0x8AA6 0x5BD2 #CJK UNIFIED IDEOGRAPH +0x8AA7 0x520A #CJK UNIFIED IDEOGRAPH +0x8AA8 0x52D8 #CJK UNIFIED IDEOGRAPH +0x8AA9 0x52E7 #CJK UNIFIED IDEOGRAPH +0x8AAA 0x5DFB #CJK UNIFIED IDEOGRAPH +0x8AAB 0x559A #CJK UNIFIED IDEOGRAPH +0x8AAC 0x582A #CJK UNIFIED IDEOGRAPH +0x8AAD 0x59E6 #CJK UNIFIED IDEOGRAPH +0x8AAE 0x5B8C #CJK UNIFIED IDEOGRAPH +0x8AAF 0x5B98 #CJK UNIFIED IDEOGRAPH +0x8AB0 0x5BDB #CJK UNIFIED IDEOGRAPH +0x8AB1 0x5E72 #CJK UNIFIED IDEOGRAPH +0x8AB2 0x5E79 #CJK UNIFIED IDEOGRAPH +0x8AB3 0x60A3 #CJK UNIFIED IDEOGRAPH +0x8AB4 0x611F #CJK UNIFIED IDEOGRAPH +0x8AB5 0x6163 #CJK UNIFIED IDEOGRAPH +0x8AB6 0x61BE #CJK UNIFIED IDEOGRAPH +0x8AB7 0x63DB #CJK UNIFIED IDEOGRAPH +0x8AB8 0x6562 #CJK UNIFIED IDEOGRAPH +0x8AB9 0x67D1 #CJK UNIFIED IDEOGRAPH +0x8ABA 0x6853 #CJK UNIFIED IDEOGRAPH +0x8ABB 0x68FA #CJK UNIFIED IDEOGRAPH +0x8ABC 0x6B3E #CJK UNIFIED IDEOGRAPH +0x8ABD 0x6B53 #CJK UNIFIED IDEOGRAPH +0x8ABE 0x6C57 #CJK UNIFIED IDEOGRAPH +0x8ABF 0x6F22 #CJK UNIFIED IDEOGRAPH +0x8AC0 0x6F97 #CJK UNIFIED IDEOGRAPH +0x8AC1 0x6F45 #CJK UNIFIED IDEOGRAPH +0x8AC2 0x74B0 #CJK UNIFIED IDEOGRAPH +0x8AC3 0x7518 #CJK UNIFIED IDEOGRAPH +0x8AC4 0x76E3 #CJK UNIFIED IDEOGRAPH +0x8AC5 0x770B #CJK UNIFIED IDEOGRAPH +0x8AC6 0x7AFF #CJK UNIFIED IDEOGRAPH +0x8AC7 0x7BA1 #CJK UNIFIED IDEOGRAPH +0x8AC8 0x7C21 #CJK UNIFIED IDEOGRAPH +0x8AC9 0x7DE9 #CJK UNIFIED IDEOGRAPH +0x8ACA 0x7F36 #CJK UNIFIED IDEOGRAPH +0x8ACB 0x7FF0 #CJK UNIFIED IDEOGRAPH +0x8ACC 0x809D #CJK UNIFIED IDEOGRAPH +0x8ACD 0x8266 #CJK UNIFIED IDEOGRAPH +0x8ACE 0x839E #CJK UNIFIED IDEOGRAPH +0x8ACF 0x89B3 #CJK UNIFIED IDEOGRAPH +0x8AD0 0x8ACC #CJK UNIFIED IDEOGRAPH +0x8AD1 0x8CAB #CJK UNIFIED IDEOGRAPH +0x8AD2 0x9084 #CJK UNIFIED IDEOGRAPH +0x8AD3 0x9451 #CJK UNIFIED IDEOGRAPH +0x8AD4 0x9593 #CJK UNIFIED IDEOGRAPH +0x8AD5 0x9591 #CJK UNIFIED IDEOGRAPH +0x8AD6 0x95A2 #CJK UNIFIED IDEOGRAPH +0x8AD7 0x9665 #CJK UNIFIED IDEOGRAPH +0x8AD8 0x97D3 #CJK UNIFIED IDEOGRAPH +0x8AD9 0x9928 #CJK UNIFIED IDEOGRAPH +0x8ADA 0x8218 #CJK UNIFIED IDEOGRAPH +0x8ADB 0x4E38 #CJK UNIFIED IDEOGRAPH +0x8ADC 0x542B #CJK UNIFIED IDEOGRAPH +0x8ADD 0x5CB8 #CJK UNIFIED IDEOGRAPH +0x8ADE 0x5DCC #CJK UNIFIED IDEOGRAPH +0x8ADF 0x73A9 #CJK UNIFIED IDEOGRAPH +0x8AE0 0x764C #CJK UNIFIED IDEOGRAPH +0x8AE1 0x773C #CJK UNIFIED IDEOGRAPH +0x8AE2 0x5CA9 #CJK UNIFIED IDEOGRAPH +0x8AE3 0x7FEB #CJK UNIFIED IDEOGRAPH +0x8AE4 0x8D0B #CJK UNIFIED IDEOGRAPH +0x8AE5 0x96C1 #CJK UNIFIED IDEOGRAPH +0x8AE6 0x9811 #CJK UNIFIED IDEOGRAPH +0x8AE7 0x9854 #CJK UNIFIED IDEOGRAPH +0x8AE8 0x9858 #CJK UNIFIED IDEOGRAPH +0x8AE9 0x4F01 #CJK UNIFIED IDEOGRAPH +0x8AEA 0x4F0E #CJK UNIFIED IDEOGRAPH +0x8AEB 0x5371 #CJK UNIFIED IDEOGRAPH +0x8AEC 0x559C #CJK UNIFIED IDEOGRAPH +0x8AED 0x5668 #CJK UNIFIED IDEOGRAPH +0x8AEE 0x57FA #CJK UNIFIED IDEOGRAPH +0x8AEF 0x5947 #CJK UNIFIED IDEOGRAPH +0x8AF0 0x5B09 #CJK UNIFIED IDEOGRAPH +0x8AF1 0x5BC4 #CJK UNIFIED IDEOGRAPH +0x8AF2 0x5C90 #CJK UNIFIED IDEOGRAPH +0x8AF3 0x5E0C #CJK UNIFIED IDEOGRAPH +0x8AF4 0x5E7E #CJK UNIFIED IDEOGRAPH +0x8AF5 0x5FCC #CJK UNIFIED IDEOGRAPH +0x8AF6 0x63EE #CJK UNIFIED IDEOGRAPH +0x8AF7 0x673A #CJK UNIFIED IDEOGRAPH +0x8AF8 0x65D7 #CJK UNIFIED IDEOGRAPH +0x8AF9 0x65E2 #CJK UNIFIED IDEOGRAPH +0x8AFA 0x671F #CJK UNIFIED IDEOGRAPH +0x8AFB 0x68CB #CJK UNIFIED IDEOGRAPH +0x8AFC 0x68C4 #CJK UNIFIED IDEOGRAPH +0x8B40 0x6A5F #CJK UNIFIED IDEOGRAPH +0x8B41 0x5E30 #CJK UNIFIED IDEOGRAPH +0x8B42 0x6BC5 #CJK UNIFIED IDEOGRAPH +0x8B43 0x6C17 #CJK UNIFIED IDEOGRAPH +0x8B44 0x6C7D #CJK UNIFIED IDEOGRAPH +0x8B45 0x757F #CJK UNIFIED IDEOGRAPH +0x8B46 0x7948 #CJK UNIFIED IDEOGRAPH +0x8B47 0x5B63 #CJK UNIFIED IDEOGRAPH +0x8B48 0x7A00 #CJK UNIFIED IDEOGRAPH +0x8B49 0x7D00 #CJK UNIFIED IDEOGRAPH +0x8B4A 0x5FBD #CJK UNIFIED IDEOGRAPH +0x8B4B 0x898F #CJK UNIFIED IDEOGRAPH +0x8B4C 0x8A18 #CJK UNIFIED IDEOGRAPH +0x8B4D 0x8CB4 #CJK UNIFIED IDEOGRAPH +0x8B4E 0x8D77 #CJK UNIFIED IDEOGRAPH +0x8B4F 0x8ECC #CJK UNIFIED IDEOGRAPH +0x8B50 0x8F1D #CJK UNIFIED IDEOGRAPH +0x8B51 0x98E2 #CJK UNIFIED IDEOGRAPH +0x8B52 0x9A0E #CJK UNIFIED IDEOGRAPH +0x8B53 0x9B3C #CJK UNIFIED IDEOGRAPH +0x8B54 0x4E80 #CJK UNIFIED IDEOGRAPH +0x8B55 0x507D #CJK UNIFIED IDEOGRAPH +0x8B56 0x5100 #CJK UNIFIED IDEOGRAPH +0x8B57 0x5993 #CJK UNIFIED IDEOGRAPH +0x8B58 0x5B9C #CJK UNIFIED IDEOGRAPH +0x8B59 0x622F #CJK UNIFIED IDEOGRAPH +0x8B5A 0x6280 #CJK UNIFIED IDEOGRAPH +0x8B5B 0x64EC #CJK UNIFIED IDEOGRAPH +0x8B5C 0x6B3A #CJK UNIFIED IDEOGRAPH +0x8B5D 0x72A0 #CJK UNIFIED IDEOGRAPH +0x8B5E 0x7591 #CJK UNIFIED IDEOGRAPH +0x8B5F 0x7947 #CJK UNIFIED IDEOGRAPH +0x8B60 0x7FA9 #CJK UNIFIED IDEOGRAPH +0x8B61 0x87FB #CJK UNIFIED IDEOGRAPH +0x8B62 0x8ABC #CJK UNIFIED IDEOGRAPH +0x8B63 0x8B70 #CJK UNIFIED IDEOGRAPH +0x8B64 0x63AC #CJK UNIFIED IDEOGRAPH +0x8B65 0x83CA #CJK UNIFIED IDEOGRAPH +0x8B66 0x97A0 #CJK UNIFIED IDEOGRAPH +0x8B67 0x5409 #CJK UNIFIED IDEOGRAPH +0x8B68 0x5403 #CJK UNIFIED IDEOGRAPH +0x8B69 0x55AB #CJK UNIFIED IDEOGRAPH +0x8B6A 0x6854 #CJK UNIFIED IDEOGRAPH +0x8B6B 0x6A58 #CJK UNIFIED IDEOGRAPH +0x8B6C 0x8A70 #CJK UNIFIED IDEOGRAPH +0x8B6D 0x7827 #CJK UNIFIED IDEOGRAPH +0x8B6E 0x6775 #CJK UNIFIED IDEOGRAPH +0x8B6F 0x9ECD #CJK UNIFIED IDEOGRAPH +0x8B70 0x5374 #CJK UNIFIED IDEOGRAPH +0x8B71 0x5BA2 #CJK UNIFIED IDEOGRAPH +0x8B72 0x811A #CJK UNIFIED IDEOGRAPH +0x8B73 0x8650 #CJK UNIFIED IDEOGRAPH +0x8B74 0x9006 #CJK UNIFIED IDEOGRAPH +0x8B75 0x4E18 #CJK UNIFIED IDEOGRAPH +0x8B76 0x4E45 #CJK UNIFIED IDEOGRAPH +0x8B77 0x4EC7 #CJK UNIFIED IDEOGRAPH +0x8B78 0x4F11 #CJK UNIFIED IDEOGRAPH +0x8B79 0x53CA #CJK UNIFIED IDEOGRAPH +0x8B7A 0x5438 #CJK UNIFIED IDEOGRAPH +0x8B7B 0x5BAE #CJK UNIFIED IDEOGRAPH +0x8B7C 0x5F13 #CJK UNIFIED IDEOGRAPH +0x8B7D 0x6025 #CJK UNIFIED IDEOGRAPH +0x8B7E 0x6551 #CJK UNIFIED IDEOGRAPH +0x8B80 0x673D #CJK UNIFIED IDEOGRAPH +0x8B81 0x6C42 #CJK UNIFIED IDEOGRAPH +0x8B82 0x6C72 #CJK UNIFIED IDEOGRAPH +0x8B83 0x6CE3 #CJK UNIFIED IDEOGRAPH +0x8B84 0x7078 #CJK UNIFIED IDEOGRAPH +0x8B85 0x7403 #CJK UNIFIED IDEOGRAPH +0x8B86 0x7A76 #CJK UNIFIED IDEOGRAPH +0x8B87 0x7AAE #CJK UNIFIED IDEOGRAPH +0x8B88 0x7B08 #CJK UNIFIED IDEOGRAPH +0x8B89 0x7D1A #CJK UNIFIED IDEOGRAPH +0x8B8A 0x7CFE #CJK UNIFIED IDEOGRAPH +0x8B8B 0x7D66 #CJK UNIFIED IDEOGRAPH +0x8B8C 0x65E7 #CJK UNIFIED IDEOGRAPH +0x8B8D 0x725B #CJK UNIFIED IDEOGRAPH +0x8B8E 0x53BB #CJK UNIFIED IDEOGRAPH +0x8B8F 0x5C45 #CJK UNIFIED IDEOGRAPH +0x8B90 0x5DE8 #CJK UNIFIED IDEOGRAPH +0x8B91 0x62D2 #CJK UNIFIED IDEOGRAPH +0x8B92 0x62E0 #CJK UNIFIED IDEOGRAPH +0x8B93 0x6319 #CJK UNIFIED IDEOGRAPH +0x8B94 0x6E20 #CJK UNIFIED IDEOGRAPH +0x8B95 0x865A #CJK UNIFIED IDEOGRAPH +0x8B96 0x8A31 #CJK UNIFIED IDEOGRAPH +0x8B97 0x8DDD #CJK UNIFIED IDEOGRAPH +0x8B98 0x92F8 #CJK UNIFIED IDEOGRAPH +0x8B99 0x6F01 #CJK UNIFIED IDEOGRAPH +0x8B9A 0x79A6 #CJK UNIFIED IDEOGRAPH +0x8B9B 0x9B5A #CJK UNIFIED IDEOGRAPH +0x8B9C 0x4EA8 #CJK UNIFIED IDEOGRAPH +0x8B9D 0x4EAB #CJK UNIFIED IDEOGRAPH +0x8B9E 0x4EAC #CJK UNIFIED IDEOGRAPH +0x8B9F 0x4F9B #CJK UNIFIED IDEOGRAPH +0x8BA0 0x4FA0 #CJK UNIFIED IDEOGRAPH +0x8BA1 0x50D1 #CJK UNIFIED IDEOGRAPH +0x8BA2 0x5147 #CJK UNIFIED IDEOGRAPH +0x8BA3 0x7AF6 #CJK UNIFIED IDEOGRAPH +0x8BA4 0x5171 #CJK UNIFIED IDEOGRAPH +0x8BA5 0x51F6 #CJK UNIFIED IDEOGRAPH +0x8BA6 0x5354 #CJK UNIFIED IDEOGRAPH +0x8BA7 0x5321 #CJK UNIFIED IDEOGRAPH +0x8BA8 0x537F #CJK UNIFIED IDEOGRAPH +0x8BA9 0x53EB #CJK UNIFIED IDEOGRAPH +0x8BAA 0x55AC #CJK UNIFIED IDEOGRAPH +0x8BAB 0x5883 #CJK UNIFIED IDEOGRAPH +0x8BAC 0x5CE1 #CJK UNIFIED IDEOGRAPH +0x8BAD 0x5F37 #CJK UNIFIED IDEOGRAPH +0x8BAE 0x5F4A #CJK UNIFIED IDEOGRAPH +0x8BAF 0x602F #CJK UNIFIED IDEOGRAPH +0x8BB0 0x6050 #CJK UNIFIED IDEOGRAPH +0x8BB1 0x606D #CJK UNIFIED IDEOGRAPH +0x8BB2 0x631F #CJK UNIFIED IDEOGRAPH +0x8BB3 0x6559 #CJK UNIFIED IDEOGRAPH +0x8BB4 0x6A4B #CJK UNIFIED IDEOGRAPH +0x8BB5 0x6CC1 #CJK UNIFIED IDEOGRAPH +0x8BB6 0x72C2 #CJK UNIFIED IDEOGRAPH +0x8BB7 0x72ED #CJK UNIFIED IDEOGRAPH +0x8BB8 0x77EF #CJK UNIFIED IDEOGRAPH +0x8BB9 0x80F8 #CJK UNIFIED IDEOGRAPH +0x8BBA 0x8105 #CJK UNIFIED IDEOGRAPH +0x8BBB 0x8208 #CJK UNIFIED IDEOGRAPH +0x8BBC 0x854E #CJK UNIFIED IDEOGRAPH +0x8BBD 0x90F7 #CJK UNIFIED IDEOGRAPH +0x8BBE 0x93E1 #CJK UNIFIED IDEOGRAPH +0x8BBF 0x97FF #CJK UNIFIED IDEOGRAPH +0x8BC0 0x9957 #CJK UNIFIED IDEOGRAPH +0x8BC1 0x9A5A #CJK UNIFIED IDEOGRAPH +0x8BC2 0x4EF0 #CJK UNIFIED IDEOGRAPH +0x8BC3 0x51DD #CJK UNIFIED IDEOGRAPH +0x8BC4 0x5C2D #CJK UNIFIED IDEOGRAPH +0x8BC5 0x6681 #CJK UNIFIED IDEOGRAPH +0x8BC6 0x696D #CJK UNIFIED IDEOGRAPH +0x8BC7 0x5C40 #CJK UNIFIED IDEOGRAPH +0x8BC8 0x66F2 #CJK UNIFIED IDEOGRAPH +0x8BC9 0x6975 #CJK UNIFIED IDEOGRAPH +0x8BCA 0x7389 #CJK UNIFIED IDEOGRAPH +0x8BCB 0x6850 #CJK UNIFIED IDEOGRAPH +0x8BCC 0x7C81 #CJK UNIFIED IDEOGRAPH +0x8BCD 0x50C5 #CJK UNIFIED IDEOGRAPH +0x8BCE 0x52E4 #CJK UNIFIED IDEOGRAPH +0x8BCF 0x5747 #CJK UNIFIED IDEOGRAPH +0x8BD0 0x5DFE #CJK UNIFIED IDEOGRAPH +0x8BD1 0x9326 #CJK UNIFIED IDEOGRAPH +0x8BD2 0x65A4 #CJK UNIFIED IDEOGRAPH +0x8BD3 0x6B23 #CJK UNIFIED IDEOGRAPH +0x8BD4 0x6B3D #CJK UNIFIED IDEOGRAPH +0x8BD5 0x7434 #CJK UNIFIED IDEOGRAPH +0x8BD6 0x7981 #CJK UNIFIED IDEOGRAPH +0x8BD7 0x79BD #CJK UNIFIED IDEOGRAPH +0x8BD8 0x7B4B #CJK UNIFIED IDEOGRAPH +0x8BD9 0x7DCA #CJK UNIFIED IDEOGRAPH +0x8BDA 0x82B9 #CJK UNIFIED IDEOGRAPH +0x8BDB 0x83CC #CJK UNIFIED IDEOGRAPH +0x8BDC 0x887F #CJK UNIFIED IDEOGRAPH +0x8BDD 0x895F #CJK UNIFIED IDEOGRAPH +0x8BDE 0x8B39 #CJK UNIFIED IDEOGRAPH +0x8BDF 0x8FD1 #CJK UNIFIED IDEOGRAPH +0x8BE0 0x91D1 #CJK UNIFIED IDEOGRAPH +0x8BE1 0x541F #CJK UNIFIED IDEOGRAPH +0x8BE2 0x9280 #CJK UNIFIED IDEOGRAPH +0x8BE3 0x4E5D #CJK UNIFIED IDEOGRAPH +0x8BE4 0x5036 #CJK UNIFIED IDEOGRAPH +0x8BE5 0x53E5 #CJK UNIFIED IDEOGRAPH +0x8BE6 0x533A #CJK UNIFIED IDEOGRAPH +0x8BE7 0x72D7 #CJK UNIFIED IDEOGRAPH +0x8BE8 0x7396 #CJK UNIFIED IDEOGRAPH +0x8BE9 0x77E9 #CJK UNIFIED IDEOGRAPH +0x8BEA 0x82E6 #CJK UNIFIED IDEOGRAPH +0x8BEB 0x8EAF #CJK UNIFIED IDEOGRAPH +0x8BEC 0x99C6 #CJK UNIFIED IDEOGRAPH +0x8BED 0x99C8 #CJK UNIFIED IDEOGRAPH +0x8BEE 0x99D2 #CJK UNIFIED IDEOGRAPH +0x8BEF 0x5177 #CJK UNIFIED IDEOGRAPH +0x8BF0 0x611A #CJK UNIFIED IDEOGRAPH +0x8BF1 0x865E #CJK UNIFIED IDEOGRAPH +0x8BF2 0x55B0 #CJK UNIFIED IDEOGRAPH +0x8BF3 0x7A7A #CJK UNIFIED IDEOGRAPH +0x8BF4 0x5076 #CJK UNIFIED IDEOGRAPH +0x8BF5 0x5BD3 #CJK UNIFIED IDEOGRAPH +0x8BF6 0x9047 #CJK UNIFIED IDEOGRAPH +0x8BF7 0x9685 #CJK UNIFIED IDEOGRAPH +0x8BF8 0x4E32 #CJK UNIFIED IDEOGRAPH +0x8BF9 0x6ADB #CJK UNIFIED IDEOGRAPH +0x8BFA 0x91E7 #CJK UNIFIED IDEOGRAPH +0x8BFB 0x5C51 #CJK UNIFIED IDEOGRAPH +0x8BFC 0x5C48 #CJK UNIFIED IDEOGRAPH +0x8C40 0x6398 #CJK UNIFIED IDEOGRAPH +0x8C41 0x7A9F #CJK UNIFIED IDEOGRAPH +0x8C42 0x6C93 #CJK UNIFIED IDEOGRAPH +0x8C43 0x9774 #CJK UNIFIED IDEOGRAPH +0x8C44 0x8F61 #CJK UNIFIED IDEOGRAPH +0x8C45 0x7AAA #CJK UNIFIED IDEOGRAPH +0x8C46 0x718A #CJK UNIFIED IDEOGRAPH +0x8C47 0x9688 #CJK UNIFIED IDEOGRAPH +0x8C48 0x7C82 #CJK UNIFIED IDEOGRAPH +0x8C49 0x6817 #CJK UNIFIED IDEOGRAPH +0x8C4A 0x7E70 #CJK UNIFIED IDEOGRAPH +0x8C4B 0x6851 #CJK UNIFIED IDEOGRAPH +0x8C4C 0x936C #CJK UNIFIED IDEOGRAPH +0x8C4D 0x52F2 #CJK UNIFIED IDEOGRAPH +0x8C4E 0x541B #CJK UNIFIED IDEOGRAPH +0x8C4F 0x85AB #CJK UNIFIED IDEOGRAPH +0x8C50 0x8A13 #CJK UNIFIED IDEOGRAPH +0x8C51 0x7FA4 #CJK UNIFIED IDEOGRAPH +0x8C52 0x8ECD #CJK UNIFIED IDEOGRAPH +0x8C53 0x90E1 #CJK UNIFIED IDEOGRAPH +0x8C54 0x5366 #CJK UNIFIED IDEOGRAPH +0x8C55 0x8888 #CJK UNIFIED IDEOGRAPH +0x8C56 0x7941 #CJK UNIFIED IDEOGRAPH +0x8C57 0x4FC2 #CJK UNIFIED IDEOGRAPH +0x8C58 0x50BE #CJK UNIFIED IDEOGRAPH +0x8C59 0x5211 #CJK UNIFIED IDEOGRAPH +0x8C5A 0x5144 #CJK UNIFIED IDEOGRAPH +0x8C5B 0x5553 #CJK UNIFIED IDEOGRAPH +0x8C5C 0x572D #CJK UNIFIED IDEOGRAPH +0x8C5D 0x73EA #CJK UNIFIED IDEOGRAPH +0x8C5E 0x578B #CJK UNIFIED IDEOGRAPH +0x8C5F 0x5951 #CJK UNIFIED IDEOGRAPH +0x8C60 0x5F62 #CJK UNIFIED IDEOGRAPH +0x8C61 0x5F84 #CJK UNIFIED IDEOGRAPH +0x8C62 0x6075 #CJK UNIFIED IDEOGRAPH +0x8C63 0x6176 #CJK UNIFIED IDEOGRAPH +0x8C64 0x6167 #CJK UNIFIED IDEOGRAPH +0x8C65 0x61A9 #CJK UNIFIED IDEOGRAPH +0x8C66 0x63B2 #CJK UNIFIED IDEOGRAPH +0x8C67 0x643A #CJK UNIFIED IDEOGRAPH +0x8C68 0x656C #CJK UNIFIED IDEOGRAPH +0x8C69 0x666F #CJK UNIFIED IDEOGRAPH +0x8C6A 0x6842 #CJK UNIFIED IDEOGRAPH +0x8C6B 0x6E13 #CJK UNIFIED IDEOGRAPH +0x8C6C 0x7566 #CJK UNIFIED IDEOGRAPH +0x8C6D 0x7A3D #CJK UNIFIED IDEOGRAPH +0x8C6E 0x7CFB #CJK UNIFIED IDEOGRAPH +0x8C6F 0x7D4C #CJK UNIFIED IDEOGRAPH +0x8C70 0x7D99 #CJK UNIFIED IDEOGRAPH +0x8C71 0x7E4B #CJK UNIFIED IDEOGRAPH +0x8C72 0x7F6B #CJK UNIFIED IDEOGRAPH +0x8C73 0x830E #CJK UNIFIED IDEOGRAPH +0x8C74 0x834A #CJK UNIFIED IDEOGRAPH +0x8C75 0x86CD #CJK UNIFIED IDEOGRAPH +0x8C76 0x8A08 #CJK UNIFIED IDEOGRAPH +0x8C77 0x8A63 #CJK UNIFIED IDEOGRAPH +0x8C78 0x8B66 #CJK UNIFIED IDEOGRAPH +0x8C79 0x8EFD #CJK UNIFIED IDEOGRAPH +0x8C7A 0x981A #CJK UNIFIED IDEOGRAPH +0x8C7B 0x9D8F #CJK UNIFIED IDEOGRAPH +0x8C7C 0x82B8 #CJK UNIFIED IDEOGRAPH +0x8C7D 0x8FCE #CJK UNIFIED IDEOGRAPH +0x8C7E 0x9BE8 #CJK UNIFIED IDEOGRAPH +0x8C80 0x5287 #CJK UNIFIED IDEOGRAPH +0x8C81 0x621F #CJK UNIFIED IDEOGRAPH +0x8C82 0x6483 #CJK UNIFIED IDEOGRAPH +0x8C83 0x6FC0 #CJK UNIFIED IDEOGRAPH +0x8C84 0x9699 #CJK UNIFIED IDEOGRAPH +0x8C85 0x6841 #CJK UNIFIED IDEOGRAPH +0x8C86 0x5091 #CJK UNIFIED IDEOGRAPH +0x8C87 0x6B20 #CJK UNIFIED IDEOGRAPH +0x8C88 0x6C7A #CJK UNIFIED IDEOGRAPH +0x8C89 0x6F54 #CJK UNIFIED IDEOGRAPH +0x8C8A 0x7A74 #CJK UNIFIED IDEOGRAPH +0x8C8B 0x7D50 #CJK UNIFIED IDEOGRAPH +0x8C8C 0x8840 #CJK UNIFIED IDEOGRAPH +0x8C8D 0x8A23 #CJK UNIFIED IDEOGRAPH +0x8C8E 0x6708 #CJK UNIFIED IDEOGRAPH +0x8C8F 0x4EF6 #CJK UNIFIED IDEOGRAPH +0x8C90 0x5039 #CJK UNIFIED IDEOGRAPH +0x8C91 0x5026 #CJK UNIFIED IDEOGRAPH +0x8C92 0x5065 #CJK UNIFIED IDEOGRAPH +0x8C93 0x517C #CJK UNIFIED IDEOGRAPH +0x8C94 0x5238 #CJK UNIFIED IDEOGRAPH +0x8C95 0x5263 #CJK UNIFIED IDEOGRAPH +0x8C96 0x55A7 #CJK UNIFIED IDEOGRAPH +0x8C97 0x570F #CJK UNIFIED IDEOGRAPH +0x8C98 0x5805 #CJK UNIFIED IDEOGRAPH +0x8C99 0x5ACC #CJK UNIFIED IDEOGRAPH +0x8C9A 0x5EFA #CJK UNIFIED IDEOGRAPH +0x8C9B 0x61B2 #CJK UNIFIED IDEOGRAPH +0x8C9C 0x61F8 #CJK UNIFIED IDEOGRAPH +0x8C9D 0x62F3 #CJK UNIFIED IDEOGRAPH +0x8C9E 0x6372 #CJK UNIFIED IDEOGRAPH +0x8C9F 0x691C #CJK UNIFIED IDEOGRAPH +0x8CA0 0x6A29 #CJK UNIFIED IDEOGRAPH +0x8CA1 0x727D #CJK UNIFIED IDEOGRAPH +0x8CA2 0x72AC #CJK UNIFIED IDEOGRAPH +0x8CA3 0x732E #CJK UNIFIED IDEOGRAPH +0x8CA4 0x7814 #CJK UNIFIED IDEOGRAPH +0x8CA5 0x786F #CJK UNIFIED IDEOGRAPH +0x8CA6 0x7D79 #CJK UNIFIED IDEOGRAPH +0x8CA7 0x770C #CJK UNIFIED IDEOGRAPH +0x8CA8 0x80A9 #CJK UNIFIED IDEOGRAPH +0x8CA9 0x898B #CJK UNIFIED IDEOGRAPH +0x8CAA 0x8B19 #CJK UNIFIED IDEOGRAPH +0x8CAB 0x8CE2 #CJK UNIFIED IDEOGRAPH +0x8CAC 0x8ED2 #CJK UNIFIED IDEOGRAPH +0x8CAD 0x9063 #CJK UNIFIED IDEOGRAPH +0x8CAE 0x9375 #CJK UNIFIED IDEOGRAPH +0x8CAF 0x967A #CJK UNIFIED IDEOGRAPH +0x8CB0 0x9855 #CJK UNIFIED IDEOGRAPH +0x8CB1 0x9A13 #CJK UNIFIED IDEOGRAPH +0x8CB2 0x9E78 #CJK UNIFIED IDEOGRAPH +0x8CB3 0x5143 #CJK UNIFIED IDEOGRAPH +0x8CB4 0x539F #CJK UNIFIED IDEOGRAPH +0x8CB5 0x53B3 #CJK UNIFIED IDEOGRAPH +0x8CB6 0x5E7B #CJK UNIFIED IDEOGRAPH +0x8CB7 0x5F26 #CJK UNIFIED IDEOGRAPH +0x8CB8 0x6E1B #CJK UNIFIED IDEOGRAPH +0x8CB9 0x6E90 #CJK UNIFIED IDEOGRAPH +0x8CBA 0x7384 #CJK UNIFIED IDEOGRAPH +0x8CBB 0x73FE #CJK UNIFIED IDEOGRAPH +0x8CBC 0x7D43 #CJK UNIFIED IDEOGRAPH +0x8CBD 0x8237 #CJK UNIFIED IDEOGRAPH +0x8CBE 0x8A00 #CJK UNIFIED IDEOGRAPH +0x8CBF 0x8AFA #CJK UNIFIED IDEOGRAPH +0x8CC0 0x9650 #CJK UNIFIED IDEOGRAPH +0x8CC1 0x4E4E #CJK UNIFIED IDEOGRAPH +0x8CC2 0x500B #CJK UNIFIED IDEOGRAPH +0x8CC3 0x53E4 #CJK UNIFIED IDEOGRAPH +0x8CC4 0x547C #CJK UNIFIED IDEOGRAPH +0x8CC5 0x56FA #CJK UNIFIED IDEOGRAPH +0x8CC6 0x59D1 #CJK UNIFIED IDEOGRAPH +0x8CC7 0x5B64 #CJK UNIFIED IDEOGRAPH +0x8CC8 0x5DF1 #CJK UNIFIED IDEOGRAPH +0x8CC9 0x5EAB #CJK UNIFIED IDEOGRAPH +0x8CCA 0x5F27 #CJK UNIFIED IDEOGRAPH +0x8CCB 0x6238 #CJK UNIFIED IDEOGRAPH +0x8CCC 0x6545 #CJK UNIFIED IDEOGRAPH +0x8CCD 0x67AF #CJK UNIFIED IDEOGRAPH +0x8CCE 0x6E56 #CJK UNIFIED IDEOGRAPH +0x8CCF 0x72D0 #CJK UNIFIED IDEOGRAPH +0x8CD0 0x7CCA #CJK UNIFIED IDEOGRAPH +0x8CD1 0x88B4 #CJK UNIFIED IDEOGRAPH +0x8CD2 0x80A1 #CJK UNIFIED IDEOGRAPH +0x8CD3 0x80E1 #CJK UNIFIED IDEOGRAPH +0x8CD4 0x83F0 #CJK UNIFIED IDEOGRAPH +0x8CD5 0x864E #CJK UNIFIED IDEOGRAPH +0x8CD6 0x8A87 #CJK UNIFIED IDEOGRAPH +0x8CD7 0x8DE8 #CJK UNIFIED IDEOGRAPH +0x8CD8 0x9237 #CJK UNIFIED IDEOGRAPH +0x8CD9 0x96C7 #CJK UNIFIED IDEOGRAPH +0x8CDA 0x9867 #CJK UNIFIED IDEOGRAPH +0x8CDB 0x9F13 #CJK UNIFIED IDEOGRAPH +0x8CDC 0x4E94 #CJK UNIFIED IDEOGRAPH +0x8CDD 0x4E92 #CJK UNIFIED IDEOGRAPH +0x8CDE 0x4F0D #CJK UNIFIED IDEOGRAPH +0x8CDF 0x5348 #CJK UNIFIED IDEOGRAPH +0x8CE0 0x5449 #CJK UNIFIED IDEOGRAPH +0x8CE1 0x543E #CJK UNIFIED IDEOGRAPH +0x8CE2 0x5A2F #CJK UNIFIED IDEOGRAPH +0x8CE3 0x5F8C #CJK UNIFIED IDEOGRAPH +0x8CE4 0x5FA1 #CJK UNIFIED IDEOGRAPH +0x8CE5 0x609F #CJK UNIFIED IDEOGRAPH +0x8CE6 0x68A7 #CJK UNIFIED IDEOGRAPH +0x8CE7 0x6A8E #CJK UNIFIED IDEOGRAPH +0x8CE8 0x745A #CJK UNIFIED IDEOGRAPH +0x8CE9 0x7881 #CJK UNIFIED IDEOGRAPH +0x8CEA 0x8A9E #CJK UNIFIED IDEOGRAPH +0x8CEB 0x8AA4 #CJK UNIFIED IDEOGRAPH +0x8CEC 0x8B77 #CJK UNIFIED IDEOGRAPH +0x8CED 0x9190 #CJK UNIFIED IDEOGRAPH +0x8CEE 0x4E5E #CJK UNIFIED IDEOGRAPH +0x8CEF 0x9BC9 #CJK UNIFIED IDEOGRAPH +0x8CF0 0x4EA4 #CJK UNIFIED IDEOGRAPH +0x8CF1 0x4F7C #CJK UNIFIED IDEOGRAPH +0x8CF2 0x4FAF #CJK UNIFIED IDEOGRAPH +0x8CF3 0x5019 #CJK UNIFIED IDEOGRAPH +0x8CF4 0x5016 #CJK UNIFIED IDEOGRAPH +0x8CF5 0x5149 #CJK UNIFIED IDEOGRAPH +0x8CF6 0x516C #CJK UNIFIED IDEOGRAPH +0x8CF7 0x529F #CJK UNIFIED IDEOGRAPH +0x8CF8 0x52B9 #CJK UNIFIED IDEOGRAPH +0x8CF9 0x52FE #CJK UNIFIED IDEOGRAPH +0x8CFA 0x539A #CJK UNIFIED IDEOGRAPH +0x8CFB 0x53E3 #CJK UNIFIED IDEOGRAPH +0x8CFC 0x5411 #CJK UNIFIED IDEOGRAPH +0x8D40 0x540E #CJK UNIFIED IDEOGRAPH +0x8D41 0x5589 #CJK UNIFIED IDEOGRAPH +0x8D42 0x5751 #CJK UNIFIED IDEOGRAPH +0x8D43 0x57A2 #CJK UNIFIED IDEOGRAPH +0x8D44 0x597D #CJK UNIFIED IDEOGRAPH +0x8D45 0x5B54 #CJK UNIFIED IDEOGRAPH +0x8D46 0x5B5D #CJK UNIFIED IDEOGRAPH +0x8D47 0x5B8F #CJK UNIFIED IDEOGRAPH +0x8D48 0x5DE5 #CJK UNIFIED IDEOGRAPH +0x8D49 0x5DE7 #CJK UNIFIED IDEOGRAPH +0x8D4A 0x5DF7 #CJK UNIFIED IDEOGRAPH +0x8D4B 0x5E78 #CJK UNIFIED IDEOGRAPH +0x8D4C 0x5E83 #CJK UNIFIED IDEOGRAPH +0x8D4D 0x5E9A #CJK UNIFIED IDEOGRAPH +0x8D4E 0x5EB7 #CJK UNIFIED IDEOGRAPH +0x8D4F 0x5F18 #CJK UNIFIED IDEOGRAPH +0x8D50 0x6052 #CJK UNIFIED IDEOGRAPH +0x8D51 0x614C #CJK UNIFIED IDEOGRAPH +0x8D52 0x6297 #CJK UNIFIED IDEOGRAPH +0x8D53 0x62D8 #CJK UNIFIED IDEOGRAPH +0x8D54 0x63A7 #CJK UNIFIED IDEOGRAPH +0x8D55 0x653B #CJK UNIFIED IDEOGRAPH +0x8D56 0x6602 #CJK UNIFIED IDEOGRAPH +0x8D57 0x6643 #CJK UNIFIED IDEOGRAPH +0x8D58 0x66F4 #CJK UNIFIED IDEOGRAPH +0x8D59 0x676D #CJK UNIFIED IDEOGRAPH +0x8D5A 0x6821 #CJK UNIFIED IDEOGRAPH +0x8D5B 0x6897 #CJK UNIFIED IDEOGRAPH +0x8D5C 0x69CB #CJK UNIFIED IDEOGRAPH +0x8D5D 0x6C5F #CJK UNIFIED IDEOGRAPH +0x8D5E 0x6D2A #CJK UNIFIED IDEOGRAPH +0x8D5F 0x6D69 #CJK UNIFIED IDEOGRAPH +0x8D60 0x6E2F #CJK UNIFIED IDEOGRAPH +0x8D61 0x6E9D #CJK UNIFIED IDEOGRAPH +0x8D62 0x7532 #CJK UNIFIED IDEOGRAPH +0x8D63 0x7687 #CJK UNIFIED IDEOGRAPH +0x8D64 0x786C #CJK UNIFIED IDEOGRAPH +0x8D65 0x7A3F #CJK UNIFIED IDEOGRAPH +0x8D66 0x7CE0 #CJK UNIFIED IDEOGRAPH +0x8D67 0x7D05 #CJK UNIFIED IDEOGRAPH +0x8D68 0x7D18 #CJK UNIFIED IDEOGRAPH +0x8D69 0x7D5E #CJK UNIFIED IDEOGRAPH +0x8D6A 0x7DB1 #CJK UNIFIED IDEOGRAPH +0x8D6B 0x8015 #CJK UNIFIED IDEOGRAPH +0x8D6C 0x8003 #CJK UNIFIED IDEOGRAPH +0x8D6D 0x80AF #CJK UNIFIED IDEOGRAPH +0x8D6E 0x80B1 #CJK UNIFIED IDEOGRAPH +0x8D6F 0x8154 #CJK UNIFIED IDEOGRAPH +0x8D70 0x818F #CJK UNIFIED IDEOGRAPH +0x8D71 0x822A #CJK UNIFIED IDEOGRAPH +0x8D72 0x8352 #CJK UNIFIED IDEOGRAPH +0x8D73 0x884C #CJK UNIFIED IDEOGRAPH +0x8D74 0x8861 #CJK UNIFIED IDEOGRAPH +0x8D75 0x8B1B #CJK UNIFIED IDEOGRAPH +0x8D76 0x8CA2 #CJK UNIFIED IDEOGRAPH +0x8D77 0x8CFC #CJK UNIFIED IDEOGRAPH +0x8D78 0x90CA #CJK UNIFIED IDEOGRAPH +0x8D79 0x9175 #CJK UNIFIED IDEOGRAPH +0x8D7A 0x9271 #CJK UNIFIED IDEOGRAPH +0x8D7B 0x783F #CJK UNIFIED IDEOGRAPH +0x8D7C 0x92FC #CJK UNIFIED IDEOGRAPH +0x8D7D 0x95A4 #CJK UNIFIED IDEOGRAPH +0x8D7E 0x964D #CJK UNIFIED IDEOGRAPH +0x8D80 0x9805 #CJK UNIFIED IDEOGRAPH +0x8D81 0x9999 #CJK UNIFIED IDEOGRAPH +0x8D82 0x9AD8 #CJK UNIFIED IDEOGRAPH +0x8D83 0x9D3B #CJK UNIFIED IDEOGRAPH +0x8D84 0x525B #CJK UNIFIED IDEOGRAPH +0x8D85 0x52AB #CJK UNIFIED IDEOGRAPH +0x8D86 0x53F7 #CJK UNIFIED IDEOGRAPH +0x8D87 0x5408 #CJK UNIFIED IDEOGRAPH +0x8D88 0x58D5 #CJK UNIFIED IDEOGRAPH +0x8D89 0x62F7 #CJK UNIFIED IDEOGRAPH +0x8D8A 0x6FE0 #CJK UNIFIED IDEOGRAPH +0x8D8B 0x8C6A #CJK UNIFIED IDEOGRAPH +0x8D8C 0x8F5F #CJK UNIFIED IDEOGRAPH +0x8D8D 0x9EB9 #CJK UNIFIED IDEOGRAPH +0x8D8E 0x514B #CJK UNIFIED IDEOGRAPH +0x8D8F 0x523B #CJK UNIFIED IDEOGRAPH +0x8D90 0x544A #CJK UNIFIED IDEOGRAPH +0x8D91 0x56FD #CJK UNIFIED IDEOGRAPH +0x8D92 0x7A40 #CJK UNIFIED IDEOGRAPH +0x8D93 0x9177 #CJK UNIFIED IDEOGRAPH +0x8D94 0x9D60 #CJK UNIFIED IDEOGRAPH +0x8D95 0x9ED2 #CJK UNIFIED IDEOGRAPH +0x8D96 0x7344 #CJK UNIFIED IDEOGRAPH +0x8D97 0x6F09 #CJK UNIFIED IDEOGRAPH +0x8D98 0x8170 #CJK UNIFIED IDEOGRAPH +0x8D99 0x7511 #CJK UNIFIED IDEOGRAPH +0x8D9A 0x5FFD #CJK UNIFIED IDEOGRAPH +0x8D9B 0x60DA #CJK UNIFIED IDEOGRAPH +0x8D9C 0x9AA8 #CJK UNIFIED IDEOGRAPH +0x8D9D 0x72DB #CJK UNIFIED IDEOGRAPH +0x8D9E 0x8FBC #CJK UNIFIED IDEOGRAPH +0x8D9F 0x6B64 #CJK UNIFIED IDEOGRAPH +0x8DA0 0x9803 #CJK UNIFIED IDEOGRAPH +0x8DA1 0x4ECA #CJK UNIFIED IDEOGRAPH +0x8DA2 0x56F0 #CJK UNIFIED IDEOGRAPH +0x8DA3 0x5764 #CJK UNIFIED IDEOGRAPH +0x8DA4 0x58BE #CJK UNIFIED IDEOGRAPH +0x8DA5 0x5A5A #CJK UNIFIED IDEOGRAPH +0x8DA6 0x6068 #CJK UNIFIED IDEOGRAPH +0x8DA7 0x61C7 #CJK UNIFIED IDEOGRAPH +0x8DA8 0x660F #CJK UNIFIED IDEOGRAPH +0x8DA9 0x6606 #CJK UNIFIED IDEOGRAPH +0x8DAA 0x6839 #CJK UNIFIED IDEOGRAPH +0x8DAB 0x68B1 #CJK UNIFIED IDEOGRAPH +0x8DAC 0x6DF7 #CJK UNIFIED IDEOGRAPH +0x8DAD 0x75D5 #CJK UNIFIED IDEOGRAPH +0x8DAE 0x7D3A #CJK UNIFIED IDEOGRAPH +0x8DAF 0x826E #CJK UNIFIED IDEOGRAPH +0x8DB0 0x9B42 #CJK UNIFIED IDEOGRAPH +0x8DB1 0x4E9B #CJK UNIFIED IDEOGRAPH +0x8DB2 0x4F50 #CJK UNIFIED IDEOGRAPH +0x8DB3 0x53C9 #CJK UNIFIED IDEOGRAPH +0x8DB4 0x5506 #CJK UNIFIED IDEOGRAPH +0x8DB5 0x5D6F #CJK UNIFIED IDEOGRAPH +0x8DB6 0x5DE6 #CJK UNIFIED IDEOGRAPH +0x8DB7 0x5DEE #CJK UNIFIED IDEOGRAPH +0x8DB8 0x67FB #CJK UNIFIED IDEOGRAPH +0x8DB9 0x6C99 #CJK UNIFIED IDEOGRAPH +0x8DBA 0x7473 #CJK UNIFIED IDEOGRAPH +0x8DBB 0x7802 #CJK UNIFIED IDEOGRAPH +0x8DBC 0x8A50 #CJK UNIFIED IDEOGRAPH +0x8DBD 0x9396 #CJK UNIFIED IDEOGRAPH +0x8DBE 0x88DF #CJK UNIFIED IDEOGRAPH +0x8DBF 0x5750 #CJK UNIFIED IDEOGRAPH +0x8DC0 0x5EA7 #CJK UNIFIED IDEOGRAPH +0x8DC1 0x632B #CJK UNIFIED IDEOGRAPH +0x8DC2 0x50B5 #CJK UNIFIED IDEOGRAPH +0x8DC3 0x50AC #CJK UNIFIED IDEOGRAPH +0x8DC4 0x518D #CJK UNIFIED IDEOGRAPH +0x8DC5 0x6700 #CJK UNIFIED IDEOGRAPH +0x8DC6 0x54C9 #CJK UNIFIED IDEOGRAPH +0x8DC7 0x585E #CJK UNIFIED IDEOGRAPH +0x8DC8 0x59BB #CJK UNIFIED IDEOGRAPH +0x8DC9 0x5BB0 #CJK UNIFIED IDEOGRAPH +0x8DCA 0x5F69 #CJK UNIFIED IDEOGRAPH +0x8DCB 0x624D #CJK UNIFIED IDEOGRAPH +0x8DCC 0x63A1 #CJK UNIFIED IDEOGRAPH +0x8DCD 0x683D #CJK UNIFIED IDEOGRAPH +0x8DCE 0x6B73 #CJK UNIFIED IDEOGRAPH +0x8DCF 0x6E08 #CJK UNIFIED IDEOGRAPH +0x8DD0 0x707D #CJK UNIFIED IDEOGRAPH +0x8DD1 0x91C7 #CJK UNIFIED IDEOGRAPH +0x8DD2 0x7280 #CJK UNIFIED IDEOGRAPH +0x8DD3 0x7815 #CJK UNIFIED IDEOGRAPH +0x8DD4 0x7826 #CJK UNIFIED IDEOGRAPH +0x8DD5 0x796D #CJK UNIFIED IDEOGRAPH +0x8DD6 0x658E #CJK UNIFIED IDEOGRAPH +0x8DD7 0x7D30 #CJK UNIFIED IDEOGRAPH +0x8DD8 0x83DC #CJK UNIFIED IDEOGRAPH +0x8DD9 0x88C1 #CJK UNIFIED IDEOGRAPH +0x8DDA 0x8F09 #CJK UNIFIED IDEOGRAPH +0x8DDB 0x969B #CJK UNIFIED IDEOGRAPH +0x8DDC 0x5264 #CJK UNIFIED IDEOGRAPH +0x8DDD 0x5728 #CJK UNIFIED IDEOGRAPH +0x8DDE 0x6750 #CJK UNIFIED IDEOGRAPH +0x8DDF 0x7F6A #CJK UNIFIED IDEOGRAPH +0x8DE0 0x8CA1 #CJK UNIFIED IDEOGRAPH +0x8DE1 0x51B4 #CJK UNIFIED IDEOGRAPH +0x8DE2 0x5742 #CJK UNIFIED IDEOGRAPH +0x8DE3 0x962A #CJK UNIFIED IDEOGRAPH +0x8DE4 0x583A #CJK UNIFIED IDEOGRAPH +0x8DE5 0x698A #CJK UNIFIED IDEOGRAPH +0x8DE6 0x80B4 #CJK UNIFIED IDEOGRAPH +0x8DE7 0x54B2 #CJK UNIFIED IDEOGRAPH +0x8DE8 0x5D0E #CJK UNIFIED IDEOGRAPH +0x8DE9 0x57FC #CJK UNIFIED IDEOGRAPH +0x8DEA 0x7895 #CJK UNIFIED IDEOGRAPH +0x8DEB 0x9DFA #CJK UNIFIED IDEOGRAPH +0x8DEC 0x4F5C #CJK UNIFIED IDEOGRAPH +0x8DED 0x524A #CJK UNIFIED IDEOGRAPH +0x8DEE 0x548B #CJK UNIFIED IDEOGRAPH +0x8DEF 0x643E #CJK UNIFIED IDEOGRAPH +0x8DF0 0x6628 #CJK UNIFIED IDEOGRAPH +0x8DF1 0x6714 #CJK UNIFIED IDEOGRAPH +0x8DF2 0x67F5 #CJK UNIFIED IDEOGRAPH +0x8DF3 0x7A84 #CJK UNIFIED IDEOGRAPH +0x8DF4 0x7B56 #CJK UNIFIED IDEOGRAPH +0x8DF5 0x7D22 #CJK UNIFIED IDEOGRAPH +0x8DF6 0x932F #CJK UNIFIED IDEOGRAPH +0x8DF7 0x685C #CJK UNIFIED IDEOGRAPH +0x8DF8 0x9BAD #CJK UNIFIED IDEOGRAPH +0x8DF9 0x7B39 #CJK UNIFIED IDEOGRAPH +0x8DFA 0x5319 #CJK UNIFIED IDEOGRAPH +0x8DFB 0x518A #CJK UNIFIED IDEOGRAPH +0x8DFC 0x5237 #CJK UNIFIED IDEOGRAPH +0x8E40 0x5BDF #CJK UNIFIED IDEOGRAPH +0x8E41 0x62F6 #CJK UNIFIED IDEOGRAPH +0x8E42 0x64AE #CJK UNIFIED IDEOGRAPH +0x8E43 0x64E6 #CJK UNIFIED IDEOGRAPH +0x8E44 0x672D #CJK UNIFIED IDEOGRAPH +0x8E45 0x6BBA #CJK UNIFIED IDEOGRAPH +0x8E46 0x85A9 #CJK UNIFIED IDEOGRAPH +0x8E47 0x96D1 #CJK UNIFIED IDEOGRAPH +0x8E48 0x7690 #CJK UNIFIED IDEOGRAPH +0x8E49 0x9BD6 #CJK UNIFIED IDEOGRAPH +0x8E4A 0x634C #CJK UNIFIED IDEOGRAPH +0x8E4B 0x9306 #CJK UNIFIED IDEOGRAPH +0x8E4C 0x9BAB #CJK UNIFIED IDEOGRAPH +0x8E4D 0x76BF #CJK UNIFIED IDEOGRAPH +0x8E4E 0x6652 #CJK UNIFIED IDEOGRAPH +0x8E4F 0x4E09 #CJK UNIFIED IDEOGRAPH +0x8E50 0x5098 #CJK UNIFIED IDEOGRAPH +0x8E51 0x53C2 #CJK UNIFIED IDEOGRAPH +0x8E52 0x5C71 #CJK UNIFIED IDEOGRAPH +0x8E53 0x60E8 #CJK UNIFIED IDEOGRAPH +0x8E54 0x6492 #CJK UNIFIED IDEOGRAPH +0x8E55 0x6563 #CJK UNIFIED IDEOGRAPH +0x8E56 0x685F #CJK UNIFIED IDEOGRAPH +0x8E57 0x71E6 #CJK UNIFIED IDEOGRAPH +0x8E58 0x73CA #CJK UNIFIED IDEOGRAPH +0x8E59 0x7523 #CJK UNIFIED IDEOGRAPH +0x8E5A 0x7B97 #CJK UNIFIED IDEOGRAPH +0x8E5B 0x7E82 #CJK UNIFIED IDEOGRAPH +0x8E5C 0x8695 #CJK UNIFIED IDEOGRAPH +0x8E5D 0x8B83 #CJK UNIFIED IDEOGRAPH +0x8E5E 0x8CDB #CJK UNIFIED IDEOGRAPH +0x8E5F 0x9178 #CJK UNIFIED IDEOGRAPH +0x8E60 0x9910 #CJK UNIFIED IDEOGRAPH +0x8E61 0x65AC #CJK UNIFIED IDEOGRAPH +0x8E62 0x66AB #CJK UNIFIED IDEOGRAPH +0x8E63 0x6B8B #CJK UNIFIED IDEOGRAPH +0x8E64 0x4ED5 #CJK UNIFIED IDEOGRAPH +0x8E65 0x4ED4 #CJK UNIFIED IDEOGRAPH +0x8E66 0x4F3A #CJK UNIFIED IDEOGRAPH +0x8E67 0x4F7F #CJK UNIFIED IDEOGRAPH +0x8E68 0x523A #CJK UNIFIED IDEOGRAPH +0x8E69 0x53F8 #CJK UNIFIED IDEOGRAPH +0x8E6A 0x53F2 #CJK UNIFIED IDEOGRAPH +0x8E6B 0x55E3 #CJK UNIFIED IDEOGRAPH +0x8E6C 0x56DB #CJK UNIFIED IDEOGRAPH +0x8E6D 0x58EB #CJK UNIFIED IDEOGRAPH +0x8E6E 0x59CB #CJK UNIFIED IDEOGRAPH +0x8E6F 0x59C9 #CJK UNIFIED IDEOGRAPH +0x8E70 0x59FF #CJK UNIFIED IDEOGRAPH +0x8E71 0x5B50 #CJK UNIFIED IDEOGRAPH +0x8E72 0x5C4D #CJK UNIFIED IDEOGRAPH +0x8E73 0x5E02 #CJK UNIFIED IDEOGRAPH +0x8E74 0x5E2B #CJK UNIFIED IDEOGRAPH +0x8E75 0x5FD7 #CJK UNIFIED IDEOGRAPH +0x8E76 0x601D #CJK UNIFIED IDEOGRAPH +0x8E77 0x6307 #CJK UNIFIED IDEOGRAPH +0x8E78 0x652F #CJK UNIFIED IDEOGRAPH +0x8E79 0x5B5C #CJK UNIFIED IDEOGRAPH +0x8E7A 0x65AF #CJK UNIFIED IDEOGRAPH +0x8E7B 0x65BD #CJK UNIFIED IDEOGRAPH +0x8E7C 0x65E8 #CJK UNIFIED IDEOGRAPH +0x8E7D 0x679D #CJK UNIFIED IDEOGRAPH +0x8E7E 0x6B62 #CJK UNIFIED IDEOGRAPH +0x8E80 0x6B7B #CJK UNIFIED IDEOGRAPH +0x8E81 0x6C0F #CJK UNIFIED IDEOGRAPH +0x8E82 0x7345 #CJK UNIFIED IDEOGRAPH +0x8E83 0x7949 #CJK UNIFIED IDEOGRAPH +0x8E84 0x79C1 #CJK UNIFIED IDEOGRAPH +0x8E85 0x7CF8 #CJK UNIFIED IDEOGRAPH +0x8E86 0x7D19 #CJK UNIFIED IDEOGRAPH +0x8E87 0x7D2B #CJK UNIFIED IDEOGRAPH +0x8E88 0x80A2 #CJK UNIFIED IDEOGRAPH +0x8E89 0x8102 #CJK UNIFIED IDEOGRAPH +0x8E8A 0x81F3 #CJK UNIFIED IDEOGRAPH +0x8E8B 0x8996 #CJK UNIFIED IDEOGRAPH +0x8E8C 0x8A5E #CJK UNIFIED IDEOGRAPH +0x8E8D 0x8A69 #CJK UNIFIED IDEOGRAPH +0x8E8E 0x8A66 #CJK UNIFIED IDEOGRAPH +0x8E8F 0x8A8C #CJK UNIFIED IDEOGRAPH +0x8E90 0x8AEE #CJK UNIFIED IDEOGRAPH +0x8E91 0x8CC7 #CJK UNIFIED IDEOGRAPH +0x8E92 0x8CDC #CJK UNIFIED IDEOGRAPH +0x8E93 0x96CC #CJK UNIFIED IDEOGRAPH +0x8E94 0x98FC #CJK UNIFIED IDEOGRAPH +0x8E95 0x6B6F #CJK UNIFIED IDEOGRAPH +0x8E96 0x4E8B #CJK UNIFIED IDEOGRAPH +0x8E97 0x4F3C #CJK UNIFIED IDEOGRAPH +0x8E98 0x4F8D #CJK UNIFIED IDEOGRAPH +0x8E99 0x5150 #CJK UNIFIED IDEOGRAPH +0x8E9A 0x5B57 #CJK UNIFIED IDEOGRAPH +0x8E9B 0x5BFA #CJK UNIFIED IDEOGRAPH +0x8E9C 0x6148 #CJK UNIFIED IDEOGRAPH +0x8E9D 0x6301 #CJK UNIFIED IDEOGRAPH +0x8E9E 0x6642 #CJK UNIFIED IDEOGRAPH +0x8E9F 0x6B21 #CJK UNIFIED IDEOGRAPH +0x8EA0 0x6ECB #CJK UNIFIED IDEOGRAPH +0x8EA1 0x6CBB #CJK UNIFIED IDEOGRAPH +0x8EA2 0x723E #CJK UNIFIED IDEOGRAPH +0x8EA3 0x74BD #CJK UNIFIED IDEOGRAPH +0x8EA4 0x75D4 #CJK UNIFIED IDEOGRAPH +0x8EA5 0x78C1 #CJK UNIFIED IDEOGRAPH +0x8EA6 0x793A #CJK UNIFIED IDEOGRAPH +0x8EA7 0x800C #CJK UNIFIED IDEOGRAPH +0x8EA8 0x8033 #CJK UNIFIED IDEOGRAPH +0x8EA9 0x81EA #CJK UNIFIED IDEOGRAPH +0x8EAA 0x8494 #CJK UNIFIED IDEOGRAPH +0x8EAB 0x8F9E #CJK UNIFIED IDEOGRAPH +0x8EAC 0x6C50 #CJK UNIFIED IDEOGRAPH +0x8EAD 0x9E7F #CJK UNIFIED IDEOGRAPH +0x8EAE 0x5F0F #CJK UNIFIED IDEOGRAPH +0x8EAF 0x8B58 #CJK UNIFIED IDEOGRAPH +0x8EB0 0x9D2B #CJK UNIFIED IDEOGRAPH +0x8EB1 0x7AFA #CJK UNIFIED IDEOGRAPH +0x8EB2 0x8EF8 #CJK UNIFIED IDEOGRAPH +0x8EB3 0x5B8D #CJK UNIFIED IDEOGRAPH +0x8EB4 0x96EB #CJK UNIFIED IDEOGRAPH +0x8EB5 0x4E03 #CJK UNIFIED IDEOGRAPH +0x8EB6 0x53F1 #CJK UNIFIED IDEOGRAPH +0x8EB7 0x57F7 #CJK UNIFIED IDEOGRAPH +0x8EB8 0x5931 #CJK UNIFIED IDEOGRAPH +0x8EB9 0x5AC9 #CJK UNIFIED IDEOGRAPH +0x8EBA 0x5BA4 #CJK UNIFIED IDEOGRAPH +0x8EBB 0x6089 #CJK UNIFIED IDEOGRAPH +0x8EBC 0x6E7F #CJK UNIFIED IDEOGRAPH +0x8EBD 0x6F06 #CJK UNIFIED IDEOGRAPH +0x8EBE 0x75BE #CJK UNIFIED IDEOGRAPH +0x8EBF 0x8CEA #CJK UNIFIED IDEOGRAPH +0x8EC0 0x5B9F #CJK UNIFIED IDEOGRAPH +0x8EC1 0x8500 #CJK UNIFIED IDEOGRAPH +0x8EC2 0x7BE0 #CJK UNIFIED IDEOGRAPH +0x8EC3 0x5072 #CJK UNIFIED IDEOGRAPH +0x8EC4 0x67F4 #CJK UNIFIED IDEOGRAPH +0x8EC5 0x829D #CJK UNIFIED IDEOGRAPH +0x8EC6 0x5C61 #CJK UNIFIED IDEOGRAPH +0x8EC7 0x854A #CJK UNIFIED IDEOGRAPH +0x8EC8 0x7E1E #CJK UNIFIED IDEOGRAPH +0x8EC9 0x820E #CJK UNIFIED IDEOGRAPH +0x8ECA 0x5199 #CJK UNIFIED IDEOGRAPH +0x8ECB 0x5C04 #CJK UNIFIED IDEOGRAPH +0x8ECC 0x6368 #CJK UNIFIED IDEOGRAPH +0x8ECD 0x8D66 #CJK UNIFIED IDEOGRAPH +0x8ECE 0x659C #CJK UNIFIED IDEOGRAPH +0x8ECF 0x716E #CJK UNIFIED IDEOGRAPH +0x8ED0 0x793E #CJK UNIFIED IDEOGRAPH +0x8ED1 0x7D17 #CJK UNIFIED IDEOGRAPH +0x8ED2 0x8005 #CJK UNIFIED IDEOGRAPH +0x8ED3 0x8B1D #CJK UNIFIED IDEOGRAPH +0x8ED4 0x8ECA #CJK UNIFIED IDEOGRAPH +0x8ED5 0x906E #CJK UNIFIED IDEOGRAPH +0x8ED6 0x86C7 #CJK UNIFIED IDEOGRAPH +0x8ED7 0x90AA #CJK UNIFIED IDEOGRAPH +0x8ED8 0x501F #CJK UNIFIED IDEOGRAPH +0x8ED9 0x52FA #CJK UNIFIED IDEOGRAPH +0x8EDA 0x5C3A #CJK UNIFIED IDEOGRAPH +0x8EDB 0x6753 #CJK UNIFIED IDEOGRAPH +0x8EDC 0x707C #CJK UNIFIED IDEOGRAPH +0x8EDD 0x7235 #CJK UNIFIED IDEOGRAPH +0x8EDE 0x914C #CJK UNIFIED IDEOGRAPH +0x8EDF 0x91C8 #CJK UNIFIED IDEOGRAPH +0x8EE0 0x932B #CJK UNIFIED IDEOGRAPH +0x8EE1 0x82E5 #CJK UNIFIED IDEOGRAPH +0x8EE2 0x5BC2 #CJK UNIFIED IDEOGRAPH +0x8EE3 0x5F31 #CJK UNIFIED IDEOGRAPH +0x8EE4 0x60F9 #CJK UNIFIED IDEOGRAPH +0x8EE5 0x4E3B #CJK UNIFIED IDEOGRAPH +0x8EE6 0x53D6 #CJK UNIFIED IDEOGRAPH +0x8EE7 0x5B88 #CJK UNIFIED IDEOGRAPH +0x8EE8 0x624B #CJK UNIFIED IDEOGRAPH +0x8EE9 0x6731 #CJK UNIFIED IDEOGRAPH +0x8EEA 0x6B8A #CJK UNIFIED IDEOGRAPH +0x8EEB 0x72E9 #CJK UNIFIED IDEOGRAPH +0x8EEC 0x73E0 #CJK UNIFIED IDEOGRAPH +0x8EED 0x7A2E #CJK UNIFIED IDEOGRAPH +0x8EEE 0x816B #CJK UNIFIED IDEOGRAPH +0x8EEF 0x8DA3 #CJK UNIFIED IDEOGRAPH +0x8EF0 0x9152 #CJK UNIFIED IDEOGRAPH +0x8EF1 0x9996 #CJK UNIFIED IDEOGRAPH +0x8EF2 0x5112 #CJK UNIFIED IDEOGRAPH +0x8EF3 0x53D7 #CJK UNIFIED IDEOGRAPH +0x8EF4 0x546A #CJK UNIFIED IDEOGRAPH +0x8EF5 0x5BFF #CJK UNIFIED IDEOGRAPH +0x8EF6 0x6388 #CJK UNIFIED IDEOGRAPH +0x8EF7 0x6A39 #CJK UNIFIED IDEOGRAPH +0x8EF8 0x7DAC #CJK UNIFIED IDEOGRAPH +0x8EF9 0x9700 #CJK UNIFIED IDEOGRAPH +0x8EFA 0x56DA #CJK UNIFIED IDEOGRAPH +0x8EFB 0x53CE #CJK UNIFIED IDEOGRAPH +0x8EFC 0x5468 #CJK UNIFIED IDEOGRAPH +0x8F40 0x5B97 #CJK UNIFIED IDEOGRAPH +0x8F41 0x5C31 #CJK UNIFIED IDEOGRAPH +0x8F42 0x5DDE #CJK UNIFIED IDEOGRAPH +0x8F43 0x4FEE #CJK UNIFIED IDEOGRAPH +0x8F44 0x6101 #CJK UNIFIED IDEOGRAPH +0x8F45 0x62FE #CJK UNIFIED IDEOGRAPH +0x8F46 0x6D32 #CJK UNIFIED IDEOGRAPH +0x8F47 0x79C0 #CJK UNIFIED IDEOGRAPH +0x8F48 0x79CB #CJK UNIFIED IDEOGRAPH +0x8F49 0x7D42 #CJK UNIFIED IDEOGRAPH +0x8F4A 0x7E4D #CJK UNIFIED IDEOGRAPH +0x8F4B 0x7FD2 #CJK UNIFIED IDEOGRAPH +0x8F4C 0x81ED #CJK UNIFIED IDEOGRAPH +0x8F4D 0x821F #CJK UNIFIED IDEOGRAPH +0x8F4E 0x8490 #CJK UNIFIED IDEOGRAPH +0x8F4F 0x8846 #CJK UNIFIED IDEOGRAPH +0x8F50 0x8972 #CJK UNIFIED IDEOGRAPH +0x8F51 0x8B90 #CJK UNIFIED IDEOGRAPH +0x8F52 0x8E74 #CJK UNIFIED IDEOGRAPH +0x8F53 0x8F2F #CJK UNIFIED IDEOGRAPH +0x8F54 0x9031 #CJK UNIFIED IDEOGRAPH +0x8F55 0x914B #CJK UNIFIED IDEOGRAPH +0x8F56 0x916C #CJK UNIFIED IDEOGRAPH +0x8F57 0x96C6 #CJK UNIFIED IDEOGRAPH +0x8F58 0x919C #CJK UNIFIED IDEOGRAPH +0x8F59 0x4EC0 #CJK UNIFIED IDEOGRAPH +0x8F5A 0x4F4F #CJK UNIFIED IDEOGRAPH +0x8F5B 0x5145 #CJK UNIFIED IDEOGRAPH +0x8F5C 0x5341 #CJK UNIFIED IDEOGRAPH +0x8F5D 0x5F93 #CJK UNIFIED IDEOGRAPH +0x8F5E 0x620E #CJK UNIFIED IDEOGRAPH +0x8F5F 0x67D4 #CJK UNIFIED IDEOGRAPH +0x8F60 0x6C41 #CJK UNIFIED IDEOGRAPH +0x8F61 0x6E0B #CJK UNIFIED IDEOGRAPH +0x8F62 0x7363 #CJK UNIFIED IDEOGRAPH +0x8F63 0x7E26 #CJK UNIFIED IDEOGRAPH +0x8F64 0x91CD #CJK UNIFIED IDEOGRAPH +0x8F65 0x9283 #CJK UNIFIED IDEOGRAPH +0x8F66 0x53D4 #CJK UNIFIED IDEOGRAPH +0x8F67 0x5919 #CJK UNIFIED IDEOGRAPH +0x8F68 0x5BBF #CJK UNIFIED IDEOGRAPH +0x8F69 0x6DD1 #CJK UNIFIED IDEOGRAPH +0x8F6A 0x795D #CJK UNIFIED IDEOGRAPH +0x8F6B 0x7E2E #CJK UNIFIED IDEOGRAPH +0x8F6C 0x7C9B #CJK UNIFIED IDEOGRAPH +0x8F6D 0x587E #CJK UNIFIED IDEOGRAPH +0x8F6E 0x719F #CJK UNIFIED IDEOGRAPH +0x8F6F 0x51FA #CJK UNIFIED IDEOGRAPH +0x8F70 0x8853 #CJK UNIFIED IDEOGRAPH +0x8F71 0x8FF0 #CJK UNIFIED IDEOGRAPH +0x8F72 0x4FCA #CJK UNIFIED IDEOGRAPH +0x8F73 0x5CFB #CJK UNIFIED IDEOGRAPH +0x8F74 0x6625 #CJK UNIFIED IDEOGRAPH +0x8F75 0x77AC #CJK UNIFIED IDEOGRAPH +0x8F76 0x7AE3 #CJK UNIFIED IDEOGRAPH +0x8F77 0x821C #CJK UNIFIED IDEOGRAPH +0x8F78 0x99FF #CJK UNIFIED IDEOGRAPH +0x8F79 0x51C6 #CJK UNIFIED IDEOGRAPH +0x8F7A 0x5FAA #CJK UNIFIED IDEOGRAPH +0x8F7B 0x65EC #CJK UNIFIED IDEOGRAPH +0x8F7C 0x696F #CJK UNIFIED IDEOGRAPH +0x8F7D 0x6B89 #CJK UNIFIED IDEOGRAPH +0x8F7E 0x6DF3 #CJK UNIFIED IDEOGRAPH +0x8F80 0x6E96 #CJK UNIFIED IDEOGRAPH +0x8F81 0x6F64 #CJK UNIFIED IDEOGRAPH +0x8F82 0x76FE #CJK UNIFIED IDEOGRAPH +0x8F83 0x7D14 #CJK UNIFIED IDEOGRAPH +0x8F84 0x5DE1 #CJK UNIFIED IDEOGRAPH +0x8F85 0x9075 #CJK UNIFIED IDEOGRAPH +0x8F86 0x9187 #CJK UNIFIED IDEOGRAPH +0x8F87 0x9806 #CJK UNIFIED IDEOGRAPH +0x8F88 0x51E6 #CJK UNIFIED IDEOGRAPH +0x8F89 0x521D #CJK UNIFIED IDEOGRAPH +0x8F8A 0x6240 #CJK UNIFIED IDEOGRAPH +0x8F8B 0x6691 #CJK UNIFIED IDEOGRAPH +0x8F8C 0x66D9 #CJK UNIFIED IDEOGRAPH +0x8F8D 0x6E1A #CJK UNIFIED IDEOGRAPH +0x8F8E 0x5EB6 #CJK UNIFIED IDEOGRAPH +0x8F8F 0x7DD2 #CJK UNIFIED IDEOGRAPH +0x8F90 0x7F72 #CJK UNIFIED IDEOGRAPH +0x8F91 0x66F8 #CJK UNIFIED IDEOGRAPH +0x8F92 0x85AF #CJK UNIFIED IDEOGRAPH +0x8F93 0x85F7 #CJK UNIFIED IDEOGRAPH +0x8F94 0x8AF8 #CJK UNIFIED IDEOGRAPH +0x8F95 0x52A9 #CJK UNIFIED IDEOGRAPH +0x8F96 0x53D9 #CJK UNIFIED IDEOGRAPH +0x8F97 0x5973 #CJK UNIFIED IDEOGRAPH +0x8F98 0x5E8F #CJK UNIFIED IDEOGRAPH +0x8F99 0x5F90 #CJK UNIFIED IDEOGRAPH +0x8F9A 0x6055 #CJK UNIFIED IDEOGRAPH +0x8F9B 0x92E4 #CJK UNIFIED IDEOGRAPH +0x8F9C 0x9664 #CJK UNIFIED IDEOGRAPH +0x8F9D 0x50B7 #CJK UNIFIED IDEOGRAPH +0x8F9E 0x511F #CJK UNIFIED IDEOGRAPH +0x8F9F 0x52DD #CJK UNIFIED IDEOGRAPH +0x8FA0 0x5320 #CJK UNIFIED IDEOGRAPH +0x8FA1 0x5347 #CJK UNIFIED IDEOGRAPH +0x8FA2 0x53EC #CJK UNIFIED IDEOGRAPH +0x8FA3 0x54E8 #CJK UNIFIED IDEOGRAPH +0x8FA4 0x5546 #CJK UNIFIED IDEOGRAPH +0x8FA5 0x5531 #CJK UNIFIED IDEOGRAPH +0x8FA6 0x5617 #CJK UNIFIED IDEOGRAPH +0x8FA7 0x5968 #CJK UNIFIED IDEOGRAPH +0x8FA8 0x59BE #CJK UNIFIED IDEOGRAPH +0x8FA9 0x5A3C #CJK UNIFIED IDEOGRAPH +0x8FAA 0x5BB5 #CJK UNIFIED IDEOGRAPH +0x8FAB 0x5C06 #CJK UNIFIED IDEOGRAPH +0x8FAC 0x5C0F #CJK UNIFIED IDEOGRAPH +0x8FAD 0x5C11 #CJK UNIFIED IDEOGRAPH +0x8FAE 0x5C1A #CJK UNIFIED IDEOGRAPH +0x8FAF 0x5E84 #CJK UNIFIED IDEOGRAPH +0x8FB0 0x5E8A #CJK UNIFIED IDEOGRAPH +0x8FB1 0x5EE0 #CJK UNIFIED IDEOGRAPH +0x8FB2 0x5F70 #CJK UNIFIED IDEOGRAPH +0x8FB3 0x627F #CJK UNIFIED IDEOGRAPH +0x8FB4 0x6284 #CJK UNIFIED IDEOGRAPH +0x8FB5 0x62DB #CJK UNIFIED IDEOGRAPH +0x8FB6 0x638C #CJK UNIFIED IDEOGRAPH +0x8FB7 0x6377 #CJK UNIFIED IDEOGRAPH +0x8FB8 0x6607 #CJK UNIFIED IDEOGRAPH +0x8FB9 0x660C #CJK UNIFIED IDEOGRAPH +0x8FBA 0x662D #CJK UNIFIED IDEOGRAPH +0x8FBB 0x6676 #CJK UNIFIED IDEOGRAPH +0x8FBC 0x677E #CJK UNIFIED IDEOGRAPH +0x8FBD 0x68A2 #CJK UNIFIED IDEOGRAPH +0x8FBE 0x6A1F #CJK UNIFIED IDEOGRAPH +0x8FBF 0x6A35 #CJK UNIFIED IDEOGRAPH +0x8FC0 0x6CBC #CJK UNIFIED IDEOGRAPH +0x8FC1 0x6D88 #CJK UNIFIED IDEOGRAPH +0x8FC2 0x6E09 #CJK UNIFIED IDEOGRAPH +0x8FC3 0x6E58 #CJK UNIFIED IDEOGRAPH +0x8FC4 0x713C #CJK UNIFIED IDEOGRAPH +0x8FC5 0x7126 #CJK UNIFIED IDEOGRAPH +0x8FC6 0x7167 #CJK UNIFIED IDEOGRAPH +0x8FC7 0x75C7 #CJK UNIFIED IDEOGRAPH +0x8FC8 0x7701 #CJK UNIFIED IDEOGRAPH +0x8FC9 0x785D #CJK UNIFIED IDEOGRAPH +0x8FCA 0x7901 #CJK UNIFIED IDEOGRAPH +0x8FCB 0x7965 #CJK UNIFIED IDEOGRAPH +0x8FCC 0x79F0 #CJK UNIFIED IDEOGRAPH +0x8FCD 0x7AE0 #CJK UNIFIED IDEOGRAPH +0x8FCE 0x7B11 #CJK UNIFIED IDEOGRAPH +0x8FCF 0x7CA7 #CJK UNIFIED IDEOGRAPH +0x8FD0 0x7D39 #CJK UNIFIED IDEOGRAPH +0x8FD1 0x8096 #CJK UNIFIED IDEOGRAPH +0x8FD2 0x83D6 #CJK UNIFIED IDEOGRAPH +0x8FD3 0x848B #CJK UNIFIED IDEOGRAPH +0x8FD4 0x8549 #CJK UNIFIED IDEOGRAPH +0x8FD5 0x885D #CJK UNIFIED IDEOGRAPH +0x8FD6 0x88F3 #CJK UNIFIED IDEOGRAPH +0x8FD7 0x8A1F #CJK UNIFIED IDEOGRAPH +0x8FD8 0x8A3C #CJK UNIFIED IDEOGRAPH +0x8FD9 0x8A54 #CJK UNIFIED IDEOGRAPH +0x8FDA 0x8A73 #CJK UNIFIED IDEOGRAPH +0x8FDB 0x8C61 #CJK UNIFIED IDEOGRAPH +0x8FDC 0x8CDE #CJK UNIFIED IDEOGRAPH +0x8FDD 0x91A4 #CJK UNIFIED IDEOGRAPH +0x8FDE 0x9266 #CJK UNIFIED IDEOGRAPH +0x8FDF 0x937E #CJK UNIFIED IDEOGRAPH +0x8FE0 0x9418 #CJK UNIFIED IDEOGRAPH +0x8FE1 0x969C #CJK UNIFIED IDEOGRAPH +0x8FE2 0x9798 #CJK UNIFIED IDEOGRAPH +0x8FE3 0x4E0A #CJK UNIFIED IDEOGRAPH +0x8FE4 0x4E08 #CJK UNIFIED IDEOGRAPH +0x8FE5 0x4E1E #CJK UNIFIED IDEOGRAPH +0x8FE6 0x4E57 #CJK UNIFIED IDEOGRAPH +0x8FE7 0x5197 #CJK UNIFIED IDEOGRAPH +0x8FE8 0x5270 #CJK UNIFIED IDEOGRAPH +0x8FE9 0x57CE #CJK UNIFIED IDEOGRAPH +0x8FEA 0x5834 #CJK UNIFIED IDEOGRAPH +0x8FEB 0x58CC #CJK UNIFIED IDEOGRAPH +0x8FEC 0x5B22 #CJK UNIFIED IDEOGRAPH +0x8FED 0x5E38 #CJK UNIFIED IDEOGRAPH +0x8FEE 0x60C5 #CJK UNIFIED IDEOGRAPH +0x8FEF 0x64FE #CJK UNIFIED IDEOGRAPH +0x8FF0 0x6761 #CJK UNIFIED IDEOGRAPH +0x8FF1 0x6756 #CJK UNIFIED IDEOGRAPH +0x8FF2 0x6D44 #CJK UNIFIED IDEOGRAPH +0x8FF3 0x72B6 #CJK UNIFIED IDEOGRAPH +0x8FF4 0x7573 #CJK UNIFIED IDEOGRAPH +0x8FF5 0x7A63 #CJK UNIFIED IDEOGRAPH +0x8FF6 0x84B8 #CJK UNIFIED IDEOGRAPH +0x8FF7 0x8B72 #CJK UNIFIED IDEOGRAPH +0x8FF8 0x91B8 #CJK UNIFIED IDEOGRAPH +0x8FF9 0x9320 #CJK UNIFIED IDEOGRAPH +0x8FFA 0x5631 #CJK UNIFIED IDEOGRAPH +0x8FFB 0x57F4 #CJK UNIFIED IDEOGRAPH +0x8FFC 0x98FE #CJK UNIFIED IDEOGRAPH +0x9040 0x62ED #CJK UNIFIED IDEOGRAPH +0x9041 0x690D #CJK UNIFIED IDEOGRAPH +0x9042 0x6B96 #CJK UNIFIED IDEOGRAPH +0x9043 0x71ED #CJK UNIFIED IDEOGRAPH +0x9044 0x7E54 #CJK UNIFIED IDEOGRAPH +0x9045 0x8077 #CJK UNIFIED IDEOGRAPH +0x9046 0x8272 #CJK UNIFIED IDEOGRAPH +0x9047 0x89E6 #CJK UNIFIED IDEOGRAPH +0x9048 0x98DF #CJK UNIFIED IDEOGRAPH +0x9049 0x8755 #CJK UNIFIED IDEOGRAPH +0x904A 0x8FB1 #CJK UNIFIED IDEOGRAPH +0x904B 0x5C3B #CJK UNIFIED IDEOGRAPH +0x904C 0x4F38 #CJK UNIFIED IDEOGRAPH +0x904D 0x4FE1 #CJK UNIFIED IDEOGRAPH +0x904E 0x4FB5 #CJK UNIFIED IDEOGRAPH +0x904F 0x5507 #CJK UNIFIED IDEOGRAPH +0x9050 0x5A20 #CJK UNIFIED IDEOGRAPH +0x9051 0x5BDD #CJK UNIFIED IDEOGRAPH +0x9052 0x5BE9 #CJK UNIFIED IDEOGRAPH +0x9053 0x5FC3 #CJK UNIFIED IDEOGRAPH +0x9054 0x614E #CJK UNIFIED IDEOGRAPH +0x9055 0x632F #CJK UNIFIED IDEOGRAPH +0x9056 0x65B0 #CJK UNIFIED IDEOGRAPH +0x9057 0x664B #CJK UNIFIED IDEOGRAPH +0x9058 0x68EE #CJK UNIFIED IDEOGRAPH +0x9059 0x699B #CJK UNIFIED IDEOGRAPH +0x905A 0x6D78 #CJK UNIFIED IDEOGRAPH +0x905B 0x6DF1 #CJK UNIFIED IDEOGRAPH +0x905C 0x7533 #CJK UNIFIED IDEOGRAPH +0x905D 0x75B9 #CJK UNIFIED IDEOGRAPH +0x905E 0x771F #CJK UNIFIED IDEOGRAPH +0x905F 0x795E #CJK UNIFIED IDEOGRAPH +0x9060 0x79E6 #CJK UNIFIED IDEOGRAPH +0x9061 0x7D33 #CJK UNIFIED IDEOGRAPH +0x9062 0x81E3 #CJK UNIFIED IDEOGRAPH +0x9063 0x82AF #CJK UNIFIED IDEOGRAPH +0x9064 0x85AA #CJK UNIFIED IDEOGRAPH +0x9065 0x89AA #CJK UNIFIED IDEOGRAPH +0x9066 0x8A3A #CJK UNIFIED IDEOGRAPH +0x9067 0x8EAB #CJK UNIFIED IDEOGRAPH +0x9068 0x8F9B #CJK UNIFIED IDEOGRAPH +0x9069 0x9032 #CJK UNIFIED IDEOGRAPH +0x906A 0x91DD #CJK UNIFIED IDEOGRAPH +0x906B 0x9707 #CJK UNIFIED IDEOGRAPH +0x906C 0x4EBA #CJK UNIFIED IDEOGRAPH +0x906D 0x4EC1 #CJK UNIFIED IDEOGRAPH +0x906E 0x5203 #CJK UNIFIED IDEOGRAPH +0x906F 0x5875 #CJK UNIFIED IDEOGRAPH +0x9070 0x58EC #CJK UNIFIED IDEOGRAPH +0x9071 0x5C0B #CJK UNIFIED IDEOGRAPH +0x9072 0x751A #CJK UNIFIED IDEOGRAPH +0x9073 0x5C3D #CJK UNIFIED IDEOGRAPH +0x9074 0x814E #CJK UNIFIED IDEOGRAPH +0x9075 0x8A0A #CJK UNIFIED IDEOGRAPH +0x9076 0x8FC5 #CJK UNIFIED IDEOGRAPH +0x9077 0x9663 #CJK UNIFIED IDEOGRAPH +0x9078 0x976D #CJK UNIFIED IDEOGRAPH +0x9079 0x7B25 #CJK UNIFIED IDEOGRAPH +0x907A 0x8ACF #CJK UNIFIED IDEOGRAPH +0x907B 0x9808 #CJK UNIFIED IDEOGRAPH +0x907C 0x9162 #CJK UNIFIED IDEOGRAPH +0x907D 0x56F3 #CJK UNIFIED IDEOGRAPH +0x907E 0x53A8 #CJK UNIFIED IDEOGRAPH +0x9080 0x9017 #CJK UNIFIED IDEOGRAPH +0x9081 0x5439 #CJK UNIFIED IDEOGRAPH +0x9082 0x5782 #CJK UNIFIED IDEOGRAPH +0x9083 0x5E25 #CJK UNIFIED IDEOGRAPH +0x9084 0x63A8 #CJK UNIFIED IDEOGRAPH +0x9085 0x6C34 #CJK UNIFIED IDEOGRAPH +0x9086 0x708A #CJK UNIFIED IDEOGRAPH +0x9087 0x7761 #CJK UNIFIED IDEOGRAPH +0x9088 0x7C8B #CJK UNIFIED IDEOGRAPH +0x9089 0x7FE0 #CJK UNIFIED IDEOGRAPH +0x908A 0x8870 #CJK UNIFIED IDEOGRAPH +0x908B 0x9042 #CJK UNIFIED IDEOGRAPH +0x908C 0x9154 #CJK UNIFIED IDEOGRAPH +0x908D 0x9310 #CJK UNIFIED IDEOGRAPH +0x908E 0x9318 #CJK UNIFIED IDEOGRAPH +0x908F 0x968F #CJK UNIFIED IDEOGRAPH +0x9090 0x745E #CJK UNIFIED IDEOGRAPH +0x9091 0x9AC4 #CJK UNIFIED IDEOGRAPH +0x9092 0x5D07 #CJK UNIFIED IDEOGRAPH +0x9093 0x5D69 #CJK UNIFIED IDEOGRAPH +0x9094 0x6570 #CJK UNIFIED IDEOGRAPH +0x9095 0x67A2 #CJK UNIFIED IDEOGRAPH +0x9096 0x8DA8 #CJK UNIFIED IDEOGRAPH +0x9097 0x96DB #CJK UNIFIED IDEOGRAPH +0x9098 0x636E #CJK UNIFIED IDEOGRAPH +0x9099 0x6749 #CJK UNIFIED IDEOGRAPH +0x909A 0x6919 #CJK UNIFIED IDEOGRAPH +0x909B 0x83C5 #CJK UNIFIED IDEOGRAPH +0x909C 0x9817 #CJK UNIFIED IDEOGRAPH +0x909D 0x96C0 #CJK UNIFIED IDEOGRAPH +0x909E 0x88FE #CJK UNIFIED IDEOGRAPH +0x909F 0x6F84 #CJK UNIFIED IDEOGRAPH +0x90A0 0x647A #CJK UNIFIED IDEOGRAPH +0x90A1 0x5BF8 #CJK UNIFIED IDEOGRAPH +0x90A2 0x4E16 #CJK UNIFIED IDEOGRAPH +0x90A3 0x702C #CJK UNIFIED IDEOGRAPH +0x90A4 0x755D #CJK UNIFIED IDEOGRAPH +0x90A5 0x662F #CJK UNIFIED IDEOGRAPH +0x90A6 0x51C4 #CJK UNIFIED IDEOGRAPH +0x90A7 0x5236 #CJK UNIFIED IDEOGRAPH +0x90A8 0x52E2 #CJK UNIFIED IDEOGRAPH +0x90A9 0x59D3 #CJK UNIFIED IDEOGRAPH +0x90AA 0x5F81 #CJK UNIFIED IDEOGRAPH +0x90AB 0x6027 #CJK UNIFIED IDEOGRAPH +0x90AC 0x6210 #CJK UNIFIED IDEOGRAPH +0x90AD 0x653F #CJK UNIFIED IDEOGRAPH +0x90AE 0x6574 #CJK UNIFIED IDEOGRAPH +0x90AF 0x661F #CJK UNIFIED IDEOGRAPH +0x90B0 0x6674 #CJK UNIFIED IDEOGRAPH +0x90B1 0x68F2 #CJK UNIFIED IDEOGRAPH +0x90B2 0x6816 #CJK UNIFIED IDEOGRAPH +0x90B3 0x6B63 #CJK UNIFIED IDEOGRAPH +0x90B4 0x6E05 #CJK UNIFIED IDEOGRAPH +0x90B5 0x7272 #CJK UNIFIED IDEOGRAPH +0x90B6 0x751F #CJK UNIFIED IDEOGRAPH +0x90B7 0x76DB #CJK UNIFIED IDEOGRAPH +0x90B8 0x7CBE #CJK UNIFIED IDEOGRAPH +0x90B9 0x8056 #CJK UNIFIED IDEOGRAPH +0x90BA 0x58F0 #CJK UNIFIED IDEOGRAPH +0x90BB 0x88FD #CJK UNIFIED IDEOGRAPH +0x90BC 0x897F #CJK UNIFIED IDEOGRAPH +0x90BD 0x8AA0 #CJK UNIFIED IDEOGRAPH +0x90BE 0x8A93 #CJK UNIFIED IDEOGRAPH +0x90BF 0x8ACB #CJK UNIFIED IDEOGRAPH +0x90C0 0x901D #CJK UNIFIED IDEOGRAPH +0x90C1 0x9192 #CJK UNIFIED IDEOGRAPH +0x90C2 0x9752 #CJK UNIFIED IDEOGRAPH +0x90C3 0x9759 #CJK UNIFIED IDEOGRAPH +0x90C4 0x6589 #CJK UNIFIED IDEOGRAPH +0x90C5 0x7A0E #CJK UNIFIED IDEOGRAPH +0x90C6 0x8106 #CJK UNIFIED IDEOGRAPH +0x90C7 0x96BB #CJK UNIFIED IDEOGRAPH +0x90C8 0x5E2D #CJK UNIFIED IDEOGRAPH +0x90C9 0x60DC #CJK UNIFIED IDEOGRAPH +0x90CA 0x621A #CJK UNIFIED IDEOGRAPH +0x90CB 0x65A5 #CJK UNIFIED IDEOGRAPH +0x90CC 0x6614 #CJK UNIFIED IDEOGRAPH +0x90CD 0x6790 #CJK UNIFIED IDEOGRAPH +0x90CE 0x77F3 #CJK UNIFIED IDEOGRAPH +0x90CF 0x7A4D #CJK UNIFIED IDEOGRAPH +0x90D0 0x7C4D #CJK UNIFIED IDEOGRAPH +0x90D1 0x7E3E #CJK UNIFIED IDEOGRAPH +0x90D2 0x810A #CJK UNIFIED IDEOGRAPH +0x90D3 0x8CAC #CJK UNIFIED IDEOGRAPH +0x90D4 0x8D64 #CJK UNIFIED IDEOGRAPH +0x90D5 0x8DE1 #CJK UNIFIED IDEOGRAPH +0x90D6 0x8E5F #CJK UNIFIED IDEOGRAPH +0x90D7 0x78A9 #CJK UNIFIED IDEOGRAPH +0x90D8 0x5207 #CJK UNIFIED IDEOGRAPH +0x90D9 0x62D9 #CJK UNIFIED IDEOGRAPH +0x90DA 0x63A5 #CJK UNIFIED IDEOGRAPH +0x90DB 0x6442 #CJK UNIFIED IDEOGRAPH +0x90DC 0x6298 #CJK UNIFIED IDEOGRAPH +0x90DD 0x8A2D #CJK UNIFIED IDEOGRAPH +0x90DE 0x7A83 #CJK UNIFIED IDEOGRAPH +0x90DF 0x7BC0 #CJK UNIFIED IDEOGRAPH +0x90E0 0x8AAC #CJK UNIFIED IDEOGRAPH +0x90E1 0x96EA #CJK UNIFIED IDEOGRAPH +0x90E2 0x7D76 #CJK UNIFIED IDEOGRAPH +0x90E3 0x820C #CJK UNIFIED IDEOGRAPH +0x90E4 0x8749 #CJK UNIFIED IDEOGRAPH +0x90E5 0x4ED9 #CJK UNIFIED IDEOGRAPH +0x90E6 0x5148 #CJK UNIFIED IDEOGRAPH +0x90E7 0x5343 #CJK UNIFIED IDEOGRAPH +0x90E8 0x5360 #CJK UNIFIED IDEOGRAPH +0x90E9 0x5BA3 #CJK UNIFIED IDEOGRAPH +0x90EA 0x5C02 #CJK UNIFIED IDEOGRAPH +0x90EB 0x5C16 #CJK UNIFIED IDEOGRAPH +0x90EC 0x5DDD #CJK UNIFIED IDEOGRAPH +0x90ED 0x6226 #CJK UNIFIED IDEOGRAPH +0x90EE 0x6247 #CJK UNIFIED IDEOGRAPH +0x90EF 0x64B0 #CJK UNIFIED IDEOGRAPH +0x90F0 0x6813 #CJK UNIFIED IDEOGRAPH +0x90F1 0x6834 #CJK UNIFIED IDEOGRAPH +0x90F2 0x6CC9 #CJK UNIFIED IDEOGRAPH +0x90F3 0x6D45 #CJK UNIFIED IDEOGRAPH +0x90F4 0x6D17 #CJK UNIFIED IDEOGRAPH +0x90F5 0x67D3 #CJK UNIFIED IDEOGRAPH +0x90F6 0x6F5C #CJK UNIFIED IDEOGRAPH +0x90F7 0x714E #CJK UNIFIED IDEOGRAPH +0x90F8 0x717D #CJK UNIFIED IDEOGRAPH +0x90F9 0x65CB #CJK UNIFIED IDEOGRAPH +0x90FA 0x7A7F #CJK UNIFIED IDEOGRAPH +0x90FB 0x7BAD #CJK UNIFIED IDEOGRAPH +0x90FC 0x7DDA #CJK UNIFIED IDEOGRAPH +0x9140 0x7E4A #CJK UNIFIED IDEOGRAPH +0x9141 0x7FA8 #CJK UNIFIED IDEOGRAPH +0x9142 0x817A #CJK UNIFIED IDEOGRAPH +0x9143 0x821B #CJK UNIFIED IDEOGRAPH +0x9144 0x8239 #CJK UNIFIED IDEOGRAPH +0x9145 0x85A6 #CJK UNIFIED IDEOGRAPH +0x9146 0x8A6E #CJK UNIFIED IDEOGRAPH +0x9147 0x8CCE #CJK UNIFIED IDEOGRAPH +0x9148 0x8DF5 #CJK UNIFIED IDEOGRAPH +0x9149 0x9078 #CJK UNIFIED IDEOGRAPH +0x914A 0x9077 #CJK UNIFIED IDEOGRAPH +0x914B 0x92AD #CJK UNIFIED IDEOGRAPH +0x914C 0x9291 #CJK UNIFIED IDEOGRAPH +0x914D 0x9583 #CJK UNIFIED IDEOGRAPH +0x914E 0x9BAE #CJK UNIFIED IDEOGRAPH +0x914F 0x524D #CJK UNIFIED IDEOGRAPH +0x9150 0x5584 #CJK UNIFIED IDEOGRAPH +0x9151 0x6F38 #CJK UNIFIED IDEOGRAPH +0x9152 0x7136 #CJK UNIFIED IDEOGRAPH +0x9153 0x5168 #CJK UNIFIED IDEOGRAPH +0x9154 0x7985 #CJK UNIFIED IDEOGRAPH +0x9155 0x7E55 #CJK UNIFIED IDEOGRAPH +0x9156 0x81B3 #CJK UNIFIED IDEOGRAPH +0x9157 0x7CCE #CJK UNIFIED IDEOGRAPH +0x9158 0x564C #CJK UNIFIED IDEOGRAPH +0x9159 0x5851 #CJK UNIFIED IDEOGRAPH +0x915A 0x5CA8 #CJK UNIFIED IDEOGRAPH +0x915B 0x63AA #CJK UNIFIED IDEOGRAPH +0x915C 0x66FE #CJK UNIFIED IDEOGRAPH +0x915D 0x66FD #CJK UNIFIED IDEOGRAPH +0x915E 0x695A #CJK UNIFIED IDEOGRAPH +0x915F 0x72D9 #CJK UNIFIED IDEOGRAPH +0x9160 0x758F #CJK UNIFIED IDEOGRAPH +0x9161 0x758E #CJK UNIFIED IDEOGRAPH +0x9162 0x790E #CJK UNIFIED IDEOGRAPH +0x9163 0x7956 #CJK UNIFIED IDEOGRAPH +0x9164 0x79DF #CJK UNIFIED IDEOGRAPH +0x9165 0x7C97 #CJK UNIFIED IDEOGRAPH +0x9166 0x7D20 #CJK UNIFIED IDEOGRAPH +0x9167 0x7D44 #CJK UNIFIED IDEOGRAPH +0x9168 0x8607 #CJK UNIFIED IDEOGRAPH +0x9169 0x8A34 #CJK UNIFIED IDEOGRAPH +0x916A 0x963B #CJK UNIFIED IDEOGRAPH +0x916B 0x9061 #CJK UNIFIED IDEOGRAPH +0x916C 0x9F20 #CJK UNIFIED IDEOGRAPH +0x916D 0x50E7 #CJK UNIFIED IDEOGRAPH +0x916E 0x5275 #CJK UNIFIED IDEOGRAPH +0x916F 0x53CC #CJK UNIFIED IDEOGRAPH +0x9170 0x53E2 #CJK UNIFIED IDEOGRAPH +0x9171 0x5009 #CJK UNIFIED IDEOGRAPH +0x9172 0x55AA #CJK UNIFIED IDEOGRAPH +0x9173 0x58EE #CJK UNIFIED IDEOGRAPH +0x9174 0x594F #CJK UNIFIED IDEOGRAPH +0x9175 0x723D #CJK UNIFIED IDEOGRAPH +0x9176 0x5B8B #CJK UNIFIED IDEOGRAPH +0x9177 0x5C64 #CJK UNIFIED IDEOGRAPH +0x9178 0x531D #CJK UNIFIED IDEOGRAPH +0x9179 0x60E3 #CJK UNIFIED IDEOGRAPH +0x917A 0x60F3 #CJK UNIFIED IDEOGRAPH +0x917B 0x635C #CJK UNIFIED IDEOGRAPH +0x917C 0x6383 #CJK UNIFIED IDEOGRAPH +0x917D 0x633F #CJK UNIFIED IDEOGRAPH +0x917E 0x63BB #CJK UNIFIED IDEOGRAPH +0x9180 0x64CD #CJK UNIFIED IDEOGRAPH +0x9181 0x65E9 #CJK UNIFIED IDEOGRAPH +0x9182 0x66F9 #CJK UNIFIED IDEOGRAPH +0x9183 0x5DE3 #CJK UNIFIED IDEOGRAPH +0x9184 0x69CD #CJK UNIFIED IDEOGRAPH +0x9185 0x69FD #CJK UNIFIED IDEOGRAPH +0x9186 0x6F15 #CJK UNIFIED IDEOGRAPH +0x9187 0x71E5 #CJK UNIFIED IDEOGRAPH +0x9188 0x4E89 #CJK UNIFIED IDEOGRAPH +0x9189 0x75E9 #CJK UNIFIED IDEOGRAPH +0x918A 0x76F8 #CJK UNIFIED IDEOGRAPH +0x918B 0x7A93 #CJK UNIFIED IDEOGRAPH +0x918C 0x7CDF #CJK UNIFIED IDEOGRAPH +0x918D 0x7DCF #CJK UNIFIED IDEOGRAPH +0x918E 0x7D9C #CJK UNIFIED IDEOGRAPH +0x918F 0x8061 #CJK UNIFIED IDEOGRAPH +0x9190 0x8349 #CJK UNIFIED IDEOGRAPH +0x9191 0x8358 #CJK UNIFIED IDEOGRAPH +0x9192 0x846C #CJK UNIFIED IDEOGRAPH +0x9193 0x84BC #CJK UNIFIED IDEOGRAPH +0x9194 0x85FB #CJK UNIFIED IDEOGRAPH +0x9195 0x88C5 #CJK UNIFIED IDEOGRAPH +0x9196 0x8D70 #CJK UNIFIED IDEOGRAPH +0x9197 0x9001 #CJK UNIFIED IDEOGRAPH +0x9198 0x906D #CJK UNIFIED IDEOGRAPH +0x9199 0x9397 #CJK UNIFIED IDEOGRAPH +0x919A 0x971C #CJK UNIFIED IDEOGRAPH +0x919B 0x9A12 #CJK UNIFIED IDEOGRAPH +0x919C 0x50CF #CJK UNIFIED IDEOGRAPH +0x919D 0x5897 #CJK UNIFIED IDEOGRAPH +0x919E 0x618E #CJK UNIFIED IDEOGRAPH +0x919F 0x81D3 #CJK UNIFIED IDEOGRAPH +0x91A0 0x8535 #CJK UNIFIED IDEOGRAPH +0x91A1 0x8D08 #CJK UNIFIED IDEOGRAPH +0x91A2 0x9020 #CJK UNIFIED IDEOGRAPH +0x91A3 0x4FC3 #CJK UNIFIED IDEOGRAPH +0x91A4 0x5074 #CJK UNIFIED IDEOGRAPH +0x91A5 0x5247 #CJK UNIFIED IDEOGRAPH +0x91A6 0x5373 #CJK UNIFIED IDEOGRAPH +0x91A7 0x606F #CJK UNIFIED IDEOGRAPH +0x91A8 0x6349 #CJK UNIFIED IDEOGRAPH +0x91A9 0x675F #CJK UNIFIED IDEOGRAPH +0x91AA 0x6E2C #CJK UNIFIED IDEOGRAPH +0x91AB 0x8DB3 #CJK UNIFIED IDEOGRAPH +0x91AC 0x901F #CJK UNIFIED IDEOGRAPH +0x91AD 0x4FD7 #CJK UNIFIED IDEOGRAPH +0x91AE 0x5C5E #CJK UNIFIED IDEOGRAPH +0x91AF 0x8CCA #CJK UNIFIED IDEOGRAPH +0x91B0 0x65CF #CJK UNIFIED IDEOGRAPH +0x91B1 0x7D9A #CJK UNIFIED IDEOGRAPH +0x91B2 0x5352 #CJK UNIFIED IDEOGRAPH +0x91B3 0x8896 #CJK UNIFIED IDEOGRAPH +0x91B4 0x5176 #CJK UNIFIED IDEOGRAPH +0x91B5 0x63C3 #CJK UNIFIED IDEOGRAPH +0x91B6 0x5B58 #CJK UNIFIED IDEOGRAPH +0x91B7 0x5B6B #CJK UNIFIED IDEOGRAPH +0x91B8 0x5C0A #CJK UNIFIED IDEOGRAPH +0x91B9 0x640D #CJK UNIFIED IDEOGRAPH +0x91BA 0x6751 #CJK UNIFIED IDEOGRAPH +0x91BB 0x905C #CJK UNIFIED IDEOGRAPH +0x91BC 0x4ED6 #CJK UNIFIED IDEOGRAPH +0x91BD 0x591A #CJK UNIFIED IDEOGRAPH +0x91BE 0x592A #CJK UNIFIED IDEOGRAPH +0x91BF 0x6C70 #CJK UNIFIED IDEOGRAPH +0x91C0 0x8A51 #CJK UNIFIED IDEOGRAPH +0x91C1 0x553E #CJK UNIFIED IDEOGRAPH +0x91C2 0x5815 #CJK UNIFIED IDEOGRAPH +0x91C3 0x59A5 #CJK UNIFIED IDEOGRAPH +0x91C4 0x60F0 #CJK UNIFIED IDEOGRAPH +0x91C5 0x6253 #CJK UNIFIED IDEOGRAPH +0x91C6 0x67C1 #CJK UNIFIED IDEOGRAPH +0x91C7 0x8235 #CJK UNIFIED IDEOGRAPH +0x91C8 0x6955 #CJK UNIFIED IDEOGRAPH +0x91C9 0x9640 #CJK UNIFIED IDEOGRAPH +0x91CA 0x99C4 #CJK UNIFIED IDEOGRAPH +0x91CB 0x9A28 #CJK UNIFIED IDEOGRAPH +0x91CC 0x4F53 #CJK UNIFIED IDEOGRAPH +0x91CD 0x5806 #CJK UNIFIED IDEOGRAPH +0x91CE 0x5BFE #CJK UNIFIED IDEOGRAPH +0x91CF 0x8010 #CJK UNIFIED IDEOGRAPH +0x91D0 0x5CB1 #CJK UNIFIED IDEOGRAPH +0x91D1 0x5E2F #CJK UNIFIED IDEOGRAPH +0x91D2 0x5F85 #CJK UNIFIED IDEOGRAPH +0x91D3 0x6020 #CJK UNIFIED IDEOGRAPH +0x91D4 0x614B #CJK UNIFIED IDEOGRAPH +0x91D5 0x6234 #CJK UNIFIED IDEOGRAPH +0x91D6 0x66FF #CJK UNIFIED IDEOGRAPH +0x91D7 0x6CF0 #CJK UNIFIED IDEOGRAPH +0x91D8 0x6EDE #CJK UNIFIED IDEOGRAPH +0x91D9 0x80CE #CJK UNIFIED IDEOGRAPH +0x91DA 0x817F #CJK UNIFIED IDEOGRAPH +0x91DB 0x82D4 #CJK UNIFIED IDEOGRAPH +0x91DC 0x888B #CJK UNIFIED IDEOGRAPH +0x91DD 0x8CB8 #CJK UNIFIED IDEOGRAPH +0x91DE 0x9000 #CJK UNIFIED IDEOGRAPH +0x91DF 0x902E #CJK UNIFIED IDEOGRAPH +0x91E0 0x968A #CJK UNIFIED IDEOGRAPH +0x91E1 0x9EDB #CJK UNIFIED IDEOGRAPH +0x91E2 0x9BDB #CJK UNIFIED IDEOGRAPH +0x91E3 0x4EE3 #CJK UNIFIED IDEOGRAPH +0x91E4 0x53F0 #CJK UNIFIED IDEOGRAPH +0x91E5 0x5927 #CJK UNIFIED IDEOGRAPH +0x91E6 0x7B2C #CJK UNIFIED IDEOGRAPH +0x91E7 0x918D #CJK UNIFIED IDEOGRAPH +0x91E8 0x984C #CJK UNIFIED IDEOGRAPH +0x91E9 0x9DF9 #CJK UNIFIED IDEOGRAPH +0x91EA 0x6EDD #CJK UNIFIED IDEOGRAPH +0x91EB 0x7027 #CJK UNIFIED IDEOGRAPH +0x91EC 0x5353 #CJK UNIFIED IDEOGRAPH +0x91ED 0x5544 #CJK UNIFIED IDEOGRAPH +0x91EE 0x5B85 #CJK UNIFIED IDEOGRAPH +0x91EF 0x6258 #CJK UNIFIED IDEOGRAPH +0x91F0 0x629E #CJK UNIFIED IDEOGRAPH +0x91F1 0x62D3 #CJK UNIFIED IDEOGRAPH +0x91F2 0x6CA2 #CJK UNIFIED IDEOGRAPH +0x91F3 0x6FEF #CJK UNIFIED IDEOGRAPH +0x91F4 0x7422 #CJK UNIFIED IDEOGRAPH +0x91F5 0x8A17 #CJK UNIFIED IDEOGRAPH +0x91F6 0x9438 #CJK UNIFIED IDEOGRAPH +0x91F7 0x6FC1 #CJK UNIFIED IDEOGRAPH +0x91F8 0x8AFE #CJK UNIFIED IDEOGRAPH +0x91F9 0x8338 #CJK UNIFIED IDEOGRAPH +0x91FA 0x51E7 #CJK UNIFIED IDEOGRAPH +0x91FB 0x86F8 #CJK UNIFIED IDEOGRAPH +0x91FC 0x53EA #CJK UNIFIED IDEOGRAPH +0x9240 0x53E9 #CJK UNIFIED IDEOGRAPH +0x9241 0x4F46 #CJK UNIFIED IDEOGRAPH +0x9242 0x9054 #CJK UNIFIED IDEOGRAPH +0x9243 0x8FB0 #CJK UNIFIED IDEOGRAPH +0x9244 0x596A #CJK UNIFIED IDEOGRAPH +0x9245 0x8131 #CJK UNIFIED IDEOGRAPH +0x9246 0x5DFD #CJK UNIFIED IDEOGRAPH +0x9247 0x7AEA #CJK UNIFIED IDEOGRAPH +0x9248 0x8FBF #CJK UNIFIED IDEOGRAPH +0x9249 0x68DA #CJK UNIFIED IDEOGRAPH +0x924A 0x8C37 #CJK UNIFIED IDEOGRAPH +0x924B 0x72F8 #CJK UNIFIED IDEOGRAPH +0x924C 0x9C48 #CJK UNIFIED IDEOGRAPH +0x924D 0x6A3D #CJK UNIFIED IDEOGRAPH +0x924E 0x8AB0 #CJK UNIFIED IDEOGRAPH +0x924F 0x4E39 #CJK UNIFIED IDEOGRAPH +0x9250 0x5358 #CJK UNIFIED IDEOGRAPH +0x9251 0x5606 #CJK UNIFIED IDEOGRAPH +0x9252 0x5766 #CJK UNIFIED IDEOGRAPH +0x9253 0x62C5 #CJK UNIFIED IDEOGRAPH +0x9254 0x63A2 #CJK UNIFIED IDEOGRAPH +0x9255 0x65E6 #CJK UNIFIED IDEOGRAPH +0x9256 0x6B4E #CJK UNIFIED IDEOGRAPH +0x9257 0x6DE1 #CJK UNIFIED IDEOGRAPH +0x9258 0x6E5B #CJK UNIFIED IDEOGRAPH +0x9259 0x70AD #CJK UNIFIED IDEOGRAPH +0x925A 0x77ED #CJK UNIFIED IDEOGRAPH +0x925B 0x7AEF #CJK UNIFIED IDEOGRAPH +0x925C 0x7BAA #CJK UNIFIED IDEOGRAPH +0x925D 0x7DBB #CJK UNIFIED IDEOGRAPH +0x925E 0x803D #CJK UNIFIED IDEOGRAPH +0x925F 0x80C6 #CJK UNIFIED IDEOGRAPH +0x9260 0x86CB #CJK UNIFIED IDEOGRAPH +0x9261 0x8A95 #CJK UNIFIED IDEOGRAPH +0x9262 0x935B #CJK UNIFIED IDEOGRAPH +0x9263 0x56E3 #CJK UNIFIED IDEOGRAPH +0x9264 0x58C7 #CJK UNIFIED IDEOGRAPH +0x9265 0x5F3E #CJK UNIFIED IDEOGRAPH +0x9266 0x65AD #CJK UNIFIED IDEOGRAPH +0x9267 0x6696 #CJK UNIFIED IDEOGRAPH +0x9268 0x6A80 #CJK UNIFIED IDEOGRAPH +0x9269 0x6BB5 #CJK UNIFIED IDEOGRAPH +0x926A 0x7537 #CJK UNIFIED IDEOGRAPH +0x926B 0x8AC7 #CJK UNIFIED IDEOGRAPH +0x926C 0x5024 #CJK UNIFIED IDEOGRAPH +0x926D 0x77E5 #CJK UNIFIED IDEOGRAPH +0x926E 0x5730 #CJK UNIFIED IDEOGRAPH +0x926F 0x5F1B #CJK UNIFIED IDEOGRAPH +0x9270 0x6065 #CJK UNIFIED IDEOGRAPH +0x9271 0x667A #CJK UNIFIED IDEOGRAPH +0x9272 0x6C60 #CJK UNIFIED IDEOGRAPH +0x9273 0x75F4 #CJK UNIFIED IDEOGRAPH +0x9274 0x7A1A #CJK UNIFIED IDEOGRAPH +0x9275 0x7F6E #CJK UNIFIED IDEOGRAPH +0x9276 0x81F4 #CJK UNIFIED IDEOGRAPH +0x9277 0x8718 #CJK UNIFIED IDEOGRAPH +0x9278 0x9045 #CJK UNIFIED IDEOGRAPH +0x9279 0x99B3 #CJK UNIFIED IDEOGRAPH +0x927A 0x7BC9 #CJK UNIFIED IDEOGRAPH +0x927B 0x755C #CJK UNIFIED IDEOGRAPH +0x927C 0x7AF9 #CJK UNIFIED IDEOGRAPH +0x927D 0x7B51 #CJK UNIFIED IDEOGRAPH +0x927E 0x84C4 #CJK UNIFIED IDEOGRAPH +0x9280 0x9010 #CJK UNIFIED IDEOGRAPH +0x9281 0x79E9 #CJK UNIFIED IDEOGRAPH +0x9282 0x7A92 #CJK UNIFIED IDEOGRAPH +0x9283 0x8336 #CJK UNIFIED IDEOGRAPH +0x9284 0x5AE1 #CJK UNIFIED IDEOGRAPH +0x9285 0x7740 #CJK UNIFIED IDEOGRAPH +0x9286 0x4E2D #CJK UNIFIED IDEOGRAPH +0x9287 0x4EF2 #CJK UNIFIED IDEOGRAPH +0x9288 0x5B99 #CJK UNIFIED IDEOGRAPH +0x9289 0x5FE0 #CJK UNIFIED IDEOGRAPH +0x928A 0x62BD #CJK UNIFIED IDEOGRAPH +0x928B 0x663C #CJK UNIFIED IDEOGRAPH +0x928C 0x67F1 #CJK UNIFIED IDEOGRAPH +0x928D 0x6CE8 #CJK UNIFIED IDEOGRAPH +0x928E 0x866B #CJK UNIFIED IDEOGRAPH +0x928F 0x8877 #CJK UNIFIED IDEOGRAPH +0x9290 0x8A3B #CJK UNIFIED IDEOGRAPH +0x9291 0x914E #CJK UNIFIED IDEOGRAPH +0x9292 0x92F3 #CJK UNIFIED IDEOGRAPH +0x9293 0x99D0 #CJK UNIFIED IDEOGRAPH +0x9294 0x6A17 #CJK UNIFIED IDEOGRAPH +0x9295 0x7026 #CJK UNIFIED IDEOGRAPH +0x9296 0x732A #CJK UNIFIED IDEOGRAPH +0x9297 0x82E7 #CJK UNIFIED IDEOGRAPH +0x9298 0x8457 #CJK UNIFIED IDEOGRAPH +0x9299 0x8CAF #CJK UNIFIED IDEOGRAPH +0x929A 0x4E01 #CJK UNIFIED IDEOGRAPH +0x929B 0x5146 #CJK UNIFIED IDEOGRAPH +0x929C 0x51CB #CJK UNIFIED IDEOGRAPH +0x929D 0x558B #CJK UNIFIED IDEOGRAPH +0x929E 0x5BF5 #CJK UNIFIED IDEOGRAPH +0x929F 0x5E16 #CJK UNIFIED IDEOGRAPH +0x92A0 0x5E33 #CJK UNIFIED IDEOGRAPH +0x92A1 0x5E81 #CJK UNIFIED IDEOGRAPH +0x92A2 0x5F14 #CJK UNIFIED IDEOGRAPH +0x92A3 0x5F35 #CJK UNIFIED IDEOGRAPH +0x92A4 0x5F6B #CJK UNIFIED IDEOGRAPH +0x92A5 0x5FB4 #CJK UNIFIED IDEOGRAPH +0x92A6 0x61F2 #CJK UNIFIED IDEOGRAPH +0x92A7 0x6311 #CJK UNIFIED IDEOGRAPH +0x92A8 0x66A2 #CJK UNIFIED IDEOGRAPH +0x92A9 0x671D #CJK UNIFIED IDEOGRAPH +0x92AA 0x6F6E #CJK UNIFIED IDEOGRAPH +0x92AB 0x7252 #CJK UNIFIED IDEOGRAPH +0x92AC 0x753A #CJK UNIFIED IDEOGRAPH +0x92AD 0x773A #CJK UNIFIED IDEOGRAPH +0x92AE 0x8074 #CJK UNIFIED IDEOGRAPH +0x92AF 0x8139 #CJK UNIFIED IDEOGRAPH +0x92B0 0x8178 #CJK UNIFIED IDEOGRAPH +0x92B1 0x8776 #CJK UNIFIED IDEOGRAPH +0x92B2 0x8ABF #CJK UNIFIED IDEOGRAPH +0x92B3 0x8ADC #CJK UNIFIED IDEOGRAPH +0x92B4 0x8D85 #CJK UNIFIED IDEOGRAPH +0x92B5 0x8DF3 #CJK UNIFIED IDEOGRAPH +0x92B6 0x929A #CJK UNIFIED IDEOGRAPH +0x92B7 0x9577 #CJK UNIFIED IDEOGRAPH +0x92B8 0x9802 #CJK UNIFIED IDEOGRAPH +0x92B9 0x9CE5 #CJK UNIFIED IDEOGRAPH +0x92BA 0x52C5 #CJK UNIFIED IDEOGRAPH +0x92BB 0x6357 #CJK UNIFIED IDEOGRAPH +0x92BC 0x76F4 #CJK UNIFIED IDEOGRAPH +0x92BD 0x6715 #CJK UNIFIED IDEOGRAPH +0x92BE 0x6C88 #CJK UNIFIED IDEOGRAPH +0x92BF 0x73CD #CJK UNIFIED IDEOGRAPH +0x92C0 0x8CC3 #CJK UNIFIED IDEOGRAPH +0x92C1 0x93AE #CJK UNIFIED IDEOGRAPH +0x92C2 0x9673 #CJK UNIFIED IDEOGRAPH +0x92C3 0x6D25 #CJK UNIFIED IDEOGRAPH +0x92C4 0x589C #CJK UNIFIED IDEOGRAPH +0x92C5 0x690E #CJK UNIFIED IDEOGRAPH +0x92C6 0x69CC #CJK UNIFIED IDEOGRAPH +0x92C7 0x8FFD #CJK UNIFIED IDEOGRAPH +0x92C8 0x939A #CJK UNIFIED IDEOGRAPH +0x92C9 0x75DB #CJK UNIFIED IDEOGRAPH +0x92CA 0x901A #CJK UNIFIED IDEOGRAPH +0x92CB 0x585A #CJK UNIFIED IDEOGRAPH +0x92CC 0x6802 #CJK UNIFIED IDEOGRAPH +0x92CD 0x63B4 #CJK UNIFIED IDEOGRAPH +0x92CE 0x69FB #CJK UNIFIED IDEOGRAPH +0x92CF 0x4F43 #CJK UNIFIED IDEOGRAPH +0x92D0 0x6F2C #CJK UNIFIED IDEOGRAPH +0x92D1 0x67D8 #CJK UNIFIED IDEOGRAPH +0x92D2 0x8FBB #CJK UNIFIED IDEOGRAPH +0x92D3 0x8526 #CJK UNIFIED IDEOGRAPH +0x92D4 0x7DB4 #CJK UNIFIED IDEOGRAPH +0x92D5 0x9354 #CJK UNIFIED IDEOGRAPH +0x92D6 0x693F #CJK UNIFIED IDEOGRAPH +0x92D7 0x6F70 #CJK UNIFIED IDEOGRAPH +0x92D8 0x576A #CJK UNIFIED IDEOGRAPH +0x92D9 0x58F7 #CJK UNIFIED IDEOGRAPH +0x92DA 0x5B2C #CJK UNIFIED IDEOGRAPH +0x92DB 0x7D2C #CJK UNIFIED IDEOGRAPH +0x92DC 0x722A #CJK UNIFIED IDEOGRAPH +0x92DD 0x540A #CJK UNIFIED IDEOGRAPH +0x92DE 0x91E3 #CJK UNIFIED IDEOGRAPH +0x92DF 0x9DB4 #CJK UNIFIED IDEOGRAPH +0x92E0 0x4EAD #CJK UNIFIED IDEOGRAPH +0x92E1 0x4F4E #CJK UNIFIED IDEOGRAPH +0x92E2 0x505C #CJK UNIFIED IDEOGRAPH +0x92E3 0x5075 #CJK UNIFIED IDEOGRAPH +0x92E4 0x5243 #CJK UNIFIED IDEOGRAPH +0x92E5 0x8C9E #CJK UNIFIED IDEOGRAPH +0x92E6 0x5448 #CJK UNIFIED IDEOGRAPH +0x92E7 0x5824 #CJK UNIFIED IDEOGRAPH +0x92E8 0x5B9A #CJK UNIFIED IDEOGRAPH +0x92E9 0x5E1D #CJK UNIFIED IDEOGRAPH +0x92EA 0x5E95 #CJK UNIFIED IDEOGRAPH +0x92EB 0x5EAD #CJK UNIFIED IDEOGRAPH +0x92EC 0x5EF7 #CJK UNIFIED IDEOGRAPH +0x92ED 0x5F1F #CJK UNIFIED IDEOGRAPH +0x92EE 0x608C #CJK UNIFIED IDEOGRAPH +0x92EF 0x62B5 #CJK UNIFIED IDEOGRAPH +0x92F0 0x633A #CJK UNIFIED IDEOGRAPH +0x92F1 0x63D0 #CJK UNIFIED IDEOGRAPH +0x92F2 0x68AF #CJK UNIFIED IDEOGRAPH +0x92F3 0x6C40 #CJK UNIFIED IDEOGRAPH +0x92F4 0x7887 #CJK UNIFIED IDEOGRAPH +0x92F5 0x798E #CJK UNIFIED IDEOGRAPH +0x92F6 0x7A0B #CJK UNIFIED IDEOGRAPH +0x92F7 0x7DE0 #CJK UNIFIED IDEOGRAPH +0x92F8 0x8247 #CJK UNIFIED IDEOGRAPH +0x92F9 0x8A02 #CJK UNIFIED IDEOGRAPH +0x92FA 0x8AE6 #CJK UNIFIED IDEOGRAPH +0x92FB 0x8E44 #CJK UNIFIED IDEOGRAPH +0x92FC 0x9013 #CJK UNIFIED IDEOGRAPH +0x9340 0x90B8 #CJK UNIFIED IDEOGRAPH +0x9341 0x912D #CJK UNIFIED IDEOGRAPH +0x9342 0x91D8 #CJK UNIFIED IDEOGRAPH +0x9343 0x9F0E #CJK UNIFIED IDEOGRAPH +0x9344 0x6CE5 #CJK UNIFIED IDEOGRAPH +0x9345 0x6458 #CJK UNIFIED IDEOGRAPH +0x9346 0x64E2 #CJK UNIFIED IDEOGRAPH +0x9347 0x6575 #CJK UNIFIED IDEOGRAPH +0x9348 0x6EF4 #CJK UNIFIED IDEOGRAPH +0x9349 0x7684 #CJK UNIFIED IDEOGRAPH +0x934A 0x7B1B #CJK UNIFIED IDEOGRAPH +0x934B 0x9069 #CJK UNIFIED IDEOGRAPH +0x934C 0x93D1 #CJK UNIFIED IDEOGRAPH +0x934D 0x6EBA #CJK UNIFIED IDEOGRAPH +0x934E 0x54F2 #CJK UNIFIED IDEOGRAPH +0x934F 0x5FB9 #CJK UNIFIED IDEOGRAPH +0x9350 0x64A4 #CJK UNIFIED IDEOGRAPH +0x9351 0x8F4D #CJK UNIFIED IDEOGRAPH +0x9352 0x8FED #CJK UNIFIED IDEOGRAPH +0x9353 0x9244 #CJK UNIFIED IDEOGRAPH +0x9354 0x5178 #CJK UNIFIED IDEOGRAPH +0x9355 0x586B #CJK UNIFIED IDEOGRAPH +0x9356 0x5929 #CJK UNIFIED IDEOGRAPH +0x9357 0x5C55 #CJK UNIFIED IDEOGRAPH +0x9358 0x5E97 #CJK UNIFIED IDEOGRAPH +0x9359 0x6DFB #CJK UNIFIED IDEOGRAPH +0x935A 0x7E8F #CJK UNIFIED IDEOGRAPH +0x935B 0x751C #CJK UNIFIED IDEOGRAPH +0x935C 0x8CBC #CJK UNIFIED IDEOGRAPH +0x935D 0x8EE2 #CJK UNIFIED IDEOGRAPH +0x935E 0x985B #CJK UNIFIED IDEOGRAPH +0x935F 0x70B9 #CJK UNIFIED IDEOGRAPH +0x9360 0x4F1D #CJK UNIFIED IDEOGRAPH +0x9361 0x6BBF #CJK UNIFIED IDEOGRAPH +0x9362 0x6FB1 #CJK UNIFIED IDEOGRAPH +0x9363 0x7530 #CJK UNIFIED IDEOGRAPH +0x9364 0x96FB #CJK UNIFIED IDEOGRAPH +0x9365 0x514E #CJK UNIFIED IDEOGRAPH +0x9366 0x5410 #CJK UNIFIED IDEOGRAPH +0x9367 0x5835 #CJK UNIFIED IDEOGRAPH +0x9368 0x5857 #CJK UNIFIED IDEOGRAPH +0x9369 0x59AC #CJK UNIFIED IDEOGRAPH +0x936A 0x5C60 #CJK UNIFIED IDEOGRAPH +0x936B 0x5F92 #CJK UNIFIED IDEOGRAPH +0x936C 0x6597 #CJK UNIFIED IDEOGRAPH +0x936D 0x675C #CJK UNIFIED IDEOGRAPH +0x936E 0x6E21 #CJK UNIFIED IDEOGRAPH +0x936F 0x767B #CJK UNIFIED IDEOGRAPH +0x9370 0x83DF #CJK UNIFIED IDEOGRAPH +0x9371 0x8CED #CJK UNIFIED IDEOGRAPH +0x9372 0x9014 #CJK UNIFIED IDEOGRAPH +0x9373 0x90FD #CJK UNIFIED IDEOGRAPH +0x9374 0x934D #CJK UNIFIED IDEOGRAPH +0x9375 0x7825 #CJK UNIFIED IDEOGRAPH +0x9376 0x783A #CJK UNIFIED IDEOGRAPH +0x9377 0x52AA #CJK UNIFIED IDEOGRAPH +0x9378 0x5EA6 #CJK UNIFIED IDEOGRAPH +0x9379 0x571F #CJK UNIFIED IDEOGRAPH +0x937A 0x5974 #CJK UNIFIED IDEOGRAPH +0x937B 0x6012 #CJK UNIFIED IDEOGRAPH +0x937C 0x5012 #CJK UNIFIED IDEOGRAPH +0x937D 0x515A #CJK UNIFIED IDEOGRAPH +0x937E 0x51AC #CJK UNIFIED IDEOGRAPH +0x9380 0x51CD #CJK UNIFIED IDEOGRAPH +0x9381 0x5200 #CJK UNIFIED IDEOGRAPH +0x9382 0x5510 #CJK UNIFIED IDEOGRAPH +0x9383 0x5854 #CJK UNIFIED IDEOGRAPH +0x9384 0x5858 #CJK UNIFIED IDEOGRAPH +0x9385 0x5957 #CJK UNIFIED IDEOGRAPH +0x9386 0x5B95 #CJK UNIFIED IDEOGRAPH +0x9387 0x5CF6 #CJK UNIFIED IDEOGRAPH +0x9388 0x5D8B #CJK UNIFIED IDEOGRAPH +0x9389 0x60BC #CJK UNIFIED IDEOGRAPH +0x938A 0x6295 #CJK UNIFIED IDEOGRAPH +0x938B 0x642D #CJK UNIFIED IDEOGRAPH +0x938C 0x6771 #CJK UNIFIED IDEOGRAPH +0x938D 0x6843 #CJK UNIFIED IDEOGRAPH +0x938E 0x68BC #CJK UNIFIED IDEOGRAPH +0x938F 0x68DF #CJK UNIFIED IDEOGRAPH +0x9390 0x76D7 #CJK UNIFIED IDEOGRAPH +0x9391 0x6DD8 #CJK UNIFIED IDEOGRAPH +0x9392 0x6E6F #CJK UNIFIED IDEOGRAPH +0x9393 0x6D9B #CJK UNIFIED IDEOGRAPH +0x9394 0x706F #CJK UNIFIED IDEOGRAPH +0x9395 0x71C8 #CJK UNIFIED IDEOGRAPH +0x9396 0x5F53 #CJK UNIFIED IDEOGRAPH +0x9397 0x75D8 #CJK UNIFIED IDEOGRAPH +0x9398 0x7977 #CJK UNIFIED IDEOGRAPH +0x9399 0x7B49 #CJK UNIFIED IDEOGRAPH +0x939A 0x7B54 #CJK UNIFIED IDEOGRAPH +0x939B 0x7B52 #CJK UNIFIED IDEOGRAPH +0x939C 0x7CD6 #CJK UNIFIED IDEOGRAPH +0x939D 0x7D71 #CJK UNIFIED IDEOGRAPH +0x939E 0x5230 #CJK UNIFIED IDEOGRAPH +0x939F 0x8463 #CJK UNIFIED IDEOGRAPH +0x93A0 0x8569 #CJK UNIFIED IDEOGRAPH +0x93A1 0x85E4 #CJK UNIFIED IDEOGRAPH +0x93A2 0x8A0E #CJK UNIFIED IDEOGRAPH +0x93A3 0x8B04 #CJK UNIFIED IDEOGRAPH +0x93A4 0x8C46 #CJK UNIFIED IDEOGRAPH +0x93A5 0x8E0F #CJK UNIFIED IDEOGRAPH +0x93A6 0x9003 #CJK UNIFIED IDEOGRAPH +0x93A7 0x900F #CJK UNIFIED IDEOGRAPH +0x93A8 0x9419 #CJK UNIFIED IDEOGRAPH +0x93A9 0x9676 #CJK UNIFIED IDEOGRAPH +0x93AA 0x982D #CJK UNIFIED IDEOGRAPH +0x93AB 0x9A30 #CJK UNIFIED IDEOGRAPH +0x93AC 0x95D8 #CJK UNIFIED IDEOGRAPH +0x93AD 0x50CD #CJK UNIFIED IDEOGRAPH +0x93AE 0x52D5 #CJK UNIFIED IDEOGRAPH +0x93AF 0x540C #CJK UNIFIED IDEOGRAPH +0x93B0 0x5802 #CJK UNIFIED IDEOGRAPH +0x93B1 0x5C0E #CJK UNIFIED IDEOGRAPH +0x93B2 0x61A7 #CJK UNIFIED IDEOGRAPH +0x93B3 0x649E #CJK UNIFIED IDEOGRAPH +0x93B4 0x6D1E #CJK UNIFIED IDEOGRAPH +0x93B5 0x77B3 #CJK UNIFIED IDEOGRAPH +0x93B6 0x7AE5 #CJK UNIFIED IDEOGRAPH +0x93B7 0x80F4 #CJK UNIFIED IDEOGRAPH +0x93B8 0x8404 #CJK UNIFIED IDEOGRAPH +0x93B9 0x9053 #CJK UNIFIED IDEOGRAPH +0x93BA 0x9285 #CJK UNIFIED IDEOGRAPH +0x93BB 0x5CE0 #CJK UNIFIED IDEOGRAPH +0x93BC 0x9D07 #CJK UNIFIED IDEOGRAPH +0x93BD 0x533F #CJK UNIFIED IDEOGRAPH +0x93BE 0x5F97 #CJK UNIFIED IDEOGRAPH +0x93BF 0x5FB3 #CJK UNIFIED IDEOGRAPH +0x93C0 0x6D9C #CJK UNIFIED IDEOGRAPH +0x93C1 0x7279 #CJK UNIFIED IDEOGRAPH +0x93C2 0x7763 #CJK UNIFIED IDEOGRAPH +0x93C3 0x79BF #CJK UNIFIED IDEOGRAPH +0x93C4 0x7BE4 #CJK UNIFIED IDEOGRAPH +0x93C5 0x6BD2 #CJK UNIFIED IDEOGRAPH +0x93C6 0x72EC #CJK UNIFIED IDEOGRAPH +0x93C7 0x8AAD #CJK UNIFIED IDEOGRAPH +0x93C8 0x6803 #CJK UNIFIED IDEOGRAPH +0x93C9 0x6A61 #CJK UNIFIED IDEOGRAPH +0x93CA 0x51F8 #CJK UNIFIED IDEOGRAPH +0x93CB 0x7A81 #CJK UNIFIED IDEOGRAPH +0x93CC 0x6934 #CJK UNIFIED IDEOGRAPH +0x93CD 0x5C4A #CJK UNIFIED IDEOGRAPH +0x93CE 0x9CF6 #CJK UNIFIED IDEOGRAPH +0x93CF 0x82EB #CJK UNIFIED IDEOGRAPH +0x93D0 0x5BC5 #CJK UNIFIED IDEOGRAPH +0x93D1 0x9149 #CJK UNIFIED IDEOGRAPH +0x93D2 0x701E #CJK UNIFIED IDEOGRAPH +0x93D3 0x5678 #CJK UNIFIED IDEOGRAPH +0x93D4 0x5C6F #CJK UNIFIED IDEOGRAPH +0x93D5 0x60C7 #CJK UNIFIED IDEOGRAPH +0x93D6 0x6566 #CJK UNIFIED IDEOGRAPH +0x93D7 0x6C8C #CJK UNIFIED IDEOGRAPH +0x93D8 0x8C5A #CJK UNIFIED IDEOGRAPH +0x93D9 0x9041 #CJK UNIFIED IDEOGRAPH +0x93DA 0x9813 #CJK UNIFIED IDEOGRAPH +0x93DB 0x5451 #CJK UNIFIED IDEOGRAPH +0x93DC 0x66C7 #CJK UNIFIED IDEOGRAPH +0x93DD 0x920D #CJK UNIFIED IDEOGRAPH +0x93DE 0x5948 #CJK UNIFIED IDEOGRAPH +0x93DF 0x90A3 #CJK UNIFIED IDEOGRAPH +0x93E0 0x5185 #CJK UNIFIED IDEOGRAPH +0x93E1 0x4E4D #CJK UNIFIED IDEOGRAPH +0x93E2 0x51EA #CJK UNIFIED IDEOGRAPH +0x93E3 0x8599 #CJK UNIFIED IDEOGRAPH +0x93E4 0x8B0E #CJK UNIFIED IDEOGRAPH +0x93E5 0x7058 #CJK UNIFIED IDEOGRAPH +0x93E6 0x637A #CJK UNIFIED IDEOGRAPH +0x93E7 0x934B #CJK UNIFIED IDEOGRAPH +0x93E8 0x6962 #CJK UNIFIED IDEOGRAPH +0x93E9 0x99B4 #CJK UNIFIED IDEOGRAPH +0x93EA 0x7E04 #CJK UNIFIED IDEOGRAPH +0x93EB 0x7577 #CJK UNIFIED IDEOGRAPH +0x93EC 0x5357 #CJK UNIFIED IDEOGRAPH +0x93ED 0x6960 #CJK UNIFIED IDEOGRAPH +0x93EE 0x8EDF #CJK UNIFIED IDEOGRAPH +0x93EF 0x96E3 #CJK UNIFIED IDEOGRAPH +0x93F0 0x6C5D #CJK UNIFIED IDEOGRAPH +0x93F1 0x4E8C #CJK UNIFIED IDEOGRAPH +0x93F2 0x5C3C #CJK UNIFIED IDEOGRAPH +0x93F3 0x5F10 #CJK UNIFIED IDEOGRAPH +0x93F4 0x8FE9 #CJK UNIFIED IDEOGRAPH +0x93F5 0x5302 #CJK UNIFIED IDEOGRAPH +0x93F6 0x8CD1 #CJK UNIFIED IDEOGRAPH +0x93F7 0x8089 #CJK UNIFIED IDEOGRAPH +0x93F8 0x8679 #CJK UNIFIED IDEOGRAPH +0x93F9 0x5EFF #CJK UNIFIED IDEOGRAPH +0x93FA 0x65E5 #CJK UNIFIED IDEOGRAPH +0x93FB 0x4E73 #CJK UNIFIED IDEOGRAPH +0x93FC 0x5165 #CJK UNIFIED IDEOGRAPH +0x9440 0x5982 #CJK UNIFIED IDEOGRAPH +0x9441 0x5C3F #CJK UNIFIED IDEOGRAPH +0x9442 0x97EE #CJK UNIFIED IDEOGRAPH +0x9443 0x4EFB #CJK UNIFIED IDEOGRAPH +0x9444 0x598A #CJK UNIFIED IDEOGRAPH +0x9445 0x5FCD #CJK UNIFIED IDEOGRAPH +0x9446 0x8A8D #CJK UNIFIED IDEOGRAPH +0x9447 0x6FE1 #CJK UNIFIED IDEOGRAPH +0x9448 0x79B0 #CJK UNIFIED IDEOGRAPH +0x9449 0x7962 #CJK UNIFIED IDEOGRAPH +0x944A 0x5BE7 #CJK UNIFIED IDEOGRAPH +0x944B 0x8471 #CJK UNIFIED IDEOGRAPH +0x944C 0x732B #CJK UNIFIED IDEOGRAPH +0x944D 0x71B1 #CJK UNIFIED IDEOGRAPH +0x944E 0x5E74 #CJK UNIFIED IDEOGRAPH +0x944F 0x5FF5 #CJK UNIFIED IDEOGRAPH +0x9450 0x637B #CJK UNIFIED IDEOGRAPH +0x9451 0x649A #CJK UNIFIED IDEOGRAPH +0x9452 0x71C3 #CJK UNIFIED IDEOGRAPH +0x9453 0x7C98 #CJK UNIFIED IDEOGRAPH +0x9454 0x4E43 #CJK UNIFIED IDEOGRAPH +0x9455 0x5EFC #CJK UNIFIED IDEOGRAPH +0x9456 0x4E4B #CJK UNIFIED IDEOGRAPH +0x9457 0x57DC #CJK UNIFIED IDEOGRAPH +0x9458 0x56A2 #CJK UNIFIED IDEOGRAPH +0x9459 0x60A9 #CJK UNIFIED IDEOGRAPH +0x945A 0x6FC3 #CJK UNIFIED IDEOGRAPH +0x945B 0x7D0D #CJK UNIFIED IDEOGRAPH +0x945C 0x80FD #CJK UNIFIED IDEOGRAPH +0x945D 0x8133 #CJK UNIFIED IDEOGRAPH +0x945E 0x81BF #CJK UNIFIED IDEOGRAPH +0x945F 0x8FB2 #CJK UNIFIED IDEOGRAPH +0x9460 0x8997 #CJK UNIFIED IDEOGRAPH +0x9461 0x86A4 #CJK UNIFIED IDEOGRAPH +0x9462 0x5DF4 #CJK UNIFIED IDEOGRAPH +0x9463 0x628A #CJK UNIFIED IDEOGRAPH +0x9464 0x64AD #CJK UNIFIED IDEOGRAPH +0x9465 0x8987 #CJK UNIFIED IDEOGRAPH +0x9466 0x6777 #CJK UNIFIED IDEOGRAPH +0x9467 0x6CE2 #CJK UNIFIED IDEOGRAPH +0x9468 0x6D3E #CJK UNIFIED IDEOGRAPH +0x9469 0x7436 #CJK UNIFIED IDEOGRAPH +0x946A 0x7834 #CJK UNIFIED IDEOGRAPH +0x946B 0x5A46 #CJK UNIFIED IDEOGRAPH +0x946C 0x7F75 #CJK UNIFIED IDEOGRAPH +0x946D 0x82AD #CJK UNIFIED IDEOGRAPH +0x946E 0x99AC #CJK UNIFIED IDEOGRAPH +0x946F 0x4FF3 #CJK UNIFIED IDEOGRAPH +0x9470 0x5EC3 #CJK UNIFIED IDEOGRAPH +0x9471 0x62DD #CJK UNIFIED IDEOGRAPH +0x9472 0x6392 #CJK UNIFIED IDEOGRAPH +0x9473 0x6557 #CJK UNIFIED IDEOGRAPH +0x9474 0x676F #CJK UNIFIED IDEOGRAPH +0x9475 0x76C3 #CJK UNIFIED IDEOGRAPH +0x9476 0x724C #CJK UNIFIED IDEOGRAPH +0x9477 0x80CC #CJK UNIFIED IDEOGRAPH +0x9478 0x80BA #CJK UNIFIED IDEOGRAPH +0x9479 0x8F29 #CJK UNIFIED IDEOGRAPH +0x947A 0x914D #CJK UNIFIED IDEOGRAPH +0x947B 0x500D #CJK UNIFIED IDEOGRAPH +0x947C 0x57F9 #CJK UNIFIED IDEOGRAPH +0x947D 0x5A92 #CJK UNIFIED IDEOGRAPH +0x947E 0x6885 #CJK UNIFIED IDEOGRAPH +0x9480 0x6973 #CJK UNIFIED IDEOGRAPH +0x9481 0x7164 #CJK UNIFIED IDEOGRAPH +0x9482 0x72FD #CJK UNIFIED IDEOGRAPH +0x9483 0x8CB7 #CJK UNIFIED IDEOGRAPH +0x9484 0x58F2 #CJK UNIFIED IDEOGRAPH +0x9485 0x8CE0 #CJK UNIFIED IDEOGRAPH +0x9486 0x966A #CJK UNIFIED IDEOGRAPH +0x9487 0x9019 #CJK UNIFIED IDEOGRAPH +0x9488 0x877F #CJK UNIFIED IDEOGRAPH +0x9489 0x79E4 #CJK UNIFIED IDEOGRAPH +0x948A 0x77E7 #CJK UNIFIED IDEOGRAPH +0x948B 0x8429 #CJK UNIFIED IDEOGRAPH +0x948C 0x4F2F #CJK UNIFIED IDEOGRAPH +0x948D 0x5265 #CJK UNIFIED IDEOGRAPH +0x948E 0x535A #CJK UNIFIED IDEOGRAPH +0x948F 0x62CD #CJK UNIFIED IDEOGRAPH +0x9490 0x67CF #CJK UNIFIED IDEOGRAPH +0x9491 0x6CCA #CJK UNIFIED IDEOGRAPH +0x9492 0x767D #CJK UNIFIED IDEOGRAPH +0x9493 0x7B94 #CJK UNIFIED IDEOGRAPH +0x9494 0x7C95 #CJK UNIFIED IDEOGRAPH +0x9495 0x8236 #CJK UNIFIED IDEOGRAPH +0x9496 0x8584 #CJK UNIFIED IDEOGRAPH +0x9497 0x8FEB #CJK UNIFIED IDEOGRAPH +0x9498 0x66DD #CJK UNIFIED IDEOGRAPH +0x9499 0x6F20 #CJK UNIFIED IDEOGRAPH +0x949A 0x7206 #CJK UNIFIED IDEOGRAPH +0x949B 0x7E1B #CJK UNIFIED IDEOGRAPH +0x949C 0x83AB #CJK UNIFIED IDEOGRAPH +0x949D 0x99C1 #CJK UNIFIED IDEOGRAPH +0x949E 0x9EA6 #CJK UNIFIED IDEOGRAPH +0x949F 0x51FD #CJK UNIFIED IDEOGRAPH +0x94A0 0x7BB1 #CJK UNIFIED IDEOGRAPH +0x94A1 0x7872 #CJK UNIFIED IDEOGRAPH +0x94A2 0x7BB8 #CJK UNIFIED IDEOGRAPH +0x94A3 0x8087 #CJK UNIFIED IDEOGRAPH +0x94A4 0x7B48 #CJK UNIFIED IDEOGRAPH +0x94A5 0x6AE8 #CJK UNIFIED IDEOGRAPH +0x94A6 0x5E61 #CJK UNIFIED IDEOGRAPH +0x94A7 0x808C #CJK UNIFIED IDEOGRAPH +0x94A8 0x7551 #CJK UNIFIED IDEOGRAPH +0x94A9 0x7560 #CJK UNIFIED IDEOGRAPH +0x94AA 0x516B #CJK UNIFIED IDEOGRAPH +0x94AB 0x9262 #CJK UNIFIED IDEOGRAPH +0x94AC 0x6E8C #CJK UNIFIED IDEOGRAPH +0x94AD 0x767A #CJK UNIFIED IDEOGRAPH +0x94AE 0x9197 #CJK UNIFIED IDEOGRAPH +0x94AF 0x9AEA #CJK UNIFIED IDEOGRAPH +0x94B0 0x4F10 #CJK UNIFIED IDEOGRAPH +0x94B1 0x7F70 #CJK UNIFIED IDEOGRAPH +0x94B2 0x629C #CJK UNIFIED IDEOGRAPH +0x94B3 0x7B4F #CJK UNIFIED IDEOGRAPH +0x94B4 0x95A5 #CJK UNIFIED IDEOGRAPH +0x94B5 0x9CE9 #CJK UNIFIED IDEOGRAPH +0x94B6 0x567A #CJK UNIFIED IDEOGRAPH +0x94B7 0x5859 #CJK UNIFIED IDEOGRAPH +0x94B8 0x86E4 #CJK UNIFIED IDEOGRAPH +0x94B9 0x96BC #CJK UNIFIED IDEOGRAPH +0x94BA 0x4F34 #CJK UNIFIED IDEOGRAPH +0x94BB 0x5224 #CJK UNIFIED IDEOGRAPH +0x94BC 0x534A #CJK UNIFIED IDEOGRAPH +0x94BD 0x53CD #CJK UNIFIED IDEOGRAPH +0x94BE 0x53DB #CJK UNIFIED IDEOGRAPH +0x94BF 0x5E06 #CJK UNIFIED IDEOGRAPH +0x94C0 0x642C #CJK UNIFIED IDEOGRAPH +0x94C1 0x6591 #CJK UNIFIED IDEOGRAPH +0x94C2 0x677F #CJK UNIFIED IDEOGRAPH +0x94C3 0x6C3E #CJK UNIFIED IDEOGRAPH +0x94C4 0x6C4E #CJK UNIFIED IDEOGRAPH +0x94C5 0x7248 #CJK UNIFIED IDEOGRAPH +0x94C6 0x72AF #CJK UNIFIED IDEOGRAPH +0x94C7 0x73ED #CJK UNIFIED IDEOGRAPH +0x94C8 0x7554 #CJK UNIFIED IDEOGRAPH +0x94C9 0x7E41 #CJK UNIFIED IDEOGRAPH +0x94CA 0x822C #CJK UNIFIED IDEOGRAPH +0x94CB 0x85E9 #CJK UNIFIED IDEOGRAPH +0x94CC 0x8CA9 #CJK UNIFIED IDEOGRAPH +0x94CD 0x7BC4 #CJK UNIFIED IDEOGRAPH +0x94CE 0x91C6 #CJK UNIFIED IDEOGRAPH +0x94CF 0x7169 #CJK UNIFIED IDEOGRAPH +0x94D0 0x9812 #CJK UNIFIED IDEOGRAPH +0x94D1 0x98EF #CJK UNIFIED IDEOGRAPH +0x94D2 0x633D #CJK UNIFIED IDEOGRAPH +0x94D3 0x6669 #CJK UNIFIED IDEOGRAPH +0x94D4 0x756A #CJK UNIFIED IDEOGRAPH +0x94D5 0x76E4 #CJK UNIFIED IDEOGRAPH +0x94D6 0x78D0 #CJK UNIFIED IDEOGRAPH +0x94D7 0x8543 #CJK UNIFIED IDEOGRAPH +0x94D8 0x86EE #CJK UNIFIED IDEOGRAPH +0x94D9 0x532A #CJK UNIFIED IDEOGRAPH +0x94DA 0x5351 #CJK UNIFIED IDEOGRAPH +0x94DB 0x5426 #CJK UNIFIED IDEOGRAPH +0x94DC 0x5983 #CJK UNIFIED IDEOGRAPH +0x94DD 0x5E87 #CJK UNIFIED IDEOGRAPH +0x94DE 0x5F7C #CJK UNIFIED IDEOGRAPH +0x94DF 0x60B2 #CJK UNIFIED IDEOGRAPH +0x94E0 0x6249 #CJK UNIFIED IDEOGRAPH +0x94E1 0x6279 #CJK UNIFIED IDEOGRAPH +0x94E2 0x62AB #CJK UNIFIED IDEOGRAPH +0x94E3 0x6590 #CJK UNIFIED IDEOGRAPH +0x94E4 0x6BD4 #CJK UNIFIED IDEOGRAPH +0x94E5 0x6CCC #CJK UNIFIED IDEOGRAPH +0x94E6 0x75B2 #CJK UNIFIED IDEOGRAPH +0x94E7 0x76AE #CJK UNIFIED IDEOGRAPH +0x94E8 0x7891 #CJK UNIFIED IDEOGRAPH +0x94E9 0x79D8 #CJK UNIFIED IDEOGRAPH +0x94EA 0x7DCB #CJK UNIFIED IDEOGRAPH +0x94EB 0x7F77 #CJK UNIFIED IDEOGRAPH +0x94EC 0x80A5 #CJK UNIFIED IDEOGRAPH +0x94ED 0x88AB #CJK UNIFIED IDEOGRAPH +0x94EE 0x8AB9 #CJK UNIFIED IDEOGRAPH +0x94EF 0x8CBB #CJK UNIFIED IDEOGRAPH +0x94F0 0x907F #CJK UNIFIED IDEOGRAPH +0x94F1 0x975E #CJK UNIFIED IDEOGRAPH +0x94F2 0x98DB #CJK UNIFIED IDEOGRAPH +0x94F3 0x6A0B #CJK UNIFIED IDEOGRAPH +0x94F4 0x7C38 #CJK UNIFIED IDEOGRAPH +0x94F5 0x5099 #CJK UNIFIED IDEOGRAPH +0x94F6 0x5C3E #CJK UNIFIED IDEOGRAPH +0x94F7 0x5FAE #CJK UNIFIED IDEOGRAPH +0x94F8 0x6787 #CJK UNIFIED IDEOGRAPH +0x94F9 0x6BD8 #CJK UNIFIED IDEOGRAPH +0x94FA 0x7435 #CJK UNIFIED IDEOGRAPH +0x94FB 0x7709 #CJK UNIFIED IDEOGRAPH +0x94FC 0x7F8E #CJK UNIFIED IDEOGRAPH +0x9540 0x9F3B #CJK UNIFIED IDEOGRAPH +0x9541 0x67CA #CJK UNIFIED IDEOGRAPH +0x9542 0x7A17 #CJK UNIFIED IDEOGRAPH +0x9543 0x5339 #CJK UNIFIED IDEOGRAPH +0x9544 0x758B #CJK UNIFIED IDEOGRAPH +0x9545 0x9AED #CJK UNIFIED IDEOGRAPH +0x9546 0x5F66 #CJK UNIFIED IDEOGRAPH +0x9547 0x819D #CJK UNIFIED IDEOGRAPH +0x9548 0x83F1 #CJK UNIFIED IDEOGRAPH +0x9549 0x8098 #CJK UNIFIED IDEOGRAPH +0x954A 0x5F3C #CJK UNIFIED IDEOGRAPH +0x954B 0x5FC5 #CJK UNIFIED IDEOGRAPH +0x954C 0x7562 #CJK UNIFIED IDEOGRAPH +0x954D 0x7B46 #CJK UNIFIED IDEOGRAPH +0x954E 0x903C #CJK UNIFIED IDEOGRAPH +0x954F 0x6867 #CJK UNIFIED IDEOGRAPH +0x9550 0x59EB #CJK UNIFIED IDEOGRAPH +0x9551 0x5A9B #CJK UNIFIED IDEOGRAPH +0x9552 0x7D10 #CJK UNIFIED IDEOGRAPH +0x9553 0x767E #CJK UNIFIED IDEOGRAPH +0x9554 0x8B2C #CJK UNIFIED IDEOGRAPH +0x9555 0x4FF5 #CJK UNIFIED IDEOGRAPH +0x9556 0x5F6A #CJK UNIFIED IDEOGRAPH +0x9557 0x6A19 #CJK UNIFIED IDEOGRAPH +0x9558 0x6C37 #CJK UNIFIED IDEOGRAPH +0x9559 0x6F02 #CJK UNIFIED IDEOGRAPH +0x955A 0x74E2 #CJK UNIFIED IDEOGRAPH +0x955B 0x7968 #CJK UNIFIED IDEOGRAPH +0x955C 0x8868 #CJK UNIFIED IDEOGRAPH +0x955D 0x8A55 #CJK UNIFIED IDEOGRAPH +0x955E 0x8C79 #CJK UNIFIED IDEOGRAPH +0x955F 0x5EDF #CJK UNIFIED IDEOGRAPH +0x9560 0x63CF #CJK UNIFIED IDEOGRAPH +0x9561 0x75C5 #CJK UNIFIED IDEOGRAPH +0x9562 0x79D2 #CJK UNIFIED IDEOGRAPH +0x9563 0x82D7 #CJK UNIFIED IDEOGRAPH +0x9564 0x9328 #CJK UNIFIED IDEOGRAPH +0x9565 0x92F2 #CJK UNIFIED IDEOGRAPH +0x9566 0x849C #CJK UNIFIED IDEOGRAPH +0x9567 0x86ED #CJK UNIFIED IDEOGRAPH +0x9568 0x9C2D #CJK UNIFIED IDEOGRAPH +0x9569 0x54C1 #CJK UNIFIED IDEOGRAPH +0x956A 0x5F6C #CJK UNIFIED IDEOGRAPH +0x956B 0x658C #CJK UNIFIED IDEOGRAPH +0x956C 0x6D5C #CJK UNIFIED IDEOGRAPH +0x956D 0x7015 #CJK UNIFIED IDEOGRAPH +0x956E 0x8CA7 #CJK UNIFIED IDEOGRAPH +0x956F 0x8CD3 #CJK UNIFIED IDEOGRAPH +0x9570 0x983B #CJK UNIFIED IDEOGRAPH +0x9571 0x654F #CJK UNIFIED IDEOGRAPH +0x9572 0x74F6 #CJK UNIFIED IDEOGRAPH +0x9573 0x4E0D #CJK UNIFIED IDEOGRAPH +0x9574 0x4ED8 #CJK UNIFIED IDEOGRAPH +0x9575 0x57E0 #CJK UNIFIED IDEOGRAPH +0x9576 0x592B #CJK UNIFIED IDEOGRAPH +0x9577 0x5A66 #CJK UNIFIED IDEOGRAPH +0x9578 0x5BCC #CJK UNIFIED IDEOGRAPH +0x9579 0x51A8 #CJK UNIFIED IDEOGRAPH +0x957A 0x5E03 #CJK UNIFIED IDEOGRAPH +0x957B 0x5E9C #CJK UNIFIED IDEOGRAPH +0x957C 0x6016 #CJK UNIFIED IDEOGRAPH +0x957D 0x6276 #CJK UNIFIED IDEOGRAPH +0x957E 0x6577 #CJK UNIFIED IDEOGRAPH +0x9580 0x65A7 #CJK UNIFIED IDEOGRAPH +0x9581 0x666E #CJK UNIFIED IDEOGRAPH +0x9582 0x6D6E #CJK UNIFIED IDEOGRAPH +0x9583 0x7236 #CJK UNIFIED IDEOGRAPH +0x9584 0x7B26 #CJK UNIFIED IDEOGRAPH +0x9585 0x8150 #CJK UNIFIED IDEOGRAPH +0x9586 0x819A #CJK UNIFIED IDEOGRAPH +0x9587 0x8299 #CJK UNIFIED IDEOGRAPH +0x9588 0x8B5C #CJK UNIFIED IDEOGRAPH +0x9589 0x8CA0 #CJK UNIFIED IDEOGRAPH +0x958A 0x8CE6 #CJK UNIFIED IDEOGRAPH +0x958B 0x8D74 #CJK UNIFIED IDEOGRAPH +0x958C 0x961C #CJK UNIFIED IDEOGRAPH +0x958D 0x9644 #CJK UNIFIED IDEOGRAPH +0x958E 0x4FAE #CJK UNIFIED IDEOGRAPH +0x958F 0x64AB #CJK UNIFIED IDEOGRAPH +0x9590 0x6B66 #CJK UNIFIED IDEOGRAPH +0x9591 0x821E #CJK UNIFIED IDEOGRAPH +0x9592 0x8461 #CJK UNIFIED IDEOGRAPH +0x9593 0x856A #CJK UNIFIED IDEOGRAPH +0x9594 0x90E8 #CJK UNIFIED IDEOGRAPH +0x9595 0x5C01 #CJK UNIFIED IDEOGRAPH +0x9596 0x6953 #CJK UNIFIED IDEOGRAPH +0x9597 0x98A8 #CJK UNIFIED IDEOGRAPH +0x9598 0x847A #CJK UNIFIED IDEOGRAPH +0x9599 0x8557 #CJK UNIFIED IDEOGRAPH +0x959A 0x4F0F #CJK UNIFIED IDEOGRAPH +0x959B 0x526F #CJK UNIFIED IDEOGRAPH +0x959C 0x5FA9 #CJK UNIFIED IDEOGRAPH +0x959D 0x5E45 #CJK UNIFIED IDEOGRAPH +0x959E 0x670D #CJK UNIFIED IDEOGRAPH +0x959F 0x798F #CJK UNIFIED IDEOGRAPH +0x95A0 0x8179 #CJK UNIFIED IDEOGRAPH +0x95A1 0x8907 #CJK UNIFIED IDEOGRAPH +0x95A2 0x8986 #CJK UNIFIED IDEOGRAPH +0x95A3 0x6DF5 #CJK UNIFIED IDEOGRAPH +0x95A4 0x5F17 #CJK UNIFIED IDEOGRAPH +0x95A5 0x6255 #CJK UNIFIED IDEOGRAPH +0x95A6 0x6CB8 #CJK UNIFIED IDEOGRAPH +0x95A7 0x4ECF #CJK UNIFIED IDEOGRAPH +0x95A8 0x7269 #CJK UNIFIED IDEOGRAPH +0x95A9 0x9B92 #CJK UNIFIED IDEOGRAPH +0x95AA 0x5206 #CJK UNIFIED IDEOGRAPH +0x95AB 0x543B #CJK UNIFIED IDEOGRAPH +0x95AC 0x5674 #CJK UNIFIED IDEOGRAPH +0x95AD 0x58B3 #CJK UNIFIED IDEOGRAPH +0x95AE 0x61A4 #CJK UNIFIED IDEOGRAPH +0x95AF 0x626E #CJK UNIFIED IDEOGRAPH +0x95B0 0x711A #CJK UNIFIED IDEOGRAPH +0x95B1 0x596E #CJK UNIFIED IDEOGRAPH +0x95B2 0x7C89 #CJK UNIFIED IDEOGRAPH +0x95B3 0x7CDE #CJK UNIFIED IDEOGRAPH +0x95B4 0x7D1B #CJK UNIFIED IDEOGRAPH +0x95B5 0x96F0 #CJK UNIFIED IDEOGRAPH +0x95B6 0x6587 #CJK UNIFIED IDEOGRAPH +0x95B7 0x805E #CJK UNIFIED IDEOGRAPH +0x95B8 0x4E19 #CJK UNIFIED IDEOGRAPH +0x95B9 0x4F75 #CJK UNIFIED IDEOGRAPH +0x95BA 0x5175 #CJK UNIFIED IDEOGRAPH +0x95BB 0x5840 #CJK UNIFIED IDEOGRAPH +0x95BC 0x5E63 #CJK UNIFIED IDEOGRAPH +0x95BD 0x5E73 #CJK UNIFIED IDEOGRAPH +0x95BE 0x5F0A #CJK UNIFIED IDEOGRAPH +0x95BF 0x67C4 #CJK UNIFIED IDEOGRAPH +0x95C0 0x4E26 #CJK UNIFIED IDEOGRAPH +0x95C1 0x853D #CJK UNIFIED IDEOGRAPH +0x95C2 0x9589 #CJK UNIFIED IDEOGRAPH +0x95C3 0x965B #CJK UNIFIED IDEOGRAPH +0x95C4 0x7C73 #CJK UNIFIED IDEOGRAPH +0x95C5 0x9801 #CJK UNIFIED IDEOGRAPH +0x95C6 0x50FB #CJK UNIFIED IDEOGRAPH +0x95C7 0x58C1 #CJK UNIFIED IDEOGRAPH +0x95C8 0x7656 #CJK UNIFIED IDEOGRAPH +0x95C9 0x78A7 #CJK UNIFIED IDEOGRAPH +0x95CA 0x5225 #CJK UNIFIED IDEOGRAPH +0x95CB 0x77A5 #CJK UNIFIED IDEOGRAPH +0x95CC 0x8511 #CJK UNIFIED IDEOGRAPH +0x95CD 0x7B86 #CJK UNIFIED IDEOGRAPH +0x95CE 0x504F #CJK UNIFIED IDEOGRAPH +0x95CF 0x5909 #CJK UNIFIED IDEOGRAPH +0x95D0 0x7247 #CJK UNIFIED IDEOGRAPH +0x95D1 0x7BC7 #CJK UNIFIED IDEOGRAPH +0x95D2 0x7DE8 #CJK UNIFIED IDEOGRAPH +0x95D3 0x8FBA #CJK UNIFIED IDEOGRAPH +0x95D4 0x8FD4 #CJK UNIFIED IDEOGRAPH +0x95D5 0x904D #CJK UNIFIED IDEOGRAPH +0x95D6 0x4FBF #CJK UNIFIED IDEOGRAPH +0x95D7 0x52C9 #CJK UNIFIED IDEOGRAPH +0x95D8 0x5A29 #CJK UNIFIED IDEOGRAPH +0x95D9 0x5F01 #CJK UNIFIED IDEOGRAPH +0x95DA 0x97AD #CJK UNIFIED IDEOGRAPH +0x95DB 0x4FDD #CJK UNIFIED IDEOGRAPH +0x95DC 0x8217 #CJK UNIFIED IDEOGRAPH +0x95DD 0x92EA #CJK UNIFIED IDEOGRAPH +0x95DE 0x5703 #CJK UNIFIED IDEOGRAPH +0x95DF 0x6355 #CJK UNIFIED IDEOGRAPH +0x95E0 0x6B69 #CJK UNIFIED IDEOGRAPH +0x95E1 0x752B #CJK UNIFIED IDEOGRAPH +0x95E2 0x88DC #CJK UNIFIED IDEOGRAPH +0x95E3 0x8F14 #CJK UNIFIED IDEOGRAPH +0x95E4 0x7A42 #CJK UNIFIED IDEOGRAPH +0x95E5 0x52DF #CJK UNIFIED IDEOGRAPH +0x95E6 0x5893 #CJK UNIFIED IDEOGRAPH +0x95E7 0x6155 #CJK UNIFIED IDEOGRAPH +0x95E8 0x620A #CJK UNIFIED IDEOGRAPH +0x95E9 0x66AE #CJK UNIFIED IDEOGRAPH +0x95EA 0x6BCD #CJK UNIFIED IDEOGRAPH +0x95EB 0x7C3F #CJK UNIFIED IDEOGRAPH +0x95EC 0x83E9 #CJK UNIFIED IDEOGRAPH +0x95ED 0x5023 #CJK UNIFIED IDEOGRAPH +0x95EE 0x4FF8 #CJK UNIFIED IDEOGRAPH +0x95EF 0x5305 #CJK UNIFIED IDEOGRAPH +0x95F0 0x5446 #CJK UNIFIED IDEOGRAPH +0x95F1 0x5831 #CJK UNIFIED IDEOGRAPH +0x95F2 0x5949 #CJK UNIFIED IDEOGRAPH +0x95F3 0x5B9D #CJK UNIFIED IDEOGRAPH +0x95F4 0x5CF0 #CJK UNIFIED IDEOGRAPH +0x95F5 0x5CEF #CJK UNIFIED IDEOGRAPH +0x95F6 0x5D29 #CJK UNIFIED IDEOGRAPH +0x95F7 0x5E96 #CJK UNIFIED IDEOGRAPH +0x95F8 0x62B1 #CJK UNIFIED IDEOGRAPH +0x95F9 0x6367 #CJK UNIFIED IDEOGRAPH +0x95FA 0x653E #CJK UNIFIED IDEOGRAPH +0x95FB 0x65B9 #CJK UNIFIED IDEOGRAPH +0x95FC 0x670B #CJK UNIFIED IDEOGRAPH +0x9640 0x6CD5 #CJK UNIFIED IDEOGRAPH +0x9641 0x6CE1 #CJK UNIFIED IDEOGRAPH +0x9642 0x70F9 #CJK UNIFIED IDEOGRAPH +0x9643 0x7832 #CJK UNIFIED IDEOGRAPH +0x9644 0x7E2B #CJK UNIFIED IDEOGRAPH +0x9645 0x80DE #CJK UNIFIED IDEOGRAPH +0x9646 0x82B3 #CJK UNIFIED IDEOGRAPH +0x9647 0x840C #CJK UNIFIED IDEOGRAPH +0x9648 0x84EC #CJK UNIFIED IDEOGRAPH +0x9649 0x8702 #CJK UNIFIED IDEOGRAPH +0x964A 0x8912 #CJK UNIFIED IDEOGRAPH +0x964B 0x8A2A #CJK UNIFIED IDEOGRAPH +0x964C 0x8C4A #CJK UNIFIED IDEOGRAPH +0x964D 0x90A6 #CJK UNIFIED IDEOGRAPH +0x964E 0x92D2 #CJK UNIFIED IDEOGRAPH +0x964F 0x98FD #CJK UNIFIED IDEOGRAPH +0x9650 0x9CF3 #CJK UNIFIED IDEOGRAPH +0x9651 0x9D6C #CJK UNIFIED IDEOGRAPH +0x9652 0x4E4F #CJK UNIFIED IDEOGRAPH +0x9653 0x4EA1 #CJK UNIFIED IDEOGRAPH +0x9654 0x508D #CJK UNIFIED IDEOGRAPH +0x9655 0x5256 #CJK UNIFIED IDEOGRAPH +0x9656 0x574A #CJK UNIFIED IDEOGRAPH +0x9657 0x59A8 #CJK UNIFIED IDEOGRAPH +0x9658 0x5E3D #CJK UNIFIED IDEOGRAPH +0x9659 0x5FD8 #CJK UNIFIED IDEOGRAPH +0x965A 0x5FD9 #CJK UNIFIED IDEOGRAPH +0x965B 0x623F #CJK UNIFIED IDEOGRAPH +0x965C 0x66B4 #CJK UNIFIED IDEOGRAPH +0x965D 0x671B #CJK UNIFIED IDEOGRAPH +0x965E 0x67D0 #CJK UNIFIED IDEOGRAPH +0x965F 0x68D2 #CJK UNIFIED IDEOGRAPH +0x9660 0x5192 #CJK UNIFIED IDEOGRAPH +0x9661 0x7D21 #CJK UNIFIED IDEOGRAPH +0x9662 0x80AA #CJK UNIFIED IDEOGRAPH +0x9663 0x81A8 #CJK UNIFIED IDEOGRAPH +0x9664 0x8B00 #CJK UNIFIED IDEOGRAPH +0x9665 0x8C8C #CJK UNIFIED IDEOGRAPH +0x9666 0x8CBF #CJK UNIFIED IDEOGRAPH +0x9667 0x927E #CJK UNIFIED IDEOGRAPH +0x9668 0x9632 #CJK UNIFIED IDEOGRAPH +0x9669 0x5420 #CJK UNIFIED IDEOGRAPH +0x966A 0x982C #CJK UNIFIED IDEOGRAPH +0x966B 0x5317 #CJK UNIFIED IDEOGRAPH +0x966C 0x50D5 #CJK UNIFIED IDEOGRAPH +0x966D 0x535C #CJK UNIFIED IDEOGRAPH +0x966E 0x58A8 #CJK UNIFIED IDEOGRAPH +0x966F 0x64B2 #CJK UNIFIED IDEOGRAPH +0x9670 0x6734 #CJK UNIFIED IDEOGRAPH +0x9671 0x7267 #CJK UNIFIED IDEOGRAPH +0x9672 0x7766 #CJK UNIFIED IDEOGRAPH +0x9673 0x7A46 #CJK UNIFIED IDEOGRAPH +0x9674 0x91E6 #CJK UNIFIED IDEOGRAPH +0x9675 0x52C3 #CJK UNIFIED IDEOGRAPH +0x9676 0x6CA1 #CJK UNIFIED IDEOGRAPH +0x9677 0x6B86 #CJK UNIFIED IDEOGRAPH +0x9678 0x5800 #CJK UNIFIED IDEOGRAPH +0x9679 0x5E4C #CJK UNIFIED IDEOGRAPH +0x967A 0x5954 #CJK UNIFIED IDEOGRAPH +0x967B 0x672C #CJK UNIFIED IDEOGRAPH +0x967C 0x7FFB #CJK UNIFIED IDEOGRAPH +0x967D 0x51E1 #CJK UNIFIED IDEOGRAPH +0x967E 0x76C6 #CJK UNIFIED IDEOGRAPH +0x9680 0x6469 #CJK UNIFIED IDEOGRAPH +0x9681 0x78E8 #CJK UNIFIED IDEOGRAPH +0x9682 0x9B54 #CJK UNIFIED IDEOGRAPH +0x9683 0x9EBB #CJK UNIFIED IDEOGRAPH +0x9684 0x57CB #CJK UNIFIED IDEOGRAPH +0x9685 0x59B9 #CJK UNIFIED IDEOGRAPH +0x9686 0x6627 #CJK UNIFIED IDEOGRAPH +0x9687 0x679A #CJK UNIFIED IDEOGRAPH +0x9688 0x6BCE #CJK UNIFIED IDEOGRAPH +0x9689 0x54E9 #CJK UNIFIED IDEOGRAPH +0x968A 0x69D9 #CJK UNIFIED IDEOGRAPH +0x968B 0x5E55 #CJK UNIFIED IDEOGRAPH +0x968C 0x819C #CJK UNIFIED IDEOGRAPH +0x968D 0x6795 #CJK UNIFIED IDEOGRAPH +0x968E 0x9BAA #CJK UNIFIED IDEOGRAPH +0x968F 0x67FE #CJK UNIFIED IDEOGRAPH +0x9690 0x9C52 #CJK UNIFIED IDEOGRAPH +0x9691 0x685D #CJK UNIFIED IDEOGRAPH +0x9692 0x4EA6 #CJK UNIFIED IDEOGRAPH +0x9693 0x4FE3 #CJK UNIFIED IDEOGRAPH +0x9694 0x53C8 #CJK UNIFIED IDEOGRAPH +0x9695 0x62B9 #CJK UNIFIED IDEOGRAPH +0x9696 0x672B #CJK UNIFIED IDEOGRAPH +0x9697 0x6CAB #CJK UNIFIED IDEOGRAPH +0x9698 0x8FC4 #CJK UNIFIED IDEOGRAPH +0x9699 0x4FAD #CJK UNIFIED IDEOGRAPH +0x969A 0x7E6D #CJK UNIFIED IDEOGRAPH +0x969B 0x9EBF #CJK UNIFIED IDEOGRAPH +0x969C 0x4E07 #CJK UNIFIED IDEOGRAPH +0x969D 0x6162 #CJK UNIFIED IDEOGRAPH +0x969E 0x6E80 #CJK UNIFIED IDEOGRAPH +0x969F 0x6F2B #CJK UNIFIED IDEOGRAPH +0x96A0 0x8513 #CJK UNIFIED IDEOGRAPH +0x96A1 0x5473 #CJK UNIFIED IDEOGRAPH +0x96A2 0x672A #CJK UNIFIED IDEOGRAPH +0x96A3 0x9B45 #CJK UNIFIED IDEOGRAPH +0x96A4 0x5DF3 #CJK UNIFIED IDEOGRAPH +0x96A5 0x7B95 #CJK UNIFIED IDEOGRAPH +0x96A6 0x5CAC #CJK UNIFIED IDEOGRAPH +0x96A7 0x5BC6 #CJK UNIFIED IDEOGRAPH +0x96A8 0x871C #CJK UNIFIED IDEOGRAPH +0x96A9 0x6E4A #CJK UNIFIED IDEOGRAPH +0x96AA 0x84D1 #CJK UNIFIED IDEOGRAPH +0x96AB 0x7A14 #CJK UNIFIED IDEOGRAPH +0x96AC 0x8108 #CJK UNIFIED IDEOGRAPH +0x96AD 0x5999 #CJK UNIFIED IDEOGRAPH +0x96AE 0x7C8D #CJK UNIFIED IDEOGRAPH +0x96AF 0x6C11 #CJK UNIFIED IDEOGRAPH +0x96B0 0x7720 #CJK UNIFIED IDEOGRAPH +0x96B1 0x52D9 #CJK UNIFIED IDEOGRAPH +0x96B2 0x5922 #CJK UNIFIED IDEOGRAPH +0x96B3 0x7121 #CJK UNIFIED IDEOGRAPH +0x96B4 0x725F #CJK UNIFIED IDEOGRAPH +0x96B5 0x77DB #CJK UNIFIED IDEOGRAPH +0x96B6 0x9727 #CJK UNIFIED IDEOGRAPH +0x96B7 0x9D61 #CJK UNIFIED IDEOGRAPH +0x96B8 0x690B #CJK UNIFIED IDEOGRAPH +0x96B9 0x5A7F #CJK UNIFIED IDEOGRAPH +0x96BA 0x5A18 #CJK UNIFIED IDEOGRAPH +0x96BB 0x51A5 #CJK UNIFIED IDEOGRAPH +0x96BC 0x540D #CJK UNIFIED IDEOGRAPH +0x96BD 0x547D #CJK UNIFIED IDEOGRAPH +0x96BE 0x660E #CJK UNIFIED IDEOGRAPH +0x96BF 0x76DF #CJK UNIFIED IDEOGRAPH +0x96C0 0x8FF7 #CJK UNIFIED IDEOGRAPH +0x96C1 0x9298 #CJK UNIFIED IDEOGRAPH +0x96C2 0x9CF4 #CJK UNIFIED IDEOGRAPH +0x96C3 0x59EA #CJK UNIFIED IDEOGRAPH +0x96C4 0x725D #CJK UNIFIED IDEOGRAPH +0x96C5 0x6EC5 #CJK UNIFIED IDEOGRAPH +0x96C6 0x514D #CJK UNIFIED IDEOGRAPH +0x96C7 0x68C9 #CJK UNIFIED IDEOGRAPH +0x96C8 0x7DBF #CJK UNIFIED IDEOGRAPH +0x96C9 0x7DEC #CJK UNIFIED IDEOGRAPH +0x96CA 0x9762 #CJK UNIFIED IDEOGRAPH +0x96CB 0x9EBA #CJK UNIFIED IDEOGRAPH +0x96CC 0x6478 #CJK UNIFIED IDEOGRAPH +0x96CD 0x6A21 #CJK UNIFIED IDEOGRAPH +0x96CE 0x8302 #CJK UNIFIED IDEOGRAPH +0x96CF 0x5984 #CJK UNIFIED IDEOGRAPH +0x96D0 0x5B5F #CJK UNIFIED IDEOGRAPH +0x96D1 0x6BDB #CJK UNIFIED IDEOGRAPH +0x96D2 0x731B #CJK UNIFIED IDEOGRAPH +0x96D3 0x76F2 #CJK UNIFIED IDEOGRAPH +0x96D4 0x7DB2 #CJK UNIFIED IDEOGRAPH +0x96D5 0x8017 #CJK UNIFIED IDEOGRAPH +0x96D6 0x8499 #CJK UNIFIED IDEOGRAPH +0x96D7 0x5132 #CJK UNIFIED IDEOGRAPH +0x96D8 0x6728 #CJK UNIFIED IDEOGRAPH +0x96D9 0x9ED9 #CJK UNIFIED IDEOGRAPH +0x96DA 0x76EE #CJK UNIFIED IDEOGRAPH +0x96DB 0x6762 #CJK UNIFIED IDEOGRAPH +0x96DC 0x52FF #CJK UNIFIED IDEOGRAPH +0x96DD 0x9905 #CJK UNIFIED IDEOGRAPH +0x96DE 0x5C24 #CJK UNIFIED IDEOGRAPH +0x96DF 0x623B #CJK UNIFIED IDEOGRAPH +0x96E0 0x7C7E #CJK UNIFIED IDEOGRAPH +0x96E1 0x8CB0 #CJK UNIFIED IDEOGRAPH +0x96E2 0x554F #CJK UNIFIED IDEOGRAPH +0x96E3 0x60B6 #CJK UNIFIED IDEOGRAPH +0x96E4 0x7D0B #CJK UNIFIED IDEOGRAPH +0x96E5 0x9580 #CJK UNIFIED IDEOGRAPH +0x96E6 0x5301 #CJK UNIFIED IDEOGRAPH +0x96E7 0x4E5F #CJK UNIFIED IDEOGRAPH +0x96E8 0x51B6 #CJK UNIFIED IDEOGRAPH +0x96E9 0x591C #CJK UNIFIED IDEOGRAPH +0x96EA 0x723A #CJK UNIFIED IDEOGRAPH +0x96EB 0x8036 #CJK UNIFIED IDEOGRAPH +0x96EC 0x91CE #CJK UNIFIED IDEOGRAPH +0x96ED 0x5F25 #CJK UNIFIED IDEOGRAPH +0x96EE 0x77E2 #CJK UNIFIED IDEOGRAPH +0x96EF 0x5384 #CJK UNIFIED IDEOGRAPH +0x96F0 0x5F79 #CJK UNIFIED IDEOGRAPH +0x96F1 0x7D04 #CJK UNIFIED IDEOGRAPH +0x96F2 0x85AC #CJK UNIFIED IDEOGRAPH +0x96F3 0x8A33 #CJK UNIFIED IDEOGRAPH +0x96F4 0x8E8D #CJK UNIFIED IDEOGRAPH +0x96F5 0x9756 #CJK UNIFIED IDEOGRAPH +0x96F6 0x67F3 #CJK UNIFIED IDEOGRAPH +0x96F7 0x85AE #CJK UNIFIED IDEOGRAPH +0x96F8 0x9453 #CJK UNIFIED IDEOGRAPH +0x96F9 0x6109 #CJK UNIFIED IDEOGRAPH +0x96FA 0x6108 #CJK UNIFIED IDEOGRAPH +0x96FB 0x6CB9 #CJK UNIFIED IDEOGRAPH +0x96FC 0x7652 #CJK UNIFIED IDEOGRAPH +0x9740 0x8AED #CJK UNIFIED IDEOGRAPH +0x9741 0x8F38 #CJK UNIFIED IDEOGRAPH +0x9742 0x552F #CJK UNIFIED IDEOGRAPH +0x9743 0x4F51 #CJK UNIFIED IDEOGRAPH +0x9744 0x512A #CJK UNIFIED IDEOGRAPH +0x9745 0x52C7 #CJK UNIFIED IDEOGRAPH +0x9746 0x53CB #CJK UNIFIED IDEOGRAPH +0x9747 0x5BA5 #CJK UNIFIED IDEOGRAPH +0x9748 0x5E7D #CJK UNIFIED IDEOGRAPH +0x9749 0x60A0 #CJK UNIFIED IDEOGRAPH +0x974A 0x6182 #CJK UNIFIED IDEOGRAPH +0x974B 0x63D6 #CJK UNIFIED IDEOGRAPH +0x974C 0x6709 #CJK UNIFIED IDEOGRAPH +0x974D 0x67DA #CJK UNIFIED IDEOGRAPH +0x974E 0x6E67 #CJK UNIFIED IDEOGRAPH +0x974F 0x6D8C #CJK UNIFIED IDEOGRAPH +0x9750 0x7336 #CJK UNIFIED IDEOGRAPH +0x9751 0x7337 #CJK UNIFIED IDEOGRAPH +0x9752 0x7531 #CJK UNIFIED IDEOGRAPH +0x9753 0x7950 #CJK UNIFIED IDEOGRAPH +0x9754 0x88D5 #CJK UNIFIED IDEOGRAPH +0x9755 0x8A98 #CJK UNIFIED IDEOGRAPH +0x9756 0x904A #CJK UNIFIED IDEOGRAPH +0x9757 0x9091 #CJK UNIFIED IDEOGRAPH +0x9758 0x90F5 #CJK UNIFIED IDEOGRAPH +0x9759 0x96C4 #CJK UNIFIED IDEOGRAPH +0x975A 0x878D #CJK UNIFIED IDEOGRAPH +0x975B 0x5915 #CJK UNIFIED IDEOGRAPH +0x975C 0x4E88 #CJK UNIFIED IDEOGRAPH +0x975D 0x4F59 #CJK UNIFIED IDEOGRAPH +0x975E 0x4E0E #CJK UNIFIED IDEOGRAPH +0x975F 0x8A89 #CJK UNIFIED IDEOGRAPH +0x9760 0x8F3F #CJK UNIFIED IDEOGRAPH +0x9761 0x9810 #CJK UNIFIED IDEOGRAPH +0x9762 0x50AD #CJK UNIFIED IDEOGRAPH +0x9763 0x5E7C #CJK UNIFIED IDEOGRAPH +0x9764 0x5996 #CJK UNIFIED IDEOGRAPH +0x9765 0x5BB9 #CJK UNIFIED IDEOGRAPH +0x9766 0x5EB8 #CJK UNIFIED IDEOGRAPH +0x9767 0x63DA #CJK UNIFIED IDEOGRAPH +0x9768 0x63FA #CJK UNIFIED IDEOGRAPH +0x9769 0x64C1 #CJK UNIFIED IDEOGRAPH +0x976A 0x66DC #CJK UNIFIED IDEOGRAPH +0x976B 0x694A #CJK UNIFIED IDEOGRAPH +0x976C 0x69D8 #CJK UNIFIED IDEOGRAPH +0x976D 0x6D0B #CJK UNIFIED IDEOGRAPH +0x976E 0x6EB6 #CJK UNIFIED IDEOGRAPH +0x976F 0x7194 #CJK UNIFIED IDEOGRAPH +0x9770 0x7528 #CJK UNIFIED IDEOGRAPH +0x9771 0x7AAF #CJK UNIFIED IDEOGRAPH +0x9772 0x7F8A #CJK UNIFIED IDEOGRAPH +0x9773 0x8000 #CJK UNIFIED IDEOGRAPH +0x9774 0x8449 #CJK UNIFIED IDEOGRAPH +0x9775 0x84C9 #CJK UNIFIED IDEOGRAPH +0x9776 0x8981 #CJK UNIFIED IDEOGRAPH +0x9777 0x8B21 #CJK UNIFIED IDEOGRAPH +0x9778 0x8E0A #CJK UNIFIED IDEOGRAPH +0x9779 0x9065 #CJK UNIFIED IDEOGRAPH +0x977A 0x967D #CJK UNIFIED IDEOGRAPH +0x977B 0x990A #CJK UNIFIED IDEOGRAPH +0x977C 0x617E #CJK UNIFIED IDEOGRAPH +0x977D 0x6291 #CJK UNIFIED IDEOGRAPH +0x977E 0x6B32 #CJK UNIFIED IDEOGRAPH +0x9780 0x6C83 #CJK UNIFIED IDEOGRAPH +0x9781 0x6D74 #CJK UNIFIED IDEOGRAPH +0x9782 0x7FCC #CJK UNIFIED IDEOGRAPH +0x9783 0x7FFC #CJK UNIFIED IDEOGRAPH +0x9784 0x6DC0 #CJK UNIFIED IDEOGRAPH +0x9785 0x7F85 #CJK UNIFIED IDEOGRAPH +0x9786 0x87BA #CJK UNIFIED IDEOGRAPH +0x9787 0x88F8 #CJK UNIFIED IDEOGRAPH +0x9788 0x6765 #CJK UNIFIED IDEOGRAPH +0x9789 0x83B1 #CJK UNIFIED IDEOGRAPH +0x978A 0x983C #CJK UNIFIED IDEOGRAPH +0x978B 0x96F7 #CJK UNIFIED IDEOGRAPH +0x978C 0x6D1B #CJK UNIFIED IDEOGRAPH +0x978D 0x7D61 #CJK UNIFIED IDEOGRAPH +0x978E 0x843D #CJK UNIFIED IDEOGRAPH +0x978F 0x916A #CJK UNIFIED IDEOGRAPH +0x9790 0x4E71 #CJK UNIFIED IDEOGRAPH +0x9791 0x5375 #CJK UNIFIED IDEOGRAPH +0x9792 0x5D50 #CJK UNIFIED IDEOGRAPH +0x9793 0x6B04 #CJK UNIFIED IDEOGRAPH +0x9794 0x6FEB #CJK UNIFIED IDEOGRAPH +0x9795 0x85CD #CJK UNIFIED IDEOGRAPH +0x9796 0x862D #CJK UNIFIED IDEOGRAPH +0x9797 0x89A7 #CJK UNIFIED IDEOGRAPH +0x9798 0x5229 #CJK UNIFIED IDEOGRAPH +0x9799 0x540F #CJK UNIFIED IDEOGRAPH +0x979A 0x5C65 #CJK UNIFIED IDEOGRAPH +0x979B 0x674E #CJK UNIFIED IDEOGRAPH +0x979C 0x68A8 #CJK UNIFIED IDEOGRAPH +0x979D 0x7406 #CJK UNIFIED IDEOGRAPH +0x979E 0x7483 #CJK UNIFIED IDEOGRAPH +0x979F 0x75E2 #CJK UNIFIED IDEOGRAPH +0x97A0 0x88CF #CJK UNIFIED IDEOGRAPH +0x97A1 0x88E1 #CJK UNIFIED IDEOGRAPH +0x97A2 0x91CC #CJK UNIFIED IDEOGRAPH +0x97A3 0x96E2 #CJK UNIFIED IDEOGRAPH +0x97A4 0x9678 #CJK UNIFIED IDEOGRAPH +0x97A5 0x5F8B #CJK UNIFIED IDEOGRAPH +0x97A6 0x7387 #CJK UNIFIED IDEOGRAPH +0x97A7 0x7ACB #CJK UNIFIED IDEOGRAPH +0x97A8 0x844E #CJK UNIFIED IDEOGRAPH +0x97A9 0x63A0 #CJK UNIFIED IDEOGRAPH +0x97AA 0x7565 #CJK UNIFIED IDEOGRAPH +0x97AB 0x5289 #CJK UNIFIED IDEOGRAPH +0x97AC 0x6D41 #CJK UNIFIED IDEOGRAPH +0x97AD 0x6E9C #CJK UNIFIED IDEOGRAPH +0x97AE 0x7409 #CJK UNIFIED IDEOGRAPH +0x97AF 0x7559 #CJK UNIFIED IDEOGRAPH +0x97B0 0x786B #CJK UNIFIED IDEOGRAPH +0x97B1 0x7C92 #CJK UNIFIED IDEOGRAPH +0x97B2 0x9686 #CJK UNIFIED IDEOGRAPH +0x97B3 0x7ADC #CJK UNIFIED IDEOGRAPH +0x97B4 0x9F8D #CJK UNIFIED IDEOGRAPH +0x97B5 0x4FB6 #CJK UNIFIED IDEOGRAPH +0x97B6 0x616E #CJK UNIFIED IDEOGRAPH +0x97B7 0x65C5 #CJK UNIFIED IDEOGRAPH +0x97B8 0x865C #CJK UNIFIED IDEOGRAPH +0x97B9 0x4E86 #CJK UNIFIED IDEOGRAPH +0x97BA 0x4EAE #CJK UNIFIED IDEOGRAPH +0x97BB 0x50DA #CJK UNIFIED IDEOGRAPH +0x97BC 0x4E21 #CJK UNIFIED IDEOGRAPH +0x97BD 0x51CC #CJK UNIFIED IDEOGRAPH +0x97BE 0x5BEE #CJK UNIFIED IDEOGRAPH +0x97BF 0x6599 #CJK UNIFIED IDEOGRAPH +0x97C0 0x6881 #CJK UNIFIED IDEOGRAPH +0x97C1 0x6DBC #CJK UNIFIED IDEOGRAPH +0x97C2 0x731F #CJK UNIFIED IDEOGRAPH +0x97C3 0x7642 #CJK UNIFIED IDEOGRAPH +0x97C4 0x77AD #CJK UNIFIED IDEOGRAPH +0x97C5 0x7A1C #CJK UNIFIED IDEOGRAPH +0x97C6 0x7CE7 #CJK UNIFIED IDEOGRAPH +0x97C7 0x826F #CJK UNIFIED IDEOGRAPH +0x97C8 0x8AD2 #CJK UNIFIED IDEOGRAPH +0x97C9 0x907C #CJK UNIFIED IDEOGRAPH +0x97CA 0x91CF #CJK UNIFIED IDEOGRAPH +0x97CB 0x9675 #CJK UNIFIED IDEOGRAPH +0x97CC 0x9818 #CJK UNIFIED IDEOGRAPH +0x97CD 0x529B #CJK UNIFIED IDEOGRAPH +0x97CE 0x7DD1 #CJK UNIFIED IDEOGRAPH +0x97CF 0x502B #CJK UNIFIED IDEOGRAPH +0x97D0 0x5398 #CJK UNIFIED IDEOGRAPH +0x97D1 0x6797 #CJK UNIFIED IDEOGRAPH +0x97D2 0x6DCB #CJK UNIFIED IDEOGRAPH +0x97D3 0x71D0 #CJK UNIFIED IDEOGRAPH +0x97D4 0x7433 #CJK UNIFIED IDEOGRAPH +0x97D5 0x81E8 #CJK UNIFIED IDEOGRAPH +0x97D6 0x8F2A #CJK UNIFIED IDEOGRAPH +0x97D7 0x96A3 #CJK UNIFIED IDEOGRAPH +0x97D8 0x9C57 #CJK UNIFIED IDEOGRAPH +0x97D9 0x9E9F #CJK UNIFIED IDEOGRAPH +0x97DA 0x7460 #CJK UNIFIED IDEOGRAPH +0x97DB 0x5841 #CJK UNIFIED IDEOGRAPH +0x97DC 0x6D99 #CJK UNIFIED IDEOGRAPH +0x97DD 0x7D2F #CJK UNIFIED IDEOGRAPH +0x97DE 0x985E #CJK UNIFIED IDEOGRAPH +0x97DF 0x4EE4 #CJK UNIFIED IDEOGRAPH +0x97E0 0x4F36 #CJK UNIFIED IDEOGRAPH +0x97E1 0x4F8B #CJK UNIFIED IDEOGRAPH +0x97E2 0x51B7 #CJK UNIFIED IDEOGRAPH +0x97E3 0x52B1 #CJK UNIFIED IDEOGRAPH +0x97E4 0x5DBA #CJK UNIFIED IDEOGRAPH +0x97E5 0x601C #CJK UNIFIED IDEOGRAPH +0x97E6 0x73B2 #CJK UNIFIED IDEOGRAPH +0x97E7 0x793C #CJK UNIFIED IDEOGRAPH +0x97E8 0x82D3 #CJK UNIFIED IDEOGRAPH +0x97E9 0x9234 #CJK UNIFIED IDEOGRAPH +0x97EA 0x96B7 #CJK UNIFIED IDEOGRAPH +0x97EB 0x96F6 #CJK UNIFIED IDEOGRAPH +0x97EC 0x970A #CJK UNIFIED IDEOGRAPH +0x97ED 0x9E97 #CJK UNIFIED IDEOGRAPH +0x97EE 0x9F62 #CJK UNIFIED IDEOGRAPH +0x97EF 0x66A6 #CJK UNIFIED IDEOGRAPH +0x97F0 0x6B74 #CJK UNIFIED IDEOGRAPH +0x97F1 0x5217 #CJK UNIFIED IDEOGRAPH +0x97F2 0x52A3 #CJK UNIFIED IDEOGRAPH +0x97F3 0x70C8 #CJK UNIFIED IDEOGRAPH +0x97F4 0x88C2 #CJK UNIFIED IDEOGRAPH +0x97F5 0x5EC9 #CJK UNIFIED IDEOGRAPH +0x97F6 0x604B #CJK UNIFIED IDEOGRAPH +0x97F7 0x6190 #CJK UNIFIED IDEOGRAPH +0x97F8 0x6F23 #CJK UNIFIED IDEOGRAPH +0x97F9 0x7149 #CJK UNIFIED IDEOGRAPH +0x97FA 0x7C3E #CJK UNIFIED IDEOGRAPH +0x97FB 0x7DF4 #CJK UNIFIED IDEOGRAPH +0x97FC 0x806F #CJK UNIFIED IDEOGRAPH +0x9840 0x84EE #CJK UNIFIED IDEOGRAPH +0x9841 0x9023 #CJK UNIFIED IDEOGRAPH +0x9842 0x932C #CJK UNIFIED IDEOGRAPH +0x9843 0x5442 #CJK UNIFIED IDEOGRAPH +0x9844 0x9B6F #CJK UNIFIED IDEOGRAPH +0x9845 0x6AD3 #CJK UNIFIED IDEOGRAPH +0x9846 0x7089 #CJK UNIFIED IDEOGRAPH +0x9847 0x8CC2 #CJK UNIFIED IDEOGRAPH +0x9848 0x8DEF #CJK UNIFIED IDEOGRAPH +0x9849 0x9732 #CJK UNIFIED IDEOGRAPH +0x984A 0x52B4 #CJK UNIFIED IDEOGRAPH +0x984B 0x5A41 #CJK UNIFIED IDEOGRAPH +0x984C 0x5ECA #CJK UNIFIED IDEOGRAPH +0x984D 0x5F04 #CJK UNIFIED IDEOGRAPH +0x984E 0x6717 #CJK UNIFIED IDEOGRAPH +0x984F 0x697C #CJK UNIFIED IDEOGRAPH +0x9850 0x6994 #CJK UNIFIED IDEOGRAPH +0x9851 0x6D6A #CJK UNIFIED IDEOGRAPH +0x9852 0x6F0F #CJK UNIFIED IDEOGRAPH +0x9853 0x7262 #CJK UNIFIED IDEOGRAPH +0x9854 0x72FC #CJK UNIFIED IDEOGRAPH +0x9855 0x7BED #CJK UNIFIED IDEOGRAPH +0x9856 0x8001 #CJK UNIFIED IDEOGRAPH +0x9857 0x807E #CJK UNIFIED IDEOGRAPH +0x9858 0x874B #CJK UNIFIED IDEOGRAPH +0x9859 0x90CE #CJK UNIFIED IDEOGRAPH +0x985A 0x516D #CJK UNIFIED IDEOGRAPH +0x985B 0x9E93 #CJK UNIFIED IDEOGRAPH +0x985C 0x7984 #CJK UNIFIED IDEOGRAPH +0x985D 0x808B #CJK UNIFIED IDEOGRAPH +0x985E 0x9332 #CJK UNIFIED IDEOGRAPH +0x985F 0x8AD6 #CJK UNIFIED IDEOGRAPH +0x9860 0x502D #CJK UNIFIED IDEOGRAPH +0x9861 0x548C #CJK UNIFIED IDEOGRAPH +0x9862 0x8A71 #CJK UNIFIED IDEOGRAPH +0x9863 0x6B6A #CJK UNIFIED IDEOGRAPH +0x9864 0x8CC4 #CJK UNIFIED IDEOGRAPH +0x9865 0x8107 #CJK UNIFIED IDEOGRAPH +0x9866 0x60D1 #CJK UNIFIED IDEOGRAPH +0x9867 0x67A0 #CJK UNIFIED IDEOGRAPH +0x9868 0x9DF2 #CJK UNIFIED IDEOGRAPH +0x9869 0x4E99 #CJK UNIFIED IDEOGRAPH +0x986A 0x4E98 #CJK UNIFIED IDEOGRAPH +0x986B 0x9C10 #CJK UNIFIED IDEOGRAPH +0x986C 0x8A6B #CJK UNIFIED IDEOGRAPH +0x986D 0x85C1 #CJK UNIFIED IDEOGRAPH +0x986E 0x8568 #CJK UNIFIED IDEOGRAPH +0x986F 0x6900 #CJK UNIFIED IDEOGRAPH +0x9870 0x6E7E #CJK UNIFIED IDEOGRAPH +0x9871 0x7897 #CJK UNIFIED IDEOGRAPH +0x9872 0x8155 #CJK UNIFIED IDEOGRAPH +0x989F 0x5F0C #CJK UNIFIED IDEOGRAPH +0x98A0 0x4E10 #CJK UNIFIED IDEOGRAPH +0x98A1 0x4E15 #CJK UNIFIED IDEOGRAPH +0x98A2 0x4E2A #CJK UNIFIED IDEOGRAPH +0x98A3 0x4E31 #CJK UNIFIED IDEOGRAPH +0x98A4 0x4E36 #CJK UNIFIED IDEOGRAPH +0x98A5 0x4E3C #CJK UNIFIED IDEOGRAPH +0x98A6 0x4E3F #CJK UNIFIED IDEOGRAPH +0x98A7 0x4E42 #CJK UNIFIED IDEOGRAPH +0x98A8 0x4E56 #CJK UNIFIED IDEOGRAPH +0x98A9 0x4E58 #CJK UNIFIED IDEOGRAPH +0x98AA 0x4E82 #CJK UNIFIED IDEOGRAPH +0x98AB 0x4E85 #CJK UNIFIED IDEOGRAPH +0x98AC 0x8C6B #CJK UNIFIED IDEOGRAPH +0x98AD 0x4E8A #CJK UNIFIED IDEOGRAPH +0x98AE 0x8212 #CJK UNIFIED IDEOGRAPH +0x98AF 0x5F0D #CJK UNIFIED IDEOGRAPH +0x98B0 0x4E8E #CJK UNIFIED IDEOGRAPH +0x98B1 0x4E9E #CJK UNIFIED IDEOGRAPH +0x98B2 0x4E9F #CJK UNIFIED IDEOGRAPH +0x98B3 0x4EA0 #CJK UNIFIED IDEOGRAPH +0x98B4 0x4EA2 #CJK UNIFIED IDEOGRAPH +0x98B5 0x4EB0 #CJK UNIFIED IDEOGRAPH +0x98B6 0x4EB3 #CJK UNIFIED IDEOGRAPH +0x98B7 0x4EB6 #CJK UNIFIED IDEOGRAPH +0x98B8 0x4ECE #CJK UNIFIED IDEOGRAPH +0x98B9 0x4ECD #CJK UNIFIED IDEOGRAPH +0x98BA 0x4EC4 #CJK UNIFIED IDEOGRAPH +0x98BB 0x4EC6 #CJK UNIFIED IDEOGRAPH +0x98BC 0x4EC2 #CJK UNIFIED IDEOGRAPH +0x98BD 0x4ED7 #CJK UNIFIED IDEOGRAPH +0x98BE 0x4EDE #CJK UNIFIED IDEOGRAPH +0x98BF 0x4EED #CJK UNIFIED IDEOGRAPH +0x98C0 0x4EDF #CJK UNIFIED IDEOGRAPH +0x98C1 0x4EF7 #CJK UNIFIED IDEOGRAPH +0x98C2 0x4F09 #CJK UNIFIED IDEOGRAPH +0x98C3 0x4F5A #CJK UNIFIED IDEOGRAPH +0x98C4 0x4F30 #CJK UNIFIED IDEOGRAPH +0x98C5 0x4F5B #CJK UNIFIED IDEOGRAPH +0x98C6 0x4F5D #CJK UNIFIED IDEOGRAPH +0x98C7 0x4F57 #CJK UNIFIED IDEOGRAPH +0x98C8 0x4F47 #CJK UNIFIED IDEOGRAPH +0x98C9 0x4F76 #CJK UNIFIED IDEOGRAPH +0x98CA 0x4F88 #CJK UNIFIED IDEOGRAPH +0x98CB 0x4F8F #CJK UNIFIED IDEOGRAPH +0x98CC 0x4F98 #CJK UNIFIED IDEOGRAPH +0x98CD 0x4F7B #CJK UNIFIED IDEOGRAPH +0x98CE 0x4F69 #CJK UNIFIED IDEOGRAPH +0x98CF 0x4F70 #CJK UNIFIED IDEOGRAPH +0x98D0 0x4F91 #CJK UNIFIED IDEOGRAPH +0x98D1 0x4F6F #CJK UNIFIED IDEOGRAPH +0x98D2 0x4F86 #CJK UNIFIED IDEOGRAPH +0x98D3 0x4F96 #CJK UNIFIED IDEOGRAPH +0x98D4 0x5118 #CJK UNIFIED IDEOGRAPH +0x98D5 0x4FD4 #CJK UNIFIED IDEOGRAPH +0x98D6 0x4FDF #CJK UNIFIED IDEOGRAPH +0x98D7 0x4FCE #CJK UNIFIED IDEOGRAPH +0x98D8 0x4FD8 #CJK UNIFIED IDEOGRAPH +0x98D9 0x4FDB #CJK UNIFIED IDEOGRAPH +0x98DA 0x4FD1 #CJK UNIFIED IDEOGRAPH +0x98DB 0x4FDA #CJK UNIFIED IDEOGRAPH +0x98DC 0x4FD0 #CJK UNIFIED IDEOGRAPH +0x98DD 0x4FE4 #CJK UNIFIED IDEOGRAPH +0x98DE 0x4FE5 #CJK UNIFIED IDEOGRAPH +0x98DF 0x501A #CJK UNIFIED IDEOGRAPH +0x98E0 0x5028 #CJK UNIFIED IDEOGRAPH +0x98E1 0x5014 #CJK UNIFIED IDEOGRAPH +0x98E2 0x502A #CJK UNIFIED IDEOGRAPH +0x98E3 0x5025 #CJK UNIFIED IDEOGRAPH +0x98E4 0x5005 #CJK UNIFIED IDEOGRAPH +0x98E5 0x4F1C #CJK UNIFIED IDEOGRAPH +0x98E6 0x4FF6 #CJK UNIFIED IDEOGRAPH +0x98E7 0x5021 #CJK UNIFIED IDEOGRAPH +0x98E8 0x5029 #CJK UNIFIED IDEOGRAPH +0x98E9 0x502C #CJK UNIFIED IDEOGRAPH +0x98EA 0x4FFE #CJK UNIFIED IDEOGRAPH +0x98EB 0x4FEF #CJK UNIFIED IDEOGRAPH +0x98EC 0x5011 #CJK UNIFIED IDEOGRAPH +0x98ED 0x5006 #CJK UNIFIED IDEOGRAPH +0x98EE 0x5043 #CJK UNIFIED IDEOGRAPH +0x98EF 0x5047 #CJK UNIFIED IDEOGRAPH +0x98F0 0x6703 #CJK UNIFIED IDEOGRAPH +0x98F1 0x5055 #CJK UNIFIED IDEOGRAPH +0x98F2 0x5050 #CJK UNIFIED IDEOGRAPH +0x98F3 0x5048 #CJK UNIFIED IDEOGRAPH +0x98F4 0x505A #CJK UNIFIED IDEOGRAPH +0x98F5 0x5056 #CJK UNIFIED IDEOGRAPH +0x98F6 0x506C #CJK UNIFIED IDEOGRAPH +0x98F7 0x5078 #CJK UNIFIED IDEOGRAPH +0x98F8 0x5080 #CJK UNIFIED IDEOGRAPH +0x98F9 0x509A #CJK UNIFIED IDEOGRAPH +0x98FA 0x5085 #CJK UNIFIED IDEOGRAPH +0x98FB 0x50B4 #CJK UNIFIED IDEOGRAPH +0x98FC 0x50B2 #CJK UNIFIED IDEOGRAPH +0x9940 0x50C9 #CJK UNIFIED IDEOGRAPH +0x9941 0x50CA #CJK UNIFIED IDEOGRAPH +0x9942 0x50B3 #CJK UNIFIED IDEOGRAPH +0x9943 0x50C2 #CJK UNIFIED IDEOGRAPH +0x9944 0x50D6 #CJK UNIFIED IDEOGRAPH +0x9945 0x50DE #CJK UNIFIED IDEOGRAPH +0x9946 0x50E5 #CJK UNIFIED IDEOGRAPH +0x9947 0x50ED #CJK UNIFIED IDEOGRAPH +0x9948 0x50E3 #CJK UNIFIED IDEOGRAPH +0x9949 0x50EE #CJK UNIFIED IDEOGRAPH +0x994A 0x50F9 #CJK UNIFIED IDEOGRAPH +0x994B 0x50F5 #CJK UNIFIED IDEOGRAPH +0x994C 0x5109 #CJK UNIFIED IDEOGRAPH +0x994D 0x5101 #CJK UNIFIED IDEOGRAPH +0x994E 0x5102 #CJK UNIFIED IDEOGRAPH +0x994F 0x5116 #CJK UNIFIED IDEOGRAPH +0x9950 0x5115 #CJK UNIFIED IDEOGRAPH +0x9951 0x5114 #CJK UNIFIED IDEOGRAPH +0x9952 0x511A #CJK UNIFIED IDEOGRAPH +0x9953 0x5121 #CJK UNIFIED IDEOGRAPH +0x9954 0x513A #CJK UNIFIED IDEOGRAPH +0x9955 0x5137 #CJK UNIFIED IDEOGRAPH +0x9956 0x513C #CJK UNIFIED IDEOGRAPH +0x9957 0x513B #CJK UNIFIED IDEOGRAPH +0x9958 0x513F #CJK UNIFIED IDEOGRAPH +0x9959 0x5140 #CJK UNIFIED IDEOGRAPH +0x995A 0x5152 #CJK UNIFIED IDEOGRAPH +0x995B 0x514C #CJK UNIFIED IDEOGRAPH +0x995C 0x5154 #CJK UNIFIED IDEOGRAPH +0x995D 0x5162 #CJK UNIFIED IDEOGRAPH +0x995E 0x7AF8 #CJK UNIFIED IDEOGRAPH +0x995F 0x5169 #CJK UNIFIED IDEOGRAPH +0x9960 0x516A #CJK UNIFIED IDEOGRAPH +0x9961 0x516E #CJK UNIFIED IDEOGRAPH +0x9962 0x5180 #CJK UNIFIED IDEOGRAPH +0x9963 0x5182 #CJK UNIFIED IDEOGRAPH +0x9964 0x56D8 #CJK UNIFIED IDEOGRAPH +0x9965 0x518C #CJK UNIFIED IDEOGRAPH +0x9966 0x5189 #CJK UNIFIED IDEOGRAPH +0x9967 0x518F #CJK UNIFIED IDEOGRAPH +0x9968 0x5191 #CJK UNIFIED IDEOGRAPH +0x9969 0x5193 #CJK UNIFIED IDEOGRAPH +0x996A 0x5195 #CJK UNIFIED IDEOGRAPH +0x996B 0x5196 #CJK UNIFIED IDEOGRAPH +0x996C 0x51A4 #CJK UNIFIED IDEOGRAPH +0x996D 0x51A6 #CJK UNIFIED IDEOGRAPH +0x996E 0x51A2 #CJK UNIFIED IDEOGRAPH +0x996F 0x51A9 #CJK UNIFIED IDEOGRAPH +0x9970 0x51AA #CJK UNIFIED IDEOGRAPH +0x9971 0x51AB #CJK UNIFIED IDEOGRAPH +0x9972 0x51B3 #CJK UNIFIED IDEOGRAPH +0x9973 0x51B1 #CJK UNIFIED IDEOGRAPH +0x9974 0x51B2 #CJK UNIFIED IDEOGRAPH +0x9975 0x51B0 #CJK UNIFIED IDEOGRAPH +0x9976 0x51B5 #CJK UNIFIED IDEOGRAPH +0x9977 0x51BD #CJK UNIFIED IDEOGRAPH +0x9978 0x51C5 #CJK UNIFIED IDEOGRAPH +0x9979 0x51C9 #CJK UNIFIED IDEOGRAPH +0x997A 0x51DB #CJK UNIFIED IDEOGRAPH +0x997B 0x51E0 #CJK UNIFIED IDEOGRAPH +0x997C 0x8655 #CJK UNIFIED IDEOGRAPH +0x997D 0x51E9 #CJK UNIFIED IDEOGRAPH +0x997E 0x51ED #CJK UNIFIED IDEOGRAPH +0x9980 0x51F0 #CJK UNIFIED IDEOGRAPH +0x9981 0x51F5 #CJK UNIFIED IDEOGRAPH +0x9982 0x51FE #CJK UNIFIED IDEOGRAPH +0x9983 0x5204 #CJK UNIFIED IDEOGRAPH +0x9984 0x520B #CJK UNIFIED IDEOGRAPH +0x9985 0x5214 #CJK UNIFIED IDEOGRAPH +0x9986 0x520E #CJK UNIFIED IDEOGRAPH +0x9987 0x5227 #CJK UNIFIED IDEOGRAPH +0x9988 0x522A #CJK UNIFIED IDEOGRAPH +0x9989 0x522E #CJK UNIFIED IDEOGRAPH +0x998A 0x5233 #CJK UNIFIED IDEOGRAPH +0x998B 0x5239 #CJK UNIFIED IDEOGRAPH +0x998C 0x524F #CJK UNIFIED IDEOGRAPH +0x998D 0x5244 #CJK UNIFIED IDEOGRAPH +0x998E 0x524B #CJK UNIFIED IDEOGRAPH +0x998F 0x524C #CJK UNIFIED IDEOGRAPH +0x9990 0x525E #CJK UNIFIED IDEOGRAPH +0x9991 0x5254 #CJK UNIFIED IDEOGRAPH +0x9992 0x526A #CJK UNIFIED IDEOGRAPH +0x9993 0x5274 #CJK UNIFIED IDEOGRAPH +0x9994 0x5269 #CJK UNIFIED IDEOGRAPH +0x9995 0x5273 #CJK UNIFIED IDEOGRAPH +0x9996 0x527F #CJK UNIFIED IDEOGRAPH +0x9997 0x527D #CJK UNIFIED IDEOGRAPH +0x9998 0x528D #CJK UNIFIED IDEOGRAPH +0x9999 0x5294 #CJK UNIFIED IDEOGRAPH +0x999A 0x5292 #CJK UNIFIED IDEOGRAPH +0x999B 0x5271 #CJK UNIFIED IDEOGRAPH +0x999C 0x5288 #CJK UNIFIED IDEOGRAPH +0x999D 0x5291 #CJK UNIFIED IDEOGRAPH +0x999E 0x8FA8 #CJK UNIFIED IDEOGRAPH +0x999F 0x8FA7 #CJK UNIFIED IDEOGRAPH +0x99A0 0x52AC #CJK UNIFIED IDEOGRAPH +0x99A1 0x52AD #CJK UNIFIED IDEOGRAPH +0x99A2 0x52BC #CJK UNIFIED IDEOGRAPH +0x99A3 0x52B5 #CJK UNIFIED IDEOGRAPH +0x99A4 0x52C1 #CJK UNIFIED IDEOGRAPH +0x99A5 0x52CD #CJK UNIFIED IDEOGRAPH +0x99A6 0x52D7 #CJK UNIFIED IDEOGRAPH +0x99A7 0x52DE #CJK UNIFIED IDEOGRAPH +0x99A8 0x52E3 #CJK UNIFIED IDEOGRAPH +0x99A9 0x52E6 #CJK UNIFIED IDEOGRAPH +0x99AA 0x98ED #CJK UNIFIED IDEOGRAPH +0x99AB 0x52E0 #CJK UNIFIED IDEOGRAPH +0x99AC 0x52F3 #CJK UNIFIED IDEOGRAPH +0x99AD 0x52F5 #CJK UNIFIED IDEOGRAPH +0x99AE 0x52F8 #CJK UNIFIED IDEOGRAPH +0x99AF 0x52F9 #CJK UNIFIED IDEOGRAPH +0x99B0 0x5306 #CJK UNIFIED IDEOGRAPH +0x99B1 0x5308 #CJK UNIFIED IDEOGRAPH +0x99B2 0x7538 #CJK UNIFIED IDEOGRAPH +0x99B3 0x530D #CJK UNIFIED IDEOGRAPH +0x99B4 0x5310 #CJK UNIFIED IDEOGRAPH +0x99B5 0x530F #CJK UNIFIED IDEOGRAPH +0x99B6 0x5315 #CJK UNIFIED IDEOGRAPH +0x99B7 0x531A #CJK UNIFIED IDEOGRAPH +0x99B8 0x5323 #CJK UNIFIED IDEOGRAPH +0x99B9 0x532F #CJK UNIFIED IDEOGRAPH +0x99BA 0x5331 #CJK UNIFIED IDEOGRAPH +0x99BB 0x5333 #CJK UNIFIED IDEOGRAPH +0x99BC 0x5338 #CJK UNIFIED IDEOGRAPH +0x99BD 0x5340 #CJK UNIFIED IDEOGRAPH +0x99BE 0x5346 #CJK UNIFIED IDEOGRAPH +0x99BF 0x5345 #CJK UNIFIED IDEOGRAPH +0x99C0 0x4E17 #CJK UNIFIED IDEOGRAPH +0x99C1 0x5349 #CJK UNIFIED IDEOGRAPH +0x99C2 0x534D #CJK UNIFIED IDEOGRAPH +0x99C3 0x51D6 #CJK UNIFIED IDEOGRAPH +0x99C4 0x535E #CJK UNIFIED IDEOGRAPH +0x99C5 0x5369 #CJK UNIFIED IDEOGRAPH +0x99C6 0x536E #CJK UNIFIED IDEOGRAPH +0x99C7 0x5918 #CJK UNIFIED IDEOGRAPH +0x99C8 0x537B #CJK UNIFIED IDEOGRAPH +0x99C9 0x5377 #CJK UNIFIED IDEOGRAPH +0x99CA 0x5382 #CJK UNIFIED IDEOGRAPH +0x99CB 0x5396 #CJK UNIFIED IDEOGRAPH +0x99CC 0x53A0 #CJK UNIFIED IDEOGRAPH +0x99CD 0x53A6 #CJK UNIFIED IDEOGRAPH +0x99CE 0x53A5 #CJK UNIFIED IDEOGRAPH +0x99CF 0x53AE #CJK UNIFIED IDEOGRAPH +0x99D0 0x53B0 #CJK UNIFIED IDEOGRAPH +0x99D1 0x53B6 #CJK UNIFIED IDEOGRAPH +0x99D2 0x53C3 #CJK UNIFIED IDEOGRAPH +0x99D3 0x7C12 #CJK UNIFIED IDEOGRAPH +0x99D4 0x96D9 #CJK UNIFIED IDEOGRAPH +0x99D5 0x53DF #CJK UNIFIED IDEOGRAPH +0x99D6 0x66FC #CJK UNIFIED IDEOGRAPH +0x99D7 0x71EE #CJK UNIFIED IDEOGRAPH +0x99D8 0x53EE #CJK UNIFIED IDEOGRAPH +0x99D9 0x53E8 #CJK UNIFIED IDEOGRAPH +0x99DA 0x53ED #CJK UNIFIED IDEOGRAPH +0x99DB 0x53FA #CJK UNIFIED IDEOGRAPH +0x99DC 0x5401 #CJK UNIFIED IDEOGRAPH +0x99DD 0x543D #CJK UNIFIED IDEOGRAPH +0x99DE 0x5440 #CJK UNIFIED IDEOGRAPH +0x99DF 0x542C #CJK UNIFIED IDEOGRAPH +0x99E0 0x542D #CJK UNIFIED IDEOGRAPH +0x99E1 0x543C #CJK UNIFIED IDEOGRAPH +0x99E2 0x542E #CJK UNIFIED IDEOGRAPH +0x99E3 0x5436 #CJK UNIFIED IDEOGRAPH +0x99E4 0x5429 #CJK UNIFIED IDEOGRAPH +0x99E5 0x541D #CJK UNIFIED IDEOGRAPH +0x99E6 0x544E #CJK UNIFIED IDEOGRAPH +0x99E7 0x548F #CJK UNIFIED IDEOGRAPH +0x99E8 0x5475 #CJK UNIFIED IDEOGRAPH +0x99E9 0x548E #CJK UNIFIED IDEOGRAPH +0x99EA 0x545F #CJK UNIFIED IDEOGRAPH +0x99EB 0x5471 #CJK UNIFIED IDEOGRAPH +0x99EC 0x5477 #CJK UNIFIED IDEOGRAPH +0x99ED 0x5470 #CJK UNIFIED IDEOGRAPH +0x99EE 0x5492 #CJK UNIFIED IDEOGRAPH +0x99EF 0x547B #CJK UNIFIED IDEOGRAPH +0x99F0 0x5480 #CJK UNIFIED IDEOGRAPH +0x99F1 0x5476 #CJK UNIFIED IDEOGRAPH +0x99F2 0x5484 #CJK UNIFIED IDEOGRAPH +0x99F3 0x5490 #CJK UNIFIED IDEOGRAPH +0x99F4 0x5486 #CJK UNIFIED IDEOGRAPH +0x99F5 0x54C7 #CJK UNIFIED IDEOGRAPH +0x99F6 0x54A2 #CJK UNIFIED IDEOGRAPH +0x99F7 0x54B8 #CJK UNIFIED IDEOGRAPH +0x99F8 0x54A5 #CJK UNIFIED IDEOGRAPH +0x99F9 0x54AC #CJK UNIFIED IDEOGRAPH +0x99FA 0x54C4 #CJK UNIFIED IDEOGRAPH +0x99FB 0x54C8 #CJK UNIFIED IDEOGRAPH +0x99FC 0x54A8 #CJK UNIFIED IDEOGRAPH +0x9A40 0x54AB #CJK UNIFIED IDEOGRAPH +0x9A41 0x54C2 #CJK UNIFIED IDEOGRAPH +0x9A42 0x54A4 #CJK UNIFIED IDEOGRAPH +0x9A43 0x54BE #CJK UNIFIED IDEOGRAPH +0x9A44 0x54BC #CJK UNIFIED IDEOGRAPH +0x9A45 0x54D8 #CJK UNIFIED IDEOGRAPH +0x9A46 0x54E5 #CJK UNIFIED IDEOGRAPH +0x9A47 0x54E6 #CJK UNIFIED IDEOGRAPH +0x9A48 0x550F #CJK UNIFIED IDEOGRAPH +0x9A49 0x5514 #CJK UNIFIED IDEOGRAPH +0x9A4A 0x54FD #CJK UNIFIED IDEOGRAPH +0x9A4B 0x54EE #CJK UNIFIED IDEOGRAPH +0x9A4C 0x54ED #CJK UNIFIED IDEOGRAPH +0x9A4D 0x54FA #CJK UNIFIED IDEOGRAPH +0x9A4E 0x54E2 #CJK UNIFIED IDEOGRAPH +0x9A4F 0x5539 #CJK UNIFIED IDEOGRAPH +0x9A50 0x5540 #CJK UNIFIED IDEOGRAPH +0x9A51 0x5563 #CJK UNIFIED IDEOGRAPH +0x9A52 0x554C #CJK UNIFIED IDEOGRAPH +0x9A53 0x552E #CJK UNIFIED IDEOGRAPH +0x9A54 0x555C #CJK UNIFIED IDEOGRAPH +0x9A55 0x5545 #CJK UNIFIED IDEOGRAPH +0x9A56 0x5556 #CJK UNIFIED IDEOGRAPH +0x9A57 0x5557 #CJK UNIFIED IDEOGRAPH +0x9A58 0x5538 #CJK UNIFIED IDEOGRAPH +0x9A59 0x5533 #CJK UNIFIED IDEOGRAPH +0x9A5A 0x555D #CJK UNIFIED IDEOGRAPH +0x9A5B 0x5599 #CJK UNIFIED IDEOGRAPH +0x9A5C 0x5580 #CJK UNIFIED IDEOGRAPH +0x9A5D 0x54AF #CJK UNIFIED IDEOGRAPH +0x9A5E 0x558A #CJK UNIFIED IDEOGRAPH +0x9A5F 0x559F #CJK UNIFIED IDEOGRAPH +0x9A60 0x557B #CJK UNIFIED IDEOGRAPH +0x9A61 0x557E #CJK UNIFIED IDEOGRAPH +0x9A62 0x5598 #CJK UNIFIED IDEOGRAPH +0x9A63 0x559E #CJK UNIFIED IDEOGRAPH +0x9A64 0x55AE #CJK UNIFIED IDEOGRAPH +0x9A65 0x557C #CJK UNIFIED IDEOGRAPH +0x9A66 0x5583 #CJK UNIFIED IDEOGRAPH +0x9A67 0x55A9 #CJK UNIFIED IDEOGRAPH +0x9A68 0x5587 #CJK UNIFIED IDEOGRAPH +0x9A69 0x55A8 #CJK UNIFIED IDEOGRAPH +0x9A6A 0x55DA #CJK UNIFIED IDEOGRAPH +0x9A6B 0x55C5 #CJK UNIFIED IDEOGRAPH +0x9A6C 0x55DF #CJK UNIFIED IDEOGRAPH +0x9A6D 0x55C4 #CJK UNIFIED IDEOGRAPH +0x9A6E 0x55DC #CJK UNIFIED IDEOGRAPH +0x9A6F 0x55E4 #CJK UNIFIED IDEOGRAPH +0x9A70 0x55D4 #CJK UNIFIED IDEOGRAPH +0x9A71 0x5614 #CJK UNIFIED IDEOGRAPH +0x9A72 0x55F7 #CJK UNIFIED IDEOGRAPH +0x9A73 0x5616 #CJK UNIFIED IDEOGRAPH +0x9A74 0x55FE #CJK UNIFIED IDEOGRAPH +0x9A75 0x55FD #CJK UNIFIED IDEOGRAPH +0x9A76 0x561B #CJK UNIFIED IDEOGRAPH +0x9A77 0x55F9 #CJK UNIFIED IDEOGRAPH +0x9A78 0x564E #CJK UNIFIED IDEOGRAPH +0x9A79 0x5650 #CJK UNIFIED IDEOGRAPH +0x9A7A 0x71DF #CJK UNIFIED IDEOGRAPH +0x9A7B 0x5634 #CJK UNIFIED IDEOGRAPH +0x9A7C 0x5636 #CJK UNIFIED IDEOGRAPH +0x9A7D 0x5632 #CJK UNIFIED IDEOGRAPH +0x9A7E 0x5638 #CJK UNIFIED IDEOGRAPH +0x9A80 0x566B #CJK UNIFIED IDEOGRAPH +0x9A81 0x5664 #CJK UNIFIED IDEOGRAPH +0x9A82 0x562F #CJK UNIFIED IDEOGRAPH +0x9A83 0x566C #CJK UNIFIED IDEOGRAPH +0x9A84 0x566A #CJK UNIFIED IDEOGRAPH +0x9A85 0x5686 #CJK UNIFIED IDEOGRAPH +0x9A86 0x5680 #CJK UNIFIED IDEOGRAPH +0x9A87 0x568A #CJK UNIFIED IDEOGRAPH +0x9A88 0x56A0 #CJK UNIFIED IDEOGRAPH +0x9A89 0x5694 #CJK UNIFIED IDEOGRAPH +0x9A8A 0x568F #CJK UNIFIED IDEOGRAPH +0x9A8B 0x56A5 #CJK UNIFIED IDEOGRAPH +0x9A8C 0x56AE #CJK UNIFIED IDEOGRAPH +0x9A8D 0x56B6 #CJK UNIFIED IDEOGRAPH +0x9A8E 0x56B4 #CJK UNIFIED IDEOGRAPH +0x9A8F 0x56C2 #CJK UNIFIED IDEOGRAPH +0x9A90 0x56BC #CJK UNIFIED IDEOGRAPH +0x9A91 0x56C1 #CJK UNIFIED IDEOGRAPH +0x9A92 0x56C3 #CJK UNIFIED IDEOGRAPH +0x9A93 0x56C0 #CJK UNIFIED IDEOGRAPH +0x9A94 0x56C8 #CJK UNIFIED IDEOGRAPH +0x9A95 0x56CE #CJK UNIFIED IDEOGRAPH +0x9A96 0x56D1 #CJK UNIFIED IDEOGRAPH +0x9A97 0x56D3 #CJK UNIFIED IDEOGRAPH +0x9A98 0x56D7 #CJK UNIFIED IDEOGRAPH +0x9A99 0x56EE #CJK UNIFIED IDEOGRAPH +0x9A9A 0x56F9 #CJK UNIFIED IDEOGRAPH +0x9A9B 0x5700 #CJK UNIFIED IDEOGRAPH +0x9A9C 0x56FF #CJK UNIFIED IDEOGRAPH +0x9A9D 0x5704 #CJK UNIFIED IDEOGRAPH +0x9A9E 0x5709 #CJK UNIFIED IDEOGRAPH +0x9A9F 0x5708 #CJK UNIFIED IDEOGRAPH +0x9AA0 0x570B #CJK UNIFIED IDEOGRAPH +0x9AA1 0x570D #CJK UNIFIED IDEOGRAPH +0x9AA2 0x5713 #CJK UNIFIED IDEOGRAPH +0x9AA3 0x5718 #CJK UNIFIED IDEOGRAPH +0x9AA4 0x5716 #CJK UNIFIED IDEOGRAPH +0x9AA5 0x55C7 #CJK UNIFIED IDEOGRAPH +0x9AA6 0x571C #CJK UNIFIED IDEOGRAPH +0x9AA7 0x5726 #CJK UNIFIED IDEOGRAPH +0x9AA8 0x5737 #CJK UNIFIED IDEOGRAPH +0x9AA9 0x5738 #CJK UNIFIED IDEOGRAPH +0x9AAA 0x574E #CJK UNIFIED IDEOGRAPH +0x9AAB 0x573B #CJK UNIFIED IDEOGRAPH +0x9AAC 0x5740 #CJK UNIFIED IDEOGRAPH +0x9AAD 0x574F #CJK UNIFIED IDEOGRAPH +0x9AAE 0x5769 #CJK UNIFIED IDEOGRAPH +0x9AAF 0x57C0 #CJK UNIFIED IDEOGRAPH +0x9AB0 0x5788 #CJK UNIFIED IDEOGRAPH +0x9AB1 0x5761 #CJK UNIFIED IDEOGRAPH +0x9AB2 0x577F #CJK UNIFIED IDEOGRAPH +0x9AB3 0x5789 #CJK UNIFIED IDEOGRAPH +0x9AB4 0x5793 #CJK UNIFIED IDEOGRAPH +0x9AB5 0x57A0 #CJK UNIFIED IDEOGRAPH +0x9AB6 0x57B3 #CJK UNIFIED IDEOGRAPH +0x9AB7 0x57A4 #CJK UNIFIED IDEOGRAPH +0x9AB8 0x57AA #CJK UNIFIED IDEOGRAPH +0x9AB9 0x57B0 #CJK UNIFIED IDEOGRAPH +0x9ABA 0x57C3 #CJK UNIFIED IDEOGRAPH +0x9ABB 0x57C6 #CJK UNIFIED IDEOGRAPH +0x9ABC 0x57D4 #CJK UNIFIED IDEOGRAPH +0x9ABD 0x57D2 #CJK UNIFIED IDEOGRAPH +0x9ABE 0x57D3 #CJK UNIFIED IDEOGRAPH +0x9ABF 0x580A #CJK UNIFIED IDEOGRAPH +0x9AC0 0x57D6 #CJK UNIFIED IDEOGRAPH +0x9AC1 0x57E3 #CJK UNIFIED IDEOGRAPH +0x9AC2 0x580B #CJK UNIFIED IDEOGRAPH +0x9AC3 0x5819 #CJK UNIFIED IDEOGRAPH +0x9AC4 0x581D #CJK UNIFIED IDEOGRAPH +0x9AC5 0x5872 #CJK UNIFIED IDEOGRAPH +0x9AC6 0x5821 #CJK UNIFIED IDEOGRAPH +0x9AC7 0x5862 #CJK UNIFIED IDEOGRAPH +0x9AC8 0x584B #CJK UNIFIED IDEOGRAPH +0x9AC9 0x5870 #CJK UNIFIED IDEOGRAPH +0x9ACA 0x6BC0 #CJK UNIFIED IDEOGRAPH +0x9ACB 0x5852 #CJK UNIFIED IDEOGRAPH +0x9ACC 0x583D #CJK UNIFIED IDEOGRAPH +0x9ACD 0x5879 #CJK UNIFIED IDEOGRAPH +0x9ACE 0x5885 #CJK UNIFIED IDEOGRAPH +0x9ACF 0x58B9 #CJK UNIFIED IDEOGRAPH +0x9AD0 0x589F #CJK UNIFIED IDEOGRAPH +0x9AD1 0x58AB #CJK UNIFIED IDEOGRAPH +0x9AD2 0x58BA #CJK UNIFIED IDEOGRAPH +0x9AD3 0x58DE #CJK UNIFIED IDEOGRAPH +0x9AD4 0x58BB #CJK UNIFIED IDEOGRAPH +0x9AD5 0x58B8 #CJK UNIFIED IDEOGRAPH +0x9AD6 0x58AE #CJK UNIFIED IDEOGRAPH +0x9AD7 0x58C5 #CJK UNIFIED IDEOGRAPH +0x9AD8 0x58D3 #CJK UNIFIED IDEOGRAPH +0x9AD9 0x58D1 #CJK UNIFIED IDEOGRAPH +0x9ADA 0x58D7 #CJK UNIFIED IDEOGRAPH +0x9ADB 0x58D9 #CJK UNIFIED IDEOGRAPH +0x9ADC 0x58D8 #CJK UNIFIED IDEOGRAPH +0x9ADD 0x58E5 #CJK UNIFIED IDEOGRAPH +0x9ADE 0x58DC #CJK UNIFIED IDEOGRAPH +0x9ADF 0x58E4 #CJK UNIFIED IDEOGRAPH +0x9AE0 0x58DF #CJK UNIFIED IDEOGRAPH +0x9AE1 0x58EF #CJK UNIFIED IDEOGRAPH +0x9AE2 0x58FA #CJK UNIFIED IDEOGRAPH +0x9AE3 0x58F9 #CJK UNIFIED IDEOGRAPH +0x9AE4 0x58FB #CJK UNIFIED IDEOGRAPH +0x9AE5 0x58FC #CJK UNIFIED IDEOGRAPH +0x9AE6 0x58FD #CJK UNIFIED IDEOGRAPH +0x9AE7 0x5902 #CJK UNIFIED IDEOGRAPH +0x9AE8 0x590A #CJK UNIFIED IDEOGRAPH +0x9AE9 0x5910 #CJK UNIFIED IDEOGRAPH +0x9AEA 0x591B #CJK UNIFIED IDEOGRAPH +0x9AEB 0x68A6 #CJK UNIFIED IDEOGRAPH +0x9AEC 0x5925 #CJK UNIFIED IDEOGRAPH +0x9AED 0x592C #CJK UNIFIED IDEOGRAPH +0x9AEE 0x592D #CJK UNIFIED IDEOGRAPH +0x9AEF 0x5932 #CJK UNIFIED IDEOGRAPH +0x9AF0 0x5938 #CJK UNIFIED IDEOGRAPH +0x9AF1 0x593E #CJK UNIFIED IDEOGRAPH +0x9AF2 0x7AD2 #CJK UNIFIED IDEOGRAPH +0x9AF3 0x5955 #CJK UNIFIED IDEOGRAPH +0x9AF4 0x5950 #CJK UNIFIED IDEOGRAPH +0x9AF5 0x594E #CJK UNIFIED IDEOGRAPH +0x9AF6 0x595A #CJK UNIFIED IDEOGRAPH +0x9AF7 0x5958 #CJK UNIFIED IDEOGRAPH +0x9AF8 0x5962 #CJK UNIFIED IDEOGRAPH +0x9AF9 0x5960 #CJK UNIFIED IDEOGRAPH +0x9AFA 0x5967 #CJK UNIFIED IDEOGRAPH +0x9AFB 0x596C #CJK UNIFIED IDEOGRAPH +0x9AFC 0x5969 #CJK UNIFIED IDEOGRAPH +0x9B40 0x5978 #CJK UNIFIED IDEOGRAPH +0x9B41 0x5981 #CJK UNIFIED IDEOGRAPH +0x9B42 0x599D #CJK UNIFIED IDEOGRAPH +0x9B43 0x4F5E #CJK UNIFIED IDEOGRAPH +0x9B44 0x4FAB #CJK UNIFIED IDEOGRAPH +0x9B45 0x59A3 #CJK UNIFIED IDEOGRAPH +0x9B46 0x59B2 #CJK UNIFIED IDEOGRAPH +0x9B47 0x59C6 #CJK UNIFIED IDEOGRAPH +0x9B48 0x59E8 #CJK UNIFIED IDEOGRAPH +0x9B49 0x59DC #CJK UNIFIED IDEOGRAPH +0x9B4A 0x598D #CJK UNIFIED IDEOGRAPH +0x9B4B 0x59D9 #CJK UNIFIED IDEOGRAPH +0x9B4C 0x59DA #CJK UNIFIED IDEOGRAPH +0x9B4D 0x5A25 #CJK UNIFIED IDEOGRAPH +0x9B4E 0x5A1F #CJK UNIFIED IDEOGRAPH +0x9B4F 0x5A11 #CJK UNIFIED IDEOGRAPH +0x9B50 0x5A1C #CJK UNIFIED IDEOGRAPH +0x9B51 0x5A09 #CJK UNIFIED IDEOGRAPH +0x9B52 0x5A1A #CJK UNIFIED IDEOGRAPH +0x9B53 0x5A40 #CJK UNIFIED IDEOGRAPH +0x9B54 0x5A6C #CJK UNIFIED IDEOGRAPH +0x9B55 0x5A49 #CJK UNIFIED IDEOGRAPH +0x9B56 0x5A35 #CJK UNIFIED IDEOGRAPH +0x9B57 0x5A36 #CJK UNIFIED IDEOGRAPH +0x9B58 0x5A62 #CJK UNIFIED IDEOGRAPH +0x9B59 0x5A6A #CJK UNIFIED IDEOGRAPH +0x9B5A 0x5A9A #CJK UNIFIED IDEOGRAPH +0x9B5B 0x5ABC #CJK UNIFIED IDEOGRAPH +0x9B5C 0x5ABE #CJK UNIFIED IDEOGRAPH +0x9B5D 0x5ACB #CJK UNIFIED IDEOGRAPH +0x9B5E 0x5AC2 #CJK UNIFIED IDEOGRAPH +0x9B5F 0x5ABD #CJK UNIFIED IDEOGRAPH +0x9B60 0x5AE3 #CJK UNIFIED IDEOGRAPH +0x9B61 0x5AD7 #CJK UNIFIED IDEOGRAPH +0x9B62 0x5AE6 #CJK UNIFIED IDEOGRAPH +0x9B63 0x5AE9 #CJK UNIFIED IDEOGRAPH +0x9B64 0x5AD6 #CJK UNIFIED IDEOGRAPH +0x9B65 0x5AFA #CJK UNIFIED IDEOGRAPH +0x9B66 0x5AFB #CJK UNIFIED IDEOGRAPH +0x9B67 0x5B0C #CJK UNIFIED IDEOGRAPH +0x9B68 0x5B0B #CJK UNIFIED IDEOGRAPH +0x9B69 0x5B16 #CJK UNIFIED IDEOGRAPH +0x9B6A 0x5B32 #CJK UNIFIED IDEOGRAPH +0x9B6B 0x5AD0 #CJK UNIFIED IDEOGRAPH +0x9B6C 0x5B2A #CJK UNIFIED IDEOGRAPH +0x9B6D 0x5B36 #CJK UNIFIED IDEOGRAPH +0x9B6E 0x5B3E #CJK UNIFIED IDEOGRAPH +0x9B6F 0x5B43 #CJK UNIFIED IDEOGRAPH +0x9B70 0x5B45 #CJK UNIFIED IDEOGRAPH +0x9B71 0x5B40 #CJK UNIFIED IDEOGRAPH +0x9B72 0x5B51 #CJK UNIFIED IDEOGRAPH +0x9B73 0x5B55 #CJK UNIFIED IDEOGRAPH +0x9B74 0x5B5A #CJK UNIFIED IDEOGRAPH +0x9B75 0x5B5B #CJK UNIFIED IDEOGRAPH +0x9B76 0x5B65 #CJK UNIFIED IDEOGRAPH +0x9B77 0x5B69 #CJK UNIFIED IDEOGRAPH +0x9B78 0x5B70 #CJK UNIFIED IDEOGRAPH +0x9B79 0x5B73 #CJK UNIFIED IDEOGRAPH +0x9B7A 0x5B75 #CJK UNIFIED IDEOGRAPH +0x9B7B 0x5B78 #CJK UNIFIED IDEOGRAPH +0x9B7C 0x6588 #CJK UNIFIED IDEOGRAPH +0x9B7D 0x5B7A #CJK UNIFIED IDEOGRAPH +0x9B7E 0x5B80 #CJK UNIFIED IDEOGRAPH +0x9B80 0x5B83 #CJK UNIFIED IDEOGRAPH +0x9B81 0x5BA6 #CJK UNIFIED IDEOGRAPH +0x9B82 0x5BB8 #CJK UNIFIED IDEOGRAPH +0x9B83 0x5BC3 #CJK UNIFIED IDEOGRAPH +0x9B84 0x5BC7 #CJK UNIFIED IDEOGRAPH +0x9B85 0x5BC9 #CJK UNIFIED IDEOGRAPH +0x9B86 0x5BD4 #CJK UNIFIED IDEOGRAPH +0x9B87 0x5BD0 #CJK UNIFIED IDEOGRAPH +0x9B88 0x5BE4 #CJK UNIFIED IDEOGRAPH +0x9B89 0x5BE6 #CJK UNIFIED IDEOGRAPH +0x9B8A 0x5BE2 #CJK UNIFIED IDEOGRAPH +0x9B8B 0x5BDE #CJK UNIFIED IDEOGRAPH +0x9B8C 0x5BE5 #CJK UNIFIED IDEOGRAPH +0x9B8D 0x5BEB #CJK UNIFIED IDEOGRAPH +0x9B8E 0x5BF0 #CJK UNIFIED IDEOGRAPH +0x9B8F 0x5BF6 #CJK UNIFIED IDEOGRAPH +0x9B90 0x5BF3 #CJK UNIFIED IDEOGRAPH +0x9B91 0x5C05 #CJK UNIFIED IDEOGRAPH +0x9B92 0x5C07 #CJK UNIFIED IDEOGRAPH +0x9B93 0x5C08 #CJK UNIFIED IDEOGRAPH +0x9B94 0x5C0D #CJK UNIFIED IDEOGRAPH +0x9B95 0x5C13 #CJK UNIFIED IDEOGRAPH +0x9B96 0x5C20 #CJK UNIFIED IDEOGRAPH +0x9B97 0x5C22 #CJK UNIFIED IDEOGRAPH +0x9B98 0x5C28 #CJK UNIFIED IDEOGRAPH +0x9B99 0x5C38 #CJK UNIFIED IDEOGRAPH +0x9B9A 0x5C39 #CJK UNIFIED IDEOGRAPH +0x9B9B 0x5C41 #CJK UNIFIED IDEOGRAPH +0x9B9C 0x5C46 #CJK UNIFIED IDEOGRAPH +0x9B9D 0x5C4E #CJK UNIFIED IDEOGRAPH +0x9B9E 0x5C53 #CJK UNIFIED IDEOGRAPH +0x9B9F 0x5C50 #CJK UNIFIED IDEOGRAPH +0x9BA0 0x5C4F #CJK UNIFIED IDEOGRAPH +0x9BA1 0x5B71 #CJK UNIFIED IDEOGRAPH +0x9BA2 0x5C6C #CJK UNIFIED IDEOGRAPH +0x9BA3 0x5C6E #CJK UNIFIED IDEOGRAPH +0x9BA4 0x4E62 #CJK UNIFIED IDEOGRAPH +0x9BA5 0x5C76 #CJK UNIFIED IDEOGRAPH +0x9BA6 0x5C79 #CJK UNIFIED IDEOGRAPH +0x9BA7 0x5C8C #CJK UNIFIED IDEOGRAPH +0x9BA8 0x5C91 #CJK UNIFIED IDEOGRAPH +0x9BA9 0x5C94 #CJK UNIFIED IDEOGRAPH +0x9BAA 0x599B #CJK UNIFIED IDEOGRAPH +0x9BAB 0x5CAB #CJK UNIFIED IDEOGRAPH +0x9BAC 0x5CBB #CJK UNIFIED IDEOGRAPH +0x9BAD 0x5CB6 #CJK UNIFIED IDEOGRAPH +0x9BAE 0x5CBC #CJK UNIFIED IDEOGRAPH +0x9BAF 0x5CB7 #CJK UNIFIED IDEOGRAPH +0x9BB0 0x5CC5 #CJK UNIFIED IDEOGRAPH +0x9BB1 0x5CBE #CJK UNIFIED IDEOGRAPH +0x9BB2 0x5CC7 #CJK UNIFIED IDEOGRAPH +0x9BB3 0x5CD9 #CJK UNIFIED IDEOGRAPH +0x9BB4 0x5CE9 #CJK UNIFIED IDEOGRAPH +0x9BB5 0x5CFD #CJK UNIFIED IDEOGRAPH +0x9BB6 0x5CFA #CJK UNIFIED IDEOGRAPH +0x9BB7 0x5CED #CJK UNIFIED IDEOGRAPH +0x9BB8 0x5D8C #CJK UNIFIED IDEOGRAPH +0x9BB9 0x5CEA #CJK UNIFIED IDEOGRAPH +0x9BBA 0x5D0B #CJK UNIFIED IDEOGRAPH +0x9BBB 0x5D15 #CJK UNIFIED IDEOGRAPH +0x9BBC 0x5D17 #CJK UNIFIED IDEOGRAPH +0x9BBD 0x5D5C #CJK UNIFIED IDEOGRAPH +0x9BBE 0x5D1F #CJK UNIFIED IDEOGRAPH +0x9BBF 0x5D1B #CJK UNIFIED IDEOGRAPH +0x9BC0 0x5D11 #CJK UNIFIED IDEOGRAPH +0x9BC1 0x5D14 #CJK UNIFIED IDEOGRAPH +0x9BC2 0x5D22 #CJK UNIFIED IDEOGRAPH +0x9BC3 0x5D1A #CJK UNIFIED IDEOGRAPH +0x9BC4 0x5D19 #CJK UNIFIED IDEOGRAPH +0x9BC5 0x5D18 #CJK UNIFIED IDEOGRAPH +0x9BC6 0x5D4C #CJK UNIFIED IDEOGRAPH +0x9BC7 0x5D52 #CJK UNIFIED IDEOGRAPH +0x9BC8 0x5D4E #CJK UNIFIED IDEOGRAPH +0x9BC9 0x5D4B #CJK UNIFIED IDEOGRAPH +0x9BCA 0x5D6C #CJK UNIFIED IDEOGRAPH +0x9BCB 0x5D73 #CJK UNIFIED IDEOGRAPH +0x9BCC 0x5D76 #CJK UNIFIED IDEOGRAPH +0x9BCD 0x5D87 #CJK UNIFIED IDEOGRAPH +0x9BCE 0x5D84 #CJK UNIFIED IDEOGRAPH +0x9BCF 0x5D82 #CJK UNIFIED IDEOGRAPH +0x9BD0 0x5DA2 #CJK UNIFIED IDEOGRAPH +0x9BD1 0x5D9D #CJK UNIFIED IDEOGRAPH +0x9BD2 0x5DAC #CJK UNIFIED IDEOGRAPH +0x9BD3 0x5DAE #CJK UNIFIED IDEOGRAPH +0x9BD4 0x5DBD #CJK UNIFIED IDEOGRAPH +0x9BD5 0x5D90 #CJK UNIFIED IDEOGRAPH +0x9BD6 0x5DB7 #CJK UNIFIED IDEOGRAPH +0x9BD7 0x5DBC #CJK UNIFIED IDEOGRAPH +0x9BD8 0x5DC9 #CJK UNIFIED IDEOGRAPH +0x9BD9 0x5DCD #CJK UNIFIED IDEOGRAPH +0x9BDA 0x5DD3 #CJK UNIFIED IDEOGRAPH +0x9BDB 0x5DD2 #CJK UNIFIED IDEOGRAPH +0x9BDC 0x5DD6 #CJK UNIFIED IDEOGRAPH +0x9BDD 0x5DDB #CJK UNIFIED IDEOGRAPH +0x9BDE 0x5DEB #CJK UNIFIED IDEOGRAPH +0x9BDF 0x5DF2 #CJK UNIFIED IDEOGRAPH +0x9BE0 0x5DF5 #CJK UNIFIED IDEOGRAPH +0x9BE1 0x5E0B #CJK UNIFIED IDEOGRAPH +0x9BE2 0x5E1A #CJK UNIFIED IDEOGRAPH +0x9BE3 0x5E19 #CJK UNIFIED IDEOGRAPH +0x9BE4 0x5E11 #CJK UNIFIED IDEOGRAPH +0x9BE5 0x5E1B #CJK UNIFIED IDEOGRAPH +0x9BE6 0x5E36 #CJK UNIFIED IDEOGRAPH +0x9BE7 0x5E37 #CJK UNIFIED IDEOGRAPH +0x9BE8 0x5E44 #CJK UNIFIED IDEOGRAPH +0x9BE9 0x5E43 #CJK UNIFIED IDEOGRAPH +0x9BEA 0x5E40 #CJK UNIFIED IDEOGRAPH +0x9BEB 0x5E4E #CJK UNIFIED IDEOGRAPH +0x9BEC 0x5E57 #CJK UNIFIED IDEOGRAPH +0x9BED 0x5E54 #CJK UNIFIED IDEOGRAPH +0x9BEE 0x5E5F #CJK UNIFIED IDEOGRAPH +0x9BEF 0x5E62 #CJK UNIFIED IDEOGRAPH +0x9BF0 0x5E64 #CJK UNIFIED IDEOGRAPH +0x9BF1 0x5E47 #CJK UNIFIED IDEOGRAPH +0x9BF2 0x5E75 #CJK UNIFIED IDEOGRAPH +0x9BF3 0x5E76 #CJK UNIFIED IDEOGRAPH +0x9BF4 0x5E7A #CJK UNIFIED IDEOGRAPH +0x9BF5 0x9EBC #CJK UNIFIED IDEOGRAPH +0x9BF6 0x5E7F #CJK UNIFIED IDEOGRAPH +0x9BF7 0x5EA0 #CJK UNIFIED IDEOGRAPH +0x9BF8 0x5EC1 #CJK UNIFIED IDEOGRAPH +0x9BF9 0x5EC2 #CJK UNIFIED IDEOGRAPH +0x9BFA 0x5EC8 #CJK UNIFIED IDEOGRAPH +0x9BFB 0x5ED0 #CJK UNIFIED IDEOGRAPH +0x9BFC 0x5ECF #CJK UNIFIED IDEOGRAPH +0x9C40 0x5ED6 #CJK UNIFIED IDEOGRAPH +0x9C41 0x5EE3 #CJK UNIFIED IDEOGRAPH +0x9C42 0x5EDD #CJK UNIFIED IDEOGRAPH +0x9C43 0x5EDA #CJK UNIFIED IDEOGRAPH +0x9C44 0x5EDB #CJK UNIFIED IDEOGRAPH +0x9C45 0x5EE2 #CJK UNIFIED IDEOGRAPH +0x9C46 0x5EE1 #CJK UNIFIED IDEOGRAPH +0x9C47 0x5EE8 #CJK UNIFIED IDEOGRAPH +0x9C48 0x5EE9 #CJK UNIFIED IDEOGRAPH +0x9C49 0x5EEC #CJK UNIFIED IDEOGRAPH +0x9C4A 0x5EF1 #CJK UNIFIED IDEOGRAPH +0x9C4B 0x5EF3 #CJK UNIFIED IDEOGRAPH +0x9C4C 0x5EF0 #CJK UNIFIED IDEOGRAPH +0x9C4D 0x5EF4 #CJK UNIFIED IDEOGRAPH +0x9C4E 0x5EF8 #CJK UNIFIED IDEOGRAPH +0x9C4F 0x5EFE #CJK UNIFIED IDEOGRAPH +0x9C50 0x5F03 #CJK UNIFIED IDEOGRAPH +0x9C51 0x5F09 #CJK UNIFIED IDEOGRAPH +0x9C52 0x5F5D #CJK UNIFIED IDEOGRAPH +0x9C53 0x5F5C #CJK UNIFIED IDEOGRAPH +0x9C54 0x5F0B #CJK UNIFIED IDEOGRAPH +0x9C55 0x5F11 #CJK UNIFIED IDEOGRAPH +0x9C56 0x5F16 #CJK UNIFIED IDEOGRAPH +0x9C57 0x5F29 #CJK UNIFIED IDEOGRAPH +0x9C58 0x5F2D #CJK UNIFIED IDEOGRAPH +0x9C59 0x5F38 #CJK UNIFIED IDEOGRAPH +0x9C5A 0x5F41 #CJK UNIFIED IDEOGRAPH +0x9C5B 0x5F48 #CJK UNIFIED IDEOGRAPH +0x9C5C 0x5F4C #CJK UNIFIED IDEOGRAPH +0x9C5D 0x5F4E #CJK UNIFIED IDEOGRAPH +0x9C5E 0x5F2F #CJK UNIFIED IDEOGRAPH +0x9C5F 0x5F51 #CJK UNIFIED IDEOGRAPH +0x9C60 0x5F56 #CJK UNIFIED IDEOGRAPH +0x9C61 0x5F57 #CJK UNIFIED IDEOGRAPH +0x9C62 0x5F59 #CJK UNIFIED IDEOGRAPH +0x9C63 0x5F61 #CJK UNIFIED IDEOGRAPH +0x9C64 0x5F6D #CJK UNIFIED IDEOGRAPH +0x9C65 0x5F73 #CJK UNIFIED IDEOGRAPH +0x9C66 0x5F77 #CJK UNIFIED IDEOGRAPH +0x9C67 0x5F83 #CJK UNIFIED IDEOGRAPH +0x9C68 0x5F82 #CJK UNIFIED IDEOGRAPH +0x9C69 0x5F7F #CJK UNIFIED IDEOGRAPH +0x9C6A 0x5F8A #CJK UNIFIED IDEOGRAPH +0x9C6B 0x5F88 #CJK UNIFIED IDEOGRAPH +0x9C6C 0x5F91 #CJK UNIFIED IDEOGRAPH +0x9C6D 0x5F87 #CJK UNIFIED IDEOGRAPH +0x9C6E 0x5F9E #CJK UNIFIED IDEOGRAPH +0x9C6F 0x5F99 #CJK UNIFIED IDEOGRAPH +0x9C70 0x5F98 #CJK UNIFIED IDEOGRAPH +0x9C71 0x5FA0 #CJK UNIFIED IDEOGRAPH +0x9C72 0x5FA8 #CJK UNIFIED IDEOGRAPH +0x9C73 0x5FAD #CJK UNIFIED IDEOGRAPH +0x9C74 0x5FBC #CJK UNIFIED IDEOGRAPH +0x9C75 0x5FD6 #CJK UNIFIED IDEOGRAPH +0x9C76 0x5FFB #CJK UNIFIED IDEOGRAPH +0x9C77 0x5FE4 #CJK UNIFIED IDEOGRAPH +0x9C78 0x5FF8 #CJK UNIFIED IDEOGRAPH +0x9C79 0x5FF1 #CJK UNIFIED IDEOGRAPH +0x9C7A 0x5FDD #CJK UNIFIED IDEOGRAPH +0x9C7B 0x60B3 #CJK UNIFIED IDEOGRAPH +0x9C7C 0x5FFF #CJK UNIFIED IDEOGRAPH +0x9C7D 0x6021 #CJK UNIFIED IDEOGRAPH +0x9C7E 0x6060 #CJK UNIFIED IDEOGRAPH +0x9C80 0x6019 #CJK UNIFIED IDEOGRAPH +0x9C81 0x6010 #CJK UNIFIED IDEOGRAPH +0x9C82 0x6029 #CJK UNIFIED IDEOGRAPH +0x9C83 0x600E #CJK UNIFIED IDEOGRAPH +0x9C84 0x6031 #CJK UNIFIED IDEOGRAPH +0x9C85 0x601B #CJK UNIFIED IDEOGRAPH +0x9C86 0x6015 #CJK UNIFIED IDEOGRAPH +0x9C87 0x602B #CJK UNIFIED IDEOGRAPH +0x9C88 0x6026 #CJK UNIFIED IDEOGRAPH +0x9C89 0x600F #CJK UNIFIED IDEOGRAPH +0x9C8A 0x603A #CJK UNIFIED IDEOGRAPH +0x9C8B 0x605A #CJK UNIFIED IDEOGRAPH +0x9C8C 0x6041 #CJK UNIFIED IDEOGRAPH +0x9C8D 0x606A #CJK UNIFIED IDEOGRAPH +0x9C8E 0x6077 #CJK UNIFIED IDEOGRAPH +0x9C8F 0x605F #CJK UNIFIED IDEOGRAPH +0x9C90 0x604A #CJK UNIFIED IDEOGRAPH +0x9C91 0x6046 #CJK UNIFIED IDEOGRAPH +0x9C92 0x604D #CJK UNIFIED IDEOGRAPH +0x9C93 0x6063 #CJK UNIFIED IDEOGRAPH +0x9C94 0x6043 #CJK UNIFIED IDEOGRAPH +0x9C95 0x6064 #CJK UNIFIED IDEOGRAPH +0x9C96 0x6042 #CJK UNIFIED IDEOGRAPH +0x9C97 0x606C #CJK UNIFIED IDEOGRAPH +0x9C98 0x606B #CJK UNIFIED IDEOGRAPH +0x9C99 0x6059 #CJK UNIFIED IDEOGRAPH +0x9C9A 0x6081 #CJK UNIFIED IDEOGRAPH +0x9C9B 0x608D #CJK UNIFIED IDEOGRAPH +0x9C9C 0x60E7 #CJK UNIFIED IDEOGRAPH +0x9C9D 0x6083 #CJK UNIFIED IDEOGRAPH +0x9C9E 0x609A #CJK UNIFIED IDEOGRAPH +0x9C9F 0x6084 #CJK UNIFIED IDEOGRAPH +0x9CA0 0x609B #CJK UNIFIED IDEOGRAPH +0x9CA1 0x6096 #CJK UNIFIED IDEOGRAPH +0x9CA2 0x6097 #CJK UNIFIED IDEOGRAPH +0x9CA3 0x6092 #CJK UNIFIED IDEOGRAPH +0x9CA4 0x60A7 #CJK UNIFIED IDEOGRAPH +0x9CA5 0x608B #CJK UNIFIED IDEOGRAPH +0x9CA6 0x60E1 #CJK UNIFIED IDEOGRAPH +0x9CA7 0x60B8 #CJK UNIFIED IDEOGRAPH +0x9CA8 0x60E0 #CJK UNIFIED IDEOGRAPH +0x9CA9 0x60D3 #CJK UNIFIED IDEOGRAPH +0x9CAA 0x60B4 #CJK UNIFIED IDEOGRAPH +0x9CAB 0x5FF0 #CJK UNIFIED IDEOGRAPH +0x9CAC 0x60BD #CJK UNIFIED IDEOGRAPH +0x9CAD 0x60C6 #CJK UNIFIED IDEOGRAPH +0x9CAE 0x60B5 #CJK UNIFIED IDEOGRAPH +0x9CAF 0x60D8 #CJK UNIFIED IDEOGRAPH +0x9CB0 0x614D #CJK UNIFIED IDEOGRAPH +0x9CB1 0x6115 #CJK UNIFIED IDEOGRAPH +0x9CB2 0x6106 #CJK UNIFIED IDEOGRAPH +0x9CB3 0x60F6 #CJK UNIFIED IDEOGRAPH +0x9CB4 0x60F7 #CJK UNIFIED IDEOGRAPH +0x9CB5 0x6100 #CJK UNIFIED IDEOGRAPH +0x9CB6 0x60F4 #CJK UNIFIED IDEOGRAPH +0x9CB7 0x60FA #CJK UNIFIED IDEOGRAPH +0x9CB8 0x6103 #CJK UNIFIED IDEOGRAPH +0x9CB9 0x6121 #CJK UNIFIED IDEOGRAPH +0x9CBA 0x60FB #CJK UNIFIED IDEOGRAPH +0x9CBB 0x60F1 #CJK UNIFIED IDEOGRAPH +0x9CBC 0x610D #CJK UNIFIED IDEOGRAPH +0x9CBD 0x610E #CJK UNIFIED IDEOGRAPH +0x9CBE 0x6147 #CJK UNIFIED IDEOGRAPH +0x9CBF 0x613E #CJK UNIFIED IDEOGRAPH +0x9CC0 0x6128 #CJK UNIFIED IDEOGRAPH +0x9CC1 0x6127 #CJK UNIFIED IDEOGRAPH +0x9CC2 0x614A #CJK UNIFIED IDEOGRAPH +0x9CC3 0x613F #CJK UNIFIED IDEOGRAPH +0x9CC4 0x613C #CJK UNIFIED IDEOGRAPH +0x9CC5 0x612C #CJK UNIFIED IDEOGRAPH +0x9CC6 0x6134 #CJK UNIFIED IDEOGRAPH +0x9CC7 0x613D #CJK UNIFIED IDEOGRAPH +0x9CC8 0x6142 #CJK UNIFIED IDEOGRAPH +0x9CC9 0x6144 #CJK UNIFIED IDEOGRAPH +0x9CCA 0x6173 #CJK UNIFIED IDEOGRAPH +0x9CCB 0x6177 #CJK UNIFIED IDEOGRAPH +0x9CCC 0x6158 #CJK UNIFIED IDEOGRAPH +0x9CCD 0x6159 #CJK UNIFIED IDEOGRAPH +0x9CCE 0x615A #CJK UNIFIED IDEOGRAPH +0x9CCF 0x616B #CJK UNIFIED IDEOGRAPH +0x9CD0 0x6174 #CJK UNIFIED IDEOGRAPH +0x9CD1 0x616F #CJK UNIFIED IDEOGRAPH +0x9CD2 0x6165 #CJK UNIFIED IDEOGRAPH +0x9CD3 0x6171 #CJK UNIFIED IDEOGRAPH +0x9CD4 0x615F #CJK UNIFIED IDEOGRAPH +0x9CD5 0x615D #CJK UNIFIED IDEOGRAPH +0x9CD6 0x6153 #CJK UNIFIED IDEOGRAPH +0x9CD7 0x6175 #CJK UNIFIED IDEOGRAPH +0x9CD8 0x6199 #CJK UNIFIED IDEOGRAPH +0x9CD9 0x6196 #CJK UNIFIED IDEOGRAPH +0x9CDA 0x6187 #CJK UNIFIED IDEOGRAPH +0x9CDB 0x61AC #CJK UNIFIED IDEOGRAPH +0x9CDC 0x6194 #CJK UNIFIED IDEOGRAPH +0x9CDD 0x619A #CJK UNIFIED IDEOGRAPH +0x9CDE 0x618A #CJK UNIFIED IDEOGRAPH +0x9CDF 0x6191 #CJK UNIFIED IDEOGRAPH +0x9CE0 0x61AB #CJK UNIFIED IDEOGRAPH +0x9CE1 0x61AE #CJK UNIFIED IDEOGRAPH +0x9CE2 0x61CC #CJK UNIFIED IDEOGRAPH +0x9CE3 0x61CA #CJK UNIFIED IDEOGRAPH +0x9CE4 0x61C9 #CJK UNIFIED IDEOGRAPH +0x9CE5 0x61F7 #CJK UNIFIED IDEOGRAPH +0x9CE6 0x61C8 #CJK UNIFIED IDEOGRAPH +0x9CE7 0x61C3 #CJK UNIFIED IDEOGRAPH +0x9CE8 0x61C6 #CJK UNIFIED IDEOGRAPH +0x9CE9 0x61BA #CJK UNIFIED IDEOGRAPH +0x9CEA 0x61CB #CJK UNIFIED IDEOGRAPH +0x9CEB 0x7F79 #CJK UNIFIED IDEOGRAPH +0x9CEC 0x61CD #CJK UNIFIED IDEOGRAPH +0x9CED 0x61E6 #CJK UNIFIED IDEOGRAPH +0x9CEE 0x61E3 #CJK UNIFIED IDEOGRAPH +0x9CEF 0x61F6 #CJK UNIFIED IDEOGRAPH +0x9CF0 0x61FA #CJK UNIFIED IDEOGRAPH +0x9CF1 0x61F4 #CJK UNIFIED IDEOGRAPH +0x9CF2 0x61FF #CJK UNIFIED IDEOGRAPH +0x9CF3 0x61FD #CJK UNIFIED IDEOGRAPH +0x9CF4 0x61FC #CJK UNIFIED IDEOGRAPH +0x9CF5 0x61FE #CJK UNIFIED IDEOGRAPH +0x9CF6 0x6200 #CJK UNIFIED IDEOGRAPH +0x9CF7 0x6208 #CJK UNIFIED IDEOGRAPH +0x9CF8 0x6209 #CJK UNIFIED IDEOGRAPH +0x9CF9 0x620D #CJK UNIFIED IDEOGRAPH +0x9CFA 0x620C #CJK UNIFIED IDEOGRAPH +0x9CFB 0x6214 #CJK UNIFIED IDEOGRAPH +0x9CFC 0x621B #CJK UNIFIED IDEOGRAPH +0x9D40 0x621E #CJK UNIFIED IDEOGRAPH +0x9D41 0x6221 #CJK UNIFIED IDEOGRAPH +0x9D42 0x622A #CJK UNIFIED IDEOGRAPH +0x9D43 0x622E #CJK UNIFIED IDEOGRAPH +0x9D44 0x6230 #CJK UNIFIED IDEOGRAPH +0x9D45 0x6232 #CJK UNIFIED IDEOGRAPH +0x9D46 0x6233 #CJK UNIFIED IDEOGRAPH +0x9D47 0x6241 #CJK UNIFIED IDEOGRAPH +0x9D48 0x624E #CJK UNIFIED IDEOGRAPH +0x9D49 0x625E #CJK UNIFIED IDEOGRAPH +0x9D4A 0x6263 #CJK UNIFIED IDEOGRAPH +0x9D4B 0x625B #CJK UNIFIED IDEOGRAPH +0x9D4C 0x6260 #CJK UNIFIED IDEOGRAPH +0x9D4D 0x6268 #CJK UNIFIED IDEOGRAPH +0x9D4E 0x627C #CJK UNIFIED IDEOGRAPH +0x9D4F 0x6282 #CJK UNIFIED IDEOGRAPH +0x9D50 0x6289 #CJK UNIFIED IDEOGRAPH +0x9D51 0x627E #CJK UNIFIED IDEOGRAPH +0x9D52 0x6292 #CJK UNIFIED IDEOGRAPH +0x9D53 0x6293 #CJK UNIFIED IDEOGRAPH +0x9D54 0x6296 #CJK UNIFIED IDEOGRAPH +0x9D55 0x62D4 #CJK UNIFIED IDEOGRAPH +0x9D56 0x6283 #CJK UNIFIED IDEOGRAPH +0x9D57 0x6294 #CJK UNIFIED IDEOGRAPH +0x9D58 0x62D7 #CJK UNIFIED IDEOGRAPH +0x9D59 0x62D1 #CJK UNIFIED IDEOGRAPH +0x9D5A 0x62BB #CJK UNIFIED IDEOGRAPH +0x9D5B 0x62CF #CJK UNIFIED IDEOGRAPH +0x9D5C 0x62FF #CJK UNIFIED IDEOGRAPH +0x9D5D 0x62C6 #CJK UNIFIED IDEOGRAPH +0x9D5E 0x64D4 #CJK UNIFIED IDEOGRAPH +0x9D5F 0x62C8 #CJK UNIFIED IDEOGRAPH +0x9D60 0x62DC #CJK UNIFIED IDEOGRAPH +0x9D61 0x62CC #CJK UNIFIED IDEOGRAPH +0x9D62 0x62CA #CJK UNIFIED IDEOGRAPH +0x9D63 0x62C2 #CJK UNIFIED IDEOGRAPH +0x9D64 0x62C7 #CJK UNIFIED IDEOGRAPH +0x9D65 0x629B #CJK UNIFIED IDEOGRAPH +0x9D66 0x62C9 #CJK UNIFIED IDEOGRAPH +0x9D67 0x630C #CJK UNIFIED IDEOGRAPH +0x9D68 0x62EE #CJK UNIFIED IDEOGRAPH +0x9D69 0x62F1 #CJK UNIFIED IDEOGRAPH +0x9D6A 0x6327 #CJK UNIFIED IDEOGRAPH +0x9D6B 0x6302 #CJK UNIFIED IDEOGRAPH +0x9D6C 0x6308 #CJK UNIFIED IDEOGRAPH +0x9D6D 0x62EF #CJK UNIFIED IDEOGRAPH +0x9D6E 0x62F5 #CJK UNIFIED IDEOGRAPH +0x9D6F 0x6350 #CJK UNIFIED IDEOGRAPH +0x9D70 0x633E #CJK UNIFIED IDEOGRAPH +0x9D71 0x634D #CJK UNIFIED IDEOGRAPH +0x9D72 0x641C #CJK UNIFIED IDEOGRAPH +0x9D73 0x634F #CJK UNIFIED IDEOGRAPH +0x9D74 0x6396 #CJK UNIFIED IDEOGRAPH +0x9D75 0x638E #CJK UNIFIED IDEOGRAPH +0x9D76 0x6380 #CJK UNIFIED IDEOGRAPH +0x9D77 0x63AB #CJK UNIFIED IDEOGRAPH +0x9D78 0x6376 #CJK UNIFIED IDEOGRAPH +0x9D79 0x63A3 #CJK UNIFIED IDEOGRAPH +0x9D7A 0x638F #CJK UNIFIED IDEOGRAPH +0x9D7B 0x6389 #CJK UNIFIED IDEOGRAPH +0x9D7C 0x639F #CJK UNIFIED IDEOGRAPH +0x9D7D 0x63B5 #CJK UNIFIED IDEOGRAPH +0x9D7E 0x636B #CJK UNIFIED IDEOGRAPH +0x9D80 0x6369 #CJK UNIFIED IDEOGRAPH +0x9D81 0x63BE #CJK UNIFIED IDEOGRAPH +0x9D82 0x63E9 #CJK UNIFIED IDEOGRAPH +0x9D83 0x63C0 #CJK UNIFIED IDEOGRAPH +0x9D84 0x63C6 #CJK UNIFIED IDEOGRAPH +0x9D85 0x63E3 #CJK UNIFIED IDEOGRAPH +0x9D86 0x63C9 #CJK UNIFIED IDEOGRAPH +0x9D87 0x63D2 #CJK UNIFIED IDEOGRAPH +0x9D88 0x63F6 #CJK UNIFIED IDEOGRAPH +0x9D89 0x63C4 #CJK UNIFIED IDEOGRAPH +0x9D8A 0x6416 #CJK UNIFIED IDEOGRAPH +0x9D8B 0x6434 #CJK UNIFIED IDEOGRAPH +0x9D8C 0x6406 #CJK UNIFIED IDEOGRAPH +0x9D8D 0x6413 #CJK UNIFIED IDEOGRAPH +0x9D8E 0x6426 #CJK UNIFIED IDEOGRAPH +0x9D8F 0x6436 #CJK UNIFIED IDEOGRAPH +0x9D90 0x651D #CJK UNIFIED IDEOGRAPH +0x9D91 0x6417 #CJK UNIFIED IDEOGRAPH +0x9D92 0x6428 #CJK UNIFIED IDEOGRAPH +0x9D93 0x640F #CJK UNIFIED IDEOGRAPH +0x9D94 0x6467 #CJK UNIFIED IDEOGRAPH +0x9D95 0x646F #CJK UNIFIED IDEOGRAPH +0x9D96 0x6476 #CJK UNIFIED IDEOGRAPH +0x9D97 0x644E #CJK UNIFIED IDEOGRAPH +0x9D98 0x652A #CJK UNIFIED IDEOGRAPH +0x9D99 0x6495 #CJK UNIFIED IDEOGRAPH +0x9D9A 0x6493 #CJK UNIFIED IDEOGRAPH +0x9D9B 0x64A5 #CJK UNIFIED IDEOGRAPH +0x9D9C 0x64A9 #CJK UNIFIED IDEOGRAPH +0x9D9D 0x6488 #CJK UNIFIED IDEOGRAPH +0x9D9E 0x64BC #CJK UNIFIED IDEOGRAPH +0x9D9F 0x64DA #CJK UNIFIED IDEOGRAPH +0x9DA0 0x64D2 #CJK UNIFIED IDEOGRAPH +0x9DA1 0x64C5 #CJK UNIFIED IDEOGRAPH +0x9DA2 0x64C7 #CJK UNIFIED IDEOGRAPH +0x9DA3 0x64BB #CJK UNIFIED IDEOGRAPH +0x9DA4 0x64D8 #CJK UNIFIED IDEOGRAPH +0x9DA5 0x64C2 #CJK UNIFIED IDEOGRAPH +0x9DA6 0x64F1 #CJK UNIFIED IDEOGRAPH +0x9DA7 0x64E7 #CJK UNIFIED IDEOGRAPH +0x9DA8 0x8209 #CJK UNIFIED IDEOGRAPH +0x9DA9 0x64E0 #CJK UNIFIED IDEOGRAPH +0x9DAA 0x64E1 #CJK UNIFIED IDEOGRAPH +0x9DAB 0x62AC #CJK UNIFIED IDEOGRAPH +0x9DAC 0x64E3 #CJK UNIFIED IDEOGRAPH +0x9DAD 0x64EF #CJK UNIFIED IDEOGRAPH +0x9DAE 0x652C #CJK UNIFIED IDEOGRAPH +0x9DAF 0x64F6 #CJK UNIFIED IDEOGRAPH +0x9DB0 0x64F4 #CJK UNIFIED IDEOGRAPH +0x9DB1 0x64F2 #CJK UNIFIED IDEOGRAPH +0x9DB2 0x64FA #CJK UNIFIED IDEOGRAPH +0x9DB3 0x6500 #CJK UNIFIED IDEOGRAPH +0x9DB4 0x64FD #CJK UNIFIED IDEOGRAPH +0x9DB5 0x6518 #CJK UNIFIED IDEOGRAPH +0x9DB6 0x651C #CJK UNIFIED IDEOGRAPH +0x9DB7 0x6505 #CJK UNIFIED IDEOGRAPH +0x9DB8 0x6524 #CJK UNIFIED IDEOGRAPH +0x9DB9 0x6523 #CJK UNIFIED IDEOGRAPH +0x9DBA 0x652B #CJK UNIFIED IDEOGRAPH +0x9DBB 0x6534 #CJK UNIFIED IDEOGRAPH +0x9DBC 0x6535 #CJK UNIFIED IDEOGRAPH +0x9DBD 0x6537 #CJK UNIFIED IDEOGRAPH +0x9DBE 0x6536 #CJK UNIFIED IDEOGRAPH +0x9DBF 0x6538 #CJK UNIFIED IDEOGRAPH +0x9DC0 0x754B #CJK UNIFIED IDEOGRAPH +0x9DC1 0x6548 #CJK UNIFIED IDEOGRAPH +0x9DC2 0x6556 #CJK UNIFIED IDEOGRAPH +0x9DC3 0x6555 #CJK UNIFIED IDEOGRAPH +0x9DC4 0x654D #CJK UNIFIED IDEOGRAPH +0x9DC5 0x6558 #CJK UNIFIED IDEOGRAPH +0x9DC6 0x655E #CJK UNIFIED IDEOGRAPH +0x9DC7 0x655D #CJK UNIFIED IDEOGRAPH +0x9DC8 0x6572 #CJK UNIFIED IDEOGRAPH +0x9DC9 0x6578 #CJK UNIFIED IDEOGRAPH +0x9DCA 0x6582 #CJK UNIFIED IDEOGRAPH +0x9DCB 0x6583 #CJK UNIFIED IDEOGRAPH +0x9DCC 0x8B8A #CJK UNIFIED IDEOGRAPH +0x9DCD 0x659B #CJK UNIFIED IDEOGRAPH +0x9DCE 0x659F #CJK UNIFIED IDEOGRAPH +0x9DCF 0x65AB #CJK UNIFIED IDEOGRAPH +0x9DD0 0x65B7 #CJK UNIFIED IDEOGRAPH +0x9DD1 0x65C3 #CJK UNIFIED IDEOGRAPH +0x9DD2 0x65C6 #CJK UNIFIED IDEOGRAPH +0x9DD3 0x65C1 #CJK UNIFIED IDEOGRAPH +0x9DD4 0x65C4 #CJK UNIFIED IDEOGRAPH +0x9DD5 0x65CC #CJK UNIFIED IDEOGRAPH +0x9DD6 0x65D2 #CJK UNIFIED IDEOGRAPH +0x9DD7 0x65DB #CJK UNIFIED IDEOGRAPH +0x9DD8 0x65D9 #CJK UNIFIED IDEOGRAPH +0x9DD9 0x65E0 #CJK UNIFIED IDEOGRAPH +0x9DDA 0x65E1 #CJK UNIFIED IDEOGRAPH +0x9DDB 0x65F1 #CJK UNIFIED IDEOGRAPH +0x9DDC 0x6772 #CJK UNIFIED IDEOGRAPH +0x9DDD 0x660A #CJK UNIFIED IDEOGRAPH +0x9DDE 0x6603 #CJK UNIFIED IDEOGRAPH +0x9DDF 0x65FB #CJK UNIFIED IDEOGRAPH +0x9DE0 0x6773 #CJK UNIFIED IDEOGRAPH +0x9DE1 0x6635 #CJK UNIFIED IDEOGRAPH +0x9DE2 0x6636 #CJK UNIFIED IDEOGRAPH +0x9DE3 0x6634 #CJK UNIFIED IDEOGRAPH +0x9DE4 0x661C #CJK UNIFIED IDEOGRAPH +0x9DE5 0x664F #CJK UNIFIED IDEOGRAPH +0x9DE6 0x6644 #CJK UNIFIED IDEOGRAPH +0x9DE7 0x6649 #CJK UNIFIED IDEOGRAPH +0x9DE8 0x6641 #CJK UNIFIED IDEOGRAPH +0x9DE9 0x665E #CJK UNIFIED IDEOGRAPH +0x9DEA 0x665D #CJK UNIFIED IDEOGRAPH +0x9DEB 0x6664 #CJK UNIFIED IDEOGRAPH +0x9DEC 0x6667 #CJK UNIFIED IDEOGRAPH +0x9DED 0x6668 #CJK UNIFIED IDEOGRAPH +0x9DEE 0x665F #CJK UNIFIED IDEOGRAPH +0x9DEF 0x6662 #CJK UNIFIED IDEOGRAPH +0x9DF0 0x6670 #CJK UNIFIED IDEOGRAPH +0x9DF1 0x6683 #CJK UNIFIED IDEOGRAPH +0x9DF2 0x6688 #CJK UNIFIED IDEOGRAPH +0x9DF3 0x668E #CJK UNIFIED IDEOGRAPH +0x9DF4 0x6689 #CJK UNIFIED IDEOGRAPH +0x9DF5 0x6684 #CJK UNIFIED IDEOGRAPH +0x9DF6 0x6698 #CJK UNIFIED IDEOGRAPH +0x9DF7 0x669D #CJK UNIFIED IDEOGRAPH +0x9DF8 0x66C1 #CJK UNIFIED IDEOGRAPH +0x9DF9 0x66B9 #CJK UNIFIED IDEOGRAPH +0x9DFA 0x66C9 #CJK UNIFIED IDEOGRAPH +0x9DFB 0x66BE #CJK UNIFIED IDEOGRAPH +0x9DFC 0x66BC #CJK UNIFIED IDEOGRAPH +0x9E40 0x66C4 #CJK UNIFIED IDEOGRAPH +0x9E41 0x66B8 #CJK UNIFIED IDEOGRAPH +0x9E42 0x66D6 #CJK UNIFIED IDEOGRAPH +0x9E43 0x66DA #CJK UNIFIED IDEOGRAPH +0x9E44 0x66E0 #CJK UNIFIED IDEOGRAPH +0x9E45 0x663F #CJK UNIFIED IDEOGRAPH +0x9E46 0x66E6 #CJK UNIFIED IDEOGRAPH +0x9E47 0x66E9 #CJK UNIFIED IDEOGRAPH +0x9E48 0x66F0 #CJK UNIFIED IDEOGRAPH +0x9E49 0x66F5 #CJK UNIFIED IDEOGRAPH +0x9E4A 0x66F7 #CJK UNIFIED IDEOGRAPH +0x9E4B 0x670F #CJK UNIFIED IDEOGRAPH +0x9E4C 0x6716 #CJK UNIFIED IDEOGRAPH +0x9E4D 0x671E #CJK UNIFIED IDEOGRAPH +0x9E4E 0x6726 #CJK UNIFIED IDEOGRAPH +0x9E4F 0x6727 #CJK UNIFIED IDEOGRAPH +0x9E50 0x9738 #CJK UNIFIED IDEOGRAPH +0x9E51 0x672E #CJK UNIFIED IDEOGRAPH +0x9E52 0x673F #CJK UNIFIED IDEOGRAPH +0x9E53 0x6736 #CJK UNIFIED IDEOGRAPH +0x9E54 0x6741 #CJK UNIFIED IDEOGRAPH +0x9E55 0x6738 #CJK UNIFIED IDEOGRAPH +0x9E56 0x6737 #CJK UNIFIED IDEOGRAPH +0x9E57 0x6746 #CJK UNIFIED IDEOGRAPH +0x9E58 0x675E #CJK UNIFIED IDEOGRAPH +0x9E59 0x6760 #CJK UNIFIED IDEOGRAPH +0x9E5A 0x6759 #CJK UNIFIED IDEOGRAPH +0x9E5B 0x6763 #CJK UNIFIED IDEOGRAPH +0x9E5C 0x6764 #CJK UNIFIED IDEOGRAPH +0x9E5D 0x6789 #CJK UNIFIED IDEOGRAPH +0x9E5E 0x6770 #CJK UNIFIED IDEOGRAPH +0x9E5F 0x67A9 #CJK UNIFIED IDEOGRAPH +0x9E60 0x677C #CJK UNIFIED IDEOGRAPH +0x9E61 0x676A #CJK UNIFIED IDEOGRAPH +0x9E62 0x678C #CJK UNIFIED IDEOGRAPH +0x9E63 0x678B #CJK UNIFIED IDEOGRAPH +0x9E64 0x67A6 #CJK UNIFIED IDEOGRAPH +0x9E65 0x67A1 #CJK UNIFIED IDEOGRAPH +0x9E66 0x6785 #CJK UNIFIED IDEOGRAPH +0x9E67 0x67B7 #CJK UNIFIED IDEOGRAPH +0x9E68 0x67EF #CJK UNIFIED IDEOGRAPH +0x9E69 0x67B4 #CJK UNIFIED IDEOGRAPH +0x9E6A 0x67EC #CJK UNIFIED IDEOGRAPH +0x9E6B 0x67B3 #CJK UNIFIED IDEOGRAPH +0x9E6C 0x67E9 #CJK UNIFIED IDEOGRAPH +0x9E6D 0x67B8 #CJK UNIFIED IDEOGRAPH +0x9E6E 0x67E4 #CJK UNIFIED IDEOGRAPH +0x9E6F 0x67DE #CJK UNIFIED IDEOGRAPH +0x9E70 0x67DD #CJK UNIFIED IDEOGRAPH +0x9E71 0x67E2 #CJK UNIFIED IDEOGRAPH +0x9E72 0x67EE #CJK UNIFIED IDEOGRAPH +0x9E73 0x67B9 #CJK UNIFIED IDEOGRAPH +0x9E74 0x67CE #CJK UNIFIED IDEOGRAPH +0x9E75 0x67C6 #CJK UNIFIED IDEOGRAPH +0x9E76 0x67E7 #CJK UNIFIED IDEOGRAPH +0x9E77 0x6A9C #CJK UNIFIED IDEOGRAPH +0x9E78 0x681E #CJK UNIFIED IDEOGRAPH +0x9E79 0x6846 #CJK UNIFIED IDEOGRAPH +0x9E7A 0x6829 #CJK UNIFIED IDEOGRAPH +0x9E7B 0x6840 #CJK UNIFIED IDEOGRAPH +0x9E7C 0x684D #CJK UNIFIED IDEOGRAPH +0x9E7D 0x6832 #CJK UNIFIED IDEOGRAPH +0x9E7E 0x684E #CJK UNIFIED IDEOGRAPH +0x9E80 0x68B3 #CJK UNIFIED IDEOGRAPH +0x9E81 0x682B #CJK UNIFIED IDEOGRAPH +0x9E82 0x6859 #CJK UNIFIED IDEOGRAPH +0x9E83 0x6863 #CJK UNIFIED IDEOGRAPH +0x9E84 0x6877 #CJK UNIFIED IDEOGRAPH +0x9E85 0x687F #CJK UNIFIED IDEOGRAPH +0x9E86 0x689F #CJK UNIFIED IDEOGRAPH +0x9E87 0x688F #CJK UNIFIED IDEOGRAPH +0x9E88 0x68AD #CJK UNIFIED IDEOGRAPH +0x9E89 0x6894 #CJK UNIFIED IDEOGRAPH +0x9E8A 0x689D #CJK UNIFIED IDEOGRAPH +0x9E8B 0x689B #CJK UNIFIED IDEOGRAPH +0x9E8C 0x6883 #CJK UNIFIED IDEOGRAPH +0x9E8D 0x6AAE #CJK UNIFIED IDEOGRAPH +0x9E8E 0x68B9 #CJK UNIFIED IDEOGRAPH +0x9E8F 0x6874 #CJK UNIFIED IDEOGRAPH +0x9E90 0x68B5 #CJK UNIFIED IDEOGRAPH +0x9E91 0x68A0 #CJK UNIFIED IDEOGRAPH +0x9E92 0x68BA #CJK UNIFIED IDEOGRAPH +0x9E93 0x690F #CJK UNIFIED IDEOGRAPH +0x9E94 0x688D #CJK UNIFIED IDEOGRAPH +0x9E95 0x687E #CJK UNIFIED IDEOGRAPH +0x9E96 0x6901 #CJK UNIFIED IDEOGRAPH +0x9E97 0x68CA #CJK UNIFIED IDEOGRAPH +0x9E98 0x6908 #CJK UNIFIED IDEOGRAPH +0x9E99 0x68D8 #CJK UNIFIED IDEOGRAPH +0x9E9A 0x6922 #CJK UNIFIED IDEOGRAPH +0x9E9B 0x6926 #CJK UNIFIED IDEOGRAPH +0x9E9C 0x68E1 #CJK UNIFIED IDEOGRAPH +0x9E9D 0x690C #CJK UNIFIED IDEOGRAPH +0x9E9E 0x68CD #CJK UNIFIED IDEOGRAPH +0x9E9F 0x68D4 #CJK UNIFIED IDEOGRAPH +0x9EA0 0x68E7 #CJK UNIFIED IDEOGRAPH +0x9EA1 0x68D5 #CJK UNIFIED IDEOGRAPH +0x9EA2 0x6936 #CJK UNIFIED IDEOGRAPH +0x9EA3 0x6912 #CJK UNIFIED IDEOGRAPH +0x9EA4 0x6904 #CJK UNIFIED IDEOGRAPH +0x9EA5 0x68D7 #CJK UNIFIED IDEOGRAPH +0x9EA6 0x68E3 #CJK UNIFIED IDEOGRAPH +0x9EA7 0x6925 #CJK UNIFIED IDEOGRAPH +0x9EA8 0x68F9 #CJK UNIFIED IDEOGRAPH +0x9EA9 0x68E0 #CJK UNIFIED IDEOGRAPH +0x9EAA 0x68EF #CJK UNIFIED IDEOGRAPH +0x9EAB 0x6928 #CJK UNIFIED IDEOGRAPH +0x9EAC 0x692A #CJK UNIFIED IDEOGRAPH +0x9EAD 0x691A #CJK UNIFIED IDEOGRAPH +0x9EAE 0x6923 #CJK UNIFIED IDEOGRAPH +0x9EAF 0x6921 #CJK UNIFIED IDEOGRAPH +0x9EB0 0x68C6 #CJK UNIFIED IDEOGRAPH +0x9EB1 0x6979 #CJK UNIFIED IDEOGRAPH +0x9EB2 0x6977 #CJK UNIFIED IDEOGRAPH +0x9EB3 0x695C #CJK UNIFIED IDEOGRAPH +0x9EB4 0x6978 #CJK UNIFIED IDEOGRAPH +0x9EB5 0x696B #CJK UNIFIED IDEOGRAPH +0x9EB6 0x6954 #CJK UNIFIED IDEOGRAPH +0x9EB7 0x697E #CJK UNIFIED IDEOGRAPH +0x9EB8 0x696E #CJK UNIFIED IDEOGRAPH +0x9EB9 0x6939 #CJK UNIFIED IDEOGRAPH +0x9EBA 0x6974 #CJK UNIFIED IDEOGRAPH +0x9EBB 0x693D #CJK UNIFIED IDEOGRAPH +0x9EBC 0x6959 #CJK UNIFIED IDEOGRAPH +0x9EBD 0x6930 #CJK UNIFIED IDEOGRAPH +0x9EBE 0x6961 #CJK UNIFIED IDEOGRAPH +0x9EBF 0x695E #CJK UNIFIED IDEOGRAPH +0x9EC0 0x695D #CJK UNIFIED IDEOGRAPH +0x9EC1 0x6981 #CJK UNIFIED IDEOGRAPH +0x9EC2 0x696A #CJK UNIFIED IDEOGRAPH +0x9EC3 0x69B2 #CJK UNIFIED IDEOGRAPH +0x9EC4 0x69AE #CJK UNIFIED IDEOGRAPH +0x9EC5 0x69D0 #CJK UNIFIED IDEOGRAPH +0x9EC6 0x69BF #CJK UNIFIED IDEOGRAPH +0x9EC7 0x69C1 #CJK UNIFIED IDEOGRAPH +0x9EC8 0x69D3 #CJK UNIFIED IDEOGRAPH +0x9EC9 0x69BE #CJK UNIFIED IDEOGRAPH +0x9ECA 0x69CE #CJK UNIFIED IDEOGRAPH +0x9ECB 0x5BE8 #CJK UNIFIED IDEOGRAPH +0x9ECC 0x69CA #CJK UNIFIED IDEOGRAPH +0x9ECD 0x69DD #CJK UNIFIED IDEOGRAPH +0x9ECE 0x69BB #CJK UNIFIED IDEOGRAPH +0x9ECF 0x69C3 #CJK UNIFIED IDEOGRAPH +0x9ED0 0x69A7 #CJK UNIFIED IDEOGRAPH +0x9ED1 0x6A2E #CJK UNIFIED IDEOGRAPH +0x9ED2 0x6991 #CJK UNIFIED IDEOGRAPH +0x9ED3 0x69A0 #CJK UNIFIED IDEOGRAPH +0x9ED4 0x699C #CJK UNIFIED IDEOGRAPH +0x9ED5 0x6995 #CJK UNIFIED IDEOGRAPH +0x9ED6 0x69B4 #CJK UNIFIED IDEOGRAPH +0x9ED7 0x69DE #CJK UNIFIED IDEOGRAPH +0x9ED8 0x69E8 #CJK UNIFIED IDEOGRAPH +0x9ED9 0x6A02 #CJK UNIFIED IDEOGRAPH +0x9EDA 0x6A1B #CJK UNIFIED IDEOGRAPH +0x9EDB 0x69FF #CJK UNIFIED IDEOGRAPH +0x9EDC 0x6B0A #CJK UNIFIED IDEOGRAPH +0x9EDD 0x69F9 #CJK UNIFIED IDEOGRAPH +0x9EDE 0x69F2 #CJK UNIFIED IDEOGRAPH +0x9EDF 0x69E7 #CJK UNIFIED IDEOGRAPH +0x9EE0 0x6A05 #CJK UNIFIED IDEOGRAPH +0x9EE1 0x69B1 #CJK UNIFIED IDEOGRAPH +0x9EE2 0x6A1E #CJK UNIFIED IDEOGRAPH +0x9EE3 0x69ED #CJK UNIFIED IDEOGRAPH +0x9EE4 0x6A14 #CJK UNIFIED IDEOGRAPH +0x9EE5 0x69EB #CJK UNIFIED IDEOGRAPH +0x9EE6 0x6A0A #CJK UNIFIED IDEOGRAPH +0x9EE7 0x6A12 #CJK UNIFIED IDEOGRAPH +0x9EE8 0x6AC1 #CJK UNIFIED IDEOGRAPH +0x9EE9 0x6A23 #CJK UNIFIED IDEOGRAPH +0x9EEA 0x6A13 #CJK UNIFIED IDEOGRAPH +0x9EEB 0x6A44 #CJK UNIFIED IDEOGRAPH +0x9EEC 0x6A0C #CJK UNIFIED IDEOGRAPH +0x9EED 0x6A72 #CJK UNIFIED IDEOGRAPH +0x9EEE 0x6A36 #CJK UNIFIED IDEOGRAPH +0x9EEF 0x6A78 #CJK UNIFIED IDEOGRAPH +0x9EF0 0x6A47 #CJK UNIFIED IDEOGRAPH +0x9EF1 0x6A62 #CJK UNIFIED IDEOGRAPH +0x9EF2 0x6A59 #CJK UNIFIED IDEOGRAPH +0x9EF3 0x6A66 #CJK UNIFIED IDEOGRAPH +0x9EF4 0x6A48 #CJK UNIFIED IDEOGRAPH +0x9EF5 0x6A38 #CJK UNIFIED IDEOGRAPH +0x9EF6 0x6A22 #CJK UNIFIED IDEOGRAPH +0x9EF7 0x6A90 #CJK UNIFIED IDEOGRAPH +0x9EF8 0x6A8D #CJK UNIFIED IDEOGRAPH +0x9EF9 0x6AA0 #CJK UNIFIED IDEOGRAPH +0x9EFA 0x6A84 #CJK UNIFIED IDEOGRAPH +0x9EFB 0x6AA2 #CJK UNIFIED IDEOGRAPH +0x9EFC 0x6AA3 #CJK UNIFIED IDEOGRAPH +0x9F40 0x6A97 #CJK UNIFIED IDEOGRAPH +0x9F41 0x8617 #CJK UNIFIED IDEOGRAPH +0x9F42 0x6ABB #CJK UNIFIED IDEOGRAPH +0x9F43 0x6AC3 #CJK UNIFIED IDEOGRAPH +0x9F44 0x6AC2 #CJK UNIFIED IDEOGRAPH +0x9F45 0x6AB8 #CJK UNIFIED IDEOGRAPH +0x9F46 0x6AB3 #CJK UNIFIED IDEOGRAPH +0x9F47 0x6AAC #CJK UNIFIED IDEOGRAPH +0x9F48 0x6ADE #CJK UNIFIED IDEOGRAPH +0x9F49 0x6AD1 #CJK UNIFIED IDEOGRAPH +0x9F4A 0x6ADF #CJK UNIFIED IDEOGRAPH +0x9F4B 0x6AAA #CJK UNIFIED IDEOGRAPH +0x9F4C 0x6ADA #CJK UNIFIED IDEOGRAPH +0x9F4D 0x6AEA #CJK UNIFIED IDEOGRAPH +0x9F4E 0x6AFB #CJK UNIFIED IDEOGRAPH +0x9F4F 0x6B05 #CJK UNIFIED IDEOGRAPH +0x9F50 0x8616 #CJK UNIFIED IDEOGRAPH +0x9F51 0x6AFA #CJK UNIFIED IDEOGRAPH +0x9F52 0x6B12 #CJK UNIFIED IDEOGRAPH +0x9F53 0x6B16 #CJK UNIFIED IDEOGRAPH +0x9F54 0x9B31 #CJK UNIFIED IDEOGRAPH +0x9F55 0x6B1F #CJK UNIFIED IDEOGRAPH +0x9F56 0x6B38 #CJK UNIFIED IDEOGRAPH +0x9F57 0x6B37 #CJK UNIFIED IDEOGRAPH +0x9F58 0x76DC #CJK UNIFIED IDEOGRAPH +0x9F59 0x6B39 #CJK UNIFIED IDEOGRAPH +0x9F5A 0x98EE #CJK UNIFIED IDEOGRAPH +0x9F5B 0x6B47 #CJK UNIFIED IDEOGRAPH +0x9F5C 0x6B43 #CJK UNIFIED IDEOGRAPH +0x9F5D 0x6B49 #CJK UNIFIED IDEOGRAPH +0x9F5E 0x6B50 #CJK UNIFIED IDEOGRAPH +0x9F5F 0x6B59 #CJK UNIFIED IDEOGRAPH +0x9F60 0x6B54 #CJK UNIFIED IDEOGRAPH +0x9F61 0x6B5B #CJK UNIFIED IDEOGRAPH +0x9F62 0x6B5F #CJK UNIFIED IDEOGRAPH +0x9F63 0x6B61 #CJK UNIFIED IDEOGRAPH +0x9F64 0x6B78 #CJK UNIFIED IDEOGRAPH +0x9F65 0x6B79 #CJK UNIFIED IDEOGRAPH +0x9F66 0x6B7F #CJK UNIFIED IDEOGRAPH +0x9F67 0x6B80 #CJK UNIFIED IDEOGRAPH +0x9F68 0x6B84 #CJK UNIFIED IDEOGRAPH +0x9F69 0x6B83 #CJK UNIFIED IDEOGRAPH +0x9F6A 0x6B8D #CJK UNIFIED IDEOGRAPH +0x9F6B 0x6B98 #CJK UNIFIED IDEOGRAPH +0x9F6C 0x6B95 #CJK UNIFIED IDEOGRAPH +0x9F6D 0x6B9E #CJK UNIFIED IDEOGRAPH +0x9F6E 0x6BA4 #CJK UNIFIED IDEOGRAPH +0x9F6F 0x6BAA #CJK UNIFIED IDEOGRAPH +0x9F70 0x6BAB #CJK UNIFIED IDEOGRAPH +0x9F71 0x6BAF #CJK UNIFIED IDEOGRAPH +0x9F72 0x6BB2 #CJK UNIFIED IDEOGRAPH +0x9F73 0x6BB1 #CJK UNIFIED IDEOGRAPH +0x9F74 0x6BB3 #CJK UNIFIED IDEOGRAPH +0x9F75 0x6BB7 #CJK UNIFIED IDEOGRAPH +0x9F76 0x6BBC #CJK UNIFIED IDEOGRAPH +0x9F77 0x6BC6 #CJK UNIFIED IDEOGRAPH +0x9F78 0x6BCB #CJK UNIFIED IDEOGRAPH +0x9F79 0x6BD3 #CJK UNIFIED IDEOGRAPH +0x9F7A 0x6BDF #CJK UNIFIED IDEOGRAPH +0x9F7B 0x6BEC #CJK UNIFIED IDEOGRAPH +0x9F7C 0x6BEB #CJK UNIFIED IDEOGRAPH +0x9F7D 0x6BF3 #CJK UNIFIED IDEOGRAPH +0x9F7E 0x6BEF #CJK UNIFIED IDEOGRAPH +0x9F80 0x9EBE #CJK UNIFIED IDEOGRAPH +0x9F81 0x6C08 #CJK UNIFIED IDEOGRAPH +0x9F82 0x6C13 #CJK UNIFIED IDEOGRAPH +0x9F83 0x6C14 #CJK UNIFIED IDEOGRAPH +0x9F84 0x6C1B #CJK UNIFIED IDEOGRAPH +0x9F85 0x6C24 #CJK UNIFIED IDEOGRAPH +0x9F86 0x6C23 #CJK UNIFIED IDEOGRAPH +0x9F87 0x6C5E #CJK UNIFIED IDEOGRAPH +0x9F88 0x6C55 #CJK UNIFIED IDEOGRAPH +0x9F89 0x6C62 #CJK UNIFIED IDEOGRAPH +0x9F8A 0x6C6A #CJK UNIFIED IDEOGRAPH +0x9F8B 0x6C82 #CJK UNIFIED IDEOGRAPH +0x9F8C 0x6C8D #CJK UNIFIED IDEOGRAPH +0x9F8D 0x6C9A #CJK UNIFIED IDEOGRAPH +0x9F8E 0x6C81 #CJK UNIFIED IDEOGRAPH +0x9F8F 0x6C9B #CJK UNIFIED IDEOGRAPH +0x9F90 0x6C7E #CJK UNIFIED IDEOGRAPH +0x9F91 0x6C68 #CJK UNIFIED IDEOGRAPH +0x9F92 0x6C73 #CJK UNIFIED IDEOGRAPH +0x9F93 0x6C92 #CJK UNIFIED IDEOGRAPH +0x9F94 0x6C90 #CJK UNIFIED IDEOGRAPH +0x9F95 0x6CC4 #CJK UNIFIED IDEOGRAPH +0x9F96 0x6CF1 #CJK UNIFIED IDEOGRAPH +0x9F97 0x6CD3 #CJK UNIFIED IDEOGRAPH +0x9F98 0x6CBD #CJK UNIFIED IDEOGRAPH +0x9F99 0x6CD7 #CJK UNIFIED IDEOGRAPH +0x9F9A 0x6CC5 #CJK UNIFIED IDEOGRAPH +0x9F9B 0x6CDD #CJK UNIFIED IDEOGRAPH +0x9F9C 0x6CAE #CJK UNIFIED IDEOGRAPH +0x9F9D 0x6CB1 #CJK UNIFIED IDEOGRAPH +0x9F9E 0x6CBE #CJK UNIFIED IDEOGRAPH +0x9F9F 0x6CBA #CJK UNIFIED IDEOGRAPH +0x9FA0 0x6CDB #CJK UNIFIED IDEOGRAPH +0x9FA1 0x6CEF #CJK UNIFIED IDEOGRAPH +0x9FA2 0x6CD9 #CJK UNIFIED IDEOGRAPH +0x9FA3 0x6CEA #CJK UNIFIED IDEOGRAPH +0x9FA4 0x6D1F #CJK UNIFIED IDEOGRAPH +0x9FA5 0x884D #CJK UNIFIED IDEOGRAPH +0x9FA6 0x6D36 #CJK UNIFIED IDEOGRAPH +0x9FA7 0x6D2B #CJK UNIFIED IDEOGRAPH +0x9FA8 0x6D3D #CJK UNIFIED IDEOGRAPH +0x9FA9 0x6D38 #CJK UNIFIED IDEOGRAPH +0x9FAA 0x6D19 #CJK UNIFIED IDEOGRAPH +0x9FAB 0x6D35 #CJK UNIFIED IDEOGRAPH +0x9FAC 0x6D33 #CJK UNIFIED IDEOGRAPH +0x9FAD 0x6D12 #CJK UNIFIED IDEOGRAPH +0x9FAE 0x6D0C #CJK UNIFIED IDEOGRAPH +0x9FAF 0x6D63 #CJK UNIFIED IDEOGRAPH +0x9FB0 0x6D93 #CJK UNIFIED IDEOGRAPH +0x9FB1 0x6D64 #CJK UNIFIED IDEOGRAPH +0x9FB2 0x6D5A #CJK UNIFIED IDEOGRAPH +0x9FB3 0x6D79 #CJK UNIFIED IDEOGRAPH +0x9FB4 0x6D59 #CJK UNIFIED IDEOGRAPH +0x9FB5 0x6D8E #CJK UNIFIED IDEOGRAPH +0x9FB6 0x6D95 #CJK UNIFIED IDEOGRAPH +0x9FB7 0x6FE4 #CJK UNIFIED IDEOGRAPH +0x9FB8 0x6D85 #CJK UNIFIED IDEOGRAPH +0x9FB9 0x6DF9 #CJK UNIFIED IDEOGRAPH +0x9FBA 0x6E15 #CJK UNIFIED IDEOGRAPH +0x9FBB 0x6E0A #CJK UNIFIED IDEOGRAPH +0x9FBC 0x6DB5 #CJK UNIFIED IDEOGRAPH +0x9FBD 0x6DC7 #CJK UNIFIED IDEOGRAPH +0x9FBE 0x6DE6 #CJK UNIFIED IDEOGRAPH +0x9FBF 0x6DB8 #CJK UNIFIED IDEOGRAPH +0x9FC0 0x6DC6 #CJK UNIFIED IDEOGRAPH +0x9FC1 0x6DEC #CJK UNIFIED IDEOGRAPH +0x9FC2 0x6DDE #CJK UNIFIED IDEOGRAPH +0x9FC3 0x6DCC #CJK UNIFIED IDEOGRAPH +0x9FC4 0x6DE8 #CJK UNIFIED IDEOGRAPH +0x9FC5 0x6DD2 #CJK UNIFIED IDEOGRAPH +0x9FC6 0x6DC5 #CJK UNIFIED IDEOGRAPH +0x9FC7 0x6DFA #CJK UNIFIED IDEOGRAPH +0x9FC8 0x6DD9 #CJK UNIFIED IDEOGRAPH +0x9FC9 0x6DE4 #CJK UNIFIED IDEOGRAPH +0x9FCA 0x6DD5 #CJK UNIFIED IDEOGRAPH +0x9FCB 0x6DEA #CJK UNIFIED IDEOGRAPH +0x9FCC 0x6DEE #CJK UNIFIED IDEOGRAPH +0x9FCD 0x6E2D #CJK UNIFIED IDEOGRAPH +0x9FCE 0x6E6E #CJK UNIFIED IDEOGRAPH +0x9FCF 0x6E2E #CJK UNIFIED IDEOGRAPH +0x9FD0 0x6E19 #CJK UNIFIED IDEOGRAPH +0x9FD1 0x6E72 #CJK UNIFIED IDEOGRAPH +0x9FD2 0x6E5F #CJK UNIFIED IDEOGRAPH +0x9FD3 0x6E3E #CJK UNIFIED IDEOGRAPH +0x9FD4 0x6E23 #CJK UNIFIED IDEOGRAPH +0x9FD5 0x6E6B #CJK UNIFIED IDEOGRAPH +0x9FD6 0x6E2B #CJK UNIFIED IDEOGRAPH +0x9FD7 0x6E76 #CJK UNIFIED IDEOGRAPH +0x9FD8 0x6E4D #CJK UNIFIED IDEOGRAPH +0x9FD9 0x6E1F #CJK UNIFIED IDEOGRAPH +0x9FDA 0x6E43 #CJK UNIFIED IDEOGRAPH +0x9FDB 0x6E3A #CJK UNIFIED IDEOGRAPH +0x9FDC 0x6E4E #CJK UNIFIED IDEOGRAPH +0x9FDD 0x6E24 #CJK UNIFIED IDEOGRAPH +0x9FDE 0x6EFF #CJK UNIFIED IDEOGRAPH +0x9FDF 0x6E1D #CJK UNIFIED IDEOGRAPH +0x9FE0 0x6E38 #CJK UNIFIED IDEOGRAPH +0x9FE1 0x6E82 #CJK UNIFIED IDEOGRAPH +0x9FE2 0x6EAA #CJK UNIFIED IDEOGRAPH +0x9FE3 0x6E98 #CJK UNIFIED IDEOGRAPH +0x9FE4 0x6EC9 #CJK UNIFIED IDEOGRAPH +0x9FE5 0x6EB7 #CJK UNIFIED IDEOGRAPH +0x9FE6 0x6ED3 #CJK UNIFIED IDEOGRAPH +0x9FE7 0x6EBD #CJK UNIFIED IDEOGRAPH +0x9FE8 0x6EAF #CJK UNIFIED IDEOGRAPH +0x9FE9 0x6EC4 #CJK UNIFIED IDEOGRAPH +0x9FEA 0x6EB2 #CJK UNIFIED IDEOGRAPH +0x9FEB 0x6ED4 #CJK UNIFIED IDEOGRAPH +0x9FEC 0x6ED5 #CJK UNIFIED IDEOGRAPH +0x9FED 0x6E8F #CJK UNIFIED IDEOGRAPH +0x9FEE 0x6EA5 #CJK UNIFIED IDEOGRAPH +0x9FEF 0x6EC2 #CJK UNIFIED IDEOGRAPH +0x9FF0 0x6E9F #CJK UNIFIED IDEOGRAPH +0x9FF1 0x6F41 #CJK UNIFIED IDEOGRAPH +0x9FF2 0x6F11 #CJK UNIFIED IDEOGRAPH +0x9FF3 0x704C #CJK UNIFIED IDEOGRAPH +0x9FF4 0x6EEC #CJK UNIFIED IDEOGRAPH +0x9FF5 0x6EF8 #CJK UNIFIED IDEOGRAPH +0x9FF6 0x6EFE #CJK UNIFIED IDEOGRAPH +0x9FF7 0x6F3F #CJK UNIFIED IDEOGRAPH +0x9FF8 0x6EF2 #CJK UNIFIED IDEOGRAPH +0x9FF9 0x6F31 #CJK UNIFIED IDEOGRAPH +0x9FFA 0x6EEF #CJK UNIFIED IDEOGRAPH +0x9FFB 0x6F32 #CJK UNIFIED IDEOGRAPH +0x9FFC 0x6ECC #CJK UNIFIED IDEOGRAPH +0xE040 0x6F3E #CJK UNIFIED IDEOGRAPH +0xE041 0x6F13 #CJK UNIFIED IDEOGRAPH +0xE042 0x6EF7 #CJK UNIFIED IDEOGRAPH +0xE043 0x6F86 #CJK UNIFIED IDEOGRAPH +0xE044 0x6F7A #CJK UNIFIED IDEOGRAPH +0xE045 0x6F78 #CJK UNIFIED IDEOGRAPH +0xE046 0x6F81 #CJK UNIFIED IDEOGRAPH +0xE047 0x6F80 #CJK UNIFIED IDEOGRAPH +0xE048 0x6F6F #CJK UNIFIED IDEOGRAPH +0xE049 0x6F5B #CJK UNIFIED IDEOGRAPH +0xE04A 0x6FF3 #CJK UNIFIED IDEOGRAPH +0xE04B 0x6F6D #CJK UNIFIED IDEOGRAPH +0xE04C 0x6F82 #CJK UNIFIED IDEOGRAPH +0xE04D 0x6F7C #CJK UNIFIED IDEOGRAPH +0xE04E 0x6F58 #CJK UNIFIED IDEOGRAPH +0xE04F 0x6F8E #CJK UNIFIED IDEOGRAPH +0xE050 0x6F91 #CJK UNIFIED IDEOGRAPH +0xE051 0x6FC2 #CJK UNIFIED IDEOGRAPH +0xE052 0x6F66 #CJK UNIFIED IDEOGRAPH +0xE053 0x6FB3 #CJK UNIFIED IDEOGRAPH +0xE054 0x6FA3 #CJK UNIFIED IDEOGRAPH +0xE055 0x6FA1 #CJK UNIFIED IDEOGRAPH +0xE056 0x6FA4 #CJK UNIFIED IDEOGRAPH +0xE057 0x6FB9 #CJK UNIFIED IDEOGRAPH +0xE058 0x6FC6 #CJK UNIFIED IDEOGRAPH +0xE059 0x6FAA #CJK UNIFIED IDEOGRAPH +0xE05A 0x6FDF #CJK UNIFIED IDEOGRAPH +0xE05B 0x6FD5 #CJK UNIFIED IDEOGRAPH +0xE05C 0x6FEC #CJK UNIFIED IDEOGRAPH +0xE05D 0x6FD4 #CJK UNIFIED IDEOGRAPH +0xE05E 0x6FD8 #CJK UNIFIED IDEOGRAPH +0xE05F 0x6FF1 #CJK UNIFIED IDEOGRAPH +0xE060 0x6FEE #CJK UNIFIED IDEOGRAPH +0xE061 0x6FDB #CJK UNIFIED IDEOGRAPH +0xE062 0x7009 #CJK UNIFIED IDEOGRAPH +0xE063 0x700B #CJK UNIFIED IDEOGRAPH +0xE064 0x6FFA #CJK UNIFIED IDEOGRAPH +0xE065 0x7011 #CJK UNIFIED IDEOGRAPH +0xE066 0x7001 #CJK UNIFIED IDEOGRAPH +0xE067 0x700F #CJK UNIFIED IDEOGRAPH +0xE068 0x6FFE #CJK UNIFIED IDEOGRAPH +0xE069 0x701B #CJK UNIFIED IDEOGRAPH +0xE06A 0x701A #CJK UNIFIED IDEOGRAPH +0xE06B 0x6F74 #CJK UNIFIED IDEOGRAPH +0xE06C 0x701D #CJK UNIFIED IDEOGRAPH +0xE06D 0x7018 #CJK UNIFIED IDEOGRAPH +0xE06E 0x701F #CJK UNIFIED IDEOGRAPH +0xE06F 0x7030 #CJK UNIFIED IDEOGRAPH +0xE070 0x703E #CJK UNIFIED IDEOGRAPH +0xE071 0x7032 #CJK UNIFIED IDEOGRAPH +0xE072 0x7051 #CJK UNIFIED IDEOGRAPH +0xE073 0x7063 #CJK UNIFIED IDEOGRAPH +0xE074 0x7099 #CJK UNIFIED IDEOGRAPH +0xE075 0x7092 #CJK UNIFIED IDEOGRAPH +0xE076 0x70AF #CJK UNIFIED IDEOGRAPH +0xE077 0x70F1 #CJK UNIFIED IDEOGRAPH +0xE078 0x70AC #CJK UNIFIED IDEOGRAPH +0xE079 0x70B8 #CJK UNIFIED IDEOGRAPH +0xE07A 0x70B3 #CJK UNIFIED IDEOGRAPH +0xE07B 0x70AE #CJK UNIFIED IDEOGRAPH +0xE07C 0x70DF #CJK UNIFIED IDEOGRAPH +0xE07D 0x70CB #CJK UNIFIED IDEOGRAPH +0xE07E 0x70DD #CJK UNIFIED IDEOGRAPH +0xE080 0x70D9 #CJK UNIFIED IDEOGRAPH +0xE081 0x7109 #CJK UNIFIED IDEOGRAPH +0xE082 0x70FD #CJK UNIFIED IDEOGRAPH +0xE083 0x711C #CJK UNIFIED IDEOGRAPH +0xE084 0x7119 #CJK UNIFIED IDEOGRAPH +0xE085 0x7165 #CJK UNIFIED IDEOGRAPH +0xE086 0x7155 #CJK UNIFIED IDEOGRAPH +0xE087 0x7188 #CJK UNIFIED IDEOGRAPH +0xE088 0x7166 #CJK UNIFIED IDEOGRAPH +0xE089 0x7162 #CJK UNIFIED IDEOGRAPH +0xE08A 0x714C #CJK UNIFIED IDEOGRAPH +0xE08B 0x7156 #CJK UNIFIED IDEOGRAPH +0xE08C 0x716C #CJK UNIFIED IDEOGRAPH +0xE08D 0x718F #CJK UNIFIED IDEOGRAPH +0xE08E 0x71FB #CJK UNIFIED IDEOGRAPH +0xE08F 0x7184 #CJK UNIFIED IDEOGRAPH +0xE090 0x7195 #CJK UNIFIED IDEOGRAPH +0xE091 0x71A8 #CJK UNIFIED IDEOGRAPH +0xE092 0x71AC #CJK UNIFIED IDEOGRAPH +0xE093 0x71D7 #CJK UNIFIED IDEOGRAPH +0xE094 0x71B9 #CJK UNIFIED IDEOGRAPH +0xE095 0x71BE #CJK UNIFIED IDEOGRAPH +0xE096 0x71D2 #CJK UNIFIED IDEOGRAPH +0xE097 0x71C9 #CJK UNIFIED IDEOGRAPH +0xE098 0x71D4 #CJK UNIFIED IDEOGRAPH +0xE099 0x71CE #CJK UNIFIED IDEOGRAPH +0xE09A 0x71E0 #CJK UNIFIED IDEOGRAPH +0xE09B 0x71EC #CJK UNIFIED IDEOGRAPH +0xE09C 0x71E7 #CJK UNIFIED IDEOGRAPH +0xE09D 0x71F5 #CJK UNIFIED IDEOGRAPH +0xE09E 0x71FC #CJK UNIFIED IDEOGRAPH +0xE09F 0x71F9 #CJK UNIFIED IDEOGRAPH +0xE0A0 0x71FF #CJK UNIFIED IDEOGRAPH +0xE0A1 0x720D #CJK UNIFIED IDEOGRAPH +0xE0A2 0x7210 #CJK UNIFIED IDEOGRAPH +0xE0A3 0x721B #CJK UNIFIED IDEOGRAPH +0xE0A4 0x7228 #CJK UNIFIED IDEOGRAPH +0xE0A5 0x722D #CJK UNIFIED IDEOGRAPH +0xE0A6 0x722C #CJK UNIFIED IDEOGRAPH +0xE0A7 0x7230 #CJK UNIFIED IDEOGRAPH +0xE0A8 0x7232 #CJK UNIFIED IDEOGRAPH +0xE0A9 0x723B #CJK UNIFIED IDEOGRAPH +0xE0AA 0x723C #CJK UNIFIED IDEOGRAPH +0xE0AB 0x723F #CJK UNIFIED IDEOGRAPH +0xE0AC 0x7240 #CJK UNIFIED IDEOGRAPH +0xE0AD 0x7246 #CJK UNIFIED IDEOGRAPH +0xE0AE 0x724B #CJK UNIFIED IDEOGRAPH +0xE0AF 0x7258 #CJK UNIFIED IDEOGRAPH +0xE0B0 0x7274 #CJK UNIFIED IDEOGRAPH +0xE0B1 0x727E #CJK UNIFIED IDEOGRAPH +0xE0B2 0x7282 #CJK UNIFIED IDEOGRAPH +0xE0B3 0x7281 #CJK UNIFIED IDEOGRAPH +0xE0B4 0x7287 #CJK UNIFIED IDEOGRAPH +0xE0B5 0x7292 #CJK UNIFIED IDEOGRAPH +0xE0B6 0x7296 #CJK UNIFIED IDEOGRAPH +0xE0B7 0x72A2 #CJK UNIFIED IDEOGRAPH +0xE0B8 0x72A7 #CJK UNIFIED IDEOGRAPH +0xE0B9 0x72B9 #CJK UNIFIED IDEOGRAPH +0xE0BA 0x72B2 #CJK UNIFIED IDEOGRAPH +0xE0BB 0x72C3 #CJK UNIFIED IDEOGRAPH +0xE0BC 0x72C6 #CJK UNIFIED IDEOGRAPH +0xE0BD 0x72C4 #CJK UNIFIED IDEOGRAPH +0xE0BE 0x72CE #CJK UNIFIED IDEOGRAPH +0xE0BF 0x72D2 #CJK UNIFIED IDEOGRAPH +0xE0C0 0x72E2 #CJK UNIFIED IDEOGRAPH +0xE0C1 0x72E0 #CJK UNIFIED IDEOGRAPH +0xE0C2 0x72E1 #CJK UNIFIED IDEOGRAPH +0xE0C3 0x72F9 #CJK UNIFIED IDEOGRAPH +0xE0C4 0x72F7 #CJK UNIFIED IDEOGRAPH +0xE0C5 0x500F #CJK UNIFIED IDEOGRAPH +0xE0C6 0x7317 #CJK UNIFIED IDEOGRAPH +0xE0C7 0x730A #CJK UNIFIED IDEOGRAPH +0xE0C8 0x731C #CJK UNIFIED IDEOGRAPH +0xE0C9 0x7316 #CJK UNIFIED IDEOGRAPH +0xE0CA 0x731D #CJK UNIFIED IDEOGRAPH +0xE0CB 0x7334 #CJK UNIFIED IDEOGRAPH +0xE0CC 0x732F #CJK UNIFIED IDEOGRAPH +0xE0CD 0x7329 #CJK UNIFIED IDEOGRAPH +0xE0CE 0x7325 #CJK UNIFIED IDEOGRAPH +0xE0CF 0x733E #CJK UNIFIED IDEOGRAPH +0xE0D0 0x734E #CJK UNIFIED IDEOGRAPH +0xE0D1 0x734F #CJK UNIFIED IDEOGRAPH +0xE0D2 0x9ED8 #CJK UNIFIED IDEOGRAPH +0xE0D3 0x7357 #CJK UNIFIED IDEOGRAPH +0xE0D4 0x736A #CJK UNIFIED IDEOGRAPH +0xE0D5 0x7368 #CJK UNIFIED IDEOGRAPH +0xE0D6 0x7370 #CJK UNIFIED IDEOGRAPH +0xE0D7 0x7378 #CJK UNIFIED IDEOGRAPH +0xE0D8 0x7375 #CJK UNIFIED IDEOGRAPH +0xE0D9 0x737B #CJK UNIFIED IDEOGRAPH +0xE0DA 0x737A #CJK UNIFIED IDEOGRAPH +0xE0DB 0x73C8 #CJK UNIFIED IDEOGRAPH +0xE0DC 0x73B3 #CJK UNIFIED IDEOGRAPH +0xE0DD 0x73CE #CJK UNIFIED IDEOGRAPH +0xE0DE 0x73BB #CJK UNIFIED IDEOGRAPH +0xE0DF 0x73C0 #CJK UNIFIED IDEOGRAPH +0xE0E0 0x73E5 #CJK UNIFIED IDEOGRAPH +0xE0E1 0x73EE #CJK UNIFIED IDEOGRAPH +0xE0E2 0x73DE #CJK UNIFIED IDEOGRAPH +0xE0E3 0x74A2 #CJK UNIFIED IDEOGRAPH +0xE0E4 0x7405 #CJK UNIFIED IDEOGRAPH +0xE0E5 0x746F #CJK UNIFIED IDEOGRAPH +0xE0E6 0x7425 #CJK UNIFIED IDEOGRAPH +0xE0E7 0x73F8 #CJK UNIFIED IDEOGRAPH +0xE0E8 0x7432 #CJK UNIFIED IDEOGRAPH +0xE0E9 0x743A #CJK UNIFIED IDEOGRAPH +0xE0EA 0x7455 #CJK UNIFIED IDEOGRAPH +0xE0EB 0x743F #CJK UNIFIED IDEOGRAPH +0xE0EC 0x745F #CJK UNIFIED IDEOGRAPH +0xE0ED 0x7459 #CJK UNIFIED IDEOGRAPH +0xE0EE 0x7441 #CJK UNIFIED IDEOGRAPH +0xE0EF 0x745C #CJK UNIFIED IDEOGRAPH +0xE0F0 0x7469 #CJK UNIFIED IDEOGRAPH +0xE0F1 0x7470 #CJK UNIFIED IDEOGRAPH +0xE0F2 0x7463 #CJK UNIFIED IDEOGRAPH +0xE0F3 0x746A #CJK UNIFIED IDEOGRAPH +0xE0F4 0x7476 #CJK UNIFIED IDEOGRAPH +0xE0F5 0x747E #CJK UNIFIED IDEOGRAPH +0xE0F6 0x748B #CJK UNIFIED IDEOGRAPH +0xE0F7 0x749E #CJK UNIFIED IDEOGRAPH +0xE0F8 0x74A7 #CJK UNIFIED IDEOGRAPH +0xE0F9 0x74CA #CJK UNIFIED IDEOGRAPH +0xE0FA 0x74CF #CJK UNIFIED IDEOGRAPH +0xE0FB 0x74D4 #CJK UNIFIED IDEOGRAPH +0xE0FC 0x73F1 #CJK UNIFIED IDEOGRAPH +0xE140 0x74E0 #CJK UNIFIED IDEOGRAPH +0xE141 0x74E3 #CJK UNIFIED IDEOGRAPH +0xE142 0x74E7 #CJK UNIFIED IDEOGRAPH +0xE143 0x74E9 #CJK UNIFIED IDEOGRAPH +0xE144 0x74EE #CJK UNIFIED IDEOGRAPH +0xE145 0x74F2 #CJK UNIFIED IDEOGRAPH +0xE146 0x74F0 #CJK UNIFIED IDEOGRAPH +0xE147 0x74F1 #CJK UNIFIED IDEOGRAPH +0xE148 0x74F8 #CJK UNIFIED IDEOGRAPH +0xE149 0x74F7 #CJK UNIFIED IDEOGRAPH +0xE14A 0x7504 #CJK UNIFIED IDEOGRAPH +0xE14B 0x7503 #CJK UNIFIED IDEOGRAPH +0xE14C 0x7505 #CJK UNIFIED IDEOGRAPH +0xE14D 0x750C #CJK UNIFIED IDEOGRAPH +0xE14E 0x750E #CJK UNIFIED IDEOGRAPH +0xE14F 0x750D #CJK UNIFIED IDEOGRAPH +0xE150 0x7515 #CJK UNIFIED IDEOGRAPH +0xE151 0x7513 #CJK UNIFIED IDEOGRAPH +0xE152 0x751E #CJK UNIFIED IDEOGRAPH +0xE153 0x7526 #CJK UNIFIED IDEOGRAPH +0xE154 0x752C #CJK UNIFIED IDEOGRAPH +0xE155 0x753C #CJK UNIFIED IDEOGRAPH +0xE156 0x7544 #CJK UNIFIED IDEOGRAPH +0xE157 0x754D #CJK UNIFIED IDEOGRAPH +0xE158 0x754A #CJK UNIFIED IDEOGRAPH +0xE159 0x7549 #CJK UNIFIED IDEOGRAPH +0xE15A 0x755B #CJK UNIFIED IDEOGRAPH +0xE15B 0x7546 #CJK UNIFIED IDEOGRAPH +0xE15C 0x755A #CJK UNIFIED IDEOGRAPH +0xE15D 0x7569 #CJK UNIFIED IDEOGRAPH +0xE15E 0x7564 #CJK UNIFIED IDEOGRAPH +0xE15F 0x7567 #CJK UNIFIED IDEOGRAPH +0xE160 0x756B #CJK UNIFIED IDEOGRAPH +0xE161 0x756D #CJK UNIFIED IDEOGRAPH +0xE162 0x7578 #CJK UNIFIED IDEOGRAPH +0xE163 0x7576 #CJK UNIFIED IDEOGRAPH +0xE164 0x7586 #CJK UNIFIED IDEOGRAPH +0xE165 0x7587 #CJK UNIFIED IDEOGRAPH +0xE166 0x7574 #CJK UNIFIED IDEOGRAPH +0xE167 0x758A #CJK UNIFIED IDEOGRAPH +0xE168 0x7589 #CJK UNIFIED IDEOGRAPH +0xE169 0x7582 #CJK UNIFIED IDEOGRAPH +0xE16A 0x7594 #CJK UNIFIED IDEOGRAPH +0xE16B 0x759A #CJK UNIFIED IDEOGRAPH +0xE16C 0x759D #CJK UNIFIED IDEOGRAPH +0xE16D 0x75A5 #CJK UNIFIED IDEOGRAPH +0xE16E 0x75A3 #CJK UNIFIED IDEOGRAPH +0xE16F 0x75C2 #CJK UNIFIED IDEOGRAPH +0xE170 0x75B3 #CJK UNIFIED IDEOGRAPH +0xE171 0x75C3 #CJK UNIFIED IDEOGRAPH +0xE172 0x75B5 #CJK UNIFIED IDEOGRAPH +0xE173 0x75BD #CJK UNIFIED IDEOGRAPH +0xE174 0x75B8 #CJK UNIFIED IDEOGRAPH +0xE175 0x75BC #CJK UNIFIED IDEOGRAPH +0xE176 0x75B1 #CJK UNIFIED IDEOGRAPH +0xE177 0x75CD #CJK UNIFIED IDEOGRAPH +0xE178 0x75CA #CJK UNIFIED IDEOGRAPH +0xE179 0x75D2 #CJK UNIFIED IDEOGRAPH +0xE17A 0x75D9 #CJK UNIFIED IDEOGRAPH +0xE17B 0x75E3 #CJK UNIFIED IDEOGRAPH +0xE17C 0x75DE #CJK UNIFIED IDEOGRAPH +0xE17D 0x75FE #CJK UNIFIED IDEOGRAPH +0xE17E 0x75FF #CJK UNIFIED IDEOGRAPH +0xE180 0x75FC #CJK UNIFIED IDEOGRAPH +0xE181 0x7601 #CJK UNIFIED IDEOGRAPH +0xE182 0x75F0 #CJK UNIFIED IDEOGRAPH +0xE183 0x75FA #CJK UNIFIED IDEOGRAPH +0xE184 0x75F2 #CJK UNIFIED IDEOGRAPH +0xE185 0x75F3 #CJK UNIFIED IDEOGRAPH +0xE186 0x760B #CJK UNIFIED IDEOGRAPH +0xE187 0x760D #CJK UNIFIED IDEOGRAPH +0xE188 0x7609 #CJK UNIFIED IDEOGRAPH +0xE189 0x761F #CJK UNIFIED IDEOGRAPH +0xE18A 0x7627 #CJK UNIFIED IDEOGRAPH +0xE18B 0x7620 #CJK UNIFIED IDEOGRAPH +0xE18C 0x7621 #CJK UNIFIED IDEOGRAPH +0xE18D 0x7622 #CJK UNIFIED IDEOGRAPH +0xE18E 0x7624 #CJK UNIFIED IDEOGRAPH +0xE18F 0x7634 #CJK UNIFIED IDEOGRAPH +0xE190 0x7630 #CJK UNIFIED IDEOGRAPH +0xE191 0x763B #CJK UNIFIED IDEOGRAPH +0xE192 0x7647 #CJK UNIFIED IDEOGRAPH +0xE193 0x7648 #CJK UNIFIED IDEOGRAPH +0xE194 0x7646 #CJK UNIFIED IDEOGRAPH +0xE195 0x765C #CJK UNIFIED IDEOGRAPH +0xE196 0x7658 #CJK UNIFIED IDEOGRAPH +0xE197 0x7661 #CJK UNIFIED IDEOGRAPH +0xE198 0x7662 #CJK UNIFIED IDEOGRAPH +0xE199 0x7668 #CJK UNIFIED IDEOGRAPH +0xE19A 0x7669 #CJK UNIFIED IDEOGRAPH +0xE19B 0x766A #CJK UNIFIED IDEOGRAPH +0xE19C 0x7667 #CJK UNIFIED IDEOGRAPH +0xE19D 0x766C #CJK UNIFIED IDEOGRAPH +0xE19E 0x7670 #CJK UNIFIED IDEOGRAPH +0xE19F 0x7672 #CJK UNIFIED IDEOGRAPH +0xE1A0 0x7676 #CJK UNIFIED IDEOGRAPH +0xE1A1 0x7678 #CJK UNIFIED IDEOGRAPH +0xE1A2 0x767C #CJK UNIFIED IDEOGRAPH +0xE1A3 0x7680 #CJK UNIFIED IDEOGRAPH +0xE1A4 0x7683 #CJK UNIFIED IDEOGRAPH +0xE1A5 0x7688 #CJK UNIFIED IDEOGRAPH +0xE1A6 0x768B #CJK UNIFIED IDEOGRAPH +0xE1A7 0x768E #CJK UNIFIED IDEOGRAPH +0xE1A8 0x7696 #CJK UNIFIED IDEOGRAPH +0xE1A9 0x7693 #CJK UNIFIED IDEOGRAPH +0xE1AA 0x7699 #CJK UNIFIED IDEOGRAPH +0xE1AB 0x769A #CJK UNIFIED IDEOGRAPH +0xE1AC 0x76B0 #CJK UNIFIED IDEOGRAPH +0xE1AD 0x76B4 #CJK UNIFIED IDEOGRAPH +0xE1AE 0x76B8 #CJK UNIFIED IDEOGRAPH +0xE1AF 0x76B9 #CJK UNIFIED IDEOGRAPH +0xE1B0 0x76BA #CJK UNIFIED IDEOGRAPH +0xE1B1 0x76C2 #CJK UNIFIED IDEOGRAPH +0xE1B2 0x76CD #CJK UNIFIED IDEOGRAPH +0xE1B3 0x76D6 #CJK UNIFIED IDEOGRAPH +0xE1B4 0x76D2 #CJK UNIFIED IDEOGRAPH +0xE1B5 0x76DE #CJK UNIFIED IDEOGRAPH +0xE1B6 0x76E1 #CJK UNIFIED IDEOGRAPH +0xE1B7 0x76E5 #CJK UNIFIED IDEOGRAPH +0xE1B8 0x76E7 #CJK UNIFIED IDEOGRAPH +0xE1B9 0x76EA #CJK UNIFIED IDEOGRAPH +0xE1BA 0x862F #CJK UNIFIED IDEOGRAPH +0xE1BB 0x76FB #CJK UNIFIED IDEOGRAPH +0xE1BC 0x7708 #CJK UNIFIED IDEOGRAPH +0xE1BD 0x7707 #CJK UNIFIED IDEOGRAPH +0xE1BE 0x7704 #CJK UNIFIED IDEOGRAPH +0xE1BF 0x7729 #CJK UNIFIED IDEOGRAPH +0xE1C0 0x7724 #CJK UNIFIED IDEOGRAPH +0xE1C1 0x771E #CJK UNIFIED IDEOGRAPH +0xE1C2 0x7725 #CJK UNIFIED IDEOGRAPH +0xE1C3 0x7726 #CJK UNIFIED IDEOGRAPH +0xE1C4 0x771B #CJK UNIFIED IDEOGRAPH +0xE1C5 0x7737 #CJK UNIFIED IDEOGRAPH +0xE1C6 0x7738 #CJK UNIFIED IDEOGRAPH +0xE1C7 0x7747 #CJK UNIFIED IDEOGRAPH +0xE1C8 0x775A #CJK UNIFIED IDEOGRAPH +0xE1C9 0x7768 #CJK UNIFIED IDEOGRAPH +0xE1CA 0x776B #CJK UNIFIED IDEOGRAPH +0xE1CB 0x775B #CJK UNIFIED IDEOGRAPH +0xE1CC 0x7765 #CJK UNIFIED IDEOGRAPH +0xE1CD 0x777F #CJK UNIFIED IDEOGRAPH +0xE1CE 0x777E #CJK UNIFIED IDEOGRAPH +0xE1CF 0x7779 #CJK UNIFIED IDEOGRAPH +0xE1D0 0x778E #CJK UNIFIED IDEOGRAPH +0xE1D1 0x778B #CJK UNIFIED IDEOGRAPH +0xE1D2 0x7791 #CJK UNIFIED IDEOGRAPH +0xE1D3 0x77A0 #CJK UNIFIED IDEOGRAPH +0xE1D4 0x779E #CJK UNIFIED IDEOGRAPH +0xE1D5 0x77B0 #CJK UNIFIED IDEOGRAPH +0xE1D6 0x77B6 #CJK UNIFIED IDEOGRAPH +0xE1D7 0x77B9 #CJK UNIFIED IDEOGRAPH +0xE1D8 0x77BF #CJK UNIFIED IDEOGRAPH +0xE1D9 0x77BC #CJK UNIFIED IDEOGRAPH +0xE1DA 0x77BD #CJK UNIFIED IDEOGRAPH +0xE1DB 0x77BB #CJK UNIFIED IDEOGRAPH +0xE1DC 0x77C7 #CJK UNIFIED IDEOGRAPH +0xE1DD 0x77CD #CJK UNIFIED IDEOGRAPH +0xE1DE 0x77D7 #CJK UNIFIED IDEOGRAPH +0xE1DF 0x77DA #CJK UNIFIED IDEOGRAPH +0xE1E0 0x77DC #CJK UNIFIED IDEOGRAPH +0xE1E1 0x77E3 #CJK UNIFIED IDEOGRAPH +0xE1E2 0x77EE #CJK UNIFIED IDEOGRAPH +0xE1E3 0x77FC #CJK UNIFIED IDEOGRAPH +0xE1E4 0x780C #CJK UNIFIED IDEOGRAPH +0xE1E5 0x7812 #CJK UNIFIED IDEOGRAPH +0xE1E6 0x7926 #CJK UNIFIED IDEOGRAPH +0xE1E7 0x7820 #CJK UNIFIED IDEOGRAPH +0xE1E8 0x792A #CJK UNIFIED IDEOGRAPH +0xE1E9 0x7845 #CJK UNIFIED IDEOGRAPH +0xE1EA 0x788E #CJK UNIFIED IDEOGRAPH +0xE1EB 0x7874 #CJK UNIFIED IDEOGRAPH +0xE1EC 0x7886 #CJK UNIFIED IDEOGRAPH +0xE1ED 0x787C #CJK UNIFIED IDEOGRAPH +0xE1EE 0x789A #CJK UNIFIED IDEOGRAPH +0xE1EF 0x788C #CJK UNIFIED IDEOGRAPH +0xE1F0 0x78A3 #CJK UNIFIED IDEOGRAPH +0xE1F1 0x78B5 #CJK UNIFIED IDEOGRAPH +0xE1F2 0x78AA #CJK UNIFIED IDEOGRAPH +0xE1F3 0x78AF #CJK UNIFIED IDEOGRAPH +0xE1F4 0x78D1 #CJK UNIFIED IDEOGRAPH +0xE1F5 0x78C6 #CJK UNIFIED IDEOGRAPH +0xE1F6 0x78CB #CJK UNIFIED IDEOGRAPH +0xE1F7 0x78D4 #CJK UNIFIED IDEOGRAPH +0xE1F8 0x78BE #CJK UNIFIED IDEOGRAPH +0xE1F9 0x78BC #CJK UNIFIED IDEOGRAPH +0xE1FA 0x78C5 #CJK UNIFIED IDEOGRAPH +0xE1FB 0x78CA #CJK UNIFIED IDEOGRAPH +0xE1FC 0x78EC #CJK UNIFIED IDEOGRAPH +0xE240 0x78E7 #CJK UNIFIED IDEOGRAPH +0xE241 0x78DA #CJK UNIFIED IDEOGRAPH +0xE242 0x78FD #CJK UNIFIED IDEOGRAPH +0xE243 0x78F4 #CJK UNIFIED IDEOGRAPH +0xE244 0x7907 #CJK UNIFIED IDEOGRAPH +0xE245 0x7912 #CJK UNIFIED IDEOGRAPH +0xE246 0x7911 #CJK UNIFIED IDEOGRAPH +0xE247 0x7919 #CJK UNIFIED IDEOGRAPH +0xE248 0x792C #CJK UNIFIED IDEOGRAPH +0xE249 0x792B #CJK UNIFIED IDEOGRAPH +0xE24A 0x7940 #CJK UNIFIED IDEOGRAPH +0xE24B 0x7960 #CJK UNIFIED IDEOGRAPH +0xE24C 0x7957 #CJK UNIFIED IDEOGRAPH +0xE24D 0x795F #CJK UNIFIED IDEOGRAPH +0xE24E 0x795A #CJK UNIFIED IDEOGRAPH +0xE24F 0x7955 #CJK UNIFIED IDEOGRAPH +0xE250 0x7953 #CJK UNIFIED IDEOGRAPH +0xE251 0x797A #CJK UNIFIED IDEOGRAPH +0xE252 0x797F #CJK UNIFIED IDEOGRAPH +0xE253 0x798A #CJK UNIFIED IDEOGRAPH +0xE254 0x799D #CJK UNIFIED IDEOGRAPH +0xE255 0x79A7 #CJK UNIFIED IDEOGRAPH +0xE256 0x9F4B #CJK UNIFIED IDEOGRAPH +0xE257 0x79AA #CJK UNIFIED IDEOGRAPH +0xE258 0x79AE #CJK UNIFIED IDEOGRAPH +0xE259 0x79B3 #CJK UNIFIED IDEOGRAPH +0xE25A 0x79B9 #CJK UNIFIED IDEOGRAPH +0xE25B 0x79BA #CJK UNIFIED IDEOGRAPH +0xE25C 0x79C9 #CJK UNIFIED IDEOGRAPH +0xE25D 0x79D5 #CJK UNIFIED IDEOGRAPH +0xE25E 0x79E7 #CJK UNIFIED IDEOGRAPH +0xE25F 0x79EC #CJK UNIFIED IDEOGRAPH +0xE260 0x79E1 #CJK UNIFIED IDEOGRAPH +0xE261 0x79E3 #CJK UNIFIED IDEOGRAPH +0xE262 0x7A08 #CJK UNIFIED IDEOGRAPH +0xE263 0x7A0D #CJK UNIFIED IDEOGRAPH +0xE264 0x7A18 #CJK UNIFIED IDEOGRAPH +0xE265 0x7A19 #CJK UNIFIED IDEOGRAPH +0xE266 0x7A20 #CJK UNIFIED IDEOGRAPH +0xE267 0x7A1F #CJK UNIFIED IDEOGRAPH +0xE268 0x7980 #CJK UNIFIED IDEOGRAPH +0xE269 0x7A31 #CJK UNIFIED IDEOGRAPH +0xE26A 0x7A3B #CJK UNIFIED IDEOGRAPH +0xE26B 0x7A3E #CJK UNIFIED IDEOGRAPH +0xE26C 0x7A37 #CJK UNIFIED IDEOGRAPH +0xE26D 0x7A43 #CJK UNIFIED IDEOGRAPH +0xE26E 0x7A57 #CJK UNIFIED IDEOGRAPH +0xE26F 0x7A49 #CJK UNIFIED IDEOGRAPH +0xE270 0x7A61 #CJK UNIFIED IDEOGRAPH +0xE271 0x7A62 #CJK UNIFIED IDEOGRAPH +0xE272 0x7A69 #CJK UNIFIED IDEOGRAPH +0xE273 0x9F9D #CJK UNIFIED IDEOGRAPH +0xE274 0x7A70 #CJK UNIFIED IDEOGRAPH +0xE275 0x7A79 #CJK UNIFIED IDEOGRAPH +0xE276 0x7A7D #CJK UNIFIED IDEOGRAPH +0xE277 0x7A88 #CJK UNIFIED IDEOGRAPH +0xE278 0x7A97 #CJK UNIFIED IDEOGRAPH +0xE279 0x7A95 #CJK UNIFIED IDEOGRAPH +0xE27A 0x7A98 #CJK UNIFIED IDEOGRAPH +0xE27B 0x7A96 #CJK UNIFIED IDEOGRAPH +0xE27C 0x7AA9 #CJK UNIFIED IDEOGRAPH +0xE27D 0x7AC8 #CJK UNIFIED IDEOGRAPH +0xE27E 0x7AB0 #CJK UNIFIED IDEOGRAPH +0xE280 0x7AB6 #CJK UNIFIED IDEOGRAPH +0xE281 0x7AC5 #CJK UNIFIED IDEOGRAPH +0xE282 0x7AC4 #CJK UNIFIED IDEOGRAPH +0xE283 0x7ABF #CJK UNIFIED IDEOGRAPH +0xE284 0x9083 #CJK UNIFIED IDEOGRAPH +0xE285 0x7AC7 #CJK UNIFIED IDEOGRAPH +0xE286 0x7ACA #CJK UNIFIED IDEOGRAPH +0xE287 0x7ACD #CJK UNIFIED IDEOGRAPH +0xE288 0x7ACF #CJK UNIFIED IDEOGRAPH +0xE289 0x7AD5 #CJK UNIFIED IDEOGRAPH +0xE28A 0x7AD3 #CJK UNIFIED IDEOGRAPH +0xE28B 0x7AD9 #CJK UNIFIED IDEOGRAPH +0xE28C 0x7ADA #CJK UNIFIED IDEOGRAPH +0xE28D 0x7ADD #CJK UNIFIED IDEOGRAPH +0xE28E 0x7AE1 #CJK UNIFIED IDEOGRAPH +0xE28F 0x7AE2 #CJK UNIFIED IDEOGRAPH +0xE290 0x7AE6 #CJK UNIFIED IDEOGRAPH +0xE291 0x7AED #CJK UNIFIED IDEOGRAPH +0xE292 0x7AF0 #CJK UNIFIED IDEOGRAPH +0xE293 0x7B02 #CJK UNIFIED IDEOGRAPH +0xE294 0x7B0F #CJK UNIFIED IDEOGRAPH +0xE295 0x7B0A #CJK UNIFIED IDEOGRAPH +0xE296 0x7B06 #CJK UNIFIED IDEOGRAPH +0xE297 0x7B33 #CJK UNIFIED IDEOGRAPH +0xE298 0x7B18 #CJK UNIFIED IDEOGRAPH +0xE299 0x7B19 #CJK UNIFIED IDEOGRAPH +0xE29A 0x7B1E #CJK UNIFIED IDEOGRAPH +0xE29B 0x7B35 #CJK UNIFIED IDEOGRAPH +0xE29C 0x7B28 #CJK UNIFIED IDEOGRAPH +0xE29D 0x7B36 #CJK UNIFIED IDEOGRAPH +0xE29E 0x7B50 #CJK UNIFIED IDEOGRAPH +0xE29F 0x7B7A #CJK UNIFIED IDEOGRAPH +0xE2A0 0x7B04 #CJK UNIFIED IDEOGRAPH +0xE2A1 0x7B4D #CJK UNIFIED IDEOGRAPH +0xE2A2 0x7B0B #CJK UNIFIED IDEOGRAPH +0xE2A3 0x7B4C #CJK UNIFIED IDEOGRAPH +0xE2A4 0x7B45 #CJK UNIFIED IDEOGRAPH +0xE2A5 0x7B75 #CJK UNIFIED IDEOGRAPH +0xE2A6 0x7B65 #CJK UNIFIED IDEOGRAPH +0xE2A7 0x7B74 #CJK UNIFIED IDEOGRAPH +0xE2A8 0x7B67 #CJK UNIFIED IDEOGRAPH +0xE2A9 0x7B70 #CJK UNIFIED IDEOGRAPH +0xE2AA 0x7B71 #CJK UNIFIED IDEOGRAPH +0xE2AB 0x7B6C #CJK UNIFIED IDEOGRAPH +0xE2AC 0x7B6E #CJK UNIFIED IDEOGRAPH +0xE2AD 0x7B9D #CJK UNIFIED IDEOGRAPH +0xE2AE 0x7B98 #CJK UNIFIED IDEOGRAPH +0xE2AF 0x7B9F #CJK UNIFIED IDEOGRAPH +0xE2B0 0x7B8D #CJK UNIFIED IDEOGRAPH +0xE2B1 0x7B9C #CJK UNIFIED IDEOGRAPH +0xE2B2 0x7B9A #CJK UNIFIED IDEOGRAPH +0xE2B3 0x7B8B #CJK UNIFIED IDEOGRAPH +0xE2B4 0x7B92 #CJK UNIFIED IDEOGRAPH +0xE2B5 0x7B8F #CJK UNIFIED IDEOGRAPH +0xE2B6 0x7B5D #CJK UNIFIED IDEOGRAPH +0xE2B7 0x7B99 #CJK UNIFIED IDEOGRAPH +0xE2B8 0x7BCB #CJK UNIFIED IDEOGRAPH +0xE2B9 0x7BC1 #CJK UNIFIED IDEOGRAPH +0xE2BA 0x7BCC #CJK UNIFIED IDEOGRAPH +0xE2BB 0x7BCF #CJK UNIFIED IDEOGRAPH +0xE2BC 0x7BB4 #CJK UNIFIED IDEOGRAPH +0xE2BD 0x7BC6 #CJK UNIFIED IDEOGRAPH +0xE2BE 0x7BDD #CJK UNIFIED IDEOGRAPH +0xE2BF 0x7BE9 #CJK UNIFIED IDEOGRAPH +0xE2C0 0x7C11 #CJK UNIFIED IDEOGRAPH +0xE2C1 0x7C14 #CJK UNIFIED IDEOGRAPH +0xE2C2 0x7BE6 #CJK UNIFIED IDEOGRAPH +0xE2C3 0x7BE5 #CJK UNIFIED IDEOGRAPH +0xE2C4 0x7C60 #CJK UNIFIED IDEOGRAPH +0xE2C5 0x7C00 #CJK UNIFIED IDEOGRAPH +0xE2C6 0x7C07 #CJK UNIFIED IDEOGRAPH +0xE2C7 0x7C13 #CJK UNIFIED IDEOGRAPH +0xE2C8 0x7BF3 #CJK UNIFIED IDEOGRAPH +0xE2C9 0x7BF7 #CJK UNIFIED IDEOGRAPH +0xE2CA 0x7C17 #CJK UNIFIED IDEOGRAPH +0xE2CB 0x7C0D #CJK UNIFIED IDEOGRAPH +0xE2CC 0x7BF6 #CJK UNIFIED IDEOGRAPH +0xE2CD 0x7C23 #CJK UNIFIED IDEOGRAPH +0xE2CE 0x7C27 #CJK UNIFIED IDEOGRAPH +0xE2CF 0x7C2A #CJK UNIFIED IDEOGRAPH +0xE2D0 0x7C1F #CJK UNIFIED IDEOGRAPH +0xE2D1 0x7C37 #CJK UNIFIED IDEOGRAPH +0xE2D2 0x7C2B #CJK UNIFIED IDEOGRAPH +0xE2D3 0x7C3D #CJK UNIFIED IDEOGRAPH +0xE2D4 0x7C4C #CJK UNIFIED IDEOGRAPH +0xE2D5 0x7C43 #CJK UNIFIED IDEOGRAPH +0xE2D6 0x7C54 #CJK UNIFIED IDEOGRAPH +0xE2D7 0x7C4F #CJK UNIFIED IDEOGRAPH +0xE2D8 0x7C40 #CJK UNIFIED IDEOGRAPH +0xE2D9 0x7C50 #CJK UNIFIED IDEOGRAPH +0xE2DA 0x7C58 #CJK UNIFIED IDEOGRAPH +0xE2DB 0x7C5F #CJK UNIFIED IDEOGRAPH +0xE2DC 0x7C64 #CJK UNIFIED IDEOGRAPH +0xE2DD 0x7C56 #CJK UNIFIED IDEOGRAPH +0xE2DE 0x7C65 #CJK UNIFIED IDEOGRAPH +0xE2DF 0x7C6C #CJK UNIFIED IDEOGRAPH +0xE2E0 0x7C75 #CJK UNIFIED IDEOGRAPH +0xE2E1 0x7C83 #CJK UNIFIED IDEOGRAPH +0xE2E2 0x7C90 #CJK UNIFIED IDEOGRAPH +0xE2E3 0x7CA4 #CJK UNIFIED IDEOGRAPH +0xE2E4 0x7CAD #CJK UNIFIED IDEOGRAPH +0xE2E5 0x7CA2 #CJK UNIFIED IDEOGRAPH +0xE2E6 0x7CAB #CJK UNIFIED IDEOGRAPH +0xE2E7 0x7CA1 #CJK UNIFIED IDEOGRAPH +0xE2E8 0x7CA8 #CJK UNIFIED IDEOGRAPH +0xE2E9 0x7CB3 #CJK UNIFIED IDEOGRAPH +0xE2EA 0x7CB2 #CJK UNIFIED IDEOGRAPH +0xE2EB 0x7CB1 #CJK UNIFIED IDEOGRAPH +0xE2EC 0x7CAE #CJK UNIFIED IDEOGRAPH +0xE2ED 0x7CB9 #CJK UNIFIED IDEOGRAPH +0xE2EE 0x7CBD #CJK UNIFIED IDEOGRAPH +0xE2EF 0x7CC0 #CJK UNIFIED IDEOGRAPH +0xE2F0 0x7CC5 #CJK UNIFIED IDEOGRAPH +0xE2F1 0x7CC2 #CJK UNIFIED IDEOGRAPH +0xE2F2 0x7CD8 #CJK UNIFIED IDEOGRAPH +0xE2F3 0x7CD2 #CJK UNIFIED IDEOGRAPH +0xE2F4 0x7CDC #CJK UNIFIED IDEOGRAPH +0xE2F5 0x7CE2 #CJK UNIFIED IDEOGRAPH +0xE2F6 0x9B3B #CJK UNIFIED IDEOGRAPH +0xE2F7 0x7CEF #CJK UNIFIED IDEOGRAPH +0xE2F8 0x7CF2 #CJK UNIFIED IDEOGRAPH +0xE2F9 0x7CF4 #CJK UNIFIED IDEOGRAPH +0xE2FA 0x7CF6 #CJK UNIFIED IDEOGRAPH +0xE2FB 0x7CFA #CJK UNIFIED IDEOGRAPH +0xE2FC 0x7D06 #CJK UNIFIED IDEOGRAPH +0xE340 0x7D02 #CJK UNIFIED IDEOGRAPH +0xE341 0x7D1C #CJK UNIFIED IDEOGRAPH +0xE342 0x7D15 #CJK UNIFIED IDEOGRAPH +0xE343 0x7D0A #CJK UNIFIED IDEOGRAPH +0xE344 0x7D45 #CJK UNIFIED IDEOGRAPH +0xE345 0x7D4B #CJK UNIFIED IDEOGRAPH +0xE346 0x7D2E #CJK UNIFIED IDEOGRAPH +0xE347 0x7D32 #CJK UNIFIED IDEOGRAPH +0xE348 0x7D3F #CJK UNIFIED IDEOGRAPH +0xE349 0x7D35 #CJK UNIFIED IDEOGRAPH +0xE34A 0x7D46 #CJK UNIFIED IDEOGRAPH +0xE34B 0x7D73 #CJK UNIFIED IDEOGRAPH +0xE34C 0x7D56 #CJK UNIFIED IDEOGRAPH +0xE34D 0x7D4E #CJK UNIFIED IDEOGRAPH +0xE34E 0x7D72 #CJK UNIFIED IDEOGRAPH +0xE34F 0x7D68 #CJK UNIFIED IDEOGRAPH +0xE350 0x7D6E #CJK UNIFIED IDEOGRAPH +0xE351 0x7D4F #CJK UNIFIED IDEOGRAPH +0xE352 0x7D63 #CJK UNIFIED IDEOGRAPH +0xE353 0x7D93 #CJK UNIFIED IDEOGRAPH +0xE354 0x7D89 #CJK UNIFIED IDEOGRAPH +0xE355 0x7D5B #CJK UNIFIED IDEOGRAPH +0xE356 0x7D8F #CJK UNIFIED IDEOGRAPH +0xE357 0x7D7D #CJK UNIFIED IDEOGRAPH +0xE358 0x7D9B #CJK UNIFIED IDEOGRAPH +0xE359 0x7DBA #CJK UNIFIED IDEOGRAPH +0xE35A 0x7DAE #CJK UNIFIED IDEOGRAPH +0xE35B 0x7DA3 #CJK UNIFIED IDEOGRAPH +0xE35C 0x7DB5 #CJK UNIFIED IDEOGRAPH +0xE35D 0x7DC7 #CJK UNIFIED IDEOGRAPH +0xE35E 0x7DBD #CJK UNIFIED IDEOGRAPH +0xE35F 0x7DAB #CJK UNIFIED IDEOGRAPH +0xE360 0x7E3D #CJK UNIFIED IDEOGRAPH +0xE361 0x7DA2 #CJK UNIFIED IDEOGRAPH +0xE362 0x7DAF #CJK UNIFIED IDEOGRAPH +0xE363 0x7DDC #CJK UNIFIED IDEOGRAPH +0xE364 0x7DB8 #CJK UNIFIED IDEOGRAPH +0xE365 0x7D9F #CJK UNIFIED IDEOGRAPH +0xE366 0x7DB0 #CJK UNIFIED IDEOGRAPH +0xE367 0x7DD8 #CJK UNIFIED IDEOGRAPH +0xE368 0x7DDD #CJK UNIFIED IDEOGRAPH +0xE369 0x7DE4 #CJK UNIFIED IDEOGRAPH +0xE36A 0x7DDE #CJK UNIFIED IDEOGRAPH +0xE36B 0x7DFB #CJK UNIFIED IDEOGRAPH +0xE36C 0x7DF2 #CJK UNIFIED IDEOGRAPH +0xE36D 0x7DE1 #CJK UNIFIED IDEOGRAPH +0xE36E 0x7E05 #CJK UNIFIED IDEOGRAPH +0xE36F 0x7E0A #CJK UNIFIED IDEOGRAPH +0xE370 0x7E23 #CJK UNIFIED IDEOGRAPH +0xE371 0x7E21 #CJK UNIFIED IDEOGRAPH +0xE372 0x7E12 #CJK UNIFIED IDEOGRAPH +0xE373 0x7E31 #CJK UNIFIED IDEOGRAPH +0xE374 0x7E1F #CJK UNIFIED IDEOGRAPH +0xE375 0x7E09 #CJK UNIFIED IDEOGRAPH +0xE376 0x7E0B #CJK UNIFIED IDEOGRAPH +0xE377 0x7E22 #CJK UNIFIED IDEOGRAPH +0xE378 0x7E46 #CJK UNIFIED IDEOGRAPH +0xE379 0x7E66 #CJK UNIFIED IDEOGRAPH +0xE37A 0x7E3B #CJK UNIFIED IDEOGRAPH +0xE37B 0x7E35 #CJK UNIFIED IDEOGRAPH +0xE37C 0x7E39 #CJK UNIFIED IDEOGRAPH +0xE37D 0x7E43 #CJK UNIFIED IDEOGRAPH +0xE37E 0x7E37 #CJK UNIFIED IDEOGRAPH +0xE380 0x7E32 #CJK UNIFIED IDEOGRAPH +0xE381 0x7E3A #CJK UNIFIED IDEOGRAPH +0xE382 0x7E67 #CJK UNIFIED IDEOGRAPH +0xE383 0x7E5D #CJK UNIFIED IDEOGRAPH +0xE384 0x7E56 #CJK UNIFIED IDEOGRAPH +0xE385 0x7E5E #CJK UNIFIED IDEOGRAPH +0xE386 0x7E59 #CJK UNIFIED IDEOGRAPH +0xE387 0x7E5A #CJK UNIFIED IDEOGRAPH +0xE388 0x7E79 #CJK UNIFIED IDEOGRAPH +0xE389 0x7E6A #CJK UNIFIED IDEOGRAPH +0xE38A 0x7E69 #CJK UNIFIED IDEOGRAPH +0xE38B 0x7E7C #CJK UNIFIED IDEOGRAPH +0xE38C 0x7E7B #CJK UNIFIED IDEOGRAPH +0xE38D 0x7E83 #CJK UNIFIED IDEOGRAPH +0xE38E 0x7DD5 #CJK UNIFIED IDEOGRAPH +0xE38F 0x7E7D #CJK UNIFIED IDEOGRAPH +0xE390 0x8FAE #CJK UNIFIED IDEOGRAPH +0xE391 0x7E7F #CJK UNIFIED IDEOGRAPH +0xE392 0x7E88 #CJK UNIFIED IDEOGRAPH +0xE393 0x7E89 #CJK UNIFIED IDEOGRAPH +0xE394 0x7E8C #CJK UNIFIED IDEOGRAPH +0xE395 0x7E92 #CJK UNIFIED IDEOGRAPH +0xE396 0x7E90 #CJK UNIFIED IDEOGRAPH +0xE397 0x7E93 #CJK UNIFIED IDEOGRAPH +0xE398 0x7E94 #CJK UNIFIED IDEOGRAPH +0xE399 0x7E96 #CJK UNIFIED IDEOGRAPH +0xE39A 0x7E8E #CJK UNIFIED IDEOGRAPH +0xE39B 0x7E9B #CJK UNIFIED IDEOGRAPH +0xE39C 0x7E9C #CJK UNIFIED IDEOGRAPH +0xE39D 0x7F38 #CJK UNIFIED IDEOGRAPH +0xE39E 0x7F3A #CJK UNIFIED IDEOGRAPH +0xE39F 0x7F45 #CJK UNIFIED IDEOGRAPH +0xE3A0 0x7F4C #CJK UNIFIED IDEOGRAPH +0xE3A1 0x7F4D #CJK UNIFIED IDEOGRAPH +0xE3A2 0x7F4E #CJK UNIFIED IDEOGRAPH +0xE3A3 0x7F50 #CJK UNIFIED IDEOGRAPH +0xE3A4 0x7F51 #CJK UNIFIED IDEOGRAPH +0xE3A5 0x7F55 #CJK UNIFIED IDEOGRAPH +0xE3A6 0x7F54 #CJK UNIFIED IDEOGRAPH +0xE3A7 0x7F58 #CJK UNIFIED IDEOGRAPH +0xE3A8 0x7F5F #CJK UNIFIED IDEOGRAPH +0xE3A9 0x7F60 #CJK UNIFIED IDEOGRAPH +0xE3AA 0x7F68 #CJK UNIFIED IDEOGRAPH +0xE3AB 0x7F69 #CJK UNIFIED IDEOGRAPH +0xE3AC 0x7F67 #CJK UNIFIED IDEOGRAPH +0xE3AD 0x7F78 #CJK UNIFIED IDEOGRAPH +0xE3AE 0x7F82 #CJK UNIFIED IDEOGRAPH +0xE3AF 0x7F86 #CJK UNIFIED IDEOGRAPH +0xE3B0 0x7F83 #CJK UNIFIED IDEOGRAPH +0xE3B1 0x7F88 #CJK UNIFIED IDEOGRAPH +0xE3B2 0x7F87 #CJK UNIFIED IDEOGRAPH +0xE3B3 0x7F8C #CJK UNIFIED IDEOGRAPH +0xE3B4 0x7F94 #CJK UNIFIED IDEOGRAPH +0xE3B5 0x7F9E #CJK UNIFIED IDEOGRAPH +0xE3B6 0x7F9D #CJK UNIFIED IDEOGRAPH +0xE3B7 0x7F9A #CJK UNIFIED IDEOGRAPH +0xE3B8 0x7FA3 #CJK UNIFIED IDEOGRAPH +0xE3B9 0x7FAF #CJK UNIFIED IDEOGRAPH +0xE3BA 0x7FB2 #CJK UNIFIED IDEOGRAPH +0xE3BB 0x7FB9 #CJK UNIFIED IDEOGRAPH +0xE3BC 0x7FAE #CJK UNIFIED IDEOGRAPH +0xE3BD 0x7FB6 #CJK UNIFIED IDEOGRAPH +0xE3BE 0x7FB8 #CJK UNIFIED IDEOGRAPH +0xE3BF 0x8B71 #CJK UNIFIED IDEOGRAPH +0xE3C0 0x7FC5 #CJK UNIFIED IDEOGRAPH +0xE3C1 0x7FC6 #CJK UNIFIED IDEOGRAPH +0xE3C2 0x7FCA #CJK UNIFIED IDEOGRAPH +0xE3C3 0x7FD5 #CJK UNIFIED IDEOGRAPH +0xE3C4 0x7FD4 #CJK UNIFIED IDEOGRAPH +0xE3C5 0x7FE1 #CJK UNIFIED IDEOGRAPH +0xE3C6 0x7FE6 #CJK UNIFIED IDEOGRAPH +0xE3C7 0x7FE9 #CJK UNIFIED IDEOGRAPH +0xE3C8 0x7FF3 #CJK UNIFIED IDEOGRAPH +0xE3C9 0x7FF9 #CJK UNIFIED IDEOGRAPH +0xE3CA 0x98DC #CJK UNIFIED IDEOGRAPH +0xE3CB 0x8006 #CJK UNIFIED IDEOGRAPH +0xE3CC 0x8004 #CJK UNIFIED IDEOGRAPH +0xE3CD 0x800B #CJK UNIFIED IDEOGRAPH +0xE3CE 0x8012 #CJK UNIFIED IDEOGRAPH +0xE3CF 0x8018 #CJK UNIFIED IDEOGRAPH +0xE3D0 0x8019 #CJK UNIFIED IDEOGRAPH +0xE3D1 0x801C #CJK UNIFIED IDEOGRAPH +0xE3D2 0x8021 #CJK UNIFIED IDEOGRAPH +0xE3D3 0x8028 #CJK UNIFIED IDEOGRAPH +0xE3D4 0x803F #CJK UNIFIED IDEOGRAPH +0xE3D5 0x803B #CJK UNIFIED IDEOGRAPH +0xE3D6 0x804A #CJK UNIFIED IDEOGRAPH +0xE3D7 0x8046 #CJK UNIFIED IDEOGRAPH +0xE3D8 0x8052 #CJK UNIFIED IDEOGRAPH +0xE3D9 0x8058 #CJK UNIFIED IDEOGRAPH +0xE3DA 0x805A #CJK UNIFIED IDEOGRAPH +0xE3DB 0x805F #CJK UNIFIED IDEOGRAPH +0xE3DC 0x8062 #CJK UNIFIED IDEOGRAPH +0xE3DD 0x8068 #CJK UNIFIED IDEOGRAPH +0xE3DE 0x8073 #CJK UNIFIED IDEOGRAPH +0xE3DF 0x8072 #CJK UNIFIED IDEOGRAPH +0xE3E0 0x8070 #CJK UNIFIED IDEOGRAPH +0xE3E1 0x8076 #CJK UNIFIED IDEOGRAPH +0xE3E2 0x8079 #CJK UNIFIED IDEOGRAPH +0xE3E3 0x807D #CJK UNIFIED IDEOGRAPH +0xE3E4 0x807F #CJK UNIFIED IDEOGRAPH +0xE3E5 0x8084 #CJK UNIFIED IDEOGRAPH +0xE3E6 0x8086 #CJK UNIFIED IDEOGRAPH +0xE3E7 0x8085 #CJK UNIFIED IDEOGRAPH +0xE3E8 0x809B #CJK UNIFIED IDEOGRAPH +0xE3E9 0x8093 #CJK UNIFIED IDEOGRAPH +0xE3EA 0x809A #CJK UNIFIED IDEOGRAPH +0xE3EB 0x80AD #CJK UNIFIED IDEOGRAPH +0xE3EC 0x5190 #CJK UNIFIED IDEOGRAPH +0xE3ED 0x80AC #CJK UNIFIED IDEOGRAPH +0xE3EE 0x80DB #CJK UNIFIED IDEOGRAPH +0xE3EF 0x80E5 #CJK UNIFIED IDEOGRAPH +0xE3F0 0x80D9 #CJK UNIFIED IDEOGRAPH +0xE3F1 0x80DD #CJK UNIFIED IDEOGRAPH +0xE3F2 0x80C4 #CJK UNIFIED IDEOGRAPH +0xE3F3 0x80DA #CJK UNIFIED IDEOGRAPH +0xE3F4 0x80D6 #CJK UNIFIED IDEOGRAPH +0xE3F5 0x8109 #CJK UNIFIED IDEOGRAPH +0xE3F6 0x80EF #CJK UNIFIED IDEOGRAPH +0xE3F7 0x80F1 #CJK UNIFIED IDEOGRAPH +0xE3F8 0x811B #CJK UNIFIED IDEOGRAPH +0xE3F9 0x8129 #CJK UNIFIED IDEOGRAPH +0xE3FA 0x8123 #CJK UNIFIED IDEOGRAPH +0xE3FB 0x812F #CJK UNIFIED IDEOGRAPH +0xE3FC 0x814B #CJK UNIFIED IDEOGRAPH +0xE440 0x968B #CJK UNIFIED IDEOGRAPH +0xE441 0x8146 #CJK UNIFIED IDEOGRAPH +0xE442 0x813E #CJK UNIFIED IDEOGRAPH +0xE443 0x8153 #CJK UNIFIED IDEOGRAPH +0xE444 0x8151 #CJK UNIFIED IDEOGRAPH +0xE445 0x80FC #CJK UNIFIED IDEOGRAPH +0xE446 0x8171 #CJK UNIFIED IDEOGRAPH +0xE447 0x816E #CJK UNIFIED IDEOGRAPH +0xE448 0x8165 #CJK UNIFIED IDEOGRAPH +0xE449 0x8166 #CJK UNIFIED IDEOGRAPH +0xE44A 0x8174 #CJK UNIFIED IDEOGRAPH +0xE44B 0x8183 #CJK UNIFIED IDEOGRAPH +0xE44C 0x8188 #CJK UNIFIED IDEOGRAPH +0xE44D 0x818A #CJK UNIFIED IDEOGRAPH +0xE44E 0x8180 #CJK UNIFIED IDEOGRAPH +0xE44F 0x8182 #CJK UNIFIED IDEOGRAPH +0xE450 0x81A0 #CJK UNIFIED IDEOGRAPH +0xE451 0x8195 #CJK UNIFIED IDEOGRAPH +0xE452 0x81A4 #CJK UNIFIED IDEOGRAPH +0xE453 0x81A3 #CJK UNIFIED IDEOGRAPH +0xE454 0x815F #CJK UNIFIED IDEOGRAPH +0xE455 0x8193 #CJK UNIFIED IDEOGRAPH +0xE456 0x81A9 #CJK UNIFIED IDEOGRAPH +0xE457 0x81B0 #CJK UNIFIED IDEOGRAPH +0xE458 0x81B5 #CJK UNIFIED IDEOGRAPH +0xE459 0x81BE #CJK UNIFIED IDEOGRAPH +0xE45A 0x81B8 #CJK UNIFIED IDEOGRAPH +0xE45B 0x81BD #CJK UNIFIED IDEOGRAPH +0xE45C 0x81C0 #CJK UNIFIED IDEOGRAPH +0xE45D 0x81C2 #CJK UNIFIED IDEOGRAPH +0xE45E 0x81BA #CJK UNIFIED IDEOGRAPH +0xE45F 0x81C9 #CJK UNIFIED IDEOGRAPH +0xE460 0x81CD #CJK UNIFIED IDEOGRAPH +0xE461 0x81D1 #CJK UNIFIED IDEOGRAPH +0xE462 0x81D9 #CJK UNIFIED IDEOGRAPH +0xE463 0x81D8 #CJK UNIFIED IDEOGRAPH +0xE464 0x81C8 #CJK UNIFIED IDEOGRAPH +0xE465 0x81DA #CJK UNIFIED IDEOGRAPH +0xE466 0x81DF #CJK UNIFIED IDEOGRAPH +0xE467 0x81E0 #CJK UNIFIED IDEOGRAPH +0xE468 0x81E7 #CJK UNIFIED IDEOGRAPH +0xE469 0x81FA #CJK UNIFIED IDEOGRAPH +0xE46A 0x81FB #CJK UNIFIED IDEOGRAPH +0xE46B 0x81FE #CJK UNIFIED IDEOGRAPH +0xE46C 0x8201 #CJK UNIFIED IDEOGRAPH +0xE46D 0x8202 #CJK UNIFIED IDEOGRAPH +0xE46E 0x8205 #CJK UNIFIED IDEOGRAPH +0xE46F 0x8207 #CJK UNIFIED IDEOGRAPH +0xE470 0x820A #CJK UNIFIED IDEOGRAPH +0xE471 0x820D #CJK UNIFIED IDEOGRAPH +0xE472 0x8210 #CJK UNIFIED IDEOGRAPH +0xE473 0x8216 #CJK UNIFIED IDEOGRAPH +0xE474 0x8229 #CJK UNIFIED IDEOGRAPH +0xE475 0x822B #CJK UNIFIED IDEOGRAPH +0xE476 0x8238 #CJK UNIFIED IDEOGRAPH +0xE477 0x8233 #CJK UNIFIED IDEOGRAPH +0xE478 0x8240 #CJK UNIFIED IDEOGRAPH +0xE479 0x8259 #CJK UNIFIED IDEOGRAPH +0xE47A 0x8258 #CJK UNIFIED IDEOGRAPH +0xE47B 0x825D #CJK UNIFIED IDEOGRAPH +0xE47C 0x825A #CJK UNIFIED IDEOGRAPH +0xE47D 0x825F #CJK UNIFIED IDEOGRAPH +0xE47E 0x8264 #CJK UNIFIED IDEOGRAPH +0xE480 0x8262 #CJK UNIFIED IDEOGRAPH +0xE481 0x8268 #CJK UNIFIED IDEOGRAPH +0xE482 0x826A #CJK UNIFIED IDEOGRAPH +0xE483 0x826B #CJK UNIFIED IDEOGRAPH +0xE484 0x822E #CJK UNIFIED IDEOGRAPH +0xE485 0x8271 #CJK UNIFIED IDEOGRAPH +0xE486 0x8277 #CJK UNIFIED IDEOGRAPH +0xE487 0x8278 #CJK UNIFIED IDEOGRAPH +0xE488 0x827E #CJK UNIFIED IDEOGRAPH +0xE489 0x828D #CJK UNIFIED IDEOGRAPH +0xE48A 0x8292 #CJK UNIFIED IDEOGRAPH +0xE48B 0x82AB #CJK UNIFIED IDEOGRAPH +0xE48C 0x829F #CJK UNIFIED IDEOGRAPH +0xE48D 0x82BB #CJK UNIFIED IDEOGRAPH +0xE48E 0x82AC #CJK UNIFIED IDEOGRAPH +0xE48F 0x82E1 #CJK UNIFIED IDEOGRAPH +0xE490 0x82E3 #CJK UNIFIED IDEOGRAPH +0xE491 0x82DF #CJK UNIFIED IDEOGRAPH +0xE492 0x82D2 #CJK UNIFIED IDEOGRAPH +0xE493 0x82F4 #CJK UNIFIED IDEOGRAPH +0xE494 0x82F3 #CJK UNIFIED IDEOGRAPH +0xE495 0x82FA #CJK UNIFIED IDEOGRAPH +0xE496 0x8393 #CJK UNIFIED IDEOGRAPH +0xE497 0x8303 #CJK UNIFIED IDEOGRAPH +0xE498 0x82FB #CJK UNIFIED IDEOGRAPH +0xE499 0x82F9 #CJK UNIFIED IDEOGRAPH +0xE49A 0x82DE #CJK UNIFIED IDEOGRAPH +0xE49B 0x8306 #CJK UNIFIED IDEOGRAPH +0xE49C 0x82DC #CJK UNIFIED IDEOGRAPH +0xE49D 0x8309 #CJK UNIFIED IDEOGRAPH +0xE49E 0x82D9 #CJK UNIFIED IDEOGRAPH +0xE49F 0x8335 #CJK UNIFIED IDEOGRAPH +0xE4A0 0x8334 #CJK UNIFIED IDEOGRAPH +0xE4A1 0x8316 #CJK UNIFIED IDEOGRAPH +0xE4A2 0x8332 #CJK UNIFIED IDEOGRAPH +0xE4A3 0x8331 #CJK UNIFIED IDEOGRAPH +0xE4A4 0x8340 #CJK UNIFIED IDEOGRAPH +0xE4A5 0x8339 #CJK UNIFIED IDEOGRAPH +0xE4A6 0x8350 #CJK UNIFIED IDEOGRAPH +0xE4A7 0x8345 #CJK UNIFIED IDEOGRAPH +0xE4A8 0x832F #CJK UNIFIED IDEOGRAPH +0xE4A9 0x832B #CJK UNIFIED IDEOGRAPH +0xE4AA 0x8317 #CJK UNIFIED IDEOGRAPH +0xE4AB 0x8318 #CJK UNIFIED IDEOGRAPH +0xE4AC 0x8385 #CJK UNIFIED IDEOGRAPH +0xE4AD 0x839A #CJK UNIFIED IDEOGRAPH +0xE4AE 0x83AA #CJK UNIFIED IDEOGRAPH +0xE4AF 0x839F #CJK UNIFIED IDEOGRAPH +0xE4B0 0x83A2 #CJK UNIFIED IDEOGRAPH +0xE4B1 0x8396 #CJK UNIFIED IDEOGRAPH +0xE4B2 0x8323 #CJK UNIFIED IDEOGRAPH +0xE4B3 0x838E #CJK UNIFIED IDEOGRAPH +0xE4B4 0x8387 #CJK UNIFIED IDEOGRAPH +0xE4B5 0x838A #CJK UNIFIED IDEOGRAPH +0xE4B6 0x837C #CJK UNIFIED IDEOGRAPH +0xE4B7 0x83B5 #CJK UNIFIED IDEOGRAPH +0xE4B8 0x8373 #CJK UNIFIED IDEOGRAPH +0xE4B9 0x8375 #CJK UNIFIED IDEOGRAPH +0xE4BA 0x83A0 #CJK UNIFIED IDEOGRAPH +0xE4BB 0x8389 #CJK UNIFIED IDEOGRAPH +0xE4BC 0x83A8 #CJK UNIFIED IDEOGRAPH +0xE4BD 0x83F4 #CJK UNIFIED IDEOGRAPH +0xE4BE 0x8413 #CJK UNIFIED IDEOGRAPH +0xE4BF 0x83EB #CJK UNIFIED IDEOGRAPH +0xE4C0 0x83CE #CJK UNIFIED IDEOGRAPH +0xE4C1 0x83FD #CJK UNIFIED IDEOGRAPH +0xE4C2 0x8403 #CJK UNIFIED IDEOGRAPH +0xE4C3 0x83D8 #CJK UNIFIED IDEOGRAPH +0xE4C4 0x840B #CJK UNIFIED IDEOGRAPH +0xE4C5 0x83C1 #CJK UNIFIED IDEOGRAPH +0xE4C6 0x83F7 #CJK UNIFIED IDEOGRAPH +0xE4C7 0x8407 #CJK UNIFIED IDEOGRAPH +0xE4C8 0x83E0 #CJK UNIFIED IDEOGRAPH +0xE4C9 0x83F2 #CJK UNIFIED IDEOGRAPH +0xE4CA 0x840D #CJK UNIFIED IDEOGRAPH +0xE4CB 0x8422 #CJK UNIFIED IDEOGRAPH +0xE4CC 0x8420 #CJK UNIFIED IDEOGRAPH +0xE4CD 0x83BD #CJK UNIFIED IDEOGRAPH +0xE4CE 0x8438 #CJK UNIFIED IDEOGRAPH +0xE4CF 0x8506 #CJK UNIFIED IDEOGRAPH +0xE4D0 0x83FB #CJK UNIFIED IDEOGRAPH +0xE4D1 0x846D #CJK UNIFIED IDEOGRAPH +0xE4D2 0x842A #CJK UNIFIED IDEOGRAPH +0xE4D3 0x843C #CJK UNIFIED IDEOGRAPH +0xE4D4 0x855A #CJK UNIFIED IDEOGRAPH +0xE4D5 0x8484 #CJK UNIFIED IDEOGRAPH +0xE4D6 0x8477 #CJK UNIFIED IDEOGRAPH +0xE4D7 0x846B #CJK UNIFIED IDEOGRAPH +0xE4D8 0x84AD #CJK UNIFIED IDEOGRAPH +0xE4D9 0x846E #CJK UNIFIED IDEOGRAPH +0xE4DA 0x8482 #CJK UNIFIED IDEOGRAPH +0xE4DB 0x8469 #CJK UNIFIED IDEOGRAPH +0xE4DC 0x8446 #CJK UNIFIED IDEOGRAPH +0xE4DD 0x842C #CJK UNIFIED IDEOGRAPH +0xE4DE 0x846F #CJK UNIFIED IDEOGRAPH +0xE4DF 0x8479 #CJK UNIFIED IDEOGRAPH +0xE4E0 0x8435 #CJK UNIFIED IDEOGRAPH +0xE4E1 0x84CA #CJK UNIFIED IDEOGRAPH +0xE4E2 0x8462 #CJK UNIFIED IDEOGRAPH +0xE4E3 0x84B9 #CJK UNIFIED IDEOGRAPH +0xE4E4 0x84BF #CJK UNIFIED IDEOGRAPH +0xE4E5 0x849F #CJK UNIFIED IDEOGRAPH +0xE4E6 0x84D9 #CJK UNIFIED IDEOGRAPH +0xE4E7 0x84CD #CJK UNIFIED IDEOGRAPH +0xE4E8 0x84BB #CJK UNIFIED IDEOGRAPH +0xE4E9 0x84DA #CJK UNIFIED IDEOGRAPH +0xE4EA 0x84D0 #CJK UNIFIED IDEOGRAPH +0xE4EB 0x84C1 #CJK UNIFIED IDEOGRAPH +0xE4EC 0x84C6 #CJK UNIFIED IDEOGRAPH +0xE4ED 0x84D6 #CJK UNIFIED IDEOGRAPH +0xE4EE 0x84A1 #CJK UNIFIED IDEOGRAPH +0xE4EF 0x8521 #CJK UNIFIED IDEOGRAPH +0xE4F0 0x84FF #CJK UNIFIED IDEOGRAPH +0xE4F1 0x84F4 #CJK UNIFIED IDEOGRAPH +0xE4F2 0x8517 #CJK UNIFIED IDEOGRAPH +0xE4F3 0x8518 #CJK UNIFIED IDEOGRAPH +0xE4F4 0x852C #CJK UNIFIED IDEOGRAPH +0xE4F5 0x851F #CJK UNIFIED IDEOGRAPH +0xE4F6 0x8515 #CJK UNIFIED IDEOGRAPH +0xE4F7 0x8514 #CJK UNIFIED IDEOGRAPH +0xE4F8 0x84FC #CJK UNIFIED IDEOGRAPH +0xE4F9 0x8540 #CJK UNIFIED IDEOGRAPH +0xE4FA 0x8563 #CJK UNIFIED IDEOGRAPH +0xE4FB 0x8558 #CJK UNIFIED IDEOGRAPH +0xE4FC 0x8548 #CJK UNIFIED IDEOGRAPH +0xE540 0x8541 #CJK UNIFIED IDEOGRAPH +0xE541 0x8602 #CJK UNIFIED IDEOGRAPH +0xE542 0x854B #CJK UNIFIED IDEOGRAPH +0xE543 0x8555 #CJK UNIFIED IDEOGRAPH +0xE544 0x8580 #CJK UNIFIED IDEOGRAPH +0xE545 0x85A4 #CJK UNIFIED IDEOGRAPH +0xE546 0x8588 #CJK UNIFIED IDEOGRAPH +0xE547 0x8591 #CJK UNIFIED IDEOGRAPH +0xE548 0x858A #CJK UNIFIED IDEOGRAPH +0xE549 0x85A8 #CJK UNIFIED IDEOGRAPH +0xE54A 0x856D #CJK UNIFIED IDEOGRAPH +0xE54B 0x8594 #CJK UNIFIED IDEOGRAPH +0xE54C 0x859B #CJK UNIFIED IDEOGRAPH +0xE54D 0x85EA #CJK UNIFIED IDEOGRAPH +0xE54E 0x8587 #CJK UNIFIED IDEOGRAPH +0xE54F 0x859C #CJK UNIFIED IDEOGRAPH +0xE550 0x8577 #CJK UNIFIED IDEOGRAPH +0xE551 0x857E #CJK UNIFIED IDEOGRAPH +0xE552 0x8590 #CJK UNIFIED IDEOGRAPH +0xE553 0x85C9 #CJK UNIFIED IDEOGRAPH +0xE554 0x85BA #CJK UNIFIED IDEOGRAPH +0xE555 0x85CF #CJK UNIFIED IDEOGRAPH +0xE556 0x85B9 #CJK UNIFIED IDEOGRAPH +0xE557 0x85D0 #CJK UNIFIED IDEOGRAPH +0xE558 0x85D5 #CJK UNIFIED IDEOGRAPH +0xE559 0x85DD #CJK UNIFIED IDEOGRAPH +0xE55A 0x85E5 #CJK UNIFIED IDEOGRAPH +0xE55B 0x85DC #CJK UNIFIED IDEOGRAPH +0xE55C 0x85F9 #CJK UNIFIED IDEOGRAPH +0xE55D 0x860A #CJK UNIFIED IDEOGRAPH +0xE55E 0x8613 #CJK UNIFIED IDEOGRAPH +0xE55F 0x860B #CJK UNIFIED IDEOGRAPH +0xE560 0x85FE #CJK UNIFIED IDEOGRAPH +0xE561 0x85FA #CJK UNIFIED IDEOGRAPH +0xE562 0x8606 #CJK UNIFIED IDEOGRAPH +0xE563 0x8622 #CJK UNIFIED IDEOGRAPH +0xE564 0x861A #CJK UNIFIED IDEOGRAPH +0xE565 0x8630 #CJK UNIFIED IDEOGRAPH +0xE566 0x863F #CJK UNIFIED IDEOGRAPH +0xE567 0x864D #CJK UNIFIED IDEOGRAPH +0xE568 0x4E55 #CJK UNIFIED IDEOGRAPH +0xE569 0x8654 #CJK UNIFIED IDEOGRAPH +0xE56A 0x865F #CJK UNIFIED IDEOGRAPH +0xE56B 0x8667 #CJK UNIFIED IDEOGRAPH +0xE56C 0x8671 #CJK UNIFIED IDEOGRAPH +0xE56D 0x8693 #CJK UNIFIED IDEOGRAPH +0xE56E 0x86A3 #CJK UNIFIED IDEOGRAPH +0xE56F 0x86A9 #CJK UNIFIED IDEOGRAPH +0xE570 0x86AA #CJK UNIFIED IDEOGRAPH +0xE571 0x868B #CJK UNIFIED IDEOGRAPH +0xE572 0x868C #CJK UNIFIED IDEOGRAPH +0xE573 0x86B6 #CJK UNIFIED IDEOGRAPH +0xE574 0x86AF #CJK UNIFIED IDEOGRAPH +0xE575 0x86C4 #CJK UNIFIED IDEOGRAPH +0xE576 0x86C6 #CJK UNIFIED IDEOGRAPH +0xE577 0x86B0 #CJK UNIFIED IDEOGRAPH +0xE578 0x86C9 #CJK UNIFIED IDEOGRAPH +0xE579 0x8823 #CJK UNIFIED IDEOGRAPH +0xE57A 0x86AB #CJK UNIFIED IDEOGRAPH +0xE57B 0x86D4 #CJK UNIFIED IDEOGRAPH +0xE57C 0x86DE #CJK UNIFIED IDEOGRAPH +0xE57D 0x86E9 #CJK UNIFIED IDEOGRAPH +0xE57E 0x86EC #CJK UNIFIED IDEOGRAPH +0xE580 0x86DF #CJK UNIFIED IDEOGRAPH +0xE581 0x86DB #CJK UNIFIED IDEOGRAPH +0xE582 0x86EF #CJK UNIFIED IDEOGRAPH +0xE583 0x8712 #CJK UNIFIED IDEOGRAPH +0xE584 0x8706 #CJK UNIFIED IDEOGRAPH +0xE585 0x8708 #CJK UNIFIED IDEOGRAPH +0xE586 0x8700 #CJK UNIFIED IDEOGRAPH +0xE587 0x8703 #CJK UNIFIED IDEOGRAPH +0xE588 0x86FB #CJK UNIFIED IDEOGRAPH +0xE589 0x8711 #CJK UNIFIED IDEOGRAPH +0xE58A 0x8709 #CJK UNIFIED IDEOGRAPH +0xE58B 0x870D #CJK UNIFIED IDEOGRAPH +0xE58C 0x86F9 #CJK UNIFIED IDEOGRAPH +0xE58D 0x870A #CJK UNIFIED IDEOGRAPH +0xE58E 0x8734 #CJK UNIFIED IDEOGRAPH +0xE58F 0x873F #CJK UNIFIED IDEOGRAPH +0xE590 0x8737 #CJK UNIFIED IDEOGRAPH +0xE591 0x873B #CJK UNIFIED IDEOGRAPH +0xE592 0x8725 #CJK UNIFIED IDEOGRAPH +0xE593 0x8729 #CJK UNIFIED IDEOGRAPH +0xE594 0x871A #CJK UNIFIED IDEOGRAPH +0xE595 0x8760 #CJK UNIFIED IDEOGRAPH +0xE596 0x875F #CJK UNIFIED IDEOGRAPH +0xE597 0x8778 #CJK UNIFIED IDEOGRAPH +0xE598 0x874C #CJK UNIFIED IDEOGRAPH +0xE599 0x874E #CJK UNIFIED IDEOGRAPH +0xE59A 0x8774 #CJK UNIFIED IDEOGRAPH +0xE59B 0x8757 #CJK UNIFIED IDEOGRAPH +0xE59C 0x8768 #CJK UNIFIED IDEOGRAPH +0xE59D 0x876E #CJK UNIFIED IDEOGRAPH +0xE59E 0x8759 #CJK UNIFIED IDEOGRAPH +0xE59F 0x8753 #CJK UNIFIED IDEOGRAPH +0xE5A0 0x8763 #CJK UNIFIED IDEOGRAPH +0xE5A1 0x876A #CJK UNIFIED IDEOGRAPH +0xE5A2 0x8805 #CJK UNIFIED IDEOGRAPH +0xE5A3 0x87A2 #CJK UNIFIED IDEOGRAPH +0xE5A4 0x879F #CJK UNIFIED IDEOGRAPH +0xE5A5 0x8782 #CJK UNIFIED IDEOGRAPH +0xE5A6 0x87AF #CJK UNIFIED IDEOGRAPH +0xE5A7 0x87CB #CJK UNIFIED IDEOGRAPH +0xE5A8 0x87BD #CJK UNIFIED IDEOGRAPH +0xE5A9 0x87C0 #CJK UNIFIED IDEOGRAPH +0xE5AA 0x87D0 #CJK UNIFIED IDEOGRAPH +0xE5AB 0x96D6 #CJK UNIFIED IDEOGRAPH +0xE5AC 0x87AB #CJK UNIFIED IDEOGRAPH +0xE5AD 0x87C4 #CJK UNIFIED IDEOGRAPH +0xE5AE 0x87B3 #CJK UNIFIED IDEOGRAPH +0xE5AF 0x87C7 #CJK UNIFIED IDEOGRAPH +0xE5B0 0x87C6 #CJK UNIFIED IDEOGRAPH +0xE5B1 0x87BB #CJK UNIFIED IDEOGRAPH +0xE5B2 0x87EF #CJK UNIFIED IDEOGRAPH +0xE5B3 0x87F2 #CJK UNIFIED IDEOGRAPH +0xE5B4 0x87E0 #CJK UNIFIED IDEOGRAPH +0xE5B5 0x880F #CJK UNIFIED IDEOGRAPH +0xE5B6 0x880D #CJK UNIFIED IDEOGRAPH +0xE5B7 0x87FE #CJK UNIFIED IDEOGRAPH +0xE5B8 0x87F6 #CJK UNIFIED IDEOGRAPH +0xE5B9 0x87F7 #CJK UNIFIED IDEOGRAPH +0xE5BA 0x880E #CJK UNIFIED IDEOGRAPH +0xE5BB 0x87D2 #CJK UNIFIED IDEOGRAPH +0xE5BC 0x8811 #CJK UNIFIED IDEOGRAPH +0xE5BD 0x8816 #CJK UNIFIED IDEOGRAPH +0xE5BE 0x8815 #CJK UNIFIED IDEOGRAPH +0xE5BF 0x8822 #CJK UNIFIED IDEOGRAPH +0xE5C0 0x8821 #CJK UNIFIED IDEOGRAPH +0xE5C1 0x8831 #CJK UNIFIED IDEOGRAPH +0xE5C2 0x8836 #CJK UNIFIED IDEOGRAPH +0xE5C3 0x8839 #CJK UNIFIED IDEOGRAPH +0xE5C4 0x8827 #CJK UNIFIED IDEOGRAPH +0xE5C5 0x883B #CJK UNIFIED IDEOGRAPH +0xE5C6 0x8844 #CJK UNIFIED IDEOGRAPH +0xE5C7 0x8842 #CJK UNIFIED IDEOGRAPH +0xE5C8 0x8852 #CJK UNIFIED IDEOGRAPH +0xE5C9 0x8859 #CJK UNIFIED IDEOGRAPH +0xE5CA 0x885E #CJK UNIFIED IDEOGRAPH +0xE5CB 0x8862 #CJK UNIFIED IDEOGRAPH +0xE5CC 0x886B #CJK UNIFIED IDEOGRAPH +0xE5CD 0x8881 #CJK UNIFIED IDEOGRAPH +0xE5CE 0x887E #CJK UNIFIED IDEOGRAPH +0xE5CF 0x889E #CJK UNIFIED IDEOGRAPH +0xE5D0 0x8875 #CJK UNIFIED IDEOGRAPH +0xE5D1 0x887D #CJK UNIFIED IDEOGRAPH +0xE5D2 0x88B5 #CJK UNIFIED IDEOGRAPH +0xE5D3 0x8872 #CJK UNIFIED IDEOGRAPH +0xE5D4 0x8882 #CJK UNIFIED IDEOGRAPH +0xE5D5 0x8897 #CJK UNIFIED IDEOGRAPH +0xE5D6 0x8892 #CJK UNIFIED IDEOGRAPH +0xE5D7 0x88AE #CJK UNIFIED IDEOGRAPH +0xE5D8 0x8899 #CJK UNIFIED IDEOGRAPH +0xE5D9 0x88A2 #CJK UNIFIED IDEOGRAPH +0xE5DA 0x888D #CJK UNIFIED IDEOGRAPH +0xE5DB 0x88A4 #CJK UNIFIED IDEOGRAPH +0xE5DC 0x88B0 #CJK UNIFIED IDEOGRAPH +0xE5DD 0x88BF #CJK UNIFIED IDEOGRAPH +0xE5DE 0x88B1 #CJK UNIFIED IDEOGRAPH +0xE5DF 0x88C3 #CJK UNIFIED IDEOGRAPH +0xE5E0 0x88C4 #CJK UNIFIED IDEOGRAPH +0xE5E1 0x88D4 #CJK UNIFIED IDEOGRAPH +0xE5E2 0x88D8 #CJK UNIFIED IDEOGRAPH +0xE5E3 0x88D9 #CJK UNIFIED IDEOGRAPH +0xE5E4 0x88DD #CJK UNIFIED IDEOGRAPH +0xE5E5 0x88F9 #CJK UNIFIED IDEOGRAPH +0xE5E6 0x8902 #CJK UNIFIED IDEOGRAPH +0xE5E7 0x88FC #CJK UNIFIED IDEOGRAPH +0xE5E8 0x88F4 #CJK UNIFIED IDEOGRAPH +0xE5E9 0x88E8 #CJK UNIFIED IDEOGRAPH +0xE5EA 0x88F2 #CJK UNIFIED IDEOGRAPH +0xE5EB 0x8904 #CJK UNIFIED IDEOGRAPH +0xE5EC 0x890C #CJK UNIFIED IDEOGRAPH +0xE5ED 0x890A #CJK UNIFIED IDEOGRAPH +0xE5EE 0x8913 #CJK UNIFIED IDEOGRAPH +0xE5EF 0x8943 #CJK UNIFIED IDEOGRAPH +0xE5F0 0x891E #CJK UNIFIED IDEOGRAPH +0xE5F1 0x8925 #CJK UNIFIED IDEOGRAPH +0xE5F2 0x892A #CJK UNIFIED IDEOGRAPH +0xE5F3 0x892B #CJK UNIFIED IDEOGRAPH +0xE5F4 0x8941 #CJK UNIFIED IDEOGRAPH +0xE5F5 0x8944 #CJK UNIFIED IDEOGRAPH +0xE5F6 0x893B #CJK UNIFIED IDEOGRAPH +0xE5F7 0x8936 #CJK UNIFIED IDEOGRAPH +0xE5F8 0x8938 #CJK UNIFIED IDEOGRAPH +0xE5F9 0x894C #CJK UNIFIED IDEOGRAPH +0xE5FA 0x891D #CJK UNIFIED IDEOGRAPH +0xE5FB 0x8960 #CJK UNIFIED IDEOGRAPH +0xE5FC 0x895E #CJK UNIFIED IDEOGRAPH +0xE640 0x8966 #CJK UNIFIED IDEOGRAPH +0xE641 0x8964 #CJK UNIFIED IDEOGRAPH +0xE642 0x896D #CJK UNIFIED IDEOGRAPH +0xE643 0x896A #CJK UNIFIED IDEOGRAPH +0xE644 0x896F #CJK UNIFIED IDEOGRAPH +0xE645 0x8974 #CJK UNIFIED IDEOGRAPH +0xE646 0x8977 #CJK UNIFIED IDEOGRAPH +0xE647 0x897E #CJK UNIFIED IDEOGRAPH +0xE648 0x8983 #CJK UNIFIED IDEOGRAPH +0xE649 0x8988 #CJK UNIFIED IDEOGRAPH +0xE64A 0x898A #CJK UNIFIED IDEOGRAPH +0xE64B 0x8993 #CJK UNIFIED IDEOGRAPH +0xE64C 0x8998 #CJK UNIFIED IDEOGRAPH +0xE64D 0x89A1 #CJK UNIFIED IDEOGRAPH +0xE64E 0x89A9 #CJK UNIFIED IDEOGRAPH +0xE64F 0x89A6 #CJK UNIFIED IDEOGRAPH +0xE650 0x89AC #CJK UNIFIED IDEOGRAPH +0xE651 0x89AF #CJK UNIFIED IDEOGRAPH +0xE652 0x89B2 #CJK UNIFIED IDEOGRAPH +0xE653 0x89BA #CJK UNIFIED IDEOGRAPH +0xE654 0x89BD #CJK UNIFIED IDEOGRAPH +0xE655 0x89BF #CJK UNIFIED IDEOGRAPH +0xE656 0x89C0 #CJK UNIFIED IDEOGRAPH +0xE657 0x89DA #CJK UNIFIED IDEOGRAPH +0xE658 0x89DC #CJK UNIFIED IDEOGRAPH +0xE659 0x89DD #CJK UNIFIED IDEOGRAPH +0xE65A 0x89E7 #CJK UNIFIED IDEOGRAPH +0xE65B 0x89F4 #CJK UNIFIED IDEOGRAPH +0xE65C 0x89F8 #CJK UNIFIED IDEOGRAPH +0xE65D 0x8A03 #CJK UNIFIED IDEOGRAPH +0xE65E 0x8A16 #CJK UNIFIED IDEOGRAPH +0xE65F 0x8A10 #CJK UNIFIED IDEOGRAPH +0xE660 0x8A0C #CJK UNIFIED IDEOGRAPH +0xE661 0x8A1B #CJK UNIFIED IDEOGRAPH +0xE662 0x8A1D #CJK UNIFIED IDEOGRAPH +0xE663 0x8A25 #CJK UNIFIED IDEOGRAPH +0xE664 0x8A36 #CJK UNIFIED IDEOGRAPH +0xE665 0x8A41 #CJK UNIFIED IDEOGRAPH +0xE666 0x8A5B #CJK UNIFIED IDEOGRAPH +0xE667 0x8A52 #CJK UNIFIED IDEOGRAPH +0xE668 0x8A46 #CJK UNIFIED IDEOGRAPH +0xE669 0x8A48 #CJK UNIFIED IDEOGRAPH +0xE66A 0x8A7C #CJK UNIFIED IDEOGRAPH +0xE66B 0x8A6D #CJK UNIFIED IDEOGRAPH +0xE66C 0x8A6C #CJK UNIFIED IDEOGRAPH +0xE66D 0x8A62 #CJK UNIFIED IDEOGRAPH +0xE66E 0x8A85 #CJK UNIFIED IDEOGRAPH +0xE66F 0x8A82 #CJK UNIFIED IDEOGRAPH +0xE670 0x8A84 #CJK UNIFIED IDEOGRAPH +0xE671 0x8AA8 #CJK UNIFIED IDEOGRAPH +0xE672 0x8AA1 #CJK UNIFIED IDEOGRAPH +0xE673 0x8A91 #CJK UNIFIED IDEOGRAPH +0xE674 0x8AA5 #CJK UNIFIED IDEOGRAPH +0xE675 0x8AA6 #CJK UNIFIED IDEOGRAPH +0xE676 0x8A9A #CJK UNIFIED IDEOGRAPH +0xE677 0x8AA3 #CJK UNIFIED IDEOGRAPH +0xE678 0x8AC4 #CJK UNIFIED IDEOGRAPH +0xE679 0x8ACD #CJK UNIFIED IDEOGRAPH +0xE67A 0x8AC2 #CJK UNIFIED IDEOGRAPH +0xE67B 0x8ADA #CJK UNIFIED IDEOGRAPH +0xE67C 0x8AEB #CJK UNIFIED IDEOGRAPH +0xE67D 0x8AF3 #CJK UNIFIED IDEOGRAPH +0xE67E 0x8AE7 #CJK UNIFIED IDEOGRAPH +0xE680 0x8AE4 #CJK UNIFIED IDEOGRAPH +0xE681 0x8AF1 #CJK UNIFIED IDEOGRAPH +0xE682 0x8B14 #CJK UNIFIED IDEOGRAPH +0xE683 0x8AE0 #CJK UNIFIED IDEOGRAPH +0xE684 0x8AE2 #CJK UNIFIED IDEOGRAPH +0xE685 0x8AF7 #CJK UNIFIED IDEOGRAPH +0xE686 0x8ADE #CJK UNIFIED IDEOGRAPH +0xE687 0x8ADB #CJK UNIFIED IDEOGRAPH +0xE688 0x8B0C #CJK UNIFIED IDEOGRAPH +0xE689 0x8B07 #CJK UNIFIED IDEOGRAPH +0xE68A 0x8B1A #CJK UNIFIED IDEOGRAPH +0xE68B 0x8AE1 #CJK UNIFIED IDEOGRAPH +0xE68C 0x8B16 #CJK UNIFIED IDEOGRAPH +0xE68D 0x8B10 #CJK UNIFIED IDEOGRAPH +0xE68E 0x8B17 #CJK UNIFIED IDEOGRAPH +0xE68F 0x8B20 #CJK UNIFIED IDEOGRAPH +0xE690 0x8B33 #CJK UNIFIED IDEOGRAPH +0xE691 0x97AB #CJK UNIFIED IDEOGRAPH +0xE692 0x8B26 #CJK UNIFIED IDEOGRAPH +0xE693 0x8B2B #CJK UNIFIED IDEOGRAPH +0xE694 0x8B3E #CJK UNIFIED IDEOGRAPH +0xE695 0x8B28 #CJK UNIFIED IDEOGRAPH +0xE696 0x8B41 #CJK UNIFIED IDEOGRAPH +0xE697 0x8B4C #CJK UNIFIED IDEOGRAPH +0xE698 0x8B4F #CJK UNIFIED IDEOGRAPH +0xE699 0x8B4E #CJK UNIFIED IDEOGRAPH +0xE69A 0x8B49 #CJK UNIFIED IDEOGRAPH +0xE69B 0x8B56 #CJK UNIFIED IDEOGRAPH +0xE69C 0x8B5B #CJK UNIFIED IDEOGRAPH +0xE69D 0x8B5A #CJK UNIFIED IDEOGRAPH +0xE69E 0x8B6B #CJK UNIFIED IDEOGRAPH +0xE69F 0x8B5F #CJK UNIFIED IDEOGRAPH +0xE6A0 0x8B6C #CJK UNIFIED IDEOGRAPH +0xE6A1 0x8B6F #CJK UNIFIED IDEOGRAPH +0xE6A2 0x8B74 #CJK UNIFIED IDEOGRAPH +0xE6A3 0x8B7D #CJK UNIFIED IDEOGRAPH +0xE6A4 0x8B80 #CJK UNIFIED IDEOGRAPH +0xE6A5 0x8B8C #CJK UNIFIED IDEOGRAPH +0xE6A6 0x8B8E #CJK UNIFIED IDEOGRAPH +0xE6A7 0x8B92 #CJK UNIFIED IDEOGRAPH +0xE6A8 0x8B93 #CJK UNIFIED IDEOGRAPH +0xE6A9 0x8B96 #CJK UNIFIED IDEOGRAPH +0xE6AA 0x8B99 #CJK UNIFIED IDEOGRAPH +0xE6AB 0x8B9A #CJK UNIFIED IDEOGRAPH +0xE6AC 0x8C3A #CJK UNIFIED IDEOGRAPH +0xE6AD 0x8C41 #CJK UNIFIED IDEOGRAPH +0xE6AE 0x8C3F #CJK UNIFIED IDEOGRAPH +0xE6AF 0x8C48 #CJK UNIFIED IDEOGRAPH +0xE6B0 0x8C4C #CJK UNIFIED IDEOGRAPH +0xE6B1 0x8C4E #CJK UNIFIED IDEOGRAPH +0xE6B2 0x8C50 #CJK UNIFIED IDEOGRAPH +0xE6B3 0x8C55 #CJK UNIFIED IDEOGRAPH +0xE6B4 0x8C62 #CJK UNIFIED IDEOGRAPH +0xE6B5 0x8C6C #CJK UNIFIED IDEOGRAPH +0xE6B6 0x8C78 #CJK UNIFIED IDEOGRAPH +0xE6B7 0x8C7A #CJK UNIFIED IDEOGRAPH +0xE6B8 0x8C82 #CJK UNIFIED IDEOGRAPH +0xE6B9 0x8C89 #CJK UNIFIED IDEOGRAPH +0xE6BA 0x8C85 #CJK UNIFIED IDEOGRAPH +0xE6BB 0x8C8A #CJK UNIFIED IDEOGRAPH +0xE6BC 0x8C8D #CJK UNIFIED IDEOGRAPH +0xE6BD 0x8C8E #CJK UNIFIED IDEOGRAPH +0xE6BE 0x8C94 #CJK UNIFIED IDEOGRAPH +0xE6BF 0x8C7C #CJK UNIFIED IDEOGRAPH +0xE6C0 0x8C98 #CJK UNIFIED IDEOGRAPH +0xE6C1 0x621D #CJK UNIFIED IDEOGRAPH +0xE6C2 0x8CAD #CJK UNIFIED IDEOGRAPH +0xE6C3 0x8CAA #CJK UNIFIED IDEOGRAPH +0xE6C4 0x8CBD #CJK UNIFIED IDEOGRAPH +0xE6C5 0x8CB2 #CJK UNIFIED IDEOGRAPH +0xE6C6 0x8CB3 #CJK UNIFIED IDEOGRAPH +0xE6C7 0x8CAE #CJK UNIFIED IDEOGRAPH +0xE6C8 0x8CB6 #CJK UNIFIED IDEOGRAPH +0xE6C9 0x8CC8 #CJK UNIFIED IDEOGRAPH +0xE6CA 0x8CC1 #CJK UNIFIED IDEOGRAPH +0xE6CB 0x8CE4 #CJK UNIFIED IDEOGRAPH +0xE6CC 0x8CE3 #CJK UNIFIED IDEOGRAPH +0xE6CD 0x8CDA #CJK UNIFIED IDEOGRAPH +0xE6CE 0x8CFD #CJK UNIFIED IDEOGRAPH +0xE6CF 0x8CFA #CJK UNIFIED IDEOGRAPH +0xE6D0 0x8CFB #CJK UNIFIED IDEOGRAPH +0xE6D1 0x8D04 #CJK UNIFIED IDEOGRAPH +0xE6D2 0x8D05 #CJK UNIFIED IDEOGRAPH +0xE6D3 0x8D0A #CJK UNIFIED IDEOGRAPH +0xE6D4 0x8D07 #CJK UNIFIED IDEOGRAPH +0xE6D5 0x8D0F #CJK UNIFIED IDEOGRAPH +0xE6D6 0x8D0D #CJK UNIFIED IDEOGRAPH +0xE6D7 0x8D10 #CJK UNIFIED IDEOGRAPH +0xE6D8 0x9F4E #CJK UNIFIED IDEOGRAPH +0xE6D9 0x8D13 #CJK UNIFIED IDEOGRAPH +0xE6DA 0x8CCD #CJK UNIFIED IDEOGRAPH +0xE6DB 0x8D14 #CJK UNIFIED IDEOGRAPH +0xE6DC 0x8D16 #CJK UNIFIED IDEOGRAPH +0xE6DD 0x8D67 #CJK UNIFIED IDEOGRAPH +0xE6DE 0x8D6D #CJK UNIFIED IDEOGRAPH +0xE6DF 0x8D71 #CJK UNIFIED IDEOGRAPH +0xE6E0 0x8D73 #CJK UNIFIED IDEOGRAPH +0xE6E1 0x8D81 #CJK UNIFIED IDEOGRAPH +0xE6E2 0x8D99 #CJK UNIFIED IDEOGRAPH +0xE6E3 0x8DC2 #CJK UNIFIED IDEOGRAPH +0xE6E4 0x8DBE #CJK UNIFIED IDEOGRAPH +0xE6E5 0x8DBA #CJK UNIFIED IDEOGRAPH +0xE6E6 0x8DCF #CJK UNIFIED IDEOGRAPH +0xE6E7 0x8DDA #CJK UNIFIED IDEOGRAPH +0xE6E8 0x8DD6 #CJK UNIFIED IDEOGRAPH +0xE6E9 0x8DCC #CJK UNIFIED IDEOGRAPH +0xE6EA 0x8DDB #CJK UNIFIED IDEOGRAPH +0xE6EB 0x8DCB #CJK UNIFIED IDEOGRAPH +0xE6EC 0x8DEA #CJK UNIFIED IDEOGRAPH +0xE6ED 0x8DEB #CJK UNIFIED IDEOGRAPH +0xE6EE 0x8DDF #CJK UNIFIED IDEOGRAPH +0xE6EF 0x8DE3 #CJK UNIFIED IDEOGRAPH +0xE6F0 0x8DFC #CJK UNIFIED IDEOGRAPH +0xE6F1 0x8E08 #CJK UNIFIED IDEOGRAPH +0xE6F2 0x8E09 #CJK UNIFIED IDEOGRAPH +0xE6F3 0x8DFF #CJK UNIFIED IDEOGRAPH +0xE6F4 0x8E1D #CJK UNIFIED IDEOGRAPH +0xE6F5 0x8E1E #CJK UNIFIED IDEOGRAPH +0xE6F6 0x8E10 #CJK UNIFIED IDEOGRAPH +0xE6F7 0x8E1F #CJK UNIFIED IDEOGRAPH +0xE6F8 0x8E42 #CJK UNIFIED IDEOGRAPH +0xE6F9 0x8E35 #CJK UNIFIED IDEOGRAPH +0xE6FA 0x8E30 #CJK UNIFIED IDEOGRAPH +0xE6FB 0x8E34 #CJK UNIFIED IDEOGRAPH +0xE6FC 0x8E4A #CJK UNIFIED IDEOGRAPH +0xE740 0x8E47 #CJK UNIFIED IDEOGRAPH +0xE741 0x8E49 #CJK UNIFIED IDEOGRAPH +0xE742 0x8E4C #CJK UNIFIED IDEOGRAPH +0xE743 0x8E50 #CJK UNIFIED IDEOGRAPH +0xE744 0x8E48 #CJK UNIFIED IDEOGRAPH +0xE745 0x8E59 #CJK UNIFIED IDEOGRAPH +0xE746 0x8E64 #CJK UNIFIED IDEOGRAPH +0xE747 0x8E60 #CJK UNIFIED IDEOGRAPH +0xE748 0x8E2A #CJK UNIFIED IDEOGRAPH +0xE749 0x8E63 #CJK UNIFIED IDEOGRAPH +0xE74A 0x8E55 #CJK UNIFIED IDEOGRAPH +0xE74B 0x8E76 #CJK UNIFIED IDEOGRAPH +0xE74C 0x8E72 #CJK UNIFIED IDEOGRAPH +0xE74D 0x8E7C #CJK UNIFIED IDEOGRAPH +0xE74E 0x8E81 #CJK UNIFIED IDEOGRAPH +0xE74F 0x8E87 #CJK UNIFIED IDEOGRAPH +0xE750 0x8E85 #CJK UNIFIED IDEOGRAPH +0xE751 0x8E84 #CJK UNIFIED IDEOGRAPH +0xE752 0x8E8B #CJK UNIFIED IDEOGRAPH +0xE753 0x8E8A #CJK UNIFIED IDEOGRAPH +0xE754 0x8E93 #CJK UNIFIED IDEOGRAPH +0xE755 0x8E91 #CJK UNIFIED IDEOGRAPH +0xE756 0x8E94 #CJK UNIFIED IDEOGRAPH +0xE757 0x8E99 #CJK UNIFIED IDEOGRAPH +0xE758 0x8EAA #CJK UNIFIED IDEOGRAPH +0xE759 0x8EA1 #CJK UNIFIED IDEOGRAPH +0xE75A 0x8EAC #CJK UNIFIED IDEOGRAPH +0xE75B 0x8EB0 #CJK UNIFIED IDEOGRAPH +0xE75C 0x8EC6 #CJK UNIFIED IDEOGRAPH +0xE75D 0x8EB1 #CJK UNIFIED IDEOGRAPH +0xE75E 0x8EBE #CJK UNIFIED IDEOGRAPH +0xE75F 0x8EC5 #CJK UNIFIED IDEOGRAPH +0xE760 0x8EC8 #CJK UNIFIED IDEOGRAPH +0xE761 0x8ECB #CJK UNIFIED IDEOGRAPH +0xE762 0x8EDB #CJK UNIFIED IDEOGRAPH +0xE763 0x8EE3 #CJK UNIFIED IDEOGRAPH +0xE764 0x8EFC #CJK UNIFIED IDEOGRAPH +0xE765 0x8EFB #CJK UNIFIED IDEOGRAPH +0xE766 0x8EEB #CJK UNIFIED IDEOGRAPH +0xE767 0x8EFE #CJK UNIFIED IDEOGRAPH +0xE768 0x8F0A #CJK UNIFIED IDEOGRAPH +0xE769 0x8F05 #CJK UNIFIED IDEOGRAPH +0xE76A 0x8F15 #CJK UNIFIED IDEOGRAPH +0xE76B 0x8F12 #CJK UNIFIED IDEOGRAPH +0xE76C 0x8F19 #CJK UNIFIED IDEOGRAPH +0xE76D 0x8F13 #CJK UNIFIED IDEOGRAPH +0xE76E 0x8F1C #CJK UNIFIED IDEOGRAPH +0xE76F 0x8F1F #CJK UNIFIED IDEOGRAPH +0xE770 0x8F1B #CJK UNIFIED IDEOGRAPH +0xE771 0x8F0C #CJK UNIFIED IDEOGRAPH +0xE772 0x8F26 #CJK UNIFIED IDEOGRAPH +0xE773 0x8F33 #CJK UNIFIED IDEOGRAPH +0xE774 0x8F3B #CJK UNIFIED IDEOGRAPH +0xE775 0x8F39 #CJK UNIFIED IDEOGRAPH +0xE776 0x8F45 #CJK UNIFIED IDEOGRAPH +0xE777 0x8F42 #CJK UNIFIED IDEOGRAPH +0xE778 0x8F3E #CJK UNIFIED IDEOGRAPH +0xE779 0x8F4C #CJK UNIFIED IDEOGRAPH +0xE77A 0x8F49 #CJK UNIFIED IDEOGRAPH +0xE77B 0x8F46 #CJK UNIFIED IDEOGRAPH +0xE77C 0x8F4E #CJK UNIFIED IDEOGRAPH +0xE77D 0x8F57 #CJK UNIFIED IDEOGRAPH +0xE77E 0x8F5C #CJK UNIFIED IDEOGRAPH +0xE780 0x8F62 #CJK UNIFIED IDEOGRAPH +0xE781 0x8F63 #CJK UNIFIED IDEOGRAPH +0xE782 0x8F64 #CJK UNIFIED IDEOGRAPH +0xE783 0x8F9C #CJK UNIFIED IDEOGRAPH +0xE784 0x8F9F #CJK UNIFIED IDEOGRAPH +0xE785 0x8FA3 #CJK UNIFIED IDEOGRAPH +0xE786 0x8FAD #CJK UNIFIED IDEOGRAPH +0xE787 0x8FAF #CJK UNIFIED IDEOGRAPH +0xE788 0x8FB7 #CJK UNIFIED IDEOGRAPH +0xE789 0x8FDA #CJK UNIFIED IDEOGRAPH +0xE78A 0x8FE5 #CJK UNIFIED IDEOGRAPH +0xE78B 0x8FE2 #CJK UNIFIED IDEOGRAPH +0xE78C 0x8FEA #CJK UNIFIED IDEOGRAPH +0xE78D 0x8FEF #CJK UNIFIED IDEOGRAPH +0xE78E 0x9087 #CJK UNIFIED IDEOGRAPH +0xE78F 0x8FF4 #CJK UNIFIED IDEOGRAPH +0xE790 0x9005 #CJK UNIFIED IDEOGRAPH +0xE791 0x8FF9 #CJK UNIFIED IDEOGRAPH +0xE792 0x8FFA #CJK UNIFIED IDEOGRAPH +0xE793 0x9011 #CJK UNIFIED IDEOGRAPH +0xE794 0x9015 #CJK UNIFIED IDEOGRAPH +0xE795 0x9021 #CJK UNIFIED IDEOGRAPH +0xE796 0x900D #CJK UNIFIED IDEOGRAPH +0xE797 0x901E #CJK UNIFIED IDEOGRAPH +0xE798 0x9016 #CJK UNIFIED IDEOGRAPH +0xE799 0x900B #CJK UNIFIED IDEOGRAPH +0xE79A 0x9027 #CJK UNIFIED IDEOGRAPH +0xE79B 0x9036 #CJK UNIFIED IDEOGRAPH +0xE79C 0x9035 #CJK UNIFIED IDEOGRAPH +0xE79D 0x9039 #CJK UNIFIED IDEOGRAPH +0xE79E 0x8FF8 #CJK UNIFIED IDEOGRAPH +0xE79F 0x904F #CJK UNIFIED IDEOGRAPH +0xE7A0 0x9050 #CJK UNIFIED IDEOGRAPH +0xE7A1 0x9051 #CJK UNIFIED IDEOGRAPH +0xE7A2 0x9052 #CJK UNIFIED IDEOGRAPH +0xE7A3 0x900E #CJK UNIFIED IDEOGRAPH +0xE7A4 0x9049 #CJK UNIFIED IDEOGRAPH +0xE7A5 0x903E #CJK UNIFIED IDEOGRAPH +0xE7A6 0x9056 #CJK UNIFIED IDEOGRAPH +0xE7A7 0x9058 #CJK UNIFIED IDEOGRAPH +0xE7A8 0x905E #CJK UNIFIED IDEOGRAPH +0xE7A9 0x9068 #CJK UNIFIED IDEOGRAPH +0xE7AA 0x906F #CJK UNIFIED IDEOGRAPH +0xE7AB 0x9076 #CJK UNIFIED IDEOGRAPH +0xE7AC 0x96A8 #CJK UNIFIED IDEOGRAPH +0xE7AD 0x9072 #CJK UNIFIED IDEOGRAPH +0xE7AE 0x9082 #CJK UNIFIED IDEOGRAPH +0xE7AF 0x907D #CJK UNIFIED IDEOGRAPH +0xE7B0 0x9081 #CJK UNIFIED IDEOGRAPH +0xE7B1 0x9080 #CJK UNIFIED IDEOGRAPH +0xE7B2 0x908A #CJK UNIFIED IDEOGRAPH +0xE7B3 0x9089 #CJK UNIFIED IDEOGRAPH +0xE7B4 0x908F #CJK UNIFIED IDEOGRAPH +0xE7B5 0x90A8 #CJK UNIFIED IDEOGRAPH +0xE7B6 0x90AF #CJK UNIFIED IDEOGRAPH +0xE7B7 0x90B1 #CJK UNIFIED IDEOGRAPH +0xE7B8 0x90B5 #CJK UNIFIED IDEOGRAPH +0xE7B9 0x90E2 #CJK UNIFIED IDEOGRAPH +0xE7BA 0x90E4 #CJK UNIFIED IDEOGRAPH +0xE7BB 0x6248 #CJK UNIFIED IDEOGRAPH +0xE7BC 0x90DB #CJK UNIFIED IDEOGRAPH +0xE7BD 0x9102 #CJK UNIFIED IDEOGRAPH +0xE7BE 0x9112 #CJK UNIFIED IDEOGRAPH +0xE7BF 0x9119 #CJK UNIFIED IDEOGRAPH +0xE7C0 0x9132 #CJK UNIFIED IDEOGRAPH +0xE7C1 0x9130 #CJK UNIFIED IDEOGRAPH +0xE7C2 0x914A #CJK UNIFIED IDEOGRAPH +0xE7C3 0x9156 #CJK UNIFIED IDEOGRAPH +0xE7C4 0x9158 #CJK UNIFIED IDEOGRAPH +0xE7C5 0x9163 #CJK UNIFIED IDEOGRAPH +0xE7C6 0x9165 #CJK UNIFIED IDEOGRAPH +0xE7C7 0x9169 #CJK UNIFIED IDEOGRAPH +0xE7C8 0x9173 #CJK UNIFIED IDEOGRAPH +0xE7C9 0x9172 #CJK UNIFIED IDEOGRAPH +0xE7CA 0x918B #CJK UNIFIED IDEOGRAPH +0xE7CB 0x9189 #CJK UNIFIED IDEOGRAPH +0xE7CC 0x9182 #CJK UNIFIED IDEOGRAPH +0xE7CD 0x91A2 #CJK UNIFIED IDEOGRAPH +0xE7CE 0x91AB #CJK UNIFIED IDEOGRAPH +0xE7CF 0x91AF #CJK UNIFIED IDEOGRAPH +0xE7D0 0x91AA #CJK UNIFIED IDEOGRAPH +0xE7D1 0x91B5 #CJK UNIFIED IDEOGRAPH +0xE7D2 0x91B4 #CJK UNIFIED IDEOGRAPH +0xE7D3 0x91BA #CJK UNIFIED IDEOGRAPH +0xE7D4 0x91C0 #CJK UNIFIED IDEOGRAPH +0xE7D5 0x91C1 #CJK UNIFIED IDEOGRAPH +0xE7D6 0x91C9 #CJK UNIFIED IDEOGRAPH +0xE7D7 0x91CB #CJK UNIFIED IDEOGRAPH +0xE7D8 0x91D0 #CJK UNIFIED IDEOGRAPH +0xE7D9 0x91D6 #CJK UNIFIED IDEOGRAPH +0xE7DA 0x91DF #CJK UNIFIED IDEOGRAPH +0xE7DB 0x91E1 #CJK UNIFIED IDEOGRAPH +0xE7DC 0x91DB #CJK UNIFIED IDEOGRAPH +0xE7DD 0x91FC #CJK UNIFIED IDEOGRAPH +0xE7DE 0x91F5 #CJK UNIFIED IDEOGRAPH +0xE7DF 0x91F6 #CJK UNIFIED IDEOGRAPH +0xE7E0 0x921E #CJK UNIFIED IDEOGRAPH +0xE7E1 0x91FF #CJK UNIFIED IDEOGRAPH +0xE7E2 0x9214 #CJK UNIFIED IDEOGRAPH +0xE7E3 0x922C #CJK UNIFIED IDEOGRAPH +0xE7E4 0x9215 #CJK UNIFIED IDEOGRAPH +0xE7E5 0x9211 #CJK UNIFIED IDEOGRAPH +0xE7E6 0x925E #CJK UNIFIED IDEOGRAPH +0xE7E7 0x9257 #CJK UNIFIED IDEOGRAPH +0xE7E8 0x9245 #CJK UNIFIED IDEOGRAPH +0xE7E9 0x9249 #CJK UNIFIED IDEOGRAPH +0xE7EA 0x9264 #CJK UNIFIED IDEOGRAPH +0xE7EB 0x9248 #CJK UNIFIED IDEOGRAPH +0xE7EC 0x9295 #CJK UNIFIED IDEOGRAPH +0xE7ED 0x923F #CJK UNIFIED IDEOGRAPH +0xE7EE 0x924B #CJK UNIFIED IDEOGRAPH +0xE7EF 0x9250 #CJK UNIFIED IDEOGRAPH +0xE7F0 0x929C #CJK UNIFIED IDEOGRAPH +0xE7F1 0x9296 #CJK UNIFIED IDEOGRAPH +0xE7F2 0x9293 #CJK UNIFIED IDEOGRAPH +0xE7F3 0x929B #CJK UNIFIED IDEOGRAPH +0xE7F4 0x925A #CJK UNIFIED IDEOGRAPH +0xE7F5 0x92CF #CJK UNIFIED IDEOGRAPH +0xE7F6 0x92B9 #CJK UNIFIED IDEOGRAPH +0xE7F7 0x92B7 #CJK UNIFIED IDEOGRAPH +0xE7F8 0x92E9 #CJK UNIFIED IDEOGRAPH +0xE7F9 0x930F #CJK UNIFIED IDEOGRAPH +0xE7FA 0x92FA #CJK UNIFIED IDEOGRAPH +0xE7FB 0x9344 #CJK UNIFIED IDEOGRAPH +0xE7FC 0x932E #CJK UNIFIED IDEOGRAPH +0xE840 0x9319 #CJK UNIFIED IDEOGRAPH +0xE841 0x9322 #CJK UNIFIED IDEOGRAPH +0xE842 0x931A #CJK UNIFIED IDEOGRAPH +0xE843 0x9323 #CJK UNIFIED IDEOGRAPH +0xE844 0x933A #CJK UNIFIED IDEOGRAPH +0xE845 0x9335 #CJK UNIFIED IDEOGRAPH +0xE846 0x933B #CJK UNIFIED IDEOGRAPH +0xE847 0x935C #CJK UNIFIED IDEOGRAPH +0xE848 0x9360 #CJK UNIFIED IDEOGRAPH +0xE849 0x937C #CJK UNIFIED IDEOGRAPH +0xE84A 0x936E #CJK UNIFIED IDEOGRAPH +0xE84B 0x9356 #CJK UNIFIED IDEOGRAPH +0xE84C 0x93B0 #CJK UNIFIED IDEOGRAPH +0xE84D 0x93AC #CJK UNIFIED IDEOGRAPH +0xE84E 0x93AD #CJK UNIFIED IDEOGRAPH +0xE84F 0x9394 #CJK UNIFIED IDEOGRAPH +0xE850 0x93B9 #CJK UNIFIED IDEOGRAPH +0xE851 0x93D6 #CJK UNIFIED IDEOGRAPH +0xE852 0x93D7 #CJK UNIFIED IDEOGRAPH +0xE853 0x93E8 #CJK UNIFIED IDEOGRAPH +0xE854 0x93E5 #CJK UNIFIED IDEOGRAPH +0xE855 0x93D8 #CJK UNIFIED IDEOGRAPH +0xE856 0x93C3 #CJK UNIFIED IDEOGRAPH +0xE857 0x93DD #CJK UNIFIED IDEOGRAPH +0xE858 0x93D0 #CJK UNIFIED IDEOGRAPH +0xE859 0x93C8 #CJK UNIFIED IDEOGRAPH +0xE85A 0x93E4 #CJK UNIFIED IDEOGRAPH +0xE85B 0x941A #CJK UNIFIED IDEOGRAPH +0xE85C 0x9414 #CJK UNIFIED IDEOGRAPH +0xE85D 0x9413 #CJK UNIFIED IDEOGRAPH +0xE85E 0x9403 #CJK UNIFIED IDEOGRAPH +0xE85F 0x9407 #CJK UNIFIED IDEOGRAPH +0xE860 0x9410 #CJK UNIFIED IDEOGRAPH +0xE861 0x9436 #CJK UNIFIED IDEOGRAPH +0xE862 0x942B #CJK UNIFIED IDEOGRAPH +0xE863 0x9435 #CJK UNIFIED IDEOGRAPH +0xE864 0x9421 #CJK UNIFIED IDEOGRAPH +0xE865 0x943A #CJK UNIFIED IDEOGRAPH +0xE866 0x9441 #CJK UNIFIED IDEOGRAPH +0xE867 0x9452 #CJK UNIFIED IDEOGRAPH +0xE868 0x9444 #CJK UNIFIED IDEOGRAPH +0xE869 0x945B #CJK UNIFIED IDEOGRAPH +0xE86A 0x9460 #CJK UNIFIED IDEOGRAPH +0xE86B 0x9462 #CJK UNIFIED IDEOGRAPH +0xE86C 0x945E #CJK UNIFIED IDEOGRAPH +0xE86D 0x946A #CJK UNIFIED IDEOGRAPH +0xE86E 0x9229 #CJK UNIFIED IDEOGRAPH +0xE86F 0x9470 #CJK UNIFIED IDEOGRAPH +0xE870 0x9475 #CJK UNIFIED IDEOGRAPH +0xE871 0x9477 #CJK UNIFIED IDEOGRAPH +0xE872 0x947D #CJK UNIFIED IDEOGRAPH +0xE873 0x945A #CJK UNIFIED IDEOGRAPH +0xE874 0x947C #CJK UNIFIED IDEOGRAPH +0xE875 0x947E #CJK UNIFIED IDEOGRAPH +0xE876 0x9481 #CJK UNIFIED IDEOGRAPH +0xE877 0x947F #CJK UNIFIED IDEOGRAPH +0xE878 0x9582 #CJK UNIFIED IDEOGRAPH +0xE879 0x9587 #CJK UNIFIED IDEOGRAPH +0xE87A 0x958A #CJK UNIFIED IDEOGRAPH +0xE87B 0x9594 #CJK UNIFIED IDEOGRAPH +0xE87C 0x9596 #CJK UNIFIED IDEOGRAPH +0xE87D 0x9598 #CJK UNIFIED IDEOGRAPH +0xE87E 0x9599 #CJK UNIFIED IDEOGRAPH +0xE880 0x95A0 #CJK UNIFIED IDEOGRAPH +0xE881 0x95A8 #CJK UNIFIED IDEOGRAPH +0xE882 0x95A7 #CJK UNIFIED IDEOGRAPH +0xE883 0x95AD #CJK UNIFIED IDEOGRAPH +0xE884 0x95BC #CJK UNIFIED IDEOGRAPH +0xE885 0x95BB #CJK UNIFIED IDEOGRAPH +0xE886 0x95B9 #CJK UNIFIED IDEOGRAPH +0xE887 0x95BE #CJK UNIFIED IDEOGRAPH +0xE888 0x95CA #CJK UNIFIED IDEOGRAPH +0xE889 0x6FF6 #CJK UNIFIED IDEOGRAPH +0xE88A 0x95C3 #CJK UNIFIED IDEOGRAPH +0xE88B 0x95CD #CJK UNIFIED IDEOGRAPH +0xE88C 0x95CC #CJK UNIFIED IDEOGRAPH +0xE88D 0x95D5 #CJK UNIFIED IDEOGRAPH +0xE88E 0x95D4 #CJK UNIFIED IDEOGRAPH +0xE88F 0x95D6 #CJK UNIFIED IDEOGRAPH +0xE890 0x95DC #CJK UNIFIED IDEOGRAPH +0xE891 0x95E1 #CJK UNIFIED IDEOGRAPH +0xE892 0x95E5 #CJK UNIFIED IDEOGRAPH +0xE893 0x95E2 #CJK UNIFIED IDEOGRAPH +0xE894 0x9621 #CJK UNIFIED IDEOGRAPH +0xE895 0x9628 #CJK UNIFIED IDEOGRAPH +0xE896 0x962E #CJK UNIFIED IDEOGRAPH +0xE897 0x962F #CJK UNIFIED IDEOGRAPH +0xE898 0x9642 #CJK UNIFIED IDEOGRAPH +0xE899 0x964C #CJK UNIFIED IDEOGRAPH +0xE89A 0x964F #CJK UNIFIED IDEOGRAPH +0xE89B 0x964B #CJK UNIFIED IDEOGRAPH +0xE89C 0x9677 #CJK UNIFIED IDEOGRAPH +0xE89D 0x965C #CJK UNIFIED IDEOGRAPH +0xE89E 0x965E #CJK UNIFIED IDEOGRAPH +0xE89F 0x965D #CJK UNIFIED IDEOGRAPH +0xE8A0 0x965F #CJK UNIFIED IDEOGRAPH +0xE8A1 0x9666 #CJK UNIFIED IDEOGRAPH +0xE8A2 0x9672 #CJK UNIFIED IDEOGRAPH +0xE8A3 0x966C #CJK UNIFIED IDEOGRAPH +0xE8A4 0x968D #CJK UNIFIED IDEOGRAPH +0xE8A5 0x9698 #CJK UNIFIED IDEOGRAPH +0xE8A6 0x9695 #CJK UNIFIED IDEOGRAPH +0xE8A7 0x9697 #CJK UNIFIED IDEOGRAPH +0xE8A8 0x96AA #CJK UNIFIED IDEOGRAPH +0xE8A9 0x96A7 #CJK UNIFIED IDEOGRAPH +0xE8AA 0x96B1 #CJK UNIFIED IDEOGRAPH +0xE8AB 0x96B2 #CJK UNIFIED IDEOGRAPH +0xE8AC 0x96B0 #CJK UNIFIED IDEOGRAPH +0xE8AD 0x96B4 #CJK UNIFIED IDEOGRAPH +0xE8AE 0x96B6 #CJK UNIFIED IDEOGRAPH +0xE8AF 0x96B8 #CJK UNIFIED IDEOGRAPH +0xE8B0 0x96B9 #CJK UNIFIED IDEOGRAPH +0xE8B1 0x96CE #CJK UNIFIED IDEOGRAPH +0xE8B2 0x96CB #CJK UNIFIED IDEOGRAPH +0xE8B3 0x96C9 #CJK UNIFIED IDEOGRAPH +0xE8B4 0x96CD #CJK UNIFIED IDEOGRAPH +0xE8B5 0x894D #CJK UNIFIED IDEOGRAPH +0xE8B6 0x96DC #CJK UNIFIED IDEOGRAPH +0xE8B7 0x970D #CJK UNIFIED IDEOGRAPH +0xE8B8 0x96D5 #CJK UNIFIED IDEOGRAPH +0xE8B9 0x96F9 #CJK UNIFIED IDEOGRAPH +0xE8BA 0x9704 #CJK UNIFIED IDEOGRAPH +0xE8BB 0x9706 #CJK UNIFIED IDEOGRAPH +0xE8BC 0x9708 #CJK UNIFIED IDEOGRAPH +0xE8BD 0x9713 #CJK UNIFIED IDEOGRAPH +0xE8BE 0x970E #CJK UNIFIED IDEOGRAPH +0xE8BF 0x9711 #CJK UNIFIED IDEOGRAPH +0xE8C0 0x970F #CJK UNIFIED IDEOGRAPH +0xE8C1 0x9716 #CJK UNIFIED IDEOGRAPH +0xE8C2 0x9719 #CJK UNIFIED IDEOGRAPH +0xE8C3 0x9724 #CJK UNIFIED IDEOGRAPH +0xE8C4 0x972A #CJK UNIFIED IDEOGRAPH +0xE8C5 0x9730 #CJK UNIFIED IDEOGRAPH +0xE8C6 0x9739 #CJK UNIFIED IDEOGRAPH +0xE8C7 0x973D #CJK UNIFIED IDEOGRAPH +0xE8C8 0x973E #CJK UNIFIED IDEOGRAPH +0xE8C9 0x9744 #CJK UNIFIED IDEOGRAPH +0xE8CA 0x9746 #CJK UNIFIED IDEOGRAPH +0xE8CB 0x9748 #CJK UNIFIED IDEOGRAPH +0xE8CC 0x9742 #CJK UNIFIED IDEOGRAPH +0xE8CD 0x9749 #CJK UNIFIED IDEOGRAPH +0xE8CE 0x975C #CJK UNIFIED IDEOGRAPH +0xE8CF 0x9760 #CJK UNIFIED IDEOGRAPH +0xE8D0 0x9764 #CJK UNIFIED IDEOGRAPH +0xE8D1 0x9766 #CJK UNIFIED IDEOGRAPH +0xE8D2 0x9768 #CJK UNIFIED IDEOGRAPH +0xE8D3 0x52D2 #CJK UNIFIED IDEOGRAPH +0xE8D4 0x976B #CJK UNIFIED IDEOGRAPH +0xE8D5 0x9771 #CJK UNIFIED IDEOGRAPH +0xE8D6 0x9779 #CJK UNIFIED IDEOGRAPH +0xE8D7 0x9785 #CJK UNIFIED IDEOGRAPH +0xE8D8 0x977C #CJK UNIFIED IDEOGRAPH +0xE8D9 0x9781 #CJK UNIFIED IDEOGRAPH +0xE8DA 0x977A #CJK UNIFIED IDEOGRAPH +0xE8DB 0x9786 #CJK UNIFIED IDEOGRAPH +0xE8DC 0x978B #CJK UNIFIED IDEOGRAPH +0xE8DD 0x978F #CJK UNIFIED IDEOGRAPH +0xE8DE 0x9790 #CJK UNIFIED IDEOGRAPH +0xE8DF 0x979C #CJK UNIFIED IDEOGRAPH +0xE8E0 0x97A8 #CJK UNIFIED IDEOGRAPH +0xE8E1 0x97A6 #CJK UNIFIED IDEOGRAPH +0xE8E2 0x97A3 #CJK UNIFIED IDEOGRAPH +0xE8E3 0x97B3 #CJK UNIFIED IDEOGRAPH +0xE8E4 0x97B4 #CJK UNIFIED IDEOGRAPH +0xE8E5 0x97C3 #CJK UNIFIED IDEOGRAPH +0xE8E6 0x97C6 #CJK UNIFIED IDEOGRAPH +0xE8E7 0x97C8 #CJK UNIFIED IDEOGRAPH +0xE8E8 0x97CB #CJK UNIFIED IDEOGRAPH +0xE8E9 0x97DC #CJK UNIFIED IDEOGRAPH +0xE8EA 0x97ED #CJK UNIFIED IDEOGRAPH +0xE8EB 0x9F4F #CJK UNIFIED IDEOGRAPH +0xE8EC 0x97F2 #CJK UNIFIED IDEOGRAPH +0xE8ED 0x7ADF #CJK UNIFIED IDEOGRAPH +0xE8EE 0x97F6 #CJK UNIFIED IDEOGRAPH +0xE8EF 0x97F5 #CJK UNIFIED IDEOGRAPH +0xE8F0 0x980F #CJK UNIFIED IDEOGRAPH +0xE8F1 0x980C #CJK UNIFIED IDEOGRAPH +0xE8F2 0x9838 #CJK UNIFIED IDEOGRAPH +0xE8F3 0x9824 #CJK UNIFIED IDEOGRAPH +0xE8F4 0x9821 #CJK UNIFIED IDEOGRAPH +0xE8F5 0x9837 #CJK UNIFIED IDEOGRAPH +0xE8F6 0x983D #CJK UNIFIED IDEOGRAPH +0xE8F7 0x9846 #CJK UNIFIED IDEOGRAPH +0xE8F8 0x984F #CJK UNIFIED IDEOGRAPH +0xE8F9 0x984B #CJK UNIFIED IDEOGRAPH +0xE8FA 0x986B #CJK UNIFIED IDEOGRAPH +0xE8FB 0x986F #CJK UNIFIED IDEOGRAPH +0xE8FC 0x9870 #CJK UNIFIED IDEOGRAPH +0xE940 0x9871 #CJK UNIFIED IDEOGRAPH +0xE941 0x9874 #CJK UNIFIED IDEOGRAPH +0xE942 0x9873 #CJK UNIFIED IDEOGRAPH +0xE943 0x98AA #CJK UNIFIED IDEOGRAPH +0xE944 0x98AF #CJK UNIFIED IDEOGRAPH +0xE945 0x98B1 #CJK UNIFIED IDEOGRAPH +0xE946 0x98B6 #CJK UNIFIED IDEOGRAPH +0xE947 0x98C4 #CJK UNIFIED IDEOGRAPH +0xE948 0x98C3 #CJK UNIFIED IDEOGRAPH +0xE949 0x98C6 #CJK UNIFIED IDEOGRAPH +0xE94A 0x98E9 #CJK UNIFIED IDEOGRAPH +0xE94B 0x98EB #CJK UNIFIED IDEOGRAPH +0xE94C 0x9903 #CJK UNIFIED IDEOGRAPH +0xE94D 0x9909 #CJK UNIFIED IDEOGRAPH +0xE94E 0x9912 #CJK UNIFIED IDEOGRAPH +0xE94F 0x9914 #CJK UNIFIED IDEOGRAPH +0xE950 0x9918 #CJK UNIFIED IDEOGRAPH +0xE951 0x9921 #CJK UNIFIED IDEOGRAPH +0xE952 0x991D #CJK UNIFIED IDEOGRAPH +0xE953 0x991E #CJK UNIFIED IDEOGRAPH +0xE954 0x9924 #CJK UNIFIED IDEOGRAPH +0xE955 0x9920 #CJK UNIFIED IDEOGRAPH +0xE956 0x992C #CJK UNIFIED IDEOGRAPH +0xE957 0x992E #CJK UNIFIED IDEOGRAPH +0xE958 0x993D #CJK UNIFIED IDEOGRAPH +0xE959 0x993E #CJK UNIFIED IDEOGRAPH +0xE95A 0x9942 #CJK UNIFIED IDEOGRAPH +0xE95B 0x9949 #CJK UNIFIED IDEOGRAPH +0xE95C 0x9945 #CJK UNIFIED IDEOGRAPH +0xE95D 0x9950 #CJK UNIFIED IDEOGRAPH +0xE95E 0x994B #CJK UNIFIED IDEOGRAPH +0xE95F 0x9951 #CJK UNIFIED IDEOGRAPH +0xE960 0x9952 #CJK UNIFIED IDEOGRAPH +0xE961 0x994C #CJK UNIFIED IDEOGRAPH +0xE962 0x9955 #CJK UNIFIED IDEOGRAPH +0xE963 0x9997 #CJK UNIFIED IDEOGRAPH +0xE964 0x9998 #CJK UNIFIED IDEOGRAPH +0xE965 0x99A5 #CJK UNIFIED IDEOGRAPH +0xE966 0x99AD #CJK UNIFIED IDEOGRAPH +0xE967 0x99AE #CJK UNIFIED IDEOGRAPH +0xE968 0x99BC #CJK UNIFIED IDEOGRAPH +0xE969 0x99DF #CJK UNIFIED IDEOGRAPH +0xE96A 0x99DB #CJK UNIFIED IDEOGRAPH +0xE96B 0x99DD #CJK UNIFIED IDEOGRAPH +0xE96C 0x99D8 #CJK UNIFIED IDEOGRAPH +0xE96D 0x99D1 #CJK UNIFIED IDEOGRAPH +0xE96E 0x99ED #CJK UNIFIED IDEOGRAPH +0xE96F 0x99EE #CJK UNIFIED IDEOGRAPH +0xE970 0x99F1 #CJK UNIFIED IDEOGRAPH +0xE971 0x99F2 #CJK UNIFIED IDEOGRAPH +0xE972 0x99FB #CJK UNIFIED IDEOGRAPH +0xE973 0x99F8 #CJK UNIFIED IDEOGRAPH +0xE974 0x9A01 #CJK UNIFIED IDEOGRAPH +0xE975 0x9A0F #CJK UNIFIED IDEOGRAPH +0xE976 0x9A05 #CJK UNIFIED IDEOGRAPH +0xE977 0x99E2 #CJK UNIFIED IDEOGRAPH +0xE978 0x9A19 #CJK UNIFIED IDEOGRAPH +0xE979 0x9A2B #CJK UNIFIED IDEOGRAPH +0xE97A 0x9A37 #CJK UNIFIED IDEOGRAPH +0xE97B 0x9A45 #CJK UNIFIED IDEOGRAPH +0xE97C 0x9A42 #CJK UNIFIED IDEOGRAPH +0xE97D 0x9A40 #CJK UNIFIED IDEOGRAPH +0xE97E 0x9A43 #CJK UNIFIED IDEOGRAPH +0xE980 0x9A3E #CJK UNIFIED IDEOGRAPH +0xE981 0x9A55 #CJK UNIFIED IDEOGRAPH +0xE982 0x9A4D #CJK UNIFIED IDEOGRAPH +0xE983 0x9A5B #CJK UNIFIED IDEOGRAPH +0xE984 0x9A57 #CJK UNIFIED IDEOGRAPH +0xE985 0x9A5F #CJK UNIFIED IDEOGRAPH +0xE986 0x9A62 #CJK UNIFIED IDEOGRAPH +0xE987 0x9A65 #CJK UNIFIED IDEOGRAPH +0xE988 0x9A64 #CJK UNIFIED IDEOGRAPH +0xE989 0x9A69 #CJK UNIFIED IDEOGRAPH +0xE98A 0x9A6B #CJK UNIFIED IDEOGRAPH +0xE98B 0x9A6A #CJK UNIFIED IDEOGRAPH +0xE98C 0x9AAD #CJK UNIFIED IDEOGRAPH +0xE98D 0x9AB0 #CJK UNIFIED IDEOGRAPH +0xE98E 0x9ABC #CJK UNIFIED IDEOGRAPH +0xE98F 0x9AC0 #CJK UNIFIED IDEOGRAPH +0xE990 0x9ACF #CJK UNIFIED IDEOGRAPH +0xE991 0x9AD1 #CJK UNIFIED IDEOGRAPH +0xE992 0x9AD3 #CJK UNIFIED IDEOGRAPH +0xE993 0x9AD4 #CJK UNIFIED IDEOGRAPH +0xE994 0x9ADE #CJK UNIFIED IDEOGRAPH +0xE995 0x9ADF #CJK UNIFIED IDEOGRAPH +0xE996 0x9AE2 #CJK UNIFIED IDEOGRAPH +0xE997 0x9AE3 #CJK UNIFIED IDEOGRAPH +0xE998 0x9AE6 #CJK UNIFIED IDEOGRAPH +0xE999 0x9AEF #CJK UNIFIED IDEOGRAPH +0xE99A 0x9AEB #CJK UNIFIED IDEOGRAPH +0xE99B 0x9AEE #CJK UNIFIED IDEOGRAPH +0xE99C 0x9AF4 #CJK UNIFIED IDEOGRAPH +0xE99D 0x9AF1 #CJK UNIFIED IDEOGRAPH +0xE99E 0x9AF7 #CJK UNIFIED IDEOGRAPH +0xE99F 0x9AFB #CJK UNIFIED IDEOGRAPH +0xE9A0 0x9B06 #CJK UNIFIED IDEOGRAPH +0xE9A1 0x9B18 #CJK UNIFIED IDEOGRAPH +0xE9A2 0x9B1A #CJK UNIFIED IDEOGRAPH +0xE9A3 0x9B1F #CJK UNIFIED IDEOGRAPH +0xE9A4 0x9B22 #CJK UNIFIED IDEOGRAPH +0xE9A5 0x9B23 #CJK UNIFIED IDEOGRAPH +0xE9A6 0x9B25 #CJK UNIFIED IDEOGRAPH +0xE9A7 0x9B27 #CJK UNIFIED IDEOGRAPH +0xE9A8 0x9B28 #CJK UNIFIED IDEOGRAPH +0xE9A9 0x9B29 #CJK UNIFIED IDEOGRAPH +0xE9AA 0x9B2A #CJK UNIFIED IDEOGRAPH +0xE9AB 0x9B2E #CJK UNIFIED IDEOGRAPH +0xE9AC 0x9B2F #CJK UNIFIED IDEOGRAPH +0xE9AD 0x9B32 #CJK UNIFIED IDEOGRAPH +0xE9AE 0x9B44 #CJK UNIFIED IDEOGRAPH +0xE9AF 0x9B43 #CJK UNIFIED IDEOGRAPH +0xE9B0 0x9B4F #CJK UNIFIED IDEOGRAPH +0xE9B1 0x9B4D #CJK UNIFIED IDEOGRAPH +0xE9B2 0x9B4E #CJK UNIFIED IDEOGRAPH +0xE9B3 0x9B51 #CJK UNIFIED IDEOGRAPH +0xE9B4 0x9B58 #CJK UNIFIED IDEOGRAPH +0xE9B5 0x9B74 #CJK UNIFIED IDEOGRAPH +0xE9B6 0x9B93 #CJK UNIFIED IDEOGRAPH +0xE9B7 0x9B83 #CJK UNIFIED IDEOGRAPH +0xE9B8 0x9B91 #CJK UNIFIED IDEOGRAPH +0xE9B9 0x9B96 #CJK UNIFIED IDEOGRAPH +0xE9BA 0x9B97 #CJK UNIFIED IDEOGRAPH +0xE9BB 0x9B9F #CJK UNIFIED IDEOGRAPH +0xE9BC 0x9BA0 #CJK UNIFIED IDEOGRAPH +0xE9BD 0x9BA8 #CJK UNIFIED IDEOGRAPH +0xE9BE 0x9BB4 #CJK UNIFIED IDEOGRAPH +0xE9BF 0x9BC0 #CJK UNIFIED IDEOGRAPH +0xE9C0 0x9BCA #CJK UNIFIED IDEOGRAPH +0xE9C1 0x9BB9 #CJK UNIFIED IDEOGRAPH +0xE9C2 0x9BC6 #CJK UNIFIED IDEOGRAPH +0xE9C3 0x9BCF #CJK UNIFIED IDEOGRAPH +0xE9C4 0x9BD1 #CJK UNIFIED IDEOGRAPH +0xE9C5 0x9BD2 #CJK UNIFIED IDEOGRAPH +0xE9C6 0x9BE3 #CJK UNIFIED IDEOGRAPH +0xE9C7 0x9BE2 #CJK UNIFIED IDEOGRAPH +0xE9C8 0x9BE4 #CJK UNIFIED IDEOGRAPH +0xE9C9 0x9BD4 #CJK UNIFIED IDEOGRAPH +0xE9CA 0x9BE1 #CJK UNIFIED IDEOGRAPH +0xE9CB 0x9C3A #CJK UNIFIED IDEOGRAPH +0xE9CC 0x9BF2 #CJK UNIFIED IDEOGRAPH +0xE9CD 0x9BF1 #CJK UNIFIED IDEOGRAPH +0xE9CE 0x9BF0 #CJK UNIFIED IDEOGRAPH +0xE9CF 0x9C15 #CJK UNIFIED IDEOGRAPH +0xE9D0 0x9C14 #CJK UNIFIED IDEOGRAPH +0xE9D1 0x9C09 #CJK UNIFIED IDEOGRAPH +0xE9D2 0x9C13 #CJK UNIFIED IDEOGRAPH +0xE9D3 0x9C0C #CJK UNIFIED IDEOGRAPH +0xE9D4 0x9C06 #CJK UNIFIED IDEOGRAPH +0xE9D5 0x9C08 #CJK UNIFIED IDEOGRAPH +0xE9D6 0x9C12 #CJK UNIFIED IDEOGRAPH +0xE9D7 0x9C0A #CJK UNIFIED IDEOGRAPH +0xE9D8 0x9C04 #CJK UNIFIED IDEOGRAPH +0xE9D9 0x9C2E #CJK UNIFIED IDEOGRAPH +0xE9DA 0x9C1B #CJK UNIFIED IDEOGRAPH +0xE9DB 0x9C25 #CJK UNIFIED IDEOGRAPH +0xE9DC 0x9C24 #CJK UNIFIED IDEOGRAPH +0xE9DD 0x9C21 #CJK UNIFIED IDEOGRAPH +0xE9DE 0x9C30 #CJK UNIFIED IDEOGRAPH +0xE9DF 0x9C47 #CJK UNIFIED IDEOGRAPH +0xE9E0 0x9C32 #CJK UNIFIED IDEOGRAPH +0xE9E1 0x9C46 #CJK UNIFIED IDEOGRAPH +0xE9E2 0x9C3E #CJK UNIFIED IDEOGRAPH +0xE9E3 0x9C5A #CJK UNIFIED IDEOGRAPH +0xE9E4 0x9C60 #CJK UNIFIED IDEOGRAPH +0xE9E5 0x9C67 #CJK UNIFIED IDEOGRAPH +0xE9E6 0x9C76 #CJK UNIFIED IDEOGRAPH +0xE9E7 0x9C78 #CJK UNIFIED IDEOGRAPH +0xE9E8 0x9CE7 #CJK UNIFIED IDEOGRAPH +0xE9E9 0x9CEC #CJK UNIFIED IDEOGRAPH +0xE9EA 0x9CF0 #CJK UNIFIED IDEOGRAPH +0xE9EB 0x9D09 #CJK UNIFIED IDEOGRAPH +0xE9EC 0x9D08 #CJK UNIFIED IDEOGRAPH +0xE9ED 0x9CEB #CJK UNIFIED IDEOGRAPH +0xE9EE 0x9D03 #CJK UNIFIED IDEOGRAPH +0xE9EF 0x9D06 #CJK UNIFIED IDEOGRAPH +0xE9F0 0x9D2A #CJK UNIFIED IDEOGRAPH +0xE9F1 0x9D26 #CJK UNIFIED IDEOGRAPH +0xE9F2 0x9DAF #CJK UNIFIED IDEOGRAPH +0xE9F3 0x9D23 #CJK UNIFIED IDEOGRAPH +0xE9F4 0x9D1F #CJK UNIFIED IDEOGRAPH +0xE9F5 0x9D44 #CJK UNIFIED IDEOGRAPH +0xE9F6 0x9D15 #CJK UNIFIED IDEOGRAPH +0xE9F7 0x9D12 #CJK UNIFIED IDEOGRAPH +0xE9F8 0x9D41 #CJK UNIFIED IDEOGRAPH +0xE9F9 0x9D3F #CJK UNIFIED IDEOGRAPH +0xE9FA 0x9D3E #CJK UNIFIED IDEOGRAPH +0xE9FB 0x9D46 #CJK UNIFIED IDEOGRAPH +0xE9FC 0x9D48 #CJK UNIFIED IDEOGRAPH +0xEA40 0x9D5D #CJK UNIFIED IDEOGRAPH +0xEA41 0x9D5E #CJK UNIFIED IDEOGRAPH +0xEA42 0x9D64 #CJK UNIFIED IDEOGRAPH +0xEA43 0x9D51 #CJK UNIFIED IDEOGRAPH +0xEA44 0x9D50 #CJK UNIFIED IDEOGRAPH +0xEA45 0x9D59 #CJK UNIFIED IDEOGRAPH +0xEA46 0x9D72 #CJK UNIFIED IDEOGRAPH +0xEA47 0x9D89 #CJK UNIFIED IDEOGRAPH +0xEA48 0x9D87 #CJK UNIFIED IDEOGRAPH +0xEA49 0x9DAB #CJK UNIFIED IDEOGRAPH +0xEA4A 0x9D6F #CJK UNIFIED IDEOGRAPH +0xEA4B 0x9D7A #CJK UNIFIED IDEOGRAPH +0xEA4C 0x9D9A #CJK UNIFIED IDEOGRAPH +0xEA4D 0x9DA4 #CJK UNIFIED IDEOGRAPH +0xEA4E 0x9DA9 #CJK UNIFIED IDEOGRAPH +0xEA4F 0x9DB2 #CJK UNIFIED IDEOGRAPH +0xEA50 0x9DC4 #CJK UNIFIED IDEOGRAPH +0xEA51 0x9DC1 #CJK UNIFIED IDEOGRAPH +0xEA52 0x9DBB #CJK UNIFIED IDEOGRAPH +0xEA53 0x9DB8 #CJK UNIFIED IDEOGRAPH +0xEA54 0x9DBA #CJK UNIFIED IDEOGRAPH +0xEA55 0x9DC6 #CJK UNIFIED IDEOGRAPH +0xEA56 0x9DCF #CJK UNIFIED IDEOGRAPH +0xEA57 0x9DC2 #CJK UNIFIED IDEOGRAPH +0xEA58 0x9DD9 #CJK UNIFIED IDEOGRAPH +0xEA59 0x9DD3 #CJK UNIFIED IDEOGRAPH +0xEA5A 0x9DF8 #CJK UNIFIED IDEOGRAPH +0xEA5B 0x9DE6 #CJK UNIFIED IDEOGRAPH +0xEA5C 0x9DED #CJK UNIFIED IDEOGRAPH +0xEA5D 0x9DEF #CJK UNIFIED IDEOGRAPH +0xEA5E 0x9DFD #CJK UNIFIED IDEOGRAPH +0xEA5F 0x9E1A #CJK UNIFIED IDEOGRAPH +0xEA60 0x9E1B #CJK UNIFIED IDEOGRAPH +0xEA61 0x9E1E #CJK UNIFIED IDEOGRAPH +0xEA62 0x9E75 #CJK UNIFIED IDEOGRAPH +0xEA63 0x9E79 #CJK UNIFIED IDEOGRAPH +0xEA64 0x9E7D #CJK UNIFIED IDEOGRAPH +0xEA65 0x9E81 #CJK UNIFIED IDEOGRAPH +0xEA66 0x9E88 #CJK UNIFIED IDEOGRAPH +0xEA67 0x9E8B #CJK UNIFIED IDEOGRAPH +0xEA68 0x9E8C #CJK UNIFIED IDEOGRAPH +0xEA69 0x9E92 #CJK UNIFIED IDEOGRAPH +0xEA6A 0x9E95 #CJK UNIFIED IDEOGRAPH +0xEA6B 0x9E91 #CJK UNIFIED IDEOGRAPH +0xEA6C 0x9E9D #CJK UNIFIED IDEOGRAPH +0xEA6D 0x9EA5 #CJK UNIFIED IDEOGRAPH +0xEA6E 0x9EA9 #CJK UNIFIED IDEOGRAPH +0xEA6F 0x9EB8 #CJK UNIFIED IDEOGRAPH +0xEA70 0x9EAA #CJK UNIFIED IDEOGRAPH +0xEA71 0x9EAD #CJK UNIFIED IDEOGRAPH +0xEA72 0x9761 #CJK UNIFIED IDEOGRAPH +0xEA73 0x9ECC #CJK UNIFIED IDEOGRAPH +0xEA74 0x9ECE #CJK UNIFIED IDEOGRAPH +0xEA75 0x9ECF #CJK UNIFIED IDEOGRAPH +0xEA76 0x9ED0 #CJK UNIFIED IDEOGRAPH +0xEA77 0x9ED4 #CJK UNIFIED IDEOGRAPH +0xEA78 0x9EDC #CJK UNIFIED IDEOGRAPH +0xEA79 0x9EDE #CJK UNIFIED IDEOGRAPH +0xEA7A 0x9EDD #CJK UNIFIED IDEOGRAPH +0xEA7B 0x9EE0 #CJK UNIFIED IDEOGRAPH +0xEA7C 0x9EE5 #CJK UNIFIED IDEOGRAPH +0xEA7D 0x9EE8 #CJK UNIFIED IDEOGRAPH +0xEA7E 0x9EEF #CJK UNIFIED IDEOGRAPH +0xEA80 0x9EF4 #CJK UNIFIED IDEOGRAPH +0xEA81 0x9EF6 #CJK UNIFIED IDEOGRAPH +0xEA82 0x9EF7 #CJK UNIFIED IDEOGRAPH +0xEA83 0x9EF9 #CJK UNIFIED IDEOGRAPH +0xEA84 0x9EFB #CJK UNIFIED IDEOGRAPH +0xEA85 0x9EFC #CJK UNIFIED IDEOGRAPH +0xEA86 0x9EFD #CJK UNIFIED IDEOGRAPH +0xEA87 0x9F07 #CJK UNIFIED IDEOGRAPH +0xEA88 0x9F08 #CJK UNIFIED IDEOGRAPH +0xEA89 0x76B7 #CJK UNIFIED IDEOGRAPH +0xEA8A 0x9F15 #CJK UNIFIED IDEOGRAPH +0xEA8B 0x9F21 #CJK UNIFIED IDEOGRAPH +0xEA8C 0x9F2C #CJK UNIFIED IDEOGRAPH +0xEA8D 0x9F3E #CJK UNIFIED IDEOGRAPH +0xEA8E 0x9F4A #CJK UNIFIED IDEOGRAPH +0xEA8F 0x9F52 #CJK UNIFIED IDEOGRAPH +0xEA90 0x9F54 #CJK UNIFIED IDEOGRAPH +0xEA91 0x9F63 #CJK UNIFIED IDEOGRAPH +0xEA92 0x9F5F #CJK UNIFIED IDEOGRAPH +0xEA93 0x9F60 #CJK UNIFIED IDEOGRAPH +0xEA94 0x9F61 #CJK UNIFIED IDEOGRAPH +0xEA95 0x9F66 #CJK UNIFIED IDEOGRAPH +0xEA96 0x9F67 #CJK UNIFIED IDEOGRAPH +0xEA97 0x9F6C #CJK UNIFIED IDEOGRAPH +0xEA98 0x9F6A #CJK UNIFIED IDEOGRAPH +0xEA99 0x9F77 #CJK UNIFIED IDEOGRAPH +0xEA9A 0x9F72 #CJK UNIFIED IDEOGRAPH +0xEA9B 0x9F76 #CJK UNIFIED IDEOGRAPH +0xEA9C 0x9F95 #CJK UNIFIED IDEOGRAPH +0xEA9D 0x9F9C #CJK UNIFIED IDEOGRAPH +0xEA9E 0x9FA0 #CJK UNIFIED IDEOGRAPH +0xEA9F 0x582F #CJK UNIFIED IDEOGRAPH +0xEAA0 0x69C7 #CJK UNIFIED IDEOGRAPH +0xEAA1 0x9059 #CJK UNIFIED IDEOGRAPH +0xEAA2 0x7464 #CJK UNIFIED IDEOGRAPH +0xEAA3 0x51DC #CJK UNIFIED IDEOGRAPH +0xEAA4 0x7199 #CJK UNIFIED IDEOGRAPH +0xED40 0x7E8A #CJK UNIFIED IDEOGRAPH +0xED41 0x891C #CJK UNIFIED IDEOGRAPH +0xED42 0x9348 #CJK UNIFIED IDEOGRAPH +0xED43 0x9288 #CJK UNIFIED IDEOGRAPH +0xED44 0x84DC #CJK UNIFIED IDEOGRAPH +0xED45 0x4FC9 #CJK UNIFIED IDEOGRAPH +0xED46 0x70BB #CJK UNIFIED IDEOGRAPH +0xED47 0x6631 #CJK UNIFIED IDEOGRAPH +0xED48 0x68C8 #CJK UNIFIED IDEOGRAPH +0xED49 0x92F9 #CJK UNIFIED IDEOGRAPH +0xED4A 0x66FB #CJK UNIFIED IDEOGRAPH +0xED4B 0x5F45 #CJK UNIFIED IDEOGRAPH +0xED4C 0x4E28 #CJK UNIFIED IDEOGRAPH +0xED4D 0x4EE1 #CJK UNIFIED IDEOGRAPH +0xED4E 0x4EFC #CJK UNIFIED IDEOGRAPH +0xED4F 0x4F00 #CJK UNIFIED IDEOGRAPH +0xED50 0x4F03 #CJK UNIFIED IDEOGRAPH +0xED51 0x4F39 #CJK UNIFIED IDEOGRAPH +0xED52 0x4F56 #CJK UNIFIED IDEOGRAPH +0xED53 0x4F92 #CJK UNIFIED IDEOGRAPH +0xED54 0x4F8A #CJK UNIFIED IDEOGRAPH +0xED55 0x4F9A #CJK UNIFIED IDEOGRAPH +0xED56 0x4F94 #CJK UNIFIED IDEOGRAPH +0xED57 0x4FCD #CJK UNIFIED IDEOGRAPH +0xED58 0x5040 #CJK UNIFIED IDEOGRAPH +0xED59 0x5022 #CJK UNIFIED IDEOGRAPH +0xED5A 0x4FFF #CJK UNIFIED IDEOGRAPH +0xED5B 0x501E #CJK UNIFIED IDEOGRAPH +0xED5C 0x5046 #CJK UNIFIED IDEOGRAPH +0xED5D 0x5070 #CJK UNIFIED IDEOGRAPH +0xED5E 0x5042 #CJK UNIFIED IDEOGRAPH +0xED5F 0x5094 #CJK UNIFIED IDEOGRAPH +0xED60 0x50F4 #CJK UNIFIED IDEOGRAPH +0xED61 0x50D8 #CJK UNIFIED IDEOGRAPH +0xED62 0x514A #CJK UNIFIED IDEOGRAPH +0xED63 0x5164 #CJK UNIFIED IDEOGRAPH +0xED64 0x519D #CJK UNIFIED IDEOGRAPH +0xED65 0x51BE #CJK UNIFIED IDEOGRAPH +0xED66 0x51EC #CJK UNIFIED IDEOGRAPH +0xED67 0x5215 #CJK UNIFIED IDEOGRAPH +0xED68 0x529C #CJK UNIFIED IDEOGRAPH +0xED69 0x52A6 #CJK UNIFIED IDEOGRAPH +0xED6A 0x52C0 #CJK UNIFIED IDEOGRAPH +0xED6B 0x52DB #CJK UNIFIED IDEOGRAPH +0xED6C 0x5300 #CJK UNIFIED IDEOGRAPH +0xED6D 0x5307 #CJK UNIFIED IDEOGRAPH +0xED6E 0x5324 #CJK UNIFIED IDEOGRAPH +0xED6F 0x5372 #CJK UNIFIED IDEOGRAPH +0xED70 0x5393 #CJK UNIFIED IDEOGRAPH +0xED71 0x53B2 #CJK UNIFIED IDEOGRAPH +0xED72 0x53DD #CJK UNIFIED IDEOGRAPH +0xED73 0xFA0E #CJK COMPATIBILITY IDEOGRAPH +0xED74 0x549C #CJK UNIFIED IDEOGRAPH +0xED75 0x548A #CJK UNIFIED IDEOGRAPH +0xED76 0x54A9 #CJK UNIFIED IDEOGRAPH +0xED77 0x54FF #CJK UNIFIED IDEOGRAPH +0xED78 0x5586 #CJK UNIFIED IDEOGRAPH +0xED79 0x5759 #CJK UNIFIED IDEOGRAPH +0xED7A 0x5765 #CJK UNIFIED IDEOGRAPH +0xED7B 0x57AC #CJK UNIFIED IDEOGRAPH +0xED7C 0x57C8 #CJK UNIFIED IDEOGRAPH +0xED7D 0x57C7 #CJK UNIFIED IDEOGRAPH +0xED7E 0xFA0F #CJK COMPATIBILITY IDEOGRAPH +0xED80 0xFA10 #CJK COMPATIBILITY IDEOGRAPH +0xED81 0x589E #CJK UNIFIED IDEOGRAPH +0xED82 0x58B2 #CJK UNIFIED IDEOGRAPH +0xED83 0x590B #CJK UNIFIED IDEOGRAPH +0xED84 0x5953 #CJK UNIFIED IDEOGRAPH +0xED85 0x595B #CJK UNIFIED IDEOGRAPH +0xED86 0x595D #CJK UNIFIED IDEOGRAPH +0xED87 0x5963 #CJK UNIFIED IDEOGRAPH +0xED88 0x59A4 #CJK UNIFIED IDEOGRAPH +0xED89 0x59BA #CJK UNIFIED IDEOGRAPH +0xED8A 0x5B56 #CJK UNIFIED IDEOGRAPH +0xED8B 0x5BC0 #CJK UNIFIED IDEOGRAPH +0xED8C 0x752F #CJK UNIFIED IDEOGRAPH +0xED8D 0x5BD8 #CJK UNIFIED IDEOGRAPH +0xED8E 0x5BEC #CJK UNIFIED IDEOGRAPH +0xED8F 0x5C1E #CJK UNIFIED IDEOGRAPH +0xED90 0x5CA6 #CJK UNIFIED IDEOGRAPH +0xED91 0x5CBA #CJK UNIFIED IDEOGRAPH +0xED92 0x5CF5 #CJK UNIFIED IDEOGRAPH +0xED93 0x5D27 #CJK UNIFIED IDEOGRAPH +0xED94 0x5D53 #CJK UNIFIED IDEOGRAPH +0xED95 0xFA11 #CJK COMPATIBILITY IDEOGRAPH +0xED96 0x5D42 #CJK UNIFIED IDEOGRAPH +0xED97 0x5D6D #CJK UNIFIED IDEOGRAPH +0xED98 0x5DB8 #CJK UNIFIED IDEOGRAPH +0xED99 0x5DB9 #CJK UNIFIED IDEOGRAPH +0xED9A 0x5DD0 #CJK UNIFIED IDEOGRAPH +0xED9B 0x5F21 #CJK UNIFIED IDEOGRAPH +0xED9C 0x5F34 #CJK UNIFIED IDEOGRAPH +0xED9D 0x5F67 #CJK UNIFIED IDEOGRAPH +0xED9E 0x5FB7 #CJK UNIFIED IDEOGRAPH +0xED9F 0x5FDE #CJK UNIFIED IDEOGRAPH +0xEDA0 0x605D #CJK UNIFIED IDEOGRAPH +0xEDA1 0x6085 #CJK UNIFIED IDEOGRAPH +0xEDA2 0x608A #CJK UNIFIED IDEOGRAPH +0xEDA3 0x60DE #CJK UNIFIED IDEOGRAPH +0xEDA4 0x60D5 #CJK UNIFIED IDEOGRAPH +0xEDA5 0x6120 #CJK UNIFIED IDEOGRAPH +0xEDA6 0x60F2 #CJK UNIFIED IDEOGRAPH +0xEDA7 0x6111 #CJK UNIFIED IDEOGRAPH +0xEDA8 0x6137 #CJK UNIFIED IDEOGRAPH +0xEDA9 0x6130 #CJK UNIFIED IDEOGRAPH +0xEDAA 0x6198 #CJK UNIFIED IDEOGRAPH +0xEDAB 0x6213 #CJK UNIFIED IDEOGRAPH +0xEDAC 0x62A6 #CJK UNIFIED IDEOGRAPH +0xEDAD 0x63F5 #CJK UNIFIED IDEOGRAPH +0xEDAE 0x6460 #CJK UNIFIED IDEOGRAPH +0xEDAF 0x649D #CJK UNIFIED IDEOGRAPH +0xEDB0 0x64CE #CJK UNIFIED IDEOGRAPH +0xEDB1 0x654E #CJK UNIFIED IDEOGRAPH +0xEDB2 0x6600 #CJK UNIFIED IDEOGRAPH +0xEDB3 0x6615 #CJK UNIFIED IDEOGRAPH +0xEDB4 0x663B #CJK UNIFIED IDEOGRAPH +0xEDB5 0x6609 #CJK UNIFIED IDEOGRAPH +0xEDB6 0x662E #CJK UNIFIED IDEOGRAPH +0xEDB7 0x661E #CJK UNIFIED IDEOGRAPH +0xEDB8 0x6624 #CJK UNIFIED IDEOGRAPH +0xEDB9 0x6665 #CJK UNIFIED IDEOGRAPH +0xEDBA 0x6657 #CJK UNIFIED IDEOGRAPH +0xEDBB 0x6659 #CJK UNIFIED IDEOGRAPH +0xEDBC 0xFA12 #CJK COMPATIBILITY IDEOGRAPH +0xEDBD 0x6673 #CJK UNIFIED IDEOGRAPH +0xEDBE 0x6699 #CJK UNIFIED IDEOGRAPH +0xEDBF 0x66A0 #CJK UNIFIED IDEOGRAPH +0xEDC0 0x66B2 #CJK UNIFIED IDEOGRAPH +0xEDC1 0x66BF #CJK UNIFIED IDEOGRAPH +0xEDC2 0x66FA #CJK UNIFIED IDEOGRAPH +0xEDC3 0x670E #CJK UNIFIED IDEOGRAPH +0xEDC4 0xF929 #CJK COMPATIBILITY IDEOGRAPH +0xEDC5 0x6766 #CJK UNIFIED IDEOGRAPH +0xEDC6 0x67BB #CJK UNIFIED IDEOGRAPH +0xEDC7 0x6852 #CJK UNIFIED IDEOGRAPH +0xEDC8 0x67C0 #CJK UNIFIED IDEOGRAPH +0xEDC9 0x6801 #CJK UNIFIED IDEOGRAPH +0xEDCA 0x6844 #CJK UNIFIED IDEOGRAPH +0xEDCB 0x68CF #CJK UNIFIED IDEOGRAPH +0xEDCC 0xFA13 #CJK COMPATIBILITY IDEOGRAPH +0xEDCD 0x6968 #CJK UNIFIED IDEOGRAPH +0xEDCE 0xFA14 #CJK COMPATIBILITY IDEOGRAPH +0xEDCF 0x6998 #CJK UNIFIED IDEOGRAPH +0xEDD0 0x69E2 #CJK UNIFIED IDEOGRAPH +0xEDD1 0x6A30 #CJK UNIFIED IDEOGRAPH +0xEDD2 0x6A6B #CJK UNIFIED IDEOGRAPH +0xEDD3 0x6A46 #CJK UNIFIED IDEOGRAPH +0xEDD4 0x6A73 #CJK UNIFIED IDEOGRAPH +0xEDD5 0x6A7E #CJK UNIFIED IDEOGRAPH +0xEDD6 0x6AE2 #CJK UNIFIED IDEOGRAPH +0xEDD7 0x6AE4 #CJK UNIFIED IDEOGRAPH +0xEDD8 0x6BD6 #CJK UNIFIED IDEOGRAPH +0xEDD9 0x6C3F #CJK UNIFIED IDEOGRAPH +0xEDDA 0x6C5C #CJK UNIFIED IDEOGRAPH +0xEDDB 0x6C86 #CJK UNIFIED IDEOGRAPH +0xEDDC 0x6C6F #CJK UNIFIED IDEOGRAPH +0xEDDD 0x6CDA #CJK UNIFIED IDEOGRAPH +0xEDDE 0x6D04 #CJK UNIFIED IDEOGRAPH +0xEDDF 0x6D87 #CJK UNIFIED IDEOGRAPH +0xEDE0 0x6D6F #CJK UNIFIED IDEOGRAPH +0xEDE1 0x6D96 #CJK UNIFIED IDEOGRAPH +0xEDE2 0x6DAC #CJK UNIFIED IDEOGRAPH +0xEDE3 0x6DCF #CJK UNIFIED IDEOGRAPH +0xEDE4 0x6DF8 #CJK UNIFIED IDEOGRAPH +0xEDE5 0x6DF2 #CJK UNIFIED IDEOGRAPH +0xEDE6 0x6DFC #CJK UNIFIED IDEOGRAPH +0xEDE7 0x6E39 #CJK UNIFIED IDEOGRAPH +0xEDE8 0x6E5C #CJK UNIFIED IDEOGRAPH +0xEDE9 0x6E27 #CJK UNIFIED IDEOGRAPH +0xEDEA 0x6E3C #CJK UNIFIED IDEOGRAPH +0xEDEB 0x6EBF #CJK UNIFIED IDEOGRAPH +0xEDEC 0x6F88 #CJK UNIFIED IDEOGRAPH +0xEDED 0x6FB5 #CJK UNIFIED IDEOGRAPH +0xEDEE 0x6FF5 #CJK UNIFIED IDEOGRAPH +0xEDEF 0x7005 #CJK UNIFIED IDEOGRAPH +0xEDF0 0x7007 #CJK UNIFIED IDEOGRAPH +0xEDF1 0x7028 #CJK UNIFIED IDEOGRAPH +0xEDF2 0x7085 #CJK UNIFIED IDEOGRAPH +0xEDF3 0x70AB #CJK UNIFIED IDEOGRAPH +0xEDF4 0x710F #CJK UNIFIED IDEOGRAPH +0xEDF5 0x7104 #CJK UNIFIED IDEOGRAPH +0xEDF6 0x715C #CJK UNIFIED IDEOGRAPH +0xEDF7 0x7146 #CJK UNIFIED IDEOGRAPH +0xEDF8 0x7147 #CJK UNIFIED IDEOGRAPH +0xEDF9 0xFA15 #CJK COMPATIBILITY IDEOGRAPH +0xEDFA 0x71C1 #CJK UNIFIED IDEOGRAPH +0xEDFB 0x71FE #CJK UNIFIED IDEOGRAPH +0xEDFC 0x72B1 #CJK UNIFIED IDEOGRAPH +0xEE40 0x72BE #CJK UNIFIED IDEOGRAPH +0xEE41 0x7324 #CJK UNIFIED IDEOGRAPH +0xEE42 0xFA16 #CJK COMPATIBILITY IDEOGRAPH +0xEE43 0x7377 #CJK UNIFIED IDEOGRAPH +0xEE44 0x73BD #CJK UNIFIED IDEOGRAPH +0xEE45 0x73C9 #CJK UNIFIED IDEOGRAPH +0xEE46 0x73D6 #CJK UNIFIED IDEOGRAPH +0xEE47 0x73E3 #CJK UNIFIED IDEOGRAPH +0xEE48 0x73D2 #CJK UNIFIED IDEOGRAPH +0xEE49 0x7407 #CJK UNIFIED IDEOGRAPH +0xEE4A 0x73F5 #CJK UNIFIED IDEOGRAPH +0xEE4B 0x7426 #CJK UNIFIED IDEOGRAPH +0xEE4C 0x742A #CJK UNIFIED IDEOGRAPH +0xEE4D 0x7429 #CJK UNIFIED IDEOGRAPH +0xEE4E 0x742E #CJK UNIFIED IDEOGRAPH +0xEE4F 0x7462 #CJK UNIFIED IDEOGRAPH +0xEE50 0x7489 #CJK UNIFIED IDEOGRAPH +0xEE51 0x749F #CJK UNIFIED IDEOGRAPH +0xEE52 0x7501 #CJK UNIFIED IDEOGRAPH +0xEE53 0x756F #CJK UNIFIED IDEOGRAPH +0xEE54 0x7682 #CJK UNIFIED IDEOGRAPH +0xEE55 0x769C #CJK UNIFIED IDEOGRAPH +0xEE56 0x769E #CJK UNIFIED IDEOGRAPH +0xEE57 0x769B #CJK UNIFIED IDEOGRAPH +0xEE58 0x76A6 #CJK UNIFIED IDEOGRAPH +0xEE59 0xFA17 #CJK COMPATIBILITY IDEOGRAPH +0xEE5A 0x7746 #CJK UNIFIED IDEOGRAPH +0xEE5B 0x52AF #CJK UNIFIED IDEOGRAPH +0xEE5C 0x7821 #CJK UNIFIED IDEOGRAPH +0xEE5D 0x784E #CJK UNIFIED IDEOGRAPH +0xEE5E 0x7864 #CJK UNIFIED IDEOGRAPH +0xEE5F 0x787A #CJK UNIFIED IDEOGRAPH +0xEE60 0x7930 #CJK UNIFIED IDEOGRAPH +0xEE61 0xFA18 #CJK COMPATIBILITY IDEOGRAPH +0xEE62 0xFA19 #CJK COMPATIBILITY IDEOGRAPH +0xEE63 0xFA1A #CJK COMPATIBILITY IDEOGRAPH +0xEE64 0x7994 #CJK UNIFIED IDEOGRAPH +0xEE65 0xFA1B #CJK COMPATIBILITY IDEOGRAPH +0xEE66 0x799B #CJK UNIFIED IDEOGRAPH +0xEE67 0x7AD1 #CJK UNIFIED IDEOGRAPH +0xEE68 0x7AE7 #CJK UNIFIED IDEOGRAPH +0xEE69 0xFA1C #CJK COMPATIBILITY IDEOGRAPH +0xEE6A 0x7AEB #CJK UNIFIED IDEOGRAPH +0xEE6B 0x7B9E #CJK UNIFIED IDEOGRAPH +0xEE6C 0xFA1D #CJK COMPATIBILITY IDEOGRAPH +0xEE6D 0x7D48 #CJK UNIFIED IDEOGRAPH +0xEE6E 0x7D5C #CJK UNIFIED IDEOGRAPH +0xEE6F 0x7DB7 #CJK UNIFIED IDEOGRAPH +0xEE70 0x7DA0 #CJK UNIFIED IDEOGRAPH +0xEE71 0x7DD6 #CJK UNIFIED IDEOGRAPH +0xEE72 0x7E52 #CJK UNIFIED IDEOGRAPH +0xEE73 0x7F47 #CJK UNIFIED IDEOGRAPH +0xEE74 0x7FA1 #CJK UNIFIED IDEOGRAPH +0xEE75 0xFA1E #CJK COMPATIBILITY IDEOGRAPH +0xEE76 0x8301 #CJK UNIFIED IDEOGRAPH +0xEE77 0x8362 #CJK UNIFIED IDEOGRAPH +0xEE78 0x837F #CJK UNIFIED IDEOGRAPH +0xEE79 0x83C7 #CJK UNIFIED IDEOGRAPH +0xEE7A 0x83F6 #CJK UNIFIED IDEOGRAPH +0xEE7B 0x8448 #CJK UNIFIED IDEOGRAPH +0xEE7C 0x84B4 #CJK UNIFIED IDEOGRAPH +0xEE7D 0x8553 #CJK UNIFIED IDEOGRAPH +0xEE7E 0x8559 #CJK UNIFIED IDEOGRAPH +0xEE80 0x856B #CJK UNIFIED IDEOGRAPH +0xEE81 0xFA1F #CJK COMPATIBILITY IDEOGRAPH +0xEE82 0x85B0 #CJK UNIFIED IDEOGRAPH +0xEE83 0xFA20 #CJK COMPATIBILITY IDEOGRAPH +0xEE84 0xFA21 #CJK COMPATIBILITY IDEOGRAPH +0xEE85 0x8807 #CJK UNIFIED IDEOGRAPH +0xEE86 0x88F5 #CJK UNIFIED IDEOGRAPH +0xEE87 0x8A12 #CJK UNIFIED IDEOGRAPH +0xEE88 0x8A37 #CJK UNIFIED IDEOGRAPH +0xEE89 0x8A79 #CJK UNIFIED IDEOGRAPH +0xEE8A 0x8AA7 #CJK UNIFIED IDEOGRAPH +0xEE8B 0x8ABE #CJK UNIFIED IDEOGRAPH +0xEE8C 0x8ADF #CJK UNIFIED IDEOGRAPH +0xEE8D 0xFA22 #CJK COMPATIBILITY IDEOGRAPH +0xEE8E 0x8AF6 #CJK UNIFIED IDEOGRAPH +0xEE8F 0x8B53 #CJK UNIFIED IDEOGRAPH +0xEE90 0x8B7F #CJK UNIFIED IDEOGRAPH +0xEE91 0x8CF0 #CJK UNIFIED IDEOGRAPH +0xEE92 0x8CF4 #CJK UNIFIED IDEOGRAPH +0xEE93 0x8D12 #CJK UNIFIED IDEOGRAPH +0xEE94 0x8D76 #CJK UNIFIED IDEOGRAPH +0xEE95 0xFA23 #CJK COMPATIBILITY IDEOGRAPH +0xEE96 0x8ECF #CJK UNIFIED IDEOGRAPH +0xEE97 0xFA24 #CJK COMPATIBILITY IDEOGRAPH +0xEE98 0xFA25 #CJK COMPATIBILITY IDEOGRAPH +0xEE99 0x9067 #CJK UNIFIED IDEOGRAPH +0xEE9A 0x90DE #CJK UNIFIED IDEOGRAPH +0xEE9B 0xFA26 #CJK COMPATIBILITY IDEOGRAPH +0xEE9C 0x9115 #CJK UNIFIED IDEOGRAPH +0xEE9D 0x9127 #CJK UNIFIED IDEOGRAPH +0xEE9E 0x91DA #CJK UNIFIED IDEOGRAPH +0xEE9F 0x91D7 #CJK UNIFIED IDEOGRAPH +0xEEA0 0x91DE #CJK UNIFIED IDEOGRAPH +0xEEA1 0x91ED #CJK UNIFIED IDEOGRAPH +0xEEA2 0x91EE #CJK UNIFIED IDEOGRAPH +0xEEA3 0x91E4 #CJK UNIFIED IDEOGRAPH +0xEEA4 0x91E5 #CJK UNIFIED IDEOGRAPH +0xEEA5 0x9206 #CJK UNIFIED IDEOGRAPH +0xEEA6 0x9210 #CJK UNIFIED IDEOGRAPH +0xEEA7 0x920A #CJK UNIFIED IDEOGRAPH +0xEEA8 0x923A #CJK UNIFIED IDEOGRAPH +0xEEA9 0x9240 #CJK UNIFIED IDEOGRAPH +0xEEAA 0x923C #CJK UNIFIED IDEOGRAPH +0xEEAB 0x924E #CJK UNIFIED IDEOGRAPH +0xEEAC 0x9259 #CJK UNIFIED IDEOGRAPH +0xEEAD 0x9251 #CJK UNIFIED IDEOGRAPH +0xEEAE 0x9239 #CJK UNIFIED IDEOGRAPH +0xEEAF 0x9267 #CJK UNIFIED IDEOGRAPH +0xEEB0 0x92A7 #CJK UNIFIED IDEOGRAPH +0xEEB1 0x9277 #CJK UNIFIED IDEOGRAPH +0xEEB2 0x9278 #CJK UNIFIED IDEOGRAPH +0xEEB3 0x92E7 #CJK UNIFIED IDEOGRAPH +0xEEB4 0x92D7 #CJK UNIFIED IDEOGRAPH +0xEEB5 0x92D9 #CJK UNIFIED IDEOGRAPH +0xEEB6 0x92D0 #CJK UNIFIED IDEOGRAPH +0xEEB7 0xFA27 #CJK COMPATIBILITY IDEOGRAPH +0xEEB8 0x92D5 #CJK UNIFIED IDEOGRAPH +0xEEB9 0x92E0 #CJK UNIFIED IDEOGRAPH +0xEEBA 0x92D3 #CJK UNIFIED IDEOGRAPH +0xEEBB 0x9325 #CJK UNIFIED IDEOGRAPH +0xEEBC 0x9321 #CJK UNIFIED IDEOGRAPH +0xEEBD 0x92FB #CJK UNIFIED IDEOGRAPH +0xEEBE 0xFA28 #CJK COMPATIBILITY IDEOGRAPH +0xEEBF 0x931E #CJK UNIFIED IDEOGRAPH +0xEEC0 0x92FF #CJK UNIFIED IDEOGRAPH +0xEEC1 0x931D #CJK UNIFIED IDEOGRAPH +0xEEC2 0x9302 #CJK UNIFIED IDEOGRAPH +0xEEC3 0x9370 #CJK UNIFIED IDEOGRAPH +0xEEC4 0x9357 #CJK UNIFIED IDEOGRAPH +0xEEC5 0x93A4 #CJK UNIFIED IDEOGRAPH +0xEEC6 0x93C6 #CJK UNIFIED IDEOGRAPH +0xEEC7 0x93DE #CJK UNIFIED IDEOGRAPH +0xEEC8 0x93F8 #CJK UNIFIED IDEOGRAPH +0xEEC9 0x9431 #CJK UNIFIED IDEOGRAPH +0xEECA 0x9445 #CJK UNIFIED IDEOGRAPH +0xEECB 0x9448 #CJK UNIFIED IDEOGRAPH +0xEECC 0x9592 #CJK UNIFIED IDEOGRAPH +0xEECD 0xF9DC #CJK COMPATIBILITY IDEOGRAPH +0xEECE 0xFA29 #CJK COMPATIBILITY IDEOGRAPH +0xEECF 0x969D #CJK UNIFIED IDEOGRAPH +0xEED0 0x96AF #CJK UNIFIED IDEOGRAPH +0xEED1 0x9733 #CJK UNIFIED IDEOGRAPH +0xEED2 0x973B #CJK UNIFIED IDEOGRAPH +0xEED3 0x9743 #CJK UNIFIED IDEOGRAPH +0xEED4 0x974D #CJK UNIFIED IDEOGRAPH +0xEED5 0x974F #CJK UNIFIED IDEOGRAPH +0xEED6 0x9751 #CJK UNIFIED IDEOGRAPH +0xEED7 0x9755 #CJK UNIFIED IDEOGRAPH +0xEED8 0x9857 #CJK UNIFIED IDEOGRAPH +0xEED9 0x9865 #CJK UNIFIED IDEOGRAPH +0xEEDA 0xFA2A #CJK COMPATIBILITY IDEOGRAPH +0xEEDB 0xFA2B #CJK COMPATIBILITY IDEOGRAPH +0xEEDC 0x9927 #CJK UNIFIED IDEOGRAPH +0xEEDD 0xFA2C #CJK COMPATIBILITY IDEOGRAPH +0xEEDE 0x999E #CJK UNIFIED IDEOGRAPH +0xEEDF 0x9A4E #CJK UNIFIED IDEOGRAPH +0xEEE0 0x9AD9 #CJK UNIFIED IDEOGRAPH +0xEEE1 0x9ADC #CJK UNIFIED IDEOGRAPH +0xEEE2 0x9B75 #CJK UNIFIED IDEOGRAPH +0xEEE3 0x9B72 #CJK UNIFIED IDEOGRAPH +0xEEE4 0x9B8F #CJK UNIFIED IDEOGRAPH +0xEEE5 0x9BB1 #CJK UNIFIED IDEOGRAPH +0xEEE6 0x9BBB #CJK UNIFIED IDEOGRAPH +0xEEE7 0x9C00 #CJK UNIFIED IDEOGRAPH +0xEEE8 0x9D70 #CJK UNIFIED IDEOGRAPH +0xEEE9 0x9D6B #CJK UNIFIED IDEOGRAPH +0xEEEA 0xFA2D #CJK COMPATIBILITY IDEOGRAPH +0xEEEB 0x9E19 #CJK UNIFIED IDEOGRAPH +0xEEEC 0x9ED1 #CJK UNIFIED IDEOGRAPH +0xEEEF 0x2170 #SMALL ROMAN NUMERAL ONE +0xEEF0 0x2171 #SMALL ROMAN NUMERAL TWO +0xEEF1 0x2172 #SMALL ROMAN NUMERAL THREE +0xEEF2 0x2173 #SMALL ROMAN NUMERAL FOUR +0xEEF3 0x2174 #SMALL ROMAN NUMERAL FIVE +0xEEF4 0x2175 #SMALL ROMAN NUMERAL SIX +0xEEF5 0x2176 #SMALL ROMAN NUMERAL SEVEN +0xEEF6 0x2177 #SMALL ROMAN NUMERAL EIGHT +0xEEF7 0x2178 #SMALL ROMAN NUMERAL NINE +0xEEF8 0x2179 #SMALL ROMAN NUMERAL TEN +0xEEF9 0xFFE2 #FULLWIDTH NOT SIGN +0xEEFA 0xFFE4 #FULLWIDTH BROKEN BAR +0xEEFB 0xFF07 #FULLWIDTH APOSTROPHE +0xEEFC 0xFF02 #FULLWIDTH QUOTATION MARK +0xFA40 0x2170 #SMALL ROMAN NUMERAL ONE +0xFA41 0x2171 #SMALL ROMAN NUMERAL TWO +0xFA42 0x2172 #SMALL ROMAN NUMERAL THREE +0xFA43 0x2173 #SMALL ROMAN NUMERAL FOUR +0xFA44 0x2174 #SMALL ROMAN NUMERAL FIVE +0xFA45 0x2175 #SMALL ROMAN NUMERAL SIX +0xFA46 0x2176 #SMALL ROMAN NUMERAL SEVEN +0xFA47 0x2177 #SMALL ROMAN NUMERAL EIGHT +0xFA48 0x2178 #SMALL ROMAN NUMERAL NINE +0xFA49 0x2179 #SMALL ROMAN NUMERAL TEN +0xFA4A 0x2160 #ROMAN NUMERAL ONE +0xFA4B 0x2161 #ROMAN NUMERAL TWO +0xFA4C 0x2162 #ROMAN NUMERAL THREE +0xFA4D 0x2163 #ROMAN NUMERAL FOUR +0xFA4E 0x2164 #ROMAN NUMERAL FIVE +0xFA4F 0x2165 #ROMAN NUMERAL SIX +0xFA50 0x2166 #ROMAN NUMERAL SEVEN +0xFA51 0x2167 #ROMAN NUMERAL EIGHT +0xFA52 0x2168 #ROMAN NUMERAL NINE +0xFA53 0x2169 #ROMAN NUMERAL TEN +0xFA54 0xFFE2 #FULLWIDTH NOT SIGN +0xFA55 0xFFE4 #FULLWIDTH BROKEN BAR +0xFA56 0xFF07 #FULLWIDTH APOSTROPHE +0xFA57 0xFF02 #FULLWIDTH QUOTATION MARK +0xFA58 0x3231 #PARENTHESIZED IDEOGRAPH STOCK +0xFA59 0x2116 #NUMERO SIGN +0xFA5A 0x2121 #TELEPHONE SIGN +0xFA5B 0x2235 #BECAUSE +0xFA5C 0x7E8A #CJK UNIFIED IDEOGRAPH +0xFA5D 0x891C #CJK UNIFIED IDEOGRAPH +0xFA5E 0x9348 #CJK UNIFIED IDEOGRAPH +0xFA5F 0x9288 #CJK UNIFIED IDEOGRAPH +0xFA60 0x84DC #CJK UNIFIED IDEOGRAPH +0xFA61 0x4FC9 #CJK UNIFIED IDEOGRAPH +0xFA62 0x70BB #CJK UNIFIED IDEOGRAPH +0xFA63 0x6631 #CJK UNIFIED IDEOGRAPH +0xFA64 0x68C8 #CJK UNIFIED IDEOGRAPH +0xFA65 0x92F9 #CJK UNIFIED IDEOGRAPH +0xFA66 0x66FB #CJK UNIFIED IDEOGRAPH +0xFA67 0x5F45 #CJK UNIFIED IDEOGRAPH +0xFA68 0x4E28 #CJK UNIFIED IDEOGRAPH +0xFA69 0x4EE1 #CJK UNIFIED IDEOGRAPH +0xFA6A 0x4EFC #CJK UNIFIED IDEOGRAPH +0xFA6B 0x4F00 #CJK UNIFIED IDEOGRAPH +0xFA6C 0x4F03 #CJK UNIFIED IDEOGRAPH +0xFA6D 0x4F39 #CJK UNIFIED IDEOGRAPH +0xFA6E 0x4F56 #CJK UNIFIED IDEOGRAPH +0xFA6F 0x4F92 #CJK UNIFIED IDEOGRAPH +0xFA70 0x4F8A #CJK UNIFIED IDEOGRAPH +0xFA71 0x4F9A #CJK UNIFIED IDEOGRAPH +0xFA72 0x4F94 #CJK UNIFIED IDEOGRAPH +0xFA73 0x4FCD #CJK UNIFIED IDEOGRAPH +0xFA74 0x5040 #CJK UNIFIED IDEOGRAPH +0xFA75 0x5022 #CJK UNIFIED IDEOGRAPH +0xFA76 0x4FFF #CJK UNIFIED IDEOGRAPH +0xFA77 0x501E #CJK UNIFIED IDEOGRAPH +0xFA78 0x5046 #CJK UNIFIED IDEOGRAPH +0xFA79 0x5070 #CJK UNIFIED IDEOGRAPH +0xFA7A 0x5042 #CJK UNIFIED IDEOGRAPH +0xFA7B 0x5094 #CJK UNIFIED IDEOGRAPH +0xFA7C 0x50F4 #CJK UNIFIED IDEOGRAPH +0xFA7D 0x50D8 #CJK UNIFIED IDEOGRAPH +0xFA7E 0x514A #CJK UNIFIED IDEOGRAPH +0xFA80 0x5164 #CJK UNIFIED IDEOGRAPH +0xFA81 0x519D #CJK UNIFIED IDEOGRAPH +0xFA82 0x51BE #CJK UNIFIED IDEOGRAPH +0xFA83 0x51EC #CJK UNIFIED IDEOGRAPH +0xFA84 0x5215 #CJK UNIFIED IDEOGRAPH +0xFA85 0x529C #CJK UNIFIED IDEOGRAPH +0xFA86 0x52A6 #CJK UNIFIED IDEOGRAPH +0xFA87 0x52C0 #CJK UNIFIED IDEOGRAPH +0xFA88 0x52DB #CJK UNIFIED IDEOGRAPH +0xFA89 0x5300 #CJK UNIFIED IDEOGRAPH +0xFA8A 0x5307 #CJK UNIFIED IDEOGRAPH +0xFA8B 0x5324 #CJK UNIFIED IDEOGRAPH +0xFA8C 0x5372 #CJK UNIFIED IDEOGRAPH +0xFA8D 0x5393 #CJK UNIFIED IDEOGRAPH +0xFA8E 0x53B2 #CJK UNIFIED IDEOGRAPH +0xFA8F 0x53DD #CJK UNIFIED IDEOGRAPH +0xFA90 0xFA0E #CJK COMPATIBILITY IDEOGRAPH +0xFA91 0x549C #CJK UNIFIED IDEOGRAPH +0xFA92 0x548A #CJK UNIFIED IDEOGRAPH +0xFA93 0x54A9 #CJK UNIFIED IDEOGRAPH +0xFA94 0x54FF #CJK UNIFIED IDEOGRAPH +0xFA95 0x5586 #CJK UNIFIED IDEOGRAPH +0xFA96 0x5759 #CJK UNIFIED IDEOGRAPH +0xFA97 0x5765 #CJK UNIFIED IDEOGRAPH +0xFA98 0x57AC #CJK UNIFIED IDEOGRAPH +0xFA99 0x57C8 #CJK UNIFIED IDEOGRAPH +0xFA9A 0x57C7 #CJK UNIFIED IDEOGRAPH +0xFA9B 0xFA0F #CJK COMPATIBILITY IDEOGRAPH +0xFA9C 0xFA10 #CJK COMPATIBILITY IDEOGRAPH +0xFA9D 0x589E #CJK UNIFIED IDEOGRAPH +0xFA9E 0x58B2 #CJK UNIFIED IDEOGRAPH +0xFA9F 0x590B #CJK UNIFIED IDEOGRAPH +0xFAA0 0x5953 #CJK UNIFIED IDEOGRAPH +0xFAA1 0x595B #CJK UNIFIED IDEOGRAPH +0xFAA2 0x595D #CJK UNIFIED IDEOGRAPH +0xFAA3 0x5963 #CJK UNIFIED IDEOGRAPH +0xFAA4 0x59A4 #CJK UNIFIED IDEOGRAPH +0xFAA5 0x59BA #CJK UNIFIED IDEOGRAPH +0xFAA6 0x5B56 #CJK UNIFIED IDEOGRAPH +0xFAA7 0x5BC0 #CJK UNIFIED IDEOGRAPH +0xFAA8 0x752F #CJK UNIFIED IDEOGRAPH +0xFAA9 0x5BD8 #CJK UNIFIED IDEOGRAPH +0xFAAA 0x5BEC #CJK UNIFIED IDEOGRAPH +0xFAAB 0x5C1E #CJK UNIFIED IDEOGRAPH +0xFAAC 0x5CA6 #CJK UNIFIED IDEOGRAPH +0xFAAD 0x5CBA #CJK UNIFIED IDEOGRAPH +0xFAAE 0x5CF5 #CJK UNIFIED IDEOGRAPH +0xFAAF 0x5D27 #CJK UNIFIED IDEOGRAPH +0xFAB0 0x5D53 #CJK UNIFIED IDEOGRAPH +0xFAB1 0xFA11 #CJK COMPATIBILITY IDEOGRAPH +0xFAB2 0x5D42 #CJK UNIFIED IDEOGRAPH +0xFAB3 0x5D6D #CJK UNIFIED IDEOGRAPH +0xFAB4 0x5DB8 #CJK UNIFIED IDEOGRAPH +0xFAB5 0x5DB9 #CJK UNIFIED IDEOGRAPH +0xFAB6 0x5DD0 #CJK UNIFIED IDEOGRAPH +0xFAB7 0x5F21 #CJK UNIFIED IDEOGRAPH +0xFAB8 0x5F34 #CJK UNIFIED IDEOGRAPH +0xFAB9 0x5F67 #CJK UNIFIED IDEOGRAPH +0xFABA 0x5FB7 #CJK UNIFIED IDEOGRAPH +0xFABB 0x5FDE #CJK UNIFIED IDEOGRAPH +0xFABC 0x605D #CJK UNIFIED IDEOGRAPH +0xFABD 0x6085 #CJK UNIFIED IDEOGRAPH +0xFABE 0x608A #CJK UNIFIED IDEOGRAPH +0xFABF 0x60DE #CJK UNIFIED IDEOGRAPH +0xFAC0 0x60D5 #CJK UNIFIED IDEOGRAPH +0xFAC1 0x6120 #CJK UNIFIED IDEOGRAPH +0xFAC2 0x60F2 #CJK UNIFIED IDEOGRAPH +0xFAC3 0x6111 #CJK UNIFIED IDEOGRAPH +0xFAC4 0x6137 #CJK UNIFIED IDEOGRAPH +0xFAC5 0x6130 #CJK UNIFIED IDEOGRAPH +0xFAC6 0x6198 #CJK UNIFIED IDEOGRAPH +0xFAC7 0x6213 #CJK UNIFIED IDEOGRAPH +0xFAC8 0x62A6 #CJK UNIFIED IDEOGRAPH +0xFAC9 0x63F5 #CJK UNIFIED IDEOGRAPH +0xFACA 0x6460 #CJK UNIFIED IDEOGRAPH +0xFACB 0x649D #CJK UNIFIED IDEOGRAPH +0xFACC 0x64CE #CJK UNIFIED IDEOGRAPH +0xFACD 0x654E #CJK UNIFIED IDEOGRAPH +0xFACE 0x6600 #CJK UNIFIED IDEOGRAPH +0xFACF 0x6615 #CJK UNIFIED IDEOGRAPH +0xFAD0 0x663B #CJK UNIFIED IDEOGRAPH +0xFAD1 0x6609 #CJK UNIFIED IDEOGRAPH +0xFAD2 0x662E #CJK UNIFIED IDEOGRAPH +0xFAD3 0x661E #CJK UNIFIED IDEOGRAPH +0xFAD4 0x6624 #CJK UNIFIED IDEOGRAPH +0xFAD5 0x6665 #CJK UNIFIED IDEOGRAPH +0xFAD6 0x6657 #CJK UNIFIED IDEOGRAPH +0xFAD7 0x6659 #CJK UNIFIED IDEOGRAPH +0xFAD8 0xFA12 #CJK COMPATIBILITY IDEOGRAPH +0xFAD9 0x6673 #CJK UNIFIED IDEOGRAPH +0xFADA 0x6699 #CJK UNIFIED IDEOGRAPH +0xFADB 0x66A0 #CJK UNIFIED IDEOGRAPH +0xFADC 0x66B2 #CJK UNIFIED IDEOGRAPH +0xFADD 0x66BF #CJK UNIFIED IDEOGRAPH +0xFADE 0x66FA #CJK UNIFIED IDEOGRAPH +0xFADF 0x670E #CJK UNIFIED IDEOGRAPH +0xFAE0 0xF929 #CJK COMPATIBILITY IDEOGRAPH +0xFAE1 0x6766 #CJK UNIFIED IDEOGRAPH +0xFAE2 0x67BB #CJK UNIFIED IDEOGRAPH +0xFAE3 0x6852 #CJK UNIFIED IDEOGRAPH +0xFAE4 0x67C0 #CJK UNIFIED IDEOGRAPH +0xFAE5 0x6801 #CJK UNIFIED IDEOGRAPH +0xFAE6 0x6844 #CJK UNIFIED IDEOGRAPH +0xFAE7 0x68CF #CJK UNIFIED IDEOGRAPH +0xFAE8 0xFA13 #CJK COMPATIBILITY IDEOGRAPH +0xFAE9 0x6968 #CJK UNIFIED IDEOGRAPH +0xFAEA 0xFA14 #CJK COMPATIBILITY IDEOGRAPH +0xFAEB 0x6998 #CJK UNIFIED IDEOGRAPH +0xFAEC 0x69E2 #CJK UNIFIED IDEOGRAPH +0xFAED 0x6A30 #CJK UNIFIED IDEOGRAPH +0xFAEE 0x6A6B #CJK UNIFIED IDEOGRAPH +0xFAEF 0x6A46 #CJK UNIFIED IDEOGRAPH +0xFAF0 0x6A73 #CJK UNIFIED IDEOGRAPH +0xFAF1 0x6A7E #CJK UNIFIED IDEOGRAPH +0xFAF2 0x6AE2 #CJK UNIFIED IDEOGRAPH +0xFAF3 0x6AE4 #CJK UNIFIED IDEOGRAPH +0xFAF4 0x6BD6 #CJK UNIFIED IDEOGRAPH +0xFAF5 0x6C3F #CJK UNIFIED IDEOGRAPH +0xFAF6 0x6C5C #CJK UNIFIED IDEOGRAPH +0xFAF7 0x6C86 #CJK UNIFIED IDEOGRAPH +0xFAF8 0x6C6F #CJK UNIFIED IDEOGRAPH +0xFAF9 0x6CDA #CJK UNIFIED IDEOGRAPH +0xFAFA 0x6D04 #CJK UNIFIED IDEOGRAPH +0xFAFB 0x6D87 #CJK UNIFIED IDEOGRAPH +0xFAFC 0x6D6F #CJK UNIFIED IDEOGRAPH +0xFB40 0x6D96 #CJK UNIFIED IDEOGRAPH +0xFB41 0x6DAC #CJK UNIFIED IDEOGRAPH +0xFB42 0x6DCF #CJK UNIFIED IDEOGRAPH +0xFB43 0x6DF8 #CJK UNIFIED IDEOGRAPH +0xFB44 0x6DF2 #CJK UNIFIED IDEOGRAPH +0xFB45 0x6DFC #CJK UNIFIED IDEOGRAPH +0xFB46 0x6E39 #CJK UNIFIED IDEOGRAPH +0xFB47 0x6E5C #CJK UNIFIED IDEOGRAPH +0xFB48 0x6E27 #CJK UNIFIED IDEOGRAPH +0xFB49 0x6E3C #CJK UNIFIED IDEOGRAPH +0xFB4A 0x6EBF #CJK UNIFIED IDEOGRAPH +0xFB4B 0x6F88 #CJK UNIFIED IDEOGRAPH +0xFB4C 0x6FB5 #CJK UNIFIED IDEOGRAPH +0xFB4D 0x6FF5 #CJK UNIFIED IDEOGRAPH +0xFB4E 0x7005 #CJK UNIFIED IDEOGRAPH +0xFB4F 0x7007 #CJK UNIFIED IDEOGRAPH +0xFB50 0x7028 #CJK UNIFIED IDEOGRAPH +0xFB51 0x7085 #CJK UNIFIED IDEOGRAPH +0xFB52 0x70AB #CJK UNIFIED IDEOGRAPH +0xFB53 0x710F #CJK UNIFIED IDEOGRAPH +0xFB54 0x7104 #CJK UNIFIED IDEOGRAPH +0xFB55 0x715C #CJK UNIFIED IDEOGRAPH +0xFB56 0x7146 #CJK UNIFIED IDEOGRAPH +0xFB57 0x7147 #CJK UNIFIED IDEOGRAPH +0xFB58 0xFA15 #CJK COMPATIBILITY IDEOGRAPH +0xFB59 0x71C1 #CJK UNIFIED IDEOGRAPH +0xFB5A 0x71FE #CJK UNIFIED IDEOGRAPH +0xFB5B 0x72B1 #CJK UNIFIED IDEOGRAPH +0xFB5C 0x72BE #CJK UNIFIED IDEOGRAPH +0xFB5D 0x7324 #CJK UNIFIED IDEOGRAPH +0xFB5E 0xFA16 #CJK COMPATIBILITY IDEOGRAPH +0xFB5F 0x7377 #CJK UNIFIED IDEOGRAPH +0xFB60 0x73BD #CJK UNIFIED IDEOGRAPH +0xFB61 0x73C9 #CJK UNIFIED IDEOGRAPH +0xFB62 0x73D6 #CJK UNIFIED IDEOGRAPH +0xFB63 0x73E3 #CJK UNIFIED IDEOGRAPH +0xFB64 0x73D2 #CJK UNIFIED IDEOGRAPH +0xFB65 0x7407 #CJK UNIFIED IDEOGRAPH +0xFB66 0x73F5 #CJK UNIFIED IDEOGRAPH +0xFB67 0x7426 #CJK UNIFIED IDEOGRAPH +0xFB68 0x742A #CJK UNIFIED IDEOGRAPH +0xFB69 0x7429 #CJK UNIFIED IDEOGRAPH +0xFB6A 0x742E #CJK UNIFIED IDEOGRAPH +0xFB6B 0x7462 #CJK UNIFIED IDEOGRAPH +0xFB6C 0x7489 #CJK UNIFIED IDEOGRAPH +0xFB6D 0x749F #CJK UNIFIED IDEOGRAPH +0xFB6E 0x7501 #CJK UNIFIED IDEOGRAPH +0xFB6F 0x756F #CJK UNIFIED IDEOGRAPH +0xFB70 0x7682 #CJK UNIFIED IDEOGRAPH +0xFB71 0x769C #CJK UNIFIED IDEOGRAPH +0xFB72 0x769E #CJK UNIFIED IDEOGRAPH +0xFB73 0x769B #CJK UNIFIED IDEOGRAPH +0xFB74 0x76A6 #CJK UNIFIED IDEOGRAPH +0xFB75 0xFA17 #CJK COMPATIBILITY IDEOGRAPH +0xFB76 0x7746 #CJK UNIFIED IDEOGRAPH +0xFB77 0x52AF #CJK UNIFIED IDEOGRAPH +0xFB78 0x7821 #CJK UNIFIED IDEOGRAPH +0xFB79 0x784E #CJK UNIFIED IDEOGRAPH +0xFB7A 0x7864 #CJK UNIFIED IDEOGRAPH +0xFB7B 0x787A #CJK UNIFIED IDEOGRAPH +0xFB7C 0x7930 #CJK UNIFIED IDEOGRAPH +0xFB7D 0xFA18 #CJK COMPATIBILITY IDEOGRAPH +0xFB7E 0xFA19 #CJK COMPATIBILITY IDEOGRAPH +0xFB80 0xFA1A #CJK COMPATIBILITY IDEOGRAPH +0xFB81 0x7994 #CJK UNIFIED IDEOGRAPH +0xFB82 0xFA1B #CJK COMPATIBILITY IDEOGRAPH +0xFB83 0x799B #CJK UNIFIED IDEOGRAPH +0xFB84 0x7AD1 #CJK UNIFIED IDEOGRAPH +0xFB85 0x7AE7 #CJK UNIFIED IDEOGRAPH +0xFB86 0xFA1C #CJK COMPATIBILITY IDEOGRAPH +0xFB87 0x7AEB #CJK UNIFIED IDEOGRAPH +0xFB88 0x7B9E #CJK UNIFIED IDEOGRAPH +0xFB89 0xFA1D #CJK COMPATIBILITY IDEOGRAPH +0xFB8A 0x7D48 #CJK UNIFIED IDEOGRAPH +0xFB8B 0x7D5C #CJK UNIFIED IDEOGRAPH +0xFB8C 0x7DB7 #CJK UNIFIED IDEOGRAPH +0xFB8D 0x7DA0 #CJK UNIFIED IDEOGRAPH +0xFB8E 0x7DD6 #CJK UNIFIED IDEOGRAPH +0xFB8F 0x7E52 #CJK UNIFIED IDEOGRAPH +0xFB90 0x7F47 #CJK UNIFIED IDEOGRAPH +0xFB91 0x7FA1 #CJK UNIFIED IDEOGRAPH +0xFB92 0xFA1E #CJK COMPATIBILITY IDEOGRAPH +0xFB93 0x8301 #CJK UNIFIED IDEOGRAPH +0xFB94 0x8362 #CJK UNIFIED IDEOGRAPH +0xFB95 0x837F #CJK UNIFIED IDEOGRAPH +0xFB96 0x83C7 #CJK UNIFIED IDEOGRAPH +0xFB97 0x83F6 #CJK UNIFIED IDEOGRAPH +0xFB98 0x8448 #CJK UNIFIED IDEOGRAPH +0xFB99 0x84B4 #CJK UNIFIED IDEOGRAPH +0xFB9A 0x8553 #CJK UNIFIED IDEOGRAPH +0xFB9B 0x8559 #CJK UNIFIED IDEOGRAPH +0xFB9C 0x856B #CJK UNIFIED IDEOGRAPH +0xFB9D 0xFA1F #CJK COMPATIBILITY IDEOGRAPH +0xFB9E 0x85B0 #CJK UNIFIED IDEOGRAPH +0xFB9F 0xFA20 #CJK COMPATIBILITY IDEOGRAPH +0xFBA0 0xFA21 #CJK COMPATIBILITY IDEOGRAPH +0xFBA1 0x8807 #CJK UNIFIED IDEOGRAPH +0xFBA2 0x88F5 #CJK UNIFIED IDEOGRAPH +0xFBA3 0x8A12 #CJK UNIFIED IDEOGRAPH +0xFBA4 0x8A37 #CJK UNIFIED IDEOGRAPH +0xFBA5 0x8A79 #CJK UNIFIED IDEOGRAPH +0xFBA6 0x8AA7 #CJK UNIFIED IDEOGRAPH +0xFBA7 0x8ABE #CJK UNIFIED IDEOGRAPH +0xFBA8 0x8ADF #CJK UNIFIED IDEOGRAPH +0xFBA9 0xFA22 #CJK COMPATIBILITY IDEOGRAPH +0xFBAA 0x8AF6 #CJK UNIFIED IDEOGRAPH +0xFBAB 0x8B53 #CJK UNIFIED IDEOGRAPH +0xFBAC 0x8B7F #CJK UNIFIED IDEOGRAPH +0xFBAD 0x8CF0 #CJK UNIFIED IDEOGRAPH +0xFBAE 0x8CF4 #CJK UNIFIED IDEOGRAPH +0xFBAF 0x8D12 #CJK UNIFIED IDEOGRAPH +0xFBB0 0x8D76 #CJK UNIFIED IDEOGRAPH +0xFBB1 0xFA23 #CJK COMPATIBILITY IDEOGRAPH +0xFBB2 0x8ECF #CJK UNIFIED IDEOGRAPH +0xFBB3 0xFA24 #CJK COMPATIBILITY IDEOGRAPH +0xFBB4 0xFA25 #CJK COMPATIBILITY IDEOGRAPH +0xFBB5 0x9067 #CJK UNIFIED IDEOGRAPH +0xFBB6 0x90DE #CJK UNIFIED IDEOGRAPH +0xFBB7 0xFA26 #CJK COMPATIBILITY IDEOGRAPH +0xFBB8 0x9115 #CJK UNIFIED IDEOGRAPH +0xFBB9 0x9127 #CJK UNIFIED IDEOGRAPH +0xFBBA 0x91DA #CJK UNIFIED IDEOGRAPH +0xFBBB 0x91D7 #CJK UNIFIED IDEOGRAPH +0xFBBC 0x91DE #CJK UNIFIED IDEOGRAPH +0xFBBD 0x91ED #CJK UNIFIED IDEOGRAPH +0xFBBE 0x91EE #CJK UNIFIED IDEOGRAPH +0xFBBF 0x91E4 #CJK UNIFIED IDEOGRAPH +0xFBC0 0x91E5 #CJK UNIFIED IDEOGRAPH +0xFBC1 0x9206 #CJK UNIFIED IDEOGRAPH +0xFBC2 0x9210 #CJK UNIFIED IDEOGRAPH +0xFBC3 0x920A #CJK UNIFIED IDEOGRAPH +0xFBC4 0x923A #CJK UNIFIED IDEOGRAPH +0xFBC5 0x9240 #CJK UNIFIED IDEOGRAPH +0xFBC6 0x923C #CJK UNIFIED IDEOGRAPH +0xFBC7 0x924E #CJK UNIFIED IDEOGRAPH +0xFBC8 0x9259 #CJK UNIFIED IDEOGRAPH +0xFBC9 0x9251 #CJK UNIFIED IDEOGRAPH +0xFBCA 0x9239 #CJK UNIFIED IDEOGRAPH +0xFBCB 0x9267 #CJK UNIFIED IDEOGRAPH +0xFBCC 0x92A7 #CJK UNIFIED IDEOGRAPH +0xFBCD 0x9277 #CJK UNIFIED IDEOGRAPH +0xFBCE 0x9278 #CJK UNIFIED IDEOGRAPH +0xFBCF 0x92E7 #CJK UNIFIED IDEOGRAPH +0xFBD0 0x92D7 #CJK UNIFIED IDEOGRAPH +0xFBD1 0x92D9 #CJK UNIFIED IDEOGRAPH +0xFBD2 0x92D0 #CJK UNIFIED IDEOGRAPH +0xFBD3 0xFA27 #CJK COMPATIBILITY IDEOGRAPH +0xFBD4 0x92D5 #CJK UNIFIED IDEOGRAPH +0xFBD5 0x92E0 #CJK UNIFIED IDEOGRAPH +0xFBD6 0x92D3 #CJK UNIFIED IDEOGRAPH +0xFBD7 0x9325 #CJK UNIFIED IDEOGRAPH +0xFBD8 0x9321 #CJK UNIFIED IDEOGRAPH +0xFBD9 0x92FB #CJK UNIFIED IDEOGRAPH +0xFBDA 0xFA28 #CJK COMPATIBILITY IDEOGRAPH +0xFBDB 0x931E #CJK UNIFIED IDEOGRAPH +0xFBDC 0x92FF #CJK UNIFIED IDEOGRAPH +0xFBDD 0x931D #CJK UNIFIED IDEOGRAPH +0xFBDE 0x9302 #CJK UNIFIED IDEOGRAPH +0xFBDF 0x9370 #CJK UNIFIED IDEOGRAPH +0xFBE0 0x9357 #CJK UNIFIED IDEOGRAPH +0xFBE1 0x93A4 #CJK UNIFIED IDEOGRAPH +0xFBE2 0x93C6 #CJK UNIFIED IDEOGRAPH +0xFBE3 0x93DE #CJK UNIFIED IDEOGRAPH +0xFBE4 0x93F8 #CJK UNIFIED IDEOGRAPH +0xFBE5 0x9431 #CJK UNIFIED IDEOGRAPH +0xFBE6 0x9445 #CJK UNIFIED IDEOGRAPH +0xFBE7 0x9448 #CJK UNIFIED IDEOGRAPH +0xFBE8 0x9592 #CJK UNIFIED IDEOGRAPH +0xFBE9 0xF9DC #CJK COMPATIBILITY IDEOGRAPH +0xFBEA 0xFA29 #CJK COMPATIBILITY IDEOGRAPH +0xFBEB 0x969D #CJK UNIFIED IDEOGRAPH +0xFBEC 0x96AF #CJK UNIFIED IDEOGRAPH +0xFBED 0x9733 #CJK UNIFIED IDEOGRAPH +0xFBEE 0x973B #CJK UNIFIED IDEOGRAPH +0xFBEF 0x9743 #CJK UNIFIED IDEOGRAPH +0xFBF0 0x974D #CJK UNIFIED IDEOGRAPH +0xFBF1 0x974F #CJK UNIFIED IDEOGRAPH +0xFBF2 0x9751 #CJK UNIFIED IDEOGRAPH +0xFBF3 0x9755 #CJK UNIFIED IDEOGRAPH +0xFBF4 0x9857 #CJK UNIFIED IDEOGRAPH +0xFBF5 0x9865 #CJK UNIFIED IDEOGRAPH +0xFBF6 0xFA2A #CJK COMPATIBILITY IDEOGRAPH +0xFBF7 0xFA2B #CJK COMPATIBILITY IDEOGRAPH +0xFBF8 0x9927 #CJK UNIFIED IDEOGRAPH +0xFBF9 0xFA2C #CJK COMPATIBILITY IDEOGRAPH +0xFBFA 0x999E #CJK UNIFIED IDEOGRAPH +0xFBFB 0x9A4E #CJK UNIFIED IDEOGRAPH +0xFBFC 0x9AD9 #CJK UNIFIED IDEOGRAPH +0xFC40 0x9ADC #CJK UNIFIED IDEOGRAPH +0xFC41 0x9B75 #CJK UNIFIED IDEOGRAPH +0xFC42 0x9B72 #CJK UNIFIED IDEOGRAPH +0xFC43 0x9B8F #CJK UNIFIED IDEOGRAPH +0xFC44 0x9BB1 #CJK UNIFIED IDEOGRAPH +0xFC45 0x9BBB #CJK UNIFIED IDEOGRAPH +0xFC46 0x9C00 #CJK UNIFIED IDEOGRAPH +0xFC47 0x9D70 #CJK UNIFIED IDEOGRAPH +0xFC48 0x9D6B #CJK UNIFIED IDEOGRAPH +0xFC49 0xFA2D #CJK COMPATIBILITY IDEOGRAPH +0xFC4A 0x9E19 #CJK UNIFIED IDEOGRAPH +0xFC4B 0x9ED1 #CJK UNIFIED IDEOGRAPH diff --git a/ext/mbstring/tests/bug47399.phpt b/ext/mbstring/tests/bug47399.phpt deleted file mode 100644 index 3586e5cc7207a..0000000000000 --- a/ext/mbstring/tests/bug47399.phpt +++ /dev/null @@ -1,525 +0,0 @@ ---TEST-- -Bug #47399 (mb_check_encoding() returns true for some illegal SJIS characters) ---SKIPIF-- - ---FILE-- - ---EXPECT-- -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(false) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(false) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(false) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(true) -bool(false) -bool(false) -bool(false) diff --git a/ext/mbstring/tests/cp932_encoding.phpt b/ext/mbstring/tests/cp932_encoding.phpt new file mode 100644 index 0000000000000..021a7e6c64d6c --- /dev/null +++ b/ext/mbstring/tests/cp932_encoding.phpt @@ -0,0 +1,96 @@ +--TEST-- +Exhaustive test of CP932 encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-16BE string */ +$fp = fopen(realpath(__DIR__ . '/../docs/CP932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + $validChars[chr($bytes)] = pack('n', $codepoint); + else + $validChars[pack('n', $bytes)] = pack('n', $codepoint); + } +} + +/* Aside from the characters in that table, we also support a 'user' area + * from 0xF040-0xF9FC, which map to Unicode 'private' codepoints 0xE000-E757 */ +$codepoint = 0xE000; +for ($i = 0xF0; $i <= 0xF9; $i++) { + for ($j = 0x40; $j <= 0xFC; $j++) { + if ($j == 0x7F) + continue; + $validChars[chr($i) . chr($j)] = pack('n', $codepoint); + $codepoint++; + } +} + +$invalidChars = array(); +for ($i = 0; $i < 256; $i++) { + $byte = chr($i); + if (($i >= 0x81 && $i <= 0x9F) || ($i >= 0xE0 && $i <= 0xFC)) { + // Could be first byte of a double-byte character + for ($j = 0; $j < 256; $j++) { + $str = $byte . chr($j); + if (!isset($validChars[$str])) + $invalidChars[$str] = true; + } + } else { + if (!isset($validChars[$byte])) + $invalidChars[$byte] = true; + } +} + +/* There are 396 Unicode codepoints which are non-invertible in CP932 + * (multiple CP932 byte sequences map to the same codepoint) + * Some of these are 3-way pile-ups. I wonder what the fine folks at MicroSoft + * were thinking when they designed this text encoding. */ + +/* Everything from 0xED00-0xEEFF falls in this unfortunate category + * (Other sequences in 0xFA00-0xFBFF map to the same codepoints, and when + * converting from Unicode back to CP932, we favor the F's rather than the E's) */ +$nonInvertible = array(); +for ($i = 0xED00; $i <= 0xEEFF; $i++) { + $bytes = pack('n', $i); + if (isset($validChars[$bytes])) { + $nonInvertible[$bytes] = $validChars[$bytes]; + unset($validChars[$bytes]); // will test these separately + } +} + +/* There are 23 other collisions between 2-byte sequences which variously + * start with 0x81, 0x87, or 0xFA + * We _love_ 0x81 and use it when possible. 0x87 is a second favorite */ +for ($i = 0xFA4A; $i <= 0xFA53; $i++) { + $bytes = pack('n', $i); + $nonInvertible[$bytes] = $validChars[$bytes]; + unset($validChars[$bytes]); // will test these separately +} +foreach ([0x8790, 0x8791, 0x8792, 0x8795, 0x8796, 0x8797, 0x879A, 0x879B, 0x879C, 0xFA54, 0xFA58, 0xFA59, 0xFA5A, 0xFA5B] as $i) { + $bytes = pack('n', $i); + $nonInvertible[$bytes] = $validChars[$bytes]; + unset($validChars[$bytes]); // will test these separately +} + +testAllValidChars($validChars, 'CP932', 'UTF-16BE'); +foreach ($nonInvertible as $cp932 => $unicode) + testValidString($cp932, $unicode, 'CP932', 'UTF-16BE', false); +echo "CP932 verification and conversion works on all valid characters\n"; + +testAllInvalidChars($invalidChars, $validChars, 'CP932', 'UTF-16BE', "\x00%"); +echo "CP932 verification and conversion works on all invalid characters\n"; + +?> +--EXPECT-- +CP932 verification and conversion works on all valid characters +CP932 verification and conversion works on all invalid characters From 490baf60bcee0dd30f3174e55e42e6770b49fd32 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 7 Oct 2020 22:12:27 +0200 Subject: [PATCH 092/123] Don't pass invalid JIS X 0208 characters through Many Japanese encodings, such as JIS7/8, Shift JIS, ISO-2022-JP, EUC-JP, and so on encode characters from the JIS X 0208 character set. JIS X 0208 is based on the concept of a 94x94 table, with numbered rows and columns. However, more than a thousand of the cells in that table are empty; JIS X 0208 does not actually use all 94x94=8,836 possible kuten codes. mbstring had a dubious feature whereby, if a Japanese string contained one of these 'unmapped' kuten codes, and it was being converted to another Japanese encoding which was also based on JIS X 0208, the non-existent character would be silently passed through, and the unmapped kuten code would be re-encoded using the normal encoding method of the target text encoding. Again, this _only_ happened if converting the text with the funky kuten code to a Japanese encoding. If one tried converting it to Unicode, mbstring would treat that as an error. If somebody, somewhere, made their own private extension to JIS X 0208, and used the regular Japanese encodings like Shift JIS and EUC-JP to encode this private character set, then this feature might conceivably be useful. But how likely is that? If someone is using Shift JIS, EUC-JP, ISO-2022-JP, etc. to encode a funky version of JIS X 0208 with extra characters added, then that should be treated as a separate text encoding. The code which flags such characters with MBFL_WCSPLANE_JIS0208 is retained solely for error reporting in `mbfl_filt_conv_illegal_output`. --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 4 +--- ext/mbstring/libmbfl/filters/mbfilter_cp51932.c | 8 -------- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 2 -- ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c | 4 +--- ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c | 5 ----- ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c | 2 -- ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c | 2 -- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 4 +--- ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 2 -- ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c | 2 -- ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c | 2 -- 11 files changed, 3 insertions(+), 34 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index e0b71e3747580..8468559e341ba 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -421,9 +421,7 @@ void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) /* do some transliteration */ if (s <= 0) { c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0208) { - s = c & MBFL_WCSPLANE_MASK; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { + if (c1 == MBFL_WCSPLANE_JIS0212) { s = c & MBFL_WCSPLANE_MASK; s |= 0x8080; } else if (c == 0xa5) { /* YEN SIGN */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 0064b7ca0688b..cdc0eaf9a9c9c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -217,14 +217,6 @@ void mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) if (s1 >= ((85 + 0x20) << 8)) { /* 85ku - 120ku */ s1 = -1; } - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; - if ((s1 >= ((85 + 0x20) << 8) && /* 85ku - 94ku */ - s1 <= ((88 + 0x20) << 8)) ||/* IBM extension */ - (s1 >= ((93 + 0x20) << 8) && /* 89ku - 92ku */ - s1 <= ((94 + 0x20) << 8))) { - s1 = -1; - } } else if (c == 0xa5) { /* YEN SIGN */ s1 = 0x005c; /* YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 77bdefd281462..04f667d9adfc8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -244,8 +244,6 @@ void mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index 3035791cc04d2..c936d41035e88 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -211,9 +211,7 @@ void mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) } if (s <= 0) { c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0208) { - s = c & MBFL_WCSPLANE_MASK; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { + if (c1 == MBFL_WCSPLANE_JIS0212) { s = c & MBFL_WCSPLANE_MASK; s |= 0x8080; } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index 0c097c6d1237a..b4ada8eaa4202 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -281,11 +281,6 @@ void mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) if (s1 >= ((85 + 0x20) << 8)) { /* 85ku - 120ku */ s1 = -1; } - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; - if (s1 >= ((85 + 0x20) << 8)) { /* 85ku - 94ku */ - s1 = -1; - } } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; if (s1 >= ((83 + 0x20) << 8)) { /* 83ku - 94ku */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 7f3e76a3bbc32..912563a073ff4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -305,8 +305,6 @@ void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index ebdc1681e902a..747848441049e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -333,8 +333,6 @@ void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 92950f6efef70..00a7d3550dd08 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -289,9 +289,7 @@ void mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) } if (s <= 0) { c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0208) { - s = c & MBFL_WCSPLANE_MASK; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { + if (c1 == MBFL_WCSPLANE_JIS0212) { s = c & MBFL_WCSPLANE_MASK; s |= 0x8080; } else if (c == 0xa5) { /* YEN SIGN */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 7386caa6fdfa5..51108d3dd3564 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -422,8 +422,6 @@ void mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index cb7ab219cc1c4..d3a69a3004a09 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -800,8 +800,6 @@ void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index 9a97f26063cbc..a133d49004ee1 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -245,8 +245,6 @@ void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) if (c1 == MBFL_WCSPLANE_WINCP932) { s1 = c & MBFL_WCSPLANE_MASK; s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0208) { - s1 = c & MBFL_WCSPLANE_MASK; } else if (c1 == MBFL_WCSPLANE_JIS0212) { s1 = c & MBFL_WCSPLANE_MASK; s1 |= 0x8080; From 71004986deb649da3c6d499ecbd36ef117535bed Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 7 Oct 2020 22:30:34 +0200 Subject: [PATCH 093/123] Don't pass invalid JIS X 0212 and Windows-CP932 characters through Similarly to JIS X 0208, mbstring would pass kuten codes which are not mapped in the JIS X 0212 or CP932 characters sets through silently when converting to another Japanese encoding. --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 9 ++------- ext/mbstring/libmbfl/filters/mbfilter_cp51932.c | 8 +------- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 9 +-------- ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c | 9 ++------- .../libmbfl/filters/mbfilter_euc_jp_win.c | 15 +-------------- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 9 +-------- .../libmbfl/filters/mbfilter_iso2022jp_mobile.c | 9 +-------- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 9 ++------- ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 9 +-------- .../libmbfl/filters/mbfilter_sjis_mobile.c | 9 +-------- ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c | 9 +-------- 11 files changed, 14 insertions(+), 90 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 8468559e341ba..240bbdacb8580 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -395,9 +395,8 @@ void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) */ void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) { - int c1, s; + int s = 0; - s = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -420,11 +419,7 @@ void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) /* do some transliteration */ if (s <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0212) { - s = c & MBFL_WCSPLANE_MASK; - s |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s = 0x1005c; } else if (c == 0x203e) { /* OVER LINE */ s = 0x1007e; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index cdc0eaf9a9c9c..3add1ed55880a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -211,13 +211,7 @@ void mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) } if (s1 >= 0x8080) s1 = -1; /* we don't support JIS X0213 */ if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - if (s1 >= ((85 + 0x20) << 8)) { /* 85ku - 120ku */ - s1 = -1; - } - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x005c; /* YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x007e; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 04f667d9adfc8..803aa16ba436d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -240,14 +240,7 @@ void mbfl_filt_conv_wchar_cp932(int c, mbfl_convert_filter *filter) s2 = 1; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x005c; /* YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x007e; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index c936d41035e88..ec2a742c9094a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -197,9 +197,8 @@ void mbfl_filt_conv_eucjp_wchar(int c, mbfl_convert_filter *filter) */ void mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) { - int c1, s; + int s = 0; - s = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -210,11 +209,7 @@ void mbfl_filt_conv_wchar_eucjp(int c, mbfl_convert_filter *filter) s = ucs_r_jis_table[c - ucs_r_jis_table_min]; } if (s <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0212) { - s = c & MBFL_WCSPLANE_MASK; - s |= 0x8080; - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ s = 0x2140; } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ s = 0x2141; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index b4ada8eaa4202..60b0fb5287c0e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -275,20 +275,7 @@ void mbfl_filt_conv_wchar_eucjpwin(int c, mbfl_convert_filter *filter) s1 = 0x2d62; /* NUMERO SIGN */ } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - if (s1 >= ((85 + 0x20) << 8)) { /* 85ku - 120ku */ - s1 = -1; - } - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - if (s1 >= ((83 + 0x20) << 8)) { /* 83ku - 94ku */ - s1 = -1; - } else { - s1 |= 0x8080; - } - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x216f; /* FULLWIDTH YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x2131; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 912563a073ff4..f2c60aebf0f33 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -301,14 +301,7 @@ void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) s1 = (c1 << 8) | c2; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x216f; /* FULLWIDTH YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x2131; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 747848441049e..a90397601f9db 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -329,14 +329,7 @@ void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) s1 = (c1 << 8) | c2; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x216f; /* FULLWIDTH YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x2131; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 00a7d3550dd08..0a25db9fde3bf 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -275,9 +275,8 @@ void mbfl_filt_conv_jis_wchar(int c, mbfl_convert_filter *filter) */ void mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) { - int c1, s; + int s = 0; - s = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -288,11 +287,7 @@ void mbfl_filt_conv_wchar_jis(int c, mbfl_convert_filter *filter) s = ucs_r_jis_table[c - ucs_r_jis_table_min]; } if (s <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_JIS0212) { - s = c & MBFL_WCSPLANE_MASK; - s |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s = 0x1005c; } else if (c == 0x203e) { /* OVER LINE */ s = 0x1007e; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 51108d3dd3564..8a5771a1559fd 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -418,14 +418,7 @@ void mbfl_filt_conv_wchar_sjis_mac(int c, mbfl_convert_filter *filter) } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa0) { + if (c == 0xa0) { s1 = 0x00a0; } else if (c == 0xa5) { /* YEN SIGN */ /* Unicode has codepoint 0xFFE5 for a fullwidth Yen sign; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index d3a69a3004a09..6b78c01e212fa 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -796,14 +796,7 @@ void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) s2 = 1; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x216f; /* FULLWIDTH YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x2131; /* FULLWIDTH MACRON */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index a133d49004ee1..a499f7d784284 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -241,14 +241,7 @@ void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) s2 = 1; } if (s1 <= 0) { - c1 = c & ~MBFL_WCSPLANE_MASK; - if (c1 == MBFL_WCSPLANE_WINCP932) { - s1 = c & MBFL_WCSPLANE_MASK; - s2 = 1; - } else if (c1 == MBFL_WCSPLANE_JIS0212) { - s1 = c & MBFL_WCSPLANE_MASK; - s1 |= 0x8080; - } else if (c == 0xa5) { /* YEN SIGN */ + if (c == 0xa5) { /* YEN SIGN */ s1 = 0x216f; /* FULLWIDTH YEN SIGN */ } else if (c == 0x203e) { /* OVER LINE */ s1 = 0x2131; /* FULLWIDTH MACRON */ From 5f0226a490c4b4a63308cea84ac33b718aa2a9ba Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 7 Oct 2020 22:54:39 +0200 Subject: [PATCH 094/123] Remove useless mbstring encoding 'CP50220-raw' CP50220 is a variant of ISO-2022-JP invented by MicroSoft, which handles some Unicode characters which are not representable in ISO-2022-JP by converting them to similar characters which are representable. What, then, is CP50220-raw? An Internet search turns up absolutely nothing. Reference works which I consulted don't say anything about it. Other text conversion libraries don't support it. From looking at the code: It's just the same as CP50220, but it accepts unmapped JIS X 0208 characters passed through from other Japanese encodings and silently encodes them using the usual ISO-2022-JP escape sequence and representation for JIS X 0208 characters. It's very hard to see how this could be useful. --- .../libmbfl/filters/mbfilter_cp5022x.c | 65 +++---------------- .../libmbfl/filters/mbfilter_cp5022x.h | 5 -- ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 1 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 - 5 files changed, 8 insertions(+), 65 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 240bbdacb8580..cc43301c1fa63 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -38,6 +38,13 @@ static void mbfl_filt_ident_cp50222(unsigned char c, mbfl_identify_filter *filte static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); +/* Previously, a dubious 'encoding' called 'cp50220raw' was supported + * This was just CP50220, but the implementation was less strict regarding + * invalid characters; it would silently pass some through + * This 'encoding' only existed in mbstring. In case some poor, lost soul is + * still using it, retain minimal support by aliasing it to CP50220 */ +static const char *cp50220_aliases[] = {"cp50220raw", "cp50220-raw", NULL}; + const mbfl_encoding mbfl_encoding_jis_ms = { mbfl_no_encoding_jis_ms, "JIS-ms", @@ -53,24 +60,13 @@ const mbfl_encoding mbfl_encoding_cp50220 = { mbfl_no_encoding_cp50220, "CP50220", "ISO-2022-JP", - NULL, + cp50220_aliases, NULL, MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50220_wchar, &vtbl_wchar_cp50220 }; -const mbfl_encoding mbfl_encoding_cp50220raw = { - mbfl_no_encoding_cp50220raw, - "CP50220raw", - "ISO-2022-JP", - NULL, - NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_cp50220raw_wchar, - &vtbl_wchar_cp50220raw -}; - const mbfl_encoding mbfl_encoding_cp50221 = { mbfl_no_encoding_cp50221, "CP50221", @@ -105,12 +101,6 @@ const struct mbfl_identify_vtbl vtbl_identify_cp50220 = { mbfl_filt_ident_cp50220 }; -const struct mbfl_identify_vtbl vtbl_identify_cp50220raw = { - mbfl_no_encoding_cp50220raw, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp50220 -}; - const struct mbfl_identify_vtbl vtbl_identify_cp50221 = { mbfl_no_encoding_cp50221, mbfl_filt_ident_common_ctor, @@ -159,24 +149,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50220 = { mbfl_filt_conv_any_jis_flush }; -const struct mbfl_convert_vtbl vtbl_cp50220raw_wchar = { - mbfl_no_encoding_cp50220raw, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_cp50220raw = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_cp50220raw, - mbfl_filt_conv_wchar_cp50220_ctor, - mbfl_filt_conv_wchar_cp50220_dtor, - mbfl_filt_conv_wchar_cp50220raw, - mbfl_filt_conv_any_jis_flush -}; - const struct mbfl_convert_vtbl vtbl_cp50221_wchar = { mbfl_no_encoding_cp50221, mbfl_no_encoding_wchar, @@ -563,27 +535,6 @@ mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt) } } -/* - * wchar => cp50220raw - */ -void mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter) -{ - if (c & MBFL_WCSPLANE_JIS0208) { - const int s = c & MBFL_WCSPLANE_MASK; - - if ((filter->status & 0xff00) != 0x200) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ - filter->status = 0x200; - } - (*filter->output_function)((s >> 8) & 0x7f, filter->data); - (*filter->output_function)(s & 0x7f, filter->data); - } else { - mbfl_filt_conv_wchar_cp50221(c, filter); - } -} - /* * wchar => CP50221 */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h index da7ad141d1bd7..cdc4d7f34517a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h @@ -34,20 +34,16 @@ extern const mbfl_encoding mbfl_encoding_jis_ms; extern const mbfl_encoding mbfl_encoding_cp50220; -extern const mbfl_encoding mbfl_encoding_cp50220raw; extern const mbfl_encoding mbfl_encoding_cp50221; extern const mbfl_encoding mbfl_encoding_cp50222; extern const struct mbfl_identify_vtbl vtbl_identify_jis_ms; extern const struct mbfl_identify_vtbl vtbl_identify_cp50220; -extern const struct mbfl_identify_vtbl vtbl_identify_cp50220raw; extern const struct mbfl_identify_vtbl vtbl_identify_cp50221; extern const struct mbfl_identify_vtbl vtbl_identify_cp50222; extern const struct mbfl_convert_vtbl vtbl_jis_ms_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_jis_ms; extern const struct mbfl_convert_vtbl vtbl_cp50220_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50220; -extern const struct mbfl_convert_vtbl vtbl_cp50220raw_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_cp50220raw; extern const struct mbfl_convert_vtbl vtbl_cp50221_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50221; extern const struct mbfl_convert_vtbl vtbl_cp50222_wchar; @@ -56,7 +52,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_cp50222; void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); -void mbfl_filt_conv_wchar_cp50220raw(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index ecdafb6aaaefe..e929caadfca53 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -159,7 +159,6 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_2022jp_2004, &mbfl_encoding_2022jp_kddi, &mbfl_encoding_cp50220, - &mbfl_encoding_cp50220raw, &mbfl_encoding_cp50221, &mbfl_encoding_cp50222, NULL diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index 047ed4e5dc26d..e0a3ebfba6de2 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -120,7 +120,6 @@ enum mbfl_no_encoding { mbfl_no_encoding_cp850, mbfl_no_encoding_jis_ms, mbfl_no_encoding_cp50220, - mbfl_no_encoding_cp50220raw, mbfl_no_encoding_cp50221, mbfl_no_encoding_cp50222, mbfl_no_encoding_charset_max diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 42c4710f80187..6e5caf100c469 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -132,7 +132,6 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_cp850, &vtbl_identify_jis_ms, &vtbl_identify_cp50220, - &vtbl_identify_cp50220raw, &vtbl_identify_cp50221, &vtbl_identify_cp50222, &vtbl_identify_gb18030, From 24267b495b582f784aa34a3b11e1dfb4b79df60a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 8 Oct 2020 22:26:03 +0200 Subject: [PATCH 095/123] Fix identify filter for CP50220 text encoding --- .../libmbfl/filters/mbfilter_cp5022x.c | 290 ++++++------------ 1 file changed, 102 insertions(+), 188 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index cc43301c1fa63..d44e326f86b9d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -32,9 +32,7 @@ #include "cp932_table.h" static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50220(unsigned char c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50221(unsigned char c, mbfl_identify_filter *filter); -static void mbfl_filt_ident_cp50222(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp5022x(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); @@ -98,19 +96,19 @@ const struct mbfl_identify_vtbl vtbl_identify_jis_ms = { const struct mbfl_identify_vtbl vtbl_identify_cp50220 = { mbfl_no_encoding_cp50220, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp50220 + mbfl_filt_ident_cp5022x }; const struct mbfl_identify_vtbl vtbl_identify_cp50221 = { mbfl_no_encoding_cp50221, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp50221 + mbfl_filt_ident_cp5022x }; const struct mbfl_identify_vtbl vtbl_identify_cp50222 = { mbfl_no_encoding_cp50222, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_cp50222 + mbfl_filt_ident_cp5022x }; const struct mbfl_convert_vtbl vtbl_jis_ms_wchar = { @@ -937,226 +935,142 @@ static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter } } -static void mbfl_filt_ident_cp50220(unsigned char c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_cp5022x_x0201(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_cp5022x_x0208(unsigned char c, mbfl_identify_filter *filter); + +static int handle_cp5022x_escape(unsigned char c, mbfl_identify_filter *filter) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x80: X 0208 */ + switch (filter->status) { case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ + if (c == 0x1B) { + filter->status = 2; + return 1; } break; -/* case 0x81: X 0208 second char */ + /* 2nd byte of Kanji */ case 1: - if (c == 0x1b) { - filter->status++; - } else { - filter->status &= ~0xf; - if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; - } + if (c == 0x1B) { + filter->flag = 1; + filter->status = 2; + return 1; } break; /* ESC */ case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; + if (c == '$') { + filter->status = 3; + return 1; + } else if (c == '(') { + filter->status = 4; + return 1; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; /* bad */ + filter->status = 0; } break; /* ESC $ */ case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; + filter->status = 0; + if (c == '@' || c == 'B') { + filter->filter_function = mbfl_filt_ident_cp5022x_x0208; + return 1; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; /* bad */ } break; /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - default: + case 4: filter->status = 0; - break; - } -} - -static void mbfl_filt_ident_cp50221(unsigned char c, mbfl_identify_filter *filter) -{ -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x80: X 0208 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ - } - break; - -/* case 0x81: X 0208 second char */ - case 1: - if (c == 0x1b) { - filter->status++; + if (c == 'B' || c == 'J') { + /* 'J' is actually for X 0201 Latin, but the acceptable bytes are the same */ + filter->filter_function = mbfl_filt_ident_cp5022x; + return 1; + } else if (c == 'I') { /* ESC ( I escape added by MicroSoft */ + filter->filter_function = mbfl_filt_ident_cp5022x_x0201; + return 1; } else { - filter->status &= ~0xf; - if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; - } + filter->flag = 1; /* bad */ } - break; + } - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; + return 0; +} - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; +#undef IN +#define IN(c,lo,hi) ((c) >= lo && (c) <= hi) - /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; +static void mbfl_filt_ident_cp5022x(unsigned char c, mbfl_identify_filter *filter) +{ + /* We convert single bytes from 0xA1-0xDF to JIS X 0201 kana, even if + * no escape to shift to JIS X 0201 has been seen */ + if (!handle_cp5022x_escape(c, filter) && (IN(c,0x80,0xA0) || c >= 0xE0)) { + filter->flag = 1; + } +} - default: - filter->status = 0; - break; +static void mbfl_filt_ident_cp5022x_x0201(unsigned char c, mbfl_identify_filter *filter) +{ + /* JIS X 0201 kana use single bytes from 0xA1-0xDF; when in X 0201 Kana mode, + * we map these to corresponding bytes with high bit cleared */ + if (!handle_cp5022x_escape(c, filter) && !IN(c,0x21,0x5F)) { + filter->flag = 1; } } -static void mbfl_filt_ident_cp50222(unsigned char c, mbfl_identify_filter *filter) +/* CP50220 actually uses the CP932 character set rather than "vanilla" JIS X 0208 + * Note we are working with kuten codes here, not the Shift-JIS-like representation + * used for CP932 encoding + * Although the number of characters in CP932 is significantly expanded from + * JIS X 0208, there are still lots of unmapped kuten codes */ +static int is_unused_cp932(unsigned char ku, unsigned char ten) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x80: X 0208 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (filter->status == 0x80 && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ + if (IN(ku,0x29,0x2C) || ku == 0x2E || ku == 0x2F || IN(ku,0x75,0x78) || ku == 0x7D || ku == 0x7E) { + return 1; + } else if (IN(ku,0x22,0x28)) { + if (ku == 0x22) { + return IN(ten,0x2F,0x39) || IN(ten,0x42,0x49) || IN(ten,0x51,0x5B) || IN(ten,0x6B,0x71) || IN(ten,0x7A,0x7D); + } else if (ku == 0x23) { + return (ten <= 0x2F) || IN(ten,0x3A,0x40) || IN(ten,0x5B,0x60) || (ten >= 0x7B); + } else if (ku == 0x24) { + return (ten >= 0x74); + } else if (ku == 0x25) { + return (ten >= 0x77); + } else if (ku == 0x26) { + return IN(ten,0x39,0x40) || (ten >= 0x59); + } else if (ku == 0x27) { + return IN(ten,0x42,0x50) || (ten >= 0x72); + } else { /* ku == 0x28 */ + return (ten >= 0x41); } - break; + } else if (ku == 0x2D) { + return (ten == 0x3F) || IN(ten,0x57,0x5E) || (ten >= 0x7D); + } else if (ku == 0x4F) { + return (ten >= 0x54); + } else if (ku == 0x74) { + return (ten >= 0x27); + } else if (ku == 0x7C) { + return (ten == 0x6F) || (ten == 0x70); + } + return 0; +} -/* case 0x81: X 0208 second char */ - case 1: - if (c == 0x1b) { - filter->status++; - } else { - filter->status &= ~0xf; - if (c < 0x21 || c > 0x7e) { /* bad */ +static void mbfl_filt_ident_cp5022x_x0208(unsigned char c, mbfl_identify_filter *filter) +{ + if (!handle_cp5022x_escape(c, filter)) { + if (filter->status == 0) { /* First byte of Kanji */ + if (c < 0x21 || c > 0x92) { + filter->flag = 1; + } + filter->status = c; + } else { /* Second byte of Kanji */ + if (c < 0x21 || c > 0x7E || is_unused_cp932(filter->status, c)) { filter->flag = 1; } - } - break; - - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; } - break; - - default: - filter->status = 0; - break; } } From 99320dfced730895d62bc0080ecb2d0366422948 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 8 Oct 2020 22:34:29 +0200 Subject: [PATCH 096/123] Stricter handling of erroneous input when converting CP5022{0,1,2} text encoding --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index d44e326f86b9d..bfdefe513f64c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -264,10 +264,6 @@ void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) } } (*filter->output_function)(w, filter->data); - } else if (c == 0x1b) { - filter->status += 2; - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; From 246bba7fe619194860193693441e4ce21e8a2e5b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 11 Oct 2020 14:50:20 +0200 Subject: [PATCH 097/123] CP5022{0,1,2}: convert characters in ku 0x2D (13th row) correctly Essentially, CP5022{0,1,2} are to CP932 as ISO-2022-JP is to Shift-JIS. As Shift-JIS and ISO-2022-JP both encode characters from the JIS X 0208 charset, CP932 and CP5022x all encode characters from JIS X 0208 _plus_ extra characters added as MicroSoft vendor extensions. Among the added characters are a number of symbols which MS put in the 13th row of the 94x94 character table. (In JIS X 0208, that row is empty.) mbfilter_cp50220x.c had an `if` clause which was intended to handle the conversion of characters in that 13th row, but it was dead code, as the previous clause was always true in those cases. The solution is to reverse the order of those two clauses (just as they already appeared in mbfilter_cp932.c). --- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index bfdefe513f64c..6c4851c9db15d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -232,10 +232,10 @@ void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) if (c > 0x20 && c < 0x7f) { s = (c1 - 0x21)*94 + c - 0x21; if (filter->status == 0x80) { - if (s >= 0 && s < jisx0208_ucs_table_size) { - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { + if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; + } else if (s >= 0 && s < jisx0208_ucs_table_size) { + w = jisx0208_ucs_table[s]; } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; } else if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { From 2393da216a8d769b254690008e8abaa0495015d0 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 11 Oct 2020 16:24:18 +0200 Subject: [PATCH 098/123] CP5022{0,1,2}: convert Unicode codepoints in 'user' area (0xE000-E757) correctly Unicode has a range of 'private' codepoints which individual applications can use for their own purposes. When they were inventing CP932, MicroSoft mapped these 'private' or 'user' codepoints to ten new rows added to the JIS X 0208 character table. (JIS X 0208 is based on a 94x94 table; MS used rows 95-114 for private characters.) `mbfl_filt_conv_wchar_jis_ms` converted these private codepoints to rows 85-94 rather than 95-114. The code included a link to a document on the OpenGroup web site, dating back to 1996 [1], which proposed mapping private codepoints to these rows. However, that is not consistent with what mbstring does when converting CP5022x to Unicode. There seems to be a dearth of information on CP5022x on the web. However, I did find one (Japanese-language) page on CP50221, which states that it maps kuten codes 0x7F21-0x927E to the 'private' Unicode codepoints [2]. As a side note, using rows higher than 95 does seem to defeat one purpose of using an ISO-2022-JP variant: ISO-2022-JP was specifically designed to be "7-bit clean", but once you go beyond row 95, the ku codes are 0x80 and up, so 8 bits are needed. [1] https://web.archive.org/web/20000229180004/http://www.opengroup.or.jp/jvc/cde/ucs-conv.html [2] https://www.wdic.org/w/WDIC/Microsoft%20Windows%20Codepage%20%3A%2050221 --- .../libmbfl/filters/mbfilter_cp5022x.c | 59 +++++++++---------- 1 file changed, 28 insertions(+), 31 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 6c4851c9db15d..74adc1cb83bcb 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -375,7 +375,7 @@ void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) /* PUE => Microsoft extended (pseudo 95ku - 114ku) */ /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ s = c - 0xe000; - s = (s / 94 + 0x75) << 8 | (s % 94 + 0x21); + s = ((s / 94) + 0x7F) << 8 | ((s % 94) + 0x21); } else if (c >= (0xe000 + 10 * 94) && c <= (0xe000 + 20 * 94)) { /* PUE => JISX0212 user-defined (G3 85ku - 94ku) */ /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ @@ -477,8 +477,8 @@ void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) (*filter->output_function)(0x42, filter->data); /* 'B' */ } filter->status = 0x200; - (*filter->output_function)((s >> 8) & 0x7f, filter->data); - (*filter->output_function)(s & 0x7f, filter->data); + (*filter->output_function)((s >> 8) & 0xFF, filter->data); + (*filter->output_function)(s & 0xFF, filter->data); } else if (s < 0x10000) { /* X 0212 */ if ((filter->status & 0xff00) != 0x300) { (*filter->output_function)(0x1b, filter->data); /* ESC */ @@ -544,16 +544,10 @@ void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) s = ucs_i_jis_table[c - ucs_i_jis_table_min]; } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 10 * 94)) { - /* PUE => Microsoft extended */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - 0xe000; - s = (s / 94 + 0x75) << 8 | (s % 94 + 0x21); - } else if (c >= (0xe000 + 10 * 94) && c <= (0xe000 + 20 * 94)) { - /* PUE => JISX0212 user-defined (G3 85ku - 94ku) */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - (0xe000 + 10 * 94); - s = (s / 94 + 0xf5) << 8 | (s % 94 + 0xa1); + } else if (c >= 0xE000 && c <= 0xE757) { + /* 'private'/'user' codepoints */ + s = c - 0xE000; + s = ((s / 94) + 0x7F) << 8 | ((s % 94) + 0x21); } if (s <= 0) { @@ -577,7 +571,16 @@ void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) s = 0x224c; } } - if (s <= 0 || (s >= 0x8080 && s < 0x10000)) { + + /* Above, we do a series of lookups in `ucs_*_jis_table` to find a + * corresponding kuten code for this Unicode codepoint + * If we get zero, that means the codepoint is not in JIS X 0208 + * On the other hand, if we get a result with the high bits set on both + * upper and lower bytes, that is not a code in JIS X 0208 but rather + * in JIS X 0213 + * In either case, check if this codepoint is one of the extensions added + * to JIS X 0208 by MicroSoft (to make CP932) */ + if (s == 0 || ((s & 0x8000) && (s & 0x80))) { int i; s = -1; @@ -643,15 +646,15 @@ void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter) filter->status = 0x500; } (*filter->output_function)(s - 0x80, filter->data); - } else if (s < 0x8080) { /* X 0208 */ + } else if (s <= 0x927E) { /* X 0208 + extensions */ if ((filter->status & 0xff00) != 0x200) { (*filter->output_function)(0x1b, filter->data); /* ESC */ (*filter->output_function)(0x24, filter->data); /* '$' */ (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0x200; } - (*filter->output_function)((s >> 8) & 0x7f, filter->data); - (*filter->output_function)(s & 0x7f, filter->data); + (*filter->output_function)((s >> 8) & 0xFF, filter->data); + (*filter->output_function)(s & 0xFF, filter->data); } else if (s < 0x10000) { /* X0212 */ mbfl_filt_conv_illegal_output(c, filter); } else { /* X 0201 latin */ @@ -685,16 +688,10 @@ void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) s = ucs_i_jis_table[c - ucs_i_jis_table_min]; } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 10 * 94)) { - /* PUE => Microsoft extended */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - 0xe000; - s = (s / 94 + 0x75) << 8 | (s % 94 + 0x21); - } else if (c >= (0xe000 + 10 * 94) && c <= (0xe000 + 20 * 94)) { - /* PUE => JISX0212 user-defined (G3 85ku - 94ku) */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - (0xe000 + 10 * 94); - s = (s / 94 + 0xf5) << 8 | (s % 94 + 0xa1); + } else if (c >= 0xE000 && c <= 0xE757) { + /* 'private'/'user' codepoints */ + s = c - 0xE000; + s = ((s / 94) + 0x7F) << 8 | ((s % 94) + 0x21); } if (s <= 0) { @@ -718,7 +715,7 @@ void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) s = 0x224c; } } - if (s <= 0 || (s >= 0x8080 && s < 0x10000)) { + if (s == 0 || ((s & 0x8000) && (s & 0x80))) { int i; s = -1; @@ -784,7 +781,7 @@ void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) filter->status = 0x500; } (*filter->output_function)(s - 0x80, filter->data); - } else if (s < 0x8080) { /* X 0208 */ + } else if (s <= 0x927E) { /* X 0208 */ if ((filter->status & 0xff00) == 0x500) { (*filter->output_function)(0x0f, filter->data); /* SO */ filter->status = 0; @@ -795,8 +792,8 @@ void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter) (*filter->output_function)(0x42, filter->data); /* 'B' */ filter->status = 0x200; } - (*filter->output_function)((s >> 8) & 0x7f, filter->data); - (*filter->output_function)(s & 0x7f, filter->data); + (*filter->output_function)((s >> 8) & 0xFF, filter->data); + (*filter->output_function)(s & 0xFF, filter->data); } else if (s < 0x10000) { /* X0212 */ mbfl_filt_conv_illegal_output(c, filter); } else { /* X 0201 latin */ From cfd3b56902a02bdbc065bc36dddf1f1e9902050a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 13 Oct 2020 15:18:04 +0200 Subject: [PATCH 099/123] Add test suite for CP5022{0,1,2} --- ext/mbstring/tests/cp5022x_encoding.phpt | 286 +++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 ext/mbstring/tests/cp5022x_encoding.phpt diff --git a/ext/mbstring/tests/cp5022x_encoding.phpt b/ext/mbstring/tests/cp5022x_encoding.phpt new file mode 100644 index 0000000000000..31b10ecadd63b --- /dev/null +++ b/ext/mbstring/tests/cp5022x_encoding.phpt @@ -0,0 +1,286 @@ +--TEST-- +Exhaustive test of CP50220, CP50221, and CP50222 encodings +--SKIPIF-- + +--FILE-- +> 8) & 0xFF; + $second = $bytes & 0xFF; + $hi_bits = $first - (($first > 0x9F) ? 0xE0 - 31 : 0x81); + if ($second > 0x9E) { + $kuten = ((($hi_bits << 1) + 0x22) << 8) + ($second - 0x9F + 0x21); + } else if ($second > 0x7F) { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x80 + 63 + 0x21); + } else { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x40 + 0x21); + } + return $kuten; +} + +/* Read in table of all characters in CP932 charset */ +$cp932Chars = array(); /* CP932 -> UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/CP932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + continue; + if ($bytes > 0xFA00) // We don't handle these extra characters from ku 114 and above + continue; + $cp932Chars[pack('n', shiftJISDecode($bytes))] = pack('n', $codepoint); + } +} + +/* Aside from the characters in that table, we also support a 'user' area, + * which maps to Unicode 'private' codepoints 0xE000-E757 */ +$codepoint = 0xE000; +for ($i = 0xF0; $i <= 0xF9; $i++) { + for ($j = 0x40; $j <= 0xFC; $j++) { + if ($j == 0x7F) + continue; + $cp932Chars[pack('n', shiftJISDecode(($i << 8) + $j))] = pack('n', $codepoint); + $codepoint++; + } +} + +/* There are 396 Unicode codepoints which are non-invertible in CP932 + * (multiple CP932 byte sequences map to the same codepoint) */ +$nonInvertible = array(); +for ($i = 0xED00; $i <= 0xEEFF; $i++) { + $bytes = pack('n', shiftJISDecode($i)); + if (isset($cp932Chars[$bytes])) { + $nonInvertible[$bytes] = $cp932Chars[$bytes]; + unset($cp932Chars[$bytes]); // will test these separately + } +} +foreach ([0x8790, 0x8791, 0x8792, 0x8795, 0x8796, 0x8797, 0x879A, 0x879B, 0x879C] as $i) { + $bytes = pack('n', shiftJISDecode($i)); + $nonInvertible[$bytes] = $cp932Chars[$bytes]; + unset($cp932Chars[$bytes]); // will test these separately +} + +/* Read in table of all characters in JISX-0201 charset */ +$jisx0201Chars = array(); /* JISX0201 -> UTF-16BE */ +$fp = fopen(realpath(__DIR__ . '/../docs/JISX0201.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $byte, $codepoint) == 2) + $jisx0201Chars[chr($byte)] = pack('n', $codepoint); +} + +/* Our conversions between CP5022x (when CP932 charset is selected) and Unicode + * differ in a number of places from the table provided by the Unicode Consortium */ +$cp932Chars["\x21\x41"] = "\x30\x1C"; /* WAVE DASH instead of FULLWIDTH TILDE */ +$cp932Chars["\x21\x42"] = "\x20\x16"; /* DOUBLE VERTICAL LINE instead of PARALLEL TO */ +$cp932Chars["\x21\x5D"] = "\x22\x12"; /* MINUS SIGN instead of FULLWIDTH HYPHEN-MINUS */ +$cp932Chars["\x21\x71"] = "\x00\xA2"; /* CENT SIGN instead of FULLWIDTH CENT SIGN */ +$cp932Chars["\x21\x72"] = "\x00\xA3"; /* POUND SIGN instead of FULLWIDTH POUND SIGN */ +$cp932Chars["\x22\x4C"] = "\x00\xAC"; /* NOT SIGN instead of FULLWIDTH NOT SIGN */ + +function testValid($from, $to, $encoding, $bothWays = true) { + identifyValidString($from, $encoding); + convertValidString($from, $to, $encoding, 'UTF-16BE', false); + + if ($bothWays) { + /* An 0xF at the beginning is redundant; it switches to ASCII mode, but + * ASCII mode is default */ + if ($from[0] == "\x0F") + $from = substr($from, 1, strlen($from) - 1); + /* ESC ( B at the beginning is redundant, since ASCII mode is the default */ + if (substr($from, 0, 3) == "\x1B(B") + $from = substr($from, 3, strlen($from) - 3); + /* If the string switches to a different charset, it should switch back to + * ASCII at the end */ + if (strpos($from, "\x1B\$B") !== false || strpos($from, "\x1B(J") !== false || strpos($from, "\x1B(I") !== false) + $from .= "\x1B(B"; + if ($encoding == 'CP50222' && $from[0] == "\x0E") + $from .= "\x0F"; + + convertValidString($to, $from, 'UTF-16BE', $encoding, false); + } +} + +function testInvalid($from, $to, $encoding) { + testInvalidString($from, $to, $encoding, 'UTF-16BE'); +} + +for ($i = 0; $i < 0x80; $i++) { + if ($i == 0xE || $i == 0xF || $i == 0x1B) + continue; + testValid(chr($i), "\x00" . chr($i), 'CP50220'); + testValid(chr($i), "\x00" . chr($i), 'CP50221'); + testValid(chr($i), "\x00" . chr($i), 'CP50222'); + testValid("\x1B(B" . chr($i), "\x00" . chr($i), 'CP50220'); + testValid("\x1B(B" . chr($i), "\x00" . chr($i), 'CP50221'); + testValid("\x1B(B" . chr($i), "\x00" . chr($i), 'CP50222'); + testValid("\x0F" . chr($i), "\x00" . chr($i), 'CP50222', false); /* 0xF is 'Shift Out' code */ +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) // We convert single bytes from 0xA1-0xDF as JIS X 0201 kana + continue; + testInvalid(chr($i), "\x00%", 'CP50220'); + testInvalid(chr($i), "\x00%", 'CP50221'); + testInvalid(chr($i), "\x00%", 'CP50222'); + testInvalid("\x1B(B" . chr($i), "\x00%", 'CP50220'); + testInvalid("\x1B(B" . chr($i), "\x00%", 'CP50221'); + testInvalid("\x1B(B" . chr($i), "\x00%", 'CP50222'); + testInvalid("\x0F" . chr($i), "\x00%", 'CP50220'); + testInvalid("\x0F" . chr($i), "\x00%", 'CP50221'); + testInvalid("\x0F" . chr($i), "\x00%", 'CP50222'); +} + +echo "ASCII support OK\n"; + +/* All valid JIS X 0201 characters + * Those with a 1 in the high bit are JIS X 0201 kana */ +foreach ($jisx0201Chars as $jisx0201 => $utf16BE) { + if (ord($jisx0201) >= 128) { /* Kana */ + $kana = chr(ord($jisx0201) - 128); + testValid("\x1B(I" . $kana, $utf16BE, 'CP50221'); + testValid("\x1B(J\x0E" . $kana, $utf16BE, 'CP50222', false); /* 0xE is 'Shift In' code */ + testValid("\x0E" . $kana, $utf16BE, 'CP50222', false); + testValid($jisx0201, $utf16BE, 'CP50220', false); + testValid($jisx0201, $utf16BE, 'CP50221', false); + testValid($jisx0201, $utf16BE, 'CP50222', false); + } else { /* Latin */ + testValid("\x1B(J" . $jisx0201, $utf16BE, 'CP50220', $utf16BE > "\x00\x80"); + testValid("\x1B(J" . $jisx0201, $utf16BE, 'CP50221', $utf16BE > "\x00\x80"); + testValid("\x1B(J" . $jisx0201, $utf16BE, 'CP50222', $utf16BE > "\x00\x80"); + } +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) + continue; + testInvalid("\x1B(I" . chr($i), "\x00%", 'CP50220'); + testInvalid("\x1B(I" . chr($i), "\x00%", 'CP50221'); + testInvalid("\x1B(I" . chr($i), "\x00%", 'CP50222'); + testInvalid("\x1B(J" . chr($i), "\x00%", 'CP50220'); + testInvalid("\x1B(J" . chr($i), "\x00%", 'CP50221'); + testInvalid("\x1B(J" . chr($i), "\x00%", 'CP50222'); +} + +echo "JIS X 0201 support OK\n"; + +/* All valid CP932 characters */ +foreach ($cp932Chars as $cp932 => $utf16BE) { + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50220'); + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50221'); + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50222'); +} +foreach ($nonInvertible as $cp932 => $utf16BE) { + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50220', false); + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50221', false); + testValid("\x1B\$B" . $cp932, $utf16BE, 'CP50222', false); +} + +/* All invalid 2-byte CP932 characters */ +for ($i = 0x21; $i <= 0x7E; $i++) { + for ($j = 0; $j < 256; $j++) { + $testString = chr($i) . chr($j); + if (!isset($cp932Chars[$testString]) && !isset($nonInvertible[$testString])) { + testInvalid("\x1B\$B" . $testString, "\x00%", 'CP50220'); + testInvalid("\x1B\$B" . $testString, "\x00%", 'CP50221'); + testInvalid("\x1B\$B" . $testString, "\x00%", 'CP50222'); + } + } +} + +echo "CP932 support OK\n"; + +/* Unicode codepoint for halfwidth katakana -> kuten code for ordinary katakana */ +$fullwidthKatakana = array( + 0xFF61 => 0x2123, /* Ideographic full stop */ + 0xFF62 => 0x2156, /* Left corner bracket */ + 0xFF63 => 0x2157, /* Right corner bracket */ + 0xFF64 => 0x2122, /* Ideographic comma */ + 0xFF65 => 0x2126, /* Katakana middle dot */ + 0xFF66 => 0x2572, /* Wo */ + 0xFF67 => 0x2521, /* Small A */ + 0xFF68 => 0x2523, /* Small I */ + 0xFF69 => 0x2525, /* Small U */ + 0xFF6A => 0x2527, /* Small E */ + 0xFF6B => 0x2529, /* Small O */ + 0xFF6C => 0x2563, /* Small Ya */ + 0xFF6D => 0x2565, /* Small Yu */ + 0xFF6E => 0x2567, /* Small Yo */ + 0xFF6F => 0x2543, /* Small Tsu */ + 0xFF70 => 0x213C, /* Prolonged Sound Marker */ + 0xFF71 => 0x2522, /* A */ + 0xFF72 => 0x2524, /* I */ + 0xFF73 => 0x2526, /* U */ + 0xFF74 => 0x2528, /* E */ + 0xFF75 => 0x252A, /* O */ + 0xFF76 => 0x252B, /* Ka */ + 0xFF77 => 0x252D, /* Ki */ + 0xFF78 => 0x252F, /* Ku */ + 0xFF79 => 0x2531, /* Ke */ + 0xFF7A => 0x2533, /* Ko */ + 0xFF7B => 0x2535, /* Sa */ + 0xFF7C => 0x2537, /* Shi */ + 0xFF7D => 0x2539, /* Su */ + 0xFF7E => 0x253B, /* Se */ + 0xFF7F => 0x253D, /* So */ + 0xFF80 => 0x253F, /* Ta */ + 0xFF81 => 0x2541, /* Chi */ + 0xFF82 => 0x2544, /* Tsu */ + 0xFF83 => 0x2546, /* Te */ + 0xFF84 => 0x2548, /* To */ + 0xFF85 => 0x254A, /* Na */ + 0xFF86 => 0x254B, /* Ni */ + 0xFF87 => 0x254C, /* Nu */ + 0xFF88 => 0x254D, /* Ne */ + 0xFF89 => 0x254E, /* No */ + 0xFF8A => 0x254F, /* Ha */ + 0xFF8B => 0x2552, /* Hi */ + 0xFF8C => 0x2555, /* Fu */ + 0xFF8D => 0x2558, /* He */ + 0xFF8E => 0x255B, /* Ho */ + 0xFF8F => 0x255E, /* Ma */ + 0xFF90 => 0x255F, /* Mi */ + 0xFF91 => 0x2560, /* Mu */ + 0xFF92 => 0x2561, /* Me */ + 0xFF93 => 0x2562, /* Mo */ + 0xFF94 => 0x2564, /* Ya */ + 0xFF95 => 0x2566, /* Yu */ + 0xFF96 => 0x2568, /* Yo */ + 0xFF97 => 0x2569, /* Ra */ + 0xFF98 => 0x256A, /* Ri */ + 0xFF99 => 0x256B, /* Ru */ + 0xFF9A => 0x256C, /* Re */ + 0xFF9B => 0x256D, /* Ro */ + 0xFF9C => 0x256F, /* Wa */ + 0xFF9D => 0x2573, /* N */ + 0xFF9E => 0x212B, /* Voice Mark */ + 0xFF9F => 0x212C /* Semi-voice Mark */ +); +foreach ($fullwidthKatakana as $cp => $kuten) { + convertValidString(pack('n', $cp), "\x1B\$B" . pack('n', $kuten) . "\x1B(B", 'UTF-16BE', 'CP50220', false); +} + +echo "Folding of fullwidth katakana for CP50220 OK\n"; + +?> +--EXPECT-- +ASCII support OK +JIS X 0201 support OK +CP932 support OK +Folding of fullwidth katakana for CP50220 OK From 73cac6ab76d135715caa49822c9694295f95ca73 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 13 Oct 2020 07:58:53 +0200 Subject: [PATCH 100/123] Combine MBFL_ENCTYPE_MWC2{BE,LE} constants These constants indicate that a text encoding uses 2+ bytes for each character, and is either big endian or little endian (respectively). But nothing in mbstring cares about the difference between MBFL_ENCTYPE_MWC2BE and MBFL_ENCTYPE_MWC2LE. (Actually, nothing cares about whether these flags are set at all... maybe we should just remove them?) --- ext/mbstring/libmbfl/filters/mbfilter_utf16.c | 6 +++--- ext/mbstring/libmbfl/mbfl/mbfl_consts.h | 3 +-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c index 758dd0a5c8c92..ac076b5781d88 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf16.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf16.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_utf16 = { "UTF-16", mbfl_encoding_utf16_aliases, NULL, - MBFL_ENCTYPE_MWC2BE, + MBFL_ENCTYPE_MWC2, &vtbl_utf16_wchar, &vtbl_wchar_utf16 }; @@ -54,7 +54,7 @@ const mbfl_encoding mbfl_encoding_utf16be = { "UTF-16BE", NULL, NULL, - MBFL_ENCTYPE_MWC2BE, + MBFL_ENCTYPE_MWC2, &vtbl_utf16be_wchar, &vtbl_wchar_utf16be }; @@ -65,7 +65,7 @@ const mbfl_encoding mbfl_encoding_utf16le = { "UTF-16LE", NULL, NULL, - MBFL_ENCTYPE_MWC2LE, + MBFL_ENCTYPE_MWC2, &vtbl_utf16le_wchar, &vtbl_wchar_utf16le }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index 25d2ea0235595..137cd0fcb8993 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -34,8 +34,7 @@ #define MBFL_ENCTYPE_SBCS 0x00000001 /* single-byte encoding */ #define MBFL_ENCTYPE_MBCS 0x00000002 /* multi-byte encoding */ #define MBFL_ENCTYPE_WCS2 0x00000010 /* 2 bytes/char */ -#define MBFL_ENCTYPE_MWC2BE 0x00000040 /* 2+ bytes/char, big endian */ -#define MBFL_ENCTYPE_MWC2LE 0x00000080 /* 2+ bytes/char, little endian */ +#define MBFL_ENCTYPE_MWC2 0x00000040 /* 2+ bytes/char */ #define MBFL_ENCTYPE_WCS4 0x00000100 /* 4 bytes/char */ #define MBFL_ENCTYPE_GL_UNSAFE 0x00004000 From 9f5fee9219235e8ca2ac73bba39612a933fe489f Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sat, 17 Oct 2020 21:29:47 +0200 Subject: [PATCH 101/123] Remove useless mbstring encoding 'JIS-ms' --- .../libmbfl/filters/mbfilter_cp5022x.c | 299 +----------------- .../libmbfl/filters/mbfilter_cp5022x.h | 7 +- ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 1 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 1 - 5 files changed, 11 insertions(+), 298 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index 74adc1cb83bcb..d24a7e4a038fe 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -31,7 +31,6 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_ident_cp5022x(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_conv_wchar_cp50220_ctor(mbfl_convert_filter *filt); static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); @@ -40,19 +39,12 @@ static void mbfl_filt_conv_wchar_cp50220_dtor(mbfl_convert_filter *filt); * This was just CP50220, but the implementation was less strict regarding * invalid characters; it would silently pass some through * This 'encoding' only existed in mbstring. In case some poor, lost soul is - * still using it, retain minimal support by aliasing it to CP50220 */ -static const char *cp50220_aliases[] = {"cp50220raw", "cp50220-raw", NULL}; - -const mbfl_encoding mbfl_encoding_jis_ms = { - mbfl_no_encoding_jis_ms, - "JIS-ms", - "ISO-2022-JP", - NULL, - NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_jis_ms_wchar, - &vtbl_wchar_jis_ms -}; + * still using it, retain minimal support by aliasing it to CP50220 + * + * Further, mbstring also had a made-up encoding called "JIS-ms" + * This was the same as CP5022{0,1,2}, but without their special ways of + * handling conversion of Unicode half-width katakana */ +static const char *cp50220_aliases[] = {"cp50220raw", "cp50220-raw", "JIS-ms", NULL}; const mbfl_encoding mbfl_encoding_cp50220 = { mbfl_no_encoding_cp50220, @@ -87,12 +79,6 @@ const mbfl_encoding mbfl_encoding_cp50222 = { &vtbl_wchar_cp50222 }; -const struct mbfl_identify_vtbl vtbl_identify_jis_ms = { - mbfl_no_encoding_jis_ms, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_jis_ms -}; - const struct mbfl_identify_vtbl vtbl_identify_cp50220 = { mbfl_no_encoding_cp50220, mbfl_filt_ident_common_ctor, @@ -111,30 +97,12 @@ const struct mbfl_identify_vtbl vtbl_identify_cp50222 = { mbfl_filt_ident_cp5022x }; -const struct mbfl_convert_vtbl vtbl_jis_ms_wchar = { - mbfl_no_encoding_jis_ms, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_jis_ms_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_jis_ms = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_jis_ms, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_jis_ms, - mbfl_filt_conv_any_jis_flush -}; - const struct mbfl_convert_vtbl vtbl_cp50220_wchar = { mbfl_no_encoding_cp50220, mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, NULL, - mbfl_filt_conv_jis_ms_wchar, + mbfl_filt_conv_cp5022x_wchar, mbfl_filt_conv_common_flush }; @@ -152,7 +120,7 @@ const struct mbfl_convert_vtbl vtbl_cp50221_wchar = { mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, NULL, - mbfl_filt_conv_jis_ms_wchar, + mbfl_filt_conv_cp5022x_wchar, mbfl_filt_conv_common_flush }; @@ -170,7 +138,7 @@ const struct mbfl_convert_vtbl vtbl_cp50222_wchar = { mbfl_no_encoding_wchar, mbfl_filt_conv_common_ctor, NULL, - mbfl_filt_conv_jis_ms_wchar, + mbfl_filt_conv_cp5022x_wchar, mbfl_filt_conv_common_flush }; @@ -183,10 +151,7 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp50222 = { mbfl_filt_conv_wchar_cp50222_flush }; -/* - * JIS-ms => wchar - */ -void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) +void mbfl_filt_conv_cp5022x_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; @@ -356,153 +321,6 @@ void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter) } } -/* - * wchar => JIS - */ -void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter) -{ - int s = 0; - - if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { - s = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; - } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { - s = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; - } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { - s = ucs_i_jis_table[c - ucs_i_jis_table_min]; - } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { - s = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 10 * 94)) { - /* PUE => Microsoft extended (pseudo 95ku - 114ku) */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - 0xe000; - s = ((s / 94) + 0x7F) << 8 | ((s % 94) + 0x21); - } else if (c >= (0xe000 + 10 * 94) && c <= (0xe000 + 20 * 94)) { - /* PUE => JISX0212 user-defined (G3 85ku - 94ku) */ - /* See http://www.opengroup.or.jp/jvc/cde/ucs-conv.html#ch4_2 */ - s = c - (0xe000 + 10 * 94); - s = (s / 94 + 0xf5) << 8 | (s % 94 + 0xa1); - } - - /* do some transliteration */ - if (s <= 0) { - if (c == 0xa5) { /* YEN SIGN */ - s = 0x1005c; - } else if (c == 0x203e) { /* OVER LINE */ - s = 0x1007e; - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ - s = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ - s = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ - s = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ - s = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ - s = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ - s = 0x224c; - } - } - if (s <= 0 || (s >= 0x8080 && s < 0x10000)) { - int i; - s = -1; - - for (i = 0; - i < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; i++) { - const int oh = cp932ext1_ucs_table_min / 94; - - if (c == cp932ext1_ucs_table[i]) { - s = ((i / 94 + oh + 0x21) << 8) + (i % 94 + 0x21); - break; - } - } - - if (s < 0) { - const int oh = cp932ext2_ucs_table_min / 94; - const int cp932ext2_ucs_table_size = - cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; - for (i = 0; i < cp932ext2_ucs_table_size; i++) { - if (c == cp932ext2_ucs_table[i]) { - s = ((i / 94 + oh + 0x21) << 8) + (i % 94 + 0x21); - break; - } - } - } - - if (s < 0) { - const int cp932ext3_ucs_table_size = - cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; - const int limit = cp932ext3_ucs_table_size > - cp932ext3_eucjp_table_size ? - cp932ext3_eucjp_table_size: - cp932ext3_ucs_table_size; - for (i = 0; i < limit; i++) { - if (c == cp932ext3_ucs_table[i]) { - s = cp932ext3_eucjp_table[i]; - break; - } - } - } - - if (c == 0) { - s = 0; - } else if (s <= 0) { - s = -1; - } - } - - if (s >= 0) { - if (s < 0x80) { /* ASCII */ - if (filter->status & 0xff00) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ - } - filter->status = 0; - (*filter->output_function)(s, filter->data); - } else if (s < 0x100) { /* kana */ - if ((filter->status & 0xff00) != 0x100) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x49, filter->data); /* 'I' */ - } - filter->status = 0x100; - (*filter->output_function)(s & 0x7f, filter->data); - } else if (s < 0x8080) { /* X 0208 */ - if ((filter->status & 0xff00) != 0x200) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ - } - filter->status = 0x200; - (*filter->output_function)((s >> 8) & 0xFF, filter->data); - (*filter->output_function)(s & 0xFF, filter->data); - } else if (s < 0x10000) { /* X 0212 */ - if ((filter->status & 0xff00) != 0x300) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x44, filter->data); /* 'D' */ - } - filter->status = 0x300; - (*filter->output_function)((s >> 8) & 0x7f, filter->data); - (*filter->output_function)(s & 0x7f, filter->data); - } else { /* X 0201 latin */ - if ((filter->status & 0xff00) != 0x400) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x4a, filter->data); /* 'J' */ - } - filter->status = 0x400; - (*filter->output_function)(s & 0x7f, filter->data); - } - } else { - mbfl_filt_conv_illegal_output(c, filter); - } -} - /* * wchar => CP50220 */ @@ -831,103 +649,6 @@ void mbfl_filt_conv_wchar_cp50222_flush(mbfl_convert_filter *filter) } } - -static void mbfl_filt_ident_jis_ms(unsigned char c, mbfl_identify_filter *filter) -{ -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x20: X 0201 kana */ -/* case 0x80: X 0208 */ -/* case 0x90: X 0212 */ - case 0: - if (c == 0x1b) { - filter->status += 2; - } else if (c == 0x0e) { /* "kana in" */ - filter->status = 0x20; - } else if (c == 0x0f) { /* "kana out" */ - filter->status = 0; - } else if ((filter->status == 0x80 || filter->status == 0x90) && c > 0x20 && c < 0x7f) { /* kanji first char */ - filter->status += 1; - } else if (c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ - } - break; - -/* case 0x81: X 0208 second char */ -/* case 0x91: X 0212 second char */ - case 1: - filter->status &= ~0xf; - if (c == 0x1b) { - goto retry; - } else if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; - } - break; - - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ - filter->status++; - } else if (c == 0x28) { /* '(' */ - filter->status += 3; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ - filter->status++; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC $ ( */ - case 4: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x44) { /* 'D' */ - filter->status = 0x90; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC ( */ - case 5: - if (c == 0x42 || c == 0x48) { /* 'B' or 'H' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0x10; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - default: - filter->status = 0; - break; - } -} - static void mbfl_filt_ident_cp5022x_x0201(unsigned char c, mbfl_identify_filter *filter); static void mbfl_filt_ident_cp5022x_x0208(unsigned char c, mbfl_identify_filter *filter); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h index cdc4d7f34517a..373adbc58e68a 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.h @@ -32,16 +32,12 @@ #include "mbfilter.h" -extern const mbfl_encoding mbfl_encoding_jis_ms; extern const mbfl_encoding mbfl_encoding_cp50220; extern const mbfl_encoding mbfl_encoding_cp50221; extern const mbfl_encoding mbfl_encoding_cp50222; -extern const struct mbfl_identify_vtbl vtbl_identify_jis_ms; extern const struct mbfl_identify_vtbl vtbl_identify_cp50220; extern const struct mbfl_identify_vtbl vtbl_identify_cp50221; extern const struct mbfl_identify_vtbl vtbl_identify_cp50222; -extern const struct mbfl_convert_vtbl vtbl_jis_ms_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_jis_ms; extern const struct mbfl_convert_vtbl vtbl_cp50220_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50220; extern const struct mbfl_convert_vtbl vtbl_cp50221_wchar; @@ -49,8 +45,7 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_cp50221; extern const struct mbfl_convert_vtbl vtbl_cp50222_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_cp50222; -void mbfl_filt_conv_jis_ms_wchar(int c, mbfl_convert_filter *filter); -void mbfl_filt_conv_wchar_jis_ms(int c, mbfl_convert_filter *filter); +void mbfl_filt_conv_cp5022x_wchar(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50220(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50221(int c, mbfl_convert_filter *filter); void mbfl_filt_conv_wchar_cp50222(int c, mbfl_convert_filter *filter); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index e929caadfca53..8500ebabeb893 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -155,7 +155,6 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_koi8u, &mbfl_encoding_armscii8, &mbfl_encoding_cp850, - &mbfl_encoding_jis_ms, &mbfl_encoding_2022jp_2004, &mbfl_encoding_2022jp_kddi, &mbfl_encoding_cp50220, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index e0a3ebfba6de2..556ccd2fb25d4 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -118,7 +118,6 @@ enum mbfl_no_encoding { mbfl_no_encoding_8859_16, mbfl_no_encoding_armscii8, mbfl_no_encoding_cp850, - mbfl_no_encoding_jis_ms, mbfl_no_encoding_cp50220, mbfl_no_encoding_cp50221, mbfl_no_encoding_cp50222, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 6e5caf100c469..97cc04e800d14 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -130,7 +130,6 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_8859_16, &vtbl_identify_armscii8, &vtbl_identify_cp850, - &vtbl_identify_jis_ms, &vtbl_identify_cp50220, &vtbl_identify_cp50221, &vtbl_identify_cp50222, From 61981ad23dde5d298ca023660382c492f9799908 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 07:31:43 +0200 Subject: [PATCH 102/123] Remove unused macros from mbfilter_cp51932.c, mbfilter_iso2022jp_mobile.c --- ext/mbstring/libmbfl/filters/mbfilter_cp51932.c | 7 ------- ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c | 7 ------- 2 files changed, 14 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index 3add1ed55880a..bae574f0fd75c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -93,13 +93,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { mbfl_filt_conv_common_flush }; -#define sjistoidx(c1, c2) \ - (((c1) > 0x9f) \ - ? (((c1) - 0xc1) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40)) \ - : (((c1) - 0x81) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40))) -#define idxtoeuc1(c) (((c) / 94) + 0xa1) -#define idxtoeuc2(c) (((c) % 94) + 0xa1) - /* * cp51932 => wchar */ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index a90397601f9db..bc56a42926a08 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -75,13 +75,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { mbfl_filt_conv_any_jis_flush }; -#define sjistoidx(c1, c2) \ - (((c1) > 0x9f) \ - ? (((c1) - 0xc1) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40)) \ - : (((c1) - 0x81) * 188 + (c2) - (((c2) > 0x7e) ? 0x41 : 0x40))) -#define idxtojis1(c) (((c) / 94) + 0x21) -#define idxtojis2(c) (((c) % 94) + 0x21) - #define SJIS_ENCODE(c1,c2,s1,s2) \ do { \ s1 = c1; \ From 1bda08db86e70a010f7c4bb04bb2d0036022e0df Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 14:27:21 +0200 Subject: [PATCH 103/123] Enhance handling of CP51932 encoding - Don't pass 'control' characters through in the middle of a multi-byte char - Treat truncated multi-byte characters as an error - Precise identification of valid/invalid strings --- .../libmbfl/filters/mbfilter_cp51932.c | 70 +++++++++++++------ 1 file changed, 48 insertions(+), 22 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index bae574f0fd75c..bed85992b2428 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -34,6 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" +static void mbfl_filt_conv_cp51932_wchar_flush(mbfl_convert_filter *filter); static void mbfl_filt_ident_cp51932(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_eucjp[] = { /* 0xA1-0xFE */ @@ -81,7 +82,7 @@ const struct mbfl_convert_vtbl vtbl_cp51932_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_cp51932_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_cp51932_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp51932 = { @@ -104,7 +105,7 @@ void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) case 0: if (c >= 0 && c < 0x80) { /* latin */ (*filter->output_function)(c, filter->data); - } else if (c > 0xa0 && c < 0xff) { /* CP932 first char */ + } else if (c >= 0xA1 && c <= 0xFE) { /* CP932 first char */ filter->status = 1; filter->cache = c; } else if (c == 0x8e) { /* kana first char */ @@ -154,8 +155,6 @@ void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) w |= MBFL_WCSPLANE_WINCP932; } (*filter->output_function)(w, filter->data); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { w = (c1 << 8) | c; w &= MBFL_WCSGROUP_MASK; @@ -169,8 +168,6 @@ void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) if (c > 0xa0 && c < 0xe0) { w = 0xfec0 + c; (*filter->output_function)(w, filter->data); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { w = 0x8e00 | c; w &= MBFL_WCSGROUP_MASK; @@ -185,6 +182,18 @@ void mbfl_filt_conv_cp51932_wchar(int c, mbfl_convert_filter *filter) } } +static void mbfl_filt_conv_cp51932_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status) { + /* Input string was truncated */ + (*filter->output_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter->data); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } +} + /* * wchar => cp51932 */ @@ -269,37 +278,54 @@ void mbfl_filt_conv_wchar_cp51932(int c, mbfl_convert_filter *filter) } } +int is_unused_cp932_range(unsigned char byte1, unsigned char byte2) +{ + int kuten = (byte1 - 0xA1) * 94 + byte2 - 0xA1; + if (kuten <= 137) { + if (kuten == 31 || kuten == 32 || kuten == 33 || kuten == 60 || kuten == 80 || kuten == 81 || kuten == 137) { + return 0; + } + } + + int wchar = 0; + if (kuten >= cp932ext1_ucs_table_min && kuten < cp932ext1_ucs_table_max) { + wchar = cp932ext1_ucs_table[kuten - cp932ext1_ucs_table_min]; + } else if (kuten >= 0 && kuten < jisx0208_ucs_table_size) { + wchar = jisx0208_ucs_table[kuten]; + } else if (kuten >= cp932ext2_ucs_table_min && kuten < cp932ext2_ucs_table_max) { + wchar = cp932ext2_ucs_table[kuten - cp932ext2_ucs_table_min]; + } + + return !wchar; +} + static void mbfl_filt_ident_cp51932(unsigned char c, mbfl_identify_filter *filter) { - switch (filter->status) { - case 0: /* latin */ - if (c < 0x80) { /* ok */ + switch (filter->status & 0xF) { + case 0: /* ASCII */ + if (c < 0x80) { /* ok */ ; - } else if (c > 0xa0 && c < 0xff) { /* kanji first char */ - filter->status = 1; - } else if (c == 0x8e) { /* kana first char */ + } else if (c >= 0xA1 && c <= 0xFC) { /* CP932, first byte */ + filter->status = (c << 8) | 1; + } else if (c == 0x8E) { /* Kana, first char */ filter->status = 2; - } else { /* bad */ - filter->flag = 1; + } else { + filter->flag = 1; /* bad */ } break; - case 1: /* got first half */ - if (c < 0xa1 || c > 0xfe) { /* bad */ + case 1: /* Second byte of CP932 character */ + if (c < 0xA1 || c > 0xFE || is_unused_cp932_range(filter->status >> 8, c)) { /* bad */ filter->flag = 1; } filter->status = 0; break; - case 2: /* got 0x8e */ - if (c < 0xa1 || c > 0xdf) { /* bad */ + case 2: /* JIS X 0201 Kana */ + if (c < 0xA1 || c > 0xDF) { /* bad */ filter->flag = 1; } filter->status = 0; break; - - default: - filter->status = 0; - break; } } From b222b4da790525a446ae2d1387cae1d3142638d9 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 13:53:09 +0200 Subject: [PATCH 104/123] Add test suite for CP51932 encoding --- ext/mbstring/tests/cp51932_encoding.phpt | 92 + ext/mbstring/tests/data/CP51932.txt | 7613 ++++++++++++++++++++++ 2 files changed, 7705 insertions(+) create mode 100644 ext/mbstring/tests/cp51932_encoding.phpt create mode 100644 ext/mbstring/tests/data/CP51932.txt diff --git a/ext/mbstring/tests/cp51932_encoding.phpt b/ext/mbstring/tests/cp51932_encoding.phpt new file mode 100644 index 0000000000000..75e48f51ee991 --- /dev/null +++ b/ext/mbstring/tests/cp51932_encoding.phpt @@ -0,0 +1,92 @@ +--TEST-- +Exhaustive test of CP51932 encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-16BE string */ +$fromUnicode = array(); + +$fp = fopen(realpath(__DIR__ . '/data/CP51932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + $byte2 = null; + if (sscanf($line, ' \x%x\x%x', $codepoint, $byte1, $byte2) >= 2) { + /* The table we are using tries to map as many Unicode codepoints into + * CP51932 as possible, including by mapping latin characters with accents + * to the equivalent without accents; but since CP51932 is based on the + * CP932 character set, we don't need to handle codepoints which are not + * mapped from any character in CP932 */ + if (($codepoint >= 0xC0 && $codepoint <= 0xD6) || + ($codepoint >= 0xD8 && $codepoint <= 0xF6) || + ($codepoint >= 0xF8 && $codepoint <= 0xFF)) + continue; + $cp51932 = ($byte2 ? (chr($byte1) . chr($byte2)) : chr($byte1)); + $utf16 = pack('n', $codepoint); + $validChars[$cp51932] = $utf16; + $fromUnicode[$utf16] = $cp51932; + } +} + +/* There are a number of duplicate, irreversible mappings in the CP51932 table + * In most cases, the one which we primarily use appears last in the table, + * but in some cases, it is first and will be overwritten in the above loop + * + * Interestingly, the "collisions" happen in both directions! Part of this is + * because the table we are using attempts to map as many Unicode codepoints + * as possible to CP932 characters */ +$fromUnicode["\x22\x20"] = "\xA2\xDC"; +$fromUnicode["\x22\x29"] = "\xA2\xC1"; +$fromUnicode["\x22\x2B"] = "\xA2\xE9"; +$fromUnicode["\x22\x35"] = "\xA2\xE8"; +$fromUnicode["\x22\x1A"] = "\xA2\xE5"; +$fromUnicode["\x22\x2A"] = "\xA2\xC0"; +$fromUnicode["\x22\x61"] = "\xA2\xE1"; +$fromUnicode["\x22\xA5"] = "\xA2\xDD"; +$fromUnicode["\x22\x52"] = "\xA2\xE2"; +$fromUnicode["\xFF\xE2"] = "\xA2\xCC"; +unset($fromUnicode["\x00\xA1"]); // Don't map upside-down ! to ordinary ! +unset($fromUnicode["\x00\xA6"]); // Don't map broken bar to ordinary pipe character +unset($fromUnicode["\x00\xA9"]); // Don't map © to c +unset($fromUnicode["\x00\xAA"]); // Don't map feminine ordinal indicator +unset($fromUnicode["\x00\xAB"]); // Don't map left double angled quote mark to "much less than" +unset($fromUnicode["\x00\xAD"]); // Don't map soft hyphen to ordinary hyphen +unset($fromUnicode["\x00\xAE"]); // Don't map ® to R +unset($fromUnicode["\x00\xAF"]); // Don't map Unicode halfwidth macron to CP932 fullwidth macron +unset($fromUnicode["\x00\xB2"]); // Don't map ² to ordinary 2 +unset($fromUnicode["\x00\xB3"]); // Don't map ³ to ordinary 3 +unset($fromUnicode["\x00\xB5"]); // Don't map micro sign to Greek mu +unset($fromUnicode["\x00\xB7"]); // Don't map middle dot to katakana middle dot +unset($fromUnicode["\x00\xB8"]); // Don't map cedilla to fullwidth comma +unset($fromUnicode["\x00\xB9"]); // Don't map ¹ to ordinary 1 +unset($fromUnicode["\x00\xBA"]); // Don't map "masculine ordinal indicator" +unset($fromUnicode["\x00\xBB"]); // Don't map right double angled quote mark to "much greater than" +unset($fromUnicode["\x30\x94"]); // Don't map hiragana vu to katakana vu + +for ($i = 0; $i <= 0x7F; $i++) + $validChars[chr($i)] = "\x00" . chr($i); + +testAllValidChars($validChars, 'CP51932', 'UTF-16BE', false); +testAllValidChars($fromUnicode, 'UTF-16BE', 'CP51932', false); +echo "CP51932 verification and conversion works on all valid characters\n"; + +findInvalidChars($validChars, $invalidChars, $truncated, false, + // Bytes in the range which should start a 2-byte character, though none + // actually map to anything + array("\xA9" => true, "\xAA" => true, "\xAB" => true, "\xAC" => true, "\xAE" => true, "\xAF" => true, "\xF5" => true, "\xF6" => true, "\xF7" => true, "\xF8" => true, "\xFD" => true, "\xFE" => true)); + +testAllInvalidChars($invalidChars, $validChars, 'CP51932', 'UTF-16BE', "\x00%"); +testTruncatedChars($truncated, 'CP51932', 'UTF-16BE', "\x00%"); +echo "CP51932 verification and conversion works on all invalid characters\n"; + +?> +--EXPECT-- +CP51932 verification and conversion works on all valid characters +CP51932 verification and conversion works on all invalid characters diff --git a/ext/mbstring/tests/data/CP51932.txt b/ext/mbstring/tests/data/CP51932.txt new file mode 100644 index 0000000000000..7dc3aad86c88e --- /dev/null +++ b/ext/mbstring/tests/data/CP51932.txt @@ -0,0 +1,7613 @@ +# +# cp51932 - Microsoft Windows Codepage 51932 (EUC - Japanese) + \x00 |0 # NULL + \x01 |0 # START OF HEADING + \x02 |0 # START OF TEXT + \x03 |0 # END OF TEXT + \x04 |0 # END OF TRANSMISSION + \x05 |0 # ENQUIRY + \x06 |0 # ACKNOWLEDGE + \x07 |0 # BELL + \x08 |0 # BACKSPACE + \x09 |0 # HORIZONTAL TABULATION + \x0A |0 # LINE FEED + \x0B |0 # VERTICAL TABULATION + \x0C |0 # FORM FEED + \x0D |0 # CARRIAGE RETURN + \x0E |0 # SHIFT OUT + \x0F |0 # SHIFT IN + \x10 |0 # DATA LINK ESCAPE + \x11 |0 # DEVICE CONTROL ONE + \x12 |0 # DEVICE CONTROL TWO + \x13 |0 # DEVICE CONTROL THREE + \x14 |0 # DEVICE CONTROL FOUR + \x15 |0 # NEGATIVE ACKNOWLEDGE + \x16 |0 # SYNCHRONOUS IDLE + \x17 |0 # END OF TRANSMISSION BLOCK + \x18 |0 # CANCEL + \x19 |0 # END OF MEDIUM + \x1A |0 # SUBSTITUTE + \x1B |0 # ESCAPE + \x1C |0 # FILE SEPARATOR + \x1D |0 # GROUP SEPARATOR + \x1E |0 # RECORD SEPARATOR + \x1F |0 # UNIT SEPARATOR + \x20 |0 # SPACE + \x21 |0 # EXCLAMATION MARK + \x22 |0 # QUOTATION MARK + \x23 |0 # NUMBER SIGN + \x24 |0 # DOLLAR SIGN + \x25 |0 # PERCENT SIGN + \x26 |0 # AMPERSAND + \x27 |0 # APOSTROPHE + \x28 |0 # LEFT PARENTHESIS + \x29 |0 # RIGHT PARENTHESIS + \x2A |0 # ASTERISK + \x2B |0 # PLUS SIGN + \x2C |0 # COMMA + \x2D |0 # HYPHEN-MINUS + \x2E |0 # FULL STOP + \x2F |0 # SOLIDUS + \x30 |0 # DIGIT ZERO + \x31 |0 # DIGIT ONE + \x32 |0 # DIGIT TWO + \x33 |0 # DIGIT THREE + \x34 |0 # DIGIT FOUR + \x35 |0 # DIGIT FIVE + \x36 |0 # DIGIT SIX + \x37 |0 # DIGIT SEVEN + \x38 |0 # DIGIT EIGHT + \x39 |0 # DIGIT NINE + \x3A |0 # COLON + \x3B |0 # SEMICOLON + \x3C |0 # LESS-THAN SIGN + \x3D |0 # EQUALS SIGN + \x3E |0 # GREATER-THAN SIGN + \x3F |0 # QUESTION MARK + \x40 |0 # COMMERCIAL AT + \x41 |0 # LATIN CAPITAL LETTER A + \x42 |0 # LATIN CAPITAL LETTER B + \x43 |0 # LATIN CAPITAL LETTER C + \x44 |0 # LATIN CAPITAL LETTER D + \x45 |0 # LATIN CAPITAL LETTER E + \x46 |0 # LATIN CAPITAL LETTER F + \x47 |0 # LATIN CAPITAL LETTER G + \x48 |0 # LATIN CAPITAL LETTER H + \x49 |0 # LATIN CAPITAL LETTER I + \x4A |0 # LATIN CAPITAL LETTER J + \x4B |0 # LATIN CAPITAL LETTER K + \x4C |0 # LATIN CAPITAL LETTER L + \x4D |0 # LATIN CAPITAL LETTER M + \x4E |0 # LATIN CAPITAL LETTER N + \x4F |0 # LATIN CAPITAL LETTER O + \x50 |0 # LATIN CAPITAL LETTER P + \x51 |0 # LATIN CAPITAL LETTER Q + \x52 |0 # LATIN CAPITAL LETTER R + \x53 |0 # LATIN CAPITAL LETTER S + \x54 |0 # LATIN CAPITAL LETTER T + \x55 |0 # LATIN CAPITAL LETTER U + \x56 |0 # LATIN CAPITAL LETTER V + \x57 |0 # LATIN CAPITAL LETTER W + \x58 |0 # LATIN CAPITAL LETTER X + \x59 |0 # LATIN CAPITAL LETTER Y + \x5A |0 # LATIN CAPITAL LETTER Z + \x5B |0 # LEFT SQUARE BRACKET + \x5C |0 # REVERSE SOLIDUS + \x5D |0 # RIGHT SQUARE BRACKET + \x5E |0 # CIRCUMFLEX ACCENT + \x5F |0 # LOW LINE + \x60 |0 # GRAVE ACCENT + \x61 |0 # LATIN SMALL LETTER A + \x62 |0 # LATIN SMALL LETTER B + \x63 |0 # LATIN SMALL LETTER C + \x64 |0 # LATIN SMALL LETTER D + \x65 |0 # LATIN SMALL LETTER E + \x66 |0 # LATIN SMALL LETTER F + \x67 |0 # LATIN SMALL LETTER G + \x68 |0 # LATIN SMALL LETTER H + \x69 |0 # LATIN SMALL LETTER I + \x6A |0 # LATIN SMALL LETTER J + \x6B |0 # LATIN SMALL LETTER K + \x6C |0 # LATIN SMALL LETTER L + \x6D |0 # LATIN SMALL LETTER M + \x6E |0 # LATIN SMALL LETTER N + \x6F |0 # LATIN SMALL LETTER O + \x70 |0 # LATIN SMALL LETTER P + \x71 |0 # LATIN SMALL LETTER Q + \x72 |0 # LATIN SMALL LETTER R + \x73 |0 # LATIN SMALL LETTER S + \x74 |0 # LATIN SMALL LETTER T + \x75 |0 # LATIN SMALL LETTER U + \x76 |0 # LATIN SMALL LETTER V + \x77 |0 # LATIN SMALL LETTER W + \x78 |0 # LATIN SMALL LETTER X + \x79 |0 # LATIN SMALL LETTER Y + \x7A |0 # LATIN SMALL LETTER Z + \x7B |0 # LEFT CURLY BRACKET + \x7C |0 # VERTICAL LINE + \x7D |0 # RIGHT CURLY BRACKET + \x7E |0 # TILDE + \x7F |0 # DELETE + \x21 |1 # INVERTED EXCLAMATION MARK + \xA1\xF1 |1 # CENT SIGN + \xA1\xF2 |1 # POUND SIGN + \x5C |1 # YEN SIGN + \x7C |1 # BROKEN BAR + \xA1\xF8 |0 # SECTION SIGN + \xA1\xAF |0 # DIAERESIS + \x63 |1 # COPYRIGHT SIGN + \x61 |1 # FEMININE ORDINAL INDICATOR + \xA2\xE3 |1 # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + \xA2\xCC |1 # NOT SIGN + \x2D |1 # SOFT HYPHEN + \x52 |1 # REGISTERED SIGN + \xA1\xB1 |1 # MACRON + \xA1\xEB |0 # DEGREE SIGN + \xA1\xDE |0 # PLUS-MINUS SIGN + \x32 |1 # SUPERSCRIPT TWO + \x33 |1 # SUPERSCRIPT THREE + \xA1\xAD |0 # ACUTE ACCENT + \xA6\xCC |1 # MICRO SIGN + \xA2\xF9 |0 # PILCROW SIGN + \xA1\xA6 |1 # MIDDLE DOT + \xA1\xA4 |1 # CEDILLA + \x31 |1 # SUPERSCRIPT ONE + \x6F |1 # MASCULINE ORDINAL INDICATOR + \xA2\xE4 |1 # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + \x41 |1 # LATIN CAPITAL LETTER A WITH GRAVE + \x41 |1 # LATIN CAPITAL LETTER A WITH ACUTE + \x41 |1 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + \x41 |1 # LATIN CAPITAL LETTER A WITH TILDE + \x41 |1 # LATIN CAPITAL LETTER A WITH DIAERESIS + \x41 |1 # LATIN CAPITAL LETTER A WITH RING ABOVE + \x41 |1 # LATIN CAPITAL LETTER AE + \x43 |1 # LATIN CAPITAL LETTER C WITH CEDILLA + \x45 |1 # LATIN CAPITAL LETTER E WITH GRAVE + \x45 |1 # LATIN CAPITAL LETTER E WITH ACUTE + \x45 |1 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + \x45 |1 # LATIN CAPITAL LETTER E WITH DIAERESIS + \x49 |1 # LATIN CAPITAL LETTER I WITH GRAVE + \x49 |1 # LATIN CAPITAL LETTER I WITH ACUTE + \x49 |1 # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + \x49 |1 # LATIN CAPITAL LETTER I WITH DIAERESIS + \x44 |1 # LATIN CAPITAL LETTER ETH + \x4E |1 # LATIN CAPITAL LETTER N WITH TILDE + \x4F |1 # LATIN CAPITAL LETTER O WITH GRAVE + \x4F |1 # LATIN CAPITAL LETTER O WITH ACUTE + \x4F |1 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + \x4F |1 # LATIN CAPITAL LETTER O WITH TILDE + \x4F |1 # LATIN CAPITAL LETTER O WITH DIAERESIS + \xA1\xDF |0 # MULTIPLICATION SIGN + \x4F |1 # LATIN CAPITAL LETTER O WITH STROKE + \x55 |1 # LATIN CAPITAL LETTER U WITH GRAVE + \x55 |1 # LATIN CAPITAL LETTER U WITH ACUTE + \x55 |1 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + \x55 |1 # LATIN CAPITAL LETTER U WITH DIAERESIS + \x59 |1 # LATIN CAPITAL LETTER Y WITH ACUTE + \x54 |1 # LATIN CAPITAL LETTER THORN + \x73 |1 # LATIN SMALL LETTER SHARP S + \x61 |1 # LATIN SMALL LETTER A WITH GRAVE + \x61 |1 # LATIN SMALL LETTER A WITH ACUTE + \x61 |1 # LATIN SMALL LETTER A WITH CIRCUMFLEX + \x61 |1 # LATIN SMALL LETTER A WITH TILDE + \x61 |1 # LATIN SMALL LETTER A WITH DIAERESIS + \x61 |1 # LATIN SMALL LETTER A WITH RING ABOVE + \x61 |1 # LATIN SMALL LETTER AE + \x63 |1 # LATIN SMALL LETTER C WITH CEDILLA + \x65 |1 # LATIN SMALL LETTER E WITH GRAVE + \x65 |1 # LATIN SMALL LETTER E WITH ACUTE + \x65 |1 # LATIN SMALL LETTER E WITH CIRCUMFLEX + \x65 |1 # LATIN SMALL LETTER E WITH DIAERESIS + \x69 |1 # LATIN SMALL LETTER I WITH GRAVE + \x69 |1 # LATIN SMALL LETTER I WITH ACUTE + \x69 |1 # LATIN SMALL LETTER I WITH CIRCUMFLEX + \x69 |1 # LATIN SMALL LETTER I WITH DIAERESIS + \x64 |1 # LATIN SMALL LETTER ETH + \x6E |1 # LATIN SMALL LETTER N WITH TILDE + \x6F |1 # LATIN SMALL LETTER O WITH GRAVE + \x6F |1 # LATIN SMALL LETTER O WITH ACUTE + \x6F |1 # LATIN SMALL LETTER O WITH CIRCUMFLEX + \x6F |1 # LATIN SMALL LETTER O WITH TILDE + \x6F |1 # LATIN SMALL LETTER O WITH DIAERESIS + \xA1\xE0 |0 # DIVISION SIGN + \x6F |1 # LATIN SMALL LETTER O WITH STROKE + \x75 |1 # LATIN SMALL LETTER U WITH GRAVE + \x75 |1 # LATIN SMALL LETTER U WITH ACUTE + \x75 |1 # LATIN SMALL LETTER U WITH CIRCUMFLEX + \x75 |1 # LATIN SMALL LETTER U WITH DIAERESIS + \x79 |1 # LATIN SMALL LETTER Y WITH ACUTE + \x74 |1 # LATIN SMALL LETTER THORN + \x79 |1 # LATIN SMALL LETTER Y WITH DIAERESIS + \xA6\xA1 |0 # GREEK CAPITAL LETTER ALPHA + \xA6\xA2 |0 # GREEK CAPITAL LETTER BETA + \xA6\xA3 |0 # GREEK CAPITAL LETTER GAMMA + \xA6\xA4 |0 # GREEK CAPITAL LETTER DELTA + \xA6\xA5 |0 # GREEK CAPITAL LETTER EPSILON + \xA6\xA6 |0 # GREEK CAPITAL LETTER ZETA + \xA6\xA7 |0 # GREEK CAPITAL LETTER ETA + \xA6\xA8 |0 # GREEK CAPITAL LETTER THETA + \xA6\xA9 |0 # GREEK CAPITAL LETTER IOTA + \xA6\xAA |0 # GREEK CAPITAL LETTER KAPPA + \xA6\xAB |0 # GREEK CAPITAL LETTER LAMDA + \xA6\xAC |0 # GREEK CAPITAL LETTER MU + \xA6\xAD |0 # GREEK CAPITAL LETTER NU + \xA6\xAE |0 # GREEK CAPITAL LETTER XI + \xA6\xAF |0 # GREEK CAPITAL LETTER OMICRON + \xA6\xB0 |0 # GREEK CAPITAL LETTER PI + \xA6\xB1 |0 # GREEK CAPITAL LETTER RHO + \xA6\xB2 |0 # GREEK CAPITAL LETTER SIGMA + \xA6\xB3 |0 # GREEK CAPITAL LETTER TAU + \xA6\xB4 |0 # GREEK CAPITAL LETTER UPSILON + \xA6\xB5 |0 # GREEK CAPITAL LETTER PHI + \xA6\xB6 |0 # GREEK CAPITAL LETTER CHI + \xA6\xB7 |0 # GREEK CAPITAL LETTER PSI + \xA6\xB8 |0 # GREEK CAPITAL LETTER OMEGA + \xA6\xC1 |0 # GREEK SMALL LETTER ALPHA + \xA6\xC2 |0 # GREEK SMALL LETTER BETA + \xA6\xC3 |0 # GREEK SMALL LETTER GAMMA + \xA6\xC4 |0 # GREEK SMALL LETTER DELTA + \xA6\xC5 |0 # GREEK SMALL LETTER EPSILON + \xA6\xC6 |0 # GREEK SMALL LETTER ZETA + \xA6\xC7 |0 # GREEK SMALL LETTER ETA + \xA6\xC8 |0 # GREEK SMALL LETTER THETA + \xA6\xC9 |0 # GREEK SMALL LETTER IOTA + \xA6\xCA |0 # GREEK SMALL LETTER KAPPA + \xA6\xCB |0 # GREEK SMALL LETTER LAMDA + \xA6\xCC |0 # GREEK SMALL LETTER MU + \xA6\xCD |0 # GREEK SMALL LETTER NU + \xA6\xCE |0 # GREEK SMALL LETTER XI + \xA6\xCF |0 # GREEK SMALL LETTER OMICRON + \xA6\xD0 |0 # GREEK SMALL LETTER PI + \xA6\xD1 |0 # GREEK SMALL LETTER RHO + \xA6\xD2 |0 # GREEK SMALL LETTER SIGMA + \xA6\xD3 |0 # GREEK SMALL LETTER TAU + \xA6\xD4 |0 # GREEK SMALL LETTER UPSILON + \xA6\xD5 |0 # GREEK SMALL LETTER PHI + \xA6\xD6 |0 # GREEK SMALL LETTER CHI + \xA6\xD7 |0 # GREEK SMALL LETTER PSI + \xA6\xD8 |0 # GREEK SMALL LETTER OMEGA + \xA7\xA7 |0 # CYRILLIC CAPITAL LETTER IO + \xA7\xA1 |0 # CYRILLIC CAPITAL LETTER A + \xA7\xA2 |0 # CYRILLIC CAPITAL LETTER BE + \xA7\xA3 |0 # CYRILLIC CAPITAL LETTER VE + \xA7\xA4 |0 # CYRILLIC CAPITAL LETTER GHE + \xA7\xA5 |0 # CYRILLIC CAPITAL LETTER DE + \xA7\xA6 |0 # CYRILLIC CAPITAL LETTER IE + \xA7\xA8 |0 # CYRILLIC CAPITAL LETTER ZHE + \xA7\xA9 |0 # CYRILLIC CAPITAL LETTER ZE + \xA7\xAA |0 # CYRILLIC CAPITAL LETTER I + \xA7\xAB |0 # CYRILLIC CAPITAL LETTER SHORT I + \xA7\xAC |0 # CYRILLIC CAPITAL LETTER KA + \xA7\xAD |0 # CYRILLIC CAPITAL LETTER EL + \xA7\xAE |0 # CYRILLIC CAPITAL LETTER EM + \xA7\xAF |0 # CYRILLIC CAPITAL LETTER EN + \xA7\xB0 |0 # CYRILLIC CAPITAL LETTER O + \xA7\xB1 |0 # CYRILLIC CAPITAL LETTER PE + \xA7\xB2 |0 # CYRILLIC CAPITAL LETTER ER + \xA7\xB3 |0 # CYRILLIC CAPITAL LETTER ES + \xA7\xB4 |0 # CYRILLIC CAPITAL LETTER TE + \xA7\xB5 |0 # CYRILLIC CAPITAL LETTER U + \xA7\xB6 |0 # CYRILLIC CAPITAL LETTER EF + \xA7\xB7 |0 # CYRILLIC CAPITAL LETTER HA + \xA7\xB8 |0 # CYRILLIC CAPITAL LETTER TSE + \xA7\xB9 |0 # CYRILLIC CAPITAL LETTER CHE + \xA7\xBA |0 # CYRILLIC CAPITAL LETTER SHA + \xA7\xBB |0 # CYRILLIC CAPITAL LETTER SHCHA + \xA7\xBC |0 # CYRILLIC CAPITAL LETTER HARD SIGN + \xA7\xBD |0 # CYRILLIC CAPITAL LETTER YERU + \xA7\xBE |0 # CYRILLIC CAPITAL LETTER SOFT SIGN + \xA7\xBF |0 # CYRILLIC CAPITAL LETTER E + \xA7\xC0 |0 # CYRILLIC CAPITAL LETTER YU + \xA7\xC1 |0 # CYRILLIC CAPITAL LETTER YA + \xA7\xD1 |0 # CYRILLIC SMALL LETTER A + \xA7\xD2 |0 # CYRILLIC SMALL LETTER BE + \xA7\xD3 |0 # CYRILLIC SMALL LETTER VE + \xA7\xD4 |0 # CYRILLIC SMALL LETTER GHE + \xA7\xD5 |0 # CYRILLIC SMALL LETTER DE + \xA7\xD6 |0 # CYRILLIC SMALL LETTER IE + \xA7\xD8 |0 # CYRILLIC SMALL LETTER ZHE + \xA7\xD9 |0 # CYRILLIC SMALL LETTER ZE + \xA7\xDA |0 # CYRILLIC SMALL LETTER I + \xA7\xDB |0 # CYRILLIC SMALL LETTER SHORT I + \xA7\xDC |0 # CYRILLIC SMALL LETTER KA + \xA7\xDD |0 # CYRILLIC SMALL LETTER EL + \xA7\xDE |0 # CYRILLIC SMALL LETTER EM + \xA7\xDF |0 # CYRILLIC SMALL LETTER EN + \xA7\xE0 |0 # CYRILLIC SMALL LETTER O + \xA7\xE1 |0 # CYRILLIC SMALL LETTER PE + \xA7\xE2 |0 # CYRILLIC SMALL LETTER ER + \xA7\xE3 |0 # CYRILLIC SMALL LETTER ES + \xA7\xE4 |0 # CYRILLIC SMALL LETTER TE + \xA7\xE5 |0 # CYRILLIC SMALL LETTER U + \xA7\xE6 |0 # CYRILLIC SMALL LETTER EF + \xA7\xE7 |0 # CYRILLIC SMALL LETTER HA + \xA7\xE8 |0 # CYRILLIC SMALL LETTER TSE + \xA7\xE9 |0 # CYRILLIC SMALL LETTER CHE + \xA7\xEA |0 # CYRILLIC SMALL LETTER SHA + \xA7\xEB |0 # CYRILLIC SMALL LETTER SHCHA + \xA7\xEC |0 # CYRILLIC SMALL LETTER HARD SIGN + \xA7\xED |0 # CYRILLIC SMALL LETTER YERU + \xA7\xEE |0 # CYRILLIC SMALL LETTER SOFT SIGN + \xA7\xEF |0 # CYRILLIC SMALL LETTER E + \xA7\xF0 |0 # CYRILLIC SMALL LETTER YU + \xA7\xF1 |0 # CYRILLIC SMALL LETTER YA + \xA7\xD7 |0 # CYRILLIC SMALL LETTER IO + \xA1\xBE |0 # HYPHEN + \xA1\xBD |0 # HORIZONTAL BAR + \xA1\xC6 |0 # LEFT SINGLE QUOTATION MARK + \xA1\xC7 |0 # RIGHT SINGLE QUOTATION MARK + \xA1\xC8 |0 # LEFT DOUBLE QUOTATION MARK + \xA1\xC9 |0 # RIGHT DOUBLE QUOTATION MARK + \xA2\xF7 |0 # DAGGER + \xA2\xF8 |0 # DOUBLE DAGGER + \xA1\xC5 |0 # TWO DOT LEADER + \xA1\xC4 |0 # HORIZONTAL ELLIPSIS + \xA2\xF3 |0 # PER MILLE SIGN + \xA1\xEC |0 # PRIME + \xA1\xED |0 # DOUBLE PRIME + \xA2\xA8 |0 # REFERENCE MARK + \xA1\xEE |0 # DEGREE CELSIUS + \xAD\xE2 |0 # NUMERO SIGN + \xAD\xE4 |0 # TELEPHONE SIGN + \xA2\xF2 |0 # ANGSTROM SIGN + \xAD\xB5 |0 # ROMAN NUMERAL ONE + \xAD\xB6 |0 # ROMAN NUMERAL TWO + \xAD\xB7 |0 # ROMAN NUMERAL THREE + \xAD\xB8 |0 # ROMAN NUMERAL FOUR + \xAD\xB9 |0 # ROMAN NUMERAL FIVE + \xAD\xBA |0 # ROMAN NUMERAL SIX + \xAD\xBB |0 # ROMAN NUMERAL SEVEN + \xAD\xBC |0 # ROMAN NUMERAL EIGHT + \xAD\xBD |0 # ROMAN NUMERAL NINE + \xAD\xBE |0 # ROMAN NUMERAL TEN + \xFC\xF1 |0 # SMALL ROMAN NUMERAL ONE + \xFC\xF2 |0 # SMALL ROMAN NUMERAL TWO + \xFC\xF3 |0 # SMALL ROMAN NUMERAL THREE + \xFC\xF4 |0 # SMALL ROMAN NUMERAL FOUR + \xFC\xF5 |0 # SMALL ROMAN NUMERAL FIVE + \xFC\xF6 |0 # SMALL ROMAN NUMERAL SIX + \xFC\xF7 |0 # SMALL ROMAN NUMERAL SEVEN + \xFC\xF8 |0 # SMALL ROMAN NUMERAL EIGHT + \xFC\xF9 |0 # SMALL ROMAN NUMERAL NINE + \xFC\xFA |0 # SMALL ROMAN NUMERAL TEN + \xA2\xAB |0 # LEFTWARDS ARROW + \xA2\xAC |0 # UPWARDS ARROW + \xA2\xAA |0 # RIGHTWARDS ARROW + \xA2\xAD |0 # DOWNWARDS ARROW + \xA2\xCD |0 # RIGHTWARDS DOUBLE ARROW + \xA2\xCE |0 # LEFT RIGHT DOUBLE ARROW + \xA2\xCF |0 # FOR ALL + \xA2\xDF |0 # PARTIAL DIFFERENTIAL + \xA2\xD0 |0 # THERE EXISTS + \xA2\xE0 |0 # NABLA + \xA2\xBA |0 # ELEMENT OF + \xA2\xBB |0 # CONTAINS AS MEMBER + \xAD\xF4 |0 # N-ARY SUMMATION + \xA2\xE5 |0 # SQUARE ROOT + \xAD\xF5 |3 # SQUARE ROOT + \xA2\xE7 |0 # PROPORTIONAL TO + \xA1\xE7 |0 # INFINITY + \xAD\xF8 |0 # RIGHT ANGLE + \xA2\xDC |0 # ANGLE + \xAD\xF7 |3 # ANGLE + \xA1\xC2 |0 # PARALLEL TO + \xA2\xCA |0 # LOGICAL AND + \xA2\xCB |0 # LOGICAL OR + \xA2\xC1 |0 # INTERSECTION + \xAD\xFB |3 # INTERSECTION + \xA2\xC0 |0 # UNION + \xAD\xFC |3 # UNION + \xA2\xE9 |0 # INTEGRAL + \xAD\xF2 |3 # INTEGRAL + \xA2\xEA |0 # DOUBLE INTEGRAL + \xAD\xF3 |0 # CONTOUR INTEGRAL + \xA1\xE8 |0 # THEREFORE + \xA2\xE8 |0 # BECAUSE + \xAD\xFA |3 # BECAUSE + \xA2\xE6 |0 # REVERSED TILDE + \xA2\xE2 |0 # APPROXIMATELY EQUAL TO OR THE IMAGE OF + \xAD\xF0 |3 # APPROXIMATELY EQUAL TO OR THE IMAGE OF + \xA1\xE2 |0 # NOT EQUAL TO + \xA2\xE1 |0 # IDENTICAL TO + \xAD\xF1 |3 # IDENTICAL TO + \xA1\xE5 |0 # LESS-THAN OVER EQUAL TO + \xA1\xE6 |0 # GREATER-THAN OVER EQUAL TO + \xA2\xE3 |0 # MUCH LESS-THAN + \xA2\xE4 |0 # MUCH GREATER-THAN + \xA2\xBE |0 # SUBSET OF + \xA2\xBF |0 # SUPERSET OF + \xA2\xBC |0 # SUBSET OF OR EQUAL TO + \xA2\xBD |0 # SUPERSET OF OR EQUAL TO + \xA2\xDD |0 # UP TACK + \xAD\xF6 |3 # UP TACK + \xAD\xF9 |0 # RIGHT TRIANGLE + \xA2\xDE |0 # ARC + \xAD\xA1 |0 # CIRCLED DIGIT ONE + \xAD\xA2 |0 # CIRCLED DIGIT TWO + \xAD\xA3 |0 # CIRCLED DIGIT THREE + \xAD\xA4 |0 # CIRCLED DIGIT FOUR + \xAD\xA5 |0 # CIRCLED DIGIT FIVE + \xAD\xA6 |0 # CIRCLED DIGIT SIX + \xAD\xA7 |0 # CIRCLED DIGIT SEVEN + \xAD\xA8 |0 # CIRCLED DIGIT EIGHT + \xAD\xA9 |0 # CIRCLED DIGIT NINE + \xAD\xAA |0 # CIRCLED NUMBER TEN + \xAD\xAB |0 # CIRCLED NUMBER ELEVEN + \xAD\xAC |0 # CIRCLED NUMBER TWELVE + \xAD\xAD |0 # CIRCLED NUMBER THIRTEEN + \xAD\xAE |0 # CIRCLED NUMBER FOURTEEN + \xAD\xAF |0 # CIRCLED NUMBER FIFTEEN + \xAD\xB0 |0 # CIRCLED NUMBER SIXTEEN + \xAD\xB1 |0 # CIRCLED NUMBER SEVENTEEN + \xAD\xB2 |0 # CIRCLED NUMBER EIGHTEEN + \xAD\xB3 |0 # CIRCLED NUMBER NINETEEN + \xAD\xB4 |0 # CIRCLED NUMBER TWENTY + \xA8\xA1 |0 # BOX DRAWINGS LIGHT HORIZONTAL + \xA8\xAC |0 # BOX DRAWINGS HEAVY HORIZONTAL + \xA8\xA2 |0 # BOX DRAWINGS LIGHT VERTICAL + \xA8\xAD |0 # BOX DRAWINGS HEAVY VERTICAL + \xA8\xA3 |0 # BOX DRAWINGS LIGHT DOWN AND RIGHT + \xA8\xAE |0 # BOX DRAWINGS HEAVY DOWN AND RIGHT + \xA8\xA4 |0 # BOX DRAWINGS LIGHT DOWN AND LEFT + \xA8\xAF |0 # BOX DRAWINGS HEAVY DOWN AND LEFT + \xA8\xA6 |0 # BOX DRAWINGS LIGHT UP AND RIGHT + \xA8\xB1 |0 # BOX DRAWINGS HEAVY UP AND RIGHT + \xA8\xA5 |0 # BOX DRAWINGS LIGHT UP AND LEFT + \xA8\xB0 |0 # BOX DRAWINGS HEAVY UP AND LEFT + \xA8\xA7 |0 # BOX DRAWINGS LIGHT VERTICAL AND RIGHT + \xA8\xBC |0 # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY + \xA8\xB7 |0 # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT + \xA8\xB2 |0 # BOX DRAWINGS HEAVY VERTICAL AND RIGHT + \xA8\xA9 |0 # BOX DRAWINGS LIGHT VERTICAL AND LEFT + \xA8\xBE |0 # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY + \xA8\xB9 |0 # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT + \xA8\xB4 |0 # BOX DRAWINGS HEAVY VERTICAL AND LEFT + \xA8\xA8 |0 # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL + \xA8\xB8 |0 # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY + \xA8\xBD |0 # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT + \xA8\xB3 |0 # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL + \xA8\xAA |0 # BOX DRAWINGS LIGHT UP AND HORIZONTAL + \xA8\xBA |0 # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY + \xA8\xBF |0 # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT + \xA8\xB5 |0 # BOX DRAWINGS HEAVY UP AND HORIZONTAL + \xA8\xAB |0 # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL + \xA8\xBB |0 # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY + \xA8\xC0 |0 # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT + \xA8\xB6 |0 # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL + \xA2\xA3 |0 # BLACK SQUARE + \xA2\xA2 |0 # WHITE SQUARE + \xA2\xA5 |0 # BLACK UP-POINTING TRIANGLE + \xA2\xA4 |0 # WHITE UP-POINTING TRIANGLE + \xA2\xA7 |0 # BLACK DOWN-POINTING TRIANGLE + \xA2\xA6 |0 # WHITE DOWN-POINTING TRIANGLE + \xA2\xA1 |0 # BLACK DIAMOND + \xA1\xFE |0 # WHITE DIAMOND + \xA1\xFB |0 # WHITE CIRCLE + \xA1\xFD |0 # BULLSEYE + \xA1\xFC |0 # BLACK CIRCLE + \xA2\xFE |0 # LARGE CIRCLE + \xA1\xFA |0 # BLACK STAR + \xA1\xF9 |0 # WHITE STAR + \xA1\xEA |0 # FEMALE SIGN + \xA1\xE9 |0 # MALE SIGN + \xA2\xF6 |0 # EIGHTH NOTE + \xA2\xF5 |0 # MUSIC FLAT SIGN + \xA2\xF4 |0 # MUSIC SHARP SIGN + \xA1\xA1 |0 # IDEOGRAPHIC SPACE + \xA1\xA2 |0 # IDEOGRAPHIC COMMA + \xA1\xA3 |0 # IDEOGRAPHIC FULL STOP + \xA1\xB7 |0 # DITTO MARK + \xA1\xB9 |0 # IDEOGRAPHIC ITERATION MARK + \xA1\xBA |0 # IDEOGRAPHIC CLOSING MARK + \xA1\xBB |0 # IDEOGRAPHIC NUMBER ZERO + \xA1\xD2 |0 # LEFT ANGLE BRACKET + \xA1\xD3 |0 # RIGHT ANGLE BRACKET + \xA1\xD4 |0 # LEFT DOUBLE ANGLE BRACKET + \xA1\xD5 |0 # RIGHT DOUBLE ANGLE BRACKET + \xA1\xD6 |0 # LEFT CORNER BRACKET + \xA1\xD7 |0 # RIGHT CORNER BRACKET + \xA1\xD8 |0 # LEFT WHITE CORNER BRACKET + \xA1\xD9 |0 # RIGHT WHITE CORNER BRACKET + \xA1\xDA |0 # LEFT BLACK LENTICULAR BRACKET + \xA1\xDB |0 # RIGHT BLACK LENTICULAR BRACKET + \xA2\xA9 |0 # POSTAL MARK + \xA2\xAE |0 # GETA MARK + \xA1\xCC |0 # LEFT TORTOISE SHELL BRACKET + \xA1\xCD |0 # RIGHT TORTOISE SHELL BRACKET + \xAD\xE0 |0 # REVERSED DOUBLE PRIME QUOTATION MARK + \xAD\xE1 |0 # LOW DOUBLE PRIME QUOTATION MARK + \xA4\xA1 |0 # HIRAGANA LETTER SMALL A + \xA4\xA2 |0 # HIRAGANA LETTER A + \xA4\xA3 |0 # HIRAGANA LETTER SMALL I + \xA4\xA4 |0 # HIRAGANA LETTER I + \xA4\xA5 |0 # HIRAGANA LETTER SMALL U + \xA4\xA6 |0 # HIRAGANA LETTER U + \xA4\xA7 |0 # HIRAGANA LETTER SMALL E + \xA4\xA8 |0 # HIRAGANA LETTER E + \xA4\xA9 |0 # HIRAGANA LETTER SMALL O + \xA4\xAA |0 # HIRAGANA LETTER O + \xA4\xAB |0 # HIRAGANA LETTER KA + \xA4\xAC |0 # HIRAGANA LETTER GA + \xA4\xAD |0 # HIRAGANA LETTER KI + \xA4\xAE |0 # HIRAGANA LETTER GI + \xA4\xAF |0 # HIRAGANA LETTER KU + \xA4\xB0 |0 # HIRAGANA LETTER GU + \xA4\xB1 |0 # HIRAGANA LETTER KE + \xA4\xB2 |0 # HIRAGANA LETTER GE + \xA4\xB3 |0 # HIRAGANA LETTER KO + \xA4\xB4 |0 # HIRAGANA LETTER GO + \xA4\xB5 |0 # HIRAGANA LETTER SA + \xA4\xB6 |0 # HIRAGANA LETTER ZA + \xA4\xB7 |0 # HIRAGANA LETTER SI + \xA4\xB8 |0 # HIRAGANA LETTER ZI + \xA4\xB9 |0 # HIRAGANA LETTER SU + \xA4\xBA |0 # HIRAGANA LETTER ZU + \xA4\xBB |0 # HIRAGANA LETTER SE + \xA4\xBC |0 # HIRAGANA LETTER ZE + \xA4\xBD |0 # HIRAGANA LETTER SO + \xA4\xBE |0 # HIRAGANA LETTER ZO + \xA4\xBF |0 # HIRAGANA LETTER TA + \xA4\xC0 |0 # HIRAGANA LETTER DA + \xA4\xC1 |0 # HIRAGANA LETTER TI + \xA4\xC2 |0 # HIRAGANA LETTER DI + \xA4\xC3 |0 # HIRAGANA LETTER SMALL TU + \xA4\xC4 |0 # HIRAGANA LETTER TU + \xA4\xC5 |0 # HIRAGANA LETTER DU + \xA4\xC6 |0 # HIRAGANA LETTER TE + \xA4\xC7 |0 # HIRAGANA LETTER DE + \xA4\xC8 |0 # HIRAGANA LETTER TO + \xA4\xC9 |0 # HIRAGANA LETTER DO + \xA4\xCA |0 # HIRAGANA LETTER NA + \xA4\xCB |0 # HIRAGANA LETTER NI + \xA4\xCC |0 # HIRAGANA LETTER NU + \xA4\xCD |0 # HIRAGANA LETTER NE + \xA4\xCE |0 # HIRAGANA LETTER NO + \xA4\xCF |0 # HIRAGANA LETTER HA + \xA4\xD0 |0 # HIRAGANA LETTER BA + \xA4\xD1 |0 # HIRAGANA LETTER PA + \xA4\xD2 |0 # HIRAGANA LETTER HI + \xA4\xD3 |0 # HIRAGANA LETTER BI + \xA4\xD4 |0 # HIRAGANA LETTER PI + \xA4\xD5 |0 # HIRAGANA LETTER HU + \xA4\xD6 |0 # HIRAGANA LETTER BU + \xA4\xD7 |0 # HIRAGANA LETTER PU + \xA4\xD8 |0 # HIRAGANA LETTER HE + \xA4\xD9 |0 # HIRAGANA LETTER BE + \xA4\xDA |0 # HIRAGANA LETTER PE + \xA4\xDB |0 # HIRAGANA LETTER HO + \xA4\xDC |0 # HIRAGANA LETTER BO + \xA4\xDD |0 # HIRAGANA LETTER PO + \xA4\xDE |0 # HIRAGANA LETTER MA + \xA4\xDF |0 # HIRAGANA LETTER MI + \xA4\xE0 |0 # HIRAGANA LETTER MU + \xA4\xE1 |0 # HIRAGANA LETTER ME + \xA4\xE2 |0 # HIRAGANA LETTER MO + \xA4\xE3 |0 # HIRAGANA LETTER SMALL YA + \xA4\xE4 |0 # HIRAGANA LETTER YA + \xA4\xE5 |0 # HIRAGANA LETTER SMALL YU + \xA4\xE6 |0 # HIRAGANA LETTER YU + \xA4\xE7 |0 # HIRAGANA LETTER SMALL YO + \xA4\xE8 |0 # HIRAGANA LETTER YO + \xA4\xE9 |0 # HIRAGANA LETTER RA + \xA4\xEA |0 # HIRAGANA LETTER RI + \xA4\xEB |0 # HIRAGANA LETTER RU + \xA4\xEC |0 # HIRAGANA LETTER RE + \xA4\xED |0 # HIRAGANA LETTER RO + \xA4\xEE |0 # HIRAGANA LETTER SMALL WA + \xA4\xEF |0 # HIRAGANA LETTER WA + \xA4\xF0 |0 # HIRAGANA LETTER WI + \xA4\xF1 |0 # HIRAGANA LETTER WE + \xA4\xF2 |0 # HIRAGANA LETTER WO + \xA4\xF3 |0 # HIRAGANA LETTER N + \xA5\xF4 |1 # HIRAGANA LETTER VU + \xA1\xAB |0 # KATAKANA-HIRAGANA VOICED SOUND MARK + \xA1\xAC |0 # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK + \xA1\xB5 |0 # HIRAGANA ITERATION MARK + \xA1\xB6 |0 # HIRAGANA VOICED ITERATION MARK + \xA5\xA1 |0 # KATAKANA LETTER SMALL A + \xA5\xA2 |0 # KATAKANA LETTER A + \xA5\xA3 |0 # KATAKANA LETTER SMALL I + \xA5\xA4 |0 # KATAKANA LETTER I + \xA5\xA5 |0 # KATAKANA LETTER SMALL U + \xA5\xA6 |0 # KATAKANA LETTER U + \xA5\xA7 |0 # KATAKANA LETTER SMALL E + \xA5\xA8 |0 # KATAKANA LETTER E + \xA5\xA9 |0 # KATAKANA LETTER SMALL O + \xA5\xAA |0 # KATAKANA LETTER O + \xA5\xAB |0 # KATAKANA LETTER KA + \xA5\xAC |0 # KATAKANA LETTER GA + \xA5\xAD |0 # KATAKANA LETTER KI + \xA5\xAE |0 # KATAKANA LETTER GI + \xA5\xAF |0 # KATAKANA LETTER KU + \xA5\xB0 |0 # KATAKANA LETTER GU + \xA5\xB1 |0 # KATAKANA LETTER KE + \xA5\xB2 |0 # KATAKANA LETTER GE + \xA5\xB3 |0 # KATAKANA LETTER KO + \xA5\xB4 |0 # KATAKANA LETTER GO + \xA5\xB5 |0 # KATAKANA LETTER SA + \xA5\xB6 |0 # KATAKANA LETTER ZA + \xA5\xB7 |0 # KATAKANA LETTER SI + \xA5\xB8 |0 # KATAKANA LETTER ZI + \xA5\xB9 |0 # KATAKANA LETTER SU + \xA5\xBA |0 # KATAKANA LETTER ZU + \xA5\xBB |0 # KATAKANA LETTER SE + \xA5\xBC |0 # KATAKANA LETTER ZE + \xA5\xBD |0 # KATAKANA LETTER SO + \xA5\xBE |0 # KATAKANA LETTER ZO + \xA5\xBF |0 # KATAKANA LETTER TA + \xA5\xC0 |0 # KATAKANA LETTER DA + \xA5\xC1 |0 # KATAKANA LETTER TI + \xA5\xC2 |0 # KATAKANA LETTER DI + \xA5\xC3 |0 # KATAKANA LETTER SMALL TU + \xA5\xC4 |0 # KATAKANA LETTER TU + \xA5\xC5 |0 # KATAKANA LETTER DU + \xA5\xC6 |0 # KATAKANA LETTER TE + \xA5\xC7 |0 # KATAKANA LETTER DE + \xA5\xC8 |0 # KATAKANA LETTER TO + \xA5\xC9 |0 # KATAKANA LETTER DO + \xA5\xCA |0 # KATAKANA LETTER NA + \xA5\xCB |0 # KATAKANA LETTER NI + \xA5\xCC |0 # KATAKANA LETTER NU + \xA5\xCD |0 # KATAKANA LETTER NE + \xA5\xCE |0 # KATAKANA LETTER NO + \xA5\xCF |0 # KATAKANA LETTER HA + \xA5\xD0 |0 # KATAKANA LETTER BA + \xA5\xD1 |0 # KATAKANA LETTER PA + \xA5\xD2 |0 # KATAKANA LETTER HI + \xA5\xD3 |0 # KATAKANA LETTER BI + \xA5\xD4 |0 # KATAKANA LETTER PI + \xA5\xD5 |0 # KATAKANA LETTER HU + \xA5\xD6 |0 # KATAKANA LETTER BU + \xA5\xD7 |0 # KATAKANA LETTER PU + \xA5\xD8 |0 # KATAKANA LETTER HE + \xA5\xD9 |0 # KATAKANA LETTER BE + \xA5\xDA |0 # KATAKANA LETTER PE + \xA5\xDB |0 # KATAKANA LETTER HO + \xA5\xDC |0 # KATAKANA LETTER BO + \xA5\xDD |0 # KATAKANA LETTER PO + \xA5\xDE |0 # KATAKANA LETTER MA + \xA5\xDF |0 # KATAKANA LETTER MI + \xA5\xE0 |0 # KATAKANA LETTER MU + \xA5\xE1 |0 # KATAKANA LETTER ME + \xA5\xE2 |0 # KATAKANA LETTER MO + \xA5\xE3 |0 # KATAKANA LETTER SMALL YA + \xA5\xE4 |0 # KATAKANA LETTER YA + \xA5\xE5 |0 # KATAKANA LETTER SMALL YU + \xA5\xE6 |0 # KATAKANA LETTER YU + \xA5\xE7 |0 # KATAKANA LETTER SMALL YO + \xA5\xE8 |0 # KATAKANA LETTER YO + \xA5\xE9 |0 # KATAKANA LETTER RA + \xA5\xEA |0 # KATAKANA LETTER RI + \xA5\xEB |0 # KATAKANA LETTER RU + \xA5\xEC |0 # KATAKANA LETTER RE + \xA5\xED |0 # KATAKANA LETTER RO + \xA5\xEE |0 # KATAKANA LETTER SMALL WA + \xA5\xEF |0 # KATAKANA LETTER WA + \xA5\xF0 |0 # KATAKANA LETTER WI + \xA5\xF1 |0 # KATAKANA LETTER WE + \xA5\xF2 |0 # KATAKANA LETTER WO + \xA5\xF3 |0 # KATAKANA LETTER N + \xA5\xF4 |0 # KATAKANA LETTER VU + \xA5\xF5 |0 # KATAKANA LETTER SMALL KA + \xA5\xF6 |0 # KATAKANA LETTER SMALL KE + \xA1\xA6 |0 # KATAKANA MIDDLE DOT + \xA1\xBC |0 # KATAKANA-HIRAGANA PROLONGED SOUND MARK + \xA1\xB3 |0 # KATAKANA ITERATION MARK + \xA1\xB4 |0 # KATAKANA VOICED ITERATION MARK + \xAD\xEA |0 # PARENTHESIZED IDEOGRAPH STOCK + \xAD\xEB |0 # PARENTHESIZED IDEOGRAPH HAVE + \xAD\xEC |0 # PARENTHESIZED IDEOGRAPH REPRESENT + \xAD\xE5 |0 # CIRCLED IDEOGRAPH HIGH + \xAD\xE6 |0 # CIRCLED IDEOGRAPH CENTRE + \xAD\xE7 |0 # CIRCLED IDEOGRAPH LOW + \xAD\xE8 |0 # CIRCLED IDEOGRAPH LEFT + \xAD\xE9 |0 # CIRCLED IDEOGRAPH RIGHT + \xAD\xC6 |0 # SQUARE AARU + \xAD\xCA |0 # SQUARE KARORII + \xAD\xC1 |0 # SQUARE KIRO + \xAD\xC4 |0 # SQUARE GURAMU + \xAD\xC2 |0 # SQUARE SENTI + \xAD\xCC |0 # SQUARE SENTO + \xAD\xCB |0 # SQUARE DORU + \xAD\xC5 |0 # SQUARE TON + \xAD\xCD |0 # SQUARE PAASENTO + \xAD\xC7 |0 # SQUARE HEKUTAARU + \xAD\xCF |0 # SQUARE PEEZI + \xAD\xC0 |0 # SQUARE MIRI + \xAD\xCE |0 # SQUARE MIRIBAARU + \xAD\xC3 |0 # SQUARE MEETORU + \xAD\xC8 |0 # SQUARE RITTORU + \xAD\xC9 |0 # SQUARE WATTO + \xAD\xDF |0 # SQUARE ERA NAME HEISEI + \xAD\xEF |0 # SQUARE ERA NAME SYOUWA + \xAD\xEE |0 # SQUARE ERA NAME TAISYOU + \xAD\xED |0 # SQUARE ERA NAME MEIZI + \xAD\xD3 |0 # SQUARE MG + \xAD\xD4 |0 # SQUARE KG + \xAD\xD0 |0 # SQUARE MM + \xAD\xD1 |0 # SQUARE CM + \xAD\xD2 |0 # SQUARE KM + \xAD\xD6 |0 # SQUARE M SQUARED + \xAD\xD5 |0 # SQUARE CC + \xAD\xE3 |0 # SQUARE KK + \xB0\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xFA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBB |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB5\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB5\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xA1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xCE |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDB |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xED |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xEC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xBE |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD0\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC1\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAA |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAB |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBE |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xEA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC3\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDE |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xFA |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xED |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD1\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xED |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD1\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDE |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBA |0 # CJK UNIFIED IDEOGRAPH + \xF9\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD2\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xED |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xEE |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDA |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBC\xFE |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD2\xED |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD2\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBE |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD2\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAB |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD3\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB3\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD3\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xED |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD3\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD3\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBA |0 # CJK UNIFIED IDEOGRAPH + \xF9\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBD |0 # CJK UNIFIED IDEOGRAPH + \xF9\xDE |0 # CJK UNIFIED IDEOGRAPH + \xF9\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAE |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xED |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB0\xED |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xEA |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD4\xFA |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD4\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xFD |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDE |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xAE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD5\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD5\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xEA |0 # CJK UNIFIED IDEOGRAPH + \xBB\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xED |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD5\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xED |0 # CJK UNIFIED IDEOGRAPH + \xF9\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD5\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBE\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xED |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xFA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDC |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB5\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD5\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB6\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD5\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF9\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xEE |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB4\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD6\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD6\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xED |0 # CJK UNIFIED IDEOGRAPH + \xD6\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD6\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCA\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xED |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD6\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD6\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD6\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB7\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF9\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBB |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBD |0 # CJK UNIFIED IDEOGRAPH + \xD7\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBA |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xEB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xED |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD7\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBD |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD7\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD7\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBD |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xFE |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xEB |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xEA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xEC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xD8\xFA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD8\xFC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xFC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD8\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCC |0 # CJK UNIFIED IDEOGRAPH + \xD8\xFE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBD\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xEA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCA\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xEF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB2\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBB\xFD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCA\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xFE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDD |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBC |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xDF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD9\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xED |0 # CJK UNIFIED IDEOGRAPH + \xD9\xEA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xEE |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDD |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xFA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xFB |0 # CJK UNIFIED IDEOGRAPH + \xD9\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xFE |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAF |0 # CJK UNIFIED IDEOGRAPH + \xDA\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBA |0 # CJK UNIFIED IDEOGRAPH + \xD9\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xD5\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDA |0 # CJK UNIFIED IDEOGRAPH + \xDA\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC6\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBA |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xEB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xEA |0 # CJK UNIFIED IDEOGRAPH + \xBB\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAF |0 # CJK UNIFIED IDEOGRAPH + \xFA\xBC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDA\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xEB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xED |0 # CJK UNIFIED IDEOGRAPH + \xFA\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xEB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDA\xFE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xFD |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCA\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC9\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB4\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xAF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDA |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDD |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDA\xDE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xCF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xED |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDE |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBA |0 # CJK UNIFIED IDEOGRAPH + \xCB\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCB |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xED |0 # CJK UNIFIED IDEOGRAPH + \xFA\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xEB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xBF |0 # CJK UNIFIED IDEOGRAPH + \xD4\xED |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB4\xFE |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xFD |0 # CJK UNIFIED IDEOGRAPH + \xDB\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xEF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDB\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCF\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xBA |0 # CJK UNIFIED IDEOGRAPH + \xDB\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAD |0 # CJK UNIFIED IDEOGRAPH + \xDC\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDC\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xEF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xEA |0 # CJK UNIFIED IDEOGRAPH + \xFA\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDA |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xEB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDC\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDC\xED |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xEF |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDC\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDC\xFD |0 # CJK UNIFIED IDEOGRAPH + \xDC\xFE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xED |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDC\xDE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB4\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDD\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDE |0 # CJK UNIFIED IDEOGRAPH + \xBC\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDB |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDD\xDE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xEA |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDD\xED |0 # CJK UNIFIED IDEOGRAPH + \xDD\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xFD |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xED |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB9\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAD |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCD |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBA |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xDF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDE\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBA |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xED |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xEB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDD |0 # CJK UNIFIED IDEOGRAPH + \xFA\xEC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAB |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xAF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xFE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xED |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB3\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xED |0 # CJK UNIFIED IDEOGRAPH + \xDE\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDA |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDE\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xFA |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDE\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAC |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCC |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xEF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBC |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB9\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCA |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xED |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDE |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xEA |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBA |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDC |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xDD |0 # CJK UNIFIED IDEOGRAPH + \xDF\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xEB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xFA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xFB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xEB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xEC |0 # CJK UNIFIED IDEOGRAPH + \xFA\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xFA |0 # CJK UNIFIED IDEOGRAPH + \xDF\xEF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xED |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCF |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xED |0 # CJK UNIFIED IDEOGRAPH + \xDF\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xD3\xDB |0 # CJK UNIFIED IDEOGRAPH + \xDF\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xFC |0 # CJK UNIFIED IDEOGRAPH + \xDF\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xDF\xEE |0 # CJK UNIFIED IDEOGRAPH + \xDF\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xED |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xFA\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE0\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xED |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE0\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDA |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xDF |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xEE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xFD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAC |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xAF |0 # CJK UNIFIED IDEOGRAPH + \xE0\xEA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE0\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE0\xED |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDC |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE0\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE0\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCB |0 # CJK UNIFIED IDEOGRAPH + \xD2\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDA\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xED |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE1\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE1\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xED |0 # CJK UNIFIED IDEOGRAPH + \xE1\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE1\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xFE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE1\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE1\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE1\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE1\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE1\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE2\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE2\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE2\xEB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xBE |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xED |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC8\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCF\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE2\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE2\xFA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB0\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBC |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB5\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE3\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC6\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xD4\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xED |0 # CJK UNIFIED IDEOGRAPH + \xF0\xEF |0 # CJK UNIFIED IDEOGRAPH + \xBE\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE3\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xEF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDD |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE3\xFD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xFA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xAF |0 # CJK UNIFIED IDEOGRAPH + \xFB\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBD |0 # CJK UNIFIED IDEOGRAPH + \xC0\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCA\xED |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE4\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE4\xED |0 # CJK UNIFIED IDEOGRAPH + \xE4\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xEC |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE4\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE4\xFC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB7\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB5\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE4\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCD\xED |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAF |0 # CJK UNIFIED IDEOGRAPH + \xE5\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE5\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC8\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xED |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE5\xEE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE5\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xED |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE5\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE5\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE5\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xED |0 # CJK UNIFIED IDEOGRAPH + \xE6\xAF |0 # CJK UNIFIED IDEOGRAPH + \xD8\xED |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCB\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCC\xED |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xDF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE6\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE6\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE6\xED |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBB\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE6\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE6\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE6\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE6\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xFE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE7\xAE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE7\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBB\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCA |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE7\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBD |0 # CJK UNIFIED IDEOGRAPH + \xDA\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xD0\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB4\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xEC |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xEE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xED |0 # CJK UNIFIED IDEOGRAPH + \xB2\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xFC |0 # CJK UNIFIED IDEOGRAPH + \xE7\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE7\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE7\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCF |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xFB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xBF |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC7\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDC |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB0\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDD |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xED |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE8\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAC |0 # CJK UNIFIED IDEOGRAPH + \xE8\xEF |0 # CJK UNIFIED IDEOGRAPH + \xE8\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xFA |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xFE |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xFD |0 # CJK UNIFIED IDEOGRAPH + \xFB\xDF |0 # CJK UNIFIED IDEOGRAPH + \xE8\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE8\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAF |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xAE |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xBF |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE2\xBC |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCA |0 # CJK UNIFIED IDEOGRAPH + \xD1\xDD |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC3\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC6\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xCF |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBF |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xDA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xEC |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xEA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xED |0 # CJK UNIFIED IDEOGRAPH + \xE9\xEB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAA |0 # CJK UNIFIED IDEOGRAPH + \xE9\xFB |0 # CJK UNIFIED IDEOGRAPH + \xE9\xFE |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDC |0 # CJK UNIFIED IDEOGRAPH + \xE9\xFC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE9\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBD |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xE9\xDA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xDE\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBD |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBF\xEA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xEF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xCF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDB |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xEF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xDF |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDB |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xEB |0 # CJK UNIFIED IDEOGRAPH + \xEA\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xEA |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xFE |0 # CJK UNIFIED IDEOGRAPH + \xEA\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xED |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xEF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB3\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xFC |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xFA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEA\xFE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEA\xFD |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBE |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAA |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAC |0 # CJK UNIFIED IDEOGRAPH + \xBB\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAD |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xFB |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xED |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCA |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDA |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBE |0 # CJK UNIFIED IDEOGRAPH + \xEB\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xEC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xEE |0 # CJK UNIFIED IDEOGRAPH + \xBB\xED |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCD |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCD |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDC |0 # CJK UNIFIED IDEOGRAPH + \xFB\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xED |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xEA |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDB |0 # CJK UNIFIED IDEOGRAPH + \xEB\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDA |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDB |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xEB |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xFC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDD |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xDE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xFA |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xED |0 # CJK UNIFIED IDEOGRAPH + \xEB\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEB\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xFA |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xEF |0 # CJK UNIFIED IDEOGRAPH + \xEB\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xFD |0 # CJK UNIFIED IDEOGRAPH + \xEB\xFC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xFE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBE |0 # CJK UNIFIED IDEOGRAPH + \xDA\xCE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAA |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xEB |0 # CJK UNIFIED IDEOGRAPH + \xD0\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEC\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBA |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBC |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC8\xCE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCA |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xDF |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCC |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC2\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBB\xBF |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xEA |0 # CJK UNIFIED IDEOGRAPH + \xBC\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xCF |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xEB |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xAF |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xED |0 # CJK UNIFIED IDEOGRAPH + \xEC\xEB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xEA |0 # CJK UNIFIED IDEOGRAPH + \xEC\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xEC |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEC\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xED\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xFC |0 # CJK UNIFIED IDEOGRAPH + \xEC\xFD |0 # CJK UNIFIED IDEOGRAPH + \xEC\xFB |0 # CJK UNIFIED IDEOGRAPH + \xEC\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC4\xFD |0 # CJK UNIFIED IDEOGRAPH + \xED\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xFE |0 # CJK UNIFIED IDEOGRAPH + \xED\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xED\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xAB |0 # CJK UNIFIED IDEOGRAPH + \xED\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xED\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xED\xAA |0 # CJK UNIFIED IDEOGRAPH + \xED\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xED\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xED\xAC |0 # CJK UNIFIED IDEOGRAPH + \xED\xAE |0 # CJK UNIFIED IDEOGRAPH + \xED\xAF |0 # CJK UNIFIED IDEOGRAPH + \xED\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xED\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xED\xBA |0 # CJK UNIFIED IDEOGRAPH + \xED\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xED\xBB |0 # CJK UNIFIED IDEOGRAPH + \xB6\xED |0 # CJK UNIFIED IDEOGRAPH + \xED\xBC |0 # CJK UNIFIED IDEOGRAPH + \xED\xBE |0 # CJK UNIFIED IDEOGRAPH + \xED\xBF |0 # CJK UNIFIED IDEOGRAPH + \xED\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xBD |0 # CJK UNIFIED IDEOGRAPH + \xED\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAE |0 # CJK UNIFIED IDEOGRAPH + \xED\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBE |0 # CJK UNIFIED IDEOGRAPH + \xED\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDA |0 # CJK UNIFIED IDEOGRAPH + \xED\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xED\xCA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDC |0 # CJK UNIFIED IDEOGRAPH + \xED\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xCC |0 # CJK UNIFIED IDEOGRAPH + \xED\xCE |0 # CJK UNIFIED IDEOGRAPH + \xCA\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xCB |0 # CJK UNIFIED IDEOGRAPH + \xED\xCD |0 # CJK UNIFIED IDEOGRAPH + \xED\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xCF |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDA |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xED |0 # CJK UNIFIED IDEOGRAPH + \xED\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xED\xDC |0 # CJK UNIFIED IDEOGRAPH + \xED\xDB |0 # CJK UNIFIED IDEOGRAPH + \xED\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xDD |0 # CJK UNIFIED IDEOGRAPH + \xED\xDE |0 # CJK UNIFIED IDEOGRAPH + \xED\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xEC |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAD |0 # CJK UNIFIED IDEOGRAPH + \xED\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xD2\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xD1\xFE |0 # CJK UNIFIED IDEOGRAPH + \xED\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xE5\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC7\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAA |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xED\xEB |0 # CJK UNIFIED IDEOGRAPH + \xED\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xED\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xED\xED |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xEF |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xFE |0 # CJK UNIFIED IDEOGRAPH + \xED\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xFE |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xAE |0 # CJK UNIFIED IDEOGRAPH + \xC2\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xED\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCA |0 # CJK UNIFIED IDEOGRAPH + \xED\xFC |0 # CJK UNIFIED IDEOGRAPH + \xED\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xEF |0 # CJK UNIFIED IDEOGRAPH + \xED\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xAF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xEB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCA\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xF4\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xBD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB8\xAF |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDA |0 # CJK UNIFIED IDEOGRAPH + \xFB\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAC |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAD |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xE3\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xED\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBA |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBE |0 # CJK UNIFIED IDEOGRAPH + \xFB\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xFC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xEF |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCE |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCC |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xCF |0 # CJK UNIFIED IDEOGRAPH + \xBE\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xFA |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xEE |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xFB\xFE |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xFC |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xEB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xEF |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xEA |0 # CJK UNIFIED IDEOGRAPH + \xEE\xED |0 # CJK UNIFIED IDEOGRAPH + \xEE\xEB |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAF |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xEC |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xAF |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBC |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBD\xFB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xFA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDF |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF9\xAA |0 # CJK UNIFIED IDEOGRAPH + \xEE\xFC |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBF |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDD |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAC |0 # CJK UNIFIED IDEOGRAPH + \xEE\xFB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xED |0 # CJK UNIFIED IDEOGRAPH + \xBF\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xFB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xBD |0 # CJK UNIFIED IDEOGRAPH + \xB6\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xFE |0 # CJK UNIFIED IDEOGRAPH + \xBA\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xEE\xFD |0 # CJK UNIFIED IDEOGRAPH + \xF9\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAC |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAA |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xBF |0 # CJK UNIFIED IDEOGRAPH + \xC1\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xCA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAF |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBA |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xAD |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xCA |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBF |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAA |0 # CJK UNIFIED IDEOGRAPH + \xEF\xBC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xCC |0 # CJK UNIFIED IDEOGRAPH + \xFC\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xFA |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCA |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCD |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xCE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAB |0 # CJK UNIFIED IDEOGRAPH + \xB1\xBC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDD |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDE |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xDC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xEB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xEE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xED |0 # CJK UNIFIED IDEOGRAPH + \xEF\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAE |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xEC |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xED |0 # CJK UNIFIED IDEOGRAPH + \xEF\xFB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xDF |0 # CJK UNIFIED IDEOGRAPH + \xEF\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB8\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xFD |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xEF\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xFC |0 # CJK UNIFIED IDEOGRAPH + \xB4\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCD |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEF\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xE7\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xAC |0 # CJK UNIFIED IDEOGRAPH + \xBF\xEF |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xDD |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAB |0 # CJK UNIFIED IDEOGRAPH + \xEE\xAE |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAE |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF0\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xEC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBF\xFD |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xBA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xED |0 # CJK UNIFIED IDEOGRAPH + \xBD\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBA |0 # CJK UNIFIED IDEOGRAPH + \xEA\xAD |0 # CJK UNIFIED IDEOGRAPH + \xD2\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAB |0 # CJK UNIFIED IDEOGRAPH + \xC0\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xED |0 # CJK UNIFIED IDEOGRAPH + \xCD\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC5\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBD |0 # CJK UNIFIED IDEOGRAPH + \xBF\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBE |0 # CJK UNIFIED IDEOGRAPH + \xCE\xEE |0 # CJK UNIFIED IDEOGRAPH + \xF0\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xBF |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB2\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xAA |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xDB\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCA |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCE |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCD |0 # CJK UNIFIED IDEOGRAPH + \xF0\xCF |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xC0\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDD |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB0\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xEB\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF0\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC7\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB2\xBB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xCA\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBA |0 # CJK UNIFIED IDEOGRAPH + \xBA\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xBF\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xDC |0 # CJK UNIFIED IDEOGRAPH + \xBF\xFC |0 # CJK UNIFIED IDEOGRAPH + \xCE\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xCB |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xCD\xEA |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xF0\xFB |0 # CJK UNIFIED IDEOGRAPH + \xC2\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB3\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xFA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xDA |0 # CJK UNIFIED IDEOGRAPH + \xB4\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC5\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCE\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xFC |0 # CJK UNIFIED IDEOGRAPH + \xF0\xFD |0 # CJK UNIFIED IDEOGRAPH + \xF0\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xC9\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xE6\xCC |0 # CJK UNIFIED IDEOGRAPH + \xBF\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAC |0 # CJK UNIFIED IDEOGRAPH + \xD2\xAC |0 # CJK UNIFIED IDEOGRAPH + \xDD\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC8\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBB |0 # CJK UNIFIED IDEOGRAPH + \xBB\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xBE\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAE |0 # CJK UNIFIED IDEOGRAPH + \xCD\xDC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xBB\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xAF |0 # CJK UNIFIED IDEOGRAPH + \xB2\xEE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xDE |0 # CJK UNIFIED IDEOGRAPH + \xB4\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBA |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xBE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xCF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC6\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xC7\xFD |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCC |0 # CJK UNIFIED IDEOGRAPH + \xB1\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xEF |0 # CJK UNIFIED IDEOGRAPH + \xC3\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB6\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCA |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xCF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xBD\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xC1\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xC2\xCD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDA |0 # CJK UNIFIED IDEOGRAPH + \xC6\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF1\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xB6\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xEA |0 # CJK UNIFIED IDEOGRAPH + \xB9\xFC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xEC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xED |0 # CJK UNIFIED IDEOGRAPH + \xB3\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xEE |0 # CJK UNIFIED IDEOGRAPH + \xF1\xEF |0 # CJK UNIFIED IDEOGRAPH + \xBF\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF1\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xF1\xFD |0 # CJK UNIFIED IDEOGRAPH + \xF1\xFC |0 # CJK UNIFIED IDEOGRAPH + \xF1\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAE |0 # CJK UNIFIED IDEOGRAPH + \xDD\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xAF |0 # CJK UNIFIED IDEOGRAPH + \xE4\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xBA\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xFB |0 # CJK UNIFIED IDEOGRAPH + \xCF\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xB0\xBE |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBA |0 # CJK UNIFIED IDEOGRAPH + \xCA\xAB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBD |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBE |0 # CJK UNIFIED IDEOGRAPH + \xF2\xBF |0 # CJK UNIFIED IDEOGRAPH + \xCB\xEE |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAD |0 # CJK UNIFIED IDEOGRAPH + \xBA\xFA |0 # CJK UNIFIED IDEOGRAPH + \xC1\xAF |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCB |0 # CJK UNIFIED IDEOGRAPH + \xBB\xAA |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCA |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCF |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCE |0 # CJK UNIFIED IDEOGRAPH + \xB0\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xCF\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDE |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDD |0 # CJK UNIFIED IDEOGRAPH + \xC9\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xDB |0 # CJK UNIFIED IDEOGRAPH + \xB0\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF2\xCD |0 # CJK UNIFIED IDEOGRAPH + \xB1\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xC3\xAD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xE9 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xBB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC8\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF2\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xEC |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xC6\xBE |0 # CJK UNIFIED IDEOGRAPH + \xF2\xEE |0 # CJK UNIFIED IDEOGRAPH + \xF2\xED |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xB3\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xB2\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xFC |0 # CJK UNIFIED IDEOGRAPH + \xF2\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF2\xFA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF2\xFD |0 # CJK UNIFIED IDEOGRAPH + \xF2\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA6 |0 # CJK UNIFIED IDEOGRAPH + \xB1\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA2 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA3 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xEB |0 # CJK UNIFIED IDEOGRAPH + \xCB\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAB |0 # CJK UNIFIED IDEOGRAPH + \xFC\xEA |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA7 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xA8 |0 # CJK UNIFIED IDEOGRAPH + \xB7\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAE |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xAA |0 # CJK UNIFIED IDEOGRAPH + \xF2\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB0 |0 # CJK UNIFIED IDEOGRAPH + \xC4\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB3 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB8 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBA |0 # CJK UNIFIED IDEOGRAPH + \xF3\xB9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBE |0 # CJK UNIFIED IDEOGRAPH + \xCF\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBB |0 # CJK UNIFIED IDEOGRAPH + \xC2\xEB |0 # CJK UNIFIED IDEOGRAPH + \xBA\xED |0 # CJK UNIFIED IDEOGRAPH + \xF3\xBF |0 # CJK UNIFIED IDEOGRAPH + \xFC\xED |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC0 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC3 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xB4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC5 |0 # CJK UNIFIED IDEOGRAPH + \xBC\xAF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC7 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC8 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xC9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCA |0 # CJK UNIFIED IDEOGRAPH + \xCF\xBC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCB |0 # CJK UNIFIED IDEOGRAPH + \xCE\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCE\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCE |0 # CJK UNIFIED IDEOGRAPH + \xC7\xFE |0 # CJK UNIFIED IDEOGRAPH + \xF3\xCF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xB9\xED |0 # CJK UNIFIED IDEOGRAPH + \xCC\xCD |0 # CJK UNIFIED IDEOGRAPH + \xCB\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xD6\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xDD\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xCB\xFB |0 # CJK UNIFIED IDEOGRAPH + \xB2\xAB |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xB5\xD0 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD7 |0 # CJK UNIFIED IDEOGRAPH + \xFC\xEE |0 # CJK UNIFIED IDEOGRAPH + \xB9\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD8 |0 # CJK UNIFIED IDEOGRAPH + \xE0\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xCC\xDB |0 # CJK UNIFIED IDEOGRAPH + \xC2\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xD9 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDB |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDE |0 # CJK UNIFIED IDEOGRAPH + \xF3\xDF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE0 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE3 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE7 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xE8 |0 # CJK UNIFIED IDEOGRAPH + \xC5\xA4 |0 # CJK UNIFIED IDEOGRAPH + \xB8\xDD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xEA |0 # CJK UNIFIED IDEOGRAPH + \xC1\xCD |0 # CJK UNIFIED IDEOGRAPH + \xF3\xEB |0 # CJK UNIFIED IDEOGRAPH + \xF3\xEC |0 # CJK UNIFIED IDEOGRAPH + \xC9\xA1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xED |0 # CJK UNIFIED IDEOGRAPH + \xF3\xEE |0 # CJK UNIFIED IDEOGRAPH + \xE3\xB7 |0 # CJK UNIFIED IDEOGRAPH + \xEC\xDA |0 # CJK UNIFIED IDEOGRAPH + \xF0\xED |0 # CJK UNIFIED IDEOGRAPH + \xF3\xEF |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF2 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF3 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF4 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xF0 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF1 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF5 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF8 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF7 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xFA |0 # CJK UNIFIED IDEOGRAPH + \xF3\xFB |0 # CJK UNIFIED IDEOGRAPH + \xF3\xF9 |0 # CJK UNIFIED IDEOGRAPH + \xCE\xB6 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xFC |0 # CJK UNIFIED IDEOGRAPH + \xF3\xFD |0 # CJK UNIFIED IDEOGRAPH + \xE3\xD4 |0 # CJK UNIFIED IDEOGRAPH + \xF3\xFE |0 # CJK UNIFIED IDEOGRAPH + \xFA\xC6 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xCF |0 # CJK COMPATIBILITY IDEOGRAPH + \xF9\xD4 |0 # CJK COMPATIBILITY IDEOGRAPH + \xF9\xDF |0 # CJK COMPATIBILITY IDEOGRAPH + \xF9\xE0 |0 # CJK COMPATIBILITY IDEOGRAPH + \xF9\xF5 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFA\xBE |0 # CJK COMPATIBILITY IDEOGRAPH + \xFA\xCE |0 # CJK COMPATIBILITY IDEOGRAPH + \xFA\xD0 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFA\xFB |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xA3 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xBA |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xC2 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xC3 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xC4 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xC6 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xCA |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xCD |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xD6 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xE1 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xE3 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xE4 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xED |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xF5 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xF7 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xF8 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFB\xFB |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xB9 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xC0 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xD0 |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xDC |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xDD |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xDF |0 # CJK COMPATIBILITY IDEOGRAPH + \xFC\xEC |0 # CJK COMPATIBILITY IDEOGRAPH + \xA1\xAA |0 # FULLWIDTH EXCLAMATION MARK + \xFC\xFE |0 # FULLWIDTH QUOTATION MARK + \xA1\xF4 |0 # FULLWIDTH NUMBER SIGN + \xA1\xF0 |0 # FULLWIDTH DOLLAR SIGN + \xA1\xF3 |0 # FULLWIDTH PERCENT SIGN + \xA1\xF5 |0 # FULLWIDTH AMPERSAND + \xFC\xFD |0 # FULLWIDTH APOSTROPHE + \xA1\xCA |0 # FULLWIDTH LEFT PARENTHESIS + \xA1\xCB |0 # FULLWIDTH RIGHT PARENTHESIS + \xA1\xF6 |0 # FULLWIDTH ASTERISK + \xA1\xDC |0 # FULLWIDTH PLUS SIGN + \xA1\xA4 |0 # FULLWIDTH COMMA + \xA1\xDD |0 # FULLWIDTH HYPHEN-MINUS + \xA1\xA5 |0 # FULLWIDTH FULL STOP + \xA1\xBF |0 # FULLWIDTH SOLIDUS + \xA3\xB0 |0 # FULLWIDTH DIGIT ZERO + \xA3\xB1 |0 # FULLWIDTH DIGIT ONE + \xA3\xB2 |0 # FULLWIDTH DIGIT TWO + \xA3\xB3 |0 # FULLWIDTH DIGIT THREE + \xA3\xB4 |0 # FULLWIDTH DIGIT FOUR + \xA3\xB5 |0 # FULLWIDTH DIGIT FIVE + \xA3\xB6 |0 # FULLWIDTH DIGIT SIX + \xA3\xB7 |0 # FULLWIDTH DIGIT SEVEN + \xA3\xB8 |0 # FULLWIDTH DIGIT EIGHT + \xA3\xB9 |0 # FULLWIDTH DIGIT NINE + \xA1\xA7 |0 # FULLWIDTH COLON + \xA1\xA8 |0 # FULLWIDTH SEMICOLON + \xA1\xE3 |0 # FULLWIDTH LESS-THAN SIGN + \xA1\xE1 |0 # FULLWIDTH EQUALS SIGN + \xA1\xE4 |0 # FULLWIDTH GREATER-THAN SIGN + \xA1\xA9 |0 # FULLWIDTH QUESTION MARK + \xA1\xF7 |0 # FULLWIDTH COMMERCIAL AT + \xA3\xC1 |0 # FULLWIDTH LATIN CAPITAL LETTER A + \xA3\xC2 |0 # FULLWIDTH LATIN CAPITAL LETTER B + \xA3\xC3 |0 # FULLWIDTH LATIN CAPITAL LETTER C + \xA3\xC4 |0 # FULLWIDTH LATIN CAPITAL LETTER D + \xA3\xC5 |0 # FULLWIDTH LATIN CAPITAL LETTER E + \xA3\xC6 |0 # FULLWIDTH LATIN CAPITAL LETTER F + \xA3\xC7 |0 # FULLWIDTH LATIN CAPITAL LETTER G + \xA3\xC8 |0 # FULLWIDTH LATIN CAPITAL LETTER H + \xA3\xC9 |0 # FULLWIDTH LATIN CAPITAL LETTER I + \xA3\xCA |0 # FULLWIDTH LATIN CAPITAL LETTER J + \xA3\xCB |0 # FULLWIDTH LATIN CAPITAL LETTER K + \xA3\xCC |0 # FULLWIDTH LATIN CAPITAL LETTER L + \xA3\xCD |0 # FULLWIDTH LATIN CAPITAL LETTER M + \xA3\xCE |0 # FULLWIDTH LATIN CAPITAL LETTER N + \xA3\xCF |0 # FULLWIDTH LATIN CAPITAL LETTER O + \xA3\xD0 |0 # FULLWIDTH LATIN CAPITAL LETTER P + \xA3\xD1 |0 # FULLWIDTH LATIN CAPITAL LETTER Q + \xA3\xD2 |0 # FULLWIDTH LATIN CAPITAL LETTER R + \xA3\xD3 |0 # FULLWIDTH LATIN CAPITAL LETTER S + \xA3\xD4 |0 # FULLWIDTH LATIN CAPITAL LETTER T + \xA3\xD5 |0 # FULLWIDTH LATIN CAPITAL LETTER U + \xA3\xD6 |0 # FULLWIDTH LATIN CAPITAL LETTER V + \xA3\xD7 |0 # FULLWIDTH LATIN CAPITAL LETTER W + \xA3\xD8 |0 # FULLWIDTH LATIN CAPITAL LETTER X + \xA3\xD9 |0 # FULLWIDTH LATIN CAPITAL LETTER Y + \xA3\xDA |0 # FULLWIDTH LATIN CAPITAL LETTER Z + \xA1\xCE |0 # FULLWIDTH LEFT SQUARE BRACKET + \xA1\xC0 |0 # FULLWIDTH REVERSE SOLIDUS + \xA1\xCF |0 # FULLWIDTH RIGHT SQUARE BRACKET + \xA1\xB0 |0 # FULLWIDTH CIRCUMFLEX ACCENT + \xA1\xB2 |0 # FULLWIDTH LOW LINE + \xA1\xAE |0 # FULLWIDTH GRAVE ACCENT + \xA3\xE1 |0 # FULLWIDTH LATIN SMALL LETTER A + \xA3\xE2 |0 # FULLWIDTH LATIN SMALL LETTER B + \xA3\xE3 |0 # FULLWIDTH LATIN SMALL LETTER C + \xA3\xE4 |0 # FULLWIDTH LATIN SMALL LETTER D + \xA3\xE5 |0 # FULLWIDTH LATIN SMALL LETTER E + \xA3\xE6 |0 # FULLWIDTH LATIN SMALL LETTER F + \xA3\xE7 |0 # FULLWIDTH LATIN SMALL LETTER G + \xA3\xE8 |0 # FULLWIDTH LATIN SMALL LETTER H + \xA3\xE9 |0 # FULLWIDTH LATIN SMALL LETTER I + \xA3\xEA |0 # FULLWIDTH LATIN SMALL LETTER J + \xA3\xEB |0 # FULLWIDTH LATIN SMALL LETTER K + \xA3\xEC |0 # FULLWIDTH LATIN SMALL LETTER L + \xA3\xED |0 # FULLWIDTH LATIN SMALL LETTER M + \xA3\xEE |0 # FULLWIDTH LATIN SMALL LETTER N + \xA3\xEF |0 # FULLWIDTH LATIN SMALL LETTER O + \xA3\xF0 |0 # FULLWIDTH LATIN SMALL LETTER P + \xA3\xF1 |0 # FULLWIDTH LATIN SMALL LETTER Q + \xA3\xF2 |0 # FULLWIDTH LATIN SMALL LETTER R + \xA3\xF3 |0 # FULLWIDTH LATIN SMALL LETTER S + \xA3\xF4 |0 # FULLWIDTH LATIN SMALL LETTER T + \xA3\xF5 |0 # FULLWIDTH LATIN SMALL LETTER U + \xA3\xF6 |0 # FULLWIDTH LATIN SMALL LETTER V + \xA3\xF7 |0 # FULLWIDTH LATIN SMALL LETTER W + \xA3\xF8 |0 # FULLWIDTH LATIN SMALL LETTER X + \xA3\xF9 |0 # FULLWIDTH LATIN SMALL LETTER Y + \xA3\xFA |0 # FULLWIDTH LATIN SMALL LETTER Z + \xA1\xD0 |0 # FULLWIDTH LEFT CURLY BRACKET + \xA1\xC3 |0 # FULLWIDTH VERTICAL LINE + \xA1\xD1 |0 # FULLWIDTH RIGHT CURLY BRACKET + \xA1\xC1 |0 # FULLWIDTH TILDE + \x8E\xA1 |0 # HALFWIDTH IDEOGRAPHIC FULL STOP + \x8E\xA2 |0 # HALFWIDTH LEFT CORNER BRACKET + \x8E\xA3 |0 # HALFWIDTH RIGHT CORNER BRACKET + \x8E\xA4 |0 # HALFWIDTH IDEOGRAPHIC COMMA + \x8E\xA5 |0 # HALFWIDTH KATAKANA MIDDLE DOT + \x8E\xA6 |0 # HALFWIDTH KATAKANA LETTER WO + \x8E\xA7 |0 # HALFWIDTH KATAKANA LETTER SMALL A + \x8E\xA8 |0 # HALFWIDTH KATAKANA LETTER SMALL I + \x8E\xA9 |0 # HALFWIDTH KATAKANA LETTER SMALL U + \x8E\xAA |0 # HALFWIDTH KATAKANA LETTER SMALL E + \x8E\xAB |0 # HALFWIDTH KATAKANA LETTER SMALL O + \x8E\xAC |0 # HALFWIDTH KATAKANA LETTER SMALL YA + \x8E\xAD |0 # HALFWIDTH KATAKANA LETTER SMALL YU + \x8E\xAE |0 # HALFWIDTH KATAKANA LETTER SMALL YO + \x8E\xAF |0 # HALFWIDTH KATAKANA LETTER SMALL TU + \x8E\xB0 |0 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK + \x8E\xB1 |0 # HALFWIDTH KATAKANA LETTER A + \x8E\xB2 |0 # HALFWIDTH KATAKANA LETTER I + \x8E\xB3 |0 # HALFWIDTH KATAKANA LETTER U + \x8E\xB4 |0 # HALFWIDTH KATAKANA LETTER E + \x8E\xB5 |0 # HALFWIDTH KATAKANA LETTER O + \x8E\xB6 |0 # HALFWIDTH KATAKANA LETTER KA + \x8E\xB7 |0 # HALFWIDTH KATAKANA LETTER KI + \x8E\xB8 |0 # HALFWIDTH KATAKANA LETTER KU + \x8E\xB9 |0 # HALFWIDTH KATAKANA LETTER KE + \x8E\xBA |0 # HALFWIDTH KATAKANA LETTER KO + \x8E\xBB |0 # HALFWIDTH KATAKANA LETTER SA + \x8E\xBC |0 # HALFWIDTH KATAKANA LETTER SI + \x8E\xBD |0 # HALFWIDTH KATAKANA LETTER SU + \x8E\xBE |0 # HALFWIDTH KATAKANA LETTER SE + \x8E\xBF |0 # HALFWIDTH KATAKANA LETTER SO + \x8E\xC0 |0 # HALFWIDTH KATAKANA LETTER TA + \x8E\xC1 |0 # HALFWIDTH KATAKANA LETTER TI + \x8E\xC2 |0 # HALFWIDTH KATAKANA LETTER TU + \x8E\xC3 |0 # HALFWIDTH KATAKANA LETTER TE + \x8E\xC4 |0 # HALFWIDTH KATAKANA LETTER TO + \x8E\xC5 |0 # HALFWIDTH KATAKANA LETTER NA + \x8E\xC6 |0 # HALFWIDTH KATAKANA LETTER NI + \x8E\xC7 |0 # HALFWIDTH KATAKANA LETTER NU + \x8E\xC8 |0 # HALFWIDTH KATAKANA LETTER NE + \x8E\xC9 |0 # HALFWIDTH KATAKANA LETTER NO + \x8E\xCA |0 # HALFWIDTH KATAKANA LETTER HA + \x8E\xCB |0 # HALFWIDTH KATAKANA LETTER HI + \x8E\xCC |0 # HALFWIDTH KATAKANA LETTER HU + \x8E\xCD |0 # HALFWIDTH KATAKANA LETTER HE + \x8E\xCE |0 # HALFWIDTH KATAKANA LETTER HO + \x8E\xCF |0 # HALFWIDTH KATAKANA LETTER MA + \x8E\xD0 |0 # HALFWIDTH KATAKANA LETTER MI + \x8E\xD1 |0 # HALFWIDTH KATAKANA LETTER MU + \x8E\xD2 |0 # HALFWIDTH KATAKANA LETTER ME + \x8E\xD3 |0 # HALFWIDTH KATAKANA LETTER MO + \x8E\xD4 |0 # HALFWIDTH KATAKANA LETTER YA + \x8E\xD5 |0 # HALFWIDTH KATAKANA LETTER YU + \x8E\xD6 |0 # HALFWIDTH KATAKANA LETTER YO + \x8E\xD7 |0 # HALFWIDTH KATAKANA LETTER RA + \x8E\xD8 |0 # HALFWIDTH KATAKANA LETTER RI + \x8E\xD9 |0 # HALFWIDTH KATAKANA LETTER RU + \x8E\xDA |0 # HALFWIDTH KATAKANA LETTER RE + \x8E\xDB |0 # HALFWIDTH KATAKANA LETTER RO + \x8E\xDC |0 # HALFWIDTH KATAKANA LETTER WA + \x8E\xDD |0 # HALFWIDTH KATAKANA LETTER N + \x8E\xDE |0 # HALFWIDTH KATAKANA VOICED SOUND MARK + \x8E\xDF |0 # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK + \xA1\xF1 |0 # FULLWIDTH CENT SIGN + \xA1\xF2 |0 # FULLWIDTH POUND SIGN + \xA2\xCC |0 # FULLWIDTH NOT SIGN + \xFC\xFB |3 # FULLWIDTH NOT SIGN + \xA1\xB1 |0 # FULLWIDTH MACRON + \xFC\xFC |0 # FULLWIDTH BROKEN BAR + \xA1\xEF |0 # FULLWIDTH YEN SIGN +END CHARMAP From 2540809f262705d32c50fa47702c8cd54f4f84a4 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:24:25 +0200 Subject: [PATCH 105/123] Remove unused function php_mb_safe_strrchr TODO: - Bump PHP_MBSTRING_API - Check if any known extensions use this function --- ext/mbstring/mbstring.c | 7 ------- ext/mbstring/mbstring.h | 2 -- 2 files changed, 9 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 03e2a77df8986..dee8faeeedbe8 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -4183,13 +4183,6 @@ MBSTRING_API char *php_mb_safe_strrchr_ex(const char *s, unsigned int c, size_t } /* }}} */ -/* {{{ MBSTRING_API char *php_mb_safe_strrchr() */ -MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, size_t nbytes) -{ - return php_mb_safe_strrchr_ex(s, c, nbytes, MBSTRG(internal_encoding)); -} -/* }}} */ - /* {{{ MBSTRING_API int php_mb_stripos() */ MBSTRING_API size_t php_mb_stripos(int mode, const char *old_haystack, size_t old_haystack_len, const char *old_needle, size_t old_needle_len, zend_long offset, const mbfl_encoding *enc) { diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 561efeb422ba6..075cb95a3f6f2 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -55,8 +55,6 @@ PHP_MINFO_FUNCTION(mbstring); MBSTRING_API char *php_mb_safe_strrchr_ex(const char *s, unsigned int c, size_t nbytes, const mbfl_encoding *enc); -MBSTRING_API char *php_mb_safe_strrchr(const char *s, unsigned int c, - size_t nbytes); MBSTRING_API char *php_mb_convert_encoding_ex( const char *input, size_t length, From 8ef55431e32d2b287c6f5b13c747f467d21b5022 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:31:58 +0200 Subject: [PATCH 106/123] Remove useless constant MBFL_ENCTYPE_MBCS This flag indicated that an encoding was 'multi-byte'; it can use a variable number of bytes to encode each character. As it turns out, we don't actually need to check this flag anywhere, so it's better to remove it. --- ext/mbstring/libmbfl/filters/mbfilter_big5.c | 4 ++-- ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c | 6 +++--- ext/mbstring/libmbfl/filters/mbfilter_cp51932.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp936.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_euc_jp_win.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_gb18030.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_hz.c | 2 +- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 2 +- .../libmbfl/filters/mbfilter_iso2022_kr.c | 2 +- .../libmbfl/filters/mbfilter_iso2022jp_2004.c | 2 +- .../libmbfl/filters/mbfilter_iso2022jp_mobile.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_jis.c | 4 ++-- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 2 +- .../libmbfl/filters/mbfilter_sjis_2004.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c | 2 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 6 +++--- .../libmbfl/filters/mbfilter_sjis_open.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_uhc.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf7.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c | 2 +- ext/mbstring/libmbfl/filters/mbfilter_utf8.c | 2 +- .../libmbfl/filters/mbfilter_utf8_mobile.c | 8 ++++---- ext/mbstring/libmbfl/mbfl/mbfl_consts.h | 1 - ext/mbstring/mbstring.c | 16 +++++----------- 30 files changed, 42 insertions(+), 49 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_big5.c b/ext/mbstring/libmbfl/filters/mbfilter_big5.c index d50f4258c23de..8128c271a5f66 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_big5.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_big5.c @@ -61,7 +61,7 @@ const mbfl_encoding mbfl_encoding_big5 = { "BIG5", mbfl_encoding_big5_aliases, mblen_table_big5, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_big5_wchar, &vtbl_wchar_big5 }; @@ -72,7 +72,7 @@ const mbfl_encoding mbfl_encoding_cp950 = { "BIG5", NULL, mblen_table_big5, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp950_wchar, &vtbl_wchar_cp950 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c index d24a7e4a038fe..d6df1f32bf061 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp5022x.c @@ -52,7 +52,7 @@ const mbfl_encoding mbfl_encoding_cp50220 = { "ISO-2022-JP", cp50220_aliases, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50220_wchar, &vtbl_wchar_cp50220 }; @@ -63,7 +63,7 @@ const mbfl_encoding mbfl_encoding_cp50221 = { "ISO-2022-JP", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50221_wchar, &vtbl_wchar_cp50221 }; @@ -74,7 +74,7 @@ const mbfl_encoding mbfl_encoding_cp50222 = { "ISO-2022-JP", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp50222_wchar, &vtbl_wchar_cp50222 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c index bed85992b2428..b47d2d10b4f35 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp51932.c @@ -71,7 +71,7 @@ const mbfl_encoding mbfl_encoding_cp51932 = { "CP51932", mbfl_encoding_cp51932_aliases, mblen_table_eucjp, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_cp51932_wchar, &vtbl_wchar_cp51932 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 803aa16ba436d..5b70c461f9faa 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -62,7 +62,7 @@ const mbfl_encoding mbfl_encoding_cp932 = { "Shift_JIS", mbfl_encoding_cp932_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp932_wchar, &vtbl_wchar_cp932 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c index 889cf357a607b..129954a1d2e82 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp936.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp936.c @@ -61,7 +61,7 @@ const mbfl_encoding mbfl_encoding_cp936 = { "CP936", mbfl_encoding_cp936_aliases, mblen_table_cp936, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_cp936_wchar, &vtbl_wchar_cp936 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c index 58fecd374d3d5..ade191c925a9d 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_cn.c @@ -61,7 +61,7 @@ const mbfl_encoding mbfl_encoding_euc_cn = { "CN-GB", mbfl_encoding_euc_cn_aliases, mblen_table_euccn, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_euccn_wchar, &vtbl_wchar_euccn }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c index ec2a742c9094a..274461c6cf5b0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp.c @@ -62,7 +62,7 @@ const mbfl_encoding mbfl_encoding_euc_jp = { "EUC-JP", mbfl_encoding_euc_jp_aliases, mblen_table_eucjp, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_eucjp_wchar, &vtbl_wchar_eucjp }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c index bafb7d742f4cd..29ff5cbd9b824 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_2004.c @@ -42,7 +42,7 @@ const mbfl_encoding mbfl_encoding_eucjp2004 = { "EUC-JP", mbfl_encoding_eucjp2004_aliases, mblen_table_eucjp, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_eucjp2004_wchar, &vtbl_wchar_eucjp2004 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c index 60b0fb5287c0e..9a5a7811f0b3c 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_jp_win.c @@ -71,7 +71,7 @@ const mbfl_encoding mbfl_encoding_eucjp_win = { "EUC-JP", mbfl_encoding_eucjp_win_aliases, mblen_table_eucjp, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_eucjpwin_wchar, &vtbl_wchar_eucjpwin }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c index 66ce25ea77f4e..888f35d9a88b8 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_kr.c @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_euc_kr = { "EUC-KR", mbfl_encoding_euc_kr_aliases, mblen_table_euckr, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_euckr_wchar, &vtbl_wchar_euckr }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c index 18007bce313c2..630d5e6118afe 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_euc_tw.c @@ -62,7 +62,7 @@ const mbfl_encoding mbfl_encoding_euc_tw = { "EUC-TW", mbfl_encoding_euc_tw_aliases, mblen_table_euctw, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_euctw_wchar, &vtbl_wchar_euctw }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c index 6b08fbe3a0dbc..5f910b5872fee 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_gb18030.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_gb18030 = { "GB18030", mbfl_encoding_gb18030_aliases, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_gb18030_wchar, &vtbl_wchar_gb18030 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_hz.c b/ext/mbstring/libmbfl/filters/mbfilter_hz.c index ee481e2be5a55..0b14f6a9daa99 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_hz.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_hz.c @@ -40,7 +40,7 @@ const mbfl_encoding mbfl_encoding_hz = { "HZ-GB-2312", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_hz_wchar, &vtbl_wchar_hz }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index f2c60aebf0f33..598a11a0d0aa0 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -44,7 +44,7 @@ const mbfl_encoding mbfl_encoding_2022jpms = { "ISO-2022-JP", mbfl_encoding_2022jpms_aliases, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jpms_wchar, &vtbl_wchar_2022jpms }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c index 0b08a8e72f1d0..9830670f6ab81 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_kr.c @@ -39,7 +39,7 @@ const mbfl_encoding mbfl_encoding_2022kr = { "ISO-2022-KR", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022kr_wchar, &vtbl_wchar_2022kr }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c index 92082090efcb1..06a6f7866928f 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_2004.c @@ -43,7 +43,7 @@ const mbfl_encoding mbfl_encoding_2022jp_2004 = { "ISO-2022-JP-2004", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jp_2004_wchar, &vtbl_wchar_2022jp_2004 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index bc56a42926a08..70cb032ad8734 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -46,7 +46,7 @@ const mbfl_encoding mbfl_encoding_2022jp_kddi = { "ISO-2022-JP", mbfl_encoding_2022jp_kddi_aliases, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jp_kddi_wchar, &vtbl_wchar_2022jp_kddi }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_jis.c b/ext/mbstring/libmbfl/filters/mbfilter_jis.c index 0a25db9fde3bf..495399001d704 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_jis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_jis.c @@ -42,7 +42,7 @@ const mbfl_encoding mbfl_encoding_jis = { "ISO-2022-JP", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_jis_wchar, &vtbl_wchar_jis }; @@ -53,7 +53,7 @@ const mbfl_encoding mbfl_encoding_2022jp = { "ISO-2022-JP", NULL, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_2022jp_wchar, &vtbl_wchar_2022jp }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 2fd81d1fe5ffd..360a3532a62d4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -66,7 +66,7 @@ const mbfl_encoding mbfl_encoding_sjis = { "Shift_JIS", mbfl_encoding_sjis_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_wchar, &vtbl_wchar_sjis }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c index 43de3fa3393e4..413ba3fc20fe2 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_2004.c @@ -50,7 +50,7 @@ const mbfl_encoding mbfl_encoding_sjis2004 = { "Shift_JIS", mbfl_encoding_sjis2004_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis2004_wchar, &vtbl_wchar_sjis2004 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c index 8a5771a1559fd..c307d40f38f28 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mac.c @@ -51,7 +51,7 @@ const mbfl_encoding mbfl_encoding_sjis_mac = { "Shift_JIS", mbfl_encoding_sjis_mac_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_mac_wchar, &vtbl_wchar_sjis_mac }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 6b78c01e212fa..54964548dc12e 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -49,7 +49,7 @@ const mbfl_encoding mbfl_encoding_sjis_docomo = { "Shift_JIS", mbfl_encoding_sjis_docomo_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_docomo_wchar, &vtbl_wchar_sjis_docomo }; @@ -60,7 +60,7 @@ const mbfl_encoding mbfl_encoding_sjis_kddi = { "Shift_JIS", mbfl_encoding_sjis_kddi_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_kddi_wchar, &vtbl_wchar_sjis_kddi }; @@ -71,7 +71,7 @@ const mbfl_encoding mbfl_encoding_sjis_sb = { "Shift_JIS", mbfl_encoding_sjis_sb_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_sb_wchar, &vtbl_wchar_sjis_sb }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c index a499f7d784284..2c4a0eb8edb3b 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c @@ -62,7 +62,7 @@ const mbfl_encoding mbfl_encoding_sjis_open = { "Shift_JIS", mbfl_encoding_sjis_open_aliases, mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_sjis_open_wchar, &vtbl_wchar_sjis_open }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c index dddc64760ab1f..94aa0068ec975 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_uhc.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_uhc.c @@ -61,7 +61,7 @@ const mbfl_encoding mbfl_encoding_uhc = { "UHC", mbfl_encoding_uhc_aliases, mblen_table_uhc, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_uhc_wchar, &vtbl_wchar_uhc }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c index 261e10ad57686..c2c9a961e0526 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7.c @@ -54,7 +54,7 @@ const mbfl_encoding mbfl_encoding_utf7 = { "UTF-7", mbfl_encoding_utf7_aliases, NULL, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE, + MBFL_ENCTYPE_GL_UNSAFE, &vtbl_utf7_wchar, &vtbl_wchar_utf7 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c index 34ecb7b9432d6..4a7be52ccd477 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf7imap.c @@ -88,7 +88,7 @@ const mbfl_encoding mbfl_encoding_utf7imap = { NULL, mbfl_encoding_utf7imap_aliases, NULL, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf7imap_wchar, &vtbl_wchar_utf7imap }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c index 66de9c3652198..1e1c32de3b3c9 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8.c @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_utf8 = { "UTF-8", mbfl_encoding_utf8_aliases, mblen_table_utf8, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf8_wchar, &vtbl_wchar_utf8 }; diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index d9533611b66c8..6c6b91711d623 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -48,7 +48,7 @@ const mbfl_encoding mbfl_encoding_utf8_docomo = { "UTF-8", mbfl_encoding_utf8_docomo_aliases, mblen_table_utf8, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf8_docomo_wchar, &vtbl_wchar_utf8_docomo }; @@ -59,7 +59,7 @@ const mbfl_encoding mbfl_encoding_utf8_kddi_a = { "UTF-8", mbfl_encoding_utf8_kddi_a_aliases, mblen_table_utf8, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf8_kddi_a_wchar, &vtbl_wchar_utf8_kddi_a }; @@ -70,7 +70,7 @@ const mbfl_encoding mbfl_encoding_utf8_kddi_b = { "UTF-8", mbfl_encoding_utf8_kddi_b_aliases, mblen_table_utf8, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf8_kddi_b_wchar, &vtbl_wchar_utf8_kddi_b }; @@ -81,7 +81,7 @@ const mbfl_encoding mbfl_encoding_utf8_sb = { "UTF-8", mbfl_encoding_utf8_sb_aliases, mblen_table_utf8, - MBFL_ENCTYPE_MBCS, + 0, &vtbl_utf8_sb_wchar, &vtbl_wchar_utf8_sb }; diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h index 137cd0fcb8993..bc645ab761334 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_consts.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_consts.h @@ -32,7 +32,6 @@ #define MBFL_CONSTS_H #define MBFL_ENCTYPE_SBCS 0x00000001 /* single-byte encoding */ -#define MBFL_ENCTYPE_MBCS 0x00000002 /* multi-byte encoding */ #define MBFL_ENCTYPE_WCS2 0x00000010 /* 2 bytes/char */ #define MBFL_ENCTYPE_MWC2 0x00000040 /* 2+ bytes/char */ #define MBFL_ENCTYPE_WCS4 0x00000100 /* 4 bytes/char */ diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index dee8faeeedbe8..96c42e8064dec 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -403,13 +403,7 @@ static const char *php_mb_zend_encoding_name_getter(const zend_encoding *encodin static bool php_mb_zend_encoding_lexer_compatibility_checker(const zend_encoding *_encoding) { const mbfl_encoding *encoding = (const mbfl_encoding*)_encoding; - if (encoding->flag & MBFL_ENCTYPE_SBCS) { - return 1; - } - if ((encoding->flag & (MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE)) == MBFL_ENCTYPE_MBCS) { - return 1; - } - return 0; + return !(encoding->flag & MBFL_ENCTYPE_GL_UNSAFE); } static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *arg_string, size_t arg_length, const zend_encoding **list, size_t list_size) @@ -4120,10 +4114,10 @@ static int php_mb_encoding_translation(void) /* {{{ MBSTRING_API size_t php_mb_mbchar_bytes_ex() */ MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *enc) { - if (enc != NULL) { - if (enc->flag & MBFL_ENCTYPE_MBCS) { - if (enc->mblen_table != NULL) { - if (s != NULL) return enc->mblen_table[*(unsigned char *)s]; + if (enc) { + if (enc->mblen_table) { + if (s) { + return enc->mblen_table[*(unsigned char *)s]; } } else if (enc->flag & MBFL_ENCTYPE_WCS2) { return 2; From 7e18f2f94f8a15777beeed6d27fcc05105473b0e Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:40:25 +0200 Subject: [PATCH 107/123] Simplify php_mb_zend_encoding_converter --- ext/mbstring/mbstring.c | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 96c42e8064dec..6949f8021e917 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -424,37 +424,17 @@ static const zend_encoding *php_mb_zend_encoding_detector(const unsigned char *a static size_t php_mb_zend_encoding_converter(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length, const zend_encoding *encoding_to, const zend_encoding *encoding_from) { mbfl_string string, result; - mbfl_buffer_converter *convd; - /* new encoding */ - /* initialize string */ string.encoding = (const mbfl_encoding*)encoding_from; string.val = (unsigned char*)from; string.len = from_length; - /* initialize converter */ - convd = mbfl_buffer_converter_new((const mbfl_encoding *)encoding_from, (const mbfl_encoding *)encoding_to, string.len); - if (convd == NULL) { - return (size_t) -1; - } - - mbfl_buffer_converter_illegal_mode(convd, MBSTRG(current_filter_illegal_mode)); - mbfl_buffer_converter_illegal_substchar(convd, MBSTRG(current_filter_illegal_substchar)); - - /* do it */ - mbfl_buffer_converter_feed(convd, &string); - - mbfl_string_init(&result); - if (!mbfl_buffer_converter_result(convd, &result)) { - mbfl_buffer_converter_delete(convd); + if (!mbfl_convert_encoding(&string, &result, (const mbfl_encoding*)encoding_to)) { return (size_t)-1; } *to = result.val; *to_length = result.len; - - mbfl_buffer_converter_delete(convd); - return from_length; } From c48d07ce4530c0184598b27b919bf03f682dfd2a Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:49:05 +0200 Subject: [PATCH 108/123] Don't check for impossible error condition in mb_strlen --- ext/mbstring/mbstring.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 6949f8021e917..5140fb4161a89 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1669,11 +1669,7 @@ PHP_FUNCTION(mb_strlen) RETURN_THROWS(); } - size_t n = mbfl_strlen(&string); - /* Only way this can fail is if the conversion creation fails - * this would imply some sort of memory allocation failure which is a bug */ - ZEND_ASSERT(!mbfl_is_error(n)); - RETVAL_LONG(n); + RETVAL_LONG(mbfl_strlen(&string)); } /* }}} */ From c4cbaa71e6b888b9731b0b6a61b4bc829c94f7cc Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:50:31 +0200 Subject: [PATCH 109/123] Remove useless constant MBFL_ERROR_ENCODING --- ext/mbstring/libmbfl/mbfl/mbfilter.h | 1 - ext/mbstring/mbstring.c | 3 --- 2 files changed, 4 deletions(-) diff --git a/ext/mbstring/libmbfl/mbfl/mbfilter.h b/ext/mbstring/libmbfl/mbfl/mbfilter.h index c149032d4284f..ca175d1a73c25 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfilter.h +++ b/ext/mbstring/libmbfl/mbfl/mbfilter.h @@ -204,7 +204,6 @@ MBFLAPI extern size_t mbfl_strlen(const mbfl_string *string); #define MBFL_ERROR_NOT_FOUND ((size_t) -1) -#define MBFL_ERROR_ENCODING ((size_t) -4) #define MBFL_ERROR_EMPTY ((size_t) -8) #define MBFL_ERROR_OFFSET ((size_t) -16) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 5140fb4161a89..e34235fa238d1 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1677,9 +1677,6 @@ static void handle_strpos_error(size_t error) { switch (error) { case MBFL_ERROR_NOT_FOUND: break; - case MBFL_ERROR_ENCODING: - php_error_docref(NULL, E_WARNING, "Conversion error"); - break; case MBFL_ERROR_OFFSET: zend_argument_value_error(3, "must be contained in argument #1 ($haystack)"); break; From a8d947c688ce48fa252a588a7df78c196e8541e8 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:53:29 +0200 Subject: [PATCH 110/123] Don't check for impossible error condition in mb_substr_count --- ext/mbstring/mbstring.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index e34235fa238d1..eb940fec3a2bc 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -1943,13 +1943,7 @@ PHP_FUNCTION(mb_substr_count) RETURN_THROWS(); } - size_t n = mbfl_substr_count(&haystack, &needle); - /* An error can only occur if needle is empty, - * an encoding error happens (which should not happen at this stage and is a bug) - * or the haystack is more than sizeof(size_t) bytes - * If one of these things occur this is a bug and should be flagged as such */ - ZEND_ASSERT(!mbfl_is_error(n)); - RETVAL_LONG(n); + RETVAL_LONG(mbfl_substr_count(&haystack, &needle)); } /* }}} */ From 951bc0dcdc20b8fa019df3ada81ed12e21d6df03 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 19:54:38 +0200 Subject: [PATCH 111/123] Don't check for impossible error condition in mb_strwidth --- ext/mbstring/mbstring.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index eb940fec3a2bc..879f7a0e5c6fe 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -2099,9 +2099,7 @@ PHP_FUNCTION(mb_strwidth) RETURN_THROWS(); } - size_t n = mbfl_strwidth(&string); - ZEND_ASSERT(n != (size_t) -1); - RETVAL_LONG(n); + RETVAL_LONG(mbfl_strwidth(&string)); } /* }}} */ From 0488bbbbd5237f13cdba9fe76e26a43fd390839b Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 20:00:20 +0200 Subject: [PATCH 112/123] Use stack-allocated buffer in php_mb_chr --- ext/mbstring/mbstring.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 879f7a0e5c6fe..2fa00d09fa6b3 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3916,8 +3916,7 @@ static inline zend_string *php_mb_chr(zend_long cp, zend_string *enc_name, uint3 const mbfl_encoding *enc; enum mbfl_no_encoding no_enc; zend_string *ret; - char* buf; - size_t buf_len; + char buf[5]; enc = php_mb_get_encoding(enc_name, enc_name_arg_num); if (!enc) { @@ -3964,21 +3963,17 @@ static inline zend_string *php_mb_chr(zend_long cp, zend_string *enc_name, uint3 return ret; } - buf_len = 4; - buf = (char *) emalloc(buf_len + 1); buf[0] = (cp >> 24) & 0xff; buf[1] = (cp >> 16) & 0xff; buf[2] = (cp >> 8) & 0xff; buf[3] = cp & 0xff; buf[4] = 0; - char *ret_str; size_t ret_len; long orig_illegalchars = MBSTRG(illegalchars); MBSTRG(illegalchars) = 0; - ret_str = php_mb_convert_encoding_ex(buf, buf_len, enc, &mbfl_encoding_ucs4be, &ret_len); + char *ret_str = php_mb_convert_encoding_ex(buf, 4, enc, &mbfl_encoding_ucs4be, &ret_len); if (MBSTRG(illegalchars) != 0) { - efree(buf); efree(ret_str); MBSTRG(illegalchars) = orig_illegalchars; return NULL; @@ -3988,7 +3983,6 @@ static inline zend_string *php_mb_chr(zend_long cp, zend_string *enc_name, uint3 efree(ret_str); MBSTRG(illegalchars) = orig_illegalchars; - efree(buf); return ret; } From 2c5309049ffbbcd1ff4ea89ba932c1a6139aa389 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 20:02:13 +0200 Subject: [PATCH 113/123] Remove unused function php_mb_mbchar_bytes TODO: - Bump PHP_MBSTRING_API - Ensure that no known extensions use this function --- ext/mbstring/mbstring.c | 7 ------- ext/mbstring/mbstring.h | 1 - 2 files changed, 8 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 2fa00d09fa6b3..4426adb313733 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -4088,13 +4088,6 @@ MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *e } /* }}} */ -/* {{{ MBSTRING_API size_t php_mb_mbchar_bytes() */ -MBSTRING_API size_t php_mb_mbchar_bytes(const char *s) -{ - return php_mb_mbchar_bytes_ex(s, MBSTRG(internal_encoding)); -} -/* }}} */ - /* {{{ MBSTRING_API char *php_mb_safe_strrchr_ex() */ MBSTRING_API char *php_mb_safe_strrchr_ex(const char *s, unsigned int c, size_t nbytes, const mbfl_encoding *enc) { diff --git a/ext/mbstring/mbstring.h b/ext/mbstring/mbstring.h index 075cb95a3f6f2..92845e1ee0594 100644 --- a/ext/mbstring/mbstring.h +++ b/ext/mbstring/mbstring.h @@ -64,7 +64,6 @@ MBSTRING_API char * php_mb_convert_encoding( const mbfl_encoding **from_encodings, size_t num_from_encodings, size_t *output_len); MBSTRING_API size_t php_mb_mbchar_bytes_ex(const char *s, const mbfl_encoding *enc); -MBSTRING_API size_t php_mb_mbchar_bytes(const char *s); MBSTRING_API size_t php_mb_stripos(int mode, const char *old_haystack, size_t old_haystack_len, const char *old_needle, size_t old_needle_len, zend_long offset, const mbfl_encoding *encoding); MBSTRING_API int php_mb_check_encoding(const char *input, size_t length, const mbfl_encoding *encoding); From 5234d92ed74aca454c0be6df73d3c433ebec4a47 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 18 Oct 2020 21:57:50 +0200 Subject: [PATCH 114/123] No need to null-terminate buffer in php_mb_chr `mbfl_buffer_converter_feed_result` will not overrun the specified length. --- ext/mbstring/mbstring.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ext/mbstring/mbstring.c b/ext/mbstring/mbstring.c index 4426adb313733..41f86b58c5121 100644 --- a/ext/mbstring/mbstring.c +++ b/ext/mbstring/mbstring.c @@ -3916,7 +3916,7 @@ static inline zend_string *php_mb_chr(zend_long cp, zend_string *enc_name, uint3 const mbfl_encoding *enc; enum mbfl_no_encoding no_enc; zend_string *ret; - char buf[5]; + char buf[4]; enc = php_mb_get_encoding(enc_name, enc_name_arg_num); if (!enc) { @@ -3967,7 +3967,6 @@ static inline zend_string *php_mb_chr(zend_long cp, zend_string *enc_name, uint3 buf[1] = (cp >> 16) & 0xff; buf[2] = (cp >> 8) & 0xff; buf[3] = cp & 0xff; - buf[4] = 0; size_t ret_len; long orig_illegalchars = MBSTRG(illegalchars); From befbb466181b8be2cb37634b49f11b6592724ec8 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Tue, 20 Oct 2020 07:47:20 +0200 Subject: [PATCH 115/123] Fix mbstring support for SJIS-Mobile (DoCoMo, KDDI, and Softbank variants of Shift-JIS) Lots of problems here. - Don't pass 'control' characters through silently in the middle of a multi-byte character. - Treat it as an error if a multi-byte character is truncated. - Add identify filters for precise identification of valid strings in both the DoCoMo, KDDI, and SoftBank variants of Shift-JIS. - For ESC sequences used to encode emoji on earlier Softbank phones, if an invalid ESC sequence is found, don't pass it through. Rather, handle it as an error and respect `mb_substitute_character`. - In ranges used by mobile vendors for emoji, if a certain byte sequence doesn't map to any emoji, don't emit a mangled value (actually a raw (ku*94)+ten value, which may not even be a valid Unicode codepoint at all). - When converting Unicode to SJIS-Mobile, don't mangle codepoints which fall in the 2nd range of MicroSoft vendor extensions. Also do a major code cleanup -- remove dead code, rearrange what is left, use some new macros and helper functions to make the code clearer... --- ext/mbstring/libmbfl/filters/mbfilter_sjis.c | 6 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 1119 ++++++++++------- 2 files changed, 642 insertions(+), 483 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c index 360a3532a62d4..33ac547e50743 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis.c @@ -36,8 +36,8 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" -static int mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); -void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter); const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -254,7 +254,7 @@ void mbfl_filt_conv_wchar_sjis(int c, mbfl_convert_filter *filter) } } -void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter) { if (filter->status) { /* Kanji, second byte */ if (c < 0x40 || c > 0xFC || c == 0x7F) { diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 54964548dc12e..745755ecfbcc4 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -36,9 +36,13 @@ #include "emoji2uni.h" extern int mbfl_bisec_srch2(int w, const unsigned short tbl[], int n); -extern void mbfl_filt_ident_sjis(unsigned char c, mbfl_identify_filter *filter); extern const unsigned char mblen_table_sjis[]; +static void mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_ident_sjis_docomo(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_kddi(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_sjis_softbank(unsigned char c, mbfl_identify_filter *filter); + static const char *mbfl_encoding_sjis_docomo_aliases[] = {"SJIS-DOCOMO", "shift_jis-imode", "x-sjis-emoji-docomo", NULL}; static const char *mbfl_encoding_sjis_kddi_aliases[] = {"SJIS-KDDI", "shift_jis-kddi", "x-sjis-emoji-kddi", NULL}; static const char *mbfl_encoding_sjis_sb_aliases[] = {"SJIS-SOFTBANK", "shift_jis-softbank", "x-sjis-emoji-softbank", NULL}; @@ -79,19 +83,19 @@ const mbfl_encoding mbfl_encoding_sjis_sb = { const struct mbfl_identify_vtbl vtbl_identify_sjis_docomo = { mbfl_no_encoding_sjis_docomo, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis + mbfl_filt_ident_sjis_docomo }; const struct mbfl_identify_vtbl vtbl_identify_sjis_kddi = { mbfl_no_encoding_sjis_kddi, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis + mbfl_filt_ident_sjis_kddi }; const struct mbfl_identify_vtbl vtbl_identify_sjis_sb = { mbfl_no_encoding_sjis_sb, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis + mbfl_filt_ident_sjis_softbank }; const struct mbfl_convert_vtbl vtbl_sjis_docomo_wchar = { @@ -100,7 +104,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_docomo_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_sjis_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo = { @@ -118,7 +122,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_kddi_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_sjis_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi = { @@ -136,7 +140,7 @@ const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_sjis_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { @@ -189,463 +193,432 @@ const unsigned short mbfl_kddi2uni_pua_b[8][3] = { {0x27e7, 0x2863, 0xf080}, }; +/* Regional Indicator Unicode codepoints are from 0x1F1E6-0x1F1FF + * These correspond to the letters A-Z + * To display the flag emoji for a country, two unicode codepoints are combined, + * which correspond to the two-letter code for that country + * This macro converts uppercase ASCII values to Regional Indicator codepoints */ #define NFLAGS(c) (0x1F1A5+(int)(c)) -#define SJIS_ENCODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - s1--; \ - s1 >>= 1; \ - if ((c1) < 0x5f) { \ - s1 += 0x71; \ - } else { \ - s1 += 0xb1; \ - } \ - s2 = c2; \ - if ((c1) & 1) { \ - if ((c2) < 0x60) { \ - s2--; \ - } \ - s2 += 0x20; \ - } else { \ - s2 += 0x7e; \ - } \ +#define SJIS_ENCODE(c1,c2,s1,s2) \ + do { \ + s1 = ((c1 - 1) >> 1) + ((c1) < 0x5F ? 0x71 : 0xB1); \ + s2 = c2; \ + if ((c1) & 1) { \ + if ((c2) < 0x60) { \ + s2--; \ + } \ + s2 += 0x20; \ + } else { \ + s2 += 0x7e; \ + } \ } while (0) -#define SJIS_DECODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - if (s1 < 0xa0) { \ - s1 -= 0x81; \ - } else { \ - s1 -= 0xc1; \ - } \ - s1 <<= 1; \ - s1 += 0x21; \ - s2 = c2; \ - if (s2 < 0x9f) { \ - if (s2 < 0x7f) { \ - s2++; \ - } \ - s2 -= 0x20; \ - } else { \ - s1++; \ - s2 -= 0x7e; \ - } \ +#define SJIS_DECODE(c1,c2,s1,s2) \ + do { \ + if (c1 < 0xa0) { \ + s1 = ((c1 - 0x81) << 1) + 0x21; \ + } else { \ + s1 = ((c1 - 0xc1) << 1) + 0x21; \ + } \ + s2 = c2; \ + if (c2 < 0x9f) { \ + if (c2 < 0x7f) { \ + s2++; \ + } \ + s2 -= 0x20; \ + } else { \ + s1++; \ + s2 -= 0x7e; \ + } \ } while (0) -#define CODE2JIS(c1,c2,s1,s2) \ - c1 = (s1)/94+0x21; \ - c2 = (s1)-94*((c1)-0x21)+0x21; \ - s1 = ((c1) << 8) | (c2); \ +/* (ku*94)+ten value -> Shift-JIS byte sequence */ +#define CODE2JIS(c1,c2,s1,s2) \ + c1 = (s1)/94+0x21; \ + c2 = (s1)-94*((c1)-0x21)+0x21; \ + s1 = ((c1) << 8) | (c2); \ s2 = 1 -int -mbfilter_conv_map_tbl(int c, int *w, const unsigned short map[][3], int n) +int mbfilter_conv_map_tbl(int c, int *w, const unsigned short map[][3], int n) { - int i, match = 0; - - for (i = 0; i < n; i++) { + for (int i = 0; i < n; i++) { if (map[i][0] <= c && c <= map[i][1]) { *w = c - map[i][0] + map[i][2]; - match = 1; - break; + return 1; } } - return match; + return 0; } -int -mbfilter_conv_r_map_tbl(int c, int *w, const unsigned short map[][3], int n) +int mbfilter_conv_r_map_tbl(int c, int *w, const unsigned short map[][3], int n) { - int i, match = 0; - - for (i = 0; i < n; i++) { + /* Convert in reverse direction */ + for (int i = 0; i < n; i++) { if (map[i][2] <= c && c <= map[i][2] - map[i][0] + map[i][1]) { *w = c + map[i][0] - map[i][2]; - match = 1; - break; + return 1; } } - return match; + return 0; +} + +/* number -> (ku*94)+ten value for telephone keypad character */ +#define DOCOMO_KEYPAD(n) ((n) == 0 ? 0x296F : (0x2965 + (n))) +#define DOCOMO_KEYPAD_HASH 0x2964 + +#define EMIT_KEYPAD_EMOJI(c) \ + *snd = (c); \ + return 0x20E3 + +/* Unicode codepoints for emoji are above 0x1F000, but we only store 16-bits + * in our tables. Therefore, add 0x10000 to recover the true values. + * + * Again, for some emoji which are not supported by Unicode, we use codepoints + * in the Private Use Area above 0xFE000. Again, add 0xF0000 to recover the + * true value. */ +static inline int convert_emoji_cp(int cp) +{ + if (cp > 0xF000) + return cp + 0x10000; + else if (cp > 0xE000) + return cp + 0xF0000; + return cp; } -int -mbfilter_sjis_emoji_docomo2unicode(int s, int *snd) +int mbfilter_sjis_emoji_docomo2unicode(int s, int *snd) { - int w = s; + /* All three mobile vendors had emoji for numbers on a telephone keypad + * Unicode doesn't have those, but it has a combining character which puts + * a 'keypad button' around the following character, making it look like + * a key on a telephone or keyboard. That combining char is codepoint 0x20E3. */ if (s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { - if (s >= mb_tbl_code2uni_docomo1_min + 0x00a2 && - s <= mb_tbl_code2uni_docomo1_min + 0x00ad && - s != mb_tbl_code2uni_docomo1_min + 0x00a3) { - w = 0x20E3; - *snd = mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]; - if (*snd > 0xf000) { - *snd += 0x10000; - } + if ((s >= DOCOMO_KEYPAD(1) && s <= DOCOMO_KEYPAD(9)) || s == DOCOMO_KEYPAD(0) || s == DOCOMO_KEYPAD_HASH) { + EMIT_KEYPAD_EMOJI(convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min])); } else { - w = mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } *snd = 0; - if (!w) { - w = s; - } + return convert_emoji_cp(mb_tbl_code2uni_docomo1[s - mb_tbl_code2uni_docomo1_min]); } } - - return w; + return 0; } -int -mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) -{ - int w = s, si, c; - const int nflags_order_kddi[] = {3, 1, 5, 4, 0, 7}; +#define EMIT_FLAG_EMOJI(country) \ + *snd = NFLAGS((country)[0]); \ + return NFLAGS((country)[1]) - *snd = 0; +static const char nflags_kddi[6][2] = {"FR", "DE", "IT", "GB", "CN", "KR"}; + +int mbfilter_sjis_emoji_kddi2unicode(int s, int *snd) +{ if (s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi1_max) { - si = s - mb_tbl_code2uni_kddi1_min; - if (si == 0x0008) { /* ES */ - *snd = NFLAGS(nflags_s[2][0]); w = NFLAGS(nflags_s[2][1]); - } else if (si == 0x0009) { /* RU */ - *snd = NFLAGS(nflags_s[8][0]); w = NFLAGS(nflags_s[8][1]); - } else if (si >= 0x008d && si <= 0x0092) { - c = nflags_order_kddi[si-0x008d]; - *snd = NFLAGS(nflags_s[c][0]); w = NFLAGS(nflags_s[c][1]); - } else if (si == 0x0104) { - *snd = 0x0023; w = 0x20E3; + if (s == 0x24C0) { /* Spain */ + EMIT_FLAG_EMOJI("ES"); + } else if (s == 0x24C1) { /* Russia */ + EMIT_FLAG_EMOJI("RU"); + } else if (s >= 0x2545 && s <= 0x254A) { + EMIT_FLAG_EMOJI(nflags_kddi[s - 0x2545]); + } else if (s == 0x25BC) { + EMIT_KEYPAD_EMOJI('#'); } else { - w = mb_tbl_code2uni_kddi1[si]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_kddi1[s - mb_tbl_code2uni_kddi1_min]); } } else if (s >= mb_tbl_code2uni_kddi2_min && s <= mb_tbl_code2uni_kddi2_max) { - si = s - mb_tbl_code2uni_kddi2_min; - if (si == 100) { /* JP */ - *snd = NFLAGS(nflags_s[6][0]); w = NFLAGS(nflags_s[6][1]); - } else if (si >= 0x00ba && si <= 0x00c2) { - *snd = si-0x00ba+0x0031; w = 0x20E3; - } else if (si == 0x010b) { /* US */ - *snd = NFLAGS(nflags_s[9][0]); w = NFLAGS(nflags_s[9][1]); - } else if (si == 0x0144) { - *snd = 0x0030; w = 0x20E3; + if (s == 0x2750) { /* Japan */ + EMIT_FLAG_EMOJI("JP"); + } else if (s >= 0x27A6 && s <= 0x27AE) { + EMIT_KEYPAD_EMOJI(s - 0x27A6 + '1'); + } else if (s == 0x27F7) { /* United States */ + EMIT_FLAG_EMOJI("US"); + } else if (s == 0x2830) { + EMIT_KEYPAD_EMOJI('0'); } else { - w = mb_tbl_code2uni_kddi2[si]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_kddi2[s - mb_tbl_code2uni_kddi2_min]); } } - return w; + return 0; } -int -mbfilter_sjis_emoji_sb2unicode(int s, int *snd) -{ - int w = s, si, c; - const int nflags_order_sb[10] = {6, 9, 3, 1, 5, 4, 2, 8, 0, 7}; +static const char nflags_sb[10][2] = {"JP", "US", "FR", "DE", "IT", "GB", "ES", "RU", "CN", "KR"}; - *snd = 0; +int mbfilter_sjis_emoji_sb2unicode(int s, int *snd) +{ if (s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb1_max) { - si = s - mb_tbl_code2uni_sb1_min; - if (si == 0x006e || (si >= 0x007a && si <= 0x0083)) { - *snd = mb_tbl_code2uni_sb1[si]; - if (*snd > 0xf000) { - *snd += 0x10000; - } - w = 0x20E3; + if (s == 0x2817 || (s >= 0x2823 && s <= 0x282C)) { + EMIT_KEYPAD_EMOJI(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); } else { - w = mb_tbl_code2uni_sb1[si]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb1[s - mb_tbl_code2uni_sb1_min]); } } else if (s >= mb_tbl_code2uni_sb2_min && s <= mb_tbl_code2uni_sb2_max) { - si = s - mb_tbl_code2uni_sb2_min; - w = mb_tbl_code2uni_sb2[si]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb2[s - mb_tbl_code2uni_sb2_min]); } else if (s >= mb_tbl_code2uni_sb3_min && s <= mb_tbl_code2uni_sb3_max) { - si = s - mb_tbl_code2uni_sb3_min; - if (si >= 0x0069 && si <= 0x0072) { - c = nflags_order_sb[si-0x0069]; - *snd = NFLAGS(nflags_s[c][0]); w = NFLAGS(nflags_s[c][1]); + if (s >= 0x2B02 && s <= 0x2B0B) { + EMIT_FLAG_EMOJI(nflags_sb[s - 0x2B02]); } else { - w = mb_tbl_code2uni_sb3[si]; - if (w > 0xf000) { - w += 0x10000; - } else if (w > 0xe000) { /* unsupported by Unicode 6.0 */ - w += 0xf0000; - } + *snd = 0; + return convert_emoji_cp(mb_tbl_code2uni_sb3[s - mb_tbl_code2uni_sb3_min]); } } - return w; + return 0; } int mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filter) { - int i, match = 0, c1s; - + /* When converting SJIS-Mobile to Unicode, we convert keypad symbol emoji + * to a sequence of 2 codepoints, one of which is a combining character which + * adds the 'key' image around the other + * + * In the other direction, look for such sequences and convert them to a + * single emoji */ if (filter->status == 1) { - c1s = filter->cache; - filter->cache = 0; - filter->status = 0; + int c1 = filter->cache; + filter->cache = filter->status = 0; if (c == 0x20E3) { - if (c1s == 0x0023) { + if (c1 == '#') { *s1 = 0x2964; - match = 1; - } else if (c1s == 0x0030) { - *s1 = 0x296f; - match = 1; - } else if (c1s >= 0x0031 && c1s <= 0x0039) { - *s1 = 0x2966 + (c1s - 0x0031); - match = 1; + } else if (c1 == '0') { + *s1 = 0x296F; + } else { /* Previous character was '1'-'9' */ + *s1 = 0x2966 + (c1 - '1'); } + return 1; } else { - (*filter->output_function)(c1s, filter->data); - } - } else { - if (c == 0x0023 || (c >= 0x0030 && c<=0x0039)) { - filter->status = 1; - filter->cache = c; - *s1 = -1; - return match; - } - - if (c == 0x00A9) { - *s1 = 0x29b5; match = 1; - } else if (c == 0x00AE) { - *s1 = 0x29ba; match = 1; - } else if (c >= mb_tbl_uni_docomo2code2_min && c <= mb_tbl_uni_docomo2code2_max) { - i = mbfl_bisec_srch2(c, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code2_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_docomo2code3_min && c <= mb_tbl_uni_docomo2code3_max) { - i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code3_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_docomo2code5_min && c <= mb_tbl_uni_docomo2code5_max) { - i = mbfl_bisec_srch2(c - 0xf0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_docomo2code5_val[i]; - match = 1; - } + /* This character wasn't combining character to make keypad symbol, + * so pass the previous character through... and proceed to process the + * current character as usual + * (Single-byte ASCII characters are valid in Shift-JIS...) */ + (*filter->output_function)(c1, filter->data); } } - return match; + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } + + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x29B5; + return 1; + } else if (c == 0x00AE) { /* Registered sign */ + *s1 = 0x29BA; + return 1; + } else if (c >= mb_tbl_uni_docomo2code2_min && c <= mb_tbl_uni_docomo2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_docomo2code2_key, mb_tbl_uni_docomo2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_docomo2code3_min && c <= mb_tbl_uni_docomo2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_docomo2code3_key, mb_tbl_uni_docomo2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_docomo2code5_min && c <= mb_tbl_uni_docomo2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_docomo2code5_key, mb_tbl_uni_docomo2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_docomo2code5_val[i]; + return 1; + } + } + return 0; } -int -mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) +int mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter) { - int i, match = 0, c1s; - if (filter->status == 1) { - c1s = filter->cache; - filter->cache = 0; - filter->status = 0; + int c1 = filter->cache; + filter->cache = filter->status = 0; if (c == 0x20E3) { - if (c1s == 0x0023) { - *s1 = 0x25bc; - match = 1; - } else if (c1s == 0x0030) { + if (c1 == '#') { + *s1 = 0x25BC; + } else if (c1 == '0') { *s1 = 0x2830; - match = 1; - } else if (c1s >= 0x0031 && c1s <= 0x0039) { - *s1 = 0x27a6 + (c1s - 0x0031); - match = 1; - } - } else if ((c >= NFLAGS(0x41) && c <= NFLAGS(0x5A)) && (c1s >= NFLAGS(0x41) && c1s <= NFLAGS(0x5A))) { - for (i=0; i<10; i++) { - if (c1s == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { - *s1 = nflags_code_kddi[i]; - match = 1; - break; - } + } else { /* Previous character was '1'-'9' */ + *s1 = 0x27a6 + (c1 - '1'); } + return 1; } else { - if (c1s >= ucs_a1_jis_table_min && c1s < ucs_a1_jis_table_max) { - c1s = ucs_a1_jis_table[c1s - ucs_a1_jis_table_min]; - (*filter->output_function)(c1s, filter->data); - } + (*filter->output_function)(c1, filter->data); } - } else { - if (c == 0x0023 || ( c >= 0x0030 && c<=0x0039) || - (c >= NFLAGS(0x41) && c<= NFLAGS(0x5A))) { - filter->status = 1; - filter->cache = c; - *s1 = -1; - return match; - } - - if (c == 0x00A9) { - *s1 = 0x27dc; match = 1; - } else if (c == 0x00AE) { - *s1 = 0x27dd; match = 1; - } else if (c >= mb_tbl_uni_kddi2code2_min && c <= mb_tbl_uni_kddi2code2_max) { - i = mbfl_bisec_srch2(c, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code2_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_kddi2code3_min && c <= mb_tbl_uni_kddi2code3_max) { - i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code3_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_kddi2code5_min && c <= mb_tbl_uni_kddi2code5_max) { - i = mbfl_bisec_srch2(c - 0xf0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_kddi2code5_val[i]; - match = 1; + } else if (filter->status == 2) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { + *s1 = nflags_code_kddi[i]; + return 1; + } } } + + /* If none of the KDDI national flag emoji matched, then we have no way + * to convert the previous codepoint... */ + mbfl_filt_conv_illegal_output(c1, filter); + } + + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ + filter->status = 2; + filter->cache = c; + return 0; } - return match; + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x27DC; + return 1; + } else if (c == 0xAE) { /* Registered sign */ + *s1 = 0x27DD; + return 1; + } else if (c >= mb_tbl_uni_kddi2code2_min && c <= mb_tbl_uni_kddi2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_kddi2code2_key, mb_tbl_uni_kddi2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_kddi2code3_min && c <= mb_tbl_uni_kddi2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_kddi2code3_key, mb_tbl_uni_kddi2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_kddi2code5_min && c <= mb_tbl_uni_kddi2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_kddi2code5_key, mb_tbl_uni_kddi2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_kddi2code5_val[i]; + return 1; + } + } + return 0; } -int -mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) +int mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter) { - int i, match = 0, c1s; - if (filter->status == 1) { - filter->status = 0; - c1s = filter->cache; - filter->cache = 0; + int c1 = filter->cache; + filter->cache = filter->status = 0; if (c == 0x20E3) { - if (c1s == 0x0023) { + if (c1 == '#') { *s1 = 0x2817; - match = 1; - } else if (c1s == 0x0030) { + } else if (c1 == '0') { *s1 = 0x282c; - match = 1; - } else if (c1s >= 0x0031 && c1s <= 0x0039) { - *s1 = 0x2823 + (c1s - 0x0031); - match = 1; + } else { /* Previous character was '1'-'9' */ + *s1 = 0x2823 + (c1 - '1'); } - } else if ((c >= NFLAGS(0x41) && c <= NFLAGS(0x5A)) && (c1s >= NFLAGS(0x41) && c1s <= NFLAGS(0x5A))) { - for (i=0; i<10; i++) { - if (c1s == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { + return 1; + } else { + (*filter->output_function)(c1, filter->data); + } + } else if (filter->status == 2) { + int c1 = filter->cache; + filter->cache = filter->status = 0; + if (c >= NFLAGS('B') && c <= NFLAGS('U')) { /* B for GB, U for RU */ + for (int i = 0; i < 10; i++) { + if (c1 == NFLAGS(nflags_s[i][0]) && c == NFLAGS(nflags_s[i][1])) { *s1 = nflags_code_sb[i]; - match = 1; - break; + return 1; } } - } else { - if (c1s >= ucs_a1_jis_table_min && c1s < ucs_a1_jis_table_max) { - c1s = ucs_a1_jis_table[c1s - ucs_a1_jis_table_min]; - (*filter->output_function)(c1s, filter->data); - } } - } else { - if (c == 0x0023 || ( c >= 0x0030 && c<=0x0039) || (c >= NFLAGS(0x41) && c<= NFLAGS(0x5A))) { - filter->status = 1; - filter->cache = c; - *s1 = -1; - return match; - } - - if (c == 0x00A9) { - *s1 = 0x2855; match = 1; - } else if (c == 0x00AE) { - *s1 = 0x2856; match = 1; - } else if (c >= mb_tbl_uni_sb2code2_min && c <= mb_tbl_uni_sb2code2_max) { - i = mbfl_bisec_srch2(c, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code2_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_sb2code3_min && c <= mb_tbl_uni_sb2code3_max) { - i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code3_value[i]; - match = 1; - } - } else if (c >= mb_tbl_uni_sb2code5_min && c <= mb_tbl_uni_sb2code5_max) { - i = mbfl_bisec_srch2(c - 0xf0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); - if (i >= 0) { - *s1 = mb_tbl_uni_sb2code5_val[i]; - match = 1; - } + + /* If none of the SoftBank national flag emoji matched, then we have no way + * to convert the previous codepoint... */ + mbfl_filt_conv_illegal_output(c1, filter); + } + + if (c == '#' || (c >= '0' && c <= '9')) { + filter->status = 1; + filter->cache = c; + return 0; + } else if (c >= NFLAGS('C') && c <= NFLAGS('U')) { /* C for CN, U for US */ + filter->status = 2; + filter->cache = c; + return 0; + } + + if (c == 0xA9) { /* Copyright sign */ + *s1 = 0x2855; + return 1; + } else if (c == 0xAE) { /* Registered sign */ + *s1 = 0x2856; + return 1; + } else if (c >= mb_tbl_uni_sb2code2_min && c <= mb_tbl_uni_sb2code2_max) { + int i = mbfl_bisec_srch2(c, mb_tbl_uni_sb2code2_key, mb_tbl_uni_sb2code2_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code2_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_sb2code3_min && c <= mb_tbl_uni_sb2code3_max) { + int i = mbfl_bisec_srch2(c - 0x10000, mb_tbl_uni_sb2code3_key, mb_tbl_uni_sb2code3_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code3_value[i]; + return 1; + } + } else if (c >= mb_tbl_uni_sb2code5_min && c <= mb_tbl_uni_sb2code5_max) { + int i = mbfl_bisec_srch2(c - 0xF0000, mb_tbl_uni_sb2code5_key, mb_tbl_uni_sb2code5_len); + if (i >= 0) { + *s1 = mb_tbl_uni_sb2code5_val[i]; + return 1; } } - return match; + return 0; } -/* - * SJIS-win => wchar - */ void mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) { - int c1, s, s1 = 0, s2 = 0, w; - int snd = 0; + int c1, s, s1, s2, w, snd = 0; -retry: switch (filter->status) { case 0: - if (c >= 0 && c < 0x80) { /* latin */ - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && c == 0x1b) { + if (c >= 0 && c < 0x80) { /* ASCII */ + if (filter->from == &mbfl_encoding_sjis_sb && c == 0x1B) { + /* ESC; escape sequences were used on older SoftBank phones for emoji */ filter->cache = c; filter->status = 2; } else { (*filter->output_function)(c, filter->data); } - } else if (c > 0xa0 && c < 0xe0) { /* kana */ - (*filter->output_function)(0xfec0 + c, filter->data); - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ + (*filter->output_function)(0xFEC0 + c, filter->data); + } else if (c > 0x80 && c < 0xFD && c != 0xA0) { /* Kanji, first byte */ filter->status = 1; filter->cache = c; } else { - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); } break; - case 1: /* kanji second char */ + case 1: /* Kanji, second byte */ filter->status = 0; c1 = filter->cache; - if (c >= 0x40 && c <= 0xfc && c != 0x7f) { + if (c >= 0x40 && c <= 0xFC && c != 0x7F) { w = 0; SJIS_DECODE(c1, c, s1, s2); - s = (s1 - 0x21)*94 + s2 - 0x21; + s = ((s1 - 0x21) * 94) + s2 - 0x21; if (s <= 137) { if (s == 31) { - w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ } else if (s == 32) { - w = 0xff5e; /* FULLWIDTH TILDE */ + w = 0xFF5E; /* FULLWIDTH TILDE */ } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ + w = 0x2225; /* PARALLEL TO */ } else if (s == 60) { - w = 0xff0d; /* FULLWIDTH HYPHEN-MINUS */ + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ } else if (s == 80) { - w = 0xffe0; /* FULLWIDTH CENT SIGN */ + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ } else if (s == 81) { - w = 0xffe1; /* FULLWIDTH POUND SIGN */ + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ } else if (s == 137) { - w = 0xffe2; /* FULLWIDTH NOT SIGN */ + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ } } if (w == 0) { @@ -655,131 +628,116 @@ void mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) w = jisx0208_ucs_table[s]; } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { /* vendor ext2 (89ku - 92ku) */ w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } else if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { /* vendor ext3 (115ku - 119ku) */ - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { /* user (95ku - 114ku) */ - w = s - (94*94) + 0xe000; } - if (s >= (94*94) && s < 119*94) { - if (filter->from->no_encoding == mbfl_no_encoding_sjis_docomo) { - w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_kddi) { - w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb) { - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + /* Emoji */ + if (filter->from == &mbfl_encoding_sjis_docomo && s >= mb_tbl_code2uni_docomo1_min && s <= mb_tbl_code2uni_docomo1_max) { + w = mbfilter_sjis_emoji_docomo2unicode(s, &snd); + if (snd > 0) { + (*filter->output_function)(snd, filter->data); } - - if (w > 0 && snd > 0) { + } else if (filter->from == &mbfl_encoding_sjis_kddi && s >= mb_tbl_code2uni_kddi1_min && s <= mb_tbl_code2uni_kddi2_max) { + w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); + if (snd > 0) { + (*filter->output_function)(snd, filter->data); + } + } else if (filter->from == &mbfl_encoding_sjis_sb && s >= mb_tbl_code2uni_sb1_min && s <= mb_tbl_code2uni_sb3_max) { + w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + if (snd > 0) { (*filter->output_function)(snd, filter->data); } } + + if (w == 0 && s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { /* vendor ext3 (115ku - 119ku) */ + w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; + } } if (w <= 0) { - w = (s1 << 8) | s2; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_WINCP932; + w = (s1 << 8) | s2 | MBFL_WCSPLANE_WINCP932; } (*filter->output_function)(w, filter->data); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); + (*filter->output_function)((c1 << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; - /* ESC : Softbank Emoji */ + + /* ESC: Softbank Emoji */ case 2: - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && - c == 0x24) { - filter->cache = c; - filter->status++; + if (c == '$') { + filter->cache = c; + filter->status++; } else { - filter->cache = 0; - filter->status = 0; - (*filter->output_function)(0x1b, filter->data); - goto retry; + (*filter->output_function)((filter->cache << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); + filter->status = filter->cache = 0; } break; - /* ESC $ : Softbank Emoji */ + /* ESC $: Softbank Emoji */ case 3: - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && - ((c >= 0x45 && c <= 0x47) || (c >= 0x4f && c <= 0x51))) { - filter->cache = c; - filter->status++; + if ((c >= 'E' && c <= 'G') || (c >= 'O' && c <= 'Q')) { + filter->cache = c; + filter->status++; } else { - filter->cache = 0; - filter->status = 0; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - goto retry; + (*filter->output_function)(0x1B2400 | c | MBFL_WCSGROUP_THROUGH, filter->data); + filter->status = filter->cache = 0; } break; - /* ESC [GEFOPQ] : Softbank Emoji */ + /* ESC $ [GEFOPQ]: Softbank Emoji */ case 4: - w = 0; - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb) { - c1 = filter->cache; - - if (c == 0x0f) { - w = c; - filter->cache = 0; - filter->status = 0; + c1 = filter->cache; + if (c == 0xF) { /* Terminate sequence of emoji */ + filter->status = filter->cache = 0; + return; + } else { + if (c1 == 'G' && c >= 0x21 && c <= 0x7a) { + s1 = (0x91 - 0x21) * 94; + } else if (c1 == 'E' && c >= 0x21 && c <= 0x7A) { + s1 = (0x8D - 0x21) * 94; + } else if (c1 == 'F' && c >= 0x21 && c <= 0x7A) { + s1 = (0x8E - 0x21) * 94; + } else if (c1 == 'O' && c >= 0x21 && c <= 0x6D) { + s1 = (0x92 - 0x21) * 94; + } else if (c1 == 'P' && c >= 0x21 && c <= 0x6C) { + s1 = (0x95 - 0x21) * 94; + } else if (c1 == 'Q' && c >= 0x21 && c <= 0x5E) { + s1 = (0x96 - 0x21) * 94; } else { - if (c1 == 0x47 && c >= 0x21 && c <= 0x7a) { - s1 = 0x91; s2 = c; - } else if (c1 == 0x45 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8d; s2 = c; - } else if (c1 == 0x46 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8e; s2 = c; - } else if (c1 == 0x4f && c >= 0x21 && c <= 0x6d) { - s1 = 0x92; s2 = c; - } else if (c1 == 0x50 && c >= 0x21 && c <= 0x6c) { - s1 = 0x95; s2 = c; - } else if (c1 == 0x51 && c >= 0x21 && c <= 0x5e) { - s1 = 0x96; s2 = c; - } - s = (s1 - 0x21)*94 + s2 - 0x21; - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - if (w > 0) { - if (snd > 0) { - (*filter->output_function)(snd, filter->data); - } - (*filter->output_function)(w, filter->data); - } + (*filter->output_function)((c1 << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); + filter->status = filter->cache = 0; + return; } - } - if (w <= 0) { - c1 = filter->cache; - filter->cache = 0; - filter->status = 0; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - (*filter->output_function)(c1 & 0xff, filter->data); - goto retry; + w = mbfilter_sjis_emoji_sb2unicode(s1 + c - 0x21, &snd); + if (w > 0) { + if (snd > 0) { + (*filter->output_function)(snd, filter->data); + } + (*filter->output_function)(w, filter->data); + } else { + (*filter->output_function)((c1 << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); + filter->status = filter->cache = 0; + } } break; + } +} - default: - filter->status = 0; - break; +static void mbfl_filt_conv_sjis_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status != 0 && filter->status != 4) { + mbfl_filt_conv_illegal_output(filter->cache, filter); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } } -/* - * wchar => SJIS-win - */ void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) { - int c1, c2, s1, s2; + int c1, c2, s1 = 0, s2 = 0; - s1 = 0; - s2 = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -788,93 +746,87 @@ void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 20*94)) { /* user (95ku - 114ku) */ - s1 = c - 0xe000; - c1 = s1/94 + 0x7f; - c2 = s1%94 + 0x21; + } else if (c >= 0xE000 && c < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s1 = c - 0xE000; + c1 = (s1 / 94) + 0x7F; + c2 = (s1 % 94) + 0x21; s1 = (c1 << 8) | c2; s2 = 1; } + if (s1 <= 0) { - if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ - } else if (c == 0x203e) { /* OVER LINE */ - s1 = 0x2131; /* FULLWIDTH MACRON */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + if (c == 0xA5) { /* YEN SIGN */ + s1 = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (c == 0x203E) { /* OVER LINE */ + s1 = 0x2131; /* FULLWIDTH MACRON */ + } else if (c == 0xFF3c) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ + } else if (c == 0xFF5E) { /* FULLWIDTH TILDE */ s1 = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ + } else if (c == 0x2225) { /* PARALLEL TO */ s1 = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ - s1 = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ + } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ + s1 = 0x215D; + } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ s1 = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ + } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ s1 = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ - s1 = 0x224c; + } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s1 = 0x224C; } } if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ s1 = -1; - c1 = 0; - c2 = cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext1 (13ku) */ + + /* CP932 vendor ext1 (13ku) */ + for (c1 = 0; c1 < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; c1++) { if (c == cp932ext1_ucs_table[c1]) { - s1 = ((c1/94 + 0x2d) << 8) + (c1%94 + 0x21); + s1 = (((c1 / 94) + 0x2D) << 8) + (c1 % 94) + 0x21; break; } - c1++; } + if (s1 <= 0) { - c1 = 0; - c2 = cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext2 (115ku - 119ku) */ + /* CP932 vendor ext2 (115ku - 119ku) */ + for (c1 = 0; c1 < cp932ext2_ucs_table_max - cp932ext2_ucs_table_min; c1++) { if (c == cp932ext2_ucs_table[c1]) { - s1 = ((c1/94 + 0x93) << 8) + (c1%94 + 0x21); + s1 = (((c1 / 94) + 0x79) << 8) + (c1 % 94) + 0x21; break; } - c1++; } } if (s1 <= 0) { - c1 = 0; - c2 = cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext3 (115ku - 119ku) */ + /* CP932 vendor ext3 (115ku - 119ku) */ + for (c1 = 0; c1 < cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; c1++) { if (c == cp932ext3_ucs_table[c1]) { - s1 = ((c1/94 + 0x93) << 8) + (c1%94 + 0x21); + s1 = (((c1 / 94) + 0x93) << 8) + (c1 % 94) + 0x21; break; } - c1++; } } + if (c == 0) { s1 = 0; - } else if (s1 <= 0) { - s1 = -1; } } - if ((filter->to->no_encoding == mbfl_no_encoding_sjis_docomo && - mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_kddi && - mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_sb && - mbfilter_unicode2sjis_emoji_sb(c, &s1, filter) > 0 )) { + if ((filter->to == &mbfl_encoding_sjis_docomo && mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter)) || + (filter->to == &mbfl_encoding_sjis_kddi && mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter)) || + (filter->to == &mbfl_encoding_sjis_sb && mbfilter_unicode2sjis_emoji_sb(c, &s1, filter))) { CODE2JIS(c1,c2,s1,s2); } - if (filter->status == 1 && filter->cache > 0) { + if (filter->status) { return; } if (s1 >= 0) { - if (s1 < 0x100) { /* latin or kana */ + if (s1 < 0x100) { /* Latin/Kana */ (*filter->output_function)(s1, filter->data); - } else { /* kanji */ + } else { /* Kanji */ c1 = (s1 >> 8) & 0xff; c2 = s1 & 0xff; SJIS_ENCODE(c1, c2, s1, s2); @@ -889,12 +841,219 @@ void mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) void mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter) { int c1 = filter->cache; - if (filter->status == 1 && (c1 == 0x0023 || (c1 >= 0x0030 && c1<=0x0039))) { + if (filter->status == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { (*filter->output_function)(c1, filter->data); } - filter->status = filter->cache = 0; if (filter->flush_function) { (*filter->flush_function)(filter->data); } } + +static void mbfl_filt_ident_sjis_docomo(unsigned char c, mbfl_identify_filter *filter) +{ + if (filter->status) { /* Kanji second char */ + if (c < 0x40 || c > 0xFC || c == 0x7F) { /* bad */ + filter->flag = 1; + } else { + int s1, s2; + SJIS_DECODE(filter->status, c, s1, s2); + int w = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + if (!cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= 0 && w < jisx0208_ucs_table_size) { + if (!jisx0208_ucs_table[w]) { + filter->flag = 1; + } + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + if (!cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + if (!cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]) { + filter->flag = 1; + } + } else if (w < mb_tbl_code2uni_docomo1_min || w > mb_tbl_code2uni_docomo1_max || + !mb_tbl_code2uni_docomo1[w - mb_tbl_code2uni_docomo1_min]) { + filter->flag = 1; + } + } + filter->status = 0; + } else if (c < 0x80 || (c > 0xA0 && c < 0xE0)) { /* Latin/Kana */ + ; + } else if (c > 0x80 && c <= 0xFC && c != 0xA0) { /* Kanji first char */ + filter->status = c; + } else { /* bad */ + filter->flag = 1; + } +} + +static void mbfl_filt_ident_sjis_kddi(unsigned char c, mbfl_identify_filter *filter) +{ + if (filter->status) { /* Kanji second char */ + if (c < 0x40 || c > 0xFC || c == 0x7F) { /* bad */ + filter->flag = 1; + } else { + int s1, s2; + SJIS_DECODE(filter->status, c, s1, s2); + int w = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + if (!cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= 0 && w < jisx0208_ucs_table_size) { + if (!jisx0208_ucs_table[w]) { + filter->flag = 1; + } + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + if (!cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + if (!cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= mb_tbl_code2uni_kddi1_min && w <= mb_tbl_code2uni_kddi1_max) { + if (!mb_tbl_code2uni_kddi1[w - mb_tbl_code2uni_kddi1_min]) { + filter->flag = 1; + } + } else if (w < mb_tbl_code2uni_kddi2_min || w > mb_tbl_code2uni_kddi2_max || + !mb_tbl_code2uni_kddi2[w - mb_tbl_code2uni_kddi2_min]) { + filter->flag = 1; + } + } + filter->status = 0; + } else if (c < 0x80 || (c > 0xa0 && c < 0xe0)) { /* Latin/Kana */ + ; + } else if (c > 0x80 && c <= 0xFC && c != 0xa0) { /* Kanji first char */ + filter->status = c; + } else { /* bad */ + filter->flag = 1; + } +} + +static void mbfl_filt_ident_sjis_softbank_esc(unsigned char c1, unsigned char c2, mbfl_identify_filter *filter) +{ + if (c2 == 0xF) { + filter->filter_function = mbfl_filt_ident_sjis_softbank; + } else { + int s = (c1 - 0x21)*94 + c2 - 0x21, snd; + int w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + if (w <= 0) { + filter->flag = 1; + } + } +} + +static void mbfl_filt_ident_sjis_softbank_esc_G(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x91, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank_esc_E(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x8D, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank_esc_F(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x8E, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank_esc_O(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x92, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank_esc_P(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x95, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank_esc_Q(unsigned char c, mbfl_identify_filter *filter) +{ + mbfl_filt_ident_sjis_softbank_esc(0x96, c, filter); +} + +static void mbfl_filt_ident_sjis_softbank(unsigned char c, mbfl_identify_filter *filter) +{ + if (filter->status == 0x1B) { + if (c == '$') { + filter->status = 0x1B24; + } else { + filter->flag = 1; + } + } else if (filter->status == 0x1B24) { + if (c == 'G') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_G; + filter->status = 0; + } else if (c == 'E') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_E; + filter->status = 0; + } else if (c == 'F') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_F; + filter->status = 0; + } else if (c == 'O') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_O; + filter->status = 0; + } else if (c == 'P') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_P; + filter->status = 0; + } else if (c == 'Q') { + filter->filter_function = mbfl_filt_ident_sjis_softbank_esc_Q; + filter->status = 0; + } else { + filter->flag = 1; + } + } else if (filter->status) { /* Kanji second char */ + if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ + filter->flag = 1; + } else { + int s1, s2; + SJIS_DECODE(filter->status, c, s1, s2); + int w = ((s1 - 0x21) * 94) + s2 - 0x21; + + if (w >= cp932ext1_ucs_table_min && w < cp932ext1_ucs_table_max) { + if (!cp932ext1_ucs_table[w - cp932ext1_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= 0 && w < jisx0208_ucs_table_size) { + if (!jisx0208_ucs_table[w]) { + filter->flag = 1; + } + } else if (w >= cp932ext2_ucs_table_min && w < cp932ext2_ucs_table_max) { + if (!cp932ext2_ucs_table[w - cp932ext2_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= cp932ext3_ucs_table_min && w < cp932ext3_ucs_table_max) { + if (!cp932ext3_ucs_table[w - cp932ext3_ucs_table_min]) { + filter->flag = 1; + } + } else if (w >= mb_tbl_code2uni_sb1_min && w <= mb_tbl_code2uni_sb1_max) { + if (!mb_tbl_code2uni_sb1[w - mb_tbl_code2uni_sb1_min]) { + filter->flag = 1; + } + } else if (w >= mb_tbl_code2uni_sb2_min && w <= mb_tbl_code2uni_sb2_max) { + if (!mb_tbl_code2uni_sb2[w - mb_tbl_code2uni_sb2_min]) { + filter->flag = 1; + } + } else if (w < mb_tbl_code2uni_sb3_min || w > mb_tbl_code2uni_sb3_max || + !mb_tbl_code2uni_sb3[w - mb_tbl_code2uni_sb3_min]) { + filter->flag = 1; + } + } + filter->status = 0; + } else if (c == 0x1B) { /* ESC */ + filter->status = 0x1B; + } else if (c < 0x80 || (c > 0xA0 && c < 0xE0)) { /* Latin/Kana */ + ; + } else if (c > 0x80 && c <= 0xFC && c != 0xA0) { /* Kanji first char */ + filter->status = c; + } else { /* bad */ + filter->flag = 1; + } +} From 347e14c21515d070017527a60f57a23f5f827335 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Wed, 21 Oct 2020 20:58:18 +0200 Subject: [PATCH 116/123] Add test suite for SJIS-Mobile --- ext/mbstring/tests/data/CP932.txt | 7998 +++++++++++++++++ ext/mbstring/tests/data/EmojiSources.txt | 763 ++ ext/mbstring/tests/sjis_mobile_encodings.phpt | 164 + 3 files changed, 8925 insertions(+) create mode 100644 ext/mbstring/tests/data/CP932.txt create mode 100644 ext/mbstring/tests/data/EmojiSources.txt create mode 100644 ext/mbstring/tests/sjis_mobile_encodings.phpt diff --git a/ext/mbstring/tests/data/CP932.txt b/ext/mbstring/tests/data/CP932.txt new file mode 100644 index 0000000000000..7ff471bcd1058 --- /dev/null +++ b/ext/mbstring/tests/data/CP932.txt @@ -0,0 +1,7998 @@ +# +# Name: cp932 to Unicode table +# Unicode version: 2.0 +# Table version: 2.01 +# Table format: Format A +# Date: 04/15/98 +# +# Contact: Shawn.Steele@microsoft.com +# +# General notes: none +# +# Format: Three tab-separated columns +# Column #1 is the cp932 code (in hex) +# Column #2 is the Unicode (in hex as 0xXXXX) +# Column #3 is the Unicode name (follows a comment sign, '#') +# +# The entries are in cp932 order +# +0x00 0x0000 #NULL +0x01 0x0001 #START OF HEADING +0x02 0x0002 #START OF TEXT +0x03 0x0003 #END OF TEXT +0x04 0x0004 #END OF TRANSMISSION +0x05 0x0005 #ENQUIRY +0x06 0x0006 #ACKNOWLEDGE +0x07 0x0007 #BELL +0x08 0x0008 #BACKSPACE +0x09 0x0009 #HORIZONTAL TABULATION +0x0A 0x000A #LINE FEED +0x0B 0x000B #VERTICAL TABULATION +0x0C 0x000C #FORM FEED +0x0D 0x000D #CARRIAGE RETURN +0x0E 0x000E #SHIFT OUT +0x0F 0x000F #SHIFT IN +0x10 0x0010 #DATA LINK ESCAPE +0x11 0x0011 #DEVICE CONTROL ONE +0x12 0x0012 #DEVICE CONTROL TWO +0x13 0x0013 #DEVICE CONTROL THREE +0x14 0x0014 #DEVICE CONTROL FOUR +0x15 0x0015 #NEGATIVE ACKNOWLEDGE +0x16 0x0016 #SYNCHRONOUS IDLE +0x17 0x0017 #END OF TRANSMISSION BLOCK +0x18 0x0018 #CANCEL +0x19 0x0019 #END OF MEDIUM +0x1A 0x001A #SUBSTITUTE +0x1B 0x001B #ESCAPE +0x1C 0x001C #FILE SEPARATOR +0x1D 0x001D #GROUP SEPARATOR +0x1E 0x001E #RECORD SEPARATOR +0x1F 0x001F #UNIT SEPARATOR +0x20 0x0020 #SPACE +0x21 0x0021 #EXCLAMATION MARK +0x22 0x0022 #QUOTATION MARK +0x23 0x0023 #NUMBER SIGN +0x24 0x0024 #DOLLAR SIGN +0x25 0x0025 #PERCENT SIGN +0x26 0x0026 #AMPERSAND +0x27 0x0027 #APOSTROPHE +0x28 0x0028 #LEFT PARENTHESIS +0x29 0x0029 #RIGHT PARENTHESIS +0x2A 0x002A #ASTERISK +0x2B 0x002B #PLUS SIGN +0x2C 0x002C #COMMA +0x2D 0x002D #HYPHEN-MINUS +0x2E 0x002E #FULL STOP +0x2F 0x002F #SOLIDUS +0x30 0x0030 #DIGIT ZERO +0x31 0x0031 #DIGIT ONE +0x32 0x0032 #DIGIT TWO +0x33 0x0033 #DIGIT THREE +0x34 0x0034 #DIGIT FOUR +0x35 0x0035 #DIGIT FIVE +0x36 0x0036 #DIGIT SIX +0x37 0x0037 #DIGIT SEVEN +0x38 0x0038 #DIGIT EIGHT +0x39 0x0039 #DIGIT NINE +0x3A 0x003A #COLON +0x3B 0x003B #SEMICOLON +0x3C 0x003C #LESS-THAN SIGN +0x3D 0x003D #EQUALS SIGN +0x3E 0x003E #GREATER-THAN SIGN +0x3F 0x003F #QUESTION MARK +0x40 0x0040 #COMMERCIAL AT +0x41 0x0041 #LATIN CAPITAL LETTER A +0x42 0x0042 #LATIN CAPITAL LETTER B +0x43 0x0043 #LATIN CAPITAL LETTER C +0x44 0x0044 #LATIN CAPITAL LETTER D +0x45 0x0045 #LATIN CAPITAL LETTER E +0x46 0x0046 #LATIN CAPITAL LETTER F +0x47 0x0047 #LATIN CAPITAL LETTER G +0x48 0x0048 #LATIN CAPITAL LETTER H +0x49 0x0049 #LATIN CAPITAL LETTER I +0x4A 0x004A #LATIN CAPITAL LETTER J +0x4B 0x004B #LATIN CAPITAL LETTER K +0x4C 0x004C #LATIN CAPITAL LETTER L +0x4D 0x004D #LATIN CAPITAL LETTER M +0x4E 0x004E #LATIN CAPITAL LETTER N +0x4F 0x004F #LATIN CAPITAL LETTER O +0x50 0x0050 #LATIN CAPITAL LETTER P +0x51 0x0051 #LATIN CAPITAL LETTER Q +0x52 0x0052 #LATIN CAPITAL LETTER R +0x53 0x0053 #LATIN CAPITAL LETTER S +0x54 0x0054 #LATIN CAPITAL LETTER T +0x55 0x0055 #LATIN CAPITAL LETTER U +0x56 0x0056 #LATIN CAPITAL LETTER V +0x57 0x0057 #LATIN CAPITAL LETTER W +0x58 0x0058 #LATIN CAPITAL LETTER X +0x59 0x0059 #LATIN CAPITAL LETTER Y +0x5A 0x005A #LATIN CAPITAL LETTER Z +0x5B 0x005B #LEFT SQUARE BRACKET +0x5C 0x005C #REVERSE SOLIDUS +0x5D 0x005D #RIGHT SQUARE BRACKET +0x5E 0x005E #CIRCUMFLEX ACCENT +0x5F 0x005F #LOW LINE +0x60 0x0060 #GRAVE ACCENT +0x61 0x0061 #LATIN SMALL LETTER A +0x62 0x0062 #LATIN SMALL LETTER B +0x63 0x0063 #LATIN SMALL LETTER C +0x64 0x0064 #LATIN SMALL LETTER D +0x65 0x0065 #LATIN SMALL LETTER E +0x66 0x0066 #LATIN SMALL LETTER F +0x67 0x0067 #LATIN SMALL LETTER G +0x68 0x0068 #LATIN SMALL LETTER H +0x69 0x0069 #LATIN SMALL LETTER I +0x6A 0x006A #LATIN SMALL LETTER J +0x6B 0x006B #LATIN SMALL LETTER K +0x6C 0x006C #LATIN SMALL LETTER L +0x6D 0x006D #LATIN SMALL LETTER M +0x6E 0x006E #LATIN SMALL LETTER N +0x6F 0x006F #LATIN SMALL LETTER O +0x70 0x0070 #LATIN SMALL LETTER P +0x71 0x0071 #LATIN SMALL LETTER Q +0x72 0x0072 #LATIN SMALL LETTER R +0x73 0x0073 #LATIN SMALL LETTER S +0x74 0x0074 #LATIN SMALL LETTER T +0x75 0x0075 #LATIN SMALL LETTER U +0x76 0x0076 #LATIN SMALL LETTER V +0x77 0x0077 #LATIN SMALL LETTER W +0x78 0x0078 #LATIN SMALL LETTER X +0x79 0x0079 #LATIN SMALL LETTER Y +0x7A 0x007A #LATIN SMALL LETTER Z +0x7B 0x007B #LEFT CURLY BRACKET +0x7C 0x007C #VERTICAL LINE +0x7D 0x007D #RIGHT CURLY BRACKET +0x7E 0x007E #TILDE +0x7F 0x007F #DELETE +0x80 #UNDEFINED +0x81 #DBCS LEAD BYTE +0x82 #DBCS LEAD BYTE +0x83 #DBCS LEAD BYTE +0x84 #DBCS LEAD BYTE +0x85 #DBCS LEAD BYTE +0x86 #DBCS LEAD BYTE +0x87 #DBCS LEAD BYTE +0x88 #DBCS LEAD BYTE +0x89 #DBCS LEAD BYTE +0x8A #DBCS LEAD BYTE +0x8B #DBCS LEAD BYTE +0x8C #DBCS LEAD BYTE +0x8D #DBCS LEAD BYTE +0x8E #DBCS LEAD BYTE +0x8F #DBCS LEAD BYTE +0x90 #DBCS LEAD BYTE +0x91 #DBCS LEAD BYTE +0x92 #DBCS LEAD BYTE +0x93 #DBCS LEAD BYTE +0x94 #DBCS LEAD BYTE +0x95 #DBCS LEAD BYTE +0x96 #DBCS LEAD BYTE +0x97 #DBCS LEAD BYTE +0x98 #DBCS LEAD BYTE +0x99 #DBCS LEAD BYTE +0x9A #DBCS LEAD BYTE +0x9B #DBCS LEAD BYTE +0x9C #DBCS LEAD BYTE +0x9D #DBCS LEAD BYTE +0x9E #DBCS LEAD BYTE +0x9F #DBCS LEAD BYTE +0xA0 #UNDEFINED +0xA1 0xFF61 #HALFWIDTH IDEOGRAPHIC FULL STOP +0xA2 0xFF62 #HALFWIDTH LEFT CORNER BRACKET +0xA3 0xFF63 #HALFWIDTH RIGHT CORNER BRACKET +0xA4 0xFF64 #HALFWIDTH IDEOGRAPHIC COMMA +0xA5 0xFF65 #HALFWIDTH KATAKANA MIDDLE DOT +0xA6 0xFF66 #HALFWIDTH KATAKANA LETTER WO +0xA7 0xFF67 #HALFWIDTH KATAKANA LETTER SMALL A +0xA8 0xFF68 #HALFWIDTH KATAKANA LETTER SMALL I +0xA9 0xFF69 #HALFWIDTH KATAKANA LETTER SMALL U +0xAA 0xFF6A #HALFWIDTH KATAKANA LETTER SMALL E +0xAB 0xFF6B #HALFWIDTH KATAKANA LETTER SMALL O +0xAC 0xFF6C #HALFWIDTH KATAKANA LETTER SMALL YA +0xAD 0xFF6D #HALFWIDTH KATAKANA LETTER SMALL YU +0xAE 0xFF6E #HALFWIDTH KATAKANA LETTER SMALL YO +0xAF 0xFF6F #HALFWIDTH KATAKANA LETTER SMALL TU +0xB0 0xFF70 #HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK +0xB1 0xFF71 #HALFWIDTH KATAKANA LETTER A +0xB2 0xFF72 #HALFWIDTH KATAKANA LETTER I +0xB3 0xFF73 #HALFWIDTH KATAKANA LETTER U +0xB4 0xFF74 #HALFWIDTH KATAKANA LETTER E +0xB5 0xFF75 #HALFWIDTH KATAKANA LETTER O +0xB6 0xFF76 #HALFWIDTH KATAKANA LETTER KA +0xB7 0xFF77 #HALFWIDTH KATAKANA LETTER KI +0xB8 0xFF78 #HALFWIDTH KATAKANA LETTER KU +0xB9 0xFF79 #HALFWIDTH KATAKANA LETTER KE +0xBA 0xFF7A #HALFWIDTH KATAKANA LETTER KO +0xBB 0xFF7B #HALFWIDTH KATAKANA LETTER SA +0xBC 0xFF7C #HALFWIDTH KATAKANA LETTER SI +0xBD 0xFF7D #HALFWIDTH KATAKANA LETTER SU +0xBE 0xFF7E #HALFWIDTH KATAKANA LETTER SE +0xBF 0xFF7F #HALFWIDTH KATAKANA LETTER SO +0xC0 0xFF80 #HALFWIDTH KATAKANA LETTER TA +0xC1 0xFF81 #HALFWIDTH KATAKANA LETTER TI +0xC2 0xFF82 #HALFWIDTH KATAKANA LETTER TU +0xC3 0xFF83 #HALFWIDTH KATAKANA LETTER TE +0xC4 0xFF84 #HALFWIDTH KATAKANA LETTER TO +0xC5 0xFF85 #HALFWIDTH KATAKANA LETTER NA +0xC6 0xFF86 #HALFWIDTH KATAKANA LETTER NI +0xC7 0xFF87 #HALFWIDTH KATAKANA LETTER NU +0xC8 0xFF88 #HALFWIDTH KATAKANA LETTER NE +0xC9 0xFF89 #HALFWIDTH KATAKANA LETTER NO +0xCA 0xFF8A #HALFWIDTH KATAKANA LETTER HA +0xCB 0xFF8B #HALFWIDTH KATAKANA LETTER HI +0xCC 0xFF8C #HALFWIDTH KATAKANA LETTER HU +0xCD 0xFF8D #HALFWIDTH KATAKANA LETTER HE +0xCE 0xFF8E #HALFWIDTH KATAKANA LETTER HO +0xCF 0xFF8F #HALFWIDTH KATAKANA LETTER MA +0xD0 0xFF90 #HALFWIDTH KATAKANA LETTER MI +0xD1 0xFF91 #HALFWIDTH KATAKANA LETTER MU +0xD2 0xFF92 #HALFWIDTH KATAKANA LETTER ME +0xD3 0xFF93 #HALFWIDTH KATAKANA LETTER MO +0xD4 0xFF94 #HALFWIDTH KATAKANA LETTER YA +0xD5 0xFF95 #HALFWIDTH KATAKANA LETTER YU +0xD6 0xFF96 #HALFWIDTH KATAKANA LETTER YO +0xD7 0xFF97 #HALFWIDTH KATAKANA LETTER RA +0xD8 0xFF98 #HALFWIDTH KATAKANA LETTER RI +0xD9 0xFF99 #HALFWIDTH KATAKANA LETTER RU +0xDA 0xFF9A #HALFWIDTH KATAKANA LETTER RE +0xDB 0xFF9B #HALFWIDTH KATAKANA LETTER RO +0xDC 0xFF9C #HALFWIDTH KATAKANA LETTER WA +0xDD 0xFF9D #HALFWIDTH KATAKANA LETTER N +0xDE 0xFF9E #HALFWIDTH KATAKANA VOICED SOUND MARK +0xDF 0xFF9F #HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK +0xE0 #DBCS LEAD BYTE +0xE1 #DBCS LEAD BYTE +0xE2 #DBCS LEAD BYTE +0xE3 #DBCS LEAD BYTE +0xE4 #DBCS LEAD BYTE +0xE5 #DBCS LEAD BYTE +0xE6 #DBCS LEAD BYTE +0xE7 #DBCS LEAD BYTE +0xE8 #DBCS LEAD BYTE +0xE9 #DBCS LEAD BYTE +0xEA #DBCS LEAD BYTE +0xEB #DBCS LEAD BYTE +0xEC #DBCS LEAD BYTE +0xED #DBCS LEAD BYTE +0xEE #DBCS LEAD BYTE +0xEF #DBCS LEAD BYTE +0xF0 #DBCS LEAD BYTE +0xF1 #DBCS LEAD BYTE +0xF2 #DBCS LEAD BYTE +0xF3 #DBCS LEAD BYTE +0xF4 #DBCS LEAD BYTE +0xF5 #DBCS LEAD BYTE +0xF6 #DBCS LEAD BYTE +0xF7 #DBCS LEAD BYTE +0xF8 #DBCS LEAD BYTE +0xF9 #DBCS LEAD BYTE +0xFA #DBCS LEAD BYTE +0xFB #DBCS LEAD BYTE +0xFC #DBCS LEAD BYTE +0xFD #UNDEFINED +0xFE #UNDEFINED +0xFF #UNDEFINED +0x8140 0x3000 #IDEOGRAPHIC SPACE +0x8141 0x3001 #IDEOGRAPHIC COMMA +0x8142 0x3002 #IDEOGRAPHIC FULL STOP +0x8143 0xFF0C #FULLWIDTH COMMA +0x8144 0xFF0E #FULLWIDTH FULL STOP +0x8145 0x30FB #KATAKANA MIDDLE DOT +0x8146 0xFF1A #FULLWIDTH COLON +0x8147 0xFF1B #FULLWIDTH SEMICOLON +0x8148 0xFF1F #FULLWIDTH QUESTION MARK +0x8149 0xFF01 #FULLWIDTH EXCLAMATION MARK +0x814A 0x309B #KATAKANA-HIRAGANA VOICED SOUND MARK +0x814B 0x309C #KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK +0x814C 0x00B4 #ACUTE ACCENT +0x814D 0xFF40 #FULLWIDTH GRAVE ACCENT +0x814E 0x00A8 #DIAERESIS +0x814F 0xFF3E #FULLWIDTH CIRCUMFLEX ACCENT +0x8150 0xFFE3 #FULLWIDTH MACRON +0x8151 0xFF3F #FULLWIDTH LOW LINE +0x8152 0x30FD #KATAKANA ITERATION MARK +0x8153 0x30FE #KATAKANA VOICED ITERATION MARK +0x8154 0x309D #HIRAGANA ITERATION MARK +0x8155 0x309E #HIRAGANA VOICED ITERATION MARK +0x8156 0x3003 #DITTO MARK +0x8157 0x4EDD #CJK UNIFIED IDEOGRAPH +0x8158 0x3005 #IDEOGRAPHIC ITERATION MARK +0x8159 0x3006 #IDEOGRAPHIC CLOSING MARK +0x815A 0x3007 #IDEOGRAPHIC NUMBER ZERO +0x815B 0x30FC #KATAKANA-HIRAGANA PROLONGED SOUND MARK +0x815C 0x2015 #HORIZONTAL BAR +0x815D 0x2010 #HYPHEN +0x815E 0xFF0F #FULLWIDTH SOLIDUS +0x815F 0xFF3C #FULLWIDTH REVERSE SOLIDUS +0x8160 0xFF5E #FULLWIDTH TILDE +0x8161 0x2225 #PARALLEL TO +0x8162 0xFF5C #FULLWIDTH VERTICAL LINE +0x8163 0x2026 #HORIZONTAL ELLIPSIS +0x8164 0x2025 #TWO DOT LEADER +0x8165 0x2018 #LEFT SINGLE QUOTATION MARK +0x8166 0x2019 #RIGHT SINGLE QUOTATION MARK +0x8167 0x201C #LEFT DOUBLE QUOTATION MARK +0x8168 0x201D #RIGHT DOUBLE QUOTATION MARK +0x8169 0xFF08 #FULLWIDTH LEFT PARENTHESIS +0x816A 0xFF09 #FULLWIDTH RIGHT PARENTHESIS +0x816B 0x3014 #LEFT TORTOISE SHELL BRACKET +0x816C 0x3015 #RIGHT TORTOISE SHELL BRACKET +0x816D 0xFF3B #FULLWIDTH LEFT SQUARE BRACKET +0x816E 0xFF3D #FULLWIDTH RIGHT SQUARE BRACKET +0x816F 0xFF5B #FULLWIDTH LEFT CURLY BRACKET +0x8170 0xFF5D #FULLWIDTH RIGHT CURLY BRACKET +0x8171 0x3008 #LEFT ANGLE BRACKET +0x8172 0x3009 #RIGHT ANGLE BRACKET +0x8173 0x300A #LEFT DOUBLE ANGLE BRACKET +0x8174 0x300B #RIGHT DOUBLE ANGLE BRACKET +0x8175 0x300C #LEFT CORNER BRACKET +0x8176 0x300D #RIGHT CORNER BRACKET +0x8177 0x300E #LEFT WHITE CORNER BRACKET +0x8178 0x300F #RIGHT WHITE CORNER BRACKET +0x8179 0x3010 #LEFT BLACK LENTICULAR BRACKET +0x817A 0x3011 #RIGHT BLACK LENTICULAR BRACKET +0x817B 0xFF0B #FULLWIDTH PLUS SIGN +0x817C 0xFF0D #FULLWIDTH HYPHEN-MINUS +0x817D 0x00B1 #PLUS-MINUS SIGN +0x817E 0x00D7 #MULTIPLICATION SIGN +0x8180 0x00F7 #DIVISION SIGN +0x8181 0xFF1D #FULLWIDTH EQUALS SIGN +0x8182 0x2260 #NOT EQUAL TO +0x8183 0xFF1C #FULLWIDTH LESS-THAN SIGN +0x8184 0xFF1E #FULLWIDTH GREATER-THAN SIGN +0x8185 0x2266 #LESS-THAN OVER EQUAL TO +0x8186 0x2267 #GREATER-THAN OVER EQUAL TO +0x8187 0x221E #INFINITY +0x8188 0x2234 #THEREFORE +0x8189 0x2642 #MALE SIGN +0x818A 0x2640 #FEMALE SIGN +0x818B 0x00B0 #DEGREE SIGN +0x818C 0x2032 #PRIME +0x818D 0x2033 #DOUBLE PRIME +0x818E 0x2103 #DEGREE CELSIUS +0x818F 0xFFE5 #FULLWIDTH YEN SIGN +0x8190 0xFF04 #FULLWIDTH DOLLAR SIGN +0x8191 0xFFE0 #FULLWIDTH CENT SIGN +0x8192 0xFFE1 #FULLWIDTH POUND SIGN +0x8193 0xFF05 #FULLWIDTH PERCENT SIGN +0x8194 0xFF03 #FULLWIDTH NUMBER SIGN +0x8195 0xFF06 #FULLWIDTH AMPERSAND +0x8196 0xFF0A #FULLWIDTH ASTERISK +0x8197 0xFF20 #FULLWIDTH COMMERCIAL AT +0x8198 0x00A7 #SECTION SIGN +0x8199 0x2606 #WHITE STAR +0x819A 0x2605 #BLACK STAR +0x819B 0x25CB #WHITE CIRCLE +0x819C 0x25CF #BLACK CIRCLE +0x819D 0x25CE #BULLSEYE +0x819E 0x25C7 #WHITE DIAMOND +0x819F 0x25C6 #BLACK DIAMOND +0x81A0 0x25A1 #WHITE SQUARE +0x81A1 0x25A0 #BLACK SQUARE +0x81A2 0x25B3 #WHITE UP-POINTING TRIANGLE +0x81A3 0x25B2 #BLACK UP-POINTING TRIANGLE +0x81A4 0x25BD #WHITE DOWN-POINTING TRIANGLE +0x81A5 0x25BC #BLACK DOWN-POINTING TRIANGLE +0x81A6 0x203B #REFERENCE MARK +0x81A7 0x3012 #POSTAL MARK +0x81A8 0x2192 #RIGHTWARDS ARROW +0x81A9 0x2190 #LEFTWARDS ARROW +0x81AA 0x2191 #UPWARDS ARROW +0x81AB 0x2193 #DOWNWARDS ARROW +0x81AC 0x3013 #GETA MARK +0x81B8 0x2208 #ELEMENT OF +0x81B9 0x220B #CONTAINS AS MEMBER +0x81BA 0x2286 #SUBSET OF OR EQUAL TO +0x81BB 0x2287 #SUPERSET OF OR EQUAL TO +0x81BC 0x2282 #SUBSET OF +0x81BD 0x2283 #SUPERSET OF +0x81BE 0x222A #UNION +0x81BF 0x2229 #INTERSECTION +0x81C8 0x2227 #LOGICAL AND +0x81C9 0x2228 #LOGICAL OR +0x81CA 0xFFE2 #FULLWIDTH NOT SIGN +0x81CB 0x21D2 #RIGHTWARDS DOUBLE ARROW +0x81CC 0x21D4 #LEFT RIGHT DOUBLE ARROW +0x81CD 0x2200 #FOR ALL +0x81CE 0x2203 #THERE EXISTS +0x81DA 0x2220 #ANGLE +0x81DB 0x22A5 #UP TACK +0x81DC 0x2312 #ARC +0x81DD 0x2202 #PARTIAL DIFFERENTIAL +0x81DE 0x2207 #NABLA +0x81DF 0x2261 #IDENTICAL TO +0x81E0 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x81E1 0x226A #MUCH LESS-THAN +0x81E2 0x226B #MUCH GREATER-THAN +0x81E3 0x221A #SQUARE ROOT +0x81E4 0x223D #REVERSED TILDE +0x81E5 0x221D #PROPORTIONAL TO +0x81E6 0x2235 #BECAUSE +0x81E7 0x222B #INTEGRAL +0x81E8 0x222C #DOUBLE INTEGRAL +0x81F0 0x212B #ANGSTROM SIGN +0x81F1 0x2030 #PER MILLE SIGN +0x81F2 0x266F #MUSIC SHARP SIGN +0x81F3 0x266D #MUSIC FLAT SIGN +0x81F4 0x266A #EIGHTH NOTE +0x81F5 0x2020 #DAGGER +0x81F6 0x2021 #DOUBLE DAGGER +0x81F7 0x00B6 #PILCROW SIGN +0x81FC 0x25EF #LARGE CIRCLE +0x824F 0xFF10 #FULLWIDTH DIGIT ZERO +0x8250 0xFF11 #FULLWIDTH DIGIT ONE +0x8251 0xFF12 #FULLWIDTH DIGIT TWO +0x8252 0xFF13 #FULLWIDTH DIGIT THREE +0x8253 0xFF14 #FULLWIDTH DIGIT FOUR +0x8254 0xFF15 #FULLWIDTH DIGIT FIVE +0x8255 0xFF16 #FULLWIDTH DIGIT SIX +0x8256 0xFF17 #FULLWIDTH DIGIT SEVEN +0x8257 0xFF18 #FULLWIDTH DIGIT EIGHT +0x8258 0xFF19 #FULLWIDTH DIGIT NINE +0x8260 0xFF21 #FULLWIDTH LATIN CAPITAL LETTER A +0x8261 0xFF22 #FULLWIDTH LATIN CAPITAL LETTER B +0x8262 0xFF23 #FULLWIDTH LATIN CAPITAL LETTER C +0x8263 0xFF24 #FULLWIDTH LATIN CAPITAL LETTER D +0x8264 0xFF25 #FULLWIDTH LATIN CAPITAL LETTER E +0x8265 0xFF26 #FULLWIDTH LATIN CAPITAL LETTER F +0x8266 0xFF27 #FULLWIDTH LATIN CAPITAL LETTER G +0x8267 0xFF28 #FULLWIDTH LATIN CAPITAL LETTER H +0x8268 0xFF29 #FULLWIDTH LATIN CAPITAL LETTER I +0x8269 0xFF2A #FULLWIDTH LATIN CAPITAL LETTER J +0x826A 0xFF2B #FULLWIDTH LATIN CAPITAL LETTER K +0x826B 0xFF2C #FULLWIDTH LATIN CAPITAL LETTER L +0x826C 0xFF2D #FULLWIDTH LATIN CAPITAL LETTER M +0x826D 0xFF2E #FULLWIDTH LATIN CAPITAL LETTER N +0x826E 0xFF2F #FULLWIDTH LATIN CAPITAL LETTER O +0x826F 0xFF30 #FULLWIDTH LATIN CAPITAL LETTER P +0x8270 0xFF31 #FULLWIDTH LATIN CAPITAL LETTER Q +0x8271 0xFF32 #FULLWIDTH LATIN CAPITAL LETTER R +0x8272 0xFF33 #FULLWIDTH LATIN CAPITAL LETTER S +0x8273 0xFF34 #FULLWIDTH LATIN CAPITAL LETTER T +0x8274 0xFF35 #FULLWIDTH LATIN CAPITAL LETTER U +0x8275 0xFF36 #FULLWIDTH LATIN CAPITAL LETTER V +0x8276 0xFF37 #FULLWIDTH LATIN CAPITAL LETTER W +0x8277 0xFF38 #FULLWIDTH LATIN CAPITAL LETTER X +0x8278 0xFF39 #FULLWIDTH LATIN CAPITAL LETTER Y +0x8279 0xFF3A #FULLWIDTH LATIN CAPITAL LETTER Z +0x8281 0xFF41 #FULLWIDTH LATIN SMALL LETTER A +0x8282 0xFF42 #FULLWIDTH LATIN SMALL LETTER B +0x8283 0xFF43 #FULLWIDTH LATIN SMALL LETTER C +0x8284 0xFF44 #FULLWIDTH LATIN SMALL LETTER D +0x8285 0xFF45 #FULLWIDTH LATIN SMALL LETTER E +0x8286 0xFF46 #FULLWIDTH LATIN SMALL LETTER F +0x8287 0xFF47 #FULLWIDTH LATIN SMALL LETTER G +0x8288 0xFF48 #FULLWIDTH LATIN SMALL LETTER H +0x8289 0xFF49 #FULLWIDTH LATIN SMALL LETTER I +0x828A 0xFF4A #FULLWIDTH LATIN SMALL LETTER J +0x828B 0xFF4B #FULLWIDTH LATIN SMALL LETTER K +0x828C 0xFF4C #FULLWIDTH LATIN SMALL LETTER L +0x828D 0xFF4D #FULLWIDTH LATIN SMALL LETTER M +0x828E 0xFF4E #FULLWIDTH LATIN SMALL LETTER N +0x828F 0xFF4F #FULLWIDTH LATIN SMALL LETTER O +0x8290 0xFF50 #FULLWIDTH LATIN SMALL LETTER P +0x8291 0xFF51 #FULLWIDTH LATIN SMALL LETTER Q +0x8292 0xFF52 #FULLWIDTH LATIN SMALL LETTER R +0x8293 0xFF53 #FULLWIDTH LATIN SMALL LETTER S +0x8294 0xFF54 #FULLWIDTH LATIN SMALL LETTER T +0x8295 0xFF55 #FULLWIDTH LATIN SMALL LETTER U +0x8296 0xFF56 #FULLWIDTH LATIN SMALL LETTER V +0x8297 0xFF57 #FULLWIDTH LATIN SMALL LETTER W +0x8298 0xFF58 #FULLWIDTH LATIN SMALL LETTER X +0x8299 0xFF59 #FULLWIDTH LATIN SMALL LETTER Y +0x829A 0xFF5A #FULLWIDTH LATIN SMALL LETTER Z +0x829F 0x3041 #HIRAGANA LETTER SMALL A +0x82A0 0x3042 #HIRAGANA LETTER A +0x82A1 0x3043 #HIRAGANA LETTER SMALL I +0x82A2 0x3044 #HIRAGANA LETTER I +0x82A3 0x3045 #HIRAGANA LETTER SMALL U +0x82A4 0x3046 #HIRAGANA LETTER U +0x82A5 0x3047 #HIRAGANA LETTER SMALL E +0x82A6 0x3048 #HIRAGANA LETTER E +0x82A7 0x3049 #HIRAGANA LETTER SMALL O +0x82A8 0x304A #HIRAGANA LETTER O +0x82A9 0x304B #HIRAGANA LETTER KA +0x82AA 0x304C #HIRAGANA LETTER GA +0x82AB 0x304D #HIRAGANA LETTER KI +0x82AC 0x304E #HIRAGANA LETTER GI +0x82AD 0x304F #HIRAGANA LETTER KU +0x82AE 0x3050 #HIRAGANA LETTER GU +0x82AF 0x3051 #HIRAGANA LETTER KE +0x82B0 0x3052 #HIRAGANA LETTER GE +0x82B1 0x3053 #HIRAGANA LETTER KO +0x82B2 0x3054 #HIRAGANA LETTER GO +0x82B3 0x3055 #HIRAGANA LETTER SA +0x82B4 0x3056 #HIRAGANA LETTER ZA +0x82B5 0x3057 #HIRAGANA LETTER SI +0x82B6 0x3058 #HIRAGANA LETTER ZI +0x82B7 0x3059 #HIRAGANA LETTER SU +0x82B8 0x305A #HIRAGANA LETTER ZU +0x82B9 0x305B #HIRAGANA LETTER SE +0x82BA 0x305C #HIRAGANA LETTER ZE +0x82BB 0x305D #HIRAGANA LETTER SO +0x82BC 0x305E #HIRAGANA LETTER ZO +0x82BD 0x305F #HIRAGANA LETTER TA +0x82BE 0x3060 #HIRAGANA LETTER DA +0x82BF 0x3061 #HIRAGANA LETTER TI +0x82C0 0x3062 #HIRAGANA LETTER DI +0x82C1 0x3063 #HIRAGANA LETTER SMALL TU +0x82C2 0x3064 #HIRAGANA LETTER TU +0x82C3 0x3065 #HIRAGANA LETTER DU +0x82C4 0x3066 #HIRAGANA LETTER TE +0x82C5 0x3067 #HIRAGANA LETTER DE +0x82C6 0x3068 #HIRAGANA LETTER TO +0x82C7 0x3069 #HIRAGANA LETTER DO +0x82C8 0x306A #HIRAGANA LETTER NA +0x82C9 0x306B #HIRAGANA LETTER NI +0x82CA 0x306C #HIRAGANA LETTER NU +0x82CB 0x306D #HIRAGANA LETTER NE +0x82CC 0x306E #HIRAGANA LETTER NO +0x82CD 0x306F #HIRAGANA LETTER HA +0x82CE 0x3070 #HIRAGANA LETTER BA +0x82CF 0x3071 #HIRAGANA LETTER PA +0x82D0 0x3072 #HIRAGANA LETTER HI +0x82D1 0x3073 #HIRAGANA LETTER BI +0x82D2 0x3074 #HIRAGANA LETTER PI +0x82D3 0x3075 #HIRAGANA LETTER HU +0x82D4 0x3076 #HIRAGANA LETTER BU +0x82D5 0x3077 #HIRAGANA LETTER PU +0x82D6 0x3078 #HIRAGANA LETTER HE +0x82D7 0x3079 #HIRAGANA LETTER BE +0x82D8 0x307A #HIRAGANA LETTER PE +0x82D9 0x307B #HIRAGANA LETTER HO +0x82DA 0x307C #HIRAGANA LETTER BO +0x82DB 0x307D #HIRAGANA LETTER PO +0x82DC 0x307E #HIRAGANA LETTER MA +0x82DD 0x307F #HIRAGANA LETTER MI +0x82DE 0x3080 #HIRAGANA LETTER MU +0x82DF 0x3081 #HIRAGANA LETTER ME +0x82E0 0x3082 #HIRAGANA LETTER MO +0x82E1 0x3083 #HIRAGANA LETTER SMALL YA +0x82E2 0x3084 #HIRAGANA LETTER YA +0x82E3 0x3085 #HIRAGANA LETTER SMALL YU +0x82E4 0x3086 #HIRAGANA LETTER YU +0x82E5 0x3087 #HIRAGANA LETTER SMALL YO +0x82E6 0x3088 #HIRAGANA LETTER YO +0x82E7 0x3089 #HIRAGANA LETTER RA +0x82E8 0x308A #HIRAGANA LETTER RI +0x82E9 0x308B #HIRAGANA LETTER RU +0x82EA 0x308C #HIRAGANA LETTER RE +0x82EB 0x308D #HIRAGANA LETTER RO +0x82EC 0x308E #HIRAGANA LETTER SMALL WA +0x82ED 0x308F #HIRAGANA LETTER WA +0x82EE 0x3090 #HIRAGANA LETTER WI +0x82EF 0x3091 #HIRAGANA LETTER WE +0x82F0 0x3092 #HIRAGANA LETTER WO +0x82F1 0x3093 #HIRAGANA LETTER N +0x8340 0x30A1 #KATAKANA LETTER SMALL A +0x8341 0x30A2 #KATAKANA LETTER A +0x8342 0x30A3 #KATAKANA LETTER SMALL I +0x8343 0x30A4 #KATAKANA LETTER I +0x8344 0x30A5 #KATAKANA LETTER SMALL U +0x8345 0x30A6 #KATAKANA LETTER U +0x8346 0x30A7 #KATAKANA LETTER SMALL E +0x8347 0x30A8 #KATAKANA LETTER E +0x8348 0x30A9 #KATAKANA LETTER SMALL O +0x8349 0x30AA #KATAKANA LETTER O +0x834A 0x30AB #KATAKANA LETTER KA +0x834B 0x30AC #KATAKANA LETTER GA +0x834C 0x30AD #KATAKANA LETTER KI +0x834D 0x30AE #KATAKANA LETTER GI +0x834E 0x30AF #KATAKANA LETTER KU +0x834F 0x30B0 #KATAKANA LETTER GU +0x8350 0x30B1 #KATAKANA LETTER KE +0x8351 0x30B2 #KATAKANA LETTER GE +0x8352 0x30B3 #KATAKANA LETTER KO +0x8353 0x30B4 #KATAKANA LETTER GO +0x8354 0x30B5 #KATAKANA LETTER SA +0x8355 0x30B6 #KATAKANA LETTER ZA +0x8356 0x30B7 #KATAKANA LETTER SI +0x8357 0x30B8 #KATAKANA LETTER ZI +0x8358 0x30B9 #KATAKANA LETTER SU +0x8359 0x30BA #KATAKANA LETTER ZU +0x835A 0x30BB #KATAKANA LETTER SE +0x835B 0x30BC #KATAKANA LETTER ZE +0x835C 0x30BD #KATAKANA LETTER SO +0x835D 0x30BE #KATAKANA LETTER ZO +0x835E 0x30BF #KATAKANA LETTER TA +0x835F 0x30C0 #KATAKANA LETTER DA +0x8360 0x30C1 #KATAKANA LETTER TI +0x8361 0x30C2 #KATAKANA LETTER DI +0x8362 0x30C3 #KATAKANA LETTER SMALL TU +0x8363 0x30C4 #KATAKANA LETTER TU +0x8364 0x30C5 #KATAKANA LETTER DU +0x8365 0x30C6 #KATAKANA LETTER TE +0x8366 0x30C7 #KATAKANA LETTER DE +0x8367 0x30C8 #KATAKANA LETTER TO +0x8368 0x30C9 #KATAKANA LETTER DO +0x8369 0x30CA #KATAKANA LETTER NA +0x836A 0x30CB #KATAKANA LETTER NI +0x836B 0x30CC #KATAKANA LETTER NU +0x836C 0x30CD #KATAKANA LETTER NE +0x836D 0x30CE #KATAKANA LETTER NO +0x836E 0x30CF #KATAKANA LETTER HA +0x836F 0x30D0 #KATAKANA LETTER BA +0x8370 0x30D1 #KATAKANA LETTER PA +0x8371 0x30D2 #KATAKANA LETTER HI +0x8372 0x30D3 #KATAKANA LETTER BI +0x8373 0x30D4 #KATAKANA LETTER PI +0x8374 0x30D5 #KATAKANA LETTER HU +0x8375 0x30D6 #KATAKANA LETTER BU +0x8376 0x30D7 #KATAKANA LETTER PU +0x8377 0x30D8 #KATAKANA LETTER HE +0x8378 0x30D9 #KATAKANA LETTER BE +0x8379 0x30DA #KATAKANA LETTER PE +0x837A 0x30DB #KATAKANA LETTER HO +0x837B 0x30DC #KATAKANA LETTER BO +0x837C 0x30DD #KATAKANA LETTER PO +0x837D 0x30DE #KATAKANA LETTER MA +0x837E 0x30DF #KATAKANA LETTER MI +0x8380 0x30E0 #KATAKANA LETTER MU +0x8381 0x30E1 #KATAKANA LETTER ME +0x8382 0x30E2 #KATAKANA LETTER MO +0x8383 0x30E3 #KATAKANA LETTER SMALL YA +0x8384 0x30E4 #KATAKANA LETTER YA +0x8385 0x30E5 #KATAKANA LETTER SMALL YU +0x8386 0x30E6 #KATAKANA LETTER YU +0x8387 0x30E7 #KATAKANA LETTER SMALL YO +0x8388 0x30E8 #KATAKANA LETTER YO +0x8389 0x30E9 #KATAKANA LETTER RA +0x838A 0x30EA #KATAKANA LETTER RI +0x838B 0x30EB #KATAKANA LETTER RU +0x838C 0x30EC #KATAKANA LETTER RE +0x838D 0x30ED #KATAKANA LETTER RO +0x838E 0x30EE #KATAKANA LETTER SMALL WA +0x838F 0x30EF #KATAKANA LETTER WA +0x8390 0x30F0 #KATAKANA LETTER WI +0x8391 0x30F1 #KATAKANA LETTER WE +0x8392 0x30F2 #KATAKANA LETTER WO +0x8393 0x30F3 #KATAKANA LETTER N +0x8394 0x30F4 #KATAKANA LETTER VU +0x8395 0x30F5 #KATAKANA LETTER SMALL KA +0x8396 0x30F6 #KATAKANA LETTER SMALL KE +0x839F 0x0391 #GREEK CAPITAL LETTER ALPHA +0x83A0 0x0392 #GREEK CAPITAL LETTER BETA +0x83A1 0x0393 #GREEK CAPITAL LETTER GAMMA +0x83A2 0x0394 #GREEK CAPITAL LETTER DELTA +0x83A3 0x0395 #GREEK CAPITAL LETTER EPSILON +0x83A4 0x0396 #GREEK CAPITAL LETTER ZETA +0x83A5 0x0397 #GREEK CAPITAL LETTER ETA +0x83A6 0x0398 #GREEK CAPITAL LETTER THETA +0x83A7 0x0399 #GREEK CAPITAL LETTER IOTA +0x83A8 0x039A #GREEK CAPITAL LETTER KAPPA +0x83A9 0x039B #GREEK CAPITAL LETTER LAMDA +0x83AA 0x039C #GREEK CAPITAL LETTER MU +0x83AB 0x039D #GREEK CAPITAL LETTER NU +0x83AC 0x039E #GREEK CAPITAL LETTER XI +0x83AD 0x039F #GREEK CAPITAL LETTER OMICRON +0x83AE 0x03A0 #GREEK CAPITAL LETTER PI +0x83AF 0x03A1 #GREEK CAPITAL LETTER RHO +0x83B0 0x03A3 #GREEK CAPITAL LETTER SIGMA +0x83B1 0x03A4 #GREEK CAPITAL LETTER TAU +0x83B2 0x03A5 #GREEK CAPITAL LETTER UPSILON +0x83B3 0x03A6 #GREEK CAPITAL LETTER PHI +0x83B4 0x03A7 #GREEK CAPITAL LETTER CHI +0x83B5 0x03A8 #GREEK CAPITAL LETTER PSI +0x83B6 0x03A9 #GREEK CAPITAL LETTER OMEGA +0x83BF 0x03B1 #GREEK SMALL LETTER ALPHA +0x83C0 0x03B2 #GREEK SMALL LETTER BETA +0x83C1 0x03B3 #GREEK SMALL LETTER GAMMA +0x83C2 0x03B4 #GREEK SMALL LETTER DELTA +0x83C3 0x03B5 #GREEK SMALL LETTER EPSILON +0x83C4 0x03B6 #GREEK SMALL LETTER ZETA +0x83C5 0x03B7 #GREEK SMALL LETTER ETA +0x83C6 0x03B8 #GREEK SMALL LETTER THETA +0x83C7 0x03B9 #GREEK SMALL LETTER IOTA +0x83C8 0x03BA #GREEK SMALL LETTER KAPPA +0x83C9 0x03BB #GREEK SMALL LETTER LAMDA +0x83CA 0x03BC #GREEK SMALL LETTER MU +0x83CB 0x03BD #GREEK SMALL LETTER NU +0x83CC 0x03BE #GREEK SMALL LETTER XI +0x83CD 0x03BF #GREEK SMALL LETTER OMICRON +0x83CE 0x03C0 #GREEK SMALL LETTER PI +0x83CF 0x03C1 #GREEK SMALL LETTER RHO +0x83D0 0x03C3 #GREEK SMALL LETTER SIGMA +0x83D1 0x03C4 #GREEK SMALL LETTER TAU +0x83D2 0x03C5 #GREEK SMALL LETTER UPSILON +0x83D3 0x03C6 #GREEK SMALL LETTER PHI +0x83D4 0x03C7 #GREEK SMALL LETTER CHI +0x83D5 0x03C8 #GREEK SMALL LETTER PSI +0x83D6 0x03C9 #GREEK SMALL LETTER OMEGA +0x8440 0x0410 #CYRILLIC CAPITAL LETTER A +0x8441 0x0411 #CYRILLIC CAPITAL LETTER BE +0x8442 0x0412 #CYRILLIC CAPITAL LETTER VE +0x8443 0x0413 #CYRILLIC CAPITAL LETTER GHE +0x8444 0x0414 #CYRILLIC CAPITAL LETTER DE +0x8445 0x0415 #CYRILLIC CAPITAL LETTER IE +0x8446 0x0401 #CYRILLIC CAPITAL LETTER IO +0x8447 0x0416 #CYRILLIC CAPITAL LETTER ZHE +0x8448 0x0417 #CYRILLIC CAPITAL LETTER ZE +0x8449 0x0418 #CYRILLIC CAPITAL LETTER I +0x844A 0x0419 #CYRILLIC CAPITAL LETTER SHORT I +0x844B 0x041A #CYRILLIC CAPITAL LETTER KA +0x844C 0x041B #CYRILLIC CAPITAL LETTER EL +0x844D 0x041C #CYRILLIC CAPITAL LETTER EM +0x844E 0x041D #CYRILLIC CAPITAL LETTER EN +0x844F 0x041E #CYRILLIC CAPITAL LETTER O +0x8450 0x041F #CYRILLIC CAPITAL LETTER PE +0x8451 0x0420 #CYRILLIC CAPITAL LETTER ER +0x8452 0x0421 #CYRILLIC CAPITAL LETTER ES +0x8453 0x0422 #CYRILLIC CAPITAL LETTER TE +0x8454 0x0423 #CYRILLIC CAPITAL LETTER U +0x8455 0x0424 #CYRILLIC CAPITAL LETTER EF +0x8456 0x0425 #CYRILLIC CAPITAL LETTER HA +0x8457 0x0426 #CYRILLIC CAPITAL LETTER TSE +0x8458 0x0427 #CYRILLIC CAPITAL LETTER CHE +0x8459 0x0428 #CYRILLIC CAPITAL LETTER SHA +0x845A 0x0429 #CYRILLIC CAPITAL LETTER SHCHA +0x845B 0x042A #CYRILLIC CAPITAL LETTER HARD SIGN +0x845C 0x042B #CYRILLIC CAPITAL LETTER YERU +0x845D 0x042C #CYRILLIC CAPITAL LETTER SOFT SIGN +0x845E 0x042D #CYRILLIC CAPITAL LETTER E +0x845F 0x042E #CYRILLIC CAPITAL LETTER YU +0x8460 0x042F #CYRILLIC CAPITAL LETTER YA +0x8470 0x0430 #CYRILLIC SMALL LETTER A +0x8471 0x0431 #CYRILLIC SMALL LETTER BE +0x8472 0x0432 #CYRILLIC SMALL LETTER VE +0x8473 0x0433 #CYRILLIC SMALL LETTER GHE +0x8474 0x0434 #CYRILLIC SMALL LETTER DE +0x8475 0x0435 #CYRILLIC SMALL LETTER IE +0x8476 0x0451 #CYRILLIC SMALL LETTER IO +0x8477 0x0436 #CYRILLIC SMALL LETTER ZHE +0x8478 0x0437 #CYRILLIC SMALL LETTER ZE +0x8479 0x0438 #CYRILLIC SMALL LETTER I +0x847A 0x0439 #CYRILLIC SMALL LETTER SHORT I +0x847B 0x043A #CYRILLIC SMALL LETTER KA +0x847C 0x043B #CYRILLIC SMALL LETTER EL +0x847D 0x043C #CYRILLIC SMALL LETTER EM +0x847E 0x043D #CYRILLIC SMALL LETTER EN +0x8480 0x043E #CYRILLIC SMALL LETTER O +0x8481 0x043F #CYRILLIC SMALL LETTER PE +0x8482 0x0440 #CYRILLIC SMALL LETTER ER +0x8483 0x0441 #CYRILLIC SMALL LETTER ES +0x8484 0x0442 #CYRILLIC SMALL LETTER TE +0x8485 0x0443 #CYRILLIC SMALL LETTER U +0x8486 0x0444 #CYRILLIC SMALL LETTER EF +0x8487 0x0445 #CYRILLIC SMALL LETTER HA +0x8488 0x0446 #CYRILLIC SMALL LETTER TSE +0x8489 0x0447 #CYRILLIC SMALL LETTER CHE +0x848A 0x0448 #CYRILLIC SMALL LETTER SHA +0x848B 0x0449 #CYRILLIC SMALL LETTER SHCHA +0x848C 0x044A #CYRILLIC SMALL LETTER HARD SIGN +0x848D 0x044B #CYRILLIC SMALL LETTER YERU +0x848E 0x044C #CYRILLIC SMALL LETTER SOFT SIGN +0x848F 0x044D #CYRILLIC SMALL LETTER E +0x8490 0x044E #CYRILLIC SMALL LETTER YU +0x8491 0x044F #CYRILLIC SMALL LETTER YA +0x849F 0x2500 #BOX DRAWINGS LIGHT HORIZONTAL +0x84A0 0x2502 #BOX DRAWINGS LIGHT VERTICAL +0x84A1 0x250C #BOX DRAWINGS LIGHT DOWN AND RIGHT +0x84A2 0x2510 #BOX DRAWINGS LIGHT DOWN AND LEFT +0x84A3 0x2518 #BOX DRAWINGS LIGHT UP AND LEFT +0x84A4 0x2514 #BOX DRAWINGS LIGHT UP AND RIGHT +0x84A5 0x251C #BOX DRAWINGS LIGHT VERTICAL AND RIGHT +0x84A6 0x252C #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL +0x84A7 0x2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT +0x84A8 0x2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL +0x84A9 0x253C #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL +0x84AA 0x2501 #BOX DRAWINGS HEAVY HORIZONTAL +0x84AB 0x2503 #BOX DRAWINGS HEAVY VERTICAL +0x84AC 0x250F #BOX DRAWINGS HEAVY DOWN AND RIGHT +0x84AD 0x2513 #BOX DRAWINGS HEAVY DOWN AND LEFT +0x84AE 0x251B #BOX DRAWINGS HEAVY UP AND LEFT +0x84AF 0x2517 #BOX DRAWINGS HEAVY UP AND RIGHT +0x84B0 0x2523 #BOX DRAWINGS HEAVY VERTICAL AND RIGHT +0x84B1 0x2533 #BOX DRAWINGS HEAVY DOWN AND HORIZONTAL +0x84B2 0x252B #BOX DRAWINGS HEAVY VERTICAL AND LEFT +0x84B3 0x253B #BOX DRAWINGS HEAVY UP AND HORIZONTAL +0x84B4 0x254B #BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL +0x84B5 0x2520 #BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT +0x84B6 0x252F #BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY +0x84B7 0x2528 #BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT +0x84B8 0x2537 #BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY +0x84B9 0x253F #BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY +0x84BA 0x251D #BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY +0x84BB 0x2530 #BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT +0x84BC 0x2525 #BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY +0x84BD 0x2538 #BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT +0x84BE 0x2542 #BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT +0x8740 0x2460 #CIRCLED DIGIT ONE +0x8741 0x2461 #CIRCLED DIGIT TWO +0x8742 0x2462 #CIRCLED DIGIT THREE +0x8743 0x2463 #CIRCLED DIGIT FOUR +0x8744 0x2464 #CIRCLED DIGIT FIVE +0x8745 0x2465 #CIRCLED DIGIT SIX +0x8746 0x2466 #CIRCLED DIGIT SEVEN +0x8747 0x2467 #CIRCLED DIGIT EIGHT +0x8748 0x2468 #CIRCLED DIGIT NINE +0x8749 0x2469 #CIRCLED NUMBER TEN +0x874A 0x246A #CIRCLED NUMBER ELEVEN +0x874B 0x246B #CIRCLED NUMBER TWELVE +0x874C 0x246C #CIRCLED NUMBER THIRTEEN +0x874D 0x246D #CIRCLED NUMBER FOURTEEN +0x874E 0x246E #CIRCLED NUMBER FIFTEEN +0x874F 0x246F #CIRCLED NUMBER SIXTEEN +0x8750 0x2470 #CIRCLED NUMBER SEVENTEEN +0x8751 0x2471 #CIRCLED NUMBER EIGHTEEN +0x8752 0x2472 #CIRCLED NUMBER NINETEEN +0x8753 0x2473 #CIRCLED NUMBER TWENTY +0x8754 0x2160 #ROMAN NUMERAL ONE +0x8755 0x2161 #ROMAN NUMERAL TWO +0x8756 0x2162 #ROMAN NUMERAL THREE +0x8757 0x2163 #ROMAN NUMERAL FOUR +0x8758 0x2164 #ROMAN NUMERAL FIVE +0x8759 0x2165 #ROMAN NUMERAL SIX +0x875A 0x2166 #ROMAN NUMERAL SEVEN +0x875B 0x2167 #ROMAN NUMERAL EIGHT +0x875C 0x2168 #ROMAN NUMERAL NINE +0x875D 0x2169 #ROMAN NUMERAL TEN +0x875F 0x3349 #SQUARE MIRI +0x8760 0x3314 #SQUARE KIRO +0x8761 0x3322 #SQUARE SENTI +0x8762 0x334D #SQUARE MEETORU +0x8763 0x3318 #SQUARE GURAMU +0x8764 0x3327 #SQUARE TON +0x8765 0x3303 #SQUARE AARU +0x8766 0x3336 #SQUARE HEKUTAARU +0x8767 0x3351 #SQUARE RITTORU +0x8768 0x3357 #SQUARE WATTO +0x8769 0x330D #SQUARE KARORII +0x876A 0x3326 #SQUARE DORU +0x876B 0x3323 #SQUARE SENTO +0x876C 0x332B #SQUARE PAASENTO +0x876D 0x334A #SQUARE MIRIBAARU +0x876E 0x333B #SQUARE PEEZI +0x876F 0x339C #SQUARE MM +0x8770 0x339D #SQUARE CM +0x8771 0x339E #SQUARE KM +0x8772 0x338E #SQUARE MG +0x8773 0x338F #SQUARE KG +0x8774 0x33C4 #SQUARE CC +0x8775 0x33A1 #SQUARE M SQUARED +0x877E 0x337B #SQUARE ERA NAME HEISEI +0x8780 0x301D #REVERSED DOUBLE PRIME QUOTATION MARK +0x8781 0x301F #LOW DOUBLE PRIME QUOTATION MARK +0x8782 0x2116 #NUMERO SIGN +0x8783 0x33CD #SQUARE KK +0x8784 0x2121 #TELEPHONE SIGN +0x8785 0x32A4 #CIRCLED IDEOGRAPH HIGH +0x8786 0x32A5 #CIRCLED IDEOGRAPH CENTRE +0x8787 0x32A6 #CIRCLED IDEOGRAPH LOW +0x8788 0x32A7 #CIRCLED IDEOGRAPH LEFT +0x8789 0x32A8 #CIRCLED IDEOGRAPH RIGHT +0x878A 0x3231 #PARENTHESIZED IDEOGRAPH STOCK +0x878B 0x3232 #PARENTHESIZED IDEOGRAPH HAVE +0x878C 0x3239 #PARENTHESIZED IDEOGRAPH REPRESENT +0x878D 0x337E #SQUARE ERA NAME MEIZI +0x878E 0x337D #SQUARE ERA NAME TAISYOU +0x878F 0x337C #SQUARE ERA NAME SYOUWA +0x8790 0x2252 #APPROXIMATELY EQUAL TO OR THE IMAGE OF +0x8791 0x2261 #IDENTICAL TO +0x8792 0x222B #INTEGRAL +0x8793 0x222E #CONTOUR INTEGRAL +0x8794 0x2211 #N-ARY SUMMATION +0x8795 0x221A #SQUARE ROOT +0x8796 0x22A5 #UP TACK +0x8797 0x2220 #ANGLE +0x8798 0x221F #RIGHT ANGLE +0x8799 0x22BF #RIGHT TRIANGLE +0x879A 0x2235 #BECAUSE +0x879B 0x2229 #INTERSECTION +0x879C 0x222A #UNION +0x889F 0x4E9C #CJK UNIFIED IDEOGRAPH +0x88A0 0x5516 #CJK UNIFIED IDEOGRAPH +0x88A1 0x5A03 #CJK UNIFIED IDEOGRAPH +0x88A2 0x963F #CJK UNIFIED IDEOGRAPH +0x88A3 0x54C0 #CJK UNIFIED IDEOGRAPH +0x88A4 0x611B #CJK UNIFIED IDEOGRAPH +0x88A5 0x6328 #CJK UNIFIED IDEOGRAPH +0x88A6 0x59F6 #CJK UNIFIED IDEOGRAPH +0x88A7 0x9022 #CJK UNIFIED IDEOGRAPH +0x88A8 0x8475 #CJK UNIFIED IDEOGRAPH +0x88A9 0x831C #CJK UNIFIED IDEOGRAPH +0x88AA 0x7A50 #CJK UNIFIED IDEOGRAPH +0x88AB 0x60AA #CJK UNIFIED IDEOGRAPH +0x88AC 0x63E1 #CJK UNIFIED IDEOGRAPH +0x88AD 0x6E25 #CJK UNIFIED IDEOGRAPH +0x88AE 0x65ED #CJK UNIFIED IDEOGRAPH +0x88AF 0x8466 #CJK UNIFIED IDEOGRAPH +0x88B0 0x82A6 #CJK UNIFIED IDEOGRAPH +0x88B1 0x9BF5 #CJK UNIFIED IDEOGRAPH +0x88B2 0x6893 #CJK UNIFIED IDEOGRAPH +0x88B3 0x5727 #CJK UNIFIED IDEOGRAPH +0x88B4 0x65A1 #CJK UNIFIED IDEOGRAPH +0x88B5 0x6271 #CJK UNIFIED IDEOGRAPH +0x88B6 0x5B9B #CJK UNIFIED IDEOGRAPH +0x88B7 0x59D0 #CJK UNIFIED IDEOGRAPH +0x88B8 0x867B #CJK UNIFIED IDEOGRAPH +0x88B9 0x98F4 #CJK UNIFIED IDEOGRAPH +0x88BA 0x7D62 #CJK UNIFIED IDEOGRAPH +0x88BB 0x7DBE #CJK UNIFIED IDEOGRAPH +0x88BC 0x9B8E #CJK UNIFIED IDEOGRAPH +0x88BD 0x6216 #CJK UNIFIED IDEOGRAPH +0x88BE 0x7C9F #CJK UNIFIED IDEOGRAPH +0x88BF 0x88B7 #CJK UNIFIED IDEOGRAPH +0x88C0 0x5B89 #CJK UNIFIED IDEOGRAPH +0x88C1 0x5EB5 #CJK UNIFIED IDEOGRAPH +0x88C2 0x6309 #CJK UNIFIED IDEOGRAPH +0x88C3 0x6697 #CJK UNIFIED IDEOGRAPH +0x88C4 0x6848 #CJK UNIFIED IDEOGRAPH +0x88C5 0x95C7 #CJK UNIFIED IDEOGRAPH +0x88C6 0x978D #CJK UNIFIED IDEOGRAPH +0x88C7 0x674F #CJK UNIFIED IDEOGRAPH +0x88C8 0x4EE5 #CJK UNIFIED IDEOGRAPH +0x88C9 0x4F0A #CJK UNIFIED IDEOGRAPH +0x88CA 0x4F4D #CJK UNIFIED IDEOGRAPH +0x88CB 0x4F9D #CJK UNIFIED IDEOGRAPH +0x88CC 0x5049 #CJK UNIFIED IDEOGRAPH +0x88CD 0x56F2 #CJK UNIFIED IDEOGRAPH +0x88CE 0x5937 #CJK UNIFIED IDEOGRAPH +0x88CF 0x59D4 #CJK UNIFIED IDEOGRAPH +0x88D0 0x5A01 #CJK UNIFIED IDEOGRAPH +0x88D1 0x5C09 #CJK UNIFIED IDEOGRAPH +0x88D2 0x60DF #CJK UNIFIED IDEOGRAPH +0x88D3 0x610F #CJK UNIFIED IDEOGRAPH +0x88D4 0x6170 #CJK UNIFIED IDEOGRAPH +0x88D5 0x6613 #CJK UNIFIED IDEOGRAPH +0x88D6 0x6905 #CJK UNIFIED IDEOGRAPH +0x88D7 0x70BA #CJK UNIFIED IDEOGRAPH +0x88D8 0x754F #CJK UNIFIED IDEOGRAPH +0x88D9 0x7570 #CJK UNIFIED IDEOGRAPH +0x88DA 0x79FB #CJK UNIFIED IDEOGRAPH +0x88DB 0x7DAD #CJK UNIFIED IDEOGRAPH +0x88DC 0x7DEF #CJK UNIFIED IDEOGRAPH +0x88DD 0x80C3 #CJK UNIFIED IDEOGRAPH +0x88DE 0x840E #CJK UNIFIED IDEOGRAPH +0x88DF 0x8863 #CJK UNIFIED IDEOGRAPH +0x88E0 0x8B02 #CJK UNIFIED IDEOGRAPH +0x88E1 0x9055 #CJK UNIFIED IDEOGRAPH +0x88E2 0x907A #CJK UNIFIED IDEOGRAPH +0x88E3 0x533B #CJK UNIFIED IDEOGRAPH +0x88E4 0x4E95 #CJK UNIFIED IDEOGRAPH +0x88E5 0x4EA5 #CJK UNIFIED IDEOGRAPH +0x88E6 0x57DF #CJK UNIFIED IDEOGRAPH +0x88E7 0x80B2 #CJK UNIFIED IDEOGRAPH +0x88E8 0x90C1 #CJK UNIFIED IDEOGRAPH +0x88E9 0x78EF #CJK UNIFIED IDEOGRAPH +0x88EA 0x4E00 #CJK UNIFIED IDEOGRAPH +0x88EB 0x58F1 #CJK UNIFIED IDEOGRAPH +0x88EC 0x6EA2 #CJK UNIFIED IDEOGRAPH +0x88ED 0x9038 #CJK UNIFIED IDEOGRAPH +0x88EE 0x7A32 #CJK UNIFIED IDEOGRAPH +0x88EF 0x8328 #CJK UNIFIED IDEOGRAPH +0x88F0 0x828B #CJK UNIFIED IDEOGRAPH +0x88F1 0x9C2F #CJK UNIFIED IDEOGRAPH +0x88F2 0x5141 #CJK UNIFIED IDEOGRAPH +0x88F3 0x5370 #CJK UNIFIED IDEOGRAPH +0x88F4 0x54BD #CJK UNIFIED IDEOGRAPH +0x88F5 0x54E1 #CJK UNIFIED IDEOGRAPH +0x88F6 0x56E0 #CJK UNIFIED IDEOGRAPH +0x88F7 0x59FB #CJK UNIFIED IDEOGRAPH +0x88F8 0x5F15 #CJK UNIFIED IDEOGRAPH +0x88F9 0x98F2 #CJK UNIFIED IDEOGRAPH +0x88FA 0x6DEB #CJK UNIFIED IDEOGRAPH +0x88FB 0x80E4 #CJK UNIFIED IDEOGRAPH +0x88FC 0x852D #CJK UNIFIED IDEOGRAPH +0x8940 0x9662 #CJK UNIFIED IDEOGRAPH +0x8941 0x9670 #CJK UNIFIED IDEOGRAPH +0x8942 0x96A0 #CJK UNIFIED IDEOGRAPH +0x8943 0x97FB #CJK UNIFIED IDEOGRAPH +0x8944 0x540B #CJK UNIFIED IDEOGRAPH +0x8945 0x53F3 #CJK UNIFIED IDEOGRAPH +0x8946 0x5B87 #CJK UNIFIED IDEOGRAPH +0x8947 0x70CF #CJK UNIFIED IDEOGRAPH +0x8948 0x7FBD #CJK UNIFIED IDEOGRAPH +0x8949 0x8FC2 #CJK UNIFIED IDEOGRAPH +0x894A 0x96E8 #CJK UNIFIED IDEOGRAPH +0x894B 0x536F #CJK UNIFIED IDEOGRAPH +0x894C 0x9D5C #CJK UNIFIED IDEOGRAPH +0x894D 0x7ABA #CJK UNIFIED IDEOGRAPH +0x894E 0x4E11 #CJK UNIFIED IDEOGRAPH +0x894F 0x7893 #CJK UNIFIED IDEOGRAPH +0x8950 0x81FC #CJK UNIFIED IDEOGRAPH +0x8951 0x6E26 #CJK UNIFIED IDEOGRAPH +0x8952 0x5618 #CJK UNIFIED IDEOGRAPH +0x8953 0x5504 #CJK UNIFIED IDEOGRAPH +0x8954 0x6B1D #CJK UNIFIED IDEOGRAPH +0x8955 0x851A #CJK UNIFIED IDEOGRAPH +0x8956 0x9C3B #CJK UNIFIED IDEOGRAPH +0x8957 0x59E5 #CJK UNIFIED IDEOGRAPH +0x8958 0x53A9 #CJK UNIFIED IDEOGRAPH +0x8959 0x6D66 #CJK UNIFIED IDEOGRAPH +0x895A 0x74DC #CJK UNIFIED IDEOGRAPH +0x895B 0x958F #CJK UNIFIED IDEOGRAPH +0x895C 0x5642 #CJK UNIFIED IDEOGRAPH +0x895D 0x4E91 #CJK UNIFIED IDEOGRAPH +0x895E 0x904B #CJK UNIFIED IDEOGRAPH +0x895F 0x96F2 #CJK UNIFIED IDEOGRAPH +0x8960 0x834F #CJK UNIFIED IDEOGRAPH +0x8961 0x990C #CJK UNIFIED IDEOGRAPH +0x8962 0x53E1 #CJK UNIFIED IDEOGRAPH +0x8963 0x55B6 #CJK UNIFIED IDEOGRAPH +0x8964 0x5B30 #CJK UNIFIED IDEOGRAPH +0x8965 0x5F71 #CJK UNIFIED IDEOGRAPH +0x8966 0x6620 #CJK UNIFIED IDEOGRAPH +0x8967 0x66F3 #CJK UNIFIED IDEOGRAPH +0x8968 0x6804 #CJK UNIFIED IDEOGRAPH +0x8969 0x6C38 #CJK UNIFIED IDEOGRAPH +0x896A 0x6CF3 #CJK UNIFIED IDEOGRAPH +0x896B 0x6D29 #CJK UNIFIED IDEOGRAPH +0x896C 0x745B #CJK UNIFIED IDEOGRAPH +0x896D 0x76C8 #CJK UNIFIED IDEOGRAPH +0x896E 0x7A4E #CJK UNIFIED IDEOGRAPH +0x896F 0x9834 #CJK UNIFIED IDEOGRAPH +0x8970 0x82F1 #CJK UNIFIED IDEOGRAPH +0x8971 0x885B #CJK UNIFIED IDEOGRAPH +0x8972 0x8A60 #CJK UNIFIED IDEOGRAPH +0x8973 0x92ED #CJK UNIFIED IDEOGRAPH +0x8974 0x6DB2 #CJK UNIFIED IDEOGRAPH +0x8975 0x75AB #CJK UNIFIED IDEOGRAPH +0x8976 0x76CA #CJK UNIFIED IDEOGRAPH +0x8977 0x99C5 #CJK UNIFIED IDEOGRAPH +0x8978 0x60A6 #CJK UNIFIED IDEOGRAPH +0x8979 0x8B01 #CJK UNIFIED IDEOGRAPH +0x897A 0x8D8A #CJK UNIFIED IDEOGRAPH +0x897B 0x95B2 #CJK UNIFIED IDEOGRAPH +0x897C 0x698E #CJK UNIFIED IDEOGRAPH +0x897D 0x53AD #CJK UNIFIED IDEOGRAPH +0x897E 0x5186 #CJK UNIFIED IDEOGRAPH +0x8980 0x5712 #CJK UNIFIED IDEOGRAPH +0x8981 0x5830 #CJK UNIFIED IDEOGRAPH +0x8982 0x5944 #CJK UNIFIED IDEOGRAPH +0x8983 0x5BB4 #CJK UNIFIED IDEOGRAPH +0x8984 0x5EF6 #CJK UNIFIED IDEOGRAPH +0x8985 0x6028 #CJK UNIFIED IDEOGRAPH +0x8986 0x63A9 #CJK UNIFIED IDEOGRAPH +0x8987 0x63F4 #CJK UNIFIED IDEOGRAPH +0x8988 0x6CBF #CJK UNIFIED IDEOGRAPH +0x8989 0x6F14 #CJK UNIFIED IDEOGRAPH +0x898A 0x708E #CJK UNIFIED IDEOGRAPH +0x898B 0x7114 #CJK UNIFIED IDEOGRAPH +0x898C 0x7159 #CJK UNIFIED IDEOGRAPH +0x898D 0x71D5 #CJK UNIFIED IDEOGRAPH +0x898E 0x733F #CJK UNIFIED IDEOGRAPH +0x898F 0x7E01 #CJK UNIFIED IDEOGRAPH +0x8990 0x8276 #CJK UNIFIED IDEOGRAPH +0x8991 0x82D1 #CJK UNIFIED IDEOGRAPH +0x8992 0x8597 #CJK UNIFIED IDEOGRAPH +0x8993 0x9060 #CJK UNIFIED IDEOGRAPH +0x8994 0x925B #CJK UNIFIED IDEOGRAPH +0x8995 0x9D1B #CJK UNIFIED IDEOGRAPH +0x8996 0x5869 #CJK UNIFIED IDEOGRAPH +0x8997 0x65BC #CJK UNIFIED IDEOGRAPH +0x8998 0x6C5A #CJK UNIFIED IDEOGRAPH +0x8999 0x7525 #CJK UNIFIED IDEOGRAPH +0x899A 0x51F9 #CJK UNIFIED IDEOGRAPH +0x899B 0x592E #CJK UNIFIED IDEOGRAPH +0x899C 0x5965 #CJK UNIFIED IDEOGRAPH +0x899D 0x5F80 #CJK UNIFIED IDEOGRAPH +0x899E 0x5FDC #CJK UNIFIED IDEOGRAPH +0x899F 0x62BC #CJK UNIFIED IDEOGRAPH +0x89A0 0x65FA #CJK UNIFIED IDEOGRAPH +0x89A1 0x6A2A #CJK UNIFIED IDEOGRAPH +0x89A2 0x6B27 #CJK UNIFIED IDEOGRAPH +0x89A3 0x6BB4 #CJK UNIFIED IDEOGRAPH +0x89A4 0x738B #CJK UNIFIED IDEOGRAPH +0x89A5 0x7FC1 #CJK UNIFIED IDEOGRAPH +0x89A6 0x8956 #CJK UNIFIED IDEOGRAPH +0x89A7 0x9D2C #CJK UNIFIED IDEOGRAPH +0x89A8 0x9D0E #CJK UNIFIED IDEOGRAPH +0x89A9 0x9EC4 #CJK UNIFIED IDEOGRAPH +0x89AA 0x5CA1 #CJK UNIFIED IDEOGRAPH +0x89AB 0x6C96 #CJK UNIFIED IDEOGRAPH +0x89AC 0x837B #CJK UNIFIED IDEOGRAPH +0x89AD 0x5104 #CJK UNIFIED IDEOGRAPH +0x89AE 0x5C4B #CJK UNIFIED IDEOGRAPH +0x89AF 0x61B6 #CJK UNIFIED IDEOGRAPH +0x89B0 0x81C6 #CJK UNIFIED IDEOGRAPH +0x89B1 0x6876 #CJK UNIFIED IDEOGRAPH +0x89B2 0x7261 #CJK UNIFIED IDEOGRAPH +0x89B3 0x4E59 #CJK UNIFIED IDEOGRAPH +0x89B4 0x4FFA #CJK UNIFIED IDEOGRAPH +0x89B5 0x5378 #CJK UNIFIED IDEOGRAPH +0x89B6 0x6069 #CJK UNIFIED IDEOGRAPH +0x89B7 0x6E29 #CJK UNIFIED IDEOGRAPH +0x89B8 0x7A4F #CJK UNIFIED IDEOGRAPH +0x89B9 0x97F3 #CJK UNIFIED IDEOGRAPH +0x89BA 0x4E0B #CJK UNIFIED IDEOGRAPH +0x89BB 0x5316 #CJK UNIFIED IDEOGRAPH +0x89BC 0x4EEE #CJK UNIFIED IDEOGRAPH +0x89BD 0x4F55 #CJK UNIFIED IDEOGRAPH +0x89BE 0x4F3D #CJK UNIFIED IDEOGRAPH +0x89BF 0x4FA1 #CJK UNIFIED IDEOGRAPH +0x89C0 0x4F73 #CJK UNIFIED IDEOGRAPH +0x89C1 0x52A0 #CJK UNIFIED IDEOGRAPH +0x89C2 0x53EF #CJK UNIFIED IDEOGRAPH +0x89C3 0x5609 #CJK UNIFIED IDEOGRAPH +0x89C4 0x590F #CJK UNIFIED IDEOGRAPH +0x89C5 0x5AC1 #CJK UNIFIED IDEOGRAPH +0x89C6 0x5BB6 #CJK UNIFIED IDEOGRAPH +0x89C7 0x5BE1 #CJK UNIFIED IDEOGRAPH +0x89C8 0x79D1 #CJK UNIFIED IDEOGRAPH +0x89C9 0x6687 #CJK UNIFIED IDEOGRAPH +0x89CA 0x679C #CJK UNIFIED IDEOGRAPH +0x89CB 0x67B6 #CJK UNIFIED IDEOGRAPH +0x89CC 0x6B4C #CJK UNIFIED IDEOGRAPH +0x89CD 0x6CB3 #CJK UNIFIED IDEOGRAPH +0x89CE 0x706B #CJK UNIFIED IDEOGRAPH +0x89CF 0x73C2 #CJK UNIFIED IDEOGRAPH +0x89D0 0x798D #CJK UNIFIED IDEOGRAPH +0x89D1 0x79BE #CJK UNIFIED IDEOGRAPH +0x89D2 0x7A3C #CJK UNIFIED IDEOGRAPH +0x89D3 0x7B87 #CJK UNIFIED IDEOGRAPH +0x89D4 0x82B1 #CJK UNIFIED IDEOGRAPH +0x89D5 0x82DB #CJK UNIFIED IDEOGRAPH +0x89D6 0x8304 #CJK UNIFIED IDEOGRAPH +0x89D7 0x8377 #CJK UNIFIED IDEOGRAPH +0x89D8 0x83EF #CJK UNIFIED IDEOGRAPH +0x89D9 0x83D3 #CJK UNIFIED IDEOGRAPH +0x89DA 0x8766 #CJK UNIFIED IDEOGRAPH +0x89DB 0x8AB2 #CJK UNIFIED IDEOGRAPH +0x89DC 0x5629 #CJK UNIFIED IDEOGRAPH +0x89DD 0x8CA8 #CJK UNIFIED IDEOGRAPH +0x89DE 0x8FE6 #CJK UNIFIED IDEOGRAPH +0x89DF 0x904E #CJK UNIFIED IDEOGRAPH +0x89E0 0x971E #CJK UNIFIED IDEOGRAPH +0x89E1 0x868A #CJK UNIFIED IDEOGRAPH +0x89E2 0x4FC4 #CJK UNIFIED IDEOGRAPH +0x89E3 0x5CE8 #CJK UNIFIED IDEOGRAPH +0x89E4 0x6211 #CJK UNIFIED IDEOGRAPH +0x89E5 0x7259 #CJK UNIFIED IDEOGRAPH +0x89E6 0x753B #CJK UNIFIED IDEOGRAPH +0x89E7 0x81E5 #CJK UNIFIED IDEOGRAPH +0x89E8 0x82BD #CJK UNIFIED IDEOGRAPH +0x89E9 0x86FE #CJK UNIFIED IDEOGRAPH +0x89EA 0x8CC0 #CJK UNIFIED IDEOGRAPH +0x89EB 0x96C5 #CJK UNIFIED IDEOGRAPH +0x89EC 0x9913 #CJK UNIFIED IDEOGRAPH +0x89ED 0x99D5 #CJK UNIFIED IDEOGRAPH +0x89EE 0x4ECB #CJK UNIFIED IDEOGRAPH +0x89EF 0x4F1A #CJK UNIFIED IDEOGRAPH +0x89F0 0x89E3 #CJK UNIFIED IDEOGRAPH +0x89F1 0x56DE #CJK UNIFIED IDEOGRAPH +0x89F2 0x584A #CJK UNIFIED IDEOGRAPH +0x89F3 0x58CA #CJK UNIFIED IDEOGRAPH +0x89F4 0x5EFB #CJK UNIFIED IDEOGRAPH +0x89F5 0x5FEB #CJK UNIFIED IDEOGRAPH +0x89F6 0x602A #CJK UNIFIED IDEOGRAPH +0x89F7 0x6094 #CJK UNIFIED IDEOGRAPH +0x89F8 0x6062 #CJK UNIFIED IDEOGRAPH +0x89F9 0x61D0 #CJK UNIFIED IDEOGRAPH +0x89FA 0x6212 #CJK UNIFIED IDEOGRAPH +0x89FB 0x62D0 #CJK UNIFIED IDEOGRAPH +0x89FC 0x6539 #CJK UNIFIED IDEOGRAPH +0x8A40 0x9B41 #CJK UNIFIED IDEOGRAPH +0x8A41 0x6666 #CJK UNIFIED IDEOGRAPH +0x8A42 0x68B0 #CJK UNIFIED IDEOGRAPH +0x8A43 0x6D77 #CJK UNIFIED IDEOGRAPH +0x8A44 0x7070 #CJK UNIFIED IDEOGRAPH +0x8A45 0x754C #CJK UNIFIED IDEOGRAPH +0x8A46 0x7686 #CJK UNIFIED IDEOGRAPH +0x8A47 0x7D75 #CJK UNIFIED IDEOGRAPH +0x8A48 0x82A5 #CJK UNIFIED IDEOGRAPH +0x8A49 0x87F9 #CJK UNIFIED IDEOGRAPH +0x8A4A 0x958B #CJK UNIFIED IDEOGRAPH +0x8A4B 0x968E #CJK UNIFIED IDEOGRAPH +0x8A4C 0x8C9D #CJK UNIFIED IDEOGRAPH +0x8A4D 0x51F1 #CJK UNIFIED IDEOGRAPH +0x8A4E 0x52BE #CJK UNIFIED IDEOGRAPH +0x8A4F 0x5916 #CJK UNIFIED IDEOGRAPH +0x8A50 0x54B3 #CJK UNIFIED IDEOGRAPH +0x8A51 0x5BB3 #CJK UNIFIED IDEOGRAPH +0x8A52 0x5D16 #CJK UNIFIED IDEOGRAPH +0x8A53 0x6168 #CJK UNIFIED IDEOGRAPH +0x8A54 0x6982 #CJK UNIFIED IDEOGRAPH +0x8A55 0x6DAF #CJK UNIFIED IDEOGRAPH +0x8A56 0x788D #CJK UNIFIED IDEOGRAPH +0x8A57 0x84CB #CJK UNIFIED IDEOGRAPH +0x8A58 0x8857 #CJK UNIFIED IDEOGRAPH +0x8A59 0x8A72 #CJK UNIFIED IDEOGRAPH +0x8A5A 0x93A7 #CJK UNIFIED IDEOGRAPH +0x8A5B 0x9AB8 #CJK UNIFIED IDEOGRAPH +0x8A5C 0x6D6C #CJK UNIFIED IDEOGRAPH +0x8A5D 0x99A8 #CJK UNIFIED IDEOGRAPH +0x8A5E 0x86D9 #CJK UNIFIED IDEOGRAPH +0x8A5F 0x57A3 #CJK UNIFIED IDEOGRAPH +0x8A60 0x67FF #CJK UNIFIED IDEOGRAPH +0x8A61 0x86CE #CJK UNIFIED IDEOGRAPH +0x8A62 0x920E #CJK UNIFIED IDEOGRAPH +0x8A63 0x5283 #CJK UNIFIED IDEOGRAPH +0x8A64 0x5687 #CJK UNIFIED IDEOGRAPH +0x8A65 0x5404 #CJK UNIFIED IDEOGRAPH +0x8A66 0x5ED3 #CJK UNIFIED IDEOGRAPH +0x8A67 0x62E1 #CJK UNIFIED IDEOGRAPH +0x8A68 0x64B9 #CJK UNIFIED IDEOGRAPH +0x8A69 0x683C #CJK UNIFIED IDEOGRAPH +0x8A6A 0x6838 #CJK UNIFIED IDEOGRAPH +0x8A6B 0x6BBB #CJK UNIFIED IDEOGRAPH +0x8A6C 0x7372 #CJK UNIFIED IDEOGRAPH +0x8A6D 0x78BA #CJK UNIFIED IDEOGRAPH +0x8A6E 0x7A6B #CJK UNIFIED IDEOGRAPH +0x8A6F 0x899A #CJK UNIFIED IDEOGRAPH +0x8A70 0x89D2 #CJK UNIFIED IDEOGRAPH +0x8A71 0x8D6B #CJK UNIFIED IDEOGRAPH +0x8A72 0x8F03 #CJK UNIFIED IDEOGRAPH +0x8A73 0x90ED #CJK UNIFIED IDEOGRAPH +0x8A74 0x95A3 #CJK UNIFIED IDEOGRAPH +0x8A75 0x9694 #CJK UNIFIED IDEOGRAPH +0x8A76 0x9769 #CJK UNIFIED IDEOGRAPH +0x8A77 0x5B66 #CJK UNIFIED IDEOGRAPH +0x8A78 0x5CB3 #CJK UNIFIED IDEOGRAPH +0x8A79 0x697D #CJK UNIFIED IDEOGRAPH +0x8A7A 0x984D #CJK UNIFIED IDEOGRAPH +0x8A7B 0x984E #CJK UNIFIED IDEOGRAPH +0x8A7C 0x639B #CJK UNIFIED IDEOGRAPH +0x8A7D 0x7B20 #CJK UNIFIED IDEOGRAPH +0x8A7E 0x6A2B #CJK UNIFIED IDEOGRAPH +0x8A80 0x6A7F #CJK UNIFIED IDEOGRAPH +0x8A81 0x68B6 #CJK UNIFIED IDEOGRAPH +0x8A82 0x9C0D #CJK UNIFIED IDEOGRAPH +0x8A83 0x6F5F #CJK UNIFIED IDEOGRAPH +0x8A84 0x5272 #CJK UNIFIED IDEOGRAPH +0x8A85 0x559D #CJK UNIFIED IDEOGRAPH +0x8A86 0x6070 #CJK UNIFIED IDEOGRAPH +0x8A87 0x62EC #CJK UNIFIED IDEOGRAPH +0x8A88 0x6D3B #CJK UNIFIED IDEOGRAPH +0x8A89 0x6E07 #CJK UNIFIED IDEOGRAPH +0x8A8A 0x6ED1 #CJK UNIFIED IDEOGRAPH +0x8A8B 0x845B #CJK UNIFIED IDEOGRAPH +0x8A8C 0x8910 #CJK UNIFIED IDEOGRAPH +0x8A8D 0x8F44 #CJK UNIFIED IDEOGRAPH +0x8A8E 0x4E14 #CJK UNIFIED IDEOGRAPH +0x8A8F 0x9C39 #CJK UNIFIED IDEOGRAPH +0x8A90 0x53F6 #CJK UNIFIED IDEOGRAPH +0x8A91 0x691B #CJK UNIFIED IDEOGRAPH +0x8A92 0x6A3A #CJK UNIFIED IDEOGRAPH +0x8A93 0x9784 #CJK UNIFIED IDEOGRAPH +0x8A94 0x682A #CJK UNIFIED IDEOGRAPH +0x8A95 0x515C #CJK UNIFIED IDEOGRAPH +0x8A96 0x7AC3 #CJK UNIFIED IDEOGRAPH +0x8A97 0x84B2 #CJK UNIFIED IDEOGRAPH +0x8A98 0x91DC #CJK UNIFIED IDEOGRAPH +0x8A99 0x938C #CJK UNIFIED IDEOGRAPH +0x8A9A 0x565B #CJK UNIFIED IDEOGRAPH +0x8A9B 0x9D28 #CJK UNIFIED IDEOGRAPH +0x8A9C 0x6822 #CJK UNIFIED IDEOGRAPH +0x8A9D 0x8305 #CJK UNIFIED IDEOGRAPH +0x8A9E 0x8431 #CJK UNIFIED IDEOGRAPH +0x8A9F 0x7CA5 #CJK UNIFIED IDEOGRAPH +0x8AA0 0x5208 #CJK UNIFIED IDEOGRAPH +0x8AA1 0x82C5 #CJK UNIFIED IDEOGRAPH +0x8AA2 0x74E6 #CJK UNIFIED IDEOGRAPH +0x8AA3 0x4E7E #CJK UNIFIED IDEOGRAPH +0x8AA4 0x4F83 #CJK UNIFIED IDEOGRAPH +0x8AA5 0x51A0 #CJK UNIFIED IDEOGRAPH +0x8AA6 0x5BD2 #CJK UNIFIED IDEOGRAPH +0x8AA7 0x520A #CJK UNIFIED IDEOGRAPH +0x8AA8 0x52D8 #CJK UNIFIED IDEOGRAPH +0x8AA9 0x52E7 #CJK UNIFIED IDEOGRAPH +0x8AAA 0x5DFB #CJK UNIFIED IDEOGRAPH +0x8AAB 0x559A #CJK UNIFIED IDEOGRAPH +0x8AAC 0x582A #CJK UNIFIED IDEOGRAPH +0x8AAD 0x59E6 #CJK UNIFIED IDEOGRAPH +0x8AAE 0x5B8C #CJK UNIFIED IDEOGRAPH +0x8AAF 0x5B98 #CJK UNIFIED IDEOGRAPH +0x8AB0 0x5BDB #CJK UNIFIED IDEOGRAPH +0x8AB1 0x5E72 #CJK UNIFIED IDEOGRAPH +0x8AB2 0x5E79 #CJK UNIFIED IDEOGRAPH +0x8AB3 0x60A3 #CJK UNIFIED IDEOGRAPH +0x8AB4 0x611F #CJK UNIFIED IDEOGRAPH +0x8AB5 0x6163 #CJK UNIFIED IDEOGRAPH +0x8AB6 0x61BE #CJK UNIFIED IDEOGRAPH +0x8AB7 0x63DB #CJK UNIFIED IDEOGRAPH +0x8AB8 0x6562 #CJK UNIFIED IDEOGRAPH +0x8AB9 0x67D1 #CJK UNIFIED IDEOGRAPH +0x8ABA 0x6853 #CJK UNIFIED IDEOGRAPH +0x8ABB 0x68FA #CJK UNIFIED IDEOGRAPH +0x8ABC 0x6B3E #CJK UNIFIED IDEOGRAPH +0x8ABD 0x6B53 #CJK UNIFIED IDEOGRAPH +0x8ABE 0x6C57 #CJK UNIFIED IDEOGRAPH +0x8ABF 0x6F22 #CJK UNIFIED IDEOGRAPH +0x8AC0 0x6F97 #CJK UNIFIED IDEOGRAPH +0x8AC1 0x6F45 #CJK UNIFIED IDEOGRAPH +0x8AC2 0x74B0 #CJK UNIFIED IDEOGRAPH +0x8AC3 0x7518 #CJK UNIFIED IDEOGRAPH +0x8AC4 0x76E3 #CJK UNIFIED IDEOGRAPH +0x8AC5 0x770B #CJK UNIFIED IDEOGRAPH +0x8AC6 0x7AFF #CJK UNIFIED IDEOGRAPH +0x8AC7 0x7BA1 #CJK UNIFIED IDEOGRAPH +0x8AC8 0x7C21 #CJK UNIFIED IDEOGRAPH +0x8AC9 0x7DE9 #CJK UNIFIED IDEOGRAPH +0x8ACA 0x7F36 #CJK UNIFIED IDEOGRAPH +0x8ACB 0x7FF0 #CJK UNIFIED IDEOGRAPH +0x8ACC 0x809D #CJK UNIFIED IDEOGRAPH +0x8ACD 0x8266 #CJK UNIFIED IDEOGRAPH +0x8ACE 0x839E #CJK UNIFIED IDEOGRAPH +0x8ACF 0x89B3 #CJK UNIFIED IDEOGRAPH +0x8AD0 0x8ACC #CJK UNIFIED IDEOGRAPH +0x8AD1 0x8CAB #CJK UNIFIED IDEOGRAPH +0x8AD2 0x9084 #CJK UNIFIED IDEOGRAPH +0x8AD3 0x9451 #CJK UNIFIED IDEOGRAPH +0x8AD4 0x9593 #CJK UNIFIED IDEOGRAPH +0x8AD5 0x9591 #CJK UNIFIED IDEOGRAPH +0x8AD6 0x95A2 #CJK UNIFIED IDEOGRAPH +0x8AD7 0x9665 #CJK UNIFIED IDEOGRAPH +0x8AD8 0x97D3 #CJK UNIFIED IDEOGRAPH +0x8AD9 0x9928 #CJK UNIFIED IDEOGRAPH +0x8ADA 0x8218 #CJK UNIFIED IDEOGRAPH +0x8ADB 0x4E38 #CJK UNIFIED IDEOGRAPH +0x8ADC 0x542B #CJK UNIFIED IDEOGRAPH +0x8ADD 0x5CB8 #CJK UNIFIED IDEOGRAPH +0x8ADE 0x5DCC #CJK UNIFIED IDEOGRAPH +0x8ADF 0x73A9 #CJK UNIFIED IDEOGRAPH +0x8AE0 0x764C #CJK UNIFIED IDEOGRAPH +0x8AE1 0x773C #CJK UNIFIED IDEOGRAPH +0x8AE2 0x5CA9 #CJK UNIFIED IDEOGRAPH +0x8AE3 0x7FEB #CJK UNIFIED IDEOGRAPH +0x8AE4 0x8D0B #CJK UNIFIED IDEOGRAPH +0x8AE5 0x96C1 #CJK UNIFIED IDEOGRAPH +0x8AE6 0x9811 #CJK UNIFIED IDEOGRAPH +0x8AE7 0x9854 #CJK UNIFIED IDEOGRAPH +0x8AE8 0x9858 #CJK UNIFIED IDEOGRAPH +0x8AE9 0x4F01 #CJK UNIFIED IDEOGRAPH +0x8AEA 0x4F0E #CJK UNIFIED IDEOGRAPH +0x8AEB 0x5371 #CJK UNIFIED IDEOGRAPH +0x8AEC 0x559C #CJK UNIFIED IDEOGRAPH +0x8AED 0x5668 #CJK UNIFIED IDEOGRAPH +0x8AEE 0x57FA #CJK UNIFIED IDEOGRAPH +0x8AEF 0x5947 #CJK UNIFIED IDEOGRAPH +0x8AF0 0x5B09 #CJK UNIFIED IDEOGRAPH +0x8AF1 0x5BC4 #CJK UNIFIED IDEOGRAPH +0x8AF2 0x5C90 #CJK UNIFIED IDEOGRAPH +0x8AF3 0x5E0C #CJK UNIFIED IDEOGRAPH +0x8AF4 0x5E7E #CJK UNIFIED IDEOGRAPH +0x8AF5 0x5FCC #CJK UNIFIED IDEOGRAPH +0x8AF6 0x63EE #CJK UNIFIED IDEOGRAPH +0x8AF7 0x673A #CJK UNIFIED IDEOGRAPH +0x8AF8 0x65D7 #CJK UNIFIED IDEOGRAPH +0x8AF9 0x65E2 #CJK UNIFIED IDEOGRAPH +0x8AFA 0x671F #CJK UNIFIED IDEOGRAPH +0x8AFB 0x68CB #CJK UNIFIED IDEOGRAPH +0x8AFC 0x68C4 #CJK UNIFIED IDEOGRAPH +0x8B40 0x6A5F #CJK UNIFIED IDEOGRAPH +0x8B41 0x5E30 #CJK UNIFIED IDEOGRAPH +0x8B42 0x6BC5 #CJK UNIFIED IDEOGRAPH +0x8B43 0x6C17 #CJK UNIFIED IDEOGRAPH +0x8B44 0x6C7D #CJK UNIFIED IDEOGRAPH +0x8B45 0x757F #CJK UNIFIED IDEOGRAPH +0x8B46 0x7948 #CJK UNIFIED IDEOGRAPH +0x8B47 0x5B63 #CJK UNIFIED IDEOGRAPH +0x8B48 0x7A00 #CJK UNIFIED IDEOGRAPH +0x8B49 0x7D00 #CJK UNIFIED IDEOGRAPH +0x8B4A 0x5FBD #CJK UNIFIED IDEOGRAPH +0x8B4B 0x898F #CJK UNIFIED IDEOGRAPH +0x8B4C 0x8A18 #CJK UNIFIED IDEOGRAPH +0x8B4D 0x8CB4 #CJK UNIFIED IDEOGRAPH +0x8B4E 0x8D77 #CJK UNIFIED IDEOGRAPH +0x8B4F 0x8ECC #CJK UNIFIED IDEOGRAPH +0x8B50 0x8F1D #CJK UNIFIED IDEOGRAPH +0x8B51 0x98E2 #CJK UNIFIED IDEOGRAPH +0x8B52 0x9A0E #CJK UNIFIED IDEOGRAPH +0x8B53 0x9B3C #CJK UNIFIED IDEOGRAPH +0x8B54 0x4E80 #CJK UNIFIED IDEOGRAPH +0x8B55 0x507D #CJK UNIFIED IDEOGRAPH +0x8B56 0x5100 #CJK UNIFIED IDEOGRAPH +0x8B57 0x5993 #CJK UNIFIED IDEOGRAPH +0x8B58 0x5B9C #CJK UNIFIED IDEOGRAPH +0x8B59 0x622F #CJK UNIFIED IDEOGRAPH +0x8B5A 0x6280 #CJK UNIFIED IDEOGRAPH +0x8B5B 0x64EC #CJK UNIFIED IDEOGRAPH +0x8B5C 0x6B3A #CJK UNIFIED IDEOGRAPH +0x8B5D 0x72A0 #CJK UNIFIED IDEOGRAPH +0x8B5E 0x7591 #CJK UNIFIED IDEOGRAPH +0x8B5F 0x7947 #CJK UNIFIED IDEOGRAPH +0x8B60 0x7FA9 #CJK UNIFIED IDEOGRAPH +0x8B61 0x87FB #CJK UNIFIED IDEOGRAPH +0x8B62 0x8ABC #CJK UNIFIED IDEOGRAPH +0x8B63 0x8B70 #CJK UNIFIED IDEOGRAPH +0x8B64 0x63AC #CJK UNIFIED IDEOGRAPH +0x8B65 0x83CA #CJK UNIFIED IDEOGRAPH +0x8B66 0x97A0 #CJK UNIFIED IDEOGRAPH +0x8B67 0x5409 #CJK UNIFIED IDEOGRAPH +0x8B68 0x5403 #CJK UNIFIED IDEOGRAPH +0x8B69 0x55AB #CJK UNIFIED IDEOGRAPH +0x8B6A 0x6854 #CJK UNIFIED IDEOGRAPH +0x8B6B 0x6A58 #CJK UNIFIED IDEOGRAPH +0x8B6C 0x8A70 #CJK UNIFIED IDEOGRAPH +0x8B6D 0x7827 #CJK UNIFIED IDEOGRAPH +0x8B6E 0x6775 #CJK UNIFIED IDEOGRAPH +0x8B6F 0x9ECD #CJK UNIFIED IDEOGRAPH +0x8B70 0x5374 #CJK UNIFIED IDEOGRAPH +0x8B71 0x5BA2 #CJK UNIFIED IDEOGRAPH +0x8B72 0x811A #CJK UNIFIED IDEOGRAPH +0x8B73 0x8650 #CJK UNIFIED IDEOGRAPH +0x8B74 0x9006 #CJK UNIFIED IDEOGRAPH +0x8B75 0x4E18 #CJK UNIFIED IDEOGRAPH +0x8B76 0x4E45 #CJK UNIFIED IDEOGRAPH +0x8B77 0x4EC7 #CJK UNIFIED IDEOGRAPH +0x8B78 0x4F11 #CJK UNIFIED IDEOGRAPH +0x8B79 0x53CA #CJK UNIFIED IDEOGRAPH +0x8B7A 0x5438 #CJK UNIFIED IDEOGRAPH +0x8B7B 0x5BAE #CJK UNIFIED IDEOGRAPH +0x8B7C 0x5F13 #CJK UNIFIED IDEOGRAPH +0x8B7D 0x6025 #CJK UNIFIED IDEOGRAPH +0x8B7E 0x6551 #CJK UNIFIED IDEOGRAPH +0x8B80 0x673D #CJK UNIFIED IDEOGRAPH +0x8B81 0x6C42 #CJK UNIFIED IDEOGRAPH +0x8B82 0x6C72 #CJK UNIFIED IDEOGRAPH +0x8B83 0x6CE3 #CJK UNIFIED IDEOGRAPH +0x8B84 0x7078 #CJK UNIFIED IDEOGRAPH +0x8B85 0x7403 #CJK UNIFIED IDEOGRAPH +0x8B86 0x7A76 #CJK UNIFIED IDEOGRAPH +0x8B87 0x7AAE #CJK UNIFIED IDEOGRAPH +0x8B88 0x7B08 #CJK UNIFIED IDEOGRAPH +0x8B89 0x7D1A #CJK UNIFIED IDEOGRAPH +0x8B8A 0x7CFE #CJK UNIFIED IDEOGRAPH +0x8B8B 0x7D66 #CJK UNIFIED IDEOGRAPH +0x8B8C 0x65E7 #CJK UNIFIED IDEOGRAPH +0x8B8D 0x725B #CJK UNIFIED IDEOGRAPH +0x8B8E 0x53BB #CJK UNIFIED IDEOGRAPH +0x8B8F 0x5C45 #CJK UNIFIED IDEOGRAPH +0x8B90 0x5DE8 #CJK UNIFIED IDEOGRAPH +0x8B91 0x62D2 #CJK UNIFIED IDEOGRAPH +0x8B92 0x62E0 #CJK UNIFIED IDEOGRAPH +0x8B93 0x6319 #CJK UNIFIED IDEOGRAPH +0x8B94 0x6E20 #CJK UNIFIED IDEOGRAPH +0x8B95 0x865A #CJK UNIFIED IDEOGRAPH +0x8B96 0x8A31 #CJK UNIFIED IDEOGRAPH +0x8B97 0x8DDD #CJK UNIFIED IDEOGRAPH +0x8B98 0x92F8 #CJK UNIFIED IDEOGRAPH +0x8B99 0x6F01 #CJK UNIFIED IDEOGRAPH +0x8B9A 0x79A6 #CJK UNIFIED IDEOGRAPH +0x8B9B 0x9B5A #CJK UNIFIED IDEOGRAPH +0x8B9C 0x4EA8 #CJK UNIFIED IDEOGRAPH +0x8B9D 0x4EAB #CJK UNIFIED IDEOGRAPH +0x8B9E 0x4EAC #CJK UNIFIED IDEOGRAPH +0x8B9F 0x4F9B #CJK UNIFIED IDEOGRAPH +0x8BA0 0x4FA0 #CJK UNIFIED IDEOGRAPH +0x8BA1 0x50D1 #CJK UNIFIED IDEOGRAPH +0x8BA2 0x5147 #CJK UNIFIED IDEOGRAPH +0x8BA3 0x7AF6 #CJK UNIFIED IDEOGRAPH +0x8BA4 0x5171 #CJK UNIFIED IDEOGRAPH +0x8BA5 0x51F6 #CJK UNIFIED IDEOGRAPH +0x8BA6 0x5354 #CJK UNIFIED IDEOGRAPH +0x8BA7 0x5321 #CJK UNIFIED IDEOGRAPH +0x8BA8 0x537F #CJK UNIFIED IDEOGRAPH +0x8BA9 0x53EB #CJK UNIFIED IDEOGRAPH +0x8BAA 0x55AC #CJK UNIFIED IDEOGRAPH +0x8BAB 0x5883 #CJK UNIFIED IDEOGRAPH +0x8BAC 0x5CE1 #CJK UNIFIED IDEOGRAPH +0x8BAD 0x5F37 #CJK UNIFIED IDEOGRAPH +0x8BAE 0x5F4A #CJK UNIFIED IDEOGRAPH +0x8BAF 0x602F #CJK UNIFIED IDEOGRAPH +0x8BB0 0x6050 #CJK UNIFIED IDEOGRAPH +0x8BB1 0x606D #CJK UNIFIED IDEOGRAPH +0x8BB2 0x631F #CJK UNIFIED IDEOGRAPH +0x8BB3 0x6559 #CJK UNIFIED IDEOGRAPH +0x8BB4 0x6A4B #CJK UNIFIED IDEOGRAPH +0x8BB5 0x6CC1 #CJK UNIFIED IDEOGRAPH +0x8BB6 0x72C2 #CJK UNIFIED IDEOGRAPH +0x8BB7 0x72ED #CJK UNIFIED IDEOGRAPH +0x8BB8 0x77EF #CJK UNIFIED IDEOGRAPH +0x8BB9 0x80F8 #CJK UNIFIED IDEOGRAPH +0x8BBA 0x8105 #CJK UNIFIED IDEOGRAPH +0x8BBB 0x8208 #CJK UNIFIED IDEOGRAPH +0x8BBC 0x854E #CJK UNIFIED IDEOGRAPH +0x8BBD 0x90F7 #CJK UNIFIED IDEOGRAPH +0x8BBE 0x93E1 #CJK UNIFIED IDEOGRAPH +0x8BBF 0x97FF #CJK UNIFIED IDEOGRAPH +0x8BC0 0x9957 #CJK UNIFIED IDEOGRAPH +0x8BC1 0x9A5A #CJK UNIFIED IDEOGRAPH +0x8BC2 0x4EF0 #CJK UNIFIED IDEOGRAPH +0x8BC3 0x51DD #CJK UNIFIED IDEOGRAPH +0x8BC4 0x5C2D #CJK UNIFIED IDEOGRAPH +0x8BC5 0x6681 #CJK UNIFIED IDEOGRAPH +0x8BC6 0x696D #CJK UNIFIED IDEOGRAPH +0x8BC7 0x5C40 #CJK UNIFIED IDEOGRAPH +0x8BC8 0x66F2 #CJK UNIFIED IDEOGRAPH +0x8BC9 0x6975 #CJK UNIFIED IDEOGRAPH +0x8BCA 0x7389 #CJK UNIFIED IDEOGRAPH +0x8BCB 0x6850 #CJK UNIFIED IDEOGRAPH +0x8BCC 0x7C81 #CJK UNIFIED IDEOGRAPH +0x8BCD 0x50C5 #CJK UNIFIED IDEOGRAPH +0x8BCE 0x52E4 #CJK UNIFIED IDEOGRAPH +0x8BCF 0x5747 #CJK UNIFIED IDEOGRAPH +0x8BD0 0x5DFE #CJK UNIFIED IDEOGRAPH +0x8BD1 0x9326 #CJK UNIFIED IDEOGRAPH +0x8BD2 0x65A4 #CJK UNIFIED IDEOGRAPH +0x8BD3 0x6B23 #CJK UNIFIED IDEOGRAPH +0x8BD4 0x6B3D #CJK UNIFIED IDEOGRAPH +0x8BD5 0x7434 #CJK UNIFIED IDEOGRAPH +0x8BD6 0x7981 #CJK UNIFIED IDEOGRAPH +0x8BD7 0x79BD #CJK UNIFIED IDEOGRAPH +0x8BD8 0x7B4B #CJK UNIFIED IDEOGRAPH +0x8BD9 0x7DCA #CJK UNIFIED IDEOGRAPH +0x8BDA 0x82B9 #CJK UNIFIED IDEOGRAPH +0x8BDB 0x83CC #CJK UNIFIED IDEOGRAPH +0x8BDC 0x887F #CJK UNIFIED IDEOGRAPH +0x8BDD 0x895F #CJK UNIFIED IDEOGRAPH +0x8BDE 0x8B39 #CJK UNIFIED IDEOGRAPH +0x8BDF 0x8FD1 #CJK UNIFIED IDEOGRAPH +0x8BE0 0x91D1 #CJK UNIFIED IDEOGRAPH +0x8BE1 0x541F #CJK UNIFIED IDEOGRAPH +0x8BE2 0x9280 #CJK UNIFIED IDEOGRAPH +0x8BE3 0x4E5D #CJK UNIFIED IDEOGRAPH +0x8BE4 0x5036 #CJK UNIFIED IDEOGRAPH +0x8BE5 0x53E5 #CJK UNIFIED IDEOGRAPH +0x8BE6 0x533A #CJK UNIFIED IDEOGRAPH +0x8BE7 0x72D7 #CJK UNIFIED IDEOGRAPH +0x8BE8 0x7396 #CJK UNIFIED IDEOGRAPH +0x8BE9 0x77E9 #CJK UNIFIED IDEOGRAPH +0x8BEA 0x82E6 #CJK UNIFIED IDEOGRAPH +0x8BEB 0x8EAF #CJK UNIFIED IDEOGRAPH +0x8BEC 0x99C6 #CJK UNIFIED IDEOGRAPH +0x8BED 0x99C8 #CJK UNIFIED IDEOGRAPH +0x8BEE 0x99D2 #CJK UNIFIED IDEOGRAPH +0x8BEF 0x5177 #CJK UNIFIED IDEOGRAPH +0x8BF0 0x611A #CJK UNIFIED IDEOGRAPH +0x8BF1 0x865E #CJK UNIFIED IDEOGRAPH +0x8BF2 0x55B0 #CJK UNIFIED IDEOGRAPH +0x8BF3 0x7A7A #CJK UNIFIED IDEOGRAPH +0x8BF4 0x5076 #CJK UNIFIED IDEOGRAPH +0x8BF5 0x5BD3 #CJK UNIFIED IDEOGRAPH +0x8BF6 0x9047 #CJK UNIFIED IDEOGRAPH +0x8BF7 0x9685 #CJK UNIFIED IDEOGRAPH +0x8BF8 0x4E32 #CJK UNIFIED IDEOGRAPH +0x8BF9 0x6ADB #CJK UNIFIED IDEOGRAPH +0x8BFA 0x91E7 #CJK UNIFIED IDEOGRAPH +0x8BFB 0x5C51 #CJK UNIFIED IDEOGRAPH +0x8BFC 0x5C48 #CJK UNIFIED IDEOGRAPH +0x8C40 0x6398 #CJK UNIFIED IDEOGRAPH +0x8C41 0x7A9F #CJK UNIFIED IDEOGRAPH +0x8C42 0x6C93 #CJK UNIFIED IDEOGRAPH +0x8C43 0x9774 #CJK UNIFIED IDEOGRAPH +0x8C44 0x8F61 #CJK UNIFIED IDEOGRAPH +0x8C45 0x7AAA #CJK UNIFIED IDEOGRAPH +0x8C46 0x718A #CJK UNIFIED IDEOGRAPH +0x8C47 0x9688 #CJK UNIFIED IDEOGRAPH +0x8C48 0x7C82 #CJK UNIFIED IDEOGRAPH +0x8C49 0x6817 #CJK UNIFIED IDEOGRAPH +0x8C4A 0x7E70 #CJK UNIFIED IDEOGRAPH +0x8C4B 0x6851 #CJK UNIFIED IDEOGRAPH +0x8C4C 0x936C #CJK UNIFIED IDEOGRAPH +0x8C4D 0x52F2 #CJK UNIFIED IDEOGRAPH +0x8C4E 0x541B #CJK UNIFIED IDEOGRAPH +0x8C4F 0x85AB #CJK UNIFIED IDEOGRAPH +0x8C50 0x8A13 #CJK UNIFIED IDEOGRAPH +0x8C51 0x7FA4 #CJK UNIFIED IDEOGRAPH +0x8C52 0x8ECD #CJK UNIFIED IDEOGRAPH +0x8C53 0x90E1 #CJK UNIFIED IDEOGRAPH +0x8C54 0x5366 #CJK UNIFIED IDEOGRAPH +0x8C55 0x8888 #CJK UNIFIED IDEOGRAPH +0x8C56 0x7941 #CJK UNIFIED IDEOGRAPH +0x8C57 0x4FC2 #CJK UNIFIED IDEOGRAPH +0x8C58 0x50BE #CJK UNIFIED IDEOGRAPH +0x8C59 0x5211 #CJK UNIFIED IDEOGRAPH +0x8C5A 0x5144 #CJK UNIFIED IDEOGRAPH +0x8C5B 0x5553 #CJK UNIFIED IDEOGRAPH +0x8C5C 0x572D #CJK UNIFIED IDEOGRAPH +0x8C5D 0x73EA #CJK UNIFIED IDEOGRAPH +0x8C5E 0x578B #CJK UNIFIED IDEOGRAPH +0x8C5F 0x5951 #CJK UNIFIED IDEOGRAPH +0x8C60 0x5F62 #CJK UNIFIED IDEOGRAPH +0x8C61 0x5F84 #CJK UNIFIED IDEOGRAPH +0x8C62 0x6075 #CJK UNIFIED IDEOGRAPH +0x8C63 0x6176 #CJK UNIFIED IDEOGRAPH +0x8C64 0x6167 #CJK UNIFIED IDEOGRAPH +0x8C65 0x61A9 #CJK UNIFIED IDEOGRAPH +0x8C66 0x63B2 #CJK UNIFIED IDEOGRAPH +0x8C67 0x643A #CJK UNIFIED IDEOGRAPH +0x8C68 0x656C #CJK UNIFIED IDEOGRAPH +0x8C69 0x666F #CJK UNIFIED IDEOGRAPH +0x8C6A 0x6842 #CJK UNIFIED IDEOGRAPH +0x8C6B 0x6E13 #CJK UNIFIED IDEOGRAPH +0x8C6C 0x7566 #CJK UNIFIED IDEOGRAPH +0x8C6D 0x7A3D #CJK UNIFIED IDEOGRAPH +0x8C6E 0x7CFB #CJK UNIFIED IDEOGRAPH +0x8C6F 0x7D4C #CJK UNIFIED IDEOGRAPH +0x8C70 0x7D99 #CJK UNIFIED IDEOGRAPH +0x8C71 0x7E4B #CJK UNIFIED IDEOGRAPH +0x8C72 0x7F6B #CJK UNIFIED IDEOGRAPH +0x8C73 0x830E #CJK UNIFIED IDEOGRAPH +0x8C74 0x834A #CJK UNIFIED IDEOGRAPH +0x8C75 0x86CD #CJK UNIFIED IDEOGRAPH +0x8C76 0x8A08 #CJK UNIFIED IDEOGRAPH +0x8C77 0x8A63 #CJK UNIFIED IDEOGRAPH +0x8C78 0x8B66 #CJK UNIFIED IDEOGRAPH +0x8C79 0x8EFD #CJK UNIFIED IDEOGRAPH +0x8C7A 0x981A #CJK UNIFIED IDEOGRAPH +0x8C7B 0x9D8F #CJK UNIFIED IDEOGRAPH +0x8C7C 0x82B8 #CJK UNIFIED IDEOGRAPH +0x8C7D 0x8FCE #CJK UNIFIED IDEOGRAPH +0x8C7E 0x9BE8 #CJK UNIFIED IDEOGRAPH +0x8C80 0x5287 #CJK UNIFIED IDEOGRAPH +0x8C81 0x621F #CJK UNIFIED IDEOGRAPH +0x8C82 0x6483 #CJK UNIFIED IDEOGRAPH +0x8C83 0x6FC0 #CJK UNIFIED IDEOGRAPH +0x8C84 0x9699 #CJK UNIFIED IDEOGRAPH +0x8C85 0x6841 #CJK UNIFIED IDEOGRAPH +0x8C86 0x5091 #CJK UNIFIED IDEOGRAPH +0x8C87 0x6B20 #CJK UNIFIED IDEOGRAPH +0x8C88 0x6C7A #CJK UNIFIED IDEOGRAPH +0x8C89 0x6F54 #CJK UNIFIED IDEOGRAPH +0x8C8A 0x7A74 #CJK UNIFIED IDEOGRAPH +0x8C8B 0x7D50 #CJK UNIFIED IDEOGRAPH +0x8C8C 0x8840 #CJK UNIFIED IDEOGRAPH +0x8C8D 0x8A23 #CJK UNIFIED IDEOGRAPH +0x8C8E 0x6708 #CJK UNIFIED IDEOGRAPH +0x8C8F 0x4EF6 #CJK UNIFIED IDEOGRAPH +0x8C90 0x5039 #CJK UNIFIED IDEOGRAPH +0x8C91 0x5026 #CJK UNIFIED IDEOGRAPH +0x8C92 0x5065 #CJK UNIFIED IDEOGRAPH +0x8C93 0x517C #CJK UNIFIED IDEOGRAPH +0x8C94 0x5238 #CJK UNIFIED IDEOGRAPH +0x8C95 0x5263 #CJK UNIFIED IDEOGRAPH +0x8C96 0x55A7 #CJK UNIFIED IDEOGRAPH +0x8C97 0x570F #CJK UNIFIED IDEOGRAPH +0x8C98 0x5805 #CJK UNIFIED IDEOGRAPH +0x8C99 0x5ACC #CJK UNIFIED IDEOGRAPH +0x8C9A 0x5EFA #CJK UNIFIED IDEOGRAPH +0x8C9B 0x61B2 #CJK UNIFIED IDEOGRAPH +0x8C9C 0x61F8 #CJK UNIFIED IDEOGRAPH +0x8C9D 0x62F3 #CJK UNIFIED IDEOGRAPH +0x8C9E 0x6372 #CJK UNIFIED IDEOGRAPH +0x8C9F 0x691C #CJK UNIFIED IDEOGRAPH +0x8CA0 0x6A29 #CJK UNIFIED IDEOGRAPH +0x8CA1 0x727D #CJK UNIFIED IDEOGRAPH +0x8CA2 0x72AC #CJK UNIFIED IDEOGRAPH +0x8CA3 0x732E #CJK UNIFIED IDEOGRAPH +0x8CA4 0x7814 #CJK UNIFIED IDEOGRAPH +0x8CA5 0x786F #CJK UNIFIED IDEOGRAPH +0x8CA6 0x7D79 #CJK UNIFIED IDEOGRAPH +0x8CA7 0x770C #CJK UNIFIED IDEOGRAPH +0x8CA8 0x80A9 #CJK UNIFIED IDEOGRAPH +0x8CA9 0x898B #CJK UNIFIED IDEOGRAPH +0x8CAA 0x8B19 #CJK UNIFIED IDEOGRAPH +0x8CAB 0x8CE2 #CJK UNIFIED IDEOGRAPH +0x8CAC 0x8ED2 #CJK UNIFIED IDEOGRAPH +0x8CAD 0x9063 #CJK UNIFIED IDEOGRAPH +0x8CAE 0x9375 #CJK UNIFIED IDEOGRAPH +0x8CAF 0x967A #CJK UNIFIED IDEOGRAPH +0x8CB0 0x9855 #CJK UNIFIED IDEOGRAPH +0x8CB1 0x9A13 #CJK UNIFIED IDEOGRAPH +0x8CB2 0x9E78 #CJK UNIFIED IDEOGRAPH +0x8CB3 0x5143 #CJK UNIFIED IDEOGRAPH +0x8CB4 0x539F #CJK UNIFIED IDEOGRAPH +0x8CB5 0x53B3 #CJK UNIFIED IDEOGRAPH +0x8CB6 0x5E7B #CJK UNIFIED IDEOGRAPH +0x8CB7 0x5F26 #CJK UNIFIED IDEOGRAPH +0x8CB8 0x6E1B #CJK UNIFIED IDEOGRAPH +0x8CB9 0x6E90 #CJK UNIFIED IDEOGRAPH +0x8CBA 0x7384 #CJK UNIFIED IDEOGRAPH +0x8CBB 0x73FE #CJK UNIFIED IDEOGRAPH +0x8CBC 0x7D43 #CJK UNIFIED IDEOGRAPH +0x8CBD 0x8237 #CJK UNIFIED IDEOGRAPH +0x8CBE 0x8A00 #CJK UNIFIED IDEOGRAPH +0x8CBF 0x8AFA #CJK UNIFIED IDEOGRAPH +0x8CC0 0x9650 #CJK UNIFIED IDEOGRAPH +0x8CC1 0x4E4E #CJK UNIFIED IDEOGRAPH +0x8CC2 0x500B #CJK UNIFIED IDEOGRAPH +0x8CC3 0x53E4 #CJK UNIFIED IDEOGRAPH +0x8CC4 0x547C #CJK UNIFIED IDEOGRAPH +0x8CC5 0x56FA #CJK UNIFIED IDEOGRAPH +0x8CC6 0x59D1 #CJK UNIFIED IDEOGRAPH +0x8CC7 0x5B64 #CJK UNIFIED IDEOGRAPH +0x8CC8 0x5DF1 #CJK UNIFIED IDEOGRAPH +0x8CC9 0x5EAB #CJK UNIFIED IDEOGRAPH +0x8CCA 0x5F27 #CJK UNIFIED IDEOGRAPH +0x8CCB 0x6238 #CJK UNIFIED IDEOGRAPH +0x8CCC 0x6545 #CJK UNIFIED IDEOGRAPH +0x8CCD 0x67AF #CJK UNIFIED IDEOGRAPH +0x8CCE 0x6E56 #CJK UNIFIED IDEOGRAPH +0x8CCF 0x72D0 #CJK UNIFIED IDEOGRAPH +0x8CD0 0x7CCA #CJK UNIFIED IDEOGRAPH +0x8CD1 0x88B4 #CJK UNIFIED IDEOGRAPH +0x8CD2 0x80A1 #CJK UNIFIED IDEOGRAPH +0x8CD3 0x80E1 #CJK UNIFIED IDEOGRAPH +0x8CD4 0x83F0 #CJK UNIFIED IDEOGRAPH +0x8CD5 0x864E #CJK UNIFIED IDEOGRAPH +0x8CD6 0x8A87 #CJK UNIFIED IDEOGRAPH +0x8CD7 0x8DE8 #CJK UNIFIED IDEOGRAPH +0x8CD8 0x9237 #CJK UNIFIED IDEOGRAPH +0x8CD9 0x96C7 #CJK UNIFIED IDEOGRAPH +0x8CDA 0x9867 #CJK UNIFIED IDEOGRAPH +0x8CDB 0x9F13 #CJK UNIFIED IDEOGRAPH +0x8CDC 0x4E94 #CJK UNIFIED IDEOGRAPH +0x8CDD 0x4E92 #CJK UNIFIED IDEOGRAPH +0x8CDE 0x4F0D #CJK UNIFIED IDEOGRAPH +0x8CDF 0x5348 #CJK UNIFIED IDEOGRAPH +0x8CE0 0x5449 #CJK UNIFIED IDEOGRAPH +0x8CE1 0x543E #CJK UNIFIED IDEOGRAPH +0x8CE2 0x5A2F #CJK UNIFIED IDEOGRAPH +0x8CE3 0x5F8C #CJK UNIFIED IDEOGRAPH +0x8CE4 0x5FA1 #CJK UNIFIED IDEOGRAPH +0x8CE5 0x609F #CJK UNIFIED IDEOGRAPH +0x8CE6 0x68A7 #CJK UNIFIED IDEOGRAPH +0x8CE7 0x6A8E #CJK UNIFIED IDEOGRAPH +0x8CE8 0x745A #CJK UNIFIED IDEOGRAPH +0x8CE9 0x7881 #CJK UNIFIED IDEOGRAPH +0x8CEA 0x8A9E #CJK UNIFIED IDEOGRAPH +0x8CEB 0x8AA4 #CJK UNIFIED IDEOGRAPH +0x8CEC 0x8B77 #CJK UNIFIED IDEOGRAPH +0x8CED 0x9190 #CJK UNIFIED IDEOGRAPH +0x8CEE 0x4E5E #CJK UNIFIED IDEOGRAPH +0x8CEF 0x9BC9 #CJK UNIFIED IDEOGRAPH +0x8CF0 0x4EA4 #CJK UNIFIED IDEOGRAPH +0x8CF1 0x4F7C #CJK UNIFIED IDEOGRAPH +0x8CF2 0x4FAF #CJK UNIFIED IDEOGRAPH +0x8CF3 0x5019 #CJK UNIFIED IDEOGRAPH +0x8CF4 0x5016 #CJK UNIFIED IDEOGRAPH +0x8CF5 0x5149 #CJK UNIFIED IDEOGRAPH +0x8CF6 0x516C #CJK UNIFIED IDEOGRAPH +0x8CF7 0x529F #CJK UNIFIED IDEOGRAPH +0x8CF8 0x52B9 #CJK UNIFIED IDEOGRAPH +0x8CF9 0x52FE #CJK UNIFIED IDEOGRAPH +0x8CFA 0x539A #CJK UNIFIED IDEOGRAPH +0x8CFB 0x53E3 #CJK UNIFIED IDEOGRAPH +0x8CFC 0x5411 #CJK UNIFIED IDEOGRAPH +0x8D40 0x540E #CJK UNIFIED IDEOGRAPH +0x8D41 0x5589 #CJK UNIFIED IDEOGRAPH +0x8D42 0x5751 #CJK UNIFIED IDEOGRAPH +0x8D43 0x57A2 #CJK UNIFIED IDEOGRAPH +0x8D44 0x597D #CJK UNIFIED IDEOGRAPH +0x8D45 0x5B54 #CJK UNIFIED IDEOGRAPH +0x8D46 0x5B5D #CJK UNIFIED IDEOGRAPH +0x8D47 0x5B8F #CJK UNIFIED IDEOGRAPH +0x8D48 0x5DE5 #CJK UNIFIED IDEOGRAPH +0x8D49 0x5DE7 #CJK UNIFIED IDEOGRAPH +0x8D4A 0x5DF7 #CJK UNIFIED IDEOGRAPH +0x8D4B 0x5E78 #CJK UNIFIED IDEOGRAPH +0x8D4C 0x5E83 #CJK UNIFIED IDEOGRAPH +0x8D4D 0x5E9A #CJK UNIFIED IDEOGRAPH +0x8D4E 0x5EB7 #CJK UNIFIED IDEOGRAPH +0x8D4F 0x5F18 #CJK UNIFIED IDEOGRAPH +0x8D50 0x6052 #CJK UNIFIED IDEOGRAPH +0x8D51 0x614C #CJK UNIFIED IDEOGRAPH +0x8D52 0x6297 #CJK UNIFIED IDEOGRAPH +0x8D53 0x62D8 #CJK UNIFIED IDEOGRAPH +0x8D54 0x63A7 #CJK UNIFIED IDEOGRAPH +0x8D55 0x653B #CJK UNIFIED IDEOGRAPH +0x8D56 0x6602 #CJK UNIFIED IDEOGRAPH +0x8D57 0x6643 #CJK UNIFIED IDEOGRAPH +0x8D58 0x66F4 #CJK UNIFIED IDEOGRAPH +0x8D59 0x676D #CJK UNIFIED IDEOGRAPH +0x8D5A 0x6821 #CJK UNIFIED IDEOGRAPH +0x8D5B 0x6897 #CJK UNIFIED IDEOGRAPH +0x8D5C 0x69CB #CJK UNIFIED IDEOGRAPH +0x8D5D 0x6C5F #CJK UNIFIED IDEOGRAPH +0x8D5E 0x6D2A #CJK UNIFIED IDEOGRAPH +0x8D5F 0x6D69 #CJK UNIFIED IDEOGRAPH +0x8D60 0x6E2F #CJK UNIFIED IDEOGRAPH +0x8D61 0x6E9D #CJK UNIFIED IDEOGRAPH +0x8D62 0x7532 #CJK UNIFIED IDEOGRAPH +0x8D63 0x7687 #CJK UNIFIED IDEOGRAPH +0x8D64 0x786C #CJK UNIFIED IDEOGRAPH +0x8D65 0x7A3F #CJK UNIFIED IDEOGRAPH +0x8D66 0x7CE0 #CJK UNIFIED IDEOGRAPH +0x8D67 0x7D05 #CJK UNIFIED IDEOGRAPH +0x8D68 0x7D18 #CJK UNIFIED IDEOGRAPH +0x8D69 0x7D5E #CJK UNIFIED IDEOGRAPH +0x8D6A 0x7DB1 #CJK UNIFIED IDEOGRAPH +0x8D6B 0x8015 #CJK UNIFIED IDEOGRAPH +0x8D6C 0x8003 #CJK UNIFIED IDEOGRAPH +0x8D6D 0x80AF #CJK UNIFIED IDEOGRAPH +0x8D6E 0x80B1 #CJK UNIFIED IDEOGRAPH +0x8D6F 0x8154 #CJK UNIFIED IDEOGRAPH +0x8D70 0x818F #CJK UNIFIED IDEOGRAPH +0x8D71 0x822A #CJK UNIFIED IDEOGRAPH +0x8D72 0x8352 #CJK UNIFIED IDEOGRAPH +0x8D73 0x884C #CJK UNIFIED IDEOGRAPH +0x8D74 0x8861 #CJK UNIFIED IDEOGRAPH +0x8D75 0x8B1B #CJK UNIFIED IDEOGRAPH +0x8D76 0x8CA2 #CJK UNIFIED IDEOGRAPH +0x8D77 0x8CFC #CJK UNIFIED IDEOGRAPH +0x8D78 0x90CA #CJK UNIFIED IDEOGRAPH +0x8D79 0x9175 #CJK UNIFIED IDEOGRAPH +0x8D7A 0x9271 #CJK UNIFIED IDEOGRAPH +0x8D7B 0x783F #CJK UNIFIED IDEOGRAPH +0x8D7C 0x92FC #CJK UNIFIED IDEOGRAPH +0x8D7D 0x95A4 #CJK UNIFIED IDEOGRAPH +0x8D7E 0x964D #CJK UNIFIED IDEOGRAPH +0x8D80 0x9805 #CJK UNIFIED IDEOGRAPH +0x8D81 0x9999 #CJK UNIFIED IDEOGRAPH +0x8D82 0x9AD8 #CJK UNIFIED IDEOGRAPH +0x8D83 0x9D3B #CJK UNIFIED IDEOGRAPH +0x8D84 0x525B #CJK UNIFIED IDEOGRAPH +0x8D85 0x52AB #CJK UNIFIED IDEOGRAPH +0x8D86 0x53F7 #CJK UNIFIED IDEOGRAPH +0x8D87 0x5408 #CJK UNIFIED IDEOGRAPH +0x8D88 0x58D5 #CJK UNIFIED IDEOGRAPH +0x8D89 0x62F7 #CJK UNIFIED IDEOGRAPH +0x8D8A 0x6FE0 #CJK UNIFIED IDEOGRAPH +0x8D8B 0x8C6A #CJK UNIFIED IDEOGRAPH +0x8D8C 0x8F5F #CJK UNIFIED IDEOGRAPH +0x8D8D 0x9EB9 #CJK UNIFIED IDEOGRAPH +0x8D8E 0x514B #CJK UNIFIED IDEOGRAPH +0x8D8F 0x523B #CJK UNIFIED IDEOGRAPH +0x8D90 0x544A #CJK UNIFIED IDEOGRAPH +0x8D91 0x56FD #CJK UNIFIED IDEOGRAPH +0x8D92 0x7A40 #CJK UNIFIED IDEOGRAPH +0x8D93 0x9177 #CJK UNIFIED IDEOGRAPH +0x8D94 0x9D60 #CJK UNIFIED IDEOGRAPH +0x8D95 0x9ED2 #CJK UNIFIED IDEOGRAPH +0x8D96 0x7344 #CJK UNIFIED IDEOGRAPH +0x8D97 0x6F09 #CJK UNIFIED IDEOGRAPH +0x8D98 0x8170 #CJK UNIFIED IDEOGRAPH +0x8D99 0x7511 #CJK UNIFIED IDEOGRAPH +0x8D9A 0x5FFD #CJK UNIFIED IDEOGRAPH +0x8D9B 0x60DA #CJK UNIFIED IDEOGRAPH +0x8D9C 0x9AA8 #CJK UNIFIED IDEOGRAPH +0x8D9D 0x72DB #CJK UNIFIED IDEOGRAPH +0x8D9E 0x8FBC #CJK UNIFIED IDEOGRAPH +0x8D9F 0x6B64 #CJK UNIFIED IDEOGRAPH +0x8DA0 0x9803 #CJK UNIFIED IDEOGRAPH +0x8DA1 0x4ECA #CJK UNIFIED IDEOGRAPH +0x8DA2 0x56F0 #CJK UNIFIED IDEOGRAPH +0x8DA3 0x5764 #CJK UNIFIED IDEOGRAPH +0x8DA4 0x58BE #CJK UNIFIED IDEOGRAPH +0x8DA5 0x5A5A #CJK UNIFIED IDEOGRAPH +0x8DA6 0x6068 #CJK UNIFIED IDEOGRAPH +0x8DA7 0x61C7 #CJK UNIFIED IDEOGRAPH +0x8DA8 0x660F #CJK UNIFIED IDEOGRAPH +0x8DA9 0x6606 #CJK UNIFIED IDEOGRAPH +0x8DAA 0x6839 #CJK UNIFIED IDEOGRAPH +0x8DAB 0x68B1 #CJK UNIFIED IDEOGRAPH +0x8DAC 0x6DF7 #CJK UNIFIED IDEOGRAPH +0x8DAD 0x75D5 #CJK UNIFIED IDEOGRAPH +0x8DAE 0x7D3A #CJK UNIFIED IDEOGRAPH +0x8DAF 0x826E #CJK UNIFIED IDEOGRAPH +0x8DB0 0x9B42 #CJK UNIFIED IDEOGRAPH +0x8DB1 0x4E9B #CJK UNIFIED IDEOGRAPH +0x8DB2 0x4F50 #CJK UNIFIED IDEOGRAPH +0x8DB3 0x53C9 #CJK UNIFIED IDEOGRAPH +0x8DB4 0x5506 #CJK UNIFIED IDEOGRAPH +0x8DB5 0x5D6F #CJK UNIFIED IDEOGRAPH +0x8DB6 0x5DE6 #CJK UNIFIED IDEOGRAPH +0x8DB7 0x5DEE #CJK UNIFIED IDEOGRAPH +0x8DB8 0x67FB #CJK UNIFIED IDEOGRAPH +0x8DB9 0x6C99 #CJK UNIFIED IDEOGRAPH +0x8DBA 0x7473 #CJK UNIFIED IDEOGRAPH +0x8DBB 0x7802 #CJK UNIFIED IDEOGRAPH +0x8DBC 0x8A50 #CJK UNIFIED IDEOGRAPH +0x8DBD 0x9396 #CJK UNIFIED IDEOGRAPH +0x8DBE 0x88DF #CJK UNIFIED IDEOGRAPH +0x8DBF 0x5750 #CJK UNIFIED IDEOGRAPH +0x8DC0 0x5EA7 #CJK UNIFIED IDEOGRAPH +0x8DC1 0x632B #CJK UNIFIED IDEOGRAPH +0x8DC2 0x50B5 #CJK UNIFIED IDEOGRAPH +0x8DC3 0x50AC #CJK UNIFIED IDEOGRAPH +0x8DC4 0x518D #CJK UNIFIED IDEOGRAPH +0x8DC5 0x6700 #CJK UNIFIED IDEOGRAPH +0x8DC6 0x54C9 #CJK UNIFIED IDEOGRAPH +0x8DC7 0x585E #CJK UNIFIED IDEOGRAPH +0x8DC8 0x59BB #CJK UNIFIED IDEOGRAPH +0x8DC9 0x5BB0 #CJK UNIFIED IDEOGRAPH +0x8DCA 0x5F69 #CJK UNIFIED IDEOGRAPH +0x8DCB 0x624D #CJK UNIFIED IDEOGRAPH +0x8DCC 0x63A1 #CJK UNIFIED IDEOGRAPH +0x8DCD 0x683D #CJK UNIFIED IDEOGRAPH +0x8DCE 0x6B73 #CJK UNIFIED IDEOGRAPH +0x8DCF 0x6E08 #CJK UNIFIED IDEOGRAPH +0x8DD0 0x707D #CJK UNIFIED IDEOGRAPH +0x8DD1 0x91C7 #CJK UNIFIED IDEOGRAPH +0x8DD2 0x7280 #CJK UNIFIED IDEOGRAPH +0x8DD3 0x7815 #CJK UNIFIED IDEOGRAPH +0x8DD4 0x7826 #CJK UNIFIED IDEOGRAPH +0x8DD5 0x796D #CJK UNIFIED IDEOGRAPH +0x8DD6 0x658E #CJK UNIFIED IDEOGRAPH +0x8DD7 0x7D30 #CJK UNIFIED IDEOGRAPH +0x8DD8 0x83DC #CJK UNIFIED IDEOGRAPH +0x8DD9 0x88C1 #CJK UNIFIED IDEOGRAPH +0x8DDA 0x8F09 #CJK UNIFIED IDEOGRAPH +0x8DDB 0x969B #CJK UNIFIED IDEOGRAPH +0x8DDC 0x5264 #CJK UNIFIED IDEOGRAPH +0x8DDD 0x5728 #CJK UNIFIED IDEOGRAPH +0x8DDE 0x6750 #CJK UNIFIED IDEOGRAPH +0x8DDF 0x7F6A #CJK UNIFIED IDEOGRAPH +0x8DE0 0x8CA1 #CJK UNIFIED IDEOGRAPH +0x8DE1 0x51B4 #CJK UNIFIED IDEOGRAPH +0x8DE2 0x5742 #CJK UNIFIED IDEOGRAPH +0x8DE3 0x962A #CJK UNIFIED IDEOGRAPH +0x8DE4 0x583A #CJK UNIFIED IDEOGRAPH +0x8DE5 0x698A #CJK UNIFIED IDEOGRAPH +0x8DE6 0x80B4 #CJK UNIFIED IDEOGRAPH +0x8DE7 0x54B2 #CJK UNIFIED IDEOGRAPH +0x8DE8 0x5D0E #CJK UNIFIED IDEOGRAPH +0x8DE9 0x57FC #CJK UNIFIED IDEOGRAPH +0x8DEA 0x7895 #CJK UNIFIED IDEOGRAPH +0x8DEB 0x9DFA #CJK UNIFIED IDEOGRAPH +0x8DEC 0x4F5C #CJK UNIFIED IDEOGRAPH +0x8DED 0x524A #CJK UNIFIED IDEOGRAPH +0x8DEE 0x548B #CJK UNIFIED IDEOGRAPH +0x8DEF 0x643E #CJK UNIFIED IDEOGRAPH +0x8DF0 0x6628 #CJK UNIFIED IDEOGRAPH +0x8DF1 0x6714 #CJK UNIFIED IDEOGRAPH +0x8DF2 0x67F5 #CJK UNIFIED IDEOGRAPH +0x8DF3 0x7A84 #CJK UNIFIED IDEOGRAPH +0x8DF4 0x7B56 #CJK UNIFIED IDEOGRAPH +0x8DF5 0x7D22 #CJK UNIFIED IDEOGRAPH +0x8DF6 0x932F #CJK UNIFIED IDEOGRAPH +0x8DF7 0x685C #CJK UNIFIED IDEOGRAPH +0x8DF8 0x9BAD #CJK UNIFIED IDEOGRAPH +0x8DF9 0x7B39 #CJK UNIFIED IDEOGRAPH +0x8DFA 0x5319 #CJK UNIFIED IDEOGRAPH +0x8DFB 0x518A #CJK UNIFIED IDEOGRAPH +0x8DFC 0x5237 #CJK UNIFIED IDEOGRAPH +0x8E40 0x5BDF #CJK UNIFIED IDEOGRAPH +0x8E41 0x62F6 #CJK UNIFIED IDEOGRAPH +0x8E42 0x64AE #CJK UNIFIED IDEOGRAPH +0x8E43 0x64E6 #CJK UNIFIED IDEOGRAPH +0x8E44 0x672D #CJK UNIFIED IDEOGRAPH +0x8E45 0x6BBA #CJK UNIFIED IDEOGRAPH +0x8E46 0x85A9 #CJK UNIFIED IDEOGRAPH +0x8E47 0x96D1 #CJK UNIFIED IDEOGRAPH +0x8E48 0x7690 #CJK UNIFIED IDEOGRAPH +0x8E49 0x9BD6 #CJK UNIFIED IDEOGRAPH +0x8E4A 0x634C #CJK UNIFIED IDEOGRAPH +0x8E4B 0x9306 #CJK UNIFIED IDEOGRAPH +0x8E4C 0x9BAB #CJK UNIFIED IDEOGRAPH +0x8E4D 0x76BF #CJK UNIFIED IDEOGRAPH +0x8E4E 0x6652 #CJK UNIFIED IDEOGRAPH +0x8E4F 0x4E09 #CJK UNIFIED IDEOGRAPH +0x8E50 0x5098 #CJK UNIFIED IDEOGRAPH +0x8E51 0x53C2 #CJK UNIFIED IDEOGRAPH +0x8E52 0x5C71 #CJK UNIFIED IDEOGRAPH +0x8E53 0x60E8 #CJK UNIFIED IDEOGRAPH +0x8E54 0x6492 #CJK UNIFIED IDEOGRAPH +0x8E55 0x6563 #CJK UNIFIED IDEOGRAPH +0x8E56 0x685F #CJK UNIFIED IDEOGRAPH +0x8E57 0x71E6 #CJK UNIFIED IDEOGRAPH +0x8E58 0x73CA #CJK UNIFIED IDEOGRAPH +0x8E59 0x7523 #CJK UNIFIED IDEOGRAPH +0x8E5A 0x7B97 #CJK UNIFIED IDEOGRAPH +0x8E5B 0x7E82 #CJK UNIFIED IDEOGRAPH +0x8E5C 0x8695 #CJK UNIFIED IDEOGRAPH +0x8E5D 0x8B83 #CJK UNIFIED IDEOGRAPH +0x8E5E 0x8CDB #CJK UNIFIED IDEOGRAPH +0x8E5F 0x9178 #CJK UNIFIED IDEOGRAPH +0x8E60 0x9910 #CJK UNIFIED IDEOGRAPH +0x8E61 0x65AC #CJK UNIFIED IDEOGRAPH +0x8E62 0x66AB #CJK UNIFIED IDEOGRAPH +0x8E63 0x6B8B #CJK UNIFIED IDEOGRAPH +0x8E64 0x4ED5 #CJK UNIFIED IDEOGRAPH +0x8E65 0x4ED4 #CJK UNIFIED IDEOGRAPH +0x8E66 0x4F3A #CJK UNIFIED IDEOGRAPH +0x8E67 0x4F7F #CJK UNIFIED IDEOGRAPH +0x8E68 0x523A #CJK UNIFIED IDEOGRAPH +0x8E69 0x53F8 #CJK UNIFIED IDEOGRAPH +0x8E6A 0x53F2 #CJK UNIFIED IDEOGRAPH +0x8E6B 0x55E3 #CJK UNIFIED IDEOGRAPH +0x8E6C 0x56DB #CJK UNIFIED IDEOGRAPH +0x8E6D 0x58EB #CJK UNIFIED IDEOGRAPH +0x8E6E 0x59CB #CJK UNIFIED IDEOGRAPH +0x8E6F 0x59C9 #CJK UNIFIED IDEOGRAPH +0x8E70 0x59FF #CJK UNIFIED IDEOGRAPH +0x8E71 0x5B50 #CJK UNIFIED IDEOGRAPH +0x8E72 0x5C4D #CJK UNIFIED IDEOGRAPH +0x8E73 0x5E02 #CJK UNIFIED IDEOGRAPH +0x8E74 0x5E2B #CJK UNIFIED IDEOGRAPH +0x8E75 0x5FD7 #CJK UNIFIED IDEOGRAPH +0x8E76 0x601D #CJK UNIFIED IDEOGRAPH +0x8E77 0x6307 #CJK UNIFIED IDEOGRAPH +0x8E78 0x652F #CJK UNIFIED IDEOGRAPH +0x8E79 0x5B5C #CJK UNIFIED IDEOGRAPH +0x8E7A 0x65AF #CJK UNIFIED IDEOGRAPH +0x8E7B 0x65BD #CJK UNIFIED IDEOGRAPH +0x8E7C 0x65E8 #CJK UNIFIED IDEOGRAPH +0x8E7D 0x679D #CJK UNIFIED IDEOGRAPH +0x8E7E 0x6B62 #CJK UNIFIED IDEOGRAPH +0x8E80 0x6B7B #CJK UNIFIED IDEOGRAPH +0x8E81 0x6C0F #CJK UNIFIED IDEOGRAPH +0x8E82 0x7345 #CJK UNIFIED IDEOGRAPH +0x8E83 0x7949 #CJK UNIFIED IDEOGRAPH +0x8E84 0x79C1 #CJK UNIFIED IDEOGRAPH +0x8E85 0x7CF8 #CJK UNIFIED IDEOGRAPH +0x8E86 0x7D19 #CJK UNIFIED IDEOGRAPH +0x8E87 0x7D2B #CJK UNIFIED IDEOGRAPH +0x8E88 0x80A2 #CJK UNIFIED IDEOGRAPH +0x8E89 0x8102 #CJK UNIFIED IDEOGRAPH +0x8E8A 0x81F3 #CJK UNIFIED IDEOGRAPH +0x8E8B 0x8996 #CJK UNIFIED IDEOGRAPH +0x8E8C 0x8A5E #CJK UNIFIED IDEOGRAPH +0x8E8D 0x8A69 #CJK UNIFIED IDEOGRAPH +0x8E8E 0x8A66 #CJK UNIFIED IDEOGRAPH +0x8E8F 0x8A8C #CJK UNIFIED IDEOGRAPH +0x8E90 0x8AEE #CJK UNIFIED IDEOGRAPH +0x8E91 0x8CC7 #CJK UNIFIED IDEOGRAPH +0x8E92 0x8CDC #CJK UNIFIED IDEOGRAPH +0x8E93 0x96CC #CJK UNIFIED IDEOGRAPH +0x8E94 0x98FC #CJK UNIFIED IDEOGRAPH +0x8E95 0x6B6F #CJK UNIFIED IDEOGRAPH +0x8E96 0x4E8B #CJK UNIFIED IDEOGRAPH +0x8E97 0x4F3C #CJK UNIFIED IDEOGRAPH +0x8E98 0x4F8D #CJK UNIFIED IDEOGRAPH +0x8E99 0x5150 #CJK UNIFIED IDEOGRAPH +0x8E9A 0x5B57 #CJK UNIFIED IDEOGRAPH +0x8E9B 0x5BFA #CJK UNIFIED IDEOGRAPH +0x8E9C 0x6148 #CJK UNIFIED IDEOGRAPH +0x8E9D 0x6301 #CJK UNIFIED IDEOGRAPH +0x8E9E 0x6642 #CJK UNIFIED IDEOGRAPH +0x8E9F 0x6B21 #CJK UNIFIED IDEOGRAPH +0x8EA0 0x6ECB #CJK UNIFIED IDEOGRAPH +0x8EA1 0x6CBB #CJK UNIFIED IDEOGRAPH +0x8EA2 0x723E #CJK UNIFIED IDEOGRAPH +0x8EA3 0x74BD #CJK UNIFIED IDEOGRAPH +0x8EA4 0x75D4 #CJK UNIFIED IDEOGRAPH +0x8EA5 0x78C1 #CJK UNIFIED IDEOGRAPH +0x8EA6 0x793A #CJK UNIFIED IDEOGRAPH +0x8EA7 0x800C #CJK UNIFIED IDEOGRAPH +0x8EA8 0x8033 #CJK UNIFIED IDEOGRAPH +0x8EA9 0x81EA #CJK UNIFIED IDEOGRAPH +0x8EAA 0x8494 #CJK UNIFIED IDEOGRAPH +0x8EAB 0x8F9E #CJK UNIFIED IDEOGRAPH +0x8EAC 0x6C50 #CJK UNIFIED IDEOGRAPH +0x8EAD 0x9E7F #CJK UNIFIED IDEOGRAPH +0x8EAE 0x5F0F #CJK UNIFIED IDEOGRAPH +0x8EAF 0x8B58 #CJK UNIFIED IDEOGRAPH +0x8EB0 0x9D2B #CJK UNIFIED IDEOGRAPH +0x8EB1 0x7AFA #CJK UNIFIED IDEOGRAPH +0x8EB2 0x8EF8 #CJK UNIFIED IDEOGRAPH +0x8EB3 0x5B8D #CJK UNIFIED IDEOGRAPH +0x8EB4 0x96EB #CJK UNIFIED IDEOGRAPH +0x8EB5 0x4E03 #CJK UNIFIED IDEOGRAPH +0x8EB6 0x53F1 #CJK UNIFIED IDEOGRAPH +0x8EB7 0x57F7 #CJK UNIFIED IDEOGRAPH +0x8EB8 0x5931 #CJK UNIFIED IDEOGRAPH +0x8EB9 0x5AC9 #CJK UNIFIED IDEOGRAPH +0x8EBA 0x5BA4 #CJK UNIFIED IDEOGRAPH +0x8EBB 0x6089 #CJK UNIFIED IDEOGRAPH +0x8EBC 0x6E7F #CJK UNIFIED IDEOGRAPH +0x8EBD 0x6F06 #CJK UNIFIED IDEOGRAPH +0x8EBE 0x75BE #CJK UNIFIED IDEOGRAPH +0x8EBF 0x8CEA #CJK UNIFIED IDEOGRAPH +0x8EC0 0x5B9F #CJK UNIFIED IDEOGRAPH +0x8EC1 0x8500 #CJK UNIFIED IDEOGRAPH +0x8EC2 0x7BE0 #CJK UNIFIED IDEOGRAPH +0x8EC3 0x5072 #CJK UNIFIED IDEOGRAPH +0x8EC4 0x67F4 #CJK UNIFIED IDEOGRAPH +0x8EC5 0x829D #CJK UNIFIED IDEOGRAPH +0x8EC6 0x5C61 #CJK UNIFIED IDEOGRAPH +0x8EC7 0x854A #CJK UNIFIED IDEOGRAPH +0x8EC8 0x7E1E #CJK UNIFIED IDEOGRAPH +0x8EC9 0x820E #CJK UNIFIED IDEOGRAPH +0x8ECA 0x5199 #CJK UNIFIED IDEOGRAPH +0x8ECB 0x5C04 #CJK UNIFIED IDEOGRAPH +0x8ECC 0x6368 #CJK UNIFIED IDEOGRAPH +0x8ECD 0x8D66 #CJK UNIFIED IDEOGRAPH +0x8ECE 0x659C #CJK UNIFIED IDEOGRAPH +0x8ECF 0x716E #CJK UNIFIED IDEOGRAPH +0x8ED0 0x793E #CJK UNIFIED IDEOGRAPH +0x8ED1 0x7D17 #CJK UNIFIED IDEOGRAPH +0x8ED2 0x8005 #CJK UNIFIED IDEOGRAPH +0x8ED3 0x8B1D #CJK UNIFIED IDEOGRAPH +0x8ED4 0x8ECA #CJK UNIFIED IDEOGRAPH +0x8ED5 0x906E #CJK UNIFIED IDEOGRAPH +0x8ED6 0x86C7 #CJK UNIFIED IDEOGRAPH +0x8ED7 0x90AA #CJK UNIFIED IDEOGRAPH +0x8ED8 0x501F #CJK UNIFIED IDEOGRAPH +0x8ED9 0x52FA #CJK UNIFIED IDEOGRAPH +0x8EDA 0x5C3A #CJK UNIFIED IDEOGRAPH +0x8EDB 0x6753 #CJK UNIFIED IDEOGRAPH +0x8EDC 0x707C #CJK UNIFIED IDEOGRAPH +0x8EDD 0x7235 #CJK UNIFIED IDEOGRAPH +0x8EDE 0x914C #CJK UNIFIED IDEOGRAPH +0x8EDF 0x91C8 #CJK UNIFIED IDEOGRAPH +0x8EE0 0x932B #CJK UNIFIED IDEOGRAPH +0x8EE1 0x82E5 #CJK UNIFIED IDEOGRAPH +0x8EE2 0x5BC2 #CJK UNIFIED IDEOGRAPH +0x8EE3 0x5F31 #CJK UNIFIED IDEOGRAPH +0x8EE4 0x60F9 #CJK UNIFIED IDEOGRAPH +0x8EE5 0x4E3B #CJK UNIFIED IDEOGRAPH +0x8EE6 0x53D6 #CJK UNIFIED IDEOGRAPH +0x8EE7 0x5B88 #CJK UNIFIED IDEOGRAPH +0x8EE8 0x624B #CJK UNIFIED IDEOGRAPH +0x8EE9 0x6731 #CJK UNIFIED IDEOGRAPH +0x8EEA 0x6B8A #CJK UNIFIED IDEOGRAPH +0x8EEB 0x72E9 #CJK UNIFIED IDEOGRAPH +0x8EEC 0x73E0 #CJK UNIFIED IDEOGRAPH +0x8EED 0x7A2E #CJK UNIFIED IDEOGRAPH +0x8EEE 0x816B #CJK UNIFIED IDEOGRAPH +0x8EEF 0x8DA3 #CJK UNIFIED IDEOGRAPH +0x8EF0 0x9152 #CJK UNIFIED IDEOGRAPH +0x8EF1 0x9996 #CJK UNIFIED IDEOGRAPH +0x8EF2 0x5112 #CJK UNIFIED IDEOGRAPH +0x8EF3 0x53D7 #CJK UNIFIED IDEOGRAPH +0x8EF4 0x546A #CJK UNIFIED IDEOGRAPH +0x8EF5 0x5BFF #CJK UNIFIED IDEOGRAPH +0x8EF6 0x6388 #CJK UNIFIED IDEOGRAPH +0x8EF7 0x6A39 #CJK UNIFIED IDEOGRAPH +0x8EF8 0x7DAC #CJK UNIFIED IDEOGRAPH +0x8EF9 0x9700 #CJK UNIFIED IDEOGRAPH +0x8EFA 0x56DA #CJK UNIFIED IDEOGRAPH +0x8EFB 0x53CE #CJK UNIFIED IDEOGRAPH +0x8EFC 0x5468 #CJK UNIFIED IDEOGRAPH +0x8F40 0x5B97 #CJK UNIFIED IDEOGRAPH +0x8F41 0x5C31 #CJK UNIFIED IDEOGRAPH +0x8F42 0x5DDE #CJK UNIFIED IDEOGRAPH +0x8F43 0x4FEE #CJK UNIFIED IDEOGRAPH +0x8F44 0x6101 #CJK UNIFIED IDEOGRAPH +0x8F45 0x62FE #CJK UNIFIED IDEOGRAPH +0x8F46 0x6D32 #CJK UNIFIED IDEOGRAPH +0x8F47 0x79C0 #CJK UNIFIED IDEOGRAPH +0x8F48 0x79CB #CJK UNIFIED IDEOGRAPH +0x8F49 0x7D42 #CJK UNIFIED IDEOGRAPH +0x8F4A 0x7E4D #CJK UNIFIED IDEOGRAPH +0x8F4B 0x7FD2 #CJK UNIFIED IDEOGRAPH +0x8F4C 0x81ED #CJK UNIFIED IDEOGRAPH +0x8F4D 0x821F #CJK UNIFIED IDEOGRAPH +0x8F4E 0x8490 #CJK UNIFIED IDEOGRAPH +0x8F4F 0x8846 #CJK UNIFIED IDEOGRAPH +0x8F50 0x8972 #CJK UNIFIED IDEOGRAPH +0x8F51 0x8B90 #CJK UNIFIED IDEOGRAPH +0x8F52 0x8E74 #CJK UNIFIED IDEOGRAPH +0x8F53 0x8F2F #CJK UNIFIED IDEOGRAPH +0x8F54 0x9031 #CJK UNIFIED IDEOGRAPH +0x8F55 0x914B #CJK UNIFIED IDEOGRAPH +0x8F56 0x916C #CJK UNIFIED IDEOGRAPH +0x8F57 0x96C6 #CJK UNIFIED IDEOGRAPH +0x8F58 0x919C #CJK UNIFIED IDEOGRAPH +0x8F59 0x4EC0 #CJK UNIFIED IDEOGRAPH +0x8F5A 0x4F4F #CJK UNIFIED IDEOGRAPH +0x8F5B 0x5145 #CJK UNIFIED IDEOGRAPH +0x8F5C 0x5341 #CJK UNIFIED IDEOGRAPH +0x8F5D 0x5F93 #CJK UNIFIED IDEOGRAPH +0x8F5E 0x620E #CJK UNIFIED IDEOGRAPH +0x8F5F 0x67D4 #CJK UNIFIED IDEOGRAPH +0x8F60 0x6C41 #CJK UNIFIED IDEOGRAPH +0x8F61 0x6E0B #CJK UNIFIED IDEOGRAPH +0x8F62 0x7363 #CJK UNIFIED IDEOGRAPH +0x8F63 0x7E26 #CJK UNIFIED IDEOGRAPH +0x8F64 0x91CD #CJK UNIFIED IDEOGRAPH +0x8F65 0x9283 #CJK UNIFIED IDEOGRAPH +0x8F66 0x53D4 #CJK UNIFIED IDEOGRAPH +0x8F67 0x5919 #CJK UNIFIED IDEOGRAPH +0x8F68 0x5BBF #CJK UNIFIED IDEOGRAPH +0x8F69 0x6DD1 #CJK UNIFIED IDEOGRAPH +0x8F6A 0x795D #CJK UNIFIED IDEOGRAPH +0x8F6B 0x7E2E #CJK UNIFIED IDEOGRAPH +0x8F6C 0x7C9B #CJK UNIFIED IDEOGRAPH +0x8F6D 0x587E #CJK UNIFIED IDEOGRAPH +0x8F6E 0x719F #CJK UNIFIED IDEOGRAPH +0x8F6F 0x51FA #CJK UNIFIED IDEOGRAPH +0x8F70 0x8853 #CJK UNIFIED IDEOGRAPH +0x8F71 0x8FF0 #CJK UNIFIED IDEOGRAPH +0x8F72 0x4FCA #CJK UNIFIED IDEOGRAPH +0x8F73 0x5CFB #CJK UNIFIED IDEOGRAPH +0x8F74 0x6625 #CJK UNIFIED IDEOGRAPH +0x8F75 0x77AC #CJK UNIFIED IDEOGRAPH +0x8F76 0x7AE3 #CJK UNIFIED IDEOGRAPH +0x8F77 0x821C #CJK UNIFIED IDEOGRAPH +0x8F78 0x99FF #CJK UNIFIED IDEOGRAPH +0x8F79 0x51C6 #CJK UNIFIED IDEOGRAPH +0x8F7A 0x5FAA #CJK UNIFIED IDEOGRAPH +0x8F7B 0x65EC #CJK UNIFIED IDEOGRAPH +0x8F7C 0x696F #CJK UNIFIED IDEOGRAPH +0x8F7D 0x6B89 #CJK UNIFIED IDEOGRAPH +0x8F7E 0x6DF3 #CJK UNIFIED IDEOGRAPH +0x8F80 0x6E96 #CJK UNIFIED IDEOGRAPH +0x8F81 0x6F64 #CJK UNIFIED IDEOGRAPH +0x8F82 0x76FE #CJK UNIFIED IDEOGRAPH +0x8F83 0x7D14 #CJK UNIFIED IDEOGRAPH +0x8F84 0x5DE1 #CJK UNIFIED IDEOGRAPH +0x8F85 0x9075 #CJK UNIFIED IDEOGRAPH +0x8F86 0x9187 #CJK UNIFIED IDEOGRAPH +0x8F87 0x9806 #CJK UNIFIED IDEOGRAPH +0x8F88 0x51E6 #CJK UNIFIED IDEOGRAPH +0x8F89 0x521D #CJK UNIFIED IDEOGRAPH +0x8F8A 0x6240 #CJK UNIFIED IDEOGRAPH +0x8F8B 0x6691 #CJK UNIFIED IDEOGRAPH +0x8F8C 0x66D9 #CJK UNIFIED IDEOGRAPH +0x8F8D 0x6E1A #CJK UNIFIED IDEOGRAPH +0x8F8E 0x5EB6 #CJK UNIFIED IDEOGRAPH +0x8F8F 0x7DD2 #CJK UNIFIED IDEOGRAPH +0x8F90 0x7F72 #CJK UNIFIED IDEOGRAPH +0x8F91 0x66F8 #CJK UNIFIED IDEOGRAPH +0x8F92 0x85AF #CJK UNIFIED IDEOGRAPH +0x8F93 0x85F7 #CJK UNIFIED IDEOGRAPH +0x8F94 0x8AF8 #CJK UNIFIED IDEOGRAPH +0x8F95 0x52A9 #CJK UNIFIED IDEOGRAPH +0x8F96 0x53D9 #CJK UNIFIED IDEOGRAPH +0x8F97 0x5973 #CJK UNIFIED IDEOGRAPH +0x8F98 0x5E8F #CJK UNIFIED IDEOGRAPH +0x8F99 0x5F90 #CJK UNIFIED IDEOGRAPH +0x8F9A 0x6055 #CJK UNIFIED IDEOGRAPH +0x8F9B 0x92E4 #CJK UNIFIED IDEOGRAPH +0x8F9C 0x9664 #CJK UNIFIED IDEOGRAPH +0x8F9D 0x50B7 #CJK UNIFIED IDEOGRAPH +0x8F9E 0x511F #CJK UNIFIED IDEOGRAPH +0x8F9F 0x52DD #CJK UNIFIED IDEOGRAPH +0x8FA0 0x5320 #CJK UNIFIED IDEOGRAPH +0x8FA1 0x5347 #CJK UNIFIED IDEOGRAPH +0x8FA2 0x53EC #CJK UNIFIED IDEOGRAPH +0x8FA3 0x54E8 #CJK UNIFIED IDEOGRAPH +0x8FA4 0x5546 #CJK UNIFIED IDEOGRAPH +0x8FA5 0x5531 #CJK UNIFIED IDEOGRAPH +0x8FA6 0x5617 #CJK UNIFIED IDEOGRAPH +0x8FA7 0x5968 #CJK UNIFIED IDEOGRAPH +0x8FA8 0x59BE #CJK UNIFIED IDEOGRAPH +0x8FA9 0x5A3C #CJK UNIFIED IDEOGRAPH +0x8FAA 0x5BB5 #CJK UNIFIED IDEOGRAPH +0x8FAB 0x5C06 #CJK UNIFIED IDEOGRAPH +0x8FAC 0x5C0F #CJK UNIFIED IDEOGRAPH +0x8FAD 0x5C11 #CJK UNIFIED IDEOGRAPH +0x8FAE 0x5C1A #CJK UNIFIED IDEOGRAPH +0x8FAF 0x5E84 #CJK UNIFIED IDEOGRAPH +0x8FB0 0x5E8A #CJK UNIFIED IDEOGRAPH +0x8FB1 0x5EE0 #CJK UNIFIED IDEOGRAPH +0x8FB2 0x5F70 #CJK UNIFIED IDEOGRAPH +0x8FB3 0x627F #CJK UNIFIED IDEOGRAPH +0x8FB4 0x6284 #CJK UNIFIED IDEOGRAPH +0x8FB5 0x62DB #CJK UNIFIED IDEOGRAPH +0x8FB6 0x638C #CJK UNIFIED IDEOGRAPH +0x8FB7 0x6377 #CJK UNIFIED IDEOGRAPH +0x8FB8 0x6607 #CJK UNIFIED IDEOGRAPH +0x8FB9 0x660C #CJK UNIFIED IDEOGRAPH +0x8FBA 0x662D #CJK UNIFIED IDEOGRAPH +0x8FBB 0x6676 #CJK UNIFIED IDEOGRAPH +0x8FBC 0x677E #CJK UNIFIED IDEOGRAPH +0x8FBD 0x68A2 #CJK UNIFIED IDEOGRAPH +0x8FBE 0x6A1F #CJK UNIFIED IDEOGRAPH +0x8FBF 0x6A35 #CJK UNIFIED IDEOGRAPH +0x8FC0 0x6CBC #CJK UNIFIED IDEOGRAPH +0x8FC1 0x6D88 #CJK UNIFIED IDEOGRAPH +0x8FC2 0x6E09 #CJK UNIFIED IDEOGRAPH +0x8FC3 0x6E58 #CJK UNIFIED IDEOGRAPH +0x8FC4 0x713C #CJK UNIFIED IDEOGRAPH +0x8FC5 0x7126 #CJK UNIFIED IDEOGRAPH +0x8FC6 0x7167 #CJK UNIFIED IDEOGRAPH +0x8FC7 0x75C7 #CJK UNIFIED IDEOGRAPH +0x8FC8 0x7701 #CJK UNIFIED IDEOGRAPH +0x8FC9 0x785D #CJK UNIFIED IDEOGRAPH +0x8FCA 0x7901 #CJK UNIFIED IDEOGRAPH +0x8FCB 0x7965 #CJK UNIFIED IDEOGRAPH +0x8FCC 0x79F0 #CJK UNIFIED IDEOGRAPH +0x8FCD 0x7AE0 #CJK UNIFIED IDEOGRAPH +0x8FCE 0x7B11 #CJK UNIFIED IDEOGRAPH +0x8FCF 0x7CA7 #CJK UNIFIED IDEOGRAPH +0x8FD0 0x7D39 #CJK UNIFIED IDEOGRAPH +0x8FD1 0x8096 #CJK UNIFIED IDEOGRAPH +0x8FD2 0x83D6 #CJK UNIFIED IDEOGRAPH +0x8FD3 0x848B #CJK UNIFIED IDEOGRAPH +0x8FD4 0x8549 #CJK UNIFIED IDEOGRAPH +0x8FD5 0x885D #CJK UNIFIED IDEOGRAPH +0x8FD6 0x88F3 #CJK UNIFIED IDEOGRAPH +0x8FD7 0x8A1F #CJK UNIFIED IDEOGRAPH +0x8FD8 0x8A3C #CJK UNIFIED IDEOGRAPH +0x8FD9 0x8A54 #CJK UNIFIED IDEOGRAPH +0x8FDA 0x8A73 #CJK UNIFIED IDEOGRAPH +0x8FDB 0x8C61 #CJK UNIFIED IDEOGRAPH +0x8FDC 0x8CDE #CJK UNIFIED IDEOGRAPH +0x8FDD 0x91A4 #CJK UNIFIED IDEOGRAPH +0x8FDE 0x9266 #CJK UNIFIED IDEOGRAPH +0x8FDF 0x937E #CJK UNIFIED IDEOGRAPH +0x8FE0 0x9418 #CJK UNIFIED IDEOGRAPH +0x8FE1 0x969C #CJK UNIFIED IDEOGRAPH +0x8FE2 0x9798 #CJK UNIFIED IDEOGRAPH +0x8FE3 0x4E0A #CJK UNIFIED IDEOGRAPH +0x8FE4 0x4E08 #CJK UNIFIED IDEOGRAPH +0x8FE5 0x4E1E #CJK UNIFIED IDEOGRAPH +0x8FE6 0x4E57 #CJK UNIFIED IDEOGRAPH +0x8FE7 0x5197 #CJK UNIFIED IDEOGRAPH +0x8FE8 0x5270 #CJK UNIFIED IDEOGRAPH +0x8FE9 0x57CE #CJK UNIFIED IDEOGRAPH +0x8FEA 0x5834 #CJK UNIFIED IDEOGRAPH +0x8FEB 0x58CC #CJK UNIFIED IDEOGRAPH +0x8FEC 0x5B22 #CJK UNIFIED IDEOGRAPH +0x8FED 0x5E38 #CJK UNIFIED IDEOGRAPH +0x8FEE 0x60C5 #CJK UNIFIED IDEOGRAPH +0x8FEF 0x64FE #CJK UNIFIED IDEOGRAPH +0x8FF0 0x6761 #CJK UNIFIED IDEOGRAPH +0x8FF1 0x6756 #CJK UNIFIED IDEOGRAPH +0x8FF2 0x6D44 #CJK UNIFIED IDEOGRAPH +0x8FF3 0x72B6 #CJK UNIFIED IDEOGRAPH +0x8FF4 0x7573 #CJK UNIFIED IDEOGRAPH +0x8FF5 0x7A63 #CJK UNIFIED IDEOGRAPH +0x8FF6 0x84B8 #CJK UNIFIED IDEOGRAPH +0x8FF7 0x8B72 #CJK UNIFIED IDEOGRAPH +0x8FF8 0x91B8 #CJK UNIFIED IDEOGRAPH +0x8FF9 0x9320 #CJK UNIFIED IDEOGRAPH +0x8FFA 0x5631 #CJK UNIFIED IDEOGRAPH +0x8FFB 0x57F4 #CJK UNIFIED IDEOGRAPH +0x8FFC 0x98FE #CJK UNIFIED IDEOGRAPH +0x9040 0x62ED #CJK UNIFIED IDEOGRAPH +0x9041 0x690D #CJK UNIFIED IDEOGRAPH +0x9042 0x6B96 #CJK UNIFIED IDEOGRAPH +0x9043 0x71ED #CJK UNIFIED IDEOGRAPH +0x9044 0x7E54 #CJK UNIFIED IDEOGRAPH +0x9045 0x8077 #CJK UNIFIED IDEOGRAPH +0x9046 0x8272 #CJK UNIFIED IDEOGRAPH +0x9047 0x89E6 #CJK UNIFIED IDEOGRAPH +0x9048 0x98DF #CJK UNIFIED IDEOGRAPH +0x9049 0x8755 #CJK UNIFIED IDEOGRAPH +0x904A 0x8FB1 #CJK UNIFIED IDEOGRAPH +0x904B 0x5C3B #CJK UNIFIED IDEOGRAPH +0x904C 0x4F38 #CJK UNIFIED IDEOGRAPH +0x904D 0x4FE1 #CJK UNIFIED IDEOGRAPH +0x904E 0x4FB5 #CJK UNIFIED IDEOGRAPH +0x904F 0x5507 #CJK UNIFIED IDEOGRAPH +0x9050 0x5A20 #CJK UNIFIED IDEOGRAPH +0x9051 0x5BDD #CJK UNIFIED IDEOGRAPH +0x9052 0x5BE9 #CJK UNIFIED IDEOGRAPH +0x9053 0x5FC3 #CJK UNIFIED IDEOGRAPH +0x9054 0x614E #CJK UNIFIED IDEOGRAPH +0x9055 0x632F #CJK UNIFIED IDEOGRAPH +0x9056 0x65B0 #CJK UNIFIED IDEOGRAPH +0x9057 0x664B #CJK UNIFIED IDEOGRAPH +0x9058 0x68EE #CJK UNIFIED IDEOGRAPH +0x9059 0x699B #CJK UNIFIED IDEOGRAPH +0x905A 0x6D78 #CJK UNIFIED IDEOGRAPH +0x905B 0x6DF1 #CJK UNIFIED IDEOGRAPH +0x905C 0x7533 #CJK UNIFIED IDEOGRAPH +0x905D 0x75B9 #CJK UNIFIED IDEOGRAPH +0x905E 0x771F #CJK UNIFIED IDEOGRAPH +0x905F 0x795E #CJK UNIFIED IDEOGRAPH +0x9060 0x79E6 #CJK UNIFIED IDEOGRAPH +0x9061 0x7D33 #CJK UNIFIED IDEOGRAPH +0x9062 0x81E3 #CJK UNIFIED IDEOGRAPH +0x9063 0x82AF #CJK UNIFIED IDEOGRAPH +0x9064 0x85AA #CJK UNIFIED IDEOGRAPH +0x9065 0x89AA #CJK UNIFIED IDEOGRAPH +0x9066 0x8A3A #CJK UNIFIED IDEOGRAPH +0x9067 0x8EAB #CJK UNIFIED IDEOGRAPH +0x9068 0x8F9B #CJK UNIFIED IDEOGRAPH +0x9069 0x9032 #CJK UNIFIED IDEOGRAPH +0x906A 0x91DD #CJK UNIFIED IDEOGRAPH +0x906B 0x9707 #CJK UNIFIED IDEOGRAPH +0x906C 0x4EBA #CJK UNIFIED IDEOGRAPH +0x906D 0x4EC1 #CJK UNIFIED IDEOGRAPH +0x906E 0x5203 #CJK UNIFIED IDEOGRAPH +0x906F 0x5875 #CJK UNIFIED IDEOGRAPH +0x9070 0x58EC #CJK UNIFIED IDEOGRAPH +0x9071 0x5C0B #CJK UNIFIED IDEOGRAPH +0x9072 0x751A #CJK UNIFIED IDEOGRAPH +0x9073 0x5C3D #CJK UNIFIED IDEOGRAPH +0x9074 0x814E #CJK UNIFIED IDEOGRAPH +0x9075 0x8A0A #CJK UNIFIED IDEOGRAPH +0x9076 0x8FC5 #CJK UNIFIED IDEOGRAPH +0x9077 0x9663 #CJK UNIFIED IDEOGRAPH +0x9078 0x976D #CJK UNIFIED IDEOGRAPH +0x9079 0x7B25 #CJK UNIFIED IDEOGRAPH +0x907A 0x8ACF #CJK UNIFIED IDEOGRAPH +0x907B 0x9808 #CJK UNIFIED IDEOGRAPH +0x907C 0x9162 #CJK UNIFIED IDEOGRAPH +0x907D 0x56F3 #CJK UNIFIED IDEOGRAPH +0x907E 0x53A8 #CJK UNIFIED IDEOGRAPH +0x9080 0x9017 #CJK UNIFIED IDEOGRAPH +0x9081 0x5439 #CJK UNIFIED IDEOGRAPH +0x9082 0x5782 #CJK UNIFIED IDEOGRAPH +0x9083 0x5E25 #CJK UNIFIED IDEOGRAPH +0x9084 0x63A8 #CJK UNIFIED IDEOGRAPH +0x9085 0x6C34 #CJK UNIFIED IDEOGRAPH +0x9086 0x708A #CJK UNIFIED IDEOGRAPH +0x9087 0x7761 #CJK UNIFIED IDEOGRAPH +0x9088 0x7C8B #CJK UNIFIED IDEOGRAPH +0x9089 0x7FE0 #CJK UNIFIED IDEOGRAPH +0x908A 0x8870 #CJK UNIFIED IDEOGRAPH +0x908B 0x9042 #CJK UNIFIED IDEOGRAPH +0x908C 0x9154 #CJK UNIFIED IDEOGRAPH +0x908D 0x9310 #CJK UNIFIED IDEOGRAPH +0x908E 0x9318 #CJK UNIFIED IDEOGRAPH +0x908F 0x968F #CJK UNIFIED IDEOGRAPH +0x9090 0x745E #CJK UNIFIED IDEOGRAPH +0x9091 0x9AC4 #CJK UNIFIED IDEOGRAPH +0x9092 0x5D07 #CJK UNIFIED IDEOGRAPH +0x9093 0x5D69 #CJK UNIFIED IDEOGRAPH +0x9094 0x6570 #CJK UNIFIED IDEOGRAPH +0x9095 0x67A2 #CJK UNIFIED IDEOGRAPH +0x9096 0x8DA8 #CJK UNIFIED IDEOGRAPH +0x9097 0x96DB #CJK UNIFIED IDEOGRAPH +0x9098 0x636E #CJK UNIFIED IDEOGRAPH +0x9099 0x6749 #CJK UNIFIED IDEOGRAPH +0x909A 0x6919 #CJK UNIFIED IDEOGRAPH +0x909B 0x83C5 #CJK UNIFIED IDEOGRAPH +0x909C 0x9817 #CJK UNIFIED IDEOGRAPH +0x909D 0x96C0 #CJK UNIFIED IDEOGRAPH +0x909E 0x88FE #CJK UNIFIED IDEOGRAPH +0x909F 0x6F84 #CJK UNIFIED IDEOGRAPH +0x90A0 0x647A #CJK UNIFIED IDEOGRAPH +0x90A1 0x5BF8 #CJK UNIFIED IDEOGRAPH +0x90A2 0x4E16 #CJK UNIFIED IDEOGRAPH +0x90A3 0x702C #CJK UNIFIED IDEOGRAPH +0x90A4 0x755D #CJK UNIFIED IDEOGRAPH +0x90A5 0x662F #CJK UNIFIED IDEOGRAPH +0x90A6 0x51C4 #CJK UNIFIED IDEOGRAPH +0x90A7 0x5236 #CJK UNIFIED IDEOGRAPH +0x90A8 0x52E2 #CJK UNIFIED IDEOGRAPH +0x90A9 0x59D3 #CJK UNIFIED IDEOGRAPH +0x90AA 0x5F81 #CJK UNIFIED IDEOGRAPH +0x90AB 0x6027 #CJK UNIFIED IDEOGRAPH +0x90AC 0x6210 #CJK UNIFIED IDEOGRAPH +0x90AD 0x653F #CJK UNIFIED IDEOGRAPH +0x90AE 0x6574 #CJK UNIFIED IDEOGRAPH +0x90AF 0x661F #CJK UNIFIED IDEOGRAPH +0x90B0 0x6674 #CJK UNIFIED IDEOGRAPH +0x90B1 0x68F2 #CJK UNIFIED IDEOGRAPH +0x90B2 0x6816 #CJK UNIFIED IDEOGRAPH +0x90B3 0x6B63 #CJK UNIFIED IDEOGRAPH +0x90B4 0x6E05 #CJK UNIFIED IDEOGRAPH +0x90B5 0x7272 #CJK UNIFIED IDEOGRAPH +0x90B6 0x751F #CJK UNIFIED IDEOGRAPH +0x90B7 0x76DB #CJK UNIFIED IDEOGRAPH +0x90B8 0x7CBE #CJK UNIFIED IDEOGRAPH +0x90B9 0x8056 #CJK UNIFIED IDEOGRAPH +0x90BA 0x58F0 #CJK UNIFIED IDEOGRAPH +0x90BB 0x88FD #CJK UNIFIED IDEOGRAPH +0x90BC 0x897F #CJK UNIFIED IDEOGRAPH +0x90BD 0x8AA0 #CJK UNIFIED IDEOGRAPH +0x90BE 0x8A93 #CJK UNIFIED IDEOGRAPH +0x90BF 0x8ACB #CJK UNIFIED IDEOGRAPH +0x90C0 0x901D #CJK UNIFIED IDEOGRAPH +0x90C1 0x9192 #CJK UNIFIED IDEOGRAPH +0x90C2 0x9752 #CJK UNIFIED IDEOGRAPH +0x90C3 0x9759 #CJK UNIFIED IDEOGRAPH +0x90C4 0x6589 #CJK UNIFIED IDEOGRAPH +0x90C5 0x7A0E #CJK UNIFIED IDEOGRAPH +0x90C6 0x8106 #CJK UNIFIED IDEOGRAPH +0x90C7 0x96BB #CJK UNIFIED IDEOGRAPH +0x90C8 0x5E2D #CJK UNIFIED IDEOGRAPH +0x90C9 0x60DC #CJK UNIFIED IDEOGRAPH +0x90CA 0x621A #CJK UNIFIED IDEOGRAPH +0x90CB 0x65A5 #CJK UNIFIED IDEOGRAPH +0x90CC 0x6614 #CJK UNIFIED IDEOGRAPH +0x90CD 0x6790 #CJK UNIFIED IDEOGRAPH +0x90CE 0x77F3 #CJK UNIFIED IDEOGRAPH +0x90CF 0x7A4D #CJK UNIFIED IDEOGRAPH +0x90D0 0x7C4D #CJK UNIFIED IDEOGRAPH +0x90D1 0x7E3E #CJK UNIFIED IDEOGRAPH +0x90D2 0x810A #CJK UNIFIED IDEOGRAPH +0x90D3 0x8CAC #CJK UNIFIED IDEOGRAPH +0x90D4 0x8D64 #CJK UNIFIED IDEOGRAPH +0x90D5 0x8DE1 #CJK UNIFIED IDEOGRAPH +0x90D6 0x8E5F #CJK UNIFIED IDEOGRAPH +0x90D7 0x78A9 #CJK UNIFIED IDEOGRAPH +0x90D8 0x5207 #CJK UNIFIED IDEOGRAPH +0x90D9 0x62D9 #CJK UNIFIED IDEOGRAPH +0x90DA 0x63A5 #CJK UNIFIED IDEOGRAPH +0x90DB 0x6442 #CJK UNIFIED IDEOGRAPH +0x90DC 0x6298 #CJK UNIFIED IDEOGRAPH +0x90DD 0x8A2D #CJK UNIFIED IDEOGRAPH +0x90DE 0x7A83 #CJK UNIFIED IDEOGRAPH +0x90DF 0x7BC0 #CJK UNIFIED IDEOGRAPH +0x90E0 0x8AAC #CJK UNIFIED IDEOGRAPH +0x90E1 0x96EA #CJK UNIFIED IDEOGRAPH +0x90E2 0x7D76 #CJK UNIFIED IDEOGRAPH +0x90E3 0x820C #CJK UNIFIED IDEOGRAPH +0x90E4 0x8749 #CJK UNIFIED IDEOGRAPH +0x90E5 0x4ED9 #CJK UNIFIED IDEOGRAPH +0x90E6 0x5148 #CJK UNIFIED IDEOGRAPH +0x90E7 0x5343 #CJK UNIFIED IDEOGRAPH +0x90E8 0x5360 #CJK UNIFIED IDEOGRAPH +0x90E9 0x5BA3 #CJK UNIFIED IDEOGRAPH +0x90EA 0x5C02 #CJK UNIFIED IDEOGRAPH +0x90EB 0x5C16 #CJK UNIFIED IDEOGRAPH +0x90EC 0x5DDD #CJK UNIFIED IDEOGRAPH +0x90ED 0x6226 #CJK UNIFIED IDEOGRAPH +0x90EE 0x6247 #CJK UNIFIED IDEOGRAPH +0x90EF 0x64B0 #CJK UNIFIED IDEOGRAPH +0x90F0 0x6813 #CJK UNIFIED IDEOGRAPH +0x90F1 0x6834 #CJK UNIFIED IDEOGRAPH +0x90F2 0x6CC9 #CJK UNIFIED IDEOGRAPH +0x90F3 0x6D45 #CJK UNIFIED IDEOGRAPH +0x90F4 0x6D17 #CJK UNIFIED IDEOGRAPH +0x90F5 0x67D3 #CJK UNIFIED IDEOGRAPH +0x90F6 0x6F5C #CJK UNIFIED IDEOGRAPH +0x90F7 0x714E #CJK UNIFIED IDEOGRAPH +0x90F8 0x717D #CJK UNIFIED IDEOGRAPH +0x90F9 0x65CB #CJK UNIFIED IDEOGRAPH +0x90FA 0x7A7F #CJK UNIFIED IDEOGRAPH +0x90FB 0x7BAD #CJK UNIFIED IDEOGRAPH +0x90FC 0x7DDA #CJK UNIFIED IDEOGRAPH +0x9140 0x7E4A #CJK UNIFIED IDEOGRAPH +0x9141 0x7FA8 #CJK UNIFIED IDEOGRAPH +0x9142 0x817A #CJK UNIFIED IDEOGRAPH +0x9143 0x821B #CJK UNIFIED IDEOGRAPH +0x9144 0x8239 #CJK UNIFIED IDEOGRAPH +0x9145 0x85A6 #CJK UNIFIED IDEOGRAPH +0x9146 0x8A6E #CJK UNIFIED IDEOGRAPH +0x9147 0x8CCE #CJK UNIFIED IDEOGRAPH +0x9148 0x8DF5 #CJK UNIFIED IDEOGRAPH +0x9149 0x9078 #CJK UNIFIED IDEOGRAPH +0x914A 0x9077 #CJK UNIFIED IDEOGRAPH +0x914B 0x92AD #CJK UNIFIED IDEOGRAPH +0x914C 0x9291 #CJK UNIFIED IDEOGRAPH +0x914D 0x9583 #CJK UNIFIED IDEOGRAPH +0x914E 0x9BAE #CJK UNIFIED IDEOGRAPH +0x914F 0x524D #CJK UNIFIED IDEOGRAPH +0x9150 0x5584 #CJK UNIFIED IDEOGRAPH +0x9151 0x6F38 #CJK UNIFIED IDEOGRAPH +0x9152 0x7136 #CJK UNIFIED IDEOGRAPH +0x9153 0x5168 #CJK UNIFIED IDEOGRAPH +0x9154 0x7985 #CJK UNIFIED IDEOGRAPH +0x9155 0x7E55 #CJK UNIFIED IDEOGRAPH +0x9156 0x81B3 #CJK UNIFIED IDEOGRAPH +0x9157 0x7CCE #CJK UNIFIED IDEOGRAPH +0x9158 0x564C #CJK UNIFIED IDEOGRAPH +0x9159 0x5851 #CJK UNIFIED IDEOGRAPH +0x915A 0x5CA8 #CJK UNIFIED IDEOGRAPH +0x915B 0x63AA #CJK UNIFIED IDEOGRAPH +0x915C 0x66FE #CJK UNIFIED IDEOGRAPH +0x915D 0x66FD #CJK UNIFIED IDEOGRAPH +0x915E 0x695A #CJK UNIFIED IDEOGRAPH +0x915F 0x72D9 #CJK UNIFIED IDEOGRAPH +0x9160 0x758F #CJK UNIFIED IDEOGRAPH +0x9161 0x758E #CJK UNIFIED IDEOGRAPH +0x9162 0x790E #CJK UNIFIED IDEOGRAPH +0x9163 0x7956 #CJK UNIFIED IDEOGRAPH +0x9164 0x79DF #CJK UNIFIED IDEOGRAPH +0x9165 0x7C97 #CJK UNIFIED IDEOGRAPH +0x9166 0x7D20 #CJK UNIFIED IDEOGRAPH +0x9167 0x7D44 #CJK UNIFIED IDEOGRAPH +0x9168 0x8607 #CJK UNIFIED IDEOGRAPH +0x9169 0x8A34 #CJK UNIFIED IDEOGRAPH +0x916A 0x963B #CJK UNIFIED IDEOGRAPH +0x916B 0x9061 #CJK UNIFIED IDEOGRAPH +0x916C 0x9F20 #CJK UNIFIED IDEOGRAPH +0x916D 0x50E7 #CJK UNIFIED IDEOGRAPH +0x916E 0x5275 #CJK UNIFIED IDEOGRAPH +0x916F 0x53CC #CJK UNIFIED IDEOGRAPH +0x9170 0x53E2 #CJK UNIFIED IDEOGRAPH +0x9171 0x5009 #CJK UNIFIED IDEOGRAPH +0x9172 0x55AA #CJK UNIFIED IDEOGRAPH +0x9173 0x58EE #CJK UNIFIED IDEOGRAPH +0x9174 0x594F #CJK UNIFIED IDEOGRAPH +0x9175 0x723D #CJK UNIFIED IDEOGRAPH +0x9176 0x5B8B #CJK UNIFIED IDEOGRAPH +0x9177 0x5C64 #CJK UNIFIED IDEOGRAPH +0x9178 0x531D #CJK UNIFIED IDEOGRAPH +0x9179 0x60E3 #CJK UNIFIED IDEOGRAPH +0x917A 0x60F3 #CJK UNIFIED IDEOGRAPH +0x917B 0x635C #CJK UNIFIED IDEOGRAPH +0x917C 0x6383 #CJK UNIFIED IDEOGRAPH +0x917D 0x633F #CJK UNIFIED IDEOGRAPH +0x917E 0x63BB #CJK UNIFIED IDEOGRAPH +0x9180 0x64CD #CJK UNIFIED IDEOGRAPH +0x9181 0x65E9 #CJK UNIFIED IDEOGRAPH +0x9182 0x66F9 #CJK UNIFIED IDEOGRAPH +0x9183 0x5DE3 #CJK UNIFIED IDEOGRAPH +0x9184 0x69CD #CJK UNIFIED IDEOGRAPH +0x9185 0x69FD #CJK UNIFIED IDEOGRAPH +0x9186 0x6F15 #CJK UNIFIED IDEOGRAPH +0x9187 0x71E5 #CJK UNIFIED IDEOGRAPH +0x9188 0x4E89 #CJK UNIFIED IDEOGRAPH +0x9189 0x75E9 #CJK UNIFIED IDEOGRAPH +0x918A 0x76F8 #CJK UNIFIED IDEOGRAPH +0x918B 0x7A93 #CJK UNIFIED IDEOGRAPH +0x918C 0x7CDF #CJK UNIFIED IDEOGRAPH +0x918D 0x7DCF #CJK UNIFIED IDEOGRAPH +0x918E 0x7D9C #CJK UNIFIED IDEOGRAPH +0x918F 0x8061 #CJK UNIFIED IDEOGRAPH +0x9190 0x8349 #CJK UNIFIED IDEOGRAPH +0x9191 0x8358 #CJK UNIFIED IDEOGRAPH +0x9192 0x846C #CJK UNIFIED IDEOGRAPH +0x9193 0x84BC #CJK UNIFIED IDEOGRAPH +0x9194 0x85FB #CJK UNIFIED IDEOGRAPH +0x9195 0x88C5 #CJK UNIFIED IDEOGRAPH +0x9196 0x8D70 #CJK UNIFIED IDEOGRAPH +0x9197 0x9001 #CJK UNIFIED IDEOGRAPH +0x9198 0x906D #CJK UNIFIED IDEOGRAPH +0x9199 0x9397 #CJK UNIFIED IDEOGRAPH +0x919A 0x971C #CJK UNIFIED IDEOGRAPH +0x919B 0x9A12 #CJK UNIFIED IDEOGRAPH +0x919C 0x50CF #CJK UNIFIED IDEOGRAPH +0x919D 0x5897 #CJK UNIFIED IDEOGRAPH +0x919E 0x618E #CJK UNIFIED IDEOGRAPH +0x919F 0x81D3 #CJK UNIFIED IDEOGRAPH +0x91A0 0x8535 #CJK UNIFIED IDEOGRAPH +0x91A1 0x8D08 #CJK UNIFIED IDEOGRAPH +0x91A2 0x9020 #CJK UNIFIED IDEOGRAPH +0x91A3 0x4FC3 #CJK UNIFIED IDEOGRAPH +0x91A4 0x5074 #CJK UNIFIED IDEOGRAPH +0x91A5 0x5247 #CJK UNIFIED IDEOGRAPH +0x91A6 0x5373 #CJK UNIFIED IDEOGRAPH +0x91A7 0x606F #CJK UNIFIED IDEOGRAPH +0x91A8 0x6349 #CJK UNIFIED IDEOGRAPH +0x91A9 0x675F #CJK UNIFIED IDEOGRAPH +0x91AA 0x6E2C #CJK UNIFIED IDEOGRAPH +0x91AB 0x8DB3 #CJK UNIFIED IDEOGRAPH +0x91AC 0x901F #CJK UNIFIED IDEOGRAPH +0x91AD 0x4FD7 #CJK UNIFIED IDEOGRAPH +0x91AE 0x5C5E #CJK UNIFIED IDEOGRAPH +0x91AF 0x8CCA #CJK UNIFIED IDEOGRAPH +0x91B0 0x65CF #CJK UNIFIED IDEOGRAPH +0x91B1 0x7D9A #CJK UNIFIED IDEOGRAPH +0x91B2 0x5352 #CJK UNIFIED IDEOGRAPH +0x91B3 0x8896 #CJK UNIFIED IDEOGRAPH +0x91B4 0x5176 #CJK UNIFIED IDEOGRAPH +0x91B5 0x63C3 #CJK UNIFIED IDEOGRAPH +0x91B6 0x5B58 #CJK UNIFIED IDEOGRAPH +0x91B7 0x5B6B #CJK UNIFIED IDEOGRAPH +0x91B8 0x5C0A #CJK UNIFIED IDEOGRAPH +0x91B9 0x640D #CJK UNIFIED IDEOGRAPH +0x91BA 0x6751 #CJK UNIFIED IDEOGRAPH +0x91BB 0x905C #CJK UNIFIED IDEOGRAPH +0x91BC 0x4ED6 #CJK UNIFIED IDEOGRAPH +0x91BD 0x591A #CJK UNIFIED IDEOGRAPH +0x91BE 0x592A #CJK UNIFIED IDEOGRAPH +0x91BF 0x6C70 #CJK UNIFIED IDEOGRAPH +0x91C0 0x8A51 #CJK UNIFIED IDEOGRAPH +0x91C1 0x553E #CJK UNIFIED IDEOGRAPH +0x91C2 0x5815 #CJK UNIFIED IDEOGRAPH +0x91C3 0x59A5 #CJK UNIFIED IDEOGRAPH +0x91C4 0x60F0 #CJK UNIFIED IDEOGRAPH +0x91C5 0x6253 #CJK UNIFIED IDEOGRAPH +0x91C6 0x67C1 #CJK UNIFIED IDEOGRAPH +0x91C7 0x8235 #CJK UNIFIED IDEOGRAPH +0x91C8 0x6955 #CJK UNIFIED IDEOGRAPH +0x91C9 0x9640 #CJK UNIFIED IDEOGRAPH +0x91CA 0x99C4 #CJK UNIFIED IDEOGRAPH +0x91CB 0x9A28 #CJK UNIFIED IDEOGRAPH +0x91CC 0x4F53 #CJK UNIFIED IDEOGRAPH +0x91CD 0x5806 #CJK UNIFIED IDEOGRAPH +0x91CE 0x5BFE #CJK UNIFIED IDEOGRAPH +0x91CF 0x8010 #CJK UNIFIED IDEOGRAPH +0x91D0 0x5CB1 #CJK UNIFIED IDEOGRAPH +0x91D1 0x5E2F #CJK UNIFIED IDEOGRAPH +0x91D2 0x5F85 #CJK UNIFIED IDEOGRAPH +0x91D3 0x6020 #CJK UNIFIED IDEOGRAPH +0x91D4 0x614B #CJK UNIFIED IDEOGRAPH +0x91D5 0x6234 #CJK UNIFIED IDEOGRAPH +0x91D6 0x66FF #CJK UNIFIED IDEOGRAPH +0x91D7 0x6CF0 #CJK UNIFIED IDEOGRAPH +0x91D8 0x6EDE #CJK UNIFIED IDEOGRAPH +0x91D9 0x80CE #CJK UNIFIED IDEOGRAPH +0x91DA 0x817F #CJK UNIFIED IDEOGRAPH +0x91DB 0x82D4 #CJK UNIFIED IDEOGRAPH +0x91DC 0x888B #CJK UNIFIED IDEOGRAPH +0x91DD 0x8CB8 #CJK UNIFIED IDEOGRAPH +0x91DE 0x9000 #CJK UNIFIED IDEOGRAPH +0x91DF 0x902E #CJK UNIFIED IDEOGRAPH +0x91E0 0x968A #CJK UNIFIED IDEOGRAPH +0x91E1 0x9EDB #CJK UNIFIED IDEOGRAPH +0x91E2 0x9BDB #CJK UNIFIED IDEOGRAPH +0x91E3 0x4EE3 #CJK UNIFIED IDEOGRAPH +0x91E4 0x53F0 #CJK UNIFIED IDEOGRAPH +0x91E5 0x5927 #CJK UNIFIED IDEOGRAPH +0x91E6 0x7B2C #CJK UNIFIED IDEOGRAPH +0x91E7 0x918D #CJK UNIFIED IDEOGRAPH +0x91E8 0x984C #CJK UNIFIED IDEOGRAPH +0x91E9 0x9DF9 #CJK UNIFIED IDEOGRAPH +0x91EA 0x6EDD #CJK UNIFIED IDEOGRAPH +0x91EB 0x7027 #CJK UNIFIED IDEOGRAPH +0x91EC 0x5353 #CJK UNIFIED IDEOGRAPH +0x91ED 0x5544 #CJK UNIFIED IDEOGRAPH +0x91EE 0x5B85 #CJK UNIFIED IDEOGRAPH +0x91EF 0x6258 #CJK UNIFIED IDEOGRAPH +0x91F0 0x629E #CJK UNIFIED IDEOGRAPH +0x91F1 0x62D3 #CJK UNIFIED IDEOGRAPH +0x91F2 0x6CA2 #CJK UNIFIED IDEOGRAPH +0x91F3 0x6FEF #CJK UNIFIED IDEOGRAPH +0x91F4 0x7422 #CJK UNIFIED IDEOGRAPH +0x91F5 0x8A17 #CJK UNIFIED IDEOGRAPH +0x91F6 0x9438 #CJK UNIFIED IDEOGRAPH +0x91F7 0x6FC1 #CJK UNIFIED IDEOGRAPH +0x91F8 0x8AFE #CJK UNIFIED IDEOGRAPH +0x91F9 0x8338 #CJK UNIFIED IDEOGRAPH +0x91FA 0x51E7 #CJK UNIFIED IDEOGRAPH +0x91FB 0x86F8 #CJK UNIFIED IDEOGRAPH +0x91FC 0x53EA #CJK UNIFIED IDEOGRAPH +0x9240 0x53E9 #CJK UNIFIED IDEOGRAPH +0x9241 0x4F46 #CJK UNIFIED IDEOGRAPH +0x9242 0x9054 #CJK UNIFIED IDEOGRAPH +0x9243 0x8FB0 #CJK UNIFIED IDEOGRAPH +0x9244 0x596A #CJK UNIFIED IDEOGRAPH +0x9245 0x8131 #CJK UNIFIED IDEOGRAPH +0x9246 0x5DFD #CJK UNIFIED IDEOGRAPH +0x9247 0x7AEA #CJK UNIFIED IDEOGRAPH +0x9248 0x8FBF #CJK UNIFIED IDEOGRAPH +0x9249 0x68DA #CJK UNIFIED IDEOGRAPH +0x924A 0x8C37 #CJK UNIFIED IDEOGRAPH +0x924B 0x72F8 #CJK UNIFIED IDEOGRAPH +0x924C 0x9C48 #CJK UNIFIED IDEOGRAPH +0x924D 0x6A3D #CJK UNIFIED IDEOGRAPH +0x924E 0x8AB0 #CJK UNIFIED IDEOGRAPH +0x924F 0x4E39 #CJK UNIFIED IDEOGRAPH +0x9250 0x5358 #CJK UNIFIED IDEOGRAPH +0x9251 0x5606 #CJK UNIFIED IDEOGRAPH +0x9252 0x5766 #CJK UNIFIED IDEOGRAPH +0x9253 0x62C5 #CJK UNIFIED IDEOGRAPH +0x9254 0x63A2 #CJK UNIFIED IDEOGRAPH +0x9255 0x65E6 #CJK UNIFIED IDEOGRAPH +0x9256 0x6B4E #CJK UNIFIED IDEOGRAPH +0x9257 0x6DE1 #CJK UNIFIED IDEOGRAPH +0x9258 0x6E5B #CJK UNIFIED IDEOGRAPH +0x9259 0x70AD #CJK UNIFIED IDEOGRAPH +0x925A 0x77ED #CJK UNIFIED IDEOGRAPH +0x925B 0x7AEF #CJK UNIFIED IDEOGRAPH +0x925C 0x7BAA #CJK UNIFIED IDEOGRAPH +0x925D 0x7DBB #CJK UNIFIED IDEOGRAPH +0x925E 0x803D #CJK UNIFIED IDEOGRAPH +0x925F 0x80C6 #CJK UNIFIED IDEOGRAPH +0x9260 0x86CB #CJK UNIFIED IDEOGRAPH +0x9261 0x8A95 #CJK UNIFIED IDEOGRAPH +0x9262 0x935B #CJK UNIFIED IDEOGRAPH +0x9263 0x56E3 #CJK UNIFIED IDEOGRAPH +0x9264 0x58C7 #CJK UNIFIED IDEOGRAPH +0x9265 0x5F3E #CJK UNIFIED IDEOGRAPH +0x9266 0x65AD #CJK UNIFIED IDEOGRAPH +0x9267 0x6696 #CJK UNIFIED IDEOGRAPH +0x9268 0x6A80 #CJK UNIFIED IDEOGRAPH +0x9269 0x6BB5 #CJK UNIFIED IDEOGRAPH +0x926A 0x7537 #CJK UNIFIED IDEOGRAPH +0x926B 0x8AC7 #CJK UNIFIED IDEOGRAPH +0x926C 0x5024 #CJK UNIFIED IDEOGRAPH +0x926D 0x77E5 #CJK UNIFIED IDEOGRAPH +0x926E 0x5730 #CJK UNIFIED IDEOGRAPH +0x926F 0x5F1B #CJK UNIFIED IDEOGRAPH +0x9270 0x6065 #CJK UNIFIED IDEOGRAPH +0x9271 0x667A #CJK UNIFIED IDEOGRAPH +0x9272 0x6C60 #CJK UNIFIED IDEOGRAPH +0x9273 0x75F4 #CJK UNIFIED IDEOGRAPH +0x9274 0x7A1A #CJK UNIFIED IDEOGRAPH +0x9275 0x7F6E #CJK UNIFIED IDEOGRAPH +0x9276 0x81F4 #CJK UNIFIED IDEOGRAPH +0x9277 0x8718 #CJK UNIFIED IDEOGRAPH +0x9278 0x9045 #CJK UNIFIED IDEOGRAPH +0x9279 0x99B3 #CJK UNIFIED IDEOGRAPH +0x927A 0x7BC9 #CJK UNIFIED IDEOGRAPH +0x927B 0x755C #CJK UNIFIED IDEOGRAPH +0x927C 0x7AF9 #CJK UNIFIED IDEOGRAPH +0x927D 0x7B51 #CJK UNIFIED IDEOGRAPH +0x927E 0x84C4 #CJK UNIFIED IDEOGRAPH +0x9280 0x9010 #CJK UNIFIED IDEOGRAPH +0x9281 0x79E9 #CJK UNIFIED IDEOGRAPH +0x9282 0x7A92 #CJK UNIFIED IDEOGRAPH +0x9283 0x8336 #CJK UNIFIED IDEOGRAPH +0x9284 0x5AE1 #CJK UNIFIED IDEOGRAPH +0x9285 0x7740 #CJK UNIFIED IDEOGRAPH +0x9286 0x4E2D #CJK UNIFIED IDEOGRAPH +0x9287 0x4EF2 #CJK UNIFIED IDEOGRAPH +0x9288 0x5B99 #CJK UNIFIED IDEOGRAPH +0x9289 0x5FE0 #CJK UNIFIED IDEOGRAPH +0x928A 0x62BD #CJK UNIFIED IDEOGRAPH +0x928B 0x663C #CJK UNIFIED IDEOGRAPH +0x928C 0x67F1 #CJK UNIFIED IDEOGRAPH +0x928D 0x6CE8 #CJK UNIFIED IDEOGRAPH +0x928E 0x866B #CJK UNIFIED IDEOGRAPH +0x928F 0x8877 #CJK UNIFIED IDEOGRAPH +0x9290 0x8A3B #CJK UNIFIED IDEOGRAPH +0x9291 0x914E #CJK UNIFIED IDEOGRAPH +0x9292 0x92F3 #CJK UNIFIED IDEOGRAPH +0x9293 0x99D0 #CJK UNIFIED IDEOGRAPH +0x9294 0x6A17 #CJK UNIFIED IDEOGRAPH +0x9295 0x7026 #CJK UNIFIED IDEOGRAPH +0x9296 0x732A #CJK UNIFIED IDEOGRAPH +0x9297 0x82E7 #CJK UNIFIED IDEOGRAPH +0x9298 0x8457 #CJK UNIFIED IDEOGRAPH +0x9299 0x8CAF #CJK UNIFIED IDEOGRAPH +0x929A 0x4E01 #CJK UNIFIED IDEOGRAPH +0x929B 0x5146 #CJK UNIFIED IDEOGRAPH +0x929C 0x51CB #CJK UNIFIED IDEOGRAPH +0x929D 0x558B #CJK UNIFIED IDEOGRAPH +0x929E 0x5BF5 #CJK UNIFIED IDEOGRAPH +0x929F 0x5E16 #CJK UNIFIED IDEOGRAPH +0x92A0 0x5E33 #CJK UNIFIED IDEOGRAPH +0x92A1 0x5E81 #CJK UNIFIED IDEOGRAPH +0x92A2 0x5F14 #CJK UNIFIED IDEOGRAPH +0x92A3 0x5F35 #CJK UNIFIED IDEOGRAPH +0x92A4 0x5F6B #CJK UNIFIED IDEOGRAPH +0x92A5 0x5FB4 #CJK UNIFIED IDEOGRAPH +0x92A6 0x61F2 #CJK UNIFIED IDEOGRAPH +0x92A7 0x6311 #CJK UNIFIED IDEOGRAPH +0x92A8 0x66A2 #CJK UNIFIED IDEOGRAPH +0x92A9 0x671D #CJK UNIFIED IDEOGRAPH +0x92AA 0x6F6E #CJK UNIFIED IDEOGRAPH +0x92AB 0x7252 #CJK UNIFIED IDEOGRAPH +0x92AC 0x753A #CJK UNIFIED IDEOGRAPH +0x92AD 0x773A #CJK UNIFIED IDEOGRAPH +0x92AE 0x8074 #CJK UNIFIED IDEOGRAPH +0x92AF 0x8139 #CJK UNIFIED IDEOGRAPH +0x92B0 0x8178 #CJK UNIFIED IDEOGRAPH +0x92B1 0x8776 #CJK UNIFIED IDEOGRAPH +0x92B2 0x8ABF #CJK UNIFIED IDEOGRAPH +0x92B3 0x8ADC #CJK UNIFIED IDEOGRAPH +0x92B4 0x8D85 #CJK UNIFIED IDEOGRAPH +0x92B5 0x8DF3 #CJK UNIFIED IDEOGRAPH +0x92B6 0x929A #CJK UNIFIED IDEOGRAPH +0x92B7 0x9577 #CJK UNIFIED IDEOGRAPH +0x92B8 0x9802 #CJK UNIFIED IDEOGRAPH +0x92B9 0x9CE5 #CJK UNIFIED IDEOGRAPH +0x92BA 0x52C5 #CJK UNIFIED IDEOGRAPH +0x92BB 0x6357 #CJK UNIFIED IDEOGRAPH +0x92BC 0x76F4 #CJK UNIFIED IDEOGRAPH +0x92BD 0x6715 #CJK UNIFIED IDEOGRAPH +0x92BE 0x6C88 #CJK UNIFIED IDEOGRAPH +0x92BF 0x73CD #CJK UNIFIED IDEOGRAPH +0x92C0 0x8CC3 #CJK UNIFIED IDEOGRAPH +0x92C1 0x93AE #CJK UNIFIED IDEOGRAPH +0x92C2 0x9673 #CJK UNIFIED IDEOGRAPH +0x92C3 0x6D25 #CJK UNIFIED IDEOGRAPH +0x92C4 0x589C #CJK UNIFIED IDEOGRAPH +0x92C5 0x690E #CJK UNIFIED IDEOGRAPH +0x92C6 0x69CC #CJK UNIFIED IDEOGRAPH +0x92C7 0x8FFD #CJK UNIFIED IDEOGRAPH +0x92C8 0x939A #CJK UNIFIED IDEOGRAPH +0x92C9 0x75DB #CJK UNIFIED IDEOGRAPH +0x92CA 0x901A #CJK UNIFIED IDEOGRAPH +0x92CB 0x585A #CJK UNIFIED IDEOGRAPH +0x92CC 0x6802 #CJK UNIFIED IDEOGRAPH +0x92CD 0x63B4 #CJK UNIFIED IDEOGRAPH +0x92CE 0x69FB #CJK UNIFIED IDEOGRAPH +0x92CF 0x4F43 #CJK UNIFIED IDEOGRAPH +0x92D0 0x6F2C #CJK UNIFIED IDEOGRAPH +0x92D1 0x67D8 #CJK UNIFIED IDEOGRAPH +0x92D2 0x8FBB #CJK UNIFIED IDEOGRAPH +0x92D3 0x8526 #CJK UNIFIED IDEOGRAPH +0x92D4 0x7DB4 #CJK UNIFIED IDEOGRAPH +0x92D5 0x9354 #CJK UNIFIED IDEOGRAPH +0x92D6 0x693F #CJK UNIFIED IDEOGRAPH +0x92D7 0x6F70 #CJK UNIFIED IDEOGRAPH +0x92D8 0x576A #CJK UNIFIED IDEOGRAPH +0x92D9 0x58F7 #CJK UNIFIED IDEOGRAPH +0x92DA 0x5B2C #CJK UNIFIED IDEOGRAPH +0x92DB 0x7D2C #CJK UNIFIED IDEOGRAPH +0x92DC 0x722A #CJK UNIFIED IDEOGRAPH +0x92DD 0x540A #CJK UNIFIED IDEOGRAPH +0x92DE 0x91E3 #CJK UNIFIED IDEOGRAPH +0x92DF 0x9DB4 #CJK UNIFIED IDEOGRAPH +0x92E0 0x4EAD #CJK UNIFIED IDEOGRAPH +0x92E1 0x4F4E #CJK UNIFIED IDEOGRAPH +0x92E2 0x505C #CJK UNIFIED IDEOGRAPH +0x92E3 0x5075 #CJK UNIFIED IDEOGRAPH +0x92E4 0x5243 #CJK UNIFIED IDEOGRAPH +0x92E5 0x8C9E #CJK UNIFIED IDEOGRAPH +0x92E6 0x5448 #CJK UNIFIED IDEOGRAPH +0x92E7 0x5824 #CJK UNIFIED IDEOGRAPH +0x92E8 0x5B9A #CJK UNIFIED IDEOGRAPH +0x92E9 0x5E1D #CJK UNIFIED IDEOGRAPH +0x92EA 0x5E95 #CJK UNIFIED IDEOGRAPH +0x92EB 0x5EAD #CJK UNIFIED IDEOGRAPH +0x92EC 0x5EF7 #CJK UNIFIED IDEOGRAPH +0x92ED 0x5F1F #CJK UNIFIED IDEOGRAPH +0x92EE 0x608C #CJK UNIFIED IDEOGRAPH +0x92EF 0x62B5 #CJK UNIFIED IDEOGRAPH +0x92F0 0x633A #CJK UNIFIED IDEOGRAPH +0x92F1 0x63D0 #CJK UNIFIED IDEOGRAPH +0x92F2 0x68AF #CJK UNIFIED IDEOGRAPH +0x92F3 0x6C40 #CJK UNIFIED IDEOGRAPH +0x92F4 0x7887 #CJK UNIFIED IDEOGRAPH +0x92F5 0x798E #CJK UNIFIED IDEOGRAPH +0x92F6 0x7A0B #CJK UNIFIED IDEOGRAPH +0x92F7 0x7DE0 #CJK UNIFIED IDEOGRAPH +0x92F8 0x8247 #CJK UNIFIED IDEOGRAPH +0x92F9 0x8A02 #CJK UNIFIED IDEOGRAPH +0x92FA 0x8AE6 #CJK UNIFIED IDEOGRAPH +0x92FB 0x8E44 #CJK UNIFIED IDEOGRAPH +0x92FC 0x9013 #CJK UNIFIED IDEOGRAPH +0x9340 0x90B8 #CJK UNIFIED IDEOGRAPH +0x9341 0x912D #CJK UNIFIED IDEOGRAPH +0x9342 0x91D8 #CJK UNIFIED IDEOGRAPH +0x9343 0x9F0E #CJK UNIFIED IDEOGRAPH +0x9344 0x6CE5 #CJK UNIFIED IDEOGRAPH +0x9345 0x6458 #CJK UNIFIED IDEOGRAPH +0x9346 0x64E2 #CJK UNIFIED IDEOGRAPH +0x9347 0x6575 #CJK UNIFIED IDEOGRAPH +0x9348 0x6EF4 #CJK UNIFIED IDEOGRAPH +0x9349 0x7684 #CJK UNIFIED IDEOGRAPH +0x934A 0x7B1B #CJK UNIFIED IDEOGRAPH +0x934B 0x9069 #CJK UNIFIED IDEOGRAPH +0x934C 0x93D1 #CJK UNIFIED IDEOGRAPH +0x934D 0x6EBA #CJK UNIFIED IDEOGRAPH +0x934E 0x54F2 #CJK UNIFIED IDEOGRAPH +0x934F 0x5FB9 #CJK UNIFIED IDEOGRAPH +0x9350 0x64A4 #CJK UNIFIED IDEOGRAPH +0x9351 0x8F4D #CJK UNIFIED IDEOGRAPH +0x9352 0x8FED #CJK UNIFIED IDEOGRAPH +0x9353 0x9244 #CJK UNIFIED IDEOGRAPH +0x9354 0x5178 #CJK UNIFIED IDEOGRAPH +0x9355 0x586B #CJK UNIFIED IDEOGRAPH +0x9356 0x5929 #CJK UNIFIED IDEOGRAPH +0x9357 0x5C55 #CJK UNIFIED IDEOGRAPH +0x9358 0x5E97 #CJK UNIFIED IDEOGRAPH +0x9359 0x6DFB #CJK UNIFIED IDEOGRAPH +0x935A 0x7E8F #CJK UNIFIED IDEOGRAPH +0x935B 0x751C #CJK UNIFIED IDEOGRAPH +0x935C 0x8CBC #CJK UNIFIED IDEOGRAPH +0x935D 0x8EE2 #CJK UNIFIED IDEOGRAPH +0x935E 0x985B #CJK UNIFIED IDEOGRAPH +0x935F 0x70B9 #CJK UNIFIED IDEOGRAPH +0x9360 0x4F1D #CJK UNIFIED IDEOGRAPH +0x9361 0x6BBF #CJK UNIFIED IDEOGRAPH +0x9362 0x6FB1 #CJK UNIFIED IDEOGRAPH +0x9363 0x7530 #CJK UNIFIED IDEOGRAPH +0x9364 0x96FB #CJK UNIFIED IDEOGRAPH +0x9365 0x514E #CJK UNIFIED IDEOGRAPH +0x9366 0x5410 #CJK UNIFIED IDEOGRAPH +0x9367 0x5835 #CJK UNIFIED IDEOGRAPH +0x9368 0x5857 #CJK UNIFIED IDEOGRAPH +0x9369 0x59AC #CJK UNIFIED IDEOGRAPH +0x936A 0x5C60 #CJK UNIFIED IDEOGRAPH +0x936B 0x5F92 #CJK UNIFIED IDEOGRAPH +0x936C 0x6597 #CJK UNIFIED IDEOGRAPH +0x936D 0x675C #CJK UNIFIED IDEOGRAPH +0x936E 0x6E21 #CJK UNIFIED IDEOGRAPH +0x936F 0x767B #CJK UNIFIED IDEOGRAPH +0x9370 0x83DF #CJK UNIFIED IDEOGRAPH +0x9371 0x8CED #CJK UNIFIED IDEOGRAPH +0x9372 0x9014 #CJK UNIFIED IDEOGRAPH +0x9373 0x90FD #CJK UNIFIED IDEOGRAPH +0x9374 0x934D #CJK UNIFIED IDEOGRAPH +0x9375 0x7825 #CJK UNIFIED IDEOGRAPH +0x9376 0x783A #CJK UNIFIED IDEOGRAPH +0x9377 0x52AA #CJK UNIFIED IDEOGRAPH +0x9378 0x5EA6 #CJK UNIFIED IDEOGRAPH +0x9379 0x571F #CJK UNIFIED IDEOGRAPH +0x937A 0x5974 #CJK UNIFIED IDEOGRAPH +0x937B 0x6012 #CJK UNIFIED IDEOGRAPH +0x937C 0x5012 #CJK UNIFIED IDEOGRAPH +0x937D 0x515A #CJK UNIFIED IDEOGRAPH +0x937E 0x51AC #CJK UNIFIED IDEOGRAPH +0x9380 0x51CD #CJK UNIFIED IDEOGRAPH +0x9381 0x5200 #CJK UNIFIED IDEOGRAPH +0x9382 0x5510 #CJK UNIFIED IDEOGRAPH +0x9383 0x5854 #CJK UNIFIED IDEOGRAPH +0x9384 0x5858 #CJK UNIFIED IDEOGRAPH +0x9385 0x5957 #CJK UNIFIED IDEOGRAPH +0x9386 0x5B95 #CJK UNIFIED IDEOGRAPH +0x9387 0x5CF6 #CJK UNIFIED IDEOGRAPH +0x9388 0x5D8B #CJK UNIFIED IDEOGRAPH +0x9389 0x60BC #CJK UNIFIED IDEOGRAPH +0x938A 0x6295 #CJK UNIFIED IDEOGRAPH +0x938B 0x642D #CJK UNIFIED IDEOGRAPH +0x938C 0x6771 #CJK UNIFIED IDEOGRAPH +0x938D 0x6843 #CJK UNIFIED IDEOGRAPH +0x938E 0x68BC #CJK UNIFIED IDEOGRAPH +0x938F 0x68DF #CJK UNIFIED IDEOGRAPH +0x9390 0x76D7 #CJK UNIFIED IDEOGRAPH +0x9391 0x6DD8 #CJK UNIFIED IDEOGRAPH +0x9392 0x6E6F #CJK UNIFIED IDEOGRAPH +0x9393 0x6D9B #CJK UNIFIED IDEOGRAPH +0x9394 0x706F #CJK UNIFIED IDEOGRAPH +0x9395 0x71C8 #CJK UNIFIED IDEOGRAPH +0x9396 0x5F53 #CJK UNIFIED IDEOGRAPH +0x9397 0x75D8 #CJK UNIFIED IDEOGRAPH +0x9398 0x7977 #CJK UNIFIED IDEOGRAPH +0x9399 0x7B49 #CJK UNIFIED IDEOGRAPH +0x939A 0x7B54 #CJK UNIFIED IDEOGRAPH +0x939B 0x7B52 #CJK UNIFIED IDEOGRAPH +0x939C 0x7CD6 #CJK UNIFIED IDEOGRAPH +0x939D 0x7D71 #CJK UNIFIED IDEOGRAPH +0x939E 0x5230 #CJK UNIFIED IDEOGRAPH +0x939F 0x8463 #CJK UNIFIED IDEOGRAPH +0x93A0 0x8569 #CJK UNIFIED IDEOGRAPH +0x93A1 0x85E4 #CJK UNIFIED IDEOGRAPH +0x93A2 0x8A0E #CJK UNIFIED IDEOGRAPH +0x93A3 0x8B04 #CJK UNIFIED IDEOGRAPH +0x93A4 0x8C46 #CJK UNIFIED IDEOGRAPH +0x93A5 0x8E0F #CJK UNIFIED IDEOGRAPH +0x93A6 0x9003 #CJK UNIFIED IDEOGRAPH +0x93A7 0x900F #CJK UNIFIED IDEOGRAPH +0x93A8 0x9419 #CJK UNIFIED IDEOGRAPH +0x93A9 0x9676 #CJK UNIFIED IDEOGRAPH +0x93AA 0x982D #CJK UNIFIED IDEOGRAPH +0x93AB 0x9A30 #CJK UNIFIED IDEOGRAPH +0x93AC 0x95D8 #CJK UNIFIED IDEOGRAPH +0x93AD 0x50CD #CJK UNIFIED IDEOGRAPH +0x93AE 0x52D5 #CJK UNIFIED IDEOGRAPH +0x93AF 0x540C #CJK UNIFIED IDEOGRAPH +0x93B0 0x5802 #CJK UNIFIED IDEOGRAPH +0x93B1 0x5C0E #CJK UNIFIED IDEOGRAPH +0x93B2 0x61A7 #CJK UNIFIED IDEOGRAPH +0x93B3 0x649E #CJK UNIFIED IDEOGRAPH +0x93B4 0x6D1E #CJK UNIFIED IDEOGRAPH +0x93B5 0x77B3 #CJK UNIFIED IDEOGRAPH +0x93B6 0x7AE5 #CJK UNIFIED IDEOGRAPH +0x93B7 0x80F4 #CJK UNIFIED IDEOGRAPH +0x93B8 0x8404 #CJK UNIFIED IDEOGRAPH +0x93B9 0x9053 #CJK UNIFIED IDEOGRAPH +0x93BA 0x9285 #CJK UNIFIED IDEOGRAPH +0x93BB 0x5CE0 #CJK UNIFIED IDEOGRAPH +0x93BC 0x9D07 #CJK UNIFIED IDEOGRAPH +0x93BD 0x533F #CJK UNIFIED IDEOGRAPH +0x93BE 0x5F97 #CJK UNIFIED IDEOGRAPH +0x93BF 0x5FB3 #CJK UNIFIED IDEOGRAPH +0x93C0 0x6D9C #CJK UNIFIED IDEOGRAPH +0x93C1 0x7279 #CJK UNIFIED IDEOGRAPH +0x93C2 0x7763 #CJK UNIFIED IDEOGRAPH +0x93C3 0x79BF #CJK UNIFIED IDEOGRAPH +0x93C4 0x7BE4 #CJK UNIFIED IDEOGRAPH +0x93C5 0x6BD2 #CJK UNIFIED IDEOGRAPH +0x93C6 0x72EC #CJK UNIFIED IDEOGRAPH +0x93C7 0x8AAD #CJK UNIFIED IDEOGRAPH +0x93C8 0x6803 #CJK UNIFIED IDEOGRAPH +0x93C9 0x6A61 #CJK UNIFIED IDEOGRAPH +0x93CA 0x51F8 #CJK UNIFIED IDEOGRAPH +0x93CB 0x7A81 #CJK UNIFIED IDEOGRAPH +0x93CC 0x6934 #CJK UNIFIED IDEOGRAPH +0x93CD 0x5C4A #CJK UNIFIED IDEOGRAPH +0x93CE 0x9CF6 #CJK UNIFIED IDEOGRAPH +0x93CF 0x82EB #CJK UNIFIED IDEOGRAPH +0x93D0 0x5BC5 #CJK UNIFIED IDEOGRAPH +0x93D1 0x9149 #CJK UNIFIED IDEOGRAPH +0x93D2 0x701E #CJK UNIFIED IDEOGRAPH +0x93D3 0x5678 #CJK UNIFIED IDEOGRAPH +0x93D4 0x5C6F #CJK UNIFIED IDEOGRAPH +0x93D5 0x60C7 #CJK UNIFIED IDEOGRAPH +0x93D6 0x6566 #CJK UNIFIED IDEOGRAPH +0x93D7 0x6C8C #CJK UNIFIED IDEOGRAPH +0x93D8 0x8C5A #CJK UNIFIED IDEOGRAPH +0x93D9 0x9041 #CJK UNIFIED IDEOGRAPH +0x93DA 0x9813 #CJK UNIFIED IDEOGRAPH +0x93DB 0x5451 #CJK UNIFIED IDEOGRAPH +0x93DC 0x66C7 #CJK UNIFIED IDEOGRAPH +0x93DD 0x920D #CJK UNIFIED IDEOGRAPH +0x93DE 0x5948 #CJK UNIFIED IDEOGRAPH +0x93DF 0x90A3 #CJK UNIFIED IDEOGRAPH +0x93E0 0x5185 #CJK UNIFIED IDEOGRAPH +0x93E1 0x4E4D #CJK UNIFIED IDEOGRAPH +0x93E2 0x51EA #CJK UNIFIED IDEOGRAPH +0x93E3 0x8599 #CJK UNIFIED IDEOGRAPH +0x93E4 0x8B0E #CJK UNIFIED IDEOGRAPH +0x93E5 0x7058 #CJK UNIFIED IDEOGRAPH +0x93E6 0x637A #CJK UNIFIED IDEOGRAPH +0x93E7 0x934B #CJK UNIFIED IDEOGRAPH +0x93E8 0x6962 #CJK UNIFIED IDEOGRAPH +0x93E9 0x99B4 #CJK UNIFIED IDEOGRAPH +0x93EA 0x7E04 #CJK UNIFIED IDEOGRAPH +0x93EB 0x7577 #CJK UNIFIED IDEOGRAPH +0x93EC 0x5357 #CJK UNIFIED IDEOGRAPH +0x93ED 0x6960 #CJK UNIFIED IDEOGRAPH +0x93EE 0x8EDF #CJK UNIFIED IDEOGRAPH +0x93EF 0x96E3 #CJK UNIFIED IDEOGRAPH +0x93F0 0x6C5D #CJK UNIFIED IDEOGRAPH +0x93F1 0x4E8C #CJK UNIFIED IDEOGRAPH +0x93F2 0x5C3C #CJK UNIFIED IDEOGRAPH +0x93F3 0x5F10 #CJK UNIFIED IDEOGRAPH +0x93F4 0x8FE9 #CJK UNIFIED IDEOGRAPH +0x93F5 0x5302 #CJK UNIFIED IDEOGRAPH +0x93F6 0x8CD1 #CJK UNIFIED IDEOGRAPH +0x93F7 0x8089 #CJK UNIFIED IDEOGRAPH +0x93F8 0x8679 #CJK UNIFIED IDEOGRAPH +0x93F9 0x5EFF #CJK UNIFIED IDEOGRAPH +0x93FA 0x65E5 #CJK UNIFIED IDEOGRAPH +0x93FB 0x4E73 #CJK UNIFIED IDEOGRAPH +0x93FC 0x5165 #CJK UNIFIED IDEOGRAPH +0x9440 0x5982 #CJK UNIFIED IDEOGRAPH +0x9441 0x5C3F #CJK UNIFIED IDEOGRAPH +0x9442 0x97EE #CJK UNIFIED IDEOGRAPH +0x9443 0x4EFB #CJK UNIFIED IDEOGRAPH +0x9444 0x598A #CJK UNIFIED IDEOGRAPH +0x9445 0x5FCD #CJK UNIFIED IDEOGRAPH +0x9446 0x8A8D #CJK UNIFIED IDEOGRAPH +0x9447 0x6FE1 #CJK UNIFIED IDEOGRAPH +0x9448 0x79B0 #CJK UNIFIED IDEOGRAPH +0x9449 0x7962 #CJK UNIFIED IDEOGRAPH +0x944A 0x5BE7 #CJK UNIFIED IDEOGRAPH +0x944B 0x8471 #CJK UNIFIED IDEOGRAPH +0x944C 0x732B #CJK UNIFIED IDEOGRAPH +0x944D 0x71B1 #CJK UNIFIED IDEOGRAPH +0x944E 0x5E74 #CJK UNIFIED IDEOGRAPH +0x944F 0x5FF5 #CJK UNIFIED IDEOGRAPH +0x9450 0x637B #CJK UNIFIED IDEOGRAPH +0x9451 0x649A #CJK UNIFIED IDEOGRAPH +0x9452 0x71C3 #CJK UNIFIED IDEOGRAPH +0x9453 0x7C98 #CJK UNIFIED IDEOGRAPH +0x9454 0x4E43 #CJK UNIFIED IDEOGRAPH +0x9455 0x5EFC #CJK UNIFIED IDEOGRAPH +0x9456 0x4E4B #CJK UNIFIED IDEOGRAPH +0x9457 0x57DC #CJK UNIFIED IDEOGRAPH +0x9458 0x56A2 #CJK UNIFIED IDEOGRAPH +0x9459 0x60A9 #CJK UNIFIED IDEOGRAPH +0x945A 0x6FC3 #CJK UNIFIED IDEOGRAPH +0x945B 0x7D0D #CJK UNIFIED IDEOGRAPH +0x945C 0x80FD #CJK UNIFIED IDEOGRAPH +0x945D 0x8133 #CJK UNIFIED IDEOGRAPH +0x945E 0x81BF #CJK UNIFIED IDEOGRAPH +0x945F 0x8FB2 #CJK UNIFIED IDEOGRAPH +0x9460 0x8997 #CJK UNIFIED IDEOGRAPH +0x9461 0x86A4 #CJK UNIFIED IDEOGRAPH +0x9462 0x5DF4 #CJK UNIFIED IDEOGRAPH +0x9463 0x628A #CJK UNIFIED IDEOGRAPH +0x9464 0x64AD #CJK UNIFIED IDEOGRAPH +0x9465 0x8987 #CJK UNIFIED IDEOGRAPH +0x9466 0x6777 #CJK UNIFIED IDEOGRAPH +0x9467 0x6CE2 #CJK UNIFIED IDEOGRAPH +0x9468 0x6D3E #CJK UNIFIED IDEOGRAPH +0x9469 0x7436 #CJK UNIFIED IDEOGRAPH +0x946A 0x7834 #CJK UNIFIED IDEOGRAPH +0x946B 0x5A46 #CJK UNIFIED IDEOGRAPH +0x946C 0x7F75 #CJK UNIFIED IDEOGRAPH +0x946D 0x82AD #CJK UNIFIED IDEOGRAPH +0x946E 0x99AC #CJK UNIFIED IDEOGRAPH +0x946F 0x4FF3 #CJK UNIFIED IDEOGRAPH +0x9470 0x5EC3 #CJK UNIFIED IDEOGRAPH +0x9471 0x62DD #CJK UNIFIED IDEOGRAPH +0x9472 0x6392 #CJK UNIFIED IDEOGRAPH +0x9473 0x6557 #CJK UNIFIED IDEOGRAPH +0x9474 0x676F #CJK UNIFIED IDEOGRAPH +0x9475 0x76C3 #CJK UNIFIED IDEOGRAPH +0x9476 0x724C #CJK UNIFIED IDEOGRAPH +0x9477 0x80CC #CJK UNIFIED IDEOGRAPH +0x9478 0x80BA #CJK UNIFIED IDEOGRAPH +0x9479 0x8F29 #CJK UNIFIED IDEOGRAPH +0x947A 0x914D #CJK UNIFIED IDEOGRAPH +0x947B 0x500D #CJK UNIFIED IDEOGRAPH +0x947C 0x57F9 #CJK UNIFIED IDEOGRAPH +0x947D 0x5A92 #CJK UNIFIED IDEOGRAPH +0x947E 0x6885 #CJK UNIFIED IDEOGRAPH +0x9480 0x6973 #CJK UNIFIED IDEOGRAPH +0x9481 0x7164 #CJK UNIFIED IDEOGRAPH +0x9482 0x72FD #CJK UNIFIED IDEOGRAPH +0x9483 0x8CB7 #CJK UNIFIED IDEOGRAPH +0x9484 0x58F2 #CJK UNIFIED IDEOGRAPH +0x9485 0x8CE0 #CJK UNIFIED IDEOGRAPH +0x9486 0x966A #CJK UNIFIED IDEOGRAPH +0x9487 0x9019 #CJK UNIFIED IDEOGRAPH +0x9488 0x877F #CJK UNIFIED IDEOGRAPH +0x9489 0x79E4 #CJK UNIFIED IDEOGRAPH +0x948A 0x77E7 #CJK UNIFIED IDEOGRAPH +0x948B 0x8429 #CJK UNIFIED IDEOGRAPH +0x948C 0x4F2F #CJK UNIFIED IDEOGRAPH +0x948D 0x5265 #CJK UNIFIED IDEOGRAPH +0x948E 0x535A #CJK UNIFIED IDEOGRAPH +0x948F 0x62CD #CJK UNIFIED IDEOGRAPH +0x9490 0x67CF #CJK UNIFIED IDEOGRAPH +0x9491 0x6CCA #CJK UNIFIED IDEOGRAPH +0x9492 0x767D #CJK UNIFIED IDEOGRAPH +0x9493 0x7B94 #CJK UNIFIED IDEOGRAPH +0x9494 0x7C95 #CJK UNIFIED IDEOGRAPH +0x9495 0x8236 #CJK UNIFIED IDEOGRAPH +0x9496 0x8584 #CJK UNIFIED IDEOGRAPH +0x9497 0x8FEB #CJK UNIFIED IDEOGRAPH +0x9498 0x66DD #CJK UNIFIED IDEOGRAPH +0x9499 0x6F20 #CJK UNIFIED IDEOGRAPH +0x949A 0x7206 #CJK UNIFIED IDEOGRAPH +0x949B 0x7E1B #CJK UNIFIED IDEOGRAPH +0x949C 0x83AB #CJK UNIFIED IDEOGRAPH +0x949D 0x99C1 #CJK UNIFIED IDEOGRAPH +0x949E 0x9EA6 #CJK UNIFIED IDEOGRAPH +0x949F 0x51FD #CJK UNIFIED IDEOGRAPH +0x94A0 0x7BB1 #CJK UNIFIED IDEOGRAPH +0x94A1 0x7872 #CJK UNIFIED IDEOGRAPH +0x94A2 0x7BB8 #CJK UNIFIED IDEOGRAPH +0x94A3 0x8087 #CJK UNIFIED IDEOGRAPH +0x94A4 0x7B48 #CJK UNIFIED IDEOGRAPH +0x94A5 0x6AE8 #CJK UNIFIED IDEOGRAPH +0x94A6 0x5E61 #CJK UNIFIED IDEOGRAPH +0x94A7 0x808C #CJK UNIFIED IDEOGRAPH +0x94A8 0x7551 #CJK UNIFIED IDEOGRAPH +0x94A9 0x7560 #CJK UNIFIED IDEOGRAPH +0x94AA 0x516B #CJK UNIFIED IDEOGRAPH +0x94AB 0x9262 #CJK UNIFIED IDEOGRAPH +0x94AC 0x6E8C #CJK UNIFIED IDEOGRAPH +0x94AD 0x767A #CJK UNIFIED IDEOGRAPH +0x94AE 0x9197 #CJK UNIFIED IDEOGRAPH +0x94AF 0x9AEA #CJK UNIFIED IDEOGRAPH +0x94B0 0x4F10 #CJK UNIFIED IDEOGRAPH +0x94B1 0x7F70 #CJK UNIFIED IDEOGRAPH +0x94B2 0x629C #CJK UNIFIED IDEOGRAPH +0x94B3 0x7B4F #CJK UNIFIED IDEOGRAPH +0x94B4 0x95A5 #CJK UNIFIED IDEOGRAPH +0x94B5 0x9CE9 #CJK UNIFIED IDEOGRAPH +0x94B6 0x567A #CJK UNIFIED IDEOGRAPH +0x94B7 0x5859 #CJK UNIFIED IDEOGRAPH +0x94B8 0x86E4 #CJK UNIFIED IDEOGRAPH +0x94B9 0x96BC #CJK UNIFIED IDEOGRAPH +0x94BA 0x4F34 #CJK UNIFIED IDEOGRAPH +0x94BB 0x5224 #CJK UNIFIED IDEOGRAPH +0x94BC 0x534A #CJK UNIFIED IDEOGRAPH +0x94BD 0x53CD #CJK UNIFIED IDEOGRAPH +0x94BE 0x53DB #CJK UNIFIED IDEOGRAPH +0x94BF 0x5E06 #CJK UNIFIED IDEOGRAPH +0x94C0 0x642C #CJK UNIFIED IDEOGRAPH +0x94C1 0x6591 #CJK UNIFIED IDEOGRAPH +0x94C2 0x677F #CJK UNIFIED IDEOGRAPH +0x94C3 0x6C3E #CJK UNIFIED IDEOGRAPH +0x94C4 0x6C4E #CJK UNIFIED IDEOGRAPH +0x94C5 0x7248 #CJK UNIFIED IDEOGRAPH +0x94C6 0x72AF #CJK UNIFIED IDEOGRAPH +0x94C7 0x73ED #CJK UNIFIED IDEOGRAPH +0x94C8 0x7554 #CJK UNIFIED IDEOGRAPH +0x94C9 0x7E41 #CJK UNIFIED IDEOGRAPH +0x94CA 0x822C #CJK UNIFIED IDEOGRAPH +0x94CB 0x85E9 #CJK UNIFIED IDEOGRAPH +0x94CC 0x8CA9 #CJK UNIFIED IDEOGRAPH +0x94CD 0x7BC4 #CJK UNIFIED IDEOGRAPH +0x94CE 0x91C6 #CJK UNIFIED IDEOGRAPH +0x94CF 0x7169 #CJK UNIFIED IDEOGRAPH +0x94D0 0x9812 #CJK UNIFIED IDEOGRAPH +0x94D1 0x98EF #CJK UNIFIED IDEOGRAPH +0x94D2 0x633D #CJK UNIFIED IDEOGRAPH +0x94D3 0x6669 #CJK UNIFIED IDEOGRAPH +0x94D4 0x756A #CJK UNIFIED IDEOGRAPH +0x94D5 0x76E4 #CJK UNIFIED IDEOGRAPH +0x94D6 0x78D0 #CJK UNIFIED IDEOGRAPH +0x94D7 0x8543 #CJK UNIFIED IDEOGRAPH +0x94D8 0x86EE #CJK UNIFIED IDEOGRAPH +0x94D9 0x532A #CJK UNIFIED IDEOGRAPH +0x94DA 0x5351 #CJK UNIFIED IDEOGRAPH +0x94DB 0x5426 #CJK UNIFIED IDEOGRAPH +0x94DC 0x5983 #CJK UNIFIED IDEOGRAPH +0x94DD 0x5E87 #CJK UNIFIED IDEOGRAPH +0x94DE 0x5F7C #CJK UNIFIED IDEOGRAPH +0x94DF 0x60B2 #CJK UNIFIED IDEOGRAPH +0x94E0 0x6249 #CJK UNIFIED IDEOGRAPH +0x94E1 0x6279 #CJK UNIFIED IDEOGRAPH +0x94E2 0x62AB #CJK UNIFIED IDEOGRAPH +0x94E3 0x6590 #CJK UNIFIED IDEOGRAPH +0x94E4 0x6BD4 #CJK UNIFIED IDEOGRAPH +0x94E5 0x6CCC #CJK UNIFIED IDEOGRAPH +0x94E6 0x75B2 #CJK UNIFIED IDEOGRAPH +0x94E7 0x76AE #CJK UNIFIED IDEOGRAPH +0x94E8 0x7891 #CJK UNIFIED IDEOGRAPH +0x94E9 0x79D8 #CJK UNIFIED IDEOGRAPH +0x94EA 0x7DCB #CJK UNIFIED IDEOGRAPH +0x94EB 0x7F77 #CJK UNIFIED IDEOGRAPH +0x94EC 0x80A5 #CJK UNIFIED IDEOGRAPH +0x94ED 0x88AB #CJK UNIFIED IDEOGRAPH +0x94EE 0x8AB9 #CJK UNIFIED IDEOGRAPH +0x94EF 0x8CBB #CJK UNIFIED IDEOGRAPH +0x94F0 0x907F #CJK UNIFIED IDEOGRAPH +0x94F1 0x975E #CJK UNIFIED IDEOGRAPH +0x94F2 0x98DB #CJK UNIFIED IDEOGRAPH +0x94F3 0x6A0B #CJK UNIFIED IDEOGRAPH +0x94F4 0x7C38 #CJK UNIFIED IDEOGRAPH +0x94F5 0x5099 #CJK UNIFIED IDEOGRAPH +0x94F6 0x5C3E #CJK UNIFIED IDEOGRAPH +0x94F7 0x5FAE #CJK UNIFIED IDEOGRAPH +0x94F8 0x6787 #CJK UNIFIED IDEOGRAPH +0x94F9 0x6BD8 #CJK UNIFIED IDEOGRAPH +0x94FA 0x7435 #CJK UNIFIED IDEOGRAPH +0x94FB 0x7709 #CJK UNIFIED IDEOGRAPH +0x94FC 0x7F8E #CJK UNIFIED IDEOGRAPH +0x9540 0x9F3B #CJK UNIFIED IDEOGRAPH +0x9541 0x67CA #CJK UNIFIED IDEOGRAPH +0x9542 0x7A17 #CJK UNIFIED IDEOGRAPH +0x9543 0x5339 #CJK UNIFIED IDEOGRAPH +0x9544 0x758B #CJK UNIFIED IDEOGRAPH +0x9545 0x9AED #CJK UNIFIED IDEOGRAPH +0x9546 0x5F66 #CJK UNIFIED IDEOGRAPH +0x9547 0x819D #CJK UNIFIED IDEOGRAPH +0x9548 0x83F1 #CJK UNIFIED IDEOGRAPH +0x9549 0x8098 #CJK UNIFIED IDEOGRAPH +0x954A 0x5F3C #CJK UNIFIED IDEOGRAPH +0x954B 0x5FC5 #CJK UNIFIED IDEOGRAPH +0x954C 0x7562 #CJK UNIFIED IDEOGRAPH +0x954D 0x7B46 #CJK UNIFIED IDEOGRAPH +0x954E 0x903C #CJK UNIFIED IDEOGRAPH +0x954F 0x6867 #CJK UNIFIED IDEOGRAPH +0x9550 0x59EB #CJK UNIFIED IDEOGRAPH +0x9551 0x5A9B #CJK UNIFIED IDEOGRAPH +0x9552 0x7D10 #CJK UNIFIED IDEOGRAPH +0x9553 0x767E #CJK UNIFIED IDEOGRAPH +0x9554 0x8B2C #CJK UNIFIED IDEOGRAPH +0x9555 0x4FF5 #CJK UNIFIED IDEOGRAPH +0x9556 0x5F6A #CJK UNIFIED IDEOGRAPH +0x9557 0x6A19 #CJK UNIFIED IDEOGRAPH +0x9558 0x6C37 #CJK UNIFIED IDEOGRAPH +0x9559 0x6F02 #CJK UNIFIED IDEOGRAPH +0x955A 0x74E2 #CJK UNIFIED IDEOGRAPH +0x955B 0x7968 #CJK UNIFIED IDEOGRAPH +0x955C 0x8868 #CJK UNIFIED IDEOGRAPH +0x955D 0x8A55 #CJK UNIFIED IDEOGRAPH +0x955E 0x8C79 #CJK UNIFIED IDEOGRAPH +0x955F 0x5EDF #CJK UNIFIED IDEOGRAPH +0x9560 0x63CF #CJK UNIFIED IDEOGRAPH +0x9561 0x75C5 #CJK UNIFIED IDEOGRAPH +0x9562 0x79D2 #CJK UNIFIED IDEOGRAPH +0x9563 0x82D7 #CJK UNIFIED IDEOGRAPH +0x9564 0x9328 #CJK UNIFIED IDEOGRAPH +0x9565 0x92F2 #CJK UNIFIED IDEOGRAPH +0x9566 0x849C #CJK UNIFIED IDEOGRAPH +0x9567 0x86ED #CJK UNIFIED IDEOGRAPH +0x9568 0x9C2D #CJK UNIFIED IDEOGRAPH +0x9569 0x54C1 #CJK UNIFIED IDEOGRAPH +0x956A 0x5F6C #CJK UNIFIED IDEOGRAPH +0x956B 0x658C #CJK UNIFIED IDEOGRAPH +0x956C 0x6D5C #CJK UNIFIED IDEOGRAPH +0x956D 0x7015 #CJK UNIFIED IDEOGRAPH +0x956E 0x8CA7 #CJK UNIFIED IDEOGRAPH +0x956F 0x8CD3 #CJK UNIFIED IDEOGRAPH +0x9570 0x983B #CJK UNIFIED IDEOGRAPH +0x9571 0x654F #CJK UNIFIED IDEOGRAPH +0x9572 0x74F6 #CJK UNIFIED IDEOGRAPH +0x9573 0x4E0D #CJK UNIFIED IDEOGRAPH +0x9574 0x4ED8 #CJK UNIFIED IDEOGRAPH +0x9575 0x57E0 #CJK UNIFIED IDEOGRAPH +0x9576 0x592B #CJK UNIFIED IDEOGRAPH +0x9577 0x5A66 #CJK UNIFIED IDEOGRAPH +0x9578 0x5BCC #CJK UNIFIED IDEOGRAPH +0x9579 0x51A8 #CJK UNIFIED IDEOGRAPH +0x957A 0x5E03 #CJK UNIFIED IDEOGRAPH +0x957B 0x5E9C #CJK UNIFIED IDEOGRAPH +0x957C 0x6016 #CJK UNIFIED IDEOGRAPH +0x957D 0x6276 #CJK UNIFIED IDEOGRAPH +0x957E 0x6577 #CJK UNIFIED IDEOGRAPH +0x9580 0x65A7 #CJK UNIFIED IDEOGRAPH +0x9581 0x666E #CJK UNIFIED IDEOGRAPH +0x9582 0x6D6E #CJK UNIFIED IDEOGRAPH +0x9583 0x7236 #CJK UNIFIED IDEOGRAPH +0x9584 0x7B26 #CJK UNIFIED IDEOGRAPH +0x9585 0x8150 #CJK UNIFIED IDEOGRAPH +0x9586 0x819A #CJK UNIFIED IDEOGRAPH +0x9587 0x8299 #CJK UNIFIED IDEOGRAPH +0x9588 0x8B5C #CJK UNIFIED IDEOGRAPH +0x9589 0x8CA0 #CJK UNIFIED IDEOGRAPH +0x958A 0x8CE6 #CJK UNIFIED IDEOGRAPH +0x958B 0x8D74 #CJK UNIFIED IDEOGRAPH +0x958C 0x961C #CJK UNIFIED IDEOGRAPH +0x958D 0x9644 #CJK UNIFIED IDEOGRAPH +0x958E 0x4FAE #CJK UNIFIED IDEOGRAPH +0x958F 0x64AB #CJK UNIFIED IDEOGRAPH +0x9590 0x6B66 #CJK UNIFIED IDEOGRAPH +0x9591 0x821E #CJK UNIFIED IDEOGRAPH +0x9592 0x8461 #CJK UNIFIED IDEOGRAPH +0x9593 0x856A #CJK UNIFIED IDEOGRAPH +0x9594 0x90E8 #CJK UNIFIED IDEOGRAPH +0x9595 0x5C01 #CJK UNIFIED IDEOGRAPH +0x9596 0x6953 #CJK UNIFIED IDEOGRAPH +0x9597 0x98A8 #CJK UNIFIED IDEOGRAPH +0x9598 0x847A #CJK UNIFIED IDEOGRAPH +0x9599 0x8557 #CJK UNIFIED IDEOGRAPH +0x959A 0x4F0F #CJK UNIFIED IDEOGRAPH +0x959B 0x526F #CJK UNIFIED IDEOGRAPH +0x959C 0x5FA9 #CJK UNIFIED IDEOGRAPH +0x959D 0x5E45 #CJK UNIFIED IDEOGRAPH +0x959E 0x670D #CJK UNIFIED IDEOGRAPH +0x959F 0x798F #CJK UNIFIED IDEOGRAPH +0x95A0 0x8179 #CJK UNIFIED IDEOGRAPH +0x95A1 0x8907 #CJK UNIFIED IDEOGRAPH +0x95A2 0x8986 #CJK UNIFIED IDEOGRAPH +0x95A3 0x6DF5 #CJK UNIFIED IDEOGRAPH +0x95A4 0x5F17 #CJK UNIFIED IDEOGRAPH +0x95A5 0x6255 #CJK UNIFIED IDEOGRAPH +0x95A6 0x6CB8 #CJK UNIFIED IDEOGRAPH +0x95A7 0x4ECF #CJK UNIFIED IDEOGRAPH +0x95A8 0x7269 #CJK UNIFIED IDEOGRAPH +0x95A9 0x9B92 #CJK UNIFIED IDEOGRAPH +0x95AA 0x5206 #CJK UNIFIED IDEOGRAPH +0x95AB 0x543B #CJK UNIFIED IDEOGRAPH +0x95AC 0x5674 #CJK UNIFIED IDEOGRAPH +0x95AD 0x58B3 #CJK UNIFIED IDEOGRAPH +0x95AE 0x61A4 #CJK UNIFIED IDEOGRAPH +0x95AF 0x626E #CJK UNIFIED IDEOGRAPH +0x95B0 0x711A #CJK UNIFIED IDEOGRAPH +0x95B1 0x596E #CJK UNIFIED IDEOGRAPH +0x95B2 0x7C89 #CJK UNIFIED IDEOGRAPH +0x95B3 0x7CDE #CJK UNIFIED IDEOGRAPH +0x95B4 0x7D1B #CJK UNIFIED IDEOGRAPH +0x95B5 0x96F0 #CJK UNIFIED IDEOGRAPH +0x95B6 0x6587 #CJK UNIFIED IDEOGRAPH +0x95B7 0x805E #CJK UNIFIED IDEOGRAPH +0x95B8 0x4E19 #CJK UNIFIED IDEOGRAPH +0x95B9 0x4F75 #CJK UNIFIED IDEOGRAPH +0x95BA 0x5175 #CJK UNIFIED IDEOGRAPH +0x95BB 0x5840 #CJK UNIFIED IDEOGRAPH +0x95BC 0x5E63 #CJK UNIFIED IDEOGRAPH +0x95BD 0x5E73 #CJK UNIFIED IDEOGRAPH +0x95BE 0x5F0A #CJK UNIFIED IDEOGRAPH +0x95BF 0x67C4 #CJK UNIFIED IDEOGRAPH +0x95C0 0x4E26 #CJK UNIFIED IDEOGRAPH +0x95C1 0x853D #CJK UNIFIED IDEOGRAPH +0x95C2 0x9589 #CJK UNIFIED IDEOGRAPH +0x95C3 0x965B #CJK UNIFIED IDEOGRAPH +0x95C4 0x7C73 #CJK UNIFIED IDEOGRAPH +0x95C5 0x9801 #CJK UNIFIED IDEOGRAPH +0x95C6 0x50FB #CJK UNIFIED IDEOGRAPH +0x95C7 0x58C1 #CJK UNIFIED IDEOGRAPH +0x95C8 0x7656 #CJK UNIFIED IDEOGRAPH +0x95C9 0x78A7 #CJK UNIFIED IDEOGRAPH +0x95CA 0x5225 #CJK UNIFIED IDEOGRAPH +0x95CB 0x77A5 #CJK UNIFIED IDEOGRAPH +0x95CC 0x8511 #CJK UNIFIED IDEOGRAPH +0x95CD 0x7B86 #CJK UNIFIED IDEOGRAPH +0x95CE 0x504F #CJK UNIFIED IDEOGRAPH +0x95CF 0x5909 #CJK UNIFIED IDEOGRAPH +0x95D0 0x7247 #CJK UNIFIED IDEOGRAPH +0x95D1 0x7BC7 #CJK UNIFIED IDEOGRAPH +0x95D2 0x7DE8 #CJK UNIFIED IDEOGRAPH +0x95D3 0x8FBA #CJK UNIFIED IDEOGRAPH +0x95D4 0x8FD4 #CJK UNIFIED IDEOGRAPH +0x95D5 0x904D #CJK UNIFIED IDEOGRAPH +0x95D6 0x4FBF #CJK UNIFIED IDEOGRAPH +0x95D7 0x52C9 #CJK UNIFIED IDEOGRAPH +0x95D8 0x5A29 #CJK UNIFIED IDEOGRAPH +0x95D9 0x5F01 #CJK UNIFIED IDEOGRAPH +0x95DA 0x97AD #CJK UNIFIED IDEOGRAPH +0x95DB 0x4FDD #CJK UNIFIED IDEOGRAPH +0x95DC 0x8217 #CJK UNIFIED IDEOGRAPH +0x95DD 0x92EA #CJK UNIFIED IDEOGRAPH +0x95DE 0x5703 #CJK UNIFIED IDEOGRAPH +0x95DF 0x6355 #CJK UNIFIED IDEOGRAPH +0x95E0 0x6B69 #CJK UNIFIED IDEOGRAPH +0x95E1 0x752B #CJK UNIFIED IDEOGRAPH +0x95E2 0x88DC #CJK UNIFIED IDEOGRAPH +0x95E3 0x8F14 #CJK UNIFIED IDEOGRAPH +0x95E4 0x7A42 #CJK UNIFIED IDEOGRAPH +0x95E5 0x52DF #CJK UNIFIED IDEOGRAPH +0x95E6 0x5893 #CJK UNIFIED IDEOGRAPH +0x95E7 0x6155 #CJK UNIFIED IDEOGRAPH +0x95E8 0x620A #CJK UNIFIED IDEOGRAPH +0x95E9 0x66AE #CJK UNIFIED IDEOGRAPH +0x95EA 0x6BCD #CJK UNIFIED IDEOGRAPH +0x95EB 0x7C3F #CJK UNIFIED IDEOGRAPH +0x95EC 0x83E9 #CJK UNIFIED IDEOGRAPH +0x95ED 0x5023 #CJK UNIFIED IDEOGRAPH +0x95EE 0x4FF8 #CJK UNIFIED IDEOGRAPH +0x95EF 0x5305 #CJK UNIFIED IDEOGRAPH +0x95F0 0x5446 #CJK UNIFIED IDEOGRAPH +0x95F1 0x5831 #CJK UNIFIED IDEOGRAPH +0x95F2 0x5949 #CJK UNIFIED IDEOGRAPH +0x95F3 0x5B9D #CJK UNIFIED IDEOGRAPH +0x95F4 0x5CF0 #CJK UNIFIED IDEOGRAPH +0x95F5 0x5CEF #CJK UNIFIED IDEOGRAPH +0x95F6 0x5D29 #CJK UNIFIED IDEOGRAPH +0x95F7 0x5E96 #CJK UNIFIED IDEOGRAPH +0x95F8 0x62B1 #CJK UNIFIED IDEOGRAPH +0x95F9 0x6367 #CJK UNIFIED IDEOGRAPH +0x95FA 0x653E #CJK UNIFIED IDEOGRAPH +0x95FB 0x65B9 #CJK UNIFIED IDEOGRAPH +0x95FC 0x670B #CJK UNIFIED IDEOGRAPH +0x9640 0x6CD5 #CJK UNIFIED IDEOGRAPH +0x9641 0x6CE1 #CJK UNIFIED IDEOGRAPH +0x9642 0x70F9 #CJK UNIFIED IDEOGRAPH +0x9643 0x7832 #CJK UNIFIED IDEOGRAPH +0x9644 0x7E2B #CJK UNIFIED IDEOGRAPH +0x9645 0x80DE #CJK UNIFIED IDEOGRAPH +0x9646 0x82B3 #CJK UNIFIED IDEOGRAPH +0x9647 0x840C #CJK UNIFIED IDEOGRAPH +0x9648 0x84EC #CJK UNIFIED IDEOGRAPH +0x9649 0x8702 #CJK UNIFIED IDEOGRAPH +0x964A 0x8912 #CJK UNIFIED IDEOGRAPH +0x964B 0x8A2A #CJK UNIFIED IDEOGRAPH +0x964C 0x8C4A #CJK UNIFIED IDEOGRAPH +0x964D 0x90A6 #CJK UNIFIED IDEOGRAPH +0x964E 0x92D2 #CJK UNIFIED IDEOGRAPH +0x964F 0x98FD #CJK UNIFIED IDEOGRAPH +0x9650 0x9CF3 #CJK UNIFIED IDEOGRAPH +0x9651 0x9D6C #CJK UNIFIED IDEOGRAPH +0x9652 0x4E4F #CJK UNIFIED IDEOGRAPH +0x9653 0x4EA1 #CJK UNIFIED IDEOGRAPH +0x9654 0x508D #CJK UNIFIED IDEOGRAPH +0x9655 0x5256 #CJK UNIFIED IDEOGRAPH +0x9656 0x574A #CJK UNIFIED IDEOGRAPH +0x9657 0x59A8 #CJK UNIFIED IDEOGRAPH +0x9658 0x5E3D #CJK UNIFIED IDEOGRAPH +0x9659 0x5FD8 #CJK UNIFIED IDEOGRAPH +0x965A 0x5FD9 #CJK UNIFIED IDEOGRAPH +0x965B 0x623F #CJK UNIFIED IDEOGRAPH +0x965C 0x66B4 #CJK UNIFIED IDEOGRAPH +0x965D 0x671B #CJK UNIFIED IDEOGRAPH +0x965E 0x67D0 #CJK UNIFIED IDEOGRAPH +0x965F 0x68D2 #CJK UNIFIED IDEOGRAPH +0x9660 0x5192 #CJK UNIFIED IDEOGRAPH +0x9661 0x7D21 #CJK UNIFIED IDEOGRAPH +0x9662 0x80AA #CJK UNIFIED IDEOGRAPH +0x9663 0x81A8 #CJK UNIFIED IDEOGRAPH +0x9664 0x8B00 #CJK UNIFIED IDEOGRAPH +0x9665 0x8C8C #CJK UNIFIED IDEOGRAPH +0x9666 0x8CBF #CJK UNIFIED IDEOGRAPH +0x9667 0x927E #CJK UNIFIED IDEOGRAPH +0x9668 0x9632 #CJK UNIFIED IDEOGRAPH +0x9669 0x5420 #CJK UNIFIED IDEOGRAPH +0x966A 0x982C #CJK UNIFIED IDEOGRAPH +0x966B 0x5317 #CJK UNIFIED IDEOGRAPH +0x966C 0x50D5 #CJK UNIFIED IDEOGRAPH +0x966D 0x535C #CJK UNIFIED IDEOGRAPH +0x966E 0x58A8 #CJK UNIFIED IDEOGRAPH +0x966F 0x64B2 #CJK UNIFIED IDEOGRAPH +0x9670 0x6734 #CJK UNIFIED IDEOGRAPH +0x9671 0x7267 #CJK UNIFIED IDEOGRAPH +0x9672 0x7766 #CJK UNIFIED IDEOGRAPH +0x9673 0x7A46 #CJK UNIFIED IDEOGRAPH +0x9674 0x91E6 #CJK UNIFIED IDEOGRAPH +0x9675 0x52C3 #CJK UNIFIED IDEOGRAPH +0x9676 0x6CA1 #CJK UNIFIED IDEOGRAPH +0x9677 0x6B86 #CJK UNIFIED IDEOGRAPH +0x9678 0x5800 #CJK UNIFIED IDEOGRAPH +0x9679 0x5E4C #CJK UNIFIED IDEOGRAPH +0x967A 0x5954 #CJK UNIFIED IDEOGRAPH +0x967B 0x672C #CJK UNIFIED IDEOGRAPH +0x967C 0x7FFB #CJK UNIFIED IDEOGRAPH +0x967D 0x51E1 #CJK UNIFIED IDEOGRAPH +0x967E 0x76C6 #CJK UNIFIED IDEOGRAPH +0x9680 0x6469 #CJK UNIFIED IDEOGRAPH +0x9681 0x78E8 #CJK UNIFIED IDEOGRAPH +0x9682 0x9B54 #CJK UNIFIED IDEOGRAPH +0x9683 0x9EBB #CJK UNIFIED IDEOGRAPH +0x9684 0x57CB #CJK UNIFIED IDEOGRAPH +0x9685 0x59B9 #CJK UNIFIED IDEOGRAPH +0x9686 0x6627 #CJK UNIFIED IDEOGRAPH +0x9687 0x679A #CJK UNIFIED IDEOGRAPH +0x9688 0x6BCE #CJK UNIFIED IDEOGRAPH +0x9689 0x54E9 #CJK UNIFIED IDEOGRAPH +0x968A 0x69D9 #CJK UNIFIED IDEOGRAPH +0x968B 0x5E55 #CJK UNIFIED IDEOGRAPH +0x968C 0x819C #CJK UNIFIED IDEOGRAPH +0x968D 0x6795 #CJK UNIFIED IDEOGRAPH +0x968E 0x9BAA #CJK UNIFIED IDEOGRAPH +0x968F 0x67FE #CJK UNIFIED IDEOGRAPH +0x9690 0x9C52 #CJK UNIFIED IDEOGRAPH +0x9691 0x685D #CJK UNIFIED IDEOGRAPH +0x9692 0x4EA6 #CJK UNIFIED IDEOGRAPH +0x9693 0x4FE3 #CJK UNIFIED IDEOGRAPH +0x9694 0x53C8 #CJK UNIFIED IDEOGRAPH +0x9695 0x62B9 #CJK UNIFIED IDEOGRAPH +0x9696 0x672B #CJK UNIFIED IDEOGRAPH +0x9697 0x6CAB #CJK UNIFIED IDEOGRAPH +0x9698 0x8FC4 #CJK UNIFIED IDEOGRAPH +0x9699 0x4FAD #CJK UNIFIED IDEOGRAPH +0x969A 0x7E6D #CJK UNIFIED IDEOGRAPH +0x969B 0x9EBF #CJK UNIFIED IDEOGRAPH +0x969C 0x4E07 #CJK UNIFIED IDEOGRAPH +0x969D 0x6162 #CJK UNIFIED IDEOGRAPH +0x969E 0x6E80 #CJK UNIFIED IDEOGRAPH +0x969F 0x6F2B #CJK UNIFIED IDEOGRAPH +0x96A0 0x8513 #CJK UNIFIED IDEOGRAPH +0x96A1 0x5473 #CJK UNIFIED IDEOGRAPH +0x96A2 0x672A #CJK UNIFIED IDEOGRAPH +0x96A3 0x9B45 #CJK UNIFIED IDEOGRAPH +0x96A4 0x5DF3 #CJK UNIFIED IDEOGRAPH +0x96A5 0x7B95 #CJK UNIFIED IDEOGRAPH +0x96A6 0x5CAC #CJK UNIFIED IDEOGRAPH +0x96A7 0x5BC6 #CJK UNIFIED IDEOGRAPH +0x96A8 0x871C #CJK UNIFIED IDEOGRAPH +0x96A9 0x6E4A #CJK UNIFIED IDEOGRAPH +0x96AA 0x84D1 #CJK UNIFIED IDEOGRAPH +0x96AB 0x7A14 #CJK UNIFIED IDEOGRAPH +0x96AC 0x8108 #CJK UNIFIED IDEOGRAPH +0x96AD 0x5999 #CJK UNIFIED IDEOGRAPH +0x96AE 0x7C8D #CJK UNIFIED IDEOGRAPH +0x96AF 0x6C11 #CJK UNIFIED IDEOGRAPH +0x96B0 0x7720 #CJK UNIFIED IDEOGRAPH +0x96B1 0x52D9 #CJK UNIFIED IDEOGRAPH +0x96B2 0x5922 #CJK UNIFIED IDEOGRAPH +0x96B3 0x7121 #CJK UNIFIED IDEOGRAPH +0x96B4 0x725F #CJK UNIFIED IDEOGRAPH +0x96B5 0x77DB #CJK UNIFIED IDEOGRAPH +0x96B6 0x9727 #CJK UNIFIED IDEOGRAPH +0x96B7 0x9D61 #CJK UNIFIED IDEOGRAPH +0x96B8 0x690B #CJK UNIFIED IDEOGRAPH +0x96B9 0x5A7F #CJK UNIFIED IDEOGRAPH +0x96BA 0x5A18 #CJK UNIFIED IDEOGRAPH +0x96BB 0x51A5 #CJK UNIFIED IDEOGRAPH +0x96BC 0x540D #CJK UNIFIED IDEOGRAPH +0x96BD 0x547D #CJK UNIFIED IDEOGRAPH +0x96BE 0x660E #CJK UNIFIED IDEOGRAPH +0x96BF 0x76DF #CJK UNIFIED IDEOGRAPH +0x96C0 0x8FF7 #CJK UNIFIED IDEOGRAPH +0x96C1 0x9298 #CJK UNIFIED IDEOGRAPH +0x96C2 0x9CF4 #CJK UNIFIED IDEOGRAPH +0x96C3 0x59EA #CJK UNIFIED IDEOGRAPH +0x96C4 0x725D #CJK UNIFIED IDEOGRAPH +0x96C5 0x6EC5 #CJK UNIFIED IDEOGRAPH +0x96C6 0x514D #CJK UNIFIED IDEOGRAPH +0x96C7 0x68C9 #CJK UNIFIED IDEOGRAPH +0x96C8 0x7DBF #CJK UNIFIED IDEOGRAPH +0x96C9 0x7DEC #CJK UNIFIED IDEOGRAPH +0x96CA 0x9762 #CJK UNIFIED IDEOGRAPH +0x96CB 0x9EBA #CJK UNIFIED IDEOGRAPH +0x96CC 0x6478 #CJK UNIFIED IDEOGRAPH +0x96CD 0x6A21 #CJK UNIFIED IDEOGRAPH +0x96CE 0x8302 #CJK UNIFIED IDEOGRAPH +0x96CF 0x5984 #CJK UNIFIED IDEOGRAPH +0x96D0 0x5B5F #CJK UNIFIED IDEOGRAPH +0x96D1 0x6BDB #CJK UNIFIED IDEOGRAPH +0x96D2 0x731B #CJK UNIFIED IDEOGRAPH +0x96D3 0x76F2 #CJK UNIFIED IDEOGRAPH +0x96D4 0x7DB2 #CJK UNIFIED IDEOGRAPH +0x96D5 0x8017 #CJK UNIFIED IDEOGRAPH +0x96D6 0x8499 #CJK UNIFIED IDEOGRAPH +0x96D7 0x5132 #CJK UNIFIED IDEOGRAPH +0x96D8 0x6728 #CJK UNIFIED IDEOGRAPH +0x96D9 0x9ED9 #CJK UNIFIED IDEOGRAPH +0x96DA 0x76EE #CJK UNIFIED IDEOGRAPH +0x96DB 0x6762 #CJK UNIFIED IDEOGRAPH +0x96DC 0x52FF #CJK UNIFIED IDEOGRAPH +0x96DD 0x9905 #CJK UNIFIED IDEOGRAPH +0x96DE 0x5C24 #CJK UNIFIED IDEOGRAPH +0x96DF 0x623B #CJK UNIFIED IDEOGRAPH +0x96E0 0x7C7E #CJK UNIFIED IDEOGRAPH +0x96E1 0x8CB0 #CJK UNIFIED IDEOGRAPH +0x96E2 0x554F #CJK UNIFIED IDEOGRAPH +0x96E3 0x60B6 #CJK UNIFIED IDEOGRAPH +0x96E4 0x7D0B #CJK UNIFIED IDEOGRAPH +0x96E5 0x9580 #CJK UNIFIED IDEOGRAPH +0x96E6 0x5301 #CJK UNIFIED IDEOGRAPH +0x96E7 0x4E5F #CJK UNIFIED IDEOGRAPH +0x96E8 0x51B6 #CJK UNIFIED IDEOGRAPH +0x96E9 0x591C #CJK UNIFIED IDEOGRAPH +0x96EA 0x723A #CJK UNIFIED IDEOGRAPH +0x96EB 0x8036 #CJK UNIFIED IDEOGRAPH +0x96EC 0x91CE #CJK UNIFIED IDEOGRAPH +0x96ED 0x5F25 #CJK UNIFIED IDEOGRAPH +0x96EE 0x77E2 #CJK UNIFIED IDEOGRAPH +0x96EF 0x5384 #CJK UNIFIED IDEOGRAPH +0x96F0 0x5F79 #CJK UNIFIED IDEOGRAPH +0x96F1 0x7D04 #CJK UNIFIED IDEOGRAPH +0x96F2 0x85AC #CJK UNIFIED IDEOGRAPH +0x96F3 0x8A33 #CJK UNIFIED IDEOGRAPH +0x96F4 0x8E8D #CJK UNIFIED IDEOGRAPH +0x96F5 0x9756 #CJK UNIFIED IDEOGRAPH +0x96F6 0x67F3 #CJK UNIFIED IDEOGRAPH +0x96F7 0x85AE #CJK UNIFIED IDEOGRAPH +0x96F8 0x9453 #CJK UNIFIED IDEOGRAPH +0x96F9 0x6109 #CJK UNIFIED IDEOGRAPH +0x96FA 0x6108 #CJK UNIFIED IDEOGRAPH +0x96FB 0x6CB9 #CJK UNIFIED IDEOGRAPH +0x96FC 0x7652 #CJK UNIFIED IDEOGRAPH +0x9740 0x8AED #CJK UNIFIED IDEOGRAPH +0x9741 0x8F38 #CJK UNIFIED IDEOGRAPH +0x9742 0x552F #CJK UNIFIED IDEOGRAPH +0x9743 0x4F51 #CJK UNIFIED IDEOGRAPH +0x9744 0x512A #CJK UNIFIED IDEOGRAPH +0x9745 0x52C7 #CJK UNIFIED IDEOGRAPH +0x9746 0x53CB #CJK UNIFIED IDEOGRAPH +0x9747 0x5BA5 #CJK UNIFIED IDEOGRAPH +0x9748 0x5E7D #CJK UNIFIED IDEOGRAPH +0x9749 0x60A0 #CJK UNIFIED IDEOGRAPH +0x974A 0x6182 #CJK UNIFIED IDEOGRAPH +0x974B 0x63D6 #CJK UNIFIED IDEOGRAPH +0x974C 0x6709 #CJK UNIFIED IDEOGRAPH +0x974D 0x67DA #CJK UNIFIED IDEOGRAPH +0x974E 0x6E67 #CJK UNIFIED IDEOGRAPH +0x974F 0x6D8C #CJK UNIFIED IDEOGRAPH +0x9750 0x7336 #CJK UNIFIED IDEOGRAPH +0x9751 0x7337 #CJK UNIFIED IDEOGRAPH +0x9752 0x7531 #CJK UNIFIED IDEOGRAPH +0x9753 0x7950 #CJK UNIFIED IDEOGRAPH +0x9754 0x88D5 #CJK UNIFIED IDEOGRAPH +0x9755 0x8A98 #CJK UNIFIED IDEOGRAPH +0x9756 0x904A #CJK UNIFIED IDEOGRAPH +0x9757 0x9091 #CJK UNIFIED IDEOGRAPH +0x9758 0x90F5 #CJK UNIFIED IDEOGRAPH +0x9759 0x96C4 #CJK UNIFIED IDEOGRAPH +0x975A 0x878D #CJK UNIFIED IDEOGRAPH +0x975B 0x5915 #CJK UNIFIED IDEOGRAPH +0x975C 0x4E88 #CJK UNIFIED IDEOGRAPH +0x975D 0x4F59 #CJK UNIFIED IDEOGRAPH +0x975E 0x4E0E #CJK UNIFIED IDEOGRAPH +0x975F 0x8A89 #CJK UNIFIED IDEOGRAPH +0x9760 0x8F3F #CJK UNIFIED IDEOGRAPH +0x9761 0x9810 #CJK UNIFIED IDEOGRAPH +0x9762 0x50AD #CJK UNIFIED IDEOGRAPH +0x9763 0x5E7C #CJK UNIFIED IDEOGRAPH +0x9764 0x5996 #CJK UNIFIED IDEOGRAPH +0x9765 0x5BB9 #CJK UNIFIED IDEOGRAPH +0x9766 0x5EB8 #CJK UNIFIED IDEOGRAPH +0x9767 0x63DA #CJK UNIFIED IDEOGRAPH +0x9768 0x63FA #CJK UNIFIED IDEOGRAPH +0x9769 0x64C1 #CJK UNIFIED IDEOGRAPH +0x976A 0x66DC #CJK UNIFIED IDEOGRAPH +0x976B 0x694A #CJK UNIFIED IDEOGRAPH +0x976C 0x69D8 #CJK UNIFIED IDEOGRAPH +0x976D 0x6D0B #CJK UNIFIED IDEOGRAPH +0x976E 0x6EB6 #CJK UNIFIED IDEOGRAPH +0x976F 0x7194 #CJK UNIFIED IDEOGRAPH +0x9770 0x7528 #CJK UNIFIED IDEOGRAPH +0x9771 0x7AAF #CJK UNIFIED IDEOGRAPH +0x9772 0x7F8A #CJK UNIFIED IDEOGRAPH +0x9773 0x8000 #CJK UNIFIED IDEOGRAPH +0x9774 0x8449 #CJK UNIFIED IDEOGRAPH +0x9775 0x84C9 #CJK UNIFIED IDEOGRAPH +0x9776 0x8981 #CJK UNIFIED IDEOGRAPH +0x9777 0x8B21 #CJK UNIFIED IDEOGRAPH +0x9778 0x8E0A #CJK UNIFIED IDEOGRAPH +0x9779 0x9065 #CJK UNIFIED IDEOGRAPH +0x977A 0x967D #CJK UNIFIED IDEOGRAPH +0x977B 0x990A #CJK UNIFIED IDEOGRAPH +0x977C 0x617E #CJK UNIFIED IDEOGRAPH +0x977D 0x6291 #CJK UNIFIED IDEOGRAPH +0x977E 0x6B32 #CJK UNIFIED IDEOGRAPH +0x9780 0x6C83 #CJK UNIFIED IDEOGRAPH +0x9781 0x6D74 #CJK UNIFIED IDEOGRAPH +0x9782 0x7FCC #CJK UNIFIED IDEOGRAPH +0x9783 0x7FFC #CJK UNIFIED IDEOGRAPH +0x9784 0x6DC0 #CJK UNIFIED IDEOGRAPH +0x9785 0x7F85 #CJK UNIFIED IDEOGRAPH +0x9786 0x87BA #CJK UNIFIED IDEOGRAPH +0x9787 0x88F8 #CJK UNIFIED IDEOGRAPH +0x9788 0x6765 #CJK UNIFIED IDEOGRAPH +0x9789 0x83B1 #CJK UNIFIED IDEOGRAPH +0x978A 0x983C #CJK UNIFIED IDEOGRAPH +0x978B 0x96F7 #CJK UNIFIED IDEOGRAPH +0x978C 0x6D1B #CJK UNIFIED IDEOGRAPH +0x978D 0x7D61 #CJK UNIFIED IDEOGRAPH +0x978E 0x843D #CJK UNIFIED IDEOGRAPH +0x978F 0x916A #CJK UNIFIED IDEOGRAPH +0x9790 0x4E71 #CJK UNIFIED IDEOGRAPH +0x9791 0x5375 #CJK UNIFIED IDEOGRAPH +0x9792 0x5D50 #CJK UNIFIED IDEOGRAPH +0x9793 0x6B04 #CJK UNIFIED IDEOGRAPH +0x9794 0x6FEB #CJK UNIFIED IDEOGRAPH +0x9795 0x85CD #CJK UNIFIED IDEOGRAPH +0x9796 0x862D #CJK UNIFIED IDEOGRAPH +0x9797 0x89A7 #CJK UNIFIED IDEOGRAPH +0x9798 0x5229 #CJK UNIFIED IDEOGRAPH +0x9799 0x540F #CJK UNIFIED IDEOGRAPH +0x979A 0x5C65 #CJK UNIFIED IDEOGRAPH +0x979B 0x674E #CJK UNIFIED IDEOGRAPH +0x979C 0x68A8 #CJK UNIFIED IDEOGRAPH +0x979D 0x7406 #CJK UNIFIED IDEOGRAPH +0x979E 0x7483 #CJK UNIFIED IDEOGRAPH +0x979F 0x75E2 #CJK UNIFIED IDEOGRAPH +0x97A0 0x88CF #CJK UNIFIED IDEOGRAPH +0x97A1 0x88E1 #CJK UNIFIED IDEOGRAPH +0x97A2 0x91CC #CJK UNIFIED IDEOGRAPH +0x97A3 0x96E2 #CJK UNIFIED IDEOGRAPH +0x97A4 0x9678 #CJK UNIFIED IDEOGRAPH +0x97A5 0x5F8B #CJK UNIFIED IDEOGRAPH +0x97A6 0x7387 #CJK UNIFIED IDEOGRAPH +0x97A7 0x7ACB #CJK UNIFIED IDEOGRAPH +0x97A8 0x844E #CJK UNIFIED IDEOGRAPH +0x97A9 0x63A0 #CJK UNIFIED IDEOGRAPH +0x97AA 0x7565 #CJK UNIFIED IDEOGRAPH +0x97AB 0x5289 #CJK UNIFIED IDEOGRAPH +0x97AC 0x6D41 #CJK UNIFIED IDEOGRAPH +0x97AD 0x6E9C #CJK UNIFIED IDEOGRAPH +0x97AE 0x7409 #CJK UNIFIED IDEOGRAPH +0x97AF 0x7559 #CJK UNIFIED IDEOGRAPH +0x97B0 0x786B #CJK UNIFIED IDEOGRAPH +0x97B1 0x7C92 #CJK UNIFIED IDEOGRAPH +0x97B2 0x9686 #CJK UNIFIED IDEOGRAPH +0x97B3 0x7ADC #CJK UNIFIED IDEOGRAPH +0x97B4 0x9F8D #CJK UNIFIED IDEOGRAPH +0x97B5 0x4FB6 #CJK UNIFIED IDEOGRAPH +0x97B6 0x616E #CJK UNIFIED IDEOGRAPH +0x97B7 0x65C5 #CJK UNIFIED IDEOGRAPH +0x97B8 0x865C #CJK UNIFIED IDEOGRAPH +0x97B9 0x4E86 #CJK UNIFIED IDEOGRAPH +0x97BA 0x4EAE #CJK UNIFIED IDEOGRAPH +0x97BB 0x50DA #CJK UNIFIED IDEOGRAPH +0x97BC 0x4E21 #CJK UNIFIED IDEOGRAPH +0x97BD 0x51CC #CJK UNIFIED IDEOGRAPH +0x97BE 0x5BEE #CJK UNIFIED IDEOGRAPH +0x97BF 0x6599 #CJK UNIFIED IDEOGRAPH +0x97C0 0x6881 #CJK UNIFIED IDEOGRAPH +0x97C1 0x6DBC #CJK UNIFIED IDEOGRAPH +0x97C2 0x731F #CJK UNIFIED IDEOGRAPH +0x97C3 0x7642 #CJK UNIFIED IDEOGRAPH +0x97C4 0x77AD #CJK UNIFIED IDEOGRAPH +0x97C5 0x7A1C #CJK UNIFIED IDEOGRAPH +0x97C6 0x7CE7 #CJK UNIFIED IDEOGRAPH +0x97C7 0x826F #CJK UNIFIED IDEOGRAPH +0x97C8 0x8AD2 #CJK UNIFIED IDEOGRAPH +0x97C9 0x907C #CJK UNIFIED IDEOGRAPH +0x97CA 0x91CF #CJK UNIFIED IDEOGRAPH +0x97CB 0x9675 #CJK UNIFIED IDEOGRAPH +0x97CC 0x9818 #CJK UNIFIED IDEOGRAPH +0x97CD 0x529B #CJK UNIFIED IDEOGRAPH +0x97CE 0x7DD1 #CJK UNIFIED IDEOGRAPH +0x97CF 0x502B #CJK UNIFIED IDEOGRAPH +0x97D0 0x5398 #CJK UNIFIED IDEOGRAPH +0x97D1 0x6797 #CJK UNIFIED IDEOGRAPH +0x97D2 0x6DCB #CJK UNIFIED IDEOGRAPH +0x97D3 0x71D0 #CJK UNIFIED IDEOGRAPH +0x97D4 0x7433 #CJK UNIFIED IDEOGRAPH +0x97D5 0x81E8 #CJK UNIFIED IDEOGRAPH +0x97D6 0x8F2A #CJK UNIFIED IDEOGRAPH +0x97D7 0x96A3 #CJK UNIFIED IDEOGRAPH +0x97D8 0x9C57 #CJK UNIFIED IDEOGRAPH +0x97D9 0x9E9F #CJK UNIFIED IDEOGRAPH +0x97DA 0x7460 #CJK UNIFIED IDEOGRAPH +0x97DB 0x5841 #CJK UNIFIED IDEOGRAPH +0x97DC 0x6D99 #CJK UNIFIED IDEOGRAPH +0x97DD 0x7D2F #CJK UNIFIED IDEOGRAPH +0x97DE 0x985E #CJK UNIFIED IDEOGRAPH +0x97DF 0x4EE4 #CJK UNIFIED IDEOGRAPH +0x97E0 0x4F36 #CJK UNIFIED IDEOGRAPH +0x97E1 0x4F8B #CJK UNIFIED IDEOGRAPH +0x97E2 0x51B7 #CJK UNIFIED IDEOGRAPH +0x97E3 0x52B1 #CJK UNIFIED IDEOGRAPH +0x97E4 0x5DBA #CJK UNIFIED IDEOGRAPH +0x97E5 0x601C #CJK UNIFIED IDEOGRAPH +0x97E6 0x73B2 #CJK UNIFIED IDEOGRAPH +0x97E7 0x793C #CJK UNIFIED IDEOGRAPH +0x97E8 0x82D3 #CJK UNIFIED IDEOGRAPH +0x97E9 0x9234 #CJK UNIFIED IDEOGRAPH +0x97EA 0x96B7 #CJK UNIFIED IDEOGRAPH +0x97EB 0x96F6 #CJK UNIFIED IDEOGRAPH +0x97EC 0x970A #CJK UNIFIED IDEOGRAPH +0x97ED 0x9E97 #CJK UNIFIED IDEOGRAPH +0x97EE 0x9F62 #CJK UNIFIED IDEOGRAPH +0x97EF 0x66A6 #CJK UNIFIED IDEOGRAPH +0x97F0 0x6B74 #CJK UNIFIED IDEOGRAPH +0x97F1 0x5217 #CJK UNIFIED IDEOGRAPH +0x97F2 0x52A3 #CJK UNIFIED IDEOGRAPH +0x97F3 0x70C8 #CJK UNIFIED IDEOGRAPH +0x97F4 0x88C2 #CJK UNIFIED IDEOGRAPH +0x97F5 0x5EC9 #CJK UNIFIED IDEOGRAPH +0x97F6 0x604B #CJK UNIFIED IDEOGRAPH +0x97F7 0x6190 #CJK UNIFIED IDEOGRAPH +0x97F8 0x6F23 #CJK UNIFIED IDEOGRAPH +0x97F9 0x7149 #CJK UNIFIED IDEOGRAPH +0x97FA 0x7C3E #CJK UNIFIED IDEOGRAPH +0x97FB 0x7DF4 #CJK UNIFIED IDEOGRAPH +0x97FC 0x806F #CJK UNIFIED IDEOGRAPH +0x9840 0x84EE #CJK UNIFIED IDEOGRAPH +0x9841 0x9023 #CJK UNIFIED IDEOGRAPH +0x9842 0x932C #CJK UNIFIED IDEOGRAPH +0x9843 0x5442 #CJK UNIFIED IDEOGRAPH +0x9844 0x9B6F #CJK UNIFIED IDEOGRAPH +0x9845 0x6AD3 #CJK UNIFIED IDEOGRAPH +0x9846 0x7089 #CJK UNIFIED IDEOGRAPH +0x9847 0x8CC2 #CJK UNIFIED IDEOGRAPH +0x9848 0x8DEF #CJK UNIFIED IDEOGRAPH +0x9849 0x9732 #CJK UNIFIED IDEOGRAPH +0x984A 0x52B4 #CJK UNIFIED IDEOGRAPH +0x984B 0x5A41 #CJK UNIFIED IDEOGRAPH +0x984C 0x5ECA #CJK UNIFIED IDEOGRAPH +0x984D 0x5F04 #CJK UNIFIED IDEOGRAPH +0x984E 0x6717 #CJK UNIFIED IDEOGRAPH +0x984F 0x697C #CJK UNIFIED IDEOGRAPH +0x9850 0x6994 #CJK UNIFIED IDEOGRAPH +0x9851 0x6D6A #CJK UNIFIED IDEOGRAPH +0x9852 0x6F0F #CJK UNIFIED IDEOGRAPH +0x9853 0x7262 #CJK UNIFIED IDEOGRAPH +0x9854 0x72FC #CJK UNIFIED IDEOGRAPH +0x9855 0x7BED #CJK UNIFIED IDEOGRAPH +0x9856 0x8001 #CJK UNIFIED IDEOGRAPH +0x9857 0x807E #CJK UNIFIED IDEOGRAPH +0x9858 0x874B #CJK UNIFIED IDEOGRAPH +0x9859 0x90CE #CJK UNIFIED IDEOGRAPH +0x985A 0x516D #CJK UNIFIED IDEOGRAPH +0x985B 0x9E93 #CJK UNIFIED IDEOGRAPH +0x985C 0x7984 #CJK UNIFIED IDEOGRAPH +0x985D 0x808B #CJK UNIFIED IDEOGRAPH +0x985E 0x9332 #CJK UNIFIED IDEOGRAPH +0x985F 0x8AD6 #CJK UNIFIED IDEOGRAPH +0x9860 0x502D #CJK UNIFIED IDEOGRAPH +0x9861 0x548C #CJK UNIFIED IDEOGRAPH +0x9862 0x8A71 #CJK UNIFIED IDEOGRAPH +0x9863 0x6B6A #CJK UNIFIED IDEOGRAPH +0x9864 0x8CC4 #CJK UNIFIED IDEOGRAPH +0x9865 0x8107 #CJK UNIFIED IDEOGRAPH +0x9866 0x60D1 #CJK UNIFIED IDEOGRAPH +0x9867 0x67A0 #CJK UNIFIED IDEOGRAPH +0x9868 0x9DF2 #CJK UNIFIED IDEOGRAPH +0x9869 0x4E99 #CJK UNIFIED IDEOGRAPH +0x986A 0x4E98 #CJK UNIFIED IDEOGRAPH +0x986B 0x9C10 #CJK UNIFIED IDEOGRAPH +0x986C 0x8A6B #CJK UNIFIED IDEOGRAPH +0x986D 0x85C1 #CJK UNIFIED IDEOGRAPH +0x986E 0x8568 #CJK UNIFIED IDEOGRAPH +0x986F 0x6900 #CJK UNIFIED IDEOGRAPH +0x9870 0x6E7E #CJK UNIFIED IDEOGRAPH +0x9871 0x7897 #CJK UNIFIED IDEOGRAPH +0x9872 0x8155 #CJK UNIFIED IDEOGRAPH +0x989F 0x5F0C #CJK UNIFIED IDEOGRAPH +0x98A0 0x4E10 #CJK UNIFIED IDEOGRAPH +0x98A1 0x4E15 #CJK UNIFIED IDEOGRAPH +0x98A2 0x4E2A #CJK UNIFIED IDEOGRAPH +0x98A3 0x4E31 #CJK UNIFIED IDEOGRAPH +0x98A4 0x4E36 #CJK UNIFIED IDEOGRAPH +0x98A5 0x4E3C #CJK UNIFIED IDEOGRAPH +0x98A6 0x4E3F #CJK UNIFIED IDEOGRAPH +0x98A7 0x4E42 #CJK UNIFIED IDEOGRAPH +0x98A8 0x4E56 #CJK UNIFIED IDEOGRAPH +0x98A9 0x4E58 #CJK UNIFIED IDEOGRAPH +0x98AA 0x4E82 #CJK UNIFIED IDEOGRAPH +0x98AB 0x4E85 #CJK UNIFIED IDEOGRAPH +0x98AC 0x8C6B #CJK UNIFIED IDEOGRAPH +0x98AD 0x4E8A #CJK UNIFIED IDEOGRAPH +0x98AE 0x8212 #CJK UNIFIED IDEOGRAPH +0x98AF 0x5F0D #CJK UNIFIED IDEOGRAPH +0x98B0 0x4E8E #CJK UNIFIED IDEOGRAPH +0x98B1 0x4E9E #CJK UNIFIED IDEOGRAPH +0x98B2 0x4E9F #CJK UNIFIED IDEOGRAPH +0x98B3 0x4EA0 #CJK UNIFIED IDEOGRAPH +0x98B4 0x4EA2 #CJK UNIFIED IDEOGRAPH +0x98B5 0x4EB0 #CJK UNIFIED IDEOGRAPH +0x98B6 0x4EB3 #CJK UNIFIED IDEOGRAPH +0x98B7 0x4EB6 #CJK UNIFIED IDEOGRAPH +0x98B8 0x4ECE #CJK UNIFIED IDEOGRAPH +0x98B9 0x4ECD #CJK UNIFIED IDEOGRAPH +0x98BA 0x4EC4 #CJK UNIFIED IDEOGRAPH +0x98BB 0x4EC6 #CJK UNIFIED IDEOGRAPH +0x98BC 0x4EC2 #CJK UNIFIED IDEOGRAPH +0x98BD 0x4ED7 #CJK UNIFIED IDEOGRAPH +0x98BE 0x4EDE #CJK UNIFIED IDEOGRAPH +0x98BF 0x4EED #CJK UNIFIED IDEOGRAPH +0x98C0 0x4EDF #CJK UNIFIED IDEOGRAPH +0x98C1 0x4EF7 #CJK UNIFIED IDEOGRAPH +0x98C2 0x4F09 #CJK UNIFIED IDEOGRAPH +0x98C3 0x4F5A #CJK UNIFIED IDEOGRAPH +0x98C4 0x4F30 #CJK UNIFIED IDEOGRAPH +0x98C5 0x4F5B #CJK UNIFIED IDEOGRAPH +0x98C6 0x4F5D #CJK UNIFIED IDEOGRAPH +0x98C7 0x4F57 #CJK UNIFIED IDEOGRAPH +0x98C8 0x4F47 #CJK UNIFIED IDEOGRAPH +0x98C9 0x4F76 #CJK UNIFIED IDEOGRAPH +0x98CA 0x4F88 #CJK UNIFIED IDEOGRAPH +0x98CB 0x4F8F #CJK UNIFIED IDEOGRAPH +0x98CC 0x4F98 #CJK UNIFIED IDEOGRAPH +0x98CD 0x4F7B #CJK UNIFIED IDEOGRAPH +0x98CE 0x4F69 #CJK UNIFIED IDEOGRAPH +0x98CF 0x4F70 #CJK UNIFIED IDEOGRAPH +0x98D0 0x4F91 #CJK UNIFIED IDEOGRAPH +0x98D1 0x4F6F #CJK UNIFIED IDEOGRAPH +0x98D2 0x4F86 #CJK UNIFIED IDEOGRAPH +0x98D3 0x4F96 #CJK UNIFIED IDEOGRAPH +0x98D4 0x5118 #CJK UNIFIED IDEOGRAPH +0x98D5 0x4FD4 #CJK UNIFIED IDEOGRAPH +0x98D6 0x4FDF #CJK UNIFIED IDEOGRAPH +0x98D7 0x4FCE #CJK UNIFIED IDEOGRAPH +0x98D8 0x4FD8 #CJK UNIFIED IDEOGRAPH +0x98D9 0x4FDB #CJK UNIFIED IDEOGRAPH +0x98DA 0x4FD1 #CJK UNIFIED IDEOGRAPH +0x98DB 0x4FDA #CJK UNIFIED IDEOGRAPH +0x98DC 0x4FD0 #CJK UNIFIED IDEOGRAPH +0x98DD 0x4FE4 #CJK UNIFIED IDEOGRAPH +0x98DE 0x4FE5 #CJK UNIFIED IDEOGRAPH +0x98DF 0x501A #CJK UNIFIED IDEOGRAPH +0x98E0 0x5028 #CJK UNIFIED IDEOGRAPH +0x98E1 0x5014 #CJK UNIFIED IDEOGRAPH +0x98E2 0x502A #CJK UNIFIED IDEOGRAPH +0x98E3 0x5025 #CJK UNIFIED IDEOGRAPH +0x98E4 0x5005 #CJK UNIFIED IDEOGRAPH +0x98E5 0x4F1C #CJK UNIFIED IDEOGRAPH +0x98E6 0x4FF6 #CJK UNIFIED IDEOGRAPH +0x98E7 0x5021 #CJK UNIFIED IDEOGRAPH +0x98E8 0x5029 #CJK UNIFIED IDEOGRAPH +0x98E9 0x502C #CJK UNIFIED IDEOGRAPH +0x98EA 0x4FFE #CJK UNIFIED IDEOGRAPH +0x98EB 0x4FEF #CJK UNIFIED IDEOGRAPH +0x98EC 0x5011 #CJK UNIFIED IDEOGRAPH +0x98ED 0x5006 #CJK UNIFIED IDEOGRAPH +0x98EE 0x5043 #CJK UNIFIED IDEOGRAPH +0x98EF 0x5047 #CJK UNIFIED IDEOGRAPH +0x98F0 0x6703 #CJK UNIFIED IDEOGRAPH +0x98F1 0x5055 #CJK UNIFIED IDEOGRAPH +0x98F2 0x5050 #CJK UNIFIED IDEOGRAPH +0x98F3 0x5048 #CJK UNIFIED IDEOGRAPH +0x98F4 0x505A #CJK UNIFIED IDEOGRAPH +0x98F5 0x5056 #CJK UNIFIED IDEOGRAPH +0x98F6 0x506C #CJK UNIFIED IDEOGRAPH +0x98F7 0x5078 #CJK UNIFIED IDEOGRAPH +0x98F8 0x5080 #CJK UNIFIED IDEOGRAPH +0x98F9 0x509A #CJK UNIFIED IDEOGRAPH +0x98FA 0x5085 #CJK UNIFIED IDEOGRAPH +0x98FB 0x50B4 #CJK UNIFIED IDEOGRAPH +0x98FC 0x50B2 #CJK UNIFIED IDEOGRAPH +0x9940 0x50C9 #CJK UNIFIED IDEOGRAPH +0x9941 0x50CA #CJK UNIFIED IDEOGRAPH +0x9942 0x50B3 #CJK UNIFIED IDEOGRAPH +0x9943 0x50C2 #CJK UNIFIED IDEOGRAPH +0x9944 0x50D6 #CJK UNIFIED IDEOGRAPH +0x9945 0x50DE #CJK UNIFIED IDEOGRAPH +0x9946 0x50E5 #CJK UNIFIED IDEOGRAPH +0x9947 0x50ED #CJK UNIFIED IDEOGRAPH +0x9948 0x50E3 #CJK UNIFIED IDEOGRAPH +0x9949 0x50EE #CJK UNIFIED IDEOGRAPH +0x994A 0x50F9 #CJK UNIFIED IDEOGRAPH +0x994B 0x50F5 #CJK UNIFIED IDEOGRAPH +0x994C 0x5109 #CJK UNIFIED IDEOGRAPH +0x994D 0x5101 #CJK UNIFIED IDEOGRAPH +0x994E 0x5102 #CJK UNIFIED IDEOGRAPH +0x994F 0x5116 #CJK UNIFIED IDEOGRAPH +0x9950 0x5115 #CJK UNIFIED IDEOGRAPH +0x9951 0x5114 #CJK UNIFIED IDEOGRAPH +0x9952 0x511A #CJK UNIFIED IDEOGRAPH +0x9953 0x5121 #CJK UNIFIED IDEOGRAPH +0x9954 0x513A #CJK UNIFIED IDEOGRAPH +0x9955 0x5137 #CJK UNIFIED IDEOGRAPH +0x9956 0x513C #CJK UNIFIED IDEOGRAPH +0x9957 0x513B #CJK UNIFIED IDEOGRAPH +0x9958 0x513F #CJK UNIFIED IDEOGRAPH +0x9959 0x5140 #CJK UNIFIED IDEOGRAPH +0x995A 0x5152 #CJK UNIFIED IDEOGRAPH +0x995B 0x514C #CJK UNIFIED IDEOGRAPH +0x995C 0x5154 #CJK UNIFIED IDEOGRAPH +0x995D 0x5162 #CJK UNIFIED IDEOGRAPH +0x995E 0x7AF8 #CJK UNIFIED IDEOGRAPH +0x995F 0x5169 #CJK UNIFIED IDEOGRAPH +0x9960 0x516A #CJK UNIFIED IDEOGRAPH +0x9961 0x516E #CJK UNIFIED IDEOGRAPH +0x9962 0x5180 #CJK UNIFIED IDEOGRAPH +0x9963 0x5182 #CJK UNIFIED IDEOGRAPH +0x9964 0x56D8 #CJK UNIFIED IDEOGRAPH +0x9965 0x518C #CJK UNIFIED IDEOGRAPH +0x9966 0x5189 #CJK UNIFIED IDEOGRAPH +0x9967 0x518F #CJK UNIFIED IDEOGRAPH +0x9968 0x5191 #CJK UNIFIED IDEOGRAPH +0x9969 0x5193 #CJK UNIFIED IDEOGRAPH +0x996A 0x5195 #CJK UNIFIED IDEOGRAPH +0x996B 0x5196 #CJK UNIFIED IDEOGRAPH +0x996C 0x51A4 #CJK UNIFIED IDEOGRAPH +0x996D 0x51A6 #CJK UNIFIED IDEOGRAPH +0x996E 0x51A2 #CJK UNIFIED IDEOGRAPH +0x996F 0x51A9 #CJK UNIFIED IDEOGRAPH +0x9970 0x51AA #CJK UNIFIED IDEOGRAPH +0x9971 0x51AB #CJK UNIFIED IDEOGRAPH +0x9972 0x51B3 #CJK UNIFIED IDEOGRAPH +0x9973 0x51B1 #CJK UNIFIED IDEOGRAPH +0x9974 0x51B2 #CJK UNIFIED IDEOGRAPH +0x9975 0x51B0 #CJK UNIFIED IDEOGRAPH +0x9976 0x51B5 #CJK UNIFIED IDEOGRAPH +0x9977 0x51BD #CJK UNIFIED IDEOGRAPH +0x9978 0x51C5 #CJK UNIFIED IDEOGRAPH +0x9979 0x51C9 #CJK UNIFIED IDEOGRAPH +0x997A 0x51DB #CJK UNIFIED IDEOGRAPH +0x997B 0x51E0 #CJK UNIFIED IDEOGRAPH +0x997C 0x8655 #CJK UNIFIED IDEOGRAPH +0x997D 0x51E9 #CJK UNIFIED IDEOGRAPH +0x997E 0x51ED #CJK UNIFIED IDEOGRAPH +0x9980 0x51F0 #CJK UNIFIED IDEOGRAPH +0x9981 0x51F5 #CJK UNIFIED IDEOGRAPH +0x9982 0x51FE #CJK UNIFIED IDEOGRAPH +0x9983 0x5204 #CJK UNIFIED IDEOGRAPH +0x9984 0x520B #CJK UNIFIED IDEOGRAPH +0x9985 0x5214 #CJK UNIFIED IDEOGRAPH +0x9986 0x520E #CJK UNIFIED IDEOGRAPH +0x9987 0x5227 #CJK UNIFIED IDEOGRAPH +0x9988 0x522A #CJK UNIFIED IDEOGRAPH +0x9989 0x522E #CJK UNIFIED IDEOGRAPH +0x998A 0x5233 #CJK UNIFIED IDEOGRAPH +0x998B 0x5239 #CJK UNIFIED IDEOGRAPH +0x998C 0x524F #CJK UNIFIED IDEOGRAPH +0x998D 0x5244 #CJK UNIFIED IDEOGRAPH +0x998E 0x524B #CJK UNIFIED IDEOGRAPH +0x998F 0x524C #CJK UNIFIED IDEOGRAPH +0x9990 0x525E #CJK UNIFIED IDEOGRAPH +0x9991 0x5254 #CJK UNIFIED IDEOGRAPH +0x9992 0x526A #CJK UNIFIED IDEOGRAPH +0x9993 0x5274 #CJK UNIFIED IDEOGRAPH +0x9994 0x5269 #CJK UNIFIED IDEOGRAPH +0x9995 0x5273 #CJK UNIFIED IDEOGRAPH +0x9996 0x527F #CJK UNIFIED IDEOGRAPH +0x9997 0x527D #CJK UNIFIED IDEOGRAPH +0x9998 0x528D #CJK UNIFIED IDEOGRAPH +0x9999 0x5294 #CJK UNIFIED IDEOGRAPH +0x999A 0x5292 #CJK UNIFIED IDEOGRAPH +0x999B 0x5271 #CJK UNIFIED IDEOGRAPH +0x999C 0x5288 #CJK UNIFIED IDEOGRAPH +0x999D 0x5291 #CJK UNIFIED IDEOGRAPH +0x999E 0x8FA8 #CJK UNIFIED IDEOGRAPH +0x999F 0x8FA7 #CJK UNIFIED IDEOGRAPH +0x99A0 0x52AC #CJK UNIFIED IDEOGRAPH +0x99A1 0x52AD #CJK UNIFIED IDEOGRAPH +0x99A2 0x52BC #CJK UNIFIED IDEOGRAPH +0x99A3 0x52B5 #CJK UNIFIED IDEOGRAPH +0x99A4 0x52C1 #CJK UNIFIED IDEOGRAPH +0x99A5 0x52CD #CJK UNIFIED IDEOGRAPH +0x99A6 0x52D7 #CJK UNIFIED IDEOGRAPH +0x99A7 0x52DE #CJK UNIFIED IDEOGRAPH +0x99A8 0x52E3 #CJK UNIFIED IDEOGRAPH +0x99A9 0x52E6 #CJK UNIFIED IDEOGRAPH +0x99AA 0x98ED #CJK UNIFIED IDEOGRAPH +0x99AB 0x52E0 #CJK UNIFIED IDEOGRAPH +0x99AC 0x52F3 #CJK UNIFIED IDEOGRAPH +0x99AD 0x52F5 #CJK UNIFIED IDEOGRAPH +0x99AE 0x52F8 #CJK UNIFIED IDEOGRAPH +0x99AF 0x52F9 #CJK UNIFIED IDEOGRAPH +0x99B0 0x5306 #CJK UNIFIED IDEOGRAPH +0x99B1 0x5308 #CJK UNIFIED IDEOGRAPH +0x99B2 0x7538 #CJK UNIFIED IDEOGRAPH +0x99B3 0x530D #CJK UNIFIED IDEOGRAPH +0x99B4 0x5310 #CJK UNIFIED IDEOGRAPH +0x99B5 0x530F #CJK UNIFIED IDEOGRAPH +0x99B6 0x5315 #CJK UNIFIED IDEOGRAPH +0x99B7 0x531A #CJK UNIFIED IDEOGRAPH +0x99B8 0x5323 #CJK UNIFIED IDEOGRAPH +0x99B9 0x532F #CJK UNIFIED IDEOGRAPH +0x99BA 0x5331 #CJK UNIFIED IDEOGRAPH +0x99BB 0x5333 #CJK UNIFIED IDEOGRAPH +0x99BC 0x5338 #CJK UNIFIED IDEOGRAPH +0x99BD 0x5340 #CJK UNIFIED IDEOGRAPH +0x99BE 0x5346 #CJK UNIFIED IDEOGRAPH +0x99BF 0x5345 #CJK UNIFIED IDEOGRAPH +0x99C0 0x4E17 #CJK UNIFIED IDEOGRAPH +0x99C1 0x5349 #CJK UNIFIED IDEOGRAPH +0x99C2 0x534D #CJK UNIFIED IDEOGRAPH +0x99C3 0x51D6 #CJK UNIFIED IDEOGRAPH +0x99C4 0x535E #CJK UNIFIED IDEOGRAPH +0x99C5 0x5369 #CJK UNIFIED IDEOGRAPH +0x99C6 0x536E #CJK UNIFIED IDEOGRAPH +0x99C7 0x5918 #CJK UNIFIED IDEOGRAPH +0x99C8 0x537B #CJK UNIFIED IDEOGRAPH +0x99C9 0x5377 #CJK UNIFIED IDEOGRAPH +0x99CA 0x5382 #CJK UNIFIED IDEOGRAPH +0x99CB 0x5396 #CJK UNIFIED IDEOGRAPH +0x99CC 0x53A0 #CJK UNIFIED IDEOGRAPH +0x99CD 0x53A6 #CJK UNIFIED IDEOGRAPH +0x99CE 0x53A5 #CJK UNIFIED IDEOGRAPH +0x99CF 0x53AE #CJK UNIFIED IDEOGRAPH +0x99D0 0x53B0 #CJK UNIFIED IDEOGRAPH +0x99D1 0x53B6 #CJK UNIFIED IDEOGRAPH +0x99D2 0x53C3 #CJK UNIFIED IDEOGRAPH +0x99D3 0x7C12 #CJK UNIFIED IDEOGRAPH +0x99D4 0x96D9 #CJK UNIFIED IDEOGRAPH +0x99D5 0x53DF #CJK UNIFIED IDEOGRAPH +0x99D6 0x66FC #CJK UNIFIED IDEOGRAPH +0x99D7 0x71EE #CJK UNIFIED IDEOGRAPH +0x99D8 0x53EE #CJK UNIFIED IDEOGRAPH +0x99D9 0x53E8 #CJK UNIFIED IDEOGRAPH +0x99DA 0x53ED #CJK UNIFIED IDEOGRAPH +0x99DB 0x53FA #CJK UNIFIED IDEOGRAPH +0x99DC 0x5401 #CJK UNIFIED IDEOGRAPH +0x99DD 0x543D #CJK UNIFIED IDEOGRAPH +0x99DE 0x5440 #CJK UNIFIED IDEOGRAPH +0x99DF 0x542C #CJK UNIFIED IDEOGRAPH +0x99E0 0x542D #CJK UNIFIED IDEOGRAPH +0x99E1 0x543C #CJK UNIFIED IDEOGRAPH +0x99E2 0x542E #CJK UNIFIED IDEOGRAPH +0x99E3 0x5436 #CJK UNIFIED IDEOGRAPH +0x99E4 0x5429 #CJK UNIFIED IDEOGRAPH +0x99E5 0x541D #CJK UNIFIED IDEOGRAPH +0x99E6 0x544E #CJK UNIFIED IDEOGRAPH +0x99E7 0x548F #CJK UNIFIED IDEOGRAPH +0x99E8 0x5475 #CJK UNIFIED IDEOGRAPH +0x99E9 0x548E #CJK UNIFIED IDEOGRAPH +0x99EA 0x545F #CJK UNIFIED IDEOGRAPH +0x99EB 0x5471 #CJK UNIFIED IDEOGRAPH +0x99EC 0x5477 #CJK UNIFIED IDEOGRAPH +0x99ED 0x5470 #CJK UNIFIED IDEOGRAPH +0x99EE 0x5492 #CJK UNIFIED IDEOGRAPH +0x99EF 0x547B #CJK UNIFIED IDEOGRAPH +0x99F0 0x5480 #CJK UNIFIED IDEOGRAPH +0x99F1 0x5476 #CJK UNIFIED IDEOGRAPH +0x99F2 0x5484 #CJK UNIFIED IDEOGRAPH +0x99F3 0x5490 #CJK UNIFIED IDEOGRAPH +0x99F4 0x5486 #CJK UNIFIED IDEOGRAPH +0x99F5 0x54C7 #CJK UNIFIED IDEOGRAPH +0x99F6 0x54A2 #CJK UNIFIED IDEOGRAPH +0x99F7 0x54B8 #CJK UNIFIED IDEOGRAPH +0x99F8 0x54A5 #CJK UNIFIED IDEOGRAPH +0x99F9 0x54AC #CJK UNIFIED IDEOGRAPH +0x99FA 0x54C4 #CJK UNIFIED IDEOGRAPH +0x99FB 0x54C8 #CJK UNIFIED IDEOGRAPH +0x99FC 0x54A8 #CJK UNIFIED IDEOGRAPH +0x9A40 0x54AB #CJK UNIFIED IDEOGRAPH +0x9A41 0x54C2 #CJK UNIFIED IDEOGRAPH +0x9A42 0x54A4 #CJK UNIFIED IDEOGRAPH +0x9A43 0x54BE #CJK UNIFIED IDEOGRAPH +0x9A44 0x54BC #CJK UNIFIED IDEOGRAPH +0x9A45 0x54D8 #CJK UNIFIED IDEOGRAPH +0x9A46 0x54E5 #CJK UNIFIED IDEOGRAPH +0x9A47 0x54E6 #CJK UNIFIED IDEOGRAPH +0x9A48 0x550F #CJK UNIFIED IDEOGRAPH +0x9A49 0x5514 #CJK UNIFIED IDEOGRAPH +0x9A4A 0x54FD #CJK UNIFIED IDEOGRAPH +0x9A4B 0x54EE #CJK UNIFIED IDEOGRAPH +0x9A4C 0x54ED #CJK UNIFIED IDEOGRAPH +0x9A4D 0x54FA #CJK UNIFIED IDEOGRAPH +0x9A4E 0x54E2 #CJK UNIFIED IDEOGRAPH +0x9A4F 0x5539 #CJK UNIFIED IDEOGRAPH +0x9A50 0x5540 #CJK UNIFIED IDEOGRAPH +0x9A51 0x5563 #CJK UNIFIED IDEOGRAPH +0x9A52 0x554C #CJK UNIFIED IDEOGRAPH +0x9A53 0x552E #CJK UNIFIED IDEOGRAPH +0x9A54 0x555C #CJK UNIFIED IDEOGRAPH +0x9A55 0x5545 #CJK UNIFIED IDEOGRAPH +0x9A56 0x5556 #CJK UNIFIED IDEOGRAPH +0x9A57 0x5557 #CJK UNIFIED IDEOGRAPH +0x9A58 0x5538 #CJK UNIFIED IDEOGRAPH +0x9A59 0x5533 #CJK UNIFIED IDEOGRAPH +0x9A5A 0x555D #CJK UNIFIED IDEOGRAPH +0x9A5B 0x5599 #CJK UNIFIED IDEOGRAPH +0x9A5C 0x5580 #CJK UNIFIED IDEOGRAPH +0x9A5D 0x54AF #CJK UNIFIED IDEOGRAPH +0x9A5E 0x558A #CJK UNIFIED IDEOGRAPH +0x9A5F 0x559F #CJK UNIFIED IDEOGRAPH +0x9A60 0x557B #CJK UNIFIED IDEOGRAPH +0x9A61 0x557E #CJK UNIFIED IDEOGRAPH +0x9A62 0x5598 #CJK UNIFIED IDEOGRAPH +0x9A63 0x559E #CJK UNIFIED IDEOGRAPH +0x9A64 0x55AE #CJK UNIFIED IDEOGRAPH +0x9A65 0x557C #CJK UNIFIED IDEOGRAPH +0x9A66 0x5583 #CJK UNIFIED IDEOGRAPH +0x9A67 0x55A9 #CJK UNIFIED IDEOGRAPH +0x9A68 0x5587 #CJK UNIFIED IDEOGRAPH +0x9A69 0x55A8 #CJK UNIFIED IDEOGRAPH +0x9A6A 0x55DA #CJK UNIFIED IDEOGRAPH +0x9A6B 0x55C5 #CJK UNIFIED IDEOGRAPH +0x9A6C 0x55DF #CJK UNIFIED IDEOGRAPH +0x9A6D 0x55C4 #CJK UNIFIED IDEOGRAPH +0x9A6E 0x55DC #CJK UNIFIED IDEOGRAPH +0x9A6F 0x55E4 #CJK UNIFIED IDEOGRAPH +0x9A70 0x55D4 #CJK UNIFIED IDEOGRAPH +0x9A71 0x5614 #CJK UNIFIED IDEOGRAPH +0x9A72 0x55F7 #CJK UNIFIED IDEOGRAPH +0x9A73 0x5616 #CJK UNIFIED IDEOGRAPH +0x9A74 0x55FE #CJK UNIFIED IDEOGRAPH +0x9A75 0x55FD #CJK UNIFIED IDEOGRAPH +0x9A76 0x561B #CJK UNIFIED IDEOGRAPH +0x9A77 0x55F9 #CJK UNIFIED IDEOGRAPH +0x9A78 0x564E #CJK UNIFIED IDEOGRAPH +0x9A79 0x5650 #CJK UNIFIED IDEOGRAPH +0x9A7A 0x71DF #CJK UNIFIED IDEOGRAPH +0x9A7B 0x5634 #CJK UNIFIED IDEOGRAPH +0x9A7C 0x5636 #CJK UNIFIED IDEOGRAPH +0x9A7D 0x5632 #CJK UNIFIED IDEOGRAPH +0x9A7E 0x5638 #CJK UNIFIED IDEOGRAPH +0x9A80 0x566B #CJK UNIFIED IDEOGRAPH +0x9A81 0x5664 #CJK UNIFIED IDEOGRAPH +0x9A82 0x562F #CJK UNIFIED IDEOGRAPH +0x9A83 0x566C #CJK UNIFIED IDEOGRAPH +0x9A84 0x566A #CJK UNIFIED IDEOGRAPH +0x9A85 0x5686 #CJK UNIFIED IDEOGRAPH +0x9A86 0x5680 #CJK UNIFIED IDEOGRAPH +0x9A87 0x568A #CJK UNIFIED IDEOGRAPH +0x9A88 0x56A0 #CJK UNIFIED IDEOGRAPH +0x9A89 0x5694 #CJK UNIFIED IDEOGRAPH +0x9A8A 0x568F #CJK UNIFIED IDEOGRAPH +0x9A8B 0x56A5 #CJK UNIFIED IDEOGRAPH +0x9A8C 0x56AE #CJK UNIFIED IDEOGRAPH +0x9A8D 0x56B6 #CJK UNIFIED IDEOGRAPH +0x9A8E 0x56B4 #CJK UNIFIED IDEOGRAPH +0x9A8F 0x56C2 #CJK UNIFIED IDEOGRAPH +0x9A90 0x56BC #CJK UNIFIED IDEOGRAPH +0x9A91 0x56C1 #CJK UNIFIED IDEOGRAPH +0x9A92 0x56C3 #CJK UNIFIED IDEOGRAPH +0x9A93 0x56C0 #CJK UNIFIED IDEOGRAPH +0x9A94 0x56C8 #CJK UNIFIED IDEOGRAPH +0x9A95 0x56CE #CJK UNIFIED IDEOGRAPH +0x9A96 0x56D1 #CJK UNIFIED IDEOGRAPH +0x9A97 0x56D3 #CJK UNIFIED IDEOGRAPH +0x9A98 0x56D7 #CJK UNIFIED IDEOGRAPH +0x9A99 0x56EE #CJK UNIFIED IDEOGRAPH +0x9A9A 0x56F9 #CJK UNIFIED IDEOGRAPH +0x9A9B 0x5700 #CJK UNIFIED IDEOGRAPH +0x9A9C 0x56FF #CJK UNIFIED IDEOGRAPH +0x9A9D 0x5704 #CJK UNIFIED IDEOGRAPH +0x9A9E 0x5709 #CJK UNIFIED IDEOGRAPH +0x9A9F 0x5708 #CJK UNIFIED IDEOGRAPH +0x9AA0 0x570B #CJK UNIFIED IDEOGRAPH +0x9AA1 0x570D #CJK UNIFIED IDEOGRAPH +0x9AA2 0x5713 #CJK UNIFIED IDEOGRAPH +0x9AA3 0x5718 #CJK UNIFIED IDEOGRAPH +0x9AA4 0x5716 #CJK UNIFIED IDEOGRAPH +0x9AA5 0x55C7 #CJK UNIFIED IDEOGRAPH +0x9AA6 0x571C #CJK UNIFIED IDEOGRAPH +0x9AA7 0x5726 #CJK UNIFIED IDEOGRAPH +0x9AA8 0x5737 #CJK UNIFIED IDEOGRAPH +0x9AA9 0x5738 #CJK UNIFIED IDEOGRAPH +0x9AAA 0x574E #CJK UNIFIED IDEOGRAPH +0x9AAB 0x573B #CJK UNIFIED IDEOGRAPH +0x9AAC 0x5740 #CJK UNIFIED IDEOGRAPH +0x9AAD 0x574F #CJK UNIFIED IDEOGRAPH +0x9AAE 0x5769 #CJK UNIFIED IDEOGRAPH +0x9AAF 0x57C0 #CJK UNIFIED IDEOGRAPH +0x9AB0 0x5788 #CJK UNIFIED IDEOGRAPH +0x9AB1 0x5761 #CJK UNIFIED IDEOGRAPH +0x9AB2 0x577F #CJK UNIFIED IDEOGRAPH +0x9AB3 0x5789 #CJK UNIFIED IDEOGRAPH +0x9AB4 0x5793 #CJK UNIFIED IDEOGRAPH +0x9AB5 0x57A0 #CJK UNIFIED IDEOGRAPH +0x9AB6 0x57B3 #CJK UNIFIED IDEOGRAPH +0x9AB7 0x57A4 #CJK UNIFIED IDEOGRAPH +0x9AB8 0x57AA #CJK UNIFIED IDEOGRAPH +0x9AB9 0x57B0 #CJK UNIFIED IDEOGRAPH +0x9ABA 0x57C3 #CJK UNIFIED IDEOGRAPH +0x9ABB 0x57C6 #CJK UNIFIED IDEOGRAPH +0x9ABC 0x57D4 #CJK UNIFIED IDEOGRAPH +0x9ABD 0x57D2 #CJK UNIFIED IDEOGRAPH +0x9ABE 0x57D3 #CJK UNIFIED IDEOGRAPH +0x9ABF 0x580A #CJK UNIFIED IDEOGRAPH +0x9AC0 0x57D6 #CJK UNIFIED IDEOGRAPH +0x9AC1 0x57E3 #CJK UNIFIED IDEOGRAPH +0x9AC2 0x580B #CJK UNIFIED IDEOGRAPH +0x9AC3 0x5819 #CJK UNIFIED IDEOGRAPH +0x9AC4 0x581D #CJK UNIFIED IDEOGRAPH +0x9AC5 0x5872 #CJK UNIFIED IDEOGRAPH +0x9AC6 0x5821 #CJK UNIFIED IDEOGRAPH +0x9AC7 0x5862 #CJK UNIFIED IDEOGRAPH +0x9AC8 0x584B #CJK UNIFIED IDEOGRAPH +0x9AC9 0x5870 #CJK UNIFIED IDEOGRAPH +0x9ACA 0x6BC0 #CJK UNIFIED IDEOGRAPH +0x9ACB 0x5852 #CJK UNIFIED IDEOGRAPH +0x9ACC 0x583D #CJK UNIFIED IDEOGRAPH +0x9ACD 0x5879 #CJK UNIFIED IDEOGRAPH +0x9ACE 0x5885 #CJK UNIFIED IDEOGRAPH +0x9ACF 0x58B9 #CJK UNIFIED IDEOGRAPH +0x9AD0 0x589F #CJK UNIFIED IDEOGRAPH +0x9AD1 0x58AB #CJK UNIFIED IDEOGRAPH +0x9AD2 0x58BA #CJK UNIFIED IDEOGRAPH +0x9AD3 0x58DE #CJK UNIFIED IDEOGRAPH +0x9AD4 0x58BB #CJK UNIFIED IDEOGRAPH +0x9AD5 0x58B8 #CJK UNIFIED IDEOGRAPH +0x9AD6 0x58AE #CJK UNIFIED IDEOGRAPH +0x9AD7 0x58C5 #CJK UNIFIED IDEOGRAPH +0x9AD8 0x58D3 #CJK UNIFIED IDEOGRAPH +0x9AD9 0x58D1 #CJK UNIFIED IDEOGRAPH +0x9ADA 0x58D7 #CJK UNIFIED IDEOGRAPH +0x9ADB 0x58D9 #CJK UNIFIED IDEOGRAPH +0x9ADC 0x58D8 #CJK UNIFIED IDEOGRAPH +0x9ADD 0x58E5 #CJK UNIFIED IDEOGRAPH +0x9ADE 0x58DC #CJK UNIFIED IDEOGRAPH +0x9ADF 0x58E4 #CJK UNIFIED IDEOGRAPH +0x9AE0 0x58DF #CJK UNIFIED IDEOGRAPH +0x9AE1 0x58EF #CJK UNIFIED IDEOGRAPH +0x9AE2 0x58FA #CJK UNIFIED IDEOGRAPH +0x9AE3 0x58F9 #CJK UNIFIED IDEOGRAPH +0x9AE4 0x58FB #CJK UNIFIED IDEOGRAPH +0x9AE5 0x58FC #CJK UNIFIED IDEOGRAPH +0x9AE6 0x58FD #CJK UNIFIED IDEOGRAPH +0x9AE7 0x5902 #CJK UNIFIED IDEOGRAPH +0x9AE8 0x590A #CJK UNIFIED IDEOGRAPH +0x9AE9 0x5910 #CJK UNIFIED IDEOGRAPH +0x9AEA 0x591B #CJK UNIFIED IDEOGRAPH +0x9AEB 0x68A6 #CJK UNIFIED IDEOGRAPH +0x9AEC 0x5925 #CJK UNIFIED IDEOGRAPH +0x9AED 0x592C #CJK UNIFIED IDEOGRAPH +0x9AEE 0x592D #CJK UNIFIED IDEOGRAPH +0x9AEF 0x5932 #CJK UNIFIED IDEOGRAPH +0x9AF0 0x5938 #CJK UNIFIED IDEOGRAPH +0x9AF1 0x593E #CJK UNIFIED IDEOGRAPH +0x9AF2 0x7AD2 #CJK UNIFIED IDEOGRAPH +0x9AF3 0x5955 #CJK UNIFIED IDEOGRAPH +0x9AF4 0x5950 #CJK UNIFIED IDEOGRAPH +0x9AF5 0x594E #CJK UNIFIED IDEOGRAPH +0x9AF6 0x595A #CJK UNIFIED IDEOGRAPH +0x9AF7 0x5958 #CJK UNIFIED IDEOGRAPH +0x9AF8 0x5962 #CJK UNIFIED IDEOGRAPH +0x9AF9 0x5960 #CJK UNIFIED IDEOGRAPH +0x9AFA 0x5967 #CJK UNIFIED IDEOGRAPH +0x9AFB 0x596C #CJK UNIFIED IDEOGRAPH +0x9AFC 0x5969 #CJK UNIFIED IDEOGRAPH +0x9B40 0x5978 #CJK UNIFIED IDEOGRAPH +0x9B41 0x5981 #CJK UNIFIED IDEOGRAPH +0x9B42 0x599D #CJK UNIFIED IDEOGRAPH +0x9B43 0x4F5E #CJK UNIFIED IDEOGRAPH +0x9B44 0x4FAB #CJK UNIFIED IDEOGRAPH +0x9B45 0x59A3 #CJK UNIFIED IDEOGRAPH +0x9B46 0x59B2 #CJK UNIFIED IDEOGRAPH +0x9B47 0x59C6 #CJK UNIFIED IDEOGRAPH +0x9B48 0x59E8 #CJK UNIFIED IDEOGRAPH +0x9B49 0x59DC #CJK UNIFIED IDEOGRAPH +0x9B4A 0x598D #CJK UNIFIED IDEOGRAPH +0x9B4B 0x59D9 #CJK UNIFIED IDEOGRAPH +0x9B4C 0x59DA #CJK UNIFIED IDEOGRAPH +0x9B4D 0x5A25 #CJK UNIFIED IDEOGRAPH +0x9B4E 0x5A1F #CJK UNIFIED IDEOGRAPH +0x9B4F 0x5A11 #CJK UNIFIED IDEOGRAPH +0x9B50 0x5A1C #CJK UNIFIED IDEOGRAPH +0x9B51 0x5A09 #CJK UNIFIED IDEOGRAPH +0x9B52 0x5A1A #CJK UNIFIED IDEOGRAPH +0x9B53 0x5A40 #CJK UNIFIED IDEOGRAPH +0x9B54 0x5A6C #CJK UNIFIED IDEOGRAPH +0x9B55 0x5A49 #CJK UNIFIED IDEOGRAPH +0x9B56 0x5A35 #CJK UNIFIED IDEOGRAPH +0x9B57 0x5A36 #CJK UNIFIED IDEOGRAPH +0x9B58 0x5A62 #CJK UNIFIED IDEOGRAPH +0x9B59 0x5A6A #CJK UNIFIED IDEOGRAPH +0x9B5A 0x5A9A #CJK UNIFIED IDEOGRAPH +0x9B5B 0x5ABC #CJK UNIFIED IDEOGRAPH +0x9B5C 0x5ABE #CJK UNIFIED IDEOGRAPH +0x9B5D 0x5ACB #CJK UNIFIED IDEOGRAPH +0x9B5E 0x5AC2 #CJK UNIFIED IDEOGRAPH +0x9B5F 0x5ABD #CJK UNIFIED IDEOGRAPH +0x9B60 0x5AE3 #CJK UNIFIED IDEOGRAPH +0x9B61 0x5AD7 #CJK UNIFIED IDEOGRAPH +0x9B62 0x5AE6 #CJK UNIFIED IDEOGRAPH +0x9B63 0x5AE9 #CJK UNIFIED IDEOGRAPH +0x9B64 0x5AD6 #CJK UNIFIED IDEOGRAPH +0x9B65 0x5AFA #CJK UNIFIED IDEOGRAPH +0x9B66 0x5AFB #CJK UNIFIED IDEOGRAPH +0x9B67 0x5B0C #CJK UNIFIED IDEOGRAPH +0x9B68 0x5B0B #CJK UNIFIED IDEOGRAPH +0x9B69 0x5B16 #CJK UNIFIED IDEOGRAPH +0x9B6A 0x5B32 #CJK UNIFIED IDEOGRAPH +0x9B6B 0x5AD0 #CJK UNIFIED IDEOGRAPH +0x9B6C 0x5B2A #CJK UNIFIED IDEOGRAPH +0x9B6D 0x5B36 #CJK UNIFIED IDEOGRAPH +0x9B6E 0x5B3E #CJK UNIFIED IDEOGRAPH +0x9B6F 0x5B43 #CJK UNIFIED IDEOGRAPH +0x9B70 0x5B45 #CJK UNIFIED IDEOGRAPH +0x9B71 0x5B40 #CJK UNIFIED IDEOGRAPH +0x9B72 0x5B51 #CJK UNIFIED IDEOGRAPH +0x9B73 0x5B55 #CJK UNIFIED IDEOGRAPH +0x9B74 0x5B5A #CJK UNIFIED IDEOGRAPH +0x9B75 0x5B5B #CJK UNIFIED IDEOGRAPH +0x9B76 0x5B65 #CJK UNIFIED IDEOGRAPH +0x9B77 0x5B69 #CJK UNIFIED IDEOGRAPH +0x9B78 0x5B70 #CJK UNIFIED IDEOGRAPH +0x9B79 0x5B73 #CJK UNIFIED IDEOGRAPH +0x9B7A 0x5B75 #CJK UNIFIED IDEOGRAPH +0x9B7B 0x5B78 #CJK UNIFIED IDEOGRAPH +0x9B7C 0x6588 #CJK UNIFIED IDEOGRAPH +0x9B7D 0x5B7A #CJK UNIFIED IDEOGRAPH +0x9B7E 0x5B80 #CJK UNIFIED IDEOGRAPH +0x9B80 0x5B83 #CJK UNIFIED IDEOGRAPH +0x9B81 0x5BA6 #CJK UNIFIED IDEOGRAPH +0x9B82 0x5BB8 #CJK UNIFIED IDEOGRAPH +0x9B83 0x5BC3 #CJK UNIFIED IDEOGRAPH +0x9B84 0x5BC7 #CJK UNIFIED IDEOGRAPH +0x9B85 0x5BC9 #CJK UNIFIED IDEOGRAPH +0x9B86 0x5BD4 #CJK UNIFIED IDEOGRAPH +0x9B87 0x5BD0 #CJK UNIFIED IDEOGRAPH +0x9B88 0x5BE4 #CJK UNIFIED IDEOGRAPH +0x9B89 0x5BE6 #CJK UNIFIED IDEOGRAPH +0x9B8A 0x5BE2 #CJK UNIFIED IDEOGRAPH +0x9B8B 0x5BDE #CJK UNIFIED IDEOGRAPH +0x9B8C 0x5BE5 #CJK UNIFIED IDEOGRAPH +0x9B8D 0x5BEB #CJK UNIFIED IDEOGRAPH +0x9B8E 0x5BF0 #CJK UNIFIED IDEOGRAPH +0x9B8F 0x5BF6 #CJK UNIFIED IDEOGRAPH +0x9B90 0x5BF3 #CJK UNIFIED IDEOGRAPH +0x9B91 0x5C05 #CJK UNIFIED IDEOGRAPH +0x9B92 0x5C07 #CJK UNIFIED IDEOGRAPH +0x9B93 0x5C08 #CJK UNIFIED IDEOGRAPH +0x9B94 0x5C0D #CJK UNIFIED IDEOGRAPH +0x9B95 0x5C13 #CJK UNIFIED IDEOGRAPH +0x9B96 0x5C20 #CJK UNIFIED IDEOGRAPH +0x9B97 0x5C22 #CJK UNIFIED IDEOGRAPH +0x9B98 0x5C28 #CJK UNIFIED IDEOGRAPH +0x9B99 0x5C38 #CJK UNIFIED IDEOGRAPH +0x9B9A 0x5C39 #CJK UNIFIED IDEOGRAPH +0x9B9B 0x5C41 #CJK UNIFIED IDEOGRAPH +0x9B9C 0x5C46 #CJK UNIFIED IDEOGRAPH +0x9B9D 0x5C4E #CJK UNIFIED IDEOGRAPH +0x9B9E 0x5C53 #CJK UNIFIED IDEOGRAPH +0x9B9F 0x5C50 #CJK UNIFIED IDEOGRAPH +0x9BA0 0x5C4F #CJK UNIFIED IDEOGRAPH +0x9BA1 0x5B71 #CJK UNIFIED IDEOGRAPH +0x9BA2 0x5C6C #CJK UNIFIED IDEOGRAPH +0x9BA3 0x5C6E #CJK UNIFIED IDEOGRAPH +0x9BA4 0x4E62 #CJK UNIFIED IDEOGRAPH +0x9BA5 0x5C76 #CJK UNIFIED IDEOGRAPH +0x9BA6 0x5C79 #CJK UNIFIED IDEOGRAPH +0x9BA7 0x5C8C #CJK UNIFIED IDEOGRAPH +0x9BA8 0x5C91 #CJK UNIFIED IDEOGRAPH +0x9BA9 0x5C94 #CJK UNIFIED IDEOGRAPH +0x9BAA 0x599B #CJK UNIFIED IDEOGRAPH +0x9BAB 0x5CAB #CJK UNIFIED IDEOGRAPH +0x9BAC 0x5CBB #CJK UNIFIED IDEOGRAPH +0x9BAD 0x5CB6 #CJK UNIFIED IDEOGRAPH +0x9BAE 0x5CBC #CJK UNIFIED IDEOGRAPH +0x9BAF 0x5CB7 #CJK UNIFIED IDEOGRAPH +0x9BB0 0x5CC5 #CJK UNIFIED IDEOGRAPH +0x9BB1 0x5CBE #CJK UNIFIED IDEOGRAPH +0x9BB2 0x5CC7 #CJK UNIFIED IDEOGRAPH +0x9BB3 0x5CD9 #CJK UNIFIED IDEOGRAPH +0x9BB4 0x5CE9 #CJK UNIFIED IDEOGRAPH +0x9BB5 0x5CFD #CJK UNIFIED IDEOGRAPH +0x9BB6 0x5CFA #CJK UNIFIED IDEOGRAPH +0x9BB7 0x5CED #CJK UNIFIED IDEOGRAPH +0x9BB8 0x5D8C #CJK UNIFIED IDEOGRAPH +0x9BB9 0x5CEA #CJK UNIFIED IDEOGRAPH +0x9BBA 0x5D0B #CJK UNIFIED IDEOGRAPH +0x9BBB 0x5D15 #CJK UNIFIED IDEOGRAPH +0x9BBC 0x5D17 #CJK UNIFIED IDEOGRAPH +0x9BBD 0x5D5C #CJK UNIFIED IDEOGRAPH +0x9BBE 0x5D1F #CJK UNIFIED IDEOGRAPH +0x9BBF 0x5D1B #CJK UNIFIED IDEOGRAPH +0x9BC0 0x5D11 #CJK UNIFIED IDEOGRAPH +0x9BC1 0x5D14 #CJK UNIFIED IDEOGRAPH +0x9BC2 0x5D22 #CJK UNIFIED IDEOGRAPH +0x9BC3 0x5D1A #CJK UNIFIED IDEOGRAPH +0x9BC4 0x5D19 #CJK UNIFIED IDEOGRAPH +0x9BC5 0x5D18 #CJK UNIFIED IDEOGRAPH +0x9BC6 0x5D4C #CJK UNIFIED IDEOGRAPH +0x9BC7 0x5D52 #CJK UNIFIED IDEOGRAPH +0x9BC8 0x5D4E #CJK UNIFIED IDEOGRAPH +0x9BC9 0x5D4B #CJK UNIFIED IDEOGRAPH +0x9BCA 0x5D6C #CJK UNIFIED IDEOGRAPH +0x9BCB 0x5D73 #CJK UNIFIED IDEOGRAPH +0x9BCC 0x5D76 #CJK UNIFIED IDEOGRAPH +0x9BCD 0x5D87 #CJK UNIFIED IDEOGRAPH +0x9BCE 0x5D84 #CJK UNIFIED IDEOGRAPH +0x9BCF 0x5D82 #CJK UNIFIED IDEOGRAPH +0x9BD0 0x5DA2 #CJK UNIFIED IDEOGRAPH +0x9BD1 0x5D9D #CJK UNIFIED IDEOGRAPH +0x9BD2 0x5DAC #CJK UNIFIED IDEOGRAPH +0x9BD3 0x5DAE #CJK UNIFIED IDEOGRAPH +0x9BD4 0x5DBD #CJK UNIFIED IDEOGRAPH +0x9BD5 0x5D90 #CJK UNIFIED IDEOGRAPH +0x9BD6 0x5DB7 #CJK UNIFIED IDEOGRAPH +0x9BD7 0x5DBC #CJK UNIFIED IDEOGRAPH +0x9BD8 0x5DC9 #CJK UNIFIED IDEOGRAPH +0x9BD9 0x5DCD #CJK UNIFIED IDEOGRAPH +0x9BDA 0x5DD3 #CJK UNIFIED IDEOGRAPH +0x9BDB 0x5DD2 #CJK UNIFIED IDEOGRAPH +0x9BDC 0x5DD6 #CJK UNIFIED IDEOGRAPH +0x9BDD 0x5DDB #CJK UNIFIED IDEOGRAPH +0x9BDE 0x5DEB #CJK UNIFIED IDEOGRAPH +0x9BDF 0x5DF2 #CJK UNIFIED IDEOGRAPH +0x9BE0 0x5DF5 #CJK UNIFIED IDEOGRAPH +0x9BE1 0x5E0B #CJK UNIFIED IDEOGRAPH +0x9BE2 0x5E1A #CJK UNIFIED IDEOGRAPH +0x9BE3 0x5E19 #CJK UNIFIED IDEOGRAPH +0x9BE4 0x5E11 #CJK UNIFIED IDEOGRAPH +0x9BE5 0x5E1B #CJK UNIFIED IDEOGRAPH +0x9BE6 0x5E36 #CJK UNIFIED IDEOGRAPH +0x9BE7 0x5E37 #CJK UNIFIED IDEOGRAPH +0x9BE8 0x5E44 #CJK UNIFIED IDEOGRAPH +0x9BE9 0x5E43 #CJK UNIFIED IDEOGRAPH +0x9BEA 0x5E40 #CJK UNIFIED IDEOGRAPH +0x9BEB 0x5E4E #CJK UNIFIED IDEOGRAPH +0x9BEC 0x5E57 #CJK UNIFIED IDEOGRAPH +0x9BED 0x5E54 #CJK UNIFIED IDEOGRAPH +0x9BEE 0x5E5F #CJK UNIFIED IDEOGRAPH +0x9BEF 0x5E62 #CJK UNIFIED IDEOGRAPH +0x9BF0 0x5E64 #CJK UNIFIED IDEOGRAPH +0x9BF1 0x5E47 #CJK UNIFIED IDEOGRAPH +0x9BF2 0x5E75 #CJK UNIFIED IDEOGRAPH +0x9BF3 0x5E76 #CJK UNIFIED IDEOGRAPH +0x9BF4 0x5E7A #CJK UNIFIED IDEOGRAPH +0x9BF5 0x9EBC #CJK UNIFIED IDEOGRAPH +0x9BF6 0x5E7F #CJK UNIFIED IDEOGRAPH +0x9BF7 0x5EA0 #CJK UNIFIED IDEOGRAPH +0x9BF8 0x5EC1 #CJK UNIFIED IDEOGRAPH +0x9BF9 0x5EC2 #CJK UNIFIED IDEOGRAPH +0x9BFA 0x5EC8 #CJK UNIFIED IDEOGRAPH +0x9BFB 0x5ED0 #CJK UNIFIED IDEOGRAPH +0x9BFC 0x5ECF #CJK UNIFIED IDEOGRAPH +0x9C40 0x5ED6 #CJK UNIFIED IDEOGRAPH +0x9C41 0x5EE3 #CJK UNIFIED IDEOGRAPH +0x9C42 0x5EDD #CJK UNIFIED IDEOGRAPH +0x9C43 0x5EDA #CJK UNIFIED IDEOGRAPH +0x9C44 0x5EDB #CJK UNIFIED IDEOGRAPH +0x9C45 0x5EE2 #CJK UNIFIED IDEOGRAPH +0x9C46 0x5EE1 #CJK UNIFIED IDEOGRAPH +0x9C47 0x5EE8 #CJK UNIFIED IDEOGRAPH +0x9C48 0x5EE9 #CJK UNIFIED IDEOGRAPH +0x9C49 0x5EEC #CJK UNIFIED IDEOGRAPH +0x9C4A 0x5EF1 #CJK UNIFIED IDEOGRAPH +0x9C4B 0x5EF3 #CJK UNIFIED IDEOGRAPH +0x9C4C 0x5EF0 #CJK UNIFIED IDEOGRAPH +0x9C4D 0x5EF4 #CJK UNIFIED IDEOGRAPH +0x9C4E 0x5EF8 #CJK UNIFIED IDEOGRAPH +0x9C4F 0x5EFE #CJK UNIFIED IDEOGRAPH +0x9C50 0x5F03 #CJK UNIFIED IDEOGRAPH +0x9C51 0x5F09 #CJK UNIFIED IDEOGRAPH +0x9C52 0x5F5D #CJK UNIFIED IDEOGRAPH +0x9C53 0x5F5C #CJK UNIFIED IDEOGRAPH +0x9C54 0x5F0B #CJK UNIFIED IDEOGRAPH +0x9C55 0x5F11 #CJK UNIFIED IDEOGRAPH +0x9C56 0x5F16 #CJK UNIFIED IDEOGRAPH +0x9C57 0x5F29 #CJK UNIFIED IDEOGRAPH +0x9C58 0x5F2D #CJK UNIFIED IDEOGRAPH +0x9C59 0x5F38 #CJK UNIFIED IDEOGRAPH +0x9C5A 0x5F41 #CJK UNIFIED IDEOGRAPH +0x9C5B 0x5F48 #CJK UNIFIED IDEOGRAPH +0x9C5C 0x5F4C #CJK UNIFIED IDEOGRAPH +0x9C5D 0x5F4E #CJK UNIFIED IDEOGRAPH +0x9C5E 0x5F2F #CJK UNIFIED IDEOGRAPH +0x9C5F 0x5F51 #CJK UNIFIED IDEOGRAPH +0x9C60 0x5F56 #CJK UNIFIED IDEOGRAPH +0x9C61 0x5F57 #CJK UNIFIED IDEOGRAPH +0x9C62 0x5F59 #CJK UNIFIED IDEOGRAPH +0x9C63 0x5F61 #CJK UNIFIED IDEOGRAPH +0x9C64 0x5F6D #CJK UNIFIED IDEOGRAPH +0x9C65 0x5F73 #CJK UNIFIED IDEOGRAPH +0x9C66 0x5F77 #CJK UNIFIED IDEOGRAPH +0x9C67 0x5F83 #CJK UNIFIED IDEOGRAPH +0x9C68 0x5F82 #CJK UNIFIED IDEOGRAPH +0x9C69 0x5F7F #CJK UNIFIED IDEOGRAPH +0x9C6A 0x5F8A #CJK UNIFIED IDEOGRAPH +0x9C6B 0x5F88 #CJK UNIFIED IDEOGRAPH +0x9C6C 0x5F91 #CJK UNIFIED IDEOGRAPH +0x9C6D 0x5F87 #CJK UNIFIED IDEOGRAPH +0x9C6E 0x5F9E #CJK UNIFIED IDEOGRAPH +0x9C6F 0x5F99 #CJK UNIFIED IDEOGRAPH +0x9C70 0x5F98 #CJK UNIFIED IDEOGRAPH +0x9C71 0x5FA0 #CJK UNIFIED IDEOGRAPH +0x9C72 0x5FA8 #CJK UNIFIED IDEOGRAPH +0x9C73 0x5FAD #CJK UNIFIED IDEOGRAPH +0x9C74 0x5FBC #CJK UNIFIED IDEOGRAPH +0x9C75 0x5FD6 #CJK UNIFIED IDEOGRAPH +0x9C76 0x5FFB #CJK UNIFIED IDEOGRAPH +0x9C77 0x5FE4 #CJK UNIFIED IDEOGRAPH +0x9C78 0x5FF8 #CJK UNIFIED IDEOGRAPH +0x9C79 0x5FF1 #CJK UNIFIED IDEOGRAPH +0x9C7A 0x5FDD #CJK UNIFIED IDEOGRAPH +0x9C7B 0x60B3 #CJK UNIFIED IDEOGRAPH +0x9C7C 0x5FFF #CJK UNIFIED IDEOGRAPH +0x9C7D 0x6021 #CJK UNIFIED IDEOGRAPH +0x9C7E 0x6060 #CJK UNIFIED IDEOGRAPH +0x9C80 0x6019 #CJK UNIFIED IDEOGRAPH +0x9C81 0x6010 #CJK UNIFIED IDEOGRAPH +0x9C82 0x6029 #CJK UNIFIED IDEOGRAPH +0x9C83 0x600E #CJK UNIFIED IDEOGRAPH +0x9C84 0x6031 #CJK UNIFIED IDEOGRAPH +0x9C85 0x601B #CJK UNIFIED IDEOGRAPH +0x9C86 0x6015 #CJK UNIFIED IDEOGRAPH +0x9C87 0x602B #CJK UNIFIED IDEOGRAPH +0x9C88 0x6026 #CJK UNIFIED IDEOGRAPH +0x9C89 0x600F #CJK UNIFIED IDEOGRAPH +0x9C8A 0x603A #CJK UNIFIED IDEOGRAPH +0x9C8B 0x605A #CJK UNIFIED IDEOGRAPH +0x9C8C 0x6041 #CJK UNIFIED IDEOGRAPH +0x9C8D 0x606A #CJK UNIFIED IDEOGRAPH +0x9C8E 0x6077 #CJK UNIFIED IDEOGRAPH +0x9C8F 0x605F #CJK UNIFIED IDEOGRAPH +0x9C90 0x604A #CJK UNIFIED IDEOGRAPH +0x9C91 0x6046 #CJK UNIFIED IDEOGRAPH +0x9C92 0x604D #CJK UNIFIED IDEOGRAPH +0x9C93 0x6063 #CJK UNIFIED IDEOGRAPH +0x9C94 0x6043 #CJK UNIFIED IDEOGRAPH +0x9C95 0x6064 #CJK UNIFIED IDEOGRAPH +0x9C96 0x6042 #CJK UNIFIED IDEOGRAPH +0x9C97 0x606C #CJK UNIFIED IDEOGRAPH +0x9C98 0x606B #CJK UNIFIED IDEOGRAPH +0x9C99 0x6059 #CJK UNIFIED IDEOGRAPH +0x9C9A 0x6081 #CJK UNIFIED IDEOGRAPH +0x9C9B 0x608D #CJK UNIFIED IDEOGRAPH +0x9C9C 0x60E7 #CJK UNIFIED IDEOGRAPH +0x9C9D 0x6083 #CJK UNIFIED IDEOGRAPH +0x9C9E 0x609A #CJK UNIFIED IDEOGRAPH +0x9C9F 0x6084 #CJK UNIFIED IDEOGRAPH +0x9CA0 0x609B #CJK UNIFIED IDEOGRAPH +0x9CA1 0x6096 #CJK UNIFIED IDEOGRAPH +0x9CA2 0x6097 #CJK UNIFIED IDEOGRAPH +0x9CA3 0x6092 #CJK UNIFIED IDEOGRAPH +0x9CA4 0x60A7 #CJK UNIFIED IDEOGRAPH +0x9CA5 0x608B #CJK UNIFIED IDEOGRAPH +0x9CA6 0x60E1 #CJK UNIFIED IDEOGRAPH +0x9CA7 0x60B8 #CJK UNIFIED IDEOGRAPH +0x9CA8 0x60E0 #CJK UNIFIED IDEOGRAPH +0x9CA9 0x60D3 #CJK UNIFIED IDEOGRAPH +0x9CAA 0x60B4 #CJK UNIFIED IDEOGRAPH +0x9CAB 0x5FF0 #CJK UNIFIED IDEOGRAPH +0x9CAC 0x60BD #CJK UNIFIED IDEOGRAPH +0x9CAD 0x60C6 #CJK UNIFIED IDEOGRAPH +0x9CAE 0x60B5 #CJK UNIFIED IDEOGRAPH +0x9CAF 0x60D8 #CJK UNIFIED IDEOGRAPH +0x9CB0 0x614D #CJK UNIFIED IDEOGRAPH +0x9CB1 0x6115 #CJK UNIFIED IDEOGRAPH +0x9CB2 0x6106 #CJK UNIFIED IDEOGRAPH +0x9CB3 0x60F6 #CJK UNIFIED IDEOGRAPH +0x9CB4 0x60F7 #CJK UNIFIED IDEOGRAPH +0x9CB5 0x6100 #CJK UNIFIED IDEOGRAPH +0x9CB6 0x60F4 #CJK UNIFIED IDEOGRAPH +0x9CB7 0x60FA #CJK UNIFIED IDEOGRAPH +0x9CB8 0x6103 #CJK UNIFIED IDEOGRAPH +0x9CB9 0x6121 #CJK UNIFIED IDEOGRAPH +0x9CBA 0x60FB #CJK UNIFIED IDEOGRAPH +0x9CBB 0x60F1 #CJK UNIFIED IDEOGRAPH +0x9CBC 0x610D #CJK UNIFIED IDEOGRAPH +0x9CBD 0x610E #CJK UNIFIED IDEOGRAPH +0x9CBE 0x6147 #CJK UNIFIED IDEOGRAPH +0x9CBF 0x613E #CJK UNIFIED IDEOGRAPH +0x9CC0 0x6128 #CJK UNIFIED IDEOGRAPH +0x9CC1 0x6127 #CJK UNIFIED IDEOGRAPH +0x9CC2 0x614A #CJK UNIFIED IDEOGRAPH +0x9CC3 0x613F #CJK UNIFIED IDEOGRAPH +0x9CC4 0x613C #CJK UNIFIED IDEOGRAPH +0x9CC5 0x612C #CJK UNIFIED IDEOGRAPH +0x9CC6 0x6134 #CJK UNIFIED IDEOGRAPH +0x9CC7 0x613D #CJK UNIFIED IDEOGRAPH +0x9CC8 0x6142 #CJK UNIFIED IDEOGRAPH +0x9CC9 0x6144 #CJK UNIFIED IDEOGRAPH +0x9CCA 0x6173 #CJK UNIFIED IDEOGRAPH +0x9CCB 0x6177 #CJK UNIFIED IDEOGRAPH +0x9CCC 0x6158 #CJK UNIFIED IDEOGRAPH +0x9CCD 0x6159 #CJK UNIFIED IDEOGRAPH +0x9CCE 0x615A #CJK UNIFIED IDEOGRAPH +0x9CCF 0x616B #CJK UNIFIED IDEOGRAPH +0x9CD0 0x6174 #CJK UNIFIED IDEOGRAPH +0x9CD1 0x616F #CJK UNIFIED IDEOGRAPH +0x9CD2 0x6165 #CJK UNIFIED IDEOGRAPH +0x9CD3 0x6171 #CJK UNIFIED IDEOGRAPH +0x9CD4 0x615F #CJK UNIFIED IDEOGRAPH +0x9CD5 0x615D #CJK UNIFIED IDEOGRAPH +0x9CD6 0x6153 #CJK UNIFIED IDEOGRAPH +0x9CD7 0x6175 #CJK UNIFIED IDEOGRAPH +0x9CD8 0x6199 #CJK UNIFIED IDEOGRAPH +0x9CD9 0x6196 #CJK UNIFIED IDEOGRAPH +0x9CDA 0x6187 #CJK UNIFIED IDEOGRAPH +0x9CDB 0x61AC #CJK UNIFIED IDEOGRAPH +0x9CDC 0x6194 #CJK UNIFIED IDEOGRAPH +0x9CDD 0x619A #CJK UNIFIED IDEOGRAPH +0x9CDE 0x618A #CJK UNIFIED IDEOGRAPH +0x9CDF 0x6191 #CJK UNIFIED IDEOGRAPH +0x9CE0 0x61AB #CJK UNIFIED IDEOGRAPH +0x9CE1 0x61AE #CJK UNIFIED IDEOGRAPH +0x9CE2 0x61CC #CJK UNIFIED IDEOGRAPH +0x9CE3 0x61CA #CJK UNIFIED IDEOGRAPH +0x9CE4 0x61C9 #CJK UNIFIED IDEOGRAPH +0x9CE5 0x61F7 #CJK UNIFIED IDEOGRAPH +0x9CE6 0x61C8 #CJK UNIFIED IDEOGRAPH +0x9CE7 0x61C3 #CJK UNIFIED IDEOGRAPH +0x9CE8 0x61C6 #CJK UNIFIED IDEOGRAPH +0x9CE9 0x61BA #CJK UNIFIED IDEOGRAPH +0x9CEA 0x61CB #CJK UNIFIED IDEOGRAPH +0x9CEB 0x7F79 #CJK UNIFIED IDEOGRAPH +0x9CEC 0x61CD #CJK UNIFIED IDEOGRAPH +0x9CED 0x61E6 #CJK UNIFIED IDEOGRAPH +0x9CEE 0x61E3 #CJK UNIFIED IDEOGRAPH +0x9CEF 0x61F6 #CJK UNIFIED IDEOGRAPH +0x9CF0 0x61FA #CJK UNIFIED IDEOGRAPH +0x9CF1 0x61F4 #CJK UNIFIED IDEOGRAPH +0x9CF2 0x61FF #CJK UNIFIED IDEOGRAPH +0x9CF3 0x61FD #CJK UNIFIED IDEOGRAPH +0x9CF4 0x61FC #CJK UNIFIED IDEOGRAPH +0x9CF5 0x61FE #CJK UNIFIED IDEOGRAPH +0x9CF6 0x6200 #CJK UNIFIED IDEOGRAPH +0x9CF7 0x6208 #CJK UNIFIED IDEOGRAPH +0x9CF8 0x6209 #CJK UNIFIED IDEOGRAPH +0x9CF9 0x620D #CJK UNIFIED IDEOGRAPH +0x9CFA 0x620C #CJK UNIFIED IDEOGRAPH +0x9CFB 0x6214 #CJK UNIFIED IDEOGRAPH +0x9CFC 0x621B #CJK UNIFIED IDEOGRAPH +0x9D40 0x621E #CJK UNIFIED IDEOGRAPH +0x9D41 0x6221 #CJK UNIFIED IDEOGRAPH +0x9D42 0x622A #CJK UNIFIED IDEOGRAPH +0x9D43 0x622E #CJK UNIFIED IDEOGRAPH +0x9D44 0x6230 #CJK UNIFIED IDEOGRAPH +0x9D45 0x6232 #CJK UNIFIED IDEOGRAPH +0x9D46 0x6233 #CJK UNIFIED IDEOGRAPH +0x9D47 0x6241 #CJK UNIFIED IDEOGRAPH +0x9D48 0x624E #CJK UNIFIED IDEOGRAPH +0x9D49 0x625E #CJK UNIFIED IDEOGRAPH +0x9D4A 0x6263 #CJK UNIFIED IDEOGRAPH +0x9D4B 0x625B #CJK UNIFIED IDEOGRAPH +0x9D4C 0x6260 #CJK UNIFIED IDEOGRAPH +0x9D4D 0x6268 #CJK UNIFIED IDEOGRAPH +0x9D4E 0x627C #CJK UNIFIED IDEOGRAPH +0x9D4F 0x6282 #CJK UNIFIED IDEOGRAPH +0x9D50 0x6289 #CJK UNIFIED IDEOGRAPH +0x9D51 0x627E #CJK UNIFIED IDEOGRAPH +0x9D52 0x6292 #CJK UNIFIED IDEOGRAPH +0x9D53 0x6293 #CJK UNIFIED IDEOGRAPH +0x9D54 0x6296 #CJK UNIFIED IDEOGRAPH +0x9D55 0x62D4 #CJK UNIFIED IDEOGRAPH +0x9D56 0x6283 #CJK UNIFIED IDEOGRAPH +0x9D57 0x6294 #CJK UNIFIED IDEOGRAPH +0x9D58 0x62D7 #CJK UNIFIED IDEOGRAPH +0x9D59 0x62D1 #CJK UNIFIED IDEOGRAPH +0x9D5A 0x62BB #CJK UNIFIED IDEOGRAPH +0x9D5B 0x62CF #CJK UNIFIED IDEOGRAPH +0x9D5C 0x62FF #CJK UNIFIED IDEOGRAPH +0x9D5D 0x62C6 #CJK UNIFIED IDEOGRAPH +0x9D5E 0x64D4 #CJK UNIFIED IDEOGRAPH +0x9D5F 0x62C8 #CJK UNIFIED IDEOGRAPH +0x9D60 0x62DC #CJK UNIFIED IDEOGRAPH +0x9D61 0x62CC #CJK UNIFIED IDEOGRAPH +0x9D62 0x62CA #CJK UNIFIED IDEOGRAPH +0x9D63 0x62C2 #CJK UNIFIED IDEOGRAPH +0x9D64 0x62C7 #CJK UNIFIED IDEOGRAPH +0x9D65 0x629B #CJK UNIFIED IDEOGRAPH +0x9D66 0x62C9 #CJK UNIFIED IDEOGRAPH +0x9D67 0x630C #CJK UNIFIED IDEOGRAPH +0x9D68 0x62EE #CJK UNIFIED IDEOGRAPH +0x9D69 0x62F1 #CJK UNIFIED IDEOGRAPH +0x9D6A 0x6327 #CJK UNIFIED IDEOGRAPH +0x9D6B 0x6302 #CJK UNIFIED IDEOGRAPH +0x9D6C 0x6308 #CJK UNIFIED IDEOGRAPH +0x9D6D 0x62EF #CJK UNIFIED IDEOGRAPH +0x9D6E 0x62F5 #CJK UNIFIED IDEOGRAPH +0x9D6F 0x6350 #CJK UNIFIED IDEOGRAPH +0x9D70 0x633E #CJK UNIFIED IDEOGRAPH +0x9D71 0x634D #CJK UNIFIED IDEOGRAPH +0x9D72 0x641C #CJK UNIFIED IDEOGRAPH +0x9D73 0x634F #CJK UNIFIED IDEOGRAPH +0x9D74 0x6396 #CJK UNIFIED IDEOGRAPH +0x9D75 0x638E #CJK UNIFIED IDEOGRAPH +0x9D76 0x6380 #CJK UNIFIED IDEOGRAPH +0x9D77 0x63AB #CJK UNIFIED IDEOGRAPH +0x9D78 0x6376 #CJK UNIFIED IDEOGRAPH +0x9D79 0x63A3 #CJK UNIFIED IDEOGRAPH +0x9D7A 0x638F #CJK UNIFIED IDEOGRAPH +0x9D7B 0x6389 #CJK UNIFIED IDEOGRAPH +0x9D7C 0x639F #CJK UNIFIED IDEOGRAPH +0x9D7D 0x63B5 #CJK UNIFIED IDEOGRAPH +0x9D7E 0x636B #CJK UNIFIED IDEOGRAPH +0x9D80 0x6369 #CJK UNIFIED IDEOGRAPH +0x9D81 0x63BE #CJK UNIFIED IDEOGRAPH +0x9D82 0x63E9 #CJK UNIFIED IDEOGRAPH +0x9D83 0x63C0 #CJK UNIFIED IDEOGRAPH +0x9D84 0x63C6 #CJK UNIFIED IDEOGRAPH +0x9D85 0x63E3 #CJK UNIFIED IDEOGRAPH +0x9D86 0x63C9 #CJK UNIFIED IDEOGRAPH +0x9D87 0x63D2 #CJK UNIFIED IDEOGRAPH +0x9D88 0x63F6 #CJK UNIFIED IDEOGRAPH +0x9D89 0x63C4 #CJK UNIFIED IDEOGRAPH +0x9D8A 0x6416 #CJK UNIFIED IDEOGRAPH +0x9D8B 0x6434 #CJK UNIFIED IDEOGRAPH +0x9D8C 0x6406 #CJK UNIFIED IDEOGRAPH +0x9D8D 0x6413 #CJK UNIFIED IDEOGRAPH +0x9D8E 0x6426 #CJK UNIFIED IDEOGRAPH +0x9D8F 0x6436 #CJK UNIFIED IDEOGRAPH +0x9D90 0x651D #CJK UNIFIED IDEOGRAPH +0x9D91 0x6417 #CJK UNIFIED IDEOGRAPH +0x9D92 0x6428 #CJK UNIFIED IDEOGRAPH +0x9D93 0x640F #CJK UNIFIED IDEOGRAPH +0x9D94 0x6467 #CJK UNIFIED IDEOGRAPH +0x9D95 0x646F #CJK UNIFIED IDEOGRAPH +0x9D96 0x6476 #CJK UNIFIED IDEOGRAPH +0x9D97 0x644E #CJK UNIFIED IDEOGRAPH +0x9D98 0x652A #CJK UNIFIED IDEOGRAPH +0x9D99 0x6495 #CJK UNIFIED IDEOGRAPH +0x9D9A 0x6493 #CJK UNIFIED IDEOGRAPH +0x9D9B 0x64A5 #CJK UNIFIED IDEOGRAPH +0x9D9C 0x64A9 #CJK UNIFIED IDEOGRAPH +0x9D9D 0x6488 #CJK UNIFIED IDEOGRAPH +0x9D9E 0x64BC #CJK UNIFIED IDEOGRAPH +0x9D9F 0x64DA #CJK UNIFIED IDEOGRAPH +0x9DA0 0x64D2 #CJK UNIFIED IDEOGRAPH +0x9DA1 0x64C5 #CJK UNIFIED IDEOGRAPH +0x9DA2 0x64C7 #CJK UNIFIED IDEOGRAPH +0x9DA3 0x64BB #CJK UNIFIED IDEOGRAPH +0x9DA4 0x64D8 #CJK UNIFIED IDEOGRAPH +0x9DA5 0x64C2 #CJK UNIFIED IDEOGRAPH +0x9DA6 0x64F1 #CJK UNIFIED IDEOGRAPH +0x9DA7 0x64E7 #CJK UNIFIED IDEOGRAPH +0x9DA8 0x8209 #CJK UNIFIED IDEOGRAPH +0x9DA9 0x64E0 #CJK UNIFIED IDEOGRAPH +0x9DAA 0x64E1 #CJK UNIFIED IDEOGRAPH +0x9DAB 0x62AC #CJK UNIFIED IDEOGRAPH +0x9DAC 0x64E3 #CJK UNIFIED IDEOGRAPH +0x9DAD 0x64EF #CJK UNIFIED IDEOGRAPH +0x9DAE 0x652C #CJK UNIFIED IDEOGRAPH +0x9DAF 0x64F6 #CJK UNIFIED IDEOGRAPH +0x9DB0 0x64F4 #CJK UNIFIED IDEOGRAPH +0x9DB1 0x64F2 #CJK UNIFIED IDEOGRAPH +0x9DB2 0x64FA #CJK UNIFIED IDEOGRAPH +0x9DB3 0x6500 #CJK UNIFIED IDEOGRAPH +0x9DB4 0x64FD #CJK UNIFIED IDEOGRAPH +0x9DB5 0x6518 #CJK UNIFIED IDEOGRAPH +0x9DB6 0x651C #CJK UNIFIED IDEOGRAPH +0x9DB7 0x6505 #CJK UNIFIED IDEOGRAPH +0x9DB8 0x6524 #CJK UNIFIED IDEOGRAPH +0x9DB9 0x6523 #CJK UNIFIED IDEOGRAPH +0x9DBA 0x652B #CJK UNIFIED IDEOGRAPH +0x9DBB 0x6534 #CJK UNIFIED IDEOGRAPH +0x9DBC 0x6535 #CJK UNIFIED IDEOGRAPH +0x9DBD 0x6537 #CJK UNIFIED IDEOGRAPH +0x9DBE 0x6536 #CJK UNIFIED IDEOGRAPH +0x9DBF 0x6538 #CJK UNIFIED IDEOGRAPH +0x9DC0 0x754B #CJK UNIFIED IDEOGRAPH +0x9DC1 0x6548 #CJK UNIFIED IDEOGRAPH +0x9DC2 0x6556 #CJK UNIFIED IDEOGRAPH +0x9DC3 0x6555 #CJK UNIFIED IDEOGRAPH +0x9DC4 0x654D #CJK UNIFIED IDEOGRAPH +0x9DC5 0x6558 #CJK UNIFIED IDEOGRAPH +0x9DC6 0x655E #CJK UNIFIED IDEOGRAPH +0x9DC7 0x655D #CJK UNIFIED IDEOGRAPH +0x9DC8 0x6572 #CJK UNIFIED IDEOGRAPH +0x9DC9 0x6578 #CJK UNIFIED IDEOGRAPH +0x9DCA 0x6582 #CJK UNIFIED IDEOGRAPH +0x9DCB 0x6583 #CJK UNIFIED IDEOGRAPH +0x9DCC 0x8B8A #CJK UNIFIED IDEOGRAPH +0x9DCD 0x659B #CJK UNIFIED IDEOGRAPH +0x9DCE 0x659F #CJK UNIFIED IDEOGRAPH +0x9DCF 0x65AB #CJK UNIFIED IDEOGRAPH +0x9DD0 0x65B7 #CJK UNIFIED IDEOGRAPH +0x9DD1 0x65C3 #CJK UNIFIED IDEOGRAPH +0x9DD2 0x65C6 #CJK UNIFIED IDEOGRAPH +0x9DD3 0x65C1 #CJK UNIFIED IDEOGRAPH +0x9DD4 0x65C4 #CJK UNIFIED IDEOGRAPH +0x9DD5 0x65CC #CJK UNIFIED IDEOGRAPH +0x9DD6 0x65D2 #CJK UNIFIED IDEOGRAPH +0x9DD7 0x65DB #CJK UNIFIED IDEOGRAPH +0x9DD8 0x65D9 #CJK UNIFIED IDEOGRAPH +0x9DD9 0x65E0 #CJK UNIFIED IDEOGRAPH +0x9DDA 0x65E1 #CJK UNIFIED IDEOGRAPH +0x9DDB 0x65F1 #CJK UNIFIED IDEOGRAPH +0x9DDC 0x6772 #CJK UNIFIED IDEOGRAPH +0x9DDD 0x660A #CJK UNIFIED IDEOGRAPH +0x9DDE 0x6603 #CJK UNIFIED IDEOGRAPH +0x9DDF 0x65FB #CJK UNIFIED IDEOGRAPH +0x9DE0 0x6773 #CJK UNIFIED IDEOGRAPH +0x9DE1 0x6635 #CJK UNIFIED IDEOGRAPH +0x9DE2 0x6636 #CJK UNIFIED IDEOGRAPH +0x9DE3 0x6634 #CJK UNIFIED IDEOGRAPH +0x9DE4 0x661C #CJK UNIFIED IDEOGRAPH +0x9DE5 0x664F #CJK UNIFIED IDEOGRAPH +0x9DE6 0x6644 #CJK UNIFIED IDEOGRAPH +0x9DE7 0x6649 #CJK UNIFIED IDEOGRAPH +0x9DE8 0x6641 #CJK UNIFIED IDEOGRAPH +0x9DE9 0x665E #CJK UNIFIED IDEOGRAPH +0x9DEA 0x665D #CJK UNIFIED IDEOGRAPH +0x9DEB 0x6664 #CJK UNIFIED IDEOGRAPH +0x9DEC 0x6667 #CJK UNIFIED IDEOGRAPH +0x9DED 0x6668 #CJK UNIFIED IDEOGRAPH +0x9DEE 0x665F #CJK UNIFIED IDEOGRAPH +0x9DEF 0x6662 #CJK UNIFIED IDEOGRAPH +0x9DF0 0x6670 #CJK UNIFIED IDEOGRAPH +0x9DF1 0x6683 #CJK UNIFIED IDEOGRAPH +0x9DF2 0x6688 #CJK UNIFIED IDEOGRAPH +0x9DF3 0x668E #CJK UNIFIED IDEOGRAPH +0x9DF4 0x6689 #CJK UNIFIED IDEOGRAPH +0x9DF5 0x6684 #CJK UNIFIED IDEOGRAPH +0x9DF6 0x6698 #CJK UNIFIED IDEOGRAPH +0x9DF7 0x669D #CJK UNIFIED IDEOGRAPH +0x9DF8 0x66C1 #CJK UNIFIED IDEOGRAPH +0x9DF9 0x66B9 #CJK UNIFIED IDEOGRAPH +0x9DFA 0x66C9 #CJK UNIFIED IDEOGRAPH +0x9DFB 0x66BE #CJK UNIFIED IDEOGRAPH +0x9DFC 0x66BC #CJK UNIFIED IDEOGRAPH +0x9E40 0x66C4 #CJK UNIFIED IDEOGRAPH +0x9E41 0x66B8 #CJK UNIFIED IDEOGRAPH +0x9E42 0x66D6 #CJK UNIFIED IDEOGRAPH +0x9E43 0x66DA #CJK UNIFIED IDEOGRAPH +0x9E44 0x66E0 #CJK UNIFIED IDEOGRAPH +0x9E45 0x663F #CJK UNIFIED IDEOGRAPH +0x9E46 0x66E6 #CJK UNIFIED IDEOGRAPH +0x9E47 0x66E9 #CJK UNIFIED IDEOGRAPH +0x9E48 0x66F0 #CJK UNIFIED IDEOGRAPH +0x9E49 0x66F5 #CJK UNIFIED IDEOGRAPH +0x9E4A 0x66F7 #CJK UNIFIED IDEOGRAPH +0x9E4B 0x670F #CJK UNIFIED IDEOGRAPH +0x9E4C 0x6716 #CJK UNIFIED IDEOGRAPH +0x9E4D 0x671E #CJK UNIFIED IDEOGRAPH +0x9E4E 0x6726 #CJK UNIFIED IDEOGRAPH +0x9E4F 0x6727 #CJK UNIFIED IDEOGRAPH +0x9E50 0x9738 #CJK UNIFIED IDEOGRAPH +0x9E51 0x672E #CJK UNIFIED IDEOGRAPH +0x9E52 0x673F #CJK UNIFIED IDEOGRAPH +0x9E53 0x6736 #CJK UNIFIED IDEOGRAPH +0x9E54 0x6741 #CJK UNIFIED IDEOGRAPH +0x9E55 0x6738 #CJK UNIFIED IDEOGRAPH +0x9E56 0x6737 #CJK UNIFIED IDEOGRAPH +0x9E57 0x6746 #CJK UNIFIED IDEOGRAPH +0x9E58 0x675E #CJK UNIFIED IDEOGRAPH +0x9E59 0x6760 #CJK UNIFIED IDEOGRAPH +0x9E5A 0x6759 #CJK UNIFIED IDEOGRAPH +0x9E5B 0x6763 #CJK UNIFIED IDEOGRAPH +0x9E5C 0x6764 #CJK UNIFIED IDEOGRAPH +0x9E5D 0x6789 #CJK UNIFIED IDEOGRAPH +0x9E5E 0x6770 #CJK UNIFIED IDEOGRAPH +0x9E5F 0x67A9 #CJK UNIFIED IDEOGRAPH +0x9E60 0x677C #CJK UNIFIED IDEOGRAPH +0x9E61 0x676A #CJK UNIFIED IDEOGRAPH +0x9E62 0x678C #CJK UNIFIED IDEOGRAPH +0x9E63 0x678B #CJK UNIFIED IDEOGRAPH +0x9E64 0x67A6 #CJK UNIFIED IDEOGRAPH +0x9E65 0x67A1 #CJK UNIFIED IDEOGRAPH +0x9E66 0x6785 #CJK UNIFIED IDEOGRAPH +0x9E67 0x67B7 #CJK UNIFIED IDEOGRAPH +0x9E68 0x67EF #CJK UNIFIED IDEOGRAPH +0x9E69 0x67B4 #CJK UNIFIED IDEOGRAPH +0x9E6A 0x67EC #CJK UNIFIED IDEOGRAPH +0x9E6B 0x67B3 #CJK UNIFIED IDEOGRAPH +0x9E6C 0x67E9 #CJK UNIFIED IDEOGRAPH +0x9E6D 0x67B8 #CJK UNIFIED IDEOGRAPH +0x9E6E 0x67E4 #CJK UNIFIED IDEOGRAPH +0x9E6F 0x67DE #CJK UNIFIED IDEOGRAPH +0x9E70 0x67DD #CJK UNIFIED IDEOGRAPH +0x9E71 0x67E2 #CJK UNIFIED IDEOGRAPH +0x9E72 0x67EE #CJK UNIFIED IDEOGRAPH +0x9E73 0x67B9 #CJK UNIFIED IDEOGRAPH +0x9E74 0x67CE #CJK UNIFIED IDEOGRAPH +0x9E75 0x67C6 #CJK UNIFIED IDEOGRAPH +0x9E76 0x67E7 #CJK UNIFIED IDEOGRAPH +0x9E77 0x6A9C #CJK UNIFIED IDEOGRAPH +0x9E78 0x681E #CJK UNIFIED IDEOGRAPH +0x9E79 0x6846 #CJK UNIFIED IDEOGRAPH +0x9E7A 0x6829 #CJK UNIFIED IDEOGRAPH +0x9E7B 0x6840 #CJK UNIFIED IDEOGRAPH +0x9E7C 0x684D #CJK UNIFIED IDEOGRAPH +0x9E7D 0x6832 #CJK UNIFIED IDEOGRAPH +0x9E7E 0x684E #CJK UNIFIED IDEOGRAPH +0x9E80 0x68B3 #CJK UNIFIED IDEOGRAPH +0x9E81 0x682B #CJK UNIFIED IDEOGRAPH +0x9E82 0x6859 #CJK UNIFIED IDEOGRAPH +0x9E83 0x6863 #CJK UNIFIED IDEOGRAPH +0x9E84 0x6877 #CJK UNIFIED IDEOGRAPH +0x9E85 0x687F #CJK UNIFIED IDEOGRAPH +0x9E86 0x689F #CJK UNIFIED IDEOGRAPH +0x9E87 0x688F #CJK UNIFIED IDEOGRAPH +0x9E88 0x68AD #CJK UNIFIED IDEOGRAPH +0x9E89 0x6894 #CJK UNIFIED IDEOGRAPH +0x9E8A 0x689D #CJK UNIFIED IDEOGRAPH +0x9E8B 0x689B #CJK UNIFIED IDEOGRAPH +0x9E8C 0x6883 #CJK UNIFIED IDEOGRAPH +0x9E8D 0x6AAE #CJK UNIFIED IDEOGRAPH +0x9E8E 0x68B9 #CJK UNIFIED IDEOGRAPH +0x9E8F 0x6874 #CJK UNIFIED IDEOGRAPH +0x9E90 0x68B5 #CJK UNIFIED IDEOGRAPH +0x9E91 0x68A0 #CJK UNIFIED IDEOGRAPH +0x9E92 0x68BA #CJK UNIFIED IDEOGRAPH +0x9E93 0x690F #CJK UNIFIED IDEOGRAPH +0x9E94 0x688D #CJK UNIFIED IDEOGRAPH +0x9E95 0x687E #CJK UNIFIED IDEOGRAPH +0x9E96 0x6901 #CJK UNIFIED IDEOGRAPH +0x9E97 0x68CA #CJK UNIFIED IDEOGRAPH +0x9E98 0x6908 #CJK UNIFIED IDEOGRAPH +0x9E99 0x68D8 #CJK UNIFIED IDEOGRAPH +0x9E9A 0x6922 #CJK UNIFIED IDEOGRAPH +0x9E9B 0x6926 #CJK UNIFIED IDEOGRAPH +0x9E9C 0x68E1 #CJK UNIFIED IDEOGRAPH +0x9E9D 0x690C #CJK UNIFIED IDEOGRAPH +0x9E9E 0x68CD #CJK UNIFIED IDEOGRAPH +0x9E9F 0x68D4 #CJK UNIFIED IDEOGRAPH +0x9EA0 0x68E7 #CJK UNIFIED IDEOGRAPH +0x9EA1 0x68D5 #CJK UNIFIED IDEOGRAPH +0x9EA2 0x6936 #CJK UNIFIED IDEOGRAPH +0x9EA3 0x6912 #CJK UNIFIED IDEOGRAPH +0x9EA4 0x6904 #CJK UNIFIED IDEOGRAPH +0x9EA5 0x68D7 #CJK UNIFIED IDEOGRAPH +0x9EA6 0x68E3 #CJK UNIFIED IDEOGRAPH +0x9EA7 0x6925 #CJK UNIFIED IDEOGRAPH +0x9EA8 0x68F9 #CJK UNIFIED IDEOGRAPH +0x9EA9 0x68E0 #CJK UNIFIED IDEOGRAPH +0x9EAA 0x68EF #CJK UNIFIED IDEOGRAPH +0x9EAB 0x6928 #CJK UNIFIED IDEOGRAPH +0x9EAC 0x692A #CJK UNIFIED IDEOGRAPH +0x9EAD 0x691A #CJK UNIFIED IDEOGRAPH +0x9EAE 0x6923 #CJK UNIFIED IDEOGRAPH +0x9EAF 0x6921 #CJK UNIFIED IDEOGRAPH +0x9EB0 0x68C6 #CJK UNIFIED IDEOGRAPH +0x9EB1 0x6979 #CJK UNIFIED IDEOGRAPH +0x9EB2 0x6977 #CJK UNIFIED IDEOGRAPH +0x9EB3 0x695C #CJK UNIFIED IDEOGRAPH +0x9EB4 0x6978 #CJK UNIFIED IDEOGRAPH +0x9EB5 0x696B #CJK UNIFIED IDEOGRAPH +0x9EB6 0x6954 #CJK UNIFIED IDEOGRAPH +0x9EB7 0x697E #CJK UNIFIED IDEOGRAPH +0x9EB8 0x696E #CJK UNIFIED IDEOGRAPH +0x9EB9 0x6939 #CJK UNIFIED IDEOGRAPH +0x9EBA 0x6974 #CJK UNIFIED IDEOGRAPH +0x9EBB 0x693D #CJK UNIFIED IDEOGRAPH +0x9EBC 0x6959 #CJK UNIFIED IDEOGRAPH +0x9EBD 0x6930 #CJK UNIFIED IDEOGRAPH +0x9EBE 0x6961 #CJK UNIFIED IDEOGRAPH +0x9EBF 0x695E #CJK UNIFIED IDEOGRAPH +0x9EC0 0x695D #CJK UNIFIED IDEOGRAPH +0x9EC1 0x6981 #CJK UNIFIED IDEOGRAPH +0x9EC2 0x696A #CJK UNIFIED IDEOGRAPH +0x9EC3 0x69B2 #CJK UNIFIED IDEOGRAPH +0x9EC4 0x69AE #CJK UNIFIED IDEOGRAPH +0x9EC5 0x69D0 #CJK UNIFIED IDEOGRAPH +0x9EC6 0x69BF #CJK UNIFIED IDEOGRAPH +0x9EC7 0x69C1 #CJK UNIFIED IDEOGRAPH +0x9EC8 0x69D3 #CJK UNIFIED IDEOGRAPH +0x9EC9 0x69BE #CJK UNIFIED IDEOGRAPH +0x9ECA 0x69CE #CJK UNIFIED IDEOGRAPH +0x9ECB 0x5BE8 #CJK UNIFIED IDEOGRAPH +0x9ECC 0x69CA #CJK UNIFIED IDEOGRAPH +0x9ECD 0x69DD #CJK UNIFIED IDEOGRAPH +0x9ECE 0x69BB #CJK UNIFIED IDEOGRAPH +0x9ECF 0x69C3 #CJK UNIFIED IDEOGRAPH +0x9ED0 0x69A7 #CJK UNIFIED IDEOGRAPH +0x9ED1 0x6A2E #CJK UNIFIED IDEOGRAPH +0x9ED2 0x6991 #CJK UNIFIED IDEOGRAPH +0x9ED3 0x69A0 #CJK UNIFIED IDEOGRAPH +0x9ED4 0x699C #CJK UNIFIED IDEOGRAPH +0x9ED5 0x6995 #CJK UNIFIED IDEOGRAPH +0x9ED6 0x69B4 #CJK UNIFIED IDEOGRAPH +0x9ED7 0x69DE #CJK UNIFIED IDEOGRAPH +0x9ED8 0x69E8 #CJK UNIFIED IDEOGRAPH +0x9ED9 0x6A02 #CJK UNIFIED IDEOGRAPH +0x9EDA 0x6A1B #CJK UNIFIED IDEOGRAPH +0x9EDB 0x69FF #CJK UNIFIED IDEOGRAPH +0x9EDC 0x6B0A #CJK UNIFIED IDEOGRAPH +0x9EDD 0x69F9 #CJK UNIFIED IDEOGRAPH +0x9EDE 0x69F2 #CJK UNIFIED IDEOGRAPH +0x9EDF 0x69E7 #CJK UNIFIED IDEOGRAPH +0x9EE0 0x6A05 #CJK UNIFIED IDEOGRAPH +0x9EE1 0x69B1 #CJK UNIFIED IDEOGRAPH +0x9EE2 0x6A1E #CJK UNIFIED IDEOGRAPH +0x9EE3 0x69ED #CJK UNIFIED IDEOGRAPH +0x9EE4 0x6A14 #CJK UNIFIED IDEOGRAPH +0x9EE5 0x69EB #CJK UNIFIED IDEOGRAPH +0x9EE6 0x6A0A #CJK UNIFIED IDEOGRAPH +0x9EE7 0x6A12 #CJK UNIFIED IDEOGRAPH +0x9EE8 0x6AC1 #CJK UNIFIED IDEOGRAPH +0x9EE9 0x6A23 #CJK UNIFIED IDEOGRAPH +0x9EEA 0x6A13 #CJK UNIFIED IDEOGRAPH +0x9EEB 0x6A44 #CJK UNIFIED IDEOGRAPH +0x9EEC 0x6A0C #CJK UNIFIED IDEOGRAPH +0x9EED 0x6A72 #CJK UNIFIED IDEOGRAPH +0x9EEE 0x6A36 #CJK UNIFIED IDEOGRAPH +0x9EEF 0x6A78 #CJK UNIFIED IDEOGRAPH +0x9EF0 0x6A47 #CJK UNIFIED IDEOGRAPH +0x9EF1 0x6A62 #CJK UNIFIED IDEOGRAPH +0x9EF2 0x6A59 #CJK UNIFIED IDEOGRAPH +0x9EF3 0x6A66 #CJK UNIFIED IDEOGRAPH +0x9EF4 0x6A48 #CJK UNIFIED IDEOGRAPH +0x9EF5 0x6A38 #CJK UNIFIED IDEOGRAPH +0x9EF6 0x6A22 #CJK UNIFIED IDEOGRAPH +0x9EF7 0x6A90 #CJK UNIFIED IDEOGRAPH +0x9EF8 0x6A8D #CJK UNIFIED IDEOGRAPH +0x9EF9 0x6AA0 #CJK UNIFIED IDEOGRAPH +0x9EFA 0x6A84 #CJK UNIFIED IDEOGRAPH +0x9EFB 0x6AA2 #CJK UNIFIED IDEOGRAPH +0x9EFC 0x6AA3 #CJK UNIFIED IDEOGRAPH +0x9F40 0x6A97 #CJK UNIFIED IDEOGRAPH +0x9F41 0x8617 #CJK UNIFIED IDEOGRAPH +0x9F42 0x6ABB #CJK UNIFIED IDEOGRAPH +0x9F43 0x6AC3 #CJK UNIFIED IDEOGRAPH +0x9F44 0x6AC2 #CJK UNIFIED IDEOGRAPH +0x9F45 0x6AB8 #CJK UNIFIED IDEOGRAPH +0x9F46 0x6AB3 #CJK UNIFIED IDEOGRAPH +0x9F47 0x6AAC #CJK UNIFIED IDEOGRAPH +0x9F48 0x6ADE #CJK UNIFIED IDEOGRAPH +0x9F49 0x6AD1 #CJK UNIFIED IDEOGRAPH +0x9F4A 0x6ADF #CJK UNIFIED IDEOGRAPH +0x9F4B 0x6AAA #CJK UNIFIED IDEOGRAPH +0x9F4C 0x6ADA #CJK UNIFIED IDEOGRAPH +0x9F4D 0x6AEA #CJK UNIFIED IDEOGRAPH +0x9F4E 0x6AFB #CJK UNIFIED IDEOGRAPH +0x9F4F 0x6B05 #CJK UNIFIED IDEOGRAPH +0x9F50 0x8616 #CJK UNIFIED IDEOGRAPH +0x9F51 0x6AFA #CJK UNIFIED IDEOGRAPH +0x9F52 0x6B12 #CJK UNIFIED IDEOGRAPH +0x9F53 0x6B16 #CJK UNIFIED IDEOGRAPH +0x9F54 0x9B31 #CJK UNIFIED IDEOGRAPH +0x9F55 0x6B1F #CJK UNIFIED IDEOGRAPH +0x9F56 0x6B38 #CJK UNIFIED IDEOGRAPH +0x9F57 0x6B37 #CJK UNIFIED IDEOGRAPH +0x9F58 0x76DC #CJK UNIFIED IDEOGRAPH +0x9F59 0x6B39 #CJK UNIFIED IDEOGRAPH +0x9F5A 0x98EE #CJK UNIFIED IDEOGRAPH +0x9F5B 0x6B47 #CJK UNIFIED IDEOGRAPH +0x9F5C 0x6B43 #CJK UNIFIED IDEOGRAPH +0x9F5D 0x6B49 #CJK UNIFIED IDEOGRAPH +0x9F5E 0x6B50 #CJK UNIFIED IDEOGRAPH +0x9F5F 0x6B59 #CJK UNIFIED IDEOGRAPH +0x9F60 0x6B54 #CJK UNIFIED IDEOGRAPH +0x9F61 0x6B5B #CJK UNIFIED IDEOGRAPH +0x9F62 0x6B5F #CJK UNIFIED IDEOGRAPH +0x9F63 0x6B61 #CJK UNIFIED IDEOGRAPH +0x9F64 0x6B78 #CJK UNIFIED IDEOGRAPH +0x9F65 0x6B79 #CJK UNIFIED IDEOGRAPH +0x9F66 0x6B7F #CJK UNIFIED IDEOGRAPH +0x9F67 0x6B80 #CJK UNIFIED IDEOGRAPH +0x9F68 0x6B84 #CJK UNIFIED IDEOGRAPH +0x9F69 0x6B83 #CJK UNIFIED IDEOGRAPH +0x9F6A 0x6B8D #CJK UNIFIED IDEOGRAPH +0x9F6B 0x6B98 #CJK UNIFIED IDEOGRAPH +0x9F6C 0x6B95 #CJK UNIFIED IDEOGRAPH +0x9F6D 0x6B9E #CJK UNIFIED IDEOGRAPH +0x9F6E 0x6BA4 #CJK UNIFIED IDEOGRAPH +0x9F6F 0x6BAA #CJK UNIFIED IDEOGRAPH +0x9F70 0x6BAB #CJK UNIFIED IDEOGRAPH +0x9F71 0x6BAF #CJK UNIFIED IDEOGRAPH +0x9F72 0x6BB2 #CJK UNIFIED IDEOGRAPH +0x9F73 0x6BB1 #CJK UNIFIED IDEOGRAPH +0x9F74 0x6BB3 #CJK UNIFIED IDEOGRAPH +0x9F75 0x6BB7 #CJK UNIFIED IDEOGRAPH +0x9F76 0x6BBC #CJK UNIFIED IDEOGRAPH +0x9F77 0x6BC6 #CJK UNIFIED IDEOGRAPH +0x9F78 0x6BCB #CJK UNIFIED IDEOGRAPH +0x9F79 0x6BD3 #CJK UNIFIED IDEOGRAPH +0x9F7A 0x6BDF #CJK UNIFIED IDEOGRAPH +0x9F7B 0x6BEC #CJK UNIFIED IDEOGRAPH +0x9F7C 0x6BEB #CJK UNIFIED IDEOGRAPH +0x9F7D 0x6BF3 #CJK UNIFIED IDEOGRAPH +0x9F7E 0x6BEF #CJK UNIFIED IDEOGRAPH +0x9F80 0x9EBE #CJK UNIFIED IDEOGRAPH +0x9F81 0x6C08 #CJK UNIFIED IDEOGRAPH +0x9F82 0x6C13 #CJK UNIFIED IDEOGRAPH +0x9F83 0x6C14 #CJK UNIFIED IDEOGRAPH +0x9F84 0x6C1B #CJK UNIFIED IDEOGRAPH +0x9F85 0x6C24 #CJK UNIFIED IDEOGRAPH +0x9F86 0x6C23 #CJK UNIFIED IDEOGRAPH +0x9F87 0x6C5E #CJK UNIFIED IDEOGRAPH +0x9F88 0x6C55 #CJK UNIFIED IDEOGRAPH +0x9F89 0x6C62 #CJK UNIFIED IDEOGRAPH +0x9F8A 0x6C6A #CJK UNIFIED IDEOGRAPH +0x9F8B 0x6C82 #CJK UNIFIED IDEOGRAPH +0x9F8C 0x6C8D #CJK UNIFIED IDEOGRAPH +0x9F8D 0x6C9A #CJK UNIFIED IDEOGRAPH +0x9F8E 0x6C81 #CJK UNIFIED IDEOGRAPH +0x9F8F 0x6C9B #CJK UNIFIED IDEOGRAPH +0x9F90 0x6C7E #CJK UNIFIED IDEOGRAPH +0x9F91 0x6C68 #CJK UNIFIED IDEOGRAPH +0x9F92 0x6C73 #CJK UNIFIED IDEOGRAPH +0x9F93 0x6C92 #CJK UNIFIED IDEOGRAPH +0x9F94 0x6C90 #CJK UNIFIED IDEOGRAPH +0x9F95 0x6CC4 #CJK UNIFIED IDEOGRAPH +0x9F96 0x6CF1 #CJK UNIFIED IDEOGRAPH +0x9F97 0x6CD3 #CJK UNIFIED IDEOGRAPH +0x9F98 0x6CBD #CJK UNIFIED IDEOGRAPH +0x9F99 0x6CD7 #CJK UNIFIED IDEOGRAPH +0x9F9A 0x6CC5 #CJK UNIFIED IDEOGRAPH +0x9F9B 0x6CDD #CJK UNIFIED IDEOGRAPH +0x9F9C 0x6CAE #CJK UNIFIED IDEOGRAPH +0x9F9D 0x6CB1 #CJK UNIFIED IDEOGRAPH +0x9F9E 0x6CBE #CJK UNIFIED IDEOGRAPH +0x9F9F 0x6CBA #CJK UNIFIED IDEOGRAPH +0x9FA0 0x6CDB #CJK UNIFIED IDEOGRAPH +0x9FA1 0x6CEF #CJK UNIFIED IDEOGRAPH +0x9FA2 0x6CD9 #CJK UNIFIED IDEOGRAPH +0x9FA3 0x6CEA #CJK UNIFIED IDEOGRAPH +0x9FA4 0x6D1F #CJK UNIFIED IDEOGRAPH +0x9FA5 0x884D #CJK UNIFIED IDEOGRAPH +0x9FA6 0x6D36 #CJK UNIFIED IDEOGRAPH +0x9FA7 0x6D2B #CJK UNIFIED IDEOGRAPH +0x9FA8 0x6D3D #CJK UNIFIED IDEOGRAPH +0x9FA9 0x6D38 #CJK UNIFIED IDEOGRAPH +0x9FAA 0x6D19 #CJK UNIFIED IDEOGRAPH +0x9FAB 0x6D35 #CJK UNIFIED IDEOGRAPH +0x9FAC 0x6D33 #CJK UNIFIED IDEOGRAPH +0x9FAD 0x6D12 #CJK UNIFIED IDEOGRAPH +0x9FAE 0x6D0C #CJK UNIFIED IDEOGRAPH +0x9FAF 0x6D63 #CJK UNIFIED IDEOGRAPH +0x9FB0 0x6D93 #CJK UNIFIED IDEOGRAPH +0x9FB1 0x6D64 #CJK UNIFIED IDEOGRAPH +0x9FB2 0x6D5A #CJK UNIFIED IDEOGRAPH +0x9FB3 0x6D79 #CJK UNIFIED IDEOGRAPH +0x9FB4 0x6D59 #CJK UNIFIED IDEOGRAPH +0x9FB5 0x6D8E #CJK UNIFIED IDEOGRAPH +0x9FB6 0x6D95 #CJK UNIFIED IDEOGRAPH +0x9FB7 0x6FE4 #CJK UNIFIED IDEOGRAPH +0x9FB8 0x6D85 #CJK UNIFIED IDEOGRAPH +0x9FB9 0x6DF9 #CJK UNIFIED IDEOGRAPH +0x9FBA 0x6E15 #CJK UNIFIED IDEOGRAPH +0x9FBB 0x6E0A #CJK UNIFIED IDEOGRAPH +0x9FBC 0x6DB5 #CJK UNIFIED IDEOGRAPH +0x9FBD 0x6DC7 #CJK UNIFIED IDEOGRAPH +0x9FBE 0x6DE6 #CJK UNIFIED IDEOGRAPH +0x9FBF 0x6DB8 #CJK UNIFIED IDEOGRAPH +0x9FC0 0x6DC6 #CJK UNIFIED IDEOGRAPH +0x9FC1 0x6DEC #CJK UNIFIED IDEOGRAPH +0x9FC2 0x6DDE #CJK UNIFIED IDEOGRAPH +0x9FC3 0x6DCC #CJK UNIFIED IDEOGRAPH +0x9FC4 0x6DE8 #CJK UNIFIED IDEOGRAPH +0x9FC5 0x6DD2 #CJK UNIFIED IDEOGRAPH +0x9FC6 0x6DC5 #CJK UNIFIED IDEOGRAPH +0x9FC7 0x6DFA #CJK UNIFIED IDEOGRAPH +0x9FC8 0x6DD9 #CJK UNIFIED IDEOGRAPH +0x9FC9 0x6DE4 #CJK UNIFIED IDEOGRAPH +0x9FCA 0x6DD5 #CJK UNIFIED IDEOGRAPH +0x9FCB 0x6DEA #CJK UNIFIED IDEOGRAPH +0x9FCC 0x6DEE #CJK UNIFIED IDEOGRAPH +0x9FCD 0x6E2D #CJK UNIFIED IDEOGRAPH +0x9FCE 0x6E6E #CJK UNIFIED IDEOGRAPH +0x9FCF 0x6E2E #CJK UNIFIED IDEOGRAPH +0x9FD0 0x6E19 #CJK UNIFIED IDEOGRAPH +0x9FD1 0x6E72 #CJK UNIFIED IDEOGRAPH +0x9FD2 0x6E5F #CJK UNIFIED IDEOGRAPH +0x9FD3 0x6E3E #CJK UNIFIED IDEOGRAPH +0x9FD4 0x6E23 #CJK UNIFIED IDEOGRAPH +0x9FD5 0x6E6B #CJK UNIFIED IDEOGRAPH +0x9FD6 0x6E2B #CJK UNIFIED IDEOGRAPH +0x9FD7 0x6E76 #CJK UNIFIED IDEOGRAPH +0x9FD8 0x6E4D #CJK UNIFIED IDEOGRAPH +0x9FD9 0x6E1F #CJK UNIFIED IDEOGRAPH +0x9FDA 0x6E43 #CJK UNIFIED IDEOGRAPH +0x9FDB 0x6E3A #CJK UNIFIED IDEOGRAPH +0x9FDC 0x6E4E #CJK UNIFIED IDEOGRAPH +0x9FDD 0x6E24 #CJK UNIFIED IDEOGRAPH +0x9FDE 0x6EFF #CJK UNIFIED IDEOGRAPH +0x9FDF 0x6E1D #CJK UNIFIED IDEOGRAPH +0x9FE0 0x6E38 #CJK UNIFIED IDEOGRAPH +0x9FE1 0x6E82 #CJK UNIFIED IDEOGRAPH +0x9FE2 0x6EAA #CJK UNIFIED IDEOGRAPH +0x9FE3 0x6E98 #CJK UNIFIED IDEOGRAPH +0x9FE4 0x6EC9 #CJK UNIFIED IDEOGRAPH +0x9FE5 0x6EB7 #CJK UNIFIED IDEOGRAPH +0x9FE6 0x6ED3 #CJK UNIFIED IDEOGRAPH +0x9FE7 0x6EBD #CJK UNIFIED IDEOGRAPH +0x9FE8 0x6EAF #CJK UNIFIED IDEOGRAPH +0x9FE9 0x6EC4 #CJK UNIFIED IDEOGRAPH +0x9FEA 0x6EB2 #CJK UNIFIED IDEOGRAPH +0x9FEB 0x6ED4 #CJK UNIFIED IDEOGRAPH +0x9FEC 0x6ED5 #CJK UNIFIED IDEOGRAPH +0x9FED 0x6E8F #CJK UNIFIED IDEOGRAPH +0x9FEE 0x6EA5 #CJK UNIFIED IDEOGRAPH +0x9FEF 0x6EC2 #CJK UNIFIED IDEOGRAPH +0x9FF0 0x6E9F #CJK UNIFIED IDEOGRAPH +0x9FF1 0x6F41 #CJK UNIFIED IDEOGRAPH +0x9FF2 0x6F11 #CJK UNIFIED IDEOGRAPH +0x9FF3 0x704C #CJK UNIFIED IDEOGRAPH +0x9FF4 0x6EEC #CJK UNIFIED IDEOGRAPH +0x9FF5 0x6EF8 #CJK UNIFIED IDEOGRAPH +0x9FF6 0x6EFE #CJK UNIFIED IDEOGRAPH +0x9FF7 0x6F3F #CJK UNIFIED IDEOGRAPH +0x9FF8 0x6EF2 #CJK UNIFIED IDEOGRAPH +0x9FF9 0x6F31 #CJK UNIFIED IDEOGRAPH +0x9FFA 0x6EEF #CJK UNIFIED IDEOGRAPH +0x9FFB 0x6F32 #CJK UNIFIED IDEOGRAPH +0x9FFC 0x6ECC #CJK UNIFIED IDEOGRAPH +0xE040 0x6F3E #CJK UNIFIED IDEOGRAPH +0xE041 0x6F13 #CJK UNIFIED IDEOGRAPH +0xE042 0x6EF7 #CJK UNIFIED IDEOGRAPH +0xE043 0x6F86 #CJK UNIFIED IDEOGRAPH +0xE044 0x6F7A #CJK UNIFIED IDEOGRAPH +0xE045 0x6F78 #CJK UNIFIED IDEOGRAPH +0xE046 0x6F81 #CJK UNIFIED IDEOGRAPH +0xE047 0x6F80 #CJK UNIFIED IDEOGRAPH +0xE048 0x6F6F #CJK UNIFIED IDEOGRAPH +0xE049 0x6F5B #CJK UNIFIED IDEOGRAPH +0xE04A 0x6FF3 #CJK UNIFIED IDEOGRAPH +0xE04B 0x6F6D #CJK UNIFIED IDEOGRAPH +0xE04C 0x6F82 #CJK UNIFIED IDEOGRAPH +0xE04D 0x6F7C #CJK UNIFIED IDEOGRAPH +0xE04E 0x6F58 #CJK UNIFIED IDEOGRAPH +0xE04F 0x6F8E #CJK UNIFIED IDEOGRAPH +0xE050 0x6F91 #CJK UNIFIED IDEOGRAPH +0xE051 0x6FC2 #CJK UNIFIED IDEOGRAPH +0xE052 0x6F66 #CJK UNIFIED IDEOGRAPH +0xE053 0x6FB3 #CJK UNIFIED IDEOGRAPH +0xE054 0x6FA3 #CJK UNIFIED IDEOGRAPH +0xE055 0x6FA1 #CJK UNIFIED IDEOGRAPH +0xE056 0x6FA4 #CJK UNIFIED IDEOGRAPH +0xE057 0x6FB9 #CJK UNIFIED IDEOGRAPH +0xE058 0x6FC6 #CJK UNIFIED IDEOGRAPH +0xE059 0x6FAA #CJK UNIFIED IDEOGRAPH +0xE05A 0x6FDF #CJK UNIFIED IDEOGRAPH +0xE05B 0x6FD5 #CJK UNIFIED IDEOGRAPH +0xE05C 0x6FEC #CJK UNIFIED IDEOGRAPH +0xE05D 0x6FD4 #CJK UNIFIED IDEOGRAPH +0xE05E 0x6FD8 #CJK UNIFIED IDEOGRAPH +0xE05F 0x6FF1 #CJK UNIFIED IDEOGRAPH +0xE060 0x6FEE #CJK UNIFIED IDEOGRAPH +0xE061 0x6FDB #CJK UNIFIED IDEOGRAPH +0xE062 0x7009 #CJK UNIFIED IDEOGRAPH +0xE063 0x700B #CJK UNIFIED IDEOGRAPH +0xE064 0x6FFA #CJK UNIFIED IDEOGRAPH +0xE065 0x7011 #CJK UNIFIED IDEOGRAPH +0xE066 0x7001 #CJK UNIFIED IDEOGRAPH +0xE067 0x700F #CJK UNIFIED IDEOGRAPH +0xE068 0x6FFE #CJK UNIFIED IDEOGRAPH +0xE069 0x701B #CJK UNIFIED IDEOGRAPH +0xE06A 0x701A #CJK UNIFIED IDEOGRAPH +0xE06B 0x6F74 #CJK UNIFIED IDEOGRAPH +0xE06C 0x701D #CJK UNIFIED IDEOGRAPH +0xE06D 0x7018 #CJK UNIFIED IDEOGRAPH +0xE06E 0x701F #CJK UNIFIED IDEOGRAPH +0xE06F 0x7030 #CJK UNIFIED IDEOGRAPH +0xE070 0x703E #CJK UNIFIED IDEOGRAPH +0xE071 0x7032 #CJK UNIFIED IDEOGRAPH +0xE072 0x7051 #CJK UNIFIED IDEOGRAPH +0xE073 0x7063 #CJK UNIFIED IDEOGRAPH +0xE074 0x7099 #CJK UNIFIED IDEOGRAPH +0xE075 0x7092 #CJK UNIFIED IDEOGRAPH +0xE076 0x70AF #CJK UNIFIED IDEOGRAPH +0xE077 0x70F1 #CJK UNIFIED IDEOGRAPH +0xE078 0x70AC #CJK UNIFIED IDEOGRAPH +0xE079 0x70B8 #CJK UNIFIED IDEOGRAPH +0xE07A 0x70B3 #CJK UNIFIED IDEOGRAPH +0xE07B 0x70AE #CJK UNIFIED IDEOGRAPH +0xE07C 0x70DF #CJK UNIFIED IDEOGRAPH +0xE07D 0x70CB #CJK UNIFIED IDEOGRAPH +0xE07E 0x70DD #CJK UNIFIED IDEOGRAPH +0xE080 0x70D9 #CJK UNIFIED IDEOGRAPH +0xE081 0x7109 #CJK UNIFIED IDEOGRAPH +0xE082 0x70FD #CJK UNIFIED IDEOGRAPH +0xE083 0x711C #CJK UNIFIED IDEOGRAPH +0xE084 0x7119 #CJK UNIFIED IDEOGRAPH +0xE085 0x7165 #CJK UNIFIED IDEOGRAPH +0xE086 0x7155 #CJK UNIFIED IDEOGRAPH +0xE087 0x7188 #CJK UNIFIED IDEOGRAPH +0xE088 0x7166 #CJK UNIFIED IDEOGRAPH +0xE089 0x7162 #CJK UNIFIED IDEOGRAPH +0xE08A 0x714C #CJK UNIFIED IDEOGRAPH +0xE08B 0x7156 #CJK UNIFIED IDEOGRAPH +0xE08C 0x716C #CJK UNIFIED IDEOGRAPH +0xE08D 0x718F #CJK UNIFIED IDEOGRAPH +0xE08E 0x71FB #CJK UNIFIED IDEOGRAPH +0xE08F 0x7184 #CJK UNIFIED IDEOGRAPH +0xE090 0x7195 #CJK UNIFIED IDEOGRAPH +0xE091 0x71A8 #CJK UNIFIED IDEOGRAPH +0xE092 0x71AC #CJK UNIFIED IDEOGRAPH +0xE093 0x71D7 #CJK UNIFIED IDEOGRAPH +0xE094 0x71B9 #CJK UNIFIED IDEOGRAPH +0xE095 0x71BE #CJK UNIFIED IDEOGRAPH +0xE096 0x71D2 #CJK UNIFIED IDEOGRAPH +0xE097 0x71C9 #CJK UNIFIED IDEOGRAPH +0xE098 0x71D4 #CJK UNIFIED IDEOGRAPH +0xE099 0x71CE #CJK UNIFIED IDEOGRAPH +0xE09A 0x71E0 #CJK UNIFIED IDEOGRAPH +0xE09B 0x71EC #CJK UNIFIED IDEOGRAPH +0xE09C 0x71E7 #CJK UNIFIED IDEOGRAPH +0xE09D 0x71F5 #CJK UNIFIED IDEOGRAPH +0xE09E 0x71FC #CJK UNIFIED IDEOGRAPH +0xE09F 0x71F9 #CJK UNIFIED IDEOGRAPH +0xE0A0 0x71FF #CJK UNIFIED IDEOGRAPH +0xE0A1 0x720D #CJK UNIFIED IDEOGRAPH +0xE0A2 0x7210 #CJK UNIFIED IDEOGRAPH +0xE0A3 0x721B #CJK UNIFIED IDEOGRAPH +0xE0A4 0x7228 #CJK UNIFIED IDEOGRAPH +0xE0A5 0x722D #CJK UNIFIED IDEOGRAPH +0xE0A6 0x722C #CJK UNIFIED IDEOGRAPH +0xE0A7 0x7230 #CJK UNIFIED IDEOGRAPH +0xE0A8 0x7232 #CJK UNIFIED IDEOGRAPH +0xE0A9 0x723B #CJK UNIFIED IDEOGRAPH +0xE0AA 0x723C #CJK UNIFIED IDEOGRAPH +0xE0AB 0x723F #CJK UNIFIED IDEOGRAPH +0xE0AC 0x7240 #CJK UNIFIED IDEOGRAPH +0xE0AD 0x7246 #CJK UNIFIED IDEOGRAPH +0xE0AE 0x724B #CJK UNIFIED IDEOGRAPH +0xE0AF 0x7258 #CJK UNIFIED IDEOGRAPH +0xE0B0 0x7274 #CJK UNIFIED IDEOGRAPH +0xE0B1 0x727E #CJK UNIFIED IDEOGRAPH +0xE0B2 0x7282 #CJK UNIFIED IDEOGRAPH +0xE0B3 0x7281 #CJK UNIFIED IDEOGRAPH +0xE0B4 0x7287 #CJK UNIFIED IDEOGRAPH +0xE0B5 0x7292 #CJK UNIFIED IDEOGRAPH +0xE0B6 0x7296 #CJK UNIFIED IDEOGRAPH +0xE0B7 0x72A2 #CJK UNIFIED IDEOGRAPH +0xE0B8 0x72A7 #CJK UNIFIED IDEOGRAPH +0xE0B9 0x72B9 #CJK UNIFIED IDEOGRAPH +0xE0BA 0x72B2 #CJK UNIFIED IDEOGRAPH +0xE0BB 0x72C3 #CJK UNIFIED IDEOGRAPH +0xE0BC 0x72C6 #CJK UNIFIED IDEOGRAPH +0xE0BD 0x72C4 #CJK UNIFIED IDEOGRAPH +0xE0BE 0x72CE #CJK UNIFIED IDEOGRAPH +0xE0BF 0x72D2 #CJK UNIFIED IDEOGRAPH +0xE0C0 0x72E2 #CJK UNIFIED IDEOGRAPH +0xE0C1 0x72E0 #CJK UNIFIED IDEOGRAPH +0xE0C2 0x72E1 #CJK UNIFIED IDEOGRAPH +0xE0C3 0x72F9 #CJK UNIFIED IDEOGRAPH +0xE0C4 0x72F7 #CJK UNIFIED IDEOGRAPH +0xE0C5 0x500F #CJK UNIFIED IDEOGRAPH +0xE0C6 0x7317 #CJK UNIFIED IDEOGRAPH +0xE0C7 0x730A #CJK UNIFIED IDEOGRAPH +0xE0C8 0x731C #CJK UNIFIED IDEOGRAPH +0xE0C9 0x7316 #CJK UNIFIED IDEOGRAPH +0xE0CA 0x731D #CJK UNIFIED IDEOGRAPH +0xE0CB 0x7334 #CJK UNIFIED IDEOGRAPH +0xE0CC 0x732F #CJK UNIFIED IDEOGRAPH +0xE0CD 0x7329 #CJK UNIFIED IDEOGRAPH +0xE0CE 0x7325 #CJK UNIFIED IDEOGRAPH +0xE0CF 0x733E #CJK UNIFIED IDEOGRAPH +0xE0D0 0x734E #CJK UNIFIED IDEOGRAPH +0xE0D1 0x734F #CJK UNIFIED IDEOGRAPH +0xE0D2 0x9ED8 #CJK UNIFIED IDEOGRAPH +0xE0D3 0x7357 #CJK UNIFIED IDEOGRAPH +0xE0D4 0x736A #CJK UNIFIED IDEOGRAPH +0xE0D5 0x7368 #CJK UNIFIED IDEOGRAPH +0xE0D6 0x7370 #CJK UNIFIED IDEOGRAPH +0xE0D7 0x7378 #CJK UNIFIED IDEOGRAPH +0xE0D8 0x7375 #CJK UNIFIED IDEOGRAPH +0xE0D9 0x737B #CJK UNIFIED IDEOGRAPH +0xE0DA 0x737A #CJK UNIFIED IDEOGRAPH +0xE0DB 0x73C8 #CJK UNIFIED IDEOGRAPH +0xE0DC 0x73B3 #CJK UNIFIED IDEOGRAPH +0xE0DD 0x73CE #CJK UNIFIED IDEOGRAPH +0xE0DE 0x73BB #CJK UNIFIED IDEOGRAPH +0xE0DF 0x73C0 #CJK UNIFIED IDEOGRAPH +0xE0E0 0x73E5 #CJK UNIFIED IDEOGRAPH +0xE0E1 0x73EE #CJK UNIFIED IDEOGRAPH +0xE0E2 0x73DE #CJK UNIFIED IDEOGRAPH +0xE0E3 0x74A2 #CJK UNIFIED IDEOGRAPH +0xE0E4 0x7405 #CJK UNIFIED IDEOGRAPH +0xE0E5 0x746F #CJK UNIFIED IDEOGRAPH +0xE0E6 0x7425 #CJK UNIFIED IDEOGRAPH +0xE0E7 0x73F8 #CJK UNIFIED IDEOGRAPH +0xE0E8 0x7432 #CJK UNIFIED IDEOGRAPH +0xE0E9 0x743A #CJK UNIFIED IDEOGRAPH +0xE0EA 0x7455 #CJK UNIFIED IDEOGRAPH +0xE0EB 0x743F #CJK UNIFIED IDEOGRAPH +0xE0EC 0x745F #CJK UNIFIED IDEOGRAPH +0xE0ED 0x7459 #CJK UNIFIED IDEOGRAPH +0xE0EE 0x7441 #CJK UNIFIED IDEOGRAPH +0xE0EF 0x745C #CJK UNIFIED IDEOGRAPH +0xE0F0 0x7469 #CJK UNIFIED IDEOGRAPH +0xE0F1 0x7470 #CJK UNIFIED IDEOGRAPH +0xE0F2 0x7463 #CJK UNIFIED IDEOGRAPH +0xE0F3 0x746A #CJK UNIFIED IDEOGRAPH +0xE0F4 0x7476 #CJK UNIFIED IDEOGRAPH +0xE0F5 0x747E #CJK UNIFIED IDEOGRAPH +0xE0F6 0x748B #CJK UNIFIED IDEOGRAPH +0xE0F7 0x749E #CJK UNIFIED IDEOGRAPH +0xE0F8 0x74A7 #CJK UNIFIED IDEOGRAPH +0xE0F9 0x74CA #CJK UNIFIED IDEOGRAPH +0xE0FA 0x74CF #CJK UNIFIED IDEOGRAPH +0xE0FB 0x74D4 #CJK UNIFIED IDEOGRAPH +0xE0FC 0x73F1 #CJK UNIFIED IDEOGRAPH +0xE140 0x74E0 #CJK UNIFIED IDEOGRAPH +0xE141 0x74E3 #CJK UNIFIED IDEOGRAPH +0xE142 0x74E7 #CJK UNIFIED IDEOGRAPH +0xE143 0x74E9 #CJK UNIFIED IDEOGRAPH +0xE144 0x74EE #CJK UNIFIED IDEOGRAPH +0xE145 0x74F2 #CJK UNIFIED IDEOGRAPH +0xE146 0x74F0 #CJK UNIFIED IDEOGRAPH +0xE147 0x74F1 #CJK UNIFIED IDEOGRAPH +0xE148 0x74F8 #CJK UNIFIED IDEOGRAPH +0xE149 0x74F7 #CJK UNIFIED IDEOGRAPH +0xE14A 0x7504 #CJK UNIFIED IDEOGRAPH +0xE14B 0x7503 #CJK UNIFIED IDEOGRAPH +0xE14C 0x7505 #CJK UNIFIED IDEOGRAPH +0xE14D 0x750C #CJK UNIFIED IDEOGRAPH +0xE14E 0x750E #CJK UNIFIED IDEOGRAPH +0xE14F 0x750D #CJK UNIFIED IDEOGRAPH +0xE150 0x7515 #CJK UNIFIED IDEOGRAPH +0xE151 0x7513 #CJK UNIFIED IDEOGRAPH +0xE152 0x751E #CJK UNIFIED IDEOGRAPH +0xE153 0x7526 #CJK UNIFIED IDEOGRAPH +0xE154 0x752C #CJK UNIFIED IDEOGRAPH +0xE155 0x753C #CJK UNIFIED IDEOGRAPH +0xE156 0x7544 #CJK UNIFIED IDEOGRAPH +0xE157 0x754D #CJK UNIFIED IDEOGRAPH +0xE158 0x754A #CJK UNIFIED IDEOGRAPH +0xE159 0x7549 #CJK UNIFIED IDEOGRAPH +0xE15A 0x755B #CJK UNIFIED IDEOGRAPH +0xE15B 0x7546 #CJK UNIFIED IDEOGRAPH +0xE15C 0x755A #CJK UNIFIED IDEOGRAPH +0xE15D 0x7569 #CJK UNIFIED IDEOGRAPH +0xE15E 0x7564 #CJK UNIFIED IDEOGRAPH +0xE15F 0x7567 #CJK UNIFIED IDEOGRAPH +0xE160 0x756B #CJK UNIFIED IDEOGRAPH +0xE161 0x756D #CJK UNIFIED IDEOGRAPH +0xE162 0x7578 #CJK UNIFIED IDEOGRAPH +0xE163 0x7576 #CJK UNIFIED IDEOGRAPH +0xE164 0x7586 #CJK UNIFIED IDEOGRAPH +0xE165 0x7587 #CJK UNIFIED IDEOGRAPH +0xE166 0x7574 #CJK UNIFIED IDEOGRAPH +0xE167 0x758A #CJK UNIFIED IDEOGRAPH +0xE168 0x7589 #CJK UNIFIED IDEOGRAPH +0xE169 0x7582 #CJK UNIFIED IDEOGRAPH +0xE16A 0x7594 #CJK UNIFIED IDEOGRAPH +0xE16B 0x759A #CJK UNIFIED IDEOGRAPH +0xE16C 0x759D #CJK UNIFIED IDEOGRAPH +0xE16D 0x75A5 #CJK UNIFIED IDEOGRAPH +0xE16E 0x75A3 #CJK UNIFIED IDEOGRAPH +0xE16F 0x75C2 #CJK UNIFIED IDEOGRAPH +0xE170 0x75B3 #CJK UNIFIED IDEOGRAPH +0xE171 0x75C3 #CJK UNIFIED IDEOGRAPH +0xE172 0x75B5 #CJK UNIFIED IDEOGRAPH +0xE173 0x75BD #CJK UNIFIED IDEOGRAPH +0xE174 0x75B8 #CJK UNIFIED IDEOGRAPH +0xE175 0x75BC #CJK UNIFIED IDEOGRAPH +0xE176 0x75B1 #CJK UNIFIED IDEOGRAPH +0xE177 0x75CD #CJK UNIFIED IDEOGRAPH +0xE178 0x75CA #CJK UNIFIED IDEOGRAPH +0xE179 0x75D2 #CJK UNIFIED IDEOGRAPH +0xE17A 0x75D9 #CJK UNIFIED IDEOGRAPH +0xE17B 0x75E3 #CJK UNIFIED IDEOGRAPH +0xE17C 0x75DE #CJK UNIFIED IDEOGRAPH +0xE17D 0x75FE #CJK UNIFIED IDEOGRAPH +0xE17E 0x75FF #CJK UNIFIED IDEOGRAPH +0xE180 0x75FC #CJK UNIFIED IDEOGRAPH +0xE181 0x7601 #CJK UNIFIED IDEOGRAPH +0xE182 0x75F0 #CJK UNIFIED IDEOGRAPH +0xE183 0x75FA #CJK UNIFIED IDEOGRAPH +0xE184 0x75F2 #CJK UNIFIED IDEOGRAPH +0xE185 0x75F3 #CJK UNIFIED IDEOGRAPH +0xE186 0x760B #CJK UNIFIED IDEOGRAPH +0xE187 0x760D #CJK UNIFIED IDEOGRAPH +0xE188 0x7609 #CJK UNIFIED IDEOGRAPH +0xE189 0x761F #CJK UNIFIED IDEOGRAPH +0xE18A 0x7627 #CJK UNIFIED IDEOGRAPH +0xE18B 0x7620 #CJK UNIFIED IDEOGRAPH +0xE18C 0x7621 #CJK UNIFIED IDEOGRAPH +0xE18D 0x7622 #CJK UNIFIED IDEOGRAPH +0xE18E 0x7624 #CJK UNIFIED IDEOGRAPH +0xE18F 0x7634 #CJK UNIFIED IDEOGRAPH +0xE190 0x7630 #CJK UNIFIED IDEOGRAPH +0xE191 0x763B #CJK UNIFIED IDEOGRAPH +0xE192 0x7647 #CJK UNIFIED IDEOGRAPH +0xE193 0x7648 #CJK UNIFIED IDEOGRAPH +0xE194 0x7646 #CJK UNIFIED IDEOGRAPH +0xE195 0x765C #CJK UNIFIED IDEOGRAPH +0xE196 0x7658 #CJK UNIFIED IDEOGRAPH +0xE197 0x7661 #CJK UNIFIED IDEOGRAPH +0xE198 0x7662 #CJK UNIFIED IDEOGRAPH +0xE199 0x7668 #CJK UNIFIED IDEOGRAPH +0xE19A 0x7669 #CJK UNIFIED IDEOGRAPH +0xE19B 0x766A #CJK UNIFIED IDEOGRAPH +0xE19C 0x7667 #CJK UNIFIED IDEOGRAPH +0xE19D 0x766C #CJK UNIFIED IDEOGRAPH +0xE19E 0x7670 #CJK UNIFIED IDEOGRAPH +0xE19F 0x7672 #CJK UNIFIED IDEOGRAPH +0xE1A0 0x7676 #CJK UNIFIED IDEOGRAPH +0xE1A1 0x7678 #CJK UNIFIED IDEOGRAPH +0xE1A2 0x767C #CJK UNIFIED IDEOGRAPH +0xE1A3 0x7680 #CJK UNIFIED IDEOGRAPH +0xE1A4 0x7683 #CJK UNIFIED IDEOGRAPH +0xE1A5 0x7688 #CJK UNIFIED IDEOGRAPH +0xE1A6 0x768B #CJK UNIFIED IDEOGRAPH +0xE1A7 0x768E #CJK UNIFIED IDEOGRAPH +0xE1A8 0x7696 #CJK UNIFIED IDEOGRAPH +0xE1A9 0x7693 #CJK UNIFIED IDEOGRAPH +0xE1AA 0x7699 #CJK UNIFIED IDEOGRAPH +0xE1AB 0x769A #CJK UNIFIED IDEOGRAPH +0xE1AC 0x76B0 #CJK UNIFIED IDEOGRAPH +0xE1AD 0x76B4 #CJK UNIFIED IDEOGRAPH +0xE1AE 0x76B8 #CJK UNIFIED IDEOGRAPH +0xE1AF 0x76B9 #CJK UNIFIED IDEOGRAPH +0xE1B0 0x76BA #CJK UNIFIED IDEOGRAPH +0xE1B1 0x76C2 #CJK UNIFIED IDEOGRAPH +0xE1B2 0x76CD #CJK UNIFIED IDEOGRAPH +0xE1B3 0x76D6 #CJK UNIFIED IDEOGRAPH +0xE1B4 0x76D2 #CJK UNIFIED IDEOGRAPH +0xE1B5 0x76DE #CJK UNIFIED IDEOGRAPH +0xE1B6 0x76E1 #CJK UNIFIED IDEOGRAPH +0xE1B7 0x76E5 #CJK UNIFIED IDEOGRAPH +0xE1B8 0x76E7 #CJK UNIFIED IDEOGRAPH +0xE1B9 0x76EA #CJK UNIFIED IDEOGRAPH +0xE1BA 0x862F #CJK UNIFIED IDEOGRAPH +0xE1BB 0x76FB #CJK UNIFIED IDEOGRAPH +0xE1BC 0x7708 #CJK UNIFIED IDEOGRAPH +0xE1BD 0x7707 #CJK UNIFIED IDEOGRAPH +0xE1BE 0x7704 #CJK UNIFIED IDEOGRAPH +0xE1BF 0x7729 #CJK UNIFIED IDEOGRAPH +0xE1C0 0x7724 #CJK UNIFIED IDEOGRAPH +0xE1C1 0x771E #CJK UNIFIED IDEOGRAPH +0xE1C2 0x7725 #CJK UNIFIED IDEOGRAPH +0xE1C3 0x7726 #CJK UNIFIED IDEOGRAPH +0xE1C4 0x771B #CJK UNIFIED IDEOGRAPH +0xE1C5 0x7737 #CJK UNIFIED IDEOGRAPH +0xE1C6 0x7738 #CJK UNIFIED IDEOGRAPH +0xE1C7 0x7747 #CJK UNIFIED IDEOGRAPH +0xE1C8 0x775A #CJK UNIFIED IDEOGRAPH +0xE1C9 0x7768 #CJK UNIFIED IDEOGRAPH +0xE1CA 0x776B #CJK UNIFIED IDEOGRAPH +0xE1CB 0x775B #CJK UNIFIED IDEOGRAPH +0xE1CC 0x7765 #CJK UNIFIED IDEOGRAPH +0xE1CD 0x777F #CJK UNIFIED IDEOGRAPH +0xE1CE 0x777E #CJK UNIFIED IDEOGRAPH +0xE1CF 0x7779 #CJK UNIFIED IDEOGRAPH +0xE1D0 0x778E #CJK UNIFIED IDEOGRAPH +0xE1D1 0x778B #CJK UNIFIED IDEOGRAPH +0xE1D2 0x7791 #CJK UNIFIED IDEOGRAPH +0xE1D3 0x77A0 #CJK UNIFIED IDEOGRAPH +0xE1D4 0x779E #CJK UNIFIED IDEOGRAPH +0xE1D5 0x77B0 #CJK UNIFIED IDEOGRAPH +0xE1D6 0x77B6 #CJK UNIFIED IDEOGRAPH +0xE1D7 0x77B9 #CJK UNIFIED IDEOGRAPH +0xE1D8 0x77BF #CJK UNIFIED IDEOGRAPH +0xE1D9 0x77BC #CJK UNIFIED IDEOGRAPH +0xE1DA 0x77BD #CJK UNIFIED IDEOGRAPH +0xE1DB 0x77BB #CJK UNIFIED IDEOGRAPH +0xE1DC 0x77C7 #CJK UNIFIED IDEOGRAPH +0xE1DD 0x77CD #CJK UNIFIED IDEOGRAPH +0xE1DE 0x77D7 #CJK UNIFIED IDEOGRAPH +0xE1DF 0x77DA #CJK UNIFIED IDEOGRAPH +0xE1E0 0x77DC #CJK UNIFIED IDEOGRAPH +0xE1E1 0x77E3 #CJK UNIFIED IDEOGRAPH +0xE1E2 0x77EE #CJK UNIFIED IDEOGRAPH +0xE1E3 0x77FC #CJK UNIFIED IDEOGRAPH +0xE1E4 0x780C #CJK UNIFIED IDEOGRAPH +0xE1E5 0x7812 #CJK UNIFIED IDEOGRAPH +0xE1E6 0x7926 #CJK UNIFIED IDEOGRAPH +0xE1E7 0x7820 #CJK UNIFIED IDEOGRAPH +0xE1E8 0x792A #CJK UNIFIED IDEOGRAPH +0xE1E9 0x7845 #CJK UNIFIED IDEOGRAPH +0xE1EA 0x788E #CJK UNIFIED IDEOGRAPH +0xE1EB 0x7874 #CJK UNIFIED IDEOGRAPH +0xE1EC 0x7886 #CJK UNIFIED IDEOGRAPH +0xE1ED 0x787C #CJK UNIFIED IDEOGRAPH +0xE1EE 0x789A #CJK UNIFIED IDEOGRAPH +0xE1EF 0x788C #CJK UNIFIED IDEOGRAPH +0xE1F0 0x78A3 #CJK UNIFIED IDEOGRAPH +0xE1F1 0x78B5 #CJK UNIFIED IDEOGRAPH +0xE1F2 0x78AA #CJK UNIFIED IDEOGRAPH +0xE1F3 0x78AF #CJK UNIFIED IDEOGRAPH +0xE1F4 0x78D1 #CJK UNIFIED IDEOGRAPH +0xE1F5 0x78C6 #CJK UNIFIED IDEOGRAPH +0xE1F6 0x78CB #CJK UNIFIED IDEOGRAPH +0xE1F7 0x78D4 #CJK UNIFIED IDEOGRAPH +0xE1F8 0x78BE #CJK UNIFIED IDEOGRAPH +0xE1F9 0x78BC #CJK UNIFIED IDEOGRAPH +0xE1FA 0x78C5 #CJK UNIFIED IDEOGRAPH +0xE1FB 0x78CA #CJK UNIFIED IDEOGRAPH +0xE1FC 0x78EC #CJK UNIFIED IDEOGRAPH +0xE240 0x78E7 #CJK UNIFIED IDEOGRAPH +0xE241 0x78DA #CJK UNIFIED IDEOGRAPH +0xE242 0x78FD #CJK UNIFIED IDEOGRAPH +0xE243 0x78F4 #CJK UNIFIED IDEOGRAPH +0xE244 0x7907 #CJK UNIFIED IDEOGRAPH +0xE245 0x7912 #CJK UNIFIED IDEOGRAPH +0xE246 0x7911 #CJK UNIFIED IDEOGRAPH +0xE247 0x7919 #CJK UNIFIED IDEOGRAPH +0xE248 0x792C #CJK UNIFIED IDEOGRAPH +0xE249 0x792B #CJK UNIFIED IDEOGRAPH +0xE24A 0x7940 #CJK UNIFIED IDEOGRAPH +0xE24B 0x7960 #CJK UNIFIED IDEOGRAPH +0xE24C 0x7957 #CJK UNIFIED IDEOGRAPH +0xE24D 0x795F #CJK UNIFIED IDEOGRAPH +0xE24E 0x795A #CJK UNIFIED IDEOGRAPH +0xE24F 0x7955 #CJK UNIFIED IDEOGRAPH +0xE250 0x7953 #CJK UNIFIED IDEOGRAPH +0xE251 0x797A #CJK UNIFIED IDEOGRAPH +0xE252 0x797F #CJK UNIFIED IDEOGRAPH +0xE253 0x798A #CJK UNIFIED IDEOGRAPH +0xE254 0x799D #CJK UNIFIED IDEOGRAPH +0xE255 0x79A7 #CJK UNIFIED IDEOGRAPH +0xE256 0x9F4B #CJK UNIFIED IDEOGRAPH +0xE257 0x79AA #CJK UNIFIED IDEOGRAPH +0xE258 0x79AE #CJK UNIFIED IDEOGRAPH +0xE259 0x79B3 #CJK UNIFIED IDEOGRAPH +0xE25A 0x79B9 #CJK UNIFIED IDEOGRAPH +0xE25B 0x79BA #CJK UNIFIED IDEOGRAPH +0xE25C 0x79C9 #CJK UNIFIED IDEOGRAPH +0xE25D 0x79D5 #CJK UNIFIED IDEOGRAPH +0xE25E 0x79E7 #CJK UNIFIED IDEOGRAPH +0xE25F 0x79EC #CJK UNIFIED IDEOGRAPH +0xE260 0x79E1 #CJK UNIFIED IDEOGRAPH +0xE261 0x79E3 #CJK UNIFIED IDEOGRAPH +0xE262 0x7A08 #CJK UNIFIED IDEOGRAPH +0xE263 0x7A0D #CJK UNIFIED IDEOGRAPH +0xE264 0x7A18 #CJK UNIFIED IDEOGRAPH +0xE265 0x7A19 #CJK UNIFIED IDEOGRAPH +0xE266 0x7A20 #CJK UNIFIED IDEOGRAPH +0xE267 0x7A1F #CJK UNIFIED IDEOGRAPH +0xE268 0x7980 #CJK UNIFIED IDEOGRAPH +0xE269 0x7A31 #CJK UNIFIED IDEOGRAPH +0xE26A 0x7A3B #CJK UNIFIED IDEOGRAPH +0xE26B 0x7A3E #CJK UNIFIED IDEOGRAPH +0xE26C 0x7A37 #CJK UNIFIED IDEOGRAPH +0xE26D 0x7A43 #CJK UNIFIED IDEOGRAPH +0xE26E 0x7A57 #CJK UNIFIED IDEOGRAPH +0xE26F 0x7A49 #CJK UNIFIED IDEOGRAPH +0xE270 0x7A61 #CJK UNIFIED IDEOGRAPH +0xE271 0x7A62 #CJK UNIFIED IDEOGRAPH +0xE272 0x7A69 #CJK UNIFIED IDEOGRAPH +0xE273 0x9F9D #CJK UNIFIED IDEOGRAPH +0xE274 0x7A70 #CJK UNIFIED IDEOGRAPH +0xE275 0x7A79 #CJK UNIFIED IDEOGRAPH +0xE276 0x7A7D #CJK UNIFIED IDEOGRAPH +0xE277 0x7A88 #CJK UNIFIED IDEOGRAPH +0xE278 0x7A97 #CJK UNIFIED IDEOGRAPH +0xE279 0x7A95 #CJK UNIFIED IDEOGRAPH +0xE27A 0x7A98 #CJK UNIFIED IDEOGRAPH +0xE27B 0x7A96 #CJK UNIFIED IDEOGRAPH +0xE27C 0x7AA9 #CJK UNIFIED IDEOGRAPH +0xE27D 0x7AC8 #CJK UNIFIED IDEOGRAPH +0xE27E 0x7AB0 #CJK UNIFIED IDEOGRAPH +0xE280 0x7AB6 #CJK UNIFIED IDEOGRAPH +0xE281 0x7AC5 #CJK UNIFIED IDEOGRAPH +0xE282 0x7AC4 #CJK UNIFIED IDEOGRAPH +0xE283 0x7ABF #CJK UNIFIED IDEOGRAPH +0xE284 0x9083 #CJK UNIFIED IDEOGRAPH +0xE285 0x7AC7 #CJK UNIFIED IDEOGRAPH +0xE286 0x7ACA #CJK UNIFIED IDEOGRAPH +0xE287 0x7ACD #CJK UNIFIED IDEOGRAPH +0xE288 0x7ACF #CJK UNIFIED IDEOGRAPH +0xE289 0x7AD5 #CJK UNIFIED IDEOGRAPH +0xE28A 0x7AD3 #CJK UNIFIED IDEOGRAPH +0xE28B 0x7AD9 #CJK UNIFIED IDEOGRAPH +0xE28C 0x7ADA #CJK UNIFIED IDEOGRAPH +0xE28D 0x7ADD #CJK UNIFIED IDEOGRAPH +0xE28E 0x7AE1 #CJK UNIFIED IDEOGRAPH +0xE28F 0x7AE2 #CJK UNIFIED IDEOGRAPH +0xE290 0x7AE6 #CJK UNIFIED IDEOGRAPH +0xE291 0x7AED #CJK UNIFIED IDEOGRAPH +0xE292 0x7AF0 #CJK UNIFIED IDEOGRAPH +0xE293 0x7B02 #CJK UNIFIED IDEOGRAPH +0xE294 0x7B0F #CJK UNIFIED IDEOGRAPH +0xE295 0x7B0A #CJK UNIFIED IDEOGRAPH +0xE296 0x7B06 #CJK UNIFIED IDEOGRAPH +0xE297 0x7B33 #CJK UNIFIED IDEOGRAPH +0xE298 0x7B18 #CJK UNIFIED IDEOGRAPH +0xE299 0x7B19 #CJK UNIFIED IDEOGRAPH +0xE29A 0x7B1E #CJK UNIFIED IDEOGRAPH +0xE29B 0x7B35 #CJK UNIFIED IDEOGRAPH +0xE29C 0x7B28 #CJK UNIFIED IDEOGRAPH +0xE29D 0x7B36 #CJK UNIFIED IDEOGRAPH +0xE29E 0x7B50 #CJK UNIFIED IDEOGRAPH +0xE29F 0x7B7A #CJK UNIFIED IDEOGRAPH +0xE2A0 0x7B04 #CJK UNIFIED IDEOGRAPH +0xE2A1 0x7B4D #CJK UNIFIED IDEOGRAPH +0xE2A2 0x7B0B #CJK UNIFIED IDEOGRAPH +0xE2A3 0x7B4C #CJK UNIFIED IDEOGRAPH +0xE2A4 0x7B45 #CJK UNIFIED IDEOGRAPH +0xE2A5 0x7B75 #CJK UNIFIED IDEOGRAPH +0xE2A6 0x7B65 #CJK UNIFIED IDEOGRAPH +0xE2A7 0x7B74 #CJK UNIFIED IDEOGRAPH +0xE2A8 0x7B67 #CJK UNIFIED IDEOGRAPH +0xE2A9 0x7B70 #CJK UNIFIED IDEOGRAPH +0xE2AA 0x7B71 #CJK UNIFIED IDEOGRAPH +0xE2AB 0x7B6C #CJK UNIFIED IDEOGRAPH +0xE2AC 0x7B6E #CJK UNIFIED IDEOGRAPH +0xE2AD 0x7B9D #CJK UNIFIED IDEOGRAPH +0xE2AE 0x7B98 #CJK UNIFIED IDEOGRAPH +0xE2AF 0x7B9F #CJK UNIFIED IDEOGRAPH +0xE2B0 0x7B8D #CJK UNIFIED IDEOGRAPH +0xE2B1 0x7B9C #CJK UNIFIED IDEOGRAPH +0xE2B2 0x7B9A #CJK UNIFIED IDEOGRAPH +0xE2B3 0x7B8B #CJK UNIFIED IDEOGRAPH +0xE2B4 0x7B92 #CJK UNIFIED IDEOGRAPH +0xE2B5 0x7B8F #CJK UNIFIED IDEOGRAPH +0xE2B6 0x7B5D #CJK UNIFIED IDEOGRAPH +0xE2B7 0x7B99 #CJK UNIFIED IDEOGRAPH +0xE2B8 0x7BCB #CJK UNIFIED IDEOGRAPH +0xE2B9 0x7BC1 #CJK UNIFIED IDEOGRAPH +0xE2BA 0x7BCC #CJK UNIFIED IDEOGRAPH +0xE2BB 0x7BCF #CJK UNIFIED IDEOGRAPH +0xE2BC 0x7BB4 #CJK UNIFIED IDEOGRAPH +0xE2BD 0x7BC6 #CJK UNIFIED IDEOGRAPH +0xE2BE 0x7BDD #CJK UNIFIED IDEOGRAPH +0xE2BF 0x7BE9 #CJK UNIFIED IDEOGRAPH +0xE2C0 0x7C11 #CJK UNIFIED IDEOGRAPH +0xE2C1 0x7C14 #CJK UNIFIED IDEOGRAPH +0xE2C2 0x7BE6 #CJK UNIFIED IDEOGRAPH +0xE2C3 0x7BE5 #CJK UNIFIED IDEOGRAPH +0xE2C4 0x7C60 #CJK UNIFIED IDEOGRAPH +0xE2C5 0x7C00 #CJK UNIFIED IDEOGRAPH +0xE2C6 0x7C07 #CJK UNIFIED IDEOGRAPH +0xE2C7 0x7C13 #CJK UNIFIED IDEOGRAPH +0xE2C8 0x7BF3 #CJK UNIFIED IDEOGRAPH +0xE2C9 0x7BF7 #CJK UNIFIED IDEOGRAPH +0xE2CA 0x7C17 #CJK UNIFIED IDEOGRAPH +0xE2CB 0x7C0D #CJK UNIFIED IDEOGRAPH +0xE2CC 0x7BF6 #CJK UNIFIED IDEOGRAPH +0xE2CD 0x7C23 #CJK UNIFIED IDEOGRAPH +0xE2CE 0x7C27 #CJK UNIFIED IDEOGRAPH +0xE2CF 0x7C2A #CJK UNIFIED IDEOGRAPH +0xE2D0 0x7C1F #CJK UNIFIED IDEOGRAPH +0xE2D1 0x7C37 #CJK UNIFIED IDEOGRAPH +0xE2D2 0x7C2B #CJK UNIFIED IDEOGRAPH +0xE2D3 0x7C3D #CJK UNIFIED IDEOGRAPH +0xE2D4 0x7C4C #CJK UNIFIED IDEOGRAPH +0xE2D5 0x7C43 #CJK UNIFIED IDEOGRAPH +0xE2D6 0x7C54 #CJK UNIFIED IDEOGRAPH +0xE2D7 0x7C4F #CJK UNIFIED IDEOGRAPH +0xE2D8 0x7C40 #CJK UNIFIED IDEOGRAPH +0xE2D9 0x7C50 #CJK UNIFIED IDEOGRAPH +0xE2DA 0x7C58 #CJK UNIFIED IDEOGRAPH +0xE2DB 0x7C5F #CJK UNIFIED IDEOGRAPH +0xE2DC 0x7C64 #CJK UNIFIED IDEOGRAPH +0xE2DD 0x7C56 #CJK UNIFIED IDEOGRAPH +0xE2DE 0x7C65 #CJK UNIFIED IDEOGRAPH +0xE2DF 0x7C6C #CJK UNIFIED IDEOGRAPH +0xE2E0 0x7C75 #CJK UNIFIED IDEOGRAPH +0xE2E1 0x7C83 #CJK UNIFIED IDEOGRAPH +0xE2E2 0x7C90 #CJK UNIFIED IDEOGRAPH +0xE2E3 0x7CA4 #CJK UNIFIED IDEOGRAPH +0xE2E4 0x7CAD #CJK UNIFIED IDEOGRAPH +0xE2E5 0x7CA2 #CJK UNIFIED IDEOGRAPH +0xE2E6 0x7CAB #CJK UNIFIED IDEOGRAPH +0xE2E7 0x7CA1 #CJK UNIFIED IDEOGRAPH +0xE2E8 0x7CA8 #CJK UNIFIED IDEOGRAPH +0xE2E9 0x7CB3 #CJK UNIFIED IDEOGRAPH +0xE2EA 0x7CB2 #CJK UNIFIED IDEOGRAPH +0xE2EB 0x7CB1 #CJK UNIFIED IDEOGRAPH +0xE2EC 0x7CAE #CJK UNIFIED IDEOGRAPH +0xE2ED 0x7CB9 #CJK UNIFIED IDEOGRAPH +0xE2EE 0x7CBD #CJK UNIFIED IDEOGRAPH +0xE2EF 0x7CC0 #CJK UNIFIED IDEOGRAPH +0xE2F0 0x7CC5 #CJK UNIFIED IDEOGRAPH +0xE2F1 0x7CC2 #CJK UNIFIED IDEOGRAPH +0xE2F2 0x7CD8 #CJK UNIFIED IDEOGRAPH +0xE2F3 0x7CD2 #CJK UNIFIED IDEOGRAPH +0xE2F4 0x7CDC #CJK UNIFIED IDEOGRAPH +0xE2F5 0x7CE2 #CJK UNIFIED IDEOGRAPH +0xE2F6 0x9B3B #CJK UNIFIED IDEOGRAPH +0xE2F7 0x7CEF #CJK UNIFIED IDEOGRAPH +0xE2F8 0x7CF2 #CJK UNIFIED IDEOGRAPH +0xE2F9 0x7CF4 #CJK UNIFIED IDEOGRAPH +0xE2FA 0x7CF6 #CJK UNIFIED IDEOGRAPH +0xE2FB 0x7CFA #CJK UNIFIED IDEOGRAPH +0xE2FC 0x7D06 #CJK UNIFIED IDEOGRAPH +0xE340 0x7D02 #CJK UNIFIED IDEOGRAPH +0xE341 0x7D1C #CJK UNIFIED IDEOGRAPH +0xE342 0x7D15 #CJK UNIFIED IDEOGRAPH +0xE343 0x7D0A #CJK UNIFIED IDEOGRAPH +0xE344 0x7D45 #CJK UNIFIED IDEOGRAPH +0xE345 0x7D4B #CJK UNIFIED IDEOGRAPH +0xE346 0x7D2E #CJK UNIFIED IDEOGRAPH +0xE347 0x7D32 #CJK UNIFIED IDEOGRAPH +0xE348 0x7D3F #CJK UNIFIED IDEOGRAPH +0xE349 0x7D35 #CJK UNIFIED IDEOGRAPH +0xE34A 0x7D46 #CJK UNIFIED IDEOGRAPH +0xE34B 0x7D73 #CJK UNIFIED IDEOGRAPH +0xE34C 0x7D56 #CJK UNIFIED IDEOGRAPH +0xE34D 0x7D4E #CJK UNIFIED IDEOGRAPH +0xE34E 0x7D72 #CJK UNIFIED IDEOGRAPH +0xE34F 0x7D68 #CJK UNIFIED IDEOGRAPH +0xE350 0x7D6E #CJK UNIFIED IDEOGRAPH +0xE351 0x7D4F #CJK UNIFIED IDEOGRAPH +0xE352 0x7D63 #CJK UNIFIED IDEOGRAPH +0xE353 0x7D93 #CJK UNIFIED IDEOGRAPH +0xE354 0x7D89 #CJK UNIFIED IDEOGRAPH +0xE355 0x7D5B #CJK UNIFIED IDEOGRAPH +0xE356 0x7D8F #CJK UNIFIED IDEOGRAPH +0xE357 0x7D7D #CJK UNIFIED IDEOGRAPH +0xE358 0x7D9B #CJK UNIFIED IDEOGRAPH +0xE359 0x7DBA #CJK UNIFIED IDEOGRAPH +0xE35A 0x7DAE #CJK UNIFIED IDEOGRAPH +0xE35B 0x7DA3 #CJK UNIFIED IDEOGRAPH +0xE35C 0x7DB5 #CJK UNIFIED IDEOGRAPH +0xE35D 0x7DC7 #CJK UNIFIED IDEOGRAPH +0xE35E 0x7DBD #CJK UNIFIED IDEOGRAPH +0xE35F 0x7DAB #CJK UNIFIED IDEOGRAPH +0xE360 0x7E3D #CJK UNIFIED IDEOGRAPH +0xE361 0x7DA2 #CJK UNIFIED IDEOGRAPH +0xE362 0x7DAF #CJK UNIFIED IDEOGRAPH +0xE363 0x7DDC #CJK UNIFIED IDEOGRAPH +0xE364 0x7DB8 #CJK UNIFIED IDEOGRAPH +0xE365 0x7D9F #CJK UNIFIED IDEOGRAPH +0xE366 0x7DB0 #CJK UNIFIED IDEOGRAPH +0xE367 0x7DD8 #CJK UNIFIED IDEOGRAPH +0xE368 0x7DDD #CJK UNIFIED IDEOGRAPH +0xE369 0x7DE4 #CJK UNIFIED IDEOGRAPH +0xE36A 0x7DDE #CJK UNIFIED IDEOGRAPH +0xE36B 0x7DFB #CJK UNIFIED IDEOGRAPH +0xE36C 0x7DF2 #CJK UNIFIED IDEOGRAPH +0xE36D 0x7DE1 #CJK UNIFIED IDEOGRAPH +0xE36E 0x7E05 #CJK UNIFIED IDEOGRAPH +0xE36F 0x7E0A #CJK UNIFIED IDEOGRAPH +0xE370 0x7E23 #CJK UNIFIED IDEOGRAPH +0xE371 0x7E21 #CJK UNIFIED IDEOGRAPH +0xE372 0x7E12 #CJK UNIFIED IDEOGRAPH +0xE373 0x7E31 #CJK UNIFIED IDEOGRAPH +0xE374 0x7E1F #CJK UNIFIED IDEOGRAPH +0xE375 0x7E09 #CJK UNIFIED IDEOGRAPH +0xE376 0x7E0B #CJK UNIFIED IDEOGRAPH +0xE377 0x7E22 #CJK UNIFIED IDEOGRAPH +0xE378 0x7E46 #CJK UNIFIED IDEOGRAPH +0xE379 0x7E66 #CJK UNIFIED IDEOGRAPH +0xE37A 0x7E3B #CJK UNIFIED IDEOGRAPH +0xE37B 0x7E35 #CJK UNIFIED IDEOGRAPH +0xE37C 0x7E39 #CJK UNIFIED IDEOGRAPH +0xE37D 0x7E43 #CJK UNIFIED IDEOGRAPH +0xE37E 0x7E37 #CJK UNIFIED IDEOGRAPH +0xE380 0x7E32 #CJK UNIFIED IDEOGRAPH +0xE381 0x7E3A #CJK UNIFIED IDEOGRAPH +0xE382 0x7E67 #CJK UNIFIED IDEOGRAPH +0xE383 0x7E5D #CJK UNIFIED IDEOGRAPH +0xE384 0x7E56 #CJK UNIFIED IDEOGRAPH +0xE385 0x7E5E #CJK UNIFIED IDEOGRAPH +0xE386 0x7E59 #CJK UNIFIED IDEOGRAPH +0xE387 0x7E5A #CJK UNIFIED IDEOGRAPH +0xE388 0x7E79 #CJK UNIFIED IDEOGRAPH +0xE389 0x7E6A #CJK UNIFIED IDEOGRAPH +0xE38A 0x7E69 #CJK UNIFIED IDEOGRAPH +0xE38B 0x7E7C #CJK UNIFIED IDEOGRAPH +0xE38C 0x7E7B #CJK UNIFIED IDEOGRAPH +0xE38D 0x7E83 #CJK UNIFIED IDEOGRAPH +0xE38E 0x7DD5 #CJK UNIFIED IDEOGRAPH +0xE38F 0x7E7D #CJK UNIFIED IDEOGRAPH +0xE390 0x8FAE #CJK UNIFIED IDEOGRAPH +0xE391 0x7E7F #CJK UNIFIED IDEOGRAPH +0xE392 0x7E88 #CJK UNIFIED IDEOGRAPH +0xE393 0x7E89 #CJK UNIFIED IDEOGRAPH +0xE394 0x7E8C #CJK UNIFIED IDEOGRAPH +0xE395 0x7E92 #CJK UNIFIED IDEOGRAPH +0xE396 0x7E90 #CJK UNIFIED IDEOGRAPH +0xE397 0x7E93 #CJK UNIFIED IDEOGRAPH +0xE398 0x7E94 #CJK UNIFIED IDEOGRAPH +0xE399 0x7E96 #CJK UNIFIED IDEOGRAPH +0xE39A 0x7E8E #CJK UNIFIED IDEOGRAPH +0xE39B 0x7E9B #CJK UNIFIED IDEOGRAPH +0xE39C 0x7E9C #CJK UNIFIED IDEOGRAPH +0xE39D 0x7F38 #CJK UNIFIED IDEOGRAPH +0xE39E 0x7F3A #CJK UNIFIED IDEOGRAPH +0xE39F 0x7F45 #CJK UNIFIED IDEOGRAPH +0xE3A0 0x7F4C #CJK UNIFIED IDEOGRAPH +0xE3A1 0x7F4D #CJK UNIFIED IDEOGRAPH +0xE3A2 0x7F4E #CJK UNIFIED IDEOGRAPH +0xE3A3 0x7F50 #CJK UNIFIED IDEOGRAPH +0xE3A4 0x7F51 #CJK UNIFIED IDEOGRAPH +0xE3A5 0x7F55 #CJK UNIFIED IDEOGRAPH +0xE3A6 0x7F54 #CJK UNIFIED IDEOGRAPH +0xE3A7 0x7F58 #CJK UNIFIED IDEOGRAPH +0xE3A8 0x7F5F #CJK UNIFIED IDEOGRAPH +0xE3A9 0x7F60 #CJK UNIFIED IDEOGRAPH +0xE3AA 0x7F68 #CJK UNIFIED IDEOGRAPH +0xE3AB 0x7F69 #CJK UNIFIED IDEOGRAPH +0xE3AC 0x7F67 #CJK UNIFIED IDEOGRAPH +0xE3AD 0x7F78 #CJK UNIFIED IDEOGRAPH +0xE3AE 0x7F82 #CJK UNIFIED IDEOGRAPH +0xE3AF 0x7F86 #CJK UNIFIED IDEOGRAPH +0xE3B0 0x7F83 #CJK UNIFIED IDEOGRAPH +0xE3B1 0x7F88 #CJK UNIFIED IDEOGRAPH +0xE3B2 0x7F87 #CJK UNIFIED IDEOGRAPH +0xE3B3 0x7F8C #CJK UNIFIED IDEOGRAPH +0xE3B4 0x7F94 #CJK UNIFIED IDEOGRAPH +0xE3B5 0x7F9E #CJK UNIFIED IDEOGRAPH +0xE3B6 0x7F9D #CJK UNIFIED IDEOGRAPH +0xE3B7 0x7F9A #CJK UNIFIED IDEOGRAPH +0xE3B8 0x7FA3 #CJK UNIFIED IDEOGRAPH +0xE3B9 0x7FAF #CJK UNIFIED IDEOGRAPH +0xE3BA 0x7FB2 #CJK UNIFIED IDEOGRAPH +0xE3BB 0x7FB9 #CJK UNIFIED IDEOGRAPH +0xE3BC 0x7FAE #CJK UNIFIED IDEOGRAPH +0xE3BD 0x7FB6 #CJK UNIFIED IDEOGRAPH +0xE3BE 0x7FB8 #CJK UNIFIED IDEOGRAPH +0xE3BF 0x8B71 #CJK UNIFIED IDEOGRAPH +0xE3C0 0x7FC5 #CJK UNIFIED IDEOGRAPH +0xE3C1 0x7FC6 #CJK UNIFIED IDEOGRAPH +0xE3C2 0x7FCA #CJK UNIFIED IDEOGRAPH +0xE3C3 0x7FD5 #CJK UNIFIED IDEOGRAPH +0xE3C4 0x7FD4 #CJK UNIFIED IDEOGRAPH +0xE3C5 0x7FE1 #CJK UNIFIED IDEOGRAPH +0xE3C6 0x7FE6 #CJK UNIFIED IDEOGRAPH +0xE3C7 0x7FE9 #CJK UNIFIED IDEOGRAPH +0xE3C8 0x7FF3 #CJK UNIFIED IDEOGRAPH +0xE3C9 0x7FF9 #CJK UNIFIED IDEOGRAPH +0xE3CA 0x98DC #CJK UNIFIED IDEOGRAPH +0xE3CB 0x8006 #CJK UNIFIED IDEOGRAPH +0xE3CC 0x8004 #CJK UNIFIED IDEOGRAPH +0xE3CD 0x800B #CJK UNIFIED IDEOGRAPH +0xE3CE 0x8012 #CJK UNIFIED IDEOGRAPH +0xE3CF 0x8018 #CJK UNIFIED IDEOGRAPH +0xE3D0 0x8019 #CJK UNIFIED IDEOGRAPH +0xE3D1 0x801C #CJK UNIFIED IDEOGRAPH +0xE3D2 0x8021 #CJK UNIFIED IDEOGRAPH +0xE3D3 0x8028 #CJK UNIFIED IDEOGRAPH +0xE3D4 0x803F #CJK UNIFIED IDEOGRAPH +0xE3D5 0x803B #CJK UNIFIED IDEOGRAPH +0xE3D6 0x804A #CJK UNIFIED IDEOGRAPH +0xE3D7 0x8046 #CJK UNIFIED IDEOGRAPH +0xE3D8 0x8052 #CJK UNIFIED IDEOGRAPH +0xE3D9 0x8058 #CJK UNIFIED IDEOGRAPH +0xE3DA 0x805A #CJK UNIFIED IDEOGRAPH +0xE3DB 0x805F #CJK UNIFIED IDEOGRAPH +0xE3DC 0x8062 #CJK UNIFIED IDEOGRAPH +0xE3DD 0x8068 #CJK UNIFIED IDEOGRAPH +0xE3DE 0x8073 #CJK UNIFIED IDEOGRAPH +0xE3DF 0x8072 #CJK UNIFIED IDEOGRAPH +0xE3E0 0x8070 #CJK UNIFIED IDEOGRAPH +0xE3E1 0x8076 #CJK UNIFIED IDEOGRAPH +0xE3E2 0x8079 #CJK UNIFIED IDEOGRAPH +0xE3E3 0x807D #CJK UNIFIED IDEOGRAPH +0xE3E4 0x807F #CJK UNIFIED IDEOGRAPH +0xE3E5 0x8084 #CJK UNIFIED IDEOGRAPH +0xE3E6 0x8086 #CJK UNIFIED IDEOGRAPH +0xE3E7 0x8085 #CJK UNIFIED IDEOGRAPH +0xE3E8 0x809B #CJK UNIFIED IDEOGRAPH +0xE3E9 0x8093 #CJK UNIFIED IDEOGRAPH +0xE3EA 0x809A #CJK UNIFIED IDEOGRAPH +0xE3EB 0x80AD #CJK UNIFIED IDEOGRAPH +0xE3EC 0x5190 #CJK UNIFIED IDEOGRAPH +0xE3ED 0x80AC #CJK UNIFIED IDEOGRAPH +0xE3EE 0x80DB #CJK UNIFIED IDEOGRAPH +0xE3EF 0x80E5 #CJK UNIFIED IDEOGRAPH +0xE3F0 0x80D9 #CJK UNIFIED IDEOGRAPH +0xE3F1 0x80DD #CJK UNIFIED IDEOGRAPH +0xE3F2 0x80C4 #CJK UNIFIED IDEOGRAPH +0xE3F3 0x80DA #CJK UNIFIED IDEOGRAPH +0xE3F4 0x80D6 #CJK UNIFIED IDEOGRAPH +0xE3F5 0x8109 #CJK UNIFIED IDEOGRAPH +0xE3F6 0x80EF #CJK UNIFIED IDEOGRAPH +0xE3F7 0x80F1 #CJK UNIFIED IDEOGRAPH +0xE3F8 0x811B #CJK UNIFIED IDEOGRAPH +0xE3F9 0x8129 #CJK UNIFIED IDEOGRAPH +0xE3FA 0x8123 #CJK UNIFIED IDEOGRAPH +0xE3FB 0x812F #CJK UNIFIED IDEOGRAPH +0xE3FC 0x814B #CJK UNIFIED IDEOGRAPH +0xE440 0x968B #CJK UNIFIED IDEOGRAPH +0xE441 0x8146 #CJK UNIFIED IDEOGRAPH +0xE442 0x813E #CJK UNIFIED IDEOGRAPH +0xE443 0x8153 #CJK UNIFIED IDEOGRAPH +0xE444 0x8151 #CJK UNIFIED IDEOGRAPH +0xE445 0x80FC #CJK UNIFIED IDEOGRAPH +0xE446 0x8171 #CJK UNIFIED IDEOGRAPH +0xE447 0x816E #CJK UNIFIED IDEOGRAPH +0xE448 0x8165 #CJK UNIFIED IDEOGRAPH +0xE449 0x8166 #CJK UNIFIED IDEOGRAPH +0xE44A 0x8174 #CJK UNIFIED IDEOGRAPH +0xE44B 0x8183 #CJK UNIFIED IDEOGRAPH +0xE44C 0x8188 #CJK UNIFIED IDEOGRAPH +0xE44D 0x818A #CJK UNIFIED IDEOGRAPH +0xE44E 0x8180 #CJK UNIFIED IDEOGRAPH +0xE44F 0x8182 #CJK UNIFIED IDEOGRAPH +0xE450 0x81A0 #CJK UNIFIED IDEOGRAPH +0xE451 0x8195 #CJK UNIFIED IDEOGRAPH +0xE452 0x81A4 #CJK UNIFIED IDEOGRAPH +0xE453 0x81A3 #CJK UNIFIED IDEOGRAPH +0xE454 0x815F #CJK UNIFIED IDEOGRAPH +0xE455 0x8193 #CJK UNIFIED IDEOGRAPH +0xE456 0x81A9 #CJK UNIFIED IDEOGRAPH +0xE457 0x81B0 #CJK UNIFIED IDEOGRAPH +0xE458 0x81B5 #CJK UNIFIED IDEOGRAPH +0xE459 0x81BE #CJK UNIFIED IDEOGRAPH +0xE45A 0x81B8 #CJK UNIFIED IDEOGRAPH +0xE45B 0x81BD #CJK UNIFIED IDEOGRAPH +0xE45C 0x81C0 #CJK UNIFIED IDEOGRAPH +0xE45D 0x81C2 #CJK UNIFIED IDEOGRAPH +0xE45E 0x81BA #CJK UNIFIED IDEOGRAPH +0xE45F 0x81C9 #CJK UNIFIED IDEOGRAPH +0xE460 0x81CD #CJK UNIFIED IDEOGRAPH +0xE461 0x81D1 #CJK UNIFIED IDEOGRAPH +0xE462 0x81D9 #CJK UNIFIED IDEOGRAPH +0xE463 0x81D8 #CJK UNIFIED IDEOGRAPH +0xE464 0x81C8 #CJK UNIFIED IDEOGRAPH +0xE465 0x81DA #CJK UNIFIED IDEOGRAPH +0xE466 0x81DF #CJK UNIFIED IDEOGRAPH +0xE467 0x81E0 #CJK UNIFIED IDEOGRAPH +0xE468 0x81E7 #CJK UNIFIED IDEOGRAPH +0xE469 0x81FA #CJK UNIFIED IDEOGRAPH +0xE46A 0x81FB #CJK UNIFIED IDEOGRAPH +0xE46B 0x81FE #CJK UNIFIED IDEOGRAPH +0xE46C 0x8201 #CJK UNIFIED IDEOGRAPH +0xE46D 0x8202 #CJK UNIFIED IDEOGRAPH +0xE46E 0x8205 #CJK UNIFIED IDEOGRAPH +0xE46F 0x8207 #CJK UNIFIED IDEOGRAPH +0xE470 0x820A #CJK UNIFIED IDEOGRAPH +0xE471 0x820D #CJK UNIFIED IDEOGRAPH +0xE472 0x8210 #CJK UNIFIED IDEOGRAPH +0xE473 0x8216 #CJK UNIFIED IDEOGRAPH +0xE474 0x8229 #CJK UNIFIED IDEOGRAPH +0xE475 0x822B #CJK UNIFIED IDEOGRAPH +0xE476 0x8238 #CJK UNIFIED IDEOGRAPH +0xE477 0x8233 #CJK UNIFIED IDEOGRAPH +0xE478 0x8240 #CJK UNIFIED IDEOGRAPH +0xE479 0x8259 #CJK UNIFIED IDEOGRAPH +0xE47A 0x8258 #CJK UNIFIED IDEOGRAPH +0xE47B 0x825D #CJK UNIFIED IDEOGRAPH +0xE47C 0x825A #CJK UNIFIED IDEOGRAPH +0xE47D 0x825F #CJK UNIFIED IDEOGRAPH +0xE47E 0x8264 #CJK UNIFIED IDEOGRAPH +0xE480 0x8262 #CJK UNIFIED IDEOGRAPH +0xE481 0x8268 #CJK UNIFIED IDEOGRAPH +0xE482 0x826A #CJK UNIFIED IDEOGRAPH +0xE483 0x826B #CJK UNIFIED IDEOGRAPH +0xE484 0x822E #CJK UNIFIED IDEOGRAPH +0xE485 0x8271 #CJK UNIFIED IDEOGRAPH +0xE486 0x8277 #CJK UNIFIED IDEOGRAPH +0xE487 0x8278 #CJK UNIFIED IDEOGRAPH +0xE488 0x827E #CJK UNIFIED IDEOGRAPH +0xE489 0x828D #CJK UNIFIED IDEOGRAPH +0xE48A 0x8292 #CJK UNIFIED IDEOGRAPH +0xE48B 0x82AB #CJK UNIFIED IDEOGRAPH +0xE48C 0x829F #CJK UNIFIED IDEOGRAPH +0xE48D 0x82BB #CJK UNIFIED IDEOGRAPH +0xE48E 0x82AC #CJK UNIFIED IDEOGRAPH +0xE48F 0x82E1 #CJK UNIFIED IDEOGRAPH +0xE490 0x82E3 #CJK UNIFIED IDEOGRAPH +0xE491 0x82DF #CJK UNIFIED IDEOGRAPH +0xE492 0x82D2 #CJK UNIFIED IDEOGRAPH +0xE493 0x82F4 #CJK UNIFIED IDEOGRAPH +0xE494 0x82F3 #CJK UNIFIED IDEOGRAPH +0xE495 0x82FA #CJK UNIFIED IDEOGRAPH +0xE496 0x8393 #CJK UNIFIED IDEOGRAPH +0xE497 0x8303 #CJK UNIFIED IDEOGRAPH +0xE498 0x82FB #CJK UNIFIED IDEOGRAPH +0xE499 0x82F9 #CJK UNIFIED IDEOGRAPH +0xE49A 0x82DE #CJK UNIFIED IDEOGRAPH +0xE49B 0x8306 #CJK UNIFIED IDEOGRAPH +0xE49C 0x82DC #CJK UNIFIED IDEOGRAPH +0xE49D 0x8309 #CJK UNIFIED IDEOGRAPH +0xE49E 0x82D9 #CJK UNIFIED IDEOGRAPH +0xE49F 0x8335 #CJK UNIFIED IDEOGRAPH +0xE4A0 0x8334 #CJK UNIFIED IDEOGRAPH +0xE4A1 0x8316 #CJK UNIFIED IDEOGRAPH +0xE4A2 0x8332 #CJK UNIFIED IDEOGRAPH +0xE4A3 0x8331 #CJK UNIFIED IDEOGRAPH +0xE4A4 0x8340 #CJK UNIFIED IDEOGRAPH +0xE4A5 0x8339 #CJK UNIFIED IDEOGRAPH +0xE4A6 0x8350 #CJK UNIFIED IDEOGRAPH +0xE4A7 0x8345 #CJK UNIFIED IDEOGRAPH +0xE4A8 0x832F #CJK UNIFIED IDEOGRAPH +0xE4A9 0x832B #CJK UNIFIED IDEOGRAPH +0xE4AA 0x8317 #CJK UNIFIED IDEOGRAPH +0xE4AB 0x8318 #CJK UNIFIED IDEOGRAPH +0xE4AC 0x8385 #CJK UNIFIED IDEOGRAPH +0xE4AD 0x839A #CJK UNIFIED IDEOGRAPH +0xE4AE 0x83AA #CJK UNIFIED IDEOGRAPH +0xE4AF 0x839F #CJK UNIFIED IDEOGRAPH +0xE4B0 0x83A2 #CJK UNIFIED IDEOGRAPH +0xE4B1 0x8396 #CJK UNIFIED IDEOGRAPH +0xE4B2 0x8323 #CJK UNIFIED IDEOGRAPH +0xE4B3 0x838E #CJK UNIFIED IDEOGRAPH +0xE4B4 0x8387 #CJK UNIFIED IDEOGRAPH +0xE4B5 0x838A #CJK UNIFIED IDEOGRAPH +0xE4B6 0x837C #CJK UNIFIED IDEOGRAPH +0xE4B7 0x83B5 #CJK UNIFIED IDEOGRAPH +0xE4B8 0x8373 #CJK UNIFIED IDEOGRAPH +0xE4B9 0x8375 #CJK UNIFIED IDEOGRAPH +0xE4BA 0x83A0 #CJK UNIFIED IDEOGRAPH +0xE4BB 0x8389 #CJK UNIFIED IDEOGRAPH +0xE4BC 0x83A8 #CJK UNIFIED IDEOGRAPH +0xE4BD 0x83F4 #CJK UNIFIED IDEOGRAPH +0xE4BE 0x8413 #CJK UNIFIED IDEOGRAPH +0xE4BF 0x83EB #CJK UNIFIED IDEOGRAPH +0xE4C0 0x83CE #CJK UNIFIED IDEOGRAPH +0xE4C1 0x83FD #CJK UNIFIED IDEOGRAPH +0xE4C2 0x8403 #CJK UNIFIED IDEOGRAPH +0xE4C3 0x83D8 #CJK UNIFIED IDEOGRAPH +0xE4C4 0x840B #CJK UNIFIED IDEOGRAPH +0xE4C5 0x83C1 #CJK UNIFIED IDEOGRAPH +0xE4C6 0x83F7 #CJK UNIFIED IDEOGRAPH +0xE4C7 0x8407 #CJK UNIFIED IDEOGRAPH +0xE4C8 0x83E0 #CJK UNIFIED IDEOGRAPH +0xE4C9 0x83F2 #CJK UNIFIED IDEOGRAPH +0xE4CA 0x840D #CJK UNIFIED IDEOGRAPH +0xE4CB 0x8422 #CJK UNIFIED IDEOGRAPH +0xE4CC 0x8420 #CJK UNIFIED IDEOGRAPH +0xE4CD 0x83BD #CJK UNIFIED IDEOGRAPH +0xE4CE 0x8438 #CJK UNIFIED IDEOGRAPH +0xE4CF 0x8506 #CJK UNIFIED IDEOGRAPH +0xE4D0 0x83FB #CJK UNIFIED IDEOGRAPH +0xE4D1 0x846D #CJK UNIFIED IDEOGRAPH +0xE4D2 0x842A #CJK UNIFIED IDEOGRAPH +0xE4D3 0x843C #CJK UNIFIED IDEOGRAPH +0xE4D4 0x855A #CJK UNIFIED IDEOGRAPH +0xE4D5 0x8484 #CJK UNIFIED IDEOGRAPH +0xE4D6 0x8477 #CJK UNIFIED IDEOGRAPH +0xE4D7 0x846B #CJK UNIFIED IDEOGRAPH +0xE4D8 0x84AD #CJK UNIFIED IDEOGRAPH +0xE4D9 0x846E #CJK UNIFIED IDEOGRAPH +0xE4DA 0x8482 #CJK UNIFIED IDEOGRAPH +0xE4DB 0x8469 #CJK UNIFIED IDEOGRAPH +0xE4DC 0x8446 #CJK UNIFIED IDEOGRAPH +0xE4DD 0x842C #CJK UNIFIED IDEOGRAPH +0xE4DE 0x846F #CJK UNIFIED IDEOGRAPH +0xE4DF 0x8479 #CJK UNIFIED IDEOGRAPH +0xE4E0 0x8435 #CJK UNIFIED IDEOGRAPH +0xE4E1 0x84CA #CJK UNIFIED IDEOGRAPH +0xE4E2 0x8462 #CJK UNIFIED IDEOGRAPH +0xE4E3 0x84B9 #CJK UNIFIED IDEOGRAPH +0xE4E4 0x84BF #CJK UNIFIED IDEOGRAPH +0xE4E5 0x849F #CJK UNIFIED IDEOGRAPH +0xE4E6 0x84D9 #CJK UNIFIED IDEOGRAPH +0xE4E7 0x84CD #CJK UNIFIED IDEOGRAPH +0xE4E8 0x84BB #CJK UNIFIED IDEOGRAPH +0xE4E9 0x84DA #CJK UNIFIED IDEOGRAPH +0xE4EA 0x84D0 #CJK UNIFIED IDEOGRAPH +0xE4EB 0x84C1 #CJK UNIFIED IDEOGRAPH +0xE4EC 0x84C6 #CJK UNIFIED IDEOGRAPH +0xE4ED 0x84D6 #CJK UNIFIED IDEOGRAPH +0xE4EE 0x84A1 #CJK UNIFIED IDEOGRAPH +0xE4EF 0x8521 #CJK UNIFIED IDEOGRAPH +0xE4F0 0x84FF #CJK UNIFIED IDEOGRAPH +0xE4F1 0x84F4 #CJK UNIFIED IDEOGRAPH +0xE4F2 0x8517 #CJK UNIFIED IDEOGRAPH +0xE4F3 0x8518 #CJK UNIFIED IDEOGRAPH +0xE4F4 0x852C #CJK UNIFIED IDEOGRAPH +0xE4F5 0x851F #CJK UNIFIED IDEOGRAPH +0xE4F6 0x8515 #CJK UNIFIED IDEOGRAPH +0xE4F7 0x8514 #CJK UNIFIED IDEOGRAPH +0xE4F8 0x84FC #CJK UNIFIED IDEOGRAPH +0xE4F9 0x8540 #CJK UNIFIED IDEOGRAPH +0xE4FA 0x8563 #CJK UNIFIED IDEOGRAPH +0xE4FB 0x8558 #CJK UNIFIED IDEOGRAPH +0xE4FC 0x8548 #CJK UNIFIED IDEOGRAPH +0xE540 0x8541 #CJK UNIFIED IDEOGRAPH +0xE541 0x8602 #CJK UNIFIED IDEOGRAPH +0xE542 0x854B #CJK UNIFIED IDEOGRAPH +0xE543 0x8555 #CJK UNIFIED IDEOGRAPH +0xE544 0x8580 #CJK UNIFIED IDEOGRAPH +0xE545 0x85A4 #CJK UNIFIED IDEOGRAPH +0xE546 0x8588 #CJK UNIFIED IDEOGRAPH +0xE547 0x8591 #CJK UNIFIED IDEOGRAPH +0xE548 0x858A #CJK UNIFIED IDEOGRAPH +0xE549 0x85A8 #CJK UNIFIED IDEOGRAPH +0xE54A 0x856D #CJK UNIFIED IDEOGRAPH +0xE54B 0x8594 #CJK UNIFIED IDEOGRAPH +0xE54C 0x859B #CJK UNIFIED IDEOGRAPH +0xE54D 0x85EA #CJK UNIFIED IDEOGRAPH +0xE54E 0x8587 #CJK UNIFIED IDEOGRAPH +0xE54F 0x859C #CJK UNIFIED IDEOGRAPH +0xE550 0x8577 #CJK UNIFIED IDEOGRAPH +0xE551 0x857E #CJK UNIFIED IDEOGRAPH +0xE552 0x8590 #CJK UNIFIED IDEOGRAPH +0xE553 0x85C9 #CJK UNIFIED IDEOGRAPH +0xE554 0x85BA #CJK UNIFIED IDEOGRAPH +0xE555 0x85CF #CJK UNIFIED IDEOGRAPH +0xE556 0x85B9 #CJK UNIFIED IDEOGRAPH +0xE557 0x85D0 #CJK UNIFIED IDEOGRAPH +0xE558 0x85D5 #CJK UNIFIED IDEOGRAPH +0xE559 0x85DD #CJK UNIFIED IDEOGRAPH +0xE55A 0x85E5 #CJK UNIFIED IDEOGRAPH +0xE55B 0x85DC #CJK UNIFIED IDEOGRAPH +0xE55C 0x85F9 #CJK UNIFIED IDEOGRAPH +0xE55D 0x860A #CJK UNIFIED IDEOGRAPH +0xE55E 0x8613 #CJK UNIFIED IDEOGRAPH +0xE55F 0x860B #CJK UNIFIED IDEOGRAPH +0xE560 0x85FE #CJK UNIFIED IDEOGRAPH +0xE561 0x85FA #CJK UNIFIED IDEOGRAPH +0xE562 0x8606 #CJK UNIFIED IDEOGRAPH +0xE563 0x8622 #CJK UNIFIED IDEOGRAPH +0xE564 0x861A #CJK UNIFIED IDEOGRAPH +0xE565 0x8630 #CJK UNIFIED IDEOGRAPH +0xE566 0x863F #CJK UNIFIED IDEOGRAPH +0xE567 0x864D #CJK UNIFIED IDEOGRAPH +0xE568 0x4E55 #CJK UNIFIED IDEOGRAPH +0xE569 0x8654 #CJK UNIFIED IDEOGRAPH +0xE56A 0x865F #CJK UNIFIED IDEOGRAPH +0xE56B 0x8667 #CJK UNIFIED IDEOGRAPH +0xE56C 0x8671 #CJK UNIFIED IDEOGRAPH +0xE56D 0x8693 #CJK UNIFIED IDEOGRAPH +0xE56E 0x86A3 #CJK UNIFIED IDEOGRAPH +0xE56F 0x86A9 #CJK UNIFIED IDEOGRAPH +0xE570 0x86AA #CJK UNIFIED IDEOGRAPH +0xE571 0x868B #CJK UNIFIED IDEOGRAPH +0xE572 0x868C #CJK UNIFIED IDEOGRAPH +0xE573 0x86B6 #CJK UNIFIED IDEOGRAPH +0xE574 0x86AF #CJK UNIFIED IDEOGRAPH +0xE575 0x86C4 #CJK UNIFIED IDEOGRAPH +0xE576 0x86C6 #CJK UNIFIED IDEOGRAPH +0xE577 0x86B0 #CJK UNIFIED IDEOGRAPH +0xE578 0x86C9 #CJK UNIFIED IDEOGRAPH +0xE579 0x8823 #CJK UNIFIED IDEOGRAPH +0xE57A 0x86AB #CJK UNIFIED IDEOGRAPH +0xE57B 0x86D4 #CJK UNIFIED IDEOGRAPH +0xE57C 0x86DE #CJK UNIFIED IDEOGRAPH +0xE57D 0x86E9 #CJK UNIFIED IDEOGRAPH +0xE57E 0x86EC #CJK UNIFIED IDEOGRAPH +0xE580 0x86DF #CJK UNIFIED IDEOGRAPH +0xE581 0x86DB #CJK UNIFIED IDEOGRAPH +0xE582 0x86EF #CJK UNIFIED IDEOGRAPH +0xE583 0x8712 #CJK UNIFIED IDEOGRAPH +0xE584 0x8706 #CJK UNIFIED IDEOGRAPH +0xE585 0x8708 #CJK UNIFIED IDEOGRAPH +0xE586 0x8700 #CJK UNIFIED IDEOGRAPH +0xE587 0x8703 #CJK UNIFIED IDEOGRAPH +0xE588 0x86FB #CJK UNIFIED IDEOGRAPH +0xE589 0x8711 #CJK UNIFIED IDEOGRAPH +0xE58A 0x8709 #CJK UNIFIED IDEOGRAPH +0xE58B 0x870D #CJK UNIFIED IDEOGRAPH +0xE58C 0x86F9 #CJK UNIFIED IDEOGRAPH +0xE58D 0x870A #CJK UNIFIED IDEOGRAPH +0xE58E 0x8734 #CJK UNIFIED IDEOGRAPH +0xE58F 0x873F #CJK UNIFIED IDEOGRAPH +0xE590 0x8737 #CJK UNIFIED IDEOGRAPH +0xE591 0x873B #CJK UNIFIED IDEOGRAPH +0xE592 0x8725 #CJK UNIFIED IDEOGRAPH +0xE593 0x8729 #CJK UNIFIED IDEOGRAPH +0xE594 0x871A #CJK UNIFIED IDEOGRAPH +0xE595 0x8760 #CJK UNIFIED IDEOGRAPH +0xE596 0x875F #CJK UNIFIED IDEOGRAPH +0xE597 0x8778 #CJK UNIFIED IDEOGRAPH +0xE598 0x874C #CJK UNIFIED IDEOGRAPH +0xE599 0x874E #CJK UNIFIED IDEOGRAPH +0xE59A 0x8774 #CJK UNIFIED IDEOGRAPH +0xE59B 0x8757 #CJK UNIFIED IDEOGRAPH +0xE59C 0x8768 #CJK UNIFIED IDEOGRAPH +0xE59D 0x876E #CJK UNIFIED IDEOGRAPH +0xE59E 0x8759 #CJK UNIFIED IDEOGRAPH +0xE59F 0x8753 #CJK UNIFIED IDEOGRAPH +0xE5A0 0x8763 #CJK UNIFIED IDEOGRAPH +0xE5A1 0x876A #CJK UNIFIED IDEOGRAPH +0xE5A2 0x8805 #CJK UNIFIED IDEOGRAPH +0xE5A3 0x87A2 #CJK UNIFIED IDEOGRAPH +0xE5A4 0x879F #CJK UNIFIED IDEOGRAPH +0xE5A5 0x8782 #CJK UNIFIED IDEOGRAPH +0xE5A6 0x87AF #CJK UNIFIED IDEOGRAPH +0xE5A7 0x87CB #CJK UNIFIED IDEOGRAPH +0xE5A8 0x87BD #CJK UNIFIED IDEOGRAPH +0xE5A9 0x87C0 #CJK UNIFIED IDEOGRAPH +0xE5AA 0x87D0 #CJK UNIFIED IDEOGRAPH +0xE5AB 0x96D6 #CJK UNIFIED IDEOGRAPH +0xE5AC 0x87AB #CJK UNIFIED IDEOGRAPH +0xE5AD 0x87C4 #CJK UNIFIED IDEOGRAPH +0xE5AE 0x87B3 #CJK UNIFIED IDEOGRAPH +0xE5AF 0x87C7 #CJK UNIFIED IDEOGRAPH +0xE5B0 0x87C6 #CJK UNIFIED IDEOGRAPH +0xE5B1 0x87BB #CJK UNIFIED IDEOGRAPH +0xE5B2 0x87EF #CJK UNIFIED IDEOGRAPH +0xE5B3 0x87F2 #CJK UNIFIED IDEOGRAPH +0xE5B4 0x87E0 #CJK UNIFIED IDEOGRAPH +0xE5B5 0x880F #CJK UNIFIED IDEOGRAPH +0xE5B6 0x880D #CJK UNIFIED IDEOGRAPH +0xE5B7 0x87FE #CJK UNIFIED IDEOGRAPH +0xE5B8 0x87F6 #CJK UNIFIED IDEOGRAPH +0xE5B9 0x87F7 #CJK UNIFIED IDEOGRAPH +0xE5BA 0x880E #CJK UNIFIED IDEOGRAPH +0xE5BB 0x87D2 #CJK UNIFIED IDEOGRAPH +0xE5BC 0x8811 #CJK UNIFIED IDEOGRAPH +0xE5BD 0x8816 #CJK UNIFIED IDEOGRAPH +0xE5BE 0x8815 #CJK UNIFIED IDEOGRAPH +0xE5BF 0x8822 #CJK UNIFIED IDEOGRAPH +0xE5C0 0x8821 #CJK UNIFIED IDEOGRAPH +0xE5C1 0x8831 #CJK UNIFIED IDEOGRAPH +0xE5C2 0x8836 #CJK UNIFIED IDEOGRAPH +0xE5C3 0x8839 #CJK UNIFIED IDEOGRAPH +0xE5C4 0x8827 #CJK UNIFIED IDEOGRAPH +0xE5C5 0x883B #CJK UNIFIED IDEOGRAPH +0xE5C6 0x8844 #CJK UNIFIED IDEOGRAPH +0xE5C7 0x8842 #CJK UNIFIED IDEOGRAPH +0xE5C8 0x8852 #CJK UNIFIED IDEOGRAPH +0xE5C9 0x8859 #CJK UNIFIED IDEOGRAPH +0xE5CA 0x885E #CJK UNIFIED IDEOGRAPH +0xE5CB 0x8862 #CJK UNIFIED IDEOGRAPH +0xE5CC 0x886B #CJK UNIFIED IDEOGRAPH +0xE5CD 0x8881 #CJK UNIFIED IDEOGRAPH +0xE5CE 0x887E #CJK UNIFIED IDEOGRAPH +0xE5CF 0x889E #CJK UNIFIED IDEOGRAPH +0xE5D0 0x8875 #CJK UNIFIED IDEOGRAPH +0xE5D1 0x887D #CJK UNIFIED IDEOGRAPH +0xE5D2 0x88B5 #CJK UNIFIED IDEOGRAPH +0xE5D3 0x8872 #CJK UNIFIED IDEOGRAPH +0xE5D4 0x8882 #CJK UNIFIED IDEOGRAPH +0xE5D5 0x8897 #CJK UNIFIED IDEOGRAPH +0xE5D6 0x8892 #CJK UNIFIED IDEOGRAPH +0xE5D7 0x88AE #CJK UNIFIED IDEOGRAPH +0xE5D8 0x8899 #CJK UNIFIED IDEOGRAPH +0xE5D9 0x88A2 #CJK UNIFIED IDEOGRAPH +0xE5DA 0x888D #CJK UNIFIED IDEOGRAPH +0xE5DB 0x88A4 #CJK UNIFIED IDEOGRAPH +0xE5DC 0x88B0 #CJK UNIFIED IDEOGRAPH +0xE5DD 0x88BF #CJK UNIFIED IDEOGRAPH +0xE5DE 0x88B1 #CJK UNIFIED IDEOGRAPH +0xE5DF 0x88C3 #CJK UNIFIED IDEOGRAPH +0xE5E0 0x88C4 #CJK UNIFIED IDEOGRAPH +0xE5E1 0x88D4 #CJK UNIFIED IDEOGRAPH +0xE5E2 0x88D8 #CJK UNIFIED IDEOGRAPH +0xE5E3 0x88D9 #CJK UNIFIED IDEOGRAPH +0xE5E4 0x88DD #CJK UNIFIED IDEOGRAPH +0xE5E5 0x88F9 #CJK UNIFIED IDEOGRAPH +0xE5E6 0x8902 #CJK UNIFIED IDEOGRAPH +0xE5E7 0x88FC #CJK UNIFIED IDEOGRAPH +0xE5E8 0x88F4 #CJK UNIFIED IDEOGRAPH +0xE5E9 0x88E8 #CJK UNIFIED IDEOGRAPH +0xE5EA 0x88F2 #CJK UNIFIED IDEOGRAPH +0xE5EB 0x8904 #CJK UNIFIED IDEOGRAPH +0xE5EC 0x890C #CJK UNIFIED IDEOGRAPH +0xE5ED 0x890A #CJK UNIFIED IDEOGRAPH +0xE5EE 0x8913 #CJK UNIFIED IDEOGRAPH +0xE5EF 0x8943 #CJK UNIFIED IDEOGRAPH +0xE5F0 0x891E #CJK UNIFIED IDEOGRAPH +0xE5F1 0x8925 #CJK UNIFIED IDEOGRAPH +0xE5F2 0x892A #CJK UNIFIED IDEOGRAPH +0xE5F3 0x892B #CJK UNIFIED IDEOGRAPH +0xE5F4 0x8941 #CJK UNIFIED IDEOGRAPH +0xE5F5 0x8944 #CJK UNIFIED IDEOGRAPH +0xE5F6 0x893B #CJK UNIFIED IDEOGRAPH +0xE5F7 0x8936 #CJK UNIFIED IDEOGRAPH +0xE5F8 0x8938 #CJK UNIFIED IDEOGRAPH +0xE5F9 0x894C #CJK UNIFIED IDEOGRAPH +0xE5FA 0x891D #CJK UNIFIED IDEOGRAPH +0xE5FB 0x8960 #CJK UNIFIED IDEOGRAPH +0xE5FC 0x895E #CJK UNIFIED IDEOGRAPH +0xE640 0x8966 #CJK UNIFIED IDEOGRAPH +0xE641 0x8964 #CJK UNIFIED IDEOGRAPH +0xE642 0x896D #CJK UNIFIED IDEOGRAPH +0xE643 0x896A #CJK UNIFIED IDEOGRAPH +0xE644 0x896F #CJK UNIFIED IDEOGRAPH +0xE645 0x8974 #CJK UNIFIED IDEOGRAPH +0xE646 0x8977 #CJK UNIFIED IDEOGRAPH +0xE647 0x897E #CJK UNIFIED IDEOGRAPH +0xE648 0x8983 #CJK UNIFIED IDEOGRAPH +0xE649 0x8988 #CJK UNIFIED IDEOGRAPH +0xE64A 0x898A #CJK UNIFIED IDEOGRAPH +0xE64B 0x8993 #CJK UNIFIED IDEOGRAPH +0xE64C 0x8998 #CJK UNIFIED IDEOGRAPH +0xE64D 0x89A1 #CJK UNIFIED IDEOGRAPH +0xE64E 0x89A9 #CJK UNIFIED IDEOGRAPH +0xE64F 0x89A6 #CJK UNIFIED IDEOGRAPH +0xE650 0x89AC #CJK UNIFIED IDEOGRAPH +0xE651 0x89AF #CJK UNIFIED IDEOGRAPH +0xE652 0x89B2 #CJK UNIFIED IDEOGRAPH +0xE653 0x89BA #CJK UNIFIED IDEOGRAPH +0xE654 0x89BD #CJK UNIFIED IDEOGRAPH +0xE655 0x89BF #CJK UNIFIED IDEOGRAPH +0xE656 0x89C0 #CJK UNIFIED IDEOGRAPH +0xE657 0x89DA #CJK UNIFIED IDEOGRAPH +0xE658 0x89DC #CJK UNIFIED IDEOGRAPH +0xE659 0x89DD #CJK UNIFIED IDEOGRAPH +0xE65A 0x89E7 #CJK UNIFIED IDEOGRAPH +0xE65B 0x89F4 #CJK UNIFIED IDEOGRAPH +0xE65C 0x89F8 #CJK UNIFIED IDEOGRAPH +0xE65D 0x8A03 #CJK UNIFIED IDEOGRAPH +0xE65E 0x8A16 #CJK UNIFIED IDEOGRAPH +0xE65F 0x8A10 #CJK UNIFIED IDEOGRAPH +0xE660 0x8A0C #CJK UNIFIED IDEOGRAPH +0xE661 0x8A1B #CJK UNIFIED IDEOGRAPH +0xE662 0x8A1D #CJK UNIFIED IDEOGRAPH +0xE663 0x8A25 #CJK UNIFIED IDEOGRAPH +0xE664 0x8A36 #CJK UNIFIED IDEOGRAPH +0xE665 0x8A41 #CJK UNIFIED IDEOGRAPH +0xE666 0x8A5B #CJK UNIFIED IDEOGRAPH +0xE667 0x8A52 #CJK UNIFIED IDEOGRAPH +0xE668 0x8A46 #CJK UNIFIED IDEOGRAPH +0xE669 0x8A48 #CJK UNIFIED IDEOGRAPH +0xE66A 0x8A7C #CJK UNIFIED IDEOGRAPH +0xE66B 0x8A6D #CJK UNIFIED IDEOGRAPH +0xE66C 0x8A6C #CJK UNIFIED IDEOGRAPH +0xE66D 0x8A62 #CJK UNIFIED IDEOGRAPH +0xE66E 0x8A85 #CJK UNIFIED IDEOGRAPH +0xE66F 0x8A82 #CJK UNIFIED IDEOGRAPH +0xE670 0x8A84 #CJK UNIFIED IDEOGRAPH +0xE671 0x8AA8 #CJK UNIFIED IDEOGRAPH +0xE672 0x8AA1 #CJK UNIFIED IDEOGRAPH +0xE673 0x8A91 #CJK UNIFIED IDEOGRAPH +0xE674 0x8AA5 #CJK UNIFIED IDEOGRAPH +0xE675 0x8AA6 #CJK UNIFIED IDEOGRAPH +0xE676 0x8A9A #CJK UNIFIED IDEOGRAPH +0xE677 0x8AA3 #CJK UNIFIED IDEOGRAPH +0xE678 0x8AC4 #CJK UNIFIED IDEOGRAPH +0xE679 0x8ACD #CJK UNIFIED IDEOGRAPH +0xE67A 0x8AC2 #CJK UNIFIED IDEOGRAPH +0xE67B 0x8ADA #CJK UNIFIED IDEOGRAPH +0xE67C 0x8AEB #CJK UNIFIED IDEOGRAPH +0xE67D 0x8AF3 #CJK UNIFIED IDEOGRAPH +0xE67E 0x8AE7 #CJK UNIFIED IDEOGRAPH +0xE680 0x8AE4 #CJK UNIFIED IDEOGRAPH +0xE681 0x8AF1 #CJK UNIFIED IDEOGRAPH +0xE682 0x8B14 #CJK UNIFIED IDEOGRAPH +0xE683 0x8AE0 #CJK UNIFIED IDEOGRAPH +0xE684 0x8AE2 #CJK UNIFIED IDEOGRAPH +0xE685 0x8AF7 #CJK UNIFIED IDEOGRAPH +0xE686 0x8ADE #CJK UNIFIED IDEOGRAPH +0xE687 0x8ADB #CJK UNIFIED IDEOGRAPH +0xE688 0x8B0C #CJK UNIFIED IDEOGRAPH +0xE689 0x8B07 #CJK UNIFIED IDEOGRAPH +0xE68A 0x8B1A #CJK UNIFIED IDEOGRAPH +0xE68B 0x8AE1 #CJK UNIFIED IDEOGRAPH +0xE68C 0x8B16 #CJK UNIFIED IDEOGRAPH +0xE68D 0x8B10 #CJK UNIFIED IDEOGRAPH +0xE68E 0x8B17 #CJK UNIFIED IDEOGRAPH +0xE68F 0x8B20 #CJK UNIFIED IDEOGRAPH +0xE690 0x8B33 #CJK UNIFIED IDEOGRAPH +0xE691 0x97AB #CJK UNIFIED IDEOGRAPH +0xE692 0x8B26 #CJK UNIFIED IDEOGRAPH +0xE693 0x8B2B #CJK UNIFIED IDEOGRAPH +0xE694 0x8B3E #CJK UNIFIED IDEOGRAPH +0xE695 0x8B28 #CJK UNIFIED IDEOGRAPH +0xE696 0x8B41 #CJK UNIFIED IDEOGRAPH +0xE697 0x8B4C #CJK UNIFIED IDEOGRAPH +0xE698 0x8B4F #CJK UNIFIED IDEOGRAPH +0xE699 0x8B4E #CJK UNIFIED IDEOGRAPH +0xE69A 0x8B49 #CJK UNIFIED IDEOGRAPH +0xE69B 0x8B56 #CJK UNIFIED IDEOGRAPH +0xE69C 0x8B5B #CJK UNIFIED IDEOGRAPH +0xE69D 0x8B5A #CJK UNIFIED IDEOGRAPH +0xE69E 0x8B6B #CJK UNIFIED IDEOGRAPH +0xE69F 0x8B5F #CJK UNIFIED IDEOGRAPH +0xE6A0 0x8B6C #CJK UNIFIED IDEOGRAPH +0xE6A1 0x8B6F #CJK UNIFIED IDEOGRAPH +0xE6A2 0x8B74 #CJK UNIFIED IDEOGRAPH +0xE6A3 0x8B7D #CJK UNIFIED IDEOGRAPH +0xE6A4 0x8B80 #CJK UNIFIED IDEOGRAPH +0xE6A5 0x8B8C #CJK UNIFIED IDEOGRAPH +0xE6A6 0x8B8E #CJK UNIFIED IDEOGRAPH +0xE6A7 0x8B92 #CJK UNIFIED IDEOGRAPH +0xE6A8 0x8B93 #CJK UNIFIED IDEOGRAPH +0xE6A9 0x8B96 #CJK UNIFIED IDEOGRAPH +0xE6AA 0x8B99 #CJK UNIFIED IDEOGRAPH +0xE6AB 0x8B9A #CJK UNIFIED IDEOGRAPH +0xE6AC 0x8C3A #CJK UNIFIED IDEOGRAPH +0xE6AD 0x8C41 #CJK UNIFIED IDEOGRAPH +0xE6AE 0x8C3F #CJK UNIFIED IDEOGRAPH +0xE6AF 0x8C48 #CJK UNIFIED IDEOGRAPH +0xE6B0 0x8C4C #CJK UNIFIED IDEOGRAPH +0xE6B1 0x8C4E #CJK UNIFIED IDEOGRAPH +0xE6B2 0x8C50 #CJK UNIFIED IDEOGRAPH +0xE6B3 0x8C55 #CJK UNIFIED IDEOGRAPH +0xE6B4 0x8C62 #CJK UNIFIED IDEOGRAPH +0xE6B5 0x8C6C #CJK UNIFIED IDEOGRAPH +0xE6B6 0x8C78 #CJK UNIFIED IDEOGRAPH +0xE6B7 0x8C7A #CJK UNIFIED IDEOGRAPH +0xE6B8 0x8C82 #CJK UNIFIED IDEOGRAPH +0xE6B9 0x8C89 #CJK UNIFIED IDEOGRAPH +0xE6BA 0x8C85 #CJK UNIFIED IDEOGRAPH +0xE6BB 0x8C8A #CJK UNIFIED IDEOGRAPH +0xE6BC 0x8C8D #CJK UNIFIED IDEOGRAPH +0xE6BD 0x8C8E #CJK UNIFIED IDEOGRAPH +0xE6BE 0x8C94 #CJK UNIFIED IDEOGRAPH +0xE6BF 0x8C7C #CJK UNIFIED IDEOGRAPH +0xE6C0 0x8C98 #CJK UNIFIED IDEOGRAPH +0xE6C1 0x621D #CJK UNIFIED IDEOGRAPH +0xE6C2 0x8CAD #CJK UNIFIED IDEOGRAPH +0xE6C3 0x8CAA #CJK UNIFIED IDEOGRAPH +0xE6C4 0x8CBD #CJK UNIFIED IDEOGRAPH +0xE6C5 0x8CB2 #CJK UNIFIED IDEOGRAPH +0xE6C6 0x8CB3 #CJK UNIFIED IDEOGRAPH +0xE6C7 0x8CAE #CJK UNIFIED IDEOGRAPH +0xE6C8 0x8CB6 #CJK UNIFIED IDEOGRAPH +0xE6C9 0x8CC8 #CJK UNIFIED IDEOGRAPH +0xE6CA 0x8CC1 #CJK UNIFIED IDEOGRAPH +0xE6CB 0x8CE4 #CJK UNIFIED IDEOGRAPH +0xE6CC 0x8CE3 #CJK UNIFIED IDEOGRAPH +0xE6CD 0x8CDA #CJK UNIFIED IDEOGRAPH +0xE6CE 0x8CFD #CJK UNIFIED IDEOGRAPH +0xE6CF 0x8CFA #CJK UNIFIED IDEOGRAPH +0xE6D0 0x8CFB #CJK UNIFIED IDEOGRAPH +0xE6D1 0x8D04 #CJK UNIFIED IDEOGRAPH +0xE6D2 0x8D05 #CJK UNIFIED IDEOGRAPH +0xE6D3 0x8D0A #CJK UNIFIED IDEOGRAPH +0xE6D4 0x8D07 #CJK UNIFIED IDEOGRAPH +0xE6D5 0x8D0F #CJK UNIFIED IDEOGRAPH +0xE6D6 0x8D0D #CJK UNIFIED IDEOGRAPH +0xE6D7 0x8D10 #CJK UNIFIED IDEOGRAPH +0xE6D8 0x9F4E #CJK UNIFIED IDEOGRAPH +0xE6D9 0x8D13 #CJK UNIFIED IDEOGRAPH +0xE6DA 0x8CCD #CJK UNIFIED IDEOGRAPH +0xE6DB 0x8D14 #CJK UNIFIED IDEOGRAPH +0xE6DC 0x8D16 #CJK UNIFIED IDEOGRAPH +0xE6DD 0x8D67 #CJK UNIFIED IDEOGRAPH +0xE6DE 0x8D6D #CJK UNIFIED IDEOGRAPH +0xE6DF 0x8D71 #CJK UNIFIED IDEOGRAPH +0xE6E0 0x8D73 #CJK UNIFIED IDEOGRAPH +0xE6E1 0x8D81 #CJK UNIFIED IDEOGRAPH +0xE6E2 0x8D99 #CJK UNIFIED IDEOGRAPH +0xE6E3 0x8DC2 #CJK UNIFIED IDEOGRAPH +0xE6E4 0x8DBE #CJK UNIFIED IDEOGRAPH +0xE6E5 0x8DBA #CJK UNIFIED IDEOGRAPH +0xE6E6 0x8DCF #CJK UNIFIED IDEOGRAPH +0xE6E7 0x8DDA #CJK UNIFIED IDEOGRAPH +0xE6E8 0x8DD6 #CJK UNIFIED IDEOGRAPH +0xE6E9 0x8DCC #CJK UNIFIED IDEOGRAPH +0xE6EA 0x8DDB #CJK UNIFIED IDEOGRAPH +0xE6EB 0x8DCB #CJK UNIFIED IDEOGRAPH +0xE6EC 0x8DEA #CJK UNIFIED IDEOGRAPH +0xE6ED 0x8DEB #CJK UNIFIED IDEOGRAPH +0xE6EE 0x8DDF #CJK UNIFIED IDEOGRAPH +0xE6EF 0x8DE3 #CJK UNIFIED IDEOGRAPH +0xE6F0 0x8DFC #CJK UNIFIED IDEOGRAPH +0xE6F1 0x8E08 #CJK UNIFIED IDEOGRAPH +0xE6F2 0x8E09 #CJK UNIFIED IDEOGRAPH +0xE6F3 0x8DFF #CJK UNIFIED IDEOGRAPH +0xE6F4 0x8E1D #CJK UNIFIED IDEOGRAPH +0xE6F5 0x8E1E #CJK UNIFIED IDEOGRAPH +0xE6F6 0x8E10 #CJK UNIFIED IDEOGRAPH +0xE6F7 0x8E1F #CJK UNIFIED IDEOGRAPH +0xE6F8 0x8E42 #CJK UNIFIED IDEOGRAPH +0xE6F9 0x8E35 #CJK UNIFIED IDEOGRAPH +0xE6FA 0x8E30 #CJK UNIFIED IDEOGRAPH +0xE6FB 0x8E34 #CJK UNIFIED IDEOGRAPH +0xE6FC 0x8E4A #CJK UNIFIED IDEOGRAPH +0xE740 0x8E47 #CJK UNIFIED IDEOGRAPH +0xE741 0x8E49 #CJK UNIFIED IDEOGRAPH +0xE742 0x8E4C #CJK UNIFIED IDEOGRAPH +0xE743 0x8E50 #CJK UNIFIED IDEOGRAPH +0xE744 0x8E48 #CJK UNIFIED IDEOGRAPH +0xE745 0x8E59 #CJK UNIFIED IDEOGRAPH +0xE746 0x8E64 #CJK UNIFIED IDEOGRAPH +0xE747 0x8E60 #CJK UNIFIED IDEOGRAPH +0xE748 0x8E2A #CJK UNIFIED IDEOGRAPH +0xE749 0x8E63 #CJK UNIFIED IDEOGRAPH +0xE74A 0x8E55 #CJK UNIFIED IDEOGRAPH +0xE74B 0x8E76 #CJK UNIFIED IDEOGRAPH +0xE74C 0x8E72 #CJK UNIFIED IDEOGRAPH +0xE74D 0x8E7C #CJK UNIFIED IDEOGRAPH +0xE74E 0x8E81 #CJK UNIFIED IDEOGRAPH +0xE74F 0x8E87 #CJK UNIFIED IDEOGRAPH +0xE750 0x8E85 #CJK UNIFIED IDEOGRAPH +0xE751 0x8E84 #CJK UNIFIED IDEOGRAPH +0xE752 0x8E8B #CJK UNIFIED IDEOGRAPH +0xE753 0x8E8A #CJK UNIFIED IDEOGRAPH +0xE754 0x8E93 #CJK UNIFIED IDEOGRAPH +0xE755 0x8E91 #CJK UNIFIED IDEOGRAPH +0xE756 0x8E94 #CJK UNIFIED IDEOGRAPH +0xE757 0x8E99 #CJK UNIFIED IDEOGRAPH +0xE758 0x8EAA #CJK UNIFIED IDEOGRAPH +0xE759 0x8EA1 #CJK UNIFIED IDEOGRAPH +0xE75A 0x8EAC #CJK UNIFIED IDEOGRAPH +0xE75B 0x8EB0 #CJK UNIFIED IDEOGRAPH +0xE75C 0x8EC6 #CJK UNIFIED IDEOGRAPH +0xE75D 0x8EB1 #CJK UNIFIED IDEOGRAPH +0xE75E 0x8EBE #CJK UNIFIED IDEOGRAPH +0xE75F 0x8EC5 #CJK UNIFIED IDEOGRAPH +0xE760 0x8EC8 #CJK UNIFIED IDEOGRAPH +0xE761 0x8ECB #CJK UNIFIED IDEOGRAPH +0xE762 0x8EDB #CJK UNIFIED IDEOGRAPH +0xE763 0x8EE3 #CJK UNIFIED IDEOGRAPH +0xE764 0x8EFC #CJK UNIFIED IDEOGRAPH +0xE765 0x8EFB #CJK UNIFIED IDEOGRAPH +0xE766 0x8EEB #CJK UNIFIED IDEOGRAPH +0xE767 0x8EFE #CJK UNIFIED IDEOGRAPH +0xE768 0x8F0A #CJK UNIFIED IDEOGRAPH +0xE769 0x8F05 #CJK UNIFIED IDEOGRAPH +0xE76A 0x8F15 #CJK UNIFIED IDEOGRAPH +0xE76B 0x8F12 #CJK UNIFIED IDEOGRAPH +0xE76C 0x8F19 #CJK UNIFIED IDEOGRAPH +0xE76D 0x8F13 #CJK UNIFIED IDEOGRAPH +0xE76E 0x8F1C #CJK UNIFIED IDEOGRAPH +0xE76F 0x8F1F #CJK UNIFIED IDEOGRAPH +0xE770 0x8F1B #CJK UNIFIED IDEOGRAPH +0xE771 0x8F0C #CJK UNIFIED IDEOGRAPH +0xE772 0x8F26 #CJK UNIFIED IDEOGRAPH +0xE773 0x8F33 #CJK UNIFIED IDEOGRAPH +0xE774 0x8F3B #CJK UNIFIED IDEOGRAPH +0xE775 0x8F39 #CJK UNIFIED IDEOGRAPH +0xE776 0x8F45 #CJK UNIFIED IDEOGRAPH +0xE777 0x8F42 #CJK UNIFIED IDEOGRAPH +0xE778 0x8F3E #CJK UNIFIED IDEOGRAPH +0xE779 0x8F4C #CJK UNIFIED IDEOGRAPH +0xE77A 0x8F49 #CJK UNIFIED IDEOGRAPH +0xE77B 0x8F46 #CJK UNIFIED IDEOGRAPH +0xE77C 0x8F4E #CJK UNIFIED IDEOGRAPH +0xE77D 0x8F57 #CJK UNIFIED IDEOGRAPH +0xE77E 0x8F5C #CJK UNIFIED IDEOGRAPH +0xE780 0x8F62 #CJK UNIFIED IDEOGRAPH +0xE781 0x8F63 #CJK UNIFIED IDEOGRAPH +0xE782 0x8F64 #CJK UNIFIED IDEOGRAPH +0xE783 0x8F9C #CJK UNIFIED IDEOGRAPH +0xE784 0x8F9F #CJK UNIFIED IDEOGRAPH +0xE785 0x8FA3 #CJK UNIFIED IDEOGRAPH +0xE786 0x8FAD #CJK UNIFIED IDEOGRAPH +0xE787 0x8FAF #CJK UNIFIED IDEOGRAPH +0xE788 0x8FB7 #CJK UNIFIED IDEOGRAPH +0xE789 0x8FDA #CJK UNIFIED IDEOGRAPH +0xE78A 0x8FE5 #CJK UNIFIED IDEOGRAPH +0xE78B 0x8FE2 #CJK UNIFIED IDEOGRAPH +0xE78C 0x8FEA #CJK UNIFIED IDEOGRAPH +0xE78D 0x8FEF #CJK UNIFIED IDEOGRAPH +0xE78E 0x9087 #CJK UNIFIED IDEOGRAPH +0xE78F 0x8FF4 #CJK UNIFIED IDEOGRAPH +0xE790 0x9005 #CJK UNIFIED IDEOGRAPH +0xE791 0x8FF9 #CJK UNIFIED IDEOGRAPH +0xE792 0x8FFA #CJK UNIFIED IDEOGRAPH +0xE793 0x9011 #CJK UNIFIED IDEOGRAPH +0xE794 0x9015 #CJK UNIFIED IDEOGRAPH +0xE795 0x9021 #CJK UNIFIED IDEOGRAPH +0xE796 0x900D #CJK UNIFIED IDEOGRAPH +0xE797 0x901E #CJK UNIFIED IDEOGRAPH +0xE798 0x9016 #CJK UNIFIED IDEOGRAPH +0xE799 0x900B #CJK UNIFIED IDEOGRAPH +0xE79A 0x9027 #CJK UNIFIED IDEOGRAPH +0xE79B 0x9036 #CJK UNIFIED IDEOGRAPH +0xE79C 0x9035 #CJK UNIFIED IDEOGRAPH +0xE79D 0x9039 #CJK UNIFIED IDEOGRAPH +0xE79E 0x8FF8 #CJK UNIFIED IDEOGRAPH +0xE79F 0x904F #CJK UNIFIED IDEOGRAPH +0xE7A0 0x9050 #CJK UNIFIED IDEOGRAPH +0xE7A1 0x9051 #CJK UNIFIED IDEOGRAPH +0xE7A2 0x9052 #CJK UNIFIED IDEOGRAPH +0xE7A3 0x900E #CJK UNIFIED IDEOGRAPH +0xE7A4 0x9049 #CJK UNIFIED IDEOGRAPH +0xE7A5 0x903E #CJK UNIFIED IDEOGRAPH +0xE7A6 0x9056 #CJK UNIFIED IDEOGRAPH +0xE7A7 0x9058 #CJK UNIFIED IDEOGRAPH +0xE7A8 0x905E #CJK UNIFIED IDEOGRAPH +0xE7A9 0x9068 #CJK UNIFIED IDEOGRAPH +0xE7AA 0x906F #CJK UNIFIED IDEOGRAPH +0xE7AB 0x9076 #CJK UNIFIED IDEOGRAPH +0xE7AC 0x96A8 #CJK UNIFIED IDEOGRAPH +0xE7AD 0x9072 #CJK UNIFIED IDEOGRAPH +0xE7AE 0x9082 #CJK UNIFIED IDEOGRAPH +0xE7AF 0x907D #CJK UNIFIED IDEOGRAPH +0xE7B0 0x9081 #CJK UNIFIED IDEOGRAPH +0xE7B1 0x9080 #CJK UNIFIED IDEOGRAPH +0xE7B2 0x908A #CJK UNIFIED IDEOGRAPH +0xE7B3 0x9089 #CJK UNIFIED IDEOGRAPH +0xE7B4 0x908F #CJK UNIFIED IDEOGRAPH +0xE7B5 0x90A8 #CJK UNIFIED IDEOGRAPH +0xE7B6 0x90AF #CJK UNIFIED IDEOGRAPH +0xE7B7 0x90B1 #CJK UNIFIED IDEOGRAPH +0xE7B8 0x90B5 #CJK UNIFIED IDEOGRAPH +0xE7B9 0x90E2 #CJK UNIFIED IDEOGRAPH +0xE7BA 0x90E4 #CJK UNIFIED IDEOGRAPH +0xE7BB 0x6248 #CJK UNIFIED IDEOGRAPH +0xE7BC 0x90DB #CJK UNIFIED IDEOGRAPH +0xE7BD 0x9102 #CJK UNIFIED IDEOGRAPH +0xE7BE 0x9112 #CJK UNIFIED IDEOGRAPH +0xE7BF 0x9119 #CJK UNIFIED IDEOGRAPH +0xE7C0 0x9132 #CJK UNIFIED IDEOGRAPH +0xE7C1 0x9130 #CJK UNIFIED IDEOGRAPH +0xE7C2 0x914A #CJK UNIFIED IDEOGRAPH +0xE7C3 0x9156 #CJK UNIFIED IDEOGRAPH +0xE7C4 0x9158 #CJK UNIFIED IDEOGRAPH +0xE7C5 0x9163 #CJK UNIFIED IDEOGRAPH +0xE7C6 0x9165 #CJK UNIFIED IDEOGRAPH +0xE7C7 0x9169 #CJK UNIFIED IDEOGRAPH +0xE7C8 0x9173 #CJK UNIFIED IDEOGRAPH +0xE7C9 0x9172 #CJK UNIFIED IDEOGRAPH +0xE7CA 0x918B #CJK UNIFIED IDEOGRAPH +0xE7CB 0x9189 #CJK UNIFIED IDEOGRAPH +0xE7CC 0x9182 #CJK UNIFIED IDEOGRAPH +0xE7CD 0x91A2 #CJK UNIFIED IDEOGRAPH +0xE7CE 0x91AB #CJK UNIFIED IDEOGRAPH +0xE7CF 0x91AF #CJK UNIFIED IDEOGRAPH +0xE7D0 0x91AA #CJK UNIFIED IDEOGRAPH +0xE7D1 0x91B5 #CJK UNIFIED IDEOGRAPH +0xE7D2 0x91B4 #CJK UNIFIED IDEOGRAPH +0xE7D3 0x91BA #CJK UNIFIED IDEOGRAPH +0xE7D4 0x91C0 #CJK UNIFIED IDEOGRAPH +0xE7D5 0x91C1 #CJK UNIFIED IDEOGRAPH +0xE7D6 0x91C9 #CJK UNIFIED IDEOGRAPH +0xE7D7 0x91CB #CJK UNIFIED IDEOGRAPH +0xE7D8 0x91D0 #CJK UNIFIED IDEOGRAPH +0xE7D9 0x91D6 #CJK UNIFIED IDEOGRAPH +0xE7DA 0x91DF #CJK UNIFIED IDEOGRAPH +0xE7DB 0x91E1 #CJK UNIFIED IDEOGRAPH +0xE7DC 0x91DB #CJK UNIFIED IDEOGRAPH +0xE7DD 0x91FC #CJK UNIFIED IDEOGRAPH +0xE7DE 0x91F5 #CJK UNIFIED IDEOGRAPH +0xE7DF 0x91F6 #CJK UNIFIED IDEOGRAPH +0xE7E0 0x921E #CJK UNIFIED IDEOGRAPH +0xE7E1 0x91FF #CJK UNIFIED IDEOGRAPH +0xE7E2 0x9214 #CJK UNIFIED IDEOGRAPH +0xE7E3 0x922C #CJK UNIFIED IDEOGRAPH +0xE7E4 0x9215 #CJK UNIFIED IDEOGRAPH +0xE7E5 0x9211 #CJK UNIFIED IDEOGRAPH +0xE7E6 0x925E #CJK UNIFIED IDEOGRAPH +0xE7E7 0x9257 #CJK UNIFIED IDEOGRAPH +0xE7E8 0x9245 #CJK UNIFIED IDEOGRAPH +0xE7E9 0x9249 #CJK UNIFIED IDEOGRAPH +0xE7EA 0x9264 #CJK UNIFIED IDEOGRAPH +0xE7EB 0x9248 #CJK UNIFIED IDEOGRAPH +0xE7EC 0x9295 #CJK UNIFIED IDEOGRAPH +0xE7ED 0x923F #CJK UNIFIED IDEOGRAPH +0xE7EE 0x924B #CJK UNIFIED IDEOGRAPH +0xE7EF 0x9250 #CJK UNIFIED IDEOGRAPH +0xE7F0 0x929C #CJK UNIFIED IDEOGRAPH +0xE7F1 0x9296 #CJK UNIFIED IDEOGRAPH +0xE7F2 0x9293 #CJK UNIFIED IDEOGRAPH +0xE7F3 0x929B #CJK UNIFIED IDEOGRAPH +0xE7F4 0x925A #CJK UNIFIED IDEOGRAPH +0xE7F5 0x92CF #CJK UNIFIED IDEOGRAPH +0xE7F6 0x92B9 #CJK UNIFIED IDEOGRAPH +0xE7F7 0x92B7 #CJK UNIFIED IDEOGRAPH +0xE7F8 0x92E9 #CJK UNIFIED IDEOGRAPH +0xE7F9 0x930F #CJK UNIFIED IDEOGRAPH +0xE7FA 0x92FA #CJK UNIFIED IDEOGRAPH +0xE7FB 0x9344 #CJK UNIFIED IDEOGRAPH +0xE7FC 0x932E #CJK UNIFIED IDEOGRAPH +0xE840 0x9319 #CJK UNIFIED IDEOGRAPH +0xE841 0x9322 #CJK UNIFIED IDEOGRAPH +0xE842 0x931A #CJK UNIFIED IDEOGRAPH +0xE843 0x9323 #CJK UNIFIED IDEOGRAPH +0xE844 0x933A #CJK UNIFIED IDEOGRAPH +0xE845 0x9335 #CJK UNIFIED IDEOGRAPH +0xE846 0x933B #CJK UNIFIED IDEOGRAPH +0xE847 0x935C #CJK UNIFIED IDEOGRAPH +0xE848 0x9360 #CJK UNIFIED IDEOGRAPH +0xE849 0x937C #CJK UNIFIED IDEOGRAPH +0xE84A 0x936E #CJK UNIFIED IDEOGRAPH +0xE84B 0x9356 #CJK UNIFIED IDEOGRAPH +0xE84C 0x93B0 #CJK UNIFIED IDEOGRAPH +0xE84D 0x93AC #CJK UNIFIED IDEOGRAPH +0xE84E 0x93AD #CJK UNIFIED IDEOGRAPH +0xE84F 0x9394 #CJK UNIFIED IDEOGRAPH +0xE850 0x93B9 #CJK UNIFIED IDEOGRAPH +0xE851 0x93D6 #CJK UNIFIED IDEOGRAPH +0xE852 0x93D7 #CJK UNIFIED IDEOGRAPH +0xE853 0x93E8 #CJK UNIFIED IDEOGRAPH +0xE854 0x93E5 #CJK UNIFIED IDEOGRAPH +0xE855 0x93D8 #CJK UNIFIED IDEOGRAPH +0xE856 0x93C3 #CJK UNIFIED IDEOGRAPH +0xE857 0x93DD #CJK UNIFIED IDEOGRAPH +0xE858 0x93D0 #CJK UNIFIED IDEOGRAPH +0xE859 0x93C8 #CJK UNIFIED IDEOGRAPH +0xE85A 0x93E4 #CJK UNIFIED IDEOGRAPH +0xE85B 0x941A #CJK UNIFIED IDEOGRAPH +0xE85C 0x9414 #CJK UNIFIED IDEOGRAPH +0xE85D 0x9413 #CJK UNIFIED IDEOGRAPH +0xE85E 0x9403 #CJK UNIFIED IDEOGRAPH +0xE85F 0x9407 #CJK UNIFIED IDEOGRAPH +0xE860 0x9410 #CJK UNIFIED IDEOGRAPH +0xE861 0x9436 #CJK UNIFIED IDEOGRAPH +0xE862 0x942B #CJK UNIFIED IDEOGRAPH +0xE863 0x9435 #CJK UNIFIED IDEOGRAPH +0xE864 0x9421 #CJK UNIFIED IDEOGRAPH +0xE865 0x943A #CJK UNIFIED IDEOGRAPH +0xE866 0x9441 #CJK UNIFIED IDEOGRAPH +0xE867 0x9452 #CJK UNIFIED IDEOGRAPH +0xE868 0x9444 #CJK UNIFIED IDEOGRAPH +0xE869 0x945B #CJK UNIFIED IDEOGRAPH +0xE86A 0x9460 #CJK UNIFIED IDEOGRAPH +0xE86B 0x9462 #CJK UNIFIED IDEOGRAPH +0xE86C 0x945E #CJK UNIFIED IDEOGRAPH +0xE86D 0x946A #CJK UNIFIED IDEOGRAPH +0xE86E 0x9229 #CJK UNIFIED IDEOGRAPH +0xE86F 0x9470 #CJK UNIFIED IDEOGRAPH +0xE870 0x9475 #CJK UNIFIED IDEOGRAPH +0xE871 0x9477 #CJK UNIFIED IDEOGRAPH +0xE872 0x947D #CJK UNIFIED IDEOGRAPH +0xE873 0x945A #CJK UNIFIED IDEOGRAPH +0xE874 0x947C #CJK UNIFIED IDEOGRAPH +0xE875 0x947E #CJK UNIFIED IDEOGRAPH +0xE876 0x9481 #CJK UNIFIED IDEOGRAPH +0xE877 0x947F #CJK UNIFIED IDEOGRAPH +0xE878 0x9582 #CJK UNIFIED IDEOGRAPH +0xE879 0x9587 #CJK UNIFIED IDEOGRAPH +0xE87A 0x958A #CJK UNIFIED IDEOGRAPH +0xE87B 0x9594 #CJK UNIFIED IDEOGRAPH +0xE87C 0x9596 #CJK UNIFIED IDEOGRAPH +0xE87D 0x9598 #CJK UNIFIED IDEOGRAPH +0xE87E 0x9599 #CJK UNIFIED IDEOGRAPH +0xE880 0x95A0 #CJK UNIFIED IDEOGRAPH +0xE881 0x95A8 #CJK UNIFIED IDEOGRAPH +0xE882 0x95A7 #CJK UNIFIED IDEOGRAPH +0xE883 0x95AD #CJK UNIFIED IDEOGRAPH +0xE884 0x95BC #CJK UNIFIED IDEOGRAPH +0xE885 0x95BB #CJK UNIFIED IDEOGRAPH +0xE886 0x95B9 #CJK UNIFIED IDEOGRAPH +0xE887 0x95BE #CJK UNIFIED IDEOGRAPH +0xE888 0x95CA #CJK UNIFIED IDEOGRAPH +0xE889 0x6FF6 #CJK UNIFIED IDEOGRAPH +0xE88A 0x95C3 #CJK UNIFIED IDEOGRAPH +0xE88B 0x95CD #CJK UNIFIED IDEOGRAPH +0xE88C 0x95CC #CJK UNIFIED IDEOGRAPH +0xE88D 0x95D5 #CJK UNIFIED IDEOGRAPH +0xE88E 0x95D4 #CJK UNIFIED IDEOGRAPH +0xE88F 0x95D6 #CJK UNIFIED IDEOGRAPH +0xE890 0x95DC #CJK UNIFIED IDEOGRAPH +0xE891 0x95E1 #CJK UNIFIED IDEOGRAPH +0xE892 0x95E5 #CJK UNIFIED IDEOGRAPH +0xE893 0x95E2 #CJK UNIFIED IDEOGRAPH +0xE894 0x9621 #CJK UNIFIED IDEOGRAPH +0xE895 0x9628 #CJK UNIFIED IDEOGRAPH +0xE896 0x962E #CJK UNIFIED IDEOGRAPH +0xE897 0x962F #CJK UNIFIED IDEOGRAPH +0xE898 0x9642 #CJK UNIFIED IDEOGRAPH +0xE899 0x964C #CJK UNIFIED IDEOGRAPH +0xE89A 0x964F #CJK UNIFIED IDEOGRAPH +0xE89B 0x964B #CJK UNIFIED IDEOGRAPH +0xE89C 0x9677 #CJK UNIFIED IDEOGRAPH +0xE89D 0x965C #CJK UNIFIED IDEOGRAPH +0xE89E 0x965E #CJK UNIFIED IDEOGRAPH +0xE89F 0x965D #CJK UNIFIED IDEOGRAPH +0xE8A0 0x965F #CJK UNIFIED IDEOGRAPH +0xE8A1 0x9666 #CJK UNIFIED IDEOGRAPH +0xE8A2 0x9672 #CJK UNIFIED IDEOGRAPH +0xE8A3 0x966C #CJK UNIFIED IDEOGRAPH +0xE8A4 0x968D #CJK UNIFIED IDEOGRAPH +0xE8A5 0x9698 #CJK UNIFIED IDEOGRAPH +0xE8A6 0x9695 #CJK UNIFIED IDEOGRAPH +0xE8A7 0x9697 #CJK UNIFIED IDEOGRAPH +0xE8A8 0x96AA #CJK UNIFIED IDEOGRAPH +0xE8A9 0x96A7 #CJK UNIFIED IDEOGRAPH +0xE8AA 0x96B1 #CJK UNIFIED IDEOGRAPH +0xE8AB 0x96B2 #CJK UNIFIED IDEOGRAPH +0xE8AC 0x96B0 #CJK UNIFIED IDEOGRAPH +0xE8AD 0x96B4 #CJK UNIFIED IDEOGRAPH +0xE8AE 0x96B6 #CJK UNIFIED IDEOGRAPH +0xE8AF 0x96B8 #CJK UNIFIED IDEOGRAPH +0xE8B0 0x96B9 #CJK UNIFIED IDEOGRAPH +0xE8B1 0x96CE #CJK UNIFIED IDEOGRAPH +0xE8B2 0x96CB #CJK UNIFIED IDEOGRAPH +0xE8B3 0x96C9 #CJK UNIFIED IDEOGRAPH +0xE8B4 0x96CD #CJK UNIFIED IDEOGRAPH +0xE8B5 0x894D #CJK UNIFIED IDEOGRAPH +0xE8B6 0x96DC #CJK UNIFIED IDEOGRAPH +0xE8B7 0x970D #CJK UNIFIED IDEOGRAPH +0xE8B8 0x96D5 #CJK UNIFIED IDEOGRAPH +0xE8B9 0x96F9 #CJK UNIFIED IDEOGRAPH +0xE8BA 0x9704 #CJK UNIFIED IDEOGRAPH +0xE8BB 0x9706 #CJK UNIFIED IDEOGRAPH +0xE8BC 0x9708 #CJK UNIFIED IDEOGRAPH +0xE8BD 0x9713 #CJK UNIFIED IDEOGRAPH +0xE8BE 0x970E #CJK UNIFIED IDEOGRAPH +0xE8BF 0x9711 #CJK UNIFIED IDEOGRAPH +0xE8C0 0x970F #CJK UNIFIED IDEOGRAPH +0xE8C1 0x9716 #CJK UNIFIED IDEOGRAPH +0xE8C2 0x9719 #CJK UNIFIED IDEOGRAPH +0xE8C3 0x9724 #CJK UNIFIED IDEOGRAPH +0xE8C4 0x972A #CJK UNIFIED IDEOGRAPH +0xE8C5 0x9730 #CJK UNIFIED IDEOGRAPH +0xE8C6 0x9739 #CJK UNIFIED IDEOGRAPH +0xE8C7 0x973D #CJK UNIFIED IDEOGRAPH +0xE8C8 0x973E #CJK UNIFIED IDEOGRAPH +0xE8C9 0x9744 #CJK UNIFIED IDEOGRAPH +0xE8CA 0x9746 #CJK UNIFIED IDEOGRAPH +0xE8CB 0x9748 #CJK UNIFIED IDEOGRAPH +0xE8CC 0x9742 #CJK UNIFIED IDEOGRAPH +0xE8CD 0x9749 #CJK UNIFIED IDEOGRAPH +0xE8CE 0x975C #CJK UNIFIED IDEOGRAPH +0xE8CF 0x9760 #CJK UNIFIED IDEOGRAPH +0xE8D0 0x9764 #CJK UNIFIED IDEOGRAPH +0xE8D1 0x9766 #CJK UNIFIED IDEOGRAPH +0xE8D2 0x9768 #CJK UNIFIED IDEOGRAPH +0xE8D3 0x52D2 #CJK UNIFIED IDEOGRAPH +0xE8D4 0x976B #CJK UNIFIED IDEOGRAPH +0xE8D5 0x9771 #CJK UNIFIED IDEOGRAPH +0xE8D6 0x9779 #CJK UNIFIED IDEOGRAPH +0xE8D7 0x9785 #CJK UNIFIED IDEOGRAPH +0xE8D8 0x977C #CJK UNIFIED IDEOGRAPH +0xE8D9 0x9781 #CJK UNIFIED IDEOGRAPH +0xE8DA 0x977A #CJK UNIFIED IDEOGRAPH +0xE8DB 0x9786 #CJK UNIFIED IDEOGRAPH +0xE8DC 0x978B #CJK UNIFIED IDEOGRAPH +0xE8DD 0x978F #CJK UNIFIED IDEOGRAPH +0xE8DE 0x9790 #CJK UNIFIED IDEOGRAPH +0xE8DF 0x979C #CJK UNIFIED IDEOGRAPH +0xE8E0 0x97A8 #CJK UNIFIED IDEOGRAPH +0xE8E1 0x97A6 #CJK UNIFIED IDEOGRAPH +0xE8E2 0x97A3 #CJK UNIFIED IDEOGRAPH +0xE8E3 0x97B3 #CJK UNIFIED IDEOGRAPH +0xE8E4 0x97B4 #CJK UNIFIED IDEOGRAPH +0xE8E5 0x97C3 #CJK UNIFIED IDEOGRAPH +0xE8E6 0x97C6 #CJK UNIFIED IDEOGRAPH +0xE8E7 0x97C8 #CJK UNIFIED IDEOGRAPH +0xE8E8 0x97CB #CJK UNIFIED IDEOGRAPH +0xE8E9 0x97DC #CJK UNIFIED IDEOGRAPH +0xE8EA 0x97ED #CJK UNIFIED IDEOGRAPH +0xE8EB 0x9F4F #CJK UNIFIED IDEOGRAPH +0xE8EC 0x97F2 #CJK UNIFIED IDEOGRAPH +0xE8ED 0x7ADF #CJK UNIFIED IDEOGRAPH +0xE8EE 0x97F6 #CJK UNIFIED IDEOGRAPH +0xE8EF 0x97F5 #CJK UNIFIED IDEOGRAPH +0xE8F0 0x980F #CJK UNIFIED IDEOGRAPH +0xE8F1 0x980C #CJK UNIFIED IDEOGRAPH +0xE8F2 0x9838 #CJK UNIFIED IDEOGRAPH +0xE8F3 0x9824 #CJK UNIFIED IDEOGRAPH +0xE8F4 0x9821 #CJK UNIFIED IDEOGRAPH +0xE8F5 0x9837 #CJK UNIFIED IDEOGRAPH +0xE8F6 0x983D #CJK UNIFIED IDEOGRAPH +0xE8F7 0x9846 #CJK UNIFIED IDEOGRAPH +0xE8F8 0x984F #CJK UNIFIED IDEOGRAPH +0xE8F9 0x984B #CJK UNIFIED IDEOGRAPH +0xE8FA 0x986B #CJK UNIFIED IDEOGRAPH +0xE8FB 0x986F #CJK UNIFIED IDEOGRAPH +0xE8FC 0x9870 #CJK UNIFIED IDEOGRAPH +0xE940 0x9871 #CJK UNIFIED IDEOGRAPH +0xE941 0x9874 #CJK UNIFIED IDEOGRAPH +0xE942 0x9873 #CJK UNIFIED IDEOGRAPH +0xE943 0x98AA #CJK UNIFIED IDEOGRAPH +0xE944 0x98AF #CJK UNIFIED IDEOGRAPH +0xE945 0x98B1 #CJK UNIFIED IDEOGRAPH +0xE946 0x98B6 #CJK UNIFIED IDEOGRAPH +0xE947 0x98C4 #CJK UNIFIED IDEOGRAPH +0xE948 0x98C3 #CJK UNIFIED IDEOGRAPH +0xE949 0x98C6 #CJK UNIFIED IDEOGRAPH +0xE94A 0x98E9 #CJK UNIFIED IDEOGRAPH +0xE94B 0x98EB #CJK UNIFIED IDEOGRAPH +0xE94C 0x9903 #CJK UNIFIED IDEOGRAPH +0xE94D 0x9909 #CJK UNIFIED IDEOGRAPH +0xE94E 0x9912 #CJK UNIFIED IDEOGRAPH +0xE94F 0x9914 #CJK UNIFIED IDEOGRAPH +0xE950 0x9918 #CJK UNIFIED IDEOGRAPH +0xE951 0x9921 #CJK UNIFIED IDEOGRAPH +0xE952 0x991D #CJK UNIFIED IDEOGRAPH +0xE953 0x991E #CJK UNIFIED IDEOGRAPH +0xE954 0x9924 #CJK UNIFIED IDEOGRAPH +0xE955 0x9920 #CJK UNIFIED IDEOGRAPH +0xE956 0x992C #CJK UNIFIED IDEOGRAPH +0xE957 0x992E #CJK UNIFIED IDEOGRAPH +0xE958 0x993D #CJK UNIFIED IDEOGRAPH +0xE959 0x993E #CJK UNIFIED IDEOGRAPH +0xE95A 0x9942 #CJK UNIFIED IDEOGRAPH +0xE95B 0x9949 #CJK UNIFIED IDEOGRAPH +0xE95C 0x9945 #CJK UNIFIED IDEOGRAPH +0xE95D 0x9950 #CJK UNIFIED IDEOGRAPH +0xE95E 0x994B #CJK UNIFIED IDEOGRAPH +0xE95F 0x9951 #CJK UNIFIED IDEOGRAPH +0xE960 0x9952 #CJK UNIFIED IDEOGRAPH +0xE961 0x994C #CJK UNIFIED IDEOGRAPH +0xE962 0x9955 #CJK UNIFIED IDEOGRAPH +0xE963 0x9997 #CJK UNIFIED IDEOGRAPH +0xE964 0x9998 #CJK UNIFIED IDEOGRAPH +0xE965 0x99A5 #CJK UNIFIED IDEOGRAPH +0xE966 0x99AD #CJK UNIFIED IDEOGRAPH +0xE967 0x99AE #CJK UNIFIED IDEOGRAPH +0xE968 0x99BC #CJK UNIFIED IDEOGRAPH +0xE969 0x99DF #CJK UNIFIED IDEOGRAPH +0xE96A 0x99DB #CJK UNIFIED IDEOGRAPH +0xE96B 0x99DD #CJK UNIFIED IDEOGRAPH +0xE96C 0x99D8 #CJK UNIFIED IDEOGRAPH +0xE96D 0x99D1 #CJK UNIFIED IDEOGRAPH +0xE96E 0x99ED #CJK UNIFIED IDEOGRAPH +0xE96F 0x99EE #CJK UNIFIED IDEOGRAPH +0xE970 0x99F1 #CJK UNIFIED IDEOGRAPH +0xE971 0x99F2 #CJK UNIFIED IDEOGRAPH +0xE972 0x99FB #CJK UNIFIED IDEOGRAPH +0xE973 0x99F8 #CJK UNIFIED IDEOGRAPH +0xE974 0x9A01 #CJK UNIFIED IDEOGRAPH +0xE975 0x9A0F #CJK UNIFIED IDEOGRAPH +0xE976 0x9A05 #CJK UNIFIED IDEOGRAPH +0xE977 0x99E2 #CJK UNIFIED IDEOGRAPH +0xE978 0x9A19 #CJK UNIFIED IDEOGRAPH +0xE979 0x9A2B #CJK UNIFIED IDEOGRAPH +0xE97A 0x9A37 #CJK UNIFIED IDEOGRAPH +0xE97B 0x9A45 #CJK UNIFIED IDEOGRAPH +0xE97C 0x9A42 #CJK UNIFIED IDEOGRAPH +0xE97D 0x9A40 #CJK UNIFIED IDEOGRAPH +0xE97E 0x9A43 #CJK UNIFIED IDEOGRAPH +0xE980 0x9A3E #CJK UNIFIED IDEOGRAPH +0xE981 0x9A55 #CJK UNIFIED IDEOGRAPH +0xE982 0x9A4D #CJK UNIFIED IDEOGRAPH +0xE983 0x9A5B #CJK UNIFIED IDEOGRAPH +0xE984 0x9A57 #CJK UNIFIED IDEOGRAPH +0xE985 0x9A5F #CJK UNIFIED IDEOGRAPH +0xE986 0x9A62 #CJK UNIFIED IDEOGRAPH +0xE987 0x9A65 #CJK UNIFIED IDEOGRAPH +0xE988 0x9A64 #CJK UNIFIED IDEOGRAPH +0xE989 0x9A69 #CJK UNIFIED IDEOGRAPH +0xE98A 0x9A6B #CJK UNIFIED IDEOGRAPH +0xE98B 0x9A6A #CJK UNIFIED IDEOGRAPH +0xE98C 0x9AAD #CJK UNIFIED IDEOGRAPH +0xE98D 0x9AB0 #CJK UNIFIED IDEOGRAPH +0xE98E 0x9ABC #CJK UNIFIED IDEOGRAPH +0xE98F 0x9AC0 #CJK UNIFIED IDEOGRAPH +0xE990 0x9ACF #CJK UNIFIED IDEOGRAPH +0xE991 0x9AD1 #CJK UNIFIED IDEOGRAPH +0xE992 0x9AD3 #CJK UNIFIED IDEOGRAPH +0xE993 0x9AD4 #CJK UNIFIED IDEOGRAPH +0xE994 0x9ADE #CJK UNIFIED IDEOGRAPH +0xE995 0x9ADF #CJK UNIFIED IDEOGRAPH +0xE996 0x9AE2 #CJK UNIFIED IDEOGRAPH +0xE997 0x9AE3 #CJK UNIFIED IDEOGRAPH +0xE998 0x9AE6 #CJK UNIFIED IDEOGRAPH +0xE999 0x9AEF #CJK UNIFIED IDEOGRAPH +0xE99A 0x9AEB #CJK UNIFIED IDEOGRAPH +0xE99B 0x9AEE #CJK UNIFIED IDEOGRAPH +0xE99C 0x9AF4 #CJK UNIFIED IDEOGRAPH +0xE99D 0x9AF1 #CJK UNIFIED IDEOGRAPH +0xE99E 0x9AF7 #CJK UNIFIED IDEOGRAPH +0xE99F 0x9AFB #CJK UNIFIED IDEOGRAPH +0xE9A0 0x9B06 #CJK UNIFIED IDEOGRAPH +0xE9A1 0x9B18 #CJK UNIFIED IDEOGRAPH +0xE9A2 0x9B1A #CJK UNIFIED IDEOGRAPH +0xE9A3 0x9B1F #CJK UNIFIED IDEOGRAPH +0xE9A4 0x9B22 #CJK UNIFIED IDEOGRAPH +0xE9A5 0x9B23 #CJK UNIFIED IDEOGRAPH +0xE9A6 0x9B25 #CJK UNIFIED IDEOGRAPH +0xE9A7 0x9B27 #CJK UNIFIED IDEOGRAPH +0xE9A8 0x9B28 #CJK UNIFIED IDEOGRAPH +0xE9A9 0x9B29 #CJK UNIFIED IDEOGRAPH +0xE9AA 0x9B2A #CJK UNIFIED IDEOGRAPH +0xE9AB 0x9B2E #CJK UNIFIED IDEOGRAPH +0xE9AC 0x9B2F #CJK UNIFIED IDEOGRAPH +0xE9AD 0x9B32 #CJK UNIFIED IDEOGRAPH +0xE9AE 0x9B44 #CJK UNIFIED IDEOGRAPH +0xE9AF 0x9B43 #CJK UNIFIED IDEOGRAPH +0xE9B0 0x9B4F #CJK UNIFIED IDEOGRAPH +0xE9B1 0x9B4D #CJK UNIFIED IDEOGRAPH +0xE9B2 0x9B4E #CJK UNIFIED IDEOGRAPH +0xE9B3 0x9B51 #CJK UNIFIED IDEOGRAPH +0xE9B4 0x9B58 #CJK UNIFIED IDEOGRAPH +0xE9B5 0x9B74 #CJK UNIFIED IDEOGRAPH +0xE9B6 0x9B93 #CJK UNIFIED IDEOGRAPH +0xE9B7 0x9B83 #CJK UNIFIED IDEOGRAPH +0xE9B8 0x9B91 #CJK UNIFIED IDEOGRAPH +0xE9B9 0x9B96 #CJK UNIFIED IDEOGRAPH +0xE9BA 0x9B97 #CJK UNIFIED IDEOGRAPH +0xE9BB 0x9B9F #CJK UNIFIED IDEOGRAPH +0xE9BC 0x9BA0 #CJK UNIFIED IDEOGRAPH +0xE9BD 0x9BA8 #CJK UNIFIED IDEOGRAPH +0xE9BE 0x9BB4 #CJK UNIFIED IDEOGRAPH +0xE9BF 0x9BC0 #CJK UNIFIED IDEOGRAPH +0xE9C0 0x9BCA #CJK UNIFIED IDEOGRAPH +0xE9C1 0x9BB9 #CJK UNIFIED IDEOGRAPH +0xE9C2 0x9BC6 #CJK UNIFIED IDEOGRAPH +0xE9C3 0x9BCF #CJK UNIFIED IDEOGRAPH +0xE9C4 0x9BD1 #CJK UNIFIED IDEOGRAPH +0xE9C5 0x9BD2 #CJK UNIFIED IDEOGRAPH +0xE9C6 0x9BE3 #CJK UNIFIED IDEOGRAPH +0xE9C7 0x9BE2 #CJK UNIFIED IDEOGRAPH +0xE9C8 0x9BE4 #CJK UNIFIED IDEOGRAPH +0xE9C9 0x9BD4 #CJK UNIFIED IDEOGRAPH +0xE9CA 0x9BE1 #CJK UNIFIED IDEOGRAPH +0xE9CB 0x9C3A #CJK UNIFIED IDEOGRAPH +0xE9CC 0x9BF2 #CJK UNIFIED IDEOGRAPH +0xE9CD 0x9BF1 #CJK UNIFIED IDEOGRAPH +0xE9CE 0x9BF0 #CJK UNIFIED IDEOGRAPH +0xE9CF 0x9C15 #CJK UNIFIED IDEOGRAPH +0xE9D0 0x9C14 #CJK UNIFIED IDEOGRAPH +0xE9D1 0x9C09 #CJK UNIFIED IDEOGRAPH +0xE9D2 0x9C13 #CJK UNIFIED IDEOGRAPH +0xE9D3 0x9C0C #CJK UNIFIED IDEOGRAPH +0xE9D4 0x9C06 #CJK UNIFIED IDEOGRAPH +0xE9D5 0x9C08 #CJK UNIFIED IDEOGRAPH +0xE9D6 0x9C12 #CJK UNIFIED IDEOGRAPH +0xE9D7 0x9C0A #CJK UNIFIED IDEOGRAPH +0xE9D8 0x9C04 #CJK UNIFIED IDEOGRAPH +0xE9D9 0x9C2E #CJK UNIFIED IDEOGRAPH +0xE9DA 0x9C1B #CJK UNIFIED IDEOGRAPH +0xE9DB 0x9C25 #CJK UNIFIED IDEOGRAPH +0xE9DC 0x9C24 #CJK UNIFIED IDEOGRAPH +0xE9DD 0x9C21 #CJK UNIFIED IDEOGRAPH +0xE9DE 0x9C30 #CJK UNIFIED IDEOGRAPH +0xE9DF 0x9C47 #CJK UNIFIED IDEOGRAPH +0xE9E0 0x9C32 #CJK UNIFIED IDEOGRAPH +0xE9E1 0x9C46 #CJK UNIFIED IDEOGRAPH +0xE9E2 0x9C3E #CJK UNIFIED IDEOGRAPH +0xE9E3 0x9C5A #CJK UNIFIED IDEOGRAPH +0xE9E4 0x9C60 #CJK UNIFIED IDEOGRAPH +0xE9E5 0x9C67 #CJK UNIFIED IDEOGRAPH +0xE9E6 0x9C76 #CJK UNIFIED IDEOGRAPH +0xE9E7 0x9C78 #CJK UNIFIED IDEOGRAPH +0xE9E8 0x9CE7 #CJK UNIFIED IDEOGRAPH +0xE9E9 0x9CEC #CJK UNIFIED IDEOGRAPH +0xE9EA 0x9CF0 #CJK UNIFIED IDEOGRAPH +0xE9EB 0x9D09 #CJK UNIFIED IDEOGRAPH +0xE9EC 0x9D08 #CJK UNIFIED IDEOGRAPH +0xE9ED 0x9CEB #CJK UNIFIED IDEOGRAPH +0xE9EE 0x9D03 #CJK UNIFIED IDEOGRAPH +0xE9EF 0x9D06 #CJK UNIFIED IDEOGRAPH +0xE9F0 0x9D2A #CJK UNIFIED IDEOGRAPH +0xE9F1 0x9D26 #CJK UNIFIED IDEOGRAPH +0xE9F2 0x9DAF #CJK UNIFIED IDEOGRAPH +0xE9F3 0x9D23 #CJK UNIFIED IDEOGRAPH +0xE9F4 0x9D1F #CJK UNIFIED IDEOGRAPH +0xE9F5 0x9D44 #CJK UNIFIED IDEOGRAPH +0xE9F6 0x9D15 #CJK UNIFIED IDEOGRAPH +0xE9F7 0x9D12 #CJK UNIFIED IDEOGRAPH +0xE9F8 0x9D41 #CJK UNIFIED IDEOGRAPH +0xE9F9 0x9D3F #CJK UNIFIED IDEOGRAPH +0xE9FA 0x9D3E #CJK UNIFIED IDEOGRAPH +0xE9FB 0x9D46 #CJK UNIFIED IDEOGRAPH +0xE9FC 0x9D48 #CJK UNIFIED IDEOGRAPH +0xEA40 0x9D5D #CJK UNIFIED IDEOGRAPH +0xEA41 0x9D5E #CJK UNIFIED IDEOGRAPH +0xEA42 0x9D64 #CJK UNIFIED IDEOGRAPH +0xEA43 0x9D51 #CJK UNIFIED IDEOGRAPH +0xEA44 0x9D50 #CJK UNIFIED IDEOGRAPH +0xEA45 0x9D59 #CJK UNIFIED IDEOGRAPH +0xEA46 0x9D72 #CJK UNIFIED IDEOGRAPH +0xEA47 0x9D89 #CJK UNIFIED IDEOGRAPH +0xEA48 0x9D87 #CJK UNIFIED IDEOGRAPH +0xEA49 0x9DAB #CJK UNIFIED IDEOGRAPH +0xEA4A 0x9D6F #CJK UNIFIED IDEOGRAPH +0xEA4B 0x9D7A #CJK UNIFIED IDEOGRAPH +0xEA4C 0x9D9A #CJK UNIFIED IDEOGRAPH +0xEA4D 0x9DA4 #CJK UNIFIED IDEOGRAPH +0xEA4E 0x9DA9 #CJK UNIFIED IDEOGRAPH +0xEA4F 0x9DB2 #CJK UNIFIED IDEOGRAPH +0xEA50 0x9DC4 #CJK UNIFIED IDEOGRAPH +0xEA51 0x9DC1 #CJK UNIFIED IDEOGRAPH +0xEA52 0x9DBB #CJK UNIFIED IDEOGRAPH +0xEA53 0x9DB8 #CJK UNIFIED IDEOGRAPH +0xEA54 0x9DBA #CJK UNIFIED IDEOGRAPH +0xEA55 0x9DC6 #CJK UNIFIED IDEOGRAPH +0xEA56 0x9DCF #CJK UNIFIED IDEOGRAPH +0xEA57 0x9DC2 #CJK UNIFIED IDEOGRAPH +0xEA58 0x9DD9 #CJK UNIFIED IDEOGRAPH +0xEA59 0x9DD3 #CJK UNIFIED IDEOGRAPH +0xEA5A 0x9DF8 #CJK UNIFIED IDEOGRAPH +0xEA5B 0x9DE6 #CJK UNIFIED IDEOGRAPH +0xEA5C 0x9DED #CJK UNIFIED IDEOGRAPH +0xEA5D 0x9DEF #CJK UNIFIED IDEOGRAPH +0xEA5E 0x9DFD #CJK UNIFIED IDEOGRAPH +0xEA5F 0x9E1A #CJK UNIFIED IDEOGRAPH +0xEA60 0x9E1B #CJK UNIFIED IDEOGRAPH +0xEA61 0x9E1E #CJK UNIFIED IDEOGRAPH +0xEA62 0x9E75 #CJK UNIFIED IDEOGRAPH +0xEA63 0x9E79 #CJK UNIFIED IDEOGRAPH +0xEA64 0x9E7D #CJK UNIFIED IDEOGRAPH +0xEA65 0x9E81 #CJK UNIFIED IDEOGRAPH +0xEA66 0x9E88 #CJK UNIFIED IDEOGRAPH +0xEA67 0x9E8B #CJK UNIFIED IDEOGRAPH +0xEA68 0x9E8C #CJK UNIFIED IDEOGRAPH +0xEA69 0x9E92 #CJK UNIFIED IDEOGRAPH +0xEA6A 0x9E95 #CJK UNIFIED IDEOGRAPH +0xEA6B 0x9E91 #CJK UNIFIED IDEOGRAPH +0xEA6C 0x9E9D #CJK UNIFIED IDEOGRAPH +0xEA6D 0x9EA5 #CJK UNIFIED IDEOGRAPH +0xEA6E 0x9EA9 #CJK UNIFIED IDEOGRAPH +0xEA6F 0x9EB8 #CJK UNIFIED IDEOGRAPH +0xEA70 0x9EAA #CJK UNIFIED IDEOGRAPH +0xEA71 0x9EAD #CJK UNIFIED IDEOGRAPH +0xEA72 0x9761 #CJK UNIFIED IDEOGRAPH +0xEA73 0x9ECC #CJK UNIFIED IDEOGRAPH +0xEA74 0x9ECE #CJK UNIFIED IDEOGRAPH +0xEA75 0x9ECF #CJK UNIFIED IDEOGRAPH +0xEA76 0x9ED0 #CJK UNIFIED IDEOGRAPH +0xEA77 0x9ED4 #CJK UNIFIED IDEOGRAPH +0xEA78 0x9EDC #CJK UNIFIED IDEOGRAPH +0xEA79 0x9EDE #CJK UNIFIED IDEOGRAPH +0xEA7A 0x9EDD #CJK UNIFIED IDEOGRAPH +0xEA7B 0x9EE0 #CJK UNIFIED IDEOGRAPH +0xEA7C 0x9EE5 #CJK UNIFIED IDEOGRAPH +0xEA7D 0x9EE8 #CJK UNIFIED IDEOGRAPH +0xEA7E 0x9EEF #CJK UNIFIED IDEOGRAPH +0xEA80 0x9EF4 #CJK UNIFIED IDEOGRAPH +0xEA81 0x9EF6 #CJK UNIFIED IDEOGRAPH +0xEA82 0x9EF7 #CJK UNIFIED IDEOGRAPH +0xEA83 0x9EF9 #CJK UNIFIED IDEOGRAPH +0xEA84 0x9EFB #CJK UNIFIED IDEOGRAPH +0xEA85 0x9EFC #CJK UNIFIED IDEOGRAPH +0xEA86 0x9EFD #CJK UNIFIED IDEOGRAPH +0xEA87 0x9F07 #CJK UNIFIED IDEOGRAPH +0xEA88 0x9F08 #CJK UNIFIED IDEOGRAPH +0xEA89 0x76B7 #CJK UNIFIED IDEOGRAPH +0xEA8A 0x9F15 #CJK UNIFIED IDEOGRAPH +0xEA8B 0x9F21 #CJK UNIFIED IDEOGRAPH +0xEA8C 0x9F2C #CJK UNIFIED IDEOGRAPH +0xEA8D 0x9F3E #CJK UNIFIED IDEOGRAPH +0xEA8E 0x9F4A #CJK UNIFIED IDEOGRAPH +0xEA8F 0x9F52 #CJK UNIFIED IDEOGRAPH +0xEA90 0x9F54 #CJK UNIFIED IDEOGRAPH +0xEA91 0x9F63 #CJK UNIFIED IDEOGRAPH +0xEA92 0x9F5F #CJK UNIFIED IDEOGRAPH +0xEA93 0x9F60 #CJK UNIFIED IDEOGRAPH +0xEA94 0x9F61 #CJK UNIFIED IDEOGRAPH +0xEA95 0x9F66 #CJK UNIFIED IDEOGRAPH +0xEA96 0x9F67 #CJK UNIFIED IDEOGRAPH +0xEA97 0x9F6C #CJK UNIFIED IDEOGRAPH +0xEA98 0x9F6A #CJK UNIFIED IDEOGRAPH +0xEA99 0x9F77 #CJK UNIFIED IDEOGRAPH +0xEA9A 0x9F72 #CJK UNIFIED IDEOGRAPH +0xEA9B 0x9F76 #CJK UNIFIED IDEOGRAPH +0xEA9C 0x9F95 #CJK UNIFIED IDEOGRAPH +0xEA9D 0x9F9C #CJK UNIFIED IDEOGRAPH +0xEA9E 0x9FA0 #CJK UNIFIED IDEOGRAPH +0xEA9F 0x582F #CJK UNIFIED IDEOGRAPH +0xEAA0 0x69C7 #CJK UNIFIED IDEOGRAPH +0xEAA1 0x9059 #CJK UNIFIED IDEOGRAPH +0xEAA2 0x7464 #CJK UNIFIED IDEOGRAPH +0xEAA3 0x51DC #CJK UNIFIED IDEOGRAPH +0xEAA4 0x7199 #CJK UNIFIED IDEOGRAPH +0xED40 0x7E8A #CJK UNIFIED IDEOGRAPH +0xED41 0x891C #CJK UNIFIED IDEOGRAPH +0xED42 0x9348 #CJK UNIFIED IDEOGRAPH +0xED43 0x9288 #CJK UNIFIED IDEOGRAPH +0xED44 0x84DC #CJK UNIFIED IDEOGRAPH +0xED45 0x4FC9 #CJK UNIFIED IDEOGRAPH +0xED46 0x70BB #CJK UNIFIED IDEOGRAPH +0xED47 0x6631 #CJK UNIFIED IDEOGRAPH +0xED48 0x68C8 #CJK UNIFIED IDEOGRAPH +0xED49 0x92F9 #CJK UNIFIED IDEOGRAPH +0xED4A 0x66FB #CJK UNIFIED IDEOGRAPH +0xED4B 0x5F45 #CJK UNIFIED IDEOGRAPH +0xED4C 0x4E28 #CJK UNIFIED IDEOGRAPH +0xED4D 0x4EE1 #CJK UNIFIED IDEOGRAPH +0xED4E 0x4EFC #CJK UNIFIED IDEOGRAPH +0xED4F 0x4F00 #CJK UNIFIED IDEOGRAPH +0xED50 0x4F03 #CJK UNIFIED IDEOGRAPH +0xED51 0x4F39 #CJK UNIFIED IDEOGRAPH +0xED52 0x4F56 #CJK UNIFIED IDEOGRAPH +0xED53 0x4F92 #CJK UNIFIED IDEOGRAPH +0xED54 0x4F8A #CJK UNIFIED IDEOGRAPH +0xED55 0x4F9A #CJK UNIFIED IDEOGRAPH +0xED56 0x4F94 #CJK UNIFIED IDEOGRAPH +0xED57 0x4FCD #CJK UNIFIED IDEOGRAPH +0xED58 0x5040 #CJK UNIFIED IDEOGRAPH +0xED59 0x5022 #CJK UNIFIED IDEOGRAPH +0xED5A 0x4FFF #CJK UNIFIED IDEOGRAPH +0xED5B 0x501E #CJK UNIFIED IDEOGRAPH +0xED5C 0x5046 #CJK UNIFIED IDEOGRAPH +0xED5D 0x5070 #CJK UNIFIED IDEOGRAPH +0xED5E 0x5042 #CJK UNIFIED IDEOGRAPH +0xED5F 0x5094 #CJK UNIFIED IDEOGRAPH +0xED60 0x50F4 #CJK UNIFIED IDEOGRAPH +0xED61 0x50D8 #CJK UNIFIED IDEOGRAPH +0xED62 0x514A #CJK UNIFIED IDEOGRAPH +0xED63 0x5164 #CJK UNIFIED IDEOGRAPH +0xED64 0x519D #CJK UNIFIED IDEOGRAPH +0xED65 0x51BE #CJK UNIFIED IDEOGRAPH +0xED66 0x51EC #CJK UNIFIED IDEOGRAPH +0xED67 0x5215 #CJK UNIFIED IDEOGRAPH +0xED68 0x529C #CJK UNIFIED IDEOGRAPH +0xED69 0x52A6 #CJK UNIFIED IDEOGRAPH +0xED6A 0x52C0 #CJK UNIFIED IDEOGRAPH +0xED6B 0x52DB #CJK UNIFIED IDEOGRAPH +0xED6C 0x5300 #CJK UNIFIED IDEOGRAPH +0xED6D 0x5307 #CJK UNIFIED IDEOGRAPH +0xED6E 0x5324 #CJK UNIFIED IDEOGRAPH +0xED6F 0x5372 #CJK UNIFIED IDEOGRAPH +0xED70 0x5393 #CJK UNIFIED IDEOGRAPH +0xED71 0x53B2 #CJK UNIFIED IDEOGRAPH +0xED72 0x53DD #CJK UNIFIED IDEOGRAPH +0xED73 0xFA0E #CJK COMPATIBILITY IDEOGRAPH +0xED74 0x549C #CJK UNIFIED IDEOGRAPH +0xED75 0x548A #CJK UNIFIED IDEOGRAPH +0xED76 0x54A9 #CJK UNIFIED IDEOGRAPH +0xED77 0x54FF #CJK UNIFIED IDEOGRAPH +0xED78 0x5586 #CJK UNIFIED IDEOGRAPH +0xED79 0x5759 #CJK UNIFIED IDEOGRAPH +0xED7A 0x5765 #CJK UNIFIED IDEOGRAPH +0xED7B 0x57AC #CJK UNIFIED IDEOGRAPH +0xED7C 0x57C8 #CJK UNIFIED IDEOGRAPH +0xED7D 0x57C7 #CJK UNIFIED IDEOGRAPH +0xED7E 0xFA0F #CJK COMPATIBILITY IDEOGRAPH +0xED80 0xFA10 #CJK COMPATIBILITY IDEOGRAPH +0xED81 0x589E #CJK UNIFIED IDEOGRAPH +0xED82 0x58B2 #CJK UNIFIED IDEOGRAPH +0xED83 0x590B #CJK UNIFIED IDEOGRAPH +0xED84 0x5953 #CJK UNIFIED IDEOGRAPH +0xED85 0x595B #CJK UNIFIED IDEOGRAPH +0xED86 0x595D #CJK UNIFIED IDEOGRAPH +0xED87 0x5963 #CJK UNIFIED IDEOGRAPH +0xED88 0x59A4 #CJK UNIFIED IDEOGRAPH +0xED89 0x59BA #CJK UNIFIED IDEOGRAPH +0xED8A 0x5B56 #CJK UNIFIED IDEOGRAPH +0xED8B 0x5BC0 #CJK UNIFIED IDEOGRAPH +0xED8C 0x752F #CJK UNIFIED IDEOGRAPH +0xED8D 0x5BD8 #CJK UNIFIED IDEOGRAPH +0xED8E 0x5BEC #CJK UNIFIED IDEOGRAPH +0xED8F 0x5C1E #CJK UNIFIED IDEOGRAPH +0xED90 0x5CA6 #CJK UNIFIED IDEOGRAPH +0xED91 0x5CBA #CJK UNIFIED IDEOGRAPH +0xED92 0x5CF5 #CJK UNIFIED IDEOGRAPH +0xED93 0x5D27 #CJK UNIFIED IDEOGRAPH +0xED94 0x5D53 #CJK UNIFIED IDEOGRAPH +0xED95 0xFA11 #CJK COMPATIBILITY IDEOGRAPH +0xED96 0x5D42 #CJK UNIFIED IDEOGRAPH +0xED97 0x5D6D #CJK UNIFIED IDEOGRAPH +0xED98 0x5DB8 #CJK UNIFIED IDEOGRAPH +0xED99 0x5DB9 #CJK UNIFIED IDEOGRAPH +0xED9A 0x5DD0 #CJK UNIFIED IDEOGRAPH +0xED9B 0x5F21 #CJK UNIFIED IDEOGRAPH +0xED9C 0x5F34 #CJK UNIFIED IDEOGRAPH +0xED9D 0x5F67 #CJK UNIFIED IDEOGRAPH +0xED9E 0x5FB7 #CJK UNIFIED IDEOGRAPH +0xED9F 0x5FDE #CJK UNIFIED IDEOGRAPH +0xEDA0 0x605D #CJK UNIFIED IDEOGRAPH +0xEDA1 0x6085 #CJK UNIFIED IDEOGRAPH +0xEDA2 0x608A #CJK UNIFIED IDEOGRAPH +0xEDA3 0x60DE #CJK UNIFIED IDEOGRAPH +0xEDA4 0x60D5 #CJK UNIFIED IDEOGRAPH +0xEDA5 0x6120 #CJK UNIFIED IDEOGRAPH +0xEDA6 0x60F2 #CJK UNIFIED IDEOGRAPH +0xEDA7 0x6111 #CJK UNIFIED IDEOGRAPH +0xEDA8 0x6137 #CJK UNIFIED IDEOGRAPH +0xEDA9 0x6130 #CJK UNIFIED IDEOGRAPH +0xEDAA 0x6198 #CJK UNIFIED IDEOGRAPH +0xEDAB 0x6213 #CJK UNIFIED IDEOGRAPH +0xEDAC 0x62A6 #CJK UNIFIED IDEOGRAPH +0xEDAD 0x63F5 #CJK UNIFIED IDEOGRAPH +0xEDAE 0x6460 #CJK UNIFIED IDEOGRAPH +0xEDAF 0x649D #CJK UNIFIED IDEOGRAPH +0xEDB0 0x64CE #CJK UNIFIED IDEOGRAPH +0xEDB1 0x654E #CJK UNIFIED IDEOGRAPH +0xEDB2 0x6600 #CJK UNIFIED IDEOGRAPH +0xEDB3 0x6615 #CJK UNIFIED IDEOGRAPH +0xEDB4 0x663B #CJK UNIFIED IDEOGRAPH +0xEDB5 0x6609 #CJK UNIFIED IDEOGRAPH +0xEDB6 0x662E #CJK UNIFIED IDEOGRAPH +0xEDB7 0x661E #CJK UNIFIED IDEOGRAPH +0xEDB8 0x6624 #CJK UNIFIED IDEOGRAPH +0xEDB9 0x6665 #CJK UNIFIED IDEOGRAPH +0xEDBA 0x6657 #CJK UNIFIED IDEOGRAPH +0xEDBB 0x6659 #CJK UNIFIED IDEOGRAPH +0xEDBC 0xFA12 #CJK COMPATIBILITY IDEOGRAPH +0xEDBD 0x6673 #CJK UNIFIED IDEOGRAPH +0xEDBE 0x6699 #CJK UNIFIED IDEOGRAPH +0xEDBF 0x66A0 #CJK UNIFIED IDEOGRAPH +0xEDC0 0x66B2 #CJK UNIFIED IDEOGRAPH +0xEDC1 0x66BF #CJK UNIFIED IDEOGRAPH +0xEDC2 0x66FA #CJK UNIFIED IDEOGRAPH +0xEDC3 0x670E #CJK UNIFIED IDEOGRAPH +0xEDC4 0xF929 #CJK COMPATIBILITY IDEOGRAPH +0xEDC5 0x6766 #CJK UNIFIED IDEOGRAPH +0xEDC6 0x67BB #CJK UNIFIED IDEOGRAPH +0xEDC7 0x6852 #CJK UNIFIED IDEOGRAPH +0xEDC8 0x67C0 #CJK UNIFIED IDEOGRAPH +0xEDC9 0x6801 #CJK UNIFIED IDEOGRAPH +0xEDCA 0x6844 #CJK UNIFIED IDEOGRAPH +0xEDCB 0x68CF #CJK UNIFIED IDEOGRAPH +0xEDCC 0xFA13 #CJK COMPATIBILITY IDEOGRAPH +0xEDCD 0x6968 #CJK UNIFIED IDEOGRAPH +0xEDCE 0xFA14 #CJK COMPATIBILITY IDEOGRAPH +0xEDCF 0x6998 #CJK UNIFIED IDEOGRAPH +0xEDD0 0x69E2 #CJK UNIFIED IDEOGRAPH +0xEDD1 0x6A30 #CJK UNIFIED IDEOGRAPH +0xEDD2 0x6A6B #CJK UNIFIED IDEOGRAPH +0xEDD3 0x6A46 #CJK UNIFIED IDEOGRAPH +0xEDD4 0x6A73 #CJK UNIFIED IDEOGRAPH +0xEDD5 0x6A7E #CJK UNIFIED IDEOGRAPH +0xEDD6 0x6AE2 #CJK UNIFIED IDEOGRAPH +0xEDD7 0x6AE4 #CJK UNIFIED IDEOGRAPH +0xEDD8 0x6BD6 #CJK UNIFIED IDEOGRAPH +0xEDD9 0x6C3F #CJK UNIFIED IDEOGRAPH +0xEDDA 0x6C5C #CJK UNIFIED IDEOGRAPH +0xEDDB 0x6C86 #CJK UNIFIED IDEOGRAPH +0xEDDC 0x6C6F #CJK UNIFIED IDEOGRAPH +0xEDDD 0x6CDA #CJK UNIFIED IDEOGRAPH +0xEDDE 0x6D04 #CJK UNIFIED IDEOGRAPH +0xEDDF 0x6D87 #CJK UNIFIED IDEOGRAPH +0xEDE0 0x6D6F #CJK UNIFIED IDEOGRAPH +0xEDE1 0x6D96 #CJK UNIFIED IDEOGRAPH +0xEDE2 0x6DAC #CJK UNIFIED IDEOGRAPH +0xEDE3 0x6DCF #CJK UNIFIED IDEOGRAPH +0xEDE4 0x6DF8 #CJK UNIFIED IDEOGRAPH +0xEDE5 0x6DF2 #CJK UNIFIED IDEOGRAPH +0xEDE6 0x6DFC #CJK UNIFIED IDEOGRAPH +0xEDE7 0x6E39 #CJK UNIFIED IDEOGRAPH +0xEDE8 0x6E5C #CJK UNIFIED IDEOGRAPH +0xEDE9 0x6E27 #CJK UNIFIED IDEOGRAPH +0xEDEA 0x6E3C #CJK UNIFIED IDEOGRAPH +0xEDEB 0x6EBF #CJK UNIFIED IDEOGRAPH +0xEDEC 0x6F88 #CJK UNIFIED IDEOGRAPH +0xEDED 0x6FB5 #CJK UNIFIED IDEOGRAPH +0xEDEE 0x6FF5 #CJK UNIFIED IDEOGRAPH +0xEDEF 0x7005 #CJK UNIFIED IDEOGRAPH +0xEDF0 0x7007 #CJK UNIFIED IDEOGRAPH +0xEDF1 0x7028 #CJK UNIFIED IDEOGRAPH +0xEDF2 0x7085 #CJK UNIFIED IDEOGRAPH +0xEDF3 0x70AB #CJK UNIFIED IDEOGRAPH +0xEDF4 0x710F #CJK UNIFIED IDEOGRAPH +0xEDF5 0x7104 #CJK UNIFIED IDEOGRAPH +0xEDF6 0x715C #CJK UNIFIED IDEOGRAPH +0xEDF7 0x7146 #CJK UNIFIED IDEOGRAPH +0xEDF8 0x7147 #CJK UNIFIED IDEOGRAPH +0xEDF9 0xFA15 #CJK COMPATIBILITY IDEOGRAPH +0xEDFA 0x71C1 #CJK UNIFIED IDEOGRAPH +0xEDFB 0x71FE #CJK UNIFIED IDEOGRAPH +0xEDFC 0x72B1 #CJK UNIFIED IDEOGRAPH +0xEE40 0x72BE #CJK UNIFIED IDEOGRAPH +0xEE41 0x7324 #CJK UNIFIED IDEOGRAPH +0xEE42 0xFA16 #CJK COMPATIBILITY IDEOGRAPH +0xEE43 0x7377 #CJK UNIFIED IDEOGRAPH +0xEE44 0x73BD #CJK UNIFIED IDEOGRAPH +0xEE45 0x73C9 #CJK UNIFIED IDEOGRAPH +0xEE46 0x73D6 #CJK UNIFIED IDEOGRAPH +0xEE47 0x73E3 #CJK UNIFIED IDEOGRAPH +0xEE48 0x73D2 #CJK UNIFIED IDEOGRAPH +0xEE49 0x7407 #CJK UNIFIED IDEOGRAPH +0xEE4A 0x73F5 #CJK UNIFIED IDEOGRAPH +0xEE4B 0x7426 #CJK UNIFIED IDEOGRAPH +0xEE4C 0x742A #CJK UNIFIED IDEOGRAPH +0xEE4D 0x7429 #CJK UNIFIED IDEOGRAPH +0xEE4E 0x742E #CJK UNIFIED IDEOGRAPH +0xEE4F 0x7462 #CJK UNIFIED IDEOGRAPH +0xEE50 0x7489 #CJK UNIFIED IDEOGRAPH +0xEE51 0x749F #CJK UNIFIED IDEOGRAPH +0xEE52 0x7501 #CJK UNIFIED IDEOGRAPH +0xEE53 0x756F #CJK UNIFIED IDEOGRAPH +0xEE54 0x7682 #CJK UNIFIED IDEOGRAPH +0xEE55 0x769C #CJK UNIFIED IDEOGRAPH +0xEE56 0x769E #CJK UNIFIED IDEOGRAPH +0xEE57 0x769B #CJK UNIFIED IDEOGRAPH +0xEE58 0x76A6 #CJK UNIFIED IDEOGRAPH +0xEE59 0xFA17 #CJK COMPATIBILITY IDEOGRAPH +0xEE5A 0x7746 #CJK UNIFIED IDEOGRAPH +0xEE5B 0x52AF #CJK UNIFIED IDEOGRAPH +0xEE5C 0x7821 #CJK UNIFIED IDEOGRAPH +0xEE5D 0x784E #CJK UNIFIED IDEOGRAPH +0xEE5E 0x7864 #CJK UNIFIED IDEOGRAPH +0xEE5F 0x787A #CJK UNIFIED IDEOGRAPH +0xEE60 0x7930 #CJK UNIFIED IDEOGRAPH +0xEE61 0xFA18 #CJK COMPATIBILITY IDEOGRAPH +0xEE62 0xFA19 #CJK COMPATIBILITY IDEOGRAPH +0xEE63 0xFA1A #CJK COMPATIBILITY IDEOGRAPH +0xEE64 0x7994 #CJK UNIFIED IDEOGRAPH +0xEE65 0xFA1B #CJK COMPATIBILITY IDEOGRAPH +0xEE66 0x799B #CJK UNIFIED IDEOGRAPH +0xEE67 0x7AD1 #CJK UNIFIED IDEOGRAPH +0xEE68 0x7AE7 #CJK UNIFIED IDEOGRAPH +0xEE69 0xFA1C #CJK COMPATIBILITY IDEOGRAPH +0xEE6A 0x7AEB #CJK UNIFIED IDEOGRAPH +0xEE6B 0x7B9E #CJK UNIFIED IDEOGRAPH +0xEE6C 0xFA1D #CJK COMPATIBILITY IDEOGRAPH +0xEE6D 0x7D48 #CJK UNIFIED IDEOGRAPH +0xEE6E 0x7D5C #CJK UNIFIED IDEOGRAPH +0xEE6F 0x7DB7 #CJK UNIFIED IDEOGRAPH +0xEE70 0x7DA0 #CJK UNIFIED IDEOGRAPH +0xEE71 0x7DD6 #CJK UNIFIED IDEOGRAPH +0xEE72 0x7E52 #CJK UNIFIED IDEOGRAPH +0xEE73 0x7F47 #CJK UNIFIED IDEOGRAPH +0xEE74 0x7FA1 #CJK UNIFIED IDEOGRAPH +0xEE75 0xFA1E #CJK COMPATIBILITY IDEOGRAPH +0xEE76 0x8301 #CJK UNIFIED IDEOGRAPH +0xEE77 0x8362 #CJK UNIFIED IDEOGRAPH +0xEE78 0x837F #CJK UNIFIED IDEOGRAPH +0xEE79 0x83C7 #CJK UNIFIED IDEOGRAPH +0xEE7A 0x83F6 #CJK UNIFIED IDEOGRAPH +0xEE7B 0x8448 #CJK UNIFIED IDEOGRAPH +0xEE7C 0x84B4 #CJK UNIFIED IDEOGRAPH +0xEE7D 0x8553 #CJK UNIFIED IDEOGRAPH +0xEE7E 0x8559 #CJK UNIFIED IDEOGRAPH +0xEE80 0x856B #CJK UNIFIED IDEOGRAPH +0xEE81 0xFA1F #CJK COMPATIBILITY IDEOGRAPH +0xEE82 0x85B0 #CJK UNIFIED IDEOGRAPH +0xEE83 0xFA20 #CJK COMPATIBILITY IDEOGRAPH +0xEE84 0xFA21 #CJK COMPATIBILITY IDEOGRAPH +0xEE85 0x8807 #CJK UNIFIED IDEOGRAPH +0xEE86 0x88F5 #CJK UNIFIED IDEOGRAPH +0xEE87 0x8A12 #CJK UNIFIED IDEOGRAPH +0xEE88 0x8A37 #CJK UNIFIED IDEOGRAPH +0xEE89 0x8A79 #CJK UNIFIED IDEOGRAPH +0xEE8A 0x8AA7 #CJK UNIFIED IDEOGRAPH +0xEE8B 0x8ABE #CJK UNIFIED IDEOGRAPH +0xEE8C 0x8ADF #CJK UNIFIED IDEOGRAPH +0xEE8D 0xFA22 #CJK COMPATIBILITY IDEOGRAPH +0xEE8E 0x8AF6 #CJK UNIFIED IDEOGRAPH +0xEE8F 0x8B53 #CJK UNIFIED IDEOGRAPH +0xEE90 0x8B7F #CJK UNIFIED IDEOGRAPH +0xEE91 0x8CF0 #CJK UNIFIED IDEOGRAPH +0xEE92 0x8CF4 #CJK UNIFIED IDEOGRAPH +0xEE93 0x8D12 #CJK UNIFIED IDEOGRAPH +0xEE94 0x8D76 #CJK UNIFIED IDEOGRAPH +0xEE95 0xFA23 #CJK COMPATIBILITY IDEOGRAPH +0xEE96 0x8ECF #CJK UNIFIED IDEOGRAPH +0xEE97 0xFA24 #CJK COMPATIBILITY IDEOGRAPH +0xEE98 0xFA25 #CJK COMPATIBILITY IDEOGRAPH +0xEE99 0x9067 #CJK UNIFIED IDEOGRAPH +0xEE9A 0x90DE #CJK UNIFIED IDEOGRAPH +0xEE9B 0xFA26 #CJK COMPATIBILITY IDEOGRAPH +0xEE9C 0x9115 #CJK UNIFIED IDEOGRAPH +0xEE9D 0x9127 #CJK UNIFIED IDEOGRAPH +0xEE9E 0x91DA #CJK UNIFIED IDEOGRAPH +0xEE9F 0x91D7 #CJK UNIFIED IDEOGRAPH +0xEEA0 0x91DE #CJK UNIFIED IDEOGRAPH +0xEEA1 0x91ED #CJK UNIFIED IDEOGRAPH +0xEEA2 0x91EE #CJK UNIFIED IDEOGRAPH +0xEEA3 0x91E4 #CJK UNIFIED IDEOGRAPH +0xEEA4 0x91E5 #CJK UNIFIED IDEOGRAPH +0xEEA5 0x9206 #CJK UNIFIED IDEOGRAPH +0xEEA6 0x9210 #CJK UNIFIED IDEOGRAPH +0xEEA7 0x920A #CJK UNIFIED IDEOGRAPH +0xEEA8 0x923A #CJK UNIFIED IDEOGRAPH +0xEEA9 0x9240 #CJK UNIFIED IDEOGRAPH +0xEEAA 0x923C #CJK UNIFIED IDEOGRAPH +0xEEAB 0x924E #CJK UNIFIED IDEOGRAPH +0xEEAC 0x9259 #CJK UNIFIED IDEOGRAPH +0xEEAD 0x9251 #CJK UNIFIED IDEOGRAPH +0xEEAE 0x9239 #CJK UNIFIED IDEOGRAPH +0xEEAF 0x9267 #CJK UNIFIED IDEOGRAPH +0xEEB0 0x92A7 #CJK UNIFIED IDEOGRAPH +0xEEB1 0x9277 #CJK UNIFIED IDEOGRAPH +0xEEB2 0x9278 #CJK UNIFIED IDEOGRAPH +0xEEB3 0x92E7 #CJK UNIFIED IDEOGRAPH +0xEEB4 0x92D7 #CJK UNIFIED IDEOGRAPH +0xEEB5 0x92D9 #CJK UNIFIED IDEOGRAPH +0xEEB6 0x92D0 #CJK UNIFIED IDEOGRAPH +0xEEB7 0xFA27 #CJK COMPATIBILITY IDEOGRAPH +0xEEB8 0x92D5 #CJK UNIFIED IDEOGRAPH +0xEEB9 0x92E0 #CJK UNIFIED IDEOGRAPH +0xEEBA 0x92D3 #CJK UNIFIED IDEOGRAPH +0xEEBB 0x9325 #CJK UNIFIED IDEOGRAPH +0xEEBC 0x9321 #CJK UNIFIED IDEOGRAPH +0xEEBD 0x92FB #CJK UNIFIED IDEOGRAPH +0xEEBE 0xFA28 #CJK COMPATIBILITY IDEOGRAPH +0xEEBF 0x931E #CJK UNIFIED IDEOGRAPH +0xEEC0 0x92FF #CJK UNIFIED IDEOGRAPH +0xEEC1 0x931D #CJK UNIFIED IDEOGRAPH +0xEEC2 0x9302 #CJK UNIFIED IDEOGRAPH +0xEEC3 0x9370 #CJK UNIFIED IDEOGRAPH +0xEEC4 0x9357 #CJK UNIFIED IDEOGRAPH +0xEEC5 0x93A4 #CJK UNIFIED IDEOGRAPH +0xEEC6 0x93C6 #CJK UNIFIED IDEOGRAPH +0xEEC7 0x93DE #CJK UNIFIED IDEOGRAPH +0xEEC8 0x93F8 #CJK UNIFIED IDEOGRAPH +0xEEC9 0x9431 #CJK UNIFIED IDEOGRAPH +0xEECA 0x9445 #CJK UNIFIED IDEOGRAPH +0xEECB 0x9448 #CJK UNIFIED IDEOGRAPH +0xEECC 0x9592 #CJK UNIFIED IDEOGRAPH +0xEECD 0xF9DC #CJK COMPATIBILITY IDEOGRAPH +0xEECE 0xFA29 #CJK COMPATIBILITY IDEOGRAPH +0xEECF 0x969D #CJK UNIFIED IDEOGRAPH +0xEED0 0x96AF #CJK UNIFIED IDEOGRAPH +0xEED1 0x9733 #CJK UNIFIED IDEOGRAPH +0xEED2 0x973B #CJK UNIFIED IDEOGRAPH +0xEED3 0x9743 #CJK UNIFIED IDEOGRAPH +0xEED4 0x974D #CJK UNIFIED IDEOGRAPH +0xEED5 0x974F #CJK UNIFIED IDEOGRAPH +0xEED6 0x9751 #CJK UNIFIED IDEOGRAPH +0xEED7 0x9755 #CJK UNIFIED IDEOGRAPH +0xEED8 0x9857 #CJK UNIFIED IDEOGRAPH +0xEED9 0x9865 #CJK UNIFIED IDEOGRAPH +0xEEDA 0xFA2A #CJK COMPATIBILITY IDEOGRAPH +0xEEDB 0xFA2B #CJK COMPATIBILITY IDEOGRAPH +0xEEDC 0x9927 #CJK UNIFIED IDEOGRAPH +0xEEDD 0xFA2C #CJK COMPATIBILITY IDEOGRAPH +0xEEDE 0x999E #CJK UNIFIED IDEOGRAPH +0xEEDF 0x9A4E #CJK UNIFIED IDEOGRAPH +0xEEE0 0x9AD9 #CJK UNIFIED IDEOGRAPH +0xEEE1 0x9ADC #CJK UNIFIED IDEOGRAPH +0xEEE2 0x9B75 #CJK UNIFIED IDEOGRAPH +0xEEE3 0x9B72 #CJK UNIFIED IDEOGRAPH +0xEEE4 0x9B8F #CJK UNIFIED IDEOGRAPH +0xEEE5 0x9BB1 #CJK UNIFIED IDEOGRAPH +0xEEE6 0x9BBB #CJK UNIFIED IDEOGRAPH +0xEEE7 0x9C00 #CJK UNIFIED IDEOGRAPH +0xEEE8 0x9D70 #CJK UNIFIED IDEOGRAPH +0xEEE9 0x9D6B #CJK UNIFIED IDEOGRAPH +0xEEEA 0xFA2D #CJK COMPATIBILITY IDEOGRAPH +0xEEEB 0x9E19 #CJK UNIFIED IDEOGRAPH +0xEEEC 0x9ED1 #CJK UNIFIED IDEOGRAPH +0xEEEF 0x2170 #SMALL ROMAN NUMERAL ONE +0xEEF0 0x2171 #SMALL ROMAN NUMERAL TWO +0xEEF1 0x2172 #SMALL ROMAN NUMERAL THREE +0xEEF2 0x2173 #SMALL ROMAN NUMERAL FOUR +0xEEF3 0x2174 #SMALL ROMAN NUMERAL FIVE +0xEEF4 0x2175 #SMALL ROMAN NUMERAL SIX +0xEEF5 0x2176 #SMALL ROMAN NUMERAL SEVEN +0xEEF6 0x2177 #SMALL ROMAN NUMERAL EIGHT +0xEEF7 0x2178 #SMALL ROMAN NUMERAL NINE +0xEEF8 0x2179 #SMALL ROMAN NUMERAL TEN +0xEEF9 0xFFE2 #FULLWIDTH NOT SIGN +0xEEFA 0xFFE4 #FULLWIDTH BROKEN BAR +0xEEFB 0xFF07 #FULLWIDTH APOSTROPHE +0xEEFC 0xFF02 #FULLWIDTH QUOTATION MARK +0xFA40 0x2170 #SMALL ROMAN NUMERAL ONE +0xFA41 0x2171 #SMALL ROMAN NUMERAL TWO +0xFA42 0x2172 #SMALL ROMAN NUMERAL THREE +0xFA43 0x2173 #SMALL ROMAN NUMERAL FOUR +0xFA44 0x2174 #SMALL ROMAN NUMERAL FIVE +0xFA45 0x2175 #SMALL ROMAN NUMERAL SIX +0xFA46 0x2176 #SMALL ROMAN NUMERAL SEVEN +0xFA47 0x2177 #SMALL ROMAN NUMERAL EIGHT +0xFA48 0x2178 #SMALL ROMAN NUMERAL NINE +0xFA49 0x2179 #SMALL ROMAN NUMERAL TEN +0xFA4A 0x2160 #ROMAN NUMERAL ONE +0xFA4B 0x2161 #ROMAN NUMERAL TWO +0xFA4C 0x2162 #ROMAN NUMERAL THREE +0xFA4D 0x2163 #ROMAN NUMERAL FOUR +0xFA4E 0x2164 #ROMAN NUMERAL FIVE +0xFA4F 0x2165 #ROMAN NUMERAL SIX +0xFA50 0x2166 #ROMAN NUMERAL SEVEN +0xFA51 0x2167 #ROMAN NUMERAL EIGHT +0xFA52 0x2168 #ROMAN NUMERAL NINE +0xFA53 0x2169 #ROMAN NUMERAL TEN +0xFA54 0xFFE2 #FULLWIDTH NOT SIGN +0xFA55 0xFFE4 #FULLWIDTH BROKEN BAR +0xFA56 0xFF07 #FULLWIDTH APOSTROPHE +0xFA57 0xFF02 #FULLWIDTH QUOTATION MARK +0xFA58 0x3231 #PARENTHESIZED IDEOGRAPH STOCK +0xFA59 0x2116 #NUMERO SIGN +0xFA5A 0x2121 #TELEPHONE SIGN +0xFA5B 0x2235 #BECAUSE +0xFA5C 0x7E8A #CJK UNIFIED IDEOGRAPH +0xFA5D 0x891C #CJK UNIFIED IDEOGRAPH +0xFA5E 0x9348 #CJK UNIFIED IDEOGRAPH +0xFA5F 0x9288 #CJK UNIFIED IDEOGRAPH +0xFA60 0x84DC #CJK UNIFIED IDEOGRAPH +0xFA61 0x4FC9 #CJK UNIFIED IDEOGRAPH +0xFA62 0x70BB #CJK UNIFIED IDEOGRAPH +0xFA63 0x6631 #CJK UNIFIED IDEOGRAPH +0xFA64 0x68C8 #CJK UNIFIED IDEOGRAPH +0xFA65 0x92F9 #CJK UNIFIED IDEOGRAPH +0xFA66 0x66FB #CJK UNIFIED IDEOGRAPH +0xFA67 0x5F45 #CJK UNIFIED IDEOGRAPH +0xFA68 0x4E28 #CJK UNIFIED IDEOGRAPH +0xFA69 0x4EE1 #CJK UNIFIED IDEOGRAPH +0xFA6A 0x4EFC #CJK UNIFIED IDEOGRAPH +0xFA6B 0x4F00 #CJK UNIFIED IDEOGRAPH +0xFA6C 0x4F03 #CJK UNIFIED IDEOGRAPH +0xFA6D 0x4F39 #CJK UNIFIED IDEOGRAPH +0xFA6E 0x4F56 #CJK UNIFIED IDEOGRAPH +0xFA6F 0x4F92 #CJK UNIFIED IDEOGRAPH +0xFA70 0x4F8A #CJK UNIFIED IDEOGRAPH +0xFA71 0x4F9A #CJK UNIFIED IDEOGRAPH +0xFA72 0x4F94 #CJK UNIFIED IDEOGRAPH +0xFA73 0x4FCD #CJK UNIFIED IDEOGRAPH +0xFA74 0x5040 #CJK UNIFIED IDEOGRAPH +0xFA75 0x5022 #CJK UNIFIED IDEOGRAPH +0xFA76 0x4FFF #CJK UNIFIED IDEOGRAPH +0xFA77 0x501E #CJK UNIFIED IDEOGRAPH +0xFA78 0x5046 #CJK UNIFIED IDEOGRAPH +0xFA79 0x5070 #CJK UNIFIED IDEOGRAPH +0xFA7A 0x5042 #CJK UNIFIED IDEOGRAPH +0xFA7B 0x5094 #CJK UNIFIED IDEOGRAPH +0xFA7C 0x50F4 #CJK UNIFIED IDEOGRAPH +0xFA7D 0x50D8 #CJK UNIFIED IDEOGRAPH +0xFA7E 0x514A #CJK UNIFIED IDEOGRAPH +0xFA80 0x5164 #CJK UNIFIED IDEOGRAPH +0xFA81 0x519D #CJK UNIFIED IDEOGRAPH +0xFA82 0x51BE #CJK UNIFIED IDEOGRAPH +0xFA83 0x51EC #CJK UNIFIED IDEOGRAPH +0xFA84 0x5215 #CJK UNIFIED IDEOGRAPH +0xFA85 0x529C #CJK UNIFIED IDEOGRAPH +0xFA86 0x52A6 #CJK UNIFIED IDEOGRAPH +0xFA87 0x52C0 #CJK UNIFIED IDEOGRAPH +0xFA88 0x52DB #CJK UNIFIED IDEOGRAPH +0xFA89 0x5300 #CJK UNIFIED IDEOGRAPH +0xFA8A 0x5307 #CJK UNIFIED IDEOGRAPH +0xFA8B 0x5324 #CJK UNIFIED IDEOGRAPH +0xFA8C 0x5372 #CJK UNIFIED IDEOGRAPH +0xFA8D 0x5393 #CJK UNIFIED IDEOGRAPH +0xFA8E 0x53B2 #CJK UNIFIED IDEOGRAPH +0xFA8F 0x53DD #CJK UNIFIED IDEOGRAPH +0xFA90 0xFA0E #CJK COMPATIBILITY IDEOGRAPH +0xFA91 0x549C #CJK UNIFIED IDEOGRAPH +0xFA92 0x548A #CJK UNIFIED IDEOGRAPH +0xFA93 0x54A9 #CJK UNIFIED IDEOGRAPH +0xFA94 0x54FF #CJK UNIFIED IDEOGRAPH +0xFA95 0x5586 #CJK UNIFIED IDEOGRAPH +0xFA96 0x5759 #CJK UNIFIED IDEOGRAPH +0xFA97 0x5765 #CJK UNIFIED IDEOGRAPH +0xFA98 0x57AC #CJK UNIFIED IDEOGRAPH +0xFA99 0x57C8 #CJK UNIFIED IDEOGRAPH +0xFA9A 0x57C7 #CJK UNIFIED IDEOGRAPH +0xFA9B 0xFA0F #CJK COMPATIBILITY IDEOGRAPH +0xFA9C 0xFA10 #CJK COMPATIBILITY IDEOGRAPH +0xFA9D 0x589E #CJK UNIFIED IDEOGRAPH +0xFA9E 0x58B2 #CJK UNIFIED IDEOGRAPH +0xFA9F 0x590B #CJK UNIFIED IDEOGRAPH +0xFAA0 0x5953 #CJK UNIFIED IDEOGRAPH +0xFAA1 0x595B #CJK UNIFIED IDEOGRAPH +0xFAA2 0x595D #CJK UNIFIED IDEOGRAPH +0xFAA3 0x5963 #CJK UNIFIED IDEOGRAPH +0xFAA4 0x59A4 #CJK UNIFIED IDEOGRAPH +0xFAA5 0x59BA #CJK UNIFIED IDEOGRAPH +0xFAA6 0x5B56 #CJK UNIFIED IDEOGRAPH +0xFAA7 0x5BC0 #CJK UNIFIED IDEOGRAPH +0xFAA8 0x752F #CJK UNIFIED IDEOGRAPH +0xFAA9 0x5BD8 #CJK UNIFIED IDEOGRAPH +0xFAAA 0x5BEC #CJK UNIFIED IDEOGRAPH +0xFAAB 0x5C1E #CJK UNIFIED IDEOGRAPH +0xFAAC 0x5CA6 #CJK UNIFIED IDEOGRAPH +0xFAAD 0x5CBA #CJK UNIFIED IDEOGRAPH +0xFAAE 0x5CF5 #CJK UNIFIED IDEOGRAPH +0xFAAF 0x5D27 #CJK UNIFIED IDEOGRAPH +0xFAB0 0x5D53 #CJK UNIFIED IDEOGRAPH +0xFAB1 0xFA11 #CJK COMPATIBILITY IDEOGRAPH +0xFAB2 0x5D42 #CJK UNIFIED IDEOGRAPH +0xFAB3 0x5D6D #CJK UNIFIED IDEOGRAPH +0xFAB4 0x5DB8 #CJK UNIFIED IDEOGRAPH +0xFAB5 0x5DB9 #CJK UNIFIED IDEOGRAPH +0xFAB6 0x5DD0 #CJK UNIFIED IDEOGRAPH +0xFAB7 0x5F21 #CJK UNIFIED IDEOGRAPH +0xFAB8 0x5F34 #CJK UNIFIED IDEOGRAPH +0xFAB9 0x5F67 #CJK UNIFIED IDEOGRAPH +0xFABA 0x5FB7 #CJK UNIFIED IDEOGRAPH +0xFABB 0x5FDE #CJK UNIFIED IDEOGRAPH +0xFABC 0x605D #CJK UNIFIED IDEOGRAPH +0xFABD 0x6085 #CJK UNIFIED IDEOGRAPH +0xFABE 0x608A #CJK UNIFIED IDEOGRAPH +0xFABF 0x60DE #CJK UNIFIED IDEOGRAPH +0xFAC0 0x60D5 #CJK UNIFIED IDEOGRAPH +0xFAC1 0x6120 #CJK UNIFIED IDEOGRAPH +0xFAC2 0x60F2 #CJK UNIFIED IDEOGRAPH +0xFAC3 0x6111 #CJK UNIFIED IDEOGRAPH +0xFAC4 0x6137 #CJK UNIFIED IDEOGRAPH +0xFAC5 0x6130 #CJK UNIFIED IDEOGRAPH +0xFAC6 0x6198 #CJK UNIFIED IDEOGRAPH +0xFAC7 0x6213 #CJK UNIFIED IDEOGRAPH +0xFAC8 0x62A6 #CJK UNIFIED IDEOGRAPH +0xFAC9 0x63F5 #CJK UNIFIED IDEOGRAPH +0xFACA 0x6460 #CJK UNIFIED IDEOGRAPH +0xFACB 0x649D #CJK UNIFIED IDEOGRAPH +0xFACC 0x64CE #CJK UNIFIED IDEOGRAPH +0xFACD 0x654E #CJK UNIFIED IDEOGRAPH +0xFACE 0x6600 #CJK UNIFIED IDEOGRAPH +0xFACF 0x6615 #CJK UNIFIED IDEOGRAPH +0xFAD0 0x663B #CJK UNIFIED IDEOGRAPH +0xFAD1 0x6609 #CJK UNIFIED IDEOGRAPH +0xFAD2 0x662E #CJK UNIFIED IDEOGRAPH +0xFAD3 0x661E #CJK UNIFIED IDEOGRAPH +0xFAD4 0x6624 #CJK UNIFIED IDEOGRAPH +0xFAD5 0x6665 #CJK UNIFIED IDEOGRAPH +0xFAD6 0x6657 #CJK UNIFIED IDEOGRAPH +0xFAD7 0x6659 #CJK UNIFIED IDEOGRAPH +0xFAD8 0xFA12 #CJK COMPATIBILITY IDEOGRAPH +0xFAD9 0x6673 #CJK UNIFIED IDEOGRAPH +0xFADA 0x6699 #CJK UNIFIED IDEOGRAPH +0xFADB 0x66A0 #CJK UNIFIED IDEOGRAPH +0xFADC 0x66B2 #CJK UNIFIED IDEOGRAPH +0xFADD 0x66BF #CJK UNIFIED IDEOGRAPH +0xFADE 0x66FA #CJK UNIFIED IDEOGRAPH +0xFADF 0x670E #CJK UNIFIED IDEOGRAPH +0xFAE0 0xF929 #CJK COMPATIBILITY IDEOGRAPH +0xFAE1 0x6766 #CJK UNIFIED IDEOGRAPH +0xFAE2 0x67BB #CJK UNIFIED IDEOGRAPH +0xFAE3 0x6852 #CJK UNIFIED IDEOGRAPH +0xFAE4 0x67C0 #CJK UNIFIED IDEOGRAPH +0xFAE5 0x6801 #CJK UNIFIED IDEOGRAPH +0xFAE6 0x6844 #CJK UNIFIED IDEOGRAPH +0xFAE7 0x68CF #CJK UNIFIED IDEOGRAPH +0xFAE8 0xFA13 #CJK COMPATIBILITY IDEOGRAPH +0xFAE9 0x6968 #CJK UNIFIED IDEOGRAPH +0xFAEA 0xFA14 #CJK COMPATIBILITY IDEOGRAPH +0xFAEB 0x6998 #CJK UNIFIED IDEOGRAPH +0xFAEC 0x69E2 #CJK UNIFIED IDEOGRAPH +0xFAED 0x6A30 #CJK UNIFIED IDEOGRAPH +0xFAEE 0x6A6B #CJK UNIFIED IDEOGRAPH +0xFAEF 0x6A46 #CJK UNIFIED IDEOGRAPH +0xFAF0 0x6A73 #CJK UNIFIED IDEOGRAPH +0xFAF1 0x6A7E #CJK UNIFIED IDEOGRAPH +0xFAF2 0x6AE2 #CJK UNIFIED IDEOGRAPH +0xFAF3 0x6AE4 #CJK UNIFIED IDEOGRAPH +0xFAF4 0x6BD6 #CJK UNIFIED IDEOGRAPH +0xFAF5 0x6C3F #CJK UNIFIED IDEOGRAPH +0xFAF6 0x6C5C #CJK UNIFIED IDEOGRAPH +0xFAF7 0x6C86 #CJK UNIFIED IDEOGRAPH +0xFAF8 0x6C6F #CJK UNIFIED IDEOGRAPH +0xFAF9 0x6CDA #CJK UNIFIED IDEOGRAPH +0xFAFA 0x6D04 #CJK UNIFIED IDEOGRAPH +0xFAFB 0x6D87 #CJK UNIFIED IDEOGRAPH +0xFAFC 0x6D6F #CJK UNIFIED IDEOGRAPH +0xFB40 0x6D96 #CJK UNIFIED IDEOGRAPH +0xFB41 0x6DAC #CJK UNIFIED IDEOGRAPH +0xFB42 0x6DCF #CJK UNIFIED IDEOGRAPH +0xFB43 0x6DF8 #CJK UNIFIED IDEOGRAPH +0xFB44 0x6DF2 #CJK UNIFIED IDEOGRAPH +0xFB45 0x6DFC #CJK UNIFIED IDEOGRAPH +0xFB46 0x6E39 #CJK UNIFIED IDEOGRAPH +0xFB47 0x6E5C #CJK UNIFIED IDEOGRAPH +0xFB48 0x6E27 #CJK UNIFIED IDEOGRAPH +0xFB49 0x6E3C #CJK UNIFIED IDEOGRAPH +0xFB4A 0x6EBF #CJK UNIFIED IDEOGRAPH +0xFB4B 0x6F88 #CJK UNIFIED IDEOGRAPH +0xFB4C 0x6FB5 #CJK UNIFIED IDEOGRAPH +0xFB4D 0x6FF5 #CJK UNIFIED IDEOGRAPH +0xFB4E 0x7005 #CJK UNIFIED IDEOGRAPH +0xFB4F 0x7007 #CJK UNIFIED IDEOGRAPH +0xFB50 0x7028 #CJK UNIFIED IDEOGRAPH +0xFB51 0x7085 #CJK UNIFIED IDEOGRAPH +0xFB52 0x70AB #CJK UNIFIED IDEOGRAPH +0xFB53 0x710F #CJK UNIFIED IDEOGRAPH +0xFB54 0x7104 #CJK UNIFIED IDEOGRAPH +0xFB55 0x715C #CJK UNIFIED IDEOGRAPH +0xFB56 0x7146 #CJK UNIFIED IDEOGRAPH +0xFB57 0x7147 #CJK UNIFIED IDEOGRAPH +0xFB58 0xFA15 #CJK COMPATIBILITY IDEOGRAPH +0xFB59 0x71C1 #CJK UNIFIED IDEOGRAPH +0xFB5A 0x71FE #CJK UNIFIED IDEOGRAPH +0xFB5B 0x72B1 #CJK UNIFIED IDEOGRAPH +0xFB5C 0x72BE #CJK UNIFIED IDEOGRAPH +0xFB5D 0x7324 #CJK UNIFIED IDEOGRAPH +0xFB5E 0xFA16 #CJK COMPATIBILITY IDEOGRAPH +0xFB5F 0x7377 #CJK UNIFIED IDEOGRAPH +0xFB60 0x73BD #CJK UNIFIED IDEOGRAPH +0xFB61 0x73C9 #CJK UNIFIED IDEOGRAPH +0xFB62 0x73D6 #CJK UNIFIED IDEOGRAPH +0xFB63 0x73E3 #CJK UNIFIED IDEOGRAPH +0xFB64 0x73D2 #CJK UNIFIED IDEOGRAPH +0xFB65 0x7407 #CJK UNIFIED IDEOGRAPH +0xFB66 0x73F5 #CJK UNIFIED IDEOGRAPH +0xFB67 0x7426 #CJK UNIFIED IDEOGRAPH +0xFB68 0x742A #CJK UNIFIED IDEOGRAPH +0xFB69 0x7429 #CJK UNIFIED IDEOGRAPH +0xFB6A 0x742E #CJK UNIFIED IDEOGRAPH +0xFB6B 0x7462 #CJK UNIFIED IDEOGRAPH +0xFB6C 0x7489 #CJK UNIFIED IDEOGRAPH +0xFB6D 0x749F #CJK UNIFIED IDEOGRAPH +0xFB6E 0x7501 #CJK UNIFIED IDEOGRAPH +0xFB6F 0x756F #CJK UNIFIED IDEOGRAPH +0xFB70 0x7682 #CJK UNIFIED IDEOGRAPH +0xFB71 0x769C #CJK UNIFIED IDEOGRAPH +0xFB72 0x769E #CJK UNIFIED IDEOGRAPH +0xFB73 0x769B #CJK UNIFIED IDEOGRAPH +0xFB74 0x76A6 #CJK UNIFIED IDEOGRAPH +0xFB75 0xFA17 #CJK COMPATIBILITY IDEOGRAPH +0xFB76 0x7746 #CJK UNIFIED IDEOGRAPH +0xFB77 0x52AF #CJK UNIFIED IDEOGRAPH +0xFB78 0x7821 #CJK UNIFIED IDEOGRAPH +0xFB79 0x784E #CJK UNIFIED IDEOGRAPH +0xFB7A 0x7864 #CJK UNIFIED IDEOGRAPH +0xFB7B 0x787A #CJK UNIFIED IDEOGRAPH +0xFB7C 0x7930 #CJK UNIFIED IDEOGRAPH +0xFB7D 0xFA18 #CJK COMPATIBILITY IDEOGRAPH +0xFB7E 0xFA19 #CJK COMPATIBILITY IDEOGRAPH +0xFB80 0xFA1A #CJK COMPATIBILITY IDEOGRAPH +0xFB81 0x7994 #CJK UNIFIED IDEOGRAPH +0xFB82 0xFA1B #CJK COMPATIBILITY IDEOGRAPH +0xFB83 0x799B #CJK UNIFIED IDEOGRAPH +0xFB84 0x7AD1 #CJK UNIFIED IDEOGRAPH +0xFB85 0x7AE7 #CJK UNIFIED IDEOGRAPH +0xFB86 0xFA1C #CJK COMPATIBILITY IDEOGRAPH +0xFB87 0x7AEB #CJK UNIFIED IDEOGRAPH +0xFB88 0x7B9E #CJK UNIFIED IDEOGRAPH +0xFB89 0xFA1D #CJK COMPATIBILITY IDEOGRAPH +0xFB8A 0x7D48 #CJK UNIFIED IDEOGRAPH +0xFB8B 0x7D5C #CJK UNIFIED IDEOGRAPH +0xFB8C 0x7DB7 #CJK UNIFIED IDEOGRAPH +0xFB8D 0x7DA0 #CJK UNIFIED IDEOGRAPH +0xFB8E 0x7DD6 #CJK UNIFIED IDEOGRAPH +0xFB8F 0x7E52 #CJK UNIFIED IDEOGRAPH +0xFB90 0x7F47 #CJK UNIFIED IDEOGRAPH +0xFB91 0x7FA1 #CJK UNIFIED IDEOGRAPH +0xFB92 0xFA1E #CJK COMPATIBILITY IDEOGRAPH +0xFB93 0x8301 #CJK UNIFIED IDEOGRAPH +0xFB94 0x8362 #CJK UNIFIED IDEOGRAPH +0xFB95 0x837F #CJK UNIFIED IDEOGRAPH +0xFB96 0x83C7 #CJK UNIFIED IDEOGRAPH +0xFB97 0x83F6 #CJK UNIFIED IDEOGRAPH +0xFB98 0x8448 #CJK UNIFIED IDEOGRAPH +0xFB99 0x84B4 #CJK UNIFIED IDEOGRAPH +0xFB9A 0x8553 #CJK UNIFIED IDEOGRAPH +0xFB9B 0x8559 #CJK UNIFIED IDEOGRAPH +0xFB9C 0x856B #CJK UNIFIED IDEOGRAPH +0xFB9D 0xFA1F #CJK COMPATIBILITY IDEOGRAPH +0xFB9E 0x85B0 #CJK UNIFIED IDEOGRAPH +0xFB9F 0xFA20 #CJK COMPATIBILITY IDEOGRAPH +0xFBA0 0xFA21 #CJK COMPATIBILITY IDEOGRAPH +0xFBA1 0x8807 #CJK UNIFIED IDEOGRAPH +0xFBA2 0x88F5 #CJK UNIFIED IDEOGRAPH +0xFBA3 0x8A12 #CJK UNIFIED IDEOGRAPH +0xFBA4 0x8A37 #CJK UNIFIED IDEOGRAPH +0xFBA5 0x8A79 #CJK UNIFIED IDEOGRAPH +0xFBA6 0x8AA7 #CJK UNIFIED IDEOGRAPH +0xFBA7 0x8ABE #CJK UNIFIED IDEOGRAPH +0xFBA8 0x8ADF #CJK UNIFIED IDEOGRAPH +0xFBA9 0xFA22 #CJK COMPATIBILITY IDEOGRAPH +0xFBAA 0x8AF6 #CJK UNIFIED IDEOGRAPH +0xFBAB 0x8B53 #CJK UNIFIED IDEOGRAPH +0xFBAC 0x8B7F #CJK UNIFIED IDEOGRAPH +0xFBAD 0x8CF0 #CJK UNIFIED IDEOGRAPH +0xFBAE 0x8CF4 #CJK UNIFIED IDEOGRAPH +0xFBAF 0x8D12 #CJK UNIFIED IDEOGRAPH +0xFBB0 0x8D76 #CJK UNIFIED IDEOGRAPH +0xFBB1 0xFA23 #CJK COMPATIBILITY IDEOGRAPH +0xFBB2 0x8ECF #CJK UNIFIED IDEOGRAPH +0xFBB3 0xFA24 #CJK COMPATIBILITY IDEOGRAPH +0xFBB4 0xFA25 #CJK COMPATIBILITY IDEOGRAPH +0xFBB5 0x9067 #CJK UNIFIED IDEOGRAPH +0xFBB6 0x90DE #CJK UNIFIED IDEOGRAPH +0xFBB7 0xFA26 #CJK COMPATIBILITY IDEOGRAPH +0xFBB8 0x9115 #CJK UNIFIED IDEOGRAPH +0xFBB9 0x9127 #CJK UNIFIED IDEOGRAPH +0xFBBA 0x91DA #CJK UNIFIED IDEOGRAPH +0xFBBB 0x91D7 #CJK UNIFIED IDEOGRAPH +0xFBBC 0x91DE #CJK UNIFIED IDEOGRAPH +0xFBBD 0x91ED #CJK UNIFIED IDEOGRAPH +0xFBBE 0x91EE #CJK UNIFIED IDEOGRAPH +0xFBBF 0x91E4 #CJK UNIFIED IDEOGRAPH +0xFBC0 0x91E5 #CJK UNIFIED IDEOGRAPH +0xFBC1 0x9206 #CJK UNIFIED IDEOGRAPH +0xFBC2 0x9210 #CJK UNIFIED IDEOGRAPH +0xFBC3 0x920A #CJK UNIFIED IDEOGRAPH +0xFBC4 0x923A #CJK UNIFIED IDEOGRAPH +0xFBC5 0x9240 #CJK UNIFIED IDEOGRAPH +0xFBC6 0x923C #CJK UNIFIED IDEOGRAPH +0xFBC7 0x924E #CJK UNIFIED IDEOGRAPH +0xFBC8 0x9259 #CJK UNIFIED IDEOGRAPH +0xFBC9 0x9251 #CJK UNIFIED IDEOGRAPH +0xFBCA 0x9239 #CJK UNIFIED IDEOGRAPH +0xFBCB 0x9267 #CJK UNIFIED IDEOGRAPH +0xFBCC 0x92A7 #CJK UNIFIED IDEOGRAPH +0xFBCD 0x9277 #CJK UNIFIED IDEOGRAPH +0xFBCE 0x9278 #CJK UNIFIED IDEOGRAPH +0xFBCF 0x92E7 #CJK UNIFIED IDEOGRAPH +0xFBD0 0x92D7 #CJK UNIFIED IDEOGRAPH +0xFBD1 0x92D9 #CJK UNIFIED IDEOGRAPH +0xFBD2 0x92D0 #CJK UNIFIED IDEOGRAPH +0xFBD3 0xFA27 #CJK COMPATIBILITY IDEOGRAPH +0xFBD4 0x92D5 #CJK UNIFIED IDEOGRAPH +0xFBD5 0x92E0 #CJK UNIFIED IDEOGRAPH +0xFBD6 0x92D3 #CJK UNIFIED IDEOGRAPH +0xFBD7 0x9325 #CJK UNIFIED IDEOGRAPH +0xFBD8 0x9321 #CJK UNIFIED IDEOGRAPH +0xFBD9 0x92FB #CJK UNIFIED IDEOGRAPH +0xFBDA 0xFA28 #CJK COMPATIBILITY IDEOGRAPH +0xFBDB 0x931E #CJK UNIFIED IDEOGRAPH +0xFBDC 0x92FF #CJK UNIFIED IDEOGRAPH +0xFBDD 0x931D #CJK UNIFIED IDEOGRAPH +0xFBDE 0x9302 #CJK UNIFIED IDEOGRAPH +0xFBDF 0x9370 #CJK UNIFIED IDEOGRAPH +0xFBE0 0x9357 #CJK UNIFIED IDEOGRAPH +0xFBE1 0x93A4 #CJK UNIFIED IDEOGRAPH +0xFBE2 0x93C6 #CJK UNIFIED IDEOGRAPH +0xFBE3 0x93DE #CJK UNIFIED IDEOGRAPH +0xFBE4 0x93F8 #CJK UNIFIED IDEOGRAPH +0xFBE5 0x9431 #CJK UNIFIED IDEOGRAPH +0xFBE6 0x9445 #CJK UNIFIED IDEOGRAPH +0xFBE7 0x9448 #CJK UNIFIED IDEOGRAPH +0xFBE8 0x9592 #CJK UNIFIED IDEOGRAPH +0xFBE9 0xF9DC #CJK COMPATIBILITY IDEOGRAPH +0xFBEA 0xFA29 #CJK COMPATIBILITY IDEOGRAPH +0xFBEB 0x969D #CJK UNIFIED IDEOGRAPH +0xFBEC 0x96AF #CJK UNIFIED IDEOGRAPH +0xFBED 0x9733 #CJK UNIFIED IDEOGRAPH +0xFBEE 0x973B #CJK UNIFIED IDEOGRAPH +0xFBEF 0x9743 #CJK UNIFIED IDEOGRAPH +0xFBF0 0x974D #CJK UNIFIED IDEOGRAPH +0xFBF1 0x974F #CJK UNIFIED IDEOGRAPH +0xFBF2 0x9751 #CJK UNIFIED IDEOGRAPH +0xFBF3 0x9755 #CJK UNIFIED IDEOGRAPH +0xFBF4 0x9857 #CJK UNIFIED IDEOGRAPH +0xFBF5 0x9865 #CJK UNIFIED IDEOGRAPH +0xFBF6 0xFA2A #CJK COMPATIBILITY IDEOGRAPH +0xFBF7 0xFA2B #CJK COMPATIBILITY IDEOGRAPH +0xFBF8 0x9927 #CJK UNIFIED IDEOGRAPH +0xFBF9 0xFA2C #CJK COMPATIBILITY IDEOGRAPH +0xFBFA 0x999E #CJK UNIFIED IDEOGRAPH +0xFBFB 0x9A4E #CJK UNIFIED IDEOGRAPH +0xFBFC 0x9AD9 #CJK UNIFIED IDEOGRAPH +0xFC40 0x9ADC #CJK UNIFIED IDEOGRAPH +0xFC41 0x9B75 #CJK UNIFIED IDEOGRAPH +0xFC42 0x9B72 #CJK UNIFIED IDEOGRAPH +0xFC43 0x9B8F #CJK UNIFIED IDEOGRAPH +0xFC44 0x9BB1 #CJK UNIFIED IDEOGRAPH +0xFC45 0x9BBB #CJK UNIFIED IDEOGRAPH +0xFC46 0x9C00 #CJK UNIFIED IDEOGRAPH +0xFC47 0x9D70 #CJK UNIFIED IDEOGRAPH +0xFC48 0x9D6B #CJK UNIFIED IDEOGRAPH +0xFC49 0xFA2D #CJK COMPATIBILITY IDEOGRAPH +0xFC4A 0x9E19 #CJK UNIFIED IDEOGRAPH +0xFC4B 0x9ED1 #CJK UNIFIED IDEOGRAPH diff --git a/ext/mbstring/tests/data/EmojiSources.txt b/ext/mbstring/tests/data/EmojiSources.txt new file mode 100644 index 0000000000000..b2a526160c128 --- /dev/null +++ b/ext/mbstring/tests/data/EmojiSources.txt @@ -0,0 +1,763 @@ +# EmojiSources-13.0.0.txt +# Date: 2019-09-09, 19:40:00 GMT [MS, KW] +# © 2019 Unicode®, Inc. +# For terms of use, see http://www.unicode.org/terms_of_use.html +# +# Unicode Character Database +# For documentation, see http://www.unicode.org/reports/tr44/ +# +# This file provides historical mappings between Unicode code points and sequences on one hand +# and Shift-JIS codes for cell phone carrier symbols on the other hand. +# Each mapping is symmetric ("round trip"), for equivalent Unicode and carrier +# symbols or sequences. This file does not include best-fit ("fallback") +# mappings to similar but not equivalent symbols in either mapping direction. +# +# Created for Unicode 6.0 by Markus Scherer. +# Updated for subsequent versions by Ken Whistler (no changes to mappings). +# +# Format: Semicolon-delimited file with a fixed number of fields. +# Note that the format, including the number of fields, may change in the future. +# +# Fields: +# 0: Unicode code point or sequence +# 1: DoCoMo Shift-JIS code +# 2: KDDI Shift-JIS code +# 3: SoftBank Shift-JIS code +# +# Each field 1..3 contains a code if and only if the vendor character set +# has a symbol which is equivalent to the Unicode character or sequence. + +# ================================================ + +# Keycap sequences for telephone keypad. +# The following 11 mappings are historical. The combining character sequences +# in these mappings do not include variation selectors for emoji presentation. +# Thus they do not match the named character sequences with keycaps listed in +# NamedSequences.txt. +# For modern data used in emoji support, see http://www.unicode.org/Public/emoji/latest/ + +0023 20E3;F985;F489;F7B0 +0030 20E3;F990;F7C9;F7C5 +0031 20E3;F987;F6FB;F7BC +0032 20E3;F988;F6FC;F7BD +0033 20E3;F989;F740;F7BE +0034 20E3;F98A;F741;F7BF +0035 20E3;F98B;F742;F7C0 +0036 20E3;F98C;F743;F7C1 +0037 20E3;F98D;F744;F7C2 +0038 20E3;F98E;F745;F7C3 +0039 20E3;F98F;F746;F7C4 + +00A9;F9D6;F774;F7EE +00AE;F9DB;F775;F7EF +2002;;F7AA; +2003;;F7A9; +2005;;F7AB; +203C;F9A9;F3F1; +2049;F9A8;F3F0; +2122;F9D7;F76A;FBD7 +2139;;F74F; +2194;F9E1;F47E; +2195;F9E2;F480; +2196;F8F8;F768;F7D7 +2197;F8D9;F771;F7D6 +2198;F8F7;F769;F7D8 +2199;F949;F772;F7D9 +21A9;F97E;F779; +21AA;;F778; +231A;F9C4;F797; +231B;;F798; +23E9;;F74C;F7DC +23EA;;F74B;F7DD +23EB;;F761; +23EC;;F760; +23F0;F95E;F7B1; +23F3;F9C1;F654; +24C2;F8BD;; +25AA;;F74E; +25AB;;F74D; +25B6;;F74A;F7DA +25C0;;F749;F7DB +25FB;;F754; +25FC;;F755; +25FD;;F750; +25FE;;F751; +2600;F89F;F660;F98B +2601;F8A0;F665;F98A +260E;F8E8;F7B3;F949 +2611;;F7D9; +2614;F8A1;F664;F98C +2615;F8D1;F7B4;F986 +261D;;F6CF;F94F +263A;;F6D4;FB54 +2648;F8A7;F667;F7DF +2649;F8A8;F668;F7E0 +264A;F8A9;F669;F7E1 +264B;F8AA;F66A;F7E2 +264C;F8AB;F66B;F7E3 +264D;F8AC;F66C;F7E4 +264E;F8AD;F66D;F7E5 +264F;F8AE;F66E;F7E6 +2650;F8AF;F66F;F7E7 +2651;F8B0;F670;F7E8 +2652;F8B1;F671;F7E9 +2653;F8B2;F672;F7EA +2660;F8EF;F7BE;F7AE +2663;F8F1;F7C0;F7AF +2665;F8EE;F378;F7AC +2666;F8F0;F7BF;F7AD +2668;F99C;F695;F763 +267B;F9DA;F47D; +267F;F8FC;F657;F7AA +2693;;F682; +26A0;F9DC;F659;F7F2 +26A1;F8A3;F65F;F77D +26AA;;F756; +26AB;;F757; +26BD;F8B7;F68F;F958 +26BE;F8B4;F693;F956 +26C4;F8A2;F65D;F989 +26C5;;F666; +26CE;;F673;F7EB +26D4;;F65C; +26EA;;F7EB;F977 +26F2;;F342;F761 +26F3;F8B5;F7B6;F954 +26F5;F947;F68D;F95C +26FA;;F343;F762 +26FD;F8CC;F78E;F97A +2702;F8D6;F6EF;F9B3 +2705;;F77A; +2708;F8C3;F68C;F95D +2709;F977;F6FA; +270A;F8F4;F488;F950 +270B;F8F6;F7C4;F952 +270C;F8F5;F7C3;F951 +270F;F9BE;F679; +2712;F952;F7DA; +2714;;F773; +2716;;F76B; +2728;F99F;F37E;F9CE +2733;;F75A;F7A6 +2734;;F651;F7A5 +2744;;F662; +2747;;F644; +274C;;F76C;F9D3 +274E;;F76D; +2753;;F65B;F960 +2754;;;F9D6 +2755;;;F9D7 +2757;F9A7;F65A;F961 +2764;F991;F7B2;F962 +2795;;F758; +2796;;F759; +2797;;F770; +27A1;;F76E;F7D4 +27B0;F9AF;F3F2; +2934;F99A;F3EE; +2935;F9A5;F3EF; +2B05;;F76F;F7D5 +2B06;;F75B;F7D2 +2B07;;F75C;F7D3 +2B1B;;F765; +2B1C;;F764; +2B50;;F663;F9CF +2B55;;F381;F9D2 +3030;F9AE;; +303D;;;F76C +3297;;F36C;F9AD +3299;F9D9;F6CA;F9B5 +1F004;;F344;F76D +1F0CF;;F473; +1F170;;F3E7;FBD2 +1F171;;F3E8;FBD3 +1F17E;;F3E9;FBD5 +1F17F;F8CD;F67E;F790 +1F18E;;F3EA;FBD4 +1F191;F980;F7C8; +1F192;;F358;F7B4 +1F193;F97B;F795; +1F194;F97C;F35B;F7C9 +1F195;F982;F7E5;F7B2 +1F196;F9D4;; +1F197;F9B0;F7CA;F7ED +1F198;;F6C1; +1F199;;F6E8;F7B3 +1F19A;;F345;F76E +1F1E8 1F1F3;;F3D2;FBB3 +1F1E9 1F1EA;;F3CF;FBAE +1F1EA 1F1F8;;F348;FBB1 +1F1EB 1F1F7;;F3CE;FBAD +1F1EC 1F1E7;;F3D1;FBB0 +1F1EE 1F1F9;;F3D0;FBAF +1F1EF 1F1F5;;F6A5;FBAB +1F1F0 1F1F7;;F3D3;FBB4 +1F1F7 1F1FA;;F349;FBB2 +1F1FA 1F1F8;;F790;FBAC +1F201;;;F7A3 +1F202;;F35A;F7C8 +1F21A;;;F7B6 +1F22F;;F35E;F7CC +1F232;F9DD;; +1F233;F9DE;F35D;F7CB +1F234;F9DF;; +1F235;F9E0;F35C;F7CA +1F236;;;F7B5 +1F237;;;F7B7 +1F238;;;F7B8 +1F239;;F359;F7C7 +1F23A;;F35F;F7CD +1F250;;F6D0;F7C6 +1F251;;F7D8; +1F300;F8A4;F641;FB84 +1F301;F8A5;F7B5; +1F302;F8A6;F3BC;FB7C +1F303;F957;F3C5;FB8C +1F304;;;F98E +1F305;;F3C8;FB8A +1F306;;F34D;F787 +1F307;;;FB8B +1F308;;F3C6;FB8D +1F309;;F698; +1F30A;F9E4;F481;FB7E +1F30B;;F457; +1F30C;;F463; +1F30F;;F7D0; +1F311;F940;F7C5; +1F313;F942;F7C7; +1F314;F941;F7C6; +1F315;F944;; +1F319;F943;F65E;F98D +1F31B;;F661; +1F31F;;;F9D5 +1F320;;F640; +1F330;;F3F9; +1F331;F9EB;F482; +1F334;;F6BB;F9A7 +1F335;;F369;F9A8 +1F337;F9E8;F6BD;F9A4 +1F338;F9ED;F6A3;F970 +1F339;;F7EA;F972 +1F33A;;F367;F9A3 +1F33B;;F6BC;F9A5 +1F33C;;F44D; +1F33D;;F3F7; +1F33E;;;FB85 +1F33F;;F487; +1F340;F9E6;F6EC;F750 +1F341;F9EC;F6A7;F758 +1F342;;F340;F759 +1F343;;;FB88 +1F344;;F3F8; +1F345;;F38F;F9E9 +1F346;;F390;F9EA +1F347;;F3F5; +1F348;;F3F3; +1F349;;F6A6;F9E8 +1F34A;;F38E;F9E6 +1F34C;F9E9;F3F6; +1F34D;;F3F4; +1F34E;F9EA;F38D;F9E5 +1F34F;;F45E; +1F351;;F3FA; +1F352;F9E7;F6AB; +1F353;;F6AD;F9E7 +1F354;F8D4;F6AF;F760 +1F355;;F3FC; +1F356;;F69D; +1F357;;F440; +1F358;;F387;F9DD +1F359;F9EE;F6AE;F9E2 +1F35A;;F388;F9DE +1F35B;;F38A;F9E1 +1F35C;F9F1;F7D1;F9E0 +1F35D;;F389;F9DF +1F35E;F9F2;F383;F9D9 +1F35F;;F385;F9DB +1F360;;F3FB; +1F361;;F386;F9DC +1F362;;F38B;F9E3 +1F363;;F38C;F9E4 +1F364;;F474; +1F365;;F6C6; +1F366;;F384;F9DA +1F367;;F3BE;FB80 +1F368;;F44E; +1F369;;F44F; +1F36A;;F450; +1F36B;;F451; +1F36C;;F452; +1F36D;;F453; +1F36E;;F45A; +1F36F;;F45D; +1F370;F9EF;F6A9;F987 +1F371;;F391;F9EC +1F372;;F392;F9ED +1F373;;F6AA;F788 +1F374;F8D0;F685;F984 +1F375;F9C3;F382;F9D8 +1F376;F9F0;F36A;F9AB +1F377;F9FB;F69A; +1F378;F8D2;F69B;F985 +1F379;;F442; +1F37A;F8D3;F69C;F988 +1F37B;;F36B;F9AC +1F380;F8E5;F7BC;F9B4 +1F381;F8E6;F6A8;F752 +1F382;F8E7;F7BD;F9EB +1F383;;F3C2;FB86 +1F384;F948;F6A2;F973 +1F385;;F3C4;FB89 +1F386;;F7FC;F757 +1F387;;F3BF;FB81 +1F388;;F36E;F9B0 +1F389;;F36F;F9B2 +1F38A;;F647; +1F38B;;F441; +1F38C;;F34C;F784 +1F38D;;F3B7;FB76 +1F38E;;F3B8;FB78 +1F38F;;F3BB;FB7B +1F390;;F3C1;FB83 +1F391;;F3C3;FB87 +1F392;;F3BA;FB7A +1F393;;F3B9;FB79 +1F3A0;F8DA;; +1F3A1;;F645;F764 +1F3A2;;F3B6;FB73 +1F3A3;;F446; +1F3A4;F8D7;F6DC;F97C +1F3A5;F8D8;F6F0;F97D +1F3A6;;;FBA7 +1F3A7;F8DB;F6E1;F9AA +1F3A8;F8DC;F7B9;FBA2 +1F3A9;F8DD;F3C9;FBA3 +1F3AA;F8DE;F7BB; +1F3AB;F8DF;F676;F765 +1F3AC;F950;F697;F9C4 +1F3AD;;F7BA; +1F3AE;F8EC;F69F; +1F3AF;;F69E;F770 +1F3B0;;F646;F773 +1F3B1;;F3B1;FB6C +1F3B2;;F6A1; +1F3B3;;F447; +1F3B4;;F472; +1F3B5;F99B;F7EE;F97E +1F3B6;F9A4;F6DE;F9C6 +1F3B7;;;F981 +1F3B8;;F6DF;F982 +1F3B9;;F444; +1F3BA;;F3B0;F983 +1F3BB;;F6E0; +1F3BC;;F3A0; +1F3BD;F8B3;; +1F3BE;F8B6;F690;F955 +1F3BF;F8B8;F380;F953 +1F3C0;F8B9;F7B7;FB6A +1F3C1;F8BA;F692;F772 +1F3C2;F9B7;F691; +1F3C3;F9D8;F643;F755 +1F3C4;;F445;F957 +1F3C6;;F346;F771 +1F3C8;;F694;FB6B +1F3CA;;F3B2;FB6D +1F3E0;F8C4;F684;F976 +1F3E1;;F7E0; +1F3E2;F8C5;F686;F978 +1F3E3;F8C6;F351;F794 +1F3E5;F8C7;F352;F796 +1F3E6;F8C8;F683;F78E +1F3E7;F8C9;F67B;F795 +1F3E8;F8CA;F354;F799 +1F3E9;;F3C7;FBA1 +1F3EA;F8CB;F67C;F797 +1F3EB;F9E3;F353;F798 +1F3EC;;F3CA;FBA4 +1F3ED;;F3CD;FBA8 +1F3EE;;F696; +1F3EF;;F3CB;FBA5 +1F3F0;;F3CC;FBA6 +1F40C;F9F3;F483; +1F40D;;F3E3;FBCD +1F40E;;;F774 +1F411;;;FBC9 +1F412;;;FBC8 +1F414;;F3E4;FBCE +1F417;;F3E5;FBCF +1F418;;F3E0;FBC6 +1F419;;F7F7;F74A +1F41A;;F3C0;FB82 +1F41B;;F3DF;FBC5 +1F41C;;F6B6; +1F41D;;F45B; +1F41E;;F45C; +1F41F;F9F6;;F959 +1F420;;F3DE;FBC2 +1F421;;F6AC; +1F422;;F347; +1F423;;F34E; +1F424;F9F4;F6B9;FBC3 +1F425;;F47A; +1F426;;;FBC1 +1F427;F9F5;F6B5;F996 +1F428;;F3E1;FBC7 +1F429;;F6B8; +1F42B;;F3E6;FBD0 +1F42C;;F3DC;FBC0 +1F42D;;F7F2;F994 +1F42E;;F3E2;FBCB +1F42F;;F7F0;F991 +1F430;;F6B0;FBCC +1F431;F946;F6B4;F990 +1F432;;F443; +1F433;;F648;F995 +1F434;F9F9;F6B1;F95A +1F435;;F6B2;F749 +1F436;F945;F6BA;F993 +1F437;F9FA;F6B7;F74B +1F438;;F6B3;FBD1 +1F439;;;FBC4 +1F43A;;;FBCA +1F43B;;F7F1;F992 +1F43C;;F44A; +1F43D;;F44C; +1F43E;;F6C7; +1F440;F8F2;F7C1;FB59 +1F442;F8F3;F7C2;FB5B +1F443;;F3A4;FB5A +1F444;;F3A5;FB5C +1F445;;F44B; +1F446;;F360;F7CE +1F447;;F361;F7CF +1F448;;F6D8;F7D0 +1F449;;F6D9;F7D1 +1F44A;F9A2;F6CC;F94D +1F44B;;F3AA;FB5E +1F44C;;F3A8;FB60 +1F44D;F9CC;F6D2;F94E +1F44E;;F3A9;FB61 +1F44F;;F3A7;FB5F +1F450;;;FB62 +1F451;F9BF;F7F9;F74E +1F452;;F371;F9B8 +1F453;F8FB;F6D7; +1F454;;F366;F9A2 +1F455;F9B3;F7E6;F946 +1F456;F9B6;F47B; +1F457;;F46F;F9B9 +1F458;;F376;F9C1 +1F459;;F377;F9C2 +1F45A;;F6E6; +1F45B;F9B4;F6DD; +1F45C;F8E3;F674;F9C3 +1F45D;F951;; +1F45E;;F7E7; +1F45F;F8FA;F3EC;F947 +1F460;F8D5;F6F3;F77E +1F461;;;F9BA +1F462;;F372;F9BB +1F463;F8F9;F3EB;FBD6 +1F464;F955;; +1F466;;;F941 +1F467;;;F942 +1F468;;F6D5;F944 +1F469;;F6D3;F945 +1F46A;;F6DA; +1F46B;;;FB68 +1F46E;;F350;F793 +1F46F;;F3AF;FB69 +1F470;;F3BD; +1F471;;F3D4;FBB5 +1F472;;F3D5;FBB6 +1F473;;F3D6;FBB7 +1F474;;F3D7;FBB8 +1F475;;F3D8;FBB9 +1F476;;F3D9;FBBA +1F477;;F3DA;FBBB +1F478;;F3DB;FBBC +1F479;;F448; +1F47A;;F449; +1F47B;;F6A4;F75B +1F47C;;F7EF;F98F +1F47D;;F6E7;F74C +1F47E;;F6C5;F76B +1F47F;;F6C8;F75A +1F480;;F6D1;F75C +1F481;;;F7F3 +1F482;;;FBBE +1F483;;F3DD;FBBF +1F484;F9B5;F6E2;F9BC +1F485;;F373;F9BD +1F486;;F6E4;F9BE +1F487;;F374;F9BF +1F488;;F375;F9C0 +1F489;;F6E9;F77B +1F48A;;F36D;F9AF +1F48B;F99E;F6C4;F943 +1F48C;F9BC;F47C; +1F48D;F9C0;F6ED;F974 +1F48E;;;F975 +1F48F;;F7FA;F751 +1F490;;F368;F9A6 +1F491;;F3AE;FB65 +1F492;;;FB7D +1F493;F992;F479;F9C7 +1F494;F993;F64F;F963 +1F495;F994;F650; +1F496;;F379; +1F497;;;F9C8 +1F498;;F6C3;F9C9 +1F499;;F37A;F9CA +1F49A;;F37B;F9CB +1F49B;;F37C;F9CC +1F49C;;F37D;F9CD +1F49D;;F458;FB77 +1F49E;;F7CC; +1F49F;;;F7A4 +1F4A0;F99D;; +1F4A1;F9A0;F64E;F74F +1F4A2;F9A1;F6BE;F9D4 +1F4A3;F9A3;F652;F9B1 +1F4A4;F9A6;F64D;F77C +1F4A5;F9AA;F7CD; +1F4A6;F9AB;F7CE;F9D1 +1F4A7;F9AC;F6BF; +1F4A8;F9AD;F6CD;F9D0 +1F4A9;;F6CE;F99B +1F4AA;;F6C2;F78D +1F4AB;;F460; +1F4AC;;F6D6; +1F4AE;;F6C9; +1F4AF;;F6CB; +1F4B0;F9BA;F6A0;F76F +1F4B1;;;F78A +1F4B2;;F796; +1F4B3;;F799; +1F4B4;F97A;F79A; +1F4B5;;F7A2; +1F4B8;;F45F; +1F4B9;;F34F;F78B +1F4BA;F956;;F75F +1F4BB;F9BB;F7E8;F94C +1F4BC;;F341;F75E +1F4BD;;F79F;F9B6 +1F4BE;;F77E; +1F4BF;F8ED;F6E5;F766 +1F4C0;;;F767 +1F4C1;;F7AC; +1F4C2;;F7AD; +1F4C3;;F77D; +1F4C4;;F786; +1F4C5;;F780; +1F4C6;;F787; +1F4C7;;F789; +1F4C8;;F792; +1F4C9;;F793; +1F4CA;;F791; +1F4CB;;F781; +1F4CC;;F78A; +1F4CD;;F77C; +1F4CE;F9D5;F678; +1F4CF;;F78D; +1F4D0;;F67A; +1F4D1;;F7E2; +1F4D2;;F78B; +1F4D3;;F788; +1F4D4;;F675; +1F4D5;;F785; +1F4D6;F8E4;F677;F789 +1F4D7;;F782; +1F4D8;;F783; +1F4D9;;F784; +1F4DA;;F78C; +1F4DB;;F6F6; +1F4DC;;F77B; +1F4DD;F8EA;F365;F9A1 +1F4DE;;F6F7; +1F4DF;F8BB;F7B8; +1F4E0;F974;F6F9;F94B +1F4E1;;F681;F78C +1F4E2;;;F783 +1F4E3;;;F9B7 +1F4E4;;F7AF; +1F4E5;;F7B0; +1F4E6;;F6F8; +1F4E7;;F475; +1F4E8;;F7AE; +1F4E9;F973;F466;F743 +1F4EA;;F6F4; +1F4EB;;F7E1;F741 +1F4EE;;;F742 +1F4F0;;F7A8; +1F4F1;F8E9;F7A5;F94A +1F4F2;F972;F7DF;F744 +1F4F3;;F363;F7F0 +1F4F4;;F364;F7F1 +1F4F6;;F357;F7AB +1F4F7;F8E2;F6EE;F948 +1F4F9;;F79B; +1F4FA;F8EB;F6DB;F76A +1F4FB;;F7E9;F768 +1F4FC;;F79D;F769 +1F503;;F7E4; +1F50A;;F6EA;F782 +1F50B;;F7A1; +1F50C;;F7A6; +1F50D;F981;F6F1;F754 +1F50E;;F7DC; +1F50F;;F7E3; +1F510;;F7D3; +1F511;F97D;F6F2;F980 +1F512;;F6F5;F785 +1F513;;;F786 +1F514;F9B8;F6EB;F9C5 +1F516;;F7DE; +1F517;;F7A7; +1F518;;F7DB; +1F519;;F7DD; +1F51A;F95D;; +1F51B;F95C;; +1F51C;F95B;; +1F51D;;;F7EC +1F51E;;F356;F7A7 +1F51F;;F747; +1F520;;F7D4; +1F521;;F7D5; +1F522;;F7D6; +1F523;;F7D7; +1F524;;F459; +1F525;;F653;F75D +1F526;;F7A0; +1F527;F9BD;F7A4; +1F528;;F7FB;F756 +1F529;;F79E; +1F52A;;F79C; +1F52B;;F6E3;F753 +1F52E;;F362; +1F52F;;;F7DE +1F530;;F658;F7A9 +1F531;;;F971 +1F532;;;F7BA +1F533;;;F7BB +1F534;;F766;F7B9 +1F535;;F767; +1F536;;F762; +1F537;;F763; +1F538;;F752; +1F539;;F753; +1F53A;;F776; +1F53B;;F777; +1F53C;;F75F; +1F53D;;F75E; +1F550;;;F964 +1F551;;;F965 +1F552;;;F966 +1F553;;;F967 +1F554;;;F968 +1F555;;;F969 +1F556;;;F96A +1F557;;;F96B +1F558;;;F96C +1F559;;;F96D +1F55A;;;F96E +1F55B;;;F96F +1F5FB;F9E5;F7ED;F97B +1F5FC;;F699;FBA9 +1F5FD;;;FBBD +1F5FE;;F78F; +1F5FF;;F470; +1F601;F9F8;F485;FB44 +1F602;;F468;FB52 +1F603;F995;F649;F998 +1F604;;;FB55 +1F605;F9C7;; +1F606;F9CF;; +1F609;F9CE;F7F3;FB45 +1F60A;;F3A1;F997 +1F60B;F9F7;; +1F60C;F9C6;F399;FB4A +1F60D;F9CB;F7F4;F746 +1F60F;F9D1;F393;FB42 +1F612;F9CA;F39D;FB4E +1F613;F9C8;F7F6;F748 +1F614;F9C5;F394;FB43 +1F616;F998;F397;FB47 +1F618;;F3A3;FB58 +1F61A;;F3A2;FB57 +1F61C;F9CD;F6C0;F745 +1F61D;;;FB49 +1F61E;F997;;F999 +1F620;F996;F64A;F99A +1F621;F9C9;F461;FB56 +1F622;F9D3;F46D;FB53 +1F623;F9D0;F396;FB46 +1F624;;F395; +1F625;;;FB41 +1F628;;F39A;FB4B +1F629;;F46B; +1F62A;;F398;FB48 +1F62B;;F64C; +1F62D;F9D2;F64B;FB51 +1F630;;F39F;FB4F +1F631;F9FC;F7F5;F747 +1F632;;F39E;FB50 +1F633;;F39C;FB4D +1F635;F999;F7CB; +1F637;;F39B;FB4C +1F638;;F484; +1F639;;F467; +1F63A;;F465; +1F63B;;F469; +1F63C;;F46E; +1F63D;;F464; +1F63E;;F462; +1F63F;;F46C; +1F640;;F46A; +1F645;;F3AB;FB63 +1F646;;F3AC;FB64 +1F647;;F3AD;FB66 +1F648;;F454; +1F649;;F456; +1F64A;;F455; +1F64B;;F48A; +1F64C;;F48B;FB67 +1F64D;;F48C; +1F64E;;F48D; +1F64F;;F3A6;FB5D +1F680;;F7F8;F74D +1F683;F8BC;F68E;F95E +1F684;F8BE;;FB75 +1F685;;F689;F95F +1F687;;F7EC;FB74 +1F689;;F471;F979 +1F68C;F8C1;F688;F79A +1F68F;;F680;F791 +1F691;;F3B4;FB71 +1F692;;F3B3;FB70 +1F693;;F3B5;FB72 +1F695;;;F79B +1F697;F8BF;F68A;F95B +1F699;F8C0;;FB6E +1F69A;;F68B;FB6F +1F6A2;F8C2;F355;F7A2 +1F6A4;;;F775 +1F6A5;F8CE;F642;F78F +1F6A7;;F34A;F777 +1F6A8;;F477; +1F6A9;F983;F3ED; +1F6AA;F9B9;; +1F6AB;;F75D; +1F6AC;F8E0;F655;F9AE +1F6AD;F8E1;F656;F7A8 +1F6B2;F9C2;F687;F776 +1F6B6;;F476;F7A1 +1F6B9;;;F778 +1F6BA;;;F779 +1F6BB;F8CF;F67D;F792 +1F6BC;;;F77A +1F6BD;;;F781 +1F6BE;;;F9A9 +1F6C0;;F34B;F780 + +# EOF diff --git a/ext/mbstring/tests/sjis_mobile_encodings.phpt b/ext/mbstring/tests/sjis_mobile_encodings.phpt new file mode 100644 index 0000000000000..b8249eb2a932d --- /dev/null +++ b/ext/mbstring/tests/sjis_mobile_encodings.phpt @@ -0,0 +1,164 @@ +--TEST-- +Exhaustive test of Shift-JIS DoCoMo, KDDI, SoftBank encoding verification and conversion +--SKIPIF-- + +--FILE-- + UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/data/CP932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + $sjisChars[chr($bytes)] = pack('N', $codepoint); + else + $sjisChars[pack('n', $bytes)] = pack('N', $codepoint); + } +} + +/* Windows-932 has many cases where two different kuten codes map to the same + * Unicode codepoints + * + * Everything from 0xED00-0xEEFF falls in this unfortunate category + * (Other sequences in 0xFA00-0xFC4B map to the same codepoints.) + * Our implementation of CP932 prefers the F's, but for SJIS-Mobile, + * we prefer the E's */ +$nonInvertible = array(); +for ($i = 0xFA00; $i <= 0xFC4B; $i++) { + $bytes = pack('n', $i); + if (isset($sjisChars[$bytes])) { + $nonInvertible[$bytes] = $sjisChars[$bytes]; + } +} + +/* Other "collisions" */ +foreach ([0x8790, 0x8791, 0x8792, 0x8795, 0x8796, 0x8797, 0x879A, 0x879B, 0x879C, 0xEEF9] as $i) { + $bytes = pack('n', $i); + $nonInvertible[$bytes] = $sjisChars[$bytes]; +} + +$nonInvertibleSoftbank = $nonInvertible; + +/* Now read table of vendor-specific emoji encodings */ +$docomo = $sjisChars; +$kddi = $sjisChars; +$softbank = $sjisChars; +$fp = fopen(realpath(__DIR__ . '/data/EmojiSources.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + $fields = explode(';', rtrim($line)); + if (count($fields) >= 4) { + if (sscanf($fields[0], "%x %x", $cp1, $cp2) == 2) + $utf32 = pack('N', $cp1) . pack('N', $cp2); + else + $utf32 = pack('N', hexdec($fields[0])); + + if ($fields[1]) + $docomo[pack('n', hexdec($fields[1]))] = $utf32; + if ($fields[2]) + $kddi[pack('n', hexdec($fields[2]))] = $utf32; + if ($fields[3]) { + $bytes = pack('n', hexdec($fields[3])); + $softbank[$bytes] = $utf32; + unset($nonInvertibleSoftbank[$bytes]); + } + } +} + +/* For Softbank, we support an alternative representation for emoji which + * uses sequences starting with ESC. Apparently this was used in older versions + * of Softbank's phones. + * ESC could be followed by 6 different ASCII characters, each of which + * represented a different ku code */ +$escCodeToKu = array('G' => 0x91, 'E' => 0x8D, 'F' => 0x8E, 'O' => 0x92, 'P' => 0x95, 'Q' => 0x96); +$escCodeMaxTen = array('G' => 0x7A, 'E' => 0x7A, 'F' => 0x7A, 'O' => 0x6D, 'P' => 0x6C, 'Q' => 0x5E); + +function shiftJISEncode($ku, $ten) { + $ku -= 0x21; + $ten -= 0x21; + $hiBits = $ku >> 1; + $loBit = $ku % 2; + if ($hiBits < 31) { + $sjis = chr($hiBits + 0x81); + } else { + $sjis = chr($hiBits - 31 + 0xE0); + } + if ($loBit == 0) { + if ($ten < 63) + return $sjis . chr($ten + 0x40); + else + return $sjis . chr($ten - 63 + 0x80); + } else { + return $sjis . chr($ten + 0x9F); + } +} + +foreach ($escCodeToKu as $char => $ku) { + for ($ten = 0x21; $ten <= $escCodeMaxTen[$char]; $ten++) { + $sjis = shiftJISEncode($ku, $ten); + if ($sjis == "\xFB\x40" || $sjis == "\xFB\x9F" || $sjis == "\xFB\xA0" || $sjis == "\xFB\xAA" || $sjis == "\xFB\xD8" || $sjis == "\xFB\xD9" || $sjis == "\xFB\xDA" || $sjis == "\xFB\xDB" || $sjis == "\xFB\xDC") + continue; + if (isset($softbank[$sjis])) { + /* 0xF is used to terminate a run of emoji encoded using ESC sequence */ + $bytes = "\x1B\$" . $char . chr($ten) . "\xF"; + $softbank[$bytes] = $softbank[$sjis]; + $nonInvertibleSoftbank[$bytes] = $softbank[$sjis]; + } + } +} + +/* A bare ESC is not valid for Softbank, since it is used for escape sequences + * which represent emoji */ +unset($softbank["\x1B"]); + +/* SoftBank-specific 'JSky1', 'JSky2', 'VODAFONE1', 'VODAFONE2', etc. emoji, + * which are not supported by Unicode */ +for ($i = 0xFBD8; $i <= 0xFBDE; $i++) { + $bytes = pack('n', $i); + $softbank[$bytes] = pack('N', 0xFEE70 + $i - 0xFBD8); + unset($nonInvertibleSoftbank[$bytes]); +} +/* SoftBank-specific emoji for Shibuya department store */ +$softbank["\xFB\xAA"] = "\x00\x0F\xE4\xC5"; +unset($nonInvertibleSoftbank["\xFB\xAA"]); + +function testSJISVariant($validChars, $nonInvertible, $encoding) { + $lenTable = map(range(0xE0, 0xFC), 2, map(range(0x81, 0x9F), 2)); + findInvalidChars($validChars, $invalidChars, $truncated, $lenTable); + + foreach ($nonInvertible as $bytes => $unicode) + unset($validChars[$bytes]); + + testAllValidChars($validChars, $encoding, 'UTF-32BE'); + testAllValidChars($nonInvertible, $encoding, 'UTF-32BE', false); + echo "$encoding verification and conversion works on all valid characters\n"; + + testAllInvalidChars($invalidChars, $validChars, $encoding, 'UTF-32BE', "\x00\x00\x00%"); + testTruncatedChars($truncated, $encoding, 'UTF-32BE', "\x00\x00\x00%"); + echo "$encoding verification and conversion works on all invalid characters\n"; +} + +testSJISVariant($docomo, $nonInvertible, 'SJIS-Mobile#DOCOMO'); +testSJISVariant($kddi, $nonInvertible, 'SJIS-Mobile#KDDI'); +testSJISVariant($softbank, $nonInvertibleSoftbank, 'SJIS-Mobile#SOFTBANK'); + +?> +--EXPECT-- +SJIS-Mobile#DOCOMO verification and conversion works on all valid characters +SJIS-Mobile#DOCOMO verification and conversion works on all invalid characters +SJIS-Mobile#KDDI verification and conversion works on all valid characters +SJIS-Mobile#KDDI verification and conversion works on all invalid characters +SJIS-Mobile#SOFTBANK verification and conversion works on all valid characters +SJIS-Mobile#SOFTBANK verification and conversion works on all invalid characters From 8da76e56650a31d66272b43a3e656bc7ad106cc7 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 22 Oct 2020 21:15:34 +0200 Subject: [PATCH 117/123] CP932: treat truncated multi-byte characters as an error --- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index 5b70c461f9faa..abf74bc2ae160 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -33,6 +33,7 @@ #include "unicode_table_cp932_ext.h" #include "unicode_table_jis.h" +static void mbfl_filt_conv_cp932_wchar_flush(mbfl_convert_filter *filter); static void mbfl_filt_ident_cp932(unsigned char c, mbfl_identify_filter *filter); static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ @@ -79,7 +80,7 @@ const struct mbfl_convert_vtbl vtbl_cp932_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_cp932_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_cp932_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_cp932 = { @@ -215,6 +216,17 @@ void mbfl_filt_conv_cp932_wchar(int c, mbfl_convert_filter *filter) } } +static void mbfl_filt_conv_cp932_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status) { + (*filter->filter_function)(filter->cache | MBFL_WCSGROUP_THROUGH, filter); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } +} + /* * wchar => SJIS-win */ From 0534a1d524d818fcffa51d0891bb83a64ec4dc1c Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Thu, 22 Oct 2020 21:18:52 +0200 Subject: [PATCH 118/123] Remove duplicate implementation of CP932 from mbstring Sigh. Double sigh. After fruitlessly searching the Internet for information on this mysterious text encoding called "SJIS-open", I wrote a script to try converting every Unicode codepoint from 0-0xFFFF and compare the results from different variants of Shift-JIS, to see which one "SJIS-open" would be most similar to. The result? It's just CP932. There is no difference at all. So why do we have two implementations of CP932 in mbstring? In case somebody, somewhere is using "SJIS-open" (or its aliases "SJIS-win" or "SJIS-ms"), add these as aliases to CP932 so existing code will continue to work. --- ext/mbstring/config.m4 | 1 - ext/mbstring/config.w32 | 2 +- ext/mbstring/libmbfl/filters/mbfilter_cp932.c | 2 +- .../libmbfl/filters/mbfilter_sjis_open.c | 324 ------------------ .../libmbfl/filters/mbfilter_sjis_open.h | 44 --- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 1 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 2 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 1 - ext/mbstring/libmbfl/mbfl/mbfl_ident.c | 2 - 9 files changed, 2 insertions(+), 377 deletions(-) delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c delete mode 100644 ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h diff --git a/ext/mbstring/config.m4 b/ext/mbstring/config.m4 index 2775d3d7c33d7..1a6a8e4c61ed3 100644 --- a/ext/mbstring/config.m4 +++ b/ext/mbstring/config.m4 @@ -118,7 +118,6 @@ AC_DEFUN([PHP_MBSTRING_SETUP_LIBMBFL], [ libmbfl/filters/mbfilter_jis.c libmbfl/filters/mbfilter_qprint.c libmbfl/filters/mbfilter_sjis.c - libmbfl/filters/mbfilter_sjis_open.c libmbfl/filters/mbfilter_sjis_mobile.c libmbfl/filters/mbfilter_sjis_mac.c libmbfl/filters/mbfilter_sjis_2004.c diff --git a/ext/mbstring/config.w32 b/ext/mbstring/config.w32 index 5af3eff6e2f59..467f07676472a 100644 --- a/ext/mbstring/config.w32 +++ b/ext/mbstring/config.w32 @@ -26,7 +26,7 @@ if (PHP_MBSTRING != "no") { mbfilter_sjis_2004.c mbfilter_qprint.c mbfilter_sjis.c mbfilter_ucs2.c \ mbfilter_ucs4.c mbfilter_uhc.c mbfilter_utf16.c mbfilter_utf32.c \ mbfilter_utf7.c mbfilter_utf7imap.c mbfilter_utf8.c mbfilter_utf8_mobile.c mbfilter_euc_jp_2004.c mbfilter_uuencode.c \ - mbfilter_cp5022x.c mbfilter_sjis_open.c mbfilter_sjis_mobile.c \ + mbfilter_cp5022x.c mbfilter_sjis_mobile.c \ mbfilter_sjis_mac.c mbfilter_iso2022jp_2004.c mbfilter_iso2022jp_mobile.c \ mbfilter_tl_jisx0201_jisx0208.c", "mbstring"); diff --git a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c index abf74bc2ae160..f4fb0eb0ca686 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_cp932.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_cp932.c @@ -55,7 +55,7 @@ static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }; -static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-932", "Windows-31J", "MS_Kanji", NULL}; +static const char *mbfl_encoding_cp932_aliases[] = {"MS932", "Windows-932", "Windows-31J", "MS_Kanji", "SJIS-win", "SJIS-ms", "SJIS-open", NULL}; const mbfl_encoding mbfl_encoding_cp932 = { mbfl_no_encoding_cp932, diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c deleted file mode 100644 index 2c4a0eb8edb3b..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.c +++ /dev/null @@ -1,324 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * the source code included in this files was separated from mbfilter_ja.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#include "mbfilter.h" -#include "mbfilter_sjis_open.h" - -#include "unicode_table_cp932_ext.h" -#include "unicode_table_jis.h" - -static void mbfl_filt_ident_sjis_open(unsigned char c, mbfl_identify_filter *filter); - -static const unsigned char mblen_table_sjis[] = { /* 0x80-0x9f,0xE0-0xFF */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 -}; - -static const char *mbfl_encoding_sjis_open_aliases[] = {"SJIS-open", "SJIS-ms", NULL}; - -const mbfl_encoding mbfl_encoding_sjis_open = { - mbfl_no_encoding_sjis_open, - "SJIS-win", - "Shift_JIS", - mbfl_encoding_sjis_open_aliases, - mblen_table_sjis, - MBFL_ENCTYPE_GL_UNSAFE, - &vtbl_sjis_open_wchar, - &vtbl_wchar_sjis_open -}; - -const struct mbfl_identify_vtbl vtbl_identify_sjis_open = { - mbfl_no_encoding_sjis_open, - mbfl_filt_ident_common_ctor, - mbfl_filt_ident_sjis_open -}; - -const struct mbfl_convert_vtbl vtbl_sjis_open_wchar = { - mbfl_no_encoding_sjis_open, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_sjis_open_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_open = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_open, - mbfl_filt_conv_common_ctor, - NULL, - mbfl_filt_conv_wchar_sjis_open, - mbfl_filt_conv_common_flush -}; - -#define SJIS_ENCODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - s1--; \ - s1 >>= 1; \ - if ((c1) < 0x5f) { \ - s1 += 0x71; \ - } else { \ - s1 += 0xb1; \ - } \ - s2 = c2; \ - if ((c1) & 1) { \ - if ((c2) < 0x60) { \ - s2--; \ - } \ - s2 += 0x20; \ - } else { \ - s2 += 0x7e; \ - } \ - } while (0) - -#define SJIS_DECODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - if (s1 < 0xa0) { \ - s1 -= 0x81; \ - } else { \ - s1 -= 0xc1; \ - } \ - s1 <<= 1; \ - s1 += 0x21; \ - s2 = c2; \ - if (s2 < 0x9f) { \ - if (s2 < 0x7f) { \ - s2++; \ - } \ - s2 -= 0x20; \ - } else { \ - s1++; \ - s2 -= 0x7e; \ - } \ - } while (0) - -/* - * SJIS-win => wchar - */ -void mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter) -{ - int c1, s, s1, s2, w; - - switch (filter->status) { - case 0: - if (c >= 0 && c < 0x80) { /* latin */ - (*filter->output_function)(c, filter->data); - } else if (c > 0xa0 && c < 0xe0) { /* kana */ - (*filter->output_function)(0xfec0 + c, filter->data); - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ - filter->status = 1; - filter->cache = c; - } else { - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); - } - break; - - case 1: /* kanji second char */ - filter->status = 0; - c1 = filter->cache; - if (c >= 0x40 && c <= 0xfc && c != 0x7f) { - w = 0; - SJIS_DECODE(c1, c, s1, s2); - s = (s1 - 0x21)*94 + s2 - 0x21; - if (s <= 137) { - if (s == 31) { - w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ - } else if (s == 32) { - w = 0xff5e; /* FULLWIDTH TILDE */ - } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ - } else if (s == 60) { - w = 0xff0d; /* FULLWIDTH HYPHEN-MINUS */ - } else if (s == 80) { - w = 0xffe0; /* FULLWIDTH CENT SIGN */ - } else if (s == 81) { - w = 0xffe1; /* FULLWIDTH POUND SIGN */ - } else if (s == 137) { - w = 0xffe2; /* FULLWIDTH NOT SIGN */ - } - } - if (w == 0) { - if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ - w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; - } else if (s >= 0 && s < jisx0208_ucs_table_size) { /* X 0208 */ - w = jisx0208_ucs_table[s]; - } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { /* vendor ext2 (89ku - 92ku) */ - w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } else if (s >= cp932ext3_ucs_table_min && s < cp932ext3_ucs_table_max) { /* vendor ext3 (115ku - 119ku) */ - w = cp932ext3_ucs_table[s - cp932ext3_ucs_table_min]; - } else if (s >= (94*94) && s < (114*94)) { /* user (95ku - 114ku) */ - w = s - (94*94) + 0xe000; - } - } - if (w <= 0) { - w = (s1 << 8) | s2; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_WINCP932; - } - (*filter->output_function)(w, filter->data); - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); - } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); - } - break; - - default: - filter->status = 0; - break; - } -} - -/* - * wchar => SJIS-win - */ -void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter) -{ - int c1, c2, s1, s2; - - s1 = 0; - s2 = 0; - if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { - s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; - } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { - s1 = ucs_a2_jis_table[c - ucs_a2_jis_table_min]; - } else if (c >= ucs_i_jis_table_min && c < ucs_i_jis_table_max) { - s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; - } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { - s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 20*94)) { /* user (95ku - 114ku) */ - s1 = c - 0xe000; - c1 = s1/94 + 0x7f; - c2 = s1%94 + 0x21; - s1 = (c1 << 8) | c2; - s2 = 1; - } - if (s1 <= 0) { - if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ - } else if (c == 0x203e) { /* OVER LINE */ - s1 = 0x2131; /* FULLWIDTH MACRON */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ - s1 = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ - s1 = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ - s1 = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ - s1 = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ - s1 = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ - s1 = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ - s1 = 0x224c; - } - } - if ((s1 <= 0) || (s1 >= 0x8080 && s2 == 0)) { /* not found or X 0212 */ - s1 = -1; - c1 = 0; - c2 = cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext1 (13ku) */ - if (c == cp932ext1_ucs_table[c1]) { - s1 = ((c1/94 + 0x2d) << 8) + (c1%94 + 0x21); - break; - } - c1++; - } - if (s1 <= 0) { - c1 = 0; - c2 = cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext3 (115ku - 119ku) */ - if (c == cp932ext3_ucs_table[c1]) { - s1 = ((c1/94 + 0x93) << 8) + (c1%94 + 0x21); - break; - } - c1++; - } - } - if (c == 0) { - s1 = 0; - } else if (s1 <= 0) { - s1 = -1; - } - } - - if (s1 >= 0) { - if (s1 < 0x100) { /* latin or kana */ - (*filter->output_function)(s1, filter->data); - } else { /* kanji */ - c1 = (s1 >> 8) & 0xff; - c2 = s1 & 0xff; - SJIS_ENCODE(c1, c2, s1, s2); - (*filter->output_function)(s1, filter->data); - (*filter->output_function)(s2, filter->data); - } - } else { - mbfl_filt_conv_illegal_output(c, filter); - } -} - -static void mbfl_filt_ident_sjis_open(unsigned char c, mbfl_identify_filter *filter) -{ - if (filter->status) { /* kanji second char */ - if (c < 0x40 || c > 0xfc || c == 0x7f) { /* bad */ - filter->flag = 1; - } - filter->status = 0; - } else if (c < 0x80) { /* latin ok */ - ; - } else if (c > 0xa0 && c < 0xe0) { /* kana ok */ - ; - } else if (c > 0x80 && c < 0xfd && c != 0xa0) { /* kanji first char */ - filter->status = 1; - } else { /* bad */ - filter->flag = 1; - } -} diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h deleted file mode 100644 index 89b9af1498019..0000000000000 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_open.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * "streamable kanji code filter and converter" - * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. - * - * LICENSE NOTICES - * - * This file is part of "streamable kanji code filter and converter", - * which is distributed under the terms of GNU Lesser General Public - * License (version 2) as published by the Free Software Foundation. - * - * This software is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with "streamable kanji code filter and converter"; - * if not, write to the Free Software Foundation, Inc., 59 Temple Place, - * Suite 330, Boston, MA 02111-1307 USA - * - * The author of this file: - * - */ -/* - * the source code included in this files was separated from mbfilter_ja.c - * by moriyoshi koizumi on 4 dec 2002. - * - */ - -#ifndef MBFL_MBFILTER_SJIS_OPEN_H -#define MBFL_MBFILTER_SJIS_OPEN_H - -#include "mbfilter.h" - -extern const mbfl_encoding mbfl_encoding_sjis_open; - -extern const struct mbfl_identify_vtbl vtbl_identify_sjis_open; -extern const struct mbfl_convert_vtbl vtbl_sjis_open_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_open; - -void mbfl_filt_conv_sjis_open_wchar(int c, mbfl_convert_filter *filter); -void mbfl_filt_conv_wchar_sjis_open(int c, mbfl_convert_filter *filter); - -#endif /* MBFL_MBFILTER_SJIS_OPEN_H */ diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index 9dd4b68a416ed..65c87475180a8 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -45,7 +45,6 @@ #include "filters/mbfilter_euc_kr.h" #include "filters/mbfilter_iso2022_kr.h" #include "filters/mbfilter_sjis.h" -#include "filters/mbfilter_sjis_open.h" #include "filters/mbfilter_sjis_2004.h" #include "filters/mbfilter_sjis_mobile.h" #include "filters/mbfilter_sjis_mac.h" diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index 8500ebabeb893..d8679e566af19 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -44,7 +44,6 @@ #include "filters/mbfilter_euc_kr.h" #include "filters/mbfilter_iso2022_kr.h" #include "filters/mbfilter_sjis.h" -#include "filters/mbfilter_sjis_open.h" #include "filters/mbfilter_sjis_mobile.h" #include "filters/mbfilter_sjis_mac.h" #include "filters/mbfilter_sjis_2004.h" @@ -108,7 +107,6 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_sjis, &mbfl_encoding_eucjp_win, &mbfl_encoding_eucjp2004, - &mbfl_encoding_sjis_open, &mbfl_encoding_sjis_docomo, &mbfl_encoding_sjis_kddi, &mbfl_encoding_sjis_sb, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index 556ccd2fb25d4..e4cf407ce9733 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -73,7 +73,6 @@ enum mbfl_no_encoding { mbfl_no_encoding_eucjp2004, mbfl_no_encoding_sjis, mbfl_no_encoding_eucjp_win, - mbfl_no_encoding_sjis_open, mbfl_no_encoding_sjis_docomo, mbfl_no_encoding_sjis_kddi, mbfl_no_encoding_sjis_sb, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c index 97cc04e800d14..9a803907bf320 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_ident.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_ident.c @@ -44,7 +44,6 @@ #include "filters/mbfilter_euc_kr.h" #include "filters/mbfilter_iso2022_kr.h" #include "filters/mbfilter_sjis.h" -#include "filters/mbfilter_sjis_open.h" #include "filters/mbfilter_sjis_mobile.h" #include "filters/mbfilter_sjis_2004.h" #include "filters/mbfilter_sjis_mac.h" @@ -82,7 +81,6 @@ static const struct mbfl_identify_vtbl *mbfl_identify_filter_list[] = { &vtbl_identify_ascii, &vtbl_identify_eucjp, &vtbl_identify_sjis, - &vtbl_identify_sjis_open, &vtbl_identify_eucjpwin, &vtbl_identify_eucjp2004, &vtbl_identify_cp932, From 83653b2e279948553591bc615f6846c4446f528e Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Fri, 23 Oct 2020 20:14:18 +0200 Subject: [PATCH 119/123] Fix mbstring support for ISO-2022-JP-KDDI encoding - Identify filter was wrong (didn't recognize KDDI emoji) - Treat it as an error if a multi-byte character or escape sequence is truncated - When converting other encodings to ISO-2022-JP-KDDI, don't swallow trailing hash characters or digits - Don't allow 'control' characters to appear in the middle of a multi-byte char --- .../filters/mbfilter_iso2022jp_mobile.c | 484 ++++++++++-------- 1 file changed, 276 insertions(+), 208 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c index 70cb032ad8734..96d88121bcdd6 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022jp_mobile.c @@ -35,8 +35,9 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -extern void mbfl_filt_conv_any_jis_flush(mbfl_convert_filter *filter); -extern void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_conv_2022jp_mobile_wchar_flush(mbfl_convert_filter *filter); +static void mbfl_filt_conv_wchar_2022jp_mobile_flush(mbfl_convert_filter *filter); +static void mbfl_filt_ident_2022jp_mobile(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jp_kddi_aliases[] = {"ISO-2022-JP-KDDI", NULL}; @@ -54,7 +55,7 @@ const mbfl_encoding mbfl_encoding_2022jp_kddi = { const struct mbfl_identify_vtbl vtbl_identify_2022jp_kddi = { mbfl_no_encoding_2022jp_kddi, mbfl_filt_ident_common_ctor, - mbfl_filt_ident_2022jpms + mbfl_filt_ident_2022jp_mobile }; const struct mbfl_convert_vtbl vtbl_2022jp_kddi_wchar = { @@ -63,7 +64,7 @@ const struct mbfl_convert_vtbl vtbl_2022jp_kddi_wchar = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_2022jp_mobile_wchar, - mbfl_filt_conv_common_flush + mbfl_filt_conv_2022jp_mobile_wchar_flush }; const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { @@ -72,241 +73,187 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jp_kddi = { mbfl_filt_conv_common_ctor, NULL, mbfl_filt_conv_wchar_2022jp_mobile, - mbfl_filt_conv_any_jis_flush + mbfl_filt_conv_wchar_2022jp_mobile_flush }; -#define SJIS_ENCODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - s1--; \ - s1 >>= 1; \ - if ((c1) < 0x5f) { \ - s1 += 0x71; \ - } else { \ - s1 += 0xb1; \ - } \ - s2 = c2; \ - if ((c1) & 1) { \ - if ((c2) < 0x60) { \ - s2--; \ - } \ - s2 += 0x20; \ - } else { \ - s2 += 0x7e; \ - } \ +#define SJIS_ENCODE(c1,c2,s1,s2) \ + do { \ + s1 = ((c1 - 1) >> 1) + ((c1) < 0x5F ? 0x71 : 0xB1); \ + s2 = c2; \ + if ((c1) & 1) { \ + if ((c2) < 0x60) { \ + s2--; \ + } \ + s2 += 0x20; \ + } else { \ + s2 += 0x7e; \ + } \ } while (0) -#define SJIS_DECODE(c1,c2,s1,s2) \ - do { \ - s1 = c1; \ - if (s1 < 0xa0) { \ - s1 -= 0x81; \ - } else { \ - s1 -= 0xc1; \ - } \ - s1 <<= 1; \ - s1 += 0x21; \ - s2 = c2; \ - if (s2 < 0x9f) { \ - if (s2 < 0x7f) { \ - s2++; \ - } \ - s2 -= 0x20; \ - } else { \ - s1++; \ - s2 -= 0x7e; \ - } \ +#define SJIS_DECODE(c1,c2,s1,s2) \ + do { \ + if (c1 < 0xa0) { \ + s1 = ((c1 - 0x81) << 1) + 0x21; \ + } else { \ + s1 = ((c1 - 0xc1) << 1) + 0x21; \ + } \ + s2 = c2; \ + if (c2 < 0x9f) { \ + if (c2 < 0x7f) { \ + s2++; \ + } \ + s2 -= 0x20; \ + } else { \ + s1++; \ + s2 -= 0x7e; \ + } \ } while (0) -#define CODE2JIS(c1,c2,s1,s2) \ - c1 = (s1)/94+0x21; \ - c2 = (s1)-94*((c1)-0x21)+0x21; \ - s1 = ((c1) << 8) | (c2); \ +/* (ku*94)+ten value -> Shift-JIS byte sequence */ +#define CODE2JIS(c1,c2,s1,s2) \ + c1 = (s1)/94+0x21; \ + c2 = (s1)-94*((c1)-0x21)+0x21; \ + s1 = ((c1) << 8) | (c2); \ s2 = 1 -/* - * ISO-2022-JP-Mobile => wchar - */ +#define JISX0201_KANA 0x20 +#define JISX0208_KANJI 0x80 + void mbfl_filt_conv_2022jp_mobile_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w, snd = 0; -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x20: X 0201 kana */ -/* case 0x80: X 0208 */ + switch (filter->status & 0xF) { case 0: - if (c == 0x1b) { + if (c == 0x1B) { filter->status += 2; - } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - (*filter->output_function)(0xff40 + c, filter->data); - } else if (filter->status == 0x80 && c > 0x20 && c < 0x80) { /* kanji first char */ + } else if (filter->status == JISX0201_KANA && c > 0x20 && c < 0x60) { + (*filter->output_function)(0xFF40 + c, filter->data); + } else if (filter->status == JISX0208_KANJI && c > 0x20 && c < 0x80) { filter->cache = c; filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c >= 0 && c < 0x80) { /* ASCII */ (*filter->output_function)(c, filter->data); - } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - (*filter->output_function)(0xfec0 + c, filter->data); + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ + (*filter->output_function)(0xFEC0 + c, filter->data); } else { - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); } break; -/* case 0x81: X 0208 second char */ + /* JISX 0208, second byte */ case 1: w = 0; - filter->status &= ~0xf; + filter->status &= ~0xF; c1 = filter->cache; - if (c > 0x20 && c < 0x7f) { - s = (c1 - 0x21)*94 + c - 0x21; + if (c > 0x20 && c < 0x7F) { + s = ((c1 - 0x21) * 94) + c - 0x21; if (s <= 137) { if (s == 31) { - w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ } else if (s == 32) { - w = 0xff5e; /* FULLWIDTH TILDE */ + w = 0xFF5E; /* FULLWIDTH TILDE */ } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ + w = 0x2225; /* PARALLEL TO */ } else if (s == 60) { - w = 0xff0d; /* FULLWIDTH HYPHEN-MINUS */ + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ } else if (s == 80) { - w = 0xffe0; /* FULLWIDTH CENT SIGN */ + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ } else if (s == 81) { - w = 0xffe1; /* FULLWIDTH POUND SIGN */ + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ } else if (s == 137) { - w = 0xffe2; /* FULLWIDTH NOT SIGN */ + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ + } + } + + if (s >= (84 * 94) && s < (91 * 94)) { + s += 22 * 94; + w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); + if (w > 0 && snd > 0) { + (*filter->output_function)(snd, filter->data); } } if (w == 0) { - if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ + if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; } else if (s >= 0 && s < jisx0208_ucs_table_size) { w = jisx0208_ucs_table[s]; - } else { - w = 0; - } - } - - if (s >= (84*94) && s < 91*94) { - s += 22*94; - if (filter->from->no_encoding == mbfl_no_encoding_2022jp_kddi) { - w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); - } - if (w > 0 && snd > 0) { - (*filter->output_function)(snd, filter->data); } } if (w <= 0) { - w = (c1 << 8) | c; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0208; - } + w = (c1 << 8) | c | MBFL_WCSPLANE_JIS0208; + } (*filter->output_function)(w, filter->data); - } else if (c == 0x1b) { - filter->status += 2; - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); + (*filter->output_function)((c1 << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC */ -/* case 0x02: */ -/* case 0x12: */ -/* case 0x22: */ -/* case 0x82: */ case 2: - if (c == 0x24) { /* '$' */ + if (c == '$') { filter->status++; - } else if (c == 0x28) { /* '(' */ + } else if (c == '(') { filter->status += 3; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B00 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC $ */ -/* case 0x03: */ -/* case 0x13: */ -/* case 0x23: */ -/* case 0x83: */ case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ + if (c == '@' || c == 'B') { + filter->status = JISX0208_KANJI; + } else if (c == '(') { filter->status++; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B2400 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC $ ( */ -/* case 0x04: */ -/* case 0x14: */ -/* case 0x24: */ -/* case 0x84: */ case 4: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; + if (c == '@' || c == 'B') { + filter->status = JISX0208_KANJI; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - (*filter->output_function)(0x28, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B242800 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC ( */ -/* case 0x05: */ -/* case 0x15: */ -/* case 0x25: */ -/* case 0x85: */ case 5: - if (c == 0x42) { /* 'B' */ - filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; + if (c == 'B' || c == 'J') { + filter->status = 0; /* ASCII mode */ + } else if (c == 'I') { + filter->status = JISX0201_KANA; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x28, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B2800 | c | MBFL_WCSGROUP_THROUGH, filter->data); } - break; + } +} - default: - filter->status = 0; - break; +static void mbfl_filt_conv_2022jp_mobile_wchar_flush(mbfl_convert_filter *filter) +{ + if (filter->status & 0xF) { + mbfl_filt_conv_illegal_output(filter->cache, filter); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); } } -/* - * wchar => ISO-2022-JP-Mobile - */ void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) { - int c1, c2, s1, s2; + int c1, c2, s1 = 0, s2 = 0; - s1 = 0; - s2 = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -315,90 +262,211 @@ void mbfl_filt_conv_wchar_2022jp_mobile(int c, mbfl_convert_filter *filter) s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 20*94)) { /* user (95ku - 114ku) */ - s1 = c - 0xe000; - c1 = s1/94 + 0x7f; - c2 = s1%94 + 0x21; + } else if (c >= 0xE000 && c < (0xE000 + 20*94)) { + /* Private Use Area (95ku - 114ku) */ + s1 = c - 0xE000; + c1 = (s1 / 94) + 0x7F; + c2 = (s1 % 94) + 0x21; s1 = (c1 << 8) | c2; } + if (s1 <= 0) { - if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ - } else if (c == 0x203e) { /* OVER LINE */ - s1 = 0x2131; /* FULLWIDTH MACRON */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + if (c == 0xA5) { /* YEN SIGN */ + s1 = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (c == 0x203E) { /* OVER LINE */ + s1 = 0x2131; /* FULLWIDTH MACRON */ + } else if (c == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ + } else if (c == 0xFF5E) { /* FULLWIDTH TILDE */ s1 = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ + } else if (c == 0x2225) { /* PARALLEL TO */ s1 = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ + } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ s1 = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ + } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ s1 = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ + } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ s1 = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ + } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ s1 = 0x224c; } } + if (mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter)) { + CODE2JIS(c1,c2,s1,s2); + s1 -= 0x1600; + } + + if (filter->status) { + return; + } + if ((s1 <= 0) || (s1 >= 0xa1a1 && s2 == 0)) { /* not found or X 0212 */ s1 = -1; - c1 = 0; - c2 = cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext1 (13ku) */ + for (c1 = 0; c1 < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; c1++) { if (c == cp932ext1_ucs_table[c1]) { - s1 = ((c1/94 + 0x2d) << 8) + (c1%94 + 0x21); + s1 = (((c1 / 94) + 0x2D) << 8) + (c1 % 94) + 0x21; break; } - c1++; } + if (c == 0) { s1 = 0; - } else if (s1 <= 0) { - s1 = -1; } } - if (filter->to->no_encoding == mbfl_no_encoding_2022jp_kddi && - mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0) { - CODE2JIS(c1,c2,s1,s2); - s1 -= 0x1600; - } - - if (filter->status == 1 && filter->cache > 0) { - return; - } - if (s1 >= 0) { - if (s1 < 0x80) { /* latin */ - if ((filter->status & 0xff00) != 0) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ + if (s1 < 0x80) { /* ASCII */ + if (filter->status & 0xFF00) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('B', filter->data); } (*filter->output_function)(s1, filter->data); filter->status = 0; - } else if (s1 > 0xa0 && s1 < 0xe0) { /* kana */ - if ((filter->status & 0xff00) != 0x100) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x49, filter->data); /* 'I' */ + } else if (s1 > 0xA0 && s1 < 0xE0) { /* Kana */ + if ((filter->status & 0xFF00) != 0x100) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('I', filter->data); } filter->status = 0x100; - (*filter->output_function)(s1 & 0x7f, filter->data); - } else if (s1 < 0x7e7f) { /* X 0208 */ - if ((filter->status & 0xff00) != 0x200) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ + (*filter->output_function)(s1 & 0x7F, filter->data); + } else if (s1 < 0x7E7F) { /* JIS X 0208 */ + if ((filter->status & 0xFF00) != 0x200) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('$', filter->data); + (*filter->output_function)('B', filter->data); } filter->status = 0x200; - (*filter->output_function)((s1 >> 8) & 0xff, filter->data); - (*filter->output_function)(s1 & 0x7f, filter->data); + (*filter->output_function)((s1 >> 8) & 0xFF, filter->data); + (*filter->output_function)(s1 & 0x7F, filter->data); } } else { mbfl_filt_conv_illegal_output(c, filter); } } + +static void mbfl_filt_conv_wchar_2022jp_mobile_flush(mbfl_convert_filter *filter) +{ + /* Go back to ASCII mode (so strings can be safely concatenated) */ + if (filter->status & 0xFF00) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('B', filter->data); + } + + int c1 = filter->cache; + if (filter->status == 1 && (c1 == '#' || (c1 >= '0' && c1 <= '9'))) { + (*filter->output_function)(c1, filter->data); + } + + if (filter->flush_function) { + (*filter->flush_function)(filter->data); + } +} + +static void mbfl_filt_ident_2022jp_cp932(unsigned char c, mbfl_identify_filter *filter); + +static int handle_esc_sequence_2022jp_mobile(int c, mbfl_identify_filter *filter) +{ + switch (filter->status) { + case 0: /* Starting new character */ + if (c == 0x1B) { /* ESC */ + filter->status = 1; + return 1; + } + break; + + case 1: /* Already saw ESC */ + if (c == '$') { + filter->status = 2; + } else if (c == '(') { + filter->status = 3; + } else { + filter->flag = 1; + filter->status = 0; + } + return 1; + + case 2: /* Already saw ESC $ */ + if (c == '@' || c == 'B') { + filter->filter_function = mbfl_filt_ident_2022jp_cp932; + filter->status = 0; + } else if (c == '(') { + filter->status = 4; + } else { + filter->flag = 1; + filter->status = 0; + } + return 1; + + case 3: /* Already saw ESC ( */ + if (c == 'B' || c == 'J' || c == 'I') { + filter->filter_function = mbfl_filt_ident_2022jp_mobile; + } else { + filter->flag = 1; + } + filter->status = 0; + return 1; + + case 4: /* Already saw ESC $ ( */ + if (c == '@' || c == 'B') { + filter->filter_function = mbfl_filt_ident_2022jp_cp932; + } else { + filter->flag = 1; + } + filter->status = 0; + return 1; + } + + return 0; +} + +static void mbfl_filt_ident_2022jp_mobile(unsigned char c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence_2022jp_mobile(c, filter) && ((c >= 0x80 && c <= 0xA0) || c >= 0xE0)) { + filter->flag = 1; + } +} + +static void mbfl_filt_ident_2022jp_cp932(unsigned char c, mbfl_identify_filter *filter) +{ + if (handle_esc_sequence_2022jp_mobile(c, filter)) { + return; + } + + if (filter->status == 0) { + if (c < 0x21 || c > 0x7F) { + filter->flag = 1; + } + filter->status = c; + } else { + if (c < 0x21 || c > 0x7F) { + filter->flag = 1; + } else { + int s = ((filter->status - 0x21) * 94) + c - 0x21; + filter->status = 0; + + if (s >= (84 * 94) && s < (91 * 94)) { + s += 22 * 94; + int dummy; + if (mbfilter_sjis_emoji_kddi2unicode(s, &dummy)) { + return; /* OK */ + } + } + + if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { + if (!cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]) { + filter->flag = 1; + } + } else if (s >= 0 && s < jisx0208_ucs_table_size) { + if (!jisx0208_ucs_table[s]) { + filter->flag = 1; + } + } else { + filter->flag = 1; + } + } + } +} From 6cef43455fa578247f461229a81c3a0ed5358c20 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 25 Oct 2020 15:13:02 +0200 Subject: [PATCH 120/123] Add test suite for ISO-2022-JP-KDDI encoding Note: I was not able to find any kind of official or even semi-official specification for this legacy encoding. Therefore, this test suite is based largely on the behavior of the existing code. Verifying the correctness of program code in this way is very questionable. In a sense, all you are proving is that the code "does what it does". However, the test suite will still expose any unintended _changes_ to behavior. --- .../tests/iso2022jp_kddi_encoding.phpt | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 ext/mbstring/tests/iso2022jp_kddi_encoding.phpt diff --git a/ext/mbstring/tests/iso2022jp_kddi_encoding.phpt b/ext/mbstring/tests/iso2022jp_kddi_encoding.phpt new file mode 100644 index 0000000000000..b0a31d3be5b9f --- /dev/null +++ b/ext/mbstring/tests/iso2022jp_kddi_encoding.phpt @@ -0,0 +1,195 @@ +--TEST-- +Exhaustive test of ISO-2022-JP-KDDI text encoding +--SKIPIF-- + +--FILE-- +> 8) & 0xFF; + $second = $bytes & 0xFF; + $hi_bits = $first - (($first > 0x9F) ? 0xE0 - 31 : 0x81); + if ($second > 0x9E) { + $kuten = ((($hi_bits << 1) + 0x22) << 8) + ($second - 0x9F + 0x21); + } else if ($second > 0x7F) { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x80 + 63 + 0x21); + } else { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x40 + 0x21); + } + return $kuten; +} + +/* Read in the table of all characters in CP932 */ +$cp932Chars = array(); /* CP932 string -> UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/data/CP932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + continue; + /* For ISO-2022-JP-KDDI, we only accept the first range of MicroSoft + * vendor extensions, in ku 13 */ + if ($bytes > 0xEAA4) + continue; + $cp932Chars[pack('n', shiftJISDecode($bytes))] = pack('N', $codepoint); + } +} + +/* Add KDDI-specific emoji to the CP932 characters + * They are mapped in 22 ku (or 'rows') above the places where they are mapped + * in the Shift-JIS representation of KDDI emoji */ +$fp = fopen(realpath(__DIR__ . '/data/EmojiSources.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + $fields = explode(';', rtrim($line)); + if (count($fields) >= 4) { + if (sscanf($fields[0], "%x %x", $cp1, $cp2) == 2) + $utf32 = pack('N', $cp1) . pack('N', $cp2); + else + $utf32 = pack('N', hexdec($fields[0])); + + if ($fields[2]) { + $kuten = shiftJISDecode(hexdec($fields[2])); + $ku = $kuten >> 8; + if ($ku >= 106 && $ku <= 112) + $cp932Chars[pack('n', $kuten - (22 * 0x100))] = $utf32; + } + } +} + +/* Duplicate mappings for the same characters in CP932 */ +$nonInvertible = array(); +foreach ([0x8790, 0x8791, 0x8792, 0x8795, 0x8796, 0x8797, 0x879A, 0x879B, 0x879C] as $i) { + $bytes = pack('n', shiftJISDecode($i)); + $nonInvertible[$bytes] = $cp932Chars[$bytes]; +} + +/* Read in table of all characters in JISX-0201 charset */ +$jisx0201Chars = array(); /* JISX0201 -> UTF-32BE */ +$fp = fopen(realpath(__DIR__ . '/data/JISX0201.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $byte, $codepoint) == 2) + $jisx0201Chars[chr($byte)] = pack('N', $codepoint); +} + +function testValid($from, $to, $encoding, $bothWays = true) { + identifyValidString($from, $encoding); + convertValidString($from, $to, $encoding, 'UTF-32BE', false); + + if ($bothWays) { + /* ESC ( B at the beginning is redundant, since ASCII mode is the default */ + if (substr($from, 0, 3) == "\x1B(B") + $from = substr($from, 3, strlen($from) - 3); + /* If the string switches to a different charset, it should switch back to + * ASCII at the end */ + if (strpos($from, "\x1B\$B") !== false || strpos($from, "\x1B(I") !== false || strpos($from, "\x1B\$@") !== false || strpos($from, "\x1B\$(B") !== false) + $from .= "\x1B(B"; + + convertValidString($to, $from, 'UTF-32BE', $encoding, false); + } +} + +function testInvalid($from, $to, $encoding) { + testInvalidString($from, $to, $encoding, 'UTF-32BE'); +} + +for ($i = 0; $i < 0x80; $i++) { + if ($i == 0x1B) + continue; + testValid(chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-KDDI'); + testValid("\x1B(B" . chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-KDDI', false); + testValid("\x1B(J" . chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-KDDI', false); +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) // We convert single bytes from 0xA1-0xDF as JIS X 0201 kana + continue; + testInvalid(chr($i), "\x00\x00\x00%", 'ISO-2022-JP-KDDI'); + testInvalid("\x1B(B" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-KDDI'); + testInvalid("\x1B(J" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-KDDI'); +} + +echo "ASCII support OK\n"; + +/* All valid JIS X 0201 characters + * Those with a 1 in the high bit are JIS X 0201 kana */ +foreach ($jisx0201Chars as $jisx0201 => $utf32BE) { + if (ord($jisx0201) >= 128) { + $kana = chr(ord($jisx0201) - 128); + testValid("\x1B(I" . $kana, $utf32BE, 'ISO-2022-JP-KDDI', false); + testValid($jisx0201, $utf32BE, 'ISO-2022-JP-KDDI', false); + } +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) + continue; + testInvalid("\x1B(I" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-KDDI'); + testInvalid("\x1B(J" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-KDDI'); +} + +echo "JIS X 0201 support OK\n"; + +$validChars = $cp932Chars; +/* We allow ASCII/JIS X 0201 characters to appear even in JIS X 0208 mode */ +for ($i = 0; $i <= 0x7F; $i++) + $validChars[chr($i)] = chr($i); +for ($i = 0xA1; $i <= 0xDF; $i++) + $validChars[chr($i)] = $jisx0201Chars[chr($i)]; +$lenTable = map(range(0xE0, 0xFC), 2, map(range(0x81, 0x9F), 2)); +findInvalidChars($validChars, $invalidChars, $truncatedChars, $lenTable); + +foreach ($nonInvertible as $bytes => $char) + unset($cp932Chars[$bytes]); + +$good = array_keys($cp932Chars); +shuffle($good); +while (!empty($good)) { + $length = min(rand(5,10), count($good)); + $from = $to = ''; + while ($length--) { + $goodChar = array_pop($good); + $from .= $goodChar; + $to .= $cp932Chars[$goodChar]; + } + testValid("\x1B\$B" . $from, $to, 'ISO-2022-JP-KDDI'); +} + +$good = array_keys($nonInvertible); +shuffle($good); +while (!empty($good)) { + $length = min(rand(5,10), count($good)); + $from = $to = ''; + while ($length--) { + $goodChar = array_pop($good); + $from .= $goodChar; + $to .= $nonInvertible[$goodChar]; + } + testValid("\x1B\$B" . $from, $to, 'ISO-2022-JP-KDDI', false); +} + +foreach (array_keys($invalidChars) as $invalid) + testInvalidString("\x1B\$B" . $invalid, "\x00\x00\x00%", 'ISO-2022-JP-KDDI', 'UTF-32BE'); +foreach (array_keys($truncatedChars) as $truncated) + testInvalidString("\x1B\$B" . $truncated, "\x00\x00\x00%", 'ISO-2022-JP-KDDI', 'UTF-32BE'); + +echo "JIS X 0208 (with MS extensions) and KDDI emoji support OK\n"; + +?> +--EXPECT-- +ASCII support OK +JIS X 0201 support OK +JIS X 0208 (with MS extensions) and KDDI emoji support OK From 3534564c7e230710749ec4b6f2d825dfd1a1f4e8 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 25 Oct 2020 21:08:37 +0200 Subject: [PATCH 121/123] Fix mbstring support for ISO-2022-JP-MS encoding - Identify filter was wrong - Treat it as error if multi-byte string or escape sequence is truncated - Don't allow 'control' characters or escape sequences to appear in the middle of a multi-byte char --- .../libmbfl/filters/mbfilter_iso2022_jp_ms.c | 431 ++++++++---------- 1 file changed, 187 insertions(+), 244 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c index 598a11a0d0aa0..06ce10cb4cd96 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_iso2022_jp_ms.c @@ -34,7 +34,7 @@ #include "unicode_table_jis.h" #include "cp932_table.h" -void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter); static const char *mbfl_encoding_2022jpms_aliases[] = {"ISO2022JPMS", NULL}; @@ -80,65 +80,58 @@ const struct mbfl_convert_vtbl vtbl_wchar_2022jpms = { #define idxtojis1(c) (((c) / 94) + 0x21) #define idxtojis2(c) (((c) % 94) + 0x21) -/* - * ISO-2022-JP-MS => wchar - */ +#define JISX0201_KANA 0x20 +#define JISX0208_KANJI 0x80 +#define UDC 0xA0 + void mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) { int c1, s, w; -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x20: X 0201 kana */ -/* case 0x80: X 0208 */ -/* case 0xa0: UDC */ + switch (filter->status & 0xF) { case 0: - if (c == 0x1b) { + if (c == 0x1B) { filter->status += 2; - } else if (filter->status == 0x20 && c > 0x20 && c < 0x60) { /* kana */ - (*filter->output_function)(0xff40 + c, filter->data); - } else if ((filter->status == 0x80 || filter->status == 0xa0) && c > 0x20 && c < 0x80) { /* kanji first char */ + } else if (filter->status == JISX0201_KANA && c > 0x20 && c < 0x60) { + (*filter->output_function)(0xFF40 + c, filter->data); + } else if ((filter->status == JISX0208_KANJI || filter->status == UDC) && c > 0x20 && c < 0x80) { filter->cache = c; filter->status += 1; - } else if (c >= 0 && c < 0x80) { /* latin, CTLs */ + } else if (c >= 0 && c < 0x80) { /* ASCII */ (*filter->output_function)(c, filter->data); - } else if (c > 0xa0 && c < 0xe0) { /* GR kana */ - (*filter->output_function)(0xfec0 + c, filter->data); + } else if (c > 0xA0 && c < 0xE0) { /* Kana */ + (*filter->output_function)(0xFEC0 + c, filter->data); } else { - w = c & MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; - (*filter->output_function)(w, filter->data); + (*filter->output_function)(c | MBFL_WCSGROUP_THROUGH, filter->data); } break; -/* case 0x81: X 0208 second char */ -/* case 0xa1: UDC second char */ + /* Kanji, second byte */ case 1: w = 0; - filter->status &= ~0xf; + filter->status &= ~0xF; c1 = filter->cache; - if (c > 0x20 && c < 0x7f) { - s = (c1 - 0x21)*94 + c - 0x21; - if (filter->status == 0x80) { + if (c > 0x20 && c < 0x7F) { + s = ((c1 - 0x21) * 94) + c - 0x21; + if (filter->status == JISX0208_KANJI) { if (s <= 137) { if (s == 31) { - w = 0xff3c; /* FULLWIDTH REVERSE SOLIDUS */ + w = 0xFF3C; /* FULLWIDTH REVERSE SOLIDUS */ } else if (s == 32) { - w = 0xff5e; /* FULLWIDTH TILDE */ + w = 0xFF5E; /* FULLWIDTH TILDE */ } else if (s == 33) { - w = 0x2225; /* PARALLEL TO */ + w = 0x2225; /* PARALLEL TO */ } else if (s == 60) { - w = 0xff0d; /* FULLWIDTH HYPHEN-MINUS */ + w = 0xFF0D; /* FULLWIDTH HYPHEN-MINUS */ } else if (s == 80) { - w = 0xffe0; /* FULLWIDTH CENT SIGN */ + w = 0xFFE0; /* FULLWIDTH CENT SIGN */ } else if (s == 81) { - w = 0xffe1; /* FULLWIDTH POUND SIGN */ + w = 0xFFE1; /* FULLWIDTH POUND SIGN */ } else if (s == 137) { - w = 0xffe2; /* FULLWIDTH NOT SIGN */ + w = 0xFFE2; /* FULLWIDTH NOT SIGN */ } } + if (w == 0) { if (s >= cp932ext1_ucs_table_min && s < cp932ext1_ucs_table_max) { /* vendor ext1 (13ku) */ w = cp932ext1_ucs_table[s - cp932ext1_ucs_table_min]; @@ -146,120 +139,72 @@ void mbfl_filt_conv_2022jpms_wchar(int c, mbfl_convert_filter *filter) w = jisx0208_ucs_table[s]; } else if (s >= cp932ext2_ucs_table_min && s < cp932ext2_ucs_table_max) { /* vendor ext2 (89ku - 92ku) */ w = cp932ext2_ucs_table[s - cp932ext2_ucs_table_min]; - } else { - w = 0; } } + if (w <= 0) { - w = (c1 << 8) | c; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0208; + w = (c1 << 8) | c | MBFL_WCSPLANE_JIS0208; } - (*filter->output_function)(w, filter->data); } else { if (c1 > 0x20 && c1 < 0x35) { - w = 0xe000 + (c1 - 0x21)*94 + c - 0x21; + w = 0xE000 + ((c1 - 0x21) * 94) + c - 0x21; } if (w <= 0) { - w = (((c1 - 0x21) + 0x7f) << 8) | c; - w &= MBFL_WCSPLANE_MASK; - w |= MBFL_WCSPLANE_JIS0208; + w = (((c1 - 0x21) + 0x7f) << 8) | c | MBFL_WCSPLANE_JIS0208; } - (*filter->output_function)(w, filter->data); } - } else if (c == 0x1b) { - filter->status += 2; - } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ - (*filter->output_function)(c, filter->data); - } else { - w = (c1 << 8) | c; - w &= MBFL_WCSGROUP_MASK; - w |= MBFL_WCSGROUP_THROUGH; (*filter->output_function)(w, filter->data); + } else { + (*filter->output_function)((c1 << 8) | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC */ -/* case 0x02: */ -/* case 0x12: */ -/* case 0x22: */ -/* case 0x82: */ -/* case 0xa2: */ case 2: - if (c == 0x24) { /* '$' */ + if (c == '$') { filter->status++; - } else if (c == 0x28) { /* '(' */ + } else if (c == '(') { filter->status += 3; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B00 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC $ */ -/* case 0x03: */ -/* case 0x13: */ -/* case 0x23: */ -/* case 0x83: */ -/* case 0xa3: */ case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ + if (c == '@' || c == 'B') { + filter->status = JISX0208_KANJI; + } else if (c == '(') { filter->status++; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B2400 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC $ ( */ -/* case 0x04: */ -/* case 0x14: */ -/* case 0x24: */ -/* case 0x84: */ -/* case 0xa4: */ case 4: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x3f) { /* '?' */ - filter->status = 0xa0; + if (c == '@' || c == 'B') { + filter->status = JISX0208_KANJI; + } else if (c == '?') { + filter->status = UDC; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x24, filter->data); - (*filter->output_function)(0x28, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B242800 | c | MBFL_WCSGROUP_THROUGH, filter->data); } break; /* ESC ( */ -/* case 0x05: */ -/* case 0x15: */ -/* case 0x25: */ -/* case 0x85: */ -/* case 0xa5: */ case 5: - if (c == 0x42) { /* 'B' */ + if (c == 'B' || c == 'J') { filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ - filter->status = 0; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; + } else if (c == 'I') { + filter->status = JISX0201_KANA; } else { - filter->status &= ~0xf; - (*filter->output_function)(0x1b, filter->data); - (*filter->output_function)(0x28, filter->data); - goto retry; + filter->status &= ~0xF; + (*filter->output_function)(0x1B2800 | c | MBFL_WCSGROUP_THROUGH, filter->data); } - break; - - default: - filter->status = 0; - break; } } @@ -277,15 +222,10 @@ static int cp932ext3_cp932ext2_jis(int c) return idxtojis1(idx) << 8 | idxtojis2(idx); } -/* - * wchar => ISO-2022-JP-MS - */ void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) { - int c1, c2, s1, s2; + int c1, c2, s1 = 0, s2 = 0; - s1 = 0; - s2 = 0; if (c >= ucs_a1_jis_table_min && c < ucs_a1_jis_table_max) { s1 = ucs_a1_jis_table[c - ucs_a1_jis_table_min]; } else if (c >= ucs_a2_jis_table_min && c < ucs_a2_jis_table_max) { @@ -294,97 +234,95 @@ void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) s1 = ucs_i_jis_table[c - ucs_i_jis_table_min]; } else if (c >= ucs_r_jis_table_min && c < ucs_r_jis_table_max) { s1 = ucs_r_jis_table[c - ucs_r_jis_table_min]; - } else if (c >= 0xe000 && c < (0xe000 + 20*94)) { /* user (95ku - 114ku) */ - s1 = c - 0xe000; - c1 = s1/94 + 0x7f; - c2 = s1%94 + 0x21; + } else if (c >= 0xE000 && c < (0xE000 + 20*94)) { + /* Private User Area (95ku - 114ku) */ + s1 = c - 0xE000; + c1 = (s1 / 94) + 0x7f; + c2 = (s1 % 94) + 0x21; s1 = (c1 << 8) | c2; } + if (s1 <= 0) { - if (c == 0xa5) { /* YEN SIGN */ - s1 = 0x216f; /* FULLWIDTH YEN SIGN */ - } else if (c == 0x203e) { /* OVER LINE */ - s1 = 0x2131; /* FULLWIDTH MACRON */ - } else if (c == 0xff3c) { /* FULLWIDTH REVERSE SOLIDUS */ + if (c == 0xA5) { /* YEN SIGN */ + s1 = 0x216F; /* FULLWIDTH YEN SIGN */ + } else if (c == 0x203E) { /* OVER LINE */ + s1 = 0x2131; /* FULLWIDTH MACRON */ + } else if (c == 0xFF3C) { /* FULLWIDTH REVERSE SOLIDUS */ s1 = 0x2140; - } else if (c == 0xff5e) { /* FULLWIDTH TILDE */ + } else if (c == 0xFF5E) { /* FULLWIDTH TILDE */ s1 = 0x2141; - } else if (c == 0x2225) { /* PARALLEL TO */ + } else if (c == 0x2225) { /* PARALLEL TO */ s1 = 0x2142; - } else if (c == 0xff0d) { /* FULLWIDTH HYPHEN-MINUS */ + } else if (c == 0xFF0D) { /* FULLWIDTH HYPHEN-MINUS */ s1 = 0x215d; - } else if (c == 0xffe0) { /* FULLWIDTH CENT SIGN */ + } else if (c == 0xFFE0) { /* FULLWIDTH CENT SIGN */ s1 = 0x2171; - } else if (c == 0xffe1) { /* FULLWIDTH POUND SIGN */ + } else if (c == 0xFFE1) { /* FULLWIDTH POUND SIGN */ s1 = 0x2172; - } else if (c == 0xffe2) { /* FULLWIDTH NOT SIGN */ - s1 = 0x224c; + } else if (c == 0xFFE2) { /* FULLWIDTH NOT SIGN */ + s1 = 0x224C; } } + if ((s1 <= 0) || (s1 >= 0xa1a1 && s2 == 0)) { /* not found or X 0212 */ s1 = -1; - c1 = 0; - c2 = cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext1 (13ku) */ + for (c1 = 0; c1 < cp932ext1_ucs_table_max - cp932ext1_ucs_table_min; c1++) { if (c == cp932ext1_ucs_table[c1]) { - s1 = ((c1/94 + 0x2d) << 8) + (c1%94 + 0x21); + s1 = (((c1 / 94) + 0x2D) << 8) + (c1 % 94) + 0x21; break; } - c1++; } + if (s1 <= 0) { - c1 = 0; - c2 = cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; - while (c1 < c2) { /* CP932 vendor ext3 (115ku - 119ku) */ + for (c1 = 0; c1 < cp932ext3_ucs_table_max - cp932ext3_ucs_table_min; c1++) { if (c == cp932ext3_ucs_table[c1]) { s1 = cp932ext3_cp932ext2_jis(c1); break; } - c1++; } } + if (c == 0) { s1 = 0; - } else if (s1 <= 0) { - s1 = -1; } } + if (s1 >= 0) { if (s1 < 0x80) { /* latin */ - if ((filter->status & 0xff00) != 0) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ + if (filter->status & 0xFF00) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('B', filter->data); } (*filter->output_function)(s1, filter->data); filter->status = 0; - } else if (s1 > 0xa0 && s1 < 0xe0) { /* kana */ - if ((filter->status & 0xff00) != 0x100) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x49, filter->data); /* 'I' */ + } else if (s1 > 0xA0 && s1 < 0xE0) { /* kana */ + if ((filter->status & 0xFF00) != 0x100) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('I', filter->data); } filter->status = 0x100; - (*filter->output_function)(s1 & 0x7f, filter->data); - } else if (s1 < 0x7e7f) { /* X 0208 */ - if ((filter->status & 0xff00) != 0x200) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ + (*filter->output_function)(s1 & 0x7F, filter->data); + } else if (s1 < 0x7E7F) { /* X 0208 */ + if ((filter->status & 0xFF00) != 0x200) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('$', filter->data); + (*filter->output_function)('B', filter->data); } filter->status = 0x200; - (*filter->output_function)((s1 >> 8) & 0xff, filter->data); - (*filter->output_function)(s1 & 0x7f, filter->data); - } else if (s1 < 0x927f) { /* UDC */ - if ((filter->status & 0xff00) != 0x800) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x24, filter->data); /* '$' */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x3f, filter->data); /* '?' */ + (*filter->output_function)((s1 >> 8) & 0xFF, filter->data); + (*filter->output_function)(s1 & 0x7F, filter->data); + } else if (s1 < 0x927F) { /* UDC */ + if ((filter->status & 0xFF00) != 0x800) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('$', filter->data); + (*filter->output_function)('(', filter->data); + (*filter->output_function)('?', filter->data); } filter->status = 0x800; - (*filter->output_function)(((s1 >> 8) - 0x5e) & 0x7f, filter->data); - (*filter->output_function)(s1 & 0x7f, filter->data); + (*filter->output_function)(((s1 >> 8) - 0x5E) & 0x7F, filter->data); + (*filter->output_function)(s1 & 0x7F, filter->data); } } else { mbfl_filt_conv_illegal_output(c, filter); @@ -393,108 +331,113 @@ void mbfl_filt_conv_wchar_2022jpms(int c, mbfl_convert_filter *filter) void mbfl_filt_conv_any_2022jpms_flush(mbfl_convert_filter *filter) { - /* back to latin */ - if ((filter->status & 0xff00) != 0) { - (*filter->output_function)(0x1b, filter->data); /* ESC */ - (*filter->output_function)(0x28, filter->data); /* '(' */ - (*filter->output_function)(0x42, filter->data); /* 'B' */ + /* Go back to ASCII (so strings can be safely concatenated) */ + if ((filter->status & 0xFF00) != 0) { + (*filter->output_function)(0x1B, filter->data); /* ESC */ + (*filter->output_function)('(', filter->data); + (*filter->output_function)('B', filter->data); } - filter->status &= 0xff; - - if (filter->flush_function != NULL) { + if (filter->flush_function) { (*filter->flush_function)(filter->data); } } -void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter) +static void mbfl_filt_ident_2022jpms_cp932(unsigned char c, mbfl_identify_filter *filter); +static void mbfl_filt_ident_2022jpms_udc(unsigned char c, mbfl_identify_filter *filter); + +static int handle_esc_sequence_2022jpms(unsigned char c, mbfl_identify_filter *filter) { -retry: - switch (filter->status & 0xf) { -/* case 0x00: ASCII */ -/* case 0x10: X 0201 latin */ -/* case 0x20: X 0201 kana */ -/* case 0x80: X 0208 */ -/* case 0xa0: X UDC */ + switch (filter->status) { case 0: - if (c == 0x1b) { - filter->status += 2; - } else if ((filter->status == 0x80 || filter->status == 0xa0) && c > 0x20 && c < 0x80) { /* kanji first char */ - filter->status += 1; - } else if (c < 0x80) { /* latin, CTLs */ - ; - } else { - filter->flag = 1; /* bad */ - } - break; - -/* case 0x81: X 0208 second char */ -/* case 0xa1: UDC second char */ - case 1: - filter->status &= ~0xf; - if (c == 0x1b) { - goto retry; - } else if (c < 0x21 || c > 0x7e) { /* bad */ - filter->flag = 1; + if (c == 0x1B) { + filter->status = 1; + return 1; } break; - /* ESC */ - case 2: - if (c == 0x24) { /* '$' */ + case 1: /* ESC */ + if (c == '$') { filter->status++; - } else if (c == 0x28) { /* '(' */ + } else if (c == '(') { filter->status += 3; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; /* bad */ + filter->status = 0; } - break; + return 1; - /* ESC $ */ - case 3: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x28) { /* '(' */ + case 2: /* ESC $ */ + if (c == '@' || c == 'B') { + filter->filter_function = mbfl_filt_ident_2022jpms_cp932; + filter->status = 0; + } else if (c == '(') { filter->status++; } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; - } - break; - - /* ESC $ ( */ - case 4: - if (c == 0x40 || c == 0x42) { /* '@' or 'B' */ - filter->status = 0x80; - } else if (c == 0x3f) { /* '?' */ - filter->status = 0xa0; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + filter->flag = 1; /* bad */ + filter->status = 0; } - break; + return 1; - /* ESC ( */ - case 5: - if (c == 0x42) { /* 'B' */ + case 3: /* ESC $ ( */ + if (c == '?') { + filter->filter_function = mbfl_filt_ident_2022jpms_udc; + } else if (c != '@' && c != 'B') { + filter->flag = 1; /* bad */ + } filter->status = 0; - } else if (c == 0x4a) { /* 'J' */ + return 1; + + case 4: /* ESC ( */ + if (c != 'B' && c != 'J' && c != 'I') { + filter->flag = 1; /* bad */ + } filter->status = 0; - } else if (c == 0x49) { /* 'I' */ - filter->status = 0x20; - } else { - filter->flag = 1; /* bad */ - filter->status &= ~0xf; - goto retry; + return 1; + } + + return 0; +} + +static void mbfl_filt_ident_2022jpms_udc(unsigned char c, mbfl_identify_filter *filter) +{ + if (!filter->status) { + if (handle_esc_sequence_2022jpms(c, filter)) { + return; } - break; + if (c < 0x21 || c > 0x34) { + filter->flag = 1; + } + filter->status = c; + } else { + if (c < 0x21 || c > 0x7E) { + filter->flag = 1; + } + filter->status = 0; + } +} - default: +static void mbfl_filt_ident_2022jpms_cp932(unsigned char c, mbfl_identify_filter *filter) +{ + if (!filter->status) { + if (handle_esc_sequence_2022jpms(c, filter)) { + return; + } + if (c < 0x21 || c > 0x7F) { + filter->flag = 1; + } + filter->status = c; + } else { + if (c < 0x21 || c > 0x7E) { + filter->flag = 1; + } filter->status = 0; - break; + } +} + +static void mbfl_filt_ident_2022jpms(unsigned char c, mbfl_identify_filter *filter) +{ + if (!handle_esc_sequence_2022jpms(c, filter) && c >= 0x80 && (c < 0xA1 || c > 0xDF)) { + filter->flag = 1; } } From dadfc7045406954bf46f5422771f6eae98ef5bcb Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Sun, 25 Oct 2020 21:11:01 +0200 Subject: [PATCH 122/123] Add test suite for ISO-2022-JP-MS encoding As with ISO-2022-JP-KDDI, the main reference used to develop these tests was the behavior of the existing code. It would have been better to have some independent reference which we could cross-check our code against, but I couldn't find one. --- ext/mbstring/tests/iso2022jp_ms_encoding.phpt | 190 ++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100644 ext/mbstring/tests/iso2022jp_ms_encoding.phpt diff --git a/ext/mbstring/tests/iso2022jp_ms_encoding.phpt b/ext/mbstring/tests/iso2022jp_ms_encoding.phpt new file mode 100644 index 0000000000000..4b5e99477291a --- /dev/null +++ b/ext/mbstring/tests/iso2022jp_ms_encoding.phpt @@ -0,0 +1,190 @@ +--TEST-- +Exhaustive test of ISO-2022-JP-MS text encoding +--SKIPIF-- + +--FILE-- +> 8) & 0xFF; + $second = $bytes & 0xFF; + $hi_bits = $first - (($first > 0x9F) ? 0xE0 - 31 : 0x81); + if ($second > 0x9E) { + $kuten = ((($hi_bits << 1) + 0x22) << 8) + ($second - 0x9F + 0x21); + } else if ($second > 0x7F) { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x80 + 63 + 0x21); + } else { + $kuten = ((($hi_bits << 1) + 0x21) << 8) + ($second - 0x40 + 0x21); + } + return $kuten; +} + +/* Read in the table of all characters in CP932 */ +$cp932Chars = array(); /* CP932 string -> UTF-32BE string */ +$fp = fopen(realpath(__DIR__ . '/data/CP932.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $bytes, $codepoint) == 2) { + if ($bytes < 256) + continue; + /* ISO-2022-JP-MS only uses the first two ranges of MS vendor extensions */ + if ($bytes >= 0xFA00) + continue; + $cp932Chars[pack('n', shiftJISDecode($bytes))] = pack('N', $codepoint); + } +} + +/* Windows-932 has many cases where two different kuten codes map to the same + * Unicode codepoints */ +foreach ([0x8790, 0x8791, 0x8792, 0x8795, 0x8796, 0x8797, 0x879A, 0x879B, 0x879C, 0xEEF9] as $i) { + $bytes = pack('n', shiftJISDecode($i)); + $nonInvertible[$bytes] = $cp932Chars[$bytes]; +} + +/* Add User Defined codes (which use ESC $ ( ? escape sequence)) */ +$udcChars = array(); +for ($cp = 0xE000; $cp < (0xE000 + (20 * 94)); $cp++) { + $i = $cp - 0xE000; + $bytes = ((($i / 94) + 0x7F - 0x5E) << 8) + (($i % 94) + 0x21); + $udcChars[pack('n', $bytes)] = pack('N', $cp); +} + +/* Read in table of all characters in JISX-0201 charset */ +$jisx0201Chars = array(); /* JISX0201 -> UTF-32BE */ +$fp = fopen(realpath(__DIR__ . '/data/JISX0201.txt'), 'r+'); +while ($line = fgets($fp, 256)) { + if ($line[0] == '#') + continue; + + if (sscanf($line, "0x%x\t0x%x", $byte, $codepoint) == 2) + $jisx0201Chars[chr($byte)] = pack('N', $codepoint); +} + +function testValid($from, $to, $encoding, $bothWays = true) { + identifyValidString($from, $encoding); + convertValidString($from, $to, $encoding, 'UTF-32BE', false); + + if ($bothWays) { + /* ESC ( B at the beginning is redundant, since ASCII mode is the default */ + if (substr($from, 0, 3) == "\x1B(B") + $from = substr($from, 3, strlen($from) - 3); + /* If the string switches to a different charset, it should switch back to + * ASCII at the end */ + if (strpos($from, "\x1B\$B") !== false || strpos($from, "\x1B(I") !== false || strpos($from, "\x1B\$@") !== false || strpos($from, "\x1B\$(B") !== false || strpos($from, "\x1B\$(@") !== false || strpos($from, "\x1B\$(?") !== false) + $from .= "\x1B(B"; + + convertValidString($to, $from, 'UTF-32BE', $encoding, false); + } +} + +function testInvalid($from, $to, $encoding) { + testInvalidString($from, $to, $encoding, 'UTF-32BE'); +} + +for ($i = 0; $i < 0x80; $i++) { + if ($i == 0x1B) + continue; + testValid(chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-MS'); + testValid("\x1B(B" . chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-MS', false); + testValid("\x1B(J" . chr($i), "\x00\x00\x00" . chr($i), 'ISO-2022-JP-MS', false); +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) // We convert single bytes from 0xA1-0xDF as JIS X 0201 kana + continue; + testInvalid(chr($i), "\x00\x00\x00%", 'ISO-2022-JP-MS'); + testInvalid("\x1B(B" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-MS'); + testInvalid("\x1B(J" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-MS'); +} + +echo "ASCII support OK\n"; + +/* All valid JIS X 0201 characters + * Those with a 1 in the high bit are JIS X 0201 kana */ +foreach ($jisx0201Chars as $jisx0201 => $utf32BE) { + if (ord($jisx0201) >= 128) { + $kana = chr(ord($jisx0201) - 128); + testValid("\x1B(I" . $kana, $utf32BE, 'ISO-2022-JP-MS', false); + testValid($jisx0201, $utf32BE, 'ISO-2022-JP-MS', false); + } +} + +for ($i = 0x80; $i < 256; $i++) { + if ($i >= 0xA1 && $i <= 0xDF) + continue; + testInvalid("\x1B(I" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-MS'); + testInvalid("\x1B(J" . chr($i), "\x00\x00\x00%", 'ISO-2022-JP-MS'); +} + +echo "JIS X 0201 support OK\n"; + +function testAllValidCharsWithPrefix($validChars, $prefix, $bothWays) { + $good = array_keys($validChars); + shuffle($good); + while (!empty($good)) { + $length = min(rand(5,10), count($good)); + $from = $to = ''; + while ($length--) { + $goodChar = array_pop($good); + $from .= $goodChar; + $to .= $validChars[$goodChar]; + } + testValid($prefix . $from, $to, 'ISO-2022-JP-MS', $bothWays); + } +} + +$validChars = $cp932Chars; +/* We allow ASCII/JIS X 0201 characters to appear even in JIS X 0208 mode */ +for ($i = 0; $i <= 0x7F; $i++) + $validChars[chr($i)] = chr($i); +for ($i = 0xA1; $i <= 0xDF; $i++) + $validChars[chr($i)] = $jisx0201Chars[chr($i)]; +$lenTable = map(range(0xE0, 0xFC), 2, map(range(0x81, 0x9F), 2)); +findInvalidChars($validChars, $invalidChars, $truncatedChars, $lenTable); + +foreach ($nonInvertible as $bytes => $char) + unset($cp932Chars[$bytes]); + +testAllValidCharsWithPrefix($cp932Chars, "\x1B\$B", true); +testAllValidCharsWithPrefix($nonInvertible, "\x1B\$B", false); + +foreach (array_keys($invalidChars) as $invalid) + testInvalidString("\x1B\$B" . $invalid, "\x00\x00\x00%", 'ISO-2022-JP-MS', 'UTF-32BE'); +foreach (array_keys($truncatedChars) as $truncated) + testInvalidString("\x1B\$B" . $truncated, "\x00\x00\x00%", 'ISO-2022-JP-MS', 'UTF-32BE'); + +echo "JIS X 0208 (with MS extensions) support OK\n"; + +$validChars = $udcChars; +/* We allow ASCII/JIS X 0201 characters to appear even in JIS X 0208 mode */ +for ($i = 0; $i <= 0x7F; $i++) + $validChars[chr($i)] = chr($i); +for ($i = 0xA1; $i <= 0xDF; $i++) + $validChars[chr($i)] = $jisx0201Chars[chr($i)]; +$lenTable = map(range(0xE0, 0xFC), 2, map(range(0x81, 0x9F), 2)); +findInvalidChars($validChars, $invalidChars, $truncatedChars, $lenTable); + +testAllValidCharsWithPrefix($udcChars, "\x1B\$(?", true); + +foreach (array_keys($invalidChars) as $invalid) + testInvalidString("\x1B\$(?" . $invalid, "\x00\x00\x00%", 'ISO-2022-JP-MS', 'UTF-32BE'); +foreach (array_keys($truncatedChars) as $truncated) + testInvalidString("\x1B\$(?" . $truncated, "\x00\x00\x00%", 'ISO-2022-JP-MS', 'UTF-32BE'); + +echo "UDC support OK\n"; + +?> +--EXPECT-- +ASCII support OK +JIS X 0201 support OK +JIS X 0208 (with MS extensions) support OK +UDC support OK From 25ac65249424094ba50b20846ae456a9281ea1d0 Mon Sep 17 00:00:00 2001 From: Alex Dowad Date: Mon, 26 Oct 2020 17:50:54 +0200 Subject: [PATCH 123/123] Refactoring of UTF-8 with mobile vendor extensions (DoCoMo, KDDI, SoftBank) --- .../libmbfl/filters/mbfilter_utf8_mobile.c | 105 ++++++++---------- 1 file changed, 49 insertions(+), 56 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c index 6c6b91711d623..734992e0aa465 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_utf8_mobile.c @@ -34,11 +34,11 @@ extern void mbfl_filt_ident_utf8(unsigned char c, mbfl_identify_filter *filter); extern void mbfl_filt_conv_utf8_wchar_flush(mbfl_convert_filter *filter); +extern void mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter); extern const unsigned char mblen_table_utf8[]; static const char *mbfl_encoding_utf8_docomo_aliases[] = {"UTF-8-DOCOMO", "UTF8-DOCOMO", NULL}; -static const char *mbfl_encoding_utf8_kddi_a_aliases[] = {NULL}; static const char *mbfl_encoding_utf8_kddi_b_aliases[] = {"UTF-8-Mobile#KDDI", "UTF-8-KDDI", "UTF8-KDDI", NULL}; static const char *mbfl_encoding_utf8_sb_aliases[] = {"UTF-8-SOFTBANK", "UTF8-SOFTBANK", NULL}; @@ -57,7 +57,7 @@ const mbfl_encoding mbfl_encoding_utf8_kddi_a = { mbfl_no_encoding_utf8_kddi_a, "UTF-8-Mobile#KDDI-A", "UTF-8", - mbfl_encoding_utf8_kddi_a_aliases, + NULL, mblen_table_utf8, 0, &vtbl_utf8_kddi_a_wchar, @@ -182,52 +182,48 @@ const struct mbfl_convert_vtbl vtbl_wchar_utf8_sb = { mbfl_filt_conv_common_flush }; -void mbfl_filt_put_invalid_char(int c, mbfl_convert_filter *filter); - -/* - * UTF-8 => wchar - */ void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) { int s, s1 = 0, c1 = 0, snd = 0; retry: - switch (filter->status & 0xff) { + switch (filter->status & 0xFF) { case 0x00: if (c < 0x80) { (*filter->output_function)(c, filter->data); - } else if (c >= 0xc2 && c <= 0xdf) { /* 2byte code first char: 0xc2-0xdf */ + } else if (c >= 0xc2 && c <= 0xdf) { /* 2-byte char, first byte: 0xC2-0xDF */ filter->status = 0x10; filter->cache = c & 0x1f; - } else if (c >= 0xe0 && c <= 0xef) { /* 3byte code first char: 0xe0-0xef */ + } else if (c >= 0xe0 && c <= 0xef) { /* 3-byte char, first byte: 0xE0-0xEF */ filter->status = 0x20; filter->cache = c & 0xf; - } else if (c >= 0xf0 && c <= 0xf4) { /* 3byte code first char: 0xf0-0xf4 */ + } else if (c >= 0xf0 && c <= 0xf4) { /* 4-byte char, first byte: 0xF0-0xF4 */ filter->status = 0x30; filter->cache = c & 0x7; } else { mbfl_filt_put_invalid_char(c, filter); } break; - case 0x10: /* 2byte code 2nd char: 0x80-0xbf */ - case 0x21: /* 3byte code 3rd char: 0x80-0xbf */ - case 0x32: /* 4byte code 4th char: 0x80-0xbf */ + + case 0x10: /* 2-byte char, 2nd byte: 0x80-0xBF */ + case 0x21: /* 3-byte char, 3rd byte: 0x80-0xBF */ + case 0x32: /* 4-byte char, 4th byte: 0x80-0xBF */ filter->status = 0; if (c >= 0x80 && c <= 0xbf) { - s = (filter->cache<<6) | (c & 0x3f); + s = (filter->cache << 6) | (c & 0x3f); filter->cache = 0; - if (filter->from->no_encoding == mbfl_no_encoding_utf8_docomo && - mbfilter_conv_r_map_tbl(s, &s1, mbfl_docomo2uni_pua, 4) > 0) { + if (filter->from == &mbfl_encoding_utf8_docomo && + mbfilter_conv_r_map_tbl(s, &s1, mbfl_docomo2uni_pua, 4)) { s = mbfilter_sjis_emoji_docomo2unicode(s1, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_utf8_kddi_a && - mbfilter_conv_r_map_tbl(s, &s1, mbfl_kddi2uni_pua, 7) > 0) { + } else if (filter->from == &mbfl_encoding_utf8_kddi_a && + mbfilter_conv_r_map_tbl(s, &s1, mbfl_kddi2uni_pua, 7)) { s = mbfilter_sjis_emoji_kddi2unicode(s1, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_utf8_kddi_b && - mbfilter_conv_r_map_tbl(s, &s1, mbfl_kddi2uni_pua_b, 8) > 0) { + } else if (filter->from == &mbfl_encoding_utf8_kddi_b && + mbfilter_conv_r_map_tbl(s, &s1, mbfl_kddi2uni_pua_b, 8)) { s = mbfilter_sjis_emoji_kddi2unicode(s1, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_utf8_sb && - mbfilter_conv_r_map_tbl(s, &s1, mbfl_sb2uni_pua, 6) > 0) { + } else if (filter->from == &mbfl_encoding_utf8_sb && + mbfilter_conv_r_map_tbl(s, &s1, mbfl_sb2uni_pua, 6)) { s = mbfilter_sjis_emoji_sb2unicode(s1, &snd); } @@ -240,14 +236,13 @@ void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) goto retry; } break; - case 0x20: /* 3byte code 2nd char: 0:0xa0-0xbf,D:0x80-9F,1-C,E-F:0x80-0x9f */ - s = (filter->cache<<6) | (c & 0x3f); - c1 = filter->cache & 0xf; - - if ((c >= 0x80 && c <= 0xbf) && - ((c1 == 0x0 && c >= 0xa0) || - (c1 == 0xd && c < 0xa0) || - (c1 > 0x0 && c1 != 0xd))) { + + case 0x20: /* 3-byte char, 2nd byte: 0:0xA0-0xBF,D:0x80-9F,1-C,E-F:0x80-0x9F */ + s = (filter->cache << 6) | (c & 0x3f); + c1 = filter->cache & 0xF; + + if ((c >= 0x80 && c <= 0xBF) && + ((c1 == 0 && c >= 0xA0) || (c1 == 0xD && c < 0xA0) || (c1 > 0 && c1 != 0xD))) { filter->cache = s; filter->status++; } else { @@ -255,14 +250,13 @@ void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) goto retry; } break; - case 0x30: /* 4byte code 2nd char: 0:0x90-0xbf,1-3:0x80-0xbf,4:0x80-0x8f */ - s = (filter->cache<<6) | (c & 0x3f); + + case 0x30: /* 4-byte char, 2nd byte: 0:0x90-0xBF,1-3:0x80-0xBF,4:0x80-0x8F */ + s = (filter->cache << 6) | (c & 0x3f); c1 = filter->cache & 0x7; - if ((c >= 0x80 && c <= 0xbf) && - ((c1 == 0x0 && c >= 0x90) || - (c1 == 0x4 && c < 0x90) || - (c1 > 0x0 && c1 != 0x4))) { + if ((c >= 0x80 && c <= 0xBF) && + ((c1 == 0 && c >= 0x90) || (c1 == 0x4 && c < 0x90) || (c1 > 0 && c1 != 0x4))) { filter->cache = s; filter->status++; } else { @@ -270,45 +264,44 @@ void mbfl_filt_conv_utf8_mobile_wchar(int c, mbfl_convert_filter *filter) goto retry; } break; - case 0x31: /* 4byte code 3rd char: 0x80-0xbf */ - if (c >= 0x80 && c <= 0xbf) { - filter->cache = (filter->cache<<6) | (c & 0x3f); + + case 0x31: /* 4-byte char, 3rd byte: 0x80-0xBF */ + if (c >= 0x80 && c <= 0xBF) { + filter->cache = (filter->cache << 6) | (c & 0x3f); filter->status++; } else { mbfl_filt_put_invalid_char(filter->cache, filter); goto retry; } break; + default: filter->status = 0; break; } } -/* - * wchar => UTF-8 - */ void mbfl_filt_conv_wchar_utf8_mobile(int c, mbfl_convert_filter *filter) { if (c >= 0 && c < 0x110000) { int s1, c1; - if ((filter->to->no_encoding == mbfl_no_encoding_utf8_docomo && - mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter) > 0 && - mbfilter_conv_map_tbl(s1, &c1, mbfl_docomo2uni_pua, 4) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_utf8_kddi_a && - mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0 && - mbfilter_conv_map_tbl(s1, &c1, mbfl_kddi2uni_pua, 7) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_utf8_kddi_b && - mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0 && - mbfilter_conv_map_tbl(s1, &c1, mbfl_kddi2uni_pua_b, 8) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_utf8_sb && - mbfilter_unicode2sjis_emoji_sb(c, &s1, filter) > 0 && - mbfilter_conv_map_tbl(s1, &c1, mbfl_sb2uni_pua, 6) > 0)) { + if ((filter->to == &mbfl_encoding_utf8_docomo && + mbfilter_unicode2sjis_emoji_docomo(c, &s1, filter) && + mbfilter_conv_map_tbl(s1, &c1, mbfl_docomo2uni_pua, 4)) || + (filter->to == &mbfl_encoding_utf8_kddi_a && + mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) && + mbfilter_conv_map_tbl(s1, &c1, mbfl_kddi2uni_pua, 7)) || + (filter->to == &mbfl_encoding_utf8_kddi_b && + mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) && + mbfilter_conv_map_tbl(s1, &c1, mbfl_kddi2uni_pua_b, 8)) || + (filter->to == &mbfl_encoding_utf8_sb && + mbfilter_unicode2sjis_emoji_sb(c, &s1, filter) && + mbfilter_conv_map_tbl(s1, &c1, mbfl_sb2uni_pua, 6))) { c = c1; } - if (filter->status == 1 && filter->cache > 0) { + if (filter->status) { return; }