root/third_party/re2/re2/unicode_groups.cc

/* [<][>][^][v][top][bottom][index][help] */

// GENERATED BY make_unicode_groups.py; DO NOT EDIT.
// make_unicode_groups.py >unicode_groups.cc

#include "re2/unicode_groups.h"

namespace re2 {


static URange16 Ps_range16[] = {
        { 40, 40 },
        { 91, 91 },
        { 123, 123 },
        { 3898, 3898 },
        { 3900, 3900 },
        { 5787, 5787 },
        { 8218, 8218 },
        { 8222, 8222 },
        { 8261, 8261 },
        { 8317, 8317 },
        { 8333, 8333 },
        { 9001, 9001 },
        { 10088, 10088 },
        { 10090, 10090 },
        { 10092, 10092 },
        { 10094, 10094 },
        { 10096, 10096 },
        { 10098, 10098 },
        { 10100, 10100 },
        { 10181, 10181 },
        { 10214, 10214 },
        { 10216, 10216 },
        { 10218, 10218 },
        { 10220, 10220 },
        { 10222, 10222 },
        { 10627, 10627 },
        { 10629, 10629 },
        { 10631, 10631 },
        { 10633, 10633 },
        { 10635, 10635 },
        { 10637, 10637 },
        { 10639, 10639 },
        { 10641, 10641 },
        { 10643, 10643 },
        { 10645, 10645 },
        { 10647, 10647 },
        { 10712, 10712 },
        { 10714, 10714 },
        { 10748, 10748 },
        { 11810, 11810 },
        { 11812, 11812 },
        { 11814, 11814 },
        { 11816, 11816 },
        { 12296, 12296 },
        { 12298, 12298 },
        { 12300, 12300 },
        { 12302, 12302 },
        { 12304, 12304 },
        { 12308, 12308 },
        { 12310, 12310 },
        { 12312, 12312 },
        { 12314, 12314 },
        { 12317, 12317 },
        { 64830, 64830 },
        { 65047, 65047 },
        { 65077, 65077 },
        { 65079, 65079 },
        { 65081, 65081 },
        { 65083, 65083 },
        { 65085, 65085 },
        { 65087, 65087 },
        { 65089, 65089 },
        { 65091, 65091 },
        { 65095, 65095 },
        { 65113, 65113 },
        { 65115, 65115 },
        { 65117, 65117 },
        { 65288, 65288 },
        { 65339, 65339 },
        { 65371, 65371 },
        { 65375, 65375 },
        { 65378, 65378 },
};
static URange16 Nl_range16[] = {
        { 5870, 5872 },
        { 8544, 8578 },
        { 8581, 8584 },
        { 12295, 12295 },
        { 12321, 12329 },
        { 12344, 12346 },
        { 42726, 42735 },
};
static URange32 Nl_range32[] = {
        { 65856, 65908 },
        { 66369, 66369 },
        { 66378, 66378 },
        { 66513, 66517 },
        { 74752, 74850 },
};
static URange16 No_range16[] = {
        { 178, 179 },
        { 185, 185 },
        { 188, 190 },
        { 2548, 2553 },
        { 2930, 2935 },
        { 3056, 3058 },
        { 3192, 3198 },
        { 3440, 3445 },
        { 3882, 3891 },
        { 4969, 4988 },
        { 6128, 6137 },
        { 6618, 6618 },
        { 8304, 8304 },
        { 8308, 8313 },
        { 8320, 8329 },
        { 8528, 8543 },
        { 8585, 8585 },
        { 9312, 9371 },
        { 9450, 9471 },
        { 10102, 10131 },
        { 11517, 11517 },
        { 12690, 12693 },
        { 12832, 12841 },
        { 12881, 12895 },
        { 12928, 12937 },
        { 12977, 12991 },
        { 43056, 43061 },
};
static URange32 No_range32[] = {
        { 65799, 65843 },
        { 65909, 65912 },
        { 65930, 65930 },
        { 66336, 66339 },
        { 67672, 67679 },
        { 67862, 67867 },
        { 68160, 68167 },
        { 68221, 68222 },
        { 68440, 68447 },
        { 68472, 68479 },
        { 69216, 69246 },
        { 69714, 69733 },
        { 119648, 119665 },
        { 127232, 127242 },
};
static URange16 Lo_range16[] = {
        { 443, 443 },
        { 448, 451 },
        { 660, 660 },
        { 1488, 1514 },
        { 1520, 1522 },
        { 1568, 1599 },
        { 1601, 1610 },
        { 1646, 1647 },
        { 1649, 1747 },
        { 1749, 1749 },
        { 1774, 1775 },
        { 1786, 1788 },
        { 1791, 1791 },
        { 1808, 1808 },
        { 1810, 1839 },
        { 1869, 1957 },
        { 1969, 1969 },
        { 1994, 2026 },
        { 2048, 2069 },
        { 2112, 2136 },
        { 2308, 2361 },
        { 2365, 2365 },
        { 2384, 2384 },
        { 2392, 2401 },
        { 2418, 2423 },
        { 2425, 2431 },
        { 2437, 2444 },
        { 2447, 2448 },
        { 2451, 2472 },
        { 2474, 2480 },
        { 2482, 2482 },
        { 2486, 2489 },
        { 2493, 2493 },
        { 2510, 2510 },
        { 2524, 2525 },
        { 2527, 2529 },
        { 2544, 2545 },
        { 2565, 2570 },
        { 2575, 2576 },
        { 2579, 2600 },
        { 2602, 2608 },
        { 2610, 2611 },
        { 2613, 2614 },
        { 2616, 2617 },
        { 2649, 2652 },
        { 2654, 2654 },
        { 2674, 2676 },
        { 2693, 2701 },
        { 2703, 2705 },
        { 2707, 2728 },
        { 2730, 2736 },
        { 2738, 2739 },
        { 2741, 2745 },
        { 2749, 2749 },
        { 2768, 2768 },
        { 2784, 2785 },
        { 2821, 2828 },
        { 2831, 2832 },
        { 2835, 2856 },
        { 2858, 2864 },
        { 2866, 2867 },
        { 2869, 2873 },
        { 2877, 2877 },
        { 2908, 2909 },
        { 2911, 2913 },
        { 2929, 2929 },
        { 2947, 2947 },
        { 2949, 2954 },
        { 2958, 2960 },
        { 2962, 2965 },
        { 2969, 2970 },
        { 2972, 2972 },
        { 2974, 2975 },
        { 2979, 2980 },
        { 2984, 2986 },
        { 2990, 3001 },
        { 3024, 3024 },
        { 3077, 3084 },
        { 3086, 3088 },
        { 3090, 3112 },
        { 3114, 3123 },
        { 3125, 3129 },
        { 3133, 3133 },
        { 3160, 3161 },
        { 3168, 3169 },
        { 3205, 3212 },
        { 3214, 3216 },
        { 3218, 3240 },
        { 3242, 3251 },
        { 3253, 3257 },
        { 3261, 3261 },
        { 3294, 3294 },
        { 3296, 3297 },
        { 3313, 3314 },
        { 3333, 3340 },
        { 3342, 3344 },
        { 3346, 3386 },
        { 3389, 3389 },
        { 3406, 3406 },
        { 3424, 3425 },
        { 3450, 3455 },
        { 3461, 3478 },
        { 3482, 3505 },
        { 3507, 3515 },
        { 3517, 3517 },
        { 3520, 3526 },
        { 3585, 3632 },
        { 3634, 3635 },
        { 3648, 3653 },
        { 3713, 3714 },
        { 3716, 3716 },
        { 3719, 3720 },
        { 3722, 3722 },
        { 3725, 3725 },
        { 3732, 3735 },
        { 3737, 3743 },
        { 3745, 3747 },
        { 3749, 3749 },
        { 3751, 3751 },
        { 3754, 3755 },
        { 3757, 3760 },
        { 3762, 3763 },
        { 3773, 3773 },
        { 3776, 3780 },
        { 3804, 3805 },
        { 3840, 3840 },
        { 3904, 3911 },
        { 3913, 3948 },
        { 3976, 3980 },
        { 4096, 4138 },
        { 4159, 4159 },
        { 4176, 4181 },
        { 4186, 4189 },
        { 4193, 4193 },
        { 4197, 4198 },
        { 4206, 4208 },
        { 4213, 4225 },
        { 4238, 4238 },
        { 4304, 4346 },
        { 4352, 4680 },
        { 4682, 4685 },
        { 4688, 4694 },
        { 4696, 4696 },
        { 4698, 4701 },
        { 4704, 4744 },
        { 4746, 4749 },
        { 4752, 4784 },
        { 4786, 4789 },
        { 4792, 4798 },
        { 4800, 4800 },
        { 4802, 4805 },
        { 4808, 4822 },
        { 4824, 4880 },
        { 4882, 4885 },
        { 4888, 4954 },
        { 4992, 5007 },
        { 5024, 5108 },
        { 5121, 5740 },
        { 5743, 5759 },
        { 5761, 5786 },
        { 5792, 5866 },
        { 5888, 5900 },
        { 5902, 5905 },
        { 5920, 5937 },
        { 5952, 5969 },
        { 5984, 5996 },
        { 5998, 6000 },
        { 6016, 6067 },
        { 6108, 6108 },
        { 6176, 6210 },
        { 6212, 6263 },
        { 6272, 6312 },
        { 6314, 6314 },
        { 6320, 6389 },
        { 6400, 6428 },
        { 6480, 6509 },
        { 6512, 6516 },
        { 6528, 6571 },
        { 6593, 6599 },
        { 6656, 6678 },
        { 6688, 6740 },
        { 6917, 6963 },
        { 6981, 6987 },
        { 7043, 7072 },
        { 7086, 7087 },
        { 7104, 7141 },
        { 7168, 7203 },
        { 7245, 7247 },
        { 7258, 7287 },
        { 7401, 7404 },
        { 7406, 7409 },
        { 8501, 8504 },
        { 11568, 11621 },
        { 11648, 11670 },
        { 11680, 11686 },
        { 11688, 11694 },
        { 11696, 11702 },
        { 11704, 11710 },
        { 11712, 11718 },
        { 11720, 11726 },
        { 11728, 11734 },
        { 11736, 11742 },
        { 12294, 12294 },
        { 12348, 12348 },
        { 12353, 12438 },
        { 12447, 12447 },
        { 12449, 12538 },
        { 12543, 12543 },
        { 12549, 12589 },
        { 12593, 12686 },
        { 12704, 12730 },
        { 12784, 12799 },
        { 13312, 19893 },
        { 19968, 40907 },
        { 40960, 40980 },
        { 40982, 42124 },
        { 42192, 42231 },
        { 42240, 42507 },
        { 42512, 42527 },
        { 42538, 42539 },
        { 42606, 42606 },
        { 42656, 42725 },
        { 43003, 43009 },
        { 43011, 43013 },
        { 43015, 43018 },
        { 43020, 43042 },
        { 43072, 43123 },
        { 43138, 43187 },
        { 43250, 43255 },
        { 43259, 43259 },
        { 43274, 43301 },
        { 43312, 43334 },
        { 43360, 43388 },
        { 43396, 43442 },
        { 43520, 43560 },
        { 43584, 43586 },
        { 43588, 43595 },
        { 43616, 43631 },
        { 43633, 43638 },
        { 43642, 43642 },
        { 43648, 43695 },
        { 43697, 43697 },
        { 43701, 43702 },
        { 43705, 43709 },
        { 43712, 43712 },
        { 43714, 43714 },
        { 43739, 43740 },
        { 43777, 43782 },
        { 43785, 43790 },
        { 43793, 43798 },
        { 43808, 43814 },
        { 43816, 43822 },
        { 43968, 44002 },
        { 44032, 55203 },
        { 55216, 55238 },
        { 55243, 55291 },
        { 63744, 64045 },
        { 64048, 64109 },
        { 64112, 64217 },
        { 64285, 64285 },
        { 64287, 64296 },
        { 64298, 64310 },
        { 64312, 64316 },
        { 64318, 64318 },
        { 64320, 64321 },
        { 64323, 64324 },
        { 64326, 64433 },
        { 64467, 64829 },
        { 64848, 64911 },
        { 64914, 64967 },
        { 65008, 65019 },
        { 65136, 65140 },
        { 65142, 65276 },
        { 65382, 65391 },
        { 65393, 65437 },
        { 65440, 65470 },
        { 65474, 65479 },
        { 65482, 65487 },
        { 65490, 65495 },
        { 65498, 65500 },
};
static URange32 Lo_range32[] = {
        { 65536, 65547 },
        { 65549, 65574 },
        { 65576, 65594 },
        { 65596, 65597 },
        { 65599, 65613 },
        { 65616, 65629 },
        { 65664, 65786 },
        { 66176, 66204 },
        { 66208, 66256 },
        { 66304, 66334 },
        { 66352, 66368 },
        { 66370, 66377 },
        { 66432, 66461 },
        { 66464, 66499 },
        { 66504, 66511 },
        { 66640, 66717 },
        { 67584, 67589 },
        { 67592, 67592 },
        { 67594, 67637 },
        { 67639, 67640 },
        { 67644, 67644 },
        { 67647, 67669 },
        { 67840, 67861 },
        { 67872, 67897 },
        { 68096, 68096 },
        { 68112, 68115 },
        { 68117, 68119 },
        { 68121, 68147 },
        { 68192, 68220 },
        { 68352, 68405 },
        { 68416, 68437 },
        { 68448, 68466 },
        { 68608, 68680 },
        { 69635, 69687 },
        { 69763, 69807 },
        { 73728, 74606 },
        { 77824, 78894 },
        { 92160, 92728 },
        { 110592, 110593 },
        { 131072, 173782 },
        { 173824, 177972 },
        { 177984, 178205 },
        { 194560, 195101 },
};
static URange16 Ll_range16[] = {
        { 97, 122 },
        { 170, 170 },
        { 181, 181 },
        { 186, 186 },
        { 223, 246 },
        { 248, 255 },
        { 257, 257 },
        { 259, 259 },
        { 261, 261 },
        { 263, 263 },
        { 265, 265 },
        { 267, 267 },
        { 269, 269 },
        { 271, 271 },
        { 273, 273 },
        { 275, 275 },
        { 277, 277 },
        { 279, 279 },
        { 281, 281 },
        { 283, 283 },
        { 285, 285 },
        { 287, 287 },
        { 289, 289 },
        { 291, 291 },
        { 293, 293 },
        { 295, 295 },
        { 297, 297 },
        { 299, 299 },
        { 301, 301 },
        { 303, 303 },
        { 305, 305 },
        { 307, 307 },
        { 309, 309 },
        { 311, 312 },
        { 314, 314 },
        { 316, 316 },
        { 318, 318 },
        { 320, 320 },
        { 322, 322 },
        { 324, 324 },
        { 326, 326 },
        { 328, 329 },
        { 331, 331 },
        { 333, 333 },
        { 335, 335 },
        { 337, 337 },
        { 339, 339 },
        { 341, 341 },
        { 343, 343 },
        { 345, 345 },
        { 347, 347 },
        { 349, 349 },
        { 351, 351 },
        { 353, 353 },
        { 355, 355 },
        { 357, 357 },
        { 359, 359 },
        { 361, 361 },
        { 363, 363 },
        { 365, 365 },
        { 367, 367 },
        { 369, 369 },
        { 371, 371 },
        { 373, 373 },
        { 375, 375 },
        { 378, 378 },
        { 380, 380 },
        { 382, 384 },
        { 387, 387 },
        { 389, 389 },
        { 392, 392 },
        { 396, 397 },
        { 402, 402 },
        { 405, 405 },
        { 409, 411 },
        { 414, 414 },
        { 417, 417 },
        { 419, 419 },
        { 421, 421 },
        { 424, 424 },
        { 426, 427 },
        { 429, 429 },
        { 432, 432 },
        { 436, 436 },
        { 438, 438 },
        { 441, 442 },
        { 445, 447 },
        { 454, 454 },
        { 457, 457 },
        { 460, 460 },
        { 462, 462 },
        { 464, 464 },
        { 466, 466 },
        { 468, 468 },
        { 470, 470 },
        { 472, 472 },
        { 474, 474 },
        { 476, 477 },
        { 479, 479 },
        { 481, 481 },
        { 483, 483 },
        { 485, 485 },
        { 487, 487 },
        { 489, 489 },
        { 491, 491 },
        { 493, 493 },
        { 495, 496 },
        { 499, 499 },
        { 501, 501 },
        { 505, 505 },
        { 507, 507 },
        { 509, 509 },
        { 511, 511 },
        { 513, 513 },
        { 515, 515 },
        { 517, 517 },
        { 519, 519 },
        { 521, 521 },
        { 523, 523 },
        { 525, 525 },
        { 527, 527 },
        { 529, 529 },
        { 531, 531 },
        { 533, 533 },
        { 535, 535 },
        { 537, 537 },
        { 539, 539 },
        { 541, 541 },
        { 543, 543 },
        { 545, 545 },
        { 547, 547 },
        { 549, 549 },
        { 551, 551 },
        { 553, 553 },
        { 555, 555 },
        { 557, 557 },
        { 559, 559 },
        { 561, 561 },
        { 563, 569 },
        { 572, 572 },
        { 575, 576 },
        { 578, 578 },
        { 583, 583 },
        { 585, 585 },
        { 587, 587 },
        { 589, 589 },
        { 591, 659 },
        { 661, 687 },
        { 881, 881 },
        { 883, 883 },
        { 887, 887 },
        { 891, 893 },
        { 912, 912 },
        { 940, 974 },
        { 976, 977 },
        { 981, 983 },
        { 985, 985 },
        { 987, 987 },
        { 989, 989 },
        { 991, 991 },
        { 993, 993 },
        { 995, 995 },
        { 997, 997 },
        { 999, 999 },
        { 1001, 1001 },
        { 1003, 1003 },
        { 1005, 1005 },
        { 1007, 1011 },
        { 1013, 1013 },
        { 1016, 1016 },
        { 1019, 1020 },
        { 1072, 1119 },
        { 1121, 1121 },
        { 1123, 1123 },
        { 1125, 1125 },
        { 1127, 1127 },
        { 1129, 1129 },
        { 1131, 1131 },
        { 1133, 1133 },
        { 1135, 1135 },
        { 1137, 1137 },
        { 1139, 1139 },
        { 1141, 1141 },
        { 1143, 1143 },
        { 1145, 1145 },
        { 1147, 1147 },
        { 1149, 1149 },
        { 1151, 1151 },
        { 1153, 1153 },
        { 1163, 1163 },
        { 1165, 1165 },
        { 1167, 1167 },
        { 1169, 1169 },
        { 1171, 1171 },
        { 1173, 1173 },
        { 1175, 1175 },
        { 1177, 1177 },
        { 1179, 1179 },
        { 1181, 1181 },
        { 1183, 1183 },
        { 1185, 1185 },
        { 1187, 1187 },
        { 1189, 1189 },
        { 1191, 1191 },
        { 1193, 1193 },
        { 1195, 1195 },
        { 1197, 1197 },
        { 1199, 1199 },
        { 1201, 1201 },
        { 1203, 1203 },
        { 1205, 1205 },
        { 1207, 1207 },
        { 1209, 1209 },
        { 1211, 1211 },
        { 1213, 1213 },
        { 1215, 1215 },
        { 1218, 1218 },
        { 1220, 1220 },
        { 1222, 1222 },
        { 1224, 1224 },
        { 1226, 1226 },
        { 1228, 1228 },
        { 1230, 1231 },
        { 1233, 1233 },
        { 1235, 1235 },
        { 1237, 1237 },
        { 1239, 1239 },
        { 1241, 1241 },
        { 1243, 1243 },
        { 1245, 1245 },
        { 1247, 1247 },
        { 1249, 1249 },
        { 1251, 1251 },
        { 1253, 1253 },
        { 1255, 1255 },
        { 1257, 1257 },
        { 1259, 1259 },
        { 1261, 1261 },
        { 1263, 1263 },
        { 1265, 1265 },
        { 1267, 1267 },
        { 1269, 1269 },
        { 1271, 1271 },
        { 1273, 1273 },
        { 1275, 1275 },
        { 1277, 1277 },
        { 1279, 1279 },
        { 1281, 1281 },
        { 1283, 1283 },
        { 1285, 1285 },
        { 1287, 1287 },
        { 1289, 1289 },
        { 1291, 1291 },
        { 1293, 1293 },
        { 1295, 1295 },
        { 1297, 1297 },
        { 1299, 1299 },
        { 1301, 1301 },
        { 1303, 1303 },
        { 1305, 1305 },
        { 1307, 1307 },
        { 1309, 1309 },
        { 1311, 1311 },
        { 1313, 1313 },
        { 1315, 1315 },
        { 1317, 1317 },
        { 1319, 1319 },
        { 1377, 1415 },
        { 7424, 7467 },
        { 7522, 7543 },
        { 7545, 7578 },
        { 7681, 7681 },
        { 7683, 7683 },
        { 7685, 7685 },
        { 7687, 7687 },
        { 7689, 7689 },
        { 7691, 7691 },
        { 7693, 7693 },
        { 7695, 7695 },
        { 7697, 7697 },
        { 7699, 7699 },
        { 7701, 7701 },
        { 7703, 7703 },
        { 7705, 7705 },
        { 7707, 7707 },
        { 7709, 7709 },
        { 7711, 7711 },
        { 7713, 7713 },
        { 7715, 7715 },
        { 7717, 7717 },
        { 7719, 7719 },
        { 7721, 7721 },
        { 7723, 7723 },
        { 7725, 7725 },
        { 7727, 7727 },
        { 7729, 7729 },
        { 7731, 7731 },
        { 7733, 7733 },
        { 7735, 7735 },
        { 7737, 7737 },
        { 7739, 7739 },
        { 7741, 7741 },
        { 7743, 7743 },
        { 7745, 7745 },
        { 7747, 7747 },
        { 7749, 7749 },
        { 7751, 7751 },
        { 7753, 7753 },
        { 7755, 7755 },
        { 7757, 7757 },
        { 7759, 7759 },
        { 7761, 7761 },
        { 7763, 7763 },
        { 7765, 7765 },
        { 7767, 7767 },
        { 7769, 7769 },
        { 7771, 7771 },
        { 7773, 7773 },
        { 7775, 7775 },
        { 7777, 7777 },
        { 7779, 7779 },
        { 7781, 7781 },
        { 7783, 7783 },
        { 7785, 7785 },
        { 7787, 7787 },
        { 7789, 7789 },
        { 7791, 7791 },
        { 7793, 7793 },
        { 7795, 7795 },
        { 7797, 7797 },
        { 7799, 7799 },
        { 7801, 7801 },
        { 7803, 7803 },
        { 7805, 7805 },
        { 7807, 7807 },
        { 7809, 7809 },
        { 7811, 7811 },
        { 7813, 7813 },
        { 7815, 7815 },
        { 7817, 7817 },
        { 7819, 7819 },
        { 7821, 7821 },
        { 7823, 7823 },
        { 7825, 7825 },
        { 7827, 7827 },
        { 7829, 7837 },
        { 7839, 7839 },
        { 7841, 7841 },
        { 7843, 7843 },
        { 7845, 7845 },
        { 7847, 7847 },
        { 7849, 7849 },
        { 7851, 7851 },
        { 7853, 7853 },
        { 7855, 7855 },
        { 7857, 7857 },
        { 7859, 7859 },
        { 7861, 7861 },
        { 7863, 7863 },
        { 7865, 7865 },
        { 7867, 7867 },
        { 7869, 7869 },
        { 7871, 7871 },
        { 7873, 7873 },
        { 7875, 7875 },
        { 7877, 7877 },
        { 7879, 7879 },
        { 7881, 7881 },
        { 7883, 7883 },
        { 7885, 7885 },
        { 7887, 7887 },
        { 7889, 7889 },
        { 7891, 7891 },
        { 7893, 7893 },
        { 7895, 7895 },
        { 7897, 7897 },
        { 7899, 7899 },
        { 7901, 7901 },
        { 7903, 7903 },
        { 7905, 7905 },
        { 7907, 7907 },
        { 7909, 7909 },
        { 7911, 7911 },
        { 7913, 7913 },
        { 7915, 7915 },
        { 7917, 7917 },
        { 7919, 7919 },
        { 7921, 7921 },
        { 7923, 7923 },
        { 7925, 7925 },
        { 7927, 7927 },
        { 7929, 7929 },
        { 7931, 7931 },
        { 7933, 7933 },
        { 7935, 7943 },
        { 7952, 7957 },
        { 7968, 7975 },
        { 7984, 7991 },
        { 8000, 8005 },
        { 8016, 8023 },
        { 8032, 8039 },
        { 8048, 8061 },
        { 8064, 8071 },
        { 8080, 8087 },
        { 8096, 8103 },
        { 8112, 8116 },
        { 8118, 8119 },
        { 8126, 8126 },
        { 8130, 8132 },
        { 8134, 8135 },
        { 8144, 8147 },
        { 8150, 8151 },
        { 8160, 8167 },
        { 8178, 8180 },
        { 8182, 8183 },
        { 8458, 8458 },
        { 8462, 8463 },
        { 8467, 8467 },
        { 8495, 8495 },
        { 8500, 8500 },
        { 8505, 8505 },
        { 8508, 8509 },
        { 8518, 8521 },
        { 8526, 8526 },
        { 8580, 8580 },
        { 11312, 11358 },
        { 11361, 11361 },
        { 11365, 11366 },
        { 11368, 11368 },
        { 11370, 11370 },
        { 11372, 11372 },
        { 11377, 11377 },
        { 11379, 11380 },
        { 11382, 11388 },
        { 11393, 11393 },
        { 11395, 11395 },
        { 11397, 11397 },
        { 11399, 11399 },
        { 11401, 11401 },
        { 11403, 11403 },
        { 11405, 11405 },
        { 11407, 11407 },
        { 11409, 11409 },
        { 11411, 11411 },
        { 11413, 11413 },
        { 11415, 11415 },
        { 11417, 11417 },
        { 11419, 11419 },
        { 11421, 11421 },
        { 11423, 11423 },
        { 11425, 11425 },
        { 11427, 11427 },
        { 11429, 11429 },
        { 11431, 11431 },
        { 11433, 11433 },
        { 11435, 11435 },
        { 11437, 11437 },
        { 11439, 11439 },
        { 11441, 11441 },
        { 11443, 11443 },
        { 11445, 11445 },
        { 11447, 11447 },
        { 11449, 11449 },
        { 11451, 11451 },
        { 11453, 11453 },
        { 11455, 11455 },
        { 11457, 11457 },
        { 11459, 11459 },
        { 11461, 11461 },
        { 11463, 11463 },
        { 11465, 11465 },
        { 11467, 11467 },
        { 11469, 11469 },
        { 11471, 11471 },
        { 11473, 11473 },
        { 11475, 11475 },
        { 11477, 11477 },
        { 11479, 11479 },
        { 11481, 11481 },
        { 11483, 11483 },
        { 11485, 11485 },
        { 11487, 11487 },
        { 11489, 11489 },
        { 11491, 11492 },
        { 11500, 11500 },
        { 11502, 11502 },
        { 11520, 11557 },
        { 42561, 42561 },
        { 42563, 42563 },
        { 42565, 42565 },
        { 42567, 42567 },
        { 42569, 42569 },
        { 42571, 42571 },
        { 42573, 42573 },
        { 42575, 42575 },
        { 42577, 42577 },
        { 42579, 42579 },
        { 42581, 42581 },
        { 42583, 42583 },
        { 42585, 42585 },
        { 42587, 42587 },
        { 42589, 42589 },
        { 42591, 42591 },
        { 42593, 42593 },
        { 42595, 42595 },
        { 42597, 42597 },
        { 42599, 42599 },
        { 42601, 42601 },
        { 42603, 42603 },
        { 42605, 42605 },
        { 42625, 42625 },
        { 42627, 42627 },
        { 42629, 42629 },
        { 42631, 42631 },
        { 42633, 42633 },
        { 42635, 42635 },
        { 42637, 42637 },
        { 42639, 42639 },
        { 42641, 42641 },
        { 42643, 42643 },
        { 42645, 42645 },
        { 42647, 42647 },
        { 42787, 42787 },
        { 42789, 42789 },
        { 42791, 42791 },
        { 42793, 42793 },
        { 42795, 42795 },
        { 42797, 42797 },
        { 42799, 42801 },
        { 42803, 42803 },
        { 42805, 42805 },
        { 42807, 42807 },
        { 42809, 42809 },
        { 42811, 42811 },
        { 42813, 42813 },
        { 42815, 42815 },
        { 42817, 42817 },
        { 42819, 42819 },
        { 42821, 42821 },
        { 42823, 42823 },
        { 42825, 42825 },
        { 42827, 42827 },
        { 42829, 42829 },
        { 42831, 42831 },
        { 42833, 42833 },
        { 42835, 42835 },
        { 42837, 42837 },
        { 42839, 42839 },
        { 42841, 42841 },
        { 42843, 42843 },
        { 42845, 42845 },
        { 42847, 42847 },
        { 42849, 42849 },
        { 42851, 42851 },
        { 42853, 42853 },
        { 42855, 42855 },
        { 42857, 42857 },
        { 42859, 42859 },
        { 42861, 42861 },
        { 42863, 42863 },
        { 42865, 42872 },
        { 42874, 42874 },
        { 42876, 42876 },
        { 42879, 42879 },
        { 42881, 42881 },
        { 42883, 42883 },
        { 42885, 42885 },
        { 42887, 42887 },
        { 42892, 42892 },
        { 42894, 42894 },
        { 42897, 42897 },
        { 42913, 42913 },
        { 42915, 42915 },
        { 42917, 42917 },
        { 42919, 42919 },
        { 42921, 42921 },
        { 43002, 43002 },
        { 64256, 64262 },
        { 64275, 64279 },
        { 65345, 65370 },
};
static URange32 Ll_range32[] = {
        { 66600, 66639 },
        { 119834, 119859 },
        { 119886, 119892 },
        { 119894, 119911 },
        { 119938, 119963 },
        { 119990, 119993 },
        { 119995, 119995 },
        { 119997, 120003 },
        { 120005, 120015 },
        { 120042, 120067 },
        { 120094, 120119 },
        { 120146, 120171 },
        { 120198, 120223 },
        { 120250, 120275 },
        { 120302, 120327 },
        { 120354, 120379 },
        { 120406, 120431 },
        { 120458, 120485 },
        { 120514, 120538 },
        { 120540, 120545 },
        { 120572, 120596 },
        { 120598, 120603 },
        { 120630, 120654 },
        { 120656, 120661 },
        { 120688, 120712 },
        { 120714, 120719 },
        { 120746, 120770 },
        { 120772, 120777 },
        { 120779, 120779 },
};
static URange16 Lm_range16[] = {
        { 688, 705 },
        { 710, 721 },
        { 736, 740 },
        { 748, 748 },
        { 750, 750 },
        { 884, 884 },
        { 890, 890 },
        { 1369, 1369 },
        { 1600, 1600 },
        { 1765, 1766 },
        { 2036, 2037 },
        { 2042, 2042 },
        { 2074, 2074 },
        { 2084, 2084 },
        { 2088, 2088 },
        { 2417, 2417 },
        { 3654, 3654 },
        { 3782, 3782 },
        { 4348, 4348 },
        { 6103, 6103 },
        { 6211, 6211 },
        { 6823, 6823 },
        { 7288, 7293 },
        { 7468, 7521 },
        { 7544, 7544 },
        { 7579, 7615 },
        { 8305, 8305 },
        { 8319, 8319 },
        { 8336, 8348 },
        { 11389, 11389 },
        { 11631, 11631 },
        { 11823, 11823 },
        { 12293, 12293 },
        { 12337, 12341 },
        { 12347, 12347 },
        { 12445, 12446 },
        { 12540, 12542 },
        { 40981, 40981 },
        { 42232, 42237 },
        { 42508, 42508 },
        { 42623, 42623 },
        { 42775, 42783 },
        { 42864, 42864 },
        { 42888, 42888 },
        { 43471, 43471 },
        { 43632, 43632 },
        { 43741, 43741 },
        { 65392, 65392 },
        { 65438, 65439 },
};
static URange16 Nd_range16[] = {
        { 48, 57 },
        { 1632, 1641 },
        { 1776, 1785 },
        { 1984, 1993 },
        { 2406, 2415 },
        { 2534, 2543 },
        { 2662, 2671 },
        { 2790, 2799 },
        { 2918, 2927 },
        { 3046, 3055 },
        { 3174, 3183 },
        { 3302, 3311 },
        { 3430, 3439 },
        { 3664, 3673 },
        { 3792, 3801 },
        { 3872, 3881 },
        { 4160, 4169 },
        { 4240, 4249 },
        { 6112, 6121 },
        { 6160, 6169 },
        { 6470, 6479 },
        { 6608, 6617 },
        { 6784, 6793 },
        { 6800, 6809 },
        { 6992, 7001 },
        { 7088, 7097 },
        { 7232, 7241 },
        { 7248, 7257 },
        { 42528, 42537 },
        { 43216, 43225 },
        { 43264, 43273 },
        { 43472, 43481 },
        { 43600, 43609 },
        { 44016, 44025 },
        { 65296, 65305 },
};
static URange32 Nd_range32[] = {
        { 66720, 66729 },
        { 69734, 69743 },
        { 120782, 120831 },
};
static URange16 Pc_range16[] = {
        { 95, 95 },
        { 8255, 8256 },
        { 8276, 8276 },
        { 65075, 65076 },
        { 65101, 65103 },
        { 65343, 65343 },
};
static URange16 Lt_range16[] = {
        { 453, 453 },
        { 456, 456 },
        { 459, 459 },
        { 498, 498 },
        { 8072, 8079 },
        { 8088, 8095 },
        { 8104, 8111 },
        { 8124, 8124 },
        { 8140, 8140 },
        { 8188, 8188 },
};
static URange16 Lu_range16[] = {
        { 65, 90 },
        { 192, 214 },
        { 216, 222 },
        { 256, 256 },
        { 258, 258 },
        { 260, 260 },
        { 262, 262 },
        { 264, 264 },
        { 266, 266 },
        { 268, 268 },
        { 270, 270 },
        { 272, 272 },
        { 274, 274 },
        { 276, 276 },
        { 278, 278 },
        { 280, 280 },
        { 282, 282 },
        { 284, 284 },
        { 286, 286 },
        { 288, 288 },
        { 290, 290 },
        { 292, 292 },
        { 294, 294 },
        { 296, 296 },
        { 298, 298 },
        { 300, 300 },
        { 302, 302 },
        { 304, 304 },
        { 306, 306 },
        { 308, 308 },
        { 310, 310 },
        { 313, 313 },
        { 315, 315 },
        { 317, 317 },
        { 319, 319 },
        { 321, 321 },
        { 323, 323 },
        { 325, 325 },
        { 327, 327 },
        { 330, 330 },
        { 332, 332 },
        { 334, 334 },
        { 336, 336 },
        { 338, 338 },
        { 340, 340 },
        { 342, 342 },
        { 344, 344 },
        { 346, 346 },
        { 348, 348 },
        { 350, 350 },
        { 352, 352 },
        { 354, 354 },
        { 356, 356 },
        { 358, 358 },
        { 360, 360 },
        { 362, 362 },
        { 364, 364 },
        { 366, 366 },
        { 368, 368 },
        { 370, 370 },
        { 372, 372 },
        { 374, 374 },
        { 376, 377 },
        { 379, 379 },
        { 381, 381 },
        { 385, 386 },
        { 388, 388 },
        { 390, 391 },
        { 393, 395 },
        { 398, 401 },
        { 403, 404 },
        { 406, 408 },
        { 412, 413 },
        { 415, 416 },
        { 418, 418 },
        { 420, 420 },
        { 422, 423 },
        { 425, 425 },
        { 428, 428 },
        { 430, 431 },
        { 433, 435 },
        { 437, 437 },
        { 439, 440 },
        { 444, 444 },
        { 452, 452 },
        { 455, 455 },
        { 458, 458 },
        { 461, 461 },
        { 463, 463 },
        { 465, 465 },
        { 467, 467 },
        { 469, 469 },
        { 471, 471 },
        { 473, 473 },
        { 475, 475 },
        { 478, 478 },
        { 480, 480 },
        { 482, 482 },
        { 484, 484 },
        { 486, 486 },
        { 488, 488 },
        { 490, 490 },
        { 492, 492 },
        { 494, 494 },
        { 497, 497 },
        { 500, 500 },
        { 502, 504 },
        { 506, 506 },
        { 508, 508 },
        { 510, 510 },
        { 512, 512 },
        { 514, 514 },
        { 516, 516 },
        { 518, 518 },
        { 520, 520 },
        { 522, 522 },
        { 524, 524 },
        { 526, 526 },
        { 528, 528 },
        { 530, 530 },
        { 532, 532 },
        { 534, 534 },
        { 536, 536 },
        { 538, 538 },
        { 540, 540 },
        { 542, 542 },
        { 544, 544 },
        { 546, 546 },
        { 548, 548 },
        { 550, 550 },
        { 552, 552 },
        { 554, 554 },
        { 556, 556 },
        { 558, 558 },
        { 560, 560 },
        { 562, 562 },
        { 570, 571 },
        { 573, 574 },
        { 577, 577 },
        { 579, 582 },
        { 584, 584 },
        { 586, 586 },
        { 588, 588 },
        { 590, 590 },
        { 880, 880 },
        { 882, 882 },
        { 886, 886 },
        { 902, 902 },
        { 904, 906 },
        { 908, 908 },
        { 910, 911 },
        { 913, 929 },
        { 931, 939 },
        { 975, 975 },
        { 978, 980 },
        { 984, 984 },
        { 986, 986 },
        { 988, 988 },
        { 990, 990 },
        { 992, 992 },
        { 994, 994 },
        { 996, 996 },
        { 998, 998 },
        { 1000, 1000 },
        { 1002, 1002 },
        { 1004, 1004 },
        { 1006, 1006 },
        { 1012, 1012 },
        { 1015, 1015 },
        { 1017, 1018 },
        { 1021, 1071 },
        { 1120, 1120 },
        { 1122, 1122 },
        { 1124, 1124 },
        { 1126, 1126 },
        { 1128, 1128 },
        { 1130, 1130 },
        { 1132, 1132 },
        { 1134, 1134 },
        { 1136, 1136 },
        { 1138, 1138 },
        { 1140, 1140 },
        { 1142, 1142 },
        { 1144, 1144 },
        { 1146, 1146 },
        { 1148, 1148 },
        { 1150, 1150 },
        { 1152, 1152 },
        { 1162, 1162 },
        { 1164, 1164 },
        { 1166, 1166 },
        { 1168, 1168 },
        { 1170, 1170 },
        { 1172, 1172 },
        { 1174, 1174 },
        { 1176, 1176 },
        { 1178, 1178 },
        { 1180, 1180 },
        { 1182, 1182 },
        { 1184, 1184 },
        { 1186, 1186 },
        { 1188, 1188 },
        { 1190, 1190 },
        { 1192, 1192 },
        { 1194, 1194 },
        { 1196, 1196 },
        { 1198, 1198 },
        { 1200, 1200 },
        { 1202, 1202 },
        { 1204, 1204 },
        { 1206, 1206 },
        { 1208, 1208 },
        { 1210, 1210 },
        { 1212, 1212 },
        { 1214, 1214 },
        { 1216, 1217 },
        { 1219, 1219 },
        { 1221, 1221 },
        { 1223, 1223 },
        { 1225, 1225 },
        { 1227, 1227 },
        { 1229, 1229 },
        { 1232, 1232 },
        { 1234, 1234 },
        { 1236, 1236 },
        { 1238, 1238 },
        { 1240, 1240 },
        { 1242, 1242 },
        { 1244, 1244 },
        { 1246, 1246 },
        { 1248, 1248 },
        { 1250, 1250 },
        { 1252, 1252 },
        { 1254, 1254 },
        { 1256, 1256 },
        { 1258, 1258 },
        { 1260, 1260 },
        { 1262, 1262 },
        { 1264, 1264 },
        { 1266, 1266 },
        { 1268, 1268 },
        { 1270, 1270 },
        { 1272, 1272 },
        { 1274, 1274 },
        { 1276, 1276 },
        { 1278, 1278 },
        { 1280, 1280 },
        { 1282, 1282 },
        { 1284, 1284 },
        { 1286, 1286 },
        { 1288, 1288 },
        { 1290, 1290 },
        { 1292, 1292 },
        { 1294, 1294 },
        { 1296, 1296 },
        { 1298, 1298 },
        { 1300, 1300 },
        { 1302, 1302 },
        { 1304, 1304 },
        { 1306, 1306 },
        { 1308, 1308 },
        { 1310, 1310 },
        { 1312, 1312 },
        { 1314, 1314 },
        { 1316, 1316 },
        { 1318, 1318 },
        { 1329, 1366 },
        { 4256, 4293 },
        { 7680, 7680 },
        { 7682, 7682 },
        { 7684, 7684 },
        { 7686, 7686 },
        { 7688, 7688 },
        { 7690, 7690 },
        { 7692, 7692 },
        { 7694, 7694 },
        { 7696, 7696 },
        { 7698, 7698 },
        { 7700, 7700 },
        { 7702, 7702 },
        { 7704, 7704 },
        { 7706, 7706 },
        { 7708, 7708 },
        { 7710, 7710 },
        { 7712, 7712 },
        { 7714, 7714 },
        { 7716, 7716 },
        { 7718, 7718 },
        { 7720, 7720 },
        { 7722, 7722 },
        { 7724, 7724 },
        { 7726, 7726 },
        { 7728, 7728 },
        { 7730, 7730 },
        { 7732, 7732 },
        { 7734, 7734 },
        { 7736, 7736 },
        { 7738, 7738 },
        { 7740, 7740 },
        { 7742, 7742 },
        { 7744, 7744 },
        { 7746, 7746 },
        { 7748, 7748 },
        { 7750, 7750 },
        { 7752, 7752 },
        { 7754, 7754 },
        { 7756, 7756 },
        { 7758, 7758 },
        { 7760, 7760 },
        { 7762, 7762 },
        { 7764, 7764 },
        { 7766, 7766 },
        { 7768, 7768 },
        { 7770, 7770 },
        { 7772, 7772 },
        { 7774, 7774 },
        { 7776, 7776 },
        { 7778, 7778 },
        { 7780, 7780 },
        { 7782, 7782 },
        { 7784, 7784 },
        { 7786, 7786 },
        { 7788, 7788 },
        { 7790, 7790 },
        { 7792, 7792 },
        { 7794, 7794 },
        { 7796, 7796 },
        { 7798, 7798 },
        { 7800, 7800 },
        { 7802, 7802 },
        { 7804, 7804 },
        { 7806, 7806 },
        { 7808, 7808 },
        { 7810, 7810 },
        { 7812, 7812 },
        { 7814, 7814 },
        { 7816, 7816 },
        { 7818, 7818 },
        { 7820, 7820 },
        { 7822, 7822 },
        { 7824, 7824 },
        { 7826, 7826 },
        { 7828, 7828 },
        { 7838, 7838 },
        { 7840, 7840 },
        { 7842, 7842 },
        { 7844, 7844 },
        { 7846, 7846 },
        { 7848, 7848 },
        { 7850, 7850 },
        { 7852, 7852 },
        { 7854, 7854 },
        { 7856, 7856 },
        { 7858, 7858 },
        { 7860, 7860 },
        { 7862, 7862 },
        { 7864, 7864 },
        { 7866, 7866 },
        { 7868, 7868 },
        { 7870, 7870 },
        { 7872, 7872 },
        { 7874, 7874 },
        { 7876, 7876 },
        { 7878, 7878 },
        { 7880, 7880 },
        { 7882, 7882 },
        { 7884, 7884 },
        { 7886, 7886 },
        { 7888, 7888 },
        { 7890, 7890 },
        { 7892, 7892 },
        { 7894, 7894 },
        { 7896, 7896 },
        { 7898, 7898 },
        { 7900, 7900 },
        { 7902, 7902 },
        { 7904, 7904 },
        { 7906, 7906 },
        { 7908, 7908 },
        { 7910, 7910 },
        { 7912, 7912 },
        { 7914, 7914 },
        { 7916, 7916 },
        { 7918, 7918 },
        { 7920, 7920 },
        { 7922, 7922 },
        { 7924, 7924 },
        { 7926, 7926 },
        { 7928, 7928 },
        { 7930, 7930 },
        { 7932, 7932 },
        { 7934, 7934 },
        { 7944, 7951 },
        { 7960, 7965 },
        { 7976, 7983 },
        { 7992, 7999 },
        { 8008, 8013 },
        { 8025, 8025 },
        { 8027, 8027 },
        { 8029, 8029 },
        { 8031, 8031 },
        { 8040, 8047 },
        { 8120, 8123 },
        { 8136, 8139 },
        { 8152, 8155 },
        { 8168, 8172 },
        { 8184, 8187 },
        { 8450, 8450 },
        { 8455, 8455 },
        { 8459, 8461 },
        { 8464, 8466 },
        { 8469, 8469 },
        { 8473, 8477 },
        { 8484, 8484 },
        { 8486, 8486 },
        { 8488, 8488 },
        { 8490, 8493 },
        { 8496, 8499 },
        { 8510, 8511 },
        { 8517, 8517 },
        { 8579, 8579 },
        { 11264, 11310 },
        { 11360, 11360 },
        { 11362, 11364 },
        { 11367, 11367 },
        { 11369, 11369 },
        { 11371, 11371 },
        { 11373, 11376 },
        { 11378, 11378 },
        { 11381, 11381 },
        { 11390, 11392 },
        { 11394, 11394 },
        { 11396, 11396 },
        { 11398, 11398 },
        { 11400, 11400 },
        { 11402, 11402 },
        { 11404, 11404 },
        { 11406, 11406 },
        { 11408, 11408 },
        { 11410, 11410 },
        { 11412, 11412 },
        { 11414, 11414 },
        { 11416, 11416 },
        { 11418, 11418 },
        { 11420, 11420 },
        { 11422, 11422 },
        { 11424, 11424 },
        { 11426, 11426 },
        { 11428, 11428 },
        { 11430, 11430 },
        { 11432, 11432 },
        { 11434, 11434 },
        { 11436, 11436 },
        { 11438, 11438 },
        { 11440, 11440 },
        { 11442, 11442 },
        { 11444, 11444 },
        { 11446, 11446 },
        { 11448, 11448 },
        { 11450, 11450 },
        { 11452, 11452 },
        { 11454, 11454 },
        { 11456, 11456 },
        { 11458, 11458 },
        { 11460, 11460 },
        { 11462, 11462 },
        { 11464, 11464 },
        { 11466, 11466 },
        { 11468, 11468 },
        { 11470, 11470 },
        { 11472, 11472 },
        { 11474, 11474 },
        { 11476, 11476 },
        { 11478, 11478 },
        { 11480, 11480 },
        { 11482, 11482 },
        { 11484, 11484 },
        { 11486, 11486 },
        { 11488, 11488 },
        { 11490, 11490 },
        { 11499, 11499 },
        { 11501, 11501 },
        { 42560, 42560 },
        { 42562, 42562 },
        { 42564, 42564 },
        { 42566, 42566 },
        { 42568, 42568 },
        { 42570, 42570 },
        { 42572, 42572 },
        { 42574, 42574 },
        { 42576, 42576 },
        { 42578, 42578 },
        { 42580, 42580 },
        { 42582, 42582 },
        { 42584, 42584 },
        { 42586, 42586 },
        { 42588, 42588 },
        { 42590, 42590 },
        { 42592, 42592 },
        { 42594, 42594 },
        { 42596, 42596 },
        { 42598, 42598 },
        { 42600, 42600 },
        { 42602, 42602 },
        { 42604, 42604 },
        { 42624, 42624 },
        { 42626, 42626 },
        { 42628, 42628 },
        { 42630, 42630 },
        { 42632, 42632 },
        { 42634, 42634 },
        { 42636, 42636 },
        { 42638, 42638 },
        { 42640, 42640 },
        { 42642, 42642 },
        { 42644, 42644 },
        { 42646, 42646 },
        { 42786, 42786 },
        { 42788, 42788 },
        { 42790, 42790 },
        { 42792, 42792 },
        { 42794, 42794 },
        { 42796, 42796 },
        { 42798, 42798 },
        { 42802, 42802 },
        { 42804, 42804 },
        { 42806, 42806 },
        { 42808, 42808 },
        { 42810, 42810 },
        { 42812, 42812 },
        { 42814, 42814 },
        { 42816, 42816 },
        { 42818, 42818 },
        { 42820, 42820 },
        { 42822, 42822 },
        { 42824, 42824 },
        { 42826, 42826 },
        { 42828, 42828 },
        { 42830, 42830 },
        { 42832, 42832 },
        { 42834, 42834 },
        { 42836, 42836 },
        { 42838, 42838 },
        { 42840, 42840 },
        { 42842, 42842 },
        { 42844, 42844 },
        { 42846, 42846 },
        { 42848, 42848 },
        { 42850, 42850 },
        { 42852, 42852 },
        { 42854, 42854 },
        { 42856, 42856 },
        { 42858, 42858 },
        { 42860, 42860 },
        { 42862, 42862 },
        { 42873, 42873 },
        { 42875, 42875 },
        { 42877, 42878 },
        { 42880, 42880 },
        { 42882, 42882 },
        { 42884, 42884 },
        { 42886, 42886 },
        { 42891, 42891 },
        { 42893, 42893 },
        { 42896, 42896 },
        { 42912, 42912 },
        { 42914, 42914 },
        { 42916, 42916 },
        { 42918, 42918 },
        { 42920, 42920 },
        { 65313, 65338 },
};
static URange32 Lu_range32[] = {
        { 66560, 66599 },
        { 119808, 119833 },
        { 119860, 119885 },
        { 119912, 119937 },
        { 119964, 119964 },
        { 119966, 119967 },
        { 119970, 119970 },
        { 119973, 119974 },
        { 119977, 119980 },
        { 119982, 119989 },
        { 120016, 120041 },
        { 120068, 120069 },
        { 120071, 120074 },
        { 120077, 120084 },
        { 120086, 120092 },
        { 120120, 120121 },
        { 120123, 120126 },
        { 120128, 120132 },
        { 120134, 120134 },
        { 120138, 120144 },
        { 120172, 120197 },
        { 120224, 120249 },
        { 120276, 120301 },
        { 120328, 120353 },
        { 120380, 120405 },
        { 120432, 120457 },
        { 120488, 120512 },
        { 120546, 120570 },
        { 120604, 120628 },
        { 120662, 120686 },
        { 120720, 120744 },
        { 120778, 120778 },
};
static URange16 Pf_range16[] = {
        { 187, 187 },
        { 8217, 8217 },
        { 8221, 8221 },
        { 8250, 8250 },
        { 11779, 11779 },
        { 11781, 11781 },
        { 11786, 11786 },
        { 11789, 11789 },
        { 11805, 11805 },
        { 11809, 11809 },
};
static URange16 Pd_range16[] = {
        { 45, 45 },
        { 1418, 1418 },
        { 1470, 1470 },
        { 5120, 5120 },
        { 6150, 6150 },
        { 8208, 8213 },
        { 11799, 11799 },
        { 11802, 11802 },
        { 12316, 12316 },
        { 12336, 12336 },
        { 12448, 12448 },
        { 65073, 65074 },
        { 65112, 65112 },
        { 65123, 65123 },
        { 65293, 65293 },
};
static URange16 Pe_range16[] = {
        { 41, 41 },
        { 93, 93 },
        { 125, 125 },
        { 3899, 3899 },
        { 3901, 3901 },
        { 5788, 5788 },
        { 8262, 8262 },
        { 8318, 8318 },
        { 8334, 8334 },
        { 9002, 9002 },
        { 10089, 10089 },
        { 10091, 10091 },
        { 10093, 10093 },
        { 10095, 10095 },
        { 10097, 10097 },
        { 10099, 10099 },
        { 10101, 10101 },
        { 10182, 10182 },
        { 10215, 10215 },
        { 10217, 10217 },
        { 10219, 10219 },
        { 10221, 10221 },
        { 10223, 10223 },
        { 10628, 10628 },
        { 10630, 10630 },
        { 10632, 10632 },
        { 10634, 10634 },
        { 10636, 10636 },
        { 10638, 10638 },
        { 10640, 10640 },
        { 10642, 10642 },
        { 10644, 10644 },
        { 10646, 10646 },
        { 10648, 10648 },
        { 10713, 10713 },
        { 10715, 10715 },
        { 10749, 10749 },
        { 11811, 11811 },
        { 11813, 11813 },
        { 11815, 11815 },
        { 11817, 11817 },
        { 12297, 12297 },
        { 12299, 12299 },
        { 12301, 12301 },
        { 12303, 12303 },
        { 12305, 12305 },
        { 12309, 12309 },
        { 12311, 12311 },
        { 12313, 12313 },
        { 12315, 12315 },
        { 12318, 12319 },
        { 64831, 64831 },
        { 65048, 65048 },
        { 65078, 65078 },
        { 65080, 65080 },
        { 65082, 65082 },
        { 65084, 65084 },
        { 65086, 65086 },
        { 65088, 65088 },
        { 65090, 65090 },
        { 65092, 65092 },
        { 65096, 65096 },
        { 65114, 65114 },
        { 65116, 65116 },
        { 65118, 65118 },
        { 65289, 65289 },
        { 65341, 65341 },
        { 65373, 65373 },
        { 65376, 65376 },
        { 65379, 65379 },
};
static URange16 Pi_range16[] = {
        { 171, 171 },
        { 8216, 8216 },
        { 8219, 8220 },
        { 8223, 8223 },
        { 8249, 8249 },
        { 11778, 11778 },
        { 11780, 11780 },
        { 11785, 11785 },
        { 11788, 11788 },
        { 11804, 11804 },
        { 11808, 11808 },
};
static URange16 Po_range16[] = {
        { 33, 35 },
        { 37, 39 },
        { 42, 42 },
        { 44, 44 },
        { 46, 47 },
        { 58, 59 },
        { 63, 64 },
        { 92, 92 },
        { 161, 161 },
        { 183, 183 },
        { 191, 191 },
        { 894, 894 },
        { 903, 903 },
        { 1370, 1375 },
        { 1417, 1417 },
        { 1472, 1472 },
        { 1475, 1475 },
        { 1478, 1478 },
        { 1523, 1524 },
        { 1545, 1546 },
        { 1548, 1549 },
        { 1563, 1563 },
        { 1566, 1567 },
        { 1642, 1645 },
        { 1748, 1748 },
        { 1792, 1805 },
        { 2039, 2041 },
        { 2096, 2110 },
        { 2142, 2142 },
        { 2404, 2405 },
        { 2416, 2416 },
        { 3572, 3572 },
        { 3663, 3663 },
        { 3674, 3675 },
        { 3844, 3858 },
        { 3973, 3973 },
        { 4048, 4052 },
        { 4057, 4058 },
        { 4170, 4175 },
        { 4347, 4347 },
        { 4961, 4968 },
        { 5741, 5742 },
        { 5867, 5869 },
        { 5941, 5942 },
        { 6100, 6102 },
        { 6104, 6106 },
        { 6144, 6149 },
        { 6151, 6154 },
        { 6468, 6469 },
        { 6686, 6687 },
        { 6816, 6822 },
        { 6824, 6829 },
        { 7002, 7008 },
        { 7164, 7167 },
        { 7227, 7231 },
        { 7294, 7295 },
        { 7379, 7379 },
        { 8214, 8215 },
        { 8224, 8231 },
        { 8240, 8248 },
        { 8251, 8254 },
        { 8257, 8259 },
        { 8263, 8273 },
        { 8275, 8275 },
        { 8277, 8286 },
        { 11513, 11516 },
        { 11518, 11519 },
        { 11632, 11632 },
        { 11776, 11777 },
        { 11782, 11784 },
        { 11787, 11787 },
        { 11790, 11798 },
        { 11800, 11801 },
        { 11803, 11803 },
        { 11806, 11807 },
        { 11818, 11822 },
        { 11824, 11825 },
        { 12289, 12291 },
        { 12349, 12349 },
        { 12539, 12539 },
        { 42238, 42239 },
        { 42509, 42511 },
        { 42611, 42611 },
        { 42622, 42622 },
        { 42738, 42743 },
        { 43124, 43127 },
        { 43214, 43215 },
        { 43256, 43258 },
        { 43310, 43311 },
        { 43359, 43359 },
        { 43457, 43469 },
        { 43486, 43487 },
        { 43612, 43615 },
        { 43742, 43743 },
        { 44011, 44011 },
        { 65040, 65046 },
        { 65049, 65049 },
        { 65072, 65072 },
        { 65093, 65094 },
        { 65097, 65100 },
        { 65104, 65106 },
        { 65108, 65111 },
        { 65119, 65121 },
        { 65128, 65128 },
        { 65130, 65131 },
        { 65281, 65283 },
        { 65285, 65287 },
        { 65290, 65290 },
        { 65292, 65292 },
        { 65294, 65295 },
        { 65306, 65307 },
        { 65311, 65312 },
        { 65340, 65340 },
        { 65377, 65377 },
        { 65380, 65381 },
};
static URange32 Po_range32[] = {
        { 65792, 65793 },
        { 66463, 66463 },
        { 66512, 66512 },
        { 67671, 67671 },
        { 67871, 67871 },
        { 67903, 67903 },
        { 68176, 68184 },
        { 68223, 68223 },
        { 68409, 68415 },
        { 69703, 69709 },
        { 69819, 69820 },
        { 69822, 69825 },
        { 74864, 74867 },
};
static URange16 Me_range16[] = {
        { 1160, 1161 },
        { 8413, 8416 },
        { 8418, 8420 },
        { 42608, 42610 },
};
static URange16 C_range16[] = {
        { 0, 31 },
        { 127, 159 },
        { 173, 173 },
        { 1536, 1539 },
        { 1757, 1757 },
        { 1807, 1807 },
        { 6068, 6069 },
        { 8203, 8207 },
        { 8234, 8238 },
        { 8288, 8292 },
        { 8298, 8303 },
        { 55296, 63743 },
        { 65279, 65279 },
        { 65529, 65531 },
};
static URange32 C_range32[] = {
        { 69821, 69821 },
        { 119155, 119162 },
        { 917505, 917505 },
        { 917536, 917631 },
        { 983040, 1048573 },
        { 1048576, 1114109 },
};
static URange16 Mc_range16[] = {
        { 2307, 2307 },
        { 2363, 2363 },
        { 2366, 2368 },
        { 2377, 2380 },
        { 2382, 2383 },
        { 2434, 2435 },
        { 2494, 2496 },
        { 2503, 2504 },
        { 2507, 2508 },
        { 2519, 2519 },
        { 2563, 2563 },
        { 2622, 2624 },
        { 2691, 2691 },
        { 2750, 2752 },
        { 2761, 2761 },
        { 2763, 2764 },
        { 2818, 2819 },
        { 2878, 2878 },
        { 2880, 2880 },
        { 2887, 2888 },
        { 2891, 2892 },
        { 2903, 2903 },
        { 3006, 3007 },
        { 3009, 3010 },
        { 3014, 3016 },
        { 3018, 3020 },
        { 3031, 3031 },
        { 3073, 3075 },
        { 3137, 3140 },
        { 3202, 3203 },
        { 3262, 3262 },
        { 3264, 3268 },
        { 3271, 3272 },
        { 3274, 3275 },
        { 3285, 3286 },
        { 3330, 3331 },
        { 3390, 3392 },
        { 3398, 3400 },
        { 3402, 3404 },
        { 3415, 3415 },
        { 3458, 3459 },
        { 3535, 3537 },
        { 3544, 3551 },
        { 3570, 3571 },
        { 3902, 3903 },
        { 3967, 3967 },
        { 4139, 4140 },
        { 4145, 4145 },
        { 4152, 4152 },
        { 4155, 4156 },
        { 4182, 4183 },
        { 4194, 4196 },
        { 4199, 4205 },
        { 4227, 4228 },
        { 4231, 4236 },
        { 4239, 4239 },
        { 4250, 4252 },
        { 6070, 6070 },
        { 6078, 6085 },
        { 6087, 6088 },
        { 6435, 6438 },
        { 6441, 6443 },
        { 6448, 6449 },
        { 6451, 6456 },
        { 6576, 6592 },
        { 6600, 6601 },
        { 6681, 6683 },
        { 6741, 6741 },
        { 6743, 6743 },
        { 6753, 6753 },
        { 6755, 6756 },
        { 6765, 6770 },
        { 6916, 6916 },
        { 6965, 6965 },
        { 6971, 6971 },
        { 6973, 6977 },
        { 6979, 6980 },
        { 7042, 7042 },
        { 7073, 7073 },
        { 7078, 7079 },
        { 7082, 7082 },
        { 7143, 7143 },
        { 7146, 7148 },
        { 7150, 7150 },
        { 7154, 7155 },
        { 7204, 7211 },
        { 7220, 7221 },
        { 7393, 7393 },
        { 7410, 7410 },
        { 43043, 43044 },
        { 43047, 43047 },
        { 43136, 43137 },
        { 43188, 43203 },
        { 43346, 43347 },
        { 43395, 43395 },
        { 43444, 43445 },
        { 43450, 43451 },
        { 43453, 43456 },
        { 43567, 43568 },
        { 43571, 43572 },
        { 43597, 43597 },
        { 43643, 43643 },
        { 44003, 44004 },
        { 44006, 44007 },
        { 44009, 44010 },
        { 44012, 44012 },
};
static URange32 Mc_range32[] = {
        { 69632, 69632 },
        { 69634, 69634 },
        { 69762, 69762 },
        { 69808, 69810 },
        { 69815, 69816 },
        { 119141, 119142 },
        { 119149, 119154 },
};
static URange16 Mn_range16[] = {
        { 768, 879 },
        { 1155, 1159 },
        { 1425, 1469 },
        { 1471, 1471 },
        { 1473, 1474 },
        { 1476, 1477 },
        { 1479, 1479 },
        { 1552, 1562 },
        { 1611, 1631 },
        { 1648, 1648 },
        { 1750, 1756 },
        { 1759, 1764 },
        { 1767, 1768 },
        { 1770, 1773 },
        { 1809, 1809 },
        { 1840, 1866 },
        { 1958, 1968 },
        { 2027, 2035 },
        { 2070, 2073 },
        { 2075, 2083 },
        { 2085, 2087 },
        { 2089, 2093 },
        { 2137, 2139 },
        { 2304, 2306 },
        { 2362, 2362 },
        { 2364, 2364 },
        { 2369, 2376 },
        { 2381, 2381 },
        { 2385, 2391 },
        { 2402, 2403 },
        { 2433, 2433 },
        { 2492, 2492 },
        { 2497, 2500 },
        { 2509, 2509 },
        { 2530, 2531 },
        { 2561, 2562 },
        { 2620, 2620 },
        { 2625, 2626 },
        { 2631, 2632 },
        { 2635, 2637 },
        { 2641, 2641 },
        { 2672, 2673 },
        { 2677, 2677 },
        { 2689, 2690 },
        { 2748, 2748 },
        { 2753, 2757 },
        { 2759, 2760 },
        { 2765, 2765 },
        { 2786, 2787 },
        { 2817, 2817 },
        { 2876, 2876 },
        { 2879, 2879 },
        { 2881, 2884 },
        { 2893, 2893 },
        { 2902, 2902 },
        { 2914, 2915 },
        { 2946, 2946 },
        { 3008, 3008 },
        { 3021, 3021 },
        { 3134, 3136 },
        { 3142, 3144 },
        { 3146, 3149 },
        { 3157, 3158 },
        { 3170, 3171 },
        { 3260, 3260 },
        { 3263, 3263 },
        { 3270, 3270 },
        { 3276, 3277 },
        { 3298, 3299 },
        { 3393, 3396 },
        { 3405, 3405 },
        { 3426, 3427 },
        { 3530, 3530 },
        { 3538, 3540 },
        { 3542, 3542 },
        { 3633, 3633 },
        { 3636, 3642 },
        { 3655, 3662 },
        { 3761, 3761 },
        { 3764, 3769 },
        { 3771, 3772 },
        { 3784, 3789 },
        { 3864, 3865 },
        { 3893, 3893 },
        { 3895, 3895 },
        { 3897, 3897 },
        { 3953, 3966 },
        { 3968, 3972 },
        { 3974, 3975 },
        { 3981, 3991 },
        { 3993, 4028 },
        { 4038, 4038 },
        { 4141, 4144 },
        { 4146, 4151 },
        { 4153, 4154 },
        { 4157, 4158 },
        { 4184, 4185 },
        { 4190, 4192 },
        { 4209, 4212 },
        { 4226, 4226 },
        { 4229, 4230 },
        { 4237, 4237 },
        { 4253, 4253 },
        { 4957, 4959 },
        { 5906, 5908 },
        { 5938, 5940 },
        { 5970, 5971 },
        { 6002, 6003 },
        { 6071, 6077 },
        { 6086, 6086 },
        { 6089, 6099 },
        { 6109, 6109 },
        { 6155, 6157 },
        { 6313, 6313 },
        { 6432, 6434 },
        { 6439, 6440 },
        { 6450, 6450 },
        { 6457, 6459 },
        { 6679, 6680 },
        { 6742, 6742 },
        { 6744, 6750 },
        { 6752, 6752 },
        { 6754, 6754 },
        { 6757, 6764 },
        { 6771, 6780 },
        { 6783, 6783 },
        { 6912, 6915 },
        { 6964, 6964 },
        { 6966, 6970 },
        { 6972, 6972 },
        { 6978, 6978 },
        { 7019, 7027 },
        { 7040, 7041 },
        { 7074, 7077 },
        { 7080, 7081 },
        { 7142, 7142 },
        { 7144, 7145 },
        { 7149, 7149 },
        { 7151, 7153 },
        { 7212, 7219 },
        { 7222, 7223 },
        { 7376, 7378 },
        { 7380, 7392 },
        { 7394, 7400 },
        { 7405, 7405 },
        { 7616, 7654 },
        { 7676, 7679 },
        { 8400, 8412 },
        { 8417, 8417 },
        { 8421, 8432 },
        { 11503, 11505 },
        { 11647, 11647 },
        { 11744, 11775 },
        { 12330, 12335 },
        { 12441, 12442 },
        { 42607, 42607 },
        { 42620, 42621 },
        { 42736, 42737 },
        { 43010, 43010 },
        { 43014, 43014 },
        { 43019, 43019 },
        { 43045, 43046 },
        { 43204, 43204 },
        { 43232, 43249 },
        { 43302, 43309 },
        { 43335, 43345 },
        { 43392, 43394 },
        { 43443, 43443 },
        { 43446, 43449 },
        { 43452, 43452 },
        { 43561, 43566 },
        { 43569, 43570 },
        { 43573, 43574 },
        { 43587, 43587 },
        { 43596, 43596 },
        { 43696, 43696 },
        { 43698, 43700 },
        { 43703, 43704 },
        { 43710, 43711 },
        { 43713, 43713 },
        { 44005, 44005 },
        { 44008, 44008 },
        { 44013, 44013 },
        { 64286, 64286 },
        { 65024, 65039 },
        { 65056, 65062 },
};
static URange32 Mn_range32[] = {
        { 66045, 66045 },
        { 68097, 68099 },
        { 68101, 68102 },
        { 68108, 68111 },
        { 68152, 68154 },
        { 68159, 68159 },
        { 69633, 69633 },
        { 69688, 69702 },
        { 69760, 69761 },
        { 69811, 69814 },
        { 69817, 69818 },
        { 119143, 119145 },
        { 119163, 119170 },
        { 119173, 119179 },
        { 119210, 119213 },
        { 119362, 119364 },
        { 917760, 917999 },
};
static URange16 M_range16[] = {
        { 768, 879 },
        { 1155, 1161 },
        { 1425, 1469 },
        { 1471, 1471 },
        { 1473, 1474 },
        { 1476, 1477 },
        { 1479, 1479 },
        { 1552, 1562 },
        { 1611, 1631 },
        { 1648, 1648 },
        { 1750, 1756 },
        { 1759, 1764 },
        { 1767, 1768 },
        { 1770, 1773 },
        { 1809, 1809 },
        { 1840, 1866 },
        { 1958, 1968 },
        { 2027, 2035 },
        { 2070, 2073 },
        { 2075, 2083 },
        { 2085, 2087 },
        { 2089, 2093 },
        { 2137, 2139 },
        { 2304, 2307 },
        { 2362, 2364 },
        { 2366, 2383 },
        { 2385, 2391 },
        { 2402, 2403 },
        { 2433, 2435 },
        { 2492, 2492 },
        { 2494, 2500 },
        { 2503, 2504 },
        { 2507, 2509 },
        { 2519, 2519 },
        { 2530, 2531 },
        { 2561, 2563 },
        { 2620, 2620 },
        { 2622, 2626 },
        { 2631, 2632 },
        { 2635, 2637 },
        { 2641, 2641 },
        { 2672, 2673 },
        { 2677, 2677 },
        { 2689, 2691 },
        { 2748, 2748 },
        { 2750, 2757 },
        { 2759, 2761 },
        { 2763, 2765 },
        { 2786, 2787 },
        { 2817, 2819 },
        { 2876, 2876 },
        { 2878, 2884 },
        { 2887, 2888 },
        { 2891, 2893 },
        { 2902, 2903 },
        { 2914, 2915 },
        { 2946, 2946 },
        { 3006, 3010 },
        { 3014, 3016 },
        { 3018, 3021 },
        { 3031, 3031 },
        { 3073, 3075 },
        { 3134, 3140 },
        { 3142, 3144 },
        { 3146, 3149 },
        { 3157, 3158 },
        { 3170, 3171 },
        { 3202, 3203 },
        { 3260, 3260 },
        { 3262, 3268 },
        { 3270, 3272 },
        { 3274, 3277 },
        { 3285, 3286 },
        { 3298, 3299 },
        { 3330, 3331 },
        { 3390, 3396 },
        { 3398, 3400 },
        { 3402, 3405 },
        { 3415, 3415 },
        { 3426, 3427 },
        { 3458, 3459 },
        { 3530, 3530 },
        { 3535, 3540 },
        { 3542, 3542 },
        { 3544, 3551 },
        { 3570, 3571 },
        { 3633, 3633 },
        { 3636, 3642 },
        { 3655, 3662 },
        { 3761, 3761 },
        { 3764, 3769 },
        { 3771, 3772 },
        { 3784, 3789 },
        { 3864, 3865 },
        { 3893, 3893 },
        { 3895, 3895 },
        { 3897, 3897 },
        { 3902, 3903 },
        { 3953, 3972 },
        { 3974, 3975 },
        { 3981, 3991 },
        { 3993, 4028 },
        { 4038, 4038 },
        { 4139, 4158 },
        { 4182, 4185 },
        { 4190, 4192 },
        { 4194, 4196 },
        { 4199, 4205 },
        { 4209, 4212 },
        { 4226, 4237 },
        { 4239, 4239 },
        { 4250, 4253 },
        { 4957, 4959 },
        { 5906, 5908 },
        { 5938, 5940 },
        { 5970, 5971 },
        { 6002, 6003 },
        { 6070, 6099 },
        { 6109, 6109 },
        { 6155, 6157 },
        { 6313, 6313 },
        { 6432, 6443 },
        { 6448, 6459 },
        { 6576, 6592 },
        { 6600, 6601 },
        { 6679, 6683 },
        { 6741, 6750 },
        { 6752, 6780 },
        { 6783, 6783 },
        { 6912, 6916 },
        { 6964, 6980 },
        { 7019, 7027 },
        { 7040, 7042 },
        { 7073, 7082 },
        { 7142, 7155 },
        { 7204, 7223 },
        { 7376, 7378 },
        { 7380, 7400 },
        { 7405, 7405 },
        { 7410, 7410 },
        { 7616, 7654 },
        { 7676, 7679 },
        { 8400, 8432 },
        { 11503, 11505 },
        { 11647, 11647 },
        { 11744, 11775 },
        { 12330, 12335 },
        { 12441, 12442 },
        { 42607, 42610 },
        { 42620, 42621 },
        { 42736, 42737 },
        { 43010, 43010 },
        { 43014, 43014 },
        { 43019, 43019 },
        { 43043, 43047 },
        { 43136, 43137 },
        { 43188, 43204 },
        { 43232, 43249 },
        { 43302, 43309 },
        { 43335, 43347 },
        { 43392, 43395 },
        { 43443, 43456 },
        { 43561, 43574 },
        { 43587, 43587 },
        { 43596, 43597 },
        { 43643, 43643 },
        { 43696, 43696 },
        { 43698, 43700 },
        { 43703, 43704 },
        { 43710, 43711 },
        { 43713, 43713 },
        { 44003, 44010 },
        { 44012, 44013 },
        { 64286, 64286 },
        { 65024, 65039 },
        { 65056, 65062 },
};
static URange32 M_range32[] = {
        { 66045, 66045 },
        { 68097, 68099 },
        { 68101, 68102 },
        { 68108, 68111 },
        { 68152, 68154 },
        { 68159, 68159 },
        { 69632, 69634 },
        { 69688, 69702 },
        { 69760, 69762 },
        { 69808, 69818 },
        { 119141, 119145 },
        { 119149, 119154 },
        { 119163, 119170 },
        { 119173, 119179 },
        { 119210, 119213 },
        { 119362, 119364 },
        { 917760, 917999 },
};
static URange16 L_range16[] = {
        { 65, 90 },
        { 97, 122 },
        { 170, 170 },
        { 181, 181 },
        { 186, 186 },
        { 192, 214 },
        { 216, 246 },
        { 248, 705 },
        { 710, 721 },
        { 736, 740 },
        { 748, 748 },
        { 750, 750 },
        { 880, 884 },
        { 886, 887 },
        { 890, 893 },
        { 902, 902 },
        { 904, 906 },
        { 908, 908 },
        { 910, 929 },
        { 931, 1013 },
        { 1015, 1153 },
        { 1162, 1319 },
        { 1329, 1366 },
        { 1369, 1369 },
        { 1377, 1415 },
        { 1488, 1514 },
        { 1520, 1522 },
        { 1568, 1610 },
        { 1646, 1647 },
        { 1649, 1747 },
        { 1749, 1749 },
        { 1765, 1766 },
        { 1774, 1775 },
        { 1786, 1788 },
        { 1791, 1791 },
        { 1808, 1808 },
        { 1810, 1839 },
        { 1869, 1957 },
        { 1969, 1969 },
        { 1994, 2026 },
        { 2036, 2037 },
        { 2042, 2042 },
        { 2048, 2069 },
        { 2074, 2074 },
        { 2084, 2084 },
        { 2088, 2088 },
        { 2112, 2136 },
        { 2308, 2361 },
        { 2365, 2365 },
        { 2384, 2384 },
        { 2392, 2401 },
        { 2417, 2423 },
        { 2425, 2431 },
        { 2437, 2444 },
        { 2447, 2448 },
        { 2451, 2472 },
        { 2474, 2480 },
        { 2482, 2482 },
        { 2486, 2489 },
        { 2493, 2493 },
        { 2510, 2510 },
        { 2524, 2525 },
        { 2527, 2529 },
        { 2544, 2545 },
        { 2565, 2570 },
        { 2575, 2576 },
        { 2579, 2600 },
        { 2602, 2608 },
        { 2610, 2611 },
        { 2613, 2614 },
        { 2616, 2617 },
        { 2649, 2652 },
        { 2654, 2654 },
        { 2674, 2676 },
        { 2693, 2701 },
        { 2703, 2705 },
        { 2707, 2728 },
        { 2730, 2736 },
        { 2738, 2739 },
        { 2741, 2745 },
        { 2749, 2749 },
        { 2768, 2768 },
        { 2784, 2785 },
        { 2821, 2828 },
        { 2831, 2832 },
        { 2835, 2856 },
        { 2858, 2864 },
        { 2866, 2867 },
        { 2869, 2873 },
        { 2877, 2877 },
        { 2908, 2909 },
        { 2911, 2913 },
        { 2929, 2929 },
        { 2947, 2947 },
        { 2949, 2954 },
        { 2958, 2960 },
        { 2962, 2965 },
        { 2969, 2970 },
        { 2972, 2972 },
        { 2974, 2975 },
        { 2979, 2980 },
        { 2984, 2986 },
        { 2990, 3001 },
        { 3024, 3024 },
        { 3077, 3084 },
        { 3086, 3088 },
        { 3090, 3112 },
        { 3114, 3123 },
        { 3125, 3129 },
        { 3133, 3133 },
        { 3160, 3161 },
        { 3168, 3169 },
        { 3205, 3212 },
        { 3214, 3216 },
        { 3218, 3240 },
        { 3242, 3251 },
        { 3253, 3257 },
        { 3261, 3261 },
        { 3294, 3294 },
        { 3296, 3297 },
        { 3313, 3314 },
        { 3333, 3340 },
        { 3342, 3344 },
        { 3346, 3386 },
        { 3389, 3389 },
        { 3406, 3406 },
        { 3424, 3425 },
        { 3450, 3455 },
        { 3461, 3478 },
        { 3482, 3505 },
        { 3507, 3515 },
        { 3517, 3517 },
        { 3520, 3526 },
        { 3585, 3632 },
        { 3634, 3635 },
        { 3648, 3654 },
        { 3713, 3714 },
        { 3716, 3716 },
        { 3719, 3720 },
        { 3722, 3722 },
        { 3725, 3725 },
        { 3732, 3735 },
        { 3737, 3743 },
        { 3745, 3747 },
        { 3749, 3749 },
        { 3751, 3751 },
        { 3754, 3755 },
        { 3757, 3760 },
        { 3762, 3763 },
        { 3773, 3773 },
        { 3776, 3780 },
        { 3782, 3782 },
        { 3804, 3805 },
        { 3840, 3840 },
        { 3904, 3911 },
        { 3913, 3948 },
        { 3976, 3980 },
        { 4096, 4138 },
        { 4159, 4159 },
        { 4176, 4181 },
        { 4186, 4189 },
        { 4193, 4193 },
        { 4197, 4198 },
        { 4206, 4208 },
        { 4213, 4225 },
        { 4238, 4238 },
        { 4256, 4293 },
        { 4304, 4346 },
        { 4348, 4348 },
        { 4352, 4680 },
        { 4682, 4685 },
        { 4688, 4694 },
        { 4696, 4696 },
        { 4698, 4701 },
        { 4704, 4744 },
        { 4746, 4749 },
        { 4752, 4784 },
        { 4786, 4789 },
        { 4792, 4798 },
        { 4800, 4800 },
        { 4802, 4805 },
        { 4808, 4822 },
        { 4824, 4880 },
        { 4882, 4885 },
        { 4888, 4954 },
        { 4992, 5007 },
        { 5024, 5108 },
        { 5121, 5740 },
        { 5743, 5759 },
        { 5761, 5786 },
        { 5792, 5866 },
        { 5888, 5900 },
        { 5902, 5905 },
        { 5920, 5937 },
        { 5952, 5969 },
        { 5984, 5996 },
        { 5998, 6000 },
        { 6016, 6067 },
        { 6103, 6103 },
        { 6108, 6108 },
        { 6176, 6263 },
        { 6272, 6312 },
        { 6314, 6314 },
        { 6320, 6389 },
        { 6400, 6428 },
        { 6480, 6509 },
        { 6512, 6516 },
        { 6528, 6571 },
        { 6593, 6599 },
        { 6656, 6678 },
        { 6688, 6740 },
        { 6823, 6823 },
        { 6917, 6963 },
        { 6981, 6987 },
        { 7043, 7072 },
        { 7086, 7087 },
        { 7104, 7141 },
        { 7168, 7203 },
        { 7245, 7247 },
        { 7258, 7293 },
        { 7401, 7404 },
        { 7406, 7409 },
        { 7424, 7615 },
        { 7680, 7957 },
        { 7960, 7965 },
        { 7968, 8005 },
        { 8008, 8013 },
        { 8016, 8023 },
        { 8025, 8025 },
        { 8027, 8027 },
        { 8029, 8029 },
        { 8031, 8061 },
        { 8064, 8116 },
        { 8118, 8124 },
        { 8126, 8126 },
        { 8130, 8132 },
        { 8134, 8140 },
        { 8144, 8147 },
        { 8150, 8155 },
        { 8160, 8172 },
        { 8178, 8180 },
        { 8182, 8188 },
        { 8305, 8305 },
        { 8319, 8319 },
        { 8336, 8348 },
        { 8450, 8450 },
        { 8455, 8455 },
        { 8458, 8467 },
        { 8469, 8469 },
        { 8473, 8477 },
        { 8484, 8484 },
        { 8486, 8486 },
        { 8488, 8488 },
        { 8490, 8493 },
        { 8495, 8505 },
        { 8508, 8511 },
        { 8517, 8521 },
        { 8526, 8526 },
        { 8579, 8580 },
        { 11264, 11310 },
        { 11312, 11358 },
        { 11360, 11492 },
        { 11499, 11502 },
        { 11520, 11557 },
        { 11568, 11621 },
        { 11631, 11631 },
        { 11648, 11670 },
        { 11680, 11686 },
        { 11688, 11694 },
        { 11696, 11702 },
        { 11704, 11710 },
        { 11712, 11718 },
        { 11720, 11726 },
        { 11728, 11734 },
        { 11736, 11742 },
        { 11823, 11823 },
        { 12293, 12294 },
        { 12337, 12341 },
        { 12347, 12348 },
        { 12353, 12438 },
        { 12445, 12447 },
        { 12449, 12538 },
        { 12540, 12543 },
        { 12549, 12589 },
        { 12593, 12686 },
        { 12704, 12730 },
        { 12784, 12799 },
        { 13312, 19893 },
        { 19968, 40907 },
        { 40960, 42124 },
        { 42192, 42237 },
        { 42240, 42508 },
        { 42512, 42527 },
        { 42538, 42539 },
        { 42560, 42606 },
        { 42623, 42647 },
        { 42656, 42725 },
        { 42775, 42783 },
        { 42786, 42888 },
        { 42891, 42894 },
        { 42896, 42897 },
        { 42912, 42921 },
        { 43002, 43009 },
        { 43011, 43013 },
        { 43015, 43018 },
        { 43020, 43042 },
        { 43072, 43123 },
        { 43138, 43187 },
        { 43250, 43255 },
        { 43259, 43259 },
        { 43274, 43301 },
        { 43312, 43334 },
        { 43360, 43388 },
        { 43396, 43442 },
        { 43471, 43471 },
        { 43520, 43560 },
        { 43584, 43586 },
        { 43588, 43595 },
        { 43616, 43638 },
        { 43642, 43642 },
        { 43648, 43695 },
        { 43697, 43697 },
        { 43701, 43702 },
        { 43705, 43709 },
        { 43712, 43712 },
        { 43714, 43714 },
        { 43739, 43741 },
        { 43777, 43782 },
        { 43785, 43790 },
        { 43793, 43798 },
        { 43808, 43814 },
        { 43816, 43822 },
        { 43968, 44002 },
        { 44032, 55203 },
        { 55216, 55238 },
        { 55243, 55291 },
        { 63744, 64045 },
        { 64048, 64109 },
        { 64112, 64217 },
        { 64256, 64262 },
        { 64275, 64279 },
        { 64285, 64285 },
        { 64287, 64296 },
        { 64298, 64310 },
        { 64312, 64316 },
        { 64318, 64318 },
        { 64320, 64321 },
        { 64323, 64324 },
        { 64326, 64433 },
        { 64467, 64829 },
        { 64848, 64911 },
        { 64914, 64967 },
        { 65008, 65019 },
        { 65136, 65140 },
        { 65142, 65276 },
        { 65313, 65338 },
        { 65345, 65370 },
        { 65382, 65470 },
        { 65474, 65479 },
        { 65482, 65487 },
        { 65490, 65495 },
        { 65498, 65500 },
};
static URange32 L_range32[] = {
        { 65536, 65547 },
        { 65549, 65574 },
        { 65576, 65594 },
        { 65596, 65597 },
        { 65599, 65613 },
        { 65616, 65629 },
        { 65664, 65786 },
        { 66176, 66204 },
        { 66208, 66256 },
        { 66304, 66334 },
        { 66352, 66368 },
        { 66370, 66377 },
        { 66432, 66461 },
        { 66464, 66499 },
        { 66504, 66511 },
        { 66560, 66717 },
        { 67584, 67589 },
        { 67592, 67592 },
        { 67594, 67637 },
        { 67639, 67640 },
        { 67644, 67644 },
        { 67647, 67669 },
        { 67840, 67861 },
        { 67872, 67897 },
        { 68096, 68096 },
        { 68112, 68115 },
        { 68117, 68119 },
        { 68121, 68147 },
        { 68192, 68220 },
        { 68352, 68405 },
        { 68416, 68437 },
        { 68448, 68466 },
        { 68608, 68680 },
        { 69635, 69687 },
        { 69763, 69807 },
        { 73728, 74606 },
        { 77824, 78894 },
        { 92160, 92728 },
        { 110592, 110593 },
        { 119808, 119892 },
        { 119894, 119964 },
        { 119966, 119967 },
        { 119970, 119970 },
        { 119973, 119974 },
        { 119977, 119980 },
        { 119982, 119993 },
        { 119995, 119995 },
        { 119997, 120003 },
        { 120005, 120069 },
        { 120071, 120074 },
        { 120077, 120084 },
        { 120086, 120092 },
        { 120094, 120121 },
        { 120123, 120126 },
        { 120128, 120132 },
        { 120134, 120134 },
        { 120138, 120144 },
        { 120146, 120485 },
        { 120488, 120512 },
        { 120514, 120538 },
        { 120540, 120570 },
        { 120572, 120596 },
        { 120598, 120628 },
        { 120630, 120654 },
        { 120656, 120686 },
        { 120688, 120712 },
        { 120714, 120744 },
        { 120746, 120770 },
        { 120772, 120779 },
        { 131072, 173782 },
        { 173824, 177972 },
        { 177984, 178205 },
        { 194560, 195101 },
};
static URange16 N_range16[] = {
        { 48, 57 },
        { 178, 179 },
        { 185, 185 },
        { 188, 190 },
        { 1632, 1641 },
        { 1776, 1785 },
        { 1984, 1993 },
        { 2406, 2415 },
        { 2534, 2543 },
        { 2548, 2553 },
        { 2662, 2671 },
        { 2790, 2799 },
        { 2918, 2927 },
        { 2930, 2935 },
        { 3046, 3058 },
        { 3174, 3183 },
        { 3192, 3198 },
        { 3302, 3311 },
        { 3430, 3445 },
        { 3664, 3673 },
        { 3792, 3801 },
        { 3872, 3891 },
        { 4160, 4169 },
        { 4240, 4249 },
        { 4969, 4988 },
        { 5870, 5872 },
        { 6112, 6121 },
        { 6128, 6137 },
        { 6160, 6169 },
        { 6470, 6479 },
        { 6608, 6618 },
        { 6784, 6793 },
        { 6800, 6809 },
        { 6992, 7001 },
        { 7088, 7097 },
        { 7232, 7241 },
        { 7248, 7257 },
        { 8304, 8304 },
        { 8308, 8313 },
        { 8320, 8329 },
        { 8528, 8578 },
        { 8581, 8585 },
        { 9312, 9371 },
        { 9450, 9471 },
        { 10102, 10131 },
        { 11517, 11517 },
        { 12295, 12295 },
        { 12321, 12329 },
        { 12344, 12346 },
        { 12690, 12693 },
        { 12832, 12841 },
        { 12881, 12895 },
        { 12928, 12937 },
        { 12977, 12991 },
        { 42528, 42537 },
        { 42726, 42735 },
        { 43056, 43061 },
        { 43216, 43225 },
        { 43264, 43273 },
        { 43472, 43481 },
        { 43600, 43609 },
        { 44016, 44025 },
        { 65296, 65305 },
};
static URange32 N_range32[] = {
        { 65799, 65843 },
        { 65856, 65912 },
        { 65930, 65930 },
        { 66336, 66339 },
        { 66369, 66369 },
        { 66378, 66378 },
        { 66513, 66517 },
        { 66720, 66729 },
        { 67672, 67679 },
        { 67862, 67867 },
        { 68160, 68167 },
        { 68221, 68222 },
        { 68440, 68447 },
        { 68472, 68479 },
        { 69216, 69246 },
        { 69714, 69743 },
        { 74752, 74850 },
        { 119648, 119665 },
        { 120782, 120831 },
        { 127232, 127242 },
};
static URange16 Sk_range16[] = {
        { 94, 94 },
        { 96, 96 },
        { 168, 168 },
        { 175, 175 },
        { 180, 180 },
        { 184, 184 },
        { 706, 709 },
        { 722, 735 },
        { 741, 747 },
        { 749, 749 },
        { 751, 767 },
        { 885, 885 },
        { 900, 901 },
        { 8125, 8125 },
        { 8127, 8129 },
        { 8141, 8143 },
        { 8157, 8159 },
        { 8173, 8175 },
        { 8189, 8190 },
        { 12443, 12444 },
        { 42752, 42774 },
        { 42784, 42785 },
        { 42889, 42890 },
        { 64434, 64449 },
        { 65342, 65342 },
        { 65344, 65344 },
        { 65507, 65507 },
};
static URange16 P_range16[] = {
        { 33, 35 },
        { 37, 42 },
        { 44, 47 },
        { 58, 59 },
        { 63, 64 },
        { 91, 93 },
        { 95, 95 },
        { 123, 123 },
        { 125, 125 },
        { 161, 161 },
        { 171, 171 },
        { 183, 183 },
        { 187, 187 },
        { 191, 191 },
        { 894, 894 },
        { 903, 903 },
        { 1370, 1375 },
        { 1417, 1418 },
        { 1470, 1470 },
        { 1472, 1472 },
        { 1475, 1475 },
        { 1478, 1478 },
        { 1523, 1524 },
        { 1545, 1546 },
        { 1548, 1549 },
        { 1563, 1563 },
        { 1566, 1567 },
        { 1642, 1645 },
        { 1748, 1748 },
        { 1792, 1805 },
        { 2039, 2041 },
        { 2096, 2110 },
        { 2142, 2142 },
        { 2404, 2405 },
        { 2416, 2416 },
        { 3572, 3572 },
        { 3663, 3663 },
        { 3674, 3675 },
        { 3844, 3858 },
        { 3898, 3901 },
        { 3973, 3973 },
        { 4048, 4052 },
        { 4057, 4058 },
        { 4170, 4175 },
        { 4347, 4347 },
        { 4961, 4968 },
        { 5120, 5120 },
        { 5741, 5742 },
        { 5787, 5788 },
        { 5867, 5869 },
        { 5941, 5942 },
        { 6100, 6102 },
        { 6104, 6106 },
        { 6144, 6154 },
        { 6468, 6469 },
        { 6686, 6687 },
        { 6816, 6822 },
        { 6824, 6829 },
        { 7002, 7008 },
        { 7164, 7167 },
        { 7227, 7231 },
        { 7294, 7295 },
        { 7379, 7379 },
        { 8208, 8231 },
        { 8240, 8259 },
        { 8261, 8273 },
        { 8275, 8286 },
        { 8317, 8318 },
        { 8333, 8334 },
        { 9001, 9002 },
        { 10088, 10101 },
        { 10181, 10182 },
        { 10214, 10223 },
        { 10627, 10648 },
        { 10712, 10715 },
        { 10748, 10749 },
        { 11513, 11516 },
        { 11518, 11519 },
        { 11632, 11632 },
        { 11776, 11822 },
        { 11824, 11825 },
        { 12289, 12291 },
        { 12296, 12305 },
        { 12308, 12319 },
        { 12336, 12336 },
        { 12349, 12349 },
        { 12448, 12448 },
        { 12539, 12539 },
        { 42238, 42239 },
        { 42509, 42511 },
        { 42611, 42611 },
        { 42622, 42622 },
        { 42738, 42743 },
        { 43124, 43127 },
        { 43214, 43215 },
        { 43256, 43258 },
        { 43310, 43311 },
        { 43359, 43359 },
        { 43457, 43469 },
        { 43486, 43487 },
        { 43612, 43615 },
        { 43742, 43743 },
        { 44011, 44011 },
        { 64830, 64831 },
        { 65040, 65049 },
        { 65072, 65106 },
        { 65108, 65121 },
        { 65123, 65123 },
        { 65128, 65128 },
        { 65130, 65131 },
        { 65281, 65283 },
        { 65285, 65290 },
        { 65292, 65295 },
        { 65306, 65307 },
        { 65311, 65312 },
        { 65339, 65341 },
        { 65343, 65343 },
        { 65371, 65371 },
        { 65373, 65373 },
        { 65375, 65381 },
};
static URange32 P_range32[] = {
        { 65792, 65793 },
        { 66463, 66463 },
        { 66512, 66512 },
        { 67671, 67671 },
        { 67871, 67871 },
        { 67903, 67903 },
        { 68176, 68184 },
        { 68223, 68223 },
        { 68409, 68415 },
        { 69703, 69709 },
        { 69819, 69820 },
        { 69822, 69825 },
        { 74864, 74867 },
};
static URange16 S_range16[] = {
        { 36, 36 },
        { 43, 43 },
        { 60, 62 },
        { 94, 94 },
        { 96, 96 },
        { 124, 124 },
        { 126, 126 },
        { 162, 169 },
        { 172, 172 },
        { 174, 177 },
        { 180, 180 },
        { 182, 182 },
        { 184, 184 },
        { 215, 215 },
        { 247, 247 },
        { 706, 709 },
        { 722, 735 },
        { 741, 747 },
        { 749, 749 },
        { 751, 767 },
        { 885, 885 },
        { 900, 901 },
        { 1014, 1014 },
        { 1154, 1154 },
        { 1542, 1544 },
        { 1547, 1547 },
        { 1550, 1551 },
        { 1758, 1758 },
        { 1769, 1769 },
        { 1789, 1790 },
        { 2038, 2038 },
        { 2546, 2547 },
        { 2554, 2555 },
        { 2801, 2801 },
        { 2928, 2928 },
        { 3059, 3066 },
        { 3199, 3199 },
        { 3449, 3449 },
        { 3647, 3647 },
        { 3841, 3843 },
        { 3859, 3863 },
        { 3866, 3871 },
        { 3892, 3892 },
        { 3894, 3894 },
        { 3896, 3896 },
        { 4030, 4037 },
        { 4039, 4044 },
        { 4046, 4047 },
        { 4053, 4056 },
        { 4254, 4255 },
        { 4960, 4960 },
        { 5008, 5017 },
        { 6107, 6107 },
        { 6464, 6464 },
        { 6622, 6655 },
        { 7009, 7018 },
        { 7028, 7036 },
        { 8125, 8125 },
        { 8127, 8129 },
        { 8141, 8143 },
        { 8157, 8159 },
        { 8173, 8175 },
        { 8189, 8190 },
        { 8260, 8260 },
        { 8274, 8274 },
        { 8314, 8316 },
        { 8330, 8332 },
        { 8352, 8377 },
        { 8448, 8449 },
        { 8451, 8454 },
        { 8456, 8457 },
        { 8468, 8468 },
        { 8470, 8472 },
        { 8478, 8483 },
        { 8485, 8485 },
        { 8487, 8487 },
        { 8489, 8489 },
        { 8494, 8494 },
        { 8506, 8507 },
        { 8512, 8516 },
        { 8522, 8525 },
        { 8527, 8527 },
        { 8592, 9000 },
        { 9003, 9203 },
        { 9216, 9254 },
        { 9280, 9290 },
        { 9372, 9449 },
        { 9472, 9983 },
        { 9985, 10087 },
        { 10132, 10180 },
        { 10183, 10186 },
        { 10188, 10188 },
        { 10190, 10213 },
        { 10224, 10626 },
        { 10649, 10711 },
        { 10716, 10747 },
        { 10750, 11084 },
        { 11088, 11097 },
        { 11493, 11498 },
        { 11904, 11929 },
        { 11931, 12019 },
        { 12032, 12245 },
        { 12272, 12283 },
        { 12292, 12292 },
        { 12306, 12307 },
        { 12320, 12320 },
        { 12342, 12343 },
        { 12350, 12351 },
        { 12443, 12444 },
        { 12688, 12689 },
        { 12694, 12703 },
        { 12736, 12771 },
        { 12800, 12830 },
        { 12842, 12880 },
        { 12896, 12927 },
        { 12938, 12976 },
        { 12992, 13054 },
        { 13056, 13311 },
        { 19904, 19967 },
        { 42128, 42182 },
        { 42752, 42774 },
        { 42784, 42785 },
        { 42889, 42890 },
        { 43048, 43051 },
        { 43062, 43065 },
        { 43639, 43641 },
        { 64297, 64297 },
        { 64434, 64449 },
        { 65020, 65021 },
        { 65122, 65122 },
        { 65124, 65126 },
        { 65129, 65129 },
        { 65284, 65284 },
        { 65291, 65291 },
        { 65308, 65310 },
        { 65342, 65342 },
        { 65344, 65344 },
        { 65372, 65372 },
        { 65374, 65374 },
        { 65504, 65510 },
        { 65512, 65518 },
        { 65532, 65533 },
};
static URange32 S_range32[] = {
        { 65794, 65794 },
        { 65847, 65855 },
        { 65913, 65929 },
        { 65936, 65947 },
        { 66000, 66044 },
        { 118784, 119029 },
        { 119040, 119078 },
        { 119081, 119140 },
        { 119146, 119148 },
        { 119171, 119172 },
        { 119180, 119209 },
        { 119214, 119261 },
        { 119296, 119361 },
        { 119365, 119365 },
        { 119552, 119638 },
        { 120513, 120513 },
        { 120539, 120539 },
        { 120571, 120571 },
        { 120597, 120597 },
        { 120629, 120629 },
        { 120655, 120655 },
        { 120687, 120687 },
        { 120713, 120713 },
        { 120745, 120745 },
        { 120771, 120771 },
        { 126976, 127019 },
        { 127024, 127123 },
        { 127136, 127150 },
        { 127153, 127166 },
        { 127169, 127183 },
        { 127185, 127199 },
        { 127248, 127278 },
        { 127280, 127337 },
        { 127344, 127386 },
        { 127462, 127490 },
        { 127504, 127546 },
        { 127552, 127560 },
        { 127568, 127569 },
        { 127744, 127776 },
        { 127792, 127797 },
        { 127799, 127868 },
        { 127872, 127891 },
        { 127904, 127940 },
        { 127942, 127946 },
        { 127968, 127984 },
        { 128000, 128062 },
        { 128064, 128064 },
        { 128066, 128247 },
        { 128249, 128252 },
        { 128256, 128317 },
        { 128336, 128359 },
        { 128507, 128511 },
        { 128513, 128528 },
        { 128530, 128532 },
        { 128534, 128534 },
        { 128536, 128536 },
        { 128538, 128538 },
        { 128540, 128542 },
        { 128544, 128549 },
        { 128552, 128555 },
        { 128557, 128557 },
        { 128560, 128563 },
        { 128565, 128576 },
        { 128581, 128591 },
        { 128640, 128709 },
        { 128768, 128883 },
};
static URange16 So_range16[] = {
        { 166, 167 },
        { 169, 169 },
        { 174, 174 },
        { 176, 176 },
        { 182, 182 },
        { 1154, 1154 },
        { 1550, 1551 },
        { 1758, 1758 },
        { 1769, 1769 },
        { 1789, 1790 },
        { 2038, 2038 },
        { 2554, 2554 },
        { 2928, 2928 },
        { 3059, 3064 },
        { 3066, 3066 },
        { 3199, 3199 },
        { 3449, 3449 },
        { 3841, 3843 },
        { 3859, 3863 },
        { 3866, 3871 },
        { 3892, 3892 },
        { 3894, 3894 },
        { 3896, 3896 },
        { 4030, 4037 },
        { 4039, 4044 },
        { 4046, 4047 },
        { 4053, 4056 },
        { 4254, 4255 },
        { 4960, 4960 },
        { 5008, 5017 },
        { 6464, 6464 },
        { 6622, 6655 },
        { 7009, 7018 },
        { 7028, 7036 },
        { 8448, 8449 },
        { 8451, 8454 },
        { 8456, 8457 },
        { 8468, 8468 },
        { 8470, 8471 },
        { 8478, 8483 },
        { 8485, 8485 },
        { 8487, 8487 },
        { 8489, 8489 },
        { 8494, 8494 },
        { 8506, 8507 },
        { 8522, 8522 },
        { 8524, 8525 },
        { 8527, 8527 },
        { 8597, 8601 },
        { 8604, 8607 },
        { 8609, 8610 },
        { 8612, 8613 },
        { 8615, 8621 },
        { 8623, 8653 },
        { 8656, 8657 },
        { 8659, 8659 },
        { 8661, 8691 },
        { 8960, 8967 },
        { 8972, 8991 },
        { 8994, 9000 },
        { 9003, 9083 },
        { 9085, 9114 },
        { 9140, 9179 },
        { 9186, 9203 },
        { 9216, 9254 },
        { 9280, 9290 },
        { 9372, 9449 },
        { 9472, 9654 },
        { 9656, 9664 },
        { 9666, 9719 },
        { 9728, 9838 },
        { 9840, 9983 },
        { 9985, 10087 },
        { 10132, 10175 },
        { 10240, 10495 },
        { 11008, 11055 },
        { 11077, 11078 },
        { 11088, 11097 },
        { 11493, 11498 },
        { 11904, 11929 },
        { 11931, 12019 },
        { 12032, 12245 },
        { 12272, 12283 },
        { 12292, 12292 },
        { 12306, 12307 },
        { 12320, 12320 },
        { 12342, 12343 },
        { 12350, 12351 },
        { 12688, 12689 },
        { 12694, 12703 },
        { 12736, 12771 },
        { 12800, 12830 },
        { 12842, 12880 },
        { 12896, 12927 },
        { 12938, 12976 },
        { 12992, 13054 },
        { 13056, 13311 },
        { 19904, 19967 },
        { 42128, 42182 },
        { 43048, 43051 },
        { 43062, 43063 },
        { 43065, 43065 },
        { 43639, 43641 },
        { 65021, 65021 },
        { 65508, 65508 },
        { 65512, 65512 },
        { 65517, 65518 },
        { 65532, 65533 },
};
static URange32 So_range32[] = {
        { 65794, 65794 },
        { 65847, 65855 },
        { 65913, 65929 },
        { 65936, 65947 },
        { 66000, 66044 },
        { 118784, 119029 },
        { 119040, 119078 },
        { 119081, 119140 },
        { 119146, 119148 },
        { 119171, 119172 },
        { 119180, 119209 },
        { 119214, 119261 },
        { 119296, 119361 },
        { 119365, 119365 },
        { 119552, 119638 },
        { 126976, 127019 },
        { 127024, 127123 },
        { 127136, 127150 },
        { 127153, 127166 },
        { 127169, 127183 },
        { 127185, 127199 },
        { 127248, 127278 },
        { 127280, 127337 },
        { 127344, 127386 },
        { 127462, 127490 },
        { 127504, 127546 },
        { 127552, 127560 },
        { 127568, 127569 },
        { 127744, 127776 },
        { 127792, 127797 },
        { 127799, 127868 },
        { 127872, 127891 },
        { 127904, 127940 },
        { 127942, 127946 },
        { 127968, 127984 },
        { 128000, 128062 },
        { 128064, 128064 },
        { 128066, 128247 },
        { 128249, 128252 },
        { 128256, 128317 },
        { 128336, 128359 },
        { 128507, 128511 },
        { 128513, 128528 },
        { 128530, 128532 },
        { 128534, 128534 },
        { 128536, 128536 },
        { 128538, 128538 },
        { 128540, 128542 },
        { 128544, 128549 },
        { 128552, 128555 },
        { 128557, 128557 },
        { 128560, 128563 },
        { 128565, 128576 },
        { 128581, 128591 },
        { 128640, 128709 },
        { 128768, 128883 },
};
static URange16 Sm_range16[] = {
        { 43, 43 },
        { 60, 62 },
        { 124, 124 },
        { 126, 126 },
        { 172, 172 },
        { 177, 177 },
        { 215, 215 },
        { 247, 247 },
        { 1014, 1014 },
        { 1542, 1544 },
        { 8260, 8260 },
        { 8274, 8274 },
        { 8314, 8316 },
        { 8330, 8332 },
        { 8472, 8472 },
        { 8512, 8516 },
        { 8523, 8523 },
        { 8592, 8596 },
        { 8602, 8603 },
        { 8608, 8608 },
        { 8611, 8611 },
        { 8614, 8614 },
        { 8622, 8622 },
        { 8654, 8655 },
        { 8658, 8658 },
        { 8660, 8660 },
        { 8692, 8959 },
        { 8968, 8971 },
        { 8992, 8993 },
        { 9084, 9084 },
        { 9115, 9139 },
        { 9180, 9185 },
        { 9655, 9655 },
        { 9665, 9665 },
        { 9720, 9727 },
        { 9839, 9839 },
        { 10176, 10180 },
        { 10183, 10186 },
        { 10188, 10188 },
        { 10190, 10213 },
        { 10224, 10239 },
        { 10496, 10626 },
        { 10649, 10711 },
        { 10716, 10747 },
        { 10750, 11007 },
        { 11056, 11076 },
        { 11079, 11084 },
        { 64297, 64297 },
        { 65122, 65122 },
        { 65124, 65126 },
        { 65291, 65291 },
        { 65308, 65310 },
        { 65372, 65372 },
        { 65374, 65374 },
        { 65506, 65506 },
        { 65513, 65516 },
};
static URange32 Sm_range32[] = {
        { 120513, 120513 },
        { 120539, 120539 },
        { 120571, 120571 },
        { 120597, 120597 },
        { 120629, 120629 },
        { 120655, 120655 },
        { 120687, 120687 },
        { 120713, 120713 },
        { 120745, 120745 },
        { 120771, 120771 },
};
static URange16 Sc_range16[] = {
        { 36, 36 },
        { 162, 165 },
        { 1547, 1547 },
        { 2546, 2547 },
        { 2555, 2555 },
        { 2801, 2801 },
        { 3065, 3065 },
        { 3647, 3647 },
        { 6107, 6107 },
        { 8352, 8377 },
        { 43064, 43064 },
        { 65020, 65020 },
        { 65129, 65129 },
        { 65284, 65284 },
        { 65504, 65505 },
        { 65509, 65510 },
};
static URange16 Z_range16[] = {
        { 32, 32 },
        { 160, 160 },
        { 5760, 5760 },
        { 6158, 6158 },
        { 8192, 8202 },
        { 8232, 8233 },
        { 8239, 8239 },
        { 8287, 8287 },
        { 12288, 12288 },
};
static URange16 Zl_range16[] = {
        { 8232, 8232 },
};
static URange16 Co_range16[] = {
        { 57344, 63743 },
};
static URange32 Co_range32[] = {
        { 983040, 1048573 },
        { 1048576, 1114109 },
};
static URange16 Cc_range16[] = {
        { 0, 31 },
        { 127, 159 },
};
static URange16 Cf_range16[] = {
        { 173, 173 },
        { 1536, 1539 },
        { 1757, 1757 },
        { 1807, 1807 },
        { 6068, 6069 },
        { 8203, 8207 },
        { 8234, 8238 },
        { 8288, 8292 },
        { 8298, 8303 },
        { 65279, 65279 },
        { 65529, 65531 },
};
static URange32 Cf_range32[] = {
        { 69821, 69821 },
        { 119155, 119162 },
        { 917505, 917505 },
        { 917536, 917631 },
};
static URange16 Cs_range16[] = {
        { 55296, 57343 },
};
static URange16 Zp_range16[] = {
        { 8233, 8233 },
};
static URange16 Zs_range16[] = {
        { 32, 32 },
        { 160, 160 },
        { 5760, 5760 },
        { 6158, 6158 },
        { 8192, 8202 },
        { 8239, 8239 },
        { 8287, 8287 },
        { 12288, 12288 },
};
static URange16 Thaana_range16[] = {
        { 1920, 1969 },
};
static URange16 Telugu_range16[] = {
        { 3073, 3075 },
        { 3077, 3084 },
        { 3086, 3088 },
        { 3090, 3112 },
        { 3114, 3123 },
        { 3125, 3129 },
        { 3133, 3140 },
        { 3142, 3144 },
        { 3146, 3149 },
        { 3157, 3158 },
        { 3160, 3161 },
        { 3168, 3171 },
        { 3174, 3183 },
        { 3192, 3199 },
};
static URange16 Cyrillic_range16[] = {
        { 1024, 1156 },
        { 1159, 1319 },
        { 7467, 7467 },
        { 7544, 7544 },
        { 11744, 11775 },
        { 42560, 42611 },
        { 42620, 42647 },
};
static URange16 Hangul_range16[] = {
        { 4352, 4607 },
        { 12334, 12335 },
        { 12593, 12686 },
        { 12800, 12830 },
        { 12896, 12926 },
        { 43360, 43388 },
        { 44032, 55203 },
        { 55216, 55238 },
        { 55243, 55291 },
        { 65440, 65470 },
        { 65474, 65479 },
        { 65482, 65487 },
        { 65490, 65495 },
        { 65498, 65500 },
};
static URange32 Old_South_Arabian_range32[] = {
        { 68192, 68223 },
};
static URange16 Ethiopic_range16[] = {
        { 4608, 4680 },
        { 4682, 4685 },
        { 4688, 4694 },
        { 4696, 4696 },
        { 4698, 4701 },
        { 4704, 4744 },
        { 4746, 4749 },
        { 4752, 4784 },
        { 4786, 4789 },
        { 4792, 4798 },
        { 4800, 4800 },
        { 4802, 4805 },
        { 4808, 4822 },
        { 4824, 4880 },
        { 4882, 4885 },
        { 4888, 4954 },
        { 4957, 4988 },
        { 4992, 5017 },
        { 11648, 11670 },
        { 11680, 11686 },
        { 11688, 11694 },
        { 11696, 11702 },
        { 11704, 11710 },
        { 11712, 11718 },
        { 11720, 11726 },
        { 11728, 11734 },
        { 11736, 11742 },
        { 43777, 43782 },
        { 43785, 43790 },
        { 43793, 43798 },
        { 43808, 43814 },
        { 43816, 43822 },
};
static URange16 Inherited_range16[] = {
        { 768, 879 },
        { 1157, 1158 },
        { 1611, 1621 },
        { 1631, 1631 },
        { 1648, 1648 },
        { 2385, 2386 },
        { 7376, 7378 },
        { 7380, 7392 },
        { 7394, 7400 },
        { 7405, 7405 },
        { 7616, 7654 },
        { 7676, 7679 },
        { 8204, 8205 },
        { 8400, 8432 },
        { 12330, 12333 },
        { 12441, 12442 },
        { 65024, 65039 },
        { 65056, 65062 },
};
static URange32 Inherited_range32[] = {
        { 66045, 66045 },
        { 119143, 119145 },
        { 119163, 119170 },
        { 119173, 119179 },
        { 119210, 119213 },
        { 917760, 917999 },
};
static URange16 Han_range16[] = {
        { 11904, 11929 },
        { 11931, 12019 },
        { 12032, 12245 },
        { 12293, 12293 },
        { 12295, 12295 },
        { 12321, 12329 },
        { 12344, 12347 },
        { 13312, 19893 },
        { 19968, 40907 },
        { 63744, 64045 },
        { 64048, 64109 },
        { 64112, 64217 },
};
static URange32 Han_range32[] = {
        { 131072, 173782 },
        { 173824, 177972 },
        { 177984, 178205 },
        { 194560, 195101 },
};
static URange16 Armenian_range16[] = {
        { 1329, 1366 },
        { 1369, 1375 },
        { 1377, 1415 },
        { 1418, 1418 },
        { 64275, 64279 },
};
static URange16 Tamil_range16[] = {
        { 2946, 2947 },
        { 2949, 2954 },
        { 2958, 2960 },
        { 2962, 2965 },
        { 2969, 2970 },
        { 2972, 2972 },
        { 2974, 2975 },
        { 2979, 2980 },
        { 2984, 2986 },
        { 2990, 3001 },
        { 3006, 3010 },
        { 3014, 3016 },
        { 3018, 3021 },
        { 3024, 3024 },
        { 3031, 3031 },
        { 3046, 3066 },
};
static URange16 Bopomofo_range16[] = {
        { 746, 747 },
        { 12549, 12589 },
        { 12704, 12730 },
};
static URange16 Sundanese_range16[] = {
        { 7040, 7082 },
        { 7086, 7097 },
};
static URange16 Tagalog_range16[] = {
        { 5888, 5900 },
        { 5902, 5908 },
};
static URange16 Malayalam_range16[] = {
        { 3330, 3331 },
        { 3333, 3340 },
        { 3342, 3344 },
        { 3346, 3386 },
        { 3389, 3396 },
        { 3398, 3400 },
        { 3402, 3406 },
        { 3415, 3415 },
        { 3424, 3427 },
        { 3430, 3445 },
        { 3449, 3455 },
};
static URange32 Carian_range32[] = {
        { 66208, 66256 },
};
static URange16 Hiragana_range16[] = {
        { 12353, 12438 },
        { 12445, 12447 },
};
static URange32 Hiragana_range32[] = {
        { 110593, 110593 },
        { 127488, 127488 },
};
static URange16 Tagbanwa_range16[] = {
        { 5984, 5996 },
        { 5998, 6000 },
        { 6002, 6003 },
};
static URange16 Meetei_Mayek_range16[] = {
        { 43968, 44013 },
        { 44016, 44025 },
};
static URange16 Tai_Le_range16[] = {
        { 6480, 6509 },
        { 6512, 6516 },
};
static URange16 Kayah_Li_range16[] = {
        { 43264, 43311 },
};
static URange16 Buginese_range16[] = {
        { 6656, 6683 },
        { 6686, 6687 },
};
static URange32 Kharoshthi_range32[] = {
        { 68096, 68099 },
        { 68101, 68102 },
        { 68108, 68115 },
        { 68117, 68119 },
        { 68121, 68147 },
        { 68152, 68154 },
        { 68159, 68167 },
        { 68176, 68184 },
};
static URange16 Tai_Tham_range16[] = {
        { 6688, 6750 },
        { 6752, 6780 },
        { 6783, 6793 },
        { 6800, 6809 },
        { 6816, 6829 },
};
static URange32 Old_Italic_range32[] = {
        { 66304, 66334 },
        { 66336, 66339 },
};
static URange32 Old_Persian_range32[] = {
        { 66464, 66499 },
        { 66504, 66517 },
};
static URange16 Latin_range16[] = {
        { 65, 90 },
        { 97, 122 },
        { 170, 170 },
        { 186, 186 },
        { 192, 214 },
        { 216, 246 },
        { 248, 696 },
        { 736, 740 },
        { 7424, 7461 },
        { 7468, 7516 },
        { 7522, 7525 },
        { 7531, 7543 },
        { 7545, 7614 },
        { 7680, 7935 },
        { 8305, 8305 },
        { 8319, 8319 },
        { 8336, 8348 },
        { 8490, 8491 },
        { 8498, 8498 },
        { 8526, 8526 },
        { 8544, 8584 },
        { 11360, 11391 },
        { 42786, 42887 },
        { 42891, 42894 },
        { 42896, 42897 },
        { 42912, 42921 },
        { 43002, 43007 },
        { 64256, 64262 },
        { 65313, 65338 },
        { 65345, 65370 },
};
static URange16 Saurashtra_range16[] = {
        { 43136, 43204 },
        { 43214, 43225 },
};
static URange32 Shavian_range32[] = {
        { 66640, 66687 },
};
static URange16 Georgian_range16[] = {
        { 4256, 4293 },
        { 4304, 4346 },
        { 4348, 4348 },
        { 11520, 11557 },
};
static URange16 Batak_range16[] = {
        { 7104, 7155 },
        { 7164, 7167 },
};
static URange16 Devanagari_range16[] = {
        { 2304, 2384 },
        { 2387, 2403 },
        { 2406, 2415 },
        { 2417, 2423 },
        { 2425, 2431 },
        { 43232, 43259 },
};
static URange16 Thai_range16[] = {
        { 3585, 3642 },
        { 3648, 3675 },
};
static URange16 Tibetan_range16[] = {
        { 3840, 3911 },
        { 3913, 3948 },
        { 3953, 3991 },
        { 3993, 4028 },
        { 4030, 4044 },
        { 4046, 4052 },
        { 4057, 4058 },
};
static URange16 Tifinagh_range16[] = {
        { 11568, 11621 },
        { 11631, 11632 },
        { 11647, 11647 },
};
static URange32 Ugaritic_range32[] = {
        { 66432, 66461 },
        { 66463, 66463 },
};
static URange16 Braille_range16[] = {
        { 10240, 10495 },
};
static URange16 Greek_range16[] = {
        { 880, 883 },
        { 885, 887 },
        { 890, 893 },
        { 900, 900 },
        { 902, 902 },
        { 904, 906 },
        { 908, 908 },
        { 910, 929 },
        { 931, 993 },
        { 1008, 1023 },
        { 7462, 7466 },
        { 7517, 7521 },
        { 7526, 7530 },
        { 7615, 7615 },
        { 7936, 7957 },
        { 7960, 7965 },
        { 7968, 8005 },
        { 8008, 8013 },
        { 8016, 8023 },
        { 8025, 8025 },
        { 8027, 8027 },
        { 8029, 8029 },
        { 8031, 8061 },
        { 8064, 8116 },
        { 8118, 8132 },
        { 8134, 8147 },
        { 8150, 8155 },
        { 8157, 8175 },
        { 8178, 8180 },
        { 8182, 8190 },
        { 8486, 8486 },
};
static URange32 Greek_range32[] = {
        { 65856, 65930 },
        { 119296, 119365 },
};
static URange32 Lycian_range32[] = {
        { 66176, 66204 },
};
static URange16 Tai_Viet_range16[] = {
        { 43648, 43714 },
        { 43739, 43743 },
};
static URange16 Vai_range16[] = {
        { 42240, 42539 },
};
static URange16 Ogham_range16[] = {
        { 5760, 5788 },
};
static URange32 Inscriptional_Parthian_range32[] = {
        { 68416, 68437 },
        { 68440, 68447 },
};
static URange16 Cham_range16[] = {
        { 43520, 43574 },
        { 43584, 43597 },
        { 43600, 43609 },
        { 43612, 43615 },
};
static URange16 Syriac_range16[] = {
        { 1792, 1805 },
        { 1807, 1866 },
        { 1869, 1871 },
};
static URange16 Runic_range16[] = {
        { 5792, 5866 },
        { 5870, 5872 },
};
static URange32 Gothic_range32[] = {
        { 66352, 66378 },
};
static URange16 Katakana_range16[] = {
        { 12449, 12538 },
        { 12541, 12543 },
        { 12784, 12799 },
        { 13008, 13054 },
        { 13056, 13143 },
        { 65382, 65391 },
        { 65393, 65437 },
};
static URange32 Katakana_range32[] = {
        { 110592, 110592 },
};
static URange32 Osmanya_range32[] = {
        { 66688, 66717 },
        { 66720, 66729 },
};
static URange16 New_Tai_Lue_range16[] = {
        { 6528, 6571 },
        { 6576, 6601 },
        { 6608, 6618 },
        { 6622, 6623 },
};
static URange16 Ol_Chiki_range16[] = {
        { 7248, 7295 },
};
static URange16 Limbu_range16[] = {
        { 6400, 6428 },
        { 6432, 6443 },
        { 6448, 6459 },
        { 6464, 6464 },
        { 6468, 6479 },
};
static URange16 Cherokee_range16[] = {
        { 5024, 5108 },
};
static URange16 Oriya_range16[] = {
        { 2817, 2819 },
        { 2821, 2828 },
        { 2831, 2832 },
        { 2835, 2856 },
        { 2858, 2864 },
        { 2866, 2867 },
        { 2869, 2873 },
        { 2876, 2884 },
        { 2887, 2888 },
        { 2891, 2893 },
        { 2902, 2903 },
        { 2908, 2909 },
        { 2911, 2915 },
        { 2918, 2935 },
};
static URange16 Gujarati_range16[] = {
        { 2689, 2691 },
        { 2693, 2701 },
        { 2703, 2705 },
        { 2707, 2728 },
        { 2730, 2736 },
        { 2738, 2739 },
        { 2741, 2745 },
        { 2748, 2757 },
        { 2759, 2761 },
        { 2763, 2765 },
        { 2768, 2768 },
        { 2784, 2787 },
        { 2790, 2799 },
        { 2801, 2801 },
};
static URange32 Inscriptional_Pahlavi_range32[] = {
        { 68448, 68466 },
        { 68472, 68479 },
};
static URange16 Khmer_range16[] = {
        { 6016, 6109 },
        { 6112, 6121 },
        { 6128, 6137 },
        { 6624, 6655 },
};
static URange32 Cuneiform_range32[] = {
        { 73728, 74606 },
        { 74752, 74850 },
        { 74864, 74867 },
};
static URange16 Mandaic_range16[] = {
        { 2112, 2139 },
        { 2142, 2142 },
};
static URange16 Syloti_Nagri_range16[] = {
        { 43008, 43051 },
};
static URange16 Nko_range16[] = {
        { 1984, 2042 },
};
static URange16 Canadian_Aboriginal_range16[] = {
        { 5120, 5759 },
        { 6320, 6389 },
};
static URange32 Phoenician_range32[] = {
        { 67840, 67867 },
        { 67871, 67871 },
};
static URange16 Bengali_range16[] = {
        { 2433, 2435 },
        { 2437, 2444 },
        { 2447, 2448 },
        { 2451, 2472 },
        { 2474, 2480 },
        { 2482, 2482 },
        { 2486, 2489 },
        { 2492, 2500 },
        { 2503, 2504 },
        { 2507, 2510 },
        { 2519, 2519 },
        { 2524, 2525 },
        { 2527, 2531 },
        { 2534, 2555 },
};
static URange32 Kaithi_range32[] = {
        { 69760, 69825 },
};
static URange16 Glagolitic_range16[] = {
        { 11264, 11310 },
        { 11312, 11358 },
};
static URange32 Imperial_Aramaic_range32[] = {
        { 67648, 67669 },
        { 67671, 67679 },
};
static URange16 Gurmukhi_range16[] = {
        { 2561, 2563 },
        { 2565, 2570 },
        { 2575, 2576 },
        { 2579, 2600 },
        { 2602, 2608 },
        { 2610, 2611 },
        { 2613, 2614 },
        { 2616, 2617 },
        { 2620, 2620 },
        { 2622, 2626 },
        { 2631, 2632 },
        { 2635, 2637 },
        { 2641, 2641 },
        { 2649, 2652 },
        { 2654, 2654 },
        { 2662, 2677 },
};
static URange16 Javanese_range16[] = {
        { 43392, 43469 },
        { 43471, 43481 },
        { 43486, 43487 },
};
static URange16 Phags_Pa_range16[] = {
        { 43072, 43127 },
};
static URange32 Cypriot_range32[] = {
        { 67584, 67589 },
        { 67592, 67592 },
        { 67594, 67637 },
        { 67639, 67640 },
        { 67644, 67644 },
        { 67647, 67647 },
};
static URange16 Kannada_range16[] = {
        { 3202, 3203 },
        { 3205, 3212 },
        { 3214, 3216 },
        { 3218, 3240 },
        { 3242, 3251 },
        { 3253, 3257 },
        { 3260, 3268 },
        { 3270, 3272 },
        { 3274, 3277 },
        { 3285, 3286 },
        { 3294, 3294 },
        { 3296, 3299 },
        { 3302, 3311 },
        { 3313, 3314 },
};
static URange16 Mongolian_range16[] = {
        { 6144, 6145 },
        { 6148, 6148 },
        { 6150, 6158 },
        { 6160, 6169 },
        { 6176, 6263 },
        { 6272, 6314 },
};
static URange16 Sinhala_range16[] = {
        { 3458, 3459 },
        { 3461, 3478 },
        { 3482, 3505 },
        { 3507, 3515 },
        { 3517, 3517 },
        { 3520, 3526 },
        { 3530, 3530 },
        { 3535, 3540 },
        { 3542, 3542 },
        { 3544, 3551 },
        { 3570, 3572 },
};
static URange32 Brahmi_range32[] = {
        { 69632, 69709 },
        { 69714, 69743 },
};
static URange32 Deseret_range32[] = {
        { 66560, 66639 },
};
static URange16 Rejang_range16[] = {
        { 43312, 43347 },
        { 43359, 43359 },
};
static URange16 Yi_range16[] = {
        { 40960, 42124 },
        { 42128, 42182 },
};
static URange16 Balinese_range16[] = {
        { 6912, 6987 },
        { 6992, 7036 },
};
static URange16 Lao_range16[] = {
        { 3713, 3714 },
        { 3716, 3716 },
        { 3719, 3720 },
        { 3722, 3722 },
        { 3725, 3725 },
        { 3732, 3735 },
        { 3737, 3743 },
        { 3745, 3747 },
        { 3749, 3749 },
        { 3751, 3751 },
        { 3754, 3755 },
        { 3757, 3769 },
        { 3771, 3773 },
        { 3776, 3780 },
        { 3782, 3782 },
        { 3784, 3789 },
        { 3792, 3801 },
        { 3804, 3805 },
};
static URange16 Hanunoo_range16[] = {
        { 5920, 5940 },
};
static URange32 Linear_B_range32[] = {
        { 65536, 65547 },
        { 65549, 65574 },
        { 65576, 65594 },
        { 65596, 65597 },
        { 65599, 65613 },
        { 65616, 65629 },
        { 65664, 65786 },
};
static URange32 Old_Turkic_range32[] = {
        { 68608, 68680 },
};
static URange16 Lepcha_range16[] = {
        { 7168, 7223 },
        { 7227, 7241 },
        { 7245, 7247 },
};
static URange32 Lydian_range32[] = {
        { 67872, 67897 },
        { 67903, 67903 },
};
static URange32 Egyptian_Hieroglyphs_range32[] = {
        { 77824, 78894 },
};
static URange16 Samaritan_range16[] = {
        { 2048, 2093 },
        { 2096, 2110 },
};
static URange16 Lisu_range16[] = {
        { 42192, 42239 },
};
static URange16 Buhid_range16[] = {
        { 5952, 5971 },
};
static URange16 Common_range16[] = {
        { 0, 64 },
        { 91, 96 },
        { 123, 169 },
        { 171, 185 },
        { 187, 191 },
        { 215, 215 },
        { 247, 247 },
        { 697, 735 },
        { 741, 745 },
        { 748, 767 },
        { 884, 884 },
        { 894, 894 },
        { 901, 901 },
        { 903, 903 },
        { 1417, 1417 },
        { 1548, 1548 },
        { 1563, 1563 },
        { 1567, 1567 },
        { 1600, 1600 },
        { 1632, 1641 },
        { 1757, 1757 },
        { 2404, 2405 },
        { 2416, 2416 },
        { 3647, 3647 },
        { 4053, 4056 },
        { 4347, 4347 },
        { 5867, 5869 },
        { 5941, 5942 },
        { 6146, 6147 },
        { 6149, 6149 },
        { 7379, 7379 },
        { 7393, 7393 },
        { 7401, 7404 },
        { 7406, 7410 },
        { 8192, 8203 },
        { 8206, 8292 },
        { 8298, 8304 },
        { 8308, 8318 },
        { 8320, 8334 },
        { 8352, 8377 },
        { 8448, 8485 },
        { 8487, 8489 },
        { 8492, 8497 },
        { 8499, 8525 },
        { 8527, 8543 },
        { 8585, 8585 },
        { 8592, 9203 },
        { 9216, 9254 },
        { 9280, 9290 },
        { 9312, 9983 },
        { 9985, 10186 },
        { 10188, 10188 },
        { 10190, 10239 },
        { 10496, 11084 },
        { 11088, 11097 },
        { 11776, 11825 },
        { 12272, 12283 },
        { 12288, 12292 },
        { 12294, 12294 },
        { 12296, 12320 },
        { 12336, 12343 },
        { 12348, 12351 },
        { 12443, 12444 },
        { 12448, 12448 },
        { 12539, 12540 },
        { 12688, 12703 },
        { 12736, 12771 },
        { 12832, 12895 },
        { 12927, 13007 },
        { 13144, 13311 },
        { 19904, 19967 },
        { 42752, 42785 },
        { 42888, 42890 },
        { 43056, 43065 },
        { 64830, 64831 },
        { 65021, 65021 },
        { 65040, 65049 },
        { 65072, 65106 },
        { 65108, 65126 },
        { 65128, 65131 },
        { 65279, 65279 },
        { 65281, 65312 },
        { 65339, 65344 },
        { 65371, 65381 },
        { 65392, 65392 },
        { 65438, 65439 },
        { 65504, 65510 },
        { 65512, 65518 },
        { 65529, 65533 },
};
static URange32 Common_range32[] = {
        { 65792, 65794 },
        { 65799, 65843 },
        { 65847, 65855 },
        { 65936, 65947 },
        { 66000, 66044 },
        { 118784, 119029 },
        { 119040, 119078 },
        { 119081, 119142 },
        { 119146, 119162 },
        { 119171, 119172 },
        { 119180, 119209 },
        { 119214, 119261 },
        { 119552, 119638 },
        { 119648, 119665 },
        { 119808, 119892 },
        { 119894, 119964 },
        { 119966, 119967 },
        { 119970, 119970 },
        { 119973, 119974 },
        { 119977, 119980 },
        { 119982, 119993 },
        { 119995, 119995 },
        { 119997, 120003 },
        { 120005, 120069 },
        { 120071, 120074 },
        { 120077, 120084 },
        { 120086, 120092 },
        { 120094, 120121 },
        { 120123, 120126 },
        { 120128, 120132 },
        { 120134, 120134 },
        { 120138, 120144 },
        { 120146, 120485 },
        { 120488, 120779 },
        { 120782, 120831 },
        { 126976, 127019 },
        { 127024, 127123 },
        { 127136, 127150 },
        { 127153, 127166 },
        { 127169, 127183 },
        { 127185, 127199 },
        { 127232, 127242 },
        { 127248, 127278 },
        { 127280, 127337 },
        { 127344, 127386 },
        { 127462, 127487 },
        { 127489, 127490 },
        { 127504, 127546 },
        { 127552, 127560 },
        { 127568, 127569 },
        { 127744, 127776 },
        { 127792, 127797 },
        { 127799, 127868 },
        { 127872, 127891 },
        { 127904, 127940 },
        { 127942, 127946 },
        { 127968, 127984 },
        { 128000, 128062 },
        { 128064, 128064 },
        { 128066, 128247 },
        { 128249, 128252 },
        { 128256, 128317 },
        { 128336, 128359 },
        { 128507, 128511 },
        { 128513, 128528 },
        { 128530, 128532 },
        { 128534, 128534 },
        { 128536, 128536 },
        { 128538, 128538 },
        { 128540, 128542 },
        { 128544, 128549 },
        { 128552, 128555 },
        { 128557, 128557 },
        { 128560, 128563 },
        { 128565, 128576 },
        { 128581, 128591 },
        { 128640, 128709 },
        { 128768, 128883 },
        { 917505, 917505 },
        { 917536, 917631 },
};
static URange16 Coptic_range16[] = {
        { 994, 1007 },
        { 11392, 11505 },
        { 11513, 11519 },
};
static URange16 Arabic_range16[] = {
        { 1536, 1539 },
        { 1542, 1547 },
        { 1549, 1562 },
        { 1566, 1566 },
        { 1568, 1599 },
        { 1601, 1610 },
        { 1622, 1630 },
        { 1642, 1647 },
        { 1649, 1756 },
        { 1758, 1791 },
        { 1872, 1919 },
        { 64336, 64449 },
        { 64467, 64829 },
        { 64848, 64911 },
        { 64914, 64967 },
        { 65008, 65020 },
        { 65136, 65140 },
        { 65142, 65276 },
};
static URange32 Arabic_range32[] = {
        { 69216, 69246 },
};
static URange16 Bamum_range16[] = {
        { 42656, 42743 },
};
static URange32 Bamum_range32[] = {
        { 92160, 92728 },
};
static URange16 Myanmar_range16[] = {
        { 4096, 4255 },
        { 43616, 43643 },
};
static URange32 Avestan_range32[] = {
        { 68352, 68405 },
        { 68409, 68415 },
};
static URange16 Hebrew_range16[] = {
        { 1425, 1479 },
        { 1488, 1514 },
        { 1520, 1524 },
        { 64285, 64310 },
        { 64312, 64316 },
        { 64318, 64318 },
        { 64320, 64321 },
        { 64323, 64324 },
        { 64326, 64335 },
};
// 3804 16-bit ranges, 582 32-bit ranges
UGroup unicode_groups[] = {
        { "Arabic", +1, Arabic_range16, 18, Arabic_range32, 1 },
        { "Armenian", +1, Armenian_range16, 5, 0, 0 },
        { "Avestan", +1, 0, 0, Avestan_range32, 2 },
        { "Balinese", +1, Balinese_range16, 2, 0, 0 },
        { "Bamum", +1, Bamum_range16, 1, Bamum_range32, 1 },
        { "Batak", +1, Batak_range16, 2, 0, 0 },
        { "Bengali", +1, Bengali_range16, 14, 0, 0 },
        { "Bopomofo", +1, Bopomofo_range16, 3, 0, 0 },
        { "Brahmi", +1, 0, 0, Brahmi_range32, 2 },
        { "Braille", +1, Braille_range16, 1, 0, 0 },
        { "Buginese", +1, Buginese_range16, 2, 0, 0 },
        { "Buhid", +1, Buhid_range16, 1, 0, 0 },
        { "C", +1, C_range16, 14, C_range32, 6 },
        { "Canadian_Aboriginal", +1, Canadian_Aboriginal_range16, 2, 0, 0 },
        { "Carian", +1, 0, 0, Carian_range32, 1 },
        { "Cc", +1, Cc_range16, 2, 0, 0 },
        { "Cf", +1, Cf_range16, 11, Cf_range32, 4 },
        { "Cham", +1, Cham_range16, 4, 0, 0 },
        { "Cherokee", +1, Cherokee_range16, 1, 0, 0 },
        { "Co", +1, Co_range16, 1, Co_range32, 2 },
        { "Common", +1, Common_range16, 89, Common_range32, 80 },
        { "Coptic", +1, Coptic_range16, 3, 0, 0 },
        { "Cs", +1, Cs_range16, 1, 0, 0 },
        { "Cuneiform", +1, 0, 0, Cuneiform_range32, 3 },
        { "Cypriot", +1, 0, 0, Cypriot_range32, 6 },
        { "Cyrillic", +1, Cyrillic_range16, 7, 0, 0 },
        { "Deseret", +1, 0, 0, Deseret_range32, 1 },
        { "Devanagari", +1, Devanagari_range16, 6, 0, 0 },
        { "Egyptian_Hieroglyphs", +1, 0, 0, Egyptian_Hieroglyphs_range32, 1 },
        { "Ethiopic", +1, Ethiopic_range16, 32, 0, 0 },
        { "Georgian", +1, Georgian_range16, 4, 0, 0 },
        { "Glagolitic", +1, Glagolitic_range16, 2, 0, 0 },
        { "Gothic", +1, 0, 0, Gothic_range32, 1 },
        { "Greek", +1, Greek_range16, 31, Greek_range32, 2 },
        { "Gujarati", +1, Gujarati_range16, 14, 0, 0 },
        { "Gurmukhi", +1, Gurmukhi_range16, 16, 0, 0 },
        { "Han", +1, Han_range16, 12, Han_range32, 4 },
        { "Hangul", +1, Hangul_range16, 14, 0, 0 },
        { "Hanunoo", +1, Hanunoo_range16, 1, 0, 0 },
        { "Hebrew", +1, Hebrew_range16, 9, 0, 0 },
        { "Hiragana", +1, Hiragana_range16, 2, Hiragana_range32, 2 },
        { "Imperial_Aramaic", +1, 0, 0, Imperial_Aramaic_range32, 2 },
        { "Inherited", +1, Inherited_range16, 18, Inherited_range32, 6 },
        { "Inscriptional_Pahlavi", +1, 0, 0, Inscriptional_Pahlavi_range32, 2 },
        { "Inscriptional_Parthian", +1, 0, 0, Inscriptional_Parthian_range32, 2 },
        { "Javanese", +1, Javanese_range16, 3, 0, 0 },
        { "Kaithi", +1, 0, 0, Kaithi_range32, 1 },
        { "Kannada", +1, Kannada_range16, 14, 0, 0 },
        { "Katakana", +1, Katakana_range16, 7, Katakana_range32, 1 },
        { "Kayah_Li", +1, Kayah_Li_range16, 1, 0, 0 },
        { "Kharoshthi", +1, 0, 0, Kharoshthi_range32, 8 },
        { "Khmer", +1, Khmer_range16, 4, 0, 0 },
        { "L", +1, L_range16, 362, L_range32, 73 },
        { "Lao", +1, Lao_range16, 18, 0, 0 },
        { "Latin", +1, Latin_range16, 30, 0, 0 },
        { "Lepcha", +1, Lepcha_range16, 3, 0, 0 },
        { "Limbu", +1, Limbu_range16, 5, 0, 0 },
        { "Linear_B", +1, 0, 0, Linear_B_range32, 7 },
        { "Lisu", +1, Lisu_range16, 1, 0, 0 },
        { "Ll", +1, Ll_range16, 580, Ll_range32, 29 },
        { "Lm", +1, Lm_range16, 49, 0, 0 },
        { "Lo", +1, Lo_range16, 280, Lo_range32, 43 },
        { "Lt", +1, Lt_range16, 10, 0, 0 },
        { "Lu", +1, Lu_range16, 571, Lu_range32, 32 },
        { "Lycian", +1, 0, 0, Lycian_range32, 1 },
        { "Lydian", +1, 0, 0, Lydian_range32, 2 },
        { "M", +1, M_range16, 176, M_range32, 17 },
        { "Malayalam", +1, Malayalam_range16, 11, 0, 0 },
        { "Mandaic", +1, Mandaic_range16, 2, 0, 0 },
        { "Mc", +1, Mc_range16, 106, Mc_range32, 7 },
        { "Me", +1, Me_range16, 4, 0, 0 },
        { "Meetei_Mayek", +1, Meetei_Mayek_range16, 2, 0, 0 },
        { "Mn", +1, Mn_range16, 186, Mn_range32, 17 },
        { "Mongolian", +1, Mongolian_range16, 6, 0, 0 },
        { "Myanmar", +1, Myanmar_range16, 2, 0, 0 },
        { "N", +1, N_range16, 63, N_range32, 20 },
        { "Nd", +1, Nd_range16, 35, Nd_range32, 3 },
        { "New_Tai_Lue", +1, New_Tai_Lue_range16, 4, 0, 0 },
        { "Nko", +1, Nko_range16, 1, 0, 0 },
        { "Nl", +1, Nl_range16, 7, Nl_range32, 5 },
        { "No", +1, No_range16, 27, No_range32, 14 },
        { "Ogham", +1, Ogham_range16, 1, 0, 0 },
        { "Ol_Chiki", +1, Ol_Chiki_range16, 1, 0, 0 },
        { "Old_Italic", +1, 0, 0, Old_Italic_range32, 2 },
        { "Old_Persian", +1, 0, 0, Old_Persian_range32, 2 },
        { "Old_South_Arabian", +1, 0, 0, Old_South_Arabian_range32, 1 },
        { "Old_Turkic", +1, 0, 0, Old_Turkic_range32, 1 },
        { "Oriya", +1, Oriya_range16, 14, 0, 0 },
        { "Osmanya", +1, 0, 0, Osmanya_range32, 2 },
        { "P", +1, P_range16, 120, P_range32, 13 },
        { "Pc", +1, Pc_range16, 6, 0, 0 },
        { "Pd", +1, Pd_range16, 15, 0, 0 },
        { "Pe", +1, Pe_range16, 70, 0, 0 },
        { "Pf", +1, Pf_range16, 10, 0, 0 },
        { "Phags_Pa", +1, Phags_Pa_range16, 1, 0, 0 },
        { "Phoenician", +1, 0, 0, Phoenician_range32, 2 },
        { "Pi", +1, Pi_range16, 11, 0, 0 },
        { "Po", +1, Po_range16, 115, Po_range32, 13 },
        { "Ps", +1, Ps_range16, 72, 0, 0 },
        { "Rejang", +1, Rejang_range16, 2, 0, 0 },
        { "Runic", +1, Runic_range16, 2, 0, 0 },
        { "S", +1, S_range16, 142, S_range32, 66 },
        { "Samaritan", +1, Samaritan_range16, 2, 0, 0 },
        { "Saurashtra", +1, Saurashtra_range16, 2, 0, 0 },
        { "Sc", +1, Sc_range16, 16, 0, 0 },
        { "Shavian", +1, 0, 0, Shavian_range32, 1 },
        { "Sinhala", +1, Sinhala_range16, 11, 0, 0 },
        { "Sk", +1, Sk_range16, 27, 0, 0 },
        { "Sm", +1, Sm_range16, 56, Sm_range32, 10 },
        { "So", +1, So_range16, 108, So_range32, 56 },
        { "Sundanese", +1, Sundanese_range16, 2, 0, 0 },
        { "Syloti_Nagri", +1, Syloti_Nagri_range16, 1, 0, 0 },
        { "Syriac", +1, Syriac_range16, 3, 0, 0 },
        { "Tagalog", +1, Tagalog_range16, 2, 0, 0 },
        { "Tagbanwa", +1, Tagbanwa_range16, 3, 0, 0 },
        { "Tai_Le", +1, Tai_Le_range16, 2, 0, 0 },
        { "Tai_Tham", +1, Tai_Tham_range16, 5, 0, 0 },
        { "Tai_Viet", +1, Tai_Viet_range16, 2, 0, 0 },
        { "Tamil", +1, Tamil_range16, 16, 0, 0 },
        { "Telugu", +1, Telugu_range16, 14, 0, 0 },
        { "Thaana", +1, Thaana_range16, 1, 0, 0 },
        { "Thai", +1, Thai_range16, 2, 0, 0 },
        { "Tibetan", +1, Tibetan_range16, 7, 0, 0 },
        { "Tifinagh", +1, Tifinagh_range16, 3, 0, 0 },
        { "Ugaritic", +1, 0, 0, Ugaritic_range32, 2 },
        { "Vai", +1, Vai_range16, 1, 0, 0 },
        { "Yi", +1, Yi_range16, 2, 0, 0 },
        { "Z", +1, Z_range16, 9, 0, 0 },
        { "Zl", +1, Zl_range16, 1, 0, 0 },
        { "Zp", +1, Zp_range16, 1, 0, 0 },
        { "Zs", +1, Zs_range16, 8, 0, 0 },
};
int num_unicode_groups = 131;


}  // namespace re2



/* [<][>][^][v][top][bottom][index][help] */