diff options
| -rw-r--r-- | crc32.c | 194 | ||||
| -rw-r--r-- | crc32.h | 294 |
2 files changed, 396 insertions, 92 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* crc32.c -- compute the CRC-32 of a data stream | 1 | /* crc32.c -- compute the CRC-32 of a data stream |
| 2 | * Copyright (C) 1995-2006, 2010, 2011, 2012, 2016 Mark Adler | 2 | * Copyright (C) 1995-2006, 2010, 2011, 2012, 2016, 2018 Mark Adler |
| 3 | * For conditions of distribution and use, see copyright notice in zlib.h | 3 | * For conditions of distribution and use, see copyright notice in zlib.h |
| 4 | * | 4 | * |
| 5 | * Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster | 5 | * Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster |
| @@ -18,7 +18,9 @@ | |||
| 18 | first call get_crc_table() to initialize the tables before allowing more than | 18 | first call get_crc_table() to initialize the tables before allowing more than |
| 19 | one thread to use crc32(). | 19 | one thread to use crc32(). |
| 20 | 20 | ||
| 21 | DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h. | 21 | DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h. A main() |
| 22 | routine is also produced, so that this one source file can be compiled to an | ||
| 23 | executable. | ||
| 22 | */ | 24 | */ |
| 23 | 25 | ||
| 24 | #ifdef MAKECRCH | 26 | #ifdef MAKECRCH |
| @@ -45,20 +47,50 @@ | |||
| 45 | #endif /* BYFOUR */ | 47 | #endif /* BYFOUR */ |
| 46 | 48 | ||
| 47 | /* Local functions for crc concatenation */ | 49 | /* Local functions for crc concatenation */ |
| 48 | local unsigned long gf2_matrix_times OF((unsigned long *mat, | 50 | #define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ |
| 49 | unsigned long vec)); | 51 | local z_crc_t gf2_matrix_times OF((const z_crc_t *mat, z_crc_t vec)); |
| 50 | local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat)); | ||
| 51 | local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2)); | 52 | local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2)); |
| 52 | 53 | ||
| 54 | /* ========================================================================= */ | ||
| 55 | local z_crc_t gf2_matrix_times(mat, vec) | ||
| 56 | const z_crc_t *mat; | ||
| 57 | z_crc_t vec; | ||
| 58 | { | ||
| 59 | z_crc_t sum; | ||
| 60 | |||
| 61 | sum = 0; | ||
| 62 | while (vec) { | ||
| 63 | if (vec & 1) | ||
| 64 | sum ^= *mat; | ||
| 65 | vec >>= 1; | ||
| 66 | mat++; | ||
| 67 | } | ||
| 68 | return sum; | ||
| 69 | } | ||
| 70 | |||
| 53 | 71 | ||
| 54 | #ifdef DYNAMIC_CRC_TABLE | 72 | #ifdef DYNAMIC_CRC_TABLE |
| 55 | 73 | ||
| 56 | local volatile int crc_table_empty = 1; | 74 | local volatile int crc_table_empty = 1; |
| 57 | local z_crc_t FAR crc_table[TBLS][256]; | 75 | local z_crc_t FAR crc_table[TBLS][256]; |
| 76 | local z_crc_t FAR crc_comb[GF2_DIM][GF2_DIM]; | ||
| 58 | local void make_crc_table OF((void)); | 77 | local void make_crc_table OF((void)); |
| 78 | local void gf2_matrix_square OF((z_crc_t *square, const z_crc_t *mat)); | ||
| 59 | #ifdef MAKECRCH | 79 | #ifdef MAKECRCH |
| 60 | local void write_table OF((FILE *, const z_crc_t FAR *)); | 80 | local void write_table OF((FILE *, const z_crc_t FAR *, int)); |
| 61 | #endif /* MAKECRCH */ | 81 | #endif /* MAKECRCH */ |
| 82 | |||
| 83 | /* ========================================================================= */ | ||
| 84 | local void gf2_matrix_square(square, mat) | ||
| 85 | z_crc_t *square; | ||
| 86 | const z_crc_t *mat; | ||
| 87 | { | ||
| 88 | int n; | ||
| 89 | |||
| 90 | for (n = 0; n < GF2_DIM; n++) | ||
| 91 | square[n] = gf2_matrix_times(mat, mat[n]); | ||
| 92 | } | ||
| 93 | |||
| 62 | /* | 94 | /* |
| 63 | Generate tables for a byte-wise 32-bit CRC calculation on the polynomial: | 95 | Generate tables for a byte-wise 32-bit CRC calculation on the polynomial: |
| 64 | x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. | 96 | x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. |
| @@ -127,6 +159,33 @@ local void make_crc_table() | |||
| 127 | } | 159 | } |
| 128 | #endif /* BYFOUR */ | 160 | #endif /* BYFOUR */ |
| 129 | 161 | ||
| 162 | /* generate zero operators table for crc32_combine() */ | ||
| 163 | |||
| 164 | /* generate the operator to apply a single zero bit to a CRC -- the | ||
| 165 | first row adds the polynomial if the low bit is a 1, and the | ||
| 166 | remaining rows shift the CRC right one bit */ | ||
| 167 | k = GF2_DIM - 3; | ||
| 168 | crc_comb[k][0] = 0xedb88320UL; /* CRC-32 polynomial */ | ||
| 169 | z_crc_t row = 1; | ||
| 170 | for (n = 1; n < GF2_DIM; n++) { | ||
| 171 | crc_comb[k][n] = row; | ||
| 172 | row <<= 1; | ||
| 173 | } | ||
| 174 | |||
| 175 | /* generate operators that apply 2, 4, and 8 zeros to a CRC, putting | ||
| 176 | the last one, the operator for one zero byte, at the 0 position */ | ||
| 177 | gf2_matrix_square(crc_comb[k + 1], crc_comb[k]); | ||
| 178 | gf2_matrix_square(crc_comb[k + 2], crc_comb[k + 1]); | ||
| 179 | gf2_matrix_square(crc_comb[0], crc_comb[k + 2]); | ||
| 180 | |||
| 181 | /* generate operators for applying 2^n zero bytes to a CRC, filling out | ||
| 182 | the remainder of the table -- the operators repeat after GF2_DIM | ||
| 183 | values of n, so the table only needs GF2_DIM entries, regardless of | ||
| 184 | the size of the length being processed */ | ||
| 185 | for (n = 1; n < k; n++) | ||
| 186 | gf2_matrix_square(crc_comb[n], crc_comb[n - 1]); | ||
| 187 | |||
| 188 | /* mark tables as complete, in case someone else is waiting */ | ||
| 130 | crc_table_empty = 0; | 189 | crc_table_empty = 0; |
| 131 | } | 190 | } |
| 132 | else { /* not first */ | 191 | else { /* not first */ |
| @@ -134,50 +193,68 @@ local void make_crc_table() | |||
| 134 | while (crc_table_empty) | 193 | while (crc_table_empty) |
| 135 | ; | 194 | ; |
| 136 | } | 195 | } |
| 137 | |||
| 138 | #ifdef MAKECRCH | 196 | #ifdef MAKECRCH |
| 139 | /* write out CRC tables to crc32.h */ | ||
| 140 | { | 197 | { |
| 141 | FILE *out; | 198 | FILE *out; |
| 142 | 199 | ||
| 143 | out = fopen("crc32.h", "w"); | 200 | out = fopen("crc32.h", "w"); |
| 144 | if (out == NULL) return; | 201 | if (out == NULL) return; |
| 202 | |||
| 203 | /* write out CRC table to crc32.h */ | ||
| 145 | fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n"); | 204 | fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n"); |
| 146 | fprintf(out, " * Generated automatically by crc32.c\n */\n\n"); | 205 | fprintf(out, " * Generated automatically by crc32.c\n */\n\n"); |
| 147 | fprintf(out, "local const z_crc_t FAR "); | 206 | fprintf(out, "local const z_crc_t FAR "); |
| 148 | fprintf(out, "crc_table[TBLS][256] =\n{\n {\n"); | 207 | fprintf(out, "crc_table[%d][256] =\n{\n {\n", TBLS); |
| 149 | write_table(out, crc_table[0]); | 208 | write_table(out, crc_table[0], 256); |
| 150 | # ifdef BYFOUR | 209 | # ifdef BYFOUR |
| 151 | fprintf(out, "#ifdef BYFOUR\n"); | 210 | fprintf(out, "#ifdef BYFOUR\n"); |
| 152 | for (k = 1; k < 8; k++) { | 211 | for (k = 1; k < 8; k++) { |
| 153 | fprintf(out, " },\n {\n"); | 212 | fprintf(out, " },\n {\n"); |
| 154 | write_table(out, crc_table[k]); | 213 | write_table(out, crc_table[k], 256); |
| 155 | } | 214 | } |
| 156 | fprintf(out, "#endif\n"); | 215 | fprintf(out, "#endif\n"); |
| 157 | # endif /* BYFOUR */ | 216 | # endif /* BYFOUR */ |
| 158 | fprintf(out, " }\n};\n"); | 217 | fprintf(out, " }\n};\n"); |
| 218 | |||
| 219 | /* write out zero operator table to crc32.h */ | ||
| 220 | fprintf(out, "\nlocal const z_crc_t FAR "); | ||
| 221 | fprintf(out, "crc_comb[%d][%d] =\n{\n {\n", GF2_DIM, GF2_DIM); | ||
| 222 | write_table(out, crc_comb[0], GF2_DIM); | ||
| 223 | for (k = 1; k < GF2_DIM; k++) { | ||
| 224 | fprintf(out, " },\n {\n"); | ||
| 225 | write_table(out, crc_comb[k], GF2_DIM); | ||
| 226 | } | ||
| 227 | fprintf(out, " }\n};\n"); | ||
| 159 | fclose(out); | 228 | fclose(out); |
| 160 | } | 229 | } |
| 161 | #endif /* MAKECRCH */ | 230 | #endif /* MAKECRCH */ |
| 162 | } | 231 | } |
| 163 | 232 | ||
| 164 | #ifdef MAKECRCH | 233 | #ifdef MAKECRCH |
| 165 | local void write_table(out, table) | 234 | local void write_table(out, table, k) |
| 166 | FILE *out; | 235 | FILE *out; |
| 167 | const z_crc_t FAR *table; | 236 | const z_crc_t FAR *table; |
| 237 | int k; | ||
| 168 | { | 238 | { |
| 169 | int n; | 239 | int n; |
| 170 | 240 | ||
| 171 | for (n = 0; n < 256; n++) | 241 | for (n = 0; n < k; n++) |
| 172 | fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", | 242 | fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", |
| 173 | (unsigned long)(table[n]), | 243 | (unsigned long)(table[n]), |
| 174 | n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", ")); | 244 | n == k - 1 ? "\n" : (n % 5 == 4 ? ",\n" : ", ")); |
| 245 | } | ||
| 246 | |||
| 247 | int main() | ||
| 248 | { | ||
| 249 | make_crc_table(); | ||
| 250 | return 0; | ||
| 175 | } | 251 | } |
| 176 | #endif /* MAKECRCH */ | 252 | #endif /* MAKECRCH */ |
| 177 | 253 | ||
| 178 | #else /* !DYNAMIC_CRC_TABLE */ | 254 | #else /* !DYNAMIC_CRC_TABLE */ |
| 179 | /* ======================================================================== | 255 | /* ======================================================================== |
| 180 | * Tables of CRC-32s of all single-byte values, made by make_crc_table(). | 256 | * Tables of CRC-32s of all single-byte values, made by make_crc_table(), |
| 257 | * and tables of zero operator matrices for crc32_combine(). | ||
| 181 | */ | 258 | */ |
| 182 | #include "crc32.h" | 259 | #include "crc32.h" |
| 183 | #endif /* DYNAMIC_CRC_TABLE */ | 260 | #endif /* DYNAMIC_CRC_TABLE */ |
| @@ -338,36 +415,6 @@ local unsigned long crc32_big(crc, buf, len) | |||
| 338 | 415 | ||
| 339 | #endif /* BYFOUR */ | 416 | #endif /* BYFOUR */ |
| 340 | 417 | ||
| 341 | #define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ | ||
| 342 | |||
| 343 | /* ========================================================================= */ | ||
| 344 | local unsigned long gf2_matrix_times(mat, vec) | ||
| 345 | unsigned long *mat; | ||
| 346 | unsigned long vec; | ||
| 347 | { | ||
| 348 | unsigned long sum; | ||
| 349 | |||
| 350 | sum = 0; | ||
| 351 | while (vec) { | ||
| 352 | if (vec & 1) | ||
| 353 | sum ^= *mat; | ||
| 354 | vec >>= 1; | ||
| 355 | mat++; | ||
| 356 | } | ||
| 357 | return sum; | ||
| 358 | } | ||
| 359 | |||
| 360 | /* ========================================================================= */ | ||
| 361 | local void gf2_matrix_square(square, mat) | ||
| 362 | unsigned long *square; | ||
| 363 | unsigned long *mat; | ||
| 364 | { | ||
| 365 | int n; | ||
| 366 | |||
| 367 | for (n = 0; n < GF2_DIM; n++) | ||
| 368 | square[n] = gf2_matrix_times(mat, mat[n]); | ||
| 369 | } | ||
| 370 | |||
| 371 | /* ========================================================================= */ | 418 | /* ========================================================================= */ |
| 372 | local uLong crc32_combine_(crc1, crc2, len2) | 419 | local uLong crc32_combine_(crc1, crc2, len2) |
| 373 | uLong crc1; | 420 | uLong crc1; |
| @@ -375,53 +422,18 @@ local uLong crc32_combine_(crc1, crc2, len2) | |||
| 375 | z_off64_t len2; | 422 | z_off64_t len2; |
| 376 | { | 423 | { |
| 377 | int n; | 424 | int n; |
| 378 | unsigned long row; | ||
| 379 | unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */ | ||
| 380 | unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */ | ||
| 381 | |||
| 382 | /* degenerate case (also disallow negative lengths) */ | ||
| 383 | if (len2 <= 0) | ||
| 384 | return crc1; | ||
| 385 | |||
| 386 | /* put operator for one zero bit in odd */ | ||
| 387 | odd[0] = 0xedb88320UL; /* CRC-32 polynomial */ | ||
| 388 | row = 1; | ||
| 389 | for (n = 1; n < GF2_DIM; n++) { | ||
| 390 | odd[n] = row; | ||
| 391 | row <<= 1; | ||
| 392 | } | ||
| 393 | 425 | ||
| 394 | /* put operator for two zero bits in even */ | 426 | #ifdef DYNAMIC_CRC_TABLE |
| 395 | gf2_matrix_square(even, odd); | 427 | if (crc_table_empty) |
| 396 | 428 | make_crc_table(); | |
| 397 | /* put operator for four zero bits in odd */ | 429 | #endif /* DYNAMIC_CRC_TABLE */ |
| 398 | gf2_matrix_square(odd, even); | 430 | |
| 399 | 431 | if (len2 > 0) | |
| 400 | /* apply len2 zeros to crc1 (first square will put the operator for one | 432 | /* operator for 2^n zeros repeats every GF2_DIM n values */ |
| 401 | zero byte, eight zero bits, in even) */ | 433 | for (n = 0; len2; n = (n + 1) % GF2_DIM, len2 >>= 1) |
| 402 | do { | 434 | if (len2 & 1) |
| 403 | /* apply zeros operator for this bit of len2 */ | 435 | crc1 = gf2_matrix_times(crc_comb[n], crc1); |
| 404 | gf2_matrix_square(even, odd); | 436 | return crc1 ^ crc2; |
| 405 | if (len2 & 1) | ||
| 406 | crc1 = gf2_matrix_times(even, crc1); | ||
| 407 | len2 >>= 1; | ||
| 408 | |||
| 409 | /* if no more bits set, then done */ | ||
| 410 | if (len2 == 0) | ||
| 411 | break; | ||
| 412 | |||
| 413 | /* another iteration of the loop with odd and even swapped */ | ||
| 414 | gf2_matrix_square(odd, even); | ||
| 415 | if (len2 & 1) | ||
| 416 | crc1 = gf2_matrix_times(odd, crc1); | ||
| 417 | len2 >>= 1; | ||
| 418 | |||
| 419 | /* if no more bits set, then done */ | ||
| 420 | } while (len2 != 0); | ||
| 421 | |||
| 422 | /* return combined crc */ | ||
| 423 | crc1 ^= crc2; | ||
| 424 | return crc1; | ||
| 425 | } | 437 | } |
| 426 | 438 | ||
| 427 | /* ========================================================================= */ | 439 | /* ========================================================================= */ |
| @@ -2,7 +2,7 @@ | |||
| 2 | * Generated automatically by crc32.c | 2 | * Generated automatically by crc32.c |
| 3 | */ | 3 | */ |
| 4 | 4 | ||
| 5 | local const z_crc_t FAR crc_table[TBLS][256] = | 5 | local const z_crc_t FAR crc_table[8][256] = |
| 6 | { | 6 | { |
| 7 | { | 7 | { |
| 8 | 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL, | 8 | 0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL, |
| @@ -439,3 +439,295 @@ local const z_crc_t FAR crc_table[TBLS][256] = | |||
| 439 | #endif | 439 | #endif |
| 440 | } | 440 | } |
| 441 | }; | 441 | }; |
| 442 | |||
| 443 | local const z_crc_t FAR crc_comb[32][32] = | ||
| 444 | { | ||
| 445 | { | ||
| 446 | 0x77073096UL, 0xee0e612cUL, 0x076dc419UL, 0x0edb8832UL, 0x1db71064UL, | ||
| 447 | 0x3b6e20c8UL, 0x76dc4190UL, 0xedb88320UL, 0x00000001UL, 0x00000002UL, | ||
| 448 | 0x00000004UL, 0x00000008UL, 0x00000010UL, 0x00000020UL, 0x00000040UL, | ||
| 449 | 0x00000080UL, 0x00000100UL, 0x00000200UL, 0x00000400UL, 0x00000800UL, | ||
| 450 | 0x00001000UL, 0x00002000UL, 0x00004000UL, 0x00008000UL, 0x00010000UL, | ||
| 451 | 0x00020000UL, 0x00040000UL, 0x00080000UL, 0x00100000UL, 0x00200000UL, | ||
| 452 | 0x00400000UL, 0x00800000UL | ||
| 453 | }, | ||
| 454 | { | ||
| 455 | 0x191b3141UL, 0x32366282UL, 0x646cc504UL, 0xc8d98a08UL, 0x4ac21251UL, | ||
| 456 | 0x958424a2UL, 0xf0794f05UL, 0x3b83984bUL, 0x77073096UL, 0xee0e612cUL, | ||
| 457 | 0x076dc419UL, 0x0edb8832UL, 0x1db71064UL, 0x3b6e20c8UL, 0x76dc4190UL, | ||
| 458 | 0xedb88320UL, 0x00000001UL, 0x00000002UL, 0x00000004UL, 0x00000008UL, | ||
| 459 | 0x00000010UL, 0x00000020UL, 0x00000040UL, 0x00000080UL, 0x00000100UL, | ||
| 460 | 0x00000200UL, 0x00000400UL, 0x00000800UL, 0x00001000UL, 0x00002000UL, | ||
| 461 | 0x00004000UL, 0x00008000UL | ||
| 462 | }, | ||
| 463 | { | ||
| 464 | 0xb8bc6765UL, 0xaa09c88bUL, 0x8f629757UL, 0xc5b428efUL, 0x5019579fUL, | ||
| 465 | 0xa032af3eUL, 0x9b14583dUL, 0xed59b63bUL, 0x01c26a37UL, 0x0384d46eUL, | ||
| 466 | 0x0709a8dcUL, 0x0e1351b8UL, 0x1c26a370UL, 0x384d46e0UL, 0x709a8dc0UL, | ||
| 467 | 0xe1351b80UL, 0x191b3141UL, 0x32366282UL, 0x646cc504UL, 0xc8d98a08UL, | ||
| 468 | 0x4ac21251UL, 0x958424a2UL, 0xf0794f05UL, 0x3b83984bUL, 0x77073096UL, | ||
| 469 | 0xee0e612cUL, 0x076dc419UL, 0x0edb8832UL, 0x1db71064UL, 0x3b6e20c8UL, | ||
| 470 | 0x76dc4190UL, 0xedb88320UL | ||
| 471 | }, | ||
| 472 | { | ||
| 473 | 0xccaa009eUL, 0x4225077dUL, 0x844a0efaUL, 0xd3e51bb5UL, 0x7cbb312bUL, | ||
| 474 | 0xf9766256UL, 0x299dc2edUL, 0x533b85daUL, 0xa6770bb4UL, 0x979f1129UL, | ||
| 475 | 0xf44f2413UL, 0x33ef4e67UL, 0x67de9cceUL, 0xcfbd399cUL, 0x440b7579UL, | ||
| 476 | 0x8816eaf2UL, 0xcb5cd3a5UL, 0x4dc8a10bUL, 0x9b914216UL, 0xec53826dUL, | ||
| 477 | 0x03d6029bUL, 0x07ac0536UL, 0x0f580a6cUL, 0x1eb014d8UL, 0x3d6029b0UL, | ||
| 478 | 0x7ac05360UL, 0xf580a6c0UL, 0x30704bc1UL, 0x60e09782UL, 0xc1c12f04UL, | ||
| 479 | 0x58f35849UL, 0xb1e6b092UL | ||
| 480 | }, | ||
| 481 | { | ||
| 482 | 0xae689191UL, 0x87a02563UL, 0xd4314c87UL, 0x73139f4fUL, 0xe6273e9eUL, | ||
| 483 | 0x173f7b7dUL, 0x2e7ef6faUL, 0x5cfdedf4UL, 0xb9fbdbe8UL, 0xa886b191UL, | ||
| 484 | 0x8a7c6563UL, 0xcf89cc87UL, 0x44629f4fUL, 0x88c53e9eUL, 0xcafb7b7dUL, | ||
| 485 | 0x4e87f0bbUL, 0x9d0fe176UL, 0xe16ec4adUL, 0x19ac8f1bUL, 0x33591e36UL, | ||
| 486 | 0x66b23c6cUL, 0xcd6478d8UL, 0x41b9f7f1UL, 0x8373efe2UL, 0xdd96d985UL, | ||
| 487 | 0x605cb54bUL, 0xc0b96a96UL, 0x5a03d36dUL, 0xb407a6daUL, 0xb37e4bf5UL, | ||
| 488 | 0xbd8d91abUL, 0xa06a2517UL | ||
| 489 | }, | ||
| 490 | { | ||
| 491 | 0xf1da05aaUL, 0x38c50d15UL, 0x718a1a2aUL, 0xe3143454UL, 0x1d596ee9UL, | ||
| 492 | 0x3ab2ddd2UL, 0x7565bba4UL, 0xeacb7748UL, 0x0ee7e8d1UL, 0x1dcfd1a2UL, | ||
| 493 | 0x3b9fa344UL, 0x773f4688UL, 0xee7e8d10UL, 0x078c1c61UL, 0x0f1838c2UL, | ||
| 494 | 0x1e307184UL, 0x3c60e308UL, 0x78c1c610UL, 0xf1838c20UL, 0x38761e01UL, | ||
| 495 | 0x70ec3c02UL, 0xe1d87804UL, 0x18c1f649UL, 0x3183ec92UL, 0x6307d924UL, | ||
| 496 | 0xc60fb248UL, 0x576e62d1UL, 0xaedcc5a2UL, 0x86c88d05UL, 0xd6e01c4bUL, | ||
| 497 | 0x76b13ed7UL, 0xed627daeUL | ||
| 498 | }, | ||
| 499 | { | ||
| 500 | 0x8f352d95UL, 0xc51b5d6bUL, 0x5147bc97UL, 0xa28f792eUL, 0x9e6ff41dUL, | ||
| 501 | 0xe7aeee7bUL, 0x142cdab7UL, 0x2859b56eUL, 0x50b36adcUL, 0xa166d5b8UL, | ||
| 502 | 0x99bcad31UL, 0xe8085c23UL, 0x0b61be07UL, 0x16c37c0eUL, 0x2d86f81cUL, | ||
| 503 | 0x5b0df038UL, 0xb61be070UL, 0xb746c6a1UL, 0xb5fc8b03UL, 0xb0881047UL, | ||
| 504 | 0xba6126cfUL, 0xafb34bdfUL, 0x841791ffUL, 0xd35e25bfUL, 0x7dcd4d3fUL, | ||
| 505 | 0xfb9a9a7eUL, 0x2c4432bdUL, 0x5888657aUL, 0xb110caf4UL, 0xb95093a9UL, | ||
| 506 | 0xa9d02113UL, 0x88d14467UL | ||
| 507 | }, | ||
| 508 | { | ||
| 509 | 0x33fff533UL, 0x67ffea66UL, 0xcfffd4ccUL, 0x448eafd9UL, 0x891d5fb2UL, | ||
| 510 | 0xc94bb925UL, 0x49e6740bUL, 0x93cce816UL, 0xfce8d66dUL, 0x22a0aa9bUL, | ||
| 511 | 0x45415536UL, 0x8a82aa6cUL, 0xce745299UL, 0x4799a373UL, 0x8f3346e6UL, | ||
| 512 | 0xc5178b8dUL, 0x515e115bUL, 0xa2bc22b6UL, 0x9e09432dUL, 0xe763801bUL, | ||
| 513 | 0x15b60677UL, 0x2b6c0ceeUL, 0x56d819dcUL, 0xadb033b8UL, 0x80116131UL, | ||
| 514 | 0xdb53c423UL, 0x6dd68e07UL, 0xdbad1c0eUL, 0x6c2b3e5dUL, 0xd8567cbaUL, | ||
| 515 | 0x6bddff35UL, 0xd7bbfe6aUL | ||
| 516 | }, | ||
| 517 | { | ||
| 518 | 0xce3371cbUL, 0x4717e5d7UL, 0x8e2fcbaeUL, 0xc72e911dUL, 0x552c247bUL, | ||
| 519 | 0xaa5848f6UL, 0x8fc197adUL, 0xc4f2291bUL, 0x52955477UL, 0xa52aa8eeUL, | ||
| 520 | 0x9124579dUL, 0xf939a97bUL, 0x290254b7UL, 0x5204a96eUL, 0xa40952dcUL, | ||
| 521 | 0x9363a3f9UL, 0xfdb641b3UL, 0x201d8527UL, 0x403b0a4eUL, 0x8076149cUL, | ||
| 522 | 0xdb9d2f79UL, 0x6c4b58b3UL, 0xd896b166UL, 0x6a5c648dUL, 0xd4b8c91aUL, | ||
| 523 | 0x72009475UL, 0xe40128eaUL, 0x13735795UL, 0x26e6af2aUL, 0x4dcd5e54UL, | ||
| 524 | 0x9b9abca8UL, 0xec447f11UL | ||
| 525 | }, | ||
| 526 | { | ||
| 527 | 0x1072db28UL, 0x20e5b650UL, 0x41cb6ca0UL, 0x8396d940UL, 0xdc5cb4c1UL, | ||
| 528 | 0x63c86fc3UL, 0xc790df86UL, 0x5450b94dUL, 0xa8a1729aUL, 0x8a33e375UL, | ||
| 529 | 0xcf16c0abUL, 0x455c8717UL, 0x8ab90e2eUL, 0xce031a1dUL, 0x4777327bUL, | ||
| 530 | 0x8eee64f6UL, 0xc6adcfadUL, 0x562a991bUL, 0xac553236UL, 0x83db622dUL, | ||
| 531 | 0xdcc7c21bUL, 0x62fe8277UL, 0xc5fd04eeUL, 0x508b0f9dUL, 0xa1161f3aUL, | ||
| 532 | 0x995d3835UL, 0xe9cb762bUL, 0x08e7ea17UL, 0x11cfd42eUL, 0x239fa85cUL, | ||
| 533 | 0x473f50b8UL, 0x8e7ea170UL | ||
| 534 | }, | ||
| 535 | { | ||
| 536 | 0xf891f16fUL, 0x2a52e49fUL, 0x54a5c93eUL, 0xa94b927cUL, 0x89e622b9UL, | ||
| 537 | 0xc8bd4333UL, 0x4a0b8027UL, 0x9417004eUL, 0xf35f06ddUL, 0x3dcf0bfbUL, | ||
| 538 | 0x7b9e17f6UL, 0xf73c2fecUL, 0x35095999UL, 0x6a12b332UL, 0xd4256664UL, | ||
| 539 | 0x733bca89UL, 0xe6779512UL, 0x179e2c65UL, 0x2f3c58caUL, 0x5e78b194UL, | ||
| 540 | 0xbcf16328UL, 0xa293c011UL, 0x9e568663UL, 0xe7dc0a87UL, 0x14c9134fUL, | ||
| 541 | 0x2992269eUL, 0x53244d3cUL, 0xa6489a78UL, 0x97e032b1UL, 0xf4b16323UL, | ||
| 542 | 0x3213c007UL, 0x6427800eUL | ||
| 543 | }, | ||
| 544 | { | ||
| 545 | 0x88b6ba63UL, 0xca1c7287UL, 0x4f49e34fUL, 0x9e93c69eUL, 0xe6568b7dUL, | ||
| 546 | 0x17dc10bbUL, 0x2fb82176UL, 0x5f7042ecUL, 0xbee085d8UL, 0xa6b00df1UL, | ||
| 547 | 0x96111da3UL, 0xf7533d07UL, 0x35d77c4fUL, 0x6baef89eUL, 0xd75df13cUL, | ||
| 548 | 0x75cae439UL, 0xeb95c872UL, 0x0c5a96a5UL, 0x18b52d4aUL, 0x316a5a94UL, | ||
| 549 | 0x62d4b528UL, 0xc5a96a50UL, 0x5023d2e1UL, 0xa047a5c2UL, 0x9bfe4dc5UL, | ||
| 550 | 0xec8d9dcbUL, 0x026a3dd7UL, 0x04d47baeUL, 0x09a8f75cUL, 0x1351eeb8UL, | ||
| 551 | 0x26a3dd70UL, 0x4d47bae0UL | ||
| 552 | }, | ||
| 553 | { | ||
| 554 | 0x5ad8a92cUL, 0xb5b15258UL, 0xb013a2f1UL, 0xbb5643a3UL, 0xaddd8107UL, | ||
| 555 | 0x80ca044fUL, 0xdae50edfUL, 0x6ebb1bffUL, 0xdd7637feUL, 0x619d69bdUL, | ||
| 556 | 0xc33ad37aUL, 0x5d04a0b5UL, 0xba09416aUL, 0xaf638495UL, 0x85b60f6bUL, | ||
| 557 | 0xd01d1897UL, 0x7b4b376fUL, 0xf6966edeUL, 0x365ddbfdUL, 0x6cbbb7faUL, | ||
| 558 | 0xd9776ff4UL, 0x699fd9a9UL, 0xd33fb352UL, 0x7d0e60e5UL, 0xfa1cc1caUL, | ||
| 559 | 0x2f4885d5UL, 0x5e910baaUL, 0xbd221754UL, 0xa13528e9UL, 0x991b5793UL, | ||
| 560 | 0xe947a967UL, 0x09fe548fUL | ||
| 561 | }, | ||
| 562 | { | ||
| 563 | 0xb566f6e2UL, 0xb1bceb85UL, 0xb808d14bUL, 0xab60a4d7UL, 0x8db04fefUL, | ||
| 564 | 0xc011999fUL, 0x5b52357fUL, 0xb6a46afeUL, 0xb639d3bdUL, 0xb702a13bUL, | ||
| 565 | 0xb5744437UL, 0xb1998e2fUL, 0xb8421a1fUL, 0xabf5327fUL, 0x8c9b62bfUL, | ||
| 566 | 0xc247c33fUL, 0x5ffe803fUL, 0xbffd007eUL, 0xa48b06bdUL, 0x92670b3bUL, | ||
| 567 | 0xffbf1037UL, 0x240f262fUL, 0x481e4c5eUL, 0x903c98bcUL, 0xfb083739UL, | ||
| 568 | 0x2d616833UL, 0x5ac2d066UL, 0xb585a0ccUL, 0xb07a47d9UL, 0xbb8589f3UL, | ||
| 569 | 0xac7a15a7UL, 0x83852d0fUL | ||
| 570 | }, | ||
| 571 | { | ||
| 572 | 0x9d9129bfUL, 0xe053553fUL, 0x1bd7ac3fUL, 0x37af587eUL, 0x6f5eb0fcUL, | ||
| 573 | 0xdebd61f8UL, 0x660bc5b1UL, 0xcc178b62UL, 0x435e1085UL, 0x86bc210aUL, | ||
| 574 | 0xd6094455UL, 0x77638eebUL, 0xeec71dd6UL, 0x06ff3dedUL, 0x0dfe7bdaUL, | ||
| 575 | 0x1bfcf7b4UL, 0x37f9ef68UL, 0x6ff3ded0UL, 0xdfe7bda0UL, 0x64be7d01UL, | ||
| 576 | 0xc97cfa02UL, 0x4988f245UL, 0x9311e48aUL, 0xfd52cf55UL, 0x21d498ebUL, | ||
| 577 | 0x43a931d6UL, 0x875263acUL, 0xd5d5c119UL, 0x70da8473UL, 0xe1b508e6UL, | ||
| 578 | 0x181b178dUL, 0x30362f1aUL | ||
| 579 | }, | ||
| 580 | { | ||
| 581 | 0x2ee43a2cUL, 0x5dc87458UL, 0xbb90e8b0UL, 0xac50d721UL, 0x83d0a803UL, | ||
| 582 | 0xdcd05647UL, 0x62d1aacfUL, 0xc5a3559eUL, 0x5037ad7dUL, 0xa06f5afaUL, | ||
| 583 | 0x9bafb3b5UL, 0xec2e612bUL, 0x032dc417UL, 0x065b882eUL, 0x0cb7105cUL, | ||
| 584 | 0x196e20b8UL, 0x32dc4170UL, 0x65b882e0UL, 0xcb7105c0UL, 0x4d930dc1UL, | ||
| 585 | 0x9b261b82UL, 0xed3d3145UL, 0x010b64cbUL, 0x0216c996UL, 0x042d932cUL, | ||
| 586 | 0x085b2658UL, 0x10b64cb0UL, 0x216c9960UL, 0x42d932c0UL, 0x85b26580UL, | ||
| 587 | 0xd015cd41UL, 0x7b5a9cc3UL | ||
| 588 | }, | ||
| 589 | { | ||
| 590 | 0x1b4511eeUL, 0x368a23dcUL, 0x6d1447b8UL, 0xda288f70UL, 0x6f2018a1UL, | ||
| 591 | 0xde403142UL, 0x67f164c5UL, 0xcfe2c98aUL, 0x44b49555UL, 0x89692aaaUL, | ||
| 592 | 0xc9a35315UL, 0x4837a06bUL, 0x906f40d6UL, 0xfbaf87edUL, 0x2c2e099bUL, | ||
| 593 | 0x585c1336UL, 0xb0b8266cUL, 0xba014a99UL, 0xaf739373UL, 0x859620a7UL, | ||
| 594 | 0xd05d470fUL, 0x7bcb885fUL, 0xf79710beUL, 0x345f273dUL, 0x68be4e7aUL, | ||
| 595 | 0xd17c9cf4UL, 0x79883fa9UL, 0xf3107f52UL, 0x3d51f8e5UL, 0x7aa3f1caUL, | ||
| 596 | 0xf547e394UL, 0x31fec169UL | ||
| 597 | }, | ||
| 598 | { | ||
| 599 | 0xbce15202UL, 0xa2b3a245UL, 0x9e1642cbUL, 0xe75d83d7UL, 0x15ca01efUL, | ||
| 600 | 0x2b9403deUL, 0x572807bcUL, 0xae500f78UL, 0x87d118b1UL, 0xd4d33723UL, | ||
| 601 | 0x72d76807UL, 0xe5aed00eUL, 0x102ca65dUL, 0x20594cbaUL, 0x40b29974UL, | ||
| 602 | 0x816532e8UL, 0xd9bb6391UL, 0x6807c163UL, 0xd00f82c6UL, 0x7b6e03cdUL, | ||
| 603 | 0xf6dc079aUL, 0x36c90975UL, 0x6d9212eaUL, 0xdb2425d4UL, 0x6d394de9UL, | ||
| 604 | 0xda729bd2UL, 0x6f9431e5UL, 0xdf2863caUL, 0x6521c1d5UL, 0xca4383aaUL, | ||
| 605 | 0x4ff60115UL, 0x9fec022aUL | ||
| 606 | }, | ||
| 607 | { | ||
| 608 | 0xff08e5efUL, 0x2560cd9fUL, 0x4ac19b3eUL, 0x9583367cUL, 0xf0776ab9UL, | ||
| 609 | 0x3b9fd333UL, 0x773fa666UL, 0xee7f4cccUL, 0x078f9fd9UL, 0x0f1f3fb2UL, | ||
| 610 | 0x1e3e7f64UL, 0x3c7cfec8UL, 0x78f9fd90UL, 0xf1f3fb20UL, 0x3896f001UL, | ||
| 611 | 0x712de002UL, 0xe25bc004UL, 0x1fc68649UL, 0x3f8d0c92UL, 0x7f1a1924UL, | ||
| 612 | 0xfe343248UL, 0x271962d1UL, 0x4e32c5a2UL, 0x9c658b44UL, 0xe3ba10c9UL, | ||
| 613 | 0x1c0527d3UL, 0x380a4fa6UL, 0x70149f4cUL, 0xe0293e98UL, 0x1b237b71UL, | ||
| 614 | 0x3646f6e2UL, 0x6c8dedc4UL | ||
| 615 | }, | ||
| 616 | { | ||
| 617 | 0x6f76172eUL, 0xdeec2e5cUL, 0x66a95af9UL, 0xcd52b5f2UL, 0x41d46da5UL, | ||
| 618 | 0x83a8db4aUL, 0xdc20b0d5UL, 0x633067ebUL, 0xc660cfd6UL, 0x57b099edUL, | ||
| 619 | 0xaf6133daUL, 0x85b361f5UL, 0xd017c5abUL, 0x7b5e8d17UL, 0xf6bd1a2eUL, | ||
| 620 | 0x360b321dUL, 0x6c16643aUL, 0xd82cc874UL, 0x6b2896a9UL, 0xd6512d52UL, | ||
| 621 | 0x77d35ce5UL, 0xefa6b9caUL, 0x043c75d5UL, 0x0878ebaaUL, 0x10f1d754UL, | ||
| 622 | 0x21e3aea8UL, 0x43c75d50UL, 0x878ebaa0UL, 0xd46c7301UL, 0x73a9e043UL, | ||
| 623 | 0xe753c086UL, 0x15d6874dUL | ||
| 624 | }, | ||
| 625 | { | ||
| 626 | 0x56f5cab9UL, 0xadeb9572UL, 0x80a62ca5UL, 0xda3d5f0bUL, 0x6f0bb857UL, | ||
| 627 | 0xde1770aeUL, 0x675fe71dUL, 0xcebfce3aUL, 0x460e9a35UL, 0x8c1d346aUL, | ||
| 628 | 0xc34b6e95UL, 0x5de7db6bUL, 0xbbcfb6d6UL, 0xacee6bedUL, 0x82add19bUL, | ||
| 629 | 0xde2aa577UL, 0x67244cafUL, 0xce48995eUL, 0x47e034fdUL, 0x8fc069faUL, | ||
| 630 | 0xc4f1d5b5UL, 0x5292ad2bUL, 0xa5255a56UL, 0x913bb2edUL, 0xf906639bUL, | ||
| 631 | 0x297dc177UL, 0x52fb82eeUL, 0xa5f705dcUL, 0x909f0df9UL, 0xfa4f1db3UL, | ||
| 632 | 0x2fef3d27UL, 0x5fde7a4eUL | ||
| 633 | }, | ||
| 634 | { | ||
| 635 | 0x385993acUL, 0x70b32758UL, 0xe1664eb0UL, 0x19bd9b21UL, 0x337b3642UL, | ||
| 636 | 0x66f66c84UL, 0xcdecd908UL, 0x40a8b451UL, 0x815168a2UL, 0xd9d3d705UL, | ||
| 637 | 0x68d6a84bUL, 0xd1ad5096UL, 0x782ba76dUL, 0xf0574edaUL, 0x3bdf9bf5UL, | ||
| 638 | 0x77bf37eaUL, 0xef7e6fd4UL, 0x058dd9e9UL, 0x0b1bb3d2UL, 0x163767a4UL, | ||
| 639 | 0x2c6ecf48UL, 0x58dd9e90UL, 0xb1bb3d20UL, 0xb8077c01UL, 0xab7ffe43UL, | ||
| 640 | 0x8d8efac7UL, 0xc06cf3cfUL, 0x5ba8e1dfUL, 0xb751c3beUL, 0xb5d2813dUL, | ||
| 641 | 0xb0d4043bUL, 0xbad90e37UL | ||
| 642 | }, | ||
| 643 | { | ||
| 644 | 0xb4247b20UL, 0xb339f001UL, 0xbd02e643UL, 0xa174cac7UL, 0x999893cfUL, | ||
| 645 | 0xe84021dfUL, 0x0bf145ffUL, 0x17e28bfeUL, 0x2fc517fcUL, 0x5f8a2ff8UL, | ||
| 646 | 0xbf145ff0UL, 0xa559b9a1UL, 0x91c27503UL, 0xf8f5ec47UL, 0x2a9adecfUL, | ||
| 647 | 0x5535bd9eUL, 0xaa6b7b3cUL, 0x8fa7f039UL, 0xc43ee633UL, 0x530cca27UL, | ||
| 648 | 0xa619944eUL, 0x97422eddUL, 0xf5f55bfbUL, 0x309bb1b7UL, 0x6137636eUL, | ||
| 649 | 0xc26ec6dcUL, 0x5fac8bf9UL, 0xbf5917f2UL, 0xa5c329a5UL, 0x90f7550bUL, | ||
| 650 | 0xfa9fac57UL, 0x2e4e5eefUL | ||
| 651 | }, | ||
| 652 | { | ||
| 653 | 0x695186a7UL, 0xd2a30d4eUL, 0x7e371cddUL, 0xfc6e39baUL, 0x23ad7535UL, | ||
| 654 | 0x475aea6aUL, 0x8eb5d4d4UL, 0xc61aafe9UL, 0x57445993UL, 0xae88b326UL, | ||
| 655 | 0x8660600dUL, 0xd7b1c65bUL, 0x74128af7UL, 0xe82515eeUL, 0x0b3b2d9dUL, | ||
| 656 | 0x16765b3aUL, 0x2cecb674UL, 0x59d96ce8UL, 0xb3b2d9d0UL, 0xbc14b5e1UL, | ||
| 657 | 0xa3586d83UL, 0x9dc1dd47UL, 0xe0f2bccfUL, 0x1a947fdfUL, 0x3528ffbeUL, | ||
| 658 | 0x6a51ff7cUL, 0xd4a3fef8UL, 0x7236fbb1UL, 0xe46df762UL, 0x13aae885UL, | ||
| 659 | 0x2755d10aUL, 0x4eaba214UL | ||
| 660 | }, | ||
| 661 | { | ||
| 662 | 0x66bc001eUL, 0xcd78003cUL, 0x41810639UL, 0x83020c72UL, 0xdd751ea5UL, | ||
| 663 | 0x619b3b0bUL, 0xc3367616UL, 0x5d1dea6dUL, 0xba3bd4daUL, 0xaf06aff5UL, | ||
| 664 | 0x857c59abUL, 0xd189b517UL, 0x78626c6fUL, 0xf0c4d8deUL, 0x3af8b7fdUL, | ||
| 665 | 0x75f16ffaUL, 0xebe2dff4UL, 0x0cb4b9a9UL, 0x19697352UL, 0x32d2e6a4UL, | ||
| 666 | 0x65a5cd48UL, 0xcb4b9a90UL, 0x4de63361UL, 0x9bcc66c2UL, 0xece9cbc5UL, | ||
| 667 | 0x02a291cbUL, 0x05452396UL, 0x0a8a472cUL, 0x15148e58UL, 0x2a291cb0UL, | ||
| 668 | 0x54523960UL, 0xa8a472c0UL | ||
| 669 | }, | ||
| 670 | { | ||
| 671 | 0xb58b27b3UL, 0xb0674927UL, 0xbbbf940fUL, 0xac0e2e5fUL, 0x836d5affUL, | ||
| 672 | 0xddabb3bfUL, 0x6026613fUL, 0xc04cc27eUL, 0x5be882bdUL, 0xb7d1057aUL, | ||
| 673 | 0xb4d30cb5UL, 0xb2d71f2bUL, 0xbedf3817UL, 0xa6cf766fUL, 0x96efea9fUL, | ||
| 674 | 0xf6aed37fUL, 0x362ca0bfUL, 0x6c59417eUL, 0xd8b282fcUL, 0x6a1403b9UL, | ||
| 675 | 0xd4280772UL, 0x732108a5UL, 0xe642114aUL, 0x17f524d5UL, 0x2fea49aaUL, | ||
| 676 | 0x5fd49354UL, 0xbfa926a8UL, 0xa4234b11UL, 0x93379063UL, 0xfd1e2687UL, | ||
| 677 | 0x214d4b4fUL, 0x429a969eUL | ||
| 678 | }, | ||
| 679 | { | ||
| 680 | 0xfe273162UL, 0x273f6485UL, 0x4e7ec90aUL, 0x9cfd9214UL, 0xe28a2269UL, | ||
| 681 | 0x1e654293UL, 0x3cca8526UL, 0x79950a4cUL, 0xf32a1498UL, 0x3d252f71UL, | ||
| 682 | 0x7a4a5ee2UL, 0xf494bdc4UL, 0x32587dc9UL, 0x64b0fb92UL, 0xc961f724UL, | ||
| 683 | 0x49b2e809UL, 0x9365d012UL, 0xfdbaa665UL, 0x20044a8bUL, 0x40089516UL, | ||
| 684 | 0x80112a2cUL, 0xdb535219UL, 0x6dd7a273UL, 0xdbaf44e6UL, 0x6c2f8f8dUL, | ||
| 685 | 0xd85f1f1aUL, 0x6bcf3875UL, 0xd79e70eaUL, 0x744de795UL, 0xe89bcf2aUL, | ||
| 686 | 0x0a469815UL, 0x148d302aUL | ||
| 687 | }, | ||
| 688 | { | ||
| 689 | 0xd3c98813UL, 0x7ce21667UL, 0xf9c42cceUL, 0x28f95fddUL, 0x51f2bfbaUL, | ||
| 690 | 0xa3e57f74UL, 0x9cbbf8a9UL, 0xe206f713UL, 0x1f7ce867UL, 0x3ef9d0ceUL, | ||
| 691 | 0x7df3a19cUL, 0xfbe74338UL, 0x2cbf8031UL, 0x597f0062UL, 0xb2fe00c4UL, | ||
| 692 | 0xbe8d07c9UL, 0xa66b09d3UL, 0x97a715e7UL, 0xf43f2d8fUL, 0x330f5d5fUL, | ||
| 693 | 0x661ebabeUL, 0xcc3d757cUL, 0x430becb9UL, 0x8617d972UL, 0xd75eb4a5UL, | ||
| 694 | 0x75cc6f0bUL, 0xeb98de16UL, 0x0c40ba6dUL, 0x188174daUL, 0x3102e9b4UL, | ||
| 695 | 0x6205d368UL, 0xc40ba6d0UL | ||
| 696 | }, | ||
| 697 | { | ||
| 698 | 0xf7d6deb4UL, 0x34dcbb29UL, 0x69b97652UL, 0xd372eca4UL, 0x7d94df09UL, | ||
| 699 | 0xfb29be12UL, 0x2d227a65UL, 0x5a44f4caUL, 0xb489e994UL, 0xb262d569UL, | ||
| 700 | 0xbfb4ac93UL, 0xa4185f67UL, 0x9341b88fUL, 0xfdf2775fUL, 0x2095e8ffUL, | ||
| 701 | 0x412bd1feUL, 0x8257a3fcUL, 0xdfde41b9UL, 0x64cd8533UL, 0xc99b0a66UL, | ||
| 702 | 0x4847128dUL, 0x908e251aUL, 0xfa6d4c75UL, 0x2fab9eabUL, 0x5f573d56UL, | ||
| 703 | 0xbeae7aacUL, 0xa62df319UL, 0x972ae073UL, 0xf524c6a7UL, 0x31388b0fUL, | ||
| 704 | 0x6271161eUL, 0xc4e22c3cUL | ||
| 705 | }, | ||
| 706 | { | ||
| 707 | 0xedb88320UL, 0x00000001UL, 0x00000002UL, 0x00000004UL, 0x00000008UL, | ||
| 708 | 0x00000010UL, 0x00000020UL, 0x00000040UL, 0x00000080UL, 0x00000100UL, | ||
| 709 | 0x00000200UL, 0x00000400UL, 0x00000800UL, 0x00001000UL, 0x00002000UL, | ||
| 710 | 0x00004000UL, 0x00008000UL, 0x00010000UL, 0x00020000UL, 0x00040000UL, | ||
| 711 | 0x00080000UL, 0x00100000UL, 0x00200000UL, 0x00400000UL, 0x00800000UL, | ||
| 712 | 0x01000000UL, 0x02000000UL, 0x04000000UL, 0x08000000UL, 0x10000000UL, | ||
| 713 | 0x20000000UL, 0x40000000UL | ||
| 714 | }, | ||
| 715 | { | ||
| 716 | 0x76dc4190UL, 0xedb88320UL, 0x00000001UL, 0x00000002UL, 0x00000004UL, | ||
| 717 | 0x00000008UL, 0x00000010UL, 0x00000020UL, 0x00000040UL, 0x00000080UL, | ||
| 718 | 0x00000100UL, 0x00000200UL, 0x00000400UL, 0x00000800UL, 0x00001000UL, | ||
| 719 | 0x00002000UL, 0x00004000UL, 0x00008000UL, 0x00010000UL, 0x00020000UL, | ||
| 720 | 0x00040000UL, 0x00080000UL, 0x00100000UL, 0x00200000UL, 0x00400000UL, | ||
| 721 | 0x00800000UL, 0x01000000UL, 0x02000000UL, 0x04000000UL, 0x08000000UL, | ||
| 722 | 0x10000000UL, 0x20000000UL | ||
| 723 | }, | ||
| 724 | { | ||
| 725 | 0x1db71064UL, 0x3b6e20c8UL, 0x76dc4190UL, 0xedb88320UL, 0x00000001UL, | ||
| 726 | 0x00000002UL, 0x00000004UL, 0x00000008UL, 0x00000010UL, 0x00000020UL, | ||
| 727 | 0x00000040UL, 0x00000080UL, 0x00000100UL, 0x00000200UL, 0x00000400UL, | ||
| 728 | 0x00000800UL, 0x00001000UL, 0x00002000UL, 0x00004000UL, 0x00008000UL, | ||
| 729 | 0x00010000UL, 0x00020000UL, 0x00040000UL, 0x00080000UL, 0x00100000UL, | ||
| 730 | 0x00200000UL, 0x00400000UL, 0x00800000UL, 0x01000000UL, 0x02000000UL, | ||
| 731 | 0x04000000UL, 0x08000000UL | ||
| 732 | } | ||
| 733 | }; | ||
