source: icGREP/icgrep-devel/icgrep/UCD/SentenceBreakProperty.h @ 5787

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

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

File size: 83.0 KB
Line 
1#ifndef SENTENCEBREAKPROPERTY_H
2#define SENTENCEBREAKPROPERTY_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 SB_ns {
18    const unsigned independent_prop_values = 15;
19    /** Code Point Ranges for XX
20    [0000, 0008], [000e, 001f], [0023, 0026], [002a, 002b], [002f, 002f],
21    [003b, 003e], [0040, 0040], [005c, 005c], [005e, 0060], [007c, 007c],
22    [007e, 0084], [0086, 009f], [00a1, 00a9], [00ac, 00ac], [00ae, 00b4],
23    [00b6, 00b9], [00bc, 00bf], [00d7, 00d7], [00f7, 00f7], [02c2, 02c5],
24    [02d2, 02df], [02e5, 02eb], [02ed, 02ed], [02ef, 02ff], [0375, 0375],
25    [0378, 0379], [037e, 037e], [0380, 0385], [0387, 0387], [038b, 038b],
26    [038d, 038d], [03a2, 03a2], [03f6, 03f6], [0482, 0482], [0530, 0530],
27    [0557, 0558], [055a, 055c], [055e, 0560], [0588, 0588], [058a, 0590],
28    [05be, 05be], [05c0, 05c0], [05c3, 05c3], [05c6, 05c6], [05c8, 05cf],
29    [05eb, 05ef], [05f4, 05ff], [0606, 060b], [060e, 060f], [061b, 061b],
30    [061d, 061e], [066a, 066a], [066d, 066d], [06de, 06de], [06e9, 06e9],
31    [06fd, 06fe], [0703, 070e], [074b, 074c], [07b2, 07bf], [07f6, 07f7],
32    [07fb, 07ff], [082e, 083f], [085c, 085f], [086b, 089f], [08b5, 08b5],
33    [08be, 08d3], [0970, 0970], [0984, 0984], [098d, 098e], [0991, 0992],
34    [09a9, 09a9], [09b1, 09b1], [09b3, 09b5], [09ba, 09bb], [09c5, 09c6],
35    [09c9, 09ca], [09cf, 09d6], [09d8, 09db], [09de, 09de], [09e4, 09e5],
36    [09f2, 09fb], [09fd, 0a00], [0a04, 0a04], [0a0b, 0a0e], [0a11, 0a12],
37    [0a29, 0a29], [0a31, 0a31], [0a34, 0a34], [0a37, 0a37], [0a3a, 0a3b],
38    [0a3d, 0a3d], [0a43, 0a46], [0a49, 0a4a], [0a4e, 0a50], [0a52, 0a58],
39    [0a5d, 0a5d], [0a5f, 0a65], [0a76, 0a80], [0a84, 0a84], [0a8e, 0a8e],
40    [0a92, 0a92], [0aa9, 0aa9], [0ab1, 0ab1], [0ab4, 0ab4], [0aba, 0abb],
41    [0ac6, 0ac6], [0aca, 0aca], [0ace, 0acf], [0ad1, 0adf], [0ae4, 0ae5],
42    [0af0, 0af8], [0b00, 0b00], [0b04, 0b04], [0b0d, 0b0e], [0b11, 0b12],
43    [0b29, 0b29], [0b31, 0b31], [0b34, 0b34], [0b3a, 0b3b], [0b45, 0b46],
44    [0b49, 0b4a], [0b4e, 0b55], [0b58, 0b5b], [0b5e, 0b5e], [0b64, 0b65],
45    [0b70, 0b70], [0b72, 0b81], [0b84, 0b84], [0b8b, 0b8d], [0b91, 0b91],
46    [0b96, 0b98], [0b9b, 0b9b], [0b9d, 0b9d], [0ba0, 0ba2], [0ba5, 0ba7],
47    [0bab, 0bad], [0bba, 0bbd], [0bc3, 0bc5], [0bc9, 0bc9], [0bce, 0bcf],
48    [0bd1, 0bd6], [0bd8, 0be5], [0bf0, 0bff], [0c04, 0c04], [0c0d, 0c0d],
49    [0c11, 0c11], [0c29, 0c29], [0c3a, 0c3c], [0c45, 0c45], [0c49, 0c49],
50    [0c4e, 0c54], [0c57, 0c57], [0c5b, 0c5f], [0c64, 0c65], [0c70, 0c7f],
51    [0c84, 0c84], [0c8d, 0c8d], [0c91, 0c91], [0ca9, 0ca9], [0cb4, 0cb4],
52    [0cba, 0cbb], [0cc5, 0cc5], [0cc9, 0cc9], [0cce, 0cd4], [0cd7, 0cdd],
53    [0cdf, 0cdf], [0ce4, 0ce5], [0cf0, 0cf0], [0cf3, 0cff], [0d04, 0d04],
54    [0d0d, 0d0d], [0d11, 0d11], [0d45, 0d45], [0d49, 0d49], [0d4f, 0d53],
55    [0d58, 0d5e], [0d64, 0d65], [0d70, 0d79], [0d80, 0d81], [0d84, 0d84],
56    [0d97, 0d99], [0db2, 0db2], [0dbc, 0dbc], [0dbe, 0dbf], [0dc7, 0dc9],
57    [0dcb, 0dce], [0dd5, 0dd5], [0dd7, 0dd7], [0de0, 0de5], [0df0, 0df1],
58    [0df4, 0e00], [0e3b, 0e3f], [0e4f, 0e4f], [0e5a, 0e80], [0e83, 0e83],
59    [0e85, 0e86], [0e89, 0e89], [0e8b, 0e8c], [0e8e, 0e93], [0e98, 0e98],
60    [0ea0, 0ea0], [0ea4, 0ea4], [0ea6, 0ea6], [0ea8, 0ea9], [0eac, 0eac],
61    [0eba, 0eba], [0ebe, 0ebf], [0ec5, 0ec5], [0ec7, 0ec7], [0ece, 0ecf],
62    [0eda, 0edb], [0ee0, 0eff], [0f01, 0f17], [0f1a, 0f1f], [0f2a, 0f34],
63    [0f36, 0f36], [0f38, 0f38], [0f48, 0f48], [0f6d, 0f70], [0f85, 0f85],
64    [0f98, 0f98], [0fbd, 0fc5], [0fc7, 0fff], [104c, 104f], [109e, 109f],
65    [10c6, 10c6], [10c8, 10cc], [10ce, 10cf], [10fb, 10fb], [1249, 1249],
66    [124e, 124f], [1257, 1257], [1259, 1259], [125e, 125f], [1289, 1289],
67    [128e, 128f], [12b1, 12b1], [12b6, 12b7], [12bf, 12bf], [12c1, 12c1],
68    [12c6, 12c7], [12d7, 12d7], [1311, 1311], [1316, 1317], [135b, 135c],
69    [1360, 1361], [1363, 1366], [1369, 137f], [1390, 139f], [13f6, 13f7],
70    [13fe, 1400], [166d, 166d], [169d, 169f], [16eb, 16ed], [16f9, 16ff],
71    [170d, 170d], [1715, 171f], [1737, 173f], [1754, 175f], [176d, 176d],
72    [1771, 1771], [1774, 177f], [17d4, 17d6], [17d8, 17db], [17de, 17df],
73    [17ea, 1801], [1804, 1807], [180a, 180a], [180f, 180f], [181a, 181f],
74    [1878, 187f], [18ab, 18af], [18f6, 18ff], [191f, 191f], [192c, 192f],
75    [193c, 1943], [196e, 196f], [1975, 197f], [19ac, 19af], [19ca, 19cf],
76    [19da, 19ff], [1a1c, 1a1f], [1a5f, 1a5f], [1a7d, 1a7e], [1a8a, 1a8f],
77    [1a9a, 1aa6], [1aac, 1aaf], [1abf, 1aff], [1b4c, 1b4f], [1b5c, 1b5d],
78    [1b60, 1b6a], [1b74, 1b7f], [1bf4, 1bff], [1c38, 1c3a], [1c3d, 1c3f],
79    [1c4a, 1c4c], [1c89, 1ccf], [1cd3, 1cd3], [1cfa, 1cff], [1dfa, 1dfa],
80    [1f16, 1f17], [1f1e, 1f1f], [1f46, 1f47], [1f4e, 1f4f], [1f58, 1f58],
81    [1f5a, 1f5a], [1f5c, 1f5c], [1f5e, 1f5e], [1f7e, 1f7f], [1fb5, 1fb5],
82    [1fbd, 1fbd], [1fbf, 1fc1], [1fc5, 1fc5], [1fcd, 1fcf], [1fd4, 1fd5],
83    [1fdc, 1fdf], [1fed, 1ff1], [1ff5, 1ff5], [1ffd, 1fff], [2010, 2012],
84    [2015, 2017], [2020, 2023], [2025, 2027], [2030, 2038], [203b, 203b],
85    [203e, 2044], [204a, 205e], [2065, 2065], [2070, 2070], [2072, 207c],
86    [2080, 208c], [208f, 208f], [209d, 20cf], [20f1, 2101], [2103, 2106],
87    [2108, 2109], [2114, 2114], [2116, 2118], [211e, 2123], [2125, 2125],
88    [2127, 2127], [2129, 2129], [212e, 212e], [213a, 213b], [2140, 2144],
89    [214a, 214d], [214f, 215f], [2189, 2307], [230c, 2328], [232b, 24b5],
90    [24ea, 275a], [2761, 2767], [2776, 27c4], [27c7, 27e5], [27f0, 2982],
91    [2999, 29d7], [29dc, 29fb], [29fe, 2bff], [2c2f, 2c2f], [2c5f, 2c5f],
92    [2ce5, 2cea], [2cf4, 2cff], [2d26, 2d26], [2d28, 2d2c], [2d2e, 2d2f],
93    [2d68, 2d6e], [2d70, 2d7e], [2d97, 2d9f], [2da7, 2da7], [2daf, 2daf],
94    [2db7, 2db7], [2dbf, 2dbf], [2dc7, 2dc7], [2dcf, 2dcf], [2dd7, 2dd7],
95    [2ddf, 2ddf], [2e0e, 2e1b], [2e1e, 2e1f], [2e2a, 2e2d], [2e30, 2e3b],
96    [2e3d, 2e41], [2e43, 2fff], [3003, 3004], [3012, 3013], [301c, 301c],
97    [3020, 3020], [3030, 3030], [3036, 3037], [303d, 3040], [3097, 3098],
98    [309b, 309c], [30a0, 30a0], [30fb, 30fb], [3100, 3104], [312f, 3130],
99    [318f, 319f], [31bb, 31ef], [3200, 33ff], [4db6, 4dff], [9feb, 9fff],
100    [a48d, a4cf], [a4fe, a4fe], [a60d, a60d], [a62c, a63f], [a673, a673],
101    [a67e, a67e], [a6f2, a6f2], [a6f4, a6f6], [a6f8, a716], [a720, a721],
102    [a789, a78a], [a7af, a7af], [a7b8, a7f6], [a828, a83f], [a874, a875],
103    [a878, a87f], [a8c6, a8cd], [a8da, a8df], [a8f8, a8fa], [a8fc, a8fc],
104    [a8fe, a8ff], [a92e, a92e], [a954, a95f], [a97d, a97f], [a9c1, a9c7],
105    [a9ca, a9ce], [a9da, a9df], [a9ff, a9ff], [aa37, aa3f], [aa4e, aa4f],
106    [aa5a, aa5c], [aa77, aa79], [aac3, aada], [aade, aadf], [aaf7, ab00],
107    [ab07, ab08], [ab0f, ab10], [ab17, ab1f], [ab27, ab27], [ab2f, ab2f],
108    [ab5b, ab5b], [ab66, ab6f], [abee, abef], [abfa, abff], [d7a4, d7af],
109    [d7c7, d7ca], [d7fc, f8ff], [fa6e, fa6f], [fada, faff], [fb07, fb12],
110    [fb18, fb1c], [fb29, fb29], [fb37, fb37], [fb3d, fb3d], [fb3f, fb3f],
111    [fb42, fb42], [fb45, fb45], [fbb2, fbd2], [fd40, fd4f], [fd90, fd91],
112    [fdc8, fdef], [fdfc, fdff], [fe12, fe12], [fe14, fe16], [fe19, fe1f],
113    [fe30, fe30], [fe33, fe34], [fe45, fe46], [fe49, fe4f], [fe53, fe54],
114    [fe5f, fe62], [fe64, fe6f], [fe75, fe75], [fefd, fefe], [ff00, ff00],
115    [ff02, ff07], [ff0a, ff0b], [ff0f, ff19], [ff1b, ff1e], [ff20, ff20],
116    [ff3c, ff3c], [ff3e, ff40], [ff5c, ff5c], [ff5e, ff5e], [ff65, ff65],
117    [ffbf, ffc1], [ffc8, ffc9], [ffd0, ffd1], [ffd8, ffd9], [ffdd, fff8],
118    [fffc, ffff], [1000c, 1000c], [10027, 10027], [1003b, 1003b],
119    [1003e, 1003e], [1004e, 1004f], [1005e, 1007f], [100fb, 1013f],
120    [10175, 101fc], [101fe, 1027f], [1029d, 1029f], [102d1, 102df],
121    [102e1, 102ff], [10320, 1032c], [1034b, 1034f], [1037b, 1037f],
122    [1039e, 1039f], [103c4, 103c7], [103d0, 103d0], [103d6, 103ff],
123    [1049e, 1049f], [104aa, 104af], [104d4, 104d7], [104fc, 104ff],
124    [10528, 1052f], [10564, 105ff], [10737, 1073f], [10756, 1075f],
125    [10768, 107ff], [10806, 10807], [10809, 10809], [10836, 10836],
126    [10839, 1083b], [1083d, 1083e], [10856, 1085f], [10877, 1087f],
127    [1089f, 108df], [108f3, 108f3], [108f6, 108ff], [10916, 1091f],
128    [1093a, 1097f], [109b8, 109bd], [109c0, 109ff], [10a04, 10a04],
129    [10a07, 10a0b], [10a14, 10a14], [10a18, 10a18], [10a34, 10a37],
130    [10a3b, 10a3e], [10a40, 10a55], [10a58, 10a5f], [10a7d, 10a7f],
131    [10a9d, 10abf], [10ac8, 10ac8], [10ae7, 10aff], [10b36, 10b3f],
132    [10b56, 10b5f], [10b73, 10b7f], [10b92, 10bff], [10c49, 10c7f],
133    [10cb3, 10cbf], [10cf3, 10fff], [11049, 11065], [11070, 1107e],
134    [110bb, 110bc], [110c2, 110cf], [110e9, 110ef], [110fa, 110ff],
135    [11135, 11135], [11140, 11140], [11144, 1114f], [11174, 11175],
136    [11177, 1117f], [111c7, 111c9], [111ce, 111cf], [111db, 111db],
137    [111dd, 111dd], [111e0, 111ff], [11212, 11212], [1123a, 1123a],
138    [1123d, 1123d], [1123f, 1127f], [11287, 11287], [11289, 11289],
139    [1128e, 1128e], [1129e, 1129e], [112aa, 112af], [112eb, 112ef],
140    [112fa, 112ff], [11304, 11304], [1130d, 1130e], [11311, 11312],
141    [11329, 11329], [11331, 11331], [11334, 11334], [1133a, 1133b],
142    [11345, 11346], [11349, 1134a], [1134e, 1134f], [11351, 11356],
143    [11358, 1135c], [11364, 11365], [1136d, 1136f], [11375, 113ff],
144    [1144d, 1144f], [1145a, 1147f], [114c6, 114c6], [114c8, 114cf],
145    [114da, 1157f], [115b6, 115b7], [115c1, 115c1], [115c4, 115c8],
146    [115de, 115ff], [11643, 11643], [11645, 1164f], [1165a, 1167f],
147    [116b8, 116bf], [116ca, 116ff], [1171a, 1171c], [1172c, 1172f],
148    [1173a, 1173b], [1173f, 1189f], [118ea, 118fe], [11900, 119ff],
149    [11a3f, 11a41], [11a44, 11a46], [11a48, 11a4f], [11a84, 11a85],
150    [11a9a, 11a9a], [11a9d, 11abf], [11af9, 11bff], [11c09, 11c09],
151    [11c37, 11c37], [11c43, 11c4f], [11c5a, 11c71], [11c90, 11c91],
152    [11ca8, 11ca8], [11cb7, 11cff], [11d07, 11d07], [11d0a, 11d0a],
153    [11d37, 11d39], [11d3b, 11d3b], [11d3e, 11d3e], [11d48, 11d4f],
154    [11d5a, 11fff], [1239a, 123ff], [1246f, 1247f], [12544, 12fff],
155    [1342f, 143ff], [14647, 167ff], [16a39, 16a3f], [16a5f, 16a5f],
156    [16a6a, 16a6d], [16a70, 16acf], [16aee, 16aef], [16af6, 16aff],
157    [16b39, 16b3f], [16b45, 16b4f], [16b5a, 16b62], [16b78, 16b7c],
158    [16b90, 16eff], [16f45, 16f4f], [16f7f, 16f8e], [16fa0, 16fdf],
159    [16fe2, 16fff], [187ed, 187ff], [18af3, 1afff], [1b11f, 1b16f],
160    [1b2fc, 1bbff], [1bc6b, 1bc6f], [1bc7d, 1bc7f], [1bc89, 1bc8f],
161    [1bc9a, 1bc9c], [1bca4, 1d164], [1d16a, 1d16c], [1d183, 1d184],
162    [1d18c, 1d1a9], [1d1ae, 1d241], [1d245, 1d3ff], [1d455, 1d455],
163    [1d49d, 1d49d], [1d4a0, 1d4a1], [1d4a3, 1d4a4], [1d4a7, 1d4a8],
164    [1d4ad, 1d4ad], [1d4ba, 1d4ba], [1d4bc, 1d4bc], [1d4c4, 1d4c4],
165    [1d506, 1d506], [1d50b, 1d50c], [1d515, 1d515], [1d51d, 1d51d],
166    [1d53a, 1d53a], [1d53f, 1d53f], [1d545, 1d545], [1d547, 1d549],
167    [1d551, 1d551], [1d6a6, 1d6a7], [1d6c1, 1d6c1], [1d6db, 1d6db],
168    [1d6fb, 1d6fb], [1d715, 1d715], [1d735, 1d735], [1d74f, 1d74f],
169    [1d76f, 1d76f], [1d789, 1d789], [1d7a9, 1d7a9], [1d7c3, 1d7c3],
170    [1d7cc, 1d7cd], [1d800, 1d9ff], [1da37, 1da3a], [1da6d, 1da74],
171    [1da76, 1da83], [1da85, 1da87], [1da89, 1da9a], [1daa0, 1daa0],
172    [1dab0, 1dfff], [1e007, 1e007], [1e019, 1e01a], [1e022, 1e022],
173    [1e025, 1e025], [1e02b, 1e7ff], [1e8c5, 1e8cf], [1e8d7, 1e8ff],
174    [1e94b, 1e94f], [1e95a, 1edff], [1ee04, 1ee04], [1ee20, 1ee20],
175    [1ee23, 1ee23], [1ee25, 1ee26], [1ee28, 1ee28], [1ee33, 1ee33],
176    [1ee38, 1ee38], [1ee3a, 1ee3a], [1ee3c, 1ee41], [1ee43, 1ee46],
177    [1ee48, 1ee48], [1ee4a, 1ee4a], [1ee4c, 1ee4c], [1ee50, 1ee50],
178    [1ee53, 1ee53], [1ee55, 1ee56], [1ee58, 1ee58], [1ee5a, 1ee5a],
179    [1ee5c, 1ee5c], [1ee5e, 1ee5e], [1ee60, 1ee60], [1ee63, 1ee63],
180    [1ee65, 1ee66], [1ee6b, 1ee6b], [1ee73, 1ee73], [1ee78, 1ee78],
181    [1ee7d, 1ee7d], [1ee7f, 1ee7f], [1ee8a, 1ee8a], [1ee9c, 1eea0],
182    [1eea4, 1eea4], [1eeaa, 1eeaa], [1eebc, 1f12f], [1f14a, 1f14f],
183    [1f16a, 1f16f], [1f18a, 1f675], [1f679, 1ffff], [2a6d7, 2a6ff],
184    [2b735, 2b73f], [2b81e, 2b81f], [2cea2, 2ceaf], [2ebe1, 2f7ff],
185    [2fa1e, e0000], [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
186
187
188    namespace {
189    const static UnicodeSet::run_t __xx_Set_runs[] = {
190    {Mixed, 8}, {Empty, 14}, {Mixed, 2}, {Empty, 3}, {Mixed, 3}, {Empty, 1},
191    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 4}, {Mixed, 8}, {Empty, 2},
192    {Mixed, 1}, {Empty, 2}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
193    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 1},
194    {Mixed, 2}, {Empty, 4}, {Mixed, 30}, {Empty, 1}, {Mixed, 9}, {Full, 1},
195    {Mixed, 3}, {Full, 1}, {Mixed, 7}, {Full, 1}, {Empty, 2}, {Mixed, 1},
196    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 10}, {Mixed, 1},
197    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
198    {Empty, 2}, {Mixed, 2}, {Empty, 18}, {Mixed, 2}, {Empty, 2}, {Mixed, 5},
199    {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
200    {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
201    {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 3},
202    {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 1},
203    {Mixed, 2}, {Empty, 7}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
204    {Mixed, 2}, {Empty, 1}, {Mixed, 8}, {Full, 1}, {Mixed, 5}, {Empty, 1},
205    {Mixed, 1}, {Full, 11}, {Mixed, 2}, {Full, 11}, {Mixed, 1}, {Empty, 1},
206    {Mixed, 1}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Full, 12},
207    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 16}, {Empty, 1}, {Mixed, 2},
208    {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
209    {Empty, 1}, {Mixed, 3}, {Full, 13}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
210    {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 1},
211    {Full, 16}, {Empty, 205}, {Mixed, 1}, {Full, 2}, {Empty, 655},
212    {Mixed, 1}, {Empty, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 8},
213    {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
214    {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
215    {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
216    {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 6}, {Empty, 3},
217    {Mixed, 1}, {Empty, 349}, {Mixed, 3}, {Full, 264}, {Empty, 11},
218    {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 2},
219    {Mixed, 2}, {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
220    {Mixed, 6}, {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 6}, {Full, 1},
221    {Empty, 3}, {Mixed, 1}, {Full, 2}, {Empty, 1}, {Mixed, 1}, {Full, 3},
222    {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
223    {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
224    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4}, {Empty, 9},
225    {Mixed, 3}, {Full, 4}, {Mixed, 5}, {Full, 2}, {Mixed, 3}, {Full, 2},
226    {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2},
227    {Empty, 1}, {Mixed, 4}, {Full, 3}, {Empty, 2}, {Mixed, 1}, {Full, 1},
228    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 24}, {Empty, 2},
229    {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
230    {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 2}, {Empty, 1},
231    {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2},
232    {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
233    {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
234    {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 2},
235    {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Full, 8},
236    {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21}, {Empty, 28}, {Mixed, 1},
237    {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 85},
238    {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18}, {Mixed, 1},
239    {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 1},
240    {Mixed, 4}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1},
241    {Empty, 191}, {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Full, 296},
242    {Empty, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
243    {Full, 72}, {Empty, 3}, {Mixed, 3}, {Full, 165}, {Mixed, 3}, {Full, 4},
244    {Mixed, 1}, {Full, 13}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
245    {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 10}, {Empty, 1},
246    {Full, 16}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 42},
247    {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
248    {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 19}, {Mixed, 4}, {Full, 38},
249    {Mixed, 1}, {Full, 76}, {Empty, 1334}, {Mixed, 1}, {Full, 1},
250    {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180},
251    {Mixed, 1}, {Empty, 233}, {Mixed, 1}, {Full, 96}, {Empty, 16},
252    {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4},
253    {Empty, 7}, {Mixed, 1}, {Full, 6128}};
254    const static UnicodeSet::bitquad_t  __xx_Set_quads[] = {
255    0xffffc1ff, 0x78008c78, 0xd0000001, 0xd0000001, 0xffffffdf, 0xf3dfd3fe,
256    0x00800000, 0x00800000, 0xfffc003c, 0xffffafe0, 0x43200000, 0x000028bf,
257    0x00000004, 0x00400000, 0x00000004, 0x00010000, 0xdd800000, 0x00000001,
258    0x0001fd00, 0x40000000, 0x0000ff49, 0xfff0f800, 0x6800cfc0, 0x00002400,
259    0x40000000, 0x60000200, 0x00007ff8, 0x00001800, 0xfffc0000, 0xf8c00000,
260    0xffffc000, 0xf0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00010000,
261    0x00066010, 0x0c3a0200, 0x4f7f8660, 0xeffc0030, 0x00067811, 0x2c920200,
262    0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440, 0x01ff0030,
263    0x00066011, 0x0c120200, 0x4f3fc660, 0xfffd0030, 0x29c23813, 0x3c0038e7,
264    0xff7ec238, 0xffff003f, 0x00022010, 0x1c000200, 0xf89fc220, 0xffff0030,
265    0x00022010, 0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x7f0f8220,
266    0x03ff0030, 0x03800013, 0xd0040000, 0x00a07b80, 0xfff3003f, 0x00000001,
267    0xf8000000, 0xfc008000, 0x010fda69, 0xc4001351, 0x0c00c0a0, 0xfcfffffe,
268    0x015ffc00, 0x00000100, 0x0001e000, 0x01000020, 0xe0000000, 0xffffffbf,
269    0x0000f000, 0xc0000000, 0x0000df40, 0x08000000, 0xc280c200, 0x0000c200,
270    0x80c20000, 0x008000c2, 0x00c20000, 0x18000000, 0xfffffe7b, 0xffff0000,
271    0xc0c00000, 0x00000001, 0x00002000, 0xe0000000, 0xfe003800, 0xffe02000,
272    0xff800000, 0xfff00000, 0xfff22000, 0xcf700000, 0xfffffc00, 0xfc0084f3,
273    0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000f,
274    0xffe0c000, 0x0000f000, 0xfc00fc00, 0xf0000000, 0x80000000, 0x60000000,
275    0xfc00fc00, 0x8000f07f, 0x3000f000, 0xfff007ff, 0xfff00000, 0xe7000000,
276    0x00001c00, 0xfffffe00, 0x0008ffff, 0xfc000000, 0x04000000, 0xc0c00000,
277    0x5500c0c0, 0xc0000000, 0xa0200000, 0xf030e023, 0xe023e000, 0x00e70000,
278    0xc9ff00ef, 0x7ffffc1f, 0x1ffd0020, 0xe0009fff, 0x0000ffff, 0xfffe0000,
279    0xc1d0037b, 0x0c0042af, 0xffffbc1f, 0xfffffe00, 0xfffff0ff, 0xfffff9ff,
280    0x003fffff, 0xfffffc00, 0x07ffffff, 0xffc000fe, 0xffffff9f, 0xffff003f,
281    0xfe000007, 0xf0ffffff, 0xcfffffff, 0x00008000, 0x80000000, 0xfff007e0,
282    0x0000df40, 0x7fff7f00, 0xff800000, 0x80808080, 0x80808080, 0xcfffc000,
283    0xefff3c00, 0xfffffffb, 0x100c0018, 0xe0c10001, 0x00000001, 0x19800000,
284    0x00000001, 0x08000000, 0x0000001f, 0x00018000, 0xffff8000, 0xf8000000,
285    0x0000ffff, 0xffc00000, 0xfffff800, 0xffffe000, 0x0000ffff, 0x40000000,
286    0x00002000, 0xfffff000, 0x40080000, 0xff740000, 0x007fffff, 0x00000003,
287    0x00000600, 0xff008000, 0x007fffff, 0xffffff00, 0xff300000, 0xfc003fc0,
288    0xd7000000, 0x00004000, 0xfff00000, 0xe0000000, 0xfc007cfe, 0x80000000,
289    0xff800000, 0x1c00c000, 0x03800000, 0xc7fffff8, 0xff800000, 0xff818181,
290    0x00008080, 0x08000000, 0x0000ffc0, 0xfc00c000, 0x0000fff0, 0x00000780,
291    0xf0000000, 0x0000c000, 0xfc000000, 0x1f07ff80, 0xa0800200, 0x00000024,
292    0xfffc0000, 0x0007ffff, 0x0000ffff, 0x00030000, 0xffffff00, 0xf000ffff,
293    0xfe740000, 0x00190000, 0x8018fe60, 0x0020fff7, 0x60000000, 0x7bff8cfd,
294    0xd0000001, 0x50000001, 0x00000020, 0x80000000, 0xe3030303, 0xf1ffffff,
295    0x00001000, 0x48000080, 0xc000c000, 0xf8000000, 0xffe00000, 0xdfffffff,
296    0xe0000000, 0xfffe0000, 0xfffffffe, 0x00001fff, 0x0000f800, 0xf8000000,
297    0xc0000000, 0xffc100f0, 0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000,
298    0x0000ff00, 0xfffffff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
299    0x6e400000, 0xffc00000, 0xff800000, 0x80000000, 0xffc80000, 0xffc00000,
300    0xfc000000, 0x3f000000, 0x01100f90, 0x78f00000, 0xff3fffff, 0xe0000000,
301    0xe0000000, 0x00000100, 0xffffff80, 0xffc00000, 0xffc00000, 0xfff80000,
302    0xfffc0000, 0xfffffe00, 0xfff80000, 0xfff80000, 0xfffffe00, 0x7fff003f,
303    0x18000000, 0x0000fffc, 0xfc00fe00, 0x00200000, 0x0000fff1, 0xffb00000,
304    0x2800c380, 0x00040000, 0xa4000000, 0x40004280, 0x0000fc00, 0xfc00f800,
305    0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xfc00e000, 0xfc00ff40,
306    0x00c00000, 0xc00001f2, 0xfc00ffe8, 0xff000000, 0xfffffc00, 0x1c000000,
307    0x8c00f000, 0x7ffffc00, 0x80000000, 0x0000ff73, 0xe4000030, 0xfe000000,
308    0x00000200, 0x00800000, 0xfc00fff8, 0x0003ffff, 0x00030000, 0xff800100,
309    0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000, 0xffff8000, 0xfffffff0,
310    0xffff8000, 0xffffff80, 0xfe000000, 0x80000000, 0xffff3c00, 0x0000ffff,
311    0xffc0c000, 0xfe000000, 0xfc00ffe0, 0x1f000007, 0xffff0000, 0x0000ffe0,
312    0x80000000, 0x00007fff, 0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000,
313    0x0000ffff, 0xf0000000, 0xe000f800, 0x1c00fe00, 0xfffffff0, 0x00001c1f,
314    0xfffff018, 0xffffc3ff, 0xffffffe3, 0x00200000, 0x20000000, 0x1400219b,
315    0x00000010, 0x20201840, 0x84000000, 0x000203a0, 0x000000c0, 0x08000002,
316    0x08000000, 0x00200000, 0x00200000, 0x00008000, 0x00008000, 0x00000200,
317    0x00000200, 0x00003008, 0x07800000, 0xffdfe000, 0x07fffeef, 0xffff0001,
318    0x06000080, 0xfffff824, 0xff80ffe0, 0xfc00f800, 0x00000010, 0xf5080169,
319    0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0x0000ffff, 0x0000fc00,
320    0x0000fc00, 0xfffffc00, 0xfe3fffff, 0xff800000, 0xffe00000, 0xc0000000,
321    0x0000fffc, 0xfffffffe, 0xc0000000, 0xfffffffd, 0xffff0000};
322    }
323
324    const static UnicodeSet xx_Set{const_cast<UnicodeSet::run_t *>(__xx_Set_runs), 372, 0, const_cast<UnicodeSet::bitquad_t *>(__xx_Set_quads), 401, 0};
325
326    /** Code Point Ranges for CR
327    [000d, 000d]**/
328
329
330    namespace {
331    const static UnicodeSet::run_t __cr_Set_runs[] = {
332    {Mixed, 1}, {Empty, 34815}};
333    const static UnicodeSet::bitquad_t  __cr_Set_quads[] = {
334    0x00002000};
335    }
336
337    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};
338
339    /** Code Point Ranges for LF
340    [000a, 000a]**/
341
342
343    namespace {
344    const static UnicodeSet::run_t __lf_Set_runs[] = {
345    {Mixed, 1}, {Empty, 34815}};
346    const static UnicodeSet::bitquad_t  __lf_Set_quads[] = {
347    0x00000400};
348    }
349
350    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};
351
352    /** Code Point Ranges for EX
353    [0300, 036f], [0483, 0489], [0591, 05bd], [05bf, 05bf], [05c1, 05c2],
354    [05c4, 05c5], [05c7, 05c7], [0610, 061a], [064b, 065f], [0670, 0670],
355    [06d6, 06dc], [06df, 06e4], [06e7, 06e8], [06ea, 06ed], [0711, 0711],
356    [0730, 074a], [07a6, 07b0], [07eb, 07f3], [0816, 0819], [081b, 0823],
357    [0825, 0827], [0829, 082d], [0859, 085b], [08d4, 08e1], [08e3, 0903],
358    [093a, 093c], [093e, 094f], [0951, 0957], [0962, 0963], [0981, 0983],
359    [09bc, 09bc], [09be, 09c4], [09c7, 09c8], [09cb, 09cd], [09d7, 09d7],
360    [09e2, 09e3], [0a01, 0a03], [0a3c, 0a3c], [0a3e, 0a42], [0a47, 0a48],
361    [0a4b, 0a4d], [0a51, 0a51], [0a70, 0a71], [0a75, 0a75], [0a81, 0a83],
362    [0abc, 0abc], [0abe, 0ac5], [0ac7, 0ac9], [0acb, 0acd], [0ae2, 0ae3],
363    [0afa, 0aff], [0b01, 0b03], [0b3c, 0b3c], [0b3e, 0b44], [0b47, 0b48],
364    [0b4b, 0b4d], [0b56, 0b57], [0b62, 0b63], [0b82, 0b82], [0bbe, 0bc2],
365    [0bc6, 0bc8], [0bca, 0bcd], [0bd7, 0bd7], [0c00, 0c03], [0c3e, 0c44],
366    [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c62, 0c63], [0c81, 0c83],
367    [0cbc, 0cbc], [0cbe, 0cc4], [0cc6, 0cc8], [0cca, 0ccd], [0cd5, 0cd6],
368    [0ce2, 0ce3], [0d00, 0d03], [0d3b, 0d3c], [0d3e, 0d44], [0d46, 0d48],
369    [0d4a, 0d4d], [0d57, 0d57], [0d62, 0d63], [0d82, 0d83], [0dca, 0dca],
370    [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0df2, 0df3], [0e31, 0e31],
371    [0e34, 0e3a], [0e47, 0e4e], [0eb1, 0eb1], [0eb4, 0eb9], [0ebb, 0ebc],
372    [0ec8, 0ecd], [0f18, 0f19], [0f35, 0f35], [0f37, 0f37], [0f39, 0f39],
373    [0f3e, 0f3f], [0f71, 0f84], [0f86, 0f87], [0f8d, 0f97], [0f99, 0fbc],
374    [0fc6, 0fc6], [102b, 103e], [1056, 1059], [105e, 1060], [1062, 1064],
375    [1067, 106d], [1071, 1074], [1082, 108d], [108f, 108f], [109a, 109d],
376    [135d, 135f], [1712, 1714], [1732, 1734], [1752, 1753], [1772, 1773],
377    [17b4, 17d3], [17dd, 17dd], [180b, 180d], [1885, 1886], [18a9, 18a9],
378    [1920, 192b], [1930, 193b], [1a17, 1a1b], [1a55, 1a5e], [1a60, 1a7c],
379    [1a7f, 1a7f], [1ab0, 1abe], [1b00, 1b04], [1b34, 1b44], [1b6b, 1b73],
380    [1b80, 1b82], [1ba1, 1bad], [1be6, 1bf3], [1c24, 1c37], [1cd0, 1cd2],
381    [1cd4, 1ce8], [1ced, 1ced], [1cf2, 1cf4], [1cf7, 1cf9], [1dc0, 1df9],
382    [1dfb, 1dff], [200c, 200d], [20d0, 20f0], [2cef, 2cf1], [2d7f, 2d7f],
383    [2de0, 2dff], [302a, 302f], [3099, 309a], [a66f, a672], [a674, a67d],
384    [a69e, a69f], [a6f0, a6f1], [a802, a802], [a806, a806], [a80b, a80b],
385    [a823, a827], [a880, a881], [a8b4, a8c5], [a8e0, a8f1], [a926, a92d],
386    [a947, a953], [a980, a983], [a9b3, a9c0], [a9e5, a9e5], [aa29, aa36],
387    [aa43, aa43], [aa4c, aa4d], [aa7b, aa7d], [aab0, aab0], [aab2, aab4],
388    [aab7, aab8], [aabe, aabf], [aac1, aac1], [aaeb, aaef], [aaf5, aaf6],
389    [abe3, abea], [abec, abed], [fb1e, fb1e], [fe00, fe0f], [fe20, fe2f],
390    [ff9e, ff9f], [101fd, 101fd], [102e0, 102e0], [10376, 1037a],
391    [10a01, 10a03], [10a05, 10a06], [10a0c, 10a0f], [10a38, 10a3a],
392    [10a3f, 10a3f], [10ae5, 10ae6], [11000, 11002], [11038, 11046],
393    [1107f, 11082], [110b0, 110ba], [11100, 11102], [11127, 11134],
394    [11173, 11173], [11180, 11182], [111b3, 111c0], [111ca, 111cc],
395    [1122c, 11237], [1123e, 1123e], [112df, 112ea], [11300, 11303],
396    [1133c, 1133c], [1133e, 11344], [11347, 11348], [1134b, 1134d],
397    [11357, 11357], [11362, 11363], [11366, 1136c], [11370, 11374],
398    [11435, 11446], [114b0, 114c3], [115af, 115b5], [115b8, 115c0],
399    [115dc, 115dd], [11630, 11640], [116ab, 116b7], [1171d, 1172b],
400    [11a01, 11a0a], [11a33, 11a39], [11a3b, 11a3e], [11a47, 11a47],
401    [11a51, 11a5b], [11a8a, 11a99], [11c2f, 11c36], [11c38, 11c3f],
402    [11c92, 11ca7], [11ca9, 11cb6], [11d31, 11d36], [11d3a, 11d3a],
403    [11d3c, 11d3d], [11d3f, 11d45], [11d47, 11d47], [16af0, 16af4],
404    [16b30, 16b36], [16f51, 16f7e], [16f8f, 16f92], [1bc9d, 1bc9e],
405    [1d165, 1d169], [1d16d, 1d172], [1d17b, 1d182], [1d185, 1d18b],
406    [1d1aa, 1d1ad], [1d242, 1d244], [1da00, 1da36], [1da3b, 1da6c],
407    [1da75, 1da75], [1da84, 1da84], [1da9b, 1da9f], [1daa1, 1daaf],
408    [1e000, 1e006], [1e008, 1e018], [1e01b, 1e021], [1e023, 1e024],
409    [1e026, 1e02a], [1e8d0, 1e8d6], [1e944, 1e94a], [e0020, e007f],
410    [e0100, e01ef]**/
411
412
413    namespace {
414    const static UnicodeSet::run_t __ex_Set_runs[] = {
415    {Empty, 24}, {Full, 3}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 7},
416    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
417    {Mixed, 5}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
418    {Mixed, 25}, {Empty, 1}, {Mixed, 13}, {Empty, 1}, {Mixed, 2},
419    {Empty, 1}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
420    {Empty, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 4}, {Empty, 21}, {Mixed, 1},
421    {Empty, 29}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
422    {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
423    {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
424    {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 2},
425    {Empty, 6}, {Full, 1}, {Mixed, 1}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
426    {Mixed, 2}, {Empty, 95}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3},
427    {Full, 1}, {Empty, 17}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
428    {Empty, 942}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
429    {Mixed, 2}, {Empty, 2}, {Mixed, 4}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
430    {Mixed, 4}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 7},
431    {Mixed, 1}, {Empty, 632}, {Mixed, 1}, {Empty, 23}, {Mixed, 2},
432    {Empty, 10}, {Mixed, 1}, {Empty, 18}, {Mixed, 1}, {Empty, 7},
433    {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 52}, {Mixed, 2}, {Empty, 5},
434    {Mixed, 1}, {Empty, 40}, {Mixed, 6}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
435    {Mixed, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 6}, {Empty, 5},
436    {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 6}, {Mixed, 2}, {Empty, 2},
437    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 22},
438    {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 2},
439    {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 620}, {Mixed, 1},
440    {Empty, 1}, {Mixed, 1}, {Empty, 32}, {Mixed, 3}, {Empty, 615},
441    {Mixed, 1}, {Empty, 166}, {Mixed, 3}, {Empty, 4}, {Mixed, 1},
442    {Empty, 61}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 42},
443    {Mixed, 2}, {Empty, 68}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
444    {Empty, 24758}, {Full, 3}, {Empty, 4}, {Full, 7}, {Mixed, 1},
445    {Empty, 6128}};
446    const static UnicodeSet::bitquad_t  __ex_Set_quads[] = {
447    0x0000ffff, 0x000003f8, 0xfffe0000, 0xbfffffff, 0x000000b6, 0x07ff0000,
448    0xfffff800, 0x00010000, 0x9fc00000, 0x00003d9f, 0x00020000, 0xffff0000,
449    0x000007ff, 0x0001ffc0, 0x000ff800, 0xfbc00000, 0x00003eef, 0x0e000000,
450    0xfff00000, 0xfffffffb, 0x0000000f, 0xdc000000, 0x00feffff, 0x0000000c,
451    0x0000000e, 0xd0000000, 0x0080399f, 0x0000000c, 0x0000000e, 0xd0000000,
452    0x00023987, 0x00230000, 0x0000000e, 0xd0000000, 0x00003bbf, 0xfc00000c,
453    0x0000000e, 0xd0000000, 0x00c0399f, 0x0000000c, 0x00000004, 0xc0000000,
454    0x00803dc7, 0x0000000f, 0xc0000000, 0x00603ddf, 0x0000000c, 0x0000000e,
455    0xd0000000, 0x00603ddf, 0x0000000c, 0x0000000f, 0xd8000000, 0x00803ddf,
456    0x0000000c, 0x0000000c, 0xff5f8400, 0x000c0000, 0x07f20000, 0x00007f80,
457    0x1bf20000, 0x00003f00, 0x03000000, 0xc2a00000, 0xfffe0000, 0xfeffe0df,
458    0x1fffffff, 0x00000040, 0x7ffff800, 0xc3c00000, 0x001e3f9d, 0x3c00bffc,
459    0xe0000000, 0x001c0000, 0x001c0000, 0x000c0000, 0x000c0000, 0xfff00000,
460    0x200fffff, 0x00003800, 0x00000060, 0x00000200, 0x0fff0fff, 0x0f800000,
461    0x7fe00000, 0x9fffffff, 0x7fff0000, 0x0000001f, 0xfff00000, 0x0000001f,
462    0x000ff800, 0x00000007, 0x00003ffe, 0x000fffc0, 0x00fffff0, 0xfff70000,
463    0x039c21ff, 0xfbffffff, 0x00003000, 0xffff0000, 0x0001ffff, 0x00038000,
464    0x80000000, 0x0000fc00, 0x06000000, 0x3ff78000, 0xc0000000, 0x00030000,
465    0x00000844, 0x000000f8, 0x00000003, 0xfff00000, 0x0000003f, 0x0003ffff,
466    0x00003fc0, 0x000fff80, 0x0000000f, 0xfff80000, 0x00000001, 0x00000020,
467    0x007ffe00, 0x00003008, 0x38000000, 0xc19d0000, 0x00000002, 0x0060f800,
468    0x000037f8, 0x40000000, 0x0000ffff, 0x0000ffff, 0xc0000000, 0x20000000,
469    0x00000001, 0x07c00000, 0x0000f06e, 0x87000000, 0x00000060, 0x00000007,
470    0xff000000, 0x0000007f, 0x80000000, 0x00000007, 0x07ff0000, 0x00000007,
471    0x001fff80, 0x00080000, 0x00000007, 0xfff80000, 0x00001c01, 0x40fff000,
472    0x80000000, 0x000007ff, 0x0000000f, 0xd0000000, 0x0080399f, 0x001f1fcc,
473    0xffe00000, 0x0000007f, 0xffff0000, 0x0000000f, 0xff3f8000, 0x30000001,
474    0xffff0000, 0x00000001, 0x00fff800, 0xe0000000, 0x00000fff, 0x000007fe,
475    0x7bf80000, 0x0ffe0080, 0x03fffc00, 0xff7f8000, 0xfffc0000, 0x007ffeff,
476    0xb47e0000, 0x000000bf, 0x001f0000, 0x007f0000, 0xfffe0000, 0x7fffffff,
477    0x00078000, 0x60000000, 0xf807e3e0, 0x00000fe7, 0x00003c00, 0x0000001c,
478    0xf87fffff, 0x00201fff, 0xf8000010, 0x0000fffe, 0xf9ffff7f, 0x000007db,
479    0x007f0000, 0x000007f0, 0x0000ffff};
480    }
481
482    const static UnicodeSet ex_Set{const_cast<UnicodeSet::run_t *>(__ex_Set_runs), 171, 0, const_cast<UnicodeSet::bitquad_t *>(__ex_Set_quads), 195, 0};
483
484    /** Code Point Ranges for SE
485    [0085, 0085], [2028, 2029]**/
486
487
488    namespace {
489    const static UnicodeSet::run_t __se_Set_runs[] = {
490    {Empty, 4}, {Mixed, 1}, {Empty, 252}, {Mixed, 1}, {Empty, 34558}};
491    const static UnicodeSet::bitquad_t  __se_Set_quads[] = {
492    0x00000020, 0x00000300};
493    }
494
495    const static UnicodeSet se_Set{const_cast<UnicodeSet::run_t *>(__se_Set_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__se_Set_quads), 2, 0};
496
497    /** Code Point Ranges for FO
498    [00ad, 00ad], [0600, 0605], [061c, 061c], [06dd, 06dd], [070f, 070f],
499    [08e2, 08e2], [180e, 180e], [200b, 200b], [200e, 200f], [202a, 202e],
500    [2060, 2064], [2066, 206f], [feff, feff], [fff9, fffb], [110bd, 110bd],
501    [1bca0, 1bca3], [1d173, 1d17a], [e0001, e0001]**/
502
503
504    namespace {
505    const static UnicodeSet::run_t __fo_Set_runs[] = {
506    {Empty, 5}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
507    {Empty, 1}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 120},
508    {Mixed, 1}, {Empty, 63}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
509    {Empty, 1779}, {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 133},
510    {Mixed, 1}, {Empty, 1375}, {Mixed, 1}, {Empty, 165}, {Mixed, 1},
511    {Empty, 24948}, {Mixed, 1}, {Empty, 6143}};
512    const static UnicodeSet::bitquad_t  __fo_Set_quads[] = {
513    0x00002000, 0x1000003f, 0x20000000, 0x00008000, 0x00000004, 0x00004000,
514    0x0000c800, 0x00007c00, 0x0000ffdf, 0x80000000, 0x0e000000, 0x20000000,
515    0x0000000f, 0x07f80000, 0x00000002};
516    }
517
518    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};
519
520    /** Code Point Ranges for SP
521    [0009, 0009], [000b, 000c], [0020, 0020], [00a0, 00a0], [1680, 1680],
522    [2000, 200a], [202f, 202f], [205f, 205f], [3000, 3000]**/
523
524
525    namespace {
526    const static UnicodeSet::run_t __sp_Set_runs[] = {
527    {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 174}, {Mixed, 1},
528    {Empty, 75}, {Mixed, 3}, {Empty, 125}, {Mixed, 1}, {Empty, 34431}};
529    const static UnicodeSet::bitquad_t  __sp_Set_quads[] = {
530    0x00001a00, 0x00000001, 0x00000001, 0x00000001, 0x000007ff, 0x00008000,
531    0x80000000, 0x00000001};
532    }
533
534    const static UnicodeSet sp_Set{const_cast<UnicodeSet::run_t *>(__sp_Set_runs), 10, 0, const_cast<UnicodeSet::bitquad_t *>(__sp_Set_quads), 8, 0};
535
536    /** Code Point Ranges for LO
537    [0061, 007a], [00aa, 00aa], [00b5, 00b5], [00ba, 00ba], [00df, 00f6],
538    [00f8, 00ff], [0101, 0101], [0103, 0103], [0105, 0105], [0107, 0107],
539    [0109, 0109], [010b, 010b], [010d, 010d], [010f, 010f], [0111, 0111],
540    [0113, 0113], [0115, 0115], [0117, 0117], [0119, 0119], [011b, 011b],
541    [011d, 011d], [011f, 011f], [0121, 0121], [0123, 0123], [0125, 0125],
542    [0127, 0127], [0129, 0129], [012b, 012b], [012d, 012d], [012f, 012f],
543    [0131, 0131], [0133, 0133], [0135, 0135], [0137, 0138], [013a, 013a],
544    [013c, 013c], [013e, 013e], [0140, 0140], [0142, 0142], [0144, 0144],
545    [0146, 0146], [0148, 0149], [014b, 014b], [014d, 014d], [014f, 014f],
546    [0151, 0151], [0153, 0153], [0155, 0155], [0157, 0157], [0159, 0159],
547    [015b, 015b], [015d, 015d], [015f, 015f], [0161, 0161], [0163, 0163],
548    [0165, 0165], [0167, 0167], [0169, 0169], [016b, 016b], [016d, 016d],
549    [016f, 016f], [0171, 0171], [0173, 0173], [0175, 0175], [0177, 0177],
550    [017a, 017a], [017c, 017c], [017e, 0180], [0183, 0183], [0185, 0185],
551    [0188, 0188], [018c, 018d], [0192, 0192], [0195, 0195], [0199, 019b],
552    [019e, 019e], [01a1, 01a1], [01a3, 01a3], [01a5, 01a5], [01a8, 01a8],
553    [01aa, 01ab], [01ad, 01ad], [01b0, 01b0], [01b4, 01b4], [01b6, 01b6],
554    [01b9, 01ba], [01bd, 01bf], [01c6, 01c6], [01c9, 01c9], [01cc, 01cc],
555    [01ce, 01ce], [01d0, 01d0], [01d2, 01d2], [01d4, 01d4], [01d6, 01d6],
556    [01d8, 01d8], [01da, 01da], [01dc, 01dd], [01df, 01df], [01e1, 01e1],
557    [01e3, 01e3], [01e5, 01e5], [01e7, 01e7], [01e9, 01e9], [01eb, 01eb],
558    [01ed, 01ed], [01ef, 01f0], [01f3, 01f3], [01f5, 01f5], [01f9, 01f9],
559    [01fb, 01fb], [01fd, 01fd], [01ff, 01ff], [0201, 0201], [0203, 0203],
560    [0205, 0205], [0207, 0207], [0209, 0209], [020b, 020b], [020d, 020d],
561    [020f, 020f], [0211, 0211], [0213, 0213], [0215, 0215], [0217, 0217],
562    [0219, 0219], [021b, 021b], [021d, 021d], [021f, 021f], [0221, 0221],
563    [0223, 0223], [0225, 0225], [0227, 0227], [0229, 0229], [022b, 022b],
564    [022d, 022d], [022f, 022f], [0231, 0231], [0233, 0239], [023c, 023c],
565    [023f, 0240], [0242, 0242], [0247, 0247], [0249, 0249], [024b, 024b],
566    [024d, 024d], [024f, 0293], [0295, 02b8], [02c0, 02c1], [02e0, 02e4],
567    [0371, 0371], [0373, 0373], [0377, 0377], [037a, 037d], [0390, 0390],
568    [03ac, 03ce], [03d0, 03d1], [03d5, 03d7], [03d9, 03d9], [03db, 03db],
569    [03dd, 03dd], [03df, 03df], [03e1, 03e1], [03e3, 03e3], [03e5, 03e5],
570    [03e7, 03e7], [03e9, 03e9], [03eb, 03eb], [03ed, 03ed], [03ef, 03f3],
571    [03f5, 03f5], [03f8, 03f8], [03fb, 03fc], [0430, 045f], [0461, 0461],
572    [0463, 0463], [0465, 0465], [0467, 0467], [0469, 0469], [046b, 046b],
573    [046d, 046d], [046f, 046f], [0471, 0471], [0473, 0473], [0475, 0475],
574    [0477, 0477], [0479, 0479], [047b, 047b], [047d, 047d], [047f, 047f],
575    [0481, 0481], [048b, 048b], [048d, 048d], [048f, 048f], [0491, 0491],
576    [0493, 0493], [0495, 0495], [0497, 0497], [0499, 0499], [049b, 049b],
577    [049d, 049d], [049f, 049f], [04a1, 04a1], [04a3, 04a3], [04a5, 04a5],
578    [04a7, 04a7], [04a9, 04a9], [04ab, 04ab], [04ad, 04ad], [04af, 04af],
579    [04b1, 04b1], [04b3, 04b3], [04b5, 04b5], [04b7, 04b7], [04b9, 04b9],
580    [04bb, 04bb], [04bd, 04bd], [04bf, 04bf], [04c2, 04c2], [04c4, 04c4],
581    [04c6, 04c6], [04c8, 04c8], [04ca, 04ca], [04cc, 04cc], [04ce, 04cf],
582    [04d1, 04d1], [04d3, 04d3], [04d5, 04d5], [04d7, 04d7], [04d9, 04d9],
583    [04db, 04db], [04dd, 04dd], [04df, 04df], [04e1, 04e1], [04e3, 04e3],
584    [04e5, 04e5], [04e7, 04e7], [04e9, 04e9], [04eb, 04eb], [04ed, 04ed],
585    [04ef, 04ef], [04f1, 04f1], [04f3, 04f3], [04f5, 04f5], [04f7, 04f7],
586    [04f9, 04f9], [04fb, 04fb], [04fd, 04fd], [04ff, 04ff], [0501, 0501],
587    [0503, 0503], [0505, 0505], [0507, 0507], [0509, 0509], [050b, 050b],
588    [050d, 050d], [050f, 050f], [0511, 0511], [0513, 0513], [0515, 0515],
589    [0517, 0517], [0519, 0519], [051b, 051b], [051d, 051d], [051f, 051f],
590    [0521, 0521], [0523, 0523], [0525, 0525], [0527, 0527], [0529, 0529],
591    [052b, 052b], [052d, 052d], [052f, 052f], [0561, 0587], [13f8, 13fd],
592    [1c80, 1c88], [1d00, 1dbf], [1e01, 1e01], [1e03, 1e03], [1e05, 1e05],
593    [1e07, 1e07], [1e09, 1e09], [1e0b, 1e0b], [1e0d, 1e0d], [1e0f, 1e0f],
594    [1e11, 1e11], [1e13, 1e13], [1e15, 1e15], [1e17, 1e17], [1e19, 1e19],
595    [1e1b, 1e1b], [1e1d, 1e1d], [1e1f, 1e1f], [1e21, 1e21], [1e23, 1e23],
596    [1e25, 1e25], [1e27, 1e27], [1e29, 1e29], [1e2b, 1e2b], [1e2d, 1e2d],
597    [1e2f, 1e2f], [1e31, 1e31], [1e33, 1e33], [1e35, 1e35], [1e37, 1e37],
598    [1e39, 1e39], [1e3b, 1e3b], [1e3d, 1e3d], [1e3f, 1e3f], [1e41, 1e41],
599    [1e43, 1e43], [1e45, 1e45], [1e47, 1e47], [1e49, 1e49], [1e4b, 1e4b],
600    [1e4d, 1e4d], [1e4f, 1e4f], [1e51, 1e51], [1e53, 1e53], [1e55, 1e55],
601    [1e57, 1e57], [1e59, 1e59], [1e5b, 1e5b], [1e5d, 1e5d], [1e5f, 1e5f],
602    [1e61, 1e61], [1e63, 1e63], [1e65, 1e65], [1e67, 1e67], [1e69, 1e69],
603    [1e6b, 1e6b], [1e6d, 1e6d], [1e6f, 1e6f], [1e71, 1e71], [1e73, 1e73],
604    [1e75, 1e75], [1e77, 1e77], [1e79, 1e79], [1e7b, 1e7b], [1e7d, 1e7d],
605    [1e7f, 1e7f], [1e81, 1e81], [1e83, 1e83], [1e85, 1e85], [1e87, 1e87],
606    [1e89, 1e89], [1e8b, 1e8b], [1e8d, 1e8d], [1e8f, 1e8f], [1e91, 1e91],
607    [1e93, 1e93], [1e95, 1e9d], [1e9f, 1e9f], [1ea1, 1ea1], [1ea3, 1ea3],
608    [1ea5, 1ea5], [1ea7, 1ea7], [1ea9, 1ea9], [1eab, 1eab], [1ead, 1ead],
609    [1eaf, 1eaf], [1eb1, 1eb1], [1eb3, 1eb3], [1eb5, 1eb5], [1eb7, 1eb7],
610    [1eb9, 1eb9], [1ebb, 1ebb], [1ebd, 1ebd], [1ebf, 1ebf], [1ec1, 1ec1],
611    [1ec3, 1ec3], [1ec5, 1ec5], [1ec7, 1ec7], [1ec9, 1ec9], [1ecb, 1ecb],
612    [1ecd, 1ecd], [1ecf, 1ecf], [1ed1, 1ed1], [1ed3, 1ed3], [1ed5, 1ed5],
613    [1ed7, 1ed7], [1ed9, 1ed9], [1edb, 1edb], [1edd, 1edd], [1edf, 1edf],
614    [1ee1, 1ee1], [1ee3, 1ee3], [1ee5, 1ee5], [1ee7, 1ee7], [1ee9, 1ee9],
615    [1eeb, 1eeb], [1eed, 1eed], [1eef, 1eef], [1ef1, 1ef1], [1ef3, 1ef3],
616    [1ef5, 1ef5], [1ef7, 1ef7], [1ef9, 1ef9], [1efb, 1efb], [1efd, 1efd],
617    [1eff, 1f07], [1f10, 1f15], [1f20, 1f27], [1f30, 1f37], [1f40, 1f45],
618    [1f50, 1f57], [1f60, 1f67], [1f70, 1f7d], [1f80, 1f87], [1f90, 1f97],
619    [1fa0, 1fa7], [1fb0, 1fb4], [1fb6, 1fb7], [1fbe, 1fbe], [1fc2, 1fc4],
620    [1fc6, 1fc7], [1fd0, 1fd3], [1fd6, 1fd7], [1fe0, 1fe7], [1ff2, 1ff4],
621    [1ff6, 1ff7], [2071, 2071], [207f, 207f], [2090, 209c], [210a, 210a],
622    [210e, 210f], [2113, 2113], [212f, 212f], [2134, 2134], [2139, 2139],
623    [213c, 213d], [2146, 2149], [214e, 214e], [2170, 217f], [2184, 2184],
624    [24d0, 24e9], [2c30, 2c5e], [2c61, 2c61], [2c65, 2c66], [2c68, 2c68],
625    [2c6a, 2c6a], [2c6c, 2c6c], [2c71, 2c71], [2c73, 2c74], [2c76, 2c7d],
626    [2c81, 2c81], [2c83, 2c83], [2c85, 2c85], [2c87, 2c87], [2c89, 2c89],
627    [2c8b, 2c8b], [2c8d, 2c8d], [2c8f, 2c8f], [2c91, 2c91], [2c93, 2c93],
628    [2c95, 2c95], [2c97, 2c97], [2c99, 2c99], [2c9b, 2c9b], [2c9d, 2c9d],
629    [2c9f, 2c9f], [2ca1, 2ca1], [2ca3, 2ca3], [2ca5, 2ca5], [2ca7, 2ca7],
630    [2ca9, 2ca9], [2cab, 2cab], [2cad, 2cad], [2caf, 2caf], [2cb1, 2cb1],
631    [2cb3, 2cb3], [2cb5, 2cb5], [2cb7, 2cb7], [2cb9, 2cb9], [2cbb, 2cbb],
632    [2cbd, 2cbd], [2cbf, 2cbf], [2cc1, 2cc1], [2cc3, 2cc3], [2cc5, 2cc5],
633    [2cc7, 2cc7], [2cc9, 2cc9], [2ccb, 2ccb], [2ccd, 2ccd], [2ccf, 2ccf],
634    [2cd1, 2cd1], [2cd3, 2cd3], [2cd5, 2cd5], [2cd7, 2cd7], [2cd9, 2cd9],
635    [2cdb, 2cdb], [2cdd, 2cdd], [2cdf, 2cdf], [2ce1, 2ce1], [2ce3, 2ce4],
636    [2cec, 2cec], [2cee, 2cee], [2cf3, 2cf3], [2d00, 2d25], [2d27, 2d27],
637    [2d2d, 2d2d], [a641, a641], [a643, a643], [a645, a645], [a647, a647],
638    [a649, a649], [a64b, a64b], [a64d, a64d], [a64f, a64f], [a651, a651],
639    [a653, a653], [a655, a655], [a657, a657], [a659, a659], [a65b, a65b],
640    [a65d, a65d], [a65f, a65f], [a661, a661], [a663, a663], [a665, a665],
641    [a667, a667], [a669, a669], [a66b, a66b], [a66d, a66d], [a681, a681],
642    [a683, a683], [a685, a685], [a687, a687], [a689, a689], [a68b, a68b],
643    [a68d, a68d], [a68f, a68f], [a691, a691], [a693, a693], [a695, a695],
644    [a697, a697], [a699, a699], [a69b, a69d], [a723, a723], [a725, a725],
645    [a727, a727], [a729, a729], [a72b, a72b], [a72d, a72d], [a72f, a731],
646    [a733, a733], [a735, a735], [a737, a737], [a739, a739], [a73b, a73b],
647    [a73d, a73d], [a73f, a73f], [a741, a741], [a743, a743], [a745, a745],
648    [a747, a747], [a749, a749], [a74b, a74b], [a74d, a74d], [a74f, a74f],
649    [a751, a751], [a753, a753], [a755, a755], [a757, a757], [a759, a759],
650    [a75b, a75b], [a75d, a75d], [a75f, a75f], [a761, a761], [a763, a763],
651    [a765, a765], [a767, a767], [a769, a769], [a76b, a76b], [a76d, a76d],
652    [a76f, a778], [a77a, a77a], [a77c, a77c], [a77f, a77f], [a781, a781],
653    [a783, a783], [a785, a785], [a787, a787], [a78c, a78c], [a78e, a78e],
654    [a791, a791], [a793, a795], [a797, a797], [a799, a799], [a79b, a79b],
655    [a79d, a79d], [a79f, a79f], [a7a1, a7a1], [a7a3, a7a3], [a7a5, a7a5],
656    [a7a7, a7a7], [a7a9, a7a9], [a7b5, a7b5], [a7b7, a7b7], [a7f8, a7fa],
657    [ab30, ab5a], [ab5c, ab65], [ab70, abbf], [fb00, fb06], [fb13, fb17],
658    [ff41, ff5a], [10428, 1044f], [104d8, 104fb], [10cc0, 10cf2],
659    [118c0, 118df], [1d41a, 1d433], [1d44e, 1d454], [1d456, 1d467],
660    [1d482, 1d49b], [1d4b6, 1d4b9], [1d4bb, 1d4bb], [1d4bd, 1d4c3],
661    [1d4c5, 1d4cf], [1d4ea, 1d503], [1d51e, 1d537], [1d552, 1d56b],
662    [1d586, 1d59f], [1d5ba, 1d5d3], [1d5ee, 1d607], [1d622, 1d63b],
663    [1d656, 1d66f], [1d68a, 1d6a5], [1d6c2, 1d6da], [1d6dc, 1d6e1],
664    [1d6fc, 1d714], [1d716, 1d71b], [1d736, 1d74e], [1d750, 1d755],
665    [1d770, 1d788], [1d78a, 1d78f], [1d7aa, 1d7c2], [1d7c4, 1d7c9],
666    [1d7cb, 1d7cb], [1e922, 1e943]**/
667
668
669    namespace {
670    const static UnicodeSet::run_t __lo_Set_runs[] = {
671    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 14}, {Full, 1}, {Mixed, 4},
672    {Empty, 3}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 7},
673    {Empty, 1}, {Mixed, 2}, {Empty, 114}, {Mixed, 1}, {Empty, 68},
674    {Mixed, 1}, {Empty, 3}, {Full, 6}, {Empty, 2}, {Mixed, 16}, {Empty, 3},
675    {Mixed, 2}, {Empty, 3}, {Mixed, 5}, {Empty, 25}, {Mixed, 2},
676    {Empty, 57}, {Mixed, 7}, {Full, 1}, {Mixed, 1}, {Empty, 968},
677    {Mixed, 3}, {Empty, 4}, {Mixed, 5}, {Empty, 1}, {Mixed, 1}, {Empty, 25},
678    {Mixed, 3}, {Full, 2}, {Empty, 634}, {Mixed, 1}, {Empty, 33},
679    {Mixed, 1}, {Empty, 38}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
680    {Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 94}, {Full, 1},
681    {Empty, 1497}, {Mixed, 31}, {Empty, 138}, {Mixed, 2}, {Empty, 30901}};
682    const static UnicodeSet::bitquad_t  __lo_Set_quads[] = {
683    0x07fffffe, 0x04200400, 0x80000000, 0xff7fffff, 0xaaaaaaaa, 0x55aaaaaa,
684    0xaaaaab55, 0xd4aaaaaa, 0x4e243129, 0xe6512d2a, 0xb5555240, 0xaa29aaaa,
685    0xaaaaaaaa, 0x93faaaaa, 0xffffaa85, 0xffefffff, 0x01ffffff, 0x00000003,
686    0x0000001f, 0x3c8a0000, 0x00010000, 0xfffff000, 0xaae37fff, 0x192faaaa,
687    0xffff0000, 0xaaaaaaaa, 0xaaaaa802, 0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa,
688    0xaaaaaaaa, 0x0000aaaa, 0xfffffffe, 0x000000ff, 0x3f000000, 0x000001ff,
689    0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xbfeaaaaa, 0xaaaaaaaa,
690    0xaaaaaaaa, 0xaaaaaaaa, 0x003f00ff, 0x00ff00ff, 0x00ff003f, 0x3fff00ff,
691    0x00ff00ff, 0x40df00ff, 0x00cf00dc, 0x00dc00ff, 0x80020000, 0x1fff0000,
692    0x0008c400, 0x32108000, 0x000043c0, 0xffff0000, 0x00000010, 0xffff0000,
693    0x000003ff, 0xffff0000, 0x7fffffff, 0x3fda1562, 0xaaaaaaaa, 0xaaaaaaaa,
694    0xaaaaaaaa, 0x0008501a, 0x000020bf, 0xaaaaaaaa, 0x00002aaa, 0x3aaaaaaa,
695    0xaaabaaa8, 0xaaaaaaaa, 0x95ffaaaa, 0xaaba50aa, 0x00a002aa, 0x07000000,
696    0xffff0000, 0xf7ffffff, 0xffff003f, 0x00f8007f, 0x07fffffe, 0xffffff00,
697    0x0000ffff, 0xff000000, 0x0fffffff, 0x0007ffff, 0xfc000000, 0x000fffff,
698    0xffdfc000, 0x000000ff, 0x0ffffffc, 0xebc00000, 0x0000ffef, 0xfffffc00,
699    0xc000000f, 0x00ffffff, 0xfffc0000, 0x00000fff, 0xffffffc0, 0xfc000000,
700    0x000fffff, 0xffffc000, 0x000000ff, 0x0ffffffc, 0xffc00000, 0x0000ffff,
701    0xfffffc00, 0x0000003f, 0xf7fffffc, 0xf0000003, 0x0fdfffff, 0xffc00000,
702    0x003f7fff, 0xffff0000, 0x0000fdff, 0xfffffc00, 0x00000bf7, 0xfffffffc,
703    0x0000000f};
704    }
705
706    const static UnicodeSet lo_Set{const_cast<UnicodeSet::run_t *>(__lo_Set_runs), 59, 0, const_cast<UnicodeSet::bitquad_t *>(__lo_Set_quads), 121, 0};
707
708    /** Code Point Ranges for UP
709    [0041, 005a], [00c0, 00d6], [00d8, 00de], [0100, 0100], [0102, 0102],
710    [0104, 0104], [0106, 0106], [0108, 0108], [010a, 010a], [010c, 010c],
711    [010e, 010e], [0110, 0110], [0112, 0112], [0114, 0114], [0116, 0116],
712    [0118, 0118], [011a, 011a], [011c, 011c], [011e, 011e], [0120, 0120],
713    [0122, 0122], [0124, 0124], [0126, 0126], [0128, 0128], [012a, 012a],
714    [012c, 012c], [012e, 012e], [0130, 0130], [0132, 0132], [0134, 0134],
715    [0136, 0136], [0139, 0139], [013b, 013b], [013d, 013d], [013f, 013f],
716    [0141, 0141], [0143, 0143], [0145, 0145], [0147, 0147], [014a, 014a],
717    [014c, 014c], [014e, 014e], [0150, 0150], [0152, 0152], [0154, 0154],
718    [0156, 0156], [0158, 0158], [015a, 015a], [015c, 015c], [015e, 015e],
719    [0160, 0160], [0162, 0162], [0164, 0164], [0166, 0166], [0168, 0168],
720    [016a, 016a], [016c, 016c], [016e, 016e], [0170, 0170], [0172, 0172],
721    [0174, 0174], [0176, 0176], [0178, 0179], [017b, 017b], [017d, 017d],
722    [0181, 0182], [0184, 0184], [0186, 0187], [0189, 018b], [018e, 0191],
723    [0193, 0194], [0196, 0198], [019c, 019d], [019f, 01a0], [01a2, 01a2],
724    [01a4, 01a4], [01a6, 01a7], [01a9, 01a9], [01ac, 01ac], [01ae, 01af],
725    [01b1, 01b3], [01b5, 01b5], [01b7, 01b8], [01bc, 01bc], [01c4, 01c5],
726    [01c7, 01c8], [01ca, 01cb], [01cd, 01cd], [01cf, 01cf], [01d1, 01d1],
727    [01d3, 01d3], [01d5, 01d5], [01d7, 01d7], [01d9, 01d9], [01db, 01db],
728    [01de, 01de], [01e0, 01e0], [01e2, 01e2], [01e4, 01e4], [01e6, 01e6],
729    [01e8, 01e8], [01ea, 01ea], [01ec, 01ec], [01ee, 01ee], [01f1, 01f2],
730    [01f4, 01f4], [01f6, 01f8], [01fa, 01fa], [01fc, 01fc], [01fe, 01fe],
731    [0200, 0200], [0202, 0202], [0204, 0204], [0206, 0206], [0208, 0208],
732    [020a, 020a], [020c, 020c], [020e, 020e], [0210, 0210], [0212, 0212],
733    [0214, 0214], [0216, 0216], [0218, 0218], [021a, 021a], [021c, 021c],
734    [021e, 021e], [0220, 0220], [0222, 0222], [0224, 0224], [0226, 0226],
735    [0228, 0228], [022a, 022a], [022c, 022c], [022e, 022e], [0230, 0230],
736    [0232, 0232], [023a, 023b], [023d, 023e], [0241, 0241], [0243, 0246],
737    [0248, 0248], [024a, 024a], [024c, 024c], [024e, 024e], [0370, 0370],
738    [0372, 0372], [0376, 0376], [037f, 037f], [0386, 0386], [0388, 038a],
739    [038c, 038c], [038e, 038f], [0391, 03a1], [03a3, 03ab], [03cf, 03cf],
740    [03d2, 03d4], [03d8, 03d8], [03da, 03da], [03dc, 03dc], [03de, 03de],
741    [03e0, 03e0], [03e2, 03e2], [03e4, 03e4], [03e6, 03e6], [03e8, 03e8],
742    [03ea, 03ea], [03ec, 03ec], [03ee, 03ee], [03f4, 03f4], [03f7, 03f7],
743    [03f9, 03fa], [03fd, 042f], [0460, 0460], [0462, 0462], [0464, 0464],
744    [0466, 0466], [0468, 0468], [046a, 046a], [046c, 046c], [046e, 046e],
745    [0470, 0470], [0472, 0472], [0474, 0474], [0476, 0476], [0478, 0478],
746    [047a, 047a], [047c, 047c], [047e, 047e], [0480, 0480], [048a, 048a],
747    [048c, 048c], [048e, 048e], [0490, 0490], [0492, 0492], [0494, 0494],
748    [0496, 0496], [0498, 0498], [049a, 049a], [049c, 049c], [049e, 049e],
749    [04a0, 04a0], [04a2, 04a2], [04a4, 04a4], [04a6, 04a6], [04a8, 04a8],
750    [04aa, 04aa], [04ac, 04ac], [04ae, 04ae], [04b0, 04b0], [04b2, 04b2],
751    [04b4, 04b4], [04b6, 04b6], [04b8, 04b8], [04ba, 04ba], [04bc, 04bc],
752    [04be, 04be], [04c0, 04c1], [04c3, 04c3], [04c5, 04c5], [04c7, 04c7],
753    [04c9, 04c9], [04cb, 04cb], [04cd, 04cd], [04d0, 04d0], [04d2, 04d2],
754    [04d4, 04d4], [04d6, 04d6], [04d8, 04d8], [04da, 04da], [04dc, 04dc],
755    [04de, 04de], [04e0, 04e0], [04e2, 04e2], [04e4, 04e4], [04e6, 04e6],
756    [04e8, 04e8], [04ea, 04ea], [04ec, 04ec], [04ee, 04ee], [04f0, 04f0],
757    [04f2, 04f2], [04f4, 04f4], [04f6, 04f6], [04f8, 04f8], [04fa, 04fa],
758    [04fc, 04fc], [04fe, 04fe], [0500, 0500], [0502, 0502], [0504, 0504],
759    [0506, 0506], [0508, 0508], [050a, 050a], [050c, 050c], [050e, 050e],
760    [0510, 0510], [0512, 0512], [0514, 0514], [0516, 0516], [0518, 0518],
761    [051a, 051a], [051c, 051c], [051e, 051e], [0520, 0520], [0522, 0522],
762    [0524, 0524], [0526, 0526], [0528, 0528], [052a, 052a], [052c, 052c],
763    [052e, 052e], [0531, 0556], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
764    [13a0, 13f5], [1e00, 1e00], [1e02, 1e02], [1e04, 1e04], [1e06, 1e06],
765    [1e08, 1e08], [1e0a, 1e0a], [1e0c, 1e0c], [1e0e, 1e0e], [1e10, 1e10],
766    [1e12, 1e12], [1e14, 1e14], [1e16, 1e16], [1e18, 1e18], [1e1a, 1e1a],
767    [1e1c, 1e1c], [1e1e, 1e1e], [1e20, 1e20], [1e22, 1e22], [1e24, 1e24],
768    [1e26, 1e26], [1e28, 1e28], [1e2a, 1e2a], [1e2c, 1e2c], [1e2e, 1e2e],
769    [1e30, 1e30], [1e32, 1e32], [1e34, 1e34], [1e36, 1e36], [1e38, 1e38],
770    [1e3a, 1e3a], [1e3c, 1e3c], [1e3e, 1e3e], [1e40, 1e40], [1e42, 1e42],
771    [1e44, 1e44], [1e46, 1e46], [1e48, 1e48], [1e4a, 1e4a], [1e4c, 1e4c],
772    [1e4e, 1e4e], [1e50, 1e50], [1e52, 1e52], [1e54, 1e54], [1e56, 1e56],
773    [1e58, 1e58], [1e5a, 1e5a], [1e5c, 1e5c], [1e5e, 1e5e], [1e60, 1e60],
774    [1e62, 1e62], [1e64, 1e64], [1e66, 1e66], [1e68, 1e68], [1e6a, 1e6a],
775    [1e6c, 1e6c], [1e6e, 1e6e], [1e70, 1e70], [1e72, 1e72], [1e74, 1e74],
776    [1e76, 1e76], [1e78, 1e78], [1e7a, 1e7a], [1e7c, 1e7c], [1e7e, 1e7e],
777    [1e80, 1e80], [1e82, 1e82], [1e84, 1e84], [1e86, 1e86], [1e88, 1e88],
778    [1e8a, 1e8a], [1e8c, 1e8c], [1e8e, 1e8e], [1e90, 1e90], [1e92, 1e92],
779    [1e94, 1e94], [1e9e, 1e9e], [1ea0, 1ea0], [1ea2, 1ea2], [1ea4, 1ea4],
780    [1ea6, 1ea6], [1ea8, 1ea8], [1eaa, 1eaa], [1eac, 1eac], [1eae, 1eae],
781    [1eb0, 1eb0], [1eb2, 1eb2], [1eb4, 1eb4], [1eb6, 1eb6], [1eb8, 1eb8],
782    [1eba, 1eba], [1ebc, 1ebc], [1ebe, 1ebe], [1ec0, 1ec0], [1ec2, 1ec2],
783    [1ec4, 1ec4], [1ec6, 1ec6], [1ec8, 1ec8], [1eca, 1eca], [1ecc, 1ecc],
784    [1ece, 1ece], [1ed0, 1ed0], [1ed2, 1ed2], [1ed4, 1ed4], [1ed6, 1ed6],
785    [1ed8, 1ed8], [1eda, 1eda], [1edc, 1edc], [1ede, 1ede], [1ee0, 1ee0],
786    [1ee2, 1ee2], [1ee4, 1ee4], [1ee6, 1ee6], [1ee8, 1ee8], [1eea, 1eea],
787    [1eec, 1eec], [1eee, 1eee], [1ef0, 1ef0], [1ef2, 1ef2], [1ef4, 1ef4],
788    [1ef6, 1ef6], [1ef8, 1ef8], [1efa, 1efa], [1efc, 1efc], [1efe, 1efe],
789    [1f08, 1f0f], [1f18, 1f1d], [1f28, 1f2f], [1f38, 1f3f], [1f48, 1f4d],
790    [1f59, 1f59], [1f5b, 1f5b], [1f5d, 1f5d], [1f5f, 1f5f], [1f68, 1f6f],
791    [1f88, 1f8f], [1f98, 1f9f], [1fa8, 1faf], [1fb8, 1fbc], [1fc8, 1fcc],
792    [1fd8, 1fdb], [1fe8, 1fec], [1ff8, 1ffc], [2102, 2102], [2107, 2107],
793    [210b, 210d], [2110, 2112], [2115, 2115], [2119, 211d], [2124, 2124],
794    [2126, 2126], [2128, 2128], [212a, 212d], [2130, 2133], [213e, 213f],
795    [2145, 2145], [2160, 216f], [2183, 2183], [24b6, 24cf], [2c00, 2c2e],
796    [2c60, 2c60], [2c62, 2c64], [2c67, 2c67], [2c69, 2c69], [2c6b, 2c6b],
797    [2c6d, 2c70], [2c72, 2c72], [2c75, 2c75], [2c7e, 2c80], [2c82, 2c82],
798    [2c84, 2c84], [2c86, 2c86], [2c88, 2c88], [2c8a, 2c8a], [2c8c, 2c8c],
799    [2c8e, 2c8e], [2c90, 2c90], [2c92, 2c92], [2c94, 2c94], [2c96, 2c96],
800    [2c98, 2c98], [2c9a, 2c9a], [2c9c, 2c9c], [2c9e, 2c9e], [2ca0, 2ca0],
801    [2ca2, 2ca2], [2ca4, 2ca4], [2ca6, 2ca6], [2ca8, 2ca8], [2caa, 2caa],
802    [2cac, 2cac], [2cae, 2cae], [2cb0, 2cb0], [2cb2, 2cb2], [2cb4, 2cb4],
803    [2cb6, 2cb6], [2cb8, 2cb8], [2cba, 2cba], [2cbc, 2cbc], [2cbe, 2cbe],
804    [2cc0, 2cc0], [2cc2, 2cc2], [2cc4, 2cc4], [2cc6, 2cc6], [2cc8, 2cc8],
805    [2cca, 2cca], [2ccc, 2ccc], [2cce, 2cce], [2cd0, 2cd0], [2cd2, 2cd2],
806    [2cd4, 2cd4], [2cd6, 2cd6], [2cd8, 2cd8], [2cda, 2cda], [2cdc, 2cdc],
807    [2cde, 2cde], [2ce0, 2ce0], [2ce2, 2ce2], [2ceb, 2ceb], [2ced, 2ced],
808    [2cf2, 2cf2], [a640, a640], [a642, a642], [a644, a644], [a646, a646],
809    [a648, a648], [a64a, a64a], [a64c, a64c], [a64e, a64e], [a650, a650],
810    [a652, a652], [a654, a654], [a656, a656], [a658, a658], [a65a, a65a],
811    [a65c, a65c], [a65e, a65e], [a660, a660], [a662, a662], [a664, a664],
812    [a666, a666], [a668, a668], [a66a, a66a], [a66c, a66c], [a680, a680],
813    [a682, a682], [a684, a684], [a686, a686], [a688, a688], [a68a, a68a],
814    [a68c, a68c], [a68e, a68e], [a690, a690], [a692, a692], [a694, a694],
815    [a696, a696], [a698, a698], [a69a, a69a], [a722, a722], [a724, a724],
816    [a726, a726], [a728, a728], [a72a, a72a], [a72c, a72c], [a72e, a72e],
817    [a732, a732], [a734, a734], [a736, a736], [a738, a738], [a73a, a73a],
818    [a73c, a73c], [a73e, a73e], [a740, a740], [a742, a742], [a744, a744],
819    [a746, a746], [a748, a748], [a74a, a74a], [a74c, a74c], [a74e, a74e],
820    [a750, a750], [a752, a752], [a754, a754], [a756, a756], [a758, a758],
821    [a75a, a75a], [a75c, a75c], [a75e, a75e], [a760, a760], [a762, a762],
822    [a764, a764], [a766, a766], [a768, a768], [a76a, a76a], [a76c, a76c],
823    [a76e, a76e], [a779, a779], [a77b, a77b], [a77d, a77e], [a780, a780],
824    [a782, a782], [a784, a784], [a786, a786], [a78b, a78b], [a78d, a78d],
825    [a790, a790], [a792, a792], [a796, a796], [a798, a798], [a79a, a79a],
826    [a79c, a79c], [a79e, a79e], [a7a0, a7a0], [a7a2, a7a2], [a7a4, a7a4],
827    [a7a6, a7a6], [a7a8, a7a8], [a7aa, a7ae], [a7b0, a7b4], [a7b6, a7b6],
828    [ff21, ff3a], [10400, 10427], [104b0, 104d3], [10c80, 10cb2],
829    [118a0, 118bf], [1d400, 1d419], [1d434, 1d44d], [1d468, 1d481],
830    [1d49c, 1d49c], [1d49e, 1d49f], [1d4a2, 1d4a2], [1d4a5, 1d4a6],
831    [1d4a9, 1d4ac], [1d4ae, 1d4b5], [1d4d0, 1d4e9], [1d504, 1d505],
832    [1d507, 1d50a], [1d50d, 1d514], [1d516, 1d51c], [1d538, 1d539],
833    [1d53b, 1d53e], [1d540, 1d544], [1d546, 1d546], [1d54a, 1d550],
834    [1d56c, 1d585], [1d5a0, 1d5b9], [1d5d4, 1d5ed], [1d608, 1d621],
835    [1d63c, 1d655], [1d670, 1d689], [1d6a8, 1d6c0], [1d6e2, 1d6fa],
836    [1d71c, 1d734], [1d756, 1d76e], [1d790, 1d7a8], [1d7ca, 1d7ca],
837    [1e900, 1e921], [1f130, 1f149], [1f150, 1f169], [1f170, 1f189]**/
838
839
840    namespace {
841    const static UnicodeSet::run_t __up_Set_runs[] = {
842    {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 11},
843    {Empty, 8}, {Mixed, 5}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 8},
844    {Empty, 90}, {Full, 1}, {Mixed, 1}, {Empty, 22}, {Full, 2}, {Mixed, 1},
845    {Empty, 80}, {Mixed, 16}, {Empty, 8}, {Mixed, 5}, {Empty, 24},
846    {Mixed, 2}, {Empty, 57}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5},
847    {Empty, 970}, {Mixed, 3}, {Empty, 4}, {Mixed, 5}, {Empty, 699},
848    {Mixed, 1}, {Empty, 38}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
849    {Empty, 61}, {Full, 1}, {Mixed, 1}, {Empty, 95}, {Full, 1},
850    {Empty, 1498}, {Mixed, 31}, {Empty, 137}, {Full, 1}, {Mixed, 1},
851    {Empty, 63}, {Mixed, 4}, {Empty, 30835}};
852    const static UnicodeSet::bitquad_t  __up_Set_quads[] = {
853    0x07fffffe, 0x7f7fffff, 0x55555555, 0xaa555555, 0x555554aa, 0x2b555555,
854    0xb1dbced6, 0x11aed2d5, 0x4aaaadb0, 0x55d65555, 0x55555555, 0x6c055555,
855    0x0000557a, 0x80450000, 0xfffed740, 0x00000ffb, 0x551c8000, 0xe6905555,
856    0x0000ffff, 0x55555555, 0x55555401, 0x55555555, 0x55552aab, 0x55555555,
857    0x55555555, 0xfffe5555, 0x007fffff, 0x000020bf, 0x003fffff, 0x55555555,
858    0x55555555, 0x55555555, 0x55555555, 0x40155555, 0x55555555, 0x55555555,
859    0x55555555, 0x3f00ff00, 0xff00ff00, 0xaa003f00, 0x0000ff00, 0xff00ff00,
860    0x1f00ff00, 0x0f001f00, 0x1f001f00, 0x3e273884, 0xc00f3d50, 0x00000020,
861    0x0000ffff, 0x00000008, 0xffc00000, 0x0000ffff, 0x00007fff, 0xc025ea9d,
862    0x55555555, 0x55555555, 0x55555555, 0x00042805, 0x55555555, 0x00001555,
863    0x05555555, 0x55545554, 0x55555555, 0x6a005555, 0x55452855, 0x005f7d55,
864    0x07fffffe, 0x000000ff, 0xffff0000, 0x000fffff, 0x0007ffff, 0x03ffffff,
865    0xfff00000, 0x00003fff, 0xffffff00, 0xd0000003, 0x003fde64, 0xffff0000,
866    0x000003ff, 0x1fdfe7b0, 0x7b000000, 0x0001fc5f, 0xfffff000, 0x0000003f,
867    0x03ffffff, 0xfff00000, 0x00003fff, 0xffffff00, 0xf0000003, 0x003fffff,
868    0xffff0000, 0x000003ff, 0xffffff00, 0x00000001, 0x07fffffc, 0xf0000000,
869    0x001fffff, 0xffc00000, 0x00007fff, 0xffff0000, 0x000001ff, 0x00000400,
870    0x00000003, 0xffff0000, 0xffff03ff, 0xffff03ff, 0x000003ff};
871    }
872
873    const static UnicodeSet up_Set{const_cast<UnicodeSet::run_t *>(__up_Set_runs), 53, 0, const_cast<UnicodeSet::bitquad_t *>(__up_Set_quads), 107, 0};
874
875    /** Code Point Ranges for LE
876    [01bb, 01bb], [01c0, 01c3], [0294, 0294], [02b9, 02bf], [02c6, 02d1],
877    [02ec, 02ec], [02ee, 02ee], [0374, 0374], [0559, 0559], [05d0, 05ea],
878    [05f0, 05f3], [0620, 064a], [066e, 066f], [0671, 06d3], [06d5, 06d5],
879    [06e5, 06e6], [06ee, 06ef], [06fa, 06fc], [06ff, 06ff], [0710, 0710],
880    [0712, 072f], [074d, 07a5], [07b1, 07b1], [07ca, 07ea], [07f4, 07f5],
881    [07fa, 07fa], [0800, 0815], [081a, 081a], [0824, 0824], [0828, 0828],
882    [0840, 0858], [0860, 086a], [08a0, 08b4], [08b6, 08bd], [0904, 0939],
883    [093d, 093d], [0950, 0950], [0958, 0961], [0971, 0980], [0985, 098c],
884    [098f, 0990], [0993, 09a8], [09aa, 09b0], [09b2, 09b2], [09b6, 09b9],
885    [09bd, 09bd], [09ce, 09ce], [09dc, 09dd], [09df, 09e1], [09f0, 09f1],
886    [09fc, 09fc], [0a05, 0a0a], [0a0f, 0a10], [0a13, 0a28], [0a2a, 0a30],
887    [0a32, 0a33], [0a35, 0a36], [0a38, 0a39], [0a59, 0a5c], [0a5e, 0a5e],
888    [0a72, 0a74], [0a85, 0a8d], [0a8f, 0a91], [0a93, 0aa8], [0aaa, 0ab0],
889    [0ab2, 0ab3], [0ab5, 0ab9], [0abd, 0abd], [0ad0, 0ad0], [0ae0, 0ae1],
890    [0af9, 0af9], [0b05, 0b0c], [0b0f, 0b10], [0b13, 0b28], [0b2a, 0b30],
891    [0b32, 0b33], [0b35, 0b39], [0b3d, 0b3d], [0b5c, 0b5d], [0b5f, 0b61],
892    [0b71, 0b71], [0b83, 0b83], [0b85, 0b8a], [0b8e, 0b90], [0b92, 0b95],
893    [0b99, 0b9a], [0b9c, 0b9c], [0b9e, 0b9f], [0ba3, 0ba4], [0ba8, 0baa],
894    [0bae, 0bb9], [0bd0, 0bd0], [0c05, 0c0c], [0c0e, 0c10], [0c12, 0c28],
895    [0c2a, 0c39], [0c3d, 0c3d], [0c58, 0c5a], [0c60, 0c61], [0c80, 0c80],
896    [0c85, 0c8c], [0c8e, 0c90], [0c92, 0ca8], [0caa, 0cb3], [0cb5, 0cb9],
897    [0cbd, 0cbd], [0cde, 0cde], [0ce0, 0ce1], [0cf1, 0cf2], [0d05, 0d0c],
898    [0d0e, 0d10], [0d12, 0d3a], [0d3d, 0d3d], [0d4e, 0d4e], [0d54, 0d56],
899    [0d5f, 0d61], [0d7a, 0d7f], [0d85, 0d96], [0d9a, 0db1], [0db3, 0dbb],
900    [0dbd, 0dbd], [0dc0, 0dc6], [0e01, 0e30], [0e32, 0e33], [0e40, 0e46],
901    [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a], [0e8d, 0e8d],
902    [0e94, 0e97], [0e99, 0e9f], [0ea1, 0ea3], [0ea5, 0ea5], [0ea7, 0ea7],
903    [0eaa, 0eab], [0ead, 0eb0], [0eb2, 0eb3], [0ebd, 0ebd], [0ec0, 0ec4],
904    [0ec6, 0ec6], [0edc, 0edf], [0f00, 0f00], [0f40, 0f47], [0f49, 0f6c],
905    [0f88, 0f8c], [1000, 102a], [103f, 103f], [1050, 1055], [105a, 105d],
906    [1061, 1061], [1065, 1066], [106e, 1070], [1075, 1081], [108e, 108e],
907    [10d0, 10fa], [10fc, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
908    [125a, 125d], [1260, 1288], [128a, 128d], [1290, 12b0], [12b2, 12b5],
909    [12b8, 12be], [12c0, 12c0], [12c2, 12c5], [12c8, 12d6], [12d8, 1310],
910    [1312, 1315], [1318, 135a], [1380, 138f], [1401, 166c], [166f, 167f],
911    [1681, 169a], [16a0, 16ea], [16ee, 16f8], [1700, 170c], [170e, 1711],
912    [1720, 1731], [1740, 1751], [1760, 176c], [176e, 1770], [1780, 17b3],
913    [17d7, 17d7], [17dc, 17dc], [1820, 1877], [1880, 1884], [1887, 18a8],
914    [18aa, 18aa], [18b0, 18f5], [1900, 191e], [1950, 196d], [1970, 1974],
915    [1980, 19ab], [19b0, 19c9], [1a00, 1a16], [1a20, 1a54], [1aa7, 1aa7],
916    [1b05, 1b33], [1b45, 1b4b], [1b83, 1ba0], [1bae, 1baf], [1bba, 1be5],
917    [1c00, 1c23], [1c4d, 1c4f], [1c5a, 1c7d], [1ce9, 1cec], [1cee, 1cf1],
918    [1cf5, 1cf6], [2135, 2138], [2180, 2182], [2185, 2188], [2d30, 2d67],
919    [2d6f, 2d6f], [2d80, 2d96], [2da0, 2da6], [2da8, 2dae], [2db0, 2db6],
920    [2db8, 2dbe], [2dc0, 2dc6], [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde],
921    [2e2f, 2e2f], [3005, 3007], [3021, 3029], [3031, 3035], [3038, 303c],
922    [3041, 3096], [309d, 309f], [30a1, 30fa], [30fc, 30ff], [3105, 312e],
923    [3131, 318e], [31a0, 31ba], [31f0, 31ff], [3400, 4db5], [4e00, 9fea],
924    [a000, a48c], [a4d0, a4fd], [a500, a60c], [a610, a61f], [a62a, a62b],
925    [a66e, a66e], [a67f, a67f], [a6a0, a6ef], [a717, a71f], [a788, a788],
926    [a78f, a78f], [a7f7, a7f7], [a7fb, a801], [a803, a805], [a807, a80a],
927    [a80c, a822], [a840, a873], [a882, a8b3], [a8f2, a8f7], [a8fb, a8fb],
928    [a8fd, a8fd], [a90a, a925], [a930, a946], [a960, a97c], [a984, a9b2],
929    [a9cf, a9cf], [a9e0, a9e4], [a9e6, a9ef], [a9fa, a9fe], [aa00, aa28],
930    [aa40, aa42], [aa44, aa4b], [aa60, aa76], [aa7a, aa7a], [aa7e, aaaf],
931    [aab1, aab1], [aab5, aab6], [aab9, aabd], [aac0, aac0], [aac2, aac2],
932    [aadb, aadd], [aae0, aaea], [aaf2, aaf4], [ab01, ab06], [ab09, ab0e],
933    [ab11, ab16], [ab20, ab26], [ab28, ab2e], [abc0, abe2], [ac00, d7a3],
934    [d7b0, d7c6], [d7cb, d7fb], [f900, fa6d], [fa70, fad9], [fb1d, fb1d],
935    [fb1f, fb28], [fb2a, fb36], [fb38, fb3c], [fb3e, fb3e], [fb40, fb41],
936    [fb43, fb44], [fb46, fbb1], [fbd3, fd3d], [fd50, fd8f], [fd92, fdc7],
937    [fdf0, fdfb], [fe70, fe74], [fe76, fefc], [ff66, ff9d], [ffa0, ffbe],
938    [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7], [ffda, ffdc], [10000, 1000b],
939    [1000d, 10026], [10028, 1003a], [1003c, 1003d], [1003f, 1004d],
940    [10050, 1005d], [10080, 100fa], [10140, 10174], [10280, 1029c],
941    [102a0, 102d0], [10300, 1031f], [1032d, 1034a], [10350, 10375],
942    [10380, 1039d], [103a0, 103c3], [103c8, 103cf], [103d1, 103d5],
943    [10450, 1049d], [10500, 10527], [10530, 10563], [10600, 10736],
944    [10740, 10755], [10760, 10767], [10800, 10805], [10808, 10808],
945    [1080a, 10835], [10837, 10838], [1083c, 1083c], [1083f, 10855],
946    [10860, 10876], [10880, 1089e], [108e0, 108f2], [108f4, 108f5],
947    [10900, 10915], [10920, 10939], [10980, 109b7], [109be, 109bf],
948    [10a00, 10a00], [10a10, 10a13], [10a15, 10a17], [10a19, 10a33],
949    [10a60, 10a7c], [10a80, 10a9c], [10ac0, 10ac7], [10ac9, 10ae4],
950    [10b00, 10b35], [10b40, 10b55], [10b60, 10b72], [10b80, 10b91],
951    [10c00, 10c48], [11003, 11037], [11083, 110af], [110d0, 110e8],
952    [11103, 11126], [11150, 11172], [11176, 11176], [11183, 111b2],
953    [111c1, 111c4], [111da, 111da], [111dc, 111dc], [11200, 11211],
954    [11213, 1122b], [11280, 11286], [11288, 11288], [1128a, 1128d],
955    [1128f, 1129d], [1129f, 112a8], [112b0, 112de], [11305, 1130c],
956    [1130f, 11310], [11313, 11328], [1132a, 11330], [11332, 11333],
957    [11335, 11339], [1133d, 1133d], [11350, 11350], [1135d, 11361],
958    [11400, 11434], [11447, 1144a], [11480, 114af], [114c4, 114c5],
959    [114c7, 114c7], [11580, 115ae], [115d8, 115db], [11600, 1162f],
960    [11644, 11644], [11680, 116aa], [11700, 11719], [118ff, 118ff],
961    [11a00, 11a00], [11a0b, 11a32], [11a3a, 11a3a], [11a50, 11a50],
962    [11a5c, 11a83], [11a86, 11a89], [11ac0, 11af8], [11c00, 11c08],
963    [11c0a, 11c2e], [11c40, 11c40], [11c72, 11c8f], [11d00, 11d06],
964    [11d08, 11d09], [11d0b, 11d30], [11d46, 11d46], [12000, 12399],
965    [12400, 1246e], [12480, 12543], [13000, 1342e], [14400, 14646],
966    [16800, 16a38], [16a40, 16a5e], [16ad0, 16aed], [16b00, 16b2f],
967    [16b40, 16b43], [16b63, 16b77], [16b7d, 16b8f], [16f00, 16f44],
968    [16f50, 16f50], [16f93, 16f9f], [16fe0, 16fe1], [17000, 187ec],
969    [18800, 18af2], [1b000, 1b11e], [1b170, 1b2fb], [1bc00, 1bc6a],
970    [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99], [1e800, 1e8c4],
971    [1ee00, 1ee03], [1ee05, 1ee1f], [1ee21, 1ee22], [1ee24, 1ee24],
972    [1ee27, 1ee27], [1ee29, 1ee32], [1ee34, 1ee37], [1ee39, 1ee39],
973    [1ee3b, 1ee3b], [1ee42, 1ee42], [1ee47, 1ee47], [1ee49, 1ee49],
974    [1ee4b, 1ee4b], [1ee4d, 1ee4f], [1ee51, 1ee52], [1ee54, 1ee54],
975    [1ee57, 1ee57], [1ee59, 1ee59], [1ee5b, 1ee5b], [1ee5d, 1ee5d],
976    [1ee5f, 1ee5f], [1ee61, 1ee62], [1ee64, 1ee64], [1ee67, 1ee6a],
977    [1ee6c, 1ee72], [1ee74, 1ee77], [1ee79, 1ee7c], [1ee7e, 1ee7e],
978    [1ee80, 1ee89], [1ee8b, 1ee9b], [1eea1, 1eea3], [1eea5, 1eea9],
979    [1eeab, 1eebb], [20000, 2a6d6], [2a700, 2b734], [2b740, 2b81d],
980    [2b820, 2cea1], [2ceb0, 2ebe0], [2f800, 2fa1d]**/
981
982
983    namespace {
984    const static UnicodeSet::run_t __le_Set_runs[] = {
985    {Empty, 13}, {Mixed, 2}, {Empty, 5}, {Mixed, 4}, {Empty, 3}, {Mixed, 1},
986    {Empty, 14}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Full, 1},
987    {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 2}, {Mixed, 7}, {Empty, 1},
988    {Mixed, 1}, {Empty, 2}, {Mixed, 23}, {Empty, 1}, {Mixed, 15},
989    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
990    {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Full, 1}, {Mixed, 4}, {Empty, 1},
991    {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
992    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3},
993    {Mixed, 1}, {Full, 18}, {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1},
994    {Mixed, 2}, {Empty, 2}, {Full, 2}, {Mixed, 3}, {Full, 1}, {Mixed, 2},
995    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
996    {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2}, {Mixed, 3},
997    {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
998    {Empty, 3}, {Mixed, 1}, {Empty, 33}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
999    {Empty, 92}, {Mixed, 1}, {Full, 1}, {Mixed, 4}, {Empty, 2}, {Mixed, 1},
1000    {Empty, 14}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
1001    {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 16}, {Full, 205},
1002    {Mixed, 1}, {Empty, 2}, {Full, 655}, {Mixed, 1}, {Full, 36}, {Mixed, 1},
1003    {Empty, 1}, {Mixed, 2}, {Full, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
1004    {Empty, 1}, {Full, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2},
1005    {Mixed, 3}, {Full, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 9}, {Full, 1},
1006    {Mixed, 3}, {Full, 1}, {Mixed, 5}, {Empty, 4}, {Full, 1}, {Mixed, 1},
1007    {Full, 349}, {Mixed, 3}, {Empty, 264}, {Full, 11}, {Mixed, 1},
1008    {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Full, 2}, {Mixed, 2},
1009    {Full, 10}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
1010    {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 4},
1011    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 1}, {Empty, 2},
1012    {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
1013    {Empty, 1}, {Full, 1}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 3},
1014    {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Mixed, 1},
1015    {Full, 1}, {Mixed, 1}, {Empty, 4}, {Full, 9}, {Mixed, 3}, {Empty, 4},
1016    {Mixed, 5}, {Empty, 2}, {Mixed, 3}, {Empty, 2}, {Full, 1}, {Mixed, 1},
1017    {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
1018    {Full, 1}, {Mixed, 4}, {Empty, 3}, {Full, 2}, {Mixed, 1}, {Empty, 29},
1019    {Mixed, 2}, {Empty, 2}, {Mixed, 11}, {Empty, 1}, {Mixed, 2}, {Empty, 2},
1020    {Mixed, 3}, {Empty, 1}, {Mixed, 4}, {Empty, 4}, {Full, 1}, {Mixed, 2},
1021    {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Full, 1}, {Mixed, 2},
1022    {Empty, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1}, {Full, 1}, {Mixed, 1},
1023    {Empty, 2}, {Mixed, 1}, {Empty, 14}, {Mixed, 1}, {Empty, 8}, {Mixed, 3},
1024    {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8},
1025    {Mixed, 5}, {Empty, 3}, {Mixed, 3}, {Empty, 21}, {Full, 28}, {Mixed, 1},
1026    {Empty, 3}, {Full, 3}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 85},
1027    {Full, 33}, {Mixed, 1}, {Empty, 126}, {Full, 18}, {Mixed, 1},
1028    {Empty, 269}, {Full, 17}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Full, 1},
1029    {Mixed, 4}, {Empty, 27}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
1030    {Empty, 2}, {Mixed, 1}, {Full, 191}, {Mixed, 1}, {Full, 23}, {Mixed, 1},
1031    {Empty, 296}, {Full, 8}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 11},
1032    {Mixed, 1}, {Empty, 72}, {Full, 3}, {Mixed, 2}, {Empty, 347}, {Full, 6},
1033    {Mixed, 1}, {Empty, 41}, {Mixed, 6}, {Empty, 138}, {Full, 1334},
1034    {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
1035    {Full, 180}, {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 96},
1036    {Full, 16}, {Mixed, 1}, {Empty, 28719}};
1037    const static UnicodeSet::bitquad_t  __le_Set_quads[] = {
1038    0x08000000, 0x0000000f, 0x00100000, 0xfe000000, 0x0003ffc0, 0x00005000,
1039    0x00100000, 0x02000000, 0xffff0000, 0x000f07ff, 0x000007ff, 0xfffec000,
1040    0x002fffff, 0x9c00c060, 0xfffd0000, 0x0000ffff, 0xffffe000, 0x0002003f,
1041    0xfffffc00, 0x043007ff, 0x043fffff, 0x00000110, 0x01ffffff, 0x000007ff,
1042    0x3fdfffff, 0xfffffff0, 0x23ffffff, 0xff010000, 0xfffe0003, 0xfff99fe1,
1043    0x23c5fdff, 0xb0004000, 0x10030003, 0xfff987e0, 0x036dfdff, 0x5e000000,
1044    0x001c0000, 0xfffbbfe0, 0x23edfdff, 0x00010000, 0x02000003, 0xfff99fe0,
1045    0x23edfdff, 0xb0000000, 0x00020003, 0xd63dc7e8, 0x03ffc718, 0x00010000,
1046    0xfffddfe0, 0x23fffdff, 0x07000000, 0x00000003, 0xfffddfe1, 0x23effdff,
1047    0x40000000, 0x00060003, 0xfffddfe0, 0x27ffffff, 0x80704000, 0xfc000003,
1048    0xfc7fffe0, 0x2ffbffff, 0x0000007f, 0xfffffffe, 0x000dffff, 0x0000007f,
1049    0xfef02596, 0x200decae, 0xf000005f, 0x00000001, 0xfffffeff, 0x00001fff,
1050    0x00001f00, 0x800007ff, 0x3c3f0000, 0xffe1c062, 0x00004003, 0xffff0000,
1051    0xf7ffffff, 0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
1052    0x07ffffff, 0x0000ffff, 0xfffffffe, 0xffff9fff, 0x07fffffe, 0x01ffc7ff,
1053    0x0003dfff, 0x0003ffff, 0x0003ffff, 0x0001dfff, 0x000fffff, 0x10800000,
1054    0x00ffffff, 0xffffff9f, 0xffff05ff, 0x003fffff, 0x7fffffff, 0xffff0000,
1055    0x001f3fff, 0xffff0fff, 0x000003ff, 0x007fffff, 0x001fffff, 0x00000080,
1056    0xffffffe0, 0x000fffff, 0x00000fe0, 0xfffffff8, 0xfc00c001, 0x0000003f,
1057    0x0000000f, 0xfc00e000, 0x3fffffff, 0x0063de00, 0x01e00000, 0x000001e7,
1058    0xffff0000, 0x000080ff, 0x007fffff, 0x7f7f7f7f, 0x7f7f7f7f, 0x00008000,
1059    0x000000e0, 0x1f3e03fe, 0xfffffffe, 0xe07fffff, 0xfffffffe, 0xf7ffffff,
1060    0xffffffe0, 0xfffe7fff, 0x00007fff, 0x07ffffff, 0xffff0000, 0x003fffff,
1061    0x000007ff, 0x00001fff, 0xffff0000, 0x3fffffff, 0xffff1fff, 0x00000c00,
1062    0x80004000, 0x0000ffff, 0xff800000, 0x00008100, 0xf8800000, 0xfffff7bb,
1063    0x00000007, 0x000fffff, 0xfffffffc, 0x000fffff, 0x28fc0000, 0xfffffc00,
1064    0xffff003f, 0x0000007f, 0x1fffffff, 0xfffffff0, 0x0007ffff, 0x00008000,
1065    0x7c00ffdf, 0x000001ff, 0x00000ff7, 0xc47fffff, 0x3e62ffff, 0x38000005,
1066    0x001c07ff, 0x007e7e7e, 0x00007f7f, 0x00000007, 0xffff000f, 0xfffff87f,
1067    0x0fffffff, 0xffff3fff, 0x03ffffff, 0xa0000000, 0x5f7ffdff, 0xffffffdb,
1068    0x0003ffff, 0xfff80000, 0x3fffffff, 0xffff0000, 0xfffcffff, 0x000000ff,
1069    0x0fff0000, 0xffdf0000, 0x1fffffff, 0xffffffc0, 0x3fffffff, 0x7fffffff,
1070    0x1cfcfcfc, 0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0x001fffff,
1071    0x1fffffff, 0x0001ffff, 0xffffe000, 0xffff07ff, 0x003fffff, 0x3fffffff,
1072    0x003eff0f, 0xffff0000, 0x3fffffff, 0xffff00ff, 0x0000000f, 0x007fffff,
1073    0x003fffff, 0x000000ff, 0xfffffd3f, 0x91bfffff, 0x003fffff, 0x007fffff,
1074    0x7fffffff, 0x0037ffff, 0x003fffff, 0x03ffffff, 0xc0ffffff, 0xfeef0001,
1075    0x000fffff, 0x1fffffff, 0x1fffffff, 0xfffffeff, 0x0000001f, 0x003fffff,
1076    0x003fffff, 0x0007ffff, 0x0003ffff, 0x000001ff, 0xfffffff8, 0x00ffffff,
1077    0xfffffff8, 0x0000ffff, 0xffff0000, 0x000001ff, 0xfffffff8, 0x0000007f,
1078    0xffff0000, 0x0047ffff, 0xfffffff8, 0x0007ffff, 0x1400001e, 0xfffbffff,
1079    0x00000fff, 0xbfffbd7f, 0xffff01ff, 0x7fffffff, 0xfff99fe0, 0x23edfdff,
1080    0xe0010000, 0x00000003, 0x001fffff, 0x00000780, 0x0000ffff, 0x000000b0,
1081    0x00007fff, 0x0f000000, 0x0000ffff, 0x00000010, 0x000007ff, 0x03ffffff,
1082    0x80000000, 0xfffff801, 0x0407ffff, 0xf0010000, 0x000003cf, 0x01ffffff,
1083    0xfffffdff, 0x00007fff, 0x00000001, 0xfffc0000, 0x0000ffff, 0xfffffb7f,
1084    0x0001ffff, 0x00000040, 0x03ffffff, 0x00007fff, 0x0000000f, 0x00007fff,
1085    0x0000007f, 0x01ffffff, 0x7fffffff, 0xffff0000, 0x00003fff, 0x0000ffff,
1086    0x0000000f, 0xe0fffff8, 0x0000ffff, 0x0001001f, 0xfff80000, 0x00000003,
1087    0x00001fff, 0x0007ffff, 0x7fffffff, 0xffff0000, 0x0fffffff, 0x1fff07ff,
1088    0x03ff01ff, 0x0000001f, 0xffffffef, 0x0af7fe96, 0xaa96ea84, 0x5ef7f796,
1089    0x0ffffbff, 0x0ffffbee, 0x007fffff, 0x001fffff, 0x3fffffff, 0xffff0003,
1090    0x00000001, 0x3fffffff};
1091    }
1092
1093    const static UnicodeSet le_Set{const_cast<UnicodeSet::run_t *>(__le_Set_runs), 304, 0, const_cast<UnicodeSet::bitquad_t *>(__le_Set_quads), 314, 0};
1094
1095    /** Code Point Ranges for NU
1096    [0030, 0039], [0660, 0669], [066b, 066c], [06f0, 06f9], [07c0, 07c9],
1097    [0966, 096f], [09e6, 09ef], [0a66, 0a6f], [0ae6, 0aef], [0b66, 0b6f],
1098    [0be6, 0bef], [0c66, 0c6f], [0ce6, 0cef], [0d66, 0d6f], [0de6, 0def],
1099    [0e50, 0e59], [0ed0, 0ed9], [0f20, 0f29], [1040, 1049], [1090, 1099],
1100    [17e0, 17e9], [1810, 1819], [1946, 194f], [19d0, 19d9], [1a80, 1a89],
1101    [1a90, 1a99], [1b50, 1b59], [1bb0, 1bb9], [1c40, 1c49], [1c50, 1c59],
1102    [a620, a629], [a8d0, a8d9], [a900, a909], [a9d0, a9d9], [a9f0, a9f9],
1103    [aa50, aa59], [abf0, abf9], [104a0, 104a9], [11066, 1106f],
1104    [110f0, 110f9], [11136, 1113f], [111d0, 111d9], [112f0, 112f9],
1105    [11450, 11459], [114d0, 114d9], [11650, 11659], [116c0, 116c9],
1106    [11730, 11739], [118e0, 118e9], [11c50, 11c59], [11d50, 11d59],
1107    [16a60, 16a69], [16b50, 16b59], [1d7ce, 1d7ff], [1e950, 1e959]**/
1108
1109
1110    namespace {
1111    const static UnicodeSet::run_t __nu_Set_runs[] = {
1112    {Empty, 1}, {Mixed, 1}, {Empty, 49}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1113    {Empty, 6}, {Mixed, 1}, {Empty, 12}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1114    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1115    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1116    {Empty, 3}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1117    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
1118    {Empty, 1}, {Mixed, 1}, {Empty, 58}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
1119    {Empty, 3}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1120    {Empty, 2}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 1102},
1121    {Mixed, 1}, {Empty, 20}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
1122    {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
1123    {Empty, 709}, {Mixed, 1}, {Empty, 93}, {Mixed, 1}, {Empty, 3},
1124    {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 8},
1125    {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1126    {Empty, 11}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
1127    {Empty, 13}, {Mixed, 1}, {Empty, 26}, {Mixed, 1}, {Empty, 7},
1128    {Mixed, 1}, {Empty, 616}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1129    {Empty, 867}, {Mixed, 1}, {Full, 1}, {Empty, 138}, {Mixed, 1},
1130    {Empty, 30901}};
1131    const static UnicodeSet::bitquad_t  __nu_Set_quads[] = {
1132    0x03ff0000, 0x00001bff, 0x03ff0000, 0x000003ff, 0x0000ffc0, 0x0000ffc0,
1133    0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0, 0x0000ffc0,
1134    0x0000ffc0, 0x0000ffc0, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x000003ff,
1135    0x03ff0000, 0x000003ff, 0x03ff0000, 0x0000ffc0, 0x03ff0000, 0x03ff03ff,
1136    0x03ff0000, 0x03ff0000, 0x03ff03ff, 0x000003ff, 0x03ff0000, 0x000003ff,
1137    0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x000003ff, 0x0000ffc0,
1138    0x03ff0000, 0xffc00000, 0x03ff0000, 0x03ff0000, 0x03ff0000, 0x03ff0000,
1139    0x03ff0000, 0x000003ff, 0x03ff0000, 0x000003ff, 0x03ff0000, 0x03ff0000,
1140    0x000003ff, 0x03ff0000, 0xffffc000, 0x03ff0000};
1141    }
1142
1143    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};
1144
1145    /** Code Point Ranges for AT
1146    [002e, 002e], [2024, 2024], [fe52, fe52], [ff0e, ff0e]**/
1147
1148
1149    namespace {
1150    const static UnicodeSet::run_t __at_Set_runs[] = {
1151    {Empty, 1}, {Mixed, 1}, {Empty, 255}, {Mixed, 1}, {Empty, 1776},
1152    {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 32775}};
1153    const static UnicodeSet::bitquad_t  __at_Set_quads[] = {
1154    0x00004000, 0x00000010, 0x00040000, 0x00004000};
1155    }
1156
1157    const static UnicodeSet at_Set{const_cast<UnicodeSet::run_t *>(__at_Set_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__at_Set_quads), 4, 0};
1158
1159    /** Code Point Ranges for ST
1160    [0021, 0021], [003f, 003f], [0589, 0589], [061f, 061f], [06d4, 06d4],
1161    [0700, 0702], [07f9, 07f9], [0964, 0965], [104a, 104b], [1362, 1362],
1162    [1367, 1368], [166e, 166e], [1735, 1736], [1803, 1803], [1809, 1809],
1163    [1944, 1945], [1aa8, 1aab], [1b5a, 1b5b], [1b5e, 1b5f], [1c3b, 1c3c],
1164    [1c7e, 1c7f], [203c, 203d], [2047, 2049], [2e2e, 2e2e], [2e3c, 2e3c],
1165    [3002, 3002], [a4ff, a4ff], [a60e, a60f], [a6f3, a6f3], [a6f7, a6f7],
1166    [a876, a877], [a8ce, a8cf], [a92f, a92f], [a9c8, a9c9], [aa5d, aa5f],
1167    [aaf0, aaf1], [abeb, abeb], [fe56, fe57], [ff01, ff01], [ff1f, ff1f],
1168    [ff61, ff61], [10a56, 10a57], [11047, 11048], [110be, 110c1],
1169    [11141, 11143], [111c5, 111c6], [111cd, 111cd], [111de, 111df],
1170    [11238, 11239], [1123b, 1123c], [112a9, 112a9], [1144b, 1144c],
1171    [115c2, 115c3], [115c9, 115d7], [11641, 11642], [1173c, 1173e],
1172    [11a42, 11a43], [11a9b, 11a9c], [11c41, 11c42], [16a6e, 16a6f],
1173    [16af5, 16af5], [16b37, 16b38], [16b44, 16b44], [1bc9f, 1bc9f],
1174    [1da88, 1da88]**/
1175
1176
1177    namespace {
1178    const static UnicodeSet::run_t __st_Set_runs[] = {
1179    {Empty, 1}, {Mixed, 1}, {Empty, 42}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1180    {Empty, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
1181    {Empty, 11}, {Mixed, 1}, {Empty, 54}, {Mixed, 1}, {Empty, 24},
1182    {Mixed, 1}, {Empty, 23}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 6},
1183    {Mixed, 1}, {Empty, 9}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 4},
1184    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 29},
1185    {Mixed, 2}, {Empty, 110}, {Mixed, 1}, {Empty, 14}, {Mixed, 1},
1186    {Empty, 934}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 6},
1187    {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 2},
1188    {Mixed, 1}, {Empty, 4}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 4},
1189    {Mixed, 1}, {Empty, 7}, {Mixed, 1}, {Empty, 658}, {Mixed, 1},
1190    {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 86}, {Mixed, 1},
1191    {Empty, 47}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
1192    {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
1193    {Empty, 12}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 3},
1194    {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 24}, {Mixed, 1}, {Empty, 1},
1195    {Mixed, 1}, {Empty, 13}, {Mixed, 1}, {Empty, 624}, {Mixed, 1},
1196    {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 649},
1197    {Mixed, 1}, {Empty, 239}, {Mixed, 1}, {Empty, 31019}};
1198    const static UnicodeSet::bitquad_t  __st_Set_quads[] = {
1199    0x80000002, 0x00000200, 0x80000000, 0x00100000, 0x00000007, 0x02000000,
1200    0x00000030, 0x00000c00, 0x00000184, 0x00004000, 0x00600000, 0x00000208,
1201    0x00000030, 0x00000f00, 0xcc000000, 0x18000000, 0xc0000000, 0x30000000,
1202    0x00000380, 0x10004000, 0x00000004, 0x80000000, 0x0000c000, 0x00880000,
1203    0x00c00000, 0x0000c000, 0x00008000, 0x00000300, 0xe0000000, 0x00030000,
1204    0x00000800, 0x00c00000, 0x80000002, 0x00000002, 0x00c00000, 0x00000180,
1205    0xc0000000, 0x00000003, 0x0000000e, 0xc0002060, 0x1b000000, 0x00000200,
1206    0x00001800, 0x00fffe0c, 0x00000006, 0x70000000, 0x0000000c, 0x18000000,
1207    0x00000006, 0x0000c000, 0x00200000, 0x01800000, 0x00000010, 0x80000000,
1208    0x00000100};
1209    }
1210
1211    const static UnicodeSet st_Set{const_cast<UnicodeSet::run_t *>(__st_Set_runs), 105, 0, const_cast<UnicodeSet::bitquad_t *>(__st_Set_quads), 55, 0};
1212
1213    /** Code Point Ranges for CL
1214    [0022, 0022], [0027, 0029], [005b, 005b], [005d, 005d], [007b, 007b],
1215    [007d, 007d], [00ab, 00ab], [00bb, 00bb], [0f3a, 0f3d], [169b, 169c],
1216    [2018, 201f], [2039, 203a], [2045, 2046], [207d, 207e], [208d, 208e],
1217    [2308, 230b], [2329, 232a], [275b, 2760], [2768, 2775], [27c5, 27c6],
1218    [27e6, 27ef], [2983, 2998], [29d8, 29db], [29fc, 29fd], [2e00, 2e0d],
1219    [2e1c, 2e1d], [2e20, 2e29], [2e42, 2e42], [3008, 3011], [3014, 301b],
1220    [301d, 301f], [fd3e, fd3f], [fe17, fe18], [fe35, fe44], [fe47, fe48],
1221    [fe59, fe5e], [ff08, ff09], [ff3b, ff3b], [ff3d, ff3d], [ff5b, ff5b],
1222    [ff5d, ff5d], [ff5f, ff60], [ff62, ff63], [1f676, 1f678]**/
1223
1224
1225    namespace {
1226    const static UnicodeSet::run_t __cl_Set_runs[] = {
1227    {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1}, {Empty, 115},
1228    {Mixed, 1}, {Empty, 58}, {Mixed, 1}, {Empty, 75}, {Mixed, 5},
1229    {Empty, 19}, {Mixed, 2}, {Empty, 32}, {Mixed, 2}, {Empty, 2},
1230    {Mixed, 2}, {Empty, 12}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
1231    {Empty, 32}, {Mixed, 3}, {Empty, 13}, {Mixed, 1}, {Empty, 1640},
1232    {Mixed, 1}, {Empty, 6}, {Mixed, 3}, {Empty, 5}, {Mixed, 4},
1233    {Empty, 1975}, {Mixed, 1}, {Empty, 30796}};
1234    const static UnicodeSet::bitquad_t  __cl_Set_quads[] = {
1235    0x00000384, 0x28000000, 0x28000000, 0x08000800, 0x3c000000, 0x18000000,
1236    0xff000000, 0x06000000, 0x00000060, 0x60000000, 0x00006000, 0x00000f00,
1237    0x00000600, 0xf8000000, 0x003fff01, 0x00000060, 0x0000ffc0, 0x01fffff8,
1238    0x0f000000, 0x30000000, 0x30003fff, 0x000003ff, 0x00000004, 0xeff3ff00,
1239    0xc0000000, 0x01800000, 0xffe00000, 0x7e00019f, 0x00000300, 0x28000000,
1240    0xa8000000, 0x0000000d, 0x01c00000};
1241    }
1242
1243    const static UnicodeSet cl_Set{const_cast<UnicodeSet::run_t *>(__cl_Set_runs), 33, 0, const_cast<UnicodeSet::bitquad_t *>(__cl_Set_quads), 33, 0};
1244
1245    /** Code Point Ranges for SC
1246    [002c, 002d], [003a, 003a], [055d, 055d], [060c, 060d], [07f8, 07f8],
1247    [1802, 1802], [1808, 1808], [2013, 2014], [3001, 3001], [fe10, fe11],
1248    [fe13, fe13], [fe31, fe32], [fe50, fe51], [fe55, fe55], [fe58, fe58],
1249    [fe63, fe63], [ff0c, ff0d], [ff1a, ff1a], [ff64, ff64]**/
1250
1251
1252    namespace {
1253    const static UnicodeSet::run_t __sc_Set_runs[] = {
1254    {Empty, 1}, {Mixed, 1}, {Empty, 40}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
1255    {Empty, 14}, {Mixed, 1}, {Empty, 128}, {Mixed, 1}, {Empty, 63},
1256    {Mixed, 1}, {Empty, 127}, {Mixed, 1}, {Empty, 1647}, {Mixed, 4},
1257    {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 32772}};
1258    const static UnicodeSet::bitquad_t  __sc_Set_quads[] = {
1259    0x04003000, 0x20000000, 0x00003000, 0x01000000, 0x00000104, 0x00180000,
1260    0x00000002, 0x000b0000, 0x00060000, 0x01230000, 0x00000008, 0x04003000,
1261    0x00000010};
1262    }
1263
1264    const static UnicodeSet sc_Set{const_cast<UnicodeSet::run_t *>(__sc_Set_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__sc_Set_quads), 13, 0};
1265
1266    static EnumeratedPropertyObject property_object
1267        {SB,
1268        SB_ns::independent_prop_values,
1269        std::move(SB_ns::enum_names),
1270        std::move(SB_ns::value_names),
1271        std::move(SB_ns::aliases_only_map),{
1272        &xx_Set, &cr_Set, &lf_Set, &ex_Set, &se_Set, &fo_Set, &sp_Set,
1273        &lo_Set, &up_Set, &le_Set, &nu_Set, &at_Set, &st_Set, &cl_Set,
1274        &sc_Set
1275        }};
1276    }
1277}
1278
1279#endif
Note: See TracBrowser for help on using the repository browser.