// This file was generated automatically from https://www.unicode.org/Public/UCD/latest/ucd/CaseFolding.txt.
// Do not edit directly!

#pragma once

enum {
  foldCaseMaxOut = 3
};

inline size_t foldCase( char32_t in, char32_t * out )
{
  switch ( in ) {
    case 0x41:
      *out = 0x61;
      return 1;
    case 0x42:
      *out = 0x62;
      return 1;
    case 0x43:
      *out = 0x63;
      return 1;
    case 0x44:
      *out = 0x64;
      return 1;
    case 0x45:
      *out = 0x65;
      return 1;
    case 0x46:
      *out = 0x66;
      return 1;
    case 0x47:
      *out = 0x67;
      return 1;
    case 0x48:
      *out = 0x68;
      return 1;
    case 0x49:
      *out = 0x69;
      return 1;
    case 0x4a:
      *out = 0x6a;
      return 1;
    case 0x4b:
      *out = 0x6b;
      return 1;
    case 0x4c:
      *out = 0x6c;
      return 1;
    case 0x4d:
      *out = 0x6d;
      return 1;
    case 0x4e:
      *out = 0x6e;
      return 1;
    case 0x4f:
      *out = 0x6f;
      return 1;
    case 0x50:
      *out = 0x70;
      return 1;
    case 0x51:
      *out = 0x71;
      return 1;
    case 0x52:
      *out = 0x72;
      return 1;
    case 0x53:
      *out = 0x73;
      return 1;
    case 0x54:
      *out = 0x74;
      return 1;
    case 0x55:
      *out = 0x75;
      return 1;
    case 0x56:
      *out = 0x76;
      return 1;
    case 0x57:
      *out = 0x77;
      return 1;
    case 0x58:
      *out = 0x78;
      return 1;
    case 0x59:
      *out = 0x79;
      return 1;
    case 0x5a:
      *out = 0x7a;
      return 1;
    case 0xb5:
      *out = 0x3bc;
      return 1;
    case 0xc0:
      *out = 0xe0;
      return 1;
    case 0xc1:
      *out = 0xe1;
      return 1;
    case 0xc2:
      *out = 0xe2;
      return 1;
    case 0xc3:
      *out = 0xe3;
      return 1;
    case 0xc4:
      *out = 0xe4;
      return 1;
    case 0xc5:
      *out = 0xe5;
      return 1;
    case 0xc6:
      *out = 0xe6;
      return 1;
    case 0xc7:
      *out = 0xe7;
      return 1;
    case 0xc8:
      *out = 0xe8;
      return 1;
    case 0xc9:
      *out = 0xe9;
      return 1;
    case 0xca:
      *out = 0xea;
      return 1;
    case 0xcb:
      *out = 0xeb;
      return 1;
    case 0xcc:
      *out = 0xec;
      return 1;
    case 0xcd:
      *out = 0xed;
      return 1;
    case 0xce:
      *out = 0xee;
      return 1;
    case 0xcf:
      *out = 0xef;
      return 1;
    case 0xd0:
      *out = 0xf0;
      return 1;
    case 0xd1:
      *out = 0xf1;
      return 1;
    case 0xd2:
      *out = 0xf2;
      return 1;
    case 0xd3:
      *out = 0xf3;
      return 1;
    case 0xd4:
      *out = 0xf4;
      return 1;
    case 0xd5:
      *out = 0xf5;
      return 1;
    case 0xd6:
      *out = 0xf6;
      return 1;
    case 0xd8:
      *out = 0xf8;
      return 1;
    case 0xd9:
      *out = 0xf9;
      return 1;
    case 0xda:
      *out = 0xfa;
      return 1;
    case 0xdb:
      *out = 0xfb;
      return 1;
    case 0xdc:
      *out = 0xfc;
      return 1;
    case 0xdd:
      *out = 0xfd;
      return 1;
    case 0xde:
      *out = 0xfe;
      return 1;
    case 0xdf:
      out[ 0 ] = 0x73;
      out[ 1 ] = 0x73;
      return 2;
    case 0x100:
      *out = 0x101;
      return 1;
    case 0x102:
      *out = 0x103;
      return 1;
    case 0x104:
      *out = 0x105;
      return 1;
    case 0x106:
      *out = 0x107;
      return 1;
    case 0x108:
      *out = 0x109;
      return 1;
    case 0x10a:
      *out = 0x10b;
      return 1;
    case 0x10c:
      *out = 0x10d;
      return 1;
    case 0x10e:
      *out = 0x10f;
      return 1;
    case 0x110:
      *out = 0x111;
      return 1;
    case 0x112:
      *out = 0x113;
      return 1;
    case 0x114:
      *out = 0x115;
      return 1;
    case 0x116:
      *out = 0x117;
      return 1;
    case 0x118:
      *out = 0x119;
      return 1;
    case 0x11a:
      *out = 0x11b;
      return 1;
    case 0x11c:
      *out = 0x11d;
      return 1;
    case 0x11e:
      *out = 0x11f;
      return 1;
    case 0x120:
      *out = 0x121;
      return 1;
    case 0x122:
      *out = 0x123;
      return 1;
    case 0x124:
      *out = 0x125;
      return 1;
    case 0x126:
      *out = 0x127;
      return 1;
    case 0x128:
      *out = 0x129;
      return 1;
    case 0x12a:
      *out = 0x12b;
      return 1;
    case 0x12c:
      *out = 0x12d;
      return 1;
    case 0x12e:
      *out = 0x12f;
      return 1;
    case 0x130:
      out[ 0 ] = 0x69;
      out[ 1 ] = 0x307;
      return 2;
    case 0x132:
      *out = 0x133;
      return 1;
    case 0x134:
      *out = 0x135;
      return 1;
    case 0x136:
      *out = 0x137;
      return 1;
    case 0x139:
      *out = 0x13a;
      return 1;
    case 0x13b:
      *out = 0x13c;
      return 1;
    case 0x13d:
      *out = 0x13e;
      return 1;
    case 0x13f:
      *out = 0x140;
      return 1;
    case 0x141:
      *out = 0x142;
      return 1;
    case 0x143:
      *out = 0x144;
      return 1;
    case 0x145:
      *out = 0x146;
      return 1;
    case 0x147:
      *out = 0x148;
      return 1;
    case 0x149:
      out[ 0 ] = 0x2bc;
      out[ 1 ] = 0x6e;
      return 2;
    case 0x14a:
      *out = 0x14b;
      return 1;
    case 0x14c:
      *out = 0x14d;
      return 1;
    case 0x14e:
      *out = 0x14f;
      return 1;
    case 0x150:
      *out = 0x151;
      return 1;
    case 0x152:
      *out = 0x153;
      return 1;
    case 0x154:
      *out = 0x155;
      return 1;
    case 0x156:
      *out = 0x157;
      return 1;
    case 0x158:
      *out = 0x159;
      return 1;
    case 0x15a:
      *out = 0x15b;
      return 1;
    case 0x15c:
      *out = 0x15d;
      return 1;
    case 0x15e:
      *out = 0x15f;
      return 1;
    case 0x160:
      *out = 0x161;
      return 1;
    case 0x162:
      *out = 0x163;
      return 1;
    case 0x164:
      *out = 0x165;
      return 1;
    case 0x166:
      *out = 0x167;
      return 1;
    case 0x168:
      *out = 0x169;
      return 1;
    case 0x16a:
      *out = 0x16b;
      return 1;
    case 0x16c:
      *out = 0x16d;
      return 1;
    case 0x16e:
      *out = 0x16f;
      return 1;
    case 0x170:
      *out = 0x171;
      return 1;
    case 0x172:
      *out = 0x173;
      return 1;
    case 0x174:
      *out = 0x175;
      return 1;
    case 0x176:
      *out = 0x177;
      return 1;
    case 0x178:
      *out = 0xff;
      return 1;
    case 0x179:
      *out = 0x17a;
      return 1;
    case 0x17b:
      *out = 0x17c;
      return 1;
    case 0x17d:
      *out = 0x17e;
      return 1;
    case 0x17f:
      *out = 0x73;
      return 1;
    case 0x181:
      *out = 0x253;
      return 1;
    case 0x182:
      *out = 0x183;
      return 1;
    case 0x184:
      *out = 0x185;
      return 1;
    case 0x186:
      *out = 0x254;
      return 1;
    case 0x187:
      *out = 0x188;
      return 1;
    case 0x189:
      *out = 0x256;
      return 1;
    case 0x18a:
      *out = 0x257;
      return 1;
    case 0x18b:
      *out = 0x18c;
      return 1;
    case 0x18e:
      *out = 0x1dd;
      return 1;
    case 0x18f:
      *out = 0x259;
      return 1;
    case 0x190:
      *out = 0x25b;
      return 1;
    case 0x191:
      *out = 0x192;
      return 1;
    case 0x193:
      *out = 0x260;
      return 1;
    case 0x194:
      *out = 0x263;
      return 1;
    case 0x196:
      *out = 0x269;
      return 1;
    case 0x197:
      *out = 0x268;
      return 1;
    case 0x198:
      *out = 0x199;
      return 1;
    case 0x19c:
      *out = 0x26f;
      return 1;
    case 0x19d:
      *out = 0x272;
      return 1;
    case 0x19f:
      *out = 0x275;
      return 1;
    case 0x1a0:
      *out = 0x1a1;
      return 1;
    case 0x1a2:
      *out = 0x1a3;
      return 1;
    case 0x1a4:
      *out = 0x1a5;
      return 1;
    case 0x1a6:
      *out = 0x280;
      return 1;
    case 0x1a7:
      *out = 0x1a8;
      return 1;
    case 0x1a9:
      *out = 0x283;
      return 1;
    case 0x1ac:
      *out = 0x1ad;
      return 1;
    case 0x1ae:
      *out = 0x288;
      return 1;
    case 0x1af:
      *out = 0x1b0;
      return 1;
    case 0x1b1:
      *out = 0x28a;
      return 1;
    case 0x1b2:
      *out = 0x28b;
      return 1;
    case 0x1b3:
      *out = 0x1b4;
      return 1;
    case 0x1b5:
      *out = 0x1b6;
      return 1;
    case 0x1b7:
      *out = 0x292;
      return 1;
    case 0x1b8:
      *out = 0x1b9;
      return 1;
    case 0x1bc:
      *out = 0x1bd;
      return 1;
    case 0x1c4:
      *out = 0x1c6;
      return 1;
    case 0x1c5:
      *out = 0x1c6;
      return 1;
    case 0x1c7:
      *out = 0x1c9;
      return 1;
    case 0x1c8:
      *out = 0x1c9;
      return 1;
    case 0x1ca:
      *out = 0x1cc;
      return 1;
    case 0x1cb:
      *out = 0x1cc;
      return 1;
    case 0x1cd:
      *out = 0x1ce;
      return 1;
    case 0x1cf:
      *out = 0x1d0;
      return 1;
    case 0x1d1:
      *out = 0x1d2;
      return 1;
    case 0x1d3:
      *out = 0x1d4;
      return 1;
    case 0x1d5:
      *out = 0x1d6;
      return 1;
    case 0x1d7:
      *out = 0x1d8;
      return 1;
    case 0x1d9:
      *out = 0x1da;
      return 1;
    case 0x1db:
      *out = 0x1dc;
      return 1;
    case 0x1de:
      *out = 0x1df;
      return 1;
    case 0x1e0:
      *out = 0x1e1;
      return 1;
    case 0x1e2:
      *out = 0x1e3;
      return 1;
    case 0x1e4:
      *out = 0x1e5;
      return 1;
    case 0x1e6:
      *out = 0x1e7;
      return 1;
    case 0x1e8:
      *out = 0x1e9;
      return 1;
    case 0x1ea:
      *out = 0x1eb;
      return 1;
    case 0x1ec:
      *out = 0x1ed;
      return 1;
    case 0x1ee:
      *out = 0x1ef;
      return 1;
    case 0x1f0:
      out[ 0 ] = 0x6a;
      out[ 1 ] = 0x30c;
      return 2;
    case 0x1f1:
      *out = 0x1f3;
      return 1;
    case 0x1f2:
      *out = 0x1f3;
      return 1;
    case 0x1f4:
      *out = 0x1f5;
      return 1;
    case 0x1f6:
      *out = 0x195;
      return 1;
    case 0x1f7:
      *out = 0x1bf;
      return 1;
    case 0x1f8:
      *out = 0x1f9;
      return 1;
    case 0x1fa:
      *out = 0x1fb;
      return 1;
    case 0x1fc:
      *out = 0x1fd;
      return 1;
    case 0x1fe:
      *out = 0x1ff;
      return 1;
    case 0x200:
      *out = 0x201;
      return 1;
    case 0x202:
      *out = 0x203;
      return 1;
    case 0x204:
      *out = 0x205;
      return 1;
    case 0x206:
      *out = 0x207;
      return 1;
    case 0x208:
      *out = 0x209;
      return 1;
    case 0x20a:
      *out = 0x20b;
      return 1;
    case 0x20c:
      *out = 0x20d;
      return 1;
    case 0x20e:
      *out = 0x20f;
      return 1;
    case 0x210:
      *out = 0x211;
      return 1;
    case 0x212:
      *out = 0x213;
      return 1;
    case 0x214:
      *out = 0x215;
      return 1;
    case 0x216:
      *out = 0x217;
      return 1;
    case 0x218:
      *out = 0x219;
      return 1;
    case 0x21a:
      *out = 0x21b;
      return 1;
    case 0x21c:
      *out = 0x21d;
      return 1;
    case 0x21e:
      *out = 0x21f;
      return 1;
    case 0x220:
      *out = 0x19e;
      return 1;
    case 0x222:
      *out = 0x223;
      return 1;
    case 0x224:
      *out = 0x225;
      return 1;
    case 0x226:
      *out = 0x227;
      return 1;
    case 0x228:
      *out = 0x229;
      return 1;
    case 0x22a:
      *out = 0x22b;
      return 1;
    case 0x22c:
      *out = 0x22d;
      return 1;
    case 0x22e:
      *out = 0x22f;
      return 1;
    case 0x230:
      *out = 0x231;
      return 1;
    case 0x232:
      *out = 0x233;
      return 1;
    case 0x23a:
      *out = 0x2c65;
      return 1;
    case 0x23b:
      *out = 0x23c;
      return 1;
    case 0x23d:
      *out = 0x19a;
      return 1;
    case 0x23e:
      *out = 0x2c66;
      return 1;
    case 0x241:
      *out = 0x242;
      return 1;
    case 0x243:
      *out = 0x180;
      return 1;
    case 0x244:
      *out = 0x289;
      return 1;
    case 0x245:
      *out = 0x28c;
      return 1;
    case 0x246:
      *out = 0x247;
      return 1;
    case 0x248:
      *out = 0x249;
      return 1;
    case 0x24a:
      *out = 0x24b;
      return 1;
    case 0x24c:
      *out = 0x24d;
      return 1;
    case 0x24e:
      *out = 0x24f;
      return 1;
    case 0x345:
      *out = 0x3b9;
      return 1;
    case 0x370:
      *out = 0x371;
      return 1;
    case 0x372:
      *out = 0x373;
      return 1;
    case 0x376:
      *out = 0x377;
      return 1;
    case 0x37f:
      *out = 0x3f3;
      return 1;
    case 0x386:
      *out = 0x3ac;
      return 1;
    case 0x388:
      *out = 0x3ad;
      return 1;
    case 0x389:
      *out = 0x3ae;
      return 1;
    case 0x38a:
      *out = 0x3af;
      return 1;
    case 0x38c:
      *out = 0x3cc;
      return 1;
    case 0x38e:
      *out = 0x3cd;
      return 1;
    case 0x38f:
      *out = 0x3ce;
      return 1;
    case 0x390:
      out[ 0 ] = 0x3b9;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x301;
      return 3;
    case 0x391:
      *out = 0x3b1;
      return 1;
    case 0x392:
      *out = 0x3b2;
      return 1;
    case 0x393:
      *out = 0x3b3;
      return 1;
    case 0x394:
      *out = 0x3b4;
      return 1;
    case 0x395:
      *out = 0x3b5;
      return 1;
    case 0x396:
      *out = 0x3b6;
      return 1;
    case 0x397:
      *out = 0x3b7;
      return 1;
    case 0x398:
      *out = 0x3b8;
      return 1;
    case 0x399:
      *out = 0x3b9;
      return 1;
    case 0x39a:
      *out = 0x3ba;
      return 1;
    case 0x39b:
      *out = 0x3bb;
      return 1;
    case 0x39c:
      *out = 0x3bc;
      return 1;
    case 0x39d:
      *out = 0x3bd;
      return 1;
    case 0x39e:
      *out = 0x3be;
      return 1;
    case 0x39f:
      *out = 0x3bf;
      return 1;
    case 0x3a0:
      *out = 0x3c0;
      return 1;
    case 0x3a1:
      *out = 0x3c1;
      return 1;
    case 0x3a3:
      *out = 0x3c3;
      return 1;
    case 0x3a4:
      *out = 0x3c4;
      return 1;
    case 0x3a5:
      *out = 0x3c5;
      return 1;
    case 0x3a6:
      *out = 0x3c6;
      return 1;
    case 0x3a7:
      *out = 0x3c7;
      return 1;
    case 0x3a8:
      *out = 0x3c8;
      return 1;
    case 0x3a9:
      *out = 0x3c9;
      return 1;
    case 0x3aa:
      *out = 0x3ca;
      return 1;
    case 0x3ab:
      *out = 0x3cb;
      return 1;
    case 0x3b0:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x301;
      return 3;
    case 0x3c2:
      *out = 0x3c3;
      return 1;
    case 0x3cf:
      *out = 0x3d7;
      return 1;
    case 0x3d0:
      *out = 0x3b2;
      return 1;
    case 0x3d1:
      *out = 0x3b8;
      return 1;
    case 0x3d5:
      *out = 0x3c6;
      return 1;
    case 0x3d6:
      *out = 0x3c0;
      return 1;
    case 0x3d8:
      *out = 0x3d9;
      return 1;
    case 0x3da:
      *out = 0x3db;
      return 1;
    case 0x3dc:
      *out = 0x3dd;
      return 1;
    case 0x3de:
      *out = 0x3df;
      return 1;
    case 0x3e0:
      *out = 0x3e1;
      return 1;
    case 0x3e2:
      *out = 0x3e3;
      return 1;
    case 0x3e4:
      *out = 0x3e5;
      return 1;
    case 0x3e6:
      *out = 0x3e7;
      return 1;
    case 0x3e8:
      *out = 0x3e9;
      return 1;
    case 0x3ea:
      *out = 0x3eb;
      return 1;
    case 0x3ec:
      *out = 0x3ed;
      return 1;
    case 0x3ee:
      *out = 0x3ef;
      return 1;
    case 0x3f0:
      *out = 0x3ba;
      return 1;
    case 0x3f1:
      *out = 0x3c1;
      return 1;
    case 0x3f4:
      *out = 0x3b8;
      return 1;
    case 0x3f5:
      *out = 0x3b5;
      return 1;
    case 0x3f7:
      *out = 0x3f8;
      return 1;
    case 0x3f9:
      *out = 0x3f2;
      return 1;
    case 0x3fa:
      *out = 0x3fb;
      return 1;
    case 0x3fd:
      *out = 0x37b;
      return 1;
    case 0x3fe:
      *out = 0x37c;
      return 1;
    case 0x3ff:
      *out = 0x37d;
      return 1;
    case 0x400:
      *out = 0x450;
      return 1;
    case 0x401:
      *out = 0x451;
      return 1;
    case 0x402:
      *out = 0x452;
      return 1;
    case 0x403:
      *out = 0x453;
      return 1;
    case 0x404:
      *out = 0x454;
      return 1;
    case 0x405:
      *out = 0x455;
      return 1;
    case 0x406:
      *out = 0x456;
      return 1;
    case 0x407:
      *out = 0x457;
      return 1;
    case 0x408:
      *out = 0x458;
      return 1;
    case 0x409:
      *out = 0x459;
      return 1;
    case 0x40a:
      *out = 0x45a;
      return 1;
    case 0x40b:
      *out = 0x45b;
      return 1;
    case 0x40c:
      *out = 0x45c;
      return 1;
    case 0x40d:
      *out = 0x45d;
      return 1;
    case 0x40e:
      *out = 0x45e;
      return 1;
    case 0x40f:
      *out = 0x45f;
      return 1;
    case 0x410:
      *out = 0x430;
      return 1;
    case 0x411:
      *out = 0x431;
      return 1;
    case 0x412:
      *out = 0x432;
      return 1;
    case 0x413:
      *out = 0x433;
      return 1;
    case 0x414:
      *out = 0x434;
      return 1;
    case 0x415:
      *out = 0x435;
      return 1;
    case 0x416:
      *out = 0x436;
      return 1;
    case 0x417:
      *out = 0x437;
      return 1;
    case 0x418:
      *out = 0x438;
      return 1;
    case 0x419:
      *out = 0x439;
      return 1;
    case 0x41a:
      *out = 0x43a;
      return 1;
    case 0x41b:
      *out = 0x43b;
      return 1;
    case 0x41c:
      *out = 0x43c;
      return 1;
    case 0x41d:
      *out = 0x43d;
      return 1;
    case 0x41e:
      *out = 0x43e;
      return 1;
    case 0x41f:
      *out = 0x43f;
      return 1;
    case 0x420:
      *out = 0x440;
      return 1;
    case 0x421:
      *out = 0x441;
      return 1;
    case 0x422:
      *out = 0x442;
      return 1;
    case 0x423:
      *out = 0x443;
      return 1;
    case 0x424:
      *out = 0x444;
      return 1;
    case 0x425:
      *out = 0x445;
      return 1;
    case 0x426:
      *out = 0x446;
      return 1;
    case 0x427:
      *out = 0x447;
      return 1;
    case 0x428:
      *out = 0x448;
      return 1;
    case 0x429:
      *out = 0x449;
      return 1;
    case 0x42a:
      *out = 0x44a;
      return 1;
    case 0x42b:
      *out = 0x44b;
      return 1;
    case 0x42c:
      *out = 0x44c;
      return 1;
    case 0x42d:
      *out = 0x44d;
      return 1;
    case 0x42e:
      *out = 0x44e;
      return 1;
    case 0x42f:
      *out = 0x44f;
      return 1;
    case 0x460:
      *out = 0x461;
      return 1;
    case 0x462:
      *out = 0x463;
      return 1;
    case 0x464:
      *out = 0x465;
      return 1;
    case 0x466:
      *out = 0x467;
      return 1;
    case 0x468:
      *out = 0x469;
      return 1;
    case 0x46a:
      *out = 0x46b;
      return 1;
    case 0x46c:
      *out = 0x46d;
      return 1;
    case 0x46e:
      *out = 0x46f;
      return 1;
    case 0x470:
      *out = 0x471;
      return 1;
    case 0x472:
      *out = 0x473;
      return 1;
    case 0x474:
      *out = 0x475;
      return 1;
    case 0x476:
      *out = 0x477;
      return 1;
    case 0x478:
      *out = 0x479;
      return 1;
    case 0x47a:
      *out = 0x47b;
      return 1;
    case 0x47c:
      *out = 0x47d;
      return 1;
    case 0x47e:
      *out = 0x47f;
      return 1;
    case 0x480:
      *out = 0x481;
      return 1;
    case 0x48a:
      *out = 0x48b;
      return 1;
    case 0x48c:
      *out = 0x48d;
      return 1;
    case 0x48e:
      *out = 0x48f;
      return 1;
    case 0x490:
      *out = 0x491;
      return 1;
    case 0x492:
      *out = 0x493;
      return 1;
    case 0x494:
      *out = 0x495;
      return 1;
    case 0x496:
      *out = 0x497;
      return 1;
    case 0x498:
      *out = 0x499;
      return 1;
    case 0x49a:
      *out = 0x49b;
      return 1;
    case 0x49c:
      *out = 0x49d;
      return 1;
    case 0x49e:
      *out = 0x49f;
      return 1;
    case 0x4a0:
      *out = 0x4a1;
      return 1;
    case 0x4a2:
      *out = 0x4a3;
      return 1;
    case 0x4a4:
      *out = 0x4a5;
      return 1;
    case 0x4a6:
      *out = 0x4a7;
      return 1;
    case 0x4a8:
      *out = 0x4a9;
      return 1;
    case 0x4aa:
      *out = 0x4ab;
      return 1;
    case 0x4ac:
      *out = 0x4ad;
      return 1;
    case 0x4ae:
      *out = 0x4af;
      return 1;
    case 0x4b0:
      *out = 0x4b1;
      return 1;
    case 0x4b2:
      *out = 0x4b3;
      return 1;
    case 0x4b4:
      *out = 0x4b5;
      return 1;
    case 0x4b6:
      *out = 0x4b7;
      return 1;
    case 0x4b8:
      *out = 0x4b9;
      return 1;
    case 0x4ba:
      *out = 0x4bb;
      return 1;
    case 0x4bc:
      *out = 0x4bd;
      return 1;
    case 0x4be:
      *out = 0x4bf;
      return 1;
    case 0x4c0:
      *out = 0x4cf;
      return 1;
    case 0x4c1:
      *out = 0x4c2;
      return 1;
    case 0x4c3:
      *out = 0x4c4;
      return 1;
    case 0x4c5:
      *out = 0x4c6;
      return 1;
    case 0x4c7:
      *out = 0x4c8;
      return 1;
    case 0x4c9:
      *out = 0x4ca;
      return 1;
    case 0x4cb:
      *out = 0x4cc;
      return 1;
    case 0x4cd:
      *out = 0x4ce;
      return 1;
    case 0x4d0:
      *out = 0x4d1;
      return 1;
    case 0x4d2:
      *out = 0x4d3;
      return 1;
    case 0x4d4:
      *out = 0x4d5;
      return 1;
    case 0x4d6:
      *out = 0x4d7;
      return 1;
    case 0x4d8:
      *out = 0x4d9;
      return 1;
    case 0x4da:
      *out = 0x4db;
      return 1;
    case 0x4dc:
      *out = 0x4dd;
      return 1;
    case 0x4de:
      *out = 0x4df;
      return 1;
    case 0x4e0:
      *out = 0x4e1;
      return 1;
    case 0x4e2:
      *out = 0x4e3;
      return 1;
    case 0x4e4:
      *out = 0x4e5;
      return 1;
    case 0x4e6:
      *out = 0x4e7;
      return 1;
    case 0x4e8:
      *out = 0x4e9;
      return 1;
    case 0x4ea:
      *out = 0x4eb;
      return 1;
    case 0x4ec:
      *out = 0x4ed;
      return 1;
    case 0x4ee:
      *out = 0x4ef;
      return 1;
    case 0x4f0:
      *out = 0x4f1;
      return 1;
    case 0x4f2:
      *out = 0x4f3;
      return 1;
    case 0x4f4:
      *out = 0x4f5;
      return 1;
    case 0x4f6:
      *out = 0x4f7;
      return 1;
    case 0x4f8:
      *out = 0x4f9;
      return 1;
    case 0x4fa:
      *out = 0x4fb;
      return 1;
    case 0x4fc:
      *out = 0x4fd;
      return 1;
    case 0x4fe:
      *out = 0x4ff;
      return 1;
    case 0x500:
      *out = 0x501;
      return 1;
    case 0x502:
      *out = 0x503;
      return 1;
    case 0x504:
      *out = 0x505;
      return 1;
    case 0x506:
      *out = 0x507;
      return 1;
    case 0x508:
      *out = 0x509;
      return 1;
    case 0x50a:
      *out = 0x50b;
      return 1;
    case 0x50c:
      *out = 0x50d;
      return 1;
    case 0x50e:
      *out = 0x50f;
      return 1;
    case 0x510:
      *out = 0x511;
      return 1;
    case 0x512:
      *out = 0x513;
      return 1;
    case 0x514:
      *out = 0x515;
      return 1;
    case 0x516:
      *out = 0x517;
      return 1;
    case 0x518:
      *out = 0x519;
      return 1;
    case 0x51a:
      *out = 0x51b;
      return 1;
    case 0x51c:
      *out = 0x51d;
      return 1;
    case 0x51e:
      *out = 0x51f;
      return 1;
    case 0x520:
      *out = 0x521;
      return 1;
    case 0x522:
      *out = 0x523;
      return 1;
    case 0x524:
      *out = 0x525;
      return 1;
    case 0x526:
      *out = 0x527;
      return 1;
    case 0x528:
      *out = 0x529;
      return 1;
    case 0x52a:
      *out = 0x52b;
      return 1;
    case 0x52c:
      *out = 0x52d;
      return 1;
    case 0x52e:
      *out = 0x52f;
      return 1;
    case 0x531:
      *out = 0x561;
      return 1;
    case 0x532:
      *out = 0x562;
      return 1;
    case 0x533:
      *out = 0x563;
      return 1;
    case 0x534:
      *out = 0x564;
      return 1;
    case 0x535:
      *out = 0x565;
      return 1;
    case 0x536:
      *out = 0x566;
      return 1;
    case 0x537:
      *out = 0x567;
      return 1;
    case 0x538:
      *out = 0x568;
      return 1;
    case 0x539:
      *out = 0x569;
      return 1;
    case 0x53a:
      *out = 0x56a;
      return 1;
    case 0x53b:
      *out = 0x56b;
      return 1;
    case 0x53c:
      *out = 0x56c;
      return 1;
    case 0x53d:
      *out = 0x56d;
      return 1;
    case 0x53e:
      *out = 0x56e;
      return 1;
    case 0x53f:
      *out = 0x56f;
      return 1;
    case 0x540:
      *out = 0x570;
      return 1;
    case 0x541:
      *out = 0x571;
      return 1;
    case 0x542:
      *out = 0x572;
      return 1;
    case 0x543:
      *out = 0x573;
      return 1;
    case 0x544:
      *out = 0x574;
      return 1;
    case 0x545:
      *out = 0x575;
      return 1;
    case 0x546:
      *out = 0x576;
      return 1;
    case 0x547:
      *out = 0x577;
      return 1;
    case 0x548:
      *out = 0x578;
      return 1;
    case 0x549:
      *out = 0x579;
      return 1;
    case 0x54a:
      *out = 0x57a;
      return 1;
    case 0x54b:
      *out = 0x57b;
      return 1;
    case 0x54c:
      *out = 0x57c;
      return 1;
    case 0x54d:
      *out = 0x57d;
      return 1;
    case 0x54e:
      *out = 0x57e;
      return 1;
    case 0x54f:
      *out = 0x57f;
      return 1;
    case 0x550:
      *out = 0x580;
      return 1;
    case 0x551:
      *out = 0x581;
      return 1;
    case 0x552:
      *out = 0x582;
      return 1;
    case 0x553:
      *out = 0x583;
      return 1;
    case 0x554:
      *out = 0x584;
      return 1;
    case 0x555:
      *out = 0x585;
      return 1;
    case 0x556:
      *out = 0x586;
      return 1;
    case 0x587:
      out[ 0 ] = 0x565;
      out[ 1 ] = 0x582;
      return 2;
    case 0x10a0:
      *out = 0x2d00;
      return 1;
    case 0x10a1:
      *out = 0x2d01;
      return 1;
    case 0x10a2:
      *out = 0x2d02;
      return 1;
    case 0x10a3:
      *out = 0x2d03;
      return 1;
    case 0x10a4:
      *out = 0x2d04;
      return 1;
    case 0x10a5:
      *out = 0x2d05;
      return 1;
    case 0x10a6:
      *out = 0x2d06;
      return 1;
    case 0x10a7:
      *out = 0x2d07;
      return 1;
    case 0x10a8:
      *out = 0x2d08;
      return 1;
    case 0x10a9:
      *out = 0x2d09;
      return 1;
    case 0x10aa:
      *out = 0x2d0a;
      return 1;
    case 0x10ab:
      *out = 0x2d0b;
      return 1;
    case 0x10ac:
      *out = 0x2d0c;
      return 1;
    case 0x10ad:
      *out = 0x2d0d;
      return 1;
    case 0x10ae:
      *out = 0x2d0e;
      return 1;
    case 0x10af:
      *out = 0x2d0f;
      return 1;
    case 0x10b0:
      *out = 0x2d10;
      return 1;
    case 0x10b1:
      *out = 0x2d11;
      return 1;
    case 0x10b2:
      *out = 0x2d12;
      return 1;
    case 0x10b3:
      *out = 0x2d13;
      return 1;
    case 0x10b4:
      *out = 0x2d14;
      return 1;
    case 0x10b5:
      *out = 0x2d15;
      return 1;
    case 0x10b6:
      *out = 0x2d16;
      return 1;
    case 0x10b7:
      *out = 0x2d17;
      return 1;
    case 0x10b8:
      *out = 0x2d18;
      return 1;
    case 0x10b9:
      *out = 0x2d19;
      return 1;
    case 0x10ba:
      *out = 0x2d1a;
      return 1;
    case 0x10bb:
      *out = 0x2d1b;
      return 1;
    case 0x10bc:
      *out = 0x2d1c;
      return 1;
    case 0x10bd:
      *out = 0x2d1d;
      return 1;
    case 0x10be:
      *out = 0x2d1e;
      return 1;
    case 0x10bf:
      *out = 0x2d1f;
      return 1;
    case 0x10c0:
      *out = 0x2d20;
      return 1;
    case 0x10c1:
      *out = 0x2d21;
      return 1;
    case 0x10c2:
      *out = 0x2d22;
      return 1;
    case 0x10c3:
      *out = 0x2d23;
      return 1;
    case 0x10c4:
      *out = 0x2d24;
      return 1;
    case 0x10c5:
      *out = 0x2d25;
      return 1;
    case 0x10c7:
      *out = 0x2d27;
      return 1;
    case 0x10cd:
      *out = 0x2d2d;
      return 1;
    case 0x13f8:
      *out = 0x13f0;
      return 1;
    case 0x13f9:
      *out = 0x13f1;
      return 1;
    case 0x13fa:
      *out = 0x13f2;
      return 1;
    case 0x13fb:
      *out = 0x13f3;
      return 1;
    case 0x13fc:
      *out = 0x13f4;
      return 1;
    case 0x13fd:
      *out = 0x13f5;
      return 1;
    case 0x1c80:
      *out = 0x432;
      return 1;
    case 0x1c81:
      *out = 0x434;
      return 1;
    case 0x1c82:
      *out = 0x43e;
      return 1;
    case 0x1c83:
      *out = 0x441;
      return 1;
    case 0x1c84:
      *out = 0x442;
      return 1;
    case 0x1c85:
      *out = 0x442;
      return 1;
    case 0x1c86:
      *out = 0x44a;
      return 1;
    case 0x1c87:
      *out = 0x463;
      return 1;
    case 0x1c88:
      *out = 0xa64b;
      return 1;
    case 0x1c89:
      *out = 0x1c8a;
      return 1;
    case 0x1c90:
      *out = 0x10d0;
      return 1;
    case 0x1c91:
      *out = 0x10d1;
      return 1;
    case 0x1c92:
      *out = 0x10d2;
      return 1;
    case 0x1c93:
      *out = 0x10d3;
      return 1;
    case 0x1c94:
      *out = 0x10d4;
      return 1;
    case 0x1c95:
      *out = 0x10d5;
      return 1;
    case 0x1c96:
      *out = 0x10d6;
      return 1;
    case 0x1c97:
      *out = 0x10d7;
      return 1;
    case 0x1c98:
      *out = 0x10d8;
      return 1;
    case 0x1c99:
      *out = 0x10d9;
      return 1;
    case 0x1c9a:
      *out = 0x10da;
      return 1;
    case 0x1c9b:
      *out = 0x10db;
      return 1;
    case 0x1c9c:
      *out = 0x10dc;
      return 1;
    case 0x1c9d:
      *out = 0x10dd;
      return 1;
    case 0x1c9e:
      *out = 0x10de;
      return 1;
    case 0x1c9f:
      *out = 0x10df;
      return 1;
    case 0x1ca0:
      *out = 0x10e0;
      return 1;
    case 0x1ca1:
      *out = 0x10e1;
      return 1;
    case 0x1ca2:
      *out = 0x10e2;
      return 1;
    case 0x1ca3:
      *out = 0x10e3;
      return 1;
    case 0x1ca4:
      *out = 0x10e4;
      return 1;
    case 0x1ca5:
      *out = 0x10e5;
      return 1;
    case 0x1ca6:
      *out = 0x10e6;
      return 1;
    case 0x1ca7:
      *out = 0x10e7;
      return 1;
    case 0x1ca8:
      *out = 0x10e8;
      return 1;
    case 0x1ca9:
      *out = 0x10e9;
      return 1;
    case 0x1caa:
      *out = 0x10ea;
      return 1;
    case 0x1cab:
      *out = 0x10eb;
      return 1;
    case 0x1cac:
      *out = 0x10ec;
      return 1;
    case 0x1cad:
      *out = 0x10ed;
      return 1;
    case 0x1cae:
      *out = 0x10ee;
      return 1;
    case 0x1caf:
      *out = 0x10ef;
      return 1;
    case 0x1cb0:
      *out = 0x10f0;
      return 1;
    case 0x1cb1:
      *out = 0x10f1;
      return 1;
    case 0x1cb2:
      *out = 0x10f2;
      return 1;
    case 0x1cb3:
      *out = 0x10f3;
      return 1;
    case 0x1cb4:
      *out = 0x10f4;
      return 1;
    case 0x1cb5:
      *out = 0x10f5;
      return 1;
    case 0x1cb6:
      *out = 0x10f6;
      return 1;
    case 0x1cb7:
      *out = 0x10f7;
      return 1;
    case 0x1cb8:
      *out = 0x10f8;
      return 1;
    case 0x1cb9:
      *out = 0x10f9;
      return 1;
    case 0x1cba:
      *out = 0x10fa;
      return 1;
    case 0x1cbd:
      *out = 0x10fd;
      return 1;
    case 0x1cbe:
      *out = 0x10fe;
      return 1;
    case 0x1cbf:
      *out = 0x10ff;
      return 1;
    case 0x1e00:
      *out = 0x1e01;
      return 1;
    case 0x1e02:
      *out = 0x1e03;
      return 1;
    case 0x1e04:
      *out = 0x1e05;
      return 1;
    case 0x1e06:
      *out = 0x1e07;
      return 1;
    case 0x1e08:
      *out = 0x1e09;
      return 1;
    case 0x1e0a:
      *out = 0x1e0b;
      return 1;
    case 0x1e0c:
      *out = 0x1e0d;
      return 1;
    case 0x1e0e:
      *out = 0x1e0f;
      return 1;
    case 0x1e10:
      *out = 0x1e11;
      return 1;
    case 0x1e12:
      *out = 0x1e13;
      return 1;
    case 0x1e14:
      *out = 0x1e15;
      return 1;
    case 0x1e16:
      *out = 0x1e17;
      return 1;
    case 0x1e18:
      *out = 0x1e19;
      return 1;
    case 0x1e1a:
      *out = 0x1e1b;
      return 1;
    case 0x1e1c:
      *out = 0x1e1d;
      return 1;
    case 0x1e1e:
      *out = 0x1e1f;
      return 1;
    case 0x1e20:
      *out = 0x1e21;
      return 1;
    case 0x1e22:
      *out = 0x1e23;
      return 1;
    case 0x1e24:
      *out = 0x1e25;
      return 1;
    case 0x1e26:
      *out = 0x1e27;
      return 1;
    case 0x1e28:
      *out = 0x1e29;
      return 1;
    case 0x1e2a:
      *out = 0x1e2b;
      return 1;
    case 0x1e2c:
      *out = 0x1e2d;
      return 1;
    case 0x1e2e:
      *out = 0x1e2f;
      return 1;
    case 0x1e30:
      *out = 0x1e31;
      return 1;
    case 0x1e32:
      *out = 0x1e33;
      return 1;
    case 0x1e34:
      *out = 0x1e35;
      return 1;
    case 0x1e36:
      *out = 0x1e37;
      return 1;
    case 0x1e38:
      *out = 0x1e39;
      return 1;
    case 0x1e3a:
      *out = 0x1e3b;
      return 1;
    case 0x1e3c:
      *out = 0x1e3d;
      return 1;
    case 0x1e3e:
      *out = 0x1e3f;
      return 1;
    case 0x1e40:
      *out = 0x1e41;
      return 1;
    case 0x1e42:
      *out = 0x1e43;
      return 1;
    case 0x1e44:
      *out = 0x1e45;
      return 1;
    case 0x1e46:
      *out = 0x1e47;
      return 1;
    case 0x1e48:
      *out = 0x1e49;
      return 1;
    case 0x1e4a:
      *out = 0x1e4b;
      return 1;
    case 0x1e4c:
      *out = 0x1e4d;
      return 1;
    case 0x1e4e:
      *out = 0x1e4f;
      return 1;
    case 0x1e50:
      *out = 0x1e51;
      return 1;
    case 0x1e52:
      *out = 0x1e53;
      return 1;
    case 0x1e54:
      *out = 0x1e55;
      return 1;
    case 0x1e56:
      *out = 0x1e57;
      return 1;
    case 0x1e58:
      *out = 0x1e59;
      return 1;
    case 0x1e5a:
      *out = 0x1e5b;
      return 1;
    case 0x1e5c:
      *out = 0x1e5d;
      return 1;
    case 0x1e5e:
      *out = 0x1e5f;
      return 1;
    case 0x1e60:
      *out = 0x1e61;
      return 1;
    case 0x1e62:
      *out = 0x1e63;
      return 1;
    case 0x1e64:
      *out = 0x1e65;
      return 1;
    case 0x1e66:
      *out = 0x1e67;
      return 1;
    case 0x1e68:
      *out = 0x1e69;
      return 1;
    case 0x1e6a:
      *out = 0x1e6b;
      return 1;
    case 0x1e6c:
      *out = 0x1e6d;
      return 1;
    case 0x1e6e:
      *out = 0x1e6f;
      return 1;
    case 0x1e70:
      *out = 0x1e71;
      return 1;
    case 0x1e72:
      *out = 0x1e73;
      return 1;
    case 0x1e74:
      *out = 0x1e75;
      return 1;
    case 0x1e76:
      *out = 0x1e77;
      return 1;
    case 0x1e78:
      *out = 0x1e79;
      return 1;
    case 0x1e7a:
      *out = 0x1e7b;
      return 1;
    case 0x1e7c:
      *out = 0x1e7d;
      return 1;
    case 0x1e7e:
      *out = 0x1e7f;
      return 1;
    case 0x1e80:
      *out = 0x1e81;
      return 1;
    case 0x1e82:
      *out = 0x1e83;
      return 1;
    case 0x1e84:
      *out = 0x1e85;
      return 1;
    case 0x1e86:
      *out = 0x1e87;
      return 1;
    case 0x1e88:
      *out = 0x1e89;
      return 1;
    case 0x1e8a:
      *out = 0x1e8b;
      return 1;
    case 0x1e8c:
      *out = 0x1e8d;
      return 1;
    case 0x1e8e:
      *out = 0x1e8f;
      return 1;
    case 0x1e90:
      *out = 0x1e91;
      return 1;
    case 0x1e92:
      *out = 0x1e93;
      return 1;
    case 0x1e94:
      *out = 0x1e95;
      return 1;
    case 0x1e96:
      out[ 0 ] = 0x68;
      out[ 1 ] = 0x331;
      return 2;
    case 0x1e97:
      out[ 0 ] = 0x74;
      out[ 1 ] = 0x308;
      return 2;
    case 0x1e98:
      out[ 0 ] = 0x77;
      out[ 1 ] = 0x30a;
      return 2;
    case 0x1e99:
      out[ 0 ] = 0x79;
      out[ 1 ] = 0x30a;
      return 2;
    case 0x1e9a:
      out[ 0 ] = 0x61;
      out[ 1 ] = 0x2be;
      return 2;
    case 0x1e9b:
      *out = 0x1e61;
      return 1;
    case 0x1e9e:
      out[ 0 ] = 0x73;
      out[ 1 ] = 0x73;
      return 2;
    case 0x1ea0:
      *out = 0x1ea1;
      return 1;
    case 0x1ea2:
      *out = 0x1ea3;
      return 1;
    case 0x1ea4:
      *out = 0x1ea5;
      return 1;
    case 0x1ea6:
      *out = 0x1ea7;
      return 1;
    case 0x1ea8:
      *out = 0x1ea9;
      return 1;
    case 0x1eaa:
      *out = 0x1eab;
      return 1;
    case 0x1eac:
      *out = 0x1ead;
      return 1;
    case 0x1eae:
      *out = 0x1eaf;
      return 1;
    case 0x1eb0:
      *out = 0x1eb1;
      return 1;
    case 0x1eb2:
      *out = 0x1eb3;
      return 1;
    case 0x1eb4:
      *out = 0x1eb5;
      return 1;
    case 0x1eb6:
      *out = 0x1eb7;
      return 1;
    case 0x1eb8:
      *out = 0x1eb9;
      return 1;
    case 0x1eba:
      *out = 0x1ebb;
      return 1;
    case 0x1ebc:
      *out = 0x1ebd;
      return 1;
    case 0x1ebe:
      *out = 0x1ebf;
      return 1;
    case 0x1ec0:
      *out = 0x1ec1;
      return 1;
    case 0x1ec2:
      *out = 0x1ec3;
      return 1;
    case 0x1ec4:
      *out = 0x1ec5;
      return 1;
    case 0x1ec6:
      *out = 0x1ec7;
      return 1;
    case 0x1ec8:
      *out = 0x1ec9;
      return 1;
    case 0x1eca:
      *out = 0x1ecb;
      return 1;
    case 0x1ecc:
      *out = 0x1ecd;
      return 1;
    case 0x1ece:
      *out = 0x1ecf;
      return 1;
    case 0x1ed0:
      *out = 0x1ed1;
      return 1;
    case 0x1ed2:
      *out = 0x1ed3;
      return 1;
    case 0x1ed4:
      *out = 0x1ed5;
      return 1;
    case 0x1ed6:
      *out = 0x1ed7;
      return 1;
    case 0x1ed8:
      *out = 0x1ed9;
      return 1;
    case 0x1eda:
      *out = 0x1edb;
      return 1;
    case 0x1edc:
      *out = 0x1edd;
      return 1;
    case 0x1ede:
      *out = 0x1edf;
      return 1;
    case 0x1ee0:
      *out = 0x1ee1;
      return 1;
    case 0x1ee2:
      *out = 0x1ee3;
      return 1;
    case 0x1ee4:
      *out = 0x1ee5;
      return 1;
    case 0x1ee6:
      *out = 0x1ee7;
      return 1;
    case 0x1ee8:
      *out = 0x1ee9;
      return 1;
    case 0x1eea:
      *out = 0x1eeb;
      return 1;
    case 0x1eec:
      *out = 0x1eed;
      return 1;
    case 0x1eee:
      *out = 0x1eef;
      return 1;
    case 0x1ef0:
      *out = 0x1ef1;
      return 1;
    case 0x1ef2:
      *out = 0x1ef3;
      return 1;
    case 0x1ef4:
      *out = 0x1ef5;
      return 1;
    case 0x1ef6:
      *out = 0x1ef7;
      return 1;
    case 0x1ef8:
      *out = 0x1ef9;
      return 1;
    case 0x1efa:
      *out = 0x1efb;
      return 1;
    case 0x1efc:
      *out = 0x1efd;
      return 1;
    case 0x1efe:
      *out = 0x1eff;
      return 1;
    case 0x1f08:
      *out = 0x1f00;
      return 1;
    case 0x1f09:
      *out = 0x1f01;
      return 1;
    case 0x1f0a:
      *out = 0x1f02;
      return 1;
    case 0x1f0b:
      *out = 0x1f03;
      return 1;
    case 0x1f0c:
      *out = 0x1f04;
      return 1;
    case 0x1f0d:
      *out = 0x1f05;
      return 1;
    case 0x1f0e:
      *out = 0x1f06;
      return 1;
    case 0x1f0f:
      *out = 0x1f07;
      return 1;
    case 0x1f18:
      *out = 0x1f10;
      return 1;
    case 0x1f19:
      *out = 0x1f11;
      return 1;
    case 0x1f1a:
      *out = 0x1f12;
      return 1;
    case 0x1f1b:
      *out = 0x1f13;
      return 1;
    case 0x1f1c:
      *out = 0x1f14;
      return 1;
    case 0x1f1d:
      *out = 0x1f15;
      return 1;
    case 0x1f28:
      *out = 0x1f20;
      return 1;
    case 0x1f29:
      *out = 0x1f21;
      return 1;
    case 0x1f2a:
      *out = 0x1f22;
      return 1;
    case 0x1f2b:
      *out = 0x1f23;
      return 1;
    case 0x1f2c:
      *out = 0x1f24;
      return 1;
    case 0x1f2d:
      *out = 0x1f25;
      return 1;
    case 0x1f2e:
      *out = 0x1f26;
      return 1;
    case 0x1f2f:
      *out = 0x1f27;
      return 1;
    case 0x1f38:
      *out = 0x1f30;
      return 1;
    case 0x1f39:
      *out = 0x1f31;
      return 1;
    case 0x1f3a:
      *out = 0x1f32;
      return 1;
    case 0x1f3b:
      *out = 0x1f33;
      return 1;
    case 0x1f3c:
      *out = 0x1f34;
      return 1;
    case 0x1f3d:
      *out = 0x1f35;
      return 1;
    case 0x1f3e:
      *out = 0x1f36;
      return 1;
    case 0x1f3f:
      *out = 0x1f37;
      return 1;
    case 0x1f48:
      *out = 0x1f40;
      return 1;
    case 0x1f49:
      *out = 0x1f41;
      return 1;
    case 0x1f4a:
      *out = 0x1f42;
      return 1;
    case 0x1f4b:
      *out = 0x1f43;
      return 1;
    case 0x1f4c:
      *out = 0x1f44;
      return 1;
    case 0x1f4d:
      *out = 0x1f45;
      return 1;
    case 0x1f50:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x313;
      return 2;
    case 0x1f52:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x313;
      out[ 2 ] = 0x300;
      return 3;
    case 0x1f54:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x313;
      out[ 2 ] = 0x301;
      return 3;
    case 0x1f56:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x313;
      out[ 2 ] = 0x342;
      return 3;
    case 0x1f59:
      *out = 0x1f51;
      return 1;
    case 0x1f5b:
      *out = 0x1f53;
      return 1;
    case 0x1f5d:
      *out = 0x1f55;
      return 1;
    case 0x1f5f:
      *out = 0x1f57;
      return 1;
    case 0x1f68:
      *out = 0x1f60;
      return 1;
    case 0x1f69:
      *out = 0x1f61;
      return 1;
    case 0x1f6a:
      *out = 0x1f62;
      return 1;
    case 0x1f6b:
      *out = 0x1f63;
      return 1;
    case 0x1f6c:
      *out = 0x1f64;
      return 1;
    case 0x1f6d:
      *out = 0x1f65;
      return 1;
    case 0x1f6e:
      *out = 0x1f66;
      return 1;
    case 0x1f6f:
      *out = 0x1f67;
      return 1;
    case 0x1f80:
      out[ 0 ] = 0x1f00;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f81:
      out[ 0 ] = 0x1f01;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f82:
      out[ 0 ] = 0x1f02;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f83:
      out[ 0 ] = 0x1f03;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f84:
      out[ 0 ] = 0x1f04;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f85:
      out[ 0 ] = 0x1f05;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f86:
      out[ 0 ] = 0x1f06;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f87:
      out[ 0 ] = 0x1f07;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f88:
      out[ 0 ] = 0x1f00;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f89:
      out[ 0 ] = 0x1f01;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8a:
      out[ 0 ] = 0x1f02;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8b:
      out[ 0 ] = 0x1f03;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8c:
      out[ 0 ] = 0x1f04;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8d:
      out[ 0 ] = 0x1f05;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8e:
      out[ 0 ] = 0x1f06;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f8f:
      out[ 0 ] = 0x1f07;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f90:
      out[ 0 ] = 0x1f20;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f91:
      out[ 0 ] = 0x1f21;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f92:
      out[ 0 ] = 0x1f22;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f93:
      out[ 0 ] = 0x1f23;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f94:
      out[ 0 ] = 0x1f24;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f95:
      out[ 0 ] = 0x1f25;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f96:
      out[ 0 ] = 0x1f26;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f97:
      out[ 0 ] = 0x1f27;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f98:
      out[ 0 ] = 0x1f20;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f99:
      out[ 0 ] = 0x1f21;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9a:
      out[ 0 ] = 0x1f22;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9b:
      out[ 0 ] = 0x1f23;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9c:
      out[ 0 ] = 0x1f24;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9d:
      out[ 0 ] = 0x1f25;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9e:
      out[ 0 ] = 0x1f26;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1f9f:
      out[ 0 ] = 0x1f27;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa0:
      out[ 0 ] = 0x1f60;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa1:
      out[ 0 ] = 0x1f61;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa2:
      out[ 0 ] = 0x1f62;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa3:
      out[ 0 ] = 0x1f63;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa4:
      out[ 0 ] = 0x1f64;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa5:
      out[ 0 ] = 0x1f65;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa6:
      out[ 0 ] = 0x1f66;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa7:
      out[ 0 ] = 0x1f67;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa8:
      out[ 0 ] = 0x1f60;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fa9:
      out[ 0 ] = 0x1f61;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1faa:
      out[ 0 ] = 0x1f62;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fab:
      out[ 0 ] = 0x1f63;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fac:
      out[ 0 ] = 0x1f64;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fad:
      out[ 0 ] = 0x1f65;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fae:
      out[ 0 ] = 0x1f66;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1faf:
      out[ 0 ] = 0x1f67;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fb2:
      out[ 0 ] = 0x1f70;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fb3:
      out[ 0 ] = 0x3b1;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fb4:
      out[ 0 ] = 0x3ac;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fb6:
      out[ 0 ] = 0x3b1;
      out[ 1 ] = 0x342;
      return 2;
    case 0x1fb7:
      out[ 0 ] = 0x3b1;
      out[ 1 ] = 0x342;
      out[ 2 ] = 0x3b9;
      return 3;
    case 0x1fb8:
      *out = 0x1fb0;
      return 1;
    case 0x1fb9:
      *out = 0x1fb1;
      return 1;
    case 0x1fba:
      *out = 0x1f70;
      return 1;
    case 0x1fbb:
      *out = 0x1f71;
      return 1;
    case 0x1fbc:
      out[ 0 ] = 0x3b1;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fbe:
      *out = 0x3b9;
      return 1;
    case 0x1fc2:
      out[ 0 ] = 0x1f74;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fc3:
      out[ 0 ] = 0x3b7;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fc4:
      out[ 0 ] = 0x3ae;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fc6:
      out[ 0 ] = 0x3b7;
      out[ 1 ] = 0x342;
      return 2;
    case 0x1fc7:
      out[ 0 ] = 0x3b7;
      out[ 1 ] = 0x342;
      out[ 2 ] = 0x3b9;
      return 3;
    case 0x1fc8:
      *out = 0x1f72;
      return 1;
    case 0x1fc9:
      *out = 0x1f73;
      return 1;
    case 0x1fca:
      *out = 0x1f74;
      return 1;
    case 0x1fcb:
      *out = 0x1f75;
      return 1;
    case 0x1fcc:
      out[ 0 ] = 0x3b7;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1fd2:
      out[ 0 ] = 0x3b9;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x300;
      return 3;
    case 0x1fd3:
      out[ 0 ] = 0x3b9;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x301;
      return 3;
    case 0x1fd6:
      out[ 0 ] = 0x3b9;
      out[ 1 ] = 0x342;
      return 2;
    case 0x1fd7:
      out[ 0 ] = 0x3b9;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x342;
      return 3;
    case 0x1fd8:
      *out = 0x1fd0;
      return 1;
    case 0x1fd9:
      *out = 0x1fd1;
      return 1;
    case 0x1fda:
      *out = 0x1f76;
      return 1;
    case 0x1fdb:
      *out = 0x1f77;
      return 1;
    case 0x1fe2:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x300;
      return 3;
    case 0x1fe3:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x301;
      return 3;
    case 0x1fe4:
      out[ 0 ] = 0x3c1;
      out[ 1 ] = 0x313;
      return 2;
    case 0x1fe6:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x342;
      return 2;
    case 0x1fe7:
      out[ 0 ] = 0x3c5;
      out[ 1 ] = 0x308;
      out[ 2 ] = 0x342;
      return 3;
    case 0x1fe8:
      *out = 0x1fe0;
      return 1;
    case 0x1fe9:
      *out = 0x1fe1;
      return 1;
    case 0x1fea:
      *out = 0x1f7a;
      return 1;
    case 0x1feb:
      *out = 0x1f7b;
      return 1;
    case 0x1fec:
      *out = 0x1fe5;
      return 1;
    case 0x1ff2:
      out[ 0 ] = 0x1f7c;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1ff3:
      out[ 0 ] = 0x3c9;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1ff4:
      out[ 0 ] = 0x3ce;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x1ff6:
      out[ 0 ] = 0x3c9;
      out[ 1 ] = 0x342;
      return 2;
    case 0x1ff7:
      out[ 0 ] = 0x3c9;
      out[ 1 ] = 0x342;
      out[ 2 ] = 0x3b9;
      return 3;
    case 0x1ff8:
      *out = 0x1f78;
      return 1;
    case 0x1ff9:
      *out = 0x1f79;
      return 1;
    case 0x1ffa:
      *out = 0x1f7c;
      return 1;
    case 0x1ffb:
      *out = 0x1f7d;
      return 1;
    case 0x1ffc:
      out[ 0 ] = 0x3c9;
      out[ 1 ] = 0x3b9;
      return 2;
    case 0x2126:
      *out = 0x3c9;
      return 1;
    case 0x212a:
      *out = 0x6b;
      return 1;
    case 0x212b:
      *out = 0xe5;
      return 1;
    case 0x2132:
      *out = 0x214e;
      return 1;
    case 0x2160:
      *out = 0x2170;
      return 1;
    case 0x2161:
      *out = 0x2171;
      return 1;
    case 0x2162:
      *out = 0x2172;
      return 1;
    case 0x2163:
      *out = 0x2173;
      return 1;
    case 0x2164:
      *out = 0x2174;
      return 1;
    case 0x2165:
      *out = 0x2175;
      return 1;
    case 0x2166:
      *out = 0x2176;
      return 1;
    case 0x2167:
      *out = 0x2177;
      return 1;
    case 0x2168:
      *out = 0x2178;
      return 1;
    case 0x2169:
      *out = 0x2179;
      return 1;
    case 0x216a:
      *out = 0x217a;
      return 1;
    case 0x216b:
      *out = 0x217b;
      return 1;
    case 0x216c:
      *out = 0x217c;
      return 1;
    case 0x216d:
      *out = 0x217d;
      return 1;
    case 0x216e:
      *out = 0x217e;
      return 1;
    case 0x216f:
      *out = 0x217f;
      return 1;
    case 0x2183:
      *out = 0x2184;
      return 1;
    case 0x24b6:
      *out = 0x24d0;
      return 1;
    case 0x24b7:
      *out = 0x24d1;
      return 1;
    case 0x24b8:
      *out = 0x24d2;
      return 1;
    case 0x24b9:
      *out = 0x24d3;
      return 1;
    case 0x24ba:
      *out = 0x24d4;
      return 1;
    case 0x24bb:
      *out = 0x24d5;
      return 1;
    case 0x24bc:
      *out = 0x24d6;
      return 1;
    case 0x24bd:
      *out = 0x24d7;
      return 1;
    case 0x24be:
      *out = 0x24d8;
      return 1;
    case 0x24bf:
      *out = 0x24d9;
      return 1;
    case 0x24c0:
      *out = 0x24da;
      return 1;
    case 0x24c1:
      *out = 0x24db;
      return 1;
    case 0x24c2:
      *out = 0x24dc;
      return 1;
    case 0x24c3:
      *out = 0x24dd;
      return 1;
    case 0x24c4:
      *out = 0x24de;
      return 1;
    case 0x24c5:
      *out = 0x24df;
      return 1;
    case 0x24c6:
      *out = 0x24e0;
      return 1;
    case 0x24c7:
      *out = 0x24e1;
      return 1;
    case 0x24c8:
      *out = 0x24e2;
      return 1;
    case 0x24c9:
      *out = 0x24e3;
      return 1;
    case 0x24ca:
      *out = 0x24e4;
      return 1;
    case 0x24cb:
      *out = 0x24e5;
      return 1;
    case 0x24cc:
      *out = 0x24e6;
      return 1;
    case 0x24cd:
      *out = 0x24e7;
      return 1;
    case 0x24ce:
      *out = 0x24e8;
      return 1;
    case 0x24cf:
      *out = 0x24e9;
      return 1;
    case 0x2c00:
      *out = 0x2c30;
      return 1;
    case 0x2c01:
      *out = 0x2c31;
      return 1;
    case 0x2c02:
      *out = 0x2c32;
      return 1;
    case 0x2c03:
      *out = 0x2c33;
      return 1;
    case 0x2c04:
      *out = 0x2c34;
      return 1;
    case 0x2c05:
      *out = 0x2c35;
      return 1;
    case 0x2c06:
      *out = 0x2c36;
      return 1;
    case 0x2c07:
      *out = 0x2c37;
      return 1;
    case 0x2c08:
      *out = 0x2c38;
      return 1;
    case 0x2c09:
      *out = 0x2c39;
      return 1;
    case 0x2c0a:
      *out = 0x2c3a;
      return 1;
    case 0x2c0b:
      *out = 0x2c3b;
      return 1;
    case 0x2c0c:
      *out = 0x2c3c;
      return 1;
    case 0x2c0d:
      *out = 0x2c3d;
      return 1;
    case 0x2c0e:
      *out = 0x2c3e;
      return 1;
    case 0x2c0f:
      *out = 0x2c3f;
      return 1;
    case 0x2c10:
      *out = 0x2c40;
      return 1;
    case 0x2c11:
      *out = 0x2c41;
      return 1;
    case 0x2c12:
      *out = 0x2c42;
      return 1;
    case 0x2c13:
      *out = 0x2c43;
      return 1;
    case 0x2c14:
      *out = 0x2c44;
      return 1;
    case 0x2c15:
      *out = 0x2c45;
      return 1;
    case 0x2c16:
      *out = 0x2c46;
      return 1;
    case 0x2c17:
      *out = 0x2c47;
      return 1;
    case 0x2c18:
      *out = 0x2c48;
      return 1;
    case 0x2c19:
      *out = 0x2c49;
      return 1;
    case 0x2c1a:
      *out = 0x2c4a;
      return 1;
    case 0x2c1b:
      *out = 0x2c4b;
      return 1;
    case 0x2c1c:
      *out = 0x2c4c;
      return 1;
    case 0x2c1d:
      *out = 0x2c4d;
      return 1;
    case 0x2c1e:
      *out = 0x2c4e;
      return 1;
    case 0x2c1f:
      *out = 0x2c4f;
      return 1;
    case 0x2c20:
      *out = 0x2c50;
      return 1;
    case 0x2c21:
      *out = 0x2c51;
      return 1;
    case 0x2c22:
      *out = 0x2c52;
      return 1;
    case 0x2c23:
      *out = 0x2c53;
      return 1;
    case 0x2c24:
      *out = 0x2c54;
      return 1;
    case 0x2c25:
      *out = 0x2c55;
      return 1;
    case 0x2c26:
      *out = 0x2c56;
      return 1;
    case 0x2c27:
      *out = 0x2c57;
      return 1;
    case 0x2c28:
      *out = 0x2c58;
      return 1;
    case 0x2c29:
      *out = 0x2c59;
      return 1;
    case 0x2c2a:
      *out = 0x2c5a;
      return 1;
    case 0x2c2b:
      *out = 0x2c5b;
      return 1;
    case 0x2c2c:
      *out = 0x2c5c;
      return 1;
    case 0x2c2d:
      *out = 0x2c5d;
      return 1;
    case 0x2c2e:
      *out = 0x2c5e;
      return 1;
    case 0x2c2f:
      *out = 0x2c5f;
      return 1;
    case 0x2c60:
      *out = 0x2c61;
      return 1;
    case 0x2c62:
      *out = 0x26b;
      return 1;
    case 0x2c63:
      *out = 0x1d7d;
      return 1;
    case 0x2c64:
      *out = 0x27d;
      return 1;
    case 0x2c67:
      *out = 0x2c68;
      return 1;
    case 0x2c69:
      *out = 0x2c6a;
      return 1;
    case 0x2c6b:
      *out = 0x2c6c;
      return 1;
    case 0x2c6d:
      *out = 0x251;
      return 1;
    case 0x2c6e:
      *out = 0x271;
      return 1;
    case 0x2c6f:
      *out = 0x250;
      return 1;
    case 0x2c70:
      *out = 0x252;
      return 1;
    case 0x2c72:
      *out = 0x2c73;
      return 1;
    case 0x2c75:
      *out = 0x2c76;
      return 1;
    case 0x2c7e:
      *out = 0x23f;
      return 1;
    case 0x2c7f:
      *out = 0x240;
      return 1;
    case 0x2c80:
      *out = 0x2c81;
      return 1;
    case 0x2c82:
      *out = 0x2c83;
      return 1;
    case 0x2c84:
      *out = 0x2c85;
      return 1;
    case 0x2c86:
      *out = 0x2c87;
      return 1;
    case 0x2c88:
      *out = 0x2c89;
      return 1;
    case 0x2c8a:
      *out = 0x2c8b;
      return 1;
    case 0x2c8c:
      *out = 0x2c8d;
      return 1;
    case 0x2c8e:
      *out = 0x2c8f;
      return 1;
    case 0x2c90:
      *out = 0x2c91;
      return 1;
    case 0x2c92:
      *out = 0x2c93;
      return 1;
    case 0x2c94:
      *out = 0x2c95;
      return 1;
    case 0x2c96:
      *out = 0x2c97;
      return 1;
    case 0x2c98:
      *out = 0x2c99;
      return 1;
    case 0x2c9a:
      *out = 0x2c9b;
      return 1;
    case 0x2c9c:
      *out = 0x2c9d;
      return 1;
    case 0x2c9e:
      *out = 0x2c9f;
      return 1;
    case 0x2ca0:
      *out = 0x2ca1;
      return 1;
    case 0x2ca2:
      *out = 0x2ca3;
      return 1;
    case 0x2ca4:
      *out = 0x2ca5;
      return 1;
    case 0x2ca6:
      *out = 0x2ca7;
      return 1;
    case 0x2ca8:
      *out = 0x2ca9;
      return 1;
    case 0x2caa:
      *out = 0x2cab;
      return 1;
    case 0x2cac:
      *out = 0x2cad;
      return 1;
    case 0x2cae:
      *out = 0x2caf;
      return 1;
    case 0x2cb0:
      *out = 0x2cb1;
      return 1;
    case 0x2cb2:
      *out = 0x2cb3;
      return 1;
    case 0x2cb4:
      *out = 0x2cb5;
      return 1;
    case 0x2cb6:
      *out = 0x2cb7;
      return 1;
    case 0x2cb8:
      *out = 0x2cb9;
      return 1;
    case 0x2cba:
      *out = 0x2cbb;
      return 1;
    case 0x2cbc:
      *out = 0x2cbd;
      return 1;
    case 0x2cbe:
      *out = 0x2cbf;
      return 1;
    case 0x2cc0:
      *out = 0x2cc1;
      return 1;
    case 0x2cc2:
      *out = 0x2cc3;
      return 1;
    case 0x2cc4:
      *out = 0x2cc5;
      return 1;
    case 0x2cc6:
      *out = 0x2cc7;
      return 1;
    case 0x2cc8:
      *out = 0x2cc9;
      return 1;
    case 0x2cca:
      *out = 0x2ccb;
      return 1;
    case 0x2ccc:
      *out = 0x2ccd;
      return 1;
    case 0x2cce:
      *out = 0x2ccf;
      return 1;
    case 0x2cd0:
      *out = 0x2cd1;
      return 1;
    case 0x2cd2:
      *out = 0x2cd3;
      return 1;
    case 0x2cd4:
      *out = 0x2cd5;
      return 1;
    case 0x2cd6:
      *out = 0x2cd7;
      return 1;
    case 0x2cd8:
      *out = 0x2cd9;
      return 1;
    case 0x2cda:
      *out = 0x2cdb;
      return 1;
    case 0x2cdc:
      *out = 0x2cdd;
      return 1;
    case 0x2cde:
      *out = 0x2cdf;
      return 1;
    case 0x2ce0:
      *out = 0x2ce1;
      return 1;
    case 0x2ce2:
      *out = 0x2ce3;
      return 1;
    case 0x2ceb:
      *out = 0x2cec;
      return 1;
    case 0x2ced:
      *out = 0x2cee;
      return 1;
    case 0x2cf2:
      *out = 0x2cf3;
      return 1;
    case 0xa640:
      *out = 0xa641;
      return 1;
    case 0xa642:
      *out = 0xa643;
      return 1;
    case 0xa644:
      *out = 0xa645;
      return 1;
    case 0xa646:
      *out = 0xa647;
      return 1;
    case 0xa648:
      *out = 0xa649;
      return 1;
    case 0xa64a:
      *out = 0xa64b;
      return 1;
    case 0xa64c:
      *out = 0xa64d;
      return 1;
    case 0xa64e:
      *out = 0xa64f;
      return 1;
    case 0xa650:
      *out = 0xa651;
      return 1;
    case 0xa652:
      *out = 0xa653;
      return 1;
    case 0xa654:
      *out = 0xa655;
      return 1;
    case 0xa656:
      *out = 0xa657;
      return 1;
    case 0xa658:
      *out = 0xa659;
      return 1;
    case 0xa65a:
      *out = 0xa65b;
      return 1;
    case 0xa65c:
      *out = 0xa65d;
      return 1;
    case 0xa65e:
      *out = 0xa65f;
      return 1;
    case 0xa660:
      *out = 0xa661;
      return 1;
    case 0xa662:
      *out = 0xa663;
      return 1;
    case 0xa664:
      *out = 0xa665;
      return 1;
    case 0xa666:
      *out = 0xa667;
      return 1;
    case 0xa668:
      *out = 0xa669;
      return 1;
    case 0xa66a:
      *out = 0xa66b;
      return 1;
    case 0xa66c:
      *out = 0xa66d;
      return 1;
    case 0xa680:
      *out = 0xa681;
      return 1;
    case 0xa682:
      *out = 0xa683;
      return 1;
    case 0xa684:
      *out = 0xa685;
      return 1;
    case 0xa686:
      *out = 0xa687;
      return 1;
    case 0xa688:
      *out = 0xa689;
      return 1;
    case 0xa68a:
      *out = 0xa68b;
      return 1;
    case 0xa68c:
      *out = 0xa68d;
      return 1;
    case 0xa68e:
      *out = 0xa68f;
      return 1;
    case 0xa690:
      *out = 0xa691;
      return 1;
    case 0xa692:
      *out = 0xa693;
      return 1;
    case 0xa694:
      *out = 0xa695;
      return 1;
    case 0xa696:
      *out = 0xa697;
      return 1;
    case 0xa698:
      *out = 0xa699;
      return 1;
    case 0xa69a:
      *out = 0xa69b;
      return 1;
    case 0xa722:
      *out = 0xa723;
      return 1;
    case 0xa724:
      *out = 0xa725;
      return 1;
    case 0xa726:
      *out = 0xa727;
      return 1;
    case 0xa728:
      *out = 0xa729;
      return 1;
    case 0xa72a:
      *out = 0xa72b;
      return 1;
    case 0xa72c:
      *out = 0xa72d;
      return 1;
    case 0xa72e:
      *out = 0xa72f;
      return 1;
    case 0xa732:
      *out = 0xa733;
      return 1;
    case 0xa734:
      *out = 0xa735;
      return 1;
    case 0xa736:
      *out = 0xa737;
      return 1;
    case 0xa738:
      *out = 0xa739;
      return 1;
    case 0xa73a:
      *out = 0xa73b;
      return 1;
    case 0xa73c:
      *out = 0xa73d;
      return 1;
    case 0xa73e:
      *out = 0xa73f;
      return 1;
    case 0xa740:
      *out = 0xa741;
      return 1;
    case 0xa742:
      *out = 0xa743;
      return 1;
    case 0xa744:
      *out = 0xa745;
      return 1;
    case 0xa746:
      *out = 0xa747;
      return 1;
    case 0xa748:
      *out = 0xa749;
      return 1;
    case 0xa74a:
      *out = 0xa74b;
      return 1;
    case 0xa74c:
      *out = 0xa74d;
      return 1;
    case 0xa74e:
      *out = 0xa74f;
      return 1;
    case 0xa750:
      *out = 0xa751;
      return 1;
    case 0xa752:
      *out = 0xa753;
      return 1;
    case 0xa754:
      *out = 0xa755;
      return 1;
    case 0xa756:
      *out = 0xa757;
      return 1;
    case 0xa758:
      *out = 0xa759;
      return 1;
    case 0xa75a:
      *out = 0xa75b;
      return 1;
    case 0xa75c:
      *out = 0xa75d;
      return 1;
    case 0xa75e:
      *out = 0xa75f;
      return 1;
    case 0xa760:
      *out = 0xa761;
      return 1;
    case 0xa762:
      *out = 0xa763;
      return 1;
    case 0xa764:
      *out = 0xa765;
      return 1;
    case 0xa766:
      *out = 0xa767;
      return 1;
    case 0xa768:
      *out = 0xa769;
      return 1;
    case 0xa76a:
      *out = 0xa76b;
      return 1;
    case 0xa76c:
      *out = 0xa76d;
      return 1;
    case 0xa76e:
      *out = 0xa76f;
      return 1;
    case 0xa779:
      *out = 0xa77a;
      return 1;
    case 0xa77b:
      *out = 0xa77c;
      return 1;
    case 0xa77d:
      *out = 0x1d79;
      return 1;
    case 0xa77e:
      *out = 0xa77f;
      return 1;
    case 0xa780:
      *out = 0xa781;
      return 1;
    case 0xa782:
      *out = 0xa783;
      return 1;
    case 0xa784:
      *out = 0xa785;
      return 1;
    case 0xa786:
      *out = 0xa787;
      return 1;
    case 0xa78b:
      *out = 0xa78c;
      return 1;
    case 0xa78d:
      *out = 0x265;
      return 1;
    case 0xa790:
      *out = 0xa791;
      return 1;
    case 0xa792:
      *out = 0xa793;
      return 1;
    case 0xa796:
      *out = 0xa797;
      return 1;
    case 0xa798:
      *out = 0xa799;
      return 1;
    case 0xa79a:
      *out = 0xa79b;
      return 1;
    case 0xa79c:
      *out = 0xa79d;
      return 1;
    case 0xa79e:
      *out = 0xa79f;
      return 1;
    case 0xa7a0:
      *out = 0xa7a1;
      return 1;
    case 0xa7a2:
      *out = 0xa7a3;
      return 1;
    case 0xa7a4:
      *out = 0xa7a5;
      return 1;
    case 0xa7a6:
      *out = 0xa7a7;
      return 1;
    case 0xa7a8:
      *out = 0xa7a9;
      return 1;
    case 0xa7aa:
      *out = 0x266;
      return 1;
    case 0xa7ab:
      *out = 0x25c;
      return 1;
    case 0xa7ac:
      *out = 0x261;
      return 1;
    case 0xa7ad:
      *out = 0x26c;
      return 1;
    case 0xa7ae:
      *out = 0x26a;
      return 1;
    case 0xa7b0:
      *out = 0x29e;
      return 1;
    case 0xa7b1:
      *out = 0x287;
      return 1;
    case 0xa7b2:
      *out = 0x29d;
      return 1;
    case 0xa7b3:
      *out = 0xab53;
      return 1;
    case 0xa7b4:
      *out = 0xa7b5;
      return 1;
    case 0xa7b6:
      *out = 0xa7b7;
      return 1;
    case 0xa7b8:
      *out = 0xa7b9;
      return 1;
    case 0xa7ba:
      *out = 0xa7bb;
      return 1;
    case 0xa7bc:
      *out = 0xa7bd;
      return 1;
    case 0xa7be:
      *out = 0xa7bf;
      return 1;
    case 0xa7c0:
      *out = 0xa7c1;
      return 1;
    case 0xa7c2:
      *out = 0xa7c3;
      return 1;
    case 0xa7c4:
      *out = 0xa794;
      return 1;
    case 0xa7c5:
      *out = 0x282;
      return 1;
    case 0xa7c6:
      *out = 0x1d8e;
      return 1;
    case 0xa7c7:
      *out = 0xa7c8;
      return 1;
    case 0xa7c9:
      *out = 0xa7ca;
      return 1;
    case 0xa7cb:
      *out = 0x264;
      return 1;
    case 0xa7cc:
      *out = 0xa7cd;
      return 1;
    case 0xa7ce:
      *out = 0xa7cf;
      return 1;
    case 0xa7d0:
      *out = 0xa7d1;
      return 1;
    case 0xa7d2:
      *out = 0xa7d3;
      return 1;
    case 0xa7d4:
      *out = 0xa7d5;
      return 1;
    case 0xa7d6:
      *out = 0xa7d7;
      return 1;
    case 0xa7d8:
      *out = 0xa7d9;
      return 1;
    case 0xa7da:
      *out = 0xa7db;
      return 1;
    case 0xa7dc:
      *out = 0x19b;
      return 1;
    case 0xa7f5:
      *out = 0xa7f6;
      return 1;
    case 0xab70:
      *out = 0x13a0;
      return 1;
    case 0xab71:
      *out = 0x13a1;
      return 1;
    case 0xab72:
      *out = 0x13a2;
      return 1;
    case 0xab73:
      *out = 0x13a3;
      return 1;
    case 0xab74:
      *out = 0x13a4;
      return 1;
    case 0xab75:
      *out = 0x13a5;
      return 1;
    case 0xab76:
      *out = 0x13a6;
      return 1;
    case 0xab77:
      *out = 0x13a7;
      return 1;
    case 0xab78:
      *out = 0x13a8;
      return 1;
    case 0xab79:
      *out = 0x13a9;
      return 1;
    case 0xab7a:
      *out = 0x13aa;
      return 1;
    case 0xab7b:
      *out = 0x13ab;
      return 1;
    case 0xab7c:
      *out = 0x13ac;
      return 1;
    case 0xab7d:
      *out = 0x13ad;
      return 1;
    case 0xab7e:
      *out = 0x13ae;
      return 1;
    case 0xab7f:
      *out = 0x13af;
      return 1;
    case 0xab80:
      *out = 0x13b0;
      return 1;
    case 0xab81:
      *out = 0x13b1;
      return 1;
    case 0xab82:
      *out = 0x13b2;
      return 1;
    case 0xab83:
      *out = 0x13b3;
      return 1;
    case 0xab84:
      *out = 0x13b4;
      return 1;
    case 0xab85:
      *out = 0x13b5;
      return 1;
    case 0xab86:
      *out = 0x13b6;
      return 1;
    case 0xab87:
      *out = 0x13b7;
      return 1;
    case 0xab88:
      *out = 0x13b8;
      return 1;
    case 0xab89:
      *out = 0x13b9;
      return 1;
    case 0xab8a:
      *out = 0x13ba;
      return 1;
    case 0xab8b:
      *out = 0x13bb;
      return 1;
    case 0xab8c:
      *out = 0x13bc;
      return 1;
    case 0xab8d:
      *out = 0x13bd;
      return 1;
    case 0xab8e:
      *out = 0x13be;
      return 1;
    case 0xab8f:
      *out = 0x13bf;
      return 1;
    case 0xab90:
      *out = 0x13c0;
      return 1;
    case 0xab91:
      *out = 0x13c1;
      return 1;
    case 0xab92:
      *out = 0x13c2;
      return 1;
    case 0xab93:
      *out = 0x13c3;
      return 1;
    case 0xab94:
      *out = 0x13c4;
      return 1;
    case 0xab95:
      *out = 0x13c5;
      return 1;
    case 0xab96:
      *out = 0x13c6;
      return 1;
    case 0xab97:
      *out = 0x13c7;
      return 1;
    case 0xab98:
      *out = 0x13c8;
      return 1;
    case 0xab99:
      *out = 0x13c9;
      return 1;
    case 0xab9a:
      *out = 0x13ca;
      return 1;
    case 0xab9b:
      *out = 0x13cb;
      return 1;
    case 0xab9c:
      *out = 0x13cc;
      return 1;
    case 0xab9d:
      *out = 0x13cd;
      return 1;
    case 0xab9e:
      *out = 0x13ce;
      return 1;
    case 0xab9f:
      *out = 0x13cf;
      return 1;
    case 0xaba0:
      *out = 0x13d0;
      return 1;
    case 0xaba1:
      *out = 0x13d1;
      return 1;
    case 0xaba2:
      *out = 0x13d2;
      return 1;
    case 0xaba3:
      *out = 0x13d3;
      return 1;
    case 0xaba4:
      *out = 0x13d4;
      return 1;
    case 0xaba5:
      *out = 0x13d5;
      return 1;
    case 0xaba6:
      *out = 0x13d6;
      return 1;
    case 0xaba7:
      *out = 0x13d7;
      return 1;
    case 0xaba8:
      *out = 0x13d8;
      return 1;
    case 0xaba9:
      *out = 0x13d9;
      return 1;
    case 0xabaa:
      *out = 0x13da;
      return 1;
    case 0xabab:
      *out = 0x13db;
      return 1;
    case 0xabac:
      *out = 0x13dc;
      return 1;
    case 0xabad:
      *out = 0x13dd;
      return 1;
    case 0xabae:
      *out = 0x13de;
      return 1;
    case 0xabaf:
      *out = 0x13df;
      return 1;
    case 0xabb0:
      *out = 0x13e0;
      return 1;
    case 0xabb1:
      *out = 0x13e1;
      return 1;
    case 0xabb2:
      *out = 0x13e2;
      return 1;
    case 0xabb3:
      *out = 0x13e3;
      return 1;
    case 0xabb4:
      *out = 0x13e4;
      return 1;
    case 0xabb5:
      *out = 0x13e5;
      return 1;
    case 0xabb6:
      *out = 0x13e6;
      return 1;
    case 0xabb7:
      *out = 0x13e7;
      return 1;
    case 0xabb8:
      *out = 0x13e8;
      return 1;
    case 0xabb9:
      *out = 0x13e9;
      return 1;
    case 0xabba:
      *out = 0x13ea;
      return 1;
    case 0xabbb:
      *out = 0x13eb;
      return 1;
    case 0xabbc:
      *out = 0x13ec;
      return 1;
    case 0xabbd:
      *out = 0x13ed;
      return 1;
    case 0xabbe:
      *out = 0x13ee;
      return 1;
    case 0xabbf:
      *out = 0x13ef;
      return 1;
    case 0xfb00:
      out[ 0 ] = 0x66;
      out[ 1 ] = 0x66;
      return 2;
    case 0xfb01:
      out[ 0 ] = 0x66;
      out[ 1 ] = 0x69;
      return 2;
    case 0xfb02:
      out[ 0 ] = 0x66;
      out[ 1 ] = 0x6c;
      return 2;
    case 0xfb03:
      out[ 0 ] = 0x66;
      out[ 1 ] = 0x66;
      out[ 2 ] = 0x69;
      return 3;
    case 0xfb04:
      out[ 0 ] = 0x66;
      out[ 1 ] = 0x66;
      out[ 2 ] = 0x6c;
      return 3;
    case 0xfb05:
      out[ 0 ] = 0x73;
      out[ 1 ] = 0x74;
      return 2;
    case 0xfb06:
      out[ 0 ] = 0x73;
      out[ 1 ] = 0x74;
      return 2;
    case 0xfb13:
      out[ 0 ] = 0x574;
      out[ 1 ] = 0x576;
      return 2;
    case 0xfb14:
      out[ 0 ] = 0x574;
      out[ 1 ] = 0x565;
      return 2;
    case 0xfb15:
      out[ 0 ] = 0x574;
      out[ 1 ] = 0x56b;
      return 2;
    case 0xfb16:
      out[ 0 ] = 0x57e;
      out[ 1 ] = 0x576;
      return 2;
    case 0xfb17:
      out[ 0 ] = 0x574;
      out[ 1 ] = 0x56d;
      return 2;
    case 0xff21:
      *out = 0xff41;
      return 1;
    case 0xff22:
      *out = 0xff42;
      return 1;
    case 0xff23:
      *out = 0xff43;
      return 1;
    case 0xff24:
      *out = 0xff44;
      return 1;
    case 0xff25:
      *out = 0xff45;
      return 1;
    case 0xff26:
      *out = 0xff46;
      return 1;
    case 0xff27:
      *out = 0xff47;
      return 1;
    case 0xff28:
      *out = 0xff48;
      return 1;
    case 0xff29:
      *out = 0xff49;
      return 1;
    case 0xff2a:
      *out = 0xff4a;
      return 1;
    case 0xff2b:
      *out = 0xff4b;
      return 1;
    case 0xff2c:
      *out = 0xff4c;
      return 1;
    case 0xff2d:
      *out = 0xff4d;
      return 1;
    case 0xff2e:
      *out = 0xff4e;
      return 1;
    case 0xff2f:
      *out = 0xff4f;
      return 1;
    case 0xff30:
      *out = 0xff50;
      return 1;
    case 0xff31:
      *out = 0xff51;
      return 1;
    case 0xff32:
      *out = 0xff52;
      return 1;
    case 0xff33:
      *out = 0xff53;
      return 1;
    case 0xff34:
      *out = 0xff54;
      return 1;
    case 0xff35:
      *out = 0xff55;
      return 1;
    case 0xff36:
      *out = 0xff56;
      return 1;
    case 0xff37:
      *out = 0xff57;
      return 1;
    case 0xff38:
      *out = 0xff58;
      return 1;
    case 0xff39:
      *out = 0xff59;
      return 1;
    case 0xff3a:
      *out = 0xff5a;
      return 1;
    case 0x10400:
      *out = 0x10428;
      return 1;
    case 0x10401:
      *out = 0x10429;
      return 1;
    case 0x10402:
      *out = 0x1042a;
      return 1;
    case 0x10403:
      *out = 0x1042b;
      return 1;
    case 0x10404:
      *out = 0x1042c;
      return 1;
    case 0x10405:
      *out = 0x1042d;
      return 1;
    case 0x10406:
      *out = 0x1042e;
      return 1;
    case 0x10407:
      *out = 0x1042f;
      return 1;
    case 0x10408:
      *out = 0x10430;
      return 1;
    case 0x10409:
      *out = 0x10431;
      return 1;
    case 0x1040a:
      *out = 0x10432;
      return 1;
    case 0x1040b:
      *out = 0x10433;
      return 1;
    case 0x1040c:
      *out = 0x10434;
      return 1;
    case 0x1040d:
      *out = 0x10435;
      return 1;
    case 0x1040e:
      *out = 0x10436;
      return 1;
    case 0x1040f:
      *out = 0x10437;
      return 1;
    case 0x10410:
      *out = 0x10438;
      return 1;
    case 0x10411:
      *out = 0x10439;
      return 1;
    case 0x10412:
      *out = 0x1043a;
      return 1;
    case 0x10413:
      *out = 0x1043b;
      return 1;
    case 0x10414:
      *out = 0x1043c;
      return 1;
    case 0x10415:
      *out = 0x1043d;
      return 1;
    case 0x10416:
      *out = 0x1043e;
      return 1;
    case 0x10417:
      *out = 0x1043f;
      return 1;
    case 0x10418:
      *out = 0x10440;
      return 1;
    case 0x10419:
      *out = 0x10441;
      return 1;
    case 0x1041a:
      *out = 0x10442;
      return 1;
    case 0x1041b:
      *out = 0x10443;
      return 1;
    case 0x1041c:
      *out = 0x10444;
      return 1;
    case 0x1041d:
      *out = 0x10445;
      return 1;
    case 0x1041e:
      *out = 0x10446;
      return 1;
    case 0x1041f:
      *out = 0x10447;
      return 1;
    case 0x10420:
      *out = 0x10448;
      return 1;
    case 0x10421:
      *out = 0x10449;
      return 1;
    case 0x10422:
      *out = 0x1044a;
      return 1;
    case 0x10423:
      *out = 0x1044b;
      return 1;
    case 0x10424:
      *out = 0x1044c;
      return 1;
    case 0x10425:
      *out = 0x1044d;
      return 1;
    case 0x10426:
      *out = 0x1044e;
      return 1;
    case 0x10427:
      *out = 0x1044f;
      return 1;
    case 0x104b0:
      *out = 0x104d8;
      return 1;
    case 0x104b1:
      *out = 0x104d9;
      return 1;
    case 0x104b2:
      *out = 0x104da;
      return 1;
    case 0x104b3:
      *out = 0x104db;
      return 1;
    case 0x104b4:
      *out = 0x104dc;
      return 1;
    case 0x104b5:
      *out = 0x104dd;
      return 1;
    case 0x104b6:
      *out = 0x104de;
      return 1;
    case 0x104b7:
      *out = 0x104df;
      return 1;
    case 0x104b8:
      *out = 0x104e0;
      return 1;
    case 0x104b9:
      *out = 0x104e1;
      return 1;
    case 0x104ba:
      *out = 0x104e2;
      return 1;
    case 0x104bb:
      *out = 0x104e3;
      return 1;
    case 0x104bc:
      *out = 0x104e4;
      return 1;
    case 0x104bd:
      *out = 0x104e5;
      return 1;
    case 0x104be:
      *out = 0x104e6;
      return 1;
    case 0x104bf:
      *out = 0x104e7;
      return 1;
    case 0x104c0:
      *out = 0x104e8;
      return 1;
    case 0x104c1:
      *out = 0x104e9;
      return 1;
    case 0x104c2:
      *out = 0x104ea;
      return 1;
    case 0x104c3:
      *out = 0x104eb;
      return 1;
    case 0x104c4:
      *out = 0x104ec;
      return 1;
    case 0x104c5:
      *out = 0x104ed;
      return 1;
    case 0x104c6:
      *out = 0x104ee;
      return 1;
    case 0x104c7:
      *out = 0x104ef;
      return 1;
    case 0x104c8:
      *out = 0x104f0;
      return 1;
    case 0x104c9:
      *out = 0x104f1;
      return 1;
    case 0x104ca:
      *out = 0x104f2;
      return 1;
    case 0x104cb:
      *out = 0x104f3;
      return 1;
    case 0x104cc:
      *out = 0x104f4;
      return 1;
    case 0x104cd:
      *out = 0x104f5;
      return 1;
    case 0x104ce:
      *out = 0x104f6;
      return 1;
    case 0x104cf:
      *out = 0x104f7;
      return 1;
    case 0x104d0:
      *out = 0x104f8;
      return 1;
    case 0x104d1:
      *out = 0x104f9;
      return 1;
    case 0x104d2:
      *out = 0x104fa;
      return 1;
    case 0x104d3:
      *out = 0x104fb;
      return 1;
    case 0x10570:
      *out = 0x10597;
      return 1;
    case 0x10571:
      *out = 0x10598;
      return 1;
    case 0x10572:
      *out = 0x10599;
      return 1;
    case 0x10573:
      *out = 0x1059a;
      return 1;
    case 0x10574:
      *out = 0x1059b;
      return 1;
    case 0x10575:
      *out = 0x1059c;
      return 1;
    case 0x10576:
      *out = 0x1059d;
      return 1;
    case 0x10577:
      *out = 0x1059e;
      return 1;
    case 0x10578:
      *out = 0x1059f;
      return 1;
    case 0x10579:
      *out = 0x105a0;
      return 1;
    case 0x1057a:
      *out = 0x105a1;
      return 1;
    case 0x1057c:
      *out = 0x105a3;
      return 1;
    case 0x1057d:
      *out = 0x105a4;
      return 1;
    case 0x1057e:
      *out = 0x105a5;
      return 1;
    case 0x1057f:
      *out = 0x105a6;
      return 1;
    case 0x10580:
      *out = 0x105a7;
      return 1;
    case 0x10581:
      *out = 0x105a8;
      return 1;
    case 0x10582:
      *out = 0x105a9;
      return 1;
    case 0x10583:
      *out = 0x105aa;
      return 1;
    case 0x10584:
      *out = 0x105ab;
      return 1;
    case 0x10585:
      *out = 0x105ac;
      return 1;
    case 0x10586:
      *out = 0x105ad;
      return 1;
    case 0x10587:
      *out = 0x105ae;
      return 1;
    case 0x10588:
      *out = 0x105af;
      return 1;
    case 0x10589:
      *out = 0x105b0;
      return 1;
    case 0x1058a:
      *out = 0x105b1;
      return 1;
    case 0x1058c:
      *out = 0x105b3;
      return 1;
    case 0x1058d:
      *out = 0x105b4;
      return 1;
    case 0x1058e:
      *out = 0x105b5;
      return 1;
    case 0x1058f:
      *out = 0x105b6;
      return 1;
    case 0x10590:
      *out = 0x105b7;
      return 1;
    case 0x10591:
      *out = 0x105b8;
      return 1;
    case 0x10592:
      *out = 0x105b9;
      return 1;
    case 0x10594:
      *out = 0x105bb;
      return 1;
    case 0x10595:
      *out = 0x105bc;
      return 1;
    case 0x10c80:
      *out = 0x10cc0;
      return 1;
    case 0x10c81:
      *out = 0x10cc1;
      return 1;
    case 0x10c82:
      *out = 0x10cc2;
      return 1;
    case 0x10c83:
      *out = 0x10cc3;
      return 1;
    case 0x10c84:
      *out = 0x10cc4;
      return 1;
    case 0x10c85:
      *out = 0x10cc5;
      return 1;
    case 0x10c86:
      *out = 0x10cc6;
      return 1;
    case 0x10c87:
      *out = 0x10cc7;
      return 1;
    case 0x10c88:
      *out = 0x10cc8;
      return 1;
    case 0x10c89:
      *out = 0x10cc9;
      return 1;
    case 0x10c8a:
      *out = 0x10cca;
      return 1;
    case 0x10c8b:
      *out = 0x10ccb;
      return 1;
    case 0x10c8c:
      *out = 0x10ccc;
      return 1;
    case 0x10c8d:
      *out = 0x10ccd;
      return 1;
    case 0x10c8e:
      *out = 0x10cce;
      return 1;
    case 0x10c8f:
      *out = 0x10ccf;
      return 1;
    case 0x10c90:
      *out = 0x10cd0;
      return 1;
    case 0x10c91:
      *out = 0x10cd1;
      return 1;
    case 0x10c92:
      *out = 0x10cd2;
      return 1;
    case 0x10c93:
      *out = 0x10cd3;
      return 1;
    case 0x10c94:
      *out = 0x10cd4;
      return 1;
    case 0x10c95:
      *out = 0x10cd5;
      return 1;
    case 0x10c96:
      *out = 0x10cd6;
      return 1;
    case 0x10c97:
      *out = 0x10cd7;
      return 1;
    case 0x10c98:
      *out = 0x10cd8;
      return 1;
    case 0x10c99:
      *out = 0x10cd9;
      return 1;
    case 0x10c9a:
      *out = 0x10cda;
      return 1;
    case 0x10c9b:
      *out = 0x10cdb;
      return 1;
    case 0x10c9c:
      *out = 0x10cdc;
      return 1;
    case 0x10c9d:
      *out = 0x10cdd;
      return 1;
    case 0x10c9e:
      *out = 0x10cde;
      return 1;
    case 0x10c9f:
      *out = 0x10cdf;
      return 1;
    case 0x10ca0:
      *out = 0x10ce0;
      return 1;
    case 0x10ca1:
      *out = 0x10ce1;
      return 1;
    case 0x10ca2:
      *out = 0x10ce2;
      return 1;
    case 0x10ca3:
      *out = 0x10ce3;
      return 1;
    case 0x10ca4:
      *out = 0x10ce4;
      return 1;
    case 0x10ca5:
      *out = 0x10ce5;
      return 1;
    case 0x10ca6:
      *out = 0x10ce6;
      return 1;
    case 0x10ca7:
      *out = 0x10ce7;
      return 1;
    case 0x10ca8:
      *out = 0x10ce8;
      return 1;
    case 0x10ca9:
      *out = 0x10ce9;
      return 1;
    case 0x10caa:
      *out = 0x10cea;
      return 1;
    case 0x10cab:
      *out = 0x10ceb;
      return 1;
    case 0x10cac:
      *out = 0x10cec;
      return 1;
    case 0x10cad:
      *out = 0x10ced;
      return 1;
    case 0x10cae:
      *out = 0x10cee;
      return 1;
    case 0x10caf:
      *out = 0x10cef;
      return 1;
    case 0x10cb0:
      *out = 0x10cf0;
      return 1;
    case 0x10cb1:
      *out = 0x10cf1;
      return 1;
    case 0x10cb2:
      *out = 0x10cf2;
      return 1;
    case 0x10d50:
      *out = 0x10d70;
      return 1;
    case 0x10d51:
      *out = 0x10d71;
      return 1;
    case 0x10d52:
      *out = 0x10d72;
      return 1;
    case 0x10d53:
      *out = 0x10d73;
      return 1;
    case 0x10d54:
      *out = 0x10d74;
      return 1;
    case 0x10d55:
      *out = 0x10d75;
      return 1;
    case 0x10d56:
      *out = 0x10d76;
      return 1;
    case 0x10d57:
      *out = 0x10d77;
      return 1;
    case 0x10d58:
      *out = 0x10d78;
      return 1;
    case 0x10d59:
      *out = 0x10d79;
      return 1;
    case 0x10d5a:
      *out = 0x10d7a;
      return 1;
    case 0x10d5b:
      *out = 0x10d7b;
      return 1;
    case 0x10d5c:
      *out = 0x10d7c;
      return 1;
    case 0x10d5d:
      *out = 0x10d7d;
      return 1;
    case 0x10d5e:
      *out = 0x10d7e;
      return 1;
    case 0x10d5f:
      *out = 0x10d7f;
      return 1;
    case 0x10d60:
      *out = 0x10d80;
      return 1;
    case 0x10d61:
      *out = 0x10d81;
      return 1;
    case 0x10d62:
      *out = 0x10d82;
      return 1;
    case 0x10d63:
      *out = 0x10d83;
      return 1;
    case 0x10d64:
      *out = 0x10d84;
      return 1;
    case 0x10d65:
      *out = 0x10d85;
      return 1;
    case 0x118a0:
      *out = 0x118c0;
      return 1;
    case 0x118a1:
      *out = 0x118c1;
      return 1;
    case 0x118a2:
      *out = 0x118c2;
      return 1;
    case 0x118a3:
      *out = 0x118c3;
      return 1;
    case 0x118a4:
      *out = 0x118c4;
      return 1;
    case 0x118a5:
      *out = 0x118c5;
      return 1;
    case 0x118a6:
      *out = 0x118c6;
      return 1;
    case 0x118a7:
      *out = 0x118c7;
      return 1;
    case 0x118a8:
      *out = 0x118c8;
      return 1;
    case 0x118a9:
      *out = 0x118c9;
      return 1;
    case 0x118aa:
      *out = 0x118ca;
      return 1;
    case 0x118ab:
      *out = 0x118cb;
      return 1;
    case 0x118ac:
      *out = 0x118cc;
      return 1;
    case 0x118ad:
      *out = 0x118cd;
      return 1;
    case 0x118ae:
      *out = 0x118ce;
      return 1;
    case 0x118af:
      *out = 0x118cf;
      return 1;
    case 0x118b0:
      *out = 0x118d0;
      return 1;
    case 0x118b1:
      *out = 0x118d1;
      return 1;
    case 0x118b2:
      *out = 0x118d2;
      return 1;
    case 0x118b3:
      *out = 0x118d3;
      return 1;
    case 0x118b4:
      *out = 0x118d4;
      return 1;
    case 0x118b5:
      *out = 0x118d5;
      return 1;
    case 0x118b6:
      *out = 0x118d6;
      return 1;
    case 0x118b7:
      *out = 0x118d7;
      return 1;
    case 0x118b8:
      *out = 0x118d8;
      return 1;
    case 0x118b9:
      *out = 0x118d9;
      return 1;
    case 0x118ba:
      *out = 0x118da;
      return 1;
    case 0x118bb:
      *out = 0x118db;
      return 1;
    case 0x118bc:
      *out = 0x118dc;
      return 1;
    case 0x118bd:
      *out = 0x118dd;
      return 1;
    case 0x118be:
      *out = 0x118de;
      return 1;
    case 0x118bf:
      *out = 0x118df;
      return 1;
    case 0x16e40:
      *out = 0x16e60;
      return 1;
    case 0x16e41:
      *out = 0x16e61;
      return 1;
    case 0x16e42:
      *out = 0x16e62;
      return 1;
    case 0x16e43:
      *out = 0x16e63;
      return 1;
    case 0x16e44:
      *out = 0x16e64;
      return 1;
    case 0x16e45:
      *out = 0x16e65;
      return 1;
    case 0x16e46:
      *out = 0x16e66;
      return 1;
    case 0x16e47:
      *out = 0x16e67;
      return 1;
    case 0x16e48:
      *out = 0x16e68;
      return 1;
    case 0x16e49:
      *out = 0x16e69;
      return 1;
    case 0x16e4a:
      *out = 0x16e6a;
      return 1;
    case 0x16e4b:
      *out = 0x16e6b;
      return 1;
    case 0x16e4c:
      *out = 0x16e6c;
      return 1;
    case 0x16e4d:
      *out = 0x16e6d;
      return 1;
    case 0x16e4e:
      *out = 0x16e6e;
      return 1;
    case 0x16e4f:
      *out = 0x16e6f;
      return 1;
    case 0x16e50:
      *out = 0x16e70;
      return 1;
    case 0x16e51:
      *out = 0x16e71;
      return 1;
    case 0x16e52:
      *out = 0x16e72;
      return 1;
    case 0x16e53:
      *out = 0x16e73;
      return 1;
    case 0x16e54:
      *out = 0x16e74;
      return 1;
    case 0x16e55:
      *out = 0x16e75;
      return 1;
    case 0x16e56:
      *out = 0x16e76;
      return 1;
    case 0x16e57:
      *out = 0x16e77;
      return 1;
    case 0x16e58:
      *out = 0x16e78;
      return 1;
    case 0x16e59:
      *out = 0x16e79;
      return 1;
    case 0x16e5a:
      *out = 0x16e7a;
      return 1;
    case 0x16e5b:
      *out = 0x16e7b;
      return 1;
    case 0x16e5c:
      *out = 0x16e7c;
      return 1;
    case 0x16e5d:
      *out = 0x16e7d;
      return 1;
    case 0x16e5e:
      *out = 0x16e7e;
      return 1;
    case 0x16e5f:
      *out = 0x16e7f;
      return 1;
    case 0x16ea0:
      *out = 0x16ebb;
      return 1;
    case 0x16ea1:
      *out = 0x16ebc;
      return 1;
    case 0x16ea2:
      *out = 0x16ebd;
      return 1;
    case 0x16ea3:
      *out = 0x16ebe;
      return 1;
    case 0x16ea4:
      *out = 0x16ebf;
      return 1;
    case 0x16ea5:
      *out = 0x16ec0;
      return 1;
    case 0x16ea6:
      *out = 0x16ec1;
      return 1;
    case 0x16ea7:
      *out = 0x16ec2;
      return 1;
    case 0x16ea8:
      *out = 0x16ec3;
      return 1;
    case 0x16ea9:
      *out = 0x16ec4;
      return 1;
    case 0x16eaa:
      *out = 0x16ec5;
      return 1;
    case 0x16eab:
      *out = 0x16ec6;
      return 1;
    case 0x16eac:
      *out = 0x16ec7;
      return 1;
    case 0x16ead:
      *out = 0x16ec8;
      return 1;
    case 0x16eae:
      *out = 0x16ec9;
      return 1;
    case 0x16eaf:
      *out = 0x16eca;
      return 1;
    case 0x16eb0:
      *out = 0x16ecb;
      return 1;
    case 0x16eb1:
      *out = 0x16ecc;
      return 1;
    case 0x16eb2:
      *out = 0x16ecd;
      return 1;
    case 0x16eb3:
      *out = 0x16ece;
      return 1;
    case 0x16eb4:
      *out = 0x16ecf;
      return 1;
    case 0x16eb5:
      *out = 0x16ed0;
      return 1;
    case 0x16eb6:
      *out = 0x16ed1;
      return 1;
    case 0x16eb7:
      *out = 0x16ed2;
      return 1;
    case 0x16eb8:
      *out = 0x16ed3;
      return 1;
    case 0x1e900:
      *out = 0x1e922;
      return 1;
    case 0x1e901:
      *out = 0x1e923;
      return 1;
    case 0x1e902:
      *out = 0x1e924;
      return 1;
    case 0x1e903:
      *out = 0x1e925;
      return 1;
    case 0x1e904:
      *out = 0x1e926;
      return 1;
    case 0x1e905:
      *out = 0x1e927;
      return 1;
    case 0x1e906:
      *out = 0x1e928;
      return 1;
    case 0x1e907:
      *out = 0x1e929;
      return 1;
    case 0x1e908:
      *out = 0x1e92a;
      return 1;
    case 0x1e909:
      *out = 0x1e92b;
      return 1;
    case 0x1e90a:
      *out = 0x1e92c;
      return 1;
    case 0x1e90b:
      *out = 0x1e92d;
      return 1;
    case 0x1e90c:
      *out = 0x1e92e;
      return 1;
    case 0x1e90d:
      *out = 0x1e92f;
      return 1;
    case 0x1e90e:
      *out = 0x1e930;
      return 1;
    case 0x1e90f:
      *out = 0x1e931;
      return 1;
    case 0x1e910:
      *out = 0x1e932;
      return 1;
    case 0x1e911:
      *out = 0x1e933;
      return 1;
    case 0x1e912:
      *out = 0x1e934;
      return 1;
    case 0x1e913:
      *out = 0x1e935;
      return 1;
    case 0x1e914:
      *out = 0x1e936;
      return 1;
    case 0x1e915:
      *out = 0x1e937;
      return 1;
    case 0x1e916:
      *out = 0x1e938;
      return 1;
    case 0x1e917:
      *out = 0x1e939;
      return 1;
    case 0x1e918:
      *out = 0x1e93a;
      return 1;
    case 0x1e919:
      *out = 0x1e93b;
      return 1;
    case 0x1e91a:
      *out = 0x1e93c;
      return 1;
    case 0x1e91b:
      *out = 0x1e93d;
      return 1;
    case 0x1e91c:
      *out = 0x1e93e;
      return 1;
    case 0x1e91d:
      *out = 0x1e93f;
      return 1;
    case 0x1e91e:
      *out = 0x1e940;
      return 1;
    case 0x1e91f:
      *out = 0x1e941;
      return 1;
    case 0x1e920:
      *out = 0x1e942;
      return 1;
    case 0x1e921:
      *out = 0x1e943;
      return 1;
    default:
      *out = in;
      return 1;
  }
}

char32_t foldCaseSimple( char32_t in )
{
  switch ( in ) {
    case 0x41:
      return 0x61;
    case 0x42:
      return 0x62;
    case 0x43:
      return 0x63;
    case 0x44:
      return 0x64;
    case 0x45:
      return 0x65;
    case 0x46:
      return 0x66;
    case 0x47:
      return 0x67;
    case 0x48:
      return 0x68;
    case 0x49:
      return 0x69;
    case 0x4a:
      return 0x6a;
    case 0x4b:
      return 0x6b;
    case 0x4c:
      return 0x6c;
    case 0x4d:
      return 0x6d;
    case 0x4e:
      return 0x6e;
    case 0x4f:
      return 0x6f;
    case 0x50:
      return 0x70;
    case 0x51:
      return 0x71;
    case 0x52:
      return 0x72;
    case 0x53:
      return 0x73;
    case 0x54:
      return 0x74;
    case 0x55:
      return 0x75;
    case 0x56:
      return 0x76;
    case 0x57:
      return 0x77;
    case 0x58:
      return 0x78;
    case 0x59:
      return 0x79;
    case 0x5a:
      return 0x7a;
    case 0xb5:
      return 0x3bc;
    case 0xc0:
      return 0xe0;
    case 0xc1:
      return 0xe1;
    case 0xc2:
      return 0xe2;
    case 0xc3:
      return 0xe3;
    case 0xc4:
      return 0xe4;
    case 0xc5:
      return 0xe5;
    case 0xc6:
      return 0xe6;
    case 0xc7:
      return 0xe7;
    case 0xc8:
      return 0xe8;
    case 0xc9:
      return 0xe9;
    case 0xca:
      return 0xea;
    case 0xcb:
      return 0xeb;
    case 0xcc:
      return 0xec;
    case 0xcd:
      return 0xed;
    case 0xce:
      return 0xee;
    case 0xcf:
      return 0xef;
    case 0xd0:
      return 0xf0;
    case 0xd1:
      return 0xf1;
    case 0xd2:
      return 0xf2;
    case 0xd3:
      return 0xf3;
    case 0xd4:
      return 0xf4;
    case 0xd5:
      return 0xf5;
    case 0xd6:
      return 0xf6;
    case 0xd8:
      return 0xf8;
    case 0xd9:
      return 0xf9;
    case 0xda:
      return 0xfa;
    case 0xdb:
      return 0xfb;
    case 0xdc:
      return 0xfc;
    case 0xdd:
      return 0xfd;
    case 0xde:
      return 0xfe;
    case 0x100:
      return 0x101;
    case 0x102:
      return 0x103;
    case 0x104:
      return 0x105;
    case 0x106:
      return 0x107;
    case 0x108:
      return 0x109;
    case 0x10a:
      return 0x10b;
    case 0x10c:
      return 0x10d;
    case 0x10e:
      return 0x10f;
    case 0x110:
      return 0x111;
    case 0x112:
      return 0x113;
    case 0x114:
      return 0x115;
    case 0x116:
      return 0x117;
    case 0x118:
      return 0x119;
    case 0x11a:
      return 0x11b;
    case 0x11c:
      return 0x11d;
    case 0x11e:
      return 0x11f;
    case 0x120:
      return 0x121;
    case 0x122:
      return 0x123;
    case 0x124:
      return 0x125;
    case 0x126:
      return 0x127;
    case 0x128:
      return 0x129;
    case 0x12a:
      return 0x12b;
    case 0x12c:
      return 0x12d;
    case 0x12e:
      return 0x12f;
    case 0x132:
      return 0x133;
    case 0x134:
      return 0x135;
    case 0x136:
      return 0x137;
    case 0x139:
      return 0x13a;
    case 0x13b:
      return 0x13c;
    case 0x13d:
      return 0x13e;
    case 0x13f:
      return 0x140;
    case 0x141:
      return 0x142;
    case 0x143:
      return 0x144;
    case 0x145:
      return 0x146;
    case 0x147:
      return 0x148;
    case 0x14a:
      return 0x14b;
    case 0x14c:
      return 0x14d;
    case 0x14e:
      return 0x14f;
    case 0x150:
      return 0x151;
    case 0x152:
      return 0x153;
    case 0x154:
      return 0x155;
    case 0x156:
      return 0x157;
    case 0x158:
      return 0x159;
    case 0x15a:
      return 0x15b;
    case 0x15c:
      return 0x15d;
    case 0x15e:
      return 0x15f;
    case 0x160:
      return 0x161;
    case 0x162:
      return 0x163;
    case 0x164:
      return 0x165;
    case 0x166:
      return 0x167;
    case 0x168:
      return 0x169;
    case 0x16a:
      return 0x16b;
    case 0x16c:
      return 0x16d;
    case 0x16e:
      return 0x16f;
    case 0x170:
      return 0x171;
    case 0x172:
      return 0x173;
    case 0x174:
      return 0x175;
    case 0x176:
      return 0x177;
    case 0x178:
      return 0xff;
    case 0x179:
      return 0x17a;
    case 0x17b:
      return 0x17c;
    case 0x17d:
      return 0x17e;
    case 0x17f:
      return 0x73;
    case 0x181:
      return 0x253;
    case 0x182:
      return 0x183;
    case 0x184:
      return 0x185;
    case 0x186:
      return 0x254;
    case 0x187:
      return 0x188;
    case 0x189:
      return 0x256;
    case 0x18a:
      return 0x257;
    case 0x18b:
      return 0x18c;
    case 0x18e:
      return 0x1dd;
    case 0x18f:
      return 0x259;
    case 0x190:
      return 0x25b;
    case 0x191:
      return 0x192;
    case 0x193:
      return 0x260;
    case 0x194:
      return 0x263;
    case 0x196:
      return 0x269;
    case 0x197:
      return 0x268;
    case 0x198:
      return 0x199;
    case 0x19c:
      return 0x26f;
    case 0x19d:
      return 0x272;
    case 0x19f:
      return 0x275;
    case 0x1a0:
      return 0x1a1;
    case 0x1a2:
      return 0x1a3;
    case 0x1a4:
      return 0x1a5;
    case 0x1a6:
      return 0x280;
    case 0x1a7:
      return 0x1a8;
    case 0x1a9:
      return 0x283;
    case 0x1ac:
      return 0x1ad;
    case 0x1ae:
      return 0x288;
    case 0x1af:
      return 0x1b0;
    case 0x1b1:
      return 0x28a;
    case 0x1b2:
      return 0x28b;
    case 0x1b3:
      return 0x1b4;
    case 0x1b5:
      return 0x1b6;
    case 0x1b7:
      return 0x292;
    case 0x1b8:
      return 0x1b9;
    case 0x1bc:
      return 0x1bd;
    case 0x1c4:
      return 0x1c6;
    case 0x1c5:
      return 0x1c6;
    case 0x1c7:
      return 0x1c9;
    case 0x1c8:
      return 0x1c9;
    case 0x1ca:
      return 0x1cc;
    case 0x1cb:
      return 0x1cc;
    case 0x1cd:
      return 0x1ce;
    case 0x1cf:
      return 0x1d0;
    case 0x1d1:
      return 0x1d2;
    case 0x1d3:
      return 0x1d4;
    case 0x1d5:
      return 0x1d6;
    case 0x1d7:
      return 0x1d8;
    case 0x1d9:
      return 0x1da;
    case 0x1db:
      return 0x1dc;
    case 0x1de:
      return 0x1df;
    case 0x1e0:
      return 0x1e1;
    case 0x1e2:
      return 0x1e3;
    case 0x1e4:
      return 0x1e5;
    case 0x1e6:
      return 0x1e7;
    case 0x1e8:
      return 0x1e9;
    case 0x1ea:
      return 0x1eb;
    case 0x1ec:
      return 0x1ed;
    case 0x1ee:
      return 0x1ef;
    case 0x1f1:
      return 0x1f3;
    case 0x1f2:
      return 0x1f3;
    case 0x1f4:
      return 0x1f5;
    case 0x1f6:
      return 0x195;
    case 0x1f7:
      return 0x1bf;
    case 0x1f8:
      return 0x1f9;
    case 0x1fa:
      return 0x1fb;
    case 0x1fc:
      return 0x1fd;
    case 0x1fe:
      return 0x1ff;
    case 0x200:
      return 0x201;
    case 0x202:
      return 0x203;
    case 0x204:
      return 0x205;
    case 0x206:
      return 0x207;
    case 0x208:
      return 0x209;
    case 0x20a:
      return 0x20b;
    case 0x20c:
      return 0x20d;
    case 0x20e:
      return 0x20f;
    case 0x210:
      return 0x211;
    case 0x212:
      return 0x213;
    case 0x214:
      return 0x215;
    case 0x216:
      return 0x217;
    case 0x218:
      return 0x219;
    case 0x21a:
      return 0x21b;
    case 0x21c:
      return 0x21d;
    case 0x21e:
      return 0x21f;
    case 0x220:
      return 0x19e;
    case 0x222:
      return 0x223;
    case 0x224:
      return 0x225;
    case 0x226:
      return 0x227;
    case 0x228:
      return 0x229;
    case 0x22a:
      return 0x22b;
    case 0x22c:
      return 0x22d;
    case 0x22e:
      return 0x22f;
    case 0x230:
      return 0x231;
    case 0x232:
      return 0x233;
    case 0x23a:
      return 0x2c65;
    case 0x23b:
      return 0x23c;
    case 0x23d:
      return 0x19a;
    case 0x23e:
      return 0x2c66;
    case 0x241:
      return 0x242;
    case 0x243:
      return 0x180;
    case 0x244:
      return 0x289;
    case 0x245:
      return 0x28c;
    case 0x246:
      return 0x247;
    case 0x248:
      return 0x249;
    case 0x24a:
      return 0x24b;
    case 0x24c:
      return 0x24d;
    case 0x24e:
      return 0x24f;
    case 0x345:
      return 0x3b9;
    case 0x370:
      return 0x371;
    case 0x372:
      return 0x373;
    case 0x376:
      return 0x377;
    case 0x37f:
      return 0x3f3;
    case 0x386:
      return 0x3ac;
    case 0x388:
      return 0x3ad;
    case 0x389:
      return 0x3ae;
    case 0x38a:
      return 0x3af;
    case 0x38c:
      return 0x3cc;
    case 0x38e:
      return 0x3cd;
    case 0x38f:
      return 0x3ce;
    case 0x391:
      return 0x3b1;
    case 0x392:
      return 0x3b2;
    case 0x393:
      return 0x3b3;
    case 0x394:
      return 0x3b4;
    case 0x395:
      return 0x3b5;
    case 0x396:
      return 0x3b6;
    case 0x397:
      return 0x3b7;
    case 0x398:
      return 0x3b8;
    case 0x399:
      return 0x3b9;
    case 0x39a:
      return 0x3ba;
    case 0x39b:
      return 0x3bb;
    case 0x39c:
      return 0x3bc;
    case 0x39d:
      return 0x3bd;
    case 0x39e:
      return 0x3be;
    case 0x39f:
      return 0x3bf;
    case 0x3a0:
      return 0x3c0;
    case 0x3a1:
      return 0x3c1;
    case 0x3a3:
      return 0x3c3;
    case 0x3a4:
      return 0x3c4;
    case 0x3a5:
      return 0x3c5;
    case 0x3a6:
      return 0x3c6;
    case 0x3a7:
      return 0x3c7;
    case 0x3a8:
      return 0x3c8;
    case 0x3a9:
      return 0x3c9;
    case 0x3aa:
      return 0x3ca;
    case 0x3ab:
      return 0x3cb;
    case 0x3c2:
      return 0x3c3;
    case 0x3cf:
      return 0x3d7;
    case 0x3d0:
      return 0x3b2;
    case 0x3d1:
      return 0x3b8;
    case 0x3d5:
      return 0x3c6;
    case 0x3d6:
      return 0x3c0;
    case 0x3d8:
      return 0x3d9;
    case 0x3da:
      return 0x3db;
    case 0x3dc:
      return 0x3dd;
    case 0x3de:
      return 0x3df;
    case 0x3e0:
      return 0x3e1;
    case 0x3e2:
      return 0x3e3;
    case 0x3e4:
      return 0x3e5;
    case 0x3e6:
      return 0x3e7;
    case 0x3e8:
      return 0x3e9;
    case 0x3ea:
      return 0x3eb;
    case 0x3ec:
      return 0x3ed;
    case 0x3ee:
      return 0x3ef;
    case 0x3f0:
      return 0x3ba;
    case 0x3f1:
      return 0x3c1;
    case 0x3f4:
      return 0x3b8;
    case 0x3f5:
      return 0x3b5;
    case 0x3f7:
      return 0x3f8;
    case 0x3f9:
      return 0x3f2;
    case 0x3fa:
      return 0x3fb;
    case 0x3fd:
      return 0x37b;
    case 0x3fe:
      return 0x37c;
    case 0x3ff:
      return 0x37d;
    case 0x400:
      return 0x450;
    case 0x401:
      return 0x451;
    case 0x402:
      return 0x452;
    case 0x403:
      return 0x453;
    case 0x404:
      return 0x454;
    case 0x405:
      return 0x455;
    case 0x406:
      return 0x456;
    case 0x407:
      return 0x457;
    case 0x408:
      return 0x458;
    case 0x409:
      return 0x459;
    case 0x40a:
      return 0x45a;
    case 0x40b:
      return 0x45b;
    case 0x40c:
      return 0x45c;
    case 0x40d:
      return 0x45d;
    case 0x40e:
      return 0x45e;
    case 0x40f:
      return 0x45f;
    case 0x410:
      return 0x430;
    case 0x411:
      return 0x431;
    case 0x412:
      return 0x432;
    case 0x413:
      return 0x433;
    case 0x414:
      return 0x434;
    case 0x415:
      return 0x435;
    case 0x416:
      return 0x436;
    case 0x417:
      return 0x437;
    case 0x418:
      return 0x438;
    case 0x419:
      return 0x439;
    case 0x41a:
      return 0x43a;
    case 0x41b:
      return 0x43b;
    case 0x41c:
      return 0x43c;
    case 0x41d:
      return 0x43d;
    case 0x41e:
      return 0x43e;
    case 0x41f:
      return 0x43f;
    case 0x420:
      return 0x440;
    case 0x421:
      return 0x441;
    case 0x422:
      return 0x442;
    case 0x423:
      return 0x443;
    case 0x424:
      return 0x444;
    case 0x425:
      return 0x445;
    case 0x426:
      return 0x446;
    case 0x427:
      return 0x447;
    case 0x428:
      return 0x448;
    case 0x429:
      return 0x449;
    case 0x42a:
      return 0x44a;
    case 0x42b:
      return 0x44b;
    case 0x42c:
      return 0x44c;
    case 0x42d:
      return 0x44d;
    case 0x42e:
      return 0x44e;
    case 0x42f:
      return 0x44f;
    case 0x460:
      return 0x461;
    case 0x462:
      return 0x463;
    case 0x464:
      return 0x465;
    case 0x466:
      return 0x467;
    case 0x468:
      return 0x469;
    case 0x46a:
      return 0x46b;
    case 0x46c:
      return 0x46d;
    case 0x46e:
      return 0x46f;
    case 0x470:
      return 0x471;
    case 0x472:
      return 0x473;
    case 0x474:
      return 0x475;
    case 0x476:
      return 0x477;
    case 0x478:
      return 0x479;
    case 0x47a:
      return 0x47b;
    case 0x47c:
      return 0x47d;
    case 0x47e:
      return 0x47f;
    case 0x480:
      return 0x481;
    case 0x48a:
      return 0x48b;
    case 0x48c:
      return 0x48d;
    case 0x48e:
      return 0x48f;
    case 0x490:
      return 0x491;
    case 0x492:
      return 0x493;
    case 0x494:
      return 0x495;
    case 0x496:
      return 0x497;
    case 0x498:
      return 0x499;
    case 0x49a:
      return 0x49b;
    case 0x49c:
      return 0x49d;
    case 0x49e:
      return 0x49f;
    case 0x4a0:
      return 0x4a1;
    case 0x4a2:
      return 0x4a3;
    case 0x4a4:
      return 0x4a5;
    case 0x4a6:
      return 0x4a7;
    case 0x4a8:
      return 0x4a9;
    case 0x4aa:
      return 0x4ab;
    case 0x4ac:
      return 0x4ad;
    case 0x4ae:
      return 0x4af;
    case 0x4b0:
      return 0x4b1;
    case 0x4b2:
      return 0x4b3;
    case 0x4b4:
      return 0x4b5;
    case 0x4b6:
      return 0x4b7;
    case 0x4b8:
      return 0x4b9;
    case 0x4ba:
      return 0x4bb;
    case 0x4bc:
      return 0x4bd;
    case 0x4be:
      return 0x4bf;
    case 0x4c0:
      return 0x4cf;
    case 0x4c1:
      return 0x4c2;
    case 0x4c3:
      return 0x4c4;
    case 0x4c5:
      return 0x4c6;
    case 0x4c7:
      return 0x4c8;
    case 0x4c9:
      return 0x4ca;
    case 0x4cb:
      return 0x4cc;
    case 0x4cd:
      return 0x4ce;
    case 0x4d0:
      return 0x4d1;
    case 0x4d2:
      return 0x4d3;
    case 0x4d4:
      return 0x4d5;
    case 0x4d6:
      return 0x4d7;
    case 0x4d8:
      return 0x4d9;
    case 0x4da:
      return 0x4db;
    case 0x4dc:
      return 0x4dd;
    case 0x4de:
      return 0x4df;
    case 0x4e0:
      return 0x4e1;
    case 0x4e2:
      return 0x4e3;
    case 0x4e4:
      return 0x4e5;
    case 0x4e6:
      return 0x4e7;
    case 0x4e8:
      return 0x4e9;
    case 0x4ea:
      return 0x4eb;
    case 0x4ec:
      return 0x4ed;
    case 0x4ee:
      return 0x4ef;
    case 0x4f0:
      return 0x4f1;
    case 0x4f2:
      return 0x4f3;
    case 0x4f4:
      return 0x4f5;
    case 0x4f6:
      return 0x4f7;
    case 0x4f8:
      return 0x4f9;
    case 0x4fa:
      return 0x4fb;
    case 0x4fc:
      return 0x4fd;
    case 0x4fe:
      return 0x4ff;
    case 0x500:
      return 0x501;
    case 0x502:
      return 0x503;
    case 0x504:
      return 0x505;
    case 0x506:
      return 0x507;
    case 0x508:
      return 0x509;
    case 0x50a:
      return 0x50b;
    case 0x50c:
      return 0x50d;
    case 0x50e:
      return 0x50f;
    case 0x510:
      return 0x511;
    case 0x512:
      return 0x513;
    case 0x514:
      return 0x515;
    case 0x516:
      return 0x517;
    case 0x518:
      return 0x519;
    case 0x51a:
      return 0x51b;
    case 0x51c:
      return 0x51d;
    case 0x51e:
      return 0x51f;
    case 0x520:
      return 0x521;
    case 0x522:
      return 0x523;
    case 0x524:
      return 0x525;
    case 0x526:
      return 0x527;
    case 0x528:
      return 0x529;
    case 0x52a:
      return 0x52b;
    case 0x52c:
      return 0x52d;
    case 0x52e:
      return 0x52f;
    case 0x531:
      return 0x561;
    case 0x532:
      return 0x562;
    case 0x533:
      return 0x563;
    case 0x534:
      return 0x564;
    case 0x535:
      return 0x565;
    case 0x536:
      return 0x566;
    case 0x537:
      return 0x567;
    case 0x538:
      return 0x568;
    case 0x539:
      return 0x569;
    case 0x53a:
      return 0x56a;
    case 0x53b:
      return 0x56b;
    case 0x53c:
      return 0x56c;
    case 0x53d:
      return 0x56d;
    case 0x53e:
      return 0x56e;
    case 0x53f:
      return 0x56f;
    case 0x540:
      return 0x570;
    case 0x541:
      return 0x571;
    case 0x542:
      return 0x572;
    case 0x543:
      return 0x573;
    case 0x544:
      return 0x574;
    case 0x545:
      return 0x575;
    case 0x546:
      return 0x576;
    case 0x547:
      return 0x577;
    case 0x548:
      return 0x578;
    case 0x549:
      return 0x579;
    case 0x54a:
      return 0x57a;
    case 0x54b:
      return 0x57b;
    case 0x54c:
      return 0x57c;
    case 0x54d:
      return 0x57d;
    case 0x54e:
      return 0x57e;
    case 0x54f:
      return 0x57f;
    case 0x550:
      return 0x580;
    case 0x551:
      return 0x581;
    case 0x552:
      return 0x582;
    case 0x553:
      return 0x583;
    case 0x554:
      return 0x584;
    case 0x555:
      return 0x585;
    case 0x556:
      return 0x586;
    case 0x10a0:
      return 0x2d00;
    case 0x10a1:
      return 0x2d01;
    case 0x10a2:
      return 0x2d02;
    case 0x10a3:
      return 0x2d03;
    case 0x10a4:
      return 0x2d04;
    case 0x10a5:
      return 0x2d05;
    case 0x10a6:
      return 0x2d06;
    case 0x10a7:
      return 0x2d07;
    case 0x10a8:
      return 0x2d08;
    case 0x10a9:
      return 0x2d09;
    case 0x10aa:
      return 0x2d0a;
    case 0x10ab:
      return 0x2d0b;
    case 0x10ac:
      return 0x2d0c;
    case 0x10ad:
      return 0x2d0d;
    case 0x10ae:
      return 0x2d0e;
    case 0x10af:
      return 0x2d0f;
    case 0x10b0:
      return 0x2d10;
    case 0x10b1:
      return 0x2d11;
    case 0x10b2:
      return 0x2d12;
    case 0x10b3:
      return 0x2d13;
    case 0x10b4:
      return 0x2d14;
    case 0x10b5:
      return 0x2d15;
    case 0x10b6:
      return 0x2d16;
    case 0x10b7:
      return 0x2d17;
    case 0x10b8:
      return 0x2d18;
    case 0x10b9:
      return 0x2d19;
    case 0x10ba:
      return 0x2d1a;
    case 0x10bb:
      return 0x2d1b;
    case 0x10bc:
      return 0x2d1c;
    case 0x10bd:
      return 0x2d1d;
    case 0x10be:
      return 0x2d1e;
    case 0x10bf:
      return 0x2d1f;
    case 0x10c0:
      return 0x2d20;
    case 0x10c1:
      return 0x2d21;
    case 0x10c2:
      return 0x2d22;
    case 0x10c3:
      return 0x2d23;
    case 0x10c4:
      return 0x2d24;
    case 0x10c5:
      return 0x2d25;
    case 0x10c7:
      return 0x2d27;
    case 0x10cd:
      return 0x2d2d;
    case 0x13f8:
      return 0x13f0;
    case 0x13f9:
      return 0x13f1;
    case 0x13fa:
      return 0x13f2;
    case 0x13fb:
      return 0x13f3;
    case 0x13fc:
      return 0x13f4;
    case 0x13fd:
      return 0x13f5;
    case 0x1c80:
      return 0x432;
    case 0x1c81:
      return 0x434;
    case 0x1c82:
      return 0x43e;
    case 0x1c83:
      return 0x441;
    case 0x1c84:
      return 0x442;
    case 0x1c85:
      return 0x442;
    case 0x1c86:
      return 0x44a;
    case 0x1c87:
      return 0x463;
    case 0x1c88:
      return 0xa64b;
    case 0x1c89:
      return 0x1c8a;
    case 0x1c90:
      return 0x10d0;
    case 0x1c91:
      return 0x10d1;
    case 0x1c92:
      return 0x10d2;
    case 0x1c93:
      return 0x10d3;
    case 0x1c94:
      return 0x10d4;
    case 0x1c95:
      return 0x10d5;
    case 0x1c96:
      return 0x10d6;
    case 0x1c97:
      return 0x10d7;
    case 0x1c98:
      return 0x10d8;
    case 0x1c99:
      return 0x10d9;
    case 0x1c9a:
      return 0x10da;
    case 0x1c9b:
      return 0x10db;
    case 0x1c9c:
      return 0x10dc;
    case 0x1c9d:
      return 0x10dd;
    case 0x1c9e:
      return 0x10de;
    case 0x1c9f:
      return 0x10df;
    case 0x1ca0:
      return 0x10e0;
    case 0x1ca1:
      return 0x10e1;
    case 0x1ca2:
      return 0x10e2;
    case 0x1ca3:
      return 0x10e3;
    case 0x1ca4:
      return 0x10e4;
    case 0x1ca5:
      return 0x10e5;
    case 0x1ca6:
      return 0x10e6;
    case 0x1ca7:
      return 0x10e7;
    case 0x1ca8:
      return 0x10e8;
    case 0x1ca9:
      return 0x10e9;
    case 0x1caa:
      return 0x10ea;
    case 0x1cab:
      return 0x10eb;
    case 0x1cac:
      return 0x10ec;
    case 0x1cad:
      return 0x10ed;
    case 0x1cae:
      return 0x10ee;
    case 0x1caf:
      return 0x10ef;
    case 0x1cb0:
      return 0x10f0;
    case 0x1cb1:
      return 0x10f1;
    case 0x1cb2:
      return 0x10f2;
    case 0x1cb3:
      return 0x10f3;
    case 0x1cb4:
      return 0x10f4;
    case 0x1cb5:
      return 0x10f5;
    case 0x1cb6:
      return 0x10f6;
    case 0x1cb7:
      return 0x10f7;
    case 0x1cb8:
      return 0x10f8;
    case 0x1cb9:
      return 0x10f9;
    case 0x1cba:
      return 0x10fa;
    case 0x1cbd:
      return 0x10fd;
    case 0x1cbe:
      return 0x10fe;
    case 0x1cbf:
      return 0x10ff;
    case 0x1e00:
      return 0x1e01;
    case 0x1e02:
      return 0x1e03;
    case 0x1e04:
      return 0x1e05;
    case 0x1e06:
      return 0x1e07;
    case 0x1e08:
      return 0x1e09;
    case 0x1e0a:
      return 0x1e0b;
    case 0x1e0c:
      return 0x1e0d;
    case 0x1e0e:
      return 0x1e0f;
    case 0x1e10:
      return 0x1e11;
    case 0x1e12:
      return 0x1e13;
    case 0x1e14:
      return 0x1e15;
    case 0x1e16:
      return 0x1e17;
    case 0x1e18:
      return 0x1e19;
    case 0x1e1a:
      return 0x1e1b;
    case 0x1e1c:
      return 0x1e1d;
    case 0x1e1e:
      return 0x1e1f;
    case 0x1e20:
      return 0x1e21;
    case 0x1e22:
      return 0x1e23;
    case 0x1e24:
      return 0x1e25;
    case 0x1e26:
      return 0x1e27;
    case 0x1e28:
      return 0x1e29;
    case 0x1e2a:
      return 0x1e2b;
    case 0x1e2c:
      return 0x1e2d;
    case 0x1e2e:
      return 0x1e2f;
    case 0x1e30:
      return 0x1e31;
    case 0x1e32:
      return 0x1e33;
    case 0x1e34:
      return 0x1e35;
    case 0x1e36:
      return 0x1e37;
    case 0x1e38:
      return 0x1e39;
    case 0x1e3a:
      return 0x1e3b;
    case 0x1e3c:
      return 0x1e3d;
    case 0x1e3e:
      return 0x1e3f;
    case 0x1e40:
      return 0x1e41;
    case 0x1e42:
      return 0x1e43;
    case 0x1e44:
      return 0x1e45;
    case 0x1e46:
      return 0x1e47;
    case 0x1e48:
      return 0x1e49;
    case 0x1e4a:
      return 0x1e4b;
    case 0x1e4c:
      return 0x1e4d;
    case 0x1e4e:
      return 0x1e4f;
    case 0x1e50:
      return 0x1e51;
    case 0x1e52:
      return 0x1e53;
    case 0x1e54:
      return 0x1e55;
    case 0x1e56:
      return 0x1e57;
    case 0x1e58:
      return 0x1e59;
    case 0x1e5a:
      return 0x1e5b;
    case 0x1e5c:
      return 0x1e5d;
    case 0x1e5e:
      return 0x1e5f;
    case 0x1e60:
      return 0x1e61;
    case 0x1e62:
      return 0x1e63;
    case 0x1e64:
      return 0x1e65;
    case 0x1e66:
      return 0x1e67;
    case 0x1e68:
      return 0x1e69;
    case 0x1e6a:
      return 0x1e6b;
    case 0x1e6c:
      return 0x1e6d;
    case 0x1e6e:
      return 0x1e6f;
    case 0x1e70:
      return 0x1e71;
    case 0x1e72:
      return 0x1e73;
    case 0x1e74:
      return 0x1e75;
    case 0x1e76:
      return 0x1e77;
    case 0x1e78:
      return 0x1e79;
    case 0x1e7a:
      return 0x1e7b;
    case 0x1e7c:
      return 0x1e7d;
    case 0x1e7e:
      return 0x1e7f;
    case 0x1e80:
      return 0x1e81;
    case 0x1e82:
      return 0x1e83;
    case 0x1e84:
      return 0x1e85;
    case 0x1e86:
      return 0x1e87;
    case 0x1e88:
      return 0x1e89;
    case 0x1e8a:
      return 0x1e8b;
    case 0x1e8c:
      return 0x1e8d;
    case 0x1e8e:
      return 0x1e8f;
    case 0x1e90:
      return 0x1e91;
    case 0x1e92:
      return 0x1e93;
    case 0x1e94:
      return 0x1e95;
    case 0x1e9b:
      return 0x1e61;
    case 0x1e9e:
      return 0xdf;
    case 0x1ea0:
      return 0x1ea1;
    case 0x1ea2:
      return 0x1ea3;
    case 0x1ea4:
      return 0x1ea5;
    case 0x1ea6:
      return 0x1ea7;
    case 0x1ea8:
      return 0x1ea9;
    case 0x1eaa:
      return 0x1eab;
    case 0x1eac:
      return 0x1ead;
    case 0x1eae:
      return 0x1eaf;
    case 0x1eb0:
      return 0x1eb1;
    case 0x1eb2:
      return 0x1eb3;
    case 0x1eb4:
      return 0x1eb5;
    case 0x1eb6:
      return 0x1eb7;
    case 0x1eb8:
      return 0x1eb9;
    case 0x1eba:
      return 0x1ebb;
    case 0x1ebc:
      return 0x1ebd;
    case 0x1ebe:
      return 0x1ebf;
    case 0x1ec0:
      return 0x1ec1;
    case 0x1ec2:
      return 0x1ec3;
    case 0x1ec4:
      return 0x1ec5;
    case 0x1ec6:
      return 0x1ec7;
    case 0x1ec8:
      return 0x1ec9;
    case 0x1eca:
      return 0x1ecb;
    case 0x1ecc:
      return 0x1ecd;
    case 0x1ece:
      return 0x1ecf;
    case 0x1ed0:
      return 0x1ed1;
    case 0x1ed2:
      return 0x1ed3;
    case 0x1ed4:
      return 0x1ed5;
    case 0x1ed6:
      return 0x1ed7;
    case 0x1ed8:
      return 0x1ed9;
    case 0x1eda:
      return 0x1edb;
    case 0x1edc:
      return 0x1edd;
    case 0x1ede:
      return 0x1edf;
    case 0x1ee0:
      return 0x1ee1;
    case 0x1ee2:
      return 0x1ee3;
    case 0x1ee4:
      return 0x1ee5;
    case 0x1ee6:
      return 0x1ee7;
    case 0x1ee8:
      return 0x1ee9;
    case 0x1eea:
      return 0x1eeb;
    case 0x1eec:
      return 0x1eed;
    case 0x1eee:
      return 0x1eef;
    case 0x1ef0:
      return 0x1ef1;
    case 0x1ef2:
      return 0x1ef3;
    case 0x1ef4:
      return 0x1ef5;
    case 0x1ef6:
      return 0x1ef7;
    case 0x1ef8:
      return 0x1ef9;
    case 0x1efa:
      return 0x1efb;
    case 0x1efc:
      return 0x1efd;
    case 0x1efe:
      return 0x1eff;
    case 0x1f08:
      return 0x1f00;
    case 0x1f09:
      return 0x1f01;
    case 0x1f0a:
      return 0x1f02;
    case 0x1f0b:
      return 0x1f03;
    case 0x1f0c:
      return 0x1f04;
    case 0x1f0d:
      return 0x1f05;
    case 0x1f0e:
      return 0x1f06;
    case 0x1f0f:
      return 0x1f07;
    case 0x1f18:
      return 0x1f10;
    case 0x1f19:
      return 0x1f11;
    case 0x1f1a:
      return 0x1f12;
    case 0x1f1b:
      return 0x1f13;
    case 0x1f1c:
      return 0x1f14;
    case 0x1f1d:
      return 0x1f15;
    case 0x1f28:
      return 0x1f20;
    case 0x1f29:
      return 0x1f21;
    case 0x1f2a:
      return 0x1f22;
    case 0x1f2b:
      return 0x1f23;
    case 0x1f2c:
      return 0x1f24;
    case 0x1f2d:
      return 0x1f25;
    case 0x1f2e:
      return 0x1f26;
    case 0x1f2f:
      return 0x1f27;
    case 0x1f38:
      return 0x1f30;
    case 0x1f39:
      return 0x1f31;
    case 0x1f3a:
      return 0x1f32;
    case 0x1f3b:
      return 0x1f33;
    case 0x1f3c:
      return 0x1f34;
    case 0x1f3d:
      return 0x1f35;
    case 0x1f3e:
      return 0x1f36;
    case 0x1f3f:
      return 0x1f37;
    case 0x1f48:
      return 0x1f40;
    case 0x1f49:
      return 0x1f41;
    case 0x1f4a:
      return 0x1f42;
    case 0x1f4b:
      return 0x1f43;
    case 0x1f4c:
      return 0x1f44;
    case 0x1f4d:
      return 0x1f45;
    case 0x1f59:
      return 0x1f51;
    case 0x1f5b:
      return 0x1f53;
    case 0x1f5d:
      return 0x1f55;
    case 0x1f5f:
      return 0x1f57;
    case 0x1f68:
      return 0x1f60;
    case 0x1f69:
      return 0x1f61;
    case 0x1f6a:
      return 0x1f62;
    case 0x1f6b:
      return 0x1f63;
    case 0x1f6c:
      return 0x1f64;
    case 0x1f6d:
      return 0x1f65;
    case 0x1f6e:
      return 0x1f66;
    case 0x1f6f:
      return 0x1f67;
    case 0x1f88:
      return 0x1f80;
    case 0x1f89:
      return 0x1f81;
    case 0x1f8a:
      return 0x1f82;
    case 0x1f8b:
      return 0x1f83;
    case 0x1f8c:
      return 0x1f84;
    case 0x1f8d:
      return 0x1f85;
    case 0x1f8e:
      return 0x1f86;
    case 0x1f8f:
      return 0x1f87;
    case 0x1f98:
      return 0x1f90;
    case 0x1f99:
      return 0x1f91;
    case 0x1f9a:
      return 0x1f92;
    case 0x1f9b:
      return 0x1f93;
    case 0x1f9c:
      return 0x1f94;
    case 0x1f9d:
      return 0x1f95;
    case 0x1f9e:
      return 0x1f96;
    case 0x1f9f:
      return 0x1f97;
    case 0x1fa8:
      return 0x1fa0;
    case 0x1fa9:
      return 0x1fa1;
    case 0x1faa:
      return 0x1fa2;
    case 0x1fab:
      return 0x1fa3;
    case 0x1fac:
      return 0x1fa4;
    case 0x1fad:
      return 0x1fa5;
    case 0x1fae:
      return 0x1fa6;
    case 0x1faf:
      return 0x1fa7;
    case 0x1fb8:
      return 0x1fb0;
    case 0x1fb9:
      return 0x1fb1;
    case 0x1fba:
      return 0x1f70;
    case 0x1fbb:
      return 0x1f71;
    case 0x1fbc:
      return 0x1fb3;
    case 0x1fbe:
      return 0x3b9;
    case 0x1fc8:
      return 0x1f72;
    case 0x1fc9:
      return 0x1f73;
    case 0x1fca:
      return 0x1f74;
    case 0x1fcb:
      return 0x1f75;
    case 0x1fcc:
      return 0x1fc3;
    case 0x1fd3:
      return 0x390;
    case 0x1fd8:
      return 0x1fd0;
    case 0x1fd9:
      return 0x1fd1;
    case 0x1fda:
      return 0x1f76;
    case 0x1fdb:
      return 0x1f77;
    case 0x1fe3:
      return 0x3b0;
    case 0x1fe8:
      return 0x1fe0;
    case 0x1fe9:
      return 0x1fe1;
    case 0x1fea:
      return 0x1f7a;
    case 0x1feb:
      return 0x1f7b;
    case 0x1fec:
      return 0x1fe5;
    case 0x1ff8:
      return 0x1f78;
    case 0x1ff9:
      return 0x1f79;
    case 0x1ffa:
      return 0x1f7c;
    case 0x1ffb:
      return 0x1f7d;
    case 0x1ffc:
      return 0x1ff3;
    case 0x2126:
      return 0x3c9;
    case 0x212a:
      return 0x6b;
    case 0x212b:
      return 0xe5;
    case 0x2132:
      return 0x214e;
    case 0x2160:
      return 0x2170;
    case 0x2161:
      return 0x2171;
    case 0x2162:
      return 0x2172;
    case 0x2163:
      return 0x2173;
    case 0x2164:
      return 0x2174;
    case 0x2165:
      return 0x2175;
    case 0x2166:
      return 0x2176;
    case 0x2167:
      return 0x2177;
    case 0x2168:
      return 0x2178;
    case 0x2169:
      return 0x2179;
    case 0x216a:
      return 0x217a;
    case 0x216b:
      return 0x217b;
    case 0x216c:
      return 0x217c;
    case 0x216d:
      return 0x217d;
    case 0x216e:
      return 0x217e;
    case 0x216f:
      return 0x217f;
    case 0x2183:
      return 0x2184;
    case 0x24b6:
      return 0x24d0;
    case 0x24b7:
      return 0x24d1;
    case 0x24b8:
      return 0x24d2;
    case 0x24b9:
      return 0x24d3;
    case 0x24ba:
      return 0x24d4;
    case 0x24bb:
      return 0x24d5;
    case 0x24bc:
      return 0x24d6;
    case 0x24bd:
      return 0x24d7;
    case 0x24be:
      return 0x24d8;
    case 0x24bf:
      return 0x24d9;
    case 0x24c0:
      return 0x24da;
    case 0x24c1:
      return 0x24db;
    case 0x24c2:
      return 0x24dc;
    case 0x24c3:
      return 0x24dd;
    case 0x24c4:
      return 0x24de;
    case 0x24c5:
      return 0x24df;
    case 0x24c6:
      return 0x24e0;
    case 0x24c7:
      return 0x24e1;
    case 0x24c8:
      return 0x24e2;
    case 0x24c9:
      return 0x24e3;
    case 0x24ca:
      return 0x24e4;
    case 0x24cb:
      return 0x24e5;
    case 0x24cc:
      return 0x24e6;
    case 0x24cd:
      return 0x24e7;
    case 0x24ce:
      return 0x24e8;
    case 0x24cf:
      return 0x24e9;
    case 0x2c00:
      return 0x2c30;
    case 0x2c01:
      return 0x2c31;
    case 0x2c02:
      return 0x2c32;
    case 0x2c03:
      return 0x2c33;
    case 0x2c04:
      return 0x2c34;
    case 0x2c05:
      return 0x2c35;
    case 0x2c06:
      return 0x2c36;
    case 0x2c07:
      return 0x2c37;
    case 0x2c08:
      return 0x2c38;
    case 0x2c09:
      return 0x2c39;
    case 0x2c0a:
      return 0x2c3a;
    case 0x2c0b:
      return 0x2c3b;
    case 0x2c0c:
      return 0x2c3c;
    case 0x2c0d:
      return 0x2c3d;
    case 0x2c0e:
      return 0x2c3e;
    case 0x2c0f:
      return 0x2c3f;
    case 0x2c10:
      return 0x2c40;
    case 0x2c11:
      return 0x2c41;
    case 0x2c12:
      return 0x2c42;
    case 0x2c13:
      return 0x2c43;
    case 0x2c14:
      return 0x2c44;
    case 0x2c15:
      return 0x2c45;
    case 0x2c16:
      return 0x2c46;
    case 0x2c17:
      return 0x2c47;
    case 0x2c18:
      return 0x2c48;
    case 0x2c19:
      return 0x2c49;
    case 0x2c1a:
      return 0x2c4a;
    case 0x2c1b:
      return 0x2c4b;
    case 0x2c1c:
      return 0x2c4c;
    case 0x2c1d:
      return 0x2c4d;
    case 0x2c1e:
      return 0x2c4e;
    case 0x2c1f:
      return 0x2c4f;
    case 0x2c20:
      return 0x2c50;
    case 0x2c21:
      return 0x2c51;
    case 0x2c22:
      return 0x2c52;
    case 0x2c23:
      return 0x2c53;
    case 0x2c24:
      return 0x2c54;
    case 0x2c25:
      return 0x2c55;
    case 0x2c26:
      return 0x2c56;
    case 0x2c27:
      return 0x2c57;
    case 0x2c28:
      return 0x2c58;
    case 0x2c29:
      return 0x2c59;
    case 0x2c2a:
      return 0x2c5a;
    case 0x2c2b:
      return 0x2c5b;
    case 0x2c2c:
      return 0x2c5c;
    case 0x2c2d:
      return 0x2c5d;
    case 0x2c2e:
      return 0x2c5e;
    case 0x2c2f:
      return 0x2c5f;
    case 0x2c60:
      return 0x2c61;
    case 0x2c62:
      return 0x26b;
    case 0x2c63:
      return 0x1d7d;
    case 0x2c64:
      return 0x27d;
    case 0x2c67:
      return 0x2c68;
    case 0x2c69:
      return 0x2c6a;
    case 0x2c6b:
      return 0x2c6c;
    case 0x2c6d:
      return 0x251;
    case 0x2c6e:
      return 0x271;
    case 0x2c6f:
      return 0x250;
    case 0x2c70:
      return 0x252;
    case 0x2c72:
      return 0x2c73;
    case 0x2c75:
      return 0x2c76;
    case 0x2c7e:
      return 0x23f;
    case 0x2c7f:
      return 0x240;
    case 0x2c80:
      return 0x2c81;
    case 0x2c82:
      return 0x2c83;
    case 0x2c84:
      return 0x2c85;
    case 0x2c86:
      return 0x2c87;
    case 0x2c88:
      return 0x2c89;
    case 0x2c8a:
      return 0x2c8b;
    case 0x2c8c:
      return 0x2c8d;
    case 0x2c8e:
      return 0x2c8f;
    case 0x2c90:
      return 0x2c91;
    case 0x2c92:
      return 0x2c93;
    case 0x2c94:
      return 0x2c95;
    case 0x2c96:
      return 0x2c97;
    case 0x2c98:
      return 0x2c99;
    case 0x2c9a:
      return 0x2c9b;
    case 0x2c9c:
      return 0x2c9d;
    case 0x2c9e:
      return 0x2c9f;
    case 0x2ca0:
      return 0x2ca1;
    case 0x2ca2:
      return 0x2ca3;
    case 0x2ca4:
      return 0x2ca5;
    case 0x2ca6:
      return 0x2ca7;
    case 0x2ca8:
      return 0x2ca9;
    case 0x2caa:
      return 0x2cab;
    case 0x2cac:
      return 0x2cad;
    case 0x2cae:
      return 0x2caf;
    case 0x2cb0:
      return 0x2cb1;
    case 0x2cb2:
      return 0x2cb3;
    case 0x2cb4:
      return 0x2cb5;
    case 0x2cb6:
      return 0x2cb7;
    case 0x2cb8:
      return 0x2cb9;
    case 0x2cba:
      return 0x2cbb;
    case 0x2cbc:
      return 0x2cbd;
    case 0x2cbe:
      return 0x2cbf;
    case 0x2cc0:
      return 0x2cc1;
    case 0x2cc2:
      return 0x2cc3;
    case 0x2cc4:
      return 0x2cc5;
    case 0x2cc6:
      return 0x2cc7;
    case 0x2cc8:
      return 0x2cc9;
    case 0x2cca:
      return 0x2ccb;
    case 0x2ccc:
      return 0x2ccd;
    case 0x2cce:
      return 0x2ccf;
    case 0x2cd0:
      return 0x2cd1;
    case 0x2cd2:
      return 0x2cd3;
    case 0x2cd4:
      return 0x2cd5;
    case 0x2cd6:
      return 0x2cd7;
    case 0x2cd8:
      return 0x2cd9;
    case 0x2cda:
      return 0x2cdb;
    case 0x2cdc:
      return 0x2cdd;
    case 0x2cde:
      return 0x2cdf;
    case 0x2ce0:
      return 0x2ce1;
    case 0x2ce2:
      return 0x2ce3;
    case 0x2ceb:
      return 0x2cec;
    case 0x2ced:
      return 0x2cee;
    case 0x2cf2:
      return 0x2cf3;
    case 0xa640:
      return 0xa641;
    case 0xa642:
      return 0xa643;
    case 0xa644:
      return 0xa645;
    case 0xa646:
      return 0xa647;
    case 0xa648:
      return 0xa649;
    case 0xa64a:
      return 0xa64b;
    case 0xa64c:
      return 0xa64d;
    case 0xa64e:
      return 0xa64f;
    case 0xa650:
      return 0xa651;
    case 0xa652:
      return 0xa653;
    case 0xa654:
      return 0xa655;
    case 0xa656:
      return 0xa657;
    case 0xa658:
      return 0xa659;
    case 0xa65a:
      return 0xa65b;
    case 0xa65c:
      return 0xa65d;
    case 0xa65e:
      return 0xa65f;
    case 0xa660:
      return 0xa661;
    case 0xa662:
      return 0xa663;
    case 0xa664:
      return 0xa665;
    case 0xa666:
      return 0xa667;
    case 0xa668:
      return 0xa669;
    case 0xa66a:
      return 0xa66b;
    case 0xa66c:
      return 0xa66d;
    case 0xa680:
      return 0xa681;
    case 0xa682:
      return 0xa683;
    case 0xa684:
      return 0xa685;
    case 0xa686:
      return 0xa687;
    case 0xa688:
      return 0xa689;
    case 0xa68a:
      return 0xa68b;
    case 0xa68c:
      return 0xa68d;
    case 0xa68e:
      return 0xa68f;
    case 0xa690:
      return 0xa691;
    case 0xa692:
      return 0xa693;
    case 0xa694:
      return 0xa695;
    case 0xa696:
      return 0xa697;
    case 0xa698:
      return 0xa699;
    case 0xa69a:
      return 0xa69b;
    case 0xa722:
      return 0xa723;
    case 0xa724:
      return 0xa725;
    case 0xa726:
      return 0xa727;
    case 0xa728:
      return 0xa729;
    case 0xa72a:
      return 0xa72b;
    case 0xa72c:
      return 0xa72d;
    case 0xa72e:
      return 0xa72f;
    case 0xa732:
      return 0xa733;
    case 0xa734:
      return 0xa735;
    case 0xa736:
      return 0xa737;
    case 0xa738:
      return 0xa739;
    case 0xa73a:
      return 0xa73b;
    case 0xa73c:
      return 0xa73d;
    case 0xa73e:
      return 0xa73f;
    case 0xa740:
      return 0xa741;
    case 0xa742:
      return 0xa743;
    case 0xa744:
      return 0xa745;
    case 0xa746:
      return 0xa747;
    case 0xa748:
      return 0xa749;
    case 0xa74a:
      return 0xa74b;
    case 0xa74c:
      return 0xa74d;
    case 0xa74e:
      return 0xa74f;
    case 0xa750:
      return 0xa751;
    case 0xa752:
      return 0xa753;
    case 0xa754:
      return 0xa755;
    case 0xa756:
      return 0xa757;
    case 0xa758:
      return 0xa759;
    case 0xa75a:
      return 0xa75b;
    case 0xa75c:
      return 0xa75d;
    case 0xa75e:
      return 0xa75f;
    case 0xa760:
      return 0xa761;
    case 0xa762:
      return 0xa763;
    case 0xa764:
      return 0xa765;
    case 0xa766:
      return 0xa767;
    case 0xa768:
      return 0xa769;
    case 0xa76a:
      return 0xa76b;
    case 0xa76c:
      return 0xa76d;
    case 0xa76e:
      return 0xa76f;
    case 0xa779:
      return 0xa77a;
    case 0xa77b:
      return 0xa77c;
    case 0xa77d:
      return 0x1d79;
    case 0xa77e:
      return 0xa77f;
    case 0xa780:
      return 0xa781;
    case 0xa782:
      return 0xa783;
    case 0xa784:
      return 0xa785;
    case 0xa786:
      return 0xa787;
    case 0xa78b:
      return 0xa78c;
    case 0xa78d:
      return 0x265;
    case 0xa790:
      return 0xa791;
    case 0xa792:
      return 0xa793;
    case 0xa796:
      return 0xa797;
    case 0xa798:
      return 0xa799;
    case 0xa79a:
      return 0xa79b;
    case 0xa79c:
      return 0xa79d;
    case 0xa79e:
      return 0xa79f;
    case 0xa7a0:
      return 0xa7a1;
    case 0xa7a2:
      return 0xa7a3;
    case 0xa7a4:
      return 0xa7a5;
    case 0xa7a6:
      return 0xa7a7;
    case 0xa7a8:
      return 0xa7a9;
    case 0xa7aa:
      return 0x266;
    case 0xa7ab:
      return 0x25c;
    case 0xa7ac:
      return 0x261;
    case 0xa7ad:
      return 0x26c;
    case 0xa7ae:
      return 0x26a;
    case 0xa7b0:
      return 0x29e;
    case 0xa7b1:
      return 0x287;
    case 0xa7b2:
      return 0x29d;
    case 0xa7b3:
      return 0xab53;
    case 0xa7b4:
      return 0xa7b5;
    case 0xa7b6:
      return 0xa7b7;
    case 0xa7b8:
      return 0xa7b9;
    case 0xa7ba:
      return 0xa7bb;
    case 0xa7bc:
      return 0xa7bd;
    case 0xa7be:
      return 0xa7bf;
    case 0xa7c0:
      return 0xa7c1;
    case 0xa7c2:
      return 0xa7c3;
    case 0xa7c4:
      return 0xa794;
    case 0xa7c5:
      return 0x282;
    case 0xa7c6:
      return 0x1d8e;
    case 0xa7c7:
      return 0xa7c8;
    case 0xa7c9:
      return 0xa7ca;
    case 0xa7cb:
      return 0x264;
    case 0xa7cc:
      return 0xa7cd;
    case 0xa7ce:
      return 0xa7cf;
    case 0xa7d0:
      return 0xa7d1;
    case 0xa7d2:
      return 0xa7d3;
    case 0xa7d4:
      return 0xa7d5;
    case 0xa7d6:
      return 0xa7d7;
    case 0xa7d8:
      return 0xa7d9;
    case 0xa7da:
      return 0xa7db;
    case 0xa7dc:
      return 0x19b;
    case 0xa7f5:
      return 0xa7f6;
    case 0xab70:
      return 0x13a0;
    case 0xab71:
      return 0x13a1;
    case 0xab72:
      return 0x13a2;
    case 0xab73:
      return 0x13a3;
    case 0xab74:
      return 0x13a4;
    case 0xab75:
      return 0x13a5;
    case 0xab76:
      return 0x13a6;
    case 0xab77:
      return 0x13a7;
    case 0xab78:
      return 0x13a8;
    case 0xab79:
      return 0x13a9;
    case 0xab7a:
      return 0x13aa;
    case 0xab7b:
      return 0x13ab;
    case 0xab7c:
      return 0x13ac;
    case 0xab7d:
      return 0x13ad;
    case 0xab7e:
      return 0x13ae;
    case 0xab7f:
      return 0x13af;
    case 0xab80:
      return 0x13b0;
    case 0xab81:
      return 0x13b1;
    case 0xab82:
      return 0x13b2;
    case 0xab83:
      return 0x13b3;
    case 0xab84:
      return 0x13b4;
    case 0xab85:
      return 0x13b5;
    case 0xab86:
      return 0x13b6;
    case 0xab87:
      return 0x13b7;
    case 0xab88:
      return 0x13b8;
    case 0xab89:
      return 0x13b9;
    case 0xab8a:
      return 0x13ba;
    case 0xab8b:
      return 0x13bb;
    case 0xab8c:
      return 0x13bc;
    case 0xab8d:
      return 0x13bd;
    case 0xab8e:
      return 0x13be;
    case 0xab8f:
      return 0x13bf;
    case 0xab90:
      return 0x13c0;
    case 0xab91:
      return 0x13c1;
    case 0xab92:
      return 0x13c2;
    case 0xab93:
      return 0x13c3;
    case 0xab94:
      return 0x13c4;
    case 0xab95:
      return 0x13c5;
    case 0xab96:
      return 0x13c6;
    case 0xab97:
      return 0x13c7;
    case 0xab98:
      return 0x13c8;
    case 0xab99:
      return 0x13c9;
    case 0xab9a:
      return 0x13ca;
    case 0xab9b:
      return 0x13cb;
    case 0xab9c:
      return 0x13cc;
    case 0xab9d:
      return 0x13cd;
    case 0xab9e:
      return 0x13ce;
    case 0xab9f:
      return 0x13cf;
    case 0xaba0:
      return 0x13d0;
    case 0xaba1:
      return 0x13d1;
    case 0xaba2:
      return 0x13d2;
    case 0xaba3:
      return 0x13d3;
    case 0xaba4:
      return 0x13d4;
    case 0xaba5:
      return 0x13d5;
    case 0xaba6:
      return 0x13d6;
    case 0xaba7:
      return 0x13d7;
    case 0xaba8:
      return 0x13d8;
    case 0xaba9:
      return 0x13d9;
    case 0xabaa:
      return 0x13da;
    case 0xabab:
      return 0x13db;
    case 0xabac:
      return 0x13dc;
    case 0xabad:
      return 0x13dd;
    case 0xabae:
      return 0x13de;
    case 0xabaf:
      return 0x13df;
    case 0xabb0:
      return 0x13e0;
    case 0xabb1:
      return 0x13e1;
    case 0xabb2:
      return 0x13e2;
    case 0xabb3:
      return 0x13e3;
    case 0xabb4:
      return 0x13e4;
    case 0xabb5:
      return 0x13e5;
    case 0xabb6:
      return 0x13e6;
    case 0xabb7:
      return 0x13e7;
    case 0xabb8:
      return 0x13e8;
    case 0xabb9:
      return 0x13e9;
    case 0xabba:
      return 0x13ea;
    case 0xabbb:
      return 0x13eb;
    case 0xabbc:
      return 0x13ec;
    case 0xabbd:
      return 0x13ed;
    case 0xabbe:
      return 0x13ee;
    case 0xabbf:
      return 0x13ef;
    case 0xfb05:
      return 0xfb06;
    case 0xff21:
      return 0xff41;
    case 0xff22:
      return 0xff42;
    case 0xff23:
      return 0xff43;
    case 0xff24:
      return 0xff44;
    case 0xff25:
      return 0xff45;
    case 0xff26:
      return 0xff46;
    case 0xff27:
      return 0xff47;
    case 0xff28:
      return 0xff48;
    case 0xff29:
      return 0xff49;
    case 0xff2a:
      return 0xff4a;
    case 0xff2b:
      return 0xff4b;
    case 0xff2c:
      return 0xff4c;
    case 0xff2d:
      return 0xff4d;
    case 0xff2e:
      return 0xff4e;
    case 0xff2f:
      return 0xff4f;
    case 0xff30:
      return 0xff50;
    case 0xff31:
      return 0xff51;
    case 0xff32:
      return 0xff52;
    case 0xff33:
      return 0xff53;
    case 0xff34:
      return 0xff54;
    case 0xff35:
      return 0xff55;
    case 0xff36:
      return 0xff56;
    case 0xff37:
      return 0xff57;
    case 0xff38:
      return 0xff58;
    case 0xff39:
      return 0xff59;
    case 0xff3a:
      return 0xff5a;
    case 0x10400:
      return 0x10428;
    case 0x10401:
      return 0x10429;
    case 0x10402:
      return 0x1042a;
    case 0x10403:
      return 0x1042b;
    case 0x10404:
      return 0x1042c;
    case 0x10405:
      return 0x1042d;
    case 0x10406:
      return 0x1042e;
    case 0x10407:
      return 0x1042f;
    case 0x10408:
      return 0x10430;
    case 0x10409:
      return 0x10431;
    case 0x1040a:
      return 0x10432;
    case 0x1040b:
      return 0x10433;
    case 0x1040c:
      return 0x10434;
    case 0x1040d:
      return 0x10435;
    case 0x1040e:
      return 0x10436;
    case 0x1040f:
      return 0x10437;
    case 0x10410:
      return 0x10438;
    case 0x10411:
      return 0x10439;
    case 0x10412:
      return 0x1043a;
    case 0x10413:
      return 0x1043b;
    case 0x10414:
      return 0x1043c;
    case 0x10415:
      return 0x1043d;
    case 0x10416:
      return 0x1043e;
    case 0x10417:
      return 0x1043f;
    case 0x10418:
      return 0x10440;
    case 0x10419:
      return 0x10441;
    case 0x1041a:
      return 0x10442;
    case 0x1041b:
      return 0x10443;
    case 0x1041c:
      return 0x10444;
    case 0x1041d:
      return 0x10445;
    case 0x1041e:
      return 0x10446;
    case 0x1041f:
      return 0x10447;
    case 0x10420:
      return 0x10448;
    case 0x10421:
      return 0x10449;
    case 0x10422:
      return 0x1044a;
    case 0x10423:
      return 0x1044b;
    case 0x10424:
      return 0x1044c;
    case 0x10425:
      return 0x1044d;
    case 0x10426:
      return 0x1044e;
    case 0x10427:
      return 0x1044f;
    case 0x104b0:
      return 0x104d8;
    case 0x104b1:
      return 0x104d9;
    case 0x104b2:
      return 0x104da;
    case 0x104b3:
      return 0x104db;
    case 0x104b4:
      return 0x104dc;
    case 0x104b5:
      return 0x104dd;
    case 0x104b6:
      return 0x104de;
    case 0x104b7:
      return 0x104df;
    case 0x104b8:
      return 0x104e0;
    case 0x104b9:
      return 0x104e1;
    case 0x104ba:
      return 0x104e2;
    case 0x104bb:
      return 0x104e3;
    case 0x104bc:
      return 0x104e4;
    case 0x104bd:
      return 0x104e5;
    case 0x104be:
      return 0x104e6;
    case 0x104bf:
      return 0x104e7;
    case 0x104c0:
      return 0x104e8;
    case 0x104c1:
      return 0x104e9;
    case 0x104c2:
      return 0x104ea;
    case 0x104c3:
      return 0x104eb;
    case 0x104c4:
      return 0x104ec;
    case 0x104c5:
      return 0x104ed;
    case 0x104c6:
      return 0x104ee;
    case 0x104c7:
      return 0x104ef;
    case 0x104c8:
      return 0x104f0;
    case 0x104c9:
      return 0x104f1;
    case 0x104ca:
      return 0x104f2;
    case 0x104cb:
      return 0x104f3;
    case 0x104cc:
      return 0x104f4;
    case 0x104cd:
      return 0x104f5;
    case 0x104ce:
      return 0x104f6;
    case 0x104cf:
      return 0x104f7;
    case 0x104d0:
      return 0x104f8;
    case 0x104d1:
      return 0x104f9;
    case 0x104d2:
      return 0x104fa;
    case 0x104d3:
      return 0x104fb;
    case 0x10570:
      return 0x10597;
    case 0x10571:
      return 0x10598;
    case 0x10572:
      return 0x10599;
    case 0x10573:
      return 0x1059a;
    case 0x10574:
      return 0x1059b;
    case 0x10575:
      return 0x1059c;
    case 0x10576:
      return 0x1059d;
    case 0x10577:
      return 0x1059e;
    case 0x10578:
      return 0x1059f;
    case 0x10579:
      return 0x105a0;
    case 0x1057a:
      return 0x105a1;
    case 0x1057c:
      return 0x105a3;
    case 0x1057d:
      return 0x105a4;
    case 0x1057e:
      return 0x105a5;
    case 0x1057f:
      return 0x105a6;
    case 0x10580:
      return 0x105a7;
    case 0x10581:
      return 0x105a8;
    case 0x10582:
      return 0x105a9;
    case 0x10583:
      return 0x105aa;
    case 0x10584:
      return 0x105ab;
    case 0x10585:
      return 0x105ac;
    case 0x10586:
      return 0x105ad;
    case 0x10587:
      return 0x105ae;
    case 0x10588:
      return 0x105af;
    case 0x10589:
      return 0x105b0;
    case 0x1058a:
      return 0x105b1;
    case 0x1058c:
      return 0x105b3;
    case 0x1058d:
      return 0x105b4;
    case 0x1058e:
      return 0x105b5;
    case 0x1058f:
      return 0x105b6;
    case 0x10590:
      return 0x105b7;
    case 0x10591:
      return 0x105b8;
    case 0x10592:
      return 0x105b9;
    case 0x10594:
      return 0x105bb;
    case 0x10595:
      return 0x105bc;
    case 0x10c80:
      return 0x10cc0;
    case 0x10c81:
      return 0x10cc1;
    case 0x10c82:
      return 0x10cc2;
    case 0x10c83:
      return 0x10cc3;
    case 0x10c84:
      return 0x10cc4;
    case 0x10c85:
      return 0x10cc5;
    case 0x10c86:
      return 0x10cc6;
    case 0x10c87:
      return 0x10cc7;
    case 0x10c88:
      return 0x10cc8;
    case 0x10c89:
      return 0x10cc9;
    case 0x10c8a:
      return 0x10cca;
    case 0x10c8b:
      return 0x10ccb;
    case 0x10c8c:
      return 0x10ccc;
    case 0x10c8d:
      return 0x10ccd;
    case 0x10c8e:
      return 0x10cce;
    case 0x10c8f:
      return 0x10ccf;
    case 0x10c90:
      return 0x10cd0;
    case 0x10c91:
      return 0x10cd1;
    case 0x10c92:
      return 0x10cd2;
    case 0x10c93:
      return 0x10cd3;
    case 0x10c94:
      return 0x10cd4;
    case 0x10c95:
      return 0x10cd5;
    case 0x10c96:
      return 0x10cd6;
    case 0x10c97:
      return 0x10cd7;
    case 0x10c98:
      return 0x10cd8;
    case 0x10c99:
      return 0x10cd9;
    case 0x10c9a:
      return 0x10cda;
    case 0x10c9b:
      return 0x10cdb;
    case 0x10c9c:
      return 0x10cdc;
    case 0x10c9d:
      return 0x10cdd;
    case 0x10c9e:
      return 0x10cde;
    case 0x10c9f:
      return 0x10cdf;
    case 0x10ca0:
      return 0x10ce0;
    case 0x10ca1:
      return 0x10ce1;
    case 0x10ca2:
      return 0x10ce2;
    case 0x10ca3:
      return 0x10ce3;
    case 0x10ca4:
      return 0x10ce4;
    case 0x10ca5:
      return 0x10ce5;
    case 0x10ca6:
      return 0x10ce6;
    case 0x10ca7:
      return 0x10ce7;
    case 0x10ca8:
      return 0x10ce8;
    case 0x10ca9:
      return 0x10ce9;
    case 0x10caa:
      return 0x10cea;
    case 0x10cab:
      return 0x10ceb;
    case 0x10cac:
      return 0x10cec;
    case 0x10cad:
      return 0x10ced;
    case 0x10cae:
      return 0x10cee;
    case 0x10caf:
      return 0x10cef;
    case 0x10cb0:
      return 0x10cf0;
    case 0x10cb1:
      return 0x10cf1;
    case 0x10cb2:
      return 0x10cf2;
    case 0x10d50:
      return 0x10d70;
    case 0x10d51:
      return 0x10d71;
    case 0x10d52:
      return 0x10d72;
    case 0x10d53:
      return 0x10d73;
    case 0x10d54:
      return 0x10d74;
    case 0x10d55:
      return 0x10d75;
    case 0x10d56:
      return 0x10d76;
    case 0x10d57:
      return 0x10d77;
    case 0x10d58:
      return 0x10d78;
    case 0x10d59:
      return 0x10d79;
    case 0x10d5a:
      return 0x10d7a;
    case 0x10d5b:
      return 0x10d7b;
    case 0x10d5c:
      return 0x10d7c;
    case 0x10d5d:
      return 0x10d7d;
    case 0x10d5e:
      return 0x10d7e;
    case 0x10d5f:
      return 0x10d7f;
    case 0x10d60:
      return 0x10d80;
    case 0x10d61:
      return 0x10d81;
    case 0x10d62:
      return 0x10d82;
    case 0x10d63:
      return 0x10d83;
    case 0x10d64:
      return 0x10d84;
    case 0x10d65:
      return 0x10d85;
    case 0x118a0:
      return 0x118c0;
    case 0x118a1:
      return 0x118c1;
    case 0x118a2:
      return 0x118c2;
    case 0x118a3:
      return 0x118c3;
    case 0x118a4:
      return 0x118c4;
    case 0x118a5:
      return 0x118c5;
    case 0x118a6:
      return 0x118c6;
    case 0x118a7:
      return 0x118c7;
    case 0x118a8:
      return 0x118c8;
    case 0x118a9:
      return 0x118c9;
    case 0x118aa:
      return 0x118ca;
    case 0x118ab:
      return 0x118cb;
    case 0x118ac:
      return 0x118cc;
    case 0x118ad:
      return 0x118cd;
    case 0x118ae:
      return 0x118ce;
    case 0x118af:
      return 0x118cf;
    case 0x118b0:
      return 0x118d0;
    case 0x118b1:
      return 0x118d1;
    case 0x118b2:
      return 0x118d2;
    case 0x118b3:
      return 0x118d3;
    case 0x118b4:
      return 0x118d4;
    case 0x118b5:
      return 0x118d5;
    case 0x118b6:
      return 0x118d6;
    case 0x118b7:
      return 0x118d7;
    case 0x118b8:
      return 0x118d8;
    case 0x118b9:
      return 0x118d9;
    case 0x118ba:
      return 0x118da;
    case 0x118bb:
      return 0x118db;
    case 0x118bc:
      return 0x118dc;
    case 0x118bd:
      return 0x118dd;
    case 0x118be:
      return 0x118de;
    case 0x118bf:
      return 0x118df;
    case 0x16e40:
      return 0x16e60;
    case 0x16e41:
      return 0x16e61;
    case 0x16e42:
      return 0x16e62;
    case 0x16e43:
      return 0x16e63;
    case 0x16e44:
      return 0x16e64;
    case 0x16e45:
      return 0x16e65;
    case 0x16e46:
      return 0x16e66;
    case 0x16e47:
      return 0x16e67;
    case 0x16e48:
      return 0x16e68;
    case 0x16e49:
      return 0x16e69;
    case 0x16e4a:
      return 0x16e6a;
    case 0x16e4b:
      return 0x16e6b;
    case 0x16e4c:
      return 0x16e6c;
    case 0x16e4d:
      return 0x16e6d;
    case 0x16e4e:
      return 0x16e6e;
    case 0x16e4f:
      return 0x16e6f;
    case 0x16e50:
      return 0x16e70;
    case 0x16e51:
      return 0x16e71;
    case 0x16e52:
      return 0x16e72;
    case 0x16e53:
      return 0x16e73;
    case 0x16e54:
      return 0x16e74;
    case 0x16e55:
      return 0x16e75;
    case 0x16e56:
      return 0x16e76;
    case 0x16e57:
      return 0x16e77;
    case 0x16e58:
      return 0x16e78;
    case 0x16e59:
      return 0x16e79;
    case 0x16e5a:
      return 0x16e7a;
    case 0x16e5b:
      return 0x16e7b;
    case 0x16e5c:
      return 0x16e7c;
    case 0x16e5d:
      return 0x16e7d;
    case 0x16e5e:
      return 0x16e7e;
    case 0x16e5f:
      return 0x16e7f;
    case 0x16ea0:
      return 0x16ebb;
    case 0x16ea1:
      return 0x16ebc;
    case 0x16ea2:
      return 0x16ebd;
    case 0x16ea3:
      return 0x16ebe;
    case 0x16ea4:
      return 0x16ebf;
    case 0x16ea5:
      return 0x16ec0;
    case 0x16ea6:
      return 0x16ec1;
    case 0x16ea7:
      return 0x16ec2;
    case 0x16ea8:
      return 0x16ec3;
    case 0x16ea9:
      return 0x16ec4;
    case 0x16eaa:
      return 0x16ec5;
    case 0x16eab:
      return 0x16ec6;
    case 0x16eac:
      return 0x16ec7;
    case 0x16ead:
      return 0x16ec8;
    case 0x16eae:
      return 0x16ec9;
    case 0x16eaf:
      return 0x16eca;
    case 0x16eb0:
      return 0x16ecb;
    case 0x16eb1:
      return 0x16ecc;
    case 0x16eb2:
      return 0x16ecd;
    case 0x16eb3:
      return 0x16ece;
    case 0x16eb4:
      return 0x16ecf;
    case 0x16eb5:
      return 0x16ed0;
    case 0x16eb6:
      return 0x16ed1;
    case 0x16eb7:
      return 0x16ed2;
    case 0x16eb8:
      return 0x16ed3;
    case 0x1e900:
      return 0x1e922;
    case 0x1e901:
      return 0x1e923;
    case 0x1e902:
      return 0x1e924;
    case 0x1e903:
      return 0x1e925;
    case 0x1e904:
      return 0x1e926;
    case 0x1e905:
      return 0x1e927;
    case 0x1e906:
      return 0x1e928;
    case 0x1e907:
      return 0x1e929;
    case 0x1e908:
      return 0x1e92a;
    case 0x1e909:
      return 0x1e92b;
    case 0x1e90a:
      return 0x1e92c;
    case 0x1e90b:
      return 0x1e92d;
    case 0x1e90c:
      return 0x1e92e;
    case 0x1e90d:
      return 0x1e92f;
    case 0x1e90e:
      return 0x1e930;
    case 0x1e90f:
      return 0x1e931;
    case 0x1e910:
      return 0x1e932;
    case 0x1e911:
      return 0x1e933;
    case 0x1e912:
      return 0x1e934;
    case 0x1e913:
      return 0x1e935;
    case 0x1e914:
      return 0x1e936;
    case 0x1e915:
      return 0x1e937;
    case 0x1e916:
      return 0x1e938;
    case 0x1e917:
      return 0x1e939;
    case 0x1e918:
      return 0x1e93a;
    case 0x1e919:
      return 0x1e93b;
    case 0x1e91a:
      return 0x1e93c;
    case 0x1e91b:
      return 0x1e93d;
    case 0x1e91c:
      return 0x1e93e;
    case 0x1e91d:
      return 0x1e93f;
    case 0x1e91e:
      return 0x1e940;
    case 0x1e91f:
      return 0x1e941;
    case 0x1e920:
      return 0x1e942;
    case 0x1e921:
      return 0x1e943;
    default:
      return in;
  }
}
