source: icGREP/icgrep-devel/icgrep/UCD/CaseFolding.h @ 6134

Last change on this file since 6134 was 6134, checked in by cameron, 15 months ago

GetStringValue? method for string properties

File size: 50.9 KB
Line 
1#ifndef CASEFOLDING_H
2#define CASEFOLDING_H
3/*
4 *  Copyright (c) 2017 International Characters, Inc.
5 *  This software is licensed to the public under the Open Software License 3.0.
6 *  icgrep is a trademark of International Characters, Inc.
7 *
8 *  This file is generated by UCD_properties.py - manual edits may be lost.
9 */
10
11#include "PropertyAliases.h"
12#include "PropertyObjects.h"
13#include "PropertyValueAliases.h"
14#include "unicode_set.h"
15#include <vector>
16
17struct FoldEntry {
18    const UCD::codepoint_t range_lo;
19    const int fold_offset;
20    const std::vector<UCD::interval_t> fold_pairs;
21};
22
23UCD::UnicodeSet caseInsensitize(const UCD::UnicodeSet & cc);
24
25
26const int foldTableSize = 246;
27
28const FoldEntry foldTable[foldTableSize] = {
29  {0x0, 0, {}},
30  {0x41, 32, {{0x4b, 0x212a}, {0x53, 0x17f}}},
31  {0x5b, 0, {}},
32  {0x61, -32, {{0x6b, 0x212a}, {0x73, 0x17f}}},
33  {0x7b, 0, {{0xb5, 0x3bc}, {0xb5, 0x39c}}},
34  {0xc0, 32, {{0xc5, 0x212b}}},
35  {0xd7, 0, {}},
36  {0xd8, 32, {}},
37  {0xdf, 0, {{0xdf, 0x1e9e}}},
38  {0xe0, -32, {{0xe5, 0x212b}}},
39  {0xf7, 0, {}},
40  {0xf8, -32, {}},
41  {0xff, 0, {{0xff, 0x178}}},
42  {0x100, 1, {}},
43  {0x130, 0, {}},
44  {0x132, 1, {}},
45  {0x138, 0, {}},
46  {0x139, 1, {}},
47  {0x149, 0, {}},
48  {0x14a, 1, {}},
49  {0x178, 0, {{0x178, 0xff}}},
50  {0x179, 1, {}},
51  {0x17f, 0, {{0x17f, 0x73}, {0x17f, 0x53}, {0x180, 0x243}, {0x181, 0x253}}},
52  {0x182, 1, {}},
53  {0x186, 0, {{0x186, 0x254}}},
54  {0x187, 1, {}},
55  {0x189, 205, {}},
56  {0x18b, 1, {}},
57  {0x18d, 0, {{0x18e, 0x1dd}, {0x18f, 0x259}, {0x190, 0x25b}}},
58  {0x191, 1, {}},
59  {0x193, 0, {{0x193, 0x260}, {0x194, 0x263}, {0x195, 0x1f6}, {0x196, 0x269},
60    {0x197, 0x268}}},
61  {0x198, 1, {}},
62  {0x19a, 0, {{0x19a, 0x23d}, {0x19c, 0x26f}, {0x19d, 0x272}, {0x19e, 0x220},
63    {0x19f, 0x275}}},
64  {0x1a0, 1, {}},
65  {0x1a6, 0, {{0x1a6, 0x280}}},
66  {0x1a7, 1, {}},
67  {0x1a9, 0, {{0x1a9, 0x283}}},
68  {0x1ac, 1, {}},
69  {0x1ae, 0, {{0x1ae, 0x288}}},
70  {0x1af, 1, {}},
71  {0x1b1, 217, {}},
72  {0x1b3, 1, {}},
73  {0x1b7, 0, {{0x1b7, 0x292}}},
74  {0x1b8, 1, {}},
75  {0x1ba, 0, {}},
76  {0x1bc, 1, {}},
77  {0x1be, 0, {{0x1bf, 0x1f7}}},
78  {0x1c4, 1, {{0x1c4, 0x1c6}}},
79  {0x1c6, 0, {}},
80  {0x1c5, 1, {{0x1c6, 0x1c4}, {0x1c7, 0x1c9}}},
81  {0x1c9, 0, {}},
82  {0x1c8, 1, {{0x1c9, 0x1c7}, {0x1ca, 0x1cc}}},
83  {0x1cc, 0, {}},
84  {0x1cb, 1, {{0x1cc, 0x1ca}}},
85  {0x1dd, 0, {{0x1dd, 0x18e}}},
86  {0x1de, 1, {}},
87  {0x1f0, 0, {}},
88  {0x1f1, 1, {{0x1f1, 0x1f3}}},
89  {0x1f3, 0, {}},
90  {0x1f2, 1, {{0x1f3, 0x1f1}}},
91  {0x1f6, 0, {{0x1f6, 0x195}, {0x1f7, 0x1bf}}},
92  {0x1f8, 1, {}},
93  {0x220, 0, {{0x220, 0x19e}}},
94  {0x222, 1, {}},
95  {0x234, 0, {{0x23a, 0x2c65}}},
96  {0x23b, 1, {}},
97  {0x23d, 0, {{0x23d, 0x19a}, {0x23e, 0x2c66}}},
98  {0x23f, 10815, {}},
99  {0x241, 1, {}},
100  {0x243, 0, {{0x243, 0x180}, {0x244, 0x289}, {0x245, 0x28c}}},
101  {0x246, 1, {}},
102  {0x250, 0, {{0x250, 0x2c6f}, {0x251, 0x2c6d}, {0x252, 0x2c70}, {0x253, 0x181},
103    {0x254, 0x186}}},
104  {0x256, -205, {}},
105  {0x258, 0, {{0x259, 0x18f}, {0x25b, 0x190}, {0x25c, 0xa7ab}, {0x260, 0x193},
106    {0x261, 0xa7ac}, {0x263, 0x194}, {0x265, 0xa78d}, {0x266, 0xa7aa},
107    {0x268, 0x197}, {0x269, 0x196}, {0x26a, 0xa7ae}, {0x26b, 0x2c62},
108    {0x26c, 0xa7ad}, {0x26f, 0x19c}, {0x271, 0x2c6e}, {0x272, 0x19d},
109    {0x275, 0x19f}, {0x27d, 0x2c64}, {0x280, 0x1a6}, {0x283, 0x1a9},
110    {0x287, 0xa7b1}, {0x288, 0x1ae}, {0x289, 0x244}}},
111  {0x28a, -217, {}},
112  {0x28c, 0, {{0x28c, 0x245}, {0x292, 0x1b7}, {0x29d, 0xa7b2}, {0x29e, 0xa7b0},
113    {0x345, 0x3b9}, {0x345, 0x399}, {0x345, 0x1fbe}}},
114  {0x370, 1, {}},
115  {0x374, 0, {}},
116  {0x376, 1, {}},
117  {0x378, 0, {}},
118  {0x37b, 130, {}},
119  {0x37e, 0, {{0x37f, 0x3f3}, {0x386, 0x3ac}}},
120  {0x388, 37, {}},
121  {0x38b, 0, {{0x38c, 0x3cc}}},
122  {0x38e, 63, {}},
123  {0x390, 0, {}},
124  {0x391, 32, {{0x392, 0x3d0}, {0x395, 0x3f5}, {0x398, 0x3d1}, {0x398, 0x3f4},
125    {0x399, 0x345}, {0x399, 0x1fbe}, {0x39a, 0x3f0}, {0x39c, 0xb5},
126    {0x3a0, 0x3d6}, {0x3a1, 0x3f1}}},
127  {0x3a2, 0, {}},
128  {0x3a3, 32, {{0x3a3, 0x3c2}, {0x3a6, 0x3d5}, {0x3a9, 0x2126}}},
129  {0x3ac, 0, {{0x3ac, 0x386}}},
130  {0x3ad, -37, {}},
131  {0x3b0, 0, {}},
132  {0x3b1, -32, {{0x3b2, 0x3d0}, {0x3b5, 0x3f5}, {0x3b8, 0x3d1}, {0x3b8, 0x3f4},
133    {0x3b9, 0x345}, {0x3b9, 0x1fbe}, {0x3ba, 0x3f0}, {0x3bc, 0xb5},
134    {0x3c0, 0x3d6}, {0x3c1, 0x3f1}}},
135  {0x3c2, 1, {{0x3c2, 0x3a3}}},
136  {0x3c4, 0, {}},
137  {0x3c3, -32, {{0x3c6, 0x3d5}, {0x3c9, 0x2126}}},
138  {0x3cc, 0, {{0x3cc, 0x38c}}},
139  {0x3cd, -63, {}},
140  {0x3cf, 0, {{0x3cf, 0x3d7}, {0x3d0, 0x3b2}, {0x3d0, 0x392}, {0x3d1, 0x3b8},
141    {0x3d1, 0x398}, {0x3d1, 0x3f4}, {0x3d5, 0x3c6}, {0x3d5, 0x3a6},
142    {0x3d6, 0x3c0}, {0x3d6, 0x3a0}, {0x3d7, 0x3cf}}},
143  {0x3d8, 1, {}},
144  {0x3f0, 0, {{0x3f0, 0x3ba}, {0x3f0, 0x39a}, {0x3f1, 0x3c1}, {0x3f1, 0x3a1},
145    {0x3f2, 0x3f9}, {0x3f3, 0x37f}, {0x3f4, 0x3b8}, {0x3f4, 0x398},
146    {0x3f4, 0x3d1}, {0x3f5, 0x3b5}, {0x3f5, 0x395}}},
147  {0x3f7, 1, {}},
148  {0x3f9, 0, {{0x3f9, 0x3f2}}},
149  {0x3fa, 1, {}},
150  {0x3fc, 0, {}},
151  {0x3fd, -130, {}},
152  {0x400, 80, {}},
153  {0x410, 0, {{0x412, 0x1c80}, {0x414, 0x1c81}, {0x41e, 0x1c82}}},
154  {0x421, 6242, {{0x422, 0x1c85}}},
155  {0x423, 0, {{0x42a, 0x1c86}, {0x432, 0x1c80}, {0x434, 0x1c81}, {0x43e, 0x1c82}}},
156  {0x441, 6210, {{0x442, 0x1c85}}},
157  {0x443, 0, {}},
158  {0x410, 32, {{0x412, 0x1c80}, {0x414, 0x1c81}, {0x41e, 0x1c82}, {0x422, 0x1c85},
159    {0x42a, 0x1c86}, {0x432, 0x1c80}, {0x434, 0x1c81}, {0x43e, 0x1c82},
160    {0x442, 0x1c85}, {0x44a, 0x1c86}}},
161  {0x450, -80, {}},
162  {0x460, 1, {{0x462, 0x1c87}, {0x463, 0x1c87}}},
163  {0x482, 0, {}},
164  {0x48a, 1, {}},
165  {0x4c0, 0, {{0x4c0, 0x4cf}}},
166  {0x4c1, 1, {}},
167  {0x4cf, 0, {{0x4cf, 0x4c0}}},
168  {0x4d0, 1, {}},
169  {0x530, 0, {}},
170  {0x531, 48, {}},
171  {0x557, 0, {}},
172  {0x561, -48, {}},
173  {0x587, 0, {}},
174  {0x10a0, 7264, {}},
175  {0x10c6, 0, {{0x10c7, 0x2d27}, {0x10cd, 0x2d2d}}},
176  {0x13a0, 38864, {}},
177  {0x13f0, 8, {}},
178  {0x13f6, 0, {}},
179  {0x13f8, -8, {}},
180  {0x13fe, 0, {{0x1c80, 0x432}, {0x1c80, 0x412}, {0x1c81, 0x434}, {0x1c81, 0x414},
181    {0x1c82, 0x43e}, {0x1c82, 0x41e}}},
182  {0x1c83, -6210, {}},
183  {0x1c85, 0, {}},
184  {0x1c83, -6242, {}},
185  {0x1c85, 0, {}},
186  {0x1c84, 1, {{0x1c85, 0x442}, {0x1c85, 0x422}}},
187  {0x1c86, 0, {{0x1c86, 0x44a}, {0x1c86, 0x42a}, {0x1c87, 0x463}, {0x1c87, 0x462},
188    {0x1c88, 0xa64b}, {0x1c88, 0xa64a}, {0x1d79, 0xa77d}, {0x1d7d, 0x2c63}}},
189  {0x1e00, 1, {{0x1e60, 0x1e9b}, {0x1e61, 0x1e9b}}},
190  {0x1e96, 0, {{0x1e9b, 0x1e61}, {0x1e9b, 0x1e60}, {0x1e9e, 0xdf}}},
191  {0x1ea0, 1, {}},
192  {0x1f00, 8, {}},
193  {0x1f16, 0, {}},
194  {0x1f18, -8, {}},
195  {0x1f1e, 0, {}},
196  {0x1f20, 8, {}},
197  {0x1f46, 0, {}},
198  {0x1f48, -8, {}},
199  {0x1f4e, 0, {{0x1f51, 0x1f59}, {0x1f53, 0x1f5b}, {0x1f55, 0x1f5d}, {0x1f57, 0x1f5f},
200    {0x1f59, 0x1f51}, {0x1f5b, 0x1f53}, {0x1f5d, 0x1f55}, {0x1f5f, 0x1f57}}},
201  {0x1f60, 8, {}},
202  {0x1f70, 74, {}},
203  {0x1f72, 86, {}},
204  {0x1f76, 100, {}},
205  {0x1f78, 128, {}},
206  {0x1f7a, 112, {}},
207  {0x1f7c, 126, {}},
208  {0x1f7e, 0, {}},
209  {0x1f80, 8, {}},
210  {0x1fb2, 0, {{0x1fb3, 0x1fbc}}},
211  {0x1fb8, -8, {}},
212  {0x1fba, -74, {}},
213  {0x1fbc, 0, {{0x1fbc, 0x1fb3}, {0x1fbe, 0x3b9}, {0x1fbe, 0x345}, {0x1fbe, 0x399},
214    {0x1fc3, 0x1fcc}}},
215  {0x1fc8, -86, {}},
216  {0x1fcc, 0, {{0x1fcc, 0x1fc3}}},
217  {0x1fd0, 8, {}},
218  {0x1fd2, 0, {}},
219  {0x1fd8, -8, {}},
220  {0x1fda, -100, {}},
221  {0x1fdc, 0, {}},
222  {0x1fe0, 8, {}},
223  {0x1fe2, 0, {{0x1fe5, 0x1fec}}},
224  {0x1fe8, -8, {}},
225  {0x1fea, -112, {}},
226  {0x1fec, 0, {{0x1fec, 0x1fe5}, {0x1ff3, 0x1ffc}}},
227  {0x1ff8, -128, {}},
228  {0x1ffa, -126, {}},
229  {0x1ffc, 0, {{0x1ffc, 0x1ff3}, {0x2126, 0x3c9}, {0x2126, 0x3a9}, {0x212a, 0x6b},
230    {0x212a, 0x4b}, {0x212b, 0xe5}, {0x212b, 0xc5}, {0x2132, 0x214e},
231    {0x214e, 0x2132}}},
232  {0x2160, 16, {}},
233  {0x2180, 0, {}},
234  {0x2183, 1, {}},
235  {0x2185, 0, {}},
236  {0x24b6, 26, {}},
237  {0x24ea, 0, {}},
238  {0x2c00, 48, {}},
239  {0x2c2f, 0, {}},
240  {0x2c30, -48, {}},
241  {0x2c5f, 0, {}},
242  {0x2c60, 1, {}},
243  {0x2c62, 0, {{0x2c62, 0x26b}, {0x2c63, 0x1d7d}, {0x2c64, 0x27d}, {0x2c65, 0x23a},
244    {0x2c66, 0x23e}}},
245  {0x2c67, 1, {}},
246  {0x2c6d, 0, {{0x2c6d, 0x251}, {0x2c6e, 0x271}, {0x2c6f, 0x250}, {0x2c70, 0x252}}},
247  {0x2c72, 1, {}},
248  {0x2c74, 0, {}},
249  {0x2c75, 1, {}},
250  {0x2c77, 0, {}},
251  {0x2c7e, -10815, {}},
252  {0x2c80, 1, {}},
253  {0x2ce4, 0, {}},
254  {0x2ceb, 1, {}},
255  {0x2cef, 0, {}},
256  {0x2cf2, 1, {}},
257  {0x2cf4, 0, {}},
258  {0x2d00, -7264, {}},
259  {0x2d26, 0, {{0x2d27, 0x10c7}, {0x2d2d, 0x10cd}}},
260  {0xa640, 1, {{0xa64a, 0x1c88}, {0xa64b, 0x1c88}}},
261  {0xa66e, 0, {}},
262  {0xa680, 1, {}},
263  {0xa69c, 0, {}},
264  {0xa722, 1, {}},
265  {0xa730, 0, {}},
266  {0xa732, 1, {}},
267  {0xa770, 0, {}},
268  {0xa779, 1, {}},
269  {0xa77d, 0, {{0xa77d, 0x1d79}}},
270  {0xa77e, 1, {}},
271  {0xa788, 0, {}},
272  {0xa78b, 1, {}},
273  {0xa78d, 0, {{0xa78d, 0x265}}},
274  {0xa790, 1, {}},
275  {0xa794, 0, {}},
276  {0xa796, 1, {}},
277  {0xa7aa, 0, {{0xa7aa, 0x266}, {0xa7ab, 0x25c}, {0xa7ac, 0x261}, {0xa7ad, 0x26c},
278    {0xa7ae, 0x26a}, {0xa7b0, 0x29e}, {0xa7b1, 0x287}, {0xa7b2, 0x29d},
279    {0xa7b3, 0xab53}}},
280  {0xa7b4, 1, {}},
281  {0xa7b8, 0, {{0xab53, 0xa7b3}}},
282  {0xab70, -38864, {}},
283  {0xabc0, 0, {}},
284  {0xff21, 32, {}},
285  {0xff3b, 0, {}},
286  {0xff41, -32, {}},
287  {0xff5b, 0, {}},
288  {0x10400, 40, {}},
289  {0x10450, 0, {}},
290  {0x104b0, 40, {}},
291  {0x104d4, 0, {}},
292  {0x104d8, -40, {}},
293  {0x104fc, 0, {}},
294  {0x10c80, 64, {}},
295  {0x10cb3, 0, {}},
296  {0x10cc0, -64, {}},
297  {0x10cf3, 0, {}},
298  {0x118a0, 32, {}},
299  {0x118e0, 0, {}},
300  {0x1e900, 34, {}},
301  {0x1e944, 0, {}},
302  {0x110000, 0, {}}};
303namespace UCD {
304    namespace SCF_ns {
305        /** Code Point Ranges for scf mapping to <none>
306        **/
307       
308       
309        namespace {
310        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
311        {Empty, 34816}};
312        const static UnicodeSet::bitquad_t * const __null_codepoint_set_quads = nullptr;
313        }
314
315        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 0, 0};
316
317
318
319        /** Code Point Ranges for scf mapping to <codepoint>
320        [0000, 0040], [005b, 00b4], [00b6, 00bf], [00d7, 00d7],
321        [00df, 00ff], [0101, 0101], [0103, 0103], [0105, 0105],
322        [0107, 0107], [0109, 0109], [010b, 010b], [010d, 010d],
323        [010f, 010f], [0111, 0111], [0113, 0113], [0115, 0115],
324        [0117, 0117], [0119, 0119], [011b, 011b], [011d, 011d],
325        [011f, 011f], [0121, 0121], [0123, 0123], [0125, 0125],
326        [0127, 0127], [0129, 0129], [012b, 012b], [012d, 012d],
327        [012f, 0131], [0133, 0133], [0135, 0135], [0137, 0138],
328        [013a, 013a], [013c, 013c], [013e, 013e], [0140, 0140],
329        [0142, 0142], [0144, 0144], [0146, 0146], [0148, 0149],
330        [014b, 014b], [014d, 014d], [014f, 014f], [0151, 0151],
331        [0153, 0153], [0155, 0155], [0157, 0157], [0159, 0159],
332        [015b, 015b], [015d, 015d], [015f, 015f], [0161, 0161],
333        [0163, 0163], [0165, 0165], [0167, 0167], [0169, 0169],
334        [016b, 016b], [016d, 016d], [016f, 016f], [0171, 0171],
335        [0173, 0173], [0175, 0175], [0177, 0177], [017a, 017a],
336        [017c, 017c], [017e, 017e], [0180, 0180], [0183, 0183],
337        [0185, 0185], [0188, 0188], [018c, 018d], [0192, 0192],
338        [0195, 0195], [0199, 019b], [019e, 019e], [01a1, 01a1],
339        [01a3, 01a3], [01a5, 01a5], [01a8, 01a8], [01aa, 01ab],
340        [01ad, 01ad], [01b0, 01b0], [01b4, 01b4], [01b6, 01b6],
341        [01b9, 01bb], [01bd, 01c3], [01c6, 01c6], [01c9, 01c9],
342        [01cc, 01cc], [01ce, 01ce], [01d0, 01d0], [01d2, 01d2],
343        [01d4, 01d4], [01d6, 01d6], [01d8, 01d8], [01da, 01da],
344        [01dc, 01dd], [01df, 01df], [01e1, 01e1], [01e3, 01e3],
345        [01e5, 01e5], [01e7, 01e7], [01e9, 01e9], [01eb, 01eb],
346        [01ed, 01ed], [01ef, 01f0], [01f3, 01f3], [01f5, 01f5],
347        [01f9, 01f9], [01fb, 01fb], [01fd, 01fd], [01ff, 01ff],
348        [0201, 0201], [0203, 0203], [0205, 0205], [0207, 0207],
349        [0209, 0209], [020b, 020b], [020d, 020d], [020f, 020f],
350        [0211, 0211], [0213, 0213], [0215, 0215], [0217, 0217],
351        [0219, 0219], [021b, 021b], [021d, 021d], [021f, 021f],
352        [0221, 0221], [0223, 0223], [0225, 0225], [0227, 0227],
353        [0229, 0229], [022b, 022b], [022d, 022d], [022f, 022f],
354        [0231, 0231], [0233, 0239], [023c, 023c], [023f, 0240],
355        [0242, 0242], [0247, 0247], [0249, 0249], [024b, 024b],
356        [024d, 024d], [024f, 0344], [0346, 036f], [0371, 0371],
357        [0373, 0375], [0377, 037e], [0380, 0385], [0387, 0387],
358        [038b, 038b], [038d, 038d], [0390, 0390], [03a2, 03a2],
359        [03ac, 03c1], [03c3, 03ce], [03d2, 03d4], [03d7, 03d7],
360        [03d9, 03d9], [03db, 03db], [03dd, 03dd], [03df, 03df],
361        [03e1, 03e1], [03e3, 03e3], [03e5, 03e5], [03e7, 03e7],
362        [03e9, 03e9], [03eb, 03eb], [03ed, 03ed], [03ef, 03ef],
363        [03f2, 03f3], [03f6, 03f6], [03f8, 03f8], [03fb, 03fc],
364        [0430, 045f], [0461, 0461], [0463, 0463], [0465, 0465],
365        [0467, 0467], [0469, 0469], [046b, 046b], [046d, 046d],
366        [046f, 046f], [0471, 0471], [0473, 0473], [0475, 0475],
367        [0477, 0477], [0479, 0479], [047b, 047b], [047d, 047d],
368        [047f, 047f], [0481, 0489], [048b, 048b], [048d, 048d],
369        [048f, 048f], [0491, 0491], [0493, 0493], [0495, 0495],
370        [0497, 0497], [0499, 0499], [049b, 049b], [049d, 049d],
371        [049f, 049f], [04a1, 04a1], [04a3, 04a3], [04a5, 04a5],
372        [04a7, 04a7], [04a9, 04a9], [04ab, 04ab], [04ad, 04ad],
373        [04af, 04af], [04b1, 04b1], [04b3, 04b3], [04b5, 04b5],
374        [04b7, 04b7], [04b9, 04b9], [04bb, 04bb], [04bd, 04bd],
375        [04bf, 04bf], [04c2, 04c2], [04c4, 04c4], [04c6, 04c6],
376        [04c8, 04c8], [04ca, 04ca], [04cc, 04cc], [04ce, 04cf],
377        [04d1, 04d1], [04d3, 04d3], [04d5, 04d5], [04d7, 04d7],
378        [04d9, 04d9], [04db, 04db], [04dd, 04dd], [04df, 04df],
379        [04e1, 04e1], [04e3, 04e3], [04e5, 04e5], [04e7, 04e7],
380        [04e9, 04e9], [04eb, 04eb], [04ed, 04ed], [04ef, 04ef],
381        [04f1, 04f1], [04f3, 04f3], [04f5, 04f5], [04f7, 04f7],
382        [04f9, 04f9], [04fb, 04fb], [04fd, 04fd], [04ff, 04ff],
383        [0501, 0501], [0503, 0503], [0505, 0505], [0507, 0507],
384        [0509, 0509], [050b, 050b], [050d, 050d], [050f, 050f],
385        [0511, 0511], [0513, 0513], [0515, 0515], [0517, 0517],
386        [0519, 0519], [051b, 051b], [051d, 051d], [051f, 051f],
387        [0521, 0521], [0523, 0523], [0525, 0525], [0527, 0527],
388        [0529, 0529], [052b, 052b], [052d, 052d], [052f, 0530],
389        [0557, 109f], [10c6, 10c6], [10c8, 10cc], [10ce, 13f7],
390        [13fe, 1c7f], [1c89, 1dff], [1e01, 1e01], [1e03, 1e03],
391        [1e05, 1e05], [1e07, 1e07], [1e09, 1e09], [1e0b, 1e0b],
392        [1e0d, 1e0d], [1e0f, 1e0f], [1e11, 1e11], [1e13, 1e13],
393        [1e15, 1e15], [1e17, 1e17], [1e19, 1e19], [1e1b, 1e1b],
394        [1e1d, 1e1d], [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23],
395        [1e25, 1e25], [1e27, 1e27], [1e29, 1e29], [1e2b, 1e2b],
396        [1e2d, 1e2d], [1e2f, 1e2f], [1e31, 1e31], [1e33, 1e33],
397        [1e35, 1e35], [1e37, 1e37], [1e39, 1e39], [1e3b, 1e3b],
398        [1e3d, 1e3d], [1e3f, 1e3f], [1e41, 1e41], [1e43, 1e43],
399        [1e45, 1e45], [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b],
400        [1e4d, 1e4d], [1e4f, 1e4f], [1e51, 1e51], [1e53, 1e53],
401        [1e55, 1e55], [1e57, 1e57], [1e59, 1e59], [1e5b, 1e5b],
402        [1e5d, 1e5d], [1e5f, 1e5f], [1e61, 1e61], [1e63, 1e63],
403        [1e65, 1e65], [1e67, 1e67], [1e69, 1e69], [1e6b, 1e6b],
404        [1e6d, 1e6d], [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73],
405        [1e75, 1e75], [1e77, 1e77], [1e79, 1e79], [1e7b, 1e7b],
406        [1e7d, 1e7d], [1e7f, 1e7f], [1e81, 1e81], [1e83, 1e83],
407        [1e85, 1e85], [1e87, 1e87], [1e89, 1e89], [1e8b, 1e8b],
408        [1e8d, 1e8d], [1e8f, 1e8f], [1e91, 1e91], [1e93, 1e93],
409        [1e95, 1e9a], [1e9c, 1e9d], [1e9f, 1e9f], [1ea1, 1ea1],
410        [1ea3, 1ea3], [1ea5, 1ea5], [1ea7, 1ea7], [1ea9, 1ea9],
411        [1eab, 1eab], [1ead, 1ead], [1eaf, 1eaf], [1eb1, 1eb1],
412        [1eb3, 1eb3], [1eb5, 1eb5], [1eb7, 1eb7], [1eb9, 1eb9],
413        [1ebb, 1ebb], [1ebd, 1ebd], [1ebf, 1ebf], [1ec1, 1ec1],
414        [1ec3, 1ec3], [1ec5, 1ec5], [1ec7, 1ec7], [1ec9, 1ec9],
415        [1ecb, 1ecb], [1ecd, 1ecd], [1ecf, 1ecf], [1ed1, 1ed1],
416        [1ed3, 1ed3], [1ed5, 1ed5], [1ed7, 1ed7], [1ed9, 1ed9],
417        [1edb, 1edb], [1edd, 1edd], [1edf, 1edf], [1ee1, 1ee1],
418        [1ee3, 1ee3], [1ee5, 1ee5], [1ee7, 1ee7], [1ee9, 1ee9],
419        [1eeb, 1eeb], [1eed, 1eed], [1eef, 1eef], [1ef1, 1ef1],
420        [1ef3, 1ef3], [1ef5, 1ef5], [1ef7, 1ef7], [1ef9, 1ef9],
421        [1efb, 1efb], [1efd, 1efd], [1eff, 1f07], [1f10, 1f17],
422        [1f1e, 1f27], [1f30, 1f37], [1f40, 1f47], [1f4e, 1f58],
423        [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e], [1f60, 1f67],
424        [1f70, 1f87], [1f90, 1f97], [1fa0, 1fa7], [1fb0, 1fb7],
425        [1fbd, 1fbd], [1fbf, 1fc7], [1fcd, 1fd7], [1fdc, 1fe7],
426        [1fed, 1ff7], [1ffd, 2125], [2127, 2129], [212c, 2131],
427        [2133, 215f], [2170, 2182], [2184, 24b5], [24d0, 2bff],
428        [2c2f, 2c5f], [2c61, 2c61], [2c65, 2c66], [2c68, 2c68],
429        [2c6a, 2c6a], [2c6c, 2c6c], [2c71, 2c71], [2c73, 2c74],
430        [2c76, 2c7d], [2c81, 2c81], [2c83, 2c83], [2c85, 2c85],
431        [2c87, 2c87], [2c89, 2c89], [2c8b, 2c8b], [2c8d, 2c8d],
432        [2c8f, 2c8f], [2c91, 2c91], [2c93, 2c93], [2c95, 2c95],
433        [2c97, 2c97], [2c99, 2c99], [2c9b, 2c9b], [2c9d, 2c9d],
434        [2c9f, 2c9f], [2ca1, 2ca1], [2ca3, 2ca3], [2ca5, 2ca5],
435        [2ca7, 2ca7], [2ca9, 2ca9], [2cab, 2cab], [2cad, 2cad],
436        [2caf, 2caf], [2cb1, 2cb1], [2cb3, 2cb3], [2cb5, 2cb5],
437        [2cb7, 2cb7], [2cb9, 2cb9], [2cbb, 2cbb], [2cbd, 2cbd],
438        [2cbf, 2cbf], [2cc1, 2cc1], [2cc3, 2cc3], [2cc5, 2cc5],
439        [2cc7, 2cc7], [2cc9, 2cc9], [2ccb, 2ccb], [2ccd, 2ccd],
440        [2ccf, 2ccf], [2cd1, 2cd1], [2cd3, 2cd3], [2cd5, 2cd5],
441        [2cd7, 2cd7], [2cd9, 2cd9], [2cdb, 2cdb], [2cdd, 2cdd],
442        [2cdf, 2cdf], [2ce1, 2ce1], [2ce3, 2cea], [2cec, 2cec],
443        [2cee, 2cf1], [2cf3, a63f], [a641, a641], [a643, a643],
444        [a645, a645], [a647, a647], [a649, a649], [a64b, a64b],
445        [a64d, a64d], [a64f, a64f], [a651, a651], [a653, a653],
446        [a655, a655], [a657, a657], [a659, a659], [a65b, a65b],
447        [a65d, a65d], [a65f, a65f], [a661, a661], [a663, a663],
448        [a665, a665], [a667, a667], [a669, a669], [a66b, a66b],
449        [a66d, a67f], [a681, a681], [a683, a683], [a685, a685],
450        [a687, a687], [a689, a689], [a68b, a68b], [a68d, a68d],
451        [a68f, a68f], [a691, a691], [a693, a693], [a695, a695],
452        [a697, a697], [a699, a699], [a69b, a721], [a723, a723],
453        [a725, a725], [a727, a727], [a729, a729], [a72b, a72b],
454        [a72d, a72d], [a72f, a731], [a733, a733], [a735, a735],
455        [a737, a737], [a739, a739], [a73b, a73b], [a73d, a73d],
456        [a73f, a73f], [a741, a741], [a743, a743], [a745, a745],
457        [a747, a747], [a749, a749], [a74b, a74b], [a74d, a74d],
458        [a74f, a74f], [a751, a751], [a753, a753], [a755, a755],
459        [a757, a757], [a759, a759], [a75b, a75b], [a75d, a75d],
460        [a75f, a75f], [a761, a761], [a763, a763], [a765, a765],
461        [a767, a767], [a769, a769], [a76b, a76b], [a76d, a76d],
462        [a76f, a778], [a77a, a77a], [a77c, a77c], [a77f, a77f],
463        [a781, a781], [a783, a783], [a785, a785], [a787, a78a],
464        [a78c, a78c], [a78e, a78f], [a791, a791], [a793, a795],
465        [a797, a797], [a799, a799], [a79b, a79b], [a79d, a79d],
466        [a79f, a79f], [a7a1, a7a1], [a7a3, a7a3], [a7a5, a7a5],
467        [a7a7, a7a7], [a7a9, a7a9], [a7af, a7af], [a7b5, a7b5],
468        [a7b7, ab6f], [abc0, ff20], [ff3b, 103ff], [10428, 104af],
469        [104d4, 10c7f], [10cb3, 1189f], [118c0, 1e8ff], [1e922, 10ffff]**/
470       
471       
472        namespace {
473        const static UnicodeSet::run_t __reflexive_set_runs[] = {
474        {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1},
475        {Mixed, 11}, {Full, 7}, {Mixed, 6}, {Empty, 1}, {Mixed, 1},
476        {Full, 1}, {Mixed, 8}, {Full, 90}, {Empty, 1}, {Mixed, 1},
477        {Full, 24}, {Mixed, 1}, {Full, 68}, {Mixed, 1}, {Full, 11},
478        {Mixed, 16}, {Full, 9}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
479        {Full, 24}, {Mixed, 2}, {Full, 57}, {Empty, 1}, {Mixed, 1},
480        {Full, 1}, {Mixed, 5}, {Full, 970}, {Mixed, 3}, {Full, 4},
481        {Mixed, 5}, {Full, 29}, {Mixed, 1}, {Empty, 2}, {Full, 667},
482        {Mixed, 1}, {Full, 38}, {Empty, 1}, {Mixed, 1}, {Full, 3},
483        {Mixed, 2}, {Full, 61}, {Empty, 1}, {Mixed, 1}, {Full, 95},
484        {Empty, 1}, {Full, 1666}, {Empty, 1}, {Mixed, 1}, {Full, 30902}};
485        const static UnicodeSet::bitquad_t  __reflexive_set_quads[] = {
486        0xf8000001, 0xffdfffff, 0x80800000, 0xaaaaaaaa, 0x55abaaaa,
487        0xaaaaab55, 0x54aaaaaa, 0x4e243129, 0xee512d2a, 0xb555524f,
488        0xaa29aaaa, 0xaaaaaaaa, 0x93faaaaa, 0xffffaa85, 0xffffffdf,
489        0x7fbaffff, 0x000128bf, 0xfffff004, 0xaa9c7ffb, 0x194caaaa,
490        0xffff0000, 0xaaaaaaaa, 0xaaaaabfe, 0xaaaaaaaa, 0xaaaad554,
491        0xaaaaaaaa, 0xaaaaaaaa, 0x0001aaaa, 0xff800000, 0xffffdf40,
492        0xc0ffffff, 0xfffffe00, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
493        0xaaaaaaaa, 0xb7eaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
494        0xc0ff00ff, 0x00ff00ff, 0x55ffc0ff, 0xffff00ff, 0x00ff00ff,
495        0xa0ff00ff, 0xf0ffe0ff, 0xe0ffe0ff, 0xfffbf3bf, 0xffff0000,
496        0xfffffff7, 0x003fffff, 0xffff0000, 0xffff8000, 0x3fda1562,
497        0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xfffbd7fa, 0xaaaaaaaa,
498        0xffffeaaa, 0xfaaaaaaa, 0xaaabaaab, 0xaaaaaaaa, 0x95ffaaaa,
499        0xaabad7aa, 0xffa082aa, 0x0000ffff, 0xf8000001, 0xffffff00,
500        0x0000ffff, 0xfff00000, 0xfff80000, 0xfffffffc};
501        }
502
503        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 55, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 74, 0};
504
505
506
507        const static std::vector<unsigned> buffer_offsets = {
508        0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34,
509        36, 38, 40, 42, 44, 46, 48, 50, 52, 55, 58, 61, 64, 67, 70, 73, 76,
510        79, 82, 85, 88, 91, 94, 97, 100, 103, 106, 109, 112, 115, 118, 121,
511        124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, 160,
512        163, 166, 169, 172, 175, 178, 181, 184, 187, 190, 193, 196, 199,
513        202, 205, 208, 211, 214, 217, 220, 223, 226, 229, 232, 235, 238,
514        241, 244, 247, 250, 253, 256, 259, 262, 265, 268, 271, 274, 277,
515        280, 283, 286, 289, 292, 295, 298, 301, 304, 307, 310, 313, 316,
516        319, 322, 325, 328, 331, 333, 336, 339, 342, 345, 348, 351, 354,
517        357, 360, 363, 366, 369, 372, 375, 378, 381, 384, 387, 390, 393,
518        396, 399, 402, 405, 408, 411, 414, 417, 420, 423, 426, 429, 432,
519        435, 438, 441, 444, 447, 450, 453, 456, 459, 462, 465, 468, 471,
520        474, 477, 480, 483, 486, 489, 492, 495, 498, 501, 504, 507, 510,
521        513, 516, 519, 522, 525, 528, 531, 534, 537, 540, 543, 546, 549,
522        552, 555, 558, 561, 564, 567, 570, 573, 576, 579, 582, 585, 588,
523        591, 594, 597, 600, 603, 606, 609, 612, 615, 619, 622, 625, 629,
524        632, 635, 638, 641, 644, 647, 650, 653, 656, 659, 662, 665, 668,
525        671, 674, 677, 680, 683, 686, 689, 692, 695, 698, 701, 704, 707,
526        710, 713, 716, 719, 722, 725, 728, 731, 734, 737, 740, 743, 746,
527        749, 752, 755, 758, 761, 764, 767, 770, 773, 776, 779, 782, 785,
528        788, 791, 794, 797, 800, 803, 806, 809, 812, 815, 818, 821, 824,
529        827, 830, 833, 836, 839, 842, 845, 848, 851, 854, 857, 860, 863,
530        866, 869, 872, 875, 878, 881, 884, 887, 890, 893, 896, 899, 902,
531        905, 908, 911, 914, 917, 920, 923, 926, 929, 932, 935, 938, 941,
532        944, 947, 950, 953, 956, 959, 962, 965, 968, 971, 974, 977, 980,
533        983, 986, 989, 992, 995, 998, 1001, 1004, 1007, 1010, 1013, 1016,
534        1019, 1022, 1025, 1028, 1031, 1034, 1037, 1040, 1043, 1046, 1049,
535        1052, 1055, 1058, 1061, 1064, 1067, 1070, 1073, 1076, 1079, 1082,
536        1085, 1088, 1091, 1094, 1097, 1100, 1103, 1106, 1109, 1112, 1115,
537        1118, 1121, 1124, 1127, 1130, 1133, 1136, 1139, 1142, 1145, 1148,
538        1151, 1154, 1157, 1160, 1163, 1166, 1169, 1172, 1175, 1178, 1181,
539        1184, 1187, 1190, 1193, 1196, 1199, 1202, 1205, 1208, 1211, 1214,
540        1217, 1220, 1223, 1226, 1229, 1232, 1235, 1238, 1241, 1244, 1247,
541        1250, 1253, 1256, 1259, 1262, 1265, 1268, 1271, 1274, 1277, 1280,
542        1283, 1286, 1289, 1292, 1295, 1298, 1301, 1304, 1307, 1310, 1313,
543        1316, 1319, 1322, 1325, 1328, 1331, 1334, 1337, 1340, 1343, 1346,
544        1349, 1352, 1355, 1358, 1361, 1364, 1367, 1370, 1373, 1376, 1379,
545        1382, 1385, 1388, 1391, 1394, 1397, 1400, 1403, 1406, 1409, 1412,
546        1416, 1420, 1424, 1428, 1432, 1436, 1440, 1444, 1448, 1452, 1456,
547        1460, 1464, 1468, 1472, 1476, 1480, 1484, 1488, 1492, 1496, 1500,
548        1504, 1508, 1512, 1516, 1520, 1524, 1528, 1532, 1536, 1540, 1544,
549        1548, 1552, 1556, 1560, 1564, 1568, 1572, 1576, 1580, 1584, 1588,
550        1592, 1596, 1599, 1602, 1605, 1608, 1611, 1614, 1617, 1620, 1624,
551        1628, 1632, 1636, 1640, 1644, 1648, 1652, 1656, 1660, 1664, 1668,
552        1672, 1676, 1680, 1684, 1688, 1692, 1696, 1700, 1704, 1708, 1712,
553        1716, 1720, 1724, 1728, 1732, 1736, 1740, 1744, 1748, 1752, 1756,
554        1760, 1764, 1768, 1772, 1776, 1780, 1784, 1788, 1792, 1796, 1800,
555        1804, 1808, 1812, 1816, 1820, 1824, 1828, 1832, 1836, 1840, 1844,
556        1848, 1852, 1856, 1860, 1864, 1868, 1872, 1876, 1880, 1884, 1888,
557        1892, 1896, 1900, 1904, 1908, 1912, 1916, 1920, 1924, 1928, 1931,
558        1935, 1939, 1943, 1947, 1951, 1955, 1959, 1963, 1967, 1971, 1975,
559        1979, 1983, 1987, 1991, 1995, 1999, 2003, 2007, 2011, 2015, 2019,
560        2023, 2027, 2031, 2035, 2039, 2043, 2047, 2051, 2055, 2059, 2063,
561        2067, 2071, 2075, 2079, 2083, 2087, 2091, 2095, 2099, 2103, 2107,
562        2111, 2115, 2119, 2123, 2127, 2131, 2135, 2139, 2143, 2147, 2151,
563        2155, 2159, 2163, 2167, 2171, 2175, 2179, 2183, 2187, 2191, 2195,
564        2199, 2203, 2207, 2211, 2215, 2219, 2223, 2227, 2231, 2235, 2239,
565        2243, 2247, 2251, 2255, 2259, 2263, 2267, 2271, 2275, 2279, 2283,
566        2287, 2291, 2295, 2299, 2303, 2307, 2311, 2315, 2319, 2323, 2327,
567        2331, 2335, 2339, 2343, 2347, 2351, 2355, 2359, 2363, 2367, 2371,
568        2375, 2379, 2383, 2387, 2391, 2395, 2399, 2403, 2407, 2411, 2415,
569        2419, 2423, 2427, 2431, 2434, 2438, 2442, 2446, 2450, 2454, 2458,
570        2462, 2466, 2470, 2474, 2478, 2482, 2486, 2490, 2494, 2498, 2502,
571        2506, 2510, 2513, 2515, 2518, 2522, 2526, 2530, 2534, 2538, 2542,
572        2546, 2550, 2554, 2558, 2562, 2566, 2570, 2574, 2578, 2582, 2586,
573        2590, 2594, 2598, 2602, 2606, 2610, 2614, 2618, 2622, 2626, 2630,
574        2634, 2638, 2642, 2646, 2650, 2654, 2658, 2662, 2666, 2670, 2674,
575        2678, 2682, 2686, 2690, 2694, 2698, 2702, 2706, 2710, 2714, 2718,
576        2722, 2726, 2730, 2734, 2738, 2742, 2746, 2750, 2754, 2758, 2762,
577        2766, 2770, 2774, 2778, 2782, 2786, 2790, 2794, 2798, 2802, 2806,
578        2810, 2814, 2818, 2822, 2826, 2830, 2834, 2838, 2842, 2846, 2850,
579        2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, 2886, 2889, 2893,
580        2896, 2900, 2904, 2908, 2911, 2914, 2917, 2920, 2924, 2928, 2931,
581        2934, 2938, 2942, 2946, 2950, 2954, 2958, 2962, 2966, 2970, 2974,
582        2978, 2982, 2986, 2990, 2994, 2998, 3002, 3006, 3010, 3014, 3018,
583        3022, 3026, 3030, 3034, 3038, 3042, 3046, 3050, 3054, 3058, 3062,
584        3066, 3070, 3074, 3078, 3082, 3086, 3090, 3094, 3098, 3102, 3106,
585        3110, 3114, 3118, 3122, 3126, 3130, 3134, 3138, 3142, 3146, 3150,
586        3154, 3158, 3162, 3166, 3170, 3174, 3178, 3182, 3186, 3190, 3194,
587        3198, 3202, 3206, 3210, 3214, 3218, 3222, 3226, 3230, 3234, 3238,
588        3242, 3246, 3250, 3254, 3258, 3262, 3266, 3270, 3274, 3278, 3282,
589        3286, 3290, 3294, 3298, 3302, 3306, 3310, 3314, 3318, 3322, 3326,
590        3330, 3334, 3338, 3342, 3346, 3350, 3354, 3358, 3362, 3366, 3370,
591        3374, 3378, 3382, 3386, 3390, 3394, 3398, 3402, 3406, 3410, 3414,
592        3418, 3422, 3426, 3430, 3434, 3438, 3442, 3446, 3450, 3454, 3458,
593        3462, 3466, 3470, 3474, 3478, 3482, 3485, 3489, 3493, 3497, 3501,
594        3505, 3509, 3513, 3517, 3521, 3525, 3529, 3533, 3536, 3539, 3542,
595        3545, 3548, 3551, 3554, 3557, 3561, 3565, 3569, 3573, 3577, 3581,
596        3585, 3589, 3593, 3597, 3601, 3605, 3609, 3613, 3617, 3621, 3625,
597        3629, 3633, 3637, 3641, 3645, 3649, 3653, 3657, 3661, 3665, 3669,
598        3673, 3677, 3681, 3685, 3689, 3693, 3697, 3701, 3705, 3709, 3713,
599        3717, 3721, 3725, 3729, 3733, 3737, 3741, 3745, 3749, 3753, 3757,
600        3761, 3765, 3769, 3773, 3777, 3781, 3785, 3789, 3793, 3797, 3801,
601        3805, 3809, 3813, 3817, 3821, 3825, 3829, 3833, 3837, 3841, 3845,
602        3849, 3853, 3857, 3861, 3865, 3869, 3873, 3877, 3881, 3885, 3889,
603        3893, 3897, 3901, 3905, 3909, 3913, 3917, 3921, 3925, 3929, 3933,
604        3937, 3941, 3945, 3949, 3953, 3957, 3961, 3965, 3969, 3973, 3977,
605        3981, 3985, 3989, 3993, 3998, 4003, 4008, 4013, 4018, 4023, 4028,
606        4033, 4038, 4043, 4048, 4053, 4058, 4063, 4068, 4073, 4078, 4083,
607        4088, 4093, 4098, 4103, 4108, 4113, 4118, 4123, 4128, 4133, 4138,
608        4143, 4148, 4153, 4158, 4163, 4168, 4173, 4178, 4183, 4188, 4193,
609        4198, 4203, 4208, 4213, 4218, 4223, 4228, 4233, 4238, 4243, 4248,
610        4253, 4258, 4263, 4268, 4273, 4278, 4283, 4288, 4293, 4298, 4303,
611        4308, 4313, 4318, 4323, 4328, 4333, 4338, 4343, 4348, 4353, 4358,
612        4363, 4368, 4373, 4378, 4383, 4388, 4393, 4398, 4403, 4408, 4413,
613        4418, 4423, 4428, 4433, 4438, 4443, 4448, 4453, 4458, 4463, 4468,
614        4473, 4478, 4483, 4488, 4493, 4498, 4503, 4508, 4513, 4518, 4523,
615        4528, 4533, 4538, 4543, 4548, 4553, 4558, 4563, 4568, 4573, 4578,
616        4583, 4588, 4593, 4598, 4603, 4608, 4613, 4618, 4623, 4628, 4633,
617        4638, 4643, 4648, 4653, 4658, 4663, 4668, 4673, 4678, 4683, 4688,
618        4693, 4698, 4703, 4708, 4713, 4718, 4723, 4728, 4733, 4738, 4743,
619        4748, 4753, 4758, 4763, 4768, 4773, 4778, 4783, 4788, 4793, 4798,
620        4803, 4808, 4813, 4818, 4823, 4828, 4833, 4838, 4843, 4848, 4853,
621        4858, 4863, 4868, 4873, 4878, 4883, 4888, 4893, 4898, 4903, 4908,
622        4913, 4918, 4923, 4928, 4933, 4938, 4943, 4948, 4953, 4958};
623        const static char string_buffer LLVM_ALIGNAS(32) [5120] = u8R"__(a
624b
625c
626d
627e
628f
629g
630h
631i
632j
633k
634l
635m
636n
637o
638p
639q
640r
641s
642t
643u
644v
645w
646x
647y
648z
649Ό
650à
651á
652â
653ã
654À
655Ã¥
656Ê
657ç
658Ú
659é
660ê
661ë
662ì
663í
664î
665ï
666ð
667ñ
668ò
669ó
670ÃŽ
671õ
672ö
673Þ
674ù
675ú
676û
677Ì
678Ü
679ß
680ā
681ă
682ą
683ć
684ĉ
685ċ
686č
687ď
688đ
689ē
690ĕ
691ė
692ę
693ě
694ĝ
695ğ
696Ä¡
697Ä£
698Ä¥
699ħ
700Ä©
701Ä«
702Ä­
703į
704ij
705ĵ
706Ä·
707ĺ
708Č
709ÄŸ
710ŀ
711ł
712ń
713ņ
714ň
715ŋ
716ō
717ŏ
718ő
719œ
720ŕ
721ŗ
722ř
723ś
724ŝ
725ş
726Å¡
727Å£
728Å¥
729ŧ
730Å©
731Å«
732Å­
733ů
734ű
735ų
736ŵ
737Å·
738ÿ
739ź
740Ō
741ÅŸ
742s
743ɓ
744ƃ
745ƅ
746ɔ
747ƈ
748ɖ
749ɗ
750ƌ
751ǝ
752ə
753ɛ
754ƒ
755É 
756É£
757É©
758Éš
759ƙ
760ɯ
761ɲ
762ɵ
763Æ¡
764Æ£
765Æ¥
766ʀ
767Æš
768ʃ
769Æ­
770ʈ
771Æ°
772ʊ
773ʋ
774ÆŽ
775ƶ
776ʒ
777ƹ
778Ɯ
779dž
780dž
781lj
782lj
783nj
784nj
785ǎ
786ǐ
787ǒ
788ǔ
789ǖ
790ǘ
791ǚ
792ǜ
793ǟ
794Ç¡
795Ç£
796Ç¥
797ǧ
798Ç©
799Ç«
800Ç­
801ǯ
802dz
803dz
804ǵ
805ƕ
806Æ¿
807ǹ
808Ç»
809ǜ
810Ç¿
811ȁ
812ȃ
813ȅ
814ȇ
815ȉ
816ȋ
817ȍ
818ȏ
819ȑ
820ȓ
821ȕ
822ȗ
823ș
824ț
825ȝ
826ȟ
827ƞ
828È£
829È¥
830ȧ
831È©
832È«
833È­
834ȯ
835ȱ
836ȳ
837â±¥
838Ȍ
839ƚ
840ⱊ
841ɂ
842ƀ
843ʉ
844ʌ
845ɇ
846ɉ
847ɋ
848ɍ
849ɏ
850ι
851ͱ
852ͳ
853Í·
854ϳ
855ά
856έ
857ή
858ί
859ό
860ύ
861ώ
862α
863β
864γ
865ÎŽ
866ε
867ζ
868η
869Ξ
870ι
871κ
872λ
873Ό
874Μ
875Ο
876ο
877π
878ρ
879σ
880τ
881υ
882φ
883χ
884ψ
885ω
886ϊ
887ϋ
888σ
889ϗ
890β
891Ξ
892φ
893π
894ϙ
895ϛ
896ϝ
897ϟ
898Ï¡
899Ï£
900Ï¥
901ϧ
902Ï©
903Ï«
904Ï­
905ϯ
906κ
907ρ
908Ξ
909ε
910Ïž
911ϲ
912Ï»
913Í»
914͌
915͜
916ѐ
917ё
918ђ
919ѓ
920є
921ѕ
922і
923ї
924ј
925љ
926њ
927ћ
928ќ
929ѝ
930ў
931џ
932а
933б
934в
935г
936ÐŽ
937е
938ж
939з
940О
941й
942к
943л
944Ќ
945М
946П
947п
948р
949с
950т
951у
952ф
953х
954ц
955ч
956ш
957щ
958ъ
959ы
960ь
961э
962ю
963я
964Ñ¡
965Ñ£
966Ñ¥
967ѧ
968Ñ©
969Ñ«
970Ñ­
971ѯ
972ѱ
973ѳ
974ѵ
975Ñ·
976ѹ
977Ñ»
978ќ
979Ñ¿
980ҁ
981ҋ
982ҍ
983ҏ
984ґ
985ғ
986ҕ
987җ
988ҙ
989қ
990ҝ
991ҟ
992Ò¡
993Ò£
994Ò¥
995Ò§
996Ò©
997Ò«
998Ò­
999Ò¯
1000Ò±
1001Ò³
1002Òµ
1003Ò·
1004Ò¹
1005Ò»
1006Ҝ
1007Ò¿
1008ӏ
1009ӂ
1010ӄ
1011ӆ
1012ӈ
1013ӊ
1014ӌ
1015ӎ
1016ӑ
1017ӓ
1018ӕ
1019ӗ
1020ә
1021ӛ
1022ӝ
1023ӟ
1024Ó¡
1025Ó£
1026Ó¥
1027Ó§
1028Ó©
1029Ó«
1030Ó­
1031Ó¯
1032Ó±
1033Ó³
1034Óµ
1035Ó·
1036Ó¹
1037Ó»
1038Ӝ
1039Ó¿
1040ԁ
1041ԃ
1042ԅ
1043ԇ
1044ԉ
1045ԋ
1046ԍ
1047ԏ
1048ԑ
1049ԓ
1050ԕ
1051ԗ
1052ԙ
1053ԛ
1054ԝ
1055ԟ
1056Ô¡
1057Ô£
1058Ô¥
1059Ô§
1060Ô©
1061Ô«
1062Ô­
1063Ô¯
1064Õ¡
1065Õ¢
1066Õ£
1067Õ€
1068Õ¥
1069ÕŠ
1070Õ§
1071Õš
1072Õ©
1073Õª
1074Õ«
1075Õ¬
1076Õ­
1077Õ®
1078Õ¯
1079Õ°
1080Õ±
1081Õ²
1082Õ³
1083ÕŽ
1084Õµ
1085Õ¶
1086Õ·
1087Õž
1088Õ¹
1089Õº
1090Õ»
1091Ռ
1092՜
1093ÕŸ
1094Õ¿
1095ր
1096ց
1097ւ
1098փ
1099ք
1100օ
1101ֆ
1102⮀
1103⎁
1104⮂
1105⎃
1106⮄
1107⮅
1108⮆
1109⮇
1110⎈
1111⮉
1112⮊
1113⮋
1114⮌
1115⎍
1116⮎
1117⎏
1118⎐
1119⮑
1120⮒
1121⮓
1122⮔
1123⮕
1124⮖
1125⮗
1126⎘
1127⮙
1128⮚
1129⮛
1130⮜
1131⎝
1132⮞
1133⮟
1134⎠
1135⎡
1136⎢
1137⎣
1138⎀
1139⎥
1140⎧
1141⎭
1142Ᏸ
1143Ᏹ
1144Ᏺ
1145Ᏻ
1146Ꮞ
1147Ᏽ
1148в
1149ÐŽ
1150П
1151с
1152т
1153т
1154ъ
1155Ñ£
1156ꙋ
1157ខ
1158ឃ
1159ᾅ
1160ᾇ
1161ᾉ
1162ᾋ
1163ឍ
1164ត
1165ᾑ
1166ᾓ
1167ᾕ
1168ᾗ
1169ᾙ
1170ᾛ
1171ឝ
1172ᾟ
1173áž¡
1174ឣ
1175ឥ
1176ឧ
1177áž©
1178áž«
1179áž­
1180ឯ
1181áž±
1182áž³
1183ážµ
1184áž·
1185áž¹
1186áž»
1187វ
1188áž¿
1189ṁ
1190ṃ
1191ṅ
1192ṇ
1193ṉ
1194ṋ
1195ṍ
1196ṏ
1197ṑ
1198ṓ
1199ṕ
1200ṗ
1201ṙ
1202ṛ
1203ṝ
1204ṟ
1205ṡ
1206á¹£
1207á¹¥
1208ṧ
1209ṩ
1210ṫ
1211á¹­
1212ṯ
1213á¹±
1214á¹³
1215á¹µ
1216á¹·
1217á¹¹
1218á¹»
1219Ṝ
1220ṿ
1221ẁ
1222ẃ
1223ẅ
1224ẇ
1225ẉ
1226ẋ
1227ẍ
1228ẏ
1229ẑ
1230ẓ
1231ẕ
1232ṡ
1233ß
1234ạ
1235ả
1236ấ
1237ầ
1238ẩ
1239ẫ
1240ậ
1241ắ
1242ằ
1243ẳ
1244ẵ
1245ặ
1246ẹ
1247ẻ
1248ẜ
1249ế
1250ề
1251ể
1252ễ
1253ệ
1254ỉ
1255ị
1256ọ
1257ỏ
1258ố
1259ồ
1260ổ
1261ỗ
1262ộ
1263ớ
1264ờ
1265ở
1266ỡ
1267ợ
1268ụ
1269ủ
1270ứ
1271ừ
1272á»­
1273ữ
1274á»±
1275ỳ
1276ỵ
1277á»·
1278ỹ
1279á»»
1280Ờ
1281ỿ
1282ጀ
1283ጁ
1284ጂ
1285ጃ
1286ጄ
1287ጅ
1288ጆ
1289ጇ
1290ጐ
1291጑
1292ጒ
1293ጓ
1294ጔ
1295ጕ
1296ጠ
1297ጡ
1298ጢ
1299ጣ
1300ጀ
1301ጥ
1302ጊ
1303ጧ
1304ጰ
1305ጱ
1306ጲ
1307ጳ
1308ጎ
1309ጵ
1310ጶ
1311ጷ
1312ᜀ
1313ᜁ
1314ᜂ
1315ᜃ
1316ᜄ
1317ᜅ
1318ᜑ
1319ᜓ
1320᜕
1321᜗
1322ᜠ
1323ᜡ
1324ᜢ
1325ᜣ
1326ᜀ
1327ᜥ
1328ᜊ
1329ᜧ
1330ៀ
1331េ
1332ែ
1333ៃ
1334ោ
1335ៅ
1336ំ
1337ះ
1338័
1339៑
1340្
1341៓
1342។
1343៕
1344៖
1345ៗ
1346០
1347១
1348២
1349៣
1350ៀ
1351៥
1352៊
1353៧
1354៰
1355៱
1356ᜰ
1357ᜱ
1358៳
1359ι
1360ᜲ
1361ᜳ
1362ᜎ
1363᜵
1364ῃ
1365ῐ
1366ῑ
1367᜶
1368᜷
1369á¿ 
1370á¿¡
1371᜺
1372᜻
1373á¿¥
1374᜞
1375᜹
1376ᜌ
1377᜜
1378ῳ
1379ω
1380k
1381Ã¥
1382ⅎ
1383ⅰ
1384ⅱ
1385ⅲ
1386ⅳ
1387Ⅾ
1388ⅵ
1389ⅶ
1390ⅷ
1391ⅾ
1392ⅹ
1393ⅺ
1394ⅻ
1395⅌
1396⅜
1397â…Ÿ
1398ⅿ
1399ↄ
1400ⓐ
1401ⓑ
1402ⓒ
1403ⓓ
1404ⓔ
1405ⓕ
1406ⓖ
1407ⓗ
1408ⓘ
1409ⓙ
1410ⓚ
1411ⓛ
1412ⓜ
1413ⓝ
1414ⓞ
1415ⓟ
1416ⓠ
1417ⓡ
1418ⓢ
1419ⓣ
1420â“€
1421ⓥ
1422ⓩ
1423ⓧ
1424⓹
1425ⓩ
1426â°°
1427â°±
1428â°²
1429â°³
1430â°Ž
1431â°µ
1432â°¶
1433â°·
1434â°ž
1435â°¹
1436â°º
1437â°»
1438Ⰼ
1439Ⱌ
1440â°Ÿ
1441â°¿
1442ⱀ
1443ⱁ
1444ⱂ
1445ⱃ
1446ⱄ
1447ⱅ
1448ⱆ
1449ⱇ
1450ⱈ
1451ⱉ
1452ⱊ
1453ⱋ
1454ⱌ
1455ⱍ
1456ⱎ
1457ⱏ
1458ⱐ
1459ⱑ
1460ⱒ
1461ⱓ
1462ⱔ
1463ⱕ
1464ⱖ
1465ⱗ
1466ⱘ
1467ⱙ
1468ⱚ
1469ⱛ
1470ⱜ
1471ⱝ
1472ⱞ
1473ⱡ
1474É«
1475ᵜ
1476ɜ
1477ⱚ
1478ⱪ
1479ⱬ
1480ɑ
1481ɱ
1482ɐ
1483ɒ
1484â±³
1485ⱶ
1486È¿
1487ɀ
1488ⲁ
1489ⲃ
1490ⲅ
1491ⲇ
1492ⲉ
1493ⲋ
1494ⲍ
1495ⲏ
1496ⲑ
1497ⲓ
1498ⲕ
1499ⲗ
1500ⲙ
1501ⲛ
1502ⲝ
1503ⲟ
1504ⲡ
1505â²£
1506â²¥
1507ⲧ
1508ⲩ
1509ⲫ
1510â²­
1511ⲯ
1512â²±
1513â²³
1514â²µ
1515â²·
1516â²¹
1517â²»
1518Ⲝ
1519ⲿ
1520ⳁ
1521ⳃ
1522ⳅ
1523ⳇ
1524ⳉ
1525ⳋ
1526ⳍ
1527ⳏ
1528ⳑ
1529ⳓ
1530ⳕ
1531ⳗ
1532ⳙ
1533ⳛ
1534ⳝ
1535ⳟ
1536ⳡ
1537â³£
1538ⳬ
1539â³®
1540â³³
1541ꙁ
1542ꙃ
1543ꙅ
1544ꙇ
1545ꙉ
1546ꙋ
1547ꙍ
1548ꙏ
1549ꙑ
1550ꙓ
1551ꙕ
1552ꙗ
1553ꙙ
1554ꙛ
1555ꙝ
1556ꙟ
1557ꙡ
1558ꙣ
1559ꙥ
1560ꙧ
1561ꙩ
1562ꙫ
1563ꙭ
1564ꚁ
1565ꚃ
1566ꚅ
1567ꚇ
1568ꚉ
1569ꚋ
1570ꚍ
1571ꚏ
1572ꚑ
1573ꚓ
1574ꚕ
1575ꚗ
1576ꚙ
1577ꚛ
1578ꜣ
1579ꜥ
1580ꜧ
1581ꜩ
1582ꜫ
1583ꜭ
1584ꜯ
1585ꜳ
1586ꜵ
1587ꜷ
1588ꜹ
1589ꜻ
1590ꜜ
1591ꜿ
1592ꝁ
1593ꝃ
1594ꝅ
1595ꝇ
1596ꝉ
1597ꝋ
1598ꝍ
1599ꝏ
1600ꝑ
1601ꝓ
1602ꝕ
1603ꝗ
1604ꝙ
1605ꝛ
1606ꝝ
1607ꝟ
1608ꝡ
1609ꝣ
1610ꝥ
1611ꝧ
1612ꝩ
1613ꝫ
1614ꝭ
1615ꝯ
1616ꝺ
1617Ꝍ
1618áµ¹
1619ꝿ
1620ꞁ
1621ꞃ
1622ꞅ
1623ꞇ
1624ꞌ
1625É¥
1626ꞑ
1627ꞓ
1628ꞗ
1629ꞙ
1630ꞛ
1631ꞝ
1632ꞟ
1633ꞡ
1634ꞣ
1635ꞥ
1636ꞧ
1637ꞩ
1638ÉŠ
1639ɜ
1640É¡
1641ɬ
1642ɪ
1643ʞ
1644ʇ
1645ʝ
1646ꭓ
1647ꞵ
1648ꞷ
1649Ꭰ
1650Ꭱ
1651Ꭲ
1652Ꭳ
1653ᎀ
1654Ꭵ
1655ᎊ
1656Ꭷ
1657᎚
1658Ꭹ
1659Ꭺ
1660Ꭻ
1661Ꭼ
1662Ꭽ
1663Ꭾ
1664Ꭿ
1665Ꮀ
1666Ꮁ
1667Ꮂ
1668Ꮃ
1669Ꭾ
1670Ꮅ
1671Ꮆ
1672Ꮇ
1673Ꮎ
1674Ꮉ
1675Ꮊ
1676Ꮋ
1677ᎌ
1678᎜
1679᎟
1680Ꮏ
1681Ꮐ
1682Ꮑ
1683Ꮒ
1684Ꮓ
1685Ꮔ
1686Ꮕ
1687Ꮖ
1688Ꮗ
1689Ꮘ
1690Ꮙ
1691Ꮚ
1692Ꮛ
1693Ꮜ
1694Ꮝ
1695Ꮞ
1696Ꮟ
1697Ꮠ
1698Ꮡ
1699Ꮢ
1700Ꮣ
1701Ꮤ
1702Ꮥ
1703Ꮦ
1704Ꮧ
1705Ꮨ
1706Ꮩ
1707Ꮪ
1708Ꮫ
1709Ꮬ
1710Ꮭ
1711Ꮮ
1712Ꮯ
1713Ꮰ
1714Ꮱ
1715Ꮲ
1716Ꮳ
1717Ꮐ
1718Ꮵ
1719Ꮚ
1720Ꮷ
1721Ꮪ
1722Ꮹ
1723Ꮺ
1724Ꮻ
1725Ꮼ
1726Ꮽ
1727Ꮾ
1728Ꮿ
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755𐐚
1756𐐩
1757𐐪
1758𐐫
1759𐐬
1760𐐭
1761𐐮
1762𐐯
1763𐐰
1764𐐱
1765𐐲
1766𐐳
1767𐐎
1768𐐵
1769𐐶
1770𐐷
1771𐐞
1772𐐹
1773𐐺
1774𐐻
1775𐐌
1776𐐜
1777𐐟
1778𐐿
1779𐑀
1780𐑁
1781𐑂
1782𐑃
1783𐑄
1784𐑅
1785𐑆
1786𐑇
1787𐑈
1788𐑉
1789𐑊
1790𐑋
1791𐑌
1792𐑍
1793𐑎
1794𐑏
1795𐓘
1796𐓙
1797𐓚
1798𐓛
1799𐓜
1800𐓝
1801𐓞
1802𐓟
1803𐓠
1804𐓡
1805𐓢
1806𐓣
1807𐓀
1808𐓥
1809𐓊
1810𐓧
1811𐓚
1812𐓩
1813𐓪
1814𐓫
1815𐓬
1816𐓭
1817𐓮
1818𐓯
1819𐓰
1820𐓱
1821𐓲
1822𐓳
1823𐓎
1824𐓵
1825𐓶
1826𐓷
1827𐓞
1828𐓹
1829𐓺
1830𐓻
1831𐳀
1832𐳁
1833𐳂
1834𐳃
1835𐳄
1836𐳅
1837𐳆
1838𐳇
1839𐳈
1840𐳉
1841𐳊
1842𐳋
1843𐳌
1844𐳍
1845𐳎
1846𐳏
1847𐳐
1848𐳑
1849𐳒
1850𐳓
1851𐳔
1852𐳕
1853𐳖
1854𐳗
1855𐳘
1856𐳙
1857𐳚
1858𐳛
1859𐳜
1860𐳝
1861𐳞
1862𐳟
1863𐳠
1864𐳡
1865𐳢
1866𐳣
1867𐳀
1868𐳥
1869𐳊
1870𐳧
1871𐳚
1872𐳩
1873𐳪
1874𐳫
1875𐳬
1876𐳭
1877𐳮
1878𐳯
1879𐳰
1880𐳱
1881𐳲
1882𑣀
1883𑣁
1884𑣂
1885𑣃
1886𑣄
1887𑣅
1888𑣆
1889𑣇
1890𑣈
1891𑣉
1892𑣊
1893𑣋
1894𑣌
1895𑣍
1896𑣎
1897𑣏
1898𑣐
1899𑣑
1900𑣒
1901𑣓
1902𑣔
1903𑣕
1904𑣖
1905𑣗
1906𑣘
1907𑣙
1908𑣚
1909𑣛
1910𑣜
1911𑣝
1912𑣞
1913𑣟
1914𞀢
1915𞀣
1916𞀀
1917𞀥
1918𞀊
1919𞀧
1920𞀚
1921𞀩
1922𞀪
1923𞀫
1924𞀬
1925𞀭
1926𞀮
1927𞀯
1928𞀰
1929𞀱
1930𞀲
1931𞀳
1932𞀎
1933𞀵
1934𞀶
1935𞀷
1936𞀞
1937𞀹
1938𞀺
1939𞀻
1940𞀌
1941𞀜
1942𞀟
1943𞀿
1944𞥀
1945𞥁
1946𞥂
1947𞥃
1948)__";
1949
1950        const static std::vector<codepoint_t> defined_cps{
1951        0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048,
1952        0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
1953        0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058,
1954        0x0059, 0x005a, 0x00b5, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4,
1955        0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc,
1956        0x00cd, 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4,
1957        0x00d5, 0x00d6, 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd,
1958        0x00de, 0x0100, 0x0102, 0x0104, 0x0106, 0x0108, 0x010a, 0x010c,
1959        0x010e, 0x0110, 0x0112, 0x0114, 0x0116, 0x0118, 0x011a, 0x011c,
1960        0x011e, 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x012a, 0x012c,
1961        0x012e, 0x0132, 0x0134, 0x0136, 0x0139, 0x013b, 0x013d, 0x013f,
1962        0x0141, 0x0143, 0x0145, 0x0147, 0x014a, 0x014c, 0x014e, 0x0150,
1963        0x0152, 0x0154, 0x0156, 0x0158, 0x015a, 0x015c, 0x015e, 0x0160,
1964        0x0162, 0x0164, 0x0166, 0x0168, 0x016a, 0x016c, 0x016e, 0x0170,
1965        0x0172, 0x0174, 0x0176, 0x0178, 0x0179, 0x017b, 0x017d, 0x017f,
1966        0x0181, 0x0182, 0x0184, 0x0186, 0x0187, 0x0189, 0x018a, 0x018b,
1967        0x018e, 0x018f, 0x0190, 0x0191, 0x0193, 0x0194, 0x0196, 0x0197,
1968        0x0198, 0x019c, 0x019d, 0x019f, 0x01a0, 0x01a2, 0x01a4, 0x01a6,
1969        0x01a7, 0x01a9, 0x01ac, 0x01ae, 0x01af, 0x01b1, 0x01b2, 0x01b3,
1970        0x01b5, 0x01b7, 0x01b8, 0x01bc, 0x01c4, 0x01c5, 0x01c7, 0x01c8,
1971        0x01ca, 0x01cb, 0x01cd, 0x01cf, 0x01d1, 0x01d3, 0x01d5, 0x01d7,
1972        0x01d9, 0x01db, 0x01de, 0x01e0, 0x01e2, 0x01e4, 0x01e6, 0x01e8,
1973        0x01ea, 0x01ec, 0x01ee, 0x01f1, 0x01f2, 0x01f4, 0x01f6, 0x01f7,
1974        0x01f8, 0x01fa, 0x01fc, 0x01fe, 0x0200, 0x0202, 0x0204, 0x0206,
1975        0x0208, 0x020a, 0x020c, 0x020e, 0x0210, 0x0212, 0x0214, 0x0216,
1976        0x0218, 0x021a, 0x021c, 0x021e, 0x0220, 0x0222, 0x0224, 0x0226,
1977        0x0228, 0x022a, 0x022c, 0x022e, 0x0230, 0x0232, 0x023a, 0x023b,
1978        0x023d, 0x023e, 0x0241, 0x0243, 0x0244, 0x0245, 0x0246, 0x0248,
1979        0x024a, 0x024c, 0x024e, 0x0345, 0x0370, 0x0372, 0x0376, 0x037f,
1980        0x0386, 0x0388, 0x0389, 0x038a, 0x038c, 0x038e, 0x038f, 0x0391,
1981        0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399,
1982        0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, 0x03a1,
1983        0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03aa,
1984        0x03ab, 0x03c2, 0x03cf, 0x03d0, 0x03d1, 0x03d5, 0x03d6, 0x03d8,
1985        0x03da, 0x03dc, 0x03de, 0x03e0, 0x03e2, 0x03e4, 0x03e6, 0x03e8,
1986        0x03ea, 0x03ec, 0x03ee, 0x03f0, 0x03f1, 0x03f4, 0x03f5, 0x03f7,
1987        0x03f9, 0x03fa, 0x03fd, 0x03fe, 0x03ff, 0x0400, 0x0401, 0x0402,
1988        0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040a,
1989        0x040b, 0x040c, 0x040d, 0x040e, 0x040f, 0x0410, 0x0411, 0x0412,
1990        0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041a,
1991        0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x0420, 0x0421, 0x0422,
1992        0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042a,
1993        0x042b, 0x042c, 0x042d, 0x042e, 0x042f, 0x0460, 0x0462, 0x0464,
1994        0x0466, 0x0468, 0x046a, 0x046c, 0x046e, 0x0470, 0x0472, 0x0474,
1995        0x0476, 0x0478, 0x047a, 0x047c, 0x047e, 0x0480, 0x048a, 0x048c,
1996        0x048e, 0x0490, 0x0492, 0x0494, 0x0496, 0x0498, 0x049a, 0x049c,
1997        0x049e, 0x04a0, 0x04a2, 0x04a4, 0x04a6, 0x04a8, 0x04aa, 0x04ac,
1998        0x04ae, 0x04b0, 0x04b2, 0x04b4, 0x04b6, 0x04b8, 0x04ba, 0x04bc,
1999        0x04be, 0x04c0, 0x04c1, 0x04c3, 0x04c5, 0x04c7, 0x04c9, 0x04cb,
2000        0x04cd, 0x04d0, 0x04d2, 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc,
2001        0x04de, 0x04e0, 0x04e2, 0x04e4, 0x04e6, 0x04e8, 0x04ea, 0x04ec,
2002        0x04ee, 0x04f0, 0x04f2, 0x04f4, 0x04f6, 0x04f8, 0x04fa, 0x04fc,
2003        0x04fe, 0x0500, 0x0502, 0x0504, 0x0506, 0x0508, 0x050a, 0x050c,
2004        0x050e, 0x0510, 0x0512, 0x0514, 0x0516, 0x0518, 0x051a, 0x051c,
2005        0x051e, 0x0520, 0x0522, 0x0524, 0x0526, 0x0528, 0x052a, 0x052c,
2006        0x052e, 0x0531, 0x0532, 0x0533, 0x0534, 0x0535, 0x0536, 0x0537,
2007        0x0538, 0x0539, 0x053a, 0x053b, 0x053c, 0x053d, 0x053e, 0x053f,
2008        0x0540, 0x0541, 0x0542, 0x0543, 0x0544, 0x0545, 0x0546, 0x0547,
2009        0x0548, 0x0549, 0x054a, 0x054b, 0x054c, 0x054d, 0x054e, 0x054f,
2010        0x0550, 0x0551, 0x0552, 0x0553, 0x0554, 0x0555, 0x0556, 0x10a0,
2011        0x10a1, 0x10a2, 0x10a3, 0x10a4, 0x10a5, 0x10a6, 0x10a7, 0x10a8,
2012        0x10a9, 0x10aa, 0x10ab, 0x10ac, 0x10ad, 0x10ae, 0x10af, 0x10b0,
2013        0x10b1, 0x10b2, 0x10b3, 0x10b4, 0x10b5, 0x10b6, 0x10b7, 0x10b8,
2014        0x10b9, 0x10ba, 0x10bb, 0x10bc, 0x10bd, 0x10be, 0x10bf, 0x10c0,
2015        0x10c1, 0x10c2, 0x10c3, 0x10c4, 0x10c5, 0x10c7, 0x10cd, 0x13f8,
2016        0x13f9, 0x13fa, 0x13fb, 0x13fc, 0x13fd, 0x1c80, 0x1c81, 0x1c82,
2017        0x1c83, 0x1c84, 0x1c85, 0x1c86, 0x1c87, 0x1c88, 0x1e00, 0x1e02,
2018        0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c, 0x1e0e, 0x1e10, 0x1e12,
2019        0x1e14, 0x1e16, 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20, 0x1e22,
2020        0x1e24, 0x1e26, 0x1e28, 0x1e2a, 0x1e2c, 0x1e2e, 0x1e30, 0x1e32,
2021        0x1e34, 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e, 0x1e40, 0x1e42,
2022        0x1e44, 0x1e46, 0x1e48, 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52,
2023        0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c, 0x1e5e, 0x1e60, 0x1e62,
2024        0x1e64, 0x1e66, 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70, 0x1e72,
2025        0x1e74, 0x1e76, 0x1e78, 0x1e7a, 0x1e7c, 0x1e7e, 0x1e80, 0x1e82,
2026        0x1e84, 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e, 0x1e90, 0x1e92,
2027        0x1e94, 0x1e9b, 0x1e9e, 0x1ea0, 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8,
2028        0x1eaa, 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4, 0x1eb6, 0x1eb8,
2029        0x1eba, 0x1ebc, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8,
2030        0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8,
2031        0x1eda, 0x1edc, 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6, 0x1ee8,
2032        0x1eea, 0x1eec, 0x1eee, 0x1ef0, 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8,
2033        0x1efa, 0x1efc, 0x1efe, 0x1f08, 0x1f09, 0x1f0a, 0x1f0b, 0x1f0c,
2034        0x1f0d, 0x1f0e, 0x1f0f, 0x1f18, 0x1f19, 0x1f1a, 0x1f1b, 0x1f1c,
2035        0x1f1d, 0x1f28, 0x1f29, 0x1f2a, 0x1f2b, 0x1f2c, 0x1f2d, 0x1f2e,
2036        0x1f2f, 0x1f38, 0x1f39, 0x1f3a, 0x1f3b, 0x1f3c, 0x1f3d, 0x1f3e,
2037        0x1f3f, 0x1f48, 0x1f49, 0x1f4a, 0x1f4b, 0x1f4c, 0x1f4d, 0x1f59,
2038        0x1f5b, 0x1f5d, 0x1f5f, 0x1f68, 0x1f69, 0x1f6a, 0x1f6b, 0x1f6c,
2039        0x1f6d, 0x1f6e, 0x1f6f, 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c,
2040        0x1f8d, 0x1f8e, 0x1f8f, 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c,
2041        0x1f9d, 0x1f9e, 0x1f9f, 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac,
2042        0x1fad, 0x1fae, 0x1faf, 0x1fb8, 0x1fb9, 0x1fba, 0x1fbb, 0x1fbc,
2043        0x1fbe, 0x1fc8, 0x1fc9, 0x1fca, 0x1fcb, 0x1fcc, 0x1fd8, 0x1fd9,
2044        0x1fda, 0x1fdb, 0x1fe8, 0x1fe9, 0x1fea, 0x1feb, 0x1fec, 0x1ff8,
2045        0x1ff9, 0x1ffa, 0x1ffb, 0x1ffc, 0x2126, 0x212a, 0x212b, 0x2132,
2046        0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167,
2047        0x2168, 0x2169, 0x216a, 0x216b, 0x216c, 0x216d, 0x216e, 0x216f,
2048        0x2183, 0x24b6, 0x24b7, 0x24b8, 0x24b9, 0x24ba, 0x24bb, 0x24bc,
2049        0x24bd, 0x24be, 0x24bf, 0x24c0, 0x24c1, 0x24c2, 0x24c3, 0x24c4,
2050        0x24c5, 0x24c6, 0x24c7, 0x24c8, 0x24c9, 0x24ca, 0x24cb, 0x24cc,
2051        0x24cd, 0x24ce, 0x24cf, 0x2c00, 0x2c01, 0x2c02, 0x2c03, 0x2c04,
2052        0x2c05, 0x2c06, 0x2c07, 0x2c08, 0x2c09, 0x2c0a, 0x2c0b, 0x2c0c,
2053        0x2c0d, 0x2c0e, 0x2c0f, 0x2c10, 0x2c11, 0x2c12, 0x2c13, 0x2c14,
2054        0x2c15, 0x2c16, 0x2c17, 0x2c18, 0x2c19, 0x2c1a, 0x2c1b, 0x2c1c,
2055        0x2c1d, 0x2c1e, 0x2c1f, 0x2c20, 0x2c21, 0x2c22, 0x2c23, 0x2c24,
2056        0x2c25, 0x2c26, 0x2c27, 0x2c28, 0x2c29, 0x2c2a, 0x2c2b, 0x2c2c,
2057        0x2c2d, 0x2c2e, 0x2c60, 0x2c62, 0x2c63, 0x2c64, 0x2c67, 0x2c69,
2058        0x2c6b, 0x2c6d, 0x2c6e, 0x2c6f, 0x2c70, 0x2c72, 0x2c75, 0x2c7e,
2059        0x2c7f, 0x2c80, 0x2c82, 0x2c84, 0x2c86, 0x2c88, 0x2c8a, 0x2c8c,
2060        0x2c8e, 0x2c90, 0x2c92, 0x2c94, 0x2c96, 0x2c98, 0x2c9a, 0x2c9c,
2061        0x2c9e, 0x2ca0, 0x2ca2, 0x2ca4, 0x2ca6, 0x2ca8, 0x2caa, 0x2cac,
2062        0x2cae, 0x2cb0, 0x2cb2, 0x2cb4, 0x2cb6, 0x2cb8, 0x2cba, 0x2cbc,
2063        0x2cbe, 0x2cc0, 0x2cc2, 0x2cc4, 0x2cc6, 0x2cc8, 0x2cca, 0x2ccc,
2064        0x2cce, 0x2cd0, 0x2cd2, 0x2cd4, 0x2cd6, 0x2cd8, 0x2cda, 0x2cdc,
2065        0x2cde, 0x2ce0, 0x2ce2, 0x2ceb, 0x2ced, 0x2cf2, 0xa640, 0xa642,
2066        0xa644, 0xa646, 0xa648, 0xa64a, 0xa64c, 0xa64e, 0xa650, 0xa652,
2067        0xa654, 0xa656, 0xa658, 0xa65a, 0xa65c, 0xa65e, 0xa660, 0xa662,
2068        0xa664, 0xa666, 0xa668, 0xa66a, 0xa66c, 0xa680, 0xa682, 0xa684,
2069        0xa686, 0xa688, 0xa68a, 0xa68c, 0xa68e, 0xa690, 0xa692, 0xa694,
2070        0xa696, 0xa698, 0xa69a, 0xa722, 0xa724, 0xa726, 0xa728, 0xa72a,
2071        0xa72c, 0xa72e, 0xa732, 0xa734, 0xa736, 0xa738, 0xa73a, 0xa73c,
2072        0xa73e, 0xa740, 0xa742, 0xa744, 0xa746, 0xa748, 0xa74a, 0xa74c,
2073        0xa74e, 0xa750, 0xa752, 0xa754, 0xa756, 0xa758, 0xa75a, 0xa75c,
2074        0xa75e, 0xa760, 0xa762, 0xa764, 0xa766, 0xa768, 0xa76a, 0xa76c,
2075        0xa76e, 0xa779, 0xa77b, 0xa77d, 0xa77e, 0xa780, 0xa782, 0xa784,
2076        0xa786, 0xa78b, 0xa78d, 0xa790, 0xa792, 0xa796, 0xa798, 0xa79a,
2077        0xa79c, 0xa79e, 0xa7a0, 0xa7a2, 0xa7a4, 0xa7a6, 0xa7a8, 0xa7aa,
2078        0xa7ab, 0xa7ac, 0xa7ad, 0xa7ae, 0xa7b0, 0xa7b1, 0xa7b2, 0xa7b3,
2079        0xa7b4, 0xa7b6, 0xab70, 0xab71, 0xab72, 0xab73, 0xab74, 0xab75,
2080        0xab76, 0xab77, 0xab78, 0xab79, 0xab7a, 0xab7b, 0xab7c, 0xab7d,
2081        0xab7e, 0xab7f, 0xab80, 0xab81, 0xab82, 0xab83, 0xab84, 0xab85,
2082        0xab86, 0xab87, 0xab88, 0xab89, 0xab8a, 0xab8b, 0xab8c, 0xab8d,
2083        0xab8e, 0xab8f, 0xab90, 0xab91, 0xab92, 0xab93, 0xab94, 0xab95,
2084        0xab96, 0xab97, 0xab98, 0xab99, 0xab9a, 0xab9b, 0xab9c, 0xab9d,
2085        0xab9e, 0xab9f, 0xaba0, 0xaba1, 0xaba2, 0xaba3, 0xaba4, 0xaba5,
2086        0xaba6, 0xaba7, 0xaba8, 0xaba9, 0xabaa, 0xabab, 0xabac, 0xabad,
2087        0xabae, 0xabaf, 0xabb0, 0xabb1, 0xabb2, 0xabb3, 0xabb4, 0xabb5,
2088        0xabb6, 0xabb7, 0xabb8, 0xabb9, 0xabba, 0xabbb, 0xabbc, 0xabbd,
2089        0xabbe, 0xabbf, 0xff21, 0xff22, 0xff23, 0xff24, 0xff25, 0xff26,
2090        0xff27, 0xff28, 0xff29, 0xff2a, 0xff2b, 0xff2c, 0xff2d, 0xff2e,
2091        0xff2f, 0xff30, 0xff31, 0xff32, 0xff33, 0xff34, 0xff35, 0xff36,
2092        0xff37, 0xff38, 0xff39, 0xff3a, 0x10400, 0x10401, 0x10402, 0x10403,
2093        0x10404, 0x10405, 0x10406, 0x10407, 0x10408, 0x10409, 0x1040a,
2094        0x1040b, 0x1040c, 0x1040d, 0x1040e, 0x1040f, 0x10410, 0x10411,
2095        0x10412, 0x10413, 0x10414, 0x10415, 0x10416, 0x10417, 0x10418,
2096        0x10419, 0x1041a, 0x1041b, 0x1041c, 0x1041d, 0x1041e, 0x1041f,
2097        0x10420, 0x10421, 0x10422, 0x10423, 0x10424, 0x10425, 0x10426,
2098        0x10427, 0x104b0, 0x104b1, 0x104b2, 0x104b3, 0x104b4, 0x104b5,
2099        0x104b6, 0x104b7, 0x104b8, 0x104b9, 0x104ba, 0x104bb, 0x104bc,
2100        0x104bd, 0x104be, 0x104bf, 0x104c0, 0x104c1, 0x104c2, 0x104c3,
2101        0x104c4, 0x104c5, 0x104c6, 0x104c7, 0x104c8, 0x104c9, 0x104ca,
2102        0x104cb, 0x104cc, 0x104cd, 0x104ce, 0x104cf, 0x104d0, 0x104d1,
2103        0x104d2, 0x104d3, 0x10c80, 0x10c81, 0x10c82, 0x10c83, 0x10c84,
2104        0x10c85, 0x10c86, 0x10c87, 0x10c88, 0x10c89, 0x10c8a, 0x10c8b,
2105        0x10c8c, 0x10c8d, 0x10c8e, 0x10c8f, 0x10c90, 0x10c91, 0x10c92,
2106        0x10c93, 0x10c94, 0x10c95, 0x10c96, 0x10c97, 0x10c98, 0x10c99,
2107        0x10c9a, 0x10c9b, 0x10c9c, 0x10c9d, 0x10c9e, 0x10c9f, 0x10ca0,
2108        0x10ca1, 0x10ca2, 0x10ca3, 0x10ca4, 0x10ca5, 0x10ca6, 0x10ca7,
2109        0x10ca8, 0x10ca9, 0x10caa, 0x10cab, 0x10cac, 0x10cad, 0x10cae,
2110        0x10caf, 0x10cb0, 0x10cb1, 0x10cb2, 0x118a0, 0x118a1, 0x118a2,
2111        0x118a3, 0x118a4, 0x118a5, 0x118a6, 0x118a7, 0x118a8, 0x118a9,
2112        0x118aa, 0x118ab, 0x118ac, 0x118ad, 0x118ae, 0x118af, 0x118b0,
2113        0x118b1, 0x118b2, 0x118b3, 0x118b4, 0x118b5, 0x118b6, 0x118b7,
2114        0x118b8, 0x118b9, 0x118ba, 0x118bb, 0x118bc, 0x118bd, 0x118be,
2115        0x118bf, 0x1e900, 0x1e901, 0x1e902, 0x1e903, 0x1e904, 0x1e905,
2116        0x1e906, 0x1e907, 0x1e908, 0x1e909, 0x1e90a, 0x1e90b, 0x1e90c,
2117        0x1e90d, 0x1e90e, 0x1e90f, 0x1e910, 0x1e911, 0x1e912, 0x1e913,
2118        0x1e914, 0x1e915, 0x1e916, 0x1e917, 0x1e918, 0x1e919, 0x1e91a,
2119        0x1e91b, 0x1e91c, 0x1e91d, 0x1e91e, 0x1e91f, 0x1e920, 0x1e921};
2120        static StringPropertyObject property_object(scf, 
2121                                                    std::move(null_codepoint_set), 
2122                                                    std::move(reflexive_set), 
2123                                                    static_cast<const char *>(string_buffer), 
2124                                                    std::move(buffer_offsets), 
2125                                                    std::move(defined_cps));
2126    }
2127    namespace CF_ns {
2128        /** Code Point Ranges for cf (possibly overriding values from SCF)
2129        [00df, 00df], [0130, 0130], [0149, 0149], [01f0, 01f0],
2130        [0390, 0390], [03b0, 03b0], [0587, 0587], [1e96, 1e9a],
2131        [1e9e, 1e9e], [1f50, 1f50], [1f52, 1f52], [1f54, 1f54],
2132        [1f56, 1f56], [1f80, 1faf], [1fb2, 1fb4], [1fb6, 1fb7],
2133        [1fbc, 1fbc], [1fc2, 1fc4], [1fc6, 1fc7], [1fcc, 1fcc],
2134        [1fd2, 1fd3], [1fd6, 1fd7], [1fe2, 1fe4], [1fe6, 1fe7],
2135        [1ff2, 1ff4], [1ff6, 1ff7], [1ffc, 1ffc], [fb00, fb06],
2136        [fb13, fb17]**/
2137
2138       
2139        namespace {
2140        const static UnicodeSet::run_t __explicitly_defined_set_runs[] = {
2141        {Empty, 6}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 4},
2142        {Mixed, 1}, {Empty, 12}, {Mixed, 2}, {Empty, 14}, {Mixed, 1},
2143        {Empty, 199}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1},
2144        {Full, 1}, {Mixed, 3}, {Empty, 1752}, {Mixed, 1}, {Empty, 32807}};
2145        const static UnicodeSet::bitquad_t  __explicitly_defined_set_quads[] = {
2146        0x80000000, 0x00010000, 0x00000200, 0x00010000, 0x00010000,
2147        0x00010000, 0x00000080, 0x47c00000, 0x00550000, 0x10dcffff,
2148        0x00cc10dc, 0x10dc00dc, 0x00f8007f};
2149        }
2150
2151        const static UnicodeSet explicitly_defined_set{const_cast<UnicodeSet::run_t *>(__explicitly_defined_set_runs), 20, 0, const_cast<UnicodeSet::bitquad_t *>(__explicitly_defined_set_quads), 13, 0};
2152
2153
2154
2155        const static std::vector<unsigned> buffer_offsets = {
2156        0, 3, 7, 11, 15, 22, 29, 34, 38, 42, 46, 50, 54, 57, 62, 69, 76, 83,
2157        89, 95, 101, 107, 113, 119, 125, 131, 137, 143, 149, 155, 161, 167,
2158        173, 179, 185, 191, 197, 203, 209, 215, 221, 227, 233, 239, 245,
2159        251, 257, 263, 269, 275, 281, 287, 293, 299, 305, 311, 317, 323,
2160        329, 335, 341, 347, 353, 359, 365, 371, 377, 382, 387, 392, 399,
2161        404, 410, 415, 420, 425, 432, 437, 444, 451, 456, 463, 470, 477,
2162        482, 487, 494, 500, 505, 510, 515, 522, 527, 530, 533, 536, 540,
2163        544, 547, 550, 555, 560, 565, 570, 575};
2164        const static char string_buffer LLVM_ALIGNAS(32) [768] = u8R"__(ss
2165i̇
2166ÊŒn
2167ǰ
2168ΐ
2169ΰ
2170եւ
2171ẖ
2172ẗ
2173ẘ
2174ẙ
2175aÊŸ
2176ss
2177ὐ
2178ὒ
2179ὔ
2180ὖ
2181ጀι
2182ጁι
2183ጂι
2184ጃι
2185ጄι
2186ጅι
2187ጆι
2188ጇι
2189ጀι
2190ጁι
2191ጂι
2192ጃι
2193ጄι
2194ጅι
2195ጆι
2196ጇι
2197ጠι
2198ጡι
2199ጢι
2200ጣι
2201ጀι
2202ጥι
2203ጊι
2204ጧι
2205ጠι
2206ጡι
2207ጢι
2208ጣι
2209ጀι
2210ጥι
2211ጊι
2212ጧι
2213ᜠι
2214ᜡι
2215ᜢι
2216ᜣι
2217ᜀι
2218ᜥι
2219ᜊι
2220ᜧι
2221ᜠι
2222ᜡι
2223ᜢι
2224ᜣι
2225ᜀι
2226ᜥι
2227ᜊι
2228ᜧι
2229ᜰι
2230αι
2231άι
2232ᾶ
2233ᾶι
2234αι
2235ᜎι
2236ηι
2237ήι
2238ῆ
2239ῆι
2240ηι
2241ῒ
2242ΐ
2243ῖ
2244ῗ
2245ῢ
2246ΰ
2247ῤ
2248ῦ
2249ῧ
2250ᜌι
2251ωι
2252ώι
2253ῶ
2254ῶι
2255ωι
2256ff
2257fi
2258fl
2259ffi
2260ffl
2261st
2262st
2263ÕŽÕ¶
2264ÕŽÕ¥
2265ÕŽÕ«
2266ÕŸÕ¶
2267ÕŽÕ­
2268)__";
2269
2270        const static std::vector<codepoint_t> defined_cps{
2271        0x00df, 0x0130, 0x0149, 0x01f0, 0x0390, 0x03b0, 0x0587, 0x1e96,
2272        0x1e97, 0x1e98, 0x1e99, 0x1e9a, 0x1e9e, 0x1f50, 0x1f52, 0x1f54,
2273        0x1f56, 0x1f80, 0x1f81, 0x1f82, 0x1f83, 0x1f84, 0x1f85, 0x1f86,
2274        0x1f87, 0x1f88, 0x1f89, 0x1f8a, 0x1f8b, 0x1f8c, 0x1f8d, 0x1f8e,
2275        0x1f8f, 0x1f90, 0x1f91, 0x1f92, 0x1f93, 0x1f94, 0x1f95, 0x1f96,
2276        0x1f97, 0x1f98, 0x1f99, 0x1f9a, 0x1f9b, 0x1f9c, 0x1f9d, 0x1f9e,
2277        0x1f9f, 0x1fa0, 0x1fa1, 0x1fa2, 0x1fa3, 0x1fa4, 0x1fa5, 0x1fa6,
2278        0x1fa7, 0x1fa8, 0x1fa9, 0x1faa, 0x1fab, 0x1fac, 0x1fad, 0x1fae,
2279        0x1faf, 0x1fb2, 0x1fb3, 0x1fb4, 0x1fb6, 0x1fb7, 0x1fbc, 0x1fc2,
2280        0x1fc3, 0x1fc4, 0x1fc6, 0x1fc7, 0x1fcc, 0x1fd2, 0x1fd3, 0x1fd6,
2281        0x1fd7, 0x1fe2, 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2, 0x1ff3,
2282        0x1ff4, 0x1ff6, 0x1ff7, 0x1ffc, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
2283        0xfb04, 0xfb05, 0xfb06, 0xfb13, 0xfb14, 0xfb15, 0xfb16, 0xfb17};
2284        static StringOverridePropertyObject property_object(cf, 
2285                                                    SCF_ns::property_object, 
2286                                                    std::move(explicitly_defined_set), 
2287                                                    static_cast<const char *>(string_buffer), 
2288                                                    std::move(buffer_offsets), 
2289                                                    std::move(defined_cps));
2290    }
2291}
2292
2293#endif
Note: See TracBrowser for help on using the repository browser.