source: icGREP/icgrep-devel/icgrep/UCD/WordBreakProperty.h @ 5816

Last change on this file since 5816 was 5751, checked in by cameron, 21 months ago

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

File size: 61.5 KB
Line 
1#ifndef WORDBREAKPROPERTY_H
2#define WORDBREAKPROPERTY_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 WB_ns {
18    const unsigned independent_prop_values = 22;
19    /** Code Point Ranges for XX
20    [0000, 0009], [000e, 0021], [0023, 0026], [0028, 002b], [002d, 002d],
21    [002f, 002f], [003c, 0040], [005b, 005e], [0060, 0060], [007b, 0084],
22    [0086, 00a9], [00ab, 00ac], [00ae, 00b4], [00b6, 00b6], [00b8, 00b9],
23    [00bb, 00bf], [00d7, 00d7], [00f7, 00f7], [02d8, 02dd], [02e5, 02eb],
24    [0375, 0375], [0378, 0379], [0380, 0385], [038b, 038b], [038d, 038d],
25    [03a2, 03a2], [03f6, 03f6], [0482, 0482], [0530, 0530], [0557, 0558],
26    [055a, 0560], [0588, 0588], [058a, 0590], [05be, 05be], [05c0, 05c0],
27    [05c3, 05c3], [05c6, 05c6], [05c8, 05cf], [05eb, 05ef], [05f5, 05ff],
28    [0606, 060b], [060e, 060f], [061b, 061b], [061d, 061f], [066a, 066a],
29    [066d, 066d], [06d4, 06d4], [06de, 06de], [06e9, 06e9], [06fd, 06fe],
30    [0700, 070e], [074b, 074c], [07b2, 07bf], [07f6, 07f7], [07f9, 07f9],
31    [07fb, 07ff], [082e, 083f], [085c, 085f], [086b, 089f], [08b5, 08b5],
32    [08be, 08d3], [0964, 0965], [0970, 0970], [0984, 0984], [098d, 098e],
33    [0991, 0992], [09a9, 09a9], [09b1, 09b1], [09b3, 09b5], [09ba, 09bb],
34    [09c5, 09c6], [09c9, 09ca], [09cf, 09d6], [09d8, 09db], [09de, 09de],
35    [09e4, 09e5], [09f2, 09fb], [09fd, 0a00], [0a04, 0a04], [0a0b, 0a0e],
36    [0a11, 0a12], [0a29, 0a29], [0a31, 0a31], [0a34, 0a34], [0a37, 0a37],
37    [0a3a, 0a3b], [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50],
38    [0a52, 0a58], [0a5d, 0a5d], [0a5f, 0a65], [0a76, 0a80], [0a84, 0a84],
39    [0a8e, 0a8e], [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1], [0ab4, 0ab4],
40    [0aba, 0abb], [0ac6, 0ac6], [0aca, 0aca], [0ace, 0acf], [0ad1, 0adf],
41    [0ae4, 0ae5], [0af0, 0af8], [0b00, 0b00], [0b04, 0b04], [0b0d, 0b0e],
42    [0b11, 0b12], [0b29, 0b29], [0b31, 0b31], [0b34, 0b34], [0b3a, 0b3b],
43    [0b45, 0b46], [0b49, 0b4a], [0b4e, 0b55], [0b58, 0b5b], [0b5e, 0b5e],
44    [0b64, 0b65], [0b70, 0b70], [0b72, 0b81], [0b84, 0b84], [0b8b, 0b8d],
45    [0b91, 0b91], [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2],
46    [0ba5, 0ba7], [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9],
47    [0bce, 0bcf], [0bd1, 0bd6], [0bd8, 0be5], [0bf0, 0bff], [0c04, 0c04],
48    [0c0d, 0c0d], [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c], [0c45, 0c45],
49    [0c49, 0c49], [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f], [0c64, 0c65],
50    [0c70, 0c7f], [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91], [0ca9, 0ca9],
51    [0cb4, 0cb4], [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4],
52    [0cd7, 0cdd], [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0], [0cf3, 0cff],
53    [0d04, 0d04], [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45], [0d49, 0d49],
54    [0d4f, 0d53], [0d58, 0d5e], [0d64, 0d65], [0d70, 0d79], [0d80, 0d81],
55    [0d84, 0d84], [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf],
56    [0dc7, 0dc9], [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5],
57    [0df0, 0df1], [0df4, 0e30], [0e32, 0e33], [0e3b, 0e46], [0e4f, 0e4f],
58    [0e5a, 0eb0], [0eb2, 0eb3], [0eba, 0eba], [0ebd, 0ec7], [0ece, 0ecf],
59    [0eda, 0eff], [0f01, 0f17], [0f1a, 0f1f], [0f2a, 0f34], [0f36, 0f36],
60    [0f38, 0f38], [0f3a, 0f3d], [0f48, 0f48], [0f6d, 0f70], [0f85, 0f85],
61    [0f98, 0f98], [0fbd, 0fc5], [0fc7, 102a], [103f, 103f], [104a, 1055],
62    [105a, 105d], [1061, 1061], [1065, 1066], [106e, 1070], [1075, 1081],
63    [108e, 108e], [109e, 109f], [10c6, 10c6], [10c8, 10cc], [10ce, 10cf],
64    [10fb, 10fb], [1249, 1249], [124e, 124f], [1257, 1257], [1259, 1259],
65    [125e, 125f], [1289, 1289], [128e, 128f], [12b1, 12b1], [12b6, 12b7],
66    [12bf, 12bf], [12c1, 12c1], [12c6, 12c7], [12d7, 12d7], [1311, 1311],
67    [1316, 1317], [135b, 135c], [1360, 137f], [1390, 139f], [13f6, 13f7],
68    [13fe, 1400], [166d, 166e], [1680, 1680], [169b, 169f], [16eb, 16ed],
69    [16f9, 16ff], [170d, 170d], [1715, 171f], [1735, 173f], [1754, 175f],
70    [176d, 176d], [1771, 1771], [1774, 17b3], [17d4, 17dc], [17de, 17df],
71    [17ea, 180a], [180f, 180f], [181a, 181f], [1878, 187f], [18ab, 18af],
72    [18f6, 18ff], [191f, 191f], [192c, 192f], [193c, 1945], [1950, 19cf],
73    [19da, 19ff], [1a1c, 1a54], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
74    [1a9a, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b5a, 1b6a], [1b74, 1b7f],
75    [1bf4, 1bff], [1c38, 1c3f], [1c4a, 1c4c], [1c7e, 1c7f], [1c89, 1ccf],
76    [1cd3, 1cd3], [1cfa, 1cff], [1dfa, 1dfa], [1f16, 1f17], [1f1e, 1f1f],
77    [1f46, 1f47], [1f4e, 1f4f], [1f58, 1f58], [1f5a, 1f5a], [1f5c, 1f5c],
78    [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5], [1fbd, 1fbd], [1fbf, 1fc1],
79    [1fc5, 1fc5], [1fcd, 1fcf], [1fd4, 1fd5], [1fdc, 1fdf], [1fed, 1ff1],
80    [1ff5, 1ff5], [1ffd, 200b], [2010, 2017], [201a, 2023], [2025, 2026],
81    [2030, 203e], [2041, 2043], [2045, 2053], [2055, 205f], [2065, 2065],
82    [2070, 2070], [2072, 207e], [2080, 208f], [209d, 20cf], [20f1, 2101],
83    [2103, 2106], [2108, 2109], [2114, 2114], [2116, 2118], [211e, 2123],
84    [2125, 2125], [2127, 2127], [2129, 2129], [212e, 212e], [213a, 213b],
85    [2140, 2144], [214a, 214d], [214f, 215f], [2189, 24b5], [24ea, 261c],
86    [261e, 263f], [2641, 2641], [2643, 2694], [2697, 26f8], [26fa, 2707],
87    [2709, 2709], [270e, 2763], [2765, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
88    [2ce5, 2cea], [2cf4, 2cff], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f],
89    [2d68, 2d6e], [2d70, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf],
90    [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7],
91    [2ddf, 2ddf], [2e00, 2e2e], [2e30, 3004], [3006, 3029], [3030, 3030],
92    [3036, 303a], [303d, 3098], [309d, 309f], [30fb, 30fb], [3100, 3104],
93    [312f, 3130], [318f, 319f], [31bb, 31ef], [3200, 32cf], [32ff, 32ff],
94    [3358, 9fff], [a48d, a4cf], [a4fe, a4ff], [a60d, a60f], [a62c, a63f],
95    [a673, a673], [a67e, a67e], [a6f2, a716], [a7af, a7af], [a7b8, a7f6],
96    [a828, a83f], [a874, a87f], [a8c6, a8cf], [a8da, a8df], [a8f8, a8fa],
97    [a8fc, a8fc], [a8fe, a8ff], [a92e, a92f], [a954, a95f], [a97d, a97f],
98    [a9c1, a9ce], [a9da, a9e4], [a9e6, a9ef], [a9fa, a9ff], [aa37, aa3f],
99    [aa4e, aa4f], [aa5a, aa7a], [aa7e, aaaf], [aab1, aab1], [aab5, aab6],
100    [aab9, aabd], [aac0, aac0], [aac2, aadf], [aaf0, aaf1], [aaf7, ab00],
101    [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
102    [ab66, ab6f], [abeb, abeb], [abee, abef], [abfa, abff], [d7a4, d7af],
103    [d7c7, d7ca], [d7fc, faff], [fb07, fb12], [fb18, fb1c], [fb29, fb29],
104    [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f], [fb42, fb42], [fb45, fb45],
105    [fbb2, fbd2], [fd3e, fd4f], [fd90, fd91], [fdc8, fdef], [fdfc, fdff],
106    [fe11, fe12], [fe15, fe1f], [fe30, fe32], [fe35, fe4c], [fe51, fe51],
107    [fe53, fe53], [fe56, fe6f], [fe75, fe75], [fefd, fefe], [ff00, ff06],
108    [ff08, ff0b], [ff0d, ff0d], [ff0f, ff19], [ff1c, ff20], [ff3b, ff3e],
109    [ff40, ff40], [ff5b, ff65], [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1],
110    [ffd8, ffd9], [ffdd, fff8], [fffc, ffff], [1000c, 1000c],
111    [10027, 10027], [1003b, 1003b], [1003e, 1003e], [1004e, 1004f],
112    [1005e, 1007f], [100fb, 1013f], [10175, 101fc], [101fe, 1027f],
113    [1029d, 1029f], [102d1, 102df], [102e1, 102ff], [10320, 1032c],
114    [1034b, 1034f], [1037b, 1037f], [1039e, 1039f], [103c4, 103c7],
115    [103d0, 103d0], [103d6, 103ff], [1049e, 1049f], [104aa, 104af],
116    [104d4, 104d7], [104fc, 104ff], [10528, 1052f], [10564, 105ff],
117    [10737, 1073f], [10756, 1075f], [10768, 107ff], [10806, 10807],
118    [10809, 10809], [10836, 10836], [10839, 1083b], [1083d, 1083e],
119    [10856, 1085f], [10877, 1087f], [1089f, 108df], [108f3, 108f3],
120    [108f6, 108ff], [10916, 1091f], [1093a, 1097f], [109b8, 109bd],
121    [109c0, 109ff], [10a04, 10a04], [10a07, 10a0b], [10a14, 10a14],
122    [10a18, 10a18], [10a34, 10a37], [10a3b, 10a3e], [10a40, 10a5f],
123    [10a7d, 10a7f], [10a9d, 10abf], [10ac8, 10ac8], [10ae7, 10aff],
124    [10b36, 10b3f], [10b56, 10b5f], [10b73, 10b7f], [10b92, 10bff],
125    [10c49, 10c7f], [10cb3, 10cbf], [10cf3, 10fff], [11047, 11065],
126    [11070, 1107e], [110bb, 110bc], [110be, 110cf], [110e9, 110ef],
127    [110fa, 110ff], [11135, 11135], [11140, 1114f], [11174, 11175],
128    [11177, 1117f], [111c5, 111c9], [111cd, 111cf], [111db, 111db],
129    [111dd, 111ff], [11212, 11212], [11238, 1123d], [1123f, 1127f],
130    [11287, 11287], [11289, 11289], [1128e, 1128e], [1129e, 1129e],
131    [112a9, 112af], [112eb, 112ef], [112fa, 112ff], [11304, 11304],
132    [1130d, 1130e], [11311, 11312], [11329, 11329], [11331, 11331],
133    [11334, 11334], [1133a, 1133b], [11345, 11346], [11349, 1134a],
134    [1134e, 1134f], [11351, 11356], [11358, 1135c], [11364, 11365],
135    [1136d, 1136f], [11375, 113ff], [1144b, 1144f], [1145a, 1147f],
136    [114c6, 114c6], [114c8, 114cf], [114da, 1157f], [115b6, 115b7],
137    [115c1, 115d7], [115de, 115ff], [11641, 11643], [11645, 1164f],
138    [1165a, 1167f], [116b8, 116bf], [116ca, 1171c], [1172c, 1172f],
139    [1173a, 1189f], [118ea, 118fe], [11900, 119ff], [11a3f, 11a46],
140    [11a48, 11a4f], [11a84, 11a85], [11a9a, 11abf], [11af9, 11bff],
141    [11c09, 11c09], [11c37, 11c37], [11c41, 11c4f], [11c5a, 11c71],
142    [11c90, 11c91], [11ca8, 11ca8], [11cb7, 11cff], [11d07, 11d07],
143    [11d0a, 11d0a], [11d37, 11d39], [11d3b, 11d3b], [11d3e, 11d3e],
144    [11d48, 11d4f], [11d5a, 11fff], [1239a, 123ff], [1246f, 1247f],
145    [12544, 12fff], [1342f, 143ff], [14647, 167ff], [16a39, 16a3f],
146    [16a5f, 16a5f], [16a6a, 16acf], [16aee, 16aef], [16af5, 16aff],
147    [16b37, 16b3f], [16b44, 16b4f], [16b5a, 16b62], [16b78, 16b7c],
148    [16b90, 16eff], [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf],
149    [16fe2, 1afff], [1b001, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f],
150    [1bc89, 1bc8f], [1bc9a, 1bc9c], [1bc9f, 1bc9f], [1bca4, 1d164],
151    [1d16a, 1d16c], [1d183, 1d184], [1d18c, 1d1a9], [1d1ae, 1d241],
152    [1d245, 1d3ff], [1d455, 1d455], [1d49d, 1d49d], [1d4a0, 1d4a1],
153    [1d4a3, 1d4a4], [1d4a7, 1d4a8], [1d4ad, 1d4ad], [1d4ba, 1d4ba],
154    [1d4bc, 1d4bc], [1d4c4, 1d4c4], [1d506, 1d506], [1d50b, 1d50c],
155    [1d515, 1d515], [1d51d, 1d51d], [1d53a, 1d53a], [1d53f, 1d53f],
156    [1d545, 1d545], [1d547, 1d549], [1d551, 1d551], [1d6a6, 1d6a7],
157    [1d6c1, 1d6c1], [1d6db, 1d6db], [1d6fb, 1d6fb], [1d715, 1d715],
158    [1d735, 1d735], [1d74f, 1d74f], [1d76f, 1d76f], [1d789, 1d789],
159    [1d7a9, 1d7a9], [1d7c3, 1d7c3], [1d7cc, 1d7cd], [1d800, 1d9ff],
160    [1da37, 1da3a], [1da6d, 1da74], [1da76, 1da83], [1da85, 1da9a],
161    [1daa0, 1daa0], [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a],
162    [1e022, 1e022], [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8cf],
163    [1e8d7, 1e8ff], [1e94b, 1e94f], [1e95a, 1edff], [1ee04, 1ee04],
164    [1ee20, 1ee20], [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28],
165    [1ee33, 1ee33], [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41],
166    [1ee43, 1ee46], [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c],
167    [1ee50, 1ee50], [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58],
168    [1ee5a, 1ee5a], [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60],
169    [1ee63, 1ee63], [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73],
170    [1ee78, 1ee78], [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a],
171    [1ee9c, 1eea0], [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1f12f],
172    [1f14a, 1f14f], [1f16a, 1f16f], [1f18a, 1f1e5], [1f200, 1f307],
173    [1f309, 1f33d], [1f33f, 1f372], [1f374, 1f384], [1f386, 1f392],
174    [1f394, 1f3a3], [1f3a5, 1f3a7], [1f3a9, 1f3c1], [1f3c5, 1f3c6],
175    [1f3c8, 1f3c9], [1f3cd, 1f3ea], [1f3ec, 1f3ec], [1f3ee, 1f3fa],
176    [1f400, 1f441], [1f444, 1f445], [1f451, 1f465], [1f46a, 1f46d],
177    [1f46f, 1f46f], [1f479, 1f47b], [1f47d, 1f480], [1f484, 1f484],
178    [1f488, 1f48a], [1f48c, 1f4a9], [1f4ab, 1f4ba], [1f4bd, 1f526],
179    [1f528, 1f52b], [1f52d, 1f573], [1f576, 1f579], [1f57b, 1f58f],
180    [1f591, 1f594], [1f597, 1f5e7], [1f5e9, 1f644], [1f648, 1f64a],
181    [1f650, 1f67f], [1f681, 1f691], [1f693, 1f6a2], [1f6a4, 1f6b3],
182    [1f6b7, 1f6bf], [1f6c1, 1f6cb], [1f6cd, 1f917], [1f91d, 1f91d],
183    [1f920, 1f925], [1f927, 1f92f], [1f93a, 1f93c], [1f93f, 1f9d0],
184    [1f9de, e0000], [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
185
186
187    namespace {
188    const static UnicodeSet::run_t __xx_Set_runs[] = {
189    {Mixed, 8}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Empty, 1},
190    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 8}, {Empty, 2},
191    {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
192    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
193    {Mixed, 2}, {Empty, 4}, {Mixed, 30}, {Empty, 1}, {Mixed, 6}, {Full, 1},
194    {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 7}, {Full, 2},
195    {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1}, {Empty, 1},
196    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
197    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2}, {Empty, 2},
198    {Mixed, 5}, {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
199    {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 1},
200    {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2},
201    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 2},
202    {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
203    {Empty, 1}, {Mixed, 8}, {Full, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
204    {Full, 24}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
205    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
206    {Full, 2}, {Mixed, 1}, {Full, 36}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
207    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 1},
208    {Full, 1}, {Mixed, 1}, {Full, 14}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
209    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
210    {Full, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 869}, {Empty, 36},
211    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 8}, {Mixed, 2}, {Empty, 1},
212    {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Full, 1},
213    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
214    {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
215    {Mixed, 3}, {Full, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
216    {Mixed, 1}, {Empty, 349}, {Mixed, 3}, {Full, 280}, {Mixed, 3},
217    {Empty, 2}, {Mixed, 2}, {Empty, 10}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
218    {Empty, 1}, {Mixed, 6}, {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 6},
219    {Full, 1}, {Empty, 3}, {Mixed, 1}, {Full, 2}, {Empty, 1}, {Mixed, 1},
220    {Full, 3}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
221    {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4},
222    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
223    {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 5}, {Full, 2}, {Mixed, 3},
224    {Full, 2}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 1},
225    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Full, 3},
226    {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
227    {Mixed, 1}, {Full, 24}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
228    {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
229    {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2},
230    {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 1},
231    {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1},
232    {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1},
233    {Full, 8}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 1},
234    {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3},
235    {Full, 21}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
236    {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
237    {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17},
238    {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Full, 27},
239    {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Full, 512}, {Mixed, 1},
240    {Full, 95}, {Empty, 3}, {Mixed, 3}, {Full, 165}, {Mixed, 3}, {Full, 4},
241    {Mixed, 1}, {Full, 13}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
242    {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 10}, {Empty, 1},
243    {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 42},
244    {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
245    {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 19}, {Mixed, 4}, {Full, 2},
246    {Mixed, 1}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 5}, {Full, 2},
247    {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2},
248    {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 17},
249    {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 24625}, {Mixed, 1},
250    {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 6128}};
251    const static UnicodeSet::bitquad_t  __xx_Set_quads[] = {
252    0xffffc3ff, 0xf000af7b, 0x78000001, 0xf8000001, 0xffffffdf, 0xfb5fdbff,
253    0x00800000, 0x00800000, 0x3f000000, 0x00000fe0, 0x03200000, 0x0000283f,
254    0x00000004, 0x00400000, 0x00000004, 0x00010000, 0xfd800000, 0x00000001,
255    0x0001fd00, 0x40000000, 0x0000ff49, 0xffe0f800, 0xe800cfc0, 0x00002400,
256    0x40100000, 0x60000200, 0x00007fff, 0x00001800, 0xfffc0000, 0xfac00000,
257    0xffffc000, 0xf0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00010030,
258    0x00066010, 0x0c3a0200, 0x4f7f8660, 0xeffc0030, 0x00067811, 0x2c920200,
259    0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0x01ff0030,
260    0x00066011, 0x0c120200, 0x4f3fc660, 0xfffd0030, 0x29c23813, 0x3c0038e7,
261    0xff7ec238, 0xffff003f, 0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030,
262    0x00022010, 0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x7f0f8220,
263    0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80, 0xfff3003f, 0xf80dffff,
264    0xfc00807f, 0xe40dffff, 0xfc00c0ff, 0xfcfffffe, 0x3d5ffc00, 0x00000100,
265    0x0001e000, 0x01000020, 0xe0000000, 0xffffffbf, 0x800007ff, 0x3c3ffc00,
266    0xffe1c062, 0xc0004003, 0x0000df40, 0x08000000, 0xc280c200, 0x0000c200,
267    0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xffff0000, 0xc0c00000,
268    0x00000001, 0x00006000, 0xf8000001, 0xfe003800, 0xffe02000, 0xffe00000,
269    0xfff00000, 0xfff22000, 0x000fffff, 0xdff00000, 0xfffffc00, 0xfc0087ff,
270    0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0xffff003f,
271    0xfc00ffff, 0xf0000000, 0x801fffff, 0x60000000, 0xfc00fc00, 0x8000ffff,
272    0xfc00f000, 0xfff007ff, 0xfff00000, 0xff000000, 0x00001c00, 0xc0000000,
273    0xfffffe00, 0x0008ffff, 0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0,
274    0xc0000000, 0xa0200000, 0xf030e023, 0xe023e000, 0xfcff0fff, 0x7fff006f,
275    0xffefffee, 0x7ffd0020, 0xe000ffff, 0x0000ffff, 0xfffe0000, 0xc1d0037b,
276    0x0c0042af, 0xffffbc1f, 0xfffffe00, 0x003fffff, 0xfffffc00, 0xdfffffff,
277    0xfffffffa, 0xff9fffff, 0xfdffffff, 0xffffc2ff, 0xffffffef, 0x00008000,
278    0x80000000, 0xfff007e0, 0x0000df40, 0x7fff7f00, 0xff800000, 0x80808080,
279    0x80808080, 0xffff7fff, 0xffffffdf, 0xe7c103ff, 0xe1ffffff, 0x08000000,
280    0x0000001f, 0x00018000, 0xffff8000, 0xf8000000, 0x0000ffff, 0x0000ffff,
281    0x80000000, 0xff000000, 0xffffe000, 0x0000ffff, 0xc0000000, 0x0000e000,
282    0xfffff000, 0x40080000, 0xfffc0000, 0x007fffff, 0xff008000, 0x007fffff,
283    0xffffff00, 0xfff00000, 0xfc00ffc0, 0xd7000000, 0x0000c000, 0xfff00000,
284    0xe0000000, 0xfc007ffe, 0xfc00ffdf, 0xff800000, 0xfc00c000, 0xc7ffffff,
285    0x3e62ffff, 0xfffffffd, 0xff830000, 0xff818181, 0x00008080, 0x0000ffc0,
286    0xfc00c800, 0x0000fff0, 0x00000780, 0xf0000000, 0x1f07ff80, 0xa0800200,
287    0x00000024, 0xfffc0000, 0x0007ffff, 0xc0000000, 0x0000ffff, 0x00030000,
288    0xffffff00, 0xf000ffff, 0xffe60000, 0xffe70000, 0xffca1fff, 0x0020ffff,
289    0x60000000, 0xf3ffaf7f, 0x78000001, 0xf8000001, 0x0000003f, 0x80000000,
290    0xe3030303, 0xf1ffffff, 0x00001000, 0x48000080, 0xc000c000, 0xf8000000,
291    0xffe00000, 0xdfffffff, 0xe0000000, 0xfffe0000, 0xfffffffe, 0x00001fff,
292    0x0000f800, 0xf8000000, 0xc0000000, 0xffc100f0, 0xc0000000, 0x0000fc00,
293    0x00f00000, 0xf0000000, 0x0000ff00, 0xfffffff0, 0xff800000, 0xffc00000,
294    0xffffff00, 0x000002c0, 0x6e400000, 0xffc00000, 0xff800000, 0x80000000,
295    0xffc80000, 0xffc00000, 0xfc000000, 0x3f000000, 0x01100f90, 0x78f00000,
296    0xe0000000, 0xe0000000, 0x00000100, 0xffffff80, 0xffc00000, 0xffc00000,
297    0xfff80000, 0xfffc0000, 0xfffffe00, 0xfff80000, 0xfff80000, 0xffffff80,
298    0x7fff003f, 0xd8000000, 0x0000ffff, 0xfc00fe00, 0x00200000, 0x0000ffff,
299    0xffb00000, 0xe800e3e0, 0x00040000, 0xbf000000, 0x40004280, 0x0000fe00,
300    0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xfc00f800,
301    0xfc00ff40, 0x00c00000, 0xc0fffffe, 0xfc00ffee, 0xff000000, 0xfffffc00,
302    0x1fffffff, 0xfc00f000, 0x7ffffc00, 0x80000000, 0x0000ff7f, 0xfc000030,
303    0xfe000000, 0x00000200, 0x00800000, 0xfc00fffe, 0x0003ffff, 0x00030000,
304    0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000, 0xffff8000,
305    0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000, 0x80000000, 0xfffffc00,
306    0x0000ffff, 0xffe0c000, 0xff800000, 0xfc00fff0, 0x1f000007, 0xffff0000,
307    0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffc, 0xfffffffe, 0xe000f800,
308    0x9c00fe00, 0xfffffff0, 0x00001c1f, 0xfffff018, 0xffffc3ff, 0xffffffe3,
309    0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840, 0x84000000,
310    0x000203a0, 0x000000c0, 0x08000002, 0x08000000, 0x00200000, 0x00200000,
311    0x00008000, 0x00008000, 0x00000200, 0x00000200, 0x00003008, 0x07800000,
312    0xffdfe000, 0x07ffffef, 0xffff0001, 0x06000080, 0xfffff824, 0xff80ffe0,
313    0xfc00f800, 0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
314    0xf0000411, 0x0000ffff, 0x0000fc00, 0x0000fc00, 0xfffffc00, 0x0000003f,
315    0xfffffeff, 0xbfffffff, 0xfff7ffff, 0xfff7ffdf, 0xfffffeef, 0xffffe363,
316    0x07ffd7ff, 0xfffe0033, 0xee00bc3f, 0xfffff711, 0xe7fffbff, 0xffffef7f,
317    0xfbcfffff, 0xff9effff, 0xfffffeff, 0xffff071f, 0xfffbfffe, 0xff8ffff7,
318    0xffffeffe, 0x20ffffff, 0x9c00ffbf, 0xc001ffff, 0xfffffffd, 0xffff0000};
319    }
320
321    const static UnicodeSet xx_Set{const_cast<UnicodeSet::run_t *>(__xx_Set_runs), 366, 0, const_cast<UnicodeSet::bitquad_t *>(__xx_Set_quads), 402, 0};
322
323    /** Code Point Ranges for DQ
324    [0022, 0022]**/
325
326
327    namespace {
328    const static UnicodeSet::run_t __dq_Set_runs[] = {
329    {Empty, 1}, {Mixed, 1}, {Empty, 34814}};
330    const static UnicodeSet::bitquad_t  __dq_Set_quads[] = {
331    0x00000004};
332    }
333
334    const static UnicodeSet dq_Set{const_cast<UnicodeSet::run_t *>(__dq_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__dq_Set_quads), 1, 0};
335
336    /** Code Point Ranges for SQ
337    [0027, 0027]**/
338
339
340    namespace {
341    const static UnicodeSet::run_t __sq_Set_runs[] = {
342    {Empty, 1}, {Mixed, 1}, {Empty, 34814}};
343    const static UnicodeSet::bitquad_t  __sq_Set_quads[] = {
344    0x00000080};
345    }
346
347    const static UnicodeSet sq_Set{const_cast<UnicodeSet::run_t *>(__sq_Set_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__sq_Set_quads), 1, 0};
348
349    /** Code Point Ranges for HL
350    [05d0, 05ea], [05f0, 05f2], [fb1d, fb1d], [fb1f, fb28], [fb2a, fb36],
351    [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44], [fb46, fb4f]**/
352
353
354    namespace {
355    const static UnicodeSet::run_t __hl_Set_runs[] = {
356    {Empty, 46}, {Mixed, 2}, {Empty, 1960}, {Mixed, 3}, {Empty, 32805}};
357    const static UnicodeSet::bitquad_t  __hl_Set_quads[] = {
358    0xffff0000, 0x000707ff, 0xa0000000, 0x5f7ffdff, 0x0000ffdb};
359    }
360
361    const static UnicodeSet hl_Set{const_cast<UnicodeSet::run_t *>(__hl_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__hl_Set_quads), 5, 0};
362
363    /** Code Point Ranges for CR
364    [000d, 000d]**/
365
366
367    namespace {
368    const static UnicodeSet::run_t __cr_Set_runs[] = {
369    {Mixed, 1}, {Empty, 34815}};
370    const static UnicodeSet::bitquad_t  __cr_Set_quads[] = {
371    0x00002000};
372    }
373
374    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};
375
376    /** Code Point Ranges for LF
377    [000a, 000a]**/
378
379
380    namespace {
381    const static UnicodeSet::run_t __lf_Set_runs[] = {
382    {Mixed, 1}, {Empty, 34815}};
383    const static UnicodeSet::bitquad_t  __lf_Set_quads[] = {
384    0x00000400};
385    }
386
387    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};
388
389    /** Code Point Ranges for NL
390    [000b, 000c], [0085, 0085], [2028, 2029]**/
391
392
393    namespace {
394    const static UnicodeSet::run_t __nl_Set_runs[] = {
395    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 252}, {Mixed, 1},
396    {Empty, 34558}};
397    const static UnicodeSet::bitquad_t  __nl_Set_quads[] = {
398    0x00001800, 0x00000020, 0x00000300};
399    }
400
401    const static UnicodeSet nl_Set{const_cast<UnicodeSet::run_t *>(__nl_Set_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__nl_Set_quads), 3, 0};
402
403    /** Code Point Ranges for Extend
404    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
405    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
406    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
407    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
408    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0903],
409    [093a, 093c], [093e, 094f], [0951, 0957], [0962, 0963], [0981, 0983],
410    [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd], [09d7, 09d7],
411    [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
412    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a83],
413    [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9], [0acb, 0acd], [0ae2, 0ae3],
414    [0afa, 0aff], [0b01, 0b03], [0b3c, 0b3c], [0b3e, 0b44], [0b47, 0b48],
415    [0b4b, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82], [0bbe, 0bc2],
416    [0bc6, 0bc8], [0bca, 0bcd], [0bd7, 0bd7], [0c00, 0c03], [0c3e, 0c44],
417    [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63], [0c81, 0c83],
418    [0cbc, 0cbc], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
419    [0ce2, 0ce3], [0d00, 0d03], [0d3b, 0d3c], [0d3e, 0d44], [0d46, 0d48],
420    [0d4a, 0d4d], [0d57, 0d57], [0d62, 0d63], [0d82, 0d83], [0dca, 0dca],
421    [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3], [0e31, 0e31],
422    [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc],
423    [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
424    [0f3e, 0f3f], [0f71, 0f84], [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc],
425    [0fc6, 0fc6], [102b, 103e], [1056, 1059], [105e, 1060], [1062, 1064],
426    [1067, 106d], [1071, 1074], [1082, 108d], [108f, 108f], [109a, 109d],
427    [135d, 135f], [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773],
428    [17b4, 17d3], [17dd, 17dd], [180b, 180d], [1885, 1886], [18a9, 18a9],
429    [1920, 192b], [1930, 193b], [1a17, 1a1b], [1a55, 1a5e], [1a60, 1a7c],
430    [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b04], [1b34, 1b44], [1b6b, 1b73],
431    [1b80, 1b82], [1ba1, 1bad], [1be6, 1bf3], [1c24, 1c37], [1cd0, 1cd2],
432    [1cd4, 1ce8], [1ced, 1ced], [1cf2, 1cf4], [1cf7, 1cf9], [1dc0, 1df9],
433    [1dfb, 1dff], [200c, 200c], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f],
434    [2de0, 2dff], [302a, 302f], [3099, 309a], [a66f, a672], [a674, a67d],
435    [a69e, a69f], [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b],
436    [a823, a827], [a880, a881], [a8b4, a8c5], [a8e0, a8f1], [a926, a92d],
437    [a947, a953], [a980, a983], [a9b3, a9c0], [a9e5, a9e5], [aa29, aa36],
438    [aa43, aa43], [aa4c, aa4d], [aa7b, aa7d], [aab0, aab0], [aab2, aab4],
439    [aab7, aab8], [aabe, aabf], [aac1, aac1], [aaeb, aaef], [aaf5, aaf6],
440    [abe3, abea], [abec, abed], [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f],
441    [ff9e, ff9f], [101fd, 101fd], [102e0, 102e0], [10376, 1037a],
442    [10a01, 10a03], [10a05, 10a06], [10a0c, 10a0f], [10a38, 10a3a],
443    [10a3f, 10a3f], [10ae5, 10ae6], [11000, 11002], [11038, 11046],
444    [1107f, 11082], [110b0, 110ba], [11100, 11102], [11127, 11134],
445    [11173, 11173], [11180, 11182], [111b3, 111c0], [111ca, 111cc],
446    [1122c, 11237], [1123e, 1123e], [112df, 112ea], [11300, 11303],
447    [1133c, 1133c], [1133e, 11344], [11347, 11348], [1134b, 1134d],
448    [11357, 11357], [11362, 11363], [11366, 1136c], [11370, 11374],
449    [11435, 11446], [114b0, 114c3], [115af, 115b5], [115b8, 115c0],
450    [115dc, 115dd], [11630, 11640], [116ab, 116b7], [1171d, 1172b],
451    [11a01, 11a0a], [11a33, 11a39], [11a3b, 11a3e], [11a47, 11a47],
452    [11a51, 11a5b], [11a8a, 11a99], [11c2f, 11c36], [11c38, 11c3f],
453    [11c92, 11ca7], [11ca9, 11cb6], [11d31, 11d36], [11d3a, 11d3a],
454    [11d3c, 11d3d], [11d3f, 11d45], [11d47, 11d47], [16af0, 16af4],
455    [16b30, 16b36], [16f51, 16f7e], [16f8f, 16f92], [1bc9d, 1bc9e],
456    [1d165, 1d169], [1d16d, 1d172], [1d17b, 1d182], [1d185, 1d18b],
457    [1d1aa, 1d1ad], [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c],
458    [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf],
459    [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024],
460    [1e026, 1e02a], [1e8d0, 1e8d6], [1e944, 1e94a], [e0020, e007f],
461    [e0100, e01ef]**/
462
463
464    namespace {
465    const static UnicodeSet::run_t __extend_Set_runs[] = {
466    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 7},
467    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
468    {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
469    {Mixed, 25}, {Empty, 1}, {Mixed, 13}, {Empty, 1}, {Mixed, 2},
470    {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
471    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
472    {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
473    {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
474    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
475    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
476    {Empty, 6}, {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
477    {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
478    {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
479    {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
480    {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
481    {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 7},
482    {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 2},
483    {Empty, 10}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 7},
484    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5},
485    {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
486    {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6}, {Empty, 5},
487    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2},
488    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 22},
489    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 2},
490    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 620}, {Mixed, 1},
491    {Empty, 1}, {Mixed, 1}, {Empty, 32}, {Mixed, 3}, {Empty, 615},
492    {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
493    {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42},
494    {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
495    {Empty, 24758}, {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1},
496    {Empty, 6128}};
497    const static UnicodeSet::bitquad_t  __extend_Set_quads[] = {
498    0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x07ff0000,
499    0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000, 0xffff0000,
500    0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000, 0x00003eef, 0x0e000000,
501    0xfff00000, 0xfffffffb, 0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c,
502    0x0000000e, 0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
503    0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf, 0xfc00000c,
504    0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c, 0x00000004, 0xc0000000,
505    0x00803dc7, 0x0000000f, 0xc0000000, 0x00603ddf, 0x0000000c, 0x0000000e,
506    0xd0000000, 0x00603ddf, 0x0000000c, 0x0000000f, 0xd8000000, 0x00803ddf,
507    0x0000000c, 0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
508    0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000, 0xfeffe0df,
509    0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000, 0x001e3f9d, 0x3c00bffc,
510    0xe0000000, 0x001c0000, 0x001c0000, 0x000c0000, 0x000c0000, 0xfff00000,
511    0x200fffff, 0x00003800, 0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000,
512    0x7fe00000, 0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
513    0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0, 0xfff70000,
514    0x039c21ff, 0xfbffffff, 0x00001000, 0xffff0000, 0x0001ffff, 0x00038000,
515    0x80000000, 0x0000fc00, 0x06000000, 0x3ff78000, 0xc0000000, 0x00030000,
516    0x00000844, 0x000000f8, 0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff,
517    0x00003fc0, 0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020,
518    0x007ffe00, 0x00003008, 0x38000000, 0xc19d0000, 0x00000002, 0x0060f800,
519    0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff, 0xc0000000, 0x20000000,
520    0x00000001, 0x07c00000, 0x0000f06e, 0x87000000, 0x00000060, 0x00000007,
521    0xff000000, 0x0000007f, 0x80000000, 0x00000007, 0x07ff0000, 0x00000007,
522    0x001fff80, 0x00080000, 0x00000007, 0xfff80000, 0x00001c01, 0x40fff000,
523    0x80000000, 0x000007ff, 0x0000000f, 0xd0000000, 0x0080399f, 0x001f1fcc,
524    0xffe00000, 0x0000007f, 0xffff0000, 0x0000000f, 0xff3f8000, 0x30000001,
525    0xffff0000, 0x00000001, 0x00fff800, 0xe0000000, 0x00000fff, 0x000007fe,
526    0x7bf80000, 0x0ffe0080, 0x03fffc00, 0xff7f8000, 0xfffc0000, 0x007ffeff,
527    0xb47e0000, 0x000000bf, 0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff,
528    0x00078000, 0x60000000, 0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
529    0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
530    0x007f0000, 0x000007f0, 0x0000ffff};
531    }
532
533    const static UnicodeSet extend_Set{const_cast<UnicodeSet::run_t *>(__extend_Set_runs), 171, 0, const_cast<UnicodeSet::bitquad_t *>(__extend_Set_quads), 195, 0};
534
535    /** Code Point Ranges for RI
536    [1f1e6, 1f1ff]**/
537
538
539    namespace {
540    const static UnicodeSet::run_t __ri_Set_runs[] = {
541    {Empty, 3983}, {Mixed, 1}, {Empty, 30832}};
542    const static UnicodeSet::bitquad_t  __ri_Set_quads[] = {
543    0xffffffc0};
544    }
545
546    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};
547
548    /** Code Point Ranges for FO
549    [00ad, 00ad], [0600, 0605], [061c, 061c], [06dd, 06dd], [070f, 070f],
550    [08e2, 08e2], [180e, 180e], [200e, 200f], [202a, 202e], [2060, 2064],
551    [2066, 206f], [feff, feff], [fff9, fffb], [110bd, 110bd],
552    [1bca0, 1bca3], [1d173, 1d17a], [e0001, e0001]**/
553
554
555    namespace {
556    const static UnicodeSet::run_t __fo_Set_runs[] = {
557    {Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
558    {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 120},
559    {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
560    {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 133},
561    {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165}, {Mixed, 1},
562    {Empty, 24948}, {Mixed, 1}, {Empty, 6143}};
563    const static UnicodeSet::bitquad_t  __fo_Set_quads[] = {
564    0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004, 0x00004000,
565    0x0000c000, 0x00007c00, 0x0000ffdf, 0x80000000, 0x0e000000, 0x20000000,
566    0x0000000f, 0x07f80000, 0x00000002};
567    }
568
569    const static UnicodeSet fo_Set{const_cast<UnicodeSet::run_t *>(__fo_Set_runs), 29, 0, const_cast<UnicodeSet::bitquad_t *>(__fo_Set_quads), 15, 0};
570
571    /** Code Point Ranges for KA
572    [3031, 3035], [309b, 309c], [30a0, 30fa], [30fc, 30ff], [31f0, 31ff],
573    [32d0, 32fe], [3300, 3357], [ff66, ff9d], [1b000, 1b000]**/
574
575
576    namespace {
577    const static UnicodeSet::run_t __ka_Set_runs[] = {
578    {Empty, 385}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
579    {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
580    {Empty, 1632}, {Mixed, 2}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}};
581    const static UnicodeSet::bitquad_t  __ka_Set_quads[] = {
582    0x003e0000, 0x18000000, 0xf7ffffff, 0xffff0000, 0xffff0000, 0x7fffffff,
583    0x00ffffff, 0xffffffc0, 0x3fffffff, 0x00000001};
584    }
585
586    const static UnicodeSet ka_Set{const_cast<UnicodeSet::run_t *>(__ka_Set_runs), 17, 0, const_cast<UnicodeSet::bitquad_t *>(__ka_Set_quads), 10, 0};
587
588    /** Code Point Ranges for LE
589    [0041, 005a], [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba],
590    [00c0, 00d6], [00d8, 00f6], [00f8, 02d7], [02de, 02e4], [02ec, 02ff],
591    [0370, 0374], [0376, 0377], [037a, 037d], [037f, 037f], [0386, 0386],
592    [0388, 038a], [038c, 038c], [038e, 03a1], [03a3, 03f5], [03f7, 0481],
593    [048a, 052f], [0531, 0556], [0559, 0559], [0561, 0587], [05f3, 05f3],
594    [0620, 064a], [066e, 066f], [0671, 06d3], [06d5, 06d5], [06e5, 06e6],
595    [06ee, 06ef], [06fa, 06fc], [06ff, 06ff], [0710, 0710], [0712, 072f],
596    [074d, 07a5], [07b1, 07b1], [07ca, 07ea], [07f4, 07f5], [07fa, 07fa],
597    [0800, 0815], [081a, 081a], [0824, 0824], [0828, 0828], [0840, 0858],
598    [0860, 086a], [08a0, 08b4], [08b6, 08bd], [0904, 0939], [093d, 093d],
599    [0950, 0950], [0958, 0961], [0971, 0980], [0985, 098c], [098f, 0990],
600    [0993, 09a8], [09aa, 09b0], [09b2, 09b2], [09b6, 09b9], [09bd, 09bd],
601    [09ce, 09ce], [09dc, 09dd], [09df, 09e1], [09f0, 09f1], [09fc, 09fc],
602    [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30], [0a32, 0a33],
603    [0a35, 0a36], [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e], [0a72, 0a74],
604    [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0], [0ab2, 0ab3],
605    [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0], [0ae0, 0ae1], [0af9, 0af9],
606    [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30], [0b32, 0b33],
607    [0b35, 0b39], [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61], [0b71, 0b71],
608    [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95], [0b99, 0b9a],
609    [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa], [0bae, 0bb9],
610    [0bd0, 0bd0], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28], [0c2a, 0c39],
611    [0c3d, 0c3d], [0c58, 0c5a], [0c60, 0c61], [0c80, 0c80], [0c85, 0c8c],
612    [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9], [0cbd, 0cbd],
613    [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2], [0d05, 0d0c], [0d0e, 0d10],
614    [0d12, 0d3a], [0d3d, 0d3d], [0d4e, 0d4e], [0d54, 0d56], [0d5f, 0d61],
615    [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb], [0dbd, 0dbd],
616    [0dc0, 0dc6], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c], [0f88, 0f8c],
617    [10a0, 10c5], [10c7, 10c7], [10cd, 10cd], [10d0, 10fa], [10fc, 1248],
618    [124a, 124d], [1250, 1256], [1258, 1258], [125a, 125d], [1260, 1288],
619    [128a, 128d], [1290, 12b0], [12b2, 12b5], [12b8, 12be], [12c0, 12c0],
620    [12c2, 12c5], [12c8, 12d6], [12d8, 1310], [1312, 1315], [1318, 135a],
621    [1380, 138f], [13a0, 13f5], [13f8, 13fd], [1401, 166c], [166f, 167f],
622    [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
623    [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770], [1820, 1877],
624    [1880, 1884], [1887, 18a8], [18aa, 18aa], [18b0, 18f5], [1900, 191e],
625    [1a00, 1a16], [1b05, 1b33], [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf],
626    [1bba, 1be5], [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1c80, 1c88],
627    [1ce9, 1cec], [1cee, 1cf1], [1cf5, 1cf6], [1d00, 1dbf], [1e00, 1f15],
628    [1f18, 1f1d], [1f20, 1f45], [1f48, 1f4d], [1f50, 1f57], [1f59, 1f59],
629    [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f7d], [1f80, 1fb4], [1fb6, 1fbc],
630    [1fbe, 1fbe], [1fc2, 1fc4], [1fc6, 1fcc], [1fd0, 1fd3], [1fd6, 1fdb],
631    [1fe0, 1fec], [1ff2, 1ff4], [1ff6, 1ffc], [2071, 2071], [207f, 207f],
632    [2090, 209c], [2102, 2102], [2107, 2107], [210a, 2113], [2115, 2115],
633    [2119, 211d], [2124, 2124], [2126, 2126], [2128, 2128], [212a, 212d],
634    [212f, 2139], [213c, 213f], [2145, 2149], [214e, 214e], [2160, 2188],
635    [24b6, 24e9], [2c00, 2c2e], [2c30, 2c5e], [2c60, 2ce4], [2ceb, 2cee],
636    [2cf2, 2cf3], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d], [2d30, 2d67],
637    [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
638    [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
639    [2e2f, 2e2f], [3005, 3005], [303b, 303c], [3105, 312e], [3131, 318e],
640    [31a0, 31ba], [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f],
641    [a62a, a62b], [a640, a66e], [a67f, a69d], [a6a0, a6ef], [a717, a7ae],
642    [a7b0, a7b7], [a7f7, a801], [a803, a805], [a807, a80a], [a80c, a822],
643    [a840, a873], [a882, a8b3], [a8f2, a8f7], [a8fb, a8fb], [a8fd, a8fd],
644    [a90a, a925], [a930, a946], [a960, a97c], [a984, a9b2], [a9cf, a9cf],
645    [aa00, aa28], [aa40, aa42], [aa44, aa4b], [aae0, aaea], [aaf2, aaf4],
646    [ab01, ab06], [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e],
647    [ab30, ab65], [ab70, abe2], [ac00, d7a3], [d7b0, d7c6], [d7cb, d7fb],
648    [fb00, fb06], [fb13, fb17], [fb50, fbb1], [fbd3, fd3d], [fd50, fd8f],
649    [fd92, fdc7], [fdf0, fdfb], [fe70, fe74], [fe76, fefc], [ff21, ff3a],
650    [ff41, ff5a], [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
651    [ffda, ffdc], [10000, 1000b], [1000d, 10026], [10028, 1003a],
652    [1003c, 1003d], [1003f, 1004d], [10050, 1005d], [10080, 100fa],
653    [10140, 10174], [10280, 1029c], [102a0, 102d0], [10300, 1031f],
654    [1032d, 1034a], [10350, 10375], [10380, 1039d], [103a0, 103c3],
655    [103c8, 103cf], [103d1, 103d5], [10400, 1049d], [104b0, 104d3],
656    [104d8, 104fb], [10500, 10527], [10530, 10563], [10600, 10736],
657    [10740, 10755], [10760, 10767], [10800, 10805], [10808, 10808],
658    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 10855],
659    [10860, 10876], [10880, 1089e], [108e0, 108f2], [108f4, 108f5],
660    [10900, 10915], [10920, 10939], [10980, 109b7], [109be, 109bf],
661    [10a00, 10a00], [10a10, 10a13], [10a15, 10a17], [10a19, 10a33],
662    [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7], [10ac9, 10ae4],
663    [10b00, 10b35], [10b40, 10b55], [10b60, 10b72], [10b80, 10b91],
664    [10c00, 10c48], [10c80, 10cb2], [10cc0, 10cf2], [11003, 11037],
665    [11083, 110af], [110d0, 110e8], [11103, 11126], [11150, 11172],
666    [11176, 11176], [11183, 111b2], [111c1, 111c4], [111da, 111da],
667    [111dc, 111dc], [11200, 11211], [11213, 1122b], [11280, 11286],
668    [11288, 11288], [1128a, 1128d], [1128f, 1129d], [1129f, 112a8],
669    [112b0, 112de], [11305, 1130c], [1130f, 11310], [11313, 11328],
670    [1132a, 11330], [11332, 11333], [11335, 11339], [1133d, 1133d],
671    [11350, 11350], [1135d, 11361], [11400, 11434], [11447, 1144a],
672    [11480, 114af], [114c4, 114c5], [114c7, 114c7], [11580, 115ae],
673    [115d8, 115db], [11600, 1162f], [11644, 11644], [11680, 116aa],
674    [118a0, 118df], [118ff, 118ff], [11a00, 11a00], [11a0b, 11a32],
675    [11a3a, 11a3a], [11a50, 11a50], [11a5c, 11a83], [11a86, 11a89],
676    [11ac0, 11af8], [11c00, 11c08], [11c0a, 11c2e], [11c40, 11c40],
677    [11c72, 11c8f], [11d00, 11d06], [11d08, 11d09], [11d0b, 11d30],
678    [11d46, 11d46], [12000, 12399], [12400, 1246e], [12480, 12543],
679    [13000, 1342e], [14400, 14646], [16800, 16a38], [16a40, 16a5e],
680    [16ad0, 16aed], [16b00, 16b2f], [16b40, 16b43], [16b63, 16b77],
681    [16b7d, 16b8f], [16f00, 16f44], [16f50, 16f50], [16f93, 16f9f],
682    [16fe0, 16fe1], [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88],
683    [1bc90, 1bc99], [1d400, 1d454], [1d456, 1d49c], [1d49e, 1d49f],
684    [1d4a2, 1d4a2], [1d4a5, 1d4a6], [1d4a9, 1d4ac], [1d4ae, 1d4b9],
685    [1d4bb, 1d4bb], [1d4bd, 1d4c3], [1d4c5, 1d505], [1d507, 1d50a],
686    [1d50d, 1d514], [1d516, 1d51c], [1d51e, 1d539], [1d53b, 1d53e],
687    [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550], [1d552, 1d6a5],
688    [1d6a8, 1d6c0], [1d6c2, 1d6da], [1d6dc, 1d6fa], [1d6fc, 1d714],
689    [1d716, 1d734], [1d736, 1d74e], [1d750, 1d76e], [1d770, 1d788],
690    [1d78a, 1d7a8], [1d7aa, 1d7c2], [1d7c4, 1d7cb], [1e800, 1e8c4],
691    [1e900, 1e943], [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22],
692    [1ee24, 1ee24], [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37],
693    [1ee39, 1ee39], [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47],
694    [1ee49, 1ee49], [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52],
695    [1ee54, 1ee54], [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b],
696    [1ee5d, 1ee5d], [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64],
697    [1ee67, 1ee6a], [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c],
698    [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3],
699    [1eea5, 1eea9], [1eeab, 1eebb], [1f130, 1f149], [1f150, 1f169],
700    [1f170, 1f189]**/
701
702
703    namespace {
704    const static UnicodeSet::run_t __le_Set_runs[] = {
705    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 14}, {Mixed, 2},
706    {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 1},
707    {Full, 4}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1},
708    {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 7}, {Empty, 1},
709    {Mixed, 1}, {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15},
710    {Empty, 9}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 8}, {Full, 1},
711    {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
712    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2},
713    {Mixed, 2}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Empty, 5},
714    {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
715    {Empty, 7}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
716    {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Full, 6}, {Empty, 2},
717    {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
718    {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
719    {Empty, 24}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 56}, {Full, 1},
720    {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
721    {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 2}, {Empty, 6},
722    {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 882}, {Full, 36}, {Mixed, 1},
723    {Empty, 1}, {Mixed, 2}, {Full, 8}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
724    {Full, 2}, {Mixed, 2}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
725    {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 8}, {Empty, 1}, {Full, 1},
726    {Mixed, 2}, {Empty, 4}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Full, 3},
727    {Mixed, 1}, {Full, 349}, {Mixed, 3}, {Empty, 280}, {Mixed, 1},
728    {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 10}, {Mixed, 2},
729    {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
730    {Full, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
731    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 2},
732    {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
733    {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 1},
734    {Full, 4}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
735    {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4}, {Mixed, 5}, {Empty, 2},
736    {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
737    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 4},
738    {Empty, 3}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
739    {Full, 1}, {Mixed, 1}, {Empty, 24}, {Mixed, 2}, {Empty, 2}, {Mixed, 11},
740    {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 4},
741    {Empty, 4}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2},
742    {Empty, 5}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 2},
743    {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 15}, {Full, 2}, {Mixed, 1},
744    {Empty, 8}, {Mixed, 3}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
745    {Mixed, 1}, {Empty, 8}, {Mixed, 5}, {Empty, 3}, {Mixed, 3}, {Empty, 21},
746    {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3}, {Mixed, 1}, {Full, 6},
747    {Mixed, 1}, {Empty, 85}, {Full, 33}, {Mixed, 1}, {Empty, 126},
748    {Full, 18}, {Mixed, 1}, {Empty, 269}, {Full, 17}, {Mixed, 2},
749    {Empty, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 4}, {Empty, 27}, {Full, 2},
750    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
751    {Empty, 608}, {Full, 3}, {Mixed, 2}, {Empty, 187}, {Full, 2},
752    {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Full, 10},
753    {Mixed, 10}, {Empty, 129}, {Full, 6}, {Mixed, 1}, {Empty, 1}, {Full, 2},
754    {Mixed, 1}, {Empty, 37}, {Mixed, 6}, {Empty, 19}, {Mixed, 4},
755    {Empty, 30835}};
756    const static UnicodeSet::bitquad_t  __le_Set_quads[] = {
757    0x07fffffe, 0x07fffffe, 0x04200400, 0xff7fffff, 0xff7fffff, 0xc0ffffff,
758    0xfffff01f, 0xbcdf0000, 0xffffd740, 0xfffffffb, 0xffbfffff, 0xfffffc03,
759    0xfffeffff, 0x027fffff, 0xfffffffe, 0x000000ff, 0x00080000, 0x000007ff,
760    0xfffec000, 0x002fffff, 0x9c00c060, 0xfffd0000, 0x0000ffff, 0xffffe000,
761    0x0002003f, 0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110, 0x01ffffff,
762    0x000007ff, 0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffe0003,
763    0xfff99fe1, 0x23c5fdff, 0xb0004000, 0x10030003, 0xfff987e0, 0x036dfdff,
764    0x5e000000, 0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003,
765    0xfff99fe0, 0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8, 0x03ffc718,
766    0x00010000, 0xfffddfe0, 0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1,
767    0x23effdff, 0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff, 0x80704000,
768    0xfc000003, 0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0x00000001, 0xfffffeff,
769    0x00001fff, 0x00001f00, 0xffff20bf, 0xf7ffffff, 0x3d7f3dff, 0xffff3dff,
770    0x7f3dffff, 0xff7fff3d, 0xff3dffff, 0x07ffffff, 0x0000ffff, 0x3f3fffff,
771    0xfffffffe, 0xffff9fff, 0x07fffffe, 0x01ffc7ff, 0x0003dfff, 0x0003ffff,
772    0x0003ffff, 0x0001dfff, 0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff,
773    0x7fffffff, 0x007fffff, 0xffffffe0, 0x000fffff, 0x00000fe0, 0xfffffff8,
774    0xfc00c001, 0x0000003f, 0x0000000f, 0xfc00e000, 0x3fffffff, 0x000001ff,
775    0x0063de00, 0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0x5fdfffff, 0x0fcf1fdc,
776    0x1fdc1fff, 0x80020000, 0x1fff0000, 0x3e2ffc84, 0xf3ffbd50, 0x000043e0,
777    0x000001ff, 0xffc00000, 0x000003ff, 0xffff7fff, 0x7fffffff, 0x000c781f,
778    0xffff20bf, 0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00008000,
779    0x00000020, 0x18000000, 0xffffffe0, 0xfffe7fff, 0x00007fff, 0x07ffffff,
780    0x00001fff, 0xffff0000, 0x3fffffff, 0xffff1fff, 0x00000c00, 0x80007fff,
781    0x3fffffff, 0x0000ffff, 0xff800000, 0x00ff7fff, 0xff800000, 0xfffff7bb,
782    0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff, 0x28fc0000, 0xfffffc00,
783    0xffff003f, 0x0000007f, 0x1fffffff, 0xfffffff0, 0x0007ffff, 0x00008000,
784    0x000001ff, 0x00000ff7, 0x001c07ff, 0x007e7e7e, 0xffff7f7f, 0xffff003f,
785    0x00000007, 0xffff000f, 0xfffff87f, 0x0fffffff, 0x00f8007f, 0xffff0000,
786    0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
787    0x0fff0000, 0xffdf0000, 0x1fffffff, 0x07fffffe, 0x07fffffe, 0x7fffffff,
788    0x1cfcfcfc, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x001fffff,
789    0x1fffffff, 0x0001ffff, 0xffffe000, 0xffff07ff, 0x003fffff, 0x3fffffff,
790    0x003eff0f, 0x3fffffff, 0xffff0000, 0xff0fffff, 0x0fffffff, 0xffff00ff,
791    0x0000000f, 0x007fffff, 0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff,
792    0x003fffff, 0x007fffff, 0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff,
793    0xc0ffffff, 0xfeef0001, 0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff,
794    0x0000001f, 0x003fffff, 0x003fffff, 0x0007ffff, 0x0003ffff, 0x000001ff,
795    0x0007ffff, 0x0007ffff, 0xfffffff8, 0x00ffffff, 0xfffffff8, 0x0000ffff,
796    0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f, 0xffff0000, 0x0047ffff,
797    0xfffffff8, 0x0007ffff, 0x1400001e, 0xfffbffff, 0x00000fff, 0xbfffbd7f,
798    0xffff01ff, 0x7fffffff, 0xfff99fe0, 0x23edfdff, 0xe0010000, 0x00000003,
799    0x001fffff, 0x00000780, 0x0000ffff, 0x000000b0, 0x00007fff, 0x0f000000,
800    0x0000ffff, 0x00000010, 0x000007ff, 0x80000000, 0xfffff801, 0x0407ffff,
801    0xf0010000, 0x000003cf, 0x01ffffff, 0xfffffdff, 0x00007fff, 0x00000001,
802    0xfffc0000, 0x0000ffff, 0xfffffb7f, 0x0001ffff, 0x00000040, 0x03ffffff,
803    0x00007fff, 0x0000000f, 0x00007fff, 0x0000007f, 0x01ffffff, 0x7fffffff,
804    0xffff0000, 0x00003fff, 0x0000ffff, 0x0000000f, 0xe0fffff8, 0x0000ffff,
805    0x0001001f, 0xfff80000, 0x00000003, 0x1fff07ff, 0x03ff01ff, 0xffdfffff,
806    0xdfffffff, 0xebffde64, 0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f,
807    0xffffff3f, 0xf7fffffd, 0xf7ffffff, 0xffdfffff, 0xffdfffff, 0xffff7fff,
808    0xffff7fff, 0xfffffdff, 0xfffffdff, 0x00000ff7, 0x0000001f, 0x0000000f,
809    0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796, 0x0ffffbff, 0x0ffffbee,
810    0xffff0000, 0xffff03ff, 0xffff03ff, 0x000003ff};
811    }
812
813    const static UnicodeSet le_Set{const_cast<UnicodeSet::run_t *>(__le_Set_runs), 294, 0, const_cast<UnicodeSet::bitquad_t *>(__le_Set_quads), 322, 0};
814
815    /** Code Point Ranges for ML
816    [003a, 003a], [00b7, 00b7], [0387, 0387], [05f4, 05f4], [2027, 2027],
817    [fe13, fe13], [fe55, fe55], [ff1a, ff1a]**/
818
819
820    namespace {
821    const static UnicodeSet::run_t __ml_Set_runs[] = {
822    {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 22}, {Mixed, 1},
823    {Empty, 18}, {Mixed, 1}, {Empty, 209}, {Mixed, 1}, {Empty, 1774},
824    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
825    {Empty, 32775}};
826    const static UnicodeSet::bitquad_t  __ml_Set_quads[] = {
827    0x04000000, 0x00800000, 0x00000080, 0x00100000, 0x00000080, 0x00080000,
828    0x00200000, 0x04000000};
829    }
830
831    const static UnicodeSet ml_Set{const_cast<UnicodeSet::run_t *>(__ml_Set_runs), 17, 0, const_cast<UnicodeSet::bitquad_t *>(__ml_Set_quads), 8, 0};
832
833    /** Code Point Ranges for MN
834    [002c, 002c], [003b, 003b], [037e, 037e], [0589, 0589], [060c, 060d],
835    [066c, 066c], [07f8, 07f8], [2044, 2044], [fe10, fe10], [fe14, fe14],
836    [fe50, fe50], [fe54, fe54], [ff0c, ff0c], [ff1b, ff1b]**/
837
838
839    namespace {
840    const static UnicodeSet::run_t __mn_Set_runs[] = {
841    {Empty, 1}, {Mixed, 1}, {Empty, 25}, {Mixed, 1}, {Empty, 16},
842    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 11},
843    {Mixed, 1}, {Empty, 194}, {Mixed, 1}, {Empty, 1773}, {Mixed, 1},
844    {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}};
845    const static UnicodeSet::bitquad_t  __mn_Set_quads[] = {
846    0x08001000, 0x40000000, 0x00000200, 0x00003000, 0x00001000, 0x01000000,
847    0x00000010, 0x00110000, 0x00110000, 0x08001000};
848    }
849
850    const static UnicodeSet mn_Set{const_cast<UnicodeSet::run_t *>(__mn_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__mn_Set_quads), 10, 0};
851
852    /** Code Point Ranges for MB
853    [002e, 002e], [2018, 2019], [2024, 2024], [fe52, fe52], [ff07, ff07],
854    [ff0e, ff0e]**/
855
856
857    namespace {
858    const static UnicodeSet::run_t __mb_Set_runs[] = {
859    {Empty, 1}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1776},
860    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}};
861    const static UnicodeSet::bitquad_t  __mb_Set_quads[] = {
862    0x00004000, 0x03000000, 0x00000010, 0x00040000, 0x00004080};
863    }
864
865    const static UnicodeSet mb_Set{const_cast<UnicodeSet::run_t *>(__mb_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__mb_Set_quads), 5, 0};
866
867    /** Code Point Ranges for NU
868    [0030, 0039], [0660, 0669], [066b, 066b], [06f0, 06f9], [07c0, 07c9],
869    [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f],
870    [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def],
871    [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099],
872    [17e0, 17e9], [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
873    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59],
874    [a620, a629], [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9],
875    [aa50, aa59], [abf0, abf9], [104a0, 104a9], [11066, 1106f],
876    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
877    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
878    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [11d50, 11d59],
879    [16a60, 16a69], [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
880
881
882    namespace {
883    const static UnicodeSet::run_t __nu_Set_runs[] = {
884    {Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
885    {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
886    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
887    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
888    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
889    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
890    {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
891    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
892    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1102},
893    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
894    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
895    {Empty, 709}, {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3},
896    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
897    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
898    {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
899    {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Empty, 7},
900    {Mixed, 1}, {Empty, 616}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
901    {Empty, 867}, {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1},
902    {Empty, 30901}};
903    const static UnicodeSet::bitquad_t  __nu_Set_quads[] = {
904    0x03ff0000, 0x00000bff, 0x03ff0000, 0x000003ff, 0x0000ffc0, 0x0000ffc0,
905    0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
906    0x0000ffc0, 0x0000ffc0, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x000003ff,
907    0x03ff0000, 0x000003ff, 0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff,
908    0x03ff0000, 0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
909    0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x0000ffc0,
910    0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000,
911    0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0x03ff0000,
912    0x000003ff, 0x03ff0000, 0xffffc000, 0x03ff0000};
913    }
914
915    const static UnicodeSet nu_Set{const_cast<UnicodeSet::run_t *>(__nu_Set_runs), 102, 0, const_cast<UnicodeSet::bitquad_t *>(__nu_Set_quads), 52, 0};
916
917    /** Code Point Ranges for EX
918    [005f, 005f], [202f, 202f], [203f, 2040], [2054, 2054], [fe33, fe34],
919    [fe4d, fe4f], [ff3f, ff3f]**/
920
921
922    namespace {
923    const static UnicodeSet::run_t __ex_Set_runs[] = {
924    {Empty, 2}, {Mixed, 1}, {Empty, 254}, {Mixed, 2}, {Empty, 1774},
925    {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 32774}};
926    const static UnicodeSet::bitquad_t  __ex_Set_quads[] = {
927    0x80000000, 0x80008000, 0x00100001, 0x00180000, 0x0000e000, 0x80000000};
928    }
929
930    const static UnicodeSet ex_Set{const_cast<UnicodeSet::run_t *>(__ex_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__ex_Set_quads), 6, 0};
931
932    /** Code Point Ranges for EB
933    [261d, 261d], [26f9, 26f9], [270a, 270d], [1f385, 1f385],
934    [1f3c2, 1f3c4], [1f3c7, 1f3c7], [1f3ca, 1f3cc], [1f442, 1f443],
935    [1f446, 1f450], [1f46e, 1f46e], [1f470, 1f478], [1f47c, 1f47c],
936    [1f481, 1f483], [1f485, 1f487], [1f4aa, 1f4aa], [1f574, 1f575],
937    [1f57a, 1f57a], [1f590, 1f590], [1f595, 1f596], [1f645, 1f647],
938    [1f64b, 1f64f], [1f6a3, 1f6a3], [1f6b4, 1f6b6], [1f6c0, 1f6c0],
939    [1f6cc, 1f6cc], [1f918, 1f91c], [1f91e, 1f91f], [1f926, 1f926],
940    [1f930, 1f939], [1f93d, 1f93e], [1f9d1, 1f9dd]**/
941
942
943    namespace {
944    const static UnicodeSet::run_t __eb_Set_runs[] = {
945    {Empty, 304}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 3683},
946    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 4}, {Empty, 5},
947    {Mixed, 2}, {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 17},
948    {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 30769}};
949    const static UnicodeSet::bitquad_t  __eb_Set_quads[] = {
950    0x20000000, 0x02000000, 0x00003c00, 0x00000020, 0x00001c9c, 0x0001ffcc,
951    0x11ff4000, 0x000000ee, 0x00000400, 0x04300000, 0x00610000, 0x0000f8e0,
952    0x00700008, 0x00001001, 0xdf000000, 0x63ff0040, 0x3ffe0000};
953    }
954
955    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};
956
957    /** Code Point Ranges for EM
958    [1f3fb, 1f3ff]**/
959
960
961    namespace {
962    const static UnicodeSet::run_t __em_Set_runs[] = {
963    {Empty, 3999}, {Mixed, 1}, {Empty, 30816}};
964    const static UnicodeSet::bitquad_t  __em_Set_quads[] = {
965    0xf8000000};
966    }
967
968    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};
969
970    /** Code Point Ranges for ZWJ
971    [200d, 200d]**/
972
973
974    namespace {
975    const static UnicodeSet::run_t __zwj_Set_runs[] = {
976    {Empty, 256}, {Mixed, 1}, {Empty, 34559}};
977    const static UnicodeSet::bitquad_t  __zwj_Set_quads[] = {
978    0x00002000};
979    }
980
981    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};
982
983    /** Code Point Ranges for GAZ
984    [2640, 2640], [2642, 2642], [2695, 2696], [2708, 2708], [2764, 2764],
985    [1f308, 1f308], [1f33e, 1f33e], [1f373, 1f373], [1f393, 1f393],
986    [1f3a4, 1f3a4], [1f3a8, 1f3a8], [1f3eb, 1f3eb], [1f3ed, 1f3ed],
987    [1f48b, 1f48b], [1f4bb, 1f4bc], [1f527, 1f527], [1f52c, 1f52c],
988    [1f5e8, 1f5e8], [1f680, 1f680], [1f692, 1f692]**/
989
990
991    namespace {
992    const static UnicodeSet::run_t __gaz_Set_runs[] = {
993    {Empty, 306}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
994    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3676}, {Mixed, 2},
995    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
996    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 4}, {Mixed, 1},
997    {Empty, 30795}};
998    const static UnicodeSet::bitquad_t  __gaz_Set_quads[] = {
999    0x00000005, 0x00600000, 0x00000100, 0x00000010, 0x00000100, 0x40000000,
1000    0x00080000, 0x00080000, 0x00000110, 0x00002800, 0x00000800, 0x18000000,
1001    0x00001080, 0x00000100, 0x00040001};
1002    }
1003
1004    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};
1005
1006    /** Code Point Ranges for EBG
1007    [1f466, 1f469]**/
1008
1009
1010    namespace {
1011    const static UnicodeSet::run_t __ebg_Set_runs[] = {
1012    {Empty, 4003}, {Mixed, 1}, {Empty, 30812}};
1013    const static UnicodeSet::bitquad_t  __ebg_Set_quads[] = {
1014    0x000003c0};
1015    }
1016
1017    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};
1018
1019    static EnumeratedPropertyObject property_object
1020        {WB,
1021        WB_ns::independent_prop_values,
1022        std::move(WB_ns::enum_names),
1023        std::move(WB_ns::value_names),
1024        std::move(WB_ns::aliases_only_map),{
1025        &xx_Set, &dq_Set, &sq_Set, &hl_Set, &cr_Set, &lf_Set, &nl_Set,
1026        &extend_Set, &ri_Set, &fo_Set, &ka_Set, &le_Set, &ml_Set, &mn_Set,
1027        &mb_Set, &nu_Set, &ex_Set, &eb_Set, &em_Set, &zwj_Set, &gaz_Set,
1028        &ebg_Set
1029        }};
1030    }
1031}
1032
1033#endif
Note: See TracBrowser for help on using the repository browser.