001 /** 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, software 013 * distributed under the License is distributed on an "AS IS" BASIS, 014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 015 * See the License for the specific language governing permissions and 016 * limitations under the License. 017 */ 018 package org.apache.hadoop.util; 019 020 import java.util.zip.Checksum; 021 022 import org.apache.hadoop.classification.InterfaceAudience; 023 import org.apache.hadoop.classification.InterfaceStability; 024 025 /** 026 * A pure-java implementation of the CRC32 checksum that uses 027 * the same polynomial as the built-in native CRC32. 028 * 029 * This is to avoid the JNI overhead for certain uses of Checksumming 030 * where many small pieces of data are checksummed in succession. 031 * 032 * The current version is ~10x to 1.8x as fast as Sun's native 033 * java.util.zip.CRC32 in Java 1.6 034 * 035 * @see java.util.zip.CRC32 036 */ 037 @InterfaceAudience.Public 038 @InterfaceStability.Stable 039 public class PureJavaCrc32 implements Checksum { 040 041 /** the current CRC value, bit-flipped */ 042 private int crc; 043 044 /** Create a new PureJavaCrc32 object. */ 045 public PureJavaCrc32() { 046 reset(); 047 } 048 049 /** {@inheritDoc} */ 050 public long getValue() { 051 return (~crc) & 0xffffffffL; 052 } 053 054 /** {@inheritDoc} */ 055 public void reset() { 056 crc = 0xffffffff; 057 } 058 059 /** {@inheritDoc} */ 060 public void update(byte[] b, int off, int len) { 061 int localCrc = crc; 062 while(len > 7) { 063 int c0 = b[off++] ^ localCrc; 064 int c1 = b[off++] ^ (localCrc >>>= 8); 065 int c2 = b[off++] ^ (localCrc >>>= 8); 066 int c3 = b[off++] ^ (localCrc >>>= 8); 067 localCrc = (T8_7[c0 & 0xff] ^ T8_6[c1 & 0xff]) 068 ^ (T8_5[c2 & 0xff] ^ T8_4[c3 & 0xff]); 069 070 localCrc ^= (T8_3[b[off++] & 0xff] ^ T8_2[b[off++] & 0xff]) 071 ^ (T8_1[b[off++] & 0xff] ^ T8_0[b[off++] & 0xff]); 072 073 len -= 8; 074 } 075 while(len > 0) { 076 localCrc = (localCrc >>> 8) ^ T8_0[(localCrc ^ b[off++]) & 0xff]; 077 len--; 078 } 079 080 // Publish crc out to object 081 crc = localCrc; 082 } 083 084 /** {@inheritDoc} */ 085 final public void update(int b) { 086 crc = (crc >>> 8) ^ T8_0[(crc ^ b) & 0xff]; 087 } 088 089 /* 090 * CRC-32 lookup tables generated by the polynomial 0xEDB88320. 091 * See also TestPureJavaCrc32.Table. 092 */ 093 private static final int[] T8_0 = new int[] { 094 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 095 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, 096 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 097 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, 098 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 099 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 100 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 101 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 102 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, 103 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 104 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 105 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 106 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, 107 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, 108 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 109 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 110 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, 111 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, 112 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, 113 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, 114 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 115 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 116 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, 117 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, 118 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, 119 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 120 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 121 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, 122 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, 123 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, 124 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 125 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 126 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, 127 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, 128 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, 129 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 130 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 131 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, 132 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, 133 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, 134 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 135 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 136 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, 137 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, 138 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, 139 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 140 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 141 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, 142 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, 143 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, 144 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 145 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 146 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, 147 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, 148 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, 149 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 150 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 151 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, 152 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, 153 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, 154 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 155 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, 156 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, 157 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D 158 }; 159 private static final int[] T8_1 = new int[] { 160 0x00000000, 0x191B3141, 0x32366282, 0x2B2D53C3, 161 0x646CC504, 0x7D77F445, 0x565AA786, 0x4F4196C7, 162 0xC8D98A08, 0xD1C2BB49, 0xFAEFE88A, 0xE3F4D9CB, 163 0xACB54F0C, 0xB5AE7E4D, 0x9E832D8E, 0x87981CCF, 164 0x4AC21251, 0x53D92310, 0x78F470D3, 0x61EF4192, 165 0x2EAED755, 0x37B5E614, 0x1C98B5D7, 0x05838496, 166 0x821B9859, 0x9B00A918, 0xB02DFADB, 0xA936CB9A, 167 0xE6775D5D, 0xFF6C6C1C, 0xD4413FDF, 0xCD5A0E9E, 168 0x958424A2, 0x8C9F15E3, 0xA7B24620, 0xBEA97761, 169 0xF1E8E1A6, 0xE8F3D0E7, 0xC3DE8324, 0xDAC5B265, 170 0x5D5DAEAA, 0x44469FEB, 0x6F6BCC28, 0x7670FD69, 171 0x39316BAE, 0x202A5AEF, 0x0B07092C, 0x121C386D, 172 0xDF4636F3, 0xC65D07B2, 0xED705471, 0xF46B6530, 173 0xBB2AF3F7, 0xA231C2B6, 0x891C9175, 0x9007A034, 174 0x179FBCFB, 0x0E848DBA, 0x25A9DE79, 0x3CB2EF38, 175 0x73F379FF, 0x6AE848BE, 0x41C51B7D, 0x58DE2A3C, 176 0xF0794F05, 0xE9627E44, 0xC24F2D87, 0xDB541CC6, 177 0x94158A01, 0x8D0EBB40, 0xA623E883, 0xBF38D9C2, 178 0x38A0C50D, 0x21BBF44C, 0x0A96A78F, 0x138D96CE, 179 0x5CCC0009, 0x45D73148, 0x6EFA628B, 0x77E153CA, 180 0xBABB5D54, 0xA3A06C15, 0x888D3FD6, 0x91960E97, 181 0xDED79850, 0xC7CCA911, 0xECE1FAD2, 0xF5FACB93, 182 0x7262D75C, 0x6B79E61D, 0x4054B5DE, 0x594F849F, 183 0x160E1258, 0x0F152319, 0x243870DA, 0x3D23419B, 184 0x65FD6BA7, 0x7CE65AE6, 0x57CB0925, 0x4ED03864, 185 0x0191AEA3, 0x188A9FE2, 0x33A7CC21, 0x2ABCFD60, 186 0xAD24E1AF, 0xB43FD0EE, 0x9F12832D, 0x8609B26C, 187 0xC94824AB, 0xD05315EA, 0xFB7E4629, 0xE2657768, 188 0x2F3F79F6, 0x362448B7, 0x1D091B74, 0x04122A35, 189 0x4B53BCF2, 0x52488DB3, 0x7965DE70, 0x607EEF31, 190 0xE7E6F3FE, 0xFEFDC2BF, 0xD5D0917C, 0xCCCBA03D, 191 0x838A36FA, 0x9A9107BB, 0xB1BC5478, 0xA8A76539, 192 0x3B83984B, 0x2298A90A, 0x09B5FAC9, 0x10AECB88, 193 0x5FEF5D4F, 0x46F46C0E, 0x6DD93FCD, 0x74C20E8C, 194 0xF35A1243, 0xEA412302, 0xC16C70C1, 0xD8774180, 195 0x9736D747, 0x8E2DE606, 0xA500B5C5, 0xBC1B8484, 196 0x71418A1A, 0x685ABB5B, 0x4377E898, 0x5A6CD9D9, 197 0x152D4F1E, 0x0C367E5F, 0x271B2D9C, 0x3E001CDD, 198 0xB9980012, 0xA0833153, 0x8BAE6290, 0x92B553D1, 199 0xDDF4C516, 0xC4EFF457, 0xEFC2A794, 0xF6D996D5, 200 0xAE07BCE9, 0xB71C8DA8, 0x9C31DE6B, 0x852AEF2A, 201 0xCA6B79ED, 0xD37048AC, 0xF85D1B6F, 0xE1462A2E, 202 0x66DE36E1, 0x7FC507A0, 0x54E85463, 0x4DF36522, 203 0x02B2F3E5, 0x1BA9C2A4, 0x30849167, 0x299FA026, 204 0xE4C5AEB8, 0xFDDE9FF9, 0xD6F3CC3A, 0xCFE8FD7B, 205 0x80A96BBC, 0x99B25AFD, 0xB29F093E, 0xAB84387F, 206 0x2C1C24B0, 0x350715F1, 0x1E2A4632, 0x07317773, 207 0x4870E1B4, 0x516BD0F5, 0x7A468336, 0x635DB277, 208 0xCBFAD74E, 0xD2E1E60F, 0xF9CCB5CC, 0xE0D7848D, 209 0xAF96124A, 0xB68D230B, 0x9DA070C8, 0x84BB4189, 210 0x03235D46, 0x1A386C07, 0x31153FC4, 0x280E0E85, 211 0x674F9842, 0x7E54A903, 0x5579FAC0, 0x4C62CB81, 212 0x8138C51F, 0x9823F45E, 0xB30EA79D, 0xAA1596DC, 213 0xE554001B, 0xFC4F315A, 0xD7626299, 0xCE7953D8, 214 0x49E14F17, 0x50FA7E56, 0x7BD72D95, 0x62CC1CD4, 215 0x2D8D8A13, 0x3496BB52, 0x1FBBE891, 0x06A0D9D0, 216 0x5E7EF3EC, 0x4765C2AD, 0x6C48916E, 0x7553A02F, 217 0x3A1236E8, 0x230907A9, 0x0824546A, 0x113F652B, 218 0x96A779E4, 0x8FBC48A5, 0xA4911B66, 0xBD8A2A27, 219 0xF2CBBCE0, 0xEBD08DA1, 0xC0FDDE62, 0xD9E6EF23, 220 0x14BCE1BD, 0x0DA7D0FC, 0x268A833F, 0x3F91B27E, 221 0x70D024B9, 0x69CB15F8, 0x42E6463B, 0x5BFD777A, 222 0xDC656BB5, 0xC57E5AF4, 0xEE530937, 0xF7483876, 223 0xB809AEB1, 0xA1129FF0, 0x8A3FCC33, 0x9324FD72 224 }; 225 private static final int[] T8_2 = new int[] { 226 0x00000000, 0x01C26A37, 0x0384D46E, 0x0246BE59, 227 0x0709A8DC, 0x06CBC2EB, 0x048D7CB2, 0x054F1685, 228 0x0E1351B8, 0x0FD13B8F, 0x0D9785D6, 0x0C55EFE1, 229 0x091AF964, 0x08D89353, 0x0A9E2D0A, 0x0B5C473D, 230 0x1C26A370, 0x1DE4C947, 0x1FA2771E, 0x1E601D29, 231 0x1B2F0BAC, 0x1AED619B, 0x18ABDFC2, 0x1969B5F5, 232 0x1235F2C8, 0x13F798FF, 0x11B126A6, 0x10734C91, 233 0x153C5A14, 0x14FE3023, 0x16B88E7A, 0x177AE44D, 234 0x384D46E0, 0x398F2CD7, 0x3BC9928E, 0x3A0BF8B9, 235 0x3F44EE3C, 0x3E86840B, 0x3CC03A52, 0x3D025065, 236 0x365E1758, 0x379C7D6F, 0x35DAC336, 0x3418A901, 237 0x3157BF84, 0x3095D5B3, 0x32D36BEA, 0x331101DD, 238 0x246BE590, 0x25A98FA7, 0x27EF31FE, 0x262D5BC9, 239 0x23624D4C, 0x22A0277B, 0x20E69922, 0x2124F315, 240 0x2A78B428, 0x2BBADE1F, 0x29FC6046, 0x283E0A71, 241 0x2D711CF4, 0x2CB376C3, 0x2EF5C89A, 0x2F37A2AD, 242 0x709A8DC0, 0x7158E7F7, 0x731E59AE, 0x72DC3399, 243 0x7793251C, 0x76514F2B, 0x7417F172, 0x75D59B45, 244 0x7E89DC78, 0x7F4BB64F, 0x7D0D0816, 0x7CCF6221, 245 0x798074A4, 0x78421E93, 0x7A04A0CA, 0x7BC6CAFD, 246 0x6CBC2EB0, 0x6D7E4487, 0x6F38FADE, 0x6EFA90E9, 247 0x6BB5866C, 0x6A77EC5B, 0x68315202, 0x69F33835, 248 0x62AF7F08, 0x636D153F, 0x612BAB66, 0x60E9C151, 249 0x65A6D7D4, 0x6464BDE3, 0x662203BA, 0x67E0698D, 250 0x48D7CB20, 0x4915A117, 0x4B531F4E, 0x4A917579, 251 0x4FDE63FC, 0x4E1C09CB, 0x4C5AB792, 0x4D98DDA5, 252 0x46C49A98, 0x4706F0AF, 0x45404EF6, 0x448224C1, 253 0x41CD3244, 0x400F5873, 0x4249E62A, 0x438B8C1D, 254 0x54F16850, 0x55330267, 0x5775BC3E, 0x56B7D609, 255 0x53F8C08C, 0x523AAABB, 0x507C14E2, 0x51BE7ED5, 256 0x5AE239E8, 0x5B2053DF, 0x5966ED86, 0x58A487B1, 257 0x5DEB9134, 0x5C29FB03, 0x5E6F455A, 0x5FAD2F6D, 258 0xE1351B80, 0xE0F771B7, 0xE2B1CFEE, 0xE373A5D9, 259 0xE63CB35C, 0xE7FED96B, 0xE5B86732, 0xE47A0D05, 260 0xEF264A38, 0xEEE4200F, 0xECA29E56, 0xED60F461, 261 0xE82FE2E4, 0xE9ED88D3, 0xEBAB368A, 0xEA695CBD, 262 0xFD13B8F0, 0xFCD1D2C7, 0xFE976C9E, 0xFF5506A9, 263 0xFA1A102C, 0xFBD87A1B, 0xF99EC442, 0xF85CAE75, 264 0xF300E948, 0xF2C2837F, 0xF0843D26, 0xF1465711, 265 0xF4094194, 0xF5CB2BA3, 0xF78D95FA, 0xF64FFFCD, 266 0xD9785D60, 0xD8BA3757, 0xDAFC890E, 0xDB3EE339, 267 0xDE71F5BC, 0xDFB39F8B, 0xDDF521D2, 0xDC374BE5, 268 0xD76B0CD8, 0xD6A966EF, 0xD4EFD8B6, 0xD52DB281, 269 0xD062A404, 0xD1A0CE33, 0xD3E6706A, 0xD2241A5D, 270 0xC55EFE10, 0xC49C9427, 0xC6DA2A7E, 0xC7184049, 271 0xC25756CC, 0xC3953CFB, 0xC1D382A2, 0xC011E895, 272 0xCB4DAFA8, 0xCA8FC59F, 0xC8C97BC6, 0xC90B11F1, 273 0xCC440774, 0xCD866D43, 0xCFC0D31A, 0xCE02B92D, 274 0x91AF9640, 0x906DFC77, 0x922B422E, 0x93E92819, 275 0x96A63E9C, 0x976454AB, 0x9522EAF2, 0x94E080C5, 276 0x9FBCC7F8, 0x9E7EADCF, 0x9C381396, 0x9DFA79A1, 277 0x98B56F24, 0x99770513, 0x9B31BB4A, 0x9AF3D17D, 278 0x8D893530, 0x8C4B5F07, 0x8E0DE15E, 0x8FCF8B69, 279 0x8A809DEC, 0x8B42F7DB, 0x89044982, 0x88C623B5, 280 0x839A6488, 0x82580EBF, 0x801EB0E6, 0x81DCDAD1, 281 0x8493CC54, 0x8551A663, 0x8717183A, 0x86D5720D, 282 0xA9E2D0A0, 0xA820BA97, 0xAA6604CE, 0xABA46EF9, 283 0xAEEB787C, 0xAF29124B, 0xAD6FAC12, 0xACADC625, 284 0xA7F18118, 0xA633EB2F, 0xA4755576, 0xA5B73F41, 285 0xA0F829C4, 0xA13A43F3, 0xA37CFDAA, 0xA2BE979D, 286 0xB5C473D0, 0xB40619E7, 0xB640A7BE, 0xB782CD89, 287 0xB2CDDB0C, 0xB30FB13B, 0xB1490F62, 0xB08B6555, 288 0xBBD72268, 0xBA15485F, 0xB853F606, 0xB9919C31, 289 0xBCDE8AB4, 0xBD1CE083, 0xBF5A5EDA, 0xBE9834ED 290 }; 291 private static final int[] T8_3 = new int[] { 292 0x00000000, 0xB8BC6765, 0xAA09C88B, 0x12B5AFEE, 293 0x8F629757, 0x37DEF032, 0x256B5FDC, 0x9DD738B9, 294 0xC5B428EF, 0x7D084F8A, 0x6FBDE064, 0xD7018701, 295 0x4AD6BFB8, 0xF26AD8DD, 0xE0DF7733, 0x58631056, 296 0x5019579F, 0xE8A530FA, 0xFA109F14, 0x42ACF871, 297 0xDF7BC0C8, 0x67C7A7AD, 0x75720843, 0xCDCE6F26, 298 0x95AD7F70, 0x2D111815, 0x3FA4B7FB, 0x8718D09E, 299 0x1ACFE827, 0xA2738F42, 0xB0C620AC, 0x087A47C9, 300 0xA032AF3E, 0x188EC85B, 0x0A3B67B5, 0xB28700D0, 301 0x2F503869, 0x97EC5F0C, 0x8559F0E2, 0x3DE59787, 302 0x658687D1, 0xDD3AE0B4, 0xCF8F4F5A, 0x7733283F, 303 0xEAE41086, 0x525877E3, 0x40EDD80D, 0xF851BF68, 304 0xF02BF8A1, 0x48979FC4, 0x5A22302A, 0xE29E574F, 305 0x7F496FF6, 0xC7F50893, 0xD540A77D, 0x6DFCC018, 306 0x359FD04E, 0x8D23B72B, 0x9F9618C5, 0x272A7FA0, 307 0xBAFD4719, 0x0241207C, 0x10F48F92, 0xA848E8F7, 308 0x9B14583D, 0x23A83F58, 0x311D90B6, 0x89A1F7D3, 309 0x1476CF6A, 0xACCAA80F, 0xBE7F07E1, 0x06C36084, 310 0x5EA070D2, 0xE61C17B7, 0xF4A9B859, 0x4C15DF3C, 311 0xD1C2E785, 0x697E80E0, 0x7BCB2F0E, 0xC377486B, 312 0xCB0D0FA2, 0x73B168C7, 0x6104C729, 0xD9B8A04C, 313 0x446F98F5, 0xFCD3FF90, 0xEE66507E, 0x56DA371B, 314 0x0EB9274D, 0xB6054028, 0xA4B0EFC6, 0x1C0C88A3, 315 0x81DBB01A, 0x3967D77F, 0x2BD27891, 0x936E1FF4, 316 0x3B26F703, 0x839A9066, 0x912F3F88, 0x299358ED, 317 0xB4446054, 0x0CF80731, 0x1E4DA8DF, 0xA6F1CFBA, 318 0xFE92DFEC, 0x462EB889, 0x549B1767, 0xEC277002, 319 0x71F048BB, 0xC94C2FDE, 0xDBF98030, 0x6345E755, 320 0x6B3FA09C, 0xD383C7F9, 0xC1366817, 0x798A0F72, 321 0xE45D37CB, 0x5CE150AE, 0x4E54FF40, 0xF6E89825, 322 0xAE8B8873, 0x1637EF16, 0x048240F8, 0xBC3E279D, 323 0x21E91F24, 0x99557841, 0x8BE0D7AF, 0x335CB0CA, 324 0xED59B63B, 0x55E5D15E, 0x47507EB0, 0xFFEC19D5, 325 0x623B216C, 0xDA874609, 0xC832E9E7, 0x708E8E82, 326 0x28ED9ED4, 0x9051F9B1, 0x82E4565F, 0x3A58313A, 327 0xA78F0983, 0x1F336EE6, 0x0D86C108, 0xB53AA66D, 328 0xBD40E1A4, 0x05FC86C1, 0x1749292F, 0xAFF54E4A, 329 0x322276F3, 0x8A9E1196, 0x982BBE78, 0x2097D91D, 330 0x78F4C94B, 0xC048AE2E, 0xD2FD01C0, 0x6A4166A5, 331 0xF7965E1C, 0x4F2A3979, 0x5D9F9697, 0xE523F1F2, 332 0x4D6B1905, 0xF5D77E60, 0xE762D18E, 0x5FDEB6EB, 333 0xC2098E52, 0x7AB5E937, 0x680046D9, 0xD0BC21BC, 334 0x88DF31EA, 0x3063568F, 0x22D6F961, 0x9A6A9E04, 335 0x07BDA6BD, 0xBF01C1D8, 0xADB46E36, 0x15080953, 336 0x1D724E9A, 0xA5CE29FF, 0xB77B8611, 0x0FC7E174, 337 0x9210D9CD, 0x2AACBEA8, 0x38191146, 0x80A57623, 338 0xD8C66675, 0x607A0110, 0x72CFAEFE, 0xCA73C99B, 339 0x57A4F122, 0xEF189647, 0xFDAD39A9, 0x45115ECC, 340 0x764DEE06, 0xCEF18963, 0xDC44268D, 0x64F841E8, 341 0xF92F7951, 0x41931E34, 0x5326B1DA, 0xEB9AD6BF, 342 0xB3F9C6E9, 0x0B45A18C, 0x19F00E62, 0xA14C6907, 343 0x3C9B51BE, 0x842736DB, 0x96929935, 0x2E2EFE50, 344 0x2654B999, 0x9EE8DEFC, 0x8C5D7112, 0x34E11677, 345 0xA9362ECE, 0x118A49AB, 0x033FE645, 0xBB838120, 346 0xE3E09176, 0x5B5CF613, 0x49E959FD, 0xF1553E98, 347 0x6C820621, 0xD43E6144, 0xC68BCEAA, 0x7E37A9CF, 348 0xD67F4138, 0x6EC3265D, 0x7C7689B3, 0xC4CAEED6, 349 0x591DD66F, 0xE1A1B10A, 0xF3141EE4, 0x4BA87981, 350 0x13CB69D7, 0xAB770EB2, 0xB9C2A15C, 0x017EC639, 351 0x9CA9FE80, 0x241599E5, 0x36A0360B, 0x8E1C516E, 352 0x866616A7, 0x3EDA71C2, 0x2C6FDE2C, 0x94D3B949, 353 0x090481F0, 0xB1B8E695, 0xA30D497B, 0x1BB12E1E, 354 0x43D23E48, 0xFB6E592D, 0xE9DBF6C3, 0x516791A6, 355 0xCCB0A91F, 0x740CCE7A, 0x66B96194, 0xDE0506F1 356 }; 357 private static final int[] T8_4 = new int[] { 358 0x00000000, 0x3D6029B0, 0x7AC05360, 0x47A07AD0, 359 0xF580A6C0, 0xC8E08F70, 0x8F40F5A0, 0xB220DC10, 360 0x30704BC1, 0x0D106271, 0x4AB018A1, 0x77D03111, 361 0xC5F0ED01, 0xF890C4B1, 0xBF30BE61, 0x825097D1, 362 0x60E09782, 0x5D80BE32, 0x1A20C4E2, 0x2740ED52, 363 0x95603142, 0xA80018F2, 0xEFA06222, 0xD2C04B92, 364 0x5090DC43, 0x6DF0F5F3, 0x2A508F23, 0x1730A693, 365 0xA5107A83, 0x98705333, 0xDFD029E3, 0xE2B00053, 366 0xC1C12F04, 0xFCA106B4, 0xBB017C64, 0x866155D4, 367 0x344189C4, 0x0921A074, 0x4E81DAA4, 0x73E1F314, 368 0xF1B164C5, 0xCCD14D75, 0x8B7137A5, 0xB6111E15, 369 0x0431C205, 0x3951EBB5, 0x7EF19165, 0x4391B8D5, 370 0xA121B886, 0x9C419136, 0xDBE1EBE6, 0xE681C256, 371 0x54A11E46, 0x69C137F6, 0x2E614D26, 0x13016496, 372 0x9151F347, 0xAC31DAF7, 0xEB91A027, 0xD6F18997, 373 0x64D15587, 0x59B17C37, 0x1E1106E7, 0x23712F57, 374 0x58F35849, 0x659371F9, 0x22330B29, 0x1F532299, 375 0xAD73FE89, 0x9013D739, 0xD7B3ADE9, 0xEAD38459, 376 0x68831388, 0x55E33A38, 0x124340E8, 0x2F236958, 377 0x9D03B548, 0xA0639CF8, 0xE7C3E628, 0xDAA3CF98, 378 0x3813CFCB, 0x0573E67B, 0x42D39CAB, 0x7FB3B51B, 379 0xCD93690B, 0xF0F340BB, 0xB7533A6B, 0x8A3313DB, 380 0x0863840A, 0x3503ADBA, 0x72A3D76A, 0x4FC3FEDA, 381 0xFDE322CA, 0xC0830B7A, 0x872371AA, 0xBA43581A, 382 0x9932774D, 0xA4525EFD, 0xE3F2242D, 0xDE920D9D, 383 0x6CB2D18D, 0x51D2F83D, 0x167282ED, 0x2B12AB5D, 384 0xA9423C8C, 0x9422153C, 0xD3826FEC, 0xEEE2465C, 385 0x5CC29A4C, 0x61A2B3FC, 0x2602C92C, 0x1B62E09C, 386 0xF9D2E0CF, 0xC4B2C97F, 0x8312B3AF, 0xBE729A1F, 387 0x0C52460F, 0x31326FBF, 0x7692156F, 0x4BF23CDF, 388 0xC9A2AB0E, 0xF4C282BE, 0xB362F86E, 0x8E02D1DE, 389 0x3C220DCE, 0x0142247E, 0x46E25EAE, 0x7B82771E, 390 0xB1E6B092, 0x8C869922, 0xCB26E3F2, 0xF646CA42, 391 0x44661652, 0x79063FE2, 0x3EA64532, 0x03C66C82, 392 0x8196FB53, 0xBCF6D2E3, 0xFB56A833, 0xC6368183, 393 0x74165D93, 0x49767423, 0x0ED60EF3, 0x33B62743, 394 0xD1062710, 0xEC660EA0, 0xABC67470, 0x96A65DC0, 395 0x248681D0, 0x19E6A860, 0x5E46D2B0, 0x6326FB00, 396 0xE1766CD1, 0xDC164561, 0x9BB63FB1, 0xA6D61601, 397 0x14F6CA11, 0x2996E3A1, 0x6E369971, 0x5356B0C1, 398 0x70279F96, 0x4D47B626, 0x0AE7CCF6, 0x3787E546, 399 0x85A73956, 0xB8C710E6, 0xFF676A36, 0xC2074386, 400 0x4057D457, 0x7D37FDE7, 0x3A978737, 0x07F7AE87, 401 0xB5D77297, 0x88B75B27, 0xCF1721F7, 0xF2770847, 402 0x10C70814, 0x2DA721A4, 0x6A075B74, 0x576772C4, 403 0xE547AED4, 0xD8278764, 0x9F87FDB4, 0xA2E7D404, 404 0x20B743D5, 0x1DD76A65, 0x5A7710B5, 0x67173905, 405 0xD537E515, 0xE857CCA5, 0xAFF7B675, 0x92979FC5, 406 0xE915E8DB, 0xD475C16B, 0x93D5BBBB, 0xAEB5920B, 407 0x1C954E1B, 0x21F567AB, 0x66551D7B, 0x5B3534CB, 408 0xD965A31A, 0xE4058AAA, 0xA3A5F07A, 0x9EC5D9CA, 409 0x2CE505DA, 0x11852C6A, 0x562556BA, 0x6B457F0A, 410 0x89F57F59, 0xB49556E9, 0xF3352C39, 0xCE550589, 411 0x7C75D999, 0x4115F029, 0x06B58AF9, 0x3BD5A349, 412 0xB9853498, 0x84E51D28, 0xC34567F8, 0xFE254E48, 413 0x4C059258, 0x7165BBE8, 0x36C5C138, 0x0BA5E888, 414 0x28D4C7DF, 0x15B4EE6F, 0x521494BF, 0x6F74BD0F, 415 0xDD54611F, 0xE03448AF, 0xA794327F, 0x9AF41BCF, 416 0x18A48C1E, 0x25C4A5AE, 0x6264DF7E, 0x5F04F6CE, 417 0xED242ADE, 0xD044036E, 0x97E479BE, 0xAA84500E, 418 0x4834505D, 0x755479ED, 0x32F4033D, 0x0F942A8D, 419 0xBDB4F69D, 0x80D4DF2D, 0xC774A5FD, 0xFA148C4D, 420 0x78441B9C, 0x4524322C, 0x028448FC, 0x3FE4614C, 421 0x8DC4BD5C, 0xB0A494EC, 0xF704EE3C, 0xCA64C78C 422 }; 423 private static final int[] T8_5 = new int[] { 424 0x00000000, 0xCB5CD3A5, 0x4DC8A10B, 0x869472AE, 425 0x9B914216, 0x50CD91B3, 0xD659E31D, 0x1D0530B8, 426 0xEC53826D, 0x270F51C8, 0xA19B2366, 0x6AC7F0C3, 427 0x77C2C07B, 0xBC9E13DE, 0x3A0A6170, 0xF156B2D5, 428 0x03D6029B, 0xC88AD13E, 0x4E1EA390, 0x85427035, 429 0x9847408D, 0x531B9328, 0xD58FE186, 0x1ED33223, 430 0xEF8580F6, 0x24D95353, 0xA24D21FD, 0x6911F258, 431 0x7414C2E0, 0xBF481145, 0x39DC63EB, 0xF280B04E, 432 0x07AC0536, 0xCCF0D693, 0x4A64A43D, 0x81387798, 433 0x9C3D4720, 0x57619485, 0xD1F5E62B, 0x1AA9358E, 434 0xEBFF875B, 0x20A354FE, 0xA6372650, 0x6D6BF5F5, 435 0x706EC54D, 0xBB3216E8, 0x3DA66446, 0xF6FAB7E3, 436 0x047A07AD, 0xCF26D408, 0x49B2A6A6, 0x82EE7503, 437 0x9FEB45BB, 0x54B7961E, 0xD223E4B0, 0x197F3715, 438 0xE82985C0, 0x23755665, 0xA5E124CB, 0x6EBDF76E, 439 0x73B8C7D6, 0xB8E41473, 0x3E7066DD, 0xF52CB578, 440 0x0F580A6C, 0xC404D9C9, 0x4290AB67, 0x89CC78C2, 441 0x94C9487A, 0x5F959BDF, 0xD901E971, 0x125D3AD4, 442 0xE30B8801, 0x28575BA4, 0xAEC3290A, 0x659FFAAF, 443 0x789ACA17, 0xB3C619B2, 0x35526B1C, 0xFE0EB8B9, 444 0x0C8E08F7, 0xC7D2DB52, 0x4146A9FC, 0x8A1A7A59, 445 0x971F4AE1, 0x5C439944, 0xDAD7EBEA, 0x118B384F, 446 0xE0DD8A9A, 0x2B81593F, 0xAD152B91, 0x6649F834, 447 0x7B4CC88C, 0xB0101B29, 0x36846987, 0xFDD8BA22, 448 0x08F40F5A, 0xC3A8DCFF, 0x453CAE51, 0x8E607DF4, 449 0x93654D4C, 0x58399EE9, 0xDEADEC47, 0x15F13FE2, 450 0xE4A78D37, 0x2FFB5E92, 0xA96F2C3C, 0x6233FF99, 451 0x7F36CF21, 0xB46A1C84, 0x32FE6E2A, 0xF9A2BD8F, 452 0x0B220DC1, 0xC07EDE64, 0x46EAACCA, 0x8DB67F6F, 453 0x90B34FD7, 0x5BEF9C72, 0xDD7BEEDC, 0x16273D79, 454 0xE7718FAC, 0x2C2D5C09, 0xAAB92EA7, 0x61E5FD02, 455 0x7CE0CDBA, 0xB7BC1E1F, 0x31286CB1, 0xFA74BF14, 456 0x1EB014D8, 0xD5ECC77D, 0x5378B5D3, 0x98246676, 457 0x852156CE, 0x4E7D856B, 0xC8E9F7C5, 0x03B52460, 458 0xF2E396B5, 0x39BF4510, 0xBF2B37BE, 0x7477E41B, 459 0x6972D4A3, 0xA22E0706, 0x24BA75A8, 0xEFE6A60D, 460 0x1D661643, 0xD63AC5E6, 0x50AEB748, 0x9BF264ED, 461 0x86F75455, 0x4DAB87F0, 0xCB3FF55E, 0x006326FB, 462 0xF135942E, 0x3A69478B, 0xBCFD3525, 0x77A1E680, 463 0x6AA4D638, 0xA1F8059D, 0x276C7733, 0xEC30A496, 464 0x191C11EE, 0xD240C24B, 0x54D4B0E5, 0x9F886340, 465 0x828D53F8, 0x49D1805D, 0xCF45F2F3, 0x04192156, 466 0xF54F9383, 0x3E134026, 0xB8873288, 0x73DBE12D, 467 0x6EDED195, 0xA5820230, 0x2316709E, 0xE84AA33B, 468 0x1ACA1375, 0xD196C0D0, 0x5702B27E, 0x9C5E61DB, 469 0x815B5163, 0x4A0782C6, 0xCC93F068, 0x07CF23CD, 470 0xF6999118, 0x3DC542BD, 0xBB513013, 0x700DE3B6, 471 0x6D08D30E, 0xA65400AB, 0x20C07205, 0xEB9CA1A0, 472 0x11E81EB4, 0xDAB4CD11, 0x5C20BFBF, 0x977C6C1A, 473 0x8A795CA2, 0x41258F07, 0xC7B1FDA9, 0x0CED2E0C, 474 0xFDBB9CD9, 0x36E74F7C, 0xB0733DD2, 0x7B2FEE77, 475 0x662ADECF, 0xAD760D6A, 0x2BE27FC4, 0xE0BEAC61, 476 0x123E1C2F, 0xD962CF8A, 0x5FF6BD24, 0x94AA6E81, 477 0x89AF5E39, 0x42F38D9C, 0xC467FF32, 0x0F3B2C97, 478 0xFE6D9E42, 0x35314DE7, 0xB3A53F49, 0x78F9ECEC, 479 0x65FCDC54, 0xAEA00FF1, 0x28347D5F, 0xE368AEFA, 480 0x16441B82, 0xDD18C827, 0x5B8CBA89, 0x90D0692C, 481 0x8DD55994, 0x46898A31, 0xC01DF89F, 0x0B412B3A, 482 0xFA1799EF, 0x314B4A4A, 0xB7DF38E4, 0x7C83EB41, 483 0x6186DBF9, 0xAADA085C, 0x2C4E7AF2, 0xE712A957, 484 0x15921919, 0xDECECABC, 0x585AB812, 0x93066BB7, 485 0x8E035B0F, 0x455F88AA, 0xC3CBFA04, 0x089729A1, 486 0xF9C19B74, 0x329D48D1, 0xB4093A7F, 0x7F55E9DA, 487 0x6250D962, 0xA90C0AC7, 0x2F987869, 0xE4C4ABCC 488 }; 489 private static final int[] T8_6 = new int[] { 490 0x00000000, 0xA6770BB4, 0x979F1129, 0x31E81A9D, 491 0xF44F2413, 0x52382FA7, 0x63D0353A, 0xC5A73E8E, 492 0x33EF4E67, 0x959845D3, 0xA4705F4E, 0x020754FA, 493 0xC7A06A74, 0x61D761C0, 0x503F7B5D, 0xF64870E9, 494 0x67DE9CCE, 0xC1A9977A, 0xF0418DE7, 0x56368653, 495 0x9391B8DD, 0x35E6B369, 0x040EA9F4, 0xA279A240, 496 0x5431D2A9, 0xF246D91D, 0xC3AEC380, 0x65D9C834, 497 0xA07EF6BA, 0x0609FD0E, 0x37E1E793, 0x9196EC27, 498 0xCFBD399C, 0x69CA3228, 0x582228B5, 0xFE552301, 499 0x3BF21D8F, 0x9D85163B, 0xAC6D0CA6, 0x0A1A0712, 500 0xFC5277FB, 0x5A257C4F, 0x6BCD66D2, 0xCDBA6D66, 501 0x081D53E8, 0xAE6A585C, 0x9F8242C1, 0x39F54975, 502 0xA863A552, 0x0E14AEE6, 0x3FFCB47B, 0x998BBFCF, 503 0x5C2C8141, 0xFA5B8AF5, 0xCBB39068, 0x6DC49BDC, 504 0x9B8CEB35, 0x3DFBE081, 0x0C13FA1C, 0xAA64F1A8, 505 0x6FC3CF26, 0xC9B4C492, 0xF85CDE0F, 0x5E2BD5BB, 506 0x440B7579, 0xE27C7ECD, 0xD3946450, 0x75E36FE4, 507 0xB044516A, 0x16335ADE, 0x27DB4043, 0x81AC4BF7, 508 0x77E43B1E, 0xD19330AA, 0xE07B2A37, 0x460C2183, 509 0x83AB1F0D, 0x25DC14B9, 0x14340E24, 0xB2430590, 510 0x23D5E9B7, 0x85A2E203, 0xB44AF89E, 0x123DF32A, 511 0xD79ACDA4, 0x71EDC610, 0x4005DC8D, 0xE672D739, 512 0x103AA7D0, 0xB64DAC64, 0x87A5B6F9, 0x21D2BD4D, 513 0xE47583C3, 0x42028877, 0x73EA92EA, 0xD59D995E, 514 0x8BB64CE5, 0x2DC14751, 0x1C295DCC, 0xBA5E5678, 515 0x7FF968F6, 0xD98E6342, 0xE86679DF, 0x4E11726B, 516 0xB8590282, 0x1E2E0936, 0x2FC613AB, 0x89B1181F, 517 0x4C162691, 0xEA612D25, 0xDB8937B8, 0x7DFE3C0C, 518 0xEC68D02B, 0x4A1FDB9F, 0x7BF7C102, 0xDD80CAB6, 519 0x1827F438, 0xBE50FF8C, 0x8FB8E511, 0x29CFEEA5, 520 0xDF879E4C, 0x79F095F8, 0x48188F65, 0xEE6F84D1, 521 0x2BC8BA5F, 0x8DBFB1EB, 0xBC57AB76, 0x1A20A0C2, 522 0x8816EAF2, 0x2E61E146, 0x1F89FBDB, 0xB9FEF06F, 523 0x7C59CEE1, 0xDA2EC555, 0xEBC6DFC8, 0x4DB1D47C, 524 0xBBF9A495, 0x1D8EAF21, 0x2C66B5BC, 0x8A11BE08, 525 0x4FB68086, 0xE9C18B32, 0xD82991AF, 0x7E5E9A1B, 526 0xEFC8763C, 0x49BF7D88, 0x78576715, 0xDE206CA1, 527 0x1B87522F, 0xBDF0599B, 0x8C184306, 0x2A6F48B2, 528 0xDC27385B, 0x7A5033EF, 0x4BB82972, 0xEDCF22C6, 529 0x28681C48, 0x8E1F17FC, 0xBFF70D61, 0x198006D5, 530 0x47ABD36E, 0xE1DCD8DA, 0xD034C247, 0x7643C9F3, 531 0xB3E4F77D, 0x1593FCC9, 0x247BE654, 0x820CEDE0, 532 0x74449D09, 0xD23396BD, 0xE3DB8C20, 0x45AC8794, 533 0x800BB91A, 0x267CB2AE, 0x1794A833, 0xB1E3A387, 534 0x20754FA0, 0x86024414, 0xB7EA5E89, 0x119D553D, 535 0xD43A6BB3, 0x724D6007, 0x43A57A9A, 0xE5D2712E, 536 0x139A01C7, 0xB5ED0A73, 0x840510EE, 0x22721B5A, 537 0xE7D525D4, 0x41A22E60, 0x704A34FD, 0xD63D3F49, 538 0xCC1D9F8B, 0x6A6A943F, 0x5B828EA2, 0xFDF58516, 539 0x3852BB98, 0x9E25B02C, 0xAFCDAAB1, 0x09BAA105, 540 0xFFF2D1EC, 0x5985DA58, 0x686DC0C5, 0xCE1ACB71, 541 0x0BBDF5FF, 0xADCAFE4B, 0x9C22E4D6, 0x3A55EF62, 542 0xABC30345, 0x0DB408F1, 0x3C5C126C, 0x9A2B19D8, 543 0x5F8C2756, 0xF9FB2CE2, 0xC813367F, 0x6E643DCB, 544 0x982C4D22, 0x3E5B4696, 0x0FB35C0B, 0xA9C457BF, 545 0x6C636931, 0xCA146285, 0xFBFC7818, 0x5D8B73AC, 546 0x03A0A617, 0xA5D7ADA3, 0x943FB73E, 0x3248BC8A, 547 0xF7EF8204, 0x519889B0, 0x6070932D, 0xC6079899, 548 0x304FE870, 0x9638E3C4, 0xA7D0F959, 0x01A7F2ED, 549 0xC400CC63, 0x6277C7D7, 0x539FDD4A, 0xF5E8D6FE, 550 0x647E3AD9, 0xC209316D, 0xF3E12BF0, 0x55962044, 551 0x90311ECA, 0x3646157E, 0x07AE0FE3, 0xA1D90457, 552 0x579174BE, 0xF1E67F0A, 0xC00E6597, 0x66796E23, 553 0xA3DE50AD, 0x05A95B19, 0x34414184, 0x92364A30 554 }; 555 private static final int[] T8_7 = new int[] { 556 0x00000000, 0xCCAA009E, 0x4225077D, 0x8E8F07E3, 557 0x844A0EFA, 0x48E00E64, 0xC66F0987, 0x0AC50919, 558 0xD3E51BB5, 0x1F4F1B2B, 0x91C01CC8, 0x5D6A1C56, 559 0x57AF154F, 0x9B0515D1, 0x158A1232, 0xD92012AC, 560 0x7CBB312B, 0xB01131B5, 0x3E9E3656, 0xF23436C8, 561 0xF8F13FD1, 0x345B3F4F, 0xBAD438AC, 0x767E3832, 562 0xAF5E2A9E, 0x63F42A00, 0xED7B2DE3, 0x21D12D7D, 563 0x2B142464, 0xE7BE24FA, 0x69312319, 0xA59B2387, 564 0xF9766256, 0x35DC62C8, 0xBB53652B, 0x77F965B5, 565 0x7D3C6CAC, 0xB1966C32, 0x3F196BD1, 0xF3B36B4F, 566 0x2A9379E3, 0xE639797D, 0x68B67E9E, 0xA41C7E00, 567 0xAED97719, 0x62737787, 0xECFC7064, 0x205670FA, 568 0x85CD537D, 0x496753E3, 0xC7E85400, 0x0B42549E, 569 0x01875D87, 0xCD2D5D19, 0x43A25AFA, 0x8F085A64, 570 0x562848C8, 0x9A824856, 0x140D4FB5, 0xD8A74F2B, 571 0xD2624632, 0x1EC846AC, 0x9047414F, 0x5CED41D1, 572 0x299DC2ED, 0xE537C273, 0x6BB8C590, 0xA712C50E, 573 0xADD7CC17, 0x617DCC89, 0xEFF2CB6A, 0x2358CBF4, 574 0xFA78D958, 0x36D2D9C6, 0xB85DDE25, 0x74F7DEBB, 575 0x7E32D7A2, 0xB298D73C, 0x3C17D0DF, 0xF0BDD041, 576 0x5526F3C6, 0x998CF358, 0x1703F4BB, 0xDBA9F425, 577 0xD16CFD3C, 0x1DC6FDA2, 0x9349FA41, 0x5FE3FADF, 578 0x86C3E873, 0x4A69E8ED, 0xC4E6EF0E, 0x084CEF90, 579 0x0289E689, 0xCE23E617, 0x40ACE1F4, 0x8C06E16A, 580 0xD0EBA0BB, 0x1C41A025, 0x92CEA7C6, 0x5E64A758, 581 0x54A1AE41, 0x980BAEDF, 0x1684A93C, 0xDA2EA9A2, 582 0x030EBB0E, 0xCFA4BB90, 0x412BBC73, 0x8D81BCED, 583 0x8744B5F4, 0x4BEEB56A, 0xC561B289, 0x09CBB217, 584 0xAC509190, 0x60FA910E, 0xEE7596ED, 0x22DF9673, 585 0x281A9F6A, 0xE4B09FF4, 0x6A3F9817, 0xA6959889, 586 0x7FB58A25, 0xB31F8ABB, 0x3D908D58, 0xF13A8DC6, 587 0xFBFF84DF, 0x37558441, 0xB9DA83A2, 0x7570833C, 588 0x533B85DA, 0x9F918544, 0x111E82A7, 0xDDB48239, 589 0xD7718B20, 0x1BDB8BBE, 0x95548C5D, 0x59FE8CC3, 590 0x80DE9E6F, 0x4C749EF1, 0xC2FB9912, 0x0E51998C, 591 0x04949095, 0xC83E900B, 0x46B197E8, 0x8A1B9776, 592 0x2F80B4F1, 0xE32AB46F, 0x6DA5B38C, 0xA10FB312, 593 0xABCABA0B, 0x6760BA95, 0xE9EFBD76, 0x2545BDE8, 594 0xFC65AF44, 0x30CFAFDA, 0xBE40A839, 0x72EAA8A7, 595 0x782FA1BE, 0xB485A120, 0x3A0AA6C3, 0xF6A0A65D, 596 0xAA4DE78C, 0x66E7E712, 0xE868E0F1, 0x24C2E06F, 597 0x2E07E976, 0xE2ADE9E8, 0x6C22EE0B, 0xA088EE95, 598 0x79A8FC39, 0xB502FCA7, 0x3B8DFB44, 0xF727FBDA, 599 0xFDE2F2C3, 0x3148F25D, 0xBFC7F5BE, 0x736DF520, 600 0xD6F6D6A7, 0x1A5CD639, 0x94D3D1DA, 0x5879D144, 601 0x52BCD85D, 0x9E16D8C3, 0x1099DF20, 0xDC33DFBE, 602 0x0513CD12, 0xC9B9CD8C, 0x4736CA6F, 0x8B9CCAF1, 603 0x8159C3E8, 0x4DF3C376, 0xC37CC495, 0x0FD6C40B, 604 0x7AA64737, 0xB60C47A9, 0x3883404A, 0xF42940D4, 605 0xFEEC49CD, 0x32464953, 0xBCC94EB0, 0x70634E2E, 606 0xA9435C82, 0x65E95C1C, 0xEB665BFF, 0x27CC5B61, 607 0x2D095278, 0xE1A352E6, 0x6F2C5505, 0xA386559B, 608 0x061D761C, 0xCAB77682, 0x44387161, 0x889271FF, 609 0x825778E6, 0x4EFD7878, 0xC0727F9B, 0x0CD87F05, 610 0xD5F86DA9, 0x19526D37, 0x97DD6AD4, 0x5B776A4A, 611 0x51B26353, 0x9D1863CD, 0x1397642E, 0xDF3D64B0, 612 0x83D02561, 0x4F7A25FF, 0xC1F5221C, 0x0D5F2282, 613 0x079A2B9B, 0xCB302B05, 0x45BF2CE6, 0x89152C78, 614 0x50353ED4, 0x9C9F3E4A, 0x121039A9, 0xDEBA3937, 615 0xD47F302E, 0x18D530B0, 0x965A3753, 0x5AF037CD, 616 0xFF6B144A, 0x33C114D4, 0xBD4E1337, 0x71E413A9, 617 0x7B211AB0, 0xB78B1A2E, 0x39041DCD, 0xF5AE1D53, 618 0x2C8E0FFF, 0xE0240F61, 0x6EAB0882, 0xA201081C, 619 0xA8C40105, 0x646E019B, 0xEAE10678, 0x264B06E6 620 }; 621 }