Ignore:
Timestamp:
Nov 28, 2017, 1:45:19 AM (19 months ago)
Author:
nmedfort
Message:

Bug fix for segment pipeline parallel mode + memory management improvements.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • icGREP/icgrep-devel/icgrep/UCD/ScriptExtensions.h

    r5686 r5748  
    179179        [2b81e, 2b81f], [2cea2, 2ceaf], [2ebe1, 2f7ff], [2fa1e, e0000],
    180180        [e0002, e001f], [e0080, e00ff], [e01f0, 10ffff]**/
    181         const UnicodeSet zzzz_Ext
    182             {{{Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
    183               {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    184               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    185               {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29},
    186               {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1},
    187               {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1},
    188               {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
    189               {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
    190               {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
    191               {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    192               {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
    193               {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2},
    194               {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
    195               {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7},
    196               {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
    197               {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 1},
    198               {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2},
    199               {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
    200               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
    201               {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
    202               {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
    203               {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
    204               {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
    205               {Empty, 213}, {Mixed, 1}, {Empty, 657}, {Mixed, 1},
    206               {Empty, 36}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10},
    207               {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
    208               {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    209               {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
    210               {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3},
    211               {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    212               {Empty, 349}, {Mixed, 3}, {Full, 264}, {Empty, 11},
    213               {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
    214               {Empty, 3}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Empty, 1},
    215               {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 2},
    216               {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 6}, {Full, 1},
    217               {Empty, 3}, {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 4},
    218               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 4},
    219               {Empty, 1}, {Mixed, 1}, {Full, 1}, {Empty, 4}, {Mixed, 4},
    220               {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 4},
    221               {Empty, 9}, {Mixed, 3}, {Full, 4}, {Mixed, 3}, {Empty, 1},
    222               {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Full, 2}, {Empty, 1},
    223               {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Full, 1},
    224               {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 5}, {Full, 2},
    225               {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 1}, {Mixed, 1},
    226               {Empty, 1}, {Mixed, 1}, {Full, 11}, {Mixed, 1}, {Full, 12},
    227               {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
    228               {Mixed, 3}, {Empty, 2}, {Mixed, 4}, {Full, 2}, {Mixed, 2},
    229               {Empty, 1}, {Mixed, 5}, {Full, 4}, {Empty, 2}, {Mixed, 1},
    230               {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 1},
    231               {Mixed, 2}, {Full, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
    232               {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 11}, {Empty, 2},
    233               {Mixed, 1}, {Full, 8}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
    234               {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Full, 8}, {Mixed, 6},
    235               {Full, 2}, {Mixed, 3}, {Full, 21}, {Empty, 28}, {Mixed, 1},
    236               {Full, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
    237               {Full, 85}, {Empty, 33}, {Mixed, 1}, {Full, 126}, {Empty, 18},
    238               {Mixed, 1}, {Full, 269}, {Empty, 17}, {Mixed, 3}, {Full, 2},
    239               {Mixed, 2}, {Empty, 2}, {Mixed, 3}, {Full, 27}, {Empty, 2},
    240               {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Empty, 191}, {Mixed, 1},
    241               {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8}, {Mixed, 1},
    242               {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1}, {Full, 72},
    243               {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7}, {Mixed, 1},
    244               {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 2},
    245               {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2}, {Full, 4},
    246               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
    247               {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    248               {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2}, {Full, 62},
    249               {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
    250               {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 8},
    251               {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6}, {Empty, 1},
    252               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 5},
    253               {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
    254               {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
    255               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2}, {Mixed, 5},
    256               {Full, 1}, {Mixed, 2}, {Full, 48}, {Empty, 1334}, {Mixed, 1},
    257               {Full, 1}, {Empty, 129}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
    258               {Empty, 180}, {Mixed, 1}, {Empty, 233}, {Mixed, 1},
    259               {Full, 96}, {Empty, 16}, {Mixed, 1}, {Full, 22575},
    260               {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1},
    261               {Full, 6128}},
    262              {0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
    263               0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
    264               0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
    265               0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00066010,
    266               0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811, 0x2c920200,
    267               0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
    268               0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030,
    269               0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010,
    270               0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200,
    271               0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220, 0x00000030,
    272               0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
    273               0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
    274               0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
    275               0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
    276               0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
    277               0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
    278               0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
    279               0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
    280               0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
    281               0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
    282               0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
    283               0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
    284               0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
    285               0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
    286               0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff,
    287               0x00008000, 0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00,
    288               0xff800000, 0x80808080, 0x80808080, 0xfffffc00, 0x04000000,
    289               0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001, 0x01800000,
    290               0x0000001f, 0x00018000, 0x00008000, 0xf8000000, 0x0000fff0,
    291               0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
    292               0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff,
    293               0xfc00f000, 0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000,
    294               0xe0000000, 0x3c004000, 0x80000000, 0xff800000, 0x0c00c000,
    295               0x07fffff8, 0xff800000, 0xff818181, 0x00008080, 0x0000ffc0,
    296               0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000, 0x0000c000,
    297               0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
    298               0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000,
    299               0x00080000, 0x0020f080, 0x60000000, 0x00000001, 0x80000000,
    300               0xe3030303, 0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000,
    301               0xf8000000, 0x00000078, 0x00700000, 0xf0008000, 0xfffffffe,
    302               0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000,
    303               0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
    304               0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
    305               0xffff7ff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
    306               0x6e400000, 0x00400000, 0x80000000, 0xffff007f, 0x07c80000,
    307               0x70000000, 0x7c000000, 0x0f000000, 0x00030000, 0x01100f90,
    308               0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000,
    309               0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
    310               0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc,
    311               0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000, 0x0000c000,
    312               0xffe00001, 0x00040000, 0x80000000, 0x40004280, 0x0000fc00,
    313               0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030,
    314               0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0,
    315               0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
    316               0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000,
    317               0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000,
    318               0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000,
    319               0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000,
    320               0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0,
    321               0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
    322               0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff,
    323               0xf0000000, 0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000,
    324               0x00000180, 0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000,
    325               0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840,
    326               0x84000000, 0x000203a0, 0x000000c0, 0x00003000, 0x07fff000,
    327               0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
    328               0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
    329               0xf0000411, 0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000,
    330               0x00010001, 0xffc00000, 0x0000e000, 0x00008000, 0x0000f000,
    331               0xffffe000, 0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00,
    332               0xffffffc0, 0xffe00000, 0xfe00e000, 0xfff00000, 0xffe00000,
    333               0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x0000f000,
    334               0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe,
    335               0xffffff80, 0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc,
    336               0xfffffffe, 0xc0000000, 0xfffffffd, 0xffff0000}};
     181
     182        namespace {
     183        const static UnicodeSet::run_t __zzzz_Ext_runs[] = {
     184        {Empty, 27}, {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1},
     185        {Mixed, 3}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     186        {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     187        {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29},
     188        {Empty, 1}, {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1},
     189        {Empty, 2}, {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1},
     190        {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
     191        {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1},
     192        {Empty, 20}, {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2},
     193        {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     194        {Empty, 1}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     195        {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2},
     196        {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
     197        {Empty, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7},
     198        {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
     199        {Empty, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 1},
     200        {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2},
     201        {Empty, 56}, {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
     202        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4},
     203        {Empty, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2},
     204        {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1},
     205        {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2},
     206        {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1},
     207        {Empty, 213}, {Mixed, 1}, {Empty, 657}, {Mixed, 1}, {Empty, 36},
     208        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1},
     209        {Empty, 5}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1},
     210        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     211        {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
     212        {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4},
     213        {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 349},
     214        {Mixed, 3}, {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2},
     215        {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1},
     216        {Empty, 11}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     217        {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2},
     218        {Empty, 4}, {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3},
     219        {Empty, 2}, {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1},
     220        {Mixed, 2}, {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1},
     221        {Full, 1}, {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1},
     222        {Empty, 1}, {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3},
     223        {Full, 4}, {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1},
     224        {Mixed, 3}, {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     225        {Mixed, 3}, {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1},
     226        {Empty, 1}, {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1},
     227        {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     228        {Full, 11}, {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2},
     229        {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2},
     230        {Mixed, 4}, {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5},
     231        {Full, 4}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2},
     232        {Mixed, 1}, {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1},
     233        {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1},
     234        {Mixed, 2}, {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 8},
     235        {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     236        {Mixed, 1}, {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3},
     237        {Full, 21}, {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3},
     238        {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33},
     239        {Mixed, 1}, {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269},
     240        {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2},
     241        {Mixed, 3}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2},
     242        {Mixed, 1}, {Empty, 191}, {Mixed, 1}, {Empty, 23}, {Mixed, 1},
     243        {Full, 296}, {Empty, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     244        {Empty, 11}, {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 3},
     245        {Full, 154}, {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     246        {Empty, 5}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5},
     247        {Empty, 2}, {Mixed, 2}, {Full, 4}, {Empty, 2}, {Mixed, 1},
     248        {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 10},
     249        {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 21}, {Mixed, 2},
     250        {Full, 42}, {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1},
     251        {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6},
     252        {Full, 1}, {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 1},
     253        {Empty, 2}, {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     254        {Mixed, 1}, {Full, 1}, {Mixed, 5}, {Full, 4}, {Empty, 30},
     255        {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     256        {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     257        {Mixed, 2}, {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2},
     258        {Full, 48}, {Empty, 1334}, {Mixed, 1}, {Full, 1}, {Empty, 129},
     259        {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 180}, {Mixed, 1},
     260        {Empty, 233}, {Mixed, 1}, {Full, 96}, {Empty, 16}, {Mixed, 1},
     261        {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4}, {Empty, 7},
     262        {Mixed, 1}, {Full, 6128}};
     263        const static UnicodeSet::bitquad_t  __zzzz_Ext_quads[] = {
     264        0x03000000, 0x0000280f, 0x00000004, 0x00010000, 0x01800000,
     265        0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800, 0x20000000,
     266        0x00004000, 0x00001800, 0xfffc0000, 0xf8000000, 0x8000c000,
     267        0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff, 0x00066010,
     268        0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811, 0x2c920200,
     269        0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200, 0xfffec440,
     270        0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660, 0xff000030,
     271        0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f, 0x00022010,
     272        0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010, 0x0c100200,
     273        0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220, 0x00000030,
     274        0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f, 0x00000001,
     275        0x78000000, 0xf0000000, 0x010fda69, 0xc4001351, 0x0c00c0a0,
     276        0x00000100, 0x0001e000, 0x01000000, 0x20000000, 0xf8002000,
     277        0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000, 0x008000c2,
     278        0x00c20000, 0x18000000, 0xe0000000, 0xfc000000, 0xc0c00000,
     279        0xe0000000, 0xfe000000, 0xffe02000, 0xff800000, 0xfff00000,
     280        0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000, 0xff000000,
     281        0x0000f800, 0xffc00000, 0x80000000, 0xf000f000, 0x0000000e,
     282        0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000, 0x80000000,
     283        0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000, 0xe0000000,
     284        0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00, 0x0000ff00,
     285        0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
     286        0x00200000, 0x10300020, 0x80230000, 0x000c0020, 0xe0008000,
     287        0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80, 0xfffff800,
     288        0x00300000, 0x00c00000, 0x1c000000, 0xfff80200, 0xffff0fff,
     289        0x00008000, 0x80000000, 0x01f00000, 0x0000df40, 0x7ffe7f00,
     290        0xff800000, 0x80808080, 0x80808080, 0xfffffc00, 0x04000000,
     291        0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001, 0x01800000,
     292        0x0000001f, 0x00018000, 0x00008000, 0xf8000000, 0x0000fff0,
     293        0x80000000, 0x80000000, 0xffc00000, 0xfffff800, 0x0000e000,
     294        0x0000ff80, 0xfffff000, 0xff000000, 0xff008000, 0x007fffff,
     295        0xfc00f000, 0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000,
     296        0xe0000000, 0x3c004000, 0x80000000, 0xff800000, 0x0c00c000,
     297        0x07fffff8, 0xff800000, 0xff818181, 0x00008080, 0x0000ffc0,
     298        0xfc00c000, 0x0000fff0, 0x00000780, 0xf0000000, 0x0000c000,
     299        0xfc000000, 0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc,
     300        0x0000ffff, 0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000,
     301        0x00080000, 0x0020f080, 0x60000000, 0x00000001, 0x80000000,
     302        0xe3030303, 0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000,
     303        0xf8000000, 0x00000078, 0x00700000, 0xf0008000, 0xfffffffe,
     304        0x0000ffff, 0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000,
     305        0x00001ff0, 0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0,
     306        0xc0000000, 0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00,
     307        0xffff7ff0, 0xff800000, 0xffc00000, 0xffffff00, 0x000002c0,
     308        0x6e400000, 0x00400000, 0x80000000, 0xffff007f, 0x07c80000,
     309        0x70000000, 0x7c000000, 0x0f000000, 0x00030000, 0x01100f90,
     310        0x78f00000, 0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000,
     311        0x00f80000, 0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000,
     312        0x03f80000, 0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc,
     313        0xfc00fe00, 0x00200000, 0x0000fff0, 0xff800000, 0x0000c000,
     314        0xffe00001, 0x00040000, 0x80000000, 0x40004280, 0x0000fc00,
     315        0xfc00f800, 0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030,
     316        0xd4000000, 0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0,
     317        0xffffe000, 0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000,
     318        0x7ff80000, 0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000,
     319        0x00000200, 0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000,
     320        0xff800100, 0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000,
     321        0xffe08000, 0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000,
     322        0x80000000, 0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0,
     323        0x1f000004, 0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff,
     324        0xfffffffc, 0xffffe000, 0xfff80000, 0x80000000, 0x0000ffff,
     325        0xf0000000, 0xe000f800, 0x0c00fe00, 0xfffffff0, 0xffc00000,
     326        0x00000180, 0xfffffe00, 0xffffffc0, 0xff800000, 0xfffc0000,
     327        0x00200000, 0x20000000, 0x1400219b, 0x00000010, 0x20201840,
     328        0x84000000, 0x000203a0, 0x000000c0, 0x00003000, 0x07fff000,
     329        0xffff0001, 0x06000080, 0xfffff824, 0xff800060, 0x3c00f800,
     330        0x00000010, 0xf5080169, 0x5569157b, 0xa1080869, 0xf0000400,
     331        0xf0000411, 0xfffcffff, 0x0000f000, 0xfff00000, 0x00018000,
     332        0x00010001, 0xffc00000, 0x0000e000, 0x00008000, 0x0000f000,
     333        0xffffe000, 0x0000003f, 0x0000fff8, 0xf0000000, 0xfffcfe00,
     334        0xffffffc0, 0xffe00000, 0xfe00e000, 0xfff00000, 0xffe00000,
     335        0x0000f000, 0xfc00ff00, 0x0000ff00, 0xffffc000, 0x0000f000,
     336        0x80000000, 0x0000e000, 0xfffff000, 0xff000000, 0x0000fffe,
     337        0xffffff80, 0xff800000, 0xffe00000, 0xc0000000, 0x0000fffc,
     338        0xfffffffe, 0xc0000000, 0xfffffffd, 0xffff0000};
     339        }
     340
     341        const static UnicodeSet zzzz_Ext{const_cast<UnicodeSet::run_t *>(__zzzz_Ext_runs), 392, 0, const_cast<UnicodeSet::bitquad_t *>(__zzzz_Ext_quads), 374, 0};
     342
    337343        /** Code Point Ranges for Zyyy
    338344        [0000, 0040], [005b, 0060], [007b, 00a9], [00ab, 00b9],
     
    371377        [1f950, 1f96b], [1f980, 1f997], [1f9c0, 1f9c0], [1f9d0, 1f9e6],
    372378        [e0001, e0001], [e0020, e007f]**/
    373         const UnicodeSet zyyy_Ext
    374             {{{Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
    375               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
    376               {Empty, 19}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 16},
    377               {Mixed, 1}, {Empty, 41}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
    378               {Empty, 56}, {Mixed, 1}, {Empty, 72}, {Mixed, 1}, {Full, 2},
    379               {Mixed, 2}, {Full, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2},
    380               {Empty, 1}, {Mixed, 1}, {Full, 20}, {Mixed, 2}, {Full, 29},
    381               {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
    382               {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 16}, {Mixed, 2},
    383               {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Full, 3},
    384               {Mixed, 1}, {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1},
    385               {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
    386               {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
    387               {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
    388               {Empty, 1}, {Mixed, 2}, {Empty, 1648}, {Full, 7}, {Mixed, 1},
    389               {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
    390               {Mixed, 1}, {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 5},
    391               {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1},
    392               {Mixed, 3}, {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1},
    393               {Full, 1}, {Empty, 192}, {Full, 1}, {Mixed, 1}, {Full, 2},
    394               {Mixed, 6}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    395               {Empty, 1}, {Mixed, 5}, {Empty, 4}, {Full, 30}, {Mixed, 2},
    396               {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1},
    397               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
    398               {Empty, 2}, {Mixed, 5}, {Empty, 1}, {Mixed, 2},
    399               {Empty, 24624}, {Mixed, 1}, {Full, 3}, {Empty, 6140}},
    400              {0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
    401               0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000020,
    402               0x20000000, 0x00000004, 0x80000000, 0x01e00000, 0x00003800,
    403               0xffffcfff, 0x7ff1ffdf, 0x00007fff, 0xfffbf3bf, 0xffffbfff,
    404               0xffff0e00, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
    405               0xe3ffffff, 0x0007fdff, 0x0000f000, 0x000003f7, 0x0fff0000,
    406               0x00040011, 0x00400001, 0xffffff00, 0x80000000, 0xfffe0000,
    407               0x0000f000, 0x07fe0000, 0x80000000, 0x00000003, 0x00000700,
    408               0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ff9f,
    409               0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
    410               0x00000001, 0x3e007f7f, 0x0fff0000, 0xffff0000, 0x1fffffff,
    411               0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
    412               0x000001ff, 0x007fffff, 0xffdfffff, 0xdfffffff, 0xebffde64,
    413               0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f,
    414               0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff, 0xfffefffe,
    415               0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff, 0x00001fff,
    416               0xffffffc0, 0xffff0006, 0x0fffffff, 0x000001ff, 0x0000003f,
    417               0x001fffff, 0x01ff1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
    418               0x03ff00ff, 0xffff00ff, 0x00003fff, 0xffff0fff, 0x7fffffff,
    419               0xffff1fff, 0x00000fff, 0x00ffffff, 0xffff0001, 0x0000007f,
    420               0x00000002}};
     379
     380        namespace {
     381        const static UnicodeSet::run_t __zyyy_Ext_runs[] = {
     382        {Full, 2}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 13},
     383        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 2},
     384        {Empty, 19}, {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Empty, 16},
     385        {Mixed, 1}, {Empty, 41}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
     386        {Empty, 56}, {Mixed, 1}, {Empty, 72}, {Mixed, 1}, {Full, 2},
     387        {Mixed, 2}, {Full, 1}, {Empty, 2}, {Full, 1}, {Mixed, 2},
     388        {Empty, 1}, {Mixed, 1}, {Full, 20}, {Mixed, 2}, {Full, 29},
     389        {Empty, 8}, {Full, 19}, {Mixed, 5}, {Empty, 16}, {Full, 2},
     390        {Mixed, 1}, {Empty, 12}, {Mixed, 3}, {Empty, 16}, {Mixed, 2},
     391        {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1}, {Full, 3},
     392        {Mixed, 1}, {Empty, 206}, {Full, 2}, {Empty, 712}, {Full, 1},
     393        {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 29}, {Mixed, 1},
     394        {Empty, 654}, {Mixed, 1}, {Empty, 6}, {Mixed, 4}, {Empty, 3},
     395        {Mixed, 5}, {Empty, 3}, {Mixed, 1}, {Empty, 12}, {Mixed, 1},
     396        {Empty, 1}, {Mixed, 2}, {Empty, 1648}, {Full, 7}, {Mixed, 1},
     397        {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 1},
     398        {Empty, 8}, {Full, 2}, {Mixed, 1}, {Empty, 5}, {Full, 2},
     399        {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 3},
     400        {Full, 10}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1},
     401        {Empty, 192}, {Full, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 6},
     402        {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1},
     403        {Mixed, 5}, {Empty, 4}, {Full, 30}, {Mixed, 2}, {Full, 3},
     404        {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
     405        {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 2},
     406        {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 24624}, {Mixed, 1},
     407        {Full, 3}, {Empty, 6140}};
     408        const static UnicodeSet::bitquad_t  __zyyy_Ext_quads[] = {
     409        0xf8000001, 0xf8000001, 0xfbfffbff, 0x00800000, 0x00800000,
     410        0xfe000000, 0xfffff3e0, 0x40100000, 0x000000a0, 0x00000020,
     411        0x20000000, 0x00000004, 0x80000000, 0x01e00000, 0x00003800,
     412        0xffffcfff, 0x7ff1ffdf, 0x00007fff, 0xfffbf3bf, 0xffffbfff,
     413        0xffff0e00, 0x0000007f, 0x000007ff, 0xffcfffff, 0xff3fffff,
     414        0xe3ffffff, 0x0007fdff, 0x0000f000, 0x000003f7, 0x0fff0000,
     415        0x00040011, 0x00400001, 0xffffff00, 0x80000000, 0xfffe0000,
     416        0x0000f000, 0x07fe0000, 0x80000000, 0x00000003, 0x00000700,
     417        0x08000000, 0xc0000000, 0x03ff0000, 0xffff0000, 0xfff7ff9f,
     418        0x00000f7f, 0x80000000, 0xfffffffe, 0xf8000001, 0xf8000001,
     419        0x00000001, 0x3e007f7f, 0x0fff0000, 0xffff0000, 0x1fffffff,
     420        0x003fffff, 0xfffffe7f, 0x07fffc7f, 0xfffff018, 0xffffc3ff,
     421        0x000001ff, 0x007fffff, 0xffdfffff, 0xdfffffff, 0xebffde64,
     422        0xffffffef, 0xdfdfe7bf, 0x7bffffff, 0xfffdfc5f, 0xffffff3f,
     423        0xffffcfff, 0xffff0fff, 0x000fffff, 0xfffe7fff, 0xfffefffe,
     424        0x003fffff, 0xffff1fff, 0xffff7fff, 0xffff0fff, 0x00001fff,
     425        0xffffffc0, 0xffff0006, 0x0fffffff, 0x000001ff, 0x0000003f,
     426        0x001fffff, 0x01ff1fff, 0x000fffff, 0x001fffff, 0xffff0fff,
     427        0x03ff00ff, 0xffff00ff, 0x00003fff, 0xffff0fff, 0x7fffffff,
     428        0xffff1fff, 0x00000fff, 0x00ffffff, 0xffff0001, 0x0000007f,
     429        0x00000002};
     430        }
     431
     432        const static UnicodeSet zyyy_Ext{const_cast<UnicodeSet::run_t *>(__zyyy_Ext_runs), 128, 0, const_cast<UnicodeSet::bitquad_t *>(__zyyy_Ext_quads), 101, 0};
     433
    421434        /** Code Point Ranges for Latn
    422435        [0041, 005a], [0061, 007a], [00aa, 00aa], [00ba, 00ba],
     
    430443        [ab30, ab5a], [ab5c, ab64], [fb00, fb06], [ff21, ff3a],
    431444        [ff41, ff5a]**/
    432         const UnicodeSet latn_Ext
    433             {{{Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
    434               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    435               {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
    436               {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
    437               {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
    438               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
    439               {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
    440               {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
    441               {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
    442               {Empty, 32}, {Mixed, 2}, {Empty, 32773}},
    443              {0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
    444               0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
    445               0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
    446               0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
    447               0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
    448               0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
    449               0x07fffffe, 0x07fffffe}};
     445
     446        namespace {
     447        const static UnicodeSet::run_t __latn_Ext_runs[] = {
     448        {Empty, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Full, 13},
     449        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
     450        {Empty, 8}, {Mixed, 1}, {Empty, 37}, {Mixed, 1}, {Empty, 60},
     451        {Mixed, 1}, {Empty, 96}, {Full, 1}, {Mixed, 3}, {Full, 1},
     452        {Mixed, 1}, {Empty, 2}, {Full, 8}, {Empty, 11}, {Mixed, 2},
     453        {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 1},
     454        {Mixed, 1}, {Empty, 86}, {Full, 1}, {Empty, 981}, {Mixed, 1},
     455        {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 9},
     456        {Mixed, 1}, {Empty, 15}, {Mixed, 3}, {Empty, 636}, {Mixed, 1},
     457        {Empty, 32}, {Mixed, 2}, {Empty, 32773}};
     458        const static UnicodeSet::bitquad_t  __latn_Ext_quads[] = {
     459        0x07fffffe, 0x07fffffe, 0x04000400, 0xff7fffff, 0xff7fffff,
     460        0x01ffffff, 0x0000001f, 0x0000fff8, 0x00000060, 0x00060000,
     461        0x08000000, 0xfffff03f, 0x1fffffff, 0xfefff83c, 0x7fffffff,
     462        0x80020000, 0x1fff0000, 0x00010000, 0x00040c00, 0x00004000,
     463        0x000001ff, 0xfffffffc, 0xfffff8ff, 0x00ff7fff, 0xff800000,
     464        0x00004000, 0xffff0000, 0xf7ffffff, 0x0000001f, 0x0000007f,
     465        0x07fffffe, 0x07fffffe};
     466        }
     467
     468        const static UnicodeSet latn_Ext{const_cast<UnicodeSet::run_t *>(__latn_Ext_runs), 48, 0, const_cast<UnicodeSet::bitquad_t *>(__latn_Ext_quads), 32, 0};
     469
    450470        /** Code Point Ranges for Grek
    451471        [0342, 0342], [0345, 0345], [0370, 0373], [0375, 0377],
     
    459479        [1ff6, 1ffe], [2126, 2126], [ab65, ab65], [10140, 1018e],
    460480        [101a0, 101a0], [1d200, 1d245]**/
    461         const UnicodeSet grek_Ext
    462             {{{Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
    463               {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
    464               {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
    465               {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686},
    466               {Full, 2}, {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1},
    467               {Empty, 31085}},
    468              {0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
    469               0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
    470               0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
    471               0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
    472               0x0000003f}};
     481
     482        namespace {
     483        const static UnicodeSet::run_t __grek_Ext_runs[] = {
     484        {Empty, 26}, {Mixed, 4}, {Full, 1}, {Mixed, 1}, {Empty, 201},
     485        {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Empty, 9}, {Mixed, 1},
     486        {Full, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3}, {Empty, 9},
     487        {Mixed, 1}, {Empty, 1105}, {Mixed, 1}, {Empty, 686}, {Full, 2},
     488        {Mixed, 2}, {Empty, 1666}, {Full, 2}, {Mixed, 1}, {Empty, 31085}};
     489        const static UnicodeSet::bitquad_t  __grek_Ext_quads[] = {
     490        0x00000024, 0xbcef0000, 0xffffd750, 0xfffffffb, 0xffff0003,
     491        0x000007c0, 0xe0000000, 0x000007c3, 0x80000000, 0x00000003,
     492        0x3f3fffff, 0xaaff3f3f, 0x3fffffff, 0xffdfffff, 0xefcfffdf,
     493        0x7fdcffff, 0x00000040, 0x00000020, 0x00007fff, 0x00000001,
     494        0x0000003f};
     495        }
     496
     497        const static UnicodeSet grek_Ext{const_cast<UnicodeSet::run_t *>(__grek_Ext_runs), 25, 0, const_cast<UnicodeSet::bitquad_t *>(__grek_Ext_quads), 21, 0};
     498
    473499        /** Code Point Ranges for Cyrl
    474500        [0400, 052f], [1c80, 1c88], [1d2b, 1d2b], [1d78, 1d78],
    475501        [2de0, 2dff], [2e43, 2e43], [a640, a69f], [fe2e, fe2f]**/
    476         const UnicodeSet cyrl_Ext
    477             {{{Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
    478               {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
    479               {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
    480               {Empty, 700}, {Mixed, 1}, {Empty, 32782}},
    481              {0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
    482               0x0000c000}};
     502
     503        namespace {
     504        const static UnicodeSet::run_t __cyrl_Ext_runs[] = {
     505        {Empty, 32}, {Full, 9}, {Mixed, 1}, {Empty, 186}, {Mixed, 1},
     506        {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 131},
     507        {Full, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 959}, {Full, 3},
     508        {Empty, 700}, {Mixed, 1}, {Empty, 32782}};
     509        const static UnicodeSet::bitquad_t  __cyrl_Ext_quads[] = {
     510        0x0000ffff, 0x000001ff, 0x00000800, 0x01000000, 0x00000008,
     511        0x0000c000};
     512        }
     513
     514        const static UnicodeSet cyrl_Ext{const_cast<UnicodeSet::run_t *>(__cyrl_Ext_runs), 18, 0, const_cast<UnicodeSet::bitquad_t *>(__cyrl_Ext_quads), 6, 0};
     515
    483516        /** Code Point Ranges for Armn
    484517        [0531, 0556], [0559, 055f], [0561, 0587], [0589, 058a],
    485518        [058d, 058f], [fb13, fb17]**/
    486         const UnicodeSet armn_Ext
    487             {{{Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1},
    488               {Empty, 32807}},
    489              {0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000}};
     519
     520        namespace {
     521        const static UnicodeSet::run_t __armn_Ext_runs[] = {
     522        {Empty, 41}, {Mixed, 4}, {Empty, 1963}, {Mixed, 1}, {Empty, 32807}};
     523        const static UnicodeSet::bitquad_t  __armn_Ext_quads[] = {
     524        0xfffe0000, 0xfe7fffff, 0xfffffffe, 0x0000e6ff, 0x00f80000};
     525        }
     526
     527        const static UnicodeSet armn_Ext{const_cast<UnicodeSet::run_t *>(__armn_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__armn_Ext_quads), 5, 0};
     528
    490529        /** Code Point Ranges for Hebr
    491530        [0591, 05c7], [05d0, 05ea], [05f0, 05f4], [fb1d, fb36],
    492531        [fb38, fb3c], [fb3e, fb3e], [fb40, fb41], [fb43, fb44],
    493532        [fb46, fb4f]**/
    494         const UnicodeSet hebr_Ext
    495             {{{Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
    496               {Mixed, 3}, {Empty, 32805}},
    497              {0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
    498               0x0000ffdb}};
     533
     534        namespace {
     535        const static UnicodeSet::run_t __hebr_Ext_runs[] = {
     536        {Empty, 44}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 1960},
     537        {Mixed, 3}, {Empty, 32805}};
     538        const static UnicodeSet::bitquad_t  __hebr_Ext_quads[] = {
     539        0xfffe0000, 0xffff00ff, 0x001f07ff, 0xe0000000, 0x5f7fffff,
     540        0x0000ffdb};
     541        }
     542
     543        const static UnicodeSet hebr_Ext{const_cast<UnicodeSet::run_t *>(__hebr_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__hebr_Ext_quads), 6, 0};
     544
    499545        /** Code Point Ranges for Arab
    500546        [0600, 0604], [0606, 061c], [061e, 06dc], [06de, 06ff],
     
    511557        [1ee79, 1ee7c], [1ee7e, 1ee7e], [1ee80, 1ee89], [1ee8b, 1ee9b],
    512558        [1eea1, 1eea3], [1eea5, 1eea9], [1eeab, 1eebb], [1eef0, 1eef1]**/
    513         const UnicodeSet arab_Ext
    514             {{{Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
    515               {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
    516               {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
    517               {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
    518               {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
    519               {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788},
    520               {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 30856}},
    521              {0xdfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
    522               0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
    523               0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
    524               0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
    525               0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000}};
     559
     560        namespace {
     561        const static UnicodeSet::run_t __arab_Ext_runs[] = {
     562        {Empty, 48}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 1},
     563        {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 9}, {Mixed, 3},
     564        {Empty, 1938}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 10},
     565        {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
     566        {Empty, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Empty, 31},
     567        {Mixed, 1}, {Empty, 91}, {Mixed, 1}, {Empty, 1788}, {Mixed, 6},
     568        {Empty, 1}, {Mixed, 1}, {Empty, 30856}};
     569        const static UnicodeSet::bitquad_t  __arab_Ext_quads[] = {
     570        0xdfffffdf, 0xdfffffff, 0xffff0000, 0x3fdfffff, 0xfff00000,
     571        0xfffffffb, 0xffff0000, 0xfff80003, 0x3fffffff, 0xffff0000,
     572        0xfffcffff, 0x000000ff, 0x3fff0000, 0xffdf0000, 0x1fffffff,
     573        0x0fffffff, 0x7fffffff, 0xffffffef, 0x0af7fe96, 0xaa96ea84,
     574        0x5ef7f796, 0x0ffffbff, 0x0ffffbee, 0x00030000};
     575        }
     576
     577        const static UnicodeSet arab_Ext{const_cast<UnicodeSet::run_t *>(__arab_Ext_runs), 33, 0, const_cast<UnicodeSet::bitquad_t *>(__arab_Ext_quads), 24, 0};
     578
    526579        /** Code Point Ranges for Syrc
    527580        [060c, 060c], [061b, 061c], [061f, 061f], [0640, 0640],
    528581        [064b, 0655], [0670, 0670], [0700, 070d], [070f, 074a],
    529582        [074d, 074f], [0860, 086a]**/
    530         const UnicodeSet syrc_Ext
    531             {{{Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
    532               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    533               {Empty, 34748}},
    534              {0x98001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff,
    535               0x000007ff}};
     583
     584        namespace {
     585        const static UnicodeSet::run_t __syrc_Ext_runs[] = {
     586        {Empty, 48}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 4},
     587        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     588        {Empty, 34748}};
     589        const static UnicodeSet::bitquad_t  __syrc_Ext_quads[] = {
     590        0x98001000, 0x003ff801, 0x00010000, 0xffffbfff, 0x0000e7ff,
     591        0x000007ff};
     592        }
     593
     594        const static UnicodeSet syrc_Ext{const_cast<UnicodeSet::run_t *>(__syrc_Ext_runs), 11, 0, const_cast<UnicodeSet::bitquad_t *>(__syrc_Ext_quads), 6, 0};
     595
    536596        /** Code Point Ranges for Thaa
    537597        [060c, 060c], [061b, 061c], [061f, 061f], [0660, 0669],
    538598        [0780, 07b1], [fdf2, fdf2], [fdfd, fdfd]**/
    539         const UnicodeSet thaa_Ext
    540             {{{Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
    541               {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1},
    542               {Empty, 32784}},
    543              {0x98001000, 0x000003ff, 0x0003ffff, 0x20040000}};
     599
     600        namespace {
     601        const static UnicodeSet::run_t __thaa_Ext_runs[] = {
     602        {Empty, 48}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 8},
     603        {Full, 1}, {Mixed, 1}, {Empty, 1969}, {Mixed, 1}, {Empty, 32784}};
     604        const static UnicodeSet::bitquad_t  __thaa_Ext_quads[] = {
     605        0x98001000, 0x000003ff, 0x0003ffff, 0x20040000};
     606        }
     607
     608        const static UnicodeSet thaa_Ext{const_cast<UnicodeSet::run_t *>(__thaa_Ext_runs), 10, 0, const_cast<UnicodeSet::bitquad_t *>(__thaa_Ext_quads), 4, 0};
     609
    544610        /** Code Point Ranges for Deva
    545611        [0900, 097f], [1cd0, 1cf6], [1cf8, 1cf9], [20f0, 20f0],
    546612        [a830, a839], [a8e0, a8fd]**/
    547         const UnicodeSet deva_Ext
    548             {{{Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
    549               {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
    550               {Empty, 33464}},
    551              {0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff}};
     613
     614        namespace {
     615        const static UnicodeSet::run_t __deva_Ext_runs[] = {
     616        {Empty, 72}, {Full, 4}, {Empty, 154}, {Mixed, 2}, {Empty, 31},
     617        {Mixed, 1}, {Empty, 1081}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
     618        {Empty, 33464}};
     619        const static UnicodeSet::bitquad_t  __deva_Ext_quads[] = {
     620        0xffff0000, 0x037fffff, 0x00010000, 0x03ff0000, 0x3fffffff};
     621        }
     622
     623        const static UnicodeSet deva_Ext{const_cast<UnicodeSet::run_t *>(__deva_Ext_runs), 11, 0, const_cast<UnicodeSet::bitquad_t *>(__deva_Ext_quads), 5, 0};
     624
    552625        /** Code Point Ranges for Beng
    553626        [0951, 0952], [0964, 0965], [0980, 0983], [0985, 098c],
     
    556629        [09d7, 09d7], [09dc, 09dd], [09df, 09e3], [09e6, 09fd],
    557630        [1cf7, 1cf7], [a8f1, a8f1]**/
    558         const UnicodeSet beng_Ext
    559             {{{Empty, 74}, {Mixed, 6}, {Empty, 151}, {Mixed, 1},
    560               {Empty, 1119}, {Mixed, 1}, {Empty, 33464}},
    561              {0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
    562               0x3fffffcf, 0x00800000, 0x00020000}};
     631
     632        namespace {
     633        const static UnicodeSet::run_t __beng_Ext_runs[] = {
     634        {Empty, 74}, {Mixed, 6}, {Empty, 151}, {Mixed, 1}, {Empty, 1119},
     635        {Mixed, 1}, {Empty, 33464}};
     636        const static UnicodeSet::bitquad_t  __beng_Ext_quads[] = {
     637        0x00060000, 0x00000030, 0xfff99fef, 0xf3c5fdff, 0xb080799f,
     638        0x3fffffcf, 0x00800000, 0x00020000};
     639        }
     640
     641        const static UnicodeSet beng_Ext{const_cast<UnicodeSet::run_t *>(__beng_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__beng_Ext_quads), 8, 0};
     642
    563643        /** Code Point Ranges for Guru
    564644        [0951, 0952], [0964, 0965], [0a01, 0a03], [0a05, 0a0a],
     
    567647        [0a47, 0a48], [0a4b, 0a4d], [0a51, 0a51], [0a59, 0a5c],
    568648        [0a5e, 0a5e], [0a66, 0a75], [a830, a839]**/
    569         const UnicodeSet guru_Ext
    570             {{{Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4},
    571               {Empty, 1261}, {Mixed, 1}, {Empty, 33470}},
    572              {0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
    573               0x003fffc0, 0x03ff0000}};
     649
     650        namespace {
     651        const static UnicodeSet::run_t __guru_Ext_runs[] = {
     652        {Empty, 74}, {Mixed, 2}, {Empty, 4}, {Mixed, 4}, {Empty, 1261},
     653        {Mixed, 1}, {Empty, 33470}};
     654        const static UnicodeSet::bitquad_t  __guru_Ext_quads[] = {
     655        0x00060000, 0x00000030, 0xfff987ee, 0xd36dfdff, 0x5e023987,
     656        0x003fffc0, 0x03ff0000};
     657        }
     658
     659        const static UnicodeSet guru_Ext{const_cast<UnicodeSet::run_t *>(__guru_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__guru_Ext_quads), 7, 0};
     660
    574661        /** Code Point Ranges for Gujr
    575662        [0951, 0952], [0964, 0965], [0a81, 0a83], [0a85, 0a8d],
     
    578665        [0ad0, 0ad0], [0ae0, 0ae3], [0ae6, 0af1], [0af9, 0aff],
    579666        [a830, a839]**/
    580         const UnicodeSet gujr_Ext
    581             {{{Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4},
    582               {Empty, 1257}, {Mixed, 1}, {Empty, 33470}},
    583              {0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
    584               0xfe03ffcf, 0x03ff0000}};
     667
     668        namespace {
     669        const static UnicodeSet::run_t __gujr_Ext_runs[] = {
     670        {Empty, 74}, {Mixed, 2}, {Empty, 8}, {Mixed, 4}, {Empty, 1257},
     671        {Mixed, 1}, {Empty, 33470}};
     672        const static UnicodeSet::bitquad_t  __gujr_Ext_quads[] = {
     673        0x00060000, 0x00000030, 0xfffbbfee, 0xf3edfdff, 0x00013bbf,
     674        0xfe03ffcf, 0x03ff0000};
     675        }
     676
     677        const static UnicodeSet gujr_Ext{const_cast<UnicodeSet::run_t *>(__gujr_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__gujr_Ext_quads), 7, 0};
     678
    585679        /** Code Point Ranges for Orya
    586680        [0951, 0952], [0964, 0965], [0b01, 0b03], [0b05, 0b0c],
     
    588682        [0b35, 0b39], [0b3c, 0b44], [0b47, 0b48], [0b4b, 0b4d],
    589683        [0b56, 0b57], [0b5c, 0b5d], [0b5f, 0b63], [0b66, 0b77]**/
    590         const UnicodeSet orya_Ext
    591             {{{Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4},
    592               {Empty, 34724}},
    593              {0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
    594               0x00ffffcf}};
     684
     685        namespace {
     686        const static UnicodeSet::run_t __orya_Ext_runs[] = {
     687        {Empty, 74}, {Mixed, 2}, {Empty, 12}, {Mixed, 4}, {Empty, 34724}};
     688        const static UnicodeSet::bitquad_t  __orya_Ext_quads[] = {
     689        0x00060000, 0x00000030, 0xfff99fee, 0xf3edfdff, 0xb0c0399f,
     690        0x00ffffcf};
     691        }
     692
     693        const static UnicodeSet orya_Ext{const_cast<UnicodeSet::run_t *>(__orya_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__orya_Ext_quads), 6, 0};
     694
    595695        /** Code Point Ranges for Taml
    596696        [0951, 0952], [0964, 0965], [0b82, 0b83], [0b85, 0b8a],
     
    600700        [0bd7, 0bd7], [0be6, 0bfa], [1cda, 1cda], [a8f3, a8f3],
    601701        [11301, 11301], [11303, 11303], [1133c, 1133c]**/
    602         const UnicodeSet taml_Ext
    603             {{{Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4},
    604               {Empty, 134}, {Mixed, 1}, {Empty, 1120}, {Mixed, 1},
    605               {Empty, 848}, {Mixed, 2}, {Empty, 32614}},
    606              {0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
    607               0x07ffffc0, 0x04000000, 0x00080000, 0x0000000a, 0x10000000}};
     702
     703        namespace {
     704        const static UnicodeSet::run_t __taml_Ext_runs[] = {
     705        {Empty, 74}, {Mixed, 2}, {Empty, 16}, {Mixed, 4}, {Empty, 134},
     706        {Mixed, 1}, {Empty, 1120}, {Mixed, 1}, {Empty, 848}, {Mixed, 2},
     707        {Empty, 32614}};
     708        const static UnicodeSet::bitquad_t  __taml_Ext_quads[] = {
     709        0x00060000, 0x00000030, 0xd63dc7ec, 0xc3ffc718, 0x00813dc7,
     710        0x07ffffc0, 0x04000000, 0x00080000, 0x0000000a, 0x10000000};
     711        }
     712
     713        const static UnicodeSet taml_Ext{const_cast<UnicodeSet::run_t *>(__taml_Ext_runs), 11, 0, const_cast<UnicodeSet::bitquad_t *>(__taml_Ext_quads), 10, 0};
     714
    608715        /** Code Point Ranges for Telu
    609716        [0951, 0952], [0964, 0965], [0c00, 0c03], [0c05, 0c0c],
     
    611718        [0c46, 0c48], [0c4a, 0c4d], [0c55, 0c56], [0c58, 0c5a],
    612719        [0c60, 0c63], [0c66, 0c6f], [0c78, 0c7f], [1cda, 1cda]**/
    613         const UnicodeSet telu_Ext
    614             {{{Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4},
    615               {Empty, 130}, {Mixed, 1}, {Empty, 34585}},
    616              {0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
    617               0xff00ffcf, 0x04000000}};
     720
     721        namespace {
     722        const static UnicodeSet::run_t __telu_Ext_runs[] = {
     723        {Empty, 74}, {Mixed, 2}, {Empty, 20}, {Mixed, 4}, {Empty, 130},
     724        {Mixed, 1}, {Empty, 34585}};
     725        const static UnicodeSet::bitquad_t  __telu_Ext_quads[] = {
     726        0x00060000, 0x00000030, 0xfffddfef, 0xe3fffdff, 0x07603ddf,
     727        0xff00ffcf, 0x04000000};
     728        }
     729
     730        const static UnicodeSet telu_Ext{const_cast<UnicodeSet::run_t *>(__telu_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__telu_Ext_quads), 7, 0};
     731
    618732        /** Code Point Ranges for Knda
    619733        [0951, 0952], [0964, 0965], [0c80, 0c83], [0c85, 0c8c],
     
    622736        [0cde, 0cde], [0ce0, 0ce3], [0ce6, 0cef], [0cf1, 0cf2],
    623737        [1cda, 1cda], [1cf5, 1cf5], [a830, a835]**/
    624         const UnicodeSet knda_Ext
    625             {{{Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4},
    626               {Empty, 126}, {Mixed, 2}, {Empty, 1113}, {Mixed, 1},
    627               {Empty, 33470}},
    628              {0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
    629               0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000}};
     738
     739        namespace {
     740        const static UnicodeSet::run_t __knda_Ext_runs[] = {
     741        {Empty, 74}, {Mixed, 2}, {Empty, 24}, {Mixed, 4}, {Empty, 126},
     742        {Mixed, 2}, {Empty, 1113}, {Mixed, 1}, {Empty, 33470}};
     743        const static UnicodeSet::bitquad_t  __knda_Ext_quads[] = {
     744        0x00060000, 0x00000030, 0xfffddfef, 0xf3effdff, 0x40603ddf,
     745        0x0006ffcf, 0x04000000, 0x00200000, 0x003f0000};
     746        }
     747
     748        const static UnicodeSet knda_Ext{const_cast<UnicodeSet::run_t *>(__knda_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__knda_Ext_quads), 9, 0};
     749
    630750        /** Code Point Ranges for Mlym
    631751        [0951, 0952], [0964, 0965], [0d00, 0d03], [0d05, 0d0c],
    632752        [0d0e, 0d10], [0d12, 0d44], [0d46, 0d48], [0d4a, 0d4f],
    633753        [0d54, 0d63], [0d66, 0d7f], [1cda, 1cda]**/
    634         const UnicodeSet mlym_Ext
    635             {{{Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 1}, {Full, 1},
    636               {Mixed, 2}, {Empty, 122}, {Mixed, 1}, {Empty, 34585}},
    637              {0x00060000, 0x00000030, 0xfffddfef, 0xfff0fddf, 0xffffffcf,
    638               0x04000000}};
     754
     755        namespace {
     756        const static UnicodeSet::run_t __mlym_Ext_runs[] = {
     757        {Empty, 74}, {Mixed, 2}, {Empty, 28}, {Mixed, 1}, {Full, 1},
     758        {Mixed, 2}, {Empty, 122}, {Mixed, 1}, {Empty, 34585}};
     759        const static UnicodeSet::bitquad_t  __mlym_Ext_quads[] = {
     760        0x00060000, 0x00000030, 0xfffddfef, 0xfff0fddf, 0xffffffcf,
     761        0x04000000};
     762        }
     763
     764        const static UnicodeSet mlym_Ext{const_cast<UnicodeSet::run_t *>(__mlym_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__mlym_Ext_quads), 6, 0};
     765
    639766        /** Code Point Ranges for Sinh
    640767        [0964, 0965], [0d82, 0d83], [0d85, 0d96], [0d9a, 0db1],
     
    642769        [0dcf, 0dd4], [0dd6, 0dd6], [0dd8, 0ddf], [0de6, 0def],
    643770        [0df2, 0df4], [111e1, 111f4]**/
    644         const UnicodeSet sinh_Ext
    645             {{{Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4},
    646               {Empty, 2079}, {Mixed, 1}, {Empty, 32624}},
    647              {0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
    648               0x001ffffe}};
     771
     772        namespace {
     773        const static UnicodeSet::run_t __sinh_Ext_runs[] = {
     774        {Empty, 75}, {Mixed, 1}, {Empty, 32}, {Mixed, 4}, {Empty, 2079},
     775        {Mixed, 1}, {Empty, 32624}};
     776        const static UnicodeSet::bitquad_t  __sinh_Ext_quads[] = {
     777        0x00000030, 0xfc7fffec, 0x2ffbffff, 0xff5f847f, 0x001cffc0,
     778        0x001ffffe};
     779        }
     780
     781        const static UnicodeSet sinh_Ext{const_cast<UnicodeSet::run_t *>(__sinh_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__sinh_Ext_quads), 6, 0};
     782
    649783        /** Code Point Ranges for Thai
    650784        [0e01, 0e3a], [0e40, 0e5b]**/
    651         const UnicodeSet thai_Ext
    652             {{{Empty, 112}, {Mixed, 3}, {Empty, 34701}},
    653              {0xfffffffe, 0x07ffffff, 0x0fffffff}};
     785
     786        namespace {
     787        const static UnicodeSet::run_t __thai_Ext_runs[] = {
     788        {Empty, 112}, {Mixed, 3}, {Empty, 34701}};
     789        const static UnicodeSet::bitquad_t  __thai_Ext_quads[] = {
     790        0xfffffffe, 0x07ffffff, 0x0fffffff};
     791        }
     792
     793        const static UnicodeSet thai_Ext{const_cast<UnicodeSet::run_t *>(__thai_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__thai_Ext_quads), 3, 0};
     794
    654795        /** Code Point Ranges for Laoo
    655796        [0e81, 0e82], [0e84, 0e84], [0e87, 0e88], [0e8a, 0e8a],
     
    658799        [0ebb, 0ebd], [0ec0, 0ec4], [0ec6, 0ec6], [0ec8, 0ecd],
    659800        [0ed0, 0ed9], [0edc, 0edf]**/
    660         const UnicodeSet laoo_Ext
    661             {{{Empty, 116}, {Mixed, 3}, {Empty, 34697}},
    662              {0xfef02596, 0x3bffecae, 0xf3ff3f5f}};
     801
     802        namespace {
     803        const static UnicodeSet::run_t __laoo_Ext_runs[] = {
     804        {Empty, 116}, {Mixed, 3}, {Empty, 34697}};
     805        const static UnicodeSet::bitquad_t  __laoo_Ext_quads[] = {
     806        0xfef02596, 0x3bffecae, 0xf3ff3f5f};
     807        }
     808
     809        const static UnicodeSet laoo_Ext{const_cast<UnicodeSet::run_t *>(__laoo_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__laoo_Ext_quads), 3, 0};
     810
    663811        /** Code Point Ranges for Tibt
    664812        [0f00, 0f47], [0f49, 0f6c], [0f71, 0f97], [0f99, 0fbc],
    665813        [0fbe, 0fcc], [0fce, 0fd4], [0fd9, 0fda]**/
    666         const UnicodeSet tibt_Ext
    667             {{{Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}},
    668              {0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff}};
     814
     815        namespace {
     816        const static UnicodeSet::run_t __tibt_Ext_runs[] = {
     817        {Empty, 120}, {Full, 2}, {Mixed, 5}, {Empty, 34689}};
     818        const static UnicodeSet::bitquad_t  __tibt_Ext_quads[] = {
     819        0xfffffeff, 0xfffe1fff, 0xfeffffff, 0xdfffffff, 0x061fdfff};
     820        }
     821
     822        const static UnicodeSet tibt_Ext{const_cast<UnicodeSet::run_t *>(__tibt_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__tibt_Ext_quads), 5, 0};
     823
    669824        /** Code Point Ranges for Mymr
    670825        [1000, 109f], [a92e, a92e], [a9e0, a9fe], [aa60, aa7f]**/
    671         const UnicodeSet mymr_Ext
    672             {{{Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1},
    673               {Empty, 5}, {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}},
    674              {0x00004000, 0x7fffffff}};
     826
     827        namespace {
     828        const static UnicodeSet::run_t __mymr_Ext_runs[] = {
     829        {Empty, 128}, {Full, 5}, {Empty, 1220}, {Mixed, 1}, {Empty, 5},
     830        {Mixed, 1}, {Empty, 3}, {Full, 1}, {Empty, 33452}};
     831        const static UnicodeSet::bitquad_t  __mymr_Ext_quads[] = {
     832        0x00004000, 0x7fffffff};
     833        }
     834
     835        const static UnicodeSet mymr_Ext{const_cast<UnicodeSet::run_t *>(__mymr_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__mymr_Ext_quads), 2, 0};
     836
    675837        /** Code Point Ranges for Geor
    676838        [0589, 0589], [10a0, 10c5], [10c7, 10c7], [10cd, 10cd],
    677839        [10d0, 10ff], [2d00, 2d25], [2d27, 2d27], [2d2d, 2d2d]**/
    678         const UnicodeSet geor_Ext
    679             {{{Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
    680               {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1},
    681               {Empty, 34454}},
    682              {0x00000200, 0xffff20bf, 0x000020bf}};
     840
     841        namespace {
     842        const static UnicodeSet::run_t __geor_Ext_runs[] = {
     843        {Empty, 44}, {Mixed, 1}, {Empty, 88}, {Full, 1}, {Mixed, 1},
     844        {Full, 1}, {Empty, 224}, {Full, 1}, {Mixed, 1}, {Empty, 34454}};
     845        const static UnicodeSet::bitquad_t  __geor_Ext_quads[] = {
     846        0x00000200, 0xffff20bf, 0x000020bf};
     847        }
     848
     849        const static UnicodeSet geor_Ext{const_cast<UnicodeSet::run_t *>(__geor_Ext_runs), 10, 0, const_cast<UnicodeSet::bitquad_t *>(__geor_Ext_quads), 3, 0};
     850
    683851        /** Code Point Ranges for Hang
    684852        [1100, 11ff], [3001, 3003], [3008, 3011], [3013, 301f],
     
    688856        [ffa0, ffbe], [ffc2, ffc7], [ffca, ffcf], [ffd2, ffd7],
    689857        [ffda, ffdc]**/
    690         const UnicodeSet hang_Ext
    691             {{{Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
    692               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
    693               {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
    694               {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3},
    695               {Empty, 306}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
    696               {Mixed, 2}, {Empty, 32769}},
    697              {0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
    698               0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
    699               0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc}};
     858
     859        namespace {
     860        const static UnicodeSet::run_t __hang_Ext_runs[] = {
     861        {Empty, 136}, {Full, 8}, {Empty, 240}, {Mixed, 2}, {Empty, 5},
     862        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     863        {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Empty, 951},
     864        {Mixed, 1}, {Empty, 20}, {Full, 349}, {Mixed, 3}, {Empty, 306},
     865        {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
     866        {Empty, 32769}};
     867        const static UnicodeSet::bitquad_t  __hang_Ext_quads[] = {
     868        0xfffbff0e, 0x0081c000, 0x08000000, 0xfffe0000, 0x00007fff,
     869        0x7fffffff, 0x7fffffff, 0x1fffffff, 0xffff000f, 0xfffff87f,
     870        0x0fffffff, 0x00000060, 0x0000003e, 0x7fffffff, 0x1cfcfcfc};
     871        }
     872
     873        const static UnicodeSet hang_Ext{const_cast<UnicodeSet::run_t *>(__hang_Ext_runs), 26, 0, const_cast<UnicodeSet::bitquad_t *>(__hang_Ext_quads), 15, 0};
     874
    700875        /** Code Point Ranges for Ethi
    701876        [1200, 1248], [124a, 124d], [1250, 1256], [1258, 1258],
     
    707882        [2dc8, 2dce], [2dd0, 2dd6], [2dd8, 2dde], [ab01, ab06],
    708883        [ab09, ab0e], [ab11, ab16], [ab20, ab26], [ab28, ab2e]**/
    709         const UnicodeSet ethi_Ext
    710             {{{Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
    711               {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
    712               {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}},
    713              {0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
    714               0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
    715               0x7f7f7f7f, 0x007e7e7e, 0x00007f7f}};
     884
     885        namespace {
     886        const static UnicodeSet::run_t __ethi_Ext_runs[] = {
     887        {Empty, 144}, {Full, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 3},
     888        {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 207},
     889        {Mixed, 3}, {Empty, 1001}, {Mixed, 2}, {Empty, 33446}};
     890        const static UnicodeSet::bitquad_t  __ethi_Ext_quads[] = {
     891        0x3d7f3dff, 0xffff3dff, 0x7f3dffff, 0xff7fff3d, 0xff3dffff,
     892        0xe7ffffff, 0x1fffffff, 0x03ffffff, 0x007fffff, 0x7f7f7f7f,
     893        0x7f7f7f7f, 0x007e7e7e, 0x00007f7f};
     894        }
     895
     896        const static UnicodeSet ethi_Ext{const_cast<UnicodeSet::run_t *>(__ethi_Ext_runs), 14, 0, const_cast<UnicodeSet::bitquad_t *>(__ethi_Ext_quads), 13, 0};
     897
    716898        /** Code Point Ranges for Cher
    717899        [13a0, 13f5], [13f8, 13fd], [ab70, abbf]**/
    718         const UnicodeSet cher_Ext
    719             {{{Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211},
    720               {Mixed, 1}, {Full, 2}, {Empty, 33442}},
    721              {0x3f3fffff, 0xffff0000}};
     900
     901        namespace {
     902        const static UnicodeSet::run_t __cher_Ext_runs[] = {
     903        {Empty, 157}, {Full, 2}, {Mixed, 1}, {Empty, 1211}, {Mixed, 1},
     904        {Full, 2}, {Empty, 33442}};
     905        const static UnicodeSet::bitquad_t  __cher_Ext_quads[] = {
     906        0x3f3fffff, 0xffff0000};
     907        }
     908
     909        const static UnicodeSet cher_Ext{const_cast<UnicodeSet::run_t *>(__cher_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__cher_Ext_quads), 2, 0};
     910
    722911        /** Code Point Ranges for Cans
    723912        [1400, 167f], [18b0, 18f5]**/
    724         const UnicodeSet cans_Ext
    725             {{{Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
    726               {Mixed, 1}, {Empty, 34616}},
    727              {0xffff0000, 0x003fffff}};
     913
     914        namespace {
     915        const static UnicodeSet::run_t __cans_Ext_runs[] = {
     916        {Empty, 160}, {Full, 20}, {Empty, 17}, {Mixed, 1}, {Full, 1},
     917        {Mixed, 1}, {Empty, 34616}};
     918        const static UnicodeSet::bitquad_t  __cans_Ext_quads[] = {
     919        0xffff0000, 0x003fffff};
     920        }
     921
     922        const static UnicodeSet cans_Ext{const_cast<UnicodeSet::run_t *>(__cans_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__cans_Ext_quads), 2, 0};
     923
    728924        /** Code Point Ranges for Ogam
    729925        [1680, 169c]**/
    730         const UnicodeSet ogam_Ext
    731             {{{Empty, 180}, {Mixed, 1}, {Empty, 34635}},
    732              {0x1fffffff}};
     926
     927        namespace {
     928        const static UnicodeSet::run_t __ogam_Ext_runs[] = {
     929        {Empty, 180}, {Mixed, 1}, {Empty, 34635}};
     930        const static UnicodeSet::bitquad_t  __ogam_Ext_quads[] = {
     931        0x1fffffff};
     932        }
     933
     934        const static UnicodeSet ogam_Ext{const_cast<UnicodeSet::run_t *>(__ogam_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__ogam_Ext_quads), 1, 0};
     935
    733936        /** Code Point Ranges for Runr
    734937        [16a0, 16ea], [16ee, 16f8]**/
    735         const UnicodeSet runr_Ext
    736             {{{Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}},
    737              {0x01ffc7ff}};
     938
     939        namespace {
     940        const static UnicodeSet::run_t __runr_Ext_runs[] = {
     941        {Empty, 181}, {Full, 2}, {Mixed, 1}, {Empty, 34632}};
     942        const static UnicodeSet::bitquad_t  __runr_Ext_quads[] = {
     943        0x01ffc7ff};
     944        }
     945
     946        const static UnicodeSet runr_Ext{const_cast<UnicodeSet::run_t *>(__runr_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__runr_Ext_quads), 1, 0};
     947
    738948        /** Code Point Ranges for Khmr
    739949        [1780, 17dd], [17e0, 17e9], [17f0, 17f9], [19e0, 19ff]**/
    740         const UnicodeSet khmr_Ext
    741             {{{Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
    742               {Empty, 34608}},
    743              {0x3fffffff, 0x03ff03ff}};
     950
     951        namespace {
     952        const static UnicodeSet::run_t __khmr_Ext_runs[] = {
     953        {Empty, 188}, {Full, 2}, {Mixed, 2}, {Empty, 15}, {Full, 1},
     954        {Empty, 34608}};
     955        const static UnicodeSet::bitquad_t  __khmr_Ext_quads[] = {
     956        0x3fffffff, 0x03ff03ff};
     957        }
     958
     959        const static UnicodeSet khmr_Ext{const_cast<UnicodeSet::run_t *>(__khmr_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__khmr_Ext_quads), 2, 0};
     960
    744961        /** Code Point Ranges for Mong
    745962        [1800, 180e], [1810, 1819], [1820, 1877], [1880, 18aa],
    746963        [11660, 1166c]**/
    747         const UnicodeSet mong_Ext
    748             {{{Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
    749               {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}},
    750              {0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff}};
     964
     965        namespace {
     966        const static UnicodeSet::run_t __mong_Ext_runs[] = {
     967        {Empty, 192}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 1},
     968        {Mixed, 1}, {Empty, 2029}, {Mixed, 1}, {Empty, 32588}};
     969        const static UnicodeSet::bitquad_t  __mong_Ext_quads[] = {
     970        0x03ff7fff, 0x00ffffff, 0x000007ff, 0x00001fff};
     971        }
     972
     973        const static UnicodeSet mong_Ext{const_cast<UnicodeSet::run_t *>(__mong_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__mong_Ext_quads), 4, 0};
     974
    751975        /** Code Point Ranges for Hira
    752976        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
     
    754978        [30fb, 30fc], [fe45, fe46], [ff61, ff65], [ff70, ff70],
    755979        [ff9e, ff9f], [1b001, 1b11e], [1f200, 1f200]**/
    756         const UnicodeSet hira_Ext
    757             {{{Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
    758               {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
    759               {Empty, 1411}, {Mixed, 1}, {Full, 7}, {Mixed, 1},
    760               {Empty, 519}, {Mixed, 1}, {Empty, 30831}},
    761              {0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
    762               0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0xfffffffe,
    763               0x7fffffff, 0x00000001}};
     980
     981        namespace {
     982        const static UnicodeSet::run_t __hira_Ext_runs[] = {
     983        {Empty, 384}, {Mixed, 3}, {Full, 1}, {Mixed, 2}, {Empty, 1},
     984        {Mixed, 1}, {Empty, 1642}, {Mixed, 1}, {Empty, 8}, {Mixed, 2},
     985        {Empty, 1411}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Empty, 519},
     986        {Mixed, 1}, {Empty, 30831}};
     987        const static UnicodeSet::bitquad_t  __hira_Ext_quads[] = {
     988        0xfffbff0e, 0x30bf0000, 0xfffffffe, 0xfe7fffff, 0x00000001,
     989        0x18000000, 0x00000060, 0x0001003e, 0xc0000000, 0xfffffffe,
     990        0x7fffffff, 0x00000001};
     991        }
     992
     993        const static UnicodeSet hira_Ext{const_cast<UnicodeSet::run_t *>(__hira_Ext_runs), 17, 0, const_cast<UnicodeSet::bitquad_t *>(__hira_Ext_quads), 12, 0};
     994
    764995        /** Code Point Ranges for Kana
    765996        [3001, 3003], [3008, 3011], [3013, 301f], [3030, 3035],
     
    767998        [31f0, 31ff], [32d0, 32fe], [3300, 3357], [fe45, fe46],
    768999        [ff61, ff9f], [1b000, 1b000]**/
    769         const UnicodeSet kana_Ext
    770             {{{Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
    771               {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
    772               {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    773               {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}},
    774              {0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
    775               0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001}};
     1000
     1001        namespace {
     1002        const static UnicodeSet::run_t __kana_Ext_runs[] = {
     1003        {Empty, 384}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Full, 3},
     1004        {Empty, 7}, {Mixed, 1}, {Empty, 6}, {Mixed, 2}, {Full, 2},
     1005        {Mixed, 1}, {Empty, 1623}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
     1006        {Full, 1}, {Empty, 1411}, {Mixed, 1}, {Empty, 31359}};
     1007        const static UnicodeSet::bitquad_t  __kana_Ext_quads[] = {
     1008        0xfffbff0e, 0x30bf0000, 0x1e000000, 0xffff0000, 0xffff0000,
     1009        0x7fffffff, 0x00ffffff, 0x00000060, 0xfffffffe, 0x00000001};
     1010        }
     1011
     1012        const static UnicodeSet kana_Ext{const_cast<UnicodeSet::run_t *>(__kana_Ext_runs), 19, 0, const_cast<UnicodeSet::bitquad_t *>(__kana_Ext_quads), 10, 0};
     1013
    7761014        /** Code Point Ranges for Bopo
    7771015        [02ea, 02eb], [3001, 3003], [3008, 3011], [3013, 301f],
    7781016        [302a, 302d], [3030, 3030], [3037, 3037], [30fb, 30fb],
    7791017        [3105, 312e], [31a0, 31ba], [fe45, fe46], [ff61, ff65]**/
    780         const UnicodeSet bopo_Ext
    781             {{{Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
    782               {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
    783               {Empty, 8}, {Mixed, 1}, {Empty, 32772}},
    784              {0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
    785               0x00007fff, 0x07ffffff, 0x00000060, 0x0000003e}};
     1018
     1019        namespace {
     1020        const static UnicodeSet::run_t __bopo_Ext_runs[] = {
     1021        {Empty, 23}, {Mixed, 1}, {Empty, 360}, {Mixed, 2}, {Empty, 5},
     1022        {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 1636}, {Mixed, 1},
     1023        {Empty, 8}, {Mixed, 1}, {Empty, 32772}};
     1024        const static UnicodeSet::bitquad_t  __bopo_Ext_quads[] = {
     1025        0x00000c00, 0xfffbff0e, 0x00813c00, 0x08000000, 0xffffffe0,
     1026        0x00007fff, 0x07ffffff, 0x00000060, 0x0000003e};
     1027        }
     1028
     1029        const static UnicodeSet bopo_Ext{const_cast<UnicodeSet::run_t *>(__bopo_Ext_runs), 13, 0, const_cast<UnicodeSet::bitquad_t *>(__bopo_Ext_quads), 9, 0};
     1030
    7861031        /** Code Point Ranges for Hani
    7871032        [2e80, 2e99], [2e9b, 2ef3], [2f00, 2fd5], [3001, 3003],
     
    7931038        [1d360, 1d371], [1f250, 1f251], [20000, 2a6d6], [2a700, 2b734],
    7941039        [2b740, 2b81d], [2b820, 2cea1], [2ceb0, 2ebe0], [2f800, 2fa1d]**/
    795         const UnicodeSet hani_Ext
    796             {{{Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
    797               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
    798               {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
    799               {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
    800               {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
    801               {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 655}, {Mixed, 1},
    802               {Empty, 712}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
    803               {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    804               {Empty, 1695}, {Mixed, 1}, {Empty, 246}, {Mixed, 1},
    805               {Empty, 109}, {Full, 1334}, {Mixed, 1}, {Empty, 1},
    806               {Full, 129}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 180},
    807               {Mixed, 1}, {Full, 233}, {Mixed, 1}, {Empty, 96}, {Full, 16},
    808               {Mixed, 1}, {Empty, 28719}},
    809              {0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
    810               0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
    811               0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
    812               0x000007ff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
    813               0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
    814               0xffff0003, 0x00000001, 0x3fffffff}};
     1040
     1041        namespace {
     1042        const static UnicodeSet::run_t __hani_Ext_runs[] = {
     1043        {Empty, 372}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 6},
     1044        {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 1},
     1045        {Empty, 4}, {Mixed, 1}, {Empty, 1}, {Full, 1}, {Mixed, 1},
     1046        {Empty, 1}, {Full, 1}, {Mixed, 1}, {Empty, 1}, {Full, 1},
     1047        {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
     1048        {Full, 205}, {Mixed, 1}, {Empty, 2}, {Full, 655}, {Mixed, 1},
     1049        {Empty, 712}, {Full, 11}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     1050        {Empty, 27}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1695},
     1051        {Mixed, 1}, {Empty, 246}, {Mixed, 1}, {Empty, 109}, {Full, 1334},
     1052        {Mixed, 1}, {Empty, 1}, {Full, 129}, {Mixed, 1}, {Full, 6},
     1053        {Mixed, 1}, {Full, 180}, {Mixed, 1}, {Full, 233}, {Mixed, 1},
     1054        {Empty, 96}, {Full, 16}, {Mixed, 1}, {Empty, 28719}};
     1055        const static UnicodeSet::bitquad_t  __hani_Ext_quads[] = {
     1056        0xfbffffff, 0x000fffff, 0x003fffff, 0xfffbffee, 0xff813ffe,
     1057        0x08000000, 0xffff0000, 0x0000000f, 0x000000ff, 0x0001ffff,
     1058        0x00000fff, 0xff000000, 0xf801ffff, 0x7fffffff, 0x003fffff,
     1059        0x000007ff, 0xffff3fff, 0x03ffffff, 0x00000060, 0x0000003e,
     1060        0x0003ffff, 0x00030000, 0x007fffff, 0x001fffff, 0x3fffffff,
     1061        0xffff0003, 0x00000001, 0x3fffffff};
     1062        }
     1063
     1064        const static UnicodeSet hani_Ext{const_cast<UnicodeSet::run_t *>(__hani_Ext_runs), 59, 0, const_cast<UnicodeSet::bitquad_t *>(__hani_Ext_quads), 28, 0};
     1065
    8151066        /** Code Point Ranges for Yiii
    8161067        [3001, 3002], [3008, 3011], [3014, 301b], [30fb, 30fb],
    8171068        [a000, a48c], [a490, a4c6], [ff61, ff65]**/
    818         const UnicodeSet yiii_Ext
    819             {{{Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1},
    820               {Empty, 888}, {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    821               {Empty, 724}, {Mixed, 1}, {Empty, 32772}},
    822              {0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e}};
     1069
     1070        namespace {
     1071        const static UnicodeSet::run_t __yiii_Ext_runs[] = {
     1072        {Empty, 384}, {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 888},
     1073        {Full, 36}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 724},
     1074        {Mixed, 1}, {Empty, 32772}};
     1075        const static UnicodeSet::bitquad_t  __yiii_Ext_quads[] = {
     1076        0x0ff3ff06, 0x08000000, 0xffff1fff, 0x0000007f, 0x0000003e};
     1077        }
     1078
     1079        const static UnicodeSet yiii_Ext{const_cast<UnicodeSet::run_t *>(__yiii_Ext_runs), 12, 0, const_cast<UnicodeSet::bitquad_t *>(__yiii_Ext_quads), 5, 0};
     1080
    8231081        /** Code Point Ranges for Ital
    8241082        [10300, 10323], [1032d, 1032f]**/
    825         const UnicodeSet ital_Ext
    826             {{{Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}},
    827              {0x0000e00f}};
     1083
     1084        namespace {
     1085        const static UnicodeSet::run_t __ital_Ext_runs[] = {
     1086        {Empty, 2072}, {Full, 1}, {Mixed, 1}, {Empty, 32742}};
     1087        const static UnicodeSet::bitquad_t  __ital_Ext_quads[] = {
     1088        0x0000e00f};
     1089        }
     1090
     1091        const static UnicodeSet ital_Ext{const_cast<UnicodeSet::run_t *>(__ital_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__ital_Ext_quads), 1, 0};
     1092
    8281093        /** Code Point Ranges for Goth
    8291094        [10330, 1034a]**/
    830         const UnicodeSet goth_Ext
    831             {{{Empty, 2073}, {Mixed, 2}, {Empty, 32741}},
    832              {0xffff0000, 0x000007ff}};
     1095
     1096        namespace {
     1097        const static UnicodeSet::run_t __goth_Ext_runs[] = {
     1098        {Empty, 2073}, {Mixed, 2}, {Empty, 32741}};
     1099        const static UnicodeSet::bitquad_t  __goth_Ext_quads[] = {
     1100        0xffff0000, 0x000007ff};
     1101        }
     1102
     1103        const static UnicodeSet goth_Ext{const_cast<UnicodeSet::run_t *>(__goth_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__goth_Ext_quads), 2, 0};
     1104
    8331105        /** Code Point Ranges for Dsrt
    8341106        [10400, 1044f]**/
    835         const UnicodeSet dsrt_Ext
    836             {{{Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}},
    837              {0x0000ffff}};
     1107
     1108        namespace {
     1109        const static UnicodeSet::run_t __dsrt_Ext_runs[] = {
     1110        {Empty, 2080}, {Full, 2}, {Mixed, 1}, {Empty, 32733}};
     1111        const static UnicodeSet::bitquad_t  __dsrt_Ext_quads[] = {
     1112        0x0000ffff};
     1113        }
     1114
     1115        const static UnicodeSet dsrt_Ext{const_cast<UnicodeSet::run_t *>(__dsrt_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__dsrt_Ext_quads), 1, 0};
     1116
    8381117        /** Code Point Ranges for Zinh
    8391118        [0300, 0341], [0343, 0344], [0346, 0362], [1ab0, 1abe],
     
    8411120        [fe00, fe0f], [fe20, fe2d], [101fd, 101fd], [1d167, 1d169],
    8421121        [1d17b, 1d182], [1d185, 1d18b], [1d1aa, 1d1ad], [e0100, e01ef]**/
    843         const UnicodeSet zinh_Ext
    844             {{{Empty, 24}, {Full, 2}, {Mixed, 2}, {Empty, 185}, {Mixed, 1},
    845               {Empty, 24}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
    846               {Mixed, 2}, {Empty, 1768}, {Mixed, 2}, {Empty, 29},
    847               {Mixed, 1}, {Empty, 1659}, {Mixed, 3}, {Empty, 24954},
    848               {Full, 7}, {Mixed, 1}, {Empty, 6128}},
    849              {0xffffffdb, 0x00000007, 0x7fff0000, 0xfffffffc, 0xfbffffff,
    850               0x00003000, 0xffff0000, 0x0000ffff, 0x0000ffff, 0x00003fff,
    851               0x20000000, 0xf8000380, 0x00000fe7, 0x00003c00, 0x0000ffff}};
     1122
     1123        namespace {
     1124        const static UnicodeSet::run_t __zinh_Ext_runs[] = {
     1125        {Empty, 24}, {Full, 2}, {Mixed, 2}, {Empty, 185}, {Mixed, 1},
     1126        {Empty, 24}, {Mixed, 2}, {Empty, 16}, {Mixed, 1}, {Empty, 5},
     1127        {Mixed, 2}, {Empty, 1768}, {Mixed, 2}, {Empty, 29}, {Mixed, 1},
     1128        {Empty, 1659}, {Mixed, 3}, {Empty, 24954}, {Full, 7}, {Mixed, 1},
     1129        {Empty, 6128}};
     1130        const static UnicodeSet::bitquad_t  __zinh_Ext_quads[] = {
     1131        0xffffffdb, 0x00000007, 0x7fff0000, 0xfffffffc, 0xfbffffff,
     1132        0x00003000, 0xffff0000, 0x0000ffff, 0x0000ffff, 0x00003fff,
     1133        0x20000000, 0xf8000380, 0x00000fe7, 0x00003c00, 0x0000ffff};
     1134        }
     1135
     1136        const static UnicodeSet zinh_Ext{const_cast<UnicodeSet::run_t *>(__zinh_Ext_runs), 21, 0, const_cast<UnicodeSet::bitquad_t *>(__zinh_Ext_quads), 15, 0};
     1137
    8521138        /** Code Point Ranges for Tglg
    8531139        [1700, 170c], [170e, 1714], [1735, 1736]**/
    854         const UnicodeSet tglg_Ext
    855             {{{Empty, 184}, {Mixed, 2}, {Empty, 34630}},
    856              {0x001fdfff, 0x00600000}};
     1140
     1141        namespace {
     1142        const static UnicodeSet::run_t __tglg_Ext_runs[] = {
     1143        {Empty, 184}, {Mixed, 2}, {Empty, 34630}};
     1144        const static UnicodeSet::bitquad_t  __tglg_Ext_quads[] = {
     1145        0x001fdfff, 0x00600000};
     1146        }
     1147
     1148        const static UnicodeSet tglg_Ext{const_cast<UnicodeSet::run_t *>(__tglg_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__tglg_Ext_quads), 2, 0};
     1149
    8571150        /** Code Point Ranges for Hano
    8581151        [1720, 1736]**/
    859         const UnicodeSet hano_Ext
    860             {{{Empty, 185}, {Mixed, 1}, {Empty, 34630}},
    861              {0x007fffff}};
     1152
     1153        namespace {
     1154        const static UnicodeSet::run_t __hano_Ext_runs[] = {
     1155        {Empty, 185}, {Mixed, 1}, {Empty, 34630}};
     1156        const static UnicodeSet::bitquad_t  __hano_Ext_quads[] = {
     1157        0x007fffff};
     1158        }
     1159
     1160        const static UnicodeSet hano_Ext{const_cast<UnicodeSet::run_t *>(__hano_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__hano_Ext_quads), 1, 0};
     1161
    8621162        /** Code Point Ranges for Buhd
    8631163        [1735, 1736], [1740, 1753]**/
    864         const UnicodeSet buhd_Ext
    865             {{{Empty, 185}, {Mixed, 2}, {Empty, 34629}},
    866              {0x00600000, 0x000fffff}};
     1164
     1165        namespace {
     1166        const static UnicodeSet::run_t __buhd_Ext_runs[] = {
     1167        {Empty, 185}, {Mixed, 2}, {Empty, 34629}};
     1168        const static UnicodeSet::bitquad_t  __buhd_Ext_quads[] = {
     1169        0x00600000, 0x000fffff};
     1170        }
     1171
     1172        const static UnicodeSet buhd_Ext{const_cast<UnicodeSet::run_t *>(__buhd_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__buhd_Ext_quads), 2, 0};
     1173
    8671174        /** Code Point Ranges for Tagb
    8681175        [1735, 1736], [1760, 176c], [176e, 1770], [1772, 1773]**/
    869         const UnicodeSet tagb_Ext
    870             {{{Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    871               {Empty, 34628}},
    872              {0x00600000, 0x000ddfff}};
     1176
     1177        namespace {
     1178        const static UnicodeSet::run_t __tagb_Ext_runs[] = {
     1179        {Empty, 185}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 34628}};
     1180        const static UnicodeSet::bitquad_t  __tagb_Ext_quads[] = {
     1181        0x00600000, 0x000ddfff};
     1182        }
     1183
     1184        const static UnicodeSet tagb_Ext{const_cast<UnicodeSet::run_t *>(__tagb_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__tagb_Ext_quads), 2, 0};
     1185
    8731186        /** Code Point Ranges for Limb
    8741187        [0965, 0965], [1900, 191e], [1920, 192b], [1930, 193b],
    8751188        [1940, 1940], [1944, 194f]**/
    876         const UnicodeSet limb_Ext
    877             {{{Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3},
    878               {Empty, 34613}},
    879              {0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1}};
     1189
     1190        namespace {
     1191        const static UnicodeSet::run_t __limb_Ext_runs[] = {
     1192        {Empty, 75}, {Mixed, 1}, {Empty, 124}, {Mixed, 3}, {Empty, 34613}};
     1193        const static UnicodeSet::bitquad_t  __limb_Ext_quads[] = {
     1194        0x00000020, 0x7fffffff, 0x0fff0fff, 0x0000fff1};
     1195        }
     1196
     1197        const static UnicodeSet limb_Ext{const_cast<UnicodeSet::run_t *>(__limb_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__limb_Ext_quads), 4, 0};
     1198
    8801199        /** Code Point Ranges for Tale
    8811200        [1040, 1049], [1950, 196d], [1970, 1974]**/
    882         const UnicodeSet tale_Ext
    883             {{{Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2},
    884               {Empty, 34612}},
    885              {0x000003ff, 0xffff0000, 0x001f3fff}};
     1201
     1202        namespace {
     1203        const static UnicodeSet::run_t __tale_Ext_runs[] = {
     1204        {Empty, 130}, {Mixed, 1}, {Empty, 71}, {Mixed, 2}, {Empty, 34612}};
     1205        const static UnicodeSet::bitquad_t  __tale_Ext_quads[] = {
     1206        0x000003ff, 0xffff0000, 0x001f3fff};
     1207        }
     1208
     1209        const static UnicodeSet tale_Ext{const_cast<UnicodeSet::run_t *>(__tale_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__tale_Ext_quads), 3, 0};
     1210
    8861211        /** Code Point Ranges for Linb
    8871212        [10000, 1000b], [1000d, 10026], [10028, 1003a], [1003c, 1003d],
    8881213        [1003f, 1004d], [10050, 1005d], [10080, 100fa], [10100, 10102],
    8891214        [10107, 10133], [10137, 1013f]**/
    890         const UnicodeSet linb_Ext
    891             {{{Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
    892               {Empty, 32758}},
    893              {0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
    894               0xff8fffff}};
     1215
     1216        namespace {
     1217        const static UnicodeSet::run_t __linb_Ext_runs[] = {
     1218        {Empty, 2048}, {Mixed, 3}, {Empty, 1}, {Full, 3}, {Mixed, 3},
     1219        {Empty, 32758}};
     1220        const static UnicodeSet::bitquad_t  __linb_Ext_quads[] = {
     1221        0xffffefff, 0xb7ffff7f, 0x3fff3fff, 0x07ffffff, 0xffffff87,
     1222        0xff8fffff};
     1223        }
     1224
     1225        const static UnicodeSet linb_Ext{const_cast<UnicodeSet::run_t *>(__linb_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__linb_Ext_quads), 6, 0};
     1226
    8951227        /** Code Point Ranges for Ugar
    8961228        [10380, 1039d], [1039f, 1039f]**/
    897         const UnicodeSet ugar_Ext
    898             {{{Empty, 2076}, {Mixed, 1}, {Empty, 32739}},
    899              {0xbfffffff}};
     1229
     1230        namespace {
     1231        const static UnicodeSet::run_t __ugar_Ext_runs[] = {
     1232        {Empty, 2076}, {Mixed, 1}, {Empty, 32739}};
     1233        const static UnicodeSet::bitquad_t  __ugar_Ext_quads[] = {
     1234        0xbfffffff};
     1235        }
     1236
     1237        const static UnicodeSet ugar_Ext{const_cast<UnicodeSet::run_t *>(__ugar_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__ugar_Ext_quads), 1, 0};
     1238
    9001239        /** Code Point Ranges for Shaw
    9011240        [10450, 1047f]**/
    902         const UnicodeSet shaw_Ext
    903             {{{Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}},
    904              {0xffff0000}};
     1241
     1242        namespace {
     1243        const static UnicodeSet::run_t __shaw_Ext_runs[] = {
     1244        {Empty, 2082}, {Mixed, 1}, {Full, 1}, {Empty, 32732}};
     1245        const static UnicodeSet::bitquad_t  __shaw_Ext_quads[] = {
     1246        0xffff0000};
     1247        }
     1248
     1249        const static UnicodeSet shaw_Ext{const_cast<UnicodeSet::run_t *>(__shaw_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__shaw_Ext_quads), 1, 0};
     1250
    9051251        /** Code Point Ranges for Osma
    9061252        [10480, 1049d], [104a0, 104a9]**/
    907         const UnicodeSet osma_Ext
    908             {{{Empty, 2084}, {Mixed, 2}, {Empty, 32730}},
    909              {0x3fffffff, 0x000003ff}};
     1253
     1254        namespace {
     1255        const static UnicodeSet::run_t __osma_Ext_runs[] = {
     1256        {Empty, 2084}, {Mixed, 2}, {Empty, 32730}};
     1257        const static UnicodeSet::bitquad_t  __osma_Ext_quads[] = {
     1258        0x3fffffff, 0x000003ff};
     1259        }
     1260
     1261        const static UnicodeSet osma_Ext{const_cast<UnicodeSet::run_t *>(__osma_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__osma_Ext_quads), 2, 0};
     1262
    9101263        /** Code Point Ranges for Cprt
    9111264        [10100, 10102], [10107, 10133], [10137, 1013f], [10800, 10805],
    9121265        [10808, 10808], [1080a, 10835], [10837, 10838], [1083c, 1083c],
    9131266        [1083f, 1083f]**/
    914         const UnicodeSet cprt_Ext
    915             {{{Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2},
    916               {Empty, 32702}},
    917              {0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff}};
     1267
     1268        namespace {
     1269        const static UnicodeSet::run_t __cprt_Ext_runs[] = {
     1270        {Empty, 2056}, {Mixed, 2}, {Empty, 54}, {Mixed, 2}, {Empty, 32702}};
     1271        const static UnicodeSet::bitquad_t  __cprt_Ext_quads[] = {
     1272        0xffffff87, 0xff8fffff, 0xfffffd3f, 0x91bfffff};
     1273        }
     1274
     1275        const static UnicodeSet cprt_Ext{const_cast<UnicodeSet::run_t *>(__cprt_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__cprt_Ext_quads), 4, 0};
     1276
    9181277        /** Code Point Ranges for Brai
    9191278        [2800, 28ff]**/
    920         const UnicodeSet brai_Ext
    921             {{{Empty, 320}, {Full, 8}, {Empty, 34488}},
    922              {}};
     1279
     1280        namespace {
     1281        const static UnicodeSet::run_t __brai_Ext_runs[] = {
     1282        {Empty, 320}, {Full, 8}, {Empty, 34488}};
     1283        const static UnicodeSet::bitquad_t * const __brai_Ext_quads = nullptr;
     1284        }
     1285
     1286        const static UnicodeSet brai_Ext{const_cast<UnicodeSet::run_t *>(__brai_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__brai_Ext_quads), 0, 0};
     1287
    9231288        /** Code Point Ranges for Bugi
    9241289        [1a00, 1a1b], [1a1e, 1a1f], [a9cf, a9cf]**/
    925         const UnicodeSet bugi_Ext
    926             {{{Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1},
    927               {Empty, 33457}},
    928              {0xcfffffff, 0x00008000}};
     1290
     1291        namespace {
     1292        const static UnicodeSet::run_t __bugi_Ext_runs[] = {
     1293        {Empty, 208}, {Mixed, 1}, {Empty, 1149}, {Mixed, 1}, {Empty, 33457}};
     1294        const static UnicodeSet::bitquad_t  __bugi_Ext_quads[] = {
     1295        0xcfffffff, 0x00008000};
     1296        }
     1297
     1298        const static UnicodeSet bugi_Ext{const_cast<UnicodeSet::run_t *>(__bugi_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__bugi_Ext_quads), 2, 0};
     1299
    9291300        /** Code Point Ranges for Copt
    9301301        [03e2, 03ef], [2c80, 2cf3], [2cf9, 2cff], [102e0, 102fb]**/
    931         const UnicodeSet copt_Ext
    932             {{{Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
    933               {Empty, 1711}, {Mixed, 1}, {Empty, 32744}},
    934              {0x0000fffc, 0xfe0fffff, 0x0fffffff}};
     1302
     1303        namespace {
     1304        const static UnicodeSet::run_t __copt_Ext_runs[] = {
     1305        {Empty, 31}, {Mixed, 1}, {Empty, 324}, {Full, 3}, {Mixed, 1},
     1306        {Empty, 1711}, {Mixed, 1}, {Empty, 32744}};
     1307        const static UnicodeSet::bitquad_t  __copt_Ext_quads[] = {
     1308        0x0000fffc, 0xfe0fffff, 0x0fffffff};
     1309        }
     1310
     1311        const static UnicodeSet copt_Ext{const_cast<UnicodeSet::run_t *>(__copt_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__copt_Ext_quads), 3, 0};
     1312
    9351313        /** Code Point Ranges for Talu
    9361314        [1980, 19ab], [19b0, 19c9], [19d0, 19da], [19de, 19df]**/
    937         const UnicodeSet talu_Ext
    938             {{{Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}},
    939              {0xffff0fff, 0xc7ff03ff}};
     1315
     1316        namespace {
     1317        const static UnicodeSet::run_t __talu_Ext_runs[] = {
     1318        {Empty, 204}, {Full, 1}, {Mixed, 2}, {Empty, 34609}};
     1319        const static UnicodeSet::bitquad_t  __talu_Ext_quads[] = {
     1320        0xffff0fff, 0xc7ff03ff};
     1321        }
     1322
     1323        const static UnicodeSet talu_Ext{const_cast<UnicodeSet::run_t *>(__talu_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__talu_Ext_quads), 2, 0};
     1324
    9401325        /** Code Point Ranges for Glag
    9411326        [0484, 0484], [0487, 0487], [2c00, 2c2e], [2c30, 2c5e],
    9421327        [2e43, 2e43], [a66f, a66f], [1e000, 1e006], [1e008, 1e018],
    9431328        [1e01b, 1e021], [1e023, 1e024], [1e026, 1e02a]**/
    944         const UnicodeSet glag_Ext
    945             {{{Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
    946               {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1},
    947               {Empty, 2508}, {Mixed, 2}, {Empty, 30974}},
    948              {0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
    949               0xf9ffff7f, 0x000007db}};
     1329
     1330        namespace {
     1331        const static UnicodeSet::run_t __glag_Ext_runs[] = {
     1332        {Empty, 36}, {Mixed, 1}, {Empty, 315}, {Full, 1}, {Mixed, 2},
     1333        {Empty, 15}, {Mixed, 1}, {Empty, 960}, {Mixed, 1}, {Empty, 2508},
     1334        {Mixed, 2}, {Empty, 30974}};
     1335        const static UnicodeSet::bitquad_t  __glag_Ext_quads[] = {
     1336        0x00000090, 0xffff7fff, 0x7fffffff, 0x00000008, 0x00008000,
     1337        0xf9ffff7f, 0x000007db};
     1338        }
     1339
     1340        const static UnicodeSet glag_Ext{const_cast<UnicodeSet::run_t *>(__glag_Ext_runs), 12, 0, const_cast<UnicodeSet::bitquad_t *>(__glag_Ext_quads), 7, 0};
     1341
    9501342        /** Code Point Ranges for Tfng
    9511343        [2d30, 2d67], [2d6f, 2d70], [2d7f, 2d7f]**/
    952         const UnicodeSet tfng_Ext
    953             {{{Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    954               {Empty, 34452}},
    955              {0xffff0000, 0x800180ff}};
     1344
     1345        namespace {
     1346        const static UnicodeSet::run_t __tfng_Ext_runs[] = {
     1347        {Empty, 361}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 34452}};
     1348        const static UnicodeSet::bitquad_t  __tfng_Ext_quads[] = {
     1349        0xffff0000, 0x800180ff};
     1350        }
     1351
     1352        const static UnicodeSet tfng_Ext{const_cast<UnicodeSet::run_t *>(__tfng_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__tfng_Ext_quads), 2, 0};
     1353
    9561354        /** Code Point Ranges for Sylo
    9571355        [0964, 0965], [09e6, 09ef], [a800, a82b]**/
    958         const UnicodeSet sylo_Ext
    959             {{{Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1},
    960               {Empty, 1264}, {Full, 1}, {Mixed, 1}, {Empty, 33470}},
    961              {0x00000030, 0x0000ffc0, 0x00000fff}};
     1356
     1357        namespace {
     1358        const static UnicodeSet::run_t __sylo_Ext_runs[] = {
     1359        {Empty, 75}, {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Empty, 1264},
     1360        {Full, 1}, {Mixed, 1}, {Empty, 33470}};
     1361        const static UnicodeSet::bitquad_t  __sylo_Ext_quads[] = {
     1362        0x00000030, 0x0000ffc0, 0x00000fff};
     1363        }
     1364
     1365        const static UnicodeSet sylo_Ext{const_cast<UnicodeSet::run_t *>(__sylo_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__sylo_Ext_quads), 3, 0};
     1366
    9621367        /** Code Point Ranges for Xpeo
    9631368        [103a0, 103c3], [103c8, 103d5]**/
    964         const UnicodeSet xpeo_Ext
    965             {{{Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}},
    966              {0x003fff0f}};
     1369
     1370        namespace {
     1371        const static UnicodeSet::run_t __xpeo_Ext_runs[] = {
     1372        {Empty, 2077}, {Full, 1}, {Mixed, 1}, {Empty, 32737}};
     1373        const static UnicodeSet::bitquad_t  __xpeo_Ext_quads[] = {
     1374        0x003fff0f};
     1375        }
     1376
     1377        const static UnicodeSet xpeo_Ext{const_cast<UnicodeSet::run_t *>(__xpeo_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__xpeo_Ext_quads), 1, 0};
     1378
    9671379        /** Code Point Ranges for Khar
    9681380        [10a00, 10a03], [10a05, 10a06], [10a0c, 10a13], [10a15, 10a17],
    9691381        [10a19, 10a33], [10a38, 10a3a], [10a3f, 10a47], [10a50, 10a58]**/
    970         const UnicodeSet khar_Ext
    971             {{{Empty, 2128}, {Mixed, 3}, {Empty, 32685}},
    972              {0xfeeff06f, 0x870fffff, 0x01ff00ff}};
     1382
     1383        namespace {
     1384        const static UnicodeSet::run_t __khar_Ext_runs[] = {
     1385        {Empty, 2128}, {Mixed, 3}, {Empty, 32685}};
     1386        const static UnicodeSet::bitquad_t  __khar_Ext_quads[] = {
     1387        0xfeeff06f, 0x870fffff, 0x01ff00ff};
     1388        }
     1389
     1390        const static UnicodeSet khar_Ext{const_cast<UnicodeSet::run_t *>(__khar_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__khar_Ext_quads), 3, 0};
     1391
    9731392        /** Code Point Ranges for Bali
    9741393        [1b00, 1b4b], [1b50, 1b7c]**/
    975         const UnicodeSet bali_Ext
    976             {{{Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}},
    977              {0xffff0fff, 0x1fffffff}};
     1394
     1395        namespace {
     1396        const static UnicodeSet::run_t __bali_Ext_runs[] = {
     1397        {Empty, 216}, {Full, 2}, {Mixed, 2}, {Empty, 34596}};
     1398        const static UnicodeSet::bitquad_t  __bali_Ext_quads[] = {
     1399        0xffff0fff, 0x1fffffff};
     1400        }
     1401
     1402        const static UnicodeSet bali_Ext{const_cast<UnicodeSet::run_t *>(__bali_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__bali_Ext_quads), 2, 0};
     1403
    9781404        /** Code Point Ranges for Xsux
    9791405        [12000, 12399], [12400, 1246e], [12470, 12474], [12480, 12543]**/
    980         const UnicodeSet xsux_Ext
    981             {{{Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
    982               {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}},
    983              {0x03ffffff, 0x001f7fff, 0x0000000f}};
     1406
     1407        namespace {
     1408        const static UnicodeSet::run_t __xsux_Ext_runs[] = {
     1409        {Empty, 2304}, {Full, 28}, {Mixed, 1}, {Empty, 3}, {Full, 3},
     1410        {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Empty, 32469}};
     1411        const static UnicodeSet::bitquad_t  __xsux_Ext_quads[] = {
     1412        0x03ffffff, 0x001f7fff, 0x0000000f};
     1413        }
     1414
     1415        const static UnicodeSet xsux_Ext{const_cast<UnicodeSet::run_t *>(__xsux_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__xsux_Ext_quads), 3, 0};
     1416
    9841417        /** Code Point Ranges for Phnx
    9851418        [10900, 1091b], [1091f, 1091f]**/
    986         const UnicodeSet phnx_Ext
    987             {{{Empty, 2120}, {Mixed, 1}, {Empty, 32695}},
    988              {0x8fffffff}};
     1419
     1420        namespace {
     1421        const static UnicodeSet::run_t __phnx_Ext_runs[] = {
     1422        {Empty, 2120}, {Mixed, 1}, {Empty, 32695}};
     1423        const static UnicodeSet::bitquad_t  __phnx_Ext_quads[] = {
     1424        0x8fffffff};
     1425        }
     1426
     1427        const static UnicodeSet phnx_Ext{const_cast<UnicodeSet::run_t *>(__phnx_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__phnx_Ext_quads), 1, 0};
     1428
    9891429        /** Code Point Ranges for Phag
    9901430        [1802, 1803], [1805, 1805], [a840, a877]**/
    991         const UnicodeSet phag_Ext
    992             {{{Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1},
    993               {Mixed, 1}, {Empty, 33468}},
    994              {0x0000002c, 0x00ffffff}};
     1431
     1432        namespace {
     1433        const static UnicodeSet::run_t __phag_Ext_runs[] = {
     1434        {Empty, 192}, {Mixed, 1}, {Empty, 1153}, {Full, 1}, {Mixed, 1},
     1435        {Empty, 33468}};
     1436        const static UnicodeSet::bitquad_t  __phag_Ext_quads[] = {
     1437        0x0000002c, 0x00ffffff};
     1438        }
     1439
     1440        const static UnicodeSet phag_Ext{const_cast<UnicodeSet::run_t *>(__phag_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__phag_Ext_quads), 2, 0};
     1441
    9951442        /** Code Point Ranges for Nkoo
    9961443        [07c0, 07fa]**/
    997         const UnicodeSet nkoo_Ext
    998             {{{Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}},
    999              {0x07ffffff}};
     1444
     1445        namespace {
     1446        const static UnicodeSet::run_t __nkoo_Ext_runs[] = {
     1447        {Empty, 62}, {Full, 1}, {Mixed, 1}, {Empty, 34752}};
     1448        const static UnicodeSet::bitquad_t  __nkoo_Ext_quads[] = {
     1449        0x07ffffff};
     1450        }
     1451
     1452        const static UnicodeSet nkoo_Ext{const_cast<UnicodeSet::run_t *>(__nkoo_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__nkoo_Ext_quads), 1, 0};
     1453
    10001454        /** Code Point Ranges for Sund
    10011455        [1b80, 1bbf], [1cc0, 1cc7]**/
    1002         const UnicodeSet sund_Ext
    1003             {{{Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1},
    1004               {Empty, 34585}},
    1005              {0x000000ff}};
     1456
     1457        namespace {
     1458        const static UnicodeSet::run_t __sund_Ext_runs[] = {
     1459        {Empty, 220}, {Full, 2}, {Empty, 8}, {Mixed, 1}, {Empty, 34585}};
     1460        const static UnicodeSet::bitquad_t  __sund_Ext_quads[] = {
     1461        0x000000ff};
     1462        }
     1463
     1464        const static UnicodeSet sund_Ext{const_cast<UnicodeSet::run_t *>(__sund_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__sund_Ext_quads), 1, 0};
     1465
    10061466        /** Code Point Ranges for Lepc
    10071467        [1c00, 1c37], [1c3b, 1c49], [1c4d, 1c4f]**/
    1008         const UnicodeSet lepc_Ext
    1009             {{{Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}},
    1010              {0xf8ffffff, 0x0000e3ff}};
     1468
     1469        namespace {
     1470        const static UnicodeSet::run_t __lepc_Ext_runs[] = {
     1471        {Empty, 224}, {Full, 1}, {Mixed, 2}, {Empty, 34589}};
     1472        const static UnicodeSet::bitquad_t  __lepc_Ext_quads[] = {
     1473        0xf8ffffff, 0x0000e3ff};
     1474        }
     1475
     1476        const static UnicodeSet lepc_Ext{const_cast<UnicodeSet::run_t *>(__lepc_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__lepc_Ext_quads), 2, 0};
     1477
    10111478        /** Code Point Ranges for Olck
    10121479        [1c50, 1c7f]**/
    1013         const UnicodeSet olck_Ext
    1014             {{{Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}},
    1015              {0xffff0000}};
     1480
     1481        namespace {
     1482        const static UnicodeSet::run_t __olck_Ext_runs[] = {
     1483        {Empty, 226}, {Mixed, 1}, {Full, 1}, {Empty, 34588}};
     1484        const static UnicodeSet::bitquad_t  __olck_Ext_quads[] = {
     1485        0xffff0000};
     1486        }
     1487
     1488        const static UnicodeSet olck_Ext{const_cast<UnicodeSet::run_t *>(__olck_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__olck_Ext_quads), 1, 0};
     1489
    10161490        /** Code Point Ranges for Vaii
    10171491        [a500, a62b]**/
    1018         const UnicodeSet vaii_Ext
    1019             {{{Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}},
    1020              {0x00000fff}};
     1492
     1493        namespace {
     1494        const static UnicodeSet::run_t __vaii_Ext_runs[] = {
     1495        {Empty, 1320}, {Full, 9}, {Mixed, 1}, {Empty, 33486}};
     1496        const static UnicodeSet::bitquad_t  __vaii_Ext_quads[] = {
     1497        0x00000fff};
     1498        }
     1499
     1500        const static UnicodeSet vaii_Ext{const_cast<UnicodeSet::run_t *>(__vaii_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__vaii_Ext_quads), 1, 0};
     1501
    10211502        /** Code Point Ranges for Saur
    10221503        [a880, a8c5], [a8ce, a8d9]**/
    1023         const UnicodeSet saur_Ext
    1024             {{{Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}},
    1025              {0x03ffc03f}};
     1504
     1505        namespace {
     1506        const static UnicodeSet::run_t __saur_Ext_runs[] = {
     1507        {Empty, 1348}, {Full, 2}, {Mixed, 1}, {Empty, 33465}};
     1508        const static UnicodeSet::bitquad_t  __saur_Ext_quads[] = {
     1509        0x03ffc03f};
     1510        }
     1511
     1512        const static UnicodeSet saur_Ext{const_cast<UnicodeSet::run_t *>(__saur_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__saur_Ext_quads), 1, 0};
     1513
    10261514        /** Code Point Ranges for Kali
    10271515        [a900, a92f]**/
    1028         const UnicodeSet kali_Ext
    1029             {{{Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}},
    1030              {0x0000ffff}};
     1516
     1517        namespace {
     1518        const static UnicodeSet::run_t __kali_Ext_runs[] = {
     1519        {Empty, 1352}, {Full, 1}, {Mixed, 1}, {Empty, 33462}};
     1520        const static UnicodeSet::bitquad_t  __kali_Ext_quads[] = {
     1521        0x0000ffff};
     1522        }
     1523
     1524        const static UnicodeSet kali_Ext{const_cast<UnicodeSet::run_t *>(__kali_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__kali_Ext_quads), 1, 0};
     1525
    10311526        /** Code Point Ranges for Rjng
    10321527        [a930, a953], [a95f, a95f]**/
    1033         const UnicodeSet rjng_Ext
    1034             {{{Empty, 1353}, {Mixed, 2}, {Empty, 33461}},
    1035              {0xffff0000, 0x800fffff}};
     1528
     1529        namespace {
     1530        const static UnicodeSet::run_t __rjng_Ext_runs[] = {
     1531        {Empty, 1353}, {Mixed, 2}, {Empty, 33461}};
     1532        const static UnicodeSet::bitquad_t  __rjng_Ext_quads[] = {
     1533        0xffff0000, 0x800fffff};
     1534        }
     1535
     1536        const static UnicodeSet rjng_Ext{const_cast<UnicodeSet::run_t *>(__rjng_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__rjng_Ext_quads), 2, 0};
     1537
    10361538        /** Code Point Ranges for Lyci
    10371539        [10280, 1029c]**/
    1038         const UnicodeSet lyci_Ext
    1039             {{{Empty, 2068}, {Mixed, 1}, {Empty, 32747}},
    1040              {0x1fffffff}};
     1540
     1541        namespace {
     1542        const static UnicodeSet::run_t __lyci_Ext_runs[] = {
     1543        {Empty, 2068}, {Mixed, 1}, {Empty, 32747}};
     1544        const static UnicodeSet::bitquad_t  __lyci_Ext_quads[] = {
     1545        0x1fffffff};
     1546        }
     1547
     1548        const static UnicodeSet lyci_Ext{const_cast<UnicodeSet::run_t *>(__lyci_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__lyci_Ext_quads), 1, 0};
     1549
    10411550        /** Code Point Ranges for Cari
    10421551        [102a0, 102d0]**/
    1043         const UnicodeSet cari_Ext
    1044             {{{Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}},
    1045              {0x0001ffff}};
     1552
     1553        namespace {
     1554        const static UnicodeSet::run_t __cari_Ext_runs[] = {
     1555        {Empty, 2069}, {Full, 1}, {Mixed, 1}, {Empty, 32745}};
     1556        const static UnicodeSet::bitquad_t  __cari_Ext_quads[] = {
     1557        0x0001ffff};
     1558        }
     1559
     1560        const static UnicodeSet cari_Ext{const_cast<UnicodeSet::run_t *>(__cari_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__cari_Ext_quads), 1, 0};
     1561
    10461562        /** Code Point Ranges for Lydi
    10471563        [10920, 10939], [1093f, 1093f]**/
    1048         const UnicodeSet lydi_Ext
    1049             {{{Empty, 2121}, {Mixed, 1}, {Empty, 32694}},
    1050              {0x83ffffff}};
     1564
     1565        namespace {
     1566        const static UnicodeSet::run_t __lydi_Ext_runs[] = {
     1567        {Empty, 2121}, {Mixed, 1}, {Empty, 32694}};
     1568        const static UnicodeSet::bitquad_t  __lydi_Ext_quads[] = {
     1569        0x83ffffff};
     1570        }
     1571
     1572        const static UnicodeSet lydi_Ext{const_cast<UnicodeSet::run_t *>(__lydi_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__lydi_Ext_quads), 1, 0};
     1573
    10511574        /** Code Point Ranges for Cham
    10521575        [aa00, aa36], [aa40, aa4d], [aa50, aa59], [aa5c, aa5f]**/
    1053         const UnicodeSet cham_Ext
    1054             {{{Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}},
    1055              {0x007fffff, 0xf3ff3fff}};
     1576
     1577        namespace {
     1578        const static UnicodeSet::run_t __cham_Ext_runs[] = {
     1579        {Empty, 1360}, {Full, 1}, {Mixed, 2}, {Empty, 33453}};
     1580        const static UnicodeSet::bitquad_t  __cham_Ext_quads[] = {
     1581        0x007fffff, 0xf3ff3fff};
     1582        }
     1583
     1584        const static UnicodeSet cham_Ext{const_cast<UnicodeSet::run_t *>(__cham_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__cham_Ext_quads), 2, 0};
     1585
    10561586        /** Code Point Ranges for Lana
    10571587        [1a20, 1a5e], [1a60, 1a7c], [1a7f, 1a89], [1a90, 1a99],
    10581588        [1aa0, 1aad]**/
    1059         const UnicodeSet lana_Ext
    1060             {{{Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}},
    1061              {0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff}};
     1589
     1590        namespace {
     1591        const static UnicodeSet::run_t __lana_Ext_runs[] = {
     1592        {Empty, 209}, {Full, 1}, {Mixed, 4}, {Empty, 34602}};
     1593        const static UnicodeSet::bitquad_t  __lana_Ext_quads[] = {
     1594        0x7fffffff, 0x9fffffff, 0x03ff03ff, 0x00003fff};
     1595        }
     1596
     1597        const static UnicodeSet lana_Ext{const_cast<UnicodeSet::run_t *>(__lana_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__lana_Ext_quads), 4, 0};
     1598
    10621599        /** Code Point Ranges for Tavt
    10631600        [aa80, aac2], [aadb, aadf]**/
    1064         const UnicodeSet tavt_Ext
    1065             {{{Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}},
    1066              {0xf8000007}};
     1601
     1602        namespace {
     1603        const static UnicodeSet::run_t __tavt_Ext_runs[] = {
     1604        {Empty, 1364}, {Full, 2}, {Mixed, 1}, {Empty, 33449}};
     1605        const static UnicodeSet::bitquad_t  __tavt_Ext_quads[] = {
     1606        0xf8000007};
     1607        }
     1608
     1609        const static UnicodeSet tavt_Ext{const_cast<UnicodeSet::run_t *>(__tavt_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__tavt_Ext_quads), 1, 0};
     1610
    10671611        /** Code Point Ranges for Avst
    10681612        [10b00, 10b35], [10b39, 10b3f]**/
    1069         const UnicodeSet avst_Ext
    1070             {{{Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}},
    1071              {0xfe3fffff}};
     1613
     1614        namespace {
     1615        const static UnicodeSet::run_t __avst_Ext_runs[] = {
     1616        {Empty, 2136}, {Full, 1}, {Mixed, 1}, {Empty, 32678}};
     1617        const static UnicodeSet::bitquad_t  __avst_Ext_quads[] = {
     1618        0xfe3fffff};
     1619        }
     1620
     1621        const static UnicodeSet avst_Ext{const_cast<UnicodeSet::run_t *>(__avst_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__avst_Ext_quads), 1, 0};
     1622
    10721623        /** Code Point Ranges for Egyp
    10731624        [13000, 1342e]**/
    1074         const UnicodeSet egyp_Ext
    1075             {{{Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}},
    1076              {0x00007fff}};
     1625
     1626        namespace {
     1627        const static UnicodeSet::run_t __egyp_Ext_runs[] = {
     1628        {Empty, 2432}, {Full, 33}, {Mixed, 1}, {Empty, 32350}};
     1629        const static UnicodeSet::bitquad_t  __egyp_Ext_quads[] = {
     1630        0x00007fff};
     1631        }
     1632
     1633        const static UnicodeSet egyp_Ext{const_cast<UnicodeSet::run_t *>(__egyp_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__egyp_Ext_quads), 1, 0};
     1634
    10771635        /** Code Point Ranges for Samr
    10781636        [0800, 082d], [0830, 083e]**/
    1079         const UnicodeSet samr_Ext
    1080             {{{Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}},
    1081              {0x7fff3fff}};
     1637
     1638        namespace {
     1639        const static UnicodeSet::run_t __samr_Ext_runs[] = {
     1640        {Empty, 64}, {Full, 1}, {Mixed, 1}, {Empty, 34750}};
     1641        const static UnicodeSet::bitquad_t  __samr_Ext_quads[] = {
     1642        0x7fff3fff};
     1643        }
     1644
     1645        const static UnicodeSet samr_Ext{const_cast<UnicodeSet::run_t *>(__samr_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__samr_Ext_quads), 1, 0};
     1646
    10821647        /** Code Point Ranges for Lisu
    10831648        [a4d0, a4ff]**/
    1084         const UnicodeSet lisu_Ext
    1085             {{{Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}},
    1086              {0xffff0000}};
     1649
     1650        namespace {
     1651        const static UnicodeSet::run_t __lisu_Ext_runs[] = {
     1652        {Empty, 1318}, {Mixed, 1}, {Full, 1}, {Empty, 33496}};
     1653        const static UnicodeSet::bitquad_t  __lisu_Ext_quads[] = {
     1654        0xffff0000};
     1655        }
     1656
     1657        const static UnicodeSet lisu_Ext{const_cast<UnicodeSet::run_t *>(__lisu_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__lisu_Ext_quads), 1, 0};
     1658
    10871659        /** Code Point Ranges for Bamu
    10881660        [a6a0, a6f7], [16800, 16a38]**/
    1089         const UnicodeSet bamu_Ext
    1090             {{{Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544},
    1091               {Full, 17}, {Mixed, 1}, {Empty, 31918}},
    1092              {0x00ffffff, 0x01ffffff}};
     1661
     1662        namespace {
     1663        const static UnicodeSet::run_t __bamu_Ext_runs[] = {
     1664        {Empty, 1333}, {Full, 2}, {Mixed, 1}, {Empty, 1544}, {Full, 17},
     1665        {Mixed, 1}, {Empty, 31918}};
     1666        const static UnicodeSet::bitquad_t  __bamu_Ext_quads[] = {
     1667        0x00ffffff, 0x01ffffff};
     1668        }
     1669
     1670        const static UnicodeSet bamu_Ext{const_cast<UnicodeSet::run_t *>(__bamu_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__bamu_Ext_quads), 2, 0};
     1671
    10931672        /** Code Point Ranges for Java
    10941673        [a980, a9cd], [a9cf, a9d9], [a9de, a9df]**/
    1095         const UnicodeSet java_Ext
    1096             {{{Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}},
    1097              {0xc3ffbfff}};
     1674
     1675        namespace {
     1676        const static UnicodeSet::run_t __java_Ext_runs[] = {
     1677        {Empty, 1356}, {Full, 2}, {Mixed, 1}, {Empty, 33457}};
     1678        const static UnicodeSet::bitquad_t  __java_Ext_quads[] = {
     1679        0xc3ffbfff};
     1680        }
     1681
     1682        const static UnicodeSet java_Ext{const_cast<UnicodeSet::run_t *>(__java_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__java_Ext_quads), 1, 0};
     1683
    10981684        /** Code Point Ranges for Mtei
    10991685        [aae0, aaf6], [abc0, abed], [abf0, abf9]**/
    1100         const UnicodeSet mtei_Ext
    1101             {{{Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
    1102               {Empty, 33440}},
    1103              {0x007fffff, 0x03ff3fff}};
     1686
     1687        namespace {
     1688        const static UnicodeSet::run_t __mtei_Ext_runs[] = {
     1689        {Empty, 1367}, {Mixed, 1}, {Empty, 6}, {Full, 1}, {Mixed, 1},
     1690        {Empty, 33440}};
     1691        const static UnicodeSet::bitquad_t  __mtei_Ext_quads[] = {
     1692        0x007fffff, 0x03ff3fff};
     1693        }
     1694
     1695        const static UnicodeSet mtei_Ext{const_cast<UnicodeSet::run_t *>(__mtei_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__mtei_Ext_quads), 2, 0};
     1696
    11041697        /** Code Point Ranges for Armi
    11051698        [10840, 10855], [10857, 1085f]**/
    1106         const UnicodeSet armi_Ext
    1107             {{{Empty, 2114}, {Mixed, 1}, {Empty, 32701}},
    1108              {0xffbfffff}};
     1699
     1700        namespace {
     1701        const static UnicodeSet::run_t __armi_Ext_runs[] = {
     1702        {Empty, 2114}, {Mixed, 1}, {Empty, 32701}};
     1703        const static UnicodeSet::bitquad_t  __armi_Ext_quads[] = {
     1704        0xffbfffff};
     1705        }
     1706
     1707        const static UnicodeSet armi_Ext{const_cast<UnicodeSet::run_t *>(__armi_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__armi_Ext_quads), 1, 0};
     1708
    11091709        /** Code Point Ranges for Sarb
    11101710        [10a60, 10a7f]**/
    1111         const UnicodeSet sarb_Ext
    1112             {{{Empty, 2131}, {Full, 1}, {Empty, 32684}},
    1113              {}};
     1711
     1712        namespace {
     1713        const static UnicodeSet::run_t __sarb_Ext_runs[] = {
     1714        {Empty, 2131}, {Full, 1}, {Empty, 32684}};
     1715        const static UnicodeSet::bitquad_t * const __sarb_Ext_quads = nullptr;
     1716        }
     1717
     1718        const static UnicodeSet sarb_Ext{const_cast<UnicodeSet::run_t *>(__sarb_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__sarb_Ext_quads), 0, 0};
     1719
    11141720        /** Code Point Ranges for Prti
    11151721        [10b40, 10b55], [10b58, 10b5f]**/
    1116         const UnicodeSet prti_Ext
    1117             {{{Empty, 2138}, {Mixed, 1}, {Empty, 32677}},
    1118              {0xff3fffff}};
     1722
     1723        namespace {
     1724        const static UnicodeSet::run_t __prti_Ext_runs[] = {
     1725        {Empty, 2138}, {Mixed, 1}, {Empty, 32677}};
     1726        const static UnicodeSet::bitquad_t  __prti_Ext_quads[] = {
     1727        0xff3fffff};
     1728        }
     1729
     1730        const static UnicodeSet prti_Ext{const_cast<UnicodeSet::run_t *>(__prti_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__prti_Ext_quads), 1, 0};
     1731
    11191732        /** Code Point Ranges for Phli
    11201733        [10b60, 10b72], [10b78, 10b7f]**/
    1121         const UnicodeSet phli_Ext
    1122             {{{Empty, 2139}, {Mixed, 1}, {Empty, 32676}},
    1123              {0xff07ffff}};
     1734
     1735        namespace {
     1736        const static UnicodeSet::run_t __phli_Ext_runs[] = {
     1737        {Empty, 2139}, {Mixed, 1}, {Empty, 32676}};
     1738        const static UnicodeSet::bitquad_t  __phli_Ext_quads[] = {
     1739        0xff07ffff};
     1740        }
     1741
     1742        const static UnicodeSet phli_Ext{const_cast<UnicodeSet::run_t *>(__phli_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__phli_Ext_quads), 1, 0};
     1743
    11241744        /** Code Point Ranges for Orkh
    11251745        [10c00, 10c48]**/
    1126         const UnicodeSet orkh_Ext
    1127             {{{Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}},
    1128              {0x000001ff}};
     1746
     1747        namespace {
     1748        const static UnicodeSet::run_t __orkh_Ext_runs[] = {
     1749        {Empty, 2144}, {Full, 2}, {Mixed, 1}, {Empty, 32669}};
     1750        const static UnicodeSet::bitquad_t  __orkh_Ext_quads[] = {
     1751        0x000001ff};
     1752        }
     1753
     1754        const static UnicodeSet orkh_Ext{const_cast<UnicodeSet::run_t *>(__orkh_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__orkh_Ext_quads), 1, 0};
     1755
    11291756        /** Code Point Ranges for Kthi
    11301757        [0966, 096f], [a830, a839], [11080, 110c1]**/
    1131         const UnicodeSet kthi_Ext
    1132             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    1133               {Empty, 834}, {Full, 2}, {Mixed, 1}, {Empty, 32633}},
    1134              {0x0000ffc0, 0x03ff0000, 0x00000003}};
     1758
     1759        namespace {
     1760        const static UnicodeSet::run_t __kthi_Ext_runs[] = {
     1761        {Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1}, {Empty, 834},
     1762        {Full, 2}, {Mixed, 1}, {Empty, 32633}};
     1763        const static UnicodeSet::bitquad_t  __kthi_Ext_quads[] = {
     1764        0x0000ffc0, 0x03ff0000, 0x00000003};
     1765        }
     1766
     1767        const static UnicodeSet kthi_Ext{const_cast<UnicodeSet::run_t *>(__kthi_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__kthi_Ext_quads), 3, 0};
     1768
    11351769        /** Code Point Ranges for Batk
    11361770        [1bc0, 1bf3], [1bfc, 1bff]**/
    1137         const UnicodeSet batk_Ext
    1138             {{{Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}},
    1139              {0xf00fffff}};
     1771
     1772        namespace {
     1773        const static UnicodeSet::run_t __batk_Ext_runs[] = {
     1774        {Empty, 222}, {Full, 1}, {Mixed, 1}, {Empty, 34592}};
     1775        const static UnicodeSet::bitquad_t  __batk_Ext_quads[] = {
     1776        0xf00fffff};
     1777        }
     1778
     1779        const static UnicodeSet batk_Ext{const_cast<UnicodeSet::run_t *>(__batk_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__batk_Ext_quads), 1, 0};
     1780
    11401781        /** Code Point Ranges for Brah
    11411782        [11000, 1104d], [11052, 1106f], [1107f, 1107f]**/
    1142         const UnicodeSet brah_Ext
    1143             {{{Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}},
    1144              {0xfffc3fff, 0x8000ffff}};
     1783
     1784        namespace {
     1785        const static UnicodeSet::run_t __brah_Ext_runs[] = {
     1786        {Empty, 2176}, {Full, 2}, {Mixed, 2}, {Empty, 32636}};
     1787        const static UnicodeSet::bitquad_t  __brah_Ext_quads[] = {
     1788        0xfffc3fff, 0x8000ffff};
     1789        }
     1790
     1791        const static UnicodeSet brah_Ext{const_cast<UnicodeSet::run_t *>(__brah_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__brah_Ext_quads), 2, 0};
     1792
    11451793        /** Code Point Ranges for Mand
    11461794        [0640, 0640], [0840, 085b], [085e, 085e]**/
    1147         const UnicodeSet mand_Ext
    1148             {{{Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1},
    1149               {Empty, 34749}},
    1150              {0x00000001, 0x4fffffff}};
     1795
     1796        namespace {
     1797        const static UnicodeSet::run_t __mand_Ext_runs[] = {
     1798        {Empty, 50}, {Mixed, 1}, {Empty, 15}, {Mixed, 1}, {Empty, 34749}};
     1799        const static UnicodeSet::bitquad_t  __mand_Ext_quads[] = {
     1800        0x00000001, 0x4fffffff};
     1801        }
     1802
     1803        const static UnicodeSet mand_Ext{const_cast<UnicodeSet::run_t *>(__mand_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__mand_Ext_quads), 2, 0};
     1804
    11511805        /** Code Point Ranges for Cakm
    11521806        [09e6, 09ef], [1040, 1049], [11100, 11134], [11136, 11143]**/
    1153         const UnicodeSet cakm_Ext
    1154             {{{Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1},
    1155               {Empty, 2053}, {Full, 1}, {Mixed, 2}, {Empty, 32629}},
    1156              {0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f}};
     1807
     1808        namespace {
     1809        const static UnicodeSet::run_t __cakm_Ext_runs[] = {
     1810        {Empty, 79}, {Mixed, 1}, {Empty, 50}, {Mixed, 1}, {Empty, 2053},
     1811        {Full, 1}, {Mixed, 2}, {Empty, 32629}};
     1812        const static UnicodeSet::bitquad_t  __cakm_Ext_quads[] = {
     1813        0x0000ffc0, 0x000003ff, 0xffdfffff, 0x0000000f};
     1814        }
     1815
     1816        const static UnicodeSet cakm_Ext{const_cast<UnicodeSet::run_t *>(__cakm_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__cakm_Ext_quads), 4, 0};
     1817
    11571818        /** Code Point Ranges for Merc
    11581819        [109a0, 109b7], [109bc, 109cf], [109d2, 109ff]**/
    1159         const UnicodeSet merc_Ext
    1160             {{{Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}},
    1161              {0xf0ffffff, 0xfffcffff}};
     1820
     1821        namespace {
     1822        const static UnicodeSet::run_t __merc_Ext_runs[] = {
     1823        {Empty, 2125}, {Mixed, 2}, {Full, 1}, {Empty, 32688}};
     1824        const static UnicodeSet::bitquad_t  __merc_Ext_quads[] = {
     1825        0xf0ffffff, 0xfffcffff};
     1826        }
     1827
     1828        const static UnicodeSet merc_Ext{const_cast<UnicodeSet::run_t *>(__merc_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__merc_Ext_quads), 2, 0};
     1829
    11621830        /** Code Point Ranges for Mero
    11631831        [10980, 1099f]**/
    1164         const UnicodeSet mero_Ext
    1165             {{{Empty, 2124}, {Full, 1}, {Empty, 32691}},
    1166              {}};
     1832
     1833        namespace {
     1834        const static UnicodeSet::run_t __mero_Ext_runs[] = {
     1835        {Empty, 2124}, {Full, 1}, {Empty, 32691}};
     1836        const static UnicodeSet::bitquad_t * const __mero_Ext_quads = nullptr;
     1837        }
     1838
     1839        const static UnicodeSet mero_Ext{const_cast<UnicodeSet::run_t *>(__mero_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__mero_Ext_quads), 0, 0};
     1840
    11671841        /** Code Point Ranges for Plrd
    11681842        [16f00, 16f44], [16f50, 16f7e], [16f8f, 16f9f]**/
    1169         const UnicodeSet plrd_Ext
    1170             {{{Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}},
    1171              {0xffff001f, 0x7fffffff, 0xffff8000}};
     1843
     1844        namespace {
     1845        const static UnicodeSet::run_t __plrd_Ext_runs[] = {
     1846        {Empty, 2936}, {Full, 2}, {Mixed, 3}, {Empty, 31875}};
     1847        const static UnicodeSet::bitquad_t  __plrd_Ext_quads[] = {
     1848        0xffff001f, 0x7fffffff, 0xffff8000};
     1849        }
     1850
     1851        const static UnicodeSet plrd_Ext{const_cast<UnicodeSet::run_t *>(__plrd_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__plrd_Ext_quads), 3, 0};
     1852
    11721853        /** Code Point Ranges for Shrd
    11731854        [0951, 0951], [1cd7, 1cd7], [1cd9, 1cd9], [1cdc, 1cdd],
    11741855        [1ce0, 1ce0], [11180, 111cd], [111d0, 111df]**/
    1175         const UnicodeSet shrd_Ext
    1176             {{{Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2},
    1177               {Empty, 1956}, {Full, 2}, {Mixed, 1}, {Empty, 32625}},
    1178              {0x00020000, 0x32800000, 0x00000001, 0xffff3fff}};
     1856
     1857        namespace {
     1858        const static UnicodeSet::run_t __shrd_Ext_runs[] = {
     1859        {Empty, 74}, {Mixed, 1}, {Empty, 155}, {Mixed, 2}, {Empty, 1956},
     1860        {Full, 2}, {Mixed, 1}, {Empty, 32625}};
     1861        const static UnicodeSet::bitquad_t  __shrd_Ext_quads[] = {
     1862        0x00020000, 0x32800000, 0x00000001, 0xffff3fff};
     1863        }
     1864
     1865        const static UnicodeSet shrd_Ext{const_cast<UnicodeSet::run_t *>(__shrd_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__shrd_Ext_quads), 4, 0};
     1866
    11791867        /** Code Point Ranges for Sora
    11801868        [110d0, 110e8], [110f0, 110f9]**/
    1181         const UnicodeSet sora_Ext
    1182             {{{Empty, 2182}, {Mixed, 2}, {Empty, 32632}},
    1183              {0xffff0000, 0x03ff01ff}};
     1869
     1870        namespace {
     1871        const static UnicodeSet::run_t __sora_Ext_runs[] = {
     1872        {Empty, 2182}, {Mixed, 2}, {Empty, 32632}};
     1873        const static UnicodeSet::bitquad_t  __sora_Ext_quads[] = {
     1874        0xffff0000, 0x03ff01ff};
     1875        }
     1876
     1877        const static UnicodeSet sora_Ext{const_cast<UnicodeSet::run_t *>(__sora_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__sora_Ext_quads), 2, 0};
     1878
    11841879        /** Code Point Ranges for Takr
    11851880        [0964, 0965], [a830, a839], [11680, 116b7], [116c0, 116c9]**/
    1186         const UnicodeSet takr_Ext
    1187             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    1188               {Empty, 882}, {Full, 1}, {Mixed, 2}, {Empty, 32585}},
    1189              {0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff}};
     1881
     1882        namespace {
     1883        const static UnicodeSet::run_t __takr_Ext_runs[] = {
     1884        {Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1}, {Empty, 882},
     1885        {Full, 1}, {Mixed, 2}, {Empty, 32585}};
     1886        const static UnicodeSet::bitquad_t  __takr_Ext_quads[] = {
     1887        0x00000030, 0x03ff0000, 0x00ffffff, 0x000003ff};
     1888        }
     1889
     1890        const static UnicodeSet takr_Ext{const_cast<UnicodeSet::run_t *>(__takr_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__takr_Ext_quads), 4, 0};
     1891
    11901892        /** Code Point Ranges for Aghb
    11911893        [10530, 10563], [1056f, 1056f]**/
    1192         const UnicodeSet aghb_Ext
    1193             {{{Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    1194               {Empty, 32724}},
    1195              {0xffff0000, 0x0000800f}};
     1894
     1895        namespace {
     1896        const static UnicodeSet::run_t __aghb_Ext_runs[] = {
     1897        {Empty, 2089}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32724}};
     1898        const static UnicodeSet::bitquad_t  __aghb_Ext_quads[] = {
     1899        0xffff0000, 0x0000800f};
     1900        }
     1901
     1902        const static UnicodeSet aghb_Ext{const_cast<UnicodeSet::run_t *>(__aghb_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__aghb_Ext_quads), 2, 0};
     1903
    11961904        /** Code Point Ranges for Bass
    11971905        [16ad0, 16aed], [16af0, 16af5]**/
    1198         const UnicodeSet bass_Ext
    1199             {{{Empty, 2902}, {Mixed, 2}, {Empty, 31912}},
    1200              {0xffff0000, 0x003f3fff}};
     1906
     1907        namespace {
     1908        const static UnicodeSet::run_t __bass_Ext_runs[] = {
     1909        {Empty, 2902}, {Mixed, 2}, {Empty, 31912}};
     1910        const static UnicodeSet::bitquad_t  __bass_Ext_quads[] = {
     1911        0xffff0000, 0x003f3fff};
     1912        }
     1913
     1914        const static UnicodeSet bass_Ext{const_cast<UnicodeSet::run_t *>(__bass_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__bass_Ext_quads), 2, 0};
     1915
    12011916        /** Code Point Ranges for Dupl
    12021917        [1bc00, 1bc6a], [1bc70, 1bc7c], [1bc80, 1bc88], [1bc90, 1bc99],
    12031918        [1bc9c, 1bca3]**/
    1204         const UnicodeSet dupl_Ext
    1205             {{{Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}},
    1206              {0x1fff07ff, 0xf3ff01ff, 0x0000000f}};
     1919
     1920        namespace {
     1921        const static UnicodeSet::run_t __dupl_Ext_runs[] = {
     1922        {Empty, 3552}, {Full, 3}, {Mixed, 3}, {Empty, 31258}};
     1923        const static UnicodeSet::bitquad_t  __dupl_Ext_quads[] = {
     1924        0x1fff07ff, 0xf3ff01ff, 0x0000000f};
     1925        }
     1926
     1927        const static UnicodeSet dupl_Ext{const_cast<UnicodeSet::run_t *>(__dupl_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__dupl_Ext_quads), 3, 0};
     1928
    12071929        /** Code Point Ranges for Elba
    12081930        [10500, 10527]**/
    1209         const UnicodeSet elba_Ext
    1210             {{{Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}},
    1211              {0x000000ff}};
     1931
     1932        namespace {
     1933        const static UnicodeSet::run_t __elba_Ext_runs[] = {
     1934        {Empty, 2088}, {Full, 1}, {Mixed, 1}, {Empty, 32726}};
     1935        const static UnicodeSet::bitquad_t  __elba_Ext_quads[] = {
     1936        0x000000ff};
     1937        }
     1938
     1939        const static UnicodeSet elba_Ext{const_cast<UnicodeSet::run_t *>(__elba_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__elba_Ext_quads), 1, 0};
     1940
    12121941        /** Code Point Ranges for Gran
    12131942        [0951, 0952], [0964, 0965], [0baa, 0baa], [0bb5, 0bb5],
     
    12181947        [11350, 11350], [11357, 11357], [1135d, 11363], [11366, 1136c],
    12191948        [11370, 11374]**/
    1220         const UnicodeSet gran_Ext
    1221             {{{Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
    1222               {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
    1223               {Empty, 1936}, {Mixed, 4}, {Empty, 32612}},
    1224              {0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
    1225               0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
    1226               0x001f1fcf}};
     1949
     1950        namespace {
     1951        const static UnicodeSet::run_t __gran_Ext_runs[] = {
     1952        {Empty, 74}, {Mixed, 2}, {Empty, 17}, {Mixed, 1}, {Empty, 1},
     1953        {Mixed, 1}, {Empty, 134}, {Mixed, 2}, {Empty, 31}, {Mixed, 1},
     1954        {Empty, 1936}, {Mixed, 4}, {Empty, 32612}};
     1955        const static UnicodeSet::bitquad_t  __gran_Ext_quads[] = {
     1956        0x00060000, 0x00000030, 0x00200400, 0x0007ffc0, 0x000d0000,
     1957        0x031c0000, 0x00010000, 0xfff99fef, 0xf3edfdff, 0xe081399f,
     1958        0x001f1fcf};
     1959        }
     1960
     1961        const static UnicodeSet gran_Ext{const_cast<UnicodeSet::run_t *>(__gran_Ext_runs), 13, 0, const_cast<UnicodeSet::bitquad_t *>(__gran_Ext_quads), 11, 0};
     1962
    12271963        /** Code Point Ranges for Hmng
    12281964        [16b00, 16b45], [16b50, 16b59], [16b5b, 16b61], [16b63, 16b77],
    12291965        [16b7d, 16b8f]**/
    1230         const UnicodeSet hmng_Ext
    1231             {{{Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}},
    1232              {0xfbff003f, 0xe0fffffb, 0x0000ffff}};
     1966
     1967        namespace {
     1968        const static UnicodeSet::run_t __hmng_Ext_runs[] = {
     1969        {Empty, 2904}, {Full, 2}, {Mixed, 3}, {Empty, 31907}};
     1970        const static UnicodeSet::bitquad_t  __hmng_Ext_quads[] = {
     1971        0xfbff003f, 0xe0fffffb, 0x0000ffff};
     1972        }
     1973
     1974        const static UnicodeSet hmng_Ext{const_cast<UnicodeSet::run_t *>(__hmng_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__hmng_Ext_quads), 3, 0};
     1975
    12331976        /** Code Point Ranges for Khoj
    12341977        [0ae6, 0aef], [11200, 11211], [11213, 1123e]**/
    1235         const UnicodeSet khoj_Ext
    1236             {{{Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2},
    1237               {Empty, 32622}},
    1238              {0x0000ffc0, 0xfffbffff, 0x7fffffff}};
     1978
     1979        namespace {
     1980        const static UnicodeSet::run_t __khoj_Ext_runs[] = {
     1981        {Empty, 87}, {Mixed, 1}, {Empty, 2104}, {Mixed, 2}, {Empty, 32622}};
     1982        const static UnicodeSet::bitquad_t  __khoj_Ext_quads[] = {
     1983        0x0000ffc0, 0xfffbffff, 0x7fffffff};
     1984        }
     1985
     1986        const static UnicodeSet khoj_Ext{const_cast<UnicodeSet::run_t *>(__khoj_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__khoj_Ext_quads), 3, 0};
     1987
    12391988        /** Code Point Ranges for Lina
    12401989        [10107, 10133], [10600, 10736], [10740, 10755], [10760, 10767]**/
    1241         const UnicodeSet lina_Ext
    1242             {{{Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
    1243               {Empty, 32708}},
    1244              {0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff}};
     1990
     1991        namespace {
     1992        const static UnicodeSet::run_t __lina_Ext_runs[] = {
     1993        {Empty, 2056}, {Mixed, 2}, {Empty, 38}, {Full, 9}, {Mixed, 3},
     1994        {Empty, 32708}};
     1995        const static UnicodeSet::bitquad_t  __lina_Ext_quads[] = {
     1996        0xffffff80, 0x000fffff, 0x007fffff, 0x003fffff, 0x000000ff};
     1997        }
     1998
     1999        const static UnicodeSet lina_Ext{const_cast<UnicodeSet::run_t *>(__lina_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__lina_Ext_quads), 5, 0};
     2000
    12452001        /** Code Point Ranges for Mahj
    12462002        [0964, 096f], [a830, a839], [11150, 11176]**/
    1247         const UnicodeSet mahj_Ext
    1248             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    1249               {Empty, 840}, {Mixed, 2}, {Empty, 32628}},
    1250              {0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff}};
     2003
     2004        namespace {
     2005        const static UnicodeSet::run_t __mahj_Ext_runs[] = {
     2006        {Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1}, {Empty, 840},
     2007        {Mixed, 2}, {Empty, 32628}};
     2008        const static UnicodeSet::bitquad_t  __mahj_Ext_quads[] = {
     2009        0x0000fff0, 0x03ff0000, 0xffff0000, 0x007fffff};
     2010        }
     2011
     2012        const static UnicodeSet mahj_Ext{const_cast<UnicodeSet::run_t *>(__mahj_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__mahj_Ext_quads), 4, 0};
     2013
    12512014        /** Code Point Ranges for Mani
    12522015        [0640, 0640], [10ac0, 10ae6], [10aeb, 10af6]**/
    1253         const UnicodeSet mani_Ext
    1254             {{{Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
    1255               {Empty, 32680}},
    1256              {0x00000001, 0x007ff87f}};
     2016
     2017        namespace {
     2018        const static UnicodeSet::run_t __mani_Ext_runs[] = {
     2019        {Empty, 50}, {Mixed, 1}, {Empty, 2083}, {Full, 1}, {Mixed, 1},
     2020        {Empty, 32680}};
     2021        const static UnicodeSet::bitquad_t  __mani_Ext_quads[] = {
     2022        0x00000001, 0x007ff87f};
     2023        }
     2024
     2025        const static UnicodeSet mani_Ext{const_cast<UnicodeSet::run_t *>(__mani_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__mani_Ext_quads), 2, 0};
     2026
    12572027        /** Code Point Ranges for Mend
    12582028        [1e800, 1e8c4], [1e8c7, 1e8d6]**/
    1259         const UnicodeSet mend_Ext
    1260             {{{Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}},
    1261              {0x007fff9f}};
     2029
     2030        namespace {
     2031        const static UnicodeSet::run_t __mend_Ext_runs[] = {
     2032        {Empty, 3904}, {Full, 6}, {Mixed, 1}, {Empty, 30905}};
     2033        const static UnicodeSet::bitquad_t  __mend_Ext_quads[] = {
     2034        0x007fff9f};
     2035        }
     2036
     2037        const static UnicodeSet mend_Ext{const_cast<UnicodeSet::run_t *>(__mend_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__mend_Ext_quads), 1, 0};
     2038
    12622039        /** Code Point Ranges for Modi
    12632040        [a830, a839], [11600, 11644], [11650, 11659]**/
    1264         const UnicodeSet modi_Ext
    1265             {{{Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2},
    1266               {Mixed, 1}, {Empty, 32589}},
    1267              {0x03ff0000, 0x03ff001f}};
     2041
     2042        namespace {
     2043        const static UnicodeSet::run_t __modi_Ext_runs[] = {
     2044        {Empty, 1345}, {Mixed, 1}, {Empty, 878}, {Full, 2}, {Mixed, 1},
     2045        {Empty, 32589}};
     2046        const static UnicodeSet::bitquad_t  __modi_Ext_quads[] = {
     2047        0x03ff0000, 0x03ff001f};
     2048        }
     2049
     2050        const static UnicodeSet modi_Ext{const_cast<UnicodeSet::run_t *>(__modi_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__modi_Ext_quads), 2, 0};
     2051
    12682052        /** Code Point Ranges for Mroo
    12692053        [16a40, 16a5e], [16a60, 16a69], [16a6e, 16a6f]**/
    1270         const UnicodeSet mroo_Ext
    1271             {{{Empty, 2898}, {Mixed, 2}, {Empty, 31916}},
    1272              {0x7fffffff, 0x0000c3ff}};
     2054
     2055        namespace {
     2056        const static UnicodeSet::run_t __mroo_Ext_runs[] = {
     2057        {Empty, 2898}, {Mixed, 2}, {Empty, 31916}};
     2058        const static UnicodeSet::bitquad_t  __mroo_Ext_quads[] = {
     2059        0x7fffffff, 0x0000c3ff};
     2060        }
     2061
     2062        const static UnicodeSet mroo_Ext{const_cast<UnicodeSet::run_t *>(__mroo_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__mroo_Ext_quads), 2, 0};
     2063
    12732064        /** Code Point Ranges for Narb
    12742065        [10a80, 10a9f]**/
    1275         const UnicodeSet narb_Ext
    1276             {{{Empty, 2132}, {Full, 1}, {Empty, 32683}},
    1277              {}};
     2066
     2067        namespace {
     2068        const static UnicodeSet::run_t __narb_Ext_runs[] = {
     2069        {Empty, 2132}, {Full, 1}, {Empty, 32683}};
     2070        const static UnicodeSet::bitquad_t * const __narb_Ext_quads = nullptr;
     2071        }
     2072
     2073        const static UnicodeSet narb_Ext{const_cast<UnicodeSet::run_t *>(__narb_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__narb_Ext_quads), 0, 0};
     2074
    12782075        /** Code Point Ranges for Nbat
    12792076        [10880, 1089e], [108a7, 108af]**/
    1280         const UnicodeSet nbat_Ext
    1281             {{{Empty, 2116}, {Mixed, 2}, {Empty, 32698}},
    1282              {0x7fffffff, 0x0000ff80}};
     2077
     2078        namespace {
     2079        const static UnicodeSet::run_t __nbat_Ext_runs[] = {
     2080        {Empty, 2116}, {Mixed, 2}, {Empty, 32698}};
     2081        const static UnicodeSet::bitquad_t  __nbat_Ext_quads[] = {
     2082        0x7fffffff, 0x0000ff80};
     2083        }
     2084
     2085        const static UnicodeSet nbat_Ext{const_cast<UnicodeSet::run_t *>(__nbat_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__nbat_Ext_quads), 2, 0};
     2086
    12832087        /** Code Point Ranges for Palm
    12842088        [10860, 1087f]**/
    1285         const UnicodeSet palm_Ext
    1286             {{{Empty, 2115}, {Full, 1}, {Empty, 32700}},
    1287              {}};
     2089
     2090        namespace {
     2091        const static UnicodeSet::run_t __palm_Ext_runs[] = {
     2092        {Empty, 2115}, {Full, 1}, {Empty, 32700}};
     2093        const static UnicodeSet::bitquad_t * const __palm_Ext_quads = nullptr;
     2094        }
     2095
     2096        const static UnicodeSet palm_Ext{const_cast<UnicodeSet::run_t *>(__palm_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__palm_Ext_quads), 0, 0};
     2097
    12882098        /** Code Point Ranges for Pauc
    12892099        [11ac0, 11af8]**/
    1290         const UnicodeSet pauc_Ext
    1291             {{{Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}},
    1292              {0x01ffffff}};
     2100
     2101        namespace {
     2102        const static UnicodeSet::run_t __pauc_Ext_runs[] = {
     2103        {Empty, 2262}, {Full, 1}, {Mixed, 1}, {Empty, 32552}};
     2104        const static UnicodeSet::bitquad_t  __pauc_Ext_quads[] = {
     2105        0x01ffffff};
     2106        }
     2107
     2108        const static UnicodeSet pauc_Ext{const_cast<UnicodeSet::run_t *>(__pauc_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__pauc_Ext_quads), 1, 0};
     2109
    12932110        /** Code Point Ranges for Perm
    12942111        [0483, 0483], [10350, 1037a]**/
    1295         const UnicodeSet perm_Ext
    1296             {{{Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2},
    1297               {Empty, 32740}},
    1298              {0x00000008, 0xffff0000, 0x07ffffff}};
     2112
     2113        namespace {
     2114        const static UnicodeSet::run_t __perm_Ext_runs[] = {
     2115        {Empty, 36}, {Mixed, 1}, {Empty, 2037}, {Mixed, 2}, {Empty, 32740}};
     2116        const static UnicodeSet::bitquad_t  __perm_Ext_quads[] = {
     2117        0x00000008, 0xffff0000, 0x07ffffff};
     2118        }
     2119
     2120        const static UnicodeSet perm_Ext{const_cast<UnicodeSet::run_t *>(__perm_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__perm_Ext_quads), 3, 0};
     2121
    12992122        /** Code Point Ranges for Phlp
    13002123        [0640, 0640], [10b80, 10b91], [10b99, 10b9c], [10ba9, 10baf]**/
    1301         const UnicodeSet phlp_Ext
    1302             {{{Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2},
    1303               {Empty, 32674}},
    1304              {0x00000001, 0x1e03ffff, 0x0000fe00}};
     2124
     2125        namespace {
     2126        const static UnicodeSet::run_t __phlp_Ext_runs[] = {
     2127        {Empty, 50}, {Mixed, 1}, {Empty, 2089}, {Mixed, 2}, {Empty, 32674}};
     2128        const static UnicodeSet::bitquad_t  __phlp_Ext_quads[] = {
     2129        0x00000001, 0x1e03ffff, 0x0000fe00};
     2130        }
     2131
     2132        const static UnicodeSet phlp_Ext{const_cast<UnicodeSet::run_t *>(__phlp_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__phlp_Ext_quads), 3, 0};
     2133
    13052134        /** Code Point Ranges for Sidd
    13062135        [11580, 115b5], [115b8, 115dd]**/
    1307         const UnicodeSet sidd_Ext
    1308             {{{Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}},
    1309              {0xff3fffff, 0x3fffffff}};
     2136
     2137        namespace {
     2138        const static UnicodeSet::run_t __sidd_Ext_runs[] = {
     2139        {Empty, 2220}, {Full, 1}, {Mixed, 2}, {Empty, 32593}};
     2140        const static UnicodeSet::bitquad_t  __sidd_Ext_quads[] = {
     2141        0xff3fffff, 0x3fffffff};
     2142        }
     2143
     2144        const static UnicodeSet sidd_Ext{const_cast<UnicodeSet::run_t *>(__sidd_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__sidd_Ext_quads), 2, 0};
     2145
    13102146        /** Code Point Ranges for Sind
    13112147        [0964, 0965], [a830, a839], [112b0, 112ea], [112f0, 112f9]**/
    1312         const UnicodeSet sind_Ext
    1313             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    1314               {Empty, 851}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    1315               {Empty, 32616}},
    1316              {0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff}};
     2148
     2149        namespace {
     2150        const static UnicodeSet::run_t __sind_Ext_runs[] = {
     2151        {Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1}, {Empty, 851},
     2152        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 32616}};
     2153        const static UnicodeSet::bitquad_t  __sind_Ext_quads[] = {
     2154        0x00000030, 0x03ff0000, 0xffff0000, 0x03ff07ff};
     2155        }
     2156
     2157        const static UnicodeSet sind_Ext{const_cast<UnicodeSet::run_t *>(__sind_Ext_runs), 9, 0, const_cast<UnicodeSet::bitquad_t *>(__sind_Ext_quads), 4, 0};
     2158
    13172159        /** Code Point Ranges for Tirh
    13182160        [0964, 0965], [a830, a839], [11480, 114c7], [114d0, 114d9]**/
    1319         const UnicodeSet tirh_Ext
    1320             {{{Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1},
    1321               {Empty, 866}, {Full, 2}, {Mixed, 1}, {Empty, 32601}},
    1322              {0x00000030, 0x03ff0000, 0x03ff00ff}};
     2161
     2162        namespace {
     2163        const static UnicodeSet::run_t __tirh_Ext_runs[] = {
     2164        {Empty, 75}, {Mixed, 1}, {Empty, 1269}, {Mixed, 1}, {Empty, 866},
     2165        {Full, 2}, {Mixed, 1}, {Empty, 32601}};
     2166        const static UnicodeSet::bitquad_t  __tirh_Ext_quads[] = {
     2167        0x00000030, 0x03ff0000, 0x03ff00ff};
     2168        }
     2169
     2170        const static UnicodeSet tirh_Ext{const_cast<UnicodeSet::run_t *>(__tirh_Ext_runs), 8, 0, const_cast<UnicodeSet::bitquad_t *>(__tirh_Ext_quads), 3, 0};
     2171
    13232172        /** Code Point Ranges for Wara
    13242173        [118a0, 118f2], [118ff, 118ff]**/
    1325         const UnicodeSet wara_Ext
    1326             {{{Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}},
    1327              {0x8007ffff}};
     2174
     2175        namespace {
     2176        const static UnicodeSet::run_t __wara_Ext_runs[] = {
     2177        {Empty, 2245}, {Full, 2}, {Mixed, 1}, {Empty, 32568}};
     2178        const static UnicodeSet::bitquad_t  __wara_Ext_quads[] = {
     2179        0x8007ffff};
     2180        }
     2181
     2182        const static UnicodeSet wara_Ext{const_cast<UnicodeSet::run_t *>(__wara_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__wara_Ext_quads), 1, 0};
     2183
    13282184        /** Code Point Ranges for Ahom
    13292185        [11700, 11719], [1171d, 1172b], [11730, 1173f]**/
    1330         const UnicodeSet ahom_Ext
    1331             {{{Empty, 2232}, {Mixed, 2}, {Empty, 32582}},
    1332              {0xe3ffffff, 0xffff0fff}};
     2186
     2187        namespace {
     2188        const static UnicodeSet::run_t __ahom_Ext_runs[] = {
     2189        {Empty, 2232}, {Mixed, 2}, {Empty, 32582}};
     2190        const static UnicodeSet::bitquad_t  __ahom_Ext_quads[] = {
     2191        0xe3ffffff, 0xffff0fff};
     2192        }
     2193
     2194        const static UnicodeSet ahom_Ext{const_cast<UnicodeSet::run_t *>(__ahom_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__ahom_Ext_quads), 2, 0};
     2195
    13332196        /** Code Point Ranges for Hluw
    13342197        [14400, 14646]**/
    1335         const UnicodeSet hluw_Ext
    1336             {{{Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}},
    1337              {0x0000007f}};
     2198
     2199        namespace {
     2200        const static UnicodeSet::run_t __hluw_Ext_runs[] = {
     2201        {Empty, 2592}, {Full, 18}, {Mixed, 1}, {Empty, 32205}};
     2202        const static UnicodeSet::bitquad_t  __hluw_Ext_quads[] = {
     2203        0x0000007f};
     2204        }
     2205
     2206        const static UnicodeSet hluw_Ext{const_cast<UnicodeSet::run_t *>(__hluw_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__hluw_Ext_quads), 1, 0};
     2207
    13382208        /** Code Point Ranges for Hatr
    13392209        [108e0, 108f2], [108f4, 108f5], [108fb, 108ff]**/
    1340         const UnicodeSet hatr_Ext
    1341             {{{Empty, 2119}, {Mixed, 1}, {Empty, 32696}},
    1342              {0xf837ffff}};
     2210
     2211        namespace {
     2212        const static UnicodeSet::run_t __hatr_Ext_runs[] = {
     2213        {Empty, 2119}, {Mixed, 1}, {Empty, 32696}};
     2214        const static UnicodeSet::bitquad_t  __hatr_Ext_quads[] = {
     2215        0xf837ffff};
     2216        }
     2217
     2218        const static UnicodeSet hatr_Ext{const_cast<UnicodeSet::run_t *>(__hatr_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__hatr_Ext_quads), 1, 0};
     2219
    13432220        /** Code Point Ranges for Mult
    13442221        [0a66, 0a6f], [11280, 11286], [11288, 11288], [1128a, 1128d],
    13452222        [1128f, 1129d], [1129f, 112a9]**/
    1346         const UnicodeSet mult_Ext
    1347             {{{Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2},
    1348               {Empty, 32618}},
    1349              {0x0000ffc0, 0xbfffbd7f, 0x000003ff}};
     2223
     2224        namespace {
     2225        const static UnicodeSet::run_t __mult_Ext_runs[] = {
     2226        {Empty, 83}, {Mixed, 1}, {Empty, 2112}, {Mixed, 2}, {Empty, 32618}};
     2227        const static UnicodeSet::bitquad_t  __mult_Ext_quads[] = {
     2228        0x0000ffc0, 0xbfffbd7f, 0x000003ff};
     2229        }
     2230
     2231        const static UnicodeSet mult_Ext{const_cast<UnicodeSet::run_t *>(__mult_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__mult_Ext_quads), 3, 0};
     2232
    13502233        /** Code Point Ranges for Hung
    13512234        [10c80, 10cb2], [10cc0, 10cf2], [10cfa, 10cff]**/
    1352         const UnicodeSet hung_Ext
    1353             {{{Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    1354               {Empty, 32664}},
    1355              {0x0007ffff, 0xfc07ffff}};
     2235
     2236        namespace {
     2237        const static UnicodeSet::run_t __hung_Ext_runs[] = {
     2238        {Empty, 2148}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     2239        {Empty, 32664}};
     2240        const static UnicodeSet::bitquad_t  __hung_Ext_quads[] = {
     2241        0x0007ffff, 0xfc07ffff};
     2242        }
     2243
     2244        const static UnicodeSet hung_Ext{const_cast<UnicodeSet::run_t *>(__hung_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__hung_Ext_quads), 2, 0};
     2245
    13562246        /** Code Point Ranges for Sgnw
    13572247        [1d800, 1da8b], [1da9b, 1da9f], [1daa1, 1daaf]**/
    1358         const UnicodeSet sgnw_Ext
    1359             {{{Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}},
    1360              {0xf8000fff, 0x0000fffe}};
     2248
     2249        namespace {
     2250        const static UnicodeSet::run_t __sgnw_Ext_runs[] = {
     2251        {Empty, 3776}, {Full, 20}, {Mixed, 2}, {Empty, 31018}};
     2252        const static UnicodeSet::bitquad_t  __sgnw_Ext_quads[] = {
     2253        0xf8000fff, 0x0000fffe};
     2254        }
     2255
     2256        const static UnicodeSet sgnw_Ext{const_cast<UnicodeSet::run_t *>(__sgnw_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__sgnw_Ext_quads), 2, 0};
     2257
    13612258        /** Code Point Ranges for Adlm
    13622259        [0640, 0640], [1e900, 1e94a], [1e950, 1e959], [1e95e, 1e95f]**/
    1363         const UnicodeSet adlm_Ext
    1364             {{{Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
    1365               {Empty, 30901}},
    1366              {0x00000001, 0xc3ff07ff}};
     2260
     2261        namespace {
     2262        const static UnicodeSet::run_t __adlm_Ext_runs[] = {
     2263        {Empty, 50}, {Mixed, 1}, {Empty, 3861}, {Full, 2}, {Mixed, 1},
     2264        {Empty, 30901}};
     2265        const static UnicodeSet::bitquad_t  __adlm_Ext_quads[] = {
     2266        0x00000001, 0xc3ff07ff};
     2267        }
     2268
     2269        const static UnicodeSet adlm_Ext{const_cast<UnicodeSet::run_t *>(__adlm_Ext_runs), 6, 0, const_cast<UnicodeSet::bitquad_t *>(__adlm_Ext_quads), 2, 0};
     2270
    13672271        /** Code Point Ranges for Bhks
    13682272        [11c00, 11c08], [11c0a, 11c36], [11c38, 11c45], [11c50, 11c6c]**/
    1369         const UnicodeSet bhks_Ext
    1370             {{{Empty, 2272}, {Mixed, 4}, {Empty, 32540}},
    1371              {0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff}};
     2273
     2274        namespace {
     2275        const static UnicodeSet::run_t __bhks_Ext_runs[] = {
     2276        {Empty, 2272}, {Mixed, 4}, {Empty, 32540}};
     2277        const static UnicodeSet::bitquad_t  __bhks_Ext_quads[] = {
     2278        0xfffffdff, 0xff7fffff, 0xffff003f, 0x00001fff};
     2279        }
     2280
     2281        const static UnicodeSet bhks_Ext{const_cast<UnicodeSet::run_t *>(__bhks_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__bhks_Ext_quads), 4, 0};
     2282
    13722283        /** Code Point Ranges for Marc
    13732284        [11c70, 11c8f], [11c92, 11ca7], [11ca9, 11cb6]**/
    1374         const UnicodeSet marc_Ext
    1375             {{{Empty, 2275}, {Mixed, 3}, {Empty, 32538}},
    1376              {0xffff0000, 0xfffcffff, 0x007ffeff}};
     2285
     2286        namespace {
     2287        const static UnicodeSet::run_t __marc_Ext_runs[] = {
     2288        {Empty, 2275}, {Mixed, 3}, {Empty, 32538}};
     2289        const static UnicodeSet::bitquad_t  __marc_Ext_quads[] = {
     2290        0xffff0000, 0xfffcffff, 0x007ffeff};
     2291        }
     2292
     2293        const static UnicodeSet marc_Ext{const_cast<UnicodeSet::run_t *>(__marc_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__marc_Ext_quads), 3, 0};
     2294
    13772295        /** Code Point Ranges for Newa
    13782296        [11400, 11459], [1145b, 1145b], [1145d, 1145d]**/
    1379         const UnicodeSet newa_Ext
    1380             {{{Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}},
    1381              {0x2bffffff}};
     2297
     2298        namespace {
     2299        const static UnicodeSet::run_t __newa_Ext_runs[] = {
     2300        {Empty, 2208}, {Full, 2}, {Mixed, 1}, {Empty, 32605}};
     2301        const static UnicodeSet::bitquad_t  __newa_Ext_quads[] = {
     2302        0x2bffffff};
     2303        }
     2304
     2305        const static UnicodeSet newa_Ext{const_cast<UnicodeSet::run_t *>(__newa_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__newa_Ext_quads), 1, 0};
     2306
    13822307        /** Code Point Ranges for Osge
    13832308        [104b0, 104d3], [104d8, 104fb]**/
    1384         const UnicodeSet osge_Ext
    1385             {{{Empty, 2085}, {Mixed, 3}, {Empty, 32728}},
    1386              {0xffff0000, 0xff0fffff, 0x0fffffff}};
     2309
     2310        namespace {
     2311        const static UnicodeSet::run_t __osge_Ext_runs[] = {
     2312        {Empty, 2085}, {Mixed, 3}, {Empty, 32728}};
     2313        const static UnicodeSet::bitquad_t  __osge_Ext_quads[] = {
     2314        0xffff0000, 0xff0fffff, 0x0fffffff};
     2315        }
     2316
     2317        const static UnicodeSet osge_Ext{const_cast<UnicodeSet::run_t *>(__osge_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__osge_Ext_quads), 3, 0};
     2318
    13872319        /** Code Point Ranges for Tang
    13882320        [16fe0, 16fe0], [17000, 187ec], [18800, 18af2]**/
    1389         const UnicodeSet tang_Ext
    1390             {{{Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1},
    1391               {Full, 23}, {Mixed, 1}, {Empty, 31656}},
    1392              {0x00000001, 0x00001fff, 0x0007ffff}};
     2321
     2322        namespace {
     2323        const static UnicodeSet::run_t __tang_Ext_runs[] = {
     2324        {Empty, 2943}, {Mixed, 1}, {Full, 191}, {Mixed, 1}, {Full, 23},
     2325        {Mixed, 1}, {Empty, 31656}};
     2326        const static UnicodeSet::bitquad_t  __tang_Ext_quads[] = {
     2327        0x00000001, 0x00001fff, 0x0007ffff};
     2328        }
     2329
     2330        const static UnicodeSet tang_Ext{const_cast<UnicodeSet::run_t *>(__tang_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__tang_Ext_quads), 3, 0};
     2331
    13932332        /** Code Point Ranges for Gonm
    13942333        [11d00, 11d06], [11d08, 11d09], [11d0b, 11d36], [11d3a, 11d3a],
    13952334        [11d3c, 11d3d], [11d3f, 11d47], [11d50, 11d59]**/
    1396         const UnicodeSet gonm_Ext
    1397             {{{Empty, 2280}, {Mixed, 3}, {Empty, 32533}},
    1398              {0xfffffb7f, 0xb47fffff, 0x03ff00ff}};
     2335
     2336        namespace {
     2337        const static UnicodeSet::run_t __gonm_Ext_runs[] = {
     2338        {Empty, 2280}, {Mixed, 3}, {Empty, 32533}};
     2339        const static UnicodeSet::bitquad_t  __gonm_Ext_quads[] = {
     2340        0xfffffb7f, 0xb47fffff, 0x03ff00ff};
     2341        }
     2342
     2343        const static UnicodeSet gonm_Ext{const_cast<UnicodeSet::run_t *>(__gonm_Ext_runs), 3, 0, const_cast<UnicodeSet::bitquad_t *>(__gonm_Ext_quads), 3, 0};
     2344
    13992345        /** Code Point Ranges for Nshu
    14002346        [16fe1, 16fe1], [1b170, 1b2fb]**/
    1401         const UnicodeSet nshu_Ext
    1402             {{{Empty, 2943}, {Mixed, 1}, {Empty, 523}, {Mixed, 1},
    1403               {Full, 11}, {Mixed, 1}, {Empty, 31336}},
    1404              {0x00000002, 0xffff0000, 0x0fffffff}};
     2347
     2348        namespace {
     2349        const static UnicodeSet::run_t __nshu_Ext_runs[] = {
     2350        {Empty, 2943}, {Mixed, 1}, {Empty, 523}, {Mixed, 1}, {Full, 11},
     2351        {Mixed, 1}, {Empty, 31336}};
     2352        const static UnicodeSet::bitquad_t  __nshu_Ext_quads[] = {
     2353        0x00000002, 0xffff0000, 0x0fffffff};
     2354        }
     2355
     2356        const static UnicodeSet nshu_Ext{const_cast<UnicodeSet::run_t *>(__nshu_Ext_runs), 7, 0, const_cast<UnicodeSet::bitquad_t *>(__nshu_Ext_quads), 3, 0};
     2357
    14052358        /** Code Point Ranges for Soyo
    14062359        [11a50, 11a83], [11a86, 11a9c], [11a9e, 11aa2]**/
    1407         const UnicodeSet soyo_Ext
    1408             {{{Empty, 2258}, {Mixed, 1}, {Full, 1}, {Mixed, 2},
    1409               {Empty, 32554}},
    1410              {0xffff0000, 0xdfffffcf, 0x00000007}};
     2360
     2361        namespace {
     2362        const static UnicodeSet::run_t __soyo_Ext_runs[] = {
     2363        {Empty, 2258}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 32554}};
     2364        const static UnicodeSet::bitquad_t  __soyo_Ext_quads[] = {
     2365        0xffff0000, 0xdfffffcf, 0x00000007};
     2366        }
     2367
     2368        const static UnicodeSet soyo_Ext{const_cast<UnicodeSet::run_t *>(__soyo_Ext_runs), 5, 0, const_cast<UnicodeSet::bitquad_t *>(__soyo_Ext_quads), 3, 0};
     2369
    14112370        /** Code Point Ranges for Zanb
    14122371        [11a00, 11a47]**/
    1413         const UnicodeSet zanb_Ext
    1414             {{{Empty, 2256}, {Full, 2}, {Mixed, 1}, {Empty, 32557}},
    1415              {0x000000ff}};
     2372
     2373        namespace {
     2374        const static UnicodeSet::run_t __zanb_Ext_runs[] = {
     2375        {Empty, 2256}, {Full, 2}, {Mixed, 1}, {Empty, 32557}};
     2376        const static UnicodeSet::bitquad_t  __zanb_Ext_quads[] = {
     2377        0x000000ff};
     2378        }
     2379
     2380        const static UnicodeSet zanb_Ext{const_cast<UnicodeSet::run_t *>(__zanb_Ext_runs), 4, 0, const_cast<UnicodeSet::bitquad_t *>(__zanb_Ext_quads), 1, 0};
     2381
    14162382        /** Code Point Ranges for Hrkt
    14172383        **/
    1418         const UnicodeSet hrkt_Ext
    1419             {{{Empty, 34816}},
    1420              {}};
     2384
     2385        namespace {
     2386        const static UnicodeSet::run_t __hrkt_Ext_runs[] = {
     2387        {Empty, 34816}};
     2388        const static UnicodeSet::bitquad_t * const __hrkt_Ext_quads = nullptr;
     2389        }
     2390
     2391        const static UnicodeSet hrkt_Ext{const_cast<UnicodeSet::run_t *>(__hrkt_Ext_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__hrkt_Ext_quads), 0, 0};
     2392
    14212393        static ExtensionPropertyObject property_object
    14222394       {scx,
Note: See TracChangeset for help on using the changeset viewer.