@ 260915.5

240105.1 · 383f4f5327363d4c5e6a8ae53c57c4a9620aa5e9

released 4.5.0

- add 7zip archive search with option -z, fix #185
- apply Unicode normalization to combining characters in regex patterns, fix #298
- improved TUI TAB directory navigation when searching from the FS root
- updated ugrep.exe option -P to use PCRE2 10.42

reading declarations

Changes to lib/composer.cpp. All files

lib/composer.cpp

new file mode 100644@@ -0,0 +1,1844 @@+// Converted from http://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt by composer.l+// With Knuth-Bendix completion applied+#include <reflex/unicode.h>+void reflex::Unicode::Tables::composer()+{+  static const int _768[] = {+    65, 803,+    69, 807,+    73, 780,+    78, 504,+    79, 795,+    85, 795,+    87, 7808,+    89, 7922,+    97, 803,+    101, 807,+    105, 780,+    110, 505,+    111, 795,+    117, 795,+    119, 7809,+    121, 7923,+    194, 7846,+    196, 479,+    197, 507,+    202, 7872,+    207, 479,+    212, 7890,+    219, 7785,+    220, 475,+    226, 7847,+    228, 479,+    229, 507,+    234, 7873,+    239, 479,+    244, 7891,+    251, 7785,+    252, 476,+    258, 7856,+    259, 7857,+    274, 7700,+    275, 7701,+    278, 481,+    279, 481,+    280, 493,+    281, 493,+    332, 7760,+    333, 7761,+    416, 7900,+    417, 7901,+    431, 7914,+    432, 7915,+    550, 481,+    551, 481,+    768, 7781,+    769, 8167,+    770, 7921,+    771, 472,+    772, 7803,+    774, 507,+    775, 8167,+    776, 7783,+    777, 472,+    778, 7783,+    780, 7703,+    795, 7703,+    803, 472,+    807, 7803,+    808, 7785,+    834, 788,+    913, 788,+    917, 788,+    919, 788,+    921, 788,+    927, 788,+    933, 788,+    937, 788,+    938, 8167,+    939, 8167,+    945, 788,+    949, 788,+    951, 788,+    953, 788,+    959, 788,+    965, 788,+    969, 788,+    970, 8146,+    971, 8162,+    1045, 1024,+    1048, 1037,+    1077, 1104,+    1080, 1117,+    7936, 7938,+    7937, 7939,+    7944, 7946,+    7945, 7947,+    7952, 7954,+    7953, 7955,+    7960, 7962,+    7961, 7963,+    7968, 7970,+    7969, 7971,+    7976, 7978,+    7977, 7979,+    7984, 7986,+    7985, 7987,+    7992, 7994,+    7993, 7995,+    8000, 8002,+    8001, 8003,+    8008, 8010,+    8009, 8011,+    8016, 8018,+    8017, 8019,+    8025, 8027,+    8032, 8034,+    8033, 8035,+    8040, 8042,+    8041, 8043,+    8064, 8066,+    8065, 8067,+    8072, 8074,+    8073, 8075,+    8080, 8082,+    8081, 8083,+    8088, 8090,+    8089, 8091,+    8096, 8098,+    8097, 8099,+    8104, 8106,+    8105, 8107,+    8115, 788,+    8131, 788,+    8179, 788,+    0, 0+  };+  compose[768] = _768;+  static const int _769[] = {+    65, 776,+    67, 807,+    69, 807,+    71, 500,+    73, 776,+    75, 7728,+    76, 313,+    77, 7742,+    78, 323,+    79, 795,+    80, 7764,+    82, 340,+    83, 807,+    85, 795,+    87, 7810,+    89, 221,+    90, 377,+    97, 776,+    99, 807,+    101, 807,+    103, 501,+    105, 776,+    107, 7729,+    108, 314,+    109, 7743,+    110, 324,+    111, 795,+    112, 7765,+    114, 341,+    115, 807,+    117, 795,+    119, 7811,+    121, 253,+    122, 378,+    194, 7844,+    197, 506,+    198, 508,+    199, 7688,+    202, 7870,+    206, 7783,+    207, 7726,+    212, 7888,+    213, 7756,+    216, 510,+    219, 7785,+    220, 471,+    226, 7845,+    229, 507,+    230, 509,+    231, 7689,+    234, 7871,+    238, 7783,+    239, 7727,+    244, 7889,+    245, 7757,+    248, 511,+    251, 7785,+    252, 472,+    258, 7854,+    259, 7855,+    260, 493,+    261, 493,+    264, 7803,+    265, 7803,+    266, 7803,+    267, 7803,+    268, 7803,+    269, 7803,+    274, 7702,+    275, 7703,+    278, 481,+    279, 481,+    280, 493,+    281, 493,+    296, 7703,+    297, 7703,+    298, 7783,+    299, 7783,+    300, 7803,+    301, 7803,+    302, 493,+    303, 493,+    304, 481,+    332, 7762,+    333, 7763,+    360, 7800,+    361, 7801,+    416, 7898,+    417, 7899,+    431, 7912,+    432, 7913,+    463, 7803,+    464, 7803,+    768, 7781,+    769, 8167,+    770, 7921,+    771, 472,+    772, 7803,+    774, 7783,+    775, 8167,+    776, 7783,+    777, 472,+    778, 7781,+    780, 7703,+    795, 7703,+    803, 7781,+    807, 7803,+    808, 7785,+    834, 788,+    913, 788,+    917, 788,+    919, 788,+    921, 788,+    927, 788,+    933, 788,+    937, 788,+    938, 8167,+    939, 8167,+    945, 788,+    949, 788,+    951, 788,+    953, 788,+    959, 788,+    965, 788,+    969, 788,+    970, 912,+    971, 944,+    978, 979,+    1043, 1027,+    1050, 1036,+    1075, 1107,+    1082, 1116,+    7776, 7780,+    7777, 7781,+    7880, 7703,+    7881, 7703,+    7882, 7879,+    7883, 7879,+    7936, 7940,+    7937, 7941,+    7944, 7948,+    7945, 7949,+    7952, 7956,+    7953, 7957,+    7960, 7964,+    7961, 7965,+    7968, 7972,+    7969, 7973,+    7976, 7980,+    7977, 7981,+    7984, 7988,+    7985, 7989,+    7992, 7996,+    7993, 7997,+    8000, 8004,+    8001, 8005,+    8008, 8012,+    8009, 8013,+    8016, 8020,+    8017, 8021,+    8025, 8029,+    8032, 8036,+    8033, 8037,+    8040, 8044,+    8041, 8045,+    8064, 8068,+    8065, 8069,+    8072, 8076,+    8073, 8077,+    8080, 8084,+    8081, 8085,+    8088, 8092,+    8089, 8093,+    8096, 8100,+    8097, 8101,+    8104, 8108,+    8105, 8109,+    8115, 788,+    8131, 788,+    8179, 788,+    0, 0+  };+  compose[769] = _769;+  static const int _770[] = {+    65, 803,+    67, 807,+    69, 807,+    71, 284,+    72, 292,+    73, 803,+    74, 308,+    79, 795,+    83, 807,+    85, 803,+    87, 372,+    89, 374,+    90, 7824,+    97, 803,+    99, 807,+    101, 807,+    103, 285,+    104, 293,+    105, 803,+    106, 309,+    111, 795,+    115, 807,+    117, 803,+    119, 373,+    121, 375,+    122, 7825,+    192, 7846,+    193, 7844,+    195, 7850,+    200, 7872,+    201, 7870,+    210, 7890,+    211, 7888,+    213, 7894,+    224, 7847,+    225, 7845,+    227, 7851,+    232, 7873,+    233, 7871,+    236, 8167,+    242, 7891,+    243, 7889,+    245, 7895,+    268, 493,+    269, 493,+    278, 481,+    279, 481,+    280, 493,+    281, 493,+    282, 7783,+    283, 7783,+    346, 8167,+    347, 8167,+    352, 7783,+    353, 7783,+    362, 7803,+    363, 7803,+    364, 7785,+    365, 7785,+    370, 7803,+    371, 7803,+    461, 7783,+    462, 7783,+    465, 7783,+    466, 7783,+    768, 7803,+    770, 7785,+    772, 7781,+    774, 7783,+    775, 8167,+    776, 7783,+    777, 7803,+    778, 7781,+    780, 7803,+    795, 7785,+    803, 7921,+    807, 7803,+    808, 7803,+    7778, 7785,+    7779, 7785,+    7840, 7852,+    7841, 7853,+    7842, 7848,+    7843, 7849,+    7864, 7878,+    7865, 7879,+    7866, 7874,+    7867, 7875,+    7868, 7876,+    7869, 7877,+    7884, 7896,+    7885, 7897,+    7886, 7892,+    7887, 7893,+    0, 0+  };+  compose[770] = _770;+  static const int _771[] = {+    65, 803,+    69, 807,+    73, 776,+    78, 209,+    79, 795,+    85, 795,+    86, 7804,+    89, 7928,+    97, 803,+    101, 807,+    105, 776,+    110, 241,+    111, 795,+    117, 795,+    118, 7805,+    121, 7929,+    194, 7850,+    196, 479,+    197, 507,+    202, 7876,+    203, 7785,+    211, 7756,+    212, 7894,+    214, 7758,+    218, 7800,+    219, 7785,+    220, 472,+    226, 7851,+    228, 479,+    229, 507,+    234, 7877,+    235, 7785,+    243, 7757,+    244, 7895,+    246, 7759,+    250, 7801,+    251, 7785,+    252, 472,+    258, 7860,+    259, 7861,+    274, 7703,+    275, 7703,+    332, 556,+    333, 557,+    416, 7904,+    417, 7905,+    431, 7918,+    432, 7919,+    550, 481,+    551, 481,+    768, 7785,+    769, 493,+    770, 7703,+    771, 472,+    772, 7803,+    774, 507,+    775, 8167,+    776, 7703,+    777, 472,+    778, 7783,+    780, 7785,+    795, 7703,+    803, 472,+    807, 7803,+    808, 7785,+    0, 0+  };+  compose[771] = _771;+  static const int _772[] = {+    65, 776,+    69, 807,+    71, 7712,+    73, 803,+    79, 795,+    85, 803,+    89, 562,+    97, 776,+    101, 807,+    103, 7713,+    105, 803,+    111, 795,+    117, 803,+    121, 563,+    196, 478,+    198, 482,+    200, 7700,+    201, 7702,+    210, 7760,+    211, 7762,+    213, 556,+    214, 554,+    220, 469,+    228, 479,+    230, 483,+    232, 7701,+    233, 7703,+    242, 7761,+    243, 7763,+    245, 557,+    246, 555,+    252, 470,+    260, 493,+    261, 493,+    278, 481,+    279, 481,+    280, 493,+    281, 493,+    364, 7785,+    365, 7785,+    370, 7803,+    371, 7803,+    431, 7907,+    432, 7907,+    490, 492,+    491, 493,+    550, 480,+    551, 481,+    558, 560,+    559, 561,+    768, 7803,+    770, 7703,+    772, 7703,+    774, 7803,+    775, 7803,+    776, 7783,+    777, 7803,+    778, 7781,+    780, 561,+    795, 7785,+    803, 7803,+    807, 7803,+    808, 7785,+    913, 8121,+    921, 8153,+    933, 8169,+    945, 8113,+    953, 8145,+    965, 8161,+    1048, 1250,+    1059, 1262,+    1080, 1251,+    1091, 1263,+    7734, 7736,+    7735, 7737,+    7770, 7772,+    7771, 7773,+    0, 0+  };+  compose[772] = _772;+  static const int _774[] = {+    65, 803,+    69, 807,+    71, 286,+    73, 803,+    79, 795,+    85, 803,+    97, 803,+    101, 807,+    103, 287,+    105, 803,+    111, 795,+    117, 803,+    192, 7856,+    193, 7854,+    195, 7860,+    224, 7857,+    225, 7855,+    227, 7861,+    236, 8167,+    370, 7803,+    371, 7803,+    416, 561,+    417, 561,+    461, 7783,+    462, 7783,+    552, 7708,+    553, 7709,+    768, 7803,+    770, 7803,+    772, 7803,+    774, 7783,+    775, 8167,+    776, 7803,+    777, 7803,+    778, 7781,+    780, 7803,+    795, 7785,+    803, 7803,+    807, 7803,+    808, 561,+    913, 8120,+    921, 8152,+    933, 8168,+    945, 8112,+    953, 8144,+    965, 8160,+    1040, 1232,+    1045, 1238,+    1046, 1217,+    1048, 1049,+    1059, 1038,+    1072, 1233,+    1077, 1239,+    1078, 1218,+    1080, 1081,+    1091, 1118,+    7840, 7862,+    7841, 7863,+    7842, 7858,+    7843, 7859,+    0, 0+  };+  compose[774] = _774;+  static const int _775[] = {+    65, 803,+    66, 7682,+    67, 807,+    68, 7690,+    69, 807,+    70, 7710,+    71, 288,+    72, 7714,+    73, 803,+    77, 7744,+    78, 7748,+    79, 795,+    80, 7766,+    82, 7768,+    83, 803,+    84, 7786,+    87, 7814,+    88, 7818,+    89, 7822,+    90, 379,+    97, 803,+    98, 7683,+    99, 807,+    100, 7691,+    101, 807,+    102, 7711,+    103, 289,+    104, 7715,+    109, 7745,+    110, 7749,+    111, 795,+    112, 7767,+    114, 7769,+    115, 803,+    116, 7787,+    119, 7815,+    120, 7819,+    121, 7823,+    122, 380,+    204, 8167,+    256, 480,+    257, 481,+    332, 560,+    333, 561,+    346, 7780,+    347, 7781,+    348, 7921,+    349, 7921,+    350, 7785,+    351, 7785,+    352, 7782,+    353, 7783,+    383, 7835,+    416, 561,+    417, 561,+    768, 7803,+    770, 7783,+    772, 7803,+    774, 481,+    775, 8167,+    776, 481,+    777, 7803,+    778, 561,+    780, 7803,+    795, 7785,+    803, 7803,+    807, 7803,+    808, 561,+    7778, 7784,+    7779, 7785,+    7840, 7921,+    7841, 7921,+    0, 0+  };+  compose[775] = _775;+  static const int _776[] = {+    65, 778,+    69, 807,+    72, 7718,+    73, 808,+    79, 795,+    85, 803,+    87, 7812,+    88, 7820,+    89, 376,+    97, 778,+    101, 807,+    104, 7719,+    105, 808,+    111, 795,+    116, 7831,+    117, 803,+    119, 7813,+    120, 7821,+    121, 255,+    205, 7726,+    213, 7758,+    217, 475,+    218, 471,+    237, 7727,+    245, 7759,+    249, 476,+    250, 472,+    256, 478,+    257, 479,+    296, 7785,+    297, 7785,+    332, 554,+    333, 555,+    362, 7802,+    363, 7803,+    364, 7803,+    365, 7803,+    366, 7803,+    367, 7803,+    370, 7803,+    371, 7803,+    416, 7803,+    417, 7803,+    463, 7785,+    464, 7785,+    467, 473,+    468, 474,+    770, 7785,+    772, 7703,+    774, 479,+    775, 472,+    776, 474,+    777, 481,+    778, 561,+    780, 7803,+    788, 8167,+    795, 472,+    803, 7803,+    807, 561,+    808, 7803,+    921, 769,+    933, 769,+    943, 912,+    953, 970,+    965, 971,+    973, 944,+    978, 980,+    1030, 1031,+    1040, 1234,+    1045, 1025,+    1046, 1244,+    1047, 1246,+    1048, 1252,+    1054, 1254,+    1059, 1264,+    1063, 1268,+    1067, 1272,+    1069, 1260,+    1072, 1235,+    1077, 1105,+    1078, 1245,+    1079, 1247,+    1080, 1253,+    1086, 1255,+    1091, 1265,+    1095, 1269,+    1099, 1273,+    1101, 1261,+    1110, 1111,+    1240, 1242,+    1241, 1243,+    1256, 1258,+    1257, 1259,+    7840, 7921,+    7841, 7921,+    7864, 7921,+    7865, 7921,+    7880, 7785,+    7881, 7785,+    7882, 7879,+    7883, 7879,+    8054, 8146,+    8058, 8162,+    8150, 8151,+    8166, 8167,+    0, 0+  };+  compose[776] = _776;+  static const int _777[] = {+    65, 803,+    69, 807,+    73, 776,+    79, 795,+    85, 795,+    89, 7926,+    97, 803,+    101, 807,+    105, 776,+    111, 795,+    117, 795,+    121, 7927,+    194, 7848,+    196, 479,+    197, 507,+    202, 7874,+    203, 7785,+    212, 7892,+    219, 7785,+    220, 472,+    226, 7849,+    228, 479,+    229, 507,+    234, 7875,+    235, 7785,+    244, 7893,+    251, 7785,+    252, 472,+    258, 7858,+    259, 7859,+    274, 7703,+    275, 7703,+    416, 7902,+    417, 7903,+    431, 7916,+    432, 7917,+    550, 481,+    551, 481,+    768, 7785,+    769, 493,+    770, 7703,+    771, 472,+    772, 7803,+    774, 507,+    775, 8167,+    776, 7703,+    777, 472,+    778, 7783,+    780, 7785,+    795, 7703,+    803, 472,+    807, 7803,+    808, 7785,+    0, 0+  };+  compose[777] = _777;+  static const int _778[] = {+    65, 803,+    85, 795,+    97, 803,+    117, 795,+    119, 7832,+    121, 7833,+    193, 506,+    225, 507,+    370, 7921,+    371, 7921,+    770, 7921,+    772, 7803,+    774, 507,+    776, 561,+    778, 507,+    780, 7803,+    795, 7785,+    803, 7803,+    808, 7785,+    7840, 7921,+    7841, 7921,+    0, 0+  };+  compose[778] = _778;+  static const int _779[] = {+    79, 336,+    85, 368,+    111, 337,+    117, 369,+    1059, 1266,+    1091, 1267,+    0, 0+  };+  compose[779] = _779;+  static const int _780[] = {+    65, 803,+    67, 770,+    68, 270,+    69, 807,+    71, 486,+    72, 542,+    73, 776,+    75, 488,+    76, 317,+    78, 327,+    79, 795,+    82, 344,+    83, 807,+    84, 356,+    85, 803,+    90, 381,+    97, 803,+    99, 770,+    100, 271,+    101, 807,+    103, 487,+    104, 543,+    105, 776,+    106, 496,+    107, 489,+    108, 318,+    110, 328,+    111, 795,+    114, 345,+    115, 807,+    116, 357,+    117, 803,+    122, 382,+    196, 479,+    197, 507,+    199, 7785,+    203, 7785,+    220, 473,+    228, 479,+    229, 507,+    231, 7785,+    235, 7785,+    252, 474,+    274, 7703,+    275, 7703,+    334, 7803,+    335, 7803,+    370, 7803,+    371, 7803,+    431, 7907,+    432, 7907,+    439, 494,+    490, 493,+    491, 493,+    550, 481,+    551, 481,+    558, 481,+    559, 481,+    658, 495,+    768, 7785,+    769, 493,+    770, 7703,+    772, 7703,+    774, 507,+    775, 7783,+    776, 7803,+    777, 474,+    778, 7783,+    780, 481,+    795, 7703,+    803, 7783,+    807, 7803,+    808, 7785,+    7776, 7782,+    7777, 7783,+    7864, 472,+    7865, 472,+    0, 0+  };+  compose[780] = _780;+  static const int _783[] = {+    65, 512,+    69, 516,+    73, 520,+    79, 524,+    82, 528,+    85, 532,+    97, 513,+    101, 517,+    105, 521,+    111, 525,+    114, 529,+    117, 533,+    1140, 1142,+    1141, 1143,+    0, 0+  };+  compose[783] = _783;+  static const int _785[] = {+    65, 514,+    69, 518,+    73, 522,+    79, 526,+    82, 530,+    85, 534,+    97, 515,+    101, 519,+    105, 523,+    111, 527,+    114, 531,+    117, 535,+    0, 0+  };+  compose[785] = _785;+  static const int _787[] = {+    788, 8038,+    834, 834,+    902, 7948,+    904, 7964,+    905, 7980,+    906, 7996,+    908, 8012,+    911, 8044,+    913, 7944,+    917, 7960,+    919, 7976,+    921, 7992,+    927, 8008,+    937, 8040,+    940, 7940,+    941, 7956,+    942, 7972,+    943, 7988,+    945, 7936,+    949, 7952,+    951, 7968,+    953, 7984,+    959, 8000,+    961, 8164,+    965, 8016,+    969, 8032,+    972, 8004,+    973, 8020,+    974, 8036,+    8048, 7938,+    8050, 7954,+    8052, 7970,+    8054, 7986,+    8056, 8002,+    8058, 8018,+    8060, 8034,+    8107, 8107,+    8109, 8109,+    8111, 8111,+    8114, 8066,+    8115, 8064,+    8116, 8068,+    8118, 7942,+    8119, 8070,+    8122, 7946,+    8124, 8072,+    8130, 8082,+    8131, 8080,+    8132, 8084,+    8134, 7974,+    8135, 8086,+    8136, 7962,+    8138, 7978,+    8140, 8088,+    8150, 7990,+    8154, 7994,+    8166, 8022,+    8178, 8098,+    8179, 8096,+    8180, 8100,+    8182, 8038,+    8183, 8102,+    8184, 8010,+    8186, 8042,+    8188, 8104,+    0, 0+  };+  compose[787] = _787;+  static const int _788[] = {+    788, 8039,+    834, 834,+    902, 7949,+    904, 7965,+    905, 7981,+    906, 7997,+    908, 8013,+    910, 8029,+    911, 8045,+    913, 7945,+    917, 7961,+    919, 7977,+    921, 7993,+    927, 8009,+    929, 8172,+    933, 8025,+    937, 8041,+    940, 7941,+    941, 7957,+    942, 7973,+    943, 7989,+    945, 7937,+    949, 7953,+    951, 7969,+    953, 7985,+    959, 8001,+    961, 8165,+    965, 8017,+    969, 8033,+    972, 8005,+    973, 8021,+    974, 8037,+    8048, 7939,+    8050, 7955,+    8052, 7971,+    8054, 7987,+    8056, 8003,+    8058, 8019,+    8060, 8035,+    8107, 8107,+    8109, 8109,+    8111, 8111,+    8114, 8067,+    8115, 8065,+    8116, 8069,+    8118, 7943,+    8119, 8071,+    8122, 7947,+    8124, 8073,+    8130, 8083,+    8131, 8081,+    8132, 8085,+    8134, 7975,+    8135, 8087,+    8136, 7963,+    8138, 7979,+    8140, 8089,+    8150, 7991,+    8154, 7995,+    8166, 8023,+    8170, 8027,+    8178, 8099,+    8179, 8097,+    8180, 8101,+    8182, 8039,+    8183, 8103,+    8184, 8011,+    8186, 8043,+    8188, 8105,+    0, 0+  };+  compose[788] = _788;+  static const int _795[] = {+    79, 776,+    85, 803,+    111, 776,+    117, 803,+    210, 7900,+    211, 7898,+    213, 7904,+    217, 7914,+    218, 7912,+    242, 7901,+    243, 7899,+    245, 7905,+    249, 7915,+    250, 7913,+    360, 7918,+    361, 7919,+    364, 7803,+    365, 7803,+    366, 7803,+    367, 7803,+    370, 7803,+    371, 7803,+    770, 7907,+    772, 472,+    775, 7903,+    776, 7803,+    778, 7785,+    780, 561,+    795, 7921,+    803, 7803,+    808, 7879,+    7884, 7906,+    7885, 7907,+    7886, 7902,+    7887, 7903,+    7908, 7920,+    7909, 7921,+    7910, 7916,+    7911, 7917,+    0, 0+  };+  compose[795] = _795;+  static const int _803[] = {+    65, 778,+    66, 7684,+    68, 7692,+    69, 807,+    72, 7716,+    73, 776,+    75, 7730,+    76, 7734,+    77, 7746,+    78, 7750,+    79, 795,+    82, 7770,+    83, 807,+    84, 7788,+    85, 795,+    86, 7806,+    87, 7816,+    89, 7924,+    90, 7826,+    97, 778,+    98, 7685,+    100, 7693,+    101, 807,+    104, 7717,+    105, 776,+    107, 7731,+    108, 7735,+    109, 7747,+    110, 7751,+    111, 795,+    114, 7771,+    115, 807,+    116, 7789,+    117, 795,+    118, 7807,+    119, 7817,+    121, 7925,+    122, 7827,+    194, 7852,+    202, 7878,+    212, 7896,+    219, 7785,+    220, 472,+    226, 7853,+    234, 7879,+    244, 7897,+    251, 7785,+    252, 472,+    258, 7862,+    259, 7863,+    364, 7785,+    365, 7785,+    416, 7906,+    417, 7907,+    431, 7920,+    432, 7921,+    768, 7879,+    769, 493,+    770, 7921,+    771, 472,+    772, 7803,+    774, 7783,+    775, 7785,+    776, 7879,+    777, 472,+    778, 7853,+    780, 7921,+    795, 7785,+    803, 7785,+    807, 7803,+    808, 7785,+    7776, 7784,+    7777, 7785,+    0, 0+  };+  compose[803] = _803;+  static const int _804[] = {+    85, 7794,+    117, 7795,+    0, 0+  };+  compose[804] = _804;+  static const int _805[] = {+    65, 7680,+    97, 7681,+    0, 0+  };+  compose[805] = _805;+  static const int _806[] = {+    83, 536,+    84, 538,+    115, 537,+    116, 539,+    0, 0+  };+  compose[806] = _806;+  static const int _807[] = {+    67, 780,+    68, 7696,+    69, 808,+    71, 290,+    72, 7720,+    75, 310,+    76, 315,+    78, 325,+    82, 342,+    83, 775,+    84, 354,+    99, 780,+    100, 7697,+    101, 808,+    103, 291,+    104, 7721,+    107, 311,+    108, 316,+    110, 326,+    114, 343,+    115, 775,+    116, 355,+    262, 7688,+    263, 7689,+    276, 7708,+    277, 7709,+    769, 7803,+    770, 7785,+    772, 7709,+    775, 8167,+    776, 7785,+    777, 493,+    780, 7785,+    803, 7785,+    807, 7709,+    808, 7785,+    0, 0+  };+  compose[807] = _807;+  static const int _808[] = {+    65, 778,+    69, 807,+    73, 803,+    79, 780,+    85, 795,+    97, 778,+    101, 807,+    105, 803,+    111, 780,+    117, 795,+    332, 492,+    333, 493,+    552, 7709,+    553, 7709,+    768, 7803,+    774, 8167,+    776, 493,+    778, 7803,+    780, 7803,+    795, 7921,+    803, 7803,+    807, 7803,+    808, 493,+    0, 0+  };+  compose[808] = _808;+  static const int _813[] = {+    68, 7698,+    69, 7704,+    76, 7740,+    78, 7754,+    84, 7792,+    85, 7798,+    100, 7699,+    101, 7705,+    108, 7741,+    110, 7755,+    116, 7793,+    117, 7799,+    0, 0+  };+  compose[813] = _813;+  static const int _814[] = {+    72, 7722,+    104, 7723,+    0, 0+  };+  compose[814] = _814;+  static const int _816[] = {+    69, 7706,+    73, 7724,+    85, 7796,+    101, 7707,+    105, 7725,+    117, 7797,+    0, 0+  };+  compose[816] = _816;+  static const int _817[] = {+    66, 7686,+    68, 7694,+    75, 7732,+    76, 7738,+    78, 7752,+    82, 7774,+    84, 7790,+    90, 7828,+    98, 7687,+    100, 7695,+    104, 7830,+    107, 7733,+    108, 7739,+    110, 7753,+    114, 7775,+    116, 7791,+    122, 7829,+    0, 0+  };+  compose[817] = _817;+  static const int _834[] = {+    834, 788,+    945, 788,+    951, 788,+    953, 788,+    965, 788,+    969, 788,+    970, 8151,+    971, 8167,+    7936, 7942,+    7937, 7943,+    7944, 7950,+    7945, 7951,+    7968, 7974,+    7969, 7975,+    7976, 7982,+    7977, 7983,+    7984, 7990,+    7985, 7991,+    7992, 7998,+    7993, 7999,+    8016, 8022,+    8017, 8023,+    8025, 8031,+    8032, 8038,+    8033, 8039,+    8040, 8046,+    8041, 8047,+    8064, 8070,+    8065, 8071,+    8072, 8078,+    8073, 8079,+    8080, 8086,+    8081, 8087,+    8088, 8094,+    8089, 8095,+    8096, 8102,+    8097, 8103,+    8104, 8110,+    8105, 8111,+    8115, 788,+    8131, 788,+    8179, 788,+    0, 0+  };+  compose[834] = _834;+  static const int _837[] = {+    913, 788,+    919, 788,+    937, 788,+    940, 788,+    942, 788,+    945, 788,+    951, 788,+    969, 788,+    974, 788,+    7936, 834,+    7937, 834,+    7938, 8066,+    7939, 8067,+    7940, 8068,+    7941, 8069,+    7942, 8070,+    7943, 8071,+    7944, 834,+    7945, 834,+    7946, 8074,+    7947, 8075,+    7948, 8076,+    7949, 8077,+    7950, 8078,+    7951, 8079,+    7968, 834,+    7969, 834,+    7970, 8082,+    7971, 8083,+    7972, 8084,+    7973, 8085,+    7974, 8086,+    7975, 8087,+    7976, 834,+    7977, 834,+    7978, 8090,+    7979, 8091,+    7980, 8092,+    7981, 8093,+    7982, 8094,+    7983, 8095,+    8032, 834,+    8033, 834,+    8034, 8098,+    8035, 8099,+    8036, 8100,+    8037, 8101,+    8038, 8102,+    8039, 8103,+    8040, 834,+    8041, 834,+    8042, 8106,+    8043, 8107,+    8044, 8108,+    8045, 8109,+    8046, 8110,+    8047, 8111,+    8048, 788,+    8052, 788,+    8060, 788,+    8118, 788,+    8134, 788,+    8182, 788,+    0, 0+  };+  compose[837] = _837;+  static const int _2364[] = {+    2325, 2392,+    2326, 2393,+    2327, 2394,+    2332, 2395,+    2337, 2396,+    2338, 2397,+    2344, 2345,+    2347, 2398,+    2351, 2399,+    2352, 2353,+    2355, 2356,+    0, 0+  };+  compose[2364] = _2364;+  static const int _2492[] = {+    2465, 2524,+    2466, 2525,+    2479, 2527,+    0, 0+  };+  compose[2492] = _2492;+  static const int _2494[] = {+    2503, 2507,+    0, 0+  };+  compose[2494] = _2494;+  static const int _2519[] = {+    2503, 2508,+    0, 0+  };+  compose[2519] = _2519;+  static const int _2620[] = {+    2582, 2649,+    2583, 2650,+    2588, 2651,+    2603, 2654,+    2610, 2611,+    2616, 2614,+    0, 0+  };+  compose[2620] = _2620;+  static const int _2876[] = {+    2849, 2908,+    2850, 2909,+    0, 0+  };+  compose[2876] = _2876;+  static const int _2878[] = {+    2887, 2891,+    0, 0+  };+  compose[2878] = _2878;+  static const int _2902[] = {+    2887, 2888,+    0, 0+  };+  compose[2902] = _2902;+  static const int _2903[] = {+    2887, 2892,+    0, 0+  };+  compose[2903] = _2903;+  static const int _3006[] = {+    3014, 3018,+    3015, 3019,+    0, 0+  };+  compose[3006] = _3006;+  static const int _3031[] = {+    2962, 2964,+    3014, 3020,+    0, 0+  };+  compose[3031] = _3031;+  static const int _3266[] = {+    3266, 3275,+    3270, 3274,+    3271, 3275,+    0, 0+  };+  compose[3266] = _3266;+  static const int _3285[] = {+    3263, 3264,+    3270, 3266,+    3274, 3275,+    0, 0+  };+  compose[3285] = _3285;+  static const int _3286[] = {+    3270, 3272,+    0, 0+  };+  compose[3286] = _3286;+  static const int _3390[] = {+    3398, 3402,+    3399, 3403,+    0, 0+  };+  compose[3390] = _3390;+  static const int _3415[] = {+    3398, 3404,+    0, 0+  };+  compose[3415] = _3415;+  static const int _3530[] = {+    3545, 3535,+    3548, 3549,+    0, 0+  };+  compose[3530] = _3530;+  static const int _3535[] = {+    3535, 3549,+    3545, 3548,+    3546, 3549,+    0, 0+  };+  compose[3535] = _3535;+  static const int _3551[] = {+    3545, 3550,+    0, 0+  };+  compose[3551] = _3551;+  static const int _4021[] = {+    3904, 3945,+    0, 0+  };+  compose[4021] = _4021;+  static const int _4023[] = {+    3906, 3907,+    3916, 3917,+    3921, 3922,+    3926, 3927,+    3931, 3932,+    0, 0+  };+  compose[4023] = _4023;+  static const int _4142[] = {+    4133, 4134,+    0, 0+  };+  compose[4142] = _4142;+  static const int _6965[] = {+    6917, 6918,+    6919, 6920,+    6921, 6922,+    6923, 6924,+    6925, 6926,+    6929, 6930,+    6970, 6971,+    6972, 6973,+    6974, 6976,+    6975, 6977,+    6978, 6979,+    0, 0+  };+  compose[6965] = _6965;+  static const int _12441[] = {+    12358, 12436,+    12363, 12364,+    12365, 12366,+    12367, 12368,+    12369, 12370,+    12371, 12372,+    12373, 12374,+    12375, 12376,+    12377, 12378,+    12379, 12380,+    12381, 12382,+    12383, 12384,+    12385, 12386,+    12388, 12389,+    12390, 12391,+    12392, 12393,+    12399, 12400,+    12402, 12403,+    12405, 12406,+    12408, 12409,+    12411, 12412,+    12445, 12446,+    12454, 12532,+    12459, 12460,+    12461, 12462,+    12463, 12464,+    12465, 12466,+    12467, 12468,+    12469, 12470,+    12471, 12472,+    12473, 12474,+    12475, 12476,+    12477, 12478,+    12479, 12480,+    12481, 12482,+    12484, 12485,+    12486, 12487,+    12488, 12489,+    12495, 12496,+    12498, 12499,+    12501, 12502,+    12504, 12505,+    12507, 12508,+    12527, 12535,+    12528, 12536,+    12529, 12537,+    12530, 12538,+    12541, 12542,+    0, 0+  };+  compose[12441] = _12441;+  static const int _12442[] = {+    12399, 12401,+    12402, 12404,+    12405, 12407,+    12408, 12410,+    12411, 12413,+    12495, 12497,+    12498, 12500,+    12501, 12503,+    12504, 12506,+    12507, 12509,+    0, 0+  };+  compose[12442] = _12442;+  static const int _69818[] = {+    69785, 69786,+    69787, 69788,+    69797, 69803,+    0, 0+  };+  compose[69818] = _69818;+  static const int _70462[] = {+    70471, 70475,+    0, 0+  };+  compose[70462] = _70462;+  static const int _70487[] = {+    70471, 70476,+    0, 0+  };+  compose[70487] = _70487;+  static const int _70832[] = {+    70841, 70844,+    0, 0+  };+  compose[70832] = _70832;+  static const int _70842[] = {+    70841, 70843,+    0, 0+  };+  compose[70842] = _70842;+  static const int _70845[] = {+    70841, 70846,+    0, 0+  };+  compose[70845] = _70845;+  static const int _71087[] = {+    71096, 71098,+    71097, 71099,+    0, 0+  };+  compose[71087] = _71087;+  static const int _71984[] = {+    71989, 71992,+    0, 0+  };+  compose[71984] = _71984;+  static const int _119141[] = {+    119127, 119134,+    119128, 119135,+    119225, 119227,+    119226, 119228,+    0, 0+  };+  compose[119141] = _119141;+  static const int _119150[] = {+    119135, 119136,+    119227, 119229,+    119228, 119230,+    0, 0+  };+  compose[119150] = _119150;+  static const int _119151[] = {+    119135, 119137,+    119227, 119231,+    119228, 119232,+    0, 0+  };+  compose[119151] = _119151;+  static const int _119152[] = {+    119135, 119138,+    0, 0+  };+  compose[119152] = _119152;+  static const int _119153[] = {+    119135, 119139,+    0, 0+  };+  compose[119153] = _119153;+  static const int _119154[] = {+    119135, 119140,+    0, 0+  };+  compose[119154] = _119154;+}