]> git.kaiwu.me - quickjs.git/commitdiff
updated to unicode 16.0.0 (bnoordhuis) - updated test262
authorFabrice Bellard <fabrice@bellard.org>
Tue, 25 Mar 2025 18:08:19 +0000 (19:08 +0100)
committerFabrice Bellard <fabrice@bellard.org>
Tue, 25 Mar 2025 18:08:19 +0000 (19:08 +0100)
TODO
libunicode-table.h
test262.conf
tests/test262.patch
unicode_download.sh
unicode_gen.c
unicode_gen_def.h

diff --git a/TODO b/TODO
index dcf0bcffdadf96055c9682aed340f613c30eda86..cc68df3ddd2d255646be04953426733ca4ba3fcd 100644 (file)
--- a/TODO
+++ b/TODO
@@ -62,5 +62,6 @@ Optimization ideas:
 Test262o:   0/11262 errors, 463 excluded
 Test262o commit: 7da91bceb9ce7613f87db47ddd1292a2dda58b42 (es5-tests branch)
 
-Result: 8/76947 errors, 1497 excluded, 8117 skipped
-Test262 commit: 6cbb6da9473c56d95358d8e679c5a6d2b4574efb
+Result: 169/76838 errors, 3112 excluded, 7010 skipped
+Test262 commit: 56e77d6325067a545ea7e8ff5be5d9284334e33c
+
index 72d495e78b0130e28a532bb4820abf9b44b24eb6..dc46f16df6b44e74519811b4746d95e65b9639c6 100644 (file)
@@ -3,7 +3,7 @@
 
 #include <stdint.h>
 
-static const uint32_t case_conv_table1[370] = {
+static const uint32_t case_conv_table1[378] = {
     0x00209a30, 0x00309a00, 0x005a8173, 0x00601730,
     0x006c0730, 0x006f81b3, 0x00701700, 0x007c0700,
     0x007f8100, 0x00803040, 0x009801c3, 0x00988190,
@@ -13,140 +13,143 @@ static const uint32_t case_conv_table1[370] = {
     0x00c48230, 0x00c58240, 0x00c70130, 0x00c78130,
     0x00c80130, 0x00c88240, 0x00c98130, 0x00ca0130,
     0x00ca8100, 0x00cb0130, 0x00cb8130, 0x00cc0240,
-    0x00cd0100, 0x00ce0130, 0x00ce8130, 0x00cf0100,
-    0x00cf8130, 0x00d00640, 0x00d30130, 0x00d38240,
-    0x00d48130, 0x00d60240, 0x00d70130, 0x00d78240,
-    0x00d88230, 0x00d98440, 0x00db8130, 0x00dc0240,
-    0x00de0240, 0x00df8100, 0x00e20350, 0x00e38350,
-    0x00e50350, 0x00e69040, 0x00ee8100, 0x00ef1240,
-    0x00f801b4, 0x00f88350, 0x00fa0240, 0x00fb0130,
-    0x00fb8130, 0x00fc2840, 0x01100130, 0x01111240,
-    0x011d0131, 0x011d8240, 0x011e8130, 0x011f0131,
-    0x011f8201, 0x01208240, 0x01218130, 0x01220130,
-    0x01228130, 0x01230a40, 0x01280101, 0x01288101,
-    0x01290101, 0x01298100, 0x012a0100, 0x012b0200,
-    0x012c8100, 0x012d8100, 0x012e0101, 0x01300100,
-    0x01308101, 0x01318100, 0x01328101, 0x01330101,
-    0x01340100, 0x01348100, 0x01350101, 0x01358101,
-    0x01360101, 0x01378100, 0x01388101, 0x01390100,
-    0x013a8100, 0x013e8101, 0x01400100, 0x01410101,
-    0x01418100, 0x01438101, 0x01440100, 0x01448100,
-    0x01450200, 0x01460100, 0x01490100, 0x014e8101,
-    0x014f0101, 0x01a28173, 0x01b80440, 0x01bb0240,
-    0x01bd8300, 0x01bf8130, 0x01c30130, 0x01c40330,
-    0x01c60130, 0x01c70230, 0x01c801d0, 0x01c89130,
-    0x01d18930, 0x01d60100, 0x01d68300, 0x01d801d3,
-    0x01d89100, 0x01e10173, 0x01e18900, 0x01e60100,
-    0x01e68200, 0x01e78130, 0x01e80173, 0x01e88173,
-    0x01ea8173, 0x01eb0173, 0x01eb8100, 0x01ec1840,
-    0x01f80173, 0x01f88173, 0x01f90100, 0x01f98100,
-    0x01fa01a0, 0x01fa8173, 0x01fb8240, 0x01fc8130,
-    0x01fd0240, 0x01fe8330, 0x02001030, 0x02082030,
-    0x02182000, 0x02281000, 0x02302240, 0x02453640,
-    0x02600130, 0x02608e40, 0x02678100, 0x02686040,
-    0x0298a630, 0x02b0a600, 0x02c381b5, 0x08502631,
-    0x08638131, 0x08668131, 0x08682b00, 0x087e8300,
-    0x09d05011, 0x09f80610, 0x09fc0620, 0x0e400174,
-    0x0e408174, 0x0e410174, 0x0e418174, 0x0e420174,
-    0x0e428174, 0x0e430174, 0x0e438180, 0x0e440180,
-    0x0e482b30, 0x0e5e8330, 0x0ebc8101, 0x0ebe8101,
-    0x0ec70101, 0x0f007e40, 0x0f3f1840, 0x0f4b01b5,
-    0x0f4b81b6, 0x0f4c01b6, 0x0f4c81b6, 0x0f4d01b7,
-    0x0f4d8180, 0x0f4f0130, 0x0f506040, 0x0f800800,
-    0x0f840830, 0x0f880600, 0x0f8c0630, 0x0f900800,
-    0x0f940830, 0x0f980800, 0x0f9c0830, 0x0fa00600,
-    0x0fa40630, 0x0fa801b0, 0x0fa88100, 0x0fa901d3,
-    0x0fa98100, 0x0faa01d3, 0x0faa8100, 0x0fab01d3,
-    0x0fab8100, 0x0fac8130, 0x0fad8130, 0x0fae8130,
-    0x0faf8130, 0x0fb00800, 0x0fb40830, 0x0fb80200,
-    0x0fb90400, 0x0fbb0200, 0x0fbc0201, 0x0fbd0201,
-    0x0fbe0201, 0x0fc008b7, 0x0fc40867, 0x0fc808b8,
-    0x0fcc0868, 0x0fd008b8, 0x0fd40868, 0x0fd80200,
-    0x0fd901b9, 0x0fd981b1, 0x0fda01b9, 0x0fdb01b1,
-    0x0fdb81d7, 0x0fdc0230, 0x0fdd0230, 0x0fde0161,
-    0x0fdf0173, 0x0fe101b9, 0x0fe181b2, 0x0fe201ba,
-    0x0fe301b2, 0x0fe381d8, 0x0fe40430, 0x0fe60162,
-    0x0fe80200, 0x0fe901d0, 0x0fe981d0, 0x0feb01b0,
-    0x0feb81d0, 0x0fec0230, 0x0fed0230, 0x0ff00201,
-    0x0ff101d3, 0x0ff181d3, 0x0ff201ba, 0x0ff28101,
-    0x0ff301b0, 0x0ff381d3, 0x0ff40230, 0x0ff50230,
-    0x0ff60131, 0x0ff901ba, 0x0ff981b2, 0x0ffa01bb,
-    0x0ffb01b2, 0x0ffb81d9, 0x0ffc0230, 0x0ffd0230,
-    0x0ffe0162, 0x109301a0, 0x109501a0, 0x109581a0,
-    0x10990131, 0x10a70101, 0x10b01031, 0x10b81001,
-    0x10c18240, 0x125b1a31, 0x12681a01, 0x16003031,
-    0x16183001, 0x16300240, 0x16310130, 0x16318130,
-    0x16320130, 0x16328100, 0x16330100, 0x16338640,
-    0x16368130, 0x16370130, 0x16378130, 0x16380130,
-    0x16390240, 0x163a8240, 0x163f0230, 0x16406440,
-    0x16758440, 0x16790240, 0x16802600, 0x16938100,
-    0x16968100, 0x53202e40, 0x53401c40, 0x53910e40,
-    0x53993e40, 0x53bc8440, 0x53be8130, 0x53bf0a40,
-    0x53c58240, 0x53c68130, 0x53c80440, 0x53ca0101,
-    0x53cb1440, 0x53d50130, 0x53d58130, 0x53d60130,
-    0x53d68130, 0x53d70130, 0x53d80130, 0x53d88130,
-    0x53d90130, 0x53d98131, 0x53da1040, 0x53e20131,
-    0x53e28130, 0x53e30130, 0x53e38440, 0x53e80240,
-    0x53eb0440, 0x53fa8240, 0x55a98101, 0x55b85020,
-    0x7d8001b2, 0x7d8081b2, 0x7d8101b2, 0x7d8181da,
-    0x7d8201da, 0x7d8281b3, 0x7d8301b3, 0x7d8981bb,
-    0x7d8a01bb, 0x7d8a81bb, 0x7d8b01bc, 0x7d8b81bb,
-    0x7f909a31, 0x7fa09a01, 0x82002831, 0x82142801,
-    0x82582431, 0x826c2401, 0x82b80b31, 0x82be0f31,
-    0x82c60731, 0x82ca0231, 0x82cb8b01, 0x82d18f01,
-    0x82d98701, 0x82dd8201, 0x86403331, 0x86603301,
+    0x00cd0100, 0x00cd8101, 0x00ce0130, 0x00ce8130,
+    0x00cf0100, 0x00cf8130, 0x00d00640, 0x00d30130,
+    0x00d38240, 0x00d48130, 0x00d60240, 0x00d70130,
+    0x00d78240, 0x00d88230, 0x00d98440, 0x00db8130,
+    0x00dc0240, 0x00de0240, 0x00df8100, 0x00e20350,
+    0x00e38350, 0x00e50350, 0x00e69040, 0x00ee8100,
+    0x00ef1240, 0x00f801b4, 0x00f88350, 0x00fa0240,
+    0x00fb0130, 0x00fb8130, 0x00fc2840, 0x01100130,
+    0x01111240, 0x011d0131, 0x011d8240, 0x011e8130,
+    0x011f0131, 0x011f8201, 0x01208240, 0x01218130,
+    0x01220130, 0x01228130, 0x01230a40, 0x01280101,
+    0x01288101, 0x01290101, 0x01298100, 0x012a0100,
+    0x012b0200, 0x012c8100, 0x012d8100, 0x012e0101,
+    0x01300100, 0x01308101, 0x01318100, 0x01320101,
+    0x01328101, 0x01330101, 0x01340100, 0x01348100,
+    0x01350101, 0x01358101, 0x01360101, 0x01378100,
+    0x01388101, 0x01390100, 0x013a8100, 0x013e8101,
+    0x01400100, 0x01410101, 0x01418100, 0x01438101,
+    0x01440100, 0x01448100, 0x01450200, 0x01460100,
+    0x01490100, 0x014e8101, 0x014f0101, 0x01a28173,
+    0x01b80440, 0x01bb0240, 0x01bd8300, 0x01bf8130,
+    0x01c30130, 0x01c40330, 0x01c60130, 0x01c70230,
+    0x01c801d0, 0x01c89130, 0x01d18930, 0x01d60100,
+    0x01d68300, 0x01d801d3, 0x01d89100, 0x01e10173,
+    0x01e18900, 0x01e60100, 0x01e68200, 0x01e78130,
+    0x01e80173, 0x01e88173, 0x01ea8173, 0x01eb0173,
+    0x01eb8100, 0x01ec1840, 0x01f80173, 0x01f88173,
+    0x01f90100, 0x01f98100, 0x01fa01a0, 0x01fa8173,
+    0x01fb8240, 0x01fc8130, 0x01fd0240, 0x01fe8330,
+    0x02001030, 0x02082030, 0x02182000, 0x02281000,
+    0x02302240, 0x02453640, 0x02600130, 0x02608e40,
+    0x02678100, 0x02686040, 0x0298a630, 0x02b0a600,
+    0x02c381b5, 0x08502631, 0x08638131, 0x08668131,
+    0x08682b00, 0x087e8300, 0x09d05011, 0x09f80610,
+    0x09fc0620, 0x0e400174, 0x0e408174, 0x0e410174,
+    0x0e418174, 0x0e420174, 0x0e428174, 0x0e430174,
+    0x0e438180, 0x0e440180, 0x0e448240, 0x0e482b30,
+    0x0e5e8330, 0x0ebc8101, 0x0ebe8101, 0x0ec70101,
+    0x0f007e40, 0x0f3f1840, 0x0f4b01b5, 0x0f4b81b6,
+    0x0f4c01b6, 0x0f4c81b6, 0x0f4d01b7, 0x0f4d8180,
+    0x0f4f0130, 0x0f506040, 0x0f800800, 0x0f840830,
+    0x0f880600, 0x0f8c0630, 0x0f900800, 0x0f940830,
+    0x0f980800, 0x0f9c0830, 0x0fa00600, 0x0fa40630,
+    0x0fa801b0, 0x0fa88100, 0x0fa901d3, 0x0fa98100,
+    0x0faa01d3, 0x0faa8100, 0x0fab01d3, 0x0fab8100,
+    0x0fac8130, 0x0fad8130, 0x0fae8130, 0x0faf8130,
+    0x0fb00800, 0x0fb40830, 0x0fb80200, 0x0fb90400,
+    0x0fbb0201, 0x0fbc0201, 0x0fbd0201, 0x0fbe0201,
+    0x0fc008b7, 0x0fc40867, 0x0fc808b8, 0x0fcc0868,
+    0x0fd008b8, 0x0fd40868, 0x0fd80200, 0x0fd901b9,
+    0x0fd981b1, 0x0fda01b9, 0x0fdb01b1, 0x0fdb81d7,
+    0x0fdc0230, 0x0fdd0230, 0x0fde0161, 0x0fdf0173,
+    0x0fe101b9, 0x0fe181b2, 0x0fe201ba, 0x0fe301b2,
+    0x0fe381d8, 0x0fe40430, 0x0fe60162, 0x0fe80201,
+    0x0fe901d0, 0x0fe981d0, 0x0feb01b0, 0x0feb81d0,
+    0x0fec0230, 0x0fed0230, 0x0ff00201, 0x0ff101d3,
+    0x0ff181d3, 0x0ff201ba, 0x0ff28101, 0x0ff301b0,
+    0x0ff381d3, 0x0ff40231, 0x0ff50230, 0x0ff60131,
+    0x0ff901ba, 0x0ff981b2, 0x0ffa01bb, 0x0ffb01b2,
+    0x0ffb81d9, 0x0ffc0230, 0x0ffd0230, 0x0ffe0162,
+    0x109301a0, 0x109501a0, 0x109581a0, 0x10990131,
+    0x10a70101, 0x10b01031, 0x10b81001, 0x10c18240,
+    0x125b1a31, 0x12681a01, 0x16003031, 0x16183001,
+    0x16300240, 0x16310130, 0x16318130, 0x16320130,
+    0x16328100, 0x16330100, 0x16338640, 0x16368130,
+    0x16370130, 0x16378130, 0x16380130, 0x16390240,
+    0x163a8240, 0x163f0230, 0x16406440, 0x16758440,
+    0x16790240, 0x16802600, 0x16938100, 0x16968100,
+    0x53202e40, 0x53401c40, 0x53910e40, 0x53993e40,
+    0x53bc8440, 0x53be8130, 0x53bf0a40, 0x53c58240,
+    0x53c68130, 0x53c80440, 0x53ca0101, 0x53cb1440,
+    0x53d50130, 0x53d58130, 0x53d60130, 0x53d68130,
+    0x53d70130, 0x53d80130, 0x53d88130, 0x53d90130,
+    0x53d98131, 0x53da1040, 0x53e20131, 0x53e28130,
+    0x53e30130, 0x53e38440, 0x53e58130, 0x53e60240,
+    0x53e80240, 0x53eb0640, 0x53ee0130, 0x53fa8240,
+    0x55a98101, 0x55b85020, 0x7d8001b2, 0x7d8081b2,
+    0x7d8101b2, 0x7d8181da, 0x7d8201da, 0x7d8281b3,
+    0x7d8301b3, 0x7d8981bb, 0x7d8a01bb, 0x7d8a81bb,
+    0x7d8b01bc, 0x7d8b81bb, 0x7f909a31, 0x7fa09a01,
+    0x82002831, 0x82142801, 0x82582431, 0x826c2401,
+    0x82b80b31, 0x82be0f31, 0x82c60731, 0x82ca0231,
+    0x82cb8b01, 0x82d18f01, 0x82d98701, 0x82dd8201,
+    0x86403331, 0x86603301, 0x86a81631, 0x86b81601,
     0x8c502031, 0x8c602001, 0xb7202031, 0xb7302001,
     0xf4802231, 0xf4912201,
 };
 
-static const uint8_t case_conv_table2[370] = {
+static const uint8_t case_conv_table2[378] = {
     0x01, 0x00, 0x9c, 0x06, 0x07, 0x4d, 0x03, 0x04,
     0x10, 0x00, 0x8f, 0x0b, 0x00, 0x00, 0x11, 0x00,
-    0x08, 0x00, 0x53, 0x4a, 0x51, 0x00, 0x52, 0x00,
-    0x53, 0x00, 0x3a, 0x54, 0x55, 0x00, 0x57, 0x59,
-    0x3f, 0x5d, 0x5c, 0x00, 0x46, 0x61, 0x63, 0x42,
-    0x64, 0x00, 0x66, 0x00, 0x68, 0x00, 0x6a, 0x00,
-    0x6c, 0x00, 0x6e, 0x00, 0x00, 0x40, 0x00, 0x00,
-    0x00, 0x00, 0x1a, 0x00, 0x93, 0x00, 0x00, 0x20,
-    0x35, 0x00, 0x27, 0x00, 0x21, 0x00, 0x24, 0x22,
-    0x2a, 0x00, 0x13, 0x6b, 0x6d, 0x00, 0x26, 0x24,
-    0x27, 0x14, 0x16, 0x18, 0x1b, 0x1c, 0x3e, 0x1e,
-    0x3f, 0x1f, 0x39, 0x3d, 0x22, 0x21, 0x41, 0x1e,
-    0x40, 0x25, 0x25, 0x26, 0x28, 0x20, 0x2a, 0x48,
-    0x2c, 0x43, 0x2e, 0x4b, 0x30, 0x4c, 0x32, 0x44,
-    0x42, 0x99, 0x00, 0x00, 0x95, 0x8f, 0x7d, 0x7e,
-    0x83, 0x84, 0x12, 0x80, 0x82, 0x76, 0x77, 0x12,
-    0x7b, 0xa3, 0x7c, 0x78, 0x79, 0x8a, 0x92, 0x98,
-    0xa6, 0xa0, 0x85, 0x00, 0x9a, 0xa1, 0x93, 0x75,
-    0x33, 0x95, 0x00, 0x8e, 0x00, 0x74, 0x99, 0x98,
-    0x97, 0x96, 0x00, 0x00, 0x9e, 0x00, 0x9c, 0x00,
-    0xa1, 0xa0, 0x15, 0x2e, 0x2f, 0x30, 0xb4, 0xb5,
-    0x4f, 0xaa, 0xa9, 0x12, 0x14, 0x1e, 0x21, 0x22,
-    0x22, 0x2a, 0x34, 0x35, 0xa6, 0xa7, 0x36, 0x1f,
-    0x49, 0x00, 0x00, 0x97, 0x01, 0x5a, 0xda, 0x1d,
-    0x36, 0x05, 0x00, 0xc4, 0xc3, 0xc6, 0xc5, 0xc8,
-    0xc7, 0xca, 0xc9, 0xcc, 0xcb, 0xc4, 0xd5, 0x45,
-    0xd6, 0x42, 0xd7, 0x46, 0xd8, 0xce, 0xd0, 0xd2,
-    0xd4, 0xda, 0xd9, 0xee, 0xf6, 0xfe, 0x0e, 0x07,
-    0x0f, 0x80, 0x9f, 0x00, 0x21, 0x80, 0xa3, 0xed,
-    0x00, 0xc0, 0x40, 0xc6, 0x60, 0xe7, 0xdb, 0xe6,
-    0x99, 0xc0, 0x00, 0x00, 0x06, 0x60, 0xdc, 0x29,
-    0xfd, 0x15, 0x12, 0x06, 0x16, 0xf8, 0xdd, 0x06,
-    0x15, 0x12, 0x84, 0x08, 0xc6, 0x16, 0xff, 0xdf,
-    0x03, 0xc0, 0x40, 0x00, 0x46, 0x60, 0xde, 0xe0,
-    0x6d, 0x37, 0x38, 0x39, 0x15, 0x14, 0x17, 0x16,
-    0x00, 0x1a, 0x19, 0x1c, 0x1b, 0x00, 0x5f, 0xb7,
-    0x65, 0x44, 0x47, 0x00, 0x4f, 0x62, 0x4e, 0x50,
-    0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0xa3, 0xa4,
-    0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0x00,
-    0x00, 0x5a, 0x00, 0x47, 0x00, 0x5b, 0x56, 0x58,
-    0x60, 0x5e, 0x70, 0x69, 0x6f, 0x4e, 0x00, 0x3b,
-    0x67, 0xb8, 0x00, 0x00, 0x00, 0x00, 0x45, 0xa8,
-    0x8a, 0x8b, 0x8c, 0xab, 0xac, 0x58, 0x58, 0xaf,
-    0x94, 0xb0, 0x6f, 0xb2, 0x5d, 0x5c, 0x5f, 0x5e,
-    0x61, 0x60, 0x66, 0x67, 0x68, 0x69, 0x62, 0x63,
-    0x64, 0x65, 0x6b, 0x6a, 0x6d, 0x6c, 0x6f, 0x6e,
-    0x71, 0x70,
+    0x08, 0x00, 0x53, 0x4b, 0x52, 0x00, 0x53, 0x00,
+    0x54, 0x00, 0x3b, 0x55, 0x56, 0x00, 0x58, 0x5a,
+    0x40, 0x5f, 0x5e, 0x00, 0x47, 0x52, 0x63, 0x65,
+    0x43, 0x66, 0x00, 0x68, 0x00, 0x6a, 0x00, 0x6c,
+    0x00, 0x6e, 0x00, 0x70, 0x00, 0x00, 0x41, 0x00,
+    0x00, 0x00, 0x00, 0x1a, 0x00, 0x93, 0x00, 0x00,
+    0x20, 0x36, 0x00, 0x28, 0x00, 0x24, 0x00, 0x24,
+    0x25, 0x2d, 0x00, 0x13, 0x6d, 0x6f, 0x00, 0x29,
+    0x27, 0x2a, 0x14, 0x16, 0x18, 0x1b, 0x1c, 0x41,
+    0x1e, 0x42, 0x1f, 0x4e, 0x3c, 0x40, 0x22, 0x21,
+    0x44, 0x21, 0x43, 0x26, 0x28, 0x27, 0x29, 0x23,
+    0x2b, 0x4b, 0x2d, 0x46, 0x2f, 0x4c, 0x31, 0x4d,
+    0x33, 0x47, 0x45, 0x99, 0x00, 0x00, 0x97, 0x91,
+    0x7f, 0x80, 0x85, 0x86, 0x12, 0x82, 0x84, 0x78,
+    0x79, 0x12, 0x7d, 0xa3, 0x7e, 0x7a, 0x7b, 0x8c,
+    0x92, 0x98, 0xa6, 0xa0, 0x87, 0x00, 0x9a, 0xa1,
+    0x95, 0x77, 0x33, 0x95, 0x00, 0x90, 0x00, 0x76,
+    0x9b, 0x9a, 0x99, 0x98, 0x00, 0x00, 0xa0, 0x00,
+    0x9e, 0x00, 0xa3, 0xa2, 0x15, 0x31, 0x32, 0x33,
+    0xb7, 0xb8, 0x55, 0xac, 0xab, 0x12, 0x14, 0x1e,
+    0x21, 0x22, 0x22, 0x2a, 0x34, 0x35, 0x00, 0xa8,
+    0xa9, 0x39, 0x22, 0x4c, 0x00, 0x00, 0x97, 0x01,
+    0x5a, 0xda, 0x1d, 0x36, 0x05, 0x00, 0xc7, 0xc6,
+    0xc9, 0xc8, 0xcb, 0xca, 0xcd, 0xcc, 0xcf, 0xce,
+    0xc4, 0xd8, 0x45, 0xd9, 0x42, 0xda, 0x46, 0xdb,
+    0xd1, 0xd3, 0xd5, 0xd7, 0xdd, 0xdc, 0xf1, 0xf9,
+    0x01, 0x11, 0x0a, 0x12, 0x80, 0x9f, 0x00, 0x21,
+    0x80, 0xa3, 0xf0, 0x00, 0xc0, 0x40, 0xc6, 0x60,
+    0xea, 0xde, 0xe6, 0x99, 0xc0, 0x00, 0x00, 0x06,
+    0x60, 0xdf, 0x29, 0x00, 0x15, 0x12, 0x06, 0x16,
+    0xfb, 0xe0, 0x09, 0x15, 0x12, 0x84, 0x0b, 0xc6,
+    0x16, 0x02, 0xe2, 0x06, 0xc0, 0x40, 0x00, 0x46,
+    0x60, 0xe1, 0xe3, 0x6d, 0x37, 0x38, 0x39, 0x18,
+    0x17, 0x1a, 0x19, 0x00, 0x1d, 0x1c, 0x1f, 0x1e,
+    0x00, 0x61, 0xba, 0x67, 0x45, 0x48, 0x00, 0x50,
+    0x64, 0x4f, 0x51, 0x00, 0x00, 0x49, 0x00, 0x00,
+    0x00, 0xa5, 0xa6, 0xa7, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0xb9, 0x00, 0x00, 0x5c, 0x00, 0x4a, 0x00,
+    0x5d, 0x57, 0x59, 0x62, 0x60, 0x72, 0x6b, 0x71,
+    0x54, 0x00, 0x3e, 0x69, 0xbb, 0x00, 0x5b, 0x00,
+    0x00, 0x00, 0x25, 0x00, 0x48, 0xaa, 0x8a, 0x8b,
+    0x8c, 0xab, 0xac, 0x58, 0x58, 0xaf, 0x94, 0xb0,
+    0x6f, 0xb2, 0x63, 0x62, 0x65, 0x64, 0x67, 0x66,
+    0x6c, 0x6d, 0x6e, 0x6f, 0x68, 0x69, 0x6a, 0x6b,
+    0x71, 0x70, 0x73, 0x72, 0x75, 0x74, 0x77, 0x76,
+    0x79, 0x78,
 };
 
 static const uint16_t case_conv_ext[58] = {
@@ -160,45 +163,44 @@ static const uint16_t case_conv_ext[58] = {
     0x006b, 0x00e5,
 };
 
-static const uint8_t unicode_prop_Cased1_table[196] = {
+static const uint8_t unicode_prop_Cased1_table[193] = {
     0x40, 0xa9, 0x80, 0x8e, 0x80, 0xfc, 0x80, 0xd3,
-    0x80, 0x8c, 0x80, 0x8d, 0x81, 0x8d, 0x02, 0x80,
-    0xe1, 0x80, 0x91, 0x85, 0x9a, 0x01, 0x00, 0x01,
-    0x11, 0x00, 0x01, 0x04, 0x08, 0x01, 0x08, 0x30,
-    0x08, 0x01, 0x15, 0x20, 0x00, 0x39, 0x99, 0x31,
-    0x9d, 0x84, 0x40, 0x94, 0x80, 0xd6, 0x82, 0xa6,
-    0x80, 0x41, 0x62, 0x80, 0xa6, 0x80, 0x4b, 0x72,
-    0x80, 0x4c, 0x02, 0xf8, 0x02, 0x80, 0x8f, 0x80,
-    0xb0, 0x40, 0xdb, 0x08, 0x80, 0x41, 0xd0, 0x80,
-    0x8c, 0x80, 0x8f, 0x8c, 0xe4, 0x03, 0x01, 0x89,
-    0x00, 0x14, 0x28, 0x10, 0x11, 0x02, 0x01, 0x18,
-    0x0b, 0x24, 0x4b, 0x26, 0x01, 0x01, 0x86, 0xe5,
-    0x80, 0x60, 0x79, 0xb6, 0x81, 0x40, 0x91, 0x81,
-    0xbd, 0x88, 0x94, 0x05, 0x80, 0x98, 0x80, 0xa2,
-    0x00, 0x80, 0x9b, 0x12, 0x82, 0x43, 0x34, 0xa2,
-    0x06, 0x80, 0x8d, 0x60, 0x5c, 0x15, 0x01, 0x10,
-    0xa9, 0x80, 0x88, 0x60, 0xcc, 0x44, 0xd4, 0x80,
-    0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80, 0x8b, 0x00,
-    0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06, 0x80, 0x9b,
-    0x03, 0x04, 0x00, 0x16, 0x80, 0x41, 0x53, 0x81,
-    0x98, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,
-    0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80,
-    0x9e, 0x80, 0x98, 0x07, 0x47, 0x33, 0x89, 0x80,
-    0x93, 0x2d, 0x41, 0x04, 0xbd, 0x50, 0xc1, 0x99,
-    0x85, 0x99, 0x85, 0x99,
+    0x80, 0x9b, 0x81, 0x8d, 0x02, 0x80, 0xe1, 0x80,
+    0x91, 0x85, 0x9a, 0x01, 0x00, 0x01, 0x11, 0x03,
+    0x04, 0x08, 0x01, 0x08, 0x30, 0x08, 0x01, 0x15,
+    0x20, 0x00, 0x39, 0x99, 0x31, 0x9d, 0x84, 0x40,
+    0x94, 0x80, 0xd6, 0x82, 0xa6, 0x80, 0x41, 0x62,
+    0x80, 0xa6, 0x80, 0x4b, 0x72, 0x80, 0x4c, 0x02,
+    0xf8, 0x02, 0x80, 0x8f, 0x80, 0xb0, 0x40, 0xdb,
+    0x08, 0x80, 0x41, 0xd0, 0x80, 0x8c, 0x80, 0x8f,
+    0x8c, 0xe4, 0x03, 0x01, 0x89, 0x00, 0x14, 0x28,
+    0x10, 0x11, 0x02, 0x01, 0x18, 0x0b, 0x24, 0x4b,
+    0x26, 0x01, 0x01, 0x86, 0xe5, 0x80, 0x60, 0x79,
+    0xb6, 0x81, 0x40, 0x91, 0x81, 0xbd, 0x88, 0x94,
+    0x05, 0x80, 0x98, 0x80, 0xa2, 0x00, 0x80, 0x9b,
+    0x12, 0x82, 0x43, 0x34, 0xa2, 0x06, 0x80, 0x8d,
+    0x60, 0x5c, 0x15, 0x01, 0x10, 0xa9, 0x80, 0x88,
+    0x60, 0xcc, 0x44, 0xd4, 0x80, 0xc6, 0x01, 0x08,
+    0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0,
+    0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03, 0x04, 0x00,
+    0x16, 0x80, 0x41, 0x53, 0x81, 0x98, 0x80, 0x98,
+    0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,
+    0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,
+    0x07, 0x47, 0x33, 0x89, 0x80, 0x93, 0x2d, 0x41,
+    0x04, 0xbd, 0x50, 0xc1, 0x99, 0x85, 0x99, 0x85,
+    0x99,
 };
 
-static const uint8_t unicode_prop_Cased1_index[21] = {
-    0xb9, 0x02, 0xe0,  //  002B9 at 39
-    0xc0, 0x1d, 0x20,  //  01DC0 at 65
-    0xe5, 0x2c, 0x20,  //  02CE5 at 97
-    0xb1, 0x07, 0x21,  //  107B1 at 129
-    0xc1, 0xd6, 0x21,  //  1D6C1 at 161
-    0x4a, 0xf1, 0x01,  //  1F14A at 192
-    0x8a, 0xf1, 0x01,  //  1F18A at 224 (upper bound)
+static const uint8_t unicode_prop_Cased1_index[18] = {
+    0xb9, 0x02, 0x80,  //  002B9 at 36
+    0xa0, 0x1e, 0x40,  //  01EA0 at 66
+    0x9e, 0xa6, 0x40,  //  0A69E at 98
+    0xbb, 0x07, 0x01,  //  107BB at 128
+    0xdb, 0xd6, 0x01,  //  1D6DB at 160
+    0x8a, 0xf1, 0x01,  //  1F18A at 192 (upper bound)
 };
 
-static const uint8_t unicode_prop_Case_Ignorable_table[737] = {
+static const uint8_t unicode_prop_Case_Ignorable_table[764] = {
     0xa6, 0x05, 0x80, 0x8a, 0x80, 0xa2, 0x00, 0x80,
     0xc6, 0x03, 0x00, 0x03, 0x01, 0x81, 0x41, 0xf6,
     0x40, 0xbf, 0x19, 0x18, 0x88, 0x08, 0x80, 0x40,
@@ -207,7 +209,7 @@ static const uint8_t unicode_prop_Case_Ignorable_table[737] = {
     0x89, 0x8a, 0x00, 0xa2, 0x80, 0x89, 0x94, 0x8f,
     0x80, 0xe4, 0x38, 0x89, 0x03, 0xa0, 0x00, 0x80,
     0x9d, 0x9a, 0xda, 0x8a, 0xb9, 0x8a, 0x18, 0x08,
-    0x97, 0x97, 0xaa, 0x82, 0xab, 0x06, 0x0d, 0x87,
+    0x97, 0x97, 0xaa, 0x82, 0xab, 0x06, 0x0c, 0x88,
     0xa8, 0xb9, 0xb6, 0x00, 0x03, 0x3b, 0x02, 0x86,
     0x89, 0x81, 0x8c, 0x80, 0x8e, 0x80, 0xb9, 0x03,
     0x1f, 0x80, 0x93, 0x81, 0x99, 0x01, 0x81, 0xb8,
@@ -261,26 +263,29 @@ static const uint8_t unicode_prop_Case_Ignorable_table[737] = {
     0x80, 0x40, 0x94, 0x84, 0x44, 0x04, 0x28, 0xa9,
     0x80, 0x88, 0x42, 0x45, 0x10, 0x0c, 0x83, 0xa7,
     0x13, 0x80, 0x40, 0xa4, 0x81, 0x42, 0x3c, 0x83,
-    0x41, 0x82, 0x81, 0xcf, 0x82, 0xc5, 0x8a, 0xb0,
-    0x83, 0xfa, 0x80, 0xb5, 0x8e, 0xa8, 0x01, 0x81,
-    0x89, 0x82, 0xb0, 0x19, 0x09, 0x03, 0x80, 0x89,
-    0x80, 0xb1, 0x82, 0xa3, 0x20, 0x87, 0xbd, 0x80,
-    0x8b, 0x81, 0xb3, 0x88, 0x89, 0x19, 0x80, 0xde,
-    0x11, 0x00, 0x0d, 0x01, 0x80, 0x40, 0x9c, 0x02,
-    0x87, 0x94, 0x81, 0xb8, 0x0a, 0x80, 0xa4, 0x32,
-    0x84, 0x40, 0xc2, 0x39, 0x10, 0x80, 0x96, 0x80,
-    0xd3, 0x28, 0x03, 0x08, 0x81, 0x40, 0xed, 0x1d,
-    0x08, 0x81, 0x9a, 0x81, 0xd4, 0x39, 0x00, 0x81,
-    0xe9, 0x00, 0x01, 0x28, 0x80, 0xe4, 0x11, 0x18,
-    0x84, 0x41, 0x02, 0x88, 0x01, 0x40, 0xff, 0x08,
-    0x03, 0x80, 0x40, 0x8f, 0x19, 0x0b, 0x80, 0x9f,
-    0x89, 0xa7, 0x29, 0x1f, 0x80, 0x88, 0x29, 0x82,
-    0xad, 0x8c, 0x01, 0x41, 0x95, 0x30, 0x28, 0x80,
-    0xd1, 0x95, 0x0e, 0x01, 0x01, 0xf9, 0x2a, 0x00,
-    0x08, 0x30, 0x80, 0xc7, 0x0a, 0x00, 0x80, 0x41,
-    0x5a, 0x81, 0x8a, 0x81, 0xb3, 0x24, 0x00, 0x80,
-    0x54, 0xec, 0x90, 0x85, 0x8e, 0x60, 0x36, 0x99,
-    0x84, 0xba, 0x86, 0x88, 0x83, 0x44, 0x0a, 0x80,
+    0xa5, 0x80, 0x99, 0x20, 0x80, 0x41, 0x3a, 0x81,
+    0xce, 0x83, 0xc5, 0x8a, 0xb0, 0x83, 0xfa, 0x80,
+    0xb5, 0x8e, 0xa8, 0x01, 0x81, 0x89, 0x82, 0xb0,
+    0x19, 0x09, 0x03, 0x80, 0x89, 0x80, 0xb1, 0x82,
+    0xa3, 0x20, 0x87, 0xbd, 0x80, 0x8b, 0x81, 0xb3,
+    0x88, 0x89, 0x19, 0x80, 0xde, 0x11, 0x00, 0x0d,
+    0x01, 0x80, 0x40, 0x9c, 0x02, 0x87, 0x94, 0x81,
+    0xb8, 0x0a, 0x80, 0xa4, 0x32, 0x84, 0xc5, 0x85,
+    0x8c, 0x00, 0x00, 0x80, 0x8d, 0x81, 0xd4, 0x39,
+    0x10, 0x80, 0x96, 0x80, 0xd3, 0x28, 0x03, 0x08,
+    0x81, 0x40, 0xed, 0x1d, 0x08, 0x81, 0x9a, 0x81,
+    0xd4, 0x39, 0x00, 0x81, 0xe9, 0x00, 0x01, 0x28,
+    0x80, 0xe4, 0x00, 0x01, 0x18, 0x84, 0x41, 0x02,
+    0x88, 0x01, 0x40, 0xff, 0x08, 0x03, 0x80, 0x40,
+    0x8f, 0x19, 0x0b, 0x80, 0x9f, 0x89, 0xa7, 0x29,
+    0x1f, 0x80, 0x88, 0x29, 0x82, 0xad, 0x8c, 0x01,
+    0x41, 0x95, 0x30, 0x28, 0x80, 0xd1, 0x95, 0x0e,
+    0x01, 0x01, 0xf9, 0x2a, 0x00, 0x08, 0x30, 0x80,
+    0xc7, 0x0a, 0x00, 0x80, 0x41, 0x5a, 0x81, 0x8a,
+    0x81, 0xb3, 0x24, 0x00, 0x80, 0x96, 0x80, 0x54,
+    0xd4, 0x90, 0x85, 0x8e, 0x60, 0x2c, 0xc7, 0x8b,
+    0x12, 0x49, 0xbf, 0x84, 0xba, 0x86, 0x88, 0x83,
+    0x41, 0xfb, 0x82, 0xa7, 0x81, 0x41, 0xe1, 0x80,
     0xbe, 0x90, 0xbf, 0x08, 0x81, 0x60, 0x40, 0x0a,
     0x18, 0x30, 0x81, 0x4c, 0x9d, 0x08, 0x83, 0x52,
     0x5b, 0xad, 0x81, 0x96, 0x42, 0x1f, 0x82, 0x88,
@@ -289,12 +294,12 @@ static const uint8_t unicode_prop_Case_Ignorable_table[737] = {
     0x20, 0x8e, 0x45, 0x4f, 0x30, 0x90, 0x0e, 0x01,
     0x04, 0x84, 0xbd, 0xa0, 0x80, 0x40, 0x9f, 0x8d,
     0x41, 0x6f, 0x80, 0xbc, 0x83, 0x41, 0xfa, 0x84,
-    0x43, 0xdf, 0x86, 0xec, 0x87, 0x4a, 0xae, 0x84,
-    0x6c, 0x0c, 0x00, 0x80, 0x9d, 0xdf, 0xff, 0x40,
-    0xef,
+    0x40, 0xfd, 0x81, 0x42, 0xdf, 0x86, 0xec, 0x87,
+    0x4a, 0xae, 0x84, 0x6c, 0x0c, 0x00, 0x80, 0x9d,
+    0xdf, 0xff, 0x40, 0xef,
 };
 
-static const uint8_t unicode_prop_Case_Ignorable_index[69] = {
+static const uint8_t unicode_prop_Case_Ignorable_index[72] = {
     0xbe, 0x05, 0x00,  //  005BE at 32
     0xfe, 0x07, 0x00,  //  007FE at 64
     0x52, 0x0a, 0xa0,  //  00A52 at 101
@@ -310,17 +315,18 @@ static const uint8_t unicode_prop_Case_Ignorable_index[69] = {
     0xc2, 0xaa, 0x60,  //  0AAC2 at 419
     0x56, 0xfe, 0x20,  //  0FE56 at 449
     0xb1, 0x07, 0x01,  //  107B1 at 480
-    0x75, 0x10, 0x01,  //  11075 at 512
-    0xeb, 0x12, 0x21,  //  112EB at 545
-    0x41, 0x16, 0x01,  //  11641 at 576
-    0x5c, 0x1a, 0x01,  //  11A5C at 608
-    0x43, 0x1f, 0x01,  //  11F43 at 640
-    0x2e, 0xcf, 0x41,  //  1CF2E at 674
-    0x25, 0xe0, 0x01,  //  1E025 at 704
-    0xf0, 0x01, 0x0e,  //  E01F0 at 736 (upper bound)
+    0x02, 0x10, 0x01,  //  11002 at 512
+    0x42, 0x12, 0x41,  //  11242 at 546
+    0xc4, 0x14, 0x21,  //  114C4 at 577
+    0xe1, 0x19, 0x81,  //  119E1 at 612
+    0x48, 0x1d, 0x01,  //  11D48 at 640
+    0x44, 0x6b, 0x01,  //  16B44 at 672
+    0x83, 0xd1, 0x21,  //  1D183 at 705
+    0x3e, 0xe1, 0x01,  //  1E13E at 736
+    0xf0, 0x01, 0x0e,  //  E01F0 at 768 (upper bound)
 };
 
-static const uint8_t unicode_prop_ID_Start_table[1100] = {
+static const uint8_t unicode_prop_ID_Start_table[1133] = {
     0xc0, 0x99, 0x85, 0x99, 0xae, 0x80, 0x89, 0x03,
     0x04, 0x96, 0x80, 0x9e, 0x80, 0x41, 0xc9, 0x83,
     0x8b, 0x8d, 0x26, 0x00, 0x80, 0x40, 0x80, 0x20,
@@ -364,7 +370,7 @@ static const uint8_t unicode_prop_ID_Start_table[1100] = {
     0x83, 0x99, 0xb5, 0x96, 0x88, 0xb4, 0xd1, 0x80,
     0xdc, 0xae, 0x90, 0x87, 0xb5, 0x9d, 0x8c, 0x81,
     0x89, 0xab, 0x99, 0xa3, 0xa8, 0x82, 0x89, 0xa3,
-    0x81, 0x88, 0x86, 0xaa, 0x0a, 0xa8, 0x18, 0x28,
+    0x81, 0x8a, 0x84, 0xaa, 0x0a, 0xa8, 0x18, 0x28,
     0x0a, 0x04, 0x40, 0xbf, 0xbf, 0x41, 0x15, 0x0d,
     0x81, 0xa5, 0x0d, 0x0f, 0x00, 0x00, 0x00, 0x80,
     0x9e, 0x81, 0xb4, 0x06, 0x00, 0x12, 0x06, 0x13,
@@ -380,8 +386,8 @@ static const uint8_t unicode_prop_ID_Start_table[1100] = {
     0x41, 0xff, 0x59, 0xbf, 0xbf, 0x60, 0x56, 0x8c,
     0xc2, 0xad, 0x81, 0x41, 0x0c, 0x82, 0x8f, 0x89,
     0x81, 0x93, 0xae, 0x8f, 0x9e, 0x81, 0xcf, 0xa6,
-    0x88, 0x81, 0xe6, 0x81, 0xbf, 0x21, 0x00, 0x04,
-    0x97, 0x8f, 0x02, 0x03, 0x80, 0x96, 0x9c, 0xb3,
+    0x88, 0x81, 0xe6, 0x81, 0xc2, 0x09, 0x00, 0x07,
+    0x94, 0x8f, 0x02, 0x03, 0x80, 0x96, 0x9c, 0xb3,
     0x8d, 0xb1, 0xbd, 0x2a, 0x00, 0x81, 0x8a, 0x9b,
     0x89, 0x96, 0x98, 0x9c, 0x86, 0xae, 0x9b, 0x80,
     0x8f, 0x20, 0x89, 0x89, 0x20, 0xa8, 0x96, 0x10,
@@ -401,67 +407,71 @@ static const uint8_t unicode_prop_ID_Start_table[1100] = {
     0xa5, 0x89, 0x9d, 0x81, 0xa3, 0x1f, 0x04, 0xa9,
     0x40, 0x9d, 0x91, 0xa3, 0x83, 0xa3, 0x83, 0xa7,
     0x87, 0xb3, 0x8b, 0x8a, 0x80, 0x8e, 0x06, 0x01,
-    0x80, 0x8a, 0x80, 0x8e, 0x06, 0x01, 0xc2, 0x41,
-    0x36, 0x88, 0x95, 0x89, 0x87, 0x97, 0x28, 0xa9,
-    0x80, 0x88, 0xc4, 0x29, 0x00, 0xab, 0x01, 0x10,
-    0x81, 0x96, 0x89, 0x96, 0x88, 0x9e, 0xc0, 0x92,
-    0x01, 0x89, 0x95, 0x89, 0x99, 0xc5, 0xb7, 0x29,
-    0xbf, 0x80, 0x8e, 0x18, 0x10, 0x9c, 0xa9, 0x9c,
-    0x82, 0x9c, 0xa2, 0x38, 0x9b, 0x9a, 0xb5, 0x89,
-    0x95, 0x89, 0x92, 0x8c, 0x91, 0xed, 0xc8, 0xb6,
-    0xb2, 0x8c, 0xb2, 0x8c, 0xa3, 0x41, 0x5b, 0xa9,
-    0x29, 0xcd, 0x9c, 0x89, 0x07, 0x95, 0xa9, 0x91,
+    0x80, 0x8a, 0x80, 0x8e, 0x06, 0x01, 0x82, 0xb3,
+    0x8b, 0x41, 0x36, 0x88, 0x95, 0x89, 0x87, 0x97,
+    0x28, 0xa9, 0x80, 0x88, 0xc4, 0x29, 0x00, 0xab,
+    0x01, 0x10, 0x81, 0x96, 0x89, 0x96, 0x88, 0x9e,
+    0xc0, 0x92, 0x01, 0x89, 0x95, 0x89, 0x99, 0xc5,
+    0xb7, 0x29, 0xbf, 0x80, 0x8e, 0x18, 0x10, 0x9c,
+    0xa9, 0x9c, 0x82, 0x9c, 0xa2, 0x38, 0x9b, 0x9a,
+    0xb5, 0x89, 0x95, 0x89, 0x92, 0x8c, 0x91, 0xed,
+    0xc8, 0xb6, 0xb2, 0x8c, 0xb2, 0x8c, 0xa3, 0xa5,
+    0x9b, 0x88, 0x96, 0x40, 0xf9, 0xa9, 0x29, 0x8f,
+    0x82, 0xba, 0x9c, 0x89, 0x07, 0x95, 0xa9, 0x91,
     0xad, 0x94, 0x9a, 0x96, 0x8b, 0xb4, 0xb8, 0x09,
     0x80, 0x8c, 0xac, 0x9f, 0x98, 0x99, 0xa3, 0x9c,
     0x01, 0x07, 0xa2, 0x10, 0x8b, 0xaf, 0x8d, 0x83,
     0x94, 0x00, 0x80, 0xa2, 0x91, 0x80, 0x98, 0x92,
     0x81, 0xbe, 0x30, 0x00, 0x18, 0x8e, 0x80, 0x89,
     0x86, 0xae, 0xa5, 0x39, 0x09, 0x95, 0x06, 0x01,
-    0x04, 0x10, 0x91, 0x80, 0x8b, 0x84, 0x40, 0x9d,
-    0xb4, 0x91, 0x83, 0x93, 0x82, 0x9d, 0xaf, 0x93,
-    0x08, 0x80, 0x40, 0xb7, 0xae, 0xa8, 0x83, 0xa3,
-    0xaf, 0x93, 0x80, 0xba, 0xaa, 0x8c, 0x80, 0xc6,
-    0x9a, 0xa4, 0x86, 0x40, 0xb8, 0xab, 0xf3, 0xbf,
-    0x9e, 0x39, 0x01, 0x38, 0x08, 0x97, 0x8e, 0x00,
-    0x80, 0xdd, 0x39, 0xa6, 0x8f, 0x00, 0x80, 0x9b,
-    0x80, 0x89, 0xa7, 0x30, 0x94, 0x80, 0x8a, 0xad,
-    0x92, 0x80, 0x91, 0xc8, 0x41, 0x06, 0x88, 0x80,
-    0xa4, 0x90, 0x80, 0xb0, 0x9d, 0xef, 0x30, 0x08,
-    0xa5, 0x94, 0x80, 0x98, 0x28, 0x08, 0x9f, 0x8d,
-    0x80, 0x41, 0x46, 0x92, 0x8e, 0x00, 0x8c, 0x80,
-    0xa1, 0xfb, 0x80, 0xce, 0x43, 0x99, 0xe5, 0xee,
-    0x90, 0x40, 0xc3, 0x4a, 0x4b, 0xe0, 0x8e, 0x44,
-    0x2f, 0x90, 0x85, 0x4f, 0xb8, 0x42, 0x46, 0x60,
-    0x21, 0xb8, 0x42, 0x38, 0x86, 0x9e, 0x90, 0xce,
-    0x90, 0x9d, 0x91, 0xaf, 0x8f, 0x83, 0x9e, 0x94,
-    0x84, 0x92, 0x42, 0xaf, 0xbf, 0xff, 0xca, 0x20,
-    0xc1, 0x8c, 0xbf, 0x08, 0x80, 0x9b, 0x57, 0xf7,
-    0x87, 0x44, 0xd5, 0xa9, 0x88, 0x60, 0x22, 0xe6,
-    0x18, 0x30, 0x08, 0x41, 0x22, 0x8e, 0x80, 0x9c,
-    0x11, 0x80, 0x8d, 0x1f, 0x41, 0x8b, 0x49, 0x03,
-    0xea, 0x84, 0x8c, 0x82, 0x88, 0x86, 0x89, 0x57,
-    0x65, 0xd4, 0x80, 0xc6, 0x01, 0x08, 0x09, 0x0b,
-    0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0, 0x03, 0x0f,
-    0x06, 0x80, 0x9b, 0x03, 0x04, 0x00, 0x16, 0x80,
-    0x41, 0x53, 0x81, 0x98, 0x80, 0x98, 0x80, 0x9e,
-    0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e,
-    0x80, 0x98, 0x80, 0x9e, 0x80, 0x98, 0x07, 0x47,
-    0x33, 0x9e, 0x2d, 0x41, 0x04, 0xbd, 0x40, 0x91,
-    0xac, 0x89, 0x86, 0x8f, 0x80, 0x41, 0x40, 0x9d,
-    0x91, 0xab, 0x41, 0xe3, 0x9b, 0x42, 0xf3, 0x30,
-    0x18, 0x08, 0x8e, 0x80, 0x40, 0xc4, 0xba, 0xc3,
-    0x30, 0x44, 0xb3, 0x18, 0x9a, 0x01, 0x00, 0x08,
-    0x80, 0x89, 0x03, 0x00, 0x00, 0x28, 0x18, 0x00,
-    0x00, 0x02, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
-    0x00, 0x01, 0x00, 0x0b, 0x06, 0x03, 0x03, 0x00,
-    0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,
-    0x51, 0x43, 0x60, 0xa6, 0xdf, 0x9f, 0x50, 0x39,
-    0x85, 0x40, 0xdd, 0x81, 0x56, 0x81, 0x8d, 0x5d,
-    0x30, 0x4c, 0x1e, 0x42, 0x1d, 0x45, 0xe1, 0x53,
-    0x4a, 0x84, 0x50, 0x5f,
+    0x04, 0x10, 0x91, 0x80, 0x8b, 0x84, 0x9d, 0x89,
+    0x00, 0x08, 0x80, 0xa5, 0x00, 0x98, 0x00, 0x80,
+    0xab, 0xb4, 0x91, 0x83, 0x93, 0x82, 0x9d, 0xaf,
+    0x93, 0x08, 0x80, 0x40, 0xb7, 0xae, 0xa8, 0x83,
+    0xa3, 0xaf, 0x93, 0x80, 0xba, 0xaa, 0x8c, 0x80,
+    0xc6, 0x9a, 0xa4, 0x86, 0x40, 0xb8, 0xab, 0xf3,
+    0xbf, 0x9e, 0x39, 0x01, 0x38, 0x08, 0x97, 0x8e,
+    0x00, 0x80, 0xdd, 0x39, 0xa6, 0x8f, 0x00, 0x80,
+    0x9b, 0x80, 0x89, 0xa7, 0x30, 0x94, 0x80, 0x8a,
+    0xad, 0x92, 0x80, 0x91, 0xc8, 0x40, 0xc6, 0xa0,
+    0x9e, 0x88, 0x80, 0xa4, 0x90, 0x80, 0xb0, 0x9d,
+    0xef, 0x30, 0x08, 0xa5, 0x94, 0x80, 0x98, 0x28,
+    0x08, 0x9f, 0x8d, 0x80, 0x41, 0x46, 0x92, 0x8e,
+    0x00, 0x8c, 0x80, 0xa1, 0xfb, 0x80, 0xce, 0x43,
+    0x99, 0xe5, 0xee, 0x90, 0x40, 0xc3, 0x4a, 0x4b,
+    0xe0, 0x8e, 0x44, 0x2f, 0x90, 0x85, 0x98, 0x4f,
+    0x9a, 0x84, 0x42, 0x46, 0x5a, 0xb8, 0x9d, 0x46,
+    0xe1, 0x42, 0x38, 0x86, 0x9e, 0x90, 0xce, 0x90,
+    0x9d, 0x91, 0xaf, 0x8f, 0x83, 0x9e, 0x94, 0x84,
+    0x92, 0x41, 0xaf, 0xac, 0x40, 0xd2, 0xbf, 0xff,
+    0xca, 0x20, 0xc1, 0x8c, 0xbf, 0x08, 0x80, 0x9b,
+    0x57, 0xf7, 0x87, 0x44, 0xd5, 0xa8, 0x89, 0x60,
+    0x22, 0xe6, 0x18, 0x30, 0x08, 0x41, 0x22, 0x8e,
+    0x80, 0x9c, 0x11, 0x80, 0x8d, 0x1f, 0x41, 0x8b,
+    0x49, 0x03, 0xea, 0x84, 0x8c, 0x82, 0x88, 0x86,
+    0x89, 0x57, 0x65, 0xd4, 0x80, 0xc6, 0x01, 0x08,
+    0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0,
+    0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03, 0x04, 0x00,
+    0x16, 0x80, 0x41, 0x53, 0x81, 0x98, 0x80, 0x98,
+    0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,
+    0x80, 0x9e, 0x80, 0x98, 0x80, 0x9e, 0x80, 0x98,
+    0x07, 0x47, 0x33, 0x9e, 0x2d, 0x41, 0x04, 0xbd,
+    0x40, 0x91, 0xac, 0x89, 0x86, 0x8f, 0x80, 0x41,
+    0x40, 0x9d, 0x91, 0xab, 0x41, 0xe3, 0x9b, 0x40,
+    0xe3, 0x9d, 0x08, 0x41, 0xee, 0x30, 0x18, 0x08,
+    0x8e, 0x80, 0x40, 0xc4, 0xba, 0xc3, 0x30, 0x44,
+    0xb3, 0x18, 0x9a, 0x01, 0x00, 0x08, 0x80, 0x89,
+    0x03, 0x00, 0x00, 0x28, 0x18, 0x00, 0x00, 0x02,
+    0x01, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x01,
+    0x00, 0x0b, 0x06, 0x03, 0x03, 0x00, 0x80, 0x89,
+    0x80, 0x90, 0x22, 0x04, 0x80, 0x90, 0x51, 0x43,
+    0x60, 0xa6, 0xdf, 0x9f, 0x50, 0x39, 0x85, 0x40,
+    0xdd, 0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x8e,
+    0x42, 0x6d, 0x49, 0xa1, 0x42, 0x1d, 0x45, 0xe1,
+    0x53, 0x4a, 0x84, 0x50, 0x5f,
 };
 
-static const uint8_t unicode_prop_ID_Start_index[105] = {
+static const uint8_t unicode_prop_ID_Start_index[108] = {
     0xf6, 0x03, 0x20,  //  003F6 at 33
     0xa6, 0x07, 0x00,  //  007A6 at 64
     0xa9, 0x09, 0x20,  //  009A9 at 97
@@ -476,37 +486,38 @@ static const uint8_t unicode_prop_ID_Start_index[105] = {
     0x80, 0x20, 0x20,  //  02080 at 385
     0x70, 0x2d, 0x00,  //  02D70 at 416
     0x00, 0x32, 0x00,  //  03200 at 448
-    0xda, 0xa7, 0x00,  //  0A7DA at 480
+    0xdd, 0xa7, 0x00,  //  0A7DD at 480
     0x4c, 0xaa, 0x20,  //  0AA4C at 513
     0xc7, 0xd7, 0x20,  //  0D7C7 at 545
     0xfc, 0xfd, 0x20,  //  0FDFC at 577
     0x9d, 0x02, 0x21,  //  1029D at 609
     0x96, 0x05, 0x01,  //  10596 at 640
-    0xf3, 0x08, 0x01,  //  108F3 at 672
-    0xb3, 0x0c, 0x21,  //  10CB3 at 705
-    0x73, 0x11, 0x61,  //  11173 at 739
-    0x34, 0x13, 0x01,  //  11334 at 768
-    0x1b, 0x17, 0x21,  //  1171B at 801
-    0x8a, 0x1a, 0x01,  //  11A8A at 832
-    0x34, 0x1f, 0x21,  //  11F34 at 865
-    0xbf, 0x6a, 0x01,  //  16ABF at 896
-    0x23, 0xb1, 0xa1,  //  1B123 at 933
-    0xad, 0xd4, 0x01,  //  1D4AD at 960
-    0x6f, 0xd7, 0x01,  //  1D76F at 992
-    0xff, 0xe7, 0x61,  //  1E7FF at 1027
-    0x5e, 0xee, 0x01,  //  1EE5E at 1056
-    0xe1, 0xeb, 0x22,  //  2EBE1 at 1089
-    0xb0, 0x23, 0x03,  //  323B0 at 1120 (upper bound)
+    0x9f, 0x08, 0x01,  //  1089F at 672
+    0x49, 0x0c, 0x21,  //  10C49 at 705
+    0x76, 0x10, 0x21,  //  11076 at 737
+    0xa9, 0x12, 0x01,  //  112A9 at 768
+    0xb0, 0x14, 0x01,  //  114B0 at 800
+    0x42, 0x19, 0x41,  //  11942 at 834
+    0x90, 0x1c, 0x01,  //  11C90 at 864
+    0xf1, 0x2f, 0x21,  //  12FF1 at 897
+    0x90, 0x6b, 0x21,  //  16B90 at 929
+    0x33, 0xb1, 0x21,  //  1B133 at 961
+    0x06, 0xd5, 0x01,  //  1D506 at 992
+    0xc3, 0xd7, 0x01,  //  1D7C3 at 1024
+    0xff, 0xe7, 0x21,  //  1E7FF at 1057
+    0x63, 0xee, 0x01,  //  1EE63 at 1088
+    0x5e, 0xee, 0x42,  //  2EE5E at 1122
+    0xb0, 0x23, 0x03,  //  323B0 at 1152 (upper bound)
 };
 
-static const uint8_t unicode_prop_ID_Continue1_table[660] = {
+static const uint8_t unicode_prop_ID_Continue1_table[695] = {
     0xaf, 0x89, 0xa4, 0x80, 0xd6, 0x80, 0x42, 0x47,
     0xef, 0x96, 0x80, 0x40, 0xfa, 0x84, 0x41, 0x08,
     0xac, 0x00, 0x01, 0x01, 0x00, 0xc7, 0x8a, 0xaf,
     0x9e, 0x28, 0xe4, 0x31, 0x29, 0x08, 0x19, 0x89,
     0x96, 0x80, 0x9d, 0x9a, 0xda, 0x8a, 0x8e, 0x89,
     0xa0, 0x88, 0x88, 0x80, 0x97, 0x18, 0x88, 0x02,
-    0x04, 0xaa, 0x82, 0xbb, 0x87, 0xa9, 0x97, 0x80,
+    0x04, 0xaa, 0x82, 0xba, 0x88, 0xa9, 0x97, 0x80,
     0xa0, 0xb5, 0x10, 0x91, 0x06, 0x89, 0x09, 0x89,
     0x90, 0x82, 0xb7, 0x00, 0x31, 0x09, 0x82, 0x88,
     0x80, 0x89, 0x09, 0x89, 0x8d, 0x01, 0x82, 0xb7,
@@ -535,57 +546,61 @@ static const uint8_t unicode_prop_ID_Continue1_table[660] = {
     0xae, 0x90, 0x8a, 0x89, 0x90, 0x88, 0x8b, 0x82,
     0x9d, 0x8c, 0x81, 0x89, 0xab, 0x8d, 0xaf, 0x93,
     0x87, 0x89, 0x85, 0x89, 0xf5, 0x10, 0x94, 0x18,
-    0x28, 0x0a, 0x40, 0xc5, 0xbf, 0x42, 0x3e, 0x81,
-    0x92, 0x80, 0xfa, 0x8c, 0x18, 0x82, 0x8b, 0x4b,
-    0xfd, 0x82, 0x40, 0x8c, 0x80, 0xdf, 0x9f, 0x42,
-    0x29, 0x85, 0xe8, 0x81, 0x60, 0x75, 0x84, 0x89,
-    0xc4, 0x03, 0x89, 0x9f, 0x81, 0xcf, 0x81, 0x41,
-    0x0f, 0x02, 0x03, 0x80, 0x96, 0x23, 0x80, 0xd2,
-    0x81, 0xb1, 0x91, 0x89, 0x89, 0x85, 0x91, 0x8c,
-    0x8a, 0x9b, 0x87, 0x98, 0x8c, 0xab, 0x83, 0xae,
-    0x8d, 0x8e, 0x89, 0x8a, 0x80, 0x89, 0x89, 0xae,
-    0x8d, 0x8b, 0x07, 0x09, 0x89, 0xa0, 0x82, 0xb1,
-    0x00, 0x11, 0x0c, 0x08, 0x80, 0xa8, 0x24, 0x81,
-    0x40, 0xeb, 0x38, 0x09, 0x89, 0x60, 0x4f, 0x23,
-    0x80, 0x42, 0xe0, 0x8f, 0x8f, 0x8f, 0x11, 0x97,
-    0x82, 0x40, 0xbf, 0x89, 0xa4, 0x80, 0x42, 0xbc,
-    0x80, 0x40, 0xe1, 0x80, 0x40, 0x94, 0x84, 0x41,
-    0x24, 0x89, 0x45, 0x56, 0x10, 0x0c, 0x83, 0xa7,
-    0x13, 0x80, 0x40, 0xa4, 0x81, 0x42, 0x3c, 0x1f,
-    0x89, 0x41, 0x70, 0x81, 0xcf, 0x82, 0xc5, 0x8a,
-    0xb0, 0x83, 0xf9, 0x82, 0xb4, 0x8e, 0x9e, 0x8a,
-    0x09, 0x89, 0x83, 0xac, 0x8a, 0x30, 0xac, 0x89,
-    0x2a, 0xa3, 0x8d, 0x80, 0x89, 0x21, 0xab, 0x80,
-    0x8b, 0x82, 0xaf, 0x8d, 0x3b, 0x80, 0x8b, 0xd1,
-    0x8b, 0x28, 0x08, 0x40, 0x9c, 0x8b, 0x84, 0x89,
-    0x2b, 0xb6, 0x08, 0x31, 0x09, 0x82, 0x88, 0x80,
-    0x89, 0x09, 0x32, 0x84, 0x40, 0xbf, 0x91, 0x88,
-    0x89, 0x18, 0xd0, 0x93, 0x8b, 0x89, 0x40, 0xd4,
-    0x31, 0x88, 0x9a, 0x81, 0xd1, 0x90, 0x8e, 0x89,
-    0xd0, 0x8c, 0x87, 0x89, 0xd2, 0x8e, 0x83, 0x89,
-    0x40, 0xf1, 0x8e, 0x40, 0xa4, 0x89, 0xc5, 0x28,
-    0x09, 0x18, 0x00, 0x81, 0x8b, 0x89, 0xf6, 0x31,
-    0x32, 0x80, 0x9b, 0x89, 0xa7, 0x30, 0x1f, 0x80,
-    0x88, 0x8a, 0xad, 0x8f, 0x41, 0x94, 0x38, 0x87,
-    0x8f, 0x89, 0xb7, 0x95, 0x80, 0x8d, 0xf9, 0x2a,
-    0x00, 0x08, 0x30, 0x07, 0x89, 0xaf, 0x20, 0x08,
-    0x27, 0x89, 0x41, 0x48, 0x83, 0x88, 0x08, 0x80,
-    0xaf, 0x32, 0x84, 0x8c, 0x89, 0x54, 0xe5, 0x05,
-    0x8e, 0x60, 0x36, 0x09, 0x89, 0xd5, 0x89, 0xa5,
-    0x84, 0xba, 0x86, 0x98, 0x89, 0x43, 0xf4, 0x00,
-    0xb6, 0x33, 0xd0, 0x80, 0x8a, 0x81, 0x60, 0x4c,
-    0xaa, 0x81, 0x52, 0x60, 0xad, 0x81, 0x96, 0x42,
-    0x1d, 0x22, 0x2f, 0x39, 0x86, 0x9d, 0x83, 0x40,
-    0x93, 0x82, 0x45, 0x88, 0xb1, 0x41, 0xff, 0xb6,
-    0x83, 0xb1, 0x38, 0x8d, 0x80, 0x95, 0x20, 0x8e,
-    0x45, 0x4f, 0x30, 0x90, 0x0e, 0x01, 0x04, 0xe3,
-    0x80, 0x40, 0x9f, 0x86, 0x88, 0x89, 0x41, 0x63,
-    0x80, 0xbc, 0x8d, 0x41, 0xf1, 0x8d, 0x43, 0xd5,
-    0x86, 0xec, 0x34, 0x89, 0x52, 0x95, 0x89, 0x6c,
-    0x05, 0x05, 0x40, 0xef,
+    0x28, 0x0a, 0x40, 0xc5, 0xbf, 0x42, 0x0b, 0x81,
+    0xb0, 0x81, 0x92, 0x80, 0xfa, 0x8c, 0x18, 0x82,
+    0x8b, 0x4b, 0xfd, 0x82, 0x40, 0x8c, 0x80, 0xdf,
+    0x9f, 0x42, 0x29, 0x85, 0xe8, 0x81, 0xdf, 0x80,
+    0x60, 0x75, 0x23, 0x89, 0xc4, 0x03, 0x89, 0x9f,
+    0x81, 0xcf, 0x81, 0x41, 0x0f, 0x02, 0x03, 0x80,
+    0x96, 0x23, 0x80, 0xd2, 0x81, 0xb1, 0x91, 0x89,
+    0x89, 0x85, 0x91, 0x8c, 0x8a, 0x9b, 0x87, 0x98,
+    0x8c, 0xab, 0x83, 0xae, 0x8d, 0x8e, 0x89, 0x8a,
+    0x80, 0x89, 0x89, 0xae, 0x8d, 0x8b, 0x07, 0x09,
+    0x89, 0xa0, 0x82, 0xb1, 0x00, 0x11, 0x0c, 0x08,
+    0x80, 0xa8, 0x24, 0x81, 0x40, 0xeb, 0x38, 0x09,
+    0x89, 0x60, 0x4f, 0x23, 0x80, 0x42, 0xe0, 0x8f,
+    0x8f, 0x8f, 0x11, 0x97, 0x82, 0x40, 0xbf, 0x89,
+    0xa4, 0x80, 0xa4, 0x80, 0x42, 0x96, 0x80, 0x40,
+    0xe1, 0x80, 0x40, 0x94, 0x84, 0x41, 0x24, 0x89,
+    0x45, 0x56, 0x10, 0x0c, 0x83, 0xa7, 0x13, 0x80,
+    0x40, 0xa4, 0x81, 0x42, 0x3c, 0x1f, 0x89, 0x85,
+    0x89, 0x9e, 0x84, 0x41, 0x3c, 0x81, 0xce, 0x83,
+    0xc5, 0x8a, 0xb0, 0x83, 0xf9, 0x82, 0xb4, 0x8e,
+    0x9e, 0x8a, 0x09, 0x89, 0x83, 0xac, 0x8a, 0x30,
+    0xac, 0x89, 0x2a, 0xa3, 0x8d, 0x80, 0x89, 0x21,
+    0xab, 0x80, 0x8b, 0x82, 0xaf, 0x8d, 0x3b, 0x80,
+    0x8b, 0xd1, 0x8b, 0x28, 0x08, 0x40, 0x9c, 0x8b,
+    0x84, 0x89, 0x2b, 0xb6, 0x08, 0x31, 0x09, 0x82,
+    0x88, 0x80, 0x89, 0x09, 0x32, 0x84, 0xc2, 0x88,
+    0x00, 0x08, 0x03, 0x04, 0x00, 0x8d, 0x81, 0xd1,
+    0x91, 0x88, 0x89, 0x18, 0xd0, 0x93, 0x8b, 0x89,
+    0x40, 0xd4, 0x31, 0x88, 0x9a, 0x81, 0xd1, 0x90,
+    0x8e, 0x89, 0xd0, 0x8c, 0x87, 0x89, 0x85, 0x93,
+    0xb8, 0x8e, 0x83, 0x89, 0x40, 0xf1, 0x8e, 0x40,
+    0xa4, 0x89, 0xc5, 0x28, 0x09, 0x18, 0x00, 0x81,
+    0x8b, 0x89, 0xf6, 0x31, 0x32, 0x80, 0x9b, 0x89,
+    0xa7, 0x30, 0x1f, 0x80, 0x88, 0x8a, 0xad, 0x8f,
+    0x41, 0x55, 0x89, 0xb4, 0x38, 0x87, 0x8f, 0x89,
+    0xb7, 0x95, 0x80, 0x8d, 0xf9, 0x2a, 0x00, 0x08,
+    0x30, 0x07, 0x89, 0xaf, 0x20, 0x08, 0x27, 0x89,
+    0x41, 0x48, 0x83, 0x88, 0x08, 0x80, 0xaf, 0x32,
+    0x84, 0x8c, 0x8a, 0x54, 0xe4, 0x05, 0x8e, 0x60,
+    0x2c, 0xc7, 0x9b, 0x49, 0x25, 0x89, 0xd5, 0x89,
+    0xa5, 0x84, 0xba, 0x86, 0x98, 0x89, 0x42, 0x15,
+    0x89, 0x41, 0xd4, 0x00, 0xb6, 0x33, 0xd0, 0x80,
+    0x8a, 0x81, 0x60, 0x4c, 0xaa, 0x81, 0x50, 0x50,
+    0x89, 0x42, 0x05, 0xad, 0x81, 0x96, 0x42, 0x1d,
+    0x22, 0x2f, 0x39, 0x86, 0x9d, 0x83, 0x40, 0x93,
+    0x82, 0x45, 0x88, 0xb1, 0x41, 0xff, 0xb6, 0x83,
+    0xb1, 0x38, 0x8d, 0x80, 0x95, 0x20, 0x8e, 0x45,
+    0x4f, 0x30, 0x90, 0x0e, 0x01, 0x04, 0xe3, 0x80,
+    0x40, 0x9f, 0x86, 0x88, 0x89, 0x41, 0x63, 0x80,
+    0xbc, 0x8d, 0x41, 0xf1, 0x8d, 0x40, 0xf3, 0x08,
+    0x89, 0x42, 0xd4, 0x86, 0xec, 0x34, 0x89, 0x52,
+    0x95, 0x89, 0x6c, 0x05, 0x05, 0x40, 0xef,
 };
 
-static const uint8_t unicode_prop_ID_Continue1_index[63] = {
+static const uint8_t unicode_prop_ID_Continue1_index[66] = {
     0xfa, 0x06, 0x00,  //  006FA at 32
     0x70, 0x09, 0x00,  //  00970 at 64
     0xf0, 0x0a, 0x40,  //  00AF0 at 98
@@ -594,24 +609,25 @@ static const uint8_t unicode_prop_ID_Continue1_index[63] = {
     0xc7, 0x0f, 0x20,  //  00FC7 at 193
     0xea, 0x17, 0x40,  //  017EA at 226
     0x05, 0x1b, 0x00,  //  01B05 at 256
-    0x41, 0x20, 0x00,  //  02041 at 288
-    0x0c, 0xa8, 0x80,  //  0A80C at 324
-    0x37, 0xaa, 0x20,  //  0AA37 at 353
-    0x50, 0xfe, 0x20,  //  0FE50 at 385
-    0x3a, 0x0d, 0x21,  //  10D3A at 417
-    0x74, 0x11, 0x01,  //  11174 at 448
-    0x5a, 0x14, 0x21,  //  1145A at 481
-    0x44, 0x19, 0x81,  //  11944 at 516
-    0x5a, 0x1d, 0xa1,  //  11D5A at 549
-    0xf5, 0x6a, 0x21,  //  16AF5 at 577
-    0x45, 0xd2, 0x41,  //  1D245 at 610
-    0xaf, 0xe2, 0x21,  //  1E2AF at 641
-    0xf0, 0x01, 0x0e,  //  E01F0 at 672 (upper bound)
+    0x0e, 0x20, 0x00,  //  0200E at 288
+    0xa0, 0xa6, 0x20,  //  0A6A0 at 321
+    0xe6, 0xa9, 0x20,  //  0A9E6 at 353
+    0x10, 0xfe, 0x00,  //  0FE10 at 384
+    0x40, 0x0a, 0x01,  //  10A40 at 416
+    0xc3, 0x10, 0x01,  //  110C3 at 448
+    0x4e, 0x13, 0x01,  //  1134E at 480
+    0x41, 0x16, 0x01,  //  11641 at 512
+    0x0b, 0x1a, 0x01,  //  11A0B at 544
+    0xaa, 0x1d, 0x01,  //  11DAA at 576
+    0x7a, 0x6d, 0x21,  //  16D7A at 609
+    0x45, 0xd2, 0x21,  //  1D245 at 641
+    0xaf, 0xe2, 0x01,  //  1E2AF at 672
+    0xf0, 0x01, 0x0e,  //  E01F0 at 704 (upper bound)
 };
 
 #ifdef CONFIG_ALL_UNICODE
 
-static const uint8_t unicode_cc_table[899] = {
+static const uint8_t unicode_cc_table[916] = {
     0xb2, 0xcf, 0xd4, 0x00, 0xe8, 0x03, 0xdc, 0x00,
     0xe8, 0x00, 0xd8, 0x04, 0xdc, 0x01, 0xca, 0x03,
     0xdc, 0x01, 0xca, 0x0a, 0xdc, 0x04, 0x01, 0x03,
@@ -635,7 +651,7 @@ static const uint8_t unicode_cc_table[899] = {
     0xc0, 0x00, 0xdc, 0xc0, 0x00, 0xdc, 0xc1, 0xb0,
     0x6f, 0xc6, 0x00, 0xdc, 0xc0, 0x88, 0x00, 0xdc,
     0x97, 0xc3, 0x80, 0xc8, 0x80, 0xc2, 0x80, 0xc4,
-    0xaa, 0x02, 0xdc, 0xb0, 0x0b, 0xc0, 0x02, 0xdc,
+    0xaa, 0x02, 0xdc, 0xb0, 0x0a, 0xc1, 0x02, 0xdc,
     0xc3, 0xa9, 0xc4, 0x04, 0xdc, 0xcd, 0x80, 0x00,
     0xdc, 0xc1, 0x00, 0xdc, 0xc1, 0x00, 0xdc, 0xc2,
     0x02, 0xdc, 0x42, 0x1b, 0xc2, 0x00, 0xdc, 0xc1,
@@ -693,38 +709,40 @@ static const uint8_t unicode_cc_table[899] = {
     0xdc, 0xb0, 0xb1, 0x00, 0xdc, 0xb0, 0x64, 0xc4,
     0xb6, 0x61, 0x00, 0xdc, 0x80, 0xc0, 0xa7, 0xc0,
     0x00, 0x01, 0x00, 0xdc, 0x83, 0x00, 0x09, 0xb0,
-    0x74, 0xc0, 0x00, 0xdc, 0xb2, 0x0c, 0xc3, 0xb1,
-    0x52, 0xc1, 0xb0, 0x1f, 0x02, 0xdc, 0xb0, 0x15,
-    0x01, 0xdc, 0xc2, 0x00, 0xdc, 0xc0, 0x03, 0xdc,
-    0xb0, 0x00, 0xc0, 0x00, 0xdc, 0xc0, 0x00, 0xdc,
-    0xb0, 0x8f, 0x00, 0x09, 0xa8, 0x00, 0x09, 0x8d,
-    0x00, 0x09, 0xb0, 0x08, 0x00, 0x09, 0x00, 0x07,
-    0xb0, 0x14, 0xc2, 0xaf, 0x01, 0x09, 0xb0, 0x0d,
-    0x00, 0x07, 0xb0, 0x1b, 0x00, 0x09, 0x88, 0x00,
-    0x07, 0xb0, 0x39, 0x00, 0x09, 0x00, 0x07, 0xb0,
-    0x81, 0x00, 0x07, 0x00, 0x09, 0xb0, 0x1f, 0x01,
-    0x07, 0x8f, 0x00, 0x09, 0x97, 0xc6, 0x82, 0xc4,
-    0xb0, 0x9c, 0x00, 0x09, 0x82, 0x00, 0x07, 0x96,
-    0xc0, 0xb0, 0x32, 0x00, 0x09, 0x00, 0x07, 0xb0,
-    0xca, 0x00, 0x09, 0x00, 0x07, 0xb0, 0x4d, 0x00,
-    0x09, 0xb0, 0x45, 0x00, 0x09, 0x00, 0x07, 0xb0,
-    0x42, 0x00, 0x09, 0xb0, 0xdc, 0x00, 0x09, 0x00,
-    0x07, 0xb0, 0xd1, 0x01, 0x09, 0x83, 0x00, 0x07,
-    0xb0, 0x6b, 0x00, 0x09, 0xb0, 0x22, 0x00, 0x09,
-    0x91, 0x00, 0x09, 0xb0, 0x20, 0x00, 0x09, 0xb1,
-    0x74, 0x00, 0x09, 0xb0, 0xd1, 0x00, 0x07, 0x80,
-    0x01, 0x09, 0xb0, 0x20, 0x00, 0x09, 0xb1, 0x78,
-    0x01, 0x09, 0xb8, 0x43, 0x7c, 0x04, 0x01, 0xb0,
-    0x0a, 0xc6, 0xb4, 0x88, 0x01, 0x06, 0xb8, 0x44,
-    0x7b, 0x00, 0x01, 0xb8, 0x0c, 0x95, 0x01, 0xd8,
-    0x02, 0x01, 0x82, 0x00, 0xe2, 0x04, 0xd8, 0x87,
-    0x07, 0xdc, 0x81, 0xc4, 0x01, 0xdc, 0x9d, 0xc3,
-    0xb0, 0x63, 0xc2, 0xb8, 0x05, 0x8a, 0xc6, 0x80,
-    0xd0, 0x81, 0xc6, 0x80, 0xc1, 0x80, 0xc4, 0xb0,
-    0x33, 0xc0, 0xb0, 0x6f, 0xc6, 0xb1, 0x46, 0xc0,
-    0xb0, 0x0c, 0xc3, 0xb1, 0xcb, 0x01, 0xe8, 0x00,
-    0xdc, 0xc0, 0xb3, 0xaf, 0x06, 0xdc, 0xb0, 0x3c,
-    0xc5, 0x00, 0x07,
+    0x74, 0xc0, 0x00, 0xdc, 0xb2, 0x0c, 0xc3, 0xb0,
+    0x10, 0xc4, 0xb1, 0x0c, 0xc1, 0xb0, 0x1f, 0x02,
+    0xdc, 0xb0, 0x15, 0x01, 0xdc, 0xc2, 0x00, 0xdc,
+    0xc0, 0x03, 0xdc, 0xb0, 0x00, 0xc0, 0x00, 0xdc,
+    0xc0, 0x00, 0xdc, 0xb0, 0x8f, 0x00, 0x09, 0xa8,
+    0x00, 0x09, 0x8d, 0x00, 0x09, 0xb0, 0x08, 0x00,
+    0x09, 0x00, 0x07, 0xb0, 0x14, 0xc2, 0xaf, 0x01,
+    0x09, 0xb0, 0x0d, 0x00, 0x07, 0xb0, 0x1b, 0x00,
+    0x09, 0x88, 0x00, 0x07, 0xb0, 0x39, 0x00, 0x09,
+    0x00, 0x07, 0xb0, 0x81, 0x00, 0x07, 0x00, 0x09,
+    0xb0, 0x1f, 0x01, 0x07, 0x8f, 0x00, 0x09, 0x97,
+    0xc6, 0x82, 0xc4, 0xb0, 0x28, 0x02, 0x09, 0xb0,
+    0x40, 0x00, 0x09, 0x82, 0x00, 0x07, 0x96, 0xc0,
+    0xb0, 0x32, 0x00, 0x09, 0x00, 0x07, 0xb0, 0xca,
+    0x00, 0x09, 0x00, 0x07, 0xb0, 0x4d, 0x00, 0x09,
+    0xb0, 0x45, 0x00, 0x09, 0x00, 0x07, 0xb0, 0x42,
+    0x00, 0x09, 0xb0, 0xdc, 0x00, 0x09, 0x00, 0x07,
+    0xb0, 0xd1, 0x01, 0x09, 0x83, 0x00, 0x07, 0xb0,
+    0x6b, 0x00, 0x09, 0xb0, 0x22, 0x00, 0x09, 0x91,
+    0x00, 0x09, 0xb0, 0x20, 0x00, 0x09, 0xb1, 0x74,
+    0x00, 0x09, 0xb0, 0xd1, 0x00, 0x07, 0x80, 0x01,
+    0x09, 0xb0, 0x20, 0x00, 0x09, 0xb1, 0x78, 0x01,
+    0x09, 0xb8, 0x39, 0xbb, 0x00, 0x09, 0xb8, 0x01,
+    0x8f, 0x04, 0x01, 0xb0, 0x0a, 0xc6, 0xb4, 0x88,
+    0x01, 0x06, 0xb8, 0x44, 0x7b, 0x00, 0x01, 0xb8,
+    0x0c, 0x95, 0x01, 0xd8, 0x02, 0x01, 0x82, 0x00,
+    0xe2, 0x04, 0xd8, 0x87, 0x07, 0xdc, 0x81, 0xc4,
+    0x01, 0xdc, 0x9d, 0xc3, 0xb0, 0x63, 0xc2, 0xb8,
+    0x05, 0x8a, 0xc6, 0x80, 0xd0, 0x81, 0xc6, 0x80,
+    0xc1, 0x80, 0xc4, 0xb0, 0x33, 0xc0, 0xb0, 0x6f,
+    0xc6, 0xb1, 0x46, 0xc0, 0xb0, 0x0c, 0xc3, 0xb1,
+    0xcb, 0x01, 0xe8, 0x00, 0xdc, 0xc0, 0xb0, 0xcd,
+    0xc0, 0x00, 0xdc, 0xb2, 0xaf, 0x06, 0xdc, 0xb0,
+    0x3c, 0xc5, 0x00, 0x07,
 };
 
 static const uint8_t unicode_cc_index[87] = {
@@ -748,18 +766,18 @@ static const uint8_t unicode_cc_index[87] = {
     0x2b, 0xa9, 0x20,  //  0A92B at 577
     0xed, 0xab, 0x00,  //  0ABED at 608
     0x39, 0x0a, 0x01,  //  10A39 at 640
-    0x51, 0x0f, 0x01,  //  10F51 at 672
-    0x73, 0x11, 0x01,  //  11173 at 704
-    0x75, 0x13, 0x01,  //  11375 at 736
-    0x2b, 0x17, 0x21,  //  1172B at 769
-    0x3f, 0x1c, 0x21,  //  11C3F at 801
-    0x9e, 0xbc, 0x21,  //  1BC9E at 833
-    0x08, 0xe0, 0x01,  //  1E008 at 864
-    0x44, 0xe9, 0x01,  //  1E944 at 896
+    0x4c, 0x0f, 0x01,  //  10F4C at 672
+    0x35, 0x11, 0x21,  //  11135 at 705
+    0x66, 0x13, 0x01,  //  11366 at 736
+    0x40, 0x16, 0x01,  //  11640 at 768
+    0x47, 0x1a, 0x01,  //  11A47 at 800
+    0xf0, 0x6a, 0x21,  //  16AF0 at 833
+    0x8a, 0xd1, 0x01,  //  1D18A at 864
+    0xec, 0xe4, 0x21,  //  1E4EC at 897
     0x4b, 0xe9, 0x01,  //  1E94B at 928 (upper bound)
 };
 
-static const uint32_t unicode_decomp_table1[699] = {
+static const uint32_t unicode_decomp_table1[709] = {
     0x00280081, 0x002a0097, 0x002a8081, 0x002bc097,
     0x002c8115, 0x002d0097, 0x002d4081, 0x002e0097,
     0x002e4115, 0x002f0199, 0x00302016, 0x00400842,
@@ -902,42 +920,45 @@ static const uint32_t unicode_decomp_table1[699] = {
     0x3f9c01af, 0x3f9d0085, 0x3f9d852f, 0x3fa03aad,
     0x3fbd442f, 0x3fc06f1f, 0x3fd7c11f, 0x3fd85fad,
     0x3fe80081, 0x3fe84f1f, 0x3ff0831f, 0x3ff2831f,
-    0x3ff4831f, 0x3ff6819f, 0x3ff80783, 0x41e04d83,
-    0x41e70f91, 0x44268192, 0x442ac092, 0x444b8112,
-    0x44d2c112, 0x452ec212, 0x456e8112, 0x464e0092,
-    0x74578392, 0x746ec312, 0x75000d1f, 0x75068d1f,
-    0x750d0d1f, 0x7513839f, 0x7515891f, 0x751a0d1f,
-    0x75208d1f, 0x75271015, 0x752f439f, 0x7531459f,
-    0x75340d1f, 0x753a8d1f, 0x75410395, 0x7543441f,
-    0x7545839f, 0x75478d1f, 0x754e0795, 0x7552839f,
-    0x75548d1f, 0x755b0d1f, 0x75618d1f, 0x75680d1f,
-    0x756e8d1f, 0x75750d1f, 0x757b8d1f, 0x75820d1f,
-    0x75888d1f, 0x758f0d1f, 0x75958d1f, 0x759c0d1f,
-    0x75a28d1f, 0x75a90103, 0x75aa089f, 0x75ae4081,
-    0x75ae839f, 0x75b04081, 0x75b08c9f, 0x75b6c081,
-    0x75b7032d, 0x75b8889f, 0x75bcc081, 0x75bd039f,
-    0x75bec081, 0x75bf0c9f, 0x75c54081, 0x75c5832d,
-    0x75c7089f, 0x75cb4081, 0x75cb839f, 0x75cd4081,
-    0x75cd8c9f, 0x75d3c081, 0x75d4032d, 0x75d5889f,
-    0x75d9c081, 0x75da039f, 0x75dbc081, 0x75dc0c9f,
-    0x75e24081, 0x75e2832d, 0x75e4089f, 0x75e84081,
-    0x75e8839f, 0x75ea4081, 0x75ea8c9f, 0x75f0c081,
-    0x75f1042d, 0x75f3851f, 0x75f6051f, 0x75f8851f,
-    0x75fb051f, 0x75fd851f, 0x780c049f, 0x780e419f,
-    0x780f059f, 0x7811c203, 0x7812d0ad, 0x781b0103,
-    0x7b80022d, 0x7b814dad, 0x7b884203, 0x7b89c081,
-    0x7b8a452d, 0x7b8d0403, 0x7b908081, 0x7b91dc03,
-    0x7ba0052d, 0x7ba2c8ad, 0x7ba84483, 0x7baac8ad,
-    0x7c400097, 0x7c404521, 0x7c440d25, 0x7c4a8087,
-    0x7c4ac115, 0x7c4b4117, 0x7c4c0d1f, 0x7c528217,
-    0x7c538099, 0x7c53c097, 0x7c5a8197, 0x7c640097,
-    0x7c80012f, 0x7c808081, 0x7c841603, 0x7c9004c1,
-    0x7c940103, 0x7efc051f, 0xbe0001ac, 0xbe00d110,
-    0xbe0947ac, 0xbe0d3910, 0xbe29872c, 0xbe2d022c,
-    0xbe2e3790, 0xbe49ff90, 0xbe69bc10,
+    0x3ff4831f, 0x3ff6819f, 0x3ff80783, 0x41724092,
+    0x41790092, 0x41e04d83, 0x41e70f91, 0x44268192,
+    0x442ac092, 0x444b8112, 0x44d2c112, 0x44e0c192,
+    0x44e38092, 0x44e44092, 0x44f14212, 0x452ec212,
+    0x456e8112, 0x464e0092, 0x58484412, 0x5b5a0192,
+    0x73358d1f, 0x733c051f, 0x74578392, 0x746ec312,
+    0x75000d1f, 0x75068d1f, 0x750d0d1f, 0x7513839f,
+    0x7515891f, 0x751a0d1f, 0x75208d1f, 0x75271015,
+    0x752f439f, 0x7531459f, 0x75340d1f, 0x753a8d1f,
+    0x75410395, 0x7543441f, 0x7545839f, 0x75478d1f,
+    0x754e0795, 0x7552839f, 0x75548d1f, 0x755b0d1f,
+    0x75618d1f, 0x75680d1f, 0x756e8d1f, 0x75750d1f,
+    0x757b8d1f, 0x75820d1f, 0x75888d1f, 0x758f0d1f,
+    0x75958d1f, 0x759c0d1f, 0x75a28d1f, 0x75a90103,
+    0x75aa089f, 0x75ae4081, 0x75ae839f, 0x75b04081,
+    0x75b08c9f, 0x75b6c081, 0x75b7032d, 0x75b8889f,
+    0x75bcc081, 0x75bd039f, 0x75bec081, 0x75bf0c9f,
+    0x75c54081, 0x75c5832d, 0x75c7089f, 0x75cb4081,
+    0x75cb839f, 0x75cd4081, 0x75cd8c9f, 0x75d3c081,
+    0x75d4032d, 0x75d5889f, 0x75d9c081, 0x75da039f,
+    0x75dbc081, 0x75dc0c9f, 0x75e24081, 0x75e2832d,
+    0x75e4089f, 0x75e84081, 0x75e8839f, 0x75ea4081,
+    0x75ea8c9f, 0x75f0c081, 0x75f1042d, 0x75f3851f,
+    0x75f6051f, 0x75f8851f, 0x75fb051f, 0x75fd851f,
+    0x780c049f, 0x780e419f, 0x780f059f, 0x7811c203,
+    0x7812d0ad, 0x781b0103, 0x7b80022d, 0x7b814dad,
+    0x7b884203, 0x7b89c081, 0x7b8a452d, 0x7b8d0403,
+    0x7b908081, 0x7b91dc03, 0x7ba0052d, 0x7ba2c8ad,
+    0x7ba84483, 0x7baac8ad, 0x7c400097, 0x7c404521,
+    0x7c440d25, 0x7c4a8087, 0x7c4ac115, 0x7c4b4117,
+    0x7c4c0d1f, 0x7c528217, 0x7c538099, 0x7c53c097,
+    0x7c5a8197, 0x7c640097, 0x7c80012f, 0x7c808081,
+    0x7c841603, 0x7c9004c1, 0x7c940103, 0x7efc051f,
+    0xbe0001ac, 0xbe00d110, 0xbe0947ac, 0xbe0d3910,
+    0xbe29872c, 0xbe2d022c, 0xbe2e3790, 0xbe49ff90,
+    0xbe69bc10,
 };
 
-static const uint16_t unicode_decomp_table2[699] = {
+static const uint16_t unicode_decomp_table2[709] = {
     0x0020, 0x0000, 0x0061, 0x0002, 0x0004, 0x0006, 0x03bc, 0x0008,
     0x000a, 0x000c, 0x0015, 0x0095, 0x00a5, 0x00b9, 0x00c1, 0x00c3,
     0x00c7, 0x00cb, 0x00d1, 0x00d7, 0x00dd, 0x00e0, 0x00e6, 0x00f8,
@@ -1009,26 +1030,27 @@ static const uint16_t unicode_decomp_table2[699] = {
     0x1a77, 0x1a7f, 0x1a9d, 0x1aa2, 0x1ab6, 0x1ac0, 0x1ac6, 0x1ada,
     0x1adf, 0x1ae5, 0x1af3, 0x1b23, 0x1b30, 0x1b38, 0x1b3c, 0x1b52,
     0x1bc9, 0x1bdb, 0x1bdd, 0x1bdf, 0x3164, 0x1c20, 0x1c22, 0x1c24,
-    0x1c26, 0x1c28, 0x1c2a, 0x1c48, 0x1c7e, 0x1cc4, 0x1cd2, 0x1cd7,
-    0x1ce0, 0x1ce9, 0x1cfb, 0x1d04, 0x1d09, 0x1d29, 0x1d44, 0x1d46,
-    0x1d48, 0x1d4a, 0x1d4c, 0x1d4e, 0x1d50, 0x1d52, 0x1d72, 0x1d74,
-    0x1d76, 0x1d78, 0x1d7a, 0x1d81, 0x1d83, 0x1d85, 0x1d87, 0x1d96,
-    0x1d98, 0x1d9a, 0x1d9c, 0x1d9e, 0x1da0, 0x1da2, 0x1da4, 0x1da6,
-    0x1da8, 0x1daa, 0x1dac, 0x1dae, 0x1db0, 0x1db2, 0x1db6, 0x03f4,
-    0x1db8, 0x2207, 0x1dba, 0x2202, 0x1dbc, 0x1dc4, 0x03f4, 0x1dc6,
-    0x2207, 0x1dc8, 0x2202, 0x1dca, 0x1dd2, 0x03f4, 0x1dd4, 0x2207,
-    0x1dd6, 0x2202, 0x1dd8, 0x1de0, 0x03f4, 0x1de2, 0x2207, 0x1de4,
-    0x2202, 0x1de6, 0x1dee, 0x03f4, 0x1df0, 0x2207, 0x1df2, 0x2202,
-    0x1df4, 0x1dfe, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, 0x1e0a,
-    0x1e0c, 0x1e0e, 0x1e16, 0x1e39, 0x1e3d, 0x1e43, 0x1e60, 0x062d,
-    0x1e68, 0x1e74, 0x062c, 0x1e84, 0x1ef4, 0x1f00, 0x1f13, 0x1f25,
-    0x1f38, 0x1f3a, 0x1f3e, 0x1f44, 0x1f4a, 0x1f4c, 0x1f50, 0x1f52,
-    0x1f5a, 0x1f5d, 0x1f5f, 0x1f65, 0x1f67, 0x30b5, 0x1f6d, 0x1fc5,
-    0x1fdb, 0x1fdf, 0x1fe1, 0x1fe6, 0x2033, 0x2044, 0x2145, 0x2155,
-    0x215b, 0x2255, 0x2373,
+    0x1c26, 0x1c28, 0x1c2a, 0x1c48, 0x1c4d, 0x1c52, 0x1c88, 0x1cce,
+    0x1cdc, 0x1ce1, 0x1cea, 0x1cf3, 0x1d01, 0x1d06, 0x1d0b, 0x1d1d,
+    0x1d2f, 0x1d38, 0x1d3d, 0x1d61, 0x1d6f, 0x1d71, 0x1d73, 0x1d93,
+    0x1dae, 0x1db0, 0x1db2, 0x1db4, 0x1db6, 0x1db8, 0x1dba, 0x1dbc,
+    0x1ddc, 0x1dde, 0x1de0, 0x1de2, 0x1de4, 0x1deb, 0x1ded, 0x1def,
+    0x1df1, 0x1e00, 0x1e02, 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c,
+    0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16, 0x1e18, 0x1e1a, 0x1e1c,
+    0x1e20, 0x03f4, 0x1e22, 0x2207, 0x1e24, 0x2202, 0x1e26, 0x1e2e,
+    0x03f4, 0x1e30, 0x2207, 0x1e32, 0x2202, 0x1e34, 0x1e3c, 0x03f4,
+    0x1e3e, 0x2207, 0x1e40, 0x2202, 0x1e42, 0x1e4a, 0x03f4, 0x1e4c,
+    0x2207, 0x1e4e, 0x2202, 0x1e50, 0x1e58, 0x03f4, 0x1e5a, 0x2207,
+    0x1e5c, 0x2202, 0x1e5e, 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70,
+    0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e80, 0x1ea3, 0x1ea7, 0x1ead,
+    0x1eca, 0x062d, 0x1ed2, 0x1ede, 0x062c, 0x1eee, 0x1f5e, 0x1f6a,
+    0x1f7d, 0x1f8f, 0x1fa2, 0x1fa4, 0x1fa8, 0x1fae, 0x1fb4, 0x1fb6,
+    0x1fba, 0x1fbc, 0x1fc4, 0x1fc7, 0x1fc9, 0x1fcf, 0x1fd1, 0x30b5,
+    0x1fd7, 0x202f, 0x2045, 0x2049, 0x204b, 0x2050, 0x209d, 0x20ae,
+    0x21af, 0x21bf, 0x21c5, 0x22bf, 0x23dd,
 };
 
-static const uint8_t unicode_decomp_data[9345] = {
+static const uint8_t unicode_decomp_data[9451] = {
     0x20, 0x88, 0x20, 0x84, 0x32, 0x33, 0x20, 0x81,
     0x20, 0xa7, 0x31, 0x6f, 0x31, 0xd0, 0x34, 0x31,
     0xd0, 0x32, 0x33, 0xd0, 0x34, 0x41, 0x80, 0x41,
@@ -1934,273 +1956,286 @@ static const uint8_t unicode_decomp_data[9345] = {
     0xaf, 0x00, 0xa6, 0x00, 0xa5, 0x00, 0xa9, 0x20,
     0x00, 0x00, 0x02, 0x25, 0x90, 0x21, 0x91, 0x21,
     0x92, 0x21, 0x93, 0x21, 0xa0, 0x25, 0xcb, 0x25,
-    0xd0, 0x02, 0xd1, 0x02, 0xe6, 0x00, 0x99, 0x02,
-    0x53, 0x02, 0x00, 0x00, 0xa3, 0x02, 0x66, 0xab,
-    0xa5, 0x02, 0xa4, 0x02, 0x56, 0x02, 0x57, 0x02,
-    0x91, 0x1d, 0x58, 0x02, 0x5e, 0x02, 0xa9, 0x02,
-    0x64, 0x02, 0x62, 0x02, 0x60, 0x02, 0x9b, 0x02,
-    0x27, 0x01, 0x9c, 0x02, 0x67, 0x02, 0x84, 0x02,
-    0xaa, 0x02, 0xab, 0x02, 0x6c, 0x02, 0x04, 0xdf,
-    0x8e, 0xa7, 0x6e, 0x02, 0x05, 0xdf, 0x8e, 0x02,
-    0x06, 0xdf, 0xf8, 0x00, 0x76, 0x02, 0x77, 0x02,
-    0x71, 0x00, 0x7a, 0x02, 0x08, 0xdf, 0x7d, 0x02,
-    0x7e, 0x02, 0x80, 0x02, 0xa8, 0x02, 0xa6, 0x02,
-    0x67, 0xab, 0xa7, 0x02, 0x88, 0x02, 0x71, 0x2c,
-    0x00, 0x00, 0x8f, 0x02, 0xa1, 0x02, 0xa2, 0x02,
-    0x98, 0x02, 0xc0, 0x01, 0xc1, 0x01, 0xc2, 0x01,
-    0x0a, 0xdf, 0x1e, 0xdf, 0x41, 0x04, 0x40, 0x00,
-    0x00, 0x00, 0x00, 0x14, 0x99, 0x10, 0xba, 0x10,
-    0x00, 0x00, 0x00, 0x00, 0x9b, 0x10, 0xba, 0x10,
-    0x05, 0x05, 0xa5, 0x10, 0xba, 0x10, 0x05, 0x31,
-    0x11, 0x27, 0x11, 0x32, 0x11, 0x27, 0x11, 0x55,
-    0x47, 0x13, 0x3e, 0x13, 0x47, 0x13, 0x57, 0x13,
-    0x55, 0xb9, 0x14, 0xba, 0x14, 0xb9, 0x14, 0xb0,
-    0x14, 0x00, 0x00, 0x00, 0x00, 0xb9, 0x14, 0xbd,
-    0x14, 0x55, 0x50, 0xb8, 0x15, 0xaf, 0x15, 0xb9,
-    0x15, 0xaf, 0x15, 0x55, 0x35, 0x19, 0x30, 0x19,
-    0x05, 0x57, 0xd1, 0x65, 0xd1, 0x58, 0xd1, 0x65,
-    0xd1, 0x5f, 0xd1, 0x6e, 0xd1, 0x5f, 0xd1, 0x6f,
-    0xd1, 0x5f, 0xd1, 0x70, 0xd1, 0x5f, 0xd1, 0x71,
-    0xd1, 0x5f, 0xd1, 0x72, 0xd1, 0x55, 0x55, 0x55,
-    0x05, 0xb9, 0xd1, 0x65, 0xd1, 0xba, 0xd1, 0x65,
-    0xd1, 0xbb, 0xd1, 0x6e, 0xd1, 0xbc, 0xd1, 0x6e,
-    0xd1, 0xbb, 0xd1, 0x6f, 0xd1, 0xbc, 0xd1, 0x6f,
-    0xd1, 0x55, 0x55, 0x55, 0x41, 0x00, 0x61, 0x00,
-    0x41, 0x00, 0x61, 0x00, 0x69, 0x00, 0x41, 0x00,
-    0x61, 0x00, 0x41, 0x00, 0x43, 0x44, 0x00, 0x00,
-    0x47, 0x00, 0x00, 0x4a, 0x4b, 0x00, 0x00, 0x4e,
-    0x4f, 0x50, 0x51, 0x00, 0x53, 0x54, 0x55, 0x56,
-    0x57, 0x58, 0x59, 0x5a, 0x61, 0x62, 0x63, 0x64,
-    0x00, 0x66, 0x68, 0x00, 0x70, 0x00, 0x41, 0x00,
-    0x61, 0x00, 0x41, 0x42, 0x00, 0x44, 0x45, 0x46,
-    0x47, 0x4a, 0x00, 0x53, 0x00, 0x61, 0x00, 0x41,
-    0x42, 0x00, 0x44, 0x45, 0x46, 0x47, 0x00, 0x49,
-    0x4a, 0x4b, 0x4c, 0x4d, 0x00, 0x4f, 0x53, 0x00,
-    0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
-    0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
-    0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x41, 0x00,
-    0x61, 0x00, 0x31, 0x01, 0x37, 0x02, 0x91, 0x03,
+    0xd2, 0x05, 0x07, 0x03, 0x01, 0xda, 0x05, 0x07,
+    0x03, 0x01, 0xd0, 0x02, 0xd1, 0x02, 0xe6, 0x00,
+    0x99, 0x02, 0x53, 0x02, 0x00, 0x00, 0xa3, 0x02,
+    0x66, 0xab, 0xa5, 0x02, 0xa4, 0x02, 0x56, 0x02,
+    0x57, 0x02, 0x91, 0x1d, 0x58, 0x02, 0x5e, 0x02,
+    0xa9, 0x02, 0x64, 0x02, 0x62, 0x02, 0x60, 0x02,
+    0x9b, 0x02, 0x27, 0x01, 0x9c, 0x02, 0x67, 0x02,
+    0x84, 0x02, 0xaa, 0x02, 0xab, 0x02, 0x6c, 0x02,
+    0x04, 0xdf, 0x8e, 0xa7, 0x6e, 0x02, 0x05, 0xdf,
+    0x8e, 0x02, 0x06, 0xdf, 0xf8, 0x00, 0x76, 0x02,
+    0x77, 0x02, 0x71, 0x00, 0x7a, 0x02, 0x08, 0xdf,
+    0x7d, 0x02, 0x7e, 0x02, 0x80, 0x02, 0xa8, 0x02,
+    0xa6, 0x02, 0x67, 0xab, 0xa7, 0x02, 0x88, 0x02,
+    0x71, 0x2c, 0x00, 0x00, 0x8f, 0x02, 0xa1, 0x02,
+    0xa2, 0x02, 0x98, 0x02, 0xc0, 0x01, 0xc1, 0x01,
+    0xc2, 0x01, 0x0a, 0xdf, 0x1e, 0xdf, 0x41, 0x04,
+    0x40, 0x00, 0x00, 0x00, 0x00, 0x14, 0x99, 0x10,
+    0xba, 0x10, 0x00, 0x00, 0x00, 0x00, 0x9b, 0x10,
+    0xba, 0x10, 0x05, 0x05, 0xa5, 0x10, 0xba, 0x10,
+    0x05, 0x31, 0x11, 0x27, 0x11, 0x32, 0x11, 0x27,
+    0x11, 0x55, 0x47, 0x13, 0x3e, 0x13, 0x47, 0x13,
+    0x57, 0x13, 0x55, 0x82, 0x13, 0xc9, 0x13, 0x00,
+    0x00, 0x00, 0x00, 0x84, 0x13, 0xbb, 0x13, 0x05,
+    0x05, 0x8b, 0x13, 0xc2, 0x13, 0x05, 0x90, 0x13,
+    0xc9, 0x13, 0x05, 0xc2, 0x13, 0xc2, 0x13, 0x00,
+    0x00, 0x00, 0x00, 0xc2, 0x13, 0xb8, 0x13, 0xc2,
+    0x13, 0xc9, 0x13, 0x05, 0x55, 0xb9, 0x14, 0xba,
+    0x14, 0xb9, 0x14, 0xb0, 0x14, 0x00, 0x00, 0x00,
+    0x00, 0xb9, 0x14, 0xbd, 0x14, 0x55, 0x50, 0xb8,
+    0x15, 0xaf, 0x15, 0xb9, 0x15, 0xaf, 0x15, 0x55,
+    0x35, 0x19, 0x30, 0x19, 0x05, 0x1e, 0x61, 0x1e,
+    0x61, 0x1e, 0x61, 0x29, 0x61, 0x1e, 0x61, 0x1f,
+    0x61, 0x29, 0x61, 0x1f, 0x61, 0x1e, 0x61, 0x20,
+    0x61, 0x21, 0x61, 0x1f, 0x61, 0x22, 0x61, 0x1f,
+    0x61, 0x21, 0x61, 0x20, 0x61, 0x55, 0x55, 0x55,
+    0x55, 0x67, 0x6d, 0x67, 0x6d, 0x63, 0x6d, 0x67,
+    0x6d, 0x69, 0x6d, 0x67, 0x6d, 0x55, 0x05, 0x41,
+    0x00, 0x30, 0x00, 0x57, 0xd1, 0x65, 0xd1, 0x58,
+    0xd1, 0x65, 0xd1, 0x5f, 0xd1, 0x6e, 0xd1, 0x5f,
+    0xd1, 0x6f, 0xd1, 0x5f, 0xd1, 0x70, 0xd1, 0x5f,
+    0xd1, 0x71, 0xd1, 0x5f, 0xd1, 0x72, 0xd1, 0x55,
+    0x55, 0x55, 0x05, 0xb9, 0xd1, 0x65, 0xd1, 0xba,
+    0xd1, 0x65, 0xd1, 0xbb, 0xd1, 0x6e, 0xd1, 0xbc,
+    0xd1, 0x6e, 0xd1, 0xbb, 0xd1, 0x6f, 0xd1, 0xbc,
+    0xd1, 0x6f, 0xd1, 0x55, 0x55, 0x55, 0x41, 0x00,
+    0x61, 0x00, 0x41, 0x00, 0x61, 0x00, 0x69, 0x00,
+    0x41, 0x00, 0x61, 0x00, 0x41, 0x00, 0x43, 0x44,
+    0x00, 0x00, 0x47, 0x00, 0x00, 0x4a, 0x4b, 0x00,
+    0x00, 0x4e, 0x4f, 0x50, 0x51, 0x00, 0x53, 0x54,
+    0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x61, 0x62,
+    0x63, 0x64, 0x00, 0x66, 0x68, 0x00, 0x70, 0x00,
+    0x41, 0x00, 0x61, 0x00, 0x41, 0x42, 0x00, 0x44,
+    0x45, 0x46, 0x47, 0x4a, 0x00, 0x53, 0x00, 0x61,
+    0x00, 0x41, 0x42, 0x00, 0x44, 0x45, 0x46, 0x47,
+    0x00, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x00, 0x4f,
+    0x53, 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00,
+    0x41, 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00,
+    0x41, 0x00, 0x61, 0x00, 0x41, 0x00, 0x61, 0x00,
+    0x41, 0x00, 0x61, 0x00, 0x31, 0x01, 0x37, 0x02,
+    0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03,
+    0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03,
     0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00,
     0x1f, 0x04, 0x20, 0x05, 0x91, 0x03, 0xa3, 0x03,
     0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04,
     0x20, 0x05, 0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03,
     0xd1, 0x03, 0x24, 0x00, 0x1f, 0x04, 0x20, 0x05,
     0x91, 0x03, 0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03,
-    0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x91, 0x03,
-    0xa3, 0x03, 0xb1, 0x03, 0xd1, 0x03, 0x24, 0x00,
-    0x1f, 0x04, 0x20, 0x05, 0x0b, 0x0c, 0x30, 0x00,
+    0x24, 0x00, 0x1f, 0x04, 0x20, 0x05, 0x0b, 0x0c,
     0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
-    0x30, 0x04, 0x3a, 0x04, 0x3e, 0x04, 0x4b, 0x04,
-    0x4d, 0x04, 0x4e, 0x04, 0x89, 0xa6, 0x30, 0x04,
-    0xa9, 0x26, 0x28, 0xb9, 0x7f, 0x9f, 0x00, 0x01,
-    0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x0a,
-    0x0b, 0x0e, 0x0f, 0x11, 0x13, 0x14, 0x15, 0x16,
-    0x17, 0x18, 0x1a, 0x1b, 0x61, 0x26, 0x25, 0x2f,
-    0x7b, 0x51, 0xa6, 0xb1, 0x04, 0x27, 0x06, 0x00,
-    0x01, 0x05, 0x08, 0x2a, 0x06, 0x1e, 0x08, 0x03,
-    0x0d, 0x20, 0x19, 0x1a, 0x1b, 0x1c, 0x09, 0x0f,
-    0x17, 0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04,
-    0x06, 0x0c, 0x0e, 0x10, 0x44, 0x90, 0x77, 0x45,
-    0x28, 0x06, 0x2c, 0x06, 0x00, 0x00, 0x47, 0x06,
-    0x33, 0x06, 0x17, 0x10, 0x11, 0x12, 0x13, 0x00,
-    0x06, 0x0e, 0x02, 0x0f, 0x34, 0x06, 0x2a, 0x06,
-    0x2b, 0x06, 0x2e, 0x06, 0x00, 0x00, 0x36, 0x06,
-    0x00, 0x00, 0x3a, 0x06, 0x2d, 0x06, 0x00, 0x00,
-    0x4a, 0x06, 0x00, 0x00, 0x44, 0x06, 0x00, 0x00,
-    0x46, 0x06, 0x33, 0x06, 0x39, 0x06, 0x00, 0x00,
-    0x35, 0x06, 0x42, 0x06, 0x00, 0x00, 0x34, 0x06,
-    0x00, 0x00, 0x00, 0x00, 0x2e, 0x06, 0x00, 0x00,
-    0x36, 0x06, 0x00, 0x00, 0x3a, 0x06, 0x00, 0x00,
-    0xba, 0x06, 0x00, 0x00, 0x6f, 0x06, 0x00, 0x00,
-    0x28, 0x06, 0x2c, 0x06, 0x00, 0x00, 0x47, 0x06,
-    0x00, 0x00, 0x00, 0x00, 0x2d, 0x06, 0x37, 0x06,
-    0x4a, 0x06, 0x43, 0x06, 0x00, 0x00, 0x45, 0x06,
-    0x46, 0x06, 0x33, 0x06, 0x39, 0x06, 0x41, 0x06,
-    0x35, 0x06, 0x42, 0x06, 0x00, 0x00, 0x34, 0x06,
+    0x30, 0x00, 0x30, 0x04, 0x3a, 0x04, 0x3e, 0x04,
+    0x4b, 0x04, 0x4d, 0x04, 0x4e, 0x04, 0x89, 0xa6,
+    0x30, 0x04, 0xa9, 0x26, 0x28, 0xb9, 0x7f, 0x9f,
+    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
+    0x08, 0x0a, 0x0b, 0x0e, 0x0f, 0x11, 0x13, 0x14,
+    0x15, 0x16, 0x17, 0x18, 0x1a, 0x1b, 0x61, 0x26,
+    0x25, 0x2f, 0x7b, 0x51, 0xa6, 0xb1, 0x04, 0x27,
+    0x06, 0x00, 0x01, 0x05, 0x08, 0x2a, 0x06, 0x1e,
+    0x08, 0x03, 0x0d, 0x20, 0x19, 0x1a, 0x1b, 0x1c,
+    0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07, 0x0a, 0x00,
+    0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10, 0x44, 0x90,
+    0x77, 0x45, 0x28, 0x06, 0x2c, 0x06, 0x00, 0x00,
+    0x47, 0x06, 0x33, 0x06, 0x17, 0x10, 0x11, 0x12,
+    0x13, 0x00, 0x06, 0x0e, 0x02, 0x0f, 0x34, 0x06,
     0x2a, 0x06, 0x2b, 0x06, 0x2e, 0x06, 0x00, 0x00,
-    0x36, 0x06, 0x38, 0x06, 0x3a, 0x06, 0x6e, 0x06,
-    0x00, 0x00, 0xa1, 0x06, 0x27, 0x06, 0x00, 0x01,
-    0x05, 0x08, 0x20, 0x21, 0x0b, 0x06, 0x10, 0x23,
-    0x2a, 0x06, 0x1a, 0x1b, 0x1c, 0x09, 0x0f, 0x17,
-    0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01, 0x04, 0x06,
-    0x0c, 0x0e, 0x10, 0x28, 0x06, 0x2c, 0x06, 0x2f,
-    0x06, 0x00, 0x00, 0x48, 0x06, 0x32, 0x06, 0x2d,
-    0x06, 0x37, 0x06, 0x4a, 0x06, 0x2a, 0x06, 0x1a,
-    0x1b, 0x1c, 0x09, 0x0f, 0x17, 0x0b, 0x18, 0x07,
-    0x0a, 0x00, 0x01, 0x04, 0x06, 0x0c, 0x0e, 0x10,
-    0x30, 0x2e, 0x30, 0x00, 0x2c, 0x00, 0x28, 0x00,
-    0x41, 0x00, 0x29, 0x00, 0x14, 0x30, 0x53, 0x00,
-    0x15, 0x30, 0x43, 0x52, 0x43, 0x44, 0x57, 0x5a,
-    0x41, 0x00, 0x48, 0x56, 0x4d, 0x56, 0x53, 0x44,
-    0x53, 0x53, 0x50, 0x50, 0x56, 0x57, 0x43, 0x4d,
-    0x43, 0x4d, 0x44, 0x4d, 0x52, 0x44, 0x4a, 0x4b,
-    0x30, 0x30, 0x00, 0x68, 0x68, 0x4b, 0x62, 0x57,
-    0x5b, 0xcc, 0x53, 0xc7, 0x30, 0x8c, 0x4e, 0x1a,
-    0x59, 0xe3, 0x89, 0x29, 0x59, 0xa4, 0x4e, 0x20,
-    0x66, 0x21, 0x71, 0x99, 0x65, 0x4d, 0x52, 0x8c,
-    0x5f, 0x8d, 0x51, 0xb0, 0x65, 0x1d, 0x52, 0x42,
-    0x7d, 0x1f, 0x75, 0xa9, 0x8c, 0xf0, 0x58, 0x39,
-    0x54, 0x14, 0x6f, 0x95, 0x62, 0x55, 0x63, 0x00,
-    0x4e, 0x09, 0x4e, 0x4a, 0x90, 0xe6, 0x5d, 0x2d,
-    0x4e, 0xf3, 0x53, 0x07, 0x63, 0x70, 0x8d, 0x53,
-    0x62, 0x81, 0x79, 0x7a, 0x7a, 0x08, 0x54, 0x80,
-    0x6e, 0x09, 0x67, 0x08, 0x67, 0x33, 0x75, 0x72,
-    0x52, 0xb6, 0x55, 0x4d, 0x91, 0x14, 0x30, 0x15,
-    0x30, 0x2c, 0x67, 0x09, 0x4e, 0x8c, 0x4e, 0x89,
-    0x5b, 0xb9, 0x70, 0x53, 0x62, 0xd7, 0x76, 0xdd,
-    0x52, 0x57, 0x65, 0x97, 0x5f, 0xef, 0x53, 0x30,
-    0x00, 0x38, 0x4e, 0x05, 0x00, 0x09, 0x22, 0x01,
-    0x60, 0x4f, 0xae, 0x4f, 0xbb, 0x4f, 0x02, 0x50,
-    0x7a, 0x50, 0x99, 0x50, 0xe7, 0x50, 0xcf, 0x50,
-    0x9e, 0x34, 0x3a, 0x06, 0x4d, 0x51, 0x54, 0x51,
-    0x64, 0x51, 0x77, 0x51, 0x1c, 0x05, 0xb9, 0x34,
-    0x67, 0x51, 0x8d, 0x51, 0x4b, 0x05, 0x97, 0x51,
-    0xa4, 0x51, 0xcc, 0x4e, 0xac, 0x51, 0xb5, 0x51,
-    0xdf, 0x91, 0xf5, 0x51, 0x03, 0x52, 0xdf, 0x34,
-    0x3b, 0x52, 0x46, 0x52, 0x72, 0x52, 0x77, 0x52,
-    0x15, 0x35, 0x02, 0x00, 0x20, 0x80, 0x80, 0x00,
-    0x08, 0x00, 0x00, 0xc7, 0x52, 0x00, 0x02, 0x1d,
-    0x33, 0x3e, 0x3f, 0x50, 0x82, 0x8a, 0x93, 0xac,
-    0xb6, 0xb8, 0xb8, 0xb8, 0x2c, 0x0a, 0x70, 0x70,
-    0xca, 0x53, 0xdf, 0x53, 0x63, 0x0b, 0xeb, 0x53,
-    0xf1, 0x53, 0x06, 0x54, 0x9e, 0x54, 0x38, 0x54,
-    0x48, 0x54, 0x68, 0x54, 0xa2, 0x54, 0xf6, 0x54,
-    0x10, 0x55, 0x53, 0x55, 0x63, 0x55, 0x84, 0x55,
-    0x84, 0x55, 0x99, 0x55, 0xab, 0x55, 0xb3, 0x55,
-    0xc2, 0x55, 0x16, 0x57, 0x06, 0x56, 0x17, 0x57,
-    0x51, 0x56, 0x74, 0x56, 0x07, 0x52, 0xee, 0x58,
-    0xce, 0x57, 0xf4, 0x57, 0x0d, 0x58, 0x8b, 0x57,
-    0x32, 0x58, 0x31, 0x58, 0xac, 0x58, 0xe4, 0x14,
-    0xf2, 0x58, 0xf7, 0x58, 0x06, 0x59, 0x1a, 0x59,
-    0x22, 0x59, 0x62, 0x59, 0xa8, 0x16, 0xea, 0x16,
-    0xec, 0x59, 0x1b, 0x5a, 0x27, 0x5a, 0xd8, 0x59,
-    0x66, 0x5a, 0xee, 0x36, 0xfc, 0x36, 0x08, 0x5b,
-    0x3e, 0x5b, 0x3e, 0x5b, 0xc8, 0x19, 0xc3, 0x5b,
-    0xd8, 0x5b, 0xe7, 0x5b, 0xf3, 0x5b, 0x18, 0x1b,
-    0xff, 0x5b, 0x06, 0x5c, 0x53, 0x5f, 0x22, 0x5c,
-    0x81, 0x37, 0x60, 0x5c, 0x6e, 0x5c, 0xc0, 0x5c,
-    0x8d, 0x5c, 0xe4, 0x1d, 0x43, 0x5d, 0xe6, 0x1d,
-    0x6e, 0x5d, 0x6b, 0x5d, 0x7c, 0x5d, 0xe1, 0x5d,
-    0xe2, 0x5d, 0x2f, 0x38, 0xfd, 0x5d, 0x28, 0x5e,
-    0x3d, 0x5e, 0x69, 0x5e, 0x62, 0x38, 0x83, 0x21,
-    0x7c, 0x38, 0xb0, 0x5e, 0xb3, 0x5e, 0xb6, 0x5e,
-    0xca, 0x5e, 0x92, 0xa3, 0xfe, 0x5e, 0x31, 0x23,
-    0x31, 0x23, 0x01, 0x82, 0x22, 0x5f, 0x22, 0x5f,
-    0xc7, 0x38, 0xb8, 0x32, 0xda, 0x61, 0x62, 0x5f,
-    0x6b, 0x5f, 0xe3, 0x38, 0x9a, 0x5f, 0xcd, 0x5f,
-    0xd7, 0x5f, 0xf9, 0x5f, 0x81, 0x60, 0x3a, 0x39,
-    0x1c, 0x39, 0x94, 0x60, 0xd4, 0x26, 0xc7, 0x60,
-    0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-    0x00, 0x08, 0x00, 0x0a, 0x00, 0x00, 0x02, 0x08,
-    0x00, 0x80, 0x08, 0x00, 0x00, 0x08, 0x80, 0x28,
-    0x80, 0x02, 0x00, 0x00, 0x02, 0x48, 0x61, 0x00,
-    0x04, 0x06, 0x04, 0x32, 0x46, 0x6a, 0x5c, 0x67,
-    0x96, 0xaa, 0xae, 0xc8, 0xd3, 0x5d, 0x62, 0x00,
-    0x54, 0x77, 0xf3, 0x0c, 0x2b, 0x3d, 0x63, 0xfc,
-    0x62, 0x68, 0x63, 0x83, 0x63, 0xe4, 0x63, 0xf1,
-    0x2b, 0x22, 0x64, 0xc5, 0x63, 0xa9, 0x63, 0x2e,
-    0x3a, 0x69, 0x64, 0x7e, 0x64, 0x9d, 0x64, 0x77,
-    0x64, 0x6c, 0x3a, 0x4f, 0x65, 0x6c, 0x65, 0x0a,
-    0x30, 0xe3, 0x65, 0xf8, 0x66, 0x49, 0x66, 0x19,
-    0x3b, 0x91, 0x66, 0x08, 0x3b, 0xe4, 0x3a, 0x92,
-    0x51, 0x95, 0x51, 0x00, 0x67, 0x9c, 0x66, 0xad,
-    0x80, 0xd9, 0x43, 0x17, 0x67, 0x1b, 0x67, 0x21,
-    0x67, 0x5e, 0x67, 0x53, 0x67, 0xc3, 0x33, 0x49,
-    0x3b, 0xfa, 0x67, 0x85, 0x67, 0x52, 0x68, 0x85,
-    0x68, 0x6d, 0x34, 0x8e, 0x68, 0x1f, 0x68, 0x14,
-    0x69, 0x9d, 0x3b, 0x42, 0x69, 0xa3, 0x69, 0xea,
-    0x69, 0xa8, 0x6a, 0xa3, 0x36, 0xdb, 0x6a, 0x18,
-    0x3c, 0x21, 0x6b, 0xa7, 0x38, 0x54, 0x6b, 0x4e,
-    0x3c, 0x72, 0x6b, 0x9f, 0x6b, 0xba, 0x6b, 0xbb,
-    0x6b, 0x8d, 0x3a, 0x0b, 0x1d, 0xfa, 0x3a, 0x4e,
-    0x6c, 0xbc, 0x3c, 0xbf, 0x6c, 0xcd, 0x6c, 0x67,
-    0x6c, 0x16, 0x6d, 0x3e, 0x6d, 0x77, 0x6d, 0x41,
-    0x6d, 0x69, 0x6d, 0x78, 0x6d, 0x85, 0x6d, 0x1e,
-    0x3d, 0x34, 0x6d, 0x2f, 0x6e, 0x6e, 0x6e, 0x33,
-    0x3d, 0xcb, 0x6e, 0xc7, 0x6e, 0xd1, 0x3e, 0xf9,
-    0x6d, 0x6e, 0x6f, 0x5e, 0x3f, 0x8e, 0x3f, 0xc6,
-    0x6f, 0x39, 0x70, 0x1e, 0x70, 0x1b, 0x70, 0x96,
-    0x3d, 0x4a, 0x70, 0x7d, 0x70, 0x77, 0x70, 0xad,
-    0x70, 0x25, 0x05, 0x45, 0x71, 0x63, 0x42, 0x9c,
-    0x71, 0xab, 0x43, 0x28, 0x72, 0x35, 0x72, 0x50,
-    0x72, 0x08, 0x46, 0x80, 0x72, 0x95, 0x72, 0x35,
-    0x47, 0x02, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00,
-    0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x02, 0x02,
-    0x80, 0x8a, 0x00, 0x00, 0x20, 0x00, 0x08, 0x0a,
-    0x00, 0x80, 0x88, 0x80, 0x20, 0x14, 0x48, 0x7a,
-    0x73, 0x8b, 0x73, 0xac, 0x3e, 0xa5, 0x73, 0xb8,
-    0x3e, 0xb8, 0x3e, 0x47, 0x74, 0x5c, 0x74, 0x71,
-    0x74, 0x85, 0x74, 0xca, 0x74, 0x1b, 0x3f, 0x24,
-    0x75, 0x36, 0x4c, 0x3e, 0x75, 0x92, 0x4c, 0x70,
-    0x75, 0x9f, 0x21, 0x10, 0x76, 0xa1, 0x4f, 0xb8,
-    0x4f, 0x44, 0x50, 0xfc, 0x3f, 0x08, 0x40, 0xf4,
-    0x76, 0xf3, 0x50, 0xf2, 0x50, 0x19, 0x51, 0x33,
-    0x51, 0x1e, 0x77, 0x1f, 0x77, 0x1f, 0x77, 0x4a,
-    0x77, 0x39, 0x40, 0x8b, 0x77, 0x46, 0x40, 0x96,
-    0x40, 0x1d, 0x54, 0x4e, 0x78, 0x8c, 0x78, 0xcc,
-    0x78, 0xe3, 0x40, 0x26, 0x56, 0x56, 0x79, 0x9a,
-    0x56, 0xc5, 0x56, 0x8f, 0x79, 0xeb, 0x79, 0x2f,
-    0x41, 0x40, 0x7a, 0x4a, 0x7a, 0x4f, 0x7a, 0x7c,
-    0x59, 0xa7, 0x5a, 0xa7, 0x5a, 0xee, 0x7a, 0x02,
-    0x42, 0xab, 0x5b, 0xc6, 0x7b, 0xc9, 0x7b, 0x27,
-    0x42, 0x80, 0x5c, 0xd2, 0x7c, 0xa0, 0x42, 0xe8,
-    0x7c, 0xe3, 0x7c, 0x00, 0x7d, 0x86, 0x5f, 0x63,
-    0x7d, 0x01, 0x43, 0xc7, 0x7d, 0x02, 0x7e, 0x45,
-    0x7e, 0x34, 0x43, 0x28, 0x62, 0x47, 0x62, 0x59,
-    0x43, 0xd9, 0x62, 0x7a, 0x7f, 0x3e, 0x63, 0x95,
-    0x7f, 0xfa, 0x7f, 0x05, 0x80, 0xda, 0x64, 0x23,
-    0x65, 0x60, 0x80, 0xa8, 0x65, 0x70, 0x80, 0x5f,
-    0x33, 0xd5, 0x43, 0xb2, 0x80, 0x03, 0x81, 0x0b,
-    0x44, 0x3e, 0x81, 0xb5, 0x5a, 0xa7, 0x67, 0xb5,
-    0x67, 0x93, 0x33, 0x9c, 0x33, 0x01, 0x82, 0x04,
-    0x82, 0x9e, 0x8f, 0x6b, 0x44, 0x91, 0x82, 0x8b,
-    0x82, 0x9d, 0x82, 0xb3, 0x52, 0xb1, 0x82, 0xb3,
-    0x82, 0xbd, 0x82, 0xe6, 0x82, 0x3c, 0x6b, 0xe5,
-    0x82, 0x1d, 0x83, 0x63, 0x83, 0xad, 0x83, 0x23,
-    0x83, 0xbd, 0x83, 0xe7, 0x83, 0x57, 0x84, 0x53,
-    0x83, 0xca, 0x83, 0xcc, 0x83, 0xdc, 0x83, 0x36,
-    0x6c, 0x6b, 0x6d, 0x02, 0x00, 0x00, 0x20, 0x22,
-    0x2a, 0xa0, 0x0a, 0x00, 0x20, 0x80, 0x28, 0x00,
-    0xa8, 0x20, 0x20, 0x00, 0x02, 0x80, 0x22, 0x02,
-    0x8a, 0x08, 0x00, 0xaa, 0x00, 0x00, 0x00, 0x02,
-    0x00, 0x00, 0x28, 0xd5, 0x6c, 0x2b, 0x45, 0xf1,
-    0x84, 0xf3, 0x84, 0x16, 0x85, 0xca, 0x73, 0x64,
-    0x85, 0x2c, 0x6f, 0x5d, 0x45, 0x61, 0x45, 0xb1,
-    0x6f, 0xd2, 0x70, 0x6b, 0x45, 0x50, 0x86, 0x5c,
-    0x86, 0x67, 0x86, 0x69, 0x86, 0xa9, 0x86, 0x88,
-    0x86, 0x0e, 0x87, 0xe2, 0x86, 0x79, 0x87, 0x28,
-    0x87, 0x6b, 0x87, 0x86, 0x87, 0xd7, 0x45, 0xe1,
-    0x87, 0x01, 0x88, 0xf9, 0x45, 0x60, 0x88, 0x63,
-    0x88, 0x67, 0x76, 0xd7, 0x88, 0xde, 0x88, 0x35,
-    0x46, 0xfa, 0x88, 0xbb, 0x34, 0xae, 0x78, 0x66,
-    0x79, 0xbe, 0x46, 0xc7, 0x46, 0xa0, 0x8a, 0xed,
-    0x8a, 0x8a, 0x8b, 0x55, 0x8c, 0xa8, 0x7c, 0xab,
-    0x8c, 0xc1, 0x8c, 0x1b, 0x8d, 0x77, 0x8d, 0x2f,
-    0x7f, 0x04, 0x08, 0xcb, 0x8d, 0xbc, 0x8d, 0xf0,
-    0x8d, 0xde, 0x08, 0xd4, 0x8e, 0x38, 0x8f, 0xd2,
-    0x85, 0xed, 0x85, 0x94, 0x90, 0xf1, 0x90, 0x11,
-    0x91, 0x2e, 0x87, 0x1b, 0x91, 0x38, 0x92, 0xd7,
-    0x92, 0xd8, 0x92, 0x7c, 0x92, 0xf9, 0x93, 0x15,
-    0x94, 0xfa, 0x8b, 0x8b, 0x95, 0x95, 0x49, 0xb7,
-    0x95, 0x77, 0x8d, 0xe6, 0x49, 0xc3, 0x96, 0xb2,
-    0x5d, 0x23, 0x97, 0x45, 0x91, 0x1a, 0x92, 0x6e,
-    0x4a, 0x76, 0x4a, 0xe0, 0x97, 0x0a, 0x94, 0xb2,
-    0x4a, 0x96, 0x94, 0x0b, 0x98, 0x0b, 0x98, 0x29,
-    0x98, 0xb6, 0x95, 0xe2, 0x98, 0x33, 0x4b, 0x29,
-    0x99, 0xa7, 0x99, 0xc2, 0x99, 0xfe, 0x99, 0xce,
-    0x4b, 0x30, 0x9b, 0x12, 0x9b, 0x40, 0x9c, 0xfd,
-    0x9c, 0xce, 0x4c, 0xed, 0x4c, 0x67, 0x9d, 0xce,
-    0xa0, 0xf8, 0x4c, 0x05, 0xa1, 0x0e, 0xa2, 0x91,
-    0xa2, 0xbb, 0x9e, 0x56, 0x4d, 0xf9, 0x9e, 0xfe,
-    0x9e, 0x05, 0x9f, 0x0f, 0x9f, 0x16, 0x9f, 0x3b,
-    0x9f, 0x00, 0xa6, 0x02, 0x88, 0xa0, 0x00, 0x00,
-    0x00, 0x00, 0x80, 0x00, 0x28, 0x00, 0x08, 0xa0,
-    0x80, 0xa0, 0x80, 0x00, 0x80, 0x80, 0x00, 0x0a,
-    0x88, 0x80, 0x00, 0x80, 0x00, 0x20, 0x2a, 0x00,
-    0x80,
+    0x36, 0x06, 0x00, 0x00, 0x3a, 0x06, 0x2d, 0x06,
+    0x00, 0x00, 0x4a, 0x06, 0x00, 0x00, 0x44, 0x06,
+    0x00, 0x00, 0x46, 0x06, 0x33, 0x06, 0x39, 0x06,
+    0x00, 0x00, 0x35, 0x06, 0x42, 0x06, 0x00, 0x00,
+    0x34, 0x06, 0x00, 0x00, 0x00, 0x00, 0x2e, 0x06,
+    0x00, 0x00, 0x36, 0x06, 0x00, 0x00, 0x3a, 0x06,
+    0x00, 0x00, 0xba, 0x06, 0x00, 0x00, 0x6f, 0x06,
+    0x00, 0x00, 0x28, 0x06, 0x2c, 0x06, 0x00, 0x00,
+    0x47, 0x06, 0x00, 0x00, 0x00, 0x00, 0x2d, 0x06,
+    0x37, 0x06, 0x4a, 0x06, 0x43, 0x06, 0x00, 0x00,
+    0x45, 0x06, 0x46, 0x06, 0x33, 0x06, 0x39, 0x06,
+    0x41, 0x06, 0x35, 0x06, 0x42, 0x06, 0x00, 0x00,
+    0x34, 0x06, 0x2a, 0x06, 0x2b, 0x06, 0x2e, 0x06,
+    0x00, 0x00, 0x36, 0x06, 0x38, 0x06, 0x3a, 0x06,
+    0x6e, 0x06, 0x00, 0x00, 0xa1, 0x06, 0x27, 0x06,
+    0x00, 0x01, 0x05, 0x08, 0x20, 0x21, 0x0b, 0x06,
+    0x10, 0x23, 0x2a, 0x06, 0x1a, 0x1b, 0x1c, 0x09,
+    0x0f, 0x17, 0x0b, 0x18, 0x07, 0x0a, 0x00, 0x01,
+    0x04, 0x06, 0x0c, 0x0e, 0x10, 0x28, 0x06, 0x2c,
+    0x06, 0x2f, 0x06, 0x00, 0x00, 0x48, 0x06, 0x32,
+    0x06, 0x2d, 0x06, 0x37, 0x06, 0x4a, 0x06, 0x2a,
+    0x06, 0x1a, 0x1b, 0x1c, 0x09, 0x0f, 0x17, 0x0b,
+    0x18, 0x07, 0x0a, 0x00, 0x01, 0x04, 0x06, 0x0c,
+    0x0e, 0x10, 0x30, 0x2e, 0x30, 0x00, 0x2c, 0x00,
+    0x28, 0x00, 0x41, 0x00, 0x29, 0x00, 0x14, 0x30,
+    0x53, 0x00, 0x15, 0x30, 0x43, 0x52, 0x43, 0x44,
+    0x57, 0x5a, 0x41, 0x00, 0x48, 0x56, 0x4d, 0x56,
+    0x53, 0x44, 0x53, 0x53, 0x50, 0x50, 0x56, 0x57,
+    0x43, 0x4d, 0x43, 0x4d, 0x44, 0x4d, 0x52, 0x44,
+    0x4a, 0x4b, 0x30, 0x30, 0x00, 0x68, 0x68, 0x4b,
+    0x62, 0x57, 0x5b, 0xcc, 0x53, 0xc7, 0x30, 0x8c,
+    0x4e, 0x1a, 0x59, 0xe3, 0x89, 0x29, 0x59, 0xa4,
+    0x4e, 0x20, 0x66, 0x21, 0x71, 0x99, 0x65, 0x4d,
+    0x52, 0x8c, 0x5f, 0x8d, 0x51, 0xb0, 0x65, 0x1d,
+    0x52, 0x42, 0x7d, 0x1f, 0x75, 0xa9, 0x8c, 0xf0,
+    0x58, 0x39, 0x54, 0x14, 0x6f, 0x95, 0x62, 0x55,
+    0x63, 0x00, 0x4e, 0x09, 0x4e, 0x4a, 0x90, 0xe6,
+    0x5d, 0x2d, 0x4e, 0xf3, 0x53, 0x07, 0x63, 0x70,
+    0x8d, 0x53, 0x62, 0x81, 0x79, 0x7a, 0x7a, 0x08,
+    0x54, 0x80, 0x6e, 0x09, 0x67, 0x08, 0x67, 0x33,
+    0x75, 0x72, 0x52, 0xb6, 0x55, 0x4d, 0x91, 0x14,
+    0x30, 0x15, 0x30, 0x2c, 0x67, 0x09, 0x4e, 0x8c,
+    0x4e, 0x89, 0x5b, 0xb9, 0x70, 0x53, 0x62, 0xd7,
+    0x76, 0xdd, 0x52, 0x57, 0x65, 0x97, 0x5f, 0xef,
+    0x53, 0x30, 0x00, 0x38, 0x4e, 0x05, 0x00, 0x09,
+    0x22, 0x01, 0x60, 0x4f, 0xae, 0x4f, 0xbb, 0x4f,
+    0x02, 0x50, 0x7a, 0x50, 0x99, 0x50, 0xe7, 0x50,
+    0xcf, 0x50, 0x9e, 0x34, 0x3a, 0x06, 0x4d, 0x51,
+    0x54, 0x51, 0x64, 0x51, 0x77, 0x51, 0x1c, 0x05,
+    0xb9, 0x34, 0x67, 0x51, 0x8d, 0x51, 0x4b, 0x05,
+    0x97, 0x51, 0xa4, 0x51, 0xcc, 0x4e, 0xac, 0x51,
+    0xb5, 0x51, 0xdf, 0x91, 0xf5, 0x51, 0x03, 0x52,
+    0xdf, 0x34, 0x3b, 0x52, 0x46, 0x52, 0x72, 0x52,
+    0x77, 0x52, 0x15, 0x35, 0x02, 0x00, 0x20, 0x80,
+    0x80, 0x00, 0x08, 0x00, 0x00, 0xc7, 0x52, 0x00,
+    0x02, 0x1d, 0x33, 0x3e, 0x3f, 0x50, 0x82, 0x8a,
+    0x93, 0xac, 0xb6, 0xb8, 0xb8, 0xb8, 0x2c, 0x0a,
+    0x70, 0x70, 0xca, 0x53, 0xdf, 0x53, 0x63, 0x0b,
+    0xeb, 0x53, 0xf1, 0x53, 0x06, 0x54, 0x9e, 0x54,
+    0x38, 0x54, 0x48, 0x54, 0x68, 0x54, 0xa2, 0x54,
+    0xf6, 0x54, 0x10, 0x55, 0x53, 0x55, 0x63, 0x55,
+    0x84, 0x55, 0x84, 0x55, 0x99, 0x55, 0xab, 0x55,
+    0xb3, 0x55, 0xc2, 0x55, 0x16, 0x57, 0x06, 0x56,
+    0x17, 0x57, 0x51, 0x56, 0x74, 0x56, 0x07, 0x52,
+    0xee, 0x58, 0xce, 0x57, 0xf4, 0x57, 0x0d, 0x58,
+    0x8b, 0x57, 0x32, 0x58, 0x31, 0x58, 0xac, 0x58,
+    0xe4, 0x14, 0xf2, 0x58, 0xf7, 0x58, 0x06, 0x59,
+    0x1a, 0x59, 0x22, 0x59, 0x62, 0x59, 0xa8, 0x16,
+    0xea, 0x16, 0xec, 0x59, 0x1b, 0x5a, 0x27, 0x5a,
+    0xd8, 0x59, 0x66, 0x5a, 0xee, 0x36, 0xfc, 0x36,
+    0x08, 0x5b, 0x3e, 0x5b, 0x3e, 0x5b, 0xc8, 0x19,
+    0xc3, 0x5b, 0xd8, 0x5b, 0xe7, 0x5b, 0xf3, 0x5b,
+    0x18, 0x1b, 0xff, 0x5b, 0x06, 0x5c, 0x53, 0x5f,
+    0x22, 0x5c, 0x81, 0x37, 0x60, 0x5c, 0x6e, 0x5c,
+    0xc0, 0x5c, 0x8d, 0x5c, 0xe4, 0x1d, 0x43, 0x5d,
+    0xe6, 0x1d, 0x6e, 0x5d, 0x6b, 0x5d, 0x7c, 0x5d,
+    0xe1, 0x5d, 0xe2, 0x5d, 0x2f, 0x38, 0xfd, 0x5d,
+    0x28, 0x5e, 0x3d, 0x5e, 0x69, 0x5e, 0x62, 0x38,
+    0x83, 0x21, 0x7c, 0x38, 0xb0, 0x5e, 0xb3, 0x5e,
+    0xb6, 0x5e, 0xca, 0x5e, 0x92, 0xa3, 0xfe, 0x5e,
+    0x31, 0x23, 0x31, 0x23, 0x01, 0x82, 0x22, 0x5f,
+    0x22, 0x5f, 0xc7, 0x38, 0xb8, 0x32, 0xda, 0x61,
+    0x62, 0x5f, 0x6b, 0x5f, 0xe3, 0x38, 0x9a, 0x5f,
+    0xcd, 0x5f, 0xd7, 0x5f, 0xf9, 0x5f, 0x81, 0x60,
+    0x3a, 0x39, 0x1c, 0x39, 0x94, 0x60, 0xd4, 0x26,
+    0xc7, 0x60, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x08, 0x00, 0x0a, 0x00, 0x00,
+    0x02, 0x08, 0x00, 0x80, 0x08, 0x00, 0x00, 0x08,
+    0x80, 0x28, 0x80, 0x02, 0x00, 0x00, 0x02, 0x48,
+    0x61, 0x00, 0x04, 0x06, 0x04, 0x32, 0x46, 0x6a,
+    0x5c, 0x67, 0x96, 0xaa, 0xae, 0xc8, 0xd3, 0x5d,
+    0x62, 0x00, 0x54, 0x77, 0xf3, 0x0c, 0x2b, 0x3d,
+    0x63, 0xfc, 0x62, 0x68, 0x63, 0x83, 0x63, 0xe4,
+    0x63, 0xf1, 0x2b, 0x22, 0x64, 0xc5, 0x63, 0xa9,
+    0x63, 0x2e, 0x3a, 0x69, 0x64, 0x7e, 0x64, 0x9d,
+    0x64, 0x77, 0x64, 0x6c, 0x3a, 0x4f, 0x65, 0x6c,
+    0x65, 0x0a, 0x30, 0xe3, 0x65, 0xf8, 0x66, 0x49,
+    0x66, 0x19, 0x3b, 0x91, 0x66, 0x08, 0x3b, 0xe4,
+    0x3a, 0x92, 0x51, 0x95, 0x51, 0x00, 0x67, 0x9c,
+    0x66, 0xad, 0x80, 0xd9, 0x43, 0x17, 0x67, 0x1b,
+    0x67, 0x21, 0x67, 0x5e, 0x67, 0x53, 0x67, 0xc3,
+    0x33, 0x49, 0x3b, 0xfa, 0x67, 0x85, 0x67, 0x52,
+    0x68, 0x85, 0x68, 0x6d, 0x34, 0x8e, 0x68, 0x1f,
+    0x68, 0x14, 0x69, 0x9d, 0x3b, 0x42, 0x69, 0xa3,
+    0x69, 0xea, 0x69, 0xa8, 0x6a, 0xa3, 0x36, 0xdb,
+    0x6a, 0x18, 0x3c, 0x21, 0x6b, 0xa7, 0x38, 0x54,
+    0x6b, 0x4e, 0x3c, 0x72, 0x6b, 0x9f, 0x6b, 0xba,
+    0x6b, 0xbb, 0x6b, 0x8d, 0x3a, 0x0b, 0x1d, 0xfa,
+    0x3a, 0x4e, 0x6c, 0xbc, 0x3c, 0xbf, 0x6c, 0xcd,
+    0x6c, 0x67, 0x6c, 0x16, 0x6d, 0x3e, 0x6d, 0x77,
+    0x6d, 0x41, 0x6d, 0x69, 0x6d, 0x78, 0x6d, 0x85,
+    0x6d, 0x1e, 0x3d, 0x34, 0x6d, 0x2f, 0x6e, 0x6e,
+    0x6e, 0x33, 0x3d, 0xcb, 0x6e, 0xc7, 0x6e, 0xd1,
+    0x3e, 0xf9, 0x6d, 0x6e, 0x6f, 0x5e, 0x3f, 0x8e,
+    0x3f, 0xc6, 0x6f, 0x39, 0x70, 0x1e, 0x70, 0x1b,
+    0x70, 0x96, 0x3d, 0x4a, 0x70, 0x7d, 0x70, 0x77,
+    0x70, 0xad, 0x70, 0x25, 0x05, 0x45, 0x71, 0x63,
+    0x42, 0x9c, 0x71, 0xab, 0x43, 0x28, 0x72, 0x35,
+    0x72, 0x50, 0x72, 0x08, 0x46, 0x80, 0x72, 0x95,
+    0x72, 0x35, 0x47, 0x02, 0x20, 0x00, 0x00, 0x20,
+    0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00,
+    0x02, 0x02, 0x80, 0x8a, 0x00, 0x00, 0x20, 0x00,
+    0x08, 0x0a, 0x00, 0x80, 0x88, 0x80, 0x20, 0x14,
+    0x48, 0x7a, 0x73, 0x8b, 0x73, 0xac, 0x3e, 0xa5,
+    0x73, 0xb8, 0x3e, 0xb8, 0x3e, 0x47, 0x74, 0x5c,
+    0x74, 0x71, 0x74, 0x85, 0x74, 0xca, 0x74, 0x1b,
+    0x3f, 0x24, 0x75, 0x36, 0x4c, 0x3e, 0x75, 0x92,
+    0x4c, 0x70, 0x75, 0x9f, 0x21, 0x10, 0x76, 0xa1,
+    0x4f, 0xb8, 0x4f, 0x44, 0x50, 0xfc, 0x3f, 0x08,
+    0x40, 0xf4, 0x76, 0xf3, 0x50, 0xf2, 0x50, 0x19,
+    0x51, 0x33, 0x51, 0x1e, 0x77, 0x1f, 0x77, 0x1f,
+    0x77, 0x4a, 0x77, 0x39, 0x40, 0x8b, 0x77, 0x46,
+    0x40, 0x96, 0x40, 0x1d, 0x54, 0x4e, 0x78, 0x8c,
+    0x78, 0xcc, 0x78, 0xe3, 0x40, 0x26, 0x56, 0x56,
+    0x79, 0x9a, 0x56, 0xc5, 0x56, 0x8f, 0x79, 0xeb,
+    0x79, 0x2f, 0x41, 0x40, 0x7a, 0x4a, 0x7a, 0x4f,
+    0x7a, 0x7c, 0x59, 0xa7, 0x5a, 0xa7, 0x5a, 0xee,
+    0x7a, 0x02, 0x42, 0xab, 0x5b, 0xc6, 0x7b, 0xc9,
+    0x7b, 0x27, 0x42, 0x80, 0x5c, 0xd2, 0x7c, 0xa0,
+    0x42, 0xe8, 0x7c, 0xe3, 0x7c, 0x00, 0x7d, 0x86,
+    0x5f, 0x63, 0x7d, 0x01, 0x43, 0xc7, 0x7d, 0x02,
+    0x7e, 0x45, 0x7e, 0x34, 0x43, 0x28, 0x62, 0x47,
+    0x62, 0x59, 0x43, 0xd9, 0x62, 0x7a, 0x7f, 0x3e,
+    0x63, 0x95, 0x7f, 0xfa, 0x7f, 0x05, 0x80, 0xda,
+    0x64, 0x23, 0x65, 0x60, 0x80, 0xa8, 0x65, 0x70,
+    0x80, 0x5f, 0x33, 0xd5, 0x43, 0xb2, 0x80, 0x03,
+    0x81, 0x0b, 0x44, 0x3e, 0x81, 0xb5, 0x5a, 0xa7,
+    0x67, 0xb5, 0x67, 0x93, 0x33, 0x9c, 0x33, 0x01,
+    0x82, 0x04, 0x82, 0x9e, 0x8f, 0x6b, 0x44, 0x91,
+    0x82, 0x8b, 0x82, 0x9d, 0x82, 0xb3, 0x52, 0xb1,
+    0x82, 0xb3, 0x82, 0xbd, 0x82, 0xe6, 0x82, 0x3c,
+    0x6b, 0xe5, 0x82, 0x1d, 0x83, 0x63, 0x83, 0xad,
+    0x83, 0x23, 0x83, 0xbd, 0x83, 0xe7, 0x83, 0x57,
+    0x84, 0x53, 0x83, 0xca, 0x83, 0xcc, 0x83, 0xdc,
+    0x83, 0x36, 0x6c, 0x6b, 0x6d, 0x02, 0x00, 0x00,
+    0x20, 0x22, 0x2a, 0xa0, 0x0a, 0x00, 0x20, 0x80,
+    0x28, 0x00, 0xa8, 0x20, 0x20, 0x00, 0x02, 0x80,
+    0x22, 0x02, 0x8a, 0x08, 0x00, 0xaa, 0x00, 0x00,
+    0x00, 0x02, 0x00, 0x00, 0x28, 0xd5, 0x6c, 0x2b,
+    0x45, 0xf1, 0x84, 0xf3, 0x84, 0x16, 0x85, 0xca,
+    0x73, 0x64, 0x85, 0x2c, 0x6f, 0x5d, 0x45, 0x61,
+    0x45, 0xb1, 0x6f, 0xd2, 0x70, 0x6b, 0x45, 0x50,
+    0x86, 0x5c, 0x86, 0x67, 0x86, 0x69, 0x86, 0xa9,
+    0x86, 0x88, 0x86, 0x0e, 0x87, 0xe2, 0x86, 0x79,
+    0x87, 0x28, 0x87, 0x6b, 0x87, 0x86, 0x87, 0xd7,
+    0x45, 0xe1, 0x87, 0x01, 0x88, 0xf9, 0x45, 0x60,
+    0x88, 0x63, 0x88, 0x67, 0x76, 0xd7, 0x88, 0xde,
+    0x88, 0x35, 0x46, 0xfa, 0x88, 0xbb, 0x34, 0xae,
+    0x78, 0x66, 0x79, 0xbe, 0x46, 0xc7, 0x46, 0xa0,
+    0x8a, 0xed, 0x8a, 0x8a, 0x8b, 0x55, 0x8c, 0xa8,
+    0x7c, 0xab, 0x8c, 0xc1, 0x8c, 0x1b, 0x8d, 0x77,
+    0x8d, 0x2f, 0x7f, 0x04, 0x08, 0xcb, 0x8d, 0xbc,
+    0x8d, 0xf0, 0x8d, 0xde, 0x08, 0xd4, 0x8e, 0x38,
+    0x8f, 0xd2, 0x85, 0xed, 0x85, 0x94, 0x90, 0xf1,
+    0x90, 0x11, 0x91, 0x2e, 0x87, 0x1b, 0x91, 0x38,
+    0x92, 0xd7, 0x92, 0xd8, 0x92, 0x7c, 0x92, 0xf9,
+    0x93, 0x15, 0x94, 0xfa, 0x8b, 0x8b, 0x95, 0x95,
+    0x49, 0xb7, 0x95, 0x77, 0x8d, 0xe6, 0x49, 0xc3,
+    0x96, 0xb2, 0x5d, 0x23, 0x97, 0x45, 0x91, 0x1a,
+    0x92, 0x6e, 0x4a, 0x76, 0x4a, 0xe0, 0x97, 0x0a,
+    0x94, 0xb2, 0x4a, 0x96, 0x94, 0x0b, 0x98, 0x0b,
+    0x98, 0x29, 0x98, 0xb6, 0x95, 0xe2, 0x98, 0x33,
+    0x4b, 0x29, 0x99, 0xa7, 0x99, 0xc2, 0x99, 0xfe,
+    0x99, 0xce, 0x4b, 0x30, 0x9b, 0x12, 0x9b, 0x40,
+    0x9c, 0xfd, 0x9c, 0xce, 0x4c, 0xed, 0x4c, 0x67,
+    0x9d, 0xce, 0xa0, 0xf8, 0x4c, 0x05, 0xa1, 0x0e,
+    0xa2, 0x91, 0xa2, 0xbb, 0x9e, 0x56, 0x4d, 0xf9,
+    0x9e, 0xfe, 0x9e, 0x05, 0x9f, 0x0f, 0x9f, 0x16,
+    0x9f, 0x3b, 0x9f, 0x00, 0xa6, 0x02, 0x88, 0xa0,
+    0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x28, 0x00,
+    0x08, 0xa0, 0x80, 0xa0, 0x80, 0x00, 0x80, 0x80,
+    0x00, 0x0a, 0x88, 0x80, 0x00, 0x80, 0x00, 0x20,
+    0x2a, 0x00, 0x80,
 };
 
-static const uint16_t unicode_comp_table[945] = {
+static const uint16_t unicode_comp_table[965] = {
     0x4a01, 0x49c0, 0x4a02, 0x0280, 0x0281, 0x0282, 0x0283, 0x02c0,
     0x02c2, 0x0a00, 0x0284, 0x2442, 0x0285, 0x07c0, 0x0980, 0x0982,
     0x2440, 0x2280, 0x02c4, 0x2282, 0x2284, 0x2286, 0x02c6, 0x02c8,
@@ -2317,9 +2352,11 @@ static const uint16_t unicode_comp_table[945] = {
     0x5704, 0x5706, 0x5708, 0x570a, 0x570c, 0x570e, 0x5710, 0x5712,
     0x5714, 0x5716, 0x5740, 0x5742, 0x5744, 0x5780, 0x5781, 0x57c0,
     0x57c1, 0x5800, 0x5801, 0x5840, 0x5841, 0x5880, 0x5881, 0x5900,
-    0x5901, 0x5902, 0x5903, 0x5940, 0x8f40, 0x8f42, 0x8f80, 0x8fc0,
-    0x8fc1, 0x9000, 0x9001, 0x9041, 0x9040, 0x9043, 0x9080, 0x9081,
-    0x90c0,
+    0x5901, 0x5902, 0x5903, 0x5940, 0x8ec0, 0x8f00, 0x8fc0, 0x8fc2,
+    0x9000, 0x9040, 0x9041, 0x9080, 0x9081, 0x90c0, 0x90c2, 0x9100,
+    0x9140, 0x9182, 0x9180, 0x9183, 0x91c1, 0x91c0, 0x91c3, 0x9200,
+    0x9201, 0x9240, 0x9280, 0x9282, 0x9284, 0x9281, 0x9285, 0x9287,
+    0x9286, 0x9283, 0x92c1, 0x92c0, 0x92c2,
 };
 
 typedef enum {
@@ -2405,7 +2442,7 @@ static const char unicode_gc_name_table[] =
     "C,Other"                  "\0"
 ;
 
-static const uint8_t unicode_gc_table[3948] = {
+static const uint8_t unicode_gc_table[4070] = {
     0xfa, 0x18, 0x17, 0x56, 0x0d, 0x56, 0x12, 0x13,
     0x16, 0x0c, 0x16, 0x11, 0x36, 0xe9, 0x02, 0x36,
     0x4c, 0x36, 0xe1, 0x12, 0x12, 0x16, 0x13, 0x0e,
@@ -2449,8 +2486,8 @@ static const uint8_t unicode_gc_table[3948] = {
     0x2d, 0xe5, 0x0e, 0x66, 0x04, 0xe6, 0x01, 0x04,
     0x46, 0x04, 0x86, 0x20, 0xf6, 0x07, 0x00, 0xe5,
     0x11, 0x46, 0x20, 0x16, 0x00, 0xe5, 0x03, 0x80,
-    0xe5, 0x10, 0x0e, 0xa5, 0x00, 0x3b, 0xa0, 0xe6,
-    0x00, 0xe5, 0x21, 0x04, 0xe6, 0x10, 0x1b, 0xe6,
+    0xe5, 0x10, 0x0e, 0xa5, 0x00, 0x3b, 0x80, 0xe6,
+    0x01, 0xe5, 0x21, 0x04, 0xe6, 0x10, 0x1b, 0xe6,
     0x18, 0x07, 0xe5, 0x2e, 0x06, 0x07, 0x06, 0x05,
     0x47, 0xe6, 0x00, 0x67, 0x06, 0x27, 0x05, 0xc6,
     0xe5, 0x02, 0x26, 0x36, 0xe9, 0x02, 0x16, 0x04,
@@ -2549,82 +2586,82 @@ static const uint8_t unicode_gc_table[3948] = {
     0xe9, 0x02, 0xa0, 0xd6, 0x04, 0xb6, 0x20, 0xe6,
     0x06, 0x08, 0xe6, 0x08, 0xe0, 0x29, 0x66, 0x07,
     0xe5, 0x27, 0x06, 0x07, 0x86, 0x07, 0x06, 0x87,
-    0x06, 0x27, 0xe5, 0x00, 0x40, 0xe9, 0x02, 0xd6,
-    0xef, 0x02, 0xe6, 0x01, 0xef, 0x01, 0x36, 0x00,
+    0x06, 0x27, 0xe5, 0x00, 0x00, 0x36, 0xe9, 0x02,
+    0xd6, 0xef, 0x02, 0xe6, 0x01, 0xef, 0x01, 0x56,
     0x26, 0x07, 0xe5, 0x16, 0x07, 0x66, 0x27, 0x26,
     0x07, 0x46, 0x25, 0xe9, 0x02, 0xe5, 0x24, 0x06,
     0x07, 0x26, 0x47, 0x06, 0x07, 0x46, 0x27, 0xe0,
     0x00, 0x76, 0xe5, 0x1c, 0xe7, 0x00, 0xe6, 0x00,
     0x27, 0x26, 0x40, 0x96, 0xe9, 0x02, 0x40, 0x45,
     0xe9, 0x02, 0xe5, 0x16, 0xa4, 0x36, 0xe2, 0x01,
-    0xc0, 0xe1, 0x23, 0x20, 0x41, 0xf6, 0x00, 0xe0,
-    0x00, 0x46, 0x16, 0xe6, 0x05, 0x07, 0xc6, 0x65,
-    0x06, 0xa5, 0x06, 0x25, 0x07, 0x26, 0x05, 0x80,
-    0xe2, 0x24, 0xe4, 0x37, 0xe2, 0x05, 0x04, 0xe2,
-    0x1a, 0xe4, 0x1d, 0xe6, 0x38, 0xff, 0x80, 0x0e,
-    0xe2, 0x00, 0xff, 0x5a, 0xe2, 0x00, 0xe1, 0x00,
-    0xa2, 0x20, 0xa1, 0x20, 0xe2, 0x00, 0xe1, 0x00,
-    0xe2, 0x00, 0xe1, 0x00, 0xa2, 0x20, 0xa1, 0x20,
-    0xe2, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01,
-    0x00, 0x3f, 0xc2, 0xe1, 0x00, 0xe2, 0x06, 0x20,
-    0xe2, 0x00, 0xe3, 0x00, 0xe2, 0x00, 0xe3, 0x00,
-    0xe2, 0x00, 0xe3, 0x00, 0x82, 0x00, 0x22, 0x61,
-    0x03, 0x0e, 0x02, 0x4e, 0x42, 0x00, 0x22, 0x61,
-    0x03, 0x4e, 0x62, 0x20, 0x22, 0x61, 0x00, 0x4e,
-    0xe2, 0x00, 0x81, 0x4e, 0x20, 0x42, 0x00, 0x22,
-    0x61, 0x03, 0x2e, 0x00, 0xf7, 0x03, 0x9b, 0xb1,
-    0x36, 0x14, 0x15, 0x12, 0x34, 0x15, 0x12, 0x14,
-    0xf6, 0x00, 0x18, 0x19, 0x9b, 0x17, 0xf6, 0x01,
-    0x14, 0x15, 0x76, 0x30, 0x56, 0x0c, 0x12, 0x13,
-    0xf6, 0x03, 0x0c, 0x16, 0x10, 0xf6, 0x02, 0x17,
-    0x9b, 0x00, 0xfb, 0x02, 0x0b, 0x04, 0x20, 0xab,
-    0x4c, 0x12, 0x13, 0x04, 0xeb, 0x02, 0x4c, 0x12,
-    0x13, 0x00, 0xe4, 0x05, 0x40, 0xed, 0x19, 0xe0,
-    0x07, 0xe6, 0x05, 0x68, 0x06, 0x48, 0xe6, 0x04,
-    0xe0, 0x07, 0x2f, 0x01, 0x6f, 0x01, 0x2f, 0x02,
-    0x41, 0x22, 0x41, 0x02, 0x0f, 0x01, 0x2f, 0x0c,
-    0x81, 0xaf, 0x01, 0x0f, 0x01, 0x0f, 0x01, 0x0f,
-    0x61, 0x0f, 0x02, 0x61, 0x02, 0x65, 0x02, 0x2f,
-    0x22, 0x21, 0x8c, 0x3f, 0x42, 0x0f, 0x0c, 0x2f,
-    0x02, 0x0f, 0xeb, 0x08, 0xea, 0x1b, 0x3f, 0x6a,
-    0x0b, 0x2f, 0x60, 0x8c, 0x8f, 0x2c, 0x6f, 0x0c,
-    0x2f, 0x0c, 0x2f, 0x0c, 0xcf, 0x0c, 0xef, 0x17,
-    0x2c, 0x2f, 0x0c, 0x0f, 0x0c, 0xef, 0x17, 0xec,
-    0x80, 0x84, 0xef, 0x00, 0x12, 0x13, 0x12, 0x13,
-    0xef, 0x0c, 0x2c, 0xcf, 0x12, 0x13, 0xef, 0x49,
-    0x0c, 0xef, 0x16, 0xec, 0x11, 0xef, 0x20, 0xac,
-    0xef, 0x3d, 0xe0, 0x11, 0xef, 0x03, 0xe0, 0x0d,
-    0xeb, 0x34, 0xef, 0x46, 0xeb, 0x0e, 0xef, 0x80,
-    0x2f, 0x0c, 0xef, 0x01, 0x0c, 0xef, 0x2e, 0xec,
-    0x00, 0xef, 0x67, 0x0c, 0xef, 0x80, 0x70, 0x12,
-    0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
-    0x13, 0x12, 0x13, 0x12, 0x13, 0xeb, 0x16, 0xef,
-    0x24, 0x8c, 0x12, 0x13, 0xec, 0x17, 0x12, 0x13,
+    0x3f, 0x80, 0xe1, 0x23, 0x20, 0x41, 0xf6, 0x00,
+    0xe0, 0x00, 0x46, 0x16, 0xe6, 0x05, 0x07, 0xc6,
+    0x65, 0x06, 0xa5, 0x06, 0x25, 0x07, 0x26, 0x05,
+    0x80, 0xe2, 0x24, 0xe4, 0x37, 0xe2, 0x05, 0x04,
+    0xe2, 0x1a, 0xe4, 0x1d, 0xe6, 0x38, 0xff, 0x80,
+    0x0e, 0xe2, 0x00, 0xff, 0x5a, 0xe2, 0x00, 0xe1,
+    0x00, 0xa2, 0x20, 0xa1, 0x20, 0xe2, 0x00, 0xe1,
+    0x00, 0xe2, 0x00, 0xe1, 0x00, 0xa2, 0x20, 0xa1,
+    0x20, 0xe2, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00,
+    0x01, 0x00, 0x3f, 0xc2, 0xe1, 0x00, 0xe2, 0x06,
+    0x20, 0xe2, 0x00, 0xe3, 0x00, 0xe2, 0x00, 0xe3,
+    0x00, 0xe2, 0x00, 0xe3, 0x00, 0x82, 0x00, 0x22,
+    0x61, 0x03, 0x0e, 0x02, 0x4e, 0x42, 0x00, 0x22,
+    0x61, 0x03, 0x4e, 0x62, 0x20, 0x22, 0x61, 0x00,
+    0x4e, 0xe2, 0x00, 0x81, 0x4e, 0x20, 0x42, 0x00,
+    0x22, 0x61, 0x03, 0x2e, 0x00, 0xf7, 0x03, 0x9b,
+    0xb1, 0x36, 0x14, 0x15, 0x12, 0x34, 0x15, 0x12,
+    0x14, 0xf6, 0x00, 0x18, 0x19, 0x9b, 0x17, 0xf6,
+    0x01, 0x14, 0x15, 0x76, 0x30, 0x56, 0x0c, 0x12,
+    0x13, 0xf6, 0x03, 0x0c, 0x16, 0x10, 0xf6, 0x02,
+    0x17, 0x9b, 0x00, 0xfb, 0x02, 0x0b, 0x04, 0x20,
+    0xab, 0x4c, 0x12, 0x13, 0x04, 0xeb, 0x02, 0x4c,
+    0x12, 0x13, 0x00, 0xe4, 0x05, 0x40, 0xed, 0x19,
+    0xe0, 0x07, 0xe6, 0x05, 0x68, 0x06, 0x48, 0xe6,
+    0x04, 0xe0, 0x07, 0x2f, 0x01, 0x6f, 0x01, 0x2f,
+    0x02, 0x41, 0x22, 0x41, 0x02, 0x0f, 0x01, 0x2f,
+    0x0c, 0x81, 0xaf, 0x01, 0x0f, 0x01, 0x0f, 0x01,
+    0x0f, 0x61, 0x0f, 0x02, 0x61, 0x02, 0x65, 0x02,
+    0x2f, 0x22, 0x21, 0x8c, 0x3f, 0x42, 0x0f, 0x0c,
+    0x2f, 0x02, 0x0f, 0xeb, 0x08, 0xea, 0x1b, 0x3f,
+    0x6a, 0x0b, 0x2f, 0x60, 0x8c, 0x8f, 0x2c, 0x6f,
+    0x0c, 0x2f, 0x0c, 0x2f, 0x0c, 0xcf, 0x0c, 0xef,
+    0x17, 0x2c, 0x2f, 0x0c, 0x0f, 0x0c, 0xef, 0x17,
+    0xec, 0x80, 0x84, 0xef, 0x00, 0x12, 0x13, 0x12,
+    0x13, 0xef, 0x0c, 0x2c, 0xcf, 0x12, 0x13, 0xef,
+    0x49, 0x0c, 0xef, 0x16, 0xec, 0x11, 0xef, 0x20,
+    0xac, 0xef, 0x40, 0xe0, 0x0e, 0xef, 0x03, 0xe0,
+    0x0d, 0xeb, 0x34, 0xef, 0x46, 0xeb, 0x0e, 0xef,
+    0x80, 0x2f, 0x0c, 0xef, 0x01, 0x0c, 0xef, 0x2e,
+    0xec, 0x00, 0xef, 0x67, 0x0c, 0xef, 0x80, 0x70,
     0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
-    0xec, 0x08, 0xef, 0x80, 0x78, 0xec, 0x7b, 0x12,
-    0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
+    0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0xeb, 0x16,
+    0xef, 0x24, 0x8c, 0x12, 0x13, 0xec, 0x17, 0x12,
     0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
-    0x13, 0x12, 0x13, 0x12, 0x13, 0xec, 0x37, 0x12,
-    0x13, 0x12, 0x13, 0xec, 0x18, 0x12, 0x13, 0xec,
-    0x80, 0x7a, 0xef, 0x28, 0xec, 0x0d, 0x2f, 0xac,
-    0xef, 0x1f, 0x20, 0xef, 0x18, 0x00, 0xef, 0x61,
-    0xe1, 0x28, 0xe2, 0x28, 0x5f, 0x21, 0x22, 0xdf,
-    0x41, 0x02, 0x3f, 0x02, 0x3f, 0x82, 0x24, 0x41,
-    0x02, 0xff, 0x5a, 0x02, 0xaf, 0x7f, 0x46, 0x3f,
-    0x80, 0x76, 0x0b, 0x36, 0xe2, 0x1e, 0x00, 0x02,
-    0x80, 0x02, 0x20, 0xe5, 0x30, 0xc0, 0x04, 0x16,
-    0xe0, 0x06, 0x06, 0xe5, 0x0f, 0xe0, 0x01, 0xc5,
-    0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5,
-    0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xe6,
-    0x18, 0x36, 0x14, 0x15, 0x14, 0x15, 0x56, 0x14,
-    0x15, 0x16, 0x14, 0x15, 0xf6, 0x01, 0x11, 0x36,
-    0x11, 0x16, 0x14, 0x15, 0x36, 0x14, 0x15, 0x12,
-    0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x96,
-    0x04, 0xf6, 0x02, 0x31, 0x76, 0x11, 0x16, 0x12,
-    0xf6, 0x05, 0x2f, 0x56, 0x12, 0x13, 0x12, 0x13,
-    0x12, 0x13, 0x12, 0x13, 0x11, 0xe0, 0x1a, 0xef,
-    0x12, 0x00, 0xef, 0x51, 0xe0, 0x04, 0xef, 0x80,
-    0x4e, 0xe0, 0x12, 0xef, 0x04, 0x60, 0x17, 0x56,
+    0x13, 0xec, 0x08, 0xef, 0x80, 0x78, 0xec, 0x7b,
+    0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
+    0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
+    0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0xec, 0x37,
+    0x12, 0x13, 0x12, 0x13, 0xec, 0x18, 0x12, 0x13,
+    0xec, 0x80, 0x7a, 0xef, 0x28, 0xec, 0x0d, 0x2f,
+    0xac, 0xef, 0x1f, 0x20, 0xef, 0x18, 0x00, 0xef,
+    0x61, 0xe1, 0x28, 0xe2, 0x28, 0x5f, 0x21, 0x22,
+    0xdf, 0x41, 0x02, 0x3f, 0x02, 0x3f, 0x82, 0x24,
+    0x41, 0x02, 0xff, 0x5a, 0x02, 0xaf, 0x7f, 0x46,
+    0x3f, 0x80, 0x76, 0x0b, 0x36, 0xe2, 0x1e, 0x00,
+    0x02, 0x80, 0x02, 0x20, 0xe5, 0x30, 0xc0, 0x04,
+    0x16, 0xe0, 0x06, 0x06, 0xe5, 0x0f, 0xe0, 0x01,
+    0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00,
+    0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00, 0xc5, 0x00,
+    0xe6, 0x18, 0x36, 0x14, 0x15, 0x14, 0x15, 0x56,
+    0x14, 0x15, 0x16, 0x14, 0x15, 0xf6, 0x01, 0x11,
+    0x36, 0x11, 0x16, 0x14, 0x15, 0x36, 0x14, 0x15,
+    0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
+    0x96, 0x04, 0xf6, 0x02, 0x31, 0x76, 0x11, 0x16,
+    0x12, 0xf6, 0x05, 0x2f, 0x56, 0x12, 0x13, 0x12,
+    0x13, 0x12, 0x13, 0x12, 0x13, 0x11, 0xe0, 0x1a,
+    0xef, 0x12, 0x00, 0xef, 0x51, 0xe0, 0x04, 0xef,
+    0x80, 0x4e, 0xe0, 0x12, 0xef, 0x08, 0x17, 0x56,
     0x0f, 0x04, 0x05, 0x0a, 0x12, 0x13, 0x12, 0x13,
     0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x2f, 0x12,
     0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x11,
@@ -2633,146 +2670,154 @@ static const uint8_t unicode_gc_table[3948] = {
     0xe5, 0x4e, 0x20, 0x26, 0x2e, 0x24, 0x05, 0x11,
     0xe5, 0x52, 0x16, 0x44, 0x05, 0x80, 0xe5, 0x23,
     0x00, 0xe5, 0x56, 0x00, 0x2f, 0x6b, 0xef, 0x02,
-    0xe5, 0x18, 0xef, 0x1c, 0xe0, 0x04, 0xe5, 0x08,
-    0xef, 0x17, 0x00, 0xeb, 0x02, 0xef, 0x16, 0xeb,
-    0x00, 0x0f, 0xeb, 0x07, 0xef, 0x18, 0xeb, 0x02,
-    0xef, 0x1f, 0xeb, 0x07, 0xef, 0x80, 0xb8, 0xe5,
-    0x99, 0x38, 0xef, 0x38, 0xe5, 0xc0, 0x11, 0x8d,
-    0x04, 0xe5, 0x83, 0xef, 0x40, 0xef, 0x2f, 0xe0,
-    0x01, 0xe5, 0x20, 0xa4, 0x36, 0xe5, 0x80, 0x84,
-    0x04, 0x56, 0xe5, 0x08, 0xe9, 0x02, 0x25, 0xe0,
-    0x0c, 0xff, 0x26, 0x05, 0x06, 0x48, 0x16, 0xe6,
-    0x02, 0x16, 0x04, 0xff, 0x14, 0x24, 0x26, 0xe5,
-    0x3e, 0xea, 0x02, 0x26, 0xb6, 0xe0, 0x00, 0xee,
-    0x0f, 0xe4, 0x01, 0x2e, 0xff, 0x06, 0x22, 0xff,
-    0x36, 0x04, 0xe2, 0x00, 0x9f, 0xff, 0x02, 0x04,
-    0x2e, 0x7f, 0x05, 0x7f, 0x22, 0xff, 0x0d, 0x61,
-    0x02, 0x81, 0x02, 0xff, 0x07, 0x41, 0x02, 0x3f,
-    0x80, 0x3f, 0x00, 0x02, 0x00, 0x02, 0x7f, 0xe0,
-    0x10, 0x44, 0x3f, 0x05, 0x24, 0x02, 0xc5, 0x06,
-    0x45, 0x06, 0x65, 0x06, 0xe5, 0x0f, 0x27, 0x26,
-    0x07, 0x6f, 0x06, 0x40, 0xab, 0x2f, 0x0d, 0x0f,
-    0xa0, 0xe5, 0x2c, 0x76, 0xe0, 0x00, 0x27, 0xe5,
-    0x2a, 0xe7, 0x08, 0x26, 0xe0, 0x00, 0x36, 0xe9,
-    0x02, 0xa0, 0xe6, 0x0a, 0xa5, 0x56, 0x05, 0x16,
-    0x25, 0x06, 0xe9, 0x02, 0xe5, 0x14, 0xe6, 0x00,
-    0x36, 0xe5, 0x0f, 0xe6, 0x03, 0x27, 0xe0, 0x03,
-    0x16, 0xe5, 0x15, 0x40, 0x46, 0x07, 0xe5, 0x27,
-    0x06, 0x27, 0x66, 0x27, 0x26, 0x47, 0xf6, 0x05,
-    0x00, 0x04, 0xe9, 0x02, 0x60, 0x36, 0x85, 0x06,
-    0x04, 0xe5, 0x01, 0xe9, 0x02, 0x85, 0x00, 0xe5,
-    0x21, 0xa6, 0x27, 0x26, 0x27, 0x26, 0xe0, 0x01,
-    0x45, 0x06, 0xe5, 0x00, 0x06, 0x07, 0x20, 0xe9,
-    0x02, 0x20, 0x76, 0xe5, 0x08, 0x04, 0xa5, 0x4f,
-    0x05, 0x07, 0x06, 0x07, 0xe5, 0x2a, 0x06, 0x05,
-    0x46, 0x25, 0x26, 0x85, 0x26, 0x05, 0x06, 0x05,
-    0xe0, 0x10, 0x25, 0x04, 0x36, 0xe5, 0x03, 0x07,
-    0x26, 0x27, 0x36, 0x05, 0x24, 0x07, 0x06, 0xe0,
-    0x02, 0xa5, 0x20, 0xa5, 0x20, 0xa5, 0xe0, 0x01,
-    0xc5, 0x00, 0xc5, 0x00, 0xe2, 0x23, 0x0e, 0x64,
-    0xe2, 0x01, 0x04, 0x2e, 0x60, 0xe2, 0x48, 0xe5,
-    0x1b, 0x27, 0x06, 0x27, 0x06, 0x27, 0x16, 0x07,
-    0x06, 0x20, 0xe9, 0x02, 0xa0, 0xe5, 0xab, 0x1c,
-    0xe0, 0x04, 0xe5, 0x0f, 0x60, 0xe5, 0x29, 0x60,
-    0xfc, 0x87, 0x78, 0xfd, 0x98, 0x78, 0xe5, 0x80,
-    0xe6, 0x20, 0xe5, 0x62, 0xe0, 0x1e, 0xc2, 0xe0,
-    0x04, 0x82, 0x80, 0x05, 0x06, 0xe5, 0x02, 0x0c,
-    0xe5, 0x05, 0x00, 0x85, 0x00, 0x05, 0x00, 0x25,
-    0x00, 0x25, 0x00, 0xe5, 0x64, 0xee, 0x09, 0xe0,
-    0x08, 0xe5, 0x80, 0xe3, 0x13, 0x12, 0xef, 0x08,
-    0xe5, 0x38, 0x20, 0xe5, 0x2e, 0xc0, 0x0f, 0xe0,
-    0x18, 0xe5, 0x04, 0x0d, 0x4f, 0xe6, 0x08, 0xd6,
-    0x12, 0x13, 0x16, 0xa0, 0xe6, 0x08, 0x16, 0x31,
-    0x30, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
+    0xe5, 0x18, 0xef, 0x1e, 0xe0, 0x01, 0x0f, 0xe5,
+    0x08, 0xef, 0x17, 0x00, 0xeb, 0x02, 0xef, 0x16,
+    0xeb, 0x00, 0x0f, 0xeb, 0x07, 0xef, 0x18, 0xeb,
+    0x02, 0xef, 0x1f, 0xeb, 0x07, 0xef, 0x80, 0xb8,
+    0xe5, 0x99, 0x38, 0xef, 0x38, 0xe5, 0xc0, 0x11,
+    0x8d, 0x04, 0xe5, 0x83, 0xef, 0x40, 0xef, 0x2f,
+    0xe0, 0x01, 0xe5, 0x20, 0xa4, 0x36, 0xe5, 0x80,
+    0x84, 0x04, 0x56, 0xe5, 0x08, 0xe9, 0x02, 0x25,
+    0xe0, 0x0c, 0xff, 0x26, 0x05, 0x06, 0x48, 0x16,
+    0xe6, 0x02, 0x16, 0x04, 0xff, 0x14, 0x24, 0x26,
+    0xe5, 0x3e, 0xea, 0x02, 0x26, 0xb6, 0xe0, 0x00,
+    0xee, 0x0f, 0xe4, 0x01, 0x2e, 0xff, 0x06, 0x22,
+    0xff, 0x36, 0x04, 0xe2, 0x00, 0x9f, 0xff, 0x02,
+    0x04, 0x2e, 0x7f, 0x05, 0x7f, 0x22, 0xff, 0x0d,
+    0x61, 0x02, 0x81, 0x02, 0xff, 0x07, 0x41, 0x02,
+    0x5f, 0x3f, 0x20, 0x3f, 0x00, 0x02, 0x00, 0x02,
+    0xdf, 0xe0, 0x0d, 0x44, 0x3f, 0x05, 0x24, 0x02,
+    0xc5, 0x06, 0x45, 0x06, 0x65, 0x06, 0xe5, 0x0f,
+    0x27, 0x26, 0x07, 0x6f, 0x06, 0x40, 0xab, 0x2f,
+    0x0d, 0x0f, 0xa0, 0xe5, 0x2c, 0x76, 0xe0, 0x00,
+    0x27, 0xe5, 0x2a, 0xe7, 0x08, 0x26, 0xe0, 0x00,
+    0x36, 0xe9, 0x02, 0xa0, 0xe6, 0x0a, 0xa5, 0x56,
+    0x05, 0x16, 0x25, 0x06, 0xe9, 0x02, 0xe5, 0x14,
+    0xe6, 0x00, 0x36, 0xe5, 0x0f, 0xe6, 0x03, 0x27,
+    0xe0, 0x03, 0x16, 0xe5, 0x15, 0x40, 0x46, 0x07,
+    0xe5, 0x27, 0x06, 0x27, 0x66, 0x27, 0x26, 0x47,
+    0xf6, 0x05, 0x00, 0x04, 0xe9, 0x02, 0x60, 0x36,
+    0x85, 0x06, 0x04, 0xe5, 0x01, 0xe9, 0x02, 0x85,
+    0x00, 0xe5, 0x21, 0xa6, 0x27, 0x26, 0x27, 0x26,
+    0xe0, 0x01, 0x45, 0x06, 0xe5, 0x00, 0x06, 0x07,
+    0x20, 0xe9, 0x02, 0x20, 0x76, 0xe5, 0x08, 0x04,
+    0xa5, 0x4f, 0x05, 0x07, 0x06, 0x07, 0xe5, 0x2a,
+    0x06, 0x05, 0x46, 0x25, 0x26, 0x85, 0x26, 0x05,
+    0x06, 0x05, 0xe0, 0x10, 0x25, 0x04, 0x36, 0xe5,
+    0x03, 0x07, 0x26, 0x27, 0x36, 0x05, 0x24, 0x07,
+    0x06, 0xe0, 0x02, 0xa5, 0x20, 0xa5, 0x20, 0xa5,
+    0xe0, 0x01, 0xc5, 0x00, 0xc5, 0x00, 0xe2, 0x23,
+    0x0e, 0x64, 0xe2, 0x01, 0x04, 0x2e, 0x60, 0xe2,
+    0x48, 0xe5, 0x1b, 0x27, 0x06, 0x27, 0x06, 0x27,
+    0x16, 0x07, 0x06, 0x20, 0xe9, 0x02, 0xa0, 0xe5,
+    0xab, 0x1c, 0xe0, 0x04, 0xe5, 0x0f, 0x60, 0xe5,
+    0x29, 0x60, 0xfc, 0x87, 0x78, 0xfd, 0x98, 0x78,
+    0xe5, 0x80, 0xe6, 0x20, 0xe5, 0x62, 0xe0, 0x1e,
+    0xc2, 0xe0, 0x04, 0x82, 0x80, 0x05, 0x06, 0xe5,
+    0x02, 0x0c, 0xe5, 0x05, 0x00, 0x85, 0x00, 0x05,
+    0x00, 0x25, 0x00, 0x25, 0x00, 0xe5, 0x64, 0xee,
+    0x09, 0xe0, 0x08, 0xe5, 0x80, 0xe3, 0x13, 0x12,
+    0xef, 0x08, 0xe5, 0x38, 0x20, 0xe5, 0x2e, 0xc0,
+    0x0f, 0xe0, 0x18, 0xe5, 0x04, 0x0d, 0x4f, 0xe6,
+    0x08, 0xd6, 0x12, 0x13, 0x16, 0xa0, 0xe6, 0x08,
+    0x16, 0x31, 0x30, 0x12, 0x13, 0x12, 0x13, 0x12,
     0x13, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13, 0x12,
-    0x13, 0x36, 0x12, 0x13, 0x76, 0x50, 0x56, 0x00,
-    0x76, 0x11, 0x12, 0x13, 0x12, 0x13, 0x12, 0x13,
-    0x56, 0x0c, 0x11, 0x4c, 0x00, 0x16, 0x0d, 0x36,
-    0x60, 0x85, 0x00, 0xe5, 0x7f, 0x20, 0x1b, 0x00,
-    0x56, 0x0d, 0x56, 0x12, 0x13, 0x16, 0x0c, 0x16,
-    0x11, 0x36, 0xe9, 0x02, 0x36, 0x4c, 0x36, 0xe1,
-    0x12, 0x12, 0x16, 0x13, 0x0e, 0x10, 0x0e, 0xe2,
-    0x12, 0x12, 0x0c, 0x13, 0x0c, 0x12, 0x13, 0x16,
-    0x12, 0x13, 0x36, 0xe5, 0x02, 0x04, 0xe5, 0x25,
-    0x24, 0xe5, 0x17, 0x40, 0xa5, 0x20, 0xa5, 0x20,
-    0xa5, 0x20, 0x45, 0x40, 0x2d, 0x0c, 0x0e, 0x0f,
-    0x2d, 0x00, 0x0f, 0x6c, 0x2f, 0xe0, 0x02, 0x5b,
-    0x2f, 0x20, 0xe5, 0x04, 0x00, 0xe5, 0x12, 0x00,
-    0xe5, 0x0b, 0x00, 0x25, 0x00, 0xe5, 0x07, 0x20,
-    0xe5, 0x06, 0xe0, 0x1a, 0xe5, 0x73, 0x80, 0x56,
-    0x60, 0xeb, 0x25, 0x40, 0xef, 0x01, 0xea, 0x2d,
-    0x6b, 0xef, 0x09, 0x2b, 0x4f, 0x00, 0xef, 0x05,
-    0x40, 0x0f, 0xe0, 0x27, 0xef, 0x25, 0x06, 0xe0,
-    0x7a, 0xe5, 0x15, 0x40, 0xe5, 0x29, 0xe0, 0x07,
-    0x06, 0xeb, 0x13, 0x60, 0xe5, 0x18, 0x6b, 0xe0,
-    0x01, 0xe5, 0x0c, 0x0a, 0xe5, 0x00, 0x0a, 0x80,
-    0xe5, 0x1e, 0x86, 0x80, 0xe5, 0x16, 0x00, 0x16,
-    0xe5, 0x1c, 0x60, 0xe5, 0x00, 0x16, 0x8a, 0xe0,
-    0x22, 0xe1, 0x20, 0xe2, 0x20, 0xe5, 0x46, 0x20,
-    0xe9, 0x02, 0xa0, 0xe1, 0x1c, 0x60, 0xe2, 0x1c,
-    0x60, 0xe5, 0x20, 0xe0, 0x00, 0xe5, 0x2c, 0xe0,
-    0x03, 0x16, 0xe1, 0x03, 0x00, 0xe1, 0x07, 0x00,
-    0xc1, 0x00, 0x21, 0x00, 0xe2, 0x03, 0x00, 0xe2,
-    0x07, 0x00, 0xc2, 0x00, 0x22, 0xe0, 0x3b, 0xe5,
-    0x80, 0xaf, 0xe0, 0x01, 0xe5, 0x0e, 0xe0, 0x02,
-    0xe5, 0x00, 0xe0, 0x10, 0xa4, 0x00, 0xe4, 0x22,
-    0x00, 0xe4, 0x01, 0xe0, 0x3d, 0xa5, 0x20, 0x05,
-    0x00, 0xe5, 0x24, 0x00, 0x25, 0x40, 0x05, 0x20,
-    0xe5, 0x0f, 0x00, 0x16, 0xeb, 0x00, 0xe5, 0x0f,
-    0x2f, 0xcb, 0xe5, 0x17, 0xe0, 0x00, 0xeb, 0x01,
-    0xe0, 0x28, 0xe5, 0x0b, 0x00, 0x25, 0x80, 0x8b,
-    0xe5, 0x0e, 0xab, 0x40, 0x16, 0xe5, 0x12, 0x80,
-    0x16, 0xe0, 0x38, 0xe5, 0x30, 0x60, 0x2b, 0x25,
-    0xeb, 0x08, 0x20, 0xeb, 0x26, 0x05, 0x46, 0x00,
-    0x26, 0x80, 0x66, 0x65, 0x00, 0x45, 0x00, 0xe5,
-    0x15, 0x20, 0x46, 0x60, 0x06, 0xeb, 0x01, 0xc0,
-    0xf6, 0x01, 0xc0, 0xe5, 0x15, 0x2b, 0x16, 0xe5,
-    0x15, 0x4b, 0xe0, 0x18, 0xe5, 0x00, 0x0f, 0xe5,
-    0x14, 0x26, 0x60, 0x8b, 0xd6, 0xe0, 0x01, 0xe5,
-    0x2e, 0x40, 0xd6, 0xe5, 0x0e, 0x20, 0xeb, 0x00,
-    0xe5, 0x0b, 0x80, 0xeb, 0x00, 0xe5, 0x0a, 0xc0,
-    0x76, 0xe0, 0x04, 0xcb, 0xe0, 0x48, 0xe5, 0x41,
-    0xe0, 0x2f, 0xe1, 0x2b, 0xe0, 0x05, 0xe2, 0x2b,
-    0xc0, 0xab, 0xe5, 0x1c, 0x66, 0xe0, 0x00, 0xe9,
-    0x02, 0xe0, 0x80, 0x9e, 0xeb, 0x17, 0x00, 0xe5,
-    0x22, 0x00, 0x26, 0x11, 0x20, 0x25, 0xe0, 0x43,
-    0x46, 0xe5, 0x15, 0xeb, 0x02, 0x05, 0xe0, 0x00,
-    0xe5, 0x0e, 0xe6, 0x03, 0x6b, 0x96, 0xe0, 0x0e,
-    0xe5, 0x0a, 0x66, 0x76, 0xe0, 0x1e, 0xe5, 0x0d,
-    0xcb, 0xe0, 0x0c, 0xe5, 0x0f, 0xe0, 0x01, 0x07,
-    0x06, 0x07, 0xe5, 0x2d, 0xe6, 0x07, 0xd6, 0x60,
-    0xeb, 0x0c, 0xe9, 0x02, 0x06, 0x25, 0x26, 0x05,
-    0xe0, 0x01, 0x46, 0x07, 0xe5, 0x25, 0x47, 0x66,
-    0x27, 0x26, 0x36, 0x1b, 0x76, 0x06, 0xe0, 0x02,
-    0x1b, 0x20, 0xe5, 0x11, 0xc0, 0xe9, 0x02, 0xa0,
-    0x46, 0xe5, 0x1c, 0x86, 0x07, 0xe6, 0x00, 0x00,
-    0xe9, 0x02, 0x76, 0x05, 0x27, 0x05, 0xe0, 0x00,
-    0xe5, 0x1b, 0x06, 0x36, 0x05, 0xe0, 0x01, 0x26,
-    0x07, 0xe5, 0x28, 0x47, 0xe6, 0x01, 0x27, 0x65,
-    0x76, 0x66, 0x16, 0x07, 0x06, 0xe9, 0x02, 0x05,
-    0x16, 0x05, 0x56, 0x00, 0xeb, 0x0c, 0xe0, 0x03,
-    0xe5, 0x0a, 0x00, 0xe5, 0x11, 0x47, 0x46, 0x27,
-    0x06, 0x07, 0x26, 0xb6, 0x06, 0x25, 0x06, 0xe0,
-    0x36, 0xc5, 0x00, 0x05, 0x00, 0x65, 0x00, 0xe5,
-    0x07, 0x00, 0xe5, 0x02, 0x16, 0xa0, 0xe5, 0x27,
-    0x06, 0x47, 0xe6, 0x00, 0x80, 0xe9, 0x02, 0xa0,
-    0x26, 0x27, 0x00, 0xe5, 0x00, 0x20, 0x25, 0x20,
-    0xe5, 0x0e, 0x00, 0xc5, 0x00, 0x25, 0x00, 0x85,
-    0x00, 0x26, 0x05, 0x27, 0x06, 0x67, 0x20, 0x27,
-    0x20, 0x47, 0x20, 0x05, 0xa0, 0x07, 0x80, 0x85,
-    0x27, 0x20, 0xc6, 0x40, 0x86, 0xe0, 0x80, 0x03,
-    0xe5, 0x2d, 0x47, 0xe6, 0x00, 0x27, 0x46, 0x07,
-    0x06, 0x65, 0x96, 0xe9, 0x02, 0x36, 0x00, 0x16,
-    0x06, 0x45, 0xe0, 0x16, 0xe5, 0x28, 0x47, 0xa6,
-    0x07, 0x06, 0x67, 0x26, 0x07, 0x26, 0x25, 0x16,
-    0x05, 0xe0, 0x00, 0xe9, 0x02, 0xe0, 0x80, 0x1e,
-    0xe5, 0x27, 0x47, 0x66, 0x20, 0x67, 0x26, 0x07,
-    0x26, 0xf6, 0x0f, 0x65, 0x26, 0xe0, 0x1a, 0xe5,
-    0x28, 0x47, 0xe6, 0x00, 0x27, 0x06, 0x07, 0x26,
-    0x56, 0x05, 0xe0, 0x03, 0xe9, 0x02, 0xa0, 0xf6,
-    0x05, 0xe0, 0x0b, 0xe5, 0x23, 0x06, 0x07, 0x06,
-    0x27, 0xa6, 0x07, 0x06, 0x05, 0x16, 0xa0, 0xe9,
-    0x02, 0xe0, 0x2e, 0xe5, 0x13, 0x20, 0x46, 0x27,
+    0x13, 0x12, 0x13, 0x36, 0x12, 0x13, 0x76, 0x50,
+    0x56, 0x00, 0x76, 0x11, 0x12, 0x13, 0x12, 0x13,
+    0x12, 0x13, 0x56, 0x0c, 0x11, 0x4c, 0x00, 0x16,
+    0x0d, 0x36, 0x60, 0x85, 0x00, 0xe5, 0x7f, 0x20,
+    0x1b, 0x00, 0x56, 0x0d, 0x56, 0x12, 0x13, 0x16,
+    0x0c, 0x16, 0x11, 0x36, 0xe9, 0x02, 0x36, 0x4c,
+    0x36, 0xe1, 0x12, 0x12, 0x16, 0x13, 0x0e, 0x10,
+    0x0e, 0xe2, 0x12, 0x12, 0x0c, 0x13, 0x0c, 0x12,
+    0x13, 0x16, 0x12, 0x13, 0x36, 0xe5, 0x02, 0x04,
+    0xe5, 0x25, 0x24, 0xe5, 0x17, 0x40, 0xa5, 0x20,
+    0xa5, 0x20, 0xa5, 0x20, 0x45, 0x40, 0x2d, 0x0c,
+    0x0e, 0x0f, 0x2d, 0x00, 0x0f, 0x6c, 0x2f, 0xe0,
+    0x02, 0x5b, 0x2f, 0x20, 0xe5, 0x04, 0x00, 0xe5,
+    0x12, 0x00, 0xe5, 0x0b, 0x00, 0x25, 0x00, 0xe5,
+    0x07, 0x20, 0xe5, 0x06, 0xe0, 0x1a, 0xe5, 0x73,
+    0x80, 0x56, 0x60, 0xeb, 0x25, 0x40, 0xef, 0x01,
+    0xea, 0x2d, 0x6b, 0xef, 0x09, 0x2b, 0x4f, 0x00,
+    0xef, 0x05, 0x40, 0x0f, 0xe0, 0x27, 0xef, 0x25,
+    0x06, 0xe0, 0x7a, 0xe5, 0x15, 0x40, 0xe5, 0x29,
+    0xe0, 0x07, 0x06, 0xeb, 0x13, 0x60, 0xe5, 0x18,
+    0x6b, 0xe0, 0x01, 0xe5, 0x0c, 0x0a, 0xe5, 0x00,
+    0x0a, 0x80, 0xe5, 0x1e, 0x86, 0x80, 0xe5, 0x16,
+    0x00, 0x16, 0xe5, 0x1c, 0x60, 0xe5, 0x00, 0x16,
+    0x8a, 0xe0, 0x22, 0xe1, 0x20, 0xe2, 0x20, 0xe5,
+    0x46, 0x20, 0xe9, 0x02, 0xa0, 0xe1, 0x1c, 0x60,
+    0xe2, 0x1c, 0x60, 0xe5, 0x20, 0xe0, 0x00, 0xe5,
+    0x2c, 0xe0, 0x03, 0x16, 0xe1, 0x03, 0x00, 0xe1,
+    0x07, 0x00, 0xc1, 0x00, 0x21, 0x00, 0xe2, 0x03,
+    0x00, 0xe2, 0x07, 0x00, 0xc2, 0x00, 0x22, 0x40,
+    0xe5, 0x2c, 0xe0, 0x04, 0xe5, 0x80, 0xaf, 0xe0,
+    0x01, 0xe5, 0x0e, 0xe0, 0x02, 0xe5, 0x00, 0xe0,
+    0x10, 0xa4, 0x00, 0xe4, 0x22, 0x00, 0xe4, 0x01,
+    0xe0, 0x3d, 0xa5, 0x20, 0x05, 0x00, 0xe5, 0x24,
+    0x00, 0x25, 0x40, 0x05, 0x20, 0xe5, 0x0f, 0x00,
+    0x16, 0xeb, 0x00, 0xe5, 0x0f, 0x2f, 0xcb, 0xe5,
+    0x17, 0xe0, 0x00, 0xeb, 0x01, 0xe0, 0x28, 0xe5,
+    0x0b, 0x00, 0x25, 0x80, 0x8b, 0xe5, 0x0e, 0xab,
+    0x40, 0x16, 0xe5, 0x12, 0x80, 0x16, 0xe0, 0x38,
+    0xe5, 0x30, 0x60, 0x2b, 0x25, 0xeb, 0x08, 0x20,
+    0xeb, 0x26, 0x05, 0x46, 0x00, 0x26, 0x80, 0x66,
+    0x65, 0x00, 0x45, 0x00, 0xe5, 0x15, 0x20, 0x46,
+    0x60, 0x06, 0xeb, 0x01, 0xc0, 0xf6, 0x01, 0xc0,
+    0xe5, 0x15, 0x2b, 0x16, 0xe5, 0x15, 0x4b, 0xe0,
+    0x18, 0xe5, 0x00, 0x0f, 0xe5, 0x14, 0x26, 0x60,
+    0x8b, 0xd6, 0xe0, 0x01, 0xe5, 0x2e, 0x40, 0xd6,
+    0xe5, 0x0e, 0x20, 0xeb, 0x00, 0xe5, 0x0b, 0x80,
+    0xeb, 0x00, 0xe5, 0x0a, 0xc0, 0x76, 0xe0, 0x04,
+    0xcb, 0xe0, 0x48, 0xe5, 0x41, 0xe0, 0x2f, 0xe1,
+    0x2b, 0xe0, 0x05, 0xe2, 0x2b, 0xc0, 0xab, 0xe5,
+    0x1c, 0x66, 0xe0, 0x00, 0xe9, 0x02, 0xa0, 0xe9,
+    0x02, 0x65, 0x04, 0x05, 0xe1, 0x0e, 0x40, 0x86,
+    0x11, 0x04, 0xe2, 0x0e, 0xe0, 0x00, 0x2c, 0xe0,
+    0x80, 0x48, 0xeb, 0x17, 0x00, 0xe5, 0x22, 0x00,
+    0x26, 0x11, 0x20, 0x25, 0xe0, 0x08, 0x45, 0xe0,
+    0x2f, 0x66, 0xe5, 0x15, 0xeb, 0x02, 0x05, 0xe0,
+    0x00, 0xe5, 0x0e, 0xe6, 0x03, 0x6b, 0x96, 0xe0,
+    0x0e, 0xe5, 0x0a, 0x66, 0x76, 0xe0, 0x1e, 0xe5,
+    0x0d, 0xcb, 0xe0, 0x0c, 0xe5, 0x0f, 0xe0, 0x01,
+    0x07, 0x06, 0x07, 0xe5, 0x2d, 0xe6, 0x07, 0xd6,
+    0x60, 0xeb, 0x0c, 0xe9, 0x02, 0x06, 0x25, 0x26,
+    0x05, 0xe0, 0x01, 0x46, 0x07, 0xe5, 0x25, 0x47,
+    0x66, 0x27, 0x26, 0x36, 0x1b, 0x76, 0x06, 0xe0,
+    0x02, 0x1b, 0x20, 0xe5, 0x11, 0xc0, 0xe9, 0x02,
+    0xa0, 0x46, 0xe5, 0x1c, 0x86, 0x07, 0xe6, 0x00,
+    0x00, 0xe9, 0x02, 0x76, 0x05, 0x27, 0x05, 0xe0,
+    0x00, 0xe5, 0x1b, 0x06, 0x36, 0x05, 0xe0, 0x01,
+    0x26, 0x07, 0xe5, 0x28, 0x47, 0xe6, 0x01, 0x27,
+    0x65, 0x76, 0x66, 0x16, 0x07, 0x06, 0xe9, 0x02,
+    0x05, 0x16, 0x05, 0x56, 0x00, 0xeb, 0x0c, 0xe0,
+    0x03, 0xe5, 0x0a, 0x00, 0xe5, 0x11, 0x47, 0x46,
+    0x27, 0x06, 0x07, 0x26, 0xb6, 0x06, 0x25, 0x06,
+    0xe0, 0x36, 0xc5, 0x00, 0x05, 0x00, 0x65, 0x00,
+    0xe5, 0x07, 0x00, 0xe5, 0x02, 0x16, 0xa0, 0xe5,
+    0x27, 0x06, 0x47, 0xe6, 0x00, 0x80, 0xe9, 0x02,
+    0xa0, 0x26, 0x27, 0x00, 0xe5, 0x00, 0x20, 0x25,
+    0x20, 0xe5, 0x0e, 0x00, 0xc5, 0x00, 0x25, 0x00,
+    0x85, 0x00, 0x26, 0x05, 0x27, 0x06, 0x67, 0x20,
+    0x27, 0x20, 0x47, 0x20, 0x05, 0xa0, 0x07, 0x80,
+    0x85, 0x27, 0x20, 0xc6, 0x40, 0x86, 0xe0, 0x03,
+    0xe5, 0x02, 0x00, 0x05, 0x20, 0x05, 0x00, 0xe5,
+    0x1e, 0x00, 0x05, 0x47, 0xa6, 0x00, 0x07, 0x20,
+    0x07, 0x00, 0x67, 0x00, 0x27, 0x06, 0x07, 0x06,
+    0x05, 0x06, 0x05, 0x36, 0x00, 0x36, 0xe0, 0x00,
+    0x26, 0xe0, 0x15, 0xe5, 0x2d, 0x47, 0xe6, 0x00,
+    0x27, 0x46, 0x07, 0x06, 0x65, 0x96, 0xe9, 0x02,
+    0x36, 0x00, 0x16, 0x06, 0x45, 0xe0, 0x16, 0xe5,
+    0x28, 0x47, 0xa6, 0x07, 0x06, 0x67, 0x26, 0x07,
+    0x26, 0x25, 0x16, 0x05, 0xe0, 0x00, 0xe9, 0x02,
+    0xe0, 0x80, 0x1e, 0xe5, 0x27, 0x47, 0x66, 0x20,
+    0x67, 0x26, 0x07, 0x26, 0xf6, 0x0f, 0x65, 0x26,
+    0xe0, 0x1a, 0xe5, 0x28, 0x47, 0xe6, 0x00, 0x27,
+    0x06, 0x07, 0x26, 0x56, 0x05, 0xe0, 0x03, 0xe9,
+    0x02, 0xa0, 0xf6, 0x05, 0xe0, 0x0b, 0xe5, 0x23,
+    0x06, 0x07, 0x06, 0x27, 0xa6, 0x07, 0x06, 0x05,
+    0x16, 0xa0, 0xe9, 0x02, 0xa0, 0xe9, 0x0c, 0xe0,
+    0x14, 0xe5, 0x13, 0x20, 0x06, 0x07, 0x06, 0x27,
     0x66, 0x07, 0x86, 0x60, 0xe9, 0x02, 0x2b, 0x56,
     0x0f, 0xc5, 0xe0, 0x80, 0x31, 0xe5, 0x24, 0x47,
     0xe6, 0x01, 0x07, 0x26, 0x16, 0xe0, 0x5c, 0xe1,
@@ -2787,7 +2832,8 @@ static const uint8_t unicode_gc_table[3948] = {
     0x05, 0x66, 0xf6, 0x00, 0x06, 0xe0, 0x00, 0x05,
     0xa6, 0x27, 0x46, 0xe5, 0x26, 0xe6, 0x05, 0x07,
     0x26, 0x56, 0x05, 0x96, 0xe0, 0x05, 0xe5, 0x41,
-    0xc0, 0xf6, 0x02, 0xe0, 0x80, 0x6e, 0xe5, 0x01,
+    0xc0, 0xf6, 0x02, 0xe0, 0x80, 0x2e, 0xe5, 0x19,
+    0x16, 0xe0, 0x06, 0xe9, 0x02, 0xa0, 0xe5, 0x01,
     0x00, 0xe5, 0x1d, 0x07, 0xc6, 0x00, 0xa6, 0x07,
     0x06, 0x05, 0x96, 0xe0, 0x02, 0xe9, 0x02, 0xeb,
     0x0b, 0x40, 0x36, 0xe5, 0x16, 0x20, 0xe6, 0x0e,
@@ -2800,106 +2846,112 @@ static const uint8_t unicode_gc_table[3948] = {
     0x80, 0xae, 0xe5, 0x0b, 0x26, 0x27, 0x36, 0xc0,
     0x26, 0x05, 0x07, 0xe5, 0x05, 0x00, 0xe5, 0x1a,
     0x27, 0x86, 0x40, 0x27, 0x06, 0x07, 0x06, 0xf6,
-    0x05, 0xe9, 0x02, 0xe0, 0x4e, 0x05, 0xe0, 0x07,
-    0xeb, 0x0d, 0xef, 0x00, 0x6d, 0xef, 0x09, 0xe0,
-    0x05, 0x16, 0xe5, 0x83, 0x12, 0xe0, 0x5e, 0xea,
-    0x67, 0x00, 0x96, 0xe0, 0x03, 0xe5, 0x80, 0x3c,
-    0xe0, 0x89, 0xc4, 0xe5, 0x59, 0x36, 0xe0, 0x05,
-    0xe5, 0x83, 0xa8, 0xfb, 0x08, 0x06, 0xa5, 0xe6,
-    0x07, 0xe0, 0x8f, 0x22, 0xe5, 0x81, 0xbf, 0xe0,
-    0xa1, 0x31, 0xe5, 0x81, 0xb1, 0xc0, 0xe5, 0x17,
-    0x00, 0xe9, 0x02, 0x60, 0x36, 0xe5, 0x47, 0x00,
-    0xe9, 0x02, 0xa0, 0xe5, 0x16, 0x20, 0x86, 0x16,
-    0xe0, 0x02, 0xe5, 0x28, 0xc6, 0x96, 0x6f, 0x64,
-    0x16, 0x0f, 0xe0, 0x02, 0xe9, 0x02, 0x00, 0xcb,
-    0x00, 0xe5, 0x0d, 0x80, 0xe5, 0x0b, 0xe0, 0x82,
-    0x28, 0xe1, 0x18, 0xe2, 0x18, 0xeb, 0x0f, 0x76,
-    0xe0, 0x5d, 0xe5, 0x43, 0x60, 0x06, 0x05, 0xe7,
-    0x2f, 0xc0, 0x66, 0xe4, 0x05, 0xe0, 0x38, 0x24,
-    0x16, 0x04, 0x06, 0xe0, 0x03, 0x27, 0xe0, 0x06,
-    0xe5, 0x97, 0x70, 0xe0, 0x00, 0xe5, 0x84, 0x4e,
-    0xe0, 0x22, 0xe5, 0x01, 0xe0, 0xa2, 0x5f, 0x64,
-    0x00, 0xc4, 0x00, 0x24, 0x00, 0xe5, 0x80, 0x9b,
-    0xe0, 0x07, 0x05, 0xe0, 0x15, 0x45, 0x20, 0x05,
-    0xe0, 0x06, 0x65, 0xe0, 0x00, 0xe5, 0x81, 0x04,
-    0xe0, 0x88, 0x7c, 0xe5, 0x63, 0x80, 0xe5, 0x05,
-    0x40, 0xe5, 0x01, 0xc0, 0xe5, 0x02, 0x20, 0x0f,
-    0x26, 0x16, 0x7b, 0xe0, 0x91, 0xd4, 0xe6, 0x26,
-    0x20, 0xe6, 0x0f, 0xe0, 0x01, 0xef, 0x6c, 0xe0,
-    0x34, 0xef, 0x80, 0x6e, 0xe0, 0x02, 0xef, 0x1f,
-    0x20, 0xef, 0x34, 0x27, 0x46, 0x4f, 0xa7, 0xfb,
-    0x00, 0xe6, 0x00, 0x2f, 0xc6, 0xef, 0x16, 0x66,
-    0xef, 0x35, 0xe0, 0x0d, 0xef, 0x3a, 0x46, 0x0f,
-    0xe0, 0x72, 0xeb, 0x0c, 0xe0, 0x04, 0xeb, 0x0c,
-    0xe0, 0x04, 0xef, 0x4f, 0xe0, 0x01, 0xeb, 0x11,
-    0xe0, 0x7f, 0xe1, 0x12, 0xe2, 0x12, 0xe1, 0x12,
-    0xc2, 0x00, 0xe2, 0x0a, 0xe1, 0x12, 0xe2, 0x12,
-    0x01, 0x00, 0x21, 0x20, 0x01, 0x20, 0x21, 0x20,
-    0x61, 0x00, 0xe1, 0x00, 0x62, 0x00, 0x02, 0x00,
-    0xc2, 0x00, 0xe2, 0x03, 0xe1, 0x12, 0xe2, 0x12,
-    0x21, 0x00, 0x61, 0x20, 0xe1, 0x00, 0x00, 0xc1,
-    0x00, 0xe2, 0x12, 0x21, 0x00, 0x61, 0x00, 0x81,
-    0x00, 0x01, 0x40, 0xc1, 0x00, 0xe2, 0x12, 0xe1,
+    0x05, 0xe9, 0x02, 0x06, 0xe0, 0x4d, 0x05, 0xe0,
+    0x07, 0xeb, 0x0d, 0xef, 0x00, 0x6d, 0xef, 0x09,
+    0xe0, 0x05, 0x16, 0xe5, 0x83, 0x12, 0xe0, 0x5e,
+    0xea, 0x67, 0x00, 0x96, 0xe0, 0x03, 0xe5, 0x80,
+    0x3c, 0xe0, 0x89, 0xc4, 0xe5, 0x59, 0x36, 0xe0,
+    0x05, 0xe5, 0x83, 0xa8, 0xfb, 0x08, 0x06, 0xa5,
+    0xe6, 0x07, 0xe0, 0x02, 0xe5, 0x8f, 0x13, 0x80,
+    0xe5, 0x81, 0xbf, 0xe0, 0x9a, 0x31, 0xe5, 0x16,
+    0xe6, 0x04, 0x47, 0x46, 0xe9, 0x02, 0xe0, 0x86,
+    0x3e, 0xe5, 0x81, 0xb1, 0xc0, 0xe5, 0x17, 0x00,
+    0xe9, 0x02, 0x60, 0x36, 0xe5, 0x47, 0x00, 0xe9,
+    0x02, 0xa0, 0xe5, 0x16, 0x20, 0x86, 0x16, 0xe0,
+    0x02, 0xe5, 0x28, 0xc6, 0x96, 0x6f, 0x64, 0x16,
+    0x0f, 0xe0, 0x02, 0xe9, 0x02, 0x00, 0xcb, 0x00,
+    0xe5, 0x0d, 0x80, 0xe5, 0x0b, 0xe0, 0x81, 0x28,
+    0x44, 0xe5, 0x20, 0x24, 0x56, 0xe9, 0x02, 0xe0,
+    0x80, 0x3e, 0xe1, 0x18, 0xe2, 0x18, 0xeb, 0x0f,
+    0x76, 0xe0, 0x5d, 0xe5, 0x43, 0x60, 0x06, 0x05,
+    0xe7, 0x2f, 0xc0, 0x66, 0xe4, 0x05, 0xe0, 0x38,
+    0x24, 0x16, 0x04, 0x06, 0xe0, 0x03, 0x27, 0xe0,
+    0x06, 0xe5, 0x97, 0x70, 0xe0, 0x00, 0xe5, 0x84,
+    0x4e, 0xe0, 0x21, 0xe5, 0x02, 0xe0, 0xa2, 0x5f,
+    0x64, 0x00, 0xc4, 0x00, 0x24, 0x00, 0xe5, 0x80,
+    0x9b, 0xe0, 0x07, 0x05, 0xe0, 0x15, 0x45, 0x20,
+    0x05, 0xe0, 0x06, 0x65, 0xe0, 0x00, 0xe5, 0x81,
+    0x04, 0xe0, 0x88, 0x7c, 0xe5, 0x63, 0x80, 0xe5,
+    0x05, 0x40, 0xe5, 0x01, 0xc0, 0xe5, 0x02, 0x20,
+    0x0f, 0x26, 0x16, 0x7b, 0xe0, 0x8e, 0xd4, 0xef,
+    0x80, 0x68, 0xe9, 0x02, 0xa0, 0xef, 0x81, 0x2c,
+    0xe0, 0x44, 0xe6, 0x26, 0x20, 0xe6, 0x0f, 0xe0,
+    0x01, 0xef, 0x6c, 0xe0, 0x34, 0xef, 0x80, 0x6e,
+    0xe0, 0x02, 0xef, 0x1f, 0x20, 0xef, 0x34, 0x27,
+    0x46, 0x4f, 0xa7, 0xfb, 0x00, 0xe6, 0x00, 0x2f,
+    0xc6, 0xef, 0x16, 0x66, 0xef, 0x35, 0xe0, 0x0d,
+    0xef, 0x3a, 0x46, 0x0f, 0xe0, 0x72, 0xeb, 0x0c,
+    0xe0, 0x04, 0xeb, 0x0c, 0xe0, 0x04, 0xef, 0x4f,
+    0xe0, 0x01, 0xeb, 0x11, 0xe0, 0x7f, 0xe1, 0x12,
+    0xe2, 0x12, 0xe1, 0x12, 0xc2, 0x00, 0xe2, 0x0a,
+    0xe1, 0x12, 0xe2, 0x12, 0x01, 0x00, 0x21, 0x20,
+    0x01, 0x20, 0x21, 0x20, 0x61, 0x00, 0xe1, 0x00,
+    0x62, 0x00, 0x02, 0x00, 0xc2, 0x00, 0xe2, 0x03,
+    0xe1, 0x12, 0xe2, 0x12, 0x21, 0x00, 0x61, 0x20,
+    0xe1, 0x00, 0x00, 0xc1, 0x00, 0xe2, 0x12, 0x21,
+    0x00, 0x61, 0x00, 0x81, 0x00, 0x01, 0x40, 0xc1,
+    0x00, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
     0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
     0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x12, 0xe1,
-    0x12, 0xe2, 0x12, 0xe1, 0x12, 0xe2, 0x14, 0x20,
-    0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1,
-    0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11,
-    0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c,
-    0xe2, 0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c, 0xe2,
-    0x11, 0x0c, 0xa2, 0x3f, 0x20, 0xe9, 0x2a, 0xef,
-    0x81, 0x78, 0xe6, 0x2f, 0x6f, 0xe6, 0x2a, 0xef,
-    0x00, 0x06, 0xef, 0x06, 0x06, 0x2f, 0x96, 0xe0,
-    0x07, 0x86, 0x00, 0xe6, 0x07, 0xe0, 0x83, 0xc8,
-    0xe2, 0x02, 0x05, 0xe2, 0x0c, 0xa0, 0xa2, 0xe0,
-    0x80, 0x4d, 0xc6, 0x00, 0xe6, 0x09, 0x20, 0xc6,
-    0x00, 0x26, 0x00, 0x86, 0x80, 0xe4, 0x36, 0xe0,
-    0x19, 0x06, 0xe0, 0x68, 0xe5, 0x25, 0x40, 0xc6,
-    0xc4, 0x20, 0xe9, 0x02, 0x60, 0x05, 0x0f, 0xe0,
-    0x80, 0xb8, 0xe5, 0x16, 0x06, 0xe0, 0x09, 0xe5,
-    0x24, 0x66, 0xe9, 0x02, 0x80, 0x0d, 0xe0, 0x81,
-    0x48, 0xe5, 0x13, 0x04, 0x66, 0xe9, 0x02, 0xe0,
-    0x82, 0x5e, 0xc5, 0x00, 0x65, 0x00, 0x25, 0x00,
-    0xe5, 0x07, 0x00, 0xe5, 0x80, 0x3d, 0x20, 0xeb,
-    0x01, 0xc6, 0xe0, 0x21, 0xe1, 0x1a, 0xe2, 0x1a,
-    0xc6, 0x04, 0x60, 0xe9, 0x02, 0x60, 0x36, 0xe0,
-    0x82, 0x89, 0xeb, 0x33, 0x0f, 0x4b, 0x0d, 0x6b,
-    0xe0, 0x44, 0xeb, 0x25, 0x0f, 0xeb, 0x07, 0xe0,
-    0x80, 0x3a, 0x65, 0x00, 0xe5, 0x13, 0x00, 0x25,
-    0x00, 0x05, 0x20, 0x05, 0x00, 0xe5, 0x02, 0x00,
-    0x65, 0x00, 0x05, 0x00, 0x05, 0xa0, 0x05, 0x60,
-    0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x45, 0x00,
-    0x25, 0x00, 0x05, 0x20, 0x05, 0x00, 0x05, 0x00,
-    0x05, 0x00, 0x05, 0x00, 0x05, 0x00, 0x25, 0x00,
-    0x05, 0x20, 0x65, 0x00, 0xc5, 0x00, 0x65, 0x00,
-    0x65, 0x00, 0x05, 0x00, 0xe5, 0x02, 0x00, 0xe5,
-    0x09, 0x80, 0x45, 0x00, 0x85, 0x00, 0xe5, 0x09,
-    0xe0, 0x2c, 0x2c, 0xe0, 0x80, 0x86, 0xef, 0x24,
-    0x60, 0xef, 0x5c, 0xe0, 0x04, 0xef, 0x07, 0x20,
-    0xef, 0x07, 0x00, 0xef, 0x07, 0x00, 0xef, 0x1d,
-    0xe0, 0x02, 0xeb, 0x05, 0xef, 0x80, 0x19, 0xe0,
-    0x30, 0xef, 0x15, 0xe0, 0x05, 0xef, 0x24, 0x60,
-    0xef, 0x01, 0xc0, 0x2f, 0xe0, 0x06, 0xaf, 0xe0,
-    0x80, 0x12, 0xef, 0x80, 0x73, 0x8e, 0xef, 0x82,
-    0x50, 0x60, 0xef, 0x09, 0x40, 0xef, 0x05, 0x40,
-    0xef, 0x6f, 0x60, 0xef, 0x57, 0xa0, 0xef, 0x04,
-    0x60, 0x0f, 0xe0, 0x07, 0xef, 0x04, 0x60, 0xef,
-    0x30, 0xe0, 0x00, 0xef, 0x02, 0xa0, 0xef, 0x20,
-    0xe0, 0x00, 0xef, 0x16, 0x20, 0x2f, 0xe0, 0x46,
-    0xef, 0x80, 0xcc, 0xe0, 0x04, 0xef, 0x06, 0x20,
-    0xef, 0x05, 0x40, 0xef, 0x01, 0xc0, 0xef, 0x26,
-    0x00, 0xcf, 0xe0, 0x00, 0xef, 0x06, 0x60, 0xef,
-    0x01, 0xc0, 0xef, 0x01, 0xc0, 0xef, 0x80, 0x0b,
-    0x00, 0xef, 0x2f, 0xe0, 0x1d, 0xe9, 0x02, 0xe0,
-    0x83, 0x7e, 0xe5, 0xc0, 0x66, 0x58, 0xe0, 0x18,
-    0xe5, 0x8f, 0xb2, 0xa0, 0xe5, 0x80, 0x56, 0x20,
-    0xe5, 0x95, 0xfa, 0xe0, 0x06, 0xe5, 0x9c, 0xa9,
-    0xe0, 0x8b, 0x97, 0xe5, 0x81, 0x96, 0xe0, 0x85,
-    0x5a, 0xe5, 0x92, 0xc3, 0x80, 0xe5, 0x8f, 0xd8,
-    0xe0, 0xca, 0x9b, 0xc9, 0x1b, 0xe0, 0x16, 0xfb,
-    0x58, 0xe0, 0x78, 0xe6, 0x80, 0x68, 0xe0, 0xc0,
-    0xbd, 0x88, 0xfd, 0xc0, 0xbf, 0x76, 0x20, 0xfd,
-    0xc0, 0xbf, 0x76, 0x20,
+    0x12, 0xe2, 0x14, 0x20, 0xe1, 0x11, 0x0c, 0xe2,
+    0x11, 0x0c, 0xa2, 0xe1, 0x11, 0x0c, 0xe2, 0x11,
+    0x0c, 0xa2, 0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c,
+    0xa2, 0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2,
+    0xe1, 0x11, 0x0c, 0xe2, 0x11, 0x0c, 0xa2, 0x3f,
+    0x20, 0xe9, 0x2a, 0xef, 0x81, 0x78, 0xe6, 0x2f,
+    0x6f, 0xe6, 0x2a, 0xef, 0x00, 0x06, 0xef, 0x06,
+    0x06, 0x2f, 0x96, 0xe0, 0x07, 0x86, 0x00, 0xe6,
+    0x07, 0xe0, 0x83, 0xc8, 0xe2, 0x02, 0x05, 0xe2,
+    0x0c, 0xa0, 0xa2, 0xe0, 0x80, 0x4d, 0xc6, 0x00,
+    0xe6, 0x09, 0x20, 0xc6, 0x00, 0x26, 0x00, 0x86,
+    0x80, 0xe4, 0x36, 0xe0, 0x19, 0x06, 0xe0, 0x68,
+    0xe5, 0x25, 0x40, 0xc6, 0xc4, 0x20, 0xe9, 0x02,
+    0x60, 0x05, 0x0f, 0xe0, 0x80, 0xb8, 0xe5, 0x16,
+    0x06, 0xe0, 0x09, 0xe5, 0x24, 0x66, 0xe9, 0x02,
+    0x80, 0x0d, 0xe0, 0x81, 0x48, 0xe5, 0x13, 0x04,
+    0x66, 0xe9, 0x02, 0xe0, 0x80, 0x4e, 0xe5, 0x16,
+    0x26, 0x05, 0xe9, 0x02, 0x60, 0x16, 0xe0, 0x81,
+    0x58, 0xc5, 0x00, 0x65, 0x00, 0x25, 0x00, 0xe5,
+    0x07, 0x00, 0xe5, 0x80, 0x3d, 0x20, 0xeb, 0x01,
+    0xc6, 0xe0, 0x21, 0xe1, 0x1a, 0xe2, 0x1a, 0xc6,
+    0x04, 0x60, 0xe9, 0x02, 0x60, 0x36, 0xe0, 0x82,
+    0x89, 0xeb, 0x33, 0x0f, 0x4b, 0x0d, 0x6b, 0xe0,
+    0x44, 0xeb, 0x25, 0x0f, 0xeb, 0x07, 0xe0, 0x80,
+    0x3a, 0x65, 0x00, 0xe5, 0x13, 0x00, 0x25, 0x00,
+    0x05, 0x20, 0x05, 0x00, 0xe5, 0x02, 0x00, 0x65,
+    0x00, 0x05, 0x00, 0x05, 0xa0, 0x05, 0x60, 0x05,
+    0x00, 0x05, 0x00, 0x05, 0x00, 0x45, 0x00, 0x25,
+    0x00, 0x05, 0x20, 0x05, 0x00, 0x05, 0x00, 0x05,
+    0x00, 0x05, 0x00, 0x05, 0x00, 0x25, 0x00, 0x05,
+    0x20, 0x65, 0x00, 0xc5, 0x00, 0x65, 0x00, 0x65,
+    0x00, 0x05, 0x00, 0xe5, 0x02, 0x00, 0xe5, 0x09,
+    0x80, 0x45, 0x00, 0x85, 0x00, 0xe5, 0x09, 0xe0,
+    0x2c, 0x2c, 0xe0, 0x80, 0x86, 0xef, 0x24, 0x60,
+    0xef, 0x5c, 0xe0, 0x04, 0xef, 0x07, 0x20, 0xef,
+    0x07, 0x00, 0xef, 0x07, 0x00, 0xef, 0x1d, 0xe0,
+    0x02, 0xeb, 0x05, 0xef, 0x80, 0x19, 0xe0, 0x30,
+    0xef, 0x15, 0xe0, 0x05, 0xef, 0x24, 0x60, 0xef,
+    0x01, 0xc0, 0x2f, 0xe0, 0x06, 0xaf, 0xe0, 0x80,
+    0x12, 0xef, 0x80, 0x73, 0x8e, 0xef, 0x82, 0x50,
+    0x60, 0xef, 0x09, 0x40, 0xef, 0x05, 0x40, 0xef,
+    0x6f, 0x60, 0xef, 0x57, 0xa0, 0xef, 0x04, 0x60,
+    0x0f, 0xe0, 0x07, 0xef, 0x04, 0x60, 0xef, 0x30,
+    0xe0, 0x00, 0xef, 0x02, 0xa0, 0xef, 0x20, 0xe0,
+    0x00, 0xef, 0x16, 0x20, 0xef, 0x04, 0x60, 0x2f,
+    0xe0, 0x36, 0xef, 0x80, 0xcc, 0xe0, 0x04, 0xef,
+    0x06, 0x20, 0xef, 0x05, 0x40, 0xef, 0x02, 0x80,
+    0xef, 0x30, 0xc0, 0xef, 0x07, 0x20, 0xef, 0x03,
+    0xa0, 0xef, 0x01, 0xc0, 0xef, 0x80, 0x0b, 0x00,
+    0xef, 0x54, 0xe9, 0x02, 0xe0, 0x83, 0x7e, 0xe5,
+    0xc0, 0x66, 0x58, 0xe0, 0x18, 0xe5, 0x8f, 0xb2,
+    0xa0, 0xe5, 0x80, 0x56, 0x20, 0xe5, 0x95, 0xfa,
+    0xe0, 0x06, 0xe5, 0x9c, 0xa9, 0xe0, 0x07, 0xe5,
+    0x81, 0xe6, 0xe0, 0x89, 0x1a, 0xe5, 0x81, 0x96,
+    0xe0, 0x85, 0x5a, 0xe5, 0x92, 0xc3, 0x80, 0xe5,
+    0x8f, 0xd8, 0xe0, 0xca, 0x9b, 0xc9, 0x1b, 0xe0,
+    0x16, 0xfb, 0x58, 0xe0, 0x78, 0xe6, 0x80, 0x68,
+    0xe0, 0xc0, 0xbd, 0x88, 0xfd, 0xc0, 0xbf, 0x76,
+    0x20, 0xfd, 0xc0, 0xbf, 0x76, 0x20,
 };
 
 typedef enum {
@@ -2943,6 +2995,7 @@ typedef enum {
     UNICODE_SCRIPT_Elbasan,
     UNICODE_SCRIPT_Elymaic,
     UNICODE_SCRIPT_Ethiopic,
+    UNICODE_SCRIPT_Garay,
     UNICODE_SCRIPT_Georgian,
     UNICODE_SCRIPT_Glagolitic,
     UNICODE_SCRIPT_Gothic,
@@ -2951,6 +3004,7 @@ typedef enum {
     UNICODE_SCRIPT_Gujarati,
     UNICODE_SCRIPT_Gunjala_Gondi,
     UNICODE_SCRIPT_Gurmukhi,
+    UNICODE_SCRIPT_Gurung_Khema,
     UNICODE_SCRIPT_Han,
     UNICODE_SCRIPT_Hangul,
     UNICODE_SCRIPT_Hanifi_Rohingya,
@@ -2973,6 +3027,7 @@ typedef enum {
     UNICODE_SCRIPT_Khojki,
     UNICODE_SCRIPT_Khitan_Small_Script,
     UNICODE_SCRIPT_Khudawadi,
+    UNICODE_SCRIPT_Kirat_Rai,
     UNICODE_SCRIPT_Lao,
     UNICODE_SCRIPT_Latin,
     UNICODE_SCRIPT_Lepcha,
@@ -3010,6 +3065,7 @@ typedef enum {
     UNICODE_SCRIPT_Nyiakeng_Puachue_Hmong,
     UNICODE_SCRIPT_Ogham,
     UNICODE_SCRIPT_Ol_Chiki,
+    UNICODE_SCRIPT_Ol_Onal,
     UNICODE_SCRIPT_Old_Hungarian,
     UNICODE_SCRIPT_Old_Italic,
     UNICODE_SCRIPT_Old_North_Arabian,
@@ -3041,6 +3097,7 @@ typedef enum {
     UNICODE_SCRIPT_Sora_Sompeng,
     UNICODE_SCRIPT_Soyombo,
     UNICODE_SCRIPT_Sundanese,
+    UNICODE_SCRIPT_Sunuwar,
     UNICODE_SCRIPT_Syloti_Nagri,
     UNICODE_SCRIPT_Syriac,
     UNICODE_SCRIPT_Tagalog,
@@ -3058,7 +3115,9 @@ typedef enum {
     UNICODE_SCRIPT_Tifinagh,
     UNICODE_SCRIPT_Tirhuta,
     UNICODE_SCRIPT_Tangsa,
+    UNICODE_SCRIPT_Todhri,
     UNICODE_SCRIPT_Toto,
+    UNICODE_SCRIPT_Tulu_Tigalari,
     UNICODE_SCRIPT_Ugaritic,
     UNICODE_SCRIPT_Vai,
     UNICODE_SCRIPT_Vithkuqi,
@@ -3110,6 +3169,7 @@ static const char unicode_script_name_table[] =
     "Elbasan,Elba"                "\0"
     "Elymaic,Elym"                "\0"
     "Ethiopic,Ethi"               "\0"
+    "Garay,Gara"                  "\0"
     "Georgian,Geor"               "\0"
     "Glagolitic,Glag"             "\0"
     "Gothic,Goth"                 "\0"
@@ -3118,6 +3178,7 @@ static const char unicode_script_name_table[] =
     "Gujarati,Gujr"               "\0"
     "Gunjala_Gondi,Gong"          "\0"
     "Gurmukhi,Guru"               "\0"
+    "Gurung_Khema,Gukh"           "\0"
     "Han,Hani"                    "\0"
     "Hangul,Hang"                 "\0"
     "Hanifi_Rohingya,Rohg"        "\0"
@@ -3140,6 +3201,7 @@ static const char unicode_script_name_table[] =
     "Khojki,Khoj"                 "\0"
     "Khitan_Small_Script,Kits"    "\0"
     "Khudawadi,Sind"              "\0"
+    "Kirat_Rai,Krai"              "\0"
     "Lao,Laoo"                    "\0"
     "Latin,Latn"                  "\0"
     "Lepcha,Lepc"                 "\0"
@@ -3177,6 +3239,7 @@ static const char unicode_script_name_table[] =
     "Nyiakeng_Puachue_Hmong,Hmnp" "\0"
     "Ogham,Ogam"                  "\0"
     "Ol_Chiki,Olck"               "\0"
+    "Ol_Onal,Onao"                "\0"
     "Old_Hungarian,Hung"          "\0"
     "Old_Italic,Ital"             "\0"
     "Old_North_Arabian,Narb"      "\0"
@@ -3208,6 +3271,7 @@ static const char unicode_script_name_table[] =
     "Sora_Sompeng,Sora"           "\0"
     "Soyombo,Soyo"                "\0"
     "Sundanese,Sund"              "\0"
+    "Sunuwar,Sunu"                "\0"
     "Syloti_Nagri,Sylo"           "\0"
     "Syriac,Syrc"                 "\0"
     "Tagalog,Tglg"                "\0"
@@ -3225,7 +3289,9 @@ static const char unicode_script_name_table[] =
     "Tifinagh,Tfng"               "\0"
     "Tirhuta,Tirh"                "\0"
     "Tangsa,Tnsa"                 "\0"
+    "Todhri,Todr"                 "\0"
     "Toto,Toto"                   "\0"
+    "Tulu_Tigalari,Tutg"          "\0"
     "Ugaritic,Ugar"               "\0"
     "Vai,Vaii"                    "\0"
     "Vithkuqi,Vith"               "\0"
@@ -3236,87 +3302,87 @@ static const char unicode_script_name_table[] =
     "Zanabazar_Square,Zanb"       "\0"
 ;
 
-static const uint8_t unicode_script_table[2720] = {
-    0xc0, 0x19, 0x99, 0x47, 0x85, 0x19, 0x99, 0x47,
-    0xae, 0x19, 0x80, 0x47, 0x8e, 0x19, 0x80, 0x47,
-    0x84, 0x19, 0x96, 0x47, 0x80, 0x19, 0x9e, 0x47,
-    0x80, 0x19, 0xe1, 0x60, 0x47, 0xa6, 0x19, 0x84,
-    0x47, 0x84, 0x19, 0x81, 0x0d, 0x93, 0x19, 0xe0,
-    0x0f, 0x38, 0x83, 0x2c, 0x80, 0x19, 0x82, 0x2c,
-    0x01, 0x83, 0x2c, 0x80, 0x19, 0x80, 0x2c, 0x03,
-    0x80, 0x2c, 0x80, 0x19, 0x80, 0x2c, 0x80, 0x19,
-    0x82, 0x2c, 0x00, 0x80, 0x2c, 0x00, 0x93, 0x2c,
-    0x00, 0xbe, 0x2c, 0x8d, 0x1a, 0x8f, 0x2c, 0xe0,
-    0x24, 0x1d, 0x81, 0x38, 0xe0, 0x48, 0x1d, 0x00,
+static const uint8_t unicode_script_table[2803] = {
+    0xc0, 0x19, 0x99, 0x4a, 0x85, 0x19, 0x99, 0x4a,
+    0xae, 0x19, 0x80, 0x4a, 0x8e, 0x19, 0x80, 0x4a,
+    0x84, 0x19, 0x96, 0x4a, 0x80, 0x19, 0x9e, 0x4a,
+    0x80, 0x19, 0xe1, 0x60, 0x4a, 0xa6, 0x19, 0x84,
+    0x4a, 0x84, 0x19, 0x81, 0x0d, 0x93, 0x19, 0xe0,
+    0x0f, 0x3a, 0x83, 0x2d, 0x80, 0x19, 0x82, 0x2d,
+    0x01, 0x83, 0x2d, 0x80, 0x19, 0x80, 0x2d, 0x03,
+    0x80, 0x2d, 0x80, 0x19, 0x80, 0x2d, 0x80, 0x19,
+    0x82, 0x2d, 0x00, 0x80, 0x2d, 0x00, 0x93, 0x2d,
+    0x00, 0xbe, 0x2d, 0x8d, 0x1a, 0x8f, 0x2d, 0xe0,
+    0x24, 0x1d, 0x81, 0x3a, 0xe0, 0x48, 0x1d, 0x00,
     0xa5, 0x05, 0x01, 0xb1, 0x05, 0x01, 0x82, 0x05,
-    0x00, 0xb6, 0x35, 0x07, 0x9a, 0x35, 0x03, 0x85,
-    0x35, 0x0a, 0x84, 0x04, 0x80, 0x19, 0x85, 0x04,
+    0x00, 0xb6, 0x37, 0x07, 0x9a, 0x37, 0x03, 0x85,
+    0x37, 0x0a, 0x84, 0x04, 0x80, 0x19, 0x85, 0x04,
     0x80, 0x19, 0x8d, 0x04, 0x80, 0x19, 0x82, 0x04,
     0x80, 0x19, 0x9f, 0x04, 0x80, 0x19, 0x89, 0x04,
-    0x8a, 0x38, 0x99, 0x04, 0x80, 0x38, 0xe0, 0x0b,
-    0x04, 0x80, 0x19, 0xa1, 0x04, 0x8d, 0x8b, 0x00,
-    0xbb, 0x8b, 0x01, 0x82, 0x8b, 0xaf, 0x04, 0xb1,
-    0x95, 0x0d, 0xba, 0x66, 0x01, 0x82, 0x66, 0xad,
-    0x7f, 0x01, 0x8e, 0x7f, 0x00, 0x9b, 0x52, 0x01,
-    0x80, 0x52, 0x00, 0x8a, 0x8b, 0x04, 0x9e, 0x04,
-    0x00, 0x81, 0x04, 0x05, 0xc9, 0x04, 0x80, 0x19,
-    0x9c, 0x04, 0xd0, 0x20, 0x83, 0x38, 0x8e, 0x20,
+    0x8a, 0x3a, 0x99, 0x04, 0x80, 0x3a, 0xe0, 0x0b,
+    0x04, 0x80, 0x19, 0xa1, 0x04, 0x8d, 0x90, 0x00,
+    0xbb, 0x90, 0x01, 0x82, 0x90, 0xaf, 0x04, 0xb1,
+    0x9a, 0x0d, 0xba, 0x69, 0x01, 0x82, 0x69, 0xad,
+    0x83, 0x01, 0x8e, 0x83, 0x00, 0x9b, 0x55, 0x01,
+    0x80, 0x55, 0x00, 0x8a, 0x90, 0x04, 0x9e, 0x04,
+    0x00, 0x81, 0x04, 0x04, 0xca, 0x04, 0x80, 0x19,
+    0x9c, 0x04, 0xd0, 0x20, 0x83, 0x3a, 0x8e, 0x20,
     0x81, 0x19, 0x99, 0x20, 0x83, 0x0b, 0x00, 0x87,
     0x0b, 0x01, 0x81, 0x0b, 0x01, 0x95, 0x0b, 0x00,
     0x86, 0x0b, 0x00, 0x80, 0x0b, 0x02, 0x83, 0x0b,
     0x01, 0x88, 0x0b, 0x01, 0x81, 0x0b, 0x01, 0x83,
     0x0b, 0x07, 0x80, 0x0b, 0x03, 0x81, 0x0b, 0x00,
-    0x84, 0x0b, 0x01, 0x98, 0x0b, 0x01, 0x82, 0x2f,
-    0x00, 0x85, 0x2f, 0x03, 0x81, 0x2f, 0x01, 0x95,
-    0x2f, 0x00, 0x86, 0x2f, 0x00, 0x81, 0x2f, 0x00,
-    0x81, 0x2f, 0x00, 0x81, 0x2f, 0x01, 0x80, 0x2f,
-    0x00, 0x84, 0x2f, 0x03, 0x81, 0x2f, 0x01, 0x82,
-    0x2f, 0x02, 0x80, 0x2f, 0x06, 0x83, 0x2f, 0x00,
-    0x80, 0x2f, 0x06, 0x90, 0x2f, 0x09, 0x82, 0x2d,
-    0x00, 0x88, 0x2d, 0x00, 0x82, 0x2d, 0x00, 0x95,
-    0x2d, 0x00, 0x86, 0x2d, 0x00, 0x81, 0x2d, 0x00,
-    0x84, 0x2d, 0x01, 0x89, 0x2d, 0x00, 0x82, 0x2d,
-    0x00, 0x82, 0x2d, 0x01, 0x80, 0x2d, 0x0e, 0x83,
-    0x2d, 0x01, 0x8b, 0x2d, 0x06, 0x86, 0x2d, 0x00,
-    0x82, 0x74, 0x00, 0x87, 0x74, 0x01, 0x81, 0x74,
-    0x01, 0x95, 0x74, 0x00, 0x86, 0x74, 0x00, 0x81,
-    0x74, 0x00, 0x84, 0x74, 0x01, 0x88, 0x74, 0x01,
-    0x81, 0x74, 0x01, 0x82, 0x74, 0x06, 0x82, 0x74,
-    0x03, 0x81, 0x74, 0x00, 0x84, 0x74, 0x01, 0x91,
-    0x74, 0x09, 0x81, 0x92, 0x00, 0x85, 0x92, 0x02,
-    0x82, 0x92, 0x00, 0x83, 0x92, 0x02, 0x81, 0x92,
-    0x00, 0x80, 0x92, 0x00, 0x81, 0x92, 0x02, 0x81,
-    0x92, 0x02, 0x82, 0x92, 0x02, 0x8b, 0x92, 0x03,
-    0x84, 0x92, 0x02, 0x82, 0x92, 0x00, 0x83, 0x92,
-    0x01, 0x80, 0x92, 0x05, 0x80, 0x92, 0x0d, 0x94,
-    0x92, 0x04, 0x8c, 0x94, 0x00, 0x82, 0x94, 0x00,
-    0x96, 0x94, 0x00, 0x8f, 0x94, 0x01, 0x88, 0x94,
-    0x00, 0x82, 0x94, 0x00, 0x83, 0x94, 0x06, 0x81,
-    0x94, 0x00, 0x82, 0x94, 0x01, 0x80, 0x94, 0x01,
-    0x83, 0x94, 0x01, 0x89, 0x94, 0x06, 0x88, 0x94,
-    0x8c, 0x3d, 0x00, 0x82, 0x3d, 0x00, 0x96, 0x3d,
-    0x00, 0x89, 0x3d, 0x00, 0x84, 0x3d, 0x01, 0x88,
-    0x3d, 0x00, 0x82, 0x3d, 0x00, 0x83, 0x3d, 0x06,
-    0x81, 0x3d, 0x05, 0x81, 0x3d, 0x00, 0x83, 0x3d,
-    0x01, 0x89, 0x3d, 0x00, 0x82, 0x3d, 0x0b, 0x8c,
-    0x51, 0x00, 0x82, 0x51, 0x00, 0xb2, 0x51, 0x00,
-    0x82, 0x51, 0x00, 0x85, 0x51, 0x03, 0x8f, 0x51,
-    0x01, 0x99, 0x51, 0x00, 0x82, 0x85, 0x00, 0x91,
-    0x85, 0x02, 0x97, 0x85, 0x00, 0x88, 0x85, 0x00,
-    0x80, 0x85, 0x01, 0x86, 0x85, 0x02, 0x80, 0x85,
-    0x03, 0x85, 0x85, 0x00, 0x80, 0x85, 0x00, 0x87,
-    0x85, 0x05, 0x89, 0x85, 0x01, 0x82, 0x85, 0x0b,
-    0xb9, 0x96, 0x03, 0x80, 0x19, 0x9b, 0x96, 0x24,
-    0x81, 0x46, 0x00, 0x80, 0x46, 0x00, 0x84, 0x46,
-    0x00, 0x97, 0x46, 0x00, 0x80, 0x46, 0x00, 0x96,
-    0x46, 0x01, 0x84, 0x46, 0x00, 0x80, 0x46, 0x00,
-    0x86, 0x46, 0x00, 0x89, 0x46, 0x01, 0x83, 0x46,
-    0x1f, 0xc7, 0x97, 0x00, 0xa3, 0x97, 0x03, 0xa6,
-    0x97, 0x00, 0xa3, 0x97, 0x00, 0x8e, 0x97, 0x00,
-    0x86, 0x97, 0x83, 0x19, 0x81, 0x97, 0x24, 0xe0,
-    0x3f, 0x60, 0xa5, 0x28, 0x00, 0x80, 0x28, 0x04,
-    0x80, 0x28, 0x01, 0xaa, 0x28, 0x80, 0x19, 0x83,
-    0x28, 0xe0, 0x9f, 0x31, 0xc8, 0x27, 0x00, 0x83,
+    0x84, 0x0b, 0x01, 0x98, 0x0b, 0x01, 0x82, 0x30,
+    0x00, 0x85, 0x30, 0x03, 0x81, 0x30, 0x01, 0x95,
+    0x30, 0x00, 0x86, 0x30, 0x00, 0x81, 0x30, 0x00,
+    0x81, 0x30, 0x00, 0x81, 0x30, 0x01, 0x80, 0x30,
+    0x00, 0x84, 0x30, 0x03, 0x81, 0x30, 0x01, 0x82,
+    0x30, 0x02, 0x80, 0x30, 0x06, 0x83, 0x30, 0x00,
+    0x80, 0x30, 0x06, 0x90, 0x30, 0x09, 0x82, 0x2e,
+    0x00, 0x88, 0x2e, 0x00, 0x82, 0x2e, 0x00, 0x95,
+    0x2e, 0x00, 0x86, 0x2e, 0x00, 0x81, 0x2e, 0x00,
+    0x84, 0x2e, 0x01, 0x89, 0x2e, 0x00, 0x82, 0x2e,
+    0x00, 0x82, 0x2e, 0x01, 0x80, 0x2e, 0x0e, 0x83,
+    0x2e, 0x01, 0x8b, 0x2e, 0x06, 0x86, 0x2e, 0x00,
+    0x82, 0x78, 0x00, 0x87, 0x78, 0x01, 0x81, 0x78,
+    0x01, 0x95, 0x78, 0x00, 0x86, 0x78, 0x00, 0x81,
+    0x78, 0x00, 0x84, 0x78, 0x01, 0x88, 0x78, 0x01,
+    0x81, 0x78, 0x01, 0x82, 0x78, 0x06, 0x82, 0x78,
+    0x03, 0x81, 0x78, 0x00, 0x84, 0x78, 0x01, 0x91,
+    0x78, 0x09, 0x81, 0x97, 0x00, 0x85, 0x97, 0x02,
+    0x82, 0x97, 0x00, 0x83, 0x97, 0x02, 0x81, 0x97,
+    0x00, 0x80, 0x97, 0x00, 0x81, 0x97, 0x02, 0x81,
+    0x97, 0x02, 0x82, 0x97, 0x02, 0x8b, 0x97, 0x03,
+    0x84, 0x97, 0x02, 0x82, 0x97, 0x00, 0x83, 0x97,
+    0x01, 0x80, 0x97, 0x05, 0x80, 0x97, 0x0d, 0x94,
+    0x97, 0x04, 0x8c, 0x99, 0x00, 0x82, 0x99, 0x00,
+    0x96, 0x99, 0x00, 0x8f, 0x99, 0x01, 0x88, 0x99,
+    0x00, 0x82, 0x99, 0x00, 0x83, 0x99, 0x06, 0x81,
+    0x99, 0x00, 0x82, 0x99, 0x01, 0x80, 0x99, 0x01,
+    0x83, 0x99, 0x01, 0x89, 0x99, 0x06, 0x88, 0x99,
+    0x8c, 0x3f, 0x00, 0x82, 0x3f, 0x00, 0x96, 0x3f,
+    0x00, 0x89, 0x3f, 0x00, 0x84, 0x3f, 0x01, 0x88,
+    0x3f, 0x00, 0x82, 0x3f, 0x00, 0x83, 0x3f, 0x06,
+    0x81, 0x3f, 0x05, 0x81, 0x3f, 0x00, 0x83, 0x3f,
+    0x01, 0x89, 0x3f, 0x00, 0x82, 0x3f, 0x0b, 0x8c,
+    0x54, 0x00, 0x82, 0x54, 0x00, 0xb2, 0x54, 0x00,
+    0x82, 0x54, 0x00, 0x85, 0x54, 0x03, 0x8f, 0x54,
+    0x01, 0x99, 0x54, 0x00, 0x82, 0x89, 0x00, 0x91,
+    0x89, 0x02, 0x97, 0x89, 0x00, 0x88, 0x89, 0x00,
+    0x80, 0x89, 0x01, 0x86, 0x89, 0x02, 0x80, 0x89,
+    0x03, 0x85, 0x89, 0x00, 0x80, 0x89, 0x00, 0x87,
+    0x89, 0x05, 0x89, 0x89, 0x01, 0x82, 0x89, 0x0b,
+    0xb9, 0x9b, 0x03, 0x80, 0x19, 0x9b, 0x9b, 0x24,
+    0x81, 0x49, 0x00, 0x80, 0x49, 0x00, 0x84, 0x49,
+    0x00, 0x97, 0x49, 0x00, 0x80, 0x49, 0x00, 0x96,
+    0x49, 0x01, 0x84, 0x49, 0x00, 0x80, 0x49, 0x00,
+    0x86, 0x49, 0x00, 0x89, 0x49, 0x01, 0x83, 0x49,
+    0x1f, 0xc7, 0x9c, 0x00, 0xa3, 0x9c, 0x03, 0xa6,
+    0x9c, 0x00, 0xa3, 0x9c, 0x00, 0x8e, 0x9c, 0x00,
+    0x86, 0x9c, 0x83, 0x19, 0x81, 0x9c, 0x24, 0xe0,
+    0x3f, 0x63, 0xa5, 0x29, 0x00, 0x80, 0x29, 0x04,
+    0x80, 0x29, 0x01, 0xaa, 0x29, 0x80, 0x19, 0x83,
+    0x29, 0xe0, 0x9f, 0x33, 0xc8, 0x27, 0x00, 0x83,
     0x27, 0x01, 0x86, 0x27, 0x00, 0x80, 0x27, 0x00,
     0x83, 0x27, 0x01, 0xa8, 0x27, 0x00, 0x83, 0x27,
     0x01, 0xa0, 0x27, 0x00, 0x83, 0x27, 0x01, 0x86,
@@ -3324,366 +3390,430 @@ static const uint8_t unicode_script_table[2720] = {
     0x8e, 0x27, 0x00, 0xb8, 0x27, 0x00, 0x83, 0x27,
     0x01, 0xc2, 0x27, 0x01, 0x9f, 0x27, 0x02, 0x99,
     0x27, 0x05, 0xd5, 0x17, 0x01, 0x85, 0x17, 0x01,
-    0xe2, 0x1f, 0x12, 0x9c, 0x69, 0x02, 0xca, 0x7e,
-    0x82, 0x19, 0x8a, 0x7e, 0x06, 0x95, 0x8c, 0x08,
-    0x80, 0x8c, 0x94, 0x33, 0x81, 0x19, 0x08, 0x93,
-    0x11, 0x0b, 0x8c, 0x8d, 0x00, 0x82, 0x8d, 0x00,
-    0x81, 0x8d, 0x0b, 0xdd, 0x42, 0x01, 0x89, 0x42,
-    0x05, 0x89, 0x42, 0x05, 0x81, 0x5d, 0x81, 0x19,
-    0x80, 0x5d, 0x80, 0x19, 0x93, 0x5d, 0x05, 0xd8,
-    0x5d, 0x06, 0xaa, 0x5d, 0x04, 0xc5, 0x12, 0x09,
-    0x9e, 0x49, 0x00, 0x8b, 0x49, 0x03, 0x8b, 0x49,
-    0x03, 0x80, 0x49, 0x02, 0x8b, 0x49, 0x9d, 0x8e,
-    0x01, 0x84, 0x8e, 0x0a, 0xab, 0x64, 0x03, 0x99,
-    0x64, 0x05, 0x8a, 0x64, 0x02, 0x81, 0x64, 0x9f,
-    0x42, 0x9b, 0x10, 0x01, 0x81, 0x10, 0xbe, 0x8f,
-    0x00, 0x9c, 0x8f, 0x01, 0x8a, 0x8f, 0x05, 0x89,
-    0x8f, 0x05, 0x8d, 0x8f, 0x01, 0x9e, 0x38, 0x30,
-    0xcc, 0x07, 0x02, 0xae, 0x07, 0x00, 0xbf, 0x89,
-    0xb3, 0x0a, 0x07, 0x83, 0x0a, 0xb7, 0x48, 0x02,
-    0x8e, 0x48, 0x02, 0x82, 0x48, 0xaf, 0x6a, 0x88,
-    0x1d, 0x06, 0xaa, 0x28, 0x01, 0x82, 0x28, 0x87,
-    0x89, 0x07, 0x82, 0x38, 0x80, 0x19, 0x8c, 0x38,
-    0x80, 0x19, 0x86, 0x38, 0x83, 0x19, 0x80, 0x38,
-    0x85, 0x19, 0x80, 0x38, 0x82, 0x19, 0x81, 0x38,
-    0x80, 0x19, 0x04, 0xa5, 0x47, 0x84, 0x2c, 0x80,
-    0x1d, 0xb0, 0x47, 0x84, 0x2c, 0x83, 0x47, 0x84,
-    0x2c, 0x8c, 0x47, 0x80, 0x1d, 0xc5, 0x47, 0x80,
-    0x2c, 0xbf, 0x38, 0xe0, 0x9f, 0x47, 0x95, 0x2c,
-    0x01, 0x85, 0x2c, 0x01, 0xa5, 0x2c, 0x01, 0x85,
-    0x2c, 0x01, 0x87, 0x2c, 0x00, 0x80, 0x2c, 0x00,
-    0x80, 0x2c, 0x00, 0x80, 0x2c, 0x00, 0x9e, 0x2c,
-    0x01, 0xb4, 0x2c, 0x00, 0x8e, 0x2c, 0x00, 0x8d,
-    0x2c, 0x01, 0x85, 0x2c, 0x00, 0x92, 0x2c, 0x01,
-    0x82, 0x2c, 0x00, 0x88, 0x2c, 0x00, 0x8b, 0x19,
-    0x81, 0x38, 0xd6, 0x19, 0x00, 0x8a, 0x19, 0x80,
-    0x47, 0x01, 0x8a, 0x19, 0x80, 0x47, 0x8e, 0x19,
-    0x00, 0x8c, 0x47, 0x02, 0xa0, 0x19, 0x0e, 0xa0,
-    0x38, 0x0e, 0xa5, 0x19, 0x80, 0x2c, 0x82, 0x19,
-    0x81, 0x47, 0x85, 0x19, 0x80, 0x47, 0x9a, 0x19,
-    0x80, 0x47, 0x90, 0x19, 0xa8, 0x47, 0x82, 0x19,
-    0x03, 0xe2, 0x36, 0x19, 0x18, 0x8a, 0x19, 0x14,
-    0xe3, 0x3f, 0x19, 0xe0, 0x9f, 0x0f, 0xe2, 0x13,
-    0x19, 0x01, 0x9f, 0x19, 0x00, 0xe0, 0x08, 0x19,
-    0xdf, 0x29, 0x9f, 0x47, 0xe0, 0x13, 0x1a, 0x04,
-    0x86, 0x1a, 0xa5, 0x28, 0x00, 0x80, 0x28, 0x04,
-    0x80, 0x28, 0x01, 0xb7, 0x98, 0x06, 0x81, 0x98,
-    0x0d, 0x80, 0x98, 0x96, 0x27, 0x08, 0x86, 0x27,
+    0xe2, 0x1f, 0x12, 0x9c, 0x6c, 0x02, 0xca, 0x82,
+    0x82, 0x19, 0x8a, 0x82, 0x06, 0x95, 0x91, 0x08,
+    0x80, 0x91, 0x94, 0x35, 0x81, 0x19, 0x08, 0x93,
+    0x11, 0x0b, 0x8c, 0x92, 0x00, 0x82, 0x92, 0x00,
+    0x81, 0x92, 0x0b, 0xdd, 0x44, 0x01, 0x89, 0x44,
+    0x05, 0x89, 0x44, 0x05, 0x81, 0x60, 0x81, 0x19,
+    0x80, 0x60, 0x80, 0x19, 0x93, 0x60, 0x05, 0xd8,
+    0x60, 0x06, 0xaa, 0x60, 0x04, 0xc5, 0x12, 0x09,
+    0x9e, 0x4c, 0x00, 0x8b, 0x4c, 0x03, 0x8b, 0x4c,
+    0x03, 0x80, 0x4c, 0x02, 0x8b, 0x4c, 0x9d, 0x93,
+    0x01, 0x84, 0x93, 0x0a, 0xab, 0x67, 0x03, 0x99,
+    0x67, 0x05, 0x8a, 0x67, 0x02, 0x81, 0x67, 0x9f,
+    0x44, 0x9b, 0x10, 0x01, 0x81, 0x10, 0xbe, 0x94,
+    0x00, 0x9c, 0x94, 0x01, 0x8a, 0x94, 0x05, 0x89,
+    0x94, 0x05, 0x8d, 0x94, 0x01, 0x9e, 0x3a, 0x30,
+    0xcc, 0x07, 0x00, 0xb1, 0x07, 0xbf, 0x8d, 0xb3,
+    0x0a, 0x07, 0x83, 0x0a, 0xb7, 0x4b, 0x02, 0x8e,
+    0x4b, 0x02, 0x82, 0x4b, 0xaf, 0x6d, 0x8a, 0x1d,
+    0x04, 0xaa, 0x29, 0x01, 0x82, 0x29, 0x87, 0x8d,
+    0x07, 0x82, 0x3a, 0x80, 0x19, 0x8c, 0x3a, 0x80,
+    0x19, 0x86, 0x3a, 0x83, 0x19, 0x80, 0x3a, 0x85,
+    0x19, 0x80, 0x3a, 0x82, 0x19, 0x81, 0x3a, 0x80,
+    0x19, 0x04, 0xa5, 0x4a, 0x84, 0x2d, 0x80, 0x1d,
+    0xb0, 0x4a, 0x84, 0x2d, 0x83, 0x4a, 0x84, 0x2d,
+    0x8c, 0x4a, 0x80, 0x1d, 0xc5, 0x4a, 0x80, 0x2d,
+    0xbf, 0x3a, 0xe0, 0x9f, 0x4a, 0x95, 0x2d, 0x01,
+    0x85, 0x2d, 0x01, 0xa5, 0x2d, 0x01, 0x85, 0x2d,
+    0x01, 0x87, 0x2d, 0x00, 0x80, 0x2d, 0x00, 0x80,
+    0x2d, 0x00, 0x80, 0x2d, 0x00, 0x9e, 0x2d, 0x01,
+    0xb4, 0x2d, 0x00, 0x8e, 0x2d, 0x00, 0x8d, 0x2d,
+    0x01, 0x85, 0x2d, 0x00, 0x92, 0x2d, 0x01, 0x82,
+    0x2d, 0x00, 0x88, 0x2d, 0x00, 0x8b, 0x19, 0x81,
+    0x3a, 0xd6, 0x19, 0x00, 0x8a, 0x19, 0x80, 0x4a,
+    0x01, 0x8a, 0x19, 0x80, 0x4a, 0x8e, 0x19, 0x00,
+    0x8c, 0x4a, 0x02, 0xa0, 0x19, 0x0e, 0xa0, 0x3a,
+    0x0e, 0xa5, 0x19, 0x80, 0x2d, 0x82, 0x19, 0x81,
+    0x4a, 0x85, 0x19, 0x80, 0x4a, 0x9a, 0x19, 0x80,
+    0x4a, 0x90, 0x19, 0xa8, 0x4a, 0x82, 0x19, 0x03,
+    0xe2, 0x39, 0x19, 0x15, 0x8a, 0x19, 0x14, 0xe3,
+    0x3f, 0x19, 0xe0, 0x9f, 0x0f, 0xe2, 0x13, 0x19,
+    0x01, 0x9f, 0x19, 0x00, 0xe0, 0x08, 0x19, 0xdf,
+    0x2a, 0x9f, 0x4a, 0xe0, 0x13, 0x1a, 0x04, 0x86,
+    0x1a, 0xa5, 0x29, 0x00, 0x80, 0x29, 0x04, 0x80,
+    0x29, 0x01, 0xb7, 0x9d, 0x06, 0x81, 0x9d, 0x0d,
+    0x80, 0x9d, 0x96, 0x27, 0x08, 0x86, 0x27, 0x00,
+    0x86, 0x27, 0x00, 0x86, 0x27, 0x00, 0x86, 0x27,
     0x00, 0x86, 0x27, 0x00, 0x86, 0x27, 0x00, 0x86,
-    0x27, 0x00, 0x86, 0x27, 0x00, 0x86, 0x27, 0x00,
-    0x86, 0x27, 0x00, 0x86, 0x27, 0x00, 0x9f, 0x1d,
-    0xdd, 0x19, 0x21, 0x99, 0x30, 0x00, 0xd8, 0x30,
-    0x0b, 0xe0, 0x75, 0x30, 0x19, 0x8b, 0x19, 0x03,
-    0x84, 0x19, 0x80, 0x30, 0x80, 0x19, 0x80, 0x30,
-    0x98, 0x19, 0x88, 0x30, 0x83, 0x38, 0x81, 0x31,
-    0x87, 0x19, 0x83, 0x30, 0x83, 0x19, 0x00, 0xd5,
-    0x36, 0x01, 0x81, 0x38, 0x81, 0x19, 0x82, 0x36,
-    0x80, 0x19, 0xd9, 0x3e, 0x81, 0x19, 0x82, 0x3e,
-    0x04, 0xaa, 0x0d, 0x00, 0xdd, 0x31, 0x00, 0x8f,
-    0x19, 0x9f, 0x0d, 0xa3, 0x19, 0x0b, 0x8f, 0x3e,
-    0x9e, 0x31, 0x00, 0xbf, 0x19, 0x9e, 0x31, 0xd0,
-    0x19, 0xae, 0x3e, 0x80, 0x19, 0xd7, 0x3e, 0xe0,
-    0x47, 0x19, 0xf0, 0x09, 0x5f, 0x30, 0xbf, 0x19,
-    0xf0, 0x41, 0x9f, 0x30, 0xe4, 0x2c, 0xa2, 0x02,
-    0xb6, 0xa2, 0x08, 0xaf, 0x4c, 0xe0, 0xcb, 0x9d,
-    0x13, 0xdf, 0x1d, 0xd7, 0x08, 0x07, 0xa1, 0x19,
-    0xe0, 0x05, 0x47, 0x82, 0x19, 0xbf, 0x47, 0x04,
-    0x81, 0x47, 0x00, 0x80, 0x47, 0x00, 0x84, 0x47,
-    0x17, 0x8d, 0x47, 0xac, 0x8a, 0x02, 0x89, 0x19,
-    0x05, 0xb7, 0x7a, 0x07, 0xc5, 0x80, 0x07, 0x8b,
-    0x80, 0x05, 0x9f, 0x20, 0xad, 0x40, 0x80, 0x19,
-    0x80, 0x40, 0xa3, 0x7d, 0x0a, 0x80, 0x7d, 0x9c,
-    0x31, 0x02, 0xcd, 0x3b, 0x00, 0x80, 0x19, 0x89,
-    0x3b, 0x03, 0x81, 0x3b, 0x9e, 0x60, 0x00, 0xb6,
-    0x16, 0x08, 0x8d, 0x16, 0x01, 0x89, 0x16, 0x01,
-    0x83, 0x16, 0x9f, 0x60, 0xc2, 0x90, 0x17, 0x84,
-    0x90, 0x96, 0x57, 0x09, 0x85, 0x27, 0x01, 0x85,
-    0x27, 0x01, 0x85, 0x27, 0x08, 0x86, 0x27, 0x00,
-    0x86, 0x27, 0x00, 0xaa, 0x47, 0x80, 0x19, 0x88,
-    0x47, 0x80, 0x2c, 0x83, 0x47, 0x81, 0x19, 0x03,
-    0xcf, 0x17, 0xad, 0x57, 0x01, 0x89, 0x57, 0x05,
-    0xf0, 0x1b, 0x43, 0x31, 0x0b, 0x96, 0x31, 0x03,
-    0xb0, 0x31, 0x70, 0x10, 0xa3, 0xe1, 0x0d, 0x30,
-    0x01, 0xe0, 0x09, 0x30, 0x25, 0x86, 0x47, 0x0b,
-    0x84, 0x05, 0x04, 0x99, 0x35, 0x00, 0x84, 0x35,
-    0x00, 0x80, 0x35, 0x00, 0x81, 0x35, 0x00, 0x81,
-    0x35, 0x00, 0x89, 0x35, 0xe0, 0x12, 0x04, 0x0f,
-    0xe1, 0x0a, 0x04, 0x81, 0x19, 0xcf, 0x04, 0x01,
-    0xb5, 0x04, 0x06, 0x80, 0x04, 0x1f, 0x8f, 0x04,
-    0x8f, 0x38, 0x89, 0x19, 0x05, 0x8d, 0x38, 0x81,
-    0x1d, 0xa2, 0x19, 0x00, 0x92, 0x19, 0x00, 0x83,
-    0x19, 0x03, 0x84, 0x04, 0x00, 0xe0, 0x26, 0x04,
-    0x01, 0x80, 0x19, 0x00, 0x9f, 0x19, 0x99, 0x47,
-    0x85, 0x19, 0x99, 0x47, 0x8a, 0x19, 0x89, 0x3e,
-    0x80, 0x19, 0xac, 0x3e, 0x81, 0x19, 0x9e, 0x31,
-    0x02, 0x85, 0x31, 0x01, 0x85, 0x31, 0x01, 0x85,
-    0x31, 0x01, 0x82, 0x31, 0x02, 0x86, 0x19, 0x00,
-    0x86, 0x19, 0x09, 0x84, 0x19, 0x01, 0x8b, 0x4b,
-    0x00, 0x99, 0x4b, 0x00, 0x92, 0x4b, 0x00, 0x81,
-    0x4b, 0x00, 0x8e, 0x4b, 0x01, 0x8d, 0x4b, 0x21,
-    0xe0, 0x1a, 0x4b, 0x04, 0x82, 0x19, 0x03, 0xac,
-    0x19, 0x02, 0x88, 0x19, 0xce, 0x2c, 0x00, 0x8c,
-    0x19, 0x02, 0x80, 0x2c, 0x2e, 0xac, 0x19, 0x80,
-    0x38, 0x60, 0x21, 0x9c, 0x4d, 0x02, 0xb0, 0x13,
-    0x0e, 0x80, 0x38, 0x9a, 0x19, 0x03, 0xa3, 0x6c,
-    0x08, 0x82, 0x6c, 0x9a, 0x2a, 0x04, 0xaa, 0x6e,
-    0x04, 0x9d, 0x9c, 0x00, 0x80, 0x9c, 0xa3, 0x6f,
-    0x03, 0x8d, 0x6f, 0x29, 0xcf, 0x1f, 0xaf, 0x82,
-    0x9d, 0x76, 0x01, 0x89, 0x76, 0x05, 0xa3, 0x75,
-    0x03, 0xa3, 0x75, 0x03, 0xa7, 0x25, 0x07, 0xb3,
-    0x14, 0x0a, 0x80, 0x14, 0x8a, 0x9e, 0x00, 0x8e,
-    0x9e, 0x00, 0x86, 0x9e, 0x00, 0x81, 0x9e, 0x00,
-    0x8a, 0x9e, 0x00, 0x8e, 0x9e, 0x00, 0x86, 0x9e,
-    0x00, 0x81, 0x9e, 0x42, 0xe0, 0xd6, 0x4a, 0x08,
-    0x95, 0x4a, 0x09, 0x87, 0x4a, 0x17, 0x85, 0x47,
-    0x00, 0xa9, 0x47, 0x00, 0x88, 0x47, 0x44, 0x85,
-    0x1c, 0x01, 0x80, 0x1c, 0x00, 0xab, 0x1c, 0x00,
-    0x81, 0x1c, 0x02, 0x80, 0x1c, 0x01, 0x80, 0x1c,
-    0x95, 0x37, 0x00, 0x88, 0x37, 0x9f, 0x78, 0x9e,
-    0x61, 0x07, 0x88, 0x61, 0x2f, 0x92, 0x34, 0x00,
-    0x81, 0x34, 0x04, 0x84, 0x34, 0x9b, 0x7b, 0x02,
-    0x80, 0x7b, 0x99, 0x4e, 0x04, 0x80, 0x4e, 0x3f,
-    0x9f, 0x5a, 0x97, 0x59, 0x03, 0x93, 0x59, 0x01,
-    0xad, 0x59, 0x83, 0x41, 0x00, 0x81, 0x41, 0x04,
-    0x87, 0x41, 0x00, 0x82, 0x41, 0x00, 0x9c, 0x41,
-    0x01, 0x82, 0x41, 0x03, 0x89, 0x41, 0x06, 0x88,
-    0x41, 0x06, 0x9f, 0x71, 0x9f, 0x6d, 0x1f, 0xa6,
-    0x53, 0x03, 0x8b, 0x53, 0x08, 0xb5, 0x06, 0x02,
-    0x86, 0x06, 0x95, 0x3a, 0x01, 0x87, 0x3a, 0x92,
-    0x39, 0x04, 0x87, 0x39, 0x91, 0x7c, 0x06, 0x83,
-    0x7c, 0x0b, 0x86, 0x7c, 0x4f, 0xc8, 0x72, 0x36,
-    0xb2, 0x6b, 0x0c, 0xb2, 0x6b, 0x06, 0x85, 0x6b,
-    0xa7, 0x32, 0x07, 0x89, 0x32, 0x60, 0xc5, 0x9e,
-    0x04, 0x00, 0xa9, 0xa1, 0x00, 0x82, 0xa1, 0x01,
-    0x81, 0xa1, 0x4a, 0x82, 0x04, 0xa7, 0x70, 0x07,
-    0xa9, 0x86, 0x15, 0x99, 0x73, 0x25, 0x9b, 0x18,
-    0x13, 0x96, 0x26, 0x08, 0xcd, 0x0e, 0x03, 0xa3,
-    0x0e, 0x08, 0x80, 0x0e, 0xc2, 0x3c, 0x09, 0x80,
-    0x3c, 0x01, 0x98, 0x87, 0x06, 0x89, 0x87, 0x05,
-    0xb4, 0x15, 0x00, 0x91, 0x15, 0x07, 0xa6, 0x50,
-    0x08, 0xdf, 0x81, 0x00, 0x93, 0x85, 0x0a, 0x91,
-    0x43, 0x00, 0xae, 0x43, 0x3d, 0x86, 0x5f, 0x00,
-    0x80, 0x5f, 0x00, 0x83, 0x5f, 0x00, 0x8e, 0x5f,
-    0x00, 0x8a, 0x5f, 0x05, 0xba, 0x45, 0x04, 0x89,
-    0x45, 0x05, 0x83, 0x2b, 0x00, 0x87, 0x2b, 0x01,
-    0x81, 0x2b, 0x01, 0x95, 0x2b, 0x00, 0x86, 0x2b,
-    0x00, 0x81, 0x2b, 0x00, 0x84, 0x2b, 0x00, 0x80,
-    0x38, 0x88, 0x2b, 0x01, 0x81, 0x2b, 0x01, 0x82,
-    0x2b, 0x01, 0x80, 0x2b, 0x05, 0x80, 0x2b, 0x04,
-    0x86, 0x2b, 0x01, 0x86, 0x2b, 0x02, 0x84, 0x2b,
-    0x60, 0x2a, 0xdb, 0x65, 0x00, 0x84, 0x65, 0x1d,
-    0xc7, 0x99, 0x07, 0x89, 0x99, 0x60, 0x45, 0xb5,
-    0x83, 0x01, 0xa5, 0x83, 0x21, 0xc4, 0x5c, 0x0a,
-    0x89, 0x5c, 0x05, 0x8c, 0x5d, 0x12, 0xb9, 0x91,
-    0x05, 0x89, 0x91, 0x35, 0x9a, 0x02, 0x01, 0x8e,
+    0x27, 0x00, 0x86, 0x27, 0x00, 0x9f, 0x1d, 0xdd,
+    0x19, 0x21, 0x99, 0x32, 0x00, 0xd8, 0x32, 0x0b,
+    0xe0, 0x75, 0x32, 0x19, 0x94, 0x19, 0x80, 0x32,
+    0x80, 0x19, 0x80, 0x32, 0x98, 0x19, 0x88, 0x32,
+    0x83, 0x3a, 0x81, 0x33, 0x87, 0x19, 0x83, 0x32,
+    0x83, 0x19, 0x00, 0xd5, 0x38, 0x01, 0x81, 0x3a,
+    0x81, 0x19, 0x82, 0x38, 0x80, 0x19, 0xd9, 0x40,
+    0x81, 0x19, 0x82, 0x40, 0x04, 0xaa, 0x0d, 0x00,
+    0xdd, 0x33, 0x00, 0x8f, 0x19, 0x9f, 0x0d, 0xa5,
+    0x19, 0x08, 0x80, 0x19, 0x8f, 0x40, 0x9e, 0x33,
+    0x00, 0xbf, 0x19, 0x9e, 0x33, 0xd0, 0x19, 0xae,
+    0x40, 0x80, 0x19, 0xd7, 0x40, 0xe0, 0x47, 0x19,
+    0xf0, 0x09, 0x5f, 0x32, 0xbf, 0x19, 0xf0, 0x41,
+    0x9f, 0x32, 0xe4, 0x2c, 0xa9, 0x02, 0xb6, 0xa9,
+    0x08, 0xaf, 0x4f, 0xe0, 0xcb, 0xa4, 0x13, 0xdf,
+    0x1d, 0xd7, 0x08, 0x07, 0xa1, 0x19, 0xe0, 0x05,
+    0x4a, 0x82, 0x19, 0xc2, 0x4a, 0x01, 0x81, 0x4a,
+    0x00, 0x80, 0x4a, 0x00, 0x87, 0x4a, 0x14, 0x8d,
+    0x4a, 0xac, 0x8f, 0x02, 0x89, 0x19, 0x05, 0xb7,
+    0x7e, 0x07, 0xc5, 0x84, 0x07, 0x8b, 0x84, 0x05,
+    0x9f, 0x20, 0xad, 0x42, 0x80, 0x19, 0x80, 0x42,
+    0xa3, 0x81, 0x0a, 0x80, 0x81, 0x9c, 0x33, 0x02,
+    0xcd, 0x3d, 0x00, 0x80, 0x19, 0x89, 0x3d, 0x03,
+    0x81, 0x3d, 0x9e, 0x63, 0x00, 0xb6, 0x16, 0x08,
+    0x8d, 0x16, 0x01, 0x89, 0x16, 0x01, 0x83, 0x16,
+    0x9f, 0x63, 0xc2, 0x95, 0x17, 0x84, 0x95, 0x96,
+    0x5a, 0x09, 0x85, 0x27, 0x01, 0x85, 0x27, 0x01,
+    0x85, 0x27, 0x08, 0x86, 0x27, 0x00, 0x86, 0x27,
+    0x00, 0xaa, 0x4a, 0x80, 0x19, 0x88, 0x4a, 0x80,
+    0x2d, 0x83, 0x4a, 0x81, 0x19, 0x03, 0xcf, 0x17,
+    0xad, 0x5a, 0x01, 0x89, 0x5a, 0x05, 0xf0, 0x1b,
+    0x43, 0x33, 0x0b, 0x96, 0x33, 0x03, 0xb0, 0x33,
+    0x70, 0x10, 0xa3, 0xe1, 0x0d, 0x32, 0x01, 0xe0,
+    0x09, 0x32, 0x25, 0x86, 0x4a, 0x0b, 0x84, 0x05,
+    0x04, 0x99, 0x37, 0x00, 0x84, 0x37, 0x00, 0x80,
+    0x37, 0x00, 0x81, 0x37, 0x00, 0x81, 0x37, 0x00,
+    0x89, 0x37, 0xe0, 0x12, 0x04, 0x0f, 0xe1, 0x0a,
+    0x04, 0x81, 0x19, 0xcf, 0x04, 0x01, 0xb5, 0x04,
+    0x06, 0x80, 0x04, 0x1f, 0x8f, 0x04, 0x8f, 0x3a,
+    0x89, 0x19, 0x05, 0x8d, 0x3a, 0x81, 0x1d, 0xa2,
+    0x19, 0x00, 0x92, 0x19, 0x00, 0x83, 0x19, 0x03,
+    0x84, 0x04, 0x00, 0xe0, 0x26, 0x04, 0x01, 0x80,
+    0x19, 0x00, 0x9f, 0x19, 0x99, 0x4a, 0x85, 0x19,
+    0x99, 0x4a, 0x8a, 0x19, 0x89, 0x40, 0x80, 0x19,
+    0xac, 0x40, 0x81, 0x19, 0x9e, 0x33, 0x02, 0x85,
+    0x33, 0x01, 0x85, 0x33, 0x01, 0x85, 0x33, 0x01,
+    0x82, 0x33, 0x02, 0x86, 0x19, 0x00, 0x86, 0x19,
+    0x09, 0x84, 0x19, 0x01, 0x8b, 0x4e, 0x00, 0x99,
+    0x4e, 0x00, 0x92, 0x4e, 0x00, 0x81, 0x4e, 0x00,
+    0x8e, 0x4e, 0x01, 0x8d, 0x4e, 0x21, 0xe0, 0x1a,
+    0x4e, 0x04, 0x82, 0x19, 0x03, 0xac, 0x19, 0x02,
+    0x88, 0x19, 0xce, 0x2d, 0x00, 0x8c, 0x19, 0x02,
+    0x80, 0x2d, 0x2e, 0xac, 0x19, 0x80, 0x3a, 0x60,
+    0x21, 0x9c, 0x50, 0x02, 0xb0, 0x13, 0x0e, 0x80,
+    0x3a, 0x9a, 0x19, 0x03, 0xa3, 0x70, 0x08, 0x82,
+    0x70, 0x9a, 0x2b, 0x04, 0xaa, 0x72, 0x04, 0x9d,
+    0xa3, 0x00, 0x80, 0xa3, 0xa3, 0x73, 0x03, 0x8d,
+    0x73, 0x29, 0xcf, 0x1f, 0xaf, 0x86, 0x9d, 0x7a,
+    0x01, 0x89, 0x7a, 0x05, 0xa3, 0x79, 0x03, 0xa3,
+    0x79, 0x03, 0xa7, 0x25, 0x07, 0xb3, 0x14, 0x0a,
+    0x80, 0x14, 0x8a, 0xa5, 0x00, 0x8e, 0xa5, 0x00,
+    0x86, 0xa5, 0x00, 0x81, 0xa5, 0x00, 0x8a, 0xa5,
+    0x00, 0x8e, 0xa5, 0x00, 0x86, 0xa5, 0x00, 0x81,
+    0xa5, 0x02, 0xb3, 0xa0, 0x0b, 0xe0, 0xd6, 0x4d,
+    0x08, 0x95, 0x4d, 0x09, 0x87, 0x4d, 0x17, 0x85,
+    0x4a, 0x00, 0xa9, 0x4a, 0x00, 0x88, 0x4a, 0x44,
+    0x85, 0x1c, 0x01, 0x80, 0x1c, 0x00, 0xab, 0x1c,
+    0x00, 0x81, 0x1c, 0x02, 0x80, 0x1c, 0x01, 0x80,
+    0x1c, 0x95, 0x39, 0x00, 0x88, 0x39, 0x9f, 0x7c,
+    0x9e, 0x64, 0x07, 0x88, 0x64, 0x2f, 0x92, 0x36,
+    0x00, 0x81, 0x36, 0x04, 0x84, 0x36, 0x9b, 0x7f,
+    0x02, 0x80, 0x7f, 0x99, 0x51, 0x04, 0x80, 0x51,
+    0x3f, 0x9f, 0x5d, 0x97, 0x5c, 0x03, 0x93, 0x5c,
+    0x01, 0xad, 0x5c, 0x83, 0x43, 0x00, 0x81, 0x43,
+    0x04, 0x87, 0x43, 0x00, 0x82, 0x43, 0x00, 0x9c,
+    0x43, 0x01, 0x82, 0x43, 0x03, 0x89, 0x43, 0x06,
+    0x88, 0x43, 0x06, 0x9f, 0x75, 0x9f, 0x71, 0x1f,
+    0xa6, 0x56, 0x03, 0x8b, 0x56, 0x08, 0xb5, 0x06,
+    0x02, 0x86, 0x06, 0x95, 0x3c, 0x01, 0x87, 0x3c,
+    0x92, 0x3b, 0x04, 0x87, 0x3b, 0x91, 0x80, 0x06,
+    0x83, 0x80, 0x0b, 0x86, 0x80, 0x4f, 0xc8, 0x76,
+    0x36, 0xb2, 0x6f, 0x0c, 0xb2, 0x6f, 0x06, 0x85,
+    0x6f, 0xa7, 0x34, 0x07, 0x89, 0x34, 0x05, 0xa5,
+    0x28, 0x02, 0x9c, 0x28, 0x07, 0x81, 0x28, 0x60,
+    0x6f, 0x9e, 0x04, 0x00, 0xa9, 0xa8, 0x00, 0x82,
+    0xa8, 0x01, 0x81, 0xa8, 0x0f, 0x82, 0x04, 0x36,
+    0x83, 0x04, 0xa7, 0x74, 0x07, 0xa9, 0x8a, 0x15,
+    0x99, 0x77, 0x25, 0x9b, 0x18, 0x13, 0x96, 0x26,
+    0x08, 0xcd, 0x0e, 0x03, 0xa3, 0x0e, 0x08, 0x80,
+    0x0e, 0xc2, 0x3e, 0x09, 0x80, 0x3e, 0x01, 0x98,
+    0x8b, 0x06, 0x89, 0x8b, 0x05, 0xb4, 0x15, 0x00,
+    0x91, 0x15, 0x07, 0xa6, 0x53, 0x08, 0xdf, 0x85,
+    0x00, 0x93, 0x89, 0x0a, 0x91, 0x45, 0x00, 0xae,
+    0x45, 0x3d, 0x86, 0x62, 0x00, 0x80, 0x62, 0x00,
+    0x83, 0x62, 0x00, 0x8e, 0x62, 0x00, 0x8a, 0x62,
+    0x05, 0xba, 0x47, 0x04, 0x89, 0x47, 0x05, 0x83,
+    0x2c, 0x00, 0x87, 0x2c, 0x01, 0x81, 0x2c, 0x01,
+    0x95, 0x2c, 0x00, 0x86, 0x2c, 0x00, 0x81, 0x2c,
+    0x00, 0x84, 0x2c, 0x00, 0x80, 0x3a, 0x88, 0x2c,
+    0x01, 0x81, 0x2c, 0x01, 0x82, 0x2c, 0x01, 0x80,
+    0x2c, 0x05, 0x80, 0x2c, 0x04, 0x86, 0x2c, 0x01,
+    0x86, 0x2c, 0x02, 0x84, 0x2c, 0x0a, 0x89, 0xa2,
+    0x00, 0x80, 0xa2, 0x01, 0x80, 0xa2, 0x00, 0xa5,
+    0xa2, 0x00, 0x89, 0xa2, 0x00, 0x80, 0xa2, 0x01,
+    0x80, 0xa2, 0x00, 0x83, 0xa2, 0x00, 0x89, 0xa2,
+    0x00, 0x81, 0xa2, 0x07, 0x81, 0xa2, 0x1c, 0xdb,
+    0x68, 0x00, 0x84, 0x68, 0x1d, 0xc7, 0x9e, 0x07,
+    0x89, 0x9e, 0x60, 0x45, 0xb5, 0x87, 0x01, 0xa5,
+    0x87, 0x21, 0xc4, 0x5f, 0x0a, 0x89, 0x5f, 0x05,
+    0x8c, 0x60, 0x12, 0xb9, 0x96, 0x05, 0x89, 0x96,
+    0x05, 0x93, 0x63, 0x1b, 0x9a, 0x02, 0x01, 0x8e,
     0x02, 0x03, 0x96, 0x02, 0x60, 0x58, 0xbb, 0x22,
-    0x60, 0x03, 0xd2, 0xa0, 0x0b, 0x80, 0xa0, 0x86,
+    0x60, 0x03, 0xd2, 0xa7, 0x0b, 0x80, 0xa7, 0x86,
     0x21, 0x01, 0x80, 0x21, 0x01, 0x87, 0x21, 0x00,
     0x81, 0x21, 0x00, 0x9d, 0x21, 0x00, 0x81, 0x21,
     0x01, 0x8b, 0x21, 0x08, 0x89, 0x21, 0x45, 0x87,
-    0x63, 0x01, 0xad, 0x63, 0x01, 0x8a, 0x63, 0x1a,
-    0xc7, 0xa3, 0x07, 0xd2, 0x88, 0x0c, 0x8f, 0x12,
-    0xb8, 0x79, 0x06, 0x89, 0x20, 0x60, 0x95, 0x88,
-    0x0c, 0x00, 0xac, 0x0c, 0x00, 0x8d, 0x0c, 0x09,
-    0x9c, 0x0c, 0x02, 0x9f, 0x54, 0x01, 0x95, 0x54,
-    0x00, 0x8d, 0x54, 0x48, 0x86, 0x55, 0x00, 0x81,
-    0x55, 0x00, 0xab, 0x55, 0x02, 0x80, 0x55, 0x00,
-    0x81, 0x55, 0x00, 0x88, 0x55, 0x07, 0x89, 0x55,
-    0x05, 0x85, 0x2e, 0x00, 0x81, 0x2e, 0x00, 0xa4,
-    0x2e, 0x00, 0x81, 0x2e, 0x00, 0x85, 0x2e, 0x06,
-    0x89, 0x2e, 0x60, 0xd5, 0x98, 0x4f, 0x06, 0x90,
-    0x3f, 0x00, 0xa8, 0x3f, 0x02, 0x9b, 0x3f, 0x55,
-    0x80, 0x4c, 0x0e, 0xb1, 0x92, 0x0c, 0x80, 0x92,
-    0xe3, 0x39, 0x1b, 0x60, 0x05, 0xe0, 0x0e, 0x1b,
-    0x00, 0x84, 0x1b, 0x0a, 0xe0, 0x63, 0x1b, 0x69,
-    0xeb, 0xe0, 0x02, 0x1e, 0x0c, 0xe3, 0xf5, 0x24,
-    0x6f, 0x49, 0xe1, 0xe6, 0x03, 0x70, 0x11, 0x58,
-    0xe1, 0xd8, 0x08, 0x06, 0x9e, 0x5e, 0x00, 0x89,
-    0x5e, 0x03, 0x81, 0x5e, 0xce, 0x9a, 0x00, 0x89,
-    0x9a, 0x05, 0x9d, 0x09, 0x01, 0x85, 0x09, 0x09,
-    0xc5, 0x77, 0x09, 0x89, 0x77, 0x00, 0x86, 0x77,
-    0x00, 0x94, 0x77, 0x04, 0x92, 0x77, 0x62, 0x4f,
-    0xda, 0x56, 0x60, 0x04, 0xca, 0x5b, 0x03, 0xb8,
-    0x5b, 0x06, 0x90, 0x5b, 0x3f, 0x80, 0x93, 0x80,
-    0x67, 0x81, 0x30, 0x80, 0x44, 0x0a, 0x81, 0x30,
-    0x0d, 0xf0, 0x07, 0x97, 0x93, 0x07, 0xe2, 0x9f,
-    0x93, 0xe1, 0x75, 0x44, 0x29, 0x88, 0x93, 0x70,
-    0x12, 0x86, 0x83, 0x3e, 0x00, 0x86, 0x3e, 0x00,
-    0x81, 0x3e, 0x00, 0x80, 0x3e, 0xe0, 0xbe, 0x36,
-    0x82, 0x3e, 0x0e, 0x80, 0x36, 0x1c, 0x82, 0x36,
-    0x01, 0x80, 0x3e, 0x0d, 0x83, 0x3e, 0x07, 0xe1,
-    0x2b, 0x67, 0x68, 0xa3, 0xe0, 0x0a, 0x23, 0x04,
-    0x8c, 0x23, 0x02, 0x88, 0x23, 0x06, 0x89, 0x23,
-    0x01, 0x83, 0x23, 0x83, 0x19, 0x70, 0x01, 0xfb,
-    0xad, 0x38, 0x01, 0x96, 0x38, 0x08, 0xe0, 0x13,
-    0x19, 0x3b, 0xe0, 0x95, 0x19, 0x09, 0xa6, 0x19,
-    0x01, 0xbd, 0x19, 0x82, 0x38, 0x90, 0x19, 0x87,
-    0x38, 0x81, 0x19, 0x86, 0x38, 0x9d, 0x19, 0x83,
-    0x38, 0xbc, 0x19, 0x14, 0xc5, 0x2c, 0x60, 0x19,
-    0x93, 0x19, 0x0b, 0x93, 0x19, 0x0b, 0xd6, 0x19,
-    0x08, 0x98, 0x19, 0x60, 0x26, 0xd4, 0x19, 0x00,
-    0xc6, 0x19, 0x00, 0x81, 0x19, 0x01, 0x80, 0x19,
-    0x01, 0x81, 0x19, 0x01, 0x83, 0x19, 0x00, 0x8b,
-    0x19, 0x00, 0x80, 0x19, 0x00, 0x86, 0x19, 0x00,
-    0xc0, 0x19, 0x00, 0x83, 0x19, 0x01, 0x87, 0x19,
-    0x00, 0x86, 0x19, 0x00, 0x9b, 0x19, 0x00, 0x83,
-    0x19, 0x00, 0x84, 0x19, 0x00, 0x80, 0x19, 0x02,
-    0x86, 0x19, 0x00, 0xe0, 0xf3, 0x19, 0x01, 0xe0,
-    0xc3, 0x19, 0x01, 0xb1, 0x19, 0xe2, 0x2b, 0x84,
-    0x0e, 0x84, 0x84, 0x00, 0x8e, 0x84, 0x63, 0xef,
-    0x9e, 0x47, 0x05, 0x85, 0x47, 0x60, 0x74, 0x86,
-    0x29, 0x00, 0x90, 0x29, 0x01, 0x86, 0x29, 0x00,
-    0x81, 0x29, 0x00, 0x84, 0x29, 0x04, 0xbd, 0x1d,
-    0x20, 0x80, 0x1d, 0x60, 0x0f, 0xac, 0x68, 0x02,
-    0x8d, 0x68, 0x01, 0x89, 0x68, 0x03, 0x81, 0x68,
-    0x60, 0xdf, 0x9e, 0x9b, 0x10, 0xb9, 0x9f, 0x04,
-    0x80, 0x9f, 0x61, 0x6f, 0xa9, 0x62, 0x62, 0x85,
-    0x86, 0x27, 0x00, 0x83, 0x27, 0x00, 0x81, 0x27,
-    0x00, 0x8e, 0x27, 0x00, 0xe0, 0x64, 0x58, 0x01,
-    0x8f, 0x58, 0x28, 0xcb, 0x01, 0x03, 0x89, 0x01,
-    0x03, 0x81, 0x01, 0x62, 0xb0, 0xc3, 0x19, 0x4b,
-    0xbc, 0x19, 0x60, 0x61, 0x83, 0x04, 0x00, 0x9a,
-    0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04, 0x01,
-    0x80, 0x04, 0x00, 0x89, 0x04, 0x00, 0x83, 0x04,
-    0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x05, 0x80,
-    0x04, 0x03, 0x80, 0x04, 0x00, 0x80, 0x04, 0x00,
-    0x80, 0x04, 0x00, 0x82, 0x04, 0x00, 0x81, 0x04,
-    0x00, 0x80, 0x04, 0x01, 0x80, 0x04, 0x00, 0x80,
-    0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x00,
-    0x80, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04,
-    0x01, 0x83, 0x04, 0x00, 0x86, 0x04, 0x00, 0x83,
-    0x04, 0x00, 0x83, 0x04, 0x00, 0x80, 0x04, 0x00,
-    0x89, 0x04, 0x00, 0x90, 0x04, 0x04, 0x82, 0x04,
-    0x00, 0x84, 0x04, 0x00, 0x90, 0x04, 0x33, 0x81,
-    0x04, 0x60, 0xad, 0xab, 0x19, 0x03, 0xe0, 0x03,
-    0x19, 0x0b, 0x8e, 0x19, 0x01, 0x8e, 0x19, 0x00,
-    0x8e, 0x19, 0x00, 0xa4, 0x19, 0x09, 0xe0, 0x4d,
-    0x19, 0x37, 0x99, 0x19, 0x80, 0x36, 0x81, 0x19,
-    0x0c, 0xab, 0x19, 0x03, 0x88, 0x19, 0x06, 0x81,
-    0x19, 0x0d, 0x85, 0x19, 0x60, 0x39, 0xe3, 0x77,
-    0x19, 0x03, 0x90, 0x19, 0x02, 0x8c, 0x19, 0x02,
-    0xe0, 0x16, 0x19, 0x03, 0xde, 0x19, 0x05, 0x8b,
-    0x19, 0x03, 0x80, 0x19, 0x0e, 0x8b, 0x19, 0x03,
-    0xb7, 0x19, 0x07, 0x89, 0x19, 0x05, 0xa7, 0x19,
-    0x07, 0x9d, 0x19, 0x01, 0x81, 0x19, 0x4d, 0xe0,
-    0xf3, 0x19, 0x0b, 0x8d, 0x19, 0x01, 0x8c, 0x19,
-    0x02, 0x88, 0x19, 0x06, 0xad, 0x19, 0x00, 0x86,
-    0x19, 0x07, 0x8d, 0x19, 0x03, 0x88, 0x19, 0x06,
-    0x88, 0x19, 0x06, 0xe0, 0x32, 0x19, 0x00, 0xb6,
-    0x19, 0x24, 0x89, 0x19, 0x63, 0xa5, 0xf0, 0x96,
-    0x7f, 0x30, 0x1f, 0xef, 0xd9, 0x30, 0x05, 0xe0,
-    0x7d, 0x30, 0x01, 0xf0, 0x06, 0x21, 0x30, 0x0d,
-    0xf0, 0x0c, 0xd0, 0x30, 0x6b, 0xbe, 0xe1, 0xbd,
-    0x30, 0x65, 0x81, 0xf0, 0x02, 0xea, 0x30, 0x04,
-    0xef, 0xff, 0x30, 0x7a, 0xcb, 0xf0, 0x80, 0x19,
-    0x1d, 0xdf, 0x19, 0x60, 0x1f, 0xe0, 0x8f, 0x38,
+    0x66, 0x01, 0xad, 0x66, 0x01, 0x8a, 0x66, 0x1a,
+    0xc7, 0xaa, 0x07, 0xd2, 0x8c, 0x0c, 0x8f, 0x12,
+    0xb8, 0x7d, 0x06, 0x89, 0x20, 0x60, 0x55, 0xa1,
+    0x8e, 0x0d, 0x89, 0x8e, 0x05, 0x88, 0x0c, 0x00,
+    0xac, 0x0c, 0x00, 0x8d, 0x0c, 0x09, 0x9c, 0x0c,
+    0x02, 0x9f, 0x57, 0x01, 0x95, 0x57, 0x00, 0x8d,
+    0x57, 0x48, 0x86, 0x58, 0x00, 0x81, 0x58, 0x00,
+    0xab, 0x58, 0x02, 0x80, 0x58, 0x00, 0x81, 0x58,
+    0x00, 0x88, 0x58, 0x07, 0x89, 0x58, 0x05, 0x85,
+    0x2f, 0x00, 0x81, 0x2f, 0x00, 0xa4, 0x2f, 0x00,
+    0x81, 0x2f, 0x00, 0x85, 0x2f, 0x06, 0x89, 0x2f,
+    0x60, 0xd5, 0x98, 0x52, 0x06, 0x90, 0x41, 0x00,
+    0xa8, 0x41, 0x02, 0x9c, 0x41, 0x54, 0x80, 0x4f,
+    0x0e, 0xb1, 0x97, 0x0c, 0x80, 0x97, 0xe3, 0x39,
+    0x1b, 0x60, 0x05, 0xe0, 0x0e, 0x1b, 0x00, 0x84,
+    0x1b, 0x0a, 0xe0, 0x63, 0x1b, 0x69, 0xeb, 0xe0,
+    0x02, 0x1e, 0x0c, 0xe3, 0xf5, 0x24, 0x09, 0xef,
+    0x3a, 0x24, 0x04, 0xe1, 0xe6, 0x03, 0x70, 0x0a,
+    0x58, 0xb9, 0x31, 0x66, 0x65, 0xe1, 0xd8, 0x08,
+    0x06, 0x9e, 0x61, 0x00, 0x89, 0x61, 0x03, 0x81,
+    0x61, 0xce, 0x9f, 0x00, 0x89, 0x9f, 0x05, 0x9d,
+    0x09, 0x01, 0x85, 0x09, 0x09, 0xc5, 0x7b, 0x09,
+    0x89, 0x7b, 0x00, 0x86, 0x7b, 0x00, 0x94, 0x7b,
+    0x04, 0x92, 0x7b, 0x61, 0x4f, 0xb9, 0x48, 0x60,
+    0x65, 0xda, 0x59, 0x60, 0x04, 0xca, 0x5e, 0x03,
+    0xb8, 0x5e, 0x06, 0x90, 0x5e, 0x3f, 0x80, 0x98,
+    0x80, 0x6a, 0x81, 0x32, 0x80, 0x46, 0x0a, 0x81,
+    0x32, 0x0d, 0xf0, 0x07, 0x97, 0x98, 0x07, 0xe2,
+    0x9f, 0x98, 0xe1, 0x75, 0x46, 0x28, 0x80, 0x46,
+    0x88, 0x98, 0x70, 0x12, 0x86, 0x83, 0x40, 0x00,
+    0x86, 0x40, 0x00, 0x81, 0x40, 0x00, 0x80, 0x40,
+    0xe0, 0xbe, 0x38, 0x82, 0x40, 0x0e, 0x80, 0x38,
+    0x1c, 0x82, 0x38, 0x01, 0x80, 0x40, 0x0d, 0x83,
+    0x40, 0x07, 0xe1, 0x2b, 0x6a, 0x68, 0xa3, 0xe0,
+    0x0a, 0x23, 0x04, 0x8c, 0x23, 0x02, 0x88, 0x23,
+    0x06, 0x89, 0x23, 0x01, 0x83, 0x23, 0x83, 0x19,
+    0x6e, 0xfb, 0xe0, 0x99, 0x19, 0x05, 0xe1, 0x53,
+    0x19, 0x4b, 0xad, 0x3a, 0x01, 0x96, 0x3a, 0x08,
+    0xe0, 0x13, 0x19, 0x3b, 0xe0, 0x95, 0x19, 0x09,
+    0xa6, 0x19, 0x01, 0xbd, 0x19, 0x82, 0x3a, 0x90,
+    0x19, 0x87, 0x3a, 0x81, 0x19, 0x86, 0x3a, 0x9d,
+    0x19, 0x83, 0x3a, 0xbc, 0x19, 0x14, 0xc5, 0x2d,
+    0x60, 0x19, 0x93, 0x19, 0x0b, 0x93, 0x19, 0x0b,
+    0xd6, 0x19, 0x08, 0x98, 0x19, 0x60, 0x26, 0xd4,
+    0x19, 0x00, 0xc6, 0x19, 0x00, 0x81, 0x19, 0x01,
+    0x80, 0x19, 0x01, 0x81, 0x19, 0x01, 0x83, 0x19,
+    0x00, 0x8b, 0x19, 0x00, 0x80, 0x19, 0x00, 0x86,
+    0x19, 0x00, 0xc0, 0x19, 0x00, 0x83, 0x19, 0x01,
+    0x87, 0x19, 0x00, 0x86, 0x19, 0x00, 0x9b, 0x19,
+    0x00, 0x83, 0x19, 0x00, 0x84, 0x19, 0x00, 0x80,
+    0x19, 0x02, 0x86, 0x19, 0x00, 0xe0, 0xf3, 0x19,
+    0x01, 0xe0, 0xc3, 0x19, 0x01, 0xb1, 0x19, 0xe2,
+    0x2b, 0x88, 0x0e, 0x84, 0x88, 0x00, 0x8e, 0x88,
+    0x63, 0xef, 0x9e, 0x4a, 0x05, 0x85, 0x4a, 0x60,
+    0x74, 0x86, 0x2a, 0x00, 0x90, 0x2a, 0x01, 0x86,
+    0x2a, 0x00, 0x81, 0x2a, 0x00, 0x84, 0x2a, 0x04,
+    0xbd, 0x1d, 0x20, 0x80, 0x1d, 0x60, 0x0f, 0xac,
+    0x6b, 0x02, 0x8d, 0x6b, 0x01, 0x89, 0x6b, 0x03,
+    0x81, 0x6b, 0x60, 0xdf, 0x9e, 0xa1, 0x10, 0xb9,
+    0xa6, 0x04, 0x80, 0xa6, 0x61, 0x6f, 0xa9, 0x65,
+    0x60, 0x75, 0xaa, 0x6e, 0x03, 0x80, 0x6e, 0x61,
+    0x7f, 0x86, 0x27, 0x00, 0x83, 0x27, 0x00, 0x81,
+    0x27, 0x00, 0x8e, 0x27, 0x00, 0xe0, 0x64, 0x5b,
+    0x01, 0x8f, 0x5b, 0x28, 0xcb, 0x01, 0x03, 0x89,
+    0x01, 0x03, 0x81, 0x01, 0x62, 0xb0, 0xc3, 0x19,
+    0x4b, 0xbc, 0x19, 0x60, 0x61, 0x83, 0x04, 0x00,
+    0x9a, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80, 0x04,
+    0x01, 0x80, 0x04, 0x00, 0x89, 0x04, 0x00, 0x83,
+    0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04, 0x05,
+    0x80, 0x04, 0x03, 0x80, 0x04, 0x00, 0x80, 0x04,
+    0x00, 0x80, 0x04, 0x00, 0x82, 0x04, 0x00, 0x81,
+    0x04, 0x00, 0x80, 0x04, 0x01, 0x80, 0x04, 0x00,
+    0x80, 0x04, 0x00, 0x80, 0x04, 0x00, 0x80, 0x04,
+    0x00, 0x80, 0x04, 0x00, 0x81, 0x04, 0x00, 0x80,
+    0x04, 0x01, 0x83, 0x04, 0x00, 0x86, 0x04, 0x00,
+    0x83, 0x04, 0x00, 0x83, 0x04, 0x00, 0x80, 0x04,
+    0x00, 0x89, 0x04, 0x00, 0x90, 0x04, 0x04, 0x82,
+    0x04, 0x00, 0x84, 0x04, 0x00, 0x90, 0x04, 0x33,
+    0x81, 0x04, 0x60, 0xad, 0xab, 0x19, 0x03, 0xe0,
+    0x03, 0x19, 0x0b, 0x8e, 0x19, 0x01, 0x8e, 0x19,
+    0x00, 0x8e, 0x19, 0x00, 0xa4, 0x19, 0x09, 0xe0,
+    0x4d, 0x19, 0x37, 0x99, 0x19, 0x80, 0x38, 0x81,
+    0x19, 0x0c, 0xab, 0x19, 0x03, 0x88, 0x19, 0x06,
+    0x81, 0x19, 0x0d, 0x85, 0x19, 0x60, 0x39, 0xe3,
+    0x77, 0x19, 0x03, 0x90, 0x19, 0x02, 0x8c, 0x19,
+    0x02, 0xe0, 0x16, 0x19, 0x03, 0xde, 0x19, 0x05,
+    0x8b, 0x19, 0x03, 0x80, 0x19, 0x0e, 0x8b, 0x19,
+    0x03, 0xb7, 0x19, 0x07, 0x89, 0x19, 0x05, 0xa7,
+    0x19, 0x07, 0x9d, 0x19, 0x01, 0x8b, 0x19, 0x03,
+    0x81, 0x19, 0x3d, 0xe0, 0xf3, 0x19, 0x0b, 0x8d,
+    0x19, 0x01, 0x8c, 0x19, 0x02, 0x89, 0x19, 0x04,
+    0xb7, 0x19, 0x06, 0x8e, 0x19, 0x01, 0x8a, 0x19,
+    0x05, 0x88, 0x19, 0x06, 0xe0, 0x32, 0x19, 0x00,
+    0xe0, 0x05, 0x19, 0x63, 0xa5, 0xf0, 0x96, 0x7f,
+    0x32, 0x1f, 0xef, 0xd9, 0x32, 0x05, 0xe0, 0x7d,
+    0x32, 0x01, 0xf0, 0x06, 0x21, 0x32, 0x0d, 0xf0,
+    0x0c, 0xd0, 0x32, 0x0e, 0xe2, 0x0d, 0x32, 0x69,
+    0x41, 0xe1, 0xbd, 0x32, 0x65, 0x81, 0xf0, 0x02,
+    0xea, 0x32, 0x04, 0xef, 0xff, 0x32, 0x7a, 0xcb,
+    0xf0, 0x80, 0x19, 0x1d, 0xdf, 0x19, 0x60, 0x1f,
+    0xe0, 0x8f, 0x3a,
 };
 
-static const uint8_t unicode_script_ext_table[828] = {
-    0x82, 0xc1, 0x00, 0x00, 0x01, 0x2c, 0x01, 0x00,
-    0x00, 0x01, 0x2c, 0x1c, 0x00, 0x0c, 0x01, 0x47,
-    0x80, 0x92, 0x00, 0x00, 0x02, 0x1d, 0x6e, 0x00,
-    0x02, 0x1d, 0x29, 0x01, 0x02, 0x1d, 0x47, 0x00,
-    0x02, 0x1d, 0x29, 0x81, 0x03, 0x00, 0x00, 0x06,
-    0x04, 0x66, 0x32, 0x8b, 0x95, 0xa1, 0x0d, 0x00,
-    0x00, 0x06, 0x04, 0x66, 0x32, 0x8b, 0x95, 0xa1,
-    0x00, 0x03, 0x04, 0x8b, 0x95, 0x01, 0x00, 0x00,
-    0x07, 0x01, 0x04, 0x66, 0x32, 0x8b, 0x95, 0xa1,
-    0x1f, 0x00, 0x00, 0x09, 0x01, 0x04, 0x52, 0x53,
-    0x73, 0x7c, 0x32, 0x86, 0x8b, 0x09, 0x00, 0x0a,
-    0x02, 0x04, 0x8b, 0x09, 0x00, 0x09, 0x03, 0x04,
-    0x95, 0xa1, 0x05, 0x00, 0x00, 0x02, 0x04, 0x8b,
-    0x62, 0x00, 0x00, 0x02, 0x04, 0x32, 0x81, 0xfb,
-    0x00, 0x00, 0x0d, 0x0b, 0x20, 0x2b, 0x2d, 0x2f,
-    0x3d, 0x47, 0x51, 0x74, 0x81, 0x92, 0x94, 0x99,
-    0x00, 0x0c, 0x0b, 0x20, 0x2b, 0x2d, 0x2f, 0x3d,
-    0x47, 0x51, 0x74, 0x92, 0x94, 0x99, 0x10, 0x00,
-    0x00, 0x14, 0x0b, 0x20, 0x22, 0x2e, 0x55, 0x2b,
-    0x2d, 0x2f, 0x3d, 0x50, 0x51, 0x63, 0x74, 0x45,
-    0x85, 0x8a, 0x91, 0x92, 0x94, 0x99, 0x00, 0x15,
-    0x0b, 0x20, 0x22, 0x2e, 0x55, 0x2b, 0x2d, 0x2f,
-    0x3d, 0x49, 0x50, 0x51, 0x63, 0x74, 0x45, 0x85,
-    0x8a, 0x91, 0x92, 0x94, 0x99, 0x09, 0x04, 0x20,
-    0x22, 0x3c, 0x50, 0x75, 0x00, 0x09, 0x03, 0x0b,
-    0x15, 0x8a, 0x75, 0x00, 0x09, 0x02, 0x2f, 0x5f,
-    0x75, 0x00, 0x09, 0x02, 0x2d, 0x43, 0x80, 0x75,
-    0x00, 0x0d, 0x02, 0x2b, 0x92, 0x80, 0x71, 0x00,
-    0x09, 0x02, 0x3d, 0x63, 0x82, 0xcf, 0x00, 0x09,
-    0x03, 0x15, 0x60, 0x8e, 0x80, 0x30, 0x00, 0x00,
-    0x02, 0x28, 0x47, 0x85, 0xb8, 0x00, 0x01, 0x04,
-    0x11, 0x33, 0x8d, 0x8c, 0x80, 0x4a, 0x00, 0x01,
-    0x02, 0x5d, 0x7a, 0x00, 0x00, 0x00, 0x02, 0x5d,
-    0x7a, 0x84, 0x49, 0x00, 0x00, 0x04, 0x0b, 0x20,
-    0x2b, 0x3d, 0x00, 0x01, 0x20, 0x00, 0x04, 0x0b,
-    0x20, 0x2b, 0x3d, 0x00, 0x02, 0x20, 0x2b, 0x00,
-    0x01, 0x20, 0x01, 0x02, 0x0b, 0x20, 0x00, 0x02,
-    0x20, 0x81, 0x00, 0x02, 0x0b, 0x20, 0x00, 0x02,
-    0x20, 0x81, 0x00, 0x06, 0x20, 0x3d, 0x51, 0x74,
-    0x92, 0x94, 0x00, 0x01, 0x20, 0x01, 0x02, 0x20,
-    0x81, 0x01, 0x01, 0x20, 0x00, 0x02, 0x20, 0x81,
-    0x00, 0x02, 0x0b, 0x20, 0x06, 0x01, 0x20, 0x00,
-    0x02, 0x20, 0x63, 0x00, 0x02, 0x0b, 0x20, 0x01,
-    0x01, 0x20, 0x00, 0x02, 0x0b, 0x20, 0x03, 0x01,
-    0x20, 0x00, 0x08, 0x0b, 0x20, 0x2b, 0x3d, 0x63,
-    0x74, 0x94, 0x99, 0x00, 0x02, 0x20, 0x2b, 0x00,
-    0x03, 0x20, 0x2b, 0x3d, 0x01, 0x02, 0x0b, 0x20,
-    0x00, 0x01, 0x0b, 0x01, 0x02, 0x20, 0x2b, 0x00,
-    0x01, 0x63, 0x80, 0x44, 0x00, 0x01, 0x01, 0x2c,
-    0x35, 0x00, 0x00, 0x02, 0x1d, 0x8b, 0x00, 0x00,
-    0x00, 0x01, 0x8b, 0x81, 0xb3, 0x00, 0x00, 0x02,
-    0x47, 0x5d, 0x80, 0x3f, 0x00, 0x00, 0x03, 0x20,
-    0x2b, 0x47, 0x8c, 0xd1, 0x00, 0x00, 0x02, 0x1d,
-    0x29, 0x81, 0x3c, 0x00, 0x01, 0x06, 0x0d, 0x31,
-    0x30, 0x36, 0x3e, 0xa2, 0x00, 0x05, 0x0d, 0x31,
-    0x30, 0x36, 0x3e, 0x01, 0x00, 0x00, 0x01, 0x30,
-    0x00, 0x00, 0x09, 0x06, 0x0d, 0x31, 0x30, 0x36,
-    0x3e, 0xa2, 0x00, 0x00, 0x00, 0x05, 0x0d, 0x31,
-    0x30, 0x36, 0x3e, 0x07, 0x06, 0x0d, 0x31, 0x30,
-    0x36, 0x3e, 0xa2, 0x03, 0x05, 0x0d, 0x31, 0x30,
-    0x36, 0x3e, 0x09, 0x00, 0x03, 0x02, 0x0d, 0x30,
-    0x01, 0x00, 0x00, 0x05, 0x0d, 0x31, 0x30, 0x36,
-    0x3e, 0x04, 0x02, 0x36, 0x3e, 0x00, 0x00, 0x00,
-    0x05, 0x0d, 0x31, 0x30, 0x36, 0x3e, 0x03, 0x00,
-    0x01, 0x03, 0x30, 0x36, 0x3e, 0x01, 0x01, 0x30,
-    0x58, 0x00, 0x03, 0x02, 0x36, 0x3e, 0x02, 0x00,
-    0x00, 0x02, 0x36, 0x3e, 0x59, 0x00, 0x00, 0x06,
-    0x0d, 0x31, 0x30, 0x36, 0x3e, 0xa2, 0x00, 0x02,
-    0x36, 0x3e, 0x80, 0x12, 0x00, 0x0f, 0x01, 0x30,
-    0x1f, 0x00, 0x23, 0x01, 0x30, 0x3b, 0x00, 0x27,
-    0x01, 0x30, 0x37, 0x00, 0x30, 0x01, 0x30, 0x0e,
-    0x00, 0x0b, 0x01, 0x30, 0x32, 0x00, 0x00, 0x01,
-    0x30, 0x57, 0x00, 0x18, 0x01, 0x30, 0x09, 0x00,
-    0x04, 0x01, 0x30, 0x5f, 0x00, 0x1e, 0x01, 0x30,
-    0xc0, 0x31, 0xef, 0x00, 0x00, 0x02, 0x1d, 0x29,
-    0x80, 0x0f, 0x00, 0x07, 0x02, 0x30, 0x47, 0x80,
-    0xa7, 0x00, 0x02, 0x0e, 0x20, 0x22, 0x2d, 0x2f,
-    0x43, 0x3d, 0x3c, 0x50, 0x51, 0x5c, 0x63, 0x45,
-    0x91, 0x99, 0x02, 0x0d, 0x20, 0x22, 0x2d, 0x2f,
-    0x43, 0x3d, 0x3c, 0x50, 0x5c, 0x63, 0x45, 0x91,
-    0x99, 0x03, 0x0b, 0x20, 0x22, 0x2d, 0x2f, 0x43,
-    0x3c, 0x50, 0x5c, 0x45, 0x91, 0x99, 0x80, 0x36,
-    0x00, 0x00, 0x02, 0x0b, 0x20, 0x00, 0x00, 0x00,
-    0x02, 0x20, 0x92, 0x39, 0x00, 0x00, 0x03, 0x40,
-    0x47, 0x60, 0x80, 0x1f, 0x00, 0x00, 0x02, 0x10,
-    0x3b, 0xc0, 0x12, 0xed, 0x00, 0x01, 0x02, 0x04,
-    0x66, 0x80, 0x31, 0x00, 0x00, 0x02, 0x04, 0x95,
-    0x09, 0x00, 0x00, 0x02, 0x04, 0x95, 0x46, 0x00,
-    0x01, 0x05, 0x0d, 0x31, 0x30, 0x36, 0x3e, 0x80,
-    0x99, 0x00, 0x04, 0x06, 0x0d, 0x31, 0x30, 0x36,
-    0x3e, 0xa2, 0x09, 0x00, 0x00, 0x02, 0x36, 0x3e,
-    0x2c, 0x00, 0x01, 0x02, 0x36, 0x3e, 0x80, 0xdf,
-    0x00, 0x01, 0x03, 0x1e, 0x1c, 0x4b, 0x00, 0x02,
-    0x1c, 0x4b, 0x03, 0x00, 0x2c, 0x03, 0x1c, 0x4a,
-    0x4b, 0x02, 0x00, 0x08, 0x02, 0x1c, 0x4b, 0x81,
-    0x1f, 0x00, 0x1b, 0x02, 0x04, 0x1a, 0x87, 0x75,
-    0x00, 0x00, 0x02, 0x53, 0x73, 0x87, 0x8d, 0x00,
-    0x00, 0x02, 0x2b, 0x92, 0x00, 0x00, 0x00, 0x02,
-    0x2b, 0x92, 0x36, 0x00, 0x01, 0x02, 0x2b, 0x92,
-    0x8c, 0x12, 0x00, 0x01, 0x02, 0x2b, 0x92, 0x00,
-    0x00, 0x00, 0x02, 0x2b, 0x92, 0xc0, 0x5c, 0x4b,
-    0x00, 0x03, 0x01, 0x23, 0x96, 0x3b, 0x00, 0x11,
-    0x01, 0x30, 0x9e, 0x5d, 0x00, 0x01, 0x01, 0x30,
-    0xce, 0xcd, 0x2d, 0x00,
+static const uint8_t unicode_script_ext_table[1253] = {
+    0x80, 0x36, 0x00, 0x00, 0x10, 0x06, 0x13, 0x1a,
+    0x23, 0x25, 0x29, 0x2a, 0x2f, 0x2b, 0x2d, 0x32,
+    0x4a, 0x51, 0x53, 0x72, 0x86, 0x81, 0x83, 0x00,
+    0x00, 0x07, 0x0b, 0x1d, 0x20, 0x4a, 0x4f, 0x9b,
+    0xa1, 0x09, 0x00, 0x00, 0x02, 0x0d, 0x4a, 0x00,
+    0x00, 0x02, 0x02, 0x0d, 0x4a, 0x00, 0x00, 0x00,
+    0x02, 0x4a, 0x4f, 0x08, 0x00, 0x00, 0x02, 0x4a,
+    0x9b, 0x00, 0x00, 0x00, 0x02, 0x0d, 0x4a, 0x25,
+    0x00, 0x00, 0x08, 0x17, 0x1a, 0x1d, 0x2d, 0x4a,
+    0x72, 0x8e, 0x93, 0x00, 0x08, 0x17, 0x1d, 0x2d,
+    0x4a, 0x79, 0x8e, 0x93, 0xa0, 0x00, 0x04, 0x17,
+    0x1d, 0x4a, 0x9d, 0x00, 0x05, 0x2a, 0x4a, 0x8e,
+    0x90, 0x9b, 0x00, 0x0b, 0x14, 0x17, 0x1a, 0x1d,
+    0x2b, 0x2d, 0x4a, 0x79, 0x90, 0x9d, 0xa0, 0x00,
+    0x06, 0x1a, 0x25, 0x2a, 0x2b, 0x40, 0x4a, 0x00,
+    0x04, 0x1d, 0x2d, 0x4a, 0x72, 0x00, 0x09, 0x1a,
+    0x23, 0x37, 0x4a, 0x72, 0x90, 0x93, 0x9d, 0xa0,
+    0x00, 0x0a, 0x05, 0x1d, 0x23, 0x2b, 0x2d, 0x37,
+    0x4a, 0x72, 0x90, 0x93, 0x00, 0x02, 0x4a, 0x9d,
+    0x00, 0x03, 0x23, 0x4a, 0x90, 0x00, 0x04, 0x17,
+    0x1d, 0x4a, 0x79, 0x00, 0x03, 0x17, 0x4a, 0x93,
+    0x00, 0x02, 0x4a, 0x8e, 0x00, 0x02, 0x27, 0x4a,
+    0x00, 0x00, 0x00, 0x02, 0x4a, 0x8e, 0x00, 0x03,
+    0x1d, 0x4a, 0xa0, 0x00, 0x00, 0x00, 0x04, 0x2d,
+    0x4a, 0x72, 0xa0, 0x0b, 0x00, 0x00, 0x02, 0x4a,
+    0x90, 0x01, 0x00, 0x00, 0x05, 0x17, 0x23, 0x40,
+    0x4a, 0x90, 0x00, 0x04, 0x17, 0x23, 0x4a, 0x90,
+    0x00, 0x02, 0x4a, 0x90, 0x06, 0x00, 0x00, 0x03,
+    0x4a, 0x8e, 0x90, 0x00, 0x02, 0x4a, 0x90, 0x00,
+    0x00, 0x00, 0x03, 0x17, 0x4a, 0x90, 0x00, 0x06,
+    0x14, 0x17, 0x2b, 0x4a, 0x8e, 0x9b, 0x0f, 0x00,
+    0x00, 0x01, 0x2d, 0x01, 0x00, 0x00, 0x01, 0x2d,
+    0x11, 0x00, 0x00, 0x02, 0x4a, 0x79, 0x04, 0x00,
+    0x00, 0x03, 0x14, 0x4a, 0xa0, 0x03, 0x00, 0x0c,
+    0x01, 0x4a, 0x03, 0x00, 0x01, 0x02, 0x1a, 0x2d,
+    0x80, 0x8c, 0x00, 0x00, 0x02, 0x1d, 0x72, 0x00,
+    0x02, 0x1d, 0x2a, 0x01, 0x02, 0x1d, 0x4a, 0x00,
+    0x02, 0x1d, 0x2a, 0x80, 0x80, 0x00, 0x00, 0x03,
+    0x05, 0x29, 0x2a, 0x80, 0x01, 0x00, 0x00, 0x07,
+    0x04, 0x28, 0x69, 0x34, 0x90, 0x9a, 0xa8, 0x0d,
+    0x00, 0x00, 0x07, 0x04, 0x28, 0x69, 0x34, 0x90,
+    0x9a, 0xa8, 0x00, 0x03, 0x04, 0x90, 0x9a, 0x01,
+    0x00, 0x00, 0x08, 0x01, 0x04, 0x28, 0x69, 0x34,
+    0x90, 0x9a, 0xa8, 0x1f, 0x00, 0x00, 0x09, 0x01,
+    0x04, 0x55, 0x56, 0x77, 0x80, 0x34, 0x8a, 0x90,
+    0x09, 0x00, 0x0a, 0x02, 0x04, 0x90, 0x09, 0x00,
+    0x09, 0x03, 0x04, 0x9a, 0xa8, 0x05, 0x00, 0x00,
+    0x02, 0x04, 0x90, 0x62, 0x00, 0x00, 0x02, 0x04,
+    0x34, 0x81, 0xfb, 0x00, 0x00, 0x0d, 0x0b, 0x20,
+    0x2c, 0x2e, 0x30, 0x3f, 0x4a, 0x54, 0x78, 0x85,
+    0x97, 0x99, 0x9e, 0x00, 0x0c, 0x0b, 0x20, 0x2c,
+    0x2e, 0x30, 0x3f, 0x4a, 0x54, 0x78, 0x97, 0x99,
+    0x9e, 0x10, 0x00, 0x00, 0x15, 0x0b, 0x20, 0x22,
+    0x2f, 0x58, 0x2c, 0x2e, 0x30, 0x3f, 0x53, 0x54,
+    0x66, 0x6e, 0x78, 0x47, 0x89, 0x8f, 0x96, 0x97,
+    0x99, 0x9e, 0x00, 0x17, 0x0b, 0x20, 0x22, 0x2f,
+    0x58, 0x2c, 0x2e, 0x31, 0x30, 0x3f, 0x4c, 0x53,
+    0x54, 0x66, 0x6e, 0x78, 0x47, 0x89, 0x8f, 0x96,
+    0x97, 0x99, 0x9e, 0x09, 0x04, 0x20, 0x22, 0x3e,
+    0x53, 0x75, 0x00, 0x09, 0x03, 0x0b, 0x15, 0x8f,
+    0x75, 0x00, 0x09, 0x02, 0x30, 0x62, 0x75, 0x00,
+    0x09, 0x02, 0x2e, 0x45, 0x80, 0x75, 0x00, 0x0d,
+    0x02, 0x2c, 0x97, 0x80, 0x71, 0x00, 0x09, 0x03,
+    0x3f, 0x66, 0xa2, 0x82, 0xcf, 0x00, 0x09, 0x03,
+    0x15, 0x63, 0x93, 0x80, 0x30, 0x00, 0x00, 0x03,
+    0x29, 0x2a, 0x4a, 0x85, 0x6e, 0x00, 0x02, 0x01,
+    0x82, 0x46, 0x00, 0x01, 0x04, 0x11, 0x35, 0x92,
+    0x91, 0x80, 0x4a, 0x00, 0x01, 0x02, 0x60, 0x7e,
+    0x00, 0x00, 0x00, 0x02, 0x60, 0x7e, 0x84, 0x49,
+    0x00, 0x00, 0x04, 0x0b, 0x20, 0x2c, 0x3f, 0x00,
+    0x01, 0x20, 0x00, 0x04, 0x0b, 0x20, 0x2c, 0x3f,
+    0x00, 0x03, 0x20, 0x2c, 0x3f, 0x00, 0x01, 0x20,
+    0x01, 0x02, 0x0b, 0x20, 0x00, 0x02, 0x20, 0x85,
+    0x00, 0x02, 0x0b, 0x20, 0x00, 0x02, 0x20, 0x85,
+    0x00, 0x06, 0x20, 0x3f, 0x54, 0x78, 0x97, 0x99,
+    0x00, 0x01, 0x20, 0x01, 0x02, 0x20, 0x85, 0x01,
+    0x01, 0x20, 0x00, 0x02, 0x20, 0x85, 0x00, 0x02,
+    0x0b, 0x20, 0x06, 0x01, 0x20, 0x00, 0x02, 0x20,
+    0x66, 0x00, 0x02, 0x0b, 0x20, 0x01, 0x01, 0x20,
+    0x00, 0x02, 0x0b, 0x20, 0x03, 0x01, 0x20, 0x00,
+    0x0b, 0x0b, 0x20, 0x2c, 0x3f, 0x54, 0x66, 0x78,
+    0x89, 0x99, 0x9e, 0xa2, 0x00, 0x02, 0x20, 0x2c,
+    0x00, 0x04, 0x20, 0x2c, 0x3f, 0xa2, 0x01, 0x02,
+    0x0b, 0x20, 0x00, 0x01, 0x0b, 0x01, 0x02, 0x20,
+    0x2c, 0x00, 0x01, 0x66, 0x80, 0x44, 0x00, 0x01,
+    0x01, 0x2d, 0x35, 0x00, 0x00, 0x03, 0x1d, 0x4a,
+    0x90, 0x00, 0x00, 0x00, 0x01, 0x90, 0x81, 0xb3,
+    0x00, 0x00, 0x03, 0x4a, 0x60, 0x7e, 0x1e, 0x00,
+    0x00, 0x02, 0x01, 0x04, 0x09, 0x00, 0x00, 0x06,
+    0x13, 0x29, 0x2a, 0x6f, 0x50, 0x76, 0x01, 0x00,
+    0x00, 0x04, 0x13, 0x2d, 0x6f, 0x5d, 0x80, 0x11,
+    0x00, 0x00, 0x03, 0x20, 0x2c, 0x4a, 0x8c, 0xa5,
+    0x00, 0x00, 0x02, 0x1a, 0x4a, 0x17, 0x00, 0x00,
+    0x02, 0x06, 0x76, 0x00, 0x07, 0x06, 0x13, 0x29,
+    0x6f, 0x3e, 0x51, 0x83, 0x09, 0x00, 0x00, 0x01,
+    0x23, 0x03, 0x00, 0x00, 0x03, 0x01, 0x04, 0x6f,
+    0x00, 0x00, 0x00, 0x02, 0x1d, 0x2a, 0x81, 0x2b,
+    0x00, 0x0f, 0x02, 0x32, 0x98, 0x00, 0x00, 0x00,
+    0x07, 0x0d, 0x33, 0x32, 0x38, 0x40, 0x60, 0xa9,
+    0x00, 0x08, 0x0d, 0x33, 0x32, 0x38, 0x40, 0x60,
+    0x7e, 0xa9, 0x00, 0x05, 0x0d, 0x33, 0x32, 0x38,
+    0x40, 0x01, 0x00, 0x00, 0x01, 0x32, 0x00, 0x00,
+    0x01, 0x08, 0x0d, 0x33, 0x32, 0x38, 0x40, 0x60,
+    0x9c, 0xa9, 0x01, 0x09, 0x0d, 0x33, 0x32, 0x38,
+    0x40, 0x4f, 0x60, 0x9c, 0xa9, 0x05, 0x06, 0x0d,
+    0x33, 0x32, 0x38, 0x40, 0xa9, 0x00, 0x00, 0x00,
+    0x05, 0x0d, 0x33, 0x32, 0x38, 0x40, 0x07, 0x06,
+    0x0d, 0x33, 0x32, 0x38, 0x40, 0xa9, 0x03, 0x05,
+    0x0d, 0x33, 0x32, 0x38, 0x40, 0x09, 0x00, 0x03,
+    0x02, 0x0d, 0x32, 0x01, 0x00, 0x00, 0x05, 0x0d,
+    0x33, 0x32, 0x38, 0x40, 0x04, 0x02, 0x38, 0x40,
+    0x00, 0x00, 0x00, 0x05, 0x0d, 0x33, 0x32, 0x38,
+    0x40, 0x03, 0x00, 0x01, 0x03, 0x32, 0x38, 0x40,
+    0x01, 0x01, 0x32, 0x58, 0x00, 0x03, 0x02, 0x38,
+    0x40, 0x02, 0x00, 0x00, 0x02, 0x38, 0x40, 0x59,
+    0x00, 0x00, 0x06, 0x0d, 0x33, 0x32, 0x38, 0x40,
+    0xa9, 0x00, 0x02, 0x38, 0x40, 0x80, 0x12, 0x00,
+    0x0f, 0x01, 0x32, 0x1f, 0x00, 0x25, 0x01, 0x32,
+    0x08, 0x00, 0x00, 0x02, 0x32, 0x98, 0x2f, 0x00,
+    0x27, 0x01, 0x32, 0x37, 0x00, 0x30, 0x01, 0x32,
+    0x0e, 0x00, 0x0b, 0x01, 0x32, 0x32, 0x00, 0x00,
+    0x01, 0x32, 0x57, 0x00, 0x18, 0x01, 0x32, 0x09,
+    0x00, 0x04, 0x01, 0x32, 0x5f, 0x00, 0x1e, 0x01,
+    0x32, 0xc0, 0x31, 0xef, 0x00, 0x00, 0x02, 0x1d,
+    0x2a, 0x80, 0x0f, 0x00, 0x07, 0x02, 0x32, 0x4a,
+    0x80, 0xa7, 0x00, 0x02, 0x10, 0x20, 0x22, 0x2e,
+    0x30, 0x45, 0x3f, 0x3e, 0x53, 0x54, 0x5f, 0x66,
+    0x85, 0x47, 0x96, 0x9e, 0xa2, 0x02, 0x0f, 0x20,
+    0x22, 0x2e, 0x30, 0x45, 0x3f, 0x3e, 0x53, 0x5f,
+    0x66, 0x85, 0x47, 0x96, 0x9e, 0xa2, 0x01, 0x0b,
+    0x20, 0x22, 0x2e, 0x30, 0x45, 0x3e, 0x53, 0x5f,
+    0x47, 0x96, 0x9e, 0x00, 0x0c, 0x20, 0x22, 0x2e,
+    0x30, 0x45, 0x3e, 0x53, 0x5f, 0x85, 0x47, 0x96,
+    0x9e, 0x00, 0x0b, 0x20, 0x22, 0x2e, 0x30, 0x45,
+    0x3e, 0x53, 0x5f, 0x47, 0x96, 0x9e, 0x80, 0x36,
+    0x00, 0x00, 0x03, 0x0b, 0x20, 0xa2, 0x00, 0x00,
+    0x00, 0x02, 0x20, 0x97, 0x39, 0x00, 0x00, 0x03,
+    0x42, 0x4a, 0x63, 0x80, 0x1f, 0x00, 0x00, 0x02,
+    0x10, 0x3d, 0xc0, 0x12, 0xed, 0x00, 0x01, 0x02,
+    0x04, 0x69, 0x80, 0x31, 0x00, 0x00, 0x02, 0x04,
+    0x9a, 0x09, 0x00, 0x00, 0x02, 0x04, 0x9a, 0x46,
+    0x00, 0x01, 0x05, 0x0d, 0x33, 0x32, 0x38, 0x40,
+    0x80, 0x99, 0x00, 0x04, 0x06, 0x0d, 0x33, 0x32,
+    0x38, 0x40, 0xa9, 0x09, 0x00, 0x00, 0x02, 0x38,
+    0x40, 0x2c, 0x00, 0x01, 0x02, 0x38, 0x40, 0x80,
+    0xdf, 0x00, 0x01, 0x03, 0x1e, 0x1c, 0x4e, 0x00,
+    0x02, 0x1c, 0x4e, 0x03, 0x00, 0x2c, 0x03, 0x1c,
+    0x4d, 0x4e, 0x02, 0x00, 0x08, 0x02, 0x1c, 0x4e,
+    0x81, 0x1f, 0x00, 0x1b, 0x02, 0x04, 0x1a, 0x87,
+    0x75, 0x00, 0x00, 0x02, 0x56, 0x77, 0x87, 0x8d,
+    0x00, 0x00, 0x02, 0x2c, 0x97, 0x00, 0x00, 0x00,
+    0x02, 0x2c, 0x97, 0x36, 0x00, 0x01, 0x02, 0x2c,
+    0x97, 0x8c, 0x12, 0x00, 0x01, 0x02, 0x2c, 0x97,
+    0x00, 0x00, 0x00, 0x02, 0x2c, 0x97, 0xc0, 0x5c,
+    0x4b, 0x00, 0x03, 0x01, 0x23, 0x96, 0x3b, 0x00,
+    0x11, 0x01, 0x32, 0x9e, 0x5d, 0x00, 0x01, 0x01,
+    0x32, 0xce, 0xcd, 0x2d, 0x00,
 };
 
 static const uint8_t unicode_prop_Hyphen_table[28] = {
@@ -3721,61 +3851,63 @@ static const uint8_t unicode_prop_Other_Math_table[200] = {
     0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,
 };
 
-static const uint8_t unicode_prop_Other_Alphabetic_table[428] = {
-    0x43, 0x44, 0x80, 0x42, 0x69, 0x8d, 0x00, 0x01,
-    0x01, 0x00, 0xc7, 0x8a, 0xaf, 0x8c, 0x06, 0x8f,
-    0x80, 0xe4, 0x33, 0x19, 0x0b, 0x80, 0xa2, 0x80,
-    0x9d, 0x8f, 0xe5, 0x8a, 0xe4, 0x0a, 0x88, 0x02,
-    0x03, 0x40, 0xa6, 0x8b, 0x16, 0x85, 0x93, 0xb5,
-    0x09, 0x8e, 0x01, 0x22, 0x89, 0x81, 0x9c, 0x82,
-    0xb9, 0x31, 0x09, 0x81, 0x89, 0x80, 0x89, 0x81,
-    0x9c, 0x82, 0xb9, 0x23, 0x09, 0x0b, 0x80, 0x9d,
-    0x0a, 0x80, 0x8a, 0x82, 0xb9, 0x38, 0x10, 0x81,
-    0x94, 0x81, 0x95, 0x13, 0x82, 0xb9, 0x31, 0x09,
-    0x81, 0x88, 0x81, 0x89, 0x81, 0x9d, 0x80, 0xba,
-    0x22, 0x10, 0x82, 0x89, 0x80, 0xa7, 0x84, 0xb8,
-    0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x9c, 0x82,
-    0xb9, 0x30, 0x10, 0x17, 0x81, 0x8a, 0x81, 0x8e,
-    0x80, 0x8b, 0x83, 0xb9, 0x30, 0x10, 0x82, 0x89,
-    0x80, 0x89, 0x81, 0x9c, 0x82, 0xca, 0x28, 0x00,
-    0x87, 0x91, 0x81, 0xbc, 0x01, 0x86, 0x91, 0x80,
-    0xe2, 0x01, 0x28, 0x81, 0x8f, 0x80, 0x40, 0xa2,
-    0x92, 0x88, 0x8a, 0x80, 0xa3, 0xed, 0x8b, 0x00,
-    0x0b, 0x96, 0x1b, 0x10, 0x11, 0x32, 0x83, 0x8c,
-    0x8b, 0x00, 0x89, 0x83, 0x46, 0x73, 0x81, 0x9d,
-    0x81, 0x9d, 0x81, 0x9d, 0x81, 0xc1, 0x92, 0x40,
-    0xbb, 0x81, 0xa1, 0x80, 0xf5, 0x8b, 0x83, 0x88,
-    0x40, 0xdd, 0x84, 0xb8, 0x89, 0x81, 0x93, 0xc9,
-    0x81, 0x8a, 0x82, 0xb0, 0x84, 0xaf, 0x8e, 0xbb,
-    0x82, 0x9d, 0x88, 0x09, 0xb8, 0x8a, 0xb1, 0x92,
-    0x41, 0xaf, 0x8d, 0x46, 0xc0, 0xb3, 0x48, 0xf5,
-    0x9f, 0x60, 0x78, 0x73, 0x87, 0xa1, 0x81, 0x41,
-    0x61, 0x07, 0x80, 0x96, 0x84, 0xd7, 0x81, 0xb1,
-    0x8f, 0x00, 0xb8, 0x80, 0xa5, 0x84, 0x9b, 0x8b,
-    0xac, 0x83, 0xaf, 0x8b, 0xa4, 0x80, 0xc2, 0x8d,
-    0x8b, 0x07, 0x81, 0xac, 0x82, 0xb1, 0x00, 0x11,
-    0x0c, 0x80, 0xab, 0x24, 0x80, 0x40, 0xec, 0x87,
-    0x60, 0x4f, 0x32, 0x80, 0x48, 0x56, 0x84, 0x46,
-    0x85, 0x10, 0x0c, 0x83, 0x43, 0x13, 0x83, 0x41,
-    0x82, 0x81, 0x41, 0x52, 0x82, 0xb4, 0x8d, 0xac,
-    0x81, 0x8a, 0x82, 0xac, 0x88, 0x88, 0x80, 0xbc,
-    0x82, 0xa3, 0x8b, 0x91, 0x81, 0xb8, 0x82, 0xaf,
-    0x8c, 0x8d, 0x81, 0xdb, 0x88, 0x08, 0x28, 0x08,
-    0x40, 0x9c, 0x89, 0x96, 0x83, 0xb9, 0x31, 0x09,
-    0x81, 0x89, 0x80, 0x89, 0x81, 0x40, 0xd0, 0x8c,
-    0x02, 0xe9, 0x91, 0x40, 0xec, 0x31, 0x86, 0x9c,
-    0x81, 0xd1, 0x8e, 0x00, 0xe9, 0x8a, 0xe6, 0x8d,
-    0x41, 0x00, 0x8c, 0x40, 0xf6, 0x28, 0x09, 0x0a,
-    0x00, 0x80, 0x40, 0x8d, 0x31, 0x2b, 0x80, 0x9b,
-    0x89, 0xa9, 0x20, 0x83, 0x91, 0x8a, 0xad, 0x8d,
-    0x41, 0x96, 0x38, 0x86, 0xd2, 0x95, 0x80, 0x8d,
-    0xf9, 0x2a, 0x00, 0x08, 0x10, 0x02, 0x80, 0xc1,
-    0x20, 0x08, 0x83, 0x41, 0x5b, 0x83, 0x88, 0x08,
-    0x80, 0xaf, 0x32, 0x82, 0x60, 0x50, 0x0d, 0x00,
-    0xb6, 0x33, 0xdc, 0x81, 0x60, 0x4c, 0xab, 0x80,
-    0x60, 0x23, 0x60, 0x30, 0x90, 0x0e, 0x01, 0x04,
-    0xe3, 0x80, 0x48, 0xb6, 0x80, 0x47, 0xe7, 0x99,
-    0x85, 0x99, 0x85, 0x99,
+static const uint8_t unicode_prop_Other_Alphabetic_table[443] = {
+    0x43, 0x44, 0x80, 0x9c, 0x8c, 0x42, 0x3f, 0x8d,
+    0x00, 0x01, 0x01, 0x00, 0xc7, 0x8a, 0xaf, 0x8c,
+    0x06, 0x8f, 0x80, 0xe4, 0x33, 0x19, 0x0b, 0x80,
+    0xa2, 0x80, 0x9d, 0x8f, 0xe5, 0x8a, 0xe4, 0x0a,
+    0x88, 0x02, 0x03, 0xe9, 0x80, 0xbb, 0x8b, 0x16,
+    0x85, 0x93, 0xb5, 0x09, 0x8e, 0x01, 0x22, 0x89,
+    0x81, 0x9c, 0x82, 0xb9, 0x31, 0x09, 0x81, 0x89,
+    0x80, 0x89, 0x81, 0x9c, 0x82, 0xb9, 0x23, 0x09,
+    0x0b, 0x80, 0x9d, 0x0a, 0x80, 0x8a, 0x82, 0xb9,
+    0x38, 0x10, 0x81, 0x94, 0x81, 0x95, 0x13, 0x82,
+    0xb9, 0x31, 0x09, 0x81, 0x88, 0x81, 0x89, 0x81,
+    0x9d, 0x80, 0xba, 0x22, 0x10, 0x82, 0x89, 0x80,
+    0xa7, 0x84, 0xb8, 0x30, 0x10, 0x17, 0x81, 0x8a,
+    0x81, 0x9c, 0x82, 0xb9, 0x30, 0x10, 0x17, 0x81,
+    0x8a, 0x81, 0x8e, 0x80, 0x8b, 0x83, 0xb9, 0x30,
+    0x10, 0x82, 0x89, 0x80, 0x89, 0x81, 0x9c, 0x82,
+    0xca, 0x28, 0x00, 0x87, 0x91, 0x81, 0xbc, 0x01,
+    0x86, 0x91, 0x80, 0xe2, 0x01, 0x28, 0x81, 0x8f,
+    0x80, 0x40, 0xa2, 0x92, 0x88, 0x8a, 0x80, 0xa3,
+    0xed, 0x8b, 0x00, 0x0b, 0x96, 0x1b, 0x10, 0x11,
+    0x32, 0x83, 0x8c, 0x8b, 0x00, 0x89, 0x83, 0x46,
+    0x73, 0x81, 0x9d, 0x81, 0x9d, 0x81, 0x9d, 0x81,
+    0xc1, 0x92, 0x40, 0xbb, 0x81, 0xa1, 0x80, 0xf5,
+    0x8b, 0x83, 0x88, 0x40, 0xdd, 0x84, 0xb8, 0x89,
+    0x81, 0x93, 0xc9, 0x81, 0x8a, 0x82, 0xb0, 0x84,
+    0xaf, 0x8e, 0xbb, 0x82, 0x9d, 0x88, 0x09, 0xb8,
+    0x8a, 0xb1, 0x92, 0x41, 0x9b, 0xa1, 0x46, 0xc0,
+    0xb3, 0x48, 0xf5, 0x9f, 0x60, 0x78, 0x73, 0x87,
+    0xa1, 0x81, 0x41, 0x61, 0x07, 0x80, 0x96, 0x84,
+    0xd7, 0x81, 0xb1, 0x8f, 0x00, 0xb8, 0x80, 0xa5,
+    0x84, 0x9b, 0x8b, 0xac, 0x83, 0xaf, 0x8b, 0xa4,
+    0x80, 0xc2, 0x8d, 0x8b, 0x07, 0x81, 0xac, 0x82,
+    0xb1, 0x00, 0x11, 0x0c, 0x80, 0xab, 0x24, 0x80,
+    0x40, 0xec, 0x87, 0x60, 0x4f, 0x32, 0x80, 0x48,
+    0x56, 0x84, 0x46, 0x85, 0x10, 0x0c, 0x83, 0x43,
+    0x13, 0x83, 0xc0, 0x80, 0x41, 0x40, 0x81, 0xce,
+    0x80, 0x41, 0x02, 0x82, 0xb4, 0x8d, 0xac, 0x81,
+    0x8a, 0x82, 0xac, 0x88, 0x88, 0x80, 0xbc, 0x82,
+    0xa3, 0x8b, 0x91, 0x81, 0xb8, 0x82, 0xaf, 0x8c,
+    0x8d, 0x81, 0xdb, 0x88, 0x08, 0x28, 0x08, 0x40,
+    0x9c, 0x89, 0x96, 0x83, 0xb9, 0x31, 0x09, 0x81,
+    0x89, 0x80, 0x89, 0x81, 0xd3, 0x88, 0x00, 0x08,
+    0x03, 0x01, 0xe6, 0x8c, 0x02, 0xe9, 0x91, 0x40,
+    0xec, 0x31, 0x86, 0x9c, 0x81, 0xd1, 0x8e, 0x00,
+    0xe9, 0x8a, 0xe6, 0x8d, 0x41, 0x00, 0x8c, 0x40,
+    0xf6, 0x28, 0x09, 0x0a, 0x00, 0x80, 0x40, 0x8d,
+    0x31, 0x2b, 0x80, 0x9b, 0x89, 0xa9, 0x20, 0x83,
+    0x91, 0x8a, 0xad, 0x8d, 0x41, 0x96, 0x38, 0x86,
+    0xd2, 0x95, 0x80, 0x8d, 0xf9, 0x2a, 0x00, 0x08,
+    0x10, 0x02, 0x80, 0xc1, 0x20, 0x08, 0x83, 0x41,
+    0x5b, 0x83, 0x88, 0x08, 0x80, 0xaf, 0x32, 0x82,
+    0x60, 0x41, 0xdc, 0x90, 0x4e, 0x1f, 0x00, 0xb6,
+    0x33, 0xdc, 0x81, 0x60, 0x4c, 0xab, 0x80, 0x60,
+    0x23, 0x60, 0x30, 0x90, 0x0e, 0x01, 0x04, 0xe3,
+    0x80, 0x48, 0xb6, 0x80, 0x47, 0xe7, 0x99, 0x85,
+    0x99, 0x85, 0x99,
 };
 
 static const uint8_t unicode_prop_Other_Lowercase_table[69] = {
@@ -3795,16 +3927,21 @@ static const uint8_t unicode_prop_Other_Uppercase_table[15] = {
     0xcc, 0x5f, 0x99, 0x85, 0x99, 0x85, 0x99,
 };
 
-static const uint8_t unicode_prop_Other_Grapheme_Extend_table[65] = {
+static const uint8_t unicode_prop_Other_Grapheme_Extend_table[112] = {
     0x49, 0xbd, 0x80, 0x97, 0x80, 0x41, 0x65, 0x80,
-    0x97, 0x80, 0xe5, 0x80, 0x97, 0x80, 0x40, 0xe9,
-    0x80, 0x91, 0x81, 0xe6, 0x80, 0x97, 0x80, 0xf6,
-    0x80, 0x8e, 0x80, 0x4d, 0x54, 0x80, 0x44, 0xd5,
-    0x80, 0x50, 0x20, 0x81, 0x60, 0xcf, 0x6d, 0x81,
-    0x53, 0x9d, 0x80, 0x97, 0x80, 0x41, 0x57, 0x80,
-    0x8b, 0x80, 0x40, 0xf0, 0x80, 0x43, 0x7f, 0x80,
-    0x60, 0xb8, 0x33, 0x07, 0x84, 0x6c, 0x2e, 0xac,
-    0xdf,
+    0x97, 0x80, 0xe5, 0x80, 0x97, 0x80, 0x40, 0xe7,
+    0x00, 0x03, 0x08, 0x81, 0x88, 0x81, 0xe6, 0x80,
+    0x97, 0x80, 0xf6, 0x80, 0x8e, 0x80, 0x49, 0x34,
+    0x80, 0x9d, 0x80, 0x43, 0xff, 0x04, 0x00, 0x04,
+    0x81, 0xe4, 0x80, 0xc6, 0x81, 0x44, 0x17, 0x80,
+    0x50, 0x20, 0x81, 0x60, 0x79, 0x22, 0x80, 0xeb,
+    0x80, 0x60, 0x55, 0xdc, 0x81, 0x52, 0x1f, 0x80,
+    0xf3, 0x80, 0x41, 0x07, 0x80, 0x8d, 0x80, 0x88,
+    0x80, 0xdf, 0x80, 0x88, 0x01, 0x00, 0x14, 0x80,
+    0x40, 0xdf, 0x80, 0x8b, 0x80, 0x40, 0xf0, 0x80,
+    0x41, 0x05, 0x80, 0x42, 0x78, 0x80, 0x8b, 0x80,
+    0x46, 0x02, 0x80, 0x60, 0x50, 0xad, 0x81, 0x60,
+    0x61, 0x72, 0x0d, 0x85, 0x6c, 0x2e, 0xac, 0xdf,
 };
 
 static const uint8_t unicode_prop_Other_Default_Ignorable_Code_Point_table[32] = {
@@ -3819,9 +3956,10 @@ static const uint8_t unicode_prop_Other_ID_Start_table[11] = {
     0x4f, 0x6b, 0x81,
 };
 
-static const uint8_t unicode_prop_Other_ID_Continue_table[12] = {
+static const uint8_t unicode_prop_Other_ID_Continue_table[22] = {
     0x40, 0xb6, 0x80, 0x42, 0xce, 0x80, 0x4f, 0xe0,
-    0x88, 0x46, 0x67, 0x80,
+    0x88, 0x46, 0x67, 0x80, 0x46, 0x30, 0x81, 0x50,
+    0xec, 0x80, 0x60, 0xce, 0x68, 0x80,
 };
 
 static const uint8_t unicode_prop_Prepended_Concatenation_Mark_table[19] = {
@@ -3856,7 +3994,7 @@ static const uint8_t unicode_prop_Changes_When_Casefolded1_table[29] = {
     0x89, 0x10, 0x81, 0x8d, 0x80,
 };
 
-static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[447] = {
+static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[450] = {
     0x40, 0x9f, 0x06, 0x00, 0x01, 0x00, 0x01, 0x12,
     0x10, 0x82, 0xf3, 0x80, 0x8b, 0x80, 0x40, 0x84,
     0x01, 0x01, 0x80, 0xa2, 0x01, 0x80, 0x40, 0xbb,
@@ -3898,21 +4036,22 @@ static const uint8_t unicode_prop_Changes_When_NFKC_Casefolded1_table[447] = {
     0x92, 0x03, 0x1a, 0x00, 0x80, 0x40, 0x86, 0x08,
     0x80, 0x9f, 0x99, 0x40, 0x83, 0x15, 0x0d, 0x0d,
     0x0a, 0x16, 0x06, 0x80, 0x88, 0x47, 0x87, 0x20,
-    0xa9, 0x80, 0x88, 0x60, 0xb4, 0xe4, 0x83, 0x54,
-    0xb9, 0x86, 0x8d, 0x87, 0xbf, 0x85, 0x42, 0x3e,
-    0xd4, 0x80, 0xc6, 0x01, 0x08, 0x09, 0x0b, 0x80,
-    0x8b, 0x00, 0x06, 0x80, 0xc0, 0x03, 0x0f, 0x06,
-    0x80, 0x9b, 0x03, 0x04, 0x00, 0x16, 0x80, 0x41,
-    0x53, 0x81, 0x41, 0x23, 0x81, 0xb1, 0x48, 0x2f,
-    0xbd, 0x4d, 0x91, 0x18, 0x9a, 0x01, 0x00, 0x08,
-    0x80, 0x89, 0x03, 0x00, 0x00, 0x28, 0x18, 0x00,
-    0x00, 0x02, 0x01, 0x00, 0x08, 0x00, 0x00, 0x00,
-    0x00, 0x01, 0x00, 0x0b, 0x06, 0x03, 0x03, 0x00,
-    0x80, 0x89, 0x80, 0x90, 0x22, 0x04, 0x80, 0x90,
-    0x42, 0x43, 0x8a, 0x84, 0x9e, 0x80, 0x9f, 0x99,
-    0x82, 0xa2, 0x80, 0xee, 0x82, 0x8c, 0xab, 0x83,
-    0x88, 0x31, 0x49, 0x9d, 0x89, 0x60, 0xfc, 0x05,
-    0x42, 0x1d, 0x6b, 0x05, 0xe1, 0x4f, 0xff,
+    0xa9, 0x80, 0x88, 0x60, 0xb4, 0xe4, 0x83, 0x50,
+    0x31, 0xa3, 0x44, 0x63, 0x86, 0x8d, 0x87, 0xbf,
+    0x85, 0x42, 0x3e, 0xd4, 0x80, 0xc6, 0x01, 0x08,
+    0x09, 0x0b, 0x80, 0x8b, 0x00, 0x06, 0x80, 0xc0,
+    0x03, 0x0f, 0x06, 0x80, 0x9b, 0x03, 0x04, 0x00,
+    0x16, 0x80, 0x41, 0x53, 0x81, 0x41, 0x23, 0x81,
+    0xb1, 0x48, 0x2f, 0xbd, 0x4d, 0x91, 0x18, 0x9a,
+    0x01, 0x00, 0x08, 0x80, 0x89, 0x03, 0x00, 0x00,
+    0x28, 0x18, 0x00, 0x00, 0x02, 0x01, 0x00, 0x08,
+    0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0b, 0x06,
+    0x03, 0x03, 0x00, 0x80, 0x89, 0x80, 0x90, 0x22,
+    0x04, 0x80, 0x90, 0x42, 0x43, 0x8a, 0x84, 0x9e,
+    0x80, 0x9f, 0x99, 0x82, 0xa2, 0x80, 0xee, 0x82,
+    0x8c, 0xab, 0x83, 0x88, 0x31, 0x49, 0x9d, 0x89,
+    0x60, 0xfc, 0x05, 0x42, 0x1d, 0x6b, 0x05, 0xe1,
+    0x4f, 0xff,
 };
 
 static const uint8_t unicode_prop_ASCII_Hex_Digit_table[5] = {
@@ -3924,14 +4063,15 @@ static const uint8_t unicode_prop_Bidi_Control_table[10] = {
     0xb6, 0x83,
 };
 
-static const uint8_t unicode_prop_Dash_table[55] = {
+static const uint8_t unicode_prop_Dash_table[58] = {
     0xac, 0x80, 0x45, 0x5b, 0x80, 0xb2, 0x80, 0x4e,
     0x40, 0x80, 0x44, 0x04, 0x80, 0x48, 0x08, 0x85,
     0xbc, 0x80, 0xa6, 0x80, 0x8e, 0x80, 0x41, 0x85,
     0x80, 0x4c, 0x03, 0x01, 0x80, 0x9e, 0x0b, 0x80,
     0x9b, 0x80, 0x41, 0xbd, 0x80, 0x92, 0x80, 0xee,
     0x80, 0x60, 0xcd, 0x8f, 0x81, 0xa4, 0x80, 0x89,
-    0x80, 0x40, 0xa8, 0x80, 0x4f, 0x9e, 0x80,
+    0x80, 0x40, 0xa8, 0x80, 0x4e, 0x5f, 0x80, 0x41,
+    0x3d, 0x80,
 };
 
 static const uint8_t unicode_prop_Deprecated_table[23] = {
@@ -3940,7 +4080,7 @@ static const uint8_t unicode_prop_Deprecated_table[23] = {
     0x42, 0xb8, 0x81, 0x6d, 0xdc, 0xd5, 0x80,
 };
 
-static const uint8_t unicode_prop_Diacritic_table[399] = {
+static const uint8_t unicode_prop_Diacritic_table[438] = {
     0xdd, 0x00, 0x80, 0xc6, 0x05, 0x03, 0x01, 0x81,
     0x41, 0xf6, 0x40, 0x9e, 0x07, 0x25, 0x90, 0x0b,
     0x80, 0x88, 0x81, 0x40, 0xfc, 0x84, 0x40, 0xd0,
@@ -3953,59 +4093,66 @@ static const uint8_t unicode_prop_Diacritic_table[399] = {
     0x8f, 0x80, 0xae, 0x82, 0xbb, 0x80, 0x8f, 0x06,
     0x80, 0xf6, 0x80, 0xed, 0x80, 0x8f, 0x80, 0xed,
     0x80, 0x8f, 0x80, 0xec, 0x81, 0x8f, 0x80, 0xfb,
-    0x80, 0xfb, 0x28, 0x80, 0xea, 0x80, 0x8c, 0x84,
-    0xca, 0x81, 0x9a, 0x00, 0x00, 0x03, 0x81, 0xc1,
-    0x10, 0x81, 0xbd, 0x80, 0xef, 0x00, 0x81, 0xa7,
-    0x0b, 0x84, 0x98, 0x30, 0x80, 0x89, 0x81, 0x42,
-    0xc0, 0x82, 0x43, 0xb3, 0x81, 0x40, 0xb2, 0x8a,
-    0x88, 0x80, 0x41, 0x5a, 0x82, 0x41, 0x38, 0x39,
-    0x80, 0xaf, 0x8e, 0x81, 0x8a, 0xe7, 0x80, 0x8e,
-    0x80, 0xa5, 0x88, 0xb5, 0x81, 0x40, 0x89, 0x81,
-    0xbf, 0x85, 0xd1, 0x98, 0x18, 0x28, 0x0a, 0xb1,
-    0xbe, 0xd8, 0x8b, 0xa4, 0x8a, 0x41, 0xbc, 0x00,
-    0x82, 0x8a, 0x82, 0x8c, 0x82, 0x8c, 0x82, 0x8c,
-    0x81, 0x4c, 0xef, 0x82, 0x41, 0x3c, 0x80, 0x41,
-    0xf9, 0x85, 0xe8, 0x83, 0xde, 0x80, 0x60, 0x75,
-    0x71, 0x80, 0x8b, 0x08, 0x80, 0x9b, 0x81, 0xd1,
-    0x81, 0x8d, 0xa1, 0xe5, 0x82, 0xec, 0x81, 0x40,
-    0xc9, 0x80, 0x9a, 0x91, 0xb8, 0x83, 0xa3, 0x80,
-    0xde, 0x80, 0x8b, 0x80, 0xa3, 0x80, 0x40, 0x94,
-    0x82, 0xc0, 0x83, 0xb2, 0x80, 0xe3, 0x84, 0x88,
-    0x82, 0xff, 0x81, 0x60, 0x4f, 0x2f, 0x80, 0x43,
-    0x00, 0x8f, 0x41, 0x0d, 0x00, 0x80, 0xae, 0x80,
-    0xac, 0x81, 0xc2, 0x80, 0x42, 0xfb, 0x80, 0x44,
-    0x9e, 0x28, 0xa9, 0x80, 0x88, 0x43, 0x29, 0x81,
-    0x42, 0x3a, 0x85, 0x41, 0xd4, 0x82, 0xc5, 0x8a,
-    0xb0, 0x83, 0x40, 0xbf, 0x80, 0xa8, 0x80, 0xc7,
-    0x81, 0xf7, 0x81, 0xbd, 0x80, 0xcb, 0x80, 0x88,
-    0x82, 0xe7, 0x81, 0x40, 0xb1, 0x81, 0xd0, 0x80,
-    0x8f, 0x80, 0x97, 0x32, 0x84, 0x40, 0xcc, 0x02,
-    0x80, 0xfa, 0x81, 0x40, 0xfa, 0x81, 0xfd, 0x80,
-    0xf5, 0x81, 0xf2, 0x80, 0x41, 0x0c, 0x81, 0x41,
-    0x01, 0x0b, 0x80, 0x40, 0x9b, 0x80, 0xd2, 0x80,
-    0x91, 0x80, 0xd0, 0x80, 0x41, 0xa4, 0x80, 0x41,
-    0x01, 0x00, 0x81, 0xd0, 0x80, 0x56, 0xae, 0x8e,
-    0x60, 0x36, 0x99, 0x84, 0xba, 0x86, 0x44, 0x57,
-    0x90, 0xcf, 0x81, 0x60, 0x3f, 0xfd, 0x18, 0x30,
-    0x81, 0x5f, 0x00, 0xad, 0x81, 0x96, 0x42, 0x1f,
-    0x12, 0x2f, 0x39, 0x86, 0x9d, 0x83, 0x4e, 0x81,
-    0xbd, 0x40, 0xc1, 0x86, 0x41, 0x76, 0x80, 0xbc,
-    0x83, 0x45, 0xdf, 0x86, 0xec, 0x10, 0x82,
+    0x80, 0xee, 0x80, 0x8b, 0x28, 0x80, 0xea, 0x80,
+    0x8c, 0x84, 0xca, 0x81, 0x9a, 0x00, 0x00, 0x03,
+    0x81, 0xc1, 0x10, 0x81, 0xbd, 0x80, 0xef, 0x00,
+    0x81, 0xa7, 0x0b, 0x84, 0x98, 0x30, 0x80, 0x89,
+    0x81, 0x42, 0xc0, 0x82, 0x43, 0xb3, 0x81, 0x9d,
+    0x80, 0x40, 0x93, 0x8a, 0x88, 0x80, 0x41, 0x5a,
+    0x82, 0x41, 0x23, 0x80, 0x93, 0x39, 0x80, 0xaf,
+    0x8e, 0x81, 0x8a, 0xe7, 0x80, 0x8e, 0x80, 0xa5,
+    0x88, 0xb5, 0x81, 0xb9, 0x80, 0x8a, 0x81, 0xc1,
+    0x81, 0xbf, 0x85, 0xd1, 0x98, 0x18, 0x28, 0x0a,
+    0xb1, 0xbe, 0xd8, 0x8b, 0xa4, 0x8a, 0x41, 0xbc,
+    0x00, 0x82, 0x8a, 0x82, 0x8c, 0x82, 0x8c, 0x82,
+    0x8c, 0x81, 0x4c, 0xef, 0x82, 0x41, 0x3c, 0x80,
+    0x41, 0xf9, 0x85, 0xe8, 0x83, 0xde, 0x80, 0x60,
+    0x75, 0x71, 0x80, 0x8b, 0x08, 0x80, 0x9b, 0x81,
+    0xd1, 0x81, 0x8d, 0xa1, 0xe5, 0x82, 0xec, 0x81,
+    0x8b, 0x80, 0xa4, 0x80, 0x40, 0x96, 0x80, 0x9a,
+    0x91, 0xb8, 0x83, 0xa3, 0x80, 0xde, 0x80, 0x8b,
+    0x80, 0xa3, 0x80, 0x40, 0x94, 0x82, 0xc0, 0x83,
+    0xb2, 0x80, 0xe3, 0x84, 0x88, 0x82, 0xff, 0x81,
+    0x60, 0x4f, 0x2f, 0x80, 0x43, 0x00, 0x8f, 0x41,
+    0x0d, 0x00, 0x80, 0xae, 0x80, 0xac, 0x81, 0xc2,
+    0x80, 0x42, 0xfb, 0x80, 0x44, 0x9e, 0x28, 0xa9,
+    0x80, 0x88, 0x42, 0x7c, 0x13, 0x80, 0x40, 0xa4,
+    0x81, 0x42, 0x3a, 0x85, 0xa5, 0x80, 0x99, 0x84,
+    0x41, 0x8e, 0x82, 0xc5, 0x8a, 0xb0, 0x83, 0x40,
+    0xbf, 0x80, 0xa8, 0x80, 0xc7, 0x81, 0xf7, 0x81,
+    0xbd, 0x80, 0xcb, 0x80, 0x88, 0x82, 0xe7, 0x81,
+    0x40, 0xb1, 0x81, 0xcf, 0x81, 0x8f, 0x80, 0x97,
+    0x32, 0x84, 0xd8, 0x10, 0x81, 0x8c, 0x81, 0xde,
+    0x02, 0x80, 0xfa, 0x81, 0x40, 0xfa, 0x81, 0xfd,
+    0x80, 0xf5, 0x81, 0xf2, 0x80, 0x41, 0x0c, 0x81,
+    0x41, 0x01, 0x0b, 0x80, 0x40, 0x9b, 0x80, 0xd2,
+    0x80, 0x91, 0x80, 0xd0, 0x80, 0x41, 0xa4, 0x80,
+    0x41, 0x01, 0x00, 0x81, 0xd0, 0x80, 0x41, 0xa8,
+    0x81, 0x96, 0x80, 0x54, 0xeb, 0x8e, 0x60, 0x2c,
+    0xd8, 0x80, 0x49, 0xbf, 0x84, 0xba, 0x86, 0x42,
+    0x33, 0x81, 0x42, 0x21, 0x90, 0xcf, 0x81, 0x60,
+    0x3f, 0xfd, 0x18, 0x30, 0x81, 0x5f, 0x00, 0xad,
+    0x81, 0x96, 0x42, 0x1f, 0x12, 0x2f, 0x39, 0x86,
+    0x9d, 0x83, 0x4e, 0x81, 0xbd, 0x40, 0xc1, 0x86,
+    0x41, 0x76, 0x80, 0xbc, 0x83, 0x42, 0xfd, 0x81,
+    0x42, 0xdf, 0x86, 0xec, 0x10, 0x82,
 };
 
-static const uint8_t unicode_prop_Extender_table[92] = {
+static const uint8_t unicode_prop_Extender_table[111] = {
     0x40, 0xb6, 0x80, 0x42, 0x17, 0x81, 0x43, 0x6d,
-    0x80, 0x41, 0xb8, 0x80, 0x43, 0x59, 0x80, 0x42,
-    0xef, 0x80, 0xfe, 0x80, 0x49, 0x42, 0x80, 0xb7,
-    0x80, 0x42, 0x62, 0x80, 0x41, 0x8d, 0x80, 0xc3,
-    0x80, 0x53, 0x88, 0x80, 0xaa, 0x84, 0xe6, 0x81,
-    0xdc, 0x82, 0x60, 0x6f, 0x15, 0x80, 0x45, 0xf5,
-    0x80, 0x43, 0xc1, 0x80, 0x95, 0x80, 0x40, 0x88,
-    0x80, 0xeb, 0x80, 0x94, 0x81, 0x60, 0x54, 0x7a,
-    0x80, 0x48, 0x0f, 0x81, 0x4b, 0xd9, 0x80, 0x42,
-    0x67, 0x82, 0x44, 0xce, 0x80, 0x60, 0x50, 0xa8,
+    0x80, 0x41, 0xb8, 0x80, 0x42, 0x75, 0x80, 0x40,
+    0x88, 0x80, 0xd8, 0x80, 0x42, 0xef, 0x80, 0xfe,
+    0x80, 0x49, 0x42, 0x80, 0xb7, 0x80, 0x42, 0x62,
+    0x80, 0x41, 0x8d, 0x80, 0xc3, 0x80, 0x53, 0x88,
+    0x80, 0xaa, 0x84, 0xe6, 0x81, 0xdc, 0x82, 0x60,
+    0x6f, 0x15, 0x80, 0x45, 0xf5, 0x80, 0x43, 0xc1,
+    0x80, 0x95, 0x80, 0x40, 0x88, 0x80, 0xeb, 0x80,
+    0x94, 0x81, 0x60, 0x54, 0x7a, 0x80, 0x48, 0x0f,
+    0x81, 0x45, 0xca, 0x80, 0x9a, 0x03, 0x80, 0x44,
+    0xc6, 0x80, 0x41, 0x24, 0x80, 0xf3, 0x81, 0x41,
+    0xf1, 0x82, 0x44, 0xce, 0x80, 0x60, 0x50, 0xa8,
     0x81, 0x44, 0x9b, 0x08, 0x80, 0x60, 0x71, 0x57,
-    0x81, 0x48, 0x05, 0x82,
+    0x81, 0x44, 0xb0, 0x80, 0x43, 0x53, 0x82,
 };
 
 static const uint8_t unicode_prop_Hex_Digit_table[12] = {
@@ -4013,24 +4160,28 @@ static const uint8_t unicode_prop_Hex_Digit_table[12] = {
     0x89, 0x35, 0x99, 0x85,
 };
 
-static const uint8_t unicode_prop_IDS_Binary_Operator_table[5] = {
-    0x60, 0x2f, 0xef, 0x09, 0x87,
+static const uint8_t unicode_prop_IDS_Unary_Operator_table[4] = {
+    0x60, 0x2f, 0xfd, 0x81,
+};
+
+static const uint8_t unicode_prop_IDS_Binary_Operator_table[8] = {
+    0x60, 0x2f, 0xef, 0x09, 0x89, 0x41, 0xf0, 0x80,
 };
 
 static const uint8_t unicode_prop_IDS_Trinary_Operator_table[4] = {
     0x60, 0x2f, 0xf1, 0x81,
 };
 
-static const uint8_t unicode_prop_Ideographic_table[69] = {
+static const uint8_t unicode_prop_Ideographic_table[72] = {
     0x60, 0x30, 0x05, 0x81, 0x98, 0x88, 0x8d, 0x82,
     0x43, 0xc4, 0x59, 0xbf, 0xbf, 0x60, 0x51, 0xff,
     0x60, 0x58, 0xff, 0x41, 0x6d, 0x81, 0xe9, 0x60,
     0x75, 0x09, 0x80, 0x9a, 0x57, 0xf7, 0x87, 0x44,
-    0xd5, 0xa9, 0x88, 0x60, 0x24, 0x66, 0x41, 0x8b,
+    0xd5, 0xa8, 0x89, 0x60, 0x24, 0x66, 0x41, 0x8b,
     0x60, 0x4d, 0x03, 0x60, 0xa6, 0xdf, 0x9f, 0x50,
     0x39, 0x85, 0x40, 0xdd, 0x81, 0x56, 0x81, 0x8d,
-    0x5d, 0x30, 0x4c, 0x1e, 0x42, 0x1d, 0x45, 0xe1,
-    0x53, 0x4a, 0x84, 0x50, 0x5f,
+    0x5d, 0x30, 0x8e, 0x42, 0x6d, 0x49, 0xa1, 0x42,
+    0x1d, 0x45, 0xe1, 0x53, 0x4a, 0x84, 0x50, 0x5f,
 };
 
 static const uint8_t unicode_prop_Join_Control_table[4] = {
@@ -4042,6 +4193,11 @@ static const uint8_t unicode_prop_Logical_Order_Exception_table[15] = {
     0x80, 0x60, 0x90, 0xf9, 0x09, 0x00, 0x81,
 };
 
+static const uint8_t unicode_prop_Modifier_Combining_Mark_table[16] = {
+    0x46, 0x53, 0x09, 0x80, 0x40, 0x82, 0x05, 0x02,
+    0x81, 0x41, 0xe0, 0x08, 0x12, 0x80, 0x9e, 0x80,
+};
+
 static const uint8_t unicode_prop_Noncharacter_Code_Point_table[71] = {
     0x60, 0xfd, 0xcf, 0x9f, 0x42, 0x0d, 0x81, 0x60,
     0xff, 0xfd, 0x81, 0x60, 0xff, 0xfd, 0x81, 0x60,
@@ -4086,32 +4242,34 @@ static const uint8_t unicode_prop_Regional_Indicator_table[4] = {
     0x61, 0xf1, 0xe5, 0x99,
 };
 
-static const uint8_t unicode_prop_Sentence_Terminal_table[196] = {
+static const uint8_t unicode_prop_Sentence_Terminal_table[213] = {
     0xa0, 0x80, 0x8b, 0x80, 0x8f, 0x80, 0x45, 0x48,
     0x80, 0x40, 0x92, 0x82, 0x40, 0xb3, 0x80, 0xaa,
     0x82, 0x40, 0xf5, 0x80, 0xbc, 0x00, 0x02, 0x81,
     0x41, 0x24, 0x81, 0x46, 0xe3, 0x81, 0x43, 0x15,
     0x03, 0x81, 0x43, 0x04, 0x80, 0x40, 0xc5, 0x81,
-    0x40, 0xcb, 0x04, 0x80, 0x41, 0x39, 0x81, 0x41,
-    0x61, 0x83, 0x40, 0xad, 0x09, 0x81, 0x9c, 0x81,
-    0x40, 0xbb, 0x81, 0xc0, 0x81, 0x43, 0xbb, 0x81,
-    0x88, 0x82, 0x4d, 0xe3, 0x80, 0x8c, 0x80, 0x95,
-    0x81, 0x41, 0xac, 0x80, 0x60, 0x74, 0xfb, 0x80,
-    0x41, 0x0d, 0x81, 0x40, 0xe2, 0x02, 0x80, 0x41,
-    0x7d, 0x81, 0xd5, 0x81, 0xde, 0x80, 0x40, 0x97,
-    0x81, 0x40, 0x92, 0x82, 0x40, 0x8f, 0x81, 0x40,
-    0xf8, 0x80, 0x60, 0x52, 0x65, 0x02, 0x81, 0x40,
-    0xa8, 0x80, 0x8b, 0x80, 0x8f, 0x80, 0xc0, 0x80,
-    0x4a, 0xf3, 0x81, 0x44, 0xfc, 0x84, 0xab, 0x83,
-    0x40, 0xbc, 0x81, 0xf4, 0x83, 0xfe, 0x82, 0x40,
-    0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7, 0x08, 0x81,
-    0xeb, 0x80, 0x41, 0xa0, 0x81, 0x41, 0x74, 0x0c,
-    0x8e, 0xe8, 0x81, 0x40, 0xf8, 0x82, 0x42, 0x04,
-    0x00, 0x80, 0x40, 0xfa, 0x81, 0xd6, 0x81, 0x41,
-    0xa3, 0x81, 0x42, 0xb3, 0x81, 0xc9, 0x81, 0x60,
-    0x4b, 0x28, 0x81, 0x40, 0x84, 0x80, 0xc0, 0x81,
-    0x8a, 0x80, 0x43, 0x52, 0x80, 0x60, 0x4e, 0x05,
-    0x80, 0x5d, 0xe7, 0x80,
+    0x40, 0x9c, 0x81, 0xac, 0x04, 0x80, 0x41, 0x39,
+    0x81, 0x41, 0x61, 0x83, 0x40, 0xa1, 0x81, 0x89,
+    0x09, 0x81, 0x9c, 0x82, 0x40, 0xba, 0x81, 0xc0,
+    0x81, 0x43, 0xa3, 0x80, 0x96, 0x81, 0x88, 0x82,
+    0x4c, 0xae, 0x82, 0x41, 0x31, 0x80, 0x8c, 0x80,
+    0x95, 0x81, 0x41, 0xac, 0x80, 0x60, 0x74, 0xfb,
+    0x80, 0x41, 0x0d, 0x81, 0x40, 0xe2, 0x02, 0x80,
+    0x41, 0x7d, 0x81, 0xd5, 0x81, 0xde, 0x80, 0x40,
+    0x97, 0x81, 0x40, 0x92, 0x82, 0x40, 0x8f, 0x81,
+    0x40, 0xf8, 0x80, 0x60, 0x52, 0x25, 0x01, 0x81,
+    0xba, 0x02, 0x81, 0x40, 0xa8, 0x80, 0x8b, 0x80,
+    0x8f, 0x80, 0xc0, 0x80, 0x4a, 0xf3, 0x81, 0x44,
+    0xfc, 0x84, 0xab, 0x83, 0x40, 0xbc, 0x81, 0xf4,
+    0x83, 0xfe, 0x82, 0x40, 0x80, 0x0d, 0x80, 0x8f,
+    0x81, 0xd7, 0x08, 0x81, 0xeb, 0x80, 0x41, 0x29,
+    0x81, 0xf4, 0x81, 0x41, 0x74, 0x0c, 0x8e, 0xe8,
+    0x81, 0x40, 0xf8, 0x82, 0x42, 0x04, 0x00, 0x80,
+    0x40, 0xfa, 0x81, 0xd6, 0x81, 0x41, 0xa3, 0x81,
+    0x42, 0xb3, 0x81, 0xc9, 0x81, 0x60, 0x4b, 0x28,
+    0x81, 0x40, 0x84, 0x80, 0xc0, 0x81, 0x8a, 0x80,
+    0x42, 0x28, 0x81, 0x41, 0x27, 0x80, 0x60, 0x4e,
+    0x05, 0x80, 0x5d, 0xe7, 0x80,
 };
 
 static const uint8_t unicode_prop_Soft_Dotted_table[79] = {
@@ -4127,47 +4285,49 @@ static const uint8_t unicode_prop_Soft_Dotted_table[79] = {
     0x85, 0x80, 0x41, 0x30, 0x81, 0x99, 0x80,
 };
 
-static const uint8_t unicode_prop_Terminal_Punctuation_table[248] = {
+static const uint8_t unicode_prop_Terminal_Punctuation_table[264] = {
     0xa0, 0x80, 0x89, 0x00, 0x80, 0x8a, 0x0a, 0x80,
     0x43, 0x3d, 0x07, 0x80, 0x42, 0x00, 0x80, 0xb8,
     0x80, 0xc7, 0x80, 0x8d, 0x00, 0x82, 0x40, 0xb3,
     0x80, 0xaa, 0x8a, 0x00, 0x40, 0xea, 0x81, 0xb5,
-    0x8e, 0x9e, 0x80, 0x41, 0x04, 0x81, 0x44, 0xf3,
-    0x81, 0x40, 0xab, 0x03, 0x85, 0x41, 0x36, 0x81,
-    0x43, 0x14, 0x87, 0x43, 0x04, 0x80, 0xfb, 0x82,
-    0xc6, 0x81, 0x40, 0x9c, 0x12, 0x80, 0xa6, 0x19,
-    0x81, 0x41, 0x39, 0x81, 0x41, 0x61, 0x83, 0x40,
-    0xad, 0x08, 0x82, 0x9c, 0x81, 0x40, 0xbb, 0x84,
-    0xbd, 0x81, 0x43, 0xbb, 0x81, 0x88, 0x82, 0x4d,
-    0xe3, 0x80, 0x8c, 0x03, 0x80, 0x89, 0x00, 0x0a,
+    0x28, 0x87, 0x9e, 0x80, 0x41, 0x04, 0x81, 0x44,
+    0xf3, 0x81, 0x40, 0xab, 0x03, 0x85, 0x41, 0x36,
+    0x81, 0x43, 0x14, 0x87, 0x43, 0x04, 0x80, 0xfb,
+    0x82, 0xc6, 0x81, 0x40, 0x9c, 0x12, 0x80, 0xa6,
+    0x19, 0x81, 0x41, 0x39, 0x81, 0x41, 0x61, 0x83,
+    0x40, 0xa1, 0x81, 0x89, 0x08, 0x82, 0x9c, 0x82,
+    0x40, 0xba, 0x84, 0xbd, 0x81, 0x43, 0xa3, 0x80,
+    0x96, 0x81, 0x88, 0x82, 0x4c, 0xae, 0x82, 0x41,
+    0x31, 0x80, 0x8c, 0x03, 0x80, 0x89, 0x00, 0x0a,
     0x81, 0x41, 0xab, 0x81, 0x60, 0x74, 0xfa, 0x81,
     0x41, 0x0c, 0x82, 0x40, 0xe2, 0x84, 0x41, 0x7d,
     0x81, 0xd5, 0x81, 0xde, 0x80, 0x40, 0x96, 0x82,
     0x40, 0x92, 0x82, 0xfe, 0x80, 0x8f, 0x81, 0x40,
-    0xf8, 0x80, 0x60, 0x52, 0x63, 0x10, 0x83, 0x40,
-    0xa8, 0x80, 0x89, 0x00, 0x80, 0x8a, 0x0a, 0x80,
-    0xc0, 0x01, 0x80, 0x44, 0x39, 0x80, 0xaf, 0x80,
-    0x44, 0x85, 0x80, 0x40, 0xc6, 0x80, 0x41, 0x35,
-    0x81, 0x40, 0x97, 0x85, 0xc3, 0x85, 0xd8, 0x83,
-    0x43, 0xb7, 0x84, 0xab, 0x83, 0x40, 0xbc, 0x86,
-    0xef, 0x83, 0xfe, 0x82, 0x40, 0x80, 0x0d, 0x80,
-    0x8f, 0x81, 0xd7, 0x84, 0xeb, 0x80, 0x41, 0xa0,
-    0x82, 0x8b, 0x81, 0x41, 0x65, 0x1a, 0x8e, 0xe8,
-    0x81, 0x40, 0xf8, 0x82, 0x42, 0x04, 0x00, 0x80,
-    0x40, 0xfa, 0x81, 0xd6, 0x0b, 0x81, 0x41, 0x9d,
-    0x82, 0xac, 0x80, 0x42, 0x84, 0x81, 0xc9, 0x81,
-    0x45, 0x2a, 0x84, 0x60, 0x45, 0xf8, 0x81, 0x40,
-    0x84, 0x80, 0xc0, 0x82, 0x89, 0x80, 0x43, 0x51,
+    0xf8, 0x80, 0x60, 0x52, 0x25, 0x01, 0x81, 0xb8,
+    0x10, 0x83, 0x40, 0xa8, 0x80, 0x89, 0x00, 0x80,
+    0x8a, 0x0a, 0x80, 0xc0, 0x01, 0x80, 0x44, 0x39,
+    0x80, 0xaf, 0x80, 0x44, 0x85, 0x80, 0x40, 0xc6,
+    0x80, 0x41, 0x35, 0x81, 0x40, 0x97, 0x85, 0xc3,
+    0x85, 0xd8, 0x83, 0x43, 0xb7, 0x84, 0xab, 0x83,
+    0x40, 0xbc, 0x86, 0xef, 0x83, 0xfe, 0x82, 0x40,
+    0x80, 0x0d, 0x80, 0x8f, 0x81, 0xd7, 0x84, 0xeb,
+    0x80, 0x41, 0x29, 0x81, 0xf4, 0x82, 0x8b, 0x81,
+    0x41, 0x65, 0x1a, 0x8e, 0xe8, 0x81, 0x40, 0xf8,
+    0x82, 0x42, 0x04, 0x00, 0x80, 0x40, 0xfa, 0x81,
+    0xd6, 0x0b, 0x81, 0x41, 0x9d, 0x82, 0xac, 0x80,
+    0x42, 0x84, 0x81, 0xc9, 0x81, 0x45, 0x2a, 0x84,
+    0x60, 0x45, 0xf8, 0x81, 0x40, 0x84, 0x80, 0xc0,
+    0x82, 0x89, 0x80, 0x42, 0x28, 0x81, 0x41, 0x26,
     0x81, 0x60, 0x4e, 0x05, 0x80, 0x5d, 0xe6, 0x83,
 };
 
-static const uint8_t unicode_prop_Unified_Ideograph_table[45] = {
+static const uint8_t unicode_prop_Unified_Ideograph_table[48] = {
     0x60, 0x33, 0xff, 0x59, 0xbf, 0xbf, 0x60, 0x51,
     0xff, 0x60, 0x5a, 0x0d, 0x08, 0x00, 0x81, 0x89,
     0x00, 0x00, 0x09, 0x82, 0x61, 0x05, 0xd5, 0x60,
     0xa6, 0xdf, 0x9f, 0x50, 0x39, 0x85, 0x40, 0xdd,
-    0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x54, 0x1e,
-    0x53, 0x4a, 0x84, 0x50, 0x5f,
+    0x81, 0x56, 0x81, 0x8d, 0x5d, 0x30, 0x8e, 0x42,
+    0x6d, 0x51, 0xa1, 0x53, 0x4a, 0x84, 0x50, 0x5f,
 };
 
 static const uint8_t unicode_prop_Variation_Selector_table[13] = {
@@ -4188,7 +4348,7 @@ static const uint8_t unicode_prop_Bidi_Mirrored_table[173] = {
     0x89, 0x81, 0xb5, 0x81, 0x8d, 0x81, 0x40, 0xb0,
     0x80, 0x40, 0xbf, 0x1a, 0x2a, 0x02, 0x0a, 0x18,
     0x18, 0x00, 0x03, 0x88, 0x20, 0x80, 0x91, 0x23,
-    0x88, 0x08, 0x00, 0x39, 0x9e, 0x0b, 0x20, 0x88,
+    0x88, 0x08, 0x00, 0x38, 0x9f, 0x0b, 0x20, 0x88,
     0x09, 0x92, 0x21, 0x88, 0x21, 0x0b, 0x97, 0x81,
     0x8f, 0x3b, 0x93, 0x0e, 0x81, 0x44, 0x3c, 0x8d,
     0xc9, 0x01, 0x18, 0x08, 0x14, 0x1c, 0x12, 0x8d,
@@ -4206,7 +4366,7 @@ static const uint8_t unicode_prop_Bidi_Mirrored_table[173] = {
     0x80, 0xb8, 0x80, 0xb8, 0x80,
 };
 
-static const uint8_t unicode_prop_Emoji_table[239] = {
+static const uint8_t unicode_prop_Emoji_table[238] = {
     0xa2, 0x05, 0x04, 0x89, 0xee, 0x03, 0x80, 0x5f,
     0x8c, 0x80, 0x8b, 0x80, 0x40, 0xd7, 0x80, 0x95,
     0x80, 0xd9, 0x85, 0x8e, 0x81, 0x41, 0x6e, 0x81,
@@ -4235,8 +4395,8 @@ static const uint8_t unicode_prop_Emoji_table[239] = {
     0x02, 0x05, 0xd5, 0xaf, 0xc5, 0x27, 0x0a, 0x83,
     0x89, 0x10, 0x01, 0x10, 0x81, 0x89, 0x40, 0xe2,
     0x8b, 0x18, 0x41, 0x1a, 0xae, 0x80, 0x89, 0x80,
-    0x40, 0xb8, 0xef, 0x8c, 0x82, 0x88, 0x86, 0xad,
-    0x06, 0x87, 0x8d, 0x83, 0x88, 0x86, 0x88,
+    0x40, 0xb8, 0xef, 0x8c, 0x82, 0x89, 0x84, 0xb7,
+    0x86, 0x8e, 0x81, 0x8a, 0x85, 0x88,
 };
 
 static const uint8_t unicode_prop_Emoji_Component_table[28] = {
@@ -4262,7 +4422,7 @@ static const uint8_t unicode_prop_Emoji_Modifier_Base_table[71] = {
     0x10, 0x8c, 0x40, 0xe4, 0x82, 0xa9, 0x88,
 };
 
-static const uint8_t unicode_prop_Emoji_Presentation_table[145] = {
+static const uint8_t unicode_prop_Emoji_Presentation_table[144] = {
     0x60, 0x23, 0x19, 0x81, 0x40, 0xcc, 0x1a, 0x01,
     0x80, 0x42, 0x08, 0x81, 0x94, 0x81, 0xb1, 0x8b,
     0xaa, 0x80, 0x92, 0x80, 0x8c, 0x07, 0x81, 0x90,
@@ -4279,9 +4439,8 @@ static const uint8_t unicode_prop_Emoji_Presentation_table[145] = {
     0x80, 0x99, 0x81, 0x8c, 0x80, 0xd5, 0xd4, 0xaf,
     0xc5, 0x28, 0x12, 0x0a, 0x1b, 0x8a, 0x0e, 0x88,
     0x40, 0xe2, 0x8b, 0x18, 0x41, 0x1a, 0xae, 0x80,
-    0x89, 0x80, 0x40, 0xb8, 0xef, 0x8c, 0x82, 0x88,
-    0x86, 0xad, 0x06, 0x87, 0x8d, 0x83, 0x88, 0x86,
-    0x88,
+    0x89, 0x80, 0x40, 0xb8, 0xef, 0x8c, 0x82, 0x89,
+    0x84, 0xb7, 0x86, 0x8e, 0x81, 0x8a, 0x85, 0x88,
 };
 
 static const uint8_t unicode_prop_Extended_Pictographic_table[156] = {
@@ -4341,11 +4500,13 @@ typedef enum {
     UNICODE_PROP_Diacritic,
     UNICODE_PROP_Extender,
     UNICODE_PROP_Hex_Digit,
+    UNICODE_PROP_IDS_Unary_Operator,
     UNICODE_PROP_IDS_Binary_Operator,
     UNICODE_PROP_IDS_Trinary_Operator,
     UNICODE_PROP_Ideographic,
     UNICODE_PROP_Join_Control,
     UNICODE_PROP_Logical_Order_Exception,
+    UNICODE_PROP_Modifier_Combining_Mark,
     UNICODE_PROP_Noncharacter_Code_Point,
     UNICODE_PROP_Pattern_Syntax,
     UNICODE_PROP_Pattern_White_Space,
@@ -4382,6 +4543,9 @@ typedef enum {
     UNICODE_PROP_Grapheme_Base,
     UNICODE_PROP_Grapheme_Extend,
     UNICODE_PROP_ID_Continue,
+    UNICODE_PROP_ID_Compat_Math_Start,
+    UNICODE_PROP_ID_Compat_Math_Continue,
+    UNICODE_PROP_InCB,
     UNICODE_PROP_Lowercase,
     UNICODE_PROP_Math,
     UNICODE_PROP_Uppercase,
@@ -4399,11 +4563,13 @@ static const char unicode_prop_name_table[] =
     "Diacritic,Dia"                      "\0"
     "Extender,Ext"                       "\0"
     "Hex_Digit,Hex"                      "\0"
+    "IDS_Unary_Operator,IDSU"            "\0"
     "IDS_Binary_Operator,IDSB"           "\0"
     "IDS_Trinary_Operator,IDST"          "\0"
     "Ideographic,Ideo"                   "\0"
     "Join_Control,Join_C"                "\0"
     "Logical_Order_Exception,LOE"        "\0"
+    "Modifier_Combining_Mark,MCM"        "\0"
     "Noncharacter_Code_Point,NChar"      "\0"
     "Pattern_Syntax,Pat_Syn"             "\0"
     "Pattern_White_Space,Pat_WS"         "\0"
@@ -4440,6 +4606,9 @@ static const char unicode_prop_name_table[] =
     "Grapheme_Base,Gr_Base"              "\0"
     "Grapheme_Extend,Gr_Ext"             "\0"
     "ID_Continue,IDC"                    "\0"
+    "ID_Compat_Math_Start"               "\0"
+    "ID_Compat_Math_Continue"            "\0"
+    "InCB"                               "\0"
     "Lowercase,Lower"                    "\0"
     "Math"                               "\0"
     "Uppercase,Upper"                    "\0"
@@ -4471,11 +4640,13 @@ static const uint8_t * const unicode_prop_table[] = {
     unicode_prop_Diacritic_table,
     unicode_prop_Extender_table,
     unicode_prop_Hex_Digit_table,
+    unicode_prop_IDS_Unary_Operator_table,
     unicode_prop_IDS_Binary_Operator_table,
     unicode_prop_IDS_Trinary_Operator_table,
     unicode_prop_Ideographic_table,
     unicode_prop_Join_Control_table,
     unicode_prop_Logical_Order_Exception_table,
+    unicode_prop_Modifier_Combining_Mark_table,
     unicode_prop_Noncharacter_Code_Point_table,
     unicode_prop_Pattern_Syntax_table,
     unicode_prop_Pattern_White_Space_table,
@@ -4524,11 +4695,13 @@ static const uint16_t unicode_prop_len_table[] = {
     countof(unicode_prop_Diacritic_table),
     countof(unicode_prop_Extender_table),
     countof(unicode_prop_Hex_Digit_table),
+    countof(unicode_prop_IDS_Unary_Operator_table),
     countof(unicode_prop_IDS_Binary_Operator_table),
     countof(unicode_prop_IDS_Trinary_Operator_table),
     countof(unicode_prop_Ideographic_table),
     countof(unicode_prop_Join_Control_table),
     countof(unicode_prop_Logical_Order_Exception_table),
+    countof(unicode_prop_Modifier_Combining_Mark_table),
     countof(unicode_prop_Noncharacter_Code_Point_table),
     countof(unicode_prop_Pattern_Syntax_table),
     countof(unicode_prop_Pattern_White_Space_table),
@@ -4554,4 +4727,4 @@ static const uint16_t unicode_prop_len_table[] = {
 };
 
 #endif /* CONFIG_ALL_UNICODE */
-/* 62 tables / 32261 bytes, 5 index / 345 bytes */
+/* 64 tables / 33442 bytes, 5 index / 351 bytes */
index 79e886ee0947086efae493954e21af66fb9e23fc..7289bcbd57668e33fc4d8a4da0d2ec4817dfff0a 100644 (file)
@@ -61,7 +61,6 @@ Array.fromAsync=skip
 Array.prototype.at
 Array.prototype.flat
 Array.prototype.flatMap
-Array.prototype.flatten
 Array.prototype.includes
 Array.prototype.values
 ArrayBuffer
@@ -70,9 +69,11 @@ arrow-function
 async-functions
 async-iteration
 Atomics
+Atomics.pause=skip
 Atomics.waitAsync=skip
 BigInt
 caller
+canonical-tz=skip
 change-array-by-copy
 class
 class-fields-private
@@ -83,7 +84,6 @@ class-static-block
 class-static-fields-private
 class-static-fields-public
 class-static-methods-private
-cleanupSome=skip
 coalesce-expression
 computed-property-names
 const
@@ -103,11 +103,12 @@ destructuring-assignment
 destructuring-binding
 dynamic-import
 error-cause
+Error.isError=skip
+explicit-resource-management=skip
 exponentiation
 export-star-as-namespace-from-module
-FinalizationGroup=skip
-FinalizationRegistry.prototype.cleanupSome=skip
 FinalizationRegistry=skip
+Float16Array=skip
 Float32Array
 Float64Array
 for-in-order
@@ -118,12 +119,31 @@ hashbang
 host-gc-required=skip
 import-assertions=skip
 import-attributes=skip
+import-defer=skip
 import.meta
 Int16Array
 Int32Array
 Int8Array
+Intl-enumeration=skip
+intl-normative-optional=skip
+Intl.DateTimeFormat-datetimestyle=skip
+Intl.DateTimeFormat-dayPeriod=skip
+Intl.DateTimeFormat-extend-timezonename=skip
+Intl.DateTimeFormat-formatRange=skip
+Intl.DateTimeFormat-fractionalSecondDigits=skip
+Intl.DisplayNames-v2=skip
+Intl.DisplayNames=skip
+Intl.DurationFormat=skip
+Intl.ListFormat=skip
+Intl.Locale-info=skip
+Intl.Locale=skip
+Intl.NumberFormat-unified=skip
+Intl.NumberFormat-v3=skip
+Intl.RelativeTimeFormat=skip
+Intl.Segmenter=skip
 IsHTMLDDA
 iterator-helpers=skip
+iterator-sequencing=skip
 json-modules=skip
 json-parse-with-source=skip
 json-superset
@@ -131,6 +151,7 @@ legacy-regexp=skip
 let
 logical-assignment-operators
 Map
+Math.sumPrecise=skip
 new.target
 numeric-separator-literal
 object-rest
@@ -141,6 +162,7 @@ Object.is
 optional-catch-binding
 optional-chaining
 Promise
+promise-try=skip
 promise-with-resolvers
 Promise.allSettled
 Promise.any
@@ -155,15 +177,19 @@ regexp-dotall
 regexp-duplicate-named-groups=skip
 regexp-lookbehind
 regexp-match-indices
+regexp-modifiers=skip
 regexp-named-groups
 regexp-unicode-property-escapes
 regexp-v-flag=skip
+RegExp.escape=skip
 resizable-arraybuffer=skip
 rest-parameters
 Set
 set-methods=skip
 ShadowRealm=skip
 SharedArrayBuffer
+source-phase-imports-module-source=skip
+source-phase-imports=skip
 string-trimming
 String.fromCodePoint
 String.prototype.at
@@ -202,6 +228,7 @@ u180e
 Uint16Array
 Uint32Array
 Uint8Array
+uint8array-base64=skip
 Uint8ClampedArray
 WeakMap
 WeakRef=skip
@@ -223,5 +250,8 @@ test262/test/built-ins/ThrowTypeError/unique-per-realm-function-proto.js
 #test262/test/built-ins/RegExp/CharacterClassEscapes/
 #test262/test/built-ins/RegExp/property-escapes/
 
+# frequently broken, sometimes contain engine-dependent tests
+test262/test/staging/
+
 [tests]
 # list test files or use config.testdir
index ba8d27cba854be4853d836399d171b2b9f7f5d6f..93acea5437eaa21386d8e1f63da700c0ce8ba998 100644 (file)
@@ -22,7 +22,7 @@ index 9828b15..4a5919d 100644
  
  /**
 diff --git a/harness/regExpUtils.js b/harness/regExpUtils.js
-index b55f3c6..396bad4 100644
+index b397be0..c197ddc 100644
 --- a/harness/regExpUtils.js
 +++ b/harness/regExpUtils.js
 @@ -6,27 +6,30 @@ description: |
@@ -51,21 +51,20 @@ index b55f3c6..396bad4 100644
    const loneCodePoints = args.loneCodePoints;
    const ranges = args.ranges;
 -  const CHUNK_SIZE = 10000;
--  let result = Reflect.apply(String.fromCodePoint, null, loneCodePoints);
+   let result = String.fromCodePoint.apply(null, loneCodePoints);
 -  for (let i = 0; i < ranges.length; i++) {
--    const range = ranges[i];
--    const start = range[0];
--    const end = range[1];
--    const codePoints = [];
+-    let range = ranges[i];
+-    let start = range[0];
+-    let end = range[1];
+-    let codePoints = [];
 -    for (let length = 0, codePoint = start; codePoint <= end; codePoint++) {
 -      codePoints[length++] = codePoint;
 -      if (length === CHUNK_SIZE) {
--        result += Reflect.apply(String.fromCodePoint, null, codePoints);
+-        result += String.fromCodePoint.apply(null, codePoints);
 -        codePoints.length = length = 0;
 -      }
 -    }
--    result += Reflect.apply(String.fromCodePoint, null, codePoints);
-+  let result = String.fromCodePoint.apply(null, loneCodePoints);
+-    result += String.fromCodePoint.apply(null, codePoints);
 +  for (const [start, end] of ranges) {
 +    result += codePointRange(start, end + 1);
    }
index 222925e1ec575b3aaca8843c396622f07ca7f839..e259891b398566e3577c4087872208217b003422 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 set -e
 
-url="ftp://ftp.unicode.org/Public/15.0.0/ucd"
+url="ftp://ftp.unicode.org/Public/16.0.0/ucd"
 emoji_url="${url}/emoji/emoji-data.txt"
 
 files="CaseFolding.txt DerivedNormalizationProps.txt PropList.txt \
index 4f38052bea0bd732319f8295e17b77d5bce6b751..0f11ef8fab528591619aedab1a79c28233aba556 100644 (file)
@@ -625,7 +625,7 @@ void parse_derived_core_properties(const char *filename)
             p++;
             p += strspn(p, " \t");
             q = buf;
-            while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t') {
+            while (*p != '\0' && *p != ' ' && *p != '#' && *p != '\t' && *p != ';') {
                 if ((q - buf) < sizeof(buf) - 1)
                     *q++ = *p;
                 p++;
@@ -1117,6 +1117,24 @@ void find_run_type(TableEntry *te, CCInfo *tab, int code)
             te->ext_data[1] = ci->u_data[1];
             te->ext_data[2] = ci->u_data[2];
             te->ext_len = 3;
+        } else if (ci->u_len == 2 && ci->l_len == 0 && ci->f_len == 1) {
+            // U+FB05 LATIN SMALL LIGATURE LONG S T
+            assert(code == 0xFB05);
+            te->len = 1;
+            te->type = RUN_TYPE_UF_EXT2;
+            te->ext_data[0] = ci->u_data[0];
+            te->ext_data[1] = ci->u_data[1];
+            te->ext_len = 2;
+        } else if (ci->u_len == 3 && ci->l_len == 0 && ci->f_len == 1) {
+            // U+1FD3 GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA or
+            // U+1FE3 GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+            assert(code == 0x1FD3 || code == 0x1FE3);
+            te->len = 1;
+            te->type = RUN_TYPE_UF_EXT3;
+            te->ext_data[0] = ci->u_data[0];
+            te->ext_data[1] = ci->u_data[1];
+            te->ext_data[2] = ci->u_data[2];
+            te->ext_len = 3;
         } else {
             printf("unsupported encoding case:\n");
             dump_cc_info(ci, code);
index e7c2464ecc152cc2578007d8f27e44a3360ab21f..f2a32168ed15e76eab08bc58f7b91c4b4b533539 100644 (file)
@@ -82,6 +82,7 @@ DEF(Egyptian_Hieroglyphs, "Egyp")
 DEF(Elbasan, "Elba")
 DEF(Elymaic, "Elym")
 DEF(Ethiopic, "Ethi")
+DEF(Garay, "Gara")
 DEF(Georgian, "Geor")
 DEF(Glagolitic, "Glag")
 DEF(Gothic, "Goth")
@@ -90,6 +91,7 @@ DEF(Greek, "Grek")
 DEF(Gujarati, "Gujr")
 DEF(Gunjala_Gondi, "Gong")
 DEF(Gurmukhi, "Guru")
+DEF(Gurung_Khema, "Gukh")
 DEF(Han, "Hani")
 DEF(Hangul, "Hang")
 DEF(Hanifi_Rohingya, "Rohg")
@@ -112,6 +114,7 @@ DEF(Khmer, "Khmr")
 DEF(Khojki, "Khoj")
 DEF(Khitan_Small_Script, "Kits")
 DEF(Khudawadi, "Sind")
+DEF(Kirat_Rai, "Krai")
 DEF(Lao, "Laoo")
 DEF(Latin, "Latn")
 DEF(Lepcha, "Lepc")
@@ -149,6 +152,7 @@ DEF(Nushu, "Nshu")
 DEF(Nyiakeng_Puachue_Hmong, "Hmnp")
 DEF(Ogham, "Ogam")
 DEF(Ol_Chiki, "Olck")
+DEF(Ol_Onal, "Onao")
 DEF(Old_Hungarian, "Hung")
 DEF(Old_Italic, "Ital")
 DEF(Old_North_Arabian, "Narb")
@@ -180,6 +184,7 @@ DEF(Sogdian, "Sogd")
 DEF(Sora_Sompeng, "Sora")
 DEF(Soyombo, "Soyo")
 DEF(Sundanese, "Sund")
+DEF(Sunuwar, "Sunu")
 DEF(Syloti_Nagri, "Sylo")
 DEF(Syriac, "Syrc")
 DEF(Tagalog, "Tglg")
@@ -197,7 +202,9 @@ DEF(Tibetan, "Tibt")
 DEF(Tifinagh, "Tfng")
 DEF(Tirhuta, "Tirh")
 DEF(Tangsa, "Tnsa")
+DEF(Todhri, "Todr")
 DEF(Toto, "Toto")
+DEF(Tulu_Tigalari, "Tutg")
 DEF(Ugaritic, "Ugar")
 DEF(Vai, "Vaii")
 DEF(Vithkuqi, "Vith")
@@ -236,11 +243,13 @@ DEF(Deprecated, "Dep")
 DEF(Diacritic, "Dia")
 DEF(Extender, "Ext")
 DEF(Hex_Digit, "Hex")
+DEF(IDS_Unary_Operator, "IDSU")
 DEF(IDS_Binary_Operator, "IDSB")
 DEF(IDS_Trinary_Operator, "IDST")
 DEF(Ideographic, "Ideo")
 DEF(Join_Control, "Join_C")
 DEF(Logical_Order_Exception, "LOE")
+DEF(Modifier_Combining_Mark, "MCM")
 DEF(Noncharacter_Code_Point, "NChar")
 DEF(Pattern_Syntax, "Pat_Syn")
 DEF(Pattern_White_Space, "Pat_WS")
@@ -279,6 +288,9 @@ DEF(Changes_When_Uppercased, "CWU")
 DEF(Grapheme_Base, "Gr_Base")
 DEF(Grapheme_Extend, "Gr_Ext")
 DEF(ID_Continue, "IDC")
+DEF(ID_Compat_Math_Start, "")
+DEF(ID_Compat_Math_Continue, "")
+DEF(InCB, "")
 DEF(Lowercase, "Lower")
 DEF(Math, "")
 DEF(Uppercase, "Upper")