summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar default2024-08-23 20:27:07 +0200
committerGravatar default2024-08-23 20:27:07 +0200
commit1370d6b64e984726c096139ab02f4493e6904e2f (patch)
tree10114b7874469fc96233ddf801d32b6d0bbbfe7d
parentSome optimizations. (diff)
downloadsnac2-1370d6b64e984726c096139ab02f4493e6904e2f.tar.gz
snac2-1370d6b64e984726c096139ab02f4493e6904e2f.tar.xz
snac2-1370d6b64e984726c096139ab02f4493e6904e2f.zip
Searches are now case-insensitive for all alphabets.
Diffstat (limited to '')
-rw-r--r--data.c9
-rw-r--r--snac.c1
-rw-r--r--xs_unicode_tbl.h730
3 files changed, 737 insertions, 3 deletions
diff --git a/data.c b/data.c
index cfd20fe..22b821f 100644
--- a/data.c
+++ b/data.c
@@ -11,6 +11,7 @@
11#include "xs_time.h" 11#include "xs_time.h"
12#include "xs_regex.h" 12#include "xs_regex.h"
13#include "xs_match.h" 13#include "xs_match.h"
14#include "xs_unicode.h"
14 15
15#include "snac.h" 16#include "snac.h"
16 17
@@ -2414,7 +2415,7 @@ xs_list *content_search(snac *user, const char *regex,
2414 if (regex == NULL || *regex == '\0') 2415 if (regex == NULL || *regex == '\0')
2415 return xs_list_new(); 2416 return xs_list_new();
2416 2417
2417 xs *i_regex = xs_tolower_i(xs_dup(regex)); 2418 xs *i_regex = xs_utf8_to_lower(regex);
2418 2419
2419 xs_set seen; 2420 xs_set seen;
2420 2421
@@ -2510,10 +2511,12 @@ xs_list *content_search(snac *user, const char *regex,
2510 /* strip HTML */ 2511 /* strip HTML */
2511 c = xs_regex_replace_i(c, "<[^>]+>", " "); 2512 c = xs_regex_replace_i(c, "<[^>]+>", " ");
2512 c = xs_regex_replace_i(c, " {2,}", " "); 2513 c = xs_regex_replace_i(c, " {2,}", " ");
2513 c = xs_tolower_i(c); 2514
2515 /* convert to lowercase */
2516 xs *lc = xs_utf8_to_lower(c);
2514 2517
2515 /* apply regex */ 2518 /* apply regex */
2516 if (xs_regex_match(c, i_regex)) { 2519 if (xs_regex_match(lc, i_regex)) {
2517 if (xs_set_add(&seen, md5) == 1) 2520 if (xs_set_add(&seen, md5) == 1)
2518 show--; 2521 show--;
2519 } 2522 }
diff --git a/snac.c b/snac.c
index 25d3f5e..b9f1032 100644
--- a/snac.c
+++ b/snac.c
@@ -6,6 +6,7 @@
6#include "xs.h" 6#include "xs.h"
7#include "xs_hex.h" 7#include "xs_hex.h"
8#include "xs_io.h" 8#include "xs_io.h"
9#include "xs_unicode_tbl.h"
9#include "xs_unicode.h" 10#include "xs_unicode.h"
10#include "xs_json.h" 11#include "xs_json.h"
11#include "xs_curl.h" 12#include "xs_curl.h"
diff --git a/xs_unicode_tbl.h b/xs_unicode_tbl.h
new file mode 100644
index 0000000..ecd537b
--- /dev/null
+++ b/xs_unicode_tbl.h
@@ -0,0 +1,730 @@
1/* automatically generated */
2
3#ifndef _XS_UNICODE_TBL_H
4
5#define _XS_UNICODE_TBL_H
6
7static unsigned int xs_unicode_case_fold_table[] = {
8 0x0041, 0x0061, 0x0042, 0x0062, 0x0043, 0x0063, 0x0044, 0x0064,
9 0x0045, 0x0065, 0x0046, 0x0066, 0x0047, 0x0067, 0x0048, 0x0068,
10 0x0049, 0x0069, 0x004A, 0x006A, 0x004B, 0x006B, 0x004C, 0x006C,
11 0x004D, 0x006D, 0x004E, 0x006E, 0x004F, 0x006F, 0x0050, 0x0070,
12 0x0051, 0x0071, 0x0052, 0x0072, 0x0053, 0x0073, 0x0054, 0x0074,
13 0x0055, 0x0075, 0x0056, 0x0076, 0x0057, 0x0077, 0x0058, 0x0078,
14 0x0059, 0x0079, 0x005A, 0x007A, 0x00B5, 0x03BC, 0x00C0, 0x00E0,
15 0x00C1, 0x00E1, 0x00C2, 0x00E2, 0x00C3, 0x00E3, 0x00C4, 0x00E4,
16 0x00C5, 0x00E5, 0x00C6, 0x00E6, 0x00C7, 0x00E7, 0x00C8, 0x00E8,
17 0x00C9, 0x00E9, 0x00CA, 0x00EA, 0x00CB, 0x00EB, 0x00CC, 0x00EC,
18 0x00CD, 0x00ED, 0x00CE, 0x00EE, 0x00CF, 0x00EF, 0x00D0, 0x00F0,
19 0x00D1, 0x00F1, 0x00D2, 0x00F2, 0x00D3, 0x00F3, 0x00D4, 0x00F4,
20 0x00D5, 0x00F5, 0x00D6, 0x00F6, 0x00D8, 0x00F8, 0x00D9, 0x00F9,
21 0x00DA, 0x00FA, 0x00DB, 0x00FB, 0x00DC, 0x00FC, 0x00DD, 0x00FD,
22 0x00DE, 0x00FE, 0x0100, 0x0101, 0x0102, 0x0103, 0x0104, 0x0105,
23 0x0106, 0x0107, 0x0108, 0x0109, 0x010A, 0x010B, 0x010C, 0x010D,
24 0x010E, 0x010F, 0x0110, 0x0111, 0x0112, 0x0113, 0x0114, 0x0115,
25 0x0116, 0x0117, 0x0118, 0x0119, 0x011A, 0x011B, 0x011C, 0x011D,
26 0x011E, 0x011F, 0x0120, 0x0121, 0x0122, 0x0123, 0x0124, 0x0125,
27 0x0126, 0x0127, 0x0128, 0x0129, 0x012A, 0x012B, 0x012C, 0x012D,
28 0x012E, 0x012F, 0x0132, 0x0133, 0x0134, 0x0135, 0x0136, 0x0137,
29 0x0139, 0x013A, 0x013B, 0x013C, 0x013D, 0x013E, 0x013F, 0x0140,
30 0x0141, 0x0142, 0x0143, 0x0144, 0x0145, 0x0146, 0x0147, 0x0148,
31 0x014A, 0x014B, 0x014C, 0x014D, 0x014E, 0x014F, 0x0150, 0x0151,
32 0x0152, 0x0153, 0x0154, 0x0155, 0x0156, 0x0157, 0x0158, 0x0159,
33 0x015A, 0x015B, 0x015C, 0x015D, 0x015E, 0x015F, 0x0160, 0x0161,
34 0x0162, 0x0163, 0x0164, 0x0165, 0x0166, 0x0167, 0x0168, 0x0169,
35 0x016A, 0x016B, 0x016C, 0x016D, 0x016E, 0x016F, 0x0170, 0x0171,
36 0x0172, 0x0173, 0x0174, 0x0175, 0x0176, 0x0177, 0x0178, 0x00FF,
37 0x0179, 0x017A, 0x017B, 0x017C, 0x017D, 0x017E, 0x017F, 0x0073,
38 0x0181, 0x0253, 0x0182, 0x0183, 0x0184, 0x0185, 0x0186, 0x0254,
39 0x0187, 0x0188, 0x0189, 0x0256, 0x018A, 0x0257, 0x018B, 0x018C,
40 0x018E, 0x01DD, 0x018F, 0x0259, 0x0190, 0x025B, 0x0191, 0x0192,
41 0x0193, 0x0260, 0x0194, 0x0263, 0x0196, 0x0269, 0x0197, 0x0268,
42 0x0198, 0x0199, 0x019C, 0x026F, 0x019D, 0x0272, 0x019F, 0x0275,
43 0x01A0, 0x01A1, 0x01A2, 0x01A3, 0x01A4, 0x01A5, 0x01A6, 0x0280,
44 0x01A7, 0x01A8, 0x01A9, 0x0283, 0x01AC, 0x01AD, 0x01AE, 0x0288,
45 0x01AF, 0x01B0, 0x01B1, 0x028A, 0x01B2, 0x028B, 0x01B3, 0x01B4,
46 0x01B5, 0x01B6, 0x01B7, 0x0292, 0x01B8, 0x01B9, 0x01BC, 0x01BD,
47 0x01C4, 0x01C6, 0x01C5, 0x01C6, 0x01C7, 0x01C9, 0x01C8, 0x01C9,
48 0x01CA, 0x01CC, 0x01CB, 0x01CC, 0x01CD, 0x01CE, 0x01CF, 0x01D0,
49 0x01D1, 0x01D2, 0x01D3, 0x01D4, 0x01D5, 0x01D6, 0x01D7, 0x01D8,
50 0x01D9, 0x01DA, 0x01DB, 0x01DC, 0x01DE, 0x01DF, 0x01E0, 0x01E1,
51 0x01E2, 0x01E3, 0x01E4, 0x01E5, 0x01E6, 0x01E7, 0x01E8, 0x01E9,
52 0x01EA, 0x01EB, 0x01EC, 0x01ED, 0x01EE, 0x01EF, 0x01F1, 0x01F3,
53 0x01F2, 0x01F3, 0x01F4, 0x01F5, 0x01F6, 0x0195, 0x01F7, 0x01BF,
54 0x01F8, 0x01F9, 0x01FA, 0x01FB, 0x01FC, 0x01FD, 0x01FE, 0x01FF,
55 0x0200, 0x0201, 0x0202, 0x0203, 0x0204, 0x0205, 0x0206, 0x0207,
56 0x0208, 0x0209, 0x020A, 0x020B, 0x020C, 0x020D, 0x020E, 0x020F,
57 0x0210, 0x0211, 0x0212, 0x0213, 0x0214, 0x0215, 0x0216, 0x0217,
58 0x0218, 0x0219, 0x021A, 0x021B, 0x021C, 0x021D, 0x021E, 0x021F,
59 0x0220, 0x019E, 0x0222, 0x0223, 0x0224, 0x0225, 0x0226, 0x0227,
60 0x0228, 0x0229, 0x022A, 0x022B, 0x022C, 0x022D, 0x022E, 0x022F,
61 0x0230, 0x0231, 0x0232, 0x0233, 0x023A, 0x2C65, 0x023B, 0x023C,
62 0x023D, 0x019A, 0x023E, 0x2C66, 0x0241, 0x0242, 0x0243, 0x0180,
63 0x0244, 0x0289, 0x0245, 0x028C, 0x0246, 0x0247, 0x0248, 0x0249,
64 0x024A, 0x024B, 0x024C, 0x024D, 0x024E, 0x024F, 0x0345, 0x03B9,
65 0x0370, 0x0371, 0x0372, 0x0373, 0x0376, 0x0377, 0x037F, 0x03F3,
66 0x0386, 0x03AC, 0x0388, 0x03AD, 0x0389, 0x03AE, 0x038A, 0x03AF,
67 0x038C, 0x03CC, 0x038E, 0x03CD, 0x038F, 0x03CE, 0x0391, 0x03B1,
68 0x0392, 0x03B2, 0x0393, 0x03B3, 0x0394, 0x03B4, 0x0395, 0x03B5,
69 0x0396, 0x03B6, 0x0397, 0x03B7, 0x0398, 0x03B8, 0x0399, 0x03B9,
70 0x039A, 0x03BA, 0x039B, 0x03BB, 0x039C, 0x03BC, 0x039D, 0x03BD,
71 0x039E, 0x03BE, 0x039F, 0x03BF, 0x03A0, 0x03C0, 0x03A1, 0x03C1,
72 0x03A3, 0x03C3, 0x03A4, 0x03C4, 0x03A5, 0x03C5, 0x03A6, 0x03C6,
73 0x03A7, 0x03C7, 0x03A8, 0x03C8, 0x03A9, 0x03C9, 0x03AA, 0x03CA,
74 0x03AB, 0x03CB, 0x03C2, 0x03C3, 0x03CF, 0x03D7, 0x03D0, 0x03B2,
75 0x03D1, 0x03B8, 0x03D5, 0x03C6, 0x03D6, 0x03C0, 0x03D8, 0x03D9,
76 0x03DA, 0x03DB, 0x03DC, 0x03DD, 0x03DE, 0x03DF, 0x03E0, 0x03E1,
77 0x03E2, 0x03E3, 0x03E4, 0x03E5, 0x03E6, 0x03E7, 0x03E8, 0x03E9,
78 0x03EA, 0x03EB, 0x03EC, 0x03ED, 0x03EE, 0x03EF, 0x03F0, 0x03BA,
79 0x03F1, 0x03C1, 0x03F4, 0x03B8, 0x03F5, 0x03B5, 0x03F7, 0x03F8,
80 0x03F9, 0x03F2, 0x03FA, 0x03FB, 0x03FD, 0x037B, 0x03FE, 0x037C,
81 0x03FF, 0x037D, 0x0400, 0x0450, 0x0401, 0x0451, 0x0402, 0x0452,
82 0x0403, 0x0453, 0x0404, 0x0454, 0x0405, 0x0455, 0x0406, 0x0456,
83 0x0407, 0x0457, 0x0408, 0x0458, 0x0409, 0x0459, 0x040A, 0x045A,
84 0x040B, 0x045B, 0x040C, 0x045C, 0x040D, 0x045D, 0x040E, 0x045E,
85 0x040F, 0x045F, 0x0410, 0x0430, 0x0411, 0x0431, 0x0412, 0x0432,
86 0x0413, 0x0433, 0x0414, 0x0434, 0x0415, 0x0435, 0x0416, 0x0436,
87 0x0417, 0x0437, 0x0418, 0x0438, 0x0419, 0x0439, 0x041A, 0x043A,
88 0x041B, 0x043B, 0x041C, 0x043C, 0x041D, 0x043D, 0x041E, 0x043E,
89 0x041F, 0x043F, 0x0420, 0x0440, 0x0421, 0x0441, 0x0422, 0x0442,
90 0x0423, 0x0443, 0x0424, 0x0444, 0x0425, 0x0445, 0x0426, 0x0446,
91 0x0427, 0x0447, 0x0428, 0x0448, 0x0429, 0x0449, 0x042A, 0x044A,
92 0x042B, 0x044B, 0x042C, 0x044C, 0x042D, 0x044D, 0x042E, 0x044E,
93 0x042F, 0x044F, 0x0460, 0x0461, 0x0462, 0x0463, 0x0464, 0x0465,
94 0x0466, 0x0467, 0x0468, 0x0469, 0x046A, 0x046B, 0x046C, 0x046D,
95 0x046E, 0x046F, 0x0470, 0x0471, 0x0472, 0x0473, 0x0474, 0x0475,
96 0x0476, 0x0477, 0x0478, 0x0479, 0x047A, 0x047B, 0x047C, 0x047D,
97 0x047E, 0x047F, 0x0480, 0x0481, 0x048A, 0x048B, 0x048C, 0x048D,
98 0x048E, 0x048F, 0x0490, 0x0491, 0x0492, 0x0493, 0x0494, 0x0495,
99 0x0496, 0x0497, 0x0498, 0x0499, 0x049A, 0x049B, 0x049C, 0x049D,
100 0x049E, 0x049F, 0x04A0, 0x04A1, 0x04A2, 0x04A3, 0x04A4, 0x04A5,
101 0x04A6, 0x04A7, 0x04A8, 0x04A9, 0x04AA, 0x04AB, 0x04AC, 0x04AD,
102 0x04AE, 0x04AF, 0x04B0, 0x04B1, 0x04B2, 0x04B3, 0x04B4, 0x04B5,
103 0x04B6, 0x04B7, 0x04B8, 0x04B9, 0x04BA, 0x04BB, 0x04BC, 0x04BD,
104 0x04BE, 0x04BF, 0x04C0, 0x04CF, 0x04C1, 0x04C2, 0x04C3, 0x04C4,
105 0x04C5, 0x04C6, 0x04C7, 0x04C8, 0x04C9, 0x04CA, 0x04CB, 0x04CC,
106 0x04CD, 0x04CE, 0x04D0, 0x04D1, 0x04D2, 0x04D3, 0x04D4, 0x04D5,
107 0x04D6, 0x04D7, 0x04D8, 0x04D9, 0x04DA, 0x04DB, 0x04DC, 0x04DD,
108 0x04DE, 0x04DF, 0x04E0, 0x04E1, 0x04E2, 0x04E3, 0x04E4, 0x04E5,
109 0x04E6, 0x04E7, 0x04E8, 0x04E9, 0x04EA, 0x04EB, 0x04EC, 0x04ED,
110 0x04EE, 0x04EF, 0x04F0, 0x04F1, 0x04F2, 0x04F3, 0x04F4, 0x04F5,
111 0x04F6, 0x04F7, 0x04F8, 0x04F9, 0x04FA, 0x04FB, 0x04FC, 0x04FD,
112 0x04FE, 0x04FF, 0x0500, 0x0501, 0x0502, 0x0503, 0x0504, 0x0505,
113 0x0506, 0x0507, 0x0508, 0x0509, 0x050A, 0x050B, 0x050C, 0x050D,
114 0x050E, 0x050F, 0x0510, 0x0511, 0x0512, 0x0513, 0x0514, 0x0515,
115 0x0516, 0x0517, 0x0518, 0x0519, 0x051A, 0x051B, 0x051C, 0x051D,
116 0x051E, 0x051F, 0x0520, 0x0521, 0x0522, 0x0523, 0x0524, 0x0525,
117 0x0526, 0x0527, 0x0528, 0x0529, 0x052A, 0x052B, 0x052C, 0x052D,
118 0x052E, 0x052F, 0x0531, 0x0561, 0x0532, 0x0562, 0x0533, 0x0563,
119 0x0534, 0x0564, 0x0535, 0x0565, 0x0536, 0x0566, 0x0537, 0x0567,
120 0x0538, 0x0568, 0x0539, 0x0569, 0x053A, 0x056A, 0x053B, 0x056B,
121 0x053C, 0x056C, 0x053D, 0x056D, 0x053E, 0x056E, 0x053F, 0x056F,
122 0x0540, 0x0570, 0x0541, 0x0571, 0x0542, 0x0572, 0x0543, 0x0573,
123 0x0544, 0x0574, 0x0545, 0x0575, 0x0546, 0x0576, 0x0547, 0x0577,
124 0x0548, 0x0578, 0x0549, 0x0579, 0x054A, 0x057A, 0x054B, 0x057B,
125 0x054C, 0x057C, 0x054D, 0x057D, 0x054E, 0x057E, 0x054F, 0x057F,
126 0x0550, 0x0580, 0x0551, 0x0581, 0x0552, 0x0582, 0x0553, 0x0583,
127 0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x10A0, 0x2D00,
128 0x10A1, 0x2D01, 0x10A2, 0x2D02, 0x10A3, 0x2D03, 0x10A4, 0x2D04,
129 0x10A5, 0x2D05, 0x10A6, 0x2D06, 0x10A7, 0x2D07, 0x10A8, 0x2D08,
130 0x10A9, 0x2D09, 0x10AA, 0x2D0A, 0x10AB, 0x2D0B, 0x10AC, 0x2D0C,
131 0x10AD, 0x2D0D, 0x10AE, 0x2D0E, 0x10AF, 0x2D0F, 0x10B0, 0x2D10,
132 0x10B1, 0x2D11, 0x10B2, 0x2D12, 0x10B3, 0x2D13, 0x10B4, 0x2D14,
133 0x10B5, 0x2D15, 0x10B6, 0x2D16, 0x10B7, 0x2D17, 0x10B8, 0x2D18,
134 0x10B9, 0x2D19, 0x10BA, 0x2D1A, 0x10BB, 0x2D1B, 0x10BC, 0x2D1C,
135 0x10BD, 0x2D1D, 0x10BE, 0x2D1E, 0x10BF, 0x2D1F, 0x10C0, 0x2D20,
136 0x10C1, 0x2D21, 0x10C2, 0x2D22, 0x10C3, 0x2D23, 0x10C4, 0x2D24,
137 0x10C5, 0x2D25, 0x10C7, 0x2D27, 0x10CD, 0x2D2D, 0x13F8, 0x13F0,
138 0x13F9, 0x13F1, 0x13FA, 0x13F2, 0x13FB, 0x13F3, 0x13FC, 0x13F4,
139 0x13FD, 0x13F5, 0x1C80, 0x0432, 0x1C81, 0x0434, 0x1C82, 0x043E,
140 0x1C83, 0x0441, 0x1C84, 0x0442, 0x1C85, 0x0442, 0x1C86, 0x044A,
141 0x1C87, 0x0463, 0x1C88, 0xA64B, 0x1C90, 0x10D0, 0x1C91, 0x10D1,
142 0x1C92, 0x10D2, 0x1C93, 0x10D3, 0x1C94, 0x10D4, 0x1C95, 0x10D5,
143 0x1C96, 0x10D6, 0x1C97, 0x10D7, 0x1C98, 0x10D8, 0x1C99, 0x10D9,
144 0x1C9A, 0x10DA, 0x1C9B, 0x10DB, 0x1C9C, 0x10DC, 0x1C9D, 0x10DD,
145 0x1C9E, 0x10DE, 0x1C9F, 0x10DF, 0x1CA0, 0x10E0, 0x1CA1, 0x10E1,
146 0x1CA2, 0x10E2, 0x1CA3, 0x10E3, 0x1CA4, 0x10E4, 0x1CA5, 0x10E5,
147 0x1CA6, 0x10E6, 0x1CA7, 0x10E7, 0x1CA8, 0x10E8, 0x1CA9, 0x10E9,
148 0x1CAA, 0x10EA, 0x1CAB, 0x10EB, 0x1CAC, 0x10EC, 0x1CAD, 0x10ED,
149 0x1CAE, 0x10EE, 0x1CAF, 0x10EF, 0x1CB0, 0x10F0, 0x1CB1, 0x10F1,
150 0x1CB2, 0x10F2, 0x1CB3, 0x10F3, 0x1CB4, 0x10F4, 0x1CB5, 0x10F5,
151 0x1CB6, 0x10F6, 0x1CB7, 0x10F7, 0x1CB8, 0x10F8, 0x1CB9, 0x10F9,
152 0x1CBA, 0x10FA, 0x1CBD, 0x10FD, 0x1CBE, 0x10FE, 0x1CBF, 0x10FF,
153 0x1E00, 0x1E01, 0x1E02, 0x1E03, 0x1E04, 0x1E05, 0x1E06, 0x1E07,
154 0x1E08, 0x1E09, 0x1E0A, 0x1E0B, 0x1E0C, 0x1E0D, 0x1E0E, 0x1E0F,
155 0x1E10, 0x1E11, 0x1E12, 0x1E13, 0x1E14, 0x1E15, 0x1E16, 0x1E17,
156 0x1E18, 0x1E19, 0x1E1A, 0x1E1B, 0x1E1C, 0x1E1D, 0x1E1E, 0x1E1F,
157 0x1E20, 0x1E21, 0x1E22, 0x1E23, 0x1E24, 0x1E25, 0x1E26, 0x1E27,
158 0x1E28, 0x1E29, 0x1E2A, 0x1E2B, 0x1E2C, 0x1E2D, 0x1E2E, 0x1E2F,
159 0x1E30, 0x1E31, 0x1E32, 0x1E33, 0x1E34, 0x1E35, 0x1E36, 0x1E37,
160 0x1E38, 0x1E39, 0x1E3A, 0x1E3B, 0x1E3C, 0x1E3D, 0x1E3E, 0x1E3F,
161 0x1E40, 0x1E41, 0x1E42, 0x1E43, 0x1E44, 0x1E45, 0x1E46, 0x1E47,
162 0x1E48, 0x1E49, 0x1E4A, 0x1E4B, 0x1E4C, 0x1E4D, 0x1E4E, 0x1E4F,
163 0x1E50, 0x1E51, 0x1E52, 0x1E53, 0x1E54, 0x1E55, 0x1E56, 0x1E57,
164 0x1E58, 0x1E59, 0x1E5A, 0x1E5B, 0x1E5C, 0x1E5D, 0x1E5E, 0x1E5F,
165 0x1E60, 0x1E61, 0x1E62, 0x1E63, 0x1E64, 0x1E65, 0x1E66, 0x1E67,
166 0x1E68, 0x1E69, 0x1E6A, 0x1E6B, 0x1E6C, 0x1E6D, 0x1E6E, 0x1E6F,
167 0x1E70, 0x1E71, 0x1E72, 0x1E73, 0x1E74, 0x1E75, 0x1E76, 0x1E77,
168 0x1E78, 0x1E79, 0x1E7A, 0x1E7B, 0x1E7C, 0x1E7D, 0x1E7E, 0x1E7F,
169 0x1E80, 0x1E81, 0x1E82, 0x1E83, 0x1E84, 0x1E85, 0x1E86, 0x1E87,
170 0x1E88, 0x1E89, 0x1E8A, 0x1E8B, 0x1E8C, 0x1E8D, 0x1E8E, 0x1E8F,
171 0x1E90, 0x1E91, 0x1E92, 0x1E93, 0x1E94, 0x1E95, 0x1E9B, 0x1E61,
172 0x1EA0, 0x1EA1, 0x1EA2, 0x1EA3, 0x1EA4, 0x1EA5, 0x1EA6, 0x1EA7,
173 0x1EA8, 0x1EA9, 0x1EAA, 0x1EAB, 0x1EAC, 0x1EAD, 0x1EAE, 0x1EAF,
174 0x1EB0, 0x1EB1, 0x1EB2, 0x1EB3, 0x1EB4, 0x1EB5, 0x1EB6, 0x1EB7,
175 0x1EB8, 0x1EB9, 0x1EBA, 0x1EBB, 0x1EBC, 0x1EBD, 0x1EBE, 0x1EBF,
176 0x1EC0, 0x1EC1, 0x1EC2, 0x1EC3, 0x1EC4, 0x1EC5, 0x1EC6, 0x1EC7,
177 0x1EC8, 0x1EC9, 0x1ECA, 0x1ECB, 0x1ECC, 0x1ECD, 0x1ECE, 0x1ECF,
178 0x1ED0, 0x1ED1, 0x1ED2, 0x1ED3, 0x1ED4, 0x1ED5, 0x1ED6, 0x1ED7,
179 0x1ED8, 0x1ED9, 0x1EDA, 0x1EDB, 0x1EDC, 0x1EDD, 0x1EDE, 0x1EDF,
180 0x1EE0, 0x1EE1, 0x1EE2, 0x1EE3, 0x1EE4, 0x1EE5, 0x1EE6, 0x1EE7,
181 0x1EE8, 0x1EE9, 0x1EEA, 0x1EEB, 0x1EEC, 0x1EED, 0x1EEE, 0x1EEF,
182 0x1EF0, 0x1EF1, 0x1EF2, 0x1EF3, 0x1EF4, 0x1EF5, 0x1EF6, 0x1EF7,
183 0x1EF8, 0x1EF9, 0x1EFA, 0x1EFB, 0x1EFC, 0x1EFD, 0x1EFE, 0x1EFF,
184 0x1F08, 0x1F00, 0x1F09, 0x1F01, 0x1F0A, 0x1F02, 0x1F0B, 0x1F03,
185 0x1F0C, 0x1F04, 0x1F0D, 0x1F05, 0x1F0E, 0x1F06, 0x1F0F, 0x1F07,
186 0x1F18, 0x1F10, 0x1F19, 0x1F11, 0x1F1A, 0x1F12, 0x1F1B, 0x1F13,
187 0x1F1C, 0x1F14, 0x1F1D, 0x1F15, 0x1F28, 0x1F20, 0x1F29, 0x1F21,
188 0x1F2A, 0x1F22, 0x1F2B, 0x1F23, 0x1F2C, 0x1F24, 0x1F2D, 0x1F25,
189 0x1F2E, 0x1F26, 0x1F2F, 0x1F27, 0x1F38, 0x1F30, 0x1F39, 0x1F31,
190 0x1F3A, 0x1F32, 0x1F3B, 0x1F33, 0x1F3C, 0x1F34, 0x1F3D, 0x1F35,
191 0x1F3E, 0x1F36, 0x1F3F, 0x1F37, 0x1F48, 0x1F40, 0x1F49, 0x1F41,
192 0x1F4A, 0x1F42, 0x1F4B, 0x1F43, 0x1F4C, 0x1F44, 0x1F4D, 0x1F45,
193 0x1F59, 0x1F51, 0x1F5B, 0x1F53, 0x1F5D, 0x1F55, 0x1F5F, 0x1F57,
194 0x1F68, 0x1F60, 0x1F69, 0x1F61, 0x1F6A, 0x1F62, 0x1F6B, 0x1F63,
195 0x1F6C, 0x1F64, 0x1F6D, 0x1F65, 0x1F6E, 0x1F66, 0x1F6F, 0x1F67,
196 0x1FB8, 0x1FB0, 0x1FB9, 0x1FB1, 0x1FBA, 0x1F70, 0x1FBB, 0x1F71,
197 0x1FBE, 0x03B9, 0x1FC8, 0x1F72, 0x1FC9, 0x1F73, 0x1FCA, 0x1F74,
198 0x1FCB, 0x1F75, 0x1FD8, 0x1FD0, 0x1FD9, 0x1FD1, 0x1FDA, 0x1F76,
199 0x1FDB, 0x1F77, 0x1FE8, 0x1FE0, 0x1FE9, 0x1FE1, 0x1FEA, 0x1F7A,
200 0x1FEB, 0x1F7B, 0x1FEC, 0x1FE5, 0x1FF8, 0x1F78, 0x1FF9, 0x1F79,
201 0x1FFA, 0x1F7C, 0x1FFB, 0x1F7D, 0x2126, 0x03C9, 0x212A, 0x006B,
202 0x212B, 0x00E5, 0x2132, 0x214E, 0x2160, 0x2170, 0x2161, 0x2171,
203 0x2162, 0x2172, 0x2163, 0x2173, 0x2164, 0x2174, 0x2165, 0x2175,
204 0x2166, 0x2176, 0x2167, 0x2177, 0x2168, 0x2178, 0x2169, 0x2179,
205 0x216A, 0x217A, 0x216B, 0x217B, 0x216C, 0x217C, 0x216D, 0x217D,
206 0x216E, 0x217E, 0x216F, 0x217F, 0x2183, 0x2184, 0x24B6, 0x24D0,
207 0x24B7, 0x24D1, 0x24B8, 0x24D2, 0x24B9, 0x24D3, 0x24BA, 0x24D4,
208 0x24BB, 0x24D5, 0x24BC, 0x24D6, 0x24BD, 0x24D7, 0x24BE, 0x24D8,
209 0x24BF, 0x24D9, 0x24C0, 0x24DA, 0x24C1, 0x24DB, 0x24C2, 0x24DC,
210 0x24C3, 0x24DD, 0x24C4, 0x24DE, 0x24C5, 0x24DF, 0x24C6, 0x24E0,
211 0x24C7, 0x24E1, 0x24C8, 0x24E2, 0x24C9, 0x24E3, 0x24CA, 0x24E4,
212 0x24CB, 0x24E5, 0x24CC, 0x24E6, 0x24CD, 0x24E7, 0x24CE, 0x24E8,
213 0x24CF, 0x24E9, 0x2C00, 0x2C30, 0x2C01, 0x2C31, 0x2C02, 0x2C32,
214 0x2C03, 0x2C33, 0x2C04, 0x2C34, 0x2C05, 0x2C35, 0x2C06, 0x2C36,
215 0x2C07, 0x2C37, 0x2C08, 0x2C38, 0x2C09, 0x2C39, 0x2C0A, 0x2C3A,
216 0x2C0B, 0x2C3B, 0x2C0C, 0x2C3C, 0x2C0D, 0x2C3D, 0x2C0E, 0x2C3E,
217 0x2C0F, 0x2C3F, 0x2C10, 0x2C40, 0x2C11, 0x2C41, 0x2C12, 0x2C42,
218 0x2C13, 0x2C43, 0x2C14, 0x2C44, 0x2C15, 0x2C45, 0x2C16, 0x2C46,
219 0x2C17, 0x2C47, 0x2C18, 0x2C48, 0x2C19, 0x2C49, 0x2C1A, 0x2C4A,
220 0x2C1B, 0x2C4B, 0x2C1C, 0x2C4C, 0x2C1D, 0x2C4D, 0x2C1E, 0x2C4E,
221 0x2C1F, 0x2C4F, 0x2C20, 0x2C50, 0x2C21, 0x2C51, 0x2C22, 0x2C52,
222 0x2C23, 0x2C53, 0x2C24, 0x2C54, 0x2C25, 0x2C55, 0x2C26, 0x2C56,
223 0x2C27, 0x2C57, 0x2C28, 0x2C58, 0x2C29, 0x2C59, 0x2C2A, 0x2C5A,
224 0x2C2B, 0x2C5B, 0x2C2C, 0x2C5C, 0x2C2D, 0x2C5D, 0x2C2E, 0x2C5E,
225 0x2C2F, 0x2C5F, 0x2C60, 0x2C61, 0x2C62, 0x026B, 0x2C63, 0x1D7D,
226 0x2C64, 0x027D, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C,
227 0x2C6D, 0x0251, 0x2C6E, 0x0271, 0x2C6F, 0x0250, 0x2C70, 0x0252,
228 0x2C72, 0x2C73, 0x2C75, 0x2C76, 0x2C7E, 0x023F, 0x2C7F, 0x0240,
229 0x2C80, 0x2C81, 0x2C82, 0x2C83, 0x2C84, 0x2C85, 0x2C86, 0x2C87,
230 0x2C88, 0x2C89, 0x2C8A, 0x2C8B, 0x2C8C, 0x2C8D, 0x2C8E, 0x2C8F,
231 0x2C90, 0x2C91, 0x2C92, 0x2C93, 0x2C94, 0x2C95, 0x2C96, 0x2C97,
232 0x2C98, 0x2C99, 0x2C9A, 0x2C9B, 0x2C9C, 0x2C9D, 0x2C9E, 0x2C9F,
233 0x2CA0, 0x2CA1, 0x2CA2, 0x2CA3, 0x2CA4, 0x2CA5, 0x2CA6, 0x2CA7,
234 0x2CA8, 0x2CA9, 0x2CAA, 0x2CAB, 0x2CAC, 0x2CAD, 0x2CAE, 0x2CAF,
235 0x2CB0, 0x2CB1, 0x2CB2, 0x2CB3, 0x2CB4, 0x2CB5, 0x2CB6, 0x2CB7,
236 0x2CB8, 0x2CB9, 0x2CBA, 0x2CBB, 0x2CBC, 0x2CBD, 0x2CBE, 0x2CBF,
237 0x2CC0, 0x2CC1, 0x2CC2, 0x2CC3, 0x2CC4, 0x2CC5, 0x2CC6, 0x2CC7,
238 0x2CC8, 0x2CC9, 0x2CCA, 0x2CCB, 0x2CCC, 0x2CCD, 0x2CCE, 0x2CCF,
239 0x2CD0, 0x2CD1, 0x2CD2, 0x2CD3, 0x2CD4, 0x2CD5, 0x2CD6, 0x2CD7,
240 0x2CD8, 0x2CD9, 0x2CDA, 0x2CDB, 0x2CDC, 0x2CDD, 0x2CDE, 0x2CDF,
241 0x2CE0, 0x2CE1, 0x2CE2, 0x2CE3, 0x2CEB, 0x2CEC, 0x2CED, 0x2CEE,
242 0x2CF2, 0x2CF3, 0xA640, 0xA641, 0xA642, 0xA643, 0xA644, 0xA645,
243 0xA646, 0xA647, 0xA648, 0xA649, 0xA64A, 0xA64B, 0xA64C, 0xA64D,
244 0xA64E, 0xA64F, 0xA650, 0xA651, 0xA652, 0xA653, 0xA654, 0xA655,
245 0xA656, 0xA657, 0xA658, 0xA659, 0xA65A, 0xA65B, 0xA65C, 0xA65D,
246 0xA65E, 0xA65F, 0xA660, 0xA661, 0xA662, 0xA663, 0xA664, 0xA665,
247 0xA666, 0xA667, 0xA668, 0xA669, 0xA66A, 0xA66B, 0xA66C, 0xA66D,
248 0xA680, 0xA681, 0xA682, 0xA683, 0xA684, 0xA685, 0xA686, 0xA687,
249 0xA688, 0xA689, 0xA68A, 0xA68B, 0xA68C, 0xA68D, 0xA68E, 0xA68F,
250 0xA690, 0xA691, 0xA692, 0xA693, 0xA694, 0xA695, 0xA696, 0xA697,
251 0xA698, 0xA699, 0xA69A, 0xA69B, 0xA722, 0xA723, 0xA724, 0xA725,
252 0xA726, 0xA727, 0xA728, 0xA729, 0xA72A, 0xA72B, 0xA72C, 0xA72D,
253 0xA72E, 0xA72F, 0xA732, 0xA733, 0xA734, 0xA735, 0xA736, 0xA737,
254 0xA738, 0xA739, 0xA73A, 0xA73B, 0xA73C, 0xA73D, 0xA73E, 0xA73F,
255 0xA740, 0xA741, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747,
256 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0xA74D, 0xA74E, 0xA74F,
257 0xA750, 0xA751, 0xA752, 0xA753, 0xA754, 0xA755, 0xA756, 0xA757,
258 0xA758, 0xA759, 0xA75A, 0xA75B, 0xA75C, 0xA75D, 0xA75E, 0xA75F,
259 0xA760, 0xA761, 0xA762, 0xA763, 0xA764, 0xA765, 0xA766, 0xA767,
260 0xA768, 0xA769, 0xA76A, 0xA76B, 0xA76C, 0xA76D, 0xA76E, 0xA76F,
261 0xA779, 0xA77A, 0xA77B, 0xA77C, 0xA77D, 0x1D79, 0xA77E, 0xA77F,
262 0xA780, 0xA781, 0xA782, 0xA783, 0xA784, 0xA785, 0xA786, 0xA787,
263 0xA78B, 0xA78C, 0xA78D, 0x0265, 0xA790, 0xA791, 0xA792, 0xA793,
264 0xA796, 0xA797, 0xA798, 0xA799, 0xA79A, 0xA79B, 0xA79C, 0xA79D,
265 0xA79E, 0xA79F, 0xA7A0, 0xA7A1, 0xA7A2, 0xA7A3, 0xA7A4, 0xA7A5,
266 0xA7A6, 0xA7A7, 0xA7A8, 0xA7A9, 0xA7AA, 0x0266, 0xA7AB, 0x025C,
267 0xA7AC, 0x0261, 0xA7AD, 0x026C, 0xA7AE, 0x026A, 0xA7B0, 0x029E,
268 0xA7B1, 0x0287, 0xA7B2, 0x029D, 0xA7B3, 0xAB53, 0xA7B4, 0xA7B5,
269 0xA7B6, 0xA7B7, 0xA7B8, 0xA7B9, 0xA7BA, 0xA7BB, 0xA7BC, 0xA7BD,
270 0xA7BE, 0xA7BF, 0xA7C0, 0xA7C1, 0xA7C2, 0xA7C3, 0xA7C4, 0xA794,
271 0xA7C5, 0x0282, 0xA7C6, 0x1D8E, 0xA7C7, 0xA7C8, 0xA7C9, 0xA7CA,
272 0xA7D0, 0xA7D1, 0xA7D6, 0xA7D7, 0xA7D8, 0xA7D9, 0xA7F5, 0xA7F6,
273 0xAB70, 0x13A0, 0xAB71, 0x13A1, 0xAB72, 0x13A2, 0xAB73, 0x13A3,
274 0xAB74, 0x13A4, 0xAB75, 0x13A5, 0xAB76, 0x13A6, 0xAB77, 0x13A7,
275 0xAB78, 0x13A8, 0xAB79, 0x13A9, 0xAB7A, 0x13AA, 0xAB7B, 0x13AB,
276 0xAB7C, 0x13AC, 0xAB7D, 0x13AD, 0xAB7E, 0x13AE, 0xAB7F, 0x13AF,
277 0xAB80, 0x13B0, 0xAB81, 0x13B1, 0xAB82, 0x13B2, 0xAB83, 0x13B3,
278 0xAB84, 0x13B4, 0xAB85, 0x13B5, 0xAB86, 0x13B6, 0xAB87, 0x13B7,
279 0xAB88, 0x13B8, 0xAB89, 0x13B9, 0xAB8A, 0x13BA, 0xAB8B, 0x13BB,
280 0xAB8C, 0x13BC, 0xAB8D, 0x13BD, 0xAB8E, 0x13BE, 0xAB8F, 0x13BF,
281 0xAB90, 0x13C0, 0xAB91, 0x13C1, 0xAB92, 0x13C2, 0xAB93, 0x13C3,
282 0xAB94, 0x13C4, 0xAB95, 0x13C5, 0xAB96, 0x13C6, 0xAB97, 0x13C7,
283 0xAB98, 0x13C8, 0xAB99, 0x13C9, 0xAB9A, 0x13CA, 0xAB9B, 0x13CB,
284 0xAB9C, 0x13CC, 0xAB9D, 0x13CD, 0xAB9E, 0x13CE, 0xAB9F, 0x13CF,
285 0xABA0, 0x13D0, 0xABA1, 0x13D1, 0xABA2, 0x13D2, 0xABA3, 0x13D3,
286 0xABA4, 0x13D4, 0xABA5, 0x13D5, 0xABA6, 0x13D6, 0xABA7, 0x13D7,
287 0xABA8, 0x13D8, 0xABA9, 0x13D9, 0xABAA, 0x13DA, 0xABAB, 0x13DB,
288 0xABAC, 0x13DC, 0xABAD, 0x13DD, 0xABAE, 0x13DE, 0xABAF, 0x13DF,
289 0xABB0, 0x13E0, 0xABB1, 0x13E1, 0xABB2, 0x13E2, 0xABB3, 0x13E3,
290 0xABB4, 0x13E4, 0xABB5, 0x13E5, 0xABB6, 0x13E6, 0xABB7, 0x13E7,
291 0xABB8, 0x13E8, 0xABB9, 0x13E9, 0xABBA, 0x13EA, 0xABBB, 0x13EB,
292 0xABBC, 0x13EC, 0xABBD, 0x13ED, 0xABBE, 0x13EE, 0xABBF, 0x13EF,
293 0xFF21, 0xFF41, 0xFF22, 0xFF42, 0xFF23, 0xFF43, 0xFF24, 0xFF44,
294 0xFF25, 0xFF45, 0xFF26, 0xFF46, 0xFF27, 0xFF47, 0xFF28, 0xFF48,
295 0xFF29, 0xFF49, 0xFF2A, 0xFF4A, 0xFF2B, 0xFF4B, 0xFF2C, 0xFF4C,
296 0xFF2D, 0xFF4D, 0xFF2E, 0xFF4E, 0xFF2F, 0xFF4F, 0xFF30, 0xFF50,
297 0xFF31, 0xFF51, 0xFF32, 0xFF52, 0xFF33, 0xFF53, 0xFF34, 0xFF54,
298 0xFF35, 0xFF55, 0xFF36, 0xFF56, 0xFF37, 0xFF57, 0xFF38, 0xFF58,
299 0xFF39, 0xFF59, 0xFF3A, 0xFF5A,
300};
301
302static unsigned int xs_unicode_nfd_table[] = {
303 0x00C0, 0x0041, 0x0300, 0x00C1, 0x0041, 0x0301, 0x00C2, 0x0041, 0x0302,
304 0x00C3, 0x0041, 0x0303, 0x00C4, 0x0041, 0x0308, 0x00C5, 0x0041, 0x030A,
305 0x00C7, 0x0043, 0x0327, 0x00C8, 0x0045, 0x0300, 0x00C9, 0x0045, 0x0301,
306 0x00CA, 0x0045, 0x0302, 0x00CB, 0x0045, 0x0308, 0x00CC, 0x0049, 0x0300,
307 0x00CD, 0x0049, 0x0301, 0x00CE, 0x0049, 0x0302, 0x00CF, 0x0049, 0x0308,
308 0x00D1, 0x004E, 0x0303, 0x00D2, 0x004F, 0x0300, 0x00D3, 0x004F, 0x0301,
309 0x00D4, 0x004F, 0x0302, 0x00D5, 0x004F, 0x0303, 0x00D6, 0x004F, 0x0308,
310 0x00D9, 0x0055, 0x0300, 0x00DA, 0x0055, 0x0301, 0x00DB, 0x0055, 0x0302,
311 0x00DC, 0x0055, 0x0308, 0x00DD, 0x0059, 0x0301, 0x00E0, 0x0061, 0x0300,
312 0x00E1, 0x0061, 0x0301, 0x00E2, 0x0061, 0x0302, 0x00E3, 0x0061, 0x0303,
313 0x00E4, 0x0061, 0x0308, 0x00E5, 0x0061, 0x030A, 0x00E7, 0x0063, 0x0327,
314 0x00E8, 0x0065, 0x0300, 0x00E9, 0x0065, 0x0301, 0x00EA, 0x0065, 0x0302,
315 0x00EB, 0x0065, 0x0308, 0x00EC, 0x0069, 0x0300, 0x00ED, 0x0069, 0x0301,
316 0x00EE, 0x0069, 0x0302, 0x00EF, 0x0069, 0x0308, 0x00F1, 0x006E, 0x0303,
317 0x00F2, 0x006F, 0x0300, 0x00F3, 0x006F, 0x0301, 0x00F4, 0x006F, 0x0302,
318 0x00F5, 0x006F, 0x0303, 0x00F6, 0x006F, 0x0308, 0x00F9, 0x0075, 0x0300,
319 0x00FA, 0x0075, 0x0301, 0x00FB, 0x0075, 0x0302, 0x00FC, 0x0075, 0x0308,
320 0x00FD, 0x0079, 0x0301, 0x00FF, 0x0079, 0x0308, 0x0100, 0x0041, 0x0304,
321 0x0101, 0x0061, 0x0304, 0x0102, 0x0041, 0x0306, 0x0103, 0x0061, 0x0306,
322 0x0104, 0x0041, 0x0328, 0x0105, 0x0061, 0x0328, 0x0106, 0x0043, 0x0301,
323 0x0107, 0x0063, 0x0301, 0x0108, 0x0043, 0x0302, 0x0109, 0x0063, 0x0302,
324 0x010A, 0x0043, 0x0307, 0x010B, 0x0063, 0x0307, 0x010C, 0x0043, 0x030C,
325 0x010D, 0x0063, 0x030C, 0x010E, 0x0044, 0x030C, 0x010F, 0x0064, 0x030C,
326 0x0112, 0x0045, 0x0304, 0x0113, 0x0065, 0x0304, 0x0114, 0x0045, 0x0306,
327 0x0115, 0x0065, 0x0306, 0x0116, 0x0045, 0x0307, 0x0117, 0x0065, 0x0307,
328 0x0118, 0x0045, 0x0328, 0x0119, 0x0065, 0x0328, 0x011A, 0x0045, 0x030C,
329 0x011B, 0x0065, 0x030C, 0x011C, 0x0047, 0x0302, 0x011D, 0x0067, 0x0302,
330 0x011E, 0x0047, 0x0306, 0x011F, 0x0067, 0x0306, 0x0120, 0x0047, 0x0307,
331 0x0121, 0x0067, 0x0307, 0x0122, 0x0047, 0x0327, 0x0123, 0x0067, 0x0327,
332 0x0124, 0x0048, 0x0302, 0x0125, 0x0068, 0x0302, 0x0128, 0x0049, 0x0303,
333 0x0129, 0x0069, 0x0303, 0x012A, 0x0049, 0x0304, 0x012B, 0x0069, 0x0304,
334 0x012C, 0x0049, 0x0306, 0x012D, 0x0069, 0x0306, 0x012E, 0x0049, 0x0328,
335 0x012F, 0x0069, 0x0328, 0x0130, 0x0049, 0x0307, 0x0134, 0x004A, 0x0302,
336 0x0135, 0x006A, 0x0302, 0x0136, 0x004B, 0x0327, 0x0137, 0x006B, 0x0327,
337 0x0139, 0x004C, 0x0301, 0x013A, 0x006C, 0x0301, 0x013B, 0x004C, 0x0327,
338 0x013C, 0x006C, 0x0327, 0x013D, 0x004C, 0x030C, 0x013E, 0x006C, 0x030C,
339 0x0143, 0x004E, 0x0301, 0x0144, 0x006E, 0x0301, 0x0145, 0x004E, 0x0327,
340 0x0146, 0x006E, 0x0327, 0x0147, 0x004E, 0x030C, 0x0148, 0x006E, 0x030C,
341 0x014C, 0x004F, 0x0304, 0x014D, 0x006F, 0x0304, 0x014E, 0x004F, 0x0306,
342 0x014F, 0x006F, 0x0306, 0x0150, 0x004F, 0x030B, 0x0151, 0x006F, 0x030B,
343 0x0154, 0x0052, 0x0301, 0x0155, 0x0072, 0x0301, 0x0156, 0x0052, 0x0327,
344 0x0157, 0x0072, 0x0327, 0x0158, 0x0052, 0x030C, 0x0159, 0x0072, 0x030C,
345 0x015A, 0x0053, 0x0301, 0x015B, 0x0073, 0x0301, 0x015C, 0x0053, 0x0302,
346 0x015D, 0x0073, 0x0302, 0x015E, 0x0053, 0x0327, 0x015F, 0x0073, 0x0327,
347 0x0160, 0x0053, 0x030C, 0x0161, 0x0073, 0x030C, 0x0162, 0x0054, 0x0327,
348 0x0163, 0x0074, 0x0327, 0x0164, 0x0054, 0x030C, 0x0165, 0x0074, 0x030C,
349 0x0168, 0x0055, 0x0303, 0x0169, 0x0075, 0x0303, 0x016A, 0x0055, 0x0304,
350 0x016B, 0x0075, 0x0304, 0x016C, 0x0055, 0x0306, 0x016D, 0x0075, 0x0306,
351 0x016E, 0x0055, 0x030A, 0x016F, 0x0075, 0x030A, 0x0170, 0x0055, 0x030B,
352 0x0171, 0x0075, 0x030B, 0x0172, 0x0055, 0x0328, 0x0173, 0x0075, 0x0328,
353 0x0174, 0x0057, 0x0302, 0x0175, 0x0077, 0x0302, 0x0176, 0x0059, 0x0302,
354 0x0177, 0x0079, 0x0302, 0x0178, 0x0059, 0x0308, 0x0179, 0x005A, 0x0301,
355 0x017A, 0x007A, 0x0301, 0x017B, 0x005A, 0x0307, 0x017C, 0x007A, 0x0307,
356 0x017D, 0x005A, 0x030C, 0x017E, 0x007A, 0x030C, 0x01A0, 0x004F, 0x031B,
357 0x01A1, 0x006F, 0x031B, 0x01AF, 0x0055, 0x031B, 0x01B0, 0x0075, 0x031B,
358 0x01CD, 0x0041, 0x030C, 0x01CE, 0x0061, 0x030C, 0x01CF, 0x0049, 0x030C,
359 0x01D0, 0x0069, 0x030C, 0x01D1, 0x004F, 0x030C, 0x01D2, 0x006F, 0x030C,
360 0x01D3, 0x0055, 0x030C, 0x01D4, 0x0075, 0x030C, 0x01D5, 0x00DC, 0x0304,
361 0x01D6, 0x00FC, 0x0304, 0x01D7, 0x00DC, 0x0301, 0x01D8, 0x00FC, 0x0301,
362 0x01D9, 0x00DC, 0x030C, 0x01DA, 0x00FC, 0x030C, 0x01DB, 0x00DC, 0x0300,
363 0x01DC, 0x00FC, 0x0300, 0x01DE, 0x00C4, 0x0304, 0x01DF, 0x00E4, 0x0304,
364 0x01E0, 0x0226, 0x0304, 0x01E1, 0x0227, 0x0304, 0x01E2, 0x00C6, 0x0304,
365 0x01E3, 0x00E6, 0x0304, 0x01E6, 0x0047, 0x030C, 0x01E7, 0x0067, 0x030C,
366 0x01E8, 0x004B, 0x030C, 0x01E9, 0x006B, 0x030C, 0x01EA, 0x004F, 0x0328,
367 0x01EB, 0x006F, 0x0328, 0x01EC, 0x01EA, 0x0304, 0x01ED, 0x01EB, 0x0304,
368 0x01EE, 0x01B7, 0x030C, 0x01EF, 0x0292, 0x030C, 0x01F0, 0x006A, 0x030C,
369 0x01F4, 0x0047, 0x0301, 0x01F5, 0x0067, 0x0301, 0x01F8, 0x004E, 0x0300,
370 0x01F9, 0x006E, 0x0300, 0x01FA, 0x00C5, 0x0301, 0x01FB, 0x00E5, 0x0301,
371 0x01FC, 0x00C6, 0x0301, 0x01FD, 0x00E6, 0x0301, 0x01FE, 0x00D8, 0x0301,
372 0x01FF, 0x00F8, 0x0301, 0x0200, 0x0041, 0x030F, 0x0201, 0x0061, 0x030F,
373 0x0202, 0x0041, 0x0311, 0x0203, 0x0061, 0x0311, 0x0204, 0x0045, 0x030F,
374 0x0205, 0x0065, 0x030F, 0x0206, 0x0045, 0x0311, 0x0207, 0x0065, 0x0311,
375 0x0208, 0x0049, 0x030F, 0x0209, 0x0069, 0x030F, 0x020A, 0x0049, 0x0311,
376 0x020B, 0x0069, 0x0311, 0x020C, 0x004F, 0x030F, 0x020D, 0x006F, 0x030F,
377 0x020E, 0x004F, 0x0311, 0x020F, 0x006F, 0x0311, 0x0210, 0x0052, 0x030F,
378 0x0211, 0x0072, 0x030F, 0x0212, 0x0052, 0x0311, 0x0213, 0x0072, 0x0311,
379 0x0214, 0x0055, 0x030F, 0x0215, 0x0075, 0x030F, 0x0216, 0x0055, 0x0311,
380 0x0217, 0x0075, 0x0311, 0x0218, 0x0053, 0x0326, 0x0219, 0x0073, 0x0326,
381 0x021A, 0x0054, 0x0326, 0x021B, 0x0074, 0x0326, 0x021E, 0x0048, 0x030C,
382 0x021F, 0x0068, 0x030C, 0x0226, 0x0041, 0x0307, 0x0227, 0x0061, 0x0307,
383 0x0228, 0x0045, 0x0327, 0x0229, 0x0065, 0x0327, 0x022A, 0x00D6, 0x0304,
384 0x022B, 0x00F6, 0x0304, 0x022C, 0x00D5, 0x0304, 0x022D, 0x00F5, 0x0304,
385 0x022E, 0x004F, 0x0307, 0x022F, 0x006F, 0x0307, 0x0230, 0x022E, 0x0304,
386 0x0231, 0x022F, 0x0304, 0x0232, 0x0059, 0x0304, 0x0233, 0x0079, 0x0304,
387 0x0340, 0x0300, 0x0000, 0x0341, 0x0301, 0x0000, 0x0343, 0x0313, 0x0000,
388 0x0344, 0x0308, 0x0301, 0x0374, 0x02B9, 0x0000, 0x037E, 0x003B, 0x0000,
389 0x0385, 0x00A8, 0x0301, 0x0386, 0x0391, 0x0301, 0x0387, 0x00B7, 0x0000,
390 0x0388, 0x0395, 0x0301, 0x0389, 0x0397, 0x0301, 0x038A, 0x0399, 0x0301,
391 0x038C, 0x039F, 0x0301, 0x038E, 0x03A5, 0x0301, 0x038F, 0x03A9, 0x0301,
392 0x0390, 0x03CA, 0x0301, 0x03AA, 0x0399, 0x0308, 0x03AB, 0x03A5, 0x0308,
393 0x03AC, 0x03B1, 0x0301, 0x03AD, 0x03B5, 0x0301, 0x03AE, 0x03B7, 0x0301,
394 0x03AF, 0x03B9, 0x0301, 0x03B0, 0x03CB, 0x0301, 0x03CA, 0x03B9, 0x0308,
395 0x03CB, 0x03C5, 0x0308, 0x03CC, 0x03BF, 0x0301, 0x03CD, 0x03C5, 0x0301,
396 0x03CE, 0x03C9, 0x0301, 0x03D3, 0x03D2, 0x0301, 0x03D4, 0x03D2, 0x0308,
397 0x0400, 0x0415, 0x0300, 0x0401, 0x0415, 0x0308, 0x0403, 0x0413, 0x0301,
398 0x0407, 0x0406, 0x0308, 0x040C, 0x041A, 0x0301, 0x040D, 0x0418, 0x0300,
399 0x040E, 0x0423, 0x0306, 0x0419, 0x0418, 0x0306, 0x0439, 0x0438, 0x0306,
400 0x0450, 0x0435, 0x0300, 0x0451, 0x0435, 0x0308, 0x0453, 0x0433, 0x0301,
401 0x0457, 0x0456, 0x0308, 0x045C, 0x043A, 0x0301, 0x045D, 0x0438, 0x0300,
402 0x045E, 0x0443, 0x0306, 0x0476, 0x0474, 0x030F, 0x0477, 0x0475, 0x030F,
403 0x04C1, 0x0416, 0x0306, 0x04C2, 0x0436, 0x0306, 0x04D0, 0x0410, 0x0306,
404 0x04D1, 0x0430, 0x0306, 0x04D2, 0x0410, 0x0308, 0x04D3, 0x0430, 0x0308,
405 0x04D6, 0x0415, 0x0306, 0x04D7, 0x0435, 0x0306, 0x04DA, 0x04D8, 0x0308,
406 0x04DB, 0x04D9, 0x0308, 0x04DC, 0x0416, 0x0308, 0x04DD, 0x0436, 0x0308,
407 0x04DE, 0x0417, 0x0308, 0x04DF, 0x0437, 0x0308, 0x04E2, 0x0418, 0x0304,
408 0x04E3, 0x0438, 0x0304, 0x04E4, 0x0418, 0x0308, 0x04E5, 0x0438, 0x0308,
409 0x04E6, 0x041E, 0x0308, 0x04E7, 0x043E, 0x0308, 0x04EA, 0x04E8, 0x0308,
410 0x04EB, 0x04E9, 0x0308, 0x04EC, 0x042D, 0x0308, 0x04ED, 0x044D, 0x0308,
411 0x04EE, 0x0423, 0x0304, 0x04EF, 0x0443, 0x0304, 0x04F0, 0x0423, 0x0308,
412 0x04F1, 0x0443, 0x0308, 0x04F2, 0x0423, 0x030B, 0x04F3, 0x0443, 0x030B,
413 0x04F4, 0x0427, 0x0308, 0x04F5, 0x0447, 0x0308, 0x04F8, 0x042B, 0x0308,
414 0x04F9, 0x044B, 0x0308, 0x0622, 0x0627, 0x0653, 0x0623, 0x0627, 0x0654,
415 0x0624, 0x0648, 0x0654, 0x0625, 0x0627, 0x0655, 0x0626, 0x064A, 0x0654,
416 0x06C0, 0x06D5, 0x0654, 0x06C2, 0x06C1, 0x0654, 0x06D3, 0x06D2, 0x0654,
417 0x0929, 0x0928, 0x093C, 0x0931, 0x0930, 0x093C, 0x0934, 0x0933, 0x093C,
418 0x0958, 0x0915, 0x093C, 0x0959, 0x0916, 0x093C, 0x095A, 0x0917, 0x093C,
419 0x095B, 0x091C, 0x093C, 0x095C, 0x0921, 0x093C, 0x095D, 0x0922, 0x093C,
420 0x095E, 0x092B, 0x093C, 0x095F, 0x092F, 0x093C, 0x09CB, 0x09C7, 0x09BE,
421 0x09CC, 0x09C7, 0x09D7, 0x09DC, 0x09A1, 0x09BC, 0x09DD, 0x09A2, 0x09BC,
422 0x09DF, 0x09AF, 0x09BC, 0x0A33, 0x0A32, 0x0A3C, 0x0A36, 0x0A38, 0x0A3C,
423 0x0A59, 0x0A16, 0x0A3C, 0x0A5A, 0x0A17, 0x0A3C, 0x0A5B, 0x0A1C, 0x0A3C,
424 0x0A5E, 0x0A2B, 0x0A3C, 0x0B48, 0x0B47, 0x0B56, 0x0B4B, 0x0B47, 0x0B3E,
425 0x0B4C, 0x0B47, 0x0B57, 0x0B5C, 0x0B21, 0x0B3C, 0x0B5D, 0x0B22, 0x0B3C,
426 0x0B94, 0x0B92, 0x0BD7, 0x0BCA, 0x0BC6, 0x0BBE, 0x0BCB, 0x0BC7, 0x0BBE,
427 0x0BCC, 0x0BC6, 0x0BD7, 0x0C48, 0x0C46, 0x0C56, 0x0CC0, 0x0CBF, 0x0CD5,
428 0x0CC7, 0x0CC6, 0x0CD5, 0x0CC8, 0x0CC6, 0x0CD6, 0x0CCA, 0x0CC6, 0x0CC2,
429 0x0CCB, 0x0CCA, 0x0CD5, 0x0D4A, 0x0D46, 0x0D3E, 0x0D4B, 0x0D47, 0x0D3E,
430 0x0D4C, 0x0D46, 0x0D57, 0x0DDA, 0x0DD9, 0x0DCA, 0x0DDC, 0x0DD9, 0x0DCF,
431 0x0DDD, 0x0DDC, 0x0DCA, 0x0DDE, 0x0DD9, 0x0DDF, 0x0F43, 0x0F42, 0x0FB7,
432 0x0F4D, 0x0F4C, 0x0FB7, 0x0F52, 0x0F51, 0x0FB7, 0x0F57, 0x0F56, 0x0FB7,
433 0x0F5C, 0x0F5B, 0x0FB7, 0x0F69, 0x0F40, 0x0FB5, 0x0F73, 0x0F71, 0x0F72,
434 0x0F75, 0x0F71, 0x0F74, 0x0F76, 0x0FB2, 0x0F80, 0x0F78, 0x0FB3, 0x0F80,
435 0x0F81, 0x0F71, 0x0F80, 0x0F93, 0x0F92, 0x0FB7, 0x0F9D, 0x0F9C, 0x0FB7,
436 0x0FA2, 0x0FA1, 0x0FB7, 0x0FA7, 0x0FA6, 0x0FB7, 0x0FAC, 0x0FAB, 0x0FB7,
437 0x0FB9, 0x0F90, 0x0FB5, 0x1026, 0x1025, 0x102E, 0x1B06, 0x1B05, 0x1B35,
438 0x1B08, 0x1B07, 0x1B35, 0x1B0A, 0x1B09, 0x1B35, 0x1B0C, 0x1B0B, 0x1B35,
439 0x1B0E, 0x1B0D, 0x1B35, 0x1B12, 0x1B11, 0x1B35, 0x1B3B, 0x1B3A, 0x1B35,
440 0x1B3D, 0x1B3C, 0x1B35, 0x1B40, 0x1B3E, 0x1B35, 0x1B41, 0x1B3F, 0x1B35,
441 0x1B43, 0x1B42, 0x1B35, 0x1E00, 0x0041, 0x0325, 0x1E01, 0x0061, 0x0325,
442 0x1E02, 0x0042, 0x0307, 0x1E03, 0x0062, 0x0307, 0x1E04, 0x0042, 0x0323,
443 0x1E05, 0x0062, 0x0323, 0x1E06, 0x0042, 0x0331, 0x1E07, 0x0062, 0x0331,
444 0x1E08, 0x00C7, 0x0301, 0x1E09, 0x00E7, 0x0301, 0x1E0A, 0x0044, 0x0307,
445 0x1E0B, 0x0064, 0x0307, 0x1E0C, 0x0044, 0x0323, 0x1E0D, 0x0064, 0x0323,
446 0x1E0E, 0x0044, 0x0331, 0x1E0F, 0x0064, 0x0331, 0x1E10, 0x0044, 0x0327,
447 0x1E11, 0x0064, 0x0327, 0x1E12, 0x0044, 0x032D, 0x1E13, 0x0064, 0x032D,
448 0x1E14, 0x0112, 0x0300, 0x1E15, 0x0113, 0x0300, 0x1E16, 0x0112, 0x0301,
449 0x1E17, 0x0113, 0x0301, 0x1E18, 0x0045, 0x032D, 0x1E19, 0x0065, 0x032D,
450 0x1E1A, 0x0045, 0x0330, 0x1E1B, 0x0065, 0x0330, 0x1E1C, 0x0228, 0x0306,
451 0x1E1D, 0x0229, 0x0306, 0x1E1E, 0x0046, 0x0307, 0x1E1F, 0x0066, 0x0307,
452 0x1E20, 0x0047, 0x0304, 0x1E21, 0x0067, 0x0304, 0x1E22, 0x0048, 0x0307,
453 0x1E23, 0x0068, 0x0307, 0x1E24, 0x0048, 0x0323, 0x1E25, 0x0068, 0x0323,
454 0x1E26, 0x0048, 0x0308, 0x1E27, 0x0068, 0x0308, 0x1E28, 0x0048, 0x0327,
455 0x1E29, 0x0068, 0x0327, 0x1E2A, 0x0048, 0x032E, 0x1E2B, 0x0068, 0x032E,
456 0x1E2C, 0x0049, 0x0330, 0x1E2D, 0x0069, 0x0330, 0x1E2E, 0x00CF, 0x0301,
457 0x1E2F, 0x00EF, 0x0301, 0x1E30, 0x004B, 0x0301, 0x1E31, 0x006B, 0x0301,
458 0x1E32, 0x004B, 0x0323, 0x1E33, 0x006B, 0x0323, 0x1E34, 0x004B, 0x0331,
459 0x1E35, 0x006B, 0x0331, 0x1E36, 0x004C, 0x0323, 0x1E37, 0x006C, 0x0323,
460 0x1E38, 0x1E36, 0x0304, 0x1E39, 0x1E37, 0x0304, 0x1E3A, 0x004C, 0x0331,
461 0x1E3B, 0x006C, 0x0331, 0x1E3C, 0x004C, 0x032D, 0x1E3D, 0x006C, 0x032D,
462 0x1E3E, 0x004D, 0x0301, 0x1E3F, 0x006D, 0x0301, 0x1E40, 0x004D, 0x0307,
463 0x1E41, 0x006D, 0x0307, 0x1E42, 0x004D, 0x0323, 0x1E43, 0x006D, 0x0323,
464 0x1E44, 0x004E, 0x0307, 0x1E45, 0x006E, 0x0307, 0x1E46, 0x004E, 0x0323,
465 0x1E47, 0x006E, 0x0323, 0x1E48, 0x004E, 0x0331, 0x1E49, 0x006E, 0x0331,
466 0x1E4A, 0x004E, 0x032D, 0x1E4B, 0x006E, 0x032D, 0x1E4C, 0x00D5, 0x0301,
467 0x1E4D, 0x00F5, 0x0301, 0x1E4E, 0x00D5, 0x0308, 0x1E4F, 0x00F5, 0x0308,
468 0x1E50, 0x014C, 0x0300, 0x1E51, 0x014D, 0x0300, 0x1E52, 0x014C, 0x0301,
469 0x1E53, 0x014D, 0x0301, 0x1E54, 0x0050, 0x0301, 0x1E55, 0x0070, 0x0301,
470 0x1E56, 0x0050, 0x0307, 0x1E57, 0x0070, 0x0307, 0x1E58, 0x0052, 0x0307,
471 0x1E59, 0x0072, 0x0307, 0x1E5A, 0x0052, 0x0323, 0x1E5B, 0x0072, 0x0323,
472 0x1E5C, 0x1E5A, 0x0304, 0x1E5D, 0x1E5B, 0x0304, 0x1E5E, 0x0052, 0x0331,
473 0x1E5F, 0x0072, 0x0331, 0x1E60, 0x0053, 0x0307, 0x1E61, 0x0073, 0x0307,
474 0x1E62, 0x0053, 0x0323, 0x1E63, 0x0073, 0x0323, 0x1E64, 0x015A, 0x0307,
475 0x1E65, 0x015B, 0x0307, 0x1E66, 0x0160, 0x0307, 0x1E67, 0x0161, 0x0307,
476 0x1E68, 0x1E62, 0x0307, 0x1E69, 0x1E63, 0x0307, 0x1E6A, 0x0054, 0x0307,
477 0x1E6B, 0x0074, 0x0307, 0x1E6C, 0x0054, 0x0323, 0x1E6D, 0x0074, 0x0323,
478 0x1E6E, 0x0054, 0x0331, 0x1E6F, 0x0074, 0x0331, 0x1E70, 0x0054, 0x032D,
479 0x1E71, 0x0074, 0x032D, 0x1E72, 0x0055, 0x0324, 0x1E73, 0x0075, 0x0324,
480 0x1E74, 0x0055, 0x0330, 0x1E75, 0x0075, 0x0330, 0x1E76, 0x0055, 0x032D,
481 0x1E77, 0x0075, 0x032D, 0x1E78, 0x0168, 0x0301, 0x1E79, 0x0169, 0x0301,
482 0x1E7A, 0x016A, 0x0308, 0x1E7B, 0x016B, 0x0308, 0x1E7C, 0x0056, 0x0303,
483 0x1E7D, 0x0076, 0x0303, 0x1E7E, 0x0056, 0x0323, 0x1E7F, 0x0076, 0x0323,
484 0x1E80, 0x0057, 0x0300, 0x1E81, 0x0077, 0x0300, 0x1E82, 0x0057, 0x0301,
485 0x1E83, 0x0077, 0x0301, 0x1E84, 0x0057, 0x0308, 0x1E85, 0x0077, 0x0308,
486 0x1E86, 0x0057, 0x0307, 0x1E87, 0x0077, 0x0307, 0x1E88, 0x0057, 0x0323,
487 0x1E89, 0x0077, 0x0323, 0x1E8A, 0x0058, 0x0307, 0x1E8B, 0x0078, 0x0307,
488 0x1E8C, 0x0058, 0x0308, 0x1E8D, 0x0078, 0x0308, 0x1E8E, 0x0059, 0x0307,
489 0x1E8F, 0x0079, 0x0307, 0x1E90, 0x005A, 0x0302, 0x1E91, 0x007A, 0x0302,
490 0x1E92, 0x005A, 0x0323, 0x1E93, 0x007A, 0x0323, 0x1E94, 0x005A, 0x0331,
491 0x1E95, 0x007A, 0x0331, 0x1E96, 0x0068, 0x0331, 0x1E97, 0x0074, 0x0308,
492 0x1E98, 0x0077, 0x030A, 0x1E99, 0x0079, 0x030A, 0x1E9B, 0x017F, 0x0307,
493 0x1EA0, 0x0041, 0x0323, 0x1EA1, 0x0061, 0x0323, 0x1EA2, 0x0041, 0x0309,
494 0x1EA3, 0x0061, 0x0309, 0x1EA4, 0x00C2, 0x0301, 0x1EA5, 0x00E2, 0x0301,
495 0x1EA6, 0x00C2, 0x0300, 0x1EA7, 0x00E2, 0x0300, 0x1EA8, 0x00C2, 0x0309,
496 0x1EA9, 0x00E2, 0x0309, 0x1EAA, 0x00C2, 0x0303, 0x1EAB, 0x00E2, 0x0303,
497 0x1EAC, 0x1EA0, 0x0302, 0x1EAD, 0x1EA1, 0x0302, 0x1EAE, 0x0102, 0x0301,
498 0x1EAF, 0x0103, 0x0301, 0x1EB0, 0x0102, 0x0300, 0x1EB1, 0x0103, 0x0300,
499 0x1EB2, 0x0102, 0x0309, 0x1EB3, 0x0103, 0x0309, 0x1EB4, 0x0102, 0x0303,
500 0x1EB5, 0x0103, 0x0303, 0x1EB6, 0x1EA0, 0x0306, 0x1EB7, 0x1EA1, 0x0306,
501 0x1EB8, 0x0045, 0x0323, 0x1EB9, 0x0065, 0x0323, 0x1EBA, 0x0045, 0x0309,
502 0x1EBB, 0x0065, 0x0309, 0x1EBC, 0x0045, 0x0303, 0x1EBD, 0x0065, 0x0303,
503 0x1EBE, 0x00CA, 0x0301, 0x1EBF, 0x00EA, 0x0301, 0x1EC0, 0x00CA, 0x0300,
504 0x1EC1, 0x00EA, 0x0300, 0x1EC2, 0x00CA, 0x0309, 0x1EC3, 0x00EA, 0x0309,
505 0x1EC4, 0x00CA, 0x0303, 0x1EC5, 0x00EA, 0x0303, 0x1EC6, 0x1EB8, 0x0302,
506 0x1EC7, 0x1EB9, 0x0302, 0x1EC8, 0x0049, 0x0309, 0x1EC9, 0x0069, 0x0309,
507 0x1ECA, 0x0049, 0x0323, 0x1ECB, 0x0069, 0x0323, 0x1ECC, 0x004F, 0x0323,
508 0x1ECD, 0x006F, 0x0323, 0x1ECE, 0x004F, 0x0309, 0x1ECF, 0x006F, 0x0309,
509 0x1ED0, 0x00D4, 0x0301, 0x1ED1, 0x00F4, 0x0301, 0x1ED2, 0x00D4, 0x0300,
510 0x1ED3, 0x00F4, 0x0300, 0x1ED4, 0x00D4, 0x0309, 0x1ED5, 0x00F4, 0x0309,
511 0x1ED6, 0x00D4, 0x0303, 0x1ED7, 0x00F4, 0x0303, 0x1ED8, 0x1ECC, 0x0302,
512 0x1ED9, 0x1ECD, 0x0302, 0x1EDA, 0x01A0, 0x0301, 0x1EDB, 0x01A1, 0x0301,
513 0x1EDC, 0x01A0, 0x0300, 0x1EDD, 0x01A1, 0x0300, 0x1EDE, 0x01A0, 0x0309,
514 0x1EDF, 0x01A1, 0x0309, 0x1EE0, 0x01A0, 0x0303, 0x1EE1, 0x01A1, 0x0303,
515 0x1EE2, 0x01A0, 0x0323, 0x1EE3, 0x01A1, 0x0323, 0x1EE4, 0x0055, 0x0323,
516 0x1EE5, 0x0075, 0x0323, 0x1EE6, 0x0055, 0x0309, 0x1EE7, 0x0075, 0x0309,
517 0x1EE8, 0x01AF, 0x0301, 0x1EE9, 0x01B0, 0x0301, 0x1EEA, 0x01AF, 0x0300,
518 0x1EEB, 0x01B0, 0x0300, 0x1EEC, 0x01AF, 0x0309, 0x1EED, 0x01B0, 0x0309,
519 0x1EEE, 0x01AF, 0x0303, 0x1EEF, 0x01B0, 0x0303, 0x1EF0, 0x01AF, 0x0323,
520 0x1EF1, 0x01B0, 0x0323, 0x1EF2, 0x0059, 0x0300, 0x1EF3, 0x0079, 0x0300,
521 0x1EF4, 0x0059, 0x0323, 0x1EF5, 0x0079, 0x0323, 0x1EF6, 0x0059, 0x0309,
522 0x1EF7, 0x0079, 0x0309, 0x1EF8, 0x0059, 0x0303, 0x1EF9, 0x0079, 0x0303,
523 0x1F00, 0x03B1, 0x0313, 0x1F01, 0x03B1, 0x0314, 0x1F02, 0x1F00, 0x0300,
524 0x1F03, 0x1F01, 0x0300, 0x1F04, 0x1F00, 0x0301, 0x1F05, 0x1F01, 0x0301,
525 0x1F06, 0x1F00, 0x0342, 0x1F07, 0x1F01, 0x0342, 0x1F08, 0x0391, 0x0313,
526 0x1F09, 0x0391, 0x0314, 0x1F0A, 0x1F08, 0x0300, 0x1F0B, 0x1F09, 0x0300,
527 0x1F0C, 0x1F08, 0x0301, 0x1F0D, 0x1F09, 0x0301, 0x1F0E, 0x1F08, 0x0342,
528 0x1F0F, 0x1F09, 0x0342, 0x1F10, 0x03B5, 0x0313, 0x1F11, 0x03B5, 0x0314,
529 0x1F12, 0x1F10, 0x0300, 0x1F13, 0x1F11, 0x0300, 0x1F14, 0x1F10, 0x0301,
530 0x1F15, 0x1F11, 0x0301, 0x1F18, 0x0395, 0x0313, 0x1F19, 0x0395, 0x0314,
531 0x1F1A, 0x1F18, 0x0300, 0x1F1B, 0x1F19, 0x0300, 0x1F1C, 0x1F18, 0x0301,
532 0x1F1D, 0x1F19, 0x0301, 0x1F20, 0x03B7, 0x0313, 0x1F21, 0x03B7, 0x0314,
533 0x1F22, 0x1F20, 0x0300, 0x1F23, 0x1F21, 0x0300, 0x1F24, 0x1F20, 0x0301,
534 0x1F25, 0x1F21, 0x0301, 0x1F26, 0x1F20, 0x0342, 0x1F27, 0x1F21, 0x0342,
535 0x1F28, 0x0397, 0x0313, 0x1F29, 0x0397, 0x0314, 0x1F2A, 0x1F28, 0x0300,
536 0x1F2B, 0x1F29, 0x0300, 0x1F2C, 0x1F28, 0x0301, 0x1F2D, 0x1F29, 0x0301,
537 0x1F2E, 0x1F28, 0x0342, 0x1F2F, 0x1F29, 0x0342, 0x1F30, 0x03B9, 0x0313,
538 0x1F31, 0x03B9, 0x0314, 0x1F32, 0x1F30, 0x0300, 0x1F33, 0x1F31, 0x0300,
539 0x1F34, 0x1F30, 0x0301, 0x1F35, 0x1F31, 0x0301, 0x1F36, 0x1F30, 0x0342,
540 0x1F37, 0x1F31, 0x0342, 0x1F38, 0x0399, 0x0313, 0x1F39, 0x0399, 0x0314,
541 0x1F3A, 0x1F38, 0x0300, 0x1F3B, 0x1F39, 0x0300, 0x1F3C, 0x1F38, 0x0301,
542 0x1F3D, 0x1F39, 0x0301, 0x1F3E, 0x1F38, 0x0342, 0x1F3F, 0x1F39, 0x0342,
543 0x1F40, 0x03BF, 0x0313, 0x1F41, 0x03BF, 0x0314, 0x1F42, 0x1F40, 0x0300,
544 0x1F43, 0x1F41, 0x0300, 0x1F44, 0x1F40, 0x0301, 0x1F45, 0x1F41, 0x0301,
545 0x1F48, 0x039F, 0x0313, 0x1F49, 0x039F, 0x0314, 0x1F4A, 0x1F48, 0x0300,
546 0x1F4B, 0x1F49, 0x0300, 0x1F4C, 0x1F48, 0x0301, 0x1F4D, 0x1F49, 0x0301,
547 0x1F50, 0x03C5, 0x0313, 0x1F51, 0x03C5, 0x0314, 0x1F52, 0x1F50, 0x0300,
548 0x1F53, 0x1F51, 0x0300, 0x1F54, 0x1F50, 0x0301, 0x1F55, 0x1F51, 0x0301,
549 0x1F56, 0x1F50, 0x0342, 0x1F57, 0x1F51, 0x0342, 0x1F59, 0x03A5, 0x0314,
550 0x1F5B, 0x1F59, 0x0300, 0x1F5D, 0x1F59, 0x0301, 0x1F5F, 0x1F59, 0x0342,
551 0x1F60, 0x03C9, 0x0313, 0x1F61, 0x03C9, 0x0314, 0x1F62, 0x1F60, 0x0300,
552 0x1F63, 0x1F61, 0x0300, 0x1F64, 0x1F60, 0x0301, 0x1F65, 0x1F61, 0x0301,
553 0x1F66, 0x1F60, 0x0342, 0x1F67, 0x1F61, 0x0342, 0x1F68, 0x03A9, 0x0313,
554 0x1F69, 0x03A9, 0x0314, 0x1F6A, 0x1F68, 0x0300, 0x1F6B, 0x1F69, 0x0300,
555 0x1F6C, 0x1F68, 0x0301, 0x1F6D, 0x1F69, 0x0301, 0x1F6E, 0x1F68, 0x0342,
556 0x1F6F, 0x1F69, 0x0342, 0x1F70, 0x03B1, 0x0300, 0x1F71, 0x03AC, 0x0000,
557 0x1F72, 0x03B5, 0x0300, 0x1F73, 0x03AD, 0x0000, 0x1F74, 0x03B7, 0x0300,
558 0x1F75, 0x03AE, 0x0000, 0x1F76, 0x03B9, 0x0300, 0x1F77, 0x03AF, 0x0000,
559 0x1F78, 0x03BF, 0x0300, 0x1F79, 0x03CC, 0x0000, 0x1F7A, 0x03C5, 0x0300,
560 0x1F7B, 0x03CD, 0x0000, 0x1F7C, 0x03C9, 0x0300, 0x1F7D, 0x03CE, 0x0000,
561 0x1F80, 0x1F00, 0x0345, 0x1F81, 0x1F01, 0x0345, 0x1F82, 0x1F02, 0x0345,
562 0x1F83, 0x1F03, 0x0345, 0x1F84, 0x1F04, 0x0345, 0x1F85, 0x1F05, 0x0345,
563 0x1F86, 0x1F06, 0x0345, 0x1F87, 0x1F07, 0x0345, 0x1F88, 0x1F08, 0x0345,
564 0x1F89, 0x1F09, 0x0345, 0x1F8A, 0x1F0A, 0x0345, 0x1F8B, 0x1F0B, 0x0345,
565 0x1F8C, 0x1F0C, 0x0345, 0x1F8D, 0x1F0D, 0x0345, 0x1F8E, 0x1F0E, 0x0345,
566 0x1F8F, 0x1F0F, 0x0345, 0x1F90, 0x1F20, 0x0345, 0x1F91, 0x1F21, 0x0345,
567 0x1F92, 0x1F22, 0x0345, 0x1F93, 0x1F23, 0x0345, 0x1F94, 0x1F24, 0x0345,
568 0x1F95, 0x1F25, 0x0345, 0x1F96, 0x1F26, 0x0345, 0x1F97, 0x1F27, 0x0345,
569 0x1F98, 0x1F28, 0x0345, 0x1F99, 0x1F29, 0x0345, 0x1F9A, 0x1F2A, 0x0345,
570 0x1F9B, 0x1F2B, 0x0345, 0x1F9C, 0x1F2C, 0x0345, 0x1F9D, 0x1F2D, 0x0345,
571 0x1F9E, 0x1F2E, 0x0345, 0x1F9F, 0x1F2F, 0x0345, 0x1FA0, 0x1F60, 0x0345,
572 0x1FA1, 0x1F61, 0x0345, 0x1FA2, 0x1F62, 0x0345, 0x1FA3, 0x1F63, 0x0345,
573 0x1FA4, 0x1F64, 0x0345, 0x1FA5, 0x1F65, 0x0345, 0x1FA6, 0x1F66, 0x0345,
574 0x1FA7, 0x1F67, 0x0345, 0x1FA8, 0x1F68, 0x0345, 0x1FA9, 0x1F69, 0x0345,
575 0x1FAA, 0x1F6A, 0x0345, 0x1FAB, 0x1F6B, 0x0345, 0x1FAC, 0x1F6C, 0x0345,
576 0x1FAD, 0x1F6D, 0x0345, 0x1FAE, 0x1F6E, 0x0345, 0x1FAF, 0x1F6F, 0x0345,
577 0x1FB0, 0x03B1, 0x0306, 0x1FB1, 0x03B1, 0x0304, 0x1FB2, 0x1F70, 0x0345,
578 0x1FB3, 0x03B1, 0x0345, 0x1FB4, 0x03AC, 0x0345, 0x1FB6, 0x03B1, 0x0342,
579 0x1FB7, 0x1FB6, 0x0345, 0x1FB8, 0x0391, 0x0306, 0x1FB9, 0x0391, 0x0304,
580 0x1FBA, 0x0391, 0x0300, 0x1FBB, 0x0386, 0x0000, 0x1FBC, 0x0391, 0x0345,
581 0x1FBE, 0x03B9, 0x0000, 0x1FC1, 0x00A8, 0x0342, 0x1FC2, 0x1F74, 0x0345,
582 0x1FC3, 0x03B7, 0x0345, 0x1FC4, 0x03AE, 0x0345, 0x1FC6, 0x03B7, 0x0342,
583 0x1FC7, 0x1FC6, 0x0345, 0x1FC8, 0x0395, 0x0300, 0x1FC9, 0x0388, 0x0000,
584 0x1FCA, 0x0397, 0x0300, 0x1FCB, 0x0389, 0x0000, 0x1FCC, 0x0397, 0x0345,
585 0x1FCD, 0x1FBF, 0x0300, 0x1FCE, 0x1FBF, 0x0301, 0x1FCF, 0x1FBF, 0x0342,
586 0x1FD0, 0x03B9, 0x0306, 0x1FD1, 0x03B9, 0x0304, 0x1FD2, 0x03CA, 0x0300,
587 0x1FD3, 0x0390, 0x0000, 0x1FD6, 0x03B9, 0x0342, 0x1FD7, 0x03CA, 0x0342,
588 0x1FD8, 0x0399, 0x0306, 0x1FD9, 0x0399, 0x0304, 0x1FDA, 0x0399, 0x0300,
589 0x1FDB, 0x038A, 0x0000, 0x1FDD, 0x1FFE, 0x0300, 0x1FDE, 0x1FFE, 0x0301,
590 0x1FDF, 0x1FFE, 0x0342, 0x1FE0, 0x03C5, 0x0306, 0x1FE1, 0x03C5, 0x0304,
591 0x1FE2, 0x03CB, 0x0300, 0x1FE3, 0x03B0, 0x0000, 0x1FE4, 0x03C1, 0x0313,
592 0x1FE5, 0x03C1, 0x0314, 0x1FE6, 0x03C5, 0x0342, 0x1FE7, 0x03CB, 0x0342,
593 0x1FE8, 0x03A5, 0x0306, 0x1FE9, 0x03A5, 0x0304, 0x1FEA, 0x03A5, 0x0300,
594 0x1FEB, 0x038E, 0x0000, 0x1FEC, 0x03A1, 0x0314, 0x1FED, 0x00A8, 0x0300,
595 0x1FEE, 0x0385, 0x0000, 0x1FEF, 0x0060, 0x0000, 0x1FF2, 0x1F7C, 0x0345,
596 0x1FF3, 0x03C9, 0x0345, 0x1FF4, 0x03CE, 0x0345, 0x1FF6, 0x03C9, 0x0342,
597 0x1FF7, 0x1FF6, 0x0345, 0x1FF8, 0x039F, 0x0300, 0x1FF9, 0x038C, 0x0000,
598 0x1FFA, 0x03A9, 0x0300, 0x1FFB, 0x038F, 0x0000, 0x1FFC, 0x03A9, 0x0345,
599 0x1FFD, 0x00B4, 0x0000, 0x2000, 0x2002, 0x0000, 0x2001, 0x2003, 0x0000,
600 0x2126, 0x03A9, 0x0000, 0x212A, 0x004B, 0x0000, 0x212B, 0x00C5, 0x0000,
601 0x219A, 0x2190, 0x0338, 0x219B, 0x2192, 0x0338, 0x21AE, 0x2194, 0x0338,
602 0x21CD, 0x21D0, 0x0338, 0x21CE, 0x21D4, 0x0338, 0x21CF, 0x21D2, 0x0338,
603 0x2204, 0x2203, 0x0338, 0x2209, 0x2208, 0x0338, 0x220C, 0x220B, 0x0338,
604 0x2224, 0x2223, 0x0338, 0x2226, 0x2225, 0x0338, 0x2241, 0x223C, 0x0338,
605 0x2244, 0x2243, 0x0338, 0x2247, 0x2245, 0x0338, 0x2249, 0x2248, 0x0338,
606 0x2260, 0x003D, 0x0338, 0x2262, 0x2261, 0x0338, 0x226D, 0x224D, 0x0338,
607 0x226E, 0x003C, 0x0338, 0x226F, 0x003E, 0x0338, 0x2270, 0x2264, 0x0338,
608 0x2271, 0x2265, 0x0338, 0x2274, 0x2272, 0x0338, 0x2275, 0x2273, 0x0338,
609 0x2278, 0x2276, 0x0338, 0x2279, 0x2277, 0x0338, 0x2280, 0x227A, 0x0338,
610 0x2281, 0x227B, 0x0338, 0x2284, 0x2282, 0x0338, 0x2285, 0x2283, 0x0338,
611 0x2288, 0x2286, 0x0338, 0x2289, 0x2287, 0x0338, 0x22AC, 0x22A2, 0x0338,
612 0x22AD, 0x22A8, 0x0338, 0x22AE, 0x22A9, 0x0338, 0x22AF, 0x22AB, 0x0338,
613 0x22E0, 0x227C, 0x0338, 0x22E1, 0x227D, 0x0338, 0x22E2, 0x2291, 0x0338,
614 0x22E3, 0x2292, 0x0338, 0x22EA, 0x22B2, 0x0338, 0x22EB, 0x22B3, 0x0338,
615 0x22EC, 0x22B4, 0x0338, 0x22ED, 0x22B5, 0x0338, 0x2329, 0x3008, 0x0000,
616 0x232A, 0x3009, 0x0000, 0x2ADC, 0x2ADD, 0x0338, 0x304C, 0x304B, 0x3099,
617 0x304E, 0x304D, 0x3099, 0x3050, 0x304F, 0x3099, 0x3052, 0x3051, 0x3099,
618 0x3054, 0x3053, 0x3099, 0x3056, 0x3055, 0x3099, 0x3058, 0x3057, 0x3099,
619 0x305A, 0x3059, 0x3099, 0x305C, 0x305B, 0x3099, 0x305E, 0x305D, 0x3099,
620 0x3060, 0x305F, 0x3099, 0x3062, 0x3061, 0x3099, 0x3065, 0x3064, 0x3099,
621 0x3067, 0x3066, 0x3099, 0x3069, 0x3068, 0x3099, 0x3070, 0x306F, 0x3099,
622 0x3071, 0x306F, 0x309A, 0x3073, 0x3072, 0x3099, 0x3074, 0x3072, 0x309A,
623 0x3076, 0x3075, 0x3099, 0x3077, 0x3075, 0x309A, 0x3079, 0x3078, 0x3099,
624 0x307A, 0x3078, 0x309A, 0x307C, 0x307B, 0x3099, 0x307D, 0x307B, 0x309A,
625 0x3094, 0x3046, 0x3099, 0x309E, 0x309D, 0x3099, 0x30AC, 0x30AB, 0x3099,
626 0x30AE, 0x30AD, 0x3099, 0x30B0, 0x30AF, 0x3099, 0x30B2, 0x30B1, 0x3099,
627 0x30B4, 0x30B3, 0x3099, 0x30B6, 0x30B5, 0x3099, 0x30B8, 0x30B7, 0x3099,
628 0x30BA, 0x30B9, 0x3099, 0x30BC, 0x30BB, 0x3099, 0x30BE, 0x30BD, 0x3099,
629 0x30C0, 0x30BF, 0x3099, 0x30C2, 0x30C1, 0x3099, 0x30C5, 0x30C4, 0x3099,
630 0x30C7, 0x30C6, 0x3099, 0x30C9, 0x30C8, 0x3099, 0x30D0, 0x30CF, 0x3099,
631 0x30D1, 0x30CF, 0x309A, 0x30D3, 0x30D2, 0x3099, 0x30D4, 0x30D2, 0x309A,
632 0x30D6, 0x30D5, 0x3099, 0x30D7, 0x30D5, 0x309A, 0x30D9, 0x30D8, 0x3099,
633 0x30DA, 0x30D8, 0x309A, 0x30DC, 0x30DB, 0x3099, 0x30DD, 0x30DB, 0x309A,
634 0x30F4, 0x30A6, 0x3099, 0x30F7, 0x30EF, 0x3099, 0x30F8, 0x30F0, 0x3099,
635 0x30F9, 0x30F1, 0x3099, 0x30FA, 0x30F2, 0x3099, 0x30FE, 0x30FD, 0x3099,
636};
637
638static unsigned int xs_unicode_alpha_table[] = {
639 0x0041, 0x005A, 0x0061, 0x007A, 0x00AA, 0x00AA, 0x00B5, 0x00B5,
640 0x00BA, 0x00BA, 0x00C0, 0x00D6, 0x00D8, 0x00F6, 0x00F8, 0x02AF,
641 0x0370, 0x0373, 0x0376, 0x0377, 0x037B, 0x037D, 0x037F, 0x037F,
642 0x0386, 0x0386, 0x0388, 0x03F5, 0x03F7, 0x0481, 0x048A, 0x0556,
643 0x0560, 0x0588, 0x05D0, 0x05F2, 0x0620, 0x063F, 0x0641, 0x064A,
644 0x066E, 0x066F, 0x0671, 0x06D3, 0x06D5, 0x06D5, 0x06EE, 0x06EF,
645 0x06FA, 0x06FC, 0x06FF, 0x06FF, 0x0710, 0x0710, 0x0712, 0x072F,
646 0x074D, 0x07A5, 0x07B1, 0x07B1, 0x07CA, 0x07EA, 0x0800, 0x0815,
647 0x0840, 0x0858, 0x0860, 0x0887, 0x0889, 0x088E, 0x08A0, 0x08C8,
648 0x0904, 0x0939, 0x093D, 0x093D, 0x0950, 0x0950, 0x0958, 0x0961,
649 0x0972, 0x0980, 0x0985, 0x09B9, 0x09BD, 0x09BD, 0x09CE, 0x09CE,
650 0x09DC, 0x09E1, 0x09F0, 0x09F1, 0x09FC, 0x09FC, 0x0A05, 0x0A39,
651 0x0A59, 0x0A5E, 0x0A72, 0x0A74, 0x0A85, 0x0AB9, 0x0ABD, 0x0ABD,
652 0x0AD0, 0x0AE1, 0x0AF9, 0x0AF9, 0x0B05, 0x0B39, 0x0B3D, 0x0B3D,
653 0x0B5C, 0x0B61, 0x0B71, 0x0B71, 0x0B83, 0x0BB9, 0x0BD0, 0x0BD0,
654 0x0C05, 0x0C39, 0x0C3D, 0x0C3D, 0x0C58, 0x0C61, 0x0C80, 0x0C80,
655 0x0C85, 0x0CB9, 0x0CBD, 0x0CBD, 0x0CDD, 0x0CE1, 0x0CF1, 0x0CF2,
656 0x0D04, 0x0D3A, 0x0D3D, 0x0D3D, 0x0D4E, 0x0D4E, 0x0D54, 0x0D56,
657 0x0D5F, 0x0D61, 0x0D7A, 0x0D7F, 0x0D85, 0x0DC6, 0x0E01, 0x0E30,
658 0x0E32, 0x0E33, 0x0E40, 0x0E45, 0x0E81, 0x0EB0, 0x0EB2, 0x0EB3,
659 0x0EBD, 0x0EC4, 0x0EDC, 0x0F00, 0x0F40, 0x0F6C, 0x0F88, 0x0F8C,
660 0x1000, 0x102A, 0x103F, 0x103F, 0x1050, 0x1055, 0x105A, 0x105D,
661 0x1061, 0x1061, 0x1065, 0x1066, 0x106E, 0x1070, 0x1075, 0x1081,
662 0x108E, 0x108E, 0x10A0, 0x10FA, 0x10FD, 0x135A, 0x1380, 0x138F,
663 0x13A0, 0x13FD, 0x1401, 0x166C, 0x166F, 0x167F, 0x1681, 0x169A,
664 0x16A0, 0x16EA, 0x16F1, 0x1711, 0x171F, 0x1731, 0x1740, 0x1751,
665 0x1760, 0x1770, 0x1780, 0x17B3, 0x17DC, 0x17DC, 0x1820, 0x1842,
666 0x1844, 0x1884, 0x1887, 0x18A8, 0x18AA, 0x191E, 0x1950, 0x19C9,
667 0x1A00, 0x1A16, 0x1A20, 0x1A54, 0x1B05, 0x1B33, 0x1B45, 0x1B4C,
668 0x1B83, 0x1BA0, 0x1BAE, 0x1BAF, 0x1BBA, 0x1BE5, 0x1C00, 0x1C23,
669 0x1C4D, 0x1C4F, 0x1C5A, 0x1C77, 0x1C80, 0x1CBF, 0x1CE9, 0x1CEC,
670 0x1CEE, 0x1CF3, 0x1CF5, 0x1CF6, 0x1CFA, 0x1D2B, 0x1D6B, 0x1D77,
671 0x1D79, 0x1D9A, 0x1E00, 0x1FBC, 0x1FBE, 0x1FBE, 0x1FC2, 0x1FCC,
672 0x1FD0, 0x1FDB, 0x1FE0, 0x1FEC, 0x1FF2, 0x1FFC, 0x2102, 0x2102,
673 0x2107, 0x2107, 0x210A, 0x2113, 0x2115, 0x2115, 0x2119, 0x211D,
674 0x2124, 0x2124, 0x2126, 0x2126, 0x2128, 0x2128, 0x212A, 0x212D,
675 0x212F, 0x2139, 0x213C, 0x213F, 0x2145, 0x2149, 0x214E, 0x214E,
676 0x2183, 0x2184, 0x2C00, 0x2C7B, 0x2C7E, 0x2CE4, 0x2CEB, 0x2CEE,
677 0x2CF2, 0x2CF3, 0x2D00, 0x2D67, 0x2D80, 0x2DDE, 0x3006, 0x3006,
678 0x303C, 0x303C, 0x3041, 0x3096, 0x309F, 0x309F, 0x30A1, 0x30FA,
679 0x30FF, 0x318E, 0x31A0, 0x31BF, 0x31F0, 0x31FF, 0x3400, 0x4DBF,
680 0x4E00, 0xA014, 0xA016, 0xA48C, 0xA4D0, 0xA4F7, 0xA500, 0xA60B,
681 0xA610, 0xA61F, 0xA62A, 0xA66E, 0xA680, 0xA69B, 0xA6A0, 0xA6E5,
682 0xA722, 0xA76F, 0xA771, 0xA787, 0xA78B, 0xA7D9, 0xA7F5, 0xA7F7,
683 0xA7FA, 0xA801, 0xA803, 0xA805, 0xA807, 0xA80A, 0xA80C, 0xA822,
684 0xA840, 0xA873, 0xA882, 0xA8B3, 0xA8F2, 0xA8F7, 0xA8FB, 0xA8FB,
685 0xA8FD, 0xA8FE, 0xA90A, 0xA925, 0xA930, 0xA946, 0xA960, 0xA97C,
686 0xA984, 0xA9B2, 0xA9E0, 0xA9E4, 0xA9E7, 0xA9EF, 0xA9FA, 0xAA28,
687 0xAA40, 0xAA42, 0xAA44, 0xAA4B, 0xAA60, 0xAA6F, 0xAA71, 0xAA76,
688 0xAA7A, 0xAA7A, 0xAA7E, 0xAAAF, 0xAAB1, 0xAAB1, 0xAAB5, 0xAAB6,
689 0xAAB9, 0xAABD, 0xAAC0, 0xAAC0, 0xAAC2, 0xAADC, 0xAAE0, 0xAAEA,
690 0xAAF2, 0xAAF2, 0xAB01, 0xAB5A, 0xAB60, 0xAB68, 0xAB70, 0xABE2,
691 0xAC00, 0xD7FB, 0xF900, 0xFB1D, 0xFB1F, 0xFB28, 0xFB2A, 0xFBB1,
692 0xFBD3, 0xFD3D, 0xFD50, 0xFDC7, 0xFDF0, 0xFDFB, 0xFE70, 0xFEFC,
693 0xFF21, 0xFF3A, 0xFF41, 0xFF5A, 0xFF66, 0xFF6F, 0xFF71, 0xFF9D,
694 0xFFA0, 0xFFDC, 0x10000, 0x100FA, 0x10280, 0x102D0, 0x10300, 0x1031F,
695 0x1032D, 0x10340, 0x10342, 0x10349, 0x10350, 0x10375, 0x10380, 0x1039D,
696 0x103A0, 0x103CF, 0x10400, 0x1049D, 0x104B0, 0x10563, 0x10570, 0x10767,
697 0x10800, 0x10855, 0x10860, 0x10876, 0x10880, 0x1089E, 0x108E0, 0x108F5,
698 0x10900, 0x10915, 0x10920, 0x10939, 0x10980, 0x109B7, 0x109BE, 0x109BF,
699 0x10A00, 0x10A00, 0x10A10, 0x10A35, 0x10A60, 0x10A7C, 0x10A80, 0x10A9C,
700 0x10AC0, 0x10AC7, 0x10AC9, 0x10AE4, 0x10B00, 0x10B35, 0x10B40, 0x10B55,
701 0x10B60, 0x10B72, 0x10B80, 0x10B91, 0x10C00, 0x10CF2, 0x10D00, 0x10D23,
702 0x10E80, 0x10EA9, 0x10EB0, 0x10EB1, 0x10F00, 0x10F1C, 0x10F27, 0x10F45,
703 0x10F70, 0x10F81, 0x10FB0, 0x10FC4, 0x10FE0, 0x10FF6, 0x11003, 0x11037,
704 0x11071, 0x11072, 0x11075, 0x11075, 0x11083, 0x110AF, 0x110D0, 0x110E8,
705 0x11103, 0x11126, 0x11144, 0x11144, 0x11147, 0x11172, 0x11176, 0x11176,
706 0x11183, 0x111B2, 0x111C1, 0x111C4, 0x111DA, 0x111DA, 0x111DC, 0x111DC,
707 0x11200, 0x1122B, 0x1123F, 0x11240, 0x11280, 0x112A8, 0x112B0, 0x112DE,
708 0x11305, 0x11339, 0x1133D, 0x1133D, 0x11350, 0x11350, 0x1135D, 0x11361,
709 0x11400, 0x11434, 0x11447, 0x1144A, 0x1145F, 0x114AF, 0x114C4, 0x114C5,
710 0x114C7, 0x114C7, 0x11580, 0x115AE, 0x115D8, 0x115DB, 0x11600, 0x1162F,
711 0x11644, 0x11644, 0x11680, 0x116AA, 0x116B8, 0x116B8, 0x11700, 0x1171A,
712 0x11740, 0x1182B, 0x118A0, 0x118DF, 0x118FF, 0x1192F, 0x1193F, 0x1193F,
713 0x11941, 0x11941, 0x119A0, 0x119D0, 0x119E1, 0x119E1, 0x119E3, 0x119E3,
714 0x11A00, 0x11A00, 0x11A0B, 0x11A32, 0x11A3A, 0x11A3A, 0x11A50, 0x11A50,
715 0x11A5C, 0x11A89, 0x11A9D, 0x11A9D, 0x11AB0, 0x11AF8, 0x11C00, 0x11C2E,
716 0x11C40, 0x11C40, 0x11C72, 0x11C8F, 0x11D00, 0x11D30, 0x11D46, 0x11D46,
717 0x11D60, 0x11D89, 0x11D98, 0x11D98, 0x11EE0, 0x11EF2, 0x11F02, 0x11F02,
718 0x11F04, 0x11F33, 0x11FB0, 0x11FB0, 0x12000, 0x12399, 0x12480, 0x12FF0,
719 0x13000, 0x1342F, 0x13441, 0x13446, 0x14400, 0x16A5E, 0x16A70, 0x16ABE,
720 0x16AD0, 0x16AED, 0x16B00, 0x16B2F, 0x16B63, 0x16E7F, 0x16F00, 0x16F4A,
721 0x16F50, 0x16F50, 0x17000, 0x18D08, 0x1B000, 0x1BC99, 0x1D400, 0x1D6C0,
722 0x1D6C2, 0x1D6DA, 0x1D6DC, 0x1D6FA, 0x1D6FC, 0x1D714, 0x1D716, 0x1D734,
723 0x1D736, 0x1D74E, 0x1D750, 0x1D76E, 0x1D770, 0x1D788, 0x1D78A, 0x1D7A8,
724 0x1D7AA, 0x1D7C2, 0x1D7C4, 0x1D7CB, 0x1DF00, 0x1DF2A, 0x1E100, 0x1E12C,
725 0x1E14E, 0x1E14E, 0x1E290, 0x1E2AD, 0x1E2C0, 0x1E2EB, 0x1E4D0, 0x1E4EA,
726 0x1E7E0, 0x1E8C4, 0x1E900, 0x1E943, 0x1EE00, 0x1EEBB, 0x20000, 0x323AF,
727};
728
729#endif /* _XS_UNICODE_TBL_H */
730