source: icGREP/icgrep-devel/icgrep/UCD/GraphemeBreakProperty.h @ 5765

Last change on this file since 5765 was 5751, checked in by cameron, 20 months ago

LLVM_ALIGNAS placement, eliminate std::move of temp objects to allow copy elision

File size: 55.8 KB
Line 
1#ifndef GRAPHEMEBREAKPROPERTY_H
2#define GRAPHEMEBREAKPROPERTY_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
16namespace UCD {
17  namespace GCB_ns {
18    const unsigned independent_prop_values = 18;
19    /** Code Point Ranges for XX
20    [0020, 007e], [00a0, 00ac], [00ae, 02ff], [0370, 0482], [048a, 0590],
21    [05be, 05be], [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05c8, 05ff],
22    [0606, 060f], [061b, 061b], [061d, 064a], [0660, 066f], [0671, 06d5],
23    [06de, 06de], [06e5, 06e6], [06e9, 06e9], [06ee, 070e], [0710, 0710],
24    [0712, 072f], [074b, 07a5], [07b1, 07ea], [07f4, 0815], [081a, 081a],
25    [0824, 0824], [0828, 0828], [082e, 0858], [085c, 08d3], [0904, 0939],
26    [093d, 093d], [0950, 0950], [0958, 0961], [0964, 0980], [0984, 09bb],
27    [09bd, 09bd], [09c5, 09c6], [09c9, 09ca], [09ce, 09d6], [09d8, 09e1],
28    [09e4, 0a00], [0a04, 0a3b], [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a],
29    [0a4e, 0a50], [0a52, 0a6f], [0a72, 0a74], [0a76, 0a80], [0a84, 0abb],
30    [0abd, 0abd], [0ac6, 0ac6], [0aca, 0aca], [0ace, 0ae1], [0ae4, 0af9],
31    [0b00, 0b00], [0b04, 0b3b], [0b3d, 0b3d], [0b45, 0b46], [0b49, 0b4a],
32    [0b4e, 0b55], [0b58, 0b61], [0b64, 0b81], [0b83, 0bbd], [0bc3, 0bc5],
33    [0bc9, 0bc9], [0bce, 0bd6], [0bd8, 0bff], [0c04, 0c3d], [0c45, 0c45],
34    [0c49, 0c49], [0c4e, 0c54], [0c57, 0c61], [0c64, 0c80], [0c84, 0cbb],
35    [0cbd, 0cbd], [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4], [0cd7, 0ce1],
36    [0ce4, 0cff], [0d04, 0d3a], [0d3d, 0d3d], [0d45, 0d45], [0d49, 0d49],
37    [0d4f, 0d56], [0d58, 0d61], [0d64, 0d81], [0d84, 0dc9], [0dcb, 0dce],
38    [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0df1], [0df4, 0e30], [0e32, 0e32],
39    [0e3b, 0e46], [0e4f, 0eb0], [0eb2, 0eb2], [0eba, 0eba], [0ebd, 0ec7],
40    [0ece, 0f17], [0f1a, 0f34], [0f36, 0f36], [0f38, 0f38], [0f3a, 0f3d],
41    [0f40, 0f70], [0f85, 0f85], [0f88, 0f8c], [0f98, 0f98], [0fbd, 0fc5],
42    [0fc7, 102c], [1038, 1038], [103f, 1055], [105a, 105d], [1061, 1070],
43    [1075, 1081], [1083, 1083], [1087, 108c], [108e, 109c], [109e, 10ff],
44    [1200, 135c], [1360, 1711], [1715, 1731], [1735, 1751], [1754, 1771],
45    [1774, 17b3], [17d4, 17dc], [17de, 180a], [180f, 1884], [1887, 18a8],
46    [18aa, 191f], [192c, 192f], [193c, 1a16], [1a1c, 1a54], [1a5f, 1a5f],
47    [1a61, 1a61], [1a63, 1a64], [1a7d, 1a7e], [1a80, 1aaf], [1abf, 1aff],
48    [1b05, 1b33], [1b45, 1b6a], [1b74, 1b7f], [1b83, 1ba0], [1bae, 1be5],
49    [1bf4, 1c23], [1c38, 1ccf], [1cd3, 1cd3], [1ce9, 1cec], [1cee, 1cf1],
50    [1cf5, 1cf6], [1cfa, 1dbf], [1dfa, 1dfa], [1e00, 200a], [2010, 2027],
51    [202f, 205f], [2070, 20cf], [20f1, 261c], [261e, 263f], [2641, 2641],
52    [2643, 2694], [2697, 26f8], [26fa, 2707], [2709, 2709], [270e, 2763],
53    [2765, 2cee], [2cf2, 2d7e], [2d80, 2ddf], [2e00, 3029], [3030, 3098],
54    [309b, a66e], [a673, a673], [a67e, a69d], [a6a0, a6ef], [a6f2, a801],
55    [a803, a805], [a807, a80a], [a80c, a822], [a828, a87f], [a882, a8b3],
56    [a8c6, a8df], [a8f2, a925], [a92e, a946], [a954, a95f], [a97d, a97f],
57    [a984, a9b2], [a9c1, a9e4], [a9e6, aa28], [aa37, aa42], [aa44, aa4b],
58    [aa4e, aa7b], [aa7d, aaaf], [aab1, aab1], [aab5, aab6], [aab9, aabd],
59    [aac0, aac0], [aac2, aaea], [aaf0, aaf4], [aaf7, abe2], [abeb, abeb],
60    [abee, abff], [d7a4, d7af], [d7c7, d7ca], [d7fc, d7ff], [e000, fb1d],
61    [fb1f, fdff], [fe10, fe1f], [fe30, fefe], [ff00, ff9d], [ffa0, ffef],
62    [fffc, 101fc], [101fe, 102df], [102e1, 10375], [1037b, 10a00],
63    [10a04, 10a04], [10a07, 10a0b], [10a10, 10a37], [10a3b, 10a3e],
64    [10a40, 10ae4], [10ae7, 10fff], [11003, 11037], [11047, 1107e],
65    [11083, 110af], [110bb, 110bc], [110be, 110ff], [11103, 11126],
66    [11135, 11172], [11174, 1117f], [11183, 111b2], [111c1, 111c1],
67    [111c4, 111c9], [111cd, 1122b], [11238, 1123d], [1123f, 112de],
68    [112eb, 112ff], [11304, 1133b], [1133d, 1133d], [11345, 11346],
69    [11349, 1134a], [1134e, 11356], [11358, 11361], [11364, 11365],
70    [1136d, 1136f], [11375, 11434], [11447, 114af], [114c4, 115ae],
71    [115b6, 115b7], [115c1, 115db], [115de, 1162f], [11641, 116aa],
72    [116b8, 1171c], [1172c, 11a00], [11a0b, 11a32], [11a3f, 11a46],
73    [11a48, 11a50], [11a5c, 11a85], [11a9a, 11c2e], [11c37, 11c37],
74    [11c40, 11c91], [11ca8, 11ca8], [11cb7, 11d30], [11d37, 11d39],
75    [11d3b, 11d3b], [11d3e, 11d3e], [11d48, 16aef], [16af5, 16b2f],
76    [16b37, 16f50], [16f7f, 16f8e], [16f93, 1bc9c], [1bc9f, 1bc9f],
77    [1bca4, 1d164], [1d16a, 1d16c], [1d183, 1d184], [1d18c, 1d1a9],
78    [1d1ae, 1d241], [1d245, 1d9ff], [1da37, 1da3a], [1da6d, 1da74],
79    [1da76, 1da83], [1da85, 1da9a], [1daa0, 1daa0], [1dab0, 1dfff],
80    [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022], [1e025, 1e025],
81    [1e02b, 1e8cf], [1e8d7, 1e943], [1e94b, 1f1e5], [1f200, 1f307],
82    [1f309, 1f33d], [1f33f, 1f372], [1f374, 1f384], [1f386, 1f392],
83    [1f394, 1f3a3], [1f3a5, 1f3a7], [1f3a9, 1f3c1], [1f3c5, 1f3c6],
84    [1f3c8, 1f3c9], [1f3cd, 1f3ea], [1f3ec, 1f3ec], [1f3ee, 1f3fa],
85    [1f400, 1f441], [1f444, 1f445], [1f451, 1f465], [1f46a, 1f46d],
86    [1f46f, 1f46f], [1f479, 1f47b], [1f47d, 1f480], [1f484, 1f484],
87    [1f488, 1f48a], [1f48c, 1f4a9], [1f4ab, 1f4ba], [1f4bd, 1f526],
88    [1f528, 1f52b], [1f52d, 1f573], [1f576, 1f579], [1f57b, 1f58f],
89    [1f591, 1f594], [1f597, 1f5e7], [1f5e9, 1f644], [1f648, 1f64a],
90    [1f650, 1f67f], [1f681, 1f691], [1f693, 1f6a2], [1f6a4, 1f6b3],
91    [1f6b7, 1f6bf], [1f6c1, 1f6cb], [1f6cd, 1f917], [1f91d, 1f91d],
92    [1f920, 1f925], [1f927, 1f92f], [1f93a, 1f93c], [1f93f, 1f9d0],
93    [1f9de, dffff], [e1000, 10ffff]**/
94
95
96    namespace {
97    const static UnicodeSet::run_t __xx_Set_runs[] = {
98    {Empty, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 18},
99    {Empty, 3}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 7}, {Mixed, 3},
100    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5},
101    {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Full, 3}, {Mixed, 1},
102    {Empty, 1}, {Mixed, 23}, {Full, 1}, {Mixed, 13}, {Full, 1}, {Mixed, 2},
103    {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
104    {Full, 1}, {Mixed, 4}, {Full, 2}, {Mixed, 4}, {Full, 3}, {Empty, 8},
105    {Full, 10}, {Mixed, 1}, {Full, 29}, {Mixed, 4}, {Full, 1}, {Mixed, 2},
106    {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
107    {Full, 6}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
108    {Full, 2}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
109    {Full, 4}, {Mixed, 2}, {Full, 6}, {Empty, 1}, {Mixed, 1}, {Full, 16},
110    {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 40},
111    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 2},
112    {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 43}, {Mixed, 1}, {Full, 3},
113    {Mixed, 1}, {Full, 3}, {Empty, 1}, {Full, 17}, {Mixed, 1}, {Full, 2},
114    {Mixed, 1}, {Full, 942}, {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 8},
115    {Mixed, 2}, {Full, 2}, {Mixed, 4}, {Full, 1}, {Mixed, 7}, {Full, 1},
116    {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 7}, {Mixed, 1}, {Empty, 349},
117    {Mixed, 3}, {Empty, 64}, {Full, 216}, {Mixed, 1}, {Full, 23},
118    {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 2},
119    {Mixed, 1}, {Full, 15}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 3},
120    {Mixed, 1}, {Full, 52}, {Mixed, 2}, {Full, 5}, {Mixed, 1}, {Full, 40},
121    {Mixed, 6}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Full, 2},
122    {Mixed, 1}, {Full, 4}, {Mixed, 6}, {Full, 5}, {Mixed, 2}, {Full, 2},
123    {Mixed, 2}, {Full, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 2},
124    {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 22}, {Mixed, 3}, {Full, 1},
125    {Mixed, 1}, {Full, 12}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 3},
126    {Mixed, 2}, {Full, 620}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 32},
127    {Mixed, 3}, {Full, 615}, {Mixed, 2}, {Full, 165}, {Mixed, 3}, {Full, 4},
128    {Mixed, 1}, {Full, 61}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
129    {Full, 42}, {Mixed, 2}, {Full, 68}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
130    {Full, 68}, {Mixed, 1}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 5},
131    {Full, 2}, {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
132    {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
133    {Full, 17}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 24625},
134    {Empty, 128}, {Full, 6016}};
135    const static UnicodeSet::bitquad_t  __xx_Set_quads[] = {
136    0x7fffffff, 0xffffdfff, 0xffff0000, 0xfffffc07, 0x0001ffff, 0x40000000,
137    0xffffff49, 0xe800ffc0, 0x000007ff, 0xfffeffff, 0x403fffff, 0xffffc260,
138    0xfffd7fff, 0x0000ffff, 0xfffff800, 0xfffe003f, 0xfff007ff, 0x043fffff,
139    0xffffc110, 0xf1ffffff, 0x000fffff, 0xfffffff0, 0x23ffffff, 0xff010000,
140    0xfffffff3, 0xfffffff1, 0x2fffffff, 0xff7fc660, 0xfffffff3, 0xfffffff1,
141    0x2fffffff, 0xfffdc678, 0xffdcffff, 0xfffffff1, 0x2fffffff, 0xffffc440,
142    0x03fffff3, 0xfffffff1, 0x2fffffff, 0xff3fc660, 0xfffffff3, 0xfffffffb,
143    0x3fffffff, 0xff7fc238, 0xfffffff0, 0x3fffffff, 0xff9fc220, 0xfffffff3,
144    0xfffffff1, 0x2fffffff, 0xff9fc220, 0xfffffff3, 0xfffffff0, 0x27ffffff,
145    0xff7f8220, 0xfffffff3, 0xfffffff3, 0x00a07bff, 0xfff3ffff, 0xf805ffff,
146    0xffff807f, 0xe405ffff, 0xffffc0ff, 0xfcffffff, 0x3d5fffff, 0x0001ffff,
147    0x01001f20, 0xe0000000, 0xffffffbf, 0x81001fff, 0x3c3fffff, 0xffe1fffe,
148    0xdfffdf8b, 0x1fffffff, 0xffe3ffff, 0xffe3ffff, 0xfff3ffff, 0xfff3ffff,
149    0x000fffff, 0xdff00000, 0xffff87ff, 0xffffff9f, 0xfffffdff, 0xf000f000,
150    0xf07fffff, 0x801fffff, 0x6000001a, 0x8000ffff, 0xffffffe0, 0x000fffff,
151    0xffffffe0, 0xfff007ff, 0xfffffff8, 0xffffc001, 0xfff0003f, 0xff00000f,
152    0x0008ffff, 0xfc63de00, 0x04000000, 0xffff07ff, 0xffff80ff, 0xffff0000,
153    0x0000ffff, 0xfffe0000, 0xdfffffff, 0xfffffffa, 0xff9fffff, 0xfdffffff,
154    0xffffc2ff, 0xffffffef, 0xfffc7fff, 0x7fffffff, 0xffff03ff, 0xf9ffffff,
155    0xc0087fff, 0x3fffffff, 0xfffcffff, 0xfffff7bb, 0xffffff07, 0xfffffffc,
156    0x000fffff, 0xffffffc0, 0xfffc0000, 0xffffc03f, 0xfff0007f, 0xe0000000,
157    0xfffffff0, 0x0007ffff, 0xfffffffe, 0xffffffdf, 0xff8001ff, 0xffffcff7,
158    0xefffffff, 0x3e62ffff, 0xfffffffd, 0xff9f07ff, 0xffffc807, 0x0000fff0,
159    0x00000780, 0xf0000000, 0xbfffffff, 0xffff0000, 0xffff0000, 0x7fffffff,
160    0x3fffffff, 0xf000ffff, 0xdfffffff, 0xfffffffe, 0xf83fffff, 0xffff0f91,
161    0x78ffffff, 0xffffff9f, 0xfffffff8, 0x00ffffff, 0xffffff80, 0x7fffffff,
162    0xfffffff8, 0xd800ffff, 0xfffffff8, 0xffe0007f, 0xfff7ffff, 0xfffffff8,
163    0x0007ffff, 0xffffe3f2, 0xbf000fff, 0x7fffffff, 0xfffff800, 0xfffffff0,
164    0x2fffffff, 0xff7fc660, 0xffe0e033, 0x001fffff, 0xffffff80, 0x0000ffff,
165    0xfffffff0, 0x00c07fff, 0xcffffffe, 0x0000ffff, 0xfffffffe, 0xff0007ff,
166    0x1fffffff, 0xfffff000, 0xfffff801, 0x8007ffff, 0xf001ff7f, 0xfc00003f,
167    0x00807fff, 0x0003ffff, 0xff800100, 0x4b81ffff, 0xffffff00, 0xffe0ffff,
168    0xff80ffff, 0x0001ffff, 0x80000000, 0xfff87fff, 0x9fffffff, 0xfffffff0,
169    0x00001c1f, 0xfffff018, 0xffffc3ff, 0xffffffe3, 0x07800000, 0xffdfe000,
170    0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824, 0xff80ffff, 0xfffff80f,
171    0x0000003f, 0xfffffeff, 0xbfffffff, 0xfff7ffff, 0xfff7ffdf, 0xfffffeef,
172    0xffffe363, 0x07ffd7ff, 0xfffe0033, 0xee00bc3f, 0xfffff711, 0xe7fffbff,
173    0xffffef7f, 0xfbcfffff, 0xff9effff, 0xfffffeff, 0xffff071f, 0xfffbfffe,
174    0xff8ffff7, 0xffffeffe, 0x20ffffff, 0x9c00ffbf, 0xc001ffff};
175    }
176
177    const static UnicodeSet xx_Set{const_cast<UnicodeSet::run_t *>(__xx_Set_runs), 216, 0, const_cast<UnicodeSet::bitquad_t *>(__xx_Set_quads), 233, 0};
178
179    /** Code Point Ranges for PP
180    [0600, 0605], [06dd, 06dd], [070f, 070f], [08e2, 08e2], [0d4e, 0d4e],
181    [110bd, 110bd], [111c2, 111c3], [11a3a, 11a3a], [11a86, 11a89],
182    [11d46, 11d46]**/
183
184
185    namespace {
186    const static UnicodeSet::run_t __pp_Set_runs[] = {
187    {Empty, 48}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
188    {Empty, 14}, {Mixed, 1}, {Empty, 34}, {Mixed, 1}, {Empty, 2074},
189    {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 66}, {Mixed, 1}, {Empty, 2},
190    {Mixed, 1}, {Empty, 21}, {Mixed, 1}, {Empty, 32533}};
191    const static UnicodeSet::bitquad_t  __pp_Set_quads[] = {
192    0x0000003f, 0x20000000, 0x00008000, 0x00000004, 0x00004000, 0x20000000,
193    0x0000000c, 0x04000000, 0x000003c0, 0x00000040};
194    }
195
196    const static UnicodeSet pp_Set{const_cast<UnicodeSet::run_t *>(__pp_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__pp_Set_quads), 10, 0};
197
198    /** Code Point Ranges for CR
199    [000d, 000d]**/
200
201
202    namespace {
203    const static UnicodeSet::run_t __cr_Set_runs[] = {
204    {Mixed, 1}, {Empty, 34815}};
205    const static UnicodeSet::bitquad_t  __cr_Set_quads[] = {
206    0x00002000};
207    }
208
209    const static UnicodeSet cr_Set{const_cast<UnicodeSet::run_t *>(__cr_Set_runs), 2, 0, const_cast<UnicodeSet::bitquad_t *>(__cr_Set_quads), 1, 0};
210
211    /** Code Point Ranges for LF
212    [000a, 000a]**/
213
214
215    namespace {
216    const static UnicodeSet::run_t __lf_Set_runs[] = {
217    {Mixed, 1}, {Empty, 34815}};
218    const static UnicodeSet::bitquad_t  __lf_Set_quads[] = {
219    0x00000400};
220    }
221
222    const static UnicodeSet lf_Set{const_cast<UnicodeSet::run_t *>(__lf_Set_runs), 2, 0, const_cast<UnicodeSet::bitquad_t *>(__lf_Set_quads), 1, 0};
223
224    /** Code Point Ranges for CN
225    [0000, 0009], [000b, 000c], [000e, 001f], [007f, 009f], [00ad, 00ad],
226    [061c, 061c], [180e, 180e], [200b, 200b], [200e, 200f], [2028, 202e],
227    [2060, 206f], [d800, dfff], [feff, feff], [fff0, fffb], [1bca0, 1bca3],
228    [1d173, 1d17a], [e0000, e001f], [e0080, e00ff], [e01f0, e0fff]**/
229
230
231    namespace {
232    const static UnicodeSet::run_t __cn_Set_runs[] = {
233    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 42},
234    {Mixed, 1}, {Empty, 143}, {Mixed, 1}, {Empty, 63}, {Mixed, 2},
235    {Empty, 1}, {Mixed, 1}, {Empty, 1468}, {Full, 64}, {Empty, 247},
236    {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 1509}, {Mixed, 1},
237    {Empty, 165}, {Mixed, 1}, {Empty, 24948}, {Full, 1}, {Empty, 3},
238    {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 112}, {Empty, 6016}};
239    const static UnicodeSet::bitquad_t  __cn_Set_quads[] = {
240    0xffffdbff, 0x80000000, 0x00002000, 0x10000000, 0x00004000, 0x0000c800,
241    0x00007f00, 0x0000ffff, 0x80000000, 0x0fff0000, 0x0000000f, 0x07f80000,
242    0xffff0000};
243    }
244
245    const static UnicodeSet cn_Set{const_cast<UnicodeSet::run_t *>(__cn_Set_runs), 31, 0, const_cast<UnicodeSet::bitquad_t *>(__cn_Set_quads), 13, 0};
246
247    /** Code Point Ranges for EX
248    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
249    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
250    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
251    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
252    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0902],
253    [093a, 093a], [093c, 093c], [0941, 0948], [094d, 094d], [0951, 0957],
254    [0962, 0963], [0981, 0981], [09bc, 09bc], [09be, 09be], [09c1, 09c4],
255    [09cd, 09cd], [09d7, 09d7], [09e2, 09e3], [0a01, 0a02], [0a3c, 0a3c],
256    [0a41, 0a42], [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71],
257    [0a75, 0a75], [0a81, 0a82], [0abc, 0abc], [0ac1, 0ac5], [0ac7, 0ac8],
258    [0acd, 0acd], [0ae2, 0ae3], [0afa, 0aff], [0b01, 0b01], [0b3c, 0b3c],
259    [0b3e, 0b3f], [0b41, 0b44], [0b4d, 0b4d], [0b56, 0b57], [0b62, 0b63],
260    [0b82, 0b82], [0bbe, 0bbe], [0bc0, 0bc0], [0bcd, 0bcd], [0bd7, 0bd7],
261    [0c00, 0c00], [0c3e, 0c40], [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56],
262    [0c62, 0c63], [0c81, 0c81], [0cbc, 0cbc], [0cbf, 0cbf], [0cc2, 0cc2],
263    [0cc6, 0cc6], [0ccc, 0ccd], [0cd5, 0cd6], [0ce2, 0ce3], [0d00, 0d01],
264    [0d3b, 0d3c], [0d3e, 0d3e], [0d41, 0d44], [0d4d, 0d4d], [0d57, 0d57],
265    [0d62, 0d63], [0dca, 0dca], [0dcf, 0dcf], [0dd2, 0dd4], [0dd6, 0dd6],
266    [0ddf, 0ddf], [0e31, 0e31], [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1],
267    [0eb4, 0eb9], [0ebb, 0ebc], [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35],
268    [0f37, 0f37], [0f39, 0f39], [0f71, 0f7e], [0f80, 0f84], [0f86, 0f87],
269    [0f8d, 0f97], [0f99, 0fbc], [0fc6, 0fc6], [102d, 1030], [1032, 1037],
270    [1039, 103a], [103d, 103e], [1058, 1059], [105e, 1060], [1071, 1074],
271    [1082, 1082], [1085, 1086], [108d, 108d], [109d, 109d], [135d, 135f],
272    [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773], [17b4, 17b5],
273    [17b7, 17bd], [17c6, 17c6], [17c9, 17d3], [17dd, 17dd], [180b, 180d],
274    [1885, 1886], [18a9, 18a9], [1920, 1922], [1927, 1928], [1932, 1932],
275    [1939, 193b], [1a17, 1a18], [1a1b, 1a1b], [1a56, 1a56], [1a58, 1a5e],
276    [1a60, 1a60], [1a62, 1a62], [1a65, 1a6c], [1a73, 1a7c], [1a7f, 1a7f],
277    [1ab0, 1abe], [1b00, 1b03], [1b34, 1b34], [1b36, 1b3a], [1b3c, 1b3c],
278    [1b42, 1b42], [1b6b, 1b73], [1b80, 1b81], [1ba2, 1ba5], [1ba8, 1ba9],
279    [1bab, 1bad], [1be6, 1be6], [1be8, 1be9], [1bed, 1bed], [1bef, 1bf1],
280    [1c2c, 1c33], [1c36, 1c37], [1cd0, 1cd2], [1cd4, 1ce0], [1ce2, 1ce8],
281    [1ced, 1ced], [1cf4, 1cf4], [1cf8, 1cf9], [1dc0, 1df9], [1dfb, 1dff],
282    [200c, 200c], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f], [2de0, 2dff],
283    [302a, 302f], [3099, 309a], [a66f, a672], [a674, a67d], [a69e, a69f],
284    [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b], [a825, a826],
285    [a8c4, a8c5], [a8e0, a8f1], [a926, a92d], [a947, a951], [a980, a982],
286    [a9b3, a9b3], [a9b6, a9b9], [a9bc, a9bc], [a9e5, a9e5], [aa29, aa2e],
287    [aa31, aa32], [aa35, aa36], [aa43, aa43], [aa4c, aa4c], [aa7c, aa7c],
288    [aab0, aab0], [aab2, aab4], [aab7, aab8], [aabe, aabf], [aac1, aac1],
289    [aaec, aaed], [aaf6, aaf6], [abe5, abe5], [abe8, abe8], [abed, abed],
290    [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f], [ff9e, ff9f], [101fd, 101fd],
291    [102e0, 102e0], [10376, 1037a], [10a01, 10a03], [10a05, 10a06],
292    [10a0c, 10a0f], [10a38, 10a3a], [10a3f, 10a3f], [10ae5, 10ae6],
293    [11001, 11001], [11038, 11046], [1107f, 11081], [110b3, 110b6],
294    [110b9, 110ba], [11100, 11102], [11127, 1112b], [1112d, 11134],
295    [11173, 11173], [11180, 11181], [111b6, 111be], [111ca, 111cc],
296    [1122f, 11231], [11234, 11234], [11236, 11237], [1123e, 1123e],
297    [112df, 112df], [112e3, 112ea], [11300, 11301], [1133c, 1133c],
298    [1133e, 1133e], [11340, 11340], [11357, 11357], [11366, 1136c],
299    [11370, 11374], [11438, 1143f], [11442, 11444], [11446, 11446],
300    [114b0, 114b0], [114b3, 114b8], [114ba, 114ba], [114bd, 114bd],
301    [114bf, 114c0], [114c2, 114c3], [115af, 115af], [115b2, 115b5],
302    [115bc, 115bd], [115bf, 115c0], [115dc, 115dd], [11633, 1163a],
303    [1163d, 1163d], [1163f, 11640], [116ab, 116ab], [116ad, 116ad],
304    [116b0, 116b5], [116b7, 116b7], [1171d, 1171f], [11722, 11725],
305    [11727, 1172b], [11a01, 11a06], [11a09, 11a0a], [11a33, 11a38],
306    [11a3b, 11a3e], [11a47, 11a47], [11a51, 11a56], [11a59, 11a5b],
307    [11a8a, 11a96], [11a98, 11a99], [11c30, 11c36], [11c38, 11c3d],
308    [11c3f, 11c3f], [11c92, 11ca7], [11caa, 11cb0], [11cb2, 11cb3],
309    [11cb5, 11cb6], [11d31, 11d36], [11d3a, 11d3a], [11d3c, 11d3d],
310    [11d3f, 11d45], [11d47, 11d47], [16af0, 16af4], [16b30, 16b36],
311    [16f8f, 16f92], [1bc9d, 1bc9e], [1d165, 1d165], [1d167, 1d169],
312    [1d16e, 1d172], [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad],
313    [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c], [1da75, 1da75],
314    [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf], [1e000, 1e006],
315    [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a],
316    [1e8d0, 1e8d6], [1e944, 1e94a], [e0020, e007f], [e0100, e01ef]**/
317
318
319    namespace {
320    const static UnicodeSet::run_t __ex_Set_runs[] = {
321    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 7},
322    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
323    {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
324    {Mixed, 25}, {Empty, 1}, {Mixed, 12}, {Empty, 2}, {Mixed, 1},
325    {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
326    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
327    {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
328    {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
329    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
330    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
331    {Empty, 6}, {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
332    {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
333    {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
334    {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
335    {Mixed, 2}, {Empty, 4}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
336    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
337    {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 632}, {Mixed, 1},
338    {Empty, 23}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 18},
339    {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52},
340    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2},
341    {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4},
342    {Mixed, 6}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
343    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
344    {Mixed, 2}, {Empty, 22}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
345    {Empty, 12}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
346    {Empty, 620}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 34},
347    {Mixed, 1}, {Empty, 615}, {Mixed, 1}, {Empty, 166}, {Mixed, 3},
348    {Empty, 4}, {Mixed, 1}, {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1},
349    {Mixed, 3}, {Empty, 42}, {Mixed, 2}, {Empty, 68}, {Mixed, 1},
350    {Empty, 3}, {Mixed, 1}, {Empty, 24758}, {Full, 3}, {Empty, 4},
351    {Full, 7}, {Mixed, 1}, {Empty, 6128}};
352    const static UnicodeSet::bitquad_t  __ex_Set_quads[] = {
353    0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x07ff0000,
354    0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000, 0xffff0000,
355    0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000, 0x00003eef, 0x0e000000,
356    0xfff00000, 0xfffffffb, 0x00000007, 0x14000000, 0x00fe21fe, 0x0000000c,
357    0x00000002, 0x50000000, 0x0080201e, 0x0000000c, 0x00000006, 0x10000000,
358    0x00023986, 0x00230000, 0x00000006, 0x10000000, 0x000021be, 0xfc00000c,
359    0x00000002, 0xd0000000, 0x00c0201e, 0x0000000c, 0x00000004, 0x40000000,
360    0x00802001, 0x00000001, 0xc0000000, 0x00603dc1, 0x0000000c, 0x00000002,
361    0x90000000, 0x00603044, 0x0000000c, 0x00000003, 0x58000000, 0x0080201e,
362    0x0000000c, 0x805c8400, 0x07f20000, 0x00007f80, 0x1bf20000, 0x00003f00,
363    0x03000000, 0x02a00000, 0x7ffe0000, 0xfeffe0df, 0x1fffffff, 0x00000040,
364    0x66fde000, 0xc3000000, 0x001e0001, 0x20002064, 0xe0000000, 0x001c0000,
365    0x001c0000, 0x000c0000, 0x000c0000, 0x3fb00000, 0x200ffe40, 0x00003800,
366    0x00000060, 0x00000200, 0x0e040187, 0x09800000, 0x7f400000, 0x9ff81fe5,
367    0x7fff0000, 0x0000000f, 0x17d00000, 0x00000004, 0x000ff800, 0x00000003,
368    0x00003b3c, 0x0003a340, 0x00cff000, 0xfff70000, 0x031021fd, 0xfbffffff,
369    0x00001000, 0xffff0000, 0x0001ffff, 0x00038000, 0x80000000, 0x0000fc00,
370    0x06000000, 0x3ff78000, 0xc0000000, 0x00030000, 0x00000844, 0x00000060,
371    0x00000030, 0x0003ffff, 0x00003fc0, 0x0003ff80, 0x00000007, 0x13c80000,
372    0x00000020, 0x00667e00, 0x00001008, 0x10000000, 0xc19d0000, 0x00000002,
373    0x00403000, 0x00002120, 0x40000000, 0x0000ffff, 0x0000ffff, 0xc0000000,
374    0x20000000, 0x00000001, 0x07c00000, 0x0000f06e, 0x87000000, 0x00000060,
375    0x00000002, 0xff000000, 0x0000007f, 0x80000000, 0x00000003, 0x06780000,
376    0x00000007, 0x001fef80, 0x00080000, 0x00000003, 0x7fc00000, 0x00001c00,
377    0x40d38000, 0x80000000, 0x000007f8, 0x00000003, 0x50000000, 0x00800001,
378    0x001f1fc0, 0xff000000, 0x0000005c, 0xa5f90000, 0x0000000d, 0xb03c8000,
379    0x30000001, 0xa7f80000, 0x00000001, 0x00bf2800, 0xe0000000, 0x00000fbc,
380    0x0000067e, 0x79f80000, 0x0e7e0080, 0x037ffc00, 0xbf7f0000, 0xfffc0000,
381    0x006dfcff, 0xb47e0000, 0x000000bf, 0x001f0000, 0x007f0000, 0x00078000,
382    0x60000000, 0xf807c3a0, 0x00000fe7, 0x00003c00, 0x0000001c, 0xf87fffff,
383    0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db, 0x007f0000,
384    0x000007f0, 0x0000ffff};
385    }
386
387    const static UnicodeSet ex_Set{const_cast<UnicodeSet::run_t *>(__ex_Set_runs), 173, 0, const_cast<UnicodeSet::bitquad_t *>(__ex_Set_quads), 188, 0};
388
389    /** Code Point Ranges for RI
390    [1f1e6, 1f1ff]**/
391
392
393    namespace {
394    const static UnicodeSet::run_t __ri_Set_runs[] = {
395    {Empty, 3983}, {Mixed, 1}, {Empty, 30832}};
396    const static UnicodeSet::bitquad_t  __ri_Set_quads[] = {
397    0xffffffc0};
398    }
399
400    const static UnicodeSet ri_Set{const_cast<UnicodeSet::run_t *>(__ri_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__ri_Set_quads), 1, 0};
401
402    /** Code Point Ranges for SM
403    [0903, 0903], [093b, 093b], [093e, 0940], [0949, 094c], [094e, 094f],
404    [0982, 0983], [09bf, 09c0], [09c7, 09c8], [09cb, 09cc], [0a03, 0a03],
405    [0a3e, 0a40], [0a83, 0a83], [0abe, 0ac0], [0ac9, 0ac9], [0acb, 0acc],
406    [0b02, 0b03], [0b40, 0b40], [0b47, 0b48], [0b4b, 0b4c], [0bbf, 0bbf],
407    [0bc1, 0bc2], [0bc6, 0bc8], [0bca, 0bcc], [0c01, 0c03], [0c41, 0c44],
408    [0c82, 0c83], [0cbe, 0cbe], [0cc0, 0cc1], [0cc3, 0cc4], [0cc7, 0cc8],
409    [0cca, 0ccb], [0d02, 0d03], [0d3f, 0d40], [0d46, 0d48], [0d4a, 0d4c],
410    [0d82, 0d83], [0dd0, 0dd1], [0dd8, 0dde], [0df2, 0df3], [0e33, 0e33],
411    [0eb3, 0eb3], [0f3e, 0f3f], [0f7f, 0f7f], [1031, 1031], [103b, 103c],
412    [1056, 1057], [1084, 1084], [17b6, 17b6], [17be, 17c5], [17c7, 17c8],
413    [1923, 1926], [1929, 192b], [1930, 1931], [1933, 1938], [1a19, 1a1a],
414    [1a55, 1a55], [1a57, 1a57], [1a6d, 1a72], [1b04, 1b04], [1b35, 1b35],
415    [1b3b, 1b3b], [1b3d, 1b41], [1b43, 1b44], [1b82, 1b82], [1ba1, 1ba1],
416    [1ba6, 1ba7], [1baa, 1baa], [1be7, 1be7], [1bea, 1bec], [1bee, 1bee],
417    [1bf2, 1bf3], [1c24, 1c2b], [1c34, 1c35], [1ce1, 1ce1], [1cf2, 1cf3],
418    [1cf7, 1cf7], [a823, a824], [a827, a827], [a880, a881], [a8b4, a8c3],
419    [a952, a953], [a983, a983], [a9b4, a9b5], [a9ba, a9bb], [a9bd, a9c0],
420    [aa2f, aa30], [aa33, aa34], [aa4d, aa4d], [aaeb, aaeb], [aaee, aaef],
421    [aaf5, aaf5], [abe3, abe4], [abe6, abe7], [abe9, abea], [abec, abec],
422    [11000, 11000], [11002, 11002], [11082, 11082], [110b0, 110b2],
423    [110b7, 110b8], [1112c, 1112c], [11182, 11182], [111b3, 111b5],
424    [111bf, 111c0], [1122c, 1122e], [11232, 11233], [11235, 11235],
425    [112e0, 112e2], [11302, 11303], [1133f, 1133f], [11341, 11344],
426    [11347, 11348], [1134b, 1134d], [11362, 11363], [11435, 11437],
427    [11440, 11441], [11445, 11445], [114b1, 114b2], [114b9, 114b9],
428    [114bb, 114bc], [114be, 114be], [114c1, 114c1], [115b0, 115b1],
429    [115b8, 115bb], [115be, 115be], [11630, 11632], [1163b, 1163c],
430    [1163e, 1163e], [116ac, 116ac], [116ae, 116af], [116b6, 116b6],
431    [11720, 11721], [11726, 11726], [11a07, 11a08], [11a39, 11a39],
432    [11a57, 11a58], [11a97, 11a97], [11c2f, 11c2f], [11c3e, 11c3e],
433    [11ca9, 11ca9], [11cb1, 11cb1], [11cb4, 11cb4], [16f51, 16f7e],
434    [1d166, 1d166], [1d16d, 1d16d]**/
435
436
437    namespace {
438    const static UnicodeSet::run_t __sm_Set_runs[] = {
439    {Empty, 72}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
440    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
441    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
442    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
443    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
444    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 2},
445    {Empty, 1}, {Mixed, 1}, {Empty, 56}, {Mixed, 2}, {Empty, 10},
446    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
447    {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
448    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 1113}, {Mixed, 1},
449    {Empty, 2}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
450    {Empty, 2}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 7}, {Mixed, 1},
451    {Empty, 800}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 3},
452    {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 5},
453    {Mixed, 5}, {Empty, 5}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6},
454    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
455    {Mixed, 1}, {Empty, 22}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
456    {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 660},
457    {Mixed, 2}, {Empty, 783}, {Mixed, 1}, {Empty, 31092}};
458    const static UnicodeSet::bitquad_t  __sm_Set_quads[] = {
459    0x00000008, 0xc8000000, 0x0000de01, 0x0000000c, 0x80000000, 0x00001981,
460    0x00000008, 0xc0000000, 0x00000001, 0x00000008, 0xc0000000, 0x00001a01,
461    0x0000000c, 0x00001981, 0x80000000, 0x00001dc6, 0x0000000e, 0x0000001e,
462    0x0000000c, 0x40000000, 0x00000d9b, 0x0000000c, 0x80000000, 0x00001dc1,
463    0x0000000c, 0x7f030000, 0x000c0000, 0x00080000, 0x00080000, 0xc0000000,
464    0x80000000, 0x18020000, 0x00c00000, 0x00000010, 0xc0400000, 0x000001bf,
465    0x01fb0e78, 0x06000000, 0x00a00000, 0x0007e000, 0x00000010, 0xe8200000,
466    0x0000001b, 0x00000004, 0x000004c2, 0x000c5c80, 0x00300ff0, 0x008c0002,
467    0x00000098, 0x00000003, 0xfff00000, 0x0000000f, 0x000c0000, 0x00000008,
468    0xec300000, 0x00000001, 0x00198000, 0x00002000, 0x0020c800, 0x000016d8,
469    0x00000005, 0x00000004, 0x01870000, 0x00001000, 0x00000004, 0x80380000,
470    0x00000001, 0x002c7000, 0x00000007, 0x0000000c, 0x80000000, 0x0000399e,
471    0x0000000c, 0x00e00000, 0x00000023, 0x5a060000, 0x00000002, 0x4f030000,
472    0x58070000, 0x0040d000, 0x00000043, 0x00000180, 0x02000000, 0x01800000,
473    0x00800000, 0x40008000, 0x00120200, 0xfffe0000, 0x7fffffff, 0x00002040};
474    }
475
476    const static UnicodeSet sm_Set{const_cast<UnicodeSet::run_t *>(__sm_Set_runs), 107, 0, const_cast<UnicodeSet::bitquad_t *>(__sm_Set_quads), 90, 0};
477
478    /** Code Point Ranges for L
479    [1100, 115f], [a960, a97c]**/
480
481
482    namespace {
483    const static UnicodeSet::run_t __l_Set_runs[] = {
484    {Empty, 136}, {Full, 3}, {Empty, 1216}, {Mixed, 1}, {Empty, 33460}};
485    const static UnicodeSet::bitquad_t  __l_Set_quads[] = {
486    0x1fffffff};
487    }
488
489    const static UnicodeSet l_Set{const_cast<UnicodeSet::run_t *>(__l_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__l_Set_quads), 1, 0};
490
491    /** Code Point Ranges for V
492    [1160, 11a7], [d7b0, d7c6]**/
493
494
495    namespace {
496    const static UnicodeSet::run_t __v_Set_runs[] = {
497    {Empty, 139}, {Full, 2}, {Mixed, 1}, {Empty, 1583}, {Mixed, 2},
498    {Empty, 33089}};
499    const static UnicodeSet::bitquad_t  __v_Set_quads[] = {
500    0x000000ff, 0xffff0000, 0x0000007f};
501    }
502
503    const static UnicodeSet v_Set{const_cast<UnicodeSet::run_t *>(__v_Set_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__v_Set_quads), 3, 0};
504
505    /** Code Point Ranges for T
506    [11a8, 11ff], [d7cb, d7fb]**/
507
508
509    namespace {
510    const static UnicodeSet::run_t __t_Set_runs[] = {
511    {Empty, 141}, {Mixed, 1}, {Full, 2}, {Empty, 1582}, {Mixed, 2},
512    {Empty, 33088}};
513    const static UnicodeSet::bitquad_t  __t_Set_quads[] = {
514    0xffffff00, 0xfffff800, 0x0fffffff};
515    }
516
517    const static UnicodeSet t_Set{const_cast<UnicodeSet::run_t *>(__t_Set_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__t_Set_quads), 3, 0};
518
519    /** Code Point Ranges for LV
520    [ac00, ac00], [ac1c, ac1c], [ac38, ac38], [ac54, ac54], [ac70, ac70],
521    [ac8c, ac8c], [aca8, aca8], [acc4, acc4], [ace0, ace0], [acfc, acfc],
522    [ad18, ad18], [ad34, ad34], [ad50, ad50], [ad6c, ad6c], [ad88, ad88],
523    [ada4, ada4], [adc0, adc0], [addc, addc], [adf8, adf8], [ae14, ae14],
524    [ae30, ae30], [ae4c, ae4c], [ae68, ae68], [ae84, ae84], [aea0, aea0],
525    [aebc, aebc], [aed8, aed8], [aef4, aef4], [af10, af10], [af2c, af2c],
526    [af48, af48], [af64, af64], [af80, af80], [af9c, af9c], [afb8, afb8],
527    [afd4, afd4], [aff0, aff0], [b00c, b00c], [b028, b028], [b044, b044],
528    [b060, b060], [b07c, b07c], [b098, b098], [b0b4, b0b4], [b0d0, b0d0],
529    [b0ec, b0ec], [b108, b108], [b124, b124], [b140, b140], [b15c, b15c],
530    [b178, b178], [b194, b194], [b1b0, b1b0], [b1cc, b1cc], [b1e8, b1e8],
531    [b204, b204], [b220, b220], [b23c, b23c], [b258, b258], [b274, b274],
532    [b290, b290], [b2ac, b2ac], [b2c8, b2c8], [b2e4, b2e4], [b300, b300],
533    [b31c, b31c], [b338, b338], [b354, b354], [b370, b370], [b38c, b38c],
534    [b3a8, b3a8], [b3c4, b3c4], [b3e0, b3e0], [b3fc, b3fc], [b418, b418],
535    [b434, b434], [b450, b450], [b46c, b46c], [b488, b488], [b4a4, b4a4],
536    [b4c0, b4c0], [b4dc, b4dc], [b4f8, b4f8], [b514, b514], [b530, b530],
537    [b54c, b54c], [b568, b568], [b584, b584], [b5a0, b5a0], [b5bc, b5bc],
538    [b5d8, b5d8], [b5f4, b5f4], [b610, b610], [b62c, b62c], [b648, b648],
539    [b664, b664], [b680, b680], [b69c, b69c], [b6b8, b6b8], [b6d4, b6d4],
540    [b6f0, b6f0], [b70c, b70c], [b728, b728], [b744, b744], [b760, b760],
541    [b77c, b77c], [b798, b798], [b7b4, b7b4], [b7d0, b7d0], [b7ec, b7ec],
542    [b808, b808], [b824, b824], [b840, b840], [b85c, b85c], [b878, b878],
543    [b894, b894], [b8b0, b8b0], [b8cc, b8cc], [b8e8, b8e8], [b904, b904],
544    [b920, b920], [b93c, b93c], [b958, b958], [b974, b974], [b990, b990],
545    [b9ac, b9ac], [b9c8, b9c8], [b9e4, b9e4], [ba00, ba00], [ba1c, ba1c],
546    [ba38, ba38], [ba54, ba54], [ba70, ba70], [ba8c, ba8c], [baa8, baa8],
547    [bac4, bac4], [bae0, bae0], [bafc, bafc], [bb18, bb18], [bb34, bb34],
548    [bb50, bb50], [bb6c, bb6c], [bb88, bb88], [bba4, bba4], [bbc0, bbc0],
549    [bbdc, bbdc], [bbf8, bbf8], [bc14, bc14], [bc30, bc30], [bc4c, bc4c],
550    [bc68, bc68], [bc84, bc84], [bca0, bca0], [bcbc, bcbc], [bcd8, bcd8],
551    [bcf4, bcf4], [bd10, bd10], [bd2c, bd2c], [bd48, bd48], [bd64, bd64],
552    [bd80, bd80], [bd9c, bd9c], [bdb8, bdb8], [bdd4, bdd4], [bdf0, bdf0],
553    [be0c, be0c], [be28, be28], [be44, be44], [be60, be60], [be7c, be7c],
554    [be98, be98], [beb4, beb4], [bed0, bed0], [beec, beec], [bf08, bf08],
555    [bf24, bf24], [bf40, bf40], [bf5c, bf5c], [bf78, bf78], [bf94, bf94],
556    [bfb0, bfb0], [bfcc, bfcc], [bfe8, bfe8], [c004, c004], [c020, c020],
557    [c03c, c03c], [c058, c058], [c074, c074], [c090, c090], [c0ac, c0ac],
558    [c0c8, c0c8], [c0e4, c0e4], [c100, c100], [c11c, c11c], [c138, c138],
559    [c154, c154], [c170, c170], [c18c, c18c], [c1a8, c1a8], [c1c4, c1c4],
560    [c1e0, c1e0], [c1fc, c1fc], [c218, c218], [c234, c234], [c250, c250],
561    [c26c, c26c], [c288, c288], [c2a4, c2a4], [c2c0, c2c0], [c2dc, c2dc],
562    [c2f8, c2f8], [c314, c314], [c330, c330], [c34c, c34c], [c368, c368],
563    [c384, c384], [c3a0, c3a0], [c3bc, c3bc], [c3d8, c3d8], [c3f4, c3f4],
564    [c410, c410], [c42c, c42c], [c448, c448], [c464, c464], [c480, c480],
565    [c49c, c49c], [c4b8, c4b8], [c4d4, c4d4], [c4f0, c4f0], [c50c, c50c],
566    [c528, c528], [c544, c544], [c560, c560], [c57c, c57c], [c598, c598],
567    [c5b4, c5b4], [c5d0, c5d0], [c5ec, c5ec], [c608, c608], [c624, c624],
568    [c640, c640], [c65c, c65c], [c678, c678], [c694, c694], [c6b0, c6b0],
569    [c6cc, c6cc], [c6e8, c6e8], [c704, c704], [c720, c720], [c73c, c73c],
570    [c758, c758], [c774, c774], [c790, c790], [c7ac, c7ac], [c7c8, c7c8],
571    [c7e4, c7e4], [c800, c800], [c81c, c81c], [c838, c838], [c854, c854],
572    [c870, c870], [c88c, c88c], [c8a8, c8a8], [c8c4, c8c4], [c8e0, c8e0],
573    [c8fc, c8fc], [c918, c918], [c934, c934], [c950, c950], [c96c, c96c],
574    [c988, c988], [c9a4, c9a4], [c9c0, c9c0], [c9dc, c9dc], [c9f8, c9f8],
575    [ca14, ca14], [ca30, ca30], [ca4c, ca4c], [ca68, ca68], [ca84, ca84],
576    [caa0, caa0], [cabc, cabc], [cad8, cad8], [caf4, caf4], [cb10, cb10],
577    [cb2c, cb2c], [cb48, cb48], [cb64, cb64], [cb80, cb80], [cb9c, cb9c],
578    [cbb8, cbb8], [cbd4, cbd4], [cbf0, cbf0], [cc0c, cc0c], [cc28, cc28],
579    [cc44, cc44], [cc60, cc60], [cc7c, cc7c], [cc98, cc98], [ccb4, ccb4],
580    [ccd0, ccd0], [ccec, ccec], [cd08, cd08], [cd24, cd24], [cd40, cd40],
581    [cd5c, cd5c], [cd78, cd78], [cd94, cd94], [cdb0, cdb0], [cdcc, cdcc],
582    [cde8, cde8], [ce04, ce04], [ce20, ce20], [ce3c, ce3c], [ce58, ce58],
583    [ce74, ce74], [ce90, ce90], [ceac, ceac], [cec8, cec8], [cee4, cee4],
584    [cf00, cf00], [cf1c, cf1c], [cf38, cf38], [cf54, cf54], [cf70, cf70],
585    [cf8c, cf8c], [cfa8, cfa8], [cfc4, cfc4], [cfe0, cfe0], [cffc, cffc],
586    [d018, d018], [d034, d034], [d050, d050], [d06c, d06c], [d088, d088],
587    [d0a4, d0a4], [d0c0, d0c0], [d0dc, d0dc], [d0f8, d0f8], [d114, d114],
588    [d130, d130], [d14c, d14c], [d168, d168], [d184, d184], [d1a0, d1a0],
589    [d1bc, d1bc], [d1d8, d1d8], [d1f4, d1f4], [d210, d210], [d22c, d22c],
590    [d248, d248], [d264, d264], [d280, d280], [d29c, d29c], [d2b8, d2b8],
591    [d2d4, d2d4], [d2f0, d2f0], [d30c, d30c], [d328, d328], [d344, d344],
592    [d360, d360], [d37c, d37c], [d398, d398], [d3b4, d3b4], [d3d0, d3d0],
593    [d3ec, d3ec], [d408, d408], [d424, d424], [d440, d440], [d45c, d45c],
594    [d478, d478], [d494, d494], [d4b0, d4b0], [d4cc, d4cc], [d4e8, d4e8],
595    [d504, d504], [d520, d520], [d53c, d53c], [d558, d558], [d574, d574],
596    [d590, d590], [d5ac, d5ac], [d5c8, d5c8], [d5e4, d5e4], [d600, d600],
597    [d61c, d61c], [d638, d638], [d654, d654], [d670, d670], [d68c, d68c],
598    [d6a8, d6a8], [d6c4, d6c4], [d6e0, d6e0], [d6fc, d6fc], [d718, d718],
599    [d734, d734], [d750, d750], [d76c, d76c], [d788, d788]**/
600
601
602    namespace {
603    const static UnicodeSet::run_t __lv_Set_runs[] = {
604    {Empty, 1376}, {Mixed, 349}, {Empty, 33091}};
605    const static UnicodeSet::bitquad_t  __lv_Set_quads[] = {
606    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
607    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
608    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
609    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
610    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
611    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
612    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
613    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
614    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
615    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
616    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
617    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
618    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
619    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
620    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
621    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
622    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
623    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
624    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
625    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
626    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
627    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
628    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
629    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
630    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
631    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
632    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
633    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
634    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
635    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
636    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
637    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
638    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
639    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
640    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
641    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
642    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
643    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
644    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
645    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
646    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
647    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
648    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
649    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
650    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
651    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
652    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
653    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
654    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
655    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
656    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
657    0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000,
658    0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000, 0x00100000,
659    0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001, 0x01000000,
660    0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010, 0x10000001,
661    0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100, 0x00000010,
662    0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000, 0x00000100,
663    0x00000010, 0x10000001, 0x01000000, 0x00100000, 0x00010000, 0x00001000,
664    0x00000100};
665    }
666
667    const static UnicodeSet lv_Set{const_cast<UnicodeSet::run_t *>(__lv_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__lv_Set_quads), 349, 0};
668
669    /** Code Point Ranges for LVT
670    [ac01, ac1b], [ac1d, ac37], [ac39, ac53], [ac55, ac6f], [ac71, ac8b],
671    [ac8d, aca7], [aca9, acc3], [acc5, acdf], [ace1, acfb], [acfd, ad17],
672    [ad19, ad33], [ad35, ad4f], [ad51, ad6b], [ad6d, ad87], [ad89, ada3],
673    [ada5, adbf], [adc1, addb], [addd, adf7], [adf9, ae13], [ae15, ae2f],
674    [ae31, ae4b], [ae4d, ae67], [ae69, ae83], [ae85, ae9f], [aea1, aebb],
675    [aebd, aed7], [aed9, aef3], [aef5, af0f], [af11, af2b], [af2d, af47],
676    [af49, af63], [af65, af7f], [af81, af9b], [af9d, afb7], [afb9, afd3],
677    [afd5, afef], [aff1, b00b], [b00d, b027], [b029, b043], [b045, b05f],
678    [b061, b07b], [b07d, b097], [b099, b0b3], [b0b5, b0cf], [b0d1, b0eb],
679    [b0ed, b107], [b109, b123], [b125, b13f], [b141, b15b], [b15d, b177],
680    [b179, b193], [b195, b1af], [b1b1, b1cb], [b1cd, b1e7], [b1e9, b203],
681    [b205, b21f], [b221, b23b], [b23d, b257], [b259, b273], [b275, b28f],
682    [b291, b2ab], [b2ad, b2c7], [b2c9, b2e3], [b2e5, b2ff], [b301, b31b],
683    [b31d, b337], [b339, b353], [b355, b36f], [b371, b38b], [b38d, b3a7],
684    [b3a9, b3c3], [b3c5, b3df], [b3e1, b3fb], [b3fd, b417], [b419, b433],
685    [b435, b44f], [b451, b46b], [b46d, b487], [b489, b4a3], [b4a5, b4bf],
686    [b4c1, b4db], [b4dd, b4f7], [b4f9, b513], [b515, b52f], [b531, b54b],
687    [b54d, b567], [b569, b583], [b585, b59f], [b5a1, b5bb], [b5bd, b5d7],
688    [b5d9, b5f3], [b5f5, b60f], [b611, b62b], [b62d, b647], [b649, b663],
689    [b665, b67f], [b681, b69b], [b69d, b6b7], [b6b9, b6d3], [b6d5, b6ef],
690    [b6f1, b70b], [b70d, b727], [b729, b743], [b745, b75f], [b761, b77b],
691    [b77d, b797], [b799, b7b3], [b7b5, b7cf], [b7d1, b7eb], [b7ed, b807],
692    [b809, b823], [b825, b83f], [b841, b85b], [b85d, b877], [b879, b893],
693    [b895, b8af], [b8b1, b8cb], [b8cd, b8e7], [b8e9, b903], [b905, b91f],
694    [b921, b93b], [b93d, b957], [b959, b973], [b975, b98f], [b991, b9ab],
695    [b9ad, b9c7], [b9c9, b9e3], [b9e5, b9ff], [ba01, ba1b], [ba1d, ba37],
696    [ba39, ba53], [ba55, ba6f], [ba71, ba8b], [ba8d, baa7], [baa9, bac3],
697    [bac5, badf], [bae1, bafb], [bafd, bb17], [bb19, bb33], [bb35, bb4f],
698    [bb51, bb6b], [bb6d, bb87], [bb89, bba3], [bba5, bbbf], [bbc1, bbdb],
699    [bbdd, bbf7], [bbf9, bc13], [bc15, bc2f], [bc31, bc4b], [bc4d, bc67],
700    [bc69, bc83], [bc85, bc9f], [bca1, bcbb], [bcbd, bcd7], [bcd9, bcf3],
701    [bcf5, bd0f], [bd11, bd2b], [bd2d, bd47], [bd49, bd63], [bd65, bd7f],
702    [bd81, bd9b], [bd9d, bdb7], [bdb9, bdd3], [bdd5, bdef], [bdf1, be0b],
703    [be0d, be27], [be29, be43], [be45, be5f], [be61, be7b], [be7d, be97],
704    [be99, beb3], [beb5, becf], [bed1, beeb], [beed, bf07], [bf09, bf23],
705    [bf25, bf3f], [bf41, bf5b], [bf5d, bf77], [bf79, bf93], [bf95, bfaf],
706    [bfb1, bfcb], [bfcd, bfe7], [bfe9, c003], [c005, c01f], [c021, c03b],
707    [c03d, c057], [c059, c073], [c075, c08f], [c091, c0ab], [c0ad, c0c7],
708    [c0c9, c0e3], [c0e5, c0ff], [c101, c11b], [c11d, c137], [c139, c153],
709    [c155, c16f], [c171, c18b], [c18d, c1a7], [c1a9, c1c3], [c1c5, c1df],
710    [c1e1, c1fb], [c1fd, c217], [c219, c233], [c235, c24f], [c251, c26b],
711    [c26d, c287], [c289, c2a3], [c2a5, c2bf], [c2c1, c2db], [c2dd, c2f7],
712    [c2f9, c313], [c315, c32f], [c331, c34b], [c34d, c367], [c369, c383],
713    [c385, c39f], [c3a1, c3bb], [c3bd, c3d7], [c3d9, c3f3], [c3f5, c40f],
714    [c411, c42b], [c42d, c447], [c449, c463], [c465, c47f], [c481, c49b],
715    [c49d, c4b7], [c4b9, c4d3], [c4d5, c4ef], [c4f1, c50b], [c50d, c527],
716    [c529, c543], [c545, c55f], [c561, c57b], [c57d, c597], [c599, c5b3],
717    [c5b5, c5cf], [c5d1, c5eb], [c5ed, c607], [c609, c623], [c625, c63f],
718    [c641, c65b], [c65d, c677], [c679, c693], [c695, c6af], [c6b1, c6cb],
719    [c6cd, c6e7], [c6e9, c703], [c705, c71f], [c721, c73b], [c73d, c757],
720    [c759, c773], [c775, c78f], [c791, c7ab], [c7ad, c7c7], [c7c9, c7e3],
721    [c7e5, c7ff], [c801, c81b], [c81d, c837], [c839, c853], [c855, c86f],
722    [c871, c88b], [c88d, c8a7], [c8a9, c8c3], [c8c5, c8df], [c8e1, c8fb],
723    [c8fd, c917], [c919, c933], [c935, c94f], [c951, c96b], [c96d, c987],
724    [c989, c9a3], [c9a5, c9bf], [c9c1, c9db], [c9dd, c9f7], [c9f9, ca13],
725    [ca15, ca2f], [ca31, ca4b], [ca4d, ca67], [ca69, ca83], [ca85, ca9f],
726    [caa1, cabb], [cabd, cad7], [cad9, caf3], [caf5, cb0f], [cb11, cb2b],
727    [cb2d, cb47], [cb49, cb63], [cb65, cb7f], [cb81, cb9b], [cb9d, cbb7],
728    [cbb9, cbd3], [cbd5, cbef], [cbf1, cc0b], [cc0d, cc27], [cc29, cc43],
729    [cc45, cc5f], [cc61, cc7b], [cc7d, cc97], [cc99, ccb3], [ccb5, cccf],
730    [ccd1, cceb], [cced, cd07], [cd09, cd23], [cd25, cd3f], [cd41, cd5b],
731    [cd5d, cd77], [cd79, cd93], [cd95, cdaf], [cdb1, cdcb], [cdcd, cde7],
732    [cde9, ce03], [ce05, ce1f], [ce21, ce3b], [ce3d, ce57], [ce59, ce73],
733    [ce75, ce8f], [ce91, ceab], [cead, cec7], [cec9, cee3], [cee5, ceff],
734    [cf01, cf1b], [cf1d, cf37], [cf39, cf53], [cf55, cf6f], [cf71, cf8b],
735    [cf8d, cfa7], [cfa9, cfc3], [cfc5, cfdf], [cfe1, cffb], [cffd, d017],
736    [d019, d033], [d035, d04f], [d051, d06b], [d06d, d087], [d089, d0a3],
737    [d0a5, d0bf], [d0c1, d0db], [d0dd, d0f7], [d0f9, d113], [d115, d12f],
738    [d131, d14b], [d14d, d167], [d169, d183], [d185, d19f], [d1a1, d1bb],
739    [d1bd, d1d7], [d1d9, d1f3], [d1f5, d20f], [d211, d22b], [d22d, d247],
740    [d249, d263], [d265, d27f], [d281, d29b], [d29d, d2b7], [d2b9, d2d3],
741    [d2d5, d2ef], [d2f1, d30b], [d30d, d327], [d329, d343], [d345, d35f],
742    [d361, d37b], [d37d, d397], [d399, d3b3], [d3b5, d3cf], [d3d1, d3eb],
743    [d3ed, d407], [d409, d423], [d425, d43f], [d441, d45b], [d45d, d477],
744    [d479, d493], [d495, d4af], [d4b1, d4cb], [d4cd, d4e7], [d4e9, d503],
745    [d505, d51f], [d521, d53b], [d53d, d557], [d559, d573], [d575, d58f],
746    [d591, d5ab], [d5ad, d5c7], [d5c9, d5e3], [d5e5, d5ff], [d601, d61b],
747    [d61d, d637], [d639, d653], [d655, d66f], [d671, d68b], [d68d, d6a7],
748    [d6a9, d6c3], [d6c5, d6df], [d6e1, d6fb], [d6fd, d717], [d719, d733],
749    [d735, d74f], [d751, d76b], [d76d, d787], [d789, d7a3]**/
750
751
752    namespace {
753    const static UnicodeSet::run_t __lvt_Set_runs[] = {
754    {Empty, 1376}, {Mixed, 350}, {Empty, 33090}};
755    const static UnicodeSet::bitquad_t  __lvt_Set_quads[] = {
756    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
757    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
758    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
759    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
760    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
761    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
762    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
763    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
764    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
765    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
766    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
767    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
768    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
769    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
770    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
771    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
772    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
773    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
774    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
775    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
776    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
777    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
778    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
779    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
780    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
781    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
782    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
783    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
784    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
785    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
786    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
787    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
788    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
789    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
790    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
791    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
792    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
793    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
794    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
795    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
796    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
797    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
798    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
799    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
800    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
801    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
802    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
803    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
804    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
805    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
806    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
807    0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff,
808    0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff,
809    0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe, 0xfeffffff,
810    0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef, 0xeffffffe,
811    0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff, 0xffffffef,
812    0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff, 0xfffffeff,
813    0xffffffef, 0xeffffffe, 0xfeffffff, 0xffefffff, 0xfffeffff, 0xffffefff,
814    0xfffffeff, 0x0000000f};
815    }
816
817    const static UnicodeSet lvt_Set{const_cast<UnicodeSet::run_t *>(__lvt_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__lvt_Set_quads), 350, 0};
818
819    /** Code Point Ranges for EB
820    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
821    [1f3c2, 1f3c4], [1f3c7, 1f3c7], [1f3ca, 1f3cc], [1f442, 1f443],
822    [1f446, 1f450], [1f46e, 1f46e], [1f470, 1f478], [1f47c, 1f47c],
823    [1f481, 1f483], [1f485, 1f487], [1f4aa, 1f4aa], [1f574, 1f575],
824    [1f57a, 1f57a], [1f590, 1f590], [1f595, 1f596], [1f645, 1f647],
825    [1f64b, 1f64f], [1f6a3, 1f6a3], [1f6b4, 1f6b6], [1f6c0, 1f6c0],
826    [1f6cc, 1f6cc], [1f918, 1f91c], [1f91e, 1f91f], [1f926, 1f926],
827    [1f930, 1f939], [1f93d, 1f93e], [1f9d1, 1f9dd]**/
828
829
830    namespace {
831    const static UnicodeSet::run_t __eb_Set_runs[] = {
832    {Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
833    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4}, {Empty, 5},
834    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 17},
835    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 30769}};
836    const static UnicodeSet::bitquad_t  __eb_Set_quads[] = {
837    0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00001c9c, 0x0001ffcc,
838    0x11ff4000, 0x000000ee, 0x00000400, 0x04300000, 0x00610000, 0x0000f8e0,
839    0x00700008, 0x00001001, 0xdf000000, 0x63ff0040, 0x3ffe0000};
840    }
841
842    const static UnicodeSet eb_Set{const_cast<UnicodeSet::run_t *>(__eb_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__eb_Set_quads), 17, 0};
843
844    /** Code Point Ranges for EM
845    [1f3fb, 1f3ff]**/
846
847
848    namespace {
849    const static UnicodeSet::run_t __em_Set_runs[] = {
850    {Empty, 3999}, {Mixed, 1}, {Empty, 30816}};
851    const static UnicodeSet::bitquad_t  __em_Set_quads[] = {
852    0xf8000000};
853    }
854
855    const static UnicodeSet em_Set{const_cast<UnicodeSet::run_t *>(__em_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__em_Set_quads), 1, 0};
856
857    /** Code Point Ranges for ZWJ
858    [200d, 200d]**/
859
860
861    namespace {
862    const static UnicodeSet::run_t __zwj_Set_runs[] = {
863    {Empty, 256}, {Mixed, 1}, {Empty, 34559}};
864    const static UnicodeSet::bitquad_t  __zwj_Set_quads[] = {
865    0x00002000};
866    }
867
868    const static UnicodeSet zwj_Set{const_cast<UnicodeSet::run_t *>(__zwj_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__zwj_Set_quads), 1, 0};
869
870    /** Code Point Ranges for GAZ
871    [2640, 2640], [2642, 2642], [2695, 2696], [2708, 2708], [2764, 2764],
872    [1f308, 1f308], [1f33e, 1f33e], [1f373, 1f373], [1f393, 1f393],
873    [1f3a4, 1f3a4], [1f3a8, 1f3a8], [1f3eb, 1f3eb], [1f3ed, 1f3ed],
874    [1f48b, 1f48b], [1f4bb, 1f4bc], [1f527, 1f527], [1f52c, 1f52c],
875    [1f5e8, 1f5e8], [1f680, 1f680], [1f692, 1f692]**/
876
877
878    namespace {
879    const static UnicodeSet::run_t __gaz_Set_runs[] = {
880    {Empty, 306}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
881    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3676}, {Mixed, 2},
882    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
883    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
884    {Empty, 30795}};
885    const static UnicodeSet::bitquad_t  __gaz_Set_quads[] = {
886    0x00000005, 0x00600000, 0x00000100, 0x00000010, 0x00000100, 0x40000000,
887    0x00080000, 0x00080000, 0x00000110, 0x00002800, 0x00000800, 0x18000000,
888    0x00001080, 0x00000100, 0x00040001};
889    }
890
891    const static UnicodeSet gaz_Set{const_cast<UnicodeSet::run_t *>(__gaz_Set_runs), 23, 0, const_cast<UnicodeSet::bitquad_t *>(__gaz_Set_quads), 15, 0};
892
893    /** Code Point Ranges for EBG
894    [1f466, 1f469]**/
895
896
897    namespace {
898    const static UnicodeSet::run_t __ebg_Set_runs[] = {
899    {Empty, 4003}, {Mixed, 1}, {Empty, 30812}};
900    const static UnicodeSet::bitquad_t  __ebg_Set_quads[] = {
901    0x000003c0};
902    }
903
904    const static UnicodeSet ebg_Set{const_cast<UnicodeSet::run_t *>(__ebg_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__ebg_Set_quads), 1, 0};
905
906    static EnumeratedPropertyObject property_object
907        {GCB,
908        GCB_ns::independent_prop_values,
909        std::move(GCB_ns::enum_names),
910        std::move(GCB_ns::value_names),
911        std::move(GCB_ns::aliases_only_map),{
912        &xx_Set, &pp_Set, &cr_Set, &lf_Set, &cn_Set, &ex_Set, &ri_Set,
913        &sm_Set, &l_Set, &v_Set, &t_Set, &lv_Set, &lvt_Set, &eb_Set,
914        &em_Set, &zwj_Set, &gaz_Set, &ebg_Set
915        }};
916    }
917}
918
919#endif
Note: See TracBrowser for help on using the repository browser.