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/UnicodeData.h

    r5686 r5748  
    178178        [1f9c1, 1f9cf], [1f9e7, 2f7ff], [2fa1e, e0000], [e0002, e001f],
    179179        [e0080, e00ff], [e01f0, 10ffff]**/
     180       
     181       
     182        namespace {
     183        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
     184        {Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 22},
     185        {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
     186        {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
     187        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
     188        {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29}, {Empty, 1},
     189        {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2},
     190        {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11},
     191        {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
     192        {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20},
     193        {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3},
     194        {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     195        {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     196        {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2},
     197        {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     198        {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
     199        {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
     200        {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
     201        {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 56},
     202        {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
     203        {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
     204        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     205        {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
     206        {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     207        {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 8},
     208        {Full, 206}, {Empty, 2}, {Full, 656}, {Empty, 36}, {Mixed, 1},
     209        {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
     210        {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     211        {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
     212        {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
     213        {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
     214        {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 349}, {Mixed, 3},
     215        {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     216        {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
     217        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
     218        {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4},
     219        {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
     220        {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
     221        {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1},
     222        {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     223        {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4},
     224        {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
     225        {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
     226        {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
     227        {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1},
     228        {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11},
     229        {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
     230        {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
     231        {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
     232        {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
     233        {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
     234        {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
     235        {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 8}, {Empty, 2},
     236        {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
     237        {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21},
     238        {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
     239        {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
     240        {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269}, {Empty, 17},
     241        {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 3},
     242        {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1},
     243        {Full, 192}, {Empty, 23}, {Mixed, 1}, {Full, 296}, {Empty, 8},
     244        {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 11}, {Mixed, 1},
     245        {Full, 72}, {Empty, 3}, {Mixed, 3}, {Full, 154}, {Empty, 7},
     246        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5}, {Mixed, 1},
     247        {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2}, {Mixed, 2},
     248        {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
     249        {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8},
     250        {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42}, {Mixed, 2},
     251        {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Empty, 2},
     252        {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1}, {Mixed, 1},
     253        {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 6},
     254        {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 1},
     255        {Mixed, 5}, {Full, 4}, {Empty, 30}, {Mixed, 2}, {Empty, 3},
     256        {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     257        {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Full, 2},
     258        {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Full, 2032}, {Empty, 16},
     259        {Mixed, 1}, {Full, 22575}, {Mixed, 1}, {Empty, 3}, {Full, 4},
     260        {Empty, 7}, {Mixed, 1}, {Full, 6128}};
     261        const static UnicodeSet::bitquad_t  __null_codepoint_set_quads[] = {
     262        0x80000000, 0x03000000, 0x0000280f, 0x00000004, 0x00010000,
     263        0x01800000, 0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800,
     264        0x20000000, 0x00004000, 0x00001800, 0xfffc0000, 0xf8000000,
     265        0x8000c000, 0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff,
     266        0x00066010, 0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811,
     267        0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200,
     268        0xfffec440, 0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660,
     269        0xff000030, 0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f,
     270        0x00022010, 0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010,
     271        0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220,
     272        0x00000030, 0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f,
     273        0x00000001, 0x78000000, 0xf0000000, 0x010fda69, 0xc4001351,
     274        0x0c00c0a0, 0x00000100, 0x0001e000, 0x01000000, 0x20000000,
     275        0xf8002000, 0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000,
     276        0x008000c2, 0x00c20000, 0x18000000, 0xe0000000, 0xfc000000,
     277        0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000, 0xff800000,
     278        0xfff00000, 0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000,
     279        0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000,
     280        0x0000000e, 0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000,
     281        0x80000000, 0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000,
     282        0xe0000000, 0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00,
     283        0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0,
     284        0xc0000000, 0x00200000, 0x10300020, 0x80230000, 0x000c0020,
     285        0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80,
     286        0xfffff800, 0x00300000, 0x00c00000, 0x1c000000, 0xfff80200,
     287        0xffff0fff, 0x00008000, 0x80000000, 0x01f00000, 0x0000df40,
     288        0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080, 0xfffffc00,
     289        0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001,
     290        0x01800000, 0x0000001f, 0x00018000, 0x00008000, 0xf8000000,
     291        0x0000fff0, 0x80000000, 0x80000000, 0x0000e000, 0x0000ff80,
     292        0xfffff000, 0xff000000, 0xff008000, 0x007fffff, 0xfc00f000,
     293        0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000,
     294        0x3c004000, 0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8,
     295        0xff800000, 0xff818181, 0x00008080, 0x0000ffc0, 0xfc00c000,
     296        0x0000ffff, 0x00000780, 0xf0000000, 0x0000c000, 0xfc000000,
     297        0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc, 0x0000ffff,
     298        0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000, 0x00080000,
     299        0x0020f080, 0x60000000, 0x00000001, 0x80000000, 0xe3030303,
     300        0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000, 0xf8000000,
     301        0x00000078, 0x00700000, 0xf0008000, 0xfffffffe, 0x0000ffff,
     302        0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000, 0x00001ff0,
     303        0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0, 0xc0000000,
     304        0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0,
     305        0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000,
     306        0x00400000, 0x80000000, 0xffff007f, 0x07c80000, 0x70000000,
     307        0x7c000000, 0x0f000000, 0x00030000, 0x01100f90, 0x78f00000,
     308        0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000, 0x00f80000,
     309        0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000, 0x03f80000,
     310        0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc, 0xfc00fe00,
     311        0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001,
     312        0x00040000, 0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800,
     313        0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xd4000000,
     314        0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0, 0xffffe000,
     315        0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000, 0x7ff80000,
     316        0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000, 0x00000200,
     317        0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
     318        0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000, 0xffe08000,
     319        0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000, 0x80000000,
     320        0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0, 0x1f000004,
     321        0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffc,
     322        0xfff80000, 0x80000000, 0x0000ffff, 0xf0000000, 0xe000f800,
     323        0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180, 0xfffffe00,
     324        0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000,
     325        0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
     326        0x000000c0, 0x00003000, 0x07fff000, 0xffff0001, 0x06000080,
     327        0xfffff824, 0xff800060, 0x3c00f800, 0x00000010, 0xf5080169,
     328        0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0xfffcffff,
     329        0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
     330        0x0000e000, 0x00008000, 0x0000f000, 0xffffe000, 0x0000003f,
     331        0x0000fff8, 0xf0000000, 0xfffcfe00, 0xffffffc0, 0xffe00000,
     332        0xfe00e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
     333        0x0000ff00, 0xffffc000, 0x0000f000, 0x80000000, 0x0000e000,
     334        0xfffff000, 0xff000000, 0x0000fffe, 0xffffff80, 0xc0000000,
     335        0xfffffffd, 0xffff0000};
     336        }
    180337
    181         const UnicodeSet null_codepoint_set
    182                     {{{Full, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 22},
    183               {Mixed, 3}, {Empty, 11}, {Mixed, 4}, {Empty, 1}, {Mixed, 3},
    184               {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
    185               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
    186               {Full, 1}, {Mixed, 2}, {Empty, 5}, {Mixed, 29}, {Empty, 1},
    187               {Mixed, 9}, {Full, 1}, {Mixed, 3}, {Full, 1}, {Empty, 2},
    188               {Mixed, 5}, {Full, 1}, {Empty, 6}, {Mixed, 1}, {Empty, 11},
    189               {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 1},
    190               {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 1}, {Empty, 20},
    191               {Mixed, 1}, {Empty, 2}, {Mixed, 5}, {Empty, 2}, {Mixed, 3},
    192               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    193               {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
    194               {Empty, 1}, {Mixed, 4}, {Full, 2}, {Empty, 2}, {Mixed, 2},
    195               {Empty, 3}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
    196               {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Empty, 7}, {Mixed, 1},
    197               {Empty, 8}, {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1},
    198               {Mixed, 3}, {Empty, 3}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
    199               {Empty, 4}, {Mixed, 1}, {Empty, 20}, {Mixed, 2}, {Empty, 56},
    200               {Mixed, 5}, {Empty, 1}, {Mixed, 2}, {Empty, 4}, {Mixed, 1},
    201               {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 4}, {Empty, 3},
    202               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
    203               {Empty, 6}, {Mixed, 2}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
    204               {Mixed, 1}, {Empty, 3}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
    205               {Empty, 1}, {Mixed, 2}, {Empty, 6}, {Mixed, 1}, {Empty, 8},
    206               {Full, 206}, {Empty, 2}, {Full, 656}, {Empty, 36}, {Mixed, 1},
    207               {Empty, 1}, {Mixed, 1}, {Empty, 10}, {Mixed, 1}, {Empty, 5},
    208               {Mixed, 1}, {Empty, 5}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    209               {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
    210               {Mixed, 2}, {Empty, 2}, {Mixed, 2}, {Empty, 2}, {Mixed, 2},
    211               {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 4}, {Empty, 1},
    212               {Mixed, 1}, {Empty, 3}, {Mixed, 1}, {Full, 349}, {Mixed, 3},
    213               {Full, 264}, {Empty, 11}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
    214               {Full, 1}, {Mixed, 3}, {Empty, 3}, {Mixed, 1}, {Empty, 11},
    215               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 3},
    216               {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 2}, {Empty, 4},
    217               {Mixed, 6}, {Full, 1}, {Empty, 3}, {Mixed, 3}, {Empty, 2},
    218               {Mixed, 4}, {Full, 4}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
    219               {Empty, 1}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Full, 1},
    220               {Empty, 4}, {Mixed, 4}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    221               {Mixed, 1}, {Full, 4}, {Empty, 9}, {Mixed, 3}, {Full, 4},
    222               {Mixed, 3}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
    223               {Full, 2}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 3},
    224               {Empty, 2}, {Full, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    225               {Mixed, 5}, {Full, 2}, {Empty, 2}, {Mixed, 1}, {Full, 1},
    226               {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 11},
    227               {Mixed, 1}, {Full, 12}, {Empty, 2}, {Mixed, 2}, {Empty, 2},
    228               {Mixed, 2}, {Empty, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 4},
    229               {Full, 2}, {Mixed, 2}, {Empty, 1}, {Mixed, 5}, {Full, 4},
    230               {Empty, 2}, {Mixed, 1}, {Full, 1}, {Empty, 2}, {Mixed, 1},
    231               {Full, 5}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Empty, 2},
    232               {Mixed, 2}, {Empty, 1}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
    233               {Full, 11}, {Empty, 2}, {Mixed, 1}, {Full, 8}, {Empty, 2},
    234               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 1},
    235               {Full, 8}, {Mixed, 6}, {Full, 2}, {Mixed, 3}, {Full, 21},
    236               {Empty, 28}, {Mixed, 1}, {Full, 3}, {Empty, 3}, {Mixed, 1},
    237               {Empty, 6}, {Mixed, 1}, {Full, 85}, {Empty, 33}, {Mixed, 1},
    238               {Full, 126}, {Empty, 18}, {Mixed, 1}, {Full, 269},
    239               {Empty, 17}, {Mixed, 3}, {Full, 2}, {Mixed, 2}, {Empty, 2},
    240               {Mixed, 3}, {Full, 27}, {Empty, 2}, {Mixed, 3}, {Full, 2},
    241               {Mixed, 1}, {Full, 192}, {Empty, 23}, {Mixed, 1}, {Full, 296},
    242               {Empty, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Empty, 11},
    243               {Mixed, 1}, {Full, 72}, {Empty, 3}, {Mixed, 3}, {Full, 154},
    244               {Empty, 7}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 5},
    245               {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 5}, {Empty, 2},
    246               {Mixed, 2}, {Full, 4}, {Empty, 2}, {Mixed, 1}, {Empty, 1},
    247               {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Empty, 10}, {Mixed, 1},
    248               {Empty, 8}, {Mixed, 1}, {Empty, 21}, {Mixed, 2}, {Full, 42},
    249               {Mixed, 2}, {Full, 62}, {Empty, 6}, {Mixed, 1}, {Full, 1},
    250               {Empty, 2}, {Mixed, 1}, {Full, 37}, {Mixed, 6}, {Full, 1},
    251               {Mixed, 1}, {Full, 8}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
    252               {Mixed, 6}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 1},
    253               {Full, 1}, {Mixed, 5}, {Full, 4}, {Empty, 30}, {Mixed, 2},
    254               {Empty, 3}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 1},
    255               {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 2},
    256               {Full, 2}, {Mixed, 5}, {Full, 1}, {Mixed, 2}, {Full, 2032},
    257               {Empty, 16}, {Mixed, 1}, {Full, 22575}, {Mixed, 1},
    258               {Empty, 3}, {Full, 4}, {Empty, 7}, {Mixed, 1}, {Full, 6128}},
    259              {0x80000000, 0x03000000, 0x0000280f, 0x00000004, 0x00010000,
    260               0x01800000, 0x00000001, 0x00011900, 0x0000ff00, 0xffe0f800,
    261               0x20000000, 0x00004000, 0x00001800, 0xfffc0000, 0xf8000000,
    262               0x8000c000, 0xb0000000, 0xfffff800, 0xc0200000, 0x000fffff,
    263               0x00066010, 0x0c3a0200, 0x4f7f8660, 0xc0000030, 0x00067811,
    264               0x2c920200, 0xa1fdc678, 0xffc0003f, 0x00044011, 0x0c120200,
    265               0xfffec440, 0x01fc0030, 0x00066011, 0x0c120200, 0x4f3fc660,
    266               0xff000030, 0x29c23813, 0x3c0038e7, 0xff7ec238, 0xf800003f,
    267               0x00022010, 0x1c000200, 0xf89fc220, 0x00ff0030, 0x00022010,
    268               0x0c100200, 0xbf9fc220, 0xfff90030, 0x00022010, 0x000f0220,
    269               0x00000030, 0x03800013, 0xd0040000, 0x00a07b80, 0xffe3003f,
    270               0x00000001, 0x78000000, 0xf0000000, 0x010fda69, 0xc4001351,
    271               0x0c00c0a0, 0x00000100, 0x0001e000, 0x01000000, 0x20000000,
    272               0xf8002000, 0x0000df40, 0xc280c200, 0x0000c200, 0x80c20000,
    273               0x008000c2, 0x00c20000, 0x18000000, 0xe0000000, 0xfc000000,
    274               0xc0c00000, 0xe0000000, 0xfe000000, 0xffe02000, 0xff800000,
    275               0xfff00000, 0xfff22000, 0xc0000000, 0xfc00fc00, 0xfc008000,
    276               0xff000000, 0x0000f800, 0xffc00000, 0x80000000, 0xf000f000,
    277               0x0000000e, 0xffe0c000, 0x0000f000, 0x3800fc00, 0x30000000,
    278               0x80000000, 0x60000000, 0xfc00fc00, 0x8000c000, 0x0000f000,
    279               0xe0000000, 0x0ff00000, 0x07000000, 0x00001c00, 0xfffffe00,
    280               0x0000ff00, 0xfc000000, 0x04000000, 0xc0c00000, 0x5500c0c0,
    281               0xc0000000, 0x00200000, 0x10300020, 0x80230000, 0x000c0020,
    282               0xe0008000, 0x0000ffff, 0xfffe0000, 0x0000f000, 0xffffff80,
    283               0xfffff800, 0x00300000, 0x00c00000, 0x1c000000, 0xfff80200,
    284               0xffff0fff, 0x00008000, 0x80000000, 0x01f00000, 0x0000df40,
    285               0x7ffe7f00, 0xff800000, 0x80808080, 0x80808080, 0xfffffc00,
    286               0x04000000, 0xfff00000, 0xffc00000, 0xf000ffff, 0x00000001,
    287               0x01800000, 0x0000001f, 0x00018000, 0x00008000, 0xf8000000,
    288               0x0000fff0, 0x80000000, 0x80000000, 0x0000e000, 0x0000ff80,
    289               0xfffff000, 0xff000000, 0xff008000, 0x007fffff, 0xfc00f000,
    290               0xff000000, 0xfc003fc0, 0xc0000000, 0x7ff00000, 0xe0000000,
    291               0x3c004000, 0x80000000, 0xff800000, 0x0c00c000, 0x07fffff8,
    292               0xff800000, 0xff818181, 0x00008080, 0x0000ffc0, 0xfc00c000,
    293               0x0000ffff, 0x00000780, 0xf0000000, 0x0000c000, 0xfc000000,
    294               0x1f07ff80, 0xa0800000, 0x00000024, 0x0007fffc, 0x0000ffff,
    295               0x00030000, 0xffffff00, 0xc000ffff, 0xfc000000, 0x00080000,
    296               0x0020f080, 0x60000000, 0x00000001, 0x80000000, 0xe3030303,
    297               0xc1ff8080, 0x00001000, 0x48000080, 0xc000c000, 0xf8000000,
    298               0x00000078, 0x00700000, 0xf0008000, 0xfffffffe, 0x0000ffff,
    299               0xc0000000, 0xe0000000, 0xfffe0000, 0xf0000000, 0x00001ff0,
    300               0x0000f800, 0xf8000000, 0x40000000, 0xffc000f0, 0xc0000000,
    301               0x0000fc00, 0x00f00000, 0xf0000000, 0x0000ff00, 0xffff7ff0,
    302               0xff800000, 0xffc00000, 0xffffff00, 0x000002c0, 0x6e400000,
    303               0x00400000, 0x80000000, 0xffff007f, 0x07c80000, 0x70000000,
    304               0x7c000000, 0x0f000000, 0x00030000, 0x01100f90, 0x78f00000,
    305               0xfe00ff00, 0xff800780, 0x01c00000, 0x00c00000, 0x00f80000,
    306               0xe1fc0000, 0xffff01ff, 0xfffffe00, 0xfff80000, 0x03f80000,
    307               0x80000000, 0x0003c000, 0x7fff0000, 0x0000fffc, 0xfc00fe00,
    308               0x00200000, 0x0000fff0, 0xff800000, 0x0000c000, 0xffe00001,
    309               0x00040000, 0x80000000, 0x40004280, 0x0000fc00, 0xfc00f800,
    310               0x00066010, 0x0c120200, 0x1f7ec660, 0xffe0e030, 0xd4000000,
    311               0xfc00ff00, 0x00c00000, 0xc0000000, 0xfc00ffe0, 0xffffe000,
    312               0xff000000, 0xfffffc00, 0x1c000000, 0x0000f000, 0x7ff80000,
    313               0x0000ff00, 0x20000030, 0xfffffff8, 0xfe000000, 0x00000200,
    314               0x00800000, 0x0000ffc0, 0x0000e000, 0x00030000, 0xff800100,
    315               0x00000480, 0x4b800000, 0xfc00ff00, 0xfc000000, 0xffe08000,
    316               0xfffffff0, 0xffff8000, 0xffffff80, 0xfe000000, 0x80000000,
    317               0xffff3c00, 0x0000ffff, 0xffc0c000, 0x0400ffc0, 0x1f000004,
    318               0xffff0000, 0x0000ffe0, 0x80000000, 0x00007fff, 0xfffffffc,
    319               0xfff80000, 0x80000000, 0x0000ffff, 0xf0000000, 0xe000f800,
    320               0x0c00fe00, 0xfffffff0, 0xffc00000, 0x00000180, 0xfffffe00,
    321               0xffffffc0, 0xff800000, 0xfffc0000, 0x00200000, 0x20000000,
    322               0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
    323               0x000000c0, 0x00003000, 0x07fff000, 0xffff0001, 0x06000080,
    324               0xfffff824, 0xff800060, 0x3c00f800, 0x00000010, 0xf5080169,
    325               0x5569157b, 0xa1080869, 0xf0000400, 0xf0000411, 0xfffcffff,
    326               0x0000f000, 0xfff00000, 0x00018000, 0x00010001, 0xffc00000,
    327               0x0000e000, 0x00008000, 0x0000f000, 0xffffe000, 0x0000003f,
    328               0x0000fff8, 0xf0000000, 0xfffcfe00, 0xffffffc0, 0xffe00000,
    329               0xfe00e000, 0xfff00000, 0xffe00000, 0x0000f000, 0xfc00ff00,
    330               0x0000ff00, 0xffffc000, 0x0000f000, 0x80000000, 0x0000e000,
    331               0xfffff000, 0xff000000, 0x0000fffe, 0xffffff80, 0xc0000000,
    332               0xfffffffd, 0xffff0000}};
     338        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 383, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 367, 0};
     339
     340
    333341
    334342        /** Code Point Ranges for na mapping to <codepoint>
    335343        **/
    336         const UnicodeSet reflexive_set
    337                     {{{Empty, 34816}},
    338              {}};
     344       
     345       
     346        namespace {
     347        const static UnicodeSet::run_t __reflexive_set_runs[] = {
     348        {Empty, 34816}};
     349        const static UnicodeSet::bitquad_t * const __reflexive_set_quads = nullptr;
     350        }
     351
     352        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 0, 0};
     353
     354
    339355
    340356        const unsigned buffer_length = 841401;
    341         const static char __attribute__ ((aligned (32))) string_buffer[841472] = u8R"__(SPACE
     357        const static char string_buffer[841472] LLVM_ALIGNAS(32) = u8R"__(SPACE
    342358EXCLAMATION MARK
    343359QUOTATION MARK
     
    3186431880)__";
    3186531881
    31866         const static std::vector<codepoint_t> defined_cps = {
     31882        const static std::vector<codepoint_t> defined_cps{
    3186731883        0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027,
    3186831884        0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f,
     
    3607536091        0xe01ec, 0xe01ed, 0xe01ee, 0xe01ef};
    3607636092        static StringPropertyObject property_object(na,
    36077                                                     null_codepoint_set,
    36078                                                     reflexive_set,
     36093                                                    std::move(null_codepoint_set),
     36094                                                    std::move(reflexive_set),
    3607936095                                                    static_cast<const char *>(string_buffer),
    3608036096                                                    buffer_length,
    36081                                                     defined_cps);
     36097                                                    std::move(defined_cps));
    3608236098    }
    3608336099    namespace DM_ns {
    3608436100        /** Code Point Ranges for dm mapping to <none>
    3608536101        **/
     36102       
     36103       
     36104        namespace {
     36105        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
     36106        {Empty, 34816}};
     36107        const static UnicodeSet::bitquad_t * const __null_codepoint_set_quads = nullptr;
     36108        }
    3608636109
    36087         const UnicodeSet null_codepoint_set
    36088                     {{{Empty, 34816}},
    36089              {}};
     36110        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 0, 0};
     36111
     36112
    3609036113
    3609136114        /** Code Point Ranges for dm mapping to <codepoint>
     
    3618836211        [1f191, 1f1ff], [1f203, 1f20f], [1f23c, 1f23f], [1f249, 1f24f],
    3618936212        [1f252, 2f7ff], [2fa1e, 10ffff]**/
    36190         const UnicodeSet reflexive_set
    36191                     {{{Full, 5}, {Mixed, 7}, {Full, 1}, {Mixed, 5}, {Full, 3},
    36192               {Mixed, 3}, {Full, 2}, {Mixed, 10}, {Full, 2}, {Mixed, 2},
    36193               {Full, 4}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 1},
    36194               {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 18}, {Mixed, 2},
    36195               {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 7},
    36196               {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    36197               {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
    36198               {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
    36199               {Full, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
    36200               {Mixed, 4}, {Full, 3}, {Mixed, 1}, {Full, 5}, {Mixed, 1},
    36201               {Full, 80}, {Mixed, 3}, {Full, 14}, {Mixed, 4}, {Empty, 1},
    36202               {Full, 2}, {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2},
    36203               {Empty, 1}, {Mixed, 2}, {Empty, 1}, {Mixed, 9}, {Full, 2},
    36204               {Mixed, 3}, {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 6},
    36205               {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 9},
    36206               {Empty, 4}, {Mixed, 1}, {Full, 40}, {Mixed, 1}, {Full, 2},
    36207               {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 12}, {Mixed, 1},
    36208               {Full, 7}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 2},
    36209               {Mixed, 1}, {Empty, 6}, {Mixed, 1}, {Full, 1}, {Mixed, 8},
    36210               {Full, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 3},
    36211               {Mixed, 1}, {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1},
    36212               {Empty, 8}, {Full, 916}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
    36213               {Full, 3}, {Mixed, 1}, {Full, 26}, {Mixed, 1}, {Full, 621},
    36214               {Empty, 8}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2},
    36215               {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2},
    36216               {Empty, 10}, {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1},
    36217               {Mixed, 6}, {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 3},
    36218               {Full, 132}, {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 16},
    36219               {Mixed, 1}, {Full, 10}, {Mixed, 1}, {Full, 7}, {Mixed, 1},
    36220               {Full, 1500}, {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 17},
    36221               {Empty, 2}, {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1},
    36222               {Mixed, 3}, {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1},
    36223               {Empty, 1}, {Full, 176}, {Mixed, 6}, {Full, 18}, {Mixed, 5},
    36224               {Full, 3}, {Mixed, 3}, {Full, 2093}, {Empty, 16}, {Mixed, 1},
    36225               {Full, 28719}},
    36226              {0x88c37afe, 0xc1810040, 0x41810040, 0x00030000, 0x010200c0,
    36227               0x000c0c06, 0x000000c0, 0xfffe7ffc, 0x2000000f, 0x00c00030,
    36228               0x30000000, 0xfff0003f, 0xfe00ffff, 0xc0ffffff, 0xffffffe0,
    36229               0xffffffe4, 0xbbefffff, 0xfffe280f, 0xfffe03ff, 0xff8083ff,
    36230               0xfdc8ffff, 0xfdff8f74, 0xfdffffff, 0x8f74ffff, 0xff3fffff,
    36231               0x0330fff9, 0xfcc00303, 0xffffff7f, 0xffffff83, 0xfe1fffff,
    36232               0xfff7fffa, 0xffedfdff, 0x00ffffff, 0x4fffe7ff, 0xffb7ffff,
    36233               0xb1ffffff, 0xcfffe6ff, 0xffefffff, 0xffffe3ff, 0xfffffeff,
    36234               0xfffff27e, 0xffffe3ff, 0x8bffffff, 0xfff7ffff, 0xfff7ffff,
    36235               0xcfffffff, 0xffffefff, 0xef7bdff7, 0xfc17fdff, 0xdff7fffd,
    36236               0xfdffef7b, 0xffffffbf, 0xefffffff, 0xfffbaabf, 0xd7ffffff,
    36237               0xfffffff4, 0x08008fff, 0x00004000, 0xfefff800, 0x07ffffff,
    36238               0xf0000000, 0xfc000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
    36239               0x00200000, 0x10300020, 0x80230000, 0xff7df800, 0xaf277f8f,
    36240               0x7f7ffc7f, 0x000cffff, 0xe0008000, 0xfffffeff, 0xc1900110,
    36241               0x040442a8, 0x0000fc1e, 0xf3fffdff, 0xffffbfff, 0xffff1fff,
    36242               0xffffedef, 0xfffe4faf, 0xfffffd6d, 0xfccc1ffa, 0xfffffccc,
    36243               0xffff0fff, 0xffffc3f0, 0xfffff9ff, 0xfffff800, 0xffffefff,
    36244               0xff8fffff, 0xefffffff, 0xcfffffff, 0xffff7fff, 0x7fffffff,
    36245               0xfff7ffff, 0xffc00000, 0xfffffffe, 0xf8bfffff, 0xaaaaafff,
    36246               0xc924fd5a, 0x27efffff, 0xaaaaafff, 0xc924fd5a, 0x386fffff,
    36247               0x0001ffff, 0x00038000, 0x80000000, 0x0000ff00, 0x80000000,
    36248               0x80000000, 0xcfffffff, 0xfffeffff, 0xfcffffff, 0x0fffffff,
    36249               0x801ac000, 0x0000039a, 0x0000c000, 0xfc000000, 0x5f07ff80,
    36250               0xa0800000, 0x00000024, 0xfffc0000, 0x0007ffff, 0xc0000000,
    36251               0x0000ffff, 0x00030000, 0xffffff00, 0xe000ffff, 0xfc00ffff,
    36252               0x0000ffff, 0x00080060, 0x0028f080, 0xe0000000, 0x00000001,
    36253               0x80000000, 0xe3030303, 0xffff8080, 0xebffffff, 0xfffff7ff,
    36254               0xffff3fff, 0xffffe7ff, 0xa7ffffff, 0xf3ffffff, 0x3fffffff,
    36255               0xffffffe0, 0x07ffffff, 0xfffffffe, 0x00200000, 0x20000000,
    36256               0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
    36257               0x000000c0, 0x00003000, 0x00000010, 0xf5080169, 0x5569157b,
    36258               0xa1080869, 0xf0000400, 0xf0000411, 0x0000f800, 0x00008000,
    36259               0xffff0000, 0xfffff3ff, 0xfffeffff, 0x0000fff8, 0xf0000000,
    36260               0xfffcfe00, 0xc0000000}};
     36213       
     36214       
     36215        namespace {
     36216        const static UnicodeSet::run_t __reflexive_set_runs[] = {
     36217        {Full, 5}, {Mixed, 7}, {Full, 1}, {Mixed, 5}, {Full, 3}, {Mixed, 3},
     36218        {Full, 2}, {Mixed, 10}, {Full, 2}, {Mixed, 2}, {Full, 4},
     36219        {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 2},
     36220        {Mixed, 1}, {Full, 18}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
     36221        {Full, 2}, {Mixed, 2}, {Full, 7}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
     36222        {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     36223        {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     36224        {Full, 3}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 4},
     36225        {Full, 3}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 80},
     36226        {Mixed, 3}, {Full, 14}, {Mixed, 4}, {Empty, 1}, {Full, 2},
     36227        {Empty, 4}, {Mixed, 1}, {Empty, 2}, {Mixed, 2}, {Empty, 1},
     36228        {Mixed, 2}, {Empty, 1}, {Mixed, 9}, {Full, 2}, {Mixed, 3},
     36229        {Empty, 1}, {Mixed, 3}, {Full, 1}, {Mixed, 6}, {Full, 1},
     36230        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 9}, {Empty, 4},
     36231        {Mixed, 1}, {Full, 40}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     36232        {Full, 2}, {Mixed, 1}, {Full, 12}, {Mixed, 1}, {Full, 7},
     36233        {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     36234        {Empty, 6}, {Mixed, 1}, {Full, 1}, {Mixed, 8}, {Full, 1},
     36235        {Mixed, 1}, {Empty, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     36236        {Empty, 1}, {Mixed, 2}, {Empty, 3}, {Mixed, 1}, {Empty, 8},
     36237        {Full, 916}, {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 3},
     36238        {Mixed, 1}, {Full, 26}, {Mixed, 1}, {Full, 621}, {Empty, 8},
     36239        {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 2}, {Mixed, 1},
     36240        {Full, 1}, {Mixed, 3}, {Empty, 2}, {Mixed, 2}, {Empty, 10},
     36241        {Mixed, 2}, {Empty, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 6},
     36242        {Empty, 3}, {Mixed, 2}, {Empty, 4}, {Mixed, 3}, {Full, 132},
     36243        {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 16}, {Mixed, 1},
     36244        {Full, 10}, {Mixed, 1}, {Full, 7}, {Mixed, 1}, {Full, 1500},
     36245        {Mixed, 2}, {Full, 1}, {Mixed, 2}, {Full, 17}, {Empty, 2},
     36246        {Mixed, 1}, {Empty, 1}, {Mixed, 3}, {Empty, 1}, {Mixed, 3},
     36247        {Empty, 10}, {Mixed, 1}, {Empty, 8}, {Mixed, 1}, {Empty, 1},
     36248        {Full, 176}, {Mixed, 6}, {Full, 18}, {Mixed, 5}, {Full, 3},
     36249        {Mixed, 3}, {Full, 2093}, {Empty, 16}, {Mixed, 1}, {Full, 28719}};
     36250        const static UnicodeSet::bitquad_t  __reflexive_set_quads[] = {
     36251        0x88c37afe, 0xc1810040, 0x41810040, 0x00030000, 0x010200c0,
     36252        0x000c0c06, 0x000000c0, 0xfffe7ffc, 0x2000000f, 0x00c00030,
     36253        0x30000000, 0xfff0003f, 0xfe00ffff, 0xc0ffffff, 0xffffffe0,
     36254        0xffffffe4, 0xbbefffff, 0xfffe280f, 0xfffe03ff, 0xff8083ff,
     36255        0xfdc8ffff, 0xfdff8f74, 0xfdffffff, 0x8f74ffff, 0xff3fffff,
     36256        0x0330fff9, 0xfcc00303, 0xffffff7f, 0xffffff83, 0xfe1fffff,
     36257        0xfff7fffa, 0xffedfdff, 0x00ffffff, 0x4fffe7ff, 0xffb7ffff,
     36258        0xb1ffffff, 0xcfffe6ff, 0xffefffff, 0xffffe3ff, 0xfffffeff,
     36259        0xfffff27e, 0xffffe3ff, 0x8bffffff, 0xfff7ffff, 0xfff7ffff,
     36260        0xcfffffff, 0xffffefff, 0xef7bdff7, 0xfc17fdff, 0xdff7fffd,
     36261        0xfdffef7b, 0xffffffbf, 0xefffffff, 0xfffbaabf, 0xd7ffffff,
     36262        0xfffffff4, 0x08008fff, 0x00004000, 0xfefff800, 0x07ffffff,
     36263        0xf0000000, 0xfc000000, 0xc0c00000, 0x5500c0c0, 0xc0000000,
     36264        0x00200000, 0x10300020, 0x80230000, 0xff7df800, 0xaf277f8f,
     36265        0x7f7ffc7f, 0x000cffff, 0xe0008000, 0xfffffeff, 0xc1900110,
     36266        0x040442a8, 0x0000fc1e, 0xf3fffdff, 0xffffbfff, 0xffff1fff,
     36267        0xffffedef, 0xfffe4faf, 0xfffffd6d, 0xfccc1ffa, 0xfffffccc,
     36268        0xffff0fff, 0xffffc3f0, 0xfffff9ff, 0xfffff800, 0xffffefff,
     36269        0xff8fffff, 0xefffffff, 0xcfffffff, 0xffff7fff, 0x7fffffff,
     36270        0xfff7ffff, 0xffc00000, 0xfffffffe, 0xf8bfffff, 0xaaaaafff,
     36271        0xc924fd5a, 0x27efffff, 0xaaaaafff, 0xc924fd5a, 0x386fffff,
     36272        0x0001ffff, 0x00038000, 0x80000000, 0x0000ff00, 0x80000000,
     36273        0x80000000, 0xcfffffff, 0xfffeffff, 0xfcffffff, 0x0fffffff,
     36274        0x801ac000, 0x0000039a, 0x0000c000, 0xfc000000, 0x5f07ff80,
     36275        0xa0800000, 0x00000024, 0xfffc0000, 0x0007ffff, 0xc0000000,
     36276        0x0000ffff, 0x00030000, 0xffffff00, 0xe000ffff, 0xfc00ffff,
     36277        0x0000ffff, 0x00080060, 0x0028f080, 0xe0000000, 0x00000001,
     36278        0x80000000, 0xe3030303, 0xffff8080, 0xebffffff, 0xfffff7ff,
     36279        0xffff3fff, 0xffffe7ff, 0xa7ffffff, 0xf3ffffff, 0x3fffffff,
     36280        0xffffffe0, 0x07ffffff, 0xfffffffe, 0x00200000, 0x20000000,
     36281        0x1400219b, 0x00000010, 0x20201840, 0x84000000, 0x000203a0,
     36282        0x000000c0, 0x00003000, 0x00000010, 0xf5080169, 0x5569157b,
     36283        0xa1080869, 0xf0000400, 0xf0000411, 0x0000f800, 0x00008000,
     36284        0xffff0000, 0xfffff3ff, 0xfffeffff, 0x0000fff8, 0xf0000000,
     36285        0xfffcfe00, 0xc0000000};
     36286        }
     36287
     36288        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 171, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 172, 0};
     36289
     36290
    3626136291
    3626236292        const unsigned buffer_length = 23174;
    36263         const static char __attribute__ ((aligned (32))) string_buffer[23296] = u8R"__(
     36293        const static char string_buffer[23296] LLVM_ALIGNAS(32) = u8R"__(
    3626436294 Ìˆ
    3626536295a
     
    4245642486)__";
    4245742487
    42458         const static std::vector<codepoint_t> defined_cps = {
     42488        const static std::vector<codepoint_t> defined_cps{
    4245942489        0x00a0, 0x00a8, 0x00aa, 0x00af, 0x00b2, 0x00b3, 0x00b4, 0x00b5,
    4246042490        0x00b8, 0x00b9, 0x00ba, 0x00bc, 0x00bd, 0x00be, 0x00c0, 0x00c1,
     
    4320643236        0x2fa17, 0x2fa18, 0x2fa19, 0x2fa1a, 0x2fa1b, 0x2fa1c, 0x2fa1d};
    4320743237        static StringPropertyObject property_object(dm,
    43208                                                     null_codepoint_set,
    43209                                                     reflexive_set,
     43238                                                    std::move(null_codepoint_set),
     43239                                                    std::move(reflexive_set),
    4321043240                                                    static_cast<const char *>(string_buffer),
    4321143241                                                    buffer_length,
    43212                                                     defined_cps);
     43242                                                    std::move(defined_cps));
    4321343243    }
    4321443244    namespace SUC_ns {
    4321543245        /** Code Point Ranges for suc mapping to <none>
    4321643246        **/
     43247       
     43248       
     43249        namespace {
     43250        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
     43251        {Empty, 34816}};
     43252        const static UnicodeSet::bitquad_t * const __null_codepoint_set_quads = nullptr;
     43253        }
    4321743254
    43218         const UnicodeSet null_codepoint_set
    43219                     {{{Empty, 34816}},
    43220              {}};
     43255        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 0, 0};
     43256
     43257
    4322143258
    4322243259        /** Code Point Ranges for suc mapping to <codepoint>
     
    4337343410        [ab54, ab6f], [abc0, ff40], [ff5b, 10427], [10450, 104d7],
    4337443411        [104fc, 10cbf], [10cf3, 118bf], [118e0, 1e921], [1e944, 10ffff]**/
    43375         const UnicodeSet reflexive_set
    43376                     {{{Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
    43377               {Mixed, 14}, {Full, 5}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
    43378               {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 7}, {Full, 1},
    43379               {Mixed, 2}, {Full, 114}, {Mixed, 1}, {Full, 68}, {Mixed, 1},
    43380               {Full, 6}, {Mixed, 1}, {Full, 4}, {Mixed, 16}, {Full, 10},
    43381               {Mixed, 3}, {Full, 25}, {Mixed, 2}, {Full, 57}, {Mixed, 7},
    43382               {Empty, 1}, {Mixed, 1}, {Full, 968}, {Mixed, 3}, {Full, 4},
    43383               {Mixed, 5}, {Full, 28}, {Mixed, 2}, {Empty, 2}, {Full, 668},
    43384               {Mixed, 1}, {Full, 38}, {Mixed, 2}, {Full, 3}, {Mixed, 2},
    43385               {Full, 62}, {Empty, 1}, {Mixed, 1}, {Full, 94}, {Empty, 1},
    43386               {Full, 1666}, {Mixed, 2}, {Full, 30901}},
    43387              {0xf8000001, 0xffdfffff, 0x00800000, 0x55555555, 0xab555555,
    43388               0x555556aa, 0x2b555555, 0xb9dbeed6, 0x5daeded5, 0x4aaaa49f,
    43389               0x55d35555, 0x55555555, 0x6ff55557, 0xe520557a, 0xdfd96094,
    43390               0x9ffbe076, 0xffffffdf, 0xc775ffff, 0x00010fff, 0x551c8000,
    43391               0xf6d05555, 0x0000ffff, 0x55555555, 0x555557fd, 0x55555555,
    43392               0x55552aab, 0x55555555, 0x55555555, 0xffff5555, 0x00000001,
    43393               0xffffff80, 0xc0ffffff, 0xfffffe00, 0xddffffff, 0x55555555,
    43394               0x55555555, 0x55555555, 0x55555555, 0xf7d55555, 0x55555555,
    43395               0x55555555, 0x55555555, 0xffc0ff00, 0xff00ff00, 0xff55ffc0,
    43396               0xc000ff00, 0xff00ff00, 0xbff4ff00, 0xfffcfff7, 0xfff7ffdc,
    43397               0xffffbfff, 0x0000ffff, 0xffffffef, 0x0000ffff, 0xfffffc00,
    43398               0x0000ffff, 0x80000000, 0xffb7ea9d, 0x55555555, 0x55555555,
    43399               0x55555555, 0xfff7aff5, 0xffffdf40, 0x55555555, 0xffffd555,
    43400               0xf5555555, 0x55575557, 0x55555555, 0x6bff5555, 0x5575ef55,
    43401               0xff5ffd55, 0xfff7ffff, 0x0000ffff, 0xf8000001, 0x000000ff,
    43402               0xffff0000, 0x00ffffff, 0xf0000000, 0xfff80000, 0x00000003,
    43403               0xfffffff0}};
     43412       
     43413       
     43414        namespace {
     43415        const static UnicodeSet::run_t __reflexive_set_runs[] = {
     43416        {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
     43417        {Mixed, 14}, {Full, 5}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
     43418        {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 7}, {Full, 1},
     43419        {Mixed, 2}, {Full, 114}, {Mixed, 1}, {Full, 68}, {Mixed, 1},
     43420        {Full, 6}, {Mixed, 1}, {Full, 4}, {Mixed, 16}, {Full, 10},
     43421        {Mixed, 3}, {Full, 25}, {Mixed, 2}, {Full, 57}, {Mixed, 7},
     43422        {Empty, 1}, {Mixed, 1}, {Full, 968}, {Mixed, 3}, {Full, 4},
     43423        {Mixed, 5}, {Full, 28}, {Mixed, 2}, {Empty, 2}, {Full, 668},
     43424        {Mixed, 1}, {Full, 38}, {Mixed, 2}, {Full, 3}, {Mixed, 2},
     43425        {Full, 62}, {Empty, 1}, {Mixed, 1}, {Full, 94}, {Empty, 1},
     43426        {Full, 1666}, {Mixed, 2}, {Full, 30901}};
     43427        const static UnicodeSet::bitquad_t  __reflexive_set_quads[] = {
     43428        0xf8000001, 0xffdfffff, 0x00800000, 0x55555555, 0xab555555,
     43429        0x555556aa, 0x2b555555, 0xb9dbeed6, 0x5daeded5, 0x4aaaa49f,
     43430        0x55d35555, 0x55555555, 0x6ff55557, 0xe520557a, 0xdfd96094,
     43431        0x9ffbe076, 0xffffffdf, 0xc775ffff, 0x00010fff, 0x551c8000,
     43432        0xf6d05555, 0x0000ffff, 0x55555555, 0x555557fd, 0x55555555,
     43433        0x55552aab, 0x55555555, 0x55555555, 0xffff5555, 0x00000001,
     43434        0xffffff80, 0xc0ffffff, 0xfffffe00, 0xddffffff, 0x55555555,
     43435        0x55555555, 0x55555555, 0x55555555, 0xf7d55555, 0x55555555,
     43436        0x55555555, 0x55555555, 0xffc0ff00, 0xff00ff00, 0xff55ffc0,
     43437        0xc000ff00, 0xff00ff00, 0xbff4ff00, 0xfffcfff7, 0xfff7ffdc,
     43438        0xffffbfff, 0x0000ffff, 0xffffffef, 0x0000ffff, 0xfffffc00,
     43439        0x0000ffff, 0x80000000, 0xffb7ea9d, 0x55555555, 0x55555555,
     43440        0x55555555, 0xfff7aff5, 0xffffdf40, 0x55555555, 0xffffd555,
     43441        0xf5555555, 0x55575557, 0x55555555, 0x6bff5555, 0x5575ef55,
     43442        0xff5ffd55, 0xfff7ffff, 0x0000ffff, 0xf8000001, 0x000000ff,
     43443        0xffff0000, 0x00ffffff, 0xf0000000, 0xfff80000, 0x00000003,
     43444        0xfffffff0};
     43445        }
     43446
     43447        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 53, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 81, 0};
     43448
     43449
    4340443450
    4340543451        const unsigned buffer_length = 4961;
    43406         const static char __attribute__ ((aligned (32))) string_buffer[5120] = u8R"__(A
     43452        const static char string_buffer[5120] LLVM_ALIGNAS(32) = u8R"__(A
    4340743453B
    4340843454C
     
    4475744803)__";
    4475844804
    44759         const static std::vector<codepoint_t> defined_cps = {
     44805        const static std::vector<codepoint_t> defined_cps{
    4476044806        0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,
    4476144807        0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
     
    4492844974        0x1e940, 0x1e941, 0x1e942, 0x1e943};
    4492944975        static StringPropertyObject property_object(suc,
    44930                                                     null_codepoint_set,
    44931                                                     reflexive_set,
     44976                                                    std::move(null_codepoint_set),
     44977                                                    std::move(reflexive_set),
    4493244978                                                    static_cast<const char *>(string_buffer),
    4493344979                                                    buffer_length,
    44934                                                     defined_cps);
     44980                                                    std::move(defined_cps));
    4493544981    }
    4493644982    namespace SLC_ns {
    4493744983        /** Code Point Ranges for slc mapping to <none>
    4493844984        **/
     44985       
     44986       
     44987        namespace {
     44988        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
     44989        {Empty, 34816}};
     44990        const static UnicodeSet::bitquad_t * const __null_codepoint_set_quads = nullptr;
     44991        }
    4493944992
    44940         const UnicodeSet null_codepoint_set
    44941                     {{{Empty, 34816}},
    44942              {}};
     44993        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 0, 0};
     44994
     44995
    4494344996
    4494444997        /** Code Point Ranges for slc mapping to <codepoint>
     
    4509145144        [a7b7, ff20], [ff3b, 103ff], [10428, 104af], [104d4, 10c7f],
    4509245145        [10cb3, 1189f], [118c0, 1e8ff], [1e922, 10ffff]**/
    45093         const UnicodeSet reflexive_set
    45094                     {{{Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 1},
    45095               {Mixed, 11}, {Full, 8}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
    45096               {Full, 1}, {Mixed, 8}, {Full, 90}, {Empty, 1}, {Mixed, 1},
    45097               {Full, 22}, {Empty, 2}, {Mixed, 1}, {Full, 80}, {Mixed, 16},
    45098               {Full, 9}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 24},
    45099               {Mixed, 2}, {Full, 57}, {Empty, 1}, {Mixed, 1}, {Full, 1},
    45100               {Mixed, 5}, {Full, 970}, {Mixed, 3}, {Full, 4}, {Mixed, 5},
    45101               {Full, 699}, {Mixed, 1}, {Full, 38}, {Empty, 1}, {Mixed, 1},
    45102               {Full, 3}, {Mixed, 2}, {Full, 61}, {Empty, 1}, {Mixed, 1},
    45103               {Full, 95}, {Empty, 1}, {Full, 1666}, {Empty, 1}, {Mixed, 1},
    45104               {Full, 30902}},
    45105              {0xf8000001, 0x80800000, 0xaaaaaaaa, 0x55aaaaaa, 0xaaaaab55,
    45106               0xd4aaaaaa, 0x4e243129, 0xee512d2a, 0xb555524f, 0xaa29aaaa,
    45107               0xaaaaaaaa, 0x93faaaaa, 0xffffaa85, 0x7fbaffff, 0x000128bf,
    45108               0xfffff004, 0xaaff7fff, 0x196faaaa, 0xffff0000, 0xaaaaaaaa,
    45109               0xaaaaabfe, 0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa, 0xaaaaaaaa,
    45110               0x0001aaaa, 0xff800000, 0xffffdf40, 0xffc00000, 0xaaaaaaaa,
    45111               0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xbfeaaaaa, 0xaaaaaaaa,
    45112               0xaaaaaaaa, 0xaaaaaaaa, 0xc0ff00ff, 0x00ff00ff, 0x55ffc0ff,
    45113               0xffff00ff, 0x00ff00ff, 0xe0ff00ff, 0xf0ffe0ff, 0xe0ffe0ff,
    45114               0xfffbf3bf, 0xffff0000, 0xfffffff7, 0x003fffff, 0xffff0000,
    45115               0xffff8000, 0x3fda1562, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
    45116               0xfffbd7fa, 0xaaaaaaaa, 0xffffeaaa, 0xfaaaaaaa, 0xaaabaaab,
    45117               0xaaaaaaaa, 0x95ffaaaa, 0xaabad7aa, 0xffa082aa, 0xf8000001,
    45118               0xffffff00, 0x0000ffff, 0xfff00000, 0xfff80000, 0xfffffffc}};
     45146       
     45147       
     45148        namespace {
     45149        const static UnicodeSet::run_t __reflexive_set_runs[] = {
     45150        {Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 1},
     45151        {Mixed, 11}, {Full, 8}, {Mixed, 5}, {Empty, 1}, {Mixed, 1},
     45152        {Full, 1}, {Mixed, 8}, {Full, 90}, {Empty, 1}, {Mixed, 1},
     45153        {Full, 22}, {Empty, 2}, {Mixed, 1}, {Full, 80}, {Mixed, 16},
     45154        {Full, 9}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 24},
     45155        {Mixed, 2}, {Full, 57}, {Empty, 1}, {Mixed, 1}, {Full, 1},
     45156        {Mixed, 5}, {Full, 970}, {Mixed, 3}, {Full, 4}, {Mixed, 5},
     45157        {Full, 699}, {Mixed, 1}, {Full, 38}, {Empty, 1}, {Mixed, 1},
     45158        {Full, 3}, {Mixed, 2}, {Full, 61}, {Empty, 1}, {Mixed, 1},
     45159        {Full, 95}, {Empty, 1}, {Full, 1666}, {Empty, 1}, {Mixed, 1},
     45160        {Full, 30902}};
     45161        const static UnicodeSet::bitquad_t  __reflexive_set_quads[] = {
     45162        0xf8000001, 0x80800000, 0xaaaaaaaa, 0x55aaaaaa, 0xaaaaab55,
     45163        0xd4aaaaaa, 0x4e243129, 0xee512d2a, 0xb555524f, 0xaa29aaaa,
     45164        0xaaaaaaaa, 0x93faaaaa, 0xffffaa85, 0x7fbaffff, 0x000128bf,
     45165        0xfffff004, 0xaaff7fff, 0x196faaaa, 0xffff0000, 0xaaaaaaaa,
     45166        0xaaaaabfe, 0xaaaaaaaa, 0xaaaad554, 0xaaaaaaaa, 0xaaaaaaaa,
     45167        0x0001aaaa, 0xff800000, 0xffffdf40, 0xffc00000, 0xaaaaaaaa,
     45168        0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xbfeaaaaa, 0xaaaaaaaa,
     45169        0xaaaaaaaa, 0xaaaaaaaa, 0xc0ff00ff, 0x00ff00ff, 0x55ffc0ff,
     45170        0xffff00ff, 0x00ff00ff, 0xe0ff00ff, 0xf0ffe0ff, 0xe0ffe0ff,
     45171        0xfffbf3bf, 0xffff0000, 0xfffffff7, 0x003fffff, 0xffff0000,
     45172        0xffff8000, 0x3fda1562, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa,
     45173        0xfffbd7fa, 0xaaaaaaaa, 0xffffeaaa, 0xfaaaaaaa, 0xaaabaaab,
     45174        0xaaaaaaaa, 0x95ffaaaa, 0xaabad7aa, 0xffa082aa, 0xf8000001,
     45175        0xffffff00, 0x0000ffff, 0xfff00000, 0xfff80000, 0xfffffffc};
     45176        }
     45177
     45178        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 51, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 70, 0};
     45179
     45180
    4511945181
    4512045182        const unsigned buffer_length = 4893;
    45121         const static char __attribute__ ((aligned (32))) string_buffer[5120] = u8R"__(a
     45183        const static char string_buffer[5120] LLVM_ALIGNAS(32) = u8R"__(a
    4512245184b
    4512345185c
     
    4646946531)__";
    4647046532
    46471         const static std::vector<codepoint_t> defined_cps = {
     46533        const static std::vector<codepoint_t> defined_cps{
    4647246534        0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048,
    4647346535        0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050,
     
    4663846700        0x1e91f, 0x1e920, 0x1e921};
    4663946701        static StringPropertyObject property_object(slc,
    46640                                                     null_codepoint_set,
    46641                                                     reflexive_set,
     46702                                                    std::move(null_codepoint_set),
     46703                                                    std::move(reflexive_set),
    4664246704                                                    static_cast<const char *>(string_buffer),
    4664346705                                                    buffer_length,
    46644                                                     defined_cps);
     46706                                                    std::move(defined_cps));
    4664546707    }
    4664646708    namespace STC_ns {
    4664746709        /** Code Point Ranges for stc mapping to <none>
    4664846710        **/
     46711       
     46712       
     46713        namespace {
     46714        const static UnicodeSet::run_t __null_codepoint_set_runs[] = {
     46715        {Empty, 34816}};
     46716        const static UnicodeSet::bitquad_t * const __null_codepoint_set_quads = nullptr;
     46717        }
    4664946718
    46650         const UnicodeSet null_codepoint_set
    46651                     {{{Empty, 34816}},
    46652              {}};
     46719        const static UnicodeSet null_codepoint_set{const_cast<UnicodeSet::run_t *>(__null_codepoint_set_runs), 1, 0, const_cast<UnicodeSet::bitquad_t *>(__null_codepoint_set_quads), 0, 0};
     46720
     46721
    4665346722
    4665446723        /** Code Point Ranges for stc mapping to <codepoint>
     
    4680646875        [ff5b, 10427], [10450, 104d7], [104fc, 10cbf], [10cf3, 118bf],
    4680746876        [118e0, 1e921], [1e944, 10ffff]**/
    46808         const UnicodeSet reflexive_set
    46809                     {{{Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
    46810               {Mixed, 14}, {Full, 5}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
    46811               {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 7}, {Full, 1},
    46812               {Mixed, 2}, {Full, 114}, {Mixed, 1}, {Full, 68}, {Mixed, 1},
    46813               {Full, 6}, {Mixed, 1}, {Full, 4}, {Mixed, 16}, {Full, 10},
    46814               {Mixed, 3}, {Full, 25}, {Mixed, 2}, {Full, 57}, {Mixed, 7},
    46815               {Empty, 1}, {Mixed, 1}, {Full, 968}, {Mixed, 3}, {Full, 4},
    46816               {Mixed, 5}, {Full, 28}, {Mixed, 2}, {Empty, 2}, {Full, 668},
    46817               {Mixed, 1}, {Full, 38}, {Mixed, 2}, {Full, 3}, {Mixed, 2},
    46818               {Full, 62}, {Empty, 1}, {Mixed, 1}, {Full, 94}, {Empty, 1},
    46819               {Full, 1666}, {Mixed, 2}, {Full, 30901}},
    46820              {0xf8000001, 0xffdfffff, 0x00800000, 0x55555555, 0xab555555,
    46821               0x555556aa, 0x2b555555, 0xb9dbeed6, 0x5daeded5, 0x4aaaa92f,
    46822               0x55d55555, 0x55555555, 0x6ff55557, 0xe520557a, 0xdfd96094,
    46823               0x9ffbe076, 0xffffffdf, 0xc775ffff, 0x00010fff, 0x551c8000,
    46824               0xf6d05555, 0x0000ffff, 0x55555555, 0x555557fd, 0x55555555,
    46825               0x55552aab, 0x55555555, 0x55555555, 0xffff5555, 0x00000001,
    46826               0xffffff80, 0xc0ffffff, 0xfffffe00, 0xddffffff, 0x55555555,
    46827               0x55555555, 0x55555555, 0x55555555, 0xf7d55555, 0x55555555,
    46828               0x55555555, 0x55555555, 0xffc0ff00, 0xff00ff00, 0xff55ffc0,
    46829               0xc000ff00, 0xff00ff00, 0xbff4ff00, 0xfffcfff7, 0xfff7ffdc,
    46830               0xffffbfff, 0x0000ffff, 0xffffffef, 0x0000ffff, 0xfffffc00,
    46831               0x0000ffff, 0x80000000, 0xffb7ea9d, 0x55555555, 0x55555555,
    46832               0x55555555, 0xfff7aff5, 0xffffdf40, 0x55555555, 0xffffd555,
    46833               0xf5555555, 0x55575557, 0x55555555, 0x6bff5555, 0x5575ef55,
    46834               0xff5ffd55, 0xfff7ffff, 0x0000ffff, 0xf8000001, 0x000000ff,
    46835               0xffff0000, 0x00ffffff, 0xf0000000, 0xfff80000, 0x00000003,
    46836               0xfffffff0}};
     46877       
     46878       
     46879        namespace {
     46880        const static UnicodeSet::run_t __reflexive_set_runs[] = {
     46881        {Full, 3}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 1},
     46882        {Mixed, 14}, {Full, 5}, {Mixed, 2}, {Full, 1}, {Mixed, 3},
     46883        {Full, 1}, {Mixed, 1}, {Empty, 1}, {Mixed, 7}, {Full, 1},
     46884        {Mixed, 2}, {Full, 114}, {Mixed, 1}, {Full, 68}, {Mixed, 1},
     46885        {Full, 6}, {Mixed, 1}, {Full, 4}, {Mixed, 16}, {Full, 10},
     46886        {Mixed, 3}, {Full, 25}, {Mixed, 2}, {Full, 57}, {Mixed, 7},
     46887        {Empty, 1}, {Mixed, 1}, {Full, 968}, {Mixed, 3}, {Full, 4},
     46888        {Mixed, 5}, {Full, 28}, {Mixed, 2}, {Empty, 2}, {Full, 668},
     46889        {Mixed, 1}, {Full, 38}, {Mixed, 2}, {Full, 3}, {Mixed, 2},
     46890        {Full, 62}, {Empty, 1}, {Mixed, 1}, {Full, 94}, {Empty, 1},
     46891        {Full, 1666}, {Mixed, 2}, {Full, 30901}};
     46892        const static UnicodeSet::bitquad_t  __reflexive_set_quads[] = {
     46893        0xf8000001, 0xffdfffff, 0x00800000, 0x55555555, 0xab555555,
     46894        0x555556aa, 0x2b555555, 0xb9dbeed6, 0x5daeded5, 0x4aaaa92f,
     46895        0x55d55555, 0x55555555, 0x6ff55557, 0xe520557a, 0xdfd96094,
     46896        0x9ffbe076, 0xffffffdf, 0xc775ffff, 0x00010fff, 0x551c8000,
     46897        0xf6d05555, 0x0000ffff, 0x55555555, 0x555557fd, 0x55555555,
     46898        0x55552aab, 0x55555555, 0x55555555, 0xffff5555, 0x00000001,
     46899        0xffffff80, 0xc0ffffff, 0xfffffe00, 0xddffffff, 0x55555555,
     46900        0x55555555, 0x55555555, 0x55555555, 0xf7d55555, 0x55555555,
     46901        0x55555555, 0x55555555, 0xffc0ff00, 0xff00ff00, 0xff55ffc0,
     46902        0xc000ff00, 0xff00ff00, 0xbff4ff00, 0xfffcfff7, 0xfff7ffdc,
     46903        0xffffbfff, 0x0000ffff, 0xffffffef, 0x0000ffff, 0xfffffc00,
     46904        0x0000ffff, 0x80000000, 0xffb7ea9d, 0x55555555, 0x55555555,
     46905        0x55555555, 0xfff7aff5, 0xffffdf40, 0x55555555, 0xffffd555,
     46906        0xf5555555, 0x55575557, 0x55555555, 0x6bff5555, 0x5575ef55,
     46907        0xff5ffd55, 0xfff7ffff, 0x0000ffff, 0xf8000001, 0x000000ff,
     46908        0xffff0000, 0x00ffffff, 0xf0000000, 0xfff80000, 0x00000003,
     46909        0xfffffff0};
     46910        }
     46911
     46912        const static UnicodeSet reflexive_set{const_cast<UnicodeSet::run_t *>(__reflexive_set_runs), 53, 0, const_cast<UnicodeSet::bitquad_t *>(__reflexive_set_quads), 81, 0};
     46913
     46914
    4683746915
    4683846916        const unsigned buffer_length = 4961;
    46839         const static char __attribute__ ((aligned (32))) string_buffer[5120] = u8R"__(A
     46917        const static char string_buffer[5120] LLVM_ALIGNAS(32) = u8R"__(A
    4684046918B
    4684146919C
     
    4819248270)__";
    4819348271
    48194         const static std::vector<codepoint_t> defined_cps = {
     48272        const static std::vector<codepoint_t> defined_cps{
    4819548273        0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068,
    4819648274        0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070,
     
    4836348441        0x1e940, 0x1e941, 0x1e942, 0x1e943};
    4836448442        static StringPropertyObject property_object(stc,
    48365                                                     null_codepoint_set,
    48366                                                     reflexive_set,
     48443                                                    std::move(null_codepoint_set),
     48444                                                    std::move(reflexive_set),
    4836748445                                                    static_cast<const char *>(string_buffer),
    4836848446                                                    buffer_length,
    48369                                                     defined_cps);
     48447                                                    std::move(defined_cps));
    4837048448    }
    4837148449    namespace NA1_ns {
     
    4841048488        [2f891, 10ffff]**/
    4841148489
    48412         const UnicodeSet NaN_set
    48413                     {{{Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 45},
    48414               {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
    48415               {Full, 12}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
    48416               {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
    48417               {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
    48418               {Mixed, 1}, {Full, 2}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
    48419               {Full, 2}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2},
    48420               {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1}, {Mixed, 1},
    48421               {Full, 22}, {Mixed, 1}, {Full, 27}, {Mixed, 1}, {Full, 7},
    48422               {Mixed, 2}, {Full, 9}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
    48423               {Full, 5}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 2},
    48424               {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 32}, {Mixed, 2},
    48425               {Full, 5}, {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 22},
    48426               {Empty, 1}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 19},
    48427               {Mixed, 2}, {Full, 42}, {Mixed, 1}, {Full, 24}, {Mixed, 2},
    48428               {Full, 10}, {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 1},
    48429               {Mixed, 2}, {Full, 923}, {Mixed, 1}, {Full, 5}, {Mixed, 1},
    48430               {Full, 9}, {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 1},
    48431               {Mixed, 1}, {Full, 5}, {Mixed, 2}, {Full, 2}, {Mixed, 1},
    48432               {Full, 12}, {Mixed, 1}, {Full, 619}, {Mixed, 1}, {Full, 1},
    48433               {Mixed, 3}, {Full, 40}, {Mixed, 1}, {Full, 15}, {Mixed, 2},
    48434               {Empty, 1}, {Mixed, 2}, {Full, 10}, {Mixed, 1}, {Full, 1},
    48435               {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
    48436               {Full, 28}, {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 1},
    48437               {Mixed, 2}, {Full, 4}, {Mixed, 2}, {Empty, 1}, {Full, 2},
    48438               {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Full, 2}, {Mixed, 2},
    48439               {Full, 1}, {Mixed, 1}, {Full, 9}, {Mixed, 1}, {Full, 11},
    48440               {Mixed, 1}, {Full, 14}, {Mixed, 2}, {Full, 3}, {Mixed, 1},
    48441               {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 7},
    48442               {Mixed, 1}, {Full, 10}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
    48443               {Full, 11}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2},
    48444               {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 26}, {Mixed, 2},
    48445               {Full, 6}, {Mixed, 1}, {Full, 53}, {Empty, 3}, {Mixed, 1},
    48446               {Full, 559}, {Mixed, 1}, {Full, 6}, {Mixed, 2}, {Full, 831},
    48447               {Mixed, 1}, {Full, 34}, {Mixed, 1}, {Empty, 1}, {Full, 134},
    48448               {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 61}, {Mixed, 1},
    48449               {Full, 2107}, {Mixed, 1}, {Full, 28731}},
    48450              {0xfc00ffff, 0x8df3ffff, 0xfffffc00, 0xfc00ffff, 0xfffffc00,
    48451               0xffff003f, 0xfc0f003f, 0xffff003f, 0xffff003f, 0xff03003f,
    48452               0xfff8003f, 0x80ff003f, 0xffff003f, 0x80ffffff, 0xfe00003f,
    48453               0xffff003f, 0xfc00ffff, 0xfc00ffff, 0xfff00000, 0xfffffc00,
    48454               0xfc00ffff, 0xe00001ff, 0xfffe3fff, 0xfc00fc00, 0xfc00ffff,
    48455               0xffff003f, 0xf800ffff, 0xfc00fc00, 0xfc00ffff, 0xfc00ffff,
    48456               0xfc00fc00, 0xfc0effff, 0xfffffc00, 0x0000ffff, 0xfffffc18,
    48457               0xf0000000, 0x000003ff, 0x003fffff, 0xfff00000, 0xdfffffff,
    48458               0xffffff7f, 0xf8fffc01, 0xffc3ffff, 0xfffffc00, 0x000100ff,
    48459               0xfffffc00, 0x0001ffff, 0xfffffc00, 0xffff003f, 0xffc0ffff,
    48460               0xfc00ffff, 0xfffffc00, 0xfc00ffff, 0xfc00ffff, 0xfc00ffff,
    48461               0xfc00ffff, 0xfef7f7ff, 0xfffbffff, 0xfff5ffff, 0xdfffffff,
    48462               0xfc00ffff, 0x0000007f, 0xfff00000, 0xfe000000, 0xfffff3ff,
    48463               0xf0000001, 0xfffffff0, 0xfffffbfd, 0xffc1ffff, 0xfffffc00,
    48464               0x00ffffff, 0x01ffffff, 0xffff007f, 0x07ffffff, 0xf03fffff,
    48465               0xcfffffff, 0x00030000, 0xffffff00, 0x9fffffff, 0x1fffffff,
    48466               0xffff07ff, 0x00ffffff, 0x00ffffff, 0xffff01ff, 0x03ffffff,
    48467               0x80000000, 0x0003ffff, 0xffff0000, 0xfc00ffff, 0x003fffff,
    48468               0xfc00ffff, 0xffe00001, 0xfc00ffff, 0xfc00ffff, 0xfc00ffff,
    48469               0xfc00ffff, 0xfffffc00, 0xf000ffff, 0xfff80000, 0x0000ffff,
    48470               0xffffe000, 0xfc00ffff, 0xffff8000, 0xfffffc00, 0x0400ffff,
    48471               0xfffffffc, 0xfffc0000, 0x00003fff, 0xffff007f, 0xfc00ffff,
    48472               0xffffe000, 0xfffeffff}};
     48490       
     48491        namespace {
     48492        const static UnicodeSet::run_t __NaN_set_runs[] = {
     48493        {Full, 1}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 45},
     48494        {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 6}, {Mixed, 1},
     48495        {Full, 12}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
     48496        {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3},
     48497        {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2},
     48498        {Mixed, 2}, {Full, 3}, {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 3},
     48499        {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 8}, {Mixed, 1}, {Full, 1},
     48500        {Mixed, 1}, {Full, 22}, {Mixed, 1}, {Full, 27}, {Mixed, 1},
     48501        {Full, 7}, {Mixed, 2}, {Full, 9}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     48502        {Full, 5}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 2}, {Mixed, 1},
     48503        {Full, 4}, {Mixed, 1}, {Full, 32}, {Mixed, 2}, {Full, 5},
     48504        {Mixed, 1}, {Empty, 1}, {Mixed, 1}, {Full, 22}, {Empty, 1},
     48505        {Mixed, 1}, {Full, 2}, {Mixed, 1}, {Full, 19}, {Mixed, 2},
     48506        {Full, 42}, {Mixed, 1}, {Full, 24}, {Mixed, 2}, {Full, 10},
     48507        {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 1}, {Mixed, 2},
     48508        {Full, 923}, {Mixed, 1}, {Full, 5}, {Mixed, 1}, {Full, 9},
     48509        {Mixed, 1}, {Full, 4}, {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 5},
     48510        {Mixed, 2}, {Full, 2}, {Mixed, 1}, {Full, 12}, {Mixed, 1},
     48511        {Full, 619}, {Mixed, 1}, {Full, 1}, {Mixed, 3}, {Full, 40},
     48512        {Mixed, 1}, {Full, 15}, {Mixed, 2}, {Empty, 1}, {Mixed, 2},
     48513        {Full, 10}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 3},
     48514        {Mixed, 1}, {Full, 6}, {Mixed, 1}, {Full, 28}, {Mixed, 2},
     48515        {Full, 1}, {Mixed, 1}, {Full, 1}, {Mixed, 2}, {Full, 4}, {Mixed, 2},
     48516        {Empty, 1}, {Full, 2}, {Mixed, 3}, {Full, 2}, {Mixed, 1}, {Full, 2},
     48517        {Mixed, 2}, {Full, 1}, {Mixed, 1}, {Full, 9}, {Mixed, 1},
     48518        {Full, 11}, {Mixed, 1}, {Full, 14}, {Mixed, 2}, {Full, 3},
     48519        {Mixed, 1}, {Full, 1}, {Mixed, 1}, {Full, 4}, {Mixed, 2}, {Full, 7},
     48520        {Mixed, 1}, {Full, 10}, {Mixed, 1}, {Full, 3}, {Mixed, 1},
     48521        {Full, 11}, {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 2},
     48522        {Mixed, 1}, {Full, 13}, {Mixed, 1}, {Full, 26}, {Mixed, 2},
     48523        {Full, 6}, {Mixed, 1}, {Full, 53}, {Empty, 3}, {Mixed, 1},
     48524        {Full, 559}, {Mixed, 1}, {Full, 6}, {Mixed, 2}, {Full, 831},
     48525        {Mixed, 1}, {Full, 34}, {Mixed, 1}, {Empty, 1}, {Full, 134},
     48526        {Mixed, 1}, {Full, 3}, {Mixed, 1}, {Full, 61}, {Mixed, 1},
     48527        {Full, 2107}, {Mixed, 1}, {Full, 28731}};
     48528        const static UnicodeSet::bitquad_t  __NaN_set_quads[] = {
     48529        0xfc00ffff, 0x8df3ffff, 0xfffffc00, 0xfc00ffff, 0xfffffc00,
     48530        0xffff003f, 0xfc0f003f, 0xffff003f, 0xffff003f, 0xff03003f,
     48531        0xfff8003f, 0x80ff003f, 0xffff003f, 0x80ffffff, 0xfe00003f,
     48532        0xffff003f, 0xfc00ffff, 0xfc00ffff, 0xfff00000, 0xfffffc00,
     48533        0xfc00ffff, 0xe00001ff, 0xfffe3fff, 0xfc00fc00, 0xfc00ffff,
     48534        0xffff003f, 0xf800ffff, 0xfc00fc00, 0xfc00ffff, 0xfc00ffff,
     48535        0xfc00fc00, 0xfc0effff, 0xfffffc00, 0x0000ffff, 0xfffffc18,
     48536        0xf0000000, 0x000003ff, 0x003fffff, 0xfff00000, 0xdfffffff,
     48537        0xffffff7f, 0xf8fffc01, 0xffc3ffff, 0xfffffc00, 0x000100ff,
     48538        0xfffffc00, 0x0001ffff, 0xfffffc00, 0xffff003f, 0xffc0ffff,
     48539        0xfc00ffff, 0xfffffc00, 0xfc00ffff, 0xfc00ffff, 0xfc00ffff,
     48540        0xfc00ffff, 0xfef7f7ff, 0xfffbffff, 0xfff5ffff, 0xdfffffff,
     48541        0xfc00ffff, 0x0000007f, 0xfff00000, 0xfe000000, 0xfffff3ff,
     48542        0xf0000001, 0xfffffff0, 0xfffffbfd, 0xffc1ffff, 0xfffffc00,
     48543        0x00ffffff, 0x01ffffff, 0xffff007f, 0x07ffffff, 0xf03fffff,
     48544        0xcfffffff, 0x00030000, 0xffffff00, 0x9fffffff, 0x1fffffff,
     48545        0xffff07ff, 0x00ffffff, 0x00ffffff, 0xffff01ff, 0x03ffffff,
     48546        0x80000000, 0x0003ffff, 0xffff0000, 0xfc00ffff, 0x003fffff,
     48547        0xfc00ffff, 0xffe00001, 0xfc00ffff, 0xfc00ffff, 0xfc00ffff,
     48548        0xfc00ffff, 0xfffffc00, 0xf000ffff, 0xfff80000, 0x0000ffff,
     48549        0xffffe000, 0xfc00ffff, 0xffff8000, 0xfffffc00, 0x0400ffff,
     48550        0xfffffffc, 0xfffc0000, 0x00003fff, 0xffff007f, 0xfc00ffff,
     48551        0xffffe000, 0xfffeffff};
     48552        }
    4847348553
    48474        const unsigned buffer_length = 3948;
    48475         const static char __attribute__ ((aligned (32))) string_buffer[4096] = u8R"__(0
     48554        const static UnicodeSet NaN_set{const_cast<UnicodeSet::run_t *>(__NaN_set_runs), 183, 0, const_cast<UnicodeSet::bitquad_t *>(__NaN_set_quads), 112, 0};
     48555
     48556
     48557
     48558        const unsigned buffer_length = 3948;
     48559        const static char string_buffer[4096] LLVM_ALIGNAS(32) = u8R"__(0
    48476485601
    48477485612
     
    5019150275        0x1f10b, 0x1f10c, 0x2f890};
    5019250276        static NumericPropertyObject property_object(nv,
    50193                                                     NaN_set,
     50277                                                    std::move(NaN_set),
    5019450278                                                    static_cast<const char *>(string_buffer),
    5019550279                                                    buffer_length,
    50196                                                     defined_cps);
     50280                                                    std::move(defined_cps));
    5019750281    }
    5019850282}
Note: See TracChangeset for help on using the changeset viewer.