Test: Catch SIGUSR1 from Xvfb for X11 tests
[platform/upstream/libxkbcommon.git] / src / ks_tables.h
index dde7bde..c96afad 100644 (file)
@@ -613,6 +613,11 @@ static const char *keysym_names =
     "Codeinput\0"
     "colon\0"
     "ColonSign\0"
+    "combining_acute\0"
+    "combining_belowdot\0"
+    "combining_grave\0"
+    "combining_hook\0"
+    "combining_tilde\0"
     "comma\0"
     "containsas\0"
     "Control_L\0"
@@ -2203,10 +2208,23 @@ static const char *keysym_names =
     "x\0"
     "Xabovedot\0"
     "xabovedot\0"
+    "XF8610ChannelsDown\0"
+    "XF8610ChannelsUp\0"
+    "XF863DMode\0"
     "XF86AddFavorite\0"
+    "XF86Addressbook\0"
+    "XF86ALSToggle\0"
     "XF86ApplicationLeft\0"
     "XF86ApplicationRight\0"
+    "XF86AppSelect\0"
+    "XF86AspectRatio\0"
+    "XF86Assistant\0"
+    "XF86AttendantOff\0"
+    "XF86AttendantOn\0"
+    "XF86AttendantToggle\0"
+    "XF86Audio\0"
     "XF86AudioCycleTrack\0"
+    "XF86AudioDesc\0"
     "XF86AudioForward\0"
     "XF86AudioLowerVolume\0"
     "XF86AudioMedia\0"
@@ -2230,40 +2248,85 @@ static const char *keysym_names =
     "XF86Blue\0"
     "XF86Bluetooth\0"
     "XF86Book\0"
+    "XF86Break\0"
     "XF86BrightnessAdjust\0"
+    "XF86BrightnessAuto\0"
+    "XF86BrightnessMax\0"
+    "XF86BrightnessMin\0"
+    "XF86Buttonconfig\0"
     "XF86Calculater\0"
     "XF86Calculator\0"
     "XF86Calendar\0"
+    "XF86CameraDown\0"
+    "XF86CameraFocus\0"
+    "XF86CameraLeft\0"
+    "XF86CameraRight\0"
+    "XF86CameraUp\0"
+    "XF86CameraZoomIn\0"
+    "XF86CameraZoomOut\0"
     "XF86CD\0"
+    "XF86ChannelDown\0"
+    "XF86ChannelUp\0"
     "XF86Clear\0"
     "XF86ClearGrab\0"
     "XF86Close\0"
     "XF86Community\0"
+    "XF86ContextMenu\0"
     "XF86ContrastAdjust\0"
+    "XF86ControlPanel\0"
     "XF86Copy\0"
     "XF86Cut\0"
     "XF86CycleAngle\0"
+    "XF86Data\0"
+    "XF86Database\0"
+    "XF86Dictate\0"
     "XF86Display\0"
+    "XF86DisplayOff\0"
+    "XF86DisplayToggle\0"
     "XF86Documents\0"
     "XF86DOS\0"
+    "XF86DVD\0"
+    "XF86Editor\0"
     "XF86Eject\0"
+    "XF86EmojiPicker\0"
     "XF86Excel\0"
     "XF86Explorer\0"
+    "XF86FastReverse\0"
     "XF86Favorites\0"
     "XF86Finance\0"
+    "XF86Fn\0"
+    "XF86Fn_Esc\0"
+    "XF86FnRightShift\0"
     "XF86Forward\0"
     "XF86FrameBack\0"
     "XF86FrameForward\0"
+    "XF86FullScreen\0"
     "XF86Game\0"
     "XF86Go\0"
+    "XF86GraphicsEditor\0"
     "XF86Green\0"
+    "XF86HangupPhone\0"
     "XF86Hibernate\0"
     "XF86History\0"
     "XF86HomePage\0"
     "XF86HotLinks\0"
+    "XF86Images\0"
+    "XF86Info\0"
     "XF86iTouch\0"
+    "XF86Journal\0"
     "XF86KbdBrightnessDown\0"
     "XF86KbdBrightnessUp\0"
+    "XF86KbdInputAssistAccept\0"
+    "XF86KbdInputAssistCancel\0"
+    "XF86KbdInputAssistNext\0"
+    "XF86KbdInputAssistNextgroup\0"
+    "XF86KbdInputAssistPrev\0"
+    "XF86KbdInputAssistPrevgroup\0"
+    "XF86KbdLcdMenu1\0"
+    "XF86KbdLcdMenu2\0"
+    "XF86KbdLcdMenu3\0"
+    "XF86KbdLcdMenu4\0"
+    "XF86KbdLcdMenu5\0"
     "XF86KbdLightOnOff\0"
     "XF86Keyboard\0"
     "XF86Launch0\0"
@@ -2282,13 +2345,54 @@ static const char *keysym_names =
     "XF86LaunchD\0"
     "XF86LaunchE\0"
     "XF86LaunchF\0"
+    "XF86LeftDown\0"
+    "XF86LeftUp\0"
     "XF86LightBulb\0"
+    "XF86LightsToggle\0"
     "XF86LogGrabInfo\0"
     "XF86LogOff\0"
     "XF86LogWindowTree\0"
+    "XF86Macro1\0"
+    "XF86Macro10\0"
+    "XF86Macro11\0"
+    "XF86Macro12\0"
+    "XF86Macro13\0"
+    "XF86Macro14\0"
+    "XF86Macro15\0"
+    "XF86Macro16\0"
+    "XF86Macro17\0"
+    "XF86Macro18\0"
+    "XF86Macro19\0"
+    "XF86Macro2\0"
+    "XF86Macro20\0"
+    "XF86Macro21\0"
+    "XF86Macro22\0"
+    "XF86Macro23\0"
+    "XF86Macro24\0"
+    "XF86Macro25\0"
+    "XF86Macro26\0"
+    "XF86Macro27\0"
+    "XF86Macro28\0"
+    "XF86Macro29\0"
+    "XF86Macro3\0"
+    "XF86Macro30\0"
+    "XF86Macro4\0"
+    "XF86Macro5\0"
+    "XF86Macro6\0"
+    "XF86Macro7\0"
+    "XF86Macro8\0"
+    "XF86Macro9\0"
+    "XF86MacroPreset1\0"
+    "XF86MacroPreset2\0"
+    "XF86MacroPreset3\0"
+    "XF86MacroPresetCycle\0"
+    "XF86MacroRecordStart\0"
+    "XF86MacroRecordStop\0"
     "XF86Mail\0"
     "XF86MailForward\0"
     "XF86Market\0"
+    "XF86MediaRepeat\0"
+    "XF86MediaTopMenu\0"
     "XF86Meeting\0"
     "XF86Memo\0"
     "XF86MenuKB\0"
@@ -2304,44 +2408,77 @@ static const char *keysym_names =
     "XF86New\0"
     "XF86News\0"
     "XF86Next_VMode\0"
+    "XF86NextFavorite\0"
+    "XF86NotificationCenter\0"
+    "XF86Numeric0\0"
+    "XF86Numeric1\0"
+    "XF86Numeric11\0"
+    "XF86Numeric12\0"
+    "XF86Numeric2\0"
+    "XF86Numeric3\0"
+    "XF86Numeric4\0"
+    "XF86Numeric5\0"
+    "XF86Numeric6\0"
+    "XF86Numeric7\0"
+    "XF86Numeric8\0"
+    "XF86Numeric9\0"
+    "XF86NumericA\0"
+    "XF86NumericB\0"
+    "XF86NumericC\0"
+    "XF86NumericD\0"
+    "XF86NumericPound\0"
+    "XF86NumericStar\0"
     "XF86OfficeHome\0"
+    "XF86OnScreenKeyboard\0"
     "XF86Open\0"
     "XF86OpenURL\0"
     "XF86Option\0"
     "XF86Paste\0"
+    "XF86PauseRecord\0"
     "XF86Phone\0"
+    "XF86PickupPhone\0"
     "XF86Pictures\0"
     "XF86PowerDown\0"
     "XF86PowerOff\0"
+    "XF86Presentation\0"
     "XF86Prev_VMode\0"
+    "XF86PrivacyScreenToggle\0"
     "XF86Q\0"
     "XF86Red\0"
     "XF86Refresh\0"
     "XF86Reload\0"
     "XF86Reply\0"
     "XF86RFKill\0"
+    "XF86RightDown\0"
+    "XF86RightUp\0"
     "XF86RockerDown\0"
     "XF86RockerEnter\0"
     "XF86RockerUp\0"
+    "XF86RootMenu\0"
     "XF86RotateWindows\0"
     "XF86RotationKB\0"
     "XF86RotationLockToggle\0"
     "XF86RotationPB\0"
     "XF86Save\0"
     "XF86ScreenSaver\0"
+    "XF86Screensaver\0"
     "XF86ScrollClick\0"
     "XF86ScrollDown\0"
     "XF86ScrollUp\0"
     "XF86Search\0"
     "XF86Select\0"
+    "XF86SelectiveScreenshot\0"
     "XF86Send\0"
     "XF86Shop\0"
     "XF86Sleep\0"
+    "XF86SlowReverse\0"
     "XF86Spell\0"
+    "XF86SpellCheck\0"
     "XF86SplitScreen\0"
     "XF86Standby\0"
     "XF86Start\0"
     "XF86Stop\0"
+    "XF86StopRecord\0"
     "XF86Subtitle\0"
     "XF86Support\0"
     "XF86Suspend\0"
@@ -2357,6 +2494,7 @@ static const char *keysym_names =
     "XF86Switch_VT_7\0"
     "XF86Switch_VT_8\0"
     "XF86Switch_VT_9\0"
+    "XF86Taskmanager\0"
     "XF86TaskPane\0"
     "XF86Terminal\0"
     "XF86Time\0"
@@ -2368,24 +2506,31 @@ static const char *keysym_names =
     "XF86TouchpadToggle\0"
     "XF86Travel\0"
     "XF86Ungrab\0"
+    "XF86Unmute\0"
     "XF86User1KB\0"
     "XF86User2KB\0"
     "XF86UserPB\0"
     "XF86UWB\0"
     "XF86VendorHome\0"
     "XF86Video\0"
+    "XF86VideoPhone\0"
     "XF86View\0"
+    "XF86VOD\0"
+    "XF86VoiceCommand\0"
+    "XF86Voicemail\0"
     "XF86WakeUp\0"
     "XF86WebCam\0"
     "XF86WheelButton\0"
     "XF86WLAN\0"
     "XF86Word\0"
+    "XF86WPSButton\0"
     "XF86WWAN\0"
     "XF86WWW\0"
     "XF86Xfer\0"
     "XF86Yellow\0"
     "XF86ZoomIn\0"
     "XF86ZoomOut\0"
+    "XF86ZoomReset\0"
     "Y\0"
     "y\0"
     "Yacute\0"
@@ -2423,6 +2568,322 @@ static const char *keysym_names =
 #pragma GCC diagnostic pop
 #endif
 
+static const uint16_t keysym_name_G[] = {
+    0, 4563, 0, 0, 0, 2484, 2083, 0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 3420, 0, 3962, 0, 0, 0, 0, 0, 0, 2097, 96, 0, 0,
+    0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3572, 408, 0,
+    1013, 1971, 0, 371, 1609, 0, 0, 0, 0, 0, 0, 273, 407, 0, 0, 0, 0, 0, 0,
+    1940, 4382, 0, 455, 0, 0, 499, 1170, 0, 2533, 0, 0, 0, 0, 3968, 0, 0,
+    0, 0, 0, 0, 1385, 4046, 1302, 0, 0, 0, 0, 0, 0, 2752, 0, 0, 0, 0, 0, 0,
+    3754, 0, 0, 1648, 0, 1359, 2082, 0, 0, 0, 0, 0, 0, 3646, 345, 0, 0, 0,
+    0, 284, 0, 2566, 983, 403, 2955, 0, 826, 2528, 0, 3912, 0, 0, 0, 745,
+    0, 0, 0, 2038, 362, 3338, 0, 0, 0, 0, 1899, 0, 0, 4215, 2690, 0, 0,
+    2011, 0, 0, 0, 74, 3838, 0, 0, 4412, 574, 0, 0, 454, 4069, 2898, 0, 0,
+    1826, 0, 3104, 0, 0, 0, 0, 0, 1581, 2521, 0, 0, 0, 0, 0, 0, 0, 0, 800,
+    0, 184, 0, 0, 4401, 3776, 0, 4431, 0, 0, 0, 221, 1934, 3309, 0, 0, 0,
+    0, 533, 0, 0, 0, 0, 3912, 2426, 0, 0, 0, 0, 0, 0, 3063, 0, 1133, 1015,
+    0, 0, 0, 0, 0, 0, 467, 0, 1035, 2487, 1866, 50, 3959, 0, 2851, 0, 0, 0,
+    1140, 0, 3620, 2760, 2178, 4119, 0, 3941, 1692, 0, 4566, 0, 685, 862,
+    3302, 0, 0, 719, 479, 0, 0, 693, 0, 0, 0, 2001, 0, 2396, 0, 0, 3492,
+    298, 0, 0, 0, 0, 3129, 180, 4143, 742, 45, 0, 3340, 0, 0, 0, 0, 973, 0,
+    0, 0, 0, 2700, 0, 2799, 0, 1056, 1071, 4548, 421, 266, 0, 0, 0, 0, 0,
+    1429, 1022, 0, 1918, 3084, 0, 0, 1225, 2225, 1657, 852, 0, 0, 0, 1581,
+    0, 0, 4197, 0, 0, 234, 0, 3748, 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 303,
+    216, 3998, 0, 0, 0, 0, 1652, 0, 0, 0, 0, 1510, 776, 4426, 0, 380, 0, 0,
+    0, 0, 0, 0, 0, 0, 1507, 0, 1405, 0, 0, 922, 816, 1828, 0, 3745, 1803,
+    0, 1195, 0, 0, 466, 0, 2229, 0, 0, 1054, 220, 0, 0, 2587, 0, 1687, 0,
+    0, 814, 430, 1676, 0, 2584, 1323, 0, 2346, 0, 3935, 0, 305, 0, 0, 0, 0,
+    0, 429, 0, 612, 614, 0, 2226, 0, 1075, 0, 0, 4287, 0, 2862, 0, 0, 1809,
+    4425, 3368, 1573, 1803, 0, 2337, 0, 0, 3506, 0, 0, 663, 0, 3025, 3499,
+    0, 0, 0, 0, 3971, 44, 0, 0, 0, 643, 0, 0, 1468, 0, 2120, 1133, 3189, 0,
+    1808, 135, 0, 3353, 0, 0, 0, 0, 0, 383, 0, 0, 0, 2247, 0, 2705, 2148,
+    0, 51, 55, 0, 0, 0, 1458, 0, 0, 2380, 0, 0, 0, 0, 519, 0, 3136, 3343,
+    0, 0, 0, 4386, 0, 3718, 26, 0, 0, 0, 1863, 0, 4117, 2751, 2014, 3441,
+    4026, 0, 3425, 0, 0, 2210, 0, 2015, 4206, 0, 0, 586, 0, 0, 0, 2240,
+    2247, 0, 0, 4262, 1831, 3498, 0, 222, 0, 0, 0, 0, 334, 2627, 0, 517, 0,
+    0, 0, 0, 1622, 0, 0, 0, 4276, 0, 0, 2391, 0, 462, 3652, 0, 1963, 0, 0,
+    3270, 3012, 1027, 0, 0, 0, 0, 660, 2871, 4388, 2764, 0, 0, 1035, 2266,
+    3917, 0, 0, 2824, 958, 1810, 1002, 0, 3932, 0, 0, 0, 0, 0, 0, 4495, 0,
+    0, 0, 1505, 2354, 4437, 828, 0, 0, 0, 3688, 2633, 0, 2420, 128, 0,
+    3023, 0, 1829, 1607, 360, 750, 0, 2479, 0, 1456, 3284, 2173, 0, 2740,
+    1816, 603, 1862, 0, 0, 0, 3784, 1511, 4507, 0, 435, 0, 0, 0, 0, 0, 616,
+    785, 2747, 0, 3212, 0, 3699, 0, 0, 1815, 1823, 0, 0, 0, 986, 0, 3506,
+    0, 0, 0, 0, 0, 2751, 0, 0, 4211, 138, 0, 3343, 0, 635, 0, 992, 0, 868,
+    282, 0, 0, 0, 2142, 0, 0, 1016, 0, 2354, 4010, 2169, 0, 0, 0, 644, 0,
+    385, 2897, 1676, 3788, 2724, 0, 2625, 1785, 0, 0, 1893, 0, 0, 973, 0,
+    0, 0, 2189, 0, 1133, 3698, 0, 3865, 0, 0, 4356, 0, 4297, 2087, 554, 0,
+    178, 2236, 0, 0, 0, 398, 1353, 422, 0, 1695, 1323, 777, 1129, 0, 0, 75,
+    0, 330, 0, 303, 0, 1816, 0, 0, 0, 0, 0, 0, 576, 198, 4415, 2297, 4119,
+    0, 0, 1245, 0, 0, 0, 1388, 0, 0, 4105, 0, 3, 0, 380, 0, 0, 3321, 0, 0,
+    1187, 2874, 0, 0, 0, 0, 0, 848, 2021, 4363, 0, 1056, 0, 0, 0, 1174, 0,
+    2989, 365, 0, 876, 390, 0, 1762, 0, 0, 1957, 0, 0, 1441, 543, 3981,
+    3986, 486, 617, 502, 923, 0, 1039, 0, 2668, 0, 792, 0, 0, 4049, 0, 0,
+    1345, 0, 3993, 4283, 0, 776, 1157, 1562, 0, 406, 122, 784, 4093, 765,
+    4148, 0, 2481, 0, 605, 0, 0, 4057, 0, 4070, 3307, 1537, 0, 1371, 0,
+    2855, 0, 627, 0, 0, 0, 4140, 0, 2414, 0, 852, 2331, 929, 1938, 0, 0, 0,
+    0, 0, 0, 563, 0, 0, 0, 531, 0, 1728, 0, 1694, 0, 434, 2481, 2903, 0,
+    2372, 0, 3230, 0, 0, 0, 0, 0, 0, 804, 68, 636, 764, 0, 0, 2545, 748, 0,
+    0, 899, 812, 0, 0, 2828, 2208, 0, 0, 2428, 0, 0, 0, 3828, 1380, 639, 0,
+    0, 0, 0, 157, 0, 918, 0, 271, 0, 0, 0, 3084, 0, 4525, 85, 0, 0, 586,
+    3452, 446, 0, 0, 0, 0, 0, 0, 316, 0, 0, 2003, 2060, 0, 0, 0, 1103, 59,
+    0, 436, 0, 498, 0, 1118, 711, 4320, 0, 96, 0, 0, 0, 955, 0, 4488, 0,
+    2774, 0, 0, 4456, 635, 0, 0, 0, 2167, 70, 4548, 474, 30, 0, 887, 213,
+    0, 0, 0, 0, 3025, 0, 537, 472, 0, 943, 0, 0, 0, 0, 146, 0, 0, 223, 680,
+    0, 0, 0, 0, 1993, 0, 0, 225, 1752, 0, 41, 0, 0, 2967, 1682, 3608, 1204,
+    2925, 0, 2764, 3286, 0, 0, 0, 0, 961, 0, 500, 0, 3728, 3671, 271, 0, 0,
+    267, 0, 0, 0, 0, 0, 4573, 496, 3346, 0, 2449, 2606, 0, 717, 0, 798, 0,
+    4397, 2483, 0, 0, 0, 170, 0, 2091, 2534, 0, 3356, 0, 0, 0, 4350, 193,
+    0, 745, 0, 58, 0, 0, 1850, 0, 2955, 1722, 0, 0, 0, 1063, 0, 2108, 1135,
+    4314, 0, 4108, 2721, 3534, 0, 2054, 2012, 0, 0, 0, 0, 1552, 0, 234, 0,
+    1477, 0, 3961, 0, 0, 1824, 856, 1453, 195, 555, 0, 0, 0, 3012, 3904,
+    1925, 610, 2914, 1200, 2318, 2979, 3606, 0, 0, 192, 0, 0, 0, 1410,
+    3067, 1971, 0, 791, 256, 2511, 2369, 2644, 2840, 0, 3667, 2197, 0, 0,
+    2210, 872, 2100, 1361, 0, 0, 0, 0, 1214, 2750, 697, 0, 0, 4228, 1828,
+    4257, 2486, 3279, 0, 0, 1526, 0, 0, 3694, 0, 147, 0, 0, 0, 0, 3370, 0,
+    5, 0, 2197, 37, 0, 0, 1108, 0, 548, 0, 3918, 0, 0, 2726, 1767, 2360, 0,
+    0, 0, 1270, 1080, 0, 0, 2405, 2542, 0, 548, 0, 982, 0, 3873, 0, 1349,
+    0, 3582, 0, 1722, 0, 0, 0, 0, 0, 2257, 2350, 0, 1542, 0, 0, 0, 3583,
+    2794, 0, 3942, 0, 2388, 559, 2149, 0, 0, 0, 0, 870, 0, 801, 1944, 4170,
+    0, 0, 0, 0, 0, 4470, 2332, 2749, 0, 0, 0, 0, 0, 0, 3527, 0, 175, 1805,
+    4141, 2028, 155, 401, 0, 1170, 0, 996, 3706, 4328, 0, 0, 4079, 558,
+    1304, 0, 0, 1731, 0, 2165, 0, 0, 0, 2209, 674, 0, 2912, 456, 153, 4084,
+    0, 1164, 2287, 0, 0, 1901, 2329, 1388, 1454, 736, 450, 3850, 0, 542,
+    1637, 1732, 350, 0, 0, 0, 0, 908, 1581, 0, 0, 0, 0, 4059, 1660, 4393,
+    2351, 0, 254, 0, 0, 0, 2508, 0, 0, 3451, 3716, 0, 3301, 0, 4197, 0, 0,
+    191, 1408, 3273, 1816, 3759, 0, 0, 4374, 0, 0, 2536, 780, 0, 1415,
+    4207, 703, 0, 4338, 1079, 0, 0, 0, 0, 0, 0, 0, 2640, 0, 2878, 0, 0,
+    1330, 0, 0, 0, 1516, 0, 0, 0, 1838, 2396, 0, 0, 0, 194, 0, 0, 3322, 0,
+    2060, 0, 641, 1316, 890, 2706, 0, 3811, 0, 376, 860, 2471, 0, 0, 1951,
+    0, 655, 4033, 0, 0, 3550, 0, 53, 0, 0, 589, 1366, 2862, 0, 0, 0, 0,
+    3566, 0, 0, 2136, 3800, 0, 0, 0, 0, 1415, 2700, 1497, 4360, 1677, 244,
+    0, 289, 3689, 0, 0, 702, 3832, 0, 0, 0, 0, 119, 4408, 942, 0, 0, 0,
+    743, 0, 3789, 2828, 2330, 2034, 0, 0, 3961, 0, 976, 2705, 154, 0, 1196,
+    4540, 0, 0, 3631, 286, 0, 0, 666, 0, 1479, 158, 1721, 0, 0, 2187, 1550,
+    0, 2250, 443, 0, 1033, 2383, 2198, 0, 0, 0, 1302, 4467, 0, 4357, 1713,
+    357, 0, 244, 1582, 453, 0, 4344, 2475, 0, 1574, 2840, 0, 0, 0, 0, 0, 0,
+    0, 0, 4460, 256, 736, 0, 1349, 0, 2398, 1318, 3631, 0, 0, 1027, 876,
+    2121, 0, 0, 0, 0, 0, 0, 1233, 598, 0, 988, 0, 1512, 0, 1383, 2291, 0,
+    0, 0, 2251, 4178, 2310, 1482, 752, 0, 0, 794, 12, 3214, 809, 0, 686, 0,
+    2081, 0, 2907, 698, 0, 1885, 6, 191, 0, 0, 0, 0, 1947, 483, 0, 0, 1250,
+    4527, 1159, 0, 0, 1411, 0, 3332, 2547, 0, 1817, 0, 0, 3642, 0, 221, 0,
+    2642, 2016, 0, 4274, 0, 1727, 0, 0, 66, 0, 3957, 0, 4512, 124, 3158,
+    2453, 2684, 0, 0, 0, 0, 1306, 0, 1831, 356, 0, 2008, 1317, 0, 0, 1178,
+    2193, 0, 2410, 565, 0, 0, 0, 2279, 1198, 0, 2029, 0, 445, 2935, 1357,
+    0, 4547, 3044, 227, 0, 2634, 4295, 0, 0, 2837, 0, 2376, 3282, 392,
+    1848, 0, 907, 1648, 587, 4304, 0, 4350, 252, 2665, 2409, 1854, 624, 0,
+    0, 0, 3021, 0, 0, 0, 0, 0, 2647, 3, 654, 0, 0, 0, 1010, 3006, 0, 0, 0,
+    0, 0, 0, 1881, 1563, 2167, 364, 3643, 0, 0, 688, 0, 0, 1215, 2859, 769,
+    0, 1093, 286, 4260, 829, 0, 3137, 0, 0, 3326, 0, 899, 0, 0, 0, 2422, 0,
+    1464, 1153, 2980, 0, 0, 0, 1037, 0, 0, 703, 1918, 4269, 776, 0, 4382,
+    0, 1336, 3014, 1582, 0, 3564, 0, 2834, 0, 2548, 207, 2623, 851, 0,
+    2410, 0, 1196, 0, 1034, 3215, 2632, 740, 3176, 0, 0, 0, 0, 0, 48, 328,
+    1209, 0, 87, 583, 396, 0, 0, 4403, 2253, 3431, 98, 2405, 0, 4162, 3940,
+    0, 4196, 0, 1835, 0, 0, 0, 0, 0, 0, 305, 2423, 1227, 2581, 3750, 362,
+    1414, 0, 4338, 1882, 0, 2334, 2223, 0, 0, 4151, 0, 156, 1891, 366,
+    4562, 0, 4475, 2379, 0, 3863, 1997, 2355, 3058, 1251, 0, 491, 0, 1331,
+    188, 0, 600, 2274, 0, 0, 273, 3561, 0, 0, 4502, 0, 3515, 2552, 3947, 0,
+    504, 3488, 3633, 0, 4174, 412, 2344, 375, 1515, 0, 1339, 3239, 673, 0,
+    0, 0, 0, 0, 0, 0, 430, 2685, 0, 1260, 0, 2211, 0, 0, 2169, 0, 2333,
+    2970, 645, 0, 0, 0, 0, 0, 1546, 1999, 291, 1879, 0, 0, 2467, 2548,
+    3435, 0, 454, 232, 1258, 4219, 746, 1956, 1665, 0, 0, 0, 0, 0, 0, 0, 0,
+    590, 4293, 327, 0, 217, 1885, 1986, 1202, 0, 166, 0, 0, 4058, 0, 983,
+    0, 3113, 416, 0, 239, 476, 0, 0, 930, 2575, 0, 0, 0, 0, 2050, 0, 0,
+    1850, 0, 1993, 0, 1821, 0, 0, 1506, 1085, 0, 0, 0, 277, 2531, 1489, 0,
+    4270, 2571, 3114, 1623, 2104, 21, 332, 650, 630, 1955, 1384, 0, 4079,
+    346, 0, 0, 0, 0, 2125, 3620, 0, 2892, 1765, 0, 0, 0, 461, 0, 4168,
+    2265, 1861, 0, 4103, 0, 0, 3485, 0, 0, 0, 4355, 1995, 3576, 1882, 1943,
+    0, 229, 1529, 3858, 0, 1490, 829, 1957, 4332, 3371, 0, 0, 1759, 2551,
+    1230, 0, 3404, 0, 929, 0, 4555, 0, 1821, 1892, 0, 0, 2700, 2460, 0,
+    4041, 0, 4101, 581, 3240, 206, 567, 1069, 348, 0, 0, 211, 3444, 0,
+    4188, 2412, 378, 1378, 0, 0, 0, 1785, 4399, 0, 2266, 0, 1863, 1767, 0,
+    0, 0, 0, 0, 0, 1956, 4052, 100, 4320, 186, 0, 303, 0, 1316, 2007, 2787,
+    0, 4004, 450, 2921, 129, 2678, 0, 3146, 0, 0, 0, 0, 703, 2801, 0, 0,
+    1718, 3509, 3786, 2399, 436, 0, 0, 1212, 2159, 48, 0, 1164, 0, 0, 3608,
+    2296, 2244, 0, 2529, 0, 0, 0, 0, 1172, 0, 0, 2801, 3655, 468, 2803,
+    914, 691, 335, 2621, 0, 0, 297, 130, 0, 872, 0, 1890, 0, 4474, 3688,
+    2537, 735, 0, 2710, 1146, 0, 3231, 3179, 304, 1715, 0, 0, 0, 3065, 0,
+    0, 1782, 2536, 0, 0, 0, 0, 891, 0, 0, 631, 0, 0, 0, 0, 159, 0, 3306,
+    1159, 4419, 0, 4103, 0, 0, 0, 904, 861, 0, 0, 0, 0, 0, 0, 718, 268,
+    1771, 0, 0, 2692, 2129, 0, 0, 922, 3529, 4326, 1617, 4236, 1819, 0, 0,
+    0, 0, 0, 0, 0, 4479, 1136, 0, 0, 591, 2647, 3881, 2768, 444, 0, 983, 0,
+    255, 3221, 585, 0, 0, 0, 1648, 382, 0, 0, 0, 4213, 4087, 3501, 915, 0,
+    0, 199, 4448, 0, 0, 1305, 0, 3731, 1778, 0, 3827, 0, 0, 0, 3997, 0,
+    4369, 1931, 2514, 0, 0, 0, 3360, 7, 0, 1525, 2612, 4026, 0, 1037, 1117,
+    354, 3208, 0, 0, 3059, 831, 492, 3067, 516, 4357, 0, 0, 2801, 0, 1722,
+    2230, 0, 185, 452, 657, 0, 0, 1729, 615, 1671, 1792, 2424, 306, 2092,
+    0, 3287, 0, 0, 1779, 4274, 0, 3232, 1016, 4409, 1227, 480, 4143, 0,
+    1696, 3080, 4047, 615, 0, 2965, 3569, 0, 0, 3859, 2143, 0, 1865, 3297,
+    0, 0, 0, 3003, 4382, 0, 0, 0, 115, 0, 382, 0, 0, 0, 0, 1524, 1240, 57,
+    492, 1756, 895, 842, 3903, 3914, 0, 2676, 1130, 524, 4238, 0, 538, 0,
+    1195, 1704, 0, 0, 0, 0, 3717, 1489, 534, 3274, 0, 2196, 2548, 1440,
+    747, 569, 0, 3115, 0, 0, 1679, 0, 1182, 835, 3065, 4193, 903, 0, 3078,
+    4368, 0, 2105, 0, 954, 0, 0, 0, 0, 1189, 2073, 750, 0, 3057, 1202, 906,
+    1034, 3711, 0, 2305, 2184, 0, 0, 306, 0, 2676, 1377, 1781, 2022, 1040,
+    1418, 0, 245, 2296, 0, 0, 4074, 4228, 3779, 0, 0, 0, 2062, 0, 1836,
+    4392, 0, 0, 0, 3736, 0, 0, 0, 591, 0, 0, 0, 3055, 2165, 0, 3497, 0,
+    2082, 0, 0, 0, 0, 1719, 273, 2216, 896, 3924, 3597, 555, 2995, 944,
+    2487, 0, 831, 0, 0, 0, 0, 1667, 0, 2759, 1265, 0, 2101, 0, 4338, 0, 81,
+    449, 0, 0, 0, 2503, 0, 340, 0, 0, 1021, 0, 413, 0, 0, 2913, 0, 4044,
+    2359, 2277, 2496, 0, 591, 3047, 1313, 225, 0, 0, 496, 154, 1689, 0, 0,
+    0, 3307, 1697, 3556, 0, 2369, 875, 0, 0, 3439, 1072, 0, 4240, 0, 4256,
+    2658, 241, 0, 2296, 0, 0, 951, 0, 10, 0, 1540, 0, 1732, 0, 3971, 1123,
+    0, 3169, 4365, 528, 0, 2392, 0, 1153, 2069, 0, 0, 383, 0, 0, 0, 0, 0,
+    1575, 4384, 3577, 2372, 0, 0, 0, 0, 204, 0, 0, 1028, 986, 1966, 273, 0,
+    4498, 0, 3460, 2012, 0, 0, 3307, 201, 0, 2663, 3861, 0, 2124, 0, 469,
+    1276, 0, 36, 0, 1126, 3780, 0, 252, 603, 1533, 0, 2958, 650, 3466,
+    4452, 409, 0, 2028, 2663, 0, 3399, 2611, 1721, 0, 0, 736, 1315, 561,
+    3771, 1666, 4145, 0, 0, 56, 0, 0, 1278, 0, 0, 0, 2084, 107, 0, 0, 0,
+    3748, 1979, 3867, 2095, 0, 1115, 0, 3788, 3267, 2334, 3607, 4219, 2542,
+    1380, 0, 0, 0, 2787, 2305, 3567, 2721, 456, 1348, 345, 2353, 690, 2249,
+    1146, 0, 2237, 1517, 934, 296, 0, 231, 0, 4400, 1983, 0, 0, 4361, 0, 0,
+    898, 937, 678, 1537, 0, 0, 0, 2244, 70, 0, 0, 0, 0, 1209, 0, 2414, 0,
+    1828, 2869, 0, 0, 0, 4216, 0, 0, 506, 0, 4391, 1259, 3787, 3463, 978,
+    0, 1017, 2374, 0, 0, 0, 1934, 0, 0, 3067, 1532, 1650, 581, 1084, 127,
+    403, 0, 2980, 1509, 3941, 0, 1384, 0, 0, 2900, 0, 436, 0, 472, 2683,
+    4510, 27, 0, 530, 1193, 1162, 2540, 0, 3885, 3815, 0, 1018, 691, 0,
+    709, 1860, 0, 3696, 3786, 2894, 0, 1513, 0, 3050, 1830, 0, 1396, 4256,
+    0, 0, 0, 2777, 582, 2366, 2128, 193, 1434, 0, 2415, 66, 3570, 883,
+    1142, 1220, 1064, 0, 876, 1084, 0, 4177, 3486, 1918, 1570, 0, 680,
+    2941, 0, 0, 25, 0, 0, 99, 0, 1651, 50, 561, 1986, 514, 4576, 2084, 366,
+    4552, 0, 961, 0, 2289, 0, 0, 1407, 3872, 940, 1270, 0, 0, 227, 0, 1354,
+    784, 2204, 3139, 2367, 1183, 0, 0, 0, 3916, 3709, 0, 0, 175, 4392,
+    1048, 0, 0, 0, 2271, 4548, 0, 0, 0, 2509, 0, 1291, 13, 791, 4469, 0, 0,
+    1101, 0, 2230, 1376, 275, 2298, 3150, 0, 0, 0, 956, 2815, 2451, 0, 0,
+    2608, 1483, 0, 22, 700, 0, 1363, 0, 3532, 3464, 0, 0, 967, 1689, 1618,
+    0, 0, 0, 1786, 3664, 3612, 1979, 2888, 0, 1609, 0, 0, 0, 0, 1672, 110,
+    0, 2948, 0, 281, 2459, 2103, 3451, 0, 0, 1358, 0, 0, 173, 2355, 293, 0,
+    0, 1521, 3704, 2668, 732, 0, 312, 0, 1696, 1905, 0, 0, 0, 0, 536, 1962,
+    1364, 11, 4442, 1687, 2302, 0, 0, 1994, 2369, 0, 0, 0, 0, 0, 0, 0,
+    2531, 4337, 4514, 4105, 0, 3328, 350, 3008, 1155, 0, 0, 1428, 906,
+    2486, 1200, 0, 0, 717, 496, 3198, 0, 1088, 0, 1792, 2222, 0, 1584, 92,
+    1619, 0, 0, 2036, 863, 0, 4204, 0, 269, 0, 0, 0, 0, 3648, 1650, 39, 0,
+    0, 381, 1366, 0, 2370, 2074, 1332, 3338, 4366, 0, 1665, 0, 0, 281, 0,
+    3951, 0, 3105, 1985, 203, 1004, 0, 0, 0, 965, 0, 1856, 0, 1538, 714,
+    162, 0, 0, 2434, 1024, 4116, 351, 0, 3948, 613, 0, 353, 1385, 0, 0,
+    2267, 0, 3047, 3928, 0, 0, 0, 85, 1550, 0, 0, 0, 643, 0, 2239, 0, 1587,
+    0, 519, 3012, 125, 3607, 0, 683, 201, 3299, 2823, 3003, 1455, 67, 0,
+    1025, 339, 2199, 445, 1719, 1495, 4134, 362, 742, 2218, 583, 1737, 0,
+    0, 0, 0, 1452, 2820, 2111, 29, 1973, 4351, 863, 0, 0, 0, 0, 3889, 0, 0,
+    0, 1334, 205, 0, 2010, 0, 383, 4351, 1158, 609, 361, 2008, 3549, 1924,
+    30, 4383, 0, 779, 1382, 871, 0, 0, 1603, 0, 1198, 1851, 4049, 2505,
+    1639, 0, 0, 808, 1646, 0, 1489, 240, 712, 0, 0, 0, 75, 3647, 0, 0, 0,
+    0, 355, 1526, 748, 0, 3240, 0, 0, 0, 3896, 2446, 0, 2758, 1716, 4375,
+    1827, 607, 2043, 0, 2383, 0, 3081, 2563, 0, 0, 1722, 1176, 0, 0, 3269,
+    1245, 1636, 0, 0, 0, 976, 0, 759, 2793, 3892, 113, 4438, 3560, 0, 908,
+    1141, 2042, 1309, 2077, 0, 0, 0, 0, 2135, 1148, 0, 0, 0, 1357, 3972,
+    943, 0, 4269, 310, 3353, 0, 0, 0, 0, 0, 0, 1565, 0, 0, 1578, 0, 3115,
+    166, 4458, 2853, 0, 1165, 3157, 1956, 1993, 0, 0, 3832, 0, 873, 199,
+    225, 0, 3343, 826, 1184, 2599, 0, 111, 597, 2174, 0, 0, 4537, 541, 0,
+    0, 1690, 0, 1391, 3002, 0, 0, 3855, 1427, 3441, 50, 4135, 1862, 223, 0,
+    2210, 3917, 3768, 1775, 2290, 1104, 2336, 2391, 1799, 1182, 0, 0, 926,
+    712, 0, 0, 3420, 1855, 0, 1364, 4386, 0, 1518, 0, 3584, 4518, 0, 0,
+    825, 3890, 0, 4231, 4287, 0, 451, 0, 0, 0, 0, 3083, 1517, 1302, 4156,
+    3792, 0, 3614, 1531, 1215, 3053, 0, 2921, 2236, 1206, 157, 1338, 0,
+    260, 1564, 0, 0, 2094, 1874, 0, 0, 0, 0, 4220, 0, 0, 1042, 1758, 2547,
+    3896, 1164, 4388, 1160, 679, 2501, 0, 0, 1040, 0, 433, 0, 2134, 2058,
+    2494, 790, 0, 1411, 0, 0, 0, 0, 713, 4157, 4195, 3979, 876, 3590, 0, 0,
+    83, 0, 1083, 0, 1055, 3302, 638, 2691, 0, 1731, 1742, 775, 1776, 715,
+    0, 379, 0, 1548, 0, 0, 4012, 0, 3005, 1071, 0, 0, 988, 0, 0, 4426,
+    1564, 2506, 0, 191, 0, 0, 3582, 1996, 0, 584, 0, 0, 2802, 0, 369, 397,
+    0, 4214, 453, 3572, 3120, 0, 0, 97, 0, 1441, 3588, 806, 0, 1615, 4340,
+    780, 3139, 0, 664, 0, 2188, 2504, 0, 2298, 621, 0, 898, 0, 0, 0, 0, 0,
+    838, 172, 117, 1622, 487, 475, 314, 0, 2048, 2704, 0, 867, 0, 3792,
+    3641, 2503, 0, 594, 2039, 0, 452, 0, 1877, 89, 0, 4014, 653, 1614,
+    1292, 566, 0, 0, 198, 0, 0, 2338, 4136, 937, 1120, 0, 8, 3698, 3171,
+    413, 1439, 1321, 0, 2417, 335, 2986, 0, 566, 0, 3814, 962, 0, 0, 242,
+    0, 0, 505, 183, 1965, 812, 98, 655, 0, 0, 0, 0, 1978, 848, 396, 0, 377,
+    0, 1684, 0, 1582, 3969, 1744, 0, 810, 72, 0, 107, 0, 4433, 2286, 3522,
+    0, 2069, 0, 0, 0, 2094, 4395, 2067, 0, 1149, 0, 662, 0, 2107, 4389, 0,
+    849, 0, 0, 0, 69, 0, 0, 0, 0, 0, 313, 0, 607, 831, 4085, 3226, 0, 0, 0,
+    340, 4136, 1223, 2021, 0, 2091, 3801, 212, 0, 12, 0, 3915, 1805, 3515,
+    4315, 0, 0, 2099, 0, 0, 4090, 0, 0, 622, 834, 2437, 2296, 1681, 4547,
+    4460, 2079, 2324, 839, 2397, 2145, 1619, 401, 3863, 2891, 0, 103, 1457,
+    0, 1047, 0, 1405, 2950, 3099, 2255, 0, 0, 968, 670, 2120, 1389, 643, 0,
+    1752, 1342, 0, 3330, 0, 1282, 1561, 3036, 0, 0, 1219, 2129, 425, 0,
+    2162, 0, 0, 3764, 2134, 3962, 0, 919, 0, 0, 2044, 0, 0, 769, 2243, 0,
+    0, 4575, 1751, 0, 0, 0, 585, 1638, 0, 0, 2438, 0, 792, 220, 0, 3802,
+    3691, 0, 1032, 1344, 0, 3968, 0, 0, 147, 1059, 2411, 1074, 1608, 0,
+    199, 0, 0, 215, 0, 0, 840, 3390, 712, 0, 3209, 3282, 0, 2266, 2514, 0,
+    1393, 951, 4351, 0, 378, 0, 1015, 4263, 2644, 2511, 1953, 0, 0, 1991,
+    3626, 0, 513, 0, 2139, 2502, 0, 808, 2899, 1908, 1589, 113, 3787, 0, 0,
+    882, 3809, 0, 4350, 890, 0, 0, 240, 632, 3047, 1547, 3304, 874, 0, 669,
+    1138, 1326, 2034, 4147, 2172, 3490, 1660, 0, 1542, 0, 788, 3236, 557,
+    0, 290, 1687, 0, 1655, 4087, 1730, 3798, 2362, 875, 442, 2048, 0, 0, 0,
+    2419, 4022, 2726, 0, 701, 294, 0, 1955, 3941, 571, 0, 0, 1450, 1985,
+    1874, 2584, 1062, 3965, 0, 0, 521, 384, 0, 1406, 1272, 0, 0, 0, 0,
+    2642, 1419, 280, 0, 0, 2495, 0, 603, 1739, 2740, 105, 0, 1768, 1049, 0,
+    1901, 4127, 1550, 0, 4479, 1750, 693, 2089, 0, 2715, 4357, 0, 4027,
+    842, 3047, 3628, 145, 1240, 0, 617, 847, 4400, 620, 1496, 4204, 1912,
+    3600, 2399, 1839, 751, 1558, 433, 20, 0, 2449, 4367, 0, 902, 3803,
+    2277, 0, 214, 584, 2380, 0, 1983, 0, 331, 0, 1752, 171, 1643, 556, 627,
+    537, 0, 3772, 2097, 0, 3603, 0, 1704, 0, 0, 0, 0, 2437, 227, 3368, 0,
+    2128, 0, 0, 965, 4212, 0, 0, 568, 127, 1903, 4433, 0, 0, 0, 1886, 153,
+    2830, 0, 1450, 0, 129, 0, 0, 0, 975, 3292, 105, 0, 0, 202, 0, 1727, 0,
+    4241, 2087, 2073, 430, 0, 3605, 823, 440, 1626, 11, 3226, 0, 0, 3953,
+    0, 593, 0, 1325, 0, 0, 2227, 1850, 270, 0, 0, 2085, 441, 171, 2251, 0,
+    2430, 0, 0, 4544, 0, 1330, 0, 0, 0, 1794, 1653, 213, 1513, 3924, 2379,
+    2023, 666, 55, 3647, 832, 3275, 739, 4117, 2141, 1233, 4483, 0, 3836,
+    2907, 826, 781, 3445, 784, 3728, 3751, 1226, 3639, 2696, 1066, 1170,
+    664, 785, 733, 293, 1603, 0, 1942, 0, 0, 1, 0, 661, 0, 0, 679, 1368, 0,
+    0, 1179, 208, 0, 0, 0, 0, 1604, 2525, 4309, 1176, 1285, 667, 2161,
+    4564, 302, 4097, 3038, 2549, 266, 0, 0, 2443, 0, 0, 562, 0, 0, 697,
+    247, 2408, 2433, 0, 3858, 0, 1599, 578, 3041, 4043, 1902, 1298, 0, 0,
+    1652, 0, 1493, 0, 0, 0, 379, 4453, 0, 0, 0, 0, 2125, 0, 3703, 0, 1649,
+    4085, 2345, 0, 7, 4099, 0, 0, 0, 0, 2921, 0, 2745, 58, 0, 2706, 587,
+    2328, 0, 2271, 0, 121, 0, 1939, 1027, 226, 0, 1473, 4235, 0, 0, 0,
+    2618, 1043, 4158, 0, 0, 0, 0, 0, 386, 3847, 0, 1817, 2405, 0, 1142,
+    1906, 1254, 1734, 4182, 4530, 0, 0, 0, 1995, 1813, 0, 0, 1480, 1886,
+    3796, 2487, 4066, 0, 1511, 0, 0, 0, 3807, 2978, 2283, 4266, 4360, 2172,
+    0, 135, 1662, 0, 247, 956, 525, 0, 0, 0, 2402, 0, 0, 0, 0, 0, 515,
+    2301, 0, 2319, 313, 0, 3101, 0, 0, 0, 3870, 0, 3544, 0, 0, 0, 4490, 0,
+    4509, 0, 2734, 3317, 0, 0, 0, 2770, 0, 0, 2263, 986, 0, 2529, 1001, 0,
+    0, 2249, 177, 0, 2289, 4304, 4242, 0, 0, 0, 170, 0, 4576, 195, 0, 1795,
+    4271, 0, 0, 0, 4180, 34, 0, 0, 0, 0, 0, 2475, 781, 1461, 3400, 1894, 0,
+    2337, 0, 2406, 322, 0, 948, 0, 3838, 1572, 2546, 0, 754, 1234, 1323,
+    805, 0, 1694, 1164, 706, 1972, 2608, 3313, 2289, 838, 1252, 0, 3641, 0,
+    3427, 0, 1847, 2807, 1135, 992, 0, 0, 2446, 938, 0, 0, 846, 1825, 0, 0,
+    0, 0, 0, 1094, 1594, 643, 4102, 778, 4529, 0, 2035, 811, 0, 1156, 0, 0,
+    0, 3400, 2456, 1869, 3613, 0, 0, 0, 0, 2961, 2076, 1836, 0, 0, 239,
+    1058, 926, 2472, 0, 564, 3784, 2615, 2719, 0, 0, 3519, 2190, 2339,
+    1072, 1244, 1003, 4441, 1003, 0, 0, 0, 0, 0, 4051, 1821, 1264, 652, 0,
+    305, 2559, 1001, 0, 0, 1272, 0, 4471, 0, 1637, 3775, 0, 1834, 0, 959,
+    2628, 2040, 0, 3716, 0, 0, 0, 193, 0, 2762, 0, 2464, 571, 312, 284,
+    849, 2472, 0, 2326, 3115, 1495, 0, 2439, 1097, 0, 1886, 0, 1207, 911,
+    0, 0, 141, 1221, 1341, 2482, 3714, 0, 1674, 0, 4503, 2208, 327, 0, 0,
+    1950, 2927, 3809, 684, 1463, 3080, 0, 0, 1502, 0, 0, 2362, 0, 0, 0,
+    4307, 1751, 0, 145, 0, 845, 0, 333, 3872, 2291, 0, 301, 0, 0, 371, 0,
+    0, 2788, 0, 704, 379, 1098, 1702, 1786, 2426, 0, 1245, 2245, 2269, 0,
+    1144, 2221, 1077, 3063, 0, 0, 3991, 2506, 402, 2061, 0, 3534, 3505,
+    3917, 284, 0, 3421, 1575, 0, 927, 1418, 3498, 1663, 285, 1630, 2377,
+    736, 1249, 2949, 2482, 1227, 4221, 1609, 2989, 2264, 1584, 0, 0, 0, 7,
+    1710, 1065, 4551, 726, 596, 1138, 0, 0, 0, 0, 0, 4563, 0, 0, 1348, 386,
+    181, 2359, 1223, 3472, 2181, 0, 1082, 0, 0, 4210, 0, 0, 0, 0, 2096,
+    1174, 0, 0, 2215, 4392, 3487, 0, 53, 0, 525, 0, 1292, 2120, 1531, 0, 0,
+    677, 103, 2301, 3554, 2011, 0, 0, 0, 3337, 0, 1728, 615, 0, 1429, 813,
+    49, 1134, 3922, 0, 3313, 2030, 0, 62, 0, 553, 0, 3854, 0, 57, 1473,
+    2668, 753, 0, 4306, 4013, 0, 1301, 556, 1049, 0, 318, 4239, 711, 862,
+    0
+};
+
+static size_t
+keysym_name_hash_f(const char *key, const char *T)
+{
+    size_t sum = 0;
+    for (size_t i = 0; key[i] != '\0'; i++)
+        sum += T[i % 32] * key[i];
+    return sum % 4578;
+}
+
+static size_t
+keysym_name_perfect_hash(const char *key)
+{
+    return (
+        keysym_name_G[keysym_name_hash_f(key, "i8oQPmKYkIetcNLKtoDCVlX1nn1CvPDv")] +
+        keysym_name_G[keysym_name_hash_f(key, "h7H8UeXN09yUJyoQcJxwuidtVj4cA0a7")]
+    ) % 4578;
+}
+
+
 struct name_keysym {
     xkb_keysym_t keysym;
     uint32_t offset;
@@ -3032,1831 +3493,1976 @@ static const struct name_keysym name_to_keysym[] = {
     { 0x0000ff37, 8654 }, /* Codeinput */
     { 0x0000003a, 8664 }, /* colon */
     { 0x010020a1, 8670 }, /* ColonSign */
-    { 0x0000002c, 8680 }, /* comma */
-    { 0x0100220b, 8686 }, /* containsas */
-    { 0x0000ffe3, 8697 }, /* Control_L */
-    { 0x0000ffe4, 8707 }, /* Control_R */
-    { 0x000000a9, 8717 }, /* copyright */
-    { 0x000009e4, 8727 }, /* cr */
-    { 0x000009ee, 8730 }, /* crossinglines */
-    { 0x010020a2, 8744 }, /* CruzeiroSign */
-    { 0x0100221b, 8757 }, /* cuberoot */
-    { 0x000000a4, 8766 }, /* currency */
-    { 0x00000aff, 8775 }, /* cursor */
-    { 0x000006c1, 8782 }, /* Cyrillic_a */
-    { 0x000006e1, 8793 }, /* Cyrillic_A */
-    { 0x000006c2, 8804 }, /* Cyrillic_be */
-    { 0x000006e2, 8816 }, /* Cyrillic_BE */
-    { 0x000006de, 8828 }, /* Cyrillic_che */
-    { 0x000006fe, 8841 }, /* Cyrillic_CHE */
-    { 0x010004b6, 8854 }, /* Cyrillic_CHE_descender */
-    { 0x010004b7, 8877 }, /* Cyrillic_che_descender */
-    { 0x010004b8, 8900 }, /* Cyrillic_CHE_vertstroke */
-    { 0x010004b9, 8924 }, /* Cyrillic_che_vertstroke */
-    { 0x000006c4, 8948 }, /* Cyrillic_de */
-    { 0x000006e4, 8960 }, /* Cyrillic_DE */
-    { 0x000006af, 8972 }, /* Cyrillic_dzhe */
-    { 0x000006bf, 8986 }, /* Cyrillic_DZHE */
-    { 0x000006dc, 9000 }, /* Cyrillic_e */
-    { 0x000006fc, 9011 }, /* Cyrillic_E */
-    { 0x000006c6, 9022 }, /* Cyrillic_ef */
-    { 0x000006e6, 9034 }, /* Cyrillic_EF */
-    { 0x000006cc, 9046 }, /* Cyrillic_el */
-    { 0x000006ec, 9058 }, /* Cyrillic_EL */
-    { 0x000006cd, 9070 }, /* Cyrillic_em */
-    { 0x000006ed, 9082 }, /* Cyrillic_EM */
-    { 0x000006ce, 9094 }, /* Cyrillic_en */
-    { 0x000006ee, 9106 }, /* Cyrillic_EN */
-    { 0x010004a2, 9118 }, /* Cyrillic_EN_descender */
-    { 0x010004a3, 9140 }, /* Cyrillic_en_descender */
-    { 0x000006d2, 9162 }, /* Cyrillic_er */
-    { 0x000006f2, 9174 }, /* Cyrillic_ER */
-    { 0x000006d3, 9186 }, /* Cyrillic_es */
-    { 0x000006f3, 9198 }, /* Cyrillic_ES */
-    { 0x000006c7, 9210 }, /* Cyrillic_ghe */
-    { 0x000006e7, 9223 }, /* Cyrillic_GHE */
-    { 0x01000492, 9236 }, /* Cyrillic_GHE_bar */
-    { 0x01000493, 9253 }, /* Cyrillic_ghe_bar */
-    { 0x000006c8, 9270 }, /* Cyrillic_ha */
-    { 0x000006e8, 9282 }, /* Cyrillic_HA */
-    { 0x010004b2, 9294 }, /* Cyrillic_HA_descender */
-    { 0x010004b3, 9316 }, /* Cyrillic_ha_descender */
-    { 0x000006df, 9338 }, /* Cyrillic_hardsign */
-    { 0x000006ff, 9356 }, /* Cyrillic_HARDSIGN */
-    { 0x000006c9, 9374 }, /* Cyrillic_i */
-    { 0x000006e9, 9385 }, /* Cyrillic_I */
-    { 0x010004e2, 9396 }, /* Cyrillic_I_macron */
-    { 0x010004e3, 9414 }, /* Cyrillic_i_macron */
-    { 0x000006c5, 9432 }, /* Cyrillic_ie */
-    { 0x000006e5, 9444 }, /* Cyrillic_IE */
-    { 0x000006a3, 9456 }, /* Cyrillic_io */
-    { 0x000006b3, 9468 }, /* Cyrillic_IO */
-    { 0x000006a8, 9480 }, /* Cyrillic_je */
-    { 0x000006b8, 9492 }, /* Cyrillic_JE */
-    { 0x000006cb, 9504 }, /* Cyrillic_ka */
-    { 0x000006eb, 9516 }, /* Cyrillic_KA */
-    { 0x0100049a, 9528 }, /* Cyrillic_KA_descender */
-    { 0x0100049b, 9550 }, /* Cyrillic_ka_descender */
-    { 0x0100049c, 9572 }, /* Cyrillic_KA_vertstroke */
-    { 0x0100049d, 9595 }, /* Cyrillic_ka_vertstroke */
-    { 0x000006a9, 9618 }, /* Cyrillic_lje */
-    { 0x000006b9, 9631 }, /* Cyrillic_LJE */
-    { 0x000006aa, 9644 }, /* Cyrillic_nje */
-    { 0x000006ba, 9657 }, /* Cyrillic_NJE */
-    { 0x000006cf, 9670 }, /* Cyrillic_o */
-    { 0x000006ef, 9681 }, /* Cyrillic_O */
-    { 0x010004e8, 9692 }, /* Cyrillic_O_bar */
-    { 0x010004e9, 9707 }, /* Cyrillic_o_bar */
-    { 0x000006d0, 9722 }, /* Cyrillic_pe */
-    { 0x000006f0, 9734 }, /* Cyrillic_PE */
-    { 0x010004d8, 9746 }, /* Cyrillic_SCHWA */
-    { 0x010004d9, 9761 }, /* Cyrillic_schwa */
-    { 0x000006db, 9776 }, /* Cyrillic_sha */
-    { 0x000006fb, 9789 }, /* Cyrillic_SHA */
-    { 0x000006dd, 9802 }, /* Cyrillic_shcha */
-    { 0x000006fd, 9817 }, /* Cyrillic_SHCHA */
-    { 0x010004ba, 9832 }, /* Cyrillic_SHHA */
-    { 0x010004bb, 9846 }, /* Cyrillic_shha */
-    { 0x000006ca, 9860 }, /* Cyrillic_shorti */
-    { 0x000006ea, 9876 }, /* Cyrillic_SHORTI */
-    { 0x000006d8, 9892 }, /* Cyrillic_softsign */
-    { 0x000006f8, 9910 }, /* Cyrillic_SOFTSIGN */
-    { 0x000006d4, 9928 }, /* Cyrillic_te */
-    { 0x000006f4, 9940 }, /* Cyrillic_TE */
-    { 0x000006c3, 9952 }, /* Cyrillic_tse */
-    { 0x000006e3, 9965 }, /* Cyrillic_TSE */
-    { 0x000006d5, 9978 }, /* Cyrillic_u */
-    { 0x000006f5, 9989 }, /* Cyrillic_U */
-    { 0x010004ee, 10000 }, /* Cyrillic_U_macron */
-    { 0x010004ef, 10018 }, /* Cyrillic_u_macron */
-    { 0x010004ae, 10036 }, /* Cyrillic_U_straight */
-    { 0x010004af, 10056 }, /* Cyrillic_u_straight */
-    { 0x010004b0, 10076 }, /* Cyrillic_U_straight_bar */
-    { 0x010004b1, 10100 }, /* Cyrillic_u_straight_bar */
-    { 0x000006d7, 10124 }, /* Cyrillic_ve */
-    { 0x000006f7, 10136 }, /* Cyrillic_VE */
-    { 0x000006d1, 10148 }, /* Cyrillic_ya */
-    { 0x000006f1, 10160 }, /* Cyrillic_YA */
-    { 0x000006d9, 10172 }, /* Cyrillic_yeru */
-    { 0x000006f9, 10186 }, /* Cyrillic_YERU */
-    { 0x000006c0, 10200 }, /* Cyrillic_yu */
-    { 0x000006e0, 10212 }, /* Cyrillic_YU */
-    { 0x000006da, 10224 }, /* Cyrillic_ze */
-    { 0x000006fa, 10236 }, /* Cyrillic_ZE */
-    { 0x000006d6, 10248 }, /* Cyrillic_zhe */
-    { 0x000006f6, 10261 }, /* Cyrillic_ZHE */
-    { 0x01000496, 10274 }, /* Cyrillic_ZHE_descender */
-    { 0x01000497, 10297 }, /* Cyrillic_zhe_descender */
-    { 0x00000044, 10320 }, /* D */
-    { 0x00000064, 10322 }, /* d */
-    { 0x01001e0a, 10324 }, /* Dabovedot */
-    { 0x01001e0b, 10334 }, /* dabovedot */
-    { 0x1000fe27, 10344 }, /* Dacute_accent */
-    { 0x00000af1, 10358 }, /* dagger */
-    { 0x000001cf, 10365 }, /* Dcaron */
-    { 0x000001ef, 10372 }, /* dcaron */
-    { 0x1000fe2c, 10379 }, /* Dcedilla_accent */
-    { 0x1000fe5e, 10395 }, /* Dcircumflex_accent */
-    { 0x1000fe22, 10414 }, /* Ddiaeresis */
-    { 0x0000fe80, 10425 }, /* dead_a */
-    { 0x0000fe81, 10432 }, /* dead_A */
-    { 0x0000fe64, 10439 }, /* dead_abovecomma */
-    { 0x0000fe56, 10455 }, /* dead_abovedot */
-    { 0x0000fe65, 10469 }, /* dead_abovereversedcomma */
-    { 0x0000fe58, 10493 }, /* dead_abovering */
-    { 0x0000fe91, 10508 }, /* dead_aboveverticalline */
-    { 0x0000fe51, 10531 }, /* dead_acute */
-    { 0x0000fe6b, 10542 }, /* dead_belowbreve */
-    { 0x0000fe69, 10558 }, /* dead_belowcircumflex */
-    { 0x0000fe6e, 10579 }, /* dead_belowcomma */
-    { 0x0000fe6c, 10595 }, /* dead_belowdiaeresis */
-    { 0x0000fe60, 10615 }, /* dead_belowdot */
-    { 0x0000fe68, 10629 }, /* dead_belowmacron */
-    { 0x0000fe67, 10646 }, /* dead_belowring */
-    { 0x0000fe6a, 10661 }, /* dead_belowtilde */
-    { 0x0000fe92, 10677 }, /* dead_belowverticalline */
-    { 0x0000fe55, 10700 }, /* dead_breve */
-    { 0x0000fe8b, 10711 }, /* dead_capital_schwa */
-    { 0x0000fe5a, 10730 }, /* dead_caron */
-    { 0x0000fe5b, 10741 }, /* dead_cedilla */
-    { 0x0000fe52, 10754 }, /* dead_circumflex */
-    { 0x0000fe6f, 10770 }, /* dead_currency */
-    { 0x0000fe65, 10784 }, /* dead_dasia */
-    { 0x0000fe57, 10795 }, /* dead_diaeresis */
-    { 0x0000fe59, 10810 }, /* dead_doubleacute */
-    { 0x0000fe66, 10827 }, /* dead_doublegrave */
-    { 0x0000fe82, 10844 }, /* dead_e */
-    { 0x0000fe83, 10851 }, /* dead_E */
-    { 0x0000fe50, 10858 }, /* dead_grave */
-    { 0x0000fe8c, 10869 }, /* dead_greek */
-    { 0x0000fe61, 10880 }, /* dead_hook */
-    { 0x0000fe62, 10890 }, /* dead_horn */
-    { 0x0000fe84, 10900 }, /* dead_i */
-    { 0x0000fe85, 10907 }, /* dead_I */
-    { 0x0000fe6d, 10914 }, /* dead_invertedbreve */
-    { 0x0000fe5d, 10933 }, /* dead_iota */
-    { 0x0000fe93, 10943 }, /* dead_longsolidusoverlay */
-    { 0x0000fe90, 10967 }, /* dead_lowline */
-    { 0x0000fe54, 10980 }, /* dead_macron */
-    { 0x0000fe86, 10992 }, /* dead_o */
-    { 0x0000fe87, 10999 }, /* dead_O */
-    { 0x0000fe5c, 11006 }, /* dead_ogonek */
-    { 0x0000fe53, 11018 }, /* dead_perispomeni */
-    { 0x0000fe64, 11035 }, /* dead_psili */
-    { 0x0000fe5f, 11046 }, /* dead_semivoiced_sound */
-    { 0x0000fe8a, 11068 }, /* dead_small_schwa */
-    { 0x0000fe63, 11085 }, /* dead_stroke */
-    { 0x0000fe53, 11097 }, /* dead_tilde */
-    { 0x0000fe88, 11108 }, /* dead_u */
-    { 0x0000fe89, 11115 }, /* dead_U */
-    { 0x0000fe5e, 11122 }, /* dead_voiced_sound */
-    { 0x00000abd, 11140 }, /* decimalpoint */
-    { 0x000000b0, 11153 }, /* degree */
-    { 0x0000ffff, 11160 }, /* Delete */
-    { 0x1000ff73, 11167 }, /* DeleteChar */
-    { 0x1000ff71, 11178 }, /* DeleteLine */
-    { 0x1000fe60, 11189 }, /* Dgrave_accent */
-    { 0x000000a8, 11203 }, /* diaeresis */
-    { 0x00000aed, 11213 }, /* diamond */
-    { 0x00000aa5, 11221 }, /* digitspace */
-    { 0x0100222c, 11232 }, /* dintegral */
-    { 0x000000f7, 11242 }, /* division */
-    { 0x00000024, 11251 }, /* dollar */
-    { 0x010020ab, 11258 }, /* DongSign */
-    { 0x00000aaf, 11267 }, /* doubbaselinedot */
-    { 0x000001bd, 11283 }, /* doubleacute */
-    { 0x00000af2, 11295 }, /* doubledagger */
-    { 0x00000afe, 11308 }, /* doublelowquotemark */
-    { 0x0000ff54, 11327 }, /* Down */
-    { 0x000008fe, 11332 }, /* downarrow */
-    { 0x00000ba8, 11342 }, /* downcaret */
-    { 0x00000bd6, 11352 }, /* downshoe */
-    { 0x00000bc4, 11361 }, /* downstile */
-    { 0x00000bc2, 11371 }, /* downtack */
-    { 0x1000ff00, 11380 }, /* DRemove */
-    { 0x1000feb0, 11388 }, /* Dring_accent */
-    { 0x000001d0, 11401 }, /* Dstroke */
-    { 0x000001f0, 11409 }, /* dstroke */
-    { 0x1000fe7e, 11417 }, /* Dtilde */
-    { 0x00000045, 11424 }, /* E */
-    { 0x00000065, 11426 }, /* e */
-    { 0x000003cc, 11428 }, /* Eabovedot */
-    { 0x000003ec, 11438 }, /* eabovedot */
-    { 0x000000c9, 11448 }, /* Eacute */
-    { 0x000000e9, 11455 }, /* eacute */
-    { 0x01001eb8, 11462 }, /* Ebelowdot */
-    { 0x01001eb9, 11472 }, /* ebelowdot */
-    { 0x000001cc, 11482 }, /* Ecaron */
-    { 0x000001ec, 11489 }, /* ecaron */
-    { 0x000000ca, 11496 }, /* Ecircumflex */
-    { 0x000000ea, 11508 }, /* ecircumflex */
-    { 0x01001ebe, 11520 }, /* Ecircumflexacute */
-    { 0x01001ebf, 11537 }, /* ecircumflexacute */
-    { 0x01001ec6, 11554 }, /* Ecircumflexbelowdot */
-    { 0x01001ec7, 11574 }, /* ecircumflexbelowdot */
-    { 0x01001ec0, 11594 }, /* Ecircumflexgrave */
-    { 0x01001ec1, 11611 }, /* ecircumflexgrave */
-    { 0x01001ec2, 11628 }, /* Ecircumflexhook */
-    { 0x01001ec3, 11644 }, /* ecircumflexhook */
-    { 0x01001ec4, 11660 }, /* Ecircumflextilde */
-    { 0x01001ec5, 11677 }, /* ecircumflextilde */
-    { 0x010020a0, 11694 }, /* EcuSign */
-    { 0x000000cb, 11702 }, /* Ediaeresis */
-    { 0x000000eb, 11713 }, /* ediaeresis */
-    { 0x000000c8, 11724 }, /* Egrave */
-    { 0x000000e8, 11731 }, /* egrave */
-    { 0x01001eba, 11738 }, /* Ehook */
-    { 0x01001ebb, 11744 }, /* ehook */
-    { 0x01002088, 11750 }, /* eightsubscript */
-    { 0x01002078, 11765 }, /* eightsuperior */
-    { 0x0000ff2f, 11779 }, /* Eisu_Shift */
-    { 0x0000ff30, 11790 }, /* Eisu_toggle */
-    { 0x01002208, 11802 }, /* elementof */
-    { 0x00000aae, 11812 }, /* ellipsis */
-    { 0x00000aa3, 11821 }, /* em3space */
-    { 0x00000aa4, 11830 }, /* em4space */
-    { 0x000003aa, 11839 }, /* Emacron */
-    { 0x000003ba, 11847 }, /* emacron */
-    { 0x00000aa9, 11855 }, /* emdash */
-    { 0x00000ade, 11862 }, /* emfilledcircle */
-    { 0x00000adf, 11877 }, /* emfilledrect */
-    { 0x00000ace, 11890 }, /* emopencircle */
-    { 0x00000acf, 11903 }, /* emopenrectangle */
-    { 0x01002205, 11919 }, /* emptyset */
-    { 0x00000aa1, 11928 }, /* emspace */
-    { 0x0000ff57, 11936 }, /* End */
-    { 0x00000aaa, 11940 }, /* endash */
-    { 0x00000ae6, 11947 }, /* enfilledcircbullet */
-    { 0x00000ae7, 11966 }, /* enfilledsqbullet */
-    { 0x000003bd, 11983 }, /* ENG */
-    { 0x000003bf, 11987 }, /* eng */
-    { 0x00000ae0, 11991 }, /* enopencircbullet */
-    { 0x00000ae1, 12008 }, /* enopensquarebullet */
-    { 0x00000aa2, 12027 }, /* enspace */
-    { 0x000001ca, 12035 }, /* Eogonek */
-    { 0x000001ea, 12043 }, /* eogonek */
-    { 0x0000003d, 12051 }, /* equal */
-    { 0x0000ff1b, 12057 }, /* Escape */
-    { 0x000000d0, 12064 }, /* ETH */
-    { 0x000000d0, 12068 }, /* Eth */
-    { 0x000000f0, 12072 }, /* eth */
-    { 0x01001ebc, 12076 }, /* Etilde */
-    { 0x01001ebd, 12083 }, /* etilde */
-    { 0x000020ac, 12090 }, /* EuroSign */
-    { 0x00000021, 12099 }, /* exclam */
-    { 0x000000a1, 12106 }, /* exclamdown */
-    { 0x0000ff62, 12117 }, /* Execute */
-    { 0x1000ff76, 12125 }, /* Ext16bit_L */
-    { 0x1000ff77, 12136 }, /* Ext16bit_R */
-    { 0x010001b7, 12147 }, /* EZH */
-    { 0x01000292, 12151 }, /* ezh */
-    { 0x00000046, 12155 }, /* F */
-    { 0x00000066, 12157 }, /* f */
-    { 0x0000ffbe, 12159 }, /* F1 */
-    { 0x0000ffc7, 12162 }, /* F10 */
-    { 0x0000ffc8, 12166 }, /* F11 */
-    { 0x0000ffc9, 12170 }, /* F12 */
-    { 0x0000ffca, 12174 }, /* F13 */
-    { 0x0000ffcb, 12178 }, /* F14 */
-    { 0x0000ffcc, 12182 }, /* F15 */
-    { 0x0000ffcd, 12186 }, /* F16 */
-    { 0x0000ffce, 12190 }, /* F17 */
-    { 0x0000ffcf, 12194 }, /* F18 */
-    { 0x0000ffd0, 12198 }, /* F19 */
-    { 0x0000ffbf, 12202 }, /* F2 */
-    { 0x0000ffd1, 12205 }, /* F20 */
-    { 0x0000ffd2, 12209 }, /* F21 */
-    { 0x0000ffd3, 12213 }, /* F22 */
-    { 0x0000ffd4, 12217 }, /* F23 */
-    { 0x0000ffd5, 12221 }, /* F24 */
-    { 0x0000ffd6, 12225 }, /* F25 */
-    { 0x0000ffd7, 12229 }, /* F26 */
-    { 0x0000ffd8, 12233 }, /* F27 */
-    { 0x0000ffd9, 12237 }, /* F28 */
-    { 0x0000ffda, 12241 }, /* F29 */
-    { 0x0000ffc0, 12245 }, /* F3 */
-    { 0x0000ffdb, 12248 }, /* F30 */
-    { 0x0000ffdc, 12252 }, /* F31 */
-    { 0x0000ffdd, 12256 }, /* F32 */
-    { 0x0000ffde, 12260 }, /* F33 */
-    { 0x0000ffdf, 12264 }, /* F34 */
-    { 0x0000ffe0, 12268 }, /* F35 */
-    { 0x0000ffc1, 12272 }, /* F4 */
-    { 0x0000ffc2, 12275 }, /* F5 */
-    { 0x0000ffc3, 12278 }, /* F6 */
-    { 0x0000ffc4, 12281 }, /* F7 */
-    { 0x0000ffc5, 12284 }, /* F8 */
-    { 0x0000ffc6, 12287 }, /* F9 */
-    { 0x01001e1e, 12290 }, /* Fabovedot */
-    { 0x01001e1f, 12300 }, /* fabovedot */
-    { 0x010006f0, 12310 }, /* Farsi_0 */
-    { 0x010006f1, 12318 }, /* Farsi_1 */
-    { 0x010006f2, 12326 }, /* Farsi_2 */
-    { 0x010006f3, 12334 }, /* Farsi_3 */
-    { 0x010006f4, 12342 }, /* Farsi_4 */
-    { 0x010006f5, 12350 }, /* Farsi_5 */
-    { 0x010006f6, 12358 }, /* Farsi_6 */
-    { 0x010006f7, 12366 }, /* Farsi_7 */
-    { 0x010006f8, 12374 }, /* Farsi_8 */
-    { 0x010006f9, 12382 }, /* Farsi_9 */
-    { 0x010006cc, 12390 }, /* Farsi_yeh */
-    { 0x00000af8, 12400 }, /* femalesymbol */
-    { 0x000009e3, 12413 }, /* ff */
-    { 0x010020a3, 12416 }, /* FFrancSign */
-    { 0x00000abb, 12427 }, /* figdash */
-    { 0x00000adc, 12435 }, /* filledlefttribullet */
-    { 0x00000adb, 12455 }, /* filledrectbullet */
-    { 0x00000add, 12472 }, /* filledrighttribullet */
-    { 0x00000ae9, 12493 }, /* filledtribulletdown */
-    { 0x00000ae8, 12513 }, /* filledtribulletup */
-    { 0x0000ff68, 12531 }, /* Find */
-    { 0x0000fed0, 12536 }, /* First_Virtual_Screen */
-    { 0x00000ac5, 12557 }, /* fiveeighths */
-    { 0x00000ab7, 12569 }, /* fivesixths */
-    { 0x01002085, 12580 }, /* fivesubscript */
-    { 0x01002075, 12594 }, /* fivesuperior */
-    { 0x00000ab5, 12607 }, /* fourfifths */
-    { 0x01002084, 12618 }, /* foursubscript */
-    { 0x01002074, 12632 }, /* foursuperior */
-    { 0x0100221c, 12645 }, /* fourthroot */
-    { 0x000008f6, 12656 }, /* function */
-    { 0x00000047, 12665 }, /* G */
-    { 0x00000067, 12667 }, /* g */
-    { 0x000002d5, 12669 }, /* Gabovedot */
-    { 0x000002f5, 12679 }, /* gabovedot */
-    { 0x000002ab, 12689 }, /* Gbreve */
-    { 0x000002bb, 12696 }, /* gbreve */
-    { 0x010001e6, 12703 }, /* Gcaron */
-    { 0x010001e7, 12710 }, /* gcaron */
-    { 0x000003ab, 12717 }, /* Gcedilla */
-    { 0x000003bb, 12726 }, /* gcedilla */
-    { 0x000002d8, 12735 }, /* Gcircumflex */
-    { 0x000002f8, 12747 }, /* gcircumflex */
-    { 0x010010d0, 12759 }, /* Georgian_an */
-    { 0x010010d1, 12771 }, /* Georgian_ban */
-    { 0x010010ea, 12784 }, /* Georgian_can */
-    { 0x010010ed, 12797 }, /* Georgian_char */
-    { 0x010010e9, 12811 }, /* Georgian_chin */
-    { 0x010010ec, 12825 }, /* Georgian_cil */
-    { 0x010010d3, 12838 }, /* Georgian_don */
-    { 0x010010d4, 12851 }, /* Georgian_en */
-    { 0x010010f6, 12863 }, /* Georgian_fi */
-    { 0x010010d2, 12875 }, /* Georgian_gan */
-    { 0x010010e6, 12888 }, /* Georgian_ghan */
-    { 0x010010f0, 12902 }, /* Georgian_hae */
-    { 0x010010f4, 12915 }, /* Georgian_har */
-    { 0x010010f1, 12928 }, /* Georgian_he */
-    { 0x010010f2, 12940 }, /* Georgian_hie */
-    { 0x010010f5, 12953 }, /* Georgian_hoe */
-    { 0x010010d8, 12966 }, /* Georgian_in */
-    { 0x010010ef, 12978 }, /* Georgian_jhan */
-    { 0x010010eb, 12992 }, /* Georgian_jil */
-    { 0x010010d9, 13005 }, /* Georgian_kan */
-    { 0x010010e5, 13018 }, /* Georgian_khar */
-    { 0x010010da, 13032 }, /* Georgian_las */
-    { 0x010010db, 13045 }, /* Georgian_man */
-    { 0x010010dc, 13058 }, /* Georgian_nar */
-    { 0x010010dd, 13071 }, /* Georgian_on */
-    { 0x010010de, 13083 }, /* Georgian_par */
-    { 0x010010e4, 13096 }, /* Georgian_phar */
-    { 0x010010e7, 13110 }, /* Georgian_qar */
-    { 0x010010e0, 13123 }, /* Georgian_rae */
-    { 0x010010e1, 13136 }, /* Georgian_san */
-    { 0x010010e8, 13149 }, /* Georgian_shin */
-    { 0x010010d7, 13163 }, /* Georgian_tan */
-    { 0x010010e2, 13176 }, /* Georgian_tar */
-    { 0x010010e3, 13189 }, /* Georgian_un */
-    { 0x010010d5, 13201 }, /* Georgian_vin */
-    { 0x010010f3, 13214 }, /* Georgian_we */
-    { 0x010010ee, 13226 }, /* Georgian_xan */
-    { 0x010010d6, 13239 }, /* Georgian_zen */
-    { 0x010010df, 13252 }, /* Georgian_zhar */
-    { 0x00000060, 13266 }, /* grave */
-    { 0x0000003e, 13272 }, /* greater */
-    { 0x000008be, 13280 }, /* greaterthanequal */
-    { 0x000007ae, 13297 }, /* Greek_accentdieresis */
-    { 0x000007c1, 13318 }, /* Greek_ALPHA */
-    { 0x000007e1, 13330 }, /* Greek_alpha */
-    { 0x000007a1, 13342 }, /* Greek_ALPHAaccent */
-    { 0x000007b1, 13360 }, /* Greek_alphaaccent */
-    { 0x000007c2, 13378 }, /* Greek_BETA */
-    { 0x000007e2, 13389 }, /* Greek_beta */
-    { 0x000007d7, 13400 }, /* Greek_CHI */
-    { 0x000007f7, 13410 }, /* Greek_chi */
-    { 0x000007c4, 13420 }, /* Greek_DELTA */
-    { 0x000007e4, 13432 }, /* Greek_delta */
-    { 0x000007c5, 13444 }, /* Greek_EPSILON */
-    { 0x000007e5, 13458 }, /* Greek_epsilon */
-    { 0x000007a2, 13472 }, /* Greek_EPSILONaccent */
-    { 0x000007b2, 13492 }, /* Greek_epsilonaccent */
-    { 0x000007c7, 13512 }, /* Greek_ETA */
-    { 0x000007e7, 13522 }, /* Greek_eta */
-    { 0x000007a3, 13532 }, /* Greek_ETAaccent */
-    { 0x000007b3, 13548 }, /* Greek_etaaccent */
-    { 0x000007f3, 13564 }, /* Greek_finalsmallsigma */
-    { 0x000007c3, 13586 }, /* Greek_GAMMA */
-    { 0x000007e3, 13598 }, /* Greek_gamma */
-    { 0x000007af, 13610 }, /* Greek_horizbar */
-    { 0x000007c9, 13625 }, /* Greek_IOTA */
-    { 0x000007e9, 13636 }, /* Greek_iota */
-    { 0x000007a4, 13647 }, /* Greek_IOTAaccent */
-    { 0x000007b4, 13664 }, /* Greek_iotaaccent */
-    { 0x000007b6, 13681 }, /* Greek_iotaaccentdieresis */
-    { 0x000007a5, 13706 }, /* Greek_IOTAdiaeresis */
-    { 0x000007a5, 13726 }, /* Greek_IOTAdieresis */
-    { 0x000007b5, 13745 }, /* Greek_iotadieresis */
-    { 0x000007ca, 13764 }, /* Greek_KAPPA */
-    { 0x000007ea, 13776 }, /* Greek_kappa */
-    { 0x000007cb, 13788 }, /* Greek_LAMBDA */
-    { 0x000007eb, 13801 }, /* Greek_lambda */
-    { 0x000007cb, 13814 }, /* Greek_LAMDA */
-    { 0x000007eb, 13826 }, /* Greek_lamda */
-    { 0x000007cc, 13838 }, /* Greek_MU */
-    { 0x000007ec, 13847 }, /* Greek_mu */
-    { 0x000007cd, 13856 }, /* Greek_NU */
-    { 0x000007ed, 13865 }, /* Greek_nu */
-    { 0x000007d9, 13874 }, /* Greek_OMEGA */
-    { 0x000007f9, 13886 }, /* Greek_omega */
-    { 0x000007ab, 13898 }, /* Greek_OMEGAaccent */
-    { 0x000007bb, 13916 }, /* Greek_omegaaccent */
-    { 0x000007cf, 13934 }, /* Greek_OMICRON */
-    { 0x000007ef, 13948 }, /* Greek_omicron */
-    { 0x000007a7, 13962 }, /* Greek_OMICRONaccent */
-    { 0x000007b7, 13982 }, /* Greek_omicronaccent */
-    { 0x000007d6, 14002 }, /* Greek_PHI */
-    { 0x000007f6, 14012 }, /* Greek_phi */
-    { 0x000007d0, 14022 }, /* Greek_PI */
-    { 0x000007f0, 14031 }, /* Greek_pi */
-    { 0x000007d8, 14040 }, /* Greek_PSI */
-    { 0x000007f8, 14050 }, /* Greek_psi */
-    { 0x000007d1, 14060 }, /* Greek_RHO */
-    { 0x000007f1, 14070 }, /* Greek_rho */
-    { 0x000007d2, 14080 }, /* Greek_SIGMA */
-    { 0x000007f2, 14092 }, /* Greek_sigma */
-    { 0x0000ff7e, 14104 }, /* Greek_switch */
-    { 0x000007d4, 14117 }, /* Greek_TAU */
-    { 0x000007f4, 14127 }, /* Greek_tau */
-    { 0x000007c8, 14137 }, /* Greek_THETA */
-    { 0x000007e8, 14149 }, /* Greek_theta */
-    { 0x000007d5, 14161 }, /* Greek_UPSILON */
-    { 0x000007f5, 14175 }, /* Greek_upsilon */
-    { 0x000007a8, 14189 }, /* Greek_UPSILONaccent */
-    { 0x000007b8, 14209 }, /* Greek_upsilonaccent */
-    { 0x000007ba, 14229 }, /* Greek_upsilonaccentdieresis */
-    { 0x000007a9, 14257 }, /* Greek_UPSILONdieresis */
-    { 0x000007b9, 14279 }, /* Greek_upsilondieresis */
-    { 0x000007ce, 14301 }, /* Greek_XI */
-    { 0x000007ee, 14310 }, /* Greek_xi */
-    { 0x000007c6, 14319 }, /* Greek_ZETA */
-    { 0x000007e6, 14330 }, /* Greek_zeta */
-    { 0x100000be, 14341 }, /* guilder */
-    { 0x000000ab, 14349 }, /* guillemotleft */
-    { 0x000000bb, 14363 }, /* guillemotright */
-    { 0x00000048, 14378 }, /* H */
-    { 0x00000068, 14380 }, /* h */
-    { 0x00000aa8, 14382 }, /* hairspace */
-    { 0x0000ff31, 14392 }, /* Hangul */
-    { 0x00000ebf, 14399 }, /* Hangul_A */
-    { 0x00000ec0, 14408 }, /* Hangul_AE */
-    { 0x00000ef6, 14418 }, /* Hangul_AraeA */
-    { 0x00000ef7, 14431 }, /* Hangul_AraeAE */
-    { 0x0000ff39, 14445 }, /* Hangul_Banja */
-    { 0x00000eba, 14458 }, /* Hangul_Cieuc */
-    { 0x0000ff37, 14471 }, /* Hangul_Codeinput */
-    { 0x00000ea7, 14488 }, /* Hangul_Dikeud */
-    { 0x00000ec4, 14502 }, /* Hangul_E */
-    { 0x0000ff33, 14511 }, /* Hangul_End */
-    { 0x00000ec3, 14522 }, /* Hangul_EO */
-    { 0x00000ed1, 14532 }, /* Hangul_EU */
-    { 0x0000ff34, 14542 }, /* Hangul_Hanja */
-    { 0x00000ebe, 14555 }, /* Hangul_Hieuh */
-    { 0x00000ed3, 14568 }, /* Hangul_I */
-    { 0x00000eb7, 14577 }, /* Hangul_Ieung */
-    { 0x00000eea, 14590 }, /* Hangul_J_Cieuc */
-    { 0x00000eda, 14605 }, /* Hangul_J_Dikeud */
-    { 0x00000eee, 14621 }, /* Hangul_J_Hieuh */
-    { 0x00000ee8, 14636 }, /* Hangul_J_Ieung */
-    { 0x00000ee9, 14651 }, /* Hangul_J_Jieuj */
-    { 0x00000eeb, 14666 }, /* Hangul_J_Khieuq */
-    { 0x00000ed4, 14682 }, /* Hangul_J_Kiyeog */
-    { 0x00000ed6, 14698 }, /* Hangul_J_KiyeogSios */
-    { 0x00000ef9, 14718 }, /* Hangul_J_KkogjiDalrinIeung */
-    { 0x00000ee3, 14745 }, /* Hangul_J_Mieum */
-    { 0x00000ed7, 14760 }, /* Hangul_J_Nieun */
-    { 0x00000ed9, 14775 }, /* Hangul_J_NieunHieuh */
-    { 0x00000ed8, 14795 }, /* Hangul_J_NieunJieuj */
-    { 0x00000ef8, 14815 }, /* Hangul_J_PanSios */
-    { 0x00000eed, 14832 }, /* Hangul_J_Phieuf */
-    { 0x00000ee4, 14848 }, /* Hangul_J_Pieub */
-    { 0x00000ee5, 14863 }, /* Hangul_J_PieubSios */
-    { 0x00000edb, 14882 }, /* Hangul_J_Rieul */
-    { 0x00000ee2, 14897 }, /* Hangul_J_RieulHieuh */
-    { 0x00000edc, 14917 }, /* Hangul_J_RieulKiyeog */
-    { 0x00000edd, 14938 }, /* Hangul_J_RieulMieum */
-    { 0x00000ee1, 14958 }, /* Hangul_J_RieulPhieuf */
-    { 0x00000ede, 14979 }, /* Hangul_J_RieulPieub */
-    { 0x00000edf, 14999 }, /* Hangul_J_RieulSios */
-    { 0x00000ee0, 15018 }, /* Hangul_J_RieulTieut */
-    { 0x00000ee6, 15038 }, /* Hangul_J_Sios */
-    { 0x00000ed5, 15052 }, /* Hangul_J_SsangKiyeog */
-    { 0x00000ee7, 15073 }, /* Hangul_J_SsangSios */
-    { 0x00000eec, 15092 }, /* Hangul_J_Tieut */
-    { 0x00000efa, 15107 }, /* Hangul_J_YeorinHieuh */
-    { 0x0000ff35, 15128 }, /* Hangul_Jamo */
-    { 0x0000ff38, 15140 }, /* Hangul_Jeonja */
-    { 0x00000eb8, 15154 }, /* Hangul_Jieuj */
-    { 0x00000ebb, 15167 }, /* Hangul_Khieuq */
-    { 0x00000ea1, 15181 }, /* Hangul_Kiyeog */
-    { 0x00000ea3, 15195 }, /* Hangul_KiyeogSios */
-    { 0x00000ef3, 15213 }, /* Hangul_KkogjiDalrinIeung */
-    { 0x00000eb1, 15238 }, /* Hangul_Mieum */
-    { 0x0000ff3d, 15251 }, /* Hangul_MultipleCandidate */
-    { 0x00000ea4, 15276 }, /* Hangul_Nieun */
-    { 0x00000ea6, 15289 }, /* Hangul_NieunHieuh */
-    { 0x00000ea5, 15307 }, /* Hangul_NieunJieuj */
-    { 0x00000ec7, 15325 }, /* Hangul_O */
-    { 0x00000eca, 15334 }, /* Hangul_OE */
-    { 0x00000ef2, 15344 }, /* Hangul_PanSios */
-    { 0x00000ebd, 15359 }, /* Hangul_Phieuf */
-    { 0x00000eb2, 15373 }, /* Hangul_Pieub */
-    { 0x00000eb4, 15386 }, /* Hangul_PieubSios */
-    { 0x0000ff3b, 15403 }, /* Hangul_PostHanja */
-    { 0x0000ff3a, 15420 }, /* Hangul_PreHanja */
-    { 0x0000ff3e, 15436 }, /* Hangul_PreviousCandidate */
-    { 0x00000ea9, 15461 }, /* Hangul_Rieul */
-    { 0x00000eb0, 15474 }, /* Hangul_RieulHieuh */
-    { 0x00000eaa, 15492 }, /* Hangul_RieulKiyeog */
-    { 0x00000eab, 15511 }, /* Hangul_RieulMieum */
-    { 0x00000eaf, 15529 }, /* Hangul_RieulPhieuf */
-    { 0x00000eac, 15548 }, /* Hangul_RieulPieub */
-    { 0x00000ead, 15566 }, /* Hangul_RieulSios */
-    { 0x00000eae, 15583 }, /* Hangul_RieulTieut */
-    { 0x00000eef, 15601 }, /* Hangul_RieulYeorinHieuh */
-    { 0x0000ff36, 15625 }, /* Hangul_Romaja */
-    { 0x0000ff3c, 15639 }, /* Hangul_SingleCandidate */
-    { 0x00000eb5, 15662 }, /* Hangul_Sios */
-    { 0x0000ff3f, 15674 }, /* Hangul_Special */
-    { 0x00000ea8, 15689 }, /* Hangul_SsangDikeud */
-    { 0x00000eb9, 15708 }, /* Hangul_SsangJieuj */
-    { 0x00000ea2, 15726 }, /* Hangul_SsangKiyeog */
-    { 0x00000eb3, 15745 }, /* Hangul_SsangPieub */
-    { 0x00000eb6, 15763 }, /* Hangul_SsangSios */
-    { 0x0000ff32, 15780 }, /* Hangul_Start */
-    { 0x00000ef0, 15793 }, /* Hangul_SunkyeongeumMieum */
-    { 0x00000ef4, 15818 }, /* Hangul_SunkyeongeumPhieuf */
-    { 0x00000ef1, 15844 }, /* Hangul_SunkyeongeumPieub */
-    { 0x0000ff7e, 15869 }, /* Hangul_switch */
-    { 0x00000ebc, 15883 }, /* Hangul_Tieut */
-    { 0x00000ecc, 15896 }, /* Hangul_U */
-    { 0x00000ec8, 15905 }, /* Hangul_WA */
-    { 0x00000ec9, 15915 }, /* Hangul_WAE */
-    { 0x00000ece, 15926 }, /* Hangul_WE */
-    { 0x00000ecd, 15936 }, /* Hangul_WEO */
-    { 0x00000ecf, 15947 }, /* Hangul_WI */
-    { 0x00000ec1, 15957 }, /* Hangul_YA */
-    { 0x00000ec2, 15967 }, /* Hangul_YAE */
-    { 0x00000ec6, 15978 }, /* Hangul_YE */
-    { 0x00000ec5, 15988 }, /* Hangul_YEO */
-    { 0x00000ef5, 15999 }, /* Hangul_YeorinHieuh */
-    { 0x00000ed2, 16018 }, /* Hangul_YI */
-    { 0x00000ecb, 16028 }, /* Hangul_YO */
-    { 0x00000ed0, 16038 }, /* Hangul_YU */
-    { 0x0000ff29, 16048 }, /* Hankaku */
-    { 0x000002a6, 16056 }, /* Hcircumflex */
-    { 0x000002b6, 16068 }, /* hcircumflex */
-    { 0x00000aee, 16080 }, /* heart */
-    { 0x00000ce0, 16086 }, /* hebrew_aleph */
-    { 0x00000cf2, 16099 }, /* hebrew_ayin */
-    { 0x00000ce1, 16111 }, /* hebrew_bet */
-    { 0x00000ce1, 16122 }, /* hebrew_beth */
-    { 0x00000ce7, 16134 }, /* hebrew_chet */
-    { 0x00000ce3, 16146 }, /* hebrew_dalet */
-    { 0x00000ce3, 16159 }, /* hebrew_daleth */
-    { 0x00000cdf, 16173 }, /* hebrew_doublelowline */
-    { 0x00000cea, 16194 }, /* hebrew_finalkaph */
-    { 0x00000ced, 16211 }, /* hebrew_finalmem */
-    { 0x00000cef, 16227 }, /* hebrew_finalnun */
-    { 0x00000cf3, 16243 }, /* hebrew_finalpe */
-    { 0x00000cf5, 16258 }, /* hebrew_finalzade */
-    { 0x00000cf5, 16275 }, /* hebrew_finalzadi */
-    { 0x00000ce2, 16292 }, /* hebrew_gimel */
-    { 0x00000ce2, 16305 }, /* hebrew_gimmel */
-    { 0x00000ce4, 16319 }, /* hebrew_he */
-    { 0x00000ce7, 16329 }, /* hebrew_het */
-    { 0x00000ceb, 16340 }, /* hebrew_kaph */
-    { 0x00000cf7, 16352 }, /* hebrew_kuf */
-    { 0x00000cec, 16363 }, /* hebrew_lamed */
-    { 0x00000cee, 16376 }, /* hebrew_mem */
-    { 0x00000cf0, 16387 }, /* hebrew_nun */
-    { 0x00000cf4, 16398 }, /* hebrew_pe */
-    { 0x00000cf7, 16408 }, /* hebrew_qoph */
-    { 0x00000cf8, 16420 }, /* hebrew_resh */
-    { 0x00000cf1, 16432 }, /* hebrew_samech */
-    { 0x00000cf1, 16446 }, /* hebrew_samekh */
-    { 0x00000cf9, 16460 }, /* hebrew_shin */
-    { 0x0000ff7e, 16472 }, /* Hebrew_switch */
-    { 0x00000cfa, 16486 }, /* hebrew_taf */
-    { 0x00000cfa, 16497 }, /* hebrew_taw */
-    { 0x00000ce8, 16508 }, /* hebrew_tet */
-    { 0x00000ce8, 16519 }, /* hebrew_teth */
-    { 0x00000ce5, 16531 }, /* hebrew_waw */
-    { 0x00000ce9, 16542 }, /* hebrew_yod */
-    { 0x00000cf6, 16553 }, /* hebrew_zade */
-    { 0x00000cf6, 16565 }, /* hebrew_zadi */
-    { 0x00000ce6, 16577 }, /* hebrew_zain */
-    { 0x00000ce6, 16589 }, /* hebrew_zayin */
-    { 0x0000ff6a, 16602 }, /* Help */
-    { 0x0000ff23, 16607 }, /* Henkan */
-    { 0x0000ff23, 16614 }, /* Henkan_Mode */
-    { 0x00000ada, 16626 }, /* hexagram */
-    { 0x0000ff25, 16635 }, /* Hiragana */
-    { 0x0000ff27, 16644 }, /* Hiragana_Katakana */
-    { 0x0000ff50, 16662 }, /* Home */
-    { 0x000008a3, 16667 }, /* horizconnector */
-    { 0x000009ef, 16682 }, /* horizlinescan1 */
-    { 0x000009f0, 16697 }, /* horizlinescan3 */
-    { 0x000009f1, 16712 }, /* horizlinescan5 */
-    { 0x000009f2, 16727 }, /* horizlinescan7 */
-    { 0x000009f3, 16742 }, /* horizlinescan9 */
-    { 0x1000ff74, 16757 }, /* hpBackTab */
-    { 0x100000fc, 16767 }, /* hpblock */
-    { 0x1000ff6f, 16775 }, /* hpClearLine */
-    { 0x1000ff73, 16787 }, /* hpDeleteChar */
-    { 0x1000ff71, 16800 }, /* hpDeleteLine */
-    { 0x100000be, 16813 }, /* hpguilder */
-    { 0x1000ff72, 16823 }, /* hpInsertChar */
-    { 0x1000ff70, 16836 }, /* hpInsertLine */
-    { 0x100000ee, 16849 }, /* hpIO */
-    { 0x1000ff75, 16854 }, /* hpKP_BackTab */
-    { 0x100000af, 16867 }, /* hplira */
-    { 0x100000f6, 16874 }, /* hplongminus */
-    { 0x1000ff48, 16886 }, /* hpModelock1 */
-    { 0x1000ff49, 16898 }, /* hpModelock2 */
-    { 0x100000a8, 16910 }, /* hpmute_acute */
-    { 0x100000aa, 16923 }, /* hpmute_asciicircum */
-    { 0x100000ac, 16942 }, /* hpmute_asciitilde */
-    { 0x100000ab, 16960 }, /* hpmute_diaeresis */
-    { 0x100000a9, 16977 }, /* hpmute_grave */
-    { 0x1000ff6c, 16990 }, /* hpReset */
-    { 0x1000ff6d, 16998 }, /* hpSystem */
-    { 0x1000ff6e, 17007 }, /* hpUser */
-    { 0x100000ee, 17014 }, /* hpYdiaeresis */
-    { 0x000002a1, 17027 }, /* Hstroke */
-    { 0x000002b1, 17035 }, /* hstroke */
-    { 0x000009e2, 17043 }, /* ht */
-    { 0x0000ffed, 17046 }, /* Hyper_L */
-    { 0x0000ffee, 17054 }, /* Hyper_R */
-    { 0x000000ad, 17062 }, /* hyphen */
-    { 0x00000049, 17069 }, /* I */
-    { 0x00000069, 17071 }, /* i */
-    { 0x000002a9, 17073 }, /* Iabovedot */
-    { 0x000000cd, 17083 }, /* Iacute */
-    { 0x000000ed, 17090 }, /* iacute */
-    { 0x01001eca, 17097 }, /* Ibelowdot */
-    { 0x01001ecb, 17107 }, /* ibelowdot */
-    { 0x0100012c, 17117 }, /* Ibreve */
-    { 0x0100012d, 17124 }, /* ibreve */
-    { 0x000000ce, 17131 }, /* Icircumflex */
-    { 0x000000ee, 17143 }, /* icircumflex */
-    { 0x000008cf, 17155 }, /* identical */
-    { 0x000000cf, 17165 }, /* Idiaeresis */
-    { 0x000000ef, 17176 }, /* idiaeresis */
-    { 0x000002b9, 17187 }, /* idotless */
-    { 0x000008cd, 17196 }, /* ifonlyif */
-    { 0x000000cc, 17205 }, /* Igrave */
-    { 0x000000ec, 17212 }, /* igrave */
-    { 0x01001ec8, 17219 }, /* Ihook */
-    { 0x01001ec9, 17225 }, /* ihook */
-    { 0x000003cf, 17231 }, /* Imacron */
-    { 0x000003ef, 17239 }, /* imacron */
-    { 0x000008ce, 17247 }, /* implies */
-    { 0x000008da, 17255 }, /* includedin */
-    { 0x000008db, 17266 }, /* includes */
-    { 0x000008c2, 17275 }, /* infinity */
-    { 0x0000ff63, 17284 }, /* Insert */
-    { 0x1000ff72, 17291 }, /* InsertChar */
-    { 0x1000ff70, 17302 }, /* InsertLine */
-    { 0x000008bf, 17313 }, /* integral */
-    { 0x000008dc, 17322 }, /* intersection */
-    { 0x100000ee, 17335 }, /* IO */
-    { 0x000003c7, 17338 }, /* Iogonek */
-    { 0x000003e7, 17346 }, /* iogonek */
-    { 0x0000fe33, 17354 }, /* ISO_Center_Object */
-    { 0x0000fe30, 17372 }, /* ISO_Continuous_Underline */
-    { 0x0000fe31, 17397 }, /* ISO_Discontinuous_Underline */
-    { 0x0000fe32, 17425 }, /* ISO_Emphasize */
-    { 0x0000fe34, 17439 }, /* ISO_Enter */
-    { 0x0000fe2f, 17449 }, /* ISO_Fast_Cursor_Down */
-    { 0x0000fe2c, 17470 }, /* ISO_Fast_Cursor_Left */
-    { 0x0000fe2d, 17491 }, /* ISO_Fast_Cursor_Right */
-    { 0x0000fe2e, 17513 }, /* ISO_Fast_Cursor_Up */
-    { 0x0000fe0c, 17532 }, /* ISO_First_Group */
-    { 0x0000fe0d, 17548 }, /* ISO_First_Group_Lock */
-    { 0x0000fe06, 17569 }, /* ISO_Group_Latch */
-    { 0x0000fe07, 17585 }, /* ISO_Group_Lock */
-    { 0x0000ff7e, 17600 }, /* ISO_Group_Shift */
-    { 0x0000fe0e, 17616 }, /* ISO_Last_Group */
-    { 0x0000fe0f, 17631 }, /* ISO_Last_Group_Lock */
-    { 0x0000fe20, 17651 }, /* ISO_Left_Tab */
-    { 0x0000fe02, 17664 }, /* ISO_Level2_Latch */
-    { 0x0000fe04, 17681 }, /* ISO_Level3_Latch */
-    { 0x0000fe05, 17698 }, /* ISO_Level3_Lock */
-    { 0x0000fe03, 17714 }, /* ISO_Level3_Shift */
-    { 0x0000fe12, 17731 }, /* ISO_Level5_Latch */
-    { 0x0000fe13, 17748 }, /* ISO_Level5_Lock */
-    { 0x0000fe11, 17764 }, /* ISO_Level5_Shift */
-    { 0x0000fe01, 17781 }, /* ISO_Lock */
-    { 0x0000fe22, 17790 }, /* ISO_Move_Line_Down */
-    { 0x0000fe21, 17809 }, /* ISO_Move_Line_Up */
-    { 0x0000fe08, 17826 }, /* ISO_Next_Group */
-    { 0x0000fe09, 17841 }, /* ISO_Next_Group_Lock */
-    { 0x0000fe24, 17861 }, /* ISO_Partial_Line_Down */
-    { 0x0000fe23, 17883 }, /* ISO_Partial_Line_Up */
-    { 0x0000fe25, 17903 }, /* ISO_Partial_Space_Left */
-    { 0x0000fe26, 17926 }, /* ISO_Partial_Space_Right */
-    { 0x0000fe0a, 17950 }, /* ISO_Prev_Group */
-    { 0x0000fe0b, 17965 }, /* ISO_Prev_Group_Lock */
-    { 0x0000fe2b, 17985 }, /* ISO_Release_Both_Margins */
-    { 0x0000fe29, 18010 }, /* ISO_Release_Margin_Left */
-    { 0x0000fe2a, 18034 }, /* ISO_Release_Margin_Right */
-    { 0x0000fe27, 18059 }, /* ISO_Set_Margin_Left */
-    { 0x0000fe28, 18079 }, /* ISO_Set_Margin_Right */
-    { 0x000003a5, 18100 }, /* Itilde */
-    { 0x000003b5, 18107 }, /* itilde */
-    { 0x0000004a, 18114 }, /* J */
-    { 0x0000006a, 18116 }, /* j */
-    { 0x000002ac, 18118 }, /* Jcircumflex */
-    { 0x000002bc, 18130 }, /* jcircumflex */
-    { 0x00000bca, 18142 }, /* jot */
-    { 0x0000004b, 18146 }, /* K */
-    { 0x0000006b, 18148 }, /* k */
-    { 0x000004a7, 18150 }, /* kana_a */
-    { 0x000004b1, 18157 }, /* kana_A */
-    { 0x000004c1, 18164 }, /* kana_CHI */
-    { 0x000004a3, 18173 }, /* kana_closingbracket */
-    { 0x000004a4, 18193 }, /* kana_comma */
-    { 0x000004a5, 18204 }, /* kana_conjunctive */
-    { 0x000004aa, 18221 }, /* kana_e */
-    { 0x000004b4, 18228 }, /* kana_E */
-    { 0x000004cc, 18235 }, /* kana_FU */
-    { 0x000004a1, 18243 }, /* kana_fullstop */
-    { 0x000004ca, 18257 }, /* kana_HA */
-    { 0x000004cd, 18265 }, /* kana_HE */
-    { 0x000004cb, 18273 }, /* kana_HI */
-    { 0x000004ce, 18281 }, /* kana_HO */
-    { 0x000004cc, 18289 }, /* kana_HU */
-    { 0x000004a8, 18297 }, /* kana_i */
-    { 0x000004b2, 18304 }, /* kana_I */
-    { 0x000004b6, 18311 }, /* kana_KA */
-    { 0x000004b9, 18319 }, /* kana_KE */
-    { 0x000004b7, 18327 }, /* kana_KI */
-    { 0x000004ba, 18335 }, /* kana_KO */
-    { 0x000004b8, 18343 }, /* kana_KU */
-    { 0x0000ff2d, 18351 }, /* Kana_Lock */
-    { 0x000004cf, 18361 }, /* kana_MA */
-    { 0x000004d2, 18369 }, /* kana_ME */
-    { 0x000004d0, 18377 }, /* kana_MI */
-    { 0x000004a5, 18385 }, /* kana_middledot */
-    { 0x000004d3, 18400 }, /* kana_MO */
-    { 0x000004d1, 18408 }, /* kana_MU */
-    { 0x000004dd, 18416 }, /* kana_N */
-    { 0x000004c5, 18423 }, /* kana_NA */
-    { 0x000004c8, 18431 }, /* kana_NE */
-    { 0x000004c6, 18439 }, /* kana_NI */
-    { 0x000004c9, 18447 }, /* kana_NO */
-    { 0x000004c7, 18455 }, /* kana_NU */
-    { 0x000004ab, 18463 }, /* kana_o */
-    { 0x000004b5, 18470 }, /* kana_O */
-    { 0x000004a2, 18477 }, /* kana_openingbracket */
-    { 0x000004d7, 18497 }, /* kana_RA */
-    { 0x000004da, 18505 }, /* kana_RE */
-    { 0x000004d8, 18513 }, /* kana_RI */
-    { 0x000004db, 18521 }, /* kana_RO */
-    { 0x000004d9, 18529 }, /* kana_RU */
-    { 0x000004bb, 18537 }, /* kana_SA */
-    { 0x000004be, 18545 }, /* kana_SE */
-    { 0x000004bc, 18553 }, /* kana_SHI */
-    { 0x0000ff2e, 18562 }, /* Kana_Shift */
-    { 0x000004bf, 18573 }, /* kana_SO */
-    { 0x000004bd, 18581 }, /* kana_SU */
-    { 0x0000ff7e, 18589 }, /* kana_switch */
-    { 0x000004c0, 18601 }, /* kana_TA */
-    { 0x000004c3, 18609 }, /* kana_TE */
-    { 0x000004c1, 18617 }, /* kana_TI */
-    { 0x000004c4, 18625 }, /* kana_TO */
-    { 0x000004af, 18633 }, /* kana_tsu */
-    { 0x000004c2, 18642 }, /* kana_TSU */
-    { 0x000004af, 18651 }, /* kana_tu */
-    { 0x000004c2, 18659 }, /* kana_TU */
-    { 0x000004a9, 18667 }, /* kana_u */
-    { 0x000004b3, 18674 }, /* kana_U */
-    { 0x000004dc, 18681 }, /* kana_WA */
-    { 0x000004a6, 18689 }, /* kana_WO */
-    { 0x000004ac, 18697 }, /* kana_ya */
-    { 0x000004d4, 18705 }, /* kana_YA */
-    { 0x000004ae, 18713 }, /* kana_yo */
-    { 0x000004d6, 18721 }, /* kana_YO */
-    { 0x000004ad, 18729 }, /* kana_yu */
-    { 0x000004d5, 18737 }, /* kana_YU */
-    { 0x0000ff21, 18745 }, /* Kanji */
-    { 0x0000ff37, 18751 }, /* Kanji_Bangou */
-    { 0x000003a2, 18764 }, /* kappa */
-    { 0x0000ff26, 18770 }, /* Katakana */
-    { 0x000003d3, 18779 }, /* Kcedilla */
-    { 0x000003f3, 18788 }, /* kcedilla */
-    { 0x00000eff, 18797 }, /* Korean_Won */
-    { 0x0000ffb0, 18808 }, /* KP_0 */
-    { 0x0000ffb1, 18813 }, /* KP_1 */
-    { 0x0000ffb2, 18818 }, /* KP_2 */
-    { 0x0000ffb3, 18823 }, /* KP_3 */
-    { 0x0000ffb4, 18828 }, /* KP_4 */
-    { 0x0000ffb5, 18833 }, /* KP_5 */
-    { 0x0000ffb6, 18838 }, /* KP_6 */
-    { 0x0000ffb7, 18843 }, /* KP_7 */
-    { 0x0000ffb8, 18848 }, /* KP_8 */
-    { 0x0000ffb9, 18853 }, /* KP_9 */
-    { 0x0000ffab, 18858 }, /* KP_Add */
-    { 0x1000ff75, 18865 }, /* KP_BackTab */
-    { 0x0000ff9d, 18876 }, /* KP_Begin */
-    { 0x0000ffae, 18885 }, /* KP_Decimal */
-    { 0x0000ff9f, 18896 }, /* KP_Delete */
-    { 0x0000ffaf, 18906 }, /* KP_Divide */
-    { 0x0000ff99, 18916 }, /* KP_Down */
-    { 0x0000ff9c, 18924 }, /* KP_End */
-    { 0x0000ff8d, 18931 }, /* KP_Enter */
-    { 0x0000ffbd, 18940 }, /* KP_Equal */
-    { 0x0000ff91, 18949 }, /* KP_F1 */
-    { 0x0000ff92, 18955 }, /* KP_F2 */
-    { 0x0000ff93, 18961 }, /* KP_F3 */
-    { 0x0000ff94, 18967 }, /* KP_F4 */
-    { 0x0000ff95, 18973 }, /* KP_Home */
-    { 0x0000ff9e, 18981 }, /* KP_Insert */
-    { 0x0000ff96, 18991 }, /* KP_Left */
-    { 0x0000ffaa, 18999 }, /* KP_Multiply */
-    { 0x0000ff9b, 19011 }, /* KP_Next */
-    { 0x0000ff9b, 19019 }, /* KP_Page_Down */
-    { 0x0000ff9a, 19032 }, /* KP_Page_Up */
-    { 0x0000ff9a, 19043 }, /* KP_Prior */
-    { 0x0000ff98, 19052 }, /* KP_Right */
-    { 0x0000ffac, 19061 }, /* KP_Separator */
-    { 0x0000ff80, 19074 }, /* KP_Space */
-    { 0x0000ffad, 19083 }, /* KP_Subtract */
-    { 0x0000ff89, 19095 }, /* KP_Tab */
-    { 0x0000ff97, 19102 }, /* KP_Up */
-    { 0x000003a2, 19108 }, /* kra */
-    { 0x0000004c, 19112 }, /* L */
-    { 0x0000006c, 19114 }, /* l */
-    { 0x0000ffc8, 19116 }, /* L1 */
-    { 0x0000ffd1, 19119 }, /* L10 */
-    { 0x0000ffc9, 19123 }, /* L2 */
-    { 0x0000ffca, 19126 }, /* L3 */
-    { 0x0000ffcb, 19129 }, /* L4 */
-    { 0x0000ffcc, 19132 }, /* L5 */
-    { 0x0000ffcd, 19135 }, /* L6 */
-    { 0x0000ffce, 19138 }, /* L7 */
-    { 0x0000ffcf, 19141 }, /* L8 */
-    { 0x0000ffd0, 19144 }, /* L9 */
-    { 0x000001c5, 19147 }, /* Lacute */
-    { 0x000001e5, 19154 }, /* lacute */
-    { 0x0000fed4, 19161 }, /* Last_Virtual_Screen */
-    { 0x00000ad9, 19181 }, /* latincross */
-    { 0x01001e36, 19192 }, /* Lbelowdot */
-    { 0x01001e37, 19202 }, /* lbelowdot */
-    { 0x000001a5, 19212 }, /* Lcaron */
-    { 0x000001b5, 19219 }, /* lcaron */
-    { 0x000003a6, 19226 }, /* Lcedilla */
-    { 0x000003b6, 19235 }, /* lcedilla */
-    { 0x0000ff51, 19244 }, /* Left */
-    { 0x00000abc, 19249 }, /* leftanglebracket */
-    { 0x000008fb, 19266 }, /* leftarrow */
-    { 0x00000ba3, 19276 }, /* leftcaret */
-    { 0x00000ad2, 19286 }, /* leftdoublequotemark */
-    { 0x000008af, 19306 }, /* leftmiddlecurlybrace */
-    { 0x00000acc, 19327 }, /* leftopentriangle */
-    { 0x00000aea, 19344 }, /* leftpointer */
-    { 0x000008a1, 19356 }, /* leftradical */
-    { 0x00000bda, 19368 }, /* leftshoe */
-    { 0x00000ad0, 19377 }, /* leftsinglequotemark */
-    { 0x000009f4, 19397 }, /* leftt */
-    { 0x00000bdc, 19403 }, /* lefttack */
-    { 0x0000003c, 19412 }, /* less */
-    { 0x000008bc, 19417 }, /* lessthanequal */
-    { 0x000009e5, 19431 }, /* lf */
-    { 0x0000ff0a, 19434 }, /* Linefeed */
-    { 0x100000af, 19443 }, /* lira */
-    { 0x010020a4, 19448 }, /* LiraSign */
-    { 0x000008de, 19457 }, /* logicaland */
-    { 0x000008df, 19468 }, /* logicalor */
-    { 0x100000f6, 19478 }, /* longminus */
-    { 0x000009ed, 19488 }, /* lowleftcorner */
-    { 0x000009ea, 19502 }, /* lowrightcorner */
-    { 0x000001a3, 19517 }, /* Lstroke */
-    { 0x000001b3, 19525 }, /* lstroke */
-    { 0x0000004d, 19533 }, /* M */
-    { 0x0000006d, 19535 }, /* m */
-    { 0x01001e40, 19537 }, /* Mabovedot */
-    { 0x01001e41, 19547 }, /* mabovedot */
-    { 0x000006a5, 19557 }, /* Macedonia_dse */
-    { 0x000006b5, 19571 }, /* Macedonia_DSE */
-    { 0x000006a2, 19585 }, /* Macedonia_gje */
-    { 0x000006b2, 19599 }, /* Macedonia_GJE */
-    { 0x000006ac, 19613 }, /* Macedonia_kje */
-    { 0x000006bc, 19627 }, /* Macedonia_KJE */
-    { 0x000000af, 19641 }, /* macron */
-    { 0x0000ff3e, 19648 }, /* Mae_Koho */
-    { 0x00000af7, 19657 }, /* malesymbol */
-    { 0x00000af0, 19668 }, /* maltesecross */
-    { 0x00000abf, 19681 }, /* marker */
-    { 0x000000ba, 19688 }, /* masculine */
-    { 0x0000ff2c, 19698 }, /* Massyo */
-    { 0x0000ff67, 19705 }, /* Menu */
-    { 0x0000ffe7, 19710 }, /* Meta_L */
-    { 0x0000ffe8, 19717 }, /* Meta_R */
-    { 0x010020a5, 19724 }, /* MillSign */
-    { 0x0000002d, 19733 }, /* minus */
-    { 0x00000ad6, 19739 }, /* minutes */
-    { 0x0000ff7e, 19747 }, /* Mode_switch */
-    { 0x0000fe77, 19759 }, /* MouseKeys_Accel_Enable */
-    { 0x0000fe76, 19782 }, /* MouseKeys_Enable */
-    { 0x000000b5, 19799 }, /* mu */
-    { 0x0000ff22, 19802 }, /* Muhenkan */
-    { 0x0000ff20, 19811 }, /* Multi_key */
-    { 0x0000ff3d, 19821 }, /* MultipleCandidate */
-    { 0x000000d7, 19839 }, /* multiply */
-    { 0x00000af6, 19848 }, /* musicalflat */
-    { 0x00000af5, 19860 }, /* musicalsharp */
-    { 0x100000a8, 19873 }, /* mute_acute */
-    { 0x100000aa, 19884 }, /* mute_asciicircum */
-    { 0x100000ac, 19901 }, /* mute_asciitilde */
-    { 0x100000ab, 19917 }, /* mute_diaeresis */
-    { 0x100000a9, 19932 }, /* mute_grave */
-    { 0x0000004e, 19943 }, /* N */
-    { 0x0000006e, 19945 }, /* n */
-    { 0x000008c5, 19947 }, /* nabla */
-    { 0x000001d1, 19953 }, /* Nacute */
-    { 0x000001f1, 19960 }, /* nacute */
-    { 0x010020a6, 19967 }, /* NairaSign */
-    { 0x000001d2, 19977 }, /* Ncaron */
-    { 0x000001f2, 19984 }, /* ncaron */
-    { 0x000003d1, 19991 }, /* Ncedilla */
-    { 0x000003f1, 20000 }, /* ncedilla */
-    { 0x010020aa, 20009 }, /* NewSheqelSign */
-    { 0x0000ff56, 20023 }, /* Next */
-    { 0x0000fed2, 20028 }, /* Next_Virtual_Screen */
-    { 0x01002089, 20048 }, /* ninesubscript */
-    { 0x01002079, 20062 }, /* ninesuperior */
-    { 0x000009e8, 20075 }, /* nl */
-    { 0x000000a0, 20078 }, /* nobreakspace */
-    { 0x00000000, 20091 }, /* NoSymbol */
-    { 0x01002247, 20100 }, /* notapproxeq */
-    { 0x01002209, 20112 }, /* notelementof */
-    { 0x000008bd, 20125 }, /* notequal */
-    { 0x01002262, 20134 }, /* notidentical */
-    { 0x000000ac, 20147 }, /* notsign */
-    { 0x000000d1, 20155 }, /* Ntilde */
-    { 0x000000f1, 20162 }, /* ntilde */
-    { 0x0000ff7f, 20169 }, /* Num_Lock */
-    { 0x00000023, 20178 }, /* numbersign */
-    { 0x000006b0, 20189 }, /* numerosign */
-    { 0x0000004f, 20200 }, /* O */
-    { 0x0000006f, 20202 }, /* o */
-    { 0x000000d3, 20204 }, /* Oacute */
-    { 0x000000f3, 20211 }, /* oacute */
-    { 0x0100019f, 20218 }, /* Obarred */
-    { 0x01000275, 20226 }, /* obarred */
-    { 0x01001ecc, 20234 }, /* Obelowdot */
-    { 0x01001ecd, 20244 }, /* obelowdot */
-    { 0x010001d1, 20254 }, /* Ocaron */
-    { 0x010001d2, 20261 }, /* ocaron */
-    { 0x000000d4, 20268 }, /* Ocircumflex */
-    { 0x000000f4, 20280 }, /* ocircumflex */
-    { 0x01001ed0, 20292 }, /* Ocircumflexacute */
-    { 0x01001ed1, 20309 }, /* ocircumflexacute */
-    { 0x01001ed8, 20326 }, /* Ocircumflexbelowdot */
-    { 0x01001ed9, 20346 }, /* ocircumflexbelowdot */
-    { 0x01001ed2, 20366 }, /* Ocircumflexgrave */
-    { 0x01001ed3, 20383 }, /* ocircumflexgrave */
-    { 0x01001ed4, 20400 }, /* Ocircumflexhook */
-    { 0x01001ed5, 20416 }, /* ocircumflexhook */
-    { 0x01001ed6, 20432 }, /* Ocircumflextilde */
-    { 0x01001ed7, 20449 }, /* ocircumflextilde */
-    { 0x000000d6, 20466 }, /* Odiaeresis */
-    { 0x000000f6, 20477 }, /* odiaeresis */
-    { 0x000001d5, 20488 }, /* Odoubleacute */
-    { 0x000001f5, 20501 }, /* odoubleacute */
-    { 0x000013bc, 20514 }, /* OE */
-    { 0x000013bd, 20517 }, /* oe */
-    { 0x000001b2, 20520 }, /* ogonek */
-    { 0x000000d2, 20527 }, /* Ograve */
-    { 0x000000f2, 20534 }, /* ograve */
-    { 0x01001ece, 20541 }, /* Ohook */
-    { 0x01001ecf, 20547 }, /* ohook */
-    { 0x010001a0, 20553 }, /* Ohorn */
-    { 0x010001a1, 20559 }, /* ohorn */
-    { 0x01001eda, 20565 }, /* Ohornacute */
-    { 0x01001edb, 20576 }, /* ohornacute */
-    { 0x01001ee2, 20587 }, /* Ohornbelowdot */
-    { 0x01001ee3, 20601 }, /* ohornbelowdot */
-    { 0x01001edc, 20615 }, /* Ohorngrave */
-    { 0x01001edd, 20626 }, /* ohorngrave */
-    { 0x01001ede, 20637 }, /* Ohornhook */
-    { 0x01001edf, 20647 }, /* ohornhook */
-    { 0x01001ee0, 20657 }, /* Ohorntilde */
-    { 0x01001ee1, 20668 }, /* ohorntilde */
-    { 0x000003d2, 20679 }, /* Omacron */
-    { 0x000003f2, 20687 }, /* omacron */
-    { 0x00000ac3, 20695 }, /* oneeighth */
-    { 0x00000ab2, 20705 }, /* onefifth */
-    { 0x000000bd, 20714 }, /* onehalf */
-    { 0x000000bc, 20722 }, /* onequarter */
-    { 0x00000ab6, 20733 }, /* onesixth */
-    { 0x01002081, 20742 }, /* onesubscript */
-    { 0x000000b9, 20755 }, /* onesuperior */
-    { 0x00000ab0, 20767 }, /* onethird */
-    { 0x000000d8, 20776 }, /* Ooblique */
-    { 0x000000f8, 20785 }, /* ooblique */
-    { 0x00000ae2, 20794 }, /* openrectbullet */
-    { 0x00000ae5, 20809 }, /* openstar */
-    { 0x00000ae4, 20818 }, /* opentribulletdown */
-    { 0x00000ae3, 20836 }, /* opentribulletup */
-    { 0x000000aa, 20852 }, /* ordfeminine */
-    { 0x1004ff44, 20864 }, /* osfActivate */
-    { 0x1004ff31, 20876 }, /* osfAddMode */
-    { 0x1004ff08, 20887 }, /* osfBackSpace */
-    { 0x1004ff07, 20900 }, /* osfBackTab */
-    { 0x1004ff5a, 20911 }, /* osfBeginData */
-    { 0x1004ff58, 20924 }, /* osfBeginLine */
-    { 0x1004ff69, 20937 }, /* osfCancel */
-    { 0x1004ff0b, 20947 }, /* osfClear */
-    { 0x1004ff02, 20956 }, /* osfCopy */
-    { 0x1004ff03, 20964 }, /* osfCut */
-    { 0x1004ffff, 20971 }, /* osfDelete */
-    { 0x1004ff72, 20981 }, /* osfDeselectAll */
-    { 0x1004ff54, 20996 }, /* osfDown */
-    { 0x1004ff59, 21004 }, /* osfEndData */
-    { 0x1004ff57, 21015 }, /* osfEndLine */
-    { 0x1004ff1b, 21026 }, /* osfEscape */
-    { 0x1004ff74, 21036 }, /* osfExtend */
-    { 0x1004ff6a, 21046 }, /* osfHelp */
-    { 0x1004ff63, 21054 }, /* osfInsert */
-    { 0x1004ff51, 21064 }, /* osfLeft */
-    { 0x1004ff67, 21072 }, /* osfMenu */
-    { 0x1004ff45, 21080 }, /* osfMenuBar */
-    { 0x1004ff5e, 21091 }, /* osfNextField */
-    { 0x1004ff5c, 21104 }, /* osfNextMenu */
-    { 0x1004ff42, 21116 }, /* osfPageDown */
-    { 0x1004ff40, 21128 }, /* osfPageLeft */
-    { 0x1004ff43, 21140 }, /* osfPageRight */
-    { 0x1004ff41, 21153 }, /* osfPageUp */
-    { 0x1004ff04, 21163 }, /* osfPaste */
-    { 0x1004ff5d, 21172 }, /* osfPrevField */
-    { 0x1004ff5b, 21185 }, /* osfPrevMenu */
-    { 0x1004ff32, 21197 }, /* osfPrimaryPaste */
-    { 0x1004ff33, 21213 }, /* osfQuickPaste */
-    { 0x1004ff73, 21227 }, /* osfReselect */
-    { 0x1004ff78, 21239 }, /* osfRestore */
-    { 0x1004ff53, 21250 }, /* osfRight */
-    { 0x1004ff60, 21259 }, /* osfSelect */
-    { 0x1004ff71, 21269 }, /* osfSelectAll */
-    { 0x1004ff65, 21282 }, /* osfUndo */
-    { 0x1004ff52, 21290 }, /* osfUp */
-    { 0x000000d8, 21296 }, /* Oslash */
-    { 0x000000f8, 21303 }, /* oslash */
-    { 0x000000d5, 21310 }, /* Otilde */
-    { 0x000000f5, 21317 }, /* otilde */
-    { 0x00000bc0, 21324 }, /* overbar */
-    { 0x0000fe78, 21332 }, /* Overlay1_Enable */
-    { 0x0000fe79, 21348 }, /* Overlay2_Enable */
-    { 0x0000047e, 21364 }, /* overline */
-    { 0x00000050, 21373 }, /* P */
-    { 0x00000070, 21375 }, /* p */
-    { 0x01001e56, 21377 }, /* Pabovedot */
-    { 0x01001e57, 21387 }, /* pabovedot */
-    { 0x0000ff56, 21397 }, /* Page_Down */
-    { 0x0000ff55, 21407 }, /* Page_Up */
-    { 0x000000b6, 21415 }, /* paragraph */
-    { 0x00000028, 21425 }, /* parenleft */
-    { 0x00000029, 21435 }, /* parenright */
-    { 0x01002202, 21446 }, /* partdifferential */
-    { 0x000008ef, 21463 }, /* partialderivative */
-    { 0x0000ff13, 21481 }, /* Pause */
-    { 0x00000025, 21487 }, /* percent */
-    { 0x0000002e, 21495 }, /* period */
-    { 0x000000b7, 21502 }, /* periodcentered */
-    { 0x00000ad5, 21517 }, /* permille */
-    { 0x010020a7, 21526 }, /* PesetaSign */
-    { 0x00000afb, 21537 }, /* phonographcopyright */
-    { 0x0000002b, 21557 }, /* plus */
-    { 0x000000b1, 21562 }, /* plusminus */
-    { 0x0000fefa, 21572 }, /* Pointer_Accelerate */
-    { 0x0000fee9, 21591 }, /* Pointer_Button1 */
-    { 0x0000feea, 21607 }, /* Pointer_Button2 */
-    { 0x0000feeb, 21623 }, /* Pointer_Button3 */
-    { 0x0000feec, 21639 }, /* Pointer_Button4 */
-    { 0x0000feed, 21655 }, /* Pointer_Button5 */
-    { 0x0000fee8, 21671 }, /* Pointer_Button_Dflt */
-    { 0x0000feef, 21691 }, /* Pointer_DblClick1 */
-    { 0x0000fef0, 21709 }, /* Pointer_DblClick2 */
-    { 0x0000fef1, 21727 }, /* Pointer_DblClick3 */
-    { 0x0000fef2, 21745 }, /* Pointer_DblClick4 */
-    { 0x0000fef3, 21763 }, /* Pointer_DblClick5 */
-    { 0x0000feee, 21781 }, /* Pointer_DblClick_Dflt */
-    { 0x0000fefb, 21803 }, /* Pointer_DfltBtnNext */
-    { 0x0000fefc, 21823 }, /* Pointer_DfltBtnPrev */
-    { 0x0000fee3, 21843 }, /* Pointer_Down */
-    { 0x0000fee6, 21856 }, /* Pointer_DownLeft */
-    { 0x0000fee7, 21873 }, /* Pointer_DownRight */
-    { 0x0000fef5, 21891 }, /* Pointer_Drag1 */
-    { 0x0000fef6, 21905 }, /* Pointer_Drag2 */
-    { 0x0000fef7, 21919 }, /* Pointer_Drag3 */
-    { 0x0000fef8, 21933 }, /* Pointer_Drag4 */
-    { 0x0000fefd, 21947 }, /* Pointer_Drag5 */
-    { 0x0000fef4, 21961 }, /* Pointer_Drag_Dflt */
-    { 0x0000fef9, 21979 }, /* Pointer_EnableKeys */
-    { 0x0000fee0, 21998 }, /* Pointer_Left */
-    { 0x0000fee1, 22011 }, /* Pointer_Right */
-    { 0x0000fee2, 22025 }, /* Pointer_Up */
-    { 0x0000fee4, 22036 }, /* Pointer_UpLeft */
-    { 0x0000fee5, 22051 }, /* Pointer_UpRight */
-    { 0x00000ad4, 22067 }, /* prescription */
-    { 0x0000fed1, 22080 }, /* Prev_Virtual_Screen */
-    { 0x0000ff3e, 22100 }, /* PreviousCandidate */
-    { 0x0000ff61, 22118 }, /* Print */
-    { 0x0000ff55, 22124 }, /* Prior */
-    { 0x000004b0, 22130 }, /* prolongedsound */
-    { 0x00000aa6, 22145 }, /* punctspace */
-    { 0x00000051, 22156 }, /* Q */
-    { 0x00000071, 22158 }, /* q */
-    { 0x00000bcc, 22160 }, /* quad */
-    { 0x0000003f, 22165 }, /* question */
-    { 0x000000bf, 22174 }, /* questiondown */
-    { 0x00000022, 22187 }, /* quotedbl */
-    { 0x00000060, 22196 }, /* quoteleft */
-    { 0x00000027, 22206 }, /* quoteright */
-    { 0x00000052, 22217 }, /* R */
-    { 0x00000072, 22219 }, /* r */
-    { 0x0000ffd2, 22221 }, /* R1 */
-    { 0x0000ffdb, 22224 }, /* R10 */
-    { 0x0000ffdc, 22228 }, /* R11 */
-    { 0x0000ffdd, 22232 }, /* R12 */
-    { 0x0000ffde, 22236 }, /* R13 */
-    { 0x0000ffdf, 22240 }, /* R14 */
-    { 0x0000ffe0, 22244 }, /* R15 */
-    { 0x0000ffd3, 22248 }, /* R2 */
-    { 0x0000ffd4, 22251 }, /* R3 */
-    { 0x0000ffd5, 22254 }, /* R4 */
-    { 0x0000ffd6, 22257 }, /* R5 */
-    { 0x0000ffd7, 22260 }, /* R6 */
-    { 0x0000ffd8, 22263 }, /* R7 */
-    { 0x0000ffd9, 22266 }, /* R8 */
-    { 0x0000ffda, 22269 }, /* R9 */
-    { 0x000001c0, 22272 }, /* Racute */
-    { 0x000001e0, 22279 }, /* racute */
-    { 0x000008d6, 22286 }, /* radical */
-    { 0x000001d8, 22294 }, /* Rcaron */
-    { 0x000001f8, 22301 }, /* rcaron */
-    { 0x000003a3, 22308 }, /* Rcedilla */
-    { 0x000003b3, 22317 }, /* rcedilla */
-    { 0x0000ff66, 22326 }, /* Redo */
-    { 0x000000ae, 22331 }, /* registered */
-    { 0x0000fe72, 22342 }, /* RepeatKeys_Enable */
-    { 0x1000ff6c, 22360 }, /* Reset */
-    { 0x0000ff0d, 22366 }, /* Return */
-    { 0x0000ff53, 22373 }, /* Right */
-    { 0x00000abe, 22379 }, /* rightanglebracket */
-    { 0x000008fd, 22397 }, /* rightarrow */
-    { 0x00000ba6, 22408 }, /* rightcaret */
-    { 0x00000ad3, 22419 }, /* rightdoublequotemark */
-    { 0x000008b0, 22440 }, /* rightmiddlecurlybrace */
-    { 0x000008b7, 22462 }, /* rightmiddlesummation */
-    { 0x00000acd, 22483 }, /* rightopentriangle */
-    { 0x00000aeb, 22501 }, /* rightpointer */
-    { 0x00000bd8, 22514 }, /* rightshoe */
-    { 0x00000ad1, 22524 }, /* rightsinglequotemark */
-    { 0x000009f5, 22545 }, /* rightt */
-    { 0x00000bfc, 22552 }, /* righttack */
-    { 0x0000ff24, 22562 }, /* Romaji */
-    { 0x010020a8, 22569 }, /* RupeeSign */
-    { 0x00000053, 22579 }, /* S */
-    { 0x00000073, 22581 }, /* s */
-    { 0x01001e60, 22583 }, /* Sabovedot */
-    { 0x01001e61, 22593 }, /* sabovedot */
-    { 0x000001a6, 22603 }, /* Sacute */
-    { 0x000001b6, 22610 }, /* sacute */
-    { 0x000001a9, 22617 }, /* Scaron */
-    { 0x000001b9, 22624 }, /* scaron */
-    { 0x000001aa, 22631 }, /* Scedilla */
-    { 0x000001ba, 22640 }, /* scedilla */
-    { 0x0100018f, 22649 }, /* SCHWA */
-    { 0x01000259, 22655 }, /* schwa */
-    { 0x000002de, 22661 }, /* Scircumflex */
-    { 0x000002fe, 22673 }, /* scircumflex */
-    { 0x0000ff7e, 22685 }, /* script_switch */
-    { 0x0000ff14, 22699 }, /* Scroll_Lock */
-    { 0x00000ad7, 22711 }, /* seconds */
-    { 0x000000a7, 22719 }, /* section */
-    { 0x0000ff60, 22727 }, /* Select */
-    { 0x0000003b, 22734 }, /* semicolon */
-    { 0x000004df, 22744 }, /* semivoicedsound */
-    { 0x000006a1, 22760 }, /* Serbian_dje */
-    { 0x000006b1, 22772 }, /* Serbian_DJE */
-    { 0x000006af, 22784 }, /* Serbian_dze */
-    { 0x000006bf, 22796 }, /* Serbian_DZE */
-    { 0x000006a8, 22808 }, /* Serbian_je */
-    { 0x000006b8, 22819 }, /* Serbian_JE */
-    { 0x000006a9, 22830 }, /* Serbian_lje */
-    { 0x000006b9, 22842 }, /* Serbian_LJE */
-    { 0x000006aa, 22854 }, /* Serbian_nje */
-    { 0x000006ba, 22866 }, /* Serbian_NJE */
-    { 0x000006ab, 22878 }, /* Serbian_tshe */
-    { 0x000006bb, 22891 }, /* Serbian_TSHE */
-    { 0x00000ac6, 22904 }, /* seveneighths */
-    { 0x01002087, 22917 }, /* sevensubscript */
-    { 0x01002077, 22932 }, /* sevensuperior */
-    { 0x0000ffe1, 22946 }, /* Shift_L */
-    { 0x0000ffe6, 22954 }, /* Shift_Lock */
-    { 0x0000ffe2, 22965 }, /* Shift_R */
-    { 0x00000aca, 22973 }, /* signaturemark */
-    { 0x00000aac, 22987 }, /* signifblank */
-    { 0x000008c9, 22999 }, /* similarequal */
-    { 0x0000ff3c, 23012 }, /* SingleCandidate */
-    { 0x00000afd, 23028 }, /* singlelowquotemark */
-    { 0x01000d85, 23047 }, /* Sinh_a */
-    { 0x01000d86, 23054 }, /* Sinh_aa */
-    { 0x01000dcf, 23062 }, /* Sinh_aa2 */
-    { 0x01000d87, 23071 }, /* Sinh_ae */
-    { 0x01000dd0, 23079 }, /* Sinh_ae2 */
-    { 0x01000d88, 23088 }, /* Sinh_aee */
-    { 0x01000dd1, 23097 }, /* Sinh_aee2 */
-    { 0x01000d93, 23107 }, /* Sinh_ai */
-    { 0x01000ddb, 23115 }, /* Sinh_ai2 */
-    { 0x01000dca, 23124 }, /* Sinh_al */
-    { 0x01000d96, 23132 }, /* Sinh_au */
-    { 0x01000dde, 23140 }, /* Sinh_au2 */
-    { 0x01000db6, 23149 }, /* Sinh_ba */
-    { 0x01000db7, 23157 }, /* Sinh_bha */
-    { 0x01000da0, 23166 }, /* Sinh_ca */
-    { 0x01000da1, 23174 }, /* Sinh_cha */
-    { 0x01000da9, 23183 }, /* Sinh_dda */
-    { 0x01000daa, 23192 }, /* Sinh_ddha */
-    { 0x01000daf, 23202 }, /* Sinh_dha */
-    { 0x01000db0, 23211 }, /* Sinh_dhha */
-    { 0x01000d91, 23221 }, /* Sinh_e */
-    { 0x01000dd9, 23228 }, /* Sinh_e2 */
-    { 0x01000d92, 23236 }, /* Sinh_ee */
-    { 0x01000dda, 23244 }, /* Sinh_ee2 */
-    { 0x01000dc6, 23253 }, /* Sinh_fa */
-    { 0x01000d9c, 23261 }, /* Sinh_ga */
-    { 0x01000d9d, 23269 }, /* Sinh_gha */
-    { 0x01000d83, 23278 }, /* Sinh_h2 */
-    { 0x01000dc4, 23286 }, /* Sinh_ha */
-    { 0x01000d89, 23294 }, /* Sinh_i */
-    { 0x01000dd2, 23301 }, /* Sinh_i2 */
-    { 0x01000d8a, 23309 }, /* Sinh_ii */
-    { 0x01000dd3, 23317 }, /* Sinh_ii2 */
-    { 0x01000da2, 23326 }, /* Sinh_ja */
-    { 0x01000da3, 23334 }, /* Sinh_jha */
-    { 0x01000da5, 23343 }, /* Sinh_jnya */
-    { 0x01000d9a, 23353 }, /* Sinh_ka */
-    { 0x01000d9b, 23361 }, /* Sinh_kha */
-    { 0x01000df4, 23370 }, /* Sinh_kunddaliya */
-    { 0x01000dbd, 23386 }, /* Sinh_la */
-    { 0x01000dc5, 23394 }, /* Sinh_lla */
-    { 0x01000d8f, 23403 }, /* Sinh_lu */
-    { 0x01000ddf, 23411 }, /* Sinh_lu2 */
-    { 0x01000d90, 23420 }, /* Sinh_luu */
-    { 0x01000df3, 23429 }, /* Sinh_luu2 */
-    { 0x01000db8, 23439 }, /* Sinh_ma */
-    { 0x01000db9, 23447 }, /* Sinh_mba */
-    { 0x01000db1, 23456 }, /* Sinh_na */
-    { 0x01000dac, 23464 }, /* Sinh_ndda */
-    { 0x01000db3, 23474 }, /* Sinh_ndha */
-    { 0x01000d82, 23484 }, /* Sinh_ng */
-    { 0x01000d9e, 23492 }, /* Sinh_ng2 */
-    { 0x01000d9f, 23501 }, /* Sinh_nga */
-    { 0x01000da6, 23510 }, /* Sinh_nja */
-    { 0x01000dab, 23519 }, /* Sinh_nna */
-    { 0x01000da4, 23528 }, /* Sinh_nya */
-    { 0x01000d94, 23537 }, /* Sinh_o */
-    { 0x01000ddc, 23544 }, /* Sinh_o2 */
-    { 0x01000d95, 23552 }, /* Sinh_oo */
-    { 0x01000ddd, 23560 }, /* Sinh_oo2 */
-    { 0x01000db4, 23569 }, /* Sinh_pa */
-    { 0x01000db5, 23577 }, /* Sinh_pha */
-    { 0x01000dbb, 23586 }, /* Sinh_ra */
-    { 0x01000d8d, 23594 }, /* Sinh_ri */
-    { 0x01000d8e, 23602 }, /* Sinh_rii */
-    { 0x01000dd8, 23611 }, /* Sinh_ru2 */
-    { 0x01000df2, 23620 }, /* Sinh_ruu2 */
-    { 0x01000dc3, 23630 }, /* Sinh_sa */
-    { 0x01000dc1, 23638 }, /* Sinh_sha */
-    { 0x01000dc2, 23647 }, /* Sinh_ssha */
-    { 0x01000dad, 23657 }, /* Sinh_tha */
-    { 0x01000dae, 23666 }, /* Sinh_thha */
-    { 0x01000da7, 23676 }, /* Sinh_tta */
-    { 0x01000da8, 23685 }, /* Sinh_ttha */
-    { 0x01000d8b, 23695 }, /* Sinh_u */
-    { 0x01000dd4, 23702 }, /* Sinh_u2 */
-    { 0x01000d8c, 23710 }, /* Sinh_uu */
-    { 0x01000dd6, 23718 }, /* Sinh_uu2 */
-    { 0x01000dc0, 23727 }, /* Sinh_va */
-    { 0x01000dba, 23735 }, /* Sinh_ya */
-    { 0x01002086, 23743 }, /* sixsubscript */
-    { 0x01002076, 23756 }, /* sixsuperior */
-    { 0x0000002f, 23768 }, /* slash */
-    { 0x0000fe73, 23774 }, /* SlowKeys_Enable */
-    { 0x000009e0, 23790 }, /* soliddiamond */
-    { 0x00000020, 23803 }, /* space */
-    { 0x0100221a, 23809 }, /* squareroot */
-    { 0x000000df, 23820 }, /* ssharp */
-    { 0x000000a3, 23827 }, /* sterling */
-    { 0x0000fe75, 23836 }, /* StickyKeys_Enable */
-    { 0x01002263, 23854 }, /* stricteq */
-    { 0x0000ff66, 23863 }, /* SunAgain */
-    { 0x0000ff7e, 23872 }, /* SunAltGraph */
-    { 0x1005ff77, 23884 }, /* SunAudioLowerVolume */
-    { 0x1005ff78, 23904 }, /* SunAudioMute */
-    { 0x1005ff79, 23917 }, /* SunAudioRaiseVolume */
-    { 0x0000ff20, 23937 }, /* SunCompose */
-    { 0x1005ff72, 23948 }, /* SunCopy */
-    { 0x1005ff75, 23956 }, /* SunCut */
-    { 0x1005ff10, 23963 }, /* SunF36 */
-    { 0x1005ff11, 23970 }, /* SunF37 */
-    { 0x1005ff03, 23977 }, /* SunFA_Acute */
-    { 0x1005ff05, 23989 }, /* SunFA_Cedilla */
-    { 0x1005ff01, 24003 }, /* SunFA_Circum */
-    { 0x1005ff04, 24016 }, /* SunFA_Diaeresis */
-    { 0x1005ff00, 24032 }, /* SunFA_Grave */
-    { 0x1005ff02, 24044 }, /* SunFA_Tilde */
-    { 0x0000ff68, 24056 }, /* SunFind */
-    { 0x1005ff71, 24064 }, /* SunFront */
-    { 0x1005ff73, 24073 }, /* SunOpen */
-    { 0x0000ff56, 24081 }, /* SunPageDown */
-    { 0x0000ff55, 24093 }, /* SunPageUp */
-    { 0x1005ff74, 24103 }, /* SunPaste */
-    { 0x1005ff76, 24112 }, /* SunPowerSwitch */
-    { 0x1005ff7d, 24127 }, /* SunPowerSwitchShift */
-    { 0x0000ff61, 24147 }, /* SunPrint_Screen */
-    { 0x1005ff70, 24163 }, /* SunProps */
-    { 0x0000ff69, 24172 }, /* SunStop */
-    { 0x1005ff60, 24180 }, /* SunSys_Req */
-    { 0x0000ff65, 24191 }, /* SunUndo */
-    { 0x1005ff7a, 24199 }, /* SunVideoDegauss */
-    { 0x1005ff7b, 24215 }, /* SunVideoLowerBrightness */
-    { 0x1005ff7c, 24239 }, /* SunVideoRaiseBrightness */
-    { 0x0000ffeb, 24263 }, /* Super_L */
-    { 0x0000ffec, 24271 }, /* Super_R */
-    { 0x0000ff15, 24279 }, /* Sys_Req */
-    { 0x1000ff6d, 24287 }, /* System */
-    { 0x00000054, 24294 }, /* T */
-    { 0x00000074, 24296 }, /* t */
-    { 0x0000ff09, 24298 }, /* Tab */
-    { 0x01001e6a, 24302 }, /* Tabovedot */
-    { 0x01001e6b, 24312 }, /* tabovedot */
-    { 0x000001ab, 24322 }, /* Tcaron */
-    { 0x000001bb, 24329 }, /* tcaron */
-    { 0x000001de, 24336 }, /* Tcedilla */
-    { 0x000001fe, 24345 }, /* tcedilla */
-    { 0x00000af9, 24354 }, /* telephone */
-    { 0x00000afa, 24364 }, /* telephonerecorder */
-    { 0x0000fed5, 24382 }, /* Terminate_Server */
-    { 0x00000ddf, 24399 }, /* Thai_baht */
-    { 0x00000dba, 24409 }, /* Thai_bobaimai */
-    { 0x00000da8, 24423 }, /* Thai_chochan */
-    { 0x00000daa, 24436 }, /* Thai_chochang */
-    { 0x00000da9, 24450 }, /* Thai_choching */
-    { 0x00000dac, 24464 }, /* Thai_chochoe */
-    { 0x00000dae, 24477 }, /* Thai_dochada */
-    { 0x00000db4, 24490 }, /* Thai_dodek */
-    { 0x00000dbd, 24501 }, /* Thai_fofa */
-    { 0x00000dbf, 24511 }, /* Thai_fofan */
-    { 0x00000dcb, 24522 }, /* Thai_hohip */
-    { 0x00000dce, 24533 }, /* Thai_honokhuk */
-    { 0x00000da2, 24547 }, /* Thai_khokhai */
-    { 0x00000da5, 24560 }, /* Thai_khokhon */
-    { 0x00000da3, 24573 }, /* Thai_khokhuat */
-    { 0x00000da4, 24587 }, /* Thai_khokhwai */
-    { 0x00000da6, 24601 }, /* Thai_khorakhang */
-    { 0x00000da1, 24617 }, /* Thai_kokai */
-    { 0x00000de5, 24628 }, /* Thai_lakkhangyao */
-    { 0x00000df7, 24645 }, /* Thai_lekchet */
-    { 0x00000df5, 24658 }, /* Thai_lekha */
-    { 0x00000df6, 24669 }, /* Thai_lekhok */
-    { 0x00000df9, 24681 }, /* Thai_lekkao */
-    { 0x00000df1, 24693 }, /* Thai_leknung */
-    { 0x00000df8, 24706 }, /* Thai_lekpaet */
-    { 0x00000df3, 24719 }, /* Thai_leksam */
-    { 0x00000df4, 24731 }, /* Thai_leksi */
-    { 0x00000df2, 24742 }, /* Thai_leksong */
-    { 0x00000df0, 24755 }, /* Thai_leksun */
-    { 0x00000dcc, 24767 }, /* Thai_lochula */
-    { 0x00000dc5, 24780 }, /* Thai_loling */
-    { 0x00000dc6, 24792 }, /* Thai_lu */
-    { 0x00000deb, 24800 }, /* Thai_maichattawa */
-    { 0x00000de8, 24817 }, /* Thai_maiek */
-    { 0x00000dd1, 24828 }, /* Thai_maihanakat */
-    { 0x00000dde, 24844 }, /* Thai_maihanakat_maitho */
-    { 0x00000de7, 24867 }, /* Thai_maitaikhu */
-    { 0x00000de9, 24882 }, /* Thai_maitho */
-    { 0x00000dea, 24894 }, /* Thai_maitri */
-    { 0x00000de6, 24906 }, /* Thai_maiyamok */
-    { 0x00000dc1, 24920 }, /* Thai_moma */
-    { 0x00000da7, 24930 }, /* Thai_ngongu */
-    { 0x00000ded, 24942 }, /* Thai_nikhahit */
-    { 0x00000db3, 24956 }, /* Thai_nonen */
-    { 0x00000db9, 24967 }, /* Thai_nonu */
-    { 0x00000dcd, 24977 }, /* Thai_oang */
-    { 0x00000dcf, 24987 }, /* Thai_paiyannoi */
-    { 0x00000dda, 25002 }, /* Thai_phinthu */
-    { 0x00000dbe, 25015 }, /* Thai_phophan */
-    { 0x00000dbc, 25028 }, /* Thai_phophung */
-    { 0x00000dc0, 25042 }, /* Thai_phosamphao */
-    { 0x00000dbb, 25058 }, /* Thai_popla */
-    { 0x00000dc3, 25069 }, /* Thai_rorua */
-    { 0x00000dc4, 25080 }, /* Thai_ru */
-    { 0x00000dd0, 25088 }, /* Thai_saraa */
-    { 0x00000dd2, 25099 }, /* Thai_saraaa */
-    { 0x00000de1, 25111 }, /* Thai_saraae */
-    { 0x00000de4, 25123 }, /* Thai_saraaimaimalai */
-    { 0x00000de3, 25143 }, /* Thai_saraaimaimuan */
-    { 0x00000dd3, 25162 }, /* Thai_saraam */
-    { 0x00000de0, 25174 }, /* Thai_sarae */
-    { 0x00000dd4, 25185 }, /* Thai_sarai */
-    { 0x00000dd5, 25196 }, /* Thai_saraii */
-    { 0x00000de2, 25208 }, /* Thai_sarao */
-    { 0x00000dd8, 25219 }, /* Thai_sarau */
-    { 0x00000dd6, 25230 }, /* Thai_saraue */
-    { 0x00000dd7, 25242 }, /* Thai_sarauee */
-    { 0x00000dd9, 25255 }, /* Thai_sarauu */
-    { 0x00000dc9, 25267 }, /* Thai_sorusi */
-    { 0x00000dc8, 25279 }, /* Thai_sosala */
-    { 0x00000dab, 25291 }, /* Thai_soso */
-    { 0x00000dca, 25301 }, /* Thai_sosua */
-    { 0x00000dec, 25312 }, /* Thai_thanthakhat */
-    { 0x00000db1, 25329 }, /* Thai_thonangmontho */
-    { 0x00000db2, 25348 }, /* Thai_thophuthao */
-    { 0x00000db7, 25364 }, /* Thai_thothahan */
-    { 0x00000db0, 25379 }, /* Thai_thothan */
-    { 0x00000db8, 25392 }, /* Thai_thothong */
-    { 0x00000db6, 25406 }, /* Thai_thothung */
-    { 0x00000daf, 25420 }, /* Thai_topatak */
-    { 0x00000db5, 25433 }, /* Thai_totao */
-    { 0x00000dc7, 25444 }, /* Thai_wowaen */
-    { 0x00000dc2, 25456 }, /* Thai_yoyak */
-    { 0x00000dad, 25467 }, /* Thai_yoying */
-    { 0x000008c0, 25479 }, /* therefore */
-    { 0x00000aa7, 25489 }, /* thinspace */
-    { 0x000000de, 25499 }, /* THORN */
-    { 0x000000de, 25505 }, /* Thorn */
-    { 0x000000fe, 25511 }, /* thorn */
-    { 0x00000ac4, 25517 }, /* threeeighths */
-    { 0x00000ab4, 25530 }, /* threefifths */
-    { 0x000000be, 25542 }, /* threequarters */
-    { 0x01002083, 25556 }, /* threesubscript */
-    { 0x000000b3, 25571 }, /* threesuperior */
-    { 0x0100222d, 25585 }, /* tintegral */
-    { 0x000008a4, 25595 }, /* topintegral */
-    { 0x000008ab, 25607 }, /* topleftparens */
-    { 0x000008a2, 25621 }, /* topleftradical */
-    { 0x000008a7, 25636 }, /* topleftsqbracket */
-    { 0x000008b1, 25653 }, /* topleftsummation */
-    { 0x000008ad, 25670 }, /* toprightparens */
-    { 0x000008a9, 25685 }, /* toprightsqbracket */
-    { 0x000008b5, 25703 }, /* toprightsummation */
-    { 0x000009f7, 25721 }, /* topt */
-    { 0x000008b3, 25726 }, /* topvertsummationconnector */
-    { 0x0000ff2b, 25752 }, /* Touroku */
-    { 0x00000ac9, 25760 }, /* trademark */
-    { 0x00000acb, 25770 }, /* trademarkincircle */
-    { 0x000003ac, 25788 }, /* Tslash */
-    { 0x000003bc, 25795 }, /* tslash */
-    { 0x00000ab3, 25802 }, /* twofifths */
-    { 0x01002082, 25812 }, /* twosubscript */
-    { 0x000000b2, 25825 }, /* twosuperior */
-    { 0x00000ab1, 25837 }, /* twothirds */
-    { 0x00000055, 25847 }, /* U */
-    { 0x00000075, 25849 }, /* u */
-    { 0x000000da, 25851 }, /* Uacute */
-    { 0x000000fa, 25858 }, /* uacute */
-    { 0x01001ee4, 25865 }, /* Ubelowdot */
-    { 0x01001ee5, 25875 }, /* ubelowdot */
-    { 0x000002dd, 25885 }, /* Ubreve */
-    { 0x000002fd, 25892 }, /* ubreve */
-    { 0x000000db, 25899 }, /* Ucircumflex */
-    { 0x000000fb, 25911 }, /* ucircumflex */
-    { 0x000000dc, 25923 }, /* Udiaeresis */
-    { 0x000000fc, 25934 }, /* udiaeresis */
-    { 0x000001db, 25945 }, /* Udoubleacute */
-    { 0x000001fb, 25958 }, /* udoubleacute */
-    { 0x000000d9, 25971 }, /* Ugrave */
-    { 0x000000f9, 25978 }, /* ugrave */
-    { 0x01001ee6, 25985 }, /* Uhook */
-    { 0x01001ee7, 25991 }, /* uhook */
-    { 0x010001af, 25997 }, /* Uhorn */
-    { 0x010001b0, 26003 }, /* uhorn */
-    { 0x01001ee8, 26009 }, /* Uhornacute */
-    { 0x01001ee9, 26020 }, /* uhornacute */
-    { 0x01001ef0, 26031 }, /* Uhornbelowdot */
-    { 0x01001ef1, 26045 }, /* uhornbelowdot */
-    { 0x01001eea, 26059 }, /* Uhorngrave */
-    { 0x01001eeb, 26070 }, /* uhorngrave */
-    { 0x01001eec, 26081 }, /* Uhornhook */
-    { 0x01001eed, 26091 }, /* uhornhook */
-    { 0x01001eee, 26101 }, /* Uhorntilde */
-    { 0x01001eef, 26112 }, /* uhorntilde */
-    { 0x000006ad, 26123 }, /* Ukrainian_ghe_with_upturn */
-    { 0x000006bd, 26149 }, /* Ukrainian_GHE_WITH_UPTURN */
-    { 0x000006a6, 26175 }, /* Ukrainian_i */
-    { 0x000006b6, 26187 }, /* Ukrainian_I */
-    { 0x000006a4, 26199 }, /* Ukrainian_ie */
-    { 0x000006b4, 26212 }, /* Ukrainian_IE */
-    { 0x000006a7, 26225 }, /* Ukrainian_yi */
-    { 0x000006b7, 26238 }, /* Ukrainian_YI */
-    { 0x000006a6, 26251 }, /* Ukranian_i */
-    { 0x000006b6, 26262 }, /* Ukranian_I */
-    { 0x000006a4, 26273 }, /* Ukranian_je */
-    { 0x000006b4, 26285 }, /* Ukranian_JE */
-    { 0x000006a7, 26297 }, /* Ukranian_yi */
-    { 0x000006b7, 26309 }, /* Ukranian_YI */
-    { 0x000003de, 26321 }, /* Umacron */
-    { 0x000003fe, 26329 }, /* umacron */
-    { 0x00000bc6, 26337 }, /* underbar */
-    { 0x0000005f, 26346 }, /* underscore */
-    { 0x0000ff65, 26357 }, /* Undo */
-    { 0x000008dd, 26362 }, /* union */
-    { 0x000003d9, 26368 }, /* Uogonek */
-    { 0x000003f9, 26376 }, /* uogonek */
-    { 0x0000ff52, 26384 }, /* Up */
-    { 0x000008fc, 26387 }, /* uparrow */
-    { 0x00000ba9, 26395 }, /* upcaret */
-    { 0x000009ec, 26403 }, /* upleftcorner */
-    { 0x000009eb, 26416 }, /* uprightcorner */
-    { 0x00000bc3, 26430 }, /* upshoe */
-    { 0x00000bd3, 26437 }, /* upstile */
-    { 0x00000bce, 26445 }, /* uptack */
-    { 0x000001d9, 26452 }, /* Uring */
-    { 0x000001f9, 26458 }, /* uring */
-    { 0x1000ff6e, 26464 }, /* User */
-    { 0x000003dd, 26469 }, /* Utilde */
-    { 0x000003fd, 26476 }, /* utilde */
-    { 0x00000056, 26483 }, /* V */
-    { 0x00000076, 26485 }, /* v */
-    { 0x000008c1, 26487 }, /* variation */
-    { 0x000009f8, 26497 }, /* vertbar */
-    { 0x000008a6, 26505 }, /* vertconnector */
-    { 0x000004de, 26519 }, /* voicedsound */
-    { 0x00ffffff, 26531 }, /* VoidSymbol */
-    { 0x000009e9, 26542 }, /* vt */
-    { 0x00000057, 26545 }, /* W */
-    { 0x00000077, 26547 }, /* w */
-    { 0x01001e82, 26549 }, /* Wacute */
-    { 0x01001e83, 26556 }, /* wacute */
-    { 0x01000174, 26563 }, /* Wcircumflex */
-    { 0x01000175, 26575 }, /* wcircumflex */
-    { 0x01001e84, 26587 }, /* Wdiaeresis */
-    { 0x01001e85, 26598 }, /* wdiaeresis */
-    { 0x01001e80, 26609 }, /* Wgrave */
-    { 0x01001e81, 26616 }, /* wgrave */
-    { 0x010020a9, 26623 }, /* WonSign */
-    { 0x00000058, 26631 }, /* X */
-    { 0x00000078, 26633 }, /* x */
-    { 0x01001e8a, 26635 }, /* Xabovedot */
-    { 0x01001e8b, 26645 }, /* xabovedot */
-    { 0x1008ff39, 26655 }, /* XF86AddFavorite */
-    { 0x1008ff50, 26671 }, /* XF86ApplicationLeft */
-    { 0x1008ff51, 26691 }, /* XF86ApplicationRight */
-    { 0x1008ff9b, 26712 }, /* XF86AudioCycleTrack */
-    { 0x1008ff97, 26732 }, /* XF86AudioForward */
-    { 0x1008ff11, 26749 }, /* XF86AudioLowerVolume */
-    { 0x1008ff32, 26770 }, /* XF86AudioMedia */
-    { 0x1008ffb2, 26785 }, /* XF86AudioMicMute */
-    { 0x1008ff12, 26802 }, /* XF86AudioMute */
-    { 0x1008ff17, 26816 }, /* XF86AudioNext */
-    { 0x1008ff31, 26830 }, /* XF86AudioPause */
-    { 0x1008ff14, 26845 }, /* XF86AudioPlay */
-    { 0x1008ffb6, 26859 }, /* XF86AudioPreset */
-    { 0x1008ff16, 26875 }, /* XF86AudioPrev */
-    { 0x1008ff13, 26889 }, /* XF86AudioRaiseVolume */
-    { 0x1008ff99, 26910 }, /* XF86AudioRandomPlay */
-    { 0x1008ff1c, 26930 }, /* XF86AudioRecord */
-    { 0x1008ff98, 26946 }, /* XF86AudioRepeat */
-    { 0x1008ff3e, 26962 }, /* XF86AudioRewind */
-    { 0x1008ff15, 26978 }, /* XF86AudioStop */
-    { 0x1008ff8d, 26992 }, /* XF86Away */
-    { 0x1008ff26, 27001 }, /* XF86Back */
-    { 0x1008ff3f, 27010 }, /* XF86BackForward */
-    { 0x1008ff93, 27026 }, /* XF86Battery */
-    { 0x1008ffa6, 27038 }, /* XF86Blue */
-    { 0x1008ff94, 27047 }, /* XF86Bluetooth */
-    { 0x1008ff52, 27061 }, /* XF86Book */
-    { 0x1008ff3b, 27070 }, /* XF86BrightnessAdjust */
-    { 0x1008ff54, 27091 }, /* XF86Calculater */
-    { 0x1008ff1d, 27106 }, /* XF86Calculator */
-    { 0x1008ff20, 27121 }, /* XF86Calendar */
-    { 0x1008ff53, 27134 }, /* XF86CD */
-    { 0x1008ff55, 27141 }, /* XF86Clear */
-    { 0x1008fe21, 27151 }, /* XF86ClearGrab */
-    { 0x1008ff56, 27165 }, /* XF86Close */
-    { 0x1008ff3d, 27175 }, /* XF86Community */
-    { 0x1008ff22, 27189 }, /* XF86ContrastAdjust */
-    { 0x1008ff57, 27208 }, /* XF86Copy */
-    { 0x1008ff58, 27217 }, /* XF86Cut */
-    { 0x1008ff9c, 27225 }, /* XF86CycleAngle */
-    { 0x1008ff59, 27240 }, /* XF86Display */
-    { 0x1008ff5b, 27252 }, /* XF86Documents */
-    { 0x1008ff5a, 27266 }, /* XF86DOS */
-    { 0x1008ff2c, 27274 }, /* XF86Eject */
-    { 0x1008ff5c, 27284 }, /* XF86Excel */
-    { 0x1008ff5d, 27294 }, /* XF86Explorer */
-    { 0x1008ff30, 27307 }, /* XF86Favorites */
-    { 0x1008ff3c, 27321 }, /* XF86Finance */
-    { 0x1008ff27, 27333 }, /* XF86Forward */
-    { 0x1008ff9d, 27345 }, /* XF86FrameBack */
-    { 0x1008ff9e, 27359 }, /* XF86FrameForward */
-    { 0x1008ff5e, 27376 }, /* XF86Game */
-    { 0x1008ff5f, 27385 }, /* XF86Go */
-    { 0x1008ffa4, 27392 }, /* XF86Green */
-    { 0x1008ffa8, 27402 }, /* XF86Hibernate */
-    { 0x1008ff37, 27416 }, /* XF86History */
-    { 0x1008ff18, 27428 }, /* XF86HomePage */
-    { 0x1008ff3a, 27441 }, /* XF86HotLinks */
-    { 0x1008ff60, 27454 }, /* XF86iTouch */
-    { 0x1008ff06, 27465 }, /* XF86KbdBrightnessDown */
-    { 0x1008ff05, 27487 }, /* XF86KbdBrightnessUp */
-    { 0x1008ff04, 27507 }, /* XF86KbdLightOnOff */
-    { 0x1008ffb3, 27525 }, /* XF86Keyboard */
-    { 0x1008ff40, 27538 }, /* XF86Launch0 */
-    { 0x1008ff41, 27550 }, /* XF86Launch1 */
-    { 0x1008ff42, 27562 }, /* XF86Launch2 */
-    { 0x1008ff43, 27574 }, /* XF86Launch3 */
-    { 0x1008ff44, 27586 }, /* XF86Launch4 */
-    { 0x1008ff45, 27598 }, /* XF86Launch5 */
-    { 0x1008ff46, 27610 }, /* XF86Launch6 */
-    { 0x1008ff47, 27622 }, /* XF86Launch7 */
-    { 0x1008ff48, 27634 }, /* XF86Launch8 */
-    { 0x1008ff49, 27646 }, /* XF86Launch9 */
-    { 0x1008ff4a, 27658 }, /* XF86LaunchA */
-    { 0x1008ff4b, 27670 }, /* XF86LaunchB */
-    { 0x1008ff4c, 27682 }, /* XF86LaunchC */
-    { 0x1008ff4d, 27694 }, /* XF86LaunchD */
-    { 0x1008ff4e, 27706 }, /* XF86LaunchE */
-    { 0x1008ff4f, 27718 }, /* XF86LaunchF */
-    { 0x1008ff35, 27730 }, /* XF86LightBulb */
-    { 0x1008fe25, 27744 }, /* XF86LogGrabInfo */
-    { 0x1008ff61, 27760 }, /* XF86LogOff */
-    { 0x1008fe24, 27771 }, /* XF86LogWindowTree */
-    { 0x1008ff19, 27789 }, /* XF86Mail */
-    { 0x1008ff90, 27798 }, /* XF86MailForward */
-    { 0x1008ff62, 27814 }, /* XF86Market */
-    { 0x1008ff63, 27825 }, /* XF86Meeting */
-    { 0x1008ff1e, 27837 }, /* XF86Memo */
-    { 0x1008ff65, 27846 }, /* XF86MenuKB */
-    { 0x1008ff66, 27857 }, /* XF86MenuPB */
-    { 0x1008ff8e, 27868 }, /* XF86Messenger */
-    { 0x1008ff01, 27882 }, /* XF86ModeLock */
-    { 0x1008ff07, 27895 }, /* XF86MonBrightnessCycle */
-    { 0x1008ff03, 27918 }, /* XF86MonBrightnessDown */
-    { 0x1008ff02, 27940 }, /* XF86MonBrightnessUp */
-    { 0x1008ff92, 27960 }, /* XF86Music */
-    { 0x1008ff33, 27970 }, /* XF86MyComputer */
-    { 0x1008ff67, 27985 }, /* XF86MySites */
-    { 0x1008ff68, 27997 }, /* XF86New */
-    { 0x1008ff69, 28005 }, /* XF86News */
-    { 0x1008fe22, 28014 }, /* XF86Next_VMode */
-    { 0x1008ff6a, 28029 }, /* XF86OfficeHome */
-    { 0x1008ff6b, 28044 }, /* XF86Open */
-    { 0x1008ff38, 28053 }, /* XF86OpenURL */
-    { 0x1008ff6c, 28065 }, /* XF86Option */
-    { 0x1008ff6d, 28076 }, /* XF86Paste */
-    { 0x1008ff6e, 28086 }, /* XF86Phone */
-    { 0x1008ff91, 28096 }, /* XF86Pictures */
-    { 0x1008ff21, 28109 }, /* XF86PowerDown */
-    { 0x1008ff2a, 28123 }, /* XF86PowerOff */
-    { 0x1008fe23, 28136 }, /* XF86Prev_VMode */
-    { 0x1008ff70, 28151 }, /* XF86Q */
-    { 0x1008ffa3, 28157 }, /* XF86Red */
-    { 0x1008ff29, 28165 }, /* XF86Refresh */
-    { 0x1008ff73, 28177 }, /* XF86Reload */
-    { 0x1008ff72, 28188 }, /* XF86Reply */
-    { 0x1008ffb5, 28198 }, /* XF86RFKill */
-    { 0x1008ff24, 28209 }, /* XF86RockerDown */
-    { 0x1008ff25, 28224 }, /* XF86RockerEnter */
-    { 0x1008ff23, 28240 }, /* XF86RockerUp */
-    { 0x1008ff74, 28253 }, /* XF86RotateWindows */
-    { 0x1008ff76, 28271 }, /* XF86RotationKB */
-    { 0x1008ffb7, 28286 }, /* XF86RotationLockToggle */
-    { 0x1008ff75, 28309 }, /* XF86RotationPB */
-    { 0x1008ff77, 28324 }, /* XF86Save */
-    { 0x1008ff2d, 28333 }, /* XF86ScreenSaver */
-    { 0x1008ff7a, 28349 }, /* XF86ScrollClick */
-    { 0x1008ff79, 28365 }, /* XF86ScrollDown */
-    { 0x1008ff78, 28380 }, /* XF86ScrollUp */
-    { 0x1008ff1b, 28393 }, /* XF86Search */
-    { 0x1008ffa0, 28404 }, /* XF86Select */
-    { 0x1008ff7b, 28415 }, /* XF86Send */
-    { 0x1008ff36, 28424 }, /* XF86Shop */
-    { 0x1008ff2f, 28433 }, /* XF86Sleep */
-    { 0x1008ff7c, 28443 }, /* XF86Spell */
-    { 0x1008ff7d, 28453 }, /* XF86SplitScreen */
-    { 0x1008ff10, 28469 }, /* XF86Standby */
-    { 0x1008ff1a, 28481 }, /* XF86Start */
-    { 0x1008ff28, 28491 }, /* XF86Stop */
-    { 0x1008ff9a, 28500 }, /* XF86Subtitle */
-    { 0x1008ff7e, 28513 }, /* XF86Support */
-    { 0x1008ffa7, 28525 }, /* XF86Suspend */
-    { 0x1008fe01, 28537 }, /* XF86Switch_VT_1 */
-    { 0x1008fe0a, 28553 }, /* XF86Switch_VT_10 */
-    { 0x1008fe0b, 28570 }, /* XF86Switch_VT_11 */
-    { 0x1008fe0c, 28587 }, /* XF86Switch_VT_12 */
-    { 0x1008fe02, 28604 }, /* XF86Switch_VT_2 */
-    { 0x1008fe03, 28620 }, /* XF86Switch_VT_3 */
-    { 0x1008fe04, 28636 }, /* XF86Switch_VT_4 */
-    { 0x1008fe05, 28652 }, /* XF86Switch_VT_5 */
-    { 0x1008fe06, 28668 }, /* XF86Switch_VT_6 */
-    { 0x1008fe07, 28684 }, /* XF86Switch_VT_7 */
-    { 0x1008fe08, 28700 }, /* XF86Switch_VT_8 */
-    { 0x1008fe09, 28716 }, /* XF86Switch_VT_9 */
-    { 0x1008ff7f, 28732 }, /* XF86TaskPane */
-    { 0x1008ff80, 28745 }, /* XF86Terminal */
-    { 0x1008ff9f, 28758 }, /* XF86Time */
-    { 0x1008ff1f, 28767 }, /* XF86ToDoList */
-    { 0x1008ff81, 28780 }, /* XF86Tools */
-    { 0x1008ffa2, 28790 }, /* XF86TopMenu */
-    { 0x1008ffb1, 28802 }, /* XF86TouchpadOff */
-    { 0x1008ffb0, 28818 }, /* XF86TouchpadOn */
-    { 0x1008ffa9, 28833 }, /* XF86TouchpadToggle */
-    { 0x1008ff82, 28852 }, /* XF86Travel */
-    { 0x1008fe20, 28863 }, /* XF86Ungrab */
-    { 0x1008ff85, 28874 }, /* XF86User1KB */
-    { 0x1008ff86, 28886 }, /* XF86User2KB */
-    { 0x1008ff84, 28898 }, /* XF86UserPB */
-    { 0x1008ff96, 28909 }, /* XF86UWB */
-    { 0x1008ff34, 28917 }, /* XF86VendorHome */
-    { 0x1008ff87, 28932 }, /* XF86Video */
-    { 0x1008ffa1, 28942 }, /* XF86View */
-    { 0x1008ff2b, 28951 }, /* XF86WakeUp */
-    { 0x1008ff8f, 28962 }, /* XF86WebCam */
-    { 0x1008ff88, 28973 }, /* XF86WheelButton */
-    { 0x1008ff95, 28989 }, /* XF86WLAN */
-    { 0x1008ff89, 28998 }, /* XF86Word */
-    { 0x1008ffb4, 29007 }, /* XF86WWAN */
-    { 0x1008ff2e, 29016 }, /* XF86WWW */
-    { 0x1008ff8a, 29024 }, /* XF86Xfer */
-    { 0x1008ffa5, 29033 }, /* XF86Yellow */
-    { 0x1008ff8b, 29044 }, /* XF86ZoomIn */
-    { 0x1008ff8c, 29055 }, /* XF86ZoomOut */
-    { 0x00000059, 29067 }, /* Y */
-    { 0x00000079, 29069 }, /* y */
-    { 0x000000dd, 29071 }, /* Yacute */
-    { 0x000000fd, 29078 }, /* yacute */
-    { 0x01001ef4, 29085 }, /* Ybelowdot */
-    { 0x01001ef5, 29095 }, /* ybelowdot */
-    { 0x01000176, 29105 }, /* Ycircumflex */
-    { 0x01000177, 29117 }, /* ycircumflex */
-    { 0x000000ff, 29129 }, /* ydiaeresis */
-    { 0x000013be, 29140 }, /* Ydiaeresis */
-    { 0x000000a5, 29151 }, /* yen */
-    { 0x01001ef2, 29155 }, /* Ygrave */
-    { 0x01001ef3, 29162 }, /* ygrave */
-    { 0x01001ef6, 29169 }, /* Yhook */
-    { 0x01001ef7, 29175 }, /* yhook */
-    { 0x01001ef8, 29181 }, /* Ytilde */
-    { 0x01001ef9, 29188 }, /* ytilde */
-    { 0x0000005a, 29195 }, /* Z */
-    { 0x0000007a, 29197 }, /* z */
-    { 0x000001af, 29199 }, /* Zabovedot */
-    { 0x000001bf, 29209 }, /* zabovedot */
-    { 0x000001ac, 29219 }, /* Zacute */
-    { 0x000001bc, 29226 }, /* zacute */
-    { 0x000001ae, 29233 }, /* Zcaron */
-    { 0x000001be, 29240 }, /* zcaron */
-    { 0x0000ff3d, 29247 }, /* Zen_Koho */
-    { 0x0000ff28, 29256 }, /* Zenkaku */
-    { 0x0000ff2a, 29264 }, /* Zenkaku_Hankaku */
-    { 0x01002080, 29280 }, /* zerosubscript */
-    { 0x01002070, 29294 }, /* zerosuperior */
-    { 0x010001b5, 29307 }, /* Zstroke */
-    { 0x010001b6, 29315 }, /* zstroke */
+    { 0x01000301, 8680 }, /* combining_acute */
+    { 0x01000323, 8696 }, /* combining_belowdot */
+    { 0x01000300, 8715 }, /* combining_grave */
+    { 0x01000309, 8731 }, /* combining_hook */
+    { 0x01000303, 8746 }, /* combining_tilde */
+    { 0x0000002c, 8762 }, /* comma */
+    { 0x0100220b, 8768 }, /* containsas */
+    { 0x0000ffe3, 8779 }, /* Control_L */
+    { 0x0000ffe4, 8789 }, /* Control_R */
+    { 0x000000a9, 8799 }, /* copyright */
+    { 0x000009e4, 8809 }, /* cr */
+    { 0x000009ee, 8812 }, /* crossinglines */
+    { 0x010020a2, 8826 }, /* CruzeiroSign */
+    { 0x0100221b, 8839 }, /* cuberoot */
+    { 0x000000a4, 8848 }, /* currency */
+    { 0x00000aff, 8857 }, /* cursor */
+    { 0x000006c1, 8864 }, /* Cyrillic_a */
+    { 0x000006e1, 8875 }, /* Cyrillic_A */
+    { 0x000006c2, 8886 }, /* Cyrillic_be */
+    { 0x000006e2, 8898 }, /* Cyrillic_BE */
+    { 0x000006de, 8910 }, /* Cyrillic_che */
+    { 0x000006fe, 8923 }, /* Cyrillic_CHE */
+    { 0x010004b6, 8936 }, /* Cyrillic_CHE_descender */
+    { 0x010004b7, 8959 }, /* Cyrillic_che_descender */
+    { 0x010004b8, 8982 }, /* Cyrillic_CHE_vertstroke */
+    { 0x010004b9, 9006 }, /* Cyrillic_che_vertstroke */
+    { 0x000006c4, 9030 }, /* Cyrillic_de */
+    { 0x000006e4, 9042 }, /* Cyrillic_DE */
+    { 0x000006af, 9054 }, /* Cyrillic_dzhe */
+    { 0x000006bf, 9068 }, /* Cyrillic_DZHE */
+    { 0x000006dc, 9082 }, /* Cyrillic_e */
+    { 0x000006fc, 9093 }, /* Cyrillic_E */
+    { 0x000006c6, 9104 }, /* Cyrillic_ef */
+    { 0x000006e6, 9116 }, /* Cyrillic_EF */
+    { 0x000006cc, 9128 }, /* Cyrillic_el */
+    { 0x000006ec, 9140 }, /* Cyrillic_EL */
+    { 0x000006cd, 9152 }, /* Cyrillic_em */
+    { 0x000006ed, 9164 }, /* Cyrillic_EM */
+    { 0x000006ce, 9176 }, /* Cyrillic_en */
+    { 0x000006ee, 9188 }, /* Cyrillic_EN */
+    { 0x010004a2, 9200 }, /* Cyrillic_EN_descender */
+    { 0x010004a3, 9222 }, /* Cyrillic_en_descender */
+    { 0x000006d2, 9244 }, /* Cyrillic_er */
+    { 0x000006f2, 9256 }, /* Cyrillic_ER */
+    { 0x000006d3, 9268 }, /* Cyrillic_es */
+    { 0x000006f3, 9280 }, /* Cyrillic_ES */
+    { 0x000006c7, 9292 }, /* Cyrillic_ghe */
+    { 0x000006e7, 9305 }, /* Cyrillic_GHE */
+    { 0x01000492, 9318 }, /* Cyrillic_GHE_bar */
+    { 0x01000493, 9335 }, /* Cyrillic_ghe_bar */
+    { 0x000006c8, 9352 }, /* Cyrillic_ha */
+    { 0x000006e8, 9364 }, /* Cyrillic_HA */
+    { 0x010004b2, 9376 }, /* Cyrillic_HA_descender */
+    { 0x010004b3, 9398 }, /* Cyrillic_ha_descender */
+    { 0x000006df, 9420 }, /* Cyrillic_hardsign */
+    { 0x000006ff, 9438 }, /* Cyrillic_HARDSIGN */
+    { 0x000006c9, 9456 }, /* Cyrillic_i */
+    { 0x000006e9, 9467 }, /* Cyrillic_I */
+    { 0x010004e2, 9478 }, /* Cyrillic_I_macron */
+    { 0x010004e3, 9496 }, /* Cyrillic_i_macron */
+    { 0x000006c5, 9514 }, /* Cyrillic_ie */
+    { 0x000006e5, 9526 }, /* Cyrillic_IE */
+    { 0x000006a3, 9538 }, /* Cyrillic_io */
+    { 0x000006b3, 9550 }, /* Cyrillic_IO */
+    { 0x000006a8, 9562 }, /* Cyrillic_je */
+    { 0x000006b8, 9574 }, /* Cyrillic_JE */
+    { 0x000006cb, 9586 }, /* Cyrillic_ka */
+    { 0x000006eb, 9598 }, /* Cyrillic_KA */
+    { 0x0100049a, 9610 }, /* Cyrillic_KA_descender */
+    { 0x0100049b, 9632 }, /* Cyrillic_ka_descender */
+    { 0x0100049c, 9654 }, /* Cyrillic_KA_vertstroke */
+    { 0x0100049d, 9677 }, /* Cyrillic_ka_vertstroke */
+    { 0x000006a9, 9700 }, /* Cyrillic_lje */
+    { 0x000006b9, 9713 }, /* Cyrillic_LJE */
+    { 0x000006aa, 9726 }, /* Cyrillic_nje */
+    { 0x000006ba, 9739 }, /* Cyrillic_NJE */
+    { 0x000006cf, 9752 }, /* Cyrillic_o */
+    { 0x000006ef, 9763 }, /* Cyrillic_O */
+    { 0x010004e8, 9774 }, /* Cyrillic_O_bar */
+    { 0x010004e9, 9789 }, /* Cyrillic_o_bar */
+    { 0x000006d0, 9804 }, /* Cyrillic_pe */
+    { 0x000006f0, 9816 }, /* Cyrillic_PE */
+    { 0x010004d8, 9828 }, /* Cyrillic_SCHWA */
+    { 0x010004d9, 9843 }, /* Cyrillic_schwa */
+    { 0x000006db, 9858 }, /* Cyrillic_sha */
+    { 0x000006fb, 9871 }, /* Cyrillic_SHA */
+    { 0x000006dd, 9884 }, /* Cyrillic_shcha */
+    { 0x000006fd, 9899 }, /* Cyrillic_SHCHA */
+    { 0x010004ba, 9914 }, /* Cyrillic_SHHA */
+    { 0x010004bb, 9928 }, /* Cyrillic_shha */
+    { 0x000006ca, 9942 }, /* Cyrillic_shorti */
+    { 0x000006ea, 9958 }, /* Cyrillic_SHORTI */
+    { 0x000006d8, 9974 }, /* Cyrillic_softsign */
+    { 0x000006f8, 9992 }, /* Cyrillic_SOFTSIGN */
+    { 0x000006d4, 10010 }, /* Cyrillic_te */
+    { 0x000006f4, 10022 }, /* Cyrillic_TE */
+    { 0x000006c3, 10034 }, /* Cyrillic_tse */
+    { 0x000006e3, 10047 }, /* Cyrillic_TSE */
+    { 0x000006d5, 10060 }, /* Cyrillic_u */
+    { 0x000006f5, 10071 }, /* Cyrillic_U */
+    { 0x010004ee, 10082 }, /* Cyrillic_U_macron */
+    { 0x010004ef, 10100 }, /* Cyrillic_u_macron */
+    { 0x010004ae, 10118 }, /* Cyrillic_U_straight */
+    { 0x010004af, 10138 }, /* Cyrillic_u_straight */
+    { 0x010004b0, 10158 }, /* Cyrillic_U_straight_bar */
+    { 0x010004b1, 10182 }, /* Cyrillic_u_straight_bar */
+    { 0x000006d7, 10206 }, /* Cyrillic_ve */
+    { 0x000006f7, 10218 }, /* Cyrillic_VE */
+    { 0x000006d1, 10230 }, /* Cyrillic_ya */
+    { 0x000006f1, 10242 }, /* Cyrillic_YA */
+    { 0x000006d9, 10254 }, /* Cyrillic_yeru */
+    { 0x000006f9, 10268 }, /* Cyrillic_YERU */
+    { 0x000006c0, 10282 }, /* Cyrillic_yu */
+    { 0x000006e0, 10294 }, /* Cyrillic_YU */
+    { 0x000006da, 10306 }, /* Cyrillic_ze */
+    { 0x000006fa, 10318 }, /* Cyrillic_ZE */
+    { 0x000006d6, 10330 }, /* Cyrillic_zhe */
+    { 0x000006f6, 10343 }, /* Cyrillic_ZHE */
+    { 0x01000496, 10356 }, /* Cyrillic_ZHE_descender */
+    { 0x01000497, 10379 }, /* Cyrillic_zhe_descender */
+    { 0x00000044, 10402 }, /* D */
+    { 0x00000064, 10404 }, /* d */
+    { 0x01001e0a, 10406 }, /* Dabovedot */
+    { 0x01001e0b, 10416 }, /* dabovedot */
+    { 0x1000fe27, 10426 }, /* Dacute_accent */
+    { 0x00000af1, 10440 }, /* dagger */
+    { 0x000001cf, 10447 }, /* Dcaron */
+    { 0x000001ef, 10454 }, /* dcaron */
+    { 0x1000fe2c, 10461 }, /* Dcedilla_accent */
+    { 0x1000fe5e, 10477 }, /* Dcircumflex_accent */
+    { 0x1000fe22, 10496 }, /* Ddiaeresis */
+    { 0x0000fe80, 10507 }, /* dead_a */
+    { 0x0000fe81, 10514 }, /* dead_A */
+    { 0x0000fe64, 10521 }, /* dead_abovecomma */
+    { 0x0000fe56, 10537 }, /* dead_abovedot */
+    { 0x0000fe65, 10551 }, /* dead_abovereversedcomma */
+    { 0x0000fe58, 10575 }, /* dead_abovering */
+    { 0x0000fe91, 10590 }, /* dead_aboveverticalline */
+    { 0x0000fe51, 10613 }, /* dead_acute */
+    { 0x0000fe6b, 10624 }, /* dead_belowbreve */
+    { 0x0000fe69, 10640 }, /* dead_belowcircumflex */
+    { 0x0000fe6e, 10661 }, /* dead_belowcomma */
+    { 0x0000fe6c, 10677 }, /* dead_belowdiaeresis */
+    { 0x0000fe60, 10697 }, /* dead_belowdot */
+    { 0x0000fe68, 10711 }, /* dead_belowmacron */
+    { 0x0000fe67, 10728 }, /* dead_belowring */
+    { 0x0000fe6a, 10743 }, /* dead_belowtilde */
+    { 0x0000fe92, 10759 }, /* dead_belowverticalline */
+    { 0x0000fe55, 10782 }, /* dead_breve */
+    { 0x0000fe8b, 10793 }, /* dead_capital_schwa */
+    { 0x0000fe5a, 10812 }, /* dead_caron */
+    { 0x0000fe5b, 10823 }, /* dead_cedilla */
+    { 0x0000fe52, 10836 }, /* dead_circumflex */
+    { 0x0000fe6f, 10852 }, /* dead_currency */
+    { 0x0000fe65, 10866 }, /* dead_dasia */
+    { 0x0000fe57, 10877 }, /* dead_diaeresis */
+    { 0x0000fe59, 10892 }, /* dead_doubleacute */
+    { 0x0000fe66, 10909 }, /* dead_doublegrave */
+    { 0x0000fe82, 10926 }, /* dead_e */
+    { 0x0000fe83, 10933 }, /* dead_E */
+    { 0x0000fe50, 10940 }, /* dead_grave */
+    { 0x0000fe8c, 10951 }, /* dead_greek */
+    { 0x0000fe61, 10962 }, /* dead_hook */
+    { 0x0000fe62, 10972 }, /* dead_horn */
+    { 0x0000fe84, 10982 }, /* dead_i */
+    { 0x0000fe85, 10989 }, /* dead_I */
+    { 0x0000fe6d, 10996 }, /* dead_invertedbreve */
+    { 0x0000fe5d, 11015 }, /* dead_iota */
+    { 0x0000fe93, 11025 }, /* dead_longsolidusoverlay */
+    { 0x0000fe90, 11049 }, /* dead_lowline */
+    { 0x0000fe54, 11062 }, /* dead_macron */
+    { 0x0000fe86, 11074 }, /* dead_o */
+    { 0x0000fe87, 11081 }, /* dead_O */
+    { 0x0000fe5c, 11088 }, /* dead_ogonek */
+    { 0x0000fe53, 11100 }, /* dead_perispomeni */
+    { 0x0000fe64, 11117 }, /* dead_psili */
+    { 0x0000fe5f, 11128 }, /* dead_semivoiced_sound */
+    { 0x0000fe8a, 11150 }, /* dead_small_schwa */
+    { 0x0000fe63, 11167 }, /* dead_stroke */
+    { 0x0000fe53, 11179 }, /* dead_tilde */
+    { 0x0000fe88, 11190 }, /* dead_u */
+    { 0x0000fe89, 11197 }, /* dead_U */
+    { 0x0000fe5e, 11204 }, /* dead_voiced_sound */
+    { 0x00000abd, 11222 }, /* decimalpoint */
+    { 0x000000b0, 11235 }, /* degree */
+    { 0x0000ffff, 11242 }, /* Delete */
+    { 0x1000ff73, 11249 }, /* DeleteChar */
+    { 0x1000ff71, 11260 }, /* DeleteLine */
+    { 0x1000fe60, 11271 }, /* Dgrave_accent */
+    { 0x000000a8, 11285 }, /* diaeresis */
+    { 0x00000aed, 11295 }, /* diamond */
+    { 0x00000aa5, 11303 }, /* digitspace */
+    { 0x0100222c, 11314 }, /* dintegral */
+    { 0x000000f7, 11324 }, /* division */
+    { 0x00000024, 11333 }, /* dollar */
+    { 0x010020ab, 11340 }, /* DongSign */
+    { 0x00000aaf, 11349 }, /* doubbaselinedot */
+    { 0x000001bd, 11365 }, /* doubleacute */
+    { 0x00000af2, 11377 }, /* doubledagger */
+    { 0x00000afe, 11390 }, /* doublelowquotemark */
+    { 0x0000ff54, 11409 }, /* Down */
+    { 0x000008fe, 11414 }, /* downarrow */
+    { 0x00000ba8, 11424 }, /* downcaret */
+    { 0x00000bd6, 11434 }, /* downshoe */
+    { 0x00000bc4, 11443 }, /* downstile */
+    { 0x00000bc2, 11453 }, /* downtack */
+    { 0x1000ff00, 11462 }, /* DRemove */
+    { 0x1000feb0, 11470 }, /* Dring_accent */
+    { 0x000001d0, 11483 }, /* Dstroke */
+    { 0x000001f0, 11491 }, /* dstroke */
+    { 0x1000fe7e, 11499 }, /* Dtilde */
+    { 0x00000045, 11506 }, /* E */
+    { 0x00000065, 11508 }, /* e */
+    { 0x000003cc, 11510 }, /* Eabovedot */
+    { 0x000003ec, 11520 }, /* eabovedot */
+    { 0x000000c9, 11530 }, /* Eacute */
+    { 0x000000e9, 11537 }, /* eacute */
+    { 0x01001eb8, 11544 }, /* Ebelowdot */
+    { 0x01001eb9, 11554 }, /* ebelowdot */
+    { 0x000001cc, 11564 }, /* Ecaron */
+    { 0x000001ec, 11571 }, /* ecaron */
+    { 0x000000ca, 11578 }, /* Ecircumflex */
+    { 0x000000ea, 11590 }, /* ecircumflex */
+    { 0x01001ebe, 11602 }, /* Ecircumflexacute */
+    { 0x01001ebf, 11619 }, /* ecircumflexacute */
+    { 0x01001ec6, 11636 }, /* Ecircumflexbelowdot */
+    { 0x01001ec7, 11656 }, /* ecircumflexbelowdot */
+    { 0x01001ec0, 11676 }, /* Ecircumflexgrave */
+    { 0x01001ec1, 11693 }, /* ecircumflexgrave */
+    { 0x01001ec2, 11710 }, /* Ecircumflexhook */
+    { 0x01001ec3, 11726 }, /* ecircumflexhook */
+    { 0x01001ec4, 11742 }, /* Ecircumflextilde */
+    { 0x01001ec5, 11759 }, /* ecircumflextilde */
+    { 0x010020a0, 11776 }, /* EcuSign */
+    { 0x000000cb, 11784 }, /* Ediaeresis */
+    { 0x000000eb, 11795 }, /* ediaeresis */
+    { 0x000000c8, 11806 }, /* Egrave */
+    { 0x000000e8, 11813 }, /* egrave */
+    { 0x01001eba, 11820 }, /* Ehook */
+    { 0x01001ebb, 11826 }, /* ehook */
+    { 0x01002088, 11832 }, /* eightsubscript */
+    { 0x01002078, 11847 }, /* eightsuperior */
+    { 0x0000ff2f, 11861 }, /* Eisu_Shift */
+    { 0x0000ff30, 11872 }, /* Eisu_toggle */
+    { 0x01002208, 11884 }, /* elementof */
+    { 0x00000aae, 11894 }, /* ellipsis */
+    { 0x00000aa3, 11903 }, /* em3space */
+    { 0x00000aa4, 11912 }, /* em4space */
+    { 0x000003aa, 11921 }, /* Emacron */
+    { 0x000003ba, 11929 }, /* emacron */
+    { 0x00000aa9, 11937 }, /* emdash */
+    { 0x00000ade, 11944 }, /* emfilledcircle */
+    { 0x00000adf, 11959 }, /* emfilledrect */
+    { 0x00000ace, 11972 }, /* emopencircle */
+    { 0x00000acf, 11985 }, /* emopenrectangle */
+    { 0x01002205, 12001 }, /* emptyset */
+    { 0x00000aa1, 12010 }, /* emspace */
+    { 0x0000ff57, 12018 }, /* End */
+    { 0x00000aaa, 12022 }, /* endash */
+    { 0x00000ae6, 12029 }, /* enfilledcircbullet */
+    { 0x00000ae7, 12048 }, /* enfilledsqbullet */
+    { 0x000003bd, 12065 }, /* ENG */
+    { 0x000003bf, 12069 }, /* eng */
+    { 0x00000ae0, 12073 }, /* enopencircbullet */
+    { 0x00000ae1, 12090 }, /* enopensquarebullet */
+    { 0x00000aa2, 12109 }, /* enspace */
+    { 0x000001ca, 12117 }, /* Eogonek */
+    { 0x000001ea, 12125 }, /* eogonek */
+    { 0x0000003d, 12133 }, /* equal */
+    { 0x0000ff1b, 12139 }, /* Escape */
+    { 0x000000d0, 12146 }, /* ETH */
+    { 0x000000d0, 12150 }, /* Eth */
+    { 0x000000f0, 12154 }, /* eth */
+    { 0x01001ebc, 12158 }, /* Etilde */
+    { 0x01001ebd, 12165 }, /* etilde */
+    { 0x000020ac, 12172 }, /* EuroSign */
+    { 0x00000021, 12181 }, /* exclam */
+    { 0x000000a1, 12188 }, /* exclamdown */
+    { 0x0000ff62, 12199 }, /* Execute */
+    { 0x1000ff76, 12207 }, /* Ext16bit_L */
+    { 0x1000ff77, 12218 }, /* Ext16bit_R */
+    { 0x010001b7, 12229 }, /* EZH */
+    { 0x01000292, 12233 }, /* ezh */
+    { 0x00000046, 12237 }, /* F */
+    { 0x00000066, 12239 }, /* f */
+    { 0x0000ffbe, 12241 }, /* F1 */
+    { 0x0000ffc7, 12244 }, /* F10 */
+    { 0x0000ffc8, 12248 }, /* F11 */
+    { 0x0000ffc9, 12252 }, /* F12 */
+    { 0x0000ffca, 12256 }, /* F13 */
+    { 0x0000ffcb, 12260 }, /* F14 */
+    { 0x0000ffcc, 12264 }, /* F15 */
+    { 0x0000ffcd, 12268 }, /* F16 */
+    { 0x0000ffce, 12272 }, /* F17 */
+    { 0x0000ffcf, 12276 }, /* F18 */
+    { 0x0000ffd0, 12280 }, /* F19 */
+    { 0x0000ffbf, 12284 }, /* F2 */
+    { 0x0000ffd1, 12287 }, /* F20 */
+    { 0x0000ffd2, 12291 }, /* F21 */
+    { 0x0000ffd3, 12295 }, /* F22 */
+    { 0x0000ffd4, 12299 }, /* F23 */
+    { 0x0000ffd5, 12303 }, /* F24 */
+    { 0x0000ffd6, 12307 }, /* F25 */
+    { 0x0000ffd7, 12311 }, /* F26 */
+    { 0x0000ffd8, 12315 }, /* F27 */
+    { 0x0000ffd9, 12319 }, /* F28 */
+    { 0x0000ffda, 12323 }, /* F29 */
+    { 0x0000ffc0, 12327 }, /* F3 */
+    { 0x0000ffdb, 12330 }, /* F30 */
+    { 0x0000ffdc, 12334 }, /* F31 */
+    { 0x0000ffdd, 12338 }, /* F32 */
+    { 0x0000ffde, 12342 }, /* F33 */
+    { 0x0000ffdf, 12346 }, /* F34 */
+    { 0x0000ffe0, 12350 }, /* F35 */
+    { 0x0000ffc1, 12354 }, /* F4 */
+    { 0x0000ffc2, 12357 }, /* F5 */
+    { 0x0000ffc3, 12360 }, /* F6 */
+    { 0x0000ffc4, 12363 }, /* F7 */
+    { 0x0000ffc5, 12366 }, /* F8 */
+    { 0x0000ffc6, 12369 }, /* F9 */
+    { 0x01001e1e, 12372 }, /* Fabovedot */
+    { 0x01001e1f, 12382 }, /* fabovedot */
+    { 0x010006f0, 12392 }, /* Farsi_0 */
+    { 0x010006f1, 12400 }, /* Farsi_1 */
+    { 0x010006f2, 12408 }, /* Farsi_2 */
+    { 0x010006f3, 12416 }, /* Farsi_3 */
+    { 0x010006f4, 12424 }, /* Farsi_4 */
+    { 0x010006f5, 12432 }, /* Farsi_5 */
+    { 0x010006f6, 12440 }, /* Farsi_6 */
+    { 0x010006f7, 12448 }, /* Farsi_7 */
+    { 0x010006f8, 12456 }, /* Farsi_8 */
+    { 0x010006f9, 12464 }, /* Farsi_9 */
+    { 0x010006cc, 12472 }, /* Farsi_yeh */
+    { 0x00000af8, 12482 }, /* femalesymbol */
+    { 0x000009e3, 12495 }, /* ff */
+    { 0x010020a3, 12498 }, /* FFrancSign */
+    { 0x00000abb, 12509 }, /* figdash */
+    { 0x00000adc, 12517 }, /* filledlefttribullet */
+    { 0x00000adb, 12537 }, /* filledrectbullet */
+    { 0x00000add, 12554 }, /* filledrighttribullet */
+    { 0x00000ae9, 12575 }, /* filledtribulletdown */
+    { 0x00000ae8, 12595 }, /* filledtribulletup */
+    { 0x0000ff68, 12613 }, /* Find */
+    { 0x0000fed0, 12618 }, /* First_Virtual_Screen */
+    { 0x00000ac5, 12639 }, /* fiveeighths */
+    { 0x00000ab7, 12651 }, /* fivesixths */
+    { 0x01002085, 12662 }, /* fivesubscript */
+    { 0x01002075, 12676 }, /* fivesuperior */
+    { 0x00000ab5, 12689 }, /* fourfifths */
+    { 0x01002084, 12700 }, /* foursubscript */
+    { 0x01002074, 12714 }, /* foursuperior */
+    { 0x0100221c, 12727 }, /* fourthroot */
+    { 0x000008f6, 12738 }, /* function */
+    { 0x00000047, 12747 }, /* G */
+    { 0x00000067, 12749 }, /* g */
+    { 0x000002d5, 12751 }, /* Gabovedot */
+    { 0x000002f5, 12761 }, /* gabovedot */
+    { 0x000002ab, 12771 }, /* Gbreve */
+    { 0x000002bb, 12778 }, /* gbreve */
+    { 0x010001e6, 12785 }, /* Gcaron */
+    { 0x010001e7, 12792 }, /* gcaron */
+    { 0x000003ab, 12799 }, /* Gcedilla */
+    { 0x000003bb, 12808 }, /* gcedilla */
+    { 0x000002d8, 12817 }, /* Gcircumflex */
+    { 0x000002f8, 12829 }, /* gcircumflex */
+    { 0x010010d0, 12841 }, /* Georgian_an */
+    { 0x010010d1, 12853 }, /* Georgian_ban */
+    { 0x010010ea, 12866 }, /* Georgian_can */
+    { 0x010010ed, 12879 }, /* Georgian_char */
+    { 0x010010e9, 12893 }, /* Georgian_chin */
+    { 0x010010ec, 12907 }, /* Georgian_cil */
+    { 0x010010d3, 12920 }, /* Georgian_don */
+    { 0x010010d4, 12933 }, /* Georgian_en */
+    { 0x010010f6, 12945 }, /* Georgian_fi */
+    { 0x010010d2, 12957 }, /* Georgian_gan */
+    { 0x010010e6, 12970 }, /* Georgian_ghan */
+    { 0x010010f0, 12984 }, /* Georgian_hae */
+    { 0x010010f4, 12997 }, /* Georgian_har */
+    { 0x010010f1, 13010 }, /* Georgian_he */
+    { 0x010010f2, 13022 }, /* Georgian_hie */
+    { 0x010010f5, 13035 }, /* Georgian_hoe */
+    { 0x010010d8, 13048 }, /* Georgian_in */
+    { 0x010010ef, 13060 }, /* Georgian_jhan */
+    { 0x010010eb, 13074 }, /* Georgian_jil */
+    { 0x010010d9, 13087 }, /* Georgian_kan */
+    { 0x010010e5, 13100 }, /* Georgian_khar */
+    { 0x010010da, 13114 }, /* Georgian_las */
+    { 0x010010db, 13127 }, /* Georgian_man */
+    { 0x010010dc, 13140 }, /* Georgian_nar */
+    { 0x010010dd, 13153 }, /* Georgian_on */
+    { 0x010010de, 13165 }, /* Georgian_par */
+    { 0x010010e4, 13178 }, /* Georgian_phar */
+    { 0x010010e7, 13192 }, /* Georgian_qar */
+    { 0x010010e0, 13205 }, /* Georgian_rae */
+    { 0x010010e1, 13218 }, /* Georgian_san */
+    { 0x010010e8, 13231 }, /* Georgian_shin */
+    { 0x010010d7, 13245 }, /* Georgian_tan */
+    { 0x010010e2, 13258 }, /* Georgian_tar */
+    { 0x010010e3, 13271 }, /* Georgian_un */
+    { 0x010010d5, 13283 }, /* Georgian_vin */
+    { 0x010010f3, 13296 }, /* Georgian_we */
+    { 0x010010ee, 13308 }, /* Georgian_xan */
+    { 0x010010d6, 13321 }, /* Georgian_zen */
+    { 0x010010df, 13334 }, /* Georgian_zhar */
+    { 0x00000060, 13348 }, /* grave */
+    { 0x0000003e, 13354 }, /* greater */
+    { 0x000008be, 13362 }, /* greaterthanequal */
+    { 0x000007ae, 13379 }, /* Greek_accentdieresis */
+    { 0x000007c1, 13400 }, /* Greek_ALPHA */
+    { 0x000007e1, 13412 }, /* Greek_alpha */
+    { 0x000007a1, 13424 }, /* Greek_ALPHAaccent */
+    { 0x000007b1, 13442 }, /* Greek_alphaaccent */
+    { 0x000007c2, 13460 }, /* Greek_BETA */
+    { 0x000007e2, 13471 }, /* Greek_beta */
+    { 0x000007d7, 13482 }, /* Greek_CHI */
+    { 0x000007f7, 13492 }, /* Greek_chi */
+    { 0x000007c4, 13502 }, /* Greek_DELTA */
+    { 0x000007e4, 13514 }, /* Greek_delta */
+    { 0x000007c5, 13526 }, /* Greek_EPSILON */
+    { 0x000007e5, 13540 }, /* Greek_epsilon */
+    { 0x000007a2, 13554 }, /* Greek_EPSILONaccent */
+    { 0x000007b2, 13574 }, /* Greek_epsilonaccent */
+    { 0x000007c7, 13594 }, /* Greek_ETA */
+    { 0x000007e7, 13604 }, /* Greek_eta */
+    { 0x000007a3, 13614 }, /* Greek_ETAaccent */
+    { 0x000007b3, 13630 }, /* Greek_etaaccent */
+    { 0x000007f3, 13646 }, /* Greek_finalsmallsigma */
+    { 0x000007c3, 13668 }, /* Greek_GAMMA */
+    { 0x000007e3, 13680 }, /* Greek_gamma */
+    { 0x000007af, 13692 }, /* Greek_horizbar */
+    { 0x000007c9, 13707 }, /* Greek_IOTA */
+    { 0x000007e9, 13718 }, /* Greek_iota */
+    { 0x000007a4, 13729 }, /* Greek_IOTAaccent */
+    { 0x000007b4, 13746 }, /* Greek_iotaaccent */
+    { 0x000007b6, 13763 }, /* Greek_iotaaccentdieresis */
+    { 0x000007a5, 13788 }, /* Greek_IOTAdiaeresis */
+    { 0x000007a5, 13808 }, /* Greek_IOTAdieresis */
+    { 0x000007b5, 13827 }, /* Greek_iotadieresis */
+    { 0x000007ca, 13846 }, /* Greek_KAPPA */
+    { 0x000007ea, 13858 }, /* Greek_kappa */
+    { 0x000007cb, 13870 }, /* Greek_LAMBDA */
+    { 0x000007eb, 13883 }, /* Greek_lambda */
+    { 0x000007cb, 13896 }, /* Greek_LAMDA */
+    { 0x000007eb, 13908 }, /* Greek_lamda */
+    { 0x000007cc, 13920 }, /* Greek_MU */
+    { 0x000007ec, 13929 }, /* Greek_mu */
+    { 0x000007cd, 13938 }, /* Greek_NU */
+    { 0x000007ed, 13947 }, /* Greek_nu */
+    { 0x000007d9, 13956 }, /* Greek_OMEGA */
+    { 0x000007f9, 13968 }, /* Greek_omega */
+    { 0x000007ab, 13980 }, /* Greek_OMEGAaccent */
+    { 0x000007bb, 13998 }, /* Greek_omegaaccent */
+    { 0x000007cf, 14016 }, /* Greek_OMICRON */
+    { 0x000007ef, 14030 }, /* Greek_omicron */
+    { 0x000007a7, 14044 }, /* Greek_OMICRONaccent */
+    { 0x000007b7, 14064 }, /* Greek_omicronaccent */
+    { 0x000007d6, 14084 }, /* Greek_PHI */
+    { 0x000007f6, 14094 }, /* Greek_phi */
+    { 0x000007d0, 14104 }, /* Greek_PI */
+    { 0x000007f0, 14113 }, /* Greek_pi */
+    { 0x000007d8, 14122 }, /* Greek_PSI */
+    { 0x000007f8, 14132 }, /* Greek_psi */
+    { 0x000007d1, 14142 }, /* Greek_RHO */
+    { 0x000007f1, 14152 }, /* Greek_rho */
+    { 0x000007d2, 14162 }, /* Greek_SIGMA */
+    { 0x000007f2, 14174 }, /* Greek_sigma */
+    { 0x0000ff7e, 14186 }, /* Greek_switch */
+    { 0x000007d4, 14199 }, /* Greek_TAU */
+    { 0x000007f4, 14209 }, /* Greek_tau */
+    { 0x000007c8, 14219 }, /* Greek_THETA */
+    { 0x000007e8, 14231 }, /* Greek_theta */
+    { 0x000007d5, 14243 }, /* Greek_UPSILON */
+    { 0x000007f5, 14257 }, /* Greek_upsilon */
+    { 0x000007a8, 14271 }, /* Greek_UPSILONaccent */
+    { 0x000007b8, 14291 }, /* Greek_upsilonaccent */
+    { 0x000007ba, 14311 }, /* Greek_upsilonaccentdieresis */
+    { 0x000007a9, 14339 }, /* Greek_UPSILONdieresis */
+    { 0x000007b9, 14361 }, /* Greek_upsilondieresis */
+    { 0x000007ce, 14383 }, /* Greek_XI */
+    { 0x000007ee, 14392 }, /* Greek_xi */
+    { 0x000007c6, 14401 }, /* Greek_ZETA */
+    { 0x000007e6, 14412 }, /* Greek_zeta */
+    { 0x100000be, 14423 }, /* guilder */
+    { 0x000000ab, 14431 }, /* guillemotleft */
+    { 0x000000bb, 14445 }, /* guillemotright */
+    { 0x00000048, 14460 }, /* H */
+    { 0x00000068, 14462 }, /* h */
+    { 0x00000aa8, 14464 }, /* hairspace */
+    { 0x0000ff31, 14474 }, /* Hangul */
+    { 0x00000ebf, 14481 }, /* Hangul_A */
+    { 0x00000ec0, 14490 }, /* Hangul_AE */
+    { 0x00000ef6, 14500 }, /* Hangul_AraeA */
+    { 0x00000ef7, 14513 }, /* Hangul_AraeAE */
+    { 0x0000ff39, 14527 }, /* Hangul_Banja */
+    { 0x00000eba, 14540 }, /* Hangul_Cieuc */
+    { 0x0000ff37, 14553 }, /* Hangul_Codeinput */
+    { 0x00000ea7, 14570 }, /* Hangul_Dikeud */
+    { 0x00000ec4, 14584 }, /* Hangul_E */
+    { 0x0000ff33, 14593 }, /* Hangul_End */
+    { 0x00000ec3, 14604 }, /* Hangul_EO */
+    { 0x00000ed1, 14614 }, /* Hangul_EU */
+    { 0x0000ff34, 14624 }, /* Hangul_Hanja */
+    { 0x00000ebe, 14637 }, /* Hangul_Hieuh */
+    { 0x00000ed3, 14650 }, /* Hangul_I */
+    { 0x00000eb7, 14659 }, /* Hangul_Ieung */
+    { 0x00000eea, 14672 }, /* Hangul_J_Cieuc */
+    { 0x00000eda, 14687 }, /* Hangul_J_Dikeud */
+    { 0x00000eee, 14703 }, /* Hangul_J_Hieuh */
+    { 0x00000ee8, 14718 }, /* Hangul_J_Ieung */
+    { 0x00000ee9, 14733 }, /* Hangul_J_Jieuj */
+    { 0x00000eeb, 14748 }, /* Hangul_J_Khieuq */
+    { 0x00000ed4, 14764 }, /* Hangul_J_Kiyeog */
+    { 0x00000ed6, 14780 }, /* Hangul_J_KiyeogSios */
+    { 0x00000ef9, 14800 }, /* Hangul_J_KkogjiDalrinIeung */
+    { 0x00000ee3, 14827 }, /* Hangul_J_Mieum */
+    { 0x00000ed7, 14842 }, /* Hangul_J_Nieun */
+    { 0x00000ed9, 14857 }, /* Hangul_J_NieunHieuh */
+    { 0x00000ed8, 14877 }, /* Hangul_J_NieunJieuj */
+    { 0x00000ef8, 14897 }, /* Hangul_J_PanSios */
+    { 0x00000eed, 14914 }, /* Hangul_J_Phieuf */
+    { 0x00000ee4, 14930 }, /* Hangul_J_Pieub */
+    { 0x00000ee5, 14945 }, /* Hangul_J_PieubSios */
+    { 0x00000edb, 14964 }, /* Hangul_J_Rieul */
+    { 0x00000ee2, 14979 }, /* Hangul_J_RieulHieuh */
+    { 0x00000edc, 14999 }, /* Hangul_J_RieulKiyeog */
+    { 0x00000edd, 15020 }, /* Hangul_J_RieulMieum */
+    { 0x00000ee1, 15040 }, /* Hangul_J_RieulPhieuf */
+    { 0x00000ede, 15061 }, /* Hangul_J_RieulPieub */
+    { 0x00000edf, 15081 }, /* Hangul_J_RieulSios */
+    { 0x00000ee0, 15100 }, /* Hangul_J_RieulTieut */
+    { 0x00000ee6, 15120 }, /* Hangul_J_Sios */
+    { 0x00000ed5, 15134 }, /* Hangul_J_SsangKiyeog */
+    { 0x00000ee7, 15155 }, /* Hangul_J_SsangSios */
+    { 0x00000eec, 15174 }, /* Hangul_J_Tieut */
+    { 0x00000efa, 15189 }, /* Hangul_J_YeorinHieuh */
+    { 0x0000ff35, 15210 }, /* Hangul_Jamo */
+    { 0x0000ff38, 15222 }, /* Hangul_Jeonja */
+    { 0x00000eb8, 15236 }, /* Hangul_Jieuj */
+    { 0x00000ebb, 15249 }, /* Hangul_Khieuq */
+    { 0x00000ea1, 15263 }, /* Hangul_Kiyeog */
+    { 0x00000ea3, 15277 }, /* Hangul_KiyeogSios */
+    { 0x00000ef3, 15295 }, /* Hangul_KkogjiDalrinIeung */
+    { 0x00000eb1, 15320 }, /* Hangul_Mieum */
+    { 0x0000ff3d, 15333 }, /* Hangul_MultipleCandidate */
+    { 0x00000ea4, 15358 }, /* Hangul_Nieun */
+    { 0x00000ea6, 15371 }, /* Hangul_NieunHieuh */
+    { 0x00000ea5, 15389 }, /* Hangul_NieunJieuj */
+    { 0x00000ec7, 15407 }, /* Hangul_O */
+    { 0x00000eca, 15416 }, /* Hangul_OE */
+    { 0x00000ef2, 15426 }, /* Hangul_PanSios */
+    { 0x00000ebd, 15441 }, /* Hangul_Phieuf */
+    { 0x00000eb2, 15455 }, /* Hangul_Pieub */
+    { 0x00000eb4, 15468 }, /* Hangul_PieubSios */
+    { 0x0000ff3b, 15485 }, /* Hangul_PostHanja */
+    { 0x0000ff3a, 15502 }, /* Hangul_PreHanja */
+    { 0x0000ff3e, 15518 }, /* Hangul_PreviousCandidate */
+    { 0x00000ea9, 15543 }, /* Hangul_Rieul */
+    { 0x00000eb0, 15556 }, /* Hangul_RieulHieuh */
+    { 0x00000eaa, 15574 }, /* Hangul_RieulKiyeog */
+    { 0x00000eab, 15593 }, /* Hangul_RieulMieum */
+    { 0x00000eaf, 15611 }, /* Hangul_RieulPhieuf */
+    { 0x00000eac, 15630 }, /* Hangul_RieulPieub */
+    { 0x00000ead, 15648 }, /* Hangul_RieulSios */
+    { 0x00000eae, 15665 }, /* Hangul_RieulTieut */
+    { 0x00000eef, 15683 }, /* Hangul_RieulYeorinHieuh */
+    { 0x0000ff36, 15707 }, /* Hangul_Romaja */
+    { 0x0000ff3c, 15721 }, /* Hangul_SingleCandidate */
+    { 0x00000eb5, 15744 }, /* Hangul_Sios */
+    { 0x0000ff3f, 15756 }, /* Hangul_Special */
+    { 0x00000ea8, 15771 }, /* Hangul_SsangDikeud */
+    { 0x00000eb9, 15790 }, /* Hangul_SsangJieuj */
+    { 0x00000ea2, 15808 }, /* Hangul_SsangKiyeog */
+    { 0x00000eb3, 15827 }, /* Hangul_SsangPieub */
+    { 0x00000eb6, 15845 }, /* Hangul_SsangSios */
+    { 0x0000ff32, 15862 }, /* Hangul_Start */
+    { 0x00000ef0, 15875 }, /* Hangul_SunkyeongeumMieum */
+    { 0x00000ef4, 15900 }, /* Hangul_SunkyeongeumPhieuf */
+    { 0x00000ef1, 15926 }, /* Hangul_SunkyeongeumPieub */
+    { 0x0000ff7e, 15951 }, /* Hangul_switch */
+    { 0x00000ebc, 15965 }, /* Hangul_Tieut */
+    { 0x00000ecc, 15978 }, /* Hangul_U */
+    { 0x00000ec8, 15987 }, /* Hangul_WA */
+    { 0x00000ec9, 15997 }, /* Hangul_WAE */
+    { 0x00000ece, 16008 }, /* Hangul_WE */
+    { 0x00000ecd, 16018 }, /* Hangul_WEO */
+    { 0x00000ecf, 16029 }, /* Hangul_WI */
+    { 0x00000ec1, 16039 }, /* Hangul_YA */
+    { 0x00000ec2, 16049 }, /* Hangul_YAE */
+    { 0x00000ec6, 16060 }, /* Hangul_YE */
+    { 0x00000ec5, 16070 }, /* Hangul_YEO */
+    { 0x00000ef5, 16081 }, /* Hangul_YeorinHieuh */
+    { 0x00000ed2, 16100 }, /* Hangul_YI */
+    { 0x00000ecb, 16110 }, /* Hangul_YO */
+    { 0x00000ed0, 16120 }, /* Hangul_YU */
+    { 0x0000ff29, 16130 }, /* Hankaku */
+    { 0x000002a6, 16138 }, /* Hcircumflex */
+    { 0x000002b6, 16150 }, /* hcircumflex */
+    { 0x00000aee, 16162 }, /* heart */
+    { 0x00000ce0, 16168 }, /* hebrew_aleph */
+    { 0x00000cf2, 16181 }, /* hebrew_ayin */
+    { 0x00000ce1, 16193 }, /* hebrew_bet */
+    { 0x00000ce1, 16204 }, /* hebrew_beth */
+    { 0x00000ce7, 16216 }, /* hebrew_chet */
+    { 0x00000ce3, 16228 }, /* hebrew_dalet */
+    { 0x00000ce3, 16241 }, /* hebrew_daleth */
+    { 0x00000cdf, 16255 }, /* hebrew_doublelowline */
+    { 0x00000cea, 16276 }, /* hebrew_finalkaph */
+    { 0x00000ced, 16293 }, /* hebrew_finalmem */
+    { 0x00000cef, 16309 }, /* hebrew_finalnun */
+    { 0x00000cf3, 16325 }, /* hebrew_finalpe */
+    { 0x00000cf5, 16340 }, /* hebrew_finalzade */
+    { 0x00000cf5, 16357 }, /* hebrew_finalzadi */
+    { 0x00000ce2, 16374 }, /* hebrew_gimel */
+    { 0x00000ce2, 16387 }, /* hebrew_gimmel */
+    { 0x00000ce4, 16401 }, /* hebrew_he */
+    { 0x00000ce7, 16411 }, /* hebrew_het */
+    { 0x00000ceb, 16422 }, /* hebrew_kaph */
+    { 0x00000cf7, 16434 }, /* hebrew_kuf */
+    { 0x00000cec, 16445 }, /* hebrew_lamed */
+    { 0x00000cee, 16458 }, /* hebrew_mem */
+    { 0x00000cf0, 16469 }, /* hebrew_nun */
+    { 0x00000cf4, 16480 }, /* hebrew_pe */
+    { 0x00000cf7, 16490 }, /* hebrew_qoph */
+    { 0x00000cf8, 16502 }, /* hebrew_resh */
+    { 0x00000cf1, 16514 }, /* hebrew_samech */
+    { 0x00000cf1, 16528 }, /* hebrew_samekh */
+    { 0x00000cf9, 16542 }, /* hebrew_shin */
+    { 0x0000ff7e, 16554 }, /* Hebrew_switch */
+    { 0x00000cfa, 16568 }, /* hebrew_taf */
+    { 0x00000cfa, 16579 }, /* hebrew_taw */
+    { 0x00000ce8, 16590 }, /* hebrew_tet */
+    { 0x00000ce8, 16601 }, /* hebrew_teth */
+    { 0x00000ce5, 16613 }, /* hebrew_waw */
+    { 0x00000ce9, 16624 }, /* hebrew_yod */
+    { 0x00000cf6, 16635 }, /* hebrew_zade */
+    { 0x00000cf6, 16647 }, /* hebrew_zadi */
+    { 0x00000ce6, 16659 }, /* hebrew_zain */
+    { 0x00000ce6, 16671 }, /* hebrew_zayin */
+    { 0x0000ff6a, 16684 }, /* Help */
+    { 0x0000ff23, 16689 }, /* Henkan */
+    { 0x0000ff23, 16696 }, /* Henkan_Mode */
+    { 0x00000ada, 16708 }, /* hexagram */
+    { 0x0000ff25, 16717 }, /* Hiragana */
+    { 0x0000ff27, 16726 }, /* Hiragana_Katakana */
+    { 0x0000ff50, 16744 }, /* Home */
+    { 0x000008a3, 16749 }, /* horizconnector */
+    { 0x000009ef, 16764 }, /* horizlinescan1 */
+    { 0x000009f0, 16779 }, /* horizlinescan3 */
+    { 0x000009f1, 16794 }, /* horizlinescan5 */
+    { 0x000009f2, 16809 }, /* horizlinescan7 */
+    { 0x000009f3, 16824 }, /* horizlinescan9 */
+    { 0x1000ff74, 16839 }, /* hpBackTab */
+    { 0x100000fc, 16849 }, /* hpblock */
+    { 0x1000ff6f, 16857 }, /* hpClearLine */
+    { 0x1000ff73, 16869 }, /* hpDeleteChar */
+    { 0x1000ff71, 16882 }, /* hpDeleteLine */
+    { 0x100000be, 16895 }, /* hpguilder */
+    { 0x1000ff72, 16905 }, /* hpInsertChar */
+    { 0x1000ff70, 16918 }, /* hpInsertLine */
+    { 0x100000ee, 16931 }, /* hpIO */
+    { 0x1000ff75, 16936 }, /* hpKP_BackTab */
+    { 0x100000af, 16949 }, /* hplira */
+    { 0x100000f6, 16956 }, /* hplongminus */
+    { 0x1000ff48, 16968 }, /* hpModelock1 */
+    { 0x1000ff49, 16980 }, /* hpModelock2 */
+    { 0x100000a8, 16992 }, /* hpmute_acute */
+    { 0x100000aa, 17005 }, /* hpmute_asciicircum */
+    { 0x100000ac, 17024 }, /* hpmute_asciitilde */
+    { 0x100000ab, 17042 }, /* hpmute_diaeresis */
+    { 0x100000a9, 17059 }, /* hpmute_grave */
+    { 0x1000ff6c, 17072 }, /* hpReset */
+    { 0x1000ff6d, 17080 }, /* hpSystem */
+    { 0x1000ff6e, 17089 }, /* hpUser */
+    { 0x100000ee, 17096 }, /* hpYdiaeresis */
+    { 0x000002a1, 17109 }, /* Hstroke */
+    { 0x000002b1, 17117 }, /* hstroke */
+    { 0x000009e2, 17125 }, /* ht */
+    { 0x0000ffed, 17128 }, /* Hyper_L */
+    { 0x0000ffee, 17136 }, /* Hyper_R */
+    { 0x000000ad, 17144 }, /* hyphen */
+    { 0x00000049, 17151 }, /* I */
+    { 0x00000069, 17153 }, /* i */
+    { 0x000002a9, 17155 }, /* Iabovedot */
+    { 0x000000cd, 17165 }, /* Iacute */
+    { 0x000000ed, 17172 }, /* iacute */
+    { 0x01001eca, 17179 }, /* Ibelowdot */
+    { 0x01001ecb, 17189 }, /* ibelowdot */
+    { 0x0100012c, 17199 }, /* Ibreve */
+    { 0x0100012d, 17206 }, /* ibreve */
+    { 0x000000ce, 17213 }, /* Icircumflex */
+    { 0x000000ee, 17225 }, /* icircumflex */
+    { 0x000008cf, 17237 }, /* identical */
+    { 0x000000cf, 17247 }, /* Idiaeresis */
+    { 0x000000ef, 17258 }, /* idiaeresis */
+    { 0x000002b9, 17269 }, /* idotless */
+    { 0x000008cd, 17278 }, /* ifonlyif */
+    { 0x000000cc, 17287 }, /* Igrave */
+    { 0x000000ec, 17294 }, /* igrave */
+    { 0x01001ec8, 17301 }, /* Ihook */
+    { 0x01001ec9, 17307 }, /* ihook */
+    { 0x000003cf, 17313 }, /* Imacron */
+    { 0x000003ef, 17321 }, /* imacron */
+    { 0x000008ce, 17329 }, /* implies */
+    { 0x000008da, 17337 }, /* includedin */
+    { 0x000008db, 17348 }, /* includes */
+    { 0x000008c2, 17357 }, /* infinity */
+    { 0x0000ff63, 17366 }, /* Insert */
+    { 0x1000ff72, 17373 }, /* InsertChar */
+    { 0x1000ff70, 17384 }, /* InsertLine */
+    { 0x000008bf, 17395 }, /* integral */
+    { 0x000008dc, 17404 }, /* intersection */
+    { 0x100000ee, 17417 }, /* IO */
+    { 0x000003c7, 17420 }, /* Iogonek */
+    { 0x000003e7, 17428 }, /* iogonek */
+    { 0x0000fe33, 17436 }, /* ISO_Center_Object */
+    { 0x0000fe30, 17454 }, /* ISO_Continuous_Underline */
+    { 0x0000fe31, 17479 }, /* ISO_Discontinuous_Underline */
+    { 0x0000fe32, 17507 }, /* ISO_Emphasize */
+    { 0x0000fe34, 17521 }, /* ISO_Enter */
+    { 0x0000fe2f, 17531 }, /* ISO_Fast_Cursor_Down */
+    { 0x0000fe2c, 17552 }, /* ISO_Fast_Cursor_Left */
+    { 0x0000fe2d, 17573 }, /* ISO_Fast_Cursor_Right */
+    { 0x0000fe2e, 17595 }, /* ISO_Fast_Cursor_Up */
+    { 0x0000fe0c, 17614 }, /* ISO_First_Group */
+    { 0x0000fe0d, 17630 }, /* ISO_First_Group_Lock */
+    { 0x0000fe06, 17651 }, /* ISO_Group_Latch */
+    { 0x0000fe07, 17667 }, /* ISO_Group_Lock */
+    { 0x0000ff7e, 17682 }, /* ISO_Group_Shift */
+    { 0x0000fe0e, 17698 }, /* ISO_Last_Group */
+    { 0x0000fe0f, 17713 }, /* ISO_Last_Group_Lock */
+    { 0x0000fe20, 17733 }, /* ISO_Left_Tab */
+    { 0x0000fe02, 17746 }, /* ISO_Level2_Latch */
+    { 0x0000fe04, 17763 }, /* ISO_Level3_Latch */
+    { 0x0000fe05, 17780 }, /* ISO_Level3_Lock */
+    { 0x0000fe03, 17796 }, /* ISO_Level3_Shift */
+    { 0x0000fe12, 17813 }, /* ISO_Level5_Latch */
+    { 0x0000fe13, 17830 }, /* ISO_Level5_Lock */
+    { 0x0000fe11, 17846 }, /* ISO_Level5_Shift */
+    { 0x0000fe01, 17863 }, /* ISO_Lock */
+    { 0x0000fe22, 17872 }, /* ISO_Move_Line_Down */
+    { 0x0000fe21, 17891 }, /* ISO_Move_Line_Up */
+    { 0x0000fe08, 17908 }, /* ISO_Next_Group */
+    { 0x0000fe09, 17923 }, /* ISO_Next_Group_Lock */
+    { 0x0000fe24, 17943 }, /* ISO_Partial_Line_Down */
+    { 0x0000fe23, 17965 }, /* ISO_Partial_Line_Up */
+    { 0x0000fe25, 17985 }, /* ISO_Partial_Space_Left */
+    { 0x0000fe26, 18008 }, /* ISO_Partial_Space_Right */
+    { 0x0000fe0a, 18032 }, /* ISO_Prev_Group */
+    { 0x0000fe0b, 18047 }, /* ISO_Prev_Group_Lock */
+    { 0x0000fe2b, 18067 }, /* ISO_Release_Both_Margins */
+    { 0x0000fe29, 18092 }, /* ISO_Release_Margin_Left */
+    { 0x0000fe2a, 18116 }, /* ISO_Release_Margin_Right */
+    { 0x0000fe27, 18141 }, /* ISO_Set_Margin_Left */
+    { 0x0000fe28, 18161 }, /* ISO_Set_Margin_Right */
+    { 0x000003a5, 18182 }, /* Itilde */
+    { 0x000003b5, 18189 }, /* itilde */
+    { 0x0000004a, 18196 }, /* J */
+    { 0x0000006a, 18198 }, /* j */
+    { 0x000002ac, 18200 }, /* Jcircumflex */
+    { 0x000002bc, 18212 }, /* jcircumflex */
+    { 0x00000bca, 18224 }, /* jot */
+    { 0x0000004b, 18228 }, /* K */
+    { 0x0000006b, 18230 }, /* k */
+    { 0x000004a7, 18232 }, /* kana_a */
+    { 0x000004b1, 18239 }, /* kana_A */
+    { 0x000004c1, 18246 }, /* kana_CHI */
+    { 0x000004a3, 18255 }, /* kana_closingbracket */
+    { 0x000004a4, 18275 }, /* kana_comma */
+    { 0x000004a5, 18286 }, /* kana_conjunctive */
+    { 0x000004aa, 18303 }, /* kana_e */
+    { 0x000004b4, 18310 }, /* kana_E */
+    { 0x000004cc, 18317 }, /* kana_FU */
+    { 0x000004a1, 18325 }, /* kana_fullstop */
+    { 0x000004ca, 18339 }, /* kana_HA */
+    { 0x000004cd, 18347 }, /* kana_HE */
+    { 0x000004cb, 18355 }, /* kana_HI */
+    { 0x000004ce, 18363 }, /* kana_HO */
+    { 0x000004cc, 18371 }, /* kana_HU */
+    { 0x000004a8, 18379 }, /* kana_i */
+    { 0x000004b2, 18386 }, /* kana_I */
+    { 0x000004b6, 18393 }, /* kana_KA */
+    { 0x000004b9, 18401 }, /* kana_KE */
+    { 0x000004b7, 18409 }, /* kana_KI */
+    { 0x000004ba, 18417 }, /* kana_KO */
+    { 0x000004b8, 18425 }, /* kana_KU */
+    { 0x0000ff2d, 18433 }, /* Kana_Lock */
+    { 0x000004cf, 18443 }, /* kana_MA */
+    { 0x000004d2, 18451 }, /* kana_ME */
+    { 0x000004d0, 18459 }, /* kana_MI */
+    { 0x000004a5, 18467 }, /* kana_middledot */
+    { 0x000004d3, 18482 }, /* kana_MO */
+    { 0x000004d1, 18490 }, /* kana_MU */
+    { 0x000004dd, 18498 }, /* kana_N */
+    { 0x000004c5, 18505 }, /* kana_NA */
+    { 0x000004c8, 18513 }, /* kana_NE */
+    { 0x000004c6, 18521 }, /* kana_NI */
+    { 0x000004c9, 18529 }, /* kana_NO */
+    { 0x000004c7, 18537 }, /* kana_NU */
+    { 0x000004ab, 18545 }, /* kana_o */
+    { 0x000004b5, 18552 }, /* kana_O */
+    { 0x000004a2, 18559 }, /* kana_openingbracket */
+    { 0x000004d7, 18579 }, /* kana_RA */
+    { 0x000004da, 18587 }, /* kana_RE */
+    { 0x000004d8, 18595 }, /* kana_RI */
+    { 0x000004db, 18603 }, /* kana_RO */
+    { 0x000004d9, 18611 }, /* kana_RU */
+    { 0x000004bb, 18619 }, /* kana_SA */
+    { 0x000004be, 18627 }, /* kana_SE */
+    { 0x000004bc, 18635 }, /* kana_SHI */
+    { 0x0000ff2e, 18644 }, /* Kana_Shift */
+    { 0x000004bf, 18655 }, /* kana_SO */
+    { 0x000004bd, 18663 }, /* kana_SU */
+    { 0x0000ff7e, 18671 }, /* kana_switch */
+    { 0x000004c0, 18683 }, /* kana_TA */
+    { 0x000004c3, 18691 }, /* kana_TE */
+    { 0x000004c1, 18699 }, /* kana_TI */
+    { 0x000004c4, 18707 }, /* kana_TO */
+    { 0x000004af, 18715 }, /* kana_tsu */
+    { 0x000004c2, 18724 }, /* kana_TSU */
+    { 0x000004af, 18733 }, /* kana_tu */
+    { 0x000004c2, 18741 }, /* kana_TU */
+    { 0x000004a9, 18749 }, /* kana_u */
+    { 0x000004b3, 18756 }, /* kana_U */
+    { 0x000004dc, 18763 }, /* kana_WA */
+    { 0x000004a6, 18771 }, /* kana_WO */
+    { 0x000004ac, 18779 }, /* kana_ya */
+    { 0x000004d4, 18787 }, /* kana_YA */
+    { 0x000004ae, 18795 }, /* kana_yo */
+    { 0x000004d6, 18803 }, /* kana_YO */
+    { 0x000004ad, 18811 }, /* kana_yu */
+    { 0x000004d5, 18819 }, /* kana_YU */
+    { 0x0000ff21, 18827 }, /* Kanji */
+    { 0x0000ff37, 18833 }, /* Kanji_Bangou */
+    { 0x000003a2, 18846 }, /* kappa */
+    { 0x0000ff26, 18852 }, /* Katakana */
+    { 0x000003d3, 18861 }, /* Kcedilla */
+    { 0x000003f3, 18870 }, /* kcedilla */
+    { 0x00000eff, 18879 }, /* Korean_Won */
+    { 0x0000ffb0, 18890 }, /* KP_0 */
+    { 0x0000ffb1, 18895 }, /* KP_1 */
+    { 0x0000ffb2, 18900 }, /* KP_2 */
+    { 0x0000ffb3, 18905 }, /* KP_3 */
+    { 0x0000ffb4, 18910 }, /* KP_4 */
+    { 0x0000ffb5, 18915 }, /* KP_5 */
+    { 0x0000ffb6, 18920 }, /* KP_6 */
+    { 0x0000ffb7, 18925 }, /* KP_7 */
+    { 0x0000ffb8, 18930 }, /* KP_8 */
+    { 0x0000ffb9, 18935 }, /* KP_9 */
+    { 0x0000ffab, 18940 }, /* KP_Add */
+    { 0x1000ff75, 18947 }, /* KP_BackTab */
+    { 0x0000ff9d, 18958 }, /* KP_Begin */
+    { 0x0000ffae, 18967 }, /* KP_Decimal */
+    { 0x0000ff9f, 18978 }, /* KP_Delete */
+    { 0x0000ffaf, 18988 }, /* KP_Divide */
+    { 0x0000ff99, 18998 }, /* KP_Down */
+    { 0x0000ff9c, 19006 }, /* KP_End */
+    { 0x0000ff8d, 19013 }, /* KP_Enter */
+    { 0x0000ffbd, 19022 }, /* KP_Equal */
+    { 0x0000ff91, 19031 }, /* KP_F1 */
+    { 0x0000ff92, 19037 }, /* KP_F2 */
+    { 0x0000ff93, 19043 }, /* KP_F3 */
+    { 0x0000ff94, 19049 }, /* KP_F4 */
+    { 0x0000ff95, 19055 }, /* KP_Home */
+    { 0x0000ff9e, 19063 }, /* KP_Insert */
+    { 0x0000ff96, 19073 }, /* KP_Left */
+    { 0x0000ffaa, 19081 }, /* KP_Multiply */
+    { 0x0000ff9b, 19093 }, /* KP_Next */
+    { 0x0000ff9b, 19101 }, /* KP_Page_Down */
+    { 0x0000ff9a, 19114 }, /* KP_Page_Up */
+    { 0x0000ff9a, 19125 }, /* KP_Prior */
+    { 0x0000ff98, 19134 }, /* KP_Right */
+    { 0x0000ffac, 19143 }, /* KP_Separator */
+    { 0x0000ff80, 19156 }, /* KP_Space */
+    { 0x0000ffad, 19165 }, /* KP_Subtract */
+    { 0x0000ff89, 19177 }, /* KP_Tab */
+    { 0x0000ff97, 19184 }, /* KP_Up */
+    { 0x000003a2, 19190 }, /* kra */
+    { 0x0000004c, 19194 }, /* L */
+    { 0x0000006c, 19196 }, /* l */
+    { 0x0000ffc8, 19198 }, /* L1 */
+    { 0x0000ffd1, 19201 }, /* L10 */
+    { 0x0000ffc9, 19205 }, /* L2 */
+    { 0x0000ffca, 19208 }, /* L3 */
+    { 0x0000ffcb, 19211 }, /* L4 */
+    { 0x0000ffcc, 19214 }, /* L5 */
+    { 0x0000ffcd, 19217 }, /* L6 */
+    { 0x0000ffce, 19220 }, /* L7 */
+    { 0x0000ffcf, 19223 }, /* L8 */
+    { 0x0000ffd0, 19226 }, /* L9 */
+    { 0x000001c5, 19229 }, /* Lacute */
+    { 0x000001e5, 19236 }, /* lacute */
+    { 0x0000fed4, 19243 }, /* Last_Virtual_Screen */
+    { 0x00000ad9, 19263 }, /* latincross */
+    { 0x01001e36, 19274 }, /* Lbelowdot */
+    { 0x01001e37, 19284 }, /* lbelowdot */
+    { 0x000001a5, 19294 }, /* Lcaron */
+    { 0x000001b5, 19301 }, /* lcaron */
+    { 0x000003a6, 19308 }, /* Lcedilla */
+    { 0x000003b6, 19317 }, /* lcedilla */
+    { 0x0000ff51, 19326 }, /* Left */
+    { 0x00000abc, 19331 }, /* leftanglebracket */
+    { 0x000008fb, 19348 }, /* leftarrow */
+    { 0x00000ba3, 19358 }, /* leftcaret */
+    { 0x00000ad2, 19368 }, /* leftdoublequotemark */
+    { 0x000008af, 19388 }, /* leftmiddlecurlybrace */
+    { 0x00000acc, 19409 }, /* leftopentriangle */
+    { 0x00000aea, 19426 }, /* leftpointer */
+    { 0x000008a1, 19438 }, /* leftradical */
+    { 0x00000bda, 19450 }, /* leftshoe */
+    { 0x00000ad0, 19459 }, /* leftsinglequotemark */
+    { 0x000009f4, 19479 }, /* leftt */
+    { 0x00000bdc, 19485 }, /* lefttack */
+    { 0x0000003c, 19494 }, /* less */
+    { 0x000008bc, 19499 }, /* lessthanequal */
+    { 0x000009e5, 19513 }, /* lf */
+    { 0x0000ff0a, 19516 }, /* Linefeed */
+    { 0x100000af, 19525 }, /* lira */
+    { 0x010020a4, 19530 }, /* LiraSign */
+    { 0x000008de, 19539 }, /* logicaland */
+    { 0x000008df, 19550 }, /* logicalor */
+    { 0x100000f6, 19560 }, /* longminus */
+    { 0x000009ed, 19570 }, /* lowleftcorner */
+    { 0x000009ea, 19584 }, /* lowrightcorner */
+    { 0x000001a3, 19599 }, /* Lstroke */
+    { 0x000001b3, 19607 }, /* lstroke */
+    { 0x0000004d, 19615 }, /* M */
+    { 0x0000006d, 19617 }, /* m */
+    { 0x01001e40, 19619 }, /* Mabovedot */
+    { 0x01001e41, 19629 }, /* mabovedot */
+    { 0x000006a5, 19639 }, /* Macedonia_dse */
+    { 0x000006b5, 19653 }, /* Macedonia_DSE */
+    { 0x000006a2, 19667 }, /* Macedonia_gje */
+    { 0x000006b2, 19681 }, /* Macedonia_GJE */
+    { 0x000006ac, 19695 }, /* Macedonia_kje */
+    { 0x000006bc, 19709 }, /* Macedonia_KJE */
+    { 0x000000af, 19723 }, /* macron */
+    { 0x0000ff3e, 19730 }, /* Mae_Koho */
+    { 0x00000af7, 19739 }, /* malesymbol */
+    { 0x00000af0, 19750 }, /* maltesecross */
+    { 0x00000abf, 19763 }, /* marker */
+    { 0x000000ba, 19770 }, /* masculine */
+    { 0x0000ff2c, 19780 }, /* Massyo */
+    { 0x0000ff67, 19787 }, /* Menu */
+    { 0x0000ffe7, 19792 }, /* Meta_L */
+    { 0x0000ffe8, 19799 }, /* Meta_R */
+    { 0x010020a5, 19806 }, /* MillSign */
+    { 0x0000002d, 19815 }, /* minus */
+    { 0x00000ad6, 19821 }, /* minutes */
+    { 0x0000ff7e, 19829 }, /* Mode_switch */
+    { 0x0000fe77, 19841 }, /* MouseKeys_Accel_Enable */
+    { 0x0000fe76, 19864 }, /* MouseKeys_Enable */
+    { 0x000000b5, 19881 }, /* mu */
+    { 0x0000ff22, 19884 }, /* Muhenkan */
+    { 0x0000ff20, 19893 }, /* Multi_key */
+    { 0x0000ff3d, 19903 }, /* MultipleCandidate */
+    { 0x000000d7, 19921 }, /* multiply */
+    { 0x00000af6, 19930 }, /* musicalflat */
+    { 0x00000af5, 19942 }, /* musicalsharp */
+    { 0x100000a8, 19955 }, /* mute_acute */
+    { 0x100000aa, 19966 }, /* mute_asciicircum */
+    { 0x100000ac, 19983 }, /* mute_asciitilde */
+    { 0x100000ab, 19999 }, /* mute_diaeresis */
+    { 0x100000a9, 20014 }, /* mute_grave */
+    { 0x0000004e, 20025 }, /* N */
+    { 0x0000006e, 20027 }, /* n */
+    { 0x000008c5, 20029 }, /* nabla */
+    { 0x000001d1, 20035 }, /* Nacute */
+    { 0x000001f1, 20042 }, /* nacute */
+    { 0x010020a6, 20049 }, /* NairaSign */
+    { 0x000001d2, 20059 }, /* Ncaron */
+    { 0x000001f2, 20066 }, /* ncaron */
+    { 0x000003d1, 20073 }, /* Ncedilla */
+    { 0x000003f1, 20082 }, /* ncedilla */
+    { 0x010020aa, 20091 }, /* NewSheqelSign */
+    { 0x0000ff56, 20105 }, /* Next */
+    { 0x0000fed2, 20110 }, /* Next_Virtual_Screen */
+    { 0x01002089, 20130 }, /* ninesubscript */
+    { 0x01002079, 20144 }, /* ninesuperior */
+    { 0x000009e8, 20157 }, /* nl */
+    { 0x000000a0, 20160 }, /* nobreakspace */
+    { 0x00000000, 20173 }, /* NoSymbol */
+    { 0x01002247, 20182 }, /* notapproxeq */
+    { 0x01002209, 20194 }, /* notelementof */
+    { 0x000008bd, 20207 }, /* notequal */
+    { 0x01002262, 20216 }, /* notidentical */
+    { 0x000000ac, 20229 }, /* notsign */
+    { 0x000000d1, 20237 }, /* Ntilde */
+    { 0x000000f1, 20244 }, /* ntilde */
+    { 0x0000ff7f, 20251 }, /* Num_Lock */
+    { 0x00000023, 20260 }, /* numbersign */
+    { 0x000006b0, 20271 }, /* numerosign */
+    { 0x0000004f, 20282 }, /* O */
+    { 0x0000006f, 20284 }, /* o */
+    { 0x000000d3, 20286 }, /* Oacute */
+    { 0x000000f3, 20293 }, /* oacute */
+    { 0x0100019f, 20300 }, /* Obarred */
+    { 0x01000275, 20308 }, /* obarred */
+    { 0x01001ecc, 20316 }, /* Obelowdot */
+    { 0x01001ecd, 20326 }, /* obelowdot */
+    { 0x010001d1, 20336 }, /* Ocaron */
+    { 0x010001d2, 20343 }, /* ocaron */
+    { 0x000000d4, 20350 }, /* Ocircumflex */
+    { 0x000000f4, 20362 }, /* ocircumflex */
+    { 0x01001ed0, 20374 }, /* Ocircumflexacute */
+    { 0x01001ed1, 20391 }, /* ocircumflexacute */
+    { 0x01001ed8, 20408 }, /* Ocircumflexbelowdot */
+    { 0x01001ed9, 20428 }, /* ocircumflexbelowdot */
+    { 0x01001ed2, 20448 }, /* Ocircumflexgrave */
+    { 0x01001ed3, 20465 }, /* ocircumflexgrave */
+    { 0x01001ed4, 20482 }, /* Ocircumflexhook */
+    { 0x01001ed5, 20498 }, /* ocircumflexhook */
+    { 0x01001ed6, 20514 }, /* Ocircumflextilde */
+    { 0x01001ed7, 20531 }, /* ocircumflextilde */
+    { 0x000000d6, 20548 }, /* Odiaeresis */
+    { 0x000000f6, 20559 }, /* odiaeresis */
+    { 0x000001d5, 20570 }, /* Odoubleacute */
+    { 0x000001f5, 20583 }, /* odoubleacute */
+    { 0x000013bc, 20596 }, /* OE */
+    { 0x000013bd, 20599 }, /* oe */
+    { 0x000001b2, 20602 }, /* ogonek */
+    { 0x000000d2, 20609 }, /* Ograve */
+    { 0x000000f2, 20616 }, /* ograve */
+    { 0x01001ece, 20623 }, /* Ohook */
+    { 0x01001ecf, 20629 }, /* ohook */
+    { 0x010001a0, 20635 }, /* Ohorn */
+    { 0x010001a1, 20641 }, /* ohorn */
+    { 0x01001eda, 20647 }, /* Ohornacute */
+    { 0x01001edb, 20658 }, /* ohornacute */
+    { 0x01001ee2, 20669 }, /* Ohornbelowdot */
+    { 0x01001ee3, 20683 }, /* ohornbelowdot */
+    { 0x01001edc, 20697 }, /* Ohorngrave */
+    { 0x01001edd, 20708 }, /* ohorngrave */
+    { 0x01001ede, 20719 }, /* Ohornhook */
+    { 0x01001edf, 20729 }, /* ohornhook */
+    { 0x01001ee0, 20739 }, /* Ohorntilde */
+    { 0x01001ee1, 20750 }, /* ohorntilde */
+    { 0x000003d2, 20761 }, /* Omacron */
+    { 0x000003f2, 20769 }, /* omacron */
+    { 0x00000ac3, 20777 }, /* oneeighth */
+    { 0x00000ab2, 20787 }, /* onefifth */
+    { 0x000000bd, 20796 }, /* onehalf */
+    { 0x000000bc, 20804 }, /* onequarter */
+    { 0x00000ab6, 20815 }, /* onesixth */
+    { 0x01002081, 20824 }, /* onesubscript */
+    { 0x000000b9, 20837 }, /* onesuperior */
+    { 0x00000ab0, 20849 }, /* onethird */
+    { 0x000000d8, 20858 }, /* Ooblique */
+    { 0x000000f8, 20867 }, /* ooblique */
+    { 0x00000ae2, 20876 }, /* openrectbullet */
+    { 0x00000ae5, 20891 }, /* openstar */
+    { 0x00000ae4, 20900 }, /* opentribulletdown */
+    { 0x00000ae3, 20918 }, /* opentribulletup */
+    { 0x000000aa, 20934 }, /* ordfeminine */
+    { 0x1004ff44, 20946 }, /* osfActivate */
+    { 0x1004ff31, 20958 }, /* osfAddMode */
+    { 0x1004ff08, 20969 }, /* osfBackSpace */
+    { 0x1004ff07, 20982 }, /* osfBackTab */
+    { 0x1004ff5a, 20993 }, /* osfBeginData */
+    { 0x1004ff58, 21006 }, /* osfBeginLine */
+    { 0x1004ff69, 21019 }, /* osfCancel */
+    { 0x1004ff0b, 21029 }, /* osfClear */
+    { 0x1004ff02, 21038 }, /* osfCopy */
+    { 0x1004ff03, 21046 }, /* osfCut */
+    { 0x1004ffff, 21053 }, /* osfDelete */
+    { 0x1004ff72, 21063 }, /* osfDeselectAll */
+    { 0x1004ff54, 21078 }, /* osfDown */
+    { 0x1004ff59, 21086 }, /* osfEndData */
+    { 0x1004ff57, 21097 }, /* osfEndLine */
+    { 0x1004ff1b, 21108 }, /* osfEscape */
+    { 0x1004ff74, 21118 }, /* osfExtend */
+    { 0x1004ff6a, 21128 }, /* osfHelp */
+    { 0x1004ff63, 21136 }, /* osfInsert */
+    { 0x1004ff51, 21146 }, /* osfLeft */
+    { 0x1004ff67, 21154 }, /* osfMenu */
+    { 0x1004ff45, 21162 }, /* osfMenuBar */
+    { 0x1004ff5e, 21173 }, /* osfNextField */
+    { 0x1004ff5c, 21186 }, /* osfNextMenu */
+    { 0x1004ff42, 21198 }, /* osfPageDown */
+    { 0x1004ff40, 21210 }, /* osfPageLeft */
+    { 0x1004ff43, 21222 }, /* osfPageRight */
+    { 0x1004ff41, 21235 }, /* osfPageUp */
+    { 0x1004ff04, 21245 }, /* osfPaste */
+    { 0x1004ff5d, 21254 }, /* osfPrevField */
+    { 0x1004ff5b, 21267 }, /* osfPrevMenu */
+    { 0x1004ff32, 21279 }, /* osfPrimaryPaste */
+    { 0x1004ff33, 21295 }, /* osfQuickPaste */
+    { 0x1004ff73, 21309 }, /* osfReselect */
+    { 0x1004ff78, 21321 }, /* osfRestore */
+    { 0x1004ff53, 21332 }, /* osfRight */
+    { 0x1004ff60, 21341 }, /* osfSelect */
+    { 0x1004ff71, 21351 }, /* osfSelectAll */
+    { 0x1004ff65, 21364 }, /* osfUndo */
+    { 0x1004ff52, 21372 }, /* osfUp */
+    { 0x000000d8, 21378 }, /* Oslash */
+    { 0x000000f8, 21385 }, /* oslash */
+    { 0x000000d5, 21392 }, /* Otilde */
+    { 0x000000f5, 21399 }, /* otilde */
+    { 0x00000bc0, 21406 }, /* overbar */
+    { 0x0000fe78, 21414 }, /* Overlay1_Enable */
+    { 0x0000fe79, 21430 }, /* Overlay2_Enable */
+    { 0x0000047e, 21446 }, /* overline */
+    { 0x00000050, 21455 }, /* P */
+    { 0x00000070, 21457 }, /* p */
+    { 0x01001e56, 21459 }, /* Pabovedot */
+    { 0x01001e57, 21469 }, /* pabovedot */
+    { 0x0000ff56, 21479 }, /* Page_Down */
+    { 0x0000ff55, 21489 }, /* Page_Up */
+    { 0x000000b6, 21497 }, /* paragraph */
+    { 0x00000028, 21507 }, /* parenleft */
+    { 0x00000029, 21517 }, /* parenright */
+    { 0x01002202, 21528 }, /* partdifferential */
+    { 0x000008ef, 21545 }, /* partialderivative */
+    { 0x0000ff13, 21563 }, /* Pause */
+    { 0x00000025, 21569 }, /* percent */
+    { 0x0000002e, 21577 }, /* period */
+    { 0x000000b7, 21584 }, /* periodcentered */
+    { 0x00000ad5, 21599 }, /* permille */
+    { 0x010020a7, 21608 }, /* PesetaSign */
+    { 0x00000afb, 21619 }, /* phonographcopyright */
+    { 0x0000002b, 21639 }, /* plus */
+    { 0x000000b1, 21644 }, /* plusminus */
+    { 0x0000fefa, 21654 }, /* Pointer_Accelerate */
+    { 0x0000fee9, 21673 }, /* Pointer_Button1 */
+    { 0x0000feea, 21689 }, /* Pointer_Button2 */
+    { 0x0000feeb, 21705 }, /* Pointer_Button3 */
+    { 0x0000feec, 21721 }, /* Pointer_Button4 */
+    { 0x0000feed, 21737 }, /* Pointer_Button5 */
+    { 0x0000fee8, 21753 }, /* Pointer_Button_Dflt */
+    { 0x0000feef, 21773 }, /* Pointer_DblClick1 */
+    { 0x0000fef0, 21791 }, /* Pointer_DblClick2 */
+    { 0x0000fef1, 21809 }, /* Pointer_DblClick3 */
+    { 0x0000fef2, 21827 }, /* Pointer_DblClick4 */
+    { 0x0000fef3, 21845 }, /* Pointer_DblClick5 */
+    { 0x0000feee, 21863 }, /* Pointer_DblClick_Dflt */
+    { 0x0000fefb, 21885 }, /* Pointer_DfltBtnNext */
+    { 0x0000fefc, 21905 }, /* Pointer_DfltBtnPrev */
+    { 0x0000fee3, 21925 }, /* Pointer_Down */
+    { 0x0000fee6, 21938 }, /* Pointer_DownLeft */
+    { 0x0000fee7, 21955 }, /* Pointer_DownRight */
+    { 0x0000fef5, 21973 }, /* Pointer_Drag1 */
+    { 0x0000fef6, 21987 }, /* Pointer_Drag2 */
+    { 0x0000fef7, 22001 }, /* Pointer_Drag3 */
+    { 0x0000fef8, 22015 }, /* Pointer_Drag4 */
+    { 0x0000fefd, 22029 }, /* Pointer_Drag5 */
+    { 0x0000fef4, 22043 }, /* Pointer_Drag_Dflt */
+    { 0x0000fef9, 22061 }, /* Pointer_EnableKeys */
+    { 0x0000fee0, 22080 }, /* Pointer_Left */
+    { 0x0000fee1, 22093 }, /* Pointer_Right */
+    { 0x0000fee2, 22107 }, /* Pointer_Up */
+    { 0x0000fee4, 22118 }, /* Pointer_UpLeft */
+    { 0x0000fee5, 22133 }, /* Pointer_UpRight */
+    { 0x00000ad4, 22149 }, /* prescription */
+    { 0x0000fed1, 22162 }, /* Prev_Virtual_Screen */
+    { 0x0000ff3e, 22182 }, /* PreviousCandidate */
+    { 0x0000ff61, 22200 }, /* Print */
+    { 0x0000ff55, 22206 }, /* Prior */
+    { 0x000004b0, 22212 }, /* prolongedsound */
+    { 0x00000aa6, 22227 }, /* punctspace */
+    { 0x00000051, 22238 }, /* Q */
+    { 0x00000071, 22240 }, /* q */
+    { 0x00000bcc, 22242 }, /* quad */
+    { 0x0000003f, 22247 }, /* question */
+    { 0x000000bf, 22256 }, /* questiondown */
+    { 0x00000022, 22269 }, /* quotedbl */
+    { 0x00000060, 22278 }, /* quoteleft */
+    { 0x00000027, 22288 }, /* quoteright */
+    { 0x00000052, 22299 }, /* R */
+    { 0x00000072, 22301 }, /* r */
+    { 0x0000ffd2, 22303 }, /* R1 */
+    { 0x0000ffdb, 22306 }, /* R10 */
+    { 0x0000ffdc, 22310 }, /* R11 */
+    { 0x0000ffdd, 22314 }, /* R12 */
+    { 0x0000ffde, 22318 }, /* R13 */
+    { 0x0000ffdf, 22322 }, /* R14 */
+    { 0x0000ffe0, 22326 }, /* R15 */
+    { 0x0000ffd3, 22330 }, /* R2 */
+    { 0x0000ffd4, 22333 }, /* R3 */
+    { 0x0000ffd5, 22336 }, /* R4 */
+    { 0x0000ffd6, 22339 }, /* R5 */
+    { 0x0000ffd7, 22342 }, /* R6 */
+    { 0x0000ffd8, 22345 }, /* R7 */
+    { 0x0000ffd9, 22348 }, /* R8 */
+    { 0x0000ffda, 22351 }, /* R9 */
+    { 0x000001c0, 22354 }, /* Racute */
+    { 0x000001e0, 22361 }, /* racute */
+    { 0x000008d6, 22368 }, /* radical */
+    { 0x000001d8, 22376 }, /* Rcaron */
+    { 0x000001f8, 22383 }, /* rcaron */
+    { 0x000003a3, 22390 }, /* Rcedilla */
+    { 0x000003b3, 22399 }, /* rcedilla */
+    { 0x0000ff66, 22408 }, /* Redo */
+    { 0x000000ae, 22413 }, /* registered */
+    { 0x0000fe72, 22424 }, /* RepeatKeys_Enable */
+    { 0x1000ff6c, 22442 }, /* Reset */
+    { 0x0000ff0d, 22448 }, /* Return */
+    { 0x0000ff53, 22455 }, /* Right */
+    { 0x00000abe, 22461 }, /* rightanglebracket */
+    { 0x000008fd, 22479 }, /* rightarrow */
+    { 0x00000ba6, 22490 }, /* rightcaret */
+    { 0x00000ad3, 22501 }, /* rightdoublequotemark */
+    { 0x000008b0, 22522 }, /* rightmiddlecurlybrace */
+    { 0x000008b7, 22544 }, /* rightmiddlesummation */
+    { 0x00000acd, 22565 }, /* rightopentriangle */
+    { 0x00000aeb, 22583 }, /* rightpointer */
+    { 0x00000bd8, 22596 }, /* rightshoe */
+    { 0x00000ad1, 22606 }, /* rightsinglequotemark */
+    { 0x000009f5, 22627 }, /* rightt */
+    { 0x00000bfc, 22634 }, /* righttack */
+    { 0x0000ff24, 22644 }, /* Romaji */
+    { 0x010020a8, 22651 }, /* RupeeSign */
+    { 0x00000053, 22661 }, /* S */
+    { 0x00000073, 22663 }, /* s */
+    { 0x01001e60, 22665 }, /* Sabovedot */
+    { 0x01001e61, 22675 }, /* sabovedot */
+    { 0x000001a6, 22685 }, /* Sacute */
+    { 0x000001b6, 22692 }, /* sacute */
+    { 0x000001a9, 22699 }, /* Scaron */
+    { 0x000001b9, 22706 }, /* scaron */
+    { 0x000001aa, 22713 }, /* Scedilla */
+    { 0x000001ba, 22722 }, /* scedilla */
+    { 0x0100018f, 22731 }, /* SCHWA */
+    { 0x01000259, 22737 }, /* schwa */
+    { 0x000002de, 22743 }, /* Scircumflex */
+    { 0x000002fe, 22755 }, /* scircumflex */
+    { 0x0000ff7e, 22767 }, /* script_switch */
+    { 0x0000ff14, 22781 }, /* Scroll_Lock */
+    { 0x00000ad7, 22793 }, /* seconds */
+    { 0x000000a7, 22801 }, /* section */
+    { 0x0000ff60, 22809 }, /* Select */
+    { 0x0000003b, 22816 }, /* semicolon */
+    { 0x000004df, 22826 }, /* semivoicedsound */
+    { 0x000006a1, 22842 }, /* Serbian_dje */
+    { 0x000006b1, 22854 }, /* Serbian_DJE */
+    { 0x000006af, 22866 }, /* Serbian_dze */
+    { 0x000006bf, 22878 }, /* Serbian_DZE */
+    { 0x000006a8, 22890 }, /* Serbian_je */
+    { 0x000006b8, 22901 }, /* Serbian_JE */
+    { 0x000006a9, 22912 }, /* Serbian_lje */
+    { 0x000006b9, 22924 }, /* Serbian_LJE */
+    { 0x000006aa, 22936 }, /* Serbian_nje */
+    { 0x000006ba, 22948 }, /* Serbian_NJE */
+    { 0x000006ab, 22960 }, /* Serbian_tshe */
+    { 0x000006bb, 22973 }, /* Serbian_TSHE */
+    { 0x00000ac6, 22986 }, /* seveneighths */
+    { 0x01002087, 22999 }, /* sevensubscript */
+    { 0x01002077, 23014 }, /* sevensuperior */
+    { 0x0000ffe1, 23028 }, /* Shift_L */
+    { 0x0000ffe6, 23036 }, /* Shift_Lock */
+    { 0x0000ffe2, 23047 }, /* Shift_R */
+    { 0x00000aca, 23055 }, /* signaturemark */
+    { 0x00000aac, 23069 }, /* signifblank */
+    { 0x000008c9, 23081 }, /* similarequal */
+    { 0x0000ff3c, 23094 }, /* SingleCandidate */
+    { 0x00000afd, 23110 }, /* singlelowquotemark */
+    { 0x01000d85, 23129 }, /* Sinh_a */
+    { 0x01000d86, 23136 }, /* Sinh_aa */
+    { 0x01000dcf, 23144 }, /* Sinh_aa2 */
+    { 0x01000d87, 23153 }, /* Sinh_ae */
+    { 0x01000dd0, 23161 }, /* Sinh_ae2 */
+    { 0x01000d88, 23170 }, /* Sinh_aee */
+    { 0x01000dd1, 23179 }, /* Sinh_aee2 */
+    { 0x01000d93, 23189 }, /* Sinh_ai */
+    { 0x01000ddb, 23197 }, /* Sinh_ai2 */
+    { 0x01000dca, 23206 }, /* Sinh_al */
+    { 0x01000d96, 23214 }, /* Sinh_au */
+    { 0x01000dde, 23222 }, /* Sinh_au2 */
+    { 0x01000db6, 23231 }, /* Sinh_ba */
+    { 0x01000db7, 23239 }, /* Sinh_bha */
+    { 0x01000da0, 23248 }, /* Sinh_ca */
+    { 0x01000da1, 23256 }, /* Sinh_cha */
+    { 0x01000da9, 23265 }, /* Sinh_dda */
+    { 0x01000daa, 23274 }, /* Sinh_ddha */
+    { 0x01000daf, 23284 }, /* Sinh_dha */
+    { 0x01000db0, 23293 }, /* Sinh_dhha */
+    { 0x01000d91, 23303 }, /* Sinh_e */
+    { 0x01000dd9, 23310 }, /* Sinh_e2 */
+    { 0x01000d92, 23318 }, /* Sinh_ee */
+    { 0x01000dda, 23326 }, /* Sinh_ee2 */
+    { 0x01000dc6, 23335 }, /* Sinh_fa */
+    { 0x01000d9c, 23343 }, /* Sinh_ga */
+    { 0x01000d9d, 23351 }, /* Sinh_gha */
+    { 0x01000d83, 23360 }, /* Sinh_h2 */
+    { 0x01000dc4, 23368 }, /* Sinh_ha */
+    { 0x01000d89, 23376 }, /* Sinh_i */
+    { 0x01000dd2, 23383 }, /* Sinh_i2 */
+    { 0x01000d8a, 23391 }, /* Sinh_ii */
+    { 0x01000dd3, 23399 }, /* Sinh_ii2 */
+    { 0x01000da2, 23408 }, /* Sinh_ja */
+    { 0x01000da3, 23416 }, /* Sinh_jha */
+    { 0x01000da5, 23425 }, /* Sinh_jnya */
+    { 0x01000d9a, 23435 }, /* Sinh_ka */
+    { 0x01000d9b, 23443 }, /* Sinh_kha */
+    { 0x01000df4, 23452 }, /* Sinh_kunddaliya */
+    { 0x01000dbd, 23468 }, /* Sinh_la */
+    { 0x01000dc5, 23476 }, /* Sinh_lla */
+    { 0x01000d8f, 23485 }, /* Sinh_lu */
+    { 0x01000ddf, 23493 }, /* Sinh_lu2 */
+    { 0x01000d90, 23502 }, /* Sinh_luu */
+    { 0x01000df3, 23511 }, /* Sinh_luu2 */
+    { 0x01000db8, 23521 }, /* Sinh_ma */
+    { 0x01000db9, 23529 }, /* Sinh_mba */
+    { 0x01000db1, 23538 }, /* Sinh_na */
+    { 0x01000dac, 23546 }, /* Sinh_ndda */
+    { 0x01000db3, 23556 }, /* Sinh_ndha */
+    { 0x01000d82, 23566 }, /* Sinh_ng */
+    { 0x01000d9e, 23574 }, /* Sinh_ng2 */
+    { 0x01000d9f, 23583 }, /* Sinh_nga */
+    { 0x01000da6, 23592 }, /* Sinh_nja */
+    { 0x01000dab, 23601 }, /* Sinh_nna */
+    { 0x01000da4, 23610 }, /* Sinh_nya */
+    { 0x01000d94, 23619 }, /* Sinh_o */
+    { 0x01000ddc, 23626 }, /* Sinh_o2 */
+    { 0x01000d95, 23634 }, /* Sinh_oo */
+    { 0x01000ddd, 23642 }, /* Sinh_oo2 */
+    { 0x01000db4, 23651 }, /* Sinh_pa */
+    { 0x01000db5, 23659 }, /* Sinh_pha */
+    { 0x01000dbb, 23668 }, /* Sinh_ra */
+    { 0x01000d8d, 23676 }, /* Sinh_ri */
+    { 0x01000d8e, 23684 }, /* Sinh_rii */
+    { 0x01000dd8, 23693 }, /* Sinh_ru2 */
+    { 0x01000df2, 23702 }, /* Sinh_ruu2 */
+    { 0x01000dc3, 23712 }, /* Sinh_sa */
+    { 0x01000dc1, 23720 }, /* Sinh_sha */
+    { 0x01000dc2, 23729 }, /* Sinh_ssha */
+    { 0x01000dad, 23739 }, /* Sinh_tha */
+    { 0x01000dae, 23748 }, /* Sinh_thha */
+    { 0x01000da7, 23758 }, /* Sinh_tta */
+    { 0x01000da8, 23767 }, /* Sinh_ttha */
+    { 0x01000d8b, 23777 }, /* Sinh_u */
+    { 0x01000dd4, 23784 }, /* Sinh_u2 */
+    { 0x01000d8c, 23792 }, /* Sinh_uu */
+    { 0x01000dd6, 23800 }, /* Sinh_uu2 */
+    { 0x01000dc0, 23809 }, /* Sinh_va */
+    { 0x01000dba, 23817 }, /* Sinh_ya */
+    { 0x01002086, 23825 }, /* sixsubscript */
+    { 0x01002076, 23838 }, /* sixsuperior */
+    { 0x0000002f, 23850 }, /* slash */
+    { 0x0000fe73, 23856 }, /* SlowKeys_Enable */
+    { 0x000009e0, 23872 }, /* soliddiamond */
+    { 0x00000020, 23885 }, /* space */
+    { 0x0100221a, 23891 }, /* squareroot */
+    { 0x000000df, 23902 }, /* ssharp */
+    { 0x000000a3, 23909 }, /* sterling */
+    { 0x0000fe75, 23918 }, /* StickyKeys_Enable */
+    { 0x01002263, 23936 }, /* stricteq */
+    { 0x0000ff66, 23945 }, /* SunAgain */
+    { 0x0000ff7e, 23954 }, /* SunAltGraph */
+    { 0x1005ff77, 23966 }, /* SunAudioLowerVolume */
+    { 0x1005ff78, 23986 }, /* SunAudioMute */
+    { 0x1005ff79, 23999 }, /* SunAudioRaiseVolume */
+    { 0x0000ff20, 24019 }, /* SunCompose */
+    { 0x1005ff72, 24030 }, /* SunCopy */
+    { 0x1005ff75, 24038 }, /* SunCut */
+    { 0x1005ff10, 24045 }, /* SunF36 */
+    { 0x1005ff11, 24052 }, /* SunF37 */
+    { 0x1005ff03, 24059 }, /* SunFA_Acute */
+    { 0x1005ff05, 24071 }, /* SunFA_Cedilla */
+    { 0x1005ff01, 24085 }, /* SunFA_Circum */
+    { 0x1005ff04, 24098 }, /* SunFA_Diaeresis */
+    { 0x1005ff00, 24114 }, /* SunFA_Grave */
+    { 0x1005ff02, 24126 }, /* SunFA_Tilde */
+    { 0x0000ff68, 24138 }, /* SunFind */
+    { 0x1005ff71, 24146 }, /* SunFront */
+    { 0x1005ff73, 24155 }, /* SunOpen */
+    { 0x0000ff56, 24163 }, /* SunPageDown */
+    { 0x0000ff55, 24175 }, /* SunPageUp */
+    { 0x1005ff74, 24185 }, /* SunPaste */
+    { 0x1005ff76, 24194 }, /* SunPowerSwitch */
+    { 0x1005ff7d, 24209 }, /* SunPowerSwitchShift */
+    { 0x0000ff61, 24229 }, /* SunPrint_Screen */
+    { 0x1005ff70, 24245 }, /* SunProps */
+    { 0x0000ff69, 24254 }, /* SunStop */
+    { 0x1005ff60, 24262 }, /* SunSys_Req */
+    { 0x0000ff65, 24273 }, /* SunUndo */
+    { 0x1005ff7a, 24281 }, /* SunVideoDegauss */
+    { 0x1005ff7b, 24297 }, /* SunVideoLowerBrightness */
+    { 0x1005ff7c, 24321 }, /* SunVideoRaiseBrightness */
+    { 0x0000ffeb, 24345 }, /* Super_L */
+    { 0x0000ffec, 24353 }, /* Super_R */
+    { 0x0000ff15, 24361 }, /* Sys_Req */
+    { 0x1000ff6d, 24369 }, /* System */
+    { 0x00000054, 24376 }, /* T */
+    { 0x00000074, 24378 }, /* t */
+    { 0x0000ff09, 24380 }, /* Tab */
+    { 0x01001e6a, 24384 }, /* Tabovedot */
+    { 0x01001e6b, 24394 }, /* tabovedot */
+    { 0x000001ab, 24404 }, /* Tcaron */
+    { 0x000001bb, 24411 }, /* tcaron */
+    { 0x000001de, 24418 }, /* Tcedilla */
+    { 0x000001fe, 24427 }, /* tcedilla */
+    { 0x00000af9, 24436 }, /* telephone */
+    { 0x00000afa, 24446 }, /* telephonerecorder */
+    { 0x0000fed5, 24464 }, /* Terminate_Server */
+    { 0x00000ddf, 24481 }, /* Thai_baht */
+    { 0x00000dba, 24491 }, /* Thai_bobaimai */
+    { 0x00000da8, 24505 }, /* Thai_chochan */
+    { 0x00000daa, 24518 }, /* Thai_chochang */
+    { 0x00000da9, 24532 }, /* Thai_choching */
+    { 0x00000dac, 24546 }, /* Thai_chochoe */
+    { 0x00000dae, 24559 }, /* Thai_dochada */
+    { 0x00000db4, 24572 }, /* Thai_dodek */
+    { 0x00000dbd, 24583 }, /* Thai_fofa */
+    { 0x00000dbf, 24593 }, /* Thai_fofan */
+    { 0x00000dcb, 24604 }, /* Thai_hohip */
+    { 0x00000dce, 24615 }, /* Thai_honokhuk */
+    { 0x00000da2, 24629 }, /* Thai_khokhai */
+    { 0x00000da5, 24642 }, /* Thai_khokhon */
+    { 0x00000da3, 24655 }, /* Thai_khokhuat */
+    { 0x00000da4, 24669 }, /* Thai_khokhwai */
+    { 0x00000da6, 24683 }, /* Thai_khorakhang */
+    { 0x00000da1, 24699 }, /* Thai_kokai */
+    { 0x00000de5, 24710 }, /* Thai_lakkhangyao */
+    { 0x00000df7, 24727 }, /* Thai_lekchet */
+    { 0x00000df5, 24740 }, /* Thai_lekha */
+    { 0x00000df6, 24751 }, /* Thai_lekhok */
+    { 0x00000df9, 24763 }, /* Thai_lekkao */
+    { 0x00000df1, 24775 }, /* Thai_leknung */
+    { 0x00000df8, 24788 }, /* Thai_lekpaet */
+    { 0x00000df3, 24801 }, /* Thai_leksam */
+    { 0x00000df4, 24813 }, /* Thai_leksi */
+    { 0x00000df2, 24824 }, /* Thai_leksong */
+    { 0x00000df0, 24837 }, /* Thai_leksun */
+    { 0x00000dcc, 24849 }, /* Thai_lochula */
+    { 0x00000dc5, 24862 }, /* Thai_loling */
+    { 0x00000dc6, 24874 }, /* Thai_lu */
+    { 0x00000deb, 24882 }, /* Thai_maichattawa */
+    { 0x00000de8, 24899 }, /* Thai_maiek */
+    { 0x00000dd1, 24910 }, /* Thai_maihanakat */
+    { 0x00000dde, 24926 }, /* Thai_maihanakat_maitho */
+    { 0x00000de7, 24949 }, /* Thai_maitaikhu */
+    { 0x00000de9, 24964 }, /* Thai_maitho */
+    { 0x00000dea, 24976 }, /* Thai_maitri */
+    { 0x00000de6, 24988 }, /* Thai_maiyamok */
+    { 0x00000dc1, 25002 }, /* Thai_moma */
+    { 0x00000da7, 25012 }, /* Thai_ngongu */
+    { 0x00000ded, 25024 }, /* Thai_nikhahit */
+    { 0x00000db3, 25038 }, /* Thai_nonen */
+    { 0x00000db9, 25049 }, /* Thai_nonu */
+    { 0x00000dcd, 25059 }, /* Thai_oang */
+    { 0x00000dcf, 25069 }, /* Thai_paiyannoi */
+    { 0x00000dda, 25084 }, /* Thai_phinthu */
+    { 0x00000dbe, 25097 }, /* Thai_phophan */
+    { 0x00000dbc, 25110 }, /* Thai_phophung */
+    { 0x00000dc0, 25124 }, /* Thai_phosamphao */
+    { 0x00000dbb, 25140 }, /* Thai_popla */
+    { 0x00000dc3, 25151 }, /* Thai_rorua */
+    { 0x00000dc4, 25162 }, /* Thai_ru */
+    { 0x00000dd0, 25170 }, /* Thai_saraa */
+    { 0x00000dd2, 25181 }, /* Thai_saraaa */
+    { 0x00000de1, 25193 }, /* Thai_saraae */
+    { 0x00000de4, 25205 }, /* Thai_saraaimaimalai */
+    { 0x00000de3, 25225 }, /* Thai_saraaimaimuan */
+    { 0x00000dd3, 25244 }, /* Thai_saraam */
+    { 0x00000de0, 25256 }, /* Thai_sarae */
+    { 0x00000dd4, 25267 }, /* Thai_sarai */
+    { 0x00000dd5, 25278 }, /* Thai_saraii */
+    { 0x00000de2, 25290 }, /* Thai_sarao */
+    { 0x00000dd8, 25301 }, /* Thai_sarau */
+    { 0x00000dd6, 25312 }, /* Thai_saraue */
+    { 0x00000dd7, 25324 }, /* Thai_sarauee */
+    { 0x00000dd9, 25337 }, /* Thai_sarauu */
+    { 0x00000dc9, 25349 }, /* Thai_sorusi */
+    { 0x00000dc8, 25361 }, /* Thai_sosala */
+    { 0x00000dab, 25373 }, /* Thai_soso */
+    { 0x00000dca, 25383 }, /* Thai_sosua */
+    { 0x00000dec, 25394 }, /* Thai_thanthakhat */
+    { 0x00000db1, 25411 }, /* Thai_thonangmontho */
+    { 0x00000db2, 25430 }, /* Thai_thophuthao */
+    { 0x00000db7, 25446 }, /* Thai_thothahan */
+    { 0x00000db0, 25461 }, /* Thai_thothan */
+    { 0x00000db8, 25474 }, /* Thai_thothong */
+    { 0x00000db6, 25488 }, /* Thai_thothung */
+    { 0x00000daf, 25502 }, /* Thai_topatak */
+    { 0x00000db5, 25515 }, /* Thai_totao */
+    { 0x00000dc7, 25526 }, /* Thai_wowaen */
+    { 0x00000dc2, 25538 }, /* Thai_yoyak */
+    { 0x00000dad, 25549 }, /* Thai_yoying */
+    { 0x000008c0, 25561 }, /* therefore */
+    { 0x00000aa7, 25571 }, /* thinspace */
+    { 0x000000de, 25581 }, /* THORN */
+    { 0x000000de, 25587 }, /* Thorn */
+    { 0x000000fe, 25593 }, /* thorn */
+    { 0x00000ac4, 25599 }, /* threeeighths */
+    { 0x00000ab4, 25612 }, /* threefifths */
+    { 0x000000be, 25624 }, /* threequarters */
+    { 0x01002083, 25638 }, /* threesubscript */
+    { 0x000000b3, 25653 }, /* threesuperior */
+    { 0x0100222d, 25667 }, /* tintegral */
+    { 0x000008a4, 25677 }, /* topintegral */
+    { 0x000008ab, 25689 }, /* topleftparens */
+    { 0x000008a2, 25703 }, /* topleftradical */
+    { 0x000008a7, 25718 }, /* topleftsqbracket */
+    { 0x000008b1, 25735 }, /* topleftsummation */
+    { 0x000008ad, 25752 }, /* toprightparens */
+    { 0x000008a9, 25767 }, /* toprightsqbracket */
+    { 0x000008b5, 25785 }, /* toprightsummation */
+    { 0x000009f7, 25803 }, /* topt */
+    { 0x000008b3, 25808 }, /* topvertsummationconnector */
+    { 0x0000ff2b, 25834 }, /* Touroku */
+    { 0x00000ac9, 25842 }, /* trademark */
+    { 0x00000acb, 25852 }, /* trademarkincircle */
+    { 0x000003ac, 25870 }, /* Tslash */
+    { 0x000003bc, 25877 }, /* tslash */
+    { 0x00000ab3, 25884 }, /* twofifths */
+    { 0x01002082, 25894 }, /* twosubscript */
+    { 0x000000b2, 25907 }, /* twosuperior */
+    { 0x00000ab1, 25919 }, /* twothirds */
+    { 0x00000055, 25929 }, /* U */
+    { 0x00000075, 25931 }, /* u */
+    { 0x000000da, 25933 }, /* Uacute */
+    { 0x000000fa, 25940 }, /* uacute */
+    { 0x01001ee4, 25947 }, /* Ubelowdot */
+    { 0x01001ee5, 25957 }, /* ubelowdot */
+    { 0x000002dd, 25967 }, /* Ubreve */
+    { 0x000002fd, 25974 }, /* ubreve */
+    { 0x000000db, 25981 }, /* Ucircumflex */
+    { 0x000000fb, 25993 }, /* ucircumflex */
+    { 0x000000dc, 26005 }, /* Udiaeresis */
+    { 0x000000fc, 26016 }, /* udiaeresis */
+    { 0x000001db, 26027 }, /* Udoubleacute */
+    { 0x000001fb, 26040 }, /* udoubleacute */
+    { 0x000000d9, 26053 }, /* Ugrave */
+    { 0x000000f9, 26060 }, /* ugrave */
+    { 0x01001ee6, 26067 }, /* Uhook */
+    { 0x01001ee7, 26073 }, /* uhook */
+    { 0x010001af, 26079 }, /* Uhorn */
+    { 0x010001b0, 26085 }, /* uhorn */
+    { 0x01001ee8, 26091 }, /* Uhornacute */
+    { 0x01001ee9, 26102 }, /* uhornacute */
+    { 0x01001ef0, 26113 }, /* Uhornbelowdot */
+    { 0x01001ef1, 26127 }, /* uhornbelowdot */
+    { 0x01001eea, 26141 }, /* Uhorngrave */
+    { 0x01001eeb, 26152 }, /* uhorngrave */
+    { 0x01001eec, 26163 }, /* Uhornhook */
+    { 0x01001eed, 26173 }, /* uhornhook */
+    { 0x01001eee, 26183 }, /* Uhorntilde */
+    { 0x01001eef, 26194 }, /* uhorntilde */
+    { 0x000006ad, 26205 }, /* Ukrainian_ghe_with_upturn */
+    { 0x000006bd, 26231 }, /* Ukrainian_GHE_WITH_UPTURN */
+    { 0x000006a6, 26257 }, /* Ukrainian_i */
+    { 0x000006b6, 26269 }, /* Ukrainian_I */
+    { 0x000006a4, 26281 }, /* Ukrainian_ie */
+    { 0x000006b4, 26294 }, /* Ukrainian_IE */
+    { 0x000006a7, 26307 }, /* Ukrainian_yi */
+    { 0x000006b7, 26320 }, /* Ukrainian_YI */
+    { 0x000006a6, 26333 }, /* Ukranian_i */
+    { 0x000006b6, 26344 }, /* Ukranian_I */
+    { 0x000006a4, 26355 }, /* Ukranian_je */
+    { 0x000006b4, 26367 }, /* Ukranian_JE */
+    { 0x000006a7, 26379 }, /* Ukranian_yi */
+    { 0x000006b7, 26391 }, /* Ukranian_YI */
+    { 0x000003de, 26403 }, /* Umacron */
+    { 0x000003fe, 26411 }, /* umacron */
+    { 0x00000bc6, 26419 }, /* underbar */
+    { 0x0000005f, 26428 }, /* underscore */
+    { 0x0000ff65, 26439 }, /* Undo */
+    { 0x000008dd, 26444 }, /* union */
+    { 0x000003d9, 26450 }, /* Uogonek */
+    { 0x000003f9, 26458 }, /* uogonek */
+    { 0x0000ff52, 26466 }, /* Up */
+    { 0x000008fc, 26469 }, /* uparrow */
+    { 0x00000ba9, 26477 }, /* upcaret */
+    { 0x000009ec, 26485 }, /* upleftcorner */
+    { 0x000009eb, 26498 }, /* uprightcorner */
+    { 0x00000bc3, 26512 }, /* upshoe */
+    { 0x00000bd3, 26519 }, /* upstile */
+    { 0x00000bce, 26527 }, /* uptack */
+    { 0x000001d9, 26534 }, /* Uring */
+    { 0x000001f9, 26540 }, /* uring */
+    { 0x1000ff6e, 26546 }, /* User */
+    { 0x000003dd, 26551 }, /* Utilde */
+    { 0x000003fd, 26558 }, /* utilde */
+    { 0x00000056, 26565 }, /* V */
+    { 0x00000076, 26567 }, /* v */
+    { 0x000008c1, 26569 }, /* variation */
+    { 0x000009f8, 26579 }, /* vertbar */
+    { 0x000008a6, 26587 }, /* vertconnector */
+    { 0x000004de, 26601 }, /* voicedsound */
+    { 0x00ffffff, 26613 }, /* VoidSymbol */
+    { 0x000009e9, 26624 }, /* vt */
+    { 0x00000057, 26627 }, /* W */
+    { 0x00000077, 26629 }, /* w */
+    { 0x01001e82, 26631 }, /* Wacute */
+    { 0x01001e83, 26638 }, /* wacute */
+    { 0x01000174, 26645 }, /* Wcircumflex */
+    { 0x01000175, 26657 }, /* wcircumflex */
+    { 0x01001e84, 26669 }, /* Wdiaeresis */
+    { 0x01001e85, 26680 }, /* wdiaeresis */
+    { 0x01001e80, 26691 }, /* Wgrave */
+    { 0x01001e81, 26698 }, /* wgrave */
+    { 0x010020a9, 26705 }, /* WonSign */
+    { 0x00000058, 26713 }, /* X */
+    { 0x00000078, 26715 }, /* x */
+    { 0x01001e8a, 26717 }, /* Xabovedot */
+    { 0x01001e8b, 26727 }, /* xabovedot */
+    { 0x100811b9, 26737 }, /* XF8610ChannelsDown */
+    { 0x100811b8, 26756 }, /* XF8610ChannelsUp */
+    { 0x1008126f, 26773 }, /* XF863DMode */
+    { 0x1008ff39, 26784 }, /* XF86AddFavorite */
+    { 0x100811ad, 26800 }, /* XF86Addressbook */
+    { 0x10081230, 26816 }, /* XF86ALSToggle */
+    { 0x1008ff50, 26830 }, /* XF86ApplicationLeft */
+    { 0x1008ff51, 26850 }, /* XF86ApplicationRight */
+    { 0x10081244, 26871 }, /* XF86AppSelect */
+    { 0x10081177, 26885 }, /* XF86AspectRatio */
+    { 0x10081247, 26901 }, /* XF86Assistant */
+    { 0x1008121c, 26915 }, /* XF86AttendantOff */
+    { 0x1008121b, 26932 }, /* XF86AttendantOn */
+    { 0x1008121d, 26948 }, /* XF86AttendantToggle */
+    { 0x10081188, 26968 }, /* XF86Audio */
+    { 0x1008ff9b, 26978 }, /* XF86AudioCycleTrack */
+    { 0x1008126e, 26998 }, /* XF86AudioDesc */
+    { 0x1008ff97, 27012 }, /* XF86AudioForward */
+    { 0x1008ff11, 27029 }, /* XF86AudioLowerVolume */
+    { 0x1008ff32, 27050 }, /* XF86AudioMedia */
+    { 0x1008ffb2, 27065 }, /* XF86AudioMicMute */
+    { 0x1008ff12, 27082 }, /* XF86AudioMute */
+    { 0x1008ff17, 27096 }, /* XF86AudioNext */
+    { 0x1008ff31, 27110 }, /* XF86AudioPause */
+    { 0x1008ff14, 27125 }, /* XF86AudioPlay */
+    { 0x1008ffb6, 27139 }, /* XF86AudioPreset */
+    { 0x1008ff16, 27155 }, /* XF86AudioPrev */
+    { 0x1008ff13, 27169 }, /* XF86AudioRaiseVolume */
+    { 0x1008ff99, 27190 }, /* XF86AudioRandomPlay */
+    { 0x1008ff1c, 27210 }, /* XF86AudioRecord */
+    { 0x1008ff98, 27226 }, /* XF86AudioRepeat */
+    { 0x1008ff3e, 27242 }, /* XF86AudioRewind */
+    { 0x1008ff15, 27258 }, /* XF86AudioStop */
+    { 0x1008ff8d, 27272 }, /* XF86Away */
+    { 0x1008ff26, 27281 }, /* XF86Back */
+    { 0x1008ff3f, 27290 }, /* XF86BackForward */
+    { 0x1008ff93, 27306 }, /* XF86Battery */
+    { 0x1008ffa6, 27318 }, /* XF86Blue */
+    { 0x1008ff94, 27327 }, /* XF86Bluetooth */
+    { 0x1008ff52, 27341 }, /* XF86Book */
+    { 0x1008119b, 27350 }, /* XF86Break */
+    { 0x1008ff3b, 27360 }, /* XF86BrightnessAdjust */
+    { 0x100810f4, 27381 }, /* XF86BrightnessAuto */
+    { 0x10081251, 27400 }, /* XF86BrightnessMax */
+    { 0x10081250, 27418 }, /* XF86BrightnessMin */
+    { 0x10081240, 27436 }, /* XF86Buttonconfig */
+    { 0x1008ff54, 27453 }, /* XF86Calculater */
+    { 0x1008ff1d, 27468 }, /* XF86Calculator */
+    { 0x1008ff20, 27483 }, /* XF86Calendar */
+    { 0x10081218, 27496 }, /* XF86CameraDown */
+    { 0x10081210, 27511 }, /* XF86CameraFocus */
+    { 0x10081219, 27527 }, /* XF86CameraLeft */
+    { 0x1008121a, 27542 }, /* XF86CameraRight */
+    { 0x10081217, 27558 }, /* XF86CameraUp */
+    { 0x10081215, 27571 }, /* XF86CameraZoomIn */
+    { 0x10081216, 27588 }, /* XF86CameraZoomOut */
+    { 0x1008ff53, 27606 }, /* XF86CD */
+    { 0x10081193, 27613 }, /* XF86ChannelDown */
+    { 0x10081192, 27629 }, /* XF86ChannelUp */
+    { 0x1008ff55, 27643 }, /* XF86Clear */
+    { 0x1008fe21, 27653 }, /* XF86ClearGrab */
+    { 0x1008ff56, 27667 }, /* XF86Close */
+    { 0x1008ff3d, 27677 }, /* XF86Community */
+    { 0x100811b6, 27691 }, /* XF86ContextMenu */
+    { 0x1008ff22, 27707 }, /* XF86ContrastAdjust */
+    { 0x10081243, 27726 }, /* XF86ControlPanel */
+    { 0x1008ff57, 27743 }, /* XF86Copy */
+    { 0x1008ff58, 27752 }, /* XF86Cut */
+    { 0x1008ff9c, 27760 }, /* XF86CycleAngle */
+    { 0x10081277, 27775 }, /* XF86Data */
+    { 0x100811aa, 27784 }, /* XF86Database */
+    { 0x1008124a, 27797 }, /* XF86Dictate */
+    { 0x1008ff59, 27809 }, /* XF86Display */
+    { 0x100810f5, 27821 }, /* XF86DisplayOff */
+    { 0x100811af, 27836 }, /* XF86DisplayToggle */
+    { 0x1008ff5b, 27854 }, /* XF86Documents */
+    { 0x1008ff5a, 27868 }, /* XF86DOS */
+    { 0x10081185, 27876 }, /* XF86DVD */
+    { 0x100811a6, 27884 }, /* XF86Editor */
+    { 0x1008ff2c, 27895 }, /* XF86Eject */
+    { 0x10081249, 27905 }, /* XF86EmojiPicker */
+    { 0x1008ff5c, 27921 }, /* XF86Excel */
+    { 0x1008ff5d, 27931 }, /* XF86Explorer */
+    { 0x10081275, 27944 }, /* XF86FastReverse */
+    { 0x1008ff30, 27960 }, /* XF86Favorites */
+    { 0x1008ff3c, 27974 }, /* XF86Finance */
+    { 0x100811d0, 27986 }, /* XF86Fn */
+    { 0x100811d1, 27993 }, /* XF86Fn_Esc */
+    { 0x100811e5, 28004 }, /* XF86FnRightShift */
+    { 0x1008ff27, 28021 }, /* XF86Forward */
+    { 0x1008ff9d, 28033 }, /* XF86FrameBack */
+    { 0x1008ff9e, 28047 }, /* XF86FrameForward */
+    { 0x1008ffb8, 28064 }, /* XF86FullScreen */
+    { 0x1008ff5e, 28079 }, /* XF86Game */
+    { 0x1008ff5f, 28088 }, /* XF86Go */
+    { 0x100811a8, 28095 }, /* XF86GraphicsEditor */
+    { 0x1008ffa4, 28114 }, /* XF86Green */
+    { 0x100811be, 28124 }, /* XF86HangupPhone */
+    { 0x1008ffa8, 28140 }, /* XF86Hibernate */
+    { 0x1008ff37, 28154 }, /* XF86History */
+    { 0x1008ff18, 28166 }, /* XF86HomePage */
+    { 0x1008ff3a, 28179 }, /* XF86HotLinks */
+    { 0x100811ba, 28192 }, /* XF86Images */
+    { 0x10081166, 28203 }, /* XF86Info */
+    { 0x1008ff60, 28212 }, /* XF86iTouch */
+    { 0x10081242, 28223 }, /* XF86Journal */
+    { 0x1008ff06, 28235 }, /* XF86KbdBrightnessDown */
+    { 0x1008ff05, 28257 }, /* XF86KbdBrightnessUp */
+    { 0x10081264, 28277 }, /* XF86KbdInputAssistAccept */
+    { 0x10081265, 28302 }, /* XF86KbdInputAssistCancel */
+    { 0x10081261, 28327 }, /* XF86KbdInputAssistNext */
+    { 0x10081263, 28350 }, /* XF86KbdInputAssistNextgroup */
+    { 0x10081260, 28378 }, /* XF86KbdInputAssistPrev */
+    { 0x10081262, 28401 }, /* XF86KbdInputAssistPrevgroup */
+    { 0x100812b8, 28429 }, /* XF86KbdLcdMenu1 */
+    { 0x100812b9, 28445 }, /* XF86KbdLcdMenu2 */
+    { 0x100812ba, 28461 }, /* XF86KbdLcdMenu3 */
+    { 0x100812bb, 28477 }, /* XF86KbdLcdMenu4 */
+    { 0x100812bc, 28493 }, /* XF86KbdLcdMenu5 */
+    { 0x1008ff04, 28509 }, /* XF86KbdLightOnOff */
+    { 0x1008ffb3, 28527 }, /* XF86Keyboard */
+    { 0x1008ff40, 28540 }, /* XF86Launch0 */
+    { 0x1008ff41, 28552 }, /* XF86Launch1 */
+    { 0x1008ff42, 28564 }, /* XF86Launch2 */
+    { 0x1008ff43, 28576 }, /* XF86Launch3 */
+    { 0x1008ff44, 28588 }, /* XF86Launch4 */
+    { 0x1008ff45, 28600 }, /* XF86Launch5 */
+    { 0x1008ff46, 28612 }, /* XF86Launch6 */
+    { 0x1008ff47, 28624 }, /* XF86Launch7 */
+    { 0x1008ff48, 28636 }, /* XF86Launch8 */
+    { 0x1008ff49, 28648 }, /* XF86Launch9 */
+    { 0x1008ff4a, 28660 }, /* XF86LaunchA */
+    { 0x1008ff4b, 28672 }, /* XF86LaunchB */
+    { 0x1008ff4c, 28684 }, /* XF86LaunchC */
+    { 0x1008ff4d, 28696 }, /* XF86LaunchD */
+    { 0x1008ff4e, 28708 }, /* XF86LaunchE */
+    { 0x1008ff4f, 28720 }, /* XF86LaunchF */
+    { 0x10081269, 28732 }, /* XF86LeftDown */
+    { 0x10081268, 28745 }, /* XF86LeftUp */
+    { 0x1008ff35, 28756 }, /* XF86LightBulb */
+    { 0x1008121e, 28770 }, /* XF86LightsToggle */
+    { 0x1008fe25, 28787 }, /* XF86LogGrabInfo */
+    { 0x1008ff61, 28803 }, /* XF86LogOff */
+    { 0x1008fe24, 28814 }, /* XF86LogWindowTree */
+    { 0x10081290, 28832 }, /* XF86Macro1 */
+    { 0x10081299, 28843 }, /* XF86Macro10 */
+    { 0x1008129a, 28855 }, /* XF86Macro11 */
+    { 0x1008129b, 28867 }, /* XF86Macro12 */
+    { 0x1008129c, 28879 }, /* XF86Macro13 */
+    { 0x1008129d, 28891 }, /* XF86Macro14 */
+    { 0x1008129e, 28903 }, /* XF86Macro15 */
+    { 0x1008129f, 28915 }, /* XF86Macro16 */
+    { 0x100812a0, 28927 }, /* XF86Macro17 */
+    { 0x100812a1, 28939 }, /* XF86Macro18 */
+    { 0x100812a2, 28951 }, /* XF86Macro19 */
+    { 0x10081291, 28963 }, /* XF86Macro2 */
+    { 0x100812a3, 28974 }, /* XF86Macro20 */
+    { 0x100812a4, 28986 }, /* XF86Macro21 */
+    { 0x100812a5, 28998 }, /* XF86Macro22 */
+    { 0x100812a6, 29010 }, /* XF86Macro23 */
+    { 0x100812a7, 29022 }, /* XF86Macro24 */
+    { 0x100812a8, 29034 }, /* XF86Macro25 */
+    { 0x100812a9, 29046 }, /* XF86Macro26 */
+    { 0x100812aa, 29058 }, /* XF86Macro27 */
+    { 0x100812ab, 29070 }, /* XF86Macro28 */
+    { 0x100812ac, 29082 }, /* XF86Macro29 */
+    { 0x10081292, 29094 }, /* XF86Macro3 */
+    { 0x100812ad, 29105 }, /* XF86Macro30 */
+    { 0x10081293, 29117 }, /* XF86Macro4 */
+    { 0x10081294, 29128 }, /* XF86Macro5 */
+    { 0x10081295, 29139 }, /* XF86Macro6 */
+    { 0x10081296, 29150 }, /* XF86Macro7 */
+    { 0x10081297, 29161 }, /* XF86Macro8 */
+    { 0x10081298, 29172 }, /* XF86Macro9 */
+    { 0x100812b3, 29183 }, /* XF86MacroPreset1 */
+    { 0x100812b4, 29200 }, /* XF86MacroPreset2 */
+    { 0x100812b5, 29217 }, /* XF86MacroPreset3 */
+    { 0x100812b2, 29234 }, /* XF86MacroPresetCycle */
+    { 0x100812b0, 29255 }, /* XF86MacroRecordStart */
+    { 0x100812b1, 29276 }, /* XF86MacroRecordStop */
+    { 0x1008ff19, 29296 }, /* XF86Mail */
+    { 0x1008ff90, 29305 }, /* XF86MailForward */
+    { 0x1008ff62, 29321 }, /* XF86Market */
+    { 0x100811b7, 29332 }, /* XF86MediaRepeat */
+    { 0x1008126b, 29348 }, /* XF86MediaTopMenu */
+    { 0x1008ff63, 29365 }, /* XF86Meeting */
+    { 0x1008ff1e, 29377 }, /* XF86Memo */
+    { 0x1008ff65, 29386 }, /* XF86MenuKB */
+    { 0x1008ff66, 29397 }, /* XF86MenuPB */
+    { 0x1008ff8e, 29408 }, /* XF86Messenger */
+    { 0x1008ff01, 29422 }, /* XF86ModeLock */
+    { 0x1008ff07, 29435 }, /* XF86MonBrightnessCycle */
+    { 0x1008ff03, 29458 }, /* XF86MonBrightnessDown */
+    { 0x1008ff02, 29480 }, /* XF86MonBrightnessUp */
+    { 0x1008ff92, 29500 }, /* XF86Music */
+    { 0x1008ff33, 29510 }, /* XF86MyComputer */
+    { 0x1008ff67, 29525 }, /* XF86MySites */
+    { 0x1008ff68, 29537 }, /* XF86New */
+    { 0x1008ff69, 29545 }, /* XF86News */
+    { 0x1008fe22, 29554 }, /* XF86Next_VMode */
+    { 0x10081270, 29569 }, /* XF86NextFavorite */
+    { 0x100811bc, 29586 }, /* XF86NotificationCenter */
+    { 0x10081200, 29609 }, /* XF86Numeric0 */
+    { 0x10081201, 29622 }, /* XF86Numeric1 */
+    { 0x1008126c, 29635 }, /* XF86Numeric11 */
+    { 0x1008126d, 29649 }, /* XF86Numeric12 */
+    { 0x10081202, 29663 }, /* XF86Numeric2 */
+    { 0x10081203, 29676 }, /* XF86Numeric3 */
+    { 0x10081204, 29689 }, /* XF86Numeric4 */
+    { 0x10081205, 29702 }, /* XF86Numeric5 */
+    { 0x10081206, 29715 }, /* XF86Numeric6 */
+    { 0x10081207, 29728 }, /* XF86Numeric7 */
+    { 0x10081208, 29741 }, /* XF86Numeric8 */
+    { 0x10081209, 29754 }, /* XF86Numeric9 */
+    { 0x1008120c, 29767 }, /* XF86NumericA */
+    { 0x1008120d, 29780 }, /* XF86NumericB */
+    { 0x1008120e, 29793 }, /* XF86NumericC */
+    { 0x1008120f, 29806 }, /* XF86NumericD */
+    { 0x1008120b, 29819 }, /* XF86NumericPound */
+    { 0x1008120a, 29836 }, /* XF86NumericStar */
+    { 0x1008ff6a, 29852 }, /* XF86OfficeHome */
+    { 0x10081278, 29867 }, /* XF86OnScreenKeyboard */
+    { 0x1008ff6b, 29888 }, /* XF86Open */
+    { 0x1008ff38, 29897 }, /* XF86OpenURL */
+    { 0x1008ff6c, 29909 }, /* XF86Option */
+    { 0x1008ff6d, 29920 }, /* XF86Paste */
+    { 0x10081272, 29930 }, /* XF86PauseRecord */
+    { 0x1008ff6e, 29946 }, /* XF86Phone */
+    { 0x100811bd, 29956 }, /* XF86PickupPhone */
+    { 0x1008ff91, 29972 }, /* XF86Pictures */
+    { 0x1008ff21, 29985 }, /* XF86PowerDown */
+    { 0x1008ff2a, 29999 }, /* XF86PowerOff */
+    { 0x100811a9, 30012 }, /* XF86Presentation */
+    { 0x1008fe23, 30029 }, /* XF86Prev_VMode */
+    { 0x10081279, 30044 }, /* XF86PrivacyScreenToggle */
+    { 0x1008ff70, 30068 }, /* XF86Q */
+    { 0x1008ffa3, 30074 }, /* XF86Red */
+    { 0x1008ff29, 30082 }, /* XF86Refresh */
+    { 0x1008ff73, 30094 }, /* XF86Reload */
+    { 0x1008ff72, 30105 }, /* XF86Reply */
+    { 0x1008ffb5, 30115 }, /* XF86RFKill */
+    { 0x10081267, 30126 }, /* XF86RightDown */
+    { 0x10081266, 30140 }, /* XF86RightUp */
+    { 0x1008ff24, 30152 }, /* XF86RockerDown */
+    { 0x1008ff25, 30167 }, /* XF86RockerEnter */
+    { 0x1008ff23, 30183 }, /* XF86RockerUp */
+    { 0x1008126a, 30196 }, /* XF86RootMenu */
+    { 0x1008ff74, 30209 }, /* XF86RotateWindows */
+    { 0x1008ff76, 30227 }, /* XF86RotationKB */
+    { 0x1008ffb7, 30242 }, /* XF86RotationLockToggle */
+    { 0x1008ff75, 30265 }, /* XF86RotationPB */
+    { 0x1008ff77, 30280 }, /* XF86Save */
+    { 0x1008ff2d, 30289 }, /* XF86ScreenSaver */
+    { 0x10081245, 30305 }, /* XF86Screensaver */
+    { 0x1008ff7a, 30321 }, /* XF86ScrollClick */
+    { 0x1008ff79, 30337 }, /* XF86ScrollDown */
+    { 0x1008ff78, 30352 }, /* XF86ScrollUp */
+    { 0x1008ff1b, 30365 }, /* XF86Search */
+    { 0x1008ffa0, 30376 }, /* XF86Select */
+    { 0x1008127a, 30387 }, /* XF86SelectiveScreenshot */
+    { 0x1008ff7b, 30411 }, /* XF86Send */
+    { 0x1008ff36, 30420 }, /* XF86Shop */
+    { 0x1008ff2f, 30429 }, /* XF86Sleep */
+    { 0x10081276, 30439 }, /* XF86SlowReverse */
+    { 0x1008ff7c, 30455 }, /* XF86Spell */
+    { 0x100811b0, 30465 }, /* XF86SpellCheck */
+    { 0x1008ff7d, 30480 }, /* XF86SplitScreen */
+    { 0x1008ff10, 30496 }, /* XF86Standby */
+    { 0x1008ff1a, 30508 }, /* XF86Start */
+    { 0x1008ff28, 30518 }, /* XF86Stop */
+    { 0x10081271, 30527 }, /* XF86StopRecord */
+    { 0x1008ff9a, 30542 }, /* XF86Subtitle */
+    { 0x1008ff7e, 30555 }, /* XF86Support */
+    { 0x1008ffa7, 30567 }, /* XF86Suspend */
+    { 0x1008fe01, 30579 }, /* XF86Switch_VT_1 */
+    { 0x1008fe0a, 30595 }, /* XF86Switch_VT_10 */
+    { 0x1008fe0b, 30612 }, /* XF86Switch_VT_11 */
+    { 0x1008fe0c, 30629 }, /* XF86Switch_VT_12 */
+    { 0x1008fe02, 30646 }, /* XF86Switch_VT_2 */
+    { 0x1008fe03, 30662 }, /* XF86Switch_VT_3 */
+    { 0x1008fe04, 30678 }, /* XF86Switch_VT_4 */
+    { 0x1008fe05, 30694 }, /* XF86Switch_VT_5 */
+    { 0x1008fe06, 30710 }, /* XF86Switch_VT_6 */
+    { 0x1008fe07, 30726 }, /* XF86Switch_VT_7 */
+    { 0x1008fe08, 30742 }, /* XF86Switch_VT_8 */
+    { 0x1008fe09, 30758 }, /* XF86Switch_VT_9 */
+    { 0x10081241, 30774 }, /* XF86Taskmanager */
+    { 0x1008ff7f, 30790 }, /* XF86TaskPane */
+    { 0x1008ff80, 30803 }, /* XF86Terminal */
+    { 0x1008ff9f, 30816 }, /* XF86Time */
+    { 0x1008ff1f, 30825 }, /* XF86ToDoList */
+    { 0x1008ff81, 30838 }, /* XF86Tools */
+    { 0x1008ffa2, 30848 }, /* XF86TopMenu */
+    { 0x1008ffb1, 30860 }, /* XF86TouchpadOff */
+    { 0x1008ffb0, 30876 }, /* XF86TouchpadOn */
+    { 0x1008ffa9, 30891 }, /* XF86TouchpadToggle */
+    { 0x1008ff82, 30910 }, /* XF86Travel */
+    { 0x1008fe20, 30921 }, /* XF86Ungrab */
+    { 0x10081274, 30932 }, /* XF86Unmute */
+    { 0x1008ff85, 30943 }, /* XF86User1KB */
+    { 0x1008ff86, 30955 }, /* XF86User2KB */
+    { 0x1008ff84, 30967 }, /* XF86UserPB */
+    { 0x1008ff96, 30978 }, /* XF86UWB */
+    { 0x1008ff34, 30986 }, /* XF86VendorHome */
+    { 0x1008ff87, 31001 }, /* XF86Video */
+    { 0x100811a0, 31011 }, /* XF86VideoPhone */
+    { 0x1008ffa1, 31026 }, /* XF86View */
+    { 0x10081273, 31035 }, /* XF86VOD */
+    { 0x10081246, 31043 }, /* XF86VoiceCommand */
+    { 0x100811ac, 31060 }, /* XF86Voicemail */
+    { 0x1008ff2b, 31074 }, /* XF86WakeUp */
+    { 0x1008ff8f, 31085 }, /* XF86WebCam */
+    { 0x1008ff88, 31096 }, /* XF86WheelButton */
+    { 0x1008ff95, 31112 }, /* XF86WLAN */
+    { 0x1008ff89, 31121 }, /* XF86Word */
+    { 0x10081211, 31130 }, /* XF86WPSButton */
+    { 0x1008ffb4, 31144 }, /* XF86WWAN */
+    { 0x1008ff2e, 31153 }, /* XF86WWW */
+    { 0x1008ff8a, 31161 }, /* XF86Xfer */
+    { 0x1008ffa5, 31170 }, /* XF86Yellow */
+    { 0x1008ff8b, 31181 }, /* XF86ZoomIn */
+    { 0x1008ff8c, 31192 }, /* XF86ZoomOut */
+    { 0x100811a4, 31204 }, /* XF86ZoomReset */
+    { 0x00000059, 31218 }, /* Y */
+    { 0x00000079, 31220 }, /* y */
+    { 0x000000dd, 31222 }, /* Yacute */
+    { 0x000000fd, 31229 }, /* yacute */
+    { 0x01001ef4, 31236 }, /* Ybelowdot */
+    { 0x01001ef5, 31246 }, /* ybelowdot */
+    { 0x01000176, 31256 }, /* Ycircumflex */
+    { 0x01000177, 31268 }, /* ycircumflex */
+    { 0x000000ff, 31280 }, /* ydiaeresis */
+    { 0x000013be, 31291 }, /* Ydiaeresis */
+    { 0x000000a5, 31302 }, /* yen */
+    { 0x01001ef2, 31306 }, /* Ygrave */
+    { 0x01001ef3, 31313 }, /* ygrave */
+    { 0x01001ef6, 31320 }, /* Yhook */
+    { 0x01001ef7, 31326 }, /* yhook */
+    { 0x01001ef8, 31332 }, /* Ytilde */
+    { 0x01001ef9, 31339 }, /* ytilde */
+    { 0x0000005a, 31346 }, /* Z */
+    { 0x0000007a, 31348 }, /* z */
+    { 0x000001af, 31350 }, /* Zabovedot */
+    { 0x000001bf, 31360 }, /* zabovedot */
+    { 0x000001ac, 31370 }, /* Zacute */
+    { 0x000001bc, 31377 }, /* zacute */
+    { 0x000001ae, 31384 }, /* Zcaron */
+    { 0x000001be, 31391 }, /* zcaron */
+    { 0x0000ff3d, 31398 }, /* Zen_Koho */
+    { 0x0000ff28, 31407 }, /* Zenkaku */
+    { 0x0000ff2a, 31415 }, /* Zenkaku_Hankaku */
+    { 0x01002080, 31431 }, /* zerosubscript */
+    { 0x01002070, 31445 }, /* zerosuperior */
+    { 0x010001b5, 31458 }, /* Zstroke */
+    { 0x010001b6, 31466 }, /* zstroke */
 };
 
 static const struct name_keysym keysym_to_name[] = {
-    { 0x00000000, 20091 }, /* NoSymbol */
-    { 0x00000020, 23803 }, /* space */
-    { 0x00000021, 12099 }, /* exclam */
-    { 0x00000022, 22187 }, /* quotedbl */
-    { 0x00000023, 20178 }, /* numbersign */
-    { 0x00000024, 11251 }, /* dollar */
-    { 0x00000025, 21487 }, /* percent */
+    { 0x00000000, 20173 }, /* NoSymbol */
+    { 0x00000020, 23885 }, /* space */
+    { 0x00000021, 12181 }, /* exclam */
+    { 0x00000022, 22269 }, /* quotedbl */
+    { 0x00000023, 20260 }, /* numbersign */
+    { 0x00000024, 11333 }, /* dollar */
+    { 0x00000025, 21569 }, /* percent */
     { 0x00000026, 908 }, /* ampersand */
     { 0x00000027, 934 }, /* apostrophe */
-    { 0x00000028, 21425 }, /* parenleft */
-    { 0x00000029, 21435 }, /* parenright */
+    { 0x00000028, 21507 }, /* parenleft */
+    { 0x00000029, 21517 }, /* parenright */
     { 0x0000002a, 3283 }, /* asterisk */
-    { 0x0000002b, 21557 }, /* plus */
-    { 0x0000002c, 8680 }, /* comma */
-    { 0x0000002d, 19733 }, /* minus */
-    { 0x0000002e, 21495 }, /* period */
-    { 0x0000002f, 23768 }, /* slash */
+    { 0x0000002b, 21639 }, /* plus */
+    { 0x0000002c, 8762 }, /* comma */
+    { 0x0000002d, 19815 }, /* minus */
+    { 0x0000002e, 21577 }, /* period */
+    { 0x0000002f, 23850 }, /* slash */
     { 0x00000030, 0 }, /* 0 */
     { 0x00000031, 2 }, /* 1 */
     { 0x00000032, 4 }, /* 2 */
@@ -4868,106 +5474,106 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x00000038, 394 }, /* 8 */
     { 0x00000039, 396 }, /* 9 */
     { 0x0000003a, 8664 }, /* colon */
-    { 0x0000003b, 22734 }, /* semicolon */
-    { 0x0000003c, 19412 }, /* less */
-    { 0x0000003d, 12051 }, /* equal */
-    { 0x0000003e, 13272 }, /* greater */
-    { 0x0000003f, 22165 }, /* question */
+    { 0x0000003b, 22816 }, /* semicolon */
+    { 0x0000003c, 19494 }, /* less */
+    { 0x0000003d, 12133 }, /* equal */
+    { 0x0000003e, 13354 }, /* greater */
+    { 0x0000003f, 22247 }, /* question */
     { 0x00000040, 3292 }, /* at */
     { 0x00000041, 398 }, /* A */
     { 0x00000042, 3328 }, /* B */
     { 0x00000043, 8439 }, /* C */
-    { 0x00000044, 10320 }, /* D */
-    { 0x00000045, 11424 }, /* E */
-    { 0x00000046, 12155 }, /* F */
-    { 0x00000047, 12665 }, /* G */
-    { 0x00000048, 14378 }, /* H */
-    { 0x00000049, 17069 }, /* I */
-    { 0x0000004a, 18114 }, /* J */
-    { 0x0000004b, 18146 }, /* K */
-    { 0x0000004c, 19112 }, /* L */
-    { 0x0000004d, 19533 }, /* M */
-    { 0x0000004e, 19943 }, /* N */
-    { 0x0000004f, 20200 }, /* O */
-    { 0x00000050, 21373 }, /* P */
-    { 0x00000051, 22156 }, /* Q */
-    { 0x00000052, 22217 }, /* R */
-    { 0x00000053, 22579 }, /* S */
-    { 0x00000054, 24294 }, /* T */
-    { 0x00000055, 25847 }, /* U */
-    { 0x00000056, 26483 }, /* V */
-    { 0x00000057, 26545 }, /* W */
-    { 0x00000058, 26631 }, /* X */
-    { 0x00000059, 29067 }, /* Y */
-    { 0x0000005a, 29195 }, /* Z */
+    { 0x00000044, 10402 }, /* D */
+    { 0x00000045, 11506 }, /* E */
+    { 0x00000046, 12237 }, /* F */
+    { 0x00000047, 12747 }, /* G */
+    { 0x00000048, 14460 }, /* H */
+    { 0x00000049, 17151 }, /* I */
+    { 0x0000004a, 18196 }, /* J */
+    { 0x0000004b, 18228 }, /* K */
+    { 0x0000004c, 19194 }, /* L */
+    { 0x0000004d, 19615 }, /* M */
+    { 0x0000004e, 20025 }, /* N */
+    { 0x0000004f, 20282 }, /* O */
+    { 0x00000050, 21455 }, /* P */
+    { 0x00000051, 22238 }, /* Q */
+    { 0x00000052, 22299 }, /* R */
+    { 0x00000053, 22661 }, /* S */
+    { 0x00000054, 24376 }, /* T */
+    { 0x00000055, 25929 }, /* U */
+    { 0x00000056, 26565 }, /* V */
+    { 0x00000057, 26627 }, /* W */
+    { 0x00000058, 26713 }, /* X */
+    { 0x00000059, 31218 }, /* Y */
+    { 0x0000005a, 31346 }, /* Z */
     { 0x0000005b, 3603 }, /* bracketleft */
     { 0x0000005c, 3352 }, /* backslash */
     { 0x0000005d, 3615 }, /* bracketright */
     { 0x0000005e, 3260 }, /* asciicircum */
-    { 0x0000005f, 26346 }, /* underscore */
-    { 0x00000060, 13266 }, /* grave */
+    { 0x0000005f, 26428 }, /* underscore */
+    { 0x00000060, 13348 }, /* grave */
     { 0x00000061, 400 }, /* a */
     { 0x00000062, 3330 }, /* b */
     { 0x00000063, 8441 }, /* c */
-    { 0x00000064, 10322 }, /* d */
-    { 0x00000065, 11426 }, /* e */
-    { 0x00000066, 12157 }, /* f */
-    { 0x00000067, 12667 }, /* g */
-    { 0x00000068, 14380 }, /* h */
-    { 0x00000069, 17071 }, /* i */
-    { 0x0000006a, 18116 }, /* j */
-    { 0x0000006b, 18148 }, /* k */
-    { 0x0000006c, 19114 }, /* l */
-    { 0x0000006d, 19535 }, /* m */
-    { 0x0000006e, 19945 }, /* n */
-    { 0x0000006f, 20202 }, /* o */
-    { 0x00000070, 21375 }, /* p */
-    { 0x00000071, 22158 }, /* q */
-    { 0x00000072, 22219 }, /* r */
-    { 0x00000073, 22581 }, /* s */
-    { 0x00000074, 24296 }, /* t */
-    { 0x00000075, 25849 }, /* u */
-    { 0x00000076, 26485 }, /* v */
-    { 0x00000077, 26547 }, /* w */
-    { 0x00000078, 26633 }, /* x */
-    { 0x00000079, 29069 }, /* y */
-    { 0x0000007a, 29197 }, /* z */
+    { 0x00000064, 10404 }, /* d */
+    { 0x00000065, 11508 }, /* e */
+    { 0x00000066, 12239 }, /* f */
+    { 0x00000067, 12749 }, /* g */
+    { 0x00000068, 14462 }, /* h */
+    { 0x00000069, 17153 }, /* i */
+    { 0x0000006a, 18198 }, /* j */
+    { 0x0000006b, 18230 }, /* k */
+    { 0x0000006c, 19196 }, /* l */
+    { 0x0000006d, 19617 }, /* m */
+    { 0x0000006e, 20027 }, /* n */
+    { 0x0000006f, 20284 }, /* o */
+    { 0x00000070, 21457 }, /* p */
+    { 0x00000071, 22240 }, /* q */
+    { 0x00000072, 22301 }, /* r */
+    { 0x00000073, 22663 }, /* s */
+    { 0x00000074, 24378 }, /* t */
+    { 0x00000075, 25931 }, /* u */
+    { 0x00000076, 26567 }, /* v */
+    { 0x00000077, 26629 }, /* w */
+    { 0x00000078, 26715 }, /* x */
+    { 0x00000079, 31220 }, /* y */
+    { 0x0000007a, 31348 }, /* z */
     { 0x0000007b, 3582 }, /* braceleft */
     { 0x0000007c, 3392 }, /* bar */
     { 0x0000007d, 3592 }, /* braceright */
     { 0x0000007e, 3272 }, /* asciitilde */
-    { 0x000000a0, 20078 }, /* nobreakspace */
-    { 0x000000a1, 12106 }, /* exclamdown */
+    { 0x000000a0, 20160 }, /* nobreakspace */
+    { 0x000000a1, 12188 }, /* exclamdown */
     { 0x000000a2, 8589 }, /* cent */
-    { 0x000000a3, 23827 }, /* sterling */
-    { 0x000000a4, 8766 }, /* currency */
-    { 0x000000a5, 29151 }, /* yen */
+    { 0x000000a3, 23909 }, /* sterling */
+    { 0x000000a4, 8848 }, /* currency */
+    { 0x000000a5, 31302 }, /* yen */
     { 0x000000a6, 8389 }, /* brokenbar */
-    { 0x000000a7, 22719 }, /* section */
-    { 0x000000a8, 11203 }, /* diaeresis */
-    { 0x000000a9, 8717 }, /* copyright */
-    { 0x000000aa, 20852 }, /* ordfeminine */
-    { 0x000000ab, 14349 }, /* guillemotleft */
-    { 0x000000ac, 20147 }, /* notsign */
-    { 0x000000ad, 17062 }, /* hyphen */
-    { 0x000000ae, 22331 }, /* registered */
-    { 0x000000af, 19641 }, /* macron */
-    { 0x000000b0, 11153 }, /* degree */
-    { 0x000000b1, 21562 }, /* plusminus */
-    { 0x000000b2, 25825 }, /* twosuperior */
-    { 0x000000b3, 25571 }, /* threesuperior */
+    { 0x000000a7, 22801 }, /* section */
+    { 0x000000a8, 11285 }, /* diaeresis */
+    { 0x000000a9, 8799 }, /* copyright */
+    { 0x000000aa, 20934 }, /* ordfeminine */
+    { 0x000000ab, 14431 }, /* guillemotleft */
+    { 0x000000ac, 20229 }, /* notsign */
+    { 0x000000ad, 17144 }, /* hyphen */
+    { 0x000000ae, 22413 }, /* registered */
+    { 0x000000af, 19723 }, /* macron */
+    { 0x000000b0, 11235 }, /* degree */
+    { 0x000000b1, 21644 }, /* plusminus */
+    { 0x000000b2, 25907 }, /* twosuperior */
+    { 0x000000b3, 25653 }, /* threesuperior */
     { 0x000000b4, 820 }, /* acute */
-    { 0x000000b5, 19799 }, /* mu */
-    { 0x000000b6, 21415 }, /* paragraph */
-    { 0x000000b7, 21502 }, /* periodcentered */
+    { 0x000000b5, 19881 }, /* mu */
+    { 0x000000b6, 21497 }, /* paragraph */
+    { 0x000000b7, 21584 }, /* periodcentered */
     { 0x000000b8, 8581 }, /* cedilla */
-    { 0x000000b9, 20755 }, /* onesuperior */
-    { 0x000000ba, 19688 }, /* masculine */
-    { 0x000000bb, 14363 }, /* guillemotright */
-    { 0x000000bc, 20722 }, /* onequarter */
-    { 0x000000bd, 20714 }, /* onehalf */
-    { 0x000000be, 25542 }, /* threequarters */
-    { 0x000000bf, 22174 }, /* questiondown */
+    { 0x000000b9, 20837 }, /* onesuperior */
+    { 0x000000ba, 19770 }, /* masculine */
+    { 0x000000bb, 14445 }, /* guillemotright */
+    { 0x000000bc, 20804 }, /* onequarter */
+    { 0x000000bd, 20796 }, /* onehalf */
+    { 0x000000be, 25624 }, /* threequarters */
+    { 0x000000bf, 22256 }, /* questiondown */
     { 0x000000c0, 854 }, /* Agrave */
     { 0x000000c1, 402 }, /* Aacute */
     { 0x000000c2, 622 }, /* Acircumflex */
@@ -4976,30 +5582,30 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000000c5, 2036 }, /* Aring */
     { 0x000000c6, 848 }, /* AE */
     { 0x000000c7, 8539 }, /* Ccedilla */
-    { 0x000000c8, 11724 }, /* Egrave */
-    { 0x000000c9, 11448 }, /* Eacute */
-    { 0x000000ca, 11496 }, /* Ecircumflex */
-    { 0x000000cb, 11702 }, /* Ediaeresis */
-    { 0x000000cc, 17205 }, /* Igrave */
-    { 0x000000cd, 17083 }, /* Iacute */
-    { 0x000000ce, 17131 }, /* Icircumflex */
-    { 0x000000cf, 17165 }, /* Idiaeresis */
-    { 0x000000d0, 12064 }, /* ETH */
-    { 0x000000d1, 20155 }, /* Ntilde */
-    { 0x000000d2, 20527 }, /* Ograve */
-    { 0x000000d3, 20204 }, /* Oacute */
-    { 0x000000d4, 20268 }, /* Ocircumflex */
-    { 0x000000d5, 21310 }, /* Otilde */
-    { 0x000000d6, 20466 }, /* Odiaeresis */
-    { 0x000000d7, 19839 }, /* multiply */
-    { 0x000000d8, 21296 }, /* Oslash */
-    { 0x000000d9, 25971 }, /* Ugrave */
-    { 0x000000da, 25851 }, /* Uacute */
-    { 0x000000db, 25899 }, /* Ucircumflex */
-    { 0x000000dc, 25923 }, /* Udiaeresis */
-    { 0x000000dd, 29071 }, /* Yacute */
-    { 0x000000de, 25499 }, /* THORN */
-    { 0x000000df, 23820 }, /* ssharp */
+    { 0x000000c8, 11806 }, /* Egrave */
+    { 0x000000c9, 11530 }, /* Eacute */
+    { 0x000000ca, 11578 }, /* Ecircumflex */
+    { 0x000000cb, 11784 }, /* Ediaeresis */
+    { 0x000000cc, 17287 }, /* Igrave */
+    { 0x000000cd, 17165 }, /* Iacute */
+    { 0x000000ce, 17213 }, /* Icircumflex */
+    { 0x000000cf, 17247 }, /* Idiaeresis */
+    { 0x000000d0, 12146 }, /* ETH */
+    { 0x000000d1, 20237 }, /* Ntilde */
+    { 0x000000d2, 20609 }, /* Ograve */
+    { 0x000000d3, 20286 }, /* Oacute */
+    { 0x000000d4, 20350 }, /* Ocircumflex */
+    { 0x000000d5, 21392 }, /* Otilde */
+    { 0x000000d6, 20548 }, /* Odiaeresis */
+    { 0x000000d7, 19921 }, /* multiply */
+    { 0x000000d8, 21378 }, /* Oslash */
+    { 0x000000d9, 26053 }, /* Ugrave */
+    { 0x000000da, 25933 }, /* Uacute */
+    { 0x000000db, 25981 }, /* Ucircumflex */
+    { 0x000000dc, 26005 }, /* Udiaeresis */
+    { 0x000000dd, 31222 }, /* Yacute */
+    { 0x000000de, 25581 }, /* THORN */
+    { 0x000000df, 23902 }, /* ssharp */
     { 0x000000e0, 861 }, /* agrave */
     { 0x000000e1, 409 }, /* aacute */
     { 0x000000e2, 634 }, /* acircumflex */
@@ -5008,208 +5614,208 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000000e5, 2042 }, /* aring */
     { 0x000000e6, 851 }, /* ae */
     { 0x000000e7, 8548 }, /* ccedilla */
-    { 0x000000e8, 11731 }, /* egrave */
-    { 0x000000e9, 11455 }, /* eacute */
-    { 0x000000ea, 11508 }, /* ecircumflex */
-    { 0x000000eb, 11713 }, /* ediaeresis */
-    { 0x000000ec, 17212 }, /* igrave */
-    { 0x000000ed, 17090 }, /* iacute */
-    { 0x000000ee, 17143 }, /* icircumflex */
-    { 0x000000ef, 17176 }, /* idiaeresis */
-    { 0x000000f0, 12072 }, /* eth */
-    { 0x000000f1, 20162 }, /* ntilde */
-    { 0x000000f2, 20534 }, /* ograve */
-    { 0x000000f3, 20211 }, /* oacute */
-    { 0x000000f4, 20280 }, /* ocircumflex */
-    { 0x000000f5, 21317 }, /* otilde */
-    { 0x000000f6, 20477 }, /* odiaeresis */
-    { 0x000000f7, 11242 }, /* division */
-    { 0x000000f8, 21303 }, /* oslash */
-    { 0x000000f9, 25978 }, /* ugrave */
-    { 0x000000fa, 25858 }, /* uacute */
-    { 0x000000fb, 25911 }, /* ucircumflex */
-    { 0x000000fc, 25934 }, /* udiaeresis */
-    { 0x000000fd, 29078 }, /* yacute */
-    { 0x000000fe, 25511 }, /* thorn */
-    { 0x000000ff, 29129 }, /* ydiaeresis */
+    { 0x000000e8, 11813 }, /* egrave */
+    { 0x000000e9, 11537 }, /* eacute */
+    { 0x000000ea, 11590 }, /* ecircumflex */
+    { 0x000000eb, 11795 }, /* ediaeresis */
+    { 0x000000ec, 17294 }, /* igrave */
+    { 0x000000ed, 17172 }, /* iacute */
+    { 0x000000ee, 17225 }, /* icircumflex */
+    { 0x000000ef, 17258 }, /* idiaeresis */
+    { 0x000000f0, 12154 }, /* eth */
+    { 0x000000f1, 20244 }, /* ntilde */
+    { 0x000000f2, 20616 }, /* ograve */
+    { 0x000000f3, 20293 }, /* oacute */
+    { 0x000000f4, 20362 }, /* ocircumflex */
+    { 0x000000f5, 21399 }, /* otilde */
+    { 0x000000f6, 20559 }, /* odiaeresis */
+    { 0x000000f7, 11324 }, /* division */
+    { 0x000000f8, 21385 }, /* oslash */
+    { 0x000000f9, 26060 }, /* ugrave */
+    { 0x000000fa, 25940 }, /* uacute */
+    { 0x000000fb, 25993 }, /* ucircumflex */
+    { 0x000000fc, 26016 }, /* udiaeresis */
+    { 0x000000fd, 31229 }, /* yacute */
+    { 0x000000fe, 25593 }, /* thorn */
+    { 0x000000ff, 31280 }, /* ydiaeresis */
     { 0x000001a1, 918 }, /* Aogonek */
     { 0x000001a2, 8383 }, /* breve */
-    { 0x000001a3, 19517 }, /* Lstroke */
-    { 0x000001a5, 19212 }, /* Lcaron */
-    { 0x000001a6, 22603 }, /* Sacute */
-    { 0x000001a9, 22617 }, /* Scaron */
-    { 0x000001aa, 22631 }, /* Scedilla */
-    { 0x000001ab, 24322 }, /* Tcaron */
-    { 0x000001ac, 29219 }, /* Zacute */
-    { 0x000001ae, 29233 }, /* Zcaron */
-    { 0x000001af, 29199 }, /* Zabovedot */
+    { 0x000001a3, 19599 }, /* Lstroke */
+    { 0x000001a5, 19294 }, /* Lcaron */
+    { 0x000001a6, 22685 }, /* Sacute */
+    { 0x000001a9, 22699 }, /* Scaron */
+    { 0x000001aa, 22713 }, /* Scedilla */
+    { 0x000001ab, 24404 }, /* Tcaron */
+    { 0x000001ac, 31370 }, /* Zacute */
+    { 0x000001ae, 31384 }, /* Zcaron */
+    { 0x000001af, 31350 }, /* Zabovedot */
     { 0x000001b1, 926 }, /* aogonek */
-    { 0x000001b2, 20520 }, /* ogonek */
-    { 0x000001b3, 19525 }, /* lstroke */
-    { 0x000001b5, 19219 }, /* lcaron */
-    { 0x000001b6, 22610 }, /* sacute */
+    { 0x000001b2, 20602 }, /* ogonek */
+    { 0x000001b3, 19607 }, /* lstroke */
+    { 0x000001b5, 19301 }, /* lcaron */
+    { 0x000001b6, 22692 }, /* sacute */
     { 0x000001b7, 8519 }, /* caron */
-    { 0x000001b9, 22624 }, /* scaron */
-    { 0x000001ba, 22640 }, /* scedilla */
-    { 0x000001bb, 24329 }, /* tcaron */
-    { 0x000001bc, 29226 }, /* zacute */
-    { 0x000001bd, 11283 }, /* doubleacute */
-    { 0x000001be, 29240 }, /* zcaron */
-    { 0x000001bf, 29209 }, /* zabovedot */
-    { 0x000001c0, 22272 }, /* Racute */
+    { 0x000001b9, 22706 }, /* scaron */
+    { 0x000001ba, 22722 }, /* scedilla */
+    { 0x000001bb, 24411 }, /* tcaron */
+    { 0x000001bc, 31377 }, /* zacute */
+    { 0x000001bd, 11365 }, /* doubleacute */
+    { 0x000001be, 31391 }, /* zcaron */
+    { 0x000001bf, 31360 }, /* zabovedot */
+    { 0x000001c0, 22354 }, /* Racute */
     { 0x000001c3, 445 }, /* Abreve */
-    { 0x000001c5, 19147 }, /* Lacute */
+    { 0x000001c5, 19229 }, /* Lacute */
     { 0x000001c6, 8475 }, /* Cacute */
     { 0x000001c8, 8525 }, /* Ccaron */
-    { 0x000001ca, 12035 }, /* Eogonek */
-    { 0x000001cc, 11482 }, /* Ecaron */
-    { 0x000001cf, 10365 }, /* Dcaron */
-    { 0x000001d0, 11401 }, /* Dstroke */
-    { 0x000001d1, 19953 }, /* Nacute */
-    { 0x000001d2, 19977 }, /* Ncaron */
-    { 0x000001d5, 20488 }, /* Odoubleacute */
-    { 0x000001d8, 22294 }, /* Rcaron */
-    { 0x000001d9, 26452 }, /* Uring */
-    { 0x000001db, 25945 }, /* Udoubleacute */
-    { 0x000001de, 24336 }, /* Tcedilla */
-    { 0x000001e0, 22279 }, /* racute */
+    { 0x000001ca, 12117 }, /* Eogonek */
+    { 0x000001cc, 11564 }, /* Ecaron */
+    { 0x000001cf, 10447 }, /* Dcaron */
+    { 0x000001d0, 11483 }, /* Dstroke */
+    { 0x000001d1, 20035 }, /* Nacute */
+    { 0x000001d2, 20059 }, /* Ncaron */
+    { 0x000001d5, 20570 }, /* Odoubleacute */
+    { 0x000001d8, 22376 }, /* Rcaron */
+    { 0x000001d9, 26534 }, /* Uring */
+    { 0x000001db, 26027 }, /* Udoubleacute */
+    { 0x000001de, 24418 }, /* Tcedilla */
+    { 0x000001e0, 22361 }, /* racute */
     { 0x000001e3, 452 }, /* abreve */
-    { 0x000001e5, 19154 }, /* lacute */
+    { 0x000001e5, 19236 }, /* lacute */
     { 0x000001e6, 8482 }, /* cacute */
     { 0x000001e8, 8532 }, /* ccaron */
-    { 0x000001ea, 12043 }, /* eogonek */
-    { 0x000001ec, 11489 }, /* ecaron */
-    { 0x000001ef, 10372 }, /* dcaron */
-    { 0x000001f0, 11409 }, /* dstroke */
-    { 0x000001f1, 19960 }, /* nacute */
-    { 0x000001f2, 19984 }, /* ncaron */
-    { 0x000001f5, 20501 }, /* odoubleacute */
-    { 0x000001f8, 22301 }, /* rcaron */
-    { 0x000001f9, 26458 }, /* uring */
-    { 0x000001fb, 25958 }, /* udoubleacute */
-    { 0x000001fe, 24345 }, /* tcedilla */
+    { 0x000001ea, 12125 }, /* eogonek */
+    { 0x000001ec, 11571 }, /* ecaron */
+    { 0x000001ef, 10454 }, /* dcaron */
+    { 0x000001f0, 11491 }, /* dstroke */
+    { 0x000001f1, 20042 }, /* nacute */
+    { 0x000001f2, 20066 }, /* ncaron */
+    { 0x000001f5, 20583 }, /* odoubleacute */
+    { 0x000001f8, 22383 }, /* rcaron */
+    { 0x000001f9, 26540 }, /* uring */
+    { 0x000001fb, 26040 }, /* udoubleacute */
+    { 0x000001fe, 24427 }, /* tcedilla */
     { 0x000001ff, 436 }, /* abovedot */
-    { 0x000002a1, 17027 }, /* Hstroke */
-    { 0x000002a6, 16056 }, /* Hcircumflex */
-    { 0x000002a9, 17073 }, /* Iabovedot */
-    { 0x000002ab, 12689 }, /* Gbreve */
-    { 0x000002ac, 18118 }, /* Jcircumflex */
-    { 0x000002b1, 17035 }, /* hstroke */
-    { 0x000002b6, 16068 }, /* hcircumflex */
-    { 0x000002b9, 17187 }, /* idotless */
-    { 0x000002bb, 12696 }, /* gbreve */
-    { 0x000002bc, 18130 }, /* jcircumflex */
+    { 0x000002a1, 17109 }, /* Hstroke */
+    { 0x000002a6, 16138 }, /* Hcircumflex */
+    { 0x000002a9, 17155 }, /* Iabovedot */
+    { 0x000002ab, 12771 }, /* Gbreve */
+    { 0x000002ac, 18200 }, /* Jcircumflex */
+    { 0x000002b1, 17117 }, /* hstroke */
+    { 0x000002b6, 16150 }, /* hcircumflex */
+    { 0x000002b9, 17269 }, /* idotless */
+    { 0x000002bb, 12778 }, /* gbreve */
+    { 0x000002bc, 18212 }, /* jcircumflex */
     { 0x000002c5, 8455 }, /* Cabovedot */
     { 0x000002c6, 8557 }, /* Ccircumflex */
-    { 0x000002d5, 12669 }, /* Gabovedot */
-    { 0x000002d8, 12735 }, /* Gcircumflex */
-    { 0x000002dd, 25885 }, /* Ubreve */
-    { 0x000002de, 22661 }, /* Scircumflex */
+    { 0x000002d5, 12751 }, /* Gabovedot */
+    { 0x000002d8, 12817 }, /* Gcircumflex */
+    { 0x000002dd, 25967 }, /* Ubreve */
+    { 0x000002de, 22743 }, /* Scircumflex */
     { 0x000002e5, 8465 }, /* cabovedot */
     { 0x000002e6, 8569 }, /* ccircumflex */
-    { 0x000002f5, 12679 }, /* gabovedot */
-    { 0x000002f8, 12747 }, /* gcircumflex */
-    { 0x000002fd, 25892 }, /* ubreve */
-    { 0x000002fe, 22673 }, /* scircumflex */
-    { 0x000003a2, 19108 }, /* kra */
-    { 0x000003a3, 22308 }, /* Rcedilla */
-    { 0x000003a5, 18100 }, /* Itilde */
-    { 0x000003a6, 19226 }, /* Lcedilla */
-    { 0x000003aa, 11839 }, /* Emacron */
-    { 0x000003ab, 12717 }, /* Gcedilla */
-    { 0x000003ac, 25788 }, /* Tslash */
-    { 0x000003b3, 22317 }, /* rcedilla */
-    { 0x000003b5, 18107 }, /* itilde */
-    { 0x000003b6, 19235 }, /* lcedilla */
-    { 0x000003ba, 11847 }, /* emacron */
-    { 0x000003bb, 12726 }, /* gcedilla */
-    { 0x000003bc, 25795 }, /* tslash */
-    { 0x000003bd, 11983 }, /* ENG */
-    { 0x000003bf, 11987 }, /* eng */
+    { 0x000002f5, 12761 }, /* gabovedot */
+    { 0x000002f8, 12829 }, /* gcircumflex */
+    { 0x000002fd, 25974 }, /* ubreve */
+    { 0x000002fe, 22755 }, /* scircumflex */
+    { 0x000003a2, 19190 }, /* kra */
+    { 0x000003a3, 22390 }, /* Rcedilla */
+    { 0x000003a5, 18182 }, /* Itilde */
+    { 0x000003a6, 19308 }, /* Lcedilla */
+    { 0x000003aa, 11921 }, /* Emacron */
+    { 0x000003ab, 12799 }, /* Gcedilla */
+    { 0x000003ac, 25870 }, /* Tslash */
+    { 0x000003b3, 22399 }, /* rcedilla */
+    { 0x000003b5, 18189 }, /* itilde */
+    { 0x000003b6, 19317 }, /* lcedilla */
+    { 0x000003ba, 11929 }, /* emacron */
+    { 0x000003bb, 12808 }, /* gcedilla */
+    { 0x000003bc, 25877 }, /* tslash */
+    { 0x000003bd, 12065 }, /* ENG */
+    { 0x000003bf, 12069 }, /* eng */
     { 0x000003c0, 892 }, /* Amacron */
-    { 0x000003c7, 17338 }, /* Iogonek */
-    { 0x000003cc, 11428 }, /* Eabovedot */
-    { 0x000003cf, 17231 }, /* Imacron */
-    { 0x000003d1, 19991 }, /* Ncedilla */
-    { 0x000003d2, 20679 }, /* Omacron */
-    { 0x000003d3, 18779 }, /* Kcedilla */
-    { 0x000003d9, 26368 }, /* Uogonek */
-    { 0x000003dd, 26469 }, /* Utilde */
-    { 0x000003de, 26321 }, /* Umacron */
+    { 0x000003c7, 17420 }, /* Iogonek */
+    { 0x000003cc, 11510 }, /* Eabovedot */
+    { 0x000003cf, 17313 }, /* Imacron */
+    { 0x000003d1, 20073 }, /* Ncedilla */
+    { 0x000003d2, 20761 }, /* Omacron */
+    { 0x000003d3, 18861 }, /* Kcedilla */
+    { 0x000003d9, 26450 }, /* Uogonek */
+    { 0x000003dd, 26551 }, /* Utilde */
+    { 0x000003de, 26403 }, /* Umacron */
     { 0x000003e0, 900 }, /* amacron */
-    { 0x000003e7, 17346 }, /* iogonek */
-    { 0x000003ec, 11438 }, /* eabovedot */
-    { 0x000003ef, 17239 }, /* imacron */
-    { 0x000003f1, 20000 }, /* ncedilla */
-    { 0x000003f2, 20687 }, /* omacron */
-    { 0x000003f3, 18788 }, /* kcedilla */
-    { 0x000003f9, 26376 }, /* uogonek */
-    { 0x000003fd, 26476 }, /* utilde */
-    { 0x000003fe, 26329 }, /* umacron */
-    { 0x0000047e, 21364 }, /* overline */
-    { 0x000004a1, 18243 }, /* kana_fullstop */
-    { 0x000004a2, 18477 }, /* kana_openingbracket */
-    { 0x000004a3, 18173 }, /* kana_closingbracket */
-    { 0x000004a4, 18193 }, /* kana_comma */
-    { 0x000004a5, 18204 }, /* kana_conjunctive */
-    { 0x000004a6, 18689 }, /* kana_WO */
-    { 0x000004a7, 18150 }, /* kana_a */
-    { 0x000004a8, 18297 }, /* kana_i */
-    { 0x000004a9, 18667 }, /* kana_u */
-    { 0x000004aa, 18221 }, /* kana_e */
-    { 0x000004ab, 18463 }, /* kana_o */
-    { 0x000004ac, 18697 }, /* kana_ya */
-    { 0x000004ad, 18729 }, /* kana_yu */
-    { 0x000004ae, 18713 }, /* kana_yo */
-    { 0x000004af, 18633 }, /* kana_tsu */
-    { 0x000004b0, 22130 }, /* prolongedsound */
-    { 0x000004b1, 18157 }, /* kana_A */
-    { 0x000004b2, 18304 }, /* kana_I */
-    { 0x000004b3, 18674 }, /* kana_U */
-    { 0x000004b4, 18228 }, /* kana_E */
-    { 0x000004b5, 18470 }, /* kana_O */
-    { 0x000004b6, 18311 }, /* kana_KA */
-    { 0x000004b7, 18327 }, /* kana_KI */
-    { 0x000004b8, 18343 }, /* kana_KU */
-    { 0x000004b9, 18319 }, /* kana_KE */
-    { 0x000004ba, 18335 }, /* kana_KO */
-    { 0x000004bb, 18537 }, /* kana_SA */
-    { 0x000004bc, 18553 }, /* kana_SHI */
-    { 0x000004bd, 18581 }, /* kana_SU */
-    { 0x000004be, 18545 }, /* kana_SE */
-    { 0x000004bf, 18573 }, /* kana_SO */
-    { 0x000004c0, 18601 }, /* kana_TA */
-    { 0x000004c1, 18164 }, /* kana_CHI */
-    { 0x000004c2, 18642 }, /* kana_TSU */
-    { 0x000004c3, 18609 }, /* kana_TE */
-    { 0x000004c4, 18625 }, /* kana_TO */
-    { 0x000004c5, 18423 }, /* kana_NA */
-    { 0x000004c6, 18439 }, /* kana_NI */
-    { 0x000004c7, 18455 }, /* kana_NU */
-    { 0x000004c8, 18431 }, /* kana_NE */
-    { 0x000004c9, 18447 }, /* kana_NO */
-    { 0x000004ca, 18257 }, /* kana_HA */
-    { 0x000004cb, 18273 }, /* kana_HI */
-    { 0x000004cc, 18235 }, /* kana_FU */
-    { 0x000004cd, 18265 }, /* kana_HE */
-    { 0x000004ce, 18281 }, /* kana_HO */
-    { 0x000004cf, 18361 }, /* kana_MA */
-    { 0x000004d0, 18377 }, /* kana_MI */
-    { 0x000004d1, 18408 }, /* kana_MU */
-    { 0x000004d2, 18369 }, /* kana_ME */
-    { 0x000004d3, 18400 }, /* kana_MO */
-    { 0x000004d4, 18705 }, /* kana_YA */
-    { 0x000004d5, 18737 }, /* kana_YU */
-    { 0x000004d6, 18721 }, /* kana_YO */
-    { 0x000004d7, 18497 }, /* kana_RA */
-    { 0x000004d8, 18513 }, /* kana_RI */
-    { 0x000004d9, 18529 }, /* kana_RU */
-    { 0x000004da, 18505 }, /* kana_RE */
-    { 0x000004db, 18521 }, /* kana_RO */
-    { 0x000004dc, 18681 }, /* kana_WA */
-    { 0x000004dd, 18416 }, /* kana_N */
-    { 0x000004de, 26519 }, /* voicedsound */
-    { 0x000004df, 22744 }, /* semivoicedsound */
+    { 0x000003e7, 17428 }, /* iogonek */
+    { 0x000003ec, 11520 }, /* eabovedot */
+    { 0x000003ef, 17321 }, /* imacron */
+    { 0x000003f1, 20082 }, /* ncedilla */
+    { 0x000003f2, 20769 }, /* omacron */
+    { 0x000003f3, 18870 }, /* kcedilla */
+    { 0x000003f9, 26458 }, /* uogonek */
+    { 0x000003fd, 26558 }, /* utilde */
+    { 0x000003fe, 26411 }, /* umacron */
+    { 0x0000047e, 21446 }, /* overline */
+    { 0x000004a1, 18325 }, /* kana_fullstop */
+    { 0x000004a2, 18559 }, /* kana_openingbracket */
+    { 0x000004a3, 18255 }, /* kana_closingbracket */
+    { 0x000004a4, 18275 }, /* kana_comma */
+    { 0x000004a5, 18286 }, /* kana_conjunctive */
+    { 0x000004a6, 18771 }, /* kana_WO */
+    { 0x000004a7, 18232 }, /* kana_a */
+    { 0x000004a8, 18379 }, /* kana_i */
+    { 0x000004a9, 18749 }, /* kana_u */
+    { 0x000004aa, 18303 }, /* kana_e */
+    { 0x000004ab, 18545 }, /* kana_o */
+    { 0x000004ac, 18779 }, /* kana_ya */
+    { 0x000004ad, 18811 }, /* kana_yu */
+    { 0x000004ae, 18795 }, /* kana_yo */
+    { 0x000004af, 18715 }, /* kana_tsu */
+    { 0x000004b0, 22212 }, /* prolongedsound */
+    { 0x000004b1, 18239 }, /* kana_A */
+    { 0x000004b2, 18386 }, /* kana_I */
+    { 0x000004b3, 18756 }, /* kana_U */
+    { 0x000004b4, 18310 }, /* kana_E */
+    { 0x000004b5, 18552 }, /* kana_O */
+    { 0x000004b6, 18393 }, /* kana_KA */
+    { 0x000004b7, 18409 }, /* kana_KI */
+    { 0x000004b8, 18425 }, /* kana_KU */
+    { 0x000004b9, 18401 }, /* kana_KE */
+    { 0x000004ba, 18417 }, /* kana_KO */
+    { 0x000004bb, 18619 }, /* kana_SA */
+    { 0x000004bc, 18635 }, /* kana_SHI */
+    { 0x000004bd, 18663 }, /* kana_SU */
+    { 0x000004be, 18627 }, /* kana_SE */
+    { 0x000004bf, 18655 }, /* kana_SO */
+    { 0x000004c0, 18683 }, /* kana_TA */
+    { 0x000004c1, 18246 }, /* kana_CHI */
+    { 0x000004c2, 18724 }, /* kana_TSU */
+    { 0x000004c3, 18691 }, /* kana_TE */
+    { 0x000004c4, 18707 }, /* kana_TO */
+    { 0x000004c5, 18505 }, /* kana_NA */
+    { 0x000004c6, 18521 }, /* kana_NI */
+    { 0x000004c7, 18537 }, /* kana_NU */
+    { 0x000004c8, 18513 }, /* kana_NE */
+    { 0x000004c9, 18529 }, /* kana_NO */
+    { 0x000004ca, 18339 }, /* kana_HA */
+    { 0x000004cb, 18355 }, /* kana_HI */
+    { 0x000004cc, 18317 }, /* kana_FU */
+    { 0x000004cd, 18347 }, /* kana_HE */
+    { 0x000004ce, 18363 }, /* kana_HO */
+    { 0x000004cf, 18443 }, /* kana_MA */
+    { 0x000004d0, 18459 }, /* kana_MI */
+    { 0x000004d1, 18490 }, /* kana_MU */
+    { 0x000004d2, 18451 }, /* kana_ME */
+    { 0x000004d3, 18482 }, /* kana_MO */
+    { 0x000004d4, 18787 }, /* kana_YA */
+    { 0x000004d5, 18819 }, /* kana_YU */
+    { 0x000004d6, 18803 }, /* kana_YO */
+    { 0x000004d7, 18579 }, /* kana_RA */
+    { 0x000004d8, 18595 }, /* kana_RI */
+    { 0x000004d9, 18611 }, /* kana_RU */
+    { 0x000004da, 18587 }, /* kana_RE */
+    { 0x000004db, 18603 }, /* kana_RO */
+    { 0x000004dc, 18763 }, /* kana_WA */
+    { 0x000004dd, 18498 }, /* kana_N */
+    { 0x000004de, 26601 }, /* voicedsound */
+    { 0x000004df, 22826 }, /* semivoicedsound */
     { 0x000005ac, 1109 }, /* Arabic_comma */
     { 0x000005bb, 1764 }, /* Arabic_semicolon */
     { 0x000005bf, 1698 }, /* Arabic_question_mark */
@@ -5258,555 +5864,555 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x000005f0, 1515 }, /* Arabic_kasra */
     { 0x000005f1, 1781 }, /* Arabic_shadda */
     { 0x000005f2, 1808 }, /* Arabic_sukun */
-    { 0x000006a1, 22760 }, /* Serbian_dje */
-    { 0x000006a2, 19585 }, /* Macedonia_gje */
-    { 0x000006a3, 9456 }, /* Cyrillic_io */
-    { 0x000006a4, 26199 }, /* Ukrainian_ie */
-    { 0x000006a5, 19557 }, /* Macedonia_dse */
-    { 0x000006a6, 26175 }, /* Ukrainian_i */
-    { 0x000006a7, 26225 }, /* Ukrainian_yi */
-    { 0x000006a8, 9480 }, /* Cyrillic_je */
-    { 0x000006a9, 9618 }, /* Cyrillic_lje */
-    { 0x000006aa, 9644 }, /* Cyrillic_nje */
-    { 0x000006ab, 22878 }, /* Serbian_tshe */
-    { 0x000006ac, 19613 }, /* Macedonia_kje */
-    { 0x000006ad, 26123 }, /* Ukrainian_ghe_with_upturn */
+    { 0x000006a1, 22842 }, /* Serbian_dje */
+    { 0x000006a2, 19667 }, /* Macedonia_gje */
+    { 0x000006a3, 9538 }, /* Cyrillic_io */
+    { 0x000006a4, 26281 }, /* Ukrainian_ie */
+    { 0x000006a5, 19639 }, /* Macedonia_dse */
+    { 0x000006a6, 26257 }, /* Ukrainian_i */
+    { 0x000006a7, 26307 }, /* Ukrainian_yi */
+    { 0x000006a8, 9562 }, /* Cyrillic_je */
+    { 0x000006a9, 9700 }, /* Cyrillic_lje */
+    { 0x000006aa, 9726 }, /* Cyrillic_nje */
+    { 0x000006ab, 22960 }, /* Serbian_tshe */
+    { 0x000006ac, 19695 }, /* Macedonia_kje */
+    { 0x000006ad, 26205 }, /* Ukrainian_ghe_with_upturn */
     { 0x000006ae, 8399 }, /* Byelorussian_shortu */
-    { 0x000006af, 8972 }, /* Cyrillic_dzhe */
-    { 0x000006b0, 20189 }, /* numerosign */
-    { 0x000006b1, 22772 }, /* Serbian_DJE */
-    { 0x000006b2, 19599 }, /* Macedonia_GJE */
-    { 0x000006b3, 9468 }, /* Cyrillic_IO */
-    { 0x000006b4, 26212 }, /* Ukrainian_IE */
-    { 0x000006b5, 19571 }, /* Macedonia_DSE */
-    { 0x000006b6, 26187 }, /* Ukrainian_I */
-    { 0x000006b7, 26238 }, /* Ukrainian_YI */
-    { 0x000006b8, 9492 }, /* Cyrillic_JE */
-    { 0x000006b9, 9631 }, /* Cyrillic_LJE */
-    { 0x000006ba, 9657 }, /* Cyrillic_NJE */
-    { 0x000006bb, 22891 }, /* Serbian_TSHE */
-    { 0x000006bc, 19627 }, /* Macedonia_KJE */
-    { 0x000006bd, 26149 }, /* Ukrainian_GHE_WITH_UPTURN */
+    { 0x000006af, 9054 }, /* Cyrillic_dzhe */
+    { 0x000006b0, 20271 }, /* numerosign */
+    { 0x000006b1, 22854 }, /* Serbian_DJE */
+    { 0x000006b2, 19681 }, /* Macedonia_GJE */
+    { 0x000006b3, 9550 }, /* Cyrillic_IO */
+    { 0x000006b4, 26294 }, /* Ukrainian_IE */
+    { 0x000006b5, 19653 }, /* Macedonia_DSE */
+    { 0x000006b6, 26269 }, /* Ukrainian_I */
+    { 0x000006b7, 26320 }, /* Ukrainian_YI */
+    { 0x000006b8, 9574 }, /* Cyrillic_JE */
+    { 0x000006b9, 9713 }, /* Cyrillic_LJE */
+    { 0x000006ba, 9739 }, /* Cyrillic_NJE */
+    { 0x000006bb, 22973 }, /* Serbian_TSHE */
+    { 0x000006bc, 19709 }, /* Macedonia_KJE */
+    { 0x000006bd, 26231 }, /* Ukrainian_GHE_WITH_UPTURN */
     { 0x000006be, 8419 }, /* Byelorussian_SHORTU */
-    { 0x000006bf, 8986 }, /* Cyrillic_DZHE */
-    { 0x000006c0, 10200 }, /* Cyrillic_yu */
-    { 0x000006c1, 8782 }, /* Cyrillic_a */
-    { 0x000006c2, 8804 }, /* Cyrillic_be */
-    { 0x000006c3, 9952 }, /* Cyrillic_tse */
-    { 0x000006c4, 8948 }, /* Cyrillic_de */
-    { 0x000006c5, 9432 }, /* Cyrillic_ie */
-    { 0x000006c6, 9022 }, /* Cyrillic_ef */
-    { 0x000006c7, 9210 }, /* Cyrillic_ghe */
-    { 0x000006c8, 9270 }, /* Cyrillic_ha */
-    { 0x000006c9, 9374 }, /* Cyrillic_i */
-    { 0x000006ca, 9860 }, /* Cyrillic_shorti */
-    { 0x000006cb, 9504 }, /* Cyrillic_ka */
-    { 0x000006cc, 9046 }, /* Cyrillic_el */
-    { 0x000006cd, 9070 }, /* Cyrillic_em */
-    { 0x000006ce, 9094 }, /* Cyrillic_en */
-    { 0x000006cf, 9670 }, /* Cyrillic_o */
-    { 0x000006d0, 9722 }, /* Cyrillic_pe */
-    { 0x000006d1, 10148 }, /* Cyrillic_ya */
-    { 0x000006d2, 9162 }, /* Cyrillic_er */
-    { 0x000006d3, 9186 }, /* Cyrillic_es */
-    { 0x000006d4, 9928 }, /* Cyrillic_te */
-    { 0x000006d5, 9978 }, /* Cyrillic_u */
-    { 0x000006d6, 10248 }, /* Cyrillic_zhe */
-    { 0x000006d7, 10124 }, /* Cyrillic_ve */
-    { 0x000006d8, 9892 }, /* Cyrillic_softsign */
-    { 0x000006d9, 10172 }, /* Cyrillic_yeru */
-    { 0x000006da, 10224 }, /* Cyrillic_ze */
-    { 0x000006db, 9776 }, /* Cyrillic_sha */
-    { 0x000006dc, 9000 }, /* Cyrillic_e */
-    { 0x000006dd, 9802 }, /* Cyrillic_shcha */
-    { 0x000006de, 8828 }, /* Cyrillic_che */
-    { 0x000006df, 9338 }, /* Cyrillic_hardsign */
-    { 0x000006e0, 10212 }, /* Cyrillic_YU */
-    { 0x000006e1, 8793 }, /* Cyrillic_A */
-    { 0x000006e2, 8816 }, /* Cyrillic_BE */
-    { 0x000006e3, 9965 }, /* Cyrillic_TSE */
-    { 0x000006e4, 8960 }, /* Cyrillic_DE */
-    { 0x000006e5, 9444 }, /* Cyrillic_IE */
-    { 0x000006e6, 9034 }, /* Cyrillic_EF */
-    { 0x000006e7, 9223 }, /* Cyrillic_GHE */
-    { 0x000006e8, 9282 }, /* Cyrillic_HA */
-    { 0x000006e9, 9385 }, /* Cyrillic_I */
-    { 0x000006ea, 9876 }, /* Cyrillic_SHORTI */
-    { 0x000006eb, 9516 }, /* Cyrillic_KA */
-    { 0x000006ec, 9058 }, /* Cyrillic_EL */
-    { 0x000006ed, 9082 }, /* Cyrillic_EM */
-    { 0x000006ee, 9106 }, /* Cyrillic_EN */
-    { 0x000006ef, 9681 }, /* Cyrillic_O */
-    { 0x000006f0, 9734 }, /* Cyrillic_PE */
-    { 0x000006f1, 10160 }, /* Cyrillic_YA */
-    { 0x000006f2, 9174 }, /* Cyrillic_ER */
-    { 0x000006f3, 9198 }, /* Cyrillic_ES */
-    { 0x000006f4, 9940 }, /* Cyrillic_TE */
-    { 0x000006f5, 9989 }, /* Cyrillic_U */
-    { 0x000006f6, 10261 }, /* Cyrillic_ZHE */
-    { 0x000006f7, 10136 }, /* Cyrillic_VE */
-    { 0x000006f8, 9910 }, /* Cyrillic_SOFTSIGN */
-    { 0x000006f9, 10186 }, /* Cyrillic_YERU */
-    { 0x000006fa, 10236 }, /* Cyrillic_ZE */
-    { 0x000006fb, 9789 }, /* Cyrillic_SHA */
-    { 0x000006fc, 9011 }, /* Cyrillic_E */
-    { 0x000006fd, 9817 }, /* Cyrillic_SHCHA */
-    { 0x000006fe, 8841 }, /* Cyrillic_CHE */
-    { 0x000006ff, 9356 }, /* Cyrillic_HARDSIGN */
-    { 0x000007a1, 13342 }, /* Greek_ALPHAaccent */
-    { 0x000007a2, 13472 }, /* Greek_EPSILONaccent */
-    { 0x000007a3, 13532 }, /* Greek_ETAaccent */
-    { 0x000007a4, 13647 }, /* Greek_IOTAaccent */
-    { 0x000007a5, 13726 }, /* Greek_IOTAdieresis */
-    { 0x000007a7, 13962 }, /* Greek_OMICRONaccent */
-    { 0x000007a8, 14189 }, /* Greek_UPSILONaccent */
-    { 0x000007a9, 14257 }, /* Greek_UPSILONdieresis */
-    { 0x000007ab, 13898 }, /* Greek_OMEGAaccent */
-    { 0x000007ae, 13297 }, /* Greek_accentdieresis */
-    { 0x000007af, 13610 }, /* Greek_horizbar */
-    { 0x000007b1, 13360 }, /* Greek_alphaaccent */
-    { 0x000007b2, 13492 }, /* Greek_epsilonaccent */
-    { 0x000007b3, 13548 }, /* Greek_etaaccent */
-    { 0x000007b4, 13664 }, /* Greek_iotaaccent */
-    { 0x000007b5, 13745 }, /* Greek_iotadieresis */
-    { 0x000007b6, 13681 }, /* Greek_iotaaccentdieresis */
-    { 0x000007b7, 13982 }, /* Greek_omicronaccent */
-    { 0x000007b8, 14209 }, /* Greek_upsilonaccent */
-    { 0x000007b9, 14279 }, /* Greek_upsilondieresis */
-    { 0x000007ba, 14229 }, /* Greek_upsilonaccentdieresis */
-    { 0x000007bb, 13916 }, /* Greek_omegaaccent */
-    { 0x000007c1, 13318 }, /* Greek_ALPHA */
-    { 0x000007c2, 13378 }, /* Greek_BETA */
-    { 0x000007c3, 13586 }, /* Greek_GAMMA */
-    { 0x000007c4, 13420 }, /* Greek_DELTA */
-    { 0x000007c5, 13444 }, /* Greek_EPSILON */
-    { 0x000007c6, 14319 }, /* Greek_ZETA */
-    { 0x000007c7, 13512 }, /* Greek_ETA */
-    { 0x000007c8, 14137 }, /* Greek_THETA */
-    { 0x000007c9, 13625 }, /* Greek_IOTA */
-    { 0x000007ca, 13764 }, /* Greek_KAPPA */
-    { 0x000007cb, 13814 }, /* Greek_LAMDA */
-    { 0x000007cc, 13838 }, /* Greek_MU */
-    { 0x000007cd, 13856 }, /* Greek_NU */
-    { 0x000007ce, 14301 }, /* Greek_XI */
-    { 0x000007cf, 13934 }, /* Greek_OMICRON */
-    { 0x000007d0, 14022 }, /* Greek_PI */
-    { 0x000007d1, 14060 }, /* Greek_RHO */
-    { 0x000007d2, 14080 }, /* Greek_SIGMA */
-    { 0x000007d4, 14117 }, /* Greek_TAU */
-    { 0x000007d5, 14161 }, /* Greek_UPSILON */
-    { 0x000007d6, 14002 }, /* Greek_PHI */
-    { 0x000007d7, 13400 }, /* Greek_CHI */
-    { 0x000007d8, 14040 }, /* Greek_PSI */
-    { 0x000007d9, 13874 }, /* Greek_OMEGA */
-    { 0x000007e1, 13330 }, /* Greek_alpha */
-    { 0x000007e2, 13389 }, /* Greek_beta */
-    { 0x000007e3, 13598 }, /* Greek_gamma */
-    { 0x000007e4, 13432 }, /* Greek_delta */
-    { 0x000007e5, 13458 }, /* Greek_epsilon */
-    { 0x000007e6, 14330 }, /* Greek_zeta */
-    { 0x000007e7, 13522 }, /* Greek_eta */
-    { 0x000007e8, 14149 }, /* Greek_theta */
-    { 0x000007e9, 13636 }, /* Greek_iota */
-    { 0x000007ea, 13776 }, /* Greek_kappa */
-    { 0x000007eb, 13826 }, /* Greek_lamda */
-    { 0x000007ec, 13847 }, /* Greek_mu */
-    { 0x000007ed, 13865 }, /* Greek_nu */
-    { 0x000007ee, 14310 }, /* Greek_xi */
-    { 0x000007ef, 13948 }, /* Greek_omicron */
-    { 0x000007f0, 14031 }, /* Greek_pi */
-    { 0x000007f1, 14070 }, /* Greek_rho */
-    { 0x000007f2, 14092 }, /* Greek_sigma */
-    { 0x000007f3, 13564 }, /* Greek_finalsmallsigma */
-    { 0x000007f4, 14127 }, /* Greek_tau */
-    { 0x000007f5, 14175 }, /* Greek_upsilon */
-    { 0x000007f6, 14012 }, /* Greek_phi */
-    { 0x000007f7, 13410 }, /* Greek_chi */
-    { 0x000007f8, 14050 }, /* Greek_psi */
-    { 0x000007f9, 13886 }, /* Greek_omega */
-    { 0x000008a1, 19356 }, /* leftradical */
-    { 0x000008a2, 25621 }, /* topleftradical */
-    { 0x000008a3, 16667 }, /* horizconnector */
-    { 0x000008a4, 25595 }, /* topintegral */
+    { 0x000006bf, 9068 }, /* Cyrillic_DZHE */
+    { 0x000006c0, 10282 }, /* Cyrillic_yu */
+    { 0x000006c1, 8864 }, /* Cyrillic_a */
+    { 0x000006c2, 8886 }, /* Cyrillic_be */
+    { 0x000006c3, 10034 }, /* Cyrillic_tse */
+    { 0x000006c4, 9030 }, /* Cyrillic_de */
+    { 0x000006c5, 9514 }, /* Cyrillic_ie */
+    { 0x000006c6, 9104 }, /* Cyrillic_ef */
+    { 0x000006c7, 9292 }, /* Cyrillic_ghe */
+    { 0x000006c8, 9352 }, /* Cyrillic_ha */
+    { 0x000006c9, 9456 }, /* Cyrillic_i */
+    { 0x000006ca, 9942 }, /* Cyrillic_shorti */
+    { 0x000006cb, 9586 }, /* Cyrillic_ka */
+    { 0x000006cc, 9128 }, /* Cyrillic_el */
+    { 0x000006cd, 9152 }, /* Cyrillic_em */
+    { 0x000006ce, 9176 }, /* Cyrillic_en */
+    { 0x000006cf, 9752 }, /* Cyrillic_o */
+    { 0x000006d0, 9804 }, /* Cyrillic_pe */
+    { 0x000006d1, 10230 }, /* Cyrillic_ya */
+    { 0x000006d2, 9244 }, /* Cyrillic_er */
+    { 0x000006d3, 9268 }, /* Cyrillic_es */
+    { 0x000006d4, 10010 }, /* Cyrillic_te */
+    { 0x000006d5, 10060 }, /* Cyrillic_u */
+    { 0x000006d6, 10330 }, /* Cyrillic_zhe */
+    { 0x000006d7, 10206 }, /* Cyrillic_ve */
+    { 0x000006d8, 9974 }, /* Cyrillic_softsign */
+    { 0x000006d9, 10254 }, /* Cyrillic_yeru */
+    { 0x000006da, 10306 }, /* Cyrillic_ze */
+    { 0x000006db, 9858 }, /* Cyrillic_sha */
+    { 0x000006dc, 9082 }, /* Cyrillic_e */
+    { 0x000006dd, 9884 }, /* Cyrillic_shcha */
+    { 0x000006de, 8910 }, /* Cyrillic_che */
+    { 0x000006df, 9420 }, /* Cyrillic_hardsign */
+    { 0x000006e0, 10294 }, /* Cyrillic_YU */
+    { 0x000006e1, 8875 }, /* Cyrillic_A */
+    { 0x000006e2, 8898 }, /* Cyrillic_BE */
+    { 0x000006e3, 10047 }, /* Cyrillic_TSE */
+    { 0x000006e4, 9042 }, /* Cyrillic_DE */
+    { 0x000006e5, 9526 }, /* Cyrillic_IE */
+    { 0x000006e6, 9116 }, /* Cyrillic_EF */
+    { 0x000006e7, 9305 }, /* Cyrillic_GHE */
+    { 0x000006e8, 9364 }, /* Cyrillic_HA */
+    { 0x000006e9, 9467 }, /* Cyrillic_I */
+    { 0x000006ea, 9958 }, /* Cyrillic_SHORTI */
+    { 0x000006eb, 9598 }, /* Cyrillic_KA */
+    { 0x000006ec, 9140 }, /* Cyrillic_EL */
+    { 0x000006ed, 9164 }, /* Cyrillic_EM */
+    { 0x000006ee, 9188 }, /* Cyrillic_EN */
+    { 0x000006ef, 9763 }, /* Cyrillic_O */
+    { 0x000006f0, 9816 }, /* Cyrillic_PE */
+    { 0x000006f1, 10242 }, /* Cyrillic_YA */
+    { 0x000006f2, 9256 }, /* Cyrillic_ER */
+    { 0x000006f3, 9280 }, /* Cyrillic_ES */
+    { 0x000006f4, 10022 }, /* Cyrillic_TE */
+    { 0x000006f5, 10071 }, /* Cyrillic_U */
+    { 0x000006f6, 10343 }, /* Cyrillic_ZHE */
+    { 0x000006f7, 10218 }, /* Cyrillic_VE */
+    { 0x000006f8, 9992 }, /* Cyrillic_SOFTSIGN */
+    { 0x000006f9, 10268 }, /* Cyrillic_YERU */
+    { 0x000006fa, 10318 }, /* Cyrillic_ZE */
+    { 0x000006fb, 9871 }, /* Cyrillic_SHA */
+    { 0x000006fc, 9093 }, /* Cyrillic_E */
+    { 0x000006fd, 9899 }, /* Cyrillic_SHCHA */
+    { 0x000006fe, 8923 }, /* Cyrillic_CHE */
+    { 0x000006ff, 9438 }, /* Cyrillic_HARDSIGN */
+    { 0x000007a1, 13424 }, /* Greek_ALPHAaccent */
+    { 0x000007a2, 13554 }, /* Greek_EPSILONaccent */
+    { 0x000007a3, 13614 }, /* Greek_ETAaccent */
+    { 0x000007a4, 13729 }, /* Greek_IOTAaccent */
+    { 0x000007a5, 13808 }, /* Greek_IOTAdieresis */
+    { 0x000007a7, 14044 }, /* Greek_OMICRONaccent */
+    { 0x000007a8, 14271 }, /* Greek_UPSILONaccent */
+    { 0x000007a9, 14339 }, /* Greek_UPSILONdieresis */
+    { 0x000007ab, 13980 }, /* Greek_OMEGAaccent */
+    { 0x000007ae, 13379 }, /* Greek_accentdieresis */
+    { 0x000007af, 13692 }, /* Greek_horizbar */
+    { 0x000007b1, 13442 }, /* Greek_alphaaccent */
+    { 0x000007b2, 13574 }, /* Greek_epsilonaccent */
+    { 0x000007b3, 13630 }, /* Greek_etaaccent */
+    { 0x000007b4, 13746 }, /* Greek_iotaaccent */
+    { 0x000007b5, 13827 }, /* Greek_iotadieresis */
+    { 0x000007b6, 13763 }, /* Greek_iotaaccentdieresis */
+    { 0x000007b7, 14064 }, /* Greek_omicronaccent */
+    { 0x000007b8, 14291 }, /* Greek_upsilonaccent */
+    { 0x000007b9, 14361 }, /* Greek_upsilondieresis */
+    { 0x000007ba, 14311 }, /* Greek_upsilonaccentdieresis */
+    { 0x000007bb, 13998 }, /* Greek_omegaaccent */
+    { 0x000007c1, 13400 }, /* Greek_ALPHA */
+    { 0x000007c2, 13460 }, /* Greek_BETA */
+    { 0x000007c3, 13668 }, /* Greek_GAMMA */
+    { 0x000007c4, 13502 }, /* Greek_DELTA */
+    { 0x000007c5, 13526 }, /* Greek_EPSILON */
+    { 0x000007c6, 14401 }, /* Greek_ZETA */
+    { 0x000007c7, 13594 }, /* Greek_ETA */
+    { 0x000007c8, 14219 }, /* Greek_THETA */
+    { 0x000007c9, 13707 }, /* Greek_IOTA */
+    { 0x000007ca, 13846 }, /* Greek_KAPPA */
+    { 0x000007cb, 13896 }, /* Greek_LAMDA */
+    { 0x000007cc, 13920 }, /* Greek_MU */
+    { 0x000007cd, 13938 }, /* Greek_NU */
+    { 0x000007ce, 14383 }, /* Greek_XI */
+    { 0x000007cf, 14016 }, /* Greek_OMICRON */
+    { 0x000007d0, 14104 }, /* Greek_PI */
+    { 0x000007d1, 14142 }, /* Greek_RHO */
+    { 0x000007d2, 14162 }, /* Greek_SIGMA */
+    { 0x000007d4, 14199 }, /* Greek_TAU */
+    { 0x000007d5, 14243 }, /* Greek_UPSILON */
+    { 0x000007d6, 14084 }, /* Greek_PHI */
+    { 0x000007d7, 13482 }, /* Greek_CHI */
+    { 0x000007d8, 14122 }, /* Greek_PSI */
+    { 0x000007d9, 13956 }, /* Greek_OMEGA */
+    { 0x000007e1, 13412 }, /* Greek_alpha */
+    { 0x000007e2, 13471 }, /* Greek_beta */
+    { 0x000007e3, 13680 }, /* Greek_gamma */
+    { 0x000007e4, 13514 }, /* Greek_delta */
+    { 0x000007e5, 13540 }, /* Greek_epsilon */
+    { 0x000007e6, 14412 }, /* Greek_zeta */
+    { 0x000007e7, 13604 }, /* Greek_eta */
+    { 0x000007e8, 14231 }, /* Greek_theta */
+    { 0x000007e9, 13718 }, /* Greek_iota */
+    { 0x000007ea, 13858 }, /* Greek_kappa */
+    { 0x000007eb, 13908 }, /* Greek_lamda */
+    { 0x000007ec, 13929 }, /* Greek_mu */
+    { 0x000007ed, 13947 }, /* Greek_nu */
+    { 0x000007ee, 14392 }, /* Greek_xi */
+    { 0x000007ef, 14030 }, /* Greek_omicron */
+    { 0x000007f0, 14113 }, /* Greek_pi */
+    { 0x000007f1, 14152 }, /* Greek_rho */
+    { 0x000007f2, 14174 }, /* Greek_sigma */
+    { 0x000007f3, 13646 }, /* Greek_finalsmallsigma */
+    { 0x000007f4, 14209 }, /* Greek_tau */
+    { 0x000007f5, 14257 }, /* Greek_upsilon */
+    { 0x000007f6, 14094 }, /* Greek_phi */
+    { 0x000007f7, 13492 }, /* Greek_chi */
+    { 0x000007f8, 14132 }, /* Greek_psi */
+    { 0x000007f9, 13968 }, /* Greek_omega */
+    { 0x000008a1, 19438 }, /* leftradical */
+    { 0x000008a2, 25703 }, /* topleftradical */
+    { 0x000008a3, 16749 }, /* horizconnector */
+    { 0x000008a4, 25677 }, /* topintegral */
     { 0x000008a5, 3422 }, /* botintegral */
-    { 0x000008a6, 26505 }, /* vertconnector */
-    { 0x000008a7, 25636 }, /* topleftsqbracket */
+    { 0x000008a6, 26587 }, /* vertconnector */
+    { 0x000008a7, 25718 }, /* topleftsqbracket */
     { 0x000008a8, 3448 }, /* botleftsqbracket */
-    { 0x000008a9, 25685 }, /* toprightsqbracket */
+    { 0x000008a9, 25767 }, /* toprightsqbracket */
     { 0x000008aa, 3497 }, /* botrightsqbracket */
-    { 0x000008ab, 25607 }, /* topleftparens */
+    { 0x000008ab, 25689 }, /* topleftparens */
     { 0x000008ac, 3434 }, /* botleftparens */
-    { 0x000008ad, 25670 }, /* toprightparens */
+    { 0x000008ad, 25752 }, /* toprightparens */
     { 0x000008ae, 3482 }, /* botrightparens */
-    { 0x000008af, 19306 }, /* leftmiddlecurlybrace */
-    { 0x000008b0, 22440 }, /* rightmiddlecurlybrace */
-    { 0x000008b1, 25653 }, /* topleftsummation */
+    { 0x000008af, 19388 }, /* leftmiddlecurlybrace */
+    { 0x000008b0, 22522 }, /* rightmiddlecurlybrace */
+    { 0x000008b1, 25735 }, /* topleftsummation */
     { 0x000008b2, 3465 }, /* botleftsummation */
-    { 0x000008b3, 25726 }, /* topvertsummationconnector */
+    { 0x000008b3, 25808 }, /* topvertsummationconnector */
     { 0x000008b4, 3538 }, /* botvertsummationconnector */
-    { 0x000008b5, 25703 }, /* toprightsummation */
+    { 0x000008b5, 25785 }, /* toprightsummation */
     { 0x000008b6, 3515 }, /* botrightsummation */
-    { 0x000008b7, 22462 }, /* rightmiddlesummation */
-    { 0x000008bc, 19417 }, /* lessthanequal */
-    { 0x000008bd, 20125 }, /* notequal */
-    { 0x000008be, 13280 }, /* greaterthanequal */
-    { 0x000008bf, 17313 }, /* integral */
-    { 0x000008c0, 25479 }, /* therefore */
-    { 0x000008c1, 26487 }, /* variation */
-    { 0x000008c2, 17275 }, /* infinity */
-    { 0x000008c5, 19947 }, /* nabla */
+    { 0x000008b7, 22544 }, /* rightmiddlesummation */
+    { 0x000008bc, 19499 }, /* lessthanequal */
+    { 0x000008bd, 20207 }, /* notequal */
+    { 0x000008be, 13362 }, /* greaterthanequal */
+    { 0x000008bf, 17395 }, /* integral */
+    { 0x000008c0, 25561 }, /* therefore */
+    { 0x000008c1, 26569 }, /* variation */
+    { 0x000008c2, 17357 }, /* infinity */
+    { 0x000008c5, 20029 }, /* nabla */
     { 0x000008c8, 954 }, /* approximate */
-    { 0x000008c9, 22999 }, /* similarequal */
-    { 0x000008cd, 17196 }, /* ifonlyif */
-    { 0x000008ce, 17247 }, /* implies */
-    { 0x000008cf, 17155 }, /* identical */
-    { 0x000008d6, 22286 }, /* radical */
-    { 0x000008da, 17255 }, /* includedin */
-    { 0x000008db, 17266 }, /* includes */
-    { 0x000008dc, 17322 }, /* intersection */
-    { 0x000008dd, 26362 }, /* union */
-    { 0x000008de, 19457 }, /* logicaland */
-    { 0x000008df, 19468 }, /* logicalor */
-    { 0x000008ef, 21463 }, /* partialderivative */
-    { 0x000008f6, 12656 }, /* function */
-    { 0x000008fb, 19266 }, /* leftarrow */
-    { 0x000008fc, 26387 }, /* uparrow */
-    { 0x000008fd, 22397 }, /* rightarrow */
-    { 0x000008fe, 11332 }, /* downarrow */
+    { 0x000008c9, 23081 }, /* similarequal */
+    { 0x000008cd, 17278 }, /* ifonlyif */
+    { 0x000008ce, 17329 }, /* implies */
+    { 0x000008cf, 17237 }, /* identical */
+    { 0x000008d6, 22368 }, /* radical */
+    { 0x000008da, 17337 }, /* includedin */
+    { 0x000008db, 17348 }, /* includes */
+    { 0x000008dc, 17404 }, /* intersection */
+    { 0x000008dd, 26444 }, /* union */
+    { 0x000008de, 19539 }, /* logicaland */
+    { 0x000008df, 19550 }, /* logicalor */
+    { 0x000008ef, 21545 }, /* partialderivative */
+    { 0x000008f6, 12738 }, /* function */
+    { 0x000008fb, 19348 }, /* leftarrow */
+    { 0x000008fc, 26469 }, /* uparrow */
+    { 0x000008fd, 22479 }, /* rightarrow */
+    { 0x000008fe, 11414 }, /* downarrow */
     { 0x000009df, 3410 }, /* blank */
-    { 0x000009e0, 23790 }, /* soliddiamond */
+    { 0x000009e0, 23872 }, /* soliddiamond */
     { 0x000009e1, 8603 }, /* checkerboard */
-    { 0x000009e2, 17043 }, /* ht */
-    { 0x000009e3, 12413 }, /* ff */
-    { 0x000009e4, 8727 }, /* cr */
-    { 0x000009e5, 19431 }, /* lf */
-    { 0x000009e8, 20075 }, /* nl */
-    { 0x000009e9, 26542 }, /* vt */
-    { 0x000009ea, 19502 }, /* lowrightcorner */
-    { 0x000009eb, 26416 }, /* uprightcorner */
-    { 0x000009ec, 26403 }, /* upleftcorner */
-    { 0x000009ed, 19488 }, /* lowleftcorner */
-    { 0x000009ee, 8730 }, /* crossinglines */
-    { 0x000009ef, 16682 }, /* horizlinescan1 */
-    { 0x000009f0, 16697 }, /* horizlinescan3 */
-    { 0x000009f1, 16712 }, /* horizlinescan5 */
-    { 0x000009f2, 16727 }, /* horizlinescan7 */
-    { 0x000009f3, 16742 }, /* horizlinescan9 */
-    { 0x000009f4, 19397 }, /* leftt */
-    { 0x000009f5, 22545 }, /* rightt */
+    { 0x000009e2, 17125 }, /* ht */
+    { 0x000009e3, 12495 }, /* ff */
+    { 0x000009e4, 8809 }, /* cr */
+    { 0x000009e5, 19513 }, /* lf */
+    { 0x000009e8, 20157 }, /* nl */
+    { 0x000009e9, 26624 }, /* vt */
+    { 0x000009ea, 19584 }, /* lowrightcorner */
+    { 0x000009eb, 26498 }, /* uprightcorner */
+    { 0x000009ec, 26485 }, /* upleftcorner */
+    { 0x000009ed, 19570 }, /* lowleftcorner */
+    { 0x000009ee, 8812 }, /* crossinglines */
+    { 0x000009ef, 16764 }, /* horizlinescan1 */
+    { 0x000009f0, 16779 }, /* horizlinescan3 */
+    { 0x000009f1, 16794 }, /* horizlinescan5 */
+    { 0x000009f2, 16809 }, /* horizlinescan7 */
+    { 0x000009f3, 16824 }, /* horizlinescan9 */
+    { 0x000009f4, 19479 }, /* leftt */
+    { 0x000009f5, 22627 }, /* rightt */
     { 0x000009f6, 3533 }, /* bott */
-    { 0x000009f7, 25721 }, /* topt */
-    { 0x000009f8, 26497 }, /* vertbar */
-    { 0x00000aa1, 11928 }, /* emspace */
-    { 0x00000aa2, 12027 }, /* enspace */
-    { 0x00000aa3, 11821 }, /* em3space */
-    { 0x00000aa4, 11830 }, /* em4space */
-    { 0x00000aa5, 11221 }, /* digitspace */
-    { 0x00000aa6, 22145 }, /* punctspace */
-    { 0x00000aa7, 25489 }, /* thinspace */
-    { 0x00000aa8, 14382 }, /* hairspace */
-    { 0x00000aa9, 11855 }, /* emdash */
-    { 0x00000aaa, 11940 }, /* endash */
-    { 0x00000aac, 22987 }, /* signifblank */
-    { 0x00000aae, 11812 }, /* ellipsis */
-    { 0x00000aaf, 11267 }, /* doubbaselinedot */
-    { 0x00000ab0, 20767 }, /* onethird */
-    { 0x00000ab1, 25837 }, /* twothirds */
-    { 0x00000ab2, 20705 }, /* onefifth */
-    { 0x00000ab3, 25802 }, /* twofifths */
-    { 0x00000ab4, 25530 }, /* threefifths */
-    { 0x00000ab5, 12607 }, /* fourfifths */
-    { 0x00000ab6, 20733 }, /* onesixth */
-    { 0x00000ab7, 12569 }, /* fivesixths */
+    { 0x000009f7, 25803 }, /* topt */
+    { 0x000009f8, 26579 }, /* vertbar */
+    { 0x00000aa1, 12010 }, /* emspace */
+    { 0x00000aa2, 12109 }, /* enspace */
+    { 0x00000aa3, 11903 }, /* em3space */
+    { 0x00000aa4, 11912 }, /* em4space */
+    { 0x00000aa5, 11303 }, /* digitspace */
+    { 0x00000aa6, 22227 }, /* punctspace */
+    { 0x00000aa7, 25571 }, /* thinspace */
+    { 0x00000aa8, 14464 }, /* hairspace */
+    { 0x00000aa9, 11937 }, /* emdash */
+    { 0x00000aaa, 12022 }, /* endash */
+    { 0x00000aac, 23069 }, /* signifblank */
+    { 0x00000aae, 11894 }, /* ellipsis */
+    { 0x00000aaf, 11349 }, /* doubbaselinedot */
+    { 0x00000ab0, 20849 }, /* onethird */
+    { 0x00000ab1, 25919 }, /* twothirds */
+    { 0x00000ab2, 20787 }, /* onefifth */
+    { 0x00000ab3, 25884 }, /* twofifths */
+    { 0x00000ab4, 25612 }, /* threefifths */
+    { 0x00000ab5, 12689 }, /* fourfifths */
+    { 0x00000ab6, 20815 }, /* onesixth */
+    { 0x00000ab7, 12651 }, /* fivesixths */
     { 0x00000ab8, 8506 }, /* careof */
-    { 0x00000abb, 12427 }, /* figdash */
-    { 0x00000abc, 19249 }, /* leftanglebracket */
-    { 0x00000abd, 11140 }, /* decimalpoint */
-    { 0x00000abe, 22379 }, /* rightanglebracket */
-    { 0x00000abf, 19681 }, /* marker */
-    { 0x00000ac3, 20695 }, /* oneeighth */
-    { 0x00000ac4, 25517 }, /* threeeighths */
-    { 0x00000ac5, 12557 }, /* fiveeighths */
-    { 0x00000ac6, 22904 }, /* seveneighths */
-    { 0x00000ac9, 25760 }, /* trademark */
-    { 0x00000aca, 22973 }, /* signaturemark */
-    { 0x00000acb, 25770 }, /* trademarkincircle */
-    { 0x00000acc, 19327 }, /* leftopentriangle */
-    { 0x00000acd, 22483 }, /* rightopentriangle */
-    { 0x00000ace, 11890 }, /* emopencircle */
-    { 0x00000acf, 11903 }, /* emopenrectangle */
-    { 0x00000ad0, 19377 }, /* leftsinglequotemark */
-    { 0x00000ad1, 22524 }, /* rightsinglequotemark */
-    { 0x00000ad2, 19286 }, /* leftdoublequotemark */
-    { 0x00000ad3, 22419 }, /* rightdoublequotemark */
-    { 0x00000ad4, 22067 }, /* prescription */
-    { 0x00000ad5, 21517 }, /* permille */
-    { 0x00000ad6, 19739 }, /* minutes */
-    { 0x00000ad7, 22711 }, /* seconds */
-    { 0x00000ad9, 19181 }, /* latincross */
-    { 0x00000ada, 16626 }, /* hexagram */
-    { 0x00000adb, 12455 }, /* filledrectbullet */
-    { 0x00000adc, 12435 }, /* filledlefttribullet */
-    { 0x00000add, 12472 }, /* filledrighttribullet */
-    { 0x00000ade, 11862 }, /* emfilledcircle */
-    { 0x00000adf, 11877 }, /* emfilledrect */
-    { 0x00000ae0, 11991 }, /* enopencircbullet */
-    { 0x00000ae1, 12008 }, /* enopensquarebullet */
-    { 0x00000ae2, 20794 }, /* openrectbullet */
-    { 0x00000ae3, 20836 }, /* opentribulletup */
-    { 0x00000ae4, 20818 }, /* opentribulletdown */
-    { 0x00000ae5, 20809 }, /* openstar */
-    { 0x00000ae6, 11947 }, /* enfilledcircbullet */
-    { 0x00000ae7, 11966 }, /* enfilledsqbullet */
-    { 0x00000ae8, 12513 }, /* filledtribulletup */
-    { 0x00000ae9, 12493 }, /* filledtribulletdown */
-    { 0x00000aea, 19344 }, /* leftpointer */
-    { 0x00000aeb, 22501 }, /* rightpointer */
+    { 0x00000abb, 12509 }, /* figdash */
+    { 0x00000abc, 19331 }, /* leftanglebracket */
+    { 0x00000abd, 11222 }, /* decimalpoint */
+    { 0x00000abe, 22461 }, /* rightanglebracket */
+    { 0x00000abf, 19763 }, /* marker */
+    { 0x00000ac3, 20777 }, /* oneeighth */
+    { 0x00000ac4, 25599 }, /* threeeighths */
+    { 0x00000ac5, 12639 }, /* fiveeighths */
+    { 0x00000ac6, 22986 }, /* seveneighths */
+    { 0x00000ac9, 25842 }, /* trademark */
+    { 0x00000aca, 23055 }, /* signaturemark */
+    { 0x00000acb, 25852 }, /* trademarkincircle */
+    { 0x00000acc, 19409 }, /* leftopentriangle */
+    { 0x00000acd, 22565 }, /* rightopentriangle */
+    { 0x00000ace, 11972 }, /* emopencircle */
+    { 0x00000acf, 11985 }, /* emopenrectangle */
+    { 0x00000ad0, 19459 }, /* leftsinglequotemark */
+    { 0x00000ad1, 22606 }, /* rightsinglequotemark */
+    { 0x00000ad2, 19368 }, /* leftdoublequotemark */
+    { 0x00000ad3, 22501 }, /* rightdoublequotemark */
+    { 0x00000ad4, 22149 }, /* prescription */
+    { 0x00000ad5, 21599 }, /* permille */
+    { 0x00000ad6, 19821 }, /* minutes */
+    { 0x00000ad7, 22793 }, /* seconds */
+    { 0x00000ad9, 19263 }, /* latincross */
+    { 0x00000ada, 16708 }, /* hexagram */
+    { 0x00000adb, 12537 }, /* filledrectbullet */
+    { 0x00000adc, 12517 }, /* filledlefttribullet */
+    { 0x00000add, 12554 }, /* filledrighttribullet */
+    { 0x00000ade, 11944 }, /* emfilledcircle */
+    { 0x00000adf, 11959 }, /* emfilledrect */
+    { 0x00000ae0, 12073 }, /* enopencircbullet */
+    { 0x00000ae1, 12090 }, /* enopensquarebullet */
+    { 0x00000ae2, 20876 }, /* openrectbullet */
+    { 0x00000ae3, 20918 }, /* opentribulletup */
+    { 0x00000ae4, 20900 }, /* opentribulletdown */
+    { 0x00000ae5, 20891 }, /* openstar */
+    { 0x00000ae6, 12029 }, /* enfilledcircbullet */
+    { 0x00000ae7, 12048 }, /* enfilledsqbullet */
+    { 0x00000ae8, 12595 }, /* filledtribulletup */
+    { 0x00000ae9, 12575 }, /* filledtribulletdown */
+    { 0x00000aea, 19426 }, /* leftpointer */
+    { 0x00000aeb, 22583 }, /* rightpointer */
     { 0x00000aec, 8649 }, /* club */
-    { 0x00000aed, 11213 }, /* diamond */
-    { 0x00000aee, 16080 }, /* heart */
-    { 0x00000af0, 19668 }, /* maltesecross */
-    { 0x00000af1, 10358 }, /* dagger */
-    { 0x00000af2, 11295 }, /* doubledagger */
+    { 0x00000aed, 11295 }, /* diamond */
+    { 0x00000aee, 16162 }, /* heart */
+    { 0x00000af0, 19750 }, /* maltesecross */
+    { 0x00000af1, 10440 }, /* dagger */
+    { 0x00000af2, 11377 }, /* doubledagger */
     { 0x00000af3, 8616 }, /* checkmark */
     { 0x00000af4, 3380 }, /* ballotcross */
-    { 0x00000af5, 19860 }, /* musicalsharp */
-    { 0x00000af6, 19848 }, /* musicalflat */
-    { 0x00000af7, 19657 }, /* malesymbol */
-    { 0x00000af8, 12400 }, /* femalesymbol */
-    { 0x00000af9, 24354 }, /* telephone */
-    { 0x00000afa, 24364 }, /* telephonerecorder */
-    { 0x00000afb, 21537 }, /* phonographcopyright */
+    { 0x00000af5, 19942 }, /* musicalsharp */
+    { 0x00000af6, 19930 }, /* musicalflat */
+    { 0x00000af7, 19739 }, /* malesymbol */
+    { 0x00000af8, 12482 }, /* femalesymbol */
+    { 0x00000af9, 24436 }, /* telephone */
+    { 0x00000afa, 24446 }, /* telephonerecorder */
+    { 0x00000afb, 21619 }, /* phonographcopyright */
     { 0x00000afc, 8513 }, /* caret */
-    { 0x00000afd, 23028 }, /* singlelowquotemark */
-    { 0x00000afe, 11308 }, /* doublelowquotemark */
-    { 0x00000aff, 8775 }, /* cursor */
-    { 0x00000ba3, 19276 }, /* leftcaret */
-    { 0x00000ba6, 22408 }, /* rightcaret */
-    { 0x00000ba8, 11342 }, /* downcaret */
-    { 0x00000ba9, 26395 }, /* upcaret */
-    { 0x00000bc0, 21324 }, /* overbar */
-    { 0x00000bc2, 11371 }, /* downtack */
-    { 0x00000bc3, 26430 }, /* upshoe */
-    { 0x00000bc4, 11361 }, /* downstile */
-    { 0x00000bc6, 26337 }, /* underbar */
-    { 0x00000bca, 18142 }, /* jot */
-    { 0x00000bcc, 22160 }, /* quad */
-    { 0x00000bce, 26445 }, /* uptack */
+    { 0x00000afd, 23110 }, /* singlelowquotemark */
+    { 0x00000afe, 11390 }, /* doublelowquotemark */
+    { 0x00000aff, 8857 }, /* cursor */
+    { 0x00000ba3, 19358 }, /* leftcaret */
+    { 0x00000ba6, 22490 }, /* rightcaret */
+    { 0x00000ba8, 11424 }, /* downcaret */
+    { 0x00000ba9, 26477 }, /* upcaret */
+    { 0x00000bc0, 21406 }, /* overbar */
+    { 0x00000bc2, 11453 }, /* downtack */
+    { 0x00000bc3, 26512 }, /* upshoe */
+    { 0x00000bc4, 11443 }, /* downstile */
+    { 0x00000bc6, 26419 }, /* underbar */
+    { 0x00000bca, 18224 }, /* jot */
+    { 0x00000bcc, 22242 }, /* quad */
+    { 0x00000bce, 26527 }, /* uptack */
     { 0x00000bcf, 8626 }, /* circle */
-    { 0x00000bd3, 26437 }, /* upstile */
-    { 0x00000bd6, 11352 }, /* downshoe */
-    { 0x00000bd8, 22514 }, /* rightshoe */
-    { 0x00000bda, 19368 }, /* leftshoe */
-    { 0x00000bdc, 19403 }, /* lefttack */
-    { 0x00000bfc, 22552 }, /* righttack */
-    { 0x00000cdf, 16173 }, /* hebrew_doublelowline */
-    { 0x00000ce0, 16086 }, /* hebrew_aleph */
-    { 0x00000ce1, 16111 }, /* hebrew_bet */
-    { 0x00000ce2, 16292 }, /* hebrew_gimel */
-    { 0x00000ce3, 16146 }, /* hebrew_dalet */
-    { 0x00000ce4, 16319 }, /* hebrew_he */
-    { 0x00000ce5, 16531 }, /* hebrew_waw */
-    { 0x00000ce6, 16577 }, /* hebrew_zain */
-    { 0x00000ce7, 16134 }, /* hebrew_chet */
-    { 0x00000ce8, 16508 }, /* hebrew_tet */
-    { 0x00000ce9, 16542 }, /* hebrew_yod */
-    { 0x00000cea, 16194 }, /* hebrew_finalkaph */
-    { 0x00000ceb, 16340 }, /* hebrew_kaph */
-    { 0x00000cec, 16363 }, /* hebrew_lamed */
-    { 0x00000ced, 16211 }, /* hebrew_finalmem */
-    { 0x00000cee, 16376 }, /* hebrew_mem */
-    { 0x00000cef, 16227 }, /* hebrew_finalnun */
-    { 0x00000cf0, 16387 }, /* hebrew_nun */
-    { 0x00000cf1, 16432 }, /* hebrew_samech */
-    { 0x00000cf2, 16099 }, /* hebrew_ayin */
-    { 0x00000cf3, 16243 }, /* hebrew_finalpe */
-    { 0x00000cf4, 16398 }, /* hebrew_pe */
-    { 0x00000cf5, 16258 }, /* hebrew_finalzade */
-    { 0x00000cf6, 16553 }, /* hebrew_zade */
-    { 0x00000cf7, 16408 }, /* hebrew_qoph */
-    { 0x00000cf8, 16420 }, /* hebrew_resh */
-    { 0x00000cf9, 16460 }, /* hebrew_shin */
-    { 0x00000cfa, 16497 }, /* hebrew_taw */
-    { 0x00000da1, 24617 }, /* Thai_kokai */
-    { 0x00000da2, 24547 }, /* Thai_khokhai */
-    { 0x00000da3, 24573 }, /* Thai_khokhuat */
-    { 0x00000da4, 24587 }, /* Thai_khokhwai */
-    { 0x00000da5, 24560 }, /* Thai_khokhon */
-    { 0x00000da6, 24601 }, /* Thai_khorakhang */
-    { 0x00000da7, 24930 }, /* Thai_ngongu */
-    { 0x00000da8, 24423 }, /* Thai_chochan */
-    { 0x00000da9, 24450 }, /* Thai_choching */
-    { 0x00000daa, 24436 }, /* Thai_chochang */
-    { 0x00000dab, 25291 }, /* Thai_soso */
-    { 0x00000dac, 24464 }, /* Thai_chochoe */
-    { 0x00000dad, 25467 }, /* Thai_yoying */
-    { 0x00000dae, 24477 }, /* Thai_dochada */
-    { 0x00000daf, 25420 }, /* Thai_topatak */
-    { 0x00000db0, 25379 }, /* Thai_thothan */
-    { 0x00000db1, 25329 }, /* Thai_thonangmontho */
-    { 0x00000db2, 25348 }, /* Thai_thophuthao */
-    { 0x00000db3, 24956 }, /* Thai_nonen */
-    { 0x00000db4, 24490 }, /* Thai_dodek */
-    { 0x00000db5, 25433 }, /* Thai_totao */
-    { 0x00000db6, 25406 }, /* Thai_thothung */
-    { 0x00000db7, 25364 }, /* Thai_thothahan */
-    { 0x00000db8, 25392 }, /* Thai_thothong */
-    { 0x00000db9, 24967 }, /* Thai_nonu */
-    { 0x00000dba, 24409 }, /* Thai_bobaimai */
-    { 0x00000dbb, 25058 }, /* Thai_popla */
-    { 0x00000dbc, 25028 }, /* Thai_phophung */
-    { 0x00000dbd, 24501 }, /* Thai_fofa */
-    { 0x00000dbe, 25015 }, /* Thai_phophan */
-    { 0x00000dbf, 24511 }, /* Thai_fofan */
-    { 0x00000dc0, 25042 }, /* Thai_phosamphao */
-    { 0x00000dc1, 24920 }, /* Thai_moma */
-    { 0x00000dc2, 25456 }, /* Thai_yoyak */
-    { 0x00000dc3, 25069 }, /* Thai_rorua */
-    { 0x00000dc4, 25080 }, /* Thai_ru */
-    { 0x00000dc5, 24780 }, /* Thai_loling */
-    { 0x00000dc6, 24792 }, /* Thai_lu */
-    { 0x00000dc7, 25444 }, /* Thai_wowaen */
-    { 0x00000dc8, 25279 }, /* Thai_sosala */
-    { 0x00000dc9, 25267 }, /* Thai_sorusi */
-    { 0x00000dca, 25301 }, /* Thai_sosua */
-    { 0x00000dcb, 24522 }, /* Thai_hohip */
-    { 0x00000dcc, 24767 }, /* Thai_lochula */
-    { 0x00000dcd, 24977 }, /* Thai_oang */
-    { 0x00000dce, 24533 }, /* Thai_honokhuk */
-    { 0x00000dcf, 24987 }, /* Thai_paiyannoi */
-    { 0x00000dd0, 25088 }, /* Thai_saraa */
-    { 0x00000dd1, 24828 }, /* Thai_maihanakat */
-    { 0x00000dd2, 25099 }, /* Thai_saraaa */
-    { 0x00000dd3, 25162 }, /* Thai_saraam */
-    { 0x00000dd4, 25185 }, /* Thai_sarai */
-    { 0x00000dd5, 25196 }, /* Thai_saraii */
-    { 0x00000dd6, 25230 }, /* Thai_saraue */
-    { 0x00000dd7, 25242 }, /* Thai_sarauee */
-    { 0x00000dd8, 25219 }, /* Thai_sarau */
-    { 0x00000dd9, 25255 }, /* Thai_sarauu */
-    { 0x00000dda, 25002 }, /* Thai_phinthu */
-    { 0x00000dde, 24844 }, /* Thai_maihanakat_maitho */
-    { 0x00000ddf, 24399 }, /* Thai_baht */
-    { 0x00000de0, 25174 }, /* Thai_sarae */
-    { 0x00000de1, 25111 }, /* Thai_saraae */
-    { 0x00000de2, 25208 }, /* Thai_sarao */
-    { 0x00000de3, 25143 }, /* Thai_saraaimaimuan */
-    { 0x00000de4, 25123 }, /* Thai_saraaimaimalai */
-    { 0x00000de5, 24628 }, /* Thai_lakkhangyao */
-    { 0x00000de6, 24906 }, /* Thai_maiyamok */
-    { 0x00000de7, 24867 }, /* Thai_maitaikhu */
-    { 0x00000de8, 24817 }, /* Thai_maiek */
-    { 0x00000de9, 24882 }, /* Thai_maitho */
-    { 0x00000dea, 24894 }, /* Thai_maitri */
-    { 0x00000deb, 24800 }, /* Thai_maichattawa */
-    { 0x00000dec, 25312 }, /* Thai_thanthakhat */
-    { 0x00000ded, 24942 }, /* Thai_nikhahit */
-    { 0x00000df0, 24755 }, /* Thai_leksun */
-    { 0x00000df1, 24693 }, /* Thai_leknung */
-    { 0x00000df2, 24742 }, /* Thai_leksong */
-    { 0x00000df3, 24719 }, /* Thai_leksam */
-    { 0x00000df4, 24731 }, /* Thai_leksi */
-    { 0x00000df5, 24658 }, /* Thai_lekha */
-    { 0x00000df6, 24669 }, /* Thai_lekhok */
-    { 0x00000df7, 24645 }, /* Thai_lekchet */
-    { 0x00000df8, 24706 }, /* Thai_lekpaet */
-    { 0x00000df9, 24681 }, /* Thai_lekkao */
-    { 0x00000ea1, 15181 }, /* Hangul_Kiyeog */
-    { 0x00000ea2, 15726 }, /* Hangul_SsangKiyeog */
-    { 0x00000ea3, 15195 }, /* Hangul_KiyeogSios */
-    { 0x00000ea4, 15276 }, /* Hangul_Nieun */
-    { 0x00000ea5, 15307 }, /* Hangul_NieunJieuj */
-    { 0x00000ea6, 15289 }, /* Hangul_NieunHieuh */
-    { 0x00000ea7, 14488 }, /* Hangul_Dikeud */
-    { 0x00000ea8, 15689 }, /* Hangul_SsangDikeud */
-    { 0x00000ea9, 15461 }, /* Hangul_Rieul */
-    { 0x00000eaa, 15492 }, /* Hangul_RieulKiyeog */
-    { 0x00000eab, 15511 }, /* Hangul_RieulMieum */
-    { 0x00000eac, 15548 }, /* Hangul_RieulPieub */
-    { 0x00000ead, 15566 }, /* Hangul_RieulSios */
-    { 0x00000eae, 15583 }, /* Hangul_RieulTieut */
-    { 0x00000eaf, 15529 }, /* Hangul_RieulPhieuf */
-    { 0x00000eb0, 15474 }, /* Hangul_RieulHieuh */
-    { 0x00000eb1, 15238 }, /* Hangul_Mieum */
-    { 0x00000eb2, 15373 }, /* Hangul_Pieub */
-    { 0x00000eb3, 15745 }, /* Hangul_SsangPieub */
-    { 0x00000eb4, 15386 }, /* Hangul_PieubSios */
-    { 0x00000eb5, 15662 }, /* Hangul_Sios */
-    { 0x00000eb6, 15763 }, /* Hangul_SsangSios */
-    { 0x00000eb7, 14577 }, /* Hangul_Ieung */
-    { 0x00000eb8, 15154 }, /* Hangul_Jieuj */
-    { 0x00000eb9, 15708 }, /* Hangul_SsangJieuj */
-    { 0x00000eba, 14458 }, /* Hangul_Cieuc */
-    { 0x00000ebb, 15167 }, /* Hangul_Khieuq */
-    { 0x00000ebc, 15883 }, /* Hangul_Tieut */
-    { 0x00000ebd, 15359 }, /* Hangul_Phieuf */
-    { 0x00000ebe, 14555 }, /* Hangul_Hieuh */
-    { 0x00000ebf, 14399 }, /* Hangul_A */
-    { 0x00000ec0, 14408 }, /* Hangul_AE */
-    { 0x00000ec1, 15957 }, /* Hangul_YA */
-    { 0x00000ec2, 15967 }, /* Hangul_YAE */
-    { 0x00000ec3, 14522 }, /* Hangul_EO */
-    { 0x00000ec4, 14502 }, /* Hangul_E */
-    { 0x00000ec5, 15988 }, /* Hangul_YEO */
-    { 0x00000ec6, 15978 }, /* Hangul_YE */
-    { 0x00000ec7, 15325 }, /* Hangul_O */
-    { 0x00000ec8, 15905 }, /* Hangul_WA */
-    { 0x00000ec9, 15915 }, /* Hangul_WAE */
-    { 0x00000eca, 15334 }, /* Hangul_OE */
-    { 0x00000ecb, 16028 }, /* Hangul_YO */
-    { 0x00000ecc, 15896 }, /* Hangul_U */
-    { 0x00000ecd, 15936 }, /* Hangul_WEO */
-    { 0x00000ece, 15926 }, /* Hangul_WE */
-    { 0x00000ecf, 15947 }, /* Hangul_WI */
-    { 0x00000ed0, 16038 }, /* Hangul_YU */
-    { 0x00000ed1, 14532 }, /* Hangul_EU */
-    { 0x00000ed2, 16018 }, /* Hangul_YI */
-    { 0x00000ed3, 14568 }, /* Hangul_I */
-    { 0x00000ed4, 14682 }, /* Hangul_J_Kiyeog */
-    { 0x00000ed5, 15052 }, /* Hangul_J_SsangKiyeog */
-    { 0x00000ed6, 14698 }, /* Hangul_J_KiyeogSios */
-    { 0x00000ed7, 14760 }, /* Hangul_J_Nieun */
-    { 0x00000ed8, 14795 }, /* Hangul_J_NieunJieuj */
-    { 0x00000ed9, 14775 }, /* Hangul_J_NieunHieuh */
-    { 0x00000eda, 14605 }, /* Hangul_J_Dikeud */
-    { 0x00000edb, 14882 }, /* Hangul_J_Rieul */
-    { 0x00000edc, 14917 }, /* Hangul_J_RieulKiyeog */
-    { 0x00000edd, 14938 }, /* Hangul_J_RieulMieum */
-    { 0x00000ede, 14979 }, /* Hangul_J_RieulPieub */
-    { 0x00000edf, 14999 }, /* Hangul_J_RieulSios */
-    { 0x00000ee0, 15018 }, /* Hangul_J_RieulTieut */
-    { 0x00000ee1, 14958 }, /* Hangul_J_RieulPhieuf */
-    { 0x00000ee2, 14897 }, /* Hangul_J_RieulHieuh */
-    { 0x00000ee3, 14745 }, /* Hangul_J_Mieum */
-    { 0x00000ee4, 14848 }, /* Hangul_J_Pieub */
-    { 0x00000ee5, 14863 }, /* Hangul_J_PieubSios */
-    { 0x00000ee6, 15038 }, /* Hangul_J_Sios */
-    { 0x00000ee7, 15073 }, /* Hangul_J_SsangSios */
-    { 0x00000ee8, 14636 }, /* Hangul_J_Ieung */
-    { 0x00000ee9, 14651 }, /* Hangul_J_Jieuj */
-    { 0x00000eea, 14590 }, /* Hangul_J_Cieuc */
-    { 0x00000eeb, 14666 }, /* Hangul_J_Khieuq */
-    { 0x00000eec, 15092 }, /* Hangul_J_Tieut */
-    { 0x00000eed, 14832 }, /* Hangul_J_Phieuf */
-    { 0x00000eee, 14621 }, /* Hangul_J_Hieuh */
-    { 0x00000eef, 15601 }, /* Hangul_RieulYeorinHieuh */
-    { 0x00000ef0, 15793 }, /* Hangul_SunkyeongeumMieum */
-    { 0x00000ef1, 15844 }, /* Hangul_SunkyeongeumPieub */
-    { 0x00000ef2, 15344 }, /* Hangul_PanSios */
-    { 0x00000ef3, 15213 }, /* Hangul_KkogjiDalrinIeung */
-    { 0x00000ef4, 15818 }, /* Hangul_SunkyeongeumPhieuf */
-    { 0x00000ef5, 15999 }, /* Hangul_YeorinHieuh */
-    { 0x00000ef6, 14418 }, /* Hangul_AraeA */
-    { 0x00000ef7, 14431 }, /* Hangul_AraeAE */
-    { 0x00000ef8, 14815 }, /* Hangul_J_PanSios */
-    { 0x00000ef9, 14718 }, /* Hangul_J_KkogjiDalrinIeung */
-    { 0x00000efa, 15107 }, /* Hangul_J_YeorinHieuh */
-    { 0x00000eff, 18797 }, /* Korean_Won */
-    { 0x000013bc, 20514 }, /* OE */
-    { 0x000013bd, 20517 }, /* oe */
-    { 0x000013be, 29140 }, /* Ydiaeresis */
-    { 0x000020ac, 12090 }, /* EuroSign */
+    { 0x00000bd3, 26519 }, /* upstile */
+    { 0x00000bd6, 11434 }, /* downshoe */
+    { 0x00000bd8, 22596 }, /* rightshoe */
+    { 0x00000bda, 19450 }, /* leftshoe */
+    { 0x00000bdc, 19485 }, /* lefttack */
+    { 0x00000bfc, 22634 }, /* righttack */
+    { 0x00000cdf, 16255 }, /* hebrew_doublelowline */
+    { 0x00000ce0, 16168 }, /* hebrew_aleph */
+    { 0x00000ce1, 16193 }, /* hebrew_bet */
+    { 0x00000ce2, 16374 }, /* hebrew_gimel */
+    { 0x00000ce3, 16228 }, /* hebrew_dalet */
+    { 0x00000ce4, 16401 }, /* hebrew_he */
+    { 0x00000ce5, 16613 }, /* hebrew_waw */
+    { 0x00000ce6, 16659 }, /* hebrew_zain */
+    { 0x00000ce7, 16216 }, /* hebrew_chet */
+    { 0x00000ce8, 16590 }, /* hebrew_tet */
+    { 0x00000ce9, 16624 }, /* hebrew_yod */
+    { 0x00000cea, 16276 }, /* hebrew_finalkaph */
+    { 0x00000ceb, 16422 }, /* hebrew_kaph */
+    { 0x00000cec, 16445 }, /* hebrew_lamed */
+    { 0x00000ced, 16293 }, /* hebrew_finalmem */
+    { 0x00000cee, 16458 }, /* hebrew_mem */
+    { 0x00000cef, 16309 }, /* hebrew_finalnun */
+    { 0x00000cf0, 16469 }, /* hebrew_nun */
+    { 0x00000cf1, 16514 }, /* hebrew_samech */
+    { 0x00000cf2, 16181 }, /* hebrew_ayin */
+    { 0x00000cf3, 16325 }, /* hebrew_finalpe */
+    { 0x00000cf4, 16480 }, /* hebrew_pe */
+    { 0x00000cf5, 16340 }, /* hebrew_finalzade */
+    { 0x00000cf6, 16635 }, /* hebrew_zade */
+    { 0x00000cf7, 16490 }, /* hebrew_qoph */
+    { 0x00000cf8, 16502 }, /* hebrew_resh */
+    { 0x00000cf9, 16542 }, /* hebrew_shin */
+    { 0x00000cfa, 16579 }, /* hebrew_taw */
+    { 0x00000da1, 24699 }, /* Thai_kokai */
+    { 0x00000da2, 24629 }, /* Thai_khokhai */
+    { 0x00000da3, 24655 }, /* Thai_khokhuat */
+    { 0x00000da4, 24669 }, /* Thai_khokhwai */
+    { 0x00000da5, 24642 }, /* Thai_khokhon */
+    { 0x00000da6, 24683 }, /* Thai_khorakhang */
+    { 0x00000da7, 25012 }, /* Thai_ngongu */
+    { 0x00000da8, 24505 }, /* Thai_chochan */
+    { 0x00000da9, 24532 }, /* Thai_choching */
+    { 0x00000daa, 24518 }, /* Thai_chochang */
+    { 0x00000dab, 25373 }, /* Thai_soso */
+    { 0x00000dac, 24546 }, /* Thai_chochoe */
+    { 0x00000dad, 25549 }, /* Thai_yoying */
+    { 0x00000dae, 24559 }, /* Thai_dochada */
+    { 0x00000daf, 25502 }, /* Thai_topatak */
+    { 0x00000db0, 25461 }, /* Thai_thothan */
+    { 0x00000db1, 25411 }, /* Thai_thonangmontho */
+    { 0x00000db2, 25430 }, /* Thai_thophuthao */
+    { 0x00000db3, 25038 }, /* Thai_nonen */
+    { 0x00000db4, 24572 }, /* Thai_dodek */
+    { 0x00000db5, 25515 }, /* Thai_totao */
+    { 0x00000db6, 25488 }, /* Thai_thothung */
+    { 0x00000db7, 25446 }, /* Thai_thothahan */
+    { 0x00000db8, 25474 }, /* Thai_thothong */
+    { 0x00000db9, 25049 }, /* Thai_nonu */
+    { 0x00000dba, 24491 }, /* Thai_bobaimai */
+    { 0x00000dbb, 25140 }, /* Thai_popla */
+    { 0x00000dbc, 25110 }, /* Thai_phophung */
+    { 0x00000dbd, 24583 }, /* Thai_fofa */
+    { 0x00000dbe, 25097 }, /* Thai_phophan */
+    { 0x00000dbf, 24593 }, /* Thai_fofan */
+    { 0x00000dc0, 25124 }, /* Thai_phosamphao */
+    { 0x00000dc1, 25002 }, /* Thai_moma */
+    { 0x00000dc2, 25538 }, /* Thai_yoyak */
+    { 0x00000dc3, 25151 }, /* Thai_rorua */
+    { 0x00000dc4, 25162 }, /* Thai_ru */
+    { 0x00000dc5, 24862 }, /* Thai_loling */
+    { 0x00000dc6, 24874 }, /* Thai_lu */
+    { 0x00000dc7, 25526 }, /* Thai_wowaen */
+    { 0x00000dc8, 25361 }, /* Thai_sosala */
+    { 0x00000dc9, 25349 }, /* Thai_sorusi */
+    { 0x00000dca, 25383 }, /* Thai_sosua */
+    { 0x00000dcb, 24604 }, /* Thai_hohip */
+    { 0x00000dcc, 24849 }, /* Thai_lochula */
+    { 0x00000dcd, 25059 }, /* Thai_oang */
+    { 0x00000dce, 24615 }, /* Thai_honokhuk */
+    { 0x00000dcf, 25069 }, /* Thai_paiyannoi */
+    { 0x00000dd0, 25170 }, /* Thai_saraa */
+    { 0x00000dd1, 24910 }, /* Thai_maihanakat */
+    { 0x00000dd2, 25181 }, /* Thai_saraaa */
+    { 0x00000dd3, 25244 }, /* Thai_saraam */
+    { 0x00000dd4, 25267 }, /* Thai_sarai */
+    { 0x00000dd5, 25278 }, /* Thai_saraii */
+    { 0x00000dd6, 25312 }, /* Thai_saraue */
+    { 0x00000dd7, 25324 }, /* Thai_sarauee */
+    { 0x00000dd8, 25301 }, /* Thai_sarau */
+    { 0x00000dd9, 25337 }, /* Thai_sarauu */
+    { 0x00000dda, 25084 }, /* Thai_phinthu */
+    { 0x00000dde, 24926 }, /* Thai_maihanakat_maitho */
+    { 0x00000ddf, 24481 }, /* Thai_baht */
+    { 0x00000de0, 25256 }, /* Thai_sarae */
+    { 0x00000de1, 25193 }, /* Thai_saraae */
+    { 0x00000de2, 25290 }, /* Thai_sarao */
+    { 0x00000de3, 25225 }, /* Thai_saraaimaimuan */
+    { 0x00000de4, 25205 }, /* Thai_saraaimaimalai */
+    { 0x00000de5, 24710 }, /* Thai_lakkhangyao */
+    { 0x00000de6, 24988 }, /* Thai_maiyamok */
+    { 0x00000de7, 24949 }, /* Thai_maitaikhu */
+    { 0x00000de8, 24899 }, /* Thai_maiek */
+    { 0x00000de9, 24964 }, /* Thai_maitho */
+    { 0x00000dea, 24976 }, /* Thai_maitri */
+    { 0x00000deb, 24882 }, /* Thai_maichattawa */
+    { 0x00000dec, 25394 }, /* Thai_thanthakhat */
+    { 0x00000ded, 25024 }, /* Thai_nikhahit */
+    { 0x00000df0, 24837 }, /* Thai_leksun */
+    { 0x00000df1, 24775 }, /* Thai_leknung */
+    { 0x00000df2, 24824 }, /* Thai_leksong */
+    { 0x00000df3, 24801 }, /* Thai_leksam */
+    { 0x00000df4, 24813 }, /* Thai_leksi */
+    { 0x00000df5, 24740 }, /* Thai_lekha */
+    { 0x00000df6, 24751 }, /* Thai_lekhok */
+    { 0x00000df7, 24727 }, /* Thai_lekchet */
+    { 0x00000df8, 24788 }, /* Thai_lekpaet */
+    { 0x00000df9, 24763 }, /* Thai_lekkao */
+    { 0x00000ea1, 15263 }, /* Hangul_Kiyeog */
+    { 0x00000ea2, 15808 }, /* Hangul_SsangKiyeog */
+    { 0x00000ea3, 15277 }, /* Hangul_KiyeogSios */
+    { 0x00000ea4, 15358 }, /* Hangul_Nieun */
+    { 0x00000ea5, 15389 }, /* Hangul_NieunJieuj */
+    { 0x00000ea6, 15371 }, /* Hangul_NieunHieuh */
+    { 0x00000ea7, 14570 }, /* Hangul_Dikeud */
+    { 0x00000ea8, 15771 }, /* Hangul_SsangDikeud */
+    { 0x00000ea9, 15543 }, /* Hangul_Rieul */
+    { 0x00000eaa, 15574 }, /* Hangul_RieulKiyeog */
+    { 0x00000eab, 15593 }, /* Hangul_RieulMieum */
+    { 0x00000eac, 15630 }, /* Hangul_RieulPieub */
+    { 0x00000ead, 15648 }, /* Hangul_RieulSios */
+    { 0x00000eae, 15665 }, /* Hangul_RieulTieut */
+    { 0x00000eaf, 15611 }, /* Hangul_RieulPhieuf */
+    { 0x00000eb0, 15556 }, /* Hangul_RieulHieuh */
+    { 0x00000eb1, 15320 }, /* Hangul_Mieum */
+    { 0x00000eb2, 15455 }, /* Hangul_Pieub */
+    { 0x00000eb3, 15827 }, /* Hangul_SsangPieub */
+    { 0x00000eb4, 15468 }, /* Hangul_PieubSios */
+    { 0x00000eb5, 15744 }, /* Hangul_Sios */
+    { 0x00000eb6, 15845 }, /* Hangul_SsangSios */
+    { 0x00000eb7, 14659 }, /* Hangul_Ieung */
+    { 0x00000eb8, 15236 }, /* Hangul_Jieuj */
+    { 0x00000eb9, 15790 }, /* Hangul_SsangJieuj */
+    { 0x00000eba, 14540 }, /* Hangul_Cieuc */
+    { 0x00000ebb, 15249 }, /* Hangul_Khieuq */
+    { 0x00000ebc, 15965 }, /* Hangul_Tieut */
+    { 0x00000ebd, 15441 }, /* Hangul_Phieuf */
+    { 0x00000ebe, 14637 }, /* Hangul_Hieuh */
+    { 0x00000ebf, 14481 }, /* Hangul_A */
+    { 0x00000ec0, 14490 }, /* Hangul_AE */
+    { 0x00000ec1, 16039 }, /* Hangul_YA */
+    { 0x00000ec2, 16049 }, /* Hangul_YAE */
+    { 0x00000ec3, 14604 }, /* Hangul_EO */
+    { 0x00000ec4, 14584 }, /* Hangul_E */
+    { 0x00000ec5, 16070 }, /* Hangul_YEO */
+    { 0x00000ec6, 16060 }, /* Hangul_YE */
+    { 0x00000ec7, 15407 }, /* Hangul_O */
+    { 0x00000ec8, 15987 }, /* Hangul_WA */
+    { 0x00000ec9, 15997 }, /* Hangul_WAE */
+    { 0x00000eca, 15416 }, /* Hangul_OE */
+    { 0x00000ecb, 16110 }, /* Hangul_YO */
+    { 0x00000ecc, 15978 }, /* Hangul_U */
+    { 0x00000ecd, 16018 }, /* Hangul_WEO */
+    { 0x00000ece, 16008 }, /* Hangul_WE */
+    { 0x00000ecf, 16029 }, /* Hangul_WI */
+    { 0x00000ed0, 16120 }, /* Hangul_YU */
+    { 0x00000ed1, 14614 }, /* Hangul_EU */
+    { 0x00000ed2, 16100 }, /* Hangul_YI */
+    { 0x00000ed3, 14650 }, /* Hangul_I */
+    { 0x00000ed4, 14764 }, /* Hangul_J_Kiyeog */
+    { 0x00000ed5, 15134 }, /* Hangul_J_SsangKiyeog */
+    { 0x00000ed6, 14780 }, /* Hangul_J_KiyeogSios */
+    { 0x00000ed7, 14842 }, /* Hangul_J_Nieun */
+    { 0x00000ed8, 14877 }, /* Hangul_J_NieunJieuj */
+    { 0x00000ed9, 14857 }, /* Hangul_J_NieunHieuh */
+    { 0x00000eda, 14687 }, /* Hangul_J_Dikeud */
+    { 0x00000edb, 14964 }, /* Hangul_J_Rieul */
+    { 0x00000edc, 14999 }, /* Hangul_J_RieulKiyeog */
+    { 0x00000edd, 15020 }, /* Hangul_J_RieulMieum */
+    { 0x00000ede, 15061 }, /* Hangul_J_RieulPieub */
+    { 0x00000edf, 15081 }, /* Hangul_J_RieulSios */
+    { 0x00000ee0, 15100 }, /* Hangul_J_RieulTieut */
+    { 0x00000ee1, 15040 }, /* Hangul_J_RieulPhieuf */
+    { 0x00000ee2, 14979 }, /* Hangul_J_RieulHieuh */
+    { 0x00000ee3, 14827 }, /* Hangul_J_Mieum */
+    { 0x00000ee4, 14930 }, /* Hangul_J_Pieub */
+    { 0x00000ee5, 14945 }, /* Hangul_J_PieubSios */
+    { 0x00000ee6, 15120 }, /* Hangul_J_Sios */
+    { 0x00000ee7, 15155 }, /* Hangul_J_SsangSios */
+    { 0x00000ee8, 14718 }, /* Hangul_J_Ieung */
+    { 0x00000ee9, 14733 }, /* Hangul_J_Jieuj */
+    { 0x00000eea, 14672 }, /* Hangul_J_Cieuc */
+    { 0x00000eeb, 14748 }, /* Hangul_J_Khieuq */
+    { 0x00000eec, 15174 }, /* Hangul_J_Tieut */
+    { 0x00000eed, 14914 }, /* Hangul_J_Phieuf */
+    { 0x00000eee, 14703 }, /* Hangul_J_Hieuh */
+    { 0x00000eef, 15683 }, /* Hangul_RieulYeorinHieuh */
+    { 0x00000ef0, 15875 }, /* Hangul_SunkyeongeumMieum */
+    { 0x00000ef1, 15926 }, /* Hangul_SunkyeongeumPieub */
+    { 0x00000ef2, 15426 }, /* Hangul_PanSios */
+    { 0x00000ef3, 15295 }, /* Hangul_KkogjiDalrinIeung */
+    { 0x00000ef4, 15900 }, /* Hangul_SunkyeongeumPhieuf */
+    { 0x00000ef5, 16081 }, /* Hangul_YeorinHieuh */
+    { 0x00000ef6, 14500 }, /* Hangul_AraeA */
+    { 0x00000ef7, 14513 }, /* Hangul_AraeAE */
+    { 0x00000ef8, 14897 }, /* Hangul_J_PanSios */
+    { 0x00000ef9, 14800 }, /* Hangul_J_KkogjiDalrinIeung */
+    { 0x00000efa, 15189 }, /* Hangul_J_YeorinHieuh */
+    { 0x00000eff, 18879 }, /* Korean_Won */
+    { 0x000013bc, 20596 }, /* OE */
+    { 0x000013bd, 20599 }, /* oe */
+    { 0x000013be, 31291 }, /* Ydiaeresis */
+    { 0x000020ac, 12172 }, /* EuroSign */
     { 0x0000fd01, 125 }, /* 3270_Duplicate */
     { 0x0000fd02, 195 }, /* 3270_FieldMark */
     { 0x0000fd03, 343 }, /* 3270_Right2 */
@@ -5837,293 +6443,293 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x0000fd1c, 91 }, /* 3270_CursorSelect */
     { 0x0000fd1d, 293 }, /* 3270_PrintScreen */
     { 0x0000fd1e, 140 }, /* 3270_Enter */
-    { 0x0000fe01, 17781 }, /* ISO_Lock */
-    { 0x0000fe02, 17664 }, /* ISO_Level2_Latch */
-    { 0x0000fe03, 17714 }, /* ISO_Level3_Shift */
-    { 0x0000fe04, 17681 }, /* ISO_Level3_Latch */
-    { 0x0000fe05, 17698 }, /* ISO_Level3_Lock */
-    { 0x0000fe06, 17569 }, /* ISO_Group_Latch */
-    { 0x0000fe07, 17585 }, /* ISO_Group_Lock */
-    { 0x0000fe08, 17826 }, /* ISO_Next_Group */
-    { 0x0000fe09, 17841 }, /* ISO_Next_Group_Lock */
-    { 0x0000fe0a, 17950 }, /* ISO_Prev_Group */
-    { 0x0000fe0b, 17965 }, /* ISO_Prev_Group_Lock */
-    { 0x0000fe0c, 17532 }, /* ISO_First_Group */
-    { 0x0000fe0d, 17548 }, /* ISO_First_Group_Lock */
-    { 0x0000fe0e, 17616 }, /* ISO_Last_Group */
-    { 0x0000fe0f, 17631 }, /* ISO_Last_Group_Lock */
-    { 0x0000fe11, 17764 }, /* ISO_Level5_Shift */
-    { 0x0000fe12, 17731 }, /* ISO_Level5_Latch */
-    { 0x0000fe13, 17748 }, /* ISO_Level5_Lock */
-    { 0x0000fe20, 17651 }, /* ISO_Left_Tab */
-    { 0x0000fe21, 17809 }, /* ISO_Move_Line_Up */
-    { 0x0000fe22, 17790 }, /* ISO_Move_Line_Down */
-    { 0x0000fe23, 17883 }, /* ISO_Partial_Line_Up */
-    { 0x0000fe24, 17861 }, /* ISO_Partial_Line_Down */
-    { 0x0000fe25, 17903 }, /* ISO_Partial_Space_Left */
-    { 0x0000fe26, 17926 }, /* ISO_Partial_Space_Right */
-    { 0x0000fe27, 18059 }, /* ISO_Set_Margin_Left */
-    { 0x0000fe28, 18079 }, /* ISO_Set_Margin_Right */
-    { 0x0000fe29, 18010 }, /* ISO_Release_Margin_Left */
-    { 0x0000fe2a, 18034 }, /* ISO_Release_Margin_Right */
-    { 0x0000fe2b, 17985 }, /* ISO_Release_Both_Margins */
-    { 0x0000fe2c, 17470 }, /* ISO_Fast_Cursor_Left */
-    { 0x0000fe2d, 17491 }, /* ISO_Fast_Cursor_Right */
-    { 0x0000fe2e, 17513 }, /* ISO_Fast_Cursor_Up */
-    { 0x0000fe2f, 17449 }, /* ISO_Fast_Cursor_Down */
-    { 0x0000fe30, 17372 }, /* ISO_Continuous_Underline */
-    { 0x0000fe31, 17397 }, /* ISO_Discontinuous_Underline */
-    { 0x0000fe32, 17425 }, /* ISO_Emphasize */
-    { 0x0000fe33, 17354 }, /* ISO_Center_Object */
-    { 0x0000fe34, 17439 }, /* ISO_Enter */
-    { 0x0000fe50, 10858 }, /* dead_grave */
-    { 0x0000fe51, 10531 }, /* dead_acute */
-    { 0x0000fe52, 10754 }, /* dead_circumflex */
-    { 0x0000fe53, 11097 }, /* dead_tilde */
-    { 0x0000fe54, 10980 }, /* dead_macron */
-    { 0x0000fe55, 10700 }, /* dead_breve */
-    { 0x0000fe56, 10455 }, /* dead_abovedot */
-    { 0x0000fe57, 10795 }, /* dead_diaeresis */
-    { 0x0000fe58, 10493 }, /* dead_abovering */
-    { 0x0000fe59, 10810 }, /* dead_doubleacute */
-    { 0x0000fe5a, 10730 }, /* dead_caron */
-    { 0x0000fe5b, 10741 }, /* dead_cedilla */
-    { 0x0000fe5c, 11006 }, /* dead_ogonek */
-    { 0x0000fe5d, 10933 }, /* dead_iota */
-    { 0x0000fe5e, 11122 }, /* dead_voiced_sound */
-    { 0x0000fe5f, 11046 }, /* dead_semivoiced_sound */
-    { 0x0000fe60, 10615 }, /* dead_belowdot */
-    { 0x0000fe61, 10880 }, /* dead_hook */
-    { 0x0000fe62, 10890 }, /* dead_horn */
-    { 0x0000fe63, 11085 }, /* dead_stroke */
-    { 0x0000fe64, 10439 }, /* dead_abovecomma */
-    { 0x0000fe65, 10469 }, /* dead_abovereversedcomma */
-    { 0x0000fe66, 10827 }, /* dead_doublegrave */
-    { 0x0000fe67, 10646 }, /* dead_belowring */
-    { 0x0000fe68, 10629 }, /* dead_belowmacron */
-    { 0x0000fe69, 10558 }, /* dead_belowcircumflex */
-    { 0x0000fe6a, 10661 }, /* dead_belowtilde */
-    { 0x0000fe6b, 10542 }, /* dead_belowbreve */
-    { 0x0000fe6c, 10595 }, /* dead_belowdiaeresis */
-    { 0x0000fe6d, 10914 }, /* dead_invertedbreve */
-    { 0x0000fe6e, 10579 }, /* dead_belowcomma */
-    { 0x0000fe6f, 10770 }, /* dead_currency */
+    { 0x0000fe01, 17863 }, /* ISO_Lock */
+    { 0x0000fe02, 17746 }, /* ISO_Level2_Latch */
+    { 0x0000fe03, 17796 }, /* ISO_Level3_Shift */
+    { 0x0000fe04, 17763 }, /* ISO_Level3_Latch */
+    { 0x0000fe05, 17780 }, /* ISO_Level3_Lock */
+    { 0x0000fe06, 17651 }, /* ISO_Group_Latch */
+    { 0x0000fe07, 17667 }, /* ISO_Group_Lock */
+    { 0x0000fe08, 17908 }, /* ISO_Next_Group */
+    { 0x0000fe09, 17923 }, /* ISO_Next_Group_Lock */
+    { 0x0000fe0a, 18032 }, /* ISO_Prev_Group */
+    { 0x0000fe0b, 18047 }, /* ISO_Prev_Group_Lock */
+    { 0x0000fe0c, 17614 }, /* ISO_First_Group */
+    { 0x0000fe0d, 17630 }, /* ISO_First_Group_Lock */
+    { 0x0000fe0e, 17698 }, /* ISO_Last_Group */
+    { 0x0000fe0f, 17713 }, /* ISO_Last_Group_Lock */
+    { 0x0000fe11, 17846 }, /* ISO_Level5_Shift */
+    { 0x0000fe12, 17813 }, /* ISO_Level5_Latch */
+    { 0x0000fe13, 17830 }, /* ISO_Level5_Lock */
+    { 0x0000fe20, 17733 }, /* ISO_Left_Tab */
+    { 0x0000fe21, 17891 }, /* ISO_Move_Line_Up */
+    { 0x0000fe22, 17872 }, /* ISO_Move_Line_Down */
+    { 0x0000fe23, 17965 }, /* ISO_Partial_Line_Up */
+    { 0x0000fe24, 17943 }, /* ISO_Partial_Line_Down */
+    { 0x0000fe25, 17985 }, /* ISO_Partial_Space_Left */
+    { 0x0000fe26, 18008 }, /* ISO_Partial_Space_Right */
+    { 0x0000fe27, 18141 }, /* ISO_Set_Margin_Left */
+    { 0x0000fe28, 18161 }, /* ISO_Set_Margin_Right */
+    { 0x0000fe29, 18092 }, /* ISO_Release_Margin_Left */
+    { 0x0000fe2a, 18116 }, /* ISO_Release_Margin_Right */
+    { 0x0000fe2b, 18067 }, /* ISO_Release_Both_Margins */
+    { 0x0000fe2c, 17552 }, /* ISO_Fast_Cursor_Left */
+    { 0x0000fe2d, 17573 }, /* ISO_Fast_Cursor_Right */
+    { 0x0000fe2e, 17595 }, /* ISO_Fast_Cursor_Up */
+    { 0x0000fe2f, 17531 }, /* ISO_Fast_Cursor_Down */
+    { 0x0000fe30, 17454 }, /* ISO_Continuous_Underline */
+    { 0x0000fe31, 17479 }, /* ISO_Discontinuous_Underline */
+    { 0x0000fe32, 17507 }, /* ISO_Emphasize */
+    { 0x0000fe33, 17436 }, /* ISO_Center_Object */
+    { 0x0000fe34, 17521 }, /* ISO_Enter */
+    { 0x0000fe50, 10940 }, /* dead_grave */
+    { 0x0000fe51, 10613 }, /* dead_acute */
+    { 0x0000fe52, 10836 }, /* dead_circumflex */
+    { 0x0000fe53, 11179 }, /* dead_tilde */
+    { 0x0000fe54, 11062 }, /* dead_macron */
+    { 0x0000fe55, 10782 }, /* dead_breve */
+    { 0x0000fe56, 10537 }, /* dead_abovedot */
+    { 0x0000fe57, 10877 }, /* dead_diaeresis */
+    { 0x0000fe58, 10575 }, /* dead_abovering */
+    { 0x0000fe59, 10892 }, /* dead_doubleacute */
+    { 0x0000fe5a, 10812 }, /* dead_caron */
+    { 0x0000fe5b, 10823 }, /* dead_cedilla */
+    { 0x0000fe5c, 11088 }, /* dead_ogonek */
+    { 0x0000fe5d, 11015 }, /* dead_iota */
+    { 0x0000fe5e, 11204 }, /* dead_voiced_sound */
+    { 0x0000fe5f, 11128 }, /* dead_semivoiced_sound */
+    { 0x0000fe60, 10697 }, /* dead_belowdot */
+    { 0x0000fe61, 10962 }, /* dead_hook */
+    { 0x0000fe62, 10972 }, /* dead_horn */
+    { 0x0000fe63, 11167 }, /* dead_stroke */
+    { 0x0000fe64, 10521 }, /* dead_abovecomma */
+    { 0x0000fe65, 10551 }, /* dead_abovereversedcomma */
+    { 0x0000fe66, 10909 }, /* dead_doublegrave */
+    { 0x0000fe67, 10728 }, /* dead_belowring */
+    { 0x0000fe68, 10711 }, /* dead_belowmacron */
+    { 0x0000fe69, 10640 }, /* dead_belowcircumflex */
+    { 0x0000fe6a, 10743 }, /* dead_belowtilde */
+    { 0x0000fe6b, 10624 }, /* dead_belowbreve */
+    { 0x0000fe6c, 10677 }, /* dead_belowdiaeresis */
+    { 0x0000fe6d, 10996 }, /* dead_invertedbreve */
+    { 0x0000fe6e, 10661 }, /* dead_belowcomma */
+    { 0x0000fe6f, 10852 }, /* dead_currency */
     { 0x0000fe70, 583 }, /* AccessX_Enable */
     { 0x0000fe71, 598 }, /* AccessX_Feedback_Enable */
-    { 0x0000fe72, 22342 }, /* RepeatKeys_Enable */
-    { 0x0000fe73, 23774 }, /* SlowKeys_Enable */
+    { 0x0000fe72, 22424 }, /* RepeatKeys_Enable */
+    { 0x0000fe73, 23856 }, /* SlowKeys_Enable */
     { 0x0000fe74, 3564 }, /* BounceKeys_Enable */
-    { 0x0000fe75, 23836 }, /* StickyKeys_Enable */
-    { 0x0000fe76, 19782 }, /* MouseKeys_Enable */
-    { 0x0000fe77, 19759 }, /* MouseKeys_Accel_Enable */
-    { 0x0000fe78, 21332 }, /* Overlay1_Enable */
-    { 0x0000fe79, 21348 }, /* Overlay2_Enable */
+    { 0x0000fe75, 23918 }, /* StickyKeys_Enable */
+    { 0x0000fe76, 19864 }, /* MouseKeys_Enable */
+    { 0x0000fe77, 19841 }, /* MouseKeys_Accel_Enable */
+    { 0x0000fe78, 21414 }, /* Overlay1_Enable */
+    { 0x0000fe79, 21430 }, /* Overlay2_Enable */
     { 0x0000fe7a, 3309 }, /* AudibleBell_Enable */
-    { 0x0000fe80, 10425 }, /* dead_a */
-    { 0x0000fe81, 10432 }, /* dead_A */
-    { 0x0000fe82, 10844 }, /* dead_e */
-    { 0x0000fe83, 10851 }, /* dead_E */
-    { 0x0000fe84, 10900 }, /* dead_i */
-    { 0x0000fe85, 10907 }, /* dead_I */
-    { 0x0000fe86, 10992 }, /* dead_o */
-    { 0x0000fe87, 10999 }, /* dead_O */
-    { 0x0000fe88, 11108 }, /* dead_u */
-    { 0x0000fe89, 11115 }, /* dead_U */
-    { 0x0000fe8a, 11068 }, /* dead_small_schwa */
-    { 0x0000fe8b, 10711 }, /* dead_capital_schwa */
-    { 0x0000fe8c, 10869 }, /* dead_greek */
-    { 0x0000fe90, 10967 }, /* dead_lowline */
-    { 0x0000fe91, 10508 }, /* dead_aboveverticalline */
-    { 0x0000fe92, 10677 }, /* dead_belowverticalline */
-    { 0x0000fe93, 10943 }, /* dead_longsolidusoverlay */
+    { 0x0000fe80, 10507 }, /* dead_a */
+    { 0x0000fe81, 10514 }, /* dead_A */
+    { 0x0000fe82, 10926 }, /* dead_e */
+    { 0x0000fe83, 10933 }, /* dead_E */
+    { 0x0000fe84, 10982 }, /* dead_i */
+    { 0x0000fe85, 10989 }, /* dead_I */
+    { 0x0000fe86, 11074 }, /* dead_o */
+    { 0x0000fe87, 11081 }, /* dead_O */
+    { 0x0000fe88, 11190 }, /* dead_u */
+    { 0x0000fe89, 11197 }, /* dead_U */
+    { 0x0000fe8a, 11150 }, /* dead_small_schwa */
+    { 0x0000fe8b, 10793 }, /* dead_capital_schwa */
+    { 0x0000fe8c, 10951 }, /* dead_greek */
+    { 0x0000fe90, 11049 }, /* dead_lowline */
+    { 0x0000fe91, 10590 }, /* dead_aboveverticalline */
+    { 0x0000fe92, 10759 }, /* dead_belowverticalline */
+    { 0x0000fe93, 11025 }, /* dead_longsolidusoverlay */
     { 0x0000fea0, 8594 }, /* ch */
     { 0x0000fea1, 8597 }, /* Ch */
     { 0x0000fea2, 8600 }, /* CH */
     { 0x0000fea3, 8443 }, /* c_h */
     { 0x0000fea4, 8447 }, /* C_h */
     { 0x0000fea5, 8451 }, /* C_H */
-    { 0x0000fed0, 12536 }, /* First_Virtual_Screen */
-    { 0x0000fed1, 22080 }, /* Prev_Virtual_Screen */
-    { 0x0000fed2, 20028 }, /* Next_Virtual_Screen */
-    { 0x0000fed4, 19161 }, /* Last_Virtual_Screen */
-    { 0x0000fed5, 24382 }, /* Terminate_Server */
-    { 0x0000fee0, 21998 }, /* Pointer_Left */
-    { 0x0000fee1, 22011 }, /* Pointer_Right */
-    { 0x0000fee2, 22025 }, /* Pointer_Up */
-    { 0x0000fee3, 21843 }, /* Pointer_Down */
-    { 0x0000fee4, 22036 }, /* Pointer_UpLeft */
-    { 0x0000fee5, 22051 }, /* Pointer_UpRight */
-    { 0x0000fee6, 21856 }, /* Pointer_DownLeft */
-    { 0x0000fee7, 21873 }, /* Pointer_DownRight */
-    { 0x0000fee8, 21671 }, /* Pointer_Button_Dflt */
-    { 0x0000fee9, 21591 }, /* Pointer_Button1 */
-    { 0x0000feea, 21607 }, /* Pointer_Button2 */
-    { 0x0000feeb, 21623 }, /* Pointer_Button3 */
-    { 0x0000feec, 21639 }, /* Pointer_Button4 */
-    { 0x0000feed, 21655 }, /* Pointer_Button5 */
-    { 0x0000feee, 21781 }, /* Pointer_DblClick_Dflt */
-    { 0x0000feef, 21691 }, /* Pointer_DblClick1 */
-    { 0x0000fef0, 21709 }, /* Pointer_DblClick2 */
-    { 0x0000fef1, 21727 }, /* Pointer_DblClick3 */
-    { 0x0000fef2, 21745 }, /* Pointer_DblClick4 */
-    { 0x0000fef3, 21763 }, /* Pointer_DblClick5 */
-    { 0x0000fef4, 21961 }, /* Pointer_Drag_Dflt */
-    { 0x0000fef5, 21891 }, /* Pointer_Drag1 */
-    { 0x0000fef6, 21905 }, /* Pointer_Drag2 */
-    { 0x0000fef7, 21919 }, /* Pointer_Drag3 */
-    { 0x0000fef8, 21933 }, /* Pointer_Drag4 */
-    { 0x0000fef9, 21979 }, /* Pointer_EnableKeys */
-    { 0x0000fefa, 21572 }, /* Pointer_Accelerate */
-    { 0x0000fefb, 21803 }, /* Pointer_DfltBtnNext */
-    { 0x0000fefc, 21823 }, /* Pointer_DfltBtnPrev */
-    { 0x0000fefd, 21947 }, /* Pointer_Drag5 */
+    { 0x0000fed0, 12618 }, /* First_Virtual_Screen */
+    { 0x0000fed1, 22162 }, /* Prev_Virtual_Screen */
+    { 0x0000fed2, 20110 }, /* Next_Virtual_Screen */
+    { 0x0000fed4, 19243 }, /* Last_Virtual_Screen */
+    { 0x0000fed5, 24464 }, /* Terminate_Server */
+    { 0x0000fee0, 22080 }, /* Pointer_Left */
+    { 0x0000fee1, 22093 }, /* Pointer_Right */
+    { 0x0000fee2, 22107 }, /* Pointer_Up */
+    { 0x0000fee3, 21925 }, /* Pointer_Down */
+    { 0x0000fee4, 22118 }, /* Pointer_UpLeft */
+    { 0x0000fee5, 22133 }, /* Pointer_UpRight */
+    { 0x0000fee6, 21938 }, /* Pointer_DownLeft */
+    { 0x0000fee7, 21955 }, /* Pointer_DownRight */
+    { 0x0000fee8, 21753 }, /* Pointer_Button_Dflt */
+    { 0x0000fee9, 21673 }, /* Pointer_Button1 */
+    { 0x0000feea, 21689 }, /* Pointer_Button2 */
+    { 0x0000feeb, 21705 }, /* Pointer_Button3 */
+    { 0x0000feec, 21721 }, /* Pointer_Button4 */
+    { 0x0000feed, 21737 }, /* Pointer_Button5 */
+    { 0x0000feee, 21863 }, /* Pointer_DblClick_Dflt */
+    { 0x0000feef, 21773 }, /* Pointer_DblClick1 */
+    { 0x0000fef0, 21791 }, /* Pointer_DblClick2 */
+    { 0x0000fef1, 21809 }, /* Pointer_DblClick3 */
+    { 0x0000fef2, 21827 }, /* Pointer_DblClick4 */
+    { 0x0000fef3, 21845 }, /* Pointer_DblClick5 */
+    { 0x0000fef4, 22043 }, /* Pointer_Drag_Dflt */
+    { 0x0000fef5, 21973 }, /* Pointer_Drag1 */
+    { 0x0000fef6, 21987 }, /* Pointer_Drag2 */
+    { 0x0000fef7, 22001 }, /* Pointer_Drag3 */
+    { 0x0000fef8, 22015 }, /* Pointer_Drag4 */
+    { 0x0000fef9, 22061 }, /* Pointer_EnableKeys */
+    { 0x0000fefa, 21654 }, /* Pointer_Accelerate */
+    { 0x0000fefb, 21885 }, /* Pointer_DfltBtnNext */
+    { 0x0000fefc, 21905 }, /* Pointer_DfltBtnPrev */
+    { 0x0000fefd, 22029 }, /* Pointer_Drag5 */
     { 0x0000ff08, 3362 }, /* BackSpace */
-    { 0x0000ff09, 24298 }, /* Tab */
-    { 0x0000ff0a, 19434 }, /* Linefeed */
+    { 0x0000ff09, 24380 }, /* Tab */
+    { 0x0000ff0a, 19516 }, /* Linefeed */
     { 0x0000ff0b, 8633 }, /* Clear */
-    { 0x0000ff0d, 22366 }, /* Return */
-    { 0x0000ff13, 21481 }, /* Pause */
-    { 0x0000ff14, 22699 }, /* Scroll_Lock */
-    { 0x0000ff15, 24279 }, /* Sys_Req */
-    { 0x0000ff1b, 12057 }, /* Escape */
-    { 0x0000ff20, 19811 }, /* Multi_key */
-    { 0x0000ff21, 18745 }, /* Kanji */
-    { 0x0000ff22, 19802 }, /* Muhenkan */
-    { 0x0000ff23, 16614 }, /* Henkan_Mode */
-    { 0x0000ff24, 22562 }, /* Romaji */
-    { 0x0000ff25, 16635 }, /* Hiragana */
-    { 0x0000ff26, 18770 }, /* Katakana */
-    { 0x0000ff27, 16644 }, /* Hiragana_Katakana */
-    { 0x0000ff28, 29256 }, /* Zenkaku */
-    { 0x0000ff29, 16048 }, /* Hankaku */
-    { 0x0000ff2a, 29264 }, /* Zenkaku_Hankaku */
-    { 0x0000ff2b, 25752 }, /* Touroku */
-    { 0x0000ff2c, 19698 }, /* Massyo */
-    { 0x0000ff2d, 18351 }, /* Kana_Lock */
-    { 0x0000ff2e, 18562 }, /* Kana_Shift */
-    { 0x0000ff2f, 11779 }, /* Eisu_Shift */
-    { 0x0000ff30, 11790 }, /* Eisu_toggle */
-    { 0x0000ff31, 14392 }, /* Hangul */
-    { 0x0000ff32, 15780 }, /* Hangul_Start */
-    { 0x0000ff33, 14511 }, /* Hangul_End */
-    { 0x0000ff34, 14542 }, /* Hangul_Hanja */
-    { 0x0000ff35, 15128 }, /* Hangul_Jamo */
-    { 0x0000ff36, 15625 }, /* Hangul_Romaja */
+    { 0x0000ff0d, 22448 }, /* Return */
+    { 0x0000ff13, 21563 }, /* Pause */
+    { 0x0000ff14, 22781 }, /* Scroll_Lock */
+    { 0x0000ff15, 24361 }, /* Sys_Req */
+    { 0x0000ff1b, 12139 }, /* Escape */
+    { 0x0000ff20, 19893 }, /* Multi_key */
+    { 0x0000ff21, 18827 }, /* Kanji */
+    { 0x0000ff22, 19884 }, /* Muhenkan */
+    { 0x0000ff23, 16696 }, /* Henkan_Mode */
+    { 0x0000ff24, 22644 }, /* Romaji */
+    { 0x0000ff25, 16717 }, /* Hiragana */
+    { 0x0000ff26, 18852 }, /* Katakana */
+    { 0x0000ff27, 16726 }, /* Hiragana_Katakana */
+    { 0x0000ff28, 31407 }, /* Zenkaku */
+    { 0x0000ff29, 16130 }, /* Hankaku */
+    { 0x0000ff2a, 31415 }, /* Zenkaku_Hankaku */
+    { 0x0000ff2b, 25834 }, /* Touroku */
+    { 0x0000ff2c, 19780 }, /* Massyo */
+    { 0x0000ff2d, 18433 }, /* Kana_Lock */
+    { 0x0000ff2e, 18644 }, /* Kana_Shift */
+    { 0x0000ff2f, 11861 }, /* Eisu_Shift */
+    { 0x0000ff30, 11872 }, /* Eisu_toggle */
+    { 0x0000ff31, 14474 }, /* Hangul */
+    { 0x0000ff32, 15862 }, /* Hangul_Start */
+    { 0x0000ff33, 14593 }, /* Hangul_End */
+    { 0x0000ff34, 14624 }, /* Hangul_Hanja */
+    { 0x0000ff35, 15210 }, /* Hangul_Jamo */
+    { 0x0000ff36, 15707 }, /* Hangul_Romaja */
     { 0x0000ff37, 8654 }, /* Codeinput */
-    { 0x0000ff38, 15140 }, /* Hangul_Jeonja */
-    { 0x0000ff39, 14445 }, /* Hangul_Banja */
-    { 0x0000ff3a, 15420 }, /* Hangul_PreHanja */
-    { 0x0000ff3b, 15403 }, /* Hangul_PostHanja */
-    { 0x0000ff3c, 23012 }, /* SingleCandidate */
-    { 0x0000ff3d, 19821 }, /* MultipleCandidate */
-    { 0x0000ff3e, 22100 }, /* PreviousCandidate */
-    { 0x0000ff3f, 15674 }, /* Hangul_Special */
-    { 0x0000ff50, 16662 }, /* Home */
-    { 0x0000ff51, 19244 }, /* Left */
-    { 0x0000ff52, 26384 }, /* Up */
-    { 0x0000ff53, 22373 }, /* Right */
-    { 0x0000ff54, 11327 }, /* Down */
-    { 0x0000ff55, 22124 }, /* Prior */
-    { 0x0000ff56, 20023 }, /* Next */
-    { 0x0000ff57, 11936 }, /* End */
+    { 0x0000ff38, 15222 }, /* Hangul_Jeonja */
+    { 0x0000ff39, 14527 }, /* Hangul_Banja */
+    { 0x0000ff3a, 15502 }, /* Hangul_PreHanja */
+    { 0x0000ff3b, 15485 }, /* Hangul_PostHanja */
+    { 0x0000ff3c, 23094 }, /* SingleCandidate */
+    { 0x0000ff3d, 19903 }, /* MultipleCandidate */
+    { 0x0000ff3e, 22182 }, /* PreviousCandidate */
+    { 0x0000ff3f, 15756 }, /* Hangul_Special */
+    { 0x0000ff50, 16744 }, /* Home */
+    { 0x0000ff51, 19326 }, /* Left */
+    { 0x0000ff52, 26466 }, /* Up */
+    { 0x0000ff53, 22455 }, /* Right */
+    { 0x0000ff54, 11409 }, /* Down */
+    { 0x0000ff55, 22206 }, /* Prior */
+    { 0x0000ff56, 20105 }, /* Next */
+    { 0x0000ff57, 12018 }, /* End */
     { 0x0000ff58, 3404 }, /* Begin */
-    { 0x0000ff60, 22727 }, /* Select */
-    { 0x0000ff61, 22118 }, /* Print */
-    { 0x0000ff62, 12117 }, /* Execute */
-    { 0x0000ff63, 17284 }, /* Insert */
-    { 0x0000ff65, 26357 }, /* Undo */
-    { 0x0000ff66, 22326 }, /* Redo */
-    { 0x0000ff67, 19705 }, /* Menu */
-    { 0x0000ff68, 12531 }, /* Find */
+    { 0x0000ff60, 22809 }, /* Select */
+    { 0x0000ff61, 22200 }, /* Print */
+    { 0x0000ff62, 12199 }, /* Execute */
+    { 0x0000ff63, 17366 }, /* Insert */
+    { 0x0000ff65, 26439 }, /* Undo */
+    { 0x0000ff66, 22408 }, /* Redo */
+    { 0x0000ff67, 19787 }, /* Menu */
+    { 0x0000ff68, 12613 }, /* Find */
     { 0x0000ff69, 8489 }, /* Cancel */
-    { 0x0000ff6a, 16602 }, /* Help */
+    { 0x0000ff6a, 16684 }, /* Help */
     { 0x0000ff6b, 8377 }, /* Break */
-    { 0x0000ff7e, 19747 }, /* Mode_switch */
-    { 0x0000ff7f, 20169 }, /* Num_Lock */
-    { 0x0000ff80, 19074 }, /* KP_Space */
-    { 0x0000ff89, 19095 }, /* KP_Tab */
-    { 0x0000ff8d, 18931 }, /* KP_Enter */
-    { 0x0000ff91, 18949 }, /* KP_F1 */
-    { 0x0000ff92, 18955 }, /* KP_F2 */
-    { 0x0000ff93, 18961 }, /* KP_F3 */
-    { 0x0000ff94, 18967 }, /* KP_F4 */
-    { 0x0000ff95, 18973 }, /* KP_Home */
-    { 0x0000ff96, 18991 }, /* KP_Left */
-    { 0x0000ff97, 19102 }, /* KP_Up */
-    { 0x0000ff98, 19052 }, /* KP_Right */
-    { 0x0000ff99, 18916 }, /* KP_Down */
-    { 0x0000ff9a, 19043 }, /* KP_Prior */
-    { 0x0000ff9b, 19011 }, /* KP_Next */
-    { 0x0000ff9c, 18924 }, /* KP_End */
-    { 0x0000ff9d, 18876 }, /* KP_Begin */
-    { 0x0000ff9e, 18981 }, /* KP_Insert */
-    { 0x0000ff9f, 18896 }, /* KP_Delete */
-    { 0x0000ffaa, 18999 }, /* KP_Multiply */
-    { 0x0000ffab, 18858 }, /* KP_Add */
-    { 0x0000ffac, 19061 }, /* KP_Separator */
-    { 0x0000ffad, 19083 }, /* KP_Subtract */
-    { 0x0000ffae, 18885 }, /* KP_Decimal */
-    { 0x0000ffaf, 18906 }, /* KP_Divide */
-    { 0x0000ffb0, 18808 }, /* KP_0 */
-    { 0x0000ffb1, 18813 }, /* KP_1 */
-    { 0x0000ffb2, 18818 }, /* KP_2 */
-    { 0x0000ffb3, 18823 }, /* KP_3 */
-    { 0x0000ffb4, 18828 }, /* KP_4 */
-    { 0x0000ffb5, 18833 }, /* KP_5 */
-    { 0x0000ffb6, 18838 }, /* KP_6 */
-    { 0x0000ffb7, 18843 }, /* KP_7 */
-    { 0x0000ffb8, 18848 }, /* KP_8 */
-    { 0x0000ffb9, 18853 }, /* KP_9 */
-    { 0x0000ffbd, 18940 }, /* KP_Equal */
-    { 0x0000ffbe, 12159 }, /* F1 */
-    { 0x0000ffbf, 12202 }, /* F2 */
-    { 0x0000ffc0, 12245 }, /* F3 */
-    { 0x0000ffc1, 12272 }, /* F4 */
-    { 0x0000ffc2, 12275 }, /* F5 */
-    { 0x0000ffc3, 12278 }, /* F6 */
-    { 0x0000ffc4, 12281 }, /* F7 */
-    { 0x0000ffc5, 12284 }, /* F8 */
-    { 0x0000ffc6, 12287 }, /* F9 */
-    { 0x0000ffc7, 12162 }, /* F10 */
-    { 0x0000ffc8, 12166 }, /* F11 */
-    { 0x0000ffc9, 12170 }, /* F12 */
-    { 0x0000ffca, 12174 }, /* F13 */
-    { 0x0000ffcb, 12178 }, /* F14 */
-    { 0x0000ffcc, 12182 }, /* F15 */
-    { 0x0000ffcd, 12186 }, /* F16 */
-    { 0x0000ffce, 12190 }, /* F17 */
-    { 0x0000ffcf, 12194 }, /* F18 */
-    { 0x0000ffd0, 12198 }, /* F19 */
-    { 0x0000ffd1, 12205 }, /* F20 */
-    { 0x0000ffd2, 12209 }, /* F21 */
-    { 0x0000ffd3, 12213 }, /* F22 */
-    { 0x0000ffd4, 12217 }, /* F23 */
-    { 0x0000ffd5, 12221 }, /* F24 */
-    { 0x0000ffd6, 12225 }, /* F25 */
-    { 0x0000ffd7, 12229 }, /* F26 */
-    { 0x0000ffd8, 12233 }, /* F27 */
-    { 0x0000ffd9, 12237 }, /* F28 */
-    { 0x0000ffda, 12241 }, /* F29 */
-    { 0x0000ffdb, 12248 }, /* F30 */
-    { 0x0000ffdc, 12252 }, /* F31 */
-    { 0x0000ffdd, 12256 }, /* F32 */
-    { 0x0000ffde, 12260 }, /* F33 */
-    { 0x0000ffdf, 12264 }, /* F34 */
-    { 0x0000ffe0, 12268 }, /* F35 */
-    { 0x0000ffe1, 22946 }, /* Shift_L */
-    { 0x0000ffe2, 22965 }, /* Shift_R */
-    { 0x0000ffe3, 8697 }, /* Control_L */
-    { 0x0000ffe4, 8707 }, /* Control_R */
+    { 0x0000ff7e, 19829 }, /* Mode_switch */
+    { 0x0000ff7f, 20251 }, /* Num_Lock */
+    { 0x0000ff80, 19156 }, /* KP_Space */
+    { 0x0000ff89, 19177 }, /* KP_Tab */
+    { 0x0000ff8d, 19013 }, /* KP_Enter */
+    { 0x0000ff91, 19031 }, /* KP_F1 */
+    { 0x0000ff92, 19037 }, /* KP_F2 */
+    { 0x0000ff93, 19043 }, /* KP_F3 */
+    { 0x0000ff94, 19049 }, /* KP_F4 */
+    { 0x0000ff95, 19055 }, /* KP_Home */
+    { 0x0000ff96, 19073 }, /* KP_Left */
+    { 0x0000ff97, 19184 }, /* KP_Up */
+    { 0x0000ff98, 19134 }, /* KP_Right */
+    { 0x0000ff99, 18998 }, /* KP_Down */
+    { 0x0000ff9a, 19125 }, /* KP_Prior */
+    { 0x0000ff9b, 19093 }, /* KP_Next */
+    { 0x0000ff9c, 19006 }, /* KP_End */
+    { 0x0000ff9d, 18958 }, /* KP_Begin */
+    { 0x0000ff9e, 19063 }, /* KP_Insert */
+    { 0x0000ff9f, 18978 }, /* KP_Delete */
+    { 0x0000ffaa, 19081 }, /* KP_Multiply */
+    { 0x0000ffab, 18940 }, /* KP_Add */
+    { 0x0000ffac, 19143 }, /* KP_Separator */
+    { 0x0000ffad, 19165 }, /* KP_Subtract */
+    { 0x0000ffae, 18967 }, /* KP_Decimal */
+    { 0x0000ffaf, 18988 }, /* KP_Divide */
+    { 0x0000ffb0, 18890 }, /* KP_0 */
+    { 0x0000ffb1, 18895 }, /* KP_1 */
+    { 0x0000ffb2, 18900 }, /* KP_2 */
+    { 0x0000ffb3, 18905 }, /* KP_3 */
+    { 0x0000ffb4, 18910 }, /* KP_4 */
+    { 0x0000ffb5, 18915 }, /* KP_5 */
+    { 0x0000ffb6, 18920 }, /* KP_6 */
+    { 0x0000ffb7, 18925 }, /* KP_7 */
+    { 0x0000ffb8, 18930 }, /* KP_8 */
+    { 0x0000ffb9, 18935 }, /* KP_9 */
+    { 0x0000ffbd, 19022 }, /* KP_Equal */
+    { 0x0000ffbe, 12241 }, /* F1 */
+    { 0x0000ffbf, 12284 }, /* F2 */
+    { 0x0000ffc0, 12327 }, /* F3 */
+    { 0x0000ffc1, 12354 }, /* F4 */
+    { 0x0000ffc2, 12357 }, /* F5 */
+    { 0x0000ffc3, 12360 }, /* F6 */
+    { 0x0000ffc4, 12363 }, /* F7 */
+    { 0x0000ffc5, 12366 }, /* F8 */
+    { 0x0000ffc6, 12369 }, /* F9 */
+    { 0x0000ffc7, 12244 }, /* F10 */
+    { 0x0000ffc8, 12248 }, /* F11 */
+    { 0x0000ffc9, 12252 }, /* F12 */
+    { 0x0000ffca, 12256 }, /* F13 */
+    { 0x0000ffcb, 12260 }, /* F14 */
+    { 0x0000ffcc, 12264 }, /* F15 */
+    { 0x0000ffcd, 12268 }, /* F16 */
+    { 0x0000ffce, 12272 }, /* F17 */
+    { 0x0000ffcf, 12276 }, /* F18 */
+    { 0x0000ffd0, 12280 }, /* F19 */
+    { 0x0000ffd1, 12287 }, /* F20 */
+    { 0x0000ffd2, 12291 }, /* F21 */
+    { 0x0000ffd3, 12295 }, /* F22 */
+    { 0x0000ffd4, 12299 }, /* F23 */
+    { 0x0000ffd5, 12303 }, /* F24 */
+    { 0x0000ffd6, 12307 }, /* F25 */
+    { 0x0000ffd7, 12311 }, /* F26 */
+    { 0x0000ffd8, 12315 }, /* F27 */
+    { 0x0000ffd9, 12319 }, /* F28 */
+    { 0x0000ffda, 12323 }, /* F29 */
+    { 0x0000ffdb, 12330 }, /* F30 */
+    { 0x0000ffdc, 12334 }, /* F31 */
+    { 0x0000ffdd, 12338 }, /* F32 */
+    { 0x0000ffde, 12342 }, /* F33 */
+    { 0x0000ffdf, 12346 }, /* F34 */
+    { 0x0000ffe0, 12350 }, /* F35 */
+    { 0x0000ffe1, 23028 }, /* Shift_L */
+    { 0x0000ffe2, 23047 }, /* Shift_R */
+    { 0x0000ffe3, 8779 }, /* Control_L */
+    { 0x0000ffe4, 8789 }, /* Control_R */
     { 0x0000ffe5, 8496 }, /* Caps_Lock */
-    { 0x0000ffe6, 22954 }, /* Shift_Lock */
-    { 0x0000ffe7, 19710 }, /* Meta_L */
-    { 0x0000ffe8, 19717 }, /* Meta_R */
+    { 0x0000ffe6, 23036 }, /* Shift_Lock */
+    { 0x0000ffe7, 19792 }, /* Meta_L */
+    { 0x0000ffe8, 19799 }, /* Meta_R */
     { 0x0000ffe9, 880 }, /* Alt_L */
     { 0x0000ffea, 886 }, /* Alt_R */
-    { 0x0000ffeb, 24263 }, /* Super_L */
-    { 0x0000ffec, 24271 }, /* Super_R */
-    { 0x0000ffed, 17046 }, /* Hyper_L */
-    { 0x0000ffee, 17054 }, /* Hyper_R */
+    { 0x0000ffeb, 24345 }, /* Super_L */
+    { 0x0000ffec, 24353 }, /* Super_R */
+    { 0x0000ffed, 17128 }, /* Hyper_L */
+    { 0x0000ffee, 17136 }, /* Hyper_R */
     { 0x0000fff1, 3642 }, /* braille_dot_1 */
     { 0x0000fff2, 3671 }, /* braille_dot_2 */
     { 0x0000fff3, 3685 }, /* braille_dot_3 */
@@ -6134,60 +6740,65 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x0000fff8, 3755 }, /* braille_dot_8 */
     { 0x0000fff9, 3769 }, /* braille_dot_9 */
     { 0x0000fffa, 3656 }, /* braille_dot_10 */
-    { 0x0000ffff, 11160 }, /* Delete */
-    { 0x00ffffff, 26531 }, /* VoidSymbol */
-    { 0x0100012c, 17117 }, /* Ibreve */
-    { 0x0100012d, 17124 }, /* ibreve */
-    { 0x01000174, 26563 }, /* Wcircumflex */
-    { 0x01000175, 26575 }, /* wcircumflex */
-    { 0x01000176, 29105 }, /* Ycircumflex */
-    { 0x01000177, 29117 }, /* ycircumflex */
-    { 0x0100018f, 22649 }, /* SCHWA */
-    { 0x0100019f, 20218 }, /* Obarred */
-    { 0x010001a0, 20553 }, /* Ohorn */
-    { 0x010001a1, 20559 }, /* ohorn */
-    { 0x010001af, 25997 }, /* Uhorn */
-    { 0x010001b0, 26003 }, /* uhorn */
-    { 0x010001b5, 29307 }, /* Zstroke */
-    { 0x010001b6, 29315 }, /* zstroke */
-    { 0x010001b7, 12147 }, /* EZH */
-    { 0x010001d1, 20254 }, /* Ocaron */
-    { 0x010001d2, 20261 }, /* ocaron */
-    { 0x010001e6, 12703 }, /* Gcaron */
-    { 0x010001e7, 12710 }, /* gcaron */
-    { 0x01000259, 22655 }, /* schwa */
-    { 0x01000275, 20226 }, /* obarred */
-    { 0x01000292, 12151 }, /* ezh */
-    { 0x01000492, 9236 }, /* Cyrillic_GHE_bar */
-    { 0x01000493, 9253 }, /* Cyrillic_ghe_bar */
-    { 0x01000496, 10274 }, /* Cyrillic_ZHE_descender */
-    { 0x01000497, 10297 }, /* Cyrillic_zhe_descender */
-    { 0x0100049a, 9528 }, /* Cyrillic_KA_descender */
-    { 0x0100049b, 9550 }, /* Cyrillic_ka_descender */
-    { 0x0100049c, 9572 }, /* Cyrillic_KA_vertstroke */
-    { 0x0100049d, 9595 }, /* Cyrillic_ka_vertstroke */
-    { 0x010004a2, 9118 }, /* Cyrillic_EN_descender */
-    { 0x010004a3, 9140 }, /* Cyrillic_en_descender */
-    { 0x010004ae, 10036 }, /* Cyrillic_U_straight */
-    { 0x010004af, 10056 }, /* Cyrillic_u_straight */
-    { 0x010004b0, 10076 }, /* Cyrillic_U_straight_bar */
-    { 0x010004b1, 10100 }, /* Cyrillic_u_straight_bar */
-    { 0x010004b2, 9294 }, /* Cyrillic_HA_descender */
-    { 0x010004b3, 9316 }, /* Cyrillic_ha_descender */
-    { 0x010004b6, 8854 }, /* Cyrillic_CHE_descender */
-    { 0x010004b7, 8877 }, /* Cyrillic_che_descender */
-    { 0x010004b8, 8900 }, /* Cyrillic_CHE_vertstroke */
-    { 0x010004b9, 8924 }, /* Cyrillic_che_vertstroke */
-    { 0x010004ba, 9832 }, /* Cyrillic_SHHA */
-    { 0x010004bb, 9846 }, /* Cyrillic_shha */
-    { 0x010004d8, 9746 }, /* Cyrillic_SCHWA */
-    { 0x010004d9, 9761 }, /* Cyrillic_schwa */
-    { 0x010004e2, 9396 }, /* Cyrillic_I_macron */
-    { 0x010004e3, 9414 }, /* Cyrillic_i_macron */
-    { 0x010004e8, 9692 }, /* Cyrillic_O_bar */
-    { 0x010004e9, 9707 }, /* Cyrillic_o_bar */
-    { 0x010004ee, 10000 }, /* Cyrillic_U_macron */
-    { 0x010004ef, 10018 }, /* Cyrillic_u_macron */
+    { 0x0000ffff, 11242 }, /* Delete */
+    { 0x00ffffff, 26613 }, /* VoidSymbol */
+    { 0x0100012c, 17199 }, /* Ibreve */
+    { 0x0100012d, 17206 }, /* ibreve */
+    { 0x01000174, 26645 }, /* Wcircumflex */
+    { 0x01000175, 26657 }, /* wcircumflex */
+    { 0x01000176, 31256 }, /* Ycircumflex */
+    { 0x01000177, 31268 }, /* ycircumflex */
+    { 0x0100018f, 22731 }, /* SCHWA */
+    { 0x0100019f, 20300 }, /* Obarred */
+    { 0x010001a0, 20635 }, /* Ohorn */
+    { 0x010001a1, 20641 }, /* ohorn */
+    { 0x010001af, 26079 }, /* Uhorn */
+    { 0x010001b0, 26085 }, /* uhorn */
+    { 0x010001b5, 31458 }, /* Zstroke */
+    { 0x010001b6, 31466 }, /* zstroke */
+    { 0x010001b7, 12229 }, /* EZH */
+    { 0x010001d1, 20336 }, /* Ocaron */
+    { 0x010001d2, 20343 }, /* ocaron */
+    { 0x010001e6, 12785 }, /* Gcaron */
+    { 0x010001e7, 12792 }, /* gcaron */
+    { 0x01000259, 22737 }, /* schwa */
+    { 0x01000275, 20308 }, /* obarred */
+    { 0x01000292, 12233 }, /* ezh */
+    { 0x01000300, 8715 }, /* combining_grave */
+    { 0x01000301, 8680 }, /* combining_acute */
+    { 0x01000303, 8746 }, /* combining_tilde */
+    { 0x01000309, 8731 }, /* combining_hook */
+    { 0x01000323, 8696 }, /* combining_belowdot */
+    { 0x01000492, 9318 }, /* Cyrillic_GHE_bar */
+    { 0x01000493, 9335 }, /* Cyrillic_ghe_bar */
+    { 0x01000496, 10356 }, /* Cyrillic_ZHE_descender */
+    { 0x01000497, 10379 }, /* Cyrillic_zhe_descender */
+    { 0x0100049a, 9610 }, /* Cyrillic_KA_descender */
+    { 0x0100049b, 9632 }, /* Cyrillic_ka_descender */
+    { 0x0100049c, 9654 }, /* Cyrillic_KA_vertstroke */
+    { 0x0100049d, 9677 }, /* Cyrillic_ka_vertstroke */
+    { 0x010004a2, 9200 }, /* Cyrillic_EN_descender */
+    { 0x010004a3, 9222 }, /* Cyrillic_en_descender */
+    { 0x010004ae, 10118 }, /* Cyrillic_U_straight */
+    { 0x010004af, 10138 }, /* Cyrillic_u_straight */
+    { 0x010004b0, 10158 }, /* Cyrillic_U_straight_bar */
+    { 0x010004b1, 10182 }, /* Cyrillic_u_straight_bar */
+    { 0x010004b2, 9376 }, /* Cyrillic_HA_descender */
+    { 0x010004b3, 9398 }, /* Cyrillic_ha_descender */
+    { 0x010004b6, 8936 }, /* Cyrillic_CHE_descender */
+    { 0x010004b7, 8959 }, /* Cyrillic_che_descender */
+    { 0x010004b8, 8982 }, /* Cyrillic_CHE_vertstroke */
+    { 0x010004b9, 9006 }, /* Cyrillic_che_vertstroke */
+    { 0x010004ba, 9914 }, /* Cyrillic_SHHA */
+    { 0x010004bb, 9928 }, /* Cyrillic_shha */
+    { 0x010004d8, 9828 }, /* Cyrillic_SCHWA */
+    { 0x010004d9, 9843 }, /* Cyrillic_schwa */
+    { 0x010004e2, 9478 }, /* Cyrillic_I_macron */
+    { 0x010004e3, 9496 }, /* Cyrillic_i_macron */
+    { 0x010004e8, 9774 }, /* Cyrillic_O_bar */
+    { 0x010004e9, 9789 }, /* Cyrillic_o_bar */
+    { 0x010004ee, 10082 }, /* Cyrillic_U_macron */
+    { 0x010004ef, 10100 }, /* Cyrillic_u_macron */
     { 0x01000531, 2124 }, /* Armenian_AYB */
     { 0x01000532, 2150 }, /* Armenian_BEN */
     { 0x01000533, 2374 }, /* Armenian_GIM */
@@ -6299,162 +6910,162 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x010006ba, 1642 }, /* Arabic_noon_ghunna */
     { 0x010006be, 1442 }, /* Arabic_heh_doachashmee */
     { 0x010006c1, 1465 }, /* Arabic_heh_goal */
-    { 0x010006cc, 12390 }, /* Farsi_yeh */
+    { 0x010006cc, 12472 }, /* Farsi_yeh */
     { 0x010006d2, 1996 }, /* Arabic_yeh_baree */
     { 0x010006d4, 1242 }, /* Arabic_fullstop */
-    { 0x010006f0, 12310 }, /* Farsi_0 */
-    { 0x010006f1, 12318 }, /* Farsi_1 */
-    { 0x010006f2, 12326 }, /* Farsi_2 */
-    { 0x010006f3, 12334 }, /* Farsi_3 */
-    { 0x010006f4, 12342 }, /* Farsi_4 */
-    { 0x010006f5, 12350 }, /* Farsi_5 */
-    { 0x010006f6, 12358 }, /* Farsi_6 */
-    { 0x010006f7, 12366 }, /* Farsi_7 */
-    { 0x010006f8, 12374 }, /* Farsi_8 */
-    { 0x010006f9, 12382 }, /* Farsi_9 */
-    { 0x01000d82, 23484 }, /* Sinh_ng */
-    { 0x01000d83, 23278 }, /* Sinh_h2 */
-    { 0x01000d85, 23047 }, /* Sinh_a */
-    { 0x01000d86, 23054 }, /* Sinh_aa */
-    { 0x01000d87, 23071 }, /* Sinh_ae */
-    { 0x01000d88, 23088 }, /* Sinh_aee */
-    { 0x01000d89, 23294 }, /* Sinh_i */
-    { 0x01000d8a, 23309 }, /* Sinh_ii */
-    { 0x01000d8b, 23695 }, /* Sinh_u */
-    { 0x01000d8c, 23710 }, /* Sinh_uu */
-    { 0x01000d8d, 23594 }, /* Sinh_ri */
-    { 0x01000d8e, 23602 }, /* Sinh_rii */
-    { 0x01000d8f, 23403 }, /* Sinh_lu */
-    { 0x01000d90, 23420 }, /* Sinh_luu */
-    { 0x01000d91, 23221 }, /* Sinh_e */
-    { 0x01000d92, 23236 }, /* Sinh_ee */
-    { 0x01000d93, 23107 }, /* Sinh_ai */
-    { 0x01000d94, 23537 }, /* Sinh_o */
-    { 0x01000d95, 23552 }, /* Sinh_oo */
-    { 0x01000d96, 23132 }, /* Sinh_au */
-    { 0x01000d9a, 23353 }, /* Sinh_ka */
-    { 0x01000d9b, 23361 }, /* Sinh_kha */
-    { 0x01000d9c, 23261 }, /* Sinh_ga */
-    { 0x01000d9d, 23269 }, /* Sinh_gha */
-    { 0x01000d9e, 23492 }, /* Sinh_ng2 */
-    { 0x01000d9f, 23501 }, /* Sinh_nga */
-    { 0x01000da0, 23166 }, /* Sinh_ca */
-    { 0x01000da1, 23174 }, /* Sinh_cha */
-    { 0x01000da2, 23326 }, /* Sinh_ja */
-    { 0x01000da3, 23334 }, /* Sinh_jha */
-    { 0x01000da4, 23528 }, /* Sinh_nya */
-    { 0x01000da5, 23343 }, /* Sinh_jnya */
-    { 0x01000da6, 23510 }, /* Sinh_nja */
-    { 0x01000da7, 23676 }, /* Sinh_tta */
-    { 0x01000da8, 23685 }, /* Sinh_ttha */
-    { 0x01000da9, 23183 }, /* Sinh_dda */
-    { 0x01000daa, 23192 }, /* Sinh_ddha */
-    { 0x01000dab, 23519 }, /* Sinh_nna */
-    { 0x01000dac, 23464 }, /* Sinh_ndda */
-    { 0x01000dad, 23657 }, /* Sinh_tha */
-    { 0x01000dae, 23666 }, /* Sinh_thha */
-    { 0x01000daf, 23202 }, /* Sinh_dha */
-    { 0x01000db0, 23211 }, /* Sinh_dhha */
-    { 0x01000db1, 23456 }, /* Sinh_na */
-    { 0x01000db3, 23474 }, /* Sinh_ndha */
-    { 0x01000db4, 23569 }, /* Sinh_pa */
-    { 0x01000db5, 23577 }, /* Sinh_pha */
-    { 0x01000db6, 23149 }, /* Sinh_ba */
-    { 0x01000db7, 23157 }, /* Sinh_bha */
-    { 0x01000db8, 23439 }, /* Sinh_ma */
-    { 0x01000db9, 23447 }, /* Sinh_mba */
-    { 0x01000dba, 23735 }, /* Sinh_ya */
-    { 0x01000dbb, 23586 }, /* Sinh_ra */
-    { 0x01000dbd, 23386 }, /* Sinh_la */
-    { 0x01000dc0, 23727 }, /* Sinh_va */
-    { 0x01000dc1, 23638 }, /* Sinh_sha */
-    { 0x01000dc2, 23647 }, /* Sinh_ssha */
-    { 0x01000dc3, 23630 }, /* Sinh_sa */
-    { 0x01000dc4, 23286 }, /* Sinh_ha */
-    { 0x01000dc5, 23394 }, /* Sinh_lla */
-    { 0x01000dc6, 23253 }, /* Sinh_fa */
-    { 0x01000dca, 23124 }, /* Sinh_al */
-    { 0x01000dcf, 23062 }, /* Sinh_aa2 */
-    { 0x01000dd0, 23079 }, /* Sinh_ae2 */
-    { 0x01000dd1, 23097 }, /* Sinh_aee2 */
-    { 0x01000dd2, 23301 }, /* Sinh_i2 */
-    { 0x01000dd3, 23317 }, /* Sinh_ii2 */
-    { 0x01000dd4, 23702 }, /* Sinh_u2 */
-    { 0x01000dd6, 23718 }, /* Sinh_uu2 */
-    { 0x01000dd8, 23611 }, /* Sinh_ru2 */
-    { 0x01000dd9, 23228 }, /* Sinh_e2 */
-    { 0x01000dda, 23244 }, /* Sinh_ee2 */
-    { 0x01000ddb, 23115 }, /* Sinh_ai2 */
-    { 0x01000ddc, 23544 }, /* Sinh_o2 */
-    { 0x01000ddd, 23560 }, /* Sinh_oo2 */
-    { 0x01000dde, 23140 }, /* Sinh_au2 */
-    { 0x01000ddf, 23411 }, /* Sinh_lu2 */
-    { 0x01000df2, 23620 }, /* Sinh_ruu2 */
-    { 0x01000df3, 23429 }, /* Sinh_luu2 */
-    { 0x01000df4, 23370 }, /* Sinh_kunddaliya */
-    { 0x010010d0, 12759 }, /* Georgian_an */
-    { 0x010010d1, 12771 }, /* Georgian_ban */
-    { 0x010010d2, 12875 }, /* Georgian_gan */
-    { 0x010010d3, 12838 }, /* Georgian_don */
-    { 0x010010d4, 12851 }, /* Georgian_en */
-    { 0x010010d5, 13201 }, /* Georgian_vin */
-    { 0x010010d6, 13239 }, /* Georgian_zen */
-    { 0x010010d7, 13163 }, /* Georgian_tan */
-    { 0x010010d8, 12966 }, /* Georgian_in */
-    { 0x010010d9, 13005 }, /* Georgian_kan */
-    { 0x010010da, 13032 }, /* Georgian_las */
-    { 0x010010db, 13045 }, /* Georgian_man */
-    { 0x010010dc, 13058 }, /* Georgian_nar */
-    { 0x010010dd, 13071 }, /* Georgian_on */
-    { 0x010010de, 13083 }, /* Georgian_par */
-    { 0x010010df, 13252 }, /* Georgian_zhar */
-    { 0x010010e0, 13123 }, /* Georgian_rae */
-    { 0x010010e1, 13136 }, /* Georgian_san */
-    { 0x010010e2, 13176 }, /* Georgian_tar */
-    { 0x010010e3, 13189 }, /* Georgian_un */
-    { 0x010010e4, 13096 }, /* Georgian_phar */
-    { 0x010010e5, 13018 }, /* Georgian_khar */
-    { 0x010010e6, 12888 }, /* Georgian_ghan */
-    { 0x010010e7, 13110 }, /* Georgian_qar */
-    { 0x010010e8, 13149 }, /* Georgian_shin */
-    { 0x010010e9, 12811 }, /* Georgian_chin */
-    { 0x010010ea, 12784 }, /* Georgian_can */
-    { 0x010010eb, 12992 }, /* Georgian_jil */
-    { 0x010010ec, 12825 }, /* Georgian_cil */
-    { 0x010010ed, 12797 }, /* Georgian_char */
-    { 0x010010ee, 13226 }, /* Georgian_xan */
-    { 0x010010ef, 12978 }, /* Georgian_jhan */
-    { 0x010010f0, 12902 }, /* Georgian_hae */
-    { 0x010010f1, 12928 }, /* Georgian_he */
-    { 0x010010f2, 12940 }, /* Georgian_hie */
-    { 0x010010f3, 13214 }, /* Georgian_we */
-    { 0x010010f4, 12915 }, /* Georgian_har */
-    { 0x010010f5, 12953 }, /* Georgian_hoe */
-    { 0x010010f6, 12863 }, /* Georgian_fi */
+    { 0x010006f0, 12392 }, /* Farsi_0 */
+    { 0x010006f1, 12400 }, /* Farsi_1 */
+    { 0x010006f2, 12408 }, /* Farsi_2 */
+    { 0x010006f3, 12416 }, /* Farsi_3 */
+    { 0x010006f4, 12424 }, /* Farsi_4 */
+    { 0x010006f5, 12432 }, /* Farsi_5 */
+    { 0x010006f6, 12440 }, /* Farsi_6 */
+    { 0x010006f7, 12448 }, /* Farsi_7 */
+    { 0x010006f8, 12456 }, /* Farsi_8 */
+    { 0x010006f9, 12464 }, /* Farsi_9 */
+    { 0x01000d82, 23566 }, /* Sinh_ng */
+    { 0x01000d83, 23360 }, /* Sinh_h2 */
+    { 0x01000d85, 23129 }, /* Sinh_a */
+    { 0x01000d86, 23136 }, /* Sinh_aa */
+    { 0x01000d87, 23153 }, /* Sinh_ae */
+    { 0x01000d88, 23170 }, /* Sinh_aee */
+    { 0x01000d89, 23376 }, /* Sinh_i */
+    { 0x01000d8a, 23391 }, /* Sinh_ii */
+    { 0x01000d8b, 23777 }, /* Sinh_u */
+    { 0x01000d8c, 23792 }, /* Sinh_uu */
+    { 0x01000d8d, 23676 }, /* Sinh_ri */
+    { 0x01000d8e, 23684 }, /* Sinh_rii */
+    { 0x01000d8f, 23485 }, /* Sinh_lu */
+    { 0x01000d90, 23502 }, /* Sinh_luu */
+    { 0x01000d91, 23303 }, /* Sinh_e */
+    { 0x01000d92, 23318 }, /* Sinh_ee */
+    { 0x01000d93, 23189 }, /* Sinh_ai */
+    { 0x01000d94, 23619 }, /* Sinh_o */
+    { 0x01000d95, 23634 }, /* Sinh_oo */
+    { 0x01000d96, 23214 }, /* Sinh_au */
+    { 0x01000d9a, 23435 }, /* Sinh_ka */
+    { 0x01000d9b, 23443 }, /* Sinh_kha */
+    { 0x01000d9c, 23343 }, /* Sinh_ga */
+    { 0x01000d9d, 23351 }, /* Sinh_gha */
+    { 0x01000d9e, 23574 }, /* Sinh_ng2 */
+    { 0x01000d9f, 23583 }, /* Sinh_nga */
+    { 0x01000da0, 23248 }, /* Sinh_ca */
+    { 0x01000da1, 23256 }, /* Sinh_cha */
+    { 0x01000da2, 23408 }, /* Sinh_ja */
+    { 0x01000da3, 23416 }, /* Sinh_jha */
+    { 0x01000da4, 23610 }, /* Sinh_nya */
+    { 0x01000da5, 23425 }, /* Sinh_jnya */
+    { 0x01000da6, 23592 }, /* Sinh_nja */
+    { 0x01000da7, 23758 }, /* Sinh_tta */
+    { 0x01000da8, 23767 }, /* Sinh_ttha */
+    { 0x01000da9, 23265 }, /* Sinh_dda */
+    { 0x01000daa, 23274 }, /* Sinh_ddha */
+    { 0x01000dab, 23601 }, /* Sinh_nna */
+    { 0x01000dac, 23546 }, /* Sinh_ndda */
+    { 0x01000dad, 23739 }, /* Sinh_tha */
+    { 0x01000dae, 23748 }, /* Sinh_thha */
+    { 0x01000daf, 23284 }, /* Sinh_dha */
+    { 0x01000db0, 23293 }, /* Sinh_dhha */
+    { 0x01000db1, 23538 }, /* Sinh_na */
+    { 0x01000db3, 23556 }, /* Sinh_ndha */
+    { 0x01000db4, 23651 }, /* Sinh_pa */
+    { 0x01000db5, 23659 }, /* Sinh_pha */
+    { 0x01000db6, 23231 }, /* Sinh_ba */
+    { 0x01000db7, 23239 }, /* Sinh_bha */
+    { 0x01000db8, 23521 }, /* Sinh_ma */
+    { 0x01000db9, 23529 }, /* Sinh_mba */
+    { 0x01000dba, 23817 }, /* Sinh_ya */
+    { 0x01000dbb, 23668 }, /* Sinh_ra */
+    { 0x01000dbd, 23468 }, /* Sinh_la */
+    { 0x01000dc0, 23809 }, /* Sinh_va */
+    { 0x01000dc1, 23720 }, /* Sinh_sha */
+    { 0x01000dc2, 23729 }, /* Sinh_ssha */
+    { 0x01000dc3, 23712 }, /* Sinh_sa */
+    { 0x01000dc4, 23368 }, /* Sinh_ha */
+    { 0x01000dc5, 23476 }, /* Sinh_lla */
+    { 0x01000dc6, 23335 }, /* Sinh_fa */
+    { 0x01000dca, 23206 }, /* Sinh_al */
+    { 0x01000dcf, 23144 }, /* Sinh_aa2 */
+    { 0x01000dd0, 23161 }, /* Sinh_ae2 */
+    { 0x01000dd1, 23179 }, /* Sinh_aee2 */
+    { 0x01000dd2, 23383 }, /* Sinh_i2 */
+    { 0x01000dd3, 23399 }, /* Sinh_ii2 */
+    { 0x01000dd4, 23784 }, /* Sinh_u2 */
+    { 0x01000dd6, 23800 }, /* Sinh_uu2 */
+    { 0x01000dd8, 23693 }, /* Sinh_ru2 */
+    { 0x01000dd9, 23310 }, /* Sinh_e2 */
+    { 0x01000dda, 23326 }, /* Sinh_ee2 */
+    { 0x01000ddb, 23197 }, /* Sinh_ai2 */
+    { 0x01000ddc, 23626 }, /* Sinh_o2 */
+    { 0x01000ddd, 23642 }, /* Sinh_oo2 */
+    { 0x01000dde, 23222 }, /* Sinh_au2 */
+    { 0x01000ddf, 23493 }, /* Sinh_lu2 */
+    { 0x01000df2, 23702 }, /* Sinh_ruu2 */
+    { 0x01000df3, 23511 }, /* Sinh_luu2 */
+    { 0x01000df4, 23452 }, /* Sinh_kunddaliya */
+    { 0x010010d0, 12841 }, /* Georgian_an */
+    { 0x010010d1, 12853 }, /* Georgian_ban */
+    { 0x010010d2, 12957 }, /* Georgian_gan */
+    { 0x010010d3, 12920 }, /* Georgian_don */
+    { 0x010010d4, 12933 }, /* Georgian_en */
+    { 0x010010d5, 13283 }, /* Georgian_vin */
+    { 0x010010d6, 13321 }, /* Georgian_zen */
+    { 0x010010d7, 13245 }, /* Georgian_tan */
+    { 0x010010d8, 13048 }, /* Georgian_in */
+    { 0x010010d9, 13087 }, /* Georgian_kan */
+    { 0x010010da, 13114 }, /* Georgian_las */
+    { 0x010010db, 13127 }, /* Georgian_man */
+    { 0x010010dc, 13140 }, /* Georgian_nar */
+    { 0x010010dd, 13153 }, /* Georgian_on */
+    { 0x010010de, 13165 }, /* Georgian_par */
+    { 0x010010df, 13334 }, /* Georgian_zhar */
+    { 0x010010e0, 13205 }, /* Georgian_rae */
+    { 0x010010e1, 13218 }, /* Georgian_san */
+    { 0x010010e2, 13258 }, /* Georgian_tar */
+    { 0x010010e3, 13271 }, /* Georgian_un */
+    { 0x010010e4, 13178 }, /* Georgian_phar */
+    { 0x010010e5, 13100 }, /* Georgian_khar */
+    { 0x010010e6, 12970 }, /* Georgian_ghan */
+    { 0x010010e7, 13192 }, /* Georgian_qar */
+    { 0x010010e8, 13231 }, /* Georgian_shin */
+    { 0x010010e9, 12893 }, /* Georgian_chin */
+    { 0x010010ea, 12866 }, /* Georgian_can */
+    { 0x010010eb, 13074 }, /* Georgian_jil */
+    { 0x010010ec, 12907 }, /* Georgian_cil */
+    { 0x010010ed, 12879 }, /* Georgian_char */
+    { 0x010010ee, 13308 }, /* Georgian_xan */
+    { 0x010010ef, 13060 }, /* Georgian_jhan */
+    { 0x010010f0, 12984 }, /* Georgian_hae */
+    { 0x010010f1, 13010 }, /* Georgian_he */
+    { 0x010010f2, 13022 }, /* Georgian_hie */
+    { 0x010010f3, 13296 }, /* Georgian_we */
+    { 0x010010f4, 12997 }, /* Georgian_har */
+    { 0x010010f5, 13035 }, /* Georgian_hoe */
+    { 0x010010f6, 12945 }, /* Georgian_fi */
     { 0x01001e02, 3332 }, /* Babovedot */
     { 0x01001e03, 3342 }, /* babovedot */
-    { 0x01001e0a, 10324 }, /* Dabovedot */
-    { 0x01001e0b, 10334 }, /* dabovedot */
-    { 0x01001e1e, 12290 }, /* Fabovedot */
-    { 0x01001e1f, 12300 }, /* fabovedot */
-    { 0x01001e36, 19192 }, /* Lbelowdot */
-    { 0x01001e37, 19202 }, /* lbelowdot */
-    { 0x01001e40, 19537 }, /* Mabovedot */
-    { 0x01001e41, 19547 }, /* mabovedot */
-    { 0x01001e56, 21377 }, /* Pabovedot */
-    { 0x01001e57, 21387 }, /* pabovedot */
-    { 0x01001e60, 22583 }, /* Sabovedot */
-    { 0x01001e61, 22593 }, /* sabovedot */
-    { 0x01001e6a, 24302 }, /* Tabovedot */
-    { 0x01001e6b, 24312 }, /* tabovedot */
-    { 0x01001e80, 26609 }, /* Wgrave */
-    { 0x01001e81, 26616 }, /* wgrave */
-    { 0x01001e82, 26549 }, /* Wacute */
-    { 0x01001e83, 26556 }, /* wacute */
-    { 0x01001e84, 26587 }, /* Wdiaeresis */
-    { 0x01001e85, 26598 }, /* wdiaeresis */
-    { 0x01001e8a, 26635 }, /* Xabovedot */
-    { 0x01001e8b, 26645 }, /* xabovedot */
+    { 0x01001e0a, 10406 }, /* Dabovedot */
+    { 0x01001e0b, 10416 }, /* dabovedot */
+    { 0x01001e1e, 12372 }, /* Fabovedot */
+    { 0x01001e1f, 12382 }, /* fabovedot */
+    { 0x01001e36, 19274 }, /* Lbelowdot */
+    { 0x01001e37, 19284 }, /* lbelowdot */
+    { 0x01001e40, 19619 }, /* Mabovedot */
+    { 0x01001e41, 19629 }, /* mabovedot */
+    { 0x01001e56, 21459 }, /* Pabovedot */
+    { 0x01001e57, 21469 }, /* pabovedot */
+    { 0x01001e60, 22665 }, /* Sabovedot */
+    { 0x01001e61, 22675 }, /* sabovedot */
+    { 0x01001e6a, 24384 }, /* Tabovedot */
+    { 0x01001e6b, 24394 }, /* tabovedot */
+    { 0x01001e80, 26691 }, /* Wgrave */
+    { 0x01001e81, 26698 }, /* wgrave */
+    { 0x01001e82, 26631 }, /* Wacute */
+    { 0x01001e83, 26638 }, /* wacute */
+    { 0x01001e84, 26669 }, /* Wdiaeresis */
+    { 0x01001e85, 26680 }, /* wdiaeresis */
+    { 0x01001e8a, 26717 }, /* Xabovedot */
+    { 0x01001e8b, 26727 }, /* xabovedot */
     { 0x01001ea0, 416 }, /* Abelowdot */
     { 0x01001ea1, 426 }, /* abelowdot */
     { 0x01001ea2, 868 }, /* Ahook */
@@ -6479,116 +7090,116 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x01001eb5, 571 }, /* abrevetilde */
     { 0x01001eb6, 483 }, /* Abrevebelowdot */
     { 0x01001eb7, 498 }, /* abrevebelowdot */
-    { 0x01001eb8, 11462 }, /* Ebelowdot */
-    { 0x01001eb9, 11472 }, /* ebelowdot */
-    { 0x01001eba, 11738 }, /* Ehook */
-    { 0x01001ebb, 11744 }, /* ehook */
-    { 0x01001ebc, 12076 }, /* Etilde */
-    { 0x01001ebd, 12083 }, /* etilde */
-    { 0x01001ebe, 11520 }, /* Ecircumflexacute */
-    { 0x01001ebf, 11537 }, /* ecircumflexacute */
-    { 0x01001ec0, 11594 }, /* Ecircumflexgrave */
-    { 0x01001ec1, 11611 }, /* ecircumflexgrave */
-    { 0x01001ec2, 11628 }, /* Ecircumflexhook */
-    { 0x01001ec3, 11644 }, /* ecircumflexhook */
-    { 0x01001ec4, 11660 }, /* Ecircumflextilde */
-    { 0x01001ec5, 11677 }, /* ecircumflextilde */
-    { 0x01001ec6, 11554 }, /* Ecircumflexbelowdot */
-    { 0x01001ec7, 11574 }, /* ecircumflexbelowdot */
-    { 0x01001ec8, 17219 }, /* Ihook */
-    { 0x01001ec9, 17225 }, /* ihook */
-    { 0x01001eca, 17097 }, /* Ibelowdot */
-    { 0x01001ecb, 17107 }, /* ibelowdot */
-    { 0x01001ecc, 20234 }, /* Obelowdot */
-    { 0x01001ecd, 20244 }, /* obelowdot */
-    { 0x01001ece, 20541 }, /* Ohook */
-    { 0x01001ecf, 20547 }, /* ohook */
-    { 0x01001ed0, 20292 }, /* Ocircumflexacute */
-    { 0x01001ed1, 20309 }, /* ocircumflexacute */
-    { 0x01001ed2, 20366 }, /* Ocircumflexgrave */
-    { 0x01001ed3, 20383 }, /* ocircumflexgrave */
-    { 0x01001ed4, 20400 }, /* Ocircumflexhook */
-    { 0x01001ed5, 20416 }, /* ocircumflexhook */
-    { 0x01001ed6, 20432 }, /* Ocircumflextilde */
-    { 0x01001ed7, 20449 }, /* ocircumflextilde */
-    { 0x01001ed8, 20326 }, /* Ocircumflexbelowdot */
-    { 0x01001ed9, 20346 }, /* ocircumflexbelowdot */
-    { 0x01001eda, 20565 }, /* Ohornacute */
-    { 0x01001edb, 20576 }, /* ohornacute */
-    { 0x01001edc, 20615 }, /* Ohorngrave */
-    { 0x01001edd, 20626 }, /* ohorngrave */
-    { 0x01001ede, 20637 }, /* Ohornhook */
-    { 0x01001edf, 20647 }, /* ohornhook */
-    { 0x01001ee0, 20657 }, /* Ohorntilde */
-    { 0x01001ee1, 20668 }, /* ohorntilde */
-    { 0x01001ee2, 20587 }, /* Ohornbelowdot */
-    { 0x01001ee3, 20601 }, /* ohornbelowdot */
-    { 0x01001ee4, 25865 }, /* Ubelowdot */
-    { 0x01001ee5, 25875 }, /* ubelowdot */
-    { 0x01001ee6, 25985 }, /* Uhook */
-    { 0x01001ee7, 25991 }, /* uhook */
-    { 0x01001ee8, 26009 }, /* Uhornacute */
-    { 0x01001ee9, 26020 }, /* uhornacute */
-    { 0x01001eea, 26059 }, /* Uhorngrave */
-    { 0x01001eeb, 26070 }, /* uhorngrave */
-    { 0x01001eec, 26081 }, /* Uhornhook */
-    { 0x01001eed, 26091 }, /* uhornhook */
-    { 0x01001eee, 26101 }, /* Uhorntilde */
-    { 0x01001eef, 26112 }, /* uhorntilde */
-    { 0x01001ef0, 26031 }, /* Uhornbelowdot */
-    { 0x01001ef1, 26045 }, /* uhornbelowdot */
-    { 0x01001ef2, 29155 }, /* Ygrave */
-    { 0x01001ef3, 29162 }, /* ygrave */
-    { 0x01001ef4, 29085 }, /* Ybelowdot */
-    { 0x01001ef5, 29095 }, /* ybelowdot */
-    { 0x01001ef6, 29169 }, /* Yhook */
-    { 0x01001ef7, 29175 }, /* yhook */
-    { 0x01001ef8, 29181 }, /* Ytilde */
-    { 0x01001ef9, 29188 }, /* ytilde */
-    { 0x01002070, 29294 }, /* zerosuperior */
-    { 0x01002074, 12632 }, /* foursuperior */
-    { 0x01002075, 12594 }, /* fivesuperior */
-    { 0x01002076, 23756 }, /* sixsuperior */
-    { 0x01002077, 22932 }, /* sevensuperior */
-    { 0x01002078, 11765 }, /* eightsuperior */
-    { 0x01002079, 20062 }, /* ninesuperior */
-    { 0x01002080, 29280 }, /* zerosubscript */
-    { 0x01002081, 20742 }, /* onesubscript */
-    { 0x01002082, 25812 }, /* twosubscript */
-    { 0x01002083, 25556 }, /* threesubscript */
-    { 0x01002084, 12618 }, /* foursubscript */
-    { 0x01002085, 12580 }, /* fivesubscript */
-    { 0x01002086, 23743 }, /* sixsubscript */
-    { 0x01002087, 22917 }, /* sevensubscript */
-    { 0x01002088, 11750 }, /* eightsubscript */
-    { 0x01002089, 20048 }, /* ninesubscript */
-    { 0x010020a0, 11694 }, /* EcuSign */
+    { 0x01001eb8, 11544 }, /* Ebelowdot */
+    { 0x01001eb9, 11554 }, /* ebelowdot */
+    { 0x01001eba, 11820 }, /* Ehook */
+    { 0x01001ebb, 11826 }, /* ehook */
+    { 0x01001ebc, 12158 }, /* Etilde */
+    { 0x01001ebd, 12165 }, /* etilde */
+    { 0x01001ebe, 11602 }, /* Ecircumflexacute */
+    { 0x01001ebf, 11619 }, /* ecircumflexacute */
+    { 0x01001ec0, 11676 }, /* Ecircumflexgrave */
+    { 0x01001ec1, 11693 }, /* ecircumflexgrave */
+    { 0x01001ec2, 11710 }, /* Ecircumflexhook */
+    { 0x01001ec3, 11726 }, /* ecircumflexhook */
+    { 0x01001ec4, 11742 }, /* Ecircumflextilde */
+    { 0x01001ec5, 11759 }, /* ecircumflextilde */
+    { 0x01001ec6, 11636 }, /* Ecircumflexbelowdot */
+    { 0x01001ec7, 11656 }, /* ecircumflexbelowdot */
+    { 0x01001ec8, 17301 }, /* Ihook */
+    { 0x01001ec9, 17307 }, /* ihook */
+    { 0x01001eca, 17179 }, /* Ibelowdot */
+    { 0x01001ecb, 17189 }, /* ibelowdot */
+    { 0x01001ecc, 20316 }, /* Obelowdot */
+    { 0x01001ecd, 20326 }, /* obelowdot */
+    { 0x01001ece, 20623 }, /* Ohook */
+    { 0x01001ecf, 20629 }, /* ohook */
+    { 0x01001ed0, 20374 }, /* Ocircumflexacute */
+    { 0x01001ed1, 20391 }, /* ocircumflexacute */
+    { 0x01001ed2, 20448 }, /* Ocircumflexgrave */
+    { 0x01001ed3, 20465 }, /* ocircumflexgrave */
+    { 0x01001ed4, 20482 }, /* Ocircumflexhook */
+    { 0x01001ed5, 20498 }, /* ocircumflexhook */
+    { 0x01001ed6, 20514 }, /* Ocircumflextilde */
+    { 0x01001ed7, 20531 }, /* ocircumflextilde */
+    { 0x01001ed8, 20408 }, /* Ocircumflexbelowdot */
+    { 0x01001ed9, 20428 }, /* ocircumflexbelowdot */
+    { 0x01001eda, 20647 }, /* Ohornacute */
+    { 0x01001edb, 20658 }, /* ohornacute */
+    { 0x01001edc, 20697 }, /* Ohorngrave */
+    { 0x01001edd, 20708 }, /* ohorngrave */
+    { 0x01001ede, 20719 }, /* Ohornhook */
+    { 0x01001edf, 20729 }, /* ohornhook */
+    { 0x01001ee0, 20739 }, /* Ohorntilde */
+    { 0x01001ee1, 20750 }, /* ohorntilde */
+    { 0x01001ee2, 20669 }, /* Ohornbelowdot */
+    { 0x01001ee3, 20683 }, /* ohornbelowdot */
+    { 0x01001ee4, 25947 }, /* Ubelowdot */
+    { 0x01001ee5, 25957 }, /* ubelowdot */
+    { 0x01001ee6, 26067 }, /* Uhook */
+    { 0x01001ee7, 26073 }, /* uhook */
+    { 0x01001ee8, 26091 }, /* Uhornacute */
+    { 0x01001ee9, 26102 }, /* uhornacute */
+    { 0x01001eea, 26141 }, /* Uhorngrave */
+    { 0x01001eeb, 26152 }, /* uhorngrave */
+    { 0x01001eec, 26163 }, /* Uhornhook */
+    { 0x01001eed, 26173 }, /* uhornhook */
+    { 0x01001eee, 26183 }, /* Uhorntilde */
+    { 0x01001eef, 26194 }, /* uhorntilde */
+    { 0x01001ef0, 26113 }, /* Uhornbelowdot */
+    { 0x01001ef1, 26127 }, /* uhornbelowdot */
+    { 0x01001ef2, 31306 }, /* Ygrave */
+    { 0x01001ef3, 31313 }, /* ygrave */
+    { 0x01001ef4, 31236 }, /* Ybelowdot */
+    { 0x01001ef5, 31246 }, /* ybelowdot */
+    { 0x01001ef6, 31320 }, /* Yhook */
+    { 0x01001ef7, 31326 }, /* yhook */
+    { 0x01001ef8, 31332 }, /* Ytilde */
+    { 0x01001ef9, 31339 }, /* ytilde */
+    { 0x01002070, 31445 }, /* zerosuperior */
+    { 0x01002074, 12714 }, /* foursuperior */
+    { 0x01002075, 12676 }, /* fivesuperior */
+    { 0x01002076, 23838 }, /* sixsuperior */
+    { 0x01002077, 23014 }, /* sevensuperior */
+    { 0x01002078, 11847 }, /* eightsuperior */
+    { 0x01002079, 20144 }, /* ninesuperior */
+    { 0x01002080, 31431 }, /* zerosubscript */
+    { 0x01002081, 20824 }, /* onesubscript */
+    { 0x01002082, 25894 }, /* twosubscript */
+    { 0x01002083, 25638 }, /* threesubscript */
+    { 0x01002084, 12700 }, /* foursubscript */
+    { 0x01002085, 12662 }, /* fivesubscript */
+    { 0x01002086, 23825 }, /* sixsubscript */
+    { 0x01002087, 22999 }, /* sevensubscript */
+    { 0x01002088, 11832 }, /* eightsubscript */
+    { 0x01002089, 20130 }, /* ninesubscript */
+    { 0x010020a0, 11776 }, /* EcuSign */
     { 0x010020a1, 8670 }, /* ColonSign */
-    { 0x010020a2, 8744 }, /* CruzeiroSign */
-    { 0x010020a3, 12416 }, /* FFrancSign */
-    { 0x010020a4, 19448 }, /* LiraSign */
-    { 0x010020a5, 19724 }, /* MillSign */
-    { 0x010020a6, 19967 }, /* NairaSign */
-    { 0x010020a7, 21526 }, /* PesetaSign */
-    { 0x010020a8, 22569 }, /* RupeeSign */
-    { 0x010020a9, 26623 }, /* WonSign */
-    { 0x010020aa, 20009 }, /* NewSheqelSign */
-    { 0x010020ab, 11258 }, /* DongSign */
-    { 0x01002202, 21446 }, /* partdifferential */
-    { 0x01002205, 11919 }, /* emptyset */
-    { 0x01002208, 11802 }, /* elementof */
-    { 0x01002209, 20112 }, /* notelementof */
-    { 0x0100220b, 8686 }, /* containsas */
-    { 0x0100221a, 23809 }, /* squareroot */
-    { 0x0100221b, 8757 }, /* cuberoot */
-    { 0x0100221c, 12645 }, /* fourthroot */
-    { 0x0100222c, 11232 }, /* dintegral */
-    { 0x0100222d, 25585 }, /* tintegral */
+    { 0x010020a2, 8826 }, /* CruzeiroSign */
+    { 0x010020a3, 12498 }, /* FFrancSign */
+    { 0x010020a4, 19530 }, /* LiraSign */
+    { 0x010020a5, 19806 }, /* MillSign */
+    { 0x010020a6, 20049 }, /* NairaSign */
+    { 0x010020a7, 21608 }, /* PesetaSign */
+    { 0x010020a8, 22651 }, /* RupeeSign */
+    { 0x010020a9, 26705 }, /* WonSign */
+    { 0x010020aa, 20091 }, /* NewSheqelSign */
+    { 0x010020ab, 11340 }, /* DongSign */
+    { 0x01002202, 21528 }, /* partdifferential */
+    { 0x01002205, 12001 }, /* emptyset */
+    { 0x01002208, 11884 }, /* elementof */
+    { 0x01002209, 20194 }, /* notelementof */
+    { 0x0100220b, 8768 }, /* containsas */
+    { 0x0100221a, 23891 }, /* squareroot */
+    { 0x0100221b, 8839 }, /* cuberoot */
+    { 0x0100221c, 12727 }, /* fourthroot */
+    { 0x0100222c, 11314 }, /* dintegral */
+    { 0x0100222d, 25667 }, /* tintegral */
     { 0x01002235, 3396 }, /* because */
-    { 0x01002247, 20100 }, /* notapproxeq */
+    { 0x01002247, 20182 }, /* notapproxeq */
     { 0x01002248, 945 }, /* approxeq */
-    { 0x01002262, 20134 }, /* notidentical */
-    { 0x01002263, 23854 }, /* stricteq */
+    { 0x01002262, 20216 }, /* notidentical */
+    { 0x01002263, 23936 }, /* stricteq */
     { 0x01002800, 3628 }, /* braille_blank */
     { 0x01002801, 3783 }, /* braille_dots_1 */
     { 0x01002802, 6151 }, /* braille_dots_2 */
@@ -6845,282 +7456,422 @@ static const struct name_keysym keysym_to_name[] = {
     { 0x010028fd, 5104 }, /* braille_dots_1345678 */
     { 0x010028fe, 6256 }, /* braille_dots_2345678 */
     { 0x010028ff, 3909 }, /* braille_dots_12345678 */
-    { 0x100000a8, 16910 }, /* hpmute_acute */
-    { 0x100000a9, 16977 }, /* hpmute_grave */
-    { 0x100000aa, 16923 }, /* hpmute_asciicircum */
-    { 0x100000ab, 16960 }, /* hpmute_diaeresis */
-    { 0x100000ac, 16942 }, /* hpmute_asciitilde */
-    { 0x100000af, 16867 }, /* hplira */
-    { 0x100000be, 16813 }, /* hpguilder */
-    { 0x100000ee, 17014 }, /* hpYdiaeresis */
-    { 0x100000f6, 16874 }, /* hplongminus */
-    { 0x100000fc, 16767 }, /* hpblock */
-    { 0x1000fe22, 10414 }, /* Ddiaeresis */
-    { 0x1000fe27, 10344 }, /* Dacute_accent */
-    { 0x1000fe2c, 10379 }, /* Dcedilla_accent */
-    { 0x1000fe5e, 10395 }, /* Dcircumflex_accent */
-    { 0x1000fe60, 11189 }, /* Dgrave_accent */
-    { 0x1000fe7e, 11417 }, /* Dtilde */
-    { 0x1000feb0, 11388 }, /* Dring_accent */
-    { 0x1000ff00, 11380 }, /* DRemove */
-    { 0x1000ff48, 16886 }, /* hpModelock1 */
-    { 0x1000ff49, 16898 }, /* hpModelock2 */
-    { 0x1000ff6c, 16990 }, /* hpReset */
-    { 0x1000ff6d, 16998 }, /* hpSystem */
-    { 0x1000ff6e, 17007 }, /* hpUser */
-    { 0x1000ff6f, 16775 }, /* hpClearLine */
-    { 0x1000ff70, 16836 }, /* hpInsertLine */
-    { 0x1000ff71, 16800 }, /* hpDeleteLine */
-    { 0x1000ff72, 16823 }, /* hpInsertChar */
-    { 0x1000ff73, 16787 }, /* hpDeleteChar */
-    { 0x1000ff74, 16757 }, /* hpBackTab */
-    { 0x1000ff75, 16854 }, /* hpKP_BackTab */
-    { 0x1000ff76, 12125 }, /* Ext16bit_L */
-    { 0x1000ff77, 12136 }, /* Ext16bit_R */
-    { 0x1004ff02, 20956 }, /* osfCopy */
-    { 0x1004ff03, 20964 }, /* osfCut */
-    { 0x1004ff04, 21163 }, /* osfPaste */
-    { 0x1004ff07, 20900 }, /* osfBackTab */
-    { 0x1004ff08, 20887 }, /* osfBackSpace */
-    { 0x1004ff0b, 20947 }, /* osfClear */
-    { 0x1004ff1b, 21026 }, /* osfEscape */
-    { 0x1004ff31, 20876 }, /* osfAddMode */
-    { 0x1004ff32, 21197 }, /* osfPrimaryPaste */
-    { 0x1004ff33, 21213 }, /* osfQuickPaste */
-    { 0x1004ff40, 21128 }, /* osfPageLeft */
-    { 0x1004ff41, 21153 }, /* osfPageUp */
-    { 0x1004ff42, 21116 }, /* osfPageDown */
-    { 0x1004ff43, 21140 }, /* osfPageRight */
-    { 0x1004ff44, 20864 }, /* osfActivate */
-    { 0x1004ff45, 21080 }, /* osfMenuBar */
-    { 0x1004ff51, 21064 }, /* osfLeft */
-    { 0x1004ff52, 21290 }, /* osfUp */
-    { 0x1004ff53, 21250 }, /* osfRight */
-    { 0x1004ff54, 20996 }, /* osfDown */
-    { 0x1004ff57, 21015 }, /* osfEndLine */
-    { 0x1004ff58, 20924 }, /* osfBeginLine */
-    { 0x1004ff59, 21004 }, /* osfEndData */
-    { 0x1004ff5a, 20911 }, /* osfBeginData */
-    { 0x1004ff5b, 21185 }, /* osfPrevMenu */
-    { 0x1004ff5c, 21104 }, /* osfNextMenu */
-    { 0x1004ff5d, 21172 }, /* osfPrevField */
-    { 0x1004ff5e, 21091 }, /* osfNextField */
-    { 0x1004ff60, 21259 }, /* osfSelect */
-    { 0x1004ff63, 21054 }, /* osfInsert */
-    { 0x1004ff65, 21282 }, /* osfUndo */
-    { 0x1004ff67, 21072 }, /* osfMenu */
-    { 0x1004ff69, 20937 }, /* osfCancel */
-    { 0x1004ff6a, 21046 }, /* osfHelp */
-    { 0x1004ff71, 21269 }, /* osfSelectAll */
-    { 0x1004ff72, 20981 }, /* osfDeselectAll */
-    { 0x1004ff73, 21227 }, /* osfReselect */
-    { 0x1004ff74, 21036 }, /* osfExtend */
-    { 0x1004ff78, 21239 }, /* osfRestore */
-    { 0x1004ffff, 20971 }, /* osfDelete */
-    { 0x1005ff00, 24032 }, /* SunFA_Grave */
-    { 0x1005ff01, 24003 }, /* SunFA_Circum */
-    { 0x1005ff02, 24044 }, /* SunFA_Tilde */
-    { 0x1005ff03, 23977 }, /* SunFA_Acute */
-    { 0x1005ff04, 24016 }, /* SunFA_Diaeresis */
-    { 0x1005ff05, 23989 }, /* SunFA_Cedilla */
-    { 0x1005ff10, 23963 }, /* SunF36 */
-    { 0x1005ff11, 23970 }, /* SunF37 */
-    { 0x1005ff60, 24180 }, /* SunSys_Req */
-    { 0x1005ff70, 24163 }, /* SunProps */
-    { 0x1005ff71, 24064 }, /* SunFront */
-    { 0x1005ff72, 23948 }, /* SunCopy */
-    { 0x1005ff73, 24073 }, /* SunOpen */
-    { 0x1005ff74, 24103 }, /* SunPaste */
-    { 0x1005ff75, 23956 }, /* SunCut */
-    { 0x1005ff76, 24112 }, /* SunPowerSwitch */
-    { 0x1005ff77, 23884 }, /* SunAudioLowerVolume */
-    { 0x1005ff78, 23904 }, /* SunAudioMute */
-    { 0x1005ff79, 23917 }, /* SunAudioRaiseVolume */
-    { 0x1005ff7a, 24199 }, /* SunVideoDegauss */
-    { 0x1005ff7b, 24215 }, /* SunVideoLowerBrightness */
-    { 0x1005ff7c, 24239 }, /* SunVideoRaiseBrightness */
-    { 0x1005ff7d, 24127 }, /* SunPowerSwitchShift */
-    { 0x1008fe01, 28537 }, /* XF86Switch_VT_1 */
-    { 0x1008fe02, 28604 }, /* XF86Switch_VT_2 */
-    { 0x1008fe03, 28620 }, /* XF86Switch_VT_3 */
-    { 0x1008fe04, 28636 }, /* XF86Switch_VT_4 */
-    { 0x1008fe05, 28652 }, /* XF86Switch_VT_5 */
-    { 0x1008fe06, 28668 }, /* XF86Switch_VT_6 */
-    { 0x1008fe07, 28684 }, /* XF86Switch_VT_7 */
-    { 0x1008fe08, 28700 }, /* XF86Switch_VT_8 */
-    { 0x1008fe09, 28716 }, /* XF86Switch_VT_9 */
-    { 0x1008fe0a, 28553 }, /* XF86Switch_VT_10 */
-    { 0x1008fe0b, 28570 }, /* XF86Switch_VT_11 */
-    { 0x1008fe0c, 28587 }, /* XF86Switch_VT_12 */
-    { 0x1008fe20, 28863 }, /* XF86Ungrab */
-    { 0x1008fe21, 27151 }, /* XF86ClearGrab */
-    { 0x1008fe22, 28014 }, /* XF86Next_VMode */
-    { 0x1008fe23, 28136 }, /* XF86Prev_VMode */
-    { 0x1008fe24, 27771 }, /* XF86LogWindowTree */
-    { 0x1008fe25, 27744 }, /* XF86LogGrabInfo */
-    { 0x1008ff01, 27882 }, /* XF86ModeLock */
-    { 0x1008ff02, 27940 }, /* XF86MonBrightnessUp */
-    { 0x1008ff03, 27918 }, /* XF86MonBrightnessDown */
-    { 0x1008ff04, 27507 }, /* XF86KbdLightOnOff */
-    { 0x1008ff05, 27487 }, /* XF86KbdBrightnessUp */
-    { 0x1008ff06, 27465 }, /* XF86KbdBrightnessDown */
-    { 0x1008ff07, 27895 }, /* XF86MonBrightnessCycle */
-    { 0x1008ff10, 28469 }, /* XF86Standby */
-    { 0x1008ff11, 26749 }, /* XF86AudioLowerVolume */
-    { 0x1008ff12, 26802 }, /* XF86AudioMute */
-    { 0x1008ff13, 26889 }, /* XF86AudioRaiseVolume */
-    { 0x1008ff14, 26845 }, /* XF86AudioPlay */
-    { 0x1008ff15, 26978 }, /* XF86AudioStop */
-    { 0x1008ff16, 26875 }, /* XF86AudioPrev */
-    { 0x1008ff17, 26816 }, /* XF86AudioNext */
-    { 0x1008ff18, 27428 }, /* XF86HomePage */
-    { 0x1008ff19, 27789 }, /* XF86Mail */
-    { 0x1008ff1a, 28481 }, /* XF86Start */
-    { 0x1008ff1b, 28393 }, /* XF86Search */
-    { 0x1008ff1c, 26930 }, /* XF86AudioRecord */
-    { 0x1008ff1d, 27106 }, /* XF86Calculator */
-    { 0x1008ff1e, 27837 }, /* XF86Memo */
-    { 0x1008ff1f, 28767 }, /* XF86ToDoList */
-    { 0x1008ff20, 27121 }, /* XF86Calendar */
-    { 0x1008ff21, 28109 }, /* XF86PowerDown */
-    { 0x1008ff22, 27189 }, /* XF86ContrastAdjust */
-    { 0x1008ff23, 28240 }, /* XF86RockerUp */
-    { 0x1008ff24, 28209 }, /* XF86RockerDown */
-    { 0x1008ff25, 28224 }, /* XF86RockerEnter */
-    { 0x1008ff26, 27001 }, /* XF86Back */
-    { 0x1008ff27, 27333 }, /* XF86Forward */
-    { 0x1008ff28, 28491 }, /* XF86Stop */
-    { 0x1008ff29, 28165 }, /* XF86Refresh */
-    { 0x1008ff2a, 28123 }, /* XF86PowerOff */
-    { 0x1008ff2b, 28951 }, /* XF86WakeUp */
-    { 0x1008ff2c, 27274 }, /* XF86Eject */
-    { 0x1008ff2d, 28333 }, /* XF86ScreenSaver */
-    { 0x1008ff2e, 29016 }, /* XF86WWW */
-    { 0x1008ff2f, 28433 }, /* XF86Sleep */
-    { 0x1008ff30, 27307 }, /* XF86Favorites */
-    { 0x1008ff31, 26830 }, /* XF86AudioPause */
-    { 0x1008ff32, 26770 }, /* XF86AudioMedia */
-    { 0x1008ff33, 27970 }, /* XF86MyComputer */
-    { 0x1008ff34, 28917 }, /* XF86VendorHome */
-    { 0x1008ff35, 27730 }, /* XF86LightBulb */
-    { 0x1008ff36, 28424 }, /* XF86Shop */
-    { 0x1008ff37, 27416 }, /* XF86History */
-    { 0x1008ff38, 28053 }, /* XF86OpenURL */
-    { 0x1008ff39, 26655 }, /* XF86AddFavorite */
-    { 0x1008ff3a, 27441 }, /* XF86HotLinks */
-    { 0x1008ff3b, 27070 }, /* XF86BrightnessAdjust */
-    { 0x1008ff3c, 27321 }, /* XF86Finance */
-    { 0x1008ff3d, 27175 }, /* XF86Community */
-    { 0x1008ff3e, 26962 }, /* XF86AudioRewind */
-    { 0x1008ff3f, 27010 }, /* XF86BackForward */
-    { 0x1008ff40, 27538 }, /* XF86Launch0 */
-    { 0x1008ff41, 27550 }, /* XF86Launch1 */
-    { 0x1008ff42, 27562 }, /* XF86Launch2 */
-    { 0x1008ff43, 27574 }, /* XF86Launch3 */
-    { 0x1008ff44, 27586 }, /* XF86Launch4 */
-    { 0x1008ff45, 27598 }, /* XF86Launch5 */
-    { 0x1008ff46, 27610 }, /* XF86Launch6 */
-    { 0x1008ff47, 27622 }, /* XF86Launch7 */
-    { 0x1008ff48, 27634 }, /* XF86Launch8 */
-    { 0x1008ff49, 27646 }, /* XF86Launch9 */
-    { 0x1008ff4a, 27658 }, /* XF86LaunchA */
-    { 0x1008ff4b, 27670 }, /* XF86LaunchB */
-    { 0x1008ff4c, 27682 }, /* XF86LaunchC */
-    { 0x1008ff4d, 27694 }, /* XF86LaunchD */
-    { 0x1008ff4e, 27706 }, /* XF86LaunchE */
-    { 0x1008ff4f, 27718 }, /* XF86LaunchF */
-    { 0x1008ff50, 26671 }, /* XF86ApplicationLeft */
-    { 0x1008ff51, 26691 }, /* XF86ApplicationRight */
-    { 0x1008ff52, 27061 }, /* XF86Book */
-    { 0x1008ff53, 27134 }, /* XF86CD */
-    { 0x1008ff54, 27091 }, /* XF86Calculater */
-    { 0x1008ff55, 27141 }, /* XF86Clear */
-    { 0x1008ff56, 27165 }, /* XF86Close */
-    { 0x1008ff57, 27208 }, /* XF86Copy */
-    { 0x1008ff58, 27217 }, /* XF86Cut */
-    { 0x1008ff59, 27240 }, /* XF86Display */
-    { 0x1008ff5a, 27266 }, /* XF86DOS */
-    { 0x1008ff5b, 27252 }, /* XF86Documents */
-    { 0x1008ff5c, 27284 }, /* XF86Excel */
-    { 0x1008ff5d, 27294 }, /* XF86Explorer */
-    { 0x1008ff5e, 27376 }, /* XF86Game */
-    { 0x1008ff5f, 27385 }, /* XF86Go */
-    { 0x1008ff60, 27454 }, /* XF86iTouch */
-    { 0x1008ff61, 27760 }, /* XF86LogOff */
-    { 0x1008ff62, 27814 }, /* XF86Market */
-    { 0x1008ff63, 27825 }, /* XF86Meeting */
-    { 0x1008ff65, 27846 }, /* XF86MenuKB */
-    { 0x1008ff66, 27857 }, /* XF86MenuPB */
-    { 0x1008ff67, 27985 }, /* XF86MySites */
-    { 0x1008ff68, 27997 }, /* XF86New */
-    { 0x1008ff69, 28005 }, /* XF86News */
-    { 0x1008ff6a, 28029 }, /* XF86OfficeHome */
-    { 0x1008ff6b, 28044 }, /* XF86Open */
-    { 0x1008ff6c, 28065 }, /* XF86Option */
-    { 0x1008ff6d, 28076 }, /* XF86Paste */
-    { 0x1008ff6e, 28086 }, /* XF86Phone */
-    { 0x1008ff70, 28151 }, /* XF86Q */
-    { 0x1008ff72, 28188 }, /* XF86Reply */
-    { 0x1008ff73, 28177 }, /* XF86Reload */
-    { 0x1008ff74, 28253 }, /* XF86RotateWindows */
-    { 0x1008ff75, 28309 }, /* XF86RotationPB */
-    { 0x1008ff76, 28271 }, /* XF86RotationKB */
-    { 0x1008ff77, 28324 }, /* XF86Save */
-    { 0x1008ff78, 28380 }, /* XF86ScrollUp */
-    { 0x1008ff79, 28365 }, /* XF86ScrollDown */
-    { 0x1008ff7a, 28349 }, /* XF86ScrollClick */
-    { 0x1008ff7b, 28415 }, /* XF86Send */
-    { 0x1008ff7c, 28443 }, /* XF86Spell */
-    { 0x1008ff7d, 28453 }, /* XF86SplitScreen */
-    { 0x1008ff7e, 28513 }, /* XF86Support */
-    { 0x1008ff7f, 28732 }, /* XF86TaskPane */
-    { 0x1008ff80, 28745 }, /* XF86Terminal */
-    { 0x1008ff81, 28780 }, /* XF86Tools */
-    { 0x1008ff82, 28852 }, /* XF86Travel */
-    { 0x1008ff84, 28898 }, /* XF86UserPB */
-    { 0x1008ff85, 28874 }, /* XF86User1KB */
-    { 0x1008ff86, 28886 }, /* XF86User2KB */
-    { 0x1008ff87, 28932 }, /* XF86Video */
-    { 0x1008ff88, 28973 }, /* XF86WheelButton */
-    { 0x1008ff89, 28998 }, /* XF86Word */
-    { 0x1008ff8a, 29024 }, /* XF86Xfer */
-    { 0x1008ff8b, 29044 }, /* XF86ZoomIn */
-    { 0x1008ff8c, 29055 }, /* XF86ZoomOut */
-    { 0x1008ff8d, 26992 }, /* XF86Away */
-    { 0x1008ff8e, 27868 }, /* XF86Messenger */
-    { 0x1008ff8f, 28962 }, /* XF86WebCam */
-    { 0x1008ff90, 27798 }, /* XF86MailForward */
-    { 0x1008ff91, 28096 }, /* XF86Pictures */
-    { 0x1008ff92, 27960 }, /* XF86Music */
-    { 0x1008ff93, 27026 }, /* XF86Battery */
-    { 0x1008ff94, 27047 }, /* XF86Bluetooth */
-    { 0x1008ff95, 28989 }, /* XF86WLAN */
-    { 0x1008ff96, 28909 }, /* XF86UWB */
-    { 0x1008ff97, 26732 }, /* XF86AudioForward */
-    { 0x1008ff98, 26946 }, /* XF86AudioRepeat */
-    { 0x1008ff99, 26910 }, /* XF86AudioRandomPlay */
-    { 0x1008ff9a, 28500 }, /* XF86Subtitle */
-    { 0x1008ff9b, 26712 }, /* XF86AudioCycleTrack */
-    { 0x1008ff9c, 27225 }, /* XF86CycleAngle */
-    { 0x1008ff9d, 27345 }, /* XF86FrameBack */
-    { 0x1008ff9e, 27359 }, /* XF86FrameForward */
-    { 0x1008ff9f, 28758 }, /* XF86Time */
-    { 0x1008ffa0, 28404 }, /* XF86Select */
-    { 0x1008ffa1, 28942 }, /* XF86View */
-    { 0x1008ffa2, 28790 }, /* XF86TopMenu */
-    { 0x1008ffa3, 28157 }, /* XF86Red */
-    { 0x1008ffa4, 27392 }, /* XF86Green */
-    { 0x1008ffa5, 29033 }, /* XF86Yellow */
-    { 0x1008ffa6, 27038 }, /* XF86Blue */
-    { 0x1008ffa7, 28525 }, /* XF86Suspend */
-    { 0x1008ffa8, 27402 }, /* XF86Hibernate */
-    { 0x1008ffa9, 28833 }, /* XF86TouchpadToggle */
-    { 0x1008ffb0, 28818 }, /* XF86TouchpadOn */
-    { 0x1008ffb1, 28802 }, /* XF86TouchpadOff */
-    { 0x1008ffb2, 26785 }, /* XF86AudioMicMute */
-    { 0x1008ffb3, 27525 }, /* XF86Keyboard */
-    { 0x1008ffb4, 29007 }, /* XF86WWAN */
-    { 0x1008ffb5, 28198 }, /* XF86RFKill */
-    { 0x1008ffb6, 26859 }, /* XF86AudioPreset */
-    { 0x1008ffb7, 28286 }, /* XF86RotationLockToggle */
+    { 0x100000a8, 16992 }, /* hpmute_acute */
+    { 0x100000a9, 17059 }, /* hpmute_grave */
+    { 0x100000aa, 17005 }, /* hpmute_asciicircum */
+    { 0x100000ab, 17042 }, /* hpmute_diaeresis */
+    { 0x100000ac, 17024 }, /* hpmute_asciitilde */
+    { 0x100000af, 16949 }, /* hplira */
+    { 0x100000be, 16895 }, /* hpguilder */
+    { 0x100000ee, 17096 }, /* hpYdiaeresis */
+    { 0x100000f6, 16956 }, /* hplongminus */
+    { 0x100000fc, 16849 }, /* hpblock */
+    { 0x1000fe22, 10496 }, /* Ddiaeresis */
+    { 0x1000fe27, 10426 }, /* Dacute_accent */
+    { 0x1000fe2c, 10461 }, /* Dcedilla_accent */
+    { 0x1000fe5e, 10477 }, /* Dcircumflex_accent */
+    { 0x1000fe60, 11271 }, /* Dgrave_accent */
+    { 0x1000fe7e, 11499 }, /* Dtilde */
+    { 0x1000feb0, 11470 }, /* Dring_accent */
+    { 0x1000ff00, 11462 }, /* DRemove */
+    { 0x1000ff48, 16968 }, /* hpModelock1 */
+    { 0x1000ff49, 16980 }, /* hpModelock2 */
+    { 0x1000ff6c, 17072 }, /* hpReset */
+    { 0x1000ff6d, 17080 }, /* hpSystem */
+    { 0x1000ff6e, 17089 }, /* hpUser */
+    { 0x1000ff6f, 16857 }, /* hpClearLine */
+    { 0x1000ff70, 16918 }, /* hpInsertLine */
+    { 0x1000ff71, 16882 }, /* hpDeleteLine */
+    { 0x1000ff72, 16905 }, /* hpInsertChar */
+    { 0x1000ff73, 16869 }, /* hpDeleteChar */
+    { 0x1000ff74, 16839 }, /* hpBackTab */
+    { 0x1000ff75, 16936 }, /* hpKP_BackTab */
+    { 0x1000ff76, 12207 }, /* Ext16bit_L */
+    { 0x1000ff77, 12218 }, /* Ext16bit_R */
+    { 0x1004ff02, 21038 }, /* osfCopy */
+    { 0x1004ff03, 21046 }, /* osfCut */
+    { 0x1004ff04, 21245 }, /* osfPaste */
+    { 0x1004ff07, 20982 }, /* osfBackTab */
+    { 0x1004ff08, 20969 }, /* osfBackSpace */
+    { 0x1004ff0b, 21029 }, /* osfClear */
+    { 0x1004ff1b, 21108 }, /* osfEscape */
+    { 0x1004ff31, 20958 }, /* osfAddMode */
+    { 0x1004ff32, 21279 }, /* osfPrimaryPaste */
+    { 0x1004ff33, 21295 }, /* osfQuickPaste */
+    { 0x1004ff40, 21210 }, /* osfPageLeft */
+    { 0x1004ff41, 21235 }, /* osfPageUp */
+    { 0x1004ff42, 21198 }, /* osfPageDown */
+    { 0x1004ff43, 21222 }, /* osfPageRight */
+    { 0x1004ff44, 20946 }, /* osfActivate */
+    { 0x1004ff45, 21162 }, /* osfMenuBar */
+    { 0x1004ff51, 21146 }, /* osfLeft */
+    { 0x1004ff52, 21372 }, /* osfUp */
+    { 0x1004ff53, 21332 }, /* osfRight */
+    { 0x1004ff54, 21078 }, /* osfDown */
+    { 0x1004ff57, 21097 }, /* osfEndLine */
+    { 0x1004ff58, 21006 }, /* osfBeginLine */
+    { 0x1004ff59, 21086 }, /* osfEndData */
+    { 0x1004ff5a, 20993 }, /* osfBeginData */
+    { 0x1004ff5b, 21267 }, /* osfPrevMenu */
+    { 0x1004ff5c, 21186 }, /* osfNextMenu */
+    { 0x1004ff5d, 21254 }, /* osfPrevField */
+    { 0x1004ff5e, 21173 }, /* osfNextField */
+    { 0x1004ff60, 21341 }, /* osfSelect */
+    { 0x1004ff63, 21136 }, /* osfInsert */
+    { 0x1004ff65, 21364 }, /* osfUndo */
+    { 0x1004ff67, 21154 }, /* osfMenu */
+    { 0x1004ff69, 21019 }, /* osfCancel */
+    { 0x1004ff6a, 21128 }, /* osfHelp */
+    { 0x1004ff71, 21351 }, /* osfSelectAll */
+    { 0x1004ff72, 21063 }, /* osfDeselectAll */
+    { 0x1004ff73, 21309 }, /* osfReselect */
+    { 0x1004ff74, 21118 }, /* osfExtend */
+    { 0x1004ff78, 21321 }, /* osfRestore */
+    { 0x1004ffff, 21053 }, /* osfDelete */
+    { 0x1005ff00, 24114 }, /* SunFA_Grave */
+    { 0x1005ff01, 24085 }, /* SunFA_Circum */
+    { 0x1005ff02, 24126 }, /* SunFA_Tilde */
+    { 0x1005ff03, 24059 }, /* SunFA_Acute */
+    { 0x1005ff04, 24098 }, /* SunFA_Diaeresis */
+    { 0x1005ff05, 24071 }, /* SunFA_Cedilla */
+    { 0x1005ff10, 24045 }, /* SunF36 */
+    { 0x1005ff11, 24052 }, /* SunF37 */
+    { 0x1005ff60, 24262 }, /* SunSys_Req */
+    { 0x1005ff70, 24245 }, /* SunProps */
+    { 0x1005ff71, 24146 }, /* SunFront */
+    { 0x1005ff72, 24030 }, /* SunCopy */
+    { 0x1005ff73, 24155 }, /* SunOpen */
+    { 0x1005ff74, 24185 }, /* SunPaste */
+    { 0x1005ff75, 24038 }, /* SunCut */
+    { 0x1005ff76, 24194 }, /* SunPowerSwitch */
+    { 0x1005ff77, 23966 }, /* SunAudioLowerVolume */
+    { 0x1005ff78, 23986 }, /* SunAudioMute */
+    { 0x1005ff79, 23999 }, /* SunAudioRaiseVolume */
+    { 0x1005ff7a, 24281 }, /* SunVideoDegauss */
+    { 0x1005ff7b, 24297 }, /* SunVideoLowerBrightness */
+    { 0x1005ff7c, 24321 }, /* SunVideoRaiseBrightness */
+    { 0x1005ff7d, 24209 }, /* SunPowerSwitchShift */
+    { 0x100810f4, 27381 }, /* XF86BrightnessAuto */
+    { 0x100810f5, 27821 }, /* XF86DisplayOff */
+    { 0x10081166, 28203 }, /* XF86Info */
+    { 0x10081177, 26885 }, /* XF86AspectRatio */
+    { 0x10081185, 27876 }, /* XF86DVD */
+    { 0x10081188, 26968 }, /* XF86Audio */
+    { 0x10081192, 27629 }, /* XF86ChannelUp */
+    { 0x10081193, 27613 }, /* XF86ChannelDown */
+    { 0x1008119b, 27350 }, /* XF86Break */
+    { 0x100811a0, 31011 }, /* XF86VideoPhone */
+    { 0x100811a4, 31204 }, /* XF86ZoomReset */
+    { 0x100811a6, 27884 }, /* XF86Editor */
+    { 0x100811a8, 28095 }, /* XF86GraphicsEditor */
+    { 0x100811a9, 30012 }, /* XF86Presentation */
+    { 0x100811aa, 27784 }, /* XF86Database */
+    { 0x100811ac, 31060 }, /* XF86Voicemail */
+    { 0x100811ad, 26800 }, /* XF86Addressbook */
+    { 0x100811af, 27836 }, /* XF86DisplayToggle */
+    { 0x100811b0, 30465 }, /* XF86SpellCheck */
+    { 0x100811b6, 27691 }, /* XF86ContextMenu */
+    { 0x100811b7, 29332 }, /* XF86MediaRepeat */
+    { 0x100811b8, 26756 }, /* XF8610ChannelsUp */
+    { 0x100811b9, 26737 }, /* XF8610ChannelsDown */
+    { 0x100811ba, 28192 }, /* XF86Images */
+    { 0x100811bc, 29586 }, /* XF86NotificationCenter */
+    { 0x100811bd, 29956 }, /* XF86PickupPhone */
+    { 0x100811be, 28124 }, /* XF86HangupPhone */
+    { 0x100811d0, 27986 }, /* XF86Fn */
+    { 0x100811d1, 27993 }, /* XF86Fn_Esc */
+    { 0x100811e5, 28004 }, /* XF86FnRightShift */
+    { 0x10081200, 29609 }, /* XF86Numeric0 */
+    { 0x10081201, 29622 }, /* XF86Numeric1 */
+    { 0x10081202, 29663 }, /* XF86Numeric2 */
+    { 0x10081203, 29676 }, /* XF86Numeric3 */
+    { 0x10081204, 29689 }, /* XF86Numeric4 */
+    { 0x10081205, 29702 }, /* XF86Numeric5 */
+    { 0x10081206, 29715 }, /* XF86Numeric6 */
+    { 0x10081207, 29728 }, /* XF86Numeric7 */
+    { 0x10081208, 29741 }, /* XF86Numeric8 */
+    { 0x10081209, 29754 }, /* XF86Numeric9 */
+    { 0x1008120a, 29836 }, /* XF86NumericStar */
+    { 0x1008120b, 29819 }, /* XF86NumericPound */
+    { 0x1008120c, 29767 }, /* XF86NumericA */
+    { 0x1008120d, 29780 }, /* XF86NumericB */
+    { 0x1008120e, 29793 }, /* XF86NumericC */
+    { 0x1008120f, 29806 }, /* XF86NumericD */
+    { 0x10081210, 27511 }, /* XF86CameraFocus */
+    { 0x10081211, 31130 }, /* XF86WPSButton */
+    { 0x10081215, 27571 }, /* XF86CameraZoomIn */
+    { 0x10081216, 27588 }, /* XF86CameraZoomOut */
+    { 0x10081217, 27558 }, /* XF86CameraUp */
+    { 0x10081218, 27496 }, /* XF86CameraDown */
+    { 0x10081219, 27527 }, /* XF86CameraLeft */
+    { 0x1008121a, 27542 }, /* XF86CameraRight */
+    { 0x1008121b, 26932 }, /* XF86AttendantOn */
+    { 0x1008121c, 26915 }, /* XF86AttendantOff */
+    { 0x1008121d, 26948 }, /* XF86AttendantToggle */
+    { 0x1008121e, 28770 }, /* XF86LightsToggle */
+    { 0x10081230, 26816 }, /* XF86ALSToggle */
+    { 0x10081240, 27436 }, /* XF86Buttonconfig */
+    { 0x10081241, 30774 }, /* XF86Taskmanager */
+    { 0x10081242, 28223 }, /* XF86Journal */
+    { 0x10081243, 27726 }, /* XF86ControlPanel */
+    { 0x10081244, 26871 }, /* XF86AppSelect */
+    { 0x10081245, 30305 }, /* XF86Screensaver */
+    { 0x10081246, 31043 }, /* XF86VoiceCommand */
+    { 0x10081247, 26901 }, /* XF86Assistant */
+    { 0x10081249, 27905 }, /* XF86EmojiPicker */
+    { 0x1008124a, 27797 }, /* XF86Dictate */
+    { 0x10081250, 27418 }, /* XF86BrightnessMin */
+    { 0x10081251, 27400 }, /* XF86BrightnessMax */
+    { 0x10081260, 28378 }, /* XF86KbdInputAssistPrev */
+    { 0x10081261, 28327 }, /* XF86KbdInputAssistNext */
+    { 0x10081262, 28401 }, /* XF86KbdInputAssistPrevgroup */
+    { 0x10081263, 28350 }, /* XF86KbdInputAssistNextgroup */
+    { 0x10081264, 28277 }, /* XF86KbdInputAssistAccept */
+    { 0x10081265, 28302 }, /* XF86KbdInputAssistCancel */
+    { 0x10081266, 30140 }, /* XF86RightUp */
+    { 0x10081267, 30126 }, /* XF86RightDown */
+    { 0x10081268, 28745 }, /* XF86LeftUp */
+    { 0x10081269, 28732 }, /* XF86LeftDown */
+    { 0x1008126a, 30196 }, /* XF86RootMenu */
+    { 0x1008126b, 29348 }, /* XF86MediaTopMenu */
+    { 0x1008126c, 29635 }, /* XF86Numeric11 */
+    { 0x1008126d, 29649 }, /* XF86Numeric12 */
+    { 0x1008126e, 26998 }, /* XF86AudioDesc */
+    { 0x1008126f, 26773 }, /* XF863DMode */
+    { 0x10081270, 29569 }, /* XF86NextFavorite */
+    { 0x10081271, 30527 }, /* XF86StopRecord */
+    { 0x10081272, 29930 }, /* XF86PauseRecord */
+    { 0x10081273, 31035 }, /* XF86VOD */
+    { 0x10081274, 30932 }, /* XF86Unmute */
+    { 0x10081275, 27944 }, /* XF86FastReverse */
+    { 0x10081276, 30439 }, /* XF86SlowReverse */
+    { 0x10081277, 27775 }, /* XF86Data */
+    { 0x10081278, 29867 }, /* XF86OnScreenKeyboard */
+    { 0x10081279, 30044 }, /* XF86PrivacyScreenToggle */
+    { 0x1008127a, 30387 }, /* XF86SelectiveScreenshot */
+    { 0x10081290, 28832 }, /* XF86Macro1 */
+    { 0x10081291, 28963 }, /* XF86Macro2 */
+    { 0x10081292, 29094 }, /* XF86Macro3 */
+    { 0x10081293, 29117 }, /* XF86Macro4 */
+    { 0x10081294, 29128 }, /* XF86Macro5 */
+    { 0x10081295, 29139 }, /* XF86Macro6 */
+    { 0x10081296, 29150 }, /* XF86Macro7 */
+    { 0x10081297, 29161 }, /* XF86Macro8 */
+    { 0x10081298, 29172 }, /* XF86Macro9 */
+    { 0x10081299, 28843 }, /* XF86Macro10 */
+    { 0x1008129a, 28855 }, /* XF86Macro11 */
+    { 0x1008129b, 28867 }, /* XF86Macro12 */
+    { 0x1008129c, 28879 }, /* XF86Macro13 */
+    { 0x1008129d, 28891 }, /* XF86Macro14 */
+    { 0x1008129e, 28903 }, /* XF86Macro15 */
+    { 0x1008129f, 28915 }, /* XF86Macro16 */
+    { 0x100812a0, 28927 }, /* XF86Macro17 */
+    { 0x100812a1, 28939 }, /* XF86Macro18 */
+    { 0x100812a2, 28951 }, /* XF86Macro19 */
+    { 0x100812a3, 28974 }, /* XF86Macro20 */
+    { 0x100812a4, 28986 }, /* XF86Macro21 */
+    { 0x100812a5, 28998 }, /* XF86Macro22 */
+    { 0x100812a6, 29010 }, /* XF86Macro23 */
+    { 0x100812a7, 29022 }, /* XF86Macro24 */
+    { 0x100812a8, 29034 }, /* XF86Macro25 */
+    { 0x100812a9, 29046 }, /* XF86Macro26 */
+    { 0x100812aa, 29058 }, /* XF86Macro27 */
+    { 0x100812ab, 29070 }, /* XF86Macro28 */
+    { 0x100812ac, 29082 }, /* XF86Macro29 */
+    { 0x100812ad, 29105 }, /* XF86Macro30 */
+    { 0x100812b0, 29255 }, /* XF86MacroRecordStart */
+    { 0x100812b1, 29276 }, /* XF86MacroRecordStop */
+    { 0x100812b2, 29234 }, /* XF86MacroPresetCycle */
+    { 0x100812b3, 29183 }, /* XF86MacroPreset1 */
+    { 0x100812b4, 29200 }, /* XF86MacroPreset2 */
+    { 0x100812b5, 29217 }, /* XF86MacroPreset3 */
+    { 0x100812b8, 28429 }, /* XF86KbdLcdMenu1 */
+    { 0x100812b9, 28445 }, /* XF86KbdLcdMenu2 */
+    { 0x100812ba, 28461 }, /* XF86KbdLcdMenu3 */
+    { 0x100812bb, 28477 }, /* XF86KbdLcdMenu4 */
+    { 0x100812bc, 28493 }, /* XF86KbdLcdMenu5 */
+    { 0x1008fe01, 30579 }, /* XF86Switch_VT_1 */
+    { 0x1008fe02, 30646 }, /* XF86Switch_VT_2 */
+    { 0x1008fe03, 30662 }, /* XF86Switch_VT_3 */
+    { 0x1008fe04, 30678 }, /* XF86Switch_VT_4 */
+    { 0x1008fe05, 30694 }, /* XF86Switch_VT_5 */
+    { 0x1008fe06, 30710 }, /* XF86Switch_VT_6 */
+    { 0x1008fe07, 30726 }, /* XF86Switch_VT_7 */
+    { 0x1008fe08, 30742 }, /* XF86Switch_VT_8 */
+    { 0x1008fe09, 30758 }, /* XF86Switch_VT_9 */
+    { 0x1008fe0a, 30595 }, /* XF86Switch_VT_10 */
+    { 0x1008fe0b, 30612 }, /* XF86Switch_VT_11 */
+    { 0x1008fe0c, 30629 }, /* XF86Switch_VT_12 */
+    { 0x1008fe20, 30921 }, /* XF86Ungrab */
+    { 0x1008fe21, 27653 }, /* XF86ClearGrab */
+    { 0x1008fe22, 29554 }, /* XF86Next_VMode */
+    { 0x1008fe23, 30029 }, /* XF86Prev_VMode */
+    { 0x1008fe24, 28814 }, /* XF86LogWindowTree */
+    { 0x1008fe25, 28787 }, /* XF86LogGrabInfo */
+    { 0x1008ff01, 29422 }, /* XF86ModeLock */
+    { 0x1008ff02, 29480 }, /* XF86MonBrightnessUp */
+    { 0x1008ff03, 29458 }, /* XF86MonBrightnessDown */
+    { 0x1008ff04, 28509 }, /* XF86KbdLightOnOff */
+    { 0x1008ff05, 28257 }, /* XF86KbdBrightnessUp */
+    { 0x1008ff06, 28235 }, /* XF86KbdBrightnessDown */
+    { 0x1008ff07, 29435 }, /* XF86MonBrightnessCycle */
+    { 0x1008ff10, 30496 }, /* XF86Standby */
+    { 0x1008ff11, 27029 }, /* XF86AudioLowerVolume */
+    { 0x1008ff12, 27082 }, /* XF86AudioMute */
+    { 0x1008ff13, 27169 }, /* XF86AudioRaiseVolume */
+    { 0x1008ff14, 27125 }, /* XF86AudioPlay */
+    { 0x1008ff15, 27258 }, /* XF86AudioStop */
+    { 0x1008ff16, 27155 }, /* XF86AudioPrev */
+    { 0x1008ff17, 27096 }, /* XF86AudioNext */
+    { 0x1008ff18, 28166 }, /* XF86HomePage */
+    { 0x1008ff19, 29296 }, /* XF86Mail */
+    { 0x1008ff1a, 30508 }, /* XF86Start */
+    { 0x1008ff1b, 30365 }, /* XF86Search */
+    { 0x1008ff1c, 27210 }, /* XF86AudioRecord */
+    { 0x1008ff1d, 27468 }, /* XF86Calculator */
+    { 0x1008ff1e, 29377 }, /* XF86Memo */
+    { 0x1008ff1f, 30825 }, /* XF86ToDoList */
+    { 0x1008ff20, 27483 }, /* XF86Calendar */
+    { 0x1008ff21, 29985 }, /* XF86PowerDown */
+    { 0x1008ff22, 27707 }, /* XF86ContrastAdjust */
+    { 0x1008ff23, 30183 }, /* XF86RockerUp */
+    { 0x1008ff24, 30152 }, /* XF86RockerDown */
+    { 0x1008ff25, 30167 }, /* XF86RockerEnter */
+    { 0x1008ff26, 27281 }, /* XF86Back */
+    { 0x1008ff27, 28021 }, /* XF86Forward */
+    { 0x1008ff28, 30518 }, /* XF86Stop */
+    { 0x1008ff29, 30082 }, /* XF86Refresh */
+    { 0x1008ff2a, 29999 }, /* XF86PowerOff */
+    { 0x1008ff2b, 31074 }, /* XF86WakeUp */
+    { 0x1008ff2c, 27895 }, /* XF86Eject */
+    { 0x1008ff2d, 30289 }, /* XF86ScreenSaver */
+    { 0x1008ff2e, 31153 }, /* XF86WWW */
+    { 0x1008ff2f, 30429 }, /* XF86Sleep */
+    { 0x1008ff30, 27960 }, /* XF86Favorites */
+    { 0x1008ff31, 27110 }, /* XF86AudioPause */
+    { 0x1008ff32, 27050 }, /* XF86AudioMedia */
+    { 0x1008ff33, 29510 }, /* XF86MyComputer */
+    { 0x1008ff34, 30986 }, /* XF86VendorHome */
+    { 0x1008ff35, 28756 }, /* XF86LightBulb */
+    { 0x1008ff36, 30420 }, /* XF86Shop */
+    { 0x1008ff37, 28154 }, /* XF86History */
+    { 0x1008ff38, 29897 }, /* XF86OpenURL */
+    { 0x1008ff39, 26784 }, /* XF86AddFavorite */
+    { 0x1008ff3a, 28179 }, /* XF86HotLinks */
+    { 0x1008ff3b, 27360 }, /* XF86BrightnessAdjust */
+    { 0x1008ff3c, 27974 }, /* XF86Finance */
+    { 0x1008ff3d, 27677 }, /* XF86Community */
+    { 0x1008ff3e, 27242 }, /* XF86AudioRewind */
+    { 0x1008ff3f, 27290 }, /* XF86BackForward */
+    { 0x1008ff40, 28540 }, /* XF86Launch0 */
+    { 0x1008ff41, 28552 }, /* XF86Launch1 */
+    { 0x1008ff42, 28564 }, /* XF86Launch2 */
+    { 0x1008ff43, 28576 }, /* XF86Launch3 */
+    { 0x1008ff44, 28588 }, /* XF86Launch4 */
+    { 0x1008ff45, 28600 }, /* XF86Launch5 */
+    { 0x1008ff46, 28612 }, /* XF86Launch6 */
+    { 0x1008ff47, 28624 }, /* XF86Launch7 */
+    { 0x1008ff48, 28636 }, /* XF86Launch8 */
+    { 0x1008ff49, 28648 }, /* XF86Launch9 */
+    { 0x1008ff4a, 28660 }, /* XF86LaunchA */
+    { 0x1008ff4b, 28672 }, /* XF86LaunchB */
+    { 0x1008ff4c, 28684 }, /* XF86LaunchC */
+    { 0x1008ff4d, 28696 }, /* XF86LaunchD */
+    { 0x1008ff4e, 28708 }, /* XF86LaunchE */
+    { 0x1008ff4f, 28720 }, /* XF86LaunchF */
+    { 0x1008ff50, 26830 }, /* XF86ApplicationLeft */
+    { 0x1008ff51, 26850 }, /* XF86ApplicationRight */
+    { 0x1008ff52, 27341 }, /* XF86Book */
+    { 0x1008ff53, 27606 }, /* XF86CD */
+    { 0x1008ff54, 27453 }, /* XF86Calculater */
+    { 0x1008ff55, 27643 }, /* XF86Clear */
+    { 0x1008ff56, 27667 }, /* XF86Close */
+    { 0x1008ff57, 27743 }, /* XF86Copy */
+    { 0x1008ff58, 27752 }, /* XF86Cut */
+    { 0x1008ff59, 27809 }, /* XF86Display */
+    { 0x1008ff5a, 27868 }, /* XF86DOS */
+    { 0x1008ff5b, 27854 }, /* XF86Documents */
+    { 0x1008ff5c, 27921 }, /* XF86Excel */
+    { 0x1008ff5d, 27931 }, /* XF86Explorer */
+    { 0x1008ff5e, 28079 }, /* XF86Game */
+    { 0x1008ff5f, 28088 }, /* XF86Go */
+    { 0x1008ff60, 28212 }, /* XF86iTouch */
+    { 0x1008ff61, 28803 }, /* XF86LogOff */
+    { 0x1008ff62, 29321 }, /* XF86Market */
+    { 0x1008ff63, 29365 }, /* XF86Meeting */
+    { 0x1008ff65, 29386 }, /* XF86MenuKB */
+    { 0x1008ff66, 29397 }, /* XF86MenuPB */
+    { 0x1008ff67, 29525 }, /* XF86MySites */
+    { 0x1008ff68, 29537 }, /* XF86New */
+    { 0x1008ff69, 29545 }, /* XF86News */
+    { 0x1008ff6a, 29852 }, /* XF86OfficeHome */
+    { 0x1008ff6b, 29888 }, /* XF86Open */
+    { 0x1008ff6c, 29909 }, /* XF86Option */
+    { 0x1008ff6d, 29920 }, /* XF86Paste */
+    { 0x1008ff6e, 29946 }, /* XF86Phone */
+    { 0x1008ff70, 30068 }, /* XF86Q */
+    { 0x1008ff72, 30105 }, /* XF86Reply */
+    { 0x1008ff73, 30094 }, /* XF86Reload */
+    { 0x1008ff74, 30209 }, /* XF86RotateWindows */
+    { 0x1008ff75, 30265 }, /* XF86RotationPB */
+    { 0x1008ff76, 30227 }, /* XF86RotationKB */
+    { 0x1008ff77, 30280 }, /* XF86Save */
+    { 0x1008ff78, 30352 }, /* XF86ScrollUp */
+    { 0x1008ff79, 30337 }, /* XF86ScrollDown */
+    { 0x1008ff7a, 30321 }, /* XF86ScrollClick */
+    { 0x1008ff7b, 30411 }, /* XF86Send */
+    { 0x1008ff7c, 30455 }, /* XF86Spell */
+    { 0x1008ff7d, 30480 }, /* XF86SplitScreen */
+    { 0x1008ff7e, 30555 }, /* XF86Support */
+    { 0x1008ff7f, 30790 }, /* XF86TaskPane */
+    { 0x1008ff80, 30803 }, /* XF86Terminal */
+    { 0x1008ff81, 30838 }, /* XF86Tools */
+    { 0x1008ff82, 30910 }, /* XF86Travel */
+    { 0x1008ff84, 30967 }, /* XF86UserPB */
+    { 0x1008ff85, 30943 }, /* XF86User1KB */
+    { 0x1008ff86, 30955 }, /* XF86User2KB */
+    { 0x1008ff87, 31001 }, /* XF86Video */
+    { 0x1008ff88, 31096 }, /* XF86WheelButton */
+    { 0x1008ff89, 31121 }, /* XF86Word */
+    { 0x1008ff8a, 31161 }, /* XF86Xfer */
+    { 0x1008ff8b, 31181 }, /* XF86ZoomIn */
+    { 0x1008ff8c, 31192 }, /* XF86ZoomOut */
+    { 0x1008ff8d, 27272 }, /* XF86Away */
+    { 0x1008ff8e, 29408 }, /* XF86Messenger */
+    { 0x1008ff8f, 31085 }, /* XF86WebCam */
+    { 0x1008ff90, 29305 }, /* XF86MailForward */
+    { 0x1008ff91, 29972 }, /* XF86Pictures */
+    { 0x1008ff92, 29500 }, /* XF86Music */
+    { 0x1008ff93, 27306 }, /* XF86Battery */
+    { 0x1008ff94, 27327 }, /* XF86Bluetooth */
+    { 0x1008ff95, 31112 }, /* XF86WLAN */
+    { 0x1008ff96, 30978 }, /* XF86UWB */
+    { 0x1008ff97, 27012 }, /* XF86AudioForward */
+    { 0x1008ff98, 27226 }, /* XF86AudioRepeat */
+    { 0x1008ff99, 27190 }, /* XF86AudioRandomPlay */
+    { 0x1008ff9a, 30542 }, /* XF86Subtitle */
+    { 0x1008ff9b, 26978 }, /* XF86AudioCycleTrack */
+    { 0x1008ff9c, 27760 }, /* XF86CycleAngle */
+    { 0x1008ff9d, 28033 }, /* XF86FrameBack */
+    { 0x1008ff9e, 28047 }, /* XF86FrameForward */
+    { 0x1008ff9f, 30816 }, /* XF86Time */
+    { 0x1008ffa0, 30376 }, /* XF86Select */
+    { 0x1008ffa1, 31026 }, /* XF86View */
+    { 0x1008ffa2, 30848 }, /* XF86TopMenu */
+    { 0x1008ffa3, 30074 }, /* XF86Red */
+    { 0x1008ffa4, 28114 }, /* XF86Green */
+    { 0x1008ffa5, 31170 }, /* XF86Yellow */
+    { 0x1008ffa6, 27318 }, /* XF86Blue */
+    { 0x1008ffa7, 30567 }, /* XF86Suspend */
+    { 0x1008ffa8, 28140 }, /* XF86Hibernate */
+    { 0x1008ffa9, 30891 }, /* XF86TouchpadToggle */
+    { 0x1008ffb0, 30876 }, /* XF86TouchpadOn */
+    { 0x1008ffb1, 30860 }, /* XF86TouchpadOff */
+    { 0x1008ffb2, 27065 }, /* XF86AudioMicMute */
+    { 0x1008ffb3, 28527 }, /* XF86Keyboard */
+    { 0x1008ffb4, 31144 }, /* XF86WWAN */
+    { 0x1008ffb5, 30115 }, /* XF86RFKill */
+    { 0x1008ffb6, 27139 }, /* XF86AudioPreset */
+    { 0x1008ffb7, 30242 }, /* XF86RotationLockToggle */
+    { 0x1008ffb8, 28064 }, /* XF86FullScreen */
 };