blob: c7a94e911a8e06b37c93d2c9ddb31b03a8461c66 [file] [log] [blame]
// Copyright 2018 The Wuffs Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// TODO: drop the '?' but still generate wuffs_crc32__ieee_hasher__initialize?
pub struct ieee_hasher? implements base.hasher_u32(
state : base.u32,
)
pub func ieee_hasher.set_quirk_enabled!(quirk: base.u32, enabled: base.bool) {
}
// TODO: should it be ? instead of ! because it's public, and might need a way
// to signal "initializer not called"? Should the return type, in the generated
// C code, be "struct{ uint32_t checksum; wuffs_crc32__status status }"?
pub func ieee_hasher.update_u32!(x: slice base.u8) base.u32 {
if this.state == 0 {
choose up = [
up_arm_crc32,
up_x86_avx2,
up_x86_sse42]
}
this.up!(x: args.x)
return this.state
}
pri func ieee_hasher.up!(x: slice base.u8),
choosy,
{
var s : base.u32
var p : slice base.u8
s = 0xFFFF_FFFF ^ this.state
// See "Multi-Byte Lookup Tables" in std/crc32/README.md for more detail on
// the slicing-by-M algorithm. We use an M of 16.
iterate (p = args.x)(length: 16, advance: 16, unroll: 2) {
s ^= ((p[0x00] as base.u32) << 0) |
((p[0x01] as base.u32) << 8) |
((p[0x02] as base.u32) << 16) |
((p[0x03] as base.u32) << 24)
s = IEEE_TABLE[0x00][p[0x0F]] ^
IEEE_TABLE[0x01][p[0x0E]] ^
IEEE_TABLE[0x02][p[0x0D]] ^
IEEE_TABLE[0x03][p[0x0C]] ^
IEEE_TABLE[0x04][p[0x0B]] ^
IEEE_TABLE[0x05][p[0x0A]] ^
IEEE_TABLE[0x06][p[0x09]] ^
IEEE_TABLE[0x07][p[0x08]] ^
IEEE_TABLE[0x08][p[0x07]] ^
IEEE_TABLE[0x09][p[0x06]] ^
IEEE_TABLE[0x0A][p[0x05]] ^
IEEE_TABLE[0x0B][p[0x04]] ^
IEEE_TABLE[0x0C][0xFF & (s >> 24)] ^
IEEE_TABLE[0x0D][0xFF & (s >> 16)] ^
IEEE_TABLE[0x0E][0xFF & (s >> 8)] ^
IEEE_TABLE[0x0F][0xFF & (s >> 0)]
} else (length: 1, advance: 1, unroll: 1) {
s = IEEE_TABLE[0][((s & 0xFF) as base.u8) ^ p[0]] ^ (s >> 8)
}
this.state = 0xFFFF_FFFF ^ s
}
// The table below was created by script/print-crc32-magic-numbers.go.
pri const IEEE_TABLE : array[16] array[256] base.u32 = [[
0x0000_0000, 0x7707_3096, 0xEE0E_612C, 0x9909_51BA, 0x076D_C419, 0x706A_F48F, 0xE963_A535, 0x9E64_95A3,
0x0EDB_8832, 0x79DC_B8A4, 0xE0D5_E91E, 0x97D2_D988, 0x09B6_4C2B, 0x7EB1_7CBD, 0xE7B8_2D07, 0x90BF_1D91,
0x1DB7_1064, 0x6AB0_20F2, 0xF3B9_7148, 0x84BE_41DE, 0x1ADA_D47D, 0x6DDD_E4EB, 0xF4D4_B551, 0x83D3_85C7,
0x136C_9856, 0x646B_A8C0, 0xFD62_F97A, 0x8A65_C9EC, 0x1401_5C4F, 0x6306_6CD9, 0xFA0F_3D63, 0x8D08_0DF5,
0x3B6E_20C8, 0x4C69_105E, 0xD560_41E4, 0xA267_7172, 0x3C03_E4D1, 0x4B04_D447, 0xD20D_85FD, 0xA50A_B56B,
0x35B5_A8FA, 0x42B2_986C, 0xDBBB_C9D6, 0xACBC_F940, 0x32D8_6CE3, 0x45DF_5C75, 0xDCD6_0DCF, 0xABD1_3D59,
0x26D9_30AC, 0x51DE_003A, 0xC8D7_5180, 0xBFD0_6116, 0x21B4_F4B5, 0x56B3_C423, 0xCFBA_9599, 0xB8BD_A50F,
0x2802_B89E, 0x5F05_8808, 0xC60C_D9B2, 0xB10B_E924, 0x2F6F_7C87, 0x5868_4C11, 0xC161_1DAB, 0xB666_2D3D,
0x76DC_4190, 0x01DB_7106, 0x98D2_20BC, 0xEFD5_102A, 0x71B1_8589, 0x06B6_B51F, 0x9FBF_E4A5, 0xE8B8_D433,
0x7807_C9A2, 0x0F00_F934, 0x9609_A88E, 0xE10E_9818, 0x7F6A_0DBB, 0x086D_3D2D, 0x9164_6C97, 0xE663_5C01,
0x6B6B_51F4, 0x1C6C_6162, 0x8565_30D8, 0xF262_004E, 0x6C06_95ED, 0x1B01_A57B, 0x8208_F4C1, 0xF50F_C457,
0x65B0_D9C6, 0x12B7_E950, 0x8BBE_B8EA, 0xFCB9_887C, 0x62DD_1DDF, 0x15DA_2D49, 0x8CD3_7CF3, 0xFBD4_4C65,
0x4DB2_6158, 0x3AB5_51CE, 0xA3BC_0074, 0xD4BB_30E2, 0x4ADF_A541, 0x3DD8_95D7, 0xA4D1_C46D, 0xD3D6_F4FB,
0x4369_E96A, 0x346E_D9FC, 0xAD67_8846, 0xDA60_B8D0, 0x4404_2D73, 0x3303_1DE5, 0xAA0A_4C5F, 0xDD0D_7CC9,
0x5005_713C, 0x2702_41AA, 0xBE0B_1010, 0xC90C_2086, 0x5768_B525, 0x206F_85B3, 0xB966_D409, 0xCE61_E49F,
0x5EDE_F90E, 0x29D9_C998, 0xB0D0_9822, 0xC7D7_A8B4, 0x59B3_3D17, 0x2EB4_0D81, 0xB7BD_5C3B, 0xC0BA_6CAD,
0xEDB8_8320, 0x9ABF_B3B6, 0x03B6_E20C, 0x74B1_D29A, 0xEAD5_4739, 0x9DD2_77AF, 0x04DB_2615, 0x73DC_1683,
0xE363_0B12, 0x9464_3B84, 0x0D6D_6A3E, 0x7A6A_5AA8, 0xE40E_CF0B, 0x9309_FF9D, 0x0A00_AE27, 0x7D07_9EB1,
0xF00F_9344, 0x8708_A3D2, 0x1E01_F268, 0x6906_C2FE, 0xF762_575D, 0x8065_67CB, 0x196C_3671, 0x6E6B_06E7,
0xFED4_1B76, 0x89D3_2BE0, 0x10DA_7A5A, 0x67DD_4ACC, 0xF9B9_DF6F, 0x8EBE_EFF9, 0x17B7_BE43, 0x60B0_8ED5,
0xD6D6_A3E8, 0xA1D1_937E, 0x38D8_C2C4, 0x4FDF_F252, 0xD1BB_67F1, 0xA6BC_5767, 0x3FB5_06DD, 0x48B2_364B,
0xD80D_2BDA, 0xAF0A_1B4C, 0x3603_4AF6, 0x4104_7A60, 0xDF60_EFC3, 0xA867_DF55, 0x316E_8EEF, 0x4669_BE79,
0xCB61_B38C, 0xBC66_831A, 0x256F_D2A0, 0x5268_E236, 0xCC0C_7795, 0xBB0B_4703, 0x2202_16B9, 0x5505_262F,
0xC5BA_3BBE, 0xB2BD_0B28, 0x2BB4_5A92, 0x5CB3_6A04, 0xC2D7_FFA7, 0xB5D0_CF31, 0x2CD9_9E8B, 0x5BDE_AE1D,
0x9B64_C2B0, 0xEC63_F226, 0x756A_A39C, 0x026D_930A, 0x9C09_06A9, 0xEB0E_363F, 0x7207_6785, 0x0500_5713,
0x95BF_4A82, 0xE2B8_7A14, 0x7BB1_2BAE, 0x0CB6_1B38, 0x92D2_8E9B, 0xE5D5_BE0D, 0x7CDC_EFB7, 0x0BDB_DF21,
0x86D3_D2D4, 0xF1D4_E242, 0x68DD_B3F8, 0x1FDA_836E, 0x81BE_16CD, 0xF6B9_265B, 0x6FB0_77E1, 0x18B7_4777,
0x8808_5AE6, 0xFF0F_6A70, 0x6606_3BCA, 0x1101_0B5C, 0x8F65_9EFF, 0xF862_AE69, 0x616B_FFD3, 0x166C_CF45,
0xA00A_E278, 0xD70D_D2EE, 0x4E04_8354, 0x3903_B3C2, 0xA767_2661, 0xD060_16F7, 0x4969_474D, 0x3E6E_77DB,
0xAED1_6A4A, 0xD9D6_5ADC, 0x40DF_0B66, 0x37D8_3BF0, 0xA9BC_AE53, 0xDEBB_9EC5, 0x47B2_CF7F, 0x30B5_FFE9,
0xBDBD_F21C, 0xCABA_C28A, 0x53B3_9330, 0x24B4_A3A6, 0xBAD0_3605, 0xCDD7_0693, 0x54DE_5729, 0x23D9_67BF,
0xB366_7A2E, 0xC461_4AB8, 0x5D68_1B02, 0x2A6F_2B94, 0xB40B_BE37, 0xC30C_8EA1, 0x5A05_DF1B, 0x2D02_EF8D,
],[
0x0000_0000, 0x191B_3141, 0x3236_6282, 0x2B2D_53C3, 0x646C_C504, 0x7D77_F445, 0x565A_A786, 0x4F41_96C7,
0xC8D9_8A08, 0xD1C2_BB49, 0xFAEF_E88A, 0xE3F4_D9CB, 0xACB5_4F0C, 0xB5AE_7E4D, 0x9E83_2D8E, 0x8798_1CCF,
0x4AC2_1251, 0x53D9_2310, 0x78F4_70D3, 0x61EF_4192, 0x2EAE_D755, 0x37B5_E614, 0x1C98_B5D7, 0x0583_8496,
0x821B_9859, 0x9B00_A918, 0xB02D_FADB, 0xA936_CB9A, 0xE677_5D5D, 0xFF6C_6C1C, 0xD441_3FDF, 0xCD5A_0E9E,
0x9584_24A2, 0x8C9F_15E3, 0xA7B2_4620, 0xBEA9_7761, 0xF1E8_E1A6, 0xE8F3_D0E7, 0xC3DE_8324, 0xDAC5_B265,
0x5D5D_AEAA, 0x4446_9FEB, 0x6F6B_CC28, 0x7670_FD69, 0x3931_6BAE, 0x202A_5AEF, 0x0B07_092C, 0x121C_386D,
0xDF46_36F3, 0xC65D_07B2, 0xED70_5471, 0xF46B_6530, 0xBB2A_F3F7, 0xA231_C2B6, 0x891C_9175, 0x9007_A034,
0x179F_BCFB, 0x0E84_8DBA, 0x25A9_DE79, 0x3CB2_EF38, 0x73F3_79FF, 0x6AE8_48BE, 0x41C5_1B7D, 0x58DE_2A3C,
0xF079_4F05, 0xE962_7E44, 0xC24F_2D87, 0xDB54_1CC6, 0x9415_8A01, 0x8D0E_BB40, 0xA623_E883, 0xBF38_D9C2,
0x38A0_C50D, 0x21BB_F44C, 0x0A96_A78F, 0x138D_96CE, 0x5CCC_0009, 0x45D7_3148, 0x6EFA_628B, 0x77E1_53CA,
0xBABB_5D54, 0xA3A0_6C15, 0x888D_3FD6, 0x9196_0E97, 0xDED7_9850, 0xC7CC_A911, 0xECE1_FAD2, 0xF5FA_CB93,
0x7262_D75C, 0x6B79_E61D, 0x4054_B5DE, 0x594F_849F, 0x160E_1258, 0x0F15_2319, 0x2438_70DA, 0x3D23_419B,
0x65FD_6BA7, 0x7CE6_5AE6, 0x57CB_0925, 0x4ED0_3864, 0x0191_AEA3, 0x188A_9FE2, 0x33A7_CC21, 0x2ABC_FD60,
0xAD24_E1AF, 0xB43F_D0EE, 0x9F12_832D, 0x8609_B26C, 0xC948_24AB, 0xD053_15EA, 0xFB7E_4629, 0xE265_7768,
0x2F3F_79F6, 0x3624_48B7, 0x1D09_1B74, 0x0412_2A35, 0x4B53_BCF2, 0x5248_8DB3, 0x7965_DE70, 0x607E_EF31,
0xE7E6_F3FE, 0xFEFD_C2BF, 0xD5D0_917C, 0xCCCB_A03D, 0x838A_36FA, 0x9A91_07BB, 0xB1BC_5478, 0xA8A7_6539,
0x3B83_984B, 0x2298_A90A, 0x09B5_FAC9, 0x10AE_CB88, 0x5FEF_5D4F, 0x46F4_6C0E, 0x6DD9_3FCD, 0x74C2_0E8C,
0xF35A_1243, 0xEA41_2302, 0xC16C_70C1, 0xD877_4180, 0x9736_D747, 0x8E2D_E606, 0xA500_B5C5, 0xBC1B_8484,
0x7141_8A1A, 0x685A_BB5B, 0x4377_E898, 0x5A6C_D9D9, 0x152D_4F1E, 0x0C36_7E5F, 0x271B_2D9C, 0x3E00_1CDD,
0xB998_0012, 0xA083_3153, 0x8BAE_6290, 0x92B5_53D1, 0xDDF4_C516, 0xC4EF_F457, 0xEFC2_A794, 0xF6D9_96D5,
0xAE07_BCE9, 0xB71C_8DA8, 0x9C31_DE6B, 0x852A_EF2A, 0xCA6B_79ED, 0xD370_48AC, 0xF85D_1B6F, 0xE146_2A2E,
0x66DE_36E1, 0x7FC5_07A0, 0x54E8_5463, 0x4DF3_6522, 0x02B2_F3E5, 0x1BA9_C2A4, 0x3084_9167, 0x299F_A026,
0xE4C5_AEB8, 0xFDDE_9FF9, 0xD6F3_CC3A, 0xCFE8_FD7B, 0x80A9_6BBC, 0x99B2_5AFD, 0xB29F_093E, 0xAB84_387F,
0x2C1C_24B0, 0x3507_15F1, 0x1E2A_4632, 0x0731_7773, 0x4870_E1B4, 0x516B_D0F5, 0x7A46_8336, 0x635D_B277,
0xCBFA_D74E, 0xD2E1_E60F, 0xF9CC_B5CC, 0xE0D7_848D, 0xAF96_124A, 0xB68D_230B, 0x9DA0_70C8, 0x84BB_4189,
0x0323_5D46, 0x1A38_6C07, 0x3115_3FC4, 0x280E_0E85, 0x674F_9842, 0x7E54_A903, 0x5579_FAC0, 0x4C62_CB81,
0x8138_C51F, 0x9823_F45E, 0xB30E_A79D, 0xAA15_96DC, 0xE554_001B, 0xFC4F_315A, 0xD762_6299, 0xCE79_53D8,
0x49E1_4F17, 0x50FA_7E56, 0x7BD7_2D95, 0x62CC_1CD4, 0x2D8D_8A13, 0x3496_BB52, 0x1FBB_E891, 0x06A0_D9D0,
0x5E7E_F3EC, 0x4765_C2AD, 0x6C48_916E, 0x7553_A02F, 0x3A12_36E8, 0x2309_07A9, 0x0824_546A, 0x113F_652B,
0x96A7_79E4, 0x8FBC_48A5, 0xA491_1B66, 0xBD8A_2A27, 0xF2CB_BCE0, 0xEBD0_8DA1, 0xC0FD_DE62, 0xD9E6_EF23,
0x14BC_E1BD, 0x0DA7_D0FC, 0x268A_833F, 0x3F91_B27E, 0x70D0_24B9, 0x69CB_15F8, 0x42E6_463B, 0x5BFD_777A,
0xDC65_6BB5, 0xC57E_5AF4, 0xEE53_0937, 0xF748_3876, 0xB809_AEB1, 0xA112_9FF0, 0x8A3F_CC33, 0x9324_FD72,
],[
0x0000_0000, 0x01C2_6A37, 0x0384_D46E, 0x0246_BE59, 0x0709_A8DC, 0x06CB_C2EB, 0x048D_7CB2, 0x054F_1685,
0x0E13_51B8, 0x0FD1_3B8F, 0x0D97_85D6, 0x0C55_EFE1, 0x091A_F964, 0x08D8_9353, 0x0A9E_2D0A, 0x0B5C_473D,
0x1C26_A370, 0x1DE4_C947, 0x1FA2_771E, 0x1E60_1D29, 0x1B2F_0BAC, 0x1AED_619B, 0x18AB_DFC2, 0x1969_B5F5,
0x1235_F2C8, 0x13F7_98FF, 0x11B1_26A6, 0x1073_4C91, 0x153C_5A14, 0x14FE_3023, 0x16B8_8E7A, 0x177A_E44D,
0x384D_46E0, 0x398F_2CD7, 0x3BC9_928E, 0x3A0B_F8B9, 0x3F44_EE3C, 0x3E86_840B, 0x3CC0_3A52, 0x3D02_5065,
0x365E_1758, 0x379C_7D6F, 0x35DA_C336, 0x3418_A901, 0x3157_BF84, 0x3095_D5B3, 0x32D3_6BEA, 0x3311_01DD,
0x246B_E590, 0x25A9_8FA7, 0x27EF_31FE, 0x262D_5BC9, 0x2362_4D4C, 0x22A0_277B, 0x20E6_9922, 0x2124_F315,
0x2A78_B428, 0x2BBA_DE1F, 0x29FC_6046, 0x283E_0A71, 0x2D71_1CF4, 0x2CB3_76C3, 0x2EF5_C89A, 0x2F37_A2AD,
0x709A_8DC0, 0x7158_E7F7, 0x731E_59AE, 0x72DC_3399, 0x7793_251C, 0x7651_4F2B, 0x7417_F172, 0x75D5_9B45,
0x7E89_DC78, 0x7F4B_B64F, 0x7D0D_0816, 0x7CCF_6221, 0x7980_74A4, 0x7842_1E93, 0x7A04_A0CA, 0x7BC6_CAFD,
0x6CBC_2EB0, 0x6D7E_4487, 0x6F38_FADE, 0x6EFA_90E9, 0x6BB5_866C, 0x6A77_EC5B, 0x6831_5202, 0x69F3_3835,
0x62AF_7F08, 0x636D_153F, 0x612B_AB66, 0x60E9_C151, 0x65A6_D7D4, 0x6464_BDE3, 0x6622_03BA, 0x67E0_698D,
0x48D7_CB20, 0x4915_A117, 0x4B53_1F4E, 0x4A91_7579, 0x4FDE_63FC, 0x4E1C_09CB, 0x4C5A_B792, 0x4D98_DDA5,
0x46C4_9A98, 0x4706_F0AF, 0x4540_4EF6, 0x4482_24C1, 0x41CD_3244, 0x400F_5873, 0x4249_E62A, 0x438B_8C1D,
0x54F1_6850, 0x5533_0267, 0x5775_BC3E, 0x56B7_D609, 0x53F8_C08C, 0x523A_AABB, 0x507C_14E2, 0x51BE_7ED5,
0x5AE2_39E8, 0x5B20_53DF, 0x5966_ED86, 0x58A4_87B1, 0x5DEB_9134, 0x5C29_FB03, 0x5E6F_455A, 0x5FAD_2F6D,
0xE135_1B80, 0xE0F7_71B7, 0xE2B1_CFEE, 0xE373_A5D9, 0xE63C_B35C, 0xE7FE_D96B, 0xE5B8_6732, 0xE47A_0D05,
0xEF26_4A38, 0xEEE4_200F, 0xECA2_9E56, 0xED60_F461, 0xE82F_E2E4, 0xE9ED_88D3, 0xEBAB_368A, 0xEA69_5CBD,
0xFD13_B8F0, 0xFCD1_D2C7, 0xFE97_6C9E, 0xFF55_06A9, 0xFA1A_102C, 0xFBD8_7A1B, 0xF99E_C442, 0xF85C_AE75,
0xF300_E948, 0xF2C2_837F, 0xF084_3D26, 0xF146_5711, 0xF409_4194, 0xF5CB_2BA3, 0xF78D_95FA, 0xF64F_FFCD,
0xD978_5D60, 0xD8BA_3757, 0xDAFC_890E, 0xDB3E_E339, 0xDE71_F5BC, 0xDFB3_9F8B, 0xDDF5_21D2, 0xDC37_4BE5,
0xD76B_0CD8, 0xD6A9_66EF, 0xD4EF_D8B6, 0xD52D_B281, 0xD062_A404, 0xD1A0_CE33, 0xD3E6_706A, 0xD224_1A5D,
0xC55E_FE10, 0xC49C_9427, 0xC6DA_2A7E, 0xC718_4049, 0xC257_56CC, 0xC395_3CFB, 0xC1D3_82A2, 0xC011_E895,
0xCB4D_AFA8, 0xCA8F_C59F, 0xC8C9_7BC6, 0xC90B_11F1, 0xCC44_0774, 0xCD86_6D43, 0xCFC0_D31A, 0xCE02_B92D,
0x91AF_9640, 0x906D_FC77, 0x922B_422E, 0x93E9_2819, 0x96A6_3E9C, 0x9764_54AB, 0x9522_EAF2, 0x94E0_80C5,
0x9FBC_C7F8, 0x9E7E_ADCF, 0x9C38_1396, 0x9DFA_79A1, 0x98B5_6F24, 0x9977_0513, 0x9B31_BB4A, 0x9AF3_D17D,
0x8D89_3530, 0x8C4B_5F07, 0x8E0D_E15E, 0x8FCF_8B69, 0x8A80_9DEC, 0x8B42_F7DB, 0x8904_4982, 0x88C6_23B5,
0x839A_6488, 0x8258_0EBF, 0x801E_B0E6, 0x81DC_DAD1, 0x8493_CC54, 0x8551_A663, 0x8717_183A, 0x86D5_720D,
0xA9E2_D0A0, 0xA820_BA97, 0xAA66_04CE, 0xABA4_6EF9, 0xAEEB_787C, 0xAF29_124B, 0xAD6F_AC12, 0xACAD_C625,
0xA7F1_8118, 0xA633_EB2F, 0xA475_5576, 0xA5B7_3F41, 0xA0F8_29C4, 0xA13A_43F3, 0xA37C_FDAA, 0xA2BE_979D,
0xB5C4_73D0, 0xB406_19E7, 0xB640_A7BE, 0xB782_CD89, 0xB2CD_DB0C, 0xB30F_B13B, 0xB149_0F62, 0xB08B_6555,
0xBBD7_2268, 0xBA15_485F, 0xB853_F606, 0xB991_9C31, 0xBCDE_8AB4, 0xBD1C_E083, 0xBF5A_5EDA, 0xBE98_34ED,
],[
0x0000_0000, 0xB8BC_6765, 0xAA09_C88B, 0x12B5_AFEE, 0x8F62_9757, 0x37DE_F032, 0x256B_5FDC, 0x9DD7_38B9,
0xC5B4_28EF, 0x7D08_4F8A, 0x6FBD_E064, 0xD701_8701, 0x4AD6_BFB8, 0xF26A_D8DD, 0xE0DF_7733, 0x5863_1056,
0x5019_579F, 0xE8A5_30FA, 0xFA10_9F14, 0x42AC_F871, 0xDF7B_C0C8, 0x67C7_A7AD, 0x7572_0843, 0xCDCE_6F26,
0x95AD_7F70, 0x2D11_1815, 0x3FA4_B7FB, 0x8718_D09E, 0x1ACF_E827, 0xA273_8F42, 0xB0C6_20AC, 0x087A_47C9,
0xA032_AF3E, 0x188E_C85B, 0x0A3B_67B5, 0xB287_00D0, 0x2F50_3869, 0x97EC_5F0C, 0x8559_F0E2, 0x3DE5_9787,
0x6586_87D1, 0xDD3A_E0B4, 0xCF8F_4F5A, 0x7733_283F, 0xEAE4_1086, 0x5258_77E3, 0x40ED_D80D, 0xF851_BF68,
0xF02B_F8A1, 0x4897_9FC4, 0x5A22_302A, 0xE29E_574F, 0x7F49_6FF6, 0xC7F5_0893, 0xD540_A77D, 0x6DFC_C018,
0x359F_D04E, 0x8D23_B72B, 0x9F96_18C5, 0x272A_7FA0, 0xBAFD_4719, 0x0241_207C, 0x10F4_8F92, 0xA848_E8F7,
0x9B14_583D, 0x23A8_3F58, 0x311D_90B6, 0x89A1_F7D3, 0x1476_CF6A, 0xACCA_A80F, 0xBE7F_07E1, 0x06C3_6084,
0x5EA0_70D2, 0xE61C_17B7, 0xF4A9_B859, 0x4C15_DF3C, 0xD1C2_E785, 0x697E_80E0, 0x7BCB_2F0E, 0xC377_486B,
0xCB0D_0FA2, 0x73B1_68C7, 0x6104_C729, 0xD9B8_A04C, 0x446F_98F5, 0xFCD3_FF90, 0xEE66_507E, 0x56DA_371B,
0x0EB9_274D, 0xB605_4028, 0xA4B0_EFC6, 0x1C0C_88A3, 0x81DB_B01A, 0x3967_D77F, 0x2BD2_7891, 0x936E_1FF4,
0x3B26_F703, 0x839A_9066, 0x912F_3F88, 0x2993_58ED, 0xB444_6054, 0x0CF8_0731, 0x1E4D_A8DF, 0xA6F1_CFBA,
0xFE92_DFEC, 0x462E_B889, 0x549B_1767, 0xEC27_7002, 0x71F0_48BB, 0xC94C_2FDE, 0xDBF9_8030, 0x6345_E755,
0x6B3F_A09C, 0xD383_C7F9, 0xC136_6817, 0x798A_0F72, 0xE45D_37CB, 0x5CE1_50AE, 0x4E54_FF40, 0xF6E8_9825,
0xAE8B_8873, 0x1637_EF16, 0x0482_40F8, 0xBC3E_279D, 0x21E9_1F24, 0x9955_7841, 0x8BE0_D7AF, 0x335C_B0CA,
0xED59_B63B, 0x55E5_D15E, 0x4750_7EB0, 0xFFEC_19D5, 0x623B_216C, 0xDA87_4609, 0xC832_E9E7, 0x708E_8E82,
0x28ED_9ED4, 0x9051_F9B1, 0x82E4_565F, 0x3A58_313A, 0xA78F_0983, 0x1F33_6EE6, 0x0D86_C108, 0xB53A_A66D,
0xBD40_E1A4, 0x05FC_86C1, 0x1749_292F, 0xAFF5_4E4A, 0x3222_76F3, 0x8A9E_1196, 0x982B_BE78, 0x2097_D91D,
0x78F4_C94B, 0xC048_AE2E, 0xD2FD_01C0, 0x6A41_66A5, 0xF796_5E1C, 0x4F2A_3979, 0x5D9F_9697, 0xE523_F1F2,
0x4D6B_1905, 0xF5D7_7E60, 0xE762_D18E, 0x5FDE_B6EB, 0xC209_8E52, 0x7AB5_E937, 0x6800_46D9, 0xD0BC_21BC,
0x88DF_31EA, 0x3063_568F, 0x22D6_F961, 0x9A6A_9E04, 0x07BD_A6BD, 0xBF01_C1D8, 0xADB4_6E36, 0x1508_0953,
0x1D72_4E9A, 0xA5CE_29FF, 0xB77B_8611, 0x0FC7_E174, 0x9210_D9CD, 0x2AAC_BEA8, 0x3819_1146, 0x80A5_7623,
0xD8C6_6675, 0x607A_0110, 0x72CF_AEFE, 0xCA73_C99B, 0x57A4_F122, 0xEF18_9647, 0xFDAD_39A9, 0x4511_5ECC,
0x764D_EE06, 0xCEF1_8963, 0xDC44_268D, 0x64F8_41E8, 0xF92F_7951, 0x4193_1E34, 0x5326_B1DA, 0xEB9A_D6BF,
0xB3F9_C6E9, 0x0B45_A18C, 0x19F0_0E62, 0xA14C_6907, 0x3C9B_51BE, 0x8427_36DB, 0x9692_9935, 0x2E2E_FE50,
0x2654_B999, 0x9EE8_DEFC, 0x8C5D_7112, 0x34E1_1677, 0xA936_2ECE, 0x118A_49AB, 0x033F_E645, 0xBB83_8120,
0xE3E0_9176, 0x5B5C_F613, 0x49E9_59FD, 0xF155_3E98, 0x6C82_0621, 0xD43E_6144, 0xC68B_CEAA, 0x7E37_A9CF,
0xD67F_4138, 0x6EC3_265D, 0x7C76_89B3, 0xC4CA_EED6, 0x591D_D66F, 0xE1A1_B10A, 0xF314_1EE4, 0x4BA8_7981,
0x13CB_69D7, 0xAB77_0EB2, 0xB9C2_A15C, 0x017E_C639, 0x9CA9_FE80, 0x2415_99E5, 0x36A0_360B, 0x8E1C_516E,
0x8666_16A7, 0x3EDA_71C2, 0x2C6F_DE2C, 0x94D3_B949, 0x0904_81F0, 0xB1B8_E695, 0xA30D_497B, 0x1BB1_2E1E,
0x43D2_3E48, 0xFB6E_592D, 0xE9DB_F6C3, 0x5167_91A6, 0xCCB0_A91F, 0x740C_CE7A, 0x66B9_6194, 0xDE05_06F1,
],[
0x0000_0000, 0x3D60_29B0, 0x7AC0_5360, 0x47A0_7AD0, 0xF580_A6C0, 0xC8E0_8F70, 0x8F40_F5A0, 0xB220_DC10,
0x3070_4BC1, 0x0D10_6271, 0x4AB0_18A1, 0x77D0_3111, 0xC5F0_ED01, 0xF890_C4B1, 0xBF30_BE61, 0x8250_97D1,
0x60E0_9782, 0x5D80_BE32, 0x1A20_C4E2, 0x2740_ED52, 0x9560_3142, 0xA800_18F2, 0xEFA0_6222, 0xD2C0_4B92,
0x5090_DC43, 0x6DF0_F5F3, 0x2A50_8F23, 0x1730_A693, 0xA510_7A83, 0x9870_5333, 0xDFD0_29E3, 0xE2B0_0053,
0xC1C1_2F04, 0xFCA1_06B4, 0xBB01_7C64, 0x8661_55D4, 0x3441_89C4, 0x0921_A074, 0x4E81_DAA4, 0x73E1_F314,
0xF1B1_64C5, 0xCCD1_4D75, 0x8B71_37A5, 0xB611_1E15, 0x0431_C205, 0x3951_EBB5, 0x7EF1_9165, 0x4391_B8D5,
0xA121_B886, 0x9C41_9136, 0xDBE1_EBE6, 0xE681_C256, 0x54A1_1E46, 0x69C1_37F6, 0x2E61_4D26, 0x1301_6496,
0x9151_F347, 0xAC31_DAF7, 0xEB91_A027, 0xD6F1_8997, 0x64D1_5587, 0x59B1_7C37, 0x1E11_06E7, 0x2371_2F57,
0x58F3_5849, 0x6593_71F9, 0x2233_0B29, 0x1F53_2299, 0xAD73_FE89, 0x9013_D739, 0xD7B3_ADE9, 0xEAD3_8459,
0x6883_1388, 0x55E3_3A38, 0x1243_40E8, 0x2F23_6958, 0x9D03_B548, 0xA063_9CF8, 0xE7C3_E628, 0xDAA3_CF98,
0x3813_CFCB, 0x0573_E67B, 0x42D3_9CAB, 0x7FB3_B51B, 0xCD93_690B, 0xF0F3_40BB, 0xB753_3A6B, 0x8A33_13DB,
0x0863_840A, 0x3503_ADBA, 0x72A3_D76A, 0x4FC3_FEDA, 0xFDE3_22CA, 0xC083_0B7A, 0x8723_71AA, 0xBA43_581A,
0x9932_774D, 0xA452_5EFD, 0xE3F2_242D, 0xDE92_0D9D, 0x6CB2_D18D, 0x51D2_F83D, 0x1672_82ED, 0x2B12_AB5D,
0xA942_3C8C, 0x9422_153C, 0xD382_6FEC, 0xEEE2_465C, 0x5CC2_9A4C, 0x61A2_B3FC, 0x2602_C92C, 0x1B62_E09C,
0xF9D2_E0CF, 0xC4B2_C97F, 0x8312_B3AF, 0xBE72_9A1F, 0x0C52_460F, 0x3132_6FBF, 0x7692_156F, 0x4BF2_3CDF,
0xC9A2_AB0E, 0xF4C2_82BE, 0xB362_F86E, 0x8E02_D1DE, 0x3C22_0DCE, 0x0142_247E, 0x46E2_5EAE, 0x7B82_771E,
0xB1E6_B092, 0x8C86_9922, 0xCB26_E3F2, 0xF646_CA42, 0x4466_1652, 0x7906_3FE2, 0x3EA6_4532, 0x03C6_6C82,
0x8196_FB53, 0xBCF6_D2E3, 0xFB56_A833, 0xC636_8183, 0x7416_5D93, 0x4976_7423, 0x0ED6_0EF3, 0x33B6_2743,
0xD106_2710, 0xEC66_0EA0, 0xABC6_7470, 0x96A6_5DC0, 0x2486_81D0, 0x19E6_A860, 0x5E46_D2B0, 0x6326_FB00,
0xE176_6CD1, 0xDC16_4561, 0x9BB6_3FB1, 0xA6D6_1601, 0x14F6_CA11, 0x2996_E3A1, 0x6E36_9971, 0x5356_B0C1,
0x7027_9F96, 0x4D47_B626, 0x0AE7_CCF6, 0x3787_E546, 0x85A7_3956, 0xB8C7_10E6, 0xFF67_6A36, 0xC207_4386,
0x4057_D457, 0x7D37_FDE7, 0x3A97_8737, 0x07F7_AE87, 0xB5D7_7297, 0x88B7_5B27, 0xCF17_21F7, 0xF277_0847,
0x10C7_0814, 0x2DA7_21A4, 0x6A07_5B74, 0x5767_72C4, 0xE547_AED4, 0xD827_8764, 0x9F87_FDB4, 0xA2E7_D404,
0x20B7_43D5, 0x1DD7_6A65, 0x5A77_10B5, 0x6717_3905, 0xD537_E515, 0xE857_CCA5, 0xAFF7_B675, 0x9297_9FC5,
0xE915_E8DB, 0xD475_C16B, 0x93D5_BBBB, 0xAEB5_920B, 0x1C95_4E1B, 0x21F5_67AB, 0x6655_1D7B, 0x5B35_34CB,
0xD965_A31A, 0xE405_8AAA, 0xA3A5_F07A, 0x9EC5_D9CA, 0x2CE5_05DA, 0x1185_2C6A, 0x5625_56BA, 0x6B45_7F0A,
0x89F5_7F59, 0xB495_56E9, 0xF335_2C39, 0xCE55_0589, 0x7C75_D999, 0x4115_F029, 0x06B5_8AF9, 0x3BD5_A349,
0xB985_3498, 0x84E5_1D28, 0xC345_67F8, 0xFE25_4E48, 0x4C05_9258, 0x7165_BBE8, 0x36C5_C138, 0x0BA5_E888,
0x28D4_C7DF, 0x15B4_EE6F, 0x5214_94BF, 0x6F74_BD0F, 0xDD54_611F, 0xE034_48AF, 0xA794_327F, 0x9AF4_1BCF,
0x18A4_8C1E, 0x25C4_A5AE, 0x6264_DF7E, 0x5F04_F6CE, 0xED24_2ADE, 0xD044_036E, 0x97E4_79BE, 0xAA84_500E,
0x4834_505D, 0x7554_79ED, 0x32F4_033D, 0x0F94_2A8D, 0xBDB4_F69D, 0x80D4_DF2D, 0xC774_A5FD, 0xFA14_8C4D,
0x7844_1B9C, 0x4524_322C, 0x0284_48FC, 0x3FE4_614C, 0x8DC4_BD5C, 0xB0A4_94EC, 0xF704_EE3C, 0xCA64_C78C,
],[
0x0000_0000, 0xCB5C_D3A5, 0x4DC8_A10B, 0x8694_72AE, 0x9B91_4216, 0x50CD_91B3, 0xD659_E31D, 0x1D05_30B8,
0xEC53_826D, 0x270F_51C8, 0xA19B_2366, 0x6AC7_F0C3, 0x77C2_C07B, 0xBC9E_13DE, 0x3A0A_6170, 0xF156_B2D5,
0x03D6_029B, 0xC88A_D13E, 0x4E1E_A390, 0x8542_7035, 0x9847_408D, 0x531B_9328, 0xD58F_E186, 0x1ED3_3223,
0xEF85_80F6, 0x24D9_5353, 0xA24D_21FD, 0x6911_F258, 0x7414_C2E0, 0xBF48_1145, 0x39DC_63EB, 0xF280_B04E,
0x07AC_0536, 0xCCF0_D693, 0x4A64_A43D, 0x8138_7798, 0x9C3D_4720, 0x5761_9485, 0xD1F5_E62B, 0x1AA9_358E,
0xEBFF_875B, 0x20A3_54FE, 0xA637_2650, 0x6D6B_F5F5, 0x706E_C54D, 0xBB32_16E8, 0x3DA6_6446, 0xF6FA_B7E3,
0x047A_07AD, 0xCF26_D408, 0x49B2_A6A6, 0x82EE_7503, 0x9FEB_45BB, 0x54B7_961E, 0xD223_E4B0, 0x197F_3715,
0xE829_85C0, 0x2375_5665, 0xA5E1_24CB, 0x6EBD_F76E, 0x73B8_C7D6, 0xB8E4_1473, 0x3E70_66DD, 0xF52C_B578,
0x0F58_0A6C, 0xC404_D9C9, 0x4290_AB67, 0x89CC_78C2, 0x94C9_487A, 0x5F95_9BDF, 0xD901_E971, 0x125D_3AD4,
0xE30B_8801, 0x2857_5BA4, 0xAEC3_290A, 0x659F_FAAF, 0x789A_CA17, 0xB3C6_19B2, 0x3552_6B1C, 0xFE0E_B8B9,
0x0C8E_08F7, 0xC7D2_DB52, 0x4146_A9FC, 0x8A1A_7A59, 0x971F_4AE1, 0x5C43_9944, 0xDAD7_EBEA, 0x118B_384F,
0xE0DD_8A9A, 0x2B81_593F, 0xAD15_2B91, 0x6649_F834, 0x7B4C_C88C, 0xB010_1B29, 0x3684_6987, 0xFDD8_BA22,
0x08F4_0F5A, 0xC3A8_DCFF, 0x453C_AE51, 0x8E60_7DF4, 0x9365_4D4C, 0x5839_9EE9, 0xDEAD_EC47, 0x15F1_3FE2,
0xE4A7_8D37, 0x2FFB_5E92, 0xA96F_2C3C, 0x6233_FF99, 0x7F36_CF21, 0xB46A_1C84, 0x32FE_6E2A, 0xF9A2_BD8F,
0x0B22_0DC1, 0xC07E_DE64, 0x46EA_ACCA, 0x8DB6_7F6F, 0x90B3_4FD7, 0x5BEF_9C72, 0xDD7B_EEDC, 0x1627_3D79,
0xE771_8FAC, 0x2C2D_5C09, 0xAAB9_2EA7, 0x61E5_FD02, 0x7CE0_CDBA, 0xB7BC_1E1F, 0x3128_6CB1, 0xFA74_BF14,
0x1EB0_14D8, 0xD5EC_C77D, 0x5378_B5D3, 0x9824_6676, 0x8521_56CE, 0x4E7D_856B, 0xC8E9_F7C5, 0x03B5_2460,
0xF2E3_96B5, 0x39BF_4510, 0xBF2B_37BE, 0x7477_E41B, 0x6972_D4A3, 0xA22E_0706, 0x24BA_75A8, 0xEFE6_A60D,
0x1D66_1643, 0xD63A_C5E6, 0x50AE_B748, 0x9BF2_64ED, 0x86F7_5455, 0x4DAB_87F0, 0xCB3F_F55E, 0x0063_26FB,
0xF135_942E, 0x3A69_478B, 0xBCFD_3525, 0x77A1_E680, 0x6AA4_D638, 0xA1F8_059D, 0x276C_7733, 0xEC30_A496,
0x191C_11EE, 0xD240_C24B, 0x54D4_B0E5, 0x9F88_6340, 0x828D_53F8, 0x49D1_805D, 0xCF45_F2F3, 0x0419_2156,
0xF54F_9383, 0x3E13_4026, 0xB887_3288, 0x73DB_E12D, 0x6EDE_D195, 0xA582_0230, 0x2316_709E, 0xE84A_A33B,
0x1ACA_1375, 0xD196_C0D0, 0x5702_B27E, 0x9C5E_61DB, 0x815B_5163, 0x4A07_82C6, 0xCC93_F068, 0x07CF_23CD,
0xF699_9118, 0x3DC5_42BD, 0xBB51_3013, 0x700D_E3B6, 0x6D08_D30E, 0xA654_00AB, 0x20C0_7205, 0xEB9C_A1A0,
0x11E8_1EB4, 0xDAB4_CD11, 0x5C20_BFBF, 0x977C_6C1A, 0x8A79_5CA2, 0x4125_8F07, 0xC7B1_FDA9, 0x0CED_2E0C,
0xFDBB_9CD9, 0x36E7_4F7C, 0xB073_3DD2, 0x7B2F_EE77, 0x662A_DECF, 0xAD76_0D6A, 0x2BE2_7FC4, 0xE0BE_AC61,
0x123E_1C2F, 0xD962_CF8A, 0x5FF6_BD24, 0x94AA_6E81, 0x89AF_5E39, 0x42F3_8D9C, 0xC467_FF32, 0x0F3B_2C97,
0xFE6D_9E42, 0x3531_4DE7, 0xB3A5_3F49, 0x78F9_ECEC, 0x65FC_DC54, 0xAEA0_0FF1, 0x2834_7D5F, 0xE368_AEFA,
0x1644_1B82, 0xDD18_C827, 0x5B8C_BA89, 0x90D0_692C, 0x8DD5_5994, 0x4689_8A31, 0xC01D_F89F, 0x0B41_2B3A,
0xFA17_99EF, 0x314B_4A4A, 0xB7DF_38E4, 0x7C83_EB41, 0x6186_DBF9, 0xAADA_085C, 0x2C4E_7AF2, 0xE712_A957,
0x1592_1919, 0xDECE_CABC, 0x585A_B812, 0x9306_6BB7, 0x8E03_5B0F, 0x455F_88AA, 0xC3CB_FA04, 0x0897_29A1,
0xF9C1_9B74, 0x329D_48D1, 0xB409_3A7F, 0x7F55_E9DA, 0x6250_D962, 0xA90C_0AC7, 0x2F98_7869, 0xE4C4_ABCC,
],[
0x0000_0000, 0xA677_0BB4, 0x979F_1129, 0x31E8_1A9D, 0xF44F_2413, 0x5238_2FA7, 0x63D0_353A, 0xC5A7_3E8E,
0x33EF_4E67, 0x9598_45D3, 0xA470_5F4E, 0x0207_54FA, 0xC7A0_6A74, 0x61D7_61C0, 0x503F_7B5D, 0xF648_70E9,
0x67DE_9CCE, 0xC1A9_977A, 0xF041_8DE7, 0x5636_8653, 0x9391_B8DD, 0x35E6_B369, 0x040E_A9F4, 0xA279_A240,
0x5431_D2A9, 0xF246_D91D, 0xC3AE_C380, 0x65D9_C834, 0xA07E_F6BA, 0x0609_FD0E, 0x37E1_E793, 0x9196_EC27,
0xCFBD_399C, 0x69CA_3228, 0x5822_28B5, 0xFE55_2301, 0x3BF2_1D8F, 0x9D85_163B, 0xAC6D_0CA6, 0x0A1A_0712,
0xFC52_77FB, 0x5A25_7C4F, 0x6BCD_66D2, 0xCDBA_6D66, 0x081D_53E8, 0xAE6A_585C, 0x9F82_42C1, 0x39F5_4975,
0xA863_A552, 0x0E14_AEE6, 0x3FFC_B47B, 0x998B_BFCF, 0x5C2C_8141, 0xFA5B_8AF5, 0xCBB3_9068, 0x6DC4_9BDC,
0x9B8C_EB35, 0x3DFB_E081, 0x0C13_FA1C, 0xAA64_F1A8, 0x6FC3_CF26, 0xC9B4_C492, 0xF85C_DE0F, 0x5E2B_D5BB,
0x440B_7579, 0xE27C_7ECD, 0xD394_6450, 0x75E3_6FE4, 0xB044_516A, 0x1633_5ADE, 0x27DB_4043, 0x81AC_4BF7,
0x77E4_3B1E, 0xD193_30AA, 0xE07B_2A37, 0x460C_2183, 0x83AB_1F0D, 0x25DC_14B9, 0x1434_0E24, 0xB243_0590,
0x23D5_E9B7, 0x85A2_E203, 0xB44A_F89E, 0x123D_F32A, 0xD79A_CDA4, 0x71ED_C610, 0x4005_DC8D, 0xE672_D739,
0x103A_A7D0, 0xB64D_AC64, 0x87A5_B6F9, 0x21D2_BD4D, 0xE475_83C3, 0x4202_8877, 0x73EA_92EA, 0xD59D_995E,
0x8BB6_4CE5, 0x2DC1_4751, 0x1C29_5DCC, 0xBA5E_5678, 0x7FF9_68F6, 0xD98E_6342, 0xE866_79DF, 0x4E11_726B,
0xB859_0282, 0x1E2E_0936, 0x2FC6_13AB, 0x89B1_181F, 0x4C16_2691, 0xEA61_2D25, 0xDB89_37B8, 0x7DFE_3C0C,
0xEC68_D02B, 0x4A1F_DB9F, 0x7BF7_C102, 0xDD80_CAB6, 0x1827_F438, 0xBE50_FF8C, 0x8FB8_E511, 0x29CF_EEA5,
0xDF87_9E4C, 0x79F0_95F8, 0x4818_8F65, 0xEE6F_84D1, 0x2BC8_BA5F, 0x8DBF_B1EB, 0xBC57_AB76, 0x1A20_A0C2,
0x8816_EAF2, 0x2E61_E146, 0x1F89_FBDB, 0xB9FE_F06F, 0x7C59_CEE1, 0xDA2E_C555, 0xEBC6_DFC8, 0x4DB1_D47C,
0xBBF9_A495, 0x1D8E_AF21, 0x2C66_B5BC, 0x8A11_BE08, 0x4FB6_8086, 0xE9C1_8B32, 0xD829_91AF, 0x7E5E_9A1B,
0xEFC8_763C, 0x49BF_7D88, 0x7857_6715, 0xDE20_6CA1, 0x1B87_522F, 0xBDF0_599B, 0x8C18_4306, 0x2A6F_48B2,
0xDC27_385B, 0x7A50_33EF, 0x4BB8_2972, 0xEDCF_22C6, 0x2868_1C48, 0x8E1F_17FC, 0xBFF7_0D61, 0x1980_06D5,
0x47AB_D36E, 0xE1DC_D8DA, 0xD034_C247, 0x7643_C9F3, 0xB3E4_F77D, 0x1593_FCC9, 0x247B_E654, 0x820C_EDE0,
0x7444_9D09, 0xD233_96BD, 0xE3DB_8C20, 0x45AC_8794, 0x800B_B91A, 0x267C_B2AE, 0x1794_A833, 0xB1E3_A387,
0x2075_4FA0, 0x8602_4414, 0xB7EA_5E89, 0x119D_553D, 0xD43A_6BB3, 0x724D_6007, 0x43A5_7A9A, 0xE5D2_712E,
0x139A_01C7, 0xB5ED_0A73, 0x8405_10EE, 0x2272_1B5A, 0xE7D5_25D4, 0x41A2_2E60, 0x704A_34FD, 0xD63D_3F49,
0xCC1D_9F8B, 0x6A6A_943F, 0x5B82_8EA2, 0xFDF5_8516, 0x3852_BB98, 0x9E25_B02C, 0xAFCD_AAB1, 0x09BA_A105,
0xFFF2_D1EC, 0x5985_DA58, 0x686D_C0C5, 0xCE1A_CB71, 0x0BBD_F5FF, 0xADCA_FE4B, 0x9C22_E4D6, 0x3A55_EF62,
0xABC3_0345, 0x0DB4_08F1, 0x3C5C_126C, 0x9A2B_19D8, 0x5F8C_2756, 0xF9FB_2CE2, 0xC813_367F, 0x6E64_3DCB,
0x982C_4D22, 0x3E5B_4696, 0x0FB3_5C0B, 0xA9C4_57BF, 0x6C63_6931, 0xCA14_6285, 0xFBFC_7818, 0x5D8B_73AC,
0x03A0_A617, 0xA5D7_ADA3, 0x943F_B73E, 0x3248_BC8A, 0xF7EF_8204, 0x5198_89B0, 0x6070_932D, 0xC607_9899,
0x304F_E870, 0x9638_E3C4, 0xA7D0_F959, 0x01A7_F2ED, 0xC400_CC63, 0x6277_C7D7, 0x539F_DD4A, 0xF5E8_D6FE,
0x647E_3AD9, 0xC209_316D, 0xF3E1_2BF0, 0x5596_2044, 0x9031_1ECA, 0x3646_157E, 0x07AE_0FE3, 0xA1D9_0457,
0x5791_74BE, 0xF1E6_7F0A, 0xC00E_6597, 0x6679_6E23, 0xA3DE_50AD, 0x05A9_5B19, 0x3441_4184, 0x9236_4A30,
],[
0x0000_0000, 0xCCAA_009E, 0x4225_077D, 0x8E8F_07E3, 0x844A_0EFA, 0x48E0_0E64, 0xC66F_0987, 0x0AC5_0919,
0xD3E5_1BB5, 0x1F4F_1B2B, 0x91C0_1CC8, 0x5D6A_1C56, 0x57AF_154F, 0x9B05_15D1, 0x158A_1232, 0xD920_12AC,
0x7CBB_312B, 0xB011_31B5, 0x3E9E_3656, 0xF234_36C8, 0xF8F1_3FD1, 0x345B_3F4F, 0xBAD4_38AC, 0x767E_3832,
0xAF5E_2A9E, 0x63F4_2A00, 0xED7B_2DE3, 0x21D1_2D7D, 0x2B14_2464, 0xE7BE_24FA, 0x6931_2319, 0xA59B_2387,
0xF976_6256, 0x35DC_62C8, 0xBB53_652B, 0x77F9_65B5, 0x7D3C_6CAC, 0xB196_6C32, 0x3F19_6BD1, 0xF3B3_6B4F,
0x2A93_79E3, 0xE639_797D, 0x68B6_7E9E, 0xA41C_7E00, 0xAED9_7719, 0x6273_7787, 0xECFC_7064, 0x2056_70FA,
0x85CD_537D, 0x4967_53E3, 0xC7E8_5400, 0x0B42_549E, 0x0187_5D87, 0xCD2D_5D19, 0x43A2_5AFA, 0x8F08_5A64,
0x5628_48C8, 0x9A82_4856, 0x140D_4FB5, 0xD8A7_4F2B, 0xD262_4632, 0x1EC8_46AC, 0x9047_414F, 0x5CED_41D1,
0x299D_C2ED, 0xE537_C273, 0x6BB8_C590, 0xA712_C50E, 0xADD7_CC17, 0x617D_CC89, 0xEFF2_CB6A, 0x2358_CBF4,
0xFA78_D958, 0x36D2_D9C6, 0xB85D_DE25, 0x74F7_DEBB, 0x7E32_D7A2, 0xB298_D73C, 0x3C17_D0DF, 0xF0BD_D041,
0x5526_F3C6, 0x998C_F358, 0x1703_F4BB, 0xDBA9_F425, 0xD16C_FD3C, 0x1DC6_FDA2, 0x9349_FA41, 0x5FE3_FADF,
0x86C3_E873, 0x4A69_E8ED, 0xC4E6_EF0E, 0x084C_EF90, 0x0289_E689, 0xCE23_E617, 0x40AC_E1F4, 0x8C06_E16A,
0xD0EB_A0BB, 0x1C41_A025, 0x92CE_A7C6, 0x5E64_A758, 0x54A1_AE41, 0x980B_AEDF, 0x1684_A93C, 0xDA2E_A9A2,
0x030E_BB0E, 0xCFA4_BB90, 0x412B_BC73, 0x8D81_BCED, 0x8744_B5F4, 0x4BEE_B56A, 0xC561_B289, 0x09CB_B217,
0xAC50_9190, 0x60FA_910E, 0xEE75_96ED, 0x22DF_9673, 0x281A_9F6A, 0xE4B0_9FF4, 0x6A3F_9817, 0xA695_9889,
0x7FB5_8A25, 0xB31F_8ABB, 0x3D90_8D58, 0xF13A_8DC6, 0xFBFF_84DF, 0x3755_8441, 0xB9DA_83A2, 0x7570_833C,
0x533B_85DA, 0x9F91_8544, 0x111E_82A7, 0xDDB4_8239, 0xD771_8B20, 0x1BDB_8BBE, 0x9554_8C5D, 0x59FE_8CC3,
0x80DE_9E6F, 0x4C74_9EF1, 0xC2FB_9912, 0x0E51_998C, 0x0494_9095, 0xC83E_900B, 0x46B1_97E8, 0x8A1B_9776,
0x2F80_B4F1, 0xE32A_B46F, 0x6DA5_B38C, 0xA10F_B312, 0xABCA_BA0B, 0x6760_BA95, 0xE9EF_BD76, 0x2545_BDE8,
0xFC65_AF44, 0x30CF_AFDA, 0xBE40_A839, 0x72EA_A8A7, 0x782F_A1BE, 0xB485_A120, 0x3A0A_A6C3, 0xF6A0_A65D,
0xAA4D_E78C, 0x66E7_E712, 0xE868_E0F1, 0x24C2_E06F, 0x2E07_E976, 0xE2AD_E9E8, 0x6C22_EE0B, 0xA088_EE95,
0x79A8_FC39, 0xB502_FCA7, 0x3B8D_FB44, 0xF727_FBDA, 0xFDE2_F2C3, 0x3148_F25D, 0xBFC7_F5BE, 0x736D_F520,
0xD6F6_D6A7, 0x1A5C_D639, 0x94D3_D1DA, 0x5879_D144, 0x52BC_D85D, 0x9E16_D8C3, 0x1099_DF20, 0xDC33_DFBE,
0x0513_CD12, 0xC9B9_CD8C, 0x4736_CA6F, 0x8B9C_CAF1, 0x8159_C3E8, 0x4DF3_C376, 0xC37C_C495, 0x0FD6_C40B,
0x7AA6_4737, 0xB60C_47A9, 0x3883_404A, 0xF429_40D4, 0xFEEC_49CD, 0x3246_4953, 0xBCC9_4EB0, 0x7063_4E2E,
0xA943_5C82, 0x65E9_5C1C, 0xEB66_5BFF, 0x27CC_5B61, 0x2D09_5278, 0xE1A3_52E6, 0x6F2C_5505, 0xA386_559B,
0x061D_761C, 0xCAB7_7682, 0x4438_7161, 0x8892_71FF, 0x8257_78E6, 0x4EFD_7878, 0xC072_7F9B, 0x0CD8_7F05,
0xD5F8_6DA9, 0x1952_6D37, 0x97DD_6AD4, 0x5B77_6A4A, 0x51B2_6353, 0x9D18_63CD, 0x1397_642E, 0xDF3D_64B0,
0x83D0_2561, 0x4F7A_25FF, 0xC1F5_221C, 0x0D5F_2282, 0x079A_2B9B, 0xCB30_2B05, 0x45BF_2CE6, 0x8915_2C78,
0x5035_3ED4, 0x9C9F_3E4A, 0x1210_39A9, 0xDEBA_3937, 0xD47F_302E, 0x18D5_30B0, 0x965A_3753, 0x5AF0_37CD,
0xFF6B_144A, 0x33C1_14D4, 0xBD4E_1337, 0x71E4_13A9, 0x7B21_1AB0, 0xB78B_1A2E, 0x3904_1DCD, 0xF5AE_1D53,
0x2C8E_0FFF, 0xE024_0F61, 0x6EAB_0882, 0xA201_081C, 0xA8C4_0105, 0x646E_019B, 0xEAE1_0678, 0x264B_06E6,
],[
0x0000_0000, 0x177B_1443, 0x2EF6_2886, 0x398D_3CC5, 0x5DEC_510C, 0x4A97_454F, 0x731A_798A, 0x6461_6DC9,
0xBBD8_A218, 0xACA3_B65B, 0x952E_8A9E, 0x8255_9EDD, 0xE634_F314, 0xF14F_E757, 0xC8C2_DB92, 0xDFB9_CFD1,
0xACC0_4271, 0xBBBB_5632, 0x8236_6AF7, 0x954D_7EB4, 0xF12C_137D, 0xE657_073E, 0xDFDA_3BFB, 0xC8A1_2FB8,
0x1718_E069, 0x0063_F42A, 0x39EE_C8EF, 0x2E95_DCAC, 0x4AF4_B165, 0x5D8F_A526, 0x6402_99E3, 0x7379_8DA0,
0x82F1_82A3, 0x958A_96E0, 0xAC07_AA25, 0xBB7C_BE66, 0xDF1D_D3AF, 0xC866_C7EC, 0xF1EB_FB29, 0xE690_EF6A,
0x3929_20BB, 0x2E52_34F8, 0x17DF_083D, 0x00A4_1C7E, 0x64C5_71B7, 0x73BE_65F4, 0x4A33_5931, 0x5D48_4D72,
0x2E31_C0D2, 0x394A_D491, 0x00C7_E854, 0x17BC_FC17, 0x73DD_91DE, 0x64A6_859D, 0x5D2B_B958, 0x4A50_AD1B,
0x95E9_62CA, 0x8292_7689, 0xBB1F_4A4C, 0xAC64_5E0F, 0xC805_33C6, 0xDF7E_2785, 0xE6F3_1B40, 0xF188_0F03,
0xDE92_0307, 0xC9E9_1744, 0xF064_2B81, 0xE71F_3FC2, 0x837E_520B, 0x9405_4648, 0xAD88_7A8D, 0xBAF3_6ECE,
0x654A_A11F, 0x7231_B55C, 0x4BBC_8999, 0x5CC7_9DDA, 0x38A6_F013, 0x2FDD_E450, 0x1650_D895, 0x012B_CCD6,
0x7252_4176, 0x6529_5535, 0x5CA4_69F0, 0x4BDF_7DB3, 0x2FBE_107A, 0x38C5_0439, 0x0148_38FC, 0x1633_2CBF,
0xC98A_E36E, 0xDEF1_F72D, 0xE77C_CBE8, 0xF007_DFAB, 0x9466_B262, 0x831D_A621, 0xBA90_9AE4, 0xADEB_8EA7,
0x5C63_81A4, 0x4B18_95E7, 0x7295_A922, 0x65EE_BD61, 0x018F_D0A8, 0x16F4_C4EB, 0x2F79_F82E, 0x3802_EC6D,
0xE7BB_23BC, 0xF0C0_37FF, 0xC94D_0B3A, 0xDE36_1F79, 0xBA57_72B0, 0xAD2C_66F3, 0x94A1_5A36, 0x83DA_4E75,
0xF0A3_C3D5, 0xE7D8_D796, 0xDE55_EB53, 0xC92E_FF10, 0xAD4F_92D9, 0xBA34_869A, 0x83B9_BA5F, 0x94C2_AE1C,
0x4B7B_61CD, 0x5C00_758E, 0x658D_494B, 0x72F6_5D08, 0x1697_30C1, 0x01EC_2482, 0x3861_1847, 0x2F1A_0C04,
0x6655_004F, 0x712E_140C, 0x48A3_28C9, 0x5FD8_3C8A, 0x3BB9_5143, 0x2CC2_4500, 0x154F_79C5, 0x0234_6D86,
0xDD8D_A257, 0xCAF6_B614, 0xF37B_8AD1, 0xE400_9E92, 0x8061_F35B, 0x971A_E718, 0xAE97_DBDD, 0xB9EC_CF9E,
0xCA95_423E, 0xDDEE_567D, 0xE463_6AB8, 0xF318_7EFB, 0x9779_1332, 0x8002_0771, 0xB98F_3BB4, 0xAEF4_2FF7,
0x714D_E026, 0x6636_F465, 0x5FBB_C8A0, 0x48C0_DCE3, 0x2CA1_B12A, 0x3BDA_A569, 0x0257_99AC, 0x152C_8DEF,
0xE4A4_82EC, 0xF3DF_96AF, 0xCA52_AA6A, 0xDD29_BE29, 0xB948_D3E0, 0xAE33_C7A3, 0x97BE_FB66, 0x80C5_EF25,
0x5F7C_20F4, 0x4807_34B7, 0x718A_0872, 0x66F1_1C31, 0x0290_71F8, 0x15EB_65BB, 0x2C66_597E, 0x3B1D_4D3D,
0x4864_C09D, 0x5F1F_D4DE, 0x6692_E81B, 0x71E9_FC58, 0x1588_9191, 0x02F3_85D2, 0x3B7E_B917, 0x2C05_AD54,
0xF3BC_6285, 0xE4C7_76C6, 0xDD4A_4A03, 0xCA31_5E40, 0xAE50_3389, 0xB92B_27CA, 0x80A6_1B0F, 0x97DD_0F4C,
0xB8C7_0348, 0xAFBC_170B, 0x9631_2BCE, 0x814A_3F8D, 0xE52B_5244, 0xF250_4607, 0xCBDD_7AC2, 0xDCA6_6E81,
0x031F_A150, 0x1464_B513, 0x2DE9_89D6, 0x3A92_9D95, 0x5EF3_F05C, 0x4988_E41F, 0x7005_D8DA, 0x677E_CC99,
0x1407_4139, 0x037C_557A, 0x3AF1_69BF, 0x2D8A_7DFC, 0x49EB_1035, 0x5E90_0476, 0x671D_38B3, 0x7066_2CF0,
0xAFDF_E321, 0xB8A4_F762, 0x8129_CBA7, 0x9652_DFE4, 0xF233_B22D, 0xE548_A66E, 0xDCC5_9AAB, 0xCBBE_8EE8,
0x3A36_81EB, 0x2D4D_95A8, 0x14C0_A96D, 0x03BB_BD2E, 0x67DA_D0E7, 0x70A1_C4A4, 0x492C_F861, 0x5E57_EC22,
0x81EE_23F3, 0x9695_37B0, 0xAF18_0B75, 0xB863_1F36, 0xDC02_72FF, 0xCB79_66BC, 0xF2F4_5A79, 0xE58F_4E3A,
0x96F6_C39A, 0x818D_D7D9, 0xB800_EB1C, 0xAF7B_FF5F, 0xCB1A_9296, 0xDC61_86D5, 0xE5EC_BA10, 0xF297_AE53,
0x2D2E_6182, 0x3A55_75C1, 0x03D8_4904, 0x14A3_5D47, 0x70C2_308E, 0x67B9_24CD, 0x5E34_1808, 0x494F_0C4B,
],[
0x0000_0000, 0xEFC2_6B3E, 0x04F5_D03D, 0xEB37_BB03, 0x09EB_A07A, 0xE629_CB44, 0x0D1E_7047, 0xE2DC_1B79,
0x13D7_40F4, 0xFC15_2BCA, 0x1722_90C9, 0xF8E0_FBF7, 0x1A3C_E08E, 0xF5FE_8BB0, 0x1EC9_30B3, 0xF10B_5B8D,
0x27AE_81E8, 0xC86C_EAD6, 0x235B_51D5, 0xCC99_3AEB, 0x2E45_2192, 0xC187_4AAC, 0x2AB0_F1AF, 0xC572_9A91,
0x3479_C11C, 0xDBBB_AA22, 0x308C_1121, 0xDF4E_7A1F, 0x3D92_6166, 0xD250_0A58, 0x3967_B15B, 0xD6A5_DA65,
0x4F5D_03D0, 0xA09F_68EE, 0x4BA8_D3ED, 0xA46A_B8D3, 0x46B6_A3AA, 0xA974_C894, 0x4243_7397, 0xAD81_18A9,
0x5C8A_4324, 0xB348_281A, 0x587F_9319, 0xB7BD_F827, 0x5561_E35E, 0xBAA3_8860, 0x5194_3363, 0xBE56_585D,
0x68F3_8238, 0x8731_E906, 0x6C06_5205, 0x83C4_393B, 0x6118_2242, 0x8EDA_497C, 0x65ED_F27F, 0x8A2F_9941,
0x7B24_C2CC, 0x94E6_A9F2, 0x7FD1_12F1, 0x9013_79CF, 0x72CF_62B6, 0x9D0D_0988, 0x763A_B28B, 0x99F8_D9B5,
0x9EBA_07A0, 0x7178_6C9E, 0x9A4F_D79D, 0x758D_BCA3, 0x9751_A7DA, 0x7893_CCE4, 0x93A4_77E7, 0x7C66_1CD9,
0x8D6D_4754, 0x62AF_2C6A, 0x8998_9769, 0x665A_FC57, 0x8486_E72E, 0x6B44_8C10, 0x8073_3713, 0x6FB1_5C2D,
0xB914_8648, 0x56D6_ED76, 0xBDE1_5675, 0x5223_3D4B, 0xB0FF_2632, 0x5F3D_4D0C, 0xB40A_F60F, 0x5BC8_9D31,
0xAAC3_C6BC, 0x4501_AD82, 0xAE36_1681, 0x41F4_7DBF, 0xA328_66C6, 0x4CEA_0DF8, 0xA7DD_B6FB, 0x481F_DDC5,
0xD1E7_0470, 0x3E25_6F4E, 0xD512_D44D, 0x3AD0_BF73, 0xD80C_A40A, 0x37CE_CF34, 0xDCF9_7437, 0x333B_1F09,
0xC230_4484, 0x2DF2_2FBA, 0xC6C5_94B9, 0x2907_FF87, 0xCBDB_E4FE, 0x2419_8FC0, 0xCF2E_34C3, 0x20EC_5FFD,
0xF649_8598, 0x198B_EEA6, 0xF2BC_55A5, 0x1D7E_3E9B, 0xFFA2_25E2, 0x1060_4EDC, 0xFB57_F5DF, 0x1495_9EE1,
0xE59E_C56C, 0x0A5C_AE52, 0xE16B_1551, 0x0EA9_7E6F, 0xEC75_6516, 0x03B7_0E28, 0xE880_B52B, 0x0742_DE15,
0xE605_0901, 0x09C7_623F, 0xE2F0_D93C, 0x0D32_B202, 0xEFEE_A97B, 0x002C_C245, 0xEB1B_7946, 0x04D9_1278,
0xF5D2_49F5, 0x1A10_22CB, 0xF127_99C8, 0x1EE5_F2F6, 0xFC39_E98F, 0x13FB_82B1, 0xF8CC_39B2, 0x170E_528C,
0xC1AB_88E9, 0x2E69_E3D7, 0xC55E_58D4, 0x2A9C_33EA, 0xC840_2893, 0x2782_43AD, 0xCCB5_F8AE, 0x2377_9390,
0xD27C_C81D, 0x3DBE_A323, 0xD689_1820, 0x394B_731E, 0xDB97_6867, 0x3455_0359, 0xDF62_B85A, 0x30A0_D364,
0xA958_0AD1, 0x469A_61EF, 0xADAD_DAEC, 0x426F_B1D2, 0xA0B3_AAAB, 0x4F71_C195, 0xA446_7A96, 0x4B84_11A8,
0xBA8F_4A25, 0x554D_211B, 0xBE7A_9A18, 0x51B8_F126, 0xB364_EA5F, 0x5CA6_8161, 0xB791_3A62, 0x5853_515C,
0x8EF6_8B39, 0x6134_E007, 0x8A03_5B04, 0x65C1_303A, 0x871D_2B43, 0x68DF_407D, 0x83E8_FB7E, 0x6C2A_9040,
0x9D21_CBCD, 0x72E3_A0F3, 0x99D4_1BF0, 0x7616_70CE, 0x94CA_6BB7, 0x7B08_0089, 0x903F_BB8A, 0x7FFD_D0B4,
0x78BF_0EA1, 0x977D_659F, 0x7C4A_DE9C, 0x9388_B5A2, 0x7154_AEDB, 0x9E96_C5E5, 0x75A1_7EE6, 0x9A63_15D8,
0x6B68_4E55, 0x84AA_256B, 0x6F9D_9E68, 0x805F_F556, 0x6283_EE2F, 0x8D41_8511, 0x6676_3E12, 0x89B4_552C,
0x5F11_8F49, 0xB0D3_E477, 0x5BE4_5F74, 0xB426_344A, 0x56FA_2F33, 0xB938_440D, 0x520F_FF0E, 0xBDCD_9430,
0x4CC6_CFBD, 0xA304_A483, 0x4833_1F80, 0xA7F1_74BE, 0x452D_6FC7, 0xAAEF_04F9, 0x41D8_BFFA, 0xAE1A_D4C4,
0x37E2_0D71, 0xD820_664F, 0x3317_DD4C, 0xDCD5_B672, 0x3E09_AD0B, 0xD1CB_C635, 0x3AFC_7D36, 0xD53E_1608,
0x2435_4D85, 0xCBF7_26BB, 0x20C0_9DB8, 0xCF02_F686, 0x2DDE_EDFF, 0xC21C_86C1, 0x292B_3DC2, 0xC6E9_56FC,
0x104C_8C99, 0xFF8E_E7A7, 0x14B9_5CA4, 0xFB7B_379A, 0x19A7_2CE3, 0xF665_47DD, 0x1D52_FCDE, 0xF290_97E0,
0x039B_CC6D, 0xEC59_A753, 0x076E_1C50, 0xE8AC_776E, 0x0A70_6C17, 0xE5B2_0729, 0x0E85_BC2A, 0xE147_D714,
],[
0x0000_0000, 0xC18E_DFC0, 0x586C_B9C1, 0x99E2_6601, 0xB0D9_7382, 0x7157_AC42, 0xE8B5_CA43, 0x293B_1583,
0xBAC3_E145, 0x7B4D_3E85, 0xE2AF_5884, 0x2321_8744, 0x0A1A_92C7, 0xCB94_4D07, 0x5276_2B06, 0x93F8_F4C6,
0xAEF6_C4CB, 0x6F78_1B0B, 0xF69A_7D0A, 0x3714_A2CA, 0x1E2F_B749, 0xDFA1_6889, 0x4643_0E88, 0x87CD_D148,
0x1435_258E, 0xD5BB_FA4E, 0x4C59_9C4F, 0x8DD7_438F, 0xA4EC_560C, 0x6562_89CC, 0xFC80_EFCD, 0x3D0E_300D,
0x869C_8FD7, 0x4712_5017, 0xDEF0_3616, 0x1F7E_E9D6, 0x3645_FC55, 0xF7CB_2395, 0x6E29_4594, 0xAFA7_9A54,
0x3C5F_6E92, 0xFDD1_B152, 0x6433_D753, 0xA5BD_0893, 0x8C86_1D10, 0x4D08_C2D0, 0xD4EA_A4D1, 0x1564_7B11,
0x286A_4B1C, 0xE9E4_94DC, 0x7006_F2DD, 0xB188_2D1D, 0x98B3_389E, 0x593D_E75E, 0xC0DF_815F, 0x0151_5E9F,
0x92A9_AA59, 0x5327_7599, 0xCAC5_1398, 0x0B4B_CC58, 0x2270_D9DB, 0xE3FE_061B, 0x7A1C_601A, 0xBB92_BFDA,
0xD648_19EF, 0x17C6_C62F, 0x8E24_A02E, 0x4FAA_7FEE, 0x6691_6A6D, 0xA71F_B5AD, 0x3EFD_D3AC, 0xFF73_0C6C,
0x6C8B_F8AA, 0xAD05_276A, 0x34E7_416B, 0xF569_9EAB, 0xDC52_8B28, 0x1DDC_54E8, 0x843E_32E9, 0x45B0_ED29,
0x78BE_DD24, 0xB930_02E4, 0x20D2_64E5, 0xE15C_BB25, 0xC867_AEA6, 0x09E9_7166, 0x900B_1767, 0x5185_C8A7,
0xC27D_3C61, 0x03F3_E3A1, 0x9A11_85A0, 0x5B9F_5A60, 0x72A4_4FE3, 0xB32A_9023, 0x2AC8_F622, 0xEB46_29E2,
0x50D4_9638, 0x915A_49F8, 0x08B8_2FF9, 0xC936_F039, 0xE00D_E5BA, 0x2183_3A7A, 0xB861_5C7B, 0x79EF_83BB,
0xEA17_777D, 0x2B99_A8BD, 0xB27B_CEBC, 0x73F5_117C, 0x5ACE_04FF, 0x9B40_DB3F, 0x02A2_BD3E, 0xC32C_62FE,
0xFE22_52F3, 0x3FAC_8D33, 0xA64E_EB32, 0x67C0_34F2, 0x4EFB_2171, 0x8F75_FEB1, 0x1697_98B0, 0xD719_4770,
0x44E1_B3B6, 0x856F_6C76, 0x1C8D_0A77, 0xDD03_D5B7, 0xF438_C034, 0x35B6_1FF4, 0xAC54_79F5, 0x6DDA_A635,
0x77E1_359F, 0xB66F_EA5F, 0x2F8D_8C5E, 0xEE03_539E, 0xC738_461D, 0x06B6_99DD, 0x9F54_FFDC, 0x5EDA_201C,
0xCD22_D4DA, 0x0CAC_0B1A, 0x954E_6D1B, 0x54C0_B2DB, 0x7DFB_A758, 0xBC75_7898, 0x2597_1E99, 0xE419_C159,
0xD917_F154, 0x1899_2E94, 0x817B_4895, 0x40F5_9755, 0x69CE_82D6, 0xA840_5D16, 0x31A2_3B17, 0xF02C_E4D7,
0x63D4_1011, 0xA25A_CFD1, 0x3BB8_A9D0, 0xFA36_7610, 0xD30D_6393, 0x1283_BC53, 0x8B61_DA52, 0x4AEF_0592,
0xF17D_BA48, 0x30F3_6588, 0xA911_0389, 0x689F_DC49, 0x41A4_C9CA, 0x802A_160A, 0x19C8_700B, 0xD846_AFCB,
0x4BBE_5B0D, 0x8A30_84CD, 0x13D2_E2CC, 0xD25C_3D0C, 0xFB67_288F, 0x3AE9_F74F, 0xA30B_914E, 0x6285_4E8E,
0x5F8B_7E83, 0x9E05_A143, 0x07E7_C742, 0xC669_1882, 0xEF52_0D01, 0x2EDC_D2C1, 0xB73E_B4C0, 0x76B0_6B00,
0xE548_9FC6, 0x24C6_4006, 0xBD24_2607, 0x7CAA_F9C7, 0x5591_EC44, 0x941F_3384, 0x0DFD_5585, 0xCC73_8A45,
0xA1A9_2C70, 0x6027_F3B0, 0xF9C5_95B1, 0x384B_4A71, 0x1170_5FF2, 0xD0FE_8032, 0x491C_E633, 0x8892_39F3,
0x1B6A_CD35, 0xDAE4_12F5, 0x4306_74F4, 0x8288_AB34, 0xABB3_BEB7, 0x6A3D_6177, 0xF3DF_0776, 0x3251_D8B6,
0x0F5F_E8BB, 0xCED1_377B, 0x5733_517A, 0x96BD_8EBA, 0xBF86_9B39, 0x7E08_44F9, 0xE7EA_22F8, 0x2664_FD38,
0xB59C_09FE, 0x7412_D63E, 0xEDF0_B03F, 0x2C7E_6FFF, 0x0545_7A7C, 0xC4CB_A5BC, 0x5D29_C3BD, 0x9CA7_1C7D,
0x2735_A3A7, 0xE6BB_7C67, 0x7F59_1A66, 0xBED7_C5A6, 0x97EC_D025, 0x5662_0FE5, 0xCF80_69E4, 0x0E0E_B624,
0x9DF6_42E2, 0x5C78_9D22, 0xC59A_FB23, 0x0414_24E3, 0x2D2F_3160, 0xECA1_EEA0, 0x7543_88A1, 0xB4CD_5761,
0x89C3_676C, 0x484D_B8AC, 0xD1AF_DEAD, 0x1021_016D, 0x391A_14EE, 0xF894_CB2E, 0x6176_AD2F, 0xA0F8_72EF,
0x3300_8629, 0xF28E_59E9, 0x6B6C_3FE8, 0xAAE2_E028, 0x83D9_F5AB, 0x4257_2A6B, 0xDBB5_4C6A, 0x1A3B_93AA,
],[
0x0000_0000, 0x9BA5_4C6F, 0xEC3B_9E9F, 0x779E_D2F0, 0x0306_3B7F, 0x98A3_7710, 0xEF3D_A5E0, 0x7498_E98F,
0x060C_76FE, 0x9DA9_3A91, 0xEA37_E861, 0x7192_A40E, 0x050A_4D81, 0x9EAF_01EE, 0xE931_D31E, 0x7294_9F71,
0x0C18_EDFC, 0x97BD_A193, 0xE023_7363, 0x7B86_3F0C, 0x0F1E_D683, 0x94BB_9AEC, 0xE325_481C, 0x7880_0473,
0x0A14_9B02, 0x91B1_D76D, 0xE62F_059D, 0x7D8A_49F2, 0x0912_A07D, 0x92B7_EC12, 0xE529_3EE2, 0x7E8C_728D,
0x1831_DBF8, 0x8394_9797, 0xF40A_4567, 0x6FAF_0908, 0x1B37_E087, 0x8092_ACE8, 0xF70C_7E18, 0x6CA9_3277,
0x1E3D_AD06, 0x8598_E169, 0xF206_3399, 0x69A3_7FF6, 0x1D3B_9679, 0x869E_DA16, 0xF100_08E6, 0x6AA5_4489,
0x1429_3604, 0x8F8C_7A6B, 0xF812_A89B, 0x63B7_E4F4, 0x172F_0D7B, 0x8C8A_4114, 0xFB14_93E4, 0x60B1_DF8B,
0x1225_40FA, 0x8980_0C95, 0xFE1E_DE65, 0x65BB_920A, 0x1123_7B85, 0x8A86_37EA, 0xFD18_E51A, 0x66BD_A975,
0x3063_B7F0, 0xABC6_FB9F, 0xDC58_296F, 0x47FD_6500, 0x3365_8C8F, 0xA8C0_C0E0, 0xDF5E_1210, 0x44FB_5E7F,
0x366F_C10E, 0xADCA_8D61, 0xDA54_5F91, 0x41F1_13FE, 0x3569_FA71, 0xAECC_B61E, 0xD952_64EE, 0x42F7_2881,
0x3C7B_5A0C, 0xA7DE_1663, 0xD040_C493, 0x4BE5_88FC, 0x3F7D_6173, 0xA4D8_2D1C, 0xD346_FFEC, 0x48E3_B383,
0x3A77_2CF2, 0xA1D2_609D, 0xD64C_B26D, 0x4DE9_FE02, 0x3971_178D, 0xA2D4_5BE2, 0xD54A_8912, 0x4EEF_C57D,
0x2852_6C08, 0xB3F7_2067, 0xC469_F297, 0x5FCC_BEF8, 0x2B54_5777, 0xB0F1_1B18, 0xC76F_C9E8, 0x5CCA_8587,
0x2E5E_1AF6, 0xB5FB_5699, 0xC265_8469, 0x59C0_C806, 0x2D58_2189, 0xB6FD_6DE6, 0xC163_BF16, 0x5AC6_F379,
0x244A_81F4, 0xBFEF_CD9B, 0xC871_1F6B, 0x53D4_5304, 0x274C_BA8B, 0xBCE9_F6E4, 0xCB77_2414, 0x50D2_687B,
0x2246_F70A, 0xB9E3_BB65, 0xCE7D_6995, 0x55D8_25FA, 0x2140_CC75, 0xBAE5_801A, 0xCD7B_52EA, 0x56DE_1E85,
0x60C7_6FE0, 0xFB62_238F, 0x8CFC_F17F, 0x1759_BD10, 0x63C1_549F, 0xF864_18F0, 0x8FFA_CA00, 0x145F_866F,
0x66CB_191E, 0xFD6E_5571, 0x8AF0_8781, 0x1155_CBEE, 0x65CD_2261, 0xFE68_6E0E, 0x89F6_BCFE, 0x1253_F091,
0x6CDF_821C, 0xF77A_CE73, 0x80E4_1C83, 0x1B41_50EC, 0x6FD9_B963, 0xF47C_F50C, 0x83E2_27FC, 0x1847_6B93,
0x6AD3_F4E2, 0xF176_B88D, 0x86E8_6A7D, 0x1D4D_2612, 0x69D5_CF9D, 0xF270_83F2, 0x85EE_5102, 0x1E4B_1D6D,
0x78F6_B418, 0xE353_F877, 0x94CD_2A87, 0x0F68_66E8, 0x7BF0_8F67, 0xE055_C308, 0x97CB_11F8, 0x0C6E_5D97,
0x7EFA_C2E6, 0xE55F_8E89, 0x92C1_5C79, 0x0964_1016, 0x7DFC_F999, 0xE659_B5F6, 0x91C7_6706, 0x0A62_2B69,
0x74EE_59E4, 0xEF4B_158B, 0x98D5_C77B, 0x0370_8B14, 0x77E8_629B, 0xEC4D_2EF4, 0x9BD3_FC04, 0x0076_B06B,
0x72E2_2F1A, 0xE947_6375, 0x9ED9_B185, 0x057C_FDEA, 0x71E4_1465, 0xEA41_580A, 0x9DDF_8AFA, 0x067A_C695,
0x50A4_D810, 0xCB01_947F, 0xBC9F_468F, 0x273A_0AE0, 0x53A2_E36F, 0xC807_AF00, 0xBF99_7DF0, 0x243C_319F,
0x56A8_AEEE, 0xCD0D_E281, 0xBA93_3071, 0x2136_7C1E, 0x55AE_9591, 0xCE0B_D9FE, 0xB995_0B0E, 0x2230_4761,
0x5CBC_35EC, 0xC719_7983, 0xB087_AB73, 0x2B22_E71C, 0x5FBA_0E93, 0xC41F_42FC, 0xB381_900C, 0x2824_DC63,
0x5AB0_4312, 0xC115_0F7D, 0xB68B_DD8D, 0x2D2E_91E2, 0x59B6_786D, 0xC213_3402, 0xB58D_E6F2, 0x2E28_AA9D,
0x4895_03E8, 0xD330_4F87, 0xA4AE_9D77, 0x3F0B_D118, 0x4B93_3897, 0xD036_74F8, 0xA7A8_A608, 0x3C0D_EA67,
0x4E99_7516, 0xD53C_3979, 0xA2A2_EB89, 0x3907_A7E6, 0x4D9F_4E69, 0xD63A_0206, 0xA1A4_D0F6, 0x3A01_9C99,
0x448D_EE14, 0xDF28_A27B, 0xA8B6_708B, 0x3313_3CE4, 0x478B_D56B, 0xDC2E_9904, 0xABB0_4BF4, 0x3015_079B,
0x4281_98EA, 0xD924_D485, 0xAEBA_0675, 0x351F_4A1A, 0x4187_A395, 0xDA22_EFFA, 0xADBC_3D0A, 0x3619_7165,
],[
0x0000_0000, 0xDD96_D985, 0x605C_B54B, 0xBDCA_6CCE, 0xC0B9_6A96, 0x1D2F_B313, 0xA0E5_DFDD, 0x7D73_0658,
0x5A03_D36D, 0x8795_0AE8, 0x3A5F_6626, 0xE7C9_BFA3, 0x9ABA_B9FB, 0x472C_607E, 0xFAE6_0CB0, 0x2770_D535,
0xB407_A6DA, 0x6991_7F5F, 0xD45B_1391, 0x09CD_CA14, 0x74BE_CC4C, 0xA928_15C9, 0x14E2_7907, 0xC974_A082,
0xEE04_75B7, 0x3392_AC32, 0x8E58_C0FC, 0x53CE_1979, 0x2EBD_1F21, 0xF32B_C6A4, 0x4EE1_AA6A, 0x9377_73EF,
0xB37E_4BF5, 0x6EE8_9270, 0xD322_FEBE, 0x0EB4_273B, 0x73C7_2163, 0xAE51_F8E6, 0x139B_9428, 0xCE0D_4DAD,
0xE97D_9898, 0x34EB_411D, 0x8921_2DD3, 0x54B7_F456, 0x29C4_F20E, 0xF452_2B8B, 0x4998_4745, 0x940E_9EC0,
0x0779_ED2F, 0xDAEF_34AA, 0x6725_5864, 0xBAB3_81E1, 0xC7C0_87B9, 0x1A56_5E3C, 0xA79C_32F2, 0x7A0A_EB77,
0x5D7A_3E42, 0x80EC_E7C7, 0x3D26_8B09, 0xE0B0_528C, 0x9DC3_54D4, 0x4055_8D51, 0xFD9F_E19F, 0x2009_381A,
0xBD8D_91AB, 0x601B_482E, 0xDDD1_24E0, 0x0047_FD65, 0x7D34_FB3D, 0xA0A2_22B8, 0x1D68_4E76, 0xC0FE_97F3,
0xE78E_42C6, 0x3A18_9B43, 0x87D2_F78D, 0x5A44_2E08, 0x2737_2850, 0xFAA1_F1D5, 0x476B_9D1B, 0x9AFD_449E,
0x098A_3771, 0xD41C_EEF4, 0x69D6_823A, 0xB440_5BBF, 0xC933_5DE7, 0x14A5_8462, 0xA96F_E8AC, 0x74F9_3129,
0x5389_E41C, 0x8E1F_3D99, 0x33D5_5157, 0xEE43_88D2, 0x9330_8E8A, 0x4EA6_570F, 0xF36C_3BC1, 0x2EFA_E244,
0x0EF3_DA5E, 0xD365_03DB, 0x6EAF_6F15, 0xB339_B690, 0xCE4A_B0C8, 0x13DC_694D, 0xAE16_0583, 0x7380_DC06,
0x54F0_0933, 0x8966_D0B6, 0x34AC_BC78, 0xE93A_65FD, 0x9449_63A5, 0x49DF_BA20, 0xF415_D6EE, 0x2983_0F6B,
0xBAF4_7C84, 0x6762_A501, 0xDAA8_C9CF, 0x073E_104A, 0x7A4D_1612, 0xA7DB_CF97, 0x1A11_A359, 0xC787_7ADC,
0xE0F7_AFE9, 0x3D61_766C, 0x80AB_1AA2, 0x5D3D_C327, 0x204E_C57F, 0xFDD8_1CFA, 0x4012_7034, 0x9D84_A9B1,
0xA06A_2517, 0x7DFC_FC92, 0xC036_905C, 0x1DA0_49D9, 0x60D3_4F81, 0xBD45_9604, 0x008F_FACA, 0xDD19_234F,
0xFA69_F67A, 0x27FF_2FFF, 0x9A35_4331, 0x47A3_9AB4, 0x3AD0_9CEC, 0xE746_4569, 0x5A8C_29A7, 0x871A_F022,
0x146D_83CD, 0xC9FB_5A48, 0x7431_3686, 0xA9A7_EF03, 0xD4D4_E95B, 0x0942_30DE, 0xB488_5C10, 0x691E_8595,
0x4E6E_50A0, 0x93F8_8925, 0x2E32_E5EB, 0xF3A4_3C6E, 0x8ED7_3A36, 0x5341_E3B3, 0xEE8B_8F7D, 0x331D_56F8,
0x1314_6EE2, 0xCE82_B767, 0x7348_DBA9, 0xAEDE_022C, 0xD3AD_0474, 0x0E3B_DDF1, 0xB3F1_B13F, 0x6E67_68BA,
0x4917_BD8F, 0x9481_640A, 0x294B_08C4, 0xF4DD_D141, 0x89AE_D719, 0x5438_0E9C, 0xE9F2_6252, 0x3464_BBD7,
0xA713_C838, 0x7A85_11BD, 0xC74F_7D73, 0x1AD9_A4F6, 0x67AA_A2AE, 0xBA3C_7B2B, 0x07F6_17E5, 0xDA60_CE60,
0xFD10_1B55, 0x2086_C2D0, 0x9D4C_AE1E, 0x40DA_779B, 0x3DA9_71C3, 0xE03F_A846, 0x5DF5_C488, 0x8063_1D0D,
0x1DE7_B4BC, 0xC071_6D39, 0x7DBB_01F7, 0xA02D_D872, 0xDD5E_DE2A, 0x00C8_07AF, 0xBD02_6B61, 0x6094_B2E4,
0x47E4_67D1, 0x9A72_BE54, 0x27B8_D29A, 0xFA2E_0B1F, 0x875D_0D47, 0x5ACB_D4C2, 0xE701_B80C, 0x3A97_6189,
0xA9E0_1266, 0x7476_CBE3, 0xC9BC_A72D, 0x142A_7EA8, 0x6959_78F0, 0xB4CF_A175, 0x0905_CDBB, 0xD493_143E,
0xF3E3_C10B, 0x2E75_188E, 0x93BF_7440, 0x4E29_ADC5, 0x335A_AB9D, 0xEECC_7218, 0x5306_1ED6, 0x8E90_C753,
0xAE99_FF49, 0x730F_26CC, 0xCEC5_4A02, 0x1353_9387, 0x6E20_95DF, 0xB3B6_4C5A, 0x0E7C_2094, 0xD3EA_F911,
0xF49A_2C24, 0x290C_F5A1, 0x94C6_996F, 0x4950_40EA, 0x3423_46B2, 0xE9B5_9F37, 0x547F_F3F9, 0x89E9_2A7C,
0x1A9E_5993, 0xC708_8016, 0x7AC2_ECD8, 0xA754_355D, 0xDA27_3305, 0x07B1_EA80, 0xBA7B_864E, 0x67ED_5FCB,
0x409D_8AFE, 0x9D0B_537B, 0x20C1_3FB5, 0xFD57_E630, 0x8024_E068, 0x5DB2_39ED, 0xE078_5523, 0x3DEE_8CA6,
],[
0x0000_0000, 0x9D0F_E176, 0xE16E_C4AD, 0x7C61_25DB, 0x19AC_8F1B, 0x84A3_6E6D, 0xF8C2_4BB6, 0x65CD_AAC0,
0x3359_1E36, 0xAE56_FF40, 0xD237_DA9B, 0x4F38_3BED, 0x2AF5_912D, 0xB7FA_705B, 0xCB9B_5580, 0x5694_B4F6,
0x66B2_3C6C, 0xFBBD_DD1A, 0x87DC_F8C1, 0x1AD3_19B7, 0x7F1E_B377, 0xE211_5201, 0x9E70_77DA, 0x037F_96AC,
0x55EB_225A, 0xC8E4_C32C, 0xB485_E6F7, 0x298A_0781, 0x4C47_AD41, 0xD148_4C37, 0xAD29_69EC, 0x3026_889A,
0xCD64_78D8, 0x506B_99AE, 0x2C0A_BC75, 0xB105_5D03, 0xD4C8_F7C3, 0x49C7_16B5, 0x35A6_336E, 0xA8A9_D218,
0xFE3D_66EE, 0x6332_8798, 0x1F53_A243, 0x825C_4335, 0xE791_E9F5, 0x7A9E_0883, 0x06FF_2D58, 0x9BF0_CC2E,
0xABD6_44B4, 0x36D9_A5C2, 0x4AB8_8019, 0xD7B7_616F, 0xB27A_CBAF, 0x2F75_2AD9, 0x5314_0F02, 0xCE1B_EE74,
0x988F_5A82, 0x0580_BBF4, 0x79E1_9E2F, 0xE4EE_7F59, 0x8123_D599, 0x1C2C_34EF, 0x604D_1134, 0xFD42_F042,
0x41B9_F7F1, 0xDCB6_1687, 0xA0D7_335C, 0x3DD8_D22A, 0x5815_78EA, 0xC51A_999C, 0xB97B_BC47, 0x2474_5D31,
0x72E0_E9C7, 0xEFEF_08B1, 0x938E_2D6A, 0x0E81_CC1C, 0x6B4C_66DC, 0xF643_87AA, 0x8A22_A271, 0x172D_4307,
0x270B_CB9D, 0xBA04_2AEB, 0xC665_0F30, 0x5B6A_EE46, 0x3EA7_4486, 0xA3A8_A5F0, 0xDFC9_802B, 0x42C6_615D,
0x1452_D5AB, 0x895D_34DD, 0xF53C_1106, 0x6833_F070, 0x0DFE_5AB0, 0x90F1_BBC6, 0xEC90_9E1D, 0x719F_7F6B,
0x8CDD_8F29, 0x11D2_6E5F, 0x6DB3_4B84, 0xF0BC_AAF2, 0x9571_0032, 0x087E_E144, 0x741F_C49F, 0xE910_25E9,
0xBF84_911F, 0x228B_7069, 0x5EEA_55B2, 0xC3E5_B4C4, 0xA628_1E04, 0x3B27_FF72, 0x4746_DAA9, 0xDA49_3BDF,
0xEA6F_B345, 0x7760_5233, 0x0B01_77E8, 0x960E_969E, 0xF3C3_3C5E, 0x6ECC_DD28, 0x12AD_F8F3, 0x8FA2_1985,
0xD936_AD73, 0x4439_4C05, 0x3858_69DE, 0xA557_88A8, 0xC09A_2268, 0x5D95_C31E, 0x21F4_E6C5, 0xBCFB_07B3,
0x8373_EFE2, 0x1E7C_0E94, 0x621D_2B4F, 0xFF12_CA39, 0x9ADF_60F9, 0x07D0_818F, 0x7BB1_A454, 0xE6BE_4522,
0xB02A_F1D4, 0x2D25_10A2, 0x5144_3579, 0xCC4B_D40F, 0xA986_7ECF, 0x3489_9FB9, 0x48E8_BA62, 0xD5E7_5B14,
0xE5C1_D38E, 0x78CE_32F8, 0x04AF_1723, 0x99A0_F655, 0xFC6D_5C95, 0x6162_BDE3, 0x1D03_9838, 0x800C_794E,
0xD698_CDB8, 0x4B97_2CCE, 0x37F6_0915, 0xAAF9_E863, 0xCF34_42A3, 0x523B_A3D5, 0x2E5A_860E, 0xB355_6778,
0x4E17_973A, 0xD318_764C, 0xAF79_5397, 0x3276_B2E1, 0x57BB_1821, 0xCAB4_F957, 0xB6D5_DC8C, 0x2BDA_3DFA,
0x7D4E_890C, 0xE041_687A, 0x9C20_4DA1, 0x012F_ACD7, 0x64E2_0617, 0xF9ED_E761, 0x858C_C2BA, 0x1883_23CC,
0x28A5_AB56, 0xB5AA_4A20, 0xC9CB_6FFB, 0x54C4_8E8D, 0x3109_244D, 0xAC06_C53B, 0xD067_E0E0, 0x4D68_0196,
0x1BFC_B560, 0x86F3_5416, 0xFA92_71CD, 0x679D_90BB, 0x0250_3A7B, 0x9F5F_DB0D, 0xE33E_FED6, 0x7E31_1FA0,
0xC2CA_1813, 0x5FC5_F965, 0x23A4_DCBE, 0xBEAB_3DC8, 0xDB66_9708, 0x4669_767E, 0x3A08_53A5, 0xA707_B2D3,
0xF193_0625, 0x6C9C_E753, 0x10FD_C288, 0x8DF2_23FE, 0xE83F_893E, 0x7530_6848, 0x0951_4D93, 0x945E_ACE5,
0xA478_247F, 0x3977_C509, 0x4516_E0D2, 0xD819_01A4, 0xBDD4_AB64, 0x20DB_4A12, 0x5CBA_6FC9, 0xC1B5_8EBF,
0x9721_3A49, 0x0A2E_DB3F, 0x764F_FEE4, 0xEB40_1F92, 0x8E8D_B552, 0x1382_5424, 0x6FE3_71FF, 0xF2EC_9089,
0x0FAE_60CB, 0x92A1_81BD, 0xEEC0_A466, 0x73CF_4510, 0x1602_EFD0, 0x8B0D_0EA6, 0xF76C_2B7D, 0x6A63_CA0B,
0x3CF7_7EFD, 0xA1F8_9F8B, 0xDD99_BA50, 0x4096_5B26, 0x255B_F1E6, 0xB854_1090, 0xC435_354B, 0x593A_D43D,
0x691C_5CA7, 0xF413_BDD1, 0x8872_980A, 0x157D_797C, 0x70B0_D3BC, 0xEDBF_32CA, 0x91DE_1711, 0x0CD1_F667,
0x5A45_4291, 0xC74A_A3E7, 0xBB2B_863C, 0x2624_674A, 0x43E9_CD8A, 0xDEE6_2CFC, 0xA287_0927, 0x3F88_E851,
],[
0x0000_0000, 0xB9FB_DBE8, 0xA886_B191, 0x117D_6A79, 0x8A7C_6563, 0x3387_BE8B, 0x22FA_D4F2, 0x9B01_0F1A,
0xCF89_CC87, 0x7672_176F, 0x670F_7D16, 0xDEF4_A6FE, 0x45F5_A9E4, 0xFC0E_720C, 0xED73_1875, 0x5488_C39D,
0x4462_9F4F, 0xFD99_44A7, 0xECE4_2EDE, 0x551F_F536, 0xCE1E_FA2C, 0x77E5_21C4, 0x6698_4BBD, 0xDF63_9055,
0x8BEB_53C8, 0x3210_8820, 0x236D_E259, 0x9A96_39B1, 0x0197_36AB, 0xB86C_ED43, 0xA911_873A, 0x10EA_5CD2,
0x88C5_3E9E, 0x313E_E576, 0x2043_8F0F, 0x99B8_54E7, 0x02B9_5BFD, 0xBB42_8015, 0xAA3F_EA6C, 0x13C4_3184,
0x474C_F219, 0xFEB7_29F1, 0xEFCA_4388, 0x5631_9860, 0xCD30_977A, 0x74CB_4C92, 0x65B6_26EB, 0xDC4D_FD03,
0xCCA7_A1D1, 0x755C_7A39, 0x6421_1040, 0xDDDA_CBA8, 0x46DB_C4B2, 0xFF20_1F5A, 0xEE5D_7523, 0x57A6_AECB,
0x032E_6D56, 0xBAD5_B6BE, 0xABA8_DCC7, 0x1253_072F, 0x8952_0835, 0x30A9_D3DD, 0x21D4_B9A4, 0x982F_624C,
0xCAFB_7B7D, 0x7300_A095, 0x627D_CAEC, 0xDB86_1104, 0x4087_1E1E, 0xF97C_C5F6, 0xE801_AF8F, 0x51FA_7467,
0x0572_B7FA, 0xBC89_6C12, 0xADF4_066B, 0x140F_DD83, 0x8F0E_D299, 0x36F5_0971, 0x2788_6308, 0x9E73_B8E0,
0x8E99_E432, 0x3762_3FDA, 0x261F_55A3, 0x9FE4_8E4B, 0x04E5_8151, 0xBD1E_5AB9, 0xAC63_30C0, 0x1598_EB28,
0x4110_28B5, 0xF8EB_F35D, 0xE996_9924, 0x506D_42CC, 0xCB6C_4DD6, 0x7297_963E, 0x63EA_FC47, 0xDA11_27AF,
0x423E_45E3, 0xFBC5_9E0B, 0xEAB8_F472, 0x5343_2F9A, 0xC842_2080, 0x71B9_FB68, 0x60C4_9111, 0xD93F_4AF9,
0x8DB7_8964, 0x344C_528C, 0x2531_38F5, 0x9CCA_E31D, 0x07CB_EC07, 0xBE30_37EF, 0xAF4D_5D96, 0x16B6_867E,
0x065C_DAAC, 0xBFA7_0144, 0xAEDA_6B3D, 0x1721_B0D5, 0x8C20_BFCF, 0x35DB_6427, 0x24A6_0E5E, 0x9D5D_D5B6,
0xC9D5_162B, 0x702E_CDC3, 0x6153_A7BA, 0xD8A8_7C52, 0x43A9_7348, 0xFA52_A8A0, 0xEB2F_C2D9, 0x52D4_1931,
0x4E87_F0BB, 0xF77C_2B53, 0xE601_412A, 0x5FFA_9AC2, 0xC4FB_95D8, 0x7D00_4E30, 0x6C7D_2449, 0xD586_FFA1,
0x810E_3C3C, 0x38F5_E7D4, 0x2988_8DAD, 0x9073_5645, 0x0B72_595F, 0xB289_82B7, 0xA3F4_E8CE, 0x1A0F_3326,
0x0AE5_6FF4, 0xB31E_B41C, 0xA263_DE65, 0x1B98_058D, 0x8099_0A97, 0x3962_D17F, 0x281F_BB06, 0x91E4_60EE,
0xC56C_A373, 0x7C97_789B, 0x6DEA_12E2, 0xD411_C90A, 0x4F10_C610, 0xF6EB_1DF8, 0xE796_7781, 0x5E6D_AC69,
0xC642_CE25, 0x7FB9_15CD, 0x6EC4_7FB4, 0xD73F_A45C, 0x4C3E_AB46, 0xF5C5_70AE, 0xE4B8_1AD7, 0x5D43_C13F,
0x09CB_02A2, 0xB030_D94A, 0xA14D_B333, 0x18B6_68DB, 0x83B7_67C1, 0x3A4C_BC29, 0x2B31_D650, 0x92CA_0DB8,
0x8220_516A, 0x3BDB_8A82, 0x2AA6_E0FB, 0x935D_3B13, 0x085C_3409, 0xB1A7_EFE1, 0xA0DA_8598, 0x1921_5E70,
0x4DA9_9DED, 0xF452_4605, 0xE52F_2C7C, 0x5CD4_F794, 0xC7D5_F88E, 0x7E2E_2366, 0x6F53_491F, 0xD6A8_92F7,
0x847C_8BC6, 0x3D87_502E, 0x2CFA_3A57, 0x9501_E1BF, 0x0E00_EEA5, 0xB7FB_354D, 0xA686_5F34, 0x1F7D_84DC,
0x4BF5_4741, 0xF20E_9CA9, 0xE373_F6D0, 0x5A88_2D38, 0xC189_2222, 0x7872_F9CA, 0x690F_93B3, 0xD0F4_485B,
0xC01E_1489, 0x79E5_CF61, 0x6898_A518, 0xD163_7EF0, 0x4A62_71EA, 0xF399_AA02, 0xE2E4_C07B, 0x5B1F_1B93,
0x0F97_D80E, 0xB66C_03E6, 0xA711_699F, 0x1EEA_B277, 0x85EB_BD6D, 0x3C10_6685, 0x2D6D_0CFC, 0x9496_D714,
0x0CB9_B558, 0xB542_6EB0, 0xA43F_04C9, 0x1DC4_DF21, 0x86C5_D03B, 0x3F3E_0BD3, 0x2E43_61AA, 0x97B8_BA42,
0xC330_79DF, 0x7ACB_A237, 0x6BB6_C84E, 0xD24D_13A6, 0x494C_1CBC, 0xF0B7_C754, 0xE1CA_AD2D, 0x5831_76C5,
0x48DB_2A17, 0xF120_F1FF, 0xE05D_9B86, 0x59A6_406E, 0xC2A7_4F74, 0x7B5C_949C, 0x6A21_FEE5, 0xD3DA_250D,
0x8752_E690, 0x3EA9_3D78, 0x2FD4_5701, 0x962F_8CE9, 0x0D2E_83F3, 0xB4D5_581B, 0xA5A8_3262, 0x1C53_E98A,
],[
0x0000_0000, 0xAE68_9191, 0x87A0_2563, 0x29C8_B4F2, 0xD431_4C87, 0x7A59_DD16, 0x5391_69E4, 0xFDF9_F875,
0x7313_9F4F, 0xDD7B_0EDE, 0xF4B3_BA2C, 0x5ADB_2BBD, 0xA722_D3C8, 0x094A_4259, 0x2082_F6AB, 0x8EEA_673A,
0xE627_3E9E, 0x484F_AF0F, 0x6187_1BFD, 0xCFEF_8A6C, 0x3216_7219, 0x9C7E_E388, 0xB5B6_577A, 0x1BDE_C6EB,
0x9534_A1D1, 0x3B5C_3040, 0x1294_84B2, 0xBCFC_1523, 0x4105_ED56, 0xEF6D_7CC7, 0xC6A5_C835, 0x68CD_59A4,
0x173F_7B7D, 0xB957_EAEC, 0x909F_5E1E, 0x3EF7_CF8F, 0xC30E_37FA, 0x6D66_A66B, 0x44AE_1299, 0xEAC6_8308,
0x642C_E432, 0xCA44_75A3, 0xE38C_C151, 0x4DE4_50C0, 0xB01D_A8B5, 0x1E75_3924, 0x37BD_8DD6, 0x99D5_1C47,
0xF118_45E3, 0x5F70_D472, 0x76B8_6080, 0xD8D0_F111, 0x2529_0964, 0x8B41_98F5, 0xA289_2C07, 0x0CE1_BD96,
0x820B_DAAC, 0x2C63_4B3D, 0x05AB_FFCF, 0xABC3_6E5E, 0x563A_962B, 0xF852_07BA, 0xD19A_B348, 0x7FF2_22D9,
0x2E7E_F6FA, 0x8016_676B, 0xA9DE_D399, 0x07B6_4208, 0xFA4F_BA7D, 0x5427_2BEC, 0x7DEF_9F1E, 0xD387_0E8F,
0x5D6D_69B5, 0xF305_F824, 0xDACD_4CD6, 0x74A5_DD47, 0x895C_2532, 0x2734_B4A3, 0x0EFC_0051, 0xA094_91C0,
0xC859_C864, 0x6631_59F5, 0x4FF9_ED07, 0xE191_7C96, 0x1C68_84E3, 0xB200_1572, 0x9BC8_A180, 0x35A0_3011,
0xBB4A_572B, 0x1522_C6BA, 0x3CEA_7248, 0x9282_E3D9, 0x6F7B_1BAC, 0xC113_8A3D, 0xE8DB_3ECF, 0x46B3_AF5E,
0x3941_8D87, 0x9729_1C16, 0xBEE1_A8E4, 0x1089_3975, 0xED70_C100, 0x4318_5091, 0x6AD0_E463, 0xC4B8_75F2,
0x4A52_12C8, 0xE43A_8359, 0xCDF2_37AB, 0x639A_A63A, 0x9E63_5E4F, 0x300B_CFDE, 0x19C3_7B2C, 0xB7AB_EABD,
0xDF66_B319, 0x710E_2288, 0x58C6_967A, 0xF6AE_07EB, 0x0B57_FF9E, 0xA53F_6E0F, 0x8CF7_DAFD, 0x229F_4B6C,
0xAC75_2C56, 0x021D_BDC7, 0x2BD5_0935, 0x85BD_98A4, 0x7844_60D1, 0xD62C_F140, 0xFFE4_45B2, 0x518C_D423,
0x5CFD_EDF4, 0xF295_7C65, 0xDB5D_C897, 0x7535_5906, 0x88CC_A173, 0x26A4_30E2, 0x0F6C_8410, 0xA104_1581,
0x2FEE_72BB, 0x8186_E32A, 0xA84E_57D8, 0x0626_C649, 0xFBDF_3E3C, 0x55B7_AFAD, 0x7C7F_1B5F, 0xD217_8ACE,
0xBADA_D36A, 0x14B2_42FB, 0x3D7A_F609, 0x9312_6798, 0x6EEB_9FED, 0xC083_0E7C, 0xE94B_BA8E, 0x4723_2B1F,
0xC9C9_4C25, 0x67A1_DDB4, 0x4E69_6946, 0xE001_F8D7, 0x1DF8_00A2, 0xB390_9133, 0x9A58_25C1, 0x3430_B450,
0x4BC2_9689, 0xE5AA_0718, 0xCC62_B3EA, 0x620A_227B, 0x9FF3_DA0E, 0x319B_4B9F, 0x1853_FF6D, 0xB63B_6EFC,
0x38D1_09C6, 0x96B9_9857, 0xBF71_2CA5, 0x1119_BD34, 0xECE0_4541, 0x4288_D4D0, 0x6B40_6022, 0xC528_F1B3,
0xADE5_A817, 0x038D_3986, 0x2A45_8D74, 0x842D_1CE5, 0x79D4_E490, 0xD7BC_7501, 0xFE74_C1F3, 0x501C_5062,
0xDEF6_3758, 0x709E_A6C9, 0x5956_123B, 0xF73E_83AA, 0x0AC7_7BDF, 0xA4AF_EA4E, 0x8D67_5EBC, 0x230F_CF2D,
0x7283_1B0E, 0xDCEB_8A9F, 0xF523_3E6D, 0x5B4B_AFFC, 0xA6B2_5789, 0x08DA_C618, 0x2112_72EA, 0x8F7A_E37B,
0x0190_8441, 0xAFF8_15D0, 0x8630_A122, 0x2858_30B3, 0xD5A1_C8C6, 0x7BC9_5957, 0x5201_EDA5, 0xFC69_7C34,
0x94A4_2590, 0x3ACC_B401, 0x1304_00F3, 0xBD6C_9162, 0x4095_6917, 0xEEFD_F886, 0xC735_4C74, 0x695D_DDE5,
0xE7B7_BADF, 0x49DF_2B4E, 0x6017_9FBC, 0xCE7F_0E2D, 0x3386_F658, 0x9DEE_67C9, 0xB426_D33B, 0x1A4E_42AA,
0x65BC_6073, 0xCBD4_F1E2, 0xE21C_4510, 0x4C74_D481, 0xB18D_2CF4, 0x1FE5_BD65, 0x362D_0997, 0x9845_9806,
0x16AF_FF3C, 0xB8C7_6EAD, 0x910F_DA5F, 0x3F67_4BCE, 0xC29E_B3BB, 0x6CF6_222A, 0x453E_96D8, 0xEB56_0749,
0x839B_5EED, 0x2DF3_CF7C, 0x043B_7B8E, 0xAA53_EA1F, 0x57AA_126A, 0xF9C2_83FB, 0xD00A_3709, 0x7E62_A698,
0xF088_C1A2, 0x5EE0_5033, 0x7728_E4C1, 0xD940_7550, 0x24B9_8D25, 0x8AD1_1CB4, 0xA319_A846, 0x0D71_39D7,
]]