// This file was generated automatically. Do not edit directly.

enum { foldCaseMaxOut = 3 };

size_t foldCase( wchar in, wchar * 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 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 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 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 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 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 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 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 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;
    default: *out = in; return 1;
  }
}

wchar foldCaseSimple( wchar 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 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 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 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 0x1fd8: return 0x1fd0;
    case 0x1fd9: return 0x1fd1;
    case 0x1fda: return 0x1f76;
    case 0x1fdb: return 0x1f77;
    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 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 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 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 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 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;
    default: return in;
  }
}
