/src/wolfssl-sp-math/wolfcrypt/src/sp_sm2_x86_64.c
Line | Count | Source |
1 | | /* sp.c |
2 | | * |
3 | | * Copyright (C) 2006-2025 wolfSSL Inc. |
4 | | * |
5 | | * This file is part of wolfSSL. |
6 | | * |
7 | | * wolfSSL is free software; you can redistribute it and/or modify |
8 | | * it under the terms of the GNU General Public License as published by |
9 | | * the Free Software Foundation; either version 2 of the License, or |
10 | | * (at your option) any later version. |
11 | | * |
12 | | * wolfSSL is distributed in the hope that it will be useful, |
13 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
15 | | * GNU General Public License for more details. |
16 | | * |
17 | | * You should have received a copy of the GNU General Public License |
18 | | * along with this program; if not, write to the Free Software |
19 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA |
20 | | */ |
21 | | |
22 | | /* Implementation by Sean Parkinson. */ |
23 | | |
24 | | #include <wolfssl/wolfcrypt/libwolfssl_sources.h> |
25 | | |
26 | | #if defined(WOLFSSL_HAVE_SP_RSA) || defined(WOLFSSL_HAVE_SP_DH) || \ |
27 | | defined(WOLFSSL_HAVE_SP_ECC) |
28 | | |
29 | | #include <wolfssl/wolfcrypt/cpuid.h> |
30 | | #ifdef NO_INLINE |
31 | | #include <wolfssl/wolfcrypt/misc.h> |
32 | | #else |
33 | | #define WOLFSSL_MISC_INCLUDED |
34 | | #include <wolfcrypt/src/misc.c> |
35 | | #endif |
36 | | |
37 | | #ifdef RSA_LOW_MEM |
38 | | #ifndef WOLFSSL_SP_SMALL |
39 | | #define WOLFSSL_SP_SMALL |
40 | | #endif |
41 | | #endif |
42 | | |
43 | | #if defined(WOLFSSL_SMALL_STACK) && !defined(WOLFSSL_SP_NO_MALLOC) |
44 | | #undef WOLFSSL_SP_SMALL_STACK |
45 | | #define WOLFSSL_SP_SMALL_STACK |
46 | | #endif |
47 | | |
48 | | #include <wolfssl/wolfcrypt/sp.h> |
49 | | |
50 | | #ifdef __IAR_SYSTEMS_ICC__ |
51 | | #define __asm__ asm |
52 | | #define __volatile__ volatile |
53 | | #define WOLFSSL_NO_VAR_ASSIGN_REG |
54 | | #endif /* __IAR_SYSTEMS_ICC__ */ |
55 | | #ifdef __KEIL__ |
56 | | #define __asm__ __asm |
57 | | #define __volatile__ volatile |
58 | | #endif |
59 | | |
60 | | #ifdef WOLFSSL_SP_X86_64_ASM |
61 | | #define SP_PRINT_NUM(var, name, total, words, bits) \ |
62 | | do { \ |
63 | | int ii; \ |
64 | | fprintf(stderr, name "=0x"); \ |
65 | | for (ii = (((bits) + 63) / 64) - 1; ii >= 0; ii--) \ |
66 | | fprintf(stderr, SP_PRINT_FMT, (var)[ii]); \ |
67 | | fprintf(stderr, "\n"); \ |
68 | | } while (0) |
69 | | |
70 | | #define SP_PRINT_VAL(var, name) \ |
71 | | fprintf(stderr, name "=0x" SP_PRINT_FMT "\n", var) |
72 | | |
73 | | #define SP_PRINT_INT(var, name) \ |
74 | | fprintf(stderr, name "=%d\n", var) |
75 | | |
76 | | #ifdef WOLFSSL_HAVE_SP_ECC |
77 | | #ifdef WOLFSSL_SP_SM2 |
78 | | |
79 | | /* Point structure to use. */ |
80 | | typedef struct sp_point_256 { |
81 | | /* X ordinate of point. */ |
82 | | sp_digit x[2 * 4]; |
83 | | /* Y ordinate of point. */ |
84 | | sp_digit y[2 * 4]; |
85 | | /* Z ordinate of point. */ |
86 | | sp_digit z[2 * 4]; |
87 | | /* Indicates point is at infinity. */ |
88 | | int infinity; |
89 | | } sp_point_256; |
90 | | |
91 | | /* The modulus (prime) of the curve SM2 P256. */ |
92 | | static const sp_digit p256_sm2_mod[4] = { |
93 | | 0xffffffffffffffffL,0xffffffff00000000L,0xffffffffffffffffL, |
94 | | 0xfffffffeffffffffL |
95 | | }; |
96 | | /* The Montgomery normalizer for modulus of the curve P256. */ |
97 | | static const sp_digit p256_sm2_norm_mod[4] = { |
98 | | 0x0000000000000001L,0x00000000ffffffffL,0x0000000000000000L, |
99 | | 0x0000000100000000L |
100 | | }; |
101 | | /* The Montgomery multiplier for modulus of the curve P256. */ |
102 | | static const sp_digit p256_sm2_mp_mod = 0x0000000000000001; |
103 | | #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \ |
104 | | defined(HAVE_ECC_VERIFY) |
105 | | /* The order of the curve P256. */ |
106 | | static const sp_digit p256_sm2_order[4] = { |
107 | | 0x53bbf40939d54123L,0x7203df6b21c6052bL,0xffffffffffffffffL, |
108 | | 0xfffffffeffffffffL |
109 | | }; |
110 | | #endif |
111 | | /* The order of the curve P256 minus 2. */ |
112 | | static const sp_digit p256_sm2_order2[4] = { |
113 | | 0x53bbf40939d54121L,0x7203df6b21c6052bL,0xffffffffffffffffL, |
114 | | 0xfffffffeffffffffL |
115 | | }; |
116 | | #if defined(HAVE_ECC_SIGN) |
117 | | /* The Montgomery normalizer for order of the curve P256. */ |
118 | | static const sp_digit p256_sm2_norm_order[4] = { |
119 | | 0xac440bf6c62abeddL,0x8dfc2094de39fad4L,0x0000000000000000L, |
120 | | 0x0000000100000000L |
121 | | }; |
122 | | #endif |
123 | | #if defined(HAVE_ECC_SIGN) |
124 | | /* The Montgomery multiplier for order of the curve P256. */ |
125 | | static const sp_digit p256_sm2_mp_order = 0x327f9e8872350975L; |
126 | | #endif |
127 | | #ifdef WOLFSSL_SP_SMALL |
128 | | /* The base point of curve P256. */ |
129 | | static const sp_point_256 p256_sm2_base = { |
130 | | /* X ordinate */ |
131 | | { |
132 | | 0x715a4589334c74c7L,0x8fe30bbff2660be1L,0x5f9904466a39c994L, |
133 | | 0x32c4ae2c1f198119L, |
134 | | (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0 |
135 | | }, |
136 | | /* Y ordinate */ |
137 | | { |
138 | | 0x02df32e52139f0a0L,0xd0a9877cc62a4740L,0x59bdcee36b692153L, |
139 | | 0xbc3736a2f4f6779cL, |
140 | | (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0 |
141 | | }, |
142 | | /* Z ordinate */ |
143 | | { |
144 | | 0x0000000000000001L,0x0000000000000000L,0x0000000000000000L, |
145 | | 0x0000000000000000L, |
146 | | (sp_digit)0, (sp_digit)0, (sp_digit)0, (sp_digit)0 |
147 | | }, |
148 | | /* infinity */ |
149 | | 0 |
150 | | }; |
151 | | #endif /* WOLFSSL_SP_SMALL */ |
152 | | #if defined(HAVE_ECC_CHECK_KEY) || defined(HAVE_COMP_KEY) |
153 | | static const sp_digit p256_sm2_b[4] = { |
154 | | 0xddbcbd414d940e93L,0xf39789f515ab8f92L,0x4d5a9e4bcf6509a7L, |
155 | | 0x28e9fa9e9d9f5e34L |
156 | | }; |
157 | | #endif |
158 | | |
159 | | #ifdef __cplusplus |
160 | | extern "C" { |
161 | | #endif |
162 | | extern void sp_256_mul_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b); |
163 | | #ifdef __cplusplus |
164 | | } |
165 | | #endif |
166 | | #ifdef HAVE_INTEL_AVX2 |
167 | | #ifdef __cplusplus |
168 | | extern "C" { |
169 | | #endif |
170 | | extern void sp_256_mul_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b); |
171 | | #ifdef __cplusplus |
172 | | } |
173 | | #endif |
174 | | #endif /* HAVE_INTEL_AVX2 */ |
175 | | #ifdef __cplusplus |
176 | | extern "C" { |
177 | | #endif |
178 | | extern void sp_256_sqr_sm2_4(sp_digit* r, const sp_digit* a); |
179 | | #ifdef __cplusplus |
180 | | } |
181 | | #endif |
182 | | #ifdef HAVE_INTEL_AVX2 |
183 | | #ifdef __cplusplus |
184 | | extern "C" { |
185 | | #endif |
186 | | extern void sp_256_sqr_avx2_sm2_4(sp_digit* r, const sp_digit* a); |
187 | | #ifdef __cplusplus |
188 | | } |
189 | | #endif |
190 | | #endif /* HAVE_INTEL_AVX2 */ |
191 | | #ifdef __cplusplus |
192 | | extern "C" { |
193 | | #endif |
194 | | extern sp_digit sp_256_add_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b); |
195 | | #ifdef __cplusplus |
196 | | } |
197 | | #endif |
198 | | #ifdef __cplusplus |
199 | | extern "C" { |
200 | | #endif |
201 | | extern sp_digit sp_256_sub_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b); |
202 | | #ifdef __cplusplus |
203 | | } |
204 | | #endif |
205 | | #ifdef __cplusplus |
206 | | extern "C" { |
207 | | #endif |
208 | | extern sp_digit sp_256_sub_in_place_sm2_4(sp_digit* a, const sp_digit* b); |
209 | | #ifdef __cplusplus |
210 | | } |
211 | | #endif |
212 | | #ifdef __cplusplus |
213 | | extern "C" { |
214 | | #endif |
215 | | extern sp_digit sp_256_cond_sub_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m); |
216 | | #ifdef __cplusplus |
217 | | } |
218 | | #endif |
219 | | #ifdef __cplusplus |
220 | | extern "C" { |
221 | | #endif |
222 | | extern sp_digit sp_256_cond_sub_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m); |
223 | | #ifdef __cplusplus |
224 | | } |
225 | | #endif |
226 | | #ifdef __cplusplus |
227 | | extern "C" { |
228 | | #endif |
229 | | extern void sp_256_mul_d_sm2_4(sp_digit* r, const sp_digit* a, sp_digit b); |
230 | | #ifdef __cplusplus |
231 | | } |
232 | | #endif |
233 | | #ifdef __cplusplus |
234 | | extern "C" { |
235 | | #endif |
236 | | extern void sp_256_mul_d_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit b); |
237 | | #ifdef __cplusplus |
238 | | } |
239 | | #endif |
240 | | #if defined(_WIN64) && !defined(__clang__) |
241 | | #if _MSC_VER < 1920 |
242 | | #ifdef __cplusplus |
243 | | extern "C" { |
244 | | #endif |
245 | | extern sp_digit div_256_word_asm_4(sp_digit d1, sp_digit d0, sp_digit div); |
246 | | #ifdef __cplusplus |
247 | | } |
248 | | #endif |
249 | | #endif /* _MSC_VER < 1920 */ |
250 | | /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div) |
251 | | * |
252 | | * d1 The high order half of the number to divide. |
253 | | * d0 The low order half of the number to divide. |
254 | | * div The dividend. |
255 | | * returns the result of the division. |
256 | | */ |
257 | | static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0, |
258 | | sp_digit div) |
259 | | { |
260 | | ASSERT_SAVED_VECTOR_REGISTERS(); |
261 | | #if _MSC_VER >= 1920 |
262 | | return _udiv128(d1, d0, div, NULL); |
263 | | #else |
264 | | return div_256_word_asm_4(d1, d0, div); |
265 | | #endif |
266 | | } |
267 | | #else |
268 | | /* Divide the double width number (d1|d0) by the dividend. (d1|d0 / div) |
269 | | * |
270 | | * d1 The high order half of the number to divide. |
271 | | * d0 The low order half of the number to divide. |
272 | | * div The dividend. |
273 | | * returns the result of the division. |
274 | | */ |
275 | | static WC_INLINE sp_digit div_256_word_4(sp_digit d1, sp_digit d0, |
276 | | sp_digit div) |
277 | 0 | { |
278 | 0 | register sp_digit r asm("rax"); |
279 | 0 | ASSERT_SAVED_VECTOR_REGISTERS(); |
280 | 0 | __asm__ __volatile__ ( |
281 | 0 | "divq %3" |
282 | 0 | : "=a" (r) |
283 | 0 | : "d" (d1), "a" (d0), "r" (div) |
284 | 0 | : |
285 | 0 | ); |
286 | 0 | return r; |
287 | 0 | } |
288 | | #endif /* _WIN64 && !__clang__ */ |
289 | | /* AND m into each word of a and store in r. |
290 | | * |
291 | | * r A single precision integer. |
292 | | * a A single precision integer. |
293 | | * m Mask to AND against each digit. |
294 | | */ |
295 | | static void sp_256_mask_4(sp_digit* r, const sp_digit* a, sp_digit m) |
296 | 0 | { |
297 | | #ifdef WOLFSSL_SP_SMALL |
298 | | int i; |
299 | | |
300 | | for (i=0; i<4; i++) { |
301 | | r[i] = a[i] & m; |
302 | | } |
303 | | #else |
304 | 0 | r[0] = a[0] & m; |
305 | 0 | r[1] = a[1] & m; |
306 | 0 | r[2] = a[2] & m; |
307 | 0 | r[3] = a[3] & m; |
308 | 0 | #endif |
309 | 0 | } |
310 | | |
311 | | #ifdef __cplusplus |
312 | | extern "C" { |
313 | | #endif |
314 | | extern sp_int64 sp_256_cmp_sm2_4(const sp_digit* a, const sp_digit* b); |
315 | | #ifdef __cplusplus |
316 | | } |
317 | | #endif |
318 | | /* Divide d in a and put remainder into r (m*d + r = a) |
319 | | * m is not calculated as it is not needed at this time. |
320 | | * |
321 | | * a Number to be divided. |
322 | | * d Number to divide with. |
323 | | * m Multiplier result. |
324 | | * r Remainder from the division. |
325 | | * returns MP_OKAY indicating success. |
326 | | */ |
327 | | static WC_INLINE int sp_256_div_sm2_4(const sp_digit* a, const sp_digit* d, sp_digit* m, |
328 | | sp_digit* r) |
329 | 0 | { |
330 | 0 | sp_digit t1[8]; |
331 | 0 | sp_digit t2[5]; |
332 | 0 | sp_digit div; |
333 | 0 | sp_digit r1; |
334 | 0 | int i; |
335 | 0 | #ifdef HAVE_INTEL_AVX2 |
336 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
337 | 0 | #endif |
338 | |
|
339 | 0 | ASSERT_SAVED_VECTOR_REGISTERS(); |
340 | |
|
341 | 0 | (void)m; |
342 | |
|
343 | 0 | div = d[3]; |
344 | 0 | XMEMCPY(t1, a, sizeof(*t1) * 2 * 4); |
345 | 0 | r1 = sp_256_cmp_sm2_4(&t1[4], d) >= 0; |
346 | 0 | #ifdef HAVE_INTEL_AVX2 |
347 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
348 | 0 | sp_256_cond_sub_avx2_sm2_4(&t1[4], &t1[4], d, (sp_digit)0 - r1); |
349 | 0 | else |
350 | 0 | #endif |
351 | 0 | sp_256_cond_sub_sm2_4(&t1[4], &t1[4], d, (sp_digit)0 - r1); |
352 | 0 | for (i = 3; i >= 0; i--) { |
353 | 0 | sp_digit mask = (sp_digit)0 - (t1[4 + i] == div); |
354 | 0 | sp_digit hi = t1[4 + i] + mask; |
355 | 0 | r1 = div_256_word_4(hi, t1[4 + i - 1], div); |
356 | 0 | r1 |= mask; |
357 | |
|
358 | 0 | #ifdef HAVE_INTEL_AVX2 |
359 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
360 | 0 | sp_256_mul_d_avx2_sm2_4(t2, d, r1); |
361 | 0 | else |
362 | 0 | #endif |
363 | 0 | sp_256_mul_d_sm2_4(t2, d, r1); |
364 | 0 | t1[4 + i] += sp_256_sub_in_place_sm2_4(&t1[i], t2); |
365 | 0 | t1[4 + i] -= t2[4]; |
366 | 0 | sp_256_mask_4(t2, d, t1[4 + i]); |
367 | 0 | t1[4 + i] += sp_256_add_sm2_4(&t1[i], &t1[i], t2); |
368 | 0 | sp_256_mask_4(t2, d, t1[4 + i]); |
369 | 0 | t1[4 + i] += sp_256_add_sm2_4(&t1[i], &t1[i], t2); |
370 | 0 | } |
371 | |
|
372 | 0 | r1 = sp_256_cmp_sm2_4(t1, d) >= 0; |
373 | 0 | #ifdef HAVE_INTEL_AVX2 |
374 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
375 | 0 | sp_256_cond_sub_avx2_sm2_4(r, t1, d, (sp_digit)0 - r1); |
376 | 0 | else |
377 | 0 | #endif |
378 | 0 | sp_256_cond_sub_sm2_4(r, t1, d, (sp_digit)0 - r1); |
379 | |
|
380 | 0 | return MP_OKAY; |
381 | 0 | } |
382 | | |
383 | | /* Reduce a modulo m into r. (r = a mod m) |
384 | | * |
385 | | * r A single precision number that is the reduced result. |
386 | | * a A single precision number that is to be reduced. |
387 | | * m A single precision number that is the modulus to reduce with. |
388 | | * returns MP_OKAY indicating success. |
389 | | */ |
390 | | static WC_INLINE int sp_256_mod_sm2_4(sp_digit* r, const sp_digit* a, |
391 | | const sp_digit* m) |
392 | 0 | { |
393 | 0 | ASSERT_SAVED_VECTOR_REGISTERS(); |
394 | 0 | return sp_256_div_sm2_4(a, m, NULL, r); |
395 | 0 | } |
396 | | |
397 | | /* Multiply a number by Montgomery normalizer mod modulus (prime). |
398 | | * |
399 | | * r The resulting Montgomery form number. |
400 | | * a The number to convert. |
401 | | * m The modulus (prime). |
402 | | * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise. |
403 | | */ |
404 | | static int sp_256_mod_mul_norm_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m) |
405 | 0 | { |
406 | 0 | sp_256_mul_sm2_4(r, a, p256_sm2_norm_mod); |
407 | 0 | return sp_256_mod_sm2_4(r, r, m); |
408 | 0 | } |
409 | | |
410 | | /* Convert an mp_int to an array of sp_digit. |
411 | | * |
412 | | * r A single precision integer. |
413 | | * size Maximum number of bytes to convert |
414 | | * a A multi-precision integer. |
415 | | */ |
416 | | static void sp_256_from_mp(sp_digit* r, int size, const mp_int* a) |
417 | 0 | { |
418 | 0 | #if DIGIT_BIT == 64 |
419 | 0 | int i; |
420 | 0 | sp_digit j = (sp_digit)0 - (sp_digit)a->used; |
421 | 0 | int o = 0; |
422 | |
|
423 | 0 | for (i = 0; i < size; i++) { |
424 | 0 | sp_digit mask = (sp_digit)0 - (j >> 63); |
425 | 0 | r[i] = a->dp[o] & mask; |
426 | 0 | j++; |
427 | 0 | o += (int)(j >> 63); |
428 | 0 | } |
429 | | #elif DIGIT_BIT > 64 |
430 | | unsigned int i; |
431 | | int j = 0; |
432 | | word32 s = 0; |
433 | | |
434 | | r[0] = 0; |
435 | | for (i = 0; i < (unsigned int)a->used && j < size; i++) { |
436 | | r[j] |= ((sp_digit)a->dp[i] << s); |
437 | | r[j] &= 0xffffffffffffffffl; |
438 | | s = 64U - s; |
439 | | if (j + 1 >= size) { |
440 | | break; |
441 | | } |
442 | | /* lint allow cast of mismatch word32 and mp_digit */ |
443 | | r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/ |
444 | | while ((s + 64U) <= (word32)DIGIT_BIT) { |
445 | | s += 64U; |
446 | | r[j] &= 0xffffffffffffffffl; |
447 | | if (j + 1 >= size) { |
448 | | break; |
449 | | } |
450 | | if (s < (word32)DIGIT_BIT) { |
451 | | /* lint allow cast of mismatch word32 and mp_digit */ |
452 | | r[++j] = (sp_digit)(a->dp[i] >> s); /*lint !e9033*/ |
453 | | } |
454 | | else { |
455 | | r[++j] = (sp_digit)0; |
456 | | } |
457 | | } |
458 | | s = (word32)DIGIT_BIT - s; |
459 | | } |
460 | | |
461 | | for (j++; j < size; j++) { |
462 | | r[j] = 0; |
463 | | } |
464 | | #else |
465 | | unsigned int i; |
466 | | int j = 0; |
467 | | int s = 0; |
468 | | |
469 | | r[0] = 0; |
470 | | for (i = 0; i < (unsigned int)a->used && j < size; i++) { |
471 | | r[j] |= ((sp_digit)a->dp[i]) << s; |
472 | | if (s + DIGIT_BIT >= 64) { |
473 | | r[j] &= 0xffffffffffffffffl; |
474 | | if (j + 1 >= size) { |
475 | | break; |
476 | | } |
477 | | s = 64 - s; |
478 | | if (s == DIGIT_BIT) { |
479 | | r[++j] = 0; |
480 | | s = 0; |
481 | | } |
482 | | else { |
483 | | r[++j] = a->dp[i] >> s; |
484 | | s = DIGIT_BIT - s; |
485 | | } |
486 | | } |
487 | | else { |
488 | | s += DIGIT_BIT; |
489 | | } |
490 | | } |
491 | | |
492 | | for (j++; j < size; j++) { |
493 | | r[j] = 0; |
494 | | } |
495 | | #endif |
496 | 0 | } |
497 | | |
498 | | /* Convert a point of type ecc_point to type sp_point_256. |
499 | | * |
500 | | * p Point of type sp_point_256 (result). |
501 | | * pm Point of type ecc_point. |
502 | | */ |
503 | | static void sp_256_point_from_ecc_point_4(sp_point_256* p, |
504 | | const ecc_point* pm) |
505 | 0 | { |
506 | 0 | XMEMSET(p->x, 0, sizeof(p->x)); |
507 | 0 | XMEMSET(p->y, 0, sizeof(p->y)); |
508 | 0 | XMEMSET(p->z, 0, sizeof(p->z)); |
509 | 0 | sp_256_from_mp(p->x, 4, pm->x); |
510 | 0 | sp_256_from_mp(p->y, 4, pm->y); |
511 | 0 | sp_256_from_mp(p->z, 4, pm->z); |
512 | 0 | p->infinity = 0; |
513 | 0 | } |
514 | | |
515 | | /* Convert an array of sp_digit to an mp_int. |
516 | | * |
517 | | * a A single precision integer. |
518 | | * r A multi-precision integer. |
519 | | */ |
520 | | static int sp_256_to_mp(const sp_digit* a, mp_int* r) |
521 | 0 | { |
522 | 0 | int err; |
523 | |
|
524 | 0 | err = mp_grow(r, (256 + DIGIT_BIT - 1) / DIGIT_BIT); |
525 | 0 | if (err == MP_OKAY) { /*lint !e774 case where err is always MP_OKAY*/ |
526 | 0 | #if DIGIT_BIT == 64 |
527 | 0 | XMEMCPY(r->dp, a, sizeof(sp_digit) * 4); |
528 | 0 | r->used = 4; |
529 | 0 | mp_clamp(r); |
530 | | #elif DIGIT_BIT < 64 |
531 | | int i; |
532 | | int j = 0; |
533 | | int s = 0; |
534 | | |
535 | | r->dp[0] = 0; |
536 | | for (i = 0; i < 4; i++) { |
537 | | r->dp[j] |= (mp_digit)(a[i] << s); |
538 | | r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1; |
539 | | s = DIGIT_BIT - s; |
540 | | r->dp[++j] = (mp_digit)(a[i] >> s); |
541 | | while (s + DIGIT_BIT <= 64) { |
542 | | s += DIGIT_BIT; |
543 | | r->dp[j++] &= ((sp_digit)1 << DIGIT_BIT) - 1; |
544 | | if (s == SP_WORD_SIZE) { |
545 | | r->dp[j] = 0; |
546 | | } |
547 | | else { |
548 | | r->dp[j] = (mp_digit)(a[i] >> s); |
549 | | } |
550 | | } |
551 | | s = 64 - s; |
552 | | } |
553 | | r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT; |
554 | | mp_clamp(r); |
555 | | #else |
556 | | int i; |
557 | | int j = 0; |
558 | | int s = 0; |
559 | | |
560 | | r->dp[0] = 0; |
561 | | for (i = 0; i < 4; i++) { |
562 | | r->dp[j] |= ((mp_digit)a[i]) << s; |
563 | | if (s + 64 >= DIGIT_BIT) { |
564 | | #if DIGIT_BIT != 32 && DIGIT_BIT != 64 |
565 | | r->dp[j] &= ((sp_digit)1 << DIGIT_BIT) - 1; |
566 | | #endif |
567 | | s = DIGIT_BIT - s; |
568 | | r->dp[++j] = a[i] >> s; |
569 | | s = 64 - s; |
570 | | } |
571 | | else { |
572 | | s += 64; |
573 | | } |
574 | | } |
575 | | r->used = (256 + DIGIT_BIT - 1) / DIGIT_BIT; |
576 | | mp_clamp(r); |
577 | | #endif |
578 | 0 | } |
579 | |
|
580 | 0 | return err; |
581 | 0 | } |
582 | | |
583 | | /* Convert a point of type sp_point_256 to type ecc_point. |
584 | | * |
585 | | * p Point of type sp_point_256. |
586 | | * pm Point of type ecc_point (result). |
587 | | * returns MEMORY_E when allocation of memory in ecc_point fails otherwise |
588 | | * MP_OKAY. |
589 | | */ |
590 | | static int sp_256_point_to_ecc_point_4(const sp_point_256* p, ecc_point* pm) |
591 | 0 | { |
592 | 0 | int err; |
593 | |
|
594 | 0 | err = sp_256_to_mp(p->x, pm->x); |
595 | 0 | if (err == MP_OKAY) { |
596 | 0 | err = sp_256_to_mp(p->y, pm->y); |
597 | 0 | } |
598 | 0 | if (err == MP_OKAY) { |
599 | 0 | err = sp_256_to_mp(p->z, pm->z); |
600 | 0 | } |
601 | |
|
602 | 0 | return err; |
603 | 0 | } |
604 | | |
605 | | #ifdef __cplusplus |
606 | | extern "C" { |
607 | | #endif |
608 | | extern void sp_256_cond_copy_sm2_4(sp_digit* r, const sp_digit* a, sp_digit m); |
609 | | #ifdef __cplusplus |
610 | | } |
611 | | #endif |
612 | | #ifdef __cplusplus |
613 | | extern "C" { |
614 | | #endif |
615 | | extern void sp_256_mont_mul_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp); |
616 | | #ifdef __cplusplus |
617 | | } |
618 | | #endif |
619 | | #ifdef __cplusplus |
620 | | extern "C" { |
621 | | #endif |
622 | | extern void sp_256_mont_sqr_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp); |
623 | | #ifdef __cplusplus |
624 | | } |
625 | | #endif |
626 | | #if !defined(WOLFSSL_SP_SMALL) |
627 | | /* Square the Montgomery form number a number of times. (r = a ^ n mod m) |
628 | | * |
629 | | * r Result of squaring. |
630 | | * a Number to square in Montgomery form. |
631 | | * n Number of times to square. |
632 | | * m Modulus (prime). |
633 | | * mp Montgomery multiplier. |
634 | | */ |
635 | | SP_NOINLINE static void sp_256_mont_sqr_n_sm2_4(sp_digit* r, |
636 | | const sp_digit* a, int n, const sp_digit* m, sp_digit mp) |
637 | 0 | { |
638 | 0 | sp_256_mont_sqr_sm2_4(r, a, m, mp); |
639 | 0 | for (; n > 1; n--) { |
640 | 0 | sp_256_mont_sqr_sm2_4(r, r, m, mp); |
641 | 0 | } |
642 | 0 | } |
643 | | |
644 | | #endif /* !WOLFSSL_SP_SMALL */ |
645 | | #ifdef WOLFSSL_SP_SMALL |
646 | | /* Mod-2 for the SM2 P256 curve. */ |
647 | | static const uint64_t p256_sm2_mod_minus_2[4] = { |
648 | | 0xfffffffffffffffdU,0xffffffff00000000U,0xffffffffffffffffU, |
649 | | 0xfffffffeffffffffU |
650 | | }; |
651 | | #endif /* !WOLFSSL_SP_SMALL */ |
652 | | |
653 | | /* Invert the number, in Montgomery form, modulo the modulus (prime) of the |
654 | | * P256 curve. (r = 1 / a mod m) |
655 | | * |
656 | | * r Inverse result. |
657 | | * a Number to invert. |
658 | | * td Temporary data. |
659 | | */ |
660 | | static void sp_256_mont_inv_sm2_4(sp_digit* r, const sp_digit* a, sp_digit* td) |
661 | 0 | { |
662 | | #ifdef WOLFSSL_SP_SMALL |
663 | | sp_digit* t = td; |
664 | | int i; |
665 | | |
666 | | XMEMCPY(t, a, sizeof(sp_digit) * 4); |
667 | | for (i=254; i>=0; i--) { |
668 | | sp_256_mont_sqr_sm2_4(t, t, p256_sm2_mod, p256_sm2_mp_mod); |
669 | | if (p256_sm2_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64))) |
670 | | sp_256_mont_mul_sm2_4(t, t, a, p256_sm2_mod, p256_sm2_mp_mod); |
671 | | } |
672 | | XMEMCPY(r, t, sizeof(sp_digit) * 4); |
673 | | #else |
674 | 0 | sp_digit* t1 = td; |
675 | 0 | sp_digit* t2 = td + 2 * 4; |
676 | 0 | sp_digit* t3 = td + 4 * 4; |
677 | 0 | sp_digit* t4 = td + 6 * 4; |
678 | | /* 0x2 */ |
679 | 0 | sp_256_mont_sqr_sm2_4(t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
680 | | /* 0x3 */ |
681 | 0 | sp_256_mont_mul_sm2_4(t2, t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
682 | | /* 0xc */ |
683 | 0 | sp_256_mont_sqr_n_sm2_4(t1, t2, 2, p256_sm2_mod, p256_sm2_mp_mod); |
684 | | /* 0xd */ |
685 | 0 | sp_256_mont_mul_sm2_4(t3, t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
686 | | /* 0xf */ |
687 | 0 | sp_256_mont_mul_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
688 | | /* 0xf0 */ |
689 | 0 | sp_256_mont_sqr_n_sm2_4(t1, t2, 4, p256_sm2_mod, p256_sm2_mp_mod); |
690 | | /* 0xfd */ |
691 | 0 | sp_256_mont_mul_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
692 | | /* 0xff */ |
693 | 0 | sp_256_mont_mul_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
694 | | /* 0xff00 */ |
695 | 0 | sp_256_mont_sqr_n_sm2_4(t1, t2, 8, p256_sm2_mod, p256_sm2_mp_mod); |
696 | | /* 0xfffd */ |
697 | 0 | sp_256_mont_mul_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
698 | | /* 0xffff */ |
699 | 0 | sp_256_mont_mul_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
700 | | /* 0xffff0000 */ |
701 | 0 | sp_256_mont_sqr_n_sm2_4(t1, t2, 16, p256_sm2_mod, p256_sm2_mp_mod); |
702 | | /* 0xfffffffd */ |
703 | 0 | sp_256_mont_mul_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
704 | | /* 0xfffffffe */ |
705 | 0 | sp_256_mont_mul_sm2_4(t2, t3, a, p256_sm2_mod, p256_sm2_mp_mod); |
706 | | /* 0xffffffff */ |
707 | 0 | sp_256_mont_mul_sm2_4(t4, t2, a, p256_sm2_mod, p256_sm2_mp_mod); |
708 | | /* 0xfffffffe00000000 */ |
709 | 0 | sp_256_mont_sqr_n_sm2_4(t2, t2, 32, p256_sm2_mod, p256_sm2_mp_mod); |
710 | | /* 0xfffffffeffffffff */ |
711 | 0 | sp_256_mont_mul_sm2_4(t2, t4, t2, p256_sm2_mod, p256_sm2_mp_mod); |
712 | | /* 0xfffffffeffffffff00000000 */ |
713 | 0 | sp_256_mont_sqr_n_sm2_4(t1, t2, 32, p256_sm2_mod, p256_sm2_mp_mod); |
714 | | /* 0xfffffffeffffffffffffffff */ |
715 | 0 | sp_256_mont_mul_sm2_4(r, t4, t1, p256_sm2_mod, p256_sm2_mp_mod); |
716 | | /* 0xfffffffeffffffffffffffff00000000 */ |
717 | 0 | sp_256_mont_sqr_n_sm2_4(t1, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
718 | | /* 0xfffffffeffffffffffffffffffffffff */ |
719 | 0 | sp_256_mont_mul_sm2_4(r, t4, t1, p256_sm2_mod, p256_sm2_mp_mod); |
720 | | /* 0xfffffffeffffffffffffffffffffffff00000000 */ |
721 | 0 | sp_256_mont_sqr_n_sm2_4(r, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
722 | | /* 0xfffffffeffffffffffffffffffffffffffffffff */ |
723 | 0 | sp_256_mont_mul_sm2_4(r, r, t4, p256_sm2_mod, p256_sm2_mp_mod); |
724 | | /* 0xfffffffeffffffffffffffffffffffffffffffff0000000000000000 */ |
725 | 0 | sp_256_mont_sqr_n_sm2_4(r, r, 64, p256_sm2_mod, p256_sm2_mp_mod); |
726 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffff */ |
727 | 0 | sp_256_mont_mul_sm2_4(r, r, t4, p256_sm2_mod, p256_sm2_mp_mod); |
728 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffff00000000 */ |
729 | 0 | sp_256_mont_sqr_n_sm2_4(r, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
730 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000fffffffffffffffd */ |
731 | 0 | sp_256_mont_mul_sm2_4(r, r, t3, p256_sm2_mod, p256_sm2_mp_mod); |
732 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
733 | 0 | } |
734 | | |
735 | | /* Normalize the values in each word to 64. |
736 | | * |
737 | | * a Array of sp_digit to normalize. |
738 | | */ |
739 | | #define sp_256_norm_4(a) |
740 | | |
741 | | #ifdef __cplusplus |
742 | | extern "C" { |
743 | | #endif |
744 | | extern void sp_256_mont_reduce_sm2_4(sp_digit* a, const sp_digit* m, sp_digit mp); |
745 | | #ifdef __cplusplus |
746 | | } |
747 | | #endif |
748 | | #ifdef __cplusplus |
749 | | extern "C" { |
750 | | #endif |
751 | | extern void sp_256_mont_reduce_order_sm2_4(sp_digit* a, const sp_digit* m, sp_digit mp); |
752 | | #ifdef __cplusplus |
753 | | } |
754 | | #endif |
755 | | /* Map the Montgomery form projective coordinate point to an affine point. |
756 | | * |
757 | | * r Resulting affine coordinate point. |
758 | | * p Montgomery form projective coordinate point. |
759 | | * t Temporary ordinate data. |
760 | | */ |
761 | | static void sp_256_map_sm2_4(sp_point_256* r, const sp_point_256* p, |
762 | | sp_digit* t) |
763 | 0 | { |
764 | 0 | sp_digit* t1 = t; |
765 | 0 | sp_digit* t2 = t + 2*4; |
766 | 0 | sp_int64 n; |
767 | |
|
768 | 0 | sp_256_mont_inv_sm2_4(t1, p->z, t + 2*4); |
769 | |
|
770 | 0 | sp_256_mont_sqr_sm2_4(t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
771 | 0 | sp_256_mont_mul_sm2_4(t1, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
772 | | |
773 | | /* x /= z^2 */ |
774 | 0 | sp_256_mont_mul_sm2_4(r->x, p->x, t2, p256_sm2_mod, p256_sm2_mp_mod); |
775 | 0 | XMEMSET(r->x + 4, 0, sizeof(sp_digit) * 4U); |
776 | 0 | sp_256_mont_reduce_sm2_4(r->x, p256_sm2_mod, p256_sm2_mp_mod); |
777 | | /* Reduce x to less than modulus */ |
778 | 0 | n = sp_256_cmp_sm2_4(r->x, p256_sm2_mod); |
779 | 0 | sp_256_cond_sub_sm2_4(r->x, r->x, p256_sm2_mod, (sp_digit)~(n >> 63)); |
780 | 0 | sp_256_norm_4(r->x); |
781 | | |
782 | | /* y /= z^3 */ |
783 | 0 | sp_256_mont_mul_sm2_4(r->y, p->y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
784 | 0 | XMEMSET(r->y + 4, 0, sizeof(sp_digit) * 4U); |
785 | 0 | sp_256_mont_reduce_sm2_4(r->y, p256_sm2_mod, p256_sm2_mp_mod); |
786 | | /* Reduce y to less than modulus */ |
787 | 0 | n = sp_256_cmp_sm2_4(r->y, p256_sm2_mod); |
788 | 0 | sp_256_cond_sub_sm2_4(r->y, r->y, p256_sm2_mod, (sp_digit)~(n >> 63)); |
789 | 0 | sp_256_norm_4(r->y); |
790 | |
|
791 | 0 | XMEMSET(r->z, 0, sizeof(r->z) / 2); |
792 | 0 | r->z[0] = 1; |
793 | 0 | } |
794 | | |
795 | | #ifdef __cplusplus |
796 | | extern "C" { |
797 | | #endif |
798 | | extern void sp_256_mont_add_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m); |
799 | | #ifdef __cplusplus |
800 | | } |
801 | | #endif |
802 | | #ifdef __cplusplus |
803 | | extern "C" { |
804 | | #endif |
805 | | extern void sp_256_mont_dbl_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m); |
806 | | #ifdef __cplusplus |
807 | | } |
808 | | #endif |
809 | | #ifdef __cplusplus |
810 | | extern "C" { |
811 | | #endif |
812 | | extern void sp_256_mont_tpl_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m); |
813 | | #ifdef __cplusplus |
814 | | } |
815 | | #endif |
816 | | #ifdef __cplusplus |
817 | | extern "C" { |
818 | | #endif |
819 | | extern void sp_256_mont_sub_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m); |
820 | | #ifdef __cplusplus |
821 | | } |
822 | | #endif |
823 | | #ifdef __cplusplus |
824 | | extern "C" { |
825 | | #endif |
826 | | extern void sp_256_mont_div2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m); |
827 | | #ifdef __cplusplus |
828 | | } |
829 | | #endif |
830 | | #ifdef __cplusplus |
831 | | extern "C" { |
832 | | #endif |
833 | | extern void sp_256_mont_rsb_sub_dbl_sm2_4(sp_digit* r, const sp_digit* a, sp_digit* b, const sp_digit* m); |
834 | | #ifdef __cplusplus |
835 | | } |
836 | | #endif |
837 | | /* Double the Montgomery form projective point p. |
838 | | * |
839 | | * r Result of doubling point. |
840 | | * p Point to double. |
841 | | * t Temporary ordinate data. |
842 | | */ |
843 | | static void sp_256_proj_point_dbl_sm2_4(sp_point_256* r, const sp_point_256* p, |
844 | | sp_digit* t) |
845 | 0 | { |
846 | 0 | sp_digit* t1 = t; |
847 | 0 | sp_digit* t2 = t + 2*4; |
848 | 0 | sp_digit* x; |
849 | 0 | sp_digit* y; |
850 | 0 | sp_digit* z; |
851 | |
|
852 | 0 | x = r->x; |
853 | 0 | y = r->y; |
854 | 0 | z = r->z; |
855 | | /* Put infinity into result. */ |
856 | 0 | if (r != p) { |
857 | 0 | r->infinity = p->infinity; |
858 | 0 | } |
859 | | |
860 | | /* T1 = Z * Z */ |
861 | 0 | sp_256_mont_sqr_sm2_4(t1, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
862 | | /* Z = Y * Z */ |
863 | 0 | sp_256_mont_mul_sm2_4(z, p->y, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
864 | | /* Z = 2Z */ |
865 | 0 | sp_256_mont_dbl_sm2_4(z, z, p256_sm2_mod); |
866 | | /* T2 = X - T1 */ |
867 | 0 | sp_256_mont_sub_sm2_4(t2, p->x, t1, p256_sm2_mod); |
868 | | /* T1 = X + T1 */ |
869 | 0 | sp_256_mont_add_sm2_4(t1, p->x, t1, p256_sm2_mod); |
870 | | /* T2 = T1 * T2 */ |
871 | 0 | sp_256_mont_mul_sm2_4(t2, t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
872 | | /* T1 = 3T2 */ |
873 | 0 | sp_256_mont_tpl_sm2_4(t1, t2, p256_sm2_mod); |
874 | | /* Y = 2Y */ |
875 | 0 | sp_256_mont_dbl_sm2_4(y, p->y, p256_sm2_mod); |
876 | | /* Y = Y * Y */ |
877 | 0 | sp_256_mont_sqr_sm2_4(y, y, p256_sm2_mod, p256_sm2_mp_mod); |
878 | | /* T2 = Y * Y */ |
879 | 0 | sp_256_mont_sqr_sm2_4(t2, y, p256_sm2_mod, p256_sm2_mp_mod); |
880 | | /* T2 = T2/2 */ |
881 | 0 | sp_256_mont_div2_sm2_4(t2, t2, p256_sm2_mod); |
882 | | /* Y = Y * X */ |
883 | 0 | sp_256_mont_mul_sm2_4(y, y, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
884 | | /* X = T1 * T1 */ |
885 | 0 | sp_256_mont_sqr_sm2_4(x, t1, p256_sm2_mod, p256_sm2_mp_mod); |
886 | | /* X = X - 2*Y */ |
887 | | /* Y = Y - X */ |
888 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, x, y, p256_sm2_mod); |
889 | | /* Y = Y * T1 */ |
890 | 0 | sp_256_mont_mul_sm2_4(y, y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
891 | | /* Y = Y - T2 */ |
892 | 0 | sp_256_mont_sub_sm2_4(y, y, t2, p256_sm2_mod); |
893 | 0 | } |
894 | | |
895 | | #ifdef WOLFSSL_SP_NONBLOCK |
896 | | typedef struct sp_256_proj_point_dbl_4_ctx { |
897 | | int state; |
898 | | sp_digit* t1; |
899 | | sp_digit* t2; |
900 | | sp_digit* x; |
901 | | sp_digit* y; |
902 | | sp_digit* z; |
903 | | } sp_256_proj_point_dbl_4_ctx; |
904 | | |
905 | | /* Double the Montgomery form projective point p. |
906 | | * |
907 | | * r Result of doubling point. |
908 | | * p Point to double. |
909 | | * t Temporary ordinate data. |
910 | | */ |
911 | | static int sp_256_proj_point_dbl_sm2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, |
912 | | const sp_point_256* p, sp_digit* t) |
913 | | { |
914 | | int err = FP_WOULDBLOCK; |
915 | | sp_256_proj_point_dbl_4_ctx* ctx = (sp_256_proj_point_dbl_sm2_4_ctx*)sp_ctx->data; |
916 | | |
917 | | typedef char ctx_size_test[sizeof(sp_256_proj_point_dbl_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1]; |
918 | | (void)sizeof(ctx_size_test); |
919 | | |
920 | | switch (ctx->state) { |
921 | | case 0: |
922 | | ctx->t1 = t; |
923 | | ctx->t2 = t + 2*4; |
924 | | ctx->x = r->x; |
925 | | ctx->y = r->y; |
926 | | ctx->z = r->z; |
927 | | |
928 | | /* Put infinity into result. */ |
929 | | if (r != p) { |
930 | | r->infinity = p->infinity; |
931 | | } |
932 | | ctx->state = 1; |
933 | | break; |
934 | | case 1: |
935 | | /* T1 = Z * Z */ |
936 | | sp_256_mont_sqr_sm2_4(ctx->t1, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
937 | | ctx->state = 2; |
938 | | break; |
939 | | case 2: |
940 | | /* Z = Y * Z */ |
941 | | sp_256_mont_mul_sm2_4(ctx->z, p->y, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
942 | | ctx->state = 3; |
943 | | break; |
944 | | case 3: |
945 | | /* Z = 2Z */ |
946 | | sp_256_mont_dbl_sm2_4(ctx->z, ctx->z, p256_sm2_mod); |
947 | | ctx->state = 4; |
948 | | break; |
949 | | case 4: |
950 | | /* T2 = X - T1 */ |
951 | | sp_256_mont_sub_sm2_4(ctx->t2, p->x, ctx->t1, p256_sm2_mod); |
952 | | ctx->state = 5; |
953 | | break; |
954 | | case 5: |
955 | | /* T1 = X + T1 */ |
956 | | sp_256_mont_add_sm2_4(ctx->t1, p->x, ctx->t1, p256_sm2_mod); |
957 | | ctx->state = 6; |
958 | | break; |
959 | | case 6: |
960 | | /* T2 = T1 * T2 */ |
961 | | sp_256_mont_mul_sm2_4(ctx->t2, ctx->t1, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
962 | | ctx->state = 7; |
963 | | break; |
964 | | case 7: |
965 | | /* T1 = 3T2 */ |
966 | | sp_256_mont_tpl_sm2_4(ctx->t1, ctx->t2, p256_sm2_mod); |
967 | | ctx->state = 8; |
968 | | break; |
969 | | case 8: |
970 | | /* Y = 2Y */ |
971 | | sp_256_mont_dbl_sm2_4(ctx->y, p->y, p256_sm2_mod); |
972 | | ctx->state = 9; |
973 | | break; |
974 | | case 9: |
975 | | /* Y = Y * Y */ |
976 | | sp_256_mont_sqr_sm2_4(ctx->y, ctx->y, p256_sm2_mod, p256_sm2_mp_mod); |
977 | | ctx->state = 10; |
978 | | break; |
979 | | case 10: |
980 | | /* T2 = Y * Y */ |
981 | | sp_256_mont_sqr_sm2_4(ctx->t2, ctx->y, p256_sm2_mod, p256_sm2_mp_mod); |
982 | | ctx->state = 11; |
983 | | break; |
984 | | case 11: |
985 | | /* T2 = T2/2 */ |
986 | | sp_256_mont_div2_sm2_4(ctx->t2, ctx->t2, p256_sm2_mod); |
987 | | ctx->state = 12; |
988 | | break; |
989 | | case 12: |
990 | | /* Y = Y * X */ |
991 | | sp_256_mont_mul_sm2_4(ctx->y, ctx->y, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
992 | | ctx->state = 13; |
993 | | break; |
994 | | case 13: |
995 | | /* X = T1 * T1 */ |
996 | | sp_256_mont_sqr_sm2_4(ctx->x, ctx->t1, p256_sm2_mod, p256_sm2_mp_mod); |
997 | | ctx->state = 14; |
998 | | break; |
999 | | case 14: |
1000 | | /* X = X - 2*Y */ |
1001 | | /* Y = Y - X */ |
1002 | | sp_256_mont_rsb_sub_dbl_sm2_4(ctx->x, ctx->x, ctx->y, p256_sm2_mod); |
1003 | | ctx->state = 15; |
1004 | | break; |
1005 | | case 15: |
1006 | | ctx->state = 16; |
1007 | | break; |
1008 | | case 16: |
1009 | | ctx->state = 17; |
1010 | | break; |
1011 | | case 17: |
1012 | | /* Y = Y * T1 */ |
1013 | | sp_256_mont_mul_sm2_4(ctx->y, ctx->y, ctx->t1, p256_sm2_mod, p256_sm2_mp_mod); |
1014 | | ctx->state = 18; |
1015 | | break; |
1016 | | case 18: |
1017 | | /* Y = Y - T2 */ |
1018 | | sp_256_mont_sub_sm2_4(ctx->y, ctx->y, ctx->t2, p256_sm2_mod); |
1019 | | ctx->state = 19; |
1020 | | /* fall-through */ |
1021 | | case 19: |
1022 | | err = MP_OKAY; |
1023 | | break; |
1024 | | } |
1025 | | |
1026 | | if (err == MP_OKAY && ctx->state != 19) { |
1027 | | err = FP_WOULDBLOCK; |
1028 | | } |
1029 | | |
1030 | | return err; |
1031 | | } |
1032 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
1033 | | /* Double the Montgomery form projective point p a number of times. |
1034 | | * |
1035 | | * r Result of repeated doubling of point. |
1036 | | * p Point to double. |
1037 | | * n Number of times to double |
1038 | | * t Temporary ordinate data. |
1039 | | */ |
1040 | | static void sp_256_proj_point_dbl_n_sm2_4(sp_point_256* p, int i, |
1041 | | sp_digit* t) |
1042 | 0 | { |
1043 | 0 | sp_digit* w = t; |
1044 | 0 | sp_digit* a = t + 2*4; |
1045 | 0 | sp_digit* b = t + 4*4; |
1046 | 0 | sp_digit* t1 = t + 6*4; |
1047 | 0 | sp_digit* x; |
1048 | 0 | sp_digit* y; |
1049 | 0 | sp_digit* z; |
1050 | 0 | volatile int n = i; |
1051 | |
|
1052 | 0 | x = p->x; |
1053 | 0 | y = p->y; |
1054 | 0 | z = p->z; |
1055 | | |
1056 | | /* Y = 2*Y */ |
1057 | 0 | sp_256_mont_dbl_sm2_4(y, y, p256_sm2_mod); |
1058 | | /* W = Z^4 */ |
1059 | 0 | sp_256_mont_sqr_sm2_4(w, z, p256_sm2_mod, p256_sm2_mp_mod); |
1060 | 0 | sp_256_mont_sqr_sm2_4(w, w, p256_sm2_mod, p256_sm2_mp_mod); |
1061 | 0 | #ifndef WOLFSSL_SP_SMALL |
1062 | 0 | while (--n > 0) |
1063 | | #else |
1064 | | while (--n >= 0) |
1065 | | #endif |
1066 | 0 | { |
1067 | | /* A = 3*(X^2 - W) */ |
1068 | 0 | sp_256_mont_sqr_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1069 | 0 | sp_256_mont_sub_sm2_4(t1, t1, w, p256_sm2_mod); |
1070 | 0 | sp_256_mont_tpl_sm2_4(a, t1, p256_sm2_mod); |
1071 | | /* B = X*Y^2 */ |
1072 | 0 | sp_256_mont_sqr_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
1073 | 0 | sp_256_mont_mul_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1074 | | /* X = A^2 - 2B */ |
1075 | 0 | sp_256_mont_sqr_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
1076 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, x, b, p256_sm2_mod); |
1077 | | /* B = 2.(B - X) */ |
1078 | 0 | sp_256_mont_dbl_sm2_4(b, b, p256_sm2_mod); |
1079 | | /* Z = Z*Y */ |
1080 | 0 | sp_256_mont_mul_sm2_4(z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
1081 | | /* t1 = Y^4 */ |
1082 | 0 | sp_256_mont_sqr_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1083 | | #ifdef WOLFSSL_SP_SMALL |
1084 | | if (n != 0) |
1085 | | #endif |
1086 | 0 | { |
1087 | | /* W = W*Y^4 */ |
1088 | 0 | sp_256_mont_mul_sm2_4(w, w, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1089 | 0 | } |
1090 | | /* y = 2*A*(B - X) - Y^4 */ |
1091 | 0 | sp_256_mont_mul_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
1092 | 0 | sp_256_mont_sub_sm2_4(y, y, t1, p256_sm2_mod); |
1093 | 0 | } |
1094 | 0 | #ifndef WOLFSSL_SP_SMALL |
1095 | | /* A = 3*(X^2 - W) */ |
1096 | 0 | sp_256_mont_sqr_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1097 | 0 | sp_256_mont_sub_sm2_4(t1, t1, w, p256_sm2_mod); |
1098 | 0 | sp_256_mont_tpl_sm2_4(a, t1, p256_sm2_mod); |
1099 | | /* B = X*Y^2 */ |
1100 | 0 | sp_256_mont_sqr_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
1101 | 0 | sp_256_mont_mul_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1102 | | /* X = A^2 - 2B */ |
1103 | 0 | sp_256_mont_sqr_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
1104 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, x, b, p256_sm2_mod); |
1105 | | /* B = 2.(B - X) */ |
1106 | 0 | sp_256_mont_dbl_sm2_4(b, b, p256_sm2_mod); |
1107 | | /* Z = Z*Y */ |
1108 | 0 | sp_256_mont_mul_sm2_4(z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
1109 | | /* t1 = Y^4 */ |
1110 | 0 | sp_256_mont_sqr_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1111 | | /* y = 2*A*(B - X) - Y^4 */ |
1112 | 0 | sp_256_mont_mul_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
1113 | 0 | sp_256_mont_sub_sm2_4(y, y, t1, p256_sm2_mod); |
1114 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
1115 | | /* Y = Y/2 */ |
1116 | 0 | sp_256_mont_div2_sm2_4(y, y, p256_sm2_mod); |
1117 | 0 | } |
1118 | | |
1119 | | /* Compare two numbers to determine if they are equal. |
1120 | | * Constant time implementation. |
1121 | | * |
1122 | | * a First number to compare. |
1123 | | * b Second number to compare. |
1124 | | * returns 1 when equal and 0 otherwise. |
1125 | | */ |
1126 | | static int sp_256_cmp_equal_4(const sp_digit* a, const sp_digit* b) |
1127 | 0 | { |
1128 | 0 | return ((a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]) | |
1129 | 0 | (a[3] ^ b[3])) == 0; |
1130 | 0 | } |
1131 | | |
1132 | | /* Returns 1 if the number of zero. |
1133 | | * Implementation is constant time. |
1134 | | * |
1135 | | * a Number to check. |
1136 | | * returns 1 if the number is zero and 0 otherwise. |
1137 | | */ |
1138 | | static int sp_256_iszero_4(const sp_digit* a) |
1139 | 0 | { |
1140 | 0 | return (a[0] | a[1] | a[2] | a[3]) == 0; |
1141 | 0 | } |
1142 | | |
1143 | | |
1144 | | /* Add two Montgomery form projective points. |
1145 | | * |
1146 | | * r Result of addition. |
1147 | | * p First point to add. |
1148 | | * q Second point to add. |
1149 | | * t Temporary ordinate data. |
1150 | | */ |
1151 | | static void sp_256_proj_point_add_sm2_4(sp_point_256* r, |
1152 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
1153 | 0 | { |
1154 | 0 | sp_digit* t6 = t; |
1155 | 0 | sp_digit* t1 = t + 2*4; |
1156 | 0 | sp_digit* t2 = t + 4*4; |
1157 | 0 | sp_digit* t3 = t + 6*4; |
1158 | 0 | sp_digit* t4 = t + 8*4; |
1159 | 0 | sp_digit* t5 = t + 10*4; |
1160 | | |
1161 | | /* U1 = X1*Z2^2 */ |
1162 | 0 | sp_256_mont_sqr_sm2_4(t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1163 | 0 | sp_256_mont_mul_sm2_4(t3, t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1164 | 0 | sp_256_mont_mul_sm2_4(t1, t1, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
1165 | | /* U2 = X2*Z1^2 */ |
1166 | 0 | sp_256_mont_sqr_sm2_4(t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
1167 | 0 | sp_256_mont_mul_sm2_4(t4, t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
1168 | 0 | sp_256_mont_mul_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
1169 | | /* S1 = Y1*Z2^3 */ |
1170 | 0 | sp_256_mont_mul_sm2_4(t3, t3, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
1171 | | /* S2 = Y2*Z1^3 */ |
1172 | 0 | sp_256_mont_mul_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
1173 | | |
1174 | | /* Check double */ |
1175 | 0 | if ((~p->infinity) & (~q->infinity) & |
1176 | 0 | sp_256_cmp_equal_4(t2, t1) & |
1177 | 0 | sp_256_cmp_equal_4(t4, t3)) { |
1178 | 0 | sp_256_proj_point_dbl_sm2_4(r, p, t); |
1179 | 0 | } |
1180 | 0 | else { |
1181 | 0 | sp_digit* x = t6; |
1182 | 0 | sp_digit* y = t1; |
1183 | 0 | sp_digit* z = t2; |
1184 | | |
1185 | | /* H = U2 - U1 */ |
1186 | 0 | sp_256_mont_sub_sm2_4(t2, t2, t1, p256_sm2_mod); |
1187 | | /* R = S2 - S1 */ |
1188 | 0 | sp_256_mont_sub_sm2_4(t4, t4, t3, p256_sm2_mod); |
1189 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
1190 | 0 | sp_256_mont_sqr_sm2_4(t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1191 | 0 | sp_256_mont_mul_sm2_4(y, t1, t5, p256_sm2_mod, p256_sm2_mp_mod); |
1192 | 0 | sp_256_mont_mul_sm2_4(t5, t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1193 | | /* Z3 = H*Z1*Z2 */ |
1194 | 0 | sp_256_mont_mul_sm2_4(z, p->z, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1195 | 0 | sp_256_mont_mul_sm2_4(z, z, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1196 | 0 | sp_256_mont_sqr_sm2_4(x, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1197 | 0 | sp_256_mont_sub_sm2_4(x, x, t5, p256_sm2_mod); |
1198 | 0 | sp_256_mont_mul_sm2_4(t5, t5, t3, p256_sm2_mod, p256_sm2_mp_mod); |
1199 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
1200 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, x, y, p256_sm2_mod); |
1201 | 0 | sp_256_mont_mul_sm2_4(y, y, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1202 | 0 | sp_256_mont_sub_sm2_4(y, y, t5, p256_sm2_mod); |
1203 | 0 | { |
1204 | 0 | int i; |
1205 | 0 | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
1206 | 0 | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
1207 | 0 | sp_digit maskt = ~(maskp | maskq); |
1208 | 0 | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
1209 | |
|
1210 | 0 | for (i = 0; i < 4; i++) { |
1211 | 0 | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
1212 | 0 | (x[i] & maskt); |
1213 | 0 | } |
1214 | 0 | for (i = 0; i < 4; i++) { |
1215 | 0 | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
1216 | 0 | (y[i] & maskt); |
1217 | 0 | } |
1218 | 0 | for (i = 0; i < 4; i++) { |
1219 | 0 | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
1220 | 0 | (z[i] & maskt); |
1221 | 0 | } |
1222 | 0 | r->z[0] |= inf; |
1223 | 0 | r->infinity = (int)inf; |
1224 | 0 | } |
1225 | 0 | } |
1226 | 0 | } |
1227 | | |
1228 | | #ifdef WOLFSSL_SP_NONBLOCK |
1229 | | typedef struct sp_256_proj_point_add_4_ctx { |
1230 | | int state; |
1231 | | sp_256_proj_point_dbl_4_ctx dbl_ctx; |
1232 | | const sp_point_256* ap[2]; |
1233 | | sp_point_256* rp[2]; |
1234 | | sp_digit* t1; |
1235 | | sp_digit* t2; |
1236 | | sp_digit* t3; |
1237 | | sp_digit* t4; |
1238 | | sp_digit* t5; |
1239 | | sp_digit* t6; |
1240 | | sp_digit* x; |
1241 | | sp_digit* y; |
1242 | | sp_digit* z; |
1243 | | } sp_256_proj_point_add_4_ctx; |
1244 | | |
1245 | | /* Add two Montgomery form projective points. |
1246 | | * |
1247 | | * r Result of addition. |
1248 | | * p First point to add. |
1249 | | * q Second point to add. |
1250 | | * t Temporary ordinate data. |
1251 | | */ |
1252 | | static int sp_256_proj_point_add_sm2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, |
1253 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
1254 | | { |
1255 | | int err = FP_WOULDBLOCK; |
1256 | | sp_256_proj_point_add_4_ctx* ctx = (sp_256_proj_point_add_sm2_4_ctx*)sp_ctx->data; |
1257 | | |
1258 | | /* Ensure only the first point is the same as the result. */ |
1259 | | if (q == r) { |
1260 | | const sp_point_256* a = p; |
1261 | | p = q; |
1262 | | q = a; |
1263 | | } |
1264 | | |
1265 | | typedef char ctx_size_test[sizeof(sp_256_proj_point_add_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1]; |
1266 | | (void)sizeof(ctx_size_test); |
1267 | | |
1268 | | switch (ctx->state) { |
1269 | | case 0: /* INIT */ |
1270 | | ctx->t6 = t; |
1271 | | ctx->t1 = t + 2*4; |
1272 | | ctx->t2 = t + 4*4; |
1273 | | ctx->t3 = t + 6*4; |
1274 | | ctx->t4 = t + 8*4; |
1275 | | ctx->t5 = t + 10*4; |
1276 | | ctx->x = ctx->t6; |
1277 | | ctx->y = ctx->t1; |
1278 | | ctx->z = ctx->t2; |
1279 | | |
1280 | | ctx->state = 1; |
1281 | | break; |
1282 | | case 1: |
1283 | | /* U1 = X1*Z2^2 */ |
1284 | | sp_256_mont_sqr_sm2_4(ctx->t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1285 | | ctx->state = 2; |
1286 | | break; |
1287 | | case 2: |
1288 | | sp_256_mont_mul_sm2_4(ctx->t3, ctx->t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1289 | | ctx->state = 3; |
1290 | | break; |
1291 | | case 3: |
1292 | | sp_256_mont_mul_sm2_4(ctx->t1, ctx->t1, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
1293 | | ctx->state = 4; |
1294 | | break; |
1295 | | case 4: |
1296 | | /* U2 = X2*Z1^2 */ |
1297 | | sp_256_mont_sqr_sm2_4(ctx->t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
1298 | | ctx->state = 5; |
1299 | | break; |
1300 | | case 5: |
1301 | | sp_256_mont_mul_sm2_4(ctx->t4, ctx->t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
1302 | | ctx->state = 6; |
1303 | | break; |
1304 | | case 6: |
1305 | | sp_256_mont_mul_sm2_4(ctx->t2, ctx->t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
1306 | | ctx->state = 7; |
1307 | | break; |
1308 | | case 7: |
1309 | | /* S1 = Y1*Z2^3 */ |
1310 | | sp_256_mont_mul_sm2_4(ctx->t3, ctx->t3, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
1311 | | ctx->state = 8; |
1312 | | break; |
1313 | | case 8: |
1314 | | /* S2 = Y2*Z1^3 */ |
1315 | | sp_256_mont_mul_sm2_4(ctx->t4, ctx->t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
1316 | | ctx->state = 9; |
1317 | | break; |
1318 | | case 9: |
1319 | | /* Check double */ |
1320 | | if ((~p->infinity) & (~q->infinity) & |
1321 | | sp_256_cmp_equal_4(ctx->t2, ctx->t1) & |
1322 | | sp_256_cmp_equal_4(ctx->t4, ctx->t3)) { |
1323 | | XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx)); |
1324 | | sp_256_proj_point_dbl_sm2_4(r, p, t); |
1325 | | ctx->state = 25; |
1326 | | } |
1327 | | else { |
1328 | | ctx->state = 10; |
1329 | | } |
1330 | | break; |
1331 | | case 10: |
1332 | | /* H = U2 - U1 */ |
1333 | | sp_256_mont_sub_sm2_4(ctx->t2, ctx->t2, ctx->t1, p256_sm2_mod); |
1334 | | ctx->state = 11; |
1335 | | break; |
1336 | | case 11: |
1337 | | /* R = S2 - S1 */ |
1338 | | sp_256_mont_sub_sm2_4(ctx->t4, ctx->t4, ctx->t3, p256_sm2_mod); |
1339 | | ctx->state = 12; |
1340 | | break; |
1341 | | case 12: |
1342 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
1343 | | sp_256_mont_sqr_sm2_4(ctx->t5, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
1344 | | ctx->state = 13; |
1345 | | break; |
1346 | | case 13: |
1347 | | sp_256_mont_mul_sm2_4(ctx->y, ctx->t1, ctx->t5, p256_sm2_mod, p256_sm2_mp_mod); |
1348 | | ctx->state = 14; |
1349 | | break; |
1350 | | case 14: |
1351 | | sp_256_mont_mul_sm2_4(ctx->t5, ctx->t5, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
1352 | | ctx->state = 15; |
1353 | | break; |
1354 | | case 15: |
1355 | | /* Z3 = H*Z1*Z2 */ |
1356 | | sp_256_mont_mul_sm2_4(ctx->z, p->z, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
1357 | | ctx->state = 16; |
1358 | | break; |
1359 | | case 16: |
1360 | | sp_256_mont_mul_sm2_4(ctx->z, ctx->z, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1361 | | ctx->state = 17; |
1362 | | break; |
1363 | | case 17: |
1364 | | sp_256_mont_sqr_sm2_4(ctx->x, ctx->t4, p256_sm2_mod, p256_sm2_mp_mod); |
1365 | | ctx->state = 18; |
1366 | | break; |
1367 | | case 18: |
1368 | | sp_256_mont_sub_sm2_4(ctx->x, ctx->x, ctx->t5, p256_sm2_mod); |
1369 | | ctx->state = 19; |
1370 | | break; |
1371 | | case 19: |
1372 | | sp_256_mont_mul_sm2_4(ctx->t5, ctx->t5, ctx->t3, p256_sm2_mod, p256_sm2_mp_mod); |
1373 | | ctx->state = 20; |
1374 | | break; |
1375 | | case 20: |
1376 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
1377 | | sp_256_mont_rsb_sub_dbl_sm2_4(ctx->x, ctx->x, ctx->y, p256_sm2_mod); |
1378 | | ctx->state = 21; |
1379 | | break; |
1380 | | case 21: |
1381 | | ctx->state = 22; |
1382 | | break; |
1383 | | case 22: |
1384 | | sp_256_mont_mul_sm2_4(ctx->y, ctx->y, ctx->t4, p256_sm2_mod, p256_sm2_mp_mod); |
1385 | | ctx->state = 23; |
1386 | | break; |
1387 | | case 23: |
1388 | | sp_256_mont_sub_sm2_4(ctx->y, ctx->y, ctx->t5, p256_sm2_mod); |
1389 | | ctx->state = 24; |
1390 | | break; |
1391 | | case 24: |
1392 | | { |
1393 | | { |
1394 | | int i; |
1395 | | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
1396 | | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
1397 | | sp_digit maskt = ~(maskp | maskq); |
1398 | | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
1399 | | |
1400 | | for (i = 0; i < 4; i++) { |
1401 | | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
1402 | | (ctx->x[i] & maskt); |
1403 | | } |
1404 | | for (i = 0; i < 4; i++) { |
1405 | | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
1406 | | (ctx->y[i] & maskt); |
1407 | | } |
1408 | | for (i = 0; i < 4; i++) { |
1409 | | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
1410 | | (ctx->z[i] & maskt); |
1411 | | } |
1412 | | r->z[0] |= inf; |
1413 | | r->infinity = (int)inf; |
1414 | | } |
1415 | | ctx->state = 25; |
1416 | | break; |
1417 | | } |
1418 | | case 25: |
1419 | | err = MP_OKAY; |
1420 | | break; |
1421 | | } |
1422 | | |
1423 | | if (err == MP_OKAY && ctx->state != 25) { |
1424 | | err = FP_WOULDBLOCK; |
1425 | | } |
1426 | | return err; |
1427 | | } |
1428 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
1429 | | |
1430 | | /* Double the Montgomery form projective point p a number of times. |
1431 | | * |
1432 | | * r Result of repeated doubling of point. |
1433 | | * p Point to double. |
1434 | | * n Number of times to double |
1435 | | * t Temporary ordinate data. |
1436 | | */ |
1437 | | static void sp_256_proj_point_dbl_n_store_sm2_4(sp_point_256* r, |
1438 | | const sp_point_256* p, int n, int m, sp_digit* t) |
1439 | 0 | { |
1440 | 0 | sp_digit* w = t; |
1441 | 0 | sp_digit* a = t + 2*4; |
1442 | 0 | sp_digit* b = t + 4*4; |
1443 | 0 | sp_digit* t1 = t + 6*4; |
1444 | 0 | sp_digit* x = r[2*m].x; |
1445 | 0 | sp_digit* y = r[(1<<n)*m].y; |
1446 | 0 | sp_digit* z = r[2*m].z; |
1447 | 0 | int i; |
1448 | 0 | int j; |
1449 | |
|
1450 | 0 | for (i=0; i<4; i++) { |
1451 | 0 | x[i] = p->x[i]; |
1452 | 0 | } |
1453 | 0 | for (i=0; i<4; i++) { |
1454 | 0 | y[i] = p->y[i]; |
1455 | 0 | } |
1456 | 0 | for (i=0; i<4; i++) { |
1457 | 0 | z[i] = p->z[i]; |
1458 | 0 | } |
1459 | | |
1460 | | /* Y = 2*Y */ |
1461 | 0 | sp_256_mont_dbl_sm2_4(y, y, p256_sm2_mod); |
1462 | | /* W = Z^4 */ |
1463 | 0 | sp_256_mont_sqr_sm2_4(w, z, p256_sm2_mod, p256_sm2_mp_mod); |
1464 | 0 | sp_256_mont_sqr_sm2_4(w, w, p256_sm2_mod, p256_sm2_mp_mod); |
1465 | 0 | j = m; |
1466 | 0 | for (i=1; i<=n; i++) { |
1467 | 0 | j *= 2; |
1468 | | |
1469 | | /* A = 3*(X^2 - W) */ |
1470 | 0 | sp_256_mont_sqr_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1471 | 0 | sp_256_mont_sub_sm2_4(t1, t1, w, p256_sm2_mod); |
1472 | 0 | sp_256_mont_tpl_sm2_4(a, t1, p256_sm2_mod); |
1473 | | /* B = X*Y^2 */ |
1474 | 0 | sp_256_mont_sqr_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
1475 | 0 | sp_256_mont_mul_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
1476 | 0 | x = r[j].x; |
1477 | | /* X = A^2 - 2B */ |
1478 | 0 | sp_256_mont_sqr_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
1479 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, x, b, p256_sm2_mod); |
1480 | | /* B = 2.(B - X) */ |
1481 | 0 | sp_256_mont_dbl_sm2_4(b, b, p256_sm2_mod); |
1482 | | /* Z = Z*Y */ |
1483 | 0 | sp_256_mont_mul_sm2_4(r[j].z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
1484 | 0 | z = r[j].z; |
1485 | | /* t1 = Y^4 */ |
1486 | 0 | sp_256_mont_sqr_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1487 | 0 | if (i != n) { |
1488 | | /* W = W*Y^4 */ |
1489 | 0 | sp_256_mont_mul_sm2_4(w, w, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1490 | 0 | } |
1491 | | /* y = 2*A*(B - X) - Y^4 */ |
1492 | 0 | sp_256_mont_mul_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
1493 | 0 | sp_256_mont_sub_sm2_4(y, y, t1, p256_sm2_mod); |
1494 | | /* Y = Y/2 */ |
1495 | 0 | sp_256_mont_div2_sm2_4(r[j].y, y, p256_sm2_mod); |
1496 | 0 | r[j].infinity = 0; |
1497 | 0 | } |
1498 | 0 | } |
1499 | | |
1500 | | /* Add two Montgomery form projective points. |
1501 | | * |
1502 | | * ra Result of addition. |
1503 | | * rs Result of subtraction. |
1504 | | * p First point to add. |
1505 | | * q Second point to add. |
1506 | | * t Temporary ordinate data. |
1507 | | */ |
1508 | | static void sp_256_proj_point_add_sub_sm2_4(sp_point_256* ra, |
1509 | | sp_point_256* rs, const sp_point_256* p, const sp_point_256* q, |
1510 | | sp_digit* t) |
1511 | 0 | { |
1512 | 0 | sp_digit* t1 = t; |
1513 | 0 | sp_digit* t2 = t + 2*4; |
1514 | 0 | sp_digit* t3 = t + 4*4; |
1515 | 0 | sp_digit* t4 = t + 6*4; |
1516 | 0 | sp_digit* t5 = t + 8*4; |
1517 | 0 | sp_digit* t6 = t + 10*4; |
1518 | 0 | sp_digit* xa = ra->x; |
1519 | 0 | sp_digit* ya = ra->y; |
1520 | 0 | sp_digit* za = ra->z; |
1521 | 0 | sp_digit* xs = rs->x; |
1522 | 0 | sp_digit* ys = rs->y; |
1523 | 0 | sp_digit* zs = rs->z; |
1524 | | |
1525 | |
|
1526 | 0 | XMEMCPY(xa, p->x, sizeof(p->x) / 2); |
1527 | 0 | XMEMCPY(ya, p->y, sizeof(p->y) / 2); |
1528 | 0 | XMEMCPY(za, p->z, sizeof(p->z) / 2); |
1529 | 0 | ra->infinity = 0; |
1530 | 0 | rs->infinity = 0; |
1531 | | |
1532 | | /* U1 = X1*Z2^2 */ |
1533 | 0 | sp_256_mont_sqr_sm2_4(t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1534 | 0 | sp_256_mont_mul_sm2_4(t3, t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1535 | 0 | sp_256_mont_mul_sm2_4(t1, t1, xa, p256_sm2_mod, p256_sm2_mp_mod); |
1536 | | /* U2 = X2*Z1^2 */ |
1537 | 0 | sp_256_mont_sqr_sm2_4(t2, za, p256_sm2_mod, p256_sm2_mp_mod); |
1538 | 0 | sp_256_mont_mul_sm2_4(t4, t2, za, p256_sm2_mod, p256_sm2_mp_mod); |
1539 | 0 | sp_256_mont_mul_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
1540 | | /* S1 = Y1*Z2^3 */ |
1541 | 0 | sp_256_mont_mul_sm2_4(t3, t3, ya, p256_sm2_mod, p256_sm2_mp_mod); |
1542 | | /* S2 = Y2*Z1^3 */ |
1543 | 0 | sp_256_mont_mul_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
1544 | | /* H = U2 - U1 */ |
1545 | 0 | sp_256_mont_sub_sm2_4(t2, t2, t1, p256_sm2_mod); |
1546 | | /* RS = S2 + S1 */ |
1547 | 0 | sp_256_mont_add_sm2_4(t6, t4, t3, p256_sm2_mod); |
1548 | | /* R = S2 - S1 */ |
1549 | 0 | sp_256_mont_sub_sm2_4(t4, t4, t3, p256_sm2_mod); |
1550 | | /* Z3 = H*Z1*Z2 */ |
1551 | | /* ZS = H*Z1*Z2 */ |
1552 | 0 | sp_256_mont_mul_sm2_4(za, za, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
1553 | 0 | sp_256_mont_mul_sm2_4(za, za, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1554 | 0 | XMEMCPY(zs, za, sizeof(p->z)/2); |
1555 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
1556 | | /* XS = RS^2 - H^3 - 2*U1*H^2 */ |
1557 | 0 | sp_256_mont_sqr_sm2_4(xa, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1558 | 0 | sp_256_mont_sqr_sm2_4(xs, t6, p256_sm2_mod, p256_sm2_mp_mod); |
1559 | 0 | sp_256_mont_sqr_sm2_4(t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1560 | 0 | sp_256_mont_mul_sm2_4(ya, t1, t5, p256_sm2_mod, p256_sm2_mp_mod); |
1561 | 0 | sp_256_mont_mul_sm2_4(t5, t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1562 | 0 | sp_256_mont_sub_sm2_4(xa, xa, t5, p256_sm2_mod); |
1563 | 0 | sp_256_mont_sub_sm2_4(xs, xs, t5, p256_sm2_mod); |
1564 | 0 | sp_256_mont_dbl_sm2_4(t1, ya, p256_sm2_mod); |
1565 | 0 | sp_256_mont_sub_sm2_4(xa, xa, t1, p256_sm2_mod); |
1566 | 0 | sp_256_mont_sub_sm2_4(xs, xs, t1, p256_sm2_mod); |
1567 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
1568 | | /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */ |
1569 | 0 | sp_256_mont_sub_sm2_4(ys, ya, xs, p256_sm2_mod); |
1570 | 0 | sp_256_mont_sub_sm2_4(ya, ya, xa, p256_sm2_mod); |
1571 | 0 | sp_256_mont_mul_sm2_4(ya, ya, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1572 | 0 | sp_256_sub_sm2_4(t6, p256_sm2_mod, t6); |
1573 | 0 | sp_256_mont_mul_sm2_4(ys, ys, t6, p256_sm2_mod, p256_sm2_mp_mod); |
1574 | 0 | sp_256_mont_mul_sm2_4(t5, t5, t3, p256_sm2_mod, p256_sm2_mp_mod); |
1575 | 0 | sp_256_mont_sub_sm2_4(ya, ya, t5, p256_sm2_mod); |
1576 | 0 | sp_256_mont_sub_sm2_4(ys, ys, t5, p256_sm2_mod); |
1577 | 0 | } |
1578 | | |
1579 | | /* Structure used to describe recoding of scalar multiplication. */ |
1580 | | typedef struct ecc_recode_256 { |
1581 | | /* Index into pre-computation table. */ |
1582 | | word8 i; |
1583 | | /* Use the negative of the point. */ |
1584 | | word8 neg; |
1585 | | } ecc_recode_256; |
1586 | | |
1587 | | /* The index into pre-computation table to use. */ |
1588 | | static const word8 recode_index_4_6[66] = { |
1589 | | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
1590 | | 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
1591 | | 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
1592 | | 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, |
1593 | | 0, 1, |
1594 | | }; |
1595 | | |
1596 | | /* Whether to negate y-ordinate. */ |
1597 | | static const word8 recode_neg_4_6[66] = { |
1598 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1599 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
1600 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1601 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1602 | | 0, 0, |
1603 | | }; |
1604 | | |
1605 | | /* Recode the scalar for multiplication using pre-computed values and |
1606 | | * subtraction. |
1607 | | * |
1608 | | * k Scalar to multiply by. |
1609 | | * v Vector of operations to perform. |
1610 | | */ |
1611 | | static void sp_256_ecc_recode_6_4(const sp_digit* k, ecc_recode_256* v) |
1612 | 0 | { |
1613 | 0 | int i; |
1614 | 0 | int j; |
1615 | 0 | word8 y; |
1616 | 0 | int carry = 0; |
1617 | 0 | int o; |
1618 | 0 | sp_digit n; |
1619 | |
|
1620 | 0 | j = 0; |
1621 | 0 | n = k[j]; |
1622 | 0 | o = 0; |
1623 | 0 | for (i=0; i<43; i++) { |
1624 | 0 | y = (word8)(int8_t)n; |
1625 | 0 | if (o + 6 < 64) { |
1626 | 0 | y &= 0x3f; |
1627 | 0 | n >>= 6; |
1628 | 0 | o += 6; |
1629 | 0 | } |
1630 | 0 | else if (o + 6 == 64) { |
1631 | 0 | n >>= 6; |
1632 | 0 | if (++j < 4) |
1633 | 0 | n = k[j]; |
1634 | 0 | o = 0; |
1635 | 0 | } |
1636 | 0 | else if (++j < 4) { |
1637 | 0 | n = k[j]; |
1638 | 0 | y |= (word8)((n << (64 - o)) & 0x3f); |
1639 | 0 | o -= 58; |
1640 | 0 | n >>= o; |
1641 | 0 | } |
1642 | |
|
1643 | 0 | y = (word8)(y + carry); |
1644 | 0 | v[i].i = recode_index_4_6[y]; |
1645 | 0 | v[i].neg = recode_neg_4_6[y]; |
1646 | 0 | carry = (y >> 6) + v[i].neg; |
1647 | 0 | } |
1648 | 0 | } |
1649 | | |
1650 | | #ifdef __cplusplus |
1651 | | extern "C" { |
1652 | | #endif |
1653 | | extern void sp_256_get_point_33_sm2_4(sp_point_256* r, const sp_point_256* table, int idx); |
1654 | | #ifdef __cplusplus |
1655 | | } |
1656 | | #endif |
1657 | | #ifdef __cplusplus |
1658 | | extern "C" { |
1659 | | #endif |
1660 | | extern void sp_256_get_point_33_avx2_sm2_4(sp_point_256* r, const sp_point_256* table, int idx); |
1661 | | #ifdef __cplusplus |
1662 | | } |
1663 | | #endif |
1664 | | /* Multiply the point by the scalar and return the result. |
1665 | | * If map is true then convert result to affine coordinates. |
1666 | | * |
1667 | | * Window technique of 6 bits. (Add-Sub variation.) |
1668 | | * Calculate 0..32 times the point. Use function that adds and |
1669 | | * subtracts the same two points. |
1670 | | * Recode to add or subtract one of the computed points. |
1671 | | * Double to push up. |
1672 | | * NOT a sliding window. |
1673 | | * |
1674 | | * r Resulting point. |
1675 | | * g Point to multiply. |
1676 | | * k Scalar to multiply by. |
1677 | | * map Indicates whether to convert result to affine. |
1678 | | * ct Constant time required. |
1679 | | * heap Heap to use for allocation. |
1680 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
1681 | | */ |
1682 | | static int sp_256_ecc_mulmod_win_add_sub_sm2_4(sp_point_256* r, const sp_point_256* g, |
1683 | | const sp_digit* k, int map, int ct, void* heap) |
1684 | 0 | { |
1685 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
1686 | 0 | sp_point_256* t = NULL; |
1687 | 0 | sp_digit* tmp = NULL; |
1688 | | #else |
1689 | | sp_point_256 t[33+2]; |
1690 | | sp_digit tmp[2 * 4 * 6]; |
1691 | | #endif |
1692 | 0 | sp_point_256* rt = NULL; |
1693 | 0 | sp_point_256* p = NULL; |
1694 | 0 | sp_digit* negy; |
1695 | 0 | int i; |
1696 | 0 | ecc_recode_256 v[43]; |
1697 | 0 | int err = MP_OKAY; |
1698 | | |
1699 | | /* Constant time used for cache attack resistance implementation. */ |
1700 | 0 | (void)ct; |
1701 | 0 | (void)heap; |
1702 | |
|
1703 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
1704 | 0 | t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * |
1705 | 0 | (33+2), heap, DYNAMIC_TYPE_ECC); |
1706 | 0 | if (t == NULL) |
1707 | 0 | err = MEMORY_E; |
1708 | 0 | if (err == MP_OKAY) { |
1709 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, |
1710 | 0 | heap, DYNAMIC_TYPE_ECC); |
1711 | 0 | if (tmp == NULL) |
1712 | 0 | err = MEMORY_E; |
1713 | 0 | } |
1714 | 0 | #endif |
1715 | |
|
1716 | 0 | if (err == MP_OKAY) { |
1717 | 0 | rt = t + 33; |
1718 | 0 | p = t + 33+1; |
1719 | | |
1720 | | /* t[0] = {0, 0, 1} * norm */ |
1721 | 0 | XMEMSET(&t[0], 0, sizeof(t[0])); |
1722 | 0 | t[0].infinity = 1; |
1723 | | /* t[1] = {g->x, g->y, g->z} * norm */ |
1724 | 0 | err = sp_256_mod_mul_norm_sm2_4(t[1].x, g->x, p256_sm2_mod); |
1725 | 0 | } |
1726 | 0 | if (err == MP_OKAY) { |
1727 | 0 | err = sp_256_mod_mul_norm_sm2_4(t[1].y, g->y, p256_sm2_mod); |
1728 | 0 | } |
1729 | 0 | if (err == MP_OKAY) { |
1730 | 0 | err = sp_256_mod_mul_norm_sm2_4(t[1].z, g->z, p256_sm2_mod); |
1731 | 0 | } |
1732 | |
|
1733 | 0 | if (err == MP_OKAY) { |
1734 | 0 | t[1].infinity = 0; |
1735 | | /* t[2] ... t[32] */ |
1736 | 0 | sp_256_proj_point_dbl_n_store_sm2_4(t, &t[ 1], 5, 1, tmp); |
1737 | 0 | sp_256_proj_point_add_sm2_4(&t[ 3], &t[ 2], &t[ 1], tmp); |
1738 | 0 | sp_256_proj_point_dbl_sm2_4(&t[ 6], &t[ 3], tmp); |
1739 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp); |
1740 | 0 | sp_256_proj_point_dbl_sm2_4(&t[10], &t[ 5], tmp); |
1741 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[11], &t[ 9], &t[10], &t[ 1], tmp); |
1742 | 0 | sp_256_proj_point_dbl_sm2_4(&t[12], &t[ 6], tmp); |
1743 | 0 | sp_256_proj_point_dbl_sm2_4(&t[14], &t[ 7], tmp); |
1744 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[15], &t[13], &t[14], &t[ 1], tmp); |
1745 | 0 | sp_256_proj_point_dbl_sm2_4(&t[18], &t[ 9], tmp); |
1746 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[19], &t[17], &t[18], &t[ 1], tmp); |
1747 | 0 | sp_256_proj_point_dbl_sm2_4(&t[20], &t[10], tmp); |
1748 | 0 | sp_256_proj_point_dbl_sm2_4(&t[22], &t[11], tmp); |
1749 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[23], &t[21], &t[22], &t[ 1], tmp); |
1750 | 0 | sp_256_proj_point_dbl_sm2_4(&t[24], &t[12], tmp); |
1751 | 0 | sp_256_proj_point_dbl_sm2_4(&t[26], &t[13], tmp); |
1752 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[27], &t[25], &t[26], &t[ 1], tmp); |
1753 | 0 | sp_256_proj_point_dbl_sm2_4(&t[28], &t[14], tmp); |
1754 | 0 | sp_256_proj_point_dbl_sm2_4(&t[30], &t[15], tmp); |
1755 | 0 | sp_256_proj_point_add_sub_sm2_4(&t[31], &t[29], &t[30], &t[ 1], tmp); |
1756 | |
|
1757 | 0 | negy = t[0].y; |
1758 | |
|
1759 | 0 | sp_256_ecc_recode_6_4(k, v); |
1760 | |
|
1761 | 0 | i = 42; |
1762 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
1763 | 0 | if (ct) { |
1764 | 0 | sp_256_get_point_33_sm2_4(rt, t, v[i].i); |
1765 | 0 | rt->infinity = !v[i].i; |
1766 | 0 | } |
1767 | 0 | else |
1768 | 0 | #endif |
1769 | 0 | { |
1770 | 0 | XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_256)); |
1771 | 0 | } |
1772 | 0 | for (--i; i>=0; i--) { |
1773 | 0 | sp_256_proj_point_dbl_n_sm2_4(rt, 6, tmp); |
1774 | |
|
1775 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
1776 | 0 | if (ct) { |
1777 | 0 | sp_256_get_point_33_sm2_4(p, t, v[i].i); |
1778 | 0 | p->infinity = !v[i].i; |
1779 | 0 | } |
1780 | 0 | else |
1781 | 0 | #endif |
1782 | 0 | { |
1783 | 0 | XMEMCPY(p, &t[v[i].i], sizeof(sp_point_256)); |
1784 | 0 | } |
1785 | 0 | sp_256_sub_sm2_4(negy, p256_sm2_mod, p->y); |
1786 | 0 | sp_256_norm_4(negy); |
1787 | 0 | sp_256_cond_copy_sm2_4(p->y, negy, (sp_digit)0 - v[i].neg); |
1788 | 0 | sp_256_proj_point_add_sm2_4(rt, rt, p, tmp); |
1789 | 0 | } |
1790 | |
|
1791 | 0 | if (map != 0) { |
1792 | 0 | sp_256_map_sm2_4(r, rt, tmp); |
1793 | 0 | } |
1794 | 0 | else { |
1795 | 0 | XMEMCPY(r, rt, sizeof(sp_point_256)); |
1796 | 0 | } |
1797 | 0 | } |
1798 | |
|
1799 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
1800 | 0 | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
1801 | 0 | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
1802 | 0 | #endif |
1803 | |
|
1804 | 0 | return err; |
1805 | 0 | } |
1806 | | |
1807 | | #ifdef HAVE_INTEL_AVX2 |
1808 | | #ifdef HAVE_INTEL_AVX2 |
1809 | | /* Multiply a number by Montgomery normalizer mod modulus (prime). |
1810 | | * |
1811 | | * r The resulting Montgomery form number. |
1812 | | * a The number to convert. |
1813 | | * m The modulus (prime). |
1814 | | * returns MEMORY_E when memory allocation fails and MP_OKAY otherwise. |
1815 | | */ |
1816 | | static int sp_256_mod_mul_norm_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m) |
1817 | 0 | { |
1818 | 0 | sp_256_mul_avx2_sm2_4(r, a, p256_sm2_norm_mod); |
1819 | 0 | return sp_256_mod_sm2_4(r, r, m); |
1820 | 0 | } |
1821 | | |
1822 | | #endif /* HAVE_INTEL_AVX2 */ |
1823 | | #ifdef __cplusplus |
1824 | | extern "C" { |
1825 | | #endif |
1826 | | extern void sp_256_mont_mul_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, const sp_digit* m, sp_digit mp); |
1827 | | #ifdef __cplusplus |
1828 | | } |
1829 | | #endif |
1830 | | #ifdef __cplusplus |
1831 | | extern "C" { |
1832 | | #endif |
1833 | | extern void sp_256_mont_sqr_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m, sp_digit mp); |
1834 | | #ifdef __cplusplus |
1835 | | } |
1836 | | #endif |
1837 | | #if !defined(WOLFSSL_SP_SMALL) |
1838 | | /* Square the Montgomery form number a number of times. (r = a ^ n mod m) |
1839 | | * |
1840 | | * r Result of squaring. |
1841 | | * a Number to square in Montgomery form. |
1842 | | * n Number of times to square. |
1843 | | * m Modulus (prime). |
1844 | | * mp Montgomery multiplier. |
1845 | | */ |
1846 | | SP_NOINLINE static void sp_256_mont_sqr_n_avx2_sm2_4(sp_digit* r, |
1847 | | const sp_digit* a, int n, const sp_digit* m, sp_digit mp) |
1848 | 0 | { |
1849 | 0 | sp_256_mont_sqr_avx2_sm2_4(r, a, m, mp); |
1850 | 0 | for (; n > 1; n--) { |
1851 | 0 | sp_256_mont_sqr_avx2_sm2_4(r, r, m, mp); |
1852 | 0 | } |
1853 | 0 | } |
1854 | | |
1855 | | #endif /* !WOLFSSL_SP_SMALL */ |
1856 | | |
1857 | | /* Invert the number, in Montgomery form, modulo the modulus (prime) of the |
1858 | | * P256 curve. (r = 1 / a mod m) |
1859 | | * |
1860 | | * r Inverse result. |
1861 | | * a Number to invert. |
1862 | | * td Temporary data. |
1863 | | */ |
1864 | | static void sp_256_mont_inv_avx2_sm2_4(sp_digit* r, const sp_digit* a, sp_digit* td) |
1865 | 0 | { |
1866 | | #ifdef WOLFSSL_SP_SMALL |
1867 | | sp_digit* t = td; |
1868 | | int i; |
1869 | | |
1870 | | XMEMCPY(t, a, sizeof(sp_digit) * 4); |
1871 | | for (i=254; i>=0; i--) { |
1872 | | sp_256_mont_sqr_avx2_sm2_4(t, t, p256_sm2_mod, p256_sm2_mp_mod); |
1873 | | if (p256_sm2_mod_minus_2[i / 64] & ((sp_digit)1 << (i % 64))) |
1874 | | sp_256_mont_mul_avx2_sm2_4(t, t, a, p256_sm2_mod, p256_sm2_mp_mod); |
1875 | | } |
1876 | | XMEMCPY(r, t, sizeof(sp_digit) * 4); |
1877 | | #else |
1878 | 0 | sp_digit* t1 = td; |
1879 | 0 | sp_digit* t2 = td + 2 * 4; |
1880 | 0 | sp_digit* t3 = td + 4 * 4; |
1881 | 0 | sp_digit* t4 = td + 6 * 4; |
1882 | | /* 0x2 */ |
1883 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
1884 | | /* 0x3 */ |
1885 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
1886 | | /* 0xc */ |
1887 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, t2, 2, p256_sm2_mod, p256_sm2_mp_mod); |
1888 | | /* 0xd */ |
1889 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t1, a, p256_sm2_mod, p256_sm2_mp_mod); |
1890 | | /* 0xf */ |
1891 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1892 | | /* 0xf0 */ |
1893 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, t2, 4, p256_sm2_mod, p256_sm2_mp_mod); |
1894 | | /* 0xfd */ |
1895 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1896 | | /* 0xff */ |
1897 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1898 | | /* 0xff00 */ |
1899 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, t2, 8, p256_sm2_mod, p256_sm2_mp_mod); |
1900 | | /* 0xfffd */ |
1901 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1902 | | /* 0xffff */ |
1903 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1904 | | /* 0xffff0000 */ |
1905 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, t2, 16, p256_sm2_mod, p256_sm2_mp_mod); |
1906 | | /* 0xfffffffd */ |
1907 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1908 | | /* 0xfffffffe */ |
1909 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t3, a, p256_sm2_mod, p256_sm2_mp_mod); |
1910 | | /* 0xffffffff */ |
1911 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t2, a, p256_sm2_mod, p256_sm2_mp_mod); |
1912 | | /* 0xfffffffe00000000 */ |
1913 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t2, t2, 32, p256_sm2_mod, p256_sm2_mp_mod); |
1914 | | /* 0xfffffffeffffffff */ |
1915 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t4, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1916 | | /* 0xfffffffeffffffff00000000 */ |
1917 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, t2, 32, p256_sm2_mod, p256_sm2_mp_mod); |
1918 | | /* 0xfffffffeffffffffffffffff */ |
1919 | 0 | sp_256_mont_mul_avx2_sm2_4(r, t4, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1920 | | /* 0xfffffffeffffffffffffffff00000000 */ |
1921 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(t1, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
1922 | | /* 0xfffffffeffffffffffffffffffffffff */ |
1923 | 0 | sp_256_mont_mul_avx2_sm2_4(r, t4, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1924 | | /* 0xfffffffeffffffffffffffffffffffff00000000 */ |
1925 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(r, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
1926 | | /* 0xfffffffeffffffffffffffffffffffffffffffff */ |
1927 | 0 | sp_256_mont_mul_avx2_sm2_4(r, r, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1928 | | /* 0xfffffffeffffffffffffffffffffffffffffffff0000000000000000 */ |
1929 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(r, r, 64, p256_sm2_mod, p256_sm2_mp_mod); |
1930 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffff */ |
1931 | 0 | sp_256_mont_mul_avx2_sm2_4(r, r, t4, p256_sm2_mod, p256_sm2_mp_mod); |
1932 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000ffffffff00000000 */ |
1933 | 0 | sp_256_mont_sqr_n_avx2_sm2_4(r, r, 32, p256_sm2_mod, p256_sm2_mp_mod); |
1934 | | /* 0xfffffffeffffffffffffffffffffffffffffffff00000000fffffffffffffffd */ |
1935 | 0 | sp_256_mont_mul_avx2_sm2_4(r, r, t3, p256_sm2_mod, p256_sm2_mp_mod); |
1936 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
1937 | 0 | } |
1938 | | |
1939 | 0 | #define sp_256_mont_reduce_avx2_sm2_4 sp_256_mont_reduce_sm2_4 |
1940 | | #ifdef __cplusplus |
1941 | | extern "C" { |
1942 | | #endif |
1943 | | extern void sp_256_mont_reduce_order_avx2_sm2_4(sp_digit* a, const sp_digit* m, sp_digit mp); |
1944 | | #ifdef __cplusplus |
1945 | | } |
1946 | | #endif |
1947 | | /* Map the Montgomery form projective coordinate point to an affine point. |
1948 | | * |
1949 | | * r Resulting affine coordinate point. |
1950 | | * p Montgomery form projective coordinate point. |
1951 | | * t Temporary ordinate data. |
1952 | | */ |
1953 | | static void sp_256_map_avx2_sm2_4(sp_point_256* r, const sp_point_256* p, |
1954 | | sp_digit* t) |
1955 | 0 | { |
1956 | 0 | sp_digit* t1 = t; |
1957 | 0 | sp_digit* t2 = t + 2*4; |
1958 | 0 | sp_int64 n; |
1959 | |
|
1960 | 0 | sp_256_mont_inv_avx2_sm2_4(t1, p->z, t + 2*4); |
1961 | |
|
1962 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1963 | 0 | sp_256_mont_mul_avx2_sm2_4(t1, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1964 | | |
1965 | | /* x /= z^2 */ |
1966 | 0 | sp_256_mont_mul_avx2_sm2_4(r->x, p->x, t2, p256_sm2_mod, p256_sm2_mp_mod); |
1967 | 0 | XMEMSET(r->x + 4, 0, sizeof(sp_digit) * 4U); |
1968 | 0 | sp_256_mont_reduce_avx2_sm2_4(r->x, p256_sm2_mod, p256_sm2_mp_mod); |
1969 | | /* Reduce x to less than modulus */ |
1970 | 0 | n = sp_256_cmp_sm2_4(r->x, p256_sm2_mod); |
1971 | 0 | sp_256_cond_sub_sm2_4(r->x, r->x, p256_sm2_mod, (sp_digit)~(n >> 63)); |
1972 | 0 | sp_256_norm_4(r->x); |
1973 | | |
1974 | | /* y /= z^3 */ |
1975 | 0 | sp_256_mont_mul_avx2_sm2_4(r->y, p->y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
1976 | 0 | XMEMSET(r->y + 4, 0, sizeof(sp_digit) * 4U); |
1977 | 0 | sp_256_mont_reduce_avx2_sm2_4(r->y, p256_sm2_mod, p256_sm2_mp_mod); |
1978 | | /* Reduce y to less than modulus */ |
1979 | 0 | n = sp_256_cmp_sm2_4(r->y, p256_sm2_mod); |
1980 | 0 | sp_256_cond_sub_sm2_4(r->y, r->y, p256_sm2_mod, (sp_digit)~(n >> 63)); |
1981 | 0 | sp_256_norm_4(r->y); |
1982 | |
|
1983 | 0 | XMEMSET(r->z, 0, sizeof(r->z) / 2); |
1984 | 0 | r->z[0] = 1; |
1985 | 0 | } |
1986 | | |
1987 | 0 | #define sp_256_mont_add_avx2_sm2_4 sp_256_mont_add_sm2_4 |
1988 | 0 | #define sp_256_mont_dbl_avx2_sm2_4 sp_256_mont_dbl_sm2_4 |
1989 | 0 | #define sp_256_mont_tpl_avx2_sm2_4 sp_256_mont_tpl_sm2_4 |
1990 | 0 | #define sp_256_mont_sub_avx2_sm2_4 sp_256_mont_sub_sm2_4 |
1991 | | #ifdef __cplusplus |
1992 | | extern "C" { |
1993 | | #endif |
1994 | | extern void sp_256_mont_div2_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* m); |
1995 | | #ifdef __cplusplus |
1996 | | } |
1997 | | #endif |
1998 | 0 | #define sp_256_mont_rsb_sub_dbl_avx2_sm2_4 sp_256_mont_rsb_sub_dbl_sm2_4 |
1999 | | /* Double the Montgomery form projective point p. |
2000 | | * |
2001 | | * r Result of doubling point. |
2002 | | * p Point to double. |
2003 | | * t Temporary ordinate data. |
2004 | | */ |
2005 | | static void sp_256_proj_point_dbl_avx2_sm2_4(sp_point_256* r, const sp_point_256* p, |
2006 | | sp_digit* t) |
2007 | 0 | { |
2008 | 0 | sp_digit* t1 = t; |
2009 | 0 | sp_digit* t2 = t + 2*4; |
2010 | 0 | sp_digit* x; |
2011 | 0 | sp_digit* y; |
2012 | 0 | sp_digit* z; |
2013 | |
|
2014 | 0 | x = r->x; |
2015 | 0 | y = r->y; |
2016 | 0 | z = r->z; |
2017 | | /* Put infinity into result. */ |
2018 | 0 | if (r != p) { |
2019 | 0 | r->infinity = p->infinity; |
2020 | 0 | } |
2021 | | |
2022 | | /* T1 = Z * Z */ |
2023 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2024 | | /* Z = Y * Z */ |
2025 | 0 | sp_256_mont_mul_avx2_sm2_4(z, p->y, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2026 | | /* Z = 2Z */ |
2027 | 0 | sp_256_mont_dbl_avx2_sm2_4(z, z, p256_sm2_mod); |
2028 | | /* T2 = X - T1 */ |
2029 | 0 | sp_256_mont_sub_avx2_sm2_4(t2, p->x, t1, p256_sm2_mod); |
2030 | | /* T1 = X + T1 */ |
2031 | 0 | sp_256_mont_add_avx2_sm2_4(t1, p->x, t1, p256_sm2_mod); |
2032 | | /* T2 = T1 * T2 */ |
2033 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2034 | | /* T1 = 3T2 */ |
2035 | 0 | sp_256_mont_tpl_avx2_sm2_4(t1, t2, p256_sm2_mod); |
2036 | | /* Y = 2Y */ |
2037 | 0 | sp_256_mont_dbl_avx2_sm2_4(y, p->y, p256_sm2_mod); |
2038 | | /* Y = Y * Y */ |
2039 | 0 | sp_256_mont_sqr_avx2_sm2_4(y, y, p256_sm2_mod, p256_sm2_mp_mod); |
2040 | | /* T2 = Y * Y */ |
2041 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, y, p256_sm2_mod, p256_sm2_mp_mod); |
2042 | | /* T2 = T2/2 */ |
2043 | 0 | sp_256_mont_div2_avx2_sm2_4(t2, t2, p256_sm2_mod); |
2044 | | /* Y = Y * X */ |
2045 | 0 | sp_256_mont_mul_avx2_sm2_4(y, y, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
2046 | | /* X = T1 * T1 */ |
2047 | 0 | sp_256_mont_sqr_avx2_sm2_4(x, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2048 | | /* X = X - 2*Y */ |
2049 | | /* Y = Y - X */ |
2050 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, x, y, p256_sm2_mod); |
2051 | | /* Y = Y * T1 */ |
2052 | 0 | sp_256_mont_mul_avx2_sm2_4(y, y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2053 | | /* Y = Y - T2 */ |
2054 | 0 | sp_256_mont_sub_avx2_sm2_4(y, y, t2, p256_sm2_mod); |
2055 | 0 | } |
2056 | | |
2057 | | #ifdef WOLFSSL_SP_NONBLOCK |
2058 | | typedef struct sp_256_proj_point_dbl_avx2_4_ctx { |
2059 | | int state; |
2060 | | sp_digit* t1; |
2061 | | sp_digit* t2; |
2062 | | sp_digit* x; |
2063 | | sp_digit* y; |
2064 | | sp_digit* z; |
2065 | | } sp_256_proj_point_dbl_avx2_4_ctx; |
2066 | | |
2067 | | /* Double the Montgomery form projective point p. |
2068 | | * |
2069 | | * r Result of doubling point. |
2070 | | * p Point to double. |
2071 | | * t Temporary ordinate data. |
2072 | | */ |
2073 | | static int sp_256_proj_point_dbl_avx2_sm2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, |
2074 | | const sp_point_256* p, sp_digit* t) |
2075 | | { |
2076 | | int err = FP_WOULDBLOCK; |
2077 | | sp_256_proj_point_dbl_avx2_4_ctx* ctx = (sp_256_proj_point_dbl_avx2_sm2_4_ctx*)sp_ctx->data; |
2078 | | |
2079 | | typedef char ctx_size_test[sizeof(sp_256_proj_point_dbl_avx2_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1]; |
2080 | | (void)sizeof(ctx_size_test); |
2081 | | |
2082 | | switch (ctx->state) { |
2083 | | case 0: |
2084 | | ctx->t1 = t; |
2085 | | ctx->t2 = t + 2*4; |
2086 | | ctx->x = r->x; |
2087 | | ctx->y = r->y; |
2088 | | ctx->z = r->z; |
2089 | | |
2090 | | /* Put infinity into result. */ |
2091 | | if (r != p) { |
2092 | | r->infinity = p->infinity; |
2093 | | } |
2094 | | ctx->state = 1; |
2095 | | break; |
2096 | | case 1: |
2097 | | /* T1 = Z * Z */ |
2098 | | sp_256_mont_sqr_avx2_sm2_4(ctx->t1, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2099 | | ctx->state = 2; |
2100 | | break; |
2101 | | case 2: |
2102 | | /* Z = Y * Z */ |
2103 | | sp_256_mont_mul_avx2_sm2_4(ctx->z, p->y, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2104 | | ctx->state = 3; |
2105 | | break; |
2106 | | case 3: |
2107 | | /* Z = 2Z */ |
2108 | | sp_256_mont_dbl_avx2_sm2_4(ctx->z, ctx->z, p256_sm2_mod); |
2109 | | ctx->state = 4; |
2110 | | break; |
2111 | | case 4: |
2112 | | /* T2 = X - T1 */ |
2113 | | sp_256_mont_sub_avx2_sm2_4(ctx->t2, p->x, ctx->t1, p256_sm2_mod); |
2114 | | ctx->state = 5; |
2115 | | break; |
2116 | | case 5: |
2117 | | /* T1 = X + T1 */ |
2118 | | sp_256_mont_add_avx2_sm2_4(ctx->t1, p->x, ctx->t1, p256_sm2_mod); |
2119 | | ctx->state = 6; |
2120 | | break; |
2121 | | case 6: |
2122 | | /* T2 = T1 * T2 */ |
2123 | | sp_256_mont_mul_avx2_sm2_4(ctx->t2, ctx->t1, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
2124 | | ctx->state = 7; |
2125 | | break; |
2126 | | case 7: |
2127 | | /* T1 = 3T2 */ |
2128 | | sp_256_mont_tpl_avx2_sm2_4(ctx->t1, ctx->t2, p256_sm2_mod); |
2129 | | ctx->state = 8; |
2130 | | break; |
2131 | | case 8: |
2132 | | /* Y = 2Y */ |
2133 | | sp_256_mont_dbl_avx2_sm2_4(ctx->y, p->y, p256_sm2_mod); |
2134 | | ctx->state = 9; |
2135 | | break; |
2136 | | case 9: |
2137 | | /* Y = Y * Y */ |
2138 | | sp_256_mont_sqr_avx2_sm2_4(ctx->y, ctx->y, p256_sm2_mod, p256_sm2_mp_mod); |
2139 | | ctx->state = 10; |
2140 | | break; |
2141 | | case 10: |
2142 | | /* T2 = Y * Y */ |
2143 | | sp_256_mont_sqr_avx2_sm2_4(ctx->t2, ctx->y, p256_sm2_mod, p256_sm2_mp_mod); |
2144 | | ctx->state = 11; |
2145 | | break; |
2146 | | case 11: |
2147 | | /* T2 = T2/2 */ |
2148 | | sp_256_mont_div2_avx2_sm2_4(ctx->t2, ctx->t2, p256_sm2_mod); |
2149 | | ctx->state = 12; |
2150 | | break; |
2151 | | case 12: |
2152 | | /* Y = Y * X */ |
2153 | | sp_256_mont_mul_avx2_sm2_4(ctx->y, ctx->y, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
2154 | | ctx->state = 13; |
2155 | | break; |
2156 | | case 13: |
2157 | | /* X = T1 * T1 */ |
2158 | | sp_256_mont_sqr_avx2_sm2_4(ctx->x, ctx->t1, p256_sm2_mod, p256_sm2_mp_mod); |
2159 | | ctx->state = 14; |
2160 | | break; |
2161 | | case 14: |
2162 | | /* X = X - 2*Y */ |
2163 | | /* Y = Y - X */ |
2164 | | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(ctx->x, ctx->x, ctx->y, p256_sm2_mod); |
2165 | | ctx->state = 15; |
2166 | | break; |
2167 | | case 15: |
2168 | | ctx->state = 16; |
2169 | | break; |
2170 | | case 16: |
2171 | | ctx->state = 17; |
2172 | | break; |
2173 | | case 17: |
2174 | | /* Y = Y * T1 */ |
2175 | | sp_256_mont_mul_avx2_sm2_4(ctx->y, ctx->y, ctx->t1, p256_sm2_mod, p256_sm2_mp_mod); |
2176 | | ctx->state = 18; |
2177 | | break; |
2178 | | case 18: |
2179 | | /* Y = Y - T2 */ |
2180 | | sp_256_mont_sub_avx2_sm2_4(ctx->y, ctx->y, ctx->t2, p256_sm2_mod); |
2181 | | ctx->state = 19; |
2182 | | /* fall-through */ |
2183 | | case 19: |
2184 | | err = MP_OKAY; |
2185 | | break; |
2186 | | } |
2187 | | |
2188 | | if (err == MP_OKAY && ctx->state != 19) { |
2189 | | err = FP_WOULDBLOCK; |
2190 | | } |
2191 | | |
2192 | | return err; |
2193 | | } |
2194 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
2195 | | /* Double the Montgomery form projective point p a number of times. |
2196 | | * |
2197 | | * r Result of repeated doubling of point. |
2198 | | * p Point to double. |
2199 | | * n Number of times to double |
2200 | | * t Temporary ordinate data. |
2201 | | */ |
2202 | | static void sp_256_proj_point_dbl_n_avx2_sm2_4(sp_point_256* p, int i, |
2203 | | sp_digit* t) |
2204 | 0 | { |
2205 | 0 | sp_digit* w = t; |
2206 | 0 | sp_digit* a = t + 2*4; |
2207 | 0 | sp_digit* b = t + 4*4; |
2208 | 0 | sp_digit* t1 = t + 6*4; |
2209 | 0 | sp_digit* x; |
2210 | 0 | sp_digit* y; |
2211 | 0 | sp_digit* z; |
2212 | 0 | volatile int n = i; |
2213 | |
|
2214 | 0 | x = p->x; |
2215 | 0 | y = p->y; |
2216 | 0 | z = p->z; |
2217 | | |
2218 | | /* Y = 2*Y */ |
2219 | 0 | sp_256_mont_dbl_avx2_sm2_4(y, y, p256_sm2_mod); |
2220 | | /* W = Z^4 */ |
2221 | 0 | sp_256_mont_sqr_avx2_sm2_4(w, z, p256_sm2_mod, p256_sm2_mp_mod); |
2222 | 0 | sp_256_mont_sqr_avx2_sm2_4(w, w, p256_sm2_mod, p256_sm2_mp_mod); |
2223 | 0 | #ifndef WOLFSSL_SP_SMALL |
2224 | 0 | while (--n > 0) |
2225 | | #else |
2226 | | while (--n >= 0) |
2227 | | #endif |
2228 | 0 | { |
2229 | | /* A = 3*(X^2 - W) */ |
2230 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2231 | 0 | sp_256_mont_sub_avx2_sm2_4(t1, t1, w, p256_sm2_mod); |
2232 | 0 | sp_256_mont_tpl_avx2_sm2_4(a, t1, p256_sm2_mod); |
2233 | | /* B = X*Y^2 */ |
2234 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
2235 | 0 | sp_256_mont_mul_avx2_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2236 | | /* X = A^2 - 2B */ |
2237 | 0 | sp_256_mont_sqr_avx2_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
2238 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, x, b, p256_sm2_mod); |
2239 | | /* B = 2.(B - X) */ |
2240 | 0 | sp_256_mont_dbl_avx2_sm2_4(b, b, p256_sm2_mod); |
2241 | | /* Z = Z*Y */ |
2242 | 0 | sp_256_mont_mul_avx2_sm2_4(z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
2243 | | /* t1 = Y^4 */ |
2244 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2245 | | #ifdef WOLFSSL_SP_SMALL |
2246 | | if (n != 0) |
2247 | | #endif |
2248 | 0 | { |
2249 | | /* W = W*Y^4 */ |
2250 | 0 | sp_256_mont_mul_avx2_sm2_4(w, w, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2251 | 0 | } |
2252 | | /* y = 2*A*(B - X) - Y^4 */ |
2253 | 0 | sp_256_mont_mul_avx2_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
2254 | 0 | sp_256_mont_sub_avx2_sm2_4(y, y, t1, p256_sm2_mod); |
2255 | 0 | } |
2256 | 0 | #ifndef WOLFSSL_SP_SMALL |
2257 | | /* A = 3*(X^2 - W) */ |
2258 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2259 | 0 | sp_256_mont_sub_avx2_sm2_4(t1, t1, w, p256_sm2_mod); |
2260 | 0 | sp_256_mont_tpl_avx2_sm2_4(a, t1, p256_sm2_mod); |
2261 | | /* B = X*Y^2 */ |
2262 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
2263 | 0 | sp_256_mont_mul_avx2_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2264 | | /* X = A^2 - 2B */ |
2265 | 0 | sp_256_mont_sqr_avx2_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
2266 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, x, b, p256_sm2_mod); |
2267 | | /* B = 2.(B - X) */ |
2268 | 0 | sp_256_mont_dbl_avx2_sm2_4(b, b, p256_sm2_mod); |
2269 | | /* Z = Z*Y */ |
2270 | 0 | sp_256_mont_mul_avx2_sm2_4(z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
2271 | | /* t1 = Y^4 */ |
2272 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2273 | | /* y = 2*A*(B - X) - Y^4 */ |
2274 | 0 | sp_256_mont_mul_avx2_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
2275 | 0 | sp_256_mont_sub_avx2_sm2_4(y, y, t1, p256_sm2_mod); |
2276 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
2277 | | /* Y = Y/2 */ |
2278 | 0 | sp_256_mont_div2_avx2_sm2_4(y, y, p256_sm2_mod); |
2279 | 0 | } |
2280 | | |
2281 | | |
2282 | | /* Add two Montgomery form projective points. |
2283 | | * |
2284 | | * r Result of addition. |
2285 | | * p First point to add. |
2286 | | * q Second point to add. |
2287 | | * t Temporary ordinate data. |
2288 | | */ |
2289 | | static void sp_256_proj_point_add_avx2_sm2_4(sp_point_256* r, |
2290 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
2291 | 0 | { |
2292 | 0 | sp_digit* t6 = t; |
2293 | 0 | sp_digit* t1 = t + 2*4; |
2294 | 0 | sp_digit* t2 = t + 4*4; |
2295 | 0 | sp_digit* t3 = t + 6*4; |
2296 | 0 | sp_digit* t4 = t + 8*4; |
2297 | 0 | sp_digit* t5 = t + 10*4; |
2298 | | |
2299 | | /* U1 = X1*Z2^2 */ |
2300 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2301 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2302 | 0 | sp_256_mont_mul_avx2_sm2_4(t1, t1, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
2303 | | /* U2 = X2*Z1^2 */ |
2304 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2305 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2306 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
2307 | | /* S1 = Y1*Z2^3 */ |
2308 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
2309 | | /* S2 = Y2*Z1^3 */ |
2310 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
2311 | | |
2312 | | /* Check double */ |
2313 | 0 | if ((~p->infinity) & (~q->infinity) & |
2314 | 0 | sp_256_cmp_equal_4(t2, t1) & |
2315 | 0 | sp_256_cmp_equal_4(t4, t3)) { |
2316 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(r, p, t); |
2317 | 0 | } |
2318 | 0 | else { |
2319 | 0 | sp_digit* x = t6; |
2320 | 0 | sp_digit* y = t1; |
2321 | 0 | sp_digit* z = t2; |
2322 | | |
2323 | | /* H = U2 - U1 */ |
2324 | 0 | sp_256_mont_sub_avx2_sm2_4(t2, t2, t1, p256_sm2_mod); |
2325 | | /* R = S2 - S1 */ |
2326 | 0 | sp_256_mont_sub_avx2_sm2_4(t4, t4, t3, p256_sm2_mod); |
2327 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
2328 | 0 | sp_256_mont_sqr_avx2_sm2_4(t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2329 | 0 | sp_256_mont_mul_avx2_sm2_4(y, t1, t5, p256_sm2_mod, p256_sm2_mp_mod); |
2330 | 0 | sp_256_mont_mul_avx2_sm2_4(t5, t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2331 | | /* Z3 = H*Z1*Z2 */ |
2332 | 0 | sp_256_mont_mul_avx2_sm2_4(z, p->z, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2333 | 0 | sp_256_mont_mul_avx2_sm2_4(z, z, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2334 | 0 | sp_256_mont_sqr_avx2_sm2_4(x, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2335 | 0 | sp_256_mont_sub_avx2_sm2_4(x, x, t5, p256_sm2_mod); |
2336 | 0 | sp_256_mont_mul_avx2_sm2_4(t5, t5, t3, p256_sm2_mod, p256_sm2_mp_mod); |
2337 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
2338 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, x, y, p256_sm2_mod); |
2339 | 0 | sp_256_mont_mul_avx2_sm2_4(y, y, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2340 | 0 | sp_256_mont_sub_avx2_sm2_4(y, y, t5, p256_sm2_mod); |
2341 | 0 | { |
2342 | 0 | int i; |
2343 | 0 | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
2344 | 0 | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
2345 | 0 | sp_digit maskt = ~(maskp | maskq); |
2346 | 0 | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
2347 | |
|
2348 | 0 | for (i = 0; i < 4; i++) { |
2349 | 0 | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
2350 | 0 | (x[i] & maskt); |
2351 | 0 | } |
2352 | 0 | for (i = 0; i < 4; i++) { |
2353 | 0 | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
2354 | 0 | (y[i] & maskt); |
2355 | 0 | } |
2356 | 0 | for (i = 0; i < 4; i++) { |
2357 | 0 | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
2358 | 0 | (z[i] & maskt); |
2359 | 0 | } |
2360 | 0 | r->z[0] |= inf; |
2361 | 0 | r->infinity = (int)inf; |
2362 | 0 | } |
2363 | 0 | } |
2364 | 0 | } |
2365 | | |
2366 | | #ifdef WOLFSSL_SP_NONBLOCK |
2367 | | typedef struct sp_256_proj_point_add_avx2_4_ctx { |
2368 | | int state; |
2369 | | sp_256_proj_point_dbl_avx2_4_ctx dbl_ctx; |
2370 | | const sp_point_256* ap[2]; |
2371 | | sp_point_256* rp[2]; |
2372 | | sp_digit* t1; |
2373 | | sp_digit* t2; |
2374 | | sp_digit* t3; |
2375 | | sp_digit* t4; |
2376 | | sp_digit* t5; |
2377 | | sp_digit* t6; |
2378 | | sp_digit* x; |
2379 | | sp_digit* y; |
2380 | | sp_digit* z; |
2381 | | } sp_256_proj_point_add_avx2_4_ctx; |
2382 | | |
2383 | | /* Add two Montgomery form projective points. |
2384 | | * |
2385 | | * r Result of addition. |
2386 | | * p First point to add. |
2387 | | * q Second point to add. |
2388 | | * t Temporary ordinate data. |
2389 | | */ |
2390 | | static int sp_256_proj_point_add_avx2_sm2_4_nb(sp_ecc_ctx_t* sp_ctx, sp_point_256* r, |
2391 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
2392 | | { |
2393 | | int err = FP_WOULDBLOCK; |
2394 | | sp_256_proj_point_add_avx2_4_ctx* ctx = (sp_256_proj_point_add_avx2_sm2_4_ctx*)sp_ctx->data; |
2395 | | |
2396 | | /* Ensure only the first point is the same as the result. */ |
2397 | | if (q == r) { |
2398 | | const sp_point_256* a = p; |
2399 | | p = q; |
2400 | | q = a; |
2401 | | } |
2402 | | |
2403 | | typedef char ctx_size_test[sizeof(sp_256_proj_point_add_avx2_4_ctx) >= sizeof(*sp_ctx) ? -1 : 1]; |
2404 | | (void)sizeof(ctx_size_test); |
2405 | | |
2406 | | switch (ctx->state) { |
2407 | | case 0: /* INIT */ |
2408 | | ctx->t6 = t; |
2409 | | ctx->t1 = t + 2*4; |
2410 | | ctx->t2 = t + 4*4; |
2411 | | ctx->t3 = t + 6*4; |
2412 | | ctx->t4 = t + 8*4; |
2413 | | ctx->t5 = t + 10*4; |
2414 | | ctx->x = ctx->t6; |
2415 | | ctx->y = ctx->t1; |
2416 | | ctx->z = ctx->t2; |
2417 | | |
2418 | | ctx->state = 1; |
2419 | | break; |
2420 | | case 1: |
2421 | | /* U1 = X1*Z2^2 */ |
2422 | | sp_256_mont_sqr_avx2_sm2_4(ctx->t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2423 | | ctx->state = 2; |
2424 | | break; |
2425 | | case 2: |
2426 | | sp_256_mont_mul_avx2_sm2_4(ctx->t3, ctx->t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2427 | | ctx->state = 3; |
2428 | | break; |
2429 | | case 3: |
2430 | | sp_256_mont_mul_avx2_sm2_4(ctx->t1, ctx->t1, p->x, p256_sm2_mod, p256_sm2_mp_mod); |
2431 | | ctx->state = 4; |
2432 | | break; |
2433 | | case 4: |
2434 | | /* U2 = X2*Z1^2 */ |
2435 | | sp_256_mont_sqr_avx2_sm2_4(ctx->t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2436 | | ctx->state = 5; |
2437 | | break; |
2438 | | case 5: |
2439 | | sp_256_mont_mul_avx2_sm2_4(ctx->t4, ctx->t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2440 | | ctx->state = 6; |
2441 | | break; |
2442 | | case 6: |
2443 | | sp_256_mont_mul_avx2_sm2_4(ctx->t2, ctx->t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
2444 | | ctx->state = 7; |
2445 | | break; |
2446 | | case 7: |
2447 | | /* S1 = Y1*Z2^3 */ |
2448 | | sp_256_mont_mul_avx2_sm2_4(ctx->t3, ctx->t3, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
2449 | | ctx->state = 8; |
2450 | | break; |
2451 | | case 8: |
2452 | | /* S2 = Y2*Z1^3 */ |
2453 | | sp_256_mont_mul_avx2_sm2_4(ctx->t4, ctx->t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
2454 | | ctx->state = 9; |
2455 | | break; |
2456 | | case 9: |
2457 | | /* Check double */ |
2458 | | if ((~p->infinity) & (~q->infinity) & |
2459 | | sp_256_cmp_equal_4(ctx->t2, ctx->t1) & |
2460 | | sp_256_cmp_equal_4(ctx->t4, ctx->t3)) { |
2461 | | XMEMSET(&ctx->dbl_ctx, 0, sizeof(ctx->dbl_ctx)); |
2462 | | sp_256_proj_point_dbl_avx2_sm2_4(r, p, t); |
2463 | | ctx->state = 25; |
2464 | | } |
2465 | | else { |
2466 | | ctx->state = 10; |
2467 | | } |
2468 | | break; |
2469 | | case 10: |
2470 | | /* H = U2 - U1 */ |
2471 | | sp_256_mont_sub_avx2_sm2_4(ctx->t2, ctx->t2, ctx->t1, p256_sm2_mod); |
2472 | | ctx->state = 11; |
2473 | | break; |
2474 | | case 11: |
2475 | | /* R = S2 - S1 */ |
2476 | | sp_256_mont_sub_avx2_sm2_4(ctx->t4, ctx->t4, ctx->t3, p256_sm2_mod); |
2477 | | ctx->state = 12; |
2478 | | break; |
2479 | | case 12: |
2480 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
2481 | | sp_256_mont_sqr_avx2_sm2_4(ctx->t5, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
2482 | | ctx->state = 13; |
2483 | | break; |
2484 | | case 13: |
2485 | | sp_256_mont_mul_avx2_sm2_4(ctx->y, ctx->t1, ctx->t5, p256_sm2_mod, p256_sm2_mp_mod); |
2486 | | ctx->state = 14; |
2487 | | break; |
2488 | | case 14: |
2489 | | sp_256_mont_mul_avx2_sm2_4(ctx->t5, ctx->t5, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
2490 | | ctx->state = 15; |
2491 | | break; |
2492 | | case 15: |
2493 | | /* Z3 = H*Z1*Z2 */ |
2494 | | sp_256_mont_mul_avx2_sm2_4(ctx->z, p->z, ctx->t2, p256_sm2_mod, p256_sm2_mp_mod); |
2495 | | ctx->state = 16; |
2496 | | break; |
2497 | | case 16: |
2498 | | sp_256_mont_mul_avx2_sm2_4(ctx->z, ctx->z, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2499 | | ctx->state = 17; |
2500 | | break; |
2501 | | case 17: |
2502 | | sp_256_mont_sqr_avx2_sm2_4(ctx->x, ctx->t4, p256_sm2_mod, p256_sm2_mp_mod); |
2503 | | ctx->state = 18; |
2504 | | break; |
2505 | | case 18: |
2506 | | sp_256_mont_sub_avx2_sm2_4(ctx->x, ctx->x, ctx->t5, p256_sm2_mod); |
2507 | | ctx->state = 19; |
2508 | | break; |
2509 | | case 19: |
2510 | | sp_256_mont_mul_avx2_sm2_4(ctx->t5, ctx->t5, ctx->t3, p256_sm2_mod, p256_sm2_mp_mod); |
2511 | | ctx->state = 20; |
2512 | | break; |
2513 | | case 20: |
2514 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
2515 | | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(ctx->x, ctx->x, ctx->y, p256_sm2_mod); |
2516 | | ctx->state = 21; |
2517 | | break; |
2518 | | case 21: |
2519 | | ctx->state = 22; |
2520 | | break; |
2521 | | case 22: |
2522 | | sp_256_mont_mul_avx2_sm2_4(ctx->y, ctx->y, ctx->t4, p256_sm2_mod, p256_sm2_mp_mod); |
2523 | | ctx->state = 23; |
2524 | | break; |
2525 | | case 23: |
2526 | | sp_256_mont_sub_avx2_sm2_4(ctx->y, ctx->y, ctx->t5, p256_sm2_mod); |
2527 | | ctx->state = 24; |
2528 | | break; |
2529 | | case 24: |
2530 | | { |
2531 | | { |
2532 | | int i; |
2533 | | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
2534 | | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
2535 | | sp_digit maskt = ~(maskp | maskq); |
2536 | | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
2537 | | |
2538 | | for (i = 0; i < 4; i++) { |
2539 | | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
2540 | | (ctx->x[i] & maskt); |
2541 | | } |
2542 | | for (i = 0; i < 4; i++) { |
2543 | | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
2544 | | (ctx->y[i] & maskt); |
2545 | | } |
2546 | | for (i = 0; i < 4; i++) { |
2547 | | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
2548 | | (ctx->z[i] & maskt); |
2549 | | } |
2550 | | r->z[0] |= inf; |
2551 | | r->infinity = (int)inf; |
2552 | | } |
2553 | | ctx->state = 25; |
2554 | | break; |
2555 | | } |
2556 | | case 25: |
2557 | | err = MP_OKAY; |
2558 | | break; |
2559 | | } |
2560 | | |
2561 | | if (err == MP_OKAY && ctx->state != 25) { |
2562 | | err = FP_WOULDBLOCK; |
2563 | | } |
2564 | | return err; |
2565 | | } |
2566 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
2567 | | |
2568 | | /* Double the Montgomery form projective point p a number of times. |
2569 | | * |
2570 | | * r Result of repeated doubling of point. |
2571 | | * p Point to double. |
2572 | | * n Number of times to double |
2573 | | * t Temporary ordinate data. |
2574 | | */ |
2575 | | static void sp_256_proj_point_dbl_n_store_avx2_sm2_4(sp_point_256* r, |
2576 | | const sp_point_256* p, int n, int m, sp_digit* t) |
2577 | 0 | { |
2578 | 0 | sp_digit* w = t; |
2579 | 0 | sp_digit* a = t + 2*4; |
2580 | 0 | sp_digit* b = t + 4*4; |
2581 | 0 | sp_digit* t1 = t + 6*4; |
2582 | 0 | sp_digit* x = r[2*m].x; |
2583 | 0 | sp_digit* y = r[(1<<n)*m].y; |
2584 | 0 | sp_digit* z = r[2*m].z; |
2585 | 0 | int i; |
2586 | 0 | int j; |
2587 | |
|
2588 | 0 | for (i=0; i<4; i++) { |
2589 | 0 | x[i] = p->x[i]; |
2590 | 0 | } |
2591 | 0 | for (i=0; i<4; i++) { |
2592 | 0 | y[i] = p->y[i]; |
2593 | 0 | } |
2594 | 0 | for (i=0; i<4; i++) { |
2595 | 0 | z[i] = p->z[i]; |
2596 | 0 | } |
2597 | | |
2598 | | /* Y = 2*Y */ |
2599 | 0 | sp_256_mont_dbl_avx2_sm2_4(y, y, p256_sm2_mod); |
2600 | | /* W = Z^4 */ |
2601 | 0 | sp_256_mont_sqr_avx2_sm2_4(w, z, p256_sm2_mod, p256_sm2_mp_mod); |
2602 | 0 | sp_256_mont_sqr_avx2_sm2_4(w, w, p256_sm2_mod, p256_sm2_mp_mod); |
2603 | 0 | j = m; |
2604 | 0 | for (i=1; i<=n; i++) { |
2605 | 0 | j *= 2; |
2606 | | |
2607 | | /* A = 3*(X^2 - W) */ |
2608 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2609 | 0 | sp_256_mont_sub_avx2_sm2_4(t1, t1, w, p256_sm2_mod); |
2610 | 0 | sp_256_mont_tpl_avx2_sm2_4(a, t1, p256_sm2_mod); |
2611 | | /* B = X*Y^2 */ |
2612 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, y, p256_sm2_mod, p256_sm2_mp_mod); |
2613 | 0 | sp_256_mont_mul_avx2_sm2_4(b, t1, x, p256_sm2_mod, p256_sm2_mp_mod); |
2614 | 0 | x = r[j].x; |
2615 | | /* X = A^2 - 2B */ |
2616 | 0 | sp_256_mont_sqr_avx2_sm2_4(x, a, p256_sm2_mod, p256_sm2_mp_mod); |
2617 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, x, b, p256_sm2_mod); |
2618 | | /* B = 2.(B - X) */ |
2619 | 0 | sp_256_mont_dbl_avx2_sm2_4(b, b, p256_sm2_mod); |
2620 | | /* Z = Z*Y */ |
2621 | 0 | sp_256_mont_mul_avx2_sm2_4(r[j].z, z, y, p256_sm2_mod, p256_sm2_mp_mod); |
2622 | 0 | z = r[j].z; |
2623 | | /* t1 = Y^4 */ |
2624 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2625 | 0 | if (i != n) { |
2626 | | /* W = W*Y^4 */ |
2627 | 0 | sp_256_mont_mul_avx2_sm2_4(w, w, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2628 | 0 | } |
2629 | | /* y = 2*A*(B - X) - Y^4 */ |
2630 | 0 | sp_256_mont_mul_avx2_sm2_4(y, b, a, p256_sm2_mod, p256_sm2_mp_mod); |
2631 | 0 | sp_256_mont_sub_avx2_sm2_4(y, y, t1, p256_sm2_mod); |
2632 | | /* Y = Y/2 */ |
2633 | 0 | sp_256_mont_div2_avx2_sm2_4(r[j].y, y, p256_sm2_mod); |
2634 | 0 | r[j].infinity = 0; |
2635 | 0 | } |
2636 | 0 | } |
2637 | | |
2638 | | /* Add two Montgomery form projective points. |
2639 | | * |
2640 | | * ra Result of addition. |
2641 | | * rs Result of subtraction. |
2642 | | * p First point to add. |
2643 | | * q Second point to add. |
2644 | | * t Temporary ordinate data. |
2645 | | */ |
2646 | | static void sp_256_proj_point_add_sub_avx2_sm2_4(sp_point_256* ra, |
2647 | | sp_point_256* rs, const sp_point_256* p, const sp_point_256* q, |
2648 | | sp_digit* t) |
2649 | 0 | { |
2650 | 0 | sp_digit* t1 = t; |
2651 | 0 | sp_digit* t2 = t + 2*4; |
2652 | 0 | sp_digit* t3 = t + 4*4; |
2653 | 0 | sp_digit* t4 = t + 6*4; |
2654 | 0 | sp_digit* t5 = t + 8*4; |
2655 | 0 | sp_digit* t6 = t + 10*4; |
2656 | 0 | sp_digit* xa = ra->x; |
2657 | 0 | sp_digit* ya = ra->y; |
2658 | 0 | sp_digit* za = ra->z; |
2659 | 0 | sp_digit* xs = rs->x; |
2660 | 0 | sp_digit* ys = rs->y; |
2661 | 0 | sp_digit* zs = rs->z; |
2662 | | |
2663 | |
|
2664 | 0 | XMEMCPY(xa, p->x, sizeof(p->x) / 2); |
2665 | 0 | XMEMCPY(ya, p->y, sizeof(p->y) / 2); |
2666 | 0 | XMEMCPY(za, p->z, sizeof(p->z) / 2); |
2667 | 0 | ra->infinity = 0; |
2668 | 0 | rs->infinity = 0; |
2669 | | |
2670 | | /* U1 = X1*Z2^2 */ |
2671 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2672 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t1, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2673 | 0 | sp_256_mont_mul_avx2_sm2_4(t1, t1, xa, p256_sm2_mod, p256_sm2_mp_mod); |
2674 | | /* U2 = X2*Z1^2 */ |
2675 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, za, p256_sm2_mod, p256_sm2_mp_mod); |
2676 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t2, za, p256_sm2_mod, p256_sm2_mp_mod); |
2677 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
2678 | | /* S1 = Y1*Z2^3 */ |
2679 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, ya, p256_sm2_mod, p256_sm2_mp_mod); |
2680 | | /* S2 = Y2*Z1^3 */ |
2681 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
2682 | | /* H = U2 - U1 */ |
2683 | 0 | sp_256_mont_sub_avx2_sm2_4(t2, t2, t1, p256_sm2_mod); |
2684 | | /* RS = S2 + S1 */ |
2685 | 0 | sp_256_mont_add_avx2_sm2_4(t6, t4, t3, p256_sm2_mod); |
2686 | | /* R = S2 - S1 */ |
2687 | 0 | sp_256_mont_sub_avx2_sm2_4(t4, t4, t3, p256_sm2_mod); |
2688 | | /* Z3 = H*Z1*Z2 */ |
2689 | | /* ZS = H*Z1*Z2 */ |
2690 | 0 | sp_256_mont_mul_avx2_sm2_4(za, za, q->z, p256_sm2_mod, p256_sm2_mp_mod); |
2691 | 0 | sp_256_mont_mul_avx2_sm2_4(za, za, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2692 | 0 | XMEMCPY(zs, za, sizeof(p->z)/2); |
2693 | | /* X3 = R^2 - H^3 - 2*U1*H^2 */ |
2694 | | /* XS = RS^2 - H^3 - 2*U1*H^2 */ |
2695 | 0 | sp_256_mont_sqr_avx2_sm2_4(xa, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2696 | 0 | sp_256_mont_sqr_avx2_sm2_4(xs, t6, p256_sm2_mod, p256_sm2_mp_mod); |
2697 | 0 | sp_256_mont_sqr_avx2_sm2_4(t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2698 | 0 | sp_256_mont_mul_avx2_sm2_4(ya, t1, t5, p256_sm2_mod, p256_sm2_mp_mod); |
2699 | 0 | sp_256_mont_mul_avx2_sm2_4(t5, t5, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2700 | 0 | sp_256_mont_sub_avx2_sm2_4(xa, xa, t5, p256_sm2_mod); |
2701 | 0 | sp_256_mont_sub_avx2_sm2_4(xs, xs, t5, p256_sm2_mod); |
2702 | 0 | sp_256_mont_dbl_avx2_sm2_4(t1, ya, p256_sm2_mod); |
2703 | 0 | sp_256_mont_sub_avx2_sm2_4(xa, xa, t1, p256_sm2_mod); |
2704 | 0 | sp_256_mont_sub_avx2_sm2_4(xs, xs, t1, p256_sm2_mod); |
2705 | | /* Y3 = R*(U1*H^2 - X3) - S1*H^3 */ |
2706 | | /* YS = -RS*(U1*H^2 - XS) - S1*H^3 */ |
2707 | 0 | sp_256_mont_sub_avx2_sm2_4(ys, ya, xs, p256_sm2_mod); |
2708 | 0 | sp_256_mont_sub_avx2_sm2_4(ya, ya, xa, p256_sm2_mod); |
2709 | 0 | sp_256_mont_mul_avx2_sm2_4(ya, ya, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2710 | 0 | sp_256_sub_sm2_4(t6, p256_sm2_mod, t6); |
2711 | 0 | sp_256_mont_mul_avx2_sm2_4(ys, ys, t6, p256_sm2_mod, p256_sm2_mp_mod); |
2712 | 0 | sp_256_mont_mul_avx2_sm2_4(t5, t5, t3, p256_sm2_mod, p256_sm2_mp_mod); |
2713 | 0 | sp_256_mont_sub_avx2_sm2_4(ya, ya, t5, p256_sm2_mod); |
2714 | 0 | sp_256_mont_sub_avx2_sm2_4(ys, ys, t5, p256_sm2_mod); |
2715 | 0 | } |
2716 | | |
2717 | | /* Multiply the point by the scalar and return the result. |
2718 | | * If map is true then convert result to affine coordinates. |
2719 | | * |
2720 | | * Window technique of 6 bits. (Add-Sub variation.) |
2721 | | * Calculate 0..32 times the point. Use function that adds and |
2722 | | * subtracts the same two points. |
2723 | | * Recode to add or subtract one of the computed points. |
2724 | | * Double to push up. |
2725 | | * NOT a sliding window. |
2726 | | * |
2727 | | * r Resulting point. |
2728 | | * g Point to multiply. |
2729 | | * k Scalar to multiply by. |
2730 | | * map Indicates whether to convert result to affine. |
2731 | | * ct Constant time required. |
2732 | | * heap Heap to use for allocation. |
2733 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
2734 | | */ |
2735 | | static int sp_256_ecc_mulmod_win_add_sub_avx2_sm2_4(sp_point_256* r, const sp_point_256* g, |
2736 | | const sp_digit* k, int map, int ct, void* heap) |
2737 | 0 | { |
2738 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
2739 | 0 | sp_point_256* t = NULL; |
2740 | 0 | sp_digit* tmp = NULL; |
2741 | | #else |
2742 | | sp_point_256 t[33+2]; |
2743 | | sp_digit tmp[2 * 4 * 6]; |
2744 | | #endif |
2745 | 0 | sp_point_256* rt = NULL; |
2746 | 0 | sp_point_256* p = NULL; |
2747 | 0 | sp_digit* negy; |
2748 | 0 | int i; |
2749 | 0 | ecc_recode_256 v[43]; |
2750 | 0 | int err = MP_OKAY; |
2751 | | |
2752 | | /* Constant time used for cache attack resistance implementation. */ |
2753 | 0 | (void)ct; |
2754 | 0 | (void)heap; |
2755 | |
|
2756 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
2757 | 0 | t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * |
2758 | 0 | (33+2), heap, DYNAMIC_TYPE_ECC); |
2759 | 0 | if (t == NULL) |
2760 | 0 | err = MEMORY_E; |
2761 | 0 | if (err == MP_OKAY) { |
2762 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, |
2763 | 0 | heap, DYNAMIC_TYPE_ECC); |
2764 | 0 | if (tmp == NULL) |
2765 | 0 | err = MEMORY_E; |
2766 | 0 | } |
2767 | 0 | #endif |
2768 | |
|
2769 | 0 | if (err == MP_OKAY) { |
2770 | 0 | rt = t + 33; |
2771 | 0 | p = t + 33+1; |
2772 | | |
2773 | | /* t[0] = {0, 0, 1} * norm */ |
2774 | 0 | XMEMSET(&t[0], 0, sizeof(t[0])); |
2775 | 0 | t[0].infinity = 1; |
2776 | | /* t[1] = {g->x, g->y, g->z} * norm */ |
2777 | 0 | err = sp_256_mod_mul_norm_avx2_sm2_4(t[1].x, g->x, p256_sm2_mod); |
2778 | 0 | } |
2779 | 0 | if (err == MP_OKAY) { |
2780 | 0 | err = sp_256_mod_mul_norm_avx2_sm2_4(t[1].y, g->y, p256_sm2_mod); |
2781 | 0 | } |
2782 | 0 | if (err == MP_OKAY) { |
2783 | 0 | err = sp_256_mod_mul_norm_avx2_sm2_4(t[1].z, g->z, p256_sm2_mod); |
2784 | 0 | } |
2785 | |
|
2786 | 0 | if (err == MP_OKAY) { |
2787 | 0 | t[1].infinity = 0; |
2788 | | /* t[2] ... t[32] */ |
2789 | 0 | sp_256_proj_point_dbl_n_store_avx2_sm2_4(t, &t[ 1], 5, 1, tmp); |
2790 | 0 | sp_256_proj_point_add_avx2_sm2_4(&t[ 3], &t[ 2], &t[ 1], tmp); |
2791 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[ 6], &t[ 3], tmp); |
2792 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[ 7], &t[ 5], &t[ 6], &t[ 1], tmp); |
2793 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[10], &t[ 5], tmp); |
2794 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[11], &t[ 9], &t[10], &t[ 1], tmp); |
2795 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[12], &t[ 6], tmp); |
2796 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[14], &t[ 7], tmp); |
2797 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[15], &t[13], &t[14], &t[ 1], tmp); |
2798 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[18], &t[ 9], tmp); |
2799 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[19], &t[17], &t[18], &t[ 1], tmp); |
2800 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[20], &t[10], tmp); |
2801 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[22], &t[11], tmp); |
2802 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[23], &t[21], &t[22], &t[ 1], tmp); |
2803 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[24], &t[12], tmp); |
2804 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[26], &t[13], tmp); |
2805 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[27], &t[25], &t[26], &t[ 1], tmp); |
2806 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[28], &t[14], tmp); |
2807 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(&t[30], &t[15], tmp); |
2808 | 0 | sp_256_proj_point_add_sub_avx2_sm2_4(&t[31], &t[29], &t[30], &t[ 1], tmp); |
2809 | |
|
2810 | 0 | negy = t[0].y; |
2811 | |
|
2812 | 0 | sp_256_ecc_recode_6_4(k, v); |
2813 | |
|
2814 | 0 | i = 42; |
2815 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
2816 | 0 | if (ct) { |
2817 | 0 | sp_256_get_point_33_avx2_sm2_4(rt, t, v[i].i); |
2818 | 0 | rt->infinity = !v[i].i; |
2819 | 0 | } |
2820 | 0 | else |
2821 | 0 | #endif |
2822 | 0 | { |
2823 | 0 | XMEMCPY(rt, &t[v[i].i], sizeof(sp_point_256)); |
2824 | 0 | } |
2825 | 0 | for (--i; i>=0; i--) { |
2826 | 0 | sp_256_proj_point_dbl_n_avx2_sm2_4(rt, 6, tmp); |
2827 | |
|
2828 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
2829 | 0 | if (ct) { |
2830 | 0 | sp_256_get_point_33_avx2_sm2_4(p, t, v[i].i); |
2831 | 0 | p->infinity = !v[i].i; |
2832 | 0 | } |
2833 | 0 | else |
2834 | 0 | #endif |
2835 | 0 | { |
2836 | 0 | XMEMCPY(p, &t[v[i].i], sizeof(sp_point_256)); |
2837 | 0 | } |
2838 | 0 | sp_256_sub_sm2_4(negy, p256_sm2_mod, p->y); |
2839 | 0 | sp_256_norm_4(negy); |
2840 | 0 | sp_256_cond_copy_sm2_4(p->y, negy, (sp_digit)0 - v[i].neg); |
2841 | 0 | sp_256_proj_point_add_avx2_sm2_4(rt, rt, p, tmp); |
2842 | 0 | } |
2843 | |
|
2844 | 0 | if (map != 0) { |
2845 | 0 | sp_256_map_avx2_sm2_4(r, rt, tmp); |
2846 | 0 | } |
2847 | 0 | else { |
2848 | 0 | XMEMCPY(r, rt, sizeof(sp_point_256)); |
2849 | 0 | } |
2850 | 0 | } |
2851 | |
|
2852 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
2853 | 0 | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
2854 | 0 | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
2855 | 0 | #endif |
2856 | |
|
2857 | 0 | return err; |
2858 | 0 | } |
2859 | | |
2860 | | #endif /* HAVE_INTEL_AVX2 */ |
2861 | | /* A table entry for pre-computed points. */ |
2862 | | typedef struct sp_table_entry_256 { |
2863 | | sp_digit x[4]; |
2864 | | sp_digit y[4]; |
2865 | | } sp_table_entry_256; |
2866 | | |
2867 | | #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL) |
2868 | | #endif /* FP_ECC | WOLFSSL_SP_SMALL */ |
2869 | | /* Add two Montgomery form projective points. The second point has a q value of |
2870 | | * one. |
2871 | | * Only the first point can be the same pointer as the result point. |
2872 | | * |
2873 | | * r Result of addition. |
2874 | | * p First point to add. |
2875 | | * q Second point to add. |
2876 | | * t Temporary ordinate data. |
2877 | | */ |
2878 | | static void sp_256_proj_point_add_qz1_sm2_4(sp_point_256* r, |
2879 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
2880 | 0 | { |
2881 | 0 | sp_digit* t2 = t; |
2882 | 0 | sp_digit* t3 = t + 2*4; |
2883 | 0 | sp_digit* t6 = t + 4*4; |
2884 | 0 | sp_digit* t1 = t + 6*4; |
2885 | 0 | sp_digit* t4 = t + 8*4; |
2886 | | |
2887 | | /* Calculate values to subtract from P->x and P->y. */ |
2888 | | /* U2 = X2*Z1^2 */ |
2889 | 0 | sp_256_mont_sqr_sm2_4(t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2890 | 0 | sp_256_mont_mul_sm2_4(t4, t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
2891 | 0 | sp_256_mont_mul_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
2892 | | /* S2 = Y2*Z1^3 */ |
2893 | 0 | sp_256_mont_mul_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
2894 | |
|
2895 | 0 | if ((~p->infinity) & (~q->infinity) & |
2896 | 0 | sp_256_cmp_equal_4(p->x, t2) & |
2897 | 0 | sp_256_cmp_equal_4(p->y, t4)) { |
2898 | 0 | sp_256_proj_point_dbl_sm2_4(r, p, t); |
2899 | 0 | } |
2900 | 0 | else { |
2901 | 0 | sp_digit* x = t2; |
2902 | 0 | sp_digit* y = t3; |
2903 | 0 | sp_digit* z = t6; |
2904 | | |
2905 | | /* H = U2 - X1 */ |
2906 | 0 | sp_256_mont_sub_sm2_4(t2, t2, p->x, p256_sm2_mod); |
2907 | | /* R = S2 - Y1 */ |
2908 | 0 | sp_256_mont_sub_sm2_4(t4, t4, p->y, p256_sm2_mod); |
2909 | | /* Z3 = H*Z1 */ |
2910 | 0 | sp_256_mont_mul_sm2_4(z, p->z, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2911 | | /* X3 = R^2 - H^3 - 2*X1*H^2 */ |
2912 | 0 | sp_256_mont_sqr_sm2_4(t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2913 | 0 | sp_256_mont_mul_sm2_4(t3, p->x, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2914 | 0 | sp_256_mont_mul_sm2_4(t1, t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2915 | 0 | sp_256_mont_sqr_sm2_4(t2, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2916 | 0 | sp_256_mont_sub_sm2_4(t2, t2, t1, p256_sm2_mod); |
2917 | 0 | sp_256_mont_rsb_sub_dbl_sm2_4(x, t2, t3, p256_sm2_mod); |
2918 | | /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */ |
2919 | 0 | sp_256_mont_mul_sm2_4(t3, t3, t4, p256_sm2_mod, p256_sm2_mp_mod); |
2920 | 0 | sp_256_mont_mul_sm2_4(t1, t1, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
2921 | 0 | sp_256_mont_sub_sm2_4(y, t3, t1, p256_sm2_mod); |
2922 | 0 | { |
2923 | 0 | int i; |
2924 | 0 | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
2925 | 0 | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
2926 | 0 | sp_digit maskt = ~(maskp | maskq); |
2927 | 0 | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
2928 | |
|
2929 | 0 | for (i = 0; i < 4; i++) { |
2930 | 0 | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
2931 | 0 | (x[i] & maskt); |
2932 | 0 | } |
2933 | 0 | for (i = 0; i < 4; i++) { |
2934 | 0 | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
2935 | 0 | (y[i] & maskt); |
2936 | 0 | } |
2937 | 0 | for (i = 0; i < 4; i++) { |
2938 | 0 | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
2939 | 0 | (z[i] & maskt); |
2940 | 0 | } |
2941 | 0 | r->z[0] |= inf; |
2942 | 0 | r->infinity = (int)inf; |
2943 | 0 | } |
2944 | 0 | } |
2945 | 0 | } |
2946 | | |
2947 | | #ifdef FP_ECC |
2948 | | /* Convert the projective point to affine. |
2949 | | * Ordinates are in Montgomery form. |
2950 | | * |
2951 | | * a Point to convert. |
2952 | | * t Temporary data. |
2953 | | */ |
2954 | | static void sp_256_proj_to_affine_sm2_4(sp_point_256* a, sp_digit* t) |
2955 | | { |
2956 | | sp_digit* t1 = t; |
2957 | | sp_digit* t2 = t + 2 * 4; |
2958 | | sp_digit* tmp = t + 4 * 4; |
2959 | | |
2960 | | sp_256_mont_inv_sm2_4(t1, a->z, tmp); |
2961 | | |
2962 | | sp_256_mont_sqr_sm2_4(t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2963 | | sp_256_mont_mul_sm2_4(t1, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2964 | | |
2965 | | sp_256_mont_mul_sm2_4(a->x, a->x, t2, p256_sm2_mod, p256_sm2_mp_mod); |
2966 | | sp_256_mont_mul_sm2_4(a->y, a->y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
2967 | | XMEMCPY(a->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
2968 | | } |
2969 | | |
2970 | | /* Generate the pre-computed table of points for the base point. |
2971 | | * |
2972 | | * width = 6 |
2973 | | * 64 entries |
2974 | | * 42 bits between |
2975 | | * |
2976 | | * a The base point. |
2977 | | * table Place to store generated point data. |
2978 | | * tmp Temporary data. |
2979 | | * heap Heap to use for allocation. |
2980 | | */ |
2981 | | static int sp_256_gen_stripe_table_sm2_4(const sp_point_256* a, |
2982 | | sp_table_entry_256* table, sp_digit* tmp, void* heap) |
2983 | | { |
2984 | | #ifdef WOLFSSL_SP_SMALL_STACK |
2985 | | sp_point_256* t = NULL; |
2986 | | #else |
2987 | | sp_point_256 t[3]; |
2988 | | #endif |
2989 | | sp_point_256* s1 = NULL; |
2990 | | sp_point_256* s2 = NULL; |
2991 | | int i; |
2992 | | int j; |
2993 | | int err = MP_OKAY; |
2994 | | |
2995 | | (void)heap; |
2996 | | |
2997 | | #ifdef WOLFSSL_SP_SMALL_STACK |
2998 | | t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap, |
2999 | | DYNAMIC_TYPE_ECC); |
3000 | | if (t == NULL) |
3001 | | err = MEMORY_E; |
3002 | | #endif |
3003 | | |
3004 | | if (err == MP_OKAY) { |
3005 | | s1 = t + 1; |
3006 | | s2 = t + 2; |
3007 | | |
3008 | | err = sp_256_mod_mul_norm_sm2_4(t->x, a->x, p256_sm2_mod); |
3009 | | } |
3010 | | if (err == MP_OKAY) { |
3011 | | err = sp_256_mod_mul_norm_sm2_4(t->y, a->y, p256_sm2_mod); |
3012 | | } |
3013 | | if (err == MP_OKAY) { |
3014 | | err = sp_256_mod_mul_norm_sm2_4(t->z, a->z, p256_sm2_mod); |
3015 | | } |
3016 | | if (err == MP_OKAY) { |
3017 | | t->infinity = 0; |
3018 | | sp_256_proj_to_affine_sm2_4(t, tmp); |
3019 | | |
3020 | | XMEMCPY(s1->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3021 | | s1->infinity = 0; |
3022 | | XMEMCPY(s2->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3023 | | s2->infinity = 0; |
3024 | | |
3025 | | /* table[0] = {0, 0, infinity} */ |
3026 | | XMEMSET(&table[0], 0, sizeof(sp_table_entry_256)); |
3027 | | /* table[1] = Affine version of 'a' in Montgomery form */ |
3028 | | XMEMCPY(table[1].x, t->x, sizeof(table->x)); |
3029 | | XMEMCPY(table[1].y, t->y, sizeof(table->y)); |
3030 | | |
3031 | | for (i=1; i<6; i++) { |
3032 | | sp_256_proj_point_dbl_n_sm2_4(t, 43, tmp); |
3033 | | sp_256_proj_to_affine_sm2_4(t, tmp); |
3034 | | XMEMCPY(table[1<<i].x, t->x, sizeof(table->x)); |
3035 | | XMEMCPY(table[1<<i].y, t->y, sizeof(table->y)); |
3036 | | } |
3037 | | |
3038 | | for (i=1; i<6; i++) { |
3039 | | XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x)); |
3040 | | XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y)); |
3041 | | for (j=(1<<i)+1; j<(1<<(i+1)); j++) { |
3042 | | XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x)); |
3043 | | XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y)); |
3044 | | sp_256_proj_point_add_qz1_sm2_4(t, s1, s2, tmp); |
3045 | | sp_256_proj_to_affine_sm2_4(t, tmp); |
3046 | | XMEMCPY(table[j].x, t->x, sizeof(table->x)); |
3047 | | XMEMCPY(table[j].y, t->y, sizeof(table->y)); |
3048 | | } |
3049 | | } |
3050 | | } |
3051 | | |
3052 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3053 | | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
3054 | | #endif |
3055 | | |
3056 | | return err; |
3057 | | } |
3058 | | |
3059 | | #endif /* FP_ECC */ |
3060 | | #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL) |
3061 | | #ifdef __cplusplus |
3062 | | extern "C" { |
3063 | | #endif |
3064 | | extern void sp_256_get_entry_64_sm2_4(sp_point_256* r, const sp_table_entry_256* table, int idx); |
3065 | | #ifdef __cplusplus |
3066 | | } |
3067 | | #endif |
3068 | | #ifdef __cplusplus |
3069 | | extern "C" { |
3070 | | #endif |
3071 | | extern void sp_256_get_entry_64_avx2_sm2_4(sp_point_256* r, const sp_table_entry_256* table, int idx); |
3072 | | #ifdef __cplusplus |
3073 | | } |
3074 | | #endif |
3075 | | /* Multiply the point by the scalar and return the result. |
3076 | | * If map is true then convert result to affine coordinates. |
3077 | | * |
3078 | | * Stripe implementation. |
3079 | | * Pre-generated: 2^0, 2^42, ... |
3080 | | * Pre-generated: products of all combinations of above. |
3081 | | * 6 doubles and adds (with qz=1) |
3082 | | * |
3083 | | * r Resulting point. |
3084 | | * k Scalar to multiply by. |
3085 | | * table Pre-computed table. |
3086 | | * map Indicates whether to convert result to affine. |
3087 | | * ct Constant time required. |
3088 | | * heap Heap to use for allocation. |
3089 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3090 | | */ |
3091 | | static int sp_256_ecc_mulmod_stripe_sm2_4(sp_point_256* r, const sp_point_256* g, |
3092 | | const sp_table_entry_256* table, const sp_digit* k, int map, |
3093 | | int ct, void* heap) |
3094 | | { |
3095 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3096 | | sp_point_256* rt = NULL; |
3097 | | sp_digit* t = NULL; |
3098 | | #else |
3099 | | sp_point_256 rt[2]; |
3100 | | sp_digit t[2 * 4 * 5]; |
3101 | | #endif |
3102 | | sp_point_256* p = NULL; |
3103 | | int i; |
3104 | | int j; |
3105 | | int y; |
3106 | | int x; |
3107 | | int err = MP_OKAY; |
3108 | | |
3109 | | (void)g; |
3110 | | /* Constant time used for cache attack resistance implementation. */ |
3111 | | (void)ct; |
3112 | | (void)heap; |
3113 | | |
3114 | | |
3115 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3116 | | rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
3117 | | DYNAMIC_TYPE_ECC); |
3118 | | if (rt == NULL) |
3119 | | err = MEMORY_E; |
3120 | | if (err == MP_OKAY) { |
3121 | | t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 5, heap, |
3122 | | DYNAMIC_TYPE_ECC); |
3123 | | if (t == NULL) |
3124 | | err = MEMORY_E; |
3125 | | } |
3126 | | #endif |
3127 | | |
3128 | | if (err == MP_OKAY) { |
3129 | | p = rt + 1; |
3130 | | |
3131 | | XMEMCPY(p->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3132 | | XMEMCPY(rt->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3133 | | |
3134 | | y = 0; |
3135 | | x = 42; |
3136 | | for (j=0; j<6 && x<256; j++) { |
3137 | | y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j); |
3138 | | x += 43; |
3139 | | } |
3140 | | #ifndef WC_NO_CACHE_RESISTANT |
3141 | | if (ct) { |
3142 | | sp_256_get_entry_64_sm2_4(rt, table, y); |
3143 | | } else |
3144 | | #endif |
3145 | | { |
3146 | | XMEMCPY(rt->x, table[y].x, sizeof(table[y].x)); |
3147 | | XMEMCPY(rt->y, table[y].y, sizeof(table[y].y)); |
3148 | | } |
3149 | | rt->infinity = !y; |
3150 | | for (i=41; i>=0; i--) { |
3151 | | y = 0; |
3152 | | x = i; |
3153 | | for (j=0; j<6 && x<256; j++) { |
3154 | | y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j); |
3155 | | x += 43; |
3156 | | } |
3157 | | |
3158 | | sp_256_proj_point_dbl_sm2_4(rt, rt, t); |
3159 | | #ifndef WC_NO_CACHE_RESISTANT |
3160 | | if (ct) { |
3161 | | sp_256_get_entry_64_sm2_4(p, table, y); |
3162 | | } |
3163 | | else |
3164 | | #endif |
3165 | | { |
3166 | | XMEMCPY(p->x, table[y].x, sizeof(table[y].x)); |
3167 | | XMEMCPY(p->y, table[y].y, sizeof(table[y].y)); |
3168 | | } |
3169 | | p->infinity = !y; |
3170 | | sp_256_proj_point_add_qz1_sm2_4(rt, rt, p, t); |
3171 | | } |
3172 | | |
3173 | | if (map != 0) { |
3174 | | sp_256_map_sm2_4(r, rt, t); |
3175 | | } |
3176 | | else { |
3177 | | XMEMCPY(r, rt, sizeof(sp_point_256)); |
3178 | | } |
3179 | | } |
3180 | | |
3181 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3182 | | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
3183 | | XFREE(rt, heap, DYNAMIC_TYPE_ECC); |
3184 | | #endif |
3185 | | |
3186 | | return err; |
3187 | | } |
3188 | | |
3189 | | #endif /* FP_ECC | WOLFSSL_SP_SMALL */ |
3190 | | #ifdef FP_ECC |
3191 | | #ifndef FP_ENTRIES |
3192 | | #define FP_ENTRIES 16 |
3193 | | #endif |
3194 | | |
3195 | | /* Cache entry - holds precomputation tables for a point. */ |
3196 | | typedef struct sp_cache_256_t { |
3197 | | /* X ordinate of point that table was generated from. */ |
3198 | | sp_digit x[4]; |
3199 | | /* Y ordinate of point that table was generated from. */ |
3200 | | sp_digit y[4]; |
3201 | | /* Precomputation table for point. */ |
3202 | | sp_table_entry_256 table[64]; |
3203 | | /* Count of entries in table. */ |
3204 | | word32 cnt; |
3205 | | /* Point and table set in entry. */ |
3206 | | int set; |
3207 | | } sp_cache_256_t; |
3208 | | |
3209 | | /* Cache of tables. */ |
3210 | | static THREAD_LS_T sp_cache_256_t sp_cache_256[FP_ENTRIES]; |
3211 | | /* Index of last entry in cache. */ |
3212 | | static THREAD_LS_T int sp_cache_256_last = -1; |
3213 | | /* Cache has been initialized. */ |
3214 | | static THREAD_LS_T int sp_cache_256_inited = 0; |
3215 | | |
3216 | | #ifndef HAVE_THREAD_LS |
3217 | | #ifndef WOLFSSL_MUTEX_INITIALIZER |
3218 | | static volatile int initCacheMutex_256 = 0; |
3219 | | #endif |
3220 | | static wolfSSL_Mutex sp_cache_256_lock WOLFSSL_MUTEX_INITIALIZER_CLAUSE(sp_cache_256_lock); |
3221 | | #endif |
3222 | | |
3223 | | /* Get the cache entry for the point. |
3224 | | * |
3225 | | * g [in] Point scalar multiplying. |
3226 | | * cache [out] Cache table to use. |
3227 | | */ |
3228 | | static void sp_ecc_get_cache_256(const sp_point_256* g, sp_cache_256_t** cache) |
3229 | | { |
3230 | | int i; |
3231 | | int j; |
3232 | | word32 least; |
3233 | | |
3234 | | if (sp_cache_256_inited == 0) { |
3235 | | for (i=0; i<FP_ENTRIES; i++) { |
3236 | | sp_cache_256[i].set = 0; |
3237 | | } |
3238 | | sp_cache_256_inited = 1; |
3239 | | } |
3240 | | |
3241 | | /* Compare point with those in cache. */ |
3242 | | for (i=0; i<FP_ENTRIES; i++) { |
3243 | | if (!sp_cache_256[i].set) |
3244 | | continue; |
3245 | | |
3246 | | if (sp_256_cmp_equal_4(g->x, sp_cache_256[i].x) & |
3247 | | sp_256_cmp_equal_4(g->y, sp_cache_256[i].y)) { |
3248 | | sp_cache_256[i].cnt++; |
3249 | | break; |
3250 | | } |
3251 | | } |
3252 | | |
3253 | | /* No match. */ |
3254 | | if (i == FP_ENTRIES) { |
3255 | | /* Find empty entry. */ |
3256 | | i = (sp_cache_256_last + 1) % FP_ENTRIES; |
3257 | | for (; i != sp_cache_256_last; i=(i+1)%FP_ENTRIES) { |
3258 | | if (!sp_cache_256[i].set) { |
3259 | | break; |
3260 | | } |
3261 | | } |
3262 | | |
3263 | | /* Evict least used. */ |
3264 | | if (i == sp_cache_256_last) { |
3265 | | least = sp_cache_256[0].cnt; |
3266 | | for (j=1; j<FP_ENTRIES; j++) { |
3267 | | if (sp_cache_256[j].cnt < least) { |
3268 | | i = j; |
3269 | | least = sp_cache_256[i].cnt; |
3270 | | } |
3271 | | } |
3272 | | } |
3273 | | |
3274 | | XMEMCPY(sp_cache_256[i].x, g->x, sizeof(sp_cache_256[i].x)); |
3275 | | XMEMCPY(sp_cache_256[i].y, g->y, sizeof(sp_cache_256[i].y)); |
3276 | | sp_cache_256[i].set = 1; |
3277 | | sp_cache_256[i].cnt = 1; |
3278 | | } |
3279 | | |
3280 | | *cache = &sp_cache_256[i]; |
3281 | | sp_cache_256_last = i; |
3282 | | } |
3283 | | #endif /* FP_ECC */ |
3284 | | |
3285 | | /* Multiply the base point of P256 by the scalar and return the result. |
3286 | | * If map is true then convert result to affine coordinates. |
3287 | | * |
3288 | | * r Resulting point. |
3289 | | * g Point to multiply. |
3290 | | * k Scalar to multiply by. |
3291 | | * map Indicates whether to convert result to affine. |
3292 | | * ct Constant time required. |
3293 | | * heap Heap to use for allocation. |
3294 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3295 | | */ |
3296 | | static int sp_256_ecc_mulmod_sm2_4(sp_point_256* r, const sp_point_256* g, |
3297 | | const sp_digit* k, int map, int ct, void* heap) |
3298 | 0 | { |
3299 | 0 | #ifndef FP_ECC |
3300 | 0 | return sp_256_ecc_mulmod_win_add_sub_sm2_4(r, g, k, map, ct, heap); |
3301 | | #else |
3302 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3303 | | sp_digit* tmp; |
3304 | | #else |
3305 | | sp_digit tmp[2 * 4 * 6]; |
3306 | | #endif |
3307 | | sp_cache_256_t* cache; |
3308 | | int err = MP_OKAY; |
3309 | | |
3310 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3311 | | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap, DYNAMIC_TYPE_ECC); |
3312 | | if (tmp == NULL) { |
3313 | | err = MEMORY_E; |
3314 | | } |
3315 | | #endif |
3316 | | #ifndef HAVE_THREAD_LS |
3317 | | if (err == MP_OKAY) { |
3318 | | #ifndef WOLFSSL_MUTEX_INITIALIZER |
3319 | | if (initCacheMutex_256 == 0) { |
3320 | | wc_InitMutex(&sp_cache_256_lock); |
3321 | | initCacheMutex_256 = 1; |
3322 | | } |
3323 | | #endif |
3324 | | if (wc_LockMutex(&sp_cache_256_lock) != 0) { |
3325 | | err = BAD_MUTEX_E; |
3326 | | } |
3327 | | } |
3328 | | #endif /* HAVE_THREAD_LS */ |
3329 | | |
3330 | | if (err == MP_OKAY) { |
3331 | | sp_ecc_get_cache_256(g, &cache); |
3332 | | if (cache->cnt == 2) |
3333 | | sp_256_gen_stripe_table_sm2_4(g, cache->table, tmp, heap); |
3334 | | |
3335 | | #ifndef HAVE_THREAD_LS |
3336 | | wc_UnLockMutex(&sp_cache_256_lock); |
3337 | | #endif /* HAVE_THREAD_LS */ |
3338 | | |
3339 | | if (cache->cnt < 2) { |
3340 | | err = sp_256_ecc_mulmod_win_add_sub_sm2_4(r, g, k, map, ct, heap); |
3341 | | } |
3342 | | else { |
3343 | | err = sp_256_ecc_mulmod_stripe_sm2_4(r, g, cache->table, k, |
3344 | | map, ct, heap); |
3345 | | } |
3346 | | } |
3347 | | |
3348 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3349 | | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
3350 | | #endif |
3351 | | return err; |
3352 | | #endif |
3353 | 0 | } |
3354 | | |
3355 | | #ifdef HAVE_INTEL_AVX2 |
3356 | | #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL) |
3357 | | #endif /* FP_ECC | WOLFSSL_SP_SMALL */ |
3358 | | /* Add two Montgomery form projective points. The second point has a q value of |
3359 | | * one. |
3360 | | * Only the first point can be the same pointer as the result point. |
3361 | | * |
3362 | | * r Result of addition. |
3363 | | * p First point to add. |
3364 | | * q Second point to add. |
3365 | | * t Temporary ordinate data. |
3366 | | */ |
3367 | | static void sp_256_proj_point_add_qz1_avx2_sm2_4(sp_point_256* r, |
3368 | | const sp_point_256* p, const sp_point_256* q, sp_digit* t) |
3369 | 0 | { |
3370 | 0 | sp_digit* t2 = t; |
3371 | 0 | sp_digit* t3 = t + 2*4; |
3372 | 0 | sp_digit* t6 = t + 4*4; |
3373 | 0 | sp_digit* t1 = t + 6*4; |
3374 | 0 | sp_digit* t4 = t + 8*4; |
3375 | | |
3376 | | /* Calculate values to subtract from P->x and P->y. */ |
3377 | | /* U2 = X2*Z1^2 */ |
3378 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
3379 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t2, p->z, p256_sm2_mod, p256_sm2_mp_mod); |
3380 | 0 | sp_256_mont_mul_avx2_sm2_4(t2, t2, q->x, p256_sm2_mod, p256_sm2_mp_mod); |
3381 | | /* S2 = Y2*Z1^3 */ |
3382 | 0 | sp_256_mont_mul_avx2_sm2_4(t4, t4, q->y, p256_sm2_mod, p256_sm2_mp_mod); |
3383 | |
|
3384 | 0 | if ((~p->infinity) & (~q->infinity) & |
3385 | 0 | sp_256_cmp_equal_4(p->x, t2) & |
3386 | 0 | sp_256_cmp_equal_4(p->y, t4)) { |
3387 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(r, p, t); |
3388 | 0 | } |
3389 | 0 | else { |
3390 | 0 | sp_digit* x = t2; |
3391 | 0 | sp_digit* y = t3; |
3392 | 0 | sp_digit* z = t6; |
3393 | | |
3394 | | /* H = U2 - X1 */ |
3395 | 0 | sp_256_mont_sub_avx2_sm2_4(t2, t2, p->x, p256_sm2_mod); |
3396 | | /* R = S2 - Y1 */ |
3397 | 0 | sp_256_mont_sub_avx2_sm2_4(t4, t4, p->y, p256_sm2_mod); |
3398 | | /* Z3 = H*Z1 */ |
3399 | 0 | sp_256_mont_mul_avx2_sm2_4(z, p->z, t2, p256_sm2_mod, p256_sm2_mp_mod); |
3400 | | /* X3 = R^2 - H^3 - 2*X1*H^2 */ |
3401 | 0 | sp_256_mont_sqr_avx2_sm2_4(t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
3402 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, p->x, t1, p256_sm2_mod, p256_sm2_mp_mod); |
3403 | 0 | sp_256_mont_mul_avx2_sm2_4(t1, t1, t2, p256_sm2_mod, p256_sm2_mp_mod); |
3404 | 0 | sp_256_mont_sqr_avx2_sm2_4(t2, t4, p256_sm2_mod, p256_sm2_mp_mod); |
3405 | 0 | sp_256_mont_sub_avx2_sm2_4(t2, t2, t1, p256_sm2_mod); |
3406 | 0 | sp_256_mont_rsb_sub_dbl_avx2_sm2_4(x, t2, t3, p256_sm2_mod); |
3407 | | /* Y3 = R*(X1*H^2 - X3) - Y1*H^3 */ |
3408 | 0 | sp_256_mont_mul_avx2_sm2_4(t3, t3, t4, p256_sm2_mod, p256_sm2_mp_mod); |
3409 | 0 | sp_256_mont_mul_avx2_sm2_4(t1, t1, p->y, p256_sm2_mod, p256_sm2_mp_mod); |
3410 | 0 | sp_256_mont_sub_avx2_sm2_4(y, t3, t1, p256_sm2_mod); |
3411 | 0 | { |
3412 | 0 | int i; |
3413 | 0 | sp_digit maskp = (sp_digit)(0 - (q->infinity & (!p->infinity))); |
3414 | 0 | sp_digit maskq = (sp_digit)(0 - (p->infinity & (!q->infinity))); |
3415 | 0 | sp_digit maskt = ~(maskp | maskq); |
3416 | 0 | sp_digit inf = (sp_digit)(p->infinity & q->infinity); |
3417 | |
|
3418 | 0 | for (i = 0; i < 4; i++) { |
3419 | 0 | r->x[i] = (p->x[i] & maskp) | (q->x[i] & maskq) | |
3420 | 0 | (x[i] & maskt); |
3421 | 0 | } |
3422 | 0 | for (i = 0; i < 4; i++) { |
3423 | 0 | r->y[i] = (p->y[i] & maskp) | (q->y[i] & maskq) | |
3424 | 0 | (y[i] & maskt); |
3425 | 0 | } |
3426 | 0 | for (i = 0; i < 4; i++) { |
3427 | 0 | r->z[i] = (p->z[i] & maskp) | (q->z[i] & maskq) | |
3428 | 0 | (z[i] & maskt); |
3429 | 0 | } |
3430 | 0 | r->z[0] |= inf; |
3431 | 0 | r->infinity = (int)inf; |
3432 | 0 | } |
3433 | 0 | } |
3434 | 0 | } |
3435 | | |
3436 | | #ifdef FP_ECC |
3437 | | /* Convert the projective point to affine. |
3438 | | * Ordinates are in Montgomery form. |
3439 | | * |
3440 | | * a Point to convert. |
3441 | | * t Temporary data. |
3442 | | */ |
3443 | | static void sp_256_proj_to_affine_avx2_sm2_4(sp_point_256* a, sp_digit* t) |
3444 | | { |
3445 | | sp_digit* t1 = t; |
3446 | | sp_digit* t2 = t + 2 * 4; |
3447 | | sp_digit* tmp = t + 4 * 4; |
3448 | | |
3449 | | sp_256_mont_inv_avx2_sm2_4(t1, a->z, tmp); |
3450 | | |
3451 | | sp_256_mont_sqr_avx2_sm2_4(t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
3452 | | sp_256_mont_mul_avx2_sm2_4(t1, t2, t1, p256_sm2_mod, p256_sm2_mp_mod); |
3453 | | |
3454 | | sp_256_mont_mul_avx2_sm2_4(a->x, a->x, t2, p256_sm2_mod, p256_sm2_mp_mod); |
3455 | | sp_256_mont_mul_avx2_sm2_4(a->y, a->y, t1, p256_sm2_mod, p256_sm2_mp_mod); |
3456 | | XMEMCPY(a->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3457 | | } |
3458 | | |
3459 | | /* Generate the pre-computed table of points for the base point. |
3460 | | * |
3461 | | * width = 6 |
3462 | | * 64 entries |
3463 | | * 42 bits between |
3464 | | * |
3465 | | * a The base point. |
3466 | | * table Place to store generated point data. |
3467 | | * tmp Temporary data. |
3468 | | * heap Heap to use for allocation. |
3469 | | */ |
3470 | | static int sp_256_gen_stripe_table_avx2_sm2_4(const sp_point_256* a, |
3471 | | sp_table_entry_256* table, sp_digit* tmp, void* heap) |
3472 | | { |
3473 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3474 | | sp_point_256* t = NULL; |
3475 | | #else |
3476 | | sp_point_256 t[3]; |
3477 | | #endif |
3478 | | sp_point_256* s1 = NULL; |
3479 | | sp_point_256* s2 = NULL; |
3480 | | int i; |
3481 | | int j; |
3482 | | int err = MP_OKAY; |
3483 | | |
3484 | | (void)heap; |
3485 | | |
3486 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3487 | | t = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 3, heap, |
3488 | | DYNAMIC_TYPE_ECC); |
3489 | | if (t == NULL) |
3490 | | err = MEMORY_E; |
3491 | | #endif |
3492 | | |
3493 | | if (err == MP_OKAY) { |
3494 | | s1 = t + 1; |
3495 | | s2 = t + 2; |
3496 | | |
3497 | | err = sp_256_mod_mul_norm_avx2_sm2_4(t->x, a->x, p256_sm2_mod); |
3498 | | } |
3499 | | if (err == MP_OKAY) { |
3500 | | err = sp_256_mod_mul_norm_avx2_sm2_4(t->y, a->y, p256_sm2_mod); |
3501 | | } |
3502 | | if (err == MP_OKAY) { |
3503 | | err = sp_256_mod_mul_norm_avx2_sm2_4(t->z, a->z, p256_sm2_mod); |
3504 | | } |
3505 | | if (err == MP_OKAY) { |
3506 | | t->infinity = 0; |
3507 | | sp_256_proj_to_affine_avx2_sm2_4(t, tmp); |
3508 | | |
3509 | | XMEMCPY(s1->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3510 | | s1->infinity = 0; |
3511 | | XMEMCPY(s2->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3512 | | s2->infinity = 0; |
3513 | | |
3514 | | /* table[0] = {0, 0, infinity} */ |
3515 | | XMEMSET(&table[0], 0, sizeof(sp_table_entry_256)); |
3516 | | /* table[1] = Affine version of 'a' in Montgomery form */ |
3517 | | XMEMCPY(table[1].x, t->x, sizeof(table->x)); |
3518 | | XMEMCPY(table[1].y, t->y, sizeof(table->y)); |
3519 | | |
3520 | | for (i=1; i<6; i++) { |
3521 | | sp_256_proj_point_dbl_n_avx2_sm2_4(t, 43, tmp); |
3522 | | sp_256_proj_to_affine_avx2_sm2_4(t, tmp); |
3523 | | XMEMCPY(table[1<<i].x, t->x, sizeof(table->x)); |
3524 | | XMEMCPY(table[1<<i].y, t->y, sizeof(table->y)); |
3525 | | } |
3526 | | |
3527 | | for (i=1; i<6; i++) { |
3528 | | XMEMCPY(s1->x, table[1<<i].x, sizeof(table->x)); |
3529 | | XMEMCPY(s1->y, table[1<<i].y, sizeof(table->y)); |
3530 | | for (j=(1<<i)+1; j<(1<<(i+1)); j++) { |
3531 | | XMEMCPY(s2->x, table[j-(1<<i)].x, sizeof(table->x)); |
3532 | | XMEMCPY(s2->y, table[j-(1<<i)].y, sizeof(table->y)); |
3533 | | sp_256_proj_point_add_qz1_avx2_sm2_4(t, s1, s2, tmp); |
3534 | | sp_256_proj_to_affine_avx2_sm2_4(t, tmp); |
3535 | | XMEMCPY(table[j].x, t->x, sizeof(table->x)); |
3536 | | XMEMCPY(table[j].y, t->y, sizeof(table->y)); |
3537 | | } |
3538 | | } |
3539 | | } |
3540 | | |
3541 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3542 | | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
3543 | | #endif |
3544 | | |
3545 | | return err; |
3546 | | } |
3547 | | |
3548 | | #endif /* FP_ECC */ |
3549 | | #if defined(FP_ECC) || defined(WOLFSSL_SP_SMALL) |
3550 | | /* Multiply the point by the scalar and return the result. |
3551 | | * If map is true then convert result to affine coordinates. |
3552 | | * |
3553 | | * Stripe implementation. |
3554 | | * Pre-generated: 2^0, 2^42, ... |
3555 | | * Pre-generated: products of all combinations of above. |
3556 | | * 6 doubles and adds (with qz=1) |
3557 | | * |
3558 | | * r Resulting point. |
3559 | | * k Scalar to multiply by. |
3560 | | * table Pre-computed table. |
3561 | | * map Indicates whether to convert result to affine. |
3562 | | * ct Constant time required. |
3563 | | * heap Heap to use for allocation. |
3564 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3565 | | */ |
3566 | | static int sp_256_ecc_mulmod_stripe_avx2_sm2_4(sp_point_256* r, const sp_point_256* g, |
3567 | | const sp_table_entry_256* table, const sp_digit* k, int map, |
3568 | | int ct, void* heap) |
3569 | | { |
3570 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3571 | | sp_point_256* rt = NULL; |
3572 | | sp_digit* t = NULL; |
3573 | | #else |
3574 | | sp_point_256 rt[2]; |
3575 | | sp_digit t[2 * 4 * 5]; |
3576 | | #endif |
3577 | | sp_point_256* p = NULL; |
3578 | | int i; |
3579 | | int j; |
3580 | | int y; |
3581 | | int x; |
3582 | | int err = MP_OKAY; |
3583 | | |
3584 | | (void)g; |
3585 | | /* Constant time used for cache attack resistance implementation. */ |
3586 | | (void)ct; |
3587 | | (void)heap; |
3588 | | |
3589 | | |
3590 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3591 | | rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
3592 | | DYNAMIC_TYPE_ECC); |
3593 | | if (rt == NULL) |
3594 | | err = MEMORY_E; |
3595 | | if (err == MP_OKAY) { |
3596 | | t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 5, heap, |
3597 | | DYNAMIC_TYPE_ECC); |
3598 | | if (t == NULL) |
3599 | | err = MEMORY_E; |
3600 | | } |
3601 | | #endif |
3602 | | |
3603 | | if (err == MP_OKAY) { |
3604 | | p = rt + 1; |
3605 | | |
3606 | | XMEMCPY(p->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3607 | | XMEMCPY(rt->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
3608 | | |
3609 | | y = 0; |
3610 | | x = 42; |
3611 | | for (j=0; j<6 && x<256; j++) { |
3612 | | y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j); |
3613 | | x += 43; |
3614 | | } |
3615 | | #ifndef WC_NO_CACHE_RESISTANT |
3616 | | if (ct) { |
3617 | | sp_256_get_entry_64_avx2_sm2_4(rt, table, y); |
3618 | | } else |
3619 | | #endif |
3620 | | { |
3621 | | XMEMCPY(rt->x, table[y].x, sizeof(table[y].x)); |
3622 | | XMEMCPY(rt->y, table[y].y, sizeof(table[y].y)); |
3623 | | } |
3624 | | rt->infinity = !y; |
3625 | | for (i=41; i>=0; i--) { |
3626 | | y = 0; |
3627 | | x = i; |
3628 | | for (j=0; j<6 && x<256; j++) { |
3629 | | y |= (int)(((k[x / 64] >> (x % 64)) & 1) << j); |
3630 | | x += 43; |
3631 | | } |
3632 | | |
3633 | | sp_256_proj_point_dbl_avx2_sm2_4(rt, rt, t); |
3634 | | #ifndef WC_NO_CACHE_RESISTANT |
3635 | | if (ct) { |
3636 | | sp_256_get_entry_64_avx2_sm2_4(p, table, y); |
3637 | | } |
3638 | | else |
3639 | | #endif |
3640 | | { |
3641 | | XMEMCPY(p->x, table[y].x, sizeof(table[y].x)); |
3642 | | XMEMCPY(p->y, table[y].y, sizeof(table[y].y)); |
3643 | | } |
3644 | | p->infinity = !y; |
3645 | | sp_256_proj_point_add_qz1_avx2_sm2_4(rt, rt, p, t); |
3646 | | } |
3647 | | |
3648 | | if (map != 0) { |
3649 | | sp_256_map_avx2_sm2_4(r, rt, t); |
3650 | | } |
3651 | | else { |
3652 | | XMEMCPY(r, rt, sizeof(sp_point_256)); |
3653 | | } |
3654 | | } |
3655 | | |
3656 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3657 | | XFREE(t, heap, DYNAMIC_TYPE_ECC); |
3658 | | XFREE(rt, heap, DYNAMIC_TYPE_ECC); |
3659 | | #endif |
3660 | | |
3661 | | return err; |
3662 | | } |
3663 | | |
3664 | | #endif /* FP_ECC | WOLFSSL_SP_SMALL */ |
3665 | | /* Multiply the base point of P256 by the scalar and return the result. |
3666 | | * If map is true then convert result to affine coordinates. |
3667 | | * |
3668 | | * r Resulting point. |
3669 | | * g Point to multiply. |
3670 | | * k Scalar to multiply by. |
3671 | | * map Indicates whether to convert result to affine. |
3672 | | * ct Constant time required. |
3673 | | * heap Heap to use for allocation. |
3674 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3675 | | */ |
3676 | | static int sp_256_ecc_mulmod_avx2_sm2_4(sp_point_256* r, const sp_point_256* g, |
3677 | | const sp_digit* k, int map, int ct, void* heap) |
3678 | 0 | { |
3679 | 0 | #ifndef FP_ECC |
3680 | 0 | return sp_256_ecc_mulmod_win_add_sub_avx2_sm2_4(r, g, k, map, ct, heap); |
3681 | | #else |
3682 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3683 | | sp_digit* tmp; |
3684 | | #else |
3685 | | sp_digit tmp[2 * 4 * 6]; |
3686 | | #endif |
3687 | | sp_cache_256_t* cache; |
3688 | | int err = MP_OKAY; |
3689 | | |
3690 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3691 | | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, heap, DYNAMIC_TYPE_ECC); |
3692 | | if (tmp == NULL) { |
3693 | | err = MEMORY_E; |
3694 | | } |
3695 | | #endif |
3696 | | #ifndef HAVE_THREAD_LS |
3697 | | if (err == MP_OKAY) { |
3698 | | #ifndef WOLFSSL_MUTEX_INITIALIZER |
3699 | | if (initCacheMutex_256 == 0) { |
3700 | | wc_InitMutex(&sp_cache_256_lock); |
3701 | | initCacheMutex_256 = 1; |
3702 | | } |
3703 | | #endif |
3704 | | if (wc_LockMutex(&sp_cache_256_lock) != 0) { |
3705 | | err = BAD_MUTEX_E; |
3706 | | } |
3707 | | } |
3708 | | #endif /* HAVE_THREAD_LS */ |
3709 | | |
3710 | | if (err == MP_OKAY) { |
3711 | | sp_ecc_get_cache_256(g, &cache); |
3712 | | if (cache->cnt == 2) |
3713 | | sp_256_gen_stripe_table_avx2_sm2_4(g, cache->table, tmp, heap); |
3714 | | |
3715 | | #ifndef HAVE_THREAD_LS |
3716 | | wc_UnLockMutex(&sp_cache_256_lock); |
3717 | | #endif /* HAVE_THREAD_LS */ |
3718 | | |
3719 | | if (cache->cnt < 2) { |
3720 | | err = sp_256_ecc_mulmod_win_add_sub_avx2_sm2_4(r, g, k, map, ct, heap); |
3721 | | } |
3722 | | else { |
3723 | | err = sp_256_ecc_mulmod_stripe_avx2_sm2_4(r, g, cache->table, k, |
3724 | | map, ct, heap); |
3725 | | } |
3726 | | } |
3727 | | |
3728 | | #ifdef WOLFSSL_SP_SMALL_STACK |
3729 | | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
3730 | | #endif |
3731 | | return err; |
3732 | | #endif |
3733 | 0 | } |
3734 | | |
3735 | | #endif /* HAVE_INTEL_AVX2 */ |
3736 | | /* Multiply the point by the scalar and return the result. |
3737 | | * If map is true then convert result to affine coordinates. |
3738 | | * |
3739 | | * km Scalar to multiply by. |
3740 | | * p Point to multiply. |
3741 | | * r Resulting point. |
3742 | | * map Indicates whether to convert result to affine. |
3743 | | * heap Heap to use for allocation. |
3744 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3745 | | */ |
3746 | | int sp_ecc_mulmod_sm2_256(const mp_int* km, const ecc_point* gm, ecc_point* r, |
3747 | | int map, void* heap) |
3748 | 0 | { |
3749 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3750 | 0 | sp_point_256* point = NULL; |
3751 | 0 | sp_digit* k = NULL; |
3752 | | #else |
3753 | | sp_point_256 point[1]; |
3754 | | sp_digit k[4]; |
3755 | | #endif |
3756 | 0 | int err = MP_OKAY; |
3757 | 0 | #ifdef HAVE_INTEL_AVX2 |
3758 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
3759 | 0 | #endif |
3760 | |
|
3761 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3762 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, |
3763 | 0 | DYNAMIC_TYPE_ECC); |
3764 | 0 | if (point == NULL) |
3765 | 0 | err = MEMORY_E; |
3766 | 0 | if (err == MP_OKAY) { |
3767 | 0 | k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap, |
3768 | 0 | DYNAMIC_TYPE_ECC); |
3769 | 0 | if (k == NULL) |
3770 | 0 | err = MEMORY_E; |
3771 | 0 | } |
3772 | 0 | #endif |
3773 | |
|
3774 | 0 | if (err == MP_OKAY) { |
3775 | 0 | sp_256_from_mp(k, 4, km); |
3776 | 0 | sp_256_point_from_ecc_point_4(point, gm); |
3777 | |
|
3778 | 0 | #ifdef HAVE_INTEL_AVX2 |
3779 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
3780 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
3781 | 0 | err = sp_256_ecc_mulmod_avx2_sm2_4(point, point, k, map, 1, heap); |
3782 | 0 | } |
3783 | 0 | else |
3784 | 0 | #endif |
3785 | 0 | err = sp_256_ecc_mulmod_sm2_4(point, point, k, map, 1, heap); |
3786 | 0 | } |
3787 | 0 | if (err == MP_OKAY) { |
3788 | 0 | err = sp_256_point_to_ecc_point_4(point, r); |
3789 | 0 | } |
3790 | |
|
3791 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3792 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
3793 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
3794 | 0 | #endif |
3795 | |
|
3796 | 0 | return err; |
3797 | 0 | } |
3798 | | |
3799 | | /* Multiply the point by the scalar, add point a and return the result. |
3800 | | * If map is true then convert result to affine coordinates. |
3801 | | * |
3802 | | * km Scalar to multiply by. |
3803 | | * p Point to multiply. |
3804 | | * am Point to add to scalar multiply result. |
3805 | | * inMont Point to add is in montgomery form. |
3806 | | * r Resulting point. |
3807 | | * map Indicates whether to convert result to affine. |
3808 | | * heap Heap to use for allocation. |
3809 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
3810 | | */ |
3811 | | int sp_ecc_mulmod_add_sm2_256(const mp_int* km, const ecc_point* gm, |
3812 | | const ecc_point* am, int inMont, ecc_point* r, int map, void* heap) |
3813 | 0 | { |
3814 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3815 | 0 | sp_point_256* point = NULL; |
3816 | 0 | sp_digit* k = NULL; |
3817 | | #else |
3818 | | sp_point_256 point[2]; |
3819 | | sp_digit k[4 + 4 * 2 * 6]; |
3820 | | #endif |
3821 | 0 | sp_point_256* addP = NULL; |
3822 | 0 | sp_digit* tmp = NULL; |
3823 | 0 | int err = MP_OKAY; |
3824 | 0 | #ifdef HAVE_INTEL_AVX2 |
3825 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
3826 | 0 | #endif |
3827 | |
|
3828 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3829 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
3830 | 0 | DYNAMIC_TYPE_ECC); |
3831 | 0 | if (point == NULL) |
3832 | 0 | err = MEMORY_E; |
3833 | 0 | if (err == MP_OKAY) { |
3834 | 0 | k = (sp_digit*)XMALLOC( |
3835 | 0 | sizeof(sp_digit) * (4 + 4 * 2 * 6), heap, |
3836 | 0 | DYNAMIC_TYPE_ECC); |
3837 | 0 | if (k == NULL) |
3838 | 0 | err = MEMORY_E; |
3839 | 0 | } |
3840 | 0 | #endif |
3841 | |
|
3842 | 0 | if (err == MP_OKAY) { |
3843 | 0 | addP = point + 1; |
3844 | 0 | tmp = k + 4; |
3845 | |
|
3846 | 0 | sp_256_from_mp(k, 4, km); |
3847 | 0 | sp_256_point_from_ecc_point_4(point, gm); |
3848 | 0 | sp_256_point_from_ecc_point_4(addP, am); |
3849 | 0 | } |
3850 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
3851 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->x, addP->x, p256_sm2_mod); |
3852 | 0 | } |
3853 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
3854 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->y, addP->y, p256_sm2_mod); |
3855 | 0 | } |
3856 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
3857 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->z, addP->z, p256_sm2_mod); |
3858 | 0 | } |
3859 | 0 | if (err == MP_OKAY) { |
3860 | 0 | #ifdef HAVE_INTEL_AVX2 |
3861 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
3862 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
3863 | 0 | err = sp_256_ecc_mulmod_avx2_sm2_4(point, point, k, 0, 0, heap); |
3864 | 0 | } |
3865 | 0 | else |
3866 | 0 | #endif |
3867 | 0 | err = sp_256_ecc_mulmod_sm2_4(point, point, k, 0, 0, heap); |
3868 | 0 | } |
3869 | 0 | if (err == MP_OKAY) { |
3870 | 0 | #ifdef HAVE_INTEL_AVX2 |
3871 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
3872 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
3873 | 0 | sp_256_proj_point_add_avx2_sm2_4(point, point, addP, tmp); |
3874 | 0 | } |
3875 | 0 | else |
3876 | 0 | #endif |
3877 | 0 | sp_256_proj_point_add_sm2_4(point, point, addP, tmp); |
3878 | |
|
3879 | 0 | if (map) { |
3880 | 0 | #ifdef HAVE_INTEL_AVX2 |
3881 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
3882 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
3883 | 0 | sp_256_map_avx2_sm2_4(point, point, tmp); |
3884 | 0 | } |
3885 | 0 | else |
3886 | 0 | #endif |
3887 | 0 | sp_256_map_sm2_4(point, point, tmp); |
3888 | 0 | } |
3889 | |
|
3890 | 0 | err = sp_256_point_to_ecc_point_4(point, r); |
3891 | 0 | } |
3892 | |
|
3893 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
3894 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
3895 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
3896 | 0 | #endif |
3897 | |
|
3898 | 0 | return err; |
3899 | 0 | } |
3900 | | |
3901 | | #ifdef WOLFSSL_SP_SMALL |
3902 | | /* Striping precomputation table. |
3903 | | * 6 points combined into a table of 64 points. |
3904 | | * Distance of 43 between points. |
3905 | | */ |
3906 | | static const sp_table_entry_256 p256_sm2_table[64] = { |
3907 | | /* 0 */ |
3908 | | { { 0x00, 0x00, 0x00, 0x00 }, |
3909 | | { 0x00, 0x00, 0x00, 0x00 } }, |
3910 | | /* 1 */ |
3911 | | { { 0x61328990f418029eL,0x3e7981eddca6c050L,0xd6a1ed99ac24c3c3L, |
3912 | | 0x91167a5ee1c13b05L }, |
3913 | | { 0xc1354e593c2d0dddL,0xc1f5e5788d3295faL,0x8d4cfb066e2a48f8L, |
3914 | | 0x63cd65d481d735bdL } }, |
3915 | | /* 2 */ |
3916 | | { { 0xc89fc5d00f01c7ceL,0x6fc45ffd7283bdf0L,0x71dece8181151923L, |
3917 | | 0xed1cb14cc433fcc9L }, |
3918 | | { 0x4279612bd3959bcfL,0xe163880b35b5732fL,0x35414ca771d0a1caL, |
3919 | | 0xe8b9e6512c1e47f3L } }, |
3920 | | /* 3 */ |
3921 | | { { 0x03e6bee81775471fL,0x6ae34269f3376607L,0xb11a06bf20376ef0L, |
3922 | | 0x9e9cada1ab3ded4bL }, |
3923 | | { 0x0a2970959450f9a2L,0xd736d2d861aebfafL,0x9236dfba45d99caeL, |
3924 | | 0x16f5d44a57e128efL } }, |
3925 | | /* 4 */ |
3926 | | { { 0x7e2c5852126506ccL,0xba94aac708b3567dL,0x6905cdf4c05a3f24L, |
3927 | | 0xbf5f559b3547f8b3L }, |
3928 | | { 0x9e4b4e62aade7a1dL,0x56b8b9d61fda3088L,0xea3eb4c64c43d89fL, |
3929 | | 0xfb7e537c9c69e047L } }, |
3930 | | /* 5 */ |
3931 | | { { 0xaf6ea6e4c6dae187L,0x055769cc7a57cc35L,0x61b1b38f2e2bd6d3L, |
3932 | | 0x49e72575fedd2b2dL }, |
3933 | | { 0xf13fbc501dd3fa13L,0x59372da068989c52L,0x47d1d3fdd57e252aL, |
3934 | | 0xe2258efb4702d9ffL } }, |
3935 | | /* 6 */ |
3936 | | { { 0x7632f8cb8428b2ecL,0x5ce75123861aff25L,0xb85c8ae2ad7135c9L, |
3937 | | 0x3cbd06d58feab59aL }, |
3938 | | { 0x1d23ea10278f7d53L,0xa20abf6a6be94d6fL,0xd827dabdb0617ea2L, |
3939 | | 0xf8a489b1dbfb2450L } }, |
3940 | | /* 7 */ |
3941 | | { { 0x0b45f275eaf0d6eeL,0xc42fd33ff5aafa87L,0x5b495473a7652578L, |
3942 | | 0x774d93483effd670L }, |
3943 | | { 0x4d7ca2e480b18d20L,0xfcc00a1f7718af75L,0xf942b780a26c5bdfL, |
3944 | | 0xa19656c1ab1952b6L } }, |
3945 | | /* 8 */ |
3946 | | { { 0x7a748d63003b40ddL,0x8a6824023951b7aeL,0x41e92dd9704a91b0L, |
3947 | | 0x2dfb3eb9858cd3eaL }, |
3948 | | { 0xc3c2af35f5094667L,0xffa287dc7435aa2dL,0xd03f39797462714fL, |
3949 | | 0xdb550f67203e5b0eL } }, |
3950 | | /* 9 */ |
3951 | | { { 0x64a231da5310c3f7L,0x6b0bdac4ea55a959L,0x74060b60fe7e19a4L, |
3952 | | 0xb7c3ca32980dd9ffL }, |
3953 | | { 0x543abc818c31d481L,0xe2eabc01e3b65787L,0x5e8fae7613cf6575L, |
3954 | | 0xba7bdf8c049f75c7L } }, |
3955 | | /* 10 */ |
3956 | | { { 0x650ca1b15d0372a0L,0x0bab653b4760783aL,0x43861d978b275a3eL, |
3957 | | 0x2a5e58c4a460c35bL }, |
3958 | | { 0x0d05e066d42e647aL,0x1d405d5194b35397L,0xe8267117c1475d81L, |
3959 | | 0x48ee0aeff17fc683L } }, |
3960 | | /* 11 */ |
3961 | | { { 0x7e220220bf104cafL,0xa836513fdfb4687bL,0xd3b2d18b75f7aa30L, |
3962 | | 0x0cdb2832d4a43fd6L }, |
3963 | | { 0xc3d76c6df6fe7f98L,0xfc4e7340cf7bffaeL,0xe9be89752162ddbdL, |
3964 | | 0xd3e5b2f579d8566cL } }, |
3965 | | /* 12 */ |
3966 | | { { 0xf7fe95db0a7c6fb3L,0xa55173a668dc4aadL,0x9c967a36b430fa70L, |
3967 | | 0x3cbffc0337044e9eL }, |
3968 | | { 0xef93d4d40646acc4L,0x887280cf82055396L,0x115ca645037ae10dL, |
3969 | | 0x6e09a0ec3efa445cL } }, |
3970 | | /* 13 */ |
3971 | | { { 0x37f3a20f4c217638L,0x8374f92e0d81de77L,0x600d889c3c25242eL, |
3972 | | 0x5d550413848e366cL }, |
3973 | | { 0xba3269e0b8946effL,0x8caed7c6b14de08eL,0x67d11be5e1343a97L, |
3974 | | 0x37c1956307b5cd60L } }, |
3975 | | /* 14 */ |
3976 | | { { 0x2bf93798cbe1c850L,0x71629f3559ee1d84L,0xda6a2579fe666b67L, |
3977 | | 0x4122226051d853c2L }, |
3978 | | { 0xa1bf9f71aea91d83L,0x4b8f59ac8d4fc31eL,0xd679a7afb30715b1L, |
3979 | | 0x0e4efa3b8ebec869L } }, |
3980 | | /* 15 */ |
3981 | | { { 0xfd9f6381566ddca3L,0xd8e9aa4a4ee8f6a2L,0xe1480afb3aa991d6L, |
3982 | | 0x4fde55b2f3071a92L }, |
3983 | | { 0xf994324570c76750L,0xe6185026974a84ceL,0x29404c8fa67c0418L, |
3984 | | 0x4eb6b70b1dc29e21L } }, |
3985 | | /* 16 */ |
3986 | | { { 0x271b2e2a0133903bL,0x5b3686f2e495ee32L,0x89bcc9740c991f28L, |
3987 | | 0xadd20cce34f93b8aL }, |
3988 | | { 0x5f5a1768680b65b6L,0x0c453ab8aad41c40L,0xd479630fa7fb4269L, |
3989 | | 0x60039d0152c4e929L } }, |
3990 | | /* 17 */ |
3991 | | { { 0x9f8c30f666dc3ed1L,0x8ec40a13ea254aa9L,0x7cf83e30d5180500L, |
3992 | | 0x88f1ea0c126222b5L }, |
3993 | | { 0x09622560358d6219L,0x5e69e63c95cff0dbL,0x70609d57bd89b6c3L, |
3994 | | 0x1e188a57726966beL } }, |
3995 | | /* 18 */ |
3996 | | { { 0x262140c71da61f33L,0xdaae0867b70a4a07L,0xe6a09476be206839L, |
3997 | | 0x07c295d031bb6bd3L }, |
3998 | | { 0xb65e35bdc20d02b9L,0xa840efcccd5738c5L,0xafd37765161c60beL, |
3999 | | 0x992b3b72f7366165L } }, |
4000 | | /* 19 */ |
4001 | | { { 0xe378fa9528468650L,0x04c034f56ef109f1L,0xeb283555d6f82709L, |
4002 | | 0xe60cccee5658e1abL }, |
4003 | | { 0x1c562f62977d30e0L,0x85306434a0ab1406L,0x0cefba77831055beL, |
4004 | | 0x183a6ae70c888c92L } }, |
4005 | | /* 20 */ |
4006 | | { { 0x91dd768392335229L,0xbb0c7c8343b781eaL,0x2737878cc3eddf7eL, |
4007 | | 0xfdb400b4a95403e9L }, |
4008 | | { 0x3c9b8bbc8e431d8fL,0x2c4edaeff9bbb6deL,0x201e84518da24782L, |
4009 | | 0x6bc7cbfcebddcb9bL } }, |
4010 | | /* 21 */ |
4011 | | { { 0x95feb14a944ccd35L,0x5252113d891bf931L,0xd04dfb7d5781c433L, |
4012 | | 0x8817cfe0e962bfbeL }, |
4013 | | { 0x7d7eca9a3925ff3bL,0x7435a2613c0041a4L,0xe6068793008d032eL, |
4014 | | 0x536c1bbac5e5d7a5L } }, |
4015 | | /* 22 */ |
4016 | | { { 0x471c390fdb26e28bL,0xaf61796edb086005L,0x3c18b8d86ebbf57cL, |
4017 | | 0xd935b255a276a92cL }, |
4018 | | { 0xe950cf0c08f9cb54L,0xa49b27e467194534L,0xa45fc842d76e2637L, |
4019 | | 0xefa7c80bebfca758L } }, |
4020 | | /* 23 */ |
4021 | | { { 0xa874199483e6b67fL,0x757043c6e57811bcL,0x834a5582cf6a3c78L, |
4022 | | 0x3f5ab9765a6b2ab4L }, |
4023 | | { 0xbb72a841009b2afaL,0x8697c0c85f97324cL,0x262443b6c4a9cd13L, |
4024 | | 0x180f086ce10bd389L } }, |
4025 | | /* 24 */ |
4026 | | { { 0x6512675fee8996deL,0x94a7c9d596a43e0cL,0x5d2b859339dab3b2L, |
4027 | | 0x05f908e6e002c8e5L }, |
4028 | | { 0x2adf1b219ca29d0bL,0x6f9fa5b45d684bccL,0xc16af991e7e8a40eL, |
4029 | | 0x99f8c0addfd9babeL } }, |
4030 | | /* 25 */ |
4031 | | { { 0x16ea65e4a50f622bL,0x989f438cd8b8ad64L,0x38ee81384cd0c37bL, |
4032 | | 0xce3ef92d864e7b1dL }, |
4033 | | { 0x3164b64bcbe452e7L,0x8e911fffb1e3dc56L,0xb04fbe9fcbb4d37cL, |
4034 | | 0x9923046257142dc6L } }, |
4035 | | /* 26 */ |
4036 | | { { 0xd3681a404fe28249L,0x32580387052afcffL,0x196c4c68e2da7ea5L, |
4037 | | 0x7100d19638420b0dL }, |
4038 | | { 0x8a53dce1588d6c08L,0x1adffad3bdbd568bL,0xb2660875ac6eda79L, |
4039 | | 0x08bd204ada1a4bb1L } }, |
4040 | | /* 27 */ |
4041 | | { { 0xe18eb0fd9d58bc9dL,0x4718154c3fed99f8L,0xb9c59a3154945dd0L, |
4042 | | 0x6619b39df95038c4L }, |
4043 | | { 0x4f5742677122f279L,0x8b3df2ae21f78499L,0x9408279284852c7eL, |
4044 | | 0x5e6b8140674b9319L } }, |
4045 | | /* 28 */ |
4046 | | { { 0x4259a967ab96a0c2L,0x669a67fffdcf89d9L,0xf7605114950da6cfL, |
4047 | | 0xcf59adc7fac8af08L }, |
4048 | | { 0x60d642bcaf53bbb3L,0x3cd619404c60c225L,0x87ab40e93ed6c81dL, |
4049 | | 0xa64309cac4a97b64L } }, |
4050 | | /* 29 */ |
4051 | | { { 0xc0f067f4148fb37fL,0x0c212ebc1ecec765L,0xb6959c9f708e3383L, |
4052 | | 0x2b3502560633c263L }, |
4053 | | { 0x422b9022f1f230aaL,0x67e89ca6908ca8bdL,0xe1968463a274f18fL, |
4054 | | 0x444b01fca201aac3L } }, |
4055 | | /* 30 */ |
4056 | | { { 0x704c3d22c0e27894L,0xd7aa64a9c8aa6755L,0x16caef7397f0418bL, |
4057 | | 0xbb0ac091a2060ba1L }, |
4058 | | { 0xd769c871569136abL,0xcdb28245eaeb6c8eL,0x9d8c7f9cd03914e3L, |
4059 | | 0xeae4c0183b409589L } }, |
4060 | | /* 31 */ |
4061 | | { { 0x5dd457a08ea18527L,0xfe86938b489cadeeL,0x01b868d40ea433f8L, |
4062 | | 0x448836b9c4e0ddb1L }, |
4063 | | { 0x612aaab44b6d19f6L,0xacc943e95b8e6130L,0x8056f93affdc4812L, |
4064 | | 0x95b00890c1e028a7L } }, |
4065 | | /* 32 */ |
4066 | | { { 0x0366065a848bdc53L,0xba2af074078554ddL,0x3c755fba19ff3b4dL, |
4067 | | 0x5ea9337235a22cbbL }, |
4068 | | { 0x0e55fe021eb3e23bL,0x2626ecca765dede4L,0x187bf09481f445daL, |
4069 | | 0xba0110179df30578L } }, |
4070 | | /* 33 */ |
4071 | | { { 0x09e4b407a800dec6L,0xc9c5a716454268d8L,0x62d2d1dd42a43b38L, |
4072 | | 0x4d8411e4d05e0136L }, |
4073 | | { 0xc2c01d33178f2108L,0x4d9544cde4598b1fL,0xe62f7c8f8b3e78f8L, |
4074 | | 0x2dc054e6a33f242dL } }, |
4075 | | /* 34 */ |
4076 | | { { 0x1df6903a4ed2dff4L,0x9d78abe9e6404314L,0x8e3844e5d4e48171L, |
4077 | | 0x827ffe4138ace54cL }, |
4078 | | { 0x33d11d70720e65ffL,0xdd8752733311cbc2L,0xb66bc81a394991adL, |
4079 | | 0x0396de3fc3fc72d2L } }, |
4080 | | /* 35 */ |
4081 | | { { 0xcb12dc9c6042668dL,0xf7317aa7a3bbbe3cL,0x993c8f443a43a529L, |
4082 | | 0xd6f2643528d87e08L }, |
4083 | | { 0xd037d26ba653a204L,0x72eb6e05ccfd59e1L,0xd1433730cfc645ebL, |
4084 | | 0xd7cb9383e5c093e5L } }, |
4085 | | /* 36 */ |
4086 | | { { 0xc5b62430e017a629L,0x70e42fa403a48841L,0xf0fe1d0fe3ab0806L, |
4087 | | 0x109327cacc6233ebL }, |
4088 | | { 0x1ff546245feb876fL,0x46d5fb56b254c229L,0xc412436db26ae61fL, |
4089 | | 0xe8279e370b49099aL } }, |
4090 | | /* 37 */ |
4091 | | { { 0xd4b1e6a3534cf2dfL,0x7b5ec3f14f291315L,0x961b126e257471ecL, |
4092 | | 0x461c7b4e9632df8bL }, |
4093 | | { 0xfd7d38fbaad44894L,0x262635904f0e6e0fL,0xf8a9f0be38ae5310L, |
4094 | | 0x49b2aa694221fb72L } }, |
4095 | | /* 38 */ |
4096 | | { { 0x513ad9399aee80a0L,0x8804476b678dbd40L,0xae6e49cccfad7a0eL, |
4097 | | 0xad6b3fbff41f3f8eL }, |
4098 | | { 0x3f4e7f175835adc4L,0xb1032928922f5307L,0x2de4eba25164b1f4L, |
4099 | | 0xe567159a2cdc2c54L } }, |
4100 | | /* 39 */ |
4101 | | { { 0xf6444d096c194996L,0xfade09439cbef1edL,0x5a5a6d45d7be29ceL, |
4102 | | 0x7631df01c0b73cf4L }, |
4103 | | { 0xc90ba5d7d2bb0069L,0x921640ae1a99a8cbL,0xe6d067bc8f99071aL, |
4104 | | 0x5d22d09bb44d3654L } }, |
4105 | | /* 40 */ |
4106 | | { { 0x829e36cd1134a20fL,0xf79d07d8d76df092L,0x419e14a306a5ceffL, |
4107 | | 0x275eed0e209f6f79L }, |
4108 | | { 0xe4ce05fca9f844dfL,0x01cbb95be90403f0L,0xd251a3fb12f13683L, |
4109 | | 0x9fbb39730f07a135L } }, |
4110 | | /* 41 */ |
4111 | | { { 0x5cfbd82facf72d73L,0x63fbf2f4b9c163a1L,0x725f974e7c5644f4L, |
4112 | | 0x0f702d38bbf90a87L }, |
4113 | | { 0x04014bf1a7437e4eL,0x6934f2dcf389a23eL,0x2ec175779b909ed5L, |
4114 | | 0x0d7cad3712baef70L } }, |
4115 | | /* 42 */ |
4116 | | { { 0x274e22b791421ad5L,0x663e14f342ee0c42L,0x13963062e369531fL, |
4117 | | 0xbd230aca5766547aL }, |
4118 | | { 0x9a8628de978457abL,0xbc0d00d460bb5ab6L,0xfccf09deaf3dfbbaL, |
4119 | | 0x98f8a195c4410fd7L } }, |
4120 | | /* 43 */ |
4121 | | { { 0x4ec518c6055b5914L,0xa56d9e9328349fdeL,0xeff2d295b9dda089L, |
4122 | | 0x22ecc53b26ac82b8L }, |
4123 | | { 0xfbeb4dc21ae6374eL,0xceec19353f968bb2L,0x9527386bd4535de2L, |
4124 | | 0xdd068e57ae45c83dL } }, |
4125 | | /* 44 */ |
4126 | | { { 0x83feecbb2a2e5d97L,0x84ea0bc9535109d3L,0x26487d87072b59a2L, |
4127 | | 0x390af66c39436e6dL }, |
4128 | | { 0x634b5d2ed0f7b5c7L,0x9a45246da89d0f8aL,0x08cc623a743c9aeaL, |
4129 | | 0xbf3785590307a6e2L } }, |
4130 | | /* 45 */ |
4131 | | { { 0xdb0566e318f1453cL,0xc30c4d5ef1820e92L,0x946bb26f0104820dL, |
4132 | | 0x52eff5477aa37647L }, |
4133 | | { 0x67da4d36853a1f4dL,0xabeb9771a5172b8cL,0xfd096bf58968109bL, |
4134 | | 0xfb80b4ca931611e7L } }, |
4135 | | /* 46 */ |
4136 | | { { 0xea1b1d54ba6abc43L,0xd08af21976ce6f34L,0xf63d918fa4d6fd64L, |
4137 | | 0x5bff36213b6e555dL }, |
4138 | | { 0x929a7fd87be5d71fL,0x133eb1164d7c241fL,0x69fba4932e300990L, |
4139 | | 0x0632d2ccd9780058L } }, |
4140 | | /* 47 */ |
4141 | | { { 0xbcf5cf01151442b3L,0x7f91456c46774bb0L,0x2e5a3e13d1c03fd8L, |
4142 | | 0xabfc31f805dafc7aL }, |
4143 | | { 0x45e9855f0937b9beL,0xc9b90fa55f32245fL,0x9b5e163261ebd410L, |
4144 | | 0x201dc9f04572809eL } }, |
4145 | | /* 48 */ |
4146 | | { { 0x2a6a131da46981e1L,0x7a71ec309ef9f995L,0x3a55270cfd7a9dd8L, |
4147 | | 0x5999fc08a4369df0L }, |
4148 | | { 0x18cb84ec8274efc0L,0x454464a5ee279286L,0x30b5e826779c17d9L, |
4149 | | 0xda646ece02b6ff99L } }, |
4150 | | /* 49 */ |
4151 | | { { 0x9dba43088326dd52L,0x3eda387989bbd3ceL,0x29413dbd22b90ba0L, |
4152 | | 0x3515655d7ed0ddb9L }, |
4153 | | { 0x80056e448642c882L,0x0893fff437885d62L,0xdff9620369d2a264L, |
4154 | | 0xfd7a37992b8f4148L } }, |
4155 | | /* 50 */ |
4156 | | { { 0x22a7c2036145bbcfL,0x287d10447d336846L,0x572595abb966911aL, |
4157 | | 0x93f6465b9b7de253L }, |
4158 | | { 0xbbc833ec7d36e6fdL,0x684593d75ca89a1bL,0xd27ee8c505ceec9aL, |
4159 | | 0xc6e0423c13f4a4fcL } }, |
4160 | | /* 51 */ |
4161 | | { { 0xa4a8ef1e6915aa07L,0xcb6b482499e5ac0fL,0x2e33149247ad6549L, |
4162 | | 0x733611d2de0af084L }, |
4163 | | { 0x1394038cc808c5a7L,0xc0485790d41fc3d3L,0x196fb1f27bc72b81L, |
4164 | | 0xdf5018d6f99a6d7eL } }, |
4165 | | /* 52 */ |
4166 | | { { 0xd935751528128edaL,0xe6e7e969fdbab36aL,0xf80fe45f7d26d962L, |
4167 | | 0x18ce483bb609afebL }, |
4168 | | { 0x413f7890d589ed7cL,0x8b17a3ccf5f04540L,0x2ab07087c47d4c2eL, |
4169 | | 0x2871c1643b4ac7f5L } }, |
4170 | | /* 53 */ |
4171 | | { { 0x2f8bb6e6931038dcL,0xa68fe535b99250cdL,0x9cc8e0727fcc5d1fL, |
4172 | | 0x9e535e0d8b10b1d3L }, |
4173 | | { 0x93b637f33559d110L,0x4ffe97e6f7564a04L,0x4340fc2086808165L, |
4174 | | 0x47f14460beea7182L } }, |
4175 | | /* 54 */ |
4176 | | { { 0xec67c13a6a3a2ee7L,0x54dae96ba307c00cL,0x92b4ddf2dc5268c5L, |
4177 | | 0xc79c8796a40ab72aL }, |
4178 | | { 0x29d9095107774e86L,0xb8918b60cadd1808L,0x7c0637c8d801e9d4L, |
4179 | | 0xf914ebe45f729cd7L } }, |
4180 | | /* 55 */ |
4181 | | { { 0xb464e806b0704149L,0x8b5c7e6bb45001e7L,0x748c21c20194031dL, |
4182 | | 0x51b9f9d7e1b289b0L }, |
4183 | | { 0xf1cc95951a78d70fL,0x45b9a18eb3cd4521L,0x932fb8f48eae7bb7L, |
4184 | | 0x767e802a9807fa18L } }, |
4185 | | /* 56 */ |
4186 | | { { 0xf946a7b08b335257L,0x576b173683ea43f7L,0x7af015ff1e56637cL, |
4187 | | 0x42eabbfda7f2d2f5L }, |
4188 | | { 0x95986a387447b4e3L,0xd6ddc3376e6f45ddL,0x3d1ba7fafc575cebL, |
4189 | | 0xd685d6e82f38033cL } }, |
4190 | | /* 57 */ |
4191 | | { { 0x2ed744f72668abefL,0xcf17dc9af6868848L,0xdb09d173d8f40e07L, |
4192 | | 0xe789042909484ae5L }, |
4193 | | { 0x8d264ad636694f88L,0xb0cc9320c04c26a3L,0xed073d07904a8594L, |
4194 | | 0xc14e342088c5d1aaL } }, |
4195 | | /* 58 */ |
4196 | | { { 0x8dcdf2b252501d68L,0x181d1b097b98b283L,0x71c3c4f7ed582d16L, |
4197 | | 0x4d86bbaf5990f8f3L }, |
4198 | | { 0x8ffead8565158631L,0x4f6763ace47c4d59L,0x728b3d15a9400fb3L, |
4199 | | 0xd77fe278c02477a4L } }, |
4200 | | /* 59 */ |
4201 | | { { 0x63bde3cd88d9bd7dL,0x8d3b6522ae241860L,0x8beb9b7405b4d897L, |
4202 | | 0x5cd2178d02987215L }, |
4203 | | { 0x183e675a16f6f682L,0xe5fa2966b3ad7388L,0x4114c83206c8a170L, |
4204 | | 0x72dc010a294dcbf1L } }, |
4205 | | /* 60 */ |
4206 | | { { 0xb4c679eb874695ddL,0x61f3e3d5f7735356L,0x122ead380071d1d5L, |
4207 | | 0xee50373f69f6625fL }, |
4208 | | { 0xcd499f6ab797fc43L,0xcc06f969e01d177aL,0xb88f7c660aed3e14L, |
4209 | | 0xbc5c5d409c5e5c95L } }, |
4210 | | /* 61 */ |
4211 | | { { 0xe80bb01d2c3a5664L,0x4fe6493c84f7c2e7L,0xe5b16177eb66340bL, |
4212 | | 0xadc3c70d36c55aabL }, |
4213 | | { 0x90a6958dc475f280L,0xae3d6ebe7bfa2433L,0x9fe1b791de46e63bL, |
4214 | | 0x45b8bf5e657b1b03L } }, |
4215 | | /* 62 */ |
4216 | | { { 0x8ff7204538446503L,0x9de88cabdb467f46L,0x6e98df586a790728L, |
4217 | | 0x1e7300439babedacL }, |
4218 | | { 0x7de951828fdd9e50L,0x5bc6df866360db7cL,0x2d603e28e61397e9L, |
4219 | | 0x3b03c6a12e564f8fL } }, |
4220 | | /* 63 */ |
4221 | | { { 0xb1ccda1bcb864301L,0xa0fd1edac2df2becL,0xd08dcf732ba5dfc0L, |
4222 | | 0x86e4e54c4d11ab86L }, |
4223 | | { 0x925999e61a610213L,0x7566b7c3793cc32aL,0x6ccc08654ae87f34L, |
4224 | | 0x675e11437c772043L } }, |
4225 | | }; |
4226 | | |
4227 | | /* Multiply the base point of P256 by the scalar and return the result. |
4228 | | * If map is true then convert result to affine coordinates. |
4229 | | * |
4230 | | * Stripe implementation. |
4231 | | * Pre-generated: 2^0, 2^42, ... |
4232 | | * Pre-generated: products of all combinations of above. |
4233 | | * 6 doubles and adds (with qz=1) |
4234 | | * |
4235 | | * r Resulting point. |
4236 | | * k Scalar to multiply by. |
4237 | | * map Indicates whether to convert result to affine. |
4238 | | * ct Constant time required. |
4239 | | * heap Heap to use for allocation. |
4240 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
4241 | | */ |
4242 | | static int sp_256_ecc_mulmod_base_sm2_4(sp_point_256* r, const sp_digit* k, |
4243 | | int map, int ct, void* heap) |
4244 | | { |
4245 | | return sp_256_ecc_mulmod_stripe_sm2_4(r, &p256_sm2_base, p256_sm2_table, |
4246 | | k, map, ct, heap); |
4247 | | } |
4248 | | |
4249 | | #ifdef HAVE_INTEL_AVX2 |
4250 | | /* Multiply the base point of P256 by the scalar and return the result. |
4251 | | * If map is true then convert result to affine coordinates. |
4252 | | * |
4253 | | * Stripe implementation. |
4254 | | * Pre-generated: 2^0, 2^42, ... |
4255 | | * Pre-generated: products of all combinations of above. |
4256 | | * 6 doubles and adds (with qz=1) |
4257 | | * |
4258 | | * r Resulting point. |
4259 | | * k Scalar to multiply by. |
4260 | | * map Indicates whether to convert result to affine. |
4261 | | * ct Constant time required. |
4262 | | * heap Heap to use for allocation. |
4263 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
4264 | | */ |
4265 | | static int sp_256_ecc_mulmod_base_avx2_sm2_4(sp_point_256* r, const sp_digit* k, |
4266 | | int map, int ct, void* heap) |
4267 | | { |
4268 | | return sp_256_ecc_mulmod_stripe_avx2_sm2_4(r, &p256_sm2_base, p256_sm2_table, |
4269 | | k, map, ct, heap); |
4270 | | } |
4271 | | |
4272 | | #endif /* HAVE_INTEL_AVX2 */ |
4273 | | #else /* WOLFSSL_SP_SMALL */ |
4274 | | /* The index into pre-computation table to use. */ |
4275 | | static const word8 recode_index_4_7[130] = { |
4276 | | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
4277 | | 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
4278 | | 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, |
4279 | | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, |
4280 | | 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, |
4281 | | 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, |
4282 | | 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, |
4283 | | 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, |
4284 | | 0, 1, |
4285 | | }; |
4286 | | |
4287 | | /* Whether to negate y-ordinate. */ |
4288 | | static const word8 recode_neg_4_7[130] = { |
4289 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
4290 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
4291 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
4292 | | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
4293 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
4294 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
4295 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
4296 | | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
4297 | | 0, 0, |
4298 | | }; |
4299 | | |
4300 | | /* Recode the scalar for multiplication using pre-computed values and |
4301 | | * subtraction. |
4302 | | * |
4303 | | * k Scalar to multiply by. |
4304 | | * v Vector of operations to perform. |
4305 | | */ |
4306 | | static void sp_256_ecc_recode_7_4(const sp_digit* k, ecc_recode_256* v) |
4307 | 0 | { |
4308 | 0 | int i; |
4309 | 0 | int j; |
4310 | 0 | word8 y; |
4311 | 0 | int carry = 0; |
4312 | 0 | int o; |
4313 | 0 | sp_digit n; |
4314 | |
|
4315 | 0 | j = 0; |
4316 | 0 | n = k[j]; |
4317 | 0 | o = 0; |
4318 | 0 | for (i=0; i<37; i++) { |
4319 | 0 | y = (word8)(int8_t)n; |
4320 | 0 | if (o + 7 < 64) { |
4321 | 0 | y &= 0x7f; |
4322 | 0 | n >>= 7; |
4323 | 0 | o += 7; |
4324 | 0 | } |
4325 | 0 | else if (o + 7 == 64) { |
4326 | 0 | n >>= 7; |
4327 | 0 | if (++j < 4) |
4328 | 0 | n = k[j]; |
4329 | 0 | o = 0; |
4330 | 0 | } |
4331 | 0 | else if (++j < 4) { |
4332 | 0 | n = k[j]; |
4333 | 0 | y |= (word8)((n << (64 - o)) & 0x7f); |
4334 | 0 | o -= 57; |
4335 | 0 | n >>= o; |
4336 | 0 | } |
4337 | |
|
4338 | 0 | y = (word8)(y + carry); |
4339 | 0 | v[i].i = recode_index_4_7[y]; |
4340 | 0 | v[i].neg = recode_neg_4_7[y]; |
4341 | 0 | carry = (y >> 7) + v[i].neg; |
4342 | 0 | } |
4343 | 0 | } |
4344 | | |
4345 | | #ifdef __cplusplus |
4346 | | extern "C" { |
4347 | | #endif |
4348 | | extern void sp_256_get_entry_65_sm2_4(sp_point_256* r, const sp_table_entry_256* table, int idx); |
4349 | | #ifdef __cplusplus |
4350 | | } |
4351 | | #endif |
4352 | | #ifdef __cplusplus |
4353 | | extern "C" { |
4354 | | #endif |
4355 | | extern void sp_256_get_entry_65_avx2_sm2_4(sp_point_256* r, const sp_table_entry_256* table, int idx); |
4356 | | #ifdef __cplusplus |
4357 | | } |
4358 | | #endif |
4359 | | static const sp_table_entry_256 p256_sm2_table[2405] = { |
4360 | | /* 0 << 0 */ |
4361 | | { { 0x00, 0x00, 0x00, 0x00 }, |
4362 | | { 0x00, 0x00, 0x00, 0x00 } }, |
4363 | | /* 1 << 0 */ |
4364 | | { { 0x61328990f418029eL,0x3e7981eddca6c050L,0xd6a1ed99ac24c3c3L, |
4365 | | 0x91167a5ee1c13b05L }, |
4366 | | { 0xc1354e593c2d0dddL,0xc1f5e5788d3295faL,0x8d4cfb066e2a48f8L, |
4367 | | 0x63cd65d481d735bdL } }, |
4368 | | /* 2 << 0 */ |
4369 | | { { 0x0af037bfbc3be46aL,0x83bdc9ba2d8fa938L,0x5349d94b5788cd24L, |
4370 | | 0x0d7e9c18caa5736aL }, |
4371 | | { 0x6a7e1a1d69db9ac1L,0xccbd8d37c4a8e82bL,0xc7b145169b7157acL, |
4372 | | 0x947e74656c21bdf5L } }, |
4373 | | /* 3 << 0 */ |
4374 | | { { 0x1cda54fdab589e4aL,0x26765289db4f0a0dL,0x0a265a308ceb4a0aL, |
4375 | | 0x3019fd6bfe887c64L }, |
4376 | | { 0x0a10fbe94b2fc190L,0xf40aa52b87cbce60L,0xcc496bfa6dc13c97L, |
4377 | | 0x28ad34785bb3fbb4L } }, |
4378 | | /* 4 << 0 */ |
4379 | | { { 0x393f7c5a98615060L,0x487ea27fe9016209L,0x8a86bcb4a09f9020L, |
4380 | | 0x50dc8e3ac899dbe1L }, |
4381 | | { 0xfc099043fd619998L,0x1de135ea7c7383bdL,0x4d0bd55632cf70edL, |
4382 | | 0x6ffc31c525bce9e3L } }, |
4383 | | /* 5 << 0 */ |
4384 | | { { 0x9a5756336a9c8162L,0x15aa58f221dfcc53L,0x7ad354bf1ef5f4c5L, |
4385 | | 0x0f443ef363f875b9L }, |
4386 | | { 0x2e81d68fd3450133L,0xb30f4bbde3607d18L,0xb1826a4c362258efL, |
4387 | | 0x7b415276142a6768L } }, |
4388 | | /* 6 << 0 */ |
4389 | | { { 0x136a9c4c0acd72baL,0xb1274a255e7ec73cL,0xf15a876e5de34db6L, |
4390 | | 0x85e74ca08cba8047L }, |
4391 | | { 0x08454cddb469eb37L,0x8fbf6d1fc99754f8L,0x1060e7f8ec30e984L, |
4392 | | 0xb568bc974b8c598aL } }, |
4393 | | /* 7 << 0 */ |
4394 | | { { 0xaa3531c781f06784L,0x0b89419307132520L,0x84ee5b69acfe18c5L, |
4395 | | 0xbbf492e0d9fbec28L }, |
4396 | | { 0x313a35c1e5f6186dL,0x0e449a2e757a01b8L,0x96c9b9922bd99bafL, |
4397 | | 0x2ba05a8f3b84d777L } }, |
4398 | | /* 8 << 0 */ |
4399 | | { { 0xde523a1c09122670L,0x90be6f2a22cc810cL,0x086e63414387df9eL, |
4400 | | 0x115c2fc0d9c44134L }, |
4401 | | { 0x9334430d8799302aL,0x693b3500e27b7ea4L,0xcbe1136f9a8f3382L, |
4402 | | 0xe77fd5f2b5778247L } }, |
4403 | | /* 9 << 0 */ |
4404 | | { { 0x98e795c330fbde86L,0x8e5e0495ab21af8fL,0x3925bf83b48669b4L, |
4405 | | 0x77d88740469522c8L }, |
4406 | | { 0x8fbf8b5b987b04ceL,0x63c563a83aff4428L,0x5dc1116553a6e969L, |
4407 | | 0x822a6c2432697f4cL } }, |
4408 | | /* 10 << 0 */ |
4409 | | { { 0x6774298a642cb143L,0xecdb60d82d110e71L,0xe810b11b1388728eL, |
4410 | | 0x2e8237d8d8603a8aL }, |
4411 | | { 0x673968fc50aeeae1L,0x08c65d196746a3f4L,0x7a61a6b5d7dd7165L, |
4412 | | 0xe31bbfd9a9b6df3aL } }, |
4413 | | /* 11 << 0 */ |
4414 | | { { 0x2b252ad03421e115L,0x7557c8c7c6affc01L,0xd90c19fd8a509267L, |
4415 | | 0x483da168e0d871c8L }, |
4416 | | { 0x72d6f9b3c10729bfL,0x5dd8402115b7061eL,0x9bfea2db9f2c587dL, |
4417 | | 0x528398a798641ec2L } }, |
4418 | | /* 12 << 0 */ |
4419 | | { { 0x18a65d8df3afdd62L,0x89f38500d6d7e4e4L,0x65708c6a9d8d4f07L, |
4420 | | 0xb90ea13cd0bdc7f4L }, |
4421 | | { 0x589858558c3e2b32L,0xfa48d5c5bcfad3a1L,0x5c3544e762385ffaL, |
4422 | | 0xb6bd39ed7e72aeb7L } }, |
4423 | | /* 13 << 0 */ |
4424 | | { { 0x34e51c6a8000fe4eL,0x7da2bdfd89c46941L,0x667ba91de1bc2b2eL, |
4425 | | 0x3c80c9d010a73e5cL }, |
4426 | | { 0x4fadebbec7f5c64dL,0xaef09eb43ea35052L,0x167ee11b26ec55f9L, |
4427 | | 0x45fa508a85189260L } }, |
4428 | | /* 14 << 0 */ |
4429 | | { { 0xa0e9a43922542fc3L,0x3f194a6cddac78dcL,0xa75ae72d6f74d053L, |
4430 | | 0x0f8babeb097c6617L }, |
4431 | | { 0x1d12bc5c4303c247L,0xfe0c027abd1e246cL,0xe9ca1a99b69b55adL, |
4432 | | 0xff6cd2b0117cd63aL } }, |
4433 | | /* 15 << 0 */ |
4434 | | { { 0xf3489343dde97d4dL,0x9c14e38abbb2ce1fL,0x25866911cfddf221L, |
4435 | | 0x0df89411460efef1L }, |
4436 | | { 0xf713f30e73ae8326L,0xd9be66a8cdd274a1L,0xdf915ae236885947L, |
4437 | | 0x2c5c1e9e7878b781L } }, |
4438 | | /* 16 << 0 */ |
4439 | | { { 0xf71560c939e8a120L,0x7121d6b87273b59aL,0x649535ce8ef4639dL, |
4440 | | 0xcd01076e14cc6d58L }, |
4441 | | { 0x2705729a96e74f8aL,0xb07e32305533037eL,0x0846dcc1663c5c62L, |
4442 | | 0x6a4759c110fc3ac1L } }, |
4443 | | /* 17 << 0 */ |
4444 | | { { 0x3c126193cfbdfeffL,0x4a31dd204996d845L,0x48a76ba019f2b658L, |
4445 | | 0xbe3301428890a8bcL }, |
4446 | | { 0x287b34e1308aa041L,0xcbf5da24813adf29L,0xcdfc5a58cdcdc439L, |
4447 | | 0xbda3bda2198a6075L } }, |
4448 | | /* 18 << 0 */ |
4449 | | { { 0x639f92bc1497fe38L,0x8ed8eeacd58bd278L,0xcf5d7ce6b417bfe4L, |
4450 | | 0xf617c54e44400c59L }, |
4451 | | { 0xde6356357d8dc939L,0x2e6a3a75241baaffL,0x02f324e5e07e8e97L, |
4452 | | 0xeb71548770f9fc9dL } }, |
4453 | | /* 19 << 0 */ |
4454 | | { { 0xbefd338086712116L,0x9b9e9707884efe46L,0x611a1eec8c9e513fL, |
4455 | | 0xe2d8e3f53b6dbcecL }, |
4456 | | { 0x7cedab1c4f8964e4L,0xee12d062f4e139f8L,0x8e63c9c09a9af4f3L, |
4457 | | 0xe3246dbb8b907b23L } }, |
4458 | | /* 20 << 0 */ |
4459 | | { { 0x70d5bda271099001L,0x3d876d4a15fae7ddL,0xaba0500f7b69c20eL, |
4460 | | 0xa8e3e0949834adf2L }, |
4461 | | { 0x69db851b980b21b9L,0x274c1de2788c2a30L,0x5caa5336d47d153dL, |
4462 | | 0xada6987757cef318L } }, |
4463 | | /* 21 << 0 */ |
4464 | | { { 0x83879486a0551c80L,0x1611dea0658e61beL,0x1fe95c821b935068L, |
4465 | | 0x8f01e0195b229223L }, |
4466 | | { 0x23017e057e93c389L,0xce4ac99d9840dd64L,0xddc9b9001de86399L, |
4467 | | 0x6abe5cc388015785L } }, |
4468 | | /* 22 << 0 */ |
4469 | | { { 0xc09545a9b3c50898L,0xbd4433616c05d902L,0xed71f70c2c6bcc8cL, |
4470 | | 0x8dbc0b88bdf8e908L }, |
4471 | | { 0x56eb5b984fcbcd9aL,0xafb6fedc08114397L,0x0500ce5bb35f7927L, |
4472 | | 0x7005bcf995efe710L } }, |
4473 | | /* 23 << 0 */ |
4474 | | { { 0x125cbed22eba7f39L,0xc7c42e766c488d44L,0xdb8991f9676915c4L, |
4475 | | 0xdf6ae5949183839fL }, |
4476 | | { 0x4f69c304c79f8bd1L,0x638cb070aa1662faL,0xc7f68c72ba6f2599L, |
4477 | | 0x11bb84d91f6edfa9L } }, |
4478 | | /* 24 << 0 */ |
4479 | | { { 0x9ed156eca215fda2L,0x19de7a9120c5ddb6L,0xc1ed949d0668c65dL, |
4480 | | 0x96683044d0826f6aL }, |
4481 | | { 0x1e6325e01adaa8ffL,0xbc53bc2407ac392aL,0x2c342db5d9f06e44L, |
4482 | | 0x3f52938530db8c1aL } }, |
4483 | | /* 25 << 0 */ |
4484 | | { { 0xc5957d29e7492326L,0x3addc3df0663f829L,0x8faa3169728cfdc1L, |
4485 | | 0xde53aa7c6b975134L }, |
4486 | | { 0xf481759befddc764L,0xd605474b09edaff3L,0xc7df1eb9653d48c9L, |
4487 | | 0xa71e6854c5040212L } }, |
4488 | | /* 26 << 0 */ |
4489 | | { { 0x136d8342afe945b5L,0x91707e7de9d239c7L,0xeda23dc5fb2e80deL, |
4490 | | 0x892bed73ff614966L }, |
4491 | | { 0x2ded2367838dc12dL,0x73fd298cb002bd9cL,0xc548b4262c4629dfL, |
4492 | | 0x93605d178f7e03b7L } }, |
4493 | | /* 27 << 0 */ |
4494 | | { { 0x32861816d37c24ccL,0x5bb54ee2e427975aL,0x6da013d232f943a9L, |
4495 | | 0x0746a77a9bc202e5L }, |
4496 | | { 0x6db07a84cd1def5bL,0x9421fe7f861d9f9bL,0x71767292692181fbL, |
4497 | | 0x0560e7e5c9d2441dL } }, |
4498 | | /* 28 << 0 */ |
4499 | | { { 0xf1496afd4d7e922aL,0x67f42a3fe11fa533L,0x9f903e5b977956cdL, |
4500 | | 0x37671e241eb49608L }, |
4501 | | { 0x967950a021fb2047L,0x141f96fb35da3c6bL,0xe07c3c40d27bba59L, |
4502 | | 0xbde5ed1d0e1af754L } }, |
4503 | | /* 29 << 0 */ |
4504 | | { { 0xdc64c4b054f1f257L,0xecb033c8b01196dcL,0x54e65f4d8202d5bdL, |
4505 | | 0x63afcc932b2fd451L }, |
4506 | | { 0x1e929a3930640fb7L,0xdc91387e5b361718L,0x10aadecbf8f0bbe8L, |
4507 | | 0x81d8f4660977e2bbL } }, |
4508 | | /* 30 << 0 */ |
4509 | | { { 0xdcaa3790bd64cd96L,0xbc8ac152cee698d3L,0xde7192f7a1143c45L, |
4510 | | 0xf7c9d826f5fb9ea0L }, |
4511 | | { 0x54aea92ec9468f50L,0x340f4459cc427ed4L,0x3fec5be902ad5467L, |
4512 | | 0xec780d9c2cc6c8b5L } }, |
4513 | | /* 31 << 0 */ |
4514 | | { { 0x7b179a8bb889c78aL,0x069a7ab90aca32c5L,0xe4e5215e591b9a36L, |
4515 | | 0x7802fb3e3bd54630L }, |
4516 | | { 0x9a479313233c6eebL,0x18c612ad4e1cbabcL,0x28a29273c0e36f3bL, |
4517 | | 0xf4e2dfb17d3deb26L } }, |
4518 | | /* 32 << 0 */ |
4519 | | { { 0xa6c11369adbb3c8bL,0xd78af40b4c8ec378L,0xffb3a80d03f0a982L, |
4520 | | 0x550e3e71a83be50aL }, |
4521 | | { 0x845c0fb2418ee45bL,0x5297cf430791b964L,0x676b638ccc47e33bL, |
4522 | | 0xb1c52facfecf85b2L } }, |
4523 | | /* 33 << 0 */ |
4524 | | { { 0xf011b5e53dba2c0eL,0xa6c68448026d4f11L,0x11596db3c3f206fbL, |
4525 | | 0xc91c76dc29414a3cL }, |
4526 | | { 0x1839b9d1b94ddc7cL,0xdfb20ce756ae8610L,0x3e2b1cd9d8734400L, |
4527 | | 0x59f9329af01ea540L } }, |
4528 | | /* 34 << 0 */ |
4529 | | { { 0x7d4c140c2351a2a9L,0x575c1e1bbf4c9823L,0x8f11c2ca31068df9L, |
4530 | | 0xe3c17aa005e6def0L }, |
4531 | | { 0xe6281c70501c8630L,0xad240917c88a412eL,0x6f21bfb7390492d7L, |
4532 | | 0x61ea1385c3a3ccb7L } }, |
4533 | | /* 35 << 0 */ |
4534 | | { { 0x60494a8333733cbcL,0x8da622a027ed8157L,0x0022b1540471ad90L, |
4535 | | 0x3bd0a4c5d3568003L }, |
4536 | | { 0xdc8e2d03d932df23L,0x859ed9407a1f5159L,0xad670e632a375b0fL, |
4537 | | 0x15922fae9520db97L } }, |
4538 | | /* 36 << 0 */ |
4539 | | { { 0xfb73d16f59eb1a9bL,0x3ee8cc1f8511e541L,0x20d72d591590c321L, |
4540 | | 0x62eab5663bd075d4L }, |
4541 | | { 0xac07a7c7fae123abL,0x83b89abf1f10af6eL,0x469962ec1da8ac5dL, |
4542 | | 0x09761c358c58c3b3L } }, |
4543 | | /* 37 << 0 */ |
4544 | | { { 0x2c086d5e7da90fc9L,0x458e5ffd5cc27782L,0xc3f48611b9268939L, |
4545 | | 0x39fed873de4b9110L }, |
4546 | | { 0x16ef8f78fda698ccL,0xb028dc21a973bb50L,0x45eb849ee29b725bL, |
4547 | | 0xd41b5b6d14c6eae9L } }, |
4548 | | /* 38 << 0 */ |
4549 | | { { 0x5e931b21c55d5720L,0xb628ccb2a0e40b19L,0x42044ffe000651a5L, |
4550 | | 0x2130b4de076544e7L }, |
4551 | | { 0x384285943677c70fL,0xfdcdb038f8945d86L,0xfb2e3d4c4169ae44L, |
4552 | | 0xd4695e9b0d13bce2L } }, |
4553 | | /* 39 << 0 */ |
4554 | | { { 0x45191390039d646dL,0x983b7a2eb12ba339L,0xdfd30d3e5923e7d6L, |
4555 | | 0xae3590f0ba9d206aL }, |
4556 | | { 0x7d58d334b6d5e62aL,0xb15b05447e402b12L,0xac57e11362ae8e01L, |
4557 | | 0x4d83804cf473edeeL } }, |
4558 | | /* 40 << 0 */ |
4559 | | { { 0x2faa7c4dc81bc828L,0xb16ed9d7fb62561fL,0x4c9da27049c2fa93L, |
4560 | | 0x3b014c73b311d90dL }, |
4561 | | { 0xd29c5d65f5443332L,0xb6457d54eebdb7c2L,0xc6a0bf3a4cce9480L, |
4562 | | 0xd434a3b085355854L } }, |
4563 | | /* 41 << 0 */ |
4564 | | { { 0x178ca01b8b2c703cL,0x605bba530ab71a51L,0x2140948e3db948d5L, |
4565 | | 0xc45b26895fb6b8c1L }, |
4566 | | { 0x421f66def17b47bdL,0x57627a5a2e9b3ee5L,0xedf3920a66614339L, |
4567 | | 0x7ea619034b638a46L } }, |
4568 | | /* 42 << 0 */ |
4569 | | { { 0x7203d5423c030643L,0x7112bb3d5e631461L,0x2604eac72bc3da9cL, |
4570 | | 0x2e4964e732d2541bL }, |
4571 | | { 0x940faf46e8b6482aL,0x8f772fcb24d27c9eL,0x125c34d7ca7c5f88L, |
4572 | | 0x9903eadbd1f47795L } }, |
4573 | | /* 43 << 0 */ |
4574 | | { { 0x11aaa417e2147129L,0x3ccef5c2f88a0a30L,0x78d5207a90283f97L, |
4575 | | 0xba1261e9d25226b6L }, |
4576 | | { 0xbfc79248d1e7a01cL,0x373f1cd5941ab2bdL,0xf0881e2119a0668bL, |
4577 | | 0x7b7937891f77bf0aL } }, |
4578 | | /* 44 << 0 */ |
4579 | | { { 0x49c2769b63d4523dL,0xf8df2cbaf0399eafL,0x5ae94c6922a2a74dL, |
4580 | | 0xd08f8d45efd1e193L }, |
4581 | | { 0x64341fc4c681f376L,0x3a8e25c8ec918711L,0xdf35304d0608f50fL, |
4582 | | 0x9b4c69679a973742L } }, |
4583 | | /* 45 << 0 */ |
4584 | | { { 0xb5c1f5d3bfba043bL,0xaff4f896e975f03bL,0xea1f39bdae2cbb01L, |
4585 | | 0x4cc1c4cba62915ffL }, |
4586 | | { 0x5eb4afa389e943b8L,0x8c4d27e5154e565aL,0x4e2e5a7e7f2bced6L, |
4587 | | 0x7af408e24487f6a3L } }, |
4588 | | /* 46 << 0 */ |
4589 | | { { 0xe5dacbae97a60de7L,0x9774834c4401b0adL,0x7683bb008a9113f9L, |
4590 | | 0xc6fe7e8b42b2ba67L }, |
4591 | | { 0xc0c0564d54e760c8L,0xf7b05401118606c2L,0x554a9b0fec3cd7b9L, |
4592 | | 0xce75ecfb27916a21L } }, |
4593 | | /* 47 << 0 */ |
4594 | | { { 0xf663899712118abdL,0x2ba6e754097da3a7L,0x1df820850fdf9985L, |
4595 | | 0xbf73502a546c864aL }, |
4596 | | { 0xdfde9323c02d9ce0L,0x580491e2e4dd0e7dL,0xe71522d2ae43b9b4L, |
4597 | | 0x876e36276a231a41L } }, |
4598 | | /* 48 << 0 */ |
4599 | | { { 0xfa8ff511b36362ecL,0x11c5a9f634085959L,0x272b86f29770c62bL, |
4600 | | 0xf06262257c7e8827L }, |
4601 | | { 0x929168bfea1e13ebL,0xdb892971ce59b0f5L,0x6769e31d4f826f34L, |
4602 | | 0xfa1dd9340a955cecL } }, |
4603 | | /* 49 << 0 */ |
4604 | | { { 0x123d9ca2a294d7eaL,0x8699063b4492569bL,0x6a50eae9a8dd86c3L, |
4605 | | 0x3d757d1012c06c38L }, |
4606 | | { 0x5a92c2c03e41e556L,0xa64595eb6330c21aL,0x70d8141ae184d925L, |
4607 | | 0x8543f2cea2f10304L } }, |
4608 | | /* 50 << 0 */ |
4609 | | { { 0x4559b0a29eaca504L,0xb9843a4b2617bc9bL,0x5b28d4ee1b641003L, |
4610 | | 0x3e9af8e14ced538aL }, |
4611 | | { 0x3790fe897bdf7dc2L,0xc7c74941c32549eeL,0xdcc8295babcd2f42L, |
4612 | | 0x48b29a4fead078b6L } }, |
4613 | | /* 51 << 0 */ |
4614 | | { { 0x8e8b28e32040178eL,0xceff8f3e971725fcL,0x4a97b6fafcee2cc1L, |
4615 | | 0x775df6a9bac85b56L }, |
4616 | | { 0x32e5cbe6d28a21ccL,0xe8b86adaae2b82dbL,0x44dfbb5086e38e96L, |
4617 | | 0x45d3fe7d1afc2d4bL } }, |
4618 | | /* 52 << 0 */ |
4619 | | { { 0x838b356ed23f620dL,0x2e8fa8ac4592fe4bL,0x1396e1b33af5b1d8L, |
4620 | | 0x9c0c2ef3cbf50fb0L }, |
4621 | | { 0xd9efb6c9836e93e9L,0xe6eb58700899163fL,0x3a2f6d77dca00d1bL, |
4622 | | 0x36f55f89b40ba0d6L } }, |
4623 | | /* 53 << 0 */ |
4624 | | { { 0xf3b1701f32866e57L,0xf076847359de0f2eL,0xe55d7aedab57962dL, |
4625 | | 0x450049852b60cabbL }, |
4626 | | { 0x8d539d6ed5498888L,0x176ce1a0a5e0ff6aL,0xcb7c15efdc088c50L, |
4627 | | 0x90393d7ac9a9ae2fL } }, |
4628 | | /* 54 << 0 */ |
4629 | | { { 0xd9c1a140d396bdceL,0x4215b78b6fb2800fL,0x8939109f2f76b0dfL, |
4630 | | 0x0f2508972adb40a8L }, |
4631 | | { 0x4db0007c3a86e009L,0x6ef0ad95f968a635L,0x58a82d4b8eaefa78L, |
4632 | | 0xe8a181cb493604a4L } }, |
4633 | | /* 55 << 0 */ |
4634 | | { { 0x36c84e34520d216dL,0x2b2ef6b5c666171cL,0x9469b91f2ce29d37L, |
4635 | | 0x3ecd84e7c15f20aaL }, |
4636 | | { 0xf1090635292edd2cL,0x6d4393627c3447f6L,0x51b9a0a93eea3fdfL, |
4637 | | 0x68e0d1f89e57e450L } }, |
4638 | | /* 56 << 0 */ |
4639 | | { { 0x25d249d57380931eL,0x87f03fad2011a45bL,0x89df0324efde1ca3L, |
4640 | | 0x52ae43cd9a9b4330L }, |
4641 | | { 0xfe48bc64a1867c1bL,0xdd874f669866920eL,0x6942a7e4fcf50251L, |
4642 | | 0xf5c100489c5f6298L } }, |
4643 | | /* 57 << 0 */ |
4644 | | { { 0x305183eb00973d66L,0x1ce6676095baf07cL,0x74c9d97174822e13L, |
4645 | | 0x2ccd7fbb76b5e6efL }, |
4646 | | { 0x51688b49a3e1ca18L,0x1beb5bbba603f2f1L,0x09a231d1962534b6L, |
4647 | | 0x70417ce1afa92f75L } }, |
4648 | | /* 58 << 0 */ |
4649 | | { { 0xb86b6d82e154bc00L,0x5a0b19e8895483e5L,0xb15f6c05a0ff1e44L, |
4650 | | 0x2938b88afdd8615dL }, |
4651 | | { 0x81800a05971615c3L,0x6be6d56bc03d2039L,0xff3e57d2c476ce64L, |
4652 | | 0x5b509b7b6f583ee8L } }, |
4653 | | /* 59 << 0 */ |
4654 | | { { 0x1d92c36c7c1f5d3bL,0x1e60b19be11df757L,0x20261501e37e36f6L, |
4655 | | 0xb68a9aaa29bc86e3L }, |
4656 | | { 0xfba81eaaf61d23caL,0x63440834d5adaa18L,0xa80d76eda5f93bb8L, |
4657 | | 0x3264283d5a728480L } }, |
4658 | | /* 60 << 0 */ |
4659 | | { { 0xd6171111e4b8c48eL,0x3ee227a1de557ccaL,0x2bebc09a3cb59841L, |
4660 | | 0x2f8047fe99bf6205L }, |
4661 | | { 0xb78b243e4c43845fL,0x484ac18346d3b5e0L,0xa07be4760314524dL, |
4662 | | 0xc0a3aa351ab4c447L } }, |
4663 | | /* 61 << 0 */ |
4664 | | { { 0x2f302d589c341f84L,0x264911a784f130baL,0x30bed4083ee64343L, |
4665 | | 0xd7d6e92d5dc5868aL }, |
4666 | | { 0x9207456880adb3fbL,0x005ab33ca133123eL,0x105119fd42e1da50L, |
4667 | | 0x6987117db7f6b1e8L } }, |
4668 | | /* 62 << 0 */ |
4669 | | { { 0xa2315af3c2bccb7aL,0x95ddd3ee8672c98aL,0xa90326455f48f607L, |
4670 | | 0x76861e62c5273603L }, |
4671 | | { 0x71aaa35f88817217L,0x57e95b6c2892afacL,0xf65e909b9e84c791L, |
4672 | | 0x257bcc2daa52f3b1L } }, |
4673 | | /* 63 << 0 */ |
4674 | | { { 0xd5f6110a865c665aL,0xddc3afe130c08b4cL,0x4df3d04aefec26fcL, |
4675 | | 0xf229bddfb035af5dL }, |
4676 | | { 0x364913cfd191b439L,0xf41b8f6d5a7fa8a4L,0x677cc51b6f6c1219L, |
4677 | | 0x593afe4a148b7f64L } }, |
4678 | | /* 64 << 0 */ |
4679 | | { { 0x80ffa5ae0d038ad4L,0xf44d3df336256c8fL,0x0a3077c8bc978dceL, |
4680 | | 0xf3d9b4b0745b8317L }, |
4681 | | { 0x8bbf4484b6b1852cL,0x0cd02ed40e78ff07L,0x91cb827e49c24238L, |
4682 | | 0x58adaee5daa3cb55L } }, |
4683 | | /* 0 << 7 */ |
4684 | | { { 0x00, 0x00, 0x00, 0x00 }, |
4685 | | { 0x00, 0x00, 0x00, 0x00 } }, |
4686 | | /* 1 << 7 */ |
4687 | | { { 0x07e6ce4d033fc12aL,0xba4f98a14886f316L,0xb24b38f3e66f3f11L, |
4688 | | 0xe3f6205a5ea4bde3L }, |
4689 | | { 0x00705387a77b998fL,0x2c9b44579549f3b1L,0xdef6625b533a61d6L, |
4690 | | 0x4eda7e2a7e4f781aL } }, |
4691 | | /* 2 << 7 */ |
4692 | | { { 0xe9730aaafd120134L,0xb22b9089c057309cL,0x98e7956584726ce7L, |
4693 | | 0x0e1431a0d635a584L }, |
4694 | | { 0xbd387023e834ffa6L,0x64198ddf036ab1aeL,0x46e5ebb19124b684L, |
4695 | | 0xa316fa44233b3c6dL } }, |
4696 | | /* 3 << 7 */ |
4697 | | { { 0xec2a932584782513L,0xd67c8ab72903d20bL,0x6b65b262157f9aeeL, |
4698 | | 0x547be60c69f964a2L }, |
4699 | | { 0x001bf327ee0419dbL,0x92fa0800f20c7005L,0x1e11e745cdc1ccdaL, |
4700 | | 0xa785ec10e471f822L } }, |
4701 | | /* 4 << 7 */ |
4702 | | { { 0xbc970210a1371aa4L,0xaff481a054b5424eL,0xbcdf91fd0e64269bL, |
4703 | | 0x18bb37bbb02fc7cfL }, |
4704 | | { 0xd99edd796f69d439L,0x4e27a58f169514b2L,0x80eca1ca66e19ae4L, |
4705 | | 0x0470e9650788696dL } }, |
4706 | | /* 5 << 7 */ |
4707 | | { { 0xa6b1992f8c9d34f6L,0xaf062ffea5ed969eL,0xbca2580d3a6d7ae2L, |
4708 | | 0xf30cd9e6c8999158L }, |
4709 | | { 0x93e5789749d1ab0dL,0xcfa3aa4d30214280L,0x0ca8b4fd0a814831L, |
4710 | | 0xdad179db0b10097cL } }, |
4711 | | /* 6 << 7 */ |
4712 | | { { 0x63778bfc3dfdc228L,0xc0bae0adb9648a36L,0xda8cb8ab015a99b5L, |
4713 | | 0xb045cccb8366b58aL }, |
4714 | | { 0x74ef8ef44164cebdL,0x41e71fc8c5e00e5fL,0x753cf9064479468eL, |
4715 | | 0x78b5223f332ea72dL } }, |
4716 | | /* 7 << 7 */ |
4717 | | { { 0x8fc3e370ddebafa2L,0x15ffcce0351f9f04L,0x3fbd5f5c45b0efdcL, |
4718 | | 0xb82166230fe3b460L }, |
4719 | | { 0xe8322fbd533c7db6L,0xf3866d1500a243ffL,0xf1194ae2a0e5aaeaL, |
4720 | | 0x3e93eb01b9287b3dL } }, |
4721 | | /* 8 << 7 */ |
4722 | | { { 0x528a9e2f5876d6e8L,0x93c48f85d2b622d7L,0x88d9eac83e5411d7L, |
4723 | | 0xb7e4a6ba00a70e91L }, |
4724 | | { 0xaf18e5baf1c43b2eL,0x46578c7ea2f347deL,0x19ca736df009638fL, |
4725 | | 0xa6563f1ebd1acd29L } }, |
4726 | | /* 9 << 7 */ |
4727 | | { { 0xdf9bcd3a2f4126e7L,0xecc22d13d62efebdL,0xd9b29b4b10943242L, |
4728 | | 0x499ffa74670136f9L }, |
4729 | | { 0xa2a9ad2c2b889952L,0x945f306efd132dadL,0xfd05b88415cebfd7L, |
4730 | | 0x653e70afc7a5627fL } }, |
4731 | | /* 10 << 7 */ |
4732 | | { { 0xfefc54b5577dae35L,0x9d2f0546aac3a655L,0xb96bd298fac31d00L, |
4733 | | 0x3328a51cee69563dL }, |
4734 | | { 0x5e19098e43195f4eL,0x657f4ba5a998010bL,0x45f29a844047ccb6L, |
4735 | | 0x833a54436e423da6L } }, |
4736 | | /* 11 << 7 */ |
4737 | | { { 0x97e480c6ca33f42bL,0x20a5103306e52a05L,0x85e872550a9be572L, |
4738 | | 0xe8bc857ab988b582L }, |
4739 | | { 0x782495e8c183c500L,0xf33a87fdfee0ae2fL,0xf069fe20c64d1decL, |
4740 | | 0x0b6dd98af4b08816L } }, |
4741 | | /* 12 << 7 */ |
4742 | | { { 0x6e6cf29899229a90L,0xa6840bc81d71d532L,0x803e540771e3a8b7L, |
4743 | | 0xd5611ee46afd9a0eL }, |
4744 | | { 0xd739ca0ebbbefa73L,0x6082dbabc5ec48b7L,0xa0ab10dfbbdea0ecL, |
4745 | | 0xb1b7ebe4f1633e03L } }, |
4746 | | /* 13 << 7 */ |
4747 | | { { 0xfa7524967be26441L,0xf52cb1b60ef683e6L,0x1c96401f39dd611dL, |
4748 | | 0x09c5a35b7bb19083L }, |
4749 | | { 0xa2f002b800a5d5a1L,0x4e300dddacf4e8edL,0x0d26b600b4cc58c6L, |
4750 | | 0x5a53863a50062651L } }, |
4751 | | /* 14 << 7 */ |
4752 | | { { 0x62e64475ad1cac22L,0x2008653ec7e11395L,0xa875ad01d9479c4aL, |
4753 | | 0x3e6cf633804b30d1L }, |
4754 | | { 0x58b3ef6eb6b06e46L,0x74c45dbef7b8410bL,0x02675759c278458dL, |
4755 | | 0xb2ef4956acd30bd1L } }, |
4756 | | /* 15 << 7 */ |
4757 | | { { 0x1a4a5773339aae8dL,0xa775b9520c0fe175L,0x7b39ac1b5d5d5ac1L, |
4758 | | 0x3f183d4911a511b6L }, |
4759 | | { 0x9524e286045ac045L,0x0498d2964934c52fL,0x1fec54749b636528L, |
4760 | | 0xec6f7a37c3e9b84bL } }, |
4761 | | /* 16 << 7 */ |
4762 | | { { 0x870b12dd12ee579dL,0x2a9a12ab06dd62d6L,0xbcd52599071d7582L, |
4763 | | 0x7a36193aa869c457L }, |
4764 | | { 0xd29e6592e976ae5bL,0xe82c8712adfecd58L,0xbc83a440f714686dL, |
4765 | | 0xfe19344a0c21e3baL } }, |
4766 | | /* 17 << 7 */ |
4767 | | { { 0x2a32c989d7a191aeL,0x00a251634e58cacaL,0x2c6501b8e4a11597L, |
4768 | | 0xb3e45d097f1891e6L }, |
4769 | | { 0xb7f532b1659fd516L,0x99cf64dea7002930L,0x56357ed4f2cd2d4dL, |
4770 | | 0xa94cf5c53447951fL } }, |
4771 | | /* 18 << 7 */ |
4772 | | { { 0x26c7f24476a164beL,0xbd83e20ba72e974cL,0x64e9c241da31de06L, |
4773 | | 0x022bc0f01cdb203dL }, |
4774 | | { 0x5eec4fcb55c0601fL,0xa1504f91b168a484L,0xb9cf98b11243026dL, |
4775 | | 0x6a009debfb3e5a1cL } }, |
4776 | | /* 19 << 7 */ |
4777 | | { { 0xf1df375260657650L,0xa5bbd8f5cb1b8d9eL,0x9e0d944781b6af13L, |
4778 | | 0x8572cecf624cb828L }, |
4779 | | { 0x28319d57d003617aL,0x175c4766996fde09L,0x168514b204878e13L, |
4780 | | 0x58a541d7ec83a771L } }, |
4781 | | /* 20 << 7 */ |
4782 | | { { 0xafdaad3b29fb000fL,0x1977a8dec20f56f5L,0x450faf6fc5b7ba77L, |
4783 | | 0x93253964e5954518L }, |
4784 | | { 0x11ee0f31644c3385L,0x6c24de9da8a57badL,0xe8ff408c5533a7baL, |
4785 | | 0x660a74d9eace56faL } }, |
4786 | | /* 21 << 7 */ |
4787 | | { { 0xb4b2543b8cc2a866L,0x69f23f18effc0cbfL,0x0db4682a5308b9b1L, |
4788 | | 0xce7fac5317037e08L }, |
4789 | | { 0xf02098c40a885b01L,0xd375c03db2e4eb6eL,0xb6d4f6c170d4b81bL, |
4790 | | 0xa2b5e9cd7ce5f297L } }, |
4791 | | /* 22 << 7 */ |
4792 | | { { 0x787229ccb8a233c3L,0x44ef5dd83419867fL,0x00316d2279d3d8dcL, |
4793 | | 0xdcf3200390bb1410L }, |
4794 | | { 0x62ad0125835d2264L,0x768c86580ed6605cL,0xa31abf17fc44e760L, |
4795 | | 0xc91848acbb22e570L } }, |
4796 | | /* 23 << 7 */ |
4797 | | { { 0xad1882f5b16c805fL,0xb74cc0ed7ccf9e9aL,0x9635af237b122dd7L, |
4798 | | 0x48a209035c3cd11bL }, |
4799 | | { 0xa24820b634c1eb54L,0x31a3c3305284dcb3L,0xd966cf59069c2ee4L, |
4800 | | 0xa74eec6fb3ff9335L } }, |
4801 | | /* 24 << 7 */ |
4802 | | { { 0xf44eeb994620e739L,0x7663a596f4159a9aL,0x79c54f42b4b745b1L, |
4803 | | 0xa8d3493759db9482L }, |
4804 | | { 0x35fad92a579501dfL,0x1d81bbe3289d7c2bL,0x1d60a274ddf3d371L, |
4805 | | 0xf08e23e546df1233L } }, |
4806 | | /* 25 << 7 */ |
4807 | | { { 0x4bc4c079f3a95f04L,0x0b43e660a8626015L,0xedb31526246ae3acL, |
4808 | | 0xa8536eb641247209L }, |
4809 | | { 0x6893a7dffdfacc62L,0xf3de226fc557777bL,0xa68c8d8c0d7f4265L, |
4810 | | 0x55a628eb15c685e3L } }, |
4811 | | /* 26 << 7 */ |
4812 | | { { 0x8cad8f875ecec6eeL,0x4aefda2d2a06c242L,0x46a2103357f00a7dL, |
4813 | | 0x91910c3a7ed125cfL }, |
4814 | | { 0x0b7f0e4a541165d2L,0x15ed1b93553eeec1L,0xadf5b4dbd24e020bL, |
4815 | | 0xf05307a3a7493b8bL } }, |
4816 | | /* 27 << 7 */ |
4817 | | { { 0x725548dc62070042L,0x74d71526c274916aL,0x3269851e6f098d01L, |
4818 | | 0xb2e01cb7f9ec928cL }, |
4819 | | { 0x96c2d9222b4368cdL,0x8eb84b03a0ec45d1L,0x733ad06826e5b3acL, |
4820 | | 0xced3679e93c5a962L } }, |
4821 | | /* 28 << 7 */ |
4822 | | { { 0x23c6a22ddd6eb876L,0xbd98ad9aa343dc3bL,0x61933d0356054515L, |
4823 | | 0x4a64b769e45cd744L }, |
4824 | | { 0x617a63f312586de6L,0x04984a9f7976e7d1L,0xb00ba446cd2a0a6bL, |
4825 | | 0x5b64e7f57d059d46L } }, |
4826 | | /* 29 << 7 */ |
4827 | | { { 0x8801ce046a4b08e6L,0x66f31460b13bbe9cL,0xb174e8874d87114eL, |
4828 | | 0xb2fee192f348e94fL }, |
4829 | | { 0xfede22837c822d05L,0x8d50c49c8f82b14aL,0x21ea4f6e0f5f1b5dL, |
4830 | | 0x68627cf0c1818095L } }, |
4831 | | /* 30 << 7 */ |
4832 | | { { 0xc1c0650c8a7b2458L,0x82ab62bb8bbc6affL,0x7b3665d76ce6989dL, |
4833 | | 0x2ad7991f7579e973L }, |
4834 | | { 0x701287aa7e9e8510L,0xb296a0380a18da53L,0xf8c3af862bf00fdcL, |
4835 | | 0x55776951b220dc06L } }, |
4836 | | /* 31 << 7 */ |
4837 | | { { 0x4e6e4b4f7d7dd541L,0x812feac7fe5c7431L,0x6bdfa63e340297b1L, |
4838 | | 0xecc11e5598009910L }, |
4839 | | { 0xee4c6165b25b98c0L,0x8a07b0d202c5939cL,0x9b36c17623147c40L, |
4840 | | 0x396054a2de2eab3aL } }, |
4841 | | /* 32 << 7 */ |
4842 | | { { 0x1f41010b2c439171L,0x3ff85ee6e8139388L,0x4ada4c7d8f077633L, |
4843 | | 0x9976011a824e6023L }, |
4844 | | { 0xa2501197eaf49f63L,0xdff2122fd60b0c4cL,0x1a6a3abbbab3df90L, |
4845 | | 0x854bbcc6b66ffd5fL } }, |
4846 | | /* 33 << 7 */ |
4847 | | { { 0x525964a9728572c1L,0x8a4923a2fadbd14bL,0x03830df9cd90b61bL, |
4848 | | 0xcdb00f4a79c2afe9L }, |
4849 | | { 0xff2f84bba6c3f13dL,0xdee45c305c0de4ddL,0x3e1dd748fba2e933L, |
4850 | | 0xe9dcc6907c51124cL } }, |
4851 | | /* 34 << 7 */ |
4852 | | { { 0x725177af28e11f62L,0xc8e120a18a64fdf5L,0x82ab73dff24fb357L, |
4853 | | 0x2d5d161844724879L }, |
4854 | | { 0x09627e2696c66b86L,0x1d547caec81d38c1L,0xbe8991a4d0f76658L, |
4855 | | 0xf1508662cf11a976L } }, |
4856 | | /* 35 << 7 */ |
4857 | | { { 0xa5dafebd3be3e582L,0xd9f545ba07399295L,0xd9f564a4676f9598L, |
4858 | | 0xec00bddf9294431eL }, |
4859 | | { 0xc1971113c1fdc758L,0xe32f572f69a001deL,0x048d7776b907f044L, |
4860 | | 0x4a474e6e5ca10e67L } }, |
4861 | | /* 36 << 7 */ |
4862 | | { { 0x6476dd403039a4b7L,0x85de9baa018ee2b8L,0x0c945aebfd7365f2L, |
4863 | | 0x2b47dc0d96c7267eL }, |
4864 | | { 0xb12b48a70410de25L,0x3ba7a11a177242c1L,0x44e6cee76504ff87L, |
4865 | | 0xb2605ff69d19f26cL } }, |
4866 | | /* 37 << 7 */ |
4867 | | { { 0xa56bb58950fb1b6bL,0x98dc118071d2fb53L,0xa4fdc6f8a1b78e04L, |
4868 | | 0xbea745b039d9349dL }, |
4869 | | { 0xac47422962d7eb73L,0x7b7651388b808ac3L,0x882370afd0ca219fL, |
4870 | | 0x28dcff7b9d1c23e8L } }, |
4871 | | /* 38 << 7 */ |
4872 | | { { 0xc6dc70eb3872f0a9L,0xb2f21248dfb642b1L,0x86838f0f65bbdfc9L, |
4873 | | 0x1d04a8b540b28364L }, |
4874 | | { 0xd4fa229d1e4d8d58L,0x74ee5e20fad0a9cdL,0x25a59aae5a40ec4aL, |
4875 | | 0x73be91f33727d6cdL } }, |
4876 | | /* 39 << 7 */ |
4877 | | { { 0x9c31405ed63f64ebL,0x9943c34c91d2f1c1L,0x70ad75d74fcdbf34L, |
4878 | | 0xa6ce7145b239e00dL }, |
4879 | | { 0x136bceedcd04b9e9L,0xb9ebeb8d44ed7f96L,0x068b43a55d136280L, |
4880 | | 0x2e1b66244c559b6bL } }, |
4881 | | /* 40 << 7 */ |
4882 | | { { 0xe3808e725472d67bL,0x73450378ce74546eL,0xc1b1b66eea1d58f7L, |
4883 | | 0x2b576e4fe34c2a7dL }, |
4884 | | { 0xc2b1bdf72f732803L,0x37aea3909f8e48c3L,0x8bbbb61e944f1cf3L, |
4885 | | 0x5cc7ccaa86c59643L } }, |
4886 | | /* 41 << 7 */ |
4887 | | { { 0xaf4c18e38d5b000aL,0x23b0edd02b6d561cL,0x11b67ef00d6cbe27L, |
4888 | | 0x679d789bb1b50e9dL }, |
4889 | | { 0xda198336372c4015L,0x5da50baf65781ea7L,0x00b3a6d4550201baL, |
4890 | | 0x988b89f7ecfffc72L } }, |
4891 | | /* 42 << 7 */ |
4892 | | { { 0xf2f08a0925948852L,0x4036bbb7406d1a34L,0x1cd57f0823d2dd87L, |
4893 | | 0x11a4387e4704dac3L }, |
4894 | | { 0xb8091a7ac5413b59L,0xe58940c609b5fa71L,0x70fd51546a75397cL, |
4895 | | 0xea5443755c59ff75L } }, |
4896 | | /* 43 << 7 */ |
4897 | | { { 0x15e5bed3ac25bd3aL,0x1bed3c336b17971eL,0x046fc1cdbaa96968L, |
4898 | | 0xda1b010d7090256fL }, |
4899 | | { 0xeec55752e6677d20L,0x8eac5d0624c9bb42L,0xc2f6270e8f4120e0L, |
4900 | | 0xd9ae9fff07748faaL } }, |
4901 | | /* 44 << 7 */ |
4902 | | { { 0x5a1b2634e8f7b7afL,0x1fcd743d81b1612dL,0x6b065aa23d420398L, |
4903 | | 0xe758b9c741e06643L }, |
4904 | | { 0xe1e52b537f111b3bL,0xb9ee0a5d83498731L,0x49c19631ea8154f4L, |
4905 | | 0x8f5a3479e1c08746L } }, |
4906 | | /* 45 << 7 */ |
4907 | | { { 0xe032d7c165dd5561L,0x6c3420fe442bef09L,0x1d390561a64eff47L, |
4908 | | 0x0d8fbf07902763bfL }, |
4909 | | { 0x0262f26da4bc6856L,0x7c1b59a79f4f2101L,0x663d9b3851240642L, |
4910 | | 0x39a0b4c277ce53ccL } }, |
4911 | | /* 46 << 7 */ |
4912 | | { { 0x1c896beb61f5e655L,0x75c4c0499f4bfd2dL,0xb8799a1510111b02L, |
4913 | | 0xc76f8641a4c2fa0eL }, |
4914 | | { 0xd77ff7fd185fc036L,0x53212bd6f5acbd16L,0x4ef7431f0408cff8L, |
4915 | | 0x45aa9d99fb082c4bL } }, |
4916 | | /* 47 << 7 */ |
4917 | | { { 0x22c1fa8ef0438565L,0x8e3a2ee34cb43ab5L,0x457df338232081d1L, |
4918 | | 0xd1293d9b482ff47bL }, |
4919 | | { 0x802a300e68106365L,0xa8f27aa1e51978c9L,0x6ca0eddaa6a6a4d3L, |
4920 | | 0x4cab122324c9526aL } }, |
4921 | | /* 48 << 7 */ |
4922 | | { { 0x26234b2e56730245L,0x9a04c15de1b54be4L,0x153fb6cfee89282bL, |
4923 | | 0x5901ca12d79d81adL }, |
4924 | | { 0xbe6853d87c3c5ffdL,0x16d3efb535e1942aL,0x3491f2073b56beceL, |
4925 | | 0x0d75e0c15b818cfdL } }, |
4926 | | /* 49 << 7 */ |
4927 | | { { 0x79a0e31940969df4L,0x75e4632c9ae34b31L,0x4a47585c68e8df30L, |
4928 | | 0x4a4a40e42a495467L }, |
4929 | | { 0x92b8a6f52762eae9L,0xa204cd80c9a3d133L,0xa441ecfdd1ff23cfL, |
4930 | | 0xd06feb584550ee57L } }, |
4931 | | /* 50 << 7 */ |
4932 | | { { 0xe14ca6a1dc032002L,0x9a780e5705505a36L,0xad93852e08cb2b29L, |
4933 | | 0xa54deaab008b00c4L }, |
4934 | | { 0x8cd2c71ae1042350L,0x2014b85da8915596L,0x1228b3e497ddd1dcL, |
4935 | | 0xa97282ce4a3b3ab7L } }, |
4936 | | /* 51 << 7 */ |
4937 | | { { 0xd978cd730f1559adL,0x2e877fa286b14d3cL,0x01d3dc943660f189L, |
4938 | | 0x90ad950d0d2b4dddL }, |
4939 | | { 0xa8d2676092245e3eL,0xfc1bf8d54964245dL,0x31206c72ac3d97ebL, |
4940 | | 0x39dfd972a58c64cbL } }, |
4941 | | /* 52 << 7 */ |
4942 | | { { 0xd631907f7efbbd16L,0x4fdc84e2174f1fd5L,0xe81e89b35c277996L, |
4943 | | 0xcb277b4e5f79f1deL }, |
4944 | | { 0x2eff44b32ed1962cL,0xbe36a64072883505L,0x14a1fac0545e69a0L, |
4945 | | 0x76dbbcbdd6f658b9L } }, |
4946 | | /* 53 << 7 */ |
4947 | | { { 0x0720c58478e2e86dL,0x52fccffbcaeead35L,0x06f28c72587fd1b2L, |
4948 | | 0xec36a9129e48bf69L }, |
4949 | | { 0x74874436daa3cdbdL,0xb3f7409fcdc2f2a3L,0x0e50d7fa1951c078L, |
4950 | | 0xd97ff34eee8949f0L } }, |
4951 | | /* 54 << 7 */ |
4952 | | { { 0x00db635e742d7b1dL,0x5c0b280e29f0d0f9L,0xafa7e616eabf9b35L, |
4953 | | 0x7341e2c72c8a76e8L }, |
4954 | | { 0x9679e34d2e96f198L,0x8c2661c090ee26caL,0x9c6dab3567a6516eL, |
4955 | | 0x7c8edc4b46b4b34fL } }, |
4956 | | /* 55 << 7 */ |
4957 | | { { 0xc502cf2f2afba4feL,0x76847ae06776dbf1L,0xace02706a2c3c83eL, |
4958 | | 0x0012645f4601c550L }, |
4959 | | { 0x1940e14aef6189bdL,0xba7f615f2cdf5e89L,0x698101aa438a3781L, |
4960 | | 0xf568a45da9e22357L } }, |
4961 | | /* 56 << 7 */ |
4962 | | { { 0x83af640e1f913210L,0x529a29fd8d505edcL,0xdf3d3090d6b0c85aL, |
4963 | | 0x46e238866897ea43L }, |
4964 | | { 0x97cca980416577aeL,0x1f5a96a89aa08fc3L,0xcb014b3356c05c30L, |
4965 | | 0x1944765a05ec9be4L } }, |
4966 | | /* 57 << 7 */ |
4967 | | { { 0x2d6789ccddc4371dL,0xd768f5a6f3618fc2L,0x77065e113da93c1cL, |
4968 | | 0x4ea3fbc30e27b3ebL }, |
4969 | | { 0x7c1bfba011ba30e9L,0xfc6fba671036ebe6L,0x0053a30cd3231aedL, |
4970 | | 0x7f0613d9ee3ac524L } }, |
4971 | | /* 58 << 7 */ |
4972 | | { { 0x95ec2fd963093df6L,0xfbc637687c0eea52L,0xf767b2868b64ea48L, |
4973 | | 0x6959b0ecf75bc633L }, |
4974 | | { 0x47e34c3bc9f63154L,0xd616b19fa524bc76L,0xefc9bb54632ac100L, |
4975 | | 0xd9abba10b4d96a7dL } }, |
4976 | | /* 59 << 7 */ |
4977 | | { { 0x3b7dd91afe2ad7e8L,0x29134cd7b4ebf343L,0x49d1c305152864fdL, |
4978 | | 0x3afd83d080efc220L }, |
4979 | | { 0x3552517e3f2f0d27L,0x0a2b5006fda48969L,0x568863ed3c3e8ec9L, |
4980 | | 0xd99d5c62891edec9L } }, |
4981 | | /* 60 << 7 */ |
4982 | | { { 0xb0ddc129d1c9d6eeL,0x373dad7457db23b4L,0x7c178b0bb416c7dfL, |
4983 | | 0x77431dac4f8a7153L }, |
4984 | | { 0xf528888841c1367eL,0xf1518939b838c91cL,0x81e17838541f3281L, |
4985 | | 0x7003024465b2bde5L } }, |
4986 | | /* 61 << 7 */ |
4987 | | { { 0xdc3094247350251cL,0xfac0c6ad7c811130L,0x3817aa1a6a141269L, |
4988 | | 0x1aa5a92fe10b4a6dL }, |
4989 | | { 0x996cca7f34648a96L,0x517a25b94e2a4f52L,0xff95ac4238b1547cL, |
4990 | | 0x01d981b6d9b9cd4fL } }, |
4991 | | /* 62 << 7 */ |
4992 | | { { 0xcc34d15e88d60ebaL,0x45851bf4a0ea1a51L,0x5d5f9b3082854ee0L, |
4993 | | 0x914be21f176ea156L }, |
4994 | | { 0xecac86d12a05c368L,0x255cb9c073a666a8L,0x5e4799d978c0eec5L, |
4995 | | 0x40ed89898fc05a71L } }, |
4996 | | /* 63 << 7 */ |
4997 | | { { 0x54888ac28ae03eddL,0xef3e9865a83b554bL,0x47b41822b7612fe4L, |
4998 | | 0xf6e16fd58f76cd2eL }, |
4999 | | { 0x091c7b12a977b5ddL,0x7051bf6b8f99d4aaL,0x9f737902fed218feL, |
5000 | | 0xd8112477b752c612L } }, |
5001 | | /* 64 << 7 */ |
5002 | | { { 0xbb45c28718d13bd3L,0xbbf3a89423c6dd1aL,0xc8171c5e13b9cf87L, |
5003 | | 0x2dfc779234f5348dL }, |
5004 | | { 0x9b9a662d985cabd4L,0x588a6ebc4d971de0L,0xda9fd894574cba64L, |
5005 | | 0x7e0f0cca651e6e67L } }, |
5006 | | /* 0 << 14 */ |
5007 | | { { 0x00, 0x00, 0x00, 0x00 }, |
5008 | | { 0x00, 0x00, 0x00, 0x00 } }, |
5009 | | /* 1 << 14 */ |
5010 | | { { 0x88ca276c4b8bceb8L,0x6d4ec101752d1106L,0x2ad98063f834dcbfL, |
5011 | | 0x4da81d19dfff19d0L }, |
5012 | | { 0x4ccc7cd23a9828ffL,0xf1e389b02e64b332L,0xe2fb6a6c7308b81cL, |
5013 | | 0xc6df66b25bcc0ac6L } }, |
5014 | | /* 2 << 14 */ |
5015 | | { { 0x5ccb8c75e1c58c80L,0x2ba9de0483fcc95aL,0xccdeb0eedfccbcf9L, |
5016 | | 0x1d667d4f70f3d3adL }, |
5017 | | { 0xc6aa14a536269820L,0x329a308b0fe87940L,0x39869970ede5cfb2L, |
5018 | | 0xc33c3068f601bb2cL } }, |
5019 | | /* 3 << 14 */ |
5020 | | { { 0x3087444aa1a8781bL,0x6cb5b7065cff3cbfL,0x7673a8e483082714L, |
5021 | | 0xc4bce0150842a792L }, |
5022 | | { 0xae71a03353e2a531L,0x147b28f88b5315f9L,0xcc4601336c5ab37aL, |
5023 | | 0xb1dd088b540dde16L } }, |
5024 | | /* 4 << 14 */ |
5025 | | { { 0xec25045511c09289L,0x83042ba7164079c9L,0x4881640c6e3879a2L, |
5026 | | 0x77c5babc802452eeL }, |
5027 | | { 0x7a7759a67088f360L,0x02da352cb74be7e9L,0x15800cdbe0338289L, |
5028 | | 0xad69f7c9501688c6L } }, |
5029 | | /* 5 << 14 */ |
5030 | | { { 0xb7d3506357ae1213L,0xd536753a97024ecdL,0x9d68071624938196L, |
5031 | | 0xac1bee4c44ed6d4eL }, |
5032 | | { 0x6dd9c9bf33e95503L,0x5ee9f1fd88fc1c3dL,0x4a701ff421654473L, |
5033 | | 0x9a316450bd2ffe36L } }, |
5034 | | /* 6 << 14 */ |
5035 | | { { 0xe9130a63103b5fa2L,0xe97f71208eee983bL,0x54b7f85be8749cbaL, |
5036 | | 0x69976910bb1bca55L }, |
5037 | | { 0x9ec4034ff4e621d3L,0xaad567ed695e17daL,0x7647f054cedb2ea8L, |
5038 | | 0xf85f944c09fc7433L } }, |
5039 | | /* 7 << 14 */ |
5040 | | { { 0x30af23b3b95eedddL,0xfd1d565a89985f3dL,0xfbb531734c254738L, |
5041 | | 0xb07ba56a171170a4L }, |
5042 | | { 0x5069882c294d55d1L,0xae0385c4792694c1L,0x0a0c792711225dc6L, |
5043 | | 0xadcc5f08e22867c9L } }, |
5044 | | /* 8 << 14 */ |
5045 | | { { 0x164ac67faee03999L,0x4de174d379ff7f91L,0x063e4943548da6eaL, |
5046 | | 0x5264880bdb7ccdf7L }, |
5047 | | { 0x4a18f34b49b992ccL,0xe16b6f4d14065870L,0xd32479ac4cdb0e21L, |
5048 | | 0xce8151f6162bc9f8L } }, |
5049 | | /* 9 << 14 */ |
5050 | | { { 0x0f8d9a2fe8f78545L,0x091643db3145b086L,0x5915a58223a1bcc9L, |
5051 | | 0x97348efd8a280fc7L }, |
5052 | | { 0x3f9d623665eccf5dL,0xd1a3493701ac8146L,0x1b8e51288ad0d5c1L, |
5053 | | 0x5cbcc9efd581dd11L } }, |
5054 | | /* 10 << 14 */ |
5055 | | { { 0x947ceaffed059f1dL,0xf5754d037460a186L,0x37698fa60164ff7bL, |
5056 | | 0x630900d235805339L }, |
5057 | | { 0xe467a6beeddd6bbcL,0xc53bffec5e36b12eL,0x06dfd3f9f831fc7dL, |
5058 | | 0xd995fcc4daef86acL } }, |
5059 | | /* 11 << 14 */ |
5060 | | { { 0x7d14846832d5b2e3L,0x7796b94c6335f566L,0x693983d66769b8bdL, |
5061 | | 0xff0306aaed5244faL }, |
5062 | | { 0x2e90d41a89b8e801L,0x1af09d8639e732f3L,0x96d14e1f320ccb1dL, |
5063 | | 0xbaf21c6fc05dceceL } }, |
5064 | | /* 12 << 14 */ |
5065 | | { { 0x8ae82a1cc216cf37L,0xac437f45773828bfL,0x8c12ff189d51a85bL, |
5066 | | 0xfeb563be34c16578L }, |
5067 | | { 0x9d9353b6c6706966L,0xcdc6eb5a0cda8733L,0x033c186e3e4953dbL, |
5068 | | 0x2ba46a66b2e37f7cL } }, |
5069 | | /* 13 << 14 */ |
5070 | | { { 0xb32115e2b9f3ee06L,0x1bc12cecdd6346a9L,0x6b9c2142321242feL, |
5071 | | 0xcf9b9bb35c68ea06L }, |
5072 | | { 0x7fe554ac920d49bcL,0x90b3a9b437aedebbL,0xacb181e07695af86L, |
5073 | | 0xd1c99c55fd567feaL } }, |
5074 | | /* 14 << 14 */ |
5075 | | { { 0xb7c18083fccf76ebL,0xc693bdbbf93113a3L,0x215ff05d66e03205L, |
5076 | | 0x4424aaeaf76d2a12L }, |
5077 | | { 0xb23f2782e7f30891L,0xad814d5e062db479L,0x347ec1d04aea78c3L, |
5078 | | 0x3d0f0a7e6a2332f2L } }, |
5079 | | /* 15 << 14 */ |
5080 | | { { 0x02ecefa68ad9e323L,0x16c812480d45e0c9L,0xd4b6253d2757306cL, |
5081 | | 0xe90203a381e42d04L }, |
5082 | | { 0xbcef10fbc13782f0L,0x823efe5d156267d4L,0x18add11afddb0092L, |
5083 | | 0x27068a29b104561aL } }, |
5084 | | /* 16 << 14 */ |
5085 | | { { 0x7eb7f516da0abf3eL,0x3c92ac9461b3381fL,0xbad7320ed3418870L, |
5086 | | 0xbab7a12607dbe066L }, |
5087 | | { 0xe7ce59be2def303fL,0x0bf1f2372d1e0c9fL,0x12c18d1e38f418dcL, |
5088 | | 0x7fcc5e3eb85bb676L } }, |
5089 | | /* 17 << 14 */ |
5090 | | { { 0x0bcf25ad1b038ac6L,0x35388760ddf1becbL,0x5734bf378a1ad137L, |
5091 | | 0x92f3a250b7645056L }, |
5092 | | { 0x6ed926a4718a5aceL,0x8e63f0a2b967f1cfL,0x6d9cccc9d835fe33L, |
5093 | | 0xb1b5efee31f82e18L } }, |
5094 | | /* 18 << 14 */ |
5095 | | { { 0x997aa2a424f2c6b1L,0xde87114f9e536a91L,0x01938bd20f819ec8L, |
5096 | | 0x012e9031ef772a43L }, |
5097 | | { 0x1578eb4c77aa9256L,0x052b408861a0c8edL,0x1153a3306ab5a380L, |
5098 | | 0xa3e7f085132f5675L } }, |
5099 | | /* 19 << 14 */ |
5100 | | { { 0x5e946e00909b8a41L,0x55f7d23116a3c156L,0xcd9524648ac8f8e3L, |
5101 | | 0x7c5184d4cd8d67f7L }, |
5102 | | { 0xb346896439ef93a7L,0xf4aa0b7e4e9058c8L,0xa409403e4b7c713fL, |
5103 | | 0x9d55e33c41a83e50L } }, |
5104 | | /* 20 << 14 */ |
5105 | | { { 0x9efee7047e1754b8L,0x54085471b1c0027bL,0xc5e7a6fa45af4e6dL, |
5106 | | 0xb4d3cd5830048569L }, |
5107 | | { 0xd2c20014f3ae8e79L,0xd0b6af13849f3f23L,0x3a1db91517982a8cL, |
5108 | | 0xea3c8099f9ffcf90L } }, |
5109 | | /* 21 << 14 */ |
5110 | | { { 0x25d9eb827bada472L,0xff84d98c09afd498L,0x5e2c1ffe56ff21f4L, |
5111 | | 0xafd072012f2f3a94L }, |
5112 | | { 0xb0227fe6cdb673bcL,0x58fc0e7efe8d7326L,0xb988d3eb191bfd4dL, |
5113 | | 0x824990932474d8b6L } }, |
5114 | | /* 22 << 14 */ |
5115 | | { { 0xd1ef53cb68caff21L,0x3cff018c5074160aL,0x609a468898f982fcL, |
5116 | | 0xee5caaac562a099eL }, |
5117 | | { 0xf650365bf8c6cfd7L,0x2652aa239cbc10eeL,0x904fd66e6ab86f4eL, |
5118 | | 0x6a25bbc32d82f3d8L } }, |
5119 | | /* 23 << 14 */ |
5120 | | { { 0xd3e6ecad19c7a275L,0x05ed04513604b2ddL,0xdd1d87e200c71863L, |
5121 | | 0xd9fc87938cd23356L }, |
5122 | | { 0x3337f8ba0036b81fL,0x63b5a762b5300622L,0x4cf696f1ce8800e3L, |
5123 | | 0x12cb326107e3cbc3L } }, |
5124 | | /* 24 << 14 */ |
5125 | | { { 0x18eac9530fa12b5bL,0x45ccf07377d159b5L,0xa74804446e844a0dL, |
5126 | | 0x4404e6c6d77d1c18L }, |
5127 | | { 0x003e43a6ce1af18fL,0x8a82808117fdffccL,0x91b63c11cabf3d17L, |
5128 | | 0xa4dedc21ad26f286L } }, |
5129 | | /* 25 << 14 */ |
5130 | | { { 0x6bf62b691a2b1579L,0x3b67b87bceeb29ffL,0x451ffadb40d4b996L, |
5131 | | 0x10c6ae50080978f8L }, |
5132 | | { 0x959d47e22c242dc5L,0xced9e9225423e158L,0x9a212d4c8d8a68f1L, |
5133 | | 0xeff3d6443708393fL } }, |
5134 | | /* 26 << 14 */ |
5135 | | { { 0x43f51810fbaffdedL,0x3886ccb40f6fd7c3L,0xb939247b13c31946L, |
5136 | | 0xbc1ee613aa1fd72aL }, |
5137 | | { 0x6d40140a631fd790L,0x9382e3bad26b3fd9L,0xff414370b3af96c3L, |
5138 | | 0x38c813cfe0ea9ad6L } }, |
5139 | | /* 27 << 14 */ |
5140 | | { { 0xf8844c3c157594daL,0x2a7b514fcac628bdL,0xc023e4e2c08c5107L, |
5141 | | 0x6c1644963f2722feL }, |
5142 | | { 0x842e1d06c03a22adL,0x5dbc286537ddae0dL,0x46dfc88d0342bc72L, |
5143 | | 0x873c805ca4a3c65cL } }, |
5144 | | /* 28 << 14 */ |
5145 | | { { 0xd202853b60aa5c14L,0x1dc35d343850cc05L,0x8014357e0cabccfdL, |
5146 | | 0x1aa44ce9c5a5225aL }, |
5147 | | { 0xa3cef9203a8444b4L,0xcf3f91b3c95384b1L,0x1d625ba1c9e5da54L, |
5148 | | 0xbf1fba37b1d0f46aL } }, |
5149 | | /* 29 << 14 */ |
5150 | | { { 0xdcef4fadfb3f4885L,0xa49debb23267f912L,0x6417d37a1e121cb8L, |
5151 | | 0xa6d871fc533e94c9L }, |
5152 | | { 0x89f802082e4834fbL,0x27e83f0fb353452fL,0xaf009f3ce1f8f322L, |
5153 | | 0xa5b77a7789319fd8L } }, |
5154 | | /* 30 << 14 */ |
5155 | | { { 0x0a89e741edf71900L,0xd679b841d514d93fL,0x8878577fb0a03702L, |
5156 | | 0xc9607b7885a209aeL }, |
5157 | | { 0xb7bd061659432a28L,0x0da060a2ed567145L,0x44e35a7a1a449f52L, |
5158 | | 0x9c9a2c82bbaccc0fL } }, |
5159 | | /* 31 << 14 */ |
5160 | | { { 0x83abd436d83701f4L,0x56e8bfe84bb9cbe8L,0x5b545cc8c631cd1eL, |
5161 | | 0x6d03426f955aca7dL }, |
5162 | | { 0x049fc9fa2f8db817L,0xfcec1799dc59675fL,0xa00ed3920455f095L, |
5163 | | 0x6d7cfa5fe5096b18L } }, |
5164 | | /* 32 << 14 */ |
5165 | | { { 0x2cda5caee30ae90bL,0x2cc34290caabea0dL,0x564afcd941e67856L, |
5166 | | 0x210c7a09cf6ef8b7L }, |
5167 | | { 0xc316d352f82a591dL,0x5fe8cc4dab43d2a1L,0xd8ebce978b4e9470L, |
5168 | | 0x26c78f44ba321a07L } }, |
5169 | | /* 33 << 14 */ |
5170 | | { { 0xa63f4b34d75e509cL,0x9122bbc5b9a6c63bL,0x8bf792a317942443L, |
5171 | | 0x95b05d687f4f70f9L }, |
5172 | | { 0x57d7dee513b70dc8L,0xe84259edfc376fddL,0xf8c4c4ffe3e313b4L, |
5173 | | 0xf8e2d3da13fa8ff1L } }, |
5174 | | /* 34 << 14 */ |
5175 | | { { 0x9692c390f8e4eedeL,0x3b5145510e95a902L,0x45c1670c7360623eL, |
5176 | | 0xf7a74f556abd2a82L }, |
5177 | | { 0x99b16e7e24e8e721L,0xae52fa2a512f1401L,0x46c60e803f3a09d5L, |
5178 | | 0xf803d1b30750e968L } }, |
5179 | | /* 35 << 14 */ |
5180 | | { { 0x17840d2f1791644eL,0x3e32b3db3b7981e6L,0x2d0830a5d3dfae10L, |
5181 | | 0x1b28d1186cc6dd0dL }, |
5182 | | { 0x944a988978368274L,0x310da94a55b1bf81L,0x503061ec0d739056L, |
5183 | | 0x1947e940b4d73288L } }, |
5184 | | /* 36 << 14 */ |
5185 | | { { 0x760ee8460228346fL,0x108765b3c5cff077L,0x22092b39beb12160L, |
5186 | | 0xa631d553b63001afL }, |
5187 | | { 0x9340cac40af3d43aL,0xe6cbfb5460d338a3L,0x2280ff0c7ca3f604L, |
5188 | | 0xaf48f86b3ba738cbL } }, |
5189 | | /* 37 << 14 */ |
5190 | | { { 0x7435dd7847d372ffL,0xbf9c7149f005c006L,0x624084b97a8d0e81L, |
5191 | | 0x50b578f34840496cL }, |
5192 | | { 0x414ca2c1b52a4266L,0xa3c302755535ef0bL,0xd4b808c1b50f7f47L, |
5193 | | 0xe6781ae29a199920L } }, |
5194 | | /* 38 << 14 */ |
5195 | | { { 0x5014123427a91ef8L,0x2f4f59375b77d060L,0x1be8269ec2dcb03dL, |
5196 | | 0xa293017c9f65043fL }, |
5197 | | { 0x1678dfe08caac401L,0x4942d8ce968b1716L,0xa9b55faeae36e201L, |
5198 | | 0xcfe4bde3d5279632L } }, |
5199 | | /* 39 << 14 */ |
5200 | | { { 0x6126d74479d637e6L,0x8491f1a8d63b4aadL,0xdf97b7369816b82cL, |
5201 | | 0xafca2c36796408c1L }, |
5202 | | { 0xc17f3f017a8e8058L,0xb3335a24e74705e2L,0xee20002346e3e3b0L, |
5203 | | 0x07bce06140630e08L } }, |
5204 | | /* 40 << 14 */ |
5205 | | { { 0x46b42c00ee8f9dfcL,0x3b8e85099e9b7f58L,0x83df4b18d36e8e89L, |
5206 | | 0x09631af515d50555L }, |
5207 | | { 0xb7906b77ef1ee3f1L,0x8272dc834bd1e17bL,0xf160bfd94903faacL, |
5208 | | 0x7fe9e9990dc71e59L } }, |
5209 | | /* 41 << 14 */ |
5210 | | { { 0x6ee9b790e714187dL,0x7391ec2a9d5a656fL,0xcbb55ec6e10b20f0L, |
5211 | | 0xbba3b57bec3645d6L }, |
5212 | | { 0x9c3265bce18322e8L,0xdb49b0f393328c91L,0xa911db7249c2bbecL, |
5213 | | 0xf71b4df36e5bd229L } }, |
5214 | | /* 42 << 14 */ |
5215 | | { { 0xdccede337ba27baaL,0x1af4476a4b712a97L,0xf0aaabec8a8683adL, |
5216 | | 0x138cdac56fa8e84cL }, |
5217 | | { 0xd2d50b00dc78b1adL,0x26fc0b72696442b9L,0x12cd5d8b125bf11bL, |
5218 | | 0x2a2ce980c4f82ca6L } }, |
5219 | | /* 43 << 14 */ |
5220 | | { { 0x9921c0a652e00dd3L,0x98e8707af1d7e1afL,0xaa7aa8b8df03b040L, |
5221 | | 0xb3ba8b23dff6bd74L }, |
5222 | | { 0x2fd0faab31db8c0bL,0x4697e9bf2819b732L,0x2dc3a5d00425b866L, |
5223 | | 0x4b9e7899d97816f1L } }, |
5224 | | /* 44 << 14 */ |
5225 | | { { 0x1355c4124c756c70L,0x2d4c4eee0fa089afL,0x4d8425a83b8a01b5L, |
5226 | | 0xcc26b8a9a3531d3aL }, |
5227 | | { 0x6eebe11b7ebd9eeaL,0xd511a79792c0f858L,0xaa863f01ec49a0c8L, |
5228 | | 0x7fb65625a8242995L } }, |
5229 | | /* 45 << 14 */ |
5230 | | { { 0x9de9d3f43dbc00c3L,0xb846152f3f7d61abL,0xc060fdbdd0d74549L, |
5231 | | 0xe722aab27b273702L }, |
5232 | | { 0x9e54f098d81b6f6eL,0x32dbaa5f9e2fde1fL,0x14cc99959ebbc796L, |
5233 | | 0x4ca6686c0eb83921L } }, |
5234 | | /* 46 << 14 */ |
5235 | | { { 0x6e65d7c610a0c0bdL,0x1f6930d7b3c0f6cdL,0xe4e0a9334d783d6fL, |
5236 | | 0xc945ee7f70b20ad4L }, |
5237 | | { 0x521bd135034b0265L,0xeb5d96e00fa9be95L,0x834c28c2357ef592L, |
5238 | | 0x08ab5b4cb81df99fL } }, |
5239 | | /* 47 << 14 */ |
5240 | | { { 0x6be99d80f464825dL,0x1cc837199a0c1293L,0x76616803e7e43c6aL, |
5241 | | 0x6fa3371591cc47acL }, |
5242 | | { 0xc3fdb99bdbfc08b9L,0x66e1ef2d68e2b249L,0xd3d8ef7f64a4a438L, |
5243 | | 0x775a70fca6f25b00L } }, |
5244 | | /* 48 << 14 */ |
5245 | | { { 0x2444c682a0cb5443L,0x264c26624b743ee7L,0xd7a1adc4a303eb20L, |
5246 | | 0x3f14821bf60a5b98L }, |
5247 | | { 0xa439102d1a1d7661L,0x47c25a378d8a5a1aL,0xdf4a48dba34c66a9L, |
5248 | | 0xab4673644c828c73L } }, |
5249 | | /* 49 << 14 */ |
5250 | | { { 0xd3caad733459cc8bL,0x08eeb442181b16c2L,0x3444abbb70600d33L, |
5251 | | 0xaa2a39c4cd0f8e70L }, |
5252 | | { 0x5fc6ae8f24836d70L,0xc119be8447d32fd4L,0x2b3f37710d6000ceL, |
5253 | | 0x439893a8e602337aL } }, |
5254 | | /* 50 << 14 */ |
5255 | | { { 0x4b75ff6ec1e8e564L,0x6185413ce451cf42L,0x0276d3b6162c3150L, |
5256 | | 0x844539e03aea9c55L }, |
5257 | | { 0xfc629ee642e9d70bL,0x4eb9b7e60be610c9L,0x8c53fda139ca3d92L, |
5258 | | 0xd2e4cfa614c2e9e2L } }, |
5259 | | /* 51 << 14 */ |
5260 | | { { 0x3c1f6895f14b31b2L,0xad42d951eb951fadL,0x5b20a169b8f10fc1L, |
5261 | | 0x284810bd586c61cdL }, |
5262 | | { 0x0c4a89aae863d781L,0x2eda48479c235d5cL,0x8e141950e6005150L, |
5263 | | 0x75716e1b52785efaL } }, |
5264 | | /* 52 << 14 */ |
5265 | | { { 0x290ced588305624eL,0x398956a806650920L,0xd057a47bdb5bd5b6L, |
5266 | | 0xf2d85299be9e119cL }, |
5267 | | { 0x4783095c7c5fc039L,0x72f7e7cd05363915L,0xe46b90d1df3e2968L, |
5268 | | 0xaadb3daeaaea2e53L } }, |
5269 | | /* 53 << 14 */ |
5270 | | { { 0xf5d374960cc4f426L,0xa59bffa859d78369L,0x7ad4cc11f0a46b04L, |
5271 | | 0xcbd63351b8e21b9eL }, |
5272 | | { 0x60d255e65653ebbfL,0x3eaa59af4d6b5843L,0x90049d259e1df2e2L, |
5273 | | 0x9a185a6de56aa105L } }, |
5274 | | /* 54 << 14 */ |
5275 | | { { 0xbd31c5cf80e3d909L,0x30caad3ba1f034d1L,0xaca74fa1d9c7c342L, |
5276 | | 0xac722cfc9565cf8aL }, |
5277 | | { 0x8b172ce65b42e582L,0x9e99e4e59b0607b2L,0x284eb5799446ca45L, |
5278 | | 0x6c5464bac57c9febL } }, |
5279 | | /* 55 << 14 */ |
5280 | | { { 0x1437fc95e511bc3bL,0x22d7bc16834d0889L,0x62e545b2c5071c43L, |
5281 | | 0x4c644d488cb4acd6L }, |
5282 | | { 0xd9efbe5068246492L,0xc9d169e7cbd8ad0eL,0xcb7365dc798ae01fL, |
5283 | | 0x5783f98f6d0dea3aL } }, |
5284 | | /* 56 << 14 */ |
5285 | | { { 0x9b4a7e38ec454423L,0x27405d0896ff4c8cL,0x9769f0970c462f7cL, |
5286 | | 0xcbda54127dc946aaL }, |
5287 | | { 0xdacb510fe7dd5146L,0x9c9a0d3930507b37L,0xa605730b05ded0acL, |
5288 | | 0x7e6834726c6c7b5bL } }, |
5289 | | /* 57 << 14 */ |
5290 | | { { 0xb378d92c7c952984L,0xec76370d72ae34d6L,0x1fde0bdeacda665bL, |
5291 | | 0xc8f648f4b931afc1L }, |
5292 | | { 0x2b55adb2b960f6ceL,0x71b3bdd47336a643L,0xf66e77bf73cc39e7L, |
5293 | | 0xf582c5e82fa3999aL } }, |
5294 | | /* 58 << 14 */ |
5295 | | { { 0x30ecd0c7af986d1dL,0xa2ae53ed4557dd65L,0x97ebccfb7d618a1dL, |
5296 | | 0xcbf5414911eed889L }, |
5297 | | { 0xdd0ff0e7d8f2bdd4L,0x6ac4a9fbfa769e74L,0xdfdfc7e993e5ababL, |
5298 | | 0x0c7151c5dffc6fccL } }, |
5299 | | /* 59 << 14 */ |
5300 | | { { 0x6d75e9625cbae56cL,0x77fae15296dccb89L,0x275c49466cc0e535L, |
5301 | | 0xc4a400a981781318L }, |
5302 | | { 0x8b9f872c77ba50e6L,0x971b6cb3a138eeb4L,0xa7e7d1f953f552a7L, |
5303 | | 0x360512ce8447c730L } }, |
5304 | | /* 60 << 14 */ |
5305 | | { { 0xf0c73bbbc5454439L,0x7f1b9b18a3a24b5cL,0xc5bb48dc51fa7d6bL, |
5306 | | 0xd264d6ec8b05a553L }, |
5307 | | { 0x123caaf2e9371f83L,0xdf5da393b149f564L,0x38e02eb6853b9babL, |
5308 | | 0xc6aab96e95bf6647L } }, |
5309 | | /* 61 << 14 */ |
5310 | | { { 0x4890be893141219bL,0x7afe4c2f7883fe8eL,0xc27bd13c59b86241L, |
5311 | | 0x1b9720f5aacebdc9L }, |
5312 | | { 0xa054e203f6b2174cL,0xd4e7b95260f6de8eL,0xcf7b1aeaf4558633L, |
5313 | | 0x43fc1881befa40a6L } }, |
5314 | | /* 62 << 14 */ |
5315 | | { { 0x592164dde23cef63L,0xfe57d6e8f7b4aaf2L,0x38a5e2c9e8aef9bcL, |
5316 | | 0x576bd78c1ac2b10bL }, |
5317 | | { 0x2357944c14309d10L,0x9933d7eded0ed94aL,0xb8792ea30339f299L, |
5318 | | 0xcfb4432287fd9bd1L } }, |
5319 | | /* 63 << 14 */ |
5320 | | { { 0x864f2fd592966739L,0x7435ecc5d3cfd83eL,0x8516d277ec4249f2L, |
5321 | | 0xaa7e1a8afc158b34L }, |
5322 | | { 0xfc0fc22bfbe640a1L,0xf287767f91121fecL,0x0ce482733f590dcbL, |
5323 | | 0x5e994e2ff087c249L } }, |
5324 | | /* 64 << 14 */ |
5325 | | { { 0x681a38c765604726L,0x4f8c6ae3247a421eL,0x1a51eaa01294956eL, |
5326 | | 0x0984b1ef47c9b324L }, |
5327 | | { 0x3749bd0d597b7696L,0x9d432b7808e57ee7L,0x3092afe12ba112d2L, |
5328 | | 0x89ccee4916c5a7f5L } }, |
5329 | | /* 0 << 21 */ |
5330 | | { { 0x00, 0x00, 0x00, 0x00 }, |
5331 | | { 0x00, 0x00, 0x00, 0x00 } }, |
5332 | | /* 1 << 21 */ |
5333 | | { { 0x355e9d7b54089685L,0x9f0ec68f40818349L,0x4cf4d8cd3861b80fL, |
5334 | | 0xcce669fdc1f5fa14L }, |
5335 | | { 0xea2125091788f9daL,0x32953613f3ccf239L,0x1048d09250027f3bL, |
5336 | | 0xe807b39d4270fbcbL } }, |
5337 | | /* 2 << 21 */ |
5338 | | { { 0x5099dc5595e388c3L,0xd0670ff5ea44e3eaL,0xd212c99361b41f7bL, |
5339 | | 0x4f594af9faf13305L }, |
5340 | | { 0xbc508bf205c01232L,0x7683353639ff08a5L,0xa1cf70bdb837741aL, |
5341 | | 0xba8e6616aaf7bd2aL } }, |
5342 | | /* 3 << 21 */ |
5343 | | { { 0xde04c343def27938L,0x3f15ca9148cee32aL,0xcb61573b9dd142daL, |
5344 | | 0xc094eefd126dd9bcL }, |
5345 | | { 0x5d42f1a5136bb4daL,0x75693952db2f3449L,0x98017cd65c16795eL, |
5346 | | 0x9e4015302afb67dbL } }, |
5347 | | /* 4 << 21 */ |
5348 | | { { 0x6376749f9b7c6c75L,0x680eacdcacbca35dL,0xe87fd5b55e145b32L, |
5349 | | 0xeb20d1ba36b886afL }, |
5350 | | { 0xca499055779b12bbL,0x6f290ff20be39fb7L,0x33ad6fe0f4a128ceL, |
5351 | | 0xf09e2a409b31da81L } }, |
5352 | | /* 5 << 21 */ |
5353 | | { { 0xb2ed3d7012039372L,0xb87e02c42ff46c13L,0x164246c6fb27dce2L, |
5354 | | 0xe34ee8f6e6d95811L }, |
5355 | | { 0x66cc601c3ec1fde9L,0x056b319480ffdd56L,0xff0098689626aa21L, |
5356 | | 0xc3e4982c2d931092L } }, |
5357 | | /* 6 << 21 */ |
5358 | | { { 0xbc0da9c1c3d42729L,0x4905da24720df0a0L,0x0e5e1fa045f6eadfL, |
5359 | | 0xc02033f32aab7523L }, |
5360 | | { 0x45ba916fedde75e1L,0xf43919bd75c68e52L,0x00e7c07684892e6aL, |
5361 | | 0x259f848870dfeb08L } }, |
5362 | | /* 7 << 21 */ |
5363 | | { { 0x3bfd5f2cd8a869a0L,0x1df48669574e7d67L,0x16d6ed5ae14cfd3bL, |
5364 | | 0x583aac2cfcf78465L }, |
5365 | | { 0x67210e6b67da2ae9L,0x0b024e70cfee511dL,0xf27e122c13839a4fL, |
5366 | | 0xfa5356c9b79dfa97L } }, |
5367 | | /* 8 << 21 */ |
5368 | | { { 0xf0c24783f357999bL,0x2c21474c26bfacb3L,0xe3abed6ad3ddb945L, |
5369 | | 0xbb21b7646031a5eaL }, |
5370 | | { 0x6db3b68b8afc2a09L,0x1aac2f0881306b71L,0x882c3371852eb6f5L, |
5371 | | 0xadfe0c1ad98e9b6fL } }, |
5372 | | /* 9 << 21 */ |
5373 | | { { 0x0247ee7b7edcb9e5L,0xe29ec0131f29918bL,0x5d1629e66099b6ceL, |
5374 | | 0x68587803cb534584L }, |
5375 | | { 0x6ccfeddb8ce551d3L,0x7ef98b72f85123a8L,0x19af4771f9711dcdL, |
5376 | | 0x8f67858bfd80e4ddL } }, |
5377 | | /* 10 << 21 */ |
5378 | | { { 0xa4c8c0167d607ee3L,0x15db36d74015a479L,0x0cb58eee9d28ea30L, |
5379 | | 0xb3d469b0becb7b4eL }, |
5380 | | { 0x811081b96f476e2cL,0x264da3aa59c78fabL,0xd6e5813d3cd73147L, |
5381 | | 0xce9e34a4e905362cL } }, |
5382 | | /* 11 << 21 */ |
5383 | | { { 0xe551ec2ecb3afa55L,0x2c9bef254b05589cL,0xd36ddeb7bcd083bcL, |
5384 | | 0x1c180b52ddb54a24L }, |
5385 | | { 0xb84220f3c0961f32L,0xa71103fbfe3ae670L,0x6a14d31946902477L, |
5386 | | 0x516701d2778b8eeeL } }, |
5387 | | /* 12 << 21 */ |
5388 | | { { 0x1cdb10254c3166d5L,0x3a0ba2c23d6fcb6eL,0xa218b4afb3820defL, |
5389 | | 0xda6de958bfe8a8f8L }, |
5390 | | { 0xc2b3c7554ceabdfaL,0xd35346918d73edcbL,0x453b8e630ce17182L, |
5391 | | 0x6507a5b001654263L } }, |
5392 | | /* 13 << 21 */ |
5393 | | { { 0xb2b8e424d5da0e59L,0x7e599c7561ac4c2eL,0xc64cb4c341aff49aL, |
5394 | | 0x0e231e63ea3e378eL }, |
5395 | | { 0x707cc0e3e08edaceL,0x18918dd25410779fL,0xcdd576902eef6bb3L, |
5396 | | 0x4c54d7d8ff758569L } }, |
5397 | | /* 14 << 21 */ |
5398 | | { { 0x494592042c89683cL,0x93596a167827e518L,0x6198954b2b20c939L, |
5399 | | 0x6672c94d8044d3baL }, |
5400 | | { 0x55e95fd3199b16ddL,0xa84841354185999aL,0x5e8709c8fe36e449L, |
5401 | | 0x47470e2e91401957L } }, |
5402 | | /* 15 << 21 */ |
5403 | | { { 0x0058bb090874afceL,0x19fb1d56606c3e52L,0xe1208b2a710903a0L, |
5404 | | 0xecabc372d47dfd1cL }, |
5405 | | { 0xd9daa7f45e94818fL,0x1302ac8f5dc99882L,0x7b4c6b15c44d37beL, |
5406 | | 0x0bcf6d4c72d19e0dL } }, |
5407 | | /* 16 << 21 */ |
5408 | | { { 0x1e0bf0633fd5a1deL,0x5d05e901a75b5b8cL,0xbbbdb1abcb3c617aL, |
5409 | | 0x44954a8c1aef4706L }, |
5410 | | { 0xbc3ceea3ff6a6e47L,0x6140f4210ded1275L,0xbb4b4c044dabe95fL, |
5411 | | 0xc55e87da7135e813L } }, |
5412 | | /* 17 << 21 */ |
5413 | | { { 0x15ad105cd963dd6bL,0x33d18f73666941a3L,0x860ccabe5d9253d6L, |
5414 | | 0x2af702fdd16e8b69L }, |
5415 | | { 0x7e46aadd74e525c0L,0xd9958a44af59f48fL,0xd8ca872f8e7de482L, |
5416 | | 0xc2270c14cf7d007dL } }, |
5417 | | /* 18 << 21 */ |
5418 | | { { 0x87c6204ea200e574L,0x0ee014cb7b69e79eL,0x176ff37882b23226L, |
5419 | | 0x802d829d8dbbb2f3L }, |
5420 | | { 0xb902924fe0a4dc31L,0x1f1a9ec75fe522f2L,0xbcd95d854da7c04aL, |
5421 | | 0x3a3a2e63b1543c0cL } }, |
5422 | | /* 19 << 21 */ |
5423 | | { { 0x9e70a3fff3271bf8L,0xd2522d88d2cd68adL,0xb777851ba6b727b9L, |
5424 | | 0x58953d6f63ff5264L }, |
5425 | | { 0x5e111c22b65c70d2L,0xaae73c5bd3a5143fL,0x2daa2bfc85ef5dc0L, |
5426 | | 0x5e7258d2ea13ded3L } }, |
5427 | | /* 20 << 21 */ |
5428 | | { { 0x4161127c2e3ce423L,0x7e35a0a26b1af415L,0x004483a8eed24b7bL, |
5429 | | 0x2816180a9f9d44f1L }, |
5430 | | { 0x214add93062829a1L,0x262a0bef225e847cL,0x4bb1b1ce5d6c53c4L, |
5431 | | 0xd02f829a91d06e53L } }, |
5432 | | /* 21 << 21 */ |
5433 | | { { 0xcdc8ba5c784da27cL,0x78a6c0d2161b5836L,0x6bea92c48373c6a4L, |
5434 | | 0x815f1a30a881f59aL }, |
5435 | | { 0x699c8642227cb8e2L,0x515d1e2b25a2b9d0L,0xcb5f1c6c1787b3e5L, |
5436 | | 0xc9a10260104dddc6L } }, |
5437 | | /* 22 << 21 */ |
5438 | | { { 0x18be4f2a0f3811e5L,0x8c05d3fc71e727d3L,0xecae3e5ffa707140L, |
5439 | | 0x4bb05b16d275b463L }, |
5440 | | { 0x74bad373b02a5ac8L,0x7232875a520344eeL,0x32cef98c65059d8fL, |
5441 | | 0x68e0fdb654e1b11dL } }, |
5442 | | /* 23 << 21 */ |
5443 | | { { 0x683424f33f3db43fL,0xf5f0878fabf4a83fL,0x681350d94ac2c5c9L, |
5444 | | 0x825e9ecb47dd3652L }, |
5445 | | { 0x420743f020713db6L,0x95db7427d1b082e5L,0xa0e1117f1affa57dL, |
5446 | | 0x62c87b5ef940f325L } }, |
5447 | | /* 24 << 21 */ |
5448 | | { { 0x6a65fda84e1d5d9aL,0x0c0fe385345ccdefL,0x19ff360fd6d72c0aL, |
5449 | | 0x1be1e8d7fb016131L }, |
5450 | | { 0xe2f27e91025b45e1L,0x25bec26605259bf1L,0xd7b8b4e7e51cc67eL, |
5451 | | 0x3a839aa5ab80a20eL } }, |
5452 | | /* 25 << 21 */ |
5453 | | { { 0x04a9b6959f85320dL,0xb939cd8398d669f3L,0x24464cede6948957L, |
5454 | | 0x463de507a43928e8L }, |
5455 | | { 0x4e1844e7f8755845L,0xc9c710915447e61cL,0x1798f394599d4bd7L, |
5456 | | 0x758f76301e072c64L } }, |
5457 | | /* 26 << 21 */ |
5458 | | { { 0x83c93728739b1925L,0x692017d7fa8eb048L,0x4a3a2a59478d1ee3L, |
5459 | | 0xb8e62912022640cdL }, |
5460 | | { 0x4689a4dd8572b8d7L,0x6281ddfe8f79da63L,0x788bf9aa212a153cL, |
5461 | | 0xb67e18f5b3438da6L } }, |
5462 | | /* 27 << 21 */ |
5463 | | { { 0x3fbafc5131cebdb8L,0x7f8ad590b042bd47L,0xf5d26c88e3055004L, |
5464 | | 0x7f23a1493d7d6f5cL }, |
5465 | | { 0x2fee54288758ccc0L,0xb08c91b7e1b80dfaL,0xf2bcc903ea0c0a53L, |
5466 | | 0xcdf2eae004e684ffL } }, |
5467 | | /* 28 << 21 */ |
5468 | | { { 0x354b2c07e1d9a693L,0x93b1fa2d97a833a8L,0x2dcd22c7e9e5f2b1L, |
5469 | | 0xf040a69c18aa3163L }, |
5470 | | { 0x4f9a4b2976939874L,0x58e5947f15e24d44L,0x9b47a945b0c2ef6fL, |
5471 | | 0xc4a15b7df630e92cL } }, |
5472 | | /* 29 << 21 */ |
5473 | | { { 0x8d7a33e77b1d4141L,0x44dabde9966486bcL,0x387a6016ef31dc9dL, |
5474 | | 0x76744b231462ff61L }, |
5475 | | { 0x2ad6395420cdd726L,0x9cff7e860e7803daL,0xaf5b8b4afd124ed3L, |
5476 | | 0x466dbbbd050c1149L } }, |
5477 | | /* 30 << 21 */ |
5478 | | { { 0x6835263606b296a3L,0x0ab400807f3fe1efL,0x1fc3895105bf08f8L, |
5479 | | 0x69b54ae4633c457fL }, |
5480 | | { 0x2ad428c61a206c53L,0xd67256878b09b3f9L,0x552d4d0e0bc619c9L, |
5481 | | 0x0e88b3133113c689L } }, |
5482 | | /* 31 << 21 */ |
5483 | | { { 0xb2483b80e87a91b4L,0xb9f842d70c75377bL,0x50463f385a78145eL, |
5484 | | 0xf2d3810d830817a9L }, |
5485 | | { 0x1819261e39cc886aL,0x697de51d8415699bL,0x688a874e5cab106eL, |
5486 | | 0xde48f3bbcb8692ecL } }, |
5487 | | /* 32 << 21 */ |
5488 | | { { 0xffa1de9738f4194dL,0x33d2726a3b996b63L,0x787c0ec30d2053a7L, |
5489 | | 0x9447e9cbeecd5c0cL }, |
5490 | | { 0x077f121c284773c0L,0x496427e4815829a1L,0x4b11978694def08bL, |
5491 | | 0x9e7b29e69c15a778L } }, |
5492 | | /* 33 << 21 */ |
5493 | | { { 0xa4d6d2befd4a8a47L,0x4f000a124333baefL,0xc9049d86642c570bL, |
5494 | | 0x9424e8f925e6aa6aL }, |
5495 | | { 0x84de7fe9e011cfecL,0xf273f9561e8c83b0L,0x98960835a47a40a6L, |
5496 | | 0xd91a20f10a13c27bL } }, |
5497 | | /* 34 << 21 */ |
5498 | | { { 0xaf08b4efed703e13L,0xefcbcf34c9994946L,0x019e6f382d53b069L, |
5499 | | 0x3d62c3c09b160894L }, |
5500 | | { 0xac7ad700adfc8f3bL,0x41cc0cc30042fce6L,0x0228ae7521cf742cL, |
5501 | | 0x56a1152af4c9a1a9L } }, |
5502 | | /* 35 << 21 */ |
5503 | | { { 0x5d8a3321febd27dcL,0x89bce7007c525f7fL,0xe8f815a91c1039eeL, |
5504 | | 0x9f6db69862e86536L }, |
5505 | | { 0x1ea6e7a666fe804dL,0x652acc41261aea16L,0xde28e5d8f9df596bL, |
5506 | | 0x18f453c11553a545L } }, |
5507 | | /* 36 << 21 */ |
5508 | | { { 0xa224f76384eeb5c8L,0x8ac452f5835ba87eL,0x9b2b5939c5f4c054L, |
5509 | | 0xb25779433ac1cdccL }, |
5510 | | { 0x1ba2cd0d772c60dcL,0x1fa52c43d7a9bd1cL,0x2efd4f4a60444f34L, |
5511 | | 0x7d188c052bdcfc9dL } }, |
5512 | | /* 37 << 21 */ |
5513 | | { { 0x49ef6825e1913711L,0xbca95ded600d6c46L,0x63916baaaf8d66d3L, |
5514 | | 0x049812022dc837a8L }, |
5515 | | { 0xb501e5170d3ae79dL,0x99ff7864b4edb859L,0x5099edeeaf4ec081L, |
5516 | | 0x89574889964f4052L } }, |
5517 | | /* 38 << 21 */ |
5518 | | { { 0x1690fdb852066d70L,0xb403207d671f4e7fL,0x8ebc1d1bd7413111L, |
5519 | | 0x1432d7feb4cfdf14L }, |
5520 | | { 0x9277666a65ad5d0eL,0xbd5ae578a928e194L,0x2f6c10d5b64962fbL, |
5521 | | 0xe3d756c02e794187L } }, |
5522 | | /* 39 << 21 */ |
5523 | | { { 0xf04fd82ad3e6349cL,0xde602dbacc7d39b6L,0x0886e20a044e7debL, |
5524 | | 0x6e30c75fe9ba917eL }, |
5525 | | { 0x763961fc4a322edeL,0x6df4a3cb2324bb92L,0x9fe823238f2ac967L, |
5526 | | 0x3c372afe2345372aL } }, |
5527 | | /* 40 << 21 */ |
5528 | | { { 0xbf7e9c5550b66fecL,0x5db7dd710c065cfaL,0x3525e31050d459eaL, |
5529 | | 0xad7abe5a8122941aL }, |
5530 | | { 0xc7aeba80122d92faL,0x066c3765efcc1c24L,0xa6d767ca8ffd71b1L, |
5531 | | 0x4a75fab59cc16dbcL } }, |
5532 | | /* 41 << 21 */ |
5533 | | { { 0x9acf8b89bb58b63dL,0x226cdcd36fc8c090L,0x852965b7ae7fbd0bL, |
5534 | | 0x4cadd176b8bfe65fL }, |
5535 | | { 0x4ccc11d1cfa2ac11L,0x8abf7420800319abL,0x24ab82cb88bb3ef1L, |
5536 | | 0x4d3db003524c0ce1L } }, |
5537 | | /* 42 << 21 */ |
5538 | | { { 0x384836413a431e8cL,0xfc0c04a0792848adL,0x2fc52bb8a07701b0L, |
5539 | | 0xdfdced3df29c72cbL }, |
5540 | | { 0x677e3d845280c2e0L,0x2dda1451e98cbec5L,0xba28b181aec26be2L, |
5541 | | 0x166947175ddea39bL } }, |
5542 | | /* 43 << 21 */ |
5543 | | { { 0x911ec5f04b9aa9b0L,0x24b9aaa03594ae7dL,0x0ccfa661c3c136a0L, |
5544 | | 0x5518964db7474319L }, |
5545 | | { 0xf0b0427b2175c3dcL,0x08db4cfc966b7badL,0x6f61428a5e888ad1L, |
5546 | | 0xfaa9617657b52d37L } }, |
5547 | | /* 44 << 21 */ |
5548 | | { { 0xe834013b10aac879L,0x73397bb095a62172L,0x9780683933a244b2L, |
5549 | | 0x0ab3806cc3bec0d0L }, |
5550 | | { 0x4fc7a8592a72512dL,0x964749390a4228b9L,0x8e5d79a84de4b4a5L, |
5551 | | 0x5a60d1b005d62667L } }, |
5552 | | /* 45 << 21 */ |
5553 | | { { 0xd31be21d08d90c20L,0x3f7ed5f2cc14dbb1L,0xdc8f58f9d7d431c4L, |
5554 | | 0x714f6dee82b5c63fL }, |
5555 | | { 0x6b28546676d2de93L,0x3c2f5d8fc39dd98cL,0x9bba0075ea3760a2L, |
5556 | | 0x75e0389a2411742eL } }, |
5557 | | /* 46 << 21 */ |
5558 | | { { 0x87d6715a7ffdb955L,0x702108fc9efb199dL,0xf11db1f96c010f8aL, |
5559 | | 0xf52b1e0f7eb6871bL }, |
5560 | | { 0xc49c0dc797c3ed9eL,0x18846f9577220a50L,0xdb2273bc97afddcbL, |
5561 | | 0x5b9a16d6cc469f75L } }, |
5562 | | /* 47 << 21 */ |
5563 | | { { 0xee3643943beedaf4L,0x825e01d6528a9239L,0xb60ba965ffd0f17cL, |
5564 | | 0xc00106b0b888384bL }, |
5565 | | { 0x6e24322f31751f74L,0xfe4d074c1821d05aL,0xf2493c73bf072932L, |
5566 | | 0xa797e20821089f21L } }, |
5567 | | /* 48 << 21 */ |
5568 | | { { 0xf1b318af2988abcdL,0xf887558f8e7da518L,0xb8b9939c97836b57L, |
5569 | | 0xf793e3b5c0a74cf3L }, |
5570 | | { 0xe191008a37684170L,0x7708823b05cb453cL,0xec221d40361beb2cL, |
5571 | | 0x0e5a6cceeb1b68f4L } }, |
5572 | | /* 49 << 21 */ |
5573 | | { { 0x3dc535f09644e937L,0xf506d720fda6c1b7L,0xc78c0e0bf99437bdL, |
5574 | | 0xa920b4d3cc9e2b09L }, |
5575 | | { 0x550965fef089b0e0L,0xf98134920109d910L,0xd2496f208c9d5d83L, |
5576 | | 0x751b69003e3e661fL } }, |
5577 | | /* 50 << 21 */ |
5578 | | { { 0x921edbde9e6ac190L,0x75891359f02d0e7aL,0xdeb0f83b1c4da092L, |
5579 | | 0x7b4279154feb2375L }, |
5580 | | { 0x24637c727c3a85c3L,0xbbfabf863f214ac3L,0xe8765740ae22fbfaL, |
5581 | | 0x3a09fab05f14045aL } }, |
5582 | | /* 51 << 21 */ |
5583 | | { { 0x546d574f8190dd41L,0xdfcf0b7348b5a39fL,0xf26c69de74097b2dL, |
5584 | | 0x37aa27ff3a7e3e90L }, |
5585 | | { 0x0942447b83bbe3dfL,0xe779fe209ab378aaL,0xad18ad2391e2264fL, |
5586 | | 0xe1dad926aaabd6d1L } }, |
5587 | | /* 52 << 21 */ |
5588 | | { { 0x9de0aa4f5db5e5c8L,0x45c3d73edb67e44eL,0x440862a15cd83936L, |
5589 | | 0x9f2b9a88ffce9a79L }, |
5590 | | { 0x6329906976cc6265L,0xf596a67f7a8830f5L,0x7051c8428d1d8284L, |
5591 | | 0xa00d05a83e5561fcL } }, |
5592 | | /* 53 << 21 */ |
5593 | | { { 0x15ce42d57a34d5bcL,0x4d9b3f5fb0e37254L,0x26e8409438841ab4L, |
5594 | | 0xa7afd35d9a8ede27L }, |
5595 | | { 0x4e8bcdb814835fa9L,0x85d04ddc79493e39L,0xbfa8fa79df8f65aeL, |
5596 | | 0xe31d759ada6c7c62L } }, |
5597 | | /* 54 << 21 */ |
5598 | | { { 0x76f27e707600aea7L,0xbec79f15d4d9acf5L,0x0f10bd0f5eae2ff6L, |
5599 | | 0x96c9eef17116a0c4L }, |
5600 | | { 0x30add2cc0cb6f595L,0x0c70b548943efe90L,0x2ce8026f0a05f4a8L, |
5601 | | 0xaa3da153b7c53c00L } }, |
5602 | | /* 55 << 21 */ |
5603 | | { { 0xcc46bf678e385a26L,0x64bcf06e99bae0f6L,0x49480a36035dcb4cL, |
5604 | | 0x2cc1a299e3cbae58L }, |
5605 | | { 0x849f8633b5480cb2L,0x1d8fa56d5607d83eL,0xcc3f0eeecea9f22bL, |
5606 | | 0x7d5ece291a23f3daL } }, |
5607 | | /* 56 << 21 */ |
5608 | | { { 0xc6f0a0068ae66f00L,0x2620157e78d648f0L,0xfc71776240d2880fL, |
5609 | | 0x2e0e293cbe105017L }, |
5610 | | { 0xb320f214854116f4L,0x5e4fa7002d5cd4ecL,0x83fa0a23dffc1c55L, |
5611 | | 0x18fcb8d2c9a9ca15L } }, |
5612 | | /* 57 << 21 */ |
5613 | | { { 0x9e9baccdd0ac70feL,0x8ba02fb727fe06ceL,0x2708804c3868fdd4L, |
5614 | | 0x355eaf0c9ba83df4L }, |
5615 | | { 0x014089babe43993aL,0xc8b59eda469cccd6L,0x77c94507b893a5a7L, |
5616 | | 0x0dffd39b8e517fd5L } }, |
5617 | | /* 58 << 21 */ |
5618 | | { { 0x71b6edb713dbeadfL,0x1617b77ffea2d0cbL,0xf745473648ff989fL, |
5619 | | 0x27357890b618bfa3L }, |
5620 | | { 0xf08c70aca7181331L,0x33b6cfe5b8bc036dL,0x75ed10f97163f883L, |
5621 | | 0x979875fc47d1cbbdL } }, |
5622 | | /* 59 << 21 */ |
5623 | | { { 0x6644b2347ad23938L,0x0f09e7f1d82e2bc8L,0x1e6c512b5588a39dL, |
5624 | | 0xb44e6694ce8eae85L }, |
5625 | | { 0x107336e2f392a4c7L,0x2619b284dbcd7b43L,0x7b7ec516b7f476a5L, |
5626 | | 0x0de74ef343081af2L } }, |
5627 | | /* 60 << 21 */ |
5628 | | { { 0x93d08bc6d8d54fafL,0x88d343a7f2ae6c9fL,0x7cdb9003bc147c27L, |
5629 | | 0xd740b19d69248562L }, |
5630 | | { 0x7f3c48bb464b3b60L,0xfc4cd7e9c91d92c1L,0x8172af80d7420ac9L, |
5631 | | 0x66907b77b9a50be9L } }, |
5632 | | /* 61 << 21 */ |
5633 | | { { 0xed99fea19ec8e974L,0x624a8c9454f39b1cL,0x9c4d608ace9798d1L, |
5634 | | 0x81e1652ea4812277L }, |
5635 | | { 0xa2cf7509f58b7db8L,0xef2cd193745e450eL,0x48ee84319d9da493L, |
5636 | | 0x7b471698b8ce96fdL } }, |
5637 | | /* 62 << 21 */ |
5638 | | { { 0x14dbaff8e7553998L,0xb0b14e4a822de823L,0x11032354429d7c51L, |
5639 | | 0xc1bb3327d572d20eL }, |
5640 | | { 0xff4738116a9c189eL,0x7cf2354e9c7b3b83L,0x29681ff67662df92L, |
5641 | | 0x0929622751c297d1L } }, |
5642 | | /* 63 << 21 */ |
5643 | | { { 0x1b800b345e3da635L,0xb5fd32d2745116e4L,0xdae17a1f2565abb0L, |
5644 | | 0x4f39d3d71fec80c2L }, |
5645 | | { 0xb4a19cc2290c2f4bL,0x1a1b049e0b6e5ae0L,0x41be6e926a823b6bL, |
5646 | | 0x35648873969649ceL } }, |
5647 | | /* 64 << 21 */ |
5648 | | { { 0xe85f995e2a8ed3d7L,0x9dc712e82f319e47L,0xc4402eff536d98a2L, |
5649 | | 0xca61e31037521e35L }, |
5650 | | { 0xfed39621c3196672L,0x29e7743fff17e8a7L,0x47eca488412a7c49L, |
5651 | | 0xf011451333a2a6daL } }, |
5652 | | /* 0 << 28 */ |
5653 | | { { 0x00, 0x00, 0x00, 0x00 }, |
5654 | | { 0x00, 0x00, 0x00, 0x00 } }, |
5655 | | /* 1 << 28 */ |
5656 | | { { 0x5675a12ae6880b5fL,0x9ba1e92ce2606d25L,0xb012facbeb3b2125L, |
5657 | | 0x3c50fdfbc37b0099L }, |
5658 | | { 0xc9ce461c9ce223e9L,0xcb90bdd6eefbd8acL,0xf657e5a4c631ea8eL, |
5659 | | 0x6584520b38a83ff6L } }, |
5660 | | /* 2 << 28 */ |
5661 | | { { 0xd959f317635abcf0L,0xa516a43f99e17618L,0xed90ccf2ce3bd99bL, |
5662 | | 0x2fc6d460a9fb3290L }, |
5663 | | { 0xb61ebe090cde4302L,0x5a3b061ff908003bL,0xf51bb736f60f5787L, |
5664 | | 0x1717f6e9057efc2fL } }, |
5665 | | /* 3 << 28 */ |
5666 | | { { 0x565acf931ca260efL,0x7d6e797df1811d23L,0xe63c6920783e42c8L, |
5667 | | 0xdc9dbce88dcb5158L }, |
5668 | | { 0x1426dc7ac8e39022L,0xf3037f3430ebfe47L,0x75aa6845f87d6395L, |
5669 | | 0xbf792fd561f53539L } }, |
5670 | | /* 4 << 28 */ |
5671 | | { { 0xa8bf21726ddc3d83L,0xf68deb6ed88207bbL,0xa8eae2ebcd03bd7eL, |
5672 | | 0x64c7f57e951f59a4L }, |
5673 | | { 0x8badb223a1786d57L,0x2e7fda6071182790L,0x9dc90e369a5a9457L, |
5674 | | 0x6eca838bf4b07e07L } }, |
5675 | | /* 5 << 28 */ |
5676 | | { { 0xad2e235b03264871L,0xb4c56243b8b933deL,0xd9c2bdda91354c8eL, |
5677 | | 0x97d743ff6a73fc76L }, |
5678 | | { 0xbed4109dce88013eL,0xa2428275f3b3bf4fL,0x900d3560011e761cL, |
5679 | | 0x34925d7de24fd6c2L } }, |
5680 | | /* 6 << 28 */ |
5681 | | { { 0x08b966caa8198235L,0x355d098ced2d764aL,0xfac27f7ca3d63f3aL, |
5682 | | 0x3e553f6cd3edc140L }, |
5683 | | { 0x64d72c7f11ff4334L,0x48735aabbc62cb57L,0xcf064294eba21082L, |
5684 | | 0xc1f9e456bb8d96fdL } }, |
5685 | | /* 7 << 28 */ |
5686 | | { { 0x1d24bdbc293cd945L,0x76985bcbea254e36L,0x3df2cb6a876fb485L, |
5687 | | 0x0176969fcd1f673dL }, |
5688 | | { 0x8b41cacb642133a7L,0x31ea88f8373880e2L,0xccf1ff85b3b1463fL, |
5689 | | 0x88fffa15aca74a27L } }, |
5690 | | /* 8 << 28 */ |
5691 | | { { 0x9a4b9b92167cdd1fL,0xa9118fc0f879b894L,0xf6e73387c55479f5L, |
5692 | | 0xfadf82edc626d292L }, |
5693 | | { 0xa03bb76156e80e6aL,0x59a783f9f27555d1L,0x027d63b63d087e43L, |
5694 | | 0x29f9ff3202fdededL } }, |
5695 | | /* 9 << 28 */ |
5696 | | { { 0x88a9173d371d0ec5L,0x04ac4d0d08c0227aL,0x002130119c7ec715L, |
5697 | | 0x0d2b7c76d9d6b472L }, |
5698 | | { 0xe678d53a5050bdffL,0x8f929d5765a5fcd5L,0x0793920b1dc3e712L, |
5699 | | 0x9a6a690f4b073699L } }, |
5700 | | /* 10 << 28 */ |
5701 | | { { 0x329d9a81758bdc9dL,0xebbaadd97d867b66L,0x0d7e6b19e6025f68L, |
5702 | | 0x50184374c53dce26L }, |
5703 | | { 0x298cb00f3ed13916L,0x835fe31ef5d45b26L,0x373a9c49f5a7fb7aL, |
5704 | | 0x59ed7e2334d3d8a8L } }, |
5705 | | /* 11 << 28 */ |
5706 | | { { 0x1a8dfe333baf6fa3L,0x926ccce7da53714fL,0xda4feaed18ef6fe2L, |
5707 | | 0xeddaf090c3ca5cddL }, |
5708 | | { 0xc39c2046bfe06d45L,0x1d9e889e0d7f549fL,0x209ace738d537d0aL, |
5709 | | 0x6f182c880e31e1ceL } }, |
5710 | | /* 12 << 28 */ |
5711 | | { { 0x865e07611b8c82e2L,0xcf11bcb9a659f2abL,0x1804bbeb7c868143L, |
5712 | | 0x2fa89a0e453e36ebL }, |
5713 | | { 0x42d69d8f2e17bad1L,0xe7fcea6fdc2ec741L,0xe7f19b45379ceb37L, |
5714 | | 0x84f0bd8949bb35a0L } }, |
5715 | | /* 13 << 28 */ |
5716 | | { { 0xa8a506785264b33dL,0x8cfae763ab1c9e26L,0x1e837dc3ff9b931aL, |
5717 | | 0x76164be8796ac029L }, |
5718 | | { 0x26a8bb2b1266db27L,0xfba4ab8354822255L,0x7a5adcfd38524458L, |
5719 | | 0xa056c88244ee212cL } }, |
5720 | | /* 14 << 28 */ |
5721 | | { { 0xe8db6fee55018577L,0xf71256b691955960L,0xeb1c118e10abe8d8L, |
5722 | | 0x984efc9fd45a8426L }, |
5723 | | { 0x4e1b323a00f2c6edL,0x1759a7af331baae2L,0xf15871892e00ba6cL, |
5724 | | 0xbd8a877ebb385d39L } }, |
5725 | | /* 15 << 28 */ |
5726 | | { { 0x440d1eae57d6c1aeL,0x092abdefa957dc67L,0x1065cbc674554b3fL, |
5727 | | 0x67062382710566c7L }, |
5728 | | { 0xd327679d6d04ae2bL,0x11507b00b0340551L,0x2e571583a2f52d80L, |
5729 | | 0x673628f4e8578507L } }, |
5730 | | /* 16 << 28 */ |
5731 | | { { 0xecb8f92d0cf4efe5L,0x88c47214960e2d22L,0xca9549ef6059f079L, |
5732 | | 0xd0a3774a7016da7cL }, |
5733 | | { 0xd51c95f61d001cabL,0x2d744defa3feeec1L,0xb7c20cc20afedf2bL, |
5734 | | 0xbf16c5f171d144a5L } }, |
5735 | | /* 17 << 28 */ |
5736 | | { { 0x003847273dc0d12eL,0xaa95f450b01cc80fL,0x19be3106a6f8e927L, |
5737 | | 0x6d6e10aa0417ba8bL }, |
5738 | | { 0x149f120c870e3491L,0x27380b41026dde94L,0x97d00840f29b04e6L, |
5739 | | 0x21d5d7e34bf9eb19L } }, |
5740 | | /* 18 << 28 */ |
5741 | | { { 0xea1daad9d5327f05L,0xf1f45d949c88c17cL,0xc5f3dee23f8ee0abL, |
5742 | | 0x706b777c75238a56L }, |
5743 | | { 0xf7aee379f834c60bL,0x5c24dae613cfe17bL,0x354c82e58091804bL, |
5744 | | 0x0dec2fdf102a577bL } }, |
5745 | | /* 19 << 28 */ |
5746 | | { { 0xbf3b70305253f8fcL,0xe516fa69d913c01cL,0x053afef4a105ba64L, |
5747 | | 0x91a1f36cc89c1e76L }, |
5748 | | { 0x3375865c7e724e18L,0x4313214429327b2bL,0x9cb2fc3b6f7bb24eL, |
5749 | | 0x20a6a16d6319e789L } }, |
5750 | | /* 20 << 28 */ |
5751 | | { { 0x20bfbd77642c467aL,0x3452bb12259d50c8L,0x0d3ba9c7ec7ffab2L, |
5752 | | 0xbbdb54543560e541L }, |
5753 | | { 0xab1d6e22d63ba04bL,0xdf6f11d37d24f015L,0x7c4d61d2f3df15faL, |
5754 | | 0xd5269f7940b3288cL } }, |
5755 | | /* 21 << 28 */ |
5756 | | { { 0xf8516b9e0e7c7b6cL,0x48750d82c203dac8L,0x89845d36a13d3083L, |
5757 | | 0xb3db3cfa280a131aL }, |
5758 | | { 0x40045401fbf752e6L,0x0289f97b1432e856L,0x41a9f3715fc1aa11L, |
5759 | | 0xe5c1e5a58d464042L } }, |
5760 | | /* 22 << 28 */ |
5761 | | { { 0xfbee2ea2589b71a7L,0xdd6ee5bd5de7056cL,0xcf8a45418fd6b6deL, |
5762 | | 0xb47831dcb15e33b1L }, |
5763 | | { 0x126a21692064321eL,0xa21d2d226e517eddL,0x1f8072be5ba5a30bL, |
5764 | | 0x24cca576c6a24b7dL } }, |
5765 | | /* 23 << 28 */ |
5766 | | { { 0x57eab82f5c282027L,0x1620f5e6557344b3L,0x59e852e0460b3385L, |
5767 | | 0xc906e3dbf050816cL }, |
5768 | | { 0xc031f8cf3eb398e8L,0x9c25b69b507ac07fL,0x652baf2b9cf7bdbeL, |
5769 | | 0x06fedc535ad91107L } }, |
5770 | | /* 24 << 28 */ |
5771 | | { { 0xa8ca0be24c4b12c5L,0x633292b628762d5dL,0xc04983f2827c0d5eL, |
5772 | | 0xcb6b867dc707ef03L }, |
5773 | | { 0xa7fc0d5bb9ac1124L,0xa5ce085baab7dcafL,0xb85e8f1c1cfda998L, |
5774 | | 0x8208df4227822503L } }, |
5775 | | /* 25 << 28 */ |
5776 | | { { 0xeaa82320a8dd6d76L,0x7b2fb4aead36eb73L,0x24d7319197a7b040L, |
5777 | | 0xc3ff64ae4001e02fL }, |
5778 | | { 0xd5d8715788799d94L,0x559142d093ceb95aL,0x798a453c59c3009aL, |
5779 | | 0x546b6fab7d6c83a2L } }, |
5780 | | /* 26 << 28 */ |
5781 | | { { 0xe263b23a5c76029aL,0x856305324ac62973L,0x14ee0643ecb007acL, |
5782 | | 0xf9e062977ca60905L }, |
5783 | | { 0x21b2fb2392f1f170L,0x31c4091846528ab2L,0x43b532423395cfd2L, |
5784 | | 0x4042138f6d14fb40L } }, |
5785 | | /* 27 << 28 */ |
5786 | | { { 0x80899c8c4464f342L,0x0f54c993084be305L,0xfacecac3fbf84810L, |
5787 | | 0xa65859368ae5244fL }, |
5788 | | { 0xb467c3c09a9f8d4aL,0x3e5f219cfd394895L,0x39f0767a9bf85fa8L, |
5789 | | 0xd97cc55dd8ee6022L } }, |
5790 | | /* 28 << 28 */ |
5791 | | { { 0xc480938fc83f86c4L,0x6479b8efe43bfcc6L,0x8e6f2e2238cabad7L, |
5792 | | 0x48e57fdd31f8c6aaL }, |
5793 | | { 0x66dd6a77cfbbdcacL,0xc7d9950b50ece329L,0x2e31f2050747a937L, |
5794 | | 0xc0f8a7e2a07acb8aL } }, |
5795 | | /* 29 << 28 */ |
5796 | | { { 0x578477bd15eaa686L,0xd72fb935f2f58b50L,0xe9fdbc6fd3a64d22L, |
5797 | | 0xa3e42674492dc89fL }, |
5798 | | { 0x42410ffda8fb7d24L,0x08a37dfd52676ed7L,0x4607c41bcb5d6125L, |
5799 | | 0x7db48af84001fa42L } }, |
5800 | | /* 30 << 28 */ |
5801 | | { { 0xe2264eb150cd30f0L,0xbb6fe952e215f8d7L,0xf3ce241197e3fe73L, |
5802 | | 0xe52e217937f19247L }, |
5803 | | { 0x9c7fc8c020c233c1L,0x91c7e721b383b101L,0x1163c472a7ac883fL, |
5804 | | 0xbe1c3b3a9d3b0f1eL } }, |
5805 | | /* 31 << 28 */ |
5806 | | { { 0x07be716fa3536bafL,0x764d9f4e62e9c19aL,0x15af34998eaf19f4L, |
5807 | | 0x987a7c4738ea0aceL }, |
5808 | | { 0xb03740b84a1f0117L,0x5cd1164ffe098a9fL,0xaf952cefc9d6fee5L, |
5809 | | 0x4e86dcbb3c0ad28bL } }, |
5810 | | /* 32 << 28 */ |
5811 | | { { 0x81125450677b7a8fL,0xba889fcee69273d2L,0x4a40a859582c5990L, |
5812 | | 0x836638b3f48934c3L }, |
5813 | | { 0xe964e189f3596ba6L,0x2f417c0ede8b0754L,0xd883169fd5f93f1bL, |
5814 | | 0x0318fe4ed45bb389L } }, |
5815 | | /* 33 << 28 */ |
5816 | | { { 0xe2c998a1db03273eL,0xc34f544d33ec151bL,0xae0456b1eb92d963L, |
5817 | | 0xaab61ec49738857fL }, |
5818 | | { 0x4fb6a34ef71d9c39L,0xaa9dbd8cd816ec44L,0xf6532e375efdf950L, |
5819 | | 0x7151dc4467109c55L } }, |
5820 | | /* 34 << 28 */ |
5821 | | { { 0xb18b586a3f4e322cL,0x27b300663553a18bL,0xbd31ea241ae4cd85L, |
5822 | | 0xe8f88f4aa64de69aL }, |
5823 | | { 0x8c946a97609c13bbL,0xbf8cc55a0eebd9f0L,0x446aa2e47a8892b9L, |
5824 | | 0x660c0a5565b98c31L } }, |
5825 | | /* 35 << 28 */ |
5826 | | { { 0x568c56fcd3463522L,0xfa6bf3a6eb130aa5L,0x16c1568b008dc0daL, |
5827 | | 0x9c4132ccfed70a87L }, |
5828 | | { 0x3e983d09d497fdffL,0xd7a0e542f0ebe6b0L,0x193a07e068b542caL, |
5829 | | 0x4909776b07c6ab4fL } }, |
5830 | | /* 36 << 28 */ |
5831 | | { { 0x55b77ef4418acd7bL,0x64ba62d347a77d32L,0xaec1aa932d1f562eL, |
5832 | | 0x3468725b10dc5999L }, |
5833 | | { 0x422851b16ff0d478L,0x15da84298e7dddccL,0x38567920b8ac5238L, |
5834 | | 0xfd29eb4a2e3344d8L } }, |
5835 | | /* 37 << 28 */ |
5836 | | { { 0x7b2af70c4fc636b5L,0x242acfc8879e7640L,0x88e89786b5e25c7bL, |
5837 | | 0x85576b1b16ec1bfdL }, |
5838 | | { 0xb31c82531891e595L,0x14315dfeca5608a5L,0xb9d61b76b0c14fd9L, |
5839 | | 0x5d5ad8a3734b6cabL } }, |
5840 | | /* 38 << 28 */ |
5841 | | { { 0xc2ea321d44aee005L,0xd68abd2c147ed658L,0x31152d60893db877L, |
5842 | | 0x4807ac46281487b6L }, |
5843 | | { 0x58ebd15e65da04b5L,0xf0f74fd4b2f9d1fdL,0x3d04aa65393c7d91L, |
5844 | | 0xb46fb59a8e7e6a2cL } }, |
5845 | | /* 39 << 28 */ |
5846 | | { { 0x9236fdf1ae1eed5dL,0x71936f567810e2beL,0xa1ead7d56d9ff147L, |
5847 | | 0x32670ed8149a9b6dL }, |
5848 | | { 0x12772fddcb58ea59L,0xfce260b39df52ddbL,0x3221f2fbccab1e97L, |
5849 | | 0xf8ff7e3757762484L } }, |
5850 | | /* 40 << 28 */ |
5851 | | { { 0xb0a31a1c855512cfL,0x293a819ed71d4c4eL,0xc1ebc896cd6a900fL, |
5852 | | 0xc727a6469b9e0a4bL }, |
5853 | | { 0x06124fc00018f29fL,0x67bd8fed41b7730cL,0xeeebf0f0c77be72eL, |
5854 | | 0x427fe6fe474d747aL } }, |
5855 | | /* 41 << 28 */ |
5856 | | { { 0xa7fb9a4f932ccbf0L,0xabb9c85e5f3d489fL,0xe7e4f956bdf26442L, |
5857 | | 0xd014848e38d17422L }, |
5858 | | { 0xae37d855d3e9bff6L,0x88fbae1dca5aeb09L,0x1a8a740bf025feaaL, |
5859 | | 0xc1a67821b9475ebbL } }, |
5860 | | /* 42 << 28 */ |
5861 | | { { 0xb6cb6accde2bf8a2L,0x9b2ab1ca66a0f14eL,0xcbfbc06883b2ba59L, |
5862 | | 0x336ab62c68447934L }, |
5863 | | { 0xd3a016a9f19719b8L,0x819a31bb0b5b9d6eL,0x7b24be2b3e1c6c0bL, |
5864 | | 0x10834b4a013f6821L } }, |
5865 | | /* 43 << 28 */ |
5866 | | { { 0xe5e5de2786f21d2cL,0x56b46a2de9e35ad5L,0xfc4e861de2111e59L, |
5867 | | 0x7472ce5e6e37ca63L }, |
5868 | | { 0xafab9a7127d2210eL,0x1644a0a69ff6245aL,0xee498acb8dbef51fL, |
5869 | | 0xd4c70da12e9604d3L } }, |
5870 | | /* 44 << 28 */ |
5871 | | { { 0xde4873646fecb64cL,0xa8fda1fdd15fb62fL,0x97e2febe088de028L, |
5872 | | 0x4a769019ecdce095L }, |
5873 | | { 0x4cb6a33850a58ddbL,0x08df59d817028d36L,0xfe3a80ffb51722b7L, |
5874 | | 0xa3cc2fe2963c2383L } }, |
5875 | | /* 45 << 28 */ |
5876 | | { { 0x40b2df4953cc5341L,0xf3e90d4ca3c4bf2fL,0x3f25c5ec20f02731L, |
5877 | | 0xd84f5b5a69065d9aL }, |
5878 | | { 0x156d350e129921beL,0xe98787cc1b116922L,0xba5f9b8239e77b13L, |
5879 | | 0xee4d79f5044449a5L } }, |
5880 | | /* 46 << 28 */ |
5881 | | { { 0xb54b7388dd6d852dL,0xf7554c5cf9ca5fdfL,0x864d1fbf51228a81L, |
5882 | | 0x721e1add9a80f90bL }, |
5883 | | { 0x89d4e297ad0efa62L,0x4e471a876dba9404L,0x9a38158b1c1008b0L, |
5884 | | 0x3dfe81a795c47ec2L } }, |
5885 | | /* 47 << 28 */ |
5886 | | { { 0xcb02ce9b28603026L,0xfd3207aa3bd357fcL,0xb3807bddf296f5f2L, |
5887 | | 0x7895918d23c2ea7eL }, |
5888 | | { 0xdc0eb62f88feb3baL,0x024dfd84bdd75674L,0xe5bd38280a1e0496L, |
5889 | | 0xb8b1cd8624c8f30cL } }, |
5890 | | /* 48 << 28 */ |
5891 | | { { 0xb559e34d674d10cfL,0x6955bb699f962ec5L,0x8bf1ab6c542af42dL, |
5892 | | 0x3f2f33fadfa61256L }, |
5893 | | { 0x3214019573d1049eL,0xf5089278dfd7f39bL,0xb42eb51cb4237be0L, |
5894 | | 0xdf747f44874d0e57L } }, |
5895 | | /* 49 << 28 */ |
5896 | | { { 0xbe64bb2277b5d475L,0x2c3d5ecb28308634L,0x936a2987cb999c46L, |
5897 | | 0x5a30ddfae26489eaL }, |
5898 | | { 0x8bfc782ec8eabf9cL,0xb9995bb074c8c6e3L,0x4f99c7ac391f5c5aL, |
5899 | | 0x67f4092b5270c4adL } }, |
5900 | | /* 50 << 28 */ |
5901 | | { { 0x6771a29de6e8135eL,0x988dfb2b6c698cecL,0x7818600f77812aa1L, |
5902 | | 0x04393c83fd98e1c1L }, |
5903 | | { 0xe448232e864ef146L,0x9b70ecf4a465ab71L,0x31df0531b13cc704L, |
5904 | | 0x401ae0b316e48426L } }, |
5905 | | /* 51 << 28 */ |
5906 | | { { 0xa81066307fc514edL,0xda798170de4b1614L,0xde892efcc2c684feL, |
5907 | | 0xd5205bc105d64effL }, |
5908 | | { 0x84df4eade1d59ba5L,0x65245ca189bb2ea7L,0x3de6ca3464edbf51L, |
5909 | | 0x115296e456bcebf9L } }, |
5910 | | /* 52 << 28 */ |
5911 | | { { 0x0851631f7fd52a3dL,0x9881db71949ad4beL,0x4b2337dd88caf772L, |
5912 | | 0x02da59de33ec7979L }, |
5913 | | { 0x2473c620afe840dfL,0x2965ebffa92ef1d0L,0x2452854f6fcd9651L, |
5914 | | 0x97092935bac2ed99L } }, |
5915 | | /* 53 << 28 */ |
5916 | | { { 0xf0743ce708242246L,0x76fdd82c6d1a8439L,0x3627c89061079258L, |
5917 | | 0x312f98f182b21983L }, |
5918 | | { 0xd87dceece9173891L,0xad16cfe0d7a30e32L,0xc404a1a6c9c7efafL, |
5919 | | 0x46e34671d6df357eL } }, |
5920 | | /* 54 << 28 */ |
5921 | | { { 0x92fec7c47a02aa32L,0x567fef7e5a6a7bb9L,0x35fd570ca3f97b5dL, |
5922 | | 0x456bad8c4a4b0dfaL }, |
5923 | | { 0x85a3f42ca677f090L,0x35060bb822a68d53L,0x1cea9d1153567530L, |
5924 | | 0xf2cbc8dd8169fbceL } }, |
5925 | | /* 55 << 28 */ |
5926 | | { { 0xa3e1d52d86cde794L,0x72a258cbb3bdf344L,0x2997cd5931b8614dL, |
5927 | | 0x31ce2ea48164b632L }, |
5928 | | { 0xe495e9b70eba7545L,0xaad69130bc4403b5L,0x37f6389b45760d9bL, |
5929 | | 0x00f4d58db871b17dL } }, |
5930 | | /* 56 << 28 */ |
5931 | | { { 0x91973d4d4aa359d7L,0x249f510cc8dd0582L,0xef11ac877608be27L, |
5932 | | 0xce116714d940b1c7L }, |
5933 | | { 0xf34881f3fef20037L,0x2622247298203f4eL,0x4c9e98ede9363154L, |
5934 | | 0xa806b3a603a8158dL } }, |
5935 | | /* 57 << 28 */ |
5936 | | { { 0xdd974d6609d16ce3L,0xe1bcc51359ae977aL,0x0e6201c7218464d6L, |
5937 | | 0x057898119e35c7afL }, |
5938 | | { 0xb1596f7a8b33a863L,0x8fa93aeb42bd8284L,0xf197c20246e11559L, |
5939 | | 0x356b9c81add27d86L } }, |
5940 | | /* 58 << 28 */ |
5941 | | { { 0x3c4080fd1695cb70L,0xc10c28cc20f20318L,0xe9d7ed93ce1ffab9L, |
5942 | | 0xb23976b34f9de9bdL }, |
5943 | | { 0x9b1b81dd6d61a6f2L,0x7537d729f6318874L,0xb75022f420cee7abL, |
5944 | | 0x425fddbaaa430952L } }, |
5945 | | /* 59 << 28 */ |
5946 | | { { 0x54c4306d1ccfb3fdL,0xf10a54f146a30a37L,0x2d332a2974fd4925L, |
5947 | | 0x8d2fa9211438feb2L }, |
5948 | | { 0x46a9c6b5fbb41bd2L,0x87e98550d30c65fdL,0xfbcb2ca666cd9a20L, |
5949 | | 0xc176530e91719670L } }, |
5950 | | /* 60 << 28 */ |
5951 | | { { 0xdd4a1a18cec38056L,0xe6ef179375544998L,0xf58f69cf30583fb6L, |
5952 | | 0x12197860aa76bf2bL }, |
5953 | | { 0x717813e53bb686fcL,0x9beeb1ae0f06c403L,0xd83416ee2782dc86L, |
5954 | | 0x5fc89c01b5500cccL } }, |
5955 | | /* 61 << 28 */ |
5956 | | { { 0x063aee258e110ed3L,0x1a87377c45963073L,0x86944f595110634fL, |
5957 | | 0x50659ae10ba76459L }, |
5958 | | { 0xa00e48ffde9eb40dL,0x49235afafe5b118cL,0x81705008c425ee38L, |
5959 | | 0x3c01abc82d5f2f92L } }, |
5960 | | /* 62 << 28 */ |
5961 | | { { 0x4a21bc956fdf148bL,0xea5cc30e0b7e6871L,0x90b4abb611713844L, |
5962 | | 0x3b7d734ff2001af9L }, |
5963 | | { 0xfc616b89782b2020L,0x68b3935cd8b0e02dL,0x54cf5b8c1cbb2de4L, |
5964 | | 0x42b0432aa7c0f7acL } }, |
5965 | | /* 63 << 28 */ |
5966 | | { { 0xa04e06efbdffae5eL,0x36cac28ed4b636eeL,0x08a06b2fc3a98127L, |
5967 | | 0x1ef0b57b290c5385L }, |
5968 | | { 0x14e184b827154c46L,0xa5dd344460910b3eL,0xd0008ac43c67a74bL, |
5969 | | 0x2649cba4efed9fd1L } }, |
5970 | | /* 64 << 28 */ |
5971 | | { { 0x26bc537af0c1bb4fL,0x37f376ffd06b90f5L,0x4d48d994be7c89cfL, |
5972 | | 0x511c21588d572003L }, |
5973 | | { 0xc26fbac1088dda1eL,0xc3d551897ad4934cL,0x5233c17685dcaf7cL, |
5974 | | 0xec3a8a29a88b473dL } }, |
5975 | | /* 0 << 35 */ |
5976 | | { { 0x00, 0x00, 0x00, 0x00 }, |
5977 | | { 0x00, 0x00, 0x00, 0x00 } }, |
5978 | | /* 1 << 35 */ |
5979 | | { { 0xfd96667ab1f0c175L,0xa256a6112ab99e7dL,0xff07c1ea05e43f9dL, |
5980 | | 0x305700bc7e1c9cd6L }, |
5981 | | { 0x3f1e25462b2887a3L,0xdd782f49c772fd14L,0x9125f99638584057L, |
5982 | | 0x19fd039616a02cf9L } }, |
5983 | | /* 2 << 35 */ |
5984 | | { { 0xa8d62bd34c58174dL,0x872251d3a900551fL,0x06f5862df12802c3L, |
5985 | | 0x5d93c48add925555L }, |
5986 | | { 0xc39b67d5bd6006f8L,0xea6f756bf96ccc67L,0x140e853e543014dbL, |
5987 | | 0x2bdc5674e9de42c0L } }, |
5988 | | /* 3 << 35 */ |
5989 | | { { 0x01dfda7be01c073dL,0x07a6bb65ff9e1234L,0x2a4f7f18622cee4eL, |
5990 | | 0xdf4cead850f0a3a7L }, |
5991 | | { 0x152b3c8e1b8c2903L,0x9e82e9995f2a89b3L,0x0e6cfa7e68ce7a3cL, |
5992 | | 0xebb34d900ca0464cL } }, |
5993 | | /* 4 << 35 */ |
5994 | | { { 0xfa1a58faeda49f74L,0xddb899570e4545a3L,0xd3576489c74c07e4L, |
5995 | | 0x64e4b39eb59b1008L }, |
5996 | | { 0x3b090340f66b546cL,0x0e0f4013cdeb912fL,0xbb00b46c01e55ccaL, |
5997 | | 0x55b61b3499ad0768L } }, |
5998 | | /* 5 << 35 */ |
5999 | | { { 0xb06b71fce8bbda5bL,0x8de64d84a24b0a63L,0xb73dc262b5d4603fL, |
6000 | | 0x5d5fa9641965a916L }, |
6001 | | { 0xb48a40533bc98966L,0xaa8718636f564743L,0x88b00822e76a6a3eL, |
6002 | | 0x58c9e92eb38d9e0dL } }, |
6003 | | /* 6 << 35 */ |
6004 | | { { 0xc0d22337e989963eL,0x2c4831ced3778d5aL,0xd775c6a5ee8c4178L, |
6005 | | 0xe23916549d0c2894L }, |
6006 | | { 0xf7d4fe865d0eb314L,0x42801b8f8b2290d3L,0x73e9b332cdcefa78L, |
6007 | | 0xc0d169d93e877feaL } }, |
6008 | | /* 7 << 35 */ |
6009 | | { { 0x29c8138bffee23faL,0xbff98230fb92e3b8L,0x14077ad58fa75007L, |
6010 | | 0x4d3a6e1088e61b81L }, |
6011 | | { 0x218a867d3bcf733dL,0x20ff6566665e37fcL,0xe39c0581da5cbf67L, |
6012 | | 0x4a6e1d7c8add8c4cL } }, |
6013 | | /* 8 << 35 */ |
6014 | | { { 0xcab02370734a1327L,0xa1df7afc1951afa8L,0x581cfbaf42638b8aL, |
6015 | | 0x39db6d2b2130eaa6L }, |
6016 | | { 0x4bbc805bda2f91a5L,0x3dcb0a7ee569add8L,0x724ab65ad721fa7dL, |
6017 | | 0xa5152b95f88f8008L } }, |
6018 | | /* 9 << 35 */ |
6019 | | { { 0x7fe7f1b9281615baL,0x419d1a5341d5aa0cL,0xafc556dc9fb0917eL, |
6020 | | 0xab2a69f3616ce893L }, |
6021 | | { 0xfb9a6eb1c0861e05L,0x0b74ae115eb02b8fL,0xccff0ad53b1e44feL, |
6022 | | 0x86dfe0e688824f53L } }, |
6023 | | /* 10 << 35 */ |
6024 | | { { 0xedf38dc441177a46L,0xd9a955bb7f039a7bL,0x4f1525814d8ae7c2L, |
6025 | | 0x063c9f834f848819L }, |
6026 | | { 0x54ea4526841e8783L,0xe86a4119aa5f2b32L,0xb7529a3b19846dcfL, |
6027 | | 0x91356a0735689d70L } }, |
6028 | | /* 11 << 35 */ |
6029 | | { { 0xbe66f5db8f049ef8L,0x0f5fd99ec38dd5edL,0x1896d52b1b4ae7a7L, |
6030 | | 0xf27c45c6480b1ebbL }, |
6031 | | { 0xd88cff4c3fede5c1L,0x57d902c9da27560bL,0x84aa7f0752d57debL, |
6032 | | 0x8da4c7c808bb6028L } }, |
6033 | | /* 12 << 35 */ |
6034 | | { { 0x658f4dea8910763eL,0x6e5fcb48076a0f80L,0x6a5447a4ab65f9b9L, |
6035 | | 0xd7d863d4a75bb0c5L }, |
6036 | | { 0x806c34a7e87e7916L,0x05391559cd961e88L,0x5def2d8874fe6aebL, |
6037 | | 0x8ac350b2f9226ca1L } }, |
6038 | | /* 13 << 35 */ |
6039 | | { { 0xffa8a64912401813L,0xd61827625337c55dL,0xfce9d7ff3be902e3L, |
6040 | | 0xb3b275d1ea0dd7a5L }, |
6041 | | { 0x342620f42cb48ac9L,0xc0369384a8b38a74L,0x04b0ee6ac0695d3aL, |
6042 | | 0x4d02558594c5394dL } }, |
6043 | | /* 14 << 35 */ |
6044 | | { { 0xff9635d081443d16L,0x2342cbfaa6cc364bL,0x63b0a03225bf8438L, |
6045 | | 0x6ccd3ce5a078d298L }, |
6046 | | { 0xf93bd10891292fd3L,0xc887a31b14073286L,0xeb1275bf9f62cd16L, |
6047 | | 0x0335bae361578b46L } }, |
6048 | | /* 15 << 35 */ |
6049 | | { { 0x810d5efd53348e4eL,0xf9cd822a63c74225L,0x93d2e810a426bf44L, |
6050 | | 0x95a47a97019d36b3L }, |
6051 | | { 0x1da421b9d5d1f840L,0xe5b8a55fd6c46e3cL,0x2dd3a5e7c9244881L, |
6052 | | 0xd50f9cde70c1fd2fL } }, |
6053 | | /* 16 << 35 */ |
6054 | | { { 0xbee2aca7614d9ff3L,0xd1f13b2c358f245aL,0x9e92d83fc46f62abL, |
6055 | | 0xc1dd32dd827d7374L }, |
6056 | | { 0x1636d593c3e566e7L,0x81c2f4e704ccb02bL,0xb57782c6cd35b652L, |
6057 | | 0xad88787e88210d42L } }, |
6058 | | /* 17 << 35 */ |
6059 | | { { 0x3ad52d72fbd7d35aL,0x4117f50237a2a095L,0xed03d415d356b3b6L, |
6060 | | 0x135d5a8c15ca6087L }, |
6061 | | { 0xfbaba41fef5dca2aL,0x660e5cd0afb4787dL,0xe0e66378a55e9ef0L, |
6062 | | 0xf24513cf69939f56L } }, |
6063 | | /* 18 << 35 */ |
6064 | | { { 0x0f38f09cab4f6bd9L,0xec3037b4922dcac1L,0x706b201a08a1a51eL, |
6065 | | 0x159113518ffff040L }, |
6066 | | { 0x239d7b6accf63d87L,0xeca37dc85187f595L,0x04ea79e4ad5a0ab3L, |
6067 | | 0xcdd81522e9520e8fL } }, |
6068 | | /* 19 << 35 */ |
6069 | | { { 0x7fe6b6aac35e1020L,0x57b63c9e140ac884L,0xc45c23fc33f19077L, |
6070 | | 0x468d2c36b71273c5L }, |
6071 | | { 0xeb6839d6fc305ac2L,0xf6e310ff0183793aL,0xbca206e432da639dL, |
6072 | | 0x8eb5cac18518e27eL } }, |
6073 | | /* 20 << 35 */ |
6074 | | { { 0xfeed0feb66ed96f9L,0x1632632eecc3a8dcL,0x904493631455c8aeL, |
6075 | | 0x8d7619d40aeada65L }, |
6076 | | { 0x2f2fa8989f630ee9L,0xd78caf0c370db87cL,0x46fa0fc9c45898cfL, |
6077 | | 0xa509cc3e2d84244fL } }, |
6078 | | /* 21 << 35 */ |
6079 | | { { 0xbdbea4b4a5b099aaL,0x8e8fe2847592587bL,0x0226d38742000897L, |
6080 | | 0xb678055136db5cd9L }, |
6081 | | { 0xd8fe5eb1ca64f047L,0x6f21474bb77cf8cbL,0xab8fcae7ee45ae34L, |
6082 | | 0x73eaf9eb1f19cd67L } }, |
6083 | | /* 22 << 35 */ |
6084 | | { { 0x5bb96415ee4df6ceL,0xd1e27bcfa3ae4cf3L,0x9bf7ace3c7f1868eL, |
6085 | | 0xe821aa8b82091dcaL }, |
6086 | | { 0xf732e6bcd381b6c4L,0x5feda346dd01864fL,0x0933b92cb6387846L, |
6087 | | 0xbf1f1e83a0028029L } }, |
6088 | | /* 23 << 35 */ |
6089 | | { { 0x0848bf8ca3e38124L,0xfe295fdf208fda8fL,0x733792398913a1c4L, |
6090 | | 0x59354b247e78564eL }, |
6091 | | { 0x042b752932dcafbcL,0x752173d3fa93c5c7L,0x6ffd45909737135aL, |
6092 | | 0x249712b00f983005L } }, |
6093 | | /* 24 << 35 */ |
6094 | | { { 0xdbba28741f25da8bL,0x14027f11097ba4a9L,0xe429b3c734b8e4a2L, |
6095 | | 0xd66a43e3056b4afcL }, |
6096 | | { 0x158644ad2ac351e6L,0xff4aecd9164bc6ccL,0xbb5b0c87f6c615eeL, |
6097 | | 0xc497d8eed7679b1bL } }, |
6098 | | /* 25 << 35 */ |
6099 | | { { 0xf666c625f1c6e97aL,0xe89f84b2c73a277fL,0x2403d513746af4c0L, |
6100 | | 0xe6858fdfb7101febL }, |
6101 | | { 0x1a42c51b84f1dcb7L,0xc57f12e08202bc04L,0xf8326a93754df5aeL, |
6102 | | 0x3d3daf0481a46aefL } }, |
6103 | | /* 26 << 35 */ |
6104 | | { { 0x8bb8c27601232d03L,0xd446c82efb371cf1L,0xe5e8b639efa495f4L, |
6105 | | 0x51a7b34a477e6493L }, |
6106 | | { 0xffba5466824f2b6eL,0xcc67ddadf0eaa6a9L,0xcf0f8ce1fee19b24L, |
6107 | | 0x3430912783b3df41L } }, |
6108 | | /* 27 << 35 */ |
6109 | | { { 0xc8b13e8c9719a6cdL,0xb408e505619d5c33L,0x8c1b831ba3158864L, |
6110 | | 0x506b3c160b3d02bbL }, |
6111 | | { 0xf23846bcbf11ff8dL,0xf0f043e816e0328aL,0x30b7b9cd65986a7aL, |
6112 | | 0x0951b10221b660cdL } }, |
6113 | | /* 28 << 35 */ |
6114 | | { { 0x72a26c5f52bf29a5L,0xb513d669b6534592L,0xb8ac15ad578195eaL, |
6115 | | 0xd6ed33eac0785f88L }, |
6116 | | { 0x39e23dbfb9e33946L,0xeadb2453f43e88ebL,0x6d82fefa2746c34bL, |
6117 | | 0xe9172aa0cc542b54L } }, |
6118 | | /* 29 << 35 */ |
6119 | | { { 0x8af6b819ecb50699L,0x4af769391c1d0af9L,0x5a7dbbbe99dddb1aL, |
6120 | | 0x97b0a3aa891ea41dL }, |
6121 | | { 0x32b457e66e35ea4fL,0xe2a21c2a9d77b900L,0xb18718d62ac991cfL, |
6122 | | 0xc4416237740743cdL } }, |
6123 | | /* 30 << 35 */ |
6124 | | { { 0xcc3f76b66a05ab55L,0x2ab4b29e98091425L,0xbf373ad1b6478fc8L, |
6125 | | 0x8a1a9489178b5844L }, |
6126 | | { 0xb5295edf09daf4beL,0x07fbb1194ed54766L,0x6e44367b7d0b9d8fL, |
6127 | | 0x6dc4d8f6edb96a10L } }, |
6128 | | /* 31 << 35 */ |
6129 | | { { 0x2ba6910637fc19a3L,0x522eba390b138296L,0x751544c7fda58cf3L, |
6130 | | 0xaba6fe160ba33938L }, |
6131 | | { 0x48e085be94dac7d6L,0x06c8701419f99faaL,0x33b9a8d61a587f89L, |
6132 | | 0xdae382ca3fd8d8feL } }, |
6133 | | /* 32 << 35 */ |
6134 | | { { 0xb5b383c6150b0fcdL,0xf948da80ed9b0f4cL,0xcf075225ccd05413L, |
6135 | | 0x3f31b12c4f62be64L }, |
6136 | | { 0x23b21fc8368c17f6L,0x423d5369400bc690L,0x5335dd1edeac140eL, |
6137 | | 0xe631c2499493ad61L } }, |
6138 | | /* 33 << 35 */ |
6139 | | { { 0xc274c69532fe490aL,0x42bcb4e16d8ebd70L,0x69059e1e65d7a1d0L, |
6140 | | 0xf36dfe2f29fdd109L }, |
6141 | | { 0xacfea1ec0c4e6370L,0x97e7f7227a935ff4L,0x83e7c7c3f8006bbdL, |
6142 | | 0x87a8b84d78e6792cL } }, |
6143 | | /* 34 << 35 */ |
6144 | | { { 0x5cbe488394d3d60fL,0x6eba464d91cbc054L,0xf9c880d0021c38faL, |
6145 | | 0x6200faf121af4942L }, |
6146 | | { 0xd5b2b12d5f03e261L,0x1659a0acf3ea3e07L,0x8008f18d836757a8L, |
6147 | | 0xfb2f467b75a8f8e0L } }, |
6148 | | /* 35 << 35 */ |
6149 | | { { 0x9a6183c79c9b00ccL,0x82ca07e33bf842b0L,0xe7089191ee1f83d9L, |
6150 | | 0xc41ecde42d0cd2daL }, |
6151 | | { 0x0ce421b04d1feacdL,0xe80a1395431c53f1L,0xae9b2018e6bfccf5L, |
6152 | | 0xdf9f86ad8b359c3bL } }, |
6153 | | /* 36 << 35 */ |
6154 | | { { 0x9887e28fb6170a5fL,0xf5b85d21f3c0c30cL,0x30861cf8632af7a4L, |
6155 | | 0x2fb670adbb4ec123L }, |
6156 | | { 0x0668b84c3c425976L,0x55c21b4e02883af7L,0x0fad58b5f8698d29L, |
6157 | | 0xef21077068b671c5L } }, |
6158 | | /* 37 << 35 */ |
6159 | | { { 0x534d510a23f232b8L,0xdb66fec149c99708L,0xf1a6f3e76d54721bL, |
6160 | | 0x8d37ab644480f858L }, |
6161 | | { 0x7fcfca6cb0f7f354L,0x58c7ff5f95bfd318L,0x3048e9af903f9d91L, |
6162 | | 0xe480bc0e75357af0L } }, |
6163 | | /* 38 << 35 */ |
6164 | | { { 0x4f915e1ca5a1162eL,0xdd539c2137efa40cL,0x61a45c53789201c2L, |
6165 | | 0x1bc2333de7890746L }, |
6166 | | { 0xeed38f50bbed8f77L,0xc1e93732178501a0L,0xfed5b1d1a8fb8623L, |
6167 | | 0xa3be3e2cdc3e1148L } }, |
6168 | | /* 39 << 35 */ |
6169 | | { { 0x62fc1633a71a390aL,0x4be2868e2891c4c3L,0x6573fe492a0c3c23L, |
6170 | | 0x182d0bd4de1589d0L }, |
6171 | | { 0x17c6a7805a7aa63dL,0x9d84cfa812543191L,0xcdb22db7950c85c9L, |
6172 | | 0xd03589e0119010c4L } }, |
6173 | | /* 40 << 35 */ |
6174 | | { { 0xbcd02e8a8220dee8L,0xbd4d1f2a705632fdL,0x00119bfd22f8e30bL, |
6175 | | 0x06c6e73e6eb97c32L }, |
6176 | | { 0xa26f0a6a35abff53L,0x7d79a89f8564c37dL,0x0347bb171b207495L, |
6177 | | 0x1baf90e9b5c8253aL } }, |
6178 | | /* 41 << 35 */ |
6179 | | { { 0x01059b5f37affc96L,0xbe76c578ffee0a60L,0x45d7291b75d6b83cL, |
6180 | | 0x212ff131e0b58129L }, |
6181 | | { 0x4acc5748aa5d46edL,0x9fc557d99193931bL,0x17568fcfda4eba9bL, |
6182 | | 0x2cf3690ca0edc975L } }, |
6183 | | /* 42 << 35 */ |
6184 | | { { 0x0e8b0e7e953df6fdL,0x38ea7cea62036a87L,0x57e01428655c3685L, |
6185 | | 0xaedfee73c39d8a43L }, |
6186 | | { 0xed7f65985fb27e0aL,0x524c3653946888e0L,0xd84a299be949b72fL, |
6187 | | 0x76c1397ab0c61ea4L } }, |
6188 | | /* 43 << 35 */ |
6189 | | { { 0xfd9f7ed01afe465aL,0x832c69addbbaf852L,0xcd888c2203713338L, |
6190 | | 0x4e1fe026e3306617L }, |
6191 | | { 0xa87adf8623521b97L,0x673d3625f9fbb2a0L,0xf29a14135d8f5b80L, |
6192 | | 0x6e9be0c4d3526501L } }, |
6193 | | /* 44 << 35 */ |
6194 | | { { 0x6129f861e8bfd84dL,0x1df491d677e35a47L,0xefe0e9a9a84a82cbL, |
6195 | | 0x972bc3bc6d949612L }, |
6196 | | { 0x8d7795f53a766ecaL,0x6119383f12fcc6d4L,0xa66d9836c95f0e21L, |
6197 | | 0x77a0aa0a684e434bL } }, |
6198 | | /* 45 << 35 */ |
6199 | | { { 0x3d55d2567dd7b05aL,0xda6162430fed8362L,0x24bd0fe8383e94feL, |
6200 | | 0xbc2b73346bfd0cd2L }, |
6201 | | { 0xf9497232321f7a70L,0x37a4c2f66a3df54fL,0x7ba783bf4ddc49d6L, |
6202 | | 0x4d14231704408c76L } }, |
6203 | | /* 46 << 35 */ |
6204 | | { { 0x7502146b38b99f23L,0x479ab73c21992e8fL,0xf605370ad52c41d3L, |
6205 | | 0x358b746d3a60435fL }, |
6206 | | { 0xb2cbab945bc537b8L,0x1fd24431b99057d3L,0xff2242a0b8510f3cL, |
6207 | | 0x74b4965d0733bc53L } }, |
6208 | | /* 47 << 35 */ |
6209 | | { { 0x30a3a63486edc9b2L,0x99c9cf1949c07c7fL,0x9d8a50c25b0cd506L, |
6210 | | 0x0ed9da5abbcb3d65L }, |
6211 | | { 0x6de1fb5e013f88ecL,0xc9356bff09086f8cL,0xa272e1ac2b8825d7L, |
6212 | | 0x3ad83acbf2c5ba33L } }, |
6213 | | /* 48 << 35 */ |
6214 | | { { 0x721ca22c275bce43L,0xf058b8a7d24f78e8L,0xd178eb57eed46b97L, |
6215 | | 0x4ad7d425259fdb5bL }, |
6216 | | { 0x669ed8531b515fe5L,0x9f14b8e576fa1b5eL,0xfaba8d0c3da46b02L, |
6217 | | 0x759c2c95338f7652L } }, |
6218 | | /* 49 << 35 */ |
6219 | | { { 0x9a369cb0b5c0ceb3L,0xc1d2d1ab28a2a633L,0x676190e3fcb48cd3L, |
6220 | | 0x9af97ab3ee09c3b1L }, |
6221 | | { 0x39323719f7e918f5L,0xc657cb57fd3cd554L,0x78a33d05a2a02d5cL, |
6222 | | 0xda3b79df64ada03fL } }, |
6223 | | /* 50 << 35 */ |
6224 | | { { 0x7115ab5c61b3a72aL,0xdd19f34b337194fcL,0x0f23bfec8f0a14c3L, |
6225 | | 0x1fe19eeca60485d3L }, |
6226 | | { 0x1ca308c3a463dc9bL,0x83e18dd05e1ae8beL,0x849eabdfd928c0e7L, |
6227 | | 0x2d131ff56bd3e7b3L } }, |
6228 | | /* 51 << 35 */ |
6229 | | { { 0xc84cd28445be4c14L,0xdee94092f8f4c719L,0xe8f223ef3cb73831L, |
6230 | | 0x24382f8818c2361eL }, |
6231 | | { 0x205366d0be91c8ddL,0x1e17b50c56024b95L,0x3c3487da742cabd3L, |
6232 | | 0xbe4513878bad494cL } }, |
6233 | | /* 52 << 35 */ |
6234 | | { { 0xfae6c0bf18ffaef0L,0x2e7b0ee385ed1edeL,0x3cebaa05125d1488L, |
6235 | | 0xcd0de0fe7c8b7fb8L }, |
6236 | | { 0x59434d54464bc74aL,0x17472da2a03fd77bL,0xab23d0422c1a9edcL, |
6237 | | 0x5390625ed9cf4b37L } }, |
6238 | | /* 53 << 35 */ |
6239 | | { { 0x43b858440531264eL,0x8d71805eee7aedcaL,0x4ace3068fbe643adL, |
6240 | | 0xc98d1cd25f7d46c1L }, |
6241 | | { 0xd4888744f59b3acdL,0xcf662d6127288b99L,0xf27045615bce2649L, |
6242 | | 0x33a8f3f9206ae654L } }, |
6243 | | /* 54 << 35 */ |
6244 | | { { 0xe834843f9bce2b39L,0x8de8e41da90cfc7dL,0x398800edd81115b4L, |
6245 | | 0x4d33f7c5ff2532daL }, |
6246 | | { 0x5ae37fb2dcc59e2cL,0xca27b62224015306L,0x51beca8911e8d6e6L, |
6247 | | 0x08c0b7e2a9693774L } }, |
6248 | | /* 55 << 35 */ |
6249 | | { { 0x795e1a2172fa713eL,0x5ec1c1234be58266L,0x5d8e87da1be14fc3L, |
6250 | | 0x82cefc1e80283ad5L }, |
6251 | | { 0x820a385bdab7865eL,0x11e32d62f3daf96cL,0xf022ade75835a989L, |
6252 | | 0x2cbc255400242233L } }, |
6253 | | /* 56 << 35 */ |
6254 | | { { 0x653335a0e7ce649cL,0x8b30baef6857eff7L,0x7ea7c856f3288377L, |
6255 | | 0x1387b347e8572f5dL }, |
6256 | | { 0x8a6b0352be10c0cfL,0x2a74e834037c97b9L,0xfe10bf59197b122eL, |
6257 | | 0xd1ee174c1918acedL } }, |
6258 | | /* 57 << 35 */ |
6259 | | { { 0x568e5fb93958c20dL,0x1188cbe60484a92fL,0x00ec14f44b0d29e3L, |
6260 | | 0x2b2e078e16a2796dL }, |
6261 | | { 0x48b8cffa20440444L,0xd4b877a0661ab68dL,0x1f352ab1c4b459faL, |
6262 | | 0x33accbe6c53aa54cL } }, |
6263 | | /* 58 << 35 */ |
6264 | | { { 0xce4ff56602bb383bL,0xcad561c6fd62813dL,0x0927c34801dfc9a8L, |
6265 | | 0x0dde73fb00fb9a61L }, |
6266 | | { 0xd859809ffce59f34L,0x225bd9b681872a46L,0x2642add20314bb90L, |
6267 | | 0x82dc79580ae61eb8L } }, |
6268 | | /* 59 << 35 */ |
6269 | | { { 0x84c9747822d5b667L,0xb2fe94d16214f46dL,0x834740f212cb20deL, |
6270 | | 0x336dc7a78aa69c94L }, |
6271 | | { 0x8ca085a4939a33e6L,0xd59c9ae975a94543L,0x83c97f983c47dd07L, |
6272 | | 0x0985f73ee3177231L } }, |
6273 | | /* 60 << 35 */ |
6274 | | { { 0xe556c3fcebbc623dL,0x30a3242fb1b968faL,0x842ce9b0bcd05a51L, |
6275 | | 0x241a35ed0ad576ceL }, |
6276 | | { 0x49ccaf3cbb4a793eL,0x6e6c7a7b4492a828L,0x72f4f5fcba53eb42L, |
6277 | | 0x0ca4ba533ea74dabL } }, |
6278 | | /* 61 << 35 */ |
6279 | | { { 0xe7b5fb06bbaf9d5fL,0xd49c2e17b02d3b20L,0x4d31052a2d933cc8L, |
6280 | | 0x5346e0b407299aecL }, |
6281 | | { 0x952a620579aa99ecL,0xaab9bc32ecb34e97L,0xd539d7e458ffe9aeL, |
6282 | | 0x915993939d994472L } }, |
6283 | | /* 62 << 35 */ |
6284 | | { { 0x6b1d4868e8822711L,0x8857e28273d452b8L,0xad59adfdf08ed046L, |
6285 | | 0xdb755d65c1c47abeL }, |
6286 | | { 0x2df8520b63275d49L,0xc3c712ec7f8a3249L,0x55f2a1085215ef57L, |
6287 | | 0x955e07a33ee2f149L } }, |
6288 | | /* 63 << 35 */ |
6289 | | { { 0x2194ff5333f344f4L,0xb455b9febad16820L,0xfe69ea78610b4e4cL, |
6290 | | 0x2957be968ab11fe8L }, |
6291 | | { 0x3efdee3c2ce14366L,0x42043f9f01eddf9fL,0xfb7998b193524f6cL, |
6292 | | 0x95ea64c0dfecf763L } }, |
6293 | | /* 64 << 35 */ |
6294 | | { { 0xb23d262021afa86fL,0xea757f0386b11457L,0x0bc4d2d1b0148d30L, |
6295 | | 0x119b553588ce4170L }, |
6296 | | { 0xaab5bb670aa9c8f6L,0xdfc9693c88e05de2L,0x6cae7e57e3f1e9c3L, |
6297 | | 0x2b1ceb546f6c3b9cL } }, |
6298 | | /* 0 << 42 */ |
6299 | | { { 0x00, 0x00, 0x00, 0x00 }, |
6300 | | { 0x00, 0x00, 0x00, 0x00 } }, |
6301 | | /* 1 << 42 */ |
6302 | | { { 0x12e335ca87636183L,0x1461a65a719d1ca3L,0x8150080ab14161d8L, |
6303 | | 0x08da4ebfc612e112L }, |
6304 | | { 0xc95dfb6ba8498a9aL,0x099cf91dba0f8dbaL,0x12d2ae144fb4f497L, |
6305 | | 0xfa3a28b033cb7306L } }, |
6306 | | /* 2 << 42 */ |
6307 | | { { 0xc89fc5d00f01c7ceL,0x6fc45ffd7283bdf0L,0x71dece8181151923L, |
6308 | | 0xed1cb14cc433fcc9L }, |
6309 | | { 0x4279612bd3959bcfL,0xe163880b35b5732fL,0x35414ca771d0a1caL, |
6310 | | 0xe8b9e6512c1e47f3L } }, |
6311 | | /* 3 << 42 */ |
6312 | | { { 0x4ff11b0cc8df0a74L,0x346ba520e095ea9aL,0x81dd2268cc2bc6c0L, |
6313 | | 0x2fb2e99fc2701468L }, |
6314 | | { 0x0d21336198053f0eL,0xe0b8280df7ae879aL,0xd92b7a75952560f7L, |
6315 | | 0x8d17dfad9723b62eL } }, |
6316 | | /* 4 << 42 */ |
6317 | | { { 0x5ce8a78a08b21362L,0xf37f5e7fd9fe0b36L,0xdca66c7f2c87837cL, |
6318 | | 0x92524b940bf2e993L }, |
6319 | | { 0xfc0f020c71745788L,0x6018de463cbfbf4cL,0xa8446691ac3de1c8L, |
6320 | | 0xb194d4195de5ae41L } }, |
6321 | | /* 5 << 42 */ |
6322 | | { { 0x1586cdff2ff27af2L,0xee628535de26b5efL,0x58480040c682923eL, |
6323 | | 0x4dd4596b5e37da30L }, |
6324 | | { 0x247b9fd72f64225fL,0xdcc6de5f51ca2121L,0x99fb41ac86e7ab9aL, |
6325 | | 0x54c782a0952b413aL } }, |
6326 | | /* 6 << 42 */ |
6327 | | { { 0x7641190e7298c7d9L,0x499c35ed716eda14L,0x316134bfbb764e90L, |
6328 | | 0x4d23467e884fc34eL }, |
6329 | | { 0xfd1208a9f1d13484L,0x089d9605cd298a74L,0xb398c85a73c4346aL, |
6330 | | 0x50064076f37f13deL } }, |
6331 | | /* 7 << 42 */ |
6332 | | { { 0xfe10d25aa6ebb83dL,0xc5e3edf8a834b30dL,0x546b5d5c683e09ffL, |
6333 | | 0x02f96218c6dc44c6L }, |
6334 | | { 0x64528c55c0edfc04L,0xb5a44a2cb0fc3058L,0x9f09b116ceeff21cL, |
6335 | | 0x077bcd676b0fbbcdL } }, |
6336 | | /* 8 << 42 */ |
6337 | | { { 0x29aaa4a89ce76a94L,0x847cd081c0725c97L,0x0c099e9097e16665L, |
6338 | | 0xe409ffc98f7b1fc4L }, |
6339 | | { 0xc0575b80690941edL,0x8e25100a92c0ee9dL,0x71662d279b75837dL, |
6340 | | 0x6eeb9e97e56bb22bL } }, |
6341 | | /* 9 << 42 */ |
6342 | | { { 0xf1d6333f85c6a60bL,0x982fee9d1d7ccfaaL,0x1c5e28e7d4634535L, |
6343 | | 0xa76e1d2794fec469L }, |
6344 | | { 0x1fe944d6afe377ecL,0xbd579a252f68ae6bL,0x10eabb93ab6b515eL, |
6345 | | 0xa17b5f6c31b4e4b8L } }, |
6346 | | /* 10 << 42 */ |
6347 | | { { 0x05e785fbaf72c239L,0x597e20168af42e92L,0x663f5a72b32ae6c9L, |
6348 | | 0x3040ff1345541cc6L }, |
6349 | | { 0x6140081fdeca6b32L,0xcdaccaf7c735001bL,0x62de5066daef0e68L, |
6350 | | 0x056e9021d837df99L } }, |
6351 | | /* 11 << 42 */ |
6352 | | { { 0xba39928316cd1be7L,0x2a486323cfacf7adL,0x00c15730277777ceL, |
6353 | | 0x5d2f200fd49a254cL }, |
6354 | | { 0xf38a1f3bdb68078dL,0x595dea3f33604a36L,0x14749d8c904b60b2L, |
6355 | | 0xe70c96d8246348ffL } }, |
6356 | | /* 12 << 42 */ |
6357 | | { { 0x04340d52390e35daL,0xc098e3d327a9947cL,0xe6d781989ecc7a3fL, |
6358 | | 0x2c39102e23aa6df6L }, |
6359 | | { 0xb83fed0d300f3cb1L,0xc0b1e356dcfbe054L,0x3da2224c20cf45a8L, |
6360 | | 0x5be55df72f30dedaL } }, |
6361 | | /* 13 << 42 */ |
6362 | | { { 0x4d31c29d2faa9530L,0x1d5783ae49d42f79L,0xe588c224f618b3f3L, |
6363 | | 0x7d8a6f90f8f5b65dL }, |
6364 | | { 0xa802a3d262d09174L,0x4f1a93d9bddd1cb7L,0xe08e1d3c35a5c1dcL, |
6365 | | 0x856b2323f9d2958eL } }, |
6366 | | /* 14 << 42 */ |
6367 | | { { 0xefd1e3ba96f00090L,0xd489943f3e0d25deL,0x082c40ae30c8626fL, |
6368 | | 0xf6e5b5efa4f428e0L }, |
6369 | | { 0x660414a338a7f623L,0xcd4e68de23eefed8L,0x6dcadc62fc14e750L, |
6370 | | 0xcb78b3bcbeae89b6L } }, |
6371 | | /* 15 << 42 */ |
6372 | | { { 0x445acc561d5e580eL,0xbf6547efc43abe19L,0xd160a81bc922d50fL, |
6373 | | 0x3877c7f8f68eed4eL }, |
6374 | | { 0x395745eaf8a9f64aL,0x9085b253603350f6L,0x2a4c71f18b1df366L, |
6375 | | 0x49b9e818abe332dcL } }, |
6376 | | /* 16 << 42 */ |
6377 | | { { 0xb3e76e66528960b1L,0x445dc393d84aecb3L,0x136184361612ad64L, |
6378 | | 0x3ccbeccc8c831e37L }, |
6379 | | { 0x0fb0bd416121383cL,0x316164a380d895a3L,0xc3d34153233f2f1eL, |
6380 | | 0x2905906fe0d92225L } }, |
6381 | | /* 17 << 42 */ |
6382 | | { { 0xe12d66e295456622L,0x10469942ff554b13L,0xa894af86f7126c09L, |
6383 | | 0x448f3267f581d3f5L }, |
6384 | | { 0xb5512926a2b5e758L,0x08f0298843fddd90L,0x5f4370358ba319e6L, |
6385 | | 0xd254188e865b37e7L } }, |
6386 | | /* 18 << 42 */ |
6387 | | { { 0x5b281b238a5cb63aL,0xa15a27126dd136c2L,0x00fab229169beae4L, |
6388 | | 0x400d3f37de31b4a1L }, |
6389 | | { 0x275877a4f8545cb0L,0xb396a51336df0277L,0xf9896978838ced07L, |
6390 | | 0x86e68167715cea8dL } }, |
6391 | | /* 19 << 42 */ |
6392 | | { { 0x0eb0f0de06a5a96dL,0x2c7a36721fcf91aeL,0x287bf614630eca3aL, |
6393 | | 0x65347473f60c9d2dL }, |
6394 | | { 0xed15a229906efa7fL,0xe7be6381d549b5b3L,0x23f329722ce9141bL, |
6395 | | 0x9618d9a1fcf823f8L } }, |
6396 | | /* 20 << 42 */ |
6397 | | { { 0x3d0ef0d3a3d89e15L,0x4d5a30c90d07f5ebL,0xc359e31073e4887aL, |
6398 | | 0x2f4c6b7edbdec349L }, |
6399 | | { 0xc5a1d3e9ba142643L,0x8f4fd58e11c794b6L,0xcad091d11810c63dL, |
6400 | | 0x5b616239f0bfa76cL } }, |
6401 | | /* 21 << 42 */ |
6402 | | { { 0xe3433562a838792aL,0x4aead02b54148e98L,0x809f2bafdb66f216L, |
6403 | | 0x09cc90ffeabfe5daL }, |
6404 | | { 0x69eb235a63e8edadL,0x64f7acb5a7f95997L,0xe999ea18fae20f25L, |
6405 | | 0xcd7ff2083c4966b3L } }, |
6406 | | /* 22 << 42 */ |
6407 | | { { 0x595e0cc0345c8929L,0xfe43c73cde5e2498L,0x0cdefc98503f216dL, |
6408 | | 0x8e4e170df98826fbL }, |
6409 | | { 0x1492247db6c79b1cL,0xf8e24b38ef0532aaL,0x9f349d51044bc458L, |
6410 | | 0x2ef04ead1002d315L } }, |
6411 | | /* 23 << 42 */ |
6412 | | { { 0xaf322f23da60d581L,0x07deaa880681173fL,0x86b97444a78feca0L, |
6413 | | 0x64d336eac633a54dL }, |
6414 | | { 0x10dd4b1f2a426cbfL,0x08d97c157af59869L,0xb8cc814b2d7fe97eL, |
6415 | | 0x7eacd2e13bfb60feL } }, |
6416 | | /* 24 << 42 */ |
6417 | | { { 0x967dafb7b790881cL,0x2002b8e43663e76cL,0x3bd28edef8e82490L, |
6418 | | 0x44dd2e814bb2a47aL }, |
6419 | | { 0xde750dfedbc3f2f8L,0xd9b6e9126e2eec70L,0xe8400e2f1e4c4d2fL, |
6420 | | 0xd332569723217be2L } }, |
6421 | | /* 25 << 42 */ |
6422 | | { { 0x030b7e39d4231a1dL,0x1f72e8b1613d17d8L,0xcd42351201857d37L, |
6423 | | 0x9ecd682c0b4b7926L }, |
6424 | | { 0xfe4ac1c38ec44636L,0x4a030cbf9aacc091L,0x12bb252e0b133f54L, |
6425 | | 0xbf90ea5df970d266L } }, |
6426 | | /* 26 << 42 */ |
6427 | | { { 0xe00d25f7f5484410L,0xb4984eeb2a922894L,0x498102fd8e1e09ceL, |
6428 | | 0x8f8c9fcbe1d731bfL }, |
6429 | | { 0xdb8976690b4983b7L,0x7a7767f97b2468f5L,0x1a2f9fe872f4d5f4L, |
6430 | | 0x10e95aa9a6169daaL } }, |
6431 | | /* 27 << 42 */ |
6432 | | { { 0x9487e50f520166e9L,0x6f6b115bc4ee6a95L,0xaf29926fcf7560f8L, |
6433 | | 0x20a324581f989e46L }, |
6434 | | { 0x165a2232d3bd2473L,0x93d841ffe9fecdf8L,0x71d63fa7bf9978c0L, |
6435 | | 0x381bcf34e7de184bL } }, |
6436 | | /* 28 << 42 */ |
6437 | | { { 0x317c8e40347dfaefL,0x795b0f7d64464bf3L,0x15dc99d61364ec20L, |
6438 | | 0xc07fce2891600d3fL }, |
6439 | | { 0x9825338bc8bebbdaL,0x5e5e89f6a8547c03L,0x3c50032f1a040b84L, |
6440 | | 0xcea7544f2b3a533dL } }, |
6441 | | /* 29 << 42 */ |
6442 | | { { 0xea26d87d43247e19L,0x7e753390fba8368eL,0xb35e75cb3c7bcfc6L, |
6443 | | 0xf78cb5ce7e44aab3L }, |
6444 | | { 0x4a3534e9a98d7104L,0x2b83ea6c6f5852eaL,0x11337fff68dced7cL, |
6445 | | 0xcca0f2c6d1a2a294L } }, |
6446 | | /* 30 << 42 */ |
6447 | | { { 0xb547c662426bf202L,0xec50423e66194a34L,0x11d3486578161e84L, |
6448 | | 0x83508c0664f04decL }, |
6449 | | { 0xd1c72976f7732345L,0xd624bacd18e77e0aL,0x71344b75ba79bdd9L, |
6450 | | 0xe4bfe0858d6c1474L } }, |
6451 | | /* 31 << 42 */ |
6452 | | { { 0x505e8fd9cc5eb43aL,0x612ab1d0daaf0621L,0xde170783e6672368L, |
6453 | | 0xfee7df4483788673L }, |
6454 | | { 0x364d6885d119271dL,0xdd70bae8e1b0cea2L,0xb4b873ad5832adbaL, |
6455 | | 0xad3ecc188c683749L } }, |
6456 | | /* 32 << 42 */ |
6457 | | { { 0x963d87934d217a2eL,0x099e8c561fa4702dL,0x6d91bc47e6431f1bL, |
6458 | | 0x3fd21287a5f61399L }, |
6459 | | { 0x2fc90bae682fa08bL,0x51699c85c1ca371cL,0x16f29d74831c428fL, |
6460 | | 0x0ecefb669fa2b504L } }, |
6461 | | /* 33 << 42 */ |
6462 | | { { 0xd04ac53fa75c5a91L,0xcbe624213bf0524bL,0x91dcb3ceb8792826L, |
6463 | | 0x28a6bf887885092aL }, |
6464 | | { 0x24798e5964c1e218L,0x18e848dc3fec97dcL,0x935e0f509da457b7L, |
6465 | | 0x46b67ab7b8f497a6L } }, |
6466 | | /* 34 << 42 */ |
6467 | | { { 0x15a381407651e4ffL,0x6ba6c6174890cd7fL,0xa527b8d25fe253caL, |
6468 | | 0x945277b8ff3d603bL }, |
6469 | | { 0x1079615575392f01L,0xcac8f7132bd9619dL,0x71a87ecadebb8e28L, |
6470 | | 0xe8e6179e52ab1792L } }, |
6471 | | /* 35 << 42 */ |
6472 | | { { 0x4ce3998be33705e7L,0xf9a0661a48ba56e4L,0x47f06b30d9e4e184L, |
6473 | | 0xda465f75f9f8f6dfL }, |
6474 | | { 0xb05acbbec0ad3e20L,0xec8776a492bc2c13L,0xbb3971b7240a908bL, |
6475 | | 0x80a14367bbd0ceccL } }, |
6476 | | /* 36 << 42 */ |
6477 | | { { 0x40911e50086949bcL,0x39b3ab694064a19dL,0x538c6d966b07eaa7L, |
6478 | | 0x38c05b47d3723bdeL }, |
6479 | | { 0x1e669308080d2a64L,0x6b44dbe52a77601fL,0x35579681e7c6ce9aL, |
6480 | | 0xd2950b0ea16afa75L } }, |
6481 | | /* 37 << 42 */ |
6482 | | { { 0xd228a3baeaf7fafcL,0x9324e71dee878f00L,0xa853bfc1e413c1ceL, |
6483 | | 0xfe916368dcf17d1cL }, |
6484 | | { 0x8611383a2546154bL,0xdbdf225de715b375L,0x874d70a68dbb0651L, |
6485 | | 0x84e588959ed56391L } }, |
6486 | | /* 38 << 42 */ |
6487 | | { { 0xca83d8ad3776503cL,0x2cf38b4e46e82d65L,0x65af46e6adf3a8d1L, |
6488 | | 0x4f09a4ab1d31056dL }, |
6489 | | { 0xdba27b42cacc81d5L,0xb6caa0ca5d6e1bddL,0x1086e441f7198b26L, |
6490 | | 0x15dfe6cbac572f9bL } }, |
6491 | | /* 39 << 42 */ |
6492 | | { { 0xd9444337d2051dd5L,0x6c34b236834cd72dL,0x8478321658df3f28L, |
6493 | | 0x59b8808e2e921372L }, |
6494 | | { 0x3b26824955835302L,0x3299cbe09f4863f1L,0x616e3cdd4c4e213aL, |
6495 | | 0xa3c848688c824317L } }, |
6496 | | /* 40 << 42 */ |
6497 | | { { 0x884be61c460ed764L,0x388df47bb6041177L,0x2708976360b29b0bL, |
6498 | | 0xd66d7d53e502ba08L }, |
6499 | | { 0xadec85ca5acbfaf4L,0xfbacf9b7470c9519L,0x5d18b7f6dbcda5b2L, |
6500 | | 0x7615c0360f228ed5L } }, |
6501 | | /* 41 << 42 */ |
6502 | | { { 0xdfcd8273d6000825L,0xdacfcf119d440eb3L,0xa82578347738fa46L, |
6503 | | 0x7db548af76281df3L }, |
6504 | | { 0x71dd19f63e0b052cL,0x811feef2d876613fL,0x7536e854f9c3155cL, |
6505 | | 0x3e5949734c8c1220L } }, |
6506 | | /* 42 << 42 */ |
6507 | | { { 0xf8c5c72d069b4228L,0xc077d3941f2f6b02L,0x0032dfb976393a52L, |
6508 | | 0x5e52c880706c3572L }, |
6509 | | { 0x4a9d6e9de003750fL,0x3d54814d6147cee7L,0x09ed7f7723b655faL, |
6510 | | 0x14fff651f1988361L } }, |
6511 | | /* 43 << 42 */ |
6512 | | { { 0x742f3abdfb263d48L,0xedb557dc53699a0cL,0xc692a4747ecd0f61L, |
6513 | | 0xdc64f583058f0d17L }, |
6514 | | { 0x68a9ce753227d3edL,0xfd0b03204601d083L,0x7167b3309c2cee38L, |
6515 | | 0xef658993710e350dL } }, |
6516 | | /* 44 << 42 */ |
6517 | | { { 0x75a83be116910648L,0x5b32e77d2e7d446cL,0x8e0534e5a86ba2deL, |
6518 | | 0xc8a92eacb692aeeeL }, |
6519 | | { 0x3cf686ebf663150fL,0x840eaade01962bafL,0x3e06154fa264d877L, |
6520 | | 0xbbd0413724630300L } }, |
6521 | | /* 45 << 42 */ |
6522 | | { { 0x0b0151bd58631468L,0x570ef82c9f99bbe5L,0x03565f47b30f7b96L, |
6523 | | 0x000628e098c04b24L }, |
6524 | | { 0xd34a90aed6ccdb2bL,0x1a584858a99a761cL,0xa640ddca65e29f1bL, |
6525 | | 0xffb672f9728d3208L } }, |
6526 | | /* 46 << 42 */ |
6527 | | { { 0x550f63925433abd8L,0x4f35e11613ff0107L,0xbb2b0fabe731a37bL, |
6528 | | 0x1e8a5a08c83d6e74L }, |
6529 | | { 0xf617e177c6565e23L,0x8e370e5a76da0795L,0xa5631e0203936a55L, |
6530 | | 0xe576bee9d41293adL } }, |
6531 | | /* 47 << 42 */ |
6532 | | { { 0xfcfd9bc75381bc98L,0x8a42ddfd000a98abL,0xd6091ca6b49463c4L, |
6533 | | 0xf37f6b9f9754ce07L }, |
6534 | | { 0xe1543897fa399fdaL,0x7b029ead8810063cL,0xa98a46bdec5a5b52L, |
6535 | | 0xdd162811d50cc504L } }, |
6536 | | /* 48 << 42 */ |
6537 | | { { 0x4d725c1d67a95e56L,0xc36d6e8b8e17af44L,0x38ffb699313454c1L, |
6538 | | 0x22c3da8c991e4eaaL }, |
6539 | | { 0xfa36ee150bb72dc0L,0x356bbf744fd01d32L,0x9ff71a303c7939a3L, |
6540 | | 0xa0ad2fb5691786e9L } }, |
6541 | | /* 49 << 42 */ |
6542 | | { { 0x7d7f4770283c34c1L,0x0148a4f02454a31cL,0xdcbb138aeab3b646L, |
6543 | | 0x7834bdb9f101223eL }, |
6544 | | { 0x49de6cc3965baa81L,0x5462f15e15471215L,0xd77e7a5681d17760L, |
6545 | | 0xa08c5ad953f00de3L } }, |
6546 | | /* 50 << 42 */ |
6547 | | { { 0x2e6e6686397ed010L,0xe444a5a92bef28cbL,0x1ab9d6164073cbe4L, |
6548 | | 0x24c6b9e018f0b7ddL }, |
6549 | | { 0x456482b6c2a93055L,0x0f89129fefbe8715L,0xb50818c362e5f6f2L, |
6550 | | 0x1d74a1ca3d63c663L } }, |
6551 | | /* 51 << 42 */ |
6552 | | { { 0x9a9124eed84bfa55L,0x6cf81f41254b3f04L,0x7c9b7c3ea1051109L, |
6553 | | 0x71c3d6d6640e8df2L }, |
6554 | | { 0x5657115762f6af2fL,0x2ec61a3fe1bc9ae8L,0x20caa2ff2fcc848bL, |
6555 | | 0x71e30dacdc5c297eL } }, |
6556 | | /* 52 << 42 */ |
6557 | | { { 0x11901efcfbc0740aL,0x4994fc5fb6e35fcaL,0x4dc09eba177de7ddL, |
6558 | | 0xedfdd25c0494bebfL }, |
6559 | | { 0xc4821ed90cbaeb8bL,0xa9ef7a4866788fbdL,0x5b7a7ca5d65efbc2L, |
6560 | | 0xe18feb42a9cb1fc6L } }, |
6561 | | /* 53 << 42 */ |
6562 | | { { 0x2cc74b9c56b00ab5L,0xf559a140db4bf3f4L,0x283136d4b8a4b54eL, |
6563 | | 0xe969e4f837032aa2L }, |
6564 | | { 0x5635fb66d85beed3L,0x32bc4fdda72a54bbL,0xc1e5ee2b4c386a49L, |
6565 | | 0x979fd877795a0b08L } }, |
6566 | | /* 54 << 42 */ |
6567 | | { { 0x5acef24d431f0b8eL,0x9f1c4a80d13cafefL,0xf19ac70b4659f447L, |
6568 | | 0x82bab6b610f561aeL }, |
6569 | | { 0x1268e7f3bbc879a7L,0x7e7d714179c37165L,0x491f049d597e313fL, |
6570 | | 0x6ca7e73eecc98736L } }, |
6571 | | /* 55 << 42 */ |
6572 | | { { 0xd7712aa480a31eb9L,0xbf7376ca2d8b99d7L,0xc1166cdc2b8e5f7bL, |
6573 | | 0x562bf290f1a48c9bL }, |
6574 | | { 0xa6e7223831c38c75L,0x51a9a100b5f42defL,0xa0931d81a100b75fL, |
6575 | | 0x7022479d967830beL } }, |
6576 | | /* 56 << 42 */ |
6577 | | { { 0x53eaaa1fc192bc29L,0x09504e7a4123a9f2L,0xe897397f90671997L, |
6578 | | 0xc56185d24294fda2L }, |
6579 | | { 0xb531f2789819b185L,0x390155ffe9dda4ccL,0x1258a5d914d26bf9L, |
6580 | | 0x47d8f5ae7e5f13a1L } }, |
6581 | | /* 57 << 42 */ |
6582 | | { { 0xef9e05e3e9591945L,0x92d20e07846441beL,0x28cc70ef1d897ad1L, |
6583 | | 0xee962e740bac861fL }, |
6584 | | { 0x9b7a4236bed368e4L,0xe65ac22ae49b9720L,0x851f003222c1bd82L, |
6585 | | 0x771573ec1e75ab15L } }, |
6586 | | /* 58 << 42 */ |
6587 | | { { 0x2e0a4635702eb71aL,0x65167c74ee924cd9L,0xe16b351510ccabb5L, |
6588 | | 0x63cf15c410ea5907L }, |
6589 | | { 0x59dacdc6616f5290L,0x19eb409b8e372a43L,0x5c879337e3c36bebL, |
6590 | | 0x5841e7e20555fa1eL } }, |
6591 | | /* 59 << 42 */ |
6592 | | { { 0xce197347f346ec2dL,0xe14818a8221db43dL,0x1bf37115c935c025L, |
6593 | | 0xb22bdb03fee14ce0L }, |
6594 | | { 0x893c5efaf0e3dfd6L,0x8fe9d56cb1f95e1eL,0x6ee580e5407e4db0L, |
6595 | | 0x0292bfc49fb33911L } }, |
6596 | | /* 60 << 42 */ |
6597 | | { { 0x598ce787b2869cacL,0xd2f777204798690aL,0x2689e0f39cb6015aL, |
6598 | | 0x8831ddeb7127b0e8L }, |
6599 | | { 0x44db087b5c4fd58cL,0x04a0c68ecda33285L,0xe55f00d7e1a4c364L, |
6600 | | 0xb3a2ea9ab6393b21L } }, |
6601 | | /* 61 << 42 */ |
6602 | | { { 0x99ef4da35e9d8db9L,0xa01f11d917b484bcL,0xc2283fbf1767f6caL, |
6603 | | 0xbb5244799e77f389L }, |
6604 | | { 0xc4ea3c6610149726L,0x4b71d64482ec5f64L,0x0fe49d52642944c7L, |
6605 | | 0x69fef6895a17a7bdL } }, |
6606 | | /* 62 << 42 */ |
6607 | | { { 0x2f3588fc8c3dce23L,0x9d42923168e0c237L,0x6375607686fa61d2L, |
6608 | | 0x1d89c6b8729bc192L }, |
6609 | | { 0x85e098d200d3ffd1L,0x5bf292c2de6f9109L,0xb20dc9943e7b8f23L, |
6610 | | 0xcbe51bad87c6eb54L } }, |
6611 | | /* 63 << 42 */ |
6612 | | { { 0x263fd8620517b914L,0x447624ad225499a7L,0xfbb831bb71f807d9L, |
6613 | | 0x9514fe382fe2e021L }, |
6614 | | { 0x881e876352418e9aL,0x268e4655f1d9b43bL,0xf917044a1f780af9L, |
6615 | | 0x3727b2d93d758ba5L } }, |
6616 | | /* 64 << 42 */ |
6617 | | { { 0x8487eb9068755cf3L,0x1887394e7fe12541L,0x2e4c65d446af8ca8L, |
6618 | | 0x72aae645b9e119dcL }, |
6619 | | { 0x958e00941ec6ad73L,0x84a7eec48ce4573eL,0x3d6d00d4f9254b96L, |
6620 | | 0x4ef44f588e421732L } }, |
6621 | | /* 0 << 49 */ |
6622 | | { { 0x00, 0x00, 0x00, 0x00 }, |
6623 | | { 0x00, 0x00, 0x00, 0x00 } }, |
6624 | | /* 1 << 49 */ |
6625 | | { { 0xf59de0f87d3ad2acL,0xd2670cb1c0f92c5cL,0x8f05944ac900b6a5L, |
6626 | | 0x11aeed238d9668ebL }, |
6627 | | { 0x21b038e47c488ea6L,0x406ea3f778083d75L,0xd22197b43bd31fe2L, |
6628 | | 0xdc8f8ccb28a6ef9aL } }, |
6629 | | /* 2 << 49 */ |
6630 | | { { 0x679a648302887281L,0x13f3d39b7f9de66fL,0x289c3c50f1a7dee2L, |
6631 | | 0xa510a53c40b698b8L }, |
6632 | | { 0xc566c3fb06f799adL,0xcc95a879b5374650L,0xbd7343c061c947b2L, |
6633 | | 0xbbbff69d9543e51bL } }, |
6634 | | /* 3 << 49 */ |
6635 | | { { 0xb80d38dcba75aba9L,0xe9b61ac6d150f881L,0x9f56af52ca7b47c5L, |
6636 | | 0x040300d977fb3128L }, |
6637 | | { 0x36877184c01fd0c1L,0x40112a048b6e134bL,0x56daed90ccd71653L, |
6638 | | 0xec553aa6b74bd62eL } }, |
6639 | | /* 4 << 49 */ |
6640 | | { { 0x0398381d11476ddeL,0x4959204d1ea0923fL,0xd67427ad017745bdL, |
6641 | | 0xef022a746935e467L }, |
6642 | | { 0x57e799f524e0380aL,0x6ee2b64fb5f1a730L,0x9aeaac48521771d8L, |
6643 | | 0x02c8521c0992a13cL } }, |
6644 | | /* 5 << 49 */ |
6645 | | { { 0x25dd9f4148f6934aL,0x8d1919883e38e31fL,0x3554884432899837L, |
6646 | | 0xf87c696bf56b07d6L }, |
6647 | | { 0xbc66e7d773e927b9L,0x04cdac77bb0bedc5L,0x1e6f29030bcd022aL, |
6648 | | 0xafa637be22c574b5L } }, |
6649 | | /* 6 << 49 */ |
6650 | | { { 0xcdca4b1e55c1759bL,0x3d46ee3ba6819d39L,0xf7497adeb4b0fce9L, |
6651 | | 0x54aef506dcb613c3L }, |
6652 | | { 0xbc11d721522ff464L,0xf53f16f237bd3c51L,0x88f29955485695b9L, |
6653 | | 0x428ce742dac00fe3L } }, |
6654 | | /* 7 << 49 */ |
6655 | | { { 0xd971fbd2a3520c27L,0x2204fe54e05e1b9dL,0xb08be507f0c15c89L, |
6656 | | 0xfeeda919901a15c3L }, |
6657 | | { 0x6576ad3b84b60eb5L,0x40d4b9a159e951daL,0xbe96e1b876244608L, |
6658 | | 0x3af35ec958ef9f37L } }, |
6659 | | /* 8 << 49 */ |
6660 | | { { 0xbfe5c43b153adbf7L,0x07a66edf80351fecL,0x3d8042353b109e60L, |
6661 | | 0x4dc97176a832c162L }, |
6662 | | { 0x03fec75fb1db1e5cL,0x6aa02da6a15b9900L,0x5f9e808f4faa1cffL, |
6663 | | 0x90aa28bda6412a26L } }, |
6664 | | /* 9 << 49 */ |
6665 | | { { 0x2fb2c15be041d453L,0x2b847efa86c18ef0L,0x84f5ee9d115b7318L, |
6666 | | 0xd568b08071699936L }, |
6667 | | { 0x34658ae76ea5c852L,0x99f918b3126d10ceL,0x75e3d9cc09b9407fL, |
6668 | | 0x11c6a0bb7883f978L } }, |
6669 | | /* 10 << 49 */ |
6670 | | { { 0x522a6925876db0fdL,0xc5401ca17a9a4211L,0x89163b576789e755L, |
6671 | | 0xd2b2c99a0fd6f1b8L }, |
6672 | | { 0x427eea22a7b452dcL,0xce8e6682ef9db65cL,0xfd835810da9c80f7L, |
6673 | | 0xdb91bfbbea916411L } }, |
6674 | | /* 11 << 49 */ |
6675 | | { { 0x7a5aefad798b5051L,0xbd7ebc8842a0d4cdL,0x958e327abac28520L, |
6676 | | 0xfa8bf6d47d010c77L }, |
6677 | | { 0x8a7040aa579752f4L,0x47974d84e573d895L,0xfd2a0cdcfe16f77bL, |
6678 | | 0x0f08f86adbf71fdcL } }, |
6679 | | /* 12 << 49 */ |
6680 | | { { 0xb19de6f12983bd4dL,0xb990931e1e3a28b3L,0x43b71b8b00cbc4f9L, |
6681 | | 0x35d1ddd0f4d75a0eL }, |
6682 | | { 0xc211951dc653f111L,0xbbc4682488750928L,0x0cf6e752174803e3L, |
6683 | | 0x81f5e0ac8960d80cL } }, |
6684 | | /* 13 << 49 */ |
6685 | | { { 0xe03ca0850c52fcf9L,0xa795382e0865ced4L,0x03bd561ce7117376L, |
6686 | | 0x8608dde13fd7184aL }, |
6687 | | { 0xfd48fd50a2a98accL,0x902fa58711df74b0L,0x683f101dfa73b8f1L, |
6688 | | 0xc805d31be7c0efa6L } }, |
6689 | | /* 14 << 49 */ |
6690 | | { { 0xe5effb4e5b11d6c0L,0xba30f74701c8374cL,0x8733511b0c275aecL, |
6691 | | 0xf140b74097354e36L }, |
6692 | | { 0xb01ded690341268eL,0x17bc317627eac17bL,0x880977038984992cL, |
6693 | | 0x37bfafab3e05061cL } }, |
6694 | | /* 15 << 49 */ |
6695 | | { { 0x7eca9f09111d0eb8L,0xda7eb0238f243481L,0xac3cb2d659b5e491L, |
6696 | | 0x56e725b14f794842L }, |
6697 | | { 0x4324525445b2dff6L,0xeafe73b9ef10ec78L,0x0d3cb2bc78819dbfL, |
6698 | | 0xff1cd617e784eb22L } }, |
6699 | | /* 16 << 49 */ |
6700 | | { { 0x0dbaf1c99ce0fcd6L,0x732ea65e3232a847L,0xdb2ce2186a75d822L, |
6701 | | 0x88ffd4793d2273caL }, |
6702 | | { 0x89092ad2f2f26b61L,0xfb7041bd686706abL,0xe3d5fa755e23597cL, |
6703 | | 0xa2035bf85995fc84L } }, |
6704 | | /* 17 << 49 */ |
6705 | | { { 0x1feecd2c4514b8bdL,0x57cb78b4434b9233L,0x59bd2ad724215322L, |
6706 | | 0x41437de21ce8daa0L }, |
6707 | | { 0x401bbece7147ce80L,0x5e4621375abb61e8L,0xbbf210335a3790ebL, |
6708 | | 0x9a791c095134dee3L } }, |
6709 | | /* 18 << 49 */ |
6710 | | { { 0xc8ded766cedd2cc1L,0xa3e48e9d6447b925L,0xc73282a369efa728L, |
6711 | | 0x8cb72c308d408becL }, |
6712 | | { 0xfb4f279741cf92ebL,0xef3f42a026f2412eL,0xdbc0f972a941ab5aL, |
6713 | | 0xc7bd62dd98337613L } }, |
6714 | | /* 19 << 49 */ |
6715 | | { { 0x318927444e45dcbdL,0x3b2979cbb51b7f91L,0x41e002f529b27fecL, |
6716 | | 0x9007ee684dd51b0fL }, |
6717 | | { 0x82f417a36e23d565L,0x3321f34377127820L,0x8d09d965199b32beL, |
6718 | | 0x948429eb5bc2017bL } }, |
6719 | | /* 20 << 49 */ |
6720 | | { { 0x22b639f9124eb248L,0xed097f74125f8c22L,0xdbc025175f8bed34L, |
6721 | | 0xb93f5b4251aa29c3L }, |
6722 | | { 0x6fedd599c7368c44L,0x99a5a7952c772a9aL,0x30b35ba77a5f156eL, |
6723 | | 0x9dc50978191c45afL } }, |
6724 | | /* 21 << 49 */ |
6725 | | { { 0xe8d241f5b5b4c4feL,0xda89eac1b75f54f8L,0xb399dba09ef86ae5L, |
6726 | | 0x2337bb4651c1b8c6L }, |
6727 | | { 0xfe60b0c54d02f348L,0x709f12350afc6cd0L,0x8a0b458bb40fce18L, |
6728 | | 0xefe143aae3929cfaL } }, |
6729 | | /* 22 << 49 */ |
6730 | | { { 0xab3a4b0d0ca6cec0L,0xcb23537467246ec3L,0xdf9b0e891ec2538fL, |
6731 | | 0x3ec2ea1380c7b53dL }, |
6732 | | { 0x920c55f2d0ae3146L,0xd3ac4e1e43946090L,0xeba7258397ebe7a4L, |
6733 | | 0x5031644a393d401fL } }, |
6734 | | /* 23 << 49 */ |
6735 | | { { 0x802c34099714de1aL,0xc62d66d0de5bacbaL,0xb6c2abeb903b8148L, |
6736 | | 0x203531ef5bffe1c4L }, |
6737 | | { 0x186266dee862ead7L,0x21e643d51a23bebbL,0x15c13d116edda603L, |
6738 | | 0x39b4a3a3b1bebc77L } }, |
6739 | | /* 24 << 49 */ |
6740 | | { { 0xdb456c1ab9ac4754L,0xf497e6e94d3f305aL,0x84d27e3a3fa62dc0L, |
6741 | | 0xc18c35692524b94fL }, |
6742 | | { 0x92198954e380f5cbL,0x81d8221c272ea458L,0x6fa082f65f328491L, |
6743 | | 0x810ca5af8e304ccfL } }, |
6744 | | /* 25 << 49 */ |
6745 | | { { 0xda9f1c150d76e6d5L,0x4bd38afcb7abad72L,0x14b5cc2608aa20f5L, |
6746 | | 0x010a1af881061318L }, |
6747 | | { 0xaf9d7a7303c287c0L,0x9ba5105abc4d40abL,0x99e4b824b07937a6L, |
6748 | | 0x026d294cc869f63cL } }, |
6749 | | /* 26 << 49 */ |
6750 | | { { 0xaaebde75c910b521L,0xc803ded4a7d5dd9cL,0xc8b713b062764be2L, |
6751 | | 0x5ea9ea2b92540cf3L }, |
6752 | | { 0xbaa999c66930bd0eL,0x57052e531f4b254cL,0xfb9fd6992b0b27eeL, |
6753 | | 0x86b709324cc83793L } }, |
6754 | | /* 27 << 49 */ |
6755 | | { { 0x09ab4dd7fba59bbeL,0x83204fee04f4609eL,0x251cb39093934977L, |
6756 | | 0x8add9e8b647c13e8L }, |
6757 | | { 0x444815d3e7ea7006L,0x22333c0abd032c32L,0xe7728dc84058b7cbL, |
6758 | | 0xde8eb503d1bc061fL } }, |
6759 | | /* 28 << 49 */ |
6760 | | { { 0x5d3ece2e493d76c2L,0xa425f3aed804954aL,0x49100271eac95eb8L, |
6761 | | 0x94e4dfa038b4be56L }, |
6762 | | { 0xa855893f650f9930L,0x1fa0a07d50264765L,0x37a3c1690d1d40beL, |
6763 | | 0xfedb51e42eed2a0dL } }, |
6764 | | /* 29 << 49 */ |
6765 | | { { 0xa6e0c2b21b3348b4L,0x9e361f42c414464eL,0x3e14e2ee176e109aL, |
6766 | | 0x5f1a6bbef4af92fdL }, |
6767 | | { 0xf15d464784beb8e5L,0xac3f01c197d36132L,0x36e669bf84ca42aeL, |
6768 | | 0xf789bdbdd9433ca1L } }, |
6769 | | /* 30 << 49 */ |
6770 | | { { 0x384f37f4f71e84d4L,0x57de947359d6481aL,0xa9a81f99f5e6fa70L, |
6771 | | 0x26f0a64f6cb57bf3L }, |
6772 | | { 0xc07e1c13061d38feL,0x6fae70e94a475732L,0x6cfb6b1d840e595cL, |
6773 | | 0xb23cf1f262848351L } }, |
6774 | | /* 31 << 49 */ |
6775 | | { { 0xef6094c74fcf8743L,0x7dc4221805fab119L,0x3207463f5c220d15L, |
6776 | | 0xdf51b3f022c4bfb2L }, |
6777 | | { 0x13db445b1572735bL,0xd76625372f6db574L,0x692f1e057796f888L, |
6778 | | 0x9f3d7a5b33f45593L } }, |
6779 | | /* 32 << 49 */ |
6780 | | { { 0xb5deb892313de667L,0x75c872d766a478a8L,0xb67b5513c4992428L, |
6781 | | 0xf97e010ef70fde09L }, |
6782 | | { 0x49b0f05360ee268cL,0x981b5141f67cd321L,0xb5a1ac8d4fbc187cL, |
6783 | | 0x162417e2c12e6da8L } }, |
6784 | | /* 33 << 49 */ |
6785 | | { { 0x07bb6fff62914938L,0xd385285b19f44438L,0x05a610a1a28904dcL, |
6786 | | 0xd80a70995a29b9f8L }, |
6787 | | { 0x72ccb553c177af4aL,0xac0bd91b5e3752f4L,0x8e8ae6687ae838a0L, |
6788 | | 0xcaa5a46c1fdfe7c3L } }, |
6789 | | /* 34 << 49 */ |
6790 | | { { 0x2cc2c1a593d34156L,0x22beffb161fe4572L,0x66f9f3cefcdc7418L, |
6791 | | 0xbaccda416af66892L }, |
6792 | | { 0x775c783d1af43f56L,0x1b23b1870ae04034L,0x5a9325f4e99b486bL, |
6793 | | 0x36d5bfe98367ab05L } }, |
6794 | | /* 35 << 49 */ |
6795 | | { { 0x17d8d2fba519d028L,0x27b6beb2be00e7e0L,0x8d51c36c15a3f03aL, |
6796 | | 0xbf90e78b5faac8ddL }, |
6797 | | { 0x4e8c28e7b27ab69fL,0x37ecf0c74a553da4L,0x3a39682f210fe720L, |
6798 | | 0x60c62e800b0cdd0cL } }, |
6799 | | /* 36 << 49 */ |
6800 | | { { 0x893aa225a16647cdL,0xcffb728e64ce0455L,0x81891d39c4f0fe79L, |
6801 | | 0x1abe3073f9c39f00L }, |
6802 | | { 0x88336c27f961d05cL,0xc9033a88a5fc96dfL,0x0d084405864b39f8L, |
6803 | | 0x866aa904851e95c9L } }, |
6804 | | /* 37 << 49 */ |
6805 | | { { 0x0c36da0898bae4a8L,0x9f88d799b5feb202L,0xcd9aeb4a8054e4daL, |
6806 | | 0x005206bf1e9134cbL }, |
6807 | | { 0xd5f32bf817ee6649L,0x9431dcd860847ad2L,0xbe6d62c78a3e4050L, |
6808 | | 0x3ae68f7aedf10d40L } }, |
6809 | | /* 38 << 49 */ |
6810 | | { { 0xa95c9ea04604d71fL,0x01aa3fea415f8028L,0x3dd55ca55a41970aL, |
6811 | | 0x05978ad40b5776b4L }, |
6812 | | { 0x7c9f5bdd787fe20cL,0x23b9fb7d75fdba0bL,0xfb1a724d5fcf3a0fL, |
6813 | | 0xd63b351587817071L } }, |
6814 | | /* 39 << 49 */ |
6815 | | { { 0xecae282d44e40138L,0x8732df2387605748L,0x0ef49da0d11188cbL, |
6816 | | 0xc047813851146cc0L }, |
6817 | | { 0x4ba4232346621921L,0x8836dd4447dfa4ebL,0xdb6a01008ec16442L, |
6818 | | 0xabdd9b819cdd2e87L } }, |
6819 | | /* 40 << 49 */ |
6820 | | { { 0x205ee262502e26d1L,0xb961ef9c3294e240L,0x7178f1fb6da7733dL, |
6821 | | 0x989b69fb232ecf73L }, |
6822 | | { 0xb7278a359a9bccaeL,0xb1c81a0b400a01f3L,0x0781855aa6b213baL, |
6823 | | 0x8acc1b783429817eL } }, |
6824 | | /* 41 << 49 */ |
6825 | | { { 0x527e3a9ffb4e1aaeL,0xc18c1cfd4c0b0f4cL,0x0676c3651fa7d9f0L, |
6826 | | 0x3314509f4454cc7cL }, |
6827 | | { 0xb0f45371c7c48245L,0x913fe759695ef470L,0xbb676070c8d3e0adL, |
6828 | | 0x0db98fcc902e1638L } }, |
6829 | | /* 42 << 49 */ |
6830 | | { { 0x42874e9cfc4dfaa8L,0xcbf894627084b2cbL,0xd6d46f778a846ab8L, |
6831 | | 0x9e4506ca14c183b1L }, |
6832 | | { 0xc2d0f9b7c53b7631L,0xe47c3d8f294d6c34L,0x04e3c868c05d3f1cL, |
6833 | | 0xbacec4f3a5957fefL } }, |
6834 | | /* 43 << 49 */ |
6835 | | { { 0x4f4530ba3b77893eL,0x4c234f5469a18bd9L,0xb45aadd85071f5e3L, |
6836 | | 0x73e4160ad1bd0b86L }, |
6837 | | { 0x43fcb30d1c474f64L,0xedef0769617d1612L,0x920767340eec330eL, |
6838 | | 0xd77677705b0a21b5L } }, |
6839 | | /* 44 << 49 */ |
6840 | | { { 0x4b7dea31183e26f4L,0x59d6ff20c9fd2e70L,0x7bdea00fd5d914f5L, |
6841 | | 0xc736dd0d56376640L }, |
6842 | | { 0x593ae6ef38ae8300L,0xdafe49f1df0355bfL,0x094ccd860db4491fL, |
6843 | | 0x32295701fe4271abL } }, |
6844 | | /* 45 << 49 */ |
6845 | | { { 0x2b7690e45db7014eL,0x1bbc9c36d7766bfbL,0xc52249f07d986d0cL, |
6846 | | 0xc7eec37b324f20aeL }, |
6847 | | { 0xd376afa30e912329L,0xbc35e94904268fa3L,0x617bf7659e91a4acL, |
6848 | | 0xb1e932ed1d483eccL } }, |
6849 | | /* 46 << 49 */ |
6850 | | { { 0xd4e31672ac493266L,0x1c779fe2ecdafb85L,0xed09eb4a06280499L, |
6851 | | 0x3dd8d965cd4e1f33L }, |
6852 | | { 0x0fb4308df34576dcL,0xa8ccbf5e85781a43L,0x8dbf488ace623a24L, |
6853 | | 0xb0e71d306118cfd4L } }, |
6854 | | /* 47 << 49 */ |
6855 | | { { 0xfc68da688cc9d957L,0x7e5e6b6583815670L,0x2c16f5ef3f185dfeL, |
6856 | | 0x23a4098b98952b33L }, |
6857 | | { 0x15a80298d515f551L,0x71a2e7fca7f8f341L,0xed42b1b68cf4f7b6L, |
6858 | | 0x02743db21504d390L } }, |
6859 | | /* 48 << 49 */ |
6860 | | { { 0x2bded3a83016e513L,0xa3c508affb0f7bfbL,0xa6a490deaa2be716L, |
6861 | | 0x5a04d9e5f4485b9fL }, |
6862 | | { 0xd07b99d16ad25b5dL,0xa184010965a72cb4L,0xc8e2b32d14c45a95L, |
6863 | | 0x0fae6e86e4f2ecffL } }, |
6864 | | /* 49 << 49 */ |
6865 | | { { 0xd09f454bd94b6fe7L,0xa776a63323006b62L,0x6c700a1cd332b4b9L, |
6866 | | 0x50c3fb34ce016225L }, |
6867 | | { 0x4b805bc38af71463L,0x049143e25f1fb3b7L,0xbcaf4b615a6d1dd3L, |
6868 | | 0x02093dd74733abacL } }, |
6869 | | /* 50 << 49 */ |
6870 | | { { 0x1a23c3f6df59f061L,0x87a6c14180c4efb7L,0x47635ae4d88e4363L, |
6871 | | 0x75e2089fbf8d2072L }, |
6872 | | { 0xa2bc1b27ac83803bL,0x8ae61522e2aafecfL,0x4b459205d0010193L, |
6873 | | 0x900f6a319205f876L } }, |
6874 | | /* 51 << 49 */ |
6875 | | { { 0x49cddbc9f808f044L,0x9463769295094eadL,0x3c9c7c0cb87c9bbfL, |
6876 | | 0x1699670a4e1844d1L }, |
6877 | | { 0xd8a978f2cbcf85c3L,0x83e7b8066a36e1c9L,0x6f28a73ffaff9c52L, |
6878 | | 0x51341222b71eaa80L } }, |
6879 | | /* 52 << 49 */ |
6880 | | { { 0x195461da9328a676L,0xefcc93e521766180L,0xed82c930771a5485L, |
6881 | | 0x34f15ce0205a8bffL }, |
6882 | | { 0x88ab72cbb8b3bfd8L,0xbb59a5be8110fe55L,0x9ce8a082c7d61a31L, |
6883 | | 0xfe81d0725b1c63d2L } }, |
6884 | | /* 53 << 49 */ |
6885 | | { { 0x9fae0be1e9ff8421L,0x4254f89d967e13a6L,0x1c09462035da926fL, |
6886 | | 0x84eda2724a76583dL }, |
6887 | | { 0xa4033064e0e0ffb8L,0x47951945abc72d0cL,0x0af6bb4cb72c32e7L, |
6888 | | 0x6c73357bda797f9eL } }, |
6889 | | /* 54 << 49 */ |
6890 | | { { 0xd7a726c92ac2e99dL,0xf44b4731cd62e7ccL,0xf89f8e29e6225822L, |
6891 | | 0xa44bb9b08d713d92L }, |
6892 | | { 0x3291e8d39404f6c6L,0x50b7a4ff37bdb22dL,0xe008662e216a0f13L, |
6893 | | 0x150fa2d6cf382547L } }, |
6894 | | /* 55 << 49 */ |
6895 | | { { 0xe5e47c553138acbcL,0x595cf1e240d7f3dbL,0x2872392d2ee1949dL, |
6896 | | 0xdbd15bf88a4fb721L }, |
6897 | | { 0x30e78cdc183351dcL,0xa39b8efb6b294729L,0x0df4d23ec7b553e8L, |
6898 | | 0x434f38fa659d3ffcL } }, |
6899 | | /* 56 << 49 */ |
6900 | | { { 0x1764115e55a0c931L,0x34ea18b9a5c920a4L,0x6a099ddcaf903710L, |
6901 | | 0x4b937dc1e49f2c7aL }, |
6902 | | { 0xacfc4a1a430f0a7eL,0x8f106a58421dbe96L,0x48ac70261811d3feL, |
6903 | | 0x5484226ab80f13c5L } }, |
6904 | | /* 57 << 49 */ |
6905 | | { { 0xf692e17b8da7ca79L,0x4827aaa2718691b9L,0x881f1c385c5ea68cL, |
6906 | | 0x1620f5d688bdf643L }, |
6907 | | { 0xe5703cb20b9a5addL,0x392e6ea5be925061L,0x2a66ce20b0bab0d5L, |
6908 | | 0x83a8e0e5f98e8dadL } }, |
6909 | | /* 58 << 49 */ |
6910 | | { { 0x53532223deec2329L,0x6a740238346eea96L,0xa54afbdf1dde2a6aL, |
6911 | | 0x0e6ca8c1f2b5b190L }, |
6912 | | { 0xcccaa3c6f3cd4e46L,0x168d66bd0eb7bb3cL,0xf127514408d4f4e9L, |
6913 | | 0x2ae8c946139811fcL } }, |
6914 | | /* 59 << 49 */ |
6915 | | { { 0x4973c726c870713aL,0x298465eeba54b13fL,0x9f901403940f224fL, |
6916 | | 0x5cd6a07bb9950a40L }, |
6917 | | { 0x9d4095e6069a8484L,0xe6bf3181d4f8831fL,0x37ceb29a39243da8L, |
6918 | | 0xb3887f312693653cL } }, |
6919 | | /* 60 << 49 */ |
6920 | | { { 0x685d217242c98a56L,0x350fbab83969dd9aL,0x728edca9e8ac84ecL, |
6921 | | 0xf42beab359bbb0c4L }, |
6922 | | { 0x9793e74627d3c3fdL,0xbf6016dec732b37eL,0x3688173adf0f248fL, |
6923 | | 0x84fbd0407ed59dfaL } }, |
6924 | | /* 61 << 49 */ |
6925 | | { { 0x2bad638fa6731b1bL,0x1c7b4b13b7355979L,0xf21550e0b8e77093L, |
6926 | | 0x14d0bc9d53efc63cL }, |
6927 | | { 0x119ae9fbd56e1f29L,0x3511309c4d60bc5aL,0xec654f06e3574e43L, |
6928 | | 0x2d6695dfbef6aea2L } }, |
6929 | | /* 62 << 49 */ |
6930 | | { { 0x27ece6115d6abff7L,0xa706d42d640c9ab8L,0x7a7252d95a6f8fa6L, |
6931 | | 0x32be7195349aaf8cL }, |
6932 | | { 0xffb48a3dff734e23L,0xa9b36c827d27b99cL,0x85b7a57e0ccaedbcL, |
6933 | | 0xb93b14fdc04f2394L } }, |
6934 | | /* 63 << 49 */ |
6935 | | { { 0x3a3a78c5160700e0L,0xbd7ae60a961e4af8L,0xe1deb736d9472cd7L, |
6936 | | 0x276b51b73880bbbeL }, |
6937 | | { 0xcf0c4b9a1aa99bfbL,0xaf949d5f689d7f58L,0x0087848865f33328L, |
6938 | | 0x0f1a178ce7d7b484L } }, |
6939 | | /* 64 << 49 */ |
6940 | | { { 0xd44550f8849e6d32L,0xe7bc29d4fe16485eL,0x29bbfec62f343924L, |
6941 | | 0xeeb802f240f2b5ceL }, |
6942 | | { 0x2b337542bbb64f33L,0x4c1d3a369f9bdb3cL,0x1067cf3bc7a1cb88L, |
6943 | | 0x3f12a31d4601fb6eL } }, |
6944 | | /* 0 << 56 */ |
6945 | | { { 0x00, 0x00, 0x00, 0x00 }, |
6946 | | { 0x00, 0x00, 0x00, 0x00 } }, |
6947 | | /* 1 << 56 */ |
6948 | | { { 0xb720a78f1f8a4a91L,0x59e22211753dbe73L,0x9f5ad99cadd0991aL, |
6949 | | 0x3a0db8027380726fL }, |
6950 | | { 0x37f0761c7dfb4f1cL,0x68e7098a5ac819cdL,0x9683d61037ffe348L, |
6951 | | 0x5bf205e52b7b5140L } }, |
6952 | | /* 2 << 56 */ |
6953 | | { { 0x9846b5f661a97262L,0xedf2cacb974a82f7L,0x3dfab85faf439654L, |
6954 | | 0x43fb0ef9c724ee09L }, |
6955 | | { 0xd0d5016f53b0119aL,0x684453635bc8fc81L,0x6d10b6491f65d298L, |
6956 | | 0x0f3c88c621a4e64fL } }, |
6957 | | /* 3 << 56 */ |
6958 | | { { 0x320372a17f34c517L,0x5602bd162378bc27L,0x666a592d91aae024L, |
6959 | | 0x716886ab317bbdaaL }, |
6960 | | { 0xce55fe68e3045103L,0xf2c4b0b27de1d701L,0x8da358857d724cb6L, |
6961 | | 0x9aac623c9ec47314L } }, |
6962 | | /* 4 << 56 */ |
6963 | | { { 0x824cff46b8529a01L,0x6e4d82a24856b95cL,0x58c6b833c65af7f7L, |
6964 | | 0x8a6c4125ae110e53L }, |
6965 | | { 0x38207c304f083340L,0x71aa384b176cdb31L,0x1ada294142882de1L, |
6966 | | 0x38b1ad2ec16a2e4aL } }, |
6967 | | /* 5 << 56 */ |
6968 | | { { 0xbdda2720142bcb30L,0x56175263faf604d1L,0x086189c1e6796314L, |
6969 | | 0xdab01c685b04dd19L }, |
6970 | | { 0xce54e4b0ba8ed3c1L,0xf616513be281acfbL,0xaf1796295e0a6319L, |
6971 | | 0x85e79ac9328b587bL } }, |
6972 | | /* 6 << 56 */ |
6973 | | { { 0x11d84588c9fd7da0L,0xa78682d01238d0c4L,0x333ddde0829d6475L, |
6974 | | 0x80c8844069de9e18L }, |
6975 | | { 0x5d15f21ac6d8176fL,0xdaff9434a509d470L,0x0191bb0a8bbbfcd5L, |
6976 | | 0xff7732b808fc2688L } }, |
6977 | | /* 7 << 56 */ |
6978 | | { { 0x02fe772d5ab3d89eL,0xf1580ec99a786c91L,0x8fd834175a323866L, |
6979 | | 0x93711d49badec96fL }, |
6980 | | { 0x2020c34a6b9b4a30L,0xbf10e000b8b0de24L,0x2a5f298d28de3ce5L, |
6981 | | 0x807a398efe1a1c63L } }, |
6982 | | /* 8 << 56 */ |
6983 | | { { 0x9fb640cd73f7c45cL,0xeb1f87ad0afe059cL,0xa3c3979a52b168d4L, |
6984 | | 0x6eef460c7b1e403fL }, |
6985 | | { 0x6d943e502724bb3fL,0x53f3f1bbf9d922d1L,0x547e7a03cd538b4aL, |
6986 | | 0x37631e20d2c4145fL } }, |
6987 | | /* 9 << 56 */ |
6988 | | { { 0xe7e49922b1f810bfL,0xacafdb0ff2645825L,0x0f22216a15f35bdaL, |
6989 | | 0x6f2b4d95d85bd0b7L }, |
6990 | | { 0x2f203db8bedc9ecdL,0x26639ff6b91e090dL,0x94cd65963486eb84L, |
6991 | | 0x32747db342c05747L } }, |
6992 | | /* 10 << 56 */ |
6993 | | { { 0xcd3e7a52cebfa9f1L,0x5e792d76fb2b3007L,0x9669523db9ecce81L, |
6994 | | 0x9263cc8504f191e1L }, |
6995 | | { 0x192019c069655fe1L,0x1c5cc5eb4d984e59L,0x9ad10ed6df33f336L, |
6996 | | 0x0ca4838741d94897L } }, |
6997 | | /* 11 << 56 */ |
6998 | | { { 0xbd1ddf67f222476cL,0xb4ad712612d6dc4dL,0x5c327b1893ed702aL, |
6999 | | 0x7e3a27b1fa70cd9fL }, |
7000 | | { 0xdca750bdc0c4f415L,0x98197c90213a5d61L,0x9bbd014a6f10fcc7L, |
7001 | | 0xb06061e12ceed4fbL } }, |
7002 | | /* 12 << 56 */ |
7003 | | { { 0xaf6dbbe2a8ad25f9L,0xe70e9f407ade697dL,0xb829e0166eb872d7L, |
7004 | | 0xc330e15c1b04173fL }, |
7005 | | { 0xd4868e290d4763d8L,0x37867f724c18c9fbL,0x5fd2f47f28019486L, |
7006 | | 0xe6bfdf81b16e9bddL } }, |
7007 | | /* 13 << 56 */ |
7008 | | { { 0xace2a977783e43c5L,0xe179128876eed46aL,0x3884a5b2d1767739L, |
7009 | | 0x14eddddb427c50a3L }, |
7010 | | { 0xbeeed5ac1c9b1fccL,0x50b1cb444ecdb47aL,0xcbf695550dcb78d5L, |
7011 | | 0xe60bf9c7f2b17a99L } }, |
7012 | | /* 14 << 56 */ |
7013 | | { { 0x0edae6b09e9ade95L,0xb5c6e13dcb78b1e1L,0x32860fba1c257848L, |
7014 | | 0xfc9aa9f4ef7f5080L }, |
7015 | | { 0xccef850832aac870L,0x4b237704fb5310a0L,0x4c3cf970feebb972L, |
7016 | | 0x5dd3c7a0763d5f67L } }, |
7017 | | /* 15 << 56 */ |
7018 | | { { 0xa656797eccbf29c6L,0x6d77f2115a76a56bL,0xc627156b0e3daff3L, |
7019 | | 0xa4bd37f57646fb1cL }, |
7020 | | { 0x5fd7e286a8cd3e5aL,0x3889951a2f5fed51L,0xf8186fc5e48c49beL, |
7021 | | 0x0d3d308ac662ee38L } }, |
7022 | | /* 16 << 56 */ |
7023 | | { { 0xb7c9bf06970e164dL,0xc27a88d8bd3d3087L,0x8a37c9cdf4e7c899L, |
7024 | | 0x18494d5aab411371L }, |
7025 | | { 0x06532375d9d8b29cL,0xb92dd45c915a2f74L,0x8a23f6bf515acb02L, |
7026 | | 0x0e69248c435bfa89L } }, |
7027 | | /* 17 << 56 */ |
7028 | | { { 0x8bf41ec36866c5e4L,0xf059e6520999159dL,0xf906838fd29d7cd8L, |
7029 | | 0xc30100f63a269735L }, |
7030 | | { 0xb7742bc86280e70bL,0x0067d971867b54e1L,0xafe9032bf544622aL, |
7031 | | 0x6b441e39118a2042L } }, |
7032 | | /* 18 << 56 */ |
7033 | | { { 0x905c8655cdd66b70L,0xe88cce1bc1e2110dL,0x8cc23c0cee674093L, |
7034 | | 0x55ded4d9b2ea3fc3L }, |
7035 | | { 0xdd14502bb58dfbedL,0x523a4dd949f698f8L,0xf843a50101c83e5aL, |
7036 | | 0xf11fd4c1fe71ee1eL } }, |
7037 | | /* 19 << 56 */ |
7038 | | { { 0xeedd7229162d7c0bL,0xd42d6a9e4ccad713L,0xa082fffd2b0c7b93L, |
7039 | | 0xee3abd482a5016b9L }, |
7040 | | { 0x5079c95fc117e22bL,0x5d4b9169814b8666L,0x9e0f5e879bf90a6dL, |
7041 | | 0x4346bd29744bf7abL } }, |
7042 | | /* 20 << 56 */ |
7043 | | { { 0x4d85af0ebfb551b6L,0xb48e3da831f7a958L,0x3b474ce66f5bc50dL, |
7044 | | 0x9fdb47bce7c8dcedL }, |
7045 | | { 0x2064450e53003272L,0x6bb230f3839e69daL,0xb69415124d822be5L, |
7046 | | 0xb51bc6aaf11a9dc1L } }, |
7047 | | /* 21 << 56 */ |
7048 | | { { 0x866447f8b23047dcL,0xe02dbd63e5f52c2dL,0xe6ea43cb02770a76L, |
7049 | | 0x853f5fe356fa6c25L }, |
7050 | | { 0xfe9615f0960de6d5L,0x37c8b0c8f4b1b945L,0xa6e838054618629dL, |
7051 | | 0x38fb526423a2ac61L } }, |
7052 | | /* 22 << 56 */ |
7053 | | { { 0x5dfd700501751c20L,0x7e100245ce72773aL,0xdf09f92a0776794aL, |
7054 | | 0xc4a8de811b730fdcL }, |
7055 | | { 0x72c302abf0c7b031L,0xdddff68e1283913bL,0x24889098e32517b5L, |
7056 | | 0x2483a0f5856a2934L } }, |
7057 | | /* 23 << 56 */ |
7058 | | { { 0xdf6d7dcca1c3d56dL,0x07f9c00b09afb797L,0xe90da23d083d9557L, |
7059 | | 0x80ae6e53cbc03826L }, |
7060 | | { 0x1fd6ff6d7c0e1b23L,0x1e90f3c8b1100226L,0xf179e00e05a24e23L, |
7061 | | 0xe5361efe946f16bdL } }, |
7062 | | /* 24 << 56 */ |
7063 | | { { 0x50f12e4a4c662091L,0xdad2c7a328608585L,0x55c66749f7429473L, |
7064 | | 0x440b77de045ea1b4L }, |
7065 | | { 0x9f707b4991229927L,0x3501e29ec6725715L,0x5626fabb1225a8e6L, |
7066 | | 0x270a9c2b9507e709L } }, |
7067 | | /* 25 << 56 */ |
7068 | | { { 0xe0d629dabdcb9039L,0xb4d7cd2220255b7cL,0x10c8614b5ed874a6L, |
7069 | | 0x36891e704e67d406L }, |
7070 | | { 0x020da8341dce66feL,0xae69e1e7abd64deaL,0x9cf153a1cc71b37bL, |
7071 | | 0xa6e9d02444771c7eL } }, |
7072 | | /* 26 << 56 */ |
7073 | | { { 0xb15e31c78840fc17L,0x57853112349124a4L,0x78a9d807bac542eeL, |
7074 | | 0xe7b4d81238fe1188L }, |
7075 | | { 0x874adc70b3a3b801L,0x80c0e02a4694cec2L,0xd05c8c0ee97805e1L, |
7076 | | 0x8eaebceb89d8cd40L } }, |
7077 | | /* 27 << 56 */ |
7078 | | { { 0x888c777b378d055fL,0x6956795eb104a132L,0xe4bce719be8472d7L, |
7079 | | 0x23c9f0bf5f51729eL }, |
7080 | | { 0xfe7f7e1936a3bf3eL,0xf8f5d2ca20a32d37L,0xf383b46793b8a344L, |
7081 | | 0x7eab76f527a6e2c5L } }, |
7082 | | /* 28 << 56 */ |
7083 | | { { 0x86c31b0e93b54bc1L,0xb9405ea9fc4ecab2L,0x09485578a0f6d341L, |
7084 | | 0x88053bb84b77e8e7L }, |
7085 | | { 0xcde9b77729a07dddL,0xec8ea63f97649102L,0xf74d082ac516777aL, |
7086 | | 0xf4e26d89bacf0dd3L } }, |
7087 | | /* 29 << 56 */ |
7088 | | { { 0x6a919da8d0b3b578L,0x0bcc3b29a0b5f7d8L,0xbf4565e59e55924bL, |
7089 | | 0x13b361877889dbb6L }, |
7090 | | { 0xad0e59c6533981bdL,0xea941b620bd0cb7aL,0xe5e35e9aa9e7aa7cL, |
7091 | | 0x27f61727088bfd7dL } }, |
7092 | | /* 30 << 56 */ |
7093 | | { { 0xda2a5a208b3c7fbcL,0x33cdd403ba55cb48L,0xb72b51cf90e7ff36L, |
7094 | | 0x8cc4b5536f215840L }, |
7095 | | { 0xf7b80ad9d2671224L,0x560b43876a45436bL,0xdca90694ff9e8faeL, |
7096 | | 0x2e7e9546f97aa84eL } }, |
7097 | | /* 31 << 56 */ |
7098 | | { { 0x71e9ff45f37cd717L,0x6edf335e0d73e98fL,0xf355690c9f715170L, |
7099 | | 0xf74df40b3f5a82bdL }, |
7100 | | { 0x28b6d93195e5b105L,0x8827f47c2841a54cL,0x159cb94362b4312dL, |
7101 | | 0x277943d78db37edbL } }, |
7102 | | /* 32 << 56 */ |
7103 | | { { 0x561454fd6113a9f8L,0x78ebe733e70e67e6L,0x8764360b903f2febL, |
7104 | | 0x2ba3b3d897902f36L }, |
7105 | | { 0x28808cef87490b8aL,0xb1175954f05f31b3L,0xbd5d60056c9b4f4dL, |
7106 | | 0x12b13fcadd254e60L } }, |
7107 | | /* 33 << 56 */ |
7108 | | { { 0x38d4e81214959566L,0xe253b75036fe9a6cL,0x24b2c81a809450c1L, |
7109 | | 0x0aa899668fec36b1L }, |
7110 | | { 0x9a99deb5053e97e7L,0x5e57321ce31d3a6eL,0xcd7a4f338dbe78a2L, |
7111 | | 0x9f809d4f3299e070L } }, |
7112 | | /* 34 << 56 */ |
7113 | | { { 0xd6de8cfaa26a9ecaL,0x33d5705ba158a735L,0x08dd3fccc2293743L, |
7114 | | 0x1f8d0a4668bbbaeaL }, |
7115 | | { 0x53ff76f961bc4105L,0x6445e88d7c4a8fc9L,0xfd9a8d04c285d0e6L, |
7116 | | 0xf08d0d6bfe62b449L } }, |
7117 | | /* 35 << 56 */ |
7118 | | { { 0x08c27292c062810cL,0x955629f66663fa28L,0xbaf96c0e9d86fee8L, |
7119 | | 0x1dbc540646bb9894L }, |
7120 | | { 0x8d6b620793dd45c7L,0xaf3baef63ee989fcL,0xf66cfdb159b7b2f7L, |
7121 | | 0x287fc2bfda16c637L } }, |
7122 | | /* 36 << 56 */ |
7123 | | { { 0xa44ca8fa2d71f863L,0xa116196284d5dee5L,0x5a5c8ce33957b610L, |
7124 | | 0xdbb3225317f50b57L }, |
7125 | | { 0xc6a4eb7d76056358L,0xff9eb424c359d90fL,0xdf4afe23a88cb38cL, |
7126 | | 0x2ae727cba696b75dL } }, |
7127 | | /* 37 << 56 */ |
7128 | | { { 0x47cc63efd20a58c8L,0xd319dc3ac492ab36L,0x887a7d8336c7f76eL, |
7129 | | 0x65ed5e3efcd4cf49L }, |
7130 | | { 0x0e6f2f34da301d39L,0xf2f7c10238ad4533L,0x8a3a003bae834622L, |
7131 | | 0x94084169a060a0d4L } }, |
7132 | | /* 38 << 56 */ |
7133 | | { { 0xb673168b13c8a1ebL,0x80109609459f8da1L,0x68003fa15c82007bL, |
7134 | | 0x9f634159248e0430L }, |
7135 | | { 0x188156abfb9b6510L,0xc35be1cce62844deL,0x21e8f908b0c84d39L, |
7136 | | 0xa886d3ebdad3ae53L } }, |
7137 | | /* 39 << 56 */ |
7138 | | { { 0x9e20cd5682b0f5fdL,0xc0c12f0bc465c721L,0xfeeb10516f913a6eL, |
7139 | | 0x9e7c76b9aa32d6feL }, |
7140 | | { 0x820b49a0b8637b5fL,0xe9ae172af4abccf0L,0xccc050b1fb270e67L, |
7141 | | 0x0b51d7e32269d1deL } }, |
7142 | | /* 40 << 56 */ |
7143 | | { { 0xca772ec1678c8d8bL,0x74eea3f877ae7c7bL,0x51550df11e1bcbd3L, |
7144 | | 0xa931c17c3458b249L }, |
7145 | | { 0x192c3a45f204aed5L,0x93abf63dc993c881L,0xc60aa2cb83421891L, |
7146 | | 0x11ce6735f6b70284L } }, |
7147 | | /* 41 << 56 */ |
7148 | | { { 0x53e8a3ee69e152e4L,0x6889ece00033da23L,0xada569047d585418L, |
7149 | | 0xaf81a877f5e5abb9L }, |
7150 | | { 0x36e0267ddf515727L,0xe04b532d3daad2a9L,0x290e3ee71a11ced6L, |
7151 | | 0x5be7c42965e7a651L } }, |
7152 | | /* 42 << 56 */ |
7153 | | { { 0xc0662cd38ef9b498L,0x0ec5fbf06c4dcbf9L,0x26694c70ce4d7e3aL, |
7154 | | 0xc1699a93fa52de99L }, |
7155 | | { 0x2e0d394b6dae3e97L,0xe3af28cf4c66e572L,0x9caf7bf8ba1e27e4L, |
7156 | | 0xd5c39337d5a4bdaaL } }, |
7157 | | /* 43 << 56 */ |
7158 | | { { 0xbb5d95519ec8ad6dL,0xfb3bc1f1609fc2e1L,0x0d95ad2a95fe12b5L, |
7159 | | 0xf6fd6e895341dc74L }, |
7160 | | { 0x1532991e7537b803L,0x77772fd3eaf96f9cL,0x4ed09840f832749aL, |
7161 | | 0x69a194ce95f19d25L } }, |
7162 | | /* 44 << 56 */ |
7163 | | { { 0x5464471a041cc340L,0x26f7e5501c442289L,0x38f2c20eb5ce9706L, |
7164 | | 0xcf73f8f28a44efd3L }, |
7165 | | { 0x5176eda5586e8f77L,0x47e3384463ece447L,0x83826e8f86b00be2L, |
7166 | | 0x49cffcdb539807b7L } }, |
7167 | | /* 45 << 56 */ |
7168 | | { { 0x543d1fad414d3fb1L,0xd56aac6a38b1ef44L,0x9980bb6496c89050L, |
7169 | | 0xc300cb46b169b8a9L }, |
7170 | | { 0x5ab01a6b83413df4L,0x179b8922f3c91edaL,0x4060b94343cccc06L, |
7171 | | 0x4f6adeb59458ec1eL } }, |
7172 | | /* 46 << 56 */ |
7173 | | { { 0x0a4c6437e339e40eL,0x9cb6c53202aefe83L,0xb072d02b23dce7eaL, |
7174 | | 0x2cd7b11759a9032fL }, |
7175 | | { 0x01220cea81dbfaefL,0xffe0026c0905332dL,0x95ec2cb20197adffL, |
7176 | | 0x853bf6f54c3d0e49L } }, |
7177 | | /* 47 << 56 */ |
7178 | | { { 0x04ed54fb25d78f7cL,0x45aae3e1bb68cb9fL,0xf4f1a2c6e32d7421L, |
7179 | | 0x646ade6545a05771L }, |
7180 | | { 0xab241cfa91eab45eL,0xb1cf204c7b214af0L,0x92dfb3e3851d311cL, |
7181 | | 0x56479ffb144ae0daL } }, |
7182 | | /* 48 << 56 */ |
7183 | | { { 0xbf8474449a7a4edeL,0xb26b1f15f5cfd20fL,0xf380ed7d83b33b64L, |
7184 | | 0xa21f95643d1998c9L }, |
7185 | | { 0xd985c7d3a720e347L,0x980789748bdf09d5L,0xa1f34ce2ce947692L, |
7186 | | 0xf69e6144f419c385L } }, |
7187 | | /* 49 << 56 */ |
7188 | | { { 0xe19265268c3adcc6L,0x848974fb42746263L,0xa731261f97791569L, |
7189 | | 0xfed39da2065b721bL }, |
7190 | | { 0x8369b04c836a7e20L,0x5758a76153c19f62L,0x457463830ebea868L, |
7191 | | 0x201799273b7d71a8L } }, |
7192 | | /* 50 << 56 */ |
7193 | | { { 0xb466ed4f57632243L,0xc8d918cb120577c9L,0xbab307e5eda40e9cL, |
7194 | | 0xe6dbc7d4d5f65d1bL }, |
7195 | | { 0xcae0c64960619e10L,0xffddf6d16b0df67cL,0x60488755b32ee5d1L, |
7196 | | 0xcb278aaf47164a55L } }, |
7197 | | /* 51 << 56 */ |
7198 | | { { 0x354c33920bfb732dL,0xcd4fc821649bc125L,0xa8e1253f770ffdb8L, |
7199 | | 0xf7eec5950ff0c37eL }, |
7200 | | { 0xe5a652797149b102L,0x1cbbb56bd0528224L,0x40b1a8d9b51c5df4L, |
7201 | | 0xccb43d2639e1ca25L } }, |
7202 | | /* 52 << 56 */ |
7203 | | { { 0x48f74dc2fdcfe8c5L,0x3ccb31b6fa5b8dafL,0x6f8dc5bc7de6300fL, |
7204 | | 0x2a373fd3f247bc0bL }, |
7205 | | { 0xefe1353917825306L,0xeb253484c50c47b4L,0x4a7f2af33c739f02L, |
7206 | | 0x3a3eb3859a3c6746L } }, |
7207 | | /* 53 << 56 */ |
7208 | | { { 0xa90afa2a588978e2L,0x501fcebf8d80894fL,0x1de1d06d6bf1a4cbL, |
7209 | | 0xb0f4a61d6cc42a07L }, |
7210 | | { 0x975cb8de78d406f0L,0x560b0d7be3d293e3L,0x5746227c32e686caL, |
7211 | | 0xd12854f53fcb0205L } }, |
7212 | | /* 54 << 56 */ |
7213 | | { { 0x8c0eaba8499512e3L,0x8d97c229ade99108L,0xd80da38eff2b5782L, |
7214 | | 0xf8c30ba1aef08107L }, |
7215 | | { 0x9068d7d0076b97c3L,0x851d1cb9b1b7eba5L,0x02bb728c318e4675L, |
7216 | | 0x0efe970776ddc683L } }, |
7217 | | /* 55 << 56 */ |
7218 | | { { 0x6985d3586a248b04L,0x75eb6019f8969ed1L,0xecb66a20606a0c64L, |
7219 | | 0xd1252f64fe39b5e5L }, |
7220 | | { 0x93d5d61c2aa222a9L,0x16c0d6f91ffff8ecL,0x0f1f962d5dfab0feL, |
7221 | | 0x88776fe1cedcccb0L } }, |
7222 | | /* 56 << 56 */ |
7223 | | { { 0x410333c6a32cbff1L,0xca13ce28093bcbdaL,0xd97b06840e479259L, |
7224 | | 0x8b2b3ad8bf505c93L }, |
7225 | | { 0x42092d6471761412L,0x9d0c842d918acf33L,0x904d3addac9ade57L, |
7226 | | 0x025e4177e0d5ef6aL } }, |
7227 | | /* 57 << 56 */ |
7228 | | { { 0xce406ec00b33d4edL,0xf73ac4da57b5c958L,0x5f96cb8c6ef70849L, |
7229 | | 0x702ccc6f77b32d5dL }, |
7230 | | { 0x75bda8d8cea6885cL,0xbfc3e62ec0c0432eL,0x46db9cc654631c9aL, |
7231 | | 0x1669075bba1d1550L } }, |
7232 | | /* 58 << 56 */ |
7233 | | { { 0x5ccc4e342d227656L,0x0724e41b02cb0644L,0xc5e2077d435601fbL, |
7234 | | 0x356155c568d6aee2L }, |
7235 | | { 0x0ea00013fde58906L,0x79fa13c337a9eda4L,0x7d09479d8f51a6a6L, |
7236 | | 0x86e955b71f979fedL } }, |
7237 | | /* 59 << 56 */ |
7238 | | { { 0x9cb22960e39ab804L,0x6aeae78303535a39L,0xeb4741deb9909be6L, |
7239 | | 0xb957c5da1a5f4139L }, |
7240 | | { 0xafdb3e8bedc1819fL,0x33545722e7caa690L,0x0ef33e288bb66ed0L, |
7241 | | 0x5907374270e667b5L } }, |
7242 | | /* 60 << 56 */ |
7243 | | { { 0x0390fb3c5c7773b8L,0xb80b4a2f286a809dL,0xd17d6103fac46467L, |
7244 | | 0x9a09a0d691a48972L }, |
7245 | | { 0xa2124b6239e44585L,0x14c8a671174d241aL,0x99abfa37ada8ba26L, |
7246 | | 0x847f3040fbb457aeL } }, |
7247 | | /* 61 << 56 */ |
7248 | | { { 0x0587aaa47529a18cL,0x23b3f7249bb45ee6L,0x4d7f57122aa81155L, |
7249 | | 0xa9185804a4f16d09L }, |
7250 | | { 0xab6381413fc992d1L,0xb6c326fa0cad0bb0L,0xe21c362560f2cb10L, |
7251 | | 0x6c7af09e2fac20a9L } }, |
7252 | | /* 62 << 56 */ |
7253 | | { { 0x31e892fadc6f72abL,0x71d5c6a321b81f7bL,0xc3e2d70d298a0dd2L, |
7254 | | 0xbc0c37e213ecdc80L }, |
7255 | | { 0xd3191146e6496ba4L,0x15f8154135115466L,0x162be77d07d1937fL, |
7256 | | 0x38b4d1947b176367L } }, |
7257 | | /* 63 << 56 */ |
7258 | | { { 0x4485966db8cafbc9L,0x7cfc0d67f44c2a81L,0xe9e7ec4de624cefeL, |
7259 | | 0x4db8bec3581d4e48L }, |
7260 | | { 0xe76edf007fc8615aL,0x1b62c4a59a02cdb8L,0x8b56574983938a6dL, |
7261 | | 0xd813864e50c86c19L } }, |
7262 | | /* 64 << 56 */ |
7263 | | { { 0x7fc071ef16f55d40L,0x701954389bb45ea5L,0x83cf09f2a35543caL, |
7264 | | 0x07e91a8420554c19L }, |
7265 | | { 0x51ecd70162a9d06eL,0x00e14c622044a663L,0xb1317c1300423dd9L, |
7266 | | 0xf49431bca46eab4cL } }, |
7267 | | /* 0 << 63 */ |
7268 | | { { 0x00, 0x00, 0x00, 0x00 }, |
7269 | | { 0x00, 0x00, 0x00, 0x00 } }, |
7270 | | /* 1 << 63 */ |
7271 | | { { 0x35118434d0614aa1L,0x8bae9779d1418434L,0xf5641d82b8c15b89L, |
7272 | | 0x2383af56416432ebL }, |
7273 | | { 0xa552d3f02c73f990L,0x8df82e9ea6bbdc7dL,0x0f336aa8d75ec634L, |
7274 | | 0xc42e3b2d1603e53fL } }, |
7275 | | /* 2 << 63 */ |
7276 | | { { 0x4b33e020bad830d2L,0x5c101f9e590dffb3L,0xcd0e0498bc80ecb0L, |
7277 | | 0x302787f852aa293eL }, |
7278 | | { 0xbfd64ced220f8fc8L,0xcf5cebe0be0ee377L,0xdc03a0388913b128L, |
7279 | | 0x4b096971fde23279L } }, |
7280 | | /* 3 << 63 */ |
7281 | | { { 0xb0f8c0ded2d638adL,0x47fc8c774f299d5fL,0xd1720a929b68d48eL, |
7282 | | 0xf944e708a1c6f103L }, |
7283 | | { 0x36e34e04a146889bL,0xb0aad2d6e74a2a28L,0xedbb034bca52f53cL, |
7284 | | 0xe987a8e187fb2713L } }, |
7285 | | /* 4 << 63 */ |
7286 | | { { 0x6c5389aff727ef3aL,0x95ffeb9533db88fbL,0x27cb70429dae0777L, |
7287 | | 0xd20afe81616dbf02L }, |
7288 | | { 0x0fab8e18914bf706L,0x3b1e66f30517cd09L,0x24b46dce12e40644L, |
7289 | | 0x0ff1016808f2d8faL } }, |
7290 | | /* 5 << 63 */ |
7291 | | { { 0xe08a10dfea2d8d84L,0xe31f05e7e97dda79L,0xfe95f84a4e9ab132L, |
7292 | | 0xacd6f7fc927e216fL }, |
7293 | | { 0x025e27bd83c5a3eaL,0xed010c0d50f120fcL,0x443b3b8ab828101fL, |
7294 | | 0xd83848198cfc0deaL } }, |
7295 | | /* 6 << 63 */ |
7296 | | { { 0xe55f34c883dc5447L,0xbe76243b04e4e9a0L,0x78fb4cbc819166a2L, |
7297 | | 0x0bdfb703ae37f80aL }, |
7298 | | { 0xf869288ec217cda8L,0x2662bb7162af4156L,0xce64f29150ae9d30L, |
7299 | | 0xee0d4440dc0353c9L } }, |
7300 | | /* 7 << 63 */ |
7301 | | { { 0x3e61a9eabd25609cL,0x4ccaea93b3839c8bL,0x721cefa3e43736e2L, |
7302 | | 0x229cb244d0035908L }, |
7303 | | { 0x936bc1dc7f10aebbL,0xc93a1002b67332e7L,0xf4b53dd4f98d1132L, |
7304 | | 0x7b99a196d5a75030L } }, |
7305 | | /* 8 << 63 */ |
7306 | | { { 0xb13caaddca9a9526L,0x701c63fa69a303e9L,0xb97d667ab0a50f3cL, |
7307 | | 0x27c03d7c68e6557fL }, |
7308 | | { 0xab24e712eb105607L,0x4936aedd8dd86ccbL,0x32196f8a0a986d68L, |
7309 | | 0x0307b826248f5a65L } }, |
7310 | | /* 9 << 63 */ |
7311 | | { { 0x20e14b4cfcadb2adL,0x4cb4a0928c3b8c23L,0x50fe3c1a1caa9db1L, |
7312 | | 0x23cc56e881c0a4e9L }, |
7313 | | { 0x5ab091990867753fL,0x5a253d19f9d47c55L,0x422b4e031a9bcc88L, |
7314 | | 0x4e1ce22b671e4f36L } }, |
7315 | | /* 10 << 63 */ |
7316 | | { { 0x588f58b5ebbe949fL,0xb77622966982215bL,0x3cc83dd6cff863c0L, |
7317 | | 0x81ec094d01098f51L }, |
7318 | | { 0x214d69aabe0432d0L,0xe4e52a9c6455957dL,0x94743ba8fadc1eabL, |
7319 | | 0x2c395d978176316fL } }, |
7320 | | /* 11 << 63 */ |
7321 | | { { 0xeab6400ce6bb4d34L,0x7364dc55c0d49bf2L,0xd6fa6e40e6959c7eL, |
7322 | | 0x7960a9977eaae61cL }, |
7323 | | { 0x918b3c6394ea77c2L,0x2cf4997f76866dd1L,0xc4214abfbcbba8caL, |
7324 | | 0x349a61337aa4aab2L } }, |
7325 | | /* 12 << 63 */ |
7326 | | { { 0xd64bab7799458b24L,0x6fe19e252eba3064L,0x9aabd83d74068f03L, |
7327 | | 0xaef812186fdf8655L }, |
7328 | | { 0xf506d27b65593fefL,0x0a1ad85dfaa457b2L,0x266d0f06a303dff4L, |
7329 | | 0xe8114f4eabb416e3L } }, |
7330 | | /* 13 << 63 */ |
7331 | | { { 0xe743f6176aa5a1b8L,0xaf84652d1b5b2bd6L,0x8b1beab1092e2c46L, |
7332 | | 0x7e857549e2518383L }, |
7333 | | { 0x6be2ece1a9383124L,0x8309442a7fc20081L,0x1f00eb8bc3046cabL, |
7334 | | 0x959f315526f39f8cL } }, |
7335 | | /* 14 << 63 */ |
7336 | | { { 0xaacfe2d38fc2ed93L,0x8344664578f0f858L,0x58de6f09dda35ec4L, |
7337 | | 0x891e5ecdf78c69b1L }, |
7338 | | { 0xff4a4ba991c13d67L,0x6e78063d487d5575L,0x226b621e8d303a7eL, |
7339 | | 0x5c9bc103c95987edL } }, |
7340 | | /* 15 << 63 */ |
7341 | | { { 0x289801085e3be13eL,0x5e8c0ac5414af955L,0x0f08e93beaaa71a5L, |
7342 | | 0x1bc50407ce4524f0L }, |
7343 | | { 0x6a6a2e6a921be66bL,0x37113baac27da9f2L,0xc7b3c63652e90e29L, |
7344 | | 0xc075d178c8558307L } }, |
7345 | | /* 16 << 63 */ |
7346 | | { { 0x605f581a88a45b65L,0xcb78920068e58c1cL,0x14cbed65bc5bfe1cL, |
7347 | | 0xd1af7dc7f02b11d7L }, |
7348 | | { 0xb8341bc0cd3a7cc8L,0x8e9aefe8a01a77b7L,0x8eeafe875ae2a402L, |
7349 | | 0x27a0698fc11f3859L } }, |
7350 | | /* 17 << 63 */ |
7351 | | { { 0xc5e49f07f7af9756L,0xffd65bcc9e5b871fL,0x62a95357423eed7bL, |
7352 | | 0x93cf64d5b2ec687cL }, |
7353 | | { 0x04b87dd7be5da479L,0xdcceabd71a134c0bL,0xa4875091c5c6925cL, |
7354 | | 0x3bf947df8e9c098dL } }, |
7355 | | /* 18 << 63 */ |
7356 | | { { 0xb261727111d1323bL,0x7769247ce4c6046dL,0xf9c1aaabcfa6aac3L, |
7357 | | 0xf7f13317354492e2L }, |
7358 | | { 0x4bd65afde91befb6L,0x3e78cd8cf25b8f8dL,0x2adf53ede60ff4d9L, |
7359 | | 0x81ec38533d288d4cL } }, |
7360 | | /* 19 << 63 */ |
7361 | | { { 0xda852a71ee3bf44aL,0x39b4ef6cd7b5c6daL,0x472e699644f4e720L, |
7362 | | 0xbbd19d389191614bL }, |
7363 | | { 0xa2bcc2ec30c0e99dL,0x29318d7b57ba0582L,0x322faf40d315963aL, |
7364 | | 0x49ba55700c0619d1L } }, |
7365 | | /* 20 << 63 */ |
7366 | | { { 0xc28c1f81e5dcd066L,0x64d1268dff9e3493L,0xab0db38ebdf8992cL, |
7367 | | 0xe3790c26320cce30L }, |
7368 | | { 0x59b408a026e3e4b0L,0xe9e5fe296ab8504eL,0x45c827bd83c9eaf3L, |
7369 | | 0xc298e23689518edbL } }, |
7370 | | /* 21 << 63 */ |
7371 | | { { 0xb79a8b158d3ab381L,0x6bb951e8db0bb7c0L,0x5ebd3854be4b3353L, |
7372 | | 0x107ba27d2eb3b0feL }, |
7373 | | { 0x9d01654d46786cb4L,0xf46d8352cf3a1aa2L,0xa8f669a0a1662f72L, |
7374 | | 0xc979209f68a1d3e1L } }, |
7375 | | /* 22 << 63 */ |
7376 | | { { 0xc64975fa65471473L,0x1f8eec02ff1f2aadL,0x1b520fcc8d0dd401L, |
7377 | | 0xcd73209215e14346L }, |
7378 | | { 0x616478d88f878a76L,0x3579d49c7423e0f5L,0x119f6d6e1b2af15fL, |
7379 | | 0xbbe33d81b08c2c8cL } }, |
7380 | | /* 23 << 63 */ |
7381 | | { { 0x051d99c98534a355L,0xe3f3ddd3458b764bL,0xbd7e51aabc8c03bdL, |
7382 | | 0xcd7abf4ae8d42e38L }, |
7383 | | { 0xf0d974283160e63fL,0x258bba0734d13871L,0x4fedb6473dcb885eL, |
7384 | | 0x009fca2750f0a645L } }, |
7385 | | /* 24 << 63 */ |
7386 | | { { 0x3f06c14699775c4eL,0xb10a4ed3f66e7d05L,0x9300e3ca3a3ab903L, |
7387 | | 0x0a5610e0de3c3e1fL }, |
7388 | | { 0xe28273121af56fb7L,0x7e2a2365d75d9a9cL,0x9c3bb05af11f8963L, |
7389 | | 0xdf94cac730c80488L } }, |
7390 | | /* 25 << 63 */ |
7391 | | { { 0xaff1682f2d1143f5L,0x5837e83ab4d6ed7fL,0xf3e179beb4bce662L, |
7392 | | 0xfa8d78628caa5fbbL }, |
7393 | | { 0xbdde016f59ea54c1L,0xc488c8293c1ac962L,0xabe8b36714b46863L, |
7394 | | 0xbcfde36382897d1aL } }, |
7395 | | /* 26 << 63 */ |
7396 | | { { 0x87ddf0ec8c152354L,0xdec85db77a953398L,0x927a8b100b57108fL, |
7397 | | 0xb38b732f525f78f2L }, |
7398 | | { 0x7e696084eb306d56L,0x9befefef50269227L,0xfa86e376caddfa11L, |
7399 | | 0xd50a08da404be227L } }, |
7400 | | /* 27 << 63 */ |
7401 | | { { 0xb7408e3303bb523cL,0x6d21aa4ac093aaf1L,0x52aae4c9a85d6fcfL, |
7402 | | 0xf5d057c9b726afa9L }, |
7403 | | { 0x7979bb5cf92ca5b2L,0x4b1f7936c4e3e4f3L,0x2c534200071ec517L, |
7404 | | 0x47b52ffe67d3f86aL } }, |
7405 | | /* 28 << 63 */ |
7406 | | { { 0x4a0b581d84d1c5b2L,0xfc825a4a0dfa90cbL,0x2df2ec9811c72996L, |
7407 | | 0x82077a6e7dde922eL }, |
7408 | | { 0x89acda109f28b584L,0x54578eb8e49fe66fL,0x90a5f7004a1c29d7L, |
7409 | | 0x2de4719cb3b44748L } }, |
7410 | | /* 29 << 63 */ |
7411 | | { { 0x6944fe1418d85e6bL,0x90bd8208de7b904fL,0x5811f3b6a4597137L, |
7412 | | 0x7ea43767d4ab5433L }, |
7413 | | { 0x7ec39109a204a36fL,0xa43a4a57a30fb76eL,0x4fd514f8e090f2beL, |
7414 | | 0x3918138eda1c97f8L } }, |
7415 | | /* 30 << 63 */ |
7416 | | { { 0x2b466ae215145a20L,0x28ccb2cefbac86b7L,0xb891b70704106b98L, |
7417 | | 0xe40a231029696a08L }, |
7418 | | { 0x1210fed0636d9e11L,0xdaea218d2043caa1L,0x10c2ed0f0aef7dcdL, |
7419 | | 0x926be98affa5db7bL } }, |
7420 | | /* 31 << 63 */ |
7421 | | { { 0xe762191c36abac30L,0xe21acfaa8b75b5cbL,0x4f5e6b9fd180cc32L, |
7422 | | 0x0135830955deffddL }, |
7423 | | { 0x1b1ab943992a66f3L,0x1ebe0246ceef1a9cL,0xa24c9e257a01dcb9L, |
7424 | | 0x3d45c4e3326505f5L } }, |
7425 | | /* 32 << 63 */ |
7426 | | { { 0x9b805759c8544885L,0xbe9b99ca7bfcad78L,0xd1db36e12b8fe78eL, |
7427 | | 0x37255a2dd5387bcfL }, |
7428 | | { 0x044b3a3ea150ad32L,0xc65bc2a36671ae59L,0x41ce078e1d52384bL, |
7429 | | 0x3115f1b19e72c300L } }, |
7430 | | /* 33 << 63 */ |
7431 | | { { 0x487ff9dad0a358a0L,0x4b20c3699c242aecL,0x7813a44c1c7b145fL, |
7432 | | 0x87c6beded6f2d3eeL }, |
7433 | | { 0x34d2a89b47d393b1L,0x1e9f97c673f78679L,0xcb614fe02edce91cL, |
7434 | | 0x62b960097e9a5fa9L } }, |
7435 | | /* 34 << 63 */ |
7436 | | { { 0x7eb2aeb558c34b85L,0xa256a478cf5074fcL,0x73f23a5698c1de9bL, |
7437 | | 0xeffd490e61ce6535L }, |
7438 | | { 0x2569df2a4a6c15c8L,0x91e202a0fffc97a5L,0xd83c428e28dc7a57L, |
7439 | | 0x03bc53c79fc8dca8L } }, |
7440 | | /* 35 << 63 */ |
7441 | | { { 0xed394cfa9b60487bL,0xa4259f91b483a686L,0x11f51779179a5ccaL, |
7442 | | 0x00b00ef086c1d1c7L }, |
7443 | | { 0x6e596d2af1231aedL,0x6c1a702bd80eaa89L,0xd28f8c15d23f1d64L, |
7444 | | 0x93e85bea6d01728fL } }, |
7445 | | /* 36 << 63 */ |
7446 | | { { 0xd4288fb51c704922L,0xaadd19688c1363c5L,0x9b5c42d752f2cc4eL, |
7447 | | 0xf9e4bc96c298e794L }, |
7448 | | { 0xd604f076af0804acL,0xa441140ab3bb2628L,0x761eabcad37bf6bdL, |
7449 | | 0x7d192922be1cf79cL } }, |
7450 | | /* 37 << 63 */ |
7451 | | { { 0x2365739e3da7073dL,0xfb7423ea8e2c078fL,0x08f5132e3adfb6f3L, |
7452 | | 0x470a4205710a26feL }, |
7453 | | { 0xbe0afeb42b6c9b33L,0x94d9edc83cd813bfL,0xa2c7a7a0440a1699L, |
7454 | | 0xbdc4ea3b4eaf0c10L } }, |
7455 | | /* 38 << 63 */ |
7456 | | { { 0x5a5455db52fdc8d3L,0x60485f39b2945868L,0x54ce956700af0abeL, |
7457 | | 0x17bff77be8d15f54L }, |
7458 | | { 0x0021c5310e14a7ecL,0x3efdb22ddc9c800aL,0x9a9e27474d947adaL, |
7459 | | 0x19417bc4b37fc947L } }, |
7460 | | /* 39 << 63 */ |
7461 | | { { 0x71ca8da88f02c551L,0x782d5da4074cebc0L,0x99094980c1a43a2dL, |
7462 | | 0xe1b02ff024890d9bL }, |
7463 | | { 0x4eedaddb45d82f7cL,0x7ae170a55061c943L,0xaf8c7ea04d47c578L, |
7464 | | 0xcad17044ad3a6eaeL } }, |
7465 | | /* 40 << 63 */ |
7466 | | { { 0x51383e614f4c9c8bL,0x78d171829182fc81L,0xbed6f0d490d72cb4L, |
7467 | | 0x987612917bea62f0L }, |
7468 | | { 0x27594570ef3cd3fcL,0xf475953491a8c364L,0xf5c607c52744eb2dL, |
7469 | | 0x0d6264ebd8d8f337L } }, |
7470 | | /* 41 << 63 */ |
7471 | | { { 0xb54867a6a8701750L,0x1387e94087691191L,0xc451f178bd2f75dcL, |
7472 | | 0x31a099d3d1da6080L }, |
7473 | | { 0x0d0fcf9749f87f03L,0x0b7585f80af6273dL,0x3619cf2c1142265dL, |
7474 | | 0xf84d3f9605c559a4L } }, |
7475 | | /* 42 << 63 */ |
7476 | | { { 0xc3d3c80eb83f2cb9L,0xf4ef0b548f602141L,0x3afb343db9612928L, |
7477 | | 0x7abe56208db5c907L }, |
7478 | | { 0xcd692215cf019b08L,0x98d70b389ae12255L,0xb459e2568dfda5f2L, |
7479 | | 0x066a445e8f3f403eL } }, |
7480 | | /* 43 << 63 */ |
7481 | | { { 0x5663e123423fbbb6L,0xcc55ce365424d48fL,0x8bca99b93b6d5467L, |
7482 | | 0x299ff0ea316fc956L }, |
7483 | | { 0xd973a8d8a0ceb256L,0x443ecdb96d9956b9L,0x8c16a75d2f64f912L, |
7484 | | 0x89e490c2bbf7ab50L } }, |
7485 | | /* 44 << 63 */ |
7486 | | { { 0x4bd00db0b8dbf031L,0x866e0bbe7d2cb92dL,0xad36406e1dd3db2cL, |
7487 | | 0x969dc881e4e3f194L }, |
7488 | | { 0xcb3ac9e42a115bc8L,0xb45efd5de0a5ab75L,0x1709c29355377d5cL, |
7489 | | 0x06d11ba4de6bc25dL } }, |
7490 | | /* 45 << 63 */ |
7491 | | { { 0x84a09347ccf2d10bL,0x571cd4d908ee5aefL,0x1379ac02a450dd82L, |
7492 | | 0x5b7f02f5ae404542L }, |
7493 | | { 0x17366e7f2a7df4ceL,0x5bb3560c9830ebecL,0x5c5825807c254726L, |
7494 | | 0xea13f8fd70ab7b3dL } }, |
7495 | | /* 46 << 63 */ |
7496 | | { { 0x868c0f8d314e2a25L,0x4b3dad3a0be90b12L,0x09970da432aaffcfL, |
7497 | | 0xe711e9cf8a6d894dL }, |
7498 | | { 0x511521af0a80d07aL,0xe38147168a2a2851L,0xde76d41b1de9183eL, |
7499 | | 0x8a9fc79aaac779e5L } }, |
7500 | | /* 47 << 63 */ |
7501 | | { { 0xd7d1f23526879f8bL,0xcc849c85e37d5f9fL,0x26b5488a6b9cd82fL, |
7502 | | 0x1b068e8d91099141L }, |
7503 | | { 0x040dc00f35ee636fL,0xab40f94bd84a9cbbL,0x2e4cf65cdb303776L, |
7504 | | 0x42eaa12e78e8affbL } }, |
7505 | | /* 48 << 63 */ |
7506 | | { { 0x7835e4e9876f8f38L,0xcd421d77090ca6b6L,0x71a1d12dad0604f7L, |
7507 | | 0x51c2d1581a22e872L }, |
7508 | | { 0xfe7dfcc8429e45e9L,0x20028f5c48224b6fL,0xf7afed3750abf907L, |
7509 | | 0x92183692c4ce1a69L } }, |
7510 | | /* 49 << 63 */ |
7511 | | { { 0x0b93365c2d128addL,0x883f43c313200221L,0x9d3b5a534d309b2dL, |
7512 | | 0x60f0db16cf91a023L }, |
7513 | | { 0x20f0ebbd5b0e47beL,0xcc20dde8317d8b4bL,0xab033b485303dd7cL, |
7514 | | 0x6703eac77a9c1974L } }, |
7515 | | /* 50 << 63 */ |
7516 | | { { 0x92f0b738351c8f26L,0xadd39ac808569159L,0x80866e5e61098dd5L, |
7517 | | 0x7d0c1c6fcae578f6L }, |
7518 | | { 0x13d89cee975f59e4L,0x86006ed40092de2cL,0xda825b0a819adda4L, |
7519 | | 0x74fefb46de710934L } }, |
7520 | | /* 51 << 63 */ |
7521 | | { { 0x7c2ec289d3dc8683L,0x25898cd8690e5d08L,0x9bed0f32bcc67531L, |
7522 | | 0x356ba80cac762453L }, |
7523 | | { 0xd3224c577680da5eL,0xaae2597b3399d679L,0xb2a2a1e568df6e74L, |
7524 | | 0x49d23e8c2301b373L } }, |
7525 | | /* 52 << 63 */ |
7526 | | { { 0xcb89b484170dd677L,0x36b1d3d16b3ee110L,0xe50ada4f0d7b51b4L, |
7527 | | 0xa2f4fb57fd9afdbcL }, |
7528 | | { 0xb1b9b81daa6dd8e8L,0x616056a00be328aaL,0x8f6dd943e12b07c8L, |
7529 | | 0x4bb551c6325abaf6L } }, |
7530 | | /* 53 << 63 */ |
7531 | | { { 0xa546038068fbed5fL,0xa65d059f87ed0d37L,0xff60beda208aa8ccL, |
7532 | | 0xc91ff11b33d2d65eL }, |
7533 | | { 0x078c4e5ef65f65d2L,0xa92ed905f347dccfL,0x261ad25df59e3be9L, |
7534 | | 0x95903d913b69faccL } }, |
7535 | | /* 54 << 63 */ |
7536 | | { { 0xcf0a2f94e789d854L,0x9d39cd5110fbf531L,0x980ed5d46de44e3cL, |
7537 | | 0xaedbae3778425caaL }, |
7538 | | { 0x35804bc17bd278b8L,0xf4bee96a6a2d7beeL,0xc6c553a6a605671cL, |
7539 | | 0x182c923886f010d2L } }, |
7540 | | /* 55 << 63 */ |
7541 | | { { 0x94343b7a9cd6f37aL,0xa71e3853237190a9L,0xfcbebde7a8a28451L, |
7542 | | 0xfa928367d711d2beL }, |
7543 | | { 0xba8fd2eac3668951L,0x00fad1ed2d241329L,0x61b82e195dbdffd1L, |
7544 | | 0x0e5e57825a181dfeL } }, |
7545 | | /* 56 << 63 */ |
7546 | | { { 0x1c1bf593c60f1799L,0x388d695064ef800fL,0xf78ef00fce927a87L, |
7547 | | 0x2a0104196abfff9fL }, |
7548 | | { 0x13a7b08eb0b7ffe2L,0x4619da3e6da4cc8fL,0x8ac191907937e0bdL, |
7549 | | 0xf97d3fcb1af4f84cL } }, |
7550 | | /* 57 << 63 */ |
7551 | | { { 0xaea2abd08ac425a1L,0xc619c17d4a02e136L,0xf09a57d31b2c4acbL, |
7552 | | 0xc6fce6fc87b4eb40L }, |
7553 | | { 0xa161bb70b21b02f7L,0x075301fb95bcb925L,0x1d408003e1b440ceL, |
7554 | | 0xb42a47af606b3142L } }, |
7555 | | /* 58 << 63 */ |
7556 | | { { 0xd4ad09c71c832c35L,0x5bebe9130e17fb8fL,0xbf8efbcd8b45b250L, |
7557 | | 0xbef3cafee5ca21e4L }, |
7558 | | { 0x08a18be7688076f1L,0xabbb3fc50c3a2648L,0xa77086e8fb54720eL, |
7559 | | 0x8427775719c29e8eL } }, |
7560 | | /* 59 << 63 */ |
7561 | | { { 0x551768ca5b95b36dL,0x8850a9b0c7df6d3fL,0xe5a2737f5008c00aL, |
7562 | | 0x9a577c0dad076e3cL }, |
7563 | | { 0xbe7c611c2afa6a8aL,0x5dd9142a04259dacL,0xd14253bb422bf3d1L, |
7564 | | 0x8c9dc4c66805c78bL } }, |
7565 | | /* 60 << 63 */ |
7566 | | { { 0xb9837258d430488cL,0xf9fc178b7abc184bL,0x035d30790c5e6a11L, |
7567 | | 0x20cbe540fbc2182bL }, |
7568 | | { 0x849994e29d76812fL,0x166a9279f7a85553L,0x15ff064319d70affL, |
7569 | | 0x3c58e0b04bc6a829L } }, |
7570 | | /* 61 << 63 */ |
7571 | | { { 0x3809904b84df75ffL,0x454c63fd67a7c214L,0x79e0ffde2d873c09L, |
7572 | | 0x620a3293cef301bfL }, |
7573 | | { 0x8f38c8e8237c2bdfL,0x61cf96de13203c2cL,0xdff401d6d0bef848L, |
7574 | | 0x3c8ed7ceee4bcbb6L } }, |
7575 | | /* 62 << 63 */ |
7576 | | { { 0x3e128e2d07ff8f9aL,0x0653c0b2ad7e8d5eL,0x7bb30bb5b1930408L, |
7577 | | 0x91d187054c158386L }, |
7578 | | { 0xc4cf843c80c21fb4L,0x97a72d758a04133aL,0x6b7c49f34218755aL, |
7579 | | 0xc1a5a44768a40f68L } }, |
7580 | | /* 63 << 63 */ |
7581 | | { { 0x0ab9650e15ca3037L,0x16b1fa71ac06feb0L,0x501796600faa3dcaL, |
7582 | | 0x368b2d891c1aaeaeL }, |
7583 | | { 0xf6fa652ab46f0310L,0x86a4d62779fcbc59L,0x78169b8e6106a132L, |
7584 | | 0x40a741eb9e387d16L } }, |
7585 | | /* 64 << 63 */ |
7586 | | { { 0x14a4517480eed542L,0xadd645613362ef7fL,0x39228bfcc5dd0396L, |
7587 | | 0xe9fdf903ea0c538bL }, |
7588 | | { 0x6bfd91ec74d235deL,0x96ec237824aa0a47L,0xf5699241af8d6168L, |
7589 | | 0x0a7b9be3c548a60bL } }, |
7590 | | /* 0 << 70 */ |
7591 | | { { 0x00, 0x00, 0x00, 0x00 }, |
7592 | | { 0x00, 0x00, 0x00, 0x00 } }, |
7593 | | /* 1 << 70 */ |
7594 | | { { 0xe5255c302ade9556L,0xe328af1b75ba2e9bL,0x9d3391ef41ce9e47L, |
7595 | | 0xb74cd668fb0ffcc9L }, |
7596 | | { 0xc67103e4e3226acfL,0xa65ad22cd2959e42L,0x3aaa840699d490fcL, |
7597 | | 0x3e26a1c29ecc6356L } }, |
7598 | | /* 2 << 70 */ |
7599 | | { { 0x71c975de4e92defcL,0x81aeb173d0089883L,0x8a30ce4a2ec09190L, |
7600 | | 0x426e783869a36d64L }, |
7601 | | { 0x5899a0b6309bd2d7L,0x3b1c24af3cc1a4afL,0xb2aa8142345163b3L, |
7602 | | 0xd2ad9a692c78c86dL } }, |
7603 | | /* 3 << 70 */ |
7604 | | { { 0xde59fe5d8e7a4174L,0xaedff2d2ab3b0f3dL,0x4688e9e01f053470L, |
7605 | | 0x29ff3fb197c95c7cL }, |
7606 | | { 0xffb930cc85e6a8dfL,0xaa4d3175623b6068L,0x682101ddf9716623L, |
7607 | | 0xa3bc9f5f402db696L } }, |
7608 | | /* 4 << 70 */ |
7609 | | { { 0xf67233c6ba4e4651L,0x8cf956600714d4acL,0xd70decc371f1f8daL, |
7610 | | 0xb674732a7078370eL }, |
7611 | | { 0x4270416d4ccc773bL,0xc848ff35de87951eL,0xa61506a8493dfb56L, |
7612 | | 0xd8371ea9767eb110L } }, |
7613 | | /* 5 << 70 */ |
7614 | | { { 0xb468c3829e6b1d70L,0x1a9019784cd025fbL,0x4bf50c7e5e6879e8L, |
7615 | | 0x6b862c0f71cf7119L }, |
7616 | | { 0x6a53ce8906240e95L,0x3ddfaa0a04107ff4L,0x317093cc65532b51L, |
7617 | | 0xf1e0f8590e27b5fcL } }, |
7618 | | /* 6 << 70 */ |
7619 | | { { 0x96a97a12fe4674b4L,0x2a132ae6f7c97b12L,0x5afcd087a5f5ae91L, |
7620 | | 0xfd1d3a32d4805ddbL }, |
7621 | | { 0x0a989dc0d7b5c8bdL,0x35d186e44429af19L,0x65623ad242935fbaL, |
7622 | | 0x4e274314e79b867dL } }, |
7623 | | /* 7 << 70 */ |
7624 | | { { 0x47d9201608aaba2aL,0x12b62343f3f4c812L,0xb35bf043464f4b4cL, |
7625 | | 0xdc9391c0d8e8ba16L }, |
7626 | | { 0xcc0f8c4a5d460c0dL,0x04ce64bfe20fc6adL,0xd0289df5aa4b7db5L, |
7627 | | 0xe0ea15c5e5299815L } }, |
7628 | | /* 8 << 70 */ |
7629 | | { { 0xc066ee2fda3adfe0L,0xce6a9bdc0c964e7dL,0x04a0115b0c859476L, |
7630 | | 0xb5e02dc99c95699cL }, |
7631 | | { 0xf8301f6211377eb9L,0x57b245a2172bca2eL,0xa7d9b4707b47cf1fL, |
7632 | | 0x1b469bab1774b1c1L } }, |
7633 | | /* 9 << 70 */ |
7634 | | { { 0xbb9ec3e9da2dce70L,0x02d5353ed29bcddaL,0xc193244ab215233cL, |
7635 | | 0xb8d5727fd27a4e2aL }, |
7636 | | { 0x79e56194b6c5b114L,0xe2c20e715ce727f0L,0xc92f34a5236cbfeaL, |
7637 | | 0xcc47dfd156a02b8fL } }, |
7638 | | /* 10 << 70 */ |
7639 | | { { 0x5cdbda39e983ba13L,0x20f3de576e96c8b2L,0x2ff05aa766b76faaL, |
7640 | | 0xa876bc62d7f84b47L }, |
7641 | | { 0x962ef8a90d677d1fL,0xabc7bb1e801d3001L,0xdb5f0b1a7d13a23fL, |
7642 | | 0x2664f3ab20b819e4L } }, |
7643 | | /* 11 << 70 */ |
7644 | | { { 0x96be66c5dc45375aL,0x780ee0624a6c24e8L,0xc6fbfd1a013a13eeL, |
7645 | | 0x6ce1496c21fc4f9cL }, |
7646 | | { 0x03130c0981f272c5L,0x06e59457a26609cdL,0xf4c5e564ee5363b4L, |
7647 | | 0x1cd19a117df0775dL } }, |
7648 | | /* 12 << 70 */ |
7649 | | { { 0xcdfcfa67dfd6586eL,0x358953e51ba23faaL,0x0f467275aeec5d6fL, |
7650 | | 0xb815967a5b0e6b2aL }, |
7651 | | { 0xb01bf133012b89b4L,0xdd924bbc6839cc04L,0xa5cd2180120dfd73L, |
7652 | | 0x1abb11ef19bf8098L } }, |
7653 | | /* 13 << 70 */ |
7654 | | { { 0xd56c11ce6a281d1dL,0xfb01f45570daeb19L,0xbb442a0d8f29fcc1L, |
7655 | | 0x9aa60157e9b2f829L }, |
7656 | | { 0x1f3f6e6190ae8113L,0xc701a1856c946c0dL,0xb4b8926852ba7caaL, |
7657 | | 0xd657c679b0a5c77fL } }, |
7658 | | /* 14 << 70 */ |
7659 | | { { 0x0f14eb110dd26330L,0xff6222969b036325L,0xaf833fb8186e735aL, |
7660 | | 0x7801b02fc7e710f5L }, |
7661 | | { 0xa0bf821f5c948f43L,0x3be31aea86225c71L,0xe98f4f7be60b1c88L, |
7662 | | 0x6306588d73c5281bL } }, |
7663 | | /* 15 << 70 */ |
7664 | | { { 0xd617827783c9f829L,0x67b20e6cc06675f1L,0x8a63fb89cb2d5b9dL, |
7665 | | 0xcb28128c038c00feL }, |
7666 | | { 0x070a51418c7c6c6eL,0xc05e18c38789c3b7L,0x09fd03c2d5c67731L, |
7667 | | 0xc59e2abbf54010ecL } }, |
7668 | | /* 16 << 70 */ |
7669 | | { { 0x03977889f1ef2232L,0xbe2c82f19c7409a5L,0x35ac44f932004e03L, |
7670 | | 0x048bb359856823a3L }, |
7671 | | { 0x2e108d6cec1cf253L,0xe98e74d7703eb1d2L,0xcaf64f60570ac34dL, |
7672 | | 0xff814e7d4d7797faL } }, |
7673 | | /* 17 << 70 */ |
7674 | | { { 0x93b6abc370818472L,0x0e984be6888357afL,0x2a7ca1b03fe0c135L, |
7675 | | 0x0c6c4a1194a82d67L }, |
7676 | | { 0x0c90c359bb83ae74L,0x49b25e5e328b8af1L,0x26a36032798ff0a6L, |
7677 | | 0xbbf89c991fc28ca3L } }, |
7678 | | /* 18 << 70 */ |
7679 | | { { 0x4ce174e2e679eb71L,0x17c76176d1c183bdL,0x4bf67be803a69f58L, |
7680 | | 0x937a391cc0ee530cL }, |
7681 | | { 0x2daa9d901f7daaffL,0xa47e99b2c54f14d0L,0x6be357e7c57feecaL, |
7682 | | 0x3753fad2cfdfd5ddL } }, |
7683 | | /* 19 << 70 */ |
7684 | | { { 0x74e1457a48f90174L,0xb80926429b4734daL,0x291e75ba5800ea72L, |
7685 | | 0x25a21b38c72c28f7L }, |
7686 | | { 0x2193e0c9505aa4d2L,0x2f6829e3ada9d3f8L,0x66cd5a1d92900e29L, |
7687 | | 0x1360d2877414dc1dL } }, |
7688 | | /* 20 << 70 */ |
7689 | | { { 0x5deeb2eb0d1b96aaL,0x25783ce33e52ccf1L,0xe4e251f429d534efL, |
7690 | | 0x9fe9693d55797dadL }, |
7691 | | { 0x6a173d69c6ab9935L,0x239913187721ca8eL,0x38cbcd30c393eb26L, |
7692 | | 0xe3627ab971d95a9eL } }, |
7693 | | /* 21 << 70 */ |
7694 | | { { 0xdf1218be7f6fe2d4L,0x850c8598fabd8326L,0x1214d3d7b0f7cf49L, |
7695 | | 0xeaf60d311805345bL }, |
7696 | | { 0xc5caf65bbfee2c5fL,0x7012797945e23043L,0xda36e794500fbad2L, |
7697 | | 0x38fa60b04156e3a6L } }, |
7698 | | /* 22 << 70 */ |
7699 | | { { 0x45934bdd3cbab88aL,0x72821e741b19dce4L,0x532f706d8661e32dL, |
7700 | | 0x3dbfc22573a9930eL }, |
7701 | | { 0x72d1cb2a3cbeb0f1L,0x795b0696e20f5613L,0x6e3469e89fc88717L, |
7702 | | 0xf4bf0531483864d2L } }, |
7703 | | /* 23 << 70 */ |
7704 | | { { 0xc92e6a8cfa19ddd9L,0x7db7e2ee3528e628L,0x997a00ebf321fc88L, |
7705 | | 0x7605a2c9acdf205fL }, |
7706 | | { 0x9fca58cfea9c3ed0L,0x833078cb56ff0e98L,0x75159b8f662a1695L, |
7707 | | 0x186560b71919f51fL } }, |
7708 | | /* 24 << 70 */ |
7709 | | { { 0xe9b60e575ef764b4L,0x61ad29fcbe73c698L,0x18489017dd2be1eeL, |
7710 | | 0xac95e3b67febda71L }, |
7711 | | { 0xa69853465ac96092L,0x906265c3bfc83566L,0x1692c8125972fa4aL, |
7712 | | 0x4e76f87900773540L } }, |
7713 | | /* 25 << 70 */ |
7714 | | { { 0xba9a6268542b137eL,0x43a52b904c7926e2L,0x28785bf5feae554eL, |
7715 | | 0xc023b6880ab61576L }, |
7716 | | { 0xb3ec818110933a55L,0x756344596331678eL,0xe0dfa14117c50b5dL, |
7717 | | 0x4cbe7fdae2151f25L } }, |
7718 | | /* 26 << 70 */ |
7719 | | { { 0x3f3072acce81fbafL,0xa387bb200ff56a32L,0x2b08a81199865968L, |
7720 | | 0x7279f913084cb1f2L }, |
7721 | | { 0x78cca6c9dad70f5aL,0x72469f6aff47647dL,0x2505c7ffe358b597L, |
7722 | | 0x7c5268a8998ff0dcL } }, |
7723 | | /* 27 << 70 */ |
7724 | | { { 0x32d7012999d5b1c1L,0x72727c1524a90c34L,0x57dad21c715662b1L, |
7725 | | 0x76b4b6ec132f3294L }, |
7726 | | { 0xd03b46b1267d246eL,0xc7c848ec29b47516L,0x5eab3dbc1660af51L, |
7727 | | 0x818894c404c66383L } }, |
7728 | | /* 28 << 70 */ |
7729 | | { { 0x26a45c3ea7b82f5cL,0x494694deea98adfbL,0x44a06ec3134b182cL, |
7730 | | 0x5570befa75b82b41L }, |
7731 | | { 0x819f6808129f952eL,0xa6fad25f914f87c4L,0x831e56687c7be905L, |
7732 | | 0x93107f38e623a5c2L } }, |
7733 | | /* 29 << 70 */ |
7734 | | { { 0xa9d884695e40c5f4L,0x4314d233aa5993c5L,0x5eab88d09c19bbc5L, |
7735 | | 0x795e1c21b385d3cdL }, |
7736 | | { 0x532a1871ce163fbeL,0x727cb126b867aea4L,0xfc7047ebf7f30476L, |
7737 | | 0x18031271fcc4fe35L } }, |
7738 | | /* 30 << 70 */ |
7739 | | { { 0x4b84fa4a884a4c6dL,0x82cb9aee55c830abL,0xd4cfdf040cc927ccL, |
7740 | | 0x787efddea16bef30L }, |
7741 | | { 0xd1fb2dd632e3c763L,0x8739566f16737272L,0xf9ae4f4603a1055aL, |
7742 | | 0x199970cdf9a7472bL } }, |
7743 | | /* 31 << 70 */ |
7744 | | { { 0xf9893cfb1d33ac50L,0x74cf7dd41e5ff4e5L,0x72ec32e5f7165331L, |
7745 | | 0xa082c59abb4679cfL }, |
7746 | | { 0x3cd0a4675c75461aL,0xd2872d6840f06206L,0x08271eefb5122795L, |
7747 | | 0x7006d3501475e22bL } }, |
7748 | | /* 32 << 70 */ |
7749 | | { { 0xf7cd1bcc89e35108L,0x924efa4393f1cbafL,0xe3716559f35b13acL, |
7750 | | 0xa0a88e8760370a1dL }, |
7751 | | { 0x1203be0a8c286ea3L,0x97fc5ab66ebd50c7L,0x2b5b360274284d08L, |
7752 | | 0x3055716f694a20e0L } }, |
7753 | | /* 33 << 70 */ |
7754 | | { { 0x793c8a89193520c0L,0x356402d0655f5ff2L,0x0cf889ee1af5ddd6L, |
7755 | | 0x3eb7eb35b3f149b2L }, |
7756 | | { 0x5254b57c68e07e0eL,0xb1971de29c5bbfa7L,0xcc85a53a0ad81e7eL, |
7757 | | 0xbaaa4d2bed3cbb10L } }, |
7758 | | /* 34 << 70 */ |
7759 | | { { 0xbdf9941c8f3a7eecL,0x6e1b7daba1f26666L,0xe7a0dfa42d79a58fL, |
7760 | | 0x25e0ddb51f2b9667L }, |
7761 | | { 0x4b3b51055fd96351L,0x123258328874abd1L,0x56e90310795d91a5L, |
7762 | | 0x376a79d22c32eec8L } }, |
7763 | | /* 35 << 70 */ |
7764 | | { { 0xd9dd8817a8a16445L,0xd61f6aec0e00fa92L,0x594a620d17d95f07L, |
7765 | | 0xa1534fdaf4b15001L }, |
7766 | | { 0xe94026010974f4a3L,0x4c3fc1308f671f13L,0x8eaab35ac5f35bfbL, |
7767 | | 0x13b984724626bacaL } }, |
7768 | | /* 36 << 70 */ |
7769 | | { { 0xf48703adcdee6f8dL,0xf1ba030912d39694L,0xeb2d4d929fcda52cL, |
7770 | | 0x984f51115507b401L }, |
7771 | | { 0xe3aa26aef6bab9ecL,0x557b5e3f6b2e077dL,0x7185ab4f2f9c5f35L, |
7772 | | 0x96f21a331680bcbcL } }, |
7773 | | /* 37 << 70 */ |
7774 | | { { 0x2e7f6e072ddb1173L,0xa704416e816ffc8dL,0x55acfaa352e26265L, |
7775 | | 0x9c2442538b758c94L }, |
7776 | | { 0x4012e0a60479936dL,0x12749e936d8541d8L,0x374f420dce56a2a1L, |
7777 | | 0x6a8e3614c79da17fL } }, |
7778 | | /* 38 << 70 */ |
7779 | | { { 0x3602ad09157cc9e1L,0xf3c4a54c13603196L,0x354fc6ed8473ae27L, |
7780 | | 0xb4cf4251651b8003L }, |
7781 | | { 0x456b1b9b3415b5f0L,0xe078a858c4c71507L,0xf42104099a0a11fbL, |
7782 | | 0x76de42a0f930ec45L } }, |
7783 | | /* 39 << 70 */ |
7784 | | { { 0x82ecd0afcfa869a1L,0xa637938adccf2e47L,0x1d2858f2c041648aL, |
7785 | | 0xcf9abfe8c0dfacd2L }, |
7786 | | { 0x3af77e19bdddebe1L,0x15f6b0bb180b535fL,0x497de678549d34c1L, |
7787 | | 0x31495c9e3dba7d6fL } }, |
7788 | | /* 40 << 70 */ |
7789 | | { { 0x47b9368b393ab61cL,0xdb8ee3a827441f92L,0x214a6a5ffb0b0117L, |
7790 | | 0x429e61ad43759430L }, |
7791 | | { 0x78116e8877316c0eL,0x59c82616a6a29e98L,0xbfed454faaef4619L, |
7792 | | 0x673327c435926335L } }, |
7793 | | /* 41 << 70 */ |
7794 | | { { 0xaa66d8c518c616a7L,0xa93946a66d28fb98L,0x4fc30de5133336ddL, |
7795 | | 0x7e000a347f0c805eL }, |
7796 | | { 0xa82dcf54cf7eab23L,0x679e67a88dc24371L,0x26b2dffc1af582d8L, |
7797 | | 0x4c1d692ad3fe2155L } }, |
7798 | | /* 42 << 70 */ |
7799 | | { { 0x2475b1102d024923L,0x0cc9245dc303c1e7L,0x290b7a7703667a7aL, |
7800 | | 0x2ab8eb6dd87dbd9cL }, |
7801 | | { 0x7089e481c098719eL,0x17dd6d7412c022c8L,0x90efa01f8b7aca14L, |
7802 | | 0x8b601fbaf55fbe83L } }, |
7803 | | /* 43 << 70 */ |
7804 | | { { 0xf800bd76415aa7a5L,0x015573d33aa74349L,0xd5143779af5ec789L, |
7805 | | 0x32330b4bd76dd2ddL }, |
7806 | | { 0xec6caa4d82331ef1L,0x92cc886525ad1965L,0xf8209a40134370b0L, |
7807 | | 0x320a37b9b883cf95L } }, |
7808 | | /* 44 << 70 */ |
7809 | | { { 0x94237ba25d39731dL,0x6359d1958532a968L,0x8bca94c9f86b8b75L, |
7810 | | 0xdb5c6a9cde316226L }, |
7811 | | { 0xdf300c59a2fa0c26L,0x6dbf608248af4357L,0x25066c6c06535fc9L, |
7812 | | 0xba2e774ea29b2477L } }, |
7813 | | /* 45 << 70 */ |
7814 | | { { 0x5157e93d1931299bL,0xd6249c103a8035a4L,0xcb18fcf181245740L, |
7815 | | 0xb4d84c9dad5ebe1fL }, |
7816 | | { 0x95050bec8df0d59dL,0x190a4860ac2a2e0cL,0x29029e0ffd1bbb11L, |
7817 | | 0x341f73deb075b432L } }, |
7818 | | /* 46 << 70 */ |
7819 | | { { 0xa825c3c574836028L,0xec4fd74b8f55343aL,0x009bcab560a683b3L, |
7820 | | 0x29877303cd3adea6L }, |
7821 | | { 0x9f264bf2684a33acL,0xc8bf19e684b3c379L,0x8ac35fb8a1215470L, |
7822 | | 0x2919d9da405386d6L } }, |
7823 | | /* 47 << 70 */ |
7824 | | { { 0xb4e4aa3019780b2aL,0x639b8fcb356ddd4eL,0x6ed7b10c9322c245L, |
7825 | | 0x84ec0bc657f39c76L }, |
7826 | | { 0x6a1be66c879176fbL,0x4cab3151e10e0f77L,0x01c6321fe2ae0777L, |
7827 | | 0x04d6a04c65e57ff1L } }, |
7828 | | /* 48 << 70 */ |
7829 | | { { 0x8c1725ed142596dcL,0xd321d49ab2d413a6L,0x19c25fc32b5e8ae7L, |
7830 | | 0xfc32cbebbd3c7dc6L }, |
7831 | | { 0xf3ec98b857b98ff5L,0x52e5f1adf75b1a00L,0x16812bb48f8ad463L, |
7832 | | 0x9d67cb11a274f0c3L } }, |
7833 | | /* 49 << 70 */ |
7834 | | { { 0xdec7205580064047L,0x3f828c014319f87bL,0xffcad5c3ff4d6c4aL, |
7835 | | 0xee6659b267a6e030L }, |
7836 | | { 0x9cb5c7290478715fL,0xc63fc2815a1c926eL,0x1b8788cadeb11155L, |
7837 | | 0xbe2eebf14f0c00b2L } }, |
7838 | | /* 50 << 70 */ |
7839 | | { { 0x9b72ffd0a6af09d1L,0xcbac42bda9a459f3L,0x150806c0f560dc93L, |
7840 | | 0x71c636e4c57787eeL }, |
7841 | | { 0xe4f3acb82a951b0dL,0x510dc7713b18d294L,0xfbb3fb53b060e782L, |
7842 | | 0x0659cadd0358210eL } }, |
7843 | | /* 51 << 70 */ |
7844 | | { { 0x23638245ecde1629L,0xee6e9a65cc09daa5L,0xf440bb81ee18f9cfL, |
7845 | | 0x99e4d6e8955200e0L }, |
7846 | | { 0x34555b5893e69354L,0xa6080e13fb29b19bL,0x3bfa47965100ab06L, |
7847 | | 0xf5db4b1322eec8fcL } }, |
7848 | | /* 52 << 70 */ |
7849 | | { { 0x2c1a229ee5aaa980L,0x446cd46bd29eb83eL,0xe0c044da7f5aa015L, |
7850 | | 0xa55d5f23a18f23f7L }, |
7851 | | { 0xd71e58c1b6b70f51L,0x77c72d10b5862c51L,0x01db731afce94cebL, |
7852 | | 0x877703a813a47553L } }, |
7853 | | /* 53 << 70 */ |
7854 | | { { 0x4878b0b13b75e6d9L,0xbe8421f0fe60f98aL,0x6312821bc69d6820L, |
7855 | | 0x4c01937400d2db20L }, |
7856 | | { 0xb1bd51752a1d8b74L,0xa0a24ad2ef7fdad6L,0xf29fd27d929fc488L, |
7857 | | 0x8e28b4ed162a02deL } }, |
7858 | | /* 54 << 70 */ |
7859 | | { { 0x434cbdb3c166afcfL,0x7b79e808bf663e65L,0xd445f1b0a3c3b159L, |
7860 | | 0xdf9f92b7b35b2be9L }, |
7861 | | { 0x815b57f3788a9bbcL,0x9e03e357abbba2e0L,0x3fc574d591a658d8L, |
7862 | | 0x83b35d8aadf4e250L } }, |
7863 | | /* 55 << 70 */ |
7864 | | { { 0xa0e15175acd1e4f0L,0xeca899a4868b4e04L,0x713b4e9e782b7ee7L, |
7865 | | 0xed177e1eb7d58c1aL }, |
7866 | | { 0x4778df76ac8364b2L,0x6898fb312e8f7ef7L,0xfccf4c53a03975b0L, |
7867 | | 0x0f908d148597436fL } }, |
7868 | | /* 56 << 70 */ |
7869 | | { { 0xbeaf1a1696671c53L,0x9be643296bc4cbbfL,0xc8f66f6380017bf3L, |
7870 | | 0x92d700f28836ff35L }, |
7871 | | { 0x9ddd7a8113a4daf1L,0xb3c427239b72664bL,0x3d96f79a81babf43L, |
7872 | | 0xa46c9c0c7ce5830dL } }, |
7873 | | /* 57 << 70 */ |
7874 | | { { 0x54dfec97f5999a71L,0xdb5be461e586a578L,0xf9bc3f04cfb4e7adL, |
7875 | | 0x6e5448a9b11f07aaL }, |
7876 | | { 0x29ef779170132d5aL,0x4fe486c328ba851aL,0x6743fecdb62f7f8aL, |
7877 | | 0xeb26438744d24d01L } }, |
7878 | | /* 58 << 70 */ |
7879 | | { { 0xf93c05bc72ebb976L,0xe65b30c0aaae099eL,0x4194721ac8427104L, |
7880 | | 0x3af3487f3025853eL }, |
7881 | | { 0xb33a2893dbf48435L,0x2c5ac6392d79334eL,0x8fc199f8b16b05a6L, |
7882 | | 0xc145358e7661a77bL } }, |
7883 | | /* 59 << 70 */ |
7884 | | { { 0x15b580b61841f719L,0x24f5fadbd7045528L,0xe443c25798df2c22L, |
7885 | | 0x48acf5a7d7eed58bL }, |
7886 | | { 0xe24e6571edeb9e4bL,0xcd047b81562533fdL,0x618ddd86d1566e36L, |
7887 | | 0x09a77b70dba1ecedL } }, |
7888 | | /* 60 << 70 */ |
7889 | | { { 0x0e9de4106968ddb9L,0x10f0f42912985b32L,0xbe21b10f8ca7d2faL, |
7890 | | 0x0844d8e8c610ae2bL }, |
7891 | | { 0x58a08694d57107d5L,0x45f44bd5c34441f3L,0xe8b3b3df79a54186L, |
7892 | | 0x6496d668b8b5f26bL } }, |
7893 | | /* 61 << 70 */ |
7894 | | { { 0xd69cefb8192503beL,0xb692128d40f928fcL,0x13b11dfda7ed8c47L, |
7895 | | 0x90bd279f5a196756L }, |
7896 | | { 0x78f2e8c617ff33ebL,0xa7b233d4aaf6c182L,0x63d6250376a31f46L, |
7897 | | 0x53143dc31449dc97L } }, |
7898 | | /* 62 << 70 */ |
7899 | | { { 0x5bb8680294922922L,0x2f45a7dc89181334L,0xf7c466d51ec5cce4L, |
7900 | | 0x52d15eedbb3bd5f3L }, |
7901 | | { 0x150bd5f6e6eacf86L,0x7fecaf3a0ba66988L,0xcdd7fadb11f6f528L, |
7902 | | 0x60f64c6855042fafL } }, |
7903 | | /* 63 << 70 */ |
7904 | | { { 0x1615919d961ddf76L,0xdba095cb53f2f514L,0xf04960ba1e6c076cL, |
7905 | | 0xe52767224c9f17d5L }, |
7906 | | { 0x93ff80f961c186a9L,0xd17378b03c58ab92L,0xc67f9ae1769492e8L, |
7907 | | 0xaccfc8680c3d023bL } }, |
7908 | | /* 64 << 70 */ |
7909 | | { { 0x7d67a63d5b99708dL,0xfb29bef74b80189aL,0x3cb7eeaa241c402eL, |
7910 | | 0x328cb6de2c5c2767L }, |
7911 | | { 0x0d24a7b49cec231dL,0x725955fc0e2e6a7fL,0xa2040cfab7f17b13L, |
7912 | | 0x215eff8da25c71cfL } }, |
7913 | | /* 0 << 77 */ |
7914 | | { { 0x00, 0x00, 0x00, 0x00 }, |
7915 | | { 0x00, 0x00, 0x00, 0x00 } }, |
7916 | | /* 1 << 77 */ |
7917 | | { { 0xe4d9cab1c0d41a94L,0xc38b202a9e60f7d4L,0x2bbf6b179336116cL, |
7918 | | 0x2f9aa8772e068f13L }, |
7919 | | { 0xf8820627a4bac9fdL,0x2209cb9e8a593cb4L,0xaa78ec63c7417931L, |
7920 | | 0x42d212517cfccfbfL } }, |
7921 | | /* 2 << 77 */ |
7922 | | { { 0x40cee5ae3e611940L,0x4e2d9ea90aa090ecL,0x73d167ef1b926e42L, |
7923 | | 0x7fff36df5d5112a3L }, |
7924 | | { 0x25587745caffa3fbL,0x224f7f4ec5a83504L,0x5ceff0183b47bf2aL, |
7925 | | 0xed9bfa73ecfab5c6L } }, |
7926 | | /* 3 << 77 */ |
7927 | | { { 0xf3d570b8d9b429c9L,0x69460116c5ad81cbL,0x30833a082f6825bdL, |
7928 | | 0xa297122a7c99f36aL }, |
7929 | | { 0x6fc9b84805c3abdfL,0xefe952985f2e24b2L,0xf045275a8915d922L, |
7930 | | 0x79146aab298a9726L } }, |
7931 | | /* 4 << 77 */ |
7932 | | { { 0x0c7d59054f831d0bL,0xfaaaa26c2d47d4feL,0x5ac2859985042e12L, |
7933 | | 0x7eda370b7796977dL }, |
7934 | | { 0x9f0bd71d95c0be63L,0x7c4601bc8e821005L,0xf1ecbc604c2ffae9L, |
7935 | | 0x7e3efc579b688173L } }, |
7936 | | /* 5 << 77 */ |
7937 | | { { 0x868c672bf4ea7641L,0x4fa90a82d94243dcL,0xbd82913ef5eab489L, |
7938 | | 0xceebc159e966b39dL }, |
7939 | | { 0x31fe4f5f35c51e2bL,0x2fea6ab1c79c1725L,0x5856cd8583afad40L, |
7940 | | 0x7f9609884ca89b88L } }, |
7941 | | /* 6 << 77 */ |
7942 | | { { 0x9d237c2d1ed8fed0L,0x69b4ec804e0c6f10L,0x11f83283e4648395L, |
7943 | | 0x6f4636a7306e152aL }, |
7944 | | { 0xf70fd23a804539b3L,0x4db0903ab3cdb981L,0xe506ae6f6691eb18L, |
7945 | | 0xaa69c7aa1d8e9d9dL } }, |
7946 | | /* 7 << 77 */ |
7947 | | { { 0x540af9503e4e2088L,0x8fab01d595f04e57L,0x51bf909aa8c51a67L, |
7948 | | 0x01299f5efd19beb7L }, |
7949 | | { 0xdf703400b8f15aebL,0x19c709872d890394L,0xf5fcc675203d2d99L, |
7950 | | 0xabbf3f21c3d4ddeaL } }, |
7951 | | /* 8 << 77 */ |
7952 | | { { 0x8348ca15587feffaL,0x585d07407d69e4adL,0x6fbe5619885a0745L, |
7953 | | 0x04ee9ebab10b24ddL }, |
7954 | | { 0x5c27075c0f4c12d7L,0xacf4acdc3c51c605L,0x782fa52bfce336d0L, |
7955 | | 0x6e1d078f483621d2L } }, |
7956 | | /* 9 << 77 */ |
7957 | | { { 0xa2253bfbd4dc3277L,0x3a0143074691bc12L,0x415aa5b2ebdef616L, |
7958 | | 0x1008a44a16fe065bL }, |
7959 | | { 0x4004a90a16dfa94dL,0x0e24f5418464785bL,0xd2715c8988d30ea8L, |
7960 | | 0xaf81a9ff1f05a312L } }, |
7961 | | /* 10 << 77 */ |
7962 | | { { 0x958da4703e8d5eefL,0x09561898d3c80414L,0xba6b731c8bb74691L, |
7963 | | 0x6b7355cd577f2ef9L }, |
7964 | | { 0xd1f416edb8a98efaL,0xd4a1293a11590271L,0x2c4d59344658e9ebL, |
7965 | | 0x51803651d1f15d39L } }, |
7966 | | /* 11 << 77 */ |
7967 | | { { 0x9b9f0c053c95fffeL,0x8f02145131acd6caL,0x5fee2961f9dba549L, |
7968 | | 0x0521797517ea0456L }, |
7969 | | { 0xc0591906d13a6a4aL,0xa7f5ed0290daf370L,0x1f8b7158fc4c304dL, |
7970 | | 0x77016c291b7f0246L } }, |
7971 | | /* 12 << 77 */ |
7972 | | { { 0xc27d18472ea265d2L,0xec0789c62862781eL,0x0a79ac1f5d86a60eL, |
7973 | | 0xe325b563130670a5L }, |
7974 | | { 0xf47944606d33bfeeL,0x126e703eec25bb10L,0xeae22fd3a7bf902fL, |
7975 | | 0x8b2fb28228eef62eL } }, |
7976 | | /* 13 << 77 */ |
7977 | | { { 0xb68de35b059138b4L,0xfc44bf56d46e68e3L,0x71567daaff11f76aL, |
7978 | | 0x9110e8496b17cd2aL }, |
7979 | | { 0x7c4027e369573b93L,0x84ee945a1eb9bf01L,0xa3fadc6d28c26cdbL, |
7980 | | 0x7037a74d575dfc1bL } }, |
7981 | | /* 14 << 77 */ |
7982 | | { { 0x58c96a919b2223ddL,0x912fc79551461b94L,0xc18ced632df3329aL, |
7983 | | 0x79d6f75f88a002d0L }, |
7984 | | { 0x73d7a089f44d3d84L,0x98c78aa78c058073L,0x0ab8b3c7333ae8ffL, |
7985 | | 0xf5a8f5ecebd4e536L } }, |
7986 | | /* 15 << 77 */ |
7987 | | { { 0x2c7df9fd83a5f52bL,0x314fc7c3cc062097L,0x6c3195f8c5a3113cL, |
7988 | | 0xf130cef92c25a629L }, |
7989 | | { 0x10c8cc5b70c8dd70L,0xecb7a35f01cd40d3L,0xfbee538f6fe21c93L, |
7990 | | 0x57ec19592ba12ee8L } }, |
7991 | | /* 16 << 77 */ |
7992 | | { { 0x74387a1bb2b806a8L,0x14efa300bad5d0f4L,0xee7e442123a0e9e4L, |
7993 | | 0x504ae4283b6abdecL }, |
7994 | | { 0xb8c06fcb927b1aacL,0x55e1c85c323b71d3L,0xf47e180f48d6dae1L, |
7995 | | 0x6d80dd63a84cb0b8L } }, |
7996 | | /* 17 << 77 */ |
7997 | | { { 0xf8e07d53d75d7785L,0x3edf19b737614325L,0xf03709b0357946edL, |
7998 | | 0x567d8c0dd12105e7L }, |
7999 | | { 0xecf6abc0a9383b49L,0xfe9c760bcab329a7L,0x425e62fa43928852L, |
8000 | | 0x27945ae06194b51fL } }, |
8001 | | /* 18 << 77 */ |
8002 | | { { 0x756f0f543ee4f7cdL,0x4337ac7b26e4c865L,0xf94596c335b9c3aeL, |
8003 | | 0x066fd3da4d6aa5d2L }, |
8004 | | { 0xce1a5b7e43c8d94cL,0xaed496a8614c0fc2L,0x355e16f52a6d5481L, |
8005 | | 0x8f934639a09d3afeL } }, |
8006 | | /* 19 << 77 */ |
8007 | | { { 0xd170daef2bf2a099L,0x3920d87aae6ee507L,0xbdac1c8e248158e3L, |
8008 | | 0x99033a9a05c54e69L }, |
8009 | | { 0x4513bdf041872197L,0x15634020d3f0f889L,0x76c1855a05d42aa8L, |
8010 | | 0x23079179e8ba47ccL } }, |
8011 | | /* 20 << 77 */ |
8012 | | { { 0xf80b787b728429e6L,0x896b6ea53dd8c4f8L,0x711eef39c7d9fe06L, |
8013 | | 0xfff28d03ebced829L }, |
8014 | | { 0x5d7823b84ad40c88L,0x40a5a1663b112bd4L,0x84230bfa63bce926L, |
8015 | | 0x39d2e6bdbe17e7cdL } }, |
8016 | | /* 21 << 77 */ |
8017 | | { { 0xa772e242ef03ee6cL,0x888bc969fa009e67L,0x0f06ee834893e1f0L, |
8018 | | 0xf28f0d3c6b89e124L }, |
8019 | | { 0xb3e70ef871f5cbc5L,0xff0f7e626cad191eL,0x990697bef028d276L, |
8020 | | 0x144c101c4ad8f830L } }, |
8021 | | /* 22 << 77 */ |
8022 | | { { 0xbcaafb453556d74fL,0xbc216224eb4c7ea0L,0x73ad1043234a62c8L, |
8023 | | 0xa644eb6a2d95ff46L }, |
8024 | | { 0xd545b60a0a3373f8L,0xf7a0572cd4edaa10L,0xa7177049a97a85b4L, |
8025 | | 0x529dbadd7d3ec769L } }, |
8026 | | /* 23 << 77 */ |
8027 | | { { 0xc45610f67822dd37L,0xfad07fab98258666L,0xac27001f87259c1bL, |
8028 | | 0xa9bdc6a91b849745L }, |
8029 | | { 0xc7ee721604c862b1L,0x32c1541e0012f591L,0x8198aadd5a366d79L, |
8030 | | 0x03cd312e68866e1bL } }, |
8031 | | /* 24 << 77 */ |
8032 | | { { 0xa0dbc3819ec64698L,0x770e4d111ef36dd2L,0x01d179158d56bdfdL, |
8033 | | 0xb48153cd75eb9947L }, |
8034 | | { 0xc1d17a54fde98390L,0x0817eaf70fe2d6fcL,0x44a63591a6a704f1L, |
8035 | | 0x9423465f7f554182L } }, |
8036 | | /* 25 << 77 */ |
8037 | | { { 0xc7c23cbd13e0574eL,0x6e06e2cb439941b6L,0xa8aebd2cafa39c79L, |
8038 | | 0x1b859e2bedede735L }, |
8039 | | { 0x2f4857816b4f5465L,0xec3093f0624c81e8L,0xc1f027c1c282644cL, |
8040 | | 0x2f6e990b2b74ab51L } }, |
8041 | | /* 26 << 77 */ |
8042 | | { { 0x9a988d1ced2ea3dfL,0xa3f50efdff39d3dfL,0x418a3627ec1d7614L, |
8043 | | 0xafc1520c3d4fa3e8L }, |
8044 | | { 0x741305af891a9c69L,0xe87064d45d6f8296L,0x47c9394c12307b05L, |
8045 | | 0x6b038acbc35f0f40L } }, |
8046 | | /* 27 << 77 */ |
8047 | | { { 0xa6e776471ccca008L,0x58e4cfb69dd71746L,0xdf649c98c1fe84aeL, |
8048 | | 0x2e308ddc90db4388L }, |
8049 | | { 0xc2641332e9362400L,0x92dd984242d265e5L,0xe0e4ed9b31eb91bdL, |
8050 | | 0x62ec7dd1145535c5L } }, |
8051 | | /* 28 << 77 */ |
8052 | | { { 0x1ff29a09f810812fL,0x56b64acb15e9b102L,0xb5f6d4d45b353184L, |
8053 | | 0xc3c9292c1c593774L }, |
8054 | | { 0x167810362c700292L,0xf0948fc93ae2f0c6L,0x40e353cc4da778eaL, |
8055 | | 0x07febf09a34df03aL } }, |
8056 | | /* 29 << 77 */ |
8057 | | { { 0x349812ae9ec397ffL,0x7c78812f330f02d0L,0xf956700b7d241ea2L, |
8058 | | 0x864b1809ebed08beL }, |
8059 | | { 0xe4cec3dfb9eb1635L,0x7dd65ad6ab49fb60L,0x0655116386788a28L, |
8060 | | 0xda8792d511fb4214L } }, |
8061 | | /* 30 << 77 */ |
8062 | | { { 0x82140df3cec09c3eL,0xcd34ca30539db03fL,0xf07cf030e7dd0e09L, |
8063 | | 0x7b08a24256ae3487L }, |
8064 | | { 0x9c0fd607bf5a6549L,0x0b1fc745d189d68eL,0x0d91be749cf52022L, |
8065 | | 0x6013f31f43ff7fc3L } }, |
8066 | | /* 31 << 77 */ |
8067 | | { { 0x3bf90bd5b5654233L,0xd0a17969202bf534L,0xff373b8bc97e02baL, |
8068 | | 0x4606de54d31dba07L }, |
8069 | | { 0xb045c50a8114562aL,0xc123acac7b8d8915L,0xa8f7cd87b60aa324L, |
8070 | | 0x077cab67abc48200L } }, |
8071 | | /* 32 << 77 */ |
8072 | | { { 0x88a686430d7fff59L,0x82b9219367bfe743L,0x1a8b86cfc2ce06f9L, |
8073 | | 0xa38414a0f9ad6134L }, |
8074 | | { 0x7f10261028e2c39fL,0x34805c20480856a0L,0x1b3f930218c3034dL, |
8075 | | 0x1713f457574c0c9dL } }, |
8076 | | /* 33 << 77 */ |
8077 | | { { 0xd84fa26f690ce2a5L,0xd4cfa19fe01a4637L,0x4807fb82cc6fad47L, |
8078 | | 0xc9d84b48f933226aL }, |
8079 | | { 0x9b7c530e7cd2c9ddL,0x6436a001f44818e3L,0xbae0ceeddfb00461L, |
8080 | | 0xed6a7c5f51c8c8a3L } }, |
8081 | | /* 34 << 77 */ |
8082 | | { { 0xa6e7fa540463ac73L,0xa0deed89c77b19e5L,0x4e0a3396ff218725L, |
8083 | | 0x7cfbbd572edf2704L }, |
8084 | | { 0x8114d0ca4e8608c5L,0xceae65b938c935b7L,0x052b1407330af8fdL, |
8085 | | 0x02e189a1723c422bL } }, |
8086 | | /* 35 << 77 */ |
8087 | | { { 0xf1cd6216657560c8L,0x099eec2fe5068361L,0x68ef58fb3de78037L, |
8088 | | 0x83e0d34ef3e399e9L }, |
8089 | | { 0x3a2a14c8f9a17095L,0xc7a360beaaf9f08aL,0x6420155f30e99527L, |
8090 | | 0x8f6109609f180405L } }, |
8091 | | /* 36 << 77 */ |
8092 | | { { 0x871a832f02bc97feL,0xa14b33268dc7f1f2L,0xc9bd8b4187f78ad1L, |
8093 | | 0xd378d02a0b59b9c5L }, |
8094 | | { 0x418a32a535c0dc14L,0x4c96979df53d85afL,0xb6f40e9708eb4b26L, |
8095 | | 0xa21349cacaa6252fL } }, |
8096 | | /* 37 << 77 */ |
8097 | | { { 0xb13d80625de38e2dL,0x54ea36849b43c5d6L,0xc0ad58d7b1d6521dL, |
8098 | | 0x182f882322085236L }, |
8099 | | { 0x9d50cecc2a08449eL,0xeb85e78517ab0b68L,0xb8a22ab78d74e26bL, |
8100 | | 0x7751552477d03987L } }, |
8101 | | /* 38 << 77 */ |
8102 | | { { 0x117a63f277ad71deL,0x1cca30d0c94c8c82L,0xe5fefba92f05382dL, |
8103 | | 0xcc9e89169b4b42f1L }, |
8104 | | { 0xbe939e139fe716c1L,0xbf2b9c8095e38cc2L,0xf60c449137adde62L, |
8105 | | 0x3eb3338af4df75a3L } }, |
8106 | | /* 39 << 77 */ |
8107 | | { { 0x16398af3fe4d84dfL,0xed752cf8faf3e5f2L,0x746a4339b4cf0e1cL, |
8108 | | 0xb8bd479a39fb6018L }, |
8109 | | { 0x3a9a045b57dffed3L,0x2b46ea98a5ae3c78L,0x74b5163fde6b0399L, |
8110 | | 0x069628a080e511c5L } }, |
8111 | | /* 40 << 77 */ |
8112 | | { { 0x19cfc8821b96672bL,0x2759c76b379d1f57L,0xa6cc7a982269a514L, |
8113 | | 0x1bc2015b683b1413L }, |
8114 | | { 0xc43b11781bf4be62L,0xd29419757bf2b0beL,0x1eac3587c4591cfdL, |
8115 | | 0x283169e60e66d495L } }, |
8116 | | /* 41 << 77 */ |
8117 | | { { 0xd39bedb7052352e1L,0xb04af7f2d719cd43L,0x702143d4e92956d7L, |
8118 | | 0x53498722a0e5b847L }, |
8119 | | { 0xf0e8edc5574885fbL,0x4d9418ac8b5187c6L,0x70e99cb3d2a00019L, |
8120 | | 0xf0da5be4e7f8a61bL } }, |
8121 | | /* 42 << 77 */ |
8122 | | { { 0x52704cbe7dd34fdeL,0x0fb7224a2926bb6aL,0x0d58bdddf2b0af92L, |
8123 | | 0x2f986a070e9cad36L }, |
8124 | | { 0xc85549d480e3a6f9L,0xa013e913322cb14cL,0x8a19cf30f25ac201L, |
8125 | | 0x130e4ce0ffb8f2e4L } }, |
8126 | | /* 43 << 77 */ |
8127 | | { { 0x21ad2c8c0ce56c13L,0x13ed2106b15f6a2fL,0xa217b5f69453ce96L, |
8128 | | 0x93b1cdc764e0bf9cL }, |
8129 | | { 0x753d894dc4fe8e72L,0x46c6cea3f3a3916aL,0xc1fb78e1383dd581L, |
8130 | | 0x1b7ba1a917376a3eL } }, |
8131 | | /* 44 << 77 */ |
8132 | | { { 0xa14112875df66852L,0x4e9d333ca30445d3L,0xb5a26c14917568a9L, |
8133 | | 0x885f1857e857a6acL }, |
8134 | | { 0x05fbd3ee84b1f8cfL,0x5c1f40971e81e4e1L,0x43999be4011f30e6L, |
8135 | | 0xa8aab3bda890719dL } }, |
8136 | | /* 45 << 77 */ |
8137 | | { { 0x49d598cec7088eb2L,0x7a892468e341047cL,0x8e69b5c407cb6075L, |
8138 | | 0x83d066fd8c37dc04L }, |
8139 | | { 0x4fcc6d026ffff7acL,0x1afaaf747edfb968L,0x2972b75370d529deL, |
8140 | | 0xf65bff0d08218b2eL } }, |
8141 | | /* 46 << 77 */ |
8142 | | { { 0x119b3c4b4182b9fcL,0xcab6659127b5e101L,0xfff2e9392ab87a02L, |
8143 | | 0x1c10c40deec5949bL }, |
8144 | | { 0x9836622430aa1242L,0x833e9deef225a4e7L,0x07f1cfec992e8475L, |
8145 | | 0x377a9d791ef83a8aL } }, |
8146 | | /* 47 << 77 */ |
8147 | | { { 0xaf1d0863c6715544L,0x34dd65c11fd71505L,0x74d55c2204fed293L, |
8148 | | 0x31b1e50e86d2f3beL }, |
8149 | | { 0x876148b9c09594acL,0x73aace3b8900b56eL,0x4617258aa2cf4c37L, |
8150 | | 0x554e8f16c6f38a92L } }, |
8151 | | /* 48 << 77 */ |
8152 | | { { 0xd8594800da0723bcL,0x524452dff3c8381dL,0x846dfa02138ca980L, |
8153 | | 0xaa77a80ce2d32e56L }, |
8154 | | { 0x27573fbc419c86b5L,0xe7486807b70216c3L,0x8b7a685ac72036e6L, |
8155 | | 0xa176462715fae3d8L } }, |
8156 | | /* 49 << 77 */ |
8157 | | { { 0x0a1f2361815f379cL,0x9811607e01ab64d2L,0x31841038ff2c75cdL, |
8158 | | 0x8751674e474982aaL }, |
8159 | | { 0x2f32b55b52a2523fL,0x6ff8d2a7e85f2025L,0xd2ec31ee707b2dcbL, |
8160 | | 0xdac81e596e277971L } }, |
8161 | | /* 50 << 77 */ |
8162 | | { { 0x5445e3a20e78191bL,0x134dba0b8c80db2fL,0xe9925a8794002b55L, |
8163 | | 0xe56fa2be4293c71dL }, |
8164 | | { 0x72aca4d2a9d009c2L,0x0c1219dd02fb0741L,0x689fbc66208fd227L, |
8165 | | 0x8266f2f7e4bb09d8L } }, |
8166 | | /* 51 << 77 */ |
8167 | | { { 0x1a791f9b2a61b8bbL,0xb29b31b73eff4f21L,0x2f97803aab7812dbL, |
8168 | | 0xdbf27bae880ceb4cL }, |
8169 | | { 0xecb8488745e9db5bL,0x3dfd84e15cb7d0ecL,0xc89f61c277c0b1e0L, |
8170 | | 0x7ada1d37b7656544L } }, |
8171 | | /* 52 << 77 */ |
8172 | | { { 0x0bca9585910a966cL,0x80385b476f12c20cL,0xf63a1605a4b30374L, |
8173 | | 0x2f91b24c104b4783L }, |
8174 | | { 0x9210f5b9b3ab423fL,0xb9aa656d2fd424a6L,0x63c615d5f7e8d640L, |
8175 | | 0xd567ff98bb59cfecL } }, |
8176 | | /* 53 << 77 */ |
8177 | | { { 0x78121697f7692947L,0xb9166739bd9f5ed5L,0x58d9a4f4b64b20e2L, |
8178 | | 0x291898d9c9fcc93cL }, |
8179 | | { 0xbce6509ed6c6065aL,0x39af658fb84834a4L,0x0f919d4494b49185L, |
8180 | | 0x3b80fc515dbe7308L } }, |
8181 | | /* 54 << 77 */ |
8182 | | { { 0xb9fd8ae4e321c228L,0x4a46bd2d360692baL,0x91d5396ed05b84b0L, |
8183 | | 0x266e89fdd6b058d0L }, |
8184 | | { 0x6fb142d7b2c42e38L,0x93c9fe18994ebc2fL,0x90e17885104b04a3L, |
8185 | | 0x6a5fa420654eb6acL } }, |
8186 | | /* 55 << 77 */ |
8187 | | { { 0x26c8a9b43f349b26L,0x39387f7eb4e528aeL,0xa74bea435eb46726L, |
8188 | | 0x0b3e82dc9150b043L }, |
8189 | | { 0xc69ffac9e2fc799fL,0xd047969748921338L,0x91a682640a4e061bL, |
8190 | | 0x93a6c41e3f410bccL } }, |
8191 | | /* 56 << 77 */ |
8192 | | { { 0xaea8d0556b1fb104L,0x2ff339a431fe146fL,0x3d7ef85bcf63c413L, |
8193 | | 0x1f0f57c5289a097bL }, |
8194 | | { 0x82f2f83b5bda1160L,0x433eea4d6fea66e8L,0x1f3fff4fcae11651L, |
8195 | | 0xfa71c3fd6b1c243bL } }, |
8196 | | /* 57 << 77 */ |
8197 | | { { 0x59f36add674832a4L,0x7b6d38022891e4e6L,0x47b313bc084fa3c6L, |
8198 | | 0x90003ac66584c9c0L }, |
8199 | | { 0x9718c2ddbc802849L,0x9a5a26982870ca08L,0xb5cfe625cf68f352L, |
8200 | | 0x90d0e2ed6e6b0caaL } }, |
8201 | | /* 58 << 77 */ |
8202 | | { { 0xb30780c3ba64d50bL,0x163283457acb4fcaL,0xf64e01fd84b258deL, |
8203 | | 0x2a25873e35dcd2f1L }, |
8204 | | { 0x36606813ce4b39daL,0x5285c91ea69a93e3L,0x4da13aaadcb501d6L, |
8205 | | 0xb90d0a5252e3dc24L } }, |
8206 | | /* 59 << 77 */ |
8207 | | { { 0x6882d15e60a57d0fL,0x52142caf167612feL,0x532ccfb1463d39ccL, |
8208 | | 0xcdecde85e5a969f3L }, |
8209 | | { 0xa89c1d1dd1bc4480L,0x9373f36283f32199L,0x42f3493d6d653c44L, |
8210 | | 0xa867e4db6c80e27eL } }, |
8211 | | /* 60 << 77 */ |
8212 | | { { 0x954fbd835cb7623dL,0xba8b30070b83d55cL,0x71946b92e2b23256L, |
8213 | | 0xe0a2a7bffaf95492L }, |
8214 | | { 0x32ed3d914e0c81efL,0xb8c8b14c46f058d6L,0xc76c917f67221924L, |
8215 | | 0xd26c1d512ddf3cd4L } }, |
8216 | | /* 61 << 77 */ |
8217 | | { { 0x184e13954fc9b14aL,0x651a0c29c1969b8bL,0x05687179c9d5bf9cL, |
8218 | | 0xb2f18ed1ebcd85b6L }, |
8219 | | { 0x8b662764e446f1efL,0x6c0e051e71699f5aL,0xf94a115127d93da8L, |
8220 | | 0x751235c6a05fe7a4L } }, |
8221 | | /* 62 << 77 */ |
8222 | | { { 0x40aaf88f624e9ae2L,0x6499b3f5f5f6e5c5L,0x01fb0b8e98157f61L, |
8223 | | 0x070438f333827220L }, |
8224 | | { 0x7409012f50ab0b43L,0xdbbba56363c50e65L,0x6b572ca3c0d084adL, |
8225 | | 0xf10f66847b76cd6cL } }, |
8226 | | /* 63 << 77 */ |
8227 | | { { 0x32bcca970c34363bL,0x7a9cef10b40e8157L,0x3d5ffc516eaec234L, |
8228 | | 0x7d7b41a55f23d481L }, |
8229 | | { 0xe5276c22eecdfe73L,0xa9b2725b8ac8c30dL,0xee449588ed0c743bL, |
8230 | | 0x6d3b82a348df73b7L } }, |
8231 | | /* 64 << 77 */ |
8232 | | { { 0xcb52edc2023cb0dfL,0x08773a4dd5a24591L,0x0d9a6aaae12a9072L, |
8233 | | 0x4261f56f5bf5586eL }, |
8234 | | { 0x184b040260a08106L,0x1b398053b09cfa61L,0xdf7f55b1d5dae483L, |
8235 | | 0x9554210e86ef2cdeL } }, |
8236 | | /* 0 << 84 */ |
8237 | | { { 0x00, 0x00, 0x00, 0x00 }, |
8238 | | { 0x00, 0x00, 0x00, 0x00 } }, |
8239 | | /* 1 << 84 */ |
8240 | | { { 0x564d6e859204db30L,0x139bb9282aa84cdfL,0x9413d7ea88476456L, |
8241 | | 0x5c5544835a1ffa66L }, |
8242 | | { 0x7b8630892ed18080L,0x589aaf20d14e5dafL,0xeee4f96f7b5f81caL, |
8243 | | 0x88d470071bb0b415L } }, |
8244 | | /* 2 << 84 */ |
8245 | | { { 0x1bb400d355c9bd11L,0x8402465c06fc2851L,0xa81ba22d65063b3eL, |
8246 | | 0xbab2dcbc6e1aa0c6L }, |
8247 | | { 0xe5f43f1abe645e25L,0x623205334df84be1L,0x14ac708021a2eaf4L, |
8248 | | 0x3f94646458beb26fL } }, |
8249 | | /* 3 << 84 */ |
8250 | | { { 0x5f2a3e9a7a82d20fL,0x399e015c191011f2L,0xfbec312a886ac8e6L, |
8251 | | 0x0dd5140aeda47f96L }, |
8252 | | { 0x0d4df31326b47318L,0xe2c9ec78e6685ec8L,0x4df119aecd8442cdL, |
8253 | | 0xdb1ca9557b32a1cfL } }, |
8254 | | /* 4 << 84 */ |
8255 | | { { 0x7e2c5852126506ccL,0xba94aac708b3567dL,0x6905cdf4c05a3f24L, |
8256 | | 0xbf5f559b3547f8b3L }, |
8257 | | { 0x9e4b4e62aade7a1dL,0x56b8b9d61fda3088L,0xea3eb4c64c43d89fL, |
8258 | | 0xfb7e537c9c69e047L } }, |
8259 | | /* 5 << 84 */ |
8260 | | { { 0xc23d9491dfe5f6abL,0x42fc362dc1a9c0afL,0x04170b01127d2b35L, |
8261 | | 0x4f0f17bc04116aebL }, |
8262 | | { 0x716c01dfc9184cf6L,0x914dc877895ceae7L,0x696b2ae8390bff2eL, |
8263 | | 0xf6ccd628f88af5dbL } }, |
8264 | | /* 6 << 84 */ |
8265 | | { { 0xdada9bb90f88095aL,0x7155c28f919ce305L,0x32a01e476d78b266L, |
8266 | | 0x6da94459b652c4f8L }, |
8267 | | { 0xa31783a6827ea8efL,0x4d69b7c6bdb1af2bL,0x2874eb38af31dab9L, |
8268 | | 0xa0ed9910afd9baceL } }, |
8269 | | /* 7 << 84 */ |
8270 | | { { 0x7d892e3a4037f17eL,0x81fa98415f91a4faL,0x17c7292d961cf02fL, |
8271 | | 0x35af0c0e388bcc75L }, |
8272 | | { 0x340bec90127a29b0L,0x955714a43d087445L,0xfd430880a587c273L, |
8273 | | 0x715ecd50d24dfda2L } }, |
8274 | | /* 8 << 84 */ |
8275 | | { { 0x4ade066daafd6cefL,0xce59c8def8c1deccL,0x3e12a24a77b96eceL, |
8276 | | 0xee7c32fc44cc710cL }, |
8277 | | { 0x70700e4f240e9bb7L,0x837ada546a63b06eL,0xa58ce980d19644eeL, |
8278 | | 0xcaa5d14d27e7451cL } }, |
8279 | | /* 9 << 84 */ |
8280 | | { { 0x8e78d2ed387272fcL,0x9163a377fd8a0f13L,0x858436bd635c55f0L, |
8281 | | 0x0a414f9b5ba5b0ebL }, |
8282 | | { 0x2b58373a7d7383b1L,0x5e7b9d366030a376L,0x9c69af86543514efL, |
8283 | | 0x044698cc26080ff3L } }, |
8284 | | /* 10 << 84 */ |
8285 | | { { 0x76f54954a2e23074L,0x9039326417526081L,0x0d095055f3b78a50L, |
8286 | | 0x1f3a377669d8b26dL }, |
8287 | | { 0x0575e3bbf5e7c8fbL,0xee7dd406ee40b0c5L,0xe6522e5d55dab556L, |
8288 | | 0x2d1b5709b61cd918L } }, |
8289 | | /* 11 << 84 */ |
8290 | | { { 0x0ea9278e01400b8dL,0x9552e7456464f584L,0x67f5645b12fc094fL, |
8291 | | 0x77c40f3cde303128L }, |
8292 | | { 0x16d7e9a50e3f3381L,0x017795ab59947693L,0xb69b57089222eaf5L, |
8293 | | 0x61b213e01b77f122L } }, |
8294 | | /* 12 << 84 */ |
8295 | | { { 0xa7cc8bbfdc8db00eL,0x1c51f5e43aa7fc1fL,0xb85b782eb4ac2d0cL, |
8296 | | 0x32fde94b0468e5eaL }, |
8297 | | { 0x8ad5b9a27f7ff0a9L,0xcd26f4188fdbb3f9L,0x853bc95d6ebf89dbL, |
8298 | | 0x1da0a323a066b849L } }, |
8299 | | /* 13 << 84 */ |
8300 | | { { 0xc4cc7aab4bce0fa7L,0xd4a05b696bc940f1L,0xc77300e6392dbd11L, |
8301 | | 0x0dc2eac621f70aaeL }, |
8302 | | { 0x9d4b513b4b2ad7e0L,0x19822167a6daee1dL,0x7d71d20269b98eeeL, |
8303 | | 0xdfd435dc35f3f150L } }, |
8304 | | /* 14 << 84 */ |
8305 | | { { 0x66d46ad3ddfd45edL,0xf0325189e50a2f01L,0xe19b95003ec5683dL, |
8306 | | 0xc46ab0a291dd97e9L }, |
8307 | | { 0x74c971d7ed682c4aL,0xafedac2da14da289L,0xd17838fee39ba740L, |
8308 | | 0xeb497bca053536bcL } }, |
8309 | | /* 15 << 84 */ |
8310 | | { { 0x551ba4cade6d4c38L,0xa67be2474f52298bL,0x984131889a5b40a8L, |
8311 | | 0x083a26aabb0acfb5L }, |
8312 | | { 0x4929ff5e11d16ebbL,0x91f08b63a942ae7eL,0xaa428ef3876663ecL, |
8313 | | 0xfaabd3091e97cbb2L } }, |
8314 | | /* 16 << 84 */ |
8315 | | { { 0xca0ed50cf1edd62fL,0xc3c7ae6fd29f48d9L,0xff47bf288a72ae88L, |
8316 | | 0x584ddfe5348c6666L }, |
8317 | | { 0x271137e936731fdfL,0x714bc7db88d98bc8L,0xcea912c10da6be30L, |
8318 | | 0x91cb844dbe62d6a5L } }, |
8319 | | /* 17 << 84 */ |
8320 | | { { 0xe16ca42aec027bfaL,0x0c88f70117603e76L,0x799418e363d5a31aL, |
8321 | | 0x033bb53bebb063f6L }, |
8322 | | { 0xbcd05461625d3909L,0x2d7b786885f23129L,0x23b0788795090997L, |
8323 | | 0x216c08ae18d2c218L } }, |
8324 | | /* 18 << 84 */ |
8325 | | { { 0xe1ccb6c1eebdbcf9L,0x89ca4552e873842eL,0x4837f1373c2fcdd5L, |
8326 | | 0x805874e8108a8c0aL }, |
8327 | | { 0xe7e524f43d442fa7L,0x580d82bef8131f8aL,0x6dcb7d2793d3d50fL, |
8328 | | 0x51207d3eb5b39168L } }, |
8329 | | /* 19 << 84 */ |
8330 | | { { 0x9a3ce11709110fe9L,0x8f3c6e4f48721d93L,0x60a62b4887bdfa61L, |
8331 | | 0x086dac657c01d84aL }, |
8332 | | { 0x4af7878c53841493L,0x3b1a8935b3bd5aa1L,0x65c8445b902e5686L, |
8333 | | 0xde16cfa52e3b1822L } }, |
8334 | | /* 20 << 84 */ |
8335 | | { { 0x19879e780a3e3684L,0xec553912ee249180L,0x8eb73faef8f4c1eeL, |
8336 | | 0xdee59877b81fd20dL }, |
8337 | | { 0x2452e63f20b5ece3L,0x17be9422b632dddbL,0x01f8922094311e6dL, |
8338 | | 0x8f0fe052a332f84fL } }, |
8339 | | /* 21 << 84 */ |
8340 | | { { 0x59657aab1b9784d5L,0x6f2ce032d8a7f347L,0x842477936b95e6e9L, |
8341 | | 0x34301cf44395b044L }, |
8342 | | { 0x98ebfd98f7fb5401L,0x14fd494bfcdb31a4L,0x042f89d8f90e0481L, |
8343 | | 0x6b90a0084134ab52L } }, |
8344 | | /* 22 << 84 */ |
8345 | | { { 0x8fa225557fe2ffecL,0xc6dc3d32a778448fL,0x4886fedb85f45aadL, |
8346 | | 0x5bdef90e51704d0cL }, |
8347 | | { 0x46ad596de2d1fdafL,0x914e009004126f0dL,0x71aaeb18aef960a6L, |
8348 | | 0x8f4601e5ac77472cL } }, |
8349 | | /* 23 << 84 */ |
8350 | | { { 0x42e5a186d8d9768cL,0x8cbf3a6c00f6004fL,0x9d4bf5acc1ddebdcL, |
8351 | | 0x13354792a9c066fbL }, |
8352 | | { 0x72e0b81c923fe808L,0x1e73b868c526d6e4L,0x3f7bedc6a81f1e24L, |
8353 | | 0xed1ff363e920ba24L } }, |
8354 | | /* 24 << 84 */ |
8355 | | { { 0x58234c89659604c5L,0xa6a421adce4b0872L,0x5dc8848acc19578fL, |
8356 | | 0xfcb418d04f28bdfcL }, |
8357 | | { 0xf2e748208d6442f5L,0x0c481d854dcf6378L,0x4987d1a64556438bL, |
8358 | | 0x763593633157c6beL } }, |
8359 | | /* 25 << 84 */ |
8360 | | { { 0x29bbf3b71c1dceefL,0x0995c340576f1dbdL,0x0405db3d8fa61304L, |
8361 | | 0x63438f3dcc7d345eL }, |
8362 | | { 0x688174dd942120e5L,0xc7dd05bdcd70c93cL,0xdc8a32dc5e871ae0L, |
8363 | | 0x1a7896b96178647aL } }, |
8364 | | /* 26 << 84 */ |
8365 | | { { 0x1fc3f7a259c437e3L,0x737de2e324235e5eL,0x589a56e37a5eaabdL, |
8366 | | 0x5a79da8ecca140f3L }, |
8367 | | { 0x3d8b0d82a12463faL,0x63fc83d80875daf5L,0x42a30803bd9211f7L, |
8368 | | 0x62f6167f32d3935fL } }, |
8369 | | /* 27 << 84 */ |
8370 | | { { 0x70cd64676f269922L,0xf694ca2196163b47L,0xf3bafb2d5f5ba669L, |
8371 | | 0xcf7cf341b8ed8333L }, |
8372 | | { 0x34b2022d9997edc2L,0x57e6f4b5309c6508L,0xf6fbf86464841008L, |
8373 | | 0xbc9821f5ed075d44L } }, |
8374 | | /* 28 << 84 */ |
8375 | | { { 0x78c80f73f37cc6b7L,0x41d286266ab88fc2L,0x2126981c58ca26fcL, |
8376 | | 0x7a956c64be3dbf87L }, |
8377 | | { 0x2f41e27dce0ce9f3L,0x0cb49ae0f4c98e5bL,0xba6224a6cace473eL, |
8378 | | 0x25dddbc0393e092fL } }, |
8379 | | /* 29 << 84 */ |
8380 | | { { 0x747daf46a4fb974dL,0xfb775fe7c76dbe2eL,0xb7b3ad6d9670c22eL, |
8381 | | 0xc6580b2310a380bcL }, |
8382 | | { 0x4ea226f592087c3dL,0xe67c379fb53aa3c7L,0x4133f831991c3c9bL, |
8383 | | 0x80f9e5bd4fa0dd18L } }, |
8384 | | /* 30 << 84 */ |
8385 | | { { 0x0094e7c6c6f80fb4L,0x16e99ebc351bebd3L,0xc555ed44aae16a6fL, |
8386 | | 0xe9d2846f2f6367ebL }, |
8387 | | { 0xb34c93d083d46d0fL,0xc0cb137a894fadc6L,0x21e289f8ab31f937L, |
8388 | | 0xac5e05161bc72a35L } }, |
8389 | | /* 31 << 84 */ |
8390 | | { { 0x6221871bf3d4db0dL,0x72d1fdcea039826cL,0x69d9cc8b668c8022L, |
8391 | | 0x0bf359cefee064ffL }, |
8392 | | { 0xb8e636b7e8d16f19L,0xde88f403443160acL,0x4228177a032836eeL, |
8393 | | 0xee8fac37e9801d86L } }, |
8394 | | /* 32 << 84 */ |
8395 | | { { 0x496c93634626e343L,0xf6999578f4e4c8faL,0xce7306f6b8648a06L, |
8396 | | 0xe2775c8cae7996e5L }, |
8397 | | { 0x7b47e678bf09d221L,0xf5251e1e515c2aceL,0x087f912177b48b41L, |
8398 | | 0xc40e7725eb38d74bL } }, |
8399 | | /* 33 << 84 */ |
8400 | | { { 0x1d559f4ace95134aL,0x1048a1bc320c8bc6L,0xad2ddaf8e3085f1bL, |
8401 | | 0xf1cfc4cb0ad35636L }, |
8402 | | { 0x2bd8d4fb57db1e96L,0xd1813026e1976ab7L,0xa80e501c15867022L, |
8403 | | 0xecaf149701f68017L } }, |
8404 | | /* 34 << 84 */ |
8405 | | { { 0xd82c5e7948ab68b7L,0xa0f117e4204d2962L,0x99b3bda17dedbf05L, |
8406 | | 0xb872dbff52786ecdL }, |
8407 | | { 0x56253c3257592d3cL,0x495fbb054d570c07L,0x073c49cbfaecad3eL, |
8408 | | 0xec8c1f57b46bad46L } }, |
8409 | | /* 35 << 84 */ |
8410 | | { { 0x13800a76ce3b07c7L,0x9bbf87d70ffaec55L,0xf69a9ee3af2426c3L, |
8411 | | 0x2d0c201f2fd70c22L }, |
8412 | | { 0x957e5be1c42bb661L,0x3e6ae19d1dc771dfL,0x60af970de3cfafa7L, |
8413 | | 0x721ce8695ebd1883L } }, |
8414 | | /* 36 << 84 */ |
8415 | | { { 0xab0a80a5b87d0edeL,0x33576f022954a3e3L,0xcc2fe8c0c413fc00L, |
8416 | | 0x5ae762bdeb86a18bL }, |
8417 | | { 0xbc309dde3fe6c6dcL,0xb4f9d001bf0d1eb5L,0xf3f3c5b9d4fa748cL, |
8418 | | 0x78e8867f2ca78fddL } }, |
8419 | | /* 37 << 84 */ |
8420 | | { { 0x8f85f872cdf1624bL,0xfdce003ba7db0248L,0x0ad33ef71ad9866bL, |
8421 | | 0x27d12937296248a4L }, |
8422 | | { 0x23bf35ebc99c656aL,0xcfb64da217753aceL,0x8bc0e7416fbf7969L, |
8423 | | 0x131018efe719cff9L } }, |
8424 | | /* 38 << 84 */ |
8425 | | { { 0x98f4ef66d1c02b67L,0xe8aa6cdb1f81f578L,0xa6f97fb3159469deL, |
8426 | | 0xf8e834cde3906d9eL }, |
8427 | | { 0x33ccda6d71bbd3d1L,0xeac76a4af952c038L,0x2891eaa0e5b53383L, |
8428 | | 0xd629dbddedcf6de7L } }, |
8429 | | /* 39 << 84 */ |
8430 | | { { 0x4af093cda3fb0fa1L,0x130fd0570d1ea294L,0xb553cb13b57747bfL, |
8431 | | 0x107c0f0e024e856bL }, |
8432 | | { 0xfd63a2ffbd631fefL,0x8df62ec212c01222L,0xacbce197c0af11a9L, |
8433 | | 0x35fa3e805c4922b5L } }, |
8434 | | /* 40 << 84 */ |
8435 | | { { 0xbc257ccfc3de57baL,0xb481ca1c293ad2dfL,0xb123f3bb2058e222L, |
8436 | | 0x219cde82efe46989L }, |
8437 | | { 0x58ac87b8e9a316daL,0xa8294237d4d25c91L,0xb54dad8862d14158L, |
8438 | | 0x9250885fb3da2a84L } }, |
8439 | | /* 41 << 84 */ |
8440 | | { { 0xb4e3bedfd54776bdL,0x81a4c58278043ee5L,0x279a09634eb87133L, |
8441 | | 0x827d333cf2bfdb52L }, |
8442 | | { 0x3601c6d1ed71e119L,0x3d9b17720d64df1dL,0x2f5bcc093fa3c40eL, |
8443 | | 0x74b7b30d8e26aef5L } }, |
8444 | | /* 42 << 84 */ |
8445 | | { { 0x98fd949b3d3ac848L,0xd99e99d092e259f1L,0x344042658d353c77L, |
8446 | | 0xffc05a7d4d8dfb1fL }, |
8447 | | { 0xbaf2f4714e9d92c9L,0xf354f8b25ea9cef3L,0xf2be0feab8b2c8a0L, |
8448 | | 0xa392d3e3fbce308fL } }, |
8449 | | /* 43 << 84 */ |
8450 | | { { 0x58cd793d02619258L,0x16a8c9e7fea6eaccL,0x3fcae1edb90f9cb5L, |
8451 | | 0x1df76d07d59bc4ceL }, |
8452 | | { 0x392482178574a3ceL,0x9d0df2b703b6e82eL,0x64227c0f33206733L, |
8453 | | 0xb909614fb342da7dL } }, |
8454 | | /* 44 << 84 */ |
8455 | | { { 0xe46e977fb8e15a20L,0xdf2aa89d744eaa18L,0xa40b36b77ff12f89L, |
8456 | | 0xbf7ed78886b0e7d4L }, |
8457 | | { 0x35930c5c9e044a5bL,0x599cfa2b4ac6b8a0L,0x68f5f40da8f06839L, |
8458 | | 0xe838649be8a1b9d5L } }, |
8459 | | /* 45 << 84 */ |
8460 | | { { 0x2e3c91a9dd45fedaL,0x5f73aa3858de0625L,0xcc2b23977535cddcL, |
8461 | | 0x60e69d0bca7825faL }, |
8462 | | { 0x8f1a95c462424bd7L,0x5e175a13f6f21e23L,0x594e5b824fa48b20L, |
8463 | | 0x2bfed2049b14fed3L } }, |
8464 | | /* 46 << 84 */ |
8465 | | { { 0x87c925fc74484bc3L,0x052b634f5639abc5L,0x169549b6290426dcL, |
8466 | | 0xfe515a22daaefd38L }, |
8467 | | { 0x8a63a39cb4d87ccbL,0x3dec5f624034acdcL,0x59969d8161090db0L, |
8468 | | 0xb089b8f7f157248dL } }, |
8469 | | /* 47 << 84 */ |
8470 | | { { 0x42b0ca549d59a29fL,0x522b3e3e9be7ee82L,0x894aade2ac166a7eL, |
8471 | | 0x57aaf19a9184ec33L }, |
8472 | | { 0x84406a115e50711aL,0x0cafd1481614f8d3L,0xc6174fdc3f7d19f8L, |
8473 | | 0xca5bed9aff4958beL } }, |
8474 | | /* 48 << 84 */ |
8475 | | { { 0x8dc18aaae4fdd396L,0xf6e8a9eed371c3f4L,0xc6b58042a5dfefdeL, |
8476 | | 0xccc3bbb6fc4f3577L }, |
8477 | | { 0x9f583e4adedfdd55L,0x9ea45133b48c5fb2L,0xca2b3229232d61e0L, |
8478 | | 0x642101a8b0b5cb38L } }, |
8479 | | /* 49 << 84 */ |
8480 | | { { 0x0cfac5fca9ebda1aL,0x02398bd6d2dc9c7cL,0xd95511d980591234L, |
8481 | | 0x0e5cc99ce8230901L }, |
8482 | | { 0x943350f6140eaba1L,0x9fe19108e0623c93L,0x052bf5d9d74e189bL, |
8483 | | 0x3e341bff40cd7173L } }, |
8484 | | /* 50 << 84 */ |
8485 | | { { 0x89b5b355cb7d384dL,0xedee32da50b76f18L,0x6a9cfb195804d9dfL, |
8486 | | 0xccf638f8376fc2d8L }, |
8487 | | { 0xebdce7a5e14de014L,0x0135085f7f606fa5L,0xf8a3de5f69b58c3bL, |
8488 | | 0xbaa8044559ca19d1L } }, |
8489 | | /* 51 << 84 */ |
8490 | | { { 0x3252147d0ce7238dL,0xd446960bd57bc36fL,0x9b1743ceb275f5caL, |
8491 | | 0xda048c4827629de8L }, |
8492 | | { 0x005354dbd3bbac67L,0x62c392fb1ba1faccL,0xb066bfaea18da892L, |
8493 | | 0xdb090711367a8320L } }, |
8494 | | /* 52 << 84 */ |
8495 | | { { 0xbb7092e26f90249aL,0x6de14155e22da86bL,0xe16136d3b38d4ad8L, |
8496 | | 0x9deaa5c9d0fbb940L }, |
8497 | | { 0x54a54ba3aacf50e3L,0x66e5645ab9ba4570L,0x77e28d9448cb742aL, |
8498 | | 0xc795b138ed98a2c9L } }, |
8499 | | /* 53 << 84 */ |
8500 | | { { 0x899331f61daa17eeL,0xac9506534a77734fL,0xd7f6304f71f3e3b6L, |
8501 | | 0xe725695565fc119cL }, |
8502 | | { 0x3e60a04cbe527794L,0xdaf53be47c578fb0L,0xf785a4f8ebc0754bL, |
8503 | | 0x8b21b116de1b78b4L } }, |
8504 | | /* 54 << 84 */ |
8505 | | { { 0xfe47e04f62fb1c56L,0x8a92f9e6229f1017L,0x2d73dd2368b7842cL, |
8506 | | 0x3b43f7dca56dbc4fL }, |
8507 | | { 0x9435defed0f3f4caL,0xdabfb1ba500594e3L,0x70e929e8428f5eadL, |
8508 | | 0x44adf585bdc7716eL } }, |
8509 | | /* 55 << 84 */ |
8510 | | { { 0x7b7ff07702204867L,0xf2f306be0c78476cL,0x48849fd57e783793L, |
8511 | | 0xc2dc3c7daf77e3c7L }, |
8512 | | { 0x5eb2b691a980cdf6L,0x7ca7b7a4204e25dfL,0x1e7c2f82c5070eabL, |
8513 | | 0x32ca4b364eb7cd3bL } }, |
8514 | | /* 56 << 84 */ |
8515 | | { { 0x38ffde8ff94ad1abL,0xb4757ae159921b25L,0x856cd3f3b4d2f624L, |
8516 | | 0x905939291eb40708L }, |
8517 | | { 0xffc4b89a1193b3e4L,0x6afba7a8bd2f804fL,0x72aabbaa69dc21edL, |
8518 | | 0x5d1da32ee7fb6de1L } }, |
8519 | | /* 57 << 84 */ |
8520 | | { { 0x56c0f44098d1e26bL,0x9456a6c3f7cc7d6cL,0x9eb0aebb14f2f24dL, |
8521 | | 0x51d7c6997dd788a5L }, |
8522 | | { 0x053b809846a22e97L,0x27d8ea2a8c025be8L,0xe0bd464a10d5afaaL, |
8523 | | 0x137c452de7cf120cL } }, |
8524 | | /* 58 << 84 */ |
8525 | | { { 0xd06bd227d091397bL,0x4b307bf321bc796fL,0x701eaf3a7f5a37b0L, |
8526 | | 0x8d5a0f61ac7d4718L }, |
8527 | | { 0x0cf9eea3ed8b1a37L,0x10854f102aa9061cL,0x0aaf430ca30eb4e6L, |
8528 | | 0xb74342f52a050dfbL } }, |
8529 | | /* 59 << 84 */ |
8530 | | { { 0x2feee9d720e1899fL,0x49464a8ef2a1dbfcL,0x4d7cf25e5762d68eL, |
8531 | | 0xe7b6e7597bf43462L }, |
8532 | | { 0x71fce28479daf6e0L,0x2d3ff71f03858705L,0x07d8d288bc4af4e6L, |
8533 | | 0x6777d19718f1c7d4L } }, |
8534 | | /* 60 << 84 */ |
8535 | | { { 0xb57700410e85f036L,0xe1bb263e4c8d9768L,0x4fcc1d44e3917798L, |
8536 | | 0x274d1d9007abcde4L }, |
8537 | | { 0xc9b8ae9fb7a10472L,0x6632e3be8d10e8ecL,0xb6876fb050f3a172L, |
8538 | | 0x753692d4b4cf4867L } }, |
8539 | | /* 61 << 84 */ |
8540 | | { { 0xfe3624e658e598f7L,0x15f904186d81fb40L,0xae762f7b9bea3649L, |
8541 | | 0xc48d2262161e85cbL }, |
8542 | | { 0x8e8726a1cf5a21f0L,0x536c441fa1f6653bL,0x0716bad067ec5b86L, |
8543 | | 0xa423a957b2147d1fL } }, |
8544 | | /* 62 << 84 */ |
8545 | | { { 0x8eec96c8dca2e393L,0x3619e36d2843ef12L,0xdc16fe2d2ef695e1L, |
8546 | | 0x04ed2cadffea8124L }, |
8547 | | { 0x5018a0ce180ce636L,0xc34b0bbfdce7b2f8L,0x645a02a90c54fc30L, |
8548 | | 0x6ee6772bf3f819d9L } }, |
8549 | | /* 63 << 84 */ |
8550 | | { { 0xe2bbbdcd7cecded6L,0x9ae4fd553f038851L,0xc30664aba2f316c7L, |
8551 | | 0x3cccf4a163ffb50aL }, |
8552 | | { 0xc37ee6cad00fb8f2L,0x593db6d5ad906eb1L,0x8f75b5944aa84505L, |
8553 | | 0xeff39d829e5939f0L } }, |
8554 | | /* 64 << 84 */ |
8555 | | { { 0x4b7fab3cc064f530L,0x731153aede175892L,0x335e65033d4c4e60L, |
8556 | | 0xb0876a8a776ce13aL }, |
8557 | | { 0xa8a566ee22241ecdL,0xb7456b3e011e861cL,0xa9aff4eb177dd490L, |
8558 | | 0x189b1ed9c8f77c40L } }, |
8559 | | /* 0 << 91 */ |
8560 | | { { 0x00, 0x00, 0x00, 0x00 }, |
8561 | | { 0x00, 0x00, 0x00, 0x00 } }, |
8562 | | /* 1 << 91 */ |
8563 | | { { 0x624de6872857a1fcL,0xbd0a0d9c2ff8f505L,0xeecb4fadc381bc9aL, |
8564 | | 0x72386292fa94e41bL }, |
8565 | | { 0x354d3f83e75fc753L,0x06afc753a7a5a6bfL,0x1ce792eeb2f568dcL, |
8566 | | 0xc5faaee3bd2f9647L } }, |
8567 | | /* 2 << 91 */ |
8568 | | { { 0x175fbeb0f912b74fL,0x45fbe8e16e0ceeddL,0xf0e1aa68d9233ee7L, |
8569 | | 0xe55fc1ce406a626eL }, |
8570 | | { 0x20efa1b9e08712e7L,0x5fd108b5bcfd6360L,0xea431df6eec1edacL, |
8571 | | 0xae1c0521940803f1L } }, |
8572 | | /* 3 << 91 */ |
8573 | | { { 0x584a16d015407ffeL,0xa977f70208a82a69L,0x52eefecf67f8a198L, |
8574 | | 0xec21373819f7a7e0L }, |
8575 | | { 0x6795cfef35987b9aL,0xb243403b97028480L,0xac24b12b9c1b9124L, |
8576 | | 0x1f379501a90f8aebL } }, |
8577 | | /* 4 << 91 */ |
8578 | | { { 0xa8e97fb664bc0f09L,0x0b913991c953cd08L,0x8385a1b37fc3bf00L, |
8579 | | 0xb6e74decb09ccd8fL }, |
8580 | | { 0x6e1df026ec473ea7L,0xf2f7fbbe530766bdL,0xf18cb47a3292052bL, |
8581 | | 0x7f8d45929114866aL } }, |
8582 | | /* 5 << 91 */ |
8583 | | { { 0xf0a1c5658bfa2c22L,0xc28518c32b326c0eL,0xabafc6f0ec107d66L, |
8584 | | 0xbc7a6abf8478907aL }, |
8585 | | { 0x8c1c8f6aa2920288L,0x6c87579d930c043eL,0x25ee808db309696dL, |
8586 | | 0x433bbbdab7a71041L } }, |
8587 | | /* 6 << 91 */ |
8588 | | { { 0x48d6d957b3086691L,0x9946a29b26640916L,0x932ca93c43db59a9L, |
8589 | | 0xaa61a0c5e4fe91baL }, |
8590 | | { 0x9e22e112815bf003L,0xa9ed1b18c86ba8d3L,0x1b5d3c141069f434L, |
8591 | | 0x3cd2ebd01cc01754L } }, |
8592 | | /* 7 << 91 */ |
8593 | | { { 0x5c06b2443350f670L,0x7557dc9df6f9c751L,0xa7ebd3b8de66fd97L, |
8594 | | 0xc126dbaa2befe6feL }, |
8595 | | { 0x312f4897396f434aL,0xe05cfcd661a4124dL,0xc83b86881525c05eL, |
8596 | | 0x4646dbf211899f64L } }, |
8597 | | /* 8 << 91 */ |
8598 | | { { 0x2b7507cb8e419e08L,0x785328d7af855eecL,0x875db0c77b8683a5L, |
8599 | | 0x3d1bc96890a597e9L }, |
8600 | | { 0x7d4afa1047eeeab4L,0x2668dd43d680ca71L,0xc3210d1f17365023L, |
8601 | | 0xd5bb2ee417fb31ccL } }, |
8602 | | /* 9 << 91 */ |
8603 | | { { 0xbefb6a4f08e9ba09L,0xc6beedb8b0c1b6e1L,0x59daf0573510ef35L, |
8604 | | 0x604047cfdbbabc65L }, |
8605 | | { 0xfabc80a8a06b7340L,0x7433dee7df765977L,0x149a2c4afd807cfbL, |
8606 | | 0x14e8ad3b3480a086L } }, |
8607 | | /* 10 << 91 */ |
8608 | | { { 0xb0c3156fb22c5f89L,0xd10ece4abf78675aL,0xe270e31780b8ad9fL, |
8609 | | 0xfe7a6210b0c2b420L }, |
8610 | | { 0xf091d738125ef635L,0xf1f277d6c1a6f202L,0xe2727e7b3587d9bbL, |
8611 | | 0x83b209a9b3e2b84bL } }, |
8612 | | /* 11 << 91 */ |
8613 | | { { 0xc9eb445d7a13effaL,0x89b856f10d697480L,0x834bbae225c03cb7L, |
8614 | | 0x0d8adb85e0b4a7b2L }, |
8615 | | { 0x7b6884afc7fbc240L,0x6b485409aa4f9097L,0x4d0a367f290c106fL, |
8616 | | 0xab87d2183f0efdfdL } }, |
8617 | | /* 12 << 91 */ |
8618 | | { { 0x15b9bab750f2b65bL,0xa7403d4b5e5d53e4L,0x2e23e37628529212L, |
8619 | | 0x6fe903a26e050767L }, |
8620 | | { 0x4c5291a16cf570fbL,0x4bfb86077a30b326L,0xec4905f827c572a9L, |
8621 | | 0x72eeb8c90f381c31L } }, |
8622 | | /* 13 << 91 */ |
8623 | | { { 0x33346cec460adca0L,0xd4d5bba87b34756aL,0x02b2e2d4eac84addL, |
8624 | | 0xa129845bdc1053b5L }, |
8625 | | { 0x53f067e0dca6f9ceL,0x6e9998ed3526aba6L,0xa4aef9e21c0982daL, |
8626 | | 0xfe5b606e93f5d96fL } }, |
8627 | | /* 14 << 91 */ |
8628 | | { { 0x26b8502e9c14b699L,0xf1bcdca60948a291L,0x73e43a322aefd415L, |
8629 | | 0x7f523357d1e2cfb5L }, |
8630 | | { 0xa60151c097d3fa94L,0x820c0d5872129630L,0xb8f2e1ed5854acf5L, |
8631 | | 0x86d6646c3c656ac3L } }, |
8632 | | /* 15 << 91 */ |
8633 | | { { 0x2284a612bef1d0daL,0x2e7c5f4ea8c8fabaL,0xfd441ae770303ea3L, |
8634 | | 0x9613f3295161cf82L }, |
8635 | | { 0x65a3cc652e19531fL,0x177a277534281f69L,0x0cc692a47c82e094L, |
8636 | | 0x9d62a55bb6f377f0L } }, |
8637 | | /* 16 << 91 */ |
8638 | | { { 0xa24cf6acf96ec2b8L,0xd06747c3a961cc16L,0x57c7001cbd17f0a2L, |
8639 | | 0x5f298db034afe2d6L }, |
8640 | | { 0x51b01ef2df12f671L,0xc01c50665ce712feL,0xac0f403492a74776L, |
8641 | | 0xa3e9934f08d696bdL } }, |
8642 | | /* 17 << 91 */ |
8643 | | { { 0xafb6981ae7daaff8L,0x5f8998d973bdcafcL,0x23ec39e1baf9906cL, |
8644 | | 0x5e248410c999c9c0L }, |
8645 | | { 0xd14c7a8917dad895L,0xfde9d01acbb3f6b9L,0x1d6b26ef5f698f1bL, |
8646 | | 0xc6495cd1f0baff97L } }, |
8647 | | /* 18 << 91 */ |
8648 | | { { 0x5a72dc07587674ecL,0x100f9ff0db09cd65L,0xec0fb71fb30cf6e6L, |
8649 | | 0xf54cb59781066143L }, |
8650 | | { 0x0090e997633857c4L,0x7326ed15da92c5d2L,0x794cd8af47c56e86L, |
8651 | | 0xb272112ff89214c9L } }, |
8652 | | /* 19 << 91 */ |
8653 | | { { 0x379608613445879dL,0xc5e496b0f2fcfc55L,0xfe74e95f6559e153L, |
8654 | | 0x1e18b2b554a772afL }, |
8655 | | { 0xd146980c157c157cL,0x31ee3f25a11d77b5L,0x7762a07d5707db6dL, |
8656 | | 0x00804bcbbd2022b8L } }, |
8657 | | /* 20 << 91 */ |
8658 | | { { 0xdf3f4658d571c59eL,0xc49e7a34cf45c1eeL,0xf401ba3d43972cffL, |
8659 | | 0x146d989ce509c2b6L }, |
8660 | | { 0x7c68d6c8eb72392fL,0xdd048de50658b8e6L,0xc9dc61b79a0aeb72L, |
8661 | | 0x98b080e0b741d644L } }, |
8662 | | /* 21 << 91 */ |
8663 | | { { 0xa6ec0eedb1c5982aL,0x58d283175ebbc26fL,0xac8f1e1e33e5b7dcL, |
8664 | | 0x31e4f65e9d8f9fedL }, |
8665 | | { 0x6c9af383904ad76dL,0xfc38c53c9bdb0517L,0x9ae278ee0e69f85eL, |
8666 | | 0x18b362b7efd9d887L } }, |
8667 | | /* 22 << 91 */ |
8668 | | { { 0x65a5f74b5bbbd3acL,0x41eb4593077bfb4fL,0xb642934b83b38100L, |
8669 | | 0x643ceed7ac1a99bbL }, |
8670 | | { 0x9c27e66dee7cd5f7L,0x2ccf87d56ddbaa6bL,0xd51ca739447b1192L, |
8671 | | 0x7847105395f5f142L } }, |
8672 | | /* 23 << 91 */ |
8673 | | { { 0x915f50cd3a650829L,0xe032bdc5898a6a1cL,0xde8fb4f12d15959fL, |
8674 | | 0x1fc5fc73bad56140L }, |
8675 | | { 0xdafbf2068e60c3c3L,0x4963dc95e428adb5L,0x1538e081d49584fbL, |
8676 | | 0xb34add66bc0e5fa9L } }, |
8677 | | /* 24 << 91 */ |
8678 | | { { 0x404ecf12a7f28b2fL,0x6ddc3ce17fa9c435L,0xda887e3f61ee755eL, |
8679 | | 0x4b5da6618f71280aL }, |
8680 | | { 0xee5a86dfdc79a4cdL,0xd8514b8a99be4d36L,0x674793eacc82c751L, |
8681 | | 0xf3a2123a437aedcdL } }, |
8682 | | /* 25 << 91 */ |
8683 | | { { 0xf825ff37fcd6f027L,0x60a056d8a681a001L,0x92a39248aa92c135L, |
8684 | | 0x61884e23dcd190a7L }, |
8685 | | { 0xec0d142024cc911cL,0xbdb0baae5aa16ad7L,0xf12726b58a1694d7L, |
8686 | | 0x8c7cf113c93673f9L } }, |
8687 | | /* 26 << 91 */ |
8688 | | { { 0x02fb6c697f2edc38L,0xcc4d43042fbe8690L,0x405b2491e89c80d5L, |
8689 | | 0xdef46c763d938bc1L }, |
8690 | | { 0xd92ec0fa2520e3b0L,0x2501cfa31fe2dfdaL,0xe7c5753d1d5c8474L, |
8691 | | 0xc059abc0e6226dcfL } }, |
8692 | | /* 27 << 91 */ |
8693 | | { { 0x2dceefe655a9011dL,0x8799064abbbbef00L,0x7fe944c20b49b5efL, |
8694 | | 0x722bbef0225b21dcL }, |
8695 | | { 0x84687cbbd2bb14afL,0xfc4ab4f09b6f6cafL,0xb7b7bb592c146a52L, |
8696 | | 0xb90d67f21dfea10bL } }, |
8697 | | /* 28 << 91 */ |
8698 | | { { 0xca4ca8c8713e1d30L,0x50cbb994f8a13db8L,0x2bee12b2a5b0e3e5L, |
8699 | | 0xa7c5d6d1e71e19fbL }, |
8700 | | { 0x284424239e0314cdL,0xc95c274666cda5c0L,0xfe52a79a1c5ffd19L, |
8701 | | 0xb93875cc38a0339fL } }, |
8702 | | /* 29 << 91 */ |
8703 | | { { 0x6a94196cb49fb049L,0xbeb1eb4bcc12a38dL,0xbc136771f5e8d167L, |
8704 | | 0xa91e1232d5f8ae87L }, |
8705 | | { 0xb2e812c795172460L,0xc699d376b8f81870L,0x9e4a3b70a8900827L, |
8706 | | 0xe0d4b2f4506c0b29L } }, |
8707 | | /* 30 << 91 */ |
8708 | | { { 0x13b4d1c77246fd96L,0x84ea215833965581L,0x9b9f071b2e53c024L, |
8709 | | 0xcb005908864a1b78L }, |
8710 | | { 0x03daddf53f742c2fL,0xd29230e5df595911L,0x3f7d4e6bca0406a1L, |
8711 | | 0xeb646f66b1db7e47L } }, |
8712 | | /* 31 << 91 */ |
8713 | | { { 0xb896003e590e3107L,0x7a0dc361f754ac01L,0xe877a6f3e63ab0acL, |
8714 | | 0xd43b54f3df60d307L }, |
8715 | | { 0x65ef91ba59cf0addL,0x35e9939318990eb4L,0xc186ab168e46fbf6L, |
8716 | | 0x4c0eb22f8c1eaa91L } }, |
8717 | | /* 32 << 91 */ |
8718 | | { { 0x4599b8941abd31f0L,0xdb34198d9a1da7d3L,0xa8b89523a0f0217dL, |
8719 | | 0x2014cc43e56b884eL }, |
8720 | | { 0x6fb94f8849efd4eeL,0xf1b81710287f4ae0L,0x89d38a9a99fd2debL, |
8721 | | 0x8179277a72b67a53L } }, |
8722 | | /* 33 << 91 */ |
8723 | | { { 0x0ef6ce561a03755bL,0x8dc768f2fcdb3469L,0x0be58a91a21d959dL, |
8724 | | 0xea44861a9b103cd0L }, |
8725 | | { 0x332e86e7808b8a46L,0x9882015c8772c3f8L,0xe6b272fe9f4b5d29L, |
8726 | | 0x0e183a28a29b023bL } }, |
8727 | | /* 34 << 91 */ |
8728 | | { { 0xf2fab88f2286ebf3L,0xb7532cedfce83e6fL,0x17999d7ce0cde4fcL, |
8729 | | 0x7230fd85c1b7668aL }, |
8730 | | { 0x97a57d39ef588309L,0x7e175f28f906f6e7L,0x51f6741372b70bfeL, |
8731 | | 0x2132f5952f82218cL } }, |
8732 | | /* 35 << 91 */ |
8733 | | { { 0x9cc0746e9d8727cbL,0xa2af77fbbba1ec8eL,0xc75aee6031a67cc9L, |
8734 | | 0xaeab9e0f57408325L }, |
8735 | | { 0xf24de697ec34bb89L,0x06b900395d958bdfL,0x6f55222e0603d6ccL, |
8736 | | 0x496537b52eb0b239L } }, |
8737 | | /* 36 << 91 */ |
8738 | | { { 0x083e58898be08323L,0xc573596ef8dc0a78L,0xc3e988fae8901ecaL, |
8739 | | 0x7f7b48f66e350257L }, |
8740 | | { 0xed820567a216e329L,0x55f467378ce989c1L,0x7f48c5f1eeab9441L, |
8741 | | 0x1d3cac1186fe0831L } }, |
8742 | | /* 37 << 91 */ |
8743 | | { { 0xe0364bae408a0306L,0xe8d8aba07a4eb2cbL,0xe548725e1fd7d5daL, |
8744 | | 0x8de04491ed5ed958L }, |
8745 | | { 0x3e75eba261d73977L,0x4f58040055420386L,0x54642fa4d859a690L, |
8746 | | 0x2c905f7e296e336eL } }, |
8747 | | /* 38 << 91 */ |
8748 | | { { 0x4e287e6622e260bcL,0x71a2ec994a28d5bdL,0x5528da21a7c5c3e3L, |
8749 | | 0xae9f6856a49471e0L }, |
8750 | | { 0xdcd8e66b587cd94fL,0x91afbd796c7b7db8L,0xdf2e6625067e3cddL, |
8751 | | 0x15b5a329a6375f59L } }, |
8752 | | /* 39 << 91 */ |
8753 | | { { 0x3b8b3b1db6586c5fL,0xe4d50a77d34f10fbL,0x26cb86f57c3c01f7L, |
8754 | | 0x36e9d3cc8c57e6f7L }, |
8755 | | { 0xaa8e7ce162c6dbaeL,0x7f6b768960d7fae5L,0x519a7659c797ee16L, |
8756 | | 0xa1c7b30eb36a6b1bL } }, |
8757 | | /* 40 << 91 */ |
8758 | | { { 0x8da05ba674dff201L,0xd2eac07f40d0a835L,0x2701eb31610a7d6fL, |
8759 | | 0x5c17a91ebf893c4fL }, |
8760 | | { 0x68b92e886bc8b161L,0xa312fd5bf52e6ec0L,0xf7daf4606b7952cfL, |
8761 | | 0x847f0cf318aeb57aL } }, |
8762 | | /* 41 << 91 */ |
8763 | | { { 0x27b178edb0146708L,0x85a2355454ca2aa5L,0x80dd123c395a7b16L, |
8764 | | 0x64a9337b0058bfceL }, |
8765 | | { 0xf6ae9380f4addc4aL,0x0f84385a464536f1L,0x41fc227016534f6cL, |
8766 | | 0x13d8976fb8795ec3L } }, |
8767 | | /* 42 << 91 */ |
8768 | | { { 0x2e90b3e48e12c560L,0x242a86ec239b2c58L,0x6fb42ecc0768275cL, |
8769 | | 0xee341cd0bd96de9eL }, |
8770 | | { 0xfd1833ac84355d11L,0xf062392c5f55ec6cL,0x6ee7b59bfee33fbaL, |
8771 | | 0x8113f0caabf86e0fL } }, |
8772 | | /* 43 << 91 */ |
8773 | | { { 0x2285aaafcc68033cL,0x850b732b78430646L,0x50fa4b612b3fa03dL, |
8774 | | 0x4d893ecc3caf050dL }, |
8775 | | { 0x454764e6988df419L,0x055d8a4bfb61f1a4L,0x3b7c5f4b8475e07aL, |
8776 | | 0xf93a198ba6a228e4L } }, |
8777 | | /* 44 << 91 */ |
8778 | | { { 0xe0a8ce61ec8d566aL,0xe41397d6c55f4bd6L,0x4cc18d48654bdf55L, |
8779 | | 0xe1b49f9e9325ac25L }, |
8780 | | { 0x7984075272c68871L,0x8930d8b56d806fe8L,0x11c8b5a80bd5f65eL, |
8781 | | 0xe931c025bf37d7a8L } }, |
8782 | | /* 45 << 91 */ |
8783 | | { { 0x25b17fd9ae8af083L,0xd589fd8bde4215edL,0x56378f044b3f61fdL, |
8784 | | 0xf0f392136bfb4f9aL }, |
8785 | | { 0x6b0f9596e906cc6aL,0x441f13da096f8296L,0x08f933d41e4940e0L, |
8786 | | 0x6c35391c5a53e7eeL } }, |
8787 | | /* 46 << 91 */ |
8788 | | { { 0x5f41c4d319c3d18eL,0xc0804e091d389d95L,0x7323a9ab18a5a3f2L, |
8789 | | 0x7b7c2475410a6381L }, |
8790 | | { 0xd362eb9ab02cfe18L,0x79ef3d0a553b2970L,0x371f77603d2acdabL, |
8791 | | 0x6cd378907f241dfdL } }, |
8792 | | /* 47 << 91 */ |
8793 | | { { 0x592a242edf4a28e4L,0x1e623cdc1bb45217L,0x5a9633a6494074d3L, |
8794 | | 0x81b74307d52fbfd8L }, |
8795 | | { 0x98292651dec4c5ffL,0xe1b7bc863e0f6edfL,0x3d5fd86a6bb8fb31L, |
8796 | | 0xa830e9a21cf29f19L } }, |
8797 | | /* 48 << 91 */ |
8798 | | { { 0xfffc5482cf69c747L,0x7748a0f4a83549fdL,0xba1c8a0de7ccf4a6L, |
8799 | | 0x6cd1399aa2ede6b7L }, |
8800 | | { 0x8fb634e687bb90d9L,0xfa8e659bc59a5304L,0xcd6bfc75a9122d95L, |
8801 | | 0xdb107defdfa6d75aL } }, |
8802 | | /* 49 << 91 */ |
8803 | | { { 0xb0ec4cfccc27760aL,0xf24c1e22bed3a1a1L,0x4f8522a1819bffc7L, |
8804 | | 0x263c7b5ba93d97e1L }, |
8805 | | { 0xab1d31e0a4b4de49L,0x374e968bebbfe8f5L,0xe82e975651ca0d08L, |
8806 | | 0xc05715a27df3f2dfL } }, |
8807 | | /* 50 << 91 */ |
8808 | | { { 0x941f02c5038004adL,0xc136a2a5a0fd46d4L,0x85db7d243d31d26cL, |
8809 | | 0x05bba6afbfefeeccL }, |
8810 | | { 0xf803b5395a60aebfL,0x9bb8a479813d0e6dL,0xb689c813066abdfbL, |
8811 | | 0xd93b3f4b0072e530L } }, |
8812 | | /* 51 << 91 */ |
8813 | | { { 0x242140a4987446adL,0x40b3f70906a02f0cL,0x33f9bf20a0fd6018L, |
8814 | | 0x58517c18f21abfdcL }, |
8815 | | { 0xa33dc5dbc1f80f3fL,0xbb7dfe277ec91c80L,0xd2cf93388ca97dd8L, |
8816 | | 0x5761f87132e43d44L } }, |
8817 | | /* 52 << 91 */ |
8818 | | { { 0x3c8ffb0ee513ea90L,0x91ecda3679bcdeccL,0xdad3fdd59b1a5514L, |
8819 | | 0x8fb630f9640d3af0L }, |
8820 | | { 0x82949b09f9d2e0beL,0x079ca0ffeba23663L,0x51e62c53135238d4L, |
8821 | | 0xf5fa0c61c446bd67L } }, |
8822 | | /* 53 << 91 */ |
8823 | | { { 0x19dcdd2fe8da43d6L,0x46fbf7ea95f29b5bL,0x7f3eaa05635e8388L, |
8824 | | 0x5ef817c35369750bL }, |
8825 | | { 0x06025893c860c4aaL,0xa2f6684d5551c9efL,0xd6af67dcfbc0c667L, |
8826 | | 0xfd8d7394cd2fe44bL } }, |
8827 | | /* 54 << 91 */ |
8828 | | { { 0x011968ae302a17ccL,0x2206ff24c3e5a5cbL,0x4c7f0df3a20dbfb7L, |
8829 | | 0x59566376a395dd6fL }, |
8830 | | { 0x68ff3d9f373ea76bL,0x2394f93af6cf8adaL,0x3acc5dbae7514a94L, |
8831 | | 0x0340da7a5ddfa11bL } }, |
8832 | | /* 55 << 91 */ |
8833 | | { { 0xc3f030221a05155dL,0x6cbbdc6b4f7656c0L,0x6e30dbdd0b0875f5L, |
8834 | | 0x5e7c28833471b0d5L }, |
8835 | | { 0x49cfd71c408b4bc8L,0xd29a184ef01c002bL,0x308be85cff415b0fL, |
8836 | | 0x1b4176f001a8fe7dL } }, |
8837 | | /* 56 << 91 */ |
8838 | | { { 0xb850acc70c33bed3L,0x76aac64023af7af0L,0x049187ee21d5853fL, |
8839 | | 0x44fbf6e56620195cL }, |
8840 | | { 0xf0abf14b36158178L,0x9866ffca90e419c2L,0x7522e2779e8523a8L, |
8841 | | 0x2f2590f308e90f1dL } }, |
8842 | | /* 57 << 91 */ |
8843 | | { { 0xde1c0c5266d3f75bL,0x47dc9ceb6c299b57L,0x4ad1284751f7f2b5L, |
8844 | | 0xeedf9d8d452b07a5L }, |
8845 | | { 0x207b06273dad76c6L,0xccbb52015d4c0280L,0x0bdca05bb019ae8dL, |
8846 | | 0xb5f8d088f2da7eb4L } }, |
8847 | | /* 58 << 91 */ |
8848 | | { { 0x4e79a0be4626c00cL,0xf6fdd64f5af82c0fL,0x7a8282245f7cba0fL, |
8849 | | 0xc2214834b0765493L }, |
8850 | | { 0x5b0d0d1aabd53ccfL,0x3b03a22df4a1b517L,0xb235c8626ece453eL, |
8851 | | 0xf43ac344f66471c7L } }, |
8852 | | /* 59 << 91 */ |
8853 | | { { 0xeaff93dda1552fa5L,0xef1b40dccf3ae702L,0x35ced3fd9ca613a4L, |
8854 | | 0x90e350aba2f33a0dL }, |
8855 | | { 0x47bb89aa002b5738L,0xafc01bba032b8b08L,0x688ae11961588b4bL, |
8856 | | 0xdb7d820acf66ef14L } }, |
8857 | | /* 60 << 91 */ |
8858 | | { { 0x83b654db084910bfL,0xbb581f8b60ea75a1L,0x6917f2821cdae7c4L, |
8859 | | 0xb719f931a40a07c3L }, |
8860 | | { 0xf8efb8b931297b3bL,0x74246ded4d6fc5c6L,0x5a111754d2c61503L, |
8861 | | 0xf64d2b8871654764L } }, |
8862 | | /* 61 << 91 */ |
8863 | | { { 0x4b4526926ad8f168L,0x907beb210cc6fc91L,0xe876d523bf13c18bL, |
8864 | | 0x4d28e4574cf37ca1L }, |
8865 | | { 0x4c0dc22d6d3d1172L,0x7935a8d25a753137L,0x03484e3dda44d652L, |
8866 | | 0x05a3d80fc50025a9L } }, |
8867 | | /* 62 << 91 */ |
8868 | | { { 0x6d43c503ff477c6dL,0x35f4c4cf1ccd416aL,0x7070f471d5088349L, |
8869 | | 0x678460ca281d30c8L }, |
8870 | | { 0x8923cd9ac6defb33L,0x44930f56e2557cabL,0x33b020bbad156c4aL, |
8871 | | 0xfdab31e3bcaf4805L } }, |
8872 | | /* 63 << 91 */ |
8873 | | { { 0xffe79bec864b5564L,0x0510e35210c60d52L,0x66203aaf328a652eL, |
8874 | | 0x9d5403bf54fea042L }, |
8875 | | { 0xb3fe67436e5e5c7cL,0x6deef667ecc66e02L,0x199ee15244eacacbL, |
8876 | | 0x9f49fcd4d8803fd9L } }, |
8877 | | /* 64 << 91 */ |
8878 | | { { 0xdd5fee9e2d3a6e28L,0x8eed56d4686d8ca3L,0x36889a2778083491L, |
8879 | | 0xea1a6555bef20457L }, |
8880 | | { 0xe7e6b609a501e2a3L,0x1ea0ae29fb23de2fL,0x5f537d07632c9a6bL, |
8881 | | 0x61770d1f9a3db961L } }, |
8882 | | /* 0 << 98 */ |
8883 | | { { 0x00, 0x00, 0x00, 0x00 }, |
8884 | | { 0x00, 0x00, 0x00, 0x00 } }, |
8885 | | /* 1 << 98 */ |
8886 | | { { 0x325c60db7497e8a5L,0x05d8eab88c6949a9L,0x3169e466c7bd5898L, |
8887 | | 0xadc06264192d8e3fL }, |
8888 | | { 0x1ff468f4d55959feL,0x97b33ee0202dba19L,0xaa0c3fe221cf84bbL, |
8889 | | 0x48cdc0af04a8d176L } }, |
8890 | | /* 2 << 98 */ |
8891 | | { { 0x53d8c4489c0d4009L,0xd37146172e24dbaaL,0xdd92e7309b62e5f1L, |
8892 | | 0x97b344d79922cc8aL }, |
8893 | | { 0x416b009b0bfe3e8fL,0x56873834f3c82269L,0xf82a980fe6623555L, |
8894 | | 0xb027ecaa5ce68e54L } }, |
8895 | | /* 3 << 98 */ |
8896 | | { { 0x005a4b24fe87680dL,0xd92532dc4cf6ee32L,0xfcd27c8c4bd3e01fL, |
8897 | | 0xda7d9949e1b59ffaL }, |
8898 | | { 0xe3d5f31f2735d373L,0x7e139ca5288e71fbL,0xe474bc8093979cb4L, |
8899 | | 0x7f4f6017f6fcc665L } }, |
8900 | | /* 4 << 98 */ |
8901 | | { { 0xe6982c86fbd613c3L,0xf4af69d5c366f17aL,0x8683eed6b85c2343L, |
8902 | | 0xf5bb244a24bc2116L }, |
8903 | | { 0x997a74bcc9fc77d4L,0xe202eb916f44b54bL,0x77886412a6997e76L, |
8904 | | 0x6996c8fb02c8837eL } }, |
8905 | | /* 5 << 98 */ |
8906 | | { { 0x0986df8a2c61382cL,0x90607b92667c8ee9L,0x051fcbf7084eacdeL, |
8907 | | 0x84e3dba46e685877L }, |
8908 | | { 0x35861a82e458da50L,0xd036823fcf392b51L,0x431814813dd86e74L, |
8909 | | 0x8dcfe17d3741a385L } }, |
8910 | | /* 6 << 98 */ |
8911 | | { { 0x8e1a77cf40f56786L,0xc5bca7f66d4b7774L,0x86b588a0c81ec077L, |
8912 | | 0x88952a019206354fL }, |
8913 | | { 0x5444a98943a8519aL,0xe29dd68c2857b210L,0x366589039a144624L, |
8914 | | 0x8c4dedb0e423e899L } }, |
8915 | | /* 7 << 98 */ |
8916 | | { { 0x482040c5ea886e5cL,0x42fe5a561cdd50f7L,0xf034f132453b6e7fL, |
8917 | | 0xba3fa97db3c69762L }, |
8918 | | { 0x34262560cadb598eL,0x7ed74b5107afe0a8L,0x2261d849ebe0e8bbL, |
8919 | | 0x23747e55608cea1cL } }, |
8920 | | /* 8 << 98 */ |
8921 | | { { 0xb2e9371c902c343dL,0xf57b2de8da4fdba1L,0x43f9afa4b67703a1L, |
8922 | | 0xeafafb41f79fe203L }, |
8923 | | { 0xfec99dc9f649a494L,0x14799ef9fe378232L,0xba3f81147184e31eL, |
8924 | | 0x0abbb815dc0e987fL } }, |
8925 | | /* 9 << 98 */ |
8926 | | { { 0x1dc7221f6fb5d02cL,0xa0dfb11340f1607cL,0xd217f238dbe8db86L, |
8927 | | 0xc02547ebe91f2859L }, |
8928 | | { 0x41df6bcba98d0875L,0xf51a807778f6be54L,0x3ebdf28dba66bef5L, |
8929 | | 0xc65c7b389175ec20L } }, |
8930 | | /* 10 << 98 */ |
8931 | | { { 0x2302981d475589d5L,0xbd479708199d8ad4L,0xcb508be98db46795L, |
8932 | | 0xba1e066e6b224eb4L }, |
8933 | | { 0xae9096331326ab8aL,0xac989728f5bbe5e6L,0x1de663f5b1729b41L, |
8934 | | 0x2018f58c00c3d293L } }, |
8935 | | /* 11 << 98 */ |
8936 | | { { 0xe647c0e671efe25bL,0xaa30f8716104ebd6L,0x1003eebe3c166de6L, |
8937 | | 0x0c3085381cbc42d3L }, |
8938 | | { 0x98b6c31256cba120L,0x9065ae66860d2916L,0x2162062ba7dabb6bL, |
8939 | | 0x1422386b8e011036L } }, |
8940 | | /* 12 << 98 */ |
8941 | | { { 0xd2589ad6e069de1cL,0x3fe8e67a7ee09300L,0x5b8818602f8ae49bL, |
8942 | | 0x186a1482263a6a90L }, |
8943 | | { 0xc6079b399b35b33aL,0x6c38d78953d3411dL,0x743c4462720b2f99L, |
8944 | | 0x4d903dd729e14d08L } }, |
8945 | | /* 13 << 98 */ |
8946 | | { { 0x625dfce07b963913L,0x60a83dafcc65e41fL,0x9e88c26c93e185a2L, |
8947 | | 0x6d950e9213707ac3L }, |
8948 | | { 0xbd7df2dca0a23dd0L,0x5fad27f2c2116cc8L,0x0703b868da4430beL, |
8949 | | 0x5ebf0e2f83cc41dfL } }, |
8950 | | /* 14 << 98 */ |
8951 | | { { 0xebb91900f9e83fc8L,0xf95395916d60bb8aL,0x3bdd7a8bb604935aL, |
8952 | | 0x2cae8c6764e5eec0L }, |
8953 | | { 0x30cf58bb60aaf21dL,0x5e0f6f5d359f63ccL,0xda2450550547e03aL, |
8954 | | 0xa83fd8bbb9e143ceL } }, |
8955 | | /* 15 << 98 */ |
8956 | | { { 0xa564435a1b0215aaL,0xecffccec354ba769L,0xd846149abdbbd594L, |
8957 | | 0x9137df3665dd1597L }, |
8958 | | { 0xc4f39f37a9f3ac33L,0xf594bb74961d7e8dL,0x41fa4b58835befbcL, |
8959 | | 0xa983eae9ed79139eL } }, |
8960 | | /* 16 << 98 */ |
8961 | | { { 0xd4085efcb4e31aa4L,0xc760aec018b26adfL,0x14c1f78e76a7400dL, |
8962 | | 0x87b8aced317fe128L }, |
8963 | | { 0x4433582ecbd85bb4L,0x58f0142686adc041L,0x3596dd508f0d5781L, |
8964 | | 0x2e7f3b801a31a82fL } }, |
8965 | | /* 17 << 98 */ |
8966 | | { { 0xcac7ccc82d1ede3eL,0xc9b9a8f3e89573dbL,0xbf744f6954b40df9L, |
8967 | | 0x88eb2281a85ecb47L }, |
8968 | | { 0x6b115026426ec49dL,0xebda4660c8c41110L,0x0a4a32acdf392aaeL, |
8969 | | 0x2a28f9b337cb7080L } }, |
8970 | | /* 18 << 98 */ |
8971 | | { { 0xfed99d1a6bd9414dL,0x15f59c415715620eL,0x93edd9fcac431919L, |
8972 | | 0xed1d43aee1ccc47fL }, |
8973 | | { 0xafed2acd556d1ab5L,0x817b967d02e039c0L,0x335d15dae02a68bbL, |
8974 | | 0x4fa75ea067df767cL } }, |
8975 | | /* 19 << 98 */ |
8976 | | { { 0x384704b344833943L,0x7809ed3c4084ef35L,0x2abab3c479c7ff41L, |
8977 | | 0x2b7ef5b2a833fb73L }, |
8978 | | { 0x12b0335b4901a4ffL,0x3eea607b44d58617L,0x7161b669d7f57746L, |
8979 | | 0xee17e43fb1e93442L } }, |
8980 | | /* 20 << 98 */ |
8981 | | { { 0x95c9bd80d6d7878cL,0xe1ef20ee34ff7c75L,0x3fab197ad2ccd599L, |
8982 | | 0x9e480593952ef4f9L }, |
8983 | | { 0x69777fd206ea3410L,0xb028045474fa7dd5L,0x641b6860c43bb5fcL, |
8984 | | 0x9f359d5becd7b8a8L } }, |
8985 | | /* 21 << 98 */ |
8986 | | { { 0x4431d4ed70be68cdL,0x712117f408b55f8fL,0x449e131923d0b6caL, |
8987 | | 0x658323ccfdee5357L }, |
8988 | | { 0xa1ef811462879a95L,0xc21257e569963eebL,0x1016ab74c5bbee13L, |
8989 | | 0x99bb310a43d81a86L } }, |
8990 | | /* 22 << 98 */ |
8991 | | { { 0xdef03c441d33a15aL,0x3e78cf1849127148L,0xe8d9336830b0cc00L, |
8992 | | 0xb05458fbbd7ccd85L }, |
8993 | | { 0x8c2896dddbaa76b0L,0x0d82660079e4cacbL,0x50a45b23ff730ed0L, |
8994 | | 0x4a0e079ceba9030eL } }, |
8995 | | /* 23 << 98 */ |
8996 | | { { 0x3ead3fdce3129aa0L,0xa93b39f348aac890L,0x0fd73860f362465eL, |
8997 | | 0x69177f2cf8df2764L }, |
8998 | | { 0x4cd58c50824ebddfL,0x1478981f2fcef01dL,0x511bd380980524b3L, |
8999 | | 0xc95252b14d23e8e9L } }, |
9000 | | /* 24 << 98 */ |
9001 | | { { 0x7ff12c379ce08452L,0x3dd8dd09a3a87024L,0x61ff0d39b849dcb6L, |
9002 | | 0x3f5eab86fefad6deL }, |
9003 | | { 0xb6146886251523f9L,0x45ac1d525be2135bL,0x6350799541d2c5d4L, |
9004 | | 0x7f19f799b3064e72L } }, |
9005 | | /* 25 << 98 */ |
9006 | | { { 0x7280ad9ba2efb9beL,0xbc8fbb60ba9659deL,0xa4861c12875a8062L, |
9007 | | 0x78c920c82f2387caL }, |
9008 | | { 0xfe0a6ea703b7da99L,0x936a44b848e3afa3L,0x618a0ecf89fd127bL, |
9009 | | 0xa35614cd06f24bc5L } }, |
9010 | | /* 26 << 98 */ |
9011 | | { { 0x21a1002e8d49c05fL,0xceeacfd12fd7989dL,0x8c058f4b8f5f4ea5L, |
9012 | | 0xf31bd38e563e214bL }, |
9013 | | { 0xbe47bd98245c7585L,0x70d1a05c6bc2a404L,0x830d7f30c68257f7L, |
9014 | | 0x1abbbfbb8136c932L } }, |
9015 | | /* 27 << 98 */ |
9016 | | { { 0x6fbc43b76e03597bL,0xc18fddb65fca14a2L,0xd3c4ca78e8f506e2L, |
9017 | | 0x6b8711dda47e27deL }, |
9018 | | { 0xc308c18916382b5bL,0xe9d3145bcf96bd7aL,0x5c290ec1afb26629L, |
9019 | | 0xb4eb8130209438ffL } }, |
9020 | | /* 28 << 98 */ |
9021 | | { { 0x7335044ae1118539L,0xed6d43fc5192a007L,0x1a8bf622a43a2bd4L, |
9022 | | 0xefec3fb6efa9f3a5L }, |
9023 | | { 0x6d224bbc6d834bdeL,0xaaebfcb8b0fbc744L,0x383b2bfcc4ea1652L, |
9024 | | 0x9cd26d90751ae816L } }, |
9025 | | /* 29 << 98 */ |
9026 | | { { 0xae614386f47f0f9aL,0x9987378773c6ecd0L,0x0b56c1ade5414fc7L, |
9027 | | 0x9b85e6b5fd40286cL }, |
9028 | | { 0x7117aacdd64687dcL,0x85d148e7ad8a8c4dL,0xf62f8eb57962655cL, |
9029 | | 0x8386b37e7f0c6a2cL } }, |
9030 | | /* 30 << 98 */ |
9031 | | { { 0x6b4715a390c47d7fL,0x1fc4ced1458a54e4L,0x018539430ed97b0aL, |
9032 | | 0x58a280be5b370e0eL }, |
9033 | | { 0x8d488cb6344f3960L,0x9050c5990741604bL,0x0878fb1b07954771L, |
9034 | | 0xd927ea8cdbb3c82bL } }, |
9035 | | /* 31 << 98 */ |
9036 | | { { 0x2fe71d59384f01faL,0x66d2b790238bb66bL,0xceaec11fb8fd803bL, |
9037 | | 0xbb9199146dd09c0cL }, |
9038 | | { 0xab5992e62ccb2f67L,0x2421878fcca50326L,0x363d933d9ee6dc73L, |
9039 | | 0xa374ab0b084b1fa3L } }, |
9040 | | /* 32 << 98 */ |
9041 | | { { 0x2d832a29161f6475L,0x435b8d78fc8797ebL,0x66bc156dd71b609cL, |
9042 | | 0xb3dca798fe0c2004L }, |
9043 | | { 0x445d47bf02fd92d7L,0x1d1c9798c8b03083L,0xca46d98d079a7c51L, |
9044 | | 0xb93f286c1afeb89aL } }, |
9045 | | /* 33 << 98 */ |
9046 | | { { 0x1c174510eeb6665dL,0x65874b6a7479a932L,0x28d16a852335e3b8L, |
9047 | | 0x5e22bd3bc747eae6L }, |
9048 | | { 0xa770e0a704be16b4L,0x9f5f9ca940b3ff57L,0x3f39e529845ec39fL, |
9049 | | 0x5d5f4d60ebe697ceL } }, |
9050 | | /* 34 << 98 */ |
9051 | | { { 0xea2a262fbd90d4f4L,0xa1ce74acfe1b6494L,0x4e419004fa0fc472L, |
9052 | | 0xdef0e4404e691060L }, |
9053 | | { 0x57195a3aa9f4baf3L,0xf14e108b5e758c53L,0x10a34f9d920895e0L, |
9054 | | 0xc3f18af9feb57a63L } }, |
9055 | | /* 35 << 98 */ |
9056 | | { { 0x4b1c988cda1bef0dL,0x8b328cd93df6915bL,0x5ddc5eccf45586d5L, |
9057 | | 0x426468b9040322fcL }, |
9058 | | { 0xf7f44765be981558L,0x250939911855504aL,0x72c51f2ef7d6df43L, |
9059 | | 0x858637fb849c99e5L } }, |
9060 | | /* 36 << 98 */ |
9061 | | { { 0x68b84dfd0ee9f78bL,0xff42fc9bf2ee390eL,0xaca71e10531e1dcfL, |
9062 | | 0x391620e27feaedfaL }, |
9063 | | { 0x7b2d6a02acf3e5daL,0x261823d2d20a16d3L,0xf9afa5d6bb00cd30L, |
9064 | | 0xba151f4a1084580dL } }, |
9065 | | /* 37 << 98 */ |
9066 | | { { 0xb5f4b3a926a3fcc3L,0x5d84a8236729f4daL,0x51540c41fc35f732L, |
9067 | | 0x81b0cb58a6ae5bf7L }, |
9068 | | { 0x91c7ae07bd81bd27L,0x0868980e1d56ff5dL,0xaef85a3165224df6L, |
9069 | | 0x112eba3b17a69e35L } }, |
9070 | | /* 38 << 98 */ |
9071 | | { { 0x07c34677c3a9d932L,0x3b6b7cce8ac45e37L,0x5e0e2b6e31b6248aL, |
9072 | | 0x14ee5b66453d9685L }, |
9073 | | { 0x4c5e2be7bd4d807aL,0xc03f37f8c121fea8L,0xcf34911e8df7b5e7L, |
9074 | | 0x00e7f18e5f754191L } }, |
9075 | | /* 39 << 98 */ |
9076 | | { { 0x89a8c9e12dcea4aaL,0xcc1cc31a50f6db55L,0x4a6f542c9046955fL, |
9077 | | 0x85fed580da2485d4L }, |
9078 | | { 0xa70f62d19ac53748L,0xc2fbb850655870a7L,0xaeb2d4388c859aefL, |
9079 | | 0xe3cc5ae5cc9ff51eL } }, |
9080 | | /* 40 << 98 */ |
9081 | | { { 0xf8d8c55d0a3ebbfcL,0xdcd838d5ed48f61aL,0x032f91ead4cba7abL, |
9082 | | 0xeb0ed88d2f70235eL }, |
9083 | | { 0xd4498170000ef325L,0xfd34e07f4b923c4aL,0xf71c07a9b19b84cbL, |
9084 | | 0x000a669ced9690a3L } }, |
9085 | | /* 41 << 98 */ |
9086 | | { { 0xf45eb0efb5705e16L,0x8cfd6a627d9ce007L,0x76ba9a5fd9e52885L, |
9087 | | 0x13f728818aa9ffd6L }, |
9088 | | { 0x0a11e8dd85528e4aL,0x58f1993dcee8d663L,0xb49d750ba1c81fd3L, |
9089 | | 0xaae29861e7de2e6bL } }, |
9090 | | /* 42 << 98 */ |
9091 | | { { 0x9a40644e5dd7de70L,0x67fbae1c937a5546L,0xb3e02907956c2fa8L, |
9092 | | 0xaf78537421b4aedeL }, |
9093 | | { 0xf42a1e969c0a8bfeL,0x3f6690e678957181L,0x1b1c9575a6c5e0a7L, |
9094 | | 0x6def8124f9cfb9bdL } }, |
9095 | | /* 43 << 98 */ |
9096 | | { { 0xde552cf972faa1b0L,0xfac2f4ad9b5ebbbcL,0x4b60a5a58ef89ba1L, |
9097 | | 0xb6d9be578012f3b1L }, |
9098 | | { 0x3992a6f79b2b083dL,0xe79ec527ac640f77L,0xf6cca7753f1e632eL, |
9099 | | 0x5dae84138fb80790L } }, |
9100 | | /* 44 << 98 */ |
9101 | | { { 0xf0d4146cb572407cL,0x829cfb383f84cc39L,0xd7c9fed4e31f007eL, |
9102 | | 0x93b2a5bc09e68ce9L }, |
9103 | | { 0x073fb24ad01482b9L,0xfe494244b8d44e62L,0xe59a16493dc49858L, |
9104 | | 0x071776f7f005b31fL } }, |
9105 | | /* 45 << 98 */ |
9106 | | { { 0xaa368f59285439afL,0xb0821574e27e783dL,0xe16903f6098746baL, |
9107 | | 0x436a95ae69dc00d0L }, |
9108 | | { 0x9ae5a91a877bfcecL,0x5d8758d91416ad3aL,0xa420ce4025fd9a9aL, |
9109 | | 0x99610fdf39b0fbfaL } }, |
9110 | | /* 46 << 98 */ |
9111 | | { { 0x782af22241cc1e9bL,0x346a4a9286ff4cf6L,0x9dc4c6cdabc900c1L, |
9112 | | 0x7ed2476ce7fade51L }, |
9113 | | { 0x68a721854f1dd24bL,0xcefcf0fdb08260cbL,0x0199a1478a6f61b6L, |
9114 | | 0x176b6079cb5769c5L } }, |
9115 | | /* 47 << 98 */ |
9116 | | { { 0x6dbcceb0347d5a63L,0x26433ebc9c4dc505L,0x5257031805d5e74dL, |
9117 | | 0x692f1d81057ca464L }, |
9118 | | { 0xa09554a0477f424eL,0xbd3f9bbd176a695dL,0x8c7f52f35972db27L, |
9119 | | 0xacee8234f28b2aa4L } }, |
9120 | | /* 48 << 98 */ |
9121 | | { { 0xb853465a3a4a0217L,0x74a2534f66f3a4d5L,0xae1a7ff3eff0423bL, |
9122 | | 0xd2a01a09bb126028L }, |
9123 | | { 0xff84c6f04963e855L,0x63db264c6bc18d50L,0x39792dcacc6a5e25L, |
9124 | | 0xf20cdf3eedb37a25L } }, |
9125 | | /* 49 << 98 */ |
9126 | | { { 0x6a460f3d8730f2c4L,0xe9b786c46a0ab6bbL,0xa9720a6b084015c2L, |
9127 | | 0x28add2e20dbe6f0fL }, |
9128 | | { 0x90fb0ba726be7de7L,0xfae8b5d4e40f15fdL,0x007363a1ceb9c856L, |
9129 | | 0x6d8bfe14586b770eL } }, |
9130 | | /* 50 << 98 */ |
9131 | | { { 0x63e7d78eb7bcc0e0L,0x56c569f83ed4ab62L,0x76c6a5bb9e103abbL, |
9132 | | 0xeb24afeb638fc44dL }, |
9133 | | { 0x15e00239f0be16f1L,0x7db92f678778f084L,0x5198680e63de2befL, |
9134 | | 0x69031d0ee0510421L } }, |
9135 | | /* 51 << 98 */ |
9136 | | { { 0x8058f8aab94753c1L,0x412d4c97454bf609L,0xb8dbfe8a95f9fd19L, |
9137 | | 0x6cd3221a68b43233L }, |
9138 | | { 0x384a9f15a5adaaffL,0x60c70f9042b2ef95L,0x085b2f3b2c7da919L, |
9139 | | 0x1e5d23d1bc8407e1L } }, |
9140 | | /* 52 << 98 */ |
9141 | | { { 0x9ea95bc9adb45b3eL,0xb5a28feced06ec67L,0xd678df4662a3c143L, |
9142 | | 0x80f0bc9d6793284aL }, |
9143 | | { 0xeb7865a907d4afc7L,0x0fc5eafec1301d87L,0x50a8e7f54823349bL, |
9144 | | 0x97800fa22d019e96L } }, |
9145 | | /* 53 << 98 */ |
9146 | | { { 0xfeff25791bdd1d9cL,0x4d938c5d23886156L,0x25e3a8066979b9f6L, |
9147 | | 0xeeef8fa037bb6199L }, |
9148 | | { 0x4d917977d7d308b8L,0x60ca7ff94ae672ccL,0xb24ec1542a68db6eL, |
9149 | | 0x7b0604ec9e9942f5L } }, |
9150 | | /* 54 << 98 */ |
9151 | | { { 0xfdf4794fca4fad9eL,0x086020f83df5de22L,0x653da6cad601533cL, |
9152 | | 0xf97c1865735709f3L }, |
9153 | | { 0x2457ffd07cbd6ab6L,0xce05a482d003a502L,0x5c0c0cba33ee2740L, |
9154 | | 0x8146ca00f37174aaL } }, |
9155 | | /* 55 << 98 */ |
9156 | | { { 0xec118827587262bbL,0x8468c0297e2a402cL,0xe1c3a9e3bd6eb2aaL, |
9157 | | 0x77d09b4db496bde8L }, |
9158 | | { 0x454e767a854693bfL,0x6bbcc22ea4de85bcL,0x66452f10b180f206L, |
9159 | | 0x110c5a050f5b1744L } }, |
9160 | | /* 56 << 98 */ |
9161 | | { { 0xb7be75d8a6b3f6e4L,0xf64bb3fd2c0d2e1dL,0xad17a039935ae640L, |
9162 | | 0x7304ad638f243748L }, |
9163 | | { 0x04316bb4d278caa9L,0x19b89c621e84f91dL,0xdf4a47e96e7a2511L, |
9164 | | 0xdef32df9998b6bc0L } }, |
9165 | | /* 57 << 98 */ |
9166 | | { { 0xf1253ce0cee95a1fL,0xbacf52060ae96e31L,0x4ba2e24a0b343e63L, |
9167 | | 0xca64d07f79929dc6L }, |
9168 | | { 0xf2823ac89424ce75L,0x2d4add370207ee9fL,0x44d9ecd0387cde5fL, |
9169 | | 0xa5095ccbe180a21fL } }, |
9170 | | /* 58 << 98 */ |
9171 | | { { 0x901cec8a7c0cedf8L,0xf291dc783b8c759cL,0x98b8efdc49401234L, |
9172 | | 0x8f2b16e3058e9d9eL }, |
9173 | | { 0x16ce800727dba00fL,0x5bb8fca96d66d2f1L,0x092eda987b85a96bL, |
9174 | | 0xec53f4bc973eae20L } }, |
9175 | | /* 59 << 98 */ |
9176 | | { { 0xe6e0df591b93a60fL,0x65e06ecf2f6b0abfL,0xb8c2ec3e569a9e1dL, |
9177 | | 0x27f9fe72aa8c1cc3L }, |
9178 | | { 0x9cf3908fccd4d5e2L,0x5a40e0a9725c8528L,0x27b15a1ed470b0b0L, |
9179 | | 0x50a09ec133d81bffL } }, |
9180 | | /* 60 << 98 */ |
9181 | | { { 0xba976a58da99fcf5L,0x3881ef1ec3536b7cL,0xec65a069fbc931b1L, |
9182 | | 0xab7f57b4fc929a0eL }, |
9183 | | { 0xc7c63491bc61f452L,0x5c1aa935c1750dbcL,0x35b8789b9ff0465cL, |
9184 | | 0x8ff8589b727647b7L } }, |
9185 | | /* 61 << 98 */ |
9186 | | { { 0x2b56fe50a95022b6L,0x242205692adbdbbdL,0x2370d94fd2b80ea8L, |
9187 | | 0xe5d47b7371d9e6f7L }, |
9188 | | { 0x2fe84b728d858032L,0x0411034b4ffd7cfeL,0x0819a9f37c2c84e0L, |
9189 | | 0xf8248dfd30228f9eL } }, |
9190 | | /* 62 << 98 */ |
9191 | | { { 0x75c77f0a4fdf6c79L,0x195b4b5915579cc7L,0x274c7c81f8d3705cL, |
9192 | | 0x45a2209f70ee9be1L }, |
9193 | | { 0x4a4fce690b1e818bL,0x74d05e5fbb9926b1L,0xb64639ce3f2a796bL, |
9194 | | 0x2d168d5bae957d59L } }, |
9195 | | /* 63 << 98 */ |
9196 | | { { 0x067c227016171846L,0x7bb71d151a03f8d1L,0x2badd196495a09a1L, |
9197 | | 0x024db16351b990c4L }, |
9198 | | { 0xc19edc61e79dcaacL,0xf17f54bd60df81e9L,0x4560262e9ae347e4L, |
9199 | | 0x1d2c254259eb711dL } }, |
9200 | | /* 64 << 98 */ |
9201 | | { { 0x40372d2d4919affeL,0x2d4a2ea3a009bd16L,0x48f1e7f8c1a62eb1L, |
9202 | | 0xce083725587a1124L }, |
9203 | | { 0xe874261be7ebadd3L,0x7ca5c156057b93e9L,0xe8b381e5fe39e6ffL, |
9204 | | 0x2d16b32fd30815c3L } }, |
9205 | | /* 0 << 105 */ |
9206 | | { { 0x00, 0x00, 0x00, 0x00 }, |
9207 | | { 0x00, 0x00, 0x00, 0x00 } }, |
9208 | | /* 1 << 105 */ |
9209 | | { { 0xdfd30b28ad2e996aL,0x64d4eeec9df0fc37L,0x8e049e3dddc39763L, |
9210 | | 0x9f55e0ce37ea2e8eL }, |
9211 | | { 0xf3fcba4e4bf01984L,0x764d5c3d9d55bc4bL,0x98cb92a1cfda895fL, |
9212 | | 0x27dfe7955c7bca69L } }, |
9213 | | /* 2 << 105 */ |
9214 | | { { 0x86dfdecf23a86e2cL,0x02ac466b3387f712L,0xc30a1ac2d63509d1L, |
9215 | | 0xd391342263aebbd1L }, |
9216 | | { 0xdc7b789f068ae34fL,0x499f2d01487dcd10L,0x68e2a3bca3e8a4b4L, |
9217 | | 0xdf87ba7114d2a26cL } }, |
9218 | | /* 3 << 105 */ |
9219 | | { { 0x9e3ab99934479e7bL,0x9d5f2dc3b026e780L,0x131374fd4f1bd429L, |
9220 | | 0x92e2e7389be1379aL }, |
9221 | | { 0x6cc32f80d13bc111L,0x6fbfc35086f81c92L,0x12ca1b309263913aL, |
9222 | | 0x6f7da1ffe06ab75cL } }, |
9223 | | /* 4 << 105 */ |
9224 | | { { 0x4780f12a19301b16L,0x233bc231bc368a20L,0xd9650892cbadb344L, |
9225 | | 0x38a0d964ad9425a1L }, |
9226 | | { 0x277abcf24a8d4d7eL,0x4ccd16b1b806ce9eL,0x82ff40f07570d473L, |
9227 | | 0x57491414df130780L } }, |
9228 | | /* 5 << 105 */ |
9229 | | { { 0x9f1f39f2a96ef42bL,0x1fd967ed107f1321L,0x9383249729d4767eL, |
9230 | | 0x7761a38b3fa9e796L }, |
9231 | | { 0x3e408c5966318df2L,0x9283ca4441745f03L,0xfedf8fa32cce1a86L, |
9232 | | 0x8363860db44600b4L } }, |
9233 | | /* 6 << 105 */ |
9234 | | { { 0x3dbfde5545f45a89L,0x8800c86026ce399cL,0xfb25e8dac25e9479L, |
9235 | | 0x6ff0d6cbf7d367a2L }, |
9236 | | { 0x70b0ba36a93f9890L,0xc07ca40349bd5a80L,0x5f4feda6ed54d1aaL, |
9237 | | 0xfa1e2efd671ad0b4L } }, |
9238 | | /* 7 << 105 */ |
9239 | | { { 0xda4654678c56e7aaL,0x39d04cdc25e45bc0L,0x26661bd6af21c637L, |
9240 | | 0xf757ff5cb55ddfa5L }, |
9241 | | { 0x07318fd14394eb20L,0xe010b19d2bcf3ad1L,0x71e2031c8e5c7e7fL, |
9242 | | 0xee35f346edbfda69L } }, |
9243 | | /* 8 << 105 */ |
9244 | | { { 0x8d8d41205d8f6fabL,0x5e420839abed09c8L,0x5120e0794aacbb1eL, |
9245 | | 0xf7e840f8ec1bc996L }, |
9246 | | { 0xd921d63b9707c3bbL,0x3ab4b8b8ae891a71L,0xbe46575673bb2278L, |
9247 | | 0x776ce040553ee91cL } }, |
9248 | | /* 9 << 105 */ |
9249 | | { { 0x86f07c2e88222e0aL,0x3f3688f1df97816eL,0x20d2d944a6df9d3aL, |
9250 | | 0xff399057b2cb925aL }, |
9251 | | { 0x010c747e27f1de19L,0xbe9406697fc1fbc3L,0x3ab94600877ef709L, |
9252 | | 0x9af40a6b8f4c8a8eL } }, |
9253 | | /* 10 << 105 */ |
9254 | | { { 0xf7c0f202713f023aL,0xbe0bf3dbd0a8dc63L,0x0978992664a41337L, |
9255 | | 0xbb4a89642c2823cfL }, |
9256 | | { 0x9279cb27b90e45c6L,0x80283fd3382564acL,0x3a746b01fa5f0bcdL, |
9257 | | 0x28667a8e0afaf10aL } }, |
9258 | | /* 11 << 105 */ |
9259 | | { { 0xeccfd0ee015d5295L,0xbd6678a573ce8e21L,0x132a87f2336ecb65L, |
9260 | | 0x09de4efcbe7dc659L }, |
9261 | | { 0xbedadd106f69b3bdL,0x357c61e2e8303650L,0x6b3c613aa45777e6L, |
9262 | | 0x51dd30ad08d41179L } }, |
9263 | | /* 12 << 105 */ |
9264 | | { { 0xa7b53f3ff98feac3L,0xe8e00328f9497319L,0x1f3b080d0ca20b40L, |
9265 | | 0x06dc5456e19b088eL }, |
9266 | | { 0x1f3f18d70dce02cbL,0x2d2155446fd1ade9L,0x4c6de38c055550d0L, |
9267 | | 0x5d535e6ff33f4973L } }, |
9268 | | /* 13 << 105 */ |
9269 | | { { 0xdcfd4163744c033dL,0x0706a49076fc420aL,0xdc9db55c394f5b6dL, |
9270 | | 0x1a050a62e040a093L }, |
9271 | | { 0x60367ebbd0ab26f3L,0xb9c07239c3d91820L,0x14a8bed5a3e32db2L, |
9272 | | 0x23b19cd3d49f37ddL } }, |
9273 | | /* 14 << 105 */ |
9274 | | { { 0xd048c64fea6c85ceL,0x8aefff19d5716cfeL,0x199fddb1ab85bdcfL, |
9275 | | 0x3f592e7ebaea49d0L }, |
9276 | | { 0x8c8decb6f1d58ff6L,0x02598a997fe8f425L,0xe4c73ae264a93fd6L, |
9277 | | 0x208a0f61878db06bL } }, |
9278 | | /* 15 << 105 */ |
9279 | | { { 0xff0272fe27c4a266L,0xccfc96ae69e7c6a2L,0xbd7e715f8e78d74aL, |
9280 | | 0xd04ae9a432ed35bcL }, |
9281 | | { 0x302af41305614c5fL,0x9817663733943b5aL,0xa4d1c9b28a58cfd8L, |
9282 | | 0xf0ebd5f4ac2f3f79L } }, |
9283 | | /* 16 << 105 */ |
9284 | | { { 0xebadb010fdc7945fL,0x62c9cff003750a4bL,0x75192383a0c85b9dL, |
9285 | | 0x2aba7b5316eb0bf9L }, |
9286 | | { 0x93d4adaaa4c06f9aL,0x573a86a25f8e482cL,0x109c6fdce791a79fL, |
9287 | | 0xd9ed02ceb37eeec2L } }, |
9288 | | /* 17 << 105 */ |
9289 | | { { 0x7b1fb4b47dd63c8bL,0xae6e276722493b49L,0x5ef6beb76a411bc9L, |
9290 | | 0x4d88918de1bf4242L }, |
9291 | | { 0x7ba26f8c02a97fbcL,0xf45b2a507f41c518L,0x6c35fb6983249e23L, |
9292 | | 0xc4a951347a5778ccL } }, |
9293 | | /* 18 << 105 */ |
9294 | | { { 0x6173f86008287cf7L,0xdcfc71d9fac3a444L,0x894f3b33079ce3c9L, |
9295 | | 0x842bf7da916b661cL }, |
9296 | | { 0x94299d6fa758a243L,0x0e23f984b242389aL,0x653050f0c03a7aa2L, |
9297 | | 0x2ec3041b9559ad9cL } }, |
9298 | | /* 19 << 105 */ |
9299 | | { { 0xa61dd49997cf6e9bL,0xfd090f38448fa6c6L,0x4f1b75ac39b126bfL, |
9300 | | 0xb48d03721ef1a280L }, |
9301 | | { 0xe40c310df2b2941fL,0x5b9a73698d9d5aceL,0xbe0415c17ad9ad95L, |
9302 | | 0xffd864b6a8510622L } }, |
9303 | | /* 20 << 105 */ |
9304 | | { { 0x2aceddcd898f28e8L,0xa0cfc30aba89a51fL,0xd87db983e105e448L, |
9305 | | 0x16ba795e5e5ea6fbL }, |
9306 | | { 0x5f48e45a352ad094L,0x1971a10f55fd75e7L,0xfb0f1767fd1c8d68L, |
9307 | | 0x904229d986df0665L } }, |
9308 | | /* 21 << 105 */ |
9309 | | { { 0xc2c88671e87ab22bL,0xcbe384a133611a50L,0x38eec58ead2eb708L, |
9310 | | 0xaa19b17486d7bdeeL }, |
9311 | | { 0xa9f416d751832b61L,0x10b751ff355e7b6dL,0x6dd520634ff07a5aL, |
9312 | | 0x6a6090c14e3505c1L } }, |
9313 | | /* 22 << 105 */ |
9314 | | { { 0x53addd1cd4c80f29L,0xe76d668b0d3d793eL,0xbdcdc4c9191eedd9L, |
9315 | | 0x806753200f8e4877L }, |
9316 | | { 0xc41426dd32f5661bL,0x9fcbe1ac06199185L,0x62fa2198404a1207L, |
9317 | | 0xc742fdc233c8190eL } }, |
9318 | | /* 23 << 105 */ |
9319 | | { { 0x16ec1b96778ee765L,0xda656f58e29d992dL,0x5393775bb4369e7fL, |
9320 | | 0x512f5c7b0674fc45L }, |
9321 | | { 0x55b8bd3860efa8e0L,0x1ab6d2df155b57abL,0xed0aa777e26ad439L, |
9322 | | 0x5b16333ed9b04376L } }, |
9323 | | /* 24 << 105 */ |
9324 | | { { 0x321119d38fc7ea72L,0x390b4ef57211ef45L,0x289f39451feda1a2L, |
9325 | | 0xcee9cb33605c8596L }, |
9326 | | { 0x91109e96971b6897L,0xdf70c17319701ea7L,0xa07d0ecda92c6b2bL, |
9327 | | 0xf8eb97fea9eab766L } }, |
9328 | | /* 25 << 105 */ |
9329 | | { { 0xbb2cf63b0e3cf9e8L,0xffa6c503dda02b26L,0x42c1ec1a9cb18efdL, |
9330 | | 0x13cdda9cc45d5b22L }, |
9331 | | { 0x6b3baf33c820cdf5L,0xa337bc5e610c8bfcL,0x8818681806a9ca6bL, |
9332 | | 0x382a34eea0c455afL } }, |
9333 | | /* 26 << 105 */ |
9334 | | { { 0x725006c9e8fc59dfL,0x0d46b697f929c670L,0x7bd6eceb893a9f6eL, |
9335 | | 0xf25aa6371cd04e5aL }, |
9336 | | { 0xf1563d79f6612d4aL,0x8c9372cf5efc49d8L,0x09cc051396c5bdc5L, |
9337 | | 0x70f19d46d3cc34d8L } }, |
9338 | | /* 27 << 105 */ |
9339 | | { { 0xe62f6891fdfbe16cL,0x8b7db2fddc60110bL,0x3557bff8f7868674L, |
9340 | | 0x2b414c8e95a638d6L }, |
9341 | | { 0x3b6610ac6d19ac65L,0x20864204d641b0eaL,0xee372a46892161fbL, |
9342 | | 0xc7c5bd874125868aL } }, |
9343 | | /* 28 << 105 */ |
9344 | | { { 0x5edc6afca61ee957L,0xa4374ba1d37faed4L,0xf0684f461e52b0abL, |
9345 | | 0x0812cbca2a007b66L }, |
9346 | | { 0xf3442afde68c4893L,0xb02ac6df2d9dd9a2L,0xa4fe98dc068c08bbL, |
9347 | | 0xfcd5dc057795e2e9L } }, |
9348 | | /* 29 << 105 */ |
9349 | | { { 0x28983aeea0f55cd8L,0xb390daf4e96cf557L,0xbfd2f5ab3f119098L, |
9350 | | 0xed1145876386c0adL }, |
9351 | | { 0x578995b969539392L,0xc8a7794836b880abL,0x7e03cfb6e4c8b560L, |
9352 | | 0x018cd4db06cdcbe0L } }, |
9353 | | /* 30 << 105 */ |
9354 | | { { 0xbd7f2e3ab006f8d5L,0xf25d1718d6d9f30eL,0x9ef6e2ee1b22ae3dL, |
9355 | | 0x89a2695d416154abL }, |
9356 | | { 0x1975e0c8da261e39L,0x8fe66aedda2c2031L,0x6f93f83997e1e00cL, |
9357 | | 0xcba9a773a742b328L } }, |
9358 | | /* 31 << 105 */ |
9359 | | { { 0x9529fec13417df8bL,0x37a27cd954e314b1L,0x93feb0f865f94a63L, |
9360 | | 0x65978b84b5e029c1L }, |
9361 | | { 0x576fd83081b705f1L,0x37d07a37688e8c52L,0x3b91d360332838dcL, |
9362 | | 0xcca9cbf8b0b14a94L } }, |
9363 | | /* 32 << 105 */ |
9364 | | { { 0x86f18c448b63b669L,0x53c6eba66972d2d1L,0x2a522d8c8cff59bcL, |
9365 | | 0xbc181d156ed25ce5L }, |
9366 | | { 0x913f173d5feb0ecaL,0x34273f8da207bd71L,0x41b7572efa1715aeL, |
9367 | | 0x8a8ffea27f16f4aeL } }, |
9368 | | /* 33 << 105 */ |
9369 | | { { 0x2b852908f95bdf78L,0xa75adbb3a26328b9L,0x992ac179dae21d25L, |
9370 | | 0x8c99927a78e14467L }, |
9371 | | { 0x23fb2fee0c16e0c2L,0x58e797bbdbcb5f4eL,0x33d6956ea07bd7deL, |
9372 | | 0xc921fdb37172d36aL } }, |
9373 | | /* 34 << 105 */ |
9374 | | { { 0x035f1744158267b5L,0xc7495f33a291374dL,0xe07db2f54a41a6a0L, |
9375 | | 0xfdb2987ed1238792L }, |
9376 | | { 0x616df62449741ce6L,0x90ecd21b8a693880L,0x447c729d341fe21bL, |
9377 | | 0x06ad3c90c012a8abL } }, |
9378 | | /* 35 << 105 */ |
9379 | | { { 0x13dc4fa9ddfd6b5aL,0x238a1add64cfc0f3L,0x874a3c2fc34a2b1eL, |
9380 | | 0x427b6e3c0deb1dd4L }, |
9381 | | { 0x78a1ad1d876f2621L,0x34f9207c252f6837L,0x1c812fbb047d667bL, |
9382 | | 0xc3512ea33ee03ba7L } }, |
9383 | | /* 36 << 105 */ |
9384 | | { { 0x762de5f0527a1b55L,0x7873d692ae3221afL,0xa8ac73c7b112d35fL, |
9385 | | 0x1d118c30815414f6L }, |
9386 | | { 0xbc686118865ab6f6L,0x01e75348ecf8c02dL,0x9b131840e6220bf9L, |
9387 | | 0x3d72dac4a67512b5L } }, |
9388 | | /* 37 << 105 */ |
9389 | | { { 0xd9e49eccaf95e16eL,0x1297c5601e2aa105L,0x925301aca1a5e8c2L, |
9390 | | 0x3b0ea863990ab503L }, |
9391 | | { 0x7860b66015f258c4L,0xa4497040397253e4L,0x88562ed014a4774dL, |
9392 | | 0x325d8b0d7adbd093L } }, |
9393 | | /* 38 << 105 */ |
9394 | | { { 0xd4df8df241e24010L,0xe7cb8663580031beL,0xd653593ad7fc7e5fL, |
9395 | | 0x429a8863e9f1fe9dL }, |
9396 | | { 0x18a0a70963e71cedL,0x39d9316da498140eL,0x44466cff40f40117L, |
9397 | | 0x58d27cd664602832L } }, |
9398 | | /* 39 << 105 */ |
9399 | | { { 0xf4a4c22b86018a70L,0x7a4d41026d703f04L,0x4f5a0037b424b0fbL, |
9400 | | 0xfb591cfd322b1876L }, |
9401 | | { 0xb45798b0632e0f56L,0x83ef9febfdcbcf20L,0x0a23b09c115749acL, |
9402 | | 0x3b950273946248f8L } }, |
9403 | | /* 40 << 105 */ |
9404 | | { { 0x5ed75e681e13eaeeL,0xbebd474409dafdb9L,0x8b46621f69941fc4L, |
9405 | | 0x1fd3c13f91129bc0L }, |
9406 | | { 0x371448d0b7b9da22L,0xd452ccead87a4742L,0xe2f04778f91c38b9L, |
9407 | | 0xfb443a5dbd516bfeL } }, |
9408 | | /* 41 << 105 */ |
9409 | | { { 0xd7bd4056044d666bL,0xb4546ffd2a9b17c4L,0xf66765ae818fe55aL, |
9410 | | 0xc375126c1b5dc7a0L }, |
9411 | | { 0xe9a7ed20c1a81c63L,0xaef2e23df8cf06b9L,0xf45368653e67b95bL, |
9412 | | 0x25cbb5a624309537L } }, |
9413 | | /* 42 << 105 */ |
9414 | | { { 0x8a230e683256c020L,0x4a33e462215dca7bL,0xefef49362935b6d1L, |
9415 | | 0xb383df4e852c39f4L }, |
9416 | | { 0x197ddd7757c21e90L,0x236f98dd2164127fL,0x464b86ecbbd61847L, |
9417 | | 0x107a387cfb89d515L } }, |
9418 | | /* 43 << 105 */ |
9419 | | { { 0xe01e50b7400d66d5L,0x4377af2b5f864426L,0xde21c49af8fe847aL, |
9420 | | 0xc133e58f887c0674L }, |
9421 | | { 0xda5b4c3bd2fda17cL,0x24157f13fed8fe68L,0x1c4483f38b6bb6bfL, |
9422 | | 0x940fab9ecf1bed73L } }, |
9423 | | /* 44 << 105 */ |
9424 | | { { 0xce3fca793c15c7e5L,0xb83fce10066de109L,0xbd42ed010cd5a04aL, |
9425 | | 0xba5446b8407fcb03L }, |
9426 | | { 0x4a8cb929e5d35bdaL,0x6338fd7ebff8631fL,0xc85d4ee44656a8cdL, |
9427 | | 0x83b1f39a92c99820L } }, |
9428 | | /* 45 << 105 */ |
9429 | | { { 0x153fa4d47e90c823L,0xc15809ba15326196L,0x320b8fe96eb4b379L, |
9430 | | 0x27cc07c058704d9eL }, |
9431 | | { 0x301840b2f13d6ee7L,0xf1f6530fc6d8c930L,0x3e9254ea96a22034L, |
9432 | | 0xf8c0ee68af5b8a2eL } }, |
9433 | | /* 46 << 105 */ |
9434 | | { { 0x88e9e44eb8207fdeL,0xdea11cbd29bc1310L,0xa20c2f179c9d7df7L, |
9435 | | 0x2a954927bceac495L }, |
9436 | | { 0x3f405f5c2a58d6baL,0x64df53642ac9aeaaL,0xb618f6dbe8aa74a5L, |
9437 | | 0x22dadc7f74ef61e3L } }, |
9438 | | /* 47 << 105 */ |
9439 | | { { 0x306ee8329cfdc4cdL,0xaff5332140698a5bL,0x9889344389567341L, |
9440 | | 0xdfefbdd4ac7c68ecL }, |
9441 | | { 0xd3da70943261a582L,0xd23e3fa562ce96e7L,0x62c060c0d773337eL, |
9442 | | 0x5cb2becaa041f910L } }, |
9443 | | /* 48 << 105 */ |
9444 | | { { 0xe21ab4797e8215d8L,0x84384686923b4b27L,0xa93c08fe6a3d21efL, |
9445 | | 0x7bd962482fa6de1cL }, |
9446 | | { 0xb858ecd7ca6de3e0L,0x466a48c847c9fcedL,0x23ca9b75c708239eL, |
9447 | | 0x860d553db5bbe833L } }, |
9448 | | /* 49 << 105 */ |
9449 | | { { 0x45804f1a9e76e71dL,0x9fdb8b8d51e59be2L,0xa76db4b73bbc2a19L, |
9450 | | 0xaebb47ee96f82cd0L }, |
9451 | | { 0x7a9b95b597b1dd04L,0xcc149a8d5f0b1d7cL,0xbba40e4d47a50eecL, |
9452 | | 0x4e635d7056b72539L } }, |
9453 | | /* 50 << 105 */ |
9454 | | { { 0x31c40e90b18659c4L,0x080262246f694b35L,0x8ed3d7b8e0cd6e15L, |
9455 | | 0x157e2a9d9293cb36L }, |
9456 | | { 0x7b457bb196e54583L,0x756474982609c44dL,0x54667671970a8cf2L, |
9457 | | 0x3b7da9c83af72572L } }, |
9458 | | /* 51 << 105 */ |
9459 | | { { 0x8fbba9774d63473aL,0x7af5af4323001221L,0x99093197ea29d97eL, |
9460 | | 0x4409f6a9fa564089L }, |
9461 | | { 0x64fd1cda2f70e06fL,0x8b7c83a62e9d55eaL,0x0dffbe4b6385fcefL, |
9462 | | 0x4513f5847a6fe72dL } }, |
9463 | | /* 52 << 105 */ |
9464 | | { { 0x6a64f166ba1de4aeL,0x1f8550a989069fbdL,0x72b411fdda7ef7fcL, |
9465 | | 0xa185d2c3829ea712L }, |
9466 | | { 0x82f5ffb8ccc1868dL,0xb484473aff9fafa9L,0xe1857f3c089132edL, |
9467 | | 0xdad885a908ef378fL } }, |
9468 | | /* 53 << 105 */ |
9469 | | { { 0xbdbdfc0e7af9e2aaL,0x366c07bb95486202L,0x37040d45fc9d979fL, |
9470 | | 0xf279ed10a0f80630L }, |
9471 | | { 0x278552618f31b39cL,0xea0c3b1cf26f91cbL,0x90b4e8c2b38c050fL, |
9472 | | 0x7acb26b11623ab47L } }, |
9473 | | /* 54 << 105 */ |
9474 | | { { 0xb6cc3cd9a4a064d2L,0xa410880c97245482L,0xfb470e113a6e6a1fL, |
9475 | | 0xf19080b193f347e4L }, |
9476 | | { 0x23253dcfb75a53d9L,0x550470499c95d567L,0x8c75631e7b20202aL, |
9477 | | 0x58fccf32834b8380L } }, |
9478 | | /* 55 << 105 */ |
9479 | | { { 0xaf6bdbd8243ddddeL,0xa3ca3e2ccf38f705L,0xa2357b4bca38c9a2L, |
9480 | | 0x8bf0d2706eba095bL }, |
9481 | | { 0xe4a43b7c9d998070L,0xdf412faa8469214cL,0xd2578cc4000f1802L, |
9482 | | 0x2feb563ff8515863L } }, |
9483 | | /* 56 << 105 */ |
9484 | | { { 0xe66ce02a5022112cL,0x8415df811461b1c6L,0xc2546e6aad247c38L, |
9485 | | 0x4b9788e69a9c74d6L }, |
9486 | | { 0x9d0cb2e0a22be3e8L,0x15db086c295f76adL,0x9758f99ba2337670L, |
9487 | | 0x61ae09bb9ab57f54L } }, |
9488 | | /* 57 << 105 */ |
9489 | | { { 0x7af4d4aa93926a37L,0xa895f386f25cadb4L,0x90e13821c6f4f514L, |
9490 | | 0x46738d954eef97abL }, |
9491 | | { 0x66f559f3f0b479a2L,0x9ea62dcd3262fb2bL,0x91a39a5e6a857025L, |
9492 | | 0x11bdd19abb3e6e11L } }, |
9493 | | /* 58 << 105 */ |
9494 | | { { 0xfa411fd69353cc19L,0x275d094c94cd2276L,0xe2069b2225243d1bL, |
9495 | | 0x9f02f1e2630c8cbcL }, |
9496 | | { 0x85c942fd379b6b63L,0x293dcf87bdcc9307L,0x56856d8edc212ca8L, |
9497 | | 0x1927e93123a0c56dL } }, |
9498 | | /* 59 << 105 */ |
9499 | | { { 0xacfed2889c2f8b66L,0x20f6b94e386ad1e3L,0x0e622304dcbeff77L, |
9500 | | 0x67e895fa5978f2f6L }, |
9501 | | { 0x12a63bde20029bfeL,0x0ed75b6c8d968b8cL,0x611739ee57cec33eL, |
9502 | | 0xeffaae7242b9fc44L } }, |
9503 | | /* 60 << 105 */ |
9504 | | { { 0xa7de79ce971a90a9L,0x529bd8a24fead0d5L,0x78434c309a1a43efL, |
9505 | | 0x904d1db24f3c848cL }, |
9506 | | { 0xedb3c11e6d4234adL,0x4e0c9ec45975e9a0L,0xc51236dbff16ec74L, |
9507 | | 0xde652cff36d09231L } }, |
9508 | | /* 61 << 105 */ |
9509 | | { { 0x0d7c18b7e60a0bc5L,0xaf0413839d7df012L,0x9c0ff3f447d4cfd0L, |
9510 | | 0x64c7e6c23d97bac7L }, |
9511 | | { 0x239d25008cb44d50L,0x47189764bba96026L,0x2244932831ddca37L, |
9512 | | 0xa53a1886fb7c29efL } }, |
9513 | | /* 62 << 105 */ |
9514 | | { { 0x2515b66597a3789bL,0x825c5031540ea258L,0x7668065609a5b24bL, |
9515 | | 0x833c240f60fb8bccL }, |
9516 | | { 0x758e0b1001e55cc7L,0x8b799c488d260572L,0x0981a8026c5dd0cdL, |
9517 | | 0x6f6da55d1b9c6cc9L } }, |
9518 | | /* 63 << 105 */ |
9519 | | { { 0x3457b6858c4d503aL,0xc537730f009a7a94L,0x334d46b4d01dfdffL, |
9520 | | 0x3e5dc6a815e20bc7L }, |
9521 | | { 0x1833b0bf6ce8b8abL,0xe21b99aec57a4292L,0x743cb5951713ba15L, |
9522 | | 0x550e41bce0bb44a7L } }, |
9523 | | /* 64 << 105 */ |
9524 | | { { 0xf356917a2f8ebcf5L,0x6f2c400b953f056cL,0x09d9ac41dd84bb48L, |
9525 | | 0x50dc7a8ea61e98e3L }, |
9526 | | { 0x1179a9d33d3a6776L,0xdda312e716de8b3eL,0x62a8b7c3ce6e2beaL, |
9527 | | 0x2b00036c645e4ca0L } }, |
9528 | | /* 0 << 112 */ |
9529 | | { { 0x00, 0x00, 0x00, 0x00 }, |
9530 | | { 0x00, 0x00, 0x00, 0x00 } }, |
9531 | | /* 1 << 112 */ |
9532 | | { { 0x9ad2cbd7ab6cf0b4L,0x7a1e67f4f13d1ddfL,0xa58f0c73746003baL, |
9533 | | 0x8263e888a64a8fccL }, |
9534 | | { 0x535cbe37be2452f7L,0x931257666ae81a76L,0x7d2ed0ab3a553701L, |
9535 | | 0x93d7e7dfb0717d78L } }, |
9536 | | /* 2 << 112 */ |
9537 | | { { 0x61bc013cf9cf03baL,0x36223b88feee3a78L,0x86efc9233d7e4c95L, |
9538 | | 0xaf3801be965625e4L }, |
9539 | | { 0xa7bba1413f32fd9dL,0x70724dec4e564acbL,0x52587f32b7edcac1L, |
9540 | | 0x0b1cd94cb3969985L } }, |
9541 | | /* 3 << 112 */ |
9542 | | { { 0x9f08407a661fbdabL,0xc4d7c53658e52151L,0xa3765bce63dfe954L, |
9543 | | 0xc6829bfbac2dddd1L }, |
9544 | | { 0x97393f65dc6e4487L,0x9ba29422bf04c930L,0x493c691418838c0aL, |
9545 | | 0x41b137ff4b2f35cdL } }, |
9546 | | /* 4 << 112 */ |
9547 | | { { 0xc9e4aa244e1c5e60L,0x54bb528913253d51L,0xf4a86ab39bbabe53L, |
9548 | | 0xd561feae6ac0aa64L }, |
9549 | | { 0x27a896ab1911bad7L,0x9cb22b9864337303L,0xf14262fb161f6928L, |
9550 | | 0x1661885c59ba6c9fL } }, |
9551 | | /* 5 << 112 */ |
9552 | | { { 0x4666ebd3b82574dbL,0xc5e866728d8af3f6L,0xcc645205209319bfL, |
9553 | | 0xc183c12e3834d1a8L }, |
9554 | | { 0x533d73da49eb0f40L,0x3bcab0bc6aca649eL,0xa02f4c41e39e8361L, |
9555 | | 0x2391e7aea89bdc85L } }, |
9556 | | /* 6 << 112 */ |
9557 | | { { 0x88067c5e608cbe2fL,0xcdec82f6f16c22f2L,0x80aa719af1faf9dcL, |
9558 | | 0x261fe9512340185cL }, |
9559 | | { 0xcb4113669713e72eL,0xdb1e405e6d8a2a46L,0xed17475711106ce0L, |
9560 | | 0x6d70cf6ef71c0e69L } }, |
9561 | | /* 7 << 112 */ |
9562 | | { { 0xb5310322cf707c76L,0x3a1eb2ff40b4b7d7L,0xb83259fbb1a2d26dL, |
9563 | | 0xa83ffb0f799720c0L }, |
9564 | | { 0xeecb19280bedb326L,0x4473e820e9271715L,0x506e6d202f2d71a9L, |
9565 | | 0xe7b253b14319756dL } }, |
9566 | | /* 8 << 112 */ |
9567 | | { { 0x27e19335f576cb3cL,0xe16e4573dfb3b78fL,0xaf96d78563da0001L, |
9568 | | 0xb38deafdf7444c5eL }, |
9569 | | { 0xaca6b38cc0eb0e28L,0xa6ca35417fe41b98L,0xfeb37b4718965b31L, |
9570 | | 0x739cc322597d5bc6L } }, |
9571 | | /* 9 << 112 */ |
9572 | | { { 0x827760414cb1fbc3L,0xcdaa873d8e2a3ad1L,0xb5f87b34c01318bfL, |
9573 | | 0x0c692268229cb81eL }, |
9574 | | { 0xb0724016a53089f5L,0xb2976a5305415313L,0x436eab75cee8fdf2L, |
9575 | | 0x8794e1a6d82b13e5L } }, |
9576 | | /* 10 << 112 */ |
9577 | | { { 0x0d51a072d5516e3dL,0x7bae61ce4b2fdb3cL,0x0d987e89550728eeL, |
9578 | | 0xfd5a656eee6778dbL }, |
9579 | | { 0x942ee623bb4d9d7aL,0xfc06d64b2dc1baf8L,0x5244fcd847c3dc8eL, |
9580 | | 0x5e37e1568568653eL } }, |
9581 | | /* 11 << 112 */ |
9582 | | { { 0xe5c2c6ff048c8355L,0x480872eca0474046L,0x67e3089d7ff92484L, |
9583 | | 0xdc07189329971b3eL }, |
9584 | | { 0x3857db2b5a63e8adL,0xf617d94e5f2e0a09L,0x267e98185844de79L, |
9585 | | 0xfdb103b2861f5f92L } }, |
9586 | | /* 12 << 112 */ |
9587 | | { { 0xb969bd3c1570d6e9L,0x7350b9dbe0fb517eL,0x083b142e55aa543bL, |
9588 | | 0x424757beaa2bc581L }, |
9589 | | { 0x4bd50f6469ea3302L,0x053dcf83ed4c8288L,0xac2b3074c118ac52L, |
9590 | | 0x57f066a8e76ca88bL } }, |
9591 | | /* 13 << 112 */ |
9592 | | { { 0xb9ac28fd0a3207cbL,0x0ec2ad13205829b0L,0x76216e564f403b64L, |
9593 | | 0x7eaef6626621dd5cL }, |
9594 | | { 0x9e0cc8364b06ac54L,0x16ac3c6c9648523cL,0xe1208a1a08eec1d8L, |
9595 | | 0x1e90b3a2be054a54L } }, |
9596 | | /* 14 << 112 */ |
9597 | | { { 0xdfab7f9223a836cbL,0x624d6bd26f7674c8L,0xc34a914cea06210aL, |
9598 | | 0xba5314ecf26c4f23L }, |
9599 | | { 0xd440b196a33a11cdL,0xf81ab63e75eb951fL,0x05ebb91a39350f0cL, |
9600 | | 0x3f3c08ec92e9528fL } }, |
9601 | | /* 15 << 112 */ |
9602 | | { { 0x54ff88444fe6f4e6L,0x217c0e0279b7ba49L,0x13c4372bbf3a4179L, |
9603 | | 0x6e5ad10ba1434264L }, |
9604 | | { 0xc842654062bd8ff2L,0x7c3dd28485fe6ef1L,0x2c59b30005da0e84L, |
9605 | | 0xf303ed9417468e18L } }, |
9606 | | /* 16 << 112 */ |
9607 | | { { 0xe19fac99a211ffd3L,0x408f94243f1f6bcaL,0x1f5b76d1a5648244L, |
9608 | | 0xef3942e895b2bd67L }, |
9609 | | { 0x1b9dee7fb538f1d7L,0x1cb78620444b8f85L,0x9f8ecd63cb8ea6a3L, |
9610 | | 0xca111b2eb9d3b71fL } }, |
9611 | | /* 17 << 112 */ |
9612 | | { { 0xff83d71ebdc4e8e2L,0x43745ddb3f76a9d5L,0x72db22a9a25856eeL, |
9613 | | 0xf34d5aa25e9a9ff7L }, |
9614 | | { 0x01f6b5f3bc529902L,0xadf5d31e086f4867L,0xbd88674fca556b56L, |
9615 | | 0xfd00120dfdc81625L } }, |
9616 | | /* 18 << 112 */ |
9617 | | { { 0x90fbaba0fdde77f6L,0x266d3bfe559ec6e7L,0x372acf54c8094357L, |
9618 | | 0x772bd8e46c61bb78L }, |
9619 | | { 0xcb2ac5921af9aefcL,0xacc3dc9b5b178386L,0x0996308423438463L, |
9620 | | 0xae84f9738359f1e6L } }, |
9621 | | /* 19 << 112 */ |
9622 | | { { 0xc3b19aa0a4cee642L,0xcd5ca5c8b19a918fL,0x46ac0d2ee67cb207L, |
9623 | | 0x2ae45e1073ffebf2L }, |
9624 | | { 0xf84aad8e10ef065cL,0xa0af57fa32a7e903L,0x4229590443d346dcL, |
9625 | | 0x8d6f711d7f170965L } }, |
9626 | | /* 20 << 112 */ |
9627 | | { { 0x11aa7070b110cffeL,0x091a100d9755605dL,0xc5a0c654d27d86a6L, |
9628 | | 0x1031a244db30feaaL }, |
9629 | | { 0x36804045c02228d9L,0x1877fc678b746039L,0xba554015e09bb238L, |
9630 | | 0xc50d8f921de9b40dL } }, |
9631 | | /* 21 << 112 */ |
9632 | | { { 0x29e40d88032f7a2cL,0x514b56dd1d315ec2L,0x9052652e61778f04L, |
9633 | | 0x0d2bc606e1a1c195L }, |
9634 | | { 0x375fd7ecb05043aeL,0x03b825776eba4d1bL,0x8e61b567c349b39aL, |
9635 | | 0xa670973ab35fc43bL } }, |
9636 | | /* 22 << 112 */ |
9637 | | { { 0x80c05ca75571b4a7L,0x95d14f498a4af0baL,0x96767cdb67bf4290L, |
9638 | | 0xb293372f46870ef1L }, |
9639 | | { 0xc64944051afe1027L,0x9f027a1c9019c4c2L,0xa392ac59188a593aL, |
9640 | | 0x68acca2ffcb6e1caL } }, |
9641 | | /* 23 << 112 */ |
9642 | | { { 0xd8f86cbe68ed921bL,0x24679ac2712d2c07L,0x18fbdb214e672cd9L, |
9643 | | 0x401bb71851d1f8e1L }, |
9644 | | { 0x688792e1aa8da4a1L,0xedf9266f3ca93d06L,0x5ddba14aaed484dfL, |
9645 | | 0xa5dab102b0ea10a5L } }, |
9646 | | /* 24 << 112 */ |
9647 | | { { 0xd397edcd833396eaL,0x78a75693ed5e6747L,0xf2c844ba1a5f8260L, |
9648 | | 0xbcafe59d5fb9fec5L }, |
9649 | | { 0xa2413d5fd3147e7eL,0x130dd9e3afdf26cdL,0x44be87ec9ad1abdeL, |
9650 | | 0xe925c4956e77fbe8L } }, |
9651 | | /* 25 << 112 */ |
9652 | | { { 0x07ce8d96f26ced16L,0x36c8564386ef7306L,0x62545902c7e3d409L, |
9653 | | 0x1747bf4a2ed4d38eL }, |
9654 | | { 0x6fe6fc3d55adc839L,0x20a3cc098eaf64a8L,0xc1e9b766622887b1L, |
9655 | | 0x7b9d2f96c41ac659L } }, |
9656 | | /* 26 << 112 */ |
9657 | | { { 0xfdb897cef2a65e45L,0x0c09c90597889eb8L,0xa15df10fe4becf5bL, |
9658 | | 0x14a3d4feccef7e40L }, |
9659 | | { 0xedaa11f6a8fc67bdL,0x7bf6fe9b5d185b42L,0x7bb9f1f56f9cb5c9L, |
9660 | | 0x1b4ab74ef97ea9cdL } }, |
9661 | | /* 27 << 112 */ |
9662 | | { { 0xe9ebf11d07638d62L,0x413a4a87a78cf538L,0x93785f86570dd371L, |
9663 | | 0xba431a91fb48063cL }, |
9664 | | { 0xf1f2ea5b4ed4e5faL,0x91a72c475308325aL,0x4e6518e7c9ea6acbL, |
9665 | | 0xfeaf4c3c208f67e3L } }, |
9666 | | /* 28 << 112 */ |
9667 | | { { 0x98c5d7682c16bb1aL,0xbf91b62dee31dc08L,0xe9ad408d33a54959L, |
9668 | | 0x9d754a6438b7170bL }, |
9669 | | { 0x106db7bcd9d6da2bL,0xf556cbb4add533afL,0x62db0de0f16d3b58L, |
9670 | | 0x78a1b0be1fa579baL } }, |
9671 | | /* 29 << 112 */ |
9672 | | { { 0xda96740b7b552058L,0x0c689cc6626c4d93L,0xee3dd5c9af68e53bL, |
9673 | | 0x78653a9f134d763bL }, |
9674 | | { 0xec9c1b723ca5aa67L,0x67471dac7d56992eL,0x0a97dffead1d8580L, |
9675 | | 0x11c7d93d0063c040L } }, |
9676 | | /* 30 << 112 */ |
9677 | | { { 0xb79e355c6e90b157L,0x2c06edcbd9c894c4L,0x9b93189771a75ed7L, |
9678 | | 0xd7f002478e95ad91L }, |
9679 | | { 0xfce1b489b85bf054L,0xa3ffb8fd503b38bfL,0xe7ea3ad4e0fe2ec9L, |
9680 | | 0x0f32f5200049865dL } }, |
9681 | | /* 31 << 112 */ |
9682 | | { { 0x33afa324cff21b51L,0x3d6847d762a1cd24L,0xf534e1590b06ce2fL, |
9683 | | 0x24d27b3dae7cdae0L }, |
9684 | | { 0xb727db294ad68ab5L,0x7e8e47e3b63c0bc9L,0xe81f312202389039L, |
9685 | | 0x0c281f5288e6a17cL } }, |
9686 | | /* 32 << 112 */ |
9687 | | { { 0x3cc00e21091e1c4cL,0xd500db44867ccc75L,0xa8e2e84bf5ebbbe4L, |
9688 | | 0xc3266881c4279ac0L }, |
9689 | | { 0x2e8fb4de7a170658L,0x219c5ec151da4a2eL,0xda69a3fdeeacee19L, |
9690 | | 0x9d4c6fbd30462243L } }, |
9691 | | /* 33 << 112 */ |
9692 | | { { 0x43673fe8a978c29eL,0x6e825c955861bbc1L,0xb41d1435dba8e7baL, |
9693 | | 0x0f286f78b885d004L }, |
9694 | | { 0xea42b7fdee57436fL,0xcdae14bcef7e29c7L,0x50cff3f024251056L, |
9695 | | 0xf60809fe6f6e8cb1L } }, |
9696 | | /* 34 << 112 */ |
9697 | | { { 0xee9f1d1512932e53L,0xa6e55cd6167d5097L,0x5df8816d9d926359L, |
9698 | | 0x108e2117797b7ecaL }, |
9699 | | { 0x7ba2031991921587L,0x304138e4ad23652eL,0x73d0ed5751ebc32fL, |
9700 | | 0xe0c10a38f01d0fc3L } }, |
9701 | | /* 35 << 112 */ |
9702 | | { { 0x14c6b72f78c49b19L,0x4f952b7e3b7c7418L,0x3fe75d21a2d019bfL, |
9703 | | 0x4837bfd27ca33e87L }, |
9704 | | { 0x4597729b3946e7eaL,0xbe22c14a4c37ea10L,0x91106c7cd7909474L, |
9705 | | 0xfbf1e7dbbf5551a1L } }, |
9706 | | /* 36 << 112 */ |
9707 | | { { 0x8e06336c55ffea13L,0x0deaeda00a1f99f5L,0x9b738c4bfda98fc9L, |
9708 | | 0x061cc613a59c98baL }, |
9709 | | { 0x5ceb5b83b477692cL,0x5db775591fcc473bL,0x77214b6283df476cL, |
9710 | | 0x2ffac971427ea01dL } }, |
9711 | | /* 37 << 112 */ |
9712 | | { { 0xf29f600b49fd0ba7L,0x1106f8b27233ef79L,0x706bc171e8a0ca35L, |
9713 | | 0x4da7a9e6acbff08bL }, |
9714 | | { 0x17c2fa4e7725f97cL,0xab459314e84a5095L,0x01556f146b24d47eL, |
9715 | | 0x01399059b016dc1aL } }, |
9716 | | /* 38 << 112 */ |
9717 | | { { 0x154b84c728eca6c6L,0x88ed8612d9084e68L,0x4dfd508000bf9b5bL, |
9718 | | 0x853cd8abba9a0ccaL }, |
9719 | | { 0x8cbf9bd88af0e94bL,0x50782b7383035d16L,0x694d3e654f44533cL, |
9720 | | 0x155d4bf4a6e534ebL } }, |
9721 | | /* 39 << 112 */ |
9722 | | { { 0x9028e2abee908b6bL,0x36e5aac0a6743060L,0xd26f5a513c37d6f1L, |
9723 | | 0x8483703e33729b9eL }, |
9724 | | { 0xf27a66032e5f82a5L,0x33bf2bdcca55d187L,0x894c415c7724a85fL, |
9725 | | 0x9255d416a2ea178dL } }, |
9726 | | /* 40 << 112 */ |
9727 | | { { 0x35ecb4e20a6dc5b9L,0x8b3fc2c851c54ed2L,0x059f86eb9eede13dL, |
9728 | | 0xa796c750791dd5ebL }, |
9729 | | { 0xb2f33680ea88555bL,0x927309501245348cL,0x1a5545f8d1e63bfbL, |
9730 | | 0xfebc9a14bebb7858L } }, |
9731 | | /* 41 << 112 */ |
9732 | | { { 0x13cce7676bdf0c84L,0x1aa9dc07a1d341faL,0xd46e8ff61ee6fa43L, |
9733 | | 0x4198e5d64b1dda64L }, |
9734 | | { 0xe82a81342782abd1L,0xe6f7b1b4b6d64830L,0xabe002747f0fb374L, |
9735 | | 0xf1a8e2b77494d7d3L } }, |
9736 | | /* 42 << 112 */ |
9737 | | { { 0xd16b0d9ef274f296L,0x3c94a7ac65246ee9L,0xd32c32da91ec2262L, |
9738 | | 0x04c7bb9083116ec1L }, |
9739 | | { 0x70fa040678524a06L,0x8d2d517607df8064L,0x13e589f2e2c8d48aL, |
9740 | | 0x3b110ac4122aed4eL } }, |
9741 | | /* 43 << 112 */ |
9742 | | { { 0xe8e0eb5234e972cfL,0xc082944afb3a77feL,0xcdaff7a36a32c23bL, |
9743 | | 0x88cc568dc37b4a2cL }, |
9744 | | { 0xc9979a9ce27b2552L,0x8612ae7dd6ef51f9L,0x7bf0f937ef4e8f85L, |
9745 | | 0x2f360a583f12d45cL } }, |
9746 | | /* 44 << 112 */ |
9747 | | { { 0x3ec9d0e39b336663L,0x5ac2df38b1438d2bL,0x7f2de910ff93fde4L, |
9748 | | 0xbbc460dad92534baL }, |
9749 | | { 0x74de315959a94ab9L,0xd51cfd32c45b80dcL,0x9f1f349c6e5b2397L, |
9750 | | 0xbdbd16ed995f7271L } }, |
9751 | | /* 45 << 112 */ |
9752 | | { { 0x4a7efc1cf59709a6L,0x74e2760d4b3db99aL,0xa7238e9e7726a2e1L, |
9753 | | 0x477642081a376013L }, |
9754 | | { 0xbc96f3967e33ebc0L,0x31e159e6c9e4ec0dL,0x26a5aef26a2ab9f6L, |
9755 | | 0x23add07c320eeea7L } }, |
9756 | | /* 46 << 112 */ |
9757 | | { { 0xa79a97c9833b45b6L,0xb08da907c51885e6L,0x23f5e651ae8d5659L, |
9758 | | 0x1eb0be481faff2f2L }, |
9759 | | { 0xe414ee3da1e090daL,0x16e4f8fa7fcb664fL,0x7a15a7e498c36865L, |
9760 | | 0xea60e8fdaf89dacfL } }, |
9761 | | /* 47 << 112 */ |
9762 | | { { 0x4e009f4586c1a4b4L,0x78c1bebf769644adL,0xa41b480f0b4b3501L, |
9763 | | 0x98be503757f0a0e9L }, |
9764 | | { 0x069348873af24657L,0xe2503ddb2b6260f9L,0x37c936c2d1d0caaaL, |
9765 | | 0xd371e99116431f50L } }, |
9766 | | /* 48 << 112 */ |
9767 | | { { 0xd9621d166087c5e5L,0xae49c2cec53a8bc5L,0xd7868882cad314cdL, |
9768 | | 0xfde10dc7aa57af18L }, |
9769 | | { 0x3fa8a60d3800f397L,0xcec8ae7b388b333cL,0xefd8d69285fa8129L, |
9770 | | 0x33d5685b90776c32L } }, |
9771 | | /* 49 << 112 */ |
9772 | | { { 0x47ecec0a65971a6eL,0xe8a20bbead7c5755L,0xbeed0a4d87372016L, |
9773 | | 0xd0d499bb1d9b8dc0L }, |
9774 | | { 0xf4ce27cd2800907dL,0x07a30b778622bbb7L,0x7532f43577e264dbL, |
9775 | | 0xfdd1a9c3d64f0710L } }, |
9776 | | /* 50 << 112 */ |
9777 | | { { 0x92ca210fa6543720L,0x2f19ed665bb6985aL,0x08a4ac61f9399b43L, |
9778 | | 0x0b7bac5d757f241dL }, |
9779 | | { 0x93ef27cc3763c20dL,0xda3b206ea86b1f05L,0x8f19c74ad62467c0L, |
9780 | | 0x3ec5ef6d6a3ad263L } }, |
9781 | | /* 51 << 112 */ |
9782 | | { { 0x249aa6362bc8b9f0L,0x0fca73187f70990cL,0x6d4aabc56f038497L, |
9783 | | 0x4647f72b5afaaaefL }, |
9784 | | { 0xc7cbe03a7bf90444L,0x6beb69accac2efb0L,0x58544ebabb3c6dc0L, |
9785 | | 0x569cdcd696aefc2fL } }, |
9786 | | /* 52 << 112 */ |
9787 | | { { 0x2e8a4c575e4c950dL,0x6f5341d74dd32002L,0xd0345db66efa5908L, |
9788 | | 0x4b043197f1d2bbe6L }, |
9789 | | { 0xde8a4cb6e8730baeL,0x9a89231fa485cb62L,0xb24ace89fcd9bcd4L, |
9790 | | 0x01892cc03ed5801dL } }, |
9791 | | /* 53 << 112 */ |
9792 | | { { 0x80ce2f30413408f9L,0xaf67343af8773b6aL,0x91acc6d2dd6ade17L, |
9793 | | 0x9d2ffecae5eb3defL }, |
9794 | | { 0x72f8af0650b029fdL,0x339c802c79c0aabdL,0x46161fffafc0a6adL, |
9795 | | 0x1046d9f8bac9a2d4L } }, |
9796 | | /* 54 << 112 */ |
9797 | | { { 0x2f12eb06ab920e51L,0xfc0049002892e552L,0x9aadf93e13e61154L, |
9798 | | 0x4468da94abcfd127L }, |
9799 | | { 0x6a5d3ffe152f220eL,0xe6260c234737fe79L,0x8b5dd1c95e6b4251L, |
9800 | | 0x044f06569af02b98L } }, |
9801 | | /* 55 << 112 */ |
9802 | | { { 0x434d475ca97ff366L,0xbae8db8e2c4bcc46L,0x2ba43a8bf9777251L, |
9803 | | 0x7ff430a5dd019f1aL }, |
9804 | | { 0x65e9f290630064baL,0xfc57a54e7e871c0eL,0x54107bbb5791ae48L, |
9805 | | 0xdfce137f5c334de0L } }, |
9806 | | /* 56 << 112 */ |
9807 | | { { 0xab65c8f6aed5be73L,0x838c3958174bf00bL,0x27c57199f1c7e594L, |
9808 | | 0x62643d810d02fae6L }, |
9809 | | { 0xc1e70c125f4431faL,0xfac86124b2b41f7eL,0x062ac35af0108e3cL, |
9810 | | 0xd7d34dfca43d3a28L } }, |
9811 | | /* 57 << 112 */ |
9812 | | { { 0xc40fb44a3143de4dL,0x06eac4edd2e0f9aeL,0x998f321195d9a69aL, |
9813 | | 0xb268f6a0e950bd2eL }, |
9814 | | { 0xadfab2101e9d4e40L,0xc453a68c73ce9324L,0x5e2f254480881171L, |
9815 | | 0xe4f596dbee7e543eL } }, |
9816 | | /* 58 << 112 */ |
9817 | | { { 0x77f48e4e76b6698eL,0x47b5165f227365c6L,0xf56ec8d414ef39e6L, |
9818 | | 0x1638d64774ce46faL }, |
9819 | | { 0x244d0fac08aa8b9aL,0x98ccc4d0298326c9L,0x492d7661ce0d2983L, |
9820 | | 0x728b3e3f73158cdaL } }, |
9821 | | /* 59 << 112 */ |
9822 | | { { 0x7959ca67c4948011L,0x32044ae908425a38L,0x05a7a6a7b1070c2bL, |
9823 | | 0x34ed541fcc129ba5L }, |
9824 | | { 0x4b6bf65cb2f1c3e2L,0x6f090ce6d0d8aec8L,0x11ade23ad4fe39c1L, |
9825 | | 0x50510c08a5a35528L } }, |
9826 | | /* 60 << 112 */ |
9827 | | { { 0xb7e2a5dead6fd7c6L,0x9d6919392745dca8L,0xff669c38ad053184L, |
9828 | | 0x394ca6b7ecd0703eL }, |
9829 | | { 0x59e32e8060b15e75L,0x82dde88913c14864L,0x0fd1624c64d4f086L, |
9830 | | 0x7fb502a7c9893d7fL } }, |
9831 | | /* 61 << 112 */ |
9832 | | { { 0x59b86bcf711479a1L,0xfd4bc4d8c40b44bcL,0x2fae18f5988100c3L, |
9833 | | 0xe4af2f4f615867d7L }, |
9834 | | { 0x7d45e1e8be479e28L,0x547accbda04798a5L,0xe88a85b11c458b5eL, |
9835 | | 0xe144f7f26032f0ccL } }, |
9836 | | /* 62 << 112 */ |
9837 | | { { 0xad5276d33f807365L,0x5b6519e7b318a6eaL,0x5889cbb52d0fcf50L, |
9838 | | 0xdce91cab2bdab4e0L }, |
9839 | | { 0x17b6249f41b78954L,0xc9320b656f10449bL,0xe38a7cc0f264ae8fL, |
9840 | | 0xaab8803e52b85829L } }, |
9841 | | /* 63 << 112 */ |
9842 | | { { 0x63668621dd97973cL,0x5aaedce7d04138c7L,0x8e8e66141762874cL, |
9843 | | 0xd0cefcf4163fc862L }, |
9844 | | { 0x0ebe0048ffed1aceL,0x070c33487a8c2673L,0xb801d1599b0d3fd7L, |
9845 | | 0xf1d55911922d4842L } }, |
9846 | | /* 64 << 112 */ |
9847 | | { { 0xf0acf768680dcbf9L,0x5072b8254f0a51dfL,0x3a74751cd88df9c5L, |
9848 | | 0x9d20f9891cc1a332L }, |
9849 | | { 0x4e90042b6926c34aL,0x5c728b1e00766880L,0xf2e3bfe8f76e9dcbL, |
9850 | | 0xd9822f0a15a125aeL } }, |
9851 | | /* 0 << 119 */ |
9852 | | { { 0x00, 0x00, 0x00, 0x00 }, |
9853 | | { 0x00, 0x00, 0x00, 0x00 } }, |
9854 | | /* 1 << 119 */ |
9855 | | { { 0xbf84db58f51b14b0L,0xdf73ccf5a39a79f0L,0x0ce1e5842b5a1f11L, |
9856 | | 0x841fa6a3185fc400L }, |
9857 | | { 0x94b09c682455c32aL,0x383c9bdebfa71cc3L,0xb63814861e797929L, |
9858 | | 0x33036faf623d0a5dL } }, |
9859 | | /* 2 << 119 */ |
9860 | | { { 0x41b6cf7c90f17cbaL,0x5d655ff430c7c5f4L,0xc64f29d54ccc7f38L, |
9861 | | 0xf28e85316124a79eL }, |
9862 | | { 0x1efa8d5167bf1e98L,0x8610027f5d7a33b0L,0x35fe2bb2cb9a40a4L, |
9863 | | 0xc5cc1bf143d50a0bL } }, |
9864 | | /* 3 << 119 */ |
9865 | | { { 0x84dbc60546e33870L,0x23d8d2e5843c4e1eL,0x69964b5e4cf8b569L, |
9866 | | 0x2a5228e8e0c546a5L }, |
9867 | | { 0x4c0467ed96d6e111L,0x25764cdfa12bd298L,0x92a3e7fafbaaad46L, |
9868 | | 0x08ac1d36d12fa469L } }, |
9869 | | /* 4 << 119 */ |
9870 | | { { 0x60ae2bbfa32106c2L,0xef155b2a3e917750L,0x5567c3c713853a30L, |
9871 | | 0xa6be8290eddb305bL }, |
9872 | | { 0x2db58c21ade26eecL,0xfa3c895c003c17edL,0x96ab0de16293f8a2L, |
9873 | | 0xbd2365ecac3710c6L } }, |
9874 | | /* 5 << 119 */ |
9875 | | { { 0x93ea85536aa24f73L,0xf75140d0e0410c40L,0x760cfa2faff0f7f2L, |
9876 | | 0xc6dfb3c73e580d68L }, |
9877 | | { 0x25fc2091c16d39e2L,0xa05b0c8119e1d5e2L,0xd4d223d862bbec7aL, |
9878 | | 0x11a93775f293f34aL } }, |
9879 | | /* 6 << 119 */ |
9880 | | { { 0x9ab03e73e194c642L,0x607b7106789e3c85L,0x952aab024bdacd55L, |
9881 | | 0x31ca3ee221cc6084L }, |
9882 | | { 0xd3149b2b1c6b93f9L,0xcbc5ef3bead930f8L,0xed04984f22872630L, |
9883 | | 0xef5d052d6c4b6fe2L } }, |
9884 | | /* 7 << 119 */ |
9885 | | { { 0x808ae6c06010ffa2L,0x88b6fcd81143166aL,0xa27802635ab945ecL, |
9886 | | 0x4777b4aa36db5012L }, |
9887 | | { 0x2156bf83059aa3c7L,0xcbef6fb72a660260L,0x189fa2218b366ce5L, |
9888 | | 0xd6f5bdaa08290914L } }, |
9889 | | /* 8 << 119 */ |
9890 | | { { 0xd2028d0557028677L,0x90eebeebce9aabdfL,0xab977aee06d4e5d0L, |
9891 | | 0x7a98c527f9361873L }, |
9892 | | { 0xe49b1251b7c2474dL,0xcdaf2a365f3e7b02L,0x638bcaf46fe54af1L, |
9893 | | 0xfec426241dac06b7L } }, |
9894 | | /* 9 << 119 */ |
9895 | | { { 0x422be2253741a88bL,0x1f3b82c35304f139L,0x101eab8e181c2fc2L, |
9896 | | 0x8522738e5898163cL }, |
9897 | | { 0x0372d05f2d2bac1bL,0xb65c786c1d1f3c42L,0xbd59694b64e2f5b3L, |
9898 | | 0xf1c424bf24c5671bL } }, |
9899 | | /* 10 << 119 */ |
9900 | | { { 0xda738cf51eafe37bL,0x503eac2430dd7c2bL,0xf9b7b7a511dd77afL, |
9901 | | 0x0ade03afe9dcfe7cL }, |
9902 | | { 0x489bd34af479e3b5L,0x993ab403030a33f3L,0xaef322bf9fb64068L, |
9903 | | 0xa47cc71b0e27f110L } }, |
9904 | | /* 11 << 119 */ |
9905 | | { { 0x1c445554efab99c8L,0x7c3c51e7a7f10e58L,0xaa8b43ee78a87474L, |
9906 | | 0x037d63972418475aL }, |
9907 | | { 0xc9c751fe10324911L,0x3d65d9e03e0797d4L,0x98b68d2b7dea2a63L, |
9908 | | 0xa211ed3bf4afca19L } }, |
9909 | | /* 12 << 119 */ |
9910 | | { { 0xe19ff8f8c63b9e75L,0x43f6b4fc0d7d130aL,0xdba3385d7c8490b7L, |
9911 | | 0x97889df70252c14aL }, |
9912 | | { 0xfccfca86b2f18b9fL,0xf092ff9ec3a87422L,0xf96dd67567474838L, |
9913 | | 0x039e82875bad2e9fL } }, |
9914 | | /* 13 << 119 */ |
9915 | | { { 0x7ed85e7052e041f6L,0x3d6ef1e7cfdeb19fL,0x9f9fe3990d9ac66eL, |
9916 | | 0x5825e7bf16cb8554L }, |
9917 | | { 0xecffdf90d954a4d5L,0x8617ffdd20678fc5L,0x3e974054666df77bL, |
9918 | | 0x748379d1b5d92788L } }, |
9919 | | /* 14 << 119 */ |
9920 | | { { 0x46a609112da32c0aL,0xb2e1ac32b2676ca3L,0xfb74093f17614dc6L, |
9921 | | 0xf44939e43f27f965L }, |
9922 | | { 0x4656a402c922422bL,0xd60a55ba3ff5c56fL,0x0d061b41ab9aa62eL, |
9923 | | 0xc9ceacfeaca3acd2L } }, |
9924 | | /* 15 << 119 */ |
9925 | | { { 0x056d5718d946003bL,0xf8530d6d2c7815f3L,0xbae14342706536b8L, |
9926 | | 0x45c96dda2b901188L }, |
9927 | | { 0x386d88b6c64ed946L,0xb70170226c00f1c2L,0x28519811ec8988dfL, |
9928 | | 0x3b011fe25a05cffcL } }, |
9929 | | /* 16 << 119 */ |
9930 | | { { 0x4f581d47515f954cL,0x145f925b7f470a40L,0xfee6b6b0736feaafL, |
9931 | | 0xf90744af2ea5743bL }, |
9932 | | { 0x4d8e8ceaa2f36f56L,0x4239a6cee3ed4007L,0x0906b5bdd515e6dbL, |
9933 | | 0x536229908ac973d1L } }, |
9934 | | /* 17 << 119 */ |
9935 | | { { 0x472ceb94eb2fe229L,0x0775ed416a121363L,0xc0492e07761ddb38L, |
9936 | | 0x80c24d51aef9be2fL }, |
9937 | | { 0xa2a3982bdcba73a1L,0xe0d839784e26d062L,0x794959a8cd41c930L, |
9938 | | 0x7d2a88d770131161L } }, |
9939 | | /* 18 << 119 */ |
9940 | | { { 0x48f93fc3f4f966daL,0xf92691a0ed5b6487L,0xc5a93e5dada2c1fcL, |
9941 | | 0x4a7aca524b7d9243L }, |
9942 | | { 0x810aba93d7c5598bL,0x98f9ead225109638L,0xe8c6e893a388481aL, |
9943 | | 0x56e96b9be91ce74bL } }, |
9944 | | /* 19 << 119 */ |
9945 | | { { 0xfa1e5dc3d935f591L,0x985bb06c555eb816L,0x6478c518c4d14e69L, |
9946 | | 0x48afbdbcc7f47349L }, |
9947 | | { 0xbde9093326fed96cL,0xf9b96f41cd468186L,0x22de6a29730e8518L, |
9948 | | 0x7a3dc912915db842L } }, |
9949 | | /* 20 << 119 */ |
9950 | | { { 0x8d13b665fc1f9449L,0x6e9932a9dd4bba75L,0xa90ce8e5564083daL, |
9951 | | 0x8a7cf362bbf7989dL }, |
9952 | | { 0x652eccb71b07ee2fL,0x0c0dcf1a6857a141L,0xa87ec410b7bfb43eL, |
9953 | | 0xaebdb7e782b8d179L } }, |
9954 | | /* 21 << 119 */ |
9955 | | { { 0xeb3bc468625a24ddL,0x7e45e47b463b1f89L,0xc301353500c75a48L, |
9956 | | 0xafea920d13778807L }, |
9957 | | { 0x0d1e927722dcef16L,0xa2a10f6786cecfd6L,0xad40e29cd7160bf2L, |
9958 | | 0xe78e6589eac1265eL } }, |
9959 | | /* 22 << 119 */ |
9960 | | { { 0xd3a243100c62c041L,0x4d27344a6c03c747L,0x0b19e4a67d3ee9d1L, |
9961 | | 0x9cf2eccdcd90de33L }, |
9962 | | { 0x673a9d1ffda636a9L,0xb7349981a86ee501L,0x11ca1e49e43766edL, |
9963 | | 0x0806af6fe3ff3b08L } }, |
9964 | | /* 23 << 119 */ |
9965 | | { { 0x213043388a01f119L,0x58a6d3bef3cb268fL,0x40ceaccae37d7851L, |
9966 | | 0x18694595ef5b81e8L }, |
9967 | | { 0x35678ed784bad32aL,0x4f280f92d1624256L,0xdecb1f1efb28709cL, |
9968 | | 0x2a7f3048164911d7L } }, |
9969 | | /* 24 << 119 */ |
9970 | | { { 0x32551d31579d8a41L,0x754c7c2460a5ee33L,0x2c53fbff6a88f85fL, |
9971 | | 0x6ad0bda72c7a36a0L }, |
9972 | | { 0x8b3674f815724d6cL,0x614727ceb9b7b34aL,0x384fba9882ca9cd7L, |
9973 | | 0x8ef4343c0c566025L } }, |
9974 | | /* 25 << 119 */ |
9975 | | { { 0x5645fefb64886c98L,0x702befb30f5c29e8L,0x6d74a7e046de1523L, |
9976 | | 0xcb2bcdb9b1302163L }, |
9977 | | { 0xe65cff39ab4ca69bL,0xeacb7103f2d4f6ecL,0x15826c2d1770d3efL, |
9978 | | 0x38b008f13f710600L } }, |
9979 | | /* 26 << 119 */ |
9980 | | { { 0xc68450cb4bc7dccbL,0xb5f11b269e5f2400L,0x2af58e9e9c3a833bL, |
9981 | | 0xb60e2672a058abaaL }, |
9982 | | { 0xe891bf8c75b080c0L,0x5b09b2762434bf38L,0x0d90a040700b8739L, |
9983 | | 0x995cb042e69f4a0bL } }, |
9984 | | /* 27 << 119 */ |
9985 | | { { 0xe30df0a144a56b84L,0xbaf92d161ead5a62L,0xe214a0626e0193a4L, |
9986 | | 0xd41de5bce9758b9eL }, |
9987 | | { 0xcf214213732d82d5L,0xaa1421f6f949f07bL,0x5f38c91ef7fb101cL, |
9988 | | 0x47ce2ec22a3e41e4L } }, |
9989 | | /* 28 << 119 */ |
9990 | | { { 0x6bb34768240c7897L,0x80ff54ea7b45473eL,0x16acd40f82fe5aacL, |
9991 | | 0xa3e76f524350449fL }, |
9992 | | { 0xf7a3579eacacbeb9L,0x9791e0e07bc40732L,0xb26da7b5bc58cb9dL, |
9993 | | 0x11d9fc80987e18f4L } }, |
9994 | | /* 29 << 119 */ |
9995 | | { { 0xc3c189a81d8e0d34L,0x3011097c2d42e0b5L,0x4e38593294ab9371L, |
9996 | | 0x79e0c2ce0c237147L }, |
9997 | | { 0xc9f171227172e6ceL,0xf8d73b1d9b89a008L,0x91690c6ba945995dL, |
9998 | | 0x089eb941c15306c6L } }, |
9999 | | /* 30 << 119 */ |
10000 | | { { 0xee5f526d12ac8df5L,0xf1dd23f73bf94c65L,0x594ceaac81a3cb0eL, |
10001 | | 0x07d41d3b9757cc8bL }, |
10002 | | { 0x9eb0081dfc5603d5L,0xfb5d329857bd230cL,0xf2c0402ecde3f845L, |
10003 | | 0xa2defd6741e8aba6L } }, |
10004 | | /* 31 << 119 */ |
10005 | | { { 0xb300802a2dd9573dL,0x64e401a560c1ded3L,0x19d4a6778ab1d3d8L, |
10006 | | 0x3c2092f2cca04f74L }, |
10007 | | { 0xf4827ba5ac40056aL,0x49d4cf229c09ddc2L,0xb2b00f6bdbf20277L, |
10008 | | 0xc9ac48d45b281e9bL } }, |
10009 | | /* 32 << 119 */ |
10010 | | { { 0x648d667432efbbceL,0x64a6c2b3e9639719L,0x38c0465730662e7dL, |
10011 | | 0x15d1d7ca352c9184L }, |
10012 | | { 0x70e8630ccc3020ccL,0xe4b56c9cb09f038fL,0xdb9cb5edfe76a744L, |
10013 | | 0x4c85f0206947b988L } }, |
10014 | | /* 33 << 119 */ |
10015 | | { { 0x7e50012629d8add4L,0xdbcfd295bfaf6d7eL,0xc1a1c22838df80beL, |
10016 | | 0xcfa6272af606ce3dL }, |
10017 | | { 0xbf2a57208e0af540L,0xb9c544fd5b599ab0L,0xd6dc994dd0a22c9aL, |
10018 | | 0xa8a12acfd23e4c0eL } }, |
10019 | | /* 34 << 119 */ |
10020 | | { { 0x41f7ac85ba588a5eL,0x5425fa00ccdb9687L,0x12fbce76ec9398f0L, |
10021 | | 0x2ad692514f550b9bL }, |
10022 | | { 0x120ff0f2bb318636L,0x9378346c01ecd90bL,0x1b98fe99d0ba149bL, |
10023 | | 0xd69d5462c9c481c8L } }, |
10024 | | /* 35 << 119 */ |
10025 | | { { 0x11c79184959e428eL,0x9de61a8dcff227ccL,0x144dfdcd1e09b860L, |
10026 | | 0x110c3a47f8ebe350L }, |
10027 | | { 0x59e574dcfadf86b0L,0xe6ff6e12cf3b8d30L,0xe2d512fc19c77143L, |
10028 | | 0x6346154360279af1L } }, |
10029 | | /* 36 << 119 */ |
10030 | | { { 0xff65189c32b4d371L,0x022fecca0faf5ba7L,0xd08fe9bf414707b4L, |
10031 | | 0x0ef8af2b722d5fd2L }, |
10032 | | { 0xbef060634e6fa14aL,0x1c41f752cca29177L,0x17dc7e1865091fe1L, |
10033 | | 0x693d72d223f13c18L } }, |
10034 | | /* 37 << 119 */ |
10035 | | { { 0xce88eb02ce8e2d30L,0x7071f98ae972facaL,0xb7388d61549c38eeL, |
10036 | | 0x7cfccee20b788b8cL }, |
10037 | | { 0xdc470705cb93b5e8L,0xea053c18ab96d485L,0x70e96456d634c9b3L, |
10038 | | 0x2c58c20bd5999cf2L } }, |
10039 | | /* 38 << 119 */ |
10040 | | { { 0xcd392b3ca77c1767L,0x14471fab7c4e6bd9L,0x312e154775c905ffL, |
10041 | | 0x45764654ace47038L }, |
10042 | | { 0xa34a0b0e8fc3d697L,0x5d9ad31ad309ed3aL,0xbba340c00918f957L, |
10043 | | 0x768e06e831fd72a1L } }, |
10044 | | /* 39 << 119 */ |
10045 | | { { 0x77e5dd923e1a4a54L,0x0970719f3fdbc1e1L,0xd4f1da6fb0371fe2L, |
10046 | | 0x3635f433fd7f895aL }, |
10047 | | { 0x0e8e40e6411c8e6fL,0x31d126bdec18103cL,0x415a0cc1c299d7ccL, |
10048 | | 0xdf528e7b3a8e97f1L } }, |
10049 | | /* 40 << 119 */ |
10050 | | { { 0x4551a8c7eed95e91L,0x8de8988832bcfb03L,0x25da4f5f2eac5c3aL, |
10051 | | 0x6d0b2e255f88d63fL }, |
10052 | | { 0x8d158d14575d6145L,0xe5601a6b345f62b0L,0x6f951699113c6895L, |
10053 | | 0x79e29fd5b87e50efL } }, |
10054 | | /* 41 << 119 */ |
10055 | | { { 0xf1ab215cd5fa51ffL,0x4fc5c4eaaf2c3094L,0x1baeda402c006042L, |
10056 | | 0xcdfcc37c3e30e75fL }, |
10057 | | { 0xdd64e5dd467f57ebL,0xa5b1373122902d21L,0x856866dd1c52cb7bL, |
10058 | | 0x05cf0f7a16a08caaL } }, |
10059 | | /* 42 << 119 */ |
10060 | | { { 0xa46e8a55533b4d09L,0xfc8039984e073af1L,0x8e3825c8e0d589c3L, |
10061 | | 0x505e8e5d4c1daef3L }, |
10062 | | { 0x9f8363b1c5f3db12L,0xe7d4670074f569e2L,0x551fd2ed4d68461aL, |
10063 | | 0x26248da5a8bbe83dL } }, |
10064 | | /* 43 << 119 */ |
10065 | | { { 0x8d90c47f65681dbdL,0xe726d25e2200ba6bL,0xa2fe408f65a3bc9bL, |
10066 | | 0x94a804579c443b57L }, |
10067 | | { 0x95f7f02407364677L,0xe9d9bc87daf0fb34L,0xe90825485588e979L, |
10068 | | 0xede1f94da0e61ff2L } }, |
10069 | | /* 44 << 119 */ |
10070 | | { { 0xcb89a1e845e1c230L,0xee014c2350a15304L,0xf25d8ffa2bab57e1L, |
10071 | | 0x8a92068026223c6eL }, |
10072 | | { 0xc5abb7afaadf7e6aL,0xcb57c8939e7d8da5L,0x839bcda07d589a91L, |
10073 | | 0x1fa774c077e82027L } }, |
10074 | | /* 45 << 119 */ |
10075 | | { { 0xeca669cfba6504d7L,0x7bf095446845e47dL,0x5eb6c33e607b3641L, |
10076 | | 0xf445556e64bab450L }, |
10077 | | { 0xed0b1c0286096fdeL,0x2c5ba6668ea41693L,0xe578b31537ec248dL, |
10078 | | 0x97ef44fef64ed28fL } }, |
10079 | | /* 46 << 119 */ |
10080 | | { { 0xfa5a6c46ce419462L,0x29336dc99cce80e9L,0x9e9054b9eee7617fL, |
10081 | | 0xcea9a100f3d51cbaL }, |
10082 | | { 0xc3cce5e813267ec6L,0x650c8383a4e807e7L,0x1338e22e9b2726dcL, |
10083 | | 0x220c50b2bf79b47aL } }, |
10084 | | /* 47 << 119 */ |
10085 | | { { 0xe160d496a0e0962aL,0xe1a26460e1ed5cdcL,0x9a1ed8c331427c62L, |
10086 | | 0x65ef5300e99a096aL }, |
10087 | | { 0x38abea5f4e3ad558L,0x03bb15e90880ba0cL,0x1e6dda7e0141b036L, |
10088 | | 0xd31b08bf5bf37669L } }, |
10089 | | /* 48 << 119 */ |
10090 | | { { 0x948e036668da20d2L,0x36998a244108fe36L,0x7606e6edf9d6563bL, |
10091 | | 0xcf7cbdd3e42172baL }, |
10092 | | { 0x2335a9a4a1265b99L,0x64776cdc30ac3f69L,0x04040362a59b595eL, |
10093 | | 0x82df96b92cbc03cdL } }, |
10094 | | /* 49 << 119 */ |
10095 | | { { 0xe9d18c7f6cea2796L,0x3112c4f6e1ea7e35L,0xf9cbc2055f8a786dL, |
10096 | | 0x36cc6d422097da0dL }, |
10097 | | { 0x540933502153e665L,0xebe9db0fce937bb9L,0x9d1a5972d95942f8L, |
10098 | | 0x81c1f94ad4bd5c74L } }, |
10099 | | /* 50 << 119 */ |
10100 | | { { 0x61dc7318aa04152eL,0xdf636db195e5ec9fL,0x64a80d4648090850L, |
10101 | | 0x2b37679ece890a30L }, |
10102 | | { 0x9f46d5b9ff6025e3L,0x6eed5a44f24534ddL,0xc56b5cb1f740a84bL, |
10103 | | 0xb4641c28228cc826L } }, |
10104 | | /* 51 << 119 */ |
10105 | | { { 0x676289beaf62b943L,0xe3f3810c1eae5409L,0x73613f3204b5be78L, |
10106 | | 0xe6359179398b556cL }, |
10107 | | { 0x6a342b12c0263f77L,0x6b093bbdc10a6db5L,0x8f3fc90d29832fb9L, |
10108 | | 0xb3f2d8fcff03b2ffL } }, |
10109 | | /* 52 << 119 */ |
10110 | | { { 0x1de7bd1c64457331L,0x0a03a06b43bb1380L,0x6720cc3d8bf17419L, |
10111 | | 0x2627c7da33938d5aL }, |
10112 | | { 0x204da0588d98f34cL,0x80e29f4651cbd284L,0x11b22dd4a46f93d5L, |
10113 | | 0xd7341655e971a61aL } }, |
10114 | | /* 53 << 119 */ |
10115 | | { { 0x36a748b7ee69f782L,0xa374002094f08ac0L,0x383fb245c36099f3L, |
10116 | | 0xa7cb0ef900137fdcL }, |
10117 | | { 0x5371052f6e1dd2e5L,0xed3ab7b57976a1d3L,0xb0119c0d9df822e6L, |
10118 | | 0xafd2a477358685d1L } }, |
10119 | | /* 54 << 119 */ |
10120 | | { { 0x82879cb04ae1103cL,0x61cd6ca894385be6L,0x7c551809d85d4a62L, |
10121 | | 0x9632ac5fb318d965L }, |
10122 | | { 0x67baad2ce1340605L,0x39c2c8c7ac6ed4f7L,0x42c4a7b171211c2fL, |
10123 | | 0x43c778bb9bf758f6L } }, |
10124 | | /* 55 << 119 */ |
10125 | | { { 0x2dc8fc39f519acb2L,0xd3c30a6d08eff177L,0xf889c0215144484bL, |
10126 | | 0x01b82327ca376af3L }, |
10127 | | { 0x168a0b2fd3e71253L,0x5e92c6ba3f9ff89dL,0x8c74c1325b4c6844L, |
10128 | | 0x707c4a4033de6858L } }, |
10129 | | /* 56 << 119 */ |
10130 | | { { 0xb13f6abd9c36dd9eL,0x4baaef529b3aa9f5L,0x0a4fa929cd156392L, |
10131 | | 0xde0f19566506f42fL }, |
10132 | | { 0xe43dd7f0150d4ee7L,0xf7afe7db7247f552L,0x9abc8d1c9072b450L, |
10133 | | 0x5d0645d5c9a8e159L } }, |
10134 | | /* 57 << 119 */ |
10135 | | { { 0x863d3e8f01c6f17aL,0x3a0575acdf080690L,0xcad62d872b0fb150L, |
10136 | | 0xa1f54744625c35c6L }, |
10137 | | { 0x7d3bcec341fe59ecL,0x0fd3e40e169f1e04L,0xbde8c8272ed9aa4bL, |
10138 | | 0x71562ee613046c6eL } }, |
10139 | | /* 58 << 119 */ |
10140 | | { { 0xaf049c5ce9acac7aL,0x7efec06c261dd422L,0xa530fbfd095564c4L, |
10141 | | 0x000c0c822a57af79L }, |
10142 | | { 0x9f79868f2ce1315cL,0x0dd994531b5d575eL,0xf1a494191e534cfdL, |
10143 | | 0xc7de8756ed7e8b39L } }, |
10144 | | /* 59 << 119 */ |
10145 | | { { 0xef61f5c83ed2ccb2L,0x032ee76634af2a15L,0xe0692ed59f69ae9dL, |
10146 | | 0xd34fc2d5f64900dfL }, |
10147 | | { 0x1c51c950aca6d51bL,0x10ae0fb2a7717dfbL,0x9fa305f7a7ec7ca8L, |
10148 | | 0xb215a8abb5728214L } }, |
10149 | | /* 60 << 119 */ |
10150 | | { { 0x62628fdf8819505bL,0x3cefd86c004ba54eL,0xa17bed74c571da3dL, |
10151 | | 0x362dfef693a5faa5L }, |
10152 | | { 0x1bee6899f8aeea05L,0xd7bf7e3116f18b7aL,0x3f3cf39d1cb7685cL, |
10153 | | 0x1df41f23e2e57c8eL } }, |
10154 | | /* 61 << 119 */ |
10155 | | { { 0x8f62ecb8e2fd94f1L,0x652099c94c30a178L,0xaa2454e14262e9e6L, |
10156 | | 0x7f0d440f2015d4a9L }, |
10157 | | { 0xa2c76313bb5b39faL,0x46e57ab21ab47bb3L,0xd181f4448697e682L, |
10158 | | 0x55db129e33273dfeL } }, |
10159 | | /* 62 << 119 */ |
10160 | | { { 0xda188361e71d029fL,0x3e3e19dab5def631L,0x7431f513087ad30bL, |
10161 | | 0x2537887e9f27c84eL }, |
10162 | | { 0x0c228c62ac9df89dL,0xdcd2c5e910031289L,0x5cc767820321d1b6L, |
10163 | | 0x4e460bdf6cb3d600L } }, |
10164 | | /* 63 << 119 */ |
10165 | | { { 0x6f356aab9a870166L,0x21aecb3b497d4ac0L,0xd981a4b0f0495ef1L, |
10166 | | 0x615e8bff0fb7704bL }, |
10167 | | { 0xc148e8ea8478bf12L,0x7011ec5b364eee52L,0xd9075965f692bc12L, |
10168 | | 0x3019c824e622ad51L } }, |
10169 | | /* 64 << 119 */ |
10170 | | { { 0x349e4873ec83c953L,0xb4f59fb33a21ef0aL,0x3872d31440f7d93eL, |
10171 | | 0x479e1d02c2568c82L }, |
10172 | | { 0xd7e4dc9a65d43d22L,0xcc068e81e775efa8L,0xb78ccae9326defa6L, |
10173 | | 0x8f92b2962da64956L } }, |
10174 | | /* 0 << 126 */ |
10175 | | { { 0x00, 0x00, 0x00, 0x00 }, |
10176 | | { 0x00, 0x00, 0x00, 0x00 } }, |
10177 | | /* 1 << 126 */ |
10178 | | { { 0xb721f8d5dea227eeL,0xf48c766c3dda8ba0L,0x0583d94be43e3520L, |
10179 | | 0xebda36c9e1d898b6L }, |
10180 | | { 0x1808286a6627adaaL,0x19c4c6209938368eL,0xe0dbd707f750949fL, |
10181 | | 0xcadf4bea0cf356d9L } }, |
10182 | | /* 2 << 126 */ |
10183 | | { { 0xf5de21262dc890a7L,0x76b7b67595aa75a3L,0x475fc1432a070b32L, |
10184 | | 0x7429a6468e31d68fL }, |
10185 | | { 0xec3a9aaa09be3dcaL,0x07e119a9af780ed7L,0x6212562564fd96c4L, |
10186 | | 0xb571494fe8e80577L } }, |
10187 | | /* 3 << 126 */ |
10188 | | { { 0x955ee3495228d735L,0xa04ef2bb8fc5d4b6L,0x0c5328913600814fL, |
10189 | | 0x41f1f63759f85bd4L }, |
10190 | | { 0x72f1d731e3dcdfb4L,0x28a4ddb93aa5edb3L,0x116a68e1f702dcdbL, |
10191 | | 0x1975bc423bde657eL } }, |
10192 | | /* 4 << 126 */ |
10193 | | { { 0x7b9f561a8a914b50L,0x2bf7130e9154d377L,0x6800f696519b4c35L, |
10194 | | 0xc9e65040568b4c56L }, |
10195 | | { 0x30706e006d98a331L,0x781a12f6e211ce1eL,0x1fff9e3d40562e5fL, |
10196 | | 0x6356cf468c166747L } }, |
10197 | | /* 5 << 126 */ |
10198 | | { { 0x80e87329429945a7L,0xc619fe17b7ab06adL,0x9116bc2e6fd86b17L, |
10199 | | 0x64a41877b9116aacL }, |
10200 | | { 0xe3ed867e32ba4f3bL,0x013e263b68b4ebe6L,0x305ebfe7e779e4ecL, |
10201 | | 0x5536d45d50178251L } }, |
10202 | | /* 6 << 126 */ |
10203 | | { { 0x5abb939f8873a93dL,0x0263ba488c4c9cb1L,0x36764b8d6b78a4b5L, |
10204 | | 0x205bb45d28bebc1eL }, |
10205 | | { 0x16df4bb0ae89dcd5L,0x85994670316fadb7L,0x71f756643af3c724L, |
10206 | | 0x43e30313e8520c9cL } }, |
10207 | | /* 7 << 126 */ |
10208 | | { { 0x3ab9ec5429e91921L,0xd931436ee3299f47L,0xb56da7bfb89cd49fL, |
10209 | | 0x90623412cff7f637L }, |
10210 | | { 0x751e7944714022deL,0x86bcc3422c338262L,0x85f6a9bc314c23bbL, |
10211 | | 0xedbe8e741f0a3991L } }, |
10212 | | /* 8 << 126 */ |
10213 | | { { 0x7a748d63003b40ddL,0x8a6824023951b7aeL,0x41e92dd9704a91b0L, |
10214 | | 0x2dfb3eb9858cd3eaL }, |
10215 | | { 0xc3c2af35f5094667L,0xffa287dc7435aa2dL,0xd03f39797462714fL, |
10216 | | 0xdb550f67203e5b0eL } }, |
10217 | | /* 9 << 126 */ |
10218 | | { { 0x6df7801be241ed0cL,0xb52c0a3fb642fd3aL,0xdd35e1cf1977a29dL, |
10219 | | 0x8e793d60a661404cL }, |
10220 | | { 0x393e2b876b9442aeL,0x123b893a2aa6b707L,0xeec88682db8d306aL, |
10221 | | 0x92c2d93dce847879L } }, |
10222 | | /* 10 << 126 */ |
10223 | | { { 0x725f1e7d80ec63b4L,0xcb8f53d974113de0L,0x2132a072b819f730L, |
10224 | | 0xfabf3c47b4c61f06L }, |
10225 | | { 0x79c1bc862cb243d8L,0x442833c5757e3600L,0xfa4f69ad4e918b8aL, |
10226 | | 0x5816f3f373bc193eL } }, |
10227 | | /* 11 << 126 */ |
10228 | | { { 0xc671c7a430f40e93L,0x6041aa035c51cfa4L,0x3a7135492fac25d7L, |
10229 | | 0xf505323724a7df01L }, |
10230 | | { 0x99efb34ad29f4ec5L,0x7481052371d2cb1bL,0xacefaf8ff3a029abL, |
10231 | | 0xc82e4f5a069d9545L } }, |
10232 | | /* 12 << 126 */ |
10233 | | { { 0xd759549dd3341d80L,0x079e9fa731a2a0a4L,0x75da56c72a164f75L, |
10234 | | 0x9313ef5abeefc182L }, |
10235 | | { 0x0aa365b6bde130adL,0x4426597798411180L,0xa65373f7aa26466aL, |
10236 | | 0x1a43bee62e2cf404L } }, |
10237 | | /* 13 << 126 */ |
10238 | | { { 0xe029ed6db37a9390L,0x5c2351ca34970065L,0x7c4f3c301c46d72cL, |
10239 | | 0x09ce770a7262ce20L }, |
10240 | | { 0x0cfeefaddd58a9f8L,0x06797d79408addaaL,0x76a87c0605aed325L, |
10241 | | 0xe002b6728a46d0c6L } }, |
10242 | | /* 14 << 126 */ |
10243 | | { { 0xcf77ea3105b6e1a4L,0x3bf900bca5d92b00L,0x05996d8cdccfe144L, |
10244 | | 0x73d4dfd7951a602cL }, |
10245 | | { 0x033f39590ed8885dL,0x8332dc7336400817L,0x963722952d8ebda7L, |
10246 | | 0x3fb32cf6b5da0c67L } }, |
10247 | | /* 15 << 126 */ |
10248 | | { { 0xcb521d653e36defcL,0xc293d170a67f00f0L,0x6a3a2fd4fb35bd06L, |
10249 | | 0x537937dd0bd490a5L }, |
10250 | | { 0x898d94bcc274ee5aL,0xdc70f9bd7515b5e7L,0xa94673db3749900fL, |
10251 | | 0x3e6e2af049ad3b04L } }, |
10252 | | /* 16 << 126 */ |
10253 | | { { 0xb9dae1b8207eecd9L,0xd3f50d63ec07b47cL,0x02b4d909364292daL, |
10254 | | 0x919a6df3fc35975bL }, |
10255 | | { 0xb41ed4aab616452eL,0xe58689cd5cfc6abbL,0xeac325d9f389b025L, |
10256 | | 0x45ceb1e68f255de5L } }, |
10257 | | /* 17 << 126 */ |
10258 | | { { 0xda4a07155e46cdffL,0x8a860a550f6c761cL,0xe13952745fe1eef1L, |
10259 | | 0x256e296af7bc535fL }, |
10260 | | { 0xf3d4b06c2755dd27L,0x3ced6ee5bb530c26L,0x73249ad796ba599dL, |
10261 | | 0x5de8dab3e8a66027L } }, |
10262 | | /* 18 << 126 */ |
10263 | | { { 0xa4892840c2f97e01L,0xbe0dbe49427945beL,0x6fd86a7ba57d4e4fL, |
10264 | | 0x7f56c3e004a2e778L }, |
10265 | | { 0x734708ccffc13d49L,0x3c1d9413788d31feL,0xfe85545b8d3e4c36L, |
10266 | | 0xcca441fc8815129cL } }, |
10267 | | /* 19 << 126 */ |
10268 | | { { 0x2e2095e215e3d172L,0xc0c8d3c464b43e81L,0x084557abc68e802eL, |
10269 | | 0xa6b7359030d239b9L }, |
10270 | | { 0x61ec00a9b67b0548L,0x630059deb8ab138dL,0x800abf0136ca9888L, |
10271 | | 0xe26d644a9517149eL } }, |
10272 | | /* 20 << 126 */ |
10273 | | { { 0x775d5a9858bf21d9L,0x00eb6846dbeab706L,0x9d714c9f8232d477L, |
10274 | | 0x7cde2c3eb70f91c2L }, |
10275 | | { 0xe6d0a8cee9871f0cL,0x902bc60b19e8444aL,0x8651ed57ff0cd43aL, |
10276 | | 0x4418cc07d480d222L } }, |
10277 | | /* 21 << 126 */ |
10278 | | { { 0xb5e0c7e3f3cbe01dL,0xbf4a899fe43adcdfL,0xb89b022c78f8f79dL, |
10279 | | 0x79cbbf97f42c797cL }, |
10280 | | { 0x46d73cc559d53cc1L,0x99f683e64ffca67cL,0x527c16ec98865e5bL, |
10281 | | 0xc844b70ff68f8ee0L } }, |
10282 | | /* 22 << 126 */ |
10283 | | { { 0xcffcccc0c9854994L,0x4aafcc1574926d5dL,0xeb084832835aea59L, |
10284 | | 0xcb317b5f20df21cfL }, |
10285 | | { 0x3c45b084e43d1853L,0xd12c9411b93b9167L,0xb090198219316bdfL, |
10286 | | 0x76bfa2acd11ab5e2L } }, |
10287 | | /* 23 << 126 */ |
10288 | | { { 0x22bf23cb4e84d3e9L,0x96ec9f8ed1572d4aL,0x31594ae4080ba39aL, |
10289 | | 0x105b5677adc6bae4L }, |
10290 | | { 0x501e45dda644e230L,0xeb571f2764573126L,0x1fc3d478a36ac1efL, |
10291 | | 0xbd5fcee8327c7da7L } }, |
10292 | | /* 24 << 126 */ |
10293 | | { { 0x1b2b188534a70bfeL,0xcfa421f7a36345c5L,0x2f33f4cc6f322ae9L, |
10294 | | 0xdac0bb754dabb7a0L }, |
10295 | | { 0xfba35536923cea0aL,0xc16f73e56d9cb50cL,0x23216dc625812c96L, |
10296 | | 0x82945e673d7ab424L } }, |
10297 | | /* 25 << 126 */ |
10298 | | { { 0x829577b20796605dL,0x47fa09785026907fL,0x997011692d0f68b2L, |
10299 | | 0xa0d24be4bc1e46dbL }, |
10300 | | { 0xcf409c2e2eb2ac98L,0x7b59c3c597f3ff5cL,0x2f4576bd81ed7f02L, |
10301 | | 0xe41339e510399c22L } }, |
10302 | | /* 26 << 126 */ |
10303 | | { { 0x562d77442ecce0e6L,0x1afc38699a1656c2L,0x5714820e86200621L, |
10304 | | 0xee36f7b6566da805L }, |
10305 | | { 0xe66941046e5a2a06L,0xd4390b748caabaabL,0x9db2099893b0d142L, |
10306 | | 0xe1811b817926baf3L } }, |
10307 | | /* 27 << 126 */ |
10308 | | { { 0xd578f2ed08bc1965L,0x9a7e31e235f00d5dL,0x3725b65cc9007327L, |
10309 | | 0x157cfe9529c36f38L }, |
10310 | | { 0xb1c3d0f123a521d7L,0x3e65fb7cb8a9ae08L,0xed48bcf9690b8f78L, |
10311 | | 0xe5f46b2c90d5dfdeL } }, |
10312 | | /* 28 << 126 */ |
10313 | | { { 0x14aebb350b6da2b6L,0x91fef3367b65ee55L,0xdb77b57b1a0a004dL, |
10314 | | 0x1c59b62823aef1f7L }, |
10315 | | { 0xa79c8c893ec88d18L,0x52cca38a4fde31f1L,0xe2f64a94cf4e30b6L, |
10316 | | 0x2b4cdbd737ff1cbbL } }, |
10317 | | /* 29 << 126 */ |
10318 | | { { 0xcb542f680b566632L,0xedab69a6676fae9fL,0xc4531e0bc45cb6f0L, |
10319 | | 0xf967ec6eb88fe4a5L }, |
10320 | | { 0x4ab4e6452919785dL,0x2dcaefca7a17b20fL,0x65c89c05da7afaa0L, |
10321 | | 0x59ea00e94dafc6a2L } }, |
10322 | | /* 30 << 126 */ |
10323 | | { { 0xa6362bf88eb43733L,0xae2dddc112011803L,0xbbf516b10bb2aaf8L, |
10324 | | 0x9f2627e9d8de21a3L }, |
10325 | | { 0xaf30439a43a20b74L,0xac7e07b04ce86408L,0xc54cdff27c10566bL, |
10326 | | 0xe3ee06226279af0aL } }, |
10327 | | /* 31 << 126 */ |
10328 | | { { 0x57d09708f7770f95L,0x6f0ba223123e020bL,0x6c123fb96cd41559L, |
10329 | | 0xc54f5c656fb30f58L }, |
10330 | | { 0x5e168af3bbf7101cL,0xf6d6dbdbce974455L,0xa001f3b988313516L, |
10331 | | 0xe6e4a26ddfb4ac20L } }, |
10332 | | /* 32 << 126 */ |
10333 | | { { 0x74e7b7fc506f7dcdL,0x985e85465d037d69L,0xff00a4da1ec8d374L, |
10334 | | 0x8c339ae3505b4180L }, |
10335 | | { 0x78bcd4f23a5f71c4L,0x2fb4d99f67ac3e9fL,0x7dd25aa6ee65dad1L, |
10336 | | 0x2fd63fc2b62c34dcL } }, |
10337 | | /* 33 << 126 */ |
10338 | | { { 0xdee42663f7700192L,0x9925a2062c3248e9L,0x4a55a55d2ea9f052L, |
10339 | | 0xe1d6efcd16ac67feL }, |
10340 | | { 0x7f82246d9bb02415L,0x2fadbb9b72cd7a6cL,0xe977a037712004dcL, |
10341 | | 0xe8c449b2b3c9f4b9L } }, |
10342 | | /* 34 << 126 */ |
10343 | | { { 0xa2cb838a861ea138L,0xfcbe219a356ae003L,0x15c024961838504fL, |
10344 | | 0x58cef52c0769d5dcL }, |
10345 | | { 0x7e94ff7db3fef999L,0xf55501e004e4fc87L,0xcdb5fd36c05430dcL, |
10346 | | 0x49872453778c5cd4L } }, |
10347 | | /* 35 << 126 */ |
10348 | | { { 0x4c4855ff1b5e7aceL,0x89fc6309b159fe74L,0xaca004043c9ebbe2L, |
10349 | | 0x4c030591866bf867L }, |
10350 | | { 0xa7e8f5999b18a535L,0x9203ebfc5c0a0a44L,0xbf1b30cc463207c9L, |
10351 | | 0x90b590019d135aebL } }, |
10352 | | /* 36 << 126 */ |
10353 | | { { 0xedc44d04794cb3abL,0xb3baa4750ad7be70L,0xb7d8c7c56c09fc91L, |
10354 | | 0x2a362d71f45a5bd6L }, |
10355 | | { 0x36e308c38cf3e5a6L,0x4caf2cd10a649c31L,0xbae328f5b3c501c7L, |
10356 | | 0x2efeca0383a0eeb3L } }, |
10357 | | /* 37 << 126 */ |
10358 | | { { 0xc3a275857086093aL,0x78e865156d686d83L,0x18cf3ac1edf0def6L, |
10359 | | 0x2f6a56da5a1d6cf4L }, |
10360 | | { 0x350c822e30084873L,0x82d4808765843610L,0xa4e752c1f393ecd1L, |
10361 | | 0xe3034d6deeb74f25L } }, |
10362 | | /* 38 << 126 */ |
10363 | | { { 0x1793727cb8b0c5c7L,0xde561ca67ec9ce37L,0xd9eddc506190f612L, |
10364 | | 0xb52dc77cca89a191L }, |
10365 | | { 0x990010b24bf1e87aL,0x073136b215b91691L,0x5011126115546011L, |
10366 | | 0x17d488640196cb8dL } }, |
10367 | | /* 39 << 126 */ |
10368 | | { { 0x7ec44104fd61d824L,0x213550eff088d3dbL,0x5e8d321facbbb608L, |
10369 | | 0xc317c1f839312b64L }, |
10370 | | { 0x7a4a1cd027de4329L,0xbfb33f07f9b135e4L,0xcf82b63959b94480L, |
10371 | | 0xca62d95770b118e6L } }, |
10372 | | /* 40 << 126 */ |
10373 | | { { 0x95b2ff032b1d45fbL,0x472dd56c2570686cL,0x4fbae8a0d3d50e32L, |
10374 | | 0xa31c65dd65796a08L }, |
10375 | | { 0xe261f6f8037ce5bbL,0x3b7816bfd042073bL,0x6d0ebbeebfba45f8L, |
10376 | | 0xf2d99979c9522e36L } }, |
10377 | | /* 41 << 126 */ |
10378 | | { { 0x707f2a1877cb5b0cL,0x954b5a91dfc02b82L,0x246b9a55c20ae04bL, |
10379 | | 0xa14867759dd79f93L }, |
10380 | | { 0xd4092830c11f6d8eL,0x74ca482f267a4dabL,0xe3c80bb69c58706fL, |
10381 | | 0x245f04b7099154c1L } }, |
10382 | | /* 42 << 126 */ |
10383 | | { { 0x3a4b25b5f149259fL,0xeac735f865ccbe91L,0x260e749f572788a4L, |
10384 | | 0x30b9c736e34d40cbL }, |
10385 | | { 0x65981d50f524a17fL,0x6c462f5dcddbbefcL,0x245bfa18a1e57312L, |
10386 | | 0x3b4b003c46dc8ae0L } }, |
10387 | | /* 43 << 126 */ |
10388 | | { { 0xb19587975d262a35L,0x83f6e604ffafd8c5L,0x60843f9cbc2e0801L, |
10389 | | 0x11d85ac1c783ad3dL }, |
10390 | | { 0x1ce477dd2e016e43L,0x2b628f06fb4a0201L,0x897b7f62bf4f77d7L, |
10391 | | 0x52e04f2210277d8aL } }, |
10392 | | /* 44 << 126 */ |
10393 | | { { 0x171323515f3f0d6aL,0x13c9e06459a96c4dL,0xc73892b086f05ae8L, |
10394 | | 0x94545c8a4212ad65L }, |
10395 | | { 0x0591b0913dc4984cL,0x06845698f2ec1ca9L,0xb0e1e1d0b3ac894bL, |
10396 | | 0x962ca1daa7c915cdL } }, |
10397 | | /* 45 << 126 */ |
10398 | | { { 0xb0640de895331bd5L,0x2544348a478c1b6dL,0x3c3bd4155647a67eL, |
10399 | | 0xd7970ef85b20e5fbL }, |
10400 | | { 0xd6e6f6bee06b4fa6L,0x5ae29e5e871390ffL,0xc79241887256daa1L, |
10401 | | 0xfae5e50159f61750L } }, |
10402 | | /* 46 << 126 */ |
10403 | | { { 0xfac83eced1ef1d2bL,0xa567060c554736daL,0x697571f41dba8bc7L, |
10404 | | 0xd3fc5aeb553fbcfcL }, |
10405 | | { 0xe665970a9755fab0L,0x30fbe8d9b5537da8L,0x7a7d001397c2b5f0L, |
10406 | | 0x9fea5c9c1b700a02L } }, |
10407 | | /* 47 << 126 */ |
10408 | | { { 0xcfc0166ee9a377daL,0xcc78f3d8ac502375L,0x803fbbdaba64c3b7L, |
10409 | | 0xe53c7d6b4d70cc42L }, |
10410 | | { 0x6b927bba5189b7daL,0x2c86253b8b05322aL,0x333e7491f3869873L, |
10411 | | 0x9308348a4b492879L } }, |
10412 | | /* 48 << 126 */ |
10413 | | { { 0x39bfa2a8b9ab0a36L,0x560f80a618f71ac7L,0xca9b265a45e24412L, |
10414 | | 0x6796bece8e2ddac3L }, |
10415 | | { 0x87f1eee517bfcabbL,0x624db4d9195c9bb2L,0xf7110fcf2b4db6d2L, |
10416 | | 0x41d3fb0db432d19dL } }, |
10417 | | /* 49 << 126 */ |
10418 | | { { 0x3344ea7d73554a3cL,0x4c968dad830a3881L,0x5df71ad2687f71ecL, |
10419 | | 0x4c4df41f259cbc07L }, |
10420 | | { 0x8d12d2e0eb541d72L,0x94c0dab6a20fb162L,0x9bbc25241eda0516L, |
10421 | | 0x696c924edd7871ffL } }, |
10422 | | /* 50 << 126 */ |
10423 | | { { 0x97efb4951db84dc1L,0x7d293ce503cbfbf8L,0x79e25d3ebc48d007L, |
10424 | | 0xc900a5808591a1eaL }, |
10425 | | { 0xf0277a09d37508c3L,0xbf583aa4e84557bfL,0x2e258d60d8228591L, |
10426 | | 0xb037e17c117da3a9L } }, |
10427 | | /* 51 << 126 */ |
10428 | | { { 0x4b35355e243d588dL,0xbe6dfa36cce2539eL,0xa57d58234843c9daL, |
10429 | | 0xe3d91511f59348faL }, |
10430 | | { 0xb5d1395c2791c08fL,0x04129e5df6fdcc93L,0x635a63ba0f53087bL, |
10431 | | 0x66da6becf237612eL } }, |
10432 | | /* 52 << 126 */ |
10433 | | { { 0xc3d052e522755420L,0xc37a9b47d7a1bd35L,0xf19613f39b347e02L, |
10434 | | 0xee84dbacbbda7ae0L }, |
10435 | | { 0x603be21d3a85f2e5L,0x5f0927c2ff679451L,0x799013ad8674f8d7L, |
10436 | | 0x17b248d300f465e5L } }, |
10437 | | /* 53 << 126 */ |
10438 | | { { 0x2a29135f96ca19deL,0xc8e56e32957d1844L,0x935e7eafa11a4349L, |
10439 | | 0x717308e1741b73d3L }, |
10440 | | { 0x40477acb7233a9dfL,0x7a78dac2d2c83b72L,0xfb8824612c5d79d2L, |
10441 | | 0x984505fb76f44fa0L } }, |
10442 | | /* 54 << 126 */ |
10443 | | { { 0x5cdded16dfdc4a9dL,0x4cbea1353f0ff597L,0x38daf27a8a79078eL, |
10444 | | 0xb4b0085dce1bbf0eL }, |
10445 | | { 0xb6b0d8d786f19fd0L,0xe0fdcdae1778ca6aL,0x257c7df90b26b9b5L, |
10446 | | 0x4b82422c141dcafcL } }, |
10447 | | /* 55 << 126 */ |
10448 | | { { 0xcf8a2dad4d3cf148L,0xf1a4e2925f17e914L,0xc40755bb60de8f64L, |
10449 | | 0x412449f88718f49dL }, |
10450 | | { 0xdabb99688737b6cbL,0xdd94ae816236ea05L,0xb5223cd005c5aca2L, |
10451 | | 0x6b81bd33762210edL } }, |
10452 | | /* 56 << 126 */ |
10453 | | { { 0x1f0921db5d4164dfL,0xf6fdb08f8d4a35dfL,0x1efcf3c7c602d4d8L, |
10454 | | 0xa2ecd9e6057f3aa0L }, |
10455 | | { 0x13a6c576eb4fcba2L,0x16425bd413130559L,0xa9eac848416b4968L, |
10456 | | 0x617c32a92119600eL } }, |
10457 | | /* 57 << 126 */ |
10458 | | { { 0x1a84eca50bb49e40L,0x2ed98d25bc2310b3L,0xad191f885edbc719L, |
10459 | | 0xd8d667d50376ae08L }, |
10460 | | { 0xb855a8eef0b4fe29L,0xc3fe79fbe75354f7L,0x1ee9b9e6403b651eL, |
10461 | | 0x99ddbb3c2baa2c6eL } }, |
10462 | | /* 58 << 126 */ |
10463 | | { { 0xc6a84c47eccce37dL,0x71a05a24038c9821L,0x8d32194c9a6353d8L, |
10464 | | 0x14cd3ea6cf0a1462L }, |
10465 | | { 0x40d70aa27bdbe521L,0x200f0b2195c80cd8L,0x4c79dab93efdf656L, |
10466 | | 0xafa44e4ca981d8b5L } }, |
10467 | | /* 59 << 126 */ |
10468 | | { { 0x811b9387a7111315L,0x0255a2347590c35dL,0xb18e87c0f1af875cL, |
10469 | | 0x0a930b41ced5cc1fL }, |
10470 | | { 0x6ff4fca496094a55L,0x74095b886a9dc519L,0x44492273afa4894aL, |
10471 | | 0x54f16f88a2e6f56eL } }, |
10472 | | /* 60 << 126 */ |
10473 | | { { 0xd613fbb434485e31L,0xc716c370d2464242L,0x215358371644f2e1L, |
10474 | | 0x7719474bbe417c3aL }, |
10475 | | { 0x31bfb1582045d2beL,0x10855524f50e6828L,0xdb9490ad98a67af1L, |
10476 | | 0x41a34aa61c281ff3L } }, |
10477 | | /* 61 << 126 */ |
10478 | | { { 0x87109ba8a8bf2580L,0x70c2e9362d7eb52dL,0xefe9fe2cfb3fc109L, |
10479 | | 0xfd3f4d7b780526bfL }, |
10480 | | { 0x6f9a48d89ed0c3bcL,0x0aec850f5d8205b2L,0xa378f8c61c6a13efL, |
10481 | | 0xac02f3679d10e11bL } }, |
10482 | | /* 62 << 126 */ |
10483 | | { { 0x79c6b3963b9bbf54L,0xfb586d7142779c58L,0x5d975728889eecb3L, |
10484 | | 0xda2ec867434537d8L }, |
10485 | | { 0x15a3c9c362f31813L,0xc4b357c83c30433eL,0xf26d281fc464e972L, |
10486 | | 0x99fa49e74512ffcfL } }, |
10487 | | /* 63 << 126 */ |
10488 | | { { 0x456db1b2725b9753L,0xec501760b42941c5L,0xd822a9d57d6d406fL, |
10489 | | 0x4bb7a8207bbcd4d6L }, |
10490 | | { 0x079b1fe0cc96a5b7L,0xf83e575524aa4901L,0x317cdd1d20da7fcbL, |
10491 | | 0x487fd70693b04a81L } }, |
10492 | | /* 64 << 126 */ |
10493 | | { { 0x43e0671fe43332efL,0x71c5dd5b441c2218L,0x4c1d2c1fe922ba18L, |
10494 | | 0x558e9c2fd619cb67L }, |
10495 | | { 0xd04acde01ec51255L,0x824b3740af824507L,0x62d1b9de744c6afeL, |
10496 | | 0xb99616dbab0d52e3L } }, |
10497 | | /* 0 << 133 */ |
10498 | | { { 0x00, 0x00, 0x00, 0x00 }, |
10499 | | { 0x00, 0x00, 0x00, 0x00 } }, |
10500 | | /* 1 << 133 */ |
10501 | | { { 0x5ec9c0847f6a1cdaL,0x68839c14823d6350L,0xcbbb678b03bad007L, |
10502 | | 0x6a7272554788854eL }, |
10503 | | { 0xc747fea2ef5c7294L,0x748527784875e775L,0xad7b8e8baa61a893L, |
10504 | | 0x18ff333540da98b1L } }, |
10505 | | /* 2 << 133 */ |
10506 | | { { 0xa51e9f4f5529ec80L,0x0420274a6fd146d1L,0xbbf1ab668e300c2cL, |
10507 | | 0x2d0b3a9d41653feaL }, |
10508 | | { 0x2be2180f23a495b9L,0x6ef3c3745415d73bL,0x1d3e1ec8c67ae4fcL, |
10509 | | 0xa5839e9c98d31f5fL } }, |
10510 | | /* 3 << 133 */ |
10511 | | { { 0xf54114d637d77c01L,0xc2e18a4b41023c87L,0x6fa6c3d39e6e1221L, |
10512 | | 0x9a6cf4e2410e48f9L }, |
10513 | | { 0xe0881140b181828fL,0x17c6df2978cb7833L,0xc1eb8df1a7cd2367L, |
10514 | | 0xb78f1c8dca89f922L } }, |
10515 | | /* 4 << 133 */ |
10516 | | { { 0xf25d4777d0d42887L,0x4b4892182b7a2707L,0x1b4dbf9b2d3966feL, |
10517 | | 0x4bac5f4841ae2becL }, |
10518 | | { 0x68db27331733964eL,0xa10c5dff6a814a69L,0x84ebdaf0a9898348L, |
10519 | | 0x60e46823a74da3f4L } }, |
10520 | | /* 5 << 133 */ |
10521 | | { { 0x452b6b1d93420649L,0x9dd6452b6ed5d7f6L,0x4a9b8fa1e687b577L, |
10522 | | 0x1e203166854c49d7L }, |
10523 | | { 0xf523667ea45feba8L,0x9ecb4d445f9f4a56L,0xb8655a5f7fb1c641L, |
10524 | | 0x5516401a87c26201L } }, |
10525 | | /* 6 << 133 */ |
10526 | | { { 0x246777540d2face6L,0xd9f7da7fa8ade59cL,0x27e3ad777fa7df06L, |
10527 | | 0x35a4caf0f60395adL }, |
10528 | | { 0xfaef231ce4e701acL,0x9e13597623755489L,0x7caa73ab43554ad3L, |
10529 | | 0x9d8554d994f0d878L } }, |
10530 | | /* 7 << 133 */ |
10531 | | { { 0xe42040cea85b81d5L,0x4d28aca740fa9631L,0x076fed3d7e04b755L, |
10532 | | 0xdde3d3471129ce4cL }, |
10533 | | { 0x77f785d71179af95L,0x4782f842f74e0672L,0xbd068cc10b4597cbL, |
10534 | | 0x3d6d4b2a8f4c65b7L } }, |
10535 | | /* 8 << 133 */ |
10536 | | { { 0xe0642d18f9066d73L,0xbe1d2ec3a098b3bfL,0xefee860c21b4954cL, |
10537 | | 0x4d7c4e6d27b629bbL }, |
10538 | | { 0xcd8f1e038e8b81b0L,0x4a80168e7fe77eb0L,0x4d977591ce247c73L, |
10539 | | 0x9b30c9f2857e0356L } }, |
10540 | | /* 9 << 133 */ |
10541 | | { { 0xc02495ba2940e9deL,0x357299f5b6d2b72cL,0x132b4c6306a9c2e4L, |
10542 | | 0xe90a90c5084d8c67L }, |
10543 | | { 0x0f0c9e94ace1b471L,0x769457e1f1e3d8f6L,0xc4c30ce3d71118c6L, |
10544 | | 0xdb5fd8d66b652a3dL } }, |
10545 | | /* 10 << 133 */ |
10546 | | { { 0x090df1074def5978L,0x1abcfa322d8a5f3aL,0x2976b012a34b70dbL, |
10547 | | 0x90f541d4fa5e75b9L }, |
10548 | | { 0x50c991a937a6e9a0L,0xf51e8693903bffdaL,0xa2697ab48d344776L, |
10549 | | 0x77134fe8e34a7850L } }, |
10550 | | /* 11 << 133 */ |
10551 | | { { 0x723e5d3da72597acL,0x4a49847a4269aff7L,0x75ad9088443b8db6L, |
10552 | | 0x9b7d00d5a51d80a1L }, |
10553 | | { 0xce1c7049e5e04ac2L,0xb8c2793c2a792bdeL,0xde9220a0e410e175L, |
10554 | | 0x4b3a9b859401bc2aL } }, |
10555 | | /* 12 << 133 */ |
10556 | | { { 0xc7eaf2c5f037d15fL,0x410b627ec7afbf8bL,0x243cdb79d7bedf50L, |
10557 | | 0x04813b51be6512d0L }, |
10558 | | { 0x2fb77cab26beca2fL,0xbb6019757baa3099L,0x8c327e5940bda4d0L, |
10559 | | 0x85b9c76413c23444L } }, |
10560 | | /* 13 << 133 */ |
10561 | | { { 0x26960d9c08ed59d8L,0x9b76dced4a72854dL,0xca2f579afdc3b7f5L, |
10562 | | 0xac27028a6cae8b4fL }, |
10563 | | { 0x48fd1a4942326aa5L,0xb95fdb4f5759c63fL,0x27655358e0a96abfL, |
10564 | | 0x26d38b6436ed53b0L } }, |
10565 | | /* 14 << 133 */ |
10566 | | { { 0x03cfdd49fc6d1f3eL,0x20af588615adaba0L,0x74c6c943754dd268L, |
10567 | | 0xe7d52cdf7977717eL }, |
10568 | | { 0x9a81d4403b414dd2L,0x697c7b4ad790a4c7L,0xb1b7735fedbce1f2L, |
10569 | | 0xbd90e63fbefa7210L } }, |
10570 | | /* 15 << 133 */ |
10571 | | { { 0x2e2b0dad7ab207d1L,0x89abbd839b373211L,0x45d34ebc8e35e2bbL, |
10572 | | 0x67ba3ac5064856f6L }, |
10573 | | { 0xb5527dbea52c7676L,0x906fb21771294012L,0x65fca552ab305260L, |
10574 | | 0x89ac52a314ee193bL } }, |
10575 | | /* 16 << 133 */ |
10576 | | { { 0x673aead488c06b1cL,0xea8af42049d9d4e8L,0xa7b4409acb9e86bfL, |
10577 | | 0x49f76f715414aa56L }, |
10578 | | { 0x6603c8018c13857aL,0x7c26f1c2ce742384L,0x042fb2242a665719L, |
10579 | | 0x2619f254e175b0c6L } }, |
10580 | | /* 17 << 133 */ |
10581 | | { { 0x5b3b71ea7c092397L,0xd9087023f18c29aeL,0x48dbecbd2008841dL, |
10582 | | 0x658c998e22622bbaL }, |
10583 | | { 0x38a2cc6d578e463fL,0x7002380fcbb88796L,0xc545baff71695101L, |
10584 | | 0x064a0500ce65b49cL } }, |
10585 | | /* 18 << 133 */ |
10586 | | { { 0x3651d926b1ae0398L,0x33c9ea8f4ace0e86L,0x481fab1b1a6debd7L, |
10587 | | 0x65b58a794d365031L }, |
10588 | | { 0xb73ec84b811e8f01L,0xb6aa395551342ef2L,0xdbce3d9f9efcdbccL, |
10589 | | 0x5791b35fcfbf2a4fL } }, |
10590 | | /* 19 << 133 */ |
10591 | | { { 0x670241586eaad1f0L,0xe8dbaa880063ae25L,0x6d2051cc9fedc144L, |
10592 | | 0x136c2ab118b5e86dL }, |
10593 | | { 0x3b2d3d63c89241d4L,0x843cfa3d4a82dec6L,0x64fa5860f0a5f163L, |
10594 | | 0x2d9b60951ae3be83L } }, |
10595 | | /* 20 << 133 */ |
10596 | | { { 0x75f97753b01a91e5L,0xd374dfa2cd0d8cacL,0xe5dbffef8eb72ba0L, |
10597 | | 0x61049807d7b8a624L }, |
10598 | | { 0x9c8b5e93a39277d3L,0x6e5ba5933b1cc635L,0x8bd0a69e21cde059L, |
10599 | | 0xd0a19b53071ec0c8L } }, |
10600 | | /* 21 << 133 */ |
10601 | | { { 0x8c87785ad1bb088dL,0xd801d5a67e249c39L,0x002ee5988688914fL, |
10602 | | 0x52b014fc6b68413dL }, |
10603 | | { 0xaf1d7e88507946dfL,0xa38e436f84ccebf1L,0x37d9b946aa86a4b6L, |
10604 | | 0x55da0db6c506a394L } }, |
10605 | | /* 22 << 133 */ |
10606 | | { { 0x856928c302b900bdL,0x9eb926a37bc6a67bL,0x2f4d392dd0f39446L, |
10607 | | 0xb12f276101c49daaL }, |
10608 | | { 0x07b8d23f13874ac7L,0xa473ef4c1efaa157L,0x550765f6df8cf2abL, |
10609 | | 0xeba88504d23d3750L } }, |
10610 | | /* 23 << 133 */ |
10611 | | { { 0xf05791d42434fa2eL,0x8c0899c34e2a05eaL,0x40a53bdd898bc9b0L, |
10612 | | 0x6c255f6f40c8bf7cL }, |
10613 | | { 0x203db8c5e164b910L,0x070baaeec1c4de69L,0x896606295df5c0a7L, |
10614 | | 0x0b9c2f4bdb364b99L } }, |
10615 | | /* 24 << 133 */ |
10616 | | { { 0x012c699444bb5a79L,0xf5928e0c9bd1fdc0L,0xd30b8a973ce49191L, |
10617 | | 0x52792b85e3a05dd3L }, |
10618 | | { 0x0da089161d3d69c3L,0x931759e8ed59a28dL,0x412148d96ca05485L, |
10619 | | 0xb1517aa03d6e9964L } }, |
10620 | | /* 25 << 133 */ |
10621 | | { { 0x15204ba9de75812dL,0x49e377e05698b03fL,0xe7790d4105c9072eL, |
10622 | | 0xf79adbeddba28e80L }, |
10623 | | { 0x6aad9f964644840dL,0xc3f3d0322e0a695bL,0x3eb739d2aa4aa737L, |
10624 | | 0x45c6b66537d8d520L } }, |
10625 | | /* 26 << 133 */ |
10626 | | { { 0xc3ba24089917cb85L,0x1c729ffbd7bf6304L,0x56b9935ecc160245L, |
10627 | | 0x42379567e03cb227L }, |
10628 | | { 0x2dc20028b66bfc5dL,0xfaf7d22495de8ed3L,0xa75411583214024eL, |
10629 | | 0x2f7755d850aabdb6L } }, |
10630 | | /* 27 << 133 */ |
10631 | | { { 0xb74ac27b7ea9b93aL,0xc1c5a8fea2e0516cL,0xe9f4f2226b64f56fL, |
10632 | | 0xf3c0c7fb8fbc4a64L }, |
10633 | | { 0x43ac0ac2a16edc23L,0x0e26e4ad6d086e9eL,0x5b8ef9495bc0961fL, |
10634 | | 0xa0d16d39d2b77c29L } }, |
10635 | | /* 28 << 133 */ |
10636 | | { { 0x50b43efa78845d09L,0x3899e1becb3acdd9L,0xa93a28e318d4ec31L, |
10637 | | 0x18a4eeed0a66fe47L }, |
10638 | | { 0xd7a7bf4687333831L,0xbbf5c1a8dbe14699L,0xf2a3da7380b9c9d0L, |
10639 | | 0x133c138a82bceb4eL } }, |
10640 | | /* 29 << 133 */ |
10641 | | { { 0xcfd4b885335a923aL,0xf9b69b3f8fc82f3bL,0x08908b608784c35cL, |
10642 | | 0x76bf1082d843b66eL }, |
10643 | | { 0x1ba730bfbb57a641L,0x3bb4a8d734e9f095L,0x0342d32bc28d5414L, |
10644 | | 0x8fb13cbfcfd99e1aL } }, |
10645 | | /* 30 << 133 */ |
10646 | | { { 0x3845e5071d02f47cL,0x4d77af8914ef0b26L,0x934544805ef578d9L, |
10647 | | 0x23138c57bdc408ecL }, |
10648 | | { 0xdac833ed47cf528aL,0xd18e986529d7cf20L,0x93208743cdc8e55aL, |
10649 | | 0xbfe570c8724025a0L } }, |
10650 | | /* 31 << 133 */ |
10651 | | { { 0xb75c3de03aee838eL,0x29304886e0f21f23L,0xe46792ab82791dafL, |
10652 | | 0x3d798d923f124394L }, |
10653 | | { 0x2446dc8129a6fb5eL,0x2446e5b3bd68c23aL,0xe1b5c76d689b1176L, |
10654 | | 0x3fb666619a852082L } }, |
10655 | | /* 32 << 133 */ |
10656 | | { { 0x8d6fbcc7d9b45206L,0x00ab735deabc4640L,0x428c7017810e37d1L, |
10657 | | 0xa436587227af5718L }, |
10658 | | { 0x8f1958230a910146L,0xc13ccdd70ff76704L,0x59d34ad644d6f1c8L, |
10659 | | 0xd3dfa6b2795b61b4L } }, |
10660 | | /* 33 << 133 */ |
10661 | | { { 0x1ec0801012eea439L,0xafbbea327b2cd52aL,0x99428f9a68cfe98bL, |
10662 | | 0x4ff9a5bc95628fe7L }, |
10663 | | { 0x212baeb77ac41e9aL,0x595cf03f29206e86L,0x4b62a429733f37c4L, |
10664 | | 0xa1fac4ae4d3cb6a6L } }, |
10665 | | /* 34 << 133 */ |
10666 | | { { 0x2d6cb0e61aed3c45L,0xf67034934e6da48dL,0xa0036fb42d13f9c1L, |
10667 | | 0x7db5078a7fe3ea2eL }, |
10668 | | { 0x152a1fc0d5992163L,0xd63270e9744b44ffL,0x56730292f177c075L, |
10669 | | 0x470f5e7217c3e08cL } }, |
10670 | | /* 35 << 133 */ |
10671 | | { { 0xbf53d223ecb927f5L,0xc80fbc1b629e8aa1L,0xed59f18624d72477L, |
10672 | | 0xc266f5a638811583L }, |
10673 | | { 0xc6f37bc17c404560L,0xd58c10e50c5b68e9L,0x696de793916e8f3cL, |
10674 | | 0x7298af8e56a7781fL } }, |
10675 | | /* 36 << 133 */ |
10676 | | { { 0xaf063553b16679d5L,0xa509f4494316ed7eL,0xe3d6ec43b53cc0e2L, |
10677 | | 0x9e957ce016ba34cdL }, |
10678 | | { 0x2b0c7fbc7857d80dL,0xc2c671fe3daffbf3L,0xebcbf0120d251d41L, |
10679 | | 0xedcfe7f7ffef45f5L } }, |
10680 | | /* 37 << 133 */ |
10681 | | { { 0xf5b66555334a1734L,0x4354ccfae505f4bbL,0x6ee0b5b952a59260L, |
10682 | | 0xb7bb64c15a699a93L }, |
10683 | | { 0x85e34c0e6de84422L,0xca9bacfe8bbe0560L,0xa08c780f952a52d2L, |
10684 | | 0x0e794b053919176bL } }, |
10685 | | /* 38 << 133 */ |
10686 | | { { 0x8a496598154d282dL,0xb2999dc4dc34508cL,0xfc304fe39db4410aL, |
10687 | | 0xbc09aee4e1bc07c8L }, |
10688 | | { 0x1d2f0147ef6d497dL,0x3b9e06e096488fc1L,0x37635d0434cb97a7L, |
10689 | | 0x9a294b898757f955L } }, |
10690 | | /* 39 << 133 */ |
10691 | | { { 0x38c568ac59508819L,0x854370fc46e15b82L,0x9f676404ee57f0b4L, |
10692 | | 0x268854cc8f45319cL }, |
10693 | | { 0x4256d25c63746274L,0x0a5538210496cf9cL,0xb6bf27de15e2fc17L, |
10694 | | 0x6848f83a99bd538aL } }, |
10695 | | /* 40 << 133 */ |
10696 | | { { 0x00e15d0a1685e460L,0x6fae8b37155d00b6L,0x277126d8dc561456L, |
10697 | | 0x331c02e56bf70c63L }, |
10698 | | { 0xc9b7da4e515f39b7L,0xb7e0d135966c2060L,0x9a801457c401f926L, |
10699 | | 0xcc560825ffb0137eL } }, |
10700 | | /* 41 << 133 */ |
10701 | | { { 0xbcfac5f85c7e38fcL,0xd542c1a4174e97baL,0xbea67b1e0bb507b8L, |
10702 | | 0xf008cc2c3b782fd8L }, |
10703 | | { 0x865834da0aa329bcL,0x0fd746f22b6db70aL,0x8e72e5f765fbe439L, |
10704 | | 0xac23881d005295eeL } }, |
10705 | | /* 42 << 133 */ |
10706 | | { { 0xc2c45fefad9d013cL,0x0df7427771c311f9L,0x69caf9676bb32b66L, |
10707 | | 0x9fbd32ffb8e4a3e5L }, |
10708 | | { 0x39d94e3178c0c439L,0x7489a8f0ffa4b625L,0x59af0ec38aac717cL, |
10709 | | 0xdd3b470ea12d996fL } }, |
10710 | | /* 43 << 133 */ |
10711 | | { { 0x6d60cb978da3fef0L,0x5164d722044d64fcL,0xefe06eadfc21305bL, |
10712 | | 0x72b4c45eceed89c1L }, |
10713 | | { 0x072cf1dc8cabf0dfL,0x0a0d7c0ca5371d3eL,0xb13ba7072ae831d5L, |
10714 | | 0x7702c3c5269f189eL } }, |
10715 | | /* 44 << 133 */ |
10716 | | { { 0xfb8e903ec8239fe7L,0x5805c2ef524f213cL,0xdf056e4570645f7fL, |
10717 | | 0xfe10ecfb454c4577L }, |
10718 | | { 0x422126da990dc567L,0x95a5d753bf55cd81L,0x2705a00c8c2688edL, |
10719 | | 0xd079ecb42f8f91afL } }, |
10720 | | /* 45 << 133 */ |
10721 | | { { 0x8cd13fa02b69a2c8L,0x7b0f310a36b657b8L,0xa7247cfd251c595bL, |
10722 | | 0xda352dc85a36e4b1L }, |
10723 | | { 0x588d2e88f43312deL,0xef80a48fdb9f6decL,0x395836343fb2d6e3L, |
10724 | | 0x0fbfa7695a46bc46L } }, |
10725 | | /* 46 << 133 */ |
10726 | | { { 0x3570a3f2fe701598L,0xd1d0d091ac815fbbL,0x4d7bfaddd7f2b1b2L, |
10727 | | 0x509298d466496326L }, |
10728 | | { 0xb7accafccad9fb50L,0xcdbcb7629c592deeL,0xfe47a3b16888482aL, |
10729 | | 0x312be210e8b8c133L } }, |
10730 | | /* 47 << 133 */ |
10731 | | { { 0xc474b07f00167f93L,0x19457000a637f35eL,0x3eafa14e5005d8a1L, |
10732 | | 0x2a84723aadf25f29L }, |
10733 | | { 0x2c9d7ebba741cf9eL,0x94024dc2c3913acfL,0xac2db91d97b98f1fL, |
10734 | | 0xfb9a050246a7bf92L } }, |
10735 | | /* 48 << 133 */ |
10736 | | { { 0x8874ffb56487a5d4L,0xc02a12b52f53e25fL,0x38654a57416ba8fcL, |
10737 | | 0x226356f20c0b25d6L }, |
10738 | | { 0x34f2eaa66030f2acL,0xb788baa19cea9176L,0x66fbe9f74e912104L, |
10739 | | 0x982ef71d39a69e3dL } }, |
10740 | | /* 49 << 133 */ |
10741 | | { { 0x9f361d17bbe5733aL,0xc79569a01988f31eL,0xf2b96ecb9e0f52feL, |
10742 | | 0xc78e44dc80235136L }, |
10743 | | { 0x96053ab58462ef4fL,0xf83c1f6d81506701L,0xc7313eb1a65c09e9L, |
10744 | | 0xf5dfaa4a4efcf558L } }, |
10745 | | /* 50 << 133 */ |
10746 | | { { 0x8b4819e4e65ede91L,0x5a5824ba6dc0a533L,0x89d18b20b4c930f8L, |
10747 | | 0xaad7a5d8fcefa378L }, |
10748 | | { 0x2ef790c2298dba63L,0x3e4b31b6e90c322fL,0xa257bb8152ce2ee4L, |
10749 | | 0xb8c2966ed39c36bbL } }, |
10750 | | /* 51 << 133 */ |
10751 | | { { 0x13954df8487719c7L,0xcb0f7ae5791b00e7L,0x367a1cadc8d21fafL, |
10752 | | 0x44dd204d3fbd8a7cL }, |
10753 | | { 0x778fdb565f67ec30L,0xfb2887905de5caebL,0x310b4d56ca53300cL, |
10754 | | 0x37dbb7c4325c54b1L } }, |
10755 | | /* 52 << 133 */ |
10756 | | { { 0xc80c83a4fe771ef7L,0xe212050f1c1c1b92L,0x0f12bb88f09c666fL, |
10757 | | 0x8ec5f39610a2eca2L }, |
10758 | | { 0xdaf9699690a22eb7L,0xeb77eee5450de941L,0x13823c5858fb0165L, |
10759 | | 0x2157ba6e31272111L } }, |
10760 | | /* 53 << 133 */ |
10761 | | { { 0x110ee33e2b4f9e7eL,0x7e1b550bf682d48fL,0x8fd8c6c13e17cb9bL, |
10762 | | 0x91cfbcf7e1843894L }, |
10763 | | { 0x5fc643462917b1c7L,0x06f56d0fba86d14aL,0xb8874d88af219f21L, |
10764 | | 0xf8803b3711ab8b0bL } }, |
10765 | | /* 54 << 133 */ |
10766 | | { { 0x7e63cf63be12841eL,0x9c9cc421bc90765aL,0x0264a5971084fa84L, |
10767 | | 0xce260a60252a9bbeL }, |
10768 | | { 0xfaff225c2fefa4f2L,0x02b900ad05bd09b0L,0x631e5cfb11b1b81cL, |
10769 | | 0x4d93de460a193140L } }, |
10770 | | /* 55 << 133 */ |
10771 | | { { 0xd92a710ae3173750L,0xd712d3a1671a3833L,0xbc9caad14116e26bL, |
10772 | | 0xeb24f658a72fbd71L }, |
10773 | | { 0x3986a2079055f802L,0x212446f8e2707793L,0x602541d61721b395L, |
10774 | | 0x4099a2e6b07160c2L } }, |
10775 | | /* 56 << 133 */ |
10776 | | { { 0x765390f62369ce91L,0x2dc376395754d219L,0xbc5523697c018afbL, |
10777 | | 0xca83507735bf6b66L }, |
10778 | | { 0x61b83e4361d4b0a6L,0x8f87f59727cf66c5L,0xace578409357cbf2L, |
10779 | | 0x24834481abe47fb7L } }, |
10780 | | /* 57 << 133 */ |
10781 | | { { 0xa434c950db3c6e47L,0x1f479519aa1da775L,0x338c9cd2f14f9d5eL, |
10782 | | 0x4666ce7e1e75f72eL }, |
10783 | | { 0x4fce4d95e56564e5L,0x0db55ed589e0ff6fL,0x88796e8500190b73L, |
10784 | | 0xfdf6492a454e31d0L } }, |
10785 | | /* 58 << 133 */ |
10786 | | { { 0x30cb3fbeb9ed6e3bL,0x5c796282de8f0544L,0xe11b36bdb6af89bcL, |
10787 | | 0x0a91cf73ec439d95L }, |
10788 | | { 0xbbe74a5e0a93fe1cL,0xcf1f376fa5d75083L,0x6718bce5f7725460L, |
10789 | | 0x6654d7b1a316d17fL } }, |
10790 | | /* 59 << 133 */ |
10791 | | { { 0xdaa925e50393aa3bL,0x81217e189446cdbdL,0x07708483a7afc408L, |
10792 | | 0xa4c76c4f44709dfeL }, |
10793 | | { 0x72557d713a1c412bL,0xeb4c2648b49b0e1cL,0xcdd24b77e4d6c002L, |
10794 | | 0x3384ea5b77113e0dL } }, |
10795 | | /* 60 << 133 */ |
10796 | | { { 0x906fb7486a10a9eaL,0x46cda42e0a3b0e89L,0x10b9096d7ae4ad43L, |
10797 | | 0xe1f239963bf2afeaL }, |
10798 | | { 0xcb50b9410dd82d19L,0x008e593c832d93a0L,0x0b1fb0e6d86a71e0L, |
10799 | | 0x75f2aa6bb1730860L } }, |
10800 | | /* 61 << 133 */ |
10801 | | { { 0xed5d4d7c7efc480aL,0x500b9d8cc76c64deL,0x28904003ec4fc026L, |
10802 | | 0xe41b3f23dec8b315L }, |
10803 | | { 0xa9b5caff70c06860L,0x5cb9a4d128343b2dL,0xec157abd9986a0c3L, |
10804 | | 0xbcad3bc6b5fc67e9L } }, |
10805 | | /* 62 << 133 */ |
10806 | | { { 0x6e64dd2613aa9c17L,0xa347c4a2271aef54L,0x47b26cb9883d90bfL, |
10807 | | 0xe84d9c6ae1c412c9L }, |
10808 | | { 0xd2eacc101c67439fL,0xd7797bb3c61b2b5dL,0x0deda6528ebdb4beL, |
10809 | | 0x9e04455dac3fc2f4L } }, |
10810 | | /* 63 << 133 */ |
10811 | | { { 0xbbfc6e6927c86688L,0xf7cf2947a1715a33L,0xe047a3e347bc6409L, |
10812 | | 0xefeb573a6f2a5b28L }, |
10813 | | { 0xbf3ea3afd105ba3bL,0x5f01b4c2426c6482L,0x778a5240968390b1L, |
10814 | | 0xc9c7162572bcf6a6L } }, |
10815 | | /* 64 << 133 */ |
10816 | | { { 0x698ec2c96fd8b309L,0x512ea17aa055809fL,0x28cb44e78822943cL, |
10817 | | 0x434dc709deb7d3e6L }, |
10818 | | { 0xb8b324d11be76434L,0x7cf24ed3382ff0b1L,0xda8265fe2905e726L, |
10819 | | 0xd57b3915ee6c3abcL } }, |
10820 | | /* 0 << 140 */ |
10821 | | { { 0x00, 0x00, 0x00, 0x00 }, |
10822 | | { 0x00, 0x00, 0x00, 0x00 } }, |
10823 | | /* 1 << 140 */ |
10824 | | { { 0xf9010095d2a819b5L,0x5291aaf948f2f653L,0xfa533907f0afe366L, |
10825 | | 0x88a58ecf8e279e27L }, |
10826 | | { 0x0f077127fae130bcL,0xee9ccf1af8a54c75L,0x38a6783ebed82b6aL, |
10827 | | 0x9a1acb3ded414524L } }, |
10828 | | /* 2 << 140 */ |
10829 | | { { 0xe4e53ceed9c12e2aL,0x11983fc17fc1308fL,0x3eb4d84d892c2d0fL, |
10830 | | 0xa0bfc1ca74499723L }, |
10831 | | { 0x708344d90145176bL,0xbb2988e06f12e75bL,0xdf73ceadada67545L, |
10832 | | 0xf37069d12bb8f989L } }, |
10833 | | /* 3 << 140 */ |
10834 | | { { 0xa24a35e69cc17f65L,0xc49b3e9a89d9abe0L,0x82f403032fc09ae3L, |
10835 | | 0xbffe7d4d002cc587L }, |
10836 | | { 0x5511f4e6424ef713L,0xb86bf654a658f660L,0x623388d91c8baea2L, |
10837 | | 0x60664a7133656759L } }, |
10838 | | /* 4 << 140 */ |
10839 | | { { 0x18996198d8447e16L,0x17195d76662171ddL,0x28cfe6a1f448b8e6L, |
10840 | | 0x8a3c28230658c923L }, |
10841 | | { 0x0c548d899c35e852L,0xadf1cd2f2b378157L,0x999e41aff30113b6L, |
10842 | | 0xf87515a59cf4696fL } }, |
10843 | | /* 5 << 140 */ |
10844 | | { { 0x6c332c559778aa8eL,0x290ae3ead1b8d8b2L,0x3e2bfa0bbf533883L, |
10845 | | 0xe48e37471a523ee2L }, |
10846 | | { 0x4d40f1d550fde3edL,0xb57e695b48710433L,0xa41012581b241f3fL, |
10847 | | 0xa0cabf7b3042cabcL } }, |
10848 | | /* 6 << 140 */ |
10849 | | { { 0x68eb19c7edfea522L,0x68e028b8a400db7bL,0x6cd97bf7a8f03a08L, |
10850 | | 0x09f4d266f442fe36L }, |
10851 | | { 0x1ac77f915d713a1fL,0x356e3a352f58ccb5L,0x31d657f1f8ddc47dL, |
10852 | | 0xfea7aede90092115L } }, |
10853 | | /* 7 << 140 */ |
10854 | | { { 0x2aeba1d24ad49f66L,0x16ff2bad9d40861bL,0x25464f377da225f5L, |
10855 | | 0xa2fe66cc1ffc3f0bL }, |
10856 | | { 0x74074d7fac757f41L,0x5c85d3d1cd0a2c20L,0xccda2a05c974b266L, |
10857 | | 0x5c2e2511cc10a04fL } }, |
10858 | | /* 8 << 140 */ |
10859 | | { { 0x01ea2535510d515fL,0xc861c54c489e7856L,0x9bc8485b680d17bcL, |
10860 | | 0x71472c11819ccc86L }, |
10861 | | { 0xa7ef94850e9b5d8bL,0x698c9fe8d029720dL,0x6ce987d161f50161L, |
10862 | | 0x035f6f329d240bf6L } }, |
10863 | | /* 9 << 140 */ |
10864 | | { { 0xe7c03c9d44ec2bedL,0x0bc4f4a276cf95c5L,0x0722d57c88f014eeL, |
10865 | | 0xae40634876fa941bL }, |
10866 | | { 0x046424df23ee068dL,0xd30b6530e8c130c5L,0x17b69098554f149dL, |
10867 | | 0x887e04f792f95b71L } }, |
10868 | | /* 10 << 140 */ |
10869 | | { { 0x414e7371941c1244L,0x1d48fe5394f1da50L,0xc18bcd896519802aL, |
10870 | | 0xfae7c2d848925019L }, |
10871 | | { 0x0f311ddff2ece2afL,0x7e8e0e080a779f79L,0x47daa5f9b6207944L, |
10872 | | 0xf29dc331efd08d6eL } }, |
10873 | | /* 11 << 140 */ |
10874 | | { { 0x9c096e1923e48f60L,0xbcc6fe538dd36f0cL,0x452e60f9bb86a9caL, |
10875 | | 0xad35f732ed16cf06L }, |
10876 | | { 0xcbdd01a22bf445f7L,0xb7848e94f60ce893L,0x5e65e8ca2939a977L, |
10877 | | 0x304ebedc63cfa5e4L } }, |
10878 | | /* 12 << 140 */ |
10879 | | { { 0x79bae721252cc655L,0xa3b9a4e5c4743792L,0xf32dcfeb36fdba1cL, |
10880 | | 0xadbd0c1f7ac19885L }, |
10881 | | { 0xefb4fb68dc42a2cdL,0x78b1ca372289a71fL,0x7e1f70fe87fc6df4L, |
10882 | | 0x8d02430190a9faecL } }, |
10883 | | /* 13 << 140 */ |
10884 | | { { 0x37c0867246cd4141L,0x3c0fed171a60d8e5L,0xab18bf060f56fea1L, |
10885 | | 0x879ee748372e757bL }, |
10886 | | { 0x84b19b801d280206L,0xa40d7ce3d96ac240L,0x5d493fb1fea42ebcL, |
10887 | | 0x9a5fdafd40d79bbdL } }, |
10888 | | /* 14 << 140 */ |
10889 | | { { 0x790c0b30383b371cL,0x6dae5df9676f8168L,0x101bb4fe4c584948L, |
10890 | | 0xe3d7e99f55faafebL }, |
10891 | | { 0xd2c9aefa134c2e3bL,0x0aa2a71f79e27788L,0x4082f7a67ed0a606L, |
10892 | | 0x843c12bb6a1be308L } }, |
10893 | | /* 15 << 140 */ |
10894 | | { { 0xae72ee7456e9e473L,0xcecde6c1743e16eeL,0x9a06f1057c48ca04L, |
10895 | | 0x79179cd25f822a31L }, |
10896 | | { 0x570d3eebe3530605L,0xbacb30c34c7b03b0L,0x0a8fe2540eea0cb4L, |
10897 | | 0xa052a5552cdf203aL } }, |
10898 | | /* 16 << 140 */ |
10899 | | { { 0xee0315879c34971bL,0x5829eb07e76545cfL,0xb7a3a6ae33a81bb9L, |
10900 | | 0xff42daff49c9f710L }, |
10901 | | { 0x894eae85bffb951bL,0x815fe3e2ce70f324L,0x636564cb428b1f12L, |
10902 | | 0x722e0050a029b0bdL } }, |
10903 | | /* 17 << 140 */ |
10904 | | { { 0xf45cb816d373a65bL,0xf2210e006078d95eL,0xf767d7a620d2924aL, |
10905 | | 0x06d6b55225b66987L }, |
10906 | | { 0x5c4a3999790563a1L,0xcea00a913c85510cL,0x7e37da9cd2db6297L, |
10907 | | 0xfca4735ff67303e8L } }, |
10908 | | /* 18 << 140 */ |
10909 | | { { 0x324ca06eaf76f475L,0x3367845e76391adbL,0x222aa1cea26fe169L, |
10910 | | 0xb15a86657ede94c7L }, |
10911 | | { 0x5b7363426b6a1f33L,0x25db61e18562f392L,0xfd4d720df2066206L, |
10912 | | 0x26ef773f82c555c3L } }, |
10913 | | /* 19 << 140 */ |
10914 | | { { 0xb6e35b3afde6caa3L,0x34eb5e1387fabf4aL,0x4ad6863586236a62L, |
10915 | | 0x2651d3e628510f8fL }, |
10916 | | { 0x88073e34e0873ba6L,0x3becce7022f63746L,0xff8f9b617c08dac6L, |
10917 | | 0xc8b45a9c8c28aa65L } }, |
10918 | | /* 20 << 140 */ |
10919 | | { { 0xe09c063bd87b59dcL,0xf3e4b9efcbbdd4ecL,0x1b6b17934855a43eL, |
10920 | | 0x594d55654ada74acL }, |
10921 | | { 0x10ee400fb410c5efL,0xfc11811335695fe9L,0x766cfe488f75d723L, |
10922 | | 0xc72023ebff63aa76L } }, |
10923 | | /* 21 << 140 */ |
10924 | | { { 0xc503a8589df9a165L,0x9b1099ef851acc4bL,0x9246c61a66202ca0L, |
10925 | | 0xaba9778881390ccdL }, |
10926 | | { 0x3309fa65ba9e2785L,0xbc0388be2220f385L,0x94c01a9e00ddc8baL, |
10927 | | 0xaa54aed9bccfdec8L } }, |
10928 | | /* 22 << 140 */ |
10929 | | { { 0x1a959c58059fc0d6L,0xd0f34c38f518e1c1L,0x38aa2b1db53be8feL, |
10930 | | 0xd95a2a19acdc872fL }, |
10931 | | { 0x97bde382b4140bd6L,0x4084ba9d4cfd5718L,0xed016bfafd22450cL, |
10932 | | 0xf00cdccfa5d1f5bcL } }, |
10933 | | /* 23 << 140 */ |
10934 | | { { 0x905114cc111696eaL,0x1f58a4d33a46e782L,0x899d1856a5e57fa0L, |
10935 | | 0x2518695468c45c2fL }, |
10936 | | { 0x806deb4afa6e3eecL,0x3c358d4865a063a6L,0xce28ed1f3feacdcdL, |
10937 | | 0xef9ee31caaa8e601L } }, |
10938 | | /* 24 << 140 */ |
10939 | | { { 0xddd4fe3d87c1c66bL,0xfc2b063eb3dbfac5L,0x52d37cd020c81dc5L, |
10940 | | 0xb628f163083b5f53L }, |
10941 | | { 0xd92950947e42860bL,0xb877a744307316abL,0xadec0d2d6b8d99b6L, |
10942 | | 0xa75183bd190bc675L } }, |
10943 | | /* 25 << 140 */ |
10944 | | { { 0x2b1e02154ad6bd44L,0xda01ad529e020c66L,0x65afd73d0c2913d9L, |
10945 | | 0x67024b45f0035373L }, |
10946 | | { 0xf501bb4c4d308206L,0xfa020c8877e2e936L,0x662b72bd936476a3L, |
10947 | | 0x07f76845bae57d17L } }, |
10948 | | /* 26 << 140 */ |
10949 | | { { 0x77a43055f34ca404L,0x8e4032944eebc853L,0xe19ee69a402fde89L, |
10950 | | 0x9092acd0fe00df56L }, |
10951 | | { 0x640c035cfb225f92L,0x92d94246dce3aa84L,0x7fe8d3f9971e9886L, |
10952 | | 0xc569905e014b2a74L } }, |
10953 | | /* 27 << 140 */ |
10954 | | { { 0xbafb8c4d7b7c299bL,0x3d289c60d534cd21L,0x95e7032bd311dee4L, |
10955 | | 0xac0c46dd6e8892a4L }, |
10956 | | { 0x9fedef00e5bd6486L,0x3f4d8daa99f703aaL,0x78e47925f0c0ecd2L, |
10957 | | 0x8f143c2bfdac73deL } }, |
10958 | | /* 28 << 140 */ |
10959 | | { { 0x1f88f5a9c14bd094L,0x6cc19e4399d9532bL,0x6e474499639ba66cL, |
10960 | | 0x5d9a283bf5d06b03L }, |
10961 | | { 0xc7e8164faa25dbb5L,0x7ab42a48f03faec8L,0x4135765b647a0d72L, |
10962 | | 0x9562a676e196b571L } }, |
10963 | | /* 29 << 140 */ |
10964 | | { { 0x62cc4c05a720cc20L,0x9ed3f63713fa1ad2L,0xe5816f517f59bac9L, |
10965 | | 0x738e1544b6884359L }, |
10966 | | { 0x83bb266634d0fb02L,0x0e582c6b8014c57bL,0xbb4069ae145e2bffL, |
10967 | | 0xd1965cdf4f5f1d7dL } }, |
10968 | | /* 30 << 140 */ |
10969 | | { { 0xaf77f98b3cead86dL,0x0ba278bd0e51cbd8L,0xf11f20f6ac2ebb7cL, |
10970 | | 0xafd2333fc9992b55L }, |
10971 | | { 0x425dd0e4322472b6L,0x0027a74a0958215eL,0xddb301e74cf7e0e4L, |
10972 | | 0xd0656ed5cbb70c2eL } }, |
10973 | | /* 31 << 140 */ |
10974 | | { { 0xa40f629f0e7662e8L,0xdaa85755e399a5caL,0x4c119aba7297010cL, |
10975 | | 0x4a4a6a43e5df7140L }, |
10976 | | { 0x6d90d303474f7873L,0xc5b0e19cd1f8f867L,0x188bcae64f6dc217L, |
10977 | | 0x51ce999a6777357fL } }, |
10978 | | /* 32 << 140 */ |
10979 | | { { 0xdfc9578b41aeb39fL,0xeeda86fe7dd55c1fL,0xd4b8fc54fb814075L, |
10980 | | 0x12e32a7833a1317cL }, |
10981 | | { 0xeb79cd2b2fd217d1L,0x5f5f20c0dbd07638L,0xfc57643a53dc7d8bL, |
10982 | | 0x65126014f08350e2L } }, |
10983 | | /* 33 << 140 */ |
10984 | | { { 0x737ef5b4871b0d3dL,0x6b7e04ceae3143a5L,0x0e5ab52eb7ae12b9L, |
10985 | | 0x1a956daadb66ee0eL }, |
10986 | | { 0x59657e47eaa7042eL,0xbbc35318bf84a2cfL,0xef55429c78679b8bL, |
10987 | | 0xef92df9d60cb7678L } }, |
10988 | | /* 34 << 140 */ |
10989 | | { { 0x176555801dd267d6L,0x00a3ec71eb0bc1faL,0xafa0a25650514840L, |
10990 | | 0x68c28d0cf161c685L }, |
10991 | | { 0x069f7862b1c766dcL,0x6868a463d5ad4568L,0xf9c3d67070e46d7dL, |
10992 | | 0xd2432cc96c875260L } }, |
10993 | | /* 35 << 140 */ |
10994 | | { { 0x534c3425088cecd9L,0x3f1818e6b4e34c6cL,0x3aedf0a8028f153bL, |
10995 | | 0xe0a1cb9d50d9433aL }, |
10996 | | { 0x9b4e225fe523b764L,0xcba6cba9e5f8542cL,0x59c307e4a8f6b81eL, |
10997 | | 0x36abf4b701bb44fcL } }, |
10998 | | /* 36 << 140 */ |
10999 | | { { 0xf7692c14dd62528cL,0x0d4a8341df57773eL,0xece6957dc9b4f968L, |
11000 | | 0x82eda20052779586L }, |
11001 | | { 0xb902c4882f06ec6bL,0x127dd7ba91a876f0L,0x06eb96d833ad0c13L, |
11002 | | 0xd7394080fc5985ceL } }, |
11003 | | /* 37 << 140 */ |
11004 | | { { 0x624c8f61661aaa4dL,0x6fe10a116717a3e1L,0x6c288c5353168ad0L, |
11005 | | 0x91b8779b8b52d037L }, |
11006 | | { 0x89e664d41b5b0ab9L,0x9f69b44ff30d47d3L,0xfe67cad503176019L, |
11007 | | 0xb83efd48b346a205L } }, |
11008 | | /* 38 << 140 */ |
11009 | | { { 0x63fc4863aeea0c91L,0xbabf9042db56004bL,0xdb19f2eea9917defL, |
11010 | | 0x1d12f2dc54c3fae1L }, |
11011 | | { 0x7bb496af55e36d40L,0x1f6c11f86be63b27L,0x96d79804caf9a5b9L, |
11012 | | 0x03a085c40648051cL } }, |
11013 | | /* 39 << 140 */ |
11014 | | { { 0x3b54c223b56baf4cL,0x04af8c4c559c1fc1L,0x05d55266abd3cebbL, |
11015 | | 0xd2d3ae9bf865e262L }, |
11016 | | { 0x3bd3ca3aedfedc54L,0x30a6ff1c922776c4L,0xfecd88451616a6f2L, |
11017 | | 0x4e7bc2e894948d8cL } }, |
11018 | | /* 40 << 140 */ |
11019 | | { { 0x16e0d824edca784bL,0x84584f9867ea1eeaL,0xeceb14188625626bL, |
11020 | | 0xa487cf9fc34fc1f3L }, |
11021 | | { 0x4ecfedd2a57cec36L,0x08624865d24a0709L,0x47bb19096a48f3eeL, |
11022 | | 0x54c5dd0cc69bc041L } }, |
11023 | | /* 41 << 140 */ |
11024 | | { { 0x15a291e67527166eL,0x8a92370d4a9a8315L,0xe9fe705dda584bd6L, |
11025 | | 0xed441dc33625a669L }, |
11026 | | { 0xa57929ce3063f2deL,0x2809fe4b6348cc31L,0x92041d5404cc19c0L, |
11027 | | 0xd7c227fcb62c1f94L } }, |
11028 | | /* 42 << 140 */ |
11029 | | { { 0xecfeee53cd0d497cL,0x8d1ea9fd128818a8L,0xb5cf2c282ae4725dL, |
11030 | | 0x7de9f967c6abad3aL }, |
11031 | | { 0xc64a11fcb14a183cL,0x7f14d0fed5777d77L,0xbe79846c12957444L, |
11032 | | 0x4cf23abf0e3257caL } }, |
11033 | | /* 43 << 140 */ |
11034 | | { { 0x8da0fd8d6e01b48eL,0x63a7ff165ee87ca4L,0x90dff4d35cc96b94L, |
11035 | | 0xff1b41c3406fc905L }, |
11036 | | { 0xdd9329253ac71c41L,0xec57f1b8cf65e59dL,0xa3116d6f3ce0512bL, |
11037 | | 0x3b46fd3ca2e28316L } }, |
11038 | | /* 44 << 140 */ |
11039 | | { { 0x5a6c031460156a5eL,0xfab3afe355d46fd0L,0x4617926c9846f0dbL, |
11040 | | 0xc2d5a447121ef237L }, |
11041 | | { 0x789498d1f1cda3b1L,0xa195cf03ccd64aacL,0xe8d1a1629440be2bL, |
11042 | | 0x7399890a3ad5373eL } }, |
11043 | | /* 45 << 140 */ |
11044 | | { { 0x65dcea2f4fbf1899L,0x44d9c8ab44ee1a5aL,0x2e94f8c8406880fbL, |
11045 | | 0x70732bad51faab7dL }, |
11046 | | { 0xd69309ddf1e92b52L,0x25f9a6753c7685d0L,0x3604f30b1dbfbaa0L, |
11047 | | 0x5ac0001b2ff28c22L } }, |
11048 | | /* 46 << 140 */ |
11049 | | { { 0x648ec4fa52762d8dL,0x4fc248c60cef95f8L,0xfc0f7030e5fbb57dL, |
11050 | | 0x2e6447295ff2db51L }, |
11051 | | { 0xd85877ec3775471cL,0xe25800586076a271L,0x58a4a24f09cb3873L, |
11052 | | 0xb412928bb142da8cL } }, |
11053 | | /* 47 << 140 */ |
11054 | | { { 0x1da7964b5997987aL,0x69765ff01825d97bL,0xde8ae4074c97095cL, |
11055 | | 0xb257a968bb59316cL }, |
11056 | | { 0x80e5240dcf2dfbd2L,0x2b3b04b01fccd0e7L,0x949f12348ff1093eL, |
11057 | | 0xa4df329065f62273L } }, |
11058 | | /* 48 << 140 */ |
11059 | | { { 0x305b7479d0058ffaL,0xe459ecff180b0de6L,0xfbe00c088ca0585fL, |
11060 | | 0xc169e23ac3dd4fa0L }, |
11061 | | { 0x65d9009a44026f6eL,0xbbc258c31d96fe58L,0xd7ed379c328ed1e0L, |
11062 | | 0xe8b4574423970884L } }, |
11063 | | /* 49 << 140 */ |
11064 | | { { 0x2f44c8ceed1095b5L,0x25725b0dc59404aaL,0xea926278a273e09fL, |
11065 | | 0x102b120b529143d5L }, |
11066 | | { 0xbd2c012d81174d10L,0x0bf5cf894e8333adL,0x6b93e3b0b2f60645L, |
11067 | | 0x040298b8f38df3ceL } }, |
11068 | | /* 50 << 140 */ |
11069 | | { { 0x6433b6fcb89e18fdL,0x48d6584a6bd6af88L,0x46c8a0610e1747a5L, |
11070 | | 0xe225d3cd1ed79faaL }, |
11071 | | { 0x6c579abb5c28a48bL,0xc7a5ff4dda3889d6L,0x037ebc4b008febdfL, |
11072 | | 0x03b60593a7c5cbc9L } }, |
11073 | | /* 51 << 140 */ |
11074 | | { { 0x0840804ddcaa3319L,0x38b0f084b7481f45L,0xfdb059c9112e794eL, |
11075 | | 0xb62bce05e1afb614L }, |
11076 | | { 0xc15035b653be7c02L,0x66fc7106153ee8e5L,0x27fd2ea48258727fL, |
11077 | | 0x8e012416b470105eL } }, |
11078 | | /* 52 << 140 */ |
11079 | | { { 0x3d24685bd7711aeeL,0x66a83c3b021bab69L,0x6e1112a75501d69dL, |
11080 | | 0x2219fe0b068b0504L }, |
11081 | | { 0xaaa553c1a926ab1bL,0x1c81af9556d6ca58L,0x0a997380221ef447L, |
11082 | | 0x881a62faf5f55487L } }, |
11083 | | /* 53 << 140 */ |
11084 | | { { 0xf88fa0bd4f1b618aL,0xb20e161ccbac98e8L,0x443352b53bc6a7adL, |
11085 | | 0xbc8e03ff0fd5748aL }, |
11086 | | { 0x64006aff0ca427fcL,0x1a4775937cbbda99L,0x21ef1afd1a347c47L, |
11087 | | 0xfe056287dee162b6L } }, |
11088 | | /* 54 << 140 */ |
11089 | | { { 0x9d4eb7da797a0b14L,0xe4e01a46951c4bd0L,0xaf8fa17f7fe354a6L, |
11090 | | 0xd71f160cc430b12bL }, |
11091 | | { 0x5bb6843783d46be0L,0x99d10d82619bba86L,0x95c2219df4327042L, |
11092 | | 0xdace23229c19ab57L } }, |
11093 | | /* 55 << 140 */ |
11094 | | { { 0x88abbc67c8750fe7L,0x81ab300ad3abe7d2L,0x62a6d8d545aa8948L, |
11095 | | 0x76175bbd5d4ce8c3L }, |
11096 | | { 0x095cb1818ea70976L,0x785de3fcf7e62a19L,0xc478bce8ed11a7feL, |
11097 | | 0xb7e5993b1528aee2L } }, |
11098 | | /* 56 << 140 */ |
11099 | | { { 0xb9ec58d776c32e4bL,0xef8156132dbc9a61L,0x372c38565e07410dL, |
11100 | | 0xa1b16510033276d0L }, |
11101 | | { 0xd858958182640d26L,0x1cb981809053fff0L,0x41519ce7c1ff11f1L, |
11102 | | 0x2f21a48f666431e4L } }, |
11103 | | /* 57 << 140 */ |
11104 | | { { 0x2c223ed1e83ee840L,0x833ae7081e7cf4dcL,0xec8853d8acd13385L, |
11105 | | 0x559115ab6a7a8cb1L }, |
11106 | | { 0xe2f4ab2aeb184e71L,0x679abbcec10194dfL,0x10199c843aca0828L, |
11107 | | 0x7474e113978cc1d6L } }, |
11108 | | /* 58 << 140 */ |
11109 | | { { 0xa4460ef144e8eb9aL,0x4cde5260828aa4bfL,0xd3d23790249bff50L, |
11110 | | 0x2e6660da6bc7fbbcL }, |
11111 | | { 0x3e3cc14661494df0L,0x6e9a15710bcda8baL,0x68ce233e096e00b7L, |
11112 | | 0x247a5c495106c85bL } }, |
11113 | | /* 59 << 140 */ |
11114 | | { { 0xe6f0cb5c55fc5757L,0x452682b9b7585799L,0x84509dfe869e747eL, |
11115 | | 0x904366e58d23be04L }, |
11116 | | { 0x7324a14db0f72c6dL,0x9fbe31161913a9ffL,0x2f9fa62a428a6b5dL, |
11117 | | 0x8039270ff8a34d9eL } }, |
11118 | | /* 60 << 140 */ |
11119 | | { { 0x0e3ce7ae407aec78L,0x4d935d3d826458cdL,0xf75db7dbfc6f46d4L, |
11120 | | 0x3ab7ba6888586874L }, |
11121 | | { 0xec92749f9a198b50L,0x0ffc7681efc51cdbL,0x951406d5e17bc0e3L, |
11122 | | 0x39cd2d07c898a018L } }, |
11123 | | /* 61 << 140 */ |
11124 | | { { 0x9dc3803cf2f79af6L,0x292f31640a56cd68L,0xdcac21f9f6fbdbdfL, |
11125 | | 0x6f9ce2a423e9e959L }, |
11126 | | { 0x2011d221970f6c34L,0xd2e637119e2decfbL,0x19c7a489118ff327L, |
11127 | | 0xe19d7e83bb6e534eL } }, |
11128 | | /* 62 << 140 */ |
11129 | | { { 0xc685389abd1a426bL,0x432ff7b08c679952L,0x516cbdfac5e2687fL, |
11130 | | 0x8242405dba1eac8fL }, |
11131 | | { 0x63af31520b09854eL,0xcecd0faa231ec979L,0x4746733f7273f0b2L, |
11132 | | 0x69b28d878f001365L } }, |
11133 | | /* 63 << 140 */ |
11134 | | { { 0x0d87d506c6f2623cL,0xd209a9c686c40ed2L,0xa5b7fde20fa20f3bL, |
11135 | | 0x54550dc54f5b2129L }, |
11136 | | { 0x36884047feddaa1bL,0x51398fa0d899a29fL,0x14a416becdf11867L, |
11137 | | 0x86351ac63e466b62L } }, |
11138 | | /* 64 << 140 */ |
11139 | | { { 0xd63e91e139bb481aL,0xdcdc072a99984155L,0x9fce6e38d2d8e622L, |
11140 | | 0xbf6978b68e8c8034L }, |
11141 | | { 0xaa1ae8748c37990aL,0xd1f0e0680e749b86L,0x5aa303b1cbdc7c12L, |
11142 | | 0x9a78baafc9130211L } }, |
11143 | | /* 0 << 147 */ |
11144 | | { { 0x00, 0x00, 0x00, 0x00 }, |
11145 | | { 0x00, 0x00, 0x00, 0x00 } }, |
11146 | | /* 1 << 147 */ |
11147 | | { { 0x5eeba910b3e2087bL,0xbd016dd344a61a33L,0xffd1f08148cd5c0fL, |
11148 | | 0x041c6aa02e6a8e94L }, |
11149 | | { 0xe09c35c5c4ac3d91L,0x58298105634767a4L,0x6120e7cb1040c2b5L, |
11150 | | 0x32a661efa713589fL } }, |
11151 | | /* 2 << 147 */ |
11152 | | { { 0x5a056a90bd74c70eL,0x44f7d00d8af672f3L,0xdc25ab68ef4e9a48L, |
11153 | | 0xadd15cc3fdfb1069L }, |
11154 | | { 0xb1f4fd289f3033bfL,0x088a49bbebb8b8a7L,0xea485869a8d2861cL, |
11155 | | 0x46dbfdaf6b977fb5L } }, |
11156 | | /* 3 << 147 */ |
11157 | | { { 0x04e6461ed88ae888L,0x112d204a9be2d7adL,0x952dc813db558427L, |
11158 | | 0x39b0165227e35200L }, |
11159 | | { 0x8b89bfceff02cdbbL,0x1381a99b3e854e4cL,0x68185218999efd2bL, |
11160 | | 0xeb41e1bb86dc62e1L } }, |
11161 | | /* 4 << 147 */ |
11162 | | { { 0xa264ef4002d0aaffL,0xa678c07d6e679fe2L,0xcff13be7fd88bdceL, |
11163 | | 0x9a8efe8d617badb8L }, |
11164 | | { 0x1388a815ad5a22f4L,0x8f821400fec398b3L,0x85a6a565ff4fc2daL, |
11165 | | 0x681f0181858dd4f3L } }, |
11166 | | /* 5 << 147 */ |
11167 | | { { 0xdc87074591ee75bcL,0xbadbf94064f20e50L,0xf3ea437f49d3d417L, |
11168 | | 0x7bebd868c02109d0L }, |
11169 | | { 0xe6c8d93cd16bb240L,0x2087141afdab9bbdL,0x8dba80ff20a3b470L, |
11170 | | 0x960a0c7b29d3a8d7L } }, |
11171 | | /* 6 << 147 */ |
11172 | | { { 0xae61b637f8ec1151L,0x415dd36baadc8545L,0xed21d17669d0985aL, |
11173 | | 0xc4d062af97893f50L }, |
11174 | | { 0x4d93ba1a337b81f9L,0xb995fe9eb7c163a2L,0x447eff3b5416e4edL, |
11175 | | 0xd76603000bf4a8e7L } }, |
11176 | | /* 7 << 147 */ |
11177 | | { { 0x9e14c6a256d9e00fL,0xa228491cfa1f60e0L,0xd540713e8782a9beL, |
11178 | | 0x5d3fcce8dcd55e21L }, |
11179 | | { 0xa176c34e35c87b90L,0xc1d80aa1f9508f35L,0x14f7e7fc92302d47L, |
11180 | | 0x459372ba2b076e72L } }, |
11181 | | /* 8 << 147 */ |
11182 | | { { 0x44168fbc4e933b19L,0xaf2db74ce54ea969L,0x36fade13aeacbb56L, |
11183 | | 0x2970866584e6cd1dL }, |
11184 | | { 0x6f7ff1e1b692df97L,0x5a68c1a26ae66307L,0x85bc544ce7685f20L, |
11185 | | 0xb3f42e6d0f65eeecL } }, |
11186 | | /* 9 << 147 */ |
11187 | | { { 0xef209f445b91b644L,0x808b930a50cb02b6L,0xc5da5e86099f684fL, |
11188 | | 0xd8f1dbcc4330c2d8L }, |
11189 | | { 0x52e8cab5d8608776L,0x13c8977116e56f5dL,0x7d7d802ab135282bL, |
11190 | | 0x69762c39e9be8a20L } }, |
11191 | | /* 10 << 147 */ |
11192 | | { { 0x13f6bbad2a08a1dcL,0xa7131e4a7f2dba7aL,0x751dce487864f5a3L, |
11193 | | 0xc5af1b4508135109L }, |
11194 | | { 0x3c4d75f74f08636eL,0x9949b2f52e251e48L,0xd04979779bd98853L, |
11195 | | 0x09d8e627909b0e84L } }, |
11196 | | /* 11 << 147 */ |
11197 | | { { 0x505753ee4ceff1c9L,0x03ca4571460710caL,0x0cf72dee5480abc0L, |
11198 | | 0x55d5a30ec19c8ef3L }, |
11199 | | { 0x9e47641b86541f6fL,0x89b2e48f10c9d6fbL,0x9d16382b0860915cL, |
11200 | | 0x770ac417f54b337fL } }, |
11201 | | /* 12 << 147 */ |
11202 | | { { 0x366d078177ef7f67L,0xfefec9472b6340c9L,0x7ce3a056097acf63L, |
11203 | | 0x26538c7caf306decL }, |
11204 | | { 0x8a8bb55e287dc8d1L,0x9431095b448823aeL,0x8358087a7970fc51L, |
11205 | | 0x95299959413509acL } }, |
11206 | | /* 13 << 147 */ |
11207 | | { { 0xb165f92a8b0911d4L,0xdde855eebfb37459L,0xe672eed43d9ce36eL, |
11208 | | 0xf7da91e574bae261L }, |
11209 | | { 0x1f67323cb741c8e6L,0x8efd4661c92c91ceL,0x556f0b1a78e73c42L, |
11210 | | 0x7d326b7f16101f96L } }, |
11211 | | /* 14 << 147 */ |
11212 | | { { 0x8814ef0bfb48bd3aL,0x1bbbe13ec508309eL,0x7ddaf06167709c10L, |
11213 | | 0x82b678476436f655L }, |
11214 | | { 0x2a5601c603712e64L,0xac1f03623e3f9b2eL,0xcc7e6a0909184b5dL, |
11215 | | 0x1258b265b4625149L } }, |
11216 | | /* 15 << 147 */ |
11217 | | { { 0xd9f21461384a6b54L,0xde4831616cfe9311L,0x593dae45889f43ccL, |
11218 | | 0x8454335bedee221bL }, |
11219 | | { 0x90f3fb433a2cbcedL,0x895ed692cc8dcb75L,0x9857d71914233aa7L, |
11220 | | 0x91b1a2ab48166d5fL } }, |
11221 | | /* 16 << 147 */ |
11222 | | { { 0xfbf7033a675b47a0L,0xcb3669c46542378fL,0x96abb0f7125ec248L, |
11223 | | 0x6d5d2047795fc346L }, |
11224 | | { 0xa6c6c9e88f5cffb6L,0xb968f2c7bea5ee09L,0x2f2ce735844ffd6fL, |
11225 | | 0x7931b87727e40ac8L } }, |
11226 | | /* 17 << 147 */ |
11227 | | { { 0xe1f62dcf2b63d538L,0x395681ddf44d7bf9L,0xf02eedf754aec359L, |
11228 | | 0xc64b6233a0ad5eb7L }, |
11229 | | { 0xc65093c7346b086aL,0xfcf8ecc9e957b243L,0xe1accffa1ca48020L, |
11230 | | 0xe1f297924047bbebL } }, |
11231 | | /* 18 << 147 */ |
11232 | | { { 0xb1097d409fc6be25L,0x02d33d19923eb7b4L,0x9e25200c1f58f545L, |
11233 | | 0x2ffae306da51efcbL }, |
11234 | | { 0x7e6d76c1c0b011f2L,0xedbd8398f680676bL,0x38517fc28d7fc8c2L, |
11235 | | 0x55a7fcf95c3ab05cL } }, |
11236 | | /* 19 << 147 */ |
11237 | | { { 0x047e24228e6dd02dL,0x7b3bf0e61f290d6aL,0xbcf326fc6a99a6d0L, |
11238 | | 0x1e3f38fa2eef8232L }, |
11239 | | { 0x9890780e15bac529L,0x94202e0e9f143ba0L,0xbd574712885e4ed5L, |
11240 | | 0x2404c223396f938dL } }, |
11241 | | /* 20 << 147 */ |
11242 | | { { 0xd54d401cacde8286L,0x80397794e7af01fdL,0x94457d07f615a8ebL, |
11243 | | 0x34680480d22d9ef7L }, |
11244 | | { 0x04d4b3022c489ccfL,0x11dea4bdc3673daeL,0x8fbb4df558cdfe41L, |
11245 | | 0x494251840f10a70eL } }, |
11246 | | /* 21 << 147 */ |
11247 | | { { 0x831b977a077a59ceL,0xee08fb0c894627f3L,0x213605072f8553f0L, |
11248 | | 0xca77ccd10487171bL }, |
11249 | | { 0xc17d20c207e11059L,0xcf74be6bbe613256L,0x06f185e6a5fe18c1L, |
11250 | | 0x8d2cf4f52b57ce3eL } }, |
11251 | | /* 22 << 147 */ |
11252 | | { { 0x7179273cc9c983e7L,0xc7d27357153f58d8L,0xc02730694f400bd4L, |
11253 | | 0x23309c7f26262553L }, |
11254 | | { 0xf26b6e11712d0314L,0xb925cebff96ee39aL,0x6df5710873944251L, |
11255 | | 0x95419b24589d90aaL } }, |
11256 | | /* 23 << 147 */ |
11257 | | { { 0x57a1bcc5796a8ee2L,0x22a225302acee09dL,0xa4c2cc0366fa2911L, |
11258 | | 0x9cc2b7fad85f13dcL }, |
11259 | | { 0xf2498b8ace152790L,0xd84060071caf39d1L,0x7ff5006484c0822fL, |
11260 | | 0xaf14ca4b155f1280L } }, |
11261 | | /* 24 << 147 */ |
11262 | | { { 0x113f094b89b781c2L,0x996bf893013833a5L,0x26bc6210c0b9cf6dL, |
11263 | | 0x18e2d3ac6a88f1cfL }, |
11264 | | { 0xc0ff2b3ca21a2d35L,0x409c2598a79e918eL,0xffcf65a0b6917e22L, |
11265 | | 0x8036897fbb4f8f3cL } }, |
11266 | | /* 25 << 147 */ |
11267 | | { { 0xac6603659ec27fd7L,0x3c5ca1a90c56cbb1L,0x01c5dce1be9e9ec7L, |
11268 | | 0xdc21b01a386edb4aL }, |
11269 | | { 0x47e02a924b1dde01L,0x0613b7ca44af3e0bL,0x644ac7081c445b6fL, |
11270 | | 0xb5566f0f87243e2aL } }, |
11271 | | /* 26 << 147 */ |
11272 | | { { 0x5b244172ba9f354aL,0xaca4e9d3eb653a5eL,0x6ff6904a514809f2L, |
11273 | | 0xf87a329b96595230L }, |
11274 | | { 0x39ebe6eb8d4bd051L,0x66f05f5c07d17d59L,0xfa1ee673e0f81731L, |
11275 | | 0xf41c1042d12804a9L } }, |
11276 | | /* 27 << 147 */ |
11277 | | { { 0x1c4a655aacd14cf5L,0xdc72f5bcef47548fL,0xab07ceff0b3ee6c7L, |
11278 | | 0xcfa88319bb501a28L }, |
11279 | | { 0xcec9c2e2d8f03f7cL,0x3098d752e0c98d62L,0xa41a07940a8681b3L, |
11280 | | 0x0e58807623587932L } }, |
11281 | | /* 28 << 147 */ |
11282 | | { { 0x4617dc665ef86f7cL,0x51de8430cedb5377L,0x0dda704a737381b6L, |
11283 | | 0x83a44653008f4671L }, |
11284 | | { 0x71bbb73e38401c11L,0x879fe49c4894d378L,0x8875eef9eab186a2L, |
11285 | | 0xedefe27812a382a9L } }, |
11286 | | /* 29 << 147 */ |
11287 | | { { 0x95ef41b813b897fdL,0xfefd495f2a98ddd9L,0x09cbccfc680b12e8L, |
11288 | | 0xc1888a21167da5dcL }, |
11289 | | { 0x2a2049123bb290b4L,0xdcac95fcd9613190L,0x4df94f62709c76f7L, |
11290 | | 0xc8c3a8aba5cea926L } }, |
11291 | | /* 30 << 147 */ |
11292 | | { { 0x15c876b237a2b813L,0x9b52803e9c3c821cL,0x40f2268ccb3d6ff1L, |
11293 | | 0x689f1696a1573601L }, |
11294 | | { 0x8d7566dd8e921f56L,0x5d8a990cd992335aL,0x6339153a20dc4f4bL, |
11295 | | 0x0b07419cdc5d06abL } }, |
11296 | | /* 31 << 147 */ |
11297 | | { { 0xe9cc014d97c201f9L,0xec04a52ea635f472L,0x6aac504aa538a84fL, |
11298 | | 0x4d0288e35762fe7cL }, |
11299 | | { 0xaa8539f034cbd09aL,0x6f7e0e942619bcf7L,0x178303dd0dd338d0L, |
11300 | | 0x6b58c2b18326f40eL } }, |
11301 | | /* 32 << 147 */ |
11302 | | { { 0x98bb15ecfe73e699L,0x7533abdc47526489L,0x4b269607491dcc6dL, |
11303 | | 0x325ec2a077187363L }, |
11304 | | { 0x766faa197e9ab865L,0x1c105b4ac25a9448L,0x0b6b89630531b5baL, |
11305 | | 0x32691f112db1a579L } }, |
11306 | | /* 33 << 147 */ |
11307 | | { { 0x24d90a57643e479cL,0x048b27cbb98578dfL,0x0600f93fe53bed53L, |
11308 | | 0x1fd57dfc0aac585fL }, |
11309 | | { 0xc3d7212171d0e4e0L,0x5ff10dfbf612fc4eL,0x9edf4b23b5a7ec79L, |
11310 | | 0x975165c7d87706abL } }, |
11311 | | /* 34 << 147 */ |
11312 | | { { 0x8b99db047095c3c4L,0x65196441897faf50L,0x5d23d7d9dd5b64cbL, |
11313 | | 0xec734b06e95fe601L }, |
11314 | | { 0x03a5f53f0b5fcde9L,0x0186ad22ebe35310L,0xe9a65eef84846603L, |
11315 | | 0xe99e5188a7c6e5beL } }, |
11316 | | /* 35 << 147 */ |
11317 | | { { 0xa917327df0887da6L,0x49965f78e3f9fa70L,0x02ed227d4f10b31dL, |
11318 | | 0x535b4386b6120be5L }, |
11319 | | { 0xdff21a8acc1bf98aL,0x5b52a09aeb1634bcL,0x60f8690da3f61fa2L, |
11320 | | 0x58a02566b863c790L } }, |
11321 | | /* 36 << 147 */ |
11322 | | { { 0xf9b90a9e5c6b2929L,0xd552e84c22fca36eL,0x6b23da4f9eabcb58L, |
11323 | | 0x01111d075d4136dcL }, |
11324 | | { 0xfaa80059b3642a09L,0x1de667f45f49d533L,0xb326877617525176L, |
11325 | | 0x75b0b102da729fdeL } }, |
11326 | | /* 37 << 147 */ |
11327 | | { { 0x4ec7f6786e9fe6edL,0x28d295782717f8b0L,0x6a713c37d4cc149fL, |
11328 | | 0x4804e04f7dfdf8c6L }, |
11329 | | { 0xe7c6daab5c931aa6L,0x793e411da0394f29L,0xc0741c0d79ed9819L, |
11330 | | 0x3f2ba70b24d5d992L } }, |
11331 | | /* 38 << 147 */ |
11332 | | { { 0xa61dc03fca9c987aL,0x78201cb8e64b50c1L,0x45a23c251861f4e4L, |
11333 | | 0x10f19f4fc4ee5d82L }, |
11334 | | { 0xf1520547f3f055f4L,0x69ae26b3006ccf49L,0xe96eec0b33d8d4adL, |
11335 | | 0x00765f0c48a4fc2cL } }, |
11336 | | /* 39 << 147 */ |
11337 | | { { 0xad47e14ea3976c07L,0x82b1f882d905b6b4L,0x7a1b9d7391382bacL, |
11338 | | 0xcc84a82018178290L }, |
11339 | | { 0x1123c6f6b4e845abL,0x63216635b92e3b08L,0x748be745183879fbL, |
11340 | | 0x7f20e1f0a73e9adaL } }, |
11341 | | /* 40 << 147 */ |
11342 | | { { 0x05de3e119224c152L,0x2fa9a474ea8fda4eL,0xf5c8df05f48055ecL, |
11343 | | 0x48bbf43a9e23a599L }, |
11344 | | { 0xf593f034148086dbL,0x0173a87aef0a2b62L,0x90ef01323fbabb6fL, |
11345 | | 0x56ced09a21ade107L } }, |
11346 | | /* 41 << 147 */ |
11347 | | { { 0xcf1ce89273f1d3e0L,0x765236c622424580L,0x0d223937d939d063L, |
11348 | | 0x9a21beda7cb2fe2fL }, |
11349 | | { 0xa559a5711ce3a7fcL,0x7fd6b2551b060dd5L,0x4dfbd210c5afdf1aL, |
11350 | | 0xa74751ce1239368aL } }, |
11351 | | /* 42 << 147 */ |
11352 | | { { 0x93acdd066d9a3eecL,0x7d97f7949832dcfdL,0xdafa9a440cc645caL, |
11353 | | 0x1da27ddfcfee0817L }, |
11354 | | { 0x0c1e631901b8dd49L,0x8267e508d91aeaceL,0x86a2cedc87f43f20L, |
11355 | | 0x7dd0e67007db2f24L } }, |
11356 | | /* 43 << 147 */ |
11357 | | { { 0x8ea1e9739db25177L,0x659cccb8ab8802dfL,0x2bd39c65004940abL, |
11358 | | 0x57676876d9419db5L }, |
11359 | | { 0xd52058a36d6f237cL,0xd9812dcdfb4a9a7bL,0x879890d153bec56eL, |
11360 | | 0x17b7f1517ac5d9d9L } }, |
11361 | | /* 44 << 147 */ |
11362 | | { { 0x2db3f5df1ec6db6cL,0xe9a3b18fafdf29b0L,0xda633d62e63a9ae9L, |
11363 | | 0x0922b16d38d13c8cL }, |
11364 | | { 0xaeb7e2707462c8e6L,0xa98c96d8a01b6984L,0x5586e0d3297c242fL, |
11365 | | 0xbeddd1abff587596L } }, |
11366 | | /* 45 << 147 */ |
11367 | | { { 0x79ac33cec02ea084L,0xe7d067538e02ae2fL,0x05fffd7d94d526b8L, |
11368 | | 0x4590d6555ebc46d0L }, |
11369 | | { 0xfb79c066855f85e6L,0xbb3f0a6d7400ed08L,0x46f4c3cd67fb3683L, |
11370 | | 0x62fc1931d19804cfL } }, |
11371 | | /* 46 << 147 */ |
11372 | | { { 0x0480e772d1b6f356L,0xa5810f2556320242L,0x6cf6c9c364073c03L, |
11373 | | 0x7dfe137b46a6bfbcL }, |
11374 | | { 0xa5633fa0ba59baf8L,0xb703e5db5fd4929aL,0x09eef835d7515518L, |
11375 | | 0x2e596aa8a0e3b067L } }, |
11376 | | /* 47 << 147 */ |
11377 | | { { 0x793831fc8649bb99L,0x91cb00575ba4c1b6L,0x44e93dbd270ec9e8L, |
11378 | | 0xbf2ed01ad139d219L }, |
11379 | | { 0x39697e05c9d68198L,0xf04439cfde2b6894L,0x65b7a04a1e6b8e6dL, |
11380 | | 0xce3e9425ce35ae6dL } }, |
11381 | | /* 48 << 147 */ |
11382 | | { { 0x041e0aff9f102fb3L,0x91b3a87c106ae748L,0xfd969804c426fa5dL, |
11383 | | 0xe624f1cd28f95b76L }, |
11384 | | { 0x6fe28cce34f2ea56L,0xdea55947d230f37cL,0xd5e336f2f92f2742L, |
11385 | | 0x86852e3c1899c751L } }, |
11386 | | /* 49 << 147 */ |
11387 | | { { 0x5ef2a63ba5d1bd04L,0x5f4721a2b6ca2b79L,0xbdb27b7c9f484f78L, |
11388 | | 0x2b07bf5bb085b4edL }, |
11389 | | { 0x96b8ae73501b62abL,0x0b1e003a3ba64e23L,0x43f9ec0093024347L, |
11390 | | 0x3c8c0c7eae180a03L } }, |
11391 | | /* 50 << 147 */ |
11392 | | { { 0x58c722378c0b21d4L,0x9d51a9962b15a1faL,0xf5201743ec755edaL, |
11393 | | 0x0c845fa3933800fbL }, |
11394 | | { 0xb6b66cdb0e82418eL,0x875258e53ae3eeb7L,0xf2c30b1e1a8f2b3eL, |
11395 | | 0xa10b3843250f3328L } }, |
11396 | | /* 51 << 147 */ |
11397 | | { { 0x9f449967c47c53f8L,0x5dfe8c768775e16eL,0xb02813a1336f2194L, |
11398 | | 0x90ad3ad55636498bL }, |
11399 | | { 0x095acf96c7c647e0L,0xc90ef12b1f57c069L,0x52f518781fb85cc1L, |
11400 | | 0x582cfd6725a125adL } }, |
11401 | | /* 52 << 147 */ |
11402 | | { { 0x53b4bfc70d43ffadL,0x143b0b4804dcf047L,0x65d16216d4500bf4L, |
11403 | | 0x960c79109ab1e4cdL }, |
11404 | | { 0x38b7ef7ee1d08c70L,0x64ae69e19806e01eL,0x074681846796b923L, |
11405 | | 0x6480887a70af1e64L } }, |
11406 | | /* 53 << 147 */ |
11407 | | { { 0x4eb2d6fb02384b34L,0xb29337a805be47f3L,0xfec96fc06b744f9dL, |
11408 | | 0xc3de2fb0c8c9afc3L }, |
11409 | | { 0xe8ccc3ebcc6dd0a5L,0x0329a9b971d7de7aL,0x459fbc8ce357c4f9L, |
11410 | | 0x80287f50025fdc97L } }, |
11411 | | /* 54 << 147 */ |
11412 | | { { 0xedf1b0aaa089583dL,0xb1ad1a57fb08add3L,0xd6826d03e1ae76c1L, |
11413 | | 0x3070cd2e541462c8L }, |
11414 | | { 0x7b03c85983e6f4daL,0x5b39a80924bdb487L,0x70017570453bebb7L, |
11415 | | 0xfe4e6206b8ebbfc6L } }, |
11416 | | /* 55 << 147 */ |
11417 | | { { 0xbb8a1899106defe3L,0x6f23dc7a8683287aL,0x2cf0199565d96aedL, |
11418 | | 0x4e4cf7e9dda4ea18L }, |
11419 | | { 0x72ad201fd2d0316bL,0xd645115061de6cd4L,0x12432dbfc84856beL, |
11420 | | 0xdd4dca98d2a8378aL } }, |
11421 | | /* 56 << 147 */ |
11422 | | { { 0xe70af958bf881f9eL,0xd4cd35adc4e58ec4L,0x3889d3d95a531924L, |
11423 | | 0xac657424b4ce15ecL }, |
11424 | | { 0xdbe384caf41e1344L,0x9a1aed235ab8bb08L,0x375a041f8561df1dL, |
11425 | | 0x19f7a238b7685c1cL } }, |
11426 | | /* 57 << 147 */ |
11427 | | { { 0x8ba59933a4ba6317L,0x0c44b6df271f4aa0L,0x51f4e88fbd64e922L, |
11428 | | 0x7279df949095769fL }, |
11429 | | { 0x098c17b6eaf8c8d3L,0xe602ff2c1aa841d1L,0xbe4e49268b63ce81L, |
11430 | | 0x85de277afcc79573L } }, |
11431 | | /* 58 << 147 */ |
11432 | | { { 0x38253d405b8304dbL,0x58c50c3be422af76L,0x7f7ec0d1bf95c27aL, |
11433 | | 0xcb7c3a8c6041df33L }, |
11434 | | { 0xc55595c035364c89L,0xd1a72aa72a6eb1e6L,0x1fa941dedeb98a3dL, |
11435 | | 0x1e9607abeff46690L } }, |
11436 | | /* 59 << 147 */ |
11437 | | { { 0x6633e398ad46a05aL,0xb99e5784b585e241L,0xd63106a4ea558424L, |
11438 | | 0xf0a5f9395df0e501L }, |
11439 | | { 0xba17aaef59dacce3L,0x03dc5a07e907c457L,0xa59f6d63a9800bc3L, |
11440 | | 0x294a3827364e1ef7L } }, |
11441 | | /* 60 << 147 */ |
11442 | | { { 0x741bbab9dd191356L,0xe8fe9161c43954a4L,0x6a711fa965341d90L, |
11443 | | 0x09bd0faaadef2d82L }, |
11444 | | { 0x2112f27e21ffc303L,0xcd2214dd395b69e2L,0xe4b503c98670b06fL, |
11445 | | 0x219a678ac4e13ef4L } }, |
11446 | | /* 61 << 147 */ |
11447 | | { { 0xc4020eff4a993816L,0x00a9f5de1bac14d5L,0xd00fce1feba7c3a4L, |
11448 | | 0x2c6d499314b537abL }, |
11449 | | { 0xe9b2b5406b898739L,0xae53e6e329dbf826L,0x634606c7c8438b2cL, |
11450 | | 0x268a9ee4fabfd429L } }, |
11451 | | /* 62 << 147 */ |
11452 | | { { 0xb0486aae173b5583L,0xf88a2f80bf222673L,0x49c56f760b3178c8L, |
11453 | | 0xeab47059d77d1406L }, |
11454 | | { 0x95035846993b1a7aL,0xd6446e94a9b83efaL,0x1d1a71cec4424fa8L, |
11455 | | 0x8d814c4d3d08b8d2L } }, |
11456 | | /* 63 << 147 */ |
11457 | | { { 0xbc3ed8d27b9374acL,0x8dd2d56d77a3c020L,0x93ada73597efca8dL, |
11458 | | 0x072bb2d037974cd3L }, |
11459 | | { 0xa7c86e7e7bd74e40L,0x7bff56135b52e0edL,0xc8d0bb30053af1f1L, |
11460 | | 0xc5bdb8f9840bcb7dL } }, |
11461 | | /* 64 << 147 */ |
11462 | | { { 0xabdf5f7341690d1cL,0x0e857a78f0edac8cL,0x59f40fcf8238cfb0L, |
11463 | | 0xdcb54f67511d41d2L }, |
11464 | | { 0x3f036ac80e645117L,0xdc4e833e7af5fdccL,0x67d859b23d7bab2cL, |
11465 | | 0x92489b235f8b32bdL } }, |
11466 | | /* 0 << 154 */ |
11467 | | { { 0x00, 0x00, 0x00, 0x00 }, |
11468 | | { 0x00, 0x00, 0x00, 0x00 } }, |
11469 | | /* 1 << 154 */ |
11470 | | { { 0xe412aaf7b9e2f9f8L,0x0484c1aa0ff419acL,0x9d944989417bcb90L, |
11471 | | 0x2b73dbe3fe7318caL }, |
11472 | | { 0xb91b71e552dd7b0aL,0xd61f8eea3954afebL,0xaaeab13ca07e3958L, |
11473 | | 0xde44203202a1ff49L } }, |
11474 | | /* 2 << 154 */ |
11475 | | { { 0x8292d96d0b054a0fL,0xa978af8874b9077aL,0x70bd185bfff1d49fL, |
11476 | | 0xbe6d08440279eab1L }, |
11477 | | { 0xa8fffe45b8ed07e9L,0x714824a1cb920e55L,0xcd5c628aaf1bb143L, |
11478 | | 0xd151afcd7637dbb7L } }, |
11479 | | /* 3 << 154 */ |
11480 | | { { 0x83fb0f3762d7ee7cL,0x58c2282f9a3bcb7eL,0x79f77476eac2ca5aL, |
11481 | | 0x7e80c351579a262bL }, |
11482 | | { 0x19e67272edb4f0fcL,0xe142bb311fbbe9feL,0x5c7d7cce95ea6cc1L, |
11483 | | 0x6465a380abfdcf7fL } }, |
11484 | | /* 4 << 154 */ |
11485 | | { { 0xa433bd2e5a26a1d4L,0x1148bb1dd1c2d78cL,0x4aae419e64102515L, |
11486 | | 0xd03b993966489384L }, |
11487 | | { 0xe21d58b1d61a9919L,0x17618c364a0ef3d4L,0x2519020d6fe8c0ddL, |
11488 | | 0x48d837d600b87a75L } }, |
11489 | | /* 5 << 154 */ |
11490 | | { { 0xe6e067ab426c1aa6L,0x431579d2b11d1280L,0xb926943f2ead6552L, |
11491 | | 0x8fd692bf057fed1fL }, |
11492 | | { 0xed11c0ede9a98faeL,0xe2bc967a9bcb2abdL,0x1b388d6668729b8eL, |
11493 | | 0x2144d67c6f74563dL } }, |
11494 | | /* 6 << 154 */ |
11495 | | { { 0xbe51975703fcd3bfL,0x3f9dbd8dc8c7b62fL,0xce91fce6fc476e0eL, |
11496 | | 0x2f140c732715393aL }, |
11497 | | { 0x8a149a94f11da35bL,0xf6a2be5e5367030dL,0xb68c0d820269def3L, |
11498 | | 0x32d588198eecb775L } }, |
11499 | | /* 7 << 154 */ |
11500 | | { { 0xccea6f5332845ab0L,0x792bc0412541c834L,0xd726425fb1336aa7L, |
11501 | | 0x85b1d21e3ddd6256L }, |
11502 | | { 0xd575bfa8d9b1ba0bL,0xd23084e2b778b77aL,0xd44e739944bb1010L, |
11503 | | 0x3d665388a91623fcL } }, |
11504 | | /* 8 << 154 */ |
11505 | | { { 0x5cfd3a693f11fc00L,0x1f2b5d018bc8eadeL,0x5160359ba6b9f7aeL, |
11506 | | 0x1e2601dcfa696463L }, |
11507 | | { 0x7f5ac6d2915f6084L,0x6e387789679176d5L,0x7fb99f4bae26abeeL, |
11508 | | 0x4798a2fcaa409d22L } }, |
11509 | | /* 9 << 154 */ |
11510 | | { { 0x582164f75965615cL,0x2c9dfb600472cbebL,0x36eacc3f2266724fL, |
11511 | | 0x253eb08c5fcb8868L }, |
11512 | | { 0x749a0577760c15b3L,0x71e4ce1e5686b036L,0x47893a8fb710196aL, |
11513 | | 0xe27dfbacdf51c4e8L } }, |
11514 | | /* 10 << 154 */ |
11515 | | { { 0xc9536d6bffb3df08L,0xc95169ce6dde9e09L,0xcb050de7cc085766L, |
11516 | | 0x92fce77e0df088dcL }, |
11517 | | { 0x10c124ca88781592L,0x6429d30bc81030f3L,0x2e37721d09e20c50L, |
11518 | | 0x43e7f9caf3e3d604L } }, |
11519 | | /* 11 << 154 */ |
11520 | | { { 0xa277a87e5b095e01L,0x968bc95183a51a95L,0x3b375d4553aff355L, |
11521 | | 0xb79d7ccee1ebac06L }, |
11522 | | { 0xd929e1a6022995b4L,0x228cf7f428164ff7L,0x7bd129005d3e4608L, |
11523 | | 0xc57ac8732f97ebd8L } }, |
11524 | | /* 12 << 154 */ |
11525 | | { { 0xc192342d86b383b5L,0xe85f303f706b01d5L,0x19e1921388cdcb89L, |
11526 | | 0xe88f19432ce0de2aL }, |
11527 | | { 0xf6fcf8cfe453aeccL,0x0dcd10b89a67b49fL,0xb93d5b4dafece961L, |
11528 | | 0xe232f34ac39d0b53L } }, |
11529 | | /* 13 << 154 */ |
11530 | | { { 0x1b8f6cc330735384L,0xc35c5a82e4f26c08L,0x9e0c933bba98f626L, |
11531 | | 0x498681004c70aed7L }, |
11532 | | { 0x711a3aadb7f26c66L,0x786ea28d7dac506bL,0xd3a7ab1e43935657L, |
11533 | | 0xda7f5c1fd1b69e9eL } }, |
11534 | | /* 14 << 154 */ |
11535 | | { { 0xc08c85e50e6c8579L,0x29d04ad48d991759L,0xbae8f1633a8ccd69L, |
11536 | | 0xade665391790a49cL }, |
11537 | | { 0xf9f5bc8c45915cc1L,0x63461cf04f2b18c3L,0xceb75a9cd236e848L, |
11538 | | 0xac653e3b847ce6c2L } }, |
11539 | | /* 15 << 154 */ |
11540 | | { { 0xb93b3032db088764L,0x567fe1c3a78e5943L,0xba7a7acfe359cb34L, |
11541 | | 0x38f4fbfde2c3827eL }, |
11542 | | { 0x761c36d4c90abad2L,0xac1af4e775027c02L,0x95e6d01cd4715572L, |
11543 | | 0x5b06cf39d621145dL } }, |
11544 | | /* 16 << 154 */ |
11545 | | { { 0x799acd7c64ca2efcL,0x3397a15b4e0bcb6cL,0xb9b10ced0358a26cL, |
11546 | | 0x0a30dbbe4b8ddfaaL }, |
11547 | | { 0xa70e9712e20f6facL,0x87c7f732d11451b0L,0xf0c967b1d5eece8fL, |
11548 | | 0xbc62882aab370e2dL } }, |
11549 | | /* 17 << 154 */ |
11550 | | { { 0x134fb08e59ddb7cbL,0xe937c6633ae8f816L,0x083f73a7802ed184L, |
11551 | | 0xd4badd858cd69f8dL }, |
11552 | | { 0x2d8bfaf5987f389eL,0x5338c0564454b1f2L,0xdce384392f104468L, |
11553 | | 0xffd94d2783c5278bL } }, |
11554 | | /* 18 << 154 */ |
11555 | | { { 0x8740af505628ad08L,0x30a233db8b1284e8L,0xb3982d7357acc8cdL, |
11556 | | 0x211d53d337c5ff03L }, |
11557 | | { 0xb6371f1bf6578d40L,0x7f749beaa80dec53L,0xe6b3f730a9816ec0L, |
11558 | | 0xd26832fdf5423ec6L } }, |
11559 | | /* 19 << 154 */ |
11560 | | { { 0x8012736863e27b64L,0x17b7a4b2d2d21879L,0x7dcced3743cf40d4L, |
11561 | | 0x999bbb8097cf7c4cL }, |
11562 | | { 0x191c84e56bafa0b0L,0x1d08c049917f6b17L,0x02e5fe53f4715c99L, |
11563 | | 0xa92c60850658f1deL } }, |
11564 | | /* 20 << 154 */ |
11565 | | { { 0xe9c0ba8516a010bcL,0x2fd90fbaea4f3e8eL,0x8af183714570a1e5L, |
11566 | | 0xe869e8f77cca9004L }, |
11567 | | { 0xe2c8afb72dd83019L,0xb877995dfd99b386L,0x1e3efc16f5adab87L, |
11568 | | 0x93105fe4aa3b191aL } }, |
11569 | | /* 21 << 154 */ |
11570 | | { { 0x21690dcaae504c31L,0x2d51ead4698f629dL,0x2af3eef1724c9cbfL, |
11571 | | 0xa6181e6081a0d4aaL }, |
11572 | | { 0x580982c7a94f6b05L,0xe8bea90348653ad7L,0x0270614ca608598dL, |
11573 | | 0xa7cae0f03d0d5360L } }, |
11574 | | /* 22 << 154 */ |
11575 | | { { 0x8140768796067f64L,0xab2c270677a62d7dL,0xbe9c1edfae19786bL, |
11576 | | 0xa313f2b2887814ebL }, |
11577 | | { 0xe2bc4c1f08fd3c04L,0x25387129e5a9d032L,0x7b3ced228fbc5030L, |
11578 | | 0xc22bea3badbf1bdcL } }, |
11579 | | /* 23 << 154 */ |
11580 | | { { 0x4f6b6b6d7b1308daL,0x0f2faaafd0e33069L,0xb461990f0d3677c4L, |
11581 | | 0x55c9df430e6a876bL }, |
11582 | | { 0x5ce9aaa4316d252aL,0x7d98a8130e8e5097L,0x047ecd139aa3343eL, |
11583 | | 0x15cc7072939277e1L } }, |
11584 | | /* 24 << 154 */ |
11585 | | { { 0x305165d10a020be7L,0x48560411f66eaf8bL,0x5ff898ddffd2380eL, |
11586 | | 0x7da35f08784b4b11L }, |
11587 | | { 0x50f53e2c38fd05c7L,0x64b3ee8247ada3a5L,0x672ae316678995deL, |
11588 | | 0x74707460dfe96605L } }, |
11589 | | /* 25 << 154 */ |
11590 | | { { 0xb346dc71441e7150L,0xd9505e7a55fd483cL,0xca96e59f94302331L, |
11591 | | 0xcfde701c801930cfL }, |
11592 | | { 0x02fc993673c31e5dL,0x4ef53a558cda0b51L,0xa934e268a269a1f3L, |
11593 | | 0x7ba4e5e07cca8542L } }, |
11594 | | /* 26 << 154 */ |
11595 | | { { 0x4c6408f9a2ae339cL,0xf9ea4cb25a70ba33L,0x3eaa93645cac2af4L, |
11596 | | 0x62686d4695eaea09L }, |
11597 | | { 0x5196e88f3e771722L,0x749518e87108b198L,0x394107c429b25254L, |
11598 | | 0xf9945ac13a315aadL } }, |
11599 | | /* 27 << 154 */ |
11600 | | { { 0xce15c84daab9dbe5L,0xebb54d523940eb15L,0x69b649c7a2fdd11dL, |
11601 | | 0x4e2d17823f6ade80L }, |
11602 | | { 0x0f53ac9c2327f7d8L,0xf6158d6ec79eb564L,0x2903bfc04536f5c1L, |
11603 | | 0x0a25518bfb9e9e07L } }, |
11604 | | /* 28 << 154 */ |
11605 | | { { 0x70cbce8b62a0b0edL,0x92f5dc330abbc9beL,0xbb92b7d3f369c2d6L, |
11606 | | 0x70dd90c879ef83e1L }, |
11607 | | { 0xe0b331537937ab45L,0x3a8d1f74c054af6dL,0x35cf7380b05ebfc4L, |
11608 | | 0xefb8dac258c2cd0cL } }, |
11609 | | /* 29 << 154 */ |
11610 | | { { 0xe7316f997d665d26L,0x59a7ead9800fba6fL,0xfa4d2a2a08a2cb88L, |
11611 | | 0x2e7d3babb441995dL }, |
11612 | | { 0x390988c993046f2bL,0xfd95b86e08869cf5L,0x0185b6be9a76537bL, |
11613 | | 0xa89563bdb6cd3d59L } }, |
11614 | | /* 30 << 154 */ |
11615 | | { { 0xe79a4f63ecb1ad25L,0x1857cec76948504dL,0x03b7b3ada497922fL, |
11616 | | 0x9df2f2e438930f36L }, |
11617 | | { 0x355e4a7a4bb5927cL,0x5ad3fd47636ec349L,0x5400730dc41b19caL, |
11618 | | 0xbfeabac1555afa93L } }, |
11619 | | /* 31 << 154 */ |
11620 | | { { 0xb62320836cca58b7L,0x55faae6b76d0c53eL,0x64ef60e240a8eb5aL, |
11621 | | 0xc68bc678e8f22c94L }, |
11622 | | { 0x5156dc1c10a0416eL,0xac7796445c2037e4L,0xd2e30925c7162aaaL, |
11623 | | 0x7bb5275f2cf21e2fL } }, |
11624 | | /* 32 << 154 */ |
11625 | | { { 0x7722cb400c11e65aL,0xc94a7f5268ff2be5L,0x420085cc8d9f9352L, |
11626 | | 0x4addb986ca4b2544L }, |
11627 | | { 0x3c6ceac006264a47L,0xebc01a03e2b48cccL,0xc430e7abea94fef2L, |
11628 | | 0x973bb6f0bd94aa8aL } }, |
11629 | | /* 33 << 154 */ |
11630 | | { { 0xd60e5feb3225b585L,0x6cbab39c01b56ad1L,0xcb55a9cc37d6d1b4L, |
11631 | | 0xd7288c1efbce1d89L }, |
11632 | | { 0xcb516843162d4b46L,0xf0aca3a615edb910L,0xdb998b5508a6685aL, |
11633 | | 0x16b442e607811873L } }, |
11634 | | /* 34 << 154 */ |
11635 | | { { 0xa9badd09a1a7e0c2L,0x0a9a339b9f813289L,0xabf1793fd4cda45bL, |
11636 | | 0xa9830a12c7378a84L }, |
11637 | | { 0x1ae11c32d28165b1L,0xbfd49acef71bca14L,0x9a3990dffc035476L, |
11638 | | 0x0fd2b1536c32b72aL } }, |
11639 | | /* 35 << 154 */ |
11640 | | { { 0xceece8353541b5aeL,0x2f7429f58256c750L,0x456c347888104f8cL, |
11641 | | 0x8a4355888b23da06L }, |
11642 | | { 0x6b6c14f2d817ce6aL,0x83bf0acbf35ab86aL,0xdadb89ba364b83fdL, |
11643 | | 0x2c8fcf905cfecaf3L } }, |
11644 | | /* 36 << 154 */ |
11645 | | { { 0xa90f77ca20d12c92L,0x2e278e0e69d1739cL,0x29d24b445c1f9e82L, |
11646 | | 0xbf4fb4cb647c59b1L }, |
11647 | | { 0x9c8ea39d90ffd733L,0xe37a1352f14db3fcL,0x3c9164a28f3e1dcaL, |
11648 | | 0x515c16f2aec86440L } }, |
11649 | | /* 37 << 154 */ |
11650 | | { { 0x736fee4c5c483906L,0x2325cabba3f651c7L,0x582324df35b94e45L, |
11651 | | 0xeacedb3a45598c64L }, |
11652 | | { 0x674e1740de9ea8cdL,0x30f2f42389d2b975L,0x330bd76d9c8abe45L, |
11653 | | 0xb97e89f65371c0c4L } }, |
11654 | | /* 38 << 154 */ |
11655 | | { { 0xb1769248b7569543L,0xd29cc9d2d85f4d72L,0x89e1fd0c10a5b6ddL, |
11656 | | 0x501be0aea693a796L }, |
11657 | | { 0xc70965b6e490e600L,0xf518f8af1bb6c5cdL,0xf51d40bb76f6daa2L, |
11658 | | 0x83a83b675ec7849cL } }, |
11659 | | /* 39 << 154 */ |
11660 | | { { 0x0fe0d9756d8aa314L,0x9bf9aed5ea664a8cL,0xef8bb98996fad9aaL, |
11661 | | 0xd07dce3504a0e441L }, |
11662 | | { 0x53bd2a16b3c5eb81L,0x49e29fe2af178b66L,0x62cf7a6224dced32L, |
11663 | | 0xcc111fba0f541e36L } }, |
11664 | | /* 40 << 154 */ |
11665 | | { { 0xc93cd7c1da9dd111L,0x56b625ab28c9c1b4L,0xeff436ae3769f3a2L, |
11666 | | 0xa0d8d46bcbd31a17L }, |
11667 | | { 0x241693fac80dc873L,0x56083f643cd579abL,0x12ee753b33fbd431L, |
11668 | | 0x1bde60add66c283aL } }, |
11669 | | /* 41 << 154 */ |
11670 | | { { 0x0db508dd0243cd83L,0x3b12c1341349307cL,0x8296aa6d61d86bdaL, |
11671 | | 0x1d5c8a4f630adc96L }, |
11672 | | { 0x9d01dc28a30a8ae6L,0xc555a7431dab8168L,0x61fe0d147abe577aL, |
11673 | | 0xe26aa4d8c8c93bb7L } }, |
11674 | | /* 42 << 154 */ |
11675 | | { { 0xfb4b03bfda2bab5bL,0xfbd4908979b4e6c0L,0xda1a010886806aa4L, |
11676 | | 0x281f76aedc078112L }, |
11677 | | { 0x9f662594e0fbd693L,0x1da897b049ec4ee0L,0x20d52a97fc7d1578L, |
11678 | | 0xdbf8d1576b1f4ab4L } }, |
11679 | | /* 43 << 154 */ |
11680 | | { { 0xfc0a59363b97d1e3L,0x00f0f2831aa091b6L,0x505e183e13aadeb0L, |
11681 | | 0xe28041ada55b3f8aL }, |
11682 | | { 0x2e0f76da086c2d23L,0x815b147df2c5ecebL,0x02066c02673ba5f2L, |
11683 | | 0xb85d6a8ace043d4dL } }, |
11684 | | /* 44 << 154 */ |
11685 | | { { 0xd5f023a3113890f6L,0xaa4f9058a9d2491bL,0x6d82393e16d175a3L, |
11686 | | 0x1d1e00b2671e2aedL }, |
11687 | | { 0xd47c4f2840018baeL,0xd08eac837b30838fL,0xa0fde6315dfe910dL, |
11688 | | 0xfc16adf75c66d5c6L } }, |
11689 | | /* 45 << 154 */ |
11690 | | { { 0x0ed2a8a218d8c6b1L,0x67ee6037632b5b07L,0x7eed42e521a89b8dL, |
11691 | | 0xd99942cf33e6da02L }, |
11692 | | { 0x759ec79e39971405L,0x669a92c7174dca4cL,0x85935ed79d1e7c55L, |
11693 | | 0x5f3f9e68a82055c0L } }, |
11694 | | /* 46 << 154 */ |
11695 | | { { 0xab0507c856aa5af3L,0x354cac5d1bd2726fL,0x46e85e16b864816fL, |
11696 | | 0xef2548f6d1840addL }, |
11697 | | { 0xe494ea07c3842f43L,0xa6169c4aedf6c13aL,0x65d9cca3a460e30bL, |
11698 | | 0xa6848e4f31e7dfc3L } }, |
11699 | | /* 47 << 154 */ |
11700 | | { { 0x4309f3155c8109ddL,0x7a4ec14ec5799833L,0xcb768a63a8132b78L, |
11701 | | 0x229106d1b416c77cL }, |
11702 | | { 0x1ca71df6ded02f41L,0xb6365d3ec1a1fc66L,0xf7c432a11431d1faL, |
11703 | | 0x30364500a5654387L } }, |
11704 | | /* 48 << 154 */ |
11705 | | { { 0xc9ed0cf8d5b13b2eL,0xdbd541bbd18d5a28L,0x6b78c887754de9d2L, |
11706 | | 0x7d32fedb54651568L }, |
11707 | | { 0x7f3196800d37c339L,0x22304d1f37d70b76L,0x01b2709e6fb5e555L, |
11708 | | 0x978b0d3efd5d1708L } }, |
11709 | | /* 49 << 154 */ |
11710 | | { { 0x83206b9d96bc118dL,0xb1a4d7bfec7bfc1cL,0x753f98a6b6b41502L, |
11711 | | 0x411391104c5187ceL }, |
11712 | | { 0x56e9e218587a8213L,0x3b39955bad9aefd0L,0x7428b03fb9947cebL, |
11713 | | 0xbbe82668be8bda29L } }, |
11714 | | /* 50 << 154 */ |
11715 | | { { 0x5142e8ba5c4b4c63L,0x90c3e2e3e92ee291L,0x6947a55a8f6a076dL, |
11716 | | 0x9acdeec161964435L }, |
11717 | | { 0x56bc8e4c181dac35L,0x4f4f2c0a7a824372L,0xd1958b99c1033f6bL, |
11718 | | 0xeeaa6604c83ecf98L } }, |
11719 | | /* 51 << 154 */ |
11720 | | { { 0xe43c0b44aca52cb3L,0x1244642675443f14L,0x0d14e885ddcc00b4L, |
11721 | | 0xb0f5f11d6cfe5734L }, |
11722 | | { 0x0e1601641013afcbL,0x4f570ca9ed9f4535L,0xe5162a1273a307adL, |
11723 | | 0x6a4316953321ae54L } }, |
11724 | | /* 52 << 154 */ |
11725 | | { { 0xa6c7b0c55ae301b4L,0x6f5d42b1bd2d3f1dL,0x4eb12c0915c0c94bL, |
11726 | | 0xf1c4038628618c41L }, |
11727 | | { 0x30302333c0f55c25L,0xa5e41426bd1c19f0L,0xd5d4d4d7cfcc66f8L, |
11728 | | 0xcfdf3039449253c5L } }, |
11729 | | /* 53 << 154 */ |
11730 | | { { 0x17b0eb72b30ec0ffL,0xbce593e25e6424f9L,0xa5d829372a73184eL, |
11731 | | 0x23d2857aebe58773L }, |
11732 | | { 0xe3f0f676067e1eacL,0x073ded2d50509d7fL,0xc22af8f0ca405a7eL, |
11733 | | 0x7a4ef5926df6a46cL } }, |
11734 | | /* 54 << 154 */ |
11735 | | { { 0xf9cb017897067006L,0x9ae132af489d2a39L,0xc7c46b356a2da1c1L, |
11736 | | 0x0993353bd95850c9L }, |
11737 | | { 0x6c313a57a25d52efL,0xa6bdb2b293c852c3L,0x27ed916b7e9e296dL, |
11738 | | 0x10b58337c7aeb09bL } }, |
11739 | | /* 55 << 154 */ |
11740 | | { { 0x78800c35ecebe36eL,0xd93e24232234ce8aL,0xe4cf5ceefa95019fL, |
11741 | | 0x21396d3771e13748L }, |
11742 | | { 0xeb0283500c32fdadL,0x3164569761f1652bL,0x9e1c6e0bf6677491L, |
11743 | | 0x4d18f2e574176c12L } }, |
11744 | | /* 56 << 154 */ |
11745 | | { { 0x78d559bf3832d713L,0x04f0b57bb6e00e15L,0xd6c9cb16e80add3aL, |
11746 | | 0xeabfabc55c7b1d70L }, |
11747 | | { 0x4057086698a62cc3L,0x39ef8ff14abb2b1aL,0xadb405480c19959cL, |
11748 | | 0xd61632d7388b1f7cL } }, |
11749 | | /* 57 << 154 */ |
11750 | | { { 0xd1f9b736d73b7d50L,0x652ed78e560bf0aaL,0x58e71e3350e3fc4fL, |
11751 | | 0xbfaf5f4455df1ad1L }, |
11752 | | { 0xefe8893b9106744fL,0xabfbd51e356d1fe9L,0xab03570b9eb1cbafL, |
11753 | | 0x92cfe2e43919012cL } }, |
11754 | | /* 58 << 154 */ |
11755 | | { { 0x7671e5fbb6f7c64dL,0xf040c0396e0a44b7L,0xf430f59362b36088L, |
11756 | | 0xa85b4bc994c7c0acL }, |
11757 | | { 0x07d5c40c16b54fffL,0x47aa73eec53a3788L,0xa63c5b367000d61eL, |
11758 | | 0x04e8f53d91b9f09fL } }, |
11759 | | /* 59 << 154 */ |
11760 | | { { 0x7e48021d87dc6a3dL,0xa2b5516b28ae0f74L,0x84412003705132e2L, |
11761 | | 0xc55f69cfe243d1faL }, |
11762 | | { 0x758c0f716a8f80bdL,0x69ecf887d09b719dL,0x51b100f0a9b45194L, |
11763 | | 0x1fb9ef6690ae0769L } }, |
11764 | | /* 60 << 154 */ |
11765 | | { { 0xfee82fab30fcdfd2L,0xf36185be36a6990bL,0x88f343f63d33027bL, |
11766 | | 0xb775dcbb38ae16c6L }, |
11767 | | { 0xa107b9f085a82e45L,0xaff8b0aede6b9806L,0x3cd3980f0392fad0L, |
11768 | | 0xdd829fc6f3cf7650L } }, |
11769 | | /* 61 << 154 */ |
11770 | | { { 0x177190cc0dc8d031L,0x3e21cd257fc491ebL,0xea0cc90e0d929039L, |
11771 | | 0x5f7e62921dfc37b3L }, |
11772 | | { 0x66dd6ddee23bdd04L,0x70e7a31764fa490aL,0x59c90f8110a03dd8L, |
11773 | | 0x425ee6ce96d58314L } }, |
11774 | | /* 62 << 154 */ |
11775 | | { { 0x868001eb5f896ed1L,0xc4c003f591dad4fdL,0xfb4782b2d9ef80b4L, |
11776 | | 0xb9edb975323e4fc5L }, |
11777 | | { 0xa2ec9b6c53ef4cccL,0x4af8b2caa77922b6L,0x73850e896697874bL, |
11778 | | 0x76e0fd723568523fL } }, |
11779 | | /* 63 << 154 */ |
11780 | | { { 0x64799f46e9c400a6L,0x6c5176e7a9c245deL,0xbd97c80c93503700L, |
11781 | | 0xa92d9ee5ffbe539fL }, |
11782 | | { 0x76003d148376bb3bL,0x2e75cc77ac564679L,0x126af6c73a333970L, |
11783 | | 0xdbfd01336b6604bdL } }, |
11784 | | /* 64 << 154 */ |
11785 | | { { 0x11cf4c2e24424a48L,0x843c73ee37d4471cL,0xb3047fc5617a488bL, |
11786 | | 0xf2a91709e3cf861cL }, |
11787 | | { 0x844444211c3a60f7L,0x74787a3626679148L,0x115fbd0653d9404bL, |
11788 | | 0x70fd33656244cef0L } }, |
11789 | | /* 0 << 161 */ |
11790 | | { { 0x00, 0x00, 0x00, 0x00 }, |
11791 | | { 0x00, 0x00, 0x00, 0x00 } }, |
11792 | | /* 1 << 161 */ |
11793 | | { { 0x76695c9b2b574b7fL,0xcca80405c369b6beL,0x1f4bae99e3108dedL, |
11794 | | 0x9e715ce2ea133fceL }, |
11795 | | { 0x60d5205554c2ee1cL,0x56bab3011680742eL,0xa409b5f63fe438b9L, |
11796 | | 0xe3a8e4d08036f7ceL } }, |
11797 | | /* 2 << 161 */ |
11798 | | { { 0xe1d7ec0f247fdfdfL,0xfb9d90e74a23d1dcL,0x7012eb2c190fdc41L, |
11799 | | 0x5c2bbff6ddced48cL }, |
11800 | | { 0x8a93426a68cd7febL,0xb59639626b4854e1L,0x8ac72b8ee772bbd8L, |
11801 | | 0xc10d24d2a6b3040aL } }, |
11802 | | /* 3 << 161 */ |
11803 | | { { 0x8fdfef1694d5f347L,0xf31894902b04af0aL,0x30e3da7a6d2ca633L, |
11804 | | 0x8d002aea4803814aL }, |
11805 | | { 0xc15e311f95a0bfe9L,0x2891ec7e4b4cc50cL,0x0936fed88834df25L, |
11806 | | 0x7e5d7dbf78e00289L } }, |
11807 | | /* 4 << 161 */ |
11808 | | { { 0xb9a92d78fbfcf1b5L,0x17ce4fabe8427d74L,0xbae98ffdac66e74eL, |
11809 | | 0x6d548304145bb5e5L }, |
11810 | | { 0xbf3dc6030992abe1L,0x318cfbdabefdc5c5L,0xbb5fa37d59f8efb8L, |
11811 | | 0x347874a04ef5bef8L } }, |
11812 | | /* 5 << 161 */ |
11813 | | { { 0xdf552b01bf68688bL,0x2fc542cb8f96a57aL,0x5a731b614edb340eL, |
11814 | | 0x5143d103181cf578L }, |
11815 | | { 0x749ab5112cc936b6L,0xbc94c0530dd355c2L,0xa825eff5a3900fa2L, |
11816 | | 0x60a909a3c1dc2b31L } }, |
11817 | | /* 6 << 161 */ |
11818 | | { { 0x59b33c78af5bcab5L,0x0053d789496fbcdfL,0x5a5afe02d7883bc1L, |
11819 | | 0xec9afe78fa66951dL }, |
11820 | | { 0x38f28b83728e56a6L,0x21d0b6ac78cafb9dL,0xd43996bc7042e327L, |
11821 | | 0x606866377c31c145L } }, |
11822 | | /* 7 << 161 */ |
11823 | | { { 0xe1f8d2e63d919304L,0x09cf437c456be82aL,0x6a01dae8f0c21973L, |
11824 | | 0x8bffcda8246d9ef8L }, |
11825 | | { 0x7e03a0d45d853975L,0xc3800ca832533ba3L,0xd77152ccf02ce43cL, |
11826 | | 0xb8bc17a66392089aL } }, |
11827 | | /* 8 << 161 */ |
11828 | | { { 0x6f5fcb614b4558fbL,0x9602597b1f2545aaL,0xfd89ab3fabe5e469L, |
11829 | | 0xf1daeea2fb2e16bcL }, |
11830 | | { 0xe699acd73a12940fL,0x24980f6c4d7c7311L,0x4a5cf975336c8ec6L, |
11831 | | 0x8e180e328c27d3dcL } }, |
11832 | | /* 9 << 161 */ |
11833 | | { { 0xafb66269d36cb503L,0xe98b07d2754fdd67L,0x1e0b425b5a1fe9bfL, |
11834 | | 0xb4ac13e924fc4a85L }, |
11835 | | { 0xef693781c05a9c3fL,0x266c12165c0124dcL,0x7f3184c464ee22e2L, |
11836 | | 0x3f985fb3cdb5f1a9L } }, |
11837 | | /* 10 << 161 */ |
11838 | | { { 0xb258cd5ffc01efaaL,0x861688b10775588eL,0x72184b18fa46eae0L, |
11839 | | 0xd17c9dea5003404aL }, |
11840 | | { 0xa879196692e7bf9eL,0x049c63cb7891ac50L,0x2ed329285d46b33dL, |
11841 | | 0x49d1bfbf0623595aL } }, |
11842 | | /* 11 << 161 */ |
11843 | | { { 0x9f87147036c8e3e9L,0xdec7eb98b20d610dL,0x15b9326f7b151f4eL, |
11844 | | 0xa624c23e04005d02L }, |
11845 | | { 0x89fc2a8ed9cacdedL,0x9eb8defa9a2c3a00L,0x7c5dc2d6e8d7eab7L, |
11846 | | 0x48fa5403eb0a77cfL } }, |
11847 | | /* 12 << 161 */ |
11848 | | { { 0xcc4c31d0bf033733L,0xf37d0072ef211c17L,0x8967fe49ae35b246L, |
11849 | | 0x8c4cbd665cb1aa9bL }, |
11850 | | { 0xab0097db04840da3L,0x3946faec5828733eL,0x96c6531e87d64045L, |
11851 | | 0x893d378083bc0d0eL } }, |
11852 | | /* 13 << 161 */ |
11853 | | { { 0xf833e35553bec0dcL,0xc9ff72802803a655L,0x300ff7aa42b99b53L, |
11854 | | 0x3b48a8db6a7c3f2cL }, |
11855 | | { 0xf78c21d9f617f8aaL,0x23684cb7cbe4d565L,0xf64ae9c87514e9a0L, |
11856 | | 0x4ff5483c8429d8baL } }, |
11857 | | /* 14 << 161 */ |
11858 | | { { 0xdedab3515cb18391L,0xd3126ffc769ae948L,0x6c2f9ba8d3546ad9L, |
11859 | | 0x4567e48a69aabfb7L }, |
11860 | | { 0x6fbe29b0aa284747L,0x3185f0db98af4f2fL,0xf2a958a25b4c14e3L, |
11861 | | 0x106150c527d04855L } }, |
11862 | | /* 15 << 161 */ |
11863 | | { { 0x60a3b4fb68a19ca9L,0x65c5719afac47c70L,0xe228e088973e4cfdL, |
11864 | | 0x122a2429cb63c89fL }, |
11865 | | { 0x39fda97ebaea08f7L,0xe7da5324621c12cbL,0x569c8a51ff9b3c84L, |
11866 | | 0x5ab8bb6d4c3b8d54L } }, |
11867 | | /* 16 << 161 */ |
11868 | | { { 0x4f02ece400e25a95L,0xef9474027ac1732eL,0xecdb65ac51149260L, |
11869 | | 0x6043aa29a9180d51L }, |
11870 | | { 0x07fc92bd852deca0L,0xf333829715237c8dL,0xecfb0e76e84b3f38L, |
11871 | | 0x21f2f5c56b89af17L } }, |
11872 | | /* 17 << 161 */ |
11873 | | { { 0xf7aec2689659963fL,0x67fb5260a0cb213cL,0x5daa0fef66d931b7L, |
11874 | | 0x95457a7e34d309ffL }, |
11875 | | { 0xe7cf1a56c21285b6L,0xcbff9b08244e11b4L,0xd79ee62dc0ecce3dL, |
11876 | | 0xe3f207398267c254L } }, |
11877 | | /* 18 << 161 */ |
11878 | | { { 0xee06dd39037ef2d3L,0x790d1b0fd522f762L,0xf0659106f30c47d0L, |
11879 | | 0xcd83214bb5fdc6b5L }, |
11880 | | { 0xc86216606593b717L,0xb10a6d99fe3fa381L,0xa5c3224cab254244L, |
11881 | | 0xd15287e65854b18eL } }, |
11882 | | /* 19 << 161 */ |
11883 | | { { 0x6bf9594c225806aeL,0x75a97e2157e554f2L,0x0ea199f382b00b16L, |
11884 | | 0xde81a7265389c90fL }, |
11885 | | { 0x8503609e86922afeL,0x6778ad88254b75c3L,0x6bc2ac1bf3e660baL, |
11886 | | 0x7efc1550209c04a4L } }, |
11887 | | /* 20 << 161 */ |
11888 | | { { 0x6e90b6a52528ec51L,0x9196a7c90548389eL,0xf7e285c17b5b5ddeL, |
11889 | | 0x6335a624223d4837L }, |
11890 | | { 0x8acef5af412d19c4L,0xb22808a59783256bL,0x6ea3daaaf53e4b62L, |
11891 | | 0x7ca4c51bfa7bada4L } }, |
11892 | | /* 21 << 161 */ |
11893 | | { { 0x3e40461ee4d3115eL,0x24889b503646fc40L,0x39e0eb1efa26ccf7L, |
11894 | | 0xfcad5d47a82af350L }, |
11895 | | { 0x900375034862b1fdL,0x88e937e81a79283cL,0x16dd07c09a0127fbL, |
11896 | | 0xac62a16839fca31aL } }, |
11897 | | /* 22 << 161 */ |
11898 | | { { 0x26542e2aa294dac9L,0xefab45af2a5dcfe8L,0x6166857de642bbe8L, |
11899 | | 0x3f3ad480ff6290a8L }, |
11900 | | { 0x435d4c2b5f50633fL,0x36da60a784451c8bL,0x00f5e2e4261612e4L, |
11901 | | 0xe43182732d04786aL } }, |
11902 | | /* 23 << 161 */ |
11903 | | { { 0x192bcda52c175edbL,0x74681e0a59a6f637L,0x696df08b2d244985L, |
11904 | | 0xde61a87cfcf577c6L }, |
11905 | | { 0xcbd2ceabf2c9de81L,0x878f06ced36162e8L,0xc4f312e0b3d22955L, |
11906 | | 0x736ed43fe903efeeL } }, |
11907 | | /* 24 << 161 */ |
11908 | | { { 0x2c687134ca9bf60fL,0x2473ea8fbc7da3a5L,0xf54ef685b45fb57eL, |
11909 | | 0x594e84453383cadbL }, |
11910 | | { 0xe1edd3fb4a7df4bbL,0xa783d987c17c2c92L,0x0d498637cf8fcba8L, |
11911 | | 0xdebd801d3acd6e4cL } }, |
11912 | | /* 25 << 161 */ |
11913 | | { { 0x2ade8a7c34d3761eL,0xc591c889d825cd19L,0x3ffd60ba39b42decL, |
11914 | | 0x136d4902fd9674dcL }, |
11915 | | { 0x373a70f8da4842c4L,0x3208c4853f078bfdL,0x3587f871ef608639L, |
11916 | | 0xf990ab0ff04e46edL } }, |
11917 | | /* 26 << 161 */ |
11918 | | { { 0x39d542aba83a8450L,0x634b9198dacb7c65L,0x680cef7882486a05L, |
11919 | | 0xab1d4d7716eaf88bL }, |
11920 | | { 0x5e605279699c7aa5L,0x7e37906f3c40a07fL,0x4ae84ad8fb6926e3L, |
11921 | | 0x236b5f07e2ebc73bL } }, |
11922 | | /* 27 << 161 */ |
11923 | | { { 0xa94e50ab9e0939a5L,0xabeed8102d9e10e2L,0xea8190fb4e6423d3L, |
11924 | | 0xc739d20917acb62cL }, |
11925 | | { 0xae38106e6fdbe8dcL,0x1c6532d763204138L,0x03af879dbb7d0510L, |
11926 | | 0x1d76faf08cd2b1a4L } }, |
11927 | | /* 28 << 161 */ |
11928 | | { { 0x2fcdaf9bd77386ccL,0x30f9f5a4e32d2633L,0xa4fc8189382e7298L, |
11929 | | 0x946923a1588af205L }, |
11930 | | { 0x2c527a79114f2bebL,0xa2ca55d3077762ebL,0xe4b2eb7ccc85e41eL, |
11931 | | 0x4b5938d289346adaL } }, |
11932 | | /* 29 << 161 */ |
11933 | | { { 0x8e94e7414c2084cfL,0x4ef32d29a839ecb4L,0xc5371755802f0897L, |
11934 | | 0xb0274ff1c49ae8a1L }, |
11935 | | { 0xf7716d1c417bff62L,0x6efb0748918f9555L,0x7d3bb9c87aeb1e8dL, |
11936 | | 0xee9bd5e120d51e18L } }, |
11937 | | /* 30 << 161 */ |
11938 | | { { 0xfaf0a1a5d52033b1L,0x7967d3f4b8626432L,0xe837ca4b5574dc0eL, |
11939 | | 0xf7eae2372c11d8ffL }, |
11940 | | { 0xc0f2f1fa87dc4007L,0xf5f1f1538dfb51f7L,0xa64b10ae5bd9ac7fL, |
11941 | | 0xb3c2ba37a2198841L } }, |
11942 | | /* 31 << 161 */ |
11943 | | { { 0x5a7ebac566c1ee7bL,0x59e06f4cdba62ea8L,0xa2ea165e30944ef3L, |
11944 | | 0xfd5c7dfa3e21385bL }, |
11945 | | { 0x4a012c73e3bb110dL,0x16d852194fb2fdf3L,0x1aac7f117cad0594L, |
11946 | | 0xea7f7dbf4b098d9fL } }, |
11947 | | /* 32 << 161 */ |
11948 | | { { 0x88abaa5c7fd181e7L,0x136a0c9fca3ad1ebL,0xe6e5e6c2f394aab5L, |
11949 | | 0x84d697d49349e4a5L }, |
11950 | | { 0x8215578bf76f4b3bL,0x81a1cec612feeb5fL,0x5d336eb73e876bc3L, |
11951 | | 0xe8afdcb5071892caL } }, |
11952 | | /* 33 << 161 */ |
11953 | | { { 0x22f16f6b3da8d94cL,0x28b276c52d150069L,0x49d20441643d3e58L, |
11954 | | 0x3450c84a3da3a7fbL }, |
11955 | | { 0x8f5bf388442ca3e3L,0xca31411c9e615382L,0xbe63e34d7798675fL, |
11956 | | 0x551eb64dd1ea01e1L } }, |
11957 | | /* 34 << 161 */ |
11958 | | { { 0x1738a83b34a00e27L,0xe7591d15bf58ce70L,0xde2ace5a57d806d8L, |
11959 | | 0xe89e8110d0338020L }, |
11960 | | { 0x935ed5de4e25756cL,0x07ef8c2f46d0f00bL,0xa28e5fb4a659592aL, |
11961 | | 0xcb45c6227fa4986aL } }, |
11962 | | /* 35 << 161 */ |
11963 | | { { 0x6b7df06674de493cL,0x4d6bdaef79aa5258L,0xe9709c34e2b255edL, |
11964 | | 0xdba2653a7d0e7443L }, |
11965 | | { 0xeb8da5c8a00eb3e4L,0xe978228e7ab0e45cL,0x3a31bafd9d551a51L, |
11966 | | 0x1de0e9cf403352f5L } }, |
11967 | | /* 36 << 161 */ |
11968 | | { { 0xb94d547823ddd51cL,0x7c215c91130e78e3L,0x556b92e0ed547bceL, |
11969 | | 0x0072da6b909f5c6fL }, |
11970 | | { 0x4ec71b11f0dc846bL,0xd0f3b3b4bf7baaa1L,0x896391c547770705L, |
11971 | | 0x41fe573666732587L } }, |
11972 | | /* 37 << 161 */ |
11973 | | { { 0x02a7e3e34acd3c51L,0x217df736d30407b3L,0x503a31aee47c33cbL, |
11974 | | 0xe31863924912bbb0L }, |
11975 | | { 0x2491a08a75a5df9aL,0x2882f937c09294adL,0xe2576b69979ad9f9L, |
11976 | | 0xf44ddc1526dc1ffcL } }, |
11977 | | /* 38 << 161 */ |
11978 | | { { 0x7dad21d4968268aeL,0x07378e90be9c6fc0L,0x9406a8722b329579L, |
11979 | | 0xb27b5c51761f10aeL }, |
11980 | | { 0xf5dad2f9d04cf60bL,0x3154dff5df950997L,0xaaec9d30d8534a9aL, |
11981 | | 0x4ac722f5ac43f212L } }, |
11982 | | /* 39 << 161 */ |
11983 | | { { 0x722882f446464c70L,0x9b9b52266c3c702eL,0x4e3974bb8325964eL, |
11984 | | 0xd3ceff9daa0c5227L }, |
11985 | | { 0xd530c8f99534dba5L,0xd26e547bbc751878L,0x184a3527ea79b19aL, |
11986 | | 0x8dab921474f1cdc4L } }, |
11987 | | /* 40 << 161 */ |
11988 | | { { 0x708abc8cc051e9f6L,0x75194e9f4be2d9caL,0x031d69c1d6ab5348L, |
11989 | | 0x1785990e78b0e490L }, |
11990 | | { 0xd825f125f6c41f8eL,0x429924ea0fbf2fe6L,0x53c044befb87161eL, |
11991 | | 0xa3bbdf1b0651d153L } }, |
11992 | | /* 41 << 161 */ |
11993 | | { { 0xda660697ec6ecb9cL,0x51b4a5fdddb8c619L,0x80b87520230fbffbL, |
11994 | | 0xa05874308848da9dL }, |
11995 | | { 0x98715939864c2502L,0x2b10cbfbaf973396L,0x2867518409572b5fL, |
11996 | | 0x0a40cdef39adf777L } }, |
11997 | | /* 42 << 161 */ |
11998 | | { { 0x2efa3bb43ead6eefL,0xbd76b425d1b9fe65L,0x95f006cd5e527201L, |
11999 | | 0x00890f3b38a7dc3fL }, |
12000 | | { 0x84ffa0143a7ce6beL,0x3406aaa089541c2eL,0x430542b69559d989L, |
12001 | | 0x9b427b08b53bddd8L } }, |
12002 | | /* 43 << 161 */ |
12003 | | { { 0x2182bd9149639170L,0xb9fb2b423299ae83L,0xbc993d59423b7ea2L, |
12004 | | 0x03e416acc110039eL }, |
12005 | | { 0x90c2269a3ffe24aaL,0x421ea02d1c322c49L,0x40677b1c0ef8fa01L, |
12006 | | 0xa1acd239c59407d4L } }, |
12007 | | /* 44 << 161 */ |
12008 | | { { 0xb8cd4f408f14deccL,0x95e90d8769e16a6bL,0x85dcf163c3c38fd3L, |
12009 | | 0xf4fb87ba0c01f90aL }, |
12010 | | { 0x8274f825dcd0f994L,0x4c685fa52e6bf7d8L,0xc87d88473d928011L, |
12011 | | 0x9add0105f9efa96aL } }, |
12012 | | /* 45 << 161 */ |
12013 | | { { 0xed39152b50db3113L,0x6b523496b794e6b4L,0x6bb241b684630b17L, |
12014 | | 0x6e9f8ae01de3ae08L }, |
12015 | | { 0x97bd7c09d94ce4feL,0xe887b02c9e61057aL,0x853e8febc62c27faL, |
12016 | | 0x3f9d951a01600ed6L } }, |
12017 | | /* 46 << 161 */ |
12018 | | { { 0x3e957b36b57b9742L,0x92bfd61e82b72110L,0x108b450bfdce7ec4L, |
12019 | | 0xd8af107acc29c494L }, |
12020 | | { 0x8d67ff7047688c92L,0x57f4293328b9b681L,0xbbc98ef3aaf8a48dL, |
12021 | | 0x14113b1ae2d549b6L } }, |
12022 | | /* 47 << 161 */ |
12023 | | { { 0x1172b2590b412b3cL,0xaf86ca6f1d42a63eL,0x5f89313583660d24L, |
12024 | | 0xe7bfe9a85a21a441L }, |
12025 | | { 0xecd0aa5b4ee5122eL,0xbb68654c5e4df46eL,0x0c3e820b5e243845L, |
12026 | | 0x042b18955c46bfa5L } }, |
12027 | | /* 48 << 161 */ |
12028 | | { { 0x791b2085894f7f16L,0x42eb80f2b5c353fbL,0x377777f7df8db0d4L, |
12029 | | 0x023c096334c42ef2L }, |
12030 | | { 0xba05eb5ea34cb6d0L,0xffb8b01e55cd1242L,0xeab6ff7d87cd9f24L, |
12031 | | 0x175e94c9ab3c09fcL } }, |
12032 | | /* 49 << 161 */ |
12033 | | { { 0x6dc681407075fd9dL,0x638515664b203c44L,0x3071e924871d1be7L, |
12034 | | 0xe6285b5685ee9cd9L }, |
12035 | | { 0x738dd6294bcf8edcL,0xf3a368134ace75f5L,0x37a09e343cf6feb4L, |
12036 | | 0x4c2eaef72cd0c8afL } }, |
12037 | | /* 50 << 161 */ |
12038 | | { { 0xd945a28b16205f2aL,0xfe9112a7abadde7aL,0x7db6c5ee2bbf97c2L, |
12039 | | 0x3eb84a8fb5b54833L }, |
12040 | | { 0x9732a49f273007d9L,0xe61431c0c6a2e3efL,0x88aa1a0610a101daL, |
12041 | | 0x64b94de3b972cc61L } }, |
12042 | | /* 51 << 161 */ |
12043 | | { { 0xe79eb6aaf8402027L,0xbb1fa5e3ea6e7157L,0x457f33a24ebdbe4bL, |
12044 | | 0xf4e955e07a61b393L }, |
12045 | | { 0x578e2e64698d37cfL,0xbb139e2382ecbb69L,0x268d0291cfe8d05fL, |
12046 | | 0x7dcfef41625fa854L } }, |
12047 | | /* 52 << 161 */ |
12048 | | { { 0xe21d5b8f9c4da5e3L,0xb5e2220910bf3df1L,0xb04dd106437bf2c6L, |
12049 | | 0x807c5d041d055404L }, |
12050 | | { 0x6e9832062c06fd15L,0x773450afed63ea25L,0xc2dae10695c8dca3L, |
12051 | | 0x5323f6bad82229e8L } }, |
12052 | | /* 53 << 161 */ |
12053 | | { { 0x647fabee57c062bbL,0xcd6adee7cd5210acL,0x11b4df3b181f674fL, |
12054 | | 0x4e23bf4ef2a92b48L }, |
12055 | | { 0xeea34e2e84a83d6fL,0xeaa09d519cb197e5L,0x7f36a278845e5008L, |
12056 | | 0x41fa9b521581c0abL } }, |
12057 | | /* 54 << 161 */ |
12058 | | { { 0x58917f6723d1206aL,0xc04601ce11062b8dL,0xdcc60fb6f31f7326L, |
12059 | | 0xc5aeef464b071708L }, |
12060 | | { 0x5364069edc6939ebL,0x44bd15a2034a1052L,0x8177eeb162a307feL, |
12061 | | 0x451ae4e71907ad16L } }, |
12062 | | /* 55 << 161 */ |
12063 | | { { 0x80e4954427eb3193L,0xd788e57aaf88f4c9L,0xf062c60fd944e00aL, |
12064 | | 0x504463e6eb4a609fL }, |
12065 | | { 0x3593ad2074f13c8bL,0xdc7c5a35c50bce88L,0xa6336115b657d1f9L, |
12066 | | 0x18d14e5d591425efL } }, |
12067 | | /* 56 << 161 */ |
12068 | | { { 0x738967251454f76eL,0x52772de4425c87a9L,0xe59e4516c6efb7d6L, |
12069 | | 0xdddb8bf3d76bbc11L }, |
12070 | | { 0x1acbebd9c6fd2066L,0x88c3b5251d7082eaL,0x6a3b3d626d69cea3L, |
12071 | | 0xdbf73dfa8d065405L } }, |
12072 | | /* 57 << 161 */ |
12073 | | { { 0xd659c8d64a7bd06eL,0x678675207bd10bb0L,0x7c4e3be597838647L, |
12074 | | 0x545c7144c5891864L }, |
12075 | | { 0xf64e1031fa78d62cL,0x1f046593fa71692bL,0xd35a9cb771310c47L, |
12076 | | 0x10911b960ea84922L } }, |
12077 | | /* 58 << 161 */ |
12078 | | { { 0x5647310d93a9f5acL,0xa67858616c05eedbL,0x2f5aa7c843950b68L, |
12079 | | 0x57580907a9d03b3aL }, |
12080 | | { 0xd581049b42e15fe3L,0x55dcf9d2916c4e88L,0x87ebfd1327d1a183L, |
12081 | | 0x13aee909f5aaa51eL } }, |
12082 | | /* 59 << 161 */ |
12083 | | { { 0xa651959d3b9fc03eL,0x05c2877298997a74L,0x73e047f4ae2e4a65L, |
12084 | | 0x359e6c45783aa072L }, |
12085 | | { 0x1124e9f07a04b710L,0xd35094de6d2053f2L,0x0d57d9762575dab0L, |
12086 | | 0x822256fc69171229L } }, |
12087 | | /* 60 << 161 */ |
12088 | | { { 0xbd46937a3d19de1cL,0x71feede46f0be84dL,0xca2053667c4dc4b3L, |
12089 | | 0xfbb97d0de3e851cbL }, |
12090 | | { 0x0270b5ea2066e9a4L,0xeade87ff42ae150bL,0x9a7f9e818eb1bafaL, |
12091 | | 0xcb374aaf0eb5f68eL } }, |
12092 | | /* 61 << 161 */ |
12093 | | { { 0xa5841c9ad5525ab2L,0x3eed9ba803e02cd0L,0x29449bca279fca98L, |
12094 | | 0x4990ec0f3f450c92L }, |
12095 | | { 0xa241a8e3becbba58L,0xd0e2487c2eb47817L,0x6db7d4208300837dL, |
12096 | | 0x788728952d7f59efL } }, |
12097 | | /* 62 << 161 */ |
12098 | | { { 0x1b3d50331314fc73L,0x2cf4cd42e710adedL,0x9159bc5d6f4026b7L, |
12099 | | 0x403f947b2e62cc45L }, |
12100 | | { 0x18d6ac7047d97843L,0x69d5faaa0694f7ebL,0x7711535c6932e0f0L, |
12101 | | 0xc85c96166ebd1488L } }, |
12102 | | /* 63 << 161 */ |
12103 | | { { 0x558e3750d3542212L,0x21fe02d702921066L,0x1636a1a246b90554L, |
12104 | | 0x8acf01ed0108cc04L }, |
12105 | | { 0x57a2b16ab4d60d37L,0x3301a33b91f4fdb4L,0x70dc3d3a8e09b548L, |
12106 | | 0x35ae7d07079c0c2fL } }, |
12107 | | /* 64 << 161 */ |
12108 | | { { 0x95792f06978f92ccL,0xb11574d323196752L,0xc3249711b8cfcac1L, |
12109 | | 0x2061c767cf93af67L }, |
12110 | | { 0xeff09a1b2f63dbe7L,0x527776b648091eddL,0xf0fa985e19bba5a9L, |
12111 | | 0xc54f89f366ae3221L } }, |
12112 | | /* 0 << 168 */ |
12113 | | { { 0x00, 0x00, 0x00, 0x00 }, |
12114 | | { 0x00, 0x00, 0x00, 0x00 } }, |
12115 | | /* 1 << 168 */ |
12116 | | { { 0xbc5a62846a436476L,0x6fcc231335dbb9cbL,0xa77d2d9f5012ffbfL, |
12117 | | 0xcc25e9f44ae4bd14L }, |
12118 | | { 0xd17fcfc41a5e40c6L,0x7d716a5fff085322L,0x9dcbc50bee3077c4L, |
12119 | | 0xebfe953cdb4a6e61L } }, |
12120 | | /* 2 << 168 */ |
12121 | | { { 0xe7e66f2fd3d777d7L,0x3519dc64cf1a6b09L,0x0df07bebdbf88dcfL, |
12122 | | 0x17b09654acd4e105L }, |
12123 | | { 0xcbd7acd04e70c783L,0xda66e74796b9d577L,0x6d0488a1e3e52f8aL, |
12124 | | 0x3ec0fd116ff71c1bL } }, |
12125 | | /* 3 << 168 */ |
12126 | | { { 0x75474cb6be4f2782L,0x10ef5e6b41c2c0cdL,0x592c6b066a65e29cL, |
12127 | | 0x4d424662d12d0608L }, |
12128 | | { 0xf5280949b1a714feL,0x52697bcc1199f802L,0xc68ba4f8e6a4ff3aL, |
12129 | | 0x25a5380f351849ceL } }, |
12130 | | /* 4 << 168 */ |
12131 | | { { 0x33207f69573ec6f5L,0x7ecc4bbe67bd2e8bL,0xa07acd348ffe2420L, |
12132 | | 0x0a957eb8a13f9cddL }, |
12133 | | { 0x0bc7f95b9ec9c0c5L,0xd82147cc6a8578cdL,0x07a2e7c59e61923cL, |
12134 | | 0x591eb06632e83f25L } }, |
12135 | | /* 5 << 168 */ |
12136 | | { { 0xaaa61588957c94faL,0x6a2bc707364911fbL,0x09771450c4907b19L, |
12137 | | 0x4cc487739694ccc4L }, |
12138 | | { 0x9db6216e50c878acL,0x6e89210c6f3031f1L,0xb711dcbfced0d41eL, |
12139 | | 0xe39bfe3e0fbf9751L } }, |
12140 | | /* 6 << 168 */ |
12141 | | { { 0x18fd7a45764636b5L,0xe437ee86b75d48f3L,0xe323bb1860a80177L, |
12142 | | 0xedc3c8f3bc94c0eaL }, |
12143 | | { 0xd8351164ec8cb0cfL,0xccdd88292472936dL,0xa8db1b8558059756L, |
12144 | | 0x4eda8cf8d55c184aL } }, |
12145 | | /* 7 << 168 */ |
12146 | | { { 0xdfb5727d2923b8cbL,0x6e793e5ce6773d5eL,0x8ecc901ba0641165L, |
12147 | | 0x6077ab26d6da5095L }, |
12148 | | { 0x00669b0c6b127d9dL,0x8140e4e0d63e2e1fL,0x1ad5b03c9641b6a2L, |
12149 | | 0x44299f889baed7b0L } }, |
12150 | | /* 8 << 168 */ |
12151 | | { { 0x1736296d1ea4a056L,0x6f74702cd77811baL,0x5c927548432dd74bL, |
12152 | | 0x9cc73271e7a194abL }, |
12153 | | { 0x0f035eded6328dcaL,0x5292aa3928db755eL,0xb5488385a0192a4aL, |
12154 | | 0x6e7d2fa8dfc6895cL } }, |
12155 | | /* 9 << 168 */ |
12156 | | { { 0xfa912a0a5d8bbec9L,0x7051140a0087edb3L,0x5293672b64865e5bL, |
12157 | | 0x6e8448c9c82c48d5L }, |
12158 | | { 0xeece41cba2c437b3L,0x148967d221ce1ef4L,0xf14391fa6b05c2a5L, |
12159 | | 0x15ff5fc98fed2f1fL } }, |
12160 | | /* 10 << 168 */ |
12161 | | { { 0x18ae5e744557b49fL,0xe33760c63db266b2L,0xd5d830c7b1b249b5L, |
12162 | | 0x24c665b9c5fff531L }, |
12163 | | { 0x6b304406c57df7c0L,0x59706667c3958e89L,0xbf590ff2790a5483L, |
12164 | | 0xbcaea5a55ce77aaaL } }, |
12165 | | /* 11 << 168 */ |
12166 | | { { 0x8578a00280ceb559L,0x3639aadfd8d61946L,0x3fd52d94add3bb00L, |
12167 | | 0x16c27846e09a8ce3L }, |
12168 | | { 0x75cfd6c6294c7967L,0xfb9b7f3759195034L,0xae687a99aa972a86L, |
12169 | | 0x04bdefdbebd2394eL } }, |
12170 | | /* 12 << 168 */ |
12171 | | { { 0x8e245a192f96144dL,0xc740d3483b61e5abL,0x8703710e293ddb25L, |
12172 | | 0xf4bb6ac02bbf8f63L }, |
12173 | | { 0x86396457de3b5805L,0x607022db65d29e63L,0xad0a0cdccc930fe3L, |
12174 | | 0xd9997ebb1626abf6L } }, |
12175 | | /* 13 << 168 */ |
12176 | | { { 0x2d872d172a510565L,0x3e6820790357ba07L,0x49edd962ebfaf203L, |
12177 | | 0x3a13edfbf81eda20L }, |
12178 | | { 0x87b5b5e17a75f2d5L,0xf04de2b8ddfd9511L,0xf29a1569cfc5c5ffL, |
12179 | | 0xa399553207160ed3L } }, |
12180 | | /* 14 << 168 */ |
12181 | | { { 0xb6247469cb2b061bL,0xe75c53512f10fe1eL,0xbaf44963d20e1bf7L, |
12182 | | 0x216cb6ab2d93babfL }, |
12183 | | { 0x7e0b655cf5109e45L,0xdcc712fc6657450dL,0xe06c408ed51fc733L, |
12184 | | 0x85b11f96ed9c0912L } }, |
12185 | | /* 15 << 168 */ |
12186 | | { { 0x954cb91c37365c9bL,0xe0eaa047b2f74fe7L,0x9af74b8615716541L, |
12187 | | 0x4da06207f73dc7bdL }, |
12188 | | { 0xdb0d089ee07890a1L,0x5bf0968173902f91L,0x14e1710ca897f0feL, |
12189 | | 0x191ec9a13605b1c2L } }, |
12190 | | /* 16 << 168 */ |
12191 | | { { 0x271b2e2a0133903bL,0x5b3686f2e495ee32L,0x89bcc9740c991f28L, |
12192 | | 0xadd20cce34f93b8aL }, |
12193 | | { 0x5f5a1768680b65b6L,0x0c453ab8aad41c40L,0xd479630fa7fb4269L, |
12194 | | 0x60039d0152c4e929L } }, |
12195 | | /* 17 << 168 */ |
12196 | | { { 0x0d8d112cff860883L,0xe1dce5c9723c6e29L,0xc19eadae191ad70eL, |
12197 | | 0x4af8194d62ce0e64L }, |
12198 | | { 0xf207bfb0cc81415cL,0x3ab92f3b008495c8L,0xe7250e17fdb9534bL, |
12199 | | 0xba67e9b86c0c1d1cL } }, |
12200 | | /* 18 << 168 */ |
12201 | | { { 0x117ae3ff072c793fL,0x5243e6ea9fb3091eL,0xf93ad51431a59e39L, |
12202 | | 0x8ce9cfb0c93c1891L }, |
12203 | | { 0xbfcbf9011ed08b0eL,0x4d13cf2ab53d687dL,0x25aa82db5d81e4adL, |
12204 | | 0xd12f01f563c3cb41L } }, |
12205 | | /* 19 << 168 */ |
12206 | | { { 0x1e799084f8d1333aL,0x30c96c55653bcd0aL,0x9cf130fd44b5195cL, |
12207 | | 0x4cffc53113c77763L }, |
12208 | | { 0x082287f89430619fL,0x78bb037db08ce0d9L,0x2e69d5123affe8e8L, |
12209 | | 0xe9dbb263ba9ec693L } }, |
12210 | | /* 20 << 168 */ |
12211 | | { { 0x67b66ad862f132b5L,0x70318d2bbeb47184L,0x46c429eaf50a0e98L, |
12212 | | 0xd7e32ebae2b3542cL }, |
12213 | | { 0x625c1ce9e096b4b7L,0x09221351389fd4ddL,0x08dc02d2fb0ee85aL, |
12214 | | 0x98c0ba7d853cd901L } }, |
12215 | | /* 21 << 168 */ |
12216 | | { { 0x88a0cd6d0deb1d99L,0x989e496279a6b90cL,0xf5d19b9524dd89d5L, |
12217 | | 0x189e5230b37cf19eL }, |
12218 | | { 0x84a607b8b0c5fefaL,0xe48450c9d8c7fbd1L,0x178f9b5646479ad7L, |
12219 | | 0x7d6a36c6cbcd2ae5L } }, |
12220 | | /* 22 << 168 */ |
12221 | | { { 0x95a4d51f71ae6516L,0x0363349f566e2171L,0x4d4bb4b0ed1f2fc7L, |
12222 | | 0xde435aaff10fa10cL }, |
12223 | | { 0x711258a9b76e3b6eL,0x9a640eeb2792e0b3L,0x7953ead85fab8617L, |
12224 | | 0xd4b6d248dd64702aL } }, |
12225 | | /* 23 << 168 */ |
12226 | | { { 0x95bbe5282d672209L,0xfcc53cfcb6926b8aL,0x0581419057659f87L, |
12227 | | 0x4836e93b08d25069L }, |
12228 | | { 0xd1eb20066a5ad81eL,0x4bee145aaf0d37f8L,0xd44362add31ce6cbL, |
12229 | | 0xdc03e581936c1060L } }, |
12230 | | /* 24 << 168 */ |
12231 | | { { 0x13cffce916fcb889L,0xed7e6683ac7e709aL,0xb655d0985896e541L, |
12232 | | 0x07124356b92a6204L }, |
12233 | | { 0xa2ae43c8a8f50043L,0xeb39255c68731891L,0xe07be0ad3d9c408bL, |
12234 | | 0x0db7904f0b4f5c3aL } }, |
12235 | | /* 25 << 168 */ |
12236 | | { { 0x7ddc02354d70bb81L,0xe3b323c35347797aL,0x3536cd9d3536deeeL, |
12237 | | 0x579b6894001bfd25L }, |
12238 | | { 0x58ad5301ebe2922eL,0xe0aa2cae92a88d43L,0x24567a3b4409e205L, |
12239 | | 0x3cece61a2258f0cbL } }, |
12240 | | /* 26 << 168 */ |
12241 | | { { 0x8da5cf463babf4f6L,0xb37428d981fff8e6L,0xcda1ff7748495d23L, |
12242 | | 0x98f9208f34f392adL }, |
12243 | | { 0x931f5b375bc88514L,0xd49971becb375921L,0x9dcd4986b5c01fabL, |
12244 | | 0xcc26ec02c1ab1c94L } }, |
12245 | | /* 27 << 168 */ |
12246 | | { { 0x34e8087db4b874d6L,0x224fc2779d0a3761L,0xacc1f2583f7e5159L, |
12247 | | 0xc82d71ec8966d593L }, |
12248 | | { 0x5b1f9f407dcd691aL,0xd8fafdaeba28f416L,0xe8622ae643b6d90fL, |
12249 | | 0xec13fce79ec71d5bL } }, |
12250 | | /* 28 << 168 */ |
12251 | | { { 0x07b6aeb8fd2e8214L,0x813e718e4cbc297aL,0xfac0dfab81fd6931L, |
12252 | | 0xa1fe88213c48ffd7L }, |
12253 | | { 0xd2715c1885e03c08L,0xb6e4418a977c57f0L,0xfaa79ea473418cdeL, |
12254 | | 0x6ab8c25b171e2a89L } }, |
12255 | | /* 29 << 168 */ |
12256 | | { { 0x2800445c4ec7cf05L,0x8e74a7b0b66c6200L,0x081b1177481db950L, |
12257 | | 0x526d051cb89f7c02L }, |
12258 | | { 0x3c8309425c29c905L,0xbfbd9e3e44c15ce5L,0x6055c949a29472e6L, |
12259 | | 0xab0010c7a37c4912L } }, |
12260 | | /* 30 << 168 */ |
12261 | | { { 0xeb8492be5b7d3647L,0x0b4cfd7b1ee31cafL,0x81cfcde24b46304bL, |
12262 | | 0x968df75dc554a5bcL }, |
12263 | | { 0x7ce788068d0e043cL,0x1e896819345ea27cL,0xe040c19c6e287603L, |
12264 | | 0xa581856f138e8eceL } }, |
12265 | | /* 31 << 168 */ |
12266 | | { { 0xe49f6558c354a9d6L,0xc4ad763ac0cfb2d3L,0x4be2143b1b76b8f3L, |
12267 | | 0xa8caae14d0ad0247L }, |
12268 | | { 0xcfe96bd5928b0ae5L,0xcf5051f77724f8e4L,0x9128916fec4af64aL, |
12269 | | 0xc211ff4bcb437bfbL } }, |
12270 | | /* 32 << 168 */ |
12271 | | { { 0xee6e8134bce59c0fL,0x3d068b4cd59f7f86L,0xafa2753c96283457L, |
12272 | | 0x453fe33c1aedcbf0L }, |
12273 | | { 0x781294c8483c0b1aL,0x9e6f51335c2ad1eeL,0x2a77b6ce69383e0bL, |
12274 | | 0xcb5a83abfa9f0142L } }, |
12275 | | /* 33 << 168 */ |
12276 | | { { 0x2318aa983b0e027fL,0xdea716a3c2c68dd5L,0x3f75c46d9f548eb3L, |
12277 | | 0x7164251396120de9L }, |
12278 | | { 0xf733614cdbee488eL,0xdf940026aad077f4L,0xeda9c09894a840cbL, |
12279 | | 0x5108bf0b393be3b9L } }, |
12280 | | /* 34 << 168 */ |
12281 | | { { 0x137c08b039980ceeL,0x2e31bba00839112bL,0x9ec73de2ba614ea3L, |
12282 | | 0xd0bca8d4d17822c0L }, |
12283 | | { 0x5d9f748250b7805dL,0x16035a80298becf6L,0x46571500d7c318e7L, |
12284 | | 0x6bd30919d0ee6956L } }, |
12285 | | /* 35 << 168 */ |
12286 | | { { 0x5c0ad747b2e13320L,0xe7f7f71eda47666dL,0xce322037318a8e8eL, |
12287 | | 0xf15232aee9f84dd6L }, |
12288 | | { 0xc59709c5915a03b7L,0x2e2000f79a3040b4L,0x41955f778398a5a9L, |
12289 | | 0xa8e6620e7086b69eL } }, |
12290 | | /* 36 << 168 */ |
12291 | | { { 0x63acd70e8344224bL,0x966efefcc3145159L,0x406619ecf5e0f955L, |
12292 | | 0xedd0efc9ec6de618L }, |
12293 | | { 0x6fe3e34eb2580ed4L,0x9d8875b54139b95eL,0x85baf0c18e5be187L, |
12294 | | 0x549cefca09553886L } }, |
12295 | | /* 37 << 168 */ |
12296 | | { { 0xc965b2a2ae9ef2ccL,0xd43079fb15afee63L,0x02b8794a076cdb05L, |
12297 | | 0xd0ae7321a0d1a953L }, |
12298 | | { 0x5a8b52812ac5fff0L,0x73437d67cdda362dL,0x1866b2b91a95ff87L, |
12299 | | 0x5ff113980420b3e1L } }, |
12300 | | /* 38 << 168 */ |
12301 | | { { 0x0d43b92c92284adfL,0x814253674da4c4a7L,0xc8093c56df17641aL, |
12302 | | 0xc418f19db5ccd14dL }, |
12303 | | { 0xaad98608506762edL,0xb6f45297ddb2c829L,0xd0e49176d395692aL, |
12304 | | 0xc05b4e273b1073d3L } }, |
12305 | | /* 39 << 168 */ |
12306 | | { { 0xe8ca133be5808e53L,0x6105cd0e06a64b56L,0x89a6466953cf6d7eL, |
12307 | | 0xe281ca2d1bebfea5L }, |
12308 | | { 0x98ee67ac324b25d8L,0x2227631fdca154ecL,0xa242c5a14406e8baL, |
12309 | | 0xced39f0549250026L } }, |
12310 | | /* 40 << 168 */ |
12311 | | { { 0xd256dd83dd77d731L,0x2faa6a0e7414d0c0L,0xa2e0f9283b90f004L, |
12312 | | 0x019bb3ef8719bfd4L }, |
12313 | | { 0x3f4f6109e2d515c2L,0xb50a9907bf88d7a6L,0x8e5fbc2d015ac4deL, |
12314 | | 0x96992421e78a2117L } }, |
12315 | | /* 41 << 168 */ |
12316 | | { { 0x321e608626e53df3L,0x07eb1d15f42b2508L,0x7b5521080ef22bc2L, |
12317 | | 0x9eedb82800f3e571L }, |
12318 | | { 0x556abbaf6f0e883cL,0x8025770b40473eadL,0x2fdab9656ece1cc8L, |
12319 | | 0xba07cf8900ec1adcL } }, |
12320 | | /* 42 << 168 */ |
12321 | | { { 0xefec4deb4be5ad18L,0x16625be8d59fa732L,0xffee542e6808cdf7L, |
12322 | | 0x85c19ef3d7a9f29bL }, |
12323 | | { 0xca4ac1f982dc1ae3L,0xa6c726d1ca5e8f58L,0x0bcc3d5866960eddL, |
12324 | | 0x8e8445d056f94ea8L } }, |
12325 | | /* 43 << 168 */ |
12326 | | { { 0xd4d0177b938e64c9L,0x8d0199f1f9a0288fL,0x9176d55914a226c0L, |
12327 | | 0x13b373eea00aea02L }, |
12328 | | { 0xc63b2d796b629feaL,0x36df7c09a7e0cc42L,0x4628ba4f40bdbc8eL, |
12329 | | 0x7f5b02280de296f2L } }, |
12330 | | /* 44 << 168 */ |
12331 | | { { 0xb05981303c63d73fL,0x55e59f610431550eL,0x6f2e109d6693eb8cL, |
12332 | | 0x3602ba82470b10feL }, |
12333 | | { 0x3acd0af45ec7f357L,0xfa7479f4b071c758L,0xbf47caa0e13652c9L, |
12334 | | 0x6fa139bbf5f5eca9L } }, |
12335 | | /* 45 << 168 */ |
12336 | | { { 0xfa149b848c0e197eL,0xca31714c60ae7755L,0x934ed1af8ccc4241L, |
12337 | | 0x39772769781a024eL }, |
12338 | | { 0x9f07dfb1be24eb34L,0xfa8a9c600a3dac06L,0x08fbbe218e410ce7L, |
12339 | | 0xea55fb96396a9702L } }, |
12340 | | /* 46 << 168 */ |
12341 | | { { 0x4422bc58f18882bbL,0x1ccb7b470ddd0dd7L,0x828580a8f40ea941L, |
12342 | | 0xf9ec97280db78350L }, |
12343 | | { 0x2823b4fd1612f28aL,0x96dc3e2982b26487L,0x1740fdae2497420aL, |
12344 | | 0x3bb39dfa322f1c6fL } }, |
12345 | | /* 47 << 168 */ |
12346 | | { { 0xf32a21e64cb19878L,0xeac040979277c80bL,0x67178d8f13380801L, |
12347 | | 0xfe5e269434bf8872L }, |
12348 | | { 0x8278bad4327129d3L,0xb42a3f9b941c4e5cL,0x04eefb7d39de36f0L, |
12349 | | 0xed2aab7f8d967703L } }, |
12350 | | /* 48 << 168 */ |
12351 | | { { 0xa3283a2c72aa1c89L,0x1969613e2a4d513eL,0x0d4c0347ddd5ea18L, |
12352 | | 0xbbad9ce443cee5feL }, |
12353 | | { 0xe8c050a857313b49L,0x3b91c3ccff09bf31L,0xe6e5ab6d610395cbL, |
12354 | | 0xfc36cde0deb31befL } }, |
12355 | | /* 49 << 168 */ |
12356 | | { { 0x76f806f25d43c8a7L,0x08a64cb263b7c746L,0xb6cdcdab45256a2aL, |
12357 | | 0x640f67ea9bebae90L }, |
12358 | | { 0x682eeeb6cf016971L,0x4d16d56650f59261L,0xdaca66bbf41db99dL, |
12359 | | 0xccdb3da0f8f04d96L } }, |
12360 | | /* 50 << 168 */ |
12361 | | { { 0x7c228caecf41b164L,0x40bef27fedbefa7cL,0x4efdd6c2ecb43685L, |
12362 | | 0x4d0fa367a834a50bL }, |
12363 | | { 0x2ec9c445b87f7ec7L,0xc3663ced23170d0fL,0x189872e4c5b47b29L, |
12364 | | 0xf8047387746d6a13L } }, |
12365 | | /* 51 << 168 */ |
12366 | | { { 0x753837d3b75ac898L,0xaee88a6091959a78L,0xf46b0f6ee6f59621L, |
12367 | | 0x0e92e27110d981c8L }, |
12368 | | { 0x610d0f808d578b6dL,0x962bd7bbb4d9b9deL,0xbe26960d84a0c394L, |
12369 | | 0x142a0c753b5bd996L } }, |
12370 | | /* 52 << 168 */ |
12371 | | { { 0x442bb39a0be95497L,0xce5d2c600f33c9deL,0x1ce0d08c283dc751L, |
12372 | | 0x106ed58879b3c1a8L }, |
12373 | | { 0x4b2e29c67f8ee4d7L,0x7d61e3bb08bbd660L,0x11504dc51e964a3eL, |
12374 | | 0x31544a52c77a957aL } }, |
12375 | | /* 53 << 168 */ |
12376 | | { { 0x1fc4161ecd7d0dacL,0x83733f27370c15c9L,0x224976de853758ccL, |
12377 | | 0x1bbb773047c1ab78L }, |
12378 | | { 0x94a3b69719c89029L,0x031432f037dfc44fL,0xf84593acd88090cbL, |
12379 | | 0x381b51bc65bcfee8L } }, |
12380 | | /* 54 << 168 */ |
12381 | | { { 0x38dac75b10b412b7L,0x6df5c9a1c7e06d08L,0x9c6d80680e08c41cL, |
12382 | | 0x1544e3c5c3600f4fL }, |
12383 | | { 0xf827a48d9c83e0a1L,0xd853922806bcb3c4L,0x149862b36268cf12L, |
12384 | | 0x4829ee566ec4e354L } }, |
12385 | | /* 55 << 168 */ |
12386 | | { { 0x44b2c3bfb712a1f9L,0xe556b78ac90852afL,0x50f6de2e906a13b6L, |
12387 | | 0x1744efd5568a1293L }, |
12388 | | { 0x942ad99e2b5745a1L,0x0f100bd9ca362913L,0xd9b6ad5191e96cdeL, |
12389 | | 0x4aa440bc5a2f88e9L } }, |
12390 | | /* 56 << 168 */ |
12391 | | { { 0x53c4c95657a10070L,0x7d1be72eae6e4872L,0xb704009cd427eda4L, |
12392 | | 0x3e0aa93f5f39b7d8L }, |
12393 | | { 0xdea1ab483153a757L,0x10a070e79ee60eadL,0xd6a6e92de6c916bfL, |
12394 | | 0x02b1e0e6bd7bb216L } }, |
12395 | | /* 57 << 168 */ |
12396 | | { { 0x6efb5f1bb49138a3L,0x11f7a9bee88d2db0L,0x0b9a2b113233df5bL, |
12397 | | 0x0688afda1824fcc5L }, |
12398 | | { 0xcf1ea2a55ff97f9aL,0xe8ad7b154998e602L,0xdb4ae67ea455aad1L, |
12399 | | 0x823ac09074a27ff3L } }, |
12400 | | /* 58 << 168 */ |
12401 | | { { 0x5c4310602573443fL,0x92f9f9ab94258714L,0x1548fe21b1283d2eL, |
12402 | | 0xf86fe50b5c5be5f9L }, |
12403 | | { 0xd20dfc8a520c5fc6L,0x6e721dd953b5e7c5L,0x8ef7eee58f2a8969L, |
12404 | | 0xe894859f62d07bdfL } }, |
12405 | | /* 59 << 168 */ |
12406 | | { { 0xaf2791761cfc6627L,0x94b8cff4483755e9L,0xa5916f700fda4bcbL, |
12407 | | 0x9c5318d047ba65f3L }, |
12408 | | { 0x9e9c8e54636cd7e3L,0x5c64a26154c49da3L,0x04d7ff61690e932cL, |
12409 | | 0x92a357b3c84b0b78L } }, |
12410 | | /* 60 << 168 */ |
12411 | | { { 0x47f6144cc6f3bd8dL,0xdf7b1ee471c19265L,0xa7ea37f13fd5c30fL, |
12412 | | 0xdc2d890b79fa08cfL }, |
12413 | | { 0x9813bced2fd40236L,0xa8a1055f432dde17L,0x70011f477772c727L, |
12414 | | 0x965c130a2e2e802fL } }, |
12415 | | /* 61 << 168 */ |
12416 | | { { 0x31a6aca7f5bd4ac5L,0x83995bded825db6fL,0xcbf20325fe521833L, |
12417 | | 0x8dcd25a10278f4a0L }, |
12418 | | { 0xf1e83d975f2293eaL,0x1717876b52317ad3L,0x0df6216714181928L, |
12419 | | 0x24adfd6e2fe203ceL } }, |
12420 | | /* 62 << 168 */ |
12421 | | { { 0x1d264af0797f25ffL,0x2cb7cc17d22e3da1L,0x10c4b51ae0016a19L, |
12422 | | 0x5956ce8fd82b2a86L }, |
12423 | | { 0xdef0fefca3d4780eL,0x97e693ab6e92b93aL,0x8fa3f4fa20bcc98fL, |
12424 | | 0x4fc004f1f9182867L } }, |
12425 | | /* 63 << 168 */ |
12426 | | { { 0x1a206da393e73961L,0x37d75a901e7db32cL,0xa39f0db10455b815L, |
12427 | | 0x841646e0b69ee770L }, |
12428 | | { 0xadb0aaaa0939f065L,0x5608613b0b147d7aL,0x84ce1a4c470f6875L, |
12429 | | 0x501de5fe7983050eL } }, |
12430 | | /* 64 << 168 */ |
12431 | | { { 0x19915b26c3d8ed98L,0xf451e57a9a66a6e5L,0x2984360730dab6a3L, |
12432 | | 0x1710267c3d1a1ebbL }, |
12433 | | { 0xce4ecfd4e11d88c0L,0x12fc278711ce026aL,0x9801cecd691227deL, |
12434 | | 0x517a92f376ce6daeL } }, |
12435 | | /* 0 << 175 */ |
12436 | | { { 0x00, 0x00, 0x00, 0x00 }, |
12437 | | { 0x00, 0x00, 0x00, 0x00 } }, |
12438 | | /* 1 << 175 */ |
12439 | | { { 0x821b0fdf648c48e5L,0x689e6d569f45a433L,0xa5a9dca82e572855L, |
12440 | | 0xb0f07eb78adfb547L }, |
12441 | | { 0x48ecb166552c8d55L,0xfe3fc268ce854171L,0x323af5ebeeee9bc0L, |
12442 | | 0x0666a2a341ae1c80L } }, |
12443 | | /* 2 << 175 */ |
12444 | | { { 0xa06d20bc9ff262fbL,0xcba032fdd075868bL,0x70376026943fd973L, |
12445 | | 0x81c57cbae35c5e02L }, |
12446 | | { 0x1964e700ba871f1bL,0xf03a8c046b265f57L,0xc8ebc9120b950259L, |
12447 | | 0xd2b0ee30ad32ca8bL } }, |
12448 | | /* 3 << 175 */ |
12449 | | { { 0xe01bf0c289c8e719L,0xbce1e20fb2f4cdb0L,0x8c38eeafa1053ca5L, |
12450 | | 0x8c2d85ef7cd633a5L }, |
12451 | | { 0x756953649b53cdb1L,0x5e999741447eb1a5L,0x6d6b2d88dbd88626L, |
12452 | | 0x87eaf04521876357L } }, |
12453 | | /* 4 << 175 */ |
12454 | | { { 0x2c88f1ffdeec441eL,0xab52096bd01b2157L,0x37eee2756c45cf5cL, |
12455 | | 0xa070d24e0520ecaaL }, |
12456 | | { 0x61d15bd1546b9fd3L,0x3276fb742c96db1cL,0xc5c1b041b95b29b7L, |
12457 | | 0xe18008dbbd7d3254L } }, |
12458 | | /* 5 << 175 */ |
12459 | | { { 0xd56ae44f98dfb69aL,0xd5f66b0b609d941cL,0xca6b6d35b91b5245L, |
12460 | | 0x98e3a4e37b3f98a6L }, |
12461 | | { 0x0715dfa6f358c56aL,0x3b02ff2136a66c64L,0x737b1401cb22cbd3L, |
12462 | | 0x9dd15f5b6b8e9624L } }, |
12463 | | /* 6 << 175 */ |
12464 | | { { 0x25f5a71dd360d017L,0x4c0779b529b0ed73L,0xc662fedc9825a018L, |
12465 | | 0xeee8912561d4add0L }, |
12466 | | { 0x1543814d92163d14L,0x79f2376f27370d3cL,0xf80c6963cbe1af7aL, |
12467 | | 0xf2d521bceb9e41f7L } }, |
12468 | | /* 7 << 175 */ |
12469 | | { { 0xe241619fc1805864L,0x6f1d6166b2de204aL,0x13c3f91250e68d0bL, |
12470 | | 0x32eb021dc4a24f5aL }, |
12471 | | { 0x3f1452f50e78c588L,0xa267bf19c9971e98L,0x77a231a7e801c021L, |
12472 | | 0xf363c9b3c2666e80L } }, |
12473 | | /* 8 << 175 */ |
12474 | | { { 0xb8eb0bf0ae309a0aL,0xa9f52f58375b8fbcL,0xb8e4f9481a4993b7L, |
12475 | | 0x50ce578e8f73c292L }, |
12476 | | { 0x2437a4a602e503d6L,0x20cdfc50e4c68ea3L,0xfec5993b3616f348L, |
12477 | | 0x5d96b4c5c0c420dfL } }, |
12478 | | /* 9 << 175 */ |
12479 | | { { 0x6b71cdf0cca0c48aL,0x00e71b54c1aea033L,0x247f5baa69f6d107L, |
12480 | | 0x4e3ec504050c3704L }, |
12481 | | { 0xf2b2be8a7a438e93L,0x240b632da331e01eL,0x61e6655791150675L, |
12482 | | 0x3236413495a99a28L } }, |
12483 | | /* 10 << 175 */ |
12484 | | { { 0x5e5de136d3399e1eL,0xe38bab00fe2f8b75L,0x736126de3a77db29L, |
12485 | | 0x7b0d1865f2aa121eL }, |
12486 | | { 0x5545e45edecf9cdeL,0x9608ebce2318be70L,0xe6596006fa55b0e5L, |
12487 | | 0x0c8c2f41bc4b6ca0L } }, |
12488 | | /* 11 << 175 */ |
12489 | | { { 0xda1c5c7a92025945L,0xb114ba225d3b0775L,0x11cc6888cedb69a0L, |
12490 | | 0x4365bea80f83c772L }, |
12491 | | { 0x006fe80bbda8dbe3L,0x334adcb6c2d3d266L,0x8c92c0841521de1cL, |
12492 | | 0x57873ef978d8f72cL } }, |
12493 | | /* 12 << 175 */ |
12494 | | { { 0xcfb0a7d03b64dcd7L,0xf4c2f1fc558c9d55L,0x110c2db2a0fbc656L, |
12495 | | 0x3cad85caef5b6beaL }, |
12496 | | { 0x7099dd0e4e0b1230L,0xc769b937098a2fcdL,0x9209f5501e1e7407L, |
12497 | | 0x1b47255d1ba7cb47L } }, |
12498 | | /* 13 << 175 */ |
12499 | | { { 0xd8aed0cd2c01b596L,0x1a1a2e1130efcda3L,0xf771f93b36b1a5b5L, |
12500 | | 0x2ea34e3d14fcd251L }, |
12501 | | { 0x6895cb31fd893979L,0x10b1d2c914f556b4L,0x835fdf7e6430bfa8L, |
12502 | | 0x1f4bbef524bf4ba5L } }, |
12503 | | /* 14 << 175 */ |
12504 | | { { 0xbc805aa5d562b5f1L,0x7101b9da35dac658L,0x5b7f211dddc28e5aL, |
12505 | | 0xea89f24cd3d1cd0aL }, |
12506 | | { 0xbaaa9ef57567c80dL,0xe0d1f26d9a60c5eeL,0xc88a044cab36cd64L, |
12507 | | 0xb8e03d021b125de6L } }, |
12508 | | /* 15 << 175 */ |
12509 | | { { 0xda0c10473a707a66L,0x76ddb98f0c692d44L,0xeccae586b15b7254L, |
12510 | | 0xeadc1b51e7e82423L }, |
12511 | | { 0xd6779ff27c3cb698L,0x0e271cb4df6e7da6L,0xeacf34c345900023L, |
12512 | | 0xafd017ad03da2ba5L } }, |
12513 | | /* 16 << 175 */ |
12514 | | { { 0x4926699827c7e6ebL,0x84ffa3726625bc7fL,0xedec924705c9cb15L, |
12515 | | 0xcfad0b908075b84eL }, |
12516 | | { 0x94bed316bc0898d3L,0x02481eec11f92525L,0x19896e1b0d7e59d7L, |
12517 | | 0xa06adb6cf2bb3129L } }, |
12518 | | /* 17 << 175 */ |
12519 | | { { 0x1539228e62a0a690L,0x98ac50b98ae02bdaL,0xaf233c85e5cf21b9L, |
12520 | | 0x943348d3d6a9f599L }, |
12521 | | { 0xf5a2f2d1db363eaaL,0xe917e2c57a8ea96bL,0xc80b56c8bf5c8293L, |
12522 | | 0xcfc1c24fcdbb5c4fL } }, |
12523 | | /* 18 << 175 */ |
12524 | | { { 0x7812dce2fbddf07bL,0xd4af2f9b0186013aL,0x1fadcd166fe8d485L, |
12525 | | 0xc3c2cd95c968f0b7L }, |
12526 | | { 0xdbdd2ef0778bff58L,0x673692048706da34L,0x31cf3a66b8e70e35L, |
12527 | | 0x0b9e5cc5d333801fL } }, |
12528 | | /* 19 << 175 */ |
12529 | | { { 0x1212a811f7177c4aL,0x9e266ec32d379e12L,0xc73828482e8bbbf7L, |
12530 | | 0x3f3f1dc1a973be5fL }, |
12531 | | { 0x534d04de786e727eL,0xfd7a5fbb225497dcL,0x3c03a7fdb63b6320L, |
12532 | | 0xe77f89855dc76e05L } }, |
12533 | | /* 20 << 175 */ |
12534 | | { { 0xe8d14f32265f8b8fL,0xfeaab021b90549c9L,0x7cd36751081ccea6L, |
12535 | | 0x7a0014411f1e8f7aL }, |
12536 | | { 0x2e87b8a21fdfd622L,0xe76138ce8bb4f812L,0x9a5e872271e03be4L, |
12537 | | 0x795e60f3153e0a5fL } }, |
12538 | | /* 21 << 175 */ |
12539 | | { { 0x11d28438d0eb7d4cL,0x147884e14254a845L,0x6795f20f2a8693fbL, |
12540 | | 0x5a10d535ee01bd1aL }, |
12541 | | { 0xe39982c9218c0513L,0x6c23e5be1d4e6ab5L,0x20a8c27f0f424e7cL, |
12542 | | 0x74ae99983bbb486fL } }, |
12543 | | /* 22 << 175 */ |
12544 | | { { 0x3fae61beb90ce3a1L,0xf0f5a1e4571c968bL,0x6b9dded87780d91bL, |
12545 | | 0x10f60ce27597e866L }, |
12546 | | { 0xf268ed02f1eb7d1cL,0xa49b5a466030bf9bL,0xc939c4e7251f8676L, |
12547 | | 0xbdfe5036e2b9928fL } }, |
12548 | | /* 23 << 175 */ |
12549 | | { { 0x5abfbcc2bccf7f43L,0xb22067b628c560afL,0xecf0777104c6a2daL, |
12550 | | 0xa2bf88db8c4ae7dcL }, |
12551 | | { 0x172396f2616675e8L,0x9abbb19c8bfcfbc2L,0x52e26c06e85edd21L, |
12552 | | 0xfca4c4e0a65de52fL } }, |
12553 | | /* 24 << 175 */ |
12554 | | { { 0x255e2d10281d58beL,0x93ec29343614ed6cL,0x36d6cc156dc71abeL, |
12555 | | 0xaa2ad1eff592ae78L }, |
12556 | | { 0x39a82740cc9291fbL,0x6812b80f102600d8L,0x64f4843c50c511d5L, |
12557 | | 0x28f5795e03445793L } }, |
12558 | | /* 25 << 175 */ |
12559 | | { { 0x2c56637229f20b0cL,0xb168ca7a9e24474cL,0xfadd8f80abe37949L, |
12560 | | 0xafa1bea24cd69856L }, |
12561 | | { 0x5ce6ed8046713b88L,0xaf8b5fb34b3bb84dL,0x134e512029d53349L, |
12562 | | 0x1214f4f0cdcedefaL } }, |
12563 | | /* 26 << 175 */ |
12564 | | { { 0xc346821b4bb405b9L,0x753afa86ddd624d6L,0x15fe543cc7c014e3L, |
12565 | | 0x6b3c0c5d43d08964L }, |
12566 | | { 0xc77c8fb0745221aaL,0x3e144fce152995c9L,0x57089907a61b96bcL, |
12567 | | 0xd19a912c5e05c1eeL } }, |
12568 | | /* 27 << 175 */ |
12569 | | { { 0x7bcdc697a6ddd20bL,0xcb07e2292d5090f3L,0x76afc803f089607eL, |
12570 | | 0x9f7a88b9637dae27L }, |
12571 | | { 0x1352d8bd3bd20d78L,0xede1a7805ea79d4cL,0x59a8222bf389e31dL, |
12572 | | 0xed066aa65c09f3d4L } }, |
12573 | | /* 28 << 175 */ |
12574 | | { { 0xade16197684529d3L,0x97bed90496a2a159L,0xdd3da7651b695d68L, |
12575 | | 0xb8fa37e802fecb9eL }, |
12576 | | { 0x1af4311cbc0f7b99L,0x600bdd462a492a7eL,0x6aa9cb3045dc9d16L, |
12577 | | 0xaa494815c0b93019L } }, |
12578 | | /* 29 << 175 */ |
12579 | | { { 0x1211834bba052dd8L,0xcdc0208e86822bf1L,0x515eebd48c8362a0L, |
12580 | | 0x9ea7b9f59b90cf96L }, |
12581 | | { 0x8418fe343a0a5a48L,0x654d3c32331a2db1L,0x22362ddfafde743cL, |
12582 | | 0x617a89e86f6ee3baL } }, |
12583 | | /* 30 << 175 */ |
12584 | | { { 0xed5f3d04b7deb988L,0x31c2c9e6bbc8a6b2L,0x8faa80e181a3f184L, |
12585 | | 0xa718348851ecc548L }, |
12586 | | { 0xe67512d0a3780d0aL,0x9f868036822db54dL,0x6c74490ae555beabL, |
12587 | | 0xe747e666d989d6beL } }, |
12588 | | /* 31 << 175 */ |
12589 | | { { 0xf8346dd6df8cd308L,0xe7ca105f4745cd8eL,0xee059c5831055db8L, |
12590 | | 0x90f4053a18b38aa0L }, |
12591 | | { 0xbb2e7fc341081a21L,0x3602525e45b33a71L,0xff21f2aa2b411945L, |
12592 | | 0xbeaadbd3064ccb11L } }, |
12593 | | /* 32 << 175 */ |
12594 | | { { 0xc35f6950fe94629dL,0x1cbaa9359f860b15L,0x29b4bcd3f24f8f15L, |
12595 | | 0x0ae5b06ad29c8458L }, |
12596 | | { 0xa645c31d1b6c2df1L,0x640b0990d804faccL,0x7a4a7f59122b33e6L, |
12597 | | 0x94bb0b2b7479b828L } }, |
12598 | | /* 33 << 175 */ |
12599 | | { { 0x0567272ac4cd4887L,0x676d6962fc8e4b0bL,0xa712b0208661c0c2L, |
12600 | | 0x660e6aff279454a7L }, |
12601 | | { 0xe12951061cd25bfdL,0x7096885c077496a8L,0xdbc47c923006ab7bL, |
12602 | | 0x498761fa509205f3L } }, |
12603 | | /* 34 << 175 */ |
12604 | | { { 0x5d1eaecae85ecfeeL,0x9fcddeed534f38f5L,0x4d34ec808af32f70L, |
12605 | | 0x476dffc924b3b4e3L }, |
12606 | | { 0xb45cd8698bbcda9fL,0x3b0079e7df684c2dL,0xcaf3eeb5765cd483L, |
12607 | | 0x0b9e25e663945b62L } }, |
12608 | | /* 35 << 175 */ |
12609 | | { { 0xfd73833e06492e0aL,0x4d2937e19507ea57L,0x3e532c2ecf562953L, |
12610 | | 0xe4baa2d481ca80c3L }, |
12611 | | { 0x4699e5c428d22139L,0x69aab9006b1c665aL,0xf6a37330641016acL, |
12612 | | 0x335f14cb5f3b7c71L } }, |
12613 | | /* 36 << 175 */ |
12614 | | { { 0x94a6c868facd904fL,0xb1127cc42ec2bf99L,0x0ccfceb3a4b72d69L, |
12615 | | 0x16b786a355172f5bL }, |
12616 | | { 0x51ebe029e093a729L,0xf57f4a1ec40c4487L,0x8aaf0dd6a8ed5a3dL, |
12617 | | 0x617c51f7811f35d6L } }, |
12618 | | /* 37 << 175 */ |
12619 | | { { 0x18c7ac6211e98d29L,0x71c578c42c904ea8L,0x4626b0ad3c4ef8bdL, |
12620 | | 0x121eb676a390be8bL }, |
12621 | | { 0xcb7249f5154e297dL,0x678ad966c2288ba0L,0x3c2ab06657cc9cbcL, |
12622 | | 0xe32c1d4580c8fbdaL } }, |
12623 | | /* 38 << 175 */ |
12624 | | { { 0xd2f152cbf0b35526L,0xc7f75fd413877dfbL,0x8603feffe83ca4a2L, |
12625 | | 0x6be89bb3cd680589L }, |
12626 | | { 0x5650549e45e1f141L,0x7dab03b8a55ffadcL,0x342edda42dc5d31fL, |
12627 | | 0xa97451ac9af8105aL } }, |
12628 | | /* 39 << 175 */ |
12629 | | { { 0x796e1fe3705b8fd7L,0x6252a7ba02d131b8L,0x3db2ab14086c3099L, |
12630 | | 0xeb763df59db0ce72L }, |
12631 | | { 0xe7b57bab52b62fa5L,0x6076d44988b820bdL,0xc43e1f611b660123L, |
12632 | | 0xc802d40b189eace5L } }, |
12633 | | /* 40 << 175 */ |
12634 | | { { 0x1f2a2a91341309a1L,0x8680be67414db96bL,0x65dd0396c846e288L, |
12635 | | 0x8a1d871eb0bbea85L }, |
12636 | | { 0x623e24088ff931c6L,0x4933ffdae14c5941L,0x72688986b2cbff67L, |
12637 | | 0xe51504d88cf79450L } }, |
12638 | | /* 41 << 175 */ |
12639 | | { { 0x50cd0a3ffeba1168L,0x08d2e0fecd833df8L,0xdbd608270a4370edL, |
12640 | | 0x010cf80066f4f58dL }, |
12641 | | { 0xffa29252144e9656L,0x90b896a29d1e9d61L,0x1802257c81f7b4d3L, |
12642 | | 0xd7758e8b595612a5L } }, |
12643 | | /* 42 << 175 */ |
12644 | | { { 0x751882d8241b4dd2L,0x7dae3003fe177abeL,0x8f4d5dc4ee6fe1cdL, |
12645 | | 0x93a9cd5bb08f625dL }, |
12646 | | { 0xa4d6ee1af91cc442L,0xe05976cd594d172fL,0xfb4064c66e762b2eL, |
12647 | | 0xb2068ad951a0156dL } }, |
12648 | | /* 43 << 175 */ |
12649 | | { { 0x0d2d5b2624f06e82L,0xad70f2768c85a9a9L,0x00ede5d50ed413cbL, |
12650 | | 0x245be28b927064d2L }, |
12651 | | { 0x06eb28252af70d77L,0x472af63052b0592bL,0x493afd98d881d50eL, |
12652 | | 0x56fa76a81189c989L } }, |
12653 | | /* 44 << 175 */ |
12654 | | { { 0x775665d2faa974f7L,0xe395ccdbc3f54effL,0xf0a40e4e3fc83a7fL, |
12655 | | 0xc3b11d224c00087aL }, |
12656 | | { 0xef8d2f06ddb50678L,0x6e41f3156cd5f681L,0x7c9d7a3da1b97891L, |
12657 | | 0x8b297d75a0a41260L } }, |
12658 | | /* 45 << 175 */ |
12659 | | { { 0xca44b65c3806a30aL,0x125c570261a6206eL,0x311842a287003e1eL, |
12660 | | 0xe049a7d04513d726L }, |
12661 | | { 0x8022c2d07b123469L,0x7653393486294393L,0x6a6e84e7892e7bc4L, |
12662 | | 0x7daf8b11db2007feL } }, |
12663 | | /* 46 << 175 */ |
12664 | | { { 0x092d1914923e185cL,0x5ec112373def87c2L,0x38019e9618742a51L, |
12665 | | 0xe05ea79e4808ca10L }, |
12666 | | { 0x1fc8ae26134cbf9bL,0x1405467201b4c1c4L,0x32abf91264051972L, |
12667 | | 0x0edaa9251af62fcaL } }, |
12668 | | /* 47 << 175 */ |
12669 | | { { 0x58fa82e23c47d01aL,0xdb12a452780762c6L,0x16d5a733fdbf4683L, |
12670 | | 0x1d7e85072f798debL }, |
12671 | | { 0x259aa9b99eab12f7L,0xb13e6e4191261397L,0x564706fa32602f2eL, |
12672 | | 0x50daef9c9c2283efL } }, |
12673 | | /* 48 << 175 */ |
12674 | | { { 0x9275f219f07a196eL,0xfc58ebeabb8fcd35L,0x5d1025f1bad69c11L, |
12675 | | 0xcf3641541605c11bL }, |
12676 | | { 0x427bd1172992276cL,0x5545bec56a73cbb3L,0x86855c2f133f3266L, |
12677 | | 0xb3d753d167d9e5b2L } }, |
12678 | | /* 49 << 175 */ |
12679 | | { { 0x2134b384c9fb343bL,0xb572f5d6b0e12b7aL,0x7ee5852f392d24feL, |
12680 | | 0x73559faec4f285f9L }, |
12681 | | { 0x269cb9e77711c525L,0x4badfc52f00d5606L,0xef66d726b465df15L, |
12682 | | 0x83eb59a3aa4a301bL } }, |
12683 | | /* 50 << 175 */ |
12684 | | { { 0xdb406469ed329b12L,0x6eb95cc9d933eb45L,0xe2dabfa46b638bddL, |
12685 | | 0x7a5d0098031df114L }, |
12686 | | { 0xe22d8f3e38dbfaafL,0x2306fd54d79d1ce1L,0xda3245357acb7cceL, |
12687 | | 0xde6fcc1688f61a1eL } }, |
12688 | | /* 51 << 175 */ |
12689 | | { { 0xaf3e4894b730fe5cL,0x7a3e4a7d28adf897L,0x352c0069b160ae0eL, |
12690 | | 0x225cfb67ee52c58aL }, |
12691 | | { 0x12391b7196b2505fL,0x8d811bee3758141dL,0xc941524d8cd82e11L, |
12692 | | 0x0feb26a5bb83a251L } }, |
12693 | | /* 52 << 175 */ |
12694 | | { { 0x60ad066576da8411L,0xe3c033d988d4a968L,0x767b3c05de120078L, |
12695 | | 0xab7da95a9f31e1e8L }, |
12696 | | { 0x7ad9b263b93e7cb7L,0x280f6bc3fd626ea3L,0x746c394562713cadL, |
12697 | | 0xfa2b45993a4edce8L } }, |
12698 | | /* 53 << 175 */ |
12699 | | { { 0x8792d0cb10ab7f93L,0xfa38d031c25a2a86L,0x6914db0b08b028e8L, |
12700 | | 0x75a98aa0383cab40L }, |
12701 | | { 0x462e6b6d6da884bfL,0x2b0f682bd3aa74b1L,0xb3b7995e5cee0a83L, |
12702 | | 0xe99fca2b3cce609aL } }, |
12703 | | /* 54 << 175 */ |
12704 | | { { 0x342c41c945451744L,0xb00d3c24c81be29fL,0xd1e64d86022e8d27L, |
12705 | | 0x404550bebcf67326L }, |
12706 | | { 0xc7c510f0c8aab829L,0xb61ae647a90c605dL,0x582ad9c902db8602L, |
12707 | | 0x732b19ed71cb4397L } }, |
12708 | | /* 55 << 175 */ |
12709 | | { { 0xea097c35265e5369L,0xea7c368f9d5ea687L,0x7fc3b2138fcae7f1L, |
12710 | | 0x641daa3f49c54942L }, |
12711 | | { 0x0696372b404c39a6L,0x5681571687b4b181L,0xa6e156b3fca24eb8L, |
12712 | | 0xf278eeaed078a39cL } }, |
12713 | | /* 56 << 175 */ |
12714 | | { { 0x046566d1ac762dbeL,0x662ef0f6625ed2e8L,0x15499e72650e4764L, |
12715 | | 0x361ccef084edf50eL }, |
12716 | | { 0x2441f6f41f4a2200L,0xf36fff06db730d58L,0xcc18624d3c01edc7L, |
12717 | | 0x4889078f8a77e5bbL } }, |
12718 | | /* 57 << 175 */ |
12719 | | { { 0x02294e3b75f8dd8aL,0x5f6f6057fc4113c5L,0xb5300e0d6f699f18L, |
12720 | | 0x52cce358639dc977L }, |
12721 | | { 0x5dbe59b8328fd50bL,0x81500be639d73c2fL,0x409ac4d796ae313dL, |
12722 | | 0x15205b7b5b16c316L } }, |
12723 | | /* 58 << 175 */ |
12724 | | { { 0xe272300cfc688c09L,0xb412cf39bdf71f2dL,0xe3ab9c44f85b23d4L, |
12725 | | 0x5c14085c7b662694L }, |
12726 | | { 0x24b0b3859956d07bL,0xfa8ea96830b2c82dL,0xd443b2aa6d403b58L, |
12727 | | 0x6da53ecbe7fc8d57L } }, |
12728 | | /* 59 << 175 */ |
12729 | | { { 0x29655314dfdf488fL,0xb418943dadc57e2bL,0xbaf090f16395a287L, |
12730 | | 0x8fdb4fc8d62f5b38L }, |
12731 | | { 0x115653c0371c9db1L,0x6f5e1f3996463359L,0x106aaf1e825e6273L, |
12732 | | 0xba22b7db398cbe1bL } }, |
12733 | | /* 60 << 175 */ |
12734 | | { { 0x3b54530062b6bf7eL,0x495d7d275bb6f993L,0xf558fc5d3f00290bL, |
12735 | | 0xdddbeb3e2cfc2381L }, |
12736 | | { 0xca40217965c79326L,0x376ce4ac33b1973cL,0xd6e65ae49b30749aL, |
12737 | | 0xdf68ee045f54bf5aL } }, |
12738 | | /* 61 << 175 */ |
12739 | | { { 0xa982948d4cfdb41aL,0xddd1d3baf2a7b4b3L,0xf52a6b33581aaba1L, |
12740 | | 0xc3258264894ebf68L }, |
12741 | | { 0x26c32c2784665ac1L,0xda0190eb20119b0eL,0x4a599db7b86745c1L, |
12742 | | 0xf9570f5058964b41L } }, |
12743 | | /* 62 << 175 */ |
12744 | | { { 0xb34d039be0648365L,0x2cd7fde05c5f61e1L,0x76f514a3bc6b08ccL, |
12745 | | 0xc957b50d18a3cabfL }, |
12746 | | { 0x775fc56a2334cd1fL,0x7bfe386467ec91c6L,0x99037daa35ad3a9aL, |
12747 | | 0x17ffe391b7ca5657L } }, |
12748 | | /* 63 << 175 */ |
12749 | | { { 0x19f6d369fef04aefL,0x8030b467d1876f8cL,0xa014be023cd7878fL, |
12750 | | 0x03c22a583358c943L }, |
12751 | | { 0x3c77f0832a257094L,0x47386957d962a04fL,0x768da40c82da3329L, |
12752 | | 0x1507350d458219cfL } }, |
12753 | | /* 64 << 175 */ |
12754 | | { { 0xf460aed34397ee7cL,0xf249e4cc36fbc7feL,0xc42d9da8aab03dfeL, |
12755 | | 0xa3d73ce3435ab9f3L }, |
12756 | | { 0x86dddbc33813a3f3L,0x86d5779ab79c32a3L,0x7c3d9aff028a2c3fL, |
12757 | | 0xc687e71bb1add2bfL } }, |
12758 | | /* 0 << 182 */ |
12759 | | { { 0x00, 0x00, 0x00, 0x00 }, |
12760 | | { 0x00, 0x00, 0x00, 0x00 } }, |
12761 | | /* 1 << 182 */ |
12762 | | { { 0x4612a56209b3fed3L,0xf296c17a3579966aL,0xa124a36f07960971L, |
12763 | | 0x6d03b214380c4a05L }, |
12764 | | { 0xcb0746e270f1f268L,0xcc9b47ff9341aea4L,0x1b3662d56d2f59ccL, |
12765 | | 0xa6c65b2dd4b1a15dL } }, |
12766 | | /* 2 << 182 */ |
12767 | | { { 0xf96c113acccb0a4bL,0x24c26bba3615f016L,0x52fe115aeead2f5bL, |
12768 | | 0x85623d260d7aaabbL }, |
12769 | | { 0x50791fd031a2564fL,0x3659974dcd0d59a4L,0x2cffdb747a8b7466L, |
12770 | | 0xcf6b36e5514787b0L } }, |
12771 | | /* 3 << 182 */ |
12772 | | { { 0x8afccd364ab1ccd2L,0x673146351c03ab29L,0x458f36bfd7ff3a32L, |
12773 | | 0x70e9e789fcf71648L }, |
12774 | | { 0xf3764534a6e904cfL,0x2d6130b1f4bdd378L,0xc61c98fb1ca5ce34L, |
12775 | | 0xda11f502a4a684f5L } }, |
12776 | | /* 4 << 182 */ |
12777 | | { { 0x8d9daa41b6223f04L,0x803c9c0e841c3fabL,0x60eee3f9c50b42cfL, |
12778 | | 0xaf4a7a5a77298193L }, |
12779 | | { 0xd379c2e1bf809ad6L,0x903ab4b1f67c0ff2L,0xc779d7ed90f8e637L, |
12780 | | 0x968b0cc02cf3d363L } }, |
12781 | | /* 5 << 182 */ |
12782 | | { { 0xaadfa857acf51940L,0x0c789d1e50156581L,0x5e79cef762cff8f4L, |
12783 | | 0x54cdaba965eb0d49L }, |
12784 | | { 0xdf7a58283321c57eL,0x8571e6e2a21a51a6L,0x0b9b482bc3726e69L, |
12785 | | 0x3bc201e31d92b657L } }, |
12786 | | /* 6 << 182 */ |
12787 | | { { 0x271c58bb8a3b4cf8L,0x269fc422717eb539L,0xe82644e95b381fe1L, |
12788 | | 0x27fb0822cb62982fL }, |
12789 | | { 0xb0acd51c5b5ec726L,0xfd01053dea4eff73L,0x465311dd00b11c80L, |
12790 | | 0xe50a86152ed8460cL } }, |
12791 | | /* 7 << 182 */ |
12792 | | { { 0x3eade5eb7b2243a0L,0xa59ec93377424d11L,0x65a8e1aaf5c7c3b7L, |
12793 | | 0x008399fa0c1db536L }, |
12794 | | { 0x80b20e97fb194a74L,0x2316fb9b43be90dcL,0xb2773b230da4d913L, |
12795 | | 0x945d0671ce973d27L } }, |
12796 | | /* 8 << 182 */ |
12797 | | { { 0x64ca871cb79f82afL,0x31304b022dab52f6L,0x1825ab54928239a7L, |
12798 | | 0x740413b28e4ad736L }, |
12799 | | { 0xc5c5d3fa44071d19L,0x83e438f13f0b2da8L,0xfd759448c70a1981L, |
12800 | | 0x13e0c7ee565ebae3L } }, |
12801 | | /* 9 << 182 */ |
12802 | | { { 0x31b74b0a26bd7c0aL,0x66e0e8e8d280cb56L,0x086795e63d1c83d2L, |
12803 | | 0x59e678da396ecf25L }, |
12804 | | { 0xab3c8d74f015a36eL,0x0d19aed3adc03171L,0xc83b787f5a263686L, |
12805 | | 0x46b94ad09057ed63L } }, |
12806 | | /* 10 << 182 */ |
12807 | | { { 0xfbf783a790979da2L,0xf04dd6a0a335c784L,0x6e3c255487d93c4cL, |
12808 | | 0xe3e6b28947994eb3L }, |
12809 | | { 0x473c06841b74ba16L,0x4e959eb4abe84e1cL,0xdc3bfd517c4a67b7L, |
12810 | | 0xb4e3cb855095bd6eL } }, |
12811 | | /* 11 << 182 */ |
12812 | | { { 0x96fc11f03229fb05L,0x598227e44b36c83aL,0xdc69ad06d46fca66L, |
12813 | | 0x14cc98e5703ad6beL }, |
12814 | | { 0xf0fdd1426b22cd50L,0x9b821fe2f89c1a5dL,0xa3762dca829f9a74L, |
12815 | | 0xf65a584af0c320ccL } }, |
12816 | | /* 12 << 182 */ |
12817 | | { { 0x58f4eaba5568f242L,0x83b0c37b029afc1fL,0x93de2d27994d7dfcL, |
12818 | | 0x0d9a6edbb1679532L }, |
12819 | | { 0x3b83427995f085b0L,0x46ebac98a299355fL,0x0212e489044427f8L, |
12820 | | 0xf9e4ce34a2f37d0eL } }, |
12821 | | /* 13 << 182 */ |
12822 | | { { 0x0fa328d6fdc9e233L,0xd5c8afab51ae732fL,0x85e5955383c00ceeL, |
12823 | | 0x9fce31f987505db4L }, |
12824 | | { 0x33ea5eb67069d066L,0x10e32a39f01c0ce9L,0xf170233c0c4f1a2eL, |
12825 | | 0x8a907760bd4cb366L } }, |
12826 | | /* 14 << 182 */ |
12827 | | { { 0xda59342179bf05e3L,0x7730907ace49a5bdL,0x0dfb8a9709be5c7bL, |
12828 | | 0x6f50c69223eb936eL }, |
12829 | | { 0xc6160551cb18ff1aL,0xfa1d23fd661cc384L,0xfef123077ddec262L, |
12830 | | 0xd1aca960b15af580L } }, |
12831 | | /* 15 << 182 */ |
12832 | | { { 0x7eab8a592ee50fbdL,0xe7f71845be1e7a42L,0x5f46a5116121e573L, |
12833 | | 0xa25dacbf38ff7ebaL }, |
12834 | | { 0xe8aefcc7f58f047cL,0xc343aaa7b538aaceL,0x3e58cdda3c340b1fL, |
12835 | | 0xb0e9867c1fb98ccbL } }, |
12836 | | /* 16 << 182 */ |
12837 | | { { 0x034dd314ef7750f0L,0x2ceaa70522da84d7L,0x4561a254fc0d647bL, |
12838 | | 0x81cf0915bbe01157L }, |
12839 | | { 0x547a3d4e34b798ebL,0xbb5dd6258b1c7544L,0x94fee01bc8194168L, |
12840 | | 0xdb4c25fffaeb010bL } }, |
12841 | | /* 17 << 182 */ |
12842 | | { { 0x1ff217fae4d4a176L,0x8b46e6c2af87f4f5L,0xcf65877589734273L, |
12843 | | 0x73c4390d52746de9L }, |
12844 | | { 0xb5c84899b01c7a06L,0xfa5ffe4dedd9ef63L,0x28a313c5a1a8b2d4L, |
12845 | | 0xadd45f47daf5a33fL } }, |
12846 | | /* 18 << 182 */ |
12847 | | { { 0xc2dc9d131fdb8694L,0xaa5e026c9a90b4d1L,0x5edffd39208cbfa5L, |
12848 | | 0xf095b3fb72a4d6ccL }, |
12849 | | { 0xbfca4e106645fcc1L,0x14b872ac92408c6aL,0x3d9261e1d0b82d2dL, |
12850 | | 0x13e4ecb60294e75bL } }, |
12851 | | /* 19 << 182 */ |
12852 | | { { 0xabd4541c3ac2ab9dL,0x025355b24d5d1531L,0x3d85f67cfb726ab8L, |
12853 | | 0x56e26c826d6fc6bcL }, |
12854 | | { 0xb24608bb495e05a0L,0x840e0978e5afdc5dL,0x2cc543b5248727e2L, |
12855 | | 0xe48146da3bc8c021L } }, |
12856 | | /* 20 << 182 */ |
12857 | | { { 0xa1b36baf530c98b7L,0x04503d7b5acf023bL,0x96bc444921de1503L, |
12858 | | 0xbb8a122fd2a9c89fL }, |
12859 | | { 0x66df99dfd5d4b133L,0x1bb4a13bc97d3e52L,0xdab370f379b318d6L, |
12860 | | 0xfa6c823e9f18552eL } }, |
12861 | | /* 21 << 182 */ |
12862 | | { { 0xe5b27e786388a194L,0x13270523c88ba441L,0x9f309fbf4fecfef5L, |
12863 | | 0x72cd374b10afee60L }, |
12864 | | { 0x16bd0e2e93dfe3afL,0x7e92096a24bc7e8eL,0x144fdf82fec7f0bbL, |
12865 | | 0x5d1d4598e1f765f7L } }, |
12866 | | /* 22 << 182 */ |
12867 | | { { 0xb6b91efc72c67697L,0xc7a2ceafb2487905L,0x4a4c9e637fb24d99L, |
12868 | | 0x7ed373ac4d742089L }, |
12869 | | { 0x3f9e6ae19149ac54L,0x64fd7fef0611efc8L,0x1c38da323d779af6L, |
12870 | | 0x6893691b0a1681f5L } }, |
12871 | | /* 23 << 182 */ |
12872 | | { { 0xbac2997850a0fa72L,0x98d5c82eba55c665L,0xf3e5b58e2d4b76bcL, |
12873 | | 0xfae27d9a90615b32L }, |
12874 | | { 0xb93bc327d49b2500L,0x7d9d4bffbbc213cdL,0xf985fe72d1ee81c4L, |
12875 | | 0x6e2a94d1381f9e48L } }, |
12876 | | /* 24 << 182 */ |
12877 | | { { 0x1f09b22514fb9624L,0x2eba4ff8ca4229d7L,0x5b159dd121dc8c19L, |
12878 | | 0x1e1f968fb1aa553eL }, |
12879 | | { 0x6ea25976c7674d52L,0x98e73adc7b283501L,0x7cfce0e1d39468c2L, |
12880 | | 0x7aad0af908438a62L } }, |
12881 | | /* 25 << 182 */ |
12882 | | { { 0x2291cdd0b2a3dde2L,0x3a625d50f77a0aa4L,0x3be0fba25fbc5a0aL, |
12883 | | 0x67b7598ae794bf46L }, |
12884 | | { 0x3673d805531ad772L,0xf9a9b39203e8479fL,0x142d264c2e16a126L, |
12885 | | 0xc20409ac5a2f6f2cL } }, |
12886 | | /* 26 << 182 */ |
12887 | | { { 0xd9d84438cd43f273L,0xfecc561dbda7be72L,0xc4b113c6241b7ec2L, |
12888 | | 0xfc5bc32b40dba9e3L }, |
12889 | | { 0x70853d39d56bca47L,0x2b9a902da5306217L,0x2bb1836d2017bfd0L, |
12890 | | 0x829ce116cd1c2768L } }, |
12891 | | /* 27 << 182 */ |
12892 | | { { 0x42d5fcf8697097f5L,0xc1fe7be61e936db5L,0xcbc5cdcccb6a81d4L, |
12893 | | 0xab1e4ecbafef5ffaL }, |
12894 | | { 0x3cbbdf76b933c216L,0xdb5808da503607e2L,0x5bdaab7c6bc96246L, |
12895 | | 0x91e5d17c68274629L } }, |
12896 | | /* 28 << 182 */ |
12897 | | { { 0xa3cd09f62eb1db21L,0xbe37048592c3e3e1L,0xeb51fa296aa43da5L, |
12898 | | 0x2c7fa809d726625eL }, |
12899 | | { 0x90c6786ff0ec0e99L,0xd315af3308135cbfL,0xc1b601721504751bL, |
12900 | | 0x88674e2d0e28781aL } }, |
12901 | | /* 29 << 182 */ |
12902 | | { { 0x6aa74055ed74e633L,0xc44e740f7d06ce02L,0x8b40bc5ea33b8d5eL, |
12903 | | 0x42d3539f20f00f14L }, |
12904 | | { 0xd9f1f5cd3307ef15L,0xa9fe4dfbc8599bccL,0x31cb6703efa80b8dL, |
12905 | | 0x4172b46d53bb73feL } }, |
12906 | | /* 30 << 182 */ |
12907 | | { { 0x85a7028020e4c321L,0x999a0d075ac075f3L,0x59a62b627bdb478cL, |
12908 | | 0x9aeb710a573c403bL }, |
12909 | | { 0x1c099614950bb8fcL,0xc1efafab5dc09741L,0x0de58ca57296a74bL, |
12910 | | 0x657116a4f5be2ec4L } }, |
12911 | | /* 31 << 182 */ |
12912 | | { { 0x0ce52f0fcb199b77L,0xdcdc5cb9bcd11438L,0x587a68ff4777327bL, |
12913 | | 0x55d9abb71cc6fbb3L }, |
12914 | | { 0xf1970b829eeb28a9L,0xe1ab4e144ceef00fL,0x184d3fb6f7462893L, |
12915 | | 0x9942a008c8ea54fdL } }, |
12916 | | /* 32 << 182 */ |
12917 | | { { 0x1fee0f771e33b2a3L,0xd4bed81f9f789870L,0x6396feea6ef05b7eL, |
12918 | | 0x9c5d6a012640b62aL }, |
12919 | | { 0x170cfec96834bea4L,0x68d16728e131fecaL,0x4be9c5d600affb4dL, |
12920 | | 0xe34a423c99a6f256L } }, |
12921 | | /* 33 << 182 */ |
12922 | | { { 0x1a254e4a09b9ed61L,0x902bc06630b10207L,0xd2d5ed0162121f53L, |
12923 | | 0x0ba8681130f1b518L }, |
12924 | | { 0x7916c132abe139c9L,0xb3a30fe062c4f337L,0x85d0a769aa5693beL, |
12925 | | 0x2d414379e3c7687bL } }, |
12926 | | /* 34 << 182 */ |
12927 | | { { 0x92b0cb3c94958719L,0xb78aa37b4ec6575dL,0xd035aae14f1bf26aL, |
12928 | | 0x1383992dd31d5108L }, |
12929 | | { 0x53ecc53592bdd6f5L,0xa9925ff608c622caL,0xcaa3146e916d890cL, |
12930 | | 0x8cd0f12eb9c10220L } }, |
12931 | | /* 35 << 182 */ |
12932 | | { { 0xcb6ad82b7e12a730L,0x3f89047cac9485dbL,0x6f926117fea2d970L, |
12933 | | 0x87b0cd9d46a19ecbL }, |
12934 | | { 0x98bb5b0201e45bf6L,0xfc8146202ed7716dL,0x8d6808cf4f5caa95L, |
12935 | | 0x3b57df03082f799eL } }, |
12936 | | /* 36 << 182 */ |
12937 | | { { 0x469e18542df84ca2L,0x00dd62eb64aac069L,0x7d3ee9ce88d9efffL, |
12938 | | 0x9faed6a2bb830ffcL }, |
12939 | | { 0xd073aac1d2d74f58L,0xf69e96b42d44199eL,0x6cb3a3b183ed62caL, |
12940 | | 0x472489fdd799acf8L } }, |
12941 | | /* 37 << 182 */ |
12942 | | { { 0x5f84382db63a36ccL,0x6ba1de8792d5b175L,0x25aab130516101b7L, |
12943 | | 0x6f69c3fc5f039793L }, |
12944 | | { 0xd28439ee89e3da4fL,0x8cb40a0e5e6b2b61L,0xdfa55805e3d6650dL, |
12945 | | 0x2651f6c70be59fd2L } }, |
12946 | | /* 38 << 182 */ |
12947 | | { { 0x290e0044140d01c8L,0x78afa0a462ea488fL,0xc4e3997191eaa932L, |
12948 | | 0x8a9ef3a2fe2e79dcL }, |
12949 | | { 0xdcfae31550705b7eL,0x73324dcad4be3d75L,0x900bdd4303a91415L, |
12950 | | 0xc3ed02ededfdc74dL } }, |
12951 | | /* 39 << 182 */ |
12952 | | { { 0x509bd1d6f22b4a66L,0xfd8ed371b78d264bL,0x562b2d3aa419134fL, |
12953 | | 0x80a2c2747a57a51eL }, |
12954 | | { 0xebba53178c662472L,0xebafedf2a0be71fbL,0x0c5b9c1cb77899c8L, |
12955 | | 0x82448008c4888cb5L } }, |
12956 | | /* 40 << 182 */ |
12957 | | { { 0xb795ea0078401c3bL,0x86776990a85ab971L,0xdd81393b185739daL, |
12958 | | 0x76d0031f58136c97L }, |
12959 | | { 0x6aceaa56641d39d1L,0x918844c739be7ca8L,0xa63993f7e18efc54L, |
12960 | | 0xb53691504af0f30aL } }, |
12961 | | /* 41 << 182 */ |
12962 | | { { 0x9bc2068c3d04af4fL,0xf309dff9a7796ed2L,0x46e9a59d4e15b6a2L, |
12963 | | 0x617aaebac22ef488L }, |
12964 | | { 0xd91a8f90a15cf0cbL,0xc6ce12a4c30fb779L,0xf3b80254b9d0a7ffL, |
12965 | | 0x32a63bf96e9b6fa1L } }, |
12966 | | /* 42 << 182 */ |
12967 | | { { 0x3e1ac837546fe4a8L,0x91ed89a51279c7efL,0x8eb7b88ec73e9deaL, |
12968 | | 0x96d0720518238af0L }, |
12969 | | { 0x56ebf306e96abf80L,0x5088ce2452c4b10fL,0x65293176c979137fL, |
12970 | | 0x824642fb228d300aL } }, |
12971 | | /* 43 << 182 */ |
12972 | | { { 0x968963a87836aea5L,0x2d4c556cfabbfac1L,0xa4c389bbd3f9977aL, |
12973 | | 0x2e8b281899b4ccb6L }, |
12974 | | { 0xc1fd85656cb67df6L,0x0ac57d2aa72d2be8L,0xa51ce6b8b8224eadL, |
12975 | | 0x33f7b468f417d744L } }, |
12976 | | /* 44 << 182 */ |
12977 | | { { 0xcf8c80aff9f0bdf4L,0x0728f880d3222dd6L,0x436188a3653afc12L, |
12978 | | 0x0f8bf1603c7940bbL }, |
12979 | | { 0xdc18c13f424dcd2aL,0x038c184220d3cd1fL,0xed7f86a57b12fd42L, |
12980 | | 0xa75ab77b7aaf1881L } }, |
12981 | | /* 45 << 182 */ |
12982 | | { { 0x5c3d7612df0574e2L,0x2eeeeb6f719414ceL,0x797c577190349fc4L, |
12983 | | 0x0d850f732232eb33L }, |
12984 | | { 0x0a0744f32638c051L,0x739e6278b6e7dbfaL,0xa77f286d659fc5f5L, |
12985 | | 0xb18b7cf19654b0ebL } }, |
12986 | | /* 46 << 182 */ |
12987 | | { { 0x5a2089ac6062e78eL,0x152f1804dfa6fb44L,0xe8a404b4b61e6faaL, |
12988 | | 0x4774d30f08d06ea8L }, |
12989 | | { 0xd7119b913c359648L,0x850b02bd09473ff7L,0x4db6f9a0936b7868L, |
12990 | | 0x84064dd5ae38c3c5L } }, |
12991 | | /* 47 << 182 */ |
12992 | | { { 0x294d6831fe448461L,0xc3c6f44642cd2105L,0xa4412eb03a2fdcaeL, |
12993 | | 0x394c37743d5a9181L }, |
12994 | | { 0x58f190245ca87c4bL,0xba1879db89ad5685L,0x43c55c6a803c2589L, |
12995 | | 0xae1fad20a8249c65L } }, |
12996 | | /* 48 << 182 */ |
12997 | | { { 0x4929e89fe0aff809L,0x19755ec21769a00aL,0x3b6a207bc242f335L, |
12998 | | 0xeca054ef090edab0L }, |
12999 | | { 0x217e9c8bcd9e1c26L,0x917c2ecd35d4ac57L,0xdc869d5dad33911dL, |
13000 | | 0x22d9d8602e828bd7L } }, |
13001 | | /* 49 << 182 */ |
13002 | | { { 0x89262252f38dfaa1L,0x155c96ceeb9cd8d7L,0xb0082b5ded5ebcc4L, |
13003 | | 0x7b6f920317182086L }, |
13004 | | { 0xaefe28aaee92aa6dL,0xbe67090c9aaaa0ebL,0x88c5fbf12f8ef18dL, |
13005 | | 0xbdc8bef1dd1fd65fL } }, |
13006 | | /* 50 << 182 */ |
13007 | | { { 0xfb7052f5a9c7b483L,0x49634258bd6c8a99L,0x1410a747c9f424f8L, |
13008 | | 0xfda0a304e9805723L }, |
13009 | | { 0x1a438bd30879bd30L,0xed09a9d37f6903cbL,0x920878f857e53497L, |
13010 | | 0x87a12968a7fca0edL } }, |
13011 | | /* 51 << 182 */ |
13012 | | { { 0x7c8207cb38590ca1L,0x4cf52db1fae885c2L,0x6cf384c4e8dc711fL, |
13013 | | 0x6fea20ff221dc698L }, |
13014 | | { 0x6af56700a07bb79fL,0xc7da3b5233ca79c6L,0x3a214691d05eb519L, |
13015 | | 0xea94c4f193d4f089L } }, |
13016 | | /* 52 << 182 */ |
13017 | | { { 0x734039d0ba51f002L,0xc45e2042ce206406L,0xc0e75dbb4b3c3d53L, |
13018 | | 0x3a70127255b1b97cL }, |
13019 | | { 0xec856e95d6addb6cL,0xb63fe8c6f283aae1L,0x148fb239405788d1L, |
13020 | | 0x42e7148be0181912L } }, |
13021 | | /* 53 << 182 */ |
13022 | | { { 0x00bddcdd7de07978L,0xac79b6573c2e0a27L,0x94024ba6df1dd3ddL, |
13023 | | 0xcddeb3570bac41adL }, |
13024 | | { 0x51ec3dd7500c4f4bL,0xf00d594fd31c8fbeL,0x6b8c6f43373a3e93L, |
13025 | | 0x891ba3a5fc2b6be9L } }, |
13026 | | /* 54 << 182 */ |
13027 | | { { 0x3928225addd72e36L,0x1e6a63bfcee362c1L,0x317b78f4c5eb404cL, |
13028 | | 0xb882736b67c5e6b3L }, |
13029 | | { 0xb1da56ce1f2f07aaL,0xab3c4fbeff83b633L,0x9cc32f1c0ceeab99L, |
13030 | | 0xf1dead0d1062070eL } }, |
13031 | | /* 55 << 182 */ |
13032 | | { { 0x49ea0d9b8a3e79c4L,0x4e7abe3fec9f16d1L,0x19bda1c65549ade0L, |
13033 | | 0xaae756a5e5885734L }, |
13034 | | { 0xb3cff8cecc2a1aafL,0x812eebfff896ca47L,0x0951b2bb9b2e1123L, |
13035 | | 0x7f245699def6d6a9L } }, |
13036 | | /* 56 << 182 */ |
13037 | | { { 0xa1331e951be7ef41L,0xd1f0c3c39fa1be62L,0xb1d8295e4383e451L, |
13038 | | 0x658d8a849f08bc14L }, |
13039 | | { 0xb0587aef3ba4b85bL,0xb519c587481cbb27L,0x2b975db6040d8f06L, |
13040 | | 0x399f64171691d809L } }, |
13041 | | /* 57 << 182 */ |
13042 | | { { 0x207a0e467c6204fbL,0xe30f142062c3e9d7L,0x6127b782792f8208L, |
13043 | | 0x38f806abb0d3fca9L }, |
13044 | | { 0x382485422ff46c64L,0xc18ffe85926ec166L,0xfd268866c0c133faL, |
13045 | | 0xb7f63f5ab93770e6L } }, |
13046 | | /* 58 << 182 */ |
13047 | | { { 0xd8f1db26b13afb71L,0x5c5627eb32a790deL,0x7f41bc1ddf50b6f8L, |
13048 | | 0x49d4ef1792d4c803L }, |
13049 | | { 0x577f909fe8530065L,0x482cdedee630ff2dL,0x682c8c6a14f54de8L, |
13050 | | 0xe6b5a504b4079343L } }, |
13051 | | /* 59 << 182 */ |
13052 | | { { 0x00d927fce58bde6bL,0x65d85f03f34841f4L,0x265aec022ac001d8L, |
13053 | | 0x1b7856662dfe518dL }, |
13054 | | { 0x76142488c01e6e47L,0x8e8b2044dd5648dcL,0x2c422006b3a340b3L, |
13055 | | 0xa53921133dd67b22L } }, |
13056 | | /* 60 << 182 */ |
13057 | | { { 0xbd08d05ba1567aaaL,0x84a55e4302acbec6L,0x744ffd215d898af0L, |
13058 | | 0x380676226682e78aL }, |
13059 | | { 0xf3696ff2ffd08522L,0x49dd00602bf02466L,0xc9e0d1a559c3e65dL, |
13060 | | 0x29537f560a37fc25L } }, |
13061 | | /* 61 << 182 */ |
13062 | | { { 0x6f6cb9eba5f6b17aL,0xc18543209c55857eL,0x959585c645dacc6eL, |
13063 | | 0xf4e97c94e5f4e930L }, |
13064 | | { 0x966deb5f57d2a492L,0x9825683155d2df12L,0xfdd65534aa457ecaL, |
13065 | | 0x76dbb02103551474L } }, |
13066 | | /* 62 << 182 */ |
13067 | | { { 0x0aeefee909d9b4aaL,0x30fea11a784ca675L,0x56b4b509ff1d381aL, |
13068 | | 0xd1b26fea9fce40daL }, |
13069 | | { 0x4835b91148d22911L,0x6aaac57a8bbe57e8L,0xc888279219d02037L, |
13070 | | 0x301e0aa63ee49afaL } }, |
13071 | | /* 63 << 182 */ |
13072 | | { { 0x1641ce6b00e6b020L,0x846b97deeac7cad8L,0x9b74bfd861aa6886L, |
13073 | | 0xdd95e765b0fa37acL }, |
13074 | | { 0xda0cde52f848a83bL,0xd2cc831d355b3528L,0xc7fd2e035e22238fL, |
13075 | | 0x6d5373faab9a6c34L } }, |
13076 | | /* 64 << 182 */ |
13077 | | { { 0x5dfc2874d8247f13L,0xc211a7a1e3c11f56L,0x7512563fa2503b97L, |
13078 | | 0x124cd9845c007c82L }, |
13079 | | { 0x4f6eb682491cd249L,0xaf4f70a3a683359dL,0x2f1dfe71cc302b62L, |
13080 | | 0x83c474bbe57fbf56L } }, |
13081 | | /* 0 << 189 */ |
13082 | | { { 0x00, 0x00, 0x00, 0x00 }, |
13083 | | { 0x00, 0x00, 0x00, 0x00 } }, |
13084 | | /* 1 << 189 */ |
13085 | | { { 0x43af7ab7916a8016L,0xf93d487f532bfb9cL,0xa5f9af3ce2174971L, |
13086 | | 0xd1b9cf1f2d59b4d4L }, |
13087 | | { 0x4a77941844f4eb91L,0x6a131facc226edc5L,0x472ab89780d4bb33L, |
13088 | | 0xb69687a52f6ca1feL } }, |
13089 | | /* 2 << 189 */ |
13090 | | { { 0xffa73ca2fabd066aL,0x494e03a8f9c78bfdL,0xe585a878ff55cfefL, |
13091 | | 0x00770b1fd7053784L }, |
13092 | | { 0xdec4da4a056fe70bL,0xe37395d857bd444fL,0x666250d4685df668L, |
13093 | | 0x0549569ebe6cc583L } }, |
13094 | | /* 3 << 189 */ |
13095 | | { { 0x87629830ab11639eL,0x869dd3baa4488d53L,0x10fe1c0bbaf06eb6L, |
13096 | | 0x990348391687ac37L }, |
13097 | | { 0x384183777f1ffe7bL,0x3334a74c25bd7c57L,0xc57cb7ed7008ba67L, |
13098 | | 0x384c12d0c1e4e12dL } }, |
13099 | | /* 4 << 189 */ |
13100 | | { { 0xf48cdca6db4bdb35L,0x6bc23aec74d913a7L,0x8f0ccd9d12ed94d5L, |
13101 | | 0xe4aabd1286db09e7L }, |
13102 | | { 0x0cbff31a1e948326L,0xcf68c47c17a479a2L,0x3cced8e2ca7686f1L, |
13103 | | 0x15ed1e994eb62669L } }, |
13104 | | /* 5 << 189 */ |
13105 | | { { 0xc373ab4bbdb0c561L,0x150820226a9066a7L,0x330a60c362d31801L, |
13106 | | 0x53d97f09e35bea57L }, |
13107 | | { 0xf204e0069c5dbb92L,0xfb9a8219f831262aL,0x3468ae4142136174L, |
13108 | | 0x0f8fb5bc0e03218eL } }, |
13109 | | /* 6 << 189 */ |
13110 | | { { 0x903374994ad8bba6L,0xdb71e1fbe3ecb618L,0x6955e8743cf2a8adL, |
13111 | | 0x594501f5ed691feeL }, |
13112 | | { 0x7e2baef3d29bd364L,0x5cbd91ac6f766759L,0xaba54aaab2201a96L, |
13113 | | 0x2cfea457cfa392abL } }, |
13114 | | /* 7 << 189 */ |
13115 | | { { 0xa4da416286f8f7daL,0x88d70b86cbc0b934L,0x9df02795acff4f7bL, |
13116 | | 0x0fc80219c65ef81bL }, |
13117 | | { 0x32d457dea299ca0fL,0x97081b350896427bL,0x92d6c30941bab6b4L, |
13118 | | 0x5d5e56f373b8d601L } }, |
13119 | | /* 8 << 189 */ |
13120 | | { { 0xfb3992a4202bde39L,0x2549f5643d6bab98L,0x0b56464287712512L, |
13121 | | 0xd52442b47fde7e50L }, |
13122 | | { 0xa6cefd08a3d3e16eL,0x5b194f0ac83b29bdL,0x6db0edd8906dec8cL, |
13123 | | 0x7a09095902570c1eL } }, |
13124 | | /* 9 << 189 */ |
13125 | | { { 0xf6f74fcc4c41eb53L,0xd07678a95b944a6cL,0xf53bf11db80677eaL, |
13126 | | 0x569a5761bc5900f8L }, |
13127 | | { 0x34e5bba8d3d4de91L,0xc57748048361f73eL,0xd637d3dd59abdbd5L, |
13128 | | 0x64a81bf98772b615L } }, |
13129 | | /* 10 << 189 */ |
13130 | | { { 0x78bb12ea7f3d83abL,0xca22c31c573f9b99L,0x4283c1732aed4c39L, |
13131 | | 0xda054c1d39f32bdbL }, |
13132 | | { 0x2ead717e1da2cbd7L,0x747d67cd62390b41L,0x43739d9c6b9666a6L, |
13133 | | 0xb84e2f228c827b12L } }, |
13134 | | /* 11 << 189 */ |
13135 | | { { 0x0e4ac2b1c0312773L,0x571cfc75e53f068eL,0x6c44df8542bfe41eL, |
13136 | | 0xe7d2edb9627e30bbL }, |
13137 | | { 0x9c2e4fd60dd5cedcL,0xe2d885ef0f7d22d7L,0x44b0b5db1329bcfdL, |
13138 | | 0x006e872fba1c96f6L } }, |
13139 | | /* 12 << 189 */ |
13140 | | { { 0xdbadab5d7e952317L,0xab849ed4c2a5bcaaL,0xe3acbb741e72dbb1L, |
13141 | | 0xbf42c3d35d4b7cb7L }, |
13142 | | { 0xebe967b53d748639L,0x1fe93db5c03af7a1L,0x2ab14596a944ea06L, |
13143 | | 0xfb05a75976655c09L } }, |
13144 | | /* 13 << 189 */ |
13145 | | { { 0x5117890c6f8a532bL,0x2f57781f59430c5bL,0xe70968b379e07b84L, |
13146 | | 0x05df2305e86d7223L }, |
13147 | | { 0x57af0dc531e32933L,0x5473e34a84afc419L,0xa7337a4203d5feb4L, |
13148 | | 0xd85c86021b1c6bd8L } }, |
13149 | | /* 14 << 189 */ |
13150 | | { { 0x25ca1891753008e6L,0x4338ec985f0ff93aL,0xd2ba8557ddd30a7cL, |
13151 | | 0xb4b6536109c51794L }, |
13152 | | { 0xfbb51399d1cbc66eL,0x28853781e53bca50L,0x5b797232fd5a9aaaL, |
13153 | | 0x6249afd75b88c4f3L } }, |
13154 | | /* 15 << 189 */ |
13155 | | { { 0xcc5ab6cbba6918a0L,0x9f824ec18fb65c7dL,0x4796d80b56b18754L, |
13156 | | 0x4c83d37167721520L }, |
13157 | | { 0xd77c373c63b03348L,0x91930e5e54f27457L,0x83f97370af40c03fL, |
13158 | | 0x65b5587234eea661L } }, |
13159 | | /* 16 << 189 */ |
13160 | | { { 0x310695d0eb10175eL,0x79aaa6eacd236aa1L,0xf78539ff3edfff40L, |
13161 | | 0x2369c51702cd6063L }, |
13162 | | { 0x81e43ae55c8631ffL,0x065e8212216a60bdL,0x225cb473e761a5f9L, |
13163 | | 0x695ef860ab6de6faL } }, |
13164 | | /* 17 << 189 */ |
13165 | | { { 0x03536a467d7d98d4L,0xa17d3a6918413673L,0xa6ddcd46295ae303L, |
13166 | | 0x86de0bbd61beae2bL }, |
13167 | | { 0xdd73dfcc7699458eL,0x827deba5b53f88ddL,0x213c376b42a9a11cL, |
13168 | | 0xc854fd7212c73975L } }, |
13169 | | /* 18 << 189 */ |
13170 | | { { 0x1fa9654715ac27ffL,0xcb0dc17bf49b6c9aL,0xa3e44853709dd202L, |
13171 | | 0xd3905c5fcfe2bbeaL }, |
13172 | | { 0xb01e57996c35ce9cL,0x0063e7ac900ef600L,0x8c70b87efffa5cc0L, |
13173 | | 0xebd76d3474230b0cL } }, |
13174 | | /* 19 << 189 */ |
13175 | | { { 0x914eec9eed5f8529L,0x7a65ffd3e8edf477L,0xf0cb206d70c74beeL, |
13176 | | 0x03445ff1d1b02e01L }, |
13177 | | { 0x664ca356e5dbf791L,0xd678d4ae254e69c4L,0x370c9f0f8617386bL, |
13178 | | 0x42af7a0cfdcd985dL } }, |
13179 | | /* 20 << 189 */ |
13180 | | { { 0x8c4b500983c3da54L,0x086a7ec54c8a87c8L,0x9ba0b368aa166c4cL, |
13181 | | 0xa279670fa658ac1cL }, |
13182 | | { 0xc49f49bd5d0544daL,0x28c2232315cb0b41L,0x86293dfaa4834d71L, |
13183 | | 0x283e191dd1e1d63bL } }, |
13184 | | /* 21 << 189 */ |
13185 | | { { 0x0cad6519ca188555L,0x323ce5da0cbd0c5cL,0x6b7d2be138560254L, |
13186 | | 0xb05ed3851696b9b9L }, |
13187 | | { 0x8ce4b5a79ae59f92L,0xabe5ff334f7e61a3L,0xae15a3ccdbfeb302L, |
13188 | | 0x691b1129837fde82L } }, |
13189 | | /* 22 << 189 */ |
13190 | | { { 0xb60b31f32e6d116bL,0xd49e9d11ecab5aa9L,0x3e95f8446787f23dL, |
13191 | | 0x2ab8834fa12f4846L }, |
13192 | | { 0xe70e2ab15b6359ccL,0x7a6349e99322a047L,0xc01e424c6c1e483aL, |
13193 | | 0x424b202792bd5d1bL } }, |
13194 | | /* 23 << 189 */ |
13195 | | { { 0x8a6e6766254e49a3L,0xb8d85d4297e70d58L,0xa859082fb51b3abcL, |
13196 | | 0x2850573be7bb828aL }, |
13197 | | { 0x47cc95b27bfe8021L,0x7c28fe9e5853f12cL,0xe5fb055810c0f389L, |
13198 | | 0xb99a639fdaf0a7e7L } }, |
13199 | | /* 24 << 189 */ |
13200 | | { { 0xa6b9e6c9f60ee3e5L,0xb397af7fa236377fL,0xb7a318ac7da4af71L, |
13201 | | 0xae64b6130a9d39fbL }, |
13202 | | { 0x66ce6c74902b3411L,0xea256a705a199e53L,0x8dcddd89550fb76fL, |
13203 | | 0x9443b47703e70f9cL } }, |
13204 | | /* 25 << 189 */ |
13205 | | { { 0x1787b8a5142113a6L,0xa58b6c61180aec95L,0xcc381420947ff26dL, |
13206 | | 0x22520e8f3d8b8c36L }, |
13207 | | { 0x192ee945ef2cc6efL,0xea52afeee9ca0c7aL,0x5970d794e6e30d93L, |
13208 | | 0x0a325e4257c786acL } }, |
13209 | | /* 26 << 189 */ |
13210 | | { { 0x5e2dddf833ca1226L,0x18e624b9588cb1e3L,0xf3ba597a21809265L, |
13211 | | 0x902477025d575728L }, |
13212 | | { 0x48a5bf7bc1f918dbL,0x17d1efafd6840541L,0x13dfe6fe3e2e754dL, |
13213 | | 0xc471e16a707a531fL } }, |
13214 | | /* 27 << 189 */ |
13215 | | { { 0x79085bbd97d34b48L,0xfa5ba99dc2e9bea9L,0x70b9c9fc6c5a6dc2L, |
13216 | | 0x4e0422134e94c5dbL }, |
13217 | | { 0x4a37b41f25ebb95fL,0x24691010055d79fbL,0xdaff93523f572a8fL, |
13218 | | 0xe63d55b0f327ec2aL } }, |
13219 | | /* 28 << 189 */ |
13220 | | { { 0xc5a86d3cdebd5116L,0xd547fe08a2ddef2aL,0xbabb617f6a149f12L, |
13221 | | 0x14f69a1b8a766128L }, |
13222 | | { 0xb83a147748236f77L,0xd0d81be135711279L,0x706f90675eab1c3aL, |
13223 | | 0x8c4823f116a1ffafL } }, |
13224 | | /* 29 << 189 */ |
13225 | | { { 0xd845c68baff5ea89L,0xa276eaeb6b75eadbL,0x2d0fc819cc230ec1L, |
13226 | | 0xdfad96e8edaaf1f2L }, |
13227 | | { 0x0f25dcbf40868254L,0x53bbe31e5babd7f9L,0x7f8afc48cf804a8dL, |
13228 | | 0x7f4922ef5f9b9a0dL } }, |
13229 | | /* 30 << 189 */ |
13230 | | { { 0x703cbf6dd7422804L,0xe5df61f383349bddL,0x0fa3d8cd77d285adL, |
13231 | | 0xe990f9e52e88e15eL }, |
13232 | | { 0x40ec61f78561d8a6L,0x7fc498a616650305L,0xa3bf5cb48e5beabfL, |
13233 | | 0xfaa5200876ae0350L } }, |
13234 | | /* 31 << 189 */ |
13235 | | { { 0x99e24318e4fc3e72L,0x9241c8ab2079c616L,0xefa5bf389584a258L, |
13236 | | 0xd7b770b51eebb098L }, |
13237 | | { 0x28b714a3e1fc18a7L,0xf0426bd25b83dd9aL,0x956d8972291b28eeL, |
13238 | | 0x8bb8cbde6eb553ffL } }, |
13239 | | /* 32 << 189 */ |
13240 | | { { 0x396cfe2d95298003L,0xcaa66550ad8412fcL,0xf41d021583997dd3L, |
13241 | | 0x7066e35645534587L }, |
13242 | | { 0x0d5b5c3e5b6de0d7L,0x8ead45d0cecd5f26L,0xe2f24e2cd252ae50L, |
13243 | | 0xf71e5d4f815150bfL } }, |
13244 | | /* 33 << 189 */ |
13245 | | { { 0x3872685d54527ce5L,0x59b343ae91fd99eeL,0xd621d0273462cc0cL, |
13246 | | 0xfa42481f8dbfbcf4L }, |
13247 | | { 0xda481a9eaf7ae918L,0xfd5fd37c7c909a18L,0xa5ebb7bf805fb7b7L, |
13248 | | 0xeac65687165200b1L } }, |
13249 | | /* 34 << 189 */ |
13250 | | { { 0x563028667cef9b97L,0x8f662dd6ae3ddb64L,0x90cb4e8760c1aa98L, |
13251 | | 0x33f9fc60986fb3bcL }, |
13252 | | { 0x76f41ecc974593cdL,0xb19501f96e0f01e8L,0x587d903525760dd5L, |
13253 | | 0xa31c971c9391032eL } }, |
13254 | | /* 35 << 189 */ |
13255 | | { { 0x7650e3b195c9a84fL,0xbb83ea9378c66087L,0xda08a04cdfcf1365L, |
13256 | | 0xd23daebaca0b84a4L }, |
13257 | | { 0xf89d395d2ca3bd2bL,0x779e2aaf6e53fc93L,0xc0fc7dc834216082L, |
13258 | | 0x6cd8bdf642a66691L } }, |
13259 | | /* 36 << 189 */ |
13260 | | { { 0x836a2cf30fe014cfL,0xdde5fc220c08373dL,0xc4fa2387cb3b2b54L, |
13261 | | 0x96253732e2aa434aL }, |
13262 | | { 0x4c4f59791d502ce8L,0xf046f5a9b6df40c4L,0xc7d05765ac6b75b5L, |
13263 | | 0xae1cd887b69f3c34L } }, |
13264 | | /* 37 << 189 */ |
13265 | | { { 0xafed4be649b86680L,0x17b75fa514f70463L,0xb12e805190b7c07fL, |
13266 | | 0xe2c8cf2b39a8e99dL }, |
13267 | | { 0x984744c4d5fdb65bL,0xd8b1c012a28942e4L,0x295d019946693fb2L, |
13268 | | 0x5ab3a305a0a3b4faL } }, |
13269 | | /* 38 << 189 */ |
13270 | | { { 0x3c19102326755b3fL,0x75f35df1b6c084deL,0x30640e6663e6286bL, |
13271 | | 0x3b3720ecd2c6c059L }, |
13272 | | { 0x2c821a0f6ea837beL,0x238c4d9384f23bd0L,0xbdc40703390ea4f5L, |
13273 | | 0xcb207d0aae68a2dbL } }, |
13274 | | /* 39 << 189 */ |
13275 | | { { 0x487d18bde25f098fL,0x390180239ab84e10L,0xaa19aa628b7ab4a2L, |
13276 | | 0xcb9cdebe89f08fbdL }, |
13277 | | { 0x26a4c9eb2ca57917L,0xaadfd472da92ce1bL,0x32b592d8daa907dbL, |
13278 | | 0x9bbebacc7d6f995eL } }, |
13279 | | /* 40 << 189 */ |
13280 | | { { 0xa27a4735e1d88c25L,0x339905e19bd66b67L,0xa9bfa0ed62af9942L, |
13281 | | 0xd94dd9e02e2cb83cL }, |
13282 | | { 0x279d8fdaab28e268L,0xf28ab69b51a97518L,0xce9bd2ea9691f33eL, |
13283 | | 0xb9e8b2fe74be3d64L } }, |
13284 | | /* 41 << 189 */ |
13285 | | { { 0x35072fababefa07dL,0x1c2ba05c7b51ba8eL,0x3bb1ec56d32d6bf5L, |
13286 | | 0x326bdfdc5d7bd7dcL }, |
13287 | | { 0x33f4f4f6d95bdcb1L,0x781bfd34453ef338L,0x4d210cad1ef61a66L, |
13288 | | 0x6ae7bb142799bcc7L } }, |
13289 | | /* 42 << 189 */ |
13290 | | { { 0xb105e5ec194f4d6aL,0x204a548052b77f08L,0x13f4e022a328ab98L, |
13291 | | 0xa56863c4b7f9a240L }, |
13292 | | { 0x2780c9a7ce4cf7bdL,0xf98e3f58c497fdf3L,0x635b8bc6f52738fcL, |
13293 | | 0xc5fd89b858937500L } }, |
13294 | | /* 43 << 189 */ |
13295 | | { { 0x5707042875e98a64L,0x66aabaae946f094bL,0x7d2376e806d37944L, |
13296 | | 0x9b31682709319f13L }, |
13297 | | { 0xbbde59a8a77eb79bL,0xb7f35bbbf451fde0L,0xb2f7914e64aa79fdL, |
13298 | | 0x4d2944b39f68a486L } }, |
13299 | | /* 44 << 189 */ |
13300 | | { { 0xbd8a92dec1a7e537L,0x76695e9a4fc930a3L,0x1b75f9ebbcb4153bL, |
13301 | | 0xf5a34d2df6485404L }, |
13302 | | { 0xe09ee96526853a8eL,0x63de85959dbb319aL,0xbbbc1b07da079d6dL, |
13303 | | 0x5956bb3ddfa71b9dL } }, |
13304 | | /* 45 << 189 */ |
13305 | | { { 0x69709306209cbcc3L,0xbe2a08d0e3360429L,0xd377a9fe92a58752L, |
13306 | | 0x37e175ea997bc322L }, |
13307 | | { 0xfe355d4d042ff2e4L,0x4332ef314c4babd3L,0x634429c22314b1afL, |
13308 | | 0xae6e827591a7d5e5L } }, |
13309 | | /* 46 << 189 */ |
13310 | | { { 0x134a39c7250a1476L,0xec9bb64208994f0cL,0x2a9e0ac0d38704cdL, |
13311 | | 0x16490507536a4ad0L }, |
13312 | | { 0xc7f747d27c8dbfebL,0x91e67dd2c0bb24acL,0x2dfc6c8a959eca45L, |
13313 | | 0x78bafaf0c54fefe8L } }, |
13314 | | /* 47 << 189 */ |
13315 | | { { 0xf3eb2d1b5da056f3L,0xda14b6313b89c967L,0x80923b1ccb51f621L, |
13316 | | 0xc3d5fd1f6609791cL }, |
13317 | | { 0x68ad7bef817b1063L,0x3775b686a1f0b00cL,0xb207c9a56c7f0dc1L, |
13318 | | 0xb7c30a7da9b91fffL } }, |
13319 | | /* 48 << 189 */ |
13320 | | { { 0x9274c0908b9f8e8cL,0xa375761024e94ce1L,0x8f2b1f2c4f0f3ec1L, |
13321 | | 0x02e53bb23938d26fL }, |
13322 | | { 0x90a3da2c701e5ae8L,0x60c2eacaa271dccaL,0xc9c08e3931fb2372L, |
13323 | | 0xcaa3245eb838908aL } }, |
13324 | | /* 49 << 189 */ |
13325 | | { { 0x2e168b0ba6a6a275L,0x986a30a30030ef6bL,0x79f768f9170ab683L, |
13326 | | 0x7296fd6fff70981eL }, |
13327 | | { 0xbab6fedf13a323cdL,0xa86ec0dd186e9813L,0xd9f8db04cd56e7d5L, |
13328 | | 0x47b20676aa8b1c96L } }, |
13329 | | /* 50 << 189 */ |
13330 | | { { 0xdff4574ef1fb3b03L,0x41a1f7651051f9fcL,0x35779aee7f289a4eL, |
13331 | | 0x93bd54c911c96180L }, |
13332 | | { 0x1485074a37b95c67L,0x0b01af950865b2f0L,0x43033ffe90ce0b41L, |
13333 | | 0xffd6e34c71504d6fL } }, |
13334 | | /* 51 << 189 */ |
13335 | | { { 0xb380cd601aa946c8L,0x7f7cc73b806b2e19L,0xc17df7d82db88e6dL, |
13336 | | 0x7b767ca2072e5416L }, |
13337 | | { 0xbb42d3ed0ad6134bL,0x5444339f640df8afL,0x7e7c7e7b5bc73112L, |
13338 | | 0xe8f139b4f899dba4L } }, |
13339 | | /* 52 << 189 */ |
13340 | | { { 0xd13b436d43a06bf3L,0xe43f8567773e4863L,0x35555cd556b814d7L, |
13341 | | 0x54af8e53d429ccc8L }, |
13342 | | { 0xc346718f82ae0477L,0x301fb382be02c7a8L,0xcd65b3b2d2a70595L, |
13343 | | 0xcfcff4995aad01d6L } }, |
13344 | | /* 53 << 189 */ |
13345 | | { { 0xd0fcc076589feca8L,0x7b2b93c77c603ed8L,0x2dda7a8c6ddfc3b8L, |
13346 | | 0x678d66e974723d99L }, |
13347 | | { 0x0f7e42156db60b07L,0x40666848c0bfa2f9L,0x70b46b5c8e116cafL, |
13348 | | 0xbd753511fba46d90L } }, |
13349 | | /* 54 << 189 */ |
13350 | | { { 0xe48374cd019d8279L,0x7d40e6e2309b0fc6L,0x226435ee9dec7a42L, |
13351 | | 0x818e79cb4243e7d0L }, |
13352 | | { 0x3d7376d754658634L,0xa40cafeb9f8727acL,0xdc1d09f081f556bcL, |
13353 | | 0x32ca736763223573L } }, |
13354 | | /* 55 << 189 */ |
13355 | | { { 0x92e10f915810a27dL,0x6fb34bad1fdf969fL,0xe5c2b2ff657a067eL, |
13356 | | 0x173c0900382ba37aL }, |
13357 | | { 0xdd5113c886d87c1eL,0x56a2ca9dcaf77294L,0x9f956881666a9821L, |
13358 | | 0xc4bcafc7a3b18c0fL } }, |
13359 | | /* 56 << 189 */ |
13360 | | { { 0xb100f3382b02578bL,0x4716339e64b2c607L,0x92c923ae5b161179L, |
13361 | | 0xada2e4da0df442a0L }, |
13362 | | { 0x4d4b90c547f85474L,0xa378bf79824e3195L,0x4469339d2478a0d4L, |
13363 | | 0x0972e7880c1e69e2L } }, |
13364 | | /* 57 << 189 */ |
13365 | | { { 0x1aedd76172edc384L,0xcabcd9769898d672L,0xd370aa7aba814ca2L, |
13366 | | 0x20fa58dbe88eca9cL }, |
13367 | | { 0x1540ada945a7ab8dL,0x8dcf9860bdca94fcL,0xf0187e2caa9df4f4L, |
13368 | | 0x9a197dc354a49576L } }, |
13369 | | /* 58 << 189 */ |
13370 | | { { 0xb54f5cb2b4a1f341L,0x1439caf0fe32827bL,0x3c1a356dd36783f5L, |
13371 | | 0x284e2f15c56a6e47L }, |
13372 | | { 0xc6abad594dcfaddfL,0xe82993f7082bb2b4L,0x3cb4697223655955L, |
13373 | | 0x8ab06385992551e3L } }, |
13374 | | /* 59 << 189 */ |
13375 | | { { 0xcbd6cb99daa13ab3L,0x01375bbd2dc1333dL,0x638a7f20972c4440L, |
13376 | | 0x150665c624dcb1ccL }, |
13377 | | { 0x4044e12f1ea989c6L,0x204c4eba61012ea3L,0x78b8edaaac2719c1L, |
13378 | | 0x6772643d2ab50d99L } }, |
13379 | | /* 60 << 189 */ |
13380 | | { { 0x94604146606d63deL,0xa876d9b0693aadc8L,0xf7401ffb667044ffL, |
13381 | | 0xab98d73eb599ecb4L }, |
13382 | | { 0xe2b2048fda5cbee3L,0x526e3aa1a2b3da50L,0x4d0885e3b4ad2073L, |
13383 | | 0x916ce3d2644a1a19L } }, |
13384 | | /* 61 << 189 */ |
13385 | | { { 0x952b574796930e8dL,0x2a489fd6b0cf7f5fL,0xbff4b59ba8b3b538L, |
13386 | | 0xba0e03ff6aff1cbeL }, |
13387 | | { 0xfa614adcd56b2285L,0x2305edd450d58e62L,0xb349fdcee36877e9L, |
13388 | | 0x5f808fc243a6103bL } }, |
13389 | | /* 62 << 189 */ |
13390 | | { { 0x66d8404b86493abeL,0x18c92d3d9b08ff7dL,0x6a60ab6b89754762L, |
13391 | | 0xec69fd4c8233dee7L }, |
13392 | | { 0x3244924206beadfaL,0x421caf1ee0df7084L,0x6f89693bd7969339L, |
13393 | | 0xb9a53713fa30a7a9L } }, |
13394 | | /* 63 << 189 */ |
13395 | | { { 0xf89d9bf511556d9aL,0xe4e9c5f0ee8cf993L,0xe5b2a32317ed9a7eL, |
13396 | | 0xd4db392093e80c9eL }, |
13397 | | { 0xae8578641fda3726L,0xe5cb36a3a3e88485L,0xa6b85205f495b9a8L, |
13398 | | 0xc1be010838f3b180L } }, |
13399 | | /* 64 << 189 */ |
13400 | | { { 0x79d0585b36a1f3a8L,0xa3d8f17f913ba5f2L,0x1eaee5d6225acf11L, |
13401 | | 0xd4dfd0a20d32de79L }, |
13402 | | { 0x0cec324b6b3ceff3L,0x3acc6decab447870L,0xabbf7e6db9c759acL, |
13403 | | 0x0d5c1f47a5196938L } }, |
13404 | | /* 0 << 196 */ |
13405 | | { { 0x00, 0x00, 0x00, 0x00 }, |
13406 | | { 0x00, 0x00, 0x00, 0x00 } }, |
13407 | | /* 1 << 196 */ |
13408 | | { { 0x781a215745e7ea91L,0x4da3f86dacadfc40L,0xc81d6c7d162cd393L, |
13409 | | 0x2c38a2a1ad6e60fcL }, |
13410 | | { 0x575b25d6f753479dL,0xc914e08ebdec6025L,0xf81cea34492d5547L, |
13411 | | 0x6bbb8bb1fb1b6969L } }, |
13412 | | /* 2 << 196 */ |
13413 | | { { 0x1ee8082c1279504cL,0xa466abb22c92ffb7L,0x4118b26a3e81c7e2L, |
13414 | | 0x1a76cc50fc60e33aL }, |
13415 | | { 0x34998bc25736d7aeL,0x20b39558bd1ef993L,0xd669e2ae5fbf2525L, |
13416 | | 0xbf956ec601cc7626L } }, |
13417 | | /* 3 << 196 */ |
13418 | | { { 0xce817029b0ccbaa5L,0x57ef5bd2279b78a6L,0xc92837474df45d89L, |
13419 | | 0xe86b91a82ec4bfd3L }, |
13420 | | { 0xe5ab4c6dfe565915L,0xe65747167c58a042L,0xe141deda6301c4bcL, |
13421 | | 0x2f95d5618084513aL } }, |
13422 | | /* 4 << 196 */ |
13423 | | { { 0xdc424508eecede3dL,0x11889b35386440d0L,0x7b229f9398de0d77L, |
13424 | | 0x73fced8a300a7447L }, |
13425 | | { 0xf75e1c79e31c8f88L,0x8db20bddbb277e4fL,0x8ded0a702b87c02cL, |
13426 | | 0x166281b54d164c1aL } }, |
13427 | | /* 5 << 196 */ |
13428 | | { { 0x887356cfeedd8e0cL,0x8afab37fe44c012bL,0x0795935fe4aa3eb6L, |
13429 | | 0x9b9efc0cda6dfa57L }, |
13430 | | { 0x0ff0f8aaa8ab0840L,0x0f3a4b63c8561605L,0x2ca911efd5db9315L, |
13431 | | 0xef70e5bac8ded9f8L } }, |
13432 | | /* 6 << 196 */ |
13433 | | { { 0x443d9209a6aae58bL,0x3d0798e8274edda3L,0x5c2d462cc2be3c9aL, |
13434 | | 0xb5488239439882dcL }, |
13435 | | { 0x6391bb41977d4de4L,0x7fd910401e8245c4L,0x1a6d3c713b093dc2L, |
13436 | | 0x423a4e3a7b22fe12L } }, |
13437 | | /* 7 << 196 */ |
13438 | | { { 0xe3156f403a9a04a3L,0x9b32c4e5297d9affL,0x7e0b401e62a89850L, |
13439 | | 0xffbf542ea84ef082L }, |
13440 | | { 0x377cc0e0f990caf5L,0x02704343ec88ea9bL,0x846fd46c63f96a51L, |
13441 | | 0x37f5cebfe9855c47L } }, |
13442 | | /* 8 << 196 */ |
13443 | | { { 0xbd140bd8e6ad29dcL,0x7dca4b106a04da28L,0xa84feafcade05b33L, |
13444 | | 0x44d031f87630aacfL }, |
13445 | | { 0x18af2fa6cdee269cL,0x1e40571b8697a40bL,0xf71d44adf0e5f826L, |
13446 | | 0x2a47ddf9a434cfe6L } }, |
13447 | | /* 9 << 196 */ |
13448 | | { { 0x22b97078ad17cc54L,0x223732dcf2c105b2L,0x25168336e284fae8L, |
13449 | | 0x41b1bb94b356407bL }, |
13450 | | { 0x299e7d7a89933a11L,0x19e13d3cff7dd9f6L,0x9517bd16f23d7ca7L, |
13451 | | 0x9e5e9e341eb978a4L } }, |
13452 | | /* 10 << 196 */ |
13453 | | { { 0x4c222dae5fa3f92fL,0xd5e38e84ed489ca7L,0x3d81aca470ea613dL, |
13454 | | 0xc7bed301be4e88f6L }, |
13455 | | { 0x6fd5a7bf0757d8dbL,0x1472441d7a9181b0L,0x78b787535a90b66fL, |
13456 | | 0xe3fd5e91abdae620L } }, |
13457 | | /* 11 << 196 */ |
13458 | | { { 0xea6a77d884535653L,0x8d241deb81d7e667L,0x1af73798faf4ef1bL, |
13459 | | 0x5e1ae7283e0dae27L }, |
13460 | | { 0x6a67088c2f7450b5L,0x7bccbe06da9cb3c6L,0x520fabab5b808e05L, |
13461 | | 0x84222f68702b247bL } }, |
13462 | | /* 12 << 196 */ |
13463 | | { { 0x2471546ae0bd7ef2L,0x27d310dc656a62a3L,0xb8014ecaad35da30L, |
13464 | | 0xbdfdcd827f35cd7aL }, |
13465 | | { 0xf1e4d51f040ae645L,0x672ffadff42a4d9bL,0x9d8743702d0be1c0L, |
13466 | | 0xcc3671c6c6e55471L } }, |
13467 | | /* 13 << 196 */ |
13468 | | { { 0x39aa705cbb9c9667L,0x8c3e584ac51f661dL,0xe5645b1de570769cL, |
13469 | | 0x81923fdabc97abf4L }, |
13470 | | { 0x51d64f640caac97cL,0x45c17651ff847f4aL,0xc7a6eaf98cbfa2c7L, |
13471 | | 0x6c2ab9f7ba8ab893L } }, |
13472 | | /* 14 << 196 */ |
13473 | | { { 0xbdaa2c7bf435624eL,0xc113e9711d961058L,0xb230f1b0a2021a1cL, |
13474 | | 0x6b34e1ff521a4816L }, |
13475 | | { 0x159dc24d9b874f4dL,0xeaa0f951beaab169L,0x4f38733fb56f4916L, |
13476 | | 0x4ee689dbdc9d3ac7L } }, |
13477 | | /* 15 << 196 */ |
13478 | | { { 0x720254bb7bf8d03bL,0x78b0e6d6d31d7679L,0x848fb878f130d7b0L, |
13479 | | 0xe8e478ecd3ba625aL }, |
13480 | | { 0xb0ce9168100dfefbL,0xfe1463abe5098aa8L,0xf780ac38a11ec558L, |
13481 | | 0x92f15c528e474b9fL } }, |
13482 | | /* 16 << 196 */ |
13483 | | { { 0x3b3892d346410cb1L,0x72097f2203a5a136L,0xdb3a1b8098de068dL, |
13484 | | 0xfb7438e44b1a3890L }, |
13485 | | { 0x8a10d5ea3839d3d9L,0xd9ad034df4bd8126L,0x07d108efd4800261L, |
13486 | | 0x978d98ba9c5d6c52L } }, |
13487 | | /* 17 << 196 */ |
13488 | | { { 0x63ae69e1ecb9ce1cL,0x70d2b43751b28f39L,0xc15696b677f848a2L, |
13489 | | 0x6b6e60f4d8ab4d76L }, |
13490 | | { 0x33a581a4030bf112L,0x9cdb1a6ec5e74a76L,0x6c6f6ec47a950053L, |
13491 | | 0xd47dc472b04ebcffL } }, |
13492 | | /* 18 << 196 */ |
13493 | | { { 0xe85ca76a5e0970dfL,0x74448d9878988af2L,0x5227649b81620019L, |
13494 | | 0x47e2ac62aabc2027L }, |
13495 | | { 0xfea15155fbffedf2L,0xa565c4843b4cb501L,0x4c523be5d830ceceL, |
13496 | | 0x2e2de6bcc321a440L } }, |
13497 | | /* 19 << 196 */ |
13498 | | { { 0xa7d627718d69887dL,0xf9d8ac674e138de4L,0xad3fbc089fcb0a09L, |
13499 | | 0xcaabb0b0bfc3bc9aL }, |
13500 | | { 0x84646bc3b1c20604L,0xf1059ac4d1574260L,0x5c15c6a2eefff298L, |
13501 | | 0x7975ede6f3b0a393L } }, |
13502 | | /* 20 << 196 */ |
13503 | | { { 0x0ea9d35527c2343aL,0xe21c75e44b32e339L,0x1438785ea7fc353aL, |
13504 | | 0x0b8d64bae9a1dd56L }, |
13505 | | { 0xcacf9b6475347c02L,0xf788c83ecaad57aaL,0x90df1ab836ecf2e0L, |
13506 | | 0x4db604a3f45070acL } }, |
13507 | | /* 21 << 196 */ |
13508 | | { { 0xbc76e168b4c4ed93L,0x07177b5e85b65a6cL,0x41e3c27500d21309L, |
13509 | | 0xcc9678e476a48f42L }, |
13510 | | { 0x3a04d197b1c6256fL,0x940920a9b2cc7330L,0x990e4da82523d52fL, |
13511 | | 0x34709b245a59d733L } }, |
13512 | | /* 22 << 196 */ |
13513 | | { { 0x2f0da81c8e745028L,0x32b5f384cd5668abL,0x82744a5aee538e7eL, |
13514 | | 0x1b019babf3eb2516L }, |
13515 | | { 0xccbd28fbd79d735fL,0x0bb54a6e85f90aa2L,0xacf5552f9a69ecafL, |
13516 | | 0xbc51ee85d1f1e30bL } }, |
13517 | | /* 23 << 196 */ |
13518 | | { { 0x12bf8b0bfa25193dL,0x3f0f51b05ba4b3c8L,0xc1b65deb66181f23L, |
13519 | | 0xfeb037f9c0156b03L }, |
13520 | | { 0xdd7a0a8ca9dc59edL,0x20b5c8ea7b57e018L,0x0c3ebc94efaadad5L, |
13521 | | 0x146d05b618758ebaL } }, |
13522 | | /* 24 << 196 */ |
13523 | | { { 0xcb952e4109c7b43cL,0x7f7a0ae31c1b8fb6L,0xbca8a9cf331dfb05L, |
13524 | | 0x4a1db4a1e0db9d7dL }, |
13525 | | { 0x988d36a3e5b9c892L,0x64640e55010ad00eL,0x4c33c7e8c011bffdL, |
13526 | | 0x5d7cf370a0ad217bL } }, |
13527 | | /* 25 << 196 */ |
13528 | | { { 0xbaf8b74a71f3df52L,0x300963bca5995b20L,0x695cf7eed6c27636L, |
13529 | | 0x74d4d3a103ac244eL }, |
13530 | | { 0xddba3bd6c898e5bbL,0x27573a89fe3499f7L,0x666b44154b0a6c98L, |
13531 | | 0xf4f3e8c5aa4ccfaaL } }, |
13532 | | /* 26 << 196 */ |
13533 | | { { 0x5f1368751a5b919bL,0xed8eb5db670d4b04L,0x4cd83d190d0d73bfL, |
13534 | | 0xd2a5c62abdf22579L }, |
13535 | | { 0x8c41be16c2d04c2bL,0x5aa33bc4bf9ad465L,0x36e206465e00d922L, |
13536 | | 0x9df21e7c00b70e17L } }, |
13537 | | /* 27 << 196 */ |
13538 | | { { 0x0601e630d440af4dL,0x4aab0d33963e87dcL,0x2712abdb36d39000L, |
13539 | | 0x856d7e3bf9147e2aL }, |
13540 | | { 0xadc4a96ac8e5d2f4L,0xac3e53362e70c206L,0x1ee7d8386f6f3d0eL, |
13541 | | 0x4674ef20ead72426L } }, |
13542 | | /* 28 << 196 */ |
13543 | | { { 0x3a804dd86af5f580L,0x724a756bd74ea5ceL,0x0c2968d00432d854L, |
13544 | | 0xe3be03f3a4f262feL }, |
13545 | | { 0xe446692ac84c22bbL,0x156b31689647650dL,0x4e06bc39b5d3d62aL, |
13546 | | 0xf99d4fec80eea174L } }, |
13547 | | /* 29 << 196 */ |
13548 | | { { 0x3a2b7ae8c08f1144L,0x35e65bf912dae8d6L,0xfa0af1cfae3892b5L, |
13549 | | 0xa57062dcac408112L }, |
13550 | | { 0xef6a9ec324bf1af9L,0xdda3b4765decd8bcL,0x9314a36c7bed3775L, |
13551 | | 0x9e254b0e60aa296eL } }, |
13552 | | /* 30 << 196 */ |
13553 | | { { 0x8be2de8065b9cf2cL,0x1b110df6cb3b96cfL,0x0f647a1218957e21L, |
13554 | | 0xa1e112384f907766L }, |
13555 | | { 0x751a0d82c5528977L,0x958d87389a4b1260L,0x99087543773658eeL, |
13556 | | 0x18148bbef19f74cfL } }, |
13557 | | /* 31 << 196 */ |
13558 | | { { 0x5f50ef190a19a374L,0xc5bc41606bdd3392L,0x1bdf5e4bb80ad74cL, |
13559 | | 0xc40ec2f7ed7e68c8L }, |
13560 | | { 0xedd7dd6adecef5b8L,0x3d29a1cb896c95a3L,0xfa84c32570ad41d4L, |
13561 | | 0x6a577072c398c177L } }, |
13562 | | /* 32 << 196 */ |
13563 | | { { 0x4f942d017375f2deL,0x968a76088aa1523aL,0x55dc7da6377e5c4cL, |
13564 | | 0xb75fff53282b540eL }, |
13565 | | { 0xfee35c15fd4b6951L,0x6d1d64f6f04ddfaeL,0x320f1769af7c8714L, |
13566 | | 0x2b5f86a4482ba6fdL } }, |
13567 | | /* 33 << 196 */ |
13568 | | { { 0xcf691cb71ab9986bL,0x42913d717377ba6bL,0x120b46011e47bf08L, |
13569 | | 0xfb514e52764b2661L }, |
13570 | | { 0x371c0155a140ae04L,0x94e65b702e186763L,0x5e440f7bd5764306L, |
13571 | | 0x3411dadf7b8a5eebL } }, |
13572 | | /* 34 << 196 */ |
13573 | | { { 0x6c25e519f0e3e158L,0x46ee66d6e8898c80L,0xa0e9d4b1ec4f9b03L, |
13574 | | 0xba48d97c126c1f31L }, |
13575 | | { 0xb9f96818bdbf0928L,0x293ce87d7f51cb48L,0x077a742076f09d38L, |
13576 | | 0xc71cb875edea4c81L } }, |
13577 | | /* 35 << 196 */ |
13578 | | { { 0xfeda750d9ddd1485L,0x987876dc51c10504L,0x4d0253f875ec7922L, |
13579 | | 0xbcc15e39c676b336L }, |
13580 | | { 0x33d533d8b9370740L,0xc5c482dbcb8c88abL,0x1ff3f223c7c08a75L, |
13581 | | 0xccfaf564401b00fdL } }, |
13582 | | /* 36 << 196 */ |
13583 | | { { 0x6ba93d3a6ac9757cL,0xff09b546ec2c92a0L,0x95d3436cc5960be8L, |
13584 | | 0x90b7e8cb69029082L }, |
13585 | | { 0xbdd1e2b9db6b32e5L,0xf4d2e43bfd47ad85L,0x8923251ecb005dbeL, |
13586 | | 0xc21368a0662912e7L } }, |
13587 | | /* 37 << 196 */ |
13588 | | { { 0xc7ce2963062d205cL,0x1e8f812f9542b831L,0x4f8a7915818c322dL, |
13589 | | 0x50073cbafb678809L }, |
13590 | | { 0xed7b52370cb91b3eL,0x22d1fa4160d3fe6bL,0x3de390632d690f75L, |
13591 | | 0x12b2e39ef164ec1fL } }, |
13592 | | /* 38 << 196 */ |
13593 | | { { 0xa28a0d83332f408fL,0xe6d9406c6a054db1L,0x67369b765ddd64e0L, |
13594 | | 0x6d67170702b21c2dL }, |
13595 | | { 0xb9ad3368ac42170fL,0x5e8f5277e5802ffaL,0x1b4468fbd9b4a0a9L, |
13596 | | 0x0daf826996c24331L } }, |
13597 | | /* 39 << 196 */ |
13598 | | { { 0x976c2f23c09ad26dL,0xd47afe8819c68d38L,0x0e96c03bd3d8d84fL, |
13599 | | 0xe05b5fd80932b2feL }, |
13600 | | { 0x13931043347fbbbdL,0xe0fa842fb0ccc752L,0x7295ee0fc75bf745L, |
13601 | | 0xebaae0dcb0aa9d61L } }, |
13602 | | /* 40 << 196 */ |
13603 | | { { 0xb392d49b6355564cL,0x57e2f166887c5a18L,0x88b3a014230a278aL, |
13604 | | 0x088e49084c194449L }, |
13605 | | { 0xc6cd309f43d6af69L,0x394445e3589a7f7eL,0x0610077a031e7c08L, |
13606 | | 0xd05547cca3519f78L } }, |
13607 | | /* 41 << 196 */ |
13608 | | { { 0x0123b543926e26edL,0xcd430b8062d06da6L,0xddb182d00dcd6db5L, |
13609 | | 0x724c9bce8eb6e010L }, |
13610 | | { 0x985a2f0f50a4a597L,0x35f2427f900f2a49L,0xce6136fe13cbf187L, |
13611 | | 0xc893bdee1086c2aaL } }, |
13612 | | /* 42 << 196 */ |
13613 | | { { 0xe2410ccb07eca624L,0xeda92913ddf9afb0L,0x8fc0cfd05bb66033L, |
13614 | | 0x0ab7d29b0509ffc8L }, |
13615 | | { 0xc063b004b3d4f10aL,0xed94a955eb8cf642L,0xacfb2f14a272ac4dL, |
13616 | | 0x10f2c91ac4ebbf0bL } }, |
13617 | | /* 43 << 196 */ |
13618 | | { { 0x73f6e02e06ea04ebL,0xb969e8f88b97ea93L,0xa9b274720cd48657L, |
13619 | | 0xe1a874ec99264937L }, |
13620 | | { 0x34e677a4f794332dL,0x5e67865e5ee2daeaL,0x3fe02b91e6886879L, |
13621 | | 0xe113432f0f9776adL } }, |
13622 | | /* 44 << 196 */ |
13623 | | { { 0x375673066a2c47d1L,0xf66df9b862feb54aL,0xf734ee373e07ce56L, |
13624 | | 0x50c4982d659809fdL }, |
13625 | | { 0xe2fa768f9daf8faaL,0x66088ddc8b9fd7c3L,0xb8265661333683c6L, |
13626 | | 0xe7dacf81dff2a0a7L } }, |
13627 | | /* 45 << 196 */ |
13628 | | { { 0x1e99d6bd5e3da06cL,0xbd50e15cbae05a25L,0x47a0d997802d7b40L, |
13629 | | 0x0a25b51b193ef621L }, |
13630 | | { 0x24d3d4f4148ee5a3L,0x7012618f022a9df0L,0xb3777339f68e648fL, |
13631 | | 0xcdfb557fd7544352L } }, |
13632 | | /* 46 << 196 */ |
13633 | | { { 0x4b0b2d461f912c5fL,0xddaf929a957515d9L,0x29e4bf1f0ae46856L, |
13634 | | 0x158b4c8544e32ab0L }, |
13635 | | { 0x179353987c48d2d2L,0xe4ab63006f2430bcL,0x71dd72840d8b24d4L, |
13636 | | 0xd9303af1fc21d7e4L } }, |
13637 | | /* 47 << 196 */ |
13638 | | { { 0x816c616f450f7f6dL,0x17875d8e3306df19L,0x7ce8d4a5087e86e0L, |
13639 | | 0xa53970ac36251f01L }, |
13640 | | { 0x2037f12cfc98edafL,0xc359a382abf72b6fL,0x06acf1a685130fa6L, |
13641 | | 0x08f45064adfe4344L } }, |
13642 | | /* 48 << 196 */ |
13643 | | { { 0xc01e1f3bdd857b31L,0x92c2263ac9513734L,0x562652d5589327b8L, |
13644 | | 0xa8edd06596a1c164L }, |
13645 | | { 0x2cbf8f9879f8df8dL,0x3d5cf77140847ddeL,0x69b08ee4597c0622L, |
13646 | | 0xfff18c4d8a868f2aL } }, |
13647 | | /* 49 << 196 */ |
13648 | | { { 0x28bca3d2f5ad0686L,0xf7992f892d4eef7bL,0xab10b9cc3977e15dL, |
13649 | | 0x47912ca12db8ef03L }, |
13650 | | { 0x1f3e70e6df27884bL,0xdd9bb81e0e9d8efaL,0x97a83b6f279e27f6L, |
13651 | | 0x47e259fb24daf922L } }, |
13652 | | /* 50 << 196 */ |
13653 | | { { 0x49eb72bc124e71beL,0x01dba0013a6778baL,0x8d02baec3be03050L, |
13654 | | 0xe3571b3c6dd6c8efL }, |
13655 | | { 0x6e1ffbac2cc11ffeL,0x6d725c75f4e2e6f0L,0x96c31b45f2b53a58L, |
13656 | | 0xa0e38dd797f1634bL } }, |
13657 | | /* 51 << 196 */ |
13658 | | { { 0xe8507959143ce001L,0xad9a9f528b49cc63L,0x950fd33d8438b0faL, |
13659 | | 0x2b294c00be0cbdf6L }, |
13660 | | { 0xb2076b47937b00ceL,0x026153a178041498L,0xe958f12de9e53d27L, |
13661 | | 0xf49e1124e8f8fad9L } }, |
13662 | | /* 52 << 196 */ |
13663 | | { { 0xb78a5b742bca0ae1L,0x35180deccccdc3d3L,0x15e4fba5a97e519fL, |
13664 | | 0xe49dac9df5b8340eL }, |
13665 | | { 0xdbd8ed3ae5978024L,0xd181f26aeb105505L,0x3836481829f57098L, |
13666 | | 0xd674fe1f3900171aL } }, |
13667 | | /* 53 << 196 */ |
13668 | | { { 0x5a2ff729f1bd5803L,0x53de7261eda23387L,0x7f1d84c8f0dc417cL, |
13669 | | 0xa65694a75360fa80L }, |
13670 | | { 0x356e451896ed36e6L,0x127a52de406bfd36L,0xb575a98ede925d04L, |
13671 | | 0x35fb44bec0627c4fL } }, |
13672 | | /* 54 << 196 */ |
13673 | | { { 0xc85f2c69471e745aL,0x1c01e1ea6213d79eL,0x95ea99a12f5081f0L, |
13674 | | 0xdb38bd3ec3367864L }, |
13675 | | { 0x0e8cafecd8880436L,0x1d59fd74f9c63d09L,0xe57b0b4f7f875dbbL, |
13676 | | 0xe266c93977084bd7L } }, |
13677 | | /* 55 << 196 */ |
13678 | | { { 0x0e289c5a2fc1f909L,0xece9d22586c4fc40L,0xe0a56fbe5d79b4b3L, |
13679 | | 0x2b96fae7d4489041L }, |
13680 | | { 0x0f66316be23c85e7L,0x2d1a3c78adfef0c2L,0x1aece4ad9fbce9cdL, |
13681 | | 0xccd0f3346c32d32dL } }, |
13682 | | /* 56 << 196 */ |
13683 | | { { 0x958d7a5cfb9ba6ddL,0xa0052032e673275dL,0x514ffd9d7f978d07L, |
13684 | | 0x544bbce9450b76e1L }, |
13685 | | { 0xeaa25d746b5201b6L,0x7528a4ea74d082a5L,0xa08c8d3166609e27L, |
13686 | | 0x5150d1beda7c6fd9L } }, |
13687 | | /* 57 << 196 */ |
13688 | | { { 0x864f5b4c39930618L,0xe71e7f1acebb516eL,0xaeee7fa5ebf1f8acL, |
13689 | | 0x6efcad4a0ea827c6L }, |
13690 | | { 0x6e0f4ecb74e21dd8L,0xc5311600f33a7939L,0xdf62f3c3a4d93fc4L, |
13691 | | 0xd3b627279a18476dL } }, |
13692 | | /* 58 << 196 */ |
13693 | | { { 0x0b54f5e6c0e1256bL,0xe8987efb97ba9afaL,0x4b6ea06441d11c15L, |
13694 | | 0xfed7017e79b79f0fL }, |
13695 | | { 0x5a6bcf9e5bd04e40L,0xf30901538fd3b4bdL,0xa23b5acb82240648L, |
13696 | | 0x61d9a8b1b16cf033L } }, |
13697 | | /* 59 << 196 */ |
13698 | | { { 0x2feb1706c9fbee1eL,0xfaa4cd69d7e07918L,0x28562c58447cba7aL, |
13699 | | 0x727926c4a61a1064L }, |
13700 | | { 0x1b32db7f97ac7effL,0xfd968b22452253ceL,0x69d1842f5cdd3217L, |
13701 | | 0xba7689da26f4007dL } }, |
13702 | | /* 60 << 196 */ |
13703 | | { { 0x16445a64141c8b35L,0xc11c310173c61779L,0xa5aa0d18485300eeL, |
13704 | | 0x531b6de11cc02bf0L }, |
13705 | | { 0xf8b94155c4efeb2cL,0x83632663d015a9c8L,0xc369b3cecba18b7fL, |
13706 | | 0xe11b3ef6c29e0f9bL } }, |
13707 | | /* 61 << 196 */ |
13708 | | { { 0x1a5e9bf2903ca95bL,0x2d9aefc6a50cb332L,0xb5670264b29ce693L, |
13709 | | 0x806d08acab1d7b7eL }, |
13710 | | { 0xcbdfdf28c9107eacL,0xa80862436cdf12acL,0xe7d9c315903d5999L, |
13711 | | 0x4379820bc079d951L } }, |
13712 | | /* 62 << 196 */ |
13713 | | { { 0xe789ecadbf1edf4cL,0xec08681147bc7752L,0xeea2eeb8c2fc8798L, |
13714 | | 0x763183e0e031a96bL }, |
13715 | | { 0xc7daf0b2f9a6bfafL,0x1a2a7ffb4b957cf7L,0xa483c7c8bf2d2e7dL, |
13716 | | 0xf96921fc58ff7f9cL } }, |
13717 | | /* 63 << 196 */ |
13718 | | { { 0x41386185574ee010L,0x62e6a1d82780c649L,0xdec553af60f2516eL, |
13719 | | 0x5b0915377a04eb11L }, |
13720 | | { 0x1b53e9dd67eb90c5L,0xc390a23addfda333L,0xdd4e7c6d480568aaL, |
13721 | | 0xd6c1e8a859ccbe61L } }, |
13722 | | /* 64 << 196 */ |
13723 | | { { 0x1c6fd7a99107901bL,0x5dc4a41ea211d116L,0x597e94e7af1b78a8L, |
13724 | | 0xe72da34d53afcb6aL }, |
13725 | | { 0xbc364db774512c24L,0xc26a8fb9b2811e91L,0xfdd39d7f290469b1L, |
13726 | | 0x8451539220612535L } }, |
13727 | | /* 0 << 203 */ |
13728 | | { { 0x00, 0x00, 0x00, 0x00 }, |
13729 | | { 0x00, 0x00, 0x00, 0x00 } }, |
13730 | | /* 1 << 203 */ |
13731 | | { { 0x7fe996a01539cf31L,0x4a3f729a0ded7c6eL,0x86f1f2993016f614L, |
13732 | | 0xc3d44e1886cb9163L }, |
13733 | | { 0x96984531558fa36cL,0x58e8bf05369c89d6L,0x287da114f9ee923fL, |
13734 | | 0x2032e984ec271fbcL } }, |
13735 | | /* 2 << 203 */ |
13736 | | { { 0x91b8579dd39207adL,0x6f62c7250b1fe916L,0x0f1599acd89e01bfL, |
13737 | | 0x8d9bb86d4d1e5843L }, |
13738 | | { 0x348b90d4726e38d1L,0xb824a1ca52a8c6b9L,0x984d9309b1d2f6f4L, |
13739 | | 0xefa485b7431ec12eL } }, |
13740 | | /* 3 << 203 */ |
13741 | | { { 0x24cafa669d616a5cL,0xc1c7445f4c9d0ea8L,0xf733e08590bee7b6L, |
13742 | | 0xa2f3ece3d251d2baL }, |
13743 | | { 0x6e422a4566aeba6cL,0x35e99b1637c1337fL,0x52d0fdf76d4f8d03L, |
13744 | | 0xa043420c79c92672L } }, |
13745 | | /* 4 << 203 */ |
13746 | | { { 0x9972560776ac1925L,0x086449db3442fc58L,0x8dbab9202e311e74L, |
13747 | | 0x29dee69b7ea25561L }, |
13748 | | { 0x5a62b6ee19a7cd6cL,0xba38cc4c0d0dd5a0L,0x779279e5166d0ff1L, |
13749 | | 0x0eef53ccf48b3daeL } }, |
13750 | | /* 5 << 203 */ |
13751 | | { { 0x0463dcaa0f82c6a6L,0x75dfc96d11d7d6d8L,0x61f05e7b6c100d92L, |
13752 | | 0xa118e548e13eabb4L }, |
13753 | | { 0xcc77e3c8dcdf06b5L,0x902d37d66ac25960L,0x967d9993347d7116L, |
13754 | | 0xd28286509ae33561L } }, |
13755 | | /* 6 << 203 */ |
13756 | | { { 0x955b78408c7c6d89L,0xbfa78bc842c2555fL,0x8c56ae3da69c3165L, |
13757 | | 0x72b20e72e33bb1bcL }, |
13758 | | { 0x686870b4d1aa6416L,0xf000040b7db03cddL,0xd25b16a9b0a0fd40L, |
13759 | | 0xeb89e93236815f1fL } }, |
13760 | | /* 7 << 203 */ |
13761 | | { { 0xb3e5e912349b549cL,0x801f788e086c4e74L,0xafb9ea4f0082ae92L, |
13762 | | 0x4e8f27a40d740026L }, |
13763 | | { 0xc4f8285a05f4a6acL,0xefea52970adcd58cL,0x9d5b6ae5c52f8c21L, |
13764 | | 0x92622a7ae97af4ddL } }, |
13765 | | /* 8 << 203 */ |
13766 | | { { 0x39b4393579f34a8aL,0x61acf55f30046435L,0xf0a23fe63f05fdb1L, |
13767 | | 0x7d6baee10c4fa7ffL }, |
13768 | | { 0x253f62b6e2daf735L,0xe370ead82948637bL,0xda57c16ad84e6206L, |
13769 | | 0xf19ffe090dd22ad3L } }, |
13770 | | /* 9 << 203 */ |
13771 | | { { 0x701acab295bf2003L,0x50e4e10a9dff6efcL,0xe637bcf043b95430L, |
13772 | | 0xac45cd3e85050cbcL }, |
13773 | | { 0xc2ebff6480639e4dL,0xe5af1fb53056f603L,0x302791d508b17132L, |
13774 | | 0x87775ac4ed517904L } }, |
13775 | | /* 10 << 203 */ |
13776 | | { { 0xfe64ed1e4263a566L,0x735bbee41d5e8f55L,0x9ac619158294342cL, |
13777 | | 0x0f522e5ad4904935L }, |
13778 | | { 0x2ee883b57c1e11f4L,0x0a2ce30ff0c237f4L,0xf4a7157b8d955086L, |
13779 | | 0x7ec0462e022dc2dbL } }, |
13780 | | /* 11 << 203 */ |
13781 | | { { 0x562fb75bca391b0bL,0x13030aac3bb1efd6L,0x305d9831347f44feL, |
13782 | | 0x9f70c1ad94b2615bL }, |
13783 | | { 0xaaf935f44162ff22L,0x2b20f047a68d160eL,0x30d52a9739222d1bL, |
13784 | | 0x051223b16551642fL } }, |
13785 | | /* 12 << 203 */ |
13786 | | { { 0xae65a5c739620daaL,0x8ef6f93f6f7c078fL,0xb06d52bcb0177db8L, |
13787 | | 0x915cdd0868fdf535L }, |
13788 | | { 0x0070d150c5183222L,0x2b6495cd7817a2aeL,0x3ce476140b194f0bL, |
13789 | | 0x2eec6acf513bfdfbL } }, |
13790 | | /* 13 << 203 */ |
13791 | | { { 0x725dbedef3dbd34dL,0x01c4412a3621fc75L,0x17bd68de3c07f048L, |
13792 | | 0x117df57e62e735ebL }, |
13793 | | { 0xb1596c6db249c407L,0xa878f56ad46c55c4L,0x33385670b8aa0cb4L, |
13794 | | 0xc7faa80e800ec887L } }, |
13795 | | /* 14 << 203 */ |
13796 | | { { 0x2cd2814fd7daf836L,0x877b72b70d616922L,0xea73ca1bdb066012L, |
13797 | | 0xbe336c7bb0d4159dL }, |
13798 | | { 0xb993b07f0f8fcd76L,0x5fdceaba8a593562L,0x716595fbf691ec19L, |
13799 | | 0x51a77f618e68e3c0L } }, |
13800 | | /* 15 << 203 */ |
13801 | | { { 0xe9e4cdfe7a7c18dbL,0x967d35757b4f69b7L,0x6dd350a1a9a434c1L, |
13802 | | 0xb92cdef900c79ba7L }, |
13803 | | { 0x7a762493a6bb0f93L,0x6c18cdc28158ad36L,0xa0bd83e3c529ecfdL, |
13804 | | 0x98363c593962f96dL } }, |
13805 | | /* 16 << 203 */ |
13806 | | { { 0xd80f45a51d63aa7fL,0x8d5eba75b3b32da2L,0x0ef233dfa4708858L, |
13807 | | 0x74c3f4f752161c61L }, |
13808 | | { 0xfa9bfe6be6420de4L,0x96c0c50197dd86d5L,0x28e6827bcfce233bL, |
13809 | | 0x035cc9a958e74d63L } }, |
13810 | | /* 17 << 203 */ |
13811 | | { { 0x9ba64bf47948782dL,0x5e5b7c7280d9ce1aL,0x7b9435dbf51df862L, |
13812 | | 0xe74ab6e8b4dd2421L }, |
13813 | | { 0xb0d704db60954c75L,0xd31c51450b59ae5bL,0xe0ff4660d99ba307L, |
13814 | | 0x1a3800fd986bd82bL } }, |
13815 | | /* 18 << 203 */ |
13816 | | { { 0xe7e06ab7509a0a50L,0xbdf63778e4539885L,0xf888320f16ddb433L, |
13817 | | 0x0f10830418e18998L }, |
13818 | | { 0x27e7ffd6fa834b14L,0x16de9a71c68b9434L,0x53a12e2c4d360436L, |
13819 | | 0x5ad2c9865e110b02L } }, |
13820 | | /* 19 << 203 */ |
13821 | | { { 0x3439443c3cf53e0cL,0xfeae29b01d65a7a3L,0x1e7774f678ad7d78L, |
13822 | | 0x0c79fb016fee368cL }, |
13823 | | { 0xbec71de1e4faf3eeL,0x1a88f3e5263868e8L,0x975d838190e91a8cL, |
13824 | | 0x69c5a65d0f999c60L } }, |
13825 | | /* 20 << 203 */ |
13826 | | { { 0xbd3360d88b884857L,0x0419041331b7c579L,0x40dd9229142cc145L, |
13827 | | 0xb5faab94dad0b2dfL }, |
13828 | | { 0x3e7d792152df4831L,0xcf5bd1ed228bf67dL,0xd8669635c4980085L, |
13829 | | 0x094b89731c71903dL } }, |
13830 | | /* 21 << 203 */ |
13831 | | { { 0x493a7a3dc4abb028L,0x0e1a8facb4ab8e35L,0x26094ca2017aa5f2L, |
13832 | | 0x94fcb8b1021476cbL }, |
13833 | | { 0x57f101f94abf3bcdL,0x1ac2c1252d7f12a8L,0x575259d92e42789cL, |
13834 | | 0xa64a4a4b22471eb3L } }, |
13835 | | /* 22 << 203 */ |
13836 | | { { 0xcc02304de1c00144L,0x6269dfb9754734b2L,0x72e7a183f14fbc81L, |
13837 | | 0xd92a5b1c2a05caa2L }, |
13838 | | { 0xd593492e15efc2fbL,0x1ace7dcad8dd458bL,0x576b4bc8aef2ae81L, |
13839 | | 0x6de6a2db351b397eL } }, |
13840 | | /* 23 << 203 */ |
13841 | | { { 0x73f13b48656cf9abL,0xc18df1c9aee7e01dL,0x30fb5155560355e7L, |
13842 | | 0xd2c9a0ee9ad059d5L }, |
13843 | | { 0xd9f899365e5e0c7cL,0x5d0a2cbdf0a6c9d7L,0x3c2c497d58fa9be9L, |
13844 | | 0xe6c6fcf26ac61a2fL } }, |
13845 | | /* 24 << 203 */ |
13846 | | { { 0xf7ec89e335607bc4L,0x17ca00ca9946bf52L,0xee46be5b180c8bd8L, |
13847 | | 0xd29d5eb0b2873893L }, |
13848 | | { 0x348ac93997487b3cL,0xc18f0cebfeef78ceL,0xfc648dcaf797cce5L, |
13849 | | 0xe2467e0c442148d7L } }, |
13850 | | /* 25 << 203 */ |
13851 | | { { 0x8e201ee7da6dbaf6L,0xc1a93ee4abd0490cL,0xfd0007bf4de7c210L, |
13852 | | 0x02eccb8b083ffce0L }, |
13853 | | { 0xbba82bbb97844c8dL,0xb7ff954c2747a430L,0xb05f058418fb5f29L, |
13854 | | 0x35a29cf5ee7c263fL } }, |
13855 | | /* 26 << 203 */ |
13856 | | { { 0x5fd84efd25282da8L,0xc1fc84c17682db7cL,0x8422b56a4bb291e6L, |
13857 | | 0xce379feb66a56078L }, |
13858 | | { 0x1c3c581ee7f045a0L,0x8f42985d6b3f89acL,0x112839e9a6b2ba59L, |
13859 | | 0x3f0c7269c2a7b29aL } }, |
13860 | | /* 27 << 203 */ |
13861 | | { { 0xecdadb6f79bd3046L,0x669f559b9617ff6eL,0x242bb14d68928ca9L, |
13862 | | 0x28e2b0cbc19cafccL }, |
13863 | | { 0xfb7d895481330593L,0x5c3741fd9fbf8665L,0xaf49e83ac3b93e86L, |
13864 | | 0xd60ecf7d32822548L } }, |
13865 | | /* 28 << 203 */ |
13866 | | { { 0x4bf367597cfb37cdL,0x94b0c7f0db7af2edL,0x2f1bebf6ebf8b461L, |
13867 | | 0x90ebc9c7073e5c18L }, |
13868 | | { 0xe431c7933774e905L,0xb8a4bc2fe03265bbL,0x0bee0825fabb629eL, |
13869 | | 0xbd1481dc84557170L } }, |
13870 | | /* 29 << 203 */ |
13871 | | { { 0xa2257b58e1a010a0L,0x43f5451c4688bb89L,0xb87a5ff091b96371L, |
13872 | | 0x445dd02fde3c7b25L }, |
13873 | | { 0x44c0c08051a0964cL,0xb0c3190e9afdcefaL,0x14cc65ad0044d258L, |
13874 | | 0x8c500b3e374fdd44L } }, |
13875 | | /* 30 << 203 */ |
13876 | | { { 0xed8d840f51b07812L,0xd414a4a276530691L,0x9db9d1381468ef8dL, |
13877 | | 0xfc6b7434292b3870L }, |
13878 | | { 0x80b66797c9d7ad96L,0x81e74eb62a9c1e99L,0x48657d9a9e92f64bL, |
13879 | | 0xf5c600754c851dddL } }, |
13880 | | /* 31 << 203 */ |
13881 | | { { 0x08fa89bed99d5cfeL,0x78b1f26e4db4addfL,0x032371773523ead9L, |
13882 | | 0x0147af5c6a281494L }, |
13883 | | { 0x8db3952a916836b0L,0x0632b102fd365650L,0x3854a8e9ccb3f2f1L, |
13884 | | 0x5048486c586ad427L } }, |
13885 | | /* 32 << 203 */ |
13886 | | { { 0x22de997917a86e18L,0xe2ac2321be029111L,0xbfd3439735cc5a17L, |
13887 | | 0x7a93461f525e13cfL }, |
13888 | | { 0xd433542c5122d6f1L,0x41d2d9de833982c7L,0xe9f1f29a8ec24d27L, |
13889 | | 0x4ae251f3f3b99d58L } }, |
13890 | | /* 33 << 203 */ |
13891 | | { { 0x7234dd2410adb458L,0x0e4b656788379ef5L,0x3007df15748dba5dL, |
13892 | | 0x1485ef0135103772L }, |
13893 | | { 0xe21a9dc929c2382fL,0xcf7e0c246b6c1c8dL,0xf8a7182030550c0aL, |
13894 | | 0xb30e5c0fb797de2eL } }, |
13895 | | /* 34 << 203 */ |
13896 | | { { 0xbe13611903705145L,0xe6d1f720f94aadc7L,0x38ce1872255f5297L, |
13897 | | 0xbbba4793c3143f58L }, |
13898 | | { 0xda5345fe0984e265L,0xe93989d6d895e0d7L,0xb7392b18caab40a3L, |
13899 | | 0x4a58696365e754fcL } }, |
13900 | | /* 35 << 203 */ |
13901 | | { { 0xb3e88445a3afd381L,0xa6cbab0a693ad961L,0x64d51359257d56dcL, |
13902 | | 0xf9e70fccbbde137aL }, |
13903 | | { 0xa33872faadd016b1L,0xd1d263d27344f234L,0xc2d5121024ba41b2L, |
13904 | | 0x8c9c830ce4ab65cbL } }, |
13905 | | /* 36 << 203 */ |
13906 | | { { 0x3b47563c175b4039L,0x53521dfd116b2025L,0xe4f3aa891a9f1ccaL, |
13907 | | 0xcc73485ce7cb1d2bL }, |
13908 | | { 0xa6ca61efbf58fe30L,0x5d50e15d531a2b6aL,0x71cfdb4122611c31L, |
13909 | | 0x0dc1553361e3d46aL } }, |
13910 | | /* 37 << 203 */ |
13911 | | { { 0xb363c60b479074baL,0x2a4d8f4c24cb405dL,0x3d3bee13646b7f0aL, |
13912 | | 0xdfa9194c5571af63L }, |
13913 | | { 0x951a61a7ee76521cL,0x67466ba565eda1f1L,0xe41d33b869ebc7eaL, |
13914 | | 0x8b6c992dd4f4848fL } }, |
13915 | | /* 38 << 203 */ |
13916 | | { { 0x3572faaca5003eaaL,0x01e36500abf54df1L,0x6622f12fac6f3af7L, |
13917 | | 0xb5d7c17f0a8bb122L }, |
13918 | | { 0xd1fc1b99240286b1L,0x519d52cead968edeL,0xcd1e7d0cece28bb4L, |
13919 | | 0x64ffc69993f0b097L } }, |
13920 | | /* 39 << 203 */ |
13921 | | { { 0xb18d51f825af7d81L,0x8d0bb08f19820fb2L,0xe9f45919aa344723L, |
13922 | | 0x558f18ea5f9e0501L }, |
13923 | | { 0x56eff07607cc79dcL,0xf171e880d5fa9783L,0xd5fb41f38be7f1feL, |
13924 | | 0x19a34620d6fe9afcL } }, |
13925 | | /* 40 << 203 */ |
13926 | | { { 0x74c2696b7d8a042aL,0xcf4908c354230dedL,0x98a870d8db32943bL, |
13927 | | 0x181cbe5c52f33e07L }, |
13928 | | { 0x4d9d117293709d8bL,0xb800c2922b2b7939L,0xd5a1fb7aa8920f60L, |
13929 | | 0x8d0a7725bf7df622L } }, |
13930 | | /* 41 << 203 */ |
13931 | | { { 0x83a370cfe9415cf4L,0x9f24d1e162a4ff4dL,0xca33914b0a6ff7cbL, |
13932 | | 0x2576f2d8da1d1aafL }, |
13933 | | { 0xbb2668bdb4793101L,0xb576672cca990b4fL,0xfa165b5fff1d3988L, |
13934 | | 0x273d5b18ba8c9e2cL } }, |
13935 | | /* 42 << 203 */ |
13936 | | { { 0x13594ae5720a5b3fL,0x38c4e04a2e65454cL,0xc5b55d9855d0d903L, |
13937 | | 0xfabeb890f72db301L }, |
13938 | | { 0xe471f1d52f3deaa2L,0x3f8d39f5c5ade08dL,0xe08486a46baf9d1aL, |
13939 | | 0x77c6d30ee5140d3bL } }, |
13940 | | /* 43 << 203 */ |
13941 | | { { 0x828db96ad23d4e09L,0x2de4856d84dcac15L,0x313c7f8ba6ac856dL, |
13942 | | 0x7c9f671cfe7dea98L }, |
13943 | | { 0x4d6c14a5febe9e72L,0x185ac4e66014be55L,0x428099885ed64e23L, |
13944 | | 0xdc9395a1bd6440feL } }, |
13945 | | /* 44 << 203 */ |
13946 | | { { 0x1016908024108055L,0xfe0d9cb038961403L,0xf88e6a48ceb87d29L, |
13947 | | 0x0365ca2f69618944L }, |
13948 | | { 0x1504647e9fb59ec9L,0xb6486b3ba4aadbb7L,0xfe8701af22ef3214L, |
13949 | | 0x4c895bc15f56d985L } }, |
13950 | | /* 45 << 203 */ |
13951 | | { { 0x6fdc6cb62e1e68d2L,0x0689b22b13f07350L,0xba94416b6d62eb1fL, |
13952 | | 0x5a2fcbba98996d72L }, |
13953 | | { 0x2ca2a2e904b2afedL,0x5b62c7640bf61008L,0x30074e5737f4d486L, |
13954 | | 0x4e02be2a31865287L } }, |
13955 | | /* 46 << 203 */ |
13956 | | { { 0x401cfb896842ab16L,0x440fb52d5b2eb304L,0x3245fd38d22eaa61L, |
13957 | | 0x252120e8373f201eL }, |
13958 | | { 0x4d253f5cb2e724c9L,0x9428d6be27e5b5e4L,0x00d4c5986785ee9cL, |
13959 | | 0x0b7fc5f956208d4bL } }, |
13960 | | /* 47 << 203 */ |
13961 | | { { 0x4426665d92310137L,0x75b96cd3fee8da95L,0xaaaac6c3b561c6d8L, |
13962 | | 0x0784a3c53f09e1d9L }, |
13963 | | { 0xac78c064dcac620bL,0x49dd5f02119b8d90L,0xf1f5ebf257e5caf4L, |
13964 | | 0xd8a9fa2d0eb825e2L } }, |
13965 | | /* 48 << 203 */ |
13966 | | { { 0x3553633abfb6a2fdL,0x06533515a0c9ce9aL,0x6decd9e804c71728L, |
13967 | | 0xcbc0df55980b29bdL }, |
13968 | | { 0x17b1b55931826d15L,0xc96ed7d71c5cae17L,0x24f5874088cda83eL, |
13969 | | 0x9e2ee1bc0c69f40fL } }, |
13970 | | /* 49 << 203 */ |
13971 | | { { 0x138ebf0f9e5604edL,0x0577f4c2f229f097L,0x0a44f9759762825fL, |
13972 | | 0x113b8639dd085e55L }, |
13973 | | { 0x4be02fee73acc59eL,0x7829f288ada7a17dL,0x086bd73684fb30d4L, |
13974 | | 0xb2f120eee5338ecaL } }, |
13975 | | /* 50 << 203 */ |
13976 | | { { 0x21701393fb778d2fL,0xd46bc61e6441fd75L,0x466671de135b55bcL, |
13977 | | 0xee1d9cbb51c0f145L }, |
13978 | | { 0x7a7bce676d9ce27cL,0xa8c9b1e026d82b1dL,0x250bee034c87bd6eL, |
13979 | | 0xd6b02f71d3829702L } }, |
13980 | | /* 51 << 203 */ |
13981 | | { { 0xf14b37480e555d98L,0xf795e62a6f775e78L,0xe9a4e4ac8f46de18L, |
13982 | | 0x773bd32ac5ab76efL }, |
13983 | | { 0x4f2dcc685264cae9L,0x453b627ec63a6419L,0xc3aeddd1e441c6d9L, |
13984 | | 0x669500b73027b8f3L } }, |
13985 | | /* 52 << 203 */ |
13986 | | { { 0x06b9341388d601e5L,0x0e996e8776c4483cL,0xe2ff3a6d00eb0c21L, |
13987 | | 0x86ec3a73f4690674L }, |
13988 | | { 0x673d123ee9f82ca7L,0x952c2765bf611d0cL,0x26ed9a683676497dL, |
13989 | | 0x2c9c00499d29cefcL } }, |
13990 | | /* 53 << 203 */ |
13991 | | { { 0x0b8c12fe2ae73af6L,0x555b0ab36455c8e1L,0xd2f49f034804b006L, |
13992 | | 0x408a22bc02e829a0L }, |
13993 | | { 0xde2a59cff2832c53L,0x0133243996a54082L,0x11dc4ab6bbd38f9fL, |
13994 | | 0x0248fd93a24764b5L } }, |
13995 | | /* 54 << 203 */ |
13996 | | { { 0xc7774c121374972aL,0xc735596692764b41L,0x31c10ea523143092L, |
13997 | | 0xe89d9f889070137fL }, |
13998 | | { 0x7d074406a504d91eL,0xc521037970b7aa8cL,0xa67904f8ea799dd8L, |
13999 | | 0x81e6516be7b02c04L } }, |
14000 | | /* 55 << 203 */ |
14001 | | { { 0x18daf05fb08cc6feL,0xfbbd3061f59d49f6L,0x5429b11793a78581L, |
14002 | | 0x795a44651906df65L }, |
14003 | | { 0x643c37e3d51a7866L,0x69b8118d663a17b1L,0x5e3859893e8a2c53L, |
14004 | | 0xbc18c2ea50f007d2L } }, |
14005 | | /* 56 << 203 */ |
14006 | | { { 0x4adec20ab616aa15L,0x99f77e49ea085548L,0x9108c205c01b9a33L, |
14007 | | 0x298fbeb16ef3bcefL }, |
14008 | | { 0xdf1a8d2eefd8ba0eL,0xf0ec9492e9756e7bL,0x4fd333897ff5fbc3L, |
14009 | | 0x122a6bfb03ac8371L } }, |
14010 | | /* 57 << 203 */ |
14011 | | { { 0x7d053c8c90d66732L,0x83f26571f9b2909fL,0x350dd6d066cba4b6L, |
14012 | | 0x8c71c17a40d0d47dL }, |
14013 | | { 0x3bf850534d0be34aL,0x91ae4f59e11bd49fL,0xf8a38b41a22c648fL, |
14014 | | 0xcb96620e58abaaeaL } }, |
14015 | | /* 58 << 203 */ |
14016 | | { { 0xa55cee46a7fabcf5L,0xd16a8b9279c8fbceL,0x26ad700bcbf048bfL, |
14017 | | 0x83b3ce1147bb5f1dL }, |
14018 | | { 0x31a48f466b310318L,0x13a7f78100612ef3L,0xcd840f2aa18db234L, |
14019 | | 0x3be2a7a830611c74L } }, |
14020 | | /* 59 << 203 */ |
14021 | | { { 0xbdf37cb22b1c0447L,0x7f572382fe71722dL,0x085b356625535e86L, |
14022 | | 0xb5b430633f5b9cc2L }, |
14023 | | { 0x7c7cff51dee66228L,0xe29236aeb676fd6eL,0xf0c0105eab0cdb1aL, |
14024 | | 0x0adc9d6e06b52812L } }, |
14025 | | /* 60 << 203 */ |
14026 | | { { 0xc9e6ca97483baf0fL,0x09b063bff9bf5055L,0x8c4c6b2afc5a407fL, |
14027 | | 0xe29cb48799a6f540L }, |
14028 | | { 0x18b72239cb9a2758L,0xa0ae9f108a5ed308L,0x2a2cb6036e402657L, |
14029 | | 0x9c7f52cfaf6f4d14L } }, |
14030 | | /* 61 << 203 */ |
14031 | | { { 0x0ed032e770ca9046L,0xe4b0b1d359cac9e9L,0xd12c87b018462dfdL, |
14032 | | 0xa25a23eebb8860ddL }, |
14033 | | { 0x6c9a8676507fa3d9L,0xc6bb96c4218f325fL,0xe141bbb82386b7b2L, |
14034 | | 0xf86a72d0d4183c77L } }, |
14035 | | /* 62 << 203 */ |
14036 | | { { 0x35537f86aece96b6L,0x83aa1df963f7e1faL,0xa39ab4aa7ac4aaf2L, |
14037 | | 0xb8d0ffa68a202375L }, |
14038 | | { 0xd916df0986514cd8L,0x71f905b311902747L,0x6388c2ee8c744f32L, |
14039 | | 0x6282e1f5a5431096L } }, |
14040 | | /* 63 << 203 */ |
14041 | | { { 0x14bfa7657c388413L,0x95dd04d97b4437aaL,0xdf6ca8493c39d7c3L, |
14042 | | 0x85cb11230c2ddf38L }, |
14043 | | { 0xf7766d86c401529cL,0xe33416a899a4d031L,0x5c507c3fb874ace4L, |
14044 | | 0x0e3a42b6dad6fcb0L } }, |
14045 | | /* 64 << 203 */ |
14046 | | { { 0x402da46047920742L,0xb142d6efb45f94ccL,0xc2d613e876608dd4L, |
14047 | | 0xa2c06cdd5d75d4b5L }, |
14048 | | { 0xa1951bc53c564ff4L,0xe60f126bad1d5ecdL,0xa634e765702135adL, |
14049 | | 0xa5a56a6e8df44695L } }, |
14050 | | /* 0 << 210 */ |
14051 | | { { 0x00, 0x00, 0x00, 0x00 }, |
14052 | | { 0x00, 0x00, 0x00, 0x00 } }, |
14053 | | /* 1 << 210 */ |
14054 | | { { 0x234b8c7a9e2207b4L,0x1f724f30f7ee9f62L,0xfa908ca2c58e21b6L, |
14055 | | 0x55587744a74296aeL }, |
14056 | | { 0x7dbe913002911ae1L,0xc20754339d3af02eL,0x505b724b0f3955a1L, |
14057 | | 0x480e1a92caeced66L } }, |
14058 | | /* 2 << 210 */ |
14059 | | { { 0xb20f6128446d9f66L,0xd6e06b14c354b5a1L,0xa72d287d63558aacL, |
14060 | | 0x4819be29ae68a8fdL }, |
14061 | | { 0xb024c324205fbdf2L,0x2fca94e7210927f9L,0x74798be7be658f80L, |
14062 | | 0x618e07f1ef07c046L } }, |
14063 | | /* 3 << 210 */ |
14064 | | { { 0xfba715fcb35a8c3dL,0xc2548193ed1beba8L,0xb956c6dd2ceb663cL, |
14065 | | 0x13d4ddbeaacafe85L }, |
14066 | | { 0x2f8275b530a29cc3L,0x10432e15f51b39efL,0xd6c9277c2509b2d0L, |
14067 | | 0x4ee0d4c3849b946cL } }, |
14068 | | /* 4 << 210 */ |
14069 | | { { 0x547ba94654b01bbcL,0x7c56c36d055d4821L,0x8e93362005575f20L, |
14070 | | 0xaec65be93a621cf4L }, |
14071 | | { 0x820b96df46287937L,0x35cea883733c67e7L,0x30366a3a58cf3e05L, |
14072 | | 0x2580d5652da39773L } }, |
14073 | | /* 5 << 210 */ |
14074 | | { { 0x7717c42fba4417edL,0xb2d66fc7654c1086L,0x07fe918e57503cd8L, |
14075 | | 0xf93851593cacf74fL }, |
14076 | | { 0x157d908163063029L,0x79c84c08659034cfL,0x02976610a8048cb9L, |
14077 | | 0xef82200603e81417L } }, |
14078 | | /* 6 << 210 */ |
14079 | | { { 0x5fb5dd4d22e489c6L,0x9a06d9c281e167e9L,0x83fc248f6b974c90L, |
14080 | | 0xb78cab727110dca6L }, |
14081 | | { 0x73f8f311370ff66aL,0x8c5049eb3b61d20fL,0xaac47edbc8516e05L, |
14082 | | 0x2ceba50d53f0201bL } }, |
14083 | | /* 7 << 210 */ |
14084 | | { { 0x6679dc5e0b93fbc7L,0xf4457919a560bd27L,0x2561bfcab1acadc9L, |
14085 | | 0x338fbb6d46708164L }, |
14086 | | { 0x9f4076218b9cfd27L,0xe806c1e6d3123732L,0xaa1eafc47f24a161L, |
14087 | | 0xbee3f4a168e6650bL } }, |
14088 | | /* 8 << 210 */ |
14089 | | { { 0x453b61815832cd6cL,0xc002e337985e90baL,0x4b33afde6414f686L, |
14090 | | 0xf9ab29e98511fd45L }, |
14091 | | { 0x067f09726fb9a688L,0x7db6e14c7202a1b3L,0x0c15b6e973a881abL, |
14092 | | 0xc8c324e0fad10660L } }, |
14093 | | /* 9 << 210 */ |
14094 | | { { 0xa997a6d287d9f927L,0x62307f24acd2f107L,0xed7b48a59c80a742L, |
14095 | | 0xecd33ae5a7c81e7eL }, |
14096 | | { 0xcf05c763efa00a94L,0x38844b0dd9ee5aa7L,0x02e0b05d214b293fL, |
14097 | | 0x732e776b8a8a510eL } }, |
14098 | | /* 10 << 210 */ |
14099 | | { { 0x784cd9096c929e53L,0xe436e29456a33da2L,0x68eeb727ce9e06d2L, |
14100 | | 0x637890b3fce7e2f0L }, |
14101 | | { 0xc0681a1cc3fde38cL,0x9cb729d976dda134L,0xaa69eb975c333eceL, |
14102 | | 0xe138a68048eed8a6L } }, |
14103 | | /* 11 << 210 */ |
14104 | | { { 0xd53cbd01505dc701L,0x413de3466a64c3d1L,0x91f6cde93170a5bfL, |
14105 | | 0x58ffdfd98489b5faL }, |
14106 | | { 0xcc0b89d75c584a48L,0x74f8ceed167f28deL,0x250fa9f78c878c91L, |
14107 | | 0xeb960a79630adfdbL } }, |
14108 | | /* 12 << 210 */ |
14109 | | { { 0xe43ed412c9489dcbL,0xcec053a5112d084bL,0x0fd4fe42664c7cd2L, |
14110 | | 0x48ee06f482a917f7L }, |
14111 | | { 0xc5de197083cd65f5L,0x3a1765785569c42fL,0xf24508f34f876110L, |
14112 | | 0xf350374b0a415bc4L } }, |
14113 | | /* 13 << 210 */ |
14114 | | { { 0x9c2b11c2c63aa8adL,0x6ac1ae127a51c0ccL,0x75acd0d7e1db428fL, |
14115 | | 0x9e39122719800684L }, |
14116 | | { 0x4f89e9c6b1050426L,0x099d97ccdaf99eeeL,0x27a19ad01ffce97fL, |
14117 | | 0x05fad0573c038d77L } }, |
14118 | | /* 14 << 210 */ |
14119 | | { { 0x96d6c6788597d09cL,0x38f6336c1e1d8b57L,0x1f945bef6330ace7L, |
14120 | | 0x9d627bbb613f9fafL }, |
14121 | | { 0xc0e7f21b19176cb7L,0xf0e09be3bb9db710L,0x16b06011c650133cL, |
14122 | | 0x8629b975f3673d7cL } }, |
14123 | | /* 15 << 210 */ |
14124 | | { { 0x8c8230b267115575L,0x9bfc55b19c9f30c0L,0x132d0e07ce93fd71L, |
14125 | | 0x08e4736e511c5947L }, |
14126 | | { 0xd54a098efe881630L,0x8ec67a8598efa501L,0x72975dc72267db00L, |
14127 | | 0x3d6fc706a338290dL } }, |
14128 | | /* 16 << 210 */ |
14129 | | { { 0x0c89108255ade88bL,0x0525b5014b212e85L,0x9ede010bb61362faL, |
14130 | | 0x52f3d088881eecacL }, |
14131 | | { 0x49957b6ebc6f0ae4L,0x25fe72631659701dL,0x41e9b7f507b76f45L, |
14132 | | 0x5f2ad664bda77d42L } }, |
14133 | | /* 17 << 210 */ |
14134 | | { { 0x5bdcb490a9c418c4L,0xd0e2c38de500a527L,0x0af29f6bca83fadaL, |
14135 | | 0x1f75b1f262273db6L }, |
14136 | | { 0x8454f7519e857e57L,0x3fb816d1b9e79612L,0xbe3040ae6412b5f3L, |
14137 | | 0x99535136843ca984L } }, |
14138 | | /* 18 << 210 */ |
14139 | | { { 0xb26ec8a83257f19dL,0xd32dc622e54dd785L,0x0c52e874f8698ab5L, |
14140 | | 0xf9a60af579183316L }, |
14141 | | { 0x38575d53f7f4496aL,0x33adfd1e3d5cd0deL,0x2133f4a17f502017L, |
14142 | | 0x46c093933e8676f8L } }, |
14143 | | /* 19 << 210 */ |
14144 | | { { 0xca8a5a583fb4c7feL,0x2ad58826328ff257L,0xd926487513b8d08dL, |
14145 | | 0x661ae2b2dc5a845aL }, |
14146 | | { 0xd2dcaa0649a408d3L,0x9ef164f885c21e84L,0x55efaf85b7819b61L, |
14147 | | 0x9488bb1cf504c32aL } }, |
14148 | | /* 20 << 210 */ |
14149 | | { { 0xb571518c9bb777fcL,0xf369c39182415187L,0x2d7c5dd92720284bL, |
14150 | | 0x6feab6344eec41ccL }, |
14151 | | { 0x2522d5db24ecd0beL,0x1fca0d9700338736L,0x7441610520145279L, |
14152 | | 0xf4492e1e0496e925L } }, |
14153 | | /* 21 << 210 */ |
14154 | | { { 0xa62e09fcbc33b547L,0x9434475aae063835L,0x51edd69fa139b769L, |
14155 | | 0x17bbe224e5166a9dL }, |
14156 | | { 0x6ecb0a021b4b6c84L,0x1643949097968c70L,0x75af0456bc8aa671L, |
14157 | | 0xaef056ab3b4411ffL } }, |
14158 | | /* 22 << 210 */ |
14159 | | { { 0x686b771405cef121L,0x5ad6bdf3078f4500L,0x56df858c072e70ebL, |
14160 | | 0xa0fc5e6f254c0917L }, |
14161 | | { 0x1a99de09c15bf9cfL,0x8aeb587ad008aacbL,0xba2d8c53b900d652L, |
14162 | | 0x60eb5d0cad0f69b6L } }, |
14163 | | /* 23 << 210 */ |
14164 | | { { 0x27098ff810b27762L,0x33329ca913264ed3L,0xffceaf40887e3f40L, |
14165 | | 0x854b8284930df9efL }, |
14166 | | { 0xdda913a87d5627beL,0x8eb94d6435e9823bL,0x94c527fd2eb9e9bdL, |
14167 | | 0x18335b1bf57b9f74L } }, |
14168 | | /* 24 << 210 */ |
14169 | | { { 0x3c44dac0d193a526L,0xd0717099e2b2d54fL,0x65624fb4c4c67d11L, |
14170 | | 0x04aa7033bccedad8L }, |
14171 | | { 0x0c522fac31470c52L,0x08eb33ca33b05d54L,0x940e0693b4565e57L, |
14172 | | 0x7e2fd5537be56370L } }, |
14173 | | /* 25 << 210 */ |
14174 | | { { 0xf722793c12e206ffL,0xb57e1f23155d3d02L,0xd68be19394fc6ce3L, |
14175 | | 0xb0f3606c22d4815bL }, |
14176 | | { 0xdaf995a9b62d5741L,0xa7d199803e8f5df5L,0x7bcdb661e4631583L, |
14177 | | 0x013193e35a97dc7eL } }, |
14178 | | /* 26 << 210 */ |
14179 | | { { 0x8210be46fc73494bL,0x508817ee57e10efcL,0x7b6b8da2126f2466L, |
14180 | | 0x2f3b0ec6177bee35L }, |
14181 | | { 0x5ceb71e048db1eefL,0xd989d9c3dc62b6bcL,0x2cc38cb9f78fac92L, |
14182 | | 0xcd2a009f955ba5f4L } }, |
14183 | | /* 27 << 210 */ |
14184 | | { { 0x65a74191453b668eL,0x40e9dc38c081b447L,0x48eb63bf8c3fdf2cL, |
14185 | | 0x7845cf665763071aL }, |
14186 | | { 0x30d9b771787754caL,0x10b3729f8783a05aL,0xf8090b3b6ab570d9L, |
14187 | | 0xc1dfbde1502b3558L } }, |
14188 | | /* 28 << 210 */ |
14189 | | { { 0xa568f5d0be4d36ecL,0x1e9e539328e952feL,0x768113f9eaad6b24L, |
14190 | | 0x2bc798fca8fbede9L }, |
14191 | | { 0x2c787f9baaa9010dL,0x32cbc77a761834caL,0x449e55f7032c25d8L, |
14192 | | 0xe824a5bfca6216ddL } }, |
14193 | | /* 29 << 210 */ |
14194 | | { { 0x3beaec5217ac1130L,0xcc28c64b5e9d1aa8L,0x355d68bf3af8c635L, |
14195 | | 0xcd12e443d3d1adaaL }, |
14196 | | { 0xa456daca6c2030d8L,0x0dfe5bbb62427effL,0xae45325df69e2484L, |
14197 | | 0xfc2a90ab7245c979L } }, |
14198 | | /* 30 << 210 */ |
14199 | | { { 0xc34f38e9a008b446L,0x5e86163daac355e0L,0x61432646d586a2faL, |
14200 | | 0xc68c7c8e3d92e0c3L }, |
14201 | | { 0xbfa8c268020c1dd6L,0x257887418bbcc223L,0xbaf8c9a3ef62642cL, |
14202 | | 0x6d2f1ae5a8c496d2L } }, |
14203 | | /* 31 << 210 */ |
14204 | | { { 0x92d1c80544e57ce4L,0x34cdf4a3aacd2100L,0xd5b89e4d31e9c649L, |
14205 | | 0x558a6e26232cfc85L }, |
14206 | | { 0xb40f3e4acea31a31L,0x346c1e0735c5c924L,0x8ffedd8e3fcede81L, |
14207 | | 0x35269ba33b55d143L } }, |
14208 | | /* 32 << 210 */ |
14209 | | { { 0x0366065a848bdc53L,0xba2af074078554ddL,0x3c755fba19ff3b4dL, |
14210 | | 0x5ea9337235a22cbbL }, |
14211 | | { 0x0e55fe021eb3e23bL,0x2626ecca765dede4L,0x187bf09481f445daL, |
14212 | | 0xba0110179df30578L } }, |
14213 | | /* 33 << 210 */ |
14214 | | { { 0x81148037d72507f2L,0x3a5841fc5db072d0L,0xfd631862bd910aa1L, |
14215 | | 0x17b22d6823881c60L }, |
14216 | | { 0x6fa799cbfcc13359L,0x55c402192d39fc5aL,0xd50bfff69f1f6515L, |
14217 | | 0x575090b52e30fa1aL } }, |
14218 | | /* 34 << 210 */ |
14219 | | { { 0x70343a0b9ba20c27L,0xef34db86749306a5L,0xd7ad61d24ba85f8dL, |
14220 | | 0xe4d24ad87e091a33L }, |
14221 | | { 0xbd6b49b9fc348493L,0x4f11b543299c325dL,0x4574a25455036e93L, |
14222 | | 0x534a623e676b75d9L } }, |
14223 | | /* 35 << 210 */ |
14224 | | { { 0x54aa3d8a7d05afbdL,0x133490097f3f2c90L,0xcd03de0fa94b18aaL, |
14225 | | 0x13123c18855c050dL }, |
14226 | | { 0x747c3cdaf598b5f8L,0x0f7ed9b68644df20L,0x45e010fd08d73585L, |
14227 | | 0x3b0ff430f8cec4afL } }, |
14228 | | /* 36 << 210 */ |
14229 | | { { 0x3745a41fb028a832L,0xcd6d2468c4106172L,0x56c5a9b01eceac6fL, |
14230 | | 0x769c1285e1e6e980L }, |
14231 | | { 0xbd163a36fa113196L,0x206ffc365840c242L,0x12de11479c57ef67L, |
14232 | | 0x5026027303bea885L } }, |
14233 | | /* 37 << 210 */ |
14234 | | { { 0x3099c21b9684d63fL,0x06adb196c7c66691L,0x8464492c3d63b3beL, |
14235 | | 0x86024ef40bd38c15L }, |
14236 | | { 0x226022a210565cbfL,0x2ae6b298c9899033L,0x5564856b262ffa14L, |
14237 | | 0x9472d0e17e038b55L } }, |
14238 | | /* 38 << 210 */ |
14239 | | { { 0x1b17ea07b1dd268fL,0x8340b9d54899352eL,0x4f15940075242992L, |
14240 | | 0xe4392a31e6727e9dL }, |
14241 | | { 0x4df1ef86aef59026L,0xe40671ff950cfee6L,0x7b36d1cdde4dd990L, |
14242 | | 0x25df10a63366ff4bL } }, |
14243 | | /* 39 << 210 */ |
14244 | | { { 0x83fb7e59584ef631L,0xf12dd40091af7b6aL,0x4a5ae41ee26f11c7L, |
14245 | | 0xeb86d5dd96d90445L }, |
14246 | | { 0x028ae37ea355d0a3L,0x3c118ef499260127L,0xb8c7538c76f51bd7L, |
14247 | | 0x66b90aae5fbadc4dL } }, |
14248 | | /* 40 << 210 */ |
14249 | | { { 0x078de9df17dfd0cfL,0x938df6dafe44b17cL,0x4a09616bc40bc950L, |
14250 | | 0x0b507845bc969aacL }, |
14251 | | { 0x23bae09135f7fb82L,0xebc04d379ad29b83L,0x9fa48a5b26a3c5faL, |
14252 | | 0xf67c661cf08f3d8cL } }, |
14253 | | /* 41 << 210 */ |
14254 | | { { 0x21825747b2e9c3a1L,0x3520a82e46c3eb43L,0xe309ae9f9646183dL, |
14255 | | 0xa19c31be26dac288L }, |
14256 | | { 0x3c37018dc76623deL,0x59b9a0fa64b51087L,0xa32f8357f1954f4eL, |
14257 | | 0x24251df41f6da143L } }, |
14258 | | /* 42 << 210 */ |
14259 | | { { 0x825c61cf01fb07d0L,0x69ae93fdf2f0243cL,0xd507c99e0943f7bdL, |
14260 | | 0x5e6dfb09463ee64aL }, |
14261 | | { 0x10a3c32a29afd00bL,0x92179b5fbe8cbadaL,0x7bebad0a7d89f9a6L, |
14262 | | 0x7ba9bbf6d13b3073L } }, |
14263 | | /* 43 << 210 */ |
14264 | | { { 0xfc23c2156481cc75L,0x6a654801feca7532L,0x20785ec00fed841fL, |
14265 | | 0xcb612be925269b21L }, |
14266 | | { 0xe9a9c09b414a0fabL,0x5404c7a76b4fa0ddL,0xde62dae8cb418588L, |
14267 | | 0x2d80afd4c594334eL } }, |
14268 | | /* 44 << 210 */ |
14269 | | { { 0xfe454df195366a44L,0xda7626c3755cf8b2L,0x4446f0ab41397051L, |
14270 | | 0xd178806470eb8b23L }, |
14271 | | { 0xbc7737f1977b040aL,0xbfb3941857590edbL,0xb094b4a8343a7333L, |
14272 | | 0xb15912ceeb91372fL } }, |
14273 | | /* 45 << 210 */ |
14274 | | { { 0x584e1d5e0b56002cL,0x1460ce24aa0cb90fL,0x58f0c1448f7ffcb6L, |
14275 | | 0x56e39f33be0d802eL }, |
14276 | | { 0xb02a6edb529458d0L,0xa0fbae74a730f9d5L,0xd98c0ac51bf69928L, |
14277 | | 0x5c9f888f796f12e9L } }, |
14278 | | /* 46 << 210 */ |
14279 | | { { 0x749207b022e065c8L,0x6e0232a488c61143L,0x27f30808837adda6L, |
14280 | | 0x0b748853d0c215d5L }, |
14281 | | { 0x97bc4008bf076ba7L,0xadae0275f157f4d2L,0x394e5d7a8bcba88bL, |
14282 | | 0xf995ec1423ef50adL } }, |
14283 | | /* 47 << 210 */ |
14284 | | { { 0x6b207f9caa9b60a9L,0xcd7509c152f9979fL,0xe3e8f6dc0834e0adL, |
14285 | | 0x6e2a4165cd5b1314L }, |
14286 | | { 0x073a2db3fd60d975L,0x5ad92ca42c053b7aL,0xceb10220fba97ae8L, |
14287 | | 0xab82f6a0d265e913L } }, |
14288 | | /* 48 << 210 */ |
14289 | | { { 0xc7a755adaa68a13dL,0x56c1336010dd277aL,0xbbcf6411def56183L, |
14290 | | 0xebffe360b863a4e1L }, |
14291 | | { 0x67ff26e5814e8aecL,0x90553561a0804732L,0x407396acad5fe672L, |
14292 | | 0x053a068b11ad53afL } }, |
14293 | | /* 49 << 210 */ |
14294 | | { { 0xb518dd04c652cb95L,0xc818563a57e2b99fL,0x217cf87db96432a7L, |
14295 | | 0x7fdc35be8cc2fdcdL }, |
14296 | | { 0x8c2ef2714effaebfL,0x21879369f427c7c2L,0xd80ebbea5197ba08L, |
14297 | | 0x1b00db45fc6f4c66L } }, |
14298 | | /* 50 << 210 */ |
14299 | | { { 0x99b9d2be3828a5c0L,0xa8855350d24a69e8L,0x2f9196953ceaa821L, |
14300 | | 0x89390c9104296439L }, |
14301 | | { 0xc12b3852c5cf8a0cL,0xdcf234ea73afc431L,0xdddf5568f4adf01bL, |
14302 | | 0x2d04fc761b426097L } }, |
14303 | | /* 51 << 210 */ |
14304 | | { { 0x02a21dd5cb27c5e0L,0x01b842c3a6b2f9b3L,0xefbd483ed8bd7a07L, |
14305 | | 0x0220825ed13a781eL }, |
14306 | | { 0x8aa029a0de802c17L,0xb62fcd6e3a3f0fbfL,0x80558affe9635f48L, |
14307 | | 0xbdc6851d65dbeb2dL } }, |
14308 | | /* 52 << 210 */ |
14309 | | { { 0x99f48286b5412271L,0xa53ef798e242a8a3L,0x41d18606c0371086L, |
14310 | | 0x5df3379cfcb6d1aaL }, |
14311 | | { 0x53f2f5a100a7a13eL,0x3565a6eb2bf51e2aL,0xa2832b52930c5a71L, |
14312 | | 0x66071ec7ee2abfcbL } }, |
14313 | | /* 53 << 210 */ |
14314 | | { { 0x75ce0a563496a532L,0xa316dfbbbe0d69b7L,0x35438d6a353e94fcL, |
14315 | | 0xf53433c11e0ce775L }, |
14316 | | { 0x47ea3e8f22ff3a1dL,0x60ebfba8cd7ccdb6L,0x47c6b6e233c475d0L, |
14317 | | 0xd18637e7b7959fd5L } }, |
14318 | | /* 54 << 210 */ |
14319 | | { { 0x8d7a35cea1ae3404L,0xf15c71d675b832bfL,0x6504741998b9d24bL, |
14320 | | 0x28625a550dcf73f4L }, |
14321 | | { 0x5aa9dce8c7c99478L,0x752d16250bde8d53L,0x7255ecfa93e99ee4L, |
14322 | | 0x1c53bf7122706f48L } }, |
14323 | | /* 55 << 210 */ |
14324 | | { { 0x283354514d478014L,0xd64b05ff3f392c0aL,0x1d9ac89d4fba1661L, |
14325 | | 0x281a0ffb34828cd8L }, |
14326 | | { 0x07abacdd577ed419L,0xa66949f53cfb2c56L,0x38e69105847ebe65L, |
14327 | | 0x8fbbba5a44d6236dL } }, |
14328 | | /* 56 << 210 */ |
14329 | | { { 0x0c85bd64725ef820L,0x4ef9152425a152a7L,0x5237ef0eb019cebfL, |
14330 | | 0x48203f41c9a7724fL }, |
14331 | | { 0x1f61885cc55fc0d4L,0x2c4dd07abcb3daebL,0x9855d5e74b7dafc5L, |
14332 | | 0xd76e6fdf5f3769afL } }, |
14333 | | /* 57 << 210 */ |
14334 | | { { 0xb834df1abb547be6L,0x43056b123e7a9586L,0x7459e0bb4375fc7eL, |
14335 | | 0x5f5f295a9c85fc6bL }, |
14336 | | { 0x3f2d2bb7bb23b709L,0x0b53bd8c955983ceL,0x5aee93dffaf68dccL, |
14337 | | 0x5575770c509f09dcL } }, |
14338 | | /* 58 << 210 */ |
14339 | | { { 0x2bf23c0c40b1b744L,0x524154bb9a5bb913L,0xb0e93d76296bdb2eL, |
14340 | | 0xb3c71f5bda0b2925L }, |
14341 | | { 0x8e77ae7a0c617939L,0x2bfea97e1aca9b0aL,0x8e3317c97897c5a8L, |
14342 | | 0x850ddefb4cee2716L } }, |
14343 | | /* 59 << 210 */ |
14344 | | { { 0x684ceee9107d9186L,0x487084230082c312L,0x5300137c6c556897L, |
14345 | | 0x6d4644017e99bc76L }, |
14346 | | { 0x6b11e1e38808ca2bL,0xedd30eeecca6433eL,0xa9099f60aa072ff0L, |
14347 | | 0x774662ec5830f69dL } }, |
14348 | | /* 60 << 210 */ |
14349 | | { { 0x0770355cf94547d9L,0xb5041edb42967865L,0x169a6274e585a93bL, |
14350 | | 0x06cebf5ed04d6a81L }, |
14351 | | { 0x0a59450f2ebc1791L,0x69fd006e765ac18aL,0x4711ec9ca54f7e7aL, |
14352 | | 0xd72c8d58819c6af9L } }, |
14353 | | /* 61 << 210 */ |
14354 | | { { 0x89c97c6cb5418e15L,0xd520b03ca558a854L,0xe3c24aca0d76773aL, |
14355 | | 0xc4deb5ce67e5110eL }, |
14356 | | { 0x5bb40152cbb04ba4L,0x672563b6de1b628aL,0xaec916aa2e8d9e54L, |
14357 | | 0xa4e8cb473c60ac70L } }, |
14358 | | /* 62 << 210 */ |
14359 | | { { 0x54a03e39452d5064L,0x1e405c2d1e7bb355L,0x2ab2d5df3bbd3ab0L, |
14360 | | 0x0808410edbc9fbd8L }, |
14361 | | { 0x4180ceea27f23f6fL,0x2b965b35ba1d6bebL,0x14f1f010f66d6546L, |
14362 | | 0xefdca6a8f85cfb4aL } }, |
14363 | | /* 63 << 210 */ |
14364 | | { { 0x69e6188e6614c1c0L,0x00bd1531e07cb7f8L,0x1b90f5154bb7ee68L, |
14365 | | 0x8afdf46651abb1f3L }, |
14366 | | { 0xf59a7327b5f34316L,0x43c3c19d64c7bf22L,0xb275733fcdb00a2bL, |
14367 | | 0x0160df79602915baL } }, |
14368 | | /* 64 << 210 */ |
14369 | | { { 0x1ae4ee9a1baea574L,0x0d922f2803ae5168L,0x07df28fdca691124L, |
14370 | | 0x5aad2f318dd457c4L }, |
14371 | | { 0xe0d4f443137384caL,0xd93d424a6620ea8cL,0x21d544d35067797aL, |
14372 | | 0xc8a8cc999d8a15bcL } }, |
14373 | | /* 0 << 217 */ |
14374 | | { { 0x00, 0x00, 0x00, 0x00 }, |
14375 | | { 0x00, 0x00, 0x00, 0x00 } }, |
14376 | | /* 1 << 217 */ |
14377 | | { { 0x610f0e26941d80a3L,0x30927879ad36514eL,0xaa2dfd4898f22601L, |
14378 | | 0xbc5b31b788c8b0f6L }, |
14379 | | { 0xb1281f376c841cc8L,0xdae167195a412b84L,0x9ec1f6c8828f210dL, |
14380 | | 0x1935d576e8d92901L } }, |
14381 | | /* 2 << 217 */ |
14382 | | { { 0x47247921af3840f2L,0x348325d2df3fcdfcL,0xef578508c43961bdL, |
14383 | | 0x7d5e8ccd1bd98c29L }, |
14384 | | { 0x59cdba10f8a30164L,0x0757408f7cb8c653L,0xcd7ed73fc3056ef4L, |
14385 | | 0xd28e7cc1fb99cd1bL } }, |
14386 | | /* 3 << 217 */ |
14387 | | { { 0xa8a674946bb62286L,0x8d6ef816e7d87467L,0x3529f938f673b6d5L, |
14388 | | 0xf5c0ee768bbf101bL }, |
14389 | | { 0x3768ed6149fdc949L,0x53b6999ecf405ee0L,0xbf0108a01718e51aL, |
14390 | | 0x38e609ec5181ebd7L } }, |
14391 | | /* 4 << 217 */ |
14392 | | { { 0x82051640d8595159L,0x30e1c706579a3876L,0x091154c60298a67cL, |
14393 | | 0x76d9a9c951132d27L }, |
14394 | | { 0xe41de8b75c661a4dL,0xf24b5e962a6dcbafL,0x1ed4cb0cd714e045L, |
14395 | | 0x605926a40c187c70L } }, |
14396 | | /* 5 << 217 */ |
14397 | | { { 0x97672559f34b1c93L,0xa256be98e0b43506L,0x7fcdd412e1a98eb3L, |
14398 | | 0x7fcfcd84295a061bL }, |
14399 | | { 0xddbac22bcc2386cfL,0x7741adb7928c2556L,0x3a2bb8694e6e1288L, |
14400 | | 0x53ed11da025bb4a1L } }, |
14401 | | /* 6 << 217 */ |
14402 | | { { 0xb114bd674108c8e2L,0x85948c6b3deb8e23L,0x6a9e05d9d0e9434cL, |
14403 | | 0x395060b7b9c4fd70L }, |
14404 | | { 0xa0ccfd1618893751L,0xa941ff60bbf65477L,0x34ada23859423e35L, |
14405 | | 0x4ba7a7d17e570058L } }, |
14406 | | /* 7 << 217 */ |
14407 | | { { 0x3d05d455869ae596L,0x92a1540093368325L,0xbd64ae0a62eb7ffaL, |
14408 | | 0x3f263a7ad34b2c59L }, |
14409 | | { 0xe95eece3a22244e1L,0x39ccef58706fc500L,0x39a88f9322f1d2e6L, |
14410 | | 0x1ec796b36d47c670L } }, |
14411 | | /* 8 << 217 */ |
14412 | | { { 0x1558e0f2aa1ff4afL,0x61f43487390503a4L,0x661647323c4f76f1L, |
14413 | | 0x50d0706e9e13432eL }, |
14414 | | { 0x5f1a87caf5eba0fbL,0x28a95c0f80bda2c5L,0x10d693e012ae6462L, |
14415 | | 0x79871340f45e6ba6L } }, |
14416 | | /* 9 << 217 */ |
14417 | | { { 0x8abf0cad887051c0L,0xd09f571db3c6b540L,0x3fb2e16be30ab25dL, |
14418 | | 0x12e057a7539e8bc4L }, |
14419 | | { 0x6efe71ce733c2597L,0x72fa0df5e71058acL,0x49f14d06ccc037bfL, |
14420 | | 0x9a3ceb03ceb3eb6cL } }, |
14421 | | /* 10 << 217 */ |
14422 | | { { 0x9895e9084195370aL,0xa75007e5927345e7L,0x00b4c212d3850711L, |
14423 | | 0x76e4060ddfee8b34L }, |
14424 | | { 0x15801862184c1d07L,0x234e39c0302f5711L,0x4c0bd3876aa74204L, |
14425 | | 0x0515eddc6f496836L } }, |
14426 | | /* 11 << 217 */ |
14427 | | { { 0xa9fd0cb5c849afbeL,0x041df5bacad5c0aaL,0x9a54af37ddff259eL, |
14428 | | 0xa3f156bf9b550a8eL }, |
14429 | | { 0x4df2d33d7e3298d4L,0x0957a0a065ff0e1aL,0xff7fb43d1e2b3a45L, |
14430 | | 0xb86d386a1a73285aL } }, |
14431 | | /* 12 << 217 */ |
14432 | | { { 0x6e283c4728b18e93L,0x5458b92f4b4132edL,0x7026345eba674332L, |
14433 | | 0xc8e381515c9fc32dL }, |
14434 | | { 0xd6aaf8e158e7b4feL,0x3e77a5c94267253aL,0x6441cba2a0949607L, |
14435 | | 0xfa205185dee20b2eL } }, |
14436 | | /* 13 << 217 */ |
14437 | | { { 0x64f3d576f5b44600L,0xf12125dbef5c8446L,0x1467539b487a0116L, |
14438 | | 0x3aa0fa49f380229aL }, |
14439 | | { 0xcc6586f1d79f36dcL,0xebcf653d1b9a0b42L,0x68af006d9c1df729L, |
14440 | | 0x507e055aa7903ee6L } }, |
14441 | | /* 14 << 217 */ |
14442 | | { { 0xd1b48ef8afd8ac9bL,0xd8920af73b5f6b51L,0x9629e789983339c8L, |
14443 | | 0xbfd2d787fa9248d3L }, |
14444 | | { 0xb50ca3029a078882L,0x1c34f848f5cb0529L,0xb9b015191646a9f8L, |
14445 | | 0xc9e3679e80d53f9dL } }, |
14446 | | /* 15 << 217 */ |
14447 | | { { 0x5a63e8221af3e5f2L,0x05480ad8ff58e3d1L,0x2d241643d6b3626bL, |
14448 | | 0x33b15660c1eda15fL }, |
14449 | | { 0x3e74f8558528e5d6L,0xafb6dc9af63188f4L,0x0cac44cbaeeb1d32L, |
14450 | | 0x50661046a627eff8L } }, |
14451 | | /* 16 << 217 */ |
14452 | | { { 0xadc4b01264b49667L,0xa4bdafa71e05f760L,0x171b28b3f185d27aL, |
14453 | | 0x987e516333425747L }, |
14454 | | { 0x7c42ac4ec3864a65L,0x2dae1bb8bf449c12L,0x680d974306965832L, |
14455 | | 0x6ac1ef017e31d9f4L } }, |
14456 | | /* 17 << 217 */ |
14457 | | { { 0xdef57433579d6ae4L,0xe055b087d5240bf9L,0xe4dbbe6090a5e069L, |
14458 | | 0x2161d5feddb3dc15L }, |
14459 | | { 0x7d303012da297b71L,0x04481034d468046cL,0xaa94d5bb0ac93c6cL, |
14460 | | 0x95bacd45d8d8f53aL } }, |
14461 | | /* 18 << 217 */ |
14462 | | { { 0x790a5d6f3e03e895L,0x27efd50244fa5a81L,0xd9d35230e5998b32L, |
14463 | | 0xb36a0c07f22ade19L }, |
14464 | | { 0x46ec8691f979a2feL,0xa67ba933ced8cb94L,0x00d072452f856ab3L, |
14465 | | 0xadc9ff423c925daeL } }, |
14466 | | /* 19 << 217 */ |
14467 | | { { 0x0e4eaa25563038a5L,0xfef7e89c8a8f6483L,0x50433633ace61af8L, |
14468 | | 0x8a1589e02e1a3515L }, |
14469 | | { 0x99f21e295fdcb1acL,0x8fd2d411c9a466daL,0x55323c6ff56b7f13L, |
14470 | | 0xa016d64a5cff438cL } }, |
14471 | | /* 20 << 217 */ |
14472 | | { { 0x3e3dfcbcdc05b5ccL,0xc1956ca8fc3c70ecL,0x7dbbd169e63f02dfL, |
14473 | | 0x95206689240b87c8L }, |
14474 | | { 0x7bacda5e1aa6d48aL,0x51dcf19f39280f78L,0x1511ae04660abac2L, |
14475 | | 0x3a95adc9d905af53L } }, |
14476 | | /* 21 << 217 */ |
14477 | | { { 0x0c8c4330ea464737L,0x989c09c434fc4b51L,0x1852120de2cf3376L, |
14478 | | 0x5a1cb8a825c04de3L }, |
14479 | | { 0x50486f9875fe7596L,0x8cd78d2e223030b1L,0x524cb8f8cfa1ab11L, |
14480 | | 0xa716ea3f5a15b0b9L } }, |
14481 | | /* 22 << 217 */ |
14482 | | { { 0x7618e95eb902d114L,0x0a1a4146084ebf5dL,0xdfb909e9e3f87683L, |
14483 | | 0xa0b7eee14107410cL }, |
14484 | | { 0xa45a551cf02b0e12L,0xceabbfd29efccb9fL,0xb0d1b6bc740f4e3aL, |
14485 | | 0xfc7372504cbfd0deL } }, |
14486 | | /* 23 << 217 */ |
14487 | | { { 0x3fad2d9e32452b0eL,0xb4e659fef523527dL,0xf0dcd7016c0ff353L, |
14488 | | 0x28f06e2ad67b6f98L }, |
14489 | | { 0x2d0c36ce82a789b4L,0x20e577da49c0d54eL,0x8d1d5c7fae38dd0eL, |
14490 | | 0x72e01399894d9143L } }, |
14491 | | /* 24 << 217 */ |
14492 | | { { 0xf78068563958e055L,0xac35ee405df44aeeL,0x2b47891397c18b8dL, |
14493 | | 0x5396824efa2586cdL }, |
14494 | | { 0x22b37b251b23f8c4L,0xf9ced36ecdecdefaL,0x28c3bee5c2fc39c0L, |
14495 | | 0xa1731fae6d9db32bL } }, |
14496 | | /* 25 << 217 */ |
14497 | | { { 0xa0445fa7bc3e2c91L,0xa1ab695575a4aa72L,0xf0cd61c6bbe0a1c7L, |
14498 | | 0x923c3b690123bc52L }, |
14499 | | { 0x818ad28cafd7c4bcL,0x7c22922428b15b05L,0xecde7efb1f78a4f4L, |
14500 | | 0x550d68e703ef3ab3L } }, |
14501 | | /* 26 << 217 */ |
14502 | | { { 0x0371021dfc5f8c35L,0x4440aa1e0ed2b06eL,0x70c8ede99ba7247dL, |
14503 | | 0x0d2b6ed384f23fdeL }, |
14504 | | { 0xd0119d955ff4478cL,0x66152d27f79c69d5L,0x56d8bea402afd13bL, |
14505 | | 0x035efe5f15bb938aL } }, |
14506 | | /* 27 << 217 */ |
14507 | | { { 0xc5ca7d082ccaa425L,0xc8c69ea6eeee9376L,0xb22cfe59493a2051L, |
14508 | | 0xcb50e618dc7b90fbL }, |
14509 | | { 0x0f6fdf2be05a8705L,0x081f3fe74814df31L,0x6fefe18aeb1e3e76L, |
14510 | | 0x8191005003e06a50L } }, |
14511 | | /* 28 << 217 */ |
14512 | | { { 0x8a801df1db45bfeaL,0x8c7fe1fd7a828cf6L,0x1c1868b58d173cfdL, |
14513 | | 0xe18f0a360dbde1c8L }, |
14514 | | { 0x3b29ed649ac345b6L,0xd56d59569dcd07a5L,0xf4191570c6813a88L, |
14515 | | 0x39033ebceda3af42L } }, |
14516 | | /* 29 << 217 */ |
14517 | | { { 0xdee5591bad5d215dL,0x9cfa11c6afbe5a28L,0x73d0f1e21823c28fL, |
14518 | | 0x75d49925afab1f67L }, |
14519 | | { 0x61c81e2c7c521448L,0xc547be6f4a96edb5L,0xccb9fc594ca368b3L, |
14520 | | 0x175ebe4804fc3303L } }, |
14521 | | /* 30 << 217 */ |
14522 | | { { 0x507620cffce42989L,0xf236e0439abfadb2L,0x381c50c3ab36ab58L, |
14523 | | 0xed4cb73eae22c6a3L }, |
14524 | | { 0xa68a28272158dc4cL,0x1715ac43e9fa53ffL,0xb02fdf73fa266797L, |
14525 | | 0x3079f3c77eefb203L } }, |
14526 | | /* 31 << 217 */ |
14527 | | { { 0x0a41fb947f7545bdL,0x6b9dd022cb923aceL,0x582c7ff53bea2541L, |
14528 | | 0x992f23795ecdbe2dL }, |
14529 | | { 0x821f1670fe17bdcaL,0x521c06f22626bddeL,0x6292748c1864ca0bL, |
14530 | | 0x554d4ece1bc74d8bL } }, |
14531 | | /* 32 << 217 */ |
14532 | | { { 0x745d4f74ea3d4446L,0xa439f17840ad1c7fL,0xc95d951051374e92L, |
14533 | | 0x75870e9f90229008L }, |
14534 | | { 0x3fec98c2c54e7e81L,0xef537ee994b3860bL,0x139dd83440bfc8f6L, |
14535 | | 0x20b513640f114403L } }, |
14536 | | /* 33 << 217 */ |
14537 | | { { 0x4752a49f30b4b4dbL,0xdfbb8b178c3c90e0L,0x60c8915b70f0b16aL, |
14538 | | 0x5e39500040528319L }, |
14539 | | { 0x8a1624c7a641f2e3L,0x3c9925c6bb4ca0dcL,0x2aae6edb2c3152b5L, |
14540 | | 0x8dbac58008b896ffL } }, |
14541 | | /* 34 << 217 */ |
14542 | | { { 0xe0516205e5a36bc8L,0xd77143323295707bL,0x61db680451c3513fL, |
14543 | | 0xf2ee6e20ab552df8L }, |
14544 | | { 0x5ddcfa99353c17f0L,0x65687a2f046d5fd4L,0xef567e9ffd1ccad4L, |
14545 | | 0x7cd5f7dda0238b70L } }, |
14546 | | /* 35 << 217 */ |
14547 | | { { 0x96fba79e92c01197L,0x46a9f2de83b50e70L,0x7efcbbb2fe287169L, |
14548 | | 0xe30d60cb4528d67dL }, |
14549 | | { 0x88fed0cc6cb04d3aL,0x63eb9d0d0221ceb8L,0xc6954e9f748b5813L, |
14550 | | 0xceef2bd85c96e897L } }, |
14551 | | /* 36 << 217 */ |
14552 | | { { 0x99503ae285648f04L,0xeee51f99923e87d7L,0x90908fcab6560cebL, |
14553 | | 0xafad592680e0f6b3L }, |
14554 | | { 0xa50f31f3aea32cf9L,0x7ea17064a74ae92dL,0x0675ccc1cda71d1aL, |
14555 | | 0xd1e3b6301e0a464aL } }, |
14556 | | /* 37 << 217 */ |
14557 | | { { 0xa361f2b72442872dL,0xb21bcd3946e52c97L,0x1405f89c85574630L, |
14558 | | 0x0da7bfbd8e0a96abL }, |
14559 | | { 0x48af06c24220f57bL,0x772a9b126a333e4fL,0x3afc661e6f712eb8L, |
14560 | | 0x29deff6c2eba8817L } }, |
14561 | | /* 38 << 217 */ |
14562 | | { { 0xbab680ded8c69e5aL,0xf8615abbe93daf10L,0x7455ea1dcef6fae6L, |
14563 | | 0xac0a30ea868455fdL }, |
14564 | | { 0xae967b17e47d628aL,0xa6d703e265f1f482L,0x2723a9650bfcc371L, |
14565 | | 0x9b06cc146db4a042L } }, |
14566 | | /* 39 << 217 */ |
14567 | | { { 0xa973d738a77c8b21L,0x9a981f80c008f2edL,0xecc7bbcbaf27cdb3L, |
14568 | | 0x514db964b5cb693aL }, |
14569 | | { 0x24125414e75c93d1L,0xd9308c0e1f00d53cL,0xdb56d155831eba6dL, |
14570 | | 0x29eefc2c672b86f1L } }, |
14571 | | /* 40 << 217 */ |
14572 | | { { 0x332f6ab6dd13b3c9L,0x70e052f6e371f873L,0x05740742125712abL, |
14573 | | 0x4239152db3512100L }, |
14574 | | { 0x98355eaa80b22915L,0xd0e263ecb896f6faL,0x9378a8a6442b4c8fL, |
14575 | | 0x40c2b546f65795bbL } }, |
14576 | | /* 41 << 217 */ |
14577 | | { { 0x0cfa46edd572ead8L,0xb9b4abdb78361300L,0x5fe63ef18c102020L, |
14578 | | 0x1805c84e785a4b54L }, |
14579 | | { 0x147cf487805cb642L,0x87cf50aa487e581fL,0xe942fa5b9eaebcd0L, |
14580 | | 0x06d4fa96d1af71f2L } }, |
14581 | | /* 42 << 217 */ |
14582 | | { { 0x20c1a770c4fc3823L,0xcdffd09e85140885L,0x27ce78ab6b3592e9L, |
14583 | | 0xb8e8c15e8ba82008L }, |
14584 | | { 0x5fe8f3f0fef74187L,0x8e85a3a577ce808dL,0x8447dc69c7395f64L, |
14585 | | 0xae90769f1181b854L } }, |
14586 | | /* 43 << 217 */ |
14587 | | { { 0x54adc101456114c8L,0xe7962b769ca6a9c1L,0x3f0e77fb909410a4L, |
14588 | | 0xe18151cd9e2e44f9L }, |
14589 | | { 0x5e510a0a2cf6e29eL,0x136896abb1836b07L,0x3ad4fdec0fe11010L, |
14590 | | 0x35b36790dbddf038L } }, |
14591 | | /* 44 << 217 */ |
14592 | | { { 0x7c4f5a6875903df9L,0x3e9cb0562f5b7193L,0x745e9452591a4524L, |
14593 | | 0xc406ad441a056e15L }, |
14594 | | { 0x2e93edf2a69e11efL,0xa28b82fd73a1cb88L,0xdc1c9cda1225c3d5L, |
14595 | | 0x86e9a994a5569794L } }, |
14596 | | /* 45 << 217 */ |
14597 | | { { 0xd698506e5b092ddeL,0x076a4c82d1ca8b06L,0x4516033b2ef2bc6fL, |
14598 | | 0x0574c792d78fa65fL }, |
14599 | | { 0xa3b1c3d8735bb362L,0x22fca7a40da54317L,0x3e7ae70960aaebb6L, |
14600 | | 0x42417d54937638c1L } }, |
14601 | | /* 46 << 217 */ |
14602 | | { { 0x32f00a5d1dfe8b0eL,0x8ea5e8e18dcdbdbcL,0x38df57cb6b30ea52L, |
14603 | | 0xd325aa1ce94c30caL }, |
14604 | | { 0x7aa04a9ddce4d256L,0x78e98cd374c7db6bL,0x631475a8443d5c9fL, |
14605 | | 0x34e5c73a7adfbcebL } }, |
14606 | | /* 47 << 217 */ |
14607 | | { { 0x7fb69bab9f1e8828L,0xcadc78bec84149e3L,0xe9424ecc1fe86af8L, |
14608 | | 0x13160cc8bc504ea8L }, |
14609 | | { 0xcb3800784c96a680L,0x006fb9d8845faae5L,0xc6a642771e0e66d1L, |
14610 | | 0x13f77d6e428f526dL } }, |
14611 | | /* 48 << 217 */ |
14612 | | { { 0x9f80fe8c28474530L,0x5649a173db7fec00L,0xdeed5bf4d9cb05caL, |
14613 | | 0x14b1a3a9d7077c41L }, |
14614 | | { 0x4c2ed239096883ecL,0xd550edfe44ae671dL,0xb233e5dcf7b7362aL, |
14615 | | 0x32c158204fd464f2L } }, |
14616 | | /* 49 << 217 */ |
14617 | | { { 0x0ecb18f768880bf9L,0x53468bedaf230a34L,0xe3ba97b9370cd6efL, |
14618 | | 0xf5cdabf43516d77eL }, |
14619 | | { 0x08d78a5611462032L,0x1393fa93d583ccc5L,0x52af7f5d0c1b3514L, |
14620 | | 0xf48cac66188ca043L } }, |
14621 | | /* 50 << 217 */ |
14622 | | { { 0x2524c8dd5461a1d1L,0x6eee810191b6e707L,0x209fece6ca2fe87eL, |
14623 | | 0x50b357279ac56706L }, |
14624 | | { 0x651a6701ec373bb2L,0x881de85b1a4c2e84L,0x4892861dcfdb47d5L, |
14625 | | 0x5ae2e6535cdc4424L } }, |
14626 | | /* 51 << 217 */ |
14627 | | { { 0xc58f4f59a1f90dd9L,0xa5584f85fcf158a4L,0xbde86fb0ab072a7aL, |
14628 | | 0x7c69e25a268bae62L }, |
14629 | | { 0xee3478f344fc7b3eL,0xec1483946b7d3647L,0x2a542ebfe1c8c0caL, |
14630 | | 0x63d1d635161dc0c1L } }, |
14631 | | /* 52 << 217 */ |
14632 | | { { 0x769acdbe57ab9282L,0x9c3389712a119cb9L,0x049e366f125e5b4cL, |
14633 | | 0x3aec68e0f0c8fde4L }, |
14634 | | { 0x9d95b6e5324cefdaL,0x844cce33704014b5L,0x03920a616a6bb216L, |
14635 | | 0xd69d17e3f379db8eL } }, |
14636 | | /* 53 << 217 */ |
14637 | | { { 0x1924ac16c5e386e5L,0x62373a48d64953c3L,0x5b1f7d6447f4e4a4L, |
14638 | | 0xc043b5b5ffa115fdL }, |
14639 | | { 0xb2a2656e87fb16b0L,0xcac56b9bd8cd79a6L,0x544971f6cc19d3afL, |
14640 | | 0xf539244b0fd63db9L } }, |
14641 | | /* 54 << 217 */ |
14642 | | { { 0x0f052d3cfbf4d232L,0x6b3c83667a2a7280L,0xaa6579db48079b9fL, |
14643 | | 0xc5beb93da4d9edcfL }, |
14644 | | { 0x8ad588250f1599a3L,0x3f3a26345f3f640bL,0xda15393a9032fd7cL, |
14645 | | 0x97c10230ac0e7136L } }, |
14646 | | /* 55 << 217 */ |
14647 | | { { 0xfa32ef9f599785eeL,0xe1ed3b286b4c7a65L,0xcee1af272da1dcddL, |
14648 | | 0x4e480c116861e2c2L }, |
14649 | | { 0x35b5ec429c8ad8c3L,0xfd07f6a43fc55f23L,0xab18ead2ea76d444L, |
14650 | | 0xcb8bde1422ba099aL } }, |
14651 | | /* 56 << 217 */ |
14652 | | { { 0x252e6a81c61ae967L,0xaf11042c72a2e1e6L,0xb353902a1a211ef8L, |
14653 | | 0x644d16e0c99a25fcL }, |
14654 | | { 0x637fd6065b67e48aL,0xfa57096351a0b665L,0xaa661c737ee072b8L, |
14655 | | 0xde1eb4fef2e0a727L } }, |
14656 | | /* 57 << 217 */ |
14657 | | { { 0x56096a0c22ed7ee6L,0x31aaf4035825908bL,0xfd5f6ba7bfa02db6L, |
14658 | | 0x85f4f9a9ff798900L }, |
14659 | | { 0xa0997d564a0cd878L,0xdd76909cb1b6982eL,0x874fab15eccf338eL, |
14660 | | 0x5e072b3c4ce82bb1L } }, |
14661 | | /* 58 << 217 */ |
14662 | | { { 0x5dbe883f6dd0d997L,0xa32117f241765fb6L,0x59ca4da37d87fc5eL, |
14663 | | 0xc91002cdb95ec918L }, |
14664 | | { 0xd53bc1236548248fL,0xef10a3736c6d1e0eL,0xafb2d76099d9893fL, |
14665 | | 0xb77c1f1bce0ba0caL } }, |
14666 | | /* 59 << 217 */ |
14667 | | { { 0xabce362ccfb9f6b2L,0xe6e108d235f9be91L,0xb23312907187fa9dL, |
14668 | | 0xdcd1f4fdfc7ddce6L }, |
14669 | | { 0x3a1299919086eb29L,0xb073052053a56d57L,0x9fcdf4cfabd421bdL, |
14670 | | 0x9627127008f3e8e0L } }, |
14671 | | /* 60 << 217 */ |
14672 | | { { 0x951ea7e2401e0217L,0xa4d1d708733f637bL,0xc75170f44f4cd676L, |
14673 | | 0x568279ba832f0b4dL }, |
14674 | | { 0xda4c01f725c17ab7L,0xfcc13028fa30e1b9L,0x4d1d8f71acba57ecL, |
14675 | | 0x0c7971cfef6b3913L } }, |
14676 | | /* 61 << 217 */ |
14677 | | { { 0xdf16e73dc014f166L,0xd5796183f96f2c30L,0xd13ee9f73f70dd7cL, |
14678 | | 0x3f9aa0dddac738c5L }, |
14679 | | { 0xa200c7e4ad021e28L,0x982abae308414fd0L,0x76d16a8cc3779882L, |
14680 | | 0x41563d33e70a6ff5L } }, |
14681 | | /* 62 << 217 */ |
14682 | | { { 0xdbb9656e4b553a17L,0x96af21a0d9c87aa1L,0x2de13a037bd9a625L, |
14683 | | 0x29f8c49bfeb1fec2L }, |
14684 | | { 0x84e2df471a4ce44aL,0x83bb2965548b39eeL,0x38b91cce94d996ebL, |
14685 | | 0x41e0a3cd9441ae0bL } }, |
14686 | | /* 63 << 217 */ |
14687 | | { { 0x720d30d8daa92f34L,0xba58757906f30fbbL,0x24f746764c96ad59L, |
14688 | | 0xf40493f70d33bd5fL }, |
14689 | | { 0x9068c3e9126a7267L,0xa51099df18927490L,0x27452423a9cfe02fL, |
14690 | | 0xcfd035beb8749653L } }, |
14691 | | /* 64 << 217 */ |
14692 | | { { 0x0dd9bc2afda6a4a9L,0xdba0178a0106ae0eL,0x3820c9f54969a4bbL, |
14693 | | 0x5031e9fd99fbc715L }, |
14694 | | { 0x642a030ac193d942L,0xdc3d6ab7454cbb39L,0x507c17b91c8fa77cL, |
14695 | | 0x8465bcc8e3642a95L } }, |
14696 | | /* 0 << 224 */ |
14697 | | { { 0x00, 0x00, 0x00, 0x00 }, |
14698 | | { 0x00, 0x00, 0x00, 0x00 } }, |
14699 | | /* 1 << 224 */ |
14700 | | { { 0xe74e265bc25dfad3L,0xd03630b9493f44b6L,0xb3270892bfd6d473L, |
14701 | | 0x5b2d95431c5ee992L }, |
14702 | | { 0xeeb94537a36f7c5fL,0x9befc01d8ab0b81dL,0x483cdb08188b45e5L, |
14703 | | 0x44c753b701e4648bL } }, |
14704 | | /* 2 << 224 */ |
14705 | | { { 0xee43bc87b2411618L,0x08754bd2f07924c4L,0xef2050334ac92557L, |
14706 | | 0x6e7e4fe6ee0387f4L }, |
14707 | | { 0x51f3e2e276961d0eL,0x2b69d41737eac10fL,0x36d0f45f73757a88L, |
14708 | | 0x38b967e52b0c7d35L } }, |
14709 | | /* 3 << 224 */ |
14710 | | { { 0x94ba8fc4b31fa779L,0x8024dc850f13036eL,0xfda2af6382d754b7L, |
14711 | | 0x4a784242ae9ea9aeL }, |
14712 | | { 0x67dd14abf9887947L,0x7f2ecfc4cd555a0aL,0xb37c4244f63a46aaL, |
14713 | | 0xd032cfc1ff71b4b5L } }, |
14714 | | /* 4 << 224 */ |
14715 | | { { 0x0aef84c16b8a6a97L,0xd2e7f3de0b2bca36L,0x721c6c095b174d43L, |
14716 | | 0x5719cf31d52ccc5bL }, |
14717 | | { 0x6c7361f03adf9517L,0x1e264169abe20ff5L,0x01f9d99769eacc0eL, |
14718 | | 0x721eba63c2e635d2L } }, |
14719 | | /* 5 << 224 */ |
14720 | | { { 0x4225e9c825df8bb5L,0x931f721eb5752d7eL,0x3c4ed4750a3b281dL, |
14721 | | 0xcf9276824a4668beL }, |
14722 | | { 0x1b7f358e75b7e90cL,0x06e5c24db7a29b9aL,0x0058967aa167f2c8L, |
14723 | | 0x9f1a6fb9a4ee62d3L } }, |
14724 | | /* 6 << 224 */ |
14725 | | { { 0xca899c4f278291f1L,0x69a90324f4e64c1dL,0x46cc5d428d62916eL, |
14726 | | 0x3c802e65ec1007ccL }, |
14727 | | { 0xdadcf2aa6219cfbbL,0x942870dcd10258b2L,0x77264e68a5e142afL, |
14728 | | 0xf25675e2089cc7a3L } }, |
14729 | | /* 7 << 224 */ |
14730 | | { { 0x177e8a3b7336aa16L,0x5a92cc2dbc5c622cL,0x33a35a2c1789e029L, |
14731 | | 0x6f91306e4e4d5573L }, |
14732 | | { 0xe5a2a581da0a46f5L,0xfb532bed42640bbaL,0x88ff0f114a7b3ae4L, |
14733 | | 0x2223e7b6b8ff7a71L } }, |
14734 | | /* 8 << 224 */ |
14735 | | { { 0x759331335d21d261L,0xa336289acabb1fbdL,0x797db2f3631b3b61L, |
14736 | | 0xc2cedb25d7e6a511L }, |
14737 | | { 0xb8806f3410355332L,0xe5f1fb4a5d0ae37fL,0x57cf26a55d17c5c7L, |
14738 | | 0x82e8df4768c43ec3L } }, |
14739 | | /* 9 << 224 */ |
14740 | | { { 0x70fa23ebf86bd784L,0x711a9dbb51b0ce75L,0x83bb4a9082170008L, |
14741 | | 0x8f096ee9630602dcL }, |
14742 | | { 0x7d275fc97f15e77aL,0x63516a6afe727ec7L,0x6b06827a1dce9d38L, |
14743 | | 0xa01a5382023b31c2L } }, |
14744 | | /* 10 << 224 */ |
14745 | | { { 0x12537433886209b8L,0xb7875fa8c5a11b32L,0xfa63cb99bd61176dL, |
14746 | | 0xebb204ea33378ebbL }, |
14747 | | { 0xf29a29a070c135f6L,0xf53941e9fa29d69fL,0xab97b39a9917da42L, |
14748 | | 0x4677cfea45947ae4L } }, |
14749 | | /* 11 << 224 */ |
14750 | | { { 0xd4668cff0f6dd908L,0x48bb09ed987e0769L,0x794ed2988d64b6fdL, |
14751 | | 0xaf89d530fac845daL }, |
14752 | | { 0x574456492d06e70dL,0xe2a1a8c2079e70a7L,0xd2ef1779f524fc03L, |
14753 | | 0xeaccaaccb137bb1bL } }, |
14754 | | /* 12 << 224 */ |
14755 | | { { 0x34d8ed875d279f42L,0x4dd5344c1cd68904L,0xb558b71d24abd550L, |
14756 | | 0x3728e85040df135eL }, |
14757 | | { 0x9329e2b2cfe86519L,0x48ad17fbac74cde2L,0x2ad61b2230b388b5L, |
14758 | | 0xebcbc1adfaea71e1L } }, |
14759 | | /* 13 << 224 */ |
14760 | | { { 0x50d7b19e35990d9dL,0xb17138e56eb70243L,0xb61618f6aa8ae7e6L, |
14761 | | 0xedee15b0abce12c6L }, |
14762 | | { 0xa99ce250cc7205fcL,0xe438efc969e0d75cL,0x1feb6a105084b390L, |
14763 | | 0x7b3489549c80d42dL } }, |
14764 | | /* 14 << 224 */ |
14765 | | { { 0x67ac89d5e4b68140L,0x34afd23bc9b092afL,0xad65cae9fe1ad661L, |
14766 | | 0x4f402947e02d884cL }, |
14767 | | { 0xd0a48fcc6b1c40c1L,0xf950c9f78961487bL,0xdb1cd811206d1752L, |
14768 | | 0x863b0dede99fd891L } }, |
14769 | | /* 15 << 224 */ |
14770 | | { { 0xd3aad8c2bb2a4515L,0xc93c8cb8797e223cL,0x0f471e4912a77d46L, |
14771 | | 0xa2ac9434600872b6L }, |
14772 | | { 0x6fb1c7ef915f730bL,0x9fb72401d254d363L,0xf521e33a6b44796aL, |
14773 | | 0xb7ed2e8d97c9fafbL } }, |
14774 | | /* 16 << 224 */ |
14775 | | { { 0x60d41128ffb5e7ceL,0xdbd8b542aecb96c2L,0x029ab3dd0b5ca788L, |
14776 | | 0x8b1148a2190eb38cL }, |
14777 | | { 0x59048db869fb1924L,0xcd2149f0b18391a8L,0x6bece5b6fed311b9L, |
14778 | | 0x5edbe9b99ffd29b9L } }, |
14779 | | /* 17 << 224 */ |
14780 | | { { 0x538105561156ded2L,0xf812ce5d721f3e68L,0x50504d407ccdc8cbL, |
14781 | | 0xb559ba08c60fa4fcL }, |
14782 | | { 0x862a83d91d6bd879L,0x2f8f653b836e26baL,0x8587e6dfeb26ca11L, |
14783 | | 0x127bd9058c8aaf7bL } }, |
14784 | | /* 18 << 224 */ |
14785 | | { { 0xe26e690dd67d9902L,0x1a6061f4b58e7e78L,0x960ef741480dd4d1L, |
14786 | | 0x7fd0973675589610L }, |
14787 | | { 0x5a20a1a2855a8b2bL,0x3ed68662355b4e0fL,0xd3786f45e76595b4L, |
14788 | | 0x72a6999d0bdedcfbL } }, |
14789 | | /* 19 << 224 */ |
14790 | | { { 0x4e48e8436a175646L,0xde53c427e05dc02dL,0x9728a4c597d31bc6L, |
14791 | | 0x01a071295bb3bd37L }, |
14792 | | { 0x83c08a98a74a0fccL,0x233e400fbc345df8L,0x9578c5f2cc3e0edbL, |
14793 | | 0x0fe89df2f144a31fL } }, |
14794 | | /* 20 << 224 */ |
14795 | | { { 0x308098a014c5a2ccL,0xeda5a59dba40c0bcL,0x0b10f7e0b718a5aeL, |
14796 | | 0xdaf7da8c5b8ad9baL }, |
14797 | | { 0xddc7128587394cdeL,0x9bdb27cde43458d3L,0xc698d9724bd7c11cL, |
14798 | | 0x2ee97fbc3540be14L } }, |
14799 | | /* 21 << 224 */ |
14800 | | { { 0x2c70499572f98422L,0xfc71fee2ef8661c5L,0x6574e022ce08043eL, |
14801 | | 0x3d17162e5143733cL }, |
14802 | | { 0x3bf0b448730e5b80L,0x56de346a7cf94b5eL,0xfa87a53e6c797797L, |
14803 | | 0xe8b9edfa6487d014L } }, |
14804 | | /* 22 << 224 */ |
14805 | | { { 0x09e743877be60b03L,0x2277ebc3ec8750dbL,0xf1e9d5947aeaa545L, |
14806 | | 0x4156456244c03394L }, |
14807 | | { 0x57943adc4de9f7ecL,0x09dd58f92a220cd5L,0xdf848ec806973808L, |
14808 | | 0xf1d5def1d3950024L } }, |
14809 | | /* 23 << 224 */ |
14810 | | { { 0xd089eba55a8707e5L,0x914046cbb0b90ebeL,0xb01180b263fe6bc2L, |
14811 | | 0x1ffbc9687ede9d83L }, |
14812 | | { 0xe16d336f3c52c09fL,0x32270ecbdf40338dL,0xb55ff5c67eec7039L, |
14813 | | 0xb5ffb31438a63fabL } }, |
14814 | | /* 24 << 224 */ |
14815 | | { { 0x3e9f284fee18ffecL,0x702d97f51d1b4e80L,0x2005ee57214c4da1L, |
14816 | | 0x1c2104132f5ea2f4L }, |
14817 | | { 0xd24a486ca4149949L,0x3869a33923c8e201L,0x00f6e4100149992eL, |
14818 | | 0x54e97b46f0a367ddL } }, |
14819 | | /* 25 << 224 */ |
14820 | | { { 0xd967726ce169de5cL,0xa3e81f936a0fcd03L,0x171faa9ddb1b1733L, |
14821 | | 0x0bbb5e913828e41bL }, |
14822 | | { 0x789a7b2ef0828387L,0x9465cc16fca60b9bL,0xcb58e90aab630d23L, |
14823 | | 0xe7d30293a339d4b4L } }, |
14824 | | /* 26 << 224 */ |
14825 | | { { 0x0bcac95818e75428L,0xd2f1554a9a95900aL,0xc63c2afb03846833L, |
14826 | | 0x703d02206d1e8753L }, |
14827 | | { 0x47f5fe5704a357a2L,0xaafba53ecdc17255L,0x8f94c8eb821af8d5L, |
14828 | | 0x4d9918bc35e37920L } }, |
14829 | | /* 27 << 224 */ |
14830 | | { { 0xc029bd84e32dd067L,0x25982357f77f8962L,0x7af256ca510b7cfbL, |
14831 | | 0xca397f37446925d7L }, |
14832 | | { 0xb3dc7be5e0614e1eL,0x3b64cd27bbc4cc93L,0xbd762df5fb99bbc9L, |
14833 | | 0xc1ef0d4d04d7177fL } }, |
14834 | | /* 28 << 224 */ |
14835 | | { { 0x77b6d3d665e75ed6L,0xbe59c8da53053b45L,0x054d089f54fe92ccL, |
14836 | | 0x2f2327e06fa4758fL }, |
14837 | | { 0x948cf03f5d2b5a01L,0x47544c4c9c23b83eL,0x338590fa6c128d69L, |
14838 | | 0x5724008d76842160L } }, |
14839 | | /* 29 << 224 */ |
14840 | | { { 0x4cbeb18ec4f063e6L,0x507ba0949c2f826cL,0x0e877a6e6f4e49f3L, |
14841 | | 0x050c204034f56868L }, |
14842 | | { 0x8fd667c40f119e25L,0x881dd34d13b47d3fL,0x2a6b636dca8e9a6aL, |
14843 | | 0x67b081fb107ea18cL } }, |
14844 | | /* 30 << 224 */ |
14845 | | { { 0xd3a4636784af55d9L,0x0e709a00d7626b67L,0x135725fa4c6dfc8eL, |
14846 | | 0xbf6328d9133a6e20L }, |
14847 | | { 0xa4b743b4a87031f2L,0x62e90e6713825d07L,0x7004028eb85f3c45L, |
14848 | | 0x0465c50211751be0L } }, |
14849 | | /* 31 << 224 */ |
14850 | | { { 0x4d5d467f8a5ab076L,0x9aa3f414f4fb8a45L,0x9fa0422e5dc1fa84L, |
14851 | | 0x3205c05fd02cfd2bL }, |
14852 | | { 0x3eac28fa078836b6L,0x53bc0189fc3ff573L,0x2c45ef0900b02100L, |
14853 | | 0x61bc02ae34360ef7L } }, |
14854 | | /* 32 << 224 */ |
14855 | | { { 0xeb5593e7532e8d6aL,0x94092904f02a1ee4L,0x379b32e8200496c0L, |
14856 | | 0x46fb6e9e360a27c8L }, |
14857 | | { 0x8a3377ba62005158L,0x1a3266c10de3f191L,0xe60fad96c94d2127L, |
14858 | | 0x41553dd1646302f3L } }, |
14859 | | /* 33 << 224 */ |
14860 | | { { 0x88bf0bfa377e0766L,0x870a24dbe75bf57bL,0xc133cb4979e77976L, |
14861 | | 0x2f14924df43b6f18L }, |
14862 | | { 0xe561dc90aa94cd73L,0x8c420eb2d6eb695dL,0x99e41ba82f04ef79L, |
14863 | | 0x7f427bdf71e6d054L } }, |
14864 | | /* 34 << 224 */ |
14865 | | { { 0x7304bb2510bde8ceL,0x5dbc4325e48b16f8L,0x47d17ab28796db7bL, |
14866 | | 0x8342681794c77832L }, |
14867 | | { 0x6781850e9878ace2L,0x7f747b90019e97aaL,0xa0545c85949f9b08L, |
14868 | | 0xe0a0bbf8244bc083L } }, |
14869 | | /* 35 << 224 */ |
14870 | | { { 0x8cb53666a1f38ea6L,0x9be29ff64989a568L,0xbc5a7f87083a7fcdL, |
14871 | | 0x90d0129c44ca10f6L }, |
14872 | | { 0x1ad274bbd724b7e2L,0xa5290cbdcad5f069L,0x886b1a7c86a4e0a9L, |
14873 | | 0xd2481b5a8d8fb13fL } }, |
14874 | | /* 36 << 224 */ |
14875 | | { { 0x80075fb24f606ac5L,0xf984b5a2bfc10e7fL,0xd3d91aeaf056142fL, |
14876 | | 0x770bee0b4afdc017L }, |
14877 | | { 0x3c42ca886c49c827L,0xb620c4e80aaa3139L,0xac6b512dad87890cL, |
14878 | | 0xaee62df70eb61f92L } }, |
14879 | | /* 37 << 224 */ |
14880 | | { { 0xcf0f37fc21dad9ecL,0xd780d315c52e24c1L,0x0263bcab23a2b699L, |
14881 | | 0xdc8dcd2f9714b577L }, |
14882 | | { 0xeb16eca855622b11L,0x94b3d64901118edfL,0x6bafea64ec66879dL, |
14883 | | 0xc35739c0c4ab9f48L } }, |
14884 | | /* 38 << 224 */ |
14885 | | { { 0x082ccf53f3232370L,0x01b55dd371407825L,0x86e0fe944f7f4038L, |
14886 | | 0x1a623675b04159e9L }, |
14887 | | { 0xf908ca59bc4df337L,0x1b4f1ffe816162ceL,0xb51289522d60e05bL, |
14888 | | 0xb47ca0ebd38cbdf7L } }, |
14889 | | /* 39 << 224 */ |
14890 | | { { 0xdccba22f8ee38219L,0xc94364539fbb36ffL,0x83cecbf58ac12c9dL, |
14891 | | 0x591191b5f4cb1ebfL }, |
14892 | | { 0x693cf383f03c1632L,0xaebd3f9bcb6abacaL,0x1427c1540fa26e7aL, |
14893 | | 0x4f0de89401bf37afL } }, |
14894 | | /* 40 << 224 */ |
14895 | | { { 0x4e497acfd88da2a6L,0x8014a215e5c86482L,0xa627d78fcf94ee40L, |
14896 | | 0x7647708d9ca36aa3L }, |
14897 | | { 0x3d4e8bb187e108c8L,0xacdc3223516f8b28L,0x74e4d4361d955038L, |
14898 | | 0x7e4a198cedd68905L } }, |
14899 | | /* 41 << 224 */ |
14900 | | { { 0x41dc4bdbc4bfbad1L,0xfd1121b185964942L,0xe462eb9c0c0d85ffL, |
14901 | | 0xade1ccb32b012d88L }, |
14902 | | { 0x2eec3503318f2aa3L,0x656b44dadec8a13eL,0x90b7aac8cda13a8cL, |
14903 | | 0xe7f3a5ff214a530fL } }, |
14904 | | /* 42 << 224 */ |
14905 | | { { 0xa0c8062a159060b9L,0xc19f2608d9305873L,0x0d6213c4c9609521L, |
14906 | | 0xde2b91349aec4539L }, |
14907 | | { 0x4a2a6476aeddf0a6L,0x89222dff5cf2e85dL,0xad92a1d3084a0245L, |
14908 | | 0x29644a602138063fL } }, |
14909 | | /* 43 << 224 */ |
14910 | | { { 0x5b57a05bb8164832L,0xecf6620f885ce4d1L,0xde28ed2f045d3b88L, |
14911 | | 0x3eb11759b4502308L }, |
14912 | | { 0xe97f1db24d9f94b8L,0xfa248583eb83f016L,0x63a273b4cda53ba0L, |
14913 | | 0x9692973aa228b7b9L } }, |
14914 | | /* 44 << 224 */ |
14915 | | { { 0x5968cb12b6707cbdL,0x1895ccb45c1a2b4dL,0xff30915737f0b240L, |
14916 | | 0x374d983eb90875c2L }, |
14917 | | { 0x22fc40c6c4e815e7L,0xf2db27be98d18506L,0x2854a948aa9ae62eL, |
14918 | | 0xd614a72279e39df1L } }, |
14919 | | /* 45 << 224 */ |
14920 | | { { 0xebeec551b3501c19L,0xe2b878ebd89cefcaL,0xa0a347576b4cd6bcL, |
14921 | | 0x0159129c70bfdf88L }, |
14922 | | { 0x26fa3e53489502caL,0x7932084f285be050L,0xfe4998f471912b0cL, |
14923 | | 0x3dce0a87c60b88b7L } }, |
14924 | | /* 46 << 224 */ |
14925 | | { { 0x5b93edb0c718ee5cL,0xb93a225fbb075836L,0x87a08c947aa0595cL, |
14926 | | 0x401d2620c31e3249L }, |
14927 | | { 0xbe6928b4dae2cdb9L,0x4b68e1065a226630L,0xdc38c2fcc9d32e4fL, |
14928 | | 0xc51a624526542f89L } }, |
14929 | | /* 47 << 224 */ |
14930 | | { { 0x5fb37c1b1757f3c4L,0xa27d6c0289128aa4L,0x3b74f56f5e629309L, |
14931 | | 0x24b5ad842f7aeef2L }, |
14932 | | { 0x54a962ccbdc89596L,0x6e8bccf8cc2f3d5dL,0x4c1df22c312e9241L, |
14933 | | 0x8ffe6b0dfc30f0dcL } }, |
14934 | | /* 48 << 224 */ |
14935 | | { { 0x670431a2a6ec0fe4L,0x49da0b4235964572L,0xbb12d1b09dda5c39L, |
14936 | | 0x64170fe172d3de51L }, |
14937 | | { 0xea8b2b16a4a2f5d9L,0xde1bad64e590be92L,0xb7f93581f0b9b0b5L, |
14938 | | 0xb007f4dde115d67eL } }, |
14939 | | /* 49 << 224 */ |
14940 | | { { 0xab9d7523415732d4L,0x2951149d905ec0feL,0x94bb2c6374350478L, |
14941 | | 0xe6b63bfde9b1ada4L }, |
14942 | | { 0xd09b4d4b13e8528fL,0x6bed3d25685bf239L,0x83023ad91a14b7ceL, |
14943 | | 0x4bffff63d0505d6bL } }, |
14944 | | /* 50 << 224 */ |
14945 | | { { 0x2ccc180a8bb1cfa0L,0x70c185083a09c912L,0x318c41c25878201cL, |
14946 | | 0xb9f207b164c01149L }, |
14947 | | { 0x89fdd9eec58287d9L,0xdb6fa8db05c43da0L,0xc31354f0311a34a1L, |
14948 | | 0xccfbaddbf1521976L } }, |
14949 | | /* 51 << 224 */ |
14950 | | { { 0xf4175f750c5e8388L,0x7e090ce8a81226cfL,0x5209107eeda6a1abL, |
14951 | | 0xf0a263cb7e5ccefdL }, |
14952 | | { 0x9fe05a3610c704a1L,0x3784d7cacf133aeeL,0x066c311637af86c8L, |
14953 | | 0xbf32ca04d7ebeb8aL } }, |
14954 | | /* 52 << 224 */ |
14955 | | { { 0x0447a950a9b5bab4L,0x3b2f98bd41bb1f1cL,0xd89bbdd759c62f08L, |
14956 | | 0x26bab3703ded069bL }, |
14957 | | { 0xb0db4ca569ea63aeL,0x57b32f329133df68L,0xc79a22d05a17efbeL, |
14958 | | 0x576976a3f8ae3c2dL } }, |
14959 | | /* 53 << 224 */ |
14960 | | { { 0x5754198b9d02d212L,0x9cc9e61e230d0213L,0x7677217992889e33L, |
14961 | | 0xb1246608f5df6cbaL }, |
14962 | | { 0x821766bc8d491280L,0xe148f47096bd3df5L,0xc1e9fc70ed753b73L, |
14963 | | 0x840e40edd6cecfc5L } }, |
14964 | | /* 54 << 224 */ |
14965 | | { { 0x0387467993e2f3a0L,0x462e5abf5b646b64L,0x6fb19edad7ae0e67L, |
14966 | | 0x01e8a27fc3d2dddfL }, |
14967 | | { 0xc9e696394bacfe2dL,0xbc3a134e712e8afbL,0x5d943a868af6d30fL, |
14968 | | 0x65eb5f99443c942cL } }, |
14969 | | /* 55 << 224 */ |
14970 | | { { 0xf50003082339e348L,0xd69b7693eb0d80e6L,0x7b00b43b5b9d220bL, |
14971 | | 0xde0dfc80497bbcf9L }, |
14972 | | { 0xcfe2e3f30c2e851fL,0xef7793d17e91d378L,0x9e43eeac9d266a5bL, |
14973 | | 0x9c81d68b1766c5c1L } }, |
14974 | | /* 56 << 224 */ |
14975 | | { { 0x121db320f6a4d560L,0xcd0a4f03073582a7L,0xbf469f9a6e841041L, |
14976 | | 0x4314f0f65eb2d753L }, |
14977 | | { 0x090210018c498414L,0xf63d00ee859275b7L,0x228fa809f1c0385aL, |
14978 | | 0x44259d51694c3318L } }, |
14979 | | /* 57 << 224 */ |
14980 | | { { 0xb0a5d5fea2ad4eacL,0xbb950010abdedf11L,0x081024ce6264c601L, |
14981 | | 0x6cc7faf2aefb4115L }, |
14982 | | { 0x905112898692a7a4L,0x2bef413560596012L,0xfec5209a0f0becb6L, |
14983 | | 0xad0907a6d1ceb42eL } }, |
14984 | | /* 58 << 224 */ |
14985 | | { { 0x6cde3f21f517372cL,0x9acd4f0926131459L,0xf3629a43491f59d7L, |
14986 | | 0xe944561a41a037ddL }, |
14987 | | { 0x07beeabe826d1b5cL,0x0728a9073a1476cdL,0xa91f41a07d4a1abfL, |
14988 | | 0xdf58ed06a7a119c4L } }, |
14989 | | /* 59 << 224 */ |
14990 | | { { 0x19990669ba701704L,0x8aa3f76b47b67175L,0x8bccff3edd0a6e9aL, |
14991 | | 0x4173fcda24f49029L }, |
14992 | | { 0x2a68891161c18233L,0xdf54b23978b9fa8fL,0x714cf62737596f40L, |
14993 | | 0x2c73ddba24e6a879L } }, |
14994 | | /* 60 << 224 */ |
14995 | | { { 0x1538fd36f2547f19L,0xd85c47300e7e84eeL,0x00799e9f306f5fc0L, |
14996 | | 0xfccc6a3749ce114cL }, |
14997 | | { 0xf9cff5e83fe08120L,0xdf876a1fc2be9f27L,0xe817c72e6939fdb9L, |
14998 | | 0x244a1800d34d0e43L } }, |
14999 | | /* 61 << 224 */ |
15000 | | { { 0x41e83eef78fa7f11L,0xecaa250cba6367e5L,0x9c4203478def6ae6L, |
15001 | | 0x99efb3b1250b9e58L }, |
15002 | | { 0xdaf311ee79b2298cL,0xb49200cf69b6dff3L,0x5c7f17bb559e51f5L, |
15003 | | 0x117d0cbe424be7e9L } }, |
15004 | | /* 62 << 224 */ |
15005 | | { { 0x290a35c436e3af54L,0xd2326cd8e3a643b1L,0xc208b2b33580f9eeL, |
15006 | | 0x2419c6614464a9e0L }, |
15007 | | { 0x87123d3abccb2759L,0x5d36fcf31a77d469L,0x5aafd58a49b07e5aL, |
15008 | | 0xf534595b6b71e237L } }, |
15009 | | /* 63 << 224 */ |
15010 | | { { 0x0f0d31616705039fL,0x7282b08cca701676L,0xb05e8c3e13796941L, |
15011 | | 0x5250012efca06e08L }, |
15012 | | { 0x7eb2341a980c5ea3L,0x92f5aeb1a41defb2L,0x203244e00e62453fL, |
15013 | | 0x7434121896181756L } }, |
15014 | | /* 64 << 224 */ |
15015 | | { { 0x3b0cd36fe12a94abL,0xf364b3b9b5ad7c48L,0x96a7a2a78e768469L, |
15016 | | 0xccc31c7e1bbc7cc5L }, |
15017 | | { 0xe70ad5d0080dbb92L,0xfb201e9256fb0f1fL,0xdfce7a1e29d99f57L, |
15018 | | 0xc12a02b006457da5L } }, |
15019 | | /* 0 << 231 */ |
15020 | | { { 0x00, 0x00, 0x00, 0x00 }, |
15021 | | { 0x00, 0x00, 0x00, 0x00 } }, |
15022 | | /* 1 << 231 */ |
15023 | | { { 0xdea72ba62a80f39cL,0xcb2174b168cbe088L,0x9c73ec69d6bd1cc1L, |
15024 | | 0x6a2dbe20f20dcce6L }, |
15025 | | { 0x20a5150beeaae9daL,0xc935e85d9df630daL,0x2147144fa1634cd8L, |
15026 | | 0x5eccb56c44f3af02L } }, |
15027 | | /* 2 << 231 */ |
15028 | | { { 0xf77a79cfc0e2b70aL,0x2569c8bcee8cbae7L,0x392a5dbefadb18fcL, |
15029 | | 0x59bc96b43ce6a0ffL }, |
15030 | | { 0x287f04f48b551005L,0x7efe3aa5a44b2bd8L,0x0e9cb8ed6ac447d7L, |
15031 | | 0x9b4eb10a7783bdd0L } }, |
15032 | | /* 3 << 231 */ |
15033 | | { { 0x793c4880b981d96fL,0xf719d828d56fb2a6L,0x9fcc236f8149057eL, |
15034 | | 0x318c63ecb4d65c2bL }, |
15035 | | { 0x5269c1d75f95c5deL,0x33b3745fd0efd6bcL,0xace344d54ae87c64L, |
15036 | | 0x238809d6dd30ba2cL } }, |
15037 | | /* 4 << 231 */ |
15038 | | { { 0x3cc32acc71192348L,0x545401bf3f17ef60L,0xe209a493cde25b0eL, |
15039 | | 0x5c11886b663abab9L }, |
15040 | | { 0xe61a81b128ec7c90L,0x18b125a675b57f5cL,0x86d1b45afad91696L, |
15041 | | 0xb31a786da4c3f7ffL } }, |
15042 | | /* 5 << 231 */ |
15043 | | { { 0x2fd4cd72f45831d8L,0x85978fa68be40d9fL,0x38106329a9301111L, |
15044 | | 0x1527e4629e5979eeL }, |
15045 | | { 0x97f71c7e76c5fc8aL,0x205fa473f1f33056L,0x7bb9d24ea6546a05L, |
15046 | | 0x0e282a5cf84c4d35L } }, |
15047 | | /* 6 << 231 */ |
15048 | | { { 0x59d2189659471f1fL,0x2e613decf6303573L,0xa799579478bf5a4bL, |
15049 | | 0x20adf6b5bf19fbe5L }, |
15050 | | { 0x3a48c95f1574d34dL,0x95488f0909323cebL,0x450aee7f552df9cfL, |
15051 | | 0xdf016f7a53557500L } }, |
15052 | | /* 7 << 231 */ |
15053 | | { { 0xf2acedc62da8a2a6L,0x03fc8cf82f4a0632L,0xe7ff136b5b82f03aL, |
15054 | | 0xd5841c4d9e88c421L }, |
15055 | | { 0x75a4d66f7eef63f0L,0x92091ade2865c14bL,0x7060474c64fe7ba3L, |
15056 | | 0x4056724cfe30cb3eL } }, |
15057 | | /* 8 << 231 */ |
15058 | | { { 0x38cf4c6f8d9fceb6L,0x11e85f78ab528f38L,0xe2896d2552303b2bL, |
15059 | | 0xf929675aed68c605L }, |
15060 | | { 0xfbd2237410c708a9L,0x4682ca1740d7e5a7L,0x4242b5c59041047fL, |
15061 | | 0xaf5710530f9c6840L } }, |
15062 | | /* 9 << 231 */ |
15063 | | { { 0x713b2bbba56af433L,0x45aaf2ce5e82f947L,0x9882571a106283c7L, |
15064 | | 0x37de12ca9b9c3c3cL }, |
15065 | | { 0xcb463af2bef10529L,0xe18d763dd771236cL,0xb47a69ca62935de3L, |
15066 | | 0x4798e91f9a41e09aL } }, |
15067 | | /* 10 << 231 */ |
15068 | | { { 0x896966978e93edd5L,0x35cdb8e1b7ea4f45L,0x36f8305dfed33d87L, |
15069 | | 0x57623440625642d6L }, |
15070 | | { 0xdfd9b580945dd7d6L,0x965ffcb5731739bcL,0x34588e1f637bf127L, |
15071 | | 0x936c0ba0539d21c7L } }, |
15072 | | /* 11 << 231 */ |
15073 | | { { 0x7083209971640eedL,0x916b19523ff407e3L,0x4cd5888188440bc0L, |
15074 | | 0xd9fcb83dc280e977L }, |
15075 | | { 0x0d3df9dbdf6cda83L,0xc629414e3d55047eL,0xe05738a8c16b84c9L, |
15076 | | 0xf4bdc724e8783570L } }, |
15077 | | /* 12 << 231 */ |
15078 | | { { 0x7d876a599a93a5c9L,0x026be75ca8d12f61L,0xe49900ede9b2aa43L, |
15079 | | 0x44d6dc80b3a68dadL }, |
15080 | | { 0xf96b116b7d23e11bL,0x12791212b6814209L,0x3e2807cf6cc65956L, |
15081 | | 0xcc606ca7f405ffaeL } }, |
15082 | | /* 13 << 231 */ |
15083 | | { { 0x5484b2c55df47226L,0xfbaf90428802da81L,0x84146315087adadcL, |
15084 | | 0x6adbcbc158d593b3L }, |
15085 | | { 0xc1fb389668b97533L,0xa6919aac954cc1b7L,0xf301b2e427a4ddd0L, |
15086 | | 0xa15c16ebdf1a07b1L } }, |
15087 | | /* 14 << 231 */ |
15088 | | { { 0xb36c017dc145a6c7L,0xcca64382968798daL,0xd13b63768d0eff5dL, |
15089 | | 0x06e39e2d2206e681L }, |
15090 | | { 0x1d9dffa43add517aL,0xe670e6c810d95fefL,0x0ecb51abf1c7c7a8L, |
15091 | | 0xf17dff5174945305L } }, |
15092 | | /* 15 << 231 */ |
15093 | | { { 0xf71b09b1b00d9c0fL,0xc719cf629c72c80aL,0x310c5aebe00a49a1L, |
15094 | | 0xd01285e51b33c5e6L }, |
15095 | | { 0x7b23e7c705aa6eb7L,0xf84188b16bc88677L,0x7e034cb564be321aL, |
15096 | | 0x270df734e884323fL } }, |
15097 | | /* 16 << 231 */ |
15098 | | { { 0x218e68f9e5137d20L,0x79588cba0f7e70adL,0xb6d37f5258b86b0aL, |
15099 | | 0xcb281c987cc591feL }, |
15100 | | { 0x30e03fed8fe40e06L,0x394ded95ed9ca793L,0xf1d22cddbcd3a3daL, |
15101 | | 0xcb88cb270c591130L } }, |
15102 | | /* 17 << 231 */ |
15103 | | { { 0x67786ba38ff0cbf4L,0x85738a440565d337L,0x9d3b35ecaf9a667bL, |
15104 | | 0x45a175128f5f540aL }, |
15105 | | { 0xf1ae5171ade5a5baL,0x720e282339869be4L,0x6893f14a5352d84bL, |
15106 | | 0x919a4f15c784dc20L } }, |
15107 | | /* 18 << 231 */ |
15108 | | { { 0x36136612f7ae5a67L,0x11f43d1ceaff0924L,0xcfee088c39449b96L, |
15109 | | 0x3dc4835970c42ff6L }, |
15110 | | { 0x4072683abf208b67L,0x35a7c2bebe15d18fL,0xe61d2748e2c3391bL, |
15111 | | 0x0a4109b139921d95L } }, |
15112 | | /* 19 << 231 */ |
15113 | | { { 0xe2cd131b05545cfcL,0xa898da2c3ae20d7fL,0x501cd84950dc4c61L, |
15114 | | 0x10e287d43374e7f0L }, |
15115 | | { 0x90d6326f38aea879L,0xc48d9af7ef43fa08L,0xf8f4886a6c20f168L, |
15116 | | 0xc5d34a8623ccac4bL } }, |
15117 | | /* 20 << 231 */ |
15118 | | { { 0x72357752b3d7004eL,0x167db0ed817bd377L,0x5d45b3dadfb64d05L, |
15119 | | 0xed4b7fc4f0b414acL }, |
15120 | | { 0xc178941b0bf1dd64L,0x43feac178fe835a5L,0xe1c23a176a014609L, |
15121 | | 0x63255991d5e23bd5L } }, |
15122 | | /* 21 << 231 */ |
15123 | | { { 0xefc76468d7dfec55L,0xb1bc3feec0831696L,0x0996811b5f52433bL, |
15124 | | 0x6b8b6daa799649fcL }, |
15125 | | { 0x6e9f7cb6ab518b64L,0x6a67a00938a3a2abL,0xe55de954928209e2L, |
15126 | | 0x98b6d0a73da81142L } }, |
15127 | | /* 22 << 231 */ |
15128 | | { { 0xdec30331e3f832e8L,0xa9b77f3be50fa9e3L,0x20febc215167c6a6L, |
15129 | | 0x0ce07d1a76fb0f13L }, |
15130 | | { 0x9745deade796f8a3L,0x2cb4eb1fd95deba6L,0x062e7cac4caf2afeL, |
15131 | | 0xf50ce06516ace879L } }, |
15132 | | /* 23 << 231 */ |
15133 | | { { 0xdec8954b1d99d3e7L,0x5287e954a48262c7L,0x1c6fbd17cc3530deL, |
15134 | | 0x6bcbea5053af4211L }, |
15135 | | { 0xe3533bca4dce058dL,0x6fe62e64fc9cdf00L,0xee29fdece8ec4cf9L, |
15136 | | 0x7361797dc8d52f80L } }, |
15137 | | /* 24 << 231 */ |
15138 | | { { 0xb1d858daf4e36023L,0x4a1282ce73e6dee1L,0x6ba8f8bace1d71ccL, |
15139 | | 0xf5b7d6b4cbbd8eb9L }, |
15140 | | { 0x60f8bd505aed382bL,0x47b405193f3a46b1L,0xaed13bb98a997d93L, |
15141 | | 0x6cc2260e4dc6e35dL } }, |
15142 | | /* 25 << 231 */ |
15143 | | { { 0x173bfcddccf915d9L,0xad4525e1c2d46f6eL,0xb7ecec0bcdd2382bL, |
15144 | | 0x01ae8291d2b76c84L }, |
15145 | | { 0x2d1e2a91bec6b980L,0x1b0040be7008a00cL,0x6ac708d77d555120L, |
15146 | | 0xa60175680d745eefL } }, |
15147 | | /* 26 << 231 */ |
15148 | | { { 0x735e35111ed38ef4L,0x7c97f284cebe5a8cL,0xd405931324fecbacL, |
15149 | | 0xf874ca4bde18c42cL }, |
15150 | | { 0x9ab736a8dbb829b6L,0xe914bdde82ff128dL,0x6e949babfd0f362bL, |
15151 | | 0x275824cfffea2e79L } }, |
15152 | | /* 27 << 231 */ |
15153 | | { { 0x81f572458cc52417L,0xed0a90792f274090L,0x98c3372efdd0ba2fL, |
15154 | | 0x49820f413ae99478L }, |
15155 | | { 0x1c47e09fce373d3eL,0x875d79206dd12846L,0x7a9e797315d5bbb1L, |
15156 | | 0x485126566d227962L } }, |
15157 | | /* 28 << 231 */ |
15158 | | { { 0x2c167c88199241e3L,0x98c1df6a7209ca37L,0x09a1583fde89e412L, |
15159 | | 0xc19ed5b9c792de48L }, |
15160 | | { 0xb8dd1b1d74dc0834L,0x9d458529a04456e9L,0x66ef5463ad0ad39dL, |
15161 | | 0x8d7df4a1e641edc5L } }, |
15162 | | /* 29 << 231 */ |
15163 | | { { 0x97815de26bd322e4L,0x0bf6fc83c1f77fb3L,0x493781678b4f7152L, |
15164 | | 0xfdd476efbf0a1712L }, |
15165 | | { 0xe87e1977f2f9883aL,0xdbb2fcbf9ad2d034L,0x5afdd16164e1a4c6L, |
15166 | | 0x0e43f9113e435191L } }, |
15167 | | /* 30 << 231 */ |
15168 | | { { 0xde2d1ee642253804L,0x6def6cebdaf13e57L,0xae09fd4f05423babL, |
15169 | | 0x6f6c17b8ad46e409L }, |
15170 | | { 0x966fa09d6c345cd3L,0x6c8aa1e947abc35dL,0x02991686e015a566L, |
15171 | | 0x39b3aeeecd2f925dL } }, |
15172 | | /* 31 << 231 */ |
15173 | | { { 0xf9cda92a9119c117L,0x7b21ce82f4f833e1L,0x87517bf5e4f99193L, |
15174 | | 0x1b7ddec94eb412f9L }, |
15175 | | { 0x7a30dd576b077498L,0xe060625f0ec44230L,0x0f355dc4b0e5446bL, |
15176 | | 0xdf324d65bbd2df28L } }, |
15177 | | /* 32 << 231 */ |
15178 | | { { 0x28c7eb34649966a5L,0x97587f4f26639e19L,0x0724cc000bce0f38L, |
15179 | | 0x63578add4ae6280aL }, |
15180 | | { 0xf1beaa57c7fd6a1aL,0x83b1a5337b017e35L,0x01c027e3efdf2ed1L, |
15181 | | 0xf373d4ead2d31852L } }, |
15182 | | /* 33 << 231 */ |
15183 | | { { 0xe568acb665b8f5d7L,0xea8ce1b81240a545L,0xb95b0db2555fac44L, |
15184 | | 0x01d18170768333dcL }, |
15185 | | { 0xf938b55eab1798adL,0x73a0d9dd999a7e5bL,0xd2359bb557fd9b51L, |
15186 | | 0x20f1d4fd77fb4e5eL } }, |
15187 | | /* 34 << 231 */ |
15188 | | { { 0xf5efd71f932dc388L,0x40f8681921a37385L,0x05395fb2ff935ef3L, |
15189 | | 0xc2ee43ac1b615e8eL }, |
15190 | | { 0xa3bb6518e82d509aL,0x3a87d5a230b93347L,0xac0a5ad05b130bccL, |
15191 | | 0x91fe8fdd9154d73aL } }, |
15192 | | /* 35 << 231 */ |
15193 | | { { 0x677d7d48deb203a2L,0x4d4108fe8b0168e1L,0x16be4ad1ddc3d24cL, |
15194 | | 0x9b0ea3879865df69L }, |
15195 | | { 0x16daf9324c50ec70L,0xa4799bda478c96a3L,0x4ef24d3f7114d3bbL, |
15196 | | 0x30a3150946e6bbdcL } }, |
15197 | | /* 36 << 231 */ |
15198 | | { { 0x6013718797f3cb4bL,0xf2b66d8f0a29d865L,0x93a4a37a60064a5cL, |
15199 | | 0x7dee9bede8c3cf47L }, |
15200 | | { 0x748833ce0b7ee8b8L,0xc07f2f6d56f89483L,0xd71a40d8d24b406fL, |
15201 | | 0xbe3b2e8febbb7655L } }, |
15202 | | /* 37 << 231 */ |
15203 | | { { 0xa23c2b054a536998L,0xdcaf45b3a9be2e14L,0x515ad15ffe346ad1L, |
15204 | | 0xb9c06a18b7847640L }, |
15205 | | { 0x8552eb06f35bff4aL,0x4fb792e72b7a29f5L,0x1cce2af5a41a38b4L, |
15206 | | 0xde68bd0d02b42414L } }, |
15207 | | /* 38 << 231 */ |
15208 | | { { 0x8124d6e27cd66728L,0x5906d1b455efbaddL,0x7e17855a827f2741L, |
15209 | | 0xab525dfb12c6966cL }, |
15210 | | { 0x065ae99a758e0cd3L,0x0dcb8f5d517318a9L,0x4875664542441f5eL, |
15211 | | 0x03859154d79d535eL } }, |
15212 | | /* 39 << 231 */ |
15213 | | { { 0x99bb28cd8217e4bfL,0xd6aed2e58291e54dL,0x8f9067e31c92a65eL, |
15214 | | 0x120890ea1540b9b5L }, |
15215 | | { 0x227d7c86ec60a215L,0xb6609e85556d8c65L,0xa6a26c3747f8c8a3L, |
15216 | | 0x4c850fe3f1204bdcL } }, |
15217 | | /* 40 << 231 */ |
15218 | | { { 0x25f7e61a42db4eb8L,0xfdf055753d62869dL,0x8b36a74452b31c23L, |
15219 | | 0x83b83c891a5e8d4cL }, |
15220 | | { 0x72d38dd35d9208bfL,0xbeb8873b8cf7b6f4L,0xa3ec5c36cf90bcb6L, |
15221 | | 0x35adda6f9a6d5fe7L } }, |
15222 | | /* 41 << 231 */ |
15223 | | { { 0x7312423df61c68d9L,0xb1c4e10f20bcaf77L,0x4df2850df168ee57L, |
15224 | | 0xed07a4de180985e1L }, |
15225 | | { 0xcb353d6b2fba1f23L,0x00ea9094778cc15eL,0x4967faaa20857170L, |
15226 | | 0x9ff70dbed7153bc4L } }, |
15227 | | /* 42 << 231 */ |
15228 | | { { 0x49eb799459f62fc6L,0x5f459faf3c91862dL,0x1c10f62146d8f2e0L, |
15229 | | 0x7e669c9a252954e7L }, |
15230 | | { 0x4ccf659aa83f6c57L,0xdc2b77ebec0a0a03L,0xcf09ad072cc6b8a2L, |
15231 | | 0x231960fca97aa2d0L } }, |
15232 | | /* 43 << 231 */ |
15233 | | { { 0xc0609130de227de8L,0x40d2691cf1d7ddf1L,0x60349cf4f9a73890L, |
15234 | | 0x3f50005df9968132L }, |
15235 | | { 0xb4be853ef16f44b9L,0x48bf4804799caac5L,0xe6a648763c562849L, |
15236 | | 0x2f4d487f854f283fL } }, |
15237 | | /* 44 << 231 */ |
15238 | | { { 0x64b77e39159484c4L,0xd419d4bd523e1529L,0x1bf9510c143dcf7dL, |
15239 | | 0xa85bea71ed5cb4e1L }, |
15240 | | { 0x73a4cfd2ec715818L,0x88b11d0e67f475f5L,0xbfe170d84d12361cL, |
15241 | | 0x9fc48e6400a0f979L } }, |
15242 | | /* 45 << 231 */ |
15243 | | { { 0x6a8bb2dd65682105L,0xc1362a9c00bd952aL,0xef5b3d89a6013753L, |
15244 | | 0xc87bbacb8fdfa22aL }, |
15245 | | { 0x74fbdfc031bb19e4L,0x7d05802932bfe260L,0x54a4cce4e53da990L, |
15246 | | 0x01acdff6822da672L } }, |
15247 | | /* 46 << 231 */ |
15248 | | { { 0xd2a2d48495597766L,0x5960ac1fd43dc7fdL,0xcf095b6f8d6db685L, |
15249 | | 0x87232088a85618f3L }, |
15250 | | { 0x91497a4834753c7cL,0xf682e372d6353024L,0x7889ceda0c9b271cL, |
15251 | | 0x7126504e18340951L } }, |
15252 | | /* 47 << 231 */ |
15253 | | { { 0xf786b821967c8a60L,0xfce01b37c17f3d99L,0xe23c00a11f2a8575L, |
15254 | | 0x7f56aa1bab6ff8a0L }, |
15255 | | { 0xdb73869dd193dfcbL,0xbec02c94d644733eL,0x283117bcf7b43261L, |
15256 | | 0x920acf5db4108e39L } }, |
15257 | | /* 48 << 231 */ |
15258 | | { { 0x33f1ef5ee49aebb8L,0x9ead51e40fcea2c1L,0x1f800a68f8503f28L, |
15259 | | 0x7881853134a75f67L }, |
15260 | | { 0x1aeb3760b70ffb27L,0x1cca590acb6309e9L,0x8d09f3607170d241L, |
15261 | | 0xbc970b5ba0e0d0f8L } }, |
15262 | | /* 49 << 231 */ |
15263 | | { { 0x2ec93eea31d038a3L,0x3482a0d75153f8a2L,0xedcbe9146641b5d8L, |
15264 | | 0xc086e61be516e387L }, |
15265 | | { 0x038142669b875513L,0x6d37fee337340a4fL,0xcf78515ee5d17ab7L, |
15266 | | 0x0c7cd8304119a759L } }, |
15267 | | /* 50 << 231 */ |
15268 | | { { 0xbd49062b54924618L,0x34c44f4541e7e7a3L,0x0039f3d2706bd0afL, |
15269 | | 0x146cadc60be9a628L }, |
15270 | | { 0x6d5d502057d48746L,0x0ea43f7b82caf4b0L,0x11a089278a064d34L, |
15271 | | 0x30c0ef4095638fa2L } }, |
15272 | | /* 51 << 231 */ |
15273 | | { { 0x4b950c04602a871bL,0xf50cb1ef6a731537L,0xb87a1cd3cbe5e4efL, |
15274 | | 0xb1fc48943dd1c601L }, |
15275 | | { 0xdf402711a516617aL,0x5bdd1d67aaf63c65L,0x020d10626e559bd9L, |
15276 | | 0x4dec26d081ec09fcL } }, |
15277 | | /* 52 << 231 */ |
15278 | | { { 0x7b91fafdeeeeb2bcL,0x56290f9833aaf2c4L,0x57abbd2779c7bf9eL, |
15279 | | 0x568bdee62b1e1ecfL }, |
15280 | | { 0x58f8c80c470f1d01L,0xeecfe3981b9cb76bL,0xc0ffa4de311a0634L, |
15281 | | 0x425fcd130ae99877L } }, |
15282 | | /* 53 << 231 */ |
15283 | | { { 0x1964c681f7bd0748L,0xebcca16f9d920471L,0xa72b40cbab4aa03eL, |
15284 | | 0x4397d6afa05624fcL }, |
15285 | | { 0x372d522ca94fca0aL,0xe1010d603035b9fcL,0x9f1f00cc4f788d44L, |
15286 | | 0xfd00ec756a88b672L } }, |
15287 | | /* 54 << 231 */ |
15288 | | { { 0x537067022983aef7L,0xa5f67b0b9b458edbL,0x10789b907db93ca8L, |
15289 | | 0x885346f0fd27cd55L }, |
15290 | | { 0x3af5b0c82ebb5f15L,0x282e4c4a2a36b2a7L,0x2f9d5d8ba6d88bd4L, |
15291 | | 0x6f016bda9856b7aaL } }, |
15292 | | /* 55 << 231 */ |
15293 | | { { 0x990ae53ea8198c1dL,0x295beceba07e7ac5L,0x576f790f48c2d246L, |
15294 | | 0xe99ab2aee3ea9864L }, |
15295 | | { 0xcf4959f243e2d400L,0xdd1d8fad7a39dfeaL,0xdd6ff9c2fcd7fda0L, |
15296 | | 0x61c25b3eb6ace55eL } }, |
15297 | | /* 56 << 231 */ |
15298 | | { { 0xf94742afb4dcddadL,0xc49cfa2144601959L,0x07b3f1d130c18470L, |
15299 | | 0x2736cb996e6afc82L }, |
15300 | | { 0x401fb234e24a8785L,0x9af8ba40074f51eaL,0xe1acc646a9faed0cL, |
15301 | | 0xd5a5f789c9667008L } }, |
15302 | | /* 57 << 231 */ |
15303 | | { { 0xc643651468c3ab8fL,0x6fa0d734fe8d6b46L,0xe5fccbfcaf7f49c7L, |
15304 | | 0x42c88c53bebcc58cL }, |
15305 | | { 0x7d2e2fede2a0f7f2L,0x694eb76c36a18b26L,0xf0e6ae436b0f657bL, |
15306 | | 0x8a0f625548f1ece7L } }, |
15307 | | /* 58 << 231 */ |
15308 | | { { 0xd594c1688674bfeeL,0xe59ad38dac7d5ebdL,0x080a6b9721645a1eL, |
15309 | | 0xb900f0e1f221b37bL }, |
15310 | | { 0x562dabce04cab97dL,0x5c3087416f472462L,0xa5d87e23c7c4cba8L, |
15311 | | 0x5237fe169b061062L } }, |
15312 | | /* 59 << 231 */ |
15313 | | { { 0xeddfbeb4222021c1L,0xa4fe57d04e7a2a8eL,0x0fbf6bdb2de56c47L, |
15314 | | 0x819588e76fcebc6cL }, |
15315 | | { 0x14196961df041e3aL,0x76a3143740cd4f23L,0x44acd14d8e1a877dL, |
15316 | | 0x227a35c637d7b7deL } }, |
15317 | | /* 60 << 231 */ |
15318 | | { { 0xe1934f1d842a9534L,0x7a2ed2c153ed73e2L,0xcffedd583903924bL, |
15319 | | 0x7c9dbf55b306431dL }, |
15320 | | { 0x61a72f1056e06ab5L,0xb46cf5cc616bc5cbL,0xecf07e10f7c22216L, |
15321 | | 0xa4bddad9d9364b3aL } }, |
15322 | | /* 61 << 231 */ |
15323 | | { { 0x548b95b2da8b1c93L,0xc09a9598a1e1c0cbL,0xedd80ef121d80851L, |
15324 | | 0x4684c439c283f047L }, |
15325 | | { 0x07ca41f387333da3L,0x173ec4deca79a8f4L,0x89ce06f2b4aec6ebL, |
15326 | | 0xfe6b0e9215aaf7f0L } }, |
15327 | | /* 62 << 231 */ |
15328 | | { { 0xdab8876d7c1b9ed3L,0x88aba90fa2606f83L,0xcd21a408bebaf9f6L, |
15329 | | 0x09da66960042a162L }, |
15330 | | { 0x4a9b8b212d66ccf6L,0x34c7490444d5a648L,0xf3fe98e93b0e9564L, |
15331 | | 0xe4a8a352221aa4a5L } }, |
15332 | | /* 63 << 231 */ |
15333 | | { { 0x6278b4b526c2b53eL,0x4ddf26ce1b1708eaL,0x704207af6eb0d845L, |
15334 | | 0x60533de30f5862efL }, |
15335 | | { 0x2b5945dde54393c0L,0x55941df2145ea298L,0xe2b500b6c240f654L, |
15336 | | 0x5a49d8f1cf9f6934L } }, |
15337 | | /* 64 << 231 */ |
15338 | | { { 0xfe8d546827502203L,0x985039d458ade316L,0xefd373f10a687415L, |
15339 | | 0xefccb79143526774L }, |
15340 | | { 0xeef8d46e0f4497d9L,0x4152df711601ab9aL,0x4250cd2fe47b2ad1L, |
15341 | | 0xa2b63fa5fb048180L } }, |
15342 | | /* 0 << 238 */ |
15343 | | { { 0x00, 0x00, 0x00, 0x00 }, |
15344 | | { 0x00, 0x00, 0x00, 0x00 } }, |
15345 | | /* 1 << 238 */ |
15346 | | { { 0xd8a6cb6f787d1f1cL,0x427bac943d219a66L,0x51d7d49f383146b0L, |
15347 | | 0x8164b77f7863d781L }, |
15348 | | { 0x1646b0842f9631b8L,0xef5b3aa8849388dfL,0x60536422e58cd383L, |
15349 | | 0xb079d911f43ea3a0L } }, |
15350 | | /* 2 << 238 */ |
15351 | | { { 0x504ac041cb73887eL,0xf878b618c3ce3a33L,0x57ef73d556393e75L, |
15352 | | 0xe4372d2ed276c08cL }, |
15353 | | { 0xfd9bc8940924cf58L,0xfa2a4debaaa317e2L,0xe51edccc79608da5L, |
15354 | | 0xadcc68fa8cd4b960L } }, |
15355 | | /* 3 << 238 */ |
15356 | | { { 0xaa66c201f8e156c7L,0x7c7cf22e1ab2e3feL,0xe479c3930a677d85L, |
15357 | | 0xc0cd340fb87c412bL }, |
15358 | | { 0x2b2bcef4f95ff321L,0x65da11c9b8409952L,0x143a2218eb67eb9cL, |
15359 | | 0x8919ff25e53508e4L } }, |
15360 | | /* 4 << 238 */ |
15361 | | { { 0x6f154f09a9e0eeaeL,0x2246e6feab05a657L,0x4d7c1c811045b85dL, |
15362 | | 0xde99ea37d3bb7432L }, |
15363 | | { 0x058f818763184ff4L,0x2a223421d134bfc3L,0x1560dbed23120320L, |
15364 | | 0x37243c9576a3de9cL } }, |
15365 | | /* 5 << 238 */ |
15366 | | { { 0xb8f3851ad36a81b1L,0xfbc62bfcbdad7ad9L,0xf68215c7561e0f8cL, |
15367 | | 0x894131d11bcf765bL }, |
15368 | | { 0x8da01f9e45c5d736L,0x025de05c7484e0c1L,0x62f4c66c6858b504L, |
15369 | | 0x754b85d6d6dc5f93L } }, |
15370 | | /* 6 << 238 */ |
15371 | | { { 0x5b37cecc822a3de0L,0x422e49b1a98a37c2L,0x3ef53d89be41e927L, |
15372 | | 0x0994dd11f4d5bffaL }, |
15373 | | { 0xa62ea556f7eacca3L,0x37b4e2307c746025L,0xb4291e37a8e14253L, |
15374 | | 0x2bfc9eaa2a2b666cL } }, |
15375 | | /* 7 << 238 */ |
15376 | | { { 0xf604604ac26e5588L,0xf75816ffa7ec3971L,0x859e9ec726a30a6dL, |
15377 | | 0x2ce57b66a1a5b815L }, |
15378 | | { 0xc7aa4df4d65e8ec2L,0xbab6b3bba5d82edeL,0x7a11b25d7b088314L, |
15379 | | 0x501a3891c2c636acL } }, |
15380 | | /* 8 << 238 */ |
15381 | | { { 0x9f116c8fe256b02bL,0x71495693fa5946e0L,0xeb9696ffc335452aL, |
15382 | | 0x01ca59294971162eL }, |
15383 | | { 0xee0a1f50c0f28e72L,0x2baac62c70d8df1aL,0xcf65d297f49110f8L, |
15384 | | 0x041dbb019a45e16aL } }, |
15385 | | /* 9 << 238 */ |
15386 | | { { 0x8db694265e1410c0L,0xb21f3c6aa70d0268L,0x64a3c30ebac0ddacL, |
15387 | | 0xdcebdedc66a2d33aL }, |
15388 | | { 0xc5dcd769a519de21L,0xa692b6a019322c69L,0x454add5b154fca13L, |
15389 | | 0xd2281cf04935eba2L } }, |
15390 | | /* 10 << 238 */ |
15391 | | { { 0xb5f44fe7f2602323L,0x772fb6a65d68a3dbL,0xf519c5d476eec37aL, |
15392 | | 0xbc8e9a15ada6c3f4L }, |
15393 | | { 0x9cd2a2f2f18effeeL,0x9601c1421808ab42L,0x05d110f70480ad18L, |
15394 | | 0x5f7e0721ef6a7f33L } }, |
15395 | | /* 11 << 238 */ |
15396 | | { { 0x1afbeaece6409e21L,0xf6714651317f7967L,0x34cd21ff80124751L, |
15397 | | 0xf85c70ec931d9639L }, |
15398 | | { 0x4e26bef61ca19094L,0xc513f66b0b841b9aL,0xe25507bdb9b41001L, |
15399 | | 0xd77fee9494f49f7cL } }, |
15400 | | /* 12 << 238 */ |
15401 | | { { 0x20b19223d39e1ee4L,0xc8832a2c4e3e6c2cL,0x64a8f43da3a45c34L, |
15402 | | 0x52a05eef21fb291bL }, |
15403 | | { 0x10d3e24ae4b68e38L,0x5289120aee2d8a40L,0x33836b98425b7da8L, |
15404 | | 0x5bd418f3b00c64e1L } }, |
15405 | | /* 13 << 238 */ |
15406 | | { { 0x10e92e5ad511c3f8L,0x17f1301d18b62b7dL,0xf710b02d97f0fcaeL, |
15407 | | 0x8b1030f6bd394477L }, |
15408 | | { 0x49040009e5aab897L,0xfdb23ac1ce75b4d3L,0x7a43d904f2b70e1bL, |
15409 | | 0xdc09e995f94fa56fL } }, |
15410 | | /* 14 << 238 */ |
15411 | | { { 0x9f314e85d075dd65L,0xc0d39ce0b9e26b8dL,0xd3f6778efdc3b678L, |
15412 | | 0xce6573e9fc8497dfL }, |
15413 | | { 0x1f4535f867abaf7aL,0x80706daba47dd948L,0x670ae5bcc059242bL, |
15414 | | 0x3a29bc73cf5f9308L } }, |
15415 | | /* 15 << 238 */ |
15416 | | { { 0xd2f8e2978af2bf74L,0x98dbb4436c48bbecL,0x211a3a96eb448447L, |
15417 | | 0x88ffb2405af4a2c0L }, |
15418 | | { 0x1959dd349cdf9e20L,0xa4d0d839f34627e0L,0xa5cecad3f00057ccL, |
15419 | | 0x22f32ccec5d97b18L } }, |
15420 | | /* 16 << 238 */ |
15421 | | { { 0x31a02241cedc2c97L,0xf0f5489b2b632641L,0xb09091ddcbfb588fL, |
15422 | | 0x5ffd0f385d9478e7L }, |
15423 | | { 0x13f141a1dae35edaL,0xd25563a662f0b26cL,0x80014b171b9dde18L, |
15424 | | 0x9fcf8f817da49b36L } }, |
15425 | | /* 17 << 238 */ |
15426 | | { { 0x68aac84a93519f31L,0xe14c35c1c0b3660aL,0x29f447dd08195bc5L, |
15427 | | 0xc61fbbe610bba62fL }, |
15428 | | { 0xc471624c4ed8621aL,0x8005f67f0950a4c6L,0xdfc3b3e593a2a33eL, |
15429 | | 0x9c3c815e3c1d0e42L } }, |
15430 | | /* 18 << 238 */ |
15431 | | { { 0x1ed1aedb93904766L,0xcd5e0cf6376fd0bcL,0xdd4c337890d03033L, |
15432 | | 0xde39db01d85dca30L }, |
15433 | | { 0x49d01dc2e6fab58bL,0xd16d79406d449f51L,0x3fb6cf8ed20a95e6L, |
15434 | | 0x0b10a596bbeeccb1L } }, |
15435 | | /* 19 << 238 */ |
15436 | | { { 0x06ceaa620005acd3L,0x09db6b2847555053L,0x45d84a857e7d18d7L, |
15437 | | 0x33c28b02229ad33eL }, |
15438 | | { 0x1e5a6b5272e4f34cL,0x81eefbe6b64fa831L,0x4983b84a2aa209aaL, |
15439 | | 0x2077719838d6a8d6L } }, |
15440 | | /* 20 << 238 */ |
15441 | | { { 0xbe99380540096f25L,0x900d4bddec820131L,0x2170cfd32a993f9cL, |
15442 | | 0xa0e3d8942dfe1007L }, |
15443 | | { 0x600d0b5a0e7df109L,0xc904985a47fde3ddL,0x15597a84cb89816aL, |
15444 | | 0x8ac8b027b9dfeb9eL } }, |
15445 | | /* 21 << 238 */ |
15446 | | { { 0x5c9211bc6450a179L,0xd448a70af6333f95L,0xe9c9a964824e1d7fL, |
15447 | | 0xc47d3f3c15750ae4L }, |
15448 | | { 0x959f776badcf9482L,0x00557ffee741ceb3L,0x8b69d3f6353d7898L, |
15449 | | 0x6b4d80d345cfa492L } }, |
15450 | | /* 22 << 238 */ |
15451 | | { { 0xc33ead7830c313daL,0x86f96c3a67eee139L,0x0c6675c708611b15L, |
15452 | | 0xf9ee695d60620c27L }, |
15453 | | { 0xb35d438cd70c9258L,0x1bc2b1e7a5e7a4b1L,0x38d257f8ef92f629L, |
15454 | | 0x090af73a79fd1eb0L } }, |
15455 | | /* 23 << 238 */ |
15456 | | { { 0x96ebd1f0f59342e5L,0xd48693624d053375L,0x7db504e25fab54aaL, |
15457 | | 0x17c0801e6e8e43fbL }, |
15458 | | { 0xd3904d62136b1941L,0x5932b75328a43bd1L,0x551d895eacb35572L, |
15459 | | 0x3f7a8a461a6fdfbeL } }, |
15460 | | /* 24 << 238 */ |
15461 | | { { 0x9e3ea4fdf7a2df83L,0x8b68b26b64524d44L,0x74caeeab126aee21L, |
15462 | | 0x590a00a5915d9e1cL }, |
15463 | | { 0x5ae2a6ab49b90effL,0x74b4cb1e2df4fe51L,0x0306ed1107fcb6edL, |
15464 | | 0x564ebe2e502f5b30L } }, |
15465 | | /* 25 << 238 */ |
15466 | | { { 0x5a09a32e0c89e9baL,0x967f9dfb84f2466dL,0x8b27416c26a1a8a0L, |
15467 | | 0x1c21ef95c3158a18L }, |
15468 | | { 0xa7ee1ad82be23ae9L,0x1f312d044daa1fcfL,0x6782f84344f9c7d7L, |
15469 | | 0xb12ea2bfe19e2681L } }, |
15470 | | /* 26 << 238 */ |
15471 | | { { 0xd2e43cbfd20578afL,0x5566460abb5819b4L,0x86f6c860b658c03cL, |
15472 | | 0xc8d9030962d42d82L }, |
15473 | | { 0x7975a5f3cb883cebL,0xf6f5cf0fdcded5a1L,0x25554fb1d3eb810bL, |
15474 | | 0x3df7536ba596c7c6L } }, |
15475 | | /* 27 << 238 */ |
15476 | | { { 0x255ca13683de31cdL,0x7ac532ee7795eb96L,0xfa9d83a9b12bc235L, |
15477 | | 0x7df5d2314b287a83L }, |
15478 | | { 0xb2eaaaf6b4f19fceL,0x7caabfb01a045f6aL,0x6d1b7f40b1449e6aL, |
15479 | | 0x24ae41da12d22c82L } }, |
15480 | | /* 28 << 238 */ |
15481 | | { { 0xb0f7a0c3c0a9d128L,0x2adc34d3aed0d3bdL,0x4ebf577813e778e6L, |
15482 | | 0xd3b89bd0bb8476baL }, |
15483 | | { 0xe09eb52837413953L,0x952b705cd8ba3471L,0xcaa81ade86a79c09L, |
15484 | | 0xc08eed3d7e0e7b2aL } }, |
15485 | | /* 29 << 238 */ |
15486 | | { { 0x313fb103c80b4196L,0x25449ece88c7ac81L,0xa6cb9ad324f16fa2L, |
15487 | | 0x4602c441728a0c4bL }, |
15488 | | { 0xc3366f885a000a9cL,0x146623e3ef8778bdL,0x184ba0b1f0773fdcL, |
15489 | | 0xe1d115efaecd8d63L } }, |
15490 | | /* 30 << 238 */ |
15491 | | { { 0x420d5473ae165e6cL,0xefe137cd108d8575L,0x15378c576fcff7d9L, |
15492 | | 0x49c48099c1f5b601L }, |
15493 | | { 0x1b0e3aeef68473f1L,0xa78329bbd320720dL,0x385e521bdca54cadL, |
15494 | | 0x478ce06f5c5b8d60L } }, |
15495 | | /* 31 << 238 */ |
15496 | | { { 0x215d7d33ca7c4d4bL,0x773f3ab3a095366cL,0x668e0d117afeeaa1L, |
15497 | | 0x410cd2054878d8a3L }, |
15498 | | { 0x2748fd98b2800646L,0xf118378673a1dbefL,0xecc31bd27567ed3aL, |
15499 | | 0x775210df0ceb3873L } }, |
15500 | | /* 32 << 238 */ |
15501 | | { { 0x2ea0c2bc9a8f42ffL,0x629742404a1c029aL,0x5ee5f5f69e4dd41bL, |
15502 | | 0x5b1bba802e110249L }, |
15503 | | { 0x5ac4eadb78da8016L,0xc29787801809f79fL,0x39d2dbcee3f8c0deL, |
15504 | | 0x7fb4b5fc064d3ba9L } }, |
15505 | | /* 33 << 238 */ |
15506 | | { { 0x038a736dcd481ab4L,0xc4b15c5c396888ebL,0x459a896dd421f36fL, |
15507 | | 0x6058b90f47f54663L }, |
15508 | | { 0x0a5f6771afefebe5L,0x45c97ab2a5b7c2caL,0x6d547af985139ca4L, |
15509 | | 0x6db218dea29d71cbL } }, |
15510 | | /* 34 << 238 */ |
15511 | | { { 0xca6e0e7bfb956184L,0x6682b6e31f660ac6L,0x3959e3968b21bcebL, |
15512 | | 0x0459fd46632cf9c8L }, |
15513 | | { 0xc741250c74f296bbL,0x29b9cacf990dbefaL,0x5065d818fc35bdf7L, |
15514 | | 0xeb8e9e1ba551dc04L } }, |
15515 | | /* 35 << 238 */ |
15516 | | { { 0x4f7d6f7d11befe9eL,0xa88f1fce7478fdeeL,0x39b1e053afa688e3L, |
15517 | | 0x562a0d6ee16847e0L }, |
15518 | | { 0xf6044e4b34c26d14L,0x5ebe87277df61b90L,0xa82a4de46b5e5a39L, |
15519 | | 0xc916b0bafb9d296cL } }, |
15520 | | /* 36 << 238 */ |
15521 | | { { 0x029f1cb22e1dc01eL,0x7699d92efc429483L,0xee0e425a154560f0L, |
15522 | | 0x3f5cdfe6787b6641L }, |
15523 | | { 0x726d87bbe5f6794eL,0x97d7358823aecad2L,0x47f4f5b909ca351cL, |
15524 | | 0xd742ef4b57dc5e3bL } }, |
15525 | | /* 37 << 238 */ |
15526 | | { { 0xccd2209d71411a86L,0x94d576632223e6ceL,0x228a740066c7950cL, |
15527 | | 0x2d00ef6e54dd4e37L }, |
15528 | | { 0x9ea5daf3d60f66beL,0x743c58a58aca724fL,0x1f63840644e38446L, |
15529 | | 0x06314bb092ef6bb0L } }, |
15530 | | /* 38 << 238 */ |
15531 | | { { 0xa7459e7fbb05589dL,0xc3a39592bfa913d7L,0x27dbabeedf07b190L, |
15532 | | 0x1c8a2f33d2ee62ffL }, |
15533 | | { 0x60c8bcb8e31e8d63L,0xea1604d1ce410061L,0x55e8cfee3d7f7a98L, |
15534 | | 0x49efc316ebc64102L } }, |
15535 | | /* 39 << 238 */ |
15536 | | { { 0x04c86d8e41934914L,0x26667c76ab7facd4L,0x319158dba71a8916L, |
15537 | | 0xb802942d114fff43L }, |
15538 | | { 0x5efdef7b8ce544f5L,0xf531c71870e870c1L,0x4b9a5f1b4d92071dL, |
15539 | | 0xbe767cf260cc48b6L } }, |
15540 | | /* 40 << 238 */ |
15541 | | { { 0xbf389d37717381eaL,0xefd9e98406bc5bcbL,0xcc8bc96067ff1110L, |
15542 | | 0xd3414c0bb05612e4L }, |
15543 | | { 0x084e5f05927fad1aL,0x999bd581438e241fL,0x0c917602faa4fab8L, |
15544 | | 0xda0520d295080657L } }, |
15545 | | /* 41 << 238 */ |
15546 | | { { 0x3160f928ce2f1af2L,0x61186d84364f56e4L,0xe36a5fc025fa68f0L, |
15547 | | 0x9e6f66bd774c584bL }, |
15548 | | { 0x2611bba49ecb449aL,0xb1e0b341ec5a0667L,0x336de76d6cddb6c3L, |
15549 | | 0x9668b5b365a18f95L } }, |
15550 | | /* 42 << 238 */ |
15551 | | { { 0x1ff6c81f7c3ec388L,0x53545b0540a8e2d0L,0x990a3cc514ae31d6L, |
15552 | | 0x769b4c26063a2995L }, |
15553 | | { 0xcea238f4039e279fL,0xbfc5cfb9732fb38eL,0x99f5a33c82fa05d8L, |
15554 | | 0x274dc74169c42686L } }, |
15555 | | /* 43 << 238 */ |
15556 | | { { 0x193338ee76af2af7L,0x0488c19f6914ae66L,0x8d197f4e5fc58bf4L, |
15557 | | 0x23de54dff0e61d4bL }, |
15558 | | { 0x547dd09f44a165e1L,0x998780651c2d5471L,0xb2cabfad39b311dbL, |
15559 | | 0x0aed63d94b61a7ebL } }, |
15560 | | /* 44 << 238 */ |
15561 | | { { 0x03713ac5be8110efL,0xaab1917d50f989d3L,0x0d80fe98358fe8b0L, |
15562 | | 0xf6e874c5a7a1f8e3L }, |
15563 | | { 0x05650fd8deb42398L,0xbad3e0851c44de73L,0x5369135f1c27f3c2L, |
15564 | | 0x14bc04f8a7fc74acL } }, |
15565 | | /* 45 << 238 */ |
15566 | | { { 0x18cbf622b5dae291L,0xce2905709356b88cL,0x61bbb44639eba4e6L, |
15567 | | 0xa79c291b980fee37L }, |
15568 | | { 0xd9f1800619960cc6L,0xb0823f410ce98896L,0xf2bc612e1377df6fL, |
15569 | | 0x1c07bdedc0b0e71cL } }, |
15570 | | /* 46 << 238 */ |
15571 | | { { 0xffbf984137211fd5L,0xbd704a6b04a81410L,0x653cd2ee6abf1c67L, |
15572 | | 0x73ab8aa140681621L }, |
15573 | | { 0xc0bae4fd271ada5cL,0xf567cae8c46f189dL,0xd183cb27a5535334L, |
15574 | | 0xcbf133f7e53c530cL } }, |
15575 | | /* 47 << 238 */ |
15576 | | { { 0x32e53f78edd6a17eL,0x6ce6da9aa2194faeL,0xa89b805458cd3586L, |
15577 | | 0x0037febb43b520a5L }, |
15578 | | { 0xbe67a2cf653e2c0bL,0xc07a1ed150301f52L,0xf98b2b60f5ea954fL, |
15579 | | 0xfa6da95d7af6c499L } }, |
15580 | | /* 48 << 238 */ |
15581 | | { { 0x44892091e3889cb1L,0x123fc555d45ae338L,0x2bc4a9ef02a63128L, |
15582 | | 0xb72012c9a1dbb436L }, |
15583 | | { 0x8c75f7b3556a0b46L,0xe4c6f46c5b7608a4L,0xb36abf6838fce20fL, |
15584 | | 0xb5a8e657bf6c21e1L } }, |
15585 | | /* 49 << 238 */ |
15586 | | { { 0x9ceaeefececd5963L,0xe84f200d6105fc29L,0xc28981a98591e346L, |
15587 | | 0x0be4e931207001f1L }, |
15588 | | { 0x31399d9d88616b18L,0x3dac9f55238c626eL,0x0213fca765574274L, |
15589 | | 0xa3560244827aa853L } }, |
15590 | | /* 50 << 238 */ |
15591 | | { { 0x3ffbfeeb1ca99134L,0x0a4b56f6d07a2dacL,0x01795eca75417a6bL, |
15592 | | 0xe2a6dd9c18a5fb22L }, |
15593 | | { 0x13c975868aca0cd8L,0x3c2bb26e7c323c52L,0xa3688caee38319bfL, |
15594 | | 0xe04b44b44c88726aL } }, |
15595 | | /* 51 << 238 */ |
15596 | | { { 0xfed864d0b0a88a4cL,0x3e6cf1526b1fa305L,0x8416b5f000e18e4aL, |
15597 | | 0x3a7603cafa4cd8f2L }, |
15598 | | { 0x8b04d5ff7ec750efL,0xe1867f9b1c1ced05L,0x87ffd0fbdac2f8c1L, |
15599 | | 0xc9ebe42008b3cdcaL } }, |
15600 | | /* 52 << 238 */ |
15601 | | { { 0x5028a4fd029c247eL,0xd6225a43a5ae3e76L,0xfb3fa71cf970817eL, |
15602 | | 0x742168099ab4aef1L }, |
15603 | | { 0xca81ee99a39c2f13L,0xa8336e4286a97827L,0xb75aff99b6489555L, |
15604 | | 0x005b2338e565435cL } }, |
15605 | | /* 53 << 238 */ |
15606 | | { { 0xbaee27bb524bdb34L,0xbf22e1c982e47e71L,0x6ab1d71297491139L, |
15607 | | 0xf420ce062cf4cbffL }, |
15608 | | { 0x9f96a2fcb2b0c86aL,0x42765dd9abeb7335L,0x7c223bb745b7e044L, |
15609 | | 0xce3f92451794e144L } }, |
15610 | | /* 54 << 238 */ |
15611 | | { { 0xa0a15b27f3ee5c4eL,0x1721c5bf54622215L,0x0003fd16ada5a99cL, |
15612 | | 0x8e96dd56dbdccc7bL }, |
15613 | | { 0xd1abdc0b43f83748L,0x71cac4a60f5ce74bL,0xb8539affd46717adL, |
15614 | | 0xeb65c589b99661d9L } }, |
15615 | | /* 55 << 238 */ |
15616 | | { { 0x66b4df3b85e89e17L,0xc94fad666fc30672L,0xfd2aa80f81d90df8L, |
15617 | | 0xed73a163bd8234c1L }, |
15618 | | { 0xe1a2c0b972eb45ddL,0x417e355d902b5ca9L,0xa8f55aaad5128812L, |
15619 | | 0x4826b9343c14cb79L } }, |
15620 | | /* 56 << 238 */ |
15621 | | { { 0xeae495e3394d7a92L,0xcba23153b90faec0L,0xd687c821f6d9d80cL, |
15622 | | 0x951dada28bff3082L }, |
15623 | | { 0x4e74f1f0701708adL,0xa6333cd1dd2134f2L,0xeea276cf04665f7cL, |
15624 | | 0x527257fcae74c17aL } }, |
15625 | | /* 57 << 238 */ |
15626 | | { { 0xeb3fd493e51b53bdL,0xae7807db69ec567eL,0xa50124aa5de15fd0L, |
15627 | | 0x781bfe701336f055L }, |
15628 | | { 0xb5729a74d70a0dfcL,0x89da37f39f50c1a3L,0x6e063297cd8e6c1cL, |
15629 | | 0x17eb6ec1181d0271L } }, |
15630 | | /* 58 << 238 */ |
15631 | | { { 0x36e7251ae4e52a8cL,0x3acfe89b94705324L,0xaa94f06ebc130c3bL, |
15632 | | 0x01b5e44c309ae25aL }, |
15633 | | { 0xb72160f20f61b55bL,0xbef61953e7bbc3f2L,0x96734d7a1bf138a1L, |
15634 | | 0xdaa6186c08c25135L } }, |
15635 | | /* 59 << 238 */ |
15636 | | { { 0xa3b031b2f34534a2L,0x44136619de46f581L,0x4d0ed04b6d379647L, |
15637 | | 0x4879d90dbb2b6735L }, |
15638 | | { 0x8f7e031a590156e0L,0x28428354f42bbc53L,0x1cbed33c5c5b791eL, |
15639 | | 0x175716454cfc5562L } }, |
15640 | | /* 60 << 238 */ |
15641 | | { { 0x8392350a7f76462fL,0x659ce7db0c216ccbL,0xe87a78b7047e35d5L, |
15642 | | 0x307c48616e0862d6L }, |
15643 | | { 0xd444fb86e70741bdL,0x1138a886fea1abe2L,0x4695397d62b79c4fL, |
15644 | | 0x11aaf588003130eeL } }, |
15645 | | /* 61 << 238 */ |
15646 | | { { 0x53bdda6d3a11712bL,0x30c384bd40fba3d2L,0x6303958550ea38beL, |
15647 | | 0x7f110eca3da9738aL }, |
15648 | | { 0xbd701fc65b68c01eL,0xd23f3e8fcc48f38dL,0x6e2557ebf8b9bb65L, |
15649 | | 0x29ceb4b6a3dafc8fL } }, |
15650 | | /* 62 << 238 */ |
15651 | | { { 0x246596864b6b7705L,0x04143a8a4aca2b43L,0x3baed256975e06d8L, |
15652 | | 0x846fb3c93e834249L }, |
15653 | | { 0x7890761e75f6770aL,0x1187920e203c78fdL,0x9b06c3a96b26281fL, |
15654 | | 0x3fe3dccda98215e1L } }, |
15655 | | /* 63 << 238 */ |
15656 | | { { 0x099d7d7a4f33655eL,0x1ba571e6662fb55aL,0x1a0d0147cbc497f0L, |
15657 | | 0xa94218ae2862ff38L }, |
15658 | | { 0x1b0f919b5ce08047L,0x9a3ac37a2baf46cdL,0x76b7a03a8964cc68L, |
15659 | | 0x5aed8c6d4d3e1a40L } }, |
15660 | | /* 64 << 238 */ |
15661 | | { { 0x6607179c7f034ff4L,0xefb8fcd93781eac2L,0xfa57f8a97b022138L, |
15662 | | 0xc5bb9f1d56ab6039L }, |
15663 | | { 0xf9027e24e4d2ab7fL,0x3d67ad7177a9e364L,0xc579e70c1f7f487dL, |
15664 | | 0x7fefc8942a7e6bd0L } }, |
15665 | | /* 0 << 245 */ |
15666 | | { { 0x00, 0x00, 0x00, 0x00 }, |
15667 | | { 0x00, 0x00, 0x00, 0x00 } }, |
15668 | | /* 1 << 245 */ |
15669 | | { { 0x2cb91662a45cfd31L,0x09dd56d316f65cfeL,0x983e005d14f3de51L, |
15670 | | 0xb9dc05b0210f64fcL }, |
15671 | | { 0x22790afd885eafe5L,0xbd5213d37444bdecL,0x289dca928987300aL, |
15672 | | 0x69fb2ac2b3960b76L } }, |
15673 | | /* 2 << 245 */ |
15674 | | { { 0xe32748869ae7540fL,0xd73866316131e921L,0x2e3d4fd8f2a360c8L, |
15675 | | 0xb20a59b63d9d41e0L }, |
15676 | | { 0x72b67eae99082a34L,0xfad6aa7d51819470L,0x7c299b9aa2d1d007L, |
15677 | | 0xc1f841e08100bed0L } }, |
15678 | | /* 3 << 245 */ |
15679 | | { { 0x2c1f7d4c43e90ebdL,0x58b781071fc72b07L,0xda8503e1af94f402L, |
15680 | | 0xfbb724b759f244b0L }, |
15681 | | { 0x2fcd2186fcd8755aL,0x7407cdee868482b7L,0x4d62f578349be3d5L, |
15682 | | 0x4a012544dcc6202cL } }, |
15683 | | /* 4 << 245 */ |
15684 | | { { 0xb8a414d2151ffc08L,0xaa79acf0740d6b55L,0xeeab0104cdf472abL, |
15685 | | 0x5014a8c1a3aa5f1dL }, |
15686 | | { 0x8c74340533f13425L,0x2b776b4957eb54d4L,0x3a0cc4ac548a723bL, |
15687 | | 0x65aae6f3c79fe63aL } }, |
15688 | | /* 5 << 245 */ |
15689 | | { { 0xe8b388f2ee5e579cL,0x31cc9373991c03d4L,0x53eed518567bfa7cL, |
15690 | | 0x267e282d67f985edL }, |
15691 | | { 0xc435fd22b4763ea0L,0xead83837e39b7703L,0x806daad5094ba5b4L, |
15692 | | 0xa738a84745842672L } }, |
15693 | | /* 6 << 245 */ |
15694 | | { { 0x99421b429984c4c2L,0x1a3bce27d35c7bbdL,0xe51ae6f63563b09eL, |
15695 | | 0x8e67853b8d9c9fbfL }, |
15696 | | { 0xca8784da6b2100b5L,0xe89a24f798879bbaL,0xe901b45ce286b039L, |
15697 | | 0x23dedbb8f50384bdL } }, |
15698 | | /* 7 << 245 */ |
15699 | | { { 0x4728cbdb5cbf7df2L,0xed274fdf6764329eL,0xc2af1a07642d199aL, |
15700 | | 0x5d66565917a50e7eL }, |
15701 | | { 0x7babf4bcfaa5eb82L,0xd3bcfc6799fe4026L,0xaa5d2648607d9f41L, |
15702 | | 0x7405c071967efac1L } }, |
15703 | | /* 8 << 245 */ |
15704 | | { { 0x79447ef9dfa782a4L,0x6dadc8e174cd9500L,0x0574020edc38f762L, |
15705 | | 0x17596d7ee2ee7a14L }, |
15706 | | { 0x9ef75af79e1f8adcL,0x5ac5f216a4791da0L,0x1583226b7b7b5d80L, |
15707 | | 0x59f3f053a21c26ccL } }, |
15708 | | /* 9 << 245 */ |
15709 | | { { 0xd80e7fdcf95e30d9L,0xecf5041c0a3a3616L,0x50b93b8b03043fa6L, |
15710 | | 0xa31a2aa4ae262ad6L }, |
15711 | | { 0x1468b370d63cd98dL,0xfb89cc65dc07a367L,0x6cf1df6b4d47b59fL, |
15712 | | 0xab451a991b6350feL } }, |
15713 | | /* 10 << 245 */ |
15714 | | { { 0xeb74554d8c124dffL,0x781a8c4d21be0be0L,0xfaacc154e3510068L, |
15715 | | 0x16655d65d6238265L }, |
15716 | | { 0xba46d27b0466134aL,0x1a3f51b93101e283L,0xc08298a9096ec237L, |
15717 | | 0x46248627c69cfb5bL } }, |
15718 | | /* 11 << 245 */ |
15719 | | { { 0xf9e7a5a481a0500fL,0x92db27d5bd2e03e7L,0x3dcce4f682899e3cL, |
15720 | | 0x861f1797f39a39c7L }, |
15721 | | { 0x175b243069dc8961L,0x93d2a88edc67953eL,0xa40f370492d794d6L, |
15722 | | 0x607019f03526eeafL } }, |
15723 | | /* 12 << 245 */ |
15724 | | { { 0xf20e163b22f37d65L,0x70fd00c832cf180aL,0xff1a97d20b17244eL, |
15725 | | 0x9a5a141bacedb33aL }, |
15726 | | { 0xf03dd868cc16bbb4L,0x9b15372da40e44e9L,0xd5ba643615ac397fL, |
15727 | | 0xb1a886d4c821f6b7L } }, |
15728 | | /* 13 << 245 */ |
15729 | | { { 0xbe3aacda4b7b4e21L,0xad9829fe66b56729L,0x78965cefd541cc1aL, |
15730 | | 0x414bfea77d17631eL }, |
15731 | | { 0xf55835d9c64dd621L,0xa0ebf68bef644d93L,0x01d15340c8a40021L, |
15732 | | 0x00ae640d42b99aa0L } }, |
15733 | | /* 14 << 245 */ |
15734 | | { { 0x92321ee26881e64fL,0xaccab5c85267bdd3L,0x0c1f87ea5927647bL, |
15735 | | 0x0093d07e162c6d86L }, |
15736 | | { 0x49868df4389c711dL,0xe68d69aec11e1f37L,0xa40e7aa8b4207246L, |
15737 | | 0x4ae8d126ce832395L } }, |
15738 | | /* 15 << 245 */ |
15739 | | { { 0x5f9b128a86450cc0L,0x88f76293c8ec07e6L,0x0762f293179702b8L, |
15740 | | 0xb56961024910006dL }, |
15741 | | { 0x3951291b35fe0505L,0x70f75a5cce8d7056L,0x4541beaf2eb13369L, |
15742 | | 0x7060a749a643316cL } }, |
15743 | | /* 16 << 245 */ |
15744 | | { { 0xee16abd049c879a5L,0x844874a7a47ac42eL,0xee3f8a203c9c2326L, |
15745 | | 0x99a12054deaed33bL }, |
15746 | | { 0x4814a15b63b333aeL,0xee9f28a59d923fa0L,0x5b0cd25033b1b1efL, |
15747 | | 0x3ccc39b98346d928L } }, |
15748 | | /* 17 << 245 */ |
15749 | | { { 0xf5c1000e002bec95L,0x2ba2f18cf63528c2L,0x8102f6c8cdcec15aL, |
15750 | | 0xab7effcdbb13d14aL }, |
15751 | | { 0x183e0ba2fcd3787cL,0xae70635e2f4a7fc0L,0x473ed37f760bbc96L, |
15752 | | 0xf0ea0acf8a8efb39L } }, |
15753 | | /* 18 << 245 */ |
15754 | | { { 0x63cea36c29b526a9L,0xcdb316139d03f3dbL,0xa3891096d57cca8eL, |
15755 | | 0x646418a9a14a8ffcL }, |
15756 | | { 0x10f8906b8075291fL,0x8221d9412c618bf6L,0x1dc1ae7a8a5da4dfL, |
15757 | | 0xb66b96e38a8cc8bcL } }, |
15758 | | /* 19 << 245 */ |
15759 | | { { 0xe4da7e48fe3551b4L,0xe6891cc9ad9b3827L,0xb266733f6b37b99fL, |
15760 | | 0xfccce911fd5d1219L }, |
15761 | | { 0xe5a47c4b7262b8ccL,0x5d349cafe656af49L,0x7a3a4a287e04e48eL, |
15762 | | 0x7c39a68e80ea7d03L } }, |
15763 | | /* 20 << 245 */ |
15764 | | { { 0xf35d5e32bee0d434L,0x9651f3d90b536161L,0x42634cc972cb370cL, |
15765 | | 0xa7764026406b3457L }, |
15766 | | { 0xec7525bd65d53d80L,0xf44a1bcaadcc8b05L,0x12ef8427da112ddcL, |
15767 | | 0x796a65b320a0f78fL } }, |
15768 | | /* 21 << 245 */ |
15769 | | { { 0x12726e246bd5b0abL,0x9e4414678242fe07L,0x4b52e276de2bea52L, |
15770 | | 0x3a76b6b410422c2cL }, |
15771 | | { 0x71f14945b4e496b9L,0xd20f04b0f36dce4fL,0xa0e57d8d2b310e90L, |
15772 | | 0x59eb773732ec8f38L } }, |
15773 | | /* 22 << 245 */ |
15774 | | { { 0x20a19834aaf6619eL,0x633b94e8691a538eL,0xea1a898592cdf395L, |
15775 | | 0xa3a01c574349b971L }, |
15776 | | { 0x0d65192a30822c59L,0x93a5152da522ae8cL,0x5b09a7a30e1aa4bcL, |
15777 | | 0xdd2588f38d3b97a9L } }, |
15778 | | /* 23 << 245 */ |
15779 | | { { 0xafa1f62a5b62a3a5L,0xbded10e6a9ace9c5L,0x9d03e061bf6e7fb2L, |
15780 | | 0x60c564a84b87177aL }, |
15781 | | { 0x36be1308c22c14c1L,0xeeda57e89425b6bbL,0x5ddaae1436af38c2L, |
15782 | | 0x1695464becdc2911L } }, |
15783 | | /* 24 << 245 */ |
15784 | | { { 0x4b795e1d161e13e7L,0x0f9abc20907e7069L,0xfb3be61854522fe7L, |
15785 | | 0x9e2d0f371938134eL }, |
15786 | | { 0xb8dc7c36d292c6b0L,0xbafbf59cc1e77895L,0x7d0132cd1b6c55f3L, |
15787 | | 0xefa02ed9f609f087L } }, |
15788 | | /* 25 << 245 */ |
15789 | | { { 0x4bfe6aeb03519f9fL,0x248e19a0dab4c075L,0x83ee803d69429f29L, |
15790 | | 0xdbbe31e28190ce56L }, |
15791 | | { 0x3ba735d26b787a5dL,0xfa0211851818070cL,0x9b653000a3683ceeL, |
15792 | | 0xfc3c7907e9517ba2L } }, |
15793 | | /* 26 << 245 */ |
15794 | | { { 0x6521c92f88d94f69L,0x3950e9e87b52da8dL,0xadb817008ee64a88L, |
15795 | | 0x8ccbfa3cf73994feL }, |
15796 | | { 0xb780ab12b048e71eL,0x52879e7be2aeb607L,0xef04b1ed3237554fL, |
15797 | | 0xaeba6a96e1d5a5efL } }, |
15798 | | /* 27 << 245 */ |
15799 | | { { 0xedb58542266f7e93L,0x9a1b80575ea02852L,0x1963c6f25beb3fbdL, |
15800 | | 0xf41833551ad52473L }, |
15801 | | { 0xca772e9e6faed2f4L,0x937eddd03cf8fd1fL,0xb3255376c1d49dacL, |
15802 | | 0x549c2119e670d3ccL } }, |
15803 | | /* 28 << 245 */ |
15804 | | { { 0x10edbf393b6cd199L,0xe947922375644d6aL,0x36cfba92d6e8cc36L, |
15805 | | 0xa37b1d91fe00d80aL }, |
15806 | | { 0x3aadf918deb5ef4aL,0x5bb2ca4dd3893df2L,0xa776000e6569ab8bL, |
15807 | | 0x4fb2308f1cf64905L } }, |
15808 | | /* 29 << 245 */ |
15809 | | { { 0x04da4d09273731c2L,0x1d4a61fe23c05518L,0x201098a30d5206e5L, |
15810 | | 0xd9a7ad4e06430c82L }, |
15811 | | { 0x56df0d0636f7f462L,0x2c067f3d44c81042L,0x01193bc9c453d28eL, |
15812 | | 0xcdf5af5d45ce6e64L } }, |
15813 | | /* 30 << 245 */ |
15814 | | { { 0x9992ce1a0f7d8d12L,0xa7c46a610e5e4542L,0x3fcc0647057802baL, |
15815 | | 0xa78f73d8c7dccbe2L }, |
15816 | | { 0x67f37b94f138dc6dL,0x89330885650a9002L,0xf661caf268aa24c7L, |
15817 | | 0x47732bcdbf73c435L } }, |
15818 | | /* 31 << 245 */ |
15819 | | { { 0xb9ba5f913b04622eL,0x24265f73477d420aL,0x5da6ddb00d44cb89L, |
15820 | | 0x9f8cb8b6151fc40bL }, |
15821 | | { 0x81b6956b9b9f2613L,0x37419206ebb917dfL,0xdb9cfc162bb7a709L, |
15822 | | 0x7a800aa3bacd3fb7L } }, |
15823 | | /* 32 << 245 */ |
15824 | | { { 0xf8ea9359d93f6e1aL,0x729005d43d41c118L,0x4c2934107cb641afL, |
15825 | | 0x6b2b4671895e8e78L }, |
15826 | | { 0x2a1251d05958fad3L,0xb69bc2be78619fe4L,0xd74df34cd911d318L, |
15827 | | 0x5def837815102704L } }, |
15828 | | /* 33 << 245 */ |
15829 | | { { 0xb19ea17a08268482L,0x145911961c37e5d1L,0xe0e12d2e7640df9cL, |
15830 | | 0x8fd6bd4d8c941274L }, |
15831 | | { 0xc3f9f120dcd142b1L,0x106c49ac78dfe6b0L,0x243c8e93cfd9b542L, |
15832 | | 0x6758062d0a2c5fe6L } }, |
15833 | | /* 34 << 245 */ |
15834 | | { { 0xee5a99e815f2f638L,0xb95b008d13979ab6L,0x7fd03105acfcca6aL, |
15835 | | 0x6af914a4e4ced1b3L }, |
15836 | | { 0x8bef3d0fa25f8627L,0x21bae309f9b2f931L,0xe85dee2b2195a839L, |
15837 | | 0x46ad0ad9a3baeb25L } }, |
15838 | | /* 35 << 245 */ |
15839 | | { { 0x6d8e40f8022b62a9L,0x4a6bbabf90b5cd33L,0x53481e6bffa89bb2L, |
15840 | | 0xd674b3b322003cc2L }, |
15841 | | { 0xc71a0a85004a2aa6L,0x86df9697b5404657L,0x407727f4c74e80ccL, |
15842 | | 0x39c13926950a7b08L } }, |
15843 | | /* 36 << 245 */ |
15844 | | { { 0x26bee75ad74472a4L,0xbf7c4ea02eb6f0d6L,0x689a5de5608bea48L, |
15845 | | 0x5b38389229d513f8L }, |
15846 | | { 0x49fee2c2da457cf9L,0x7fc0aee762d523d3L,0x5bf447deb636a46eL, |
15847 | | 0xda3efd988194766eL } }, |
15848 | | /* 37 << 245 */ |
15849 | | { { 0xa77c3ad2d382756dL,0xc0eaa9de0fa55315L,0xe68d0a51b1df90e3L, |
15850 | | 0x0994e8c701d1d8a7L }, |
15851 | | { 0x4f898bc3a91bfed0L,0x1c2a3e46ab6025dfL,0x37bd5c378b269271L, |
15852 | | 0x4e07f5ca8b97f0afL } }, |
15853 | | /* 38 << 245 */ |
15854 | | { { 0xe346b5aa97923d14L,0xa8549f619e0bd9c4L,0x78e59d6b40113a60L, |
15855 | | 0xe3015fb2ed8a0fc6L }, |
15856 | | { 0xfc56a08f8b43288aL,0xcbdb8caecae6c18aL,0xcb147c445f4423dbL, |
15857 | | 0xa6aaa6c910f361c1L } }, |
15858 | | /* 39 << 245 */ |
15859 | | { { 0x6be86c0c7caf702aL,0x2188e83c736f6dacL,0x40b5ed2559ba2af9L, |
15860 | | 0x76211894ab8018c3L }, |
15861 | | { 0x0c1c532ff5b0b048L,0x7503aca9e3200521L,0xb9325d85dfa7eb2dL, |
15862 | | 0xe6c25a002edbb68fL } }, |
15863 | | /* 40 << 245 */ |
15864 | | { { 0xf9ff58678c673c89L,0x4925a046099c7baeL,0x0b3bf59adbb1e1b6L, |
15865 | | 0xc7e9d9f230ae084fL }, |
15866 | | { 0x709823960fa1776fL,0xb2e1b98f624c897bL,0xa9a6407d6c3534d5L, |
15867 | | 0x5e22319ba4dc3f63L } }, |
15868 | | /* 41 << 245 */ |
15869 | | { { 0xc2f0bf3f2431dc01L,0x478f797dc2cfb315L,0x6559f59c3b3ae0c5L, |
15870 | | 0x7e95aa62e18e74a8L }, |
15871 | | { 0xf2a94006d3fce912L,0x7f1b57a2e1bd96ceL,0x55028ad0a3d7b828L, |
15872 | | 0xadae7e924f09fe92L } }, |
15873 | | /* 42 << 245 */ |
15874 | | { { 0x2174c736757b418fL,0xd904ba433661d54dL,0x0281f91263218ecbL, |
15875 | | 0x5fd03ba0c50c8eb6L }, |
15876 | | { 0x29626906896a5aeaL,0xab4d3f27e55ee73fL,0x3db1c43dedfd1991L, |
15877 | | 0x498cc31aa3f9c340L } }, |
15878 | | /* 43 << 245 */ |
15879 | | { { 0xa43bdec14fe75d33L,0x5b067dfb66ae5d4fL,0x84581814464c8239L, |
15880 | | 0x2f10557f503a52eaL }, |
15881 | | { 0x21c4c180a10fbb90L,0x33b191eef79d5e02L,0x6dee3881b499478eL, |
15882 | | 0x27dfef0bbfbd56faL } }, |
15883 | | /* 44 << 245 */ |
15884 | | { { 0x671a3dd728be2d62L,0x06f2f4c2050897ffL,0xd92bdab6b7c4587dL, |
15885 | | 0xd2253a16fd8d5160L }, |
15886 | | { 0x64f6e4aef1c098b1L,0x005a393911ea7255L,0x2ed4eb92dab542e5L, |
15887 | | 0x26920bc150c5e874L } }, |
15888 | | /* 45 << 245 */ |
15889 | | { { 0x93e8f58a5d0bc87cL,0xaa4d313eb2b29b4bL,0x3e175dec01b2096fL, |
15890 | | 0x6c5609721cf31783L }, |
15891 | | { 0x9d41aca273b76f6bL,0xa2454cf55f1d4b12L,0xa561519665b35eeaL, |
15892 | | 0xf241e51670af4fdeL } }, |
15893 | | /* 46 << 245 */ |
15894 | | { { 0x5255e91b65061472L,0x6ef98d2d5bdbb257L,0x0d1d1ab1c74c7b2cL, |
15895 | | 0x9ffb9fdf2e9febdeL }, |
15896 | | { 0x853f3b9f6c50bf24L,0x3d3695946fbd22bdL,0x4d281126bcdad9a9L, |
15897 | | 0x99eb62b6dc46ddc1L } }, |
15898 | | /* 47 << 245 */ |
15899 | | { { 0x5aa8c8b24b10c402L,0x2e79f595473af61dL,0x96153360ce360f37L, |
15900 | | 0x16dffe2266bc29ddL }, |
15901 | | { 0x35536eb11137f9c3L,0xd636ecade2a6a47aL,0x83cdf214b499f840L, |
15902 | | 0x3642c77cd247f18cL } }, |
15903 | | /* 48 << 245 */ |
15904 | | { { 0x4d906a2e916ef527L,0xadeb94d0293dc085L,0x03a078011491da3eL, |
15905 | | 0x177dceae0b84d2ebL }, |
15906 | | { 0x61e5a3c17b691e0cL,0x47d40bd7d172cea3L,0x7d0646ad8ca76bceL, |
15907 | | 0x90b030a9c64d635fL } }, |
15908 | | /* 49 << 245 */ |
15909 | | { { 0x71eca8e797118df2L,0x2cd48f703ac9536bL,0x9ffd991d89fb4d72L, |
15910 | | 0xd49006bcebf781fbL }, |
15911 | | { 0x688af07fd3e60da1L,0x5f74aa46619063b7L,0x44fcbeb3a40d313fL, |
15912 | | 0x0ed5908b326faaa4L } }, |
15913 | | /* 50 << 245 */ |
15914 | | { { 0xe836d537f41ec05dL,0x01eaf207221b0c32L,0x1d6a0bb672f8c904L, |
15915 | | 0xa6ef58b2dfd74641L }, |
15916 | | { 0xbb855ceb811bd6cbL,0x7b1c8b7105408eabL,0xd24d709e4187fb7fL, |
15917 | | 0x283d647d8b30a9beL } }, |
15918 | | /* 51 << 245 */ |
15919 | | { { 0x6d9d3793f9f0d6e6L,0x02fc3ddbb1c06b19L,0x8ff8679394d9abecL, |
15920 | | 0x1f20bba224705873L }, |
15921 | | { 0x74eebc120021b290L,0xd859521e35b6c157L,0x2201aa41431aea79L, |
15922 | | 0x79c1caaf90da1a75L } }, |
15923 | | /* 52 << 245 */ |
15924 | | { { 0xcd6abab76e412a6aL,0x82399139b4c58b05L,0xdf416966a3b55538L, |
15925 | | 0x2b2d546f679882d3L }, |
15926 | | { 0x17425cbcf9145657L,0x3cc6735fe1b8247eL,0x13e50c5657edd04cL, |
15927 | | 0xc87231371b85b7cbL } }, |
15928 | | /* 53 << 245 */ |
15929 | | { { 0x907b5b02dc0ab9d5L,0x5617fb7f4ab23b78L,0x7ae8ff03e8f449cdL, |
15930 | | 0x86d3ff17174e0e22L }, |
15931 | | { 0x22cb7f69bf1e9f8dL,0x12f0abbe0b0c62f0L,0xc8315981537f658cL, |
15932 | | 0x43da2770c467f2b4L } }, |
15933 | | /* 54 << 245 */ |
15934 | | { { 0x3ef9bb815b9e88efL,0xb85263183a8e51f2L,0x2e47cb7ff8d744acL, |
15935 | | 0x63d6dc16510aaa7cL }, |
15936 | | { 0x54da7cdbb40ccc41L,0xdecbe5fd402b2ad9L,0x14c6f15c34c8f225L, |
15937 | | 0x6d8b2342c6559496L } }, |
15938 | | /* 55 << 245 */ |
15939 | | { { 0xa4b7228166fea635L,0x55f5c27f22f248a8L,0x3ced14830959cd01L, |
15940 | | 0xcc6469dbb53bdf42L }, |
15941 | | { 0x2bb2346f1e460645L,0x4d8573c69d7535e7L,0x988cddd549cd2d68L, |
15942 | | 0x785c4a70b9835538L } }, |
15943 | | /* 56 << 245 */ |
15944 | | { { 0xb08337b31f6e396cL,0x6166b21e49a782f3L,0x1ac6198b8ec9b974L, |
15945 | | 0xee2e34460bb44d3dL }, |
15946 | | { 0xdb28374035039dd9L,0x7c708f9529f5c692L,0x8914cce098ddb466L, |
15947 | | 0x8bb1b9f1d446f3cfL } }, |
15948 | | /* 57 << 245 */ |
15949 | | { { 0xa9dea222ee0933a3L,0x2538bd434b26049eL,0x18741acabdcafae2L, |
15950 | | 0xe0f830f716b0f4bbL }, |
15951 | | { 0x0479ec95902caefaL,0x1f858937dcda9e64L,0xe75b4f7b515c4089L, |
15952 | | 0xb78afde42eb91b51L } }, |
15953 | | /* 58 << 245 */ |
15954 | | { { 0x1eebe3e918949935L,0xde8deaa9ba092037L,0xd43cf4ef93609411L, |
15955 | | 0xe0fdb1e4c2d7b76eL }, |
15956 | | { 0x1d3191a54e34b4bdL,0x106d92f19ccc4c26L,0x1a404ef629a2a6d1L, |
15957 | | 0x3338bc9cc598f481L } }, |
15958 | | /* 59 << 245 */ |
15959 | | { { 0x3945e39de3fcbf71L,0x123b082c9c89ab61L,0xc7477f770f9f3c37L, |
15960 | | 0x408c0c7a7dbcc077L }, |
15961 | | { 0x6c4d99f53654f98cL,0x276a007a05299a1aL,0xabd4b8ea23e2d7d0L, |
15962 | | 0xe05a5f3a86017545L } }, |
15963 | | /* 60 << 245 */ |
15964 | | { { 0xde3b885ca11b03cdL,0x46ef07558df5d64eL,0x112a49d6bf3f085dL, |
15965 | | 0xf6ebf441198ff32fL }, |
15966 | | { 0x581c00d87feae481L,0xf2b43827cfde5b2fL,0x3ceb7f8f9b7358f2L, |
15967 | | 0x95761fbd55fe7117L } }, |
15968 | | /* 61 << 245 */ |
15969 | | { { 0x305836fadc04773cL,0x66324504b3c4873cL,0x5d878c1f55b130deL, |
15970 | | 0x96e9b28c8ad49a9bL }, |
15971 | | { 0xd1a707b876d70429L,0xaff33f93aa402e90L,0x733d6256edbfb28fL, |
15972 | | 0x9e421a7ca75d2342L } }, |
15973 | | /* 62 << 245 */ |
15974 | | { { 0xdf86b254c02e49c1L,0x6bb53867b56d308aL,0x771dde4b73f29561L, |
15975 | | 0x96eaf73e8bf28e5fL }, |
15976 | | { 0x9b1ee6be06fbb550L,0xe09fec7797d4a4e8L,0x93bdcd60d5aa84fdL, |
15977 | | 0x3fa8d3a0d457ab9cL } }, |
15978 | | /* 63 << 245 */ |
15979 | | { { 0x315b32b1a0a2e52cL,0xe7e50b2d3bbcb61dL,0x8a55cc0e5e5c6e11L, |
15980 | | 0xc2bfa998961295efL }, |
15981 | | { 0x4a5ab3bb66e996d1L,0x22c42e4f4886a421L,0xa0cdd3644850e0a4L, |
15982 | | 0x7682d38dc64ed713L } }, |
15983 | | /* 64 << 245 */ |
15984 | | { { 0xe31575c2a2c539e4L,0x0bac5dcda756daf9L,0xe917cecf91f55a12L, |
15985 | | 0x1e96433be96f6299L }, |
15986 | | { 0xeec7c71c3700d8fbL,0x9a1d2965dc9b4444L,0x3d2c6970cf74f19cL, |
15987 | | 0x3b444c48ac5e0d6bL } }, |
15988 | | /* 0 << 252 */ |
15989 | | { { 0x00, 0x00, 0x00, 0x00 }, |
15990 | | { 0x00, 0x00, 0x00, 0x00 } }, |
15991 | | /* 1 << 252 */ |
15992 | | { { 0xe563cefd8ccb854cL,0xf5452cdb65b0c45aL,0xb3c787699c37f743L, |
15993 | | 0x34e9d19295d444abL }, |
15994 | | { 0x2934794652ff26b7L,0x70d6ecfa9b94d642L,0x7d201858fdaffb8fL, |
15995 | | 0xc288719d45dcdc71L } }, |
15996 | | /* 2 << 252 */ |
15997 | | { { 0xc695469d0728a2ebL,0x7b46244ec433d11cL,0x4a8b99baf106c08eL, |
15998 | | 0x7989794f63422083L }, |
15999 | | { 0x82218867d4fc5696L,0x6b021f283c79cdb8L,0x5ff7bbeab26d5049L, |
16000 | | 0xb78611caa7261628L } }, |
16001 | | /* 3 << 252 */ |
16002 | | { { 0x5a75f961531313d7L,0x85a1f4db66dcdc9eL,0xae3026b96460e991L, |
16003 | | 0x7d467bef17ecf7ccL }, |
16004 | | { 0x8a0dbf6705118708L,0x54bfa368f3b2f1c9L,0xa9fc9d5cf2c0e4e0L, |
16005 | | 0xa8c2ad115e93611bL } }, |
16006 | | /* 4 << 252 */ |
16007 | | { { 0x3ef1faf0aa1256bdL,0x0f2245459e4631deL,0x69cb9800de9c2676L, |
16008 | | 0x2601981695782b24L }, |
16009 | | { 0x945c172ca66c0ccdL,0x6c25f635b440719aL,0x917d5dbaa49f681aL, |
16010 | | 0xc0cad047b2dc5df4L } }, |
16011 | | /* 5 << 252 */ |
16012 | | { { 0xd45bcf4c5960ef1cL,0xbabcb16d8c6979d5L,0x8e3be750ae9090d6L, |
16013 | | 0x9481d261ac0eb728L }, |
16014 | | { 0x46b436cd0d6a7d46L,0x6eb1a6a31f976501L,0x5984ffa2dbe1064fL, |
16015 | | 0xe6575fb1f809dc20L } }, |
16016 | | /* 6 << 252 */ |
16017 | | { { 0xf0426d804d974a81L,0x61304f0f97a74be6L,0x2346ff98a9486531L, |
16018 | | 0xa1242ccaf53d781aL }, |
16019 | | { 0x482f03df97355f15L,0xc607ed33bd6058cfL,0x03bc8cd468aefe28L, |
16020 | | 0xa6e7de5a851307e4L } }, |
16021 | | /* 7 << 252 */ |
16022 | | { { 0x2c07df0fc6af7d44L,0x310b251fb15a9188L,0xd42661ced3e15c2fL, |
16023 | | 0x5198fd901b4d8313L }, |
16024 | | { 0x7a6062cdda8368a1L,0x1a905d115e9c2542L,0x1d752b70dae37ceeL, |
16025 | | 0x3ed8c1a516bf84caL } }, |
16026 | | /* 8 << 252 */ |
16027 | | { { 0x5190fb0feecc2f22L,0x3df210f3698d8e60L,0xcce57d3af5f3ce72L, |
16028 | | 0xb2fb6223312b8fc6L }, |
16029 | | { 0x7994700571867c84L,0x141cd92cbe139ebeL,0x415efc9e5de7944eL, |
16030 | | 0xae9ee91945821058L } }, |
16031 | | /* 9 << 252 */ |
16032 | | { { 0xd696e1d95bf363dcL,0x6a1bcfc08251449cL,0xa1b82dffa5fa53e9L, |
16033 | | 0x6c56b5beeef05378L }, |
16034 | | { 0xaf9efe4cc0e74dc3L,0x3d9a7ae9e5c1f1a0L,0x34b385772823c3e5L, |
16035 | | 0x69f297dc41fbabacL } }, |
16036 | | /* 10 << 252 */ |
16037 | | { { 0xf01aff98d74c5a65L,0x979931041951a915L,0x8b211915723096a6L, |
16038 | | 0xf85910c4a769ef1fL }, |
16039 | | { 0x30cefb9e8ddc0eb4L,0xd5957eefbb09607bL,0x2e139c9c2355b499L, |
16040 | | 0x5749531dc1789013L } }, |
16041 | | /* 11 << 252 */ |
16042 | | { { 0x1603ca645475f2d2L,0x57190e0e0a336508L,0x2203b703cea7d558L, |
16043 | | 0xf16eba4dfb5503e3L }, |
16044 | | { 0x62e2ce3db7344a98L,0xebf5b2439a4efa7aL,0x962124551c914064L, |
16045 | | 0xd2c5e31cbe5bbc07L } }, |
16046 | | /* 12 << 252 */ |
16047 | | { { 0x2b5f2f7706c30b28L,0x0931841dbc9823d3L,0xd16fb08badfa6fdbL, |
16048 | | 0x8892bae2d6fd441eL }, |
16049 | | { 0x3fc646302e576983L,0x08c60fb607b05529L,0x32b283b17afc1d4dL, |
16050 | | 0xc9c56965a2f0e37fL } }, |
16051 | | /* 13 << 252 */ |
16052 | | { { 0x8e7191784644e173L,0x4c2a11ecf88b43ffL,0xb13644e67d3ddbb3L, |
16053 | | 0xd4746056c3d8703cL }, |
16054 | | { 0x6611395f55dca667L,0x6359671227c91d73L,0x4ca68a87ea2ff489L, |
16055 | | 0x2864a816337adc1dL } }, |
16056 | | /* 14 << 252 */ |
16057 | | { { 0x8aa830ae224d4f21L,0xda6c122e9f7845dcL,0xb0c61ffcfb240793L, |
16058 | | 0xf4df6842ce8580e9L }, |
16059 | | { 0x94372aaa0a990dc7L,0x42968cd35ce1aa24L,0x177c5ff04df363a5L, |
16060 | | 0xa8c3f73768c4546fL } }, |
16061 | | /* 15 << 252 */ |
16062 | | { { 0xc69750d5bd21c524L,0xbf3b485722a6c4aeL,0xcefcbb98e2883a1dL, |
16063 | | 0x6ffef743ae13f22bL }, |
16064 | | { 0x6316ba605defea01L,0x0a89e6a74ba63810L,0x7f9af1de15ab0e11L, |
16065 | | 0x6247ca15385911c9L } }, |
16066 | | /* 16 << 252 */ |
16067 | | { { 0x6f7b1a6a32f9eaf5L,0x2c440f94acfc13dcL,0x2cf39bc566b18adfL, |
16068 | | 0xb9939fe89f01533fL }, |
16069 | | { 0x031c4553383a6450L,0x16d96ad3f0102087L,0xcbd6fa95501f1360L, |
16070 | | 0x667d3ea065f96c08L } }, |
16071 | | /* 17 << 252 */ |
16072 | | { { 0xa5a7cbfa68a1a680L,0xf131d77942041db7L,0xbefee3acd85d377fL, |
16073 | | 0x6d0ed6b73b62dfa2L }, |
16074 | | { 0xef683f0f1baacfbdL,0xc586c4f2c976cebdL,0x3a4120dc3b163339L, |
16075 | | 0x9ac9b950c79e5c1fL } }, |
16076 | | /* 18 << 252 */ |
16077 | | { { 0xaf1ff35fe294926aL,0x2703bab8a2103168L,0xc645560a658a52bfL, |
16078 | | 0x5ff3ccd9e466fd97L }, |
16079 | | { 0xe62fdc0154867f14L,0x435ef9509cdba39eL,0x2a7bbffd92828accL, |
16080 | | 0xe7538fdbfe763981L } }, |
16081 | | /* 19 << 252 */ |
16082 | | { { 0xedf451738bfe9773L,0xd187fa01471b8b9cL,0x34506c3578fa54dfL, |
16083 | | 0x73cab9fdc2767589L }, |
16084 | | { 0xf8f76c656726f305L,0xea45012d8de332b2L,0xb746f40d87970e03L, |
16085 | | 0xb2b2279a1ba8fbd6L } }, |
16086 | | /* 20 << 252 */ |
16087 | | { { 0x79cdc61021147dbcL,0x738ef6809939a3ccL,0xd66d6ce68101bd8bL, |
16088 | | 0x65612acb09323caaL }, |
16089 | | { 0x6874b37210310a29L,0x3cf30f0a5ee9ecfaL,0x4e1026ad8cfe1df8L, |
16090 | | 0x75a153f7d5989af5L } }, |
16091 | | /* 21 << 252 */ |
16092 | | { { 0xc362ccee8b8e0c49L,0x8adfc0d2b533f3ddL,0xe02ab03ba109572eL, |
16093 | | 0x06efacdcfd3066ecL }, |
16094 | | { 0xf136a8ba3fa28700L,0x48a1e987308cceb9L,0xe8ee7c0368253387L, |
16095 | | 0x47febbe8c2b463c7L } }, |
16096 | | /* 22 << 252 */ |
16097 | | { { 0x485195f239a5c4d3L,0xf42e000ea26241ecL,0x08c64f90cd05368dL, |
16098 | | 0x46fbd381857cdbdbL }, |
16099 | | { 0xf711df8b4c7e16aeL,0x95637e46e4edea42L,0x2df8b206ad171465L, |
16100 | | 0xa31ea8954bccedceL } }, |
16101 | | /* 23 << 252 */ |
16102 | | { { 0x28dbcb7750743bb6L,0x13d12f8ef9cf84b9L,0x39e3d3afc8f7d408L, |
16103 | | 0x5824117feba591d4L }, |
16104 | | { 0xd8ef7c9a1bead2d6L,0x9003a559caf53dd7L,0x33b2365c174cb9a9L, |
16105 | | 0x1149d080adb33afbL } }, |
16106 | | /* 24 << 252 */ |
16107 | | { { 0x55231d00aea9bd3cL,0x07e107c9fdf3f015L,0xf535947dec9d8fceL, |
16108 | | 0x8b64ed8abba349a7L }, |
16109 | | { 0xdd5881fd049301dfL,0xefac9c43e6490fd0L,0xd990285273740a78L, |
16110 | | 0x6eef3724942c326cL } }, |
16111 | | /* 25 << 252 */ |
16112 | | { { 0x5671a6e95cfb3c8cL,0x040aabd20ea29721L,0x24e92ca6eac8da18L, |
16113 | | 0xc34d3d79a31170c3L }, |
16114 | | { 0xf81dd15fb061e416L,0xff7be70e85f80af0L,0xa9faba4bade45cd4L, |
16115 | | 0x42a6ab05505fddd4L } }, |
16116 | | /* 26 << 252 */ |
16117 | | { { 0x17d5821d0a793534L,0x9e094e54ce0ade43L,0xa127fb6dc42cb4d2L, |
16118 | | 0x43865428db12dc99L }, |
16119 | | { 0xb6b1b34759e3bfc1L,0x0b0076a91ec5b810L,0xbf2dd17aa6864982L, |
16120 | | 0x0c45947f9d523c87L } }, |
16121 | | /* 27 << 252 */ |
16122 | | { { 0x9f53372f4c5dd59eL,0x3d0ceaeaca5ce09fL,0xf3ff88e87c0337fbL, |
16123 | | 0xb4fa4593faa022c7L }, |
16124 | | { 0x575240a7d65ea54dL,0xa4ec0a39adb92fb0L,0xc20e737c79429eb1L, |
16125 | | 0xcea931d169addec4L } }, |
16126 | | /* 28 << 252 */ |
16127 | | { { 0x7a29011f3e09f46aL,0x9c36865e0e578a5bL,0x8746ea5171d805f4L, |
16128 | | 0xf024de85e12d3024L }, |
16129 | | { 0xc397b46c15a7f6beL,0x612db6fb1b0580d7L,0xe5342f76f736d087L, |
16130 | | 0x652768538c1e844cL } }, |
16131 | | /* 29 << 252 */ |
16132 | | { { 0xedf48adc113841a5L,0xc21b67e1e5c482f0L,0xe43b0138684a540bL, |
16133 | | 0xc4f2782ba5d4b266L }, |
16134 | | { 0x184e240c397f3664L,0x968e89e70d8788f8L,0xec3eba1a377e18bfL, |
16135 | | 0x4d03cbbc36002652L } }, |
16136 | | /* 30 << 252 */ |
16137 | | { { 0x21eedee71005a953L,0xc178ddf175ba987eL,0xd0d577f6c4ba43f6L, |
16138 | | 0x9486f46c4d6f24fdL }, |
16139 | | { 0x3d33c574c5421895L,0x5be6cb4c842e52abL,0x3809690d9debc9ffL, |
16140 | | 0xe4b1c692a84a5b6fL } }, |
16141 | | /* 31 << 252 */ |
16142 | | { { 0x58b966add7e18b57L,0x7ff0b61e77c94715L,0x0e295883f06add82L, |
16143 | | 0x7c3c04fd65c7f5a4L }, |
16144 | | { 0x4ea9266060223be5L,0x5d843a5789262bfdL,0x35bf4aef36da11c0L, |
16145 | | 0xa6692f14af859eb1L } }, |
16146 | | /* 32 << 252 */ |
16147 | | { { 0xca1fc13ba12fdf41L,0xd798c04b8224f5d2L,0x22f4594e1dd5872bL, |
16148 | | 0xdee12df51bddfda8L }, |
16149 | | { 0x96473ff0ed83420aL,0xf41cf1c78daa27f4L,0x2772cd56aecefd8aL, |
16150 | | 0xd5ddaf184902b47fL } }, |
16151 | | /* 33 << 252 */ |
16152 | | { { 0xff77551fc0798101L,0x8baa01d626946bdaL,0xd0087e47100525f2L, |
16153 | | 0x521d62544c0de308L }, |
16154 | | { 0x4a0f45eb9bbce049L,0x5ee33cbea6c6b96eL,0x9a6af4b7d6a22345L, |
16155 | | 0x0d0d35e738b1b406L } }, |
16156 | | /* 34 << 252 */ |
16157 | | { { 0x9e71252dbbedc29bL,0x3aa70bb6cad1455eL,0xa406fb7a42a1778cL, |
16158 | | 0xd94f9646f0897613L }, |
16159 | | { 0x5256370ff57f66c8L,0x95891e354432f679L,0x75d6423abcb6b3d3L, |
16160 | | 0x79d9ea012367483fL } }, |
16161 | | /* 35 << 252 */ |
16162 | | { { 0x1e36ccc69efb0473L,0x3e64b034dfdc0cecL,0x13bfd326028bb238L, |
16163 | | 0x171e9d96209edd95L }, |
16164 | | { 0xda25838007b22424L,0xe31e97f6d41b8023L,0xdd4ed3907269cecdL, |
16165 | | 0x810fb3c812d5cec6L } }, |
16166 | | /* 36 << 252 */ |
16167 | | { { 0x2f956519babeec88L,0xb0350c52455baf52L,0xa7fb548a48d5abf1L, |
16168 | | 0xcb81bd0cca5e2d9fL }, |
16169 | | { 0xda5ecd39a6d17b19L,0xd2588bab508e5149L,0x1a30cff5c3e23cfdL, |
16170 | | 0x2dd398b4f89f8712L } }, |
16171 | | /* 37 << 252 */ |
16172 | | { { 0x2a9118005b304005L,0xd091be7ad9dece69L,0x147e93daf6cabc89L, |
16173 | | 0x7eac201844935824L }, |
16174 | | { 0xd4aaf2be32f5de9bL,0xe302bc41d9396cd1L,0x3c2794cf2c069d1aL, |
16175 | | 0xf9197eaaa9d433aeL } }, |
16176 | | /* 38 << 252 */ |
16177 | | { { 0x98f822ef4445e8c2L,0xc578360e1383ece8L,0xa5372c1201869457L, |
16178 | | 0x1c6ed00d787d6644L }, |
16179 | | { 0x77fb08cd86531814L,0xeff6ee2663a70db8L,0x980be15380976119L, |
16180 | | 0x534a09bdd69d60c5L } }, |
16181 | | /* 39 << 252 */ |
16182 | | { { 0x71a58b0c759dba20L,0x34d5f06c679c0b40L,0xdc0e7e5fceed2f9fL, |
16183 | | 0xaaa5996e48808edbL }, |
16184 | | { 0x8ca96ff0bcdd88e5L,0x91b02d67c37c2b46L,0xbe4f394895526319L, |
16185 | | 0x4315c7f289be56d1L } }, |
16186 | | /* 40 << 252 */ |
16187 | | { { 0xa312a3c0dc85bba1L,0x3328fa8e431ca797L,0x5438bf1c68fd219aL, |
16188 | | 0x98812c6f85837d74L }, |
16189 | | { 0xe88c4913f8c96d49L,0xcc62e79cc2442acaL,0x4ef3c7d4046655f1L, |
16190 | | 0x04a362eddadab1eaL } }, |
16191 | | /* 41 << 252 */ |
16192 | | { { 0x975e2f3c30a199cfL,0x831e04a9014a165aL,0x1e1d3c53aa126719L, |
16193 | | 0xc42661e01bf707a0L }, |
16194 | | { 0x295b0738aa2da264L,0xb45f5ed865d4ba34L,0x27fb5a129f3938faL, |
16195 | | 0x25fba614cb26f86cL } }, |
16196 | | /* 42 << 252 */ |
16197 | | { { 0x6bd41981cf3c1c4dL,0xd6f9239ca0dedafdL,0x46882526ae55b97fL, |
16198 | | 0x8e6fa99481b628d4L }, |
16199 | | { 0xbdb314dddc0aa158L,0x3534367812ba2a17L,0xac018e8332e2e431L, |
16200 | | 0x43a64e35e65cc63eL } }, |
16201 | | /* 43 << 252 */ |
16202 | | { { 0x887f3a2a0b6603eaL,0xe015426c76b2673fL,0x59dc553027edfe8aL, |
16203 | | 0xea9eacf368d9ebf3L }, |
16204 | | { 0x40301c8ecc3e07caL,0xd8cb9b5b0f57a2e6L,0x542e6b5260ec5864L, |
16205 | | 0xb8791dd617f6affeL } }, |
16206 | | /* 44 << 252 */ |
16207 | | { { 0x6735bd1c798d9993L,0x006d8b25d5da393cL,0x1d675bdb49e6d0d2L, |
16208 | | 0x331d9a108607f99eL }, |
16209 | | { 0x4ff8ab749dc4cd07L,0xa87d4ae164ea3192L,0xdde0d92e41196b5bL, |
16210 | | 0xa15ad47bb2e010ebL } }, |
16211 | | /* 45 << 252 */ |
16212 | | { { 0x23e6003fa5522a75L,0xc6ef3f1b84afa749L,0x9a723f75146d10a3L, |
16213 | | 0x5fa99480119106b0L }, |
16214 | | { 0x01d500dbc0013dbaL,0x10b30ada548edbe0L,0xb2eb046eb04ffc6bL, |
16215 | | 0xa57088f364f25ee2L } }, |
16216 | | /* 46 << 252 */ |
16217 | | { { 0xc0c919c383a068a3L,0x8139559dfbde282fL,0x4e2b5d139fec9a99L, |
16218 | | 0x53bad712fbefa7e6L }, |
16219 | | { 0xa6befe0d2860bd4fL,0x6ea0ae150011bd15L,0xc1ef34632bce3779L, |
16220 | | 0xc09ecb305d742dbbL } }, |
16221 | | /* 47 << 252 */ |
16222 | | { { 0x29526afdf73db19dL,0x7c02c9056a029a40L,0xa778460fde5a48baL, |
16223 | | 0xda05993e77c105f6L }, |
16224 | | { 0xb6d599f9c9ddece9L,0x9f9df6680cfc33caL,0xdcd8ef4fa0aa67a8L, |
16225 | | 0x31277019c3f4d178L } }, |
16226 | | /* 48 << 252 */ |
16227 | | { { 0x98e05abf53e86ae1L,0xc1dc4d903850830dL,0xbd7fd806e06bc33cL, |
16228 | | 0x1ac330d6acf1286fL }, |
16229 | | { 0x28ce2303e1588c1eL,0xdc25e54b1b7e9c19L,0x11e51e494b7149f2L, |
16230 | | 0x551b8391b5c7fa25L } }, |
16231 | | /* 49 << 252 */ |
16232 | | { { 0xa2fc251c1bf69873L,0x099b7b532aec1574L,0x9ff981567c53296aL, |
16233 | | 0xaf3f8d08a2dc60deL }, |
16234 | | { 0x18dd295c59b72d6cL,0x165c9063e75f44fcL,0x9046ee7c427a0c55L, |
16235 | | 0x317ea24dc79ffdb3L } }, |
16236 | | /* 50 << 252 */ |
16237 | | { { 0x6835a3150ef0447dL,0xb2b9c7868068e7c7L,0xe63527140e646af5L, |
16238 | | 0xc5554a91442baaa0L }, |
16239 | | { 0x671febc56d0ba1eaL,0x44f9ef7b0cf649edL,0x4aa0cd610c1dac6bL, |
16240 | | 0x865f3c236e393e68L } }, |
16241 | | /* 51 << 252 */ |
16242 | | { { 0xf6886bcda71dee29L,0x934b0455da44ffaeL,0xda7621c4016d6039L, |
16243 | | 0xf36c41bf3ad35493L }, |
16244 | | { 0x9063135ee5f6ab8dL,0xb0e8eaba47bdc0a8L,0x625306164c737cf3L, |
16245 | | 0x8046423e64f6b6cbL } }, |
16246 | | /* 52 << 252 */ |
16247 | | { { 0x11e50ad77958e3dcL,0x4dab4e16b57234abL,0x6ccfe2c6e0916210L, |
16248 | | 0x4d5dbc3b80f49d40L }, |
16249 | | { 0x2b8ff368ef1b2b1bL,0xf2afb326752fea2aL,0xffa48ea70246e36bL, |
16250 | | 0x3a4bae9b589b7444L } }, |
16251 | | /* 53 << 252 */ |
16252 | | { { 0x80ff984a6ff3efcfL,0x7af53f3056b77b47L,0x1f1c33b09320cae6L, |
16253 | | 0xce1f1c4826fc4ad4L }, |
16254 | | { 0x9cac662bad350ee5L,0xf4c72fffe27a7dbdL,0xd766f986703184e5L, |
16255 | | 0x36d3efd57c5b241eL } }, |
16256 | | /* 54 << 252 */ |
16257 | | { { 0xd4d6e358f7ff5804L,0xa832b3028f5e0bf6L,0x4b3d73f7453d9a22L, |
16258 | | 0xb4dae072df938705L }, |
16259 | | { 0x6bff7b2e92401620L,0x96b8494e9bfa61cdL,0x4bcda341b74dc1e5L, |
16260 | | 0x383fe3d2c19c393dL } }, |
16261 | | /* 55 << 252 */ |
16262 | | { { 0xa375fb70077e8821L,0xea35e04bc17eb9bcL,0x941d21ba7c4dd076L, |
16263 | | 0x916c0a593d0c3d8aL }, |
16264 | | { 0x2c1304e315b2cf47L,0x9233ebf3d0c955c0L,0x77acdd072b2fc935L, |
16265 | | 0xd71b6a7ac04276bfL } }, |
16266 | | /* 56 << 252 */ |
16267 | | { { 0x789ea49bd2ee8d68L,0x89552b460a84a920L,0xe629d5de1a4ea456L, |
16268 | | 0xddfefe8722ddd405L }, |
16269 | | { 0x3d56f6971cdb9e7bL,0x95a861b0a8bf715bL,0xb01248d67896c993L, |
16270 | | 0x3c4e3d9801a3085cL } }, |
16271 | | /* 57 << 252 */ |
16272 | | { { 0x674939e19085b360L,0xae67dea9b589a287L,0xc563856f2bfdcfc9L, |
16273 | | 0x62fa9a80313b685dL }, |
16274 | | { 0x36ff33d97ad501d9L,0xf8bab4dd730ab349L,0x18fd59f3c46ba69dL, |
16275 | | 0x81e08665e65278e9L } }, |
16276 | | /* 58 << 252 */ |
16277 | | { { 0x5a5e803feb8a1e84L,0x5b4eef3547243604L,0x0ee71ee0393d6cdfL, |
16278 | | 0xde4d9deac3a9c6dbL }, |
16279 | | { 0x0c14c37664466b53L,0xc2ce964289e3b45eL,0x6aa8012f54a2de21L, |
16280 | | 0x519759c129b6bc2cL } }, |
16281 | | /* 59 << 252 */ |
16282 | | { { 0x17768527e4667322L,0x09fdfe4dac83b2eaL,0xd422125d04a0d5f5L, |
16283 | | 0x02e8ff962b86b310L }, |
16284 | | { 0xf033628dd7ee97afL,0x778a846c7d72e0e6L,0x06fde613882f63d6L, |
16285 | | 0x9e258b0d8d434f14L } }, |
16286 | | /* 60 << 252 */ |
16287 | | { { 0x5cdda529ccdcd600L,0x37038b38033c4535L,0xd6a1d639391c1d7dL, |
16288 | | 0x4f6489e431d4ce6bL }, |
16289 | | { 0xd1b82f175754e08cL,0x7df268ee75db7bd6L,0x1e4a1202ad14dcfaL, |
16290 | | 0x7ab92ce2ccfb9b77L } }, |
16291 | | /* 61 << 252 */ |
16292 | | { { 0x61388e0323aef997L,0x9981f5bf06440ce3L,0x8d7631dac67d0eddL, |
16293 | | 0xc6ea593fc0a93516L }, |
16294 | | { 0x064a06e0ee841b38L,0x0d1d4f57521ce83fL,0xf7a0e0c370df2613L, |
16295 | | 0x1506cccb84c071abL } }, |
16296 | | /* 62 << 252 */ |
16297 | | { { 0x42a138ec328565e9L,0xe16b4578b8130d16L,0x0628ff2245ba251aL, |
16298 | | 0x016a84ca210e22e8L }, |
16299 | | { 0x8ba14bb494592d43L,0xffee4308785274a5L,0x01fc21ab01354b75L, |
16300 | | 0xc37ce45f7e424674L } }, |
16301 | | /* 63 << 252 */ |
16302 | | { { 0x71e153afa7fe2735L,0x000fcee9c307721fL,0x3b189004805b56e3L, |
16303 | | 0x2f1435aa7f504d9bL }, |
16304 | | { 0xd9aa1ebaa083bd72L,0xf1145036720ccf3dL,0x95b29e274084fa32L, |
16305 | | 0x8862d21301f94f0cL } }, |
16306 | | /* 64 << 252 */ |
16307 | | { { 0x23fc5ddf1510a406L,0x475a78f4c9f0e98dL,0xb6d681c4e72843a0L, |
16308 | | 0xa90af2a44a00c5a6L }, |
16309 | | { 0x95fc6d45a34f4412L,0x60f9c0e2e7f5d703L,0x2bc0642bad110925L, |
16310 | | 0x79abfc10be24a4d5L } }, |
16311 | | }; |
16312 | | |
16313 | | /* Multiply the point by the scalar and return the result. |
16314 | | * If map is true then convert result to affine coordinates. |
16315 | | * |
16316 | | * Pre-computed table containing multiples of g times powers of 2. |
16317 | | * Width between powers is 7 bits. |
16318 | | * Accumulate into the result. |
16319 | | * |
16320 | | * r Resulting point. |
16321 | | * g Point to scalar multiply. |
16322 | | * k Scalar to multiply by. |
16323 | | * table Pre-computed table of points. |
16324 | | * map Indicates whether to convert result to affine. |
16325 | | * ct Constant time required. |
16326 | | * heap Heap to use for allocation. |
16327 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16328 | | */ |
16329 | | static int sp_256_ecc_mulmod_add_only_sm2_4(sp_point_256* r, const sp_point_256* g, |
16330 | | const sp_table_entry_256* table, const sp_digit* k, int map, |
16331 | | int ct, void* heap) |
16332 | 0 | { |
16333 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16334 | 0 | sp_point_256* rt = NULL; |
16335 | 0 | sp_digit* tmp = NULL; |
16336 | | #else |
16337 | | sp_point_256 rt[2]; |
16338 | | sp_digit tmp[2 * 4 * 5]; |
16339 | | #endif |
16340 | 0 | sp_point_256* p = NULL; |
16341 | 0 | sp_digit* negy = NULL; |
16342 | 0 | int i; |
16343 | 0 | ecc_recode_256 v[37]; |
16344 | 0 | int err = MP_OKAY; |
16345 | |
|
16346 | 0 | (void)g; |
16347 | 0 | (void)ct; |
16348 | 0 | (void)heap; |
16349 | | |
16350 | |
|
16351 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16352 | 0 | rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
16353 | 0 | DYNAMIC_TYPE_ECC); |
16354 | 0 | if (rt == NULL) |
16355 | 0 | err = MEMORY_E; |
16356 | 0 | if (err == MP_OKAY) { |
16357 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 5, heap, |
16358 | 0 | DYNAMIC_TYPE_ECC); |
16359 | 0 | if (tmp == NULL) |
16360 | 0 | err = MEMORY_E; |
16361 | 0 | } |
16362 | 0 | #endif |
16363 | |
|
16364 | 0 | if (err == MP_OKAY) { |
16365 | 0 | negy = tmp; |
16366 | 0 | p = rt + 1; |
16367 | 0 | } |
16368 | |
|
16369 | 0 | if (err == MP_OKAY) { |
16370 | 0 | sp_256_ecc_recode_7_4(k, v); |
16371 | |
|
16372 | 0 | XMEMCPY(p->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
16373 | 0 | XMEMCPY(rt->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
16374 | |
|
16375 | 0 | i = 36; |
16376 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
16377 | 0 | if (ct) { |
16378 | 0 | sp_256_get_entry_65_sm2_4(rt, &table[i * 65], v[i].i); |
16379 | 0 | } |
16380 | 0 | else |
16381 | 0 | #endif |
16382 | 0 | { |
16383 | 0 | XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x)); |
16384 | 0 | XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y)); |
16385 | 0 | } |
16386 | 0 | rt->infinity = !v[i].i; |
16387 | 0 | for (--i; i>=0; i--) { |
16388 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
16389 | 0 | if (ct) { |
16390 | 0 | sp_256_get_entry_65_sm2_4(p, &table[i * 65], v[i].i); |
16391 | 0 | } |
16392 | 0 | else |
16393 | 0 | #endif |
16394 | 0 | { |
16395 | 0 | XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x)); |
16396 | 0 | XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y)); |
16397 | 0 | } |
16398 | 0 | p->infinity = !v[i].i; |
16399 | 0 | sp_256_sub_sm2_4(negy, p256_sm2_mod, p->y); |
16400 | 0 | sp_256_norm_4(negy); |
16401 | 0 | sp_256_cond_copy_sm2_4(p->y, negy, (sp_digit)(0 - v[i].neg)); |
16402 | 0 | sp_256_proj_point_add_qz1_sm2_4(rt, rt, p, tmp); |
16403 | 0 | } |
16404 | 0 | if (map != 0) { |
16405 | 0 | sp_256_map_sm2_4(r, rt, tmp); |
16406 | 0 | } |
16407 | 0 | else { |
16408 | 0 | XMEMCPY(r, rt, sizeof(sp_point_256)); |
16409 | 0 | } |
16410 | 0 | } |
16411 | |
|
16412 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16413 | 0 | if (tmp != NULL) |
16414 | 0 | #endif |
16415 | 0 | { |
16416 | 0 | ForceZero(tmp, sizeof(sp_digit) * 2 * 4 * 5); |
16417 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16418 | 0 | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
16419 | 0 | #endif |
16420 | 0 | } |
16421 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16422 | 0 | XFREE(rt, heap, DYNAMIC_TYPE_ECC); |
16423 | 0 | #endif |
16424 | |
|
16425 | 0 | return err; |
16426 | 0 | } |
16427 | | |
16428 | | /* Multiply the base point of P256 by the scalar and return the result. |
16429 | | * If map is true then convert result to affine coordinates. |
16430 | | * |
16431 | | * r Resulting point. |
16432 | | * k Scalar to multiply by. |
16433 | | * map Indicates whether to convert result to affine. |
16434 | | * ct Constant time required. |
16435 | | * heap Heap to use for allocation. |
16436 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16437 | | */ |
16438 | | static int sp_256_ecc_mulmod_base_sm2_4(sp_point_256* r, const sp_digit* k, |
16439 | | int map, int ct, void* heap) |
16440 | 0 | { |
16441 | 0 | return sp_256_ecc_mulmod_add_only_sm2_4(r, NULL, p256_sm2_table, |
16442 | 0 | k, map, ct, heap); |
16443 | 0 | } |
16444 | | |
16445 | | #ifdef HAVE_INTEL_AVX2 |
16446 | | /* Multiply the point by the scalar and return the result. |
16447 | | * If map is true then convert result to affine coordinates. |
16448 | | * |
16449 | | * Pre-computed table containing multiples of g times powers of 2. |
16450 | | * Width between powers is 7 bits. |
16451 | | * Accumulate into the result. |
16452 | | * |
16453 | | * r Resulting point. |
16454 | | * g Point to scalar multiply. |
16455 | | * k Scalar to multiply by. |
16456 | | * table Pre-computed table of points. |
16457 | | * map Indicates whether to convert result to affine. |
16458 | | * ct Constant time required. |
16459 | | * heap Heap to use for allocation. |
16460 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16461 | | */ |
16462 | | static int sp_256_ecc_mulmod_add_only_avx2_sm2_4(sp_point_256* r, const sp_point_256* g, |
16463 | | const sp_table_entry_256* table, const sp_digit* k, int map, |
16464 | | int ct, void* heap) |
16465 | 0 | { |
16466 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16467 | 0 | sp_point_256* rt = NULL; |
16468 | 0 | sp_digit* tmp = NULL; |
16469 | | #else |
16470 | | sp_point_256 rt[2]; |
16471 | | sp_digit tmp[2 * 4 * 5]; |
16472 | | #endif |
16473 | 0 | sp_point_256* p = NULL; |
16474 | 0 | sp_digit* negy = NULL; |
16475 | 0 | int i; |
16476 | 0 | ecc_recode_256 v[37]; |
16477 | 0 | int err = MP_OKAY; |
16478 | |
|
16479 | 0 | (void)g; |
16480 | 0 | (void)ct; |
16481 | 0 | (void)heap; |
16482 | | |
16483 | |
|
16484 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16485 | 0 | rt = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
16486 | 0 | DYNAMIC_TYPE_ECC); |
16487 | 0 | if (rt == NULL) |
16488 | 0 | err = MEMORY_E; |
16489 | 0 | if (err == MP_OKAY) { |
16490 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 5, heap, |
16491 | 0 | DYNAMIC_TYPE_ECC); |
16492 | 0 | if (tmp == NULL) |
16493 | 0 | err = MEMORY_E; |
16494 | 0 | } |
16495 | 0 | #endif |
16496 | |
|
16497 | 0 | if (err == MP_OKAY) { |
16498 | 0 | negy = tmp; |
16499 | 0 | p = rt + 1; |
16500 | 0 | } |
16501 | |
|
16502 | 0 | if (err == MP_OKAY) { |
16503 | 0 | sp_256_ecc_recode_7_4(k, v); |
16504 | |
|
16505 | 0 | XMEMCPY(p->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
16506 | 0 | XMEMCPY(rt->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
16507 | |
|
16508 | 0 | i = 36; |
16509 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
16510 | 0 | if (ct) { |
16511 | 0 | sp_256_get_entry_65_avx2_sm2_4(rt, &table[i * 65], v[i].i); |
16512 | 0 | } |
16513 | 0 | else |
16514 | 0 | #endif |
16515 | 0 | { |
16516 | 0 | XMEMCPY(rt->x, table[i * 65 + v[i].i].x, sizeof(table->x)); |
16517 | 0 | XMEMCPY(rt->y, table[i * 65 + v[i].i].y, sizeof(table->y)); |
16518 | 0 | } |
16519 | 0 | rt->infinity = !v[i].i; |
16520 | 0 | for (--i; i>=0; i--) { |
16521 | 0 | #ifndef WC_NO_CACHE_RESISTANT |
16522 | 0 | if (ct) { |
16523 | 0 | sp_256_get_entry_65_avx2_sm2_4(p, &table[i * 65], v[i].i); |
16524 | 0 | } |
16525 | 0 | else |
16526 | 0 | #endif |
16527 | 0 | { |
16528 | 0 | XMEMCPY(p->x, table[i * 65 + v[i].i].x, sizeof(table->x)); |
16529 | 0 | XMEMCPY(p->y, table[i * 65 + v[i].i].y, sizeof(table->y)); |
16530 | 0 | } |
16531 | 0 | p->infinity = !v[i].i; |
16532 | 0 | sp_256_sub_sm2_4(negy, p256_sm2_mod, p->y); |
16533 | 0 | sp_256_norm_4(negy); |
16534 | 0 | sp_256_cond_copy_sm2_4(p->y, negy, (sp_digit)(0 - v[i].neg)); |
16535 | 0 | sp_256_proj_point_add_qz1_avx2_sm2_4(rt, rt, p, tmp); |
16536 | 0 | } |
16537 | 0 | if (map != 0) { |
16538 | 0 | sp_256_map_avx2_sm2_4(r, rt, tmp); |
16539 | 0 | } |
16540 | 0 | else { |
16541 | 0 | XMEMCPY(r, rt, sizeof(sp_point_256)); |
16542 | 0 | } |
16543 | 0 | } |
16544 | |
|
16545 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16546 | 0 | if (tmp != NULL) |
16547 | 0 | #endif |
16548 | 0 | { |
16549 | 0 | ForceZero(tmp, sizeof(sp_digit) * 2 * 4 * 5); |
16550 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16551 | 0 | XFREE(tmp, heap, DYNAMIC_TYPE_ECC); |
16552 | 0 | #endif |
16553 | 0 | } |
16554 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16555 | 0 | XFREE(rt, heap, DYNAMIC_TYPE_ECC); |
16556 | 0 | #endif |
16557 | |
|
16558 | 0 | return err; |
16559 | 0 | } |
16560 | | |
16561 | | /* Multiply the base point of P256 by the scalar and return the result. |
16562 | | * If map is true then convert result to affine coordinates. |
16563 | | * |
16564 | | * r Resulting point. |
16565 | | * k Scalar to multiply by. |
16566 | | * map Indicates whether to convert result to affine. |
16567 | | * ct Constant time required. |
16568 | | * heap Heap to use for allocation. |
16569 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16570 | | */ |
16571 | | static int sp_256_ecc_mulmod_base_avx2_sm2_4(sp_point_256* r, const sp_digit* k, |
16572 | | int map, int ct, void* heap) |
16573 | 0 | { |
16574 | 0 | return sp_256_ecc_mulmod_add_only_avx2_sm2_4(r, NULL, p256_sm2_table, |
16575 | 0 | k, map, ct, heap); |
16576 | 0 | } |
16577 | | |
16578 | | #endif /* HAVE_INTEL_AVX2 */ |
16579 | | #endif /* WOLFSSL_SP_SMALL */ |
16580 | | /* Multiply the base point of P256 by the scalar and return the result. |
16581 | | * If map is true then convert result to affine coordinates. |
16582 | | * |
16583 | | * km Scalar to multiply by. |
16584 | | * r Resulting point. |
16585 | | * map Indicates whether to convert result to affine. |
16586 | | * heap Heap to use for allocation. |
16587 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16588 | | */ |
16589 | | int sp_ecc_mulmod_base_sm2_256(const mp_int* km, ecc_point* r, int map, void* heap) |
16590 | 0 | { |
16591 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16592 | 0 | sp_point_256* point = NULL; |
16593 | 0 | sp_digit* k = NULL; |
16594 | | #else |
16595 | | sp_point_256 point[1]; |
16596 | | sp_digit k[4]; |
16597 | | #endif |
16598 | 0 | int err = MP_OKAY; |
16599 | 0 | #ifdef HAVE_INTEL_AVX2 |
16600 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
16601 | 0 | #endif |
16602 | |
|
16603 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16604 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, |
16605 | 0 | DYNAMIC_TYPE_ECC); |
16606 | 0 | if (point == NULL) |
16607 | 0 | err = MEMORY_E; |
16608 | 0 | if (err == MP_OKAY) { |
16609 | 0 | k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap, |
16610 | 0 | DYNAMIC_TYPE_ECC); |
16611 | 0 | if (k == NULL) |
16612 | 0 | err = MEMORY_E; |
16613 | 0 | } |
16614 | 0 | #endif |
16615 | |
|
16616 | 0 | if (err == MP_OKAY) { |
16617 | 0 | sp_256_from_mp(k, 4, km); |
16618 | |
|
16619 | 0 | #ifdef HAVE_INTEL_AVX2 |
16620 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16621 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
16622 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(point, k, map, 1, heap); |
16623 | 0 | } |
16624 | 0 | else |
16625 | 0 | #endif |
16626 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(point, k, map, 1, heap); |
16627 | 0 | } |
16628 | 0 | if (err == MP_OKAY) { |
16629 | 0 | err = sp_256_point_to_ecc_point_4(point, r); |
16630 | 0 | } |
16631 | |
|
16632 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16633 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
16634 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
16635 | 0 | #endif |
16636 | |
|
16637 | 0 | return err; |
16638 | 0 | } |
16639 | | |
16640 | | /* Multiply the base point of P256 by the scalar, add point a and return |
16641 | | * the result. If map is true then convert result to affine coordinates. |
16642 | | * |
16643 | | * km Scalar to multiply by. |
16644 | | * am Point to add to scalar multiply result. |
16645 | | * inMont Point to add is in montgomery form. |
16646 | | * r Resulting point. |
16647 | | * map Indicates whether to convert result to affine. |
16648 | | * heap Heap to use for allocation. |
16649 | | * returns MEMORY_E when memory allocation fails and MP_OKAY on success. |
16650 | | */ |
16651 | | int sp_ecc_mulmod_base_add_sm2_256(const mp_int* km, const ecc_point* am, |
16652 | | int inMont, ecc_point* r, int map, void* heap) |
16653 | 0 | { |
16654 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16655 | 0 | sp_point_256* point = NULL; |
16656 | 0 | sp_digit* k = NULL; |
16657 | | #else |
16658 | | sp_point_256 point[2]; |
16659 | | sp_digit k[4 + 4 * 2 * 6]; |
16660 | | #endif |
16661 | 0 | sp_point_256* addP = NULL; |
16662 | 0 | sp_digit* tmp = NULL; |
16663 | 0 | int err = MP_OKAY; |
16664 | 0 | #ifdef HAVE_INTEL_AVX2 |
16665 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
16666 | 0 | #endif |
16667 | |
|
16668 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16669 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
16670 | 0 | DYNAMIC_TYPE_ECC); |
16671 | 0 | if (point == NULL) |
16672 | 0 | err = MEMORY_E; |
16673 | 0 | if (err == MP_OKAY) { |
16674 | 0 | k = (sp_digit*)XMALLOC( |
16675 | 0 | sizeof(sp_digit) * (4 + 4 * 2 * 6), |
16676 | 0 | heap, DYNAMIC_TYPE_ECC); |
16677 | 0 | if (k == NULL) |
16678 | 0 | err = MEMORY_E; |
16679 | 0 | } |
16680 | 0 | #endif |
16681 | |
|
16682 | 0 | if (err == MP_OKAY) { |
16683 | 0 | addP = point + 1; |
16684 | 0 | tmp = k + 4; |
16685 | |
|
16686 | 0 | sp_256_from_mp(k, 4, km); |
16687 | 0 | sp_256_point_from_ecc_point_4(addP, am); |
16688 | 0 | } |
16689 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
16690 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->x, addP->x, p256_sm2_mod); |
16691 | 0 | } |
16692 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
16693 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->y, addP->y, p256_sm2_mod); |
16694 | 0 | } |
16695 | 0 | if ((err == MP_OKAY) && (!inMont)) { |
16696 | 0 | err = sp_256_mod_mul_norm_sm2_4(addP->z, addP->z, p256_sm2_mod); |
16697 | 0 | } |
16698 | 0 | if (err == MP_OKAY) { |
16699 | 0 | #ifdef HAVE_INTEL_AVX2 |
16700 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16701 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
16702 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(point, k, 0, 0, heap); |
16703 | 0 | } |
16704 | 0 | else |
16705 | 0 | #endif |
16706 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(point, k, 0, 0, heap); |
16707 | 0 | } |
16708 | 0 | if (err == MP_OKAY) { |
16709 | 0 | #ifdef HAVE_INTEL_AVX2 |
16710 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16711 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
16712 | 0 | sp_256_proj_point_add_avx2_sm2_4(point, point, addP, tmp); |
16713 | 0 | } |
16714 | 0 | else |
16715 | 0 | #endif |
16716 | 0 | sp_256_proj_point_add_sm2_4(point, point, addP, tmp); |
16717 | |
|
16718 | 0 | if (map) { |
16719 | 0 | #ifdef HAVE_INTEL_AVX2 |
16720 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16721 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
16722 | 0 | sp_256_map_avx2_sm2_4(point, point, tmp); |
16723 | 0 | } |
16724 | 0 | else |
16725 | 0 | #endif |
16726 | 0 | sp_256_map_sm2_4(point, point, tmp); |
16727 | 0 | } |
16728 | |
|
16729 | 0 | err = sp_256_point_to_ecc_point_4(point, r); |
16730 | 0 | } |
16731 | |
|
16732 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16733 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
16734 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
16735 | 0 | #endif |
16736 | |
|
16737 | 0 | return err; |
16738 | 0 | } |
16739 | | |
16740 | | #if defined(WOLFSSL_VALIDATE_ECC_KEYGEN) || defined(HAVE_ECC_SIGN) || \ |
16741 | | defined(HAVE_ECC_VERIFY) |
16742 | | #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN | HAVE_ECC_SIGN | HAVE_ECC_VERIFY */ |
16743 | | #ifdef __cplusplus |
16744 | | extern "C" { |
16745 | | #endif |
16746 | | extern void sp_256_add_one_sm2_4(sp_digit* a); |
16747 | | #ifdef __cplusplus |
16748 | | } |
16749 | | #endif |
16750 | | #ifdef __cplusplus |
16751 | | extern "C" { |
16752 | | #endif |
16753 | | extern void sp_256_from_bin_sm2_bswap(sp_digit* r, int size, const byte* a, int n); |
16754 | | #ifdef __cplusplus |
16755 | | } |
16756 | | #endif |
16757 | | #ifdef __cplusplus |
16758 | | extern "C" { |
16759 | | #endif |
16760 | | extern void sp_256_from_bin_sm2_movbe(sp_digit* r, int size, const byte* a, int n); |
16761 | | #ifdef __cplusplus |
16762 | | } |
16763 | | #endif |
16764 | | /* Read big endian unsigned byte array into r. |
16765 | | * |
16766 | | * r A single precision integer. |
16767 | | * size Maximum number of bytes to convert |
16768 | | * a Byte array. |
16769 | | * n Number of bytes in array to read. |
16770 | | */ |
16771 | | static void sp_256_from_bin(sp_digit* r, int size, const byte* a, int n) |
16772 | 0 | { |
16773 | 0 | #ifndef NO_MOVBE_SUPPORT |
16774 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
16775 | |
|
16776 | 0 | if (IS_INTEL_MOVBE(cpuid_flags)) { |
16777 | 0 | sp_256_from_bin_sm2_movbe(r, size, a, n); |
16778 | 0 | } |
16779 | 0 | else |
16780 | 0 | #endif |
16781 | 0 | { |
16782 | 0 | sp_256_from_bin_sm2_bswap(r, size, a, n); |
16783 | 0 | } |
16784 | 0 | } |
16785 | | |
16786 | | /* Generates a scalar that is in the range 1..order-1. |
16787 | | * |
16788 | | * rng Random number generator. |
16789 | | * k Scalar value. |
16790 | | * returns RNG failures, MEMORY_E when memory allocation fails and |
16791 | | * MP_OKAY on success. |
16792 | | */ |
16793 | | static int sp_256_ecc_gen_k_sm2_4(WC_RNG* rng, sp_digit* k) |
16794 | 0 | { |
16795 | 0 | #ifndef WC_NO_RNG |
16796 | 0 | int err; |
16797 | 0 | byte buf[32]; |
16798 | |
|
16799 | 0 | do { |
16800 | 0 | err = wc_RNG_GenerateBlock(rng, buf, sizeof(buf)); |
16801 | 0 | if (err == 0) { |
16802 | 0 | sp_256_from_bin(k, 4, buf, (int)sizeof(buf)); |
16803 | 0 | if (sp_256_cmp_sm2_4(k, p256_sm2_order2) <= 0) { |
16804 | 0 | sp_256_add_one_sm2_4(k); |
16805 | 0 | break; |
16806 | 0 | } |
16807 | 0 | } |
16808 | 0 | } |
16809 | 0 | while (err == 0); |
16810 | |
|
16811 | 0 | return err; |
16812 | | #else |
16813 | | (void)rng; |
16814 | | (void)k; |
16815 | | return NOT_COMPILED_IN; |
16816 | | #endif |
16817 | 0 | } |
16818 | | |
16819 | | /* Makes a random EC key pair. |
16820 | | * |
16821 | | * rng Random number generator. |
16822 | | * priv Generated private value. |
16823 | | * pub Generated public point. |
16824 | | * heap Heap to use for allocation. |
16825 | | * returns ECC_INF_E when the point does not have the correct order, RNG |
16826 | | * failures, MEMORY_E when memory allocation fails and MP_OKAY on success. |
16827 | | */ |
16828 | | int sp_ecc_make_key_sm2_256(WC_RNG* rng, mp_int* priv, ecc_point* pub, void* heap) |
16829 | 0 | { |
16830 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16831 | 0 | sp_point_256* point = NULL; |
16832 | 0 | sp_digit* k = NULL; |
16833 | | #else |
16834 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16835 | | sp_point_256 point[2]; |
16836 | | #else |
16837 | | sp_point_256 point[1]; |
16838 | | #endif |
16839 | | sp_digit k[4]; |
16840 | | #endif |
16841 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16842 | | sp_point_256* infinity = NULL; |
16843 | | #endif |
16844 | 0 | int err = MP_OKAY; |
16845 | |
|
16846 | 0 | #ifdef HAVE_INTEL_AVX2 |
16847 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
16848 | 0 | #endif |
16849 | |
|
16850 | 0 | (void)heap; |
16851 | |
|
16852 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16853 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16854 | | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, DYNAMIC_TYPE_ECC); |
16855 | | #else |
16856 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, DYNAMIC_TYPE_ECC); |
16857 | 0 | #endif |
16858 | 0 | if (point == NULL) |
16859 | 0 | err = MEMORY_E; |
16860 | 0 | if (err == MP_OKAY) { |
16861 | 0 | k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap, |
16862 | 0 | DYNAMIC_TYPE_ECC); |
16863 | 0 | if (k == NULL) |
16864 | 0 | err = MEMORY_E; |
16865 | 0 | } |
16866 | 0 | #endif |
16867 | |
|
16868 | 0 | if (err == MP_OKAY) { |
16869 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16870 | | infinity = point + 1; |
16871 | | #endif |
16872 | |
|
16873 | 0 | err = sp_256_ecc_gen_k_sm2_4(rng, k); |
16874 | 0 | } |
16875 | 0 | if (err == MP_OKAY) { |
16876 | 0 | #ifdef HAVE_INTEL_AVX2 |
16877 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16878 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
16879 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(point, k, 1, 1, NULL); |
16880 | 0 | } |
16881 | 0 | else |
16882 | 0 | #endif |
16883 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(point, k, 1, 1, NULL); |
16884 | 0 | } |
16885 | |
|
16886 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16887 | | if (err == MP_OKAY) { |
16888 | | #ifdef HAVE_INTEL_AVX2 |
16889 | | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
16890 | | IS_INTEL_AVX2(cpuid_flags)) { |
16891 | | err = sp_256_ecc_mulmod_avx2_sm2_4(infinity, point, p256_sm2_order, 1, 1, |
16892 | | NULL); |
16893 | | } |
16894 | | else |
16895 | | #endif |
16896 | | err = sp_256_ecc_mulmod_4(infinity, point, p256_sm2_order, 1, 1, NULL); |
16897 | | } |
16898 | | if (err == MP_OKAY) { |
16899 | | if (sp_256_iszero_4(point->x) || sp_256_iszero_4(point->y)) { |
16900 | | err = ECC_INF_E; |
16901 | | } |
16902 | | } |
16903 | | #endif |
16904 | |
|
16905 | 0 | if (err == MP_OKAY) { |
16906 | 0 | err = sp_256_to_mp(k, priv); |
16907 | 0 | } |
16908 | 0 | if (err == MP_OKAY) { |
16909 | 0 | err = sp_256_point_to_ecc_point_4(point, pub); |
16910 | 0 | } |
16911 | |
|
16912 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
16913 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
16914 | | /* point is not sensitive, so no need to zeroize */ |
16915 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
16916 | 0 | #endif |
16917 | |
|
16918 | 0 | return err; |
16919 | 0 | } |
16920 | | |
16921 | | #ifdef WOLFSSL_SP_NONBLOCK |
16922 | | typedef struct sp_ecc_key_gen_256_ctx { |
16923 | | int state; |
16924 | | sp_256_ecc_mulmod_4_ctx mulmod_ctx; |
16925 | | sp_digit k[4]; |
16926 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16927 | | sp_point_256 point[2]; |
16928 | | #else |
16929 | | sp_point_256 point[1]; |
16930 | | #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN */ |
16931 | | } sp_ecc_key_gen_256_ctx; |
16932 | | |
16933 | | int sp_ecc_make_key_256_nb(sp_ecc_ctx_t* sp_ctx, WC_RNG* rng, mp_int* priv, |
16934 | | ecc_point* pub, void* heap) |
16935 | | { |
16936 | | int err = FP_WOULDBLOCK; |
16937 | | sp_ecc_key_gen_256_ctx* ctx = (sp_ecc_key_gen_256_ctx*)sp_ctx->data; |
16938 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16939 | | sp_point_256* infinity = ctx->point + 1; |
16940 | | #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN */ |
16941 | | |
16942 | | typedef char ctx_size_test[sizeof(sp_ecc_key_gen_256_ctx) |
16943 | | >= sizeof(*sp_ctx) ? -1 : 1]; |
16944 | | (void)sizeof(ctx_size_test); |
16945 | | |
16946 | | switch (ctx->state) { |
16947 | | case 0: |
16948 | | err = sp_256_ecc_gen_k_4(rng, ctx->k); |
16949 | | if (err == MP_OKAY) { |
16950 | | err = FP_WOULDBLOCK; |
16951 | | ctx->state = 1; |
16952 | | } |
16953 | | break; |
16954 | | case 1: |
16955 | | err = sp_256_ecc_mulmod_base_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, |
16956 | | ctx->point, ctx->k, 1, 1, heap); |
16957 | | if (err == MP_OKAY) { |
16958 | | err = FP_WOULDBLOCK; |
16959 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16960 | | XMEMSET(&ctx->mulmod_ctx, 0, sizeof(ctx->mulmod_ctx)); |
16961 | | ctx->state = 2; |
16962 | | #else |
16963 | | ctx->state = 3; |
16964 | | #endif |
16965 | | } |
16966 | | break; |
16967 | | #ifdef WOLFSSL_VALIDATE_ECC_KEYGEN |
16968 | | case 2: |
16969 | | err = sp_256_ecc_mulmod_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, |
16970 | | infinity, ctx->point, p256_sm2_order, 1, 1); |
16971 | | if (err == MP_OKAY) { |
16972 | | if (sp_256_iszero_4(ctx->point->x) || |
16973 | | sp_256_iszero_4(ctx->point->y)) { |
16974 | | err = ECC_INF_E; |
16975 | | } |
16976 | | else { |
16977 | | err = FP_WOULDBLOCK; |
16978 | | ctx->state = 3; |
16979 | | } |
16980 | | } |
16981 | | break; |
16982 | | #endif /* WOLFSSL_VALIDATE_ECC_KEYGEN */ |
16983 | | case 3: |
16984 | | err = sp_256_to_mp(ctx->k, priv); |
16985 | | if (err == MP_OKAY) { |
16986 | | err = sp_256_point_to_ecc_point_4(ctx->point, pub); |
16987 | | } |
16988 | | break; |
16989 | | } |
16990 | | |
16991 | | if (err != FP_WOULDBLOCK) { |
16992 | | XMEMSET(ctx, 0, sizeof(sp_ecc_key_gen_256_ctx)); |
16993 | | } |
16994 | | |
16995 | | return err; |
16996 | | } |
16997 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
16998 | | |
16999 | | #ifdef HAVE_ECC_DHE |
17000 | | #ifdef __cplusplus |
17001 | | extern "C" { |
17002 | | #endif |
17003 | | extern void sp_256_to_bin_bswap_sm2_4(sp_digit* r, byte* a); |
17004 | | #ifdef __cplusplus |
17005 | | } |
17006 | | #endif |
17007 | | #ifdef __cplusplus |
17008 | | extern "C" { |
17009 | | #endif |
17010 | | extern void sp_256_to_bin_movbe_sm2_4(sp_digit* r, byte* a); |
17011 | | #ifdef __cplusplus |
17012 | | } |
17013 | | #endif |
17014 | | /* Write r as big endian to byte array. |
17015 | | * Fixed length number of bytes written: 32 |
17016 | | * |
17017 | | * r A single precision integer. |
17018 | | * a Byte array. |
17019 | | */ |
17020 | | static void sp_256_to_bin_4(sp_digit* r, byte* a) |
17021 | 0 | { |
17022 | 0 | #ifndef NO_MOVBE_SUPPORT |
17023 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
17024 | |
|
17025 | 0 | if (IS_INTEL_MOVBE(cpuid_flags)) { |
17026 | 0 | sp_256_to_bin_movbe_sm2_4(r, a); |
17027 | 0 | } |
17028 | 0 | else |
17029 | 0 | #endif |
17030 | 0 | { |
17031 | 0 | sp_256_to_bin_bswap_sm2_4(r, a); |
17032 | 0 | } |
17033 | 0 | } |
17034 | | |
17035 | | /* Multiply the point by the scalar and serialize the X ordinate. |
17036 | | * The number is 0 padded to maximum size on output. |
17037 | | * |
17038 | | * priv Scalar to multiply the point by. |
17039 | | * pub Point to multiply. |
17040 | | * out Buffer to hold X ordinate. |
17041 | | * outLen On entry, size of the buffer in bytes. |
17042 | | * On exit, length of data in buffer in bytes. |
17043 | | * heap Heap to use for allocation. |
17044 | | * returns BUFFER_E if the buffer is to small for output size, |
17045 | | * MEMORY_E when memory allocation fails and MP_OKAY on success. |
17046 | | */ |
17047 | | int sp_ecc_secret_gen_sm2_256(const mp_int* priv, const ecc_point* pub, byte* out, |
17048 | | word32* outLen, void* heap) |
17049 | 0 | { |
17050 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17051 | 0 | sp_point_256* point = NULL; |
17052 | 0 | sp_digit* k = NULL; |
17053 | | #else |
17054 | | sp_point_256 point[1]; |
17055 | | sp_digit k[4]; |
17056 | | #endif |
17057 | 0 | int err = MP_OKAY; |
17058 | 0 | #ifdef HAVE_INTEL_AVX2 |
17059 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
17060 | 0 | #endif |
17061 | |
|
17062 | 0 | if (*outLen < 32U) { |
17063 | 0 | err = BUFFER_E; |
17064 | 0 | } |
17065 | |
|
17066 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17067 | 0 | if (err == MP_OKAY) { |
17068 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, |
17069 | 0 | DYNAMIC_TYPE_ECC); |
17070 | 0 | if (point == NULL) |
17071 | 0 | err = MEMORY_E; |
17072 | 0 | } |
17073 | 0 | if (err == MP_OKAY) { |
17074 | 0 | k = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap, |
17075 | 0 | DYNAMIC_TYPE_ECC); |
17076 | 0 | if (k == NULL) |
17077 | 0 | err = MEMORY_E; |
17078 | 0 | } |
17079 | 0 | #endif |
17080 | |
|
17081 | 0 | if (err == MP_OKAY) { |
17082 | 0 | sp_256_from_mp(k, 4, priv); |
17083 | 0 | sp_256_point_from_ecc_point_4(point, pub); |
17084 | 0 | #ifdef HAVE_INTEL_AVX2 |
17085 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
17086 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
17087 | 0 | err = sp_256_ecc_mulmod_avx2_sm2_4(point, point, k, 1, 1, heap); |
17088 | 0 | } |
17089 | 0 | else |
17090 | 0 | #endif |
17091 | 0 | err = sp_256_ecc_mulmod_sm2_4(point, point, k, 1, 1, heap); |
17092 | 0 | } |
17093 | 0 | if (err == MP_OKAY) { |
17094 | 0 | sp_256_to_bin_4(point->x, out); |
17095 | 0 | *outLen = 32; |
17096 | 0 | } |
17097 | |
|
17098 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17099 | 0 | XFREE(k, heap, DYNAMIC_TYPE_ECC); |
17100 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
17101 | 0 | #endif |
17102 | |
|
17103 | 0 | return err; |
17104 | 0 | } |
17105 | | |
17106 | | #ifdef WOLFSSL_SP_NONBLOCK |
17107 | | typedef struct sp_ecc_sec_gen_256_ctx { |
17108 | | int state; |
17109 | | union { |
17110 | | sp_256_ecc_mulmod_4_ctx mulmod_ctx; |
17111 | | }; |
17112 | | sp_digit k[4]; |
17113 | | sp_point_256 point; |
17114 | | } sp_ecc_sec_gen_256_ctx; |
17115 | | |
17116 | | int sp_ecc_secret_gen_256_nb(sp_ecc_ctx_t* sp_ctx, const mp_int* priv, |
17117 | | const ecc_point* pub, byte* out, word32* outLen, void* heap) |
17118 | | { |
17119 | | int err = FP_WOULDBLOCK; |
17120 | | sp_ecc_sec_gen_256_ctx* ctx = (sp_ecc_sec_gen_256_ctx*)sp_ctx->data; |
17121 | | |
17122 | | typedef char ctx_size_test[sizeof(sp_ecc_sec_gen_256_ctx) >= sizeof(*sp_ctx) ? -1 : 1]; |
17123 | | (void)sizeof(ctx_size_test); |
17124 | | |
17125 | | if (*outLen < 32U) { |
17126 | | err = BUFFER_E; |
17127 | | } |
17128 | | |
17129 | | switch (ctx->state) { |
17130 | | case 0: |
17131 | | sp_256_from_mp(ctx->k, 4, priv); |
17132 | | sp_256_point_from_ecc_point_4(&ctx->point, pub); |
17133 | | ctx->state = 1; |
17134 | | break; |
17135 | | case 1: |
17136 | | err = sp_256_ecc_mulmod_sm2_4_nb((sp_ecc_ctx_t*)&ctx->mulmod_ctx, |
17137 | | &ctx->point, &ctx->point, ctx->k, 1, 1, heap); |
17138 | | if (err == MP_OKAY) { |
17139 | | sp_256_to_bin_4(ctx->point.x, out); |
17140 | | *outLen = 32; |
17141 | | } |
17142 | | break; |
17143 | | } |
17144 | | |
17145 | | if (err == MP_OKAY && ctx->state != 1) { |
17146 | | err = FP_WOULDBLOCK; |
17147 | | } |
17148 | | if (err != FP_WOULDBLOCK) { |
17149 | | XMEMSET(ctx, 0, sizeof(sp_ecc_sec_gen_256_ctx)); |
17150 | | } |
17151 | | |
17152 | | return err; |
17153 | | } |
17154 | | #endif /* WOLFSSL_SP_NONBLOCK */ |
17155 | | #endif /* HAVE_ECC_DHE */ |
17156 | | |
17157 | | #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY) |
17158 | | #endif |
17159 | | #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY) |
17160 | | #ifdef HAVE_INTEL_AVX2 |
17161 | | #endif /* HAVE_INTEL_AVX2 */ |
17162 | | #endif |
17163 | | #ifdef __cplusplus |
17164 | | extern "C" { |
17165 | | #endif |
17166 | | extern sp_digit sp_256_cond_add_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b, sp_digit m); |
17167 | | #ifdef __cplusplus |
17168 | | } |
17169 | | #endif |
17170 | | #if defined(HAVE_ECC_SIGN) || defined(HAVE_ECC_VERIFY) |
17171 | | #ifdef WOLFSSL_SP_SMALL |
17172 | | /* Order-2 for the SM2 P256 curve. */ |
17173 | | static const uint64_t p256_sm2_order_minus_2[4] = { |
17174 | | 0x53bbf40939d54121U,0x7203df6b21c6052bU,0xffffffffffffffffU, |
17175 | | 0xfffffffeffffffffU |
17176 | | }; |
17177 | | #else |
17178 | | #ifdef HAVE_ECC_SIGN |
17179 | | /* The low half of the order-2 of the SM2 P256 curve. */ |
17180 | | static const uint64_t p256_sm2_order_low[2] = { |
17181 | | 0x53bbf40939d54121U,0x7203df6b21c6052bU |
17182 | | }; |
17183 | | #endif /* HAVE_ECC_SIGN */ |
17184 | | #endif /* WOLFSSL_SP_SMALL */ |
17185 | | |
17186 | | #ifdef HAVE_ECC_SIGN |
17187 | | /* Multiply two number mod the order of P256 curve. (r = a * b mod order) |
17188 | | * |
17189 | | * r Result of the multiplication. |
17190 | | * a First operand of the multiplication. |
17191 | | * b Second operand of the multiplication. |
17192 | | */ |
17193 | | static void sp_256_mont_mul_order_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b) |
17194 | 0 | { |
17195 | 0 | sp_256_mul_sm2_4(r, a, b); |
17196 | 0 | sp_256_mont_reduce_order_sm2_4(r, p256_sm2_order, p256_sm2_mp_order); |
17197 | 0 | } |
17198 | | |
17199 | | /* Square number mod the order of P256 curve. (r = a * a mod order) |
17200 | | * |
17201 | | * r Result of the squaring. |
17202 | | * a Number to square. |
17203 | | */ |
17204 | | static void sp_256_mont_sqr_order_sm2_4(sp_digit* r, const sp_digit* a) |
17205 | 0 | { |
17206 | 0 | sp_256_sqr_sm2_4(r, a); |
17207 | 0 | sp_256_mont_reduce_order_sm2_4(r, p256_sm2_order, p256_sm2_mp_order); |
17208 | 0 | } |
17209 | | |
17210 | | #ifndef WOLFSSL_SP_SMALL |
17211 | | /* Square number mod the order of P256 curve a number of times. |
17212 | | * (r = a ^ n mod order) |
17213 | | * |
17214 | | * r Result of the squaring. |
17215 | | * a Number to square. |
17216 | | */ |
17217 | | static void sp_256_mont_sqr_n_order_sm2_4(sp_digit* r, const sp_digit* a, int n) |
17218 | 0 | { |
17219 | 0 | int i; |
17220 | |
|
17221 | 0 | sp_256_mont_sqr_order_sm2_4(r, a); |
17222 | 0 | for (i=1; i<n; i++) { |
17223 | 0 | sp_256_mont_sqr_order_sm2_4(r, r); |
17224 | 0 | } |
17225 | 0 | } |
17226 | | #endif /* !WOLFSSL_SP_SMALL */ |
17227 | | /* Invert the number, in Montgomery form, modulo the order of the P256 curve. |
17228 | | * (r = 1 / a mod order) |
17229 | | * |
17230 | | * r Inverse result. |
17231 | | * a Number to invert. |
17232 | | * td Temporary data. |
17233 | | */ |
17234 | | static void sp_256_mont_inv_order_sm2_4(sp_digit* r, const sp_digit* a, |
17235 | | sp_digit* td) |
17236 | 0 | { |
17237 | | #ifdef WOLFSSL_SP_SMALL |
17238 | | sp_digit* t = td; |
17239 | | int i; |
17240 | | |
17241 | | XMEMCPY(t, a, sizeof(sp_digit) * 4); |
17242 | | for (i=254; i>=0; i--) { |
17243 | | sp_256_mont_sqr_order_sm2_4(t, t); |
17244 | | if ((p256_sm2_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17245 | | sp_256_mont_mul_order_sm2_4(t, t, a); |
17246 | | } |
17247 | | } |
17248 | | XMEMCPY(r, t, sizeof(sp_digit) * 4U); |
17249 | | #else |
17250 | 0 | sp_digit* t = td; |
17251 | 0 | sp_digit* t2 = td + 2 * 4; |
17252 | 0 | sp_digit* t3 = td + 4 * 4; |
17253 | 0 | sp_digit* t4 = td + 6 * 4; |
17254 | 0 | int i; |
17255 | | |
17256 | | /* t4= a^2 */ |
17257 | 0 | sp_256_mont_sqr_order_sm2_4(t4, a); |
17258 | | /* t = a^3 = t4* a */ |
17259 | 0 | sp_256_mont_mul_order_sm2_4(t, t4, a); |
17260 | | /* t2= a^c = t ^ 2 ^ 2 */ |
17261 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t, 2); |
17262 | | /* t4= a^e = t2 * t4 */ |
17263 | 0 | sp_256_mont_mul_order_sm2_4(t4, t2, t4); |
17264 | | /* t3= a^f = t2 * t */ |
17265 | 0 | sp_256_mont_mul_order_sm2_4(t3, t2, t); |
17266 | | /* t2= a^f0 = t3 ^ 2 ^ 4 */ |
17267 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t3, 4); |
17268 | | /* t4 = a^fe = t2 * t4 */ |
17269 | 0 | sp_256_mont_mul_order_sm2_4(t4, t2, t4); |
17270 | | /* t = a^ff = t2 * t3 */ |
17271 | 0 | sp_256_mont_mul_order_sm2_4(t, t2, t3); |
17272 | | /* t2= a^ff00 = t ^ 2 ^ 8 */ |
17273 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t, 8); |
17274 | | /* t4 = a^fffe = t2 * t4 */ |
17275 | 0 | sp_256_mont_mul_order_sm2_4(t4, t2, t4); |
17276 | | /* t = a^ffff = t2 * t */ |
17277 | 0 | sp_256_mont_mul_order_sm2_4(t, t2, t); |
17278 | | /* t2= a^ffff0000 = t ^ 2 ^ 16 */ |
17279 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t, 16); |
17280 | | /* t4= a^fffffffe = t2 * t4 */ |
17281 | 0 | sp_256_mont_mul_order_sm2_4(t4, t2, t4); |
17282 | | /* t = a^ffffffff = t2 * t */ |
17283 | 0 | sp_256_mont_mul_order_sm2_4(t, t2, t); |
17284 | | /* t2= a^fffffffe00000000 = t4 ^ 2 ^ 32 */ |
17285 | 0 | sp_256_mont_sqr_n_order_sm2_4(t4, t4, 32); |
17286 | | /* t4= a^fffffffeffffffff = t4 * t */ |
17287 | 0 | sp_256_mont_mul_order_sm2_4(t4, t4, t); |
17288 | | /* t2= a^ffffffff00000000 = t ^ 2 ^ 32 */ |
17289 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t, 32); |
17290 | | /* t2= a^ffffffffffffffff = t2 * t */ |
17291 | 0 | sp_256_mont_mul_order_sm2_4(t, t2, t); |
17292 | | /* t4= a^fffffffeffffffff0000000000000000 = t4 ^ 2 ^ 64 */ |
17293 | 0 | sp_256_mont_sqr_n_order_sm2_4(t4, t4, 64); |
17294 | | /* t2= a^fffffffeffffffffffffffffffffffff = t4 * t2 */ |
17295 | 0 | sp_256_mont_mul_order_sm2_4(t2, t4, t); |
17296 | | /* t2= a^fffffffeffffffffffffffffffffffff7203d */ |
17297 | 0 | for (i=127; i>=108; i--) { |
17298 | 0 | sp_256_mont_sqr_order_sm2_4(t2, t2); |
17299 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17300 | 0 | sp_256_mont_mul_order_sm2_4(t2, t2, a); |
17301 | 0 | } |
17302 | 0 | } |
17303 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df */ |
17304 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t2, 4); |
17305 | 0 | sp_256_mont_mul_order_sm2_4(t2, t2, t3); |
17306 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bb */ |
17307 | 0 | for (i=103; i>=48; i--) { |
17308 | 0 | sp_256_mont_sqr_order_sm2_4(t2, t2); |
17309 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17310 | 0 | sp_256_mont_mul_order_sm2_4(t2, t2, a); |
17311 | 0 | } |
17312 | 0 | } |
17313 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf */ |
17314 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t2, 4); |
17315 | 0 | sp_256_mont_mul_order_sm2_4(t2, t2, t3); |
17316 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d5412 */ |
17317 | 0 | for (i=43; i>=4; i--) { |
17318 | 0 | sp_256_mont_sqr_order_sm2_4(t2, t2); |
17319 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17320 | 0 | sp_256_mont_mul_order_sm2_4(t2, t2, a); |
17321 | 0 | } |
17322 | 0 | } |
17323 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54120 */ |
17324 | 0 | sp_256_mont_sqr_n_order_sm2_4(t2, t2, 4); |
17325 | | /* r = a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54121 */ |
17326 | 0 | sp_256_mont_mul_order_sm2_4(r, t2, a); |
17327 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
17328 | 0 | } |
17329 | | #endif /* HAVE_ECC_SIGN */ |
17330 | | |
17331 | | #ifdef HAVE_INTEL_AVX2 |
17332 | | #ifdef HAVE_ECC_SIGN |
17333 | | /* Multiply two number mod the order of P256 curve. (r = a * b mod order) |
17334 | | * |
17335 | | * r Result of the multiplication. |
17336 | | * a First operand of the multiplication. |
17337 | | * b Second operand of the multiplication. |
17338 | | */ |
17339 | | static void sp_256_mont_mul_order_avx2_sm2_4(sp_digit* r, const sp_digit* a, const sp_digit* b) |
17340 | 0 | { |
17341 | 0 | sp_256_mul_avx2_sm2_4(r, a, b); |
17342 | 0 | sp_256_mont_reduce_order_avx2_sm2_4(r, p256_sm2_order, p256_sm2_mp_order); |
17343 | 0 | } |
17344 | | |
17345 | | /* Square number mod the order of P256 curve. (r = a * a mod order) |
17346 | | * |
17347 | | * r Result of the squaring. |
17348 | | * a Number to square. |
17349 | | */ |
17350 | | static void sp_256_mont_sqr_order_avx2_sm2_4(sp_digit* r, const sp_digit* a) |
17351 | 0 | { |
17352 | 0 | sp_256_sqr_avx2_sm2_4(r, a); |
17353 | 0 | sp_256_mont_reduce_order_avx2_sm2_4(r, p256_sm2_order, p256_sm2_mp_order); |
17354 | 0 | } |
17355 | | |
17356 | | #ifndef WOLFSSL_SP_SMALL |
17357 | | /* Square number mod the order of P256 curve a number of times. |
17358 | | * (r = a ^ n mod order) |
17359 | | * |
17360 | | * r Result of the squaring. |
17361 | | * a Number to square. |
17362 | | */ |
17363 | | static void sp_256_mont_sqr_n_order_avx2_sm2_4(sp_digit* r, const sp_digit* a, int n) |
17364 | 0 | { |
17365 | 0 | int i; |
17366 | |
|
17367 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(r, a); |
17368 | 0 | for (i=1; i<n; i++) { |
17369 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(r, r); |
17370 | 0 | } |
17371 | 0 | } |
17372 | | #endif /* !WOLFSSL_SP_SMALL */ |
17373 | | /* Invert the number, in Montgomery form, modulo the order of the P256 curve. |
17374 | | * (r = 1 / a mod order) |
17375 | | * |
17376 | | * r Inverse result. |
17377 | | * a Number to invert. |
17378 | | * td Temporary data. |
17379 | | */ |
17380 | | static void sp_256_mont_inv_order_avx2_sm2_4(sp_digit* r, const sp_digit* a, |
17381 | | sp_digit* td) |
17382 | 0 | { |
17383 | | #ifdef WOLFSSL_SP_SMALL |
17384 | | sp_digit* t = td; |
17385 | | int i; |
17386 | | |
17387 | | XMEMCPY(t, a, sizeof(sp_digit) * 4); |
17388 | | for (i=254; i>=0; i--) { |
17389 | | sp_256_mont_sqr_order_avx2_sm2_4(t, t); |
17390 | | if ((p256_sm2_order_minus_2[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17391 | | sp_256_mont_mul_order_avx2_sm2_4(t, t, a); |
17392 | | } |
17393 | | } |
17394 | | XMEMCPY(r, t, sizeof(sp_digit) * 4U); |
17395 | | #else |
17396 | 0 | sp_digit* t = td; |
17397 | 0 | sp_digit* t2 = td + 2 * 4; |
17398 | 0 | sp_digit* t3 = td + 4 * 4; |
17399 | 0 | sp_digit* t4 = td + 6 * 4; |
17400 | 0 | int i; |
17401 | | |
17402 | | /* t4= a^2 */ |
17403 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(t4, a); |
17404 | | /* t = a^3 = t4* a */ |
17405 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t, t4, a); |
17406 | | /* t2= a^c = t ^ 2 ^ 2 */ |
17407 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t, 2); |
17408 | | /* t4= a^e = t2 * t4 */ |
17409 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t4, t2, t4); |
17410 | | /* t3= a^f = t2 * t */ |
17411 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t3, t2, t); |
17412 | | /* t2= a^f0 = t3 ^ 2 ^ 4 */ |
17413 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t3, 4); |
17414 | | /* t4 = a^fe = t2 * t4 */ |
17415 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t4, t2, t4); |
17416 | | /* t = a^ff = t2 * t3 */ |
17417 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t, t2, t3); |
17418 | | /* t2= a^ff00 = t ^ 2 ^ 8 */ |
17419 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t, 8); |
17420 | | /* t4 = a^fffe = t2 * t4 */ |
17421 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t4, t2, t4); |
17422 | | /* t = a^ffff = t2 * t */ |
17423 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t, t2, t); |
17424 | | /* t2= a^ffff0000 = t ^ 2 ^ 16 */ |
17425 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t, 16); |
17426 | | /* t4= a^fffffffe = t2 * t4 */ |
17427 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t4, t2, t4); |
17428 | | /* t = a^ffffffff = t2 * t */ |
17429 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t, t2, t); |
17430 | | /* t2= a^fffffffe00000000 = t4 ^ 2 ^ 32 */ |
17431 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t4, t4, 32); |
17432 | | /* t4= a^fffffffeffffffff = t4 * t */ |
17433 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t4, t4, t); |
17434 | | /* t2= a^ffffffff00000000 = t ^ 2 ^ 32 */ |
17435 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t, 32); |
17436 | | /* t2= a^ffffffffffffffff = t2 * t */ |
17437 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t, t2, t); |
17438 | | /* t4= a^fffffffeffffffff0000000000000000 = t4 ^ 2 ^ 64 */ |
17439 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t4, t4, 64); |
17440 | | /* t2= a^fffffffeffffffffffffffffffffffff = t4 * t2 */ |
17441 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t4, t); |
17442 | | /* t2= a^fffffffeffffffffffffffffffffffff7203d */ |
17443 | 0 | for (i=127; i>=108; i--) { |
17444 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(t2, t2); |
17445 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17446 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t2, a); |
17447 | 0 | } |
17448 | 0 | } |
17449 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df */ |
17450 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t2, 4); |
17451 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t2, t3); |
17452 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bb */ |
17453 | 0 | for (i=103; i>=48; i--) { |
17454 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(t2, t2); |
17455 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17456 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t2, a); |
17457 | 0 | } |
17458 | 0 | } |
17459 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf */ |
17460 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t2, 4); |
17461 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t2, t3); |
17462 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d5412 */ |
17463 | 0 | for (i=43; i>=4; i--) { |
17464 | 0 | sp_256_mont_sqr_order_avx2_sm2_4(t2, t2); |
17465 | 0 | if (((sp_digit)p256_sm2_order_low[i / 64] & ((sp_int_digit)1 << (i % 64))) != 0) { |
17466 | 0 | sp_256_mont_mul_order_avx2_sm2_4(t2, t2, a); |
17467 | 0 | } |
17468 | 0 | } |
17469 | | /* t2= a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54120 */ |
17470 | 0 | sp_256_mont_sqr_n_order_avx2_sm2_4(t2, t2, 4); |
17471 | | /* r = a^fffffffeffffffffffffffffffffffff7203df6b21c6052b53bbf40939d54121 */ |
17472 | 0 | sp_256_mont_mul_order_avx2_sm2_4(r, t2, a); |
17473 | 0 | #endif /* WOLFSSL_SP_SMALL */ |
17474 | 0 | } |
17475 | | #endif /* HAVE_ECC_SIGN */ |
17476 | | |
17477 | | #endif /* HAVE_INTEL_AVX2 */ |
17478 | | #endif /* HAVE_ECC_SIGN || HAVE_ECC_VERIFY */ |
17479 | | #ifdef HAVE_ECC_SIGN |
17480 | | #ifndef SP_ECC_MAX_SIG_GEN |
17481 | 0 | #define SP_ECC_MAX_SIG_GEN 64 |
17482 | | #endif |
17483 | | |
17484 | | /* Sign the hash using the private key. |
17485 | | * |
17486 | | * hash Hash to sign. |
17487 | | * hashLen Length of the hash data. |
17488 | | * rng Random number generator. |
17489 | | * priv Private part of key - scalar. |
17490 | | * rm First part of result as an mp_int. |
17491 | | * sm Sirst part of result as an mp_int. |
17492 | | * heap Heap to use for allocation. |
17493 | | * returns RNG failures, MEMORY_E when memory allocation fails and |
17494 | | * MP_OKAY on success. |
17495 | | */ |
17496 | | int sp_ecc_sign_sm2_256(const byte* hash, word32 hashLen, WC_RNG* rng, |
17497 | | const mp_int* priv, mp_int* rm, mp_int* sm, mp_int* km, void* heap) |
17498 | 0 | { |
17499 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17500 | 0 | sp_digit* d = NULL; |
17501 | 0 | sp_point_256* point = NULL; |
17502 | | #else |
17503 | | sp_digit d[4 * 10*4]; |
17504 | | sp_point_256 point[1]; |
17505 | | #endif |
17506 | 0 | sp_digit* e = NULL; |
17507 | 0 | sp_digit* x = NULL; |
17508 | 0 | sp_digit* k = NULL; |
17509 | 0 | sp_digit* r = NULL; |
17510 | 0 | sp_digit* tmp = NULL; |
17511 | 0 | sp_digit* s = NULL; |
17512 | 0 | sp_digit* xInv = NULL; |
17513 | 0 | int err = MP_OKAY; |
17514 | 0 | sp_int64 c; |
17515 | 0 | int i; |
17516 | 0 | #ifdef HAVE_INTEL_AVX2 |
17517 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
17518 | 0 | #endif |
17519 | |
|
17520 | 0 | (void)heap; |
17521 | |
|
17522 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17523 | 0 | if (err == MP_OKAY) { |
17524 | 0 | d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 8 * 2 * 4, heap, |
17525 | 0 | DYNAMIC_TYPE_ECC); |
17526 | 0 | if (d == NULL) { |
17527 | 0 | err = MEMORY_E; |
17528 | 0 | } |
17529 | 0 | } |
17530 | |
|
17531 | 0 | if (err == MP_OKAY) { |
17532 | 0 | point = (sp_point_256*)XMALLOC(sizeof(sp_point_256), heap, |
17533 | 0 | DYNAMIC_TYPE_ECC); |
17534 | 0 | if (point == NULL) { |
17535 | 0 | err = MEMORY_E; |
17536 | 0 | } |
17537 | 0 | } |
17538 | 0 | #endif |
17539 | |
|
17540 | 0 | if (err == MP_OKAY) { |
17541 | 0 | e = d + 0 * 4; |
17542 | 0 | x = d + 2 * 4; |
17543 | 0 | k = d + 4 * 4; |
17544 | 0 | r = d + 6 * 4; |
17545 | 0 | tmp = d + 8 * 4; |
17546 | 0 | s = e; |
17547 | 0 | xInv = x; |
17548 | |
|
17549 | 0 | if (hashLen > 32U) { |
17550 | 0 | hashLen = 32U; |
17551 | 0 | } |
17552 | |
|
17553 | 0 | sp_256_from_bin(e, 4, hash, (int)hashLen); |
17554 | 0 | } |
17555 | |
|
17556 | 0 | for (i = SP_ECC_MAX_SIG_GEN; err == MP_OKAY && i > 0; i--) { |
17557 | 0 | sp_256_from_mp(x, 4, priv); |
17558 | | |
17559 | | /* New random point. */ |
17560 | 0 | if (km == NULL || mp_iszero(km)) { |
17561 | 0 | err = sp_256_ecc_gen_k_sm2_4(rng, k); |
17562 | 0 | } |
17563 | 0 | else { |
17564 | 0 | sp_256_from_mp(k, 4, km); |
17565 | 0 | mp_zero(km); |
17566 | 0 | } |
17567 | 0 | if (err == MP_OKAY) { |
17568 | 0 | #ifdef HAVE_INTEL_AVX2 |
17569 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17570 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(point, k, 1, 1, heap); |
17571 | 0 | else |
17572 | 0 | #endif |
17573 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(point, k, 1, 1, NULL); |
17574 | 0 | } |
17575 | |
|
17576 | 0 | if (err == MP_OKAY) { |
17577 | | /* r = (point->x + e) mod order */ |
17578 | 0 | c = sp_256_add_sm2_4(r, point->x, e); |
17579 | 0 | sp_256_cond_sub_sm2_4(r, r, p256_sm2_order, 0L - (sp_digit)c); |
17580 | 0 | c = sp_256_cmp_sm2_4(r, p256_sm2_order); |
17581 | 0 | sp_256_cond_sub_sm2_4(r, r, p256_sm2_order, 0L - (sp_digit)(c >= 0)); |
17582 | | |
17583 | | /* Try again if r == 0 */ |
17584 | 0 | if (sp_256_iszero_4(r)) { |
17585 | 0 | continue; |
17586 | 0 | } |
17587 | | |
17588 | | /* Try again if r + k == 0 */ |
17589 | 0 | c = sp_256_add_sm2_4(s, k, r); |
17590 | 0 | sp_256_cond_sub_sm2_4(s, s, p256_sm2_order, 0L - (sp_digit)c); |
17591 | 0 | c = sp_256_cmp_sm2_4(s, p256_sm2_order); |
17592 | 0 | sp_256_cond_sub_sm2_4(s, s, p256_sm2_order, 0L - (sp_digit)(c >= 0)); |
17593 | 0 | if (sp_256_iszero_4(s)) { |
17594 | 0 | continue; |
17595 | 0 | } |
17596 | | |
17597 | | /* Conv x to Montgomery form (mod order) */ |
17598 | 0 | #ifdef HAVE_INTEL_AVX2 |
17599 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17600 | 0 | sp_256_mul_avx2_sm2_4(x, x, p256_sm2_norm_order); |
17601 | 0 | else |
17602 | 0 | #endif |
17603 | 0 | sp_256_mul_sm2_4(x, x, p256_sm2_norm_order); |
17604 | 0 | err = sp_256_mod_sm2_4(x, x, p256_sm2_order); |
17605 | 0 | } |
17606 | 0 | if (err == MP_OKAY) { |
17607 | 0 | sp_256_norm_4(x); |
17608 | | |
17609 | | /* s = k - r * x */ |
17610 | 0 | #ifdef HAVE_INTEL_AVX2 |
17611 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17612 | 0 | sp_256_mont_mul_order_avx2_sm2_4(s, x, r); |
17613 | 0 | else |
17614 | 0 | #endif |
17615 | 0 | sp_256_mont_mul_order_sm2_4(s, x, r); |
17616 | 0 | } |
17617 | 0 | if (err == MP_OKAY) { |
17618 | 0 | sp_256_norm_4(s); |
17619 | 0 | c = sp_256_sub_sm2_4(s, k, s); |
17620 | 0 | sp_256_cond_add_sm2_4(s, s, p256_sm2_order, c); |
17621 | 0 | sp_256_norm_4(s); |
17622 | | |
17623 | | /* xInv = 1/(x+1) mod order */ |
17624 | 0 | sp_256_add_sm2_4(x, x, p256_sm2_norm_order); |
17625 | |
|
17626 | 0 | #ifdef HAVE_INTEL_AVX2 |
17627 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17628 | 0 | sp_256_mont_inv_order_avx2_sm2_4(xInv, x, tmp); |
17629 | 0 | else |
17630 | 0 | #endif |
17631 | 0 | sp_256_mont_inv_order_sm2_4(xInv, x, tmp); |
17632 | 0 | sp_256_norm_4(xInv); |
17633 | | |
17634 | | /* s = s * (x+1)^-1 mod order */ |
17635 | 0 | #ifdef HAVE_INTEL_AVX2 |
17636 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17637 | 0 | sp_256_mont_mul_order_avx2_sm2_4(s, s, xInv); |
17638 | 0 | else |
17639 | 0 | #endif |
17640 | 0 | sp_256_mont_mul_order_sm2_4(s, s, xInv); |
17641 | 0 | sp_256_norm_4(s); |
17642 | |
|
17643 | 0 | c = sp_256_cmp_sm2_4(s, p256_sm2_order); |
17644 | 0 | sp_256_cond_sub_sm2_4(s, s, p256_sm2_order, |
17645 | 0 | 0L - (sp_digit)(c >= 0)); |
17646 | 0 | sp_256_norm_4(s); |
17647 | | |
17648 | | /* Check that signature is usable. */ |
17649 | 0 | if (sp_256_iszero_4(s) == 0) { |
17650 | 0 | break; |
17651 | 0 | } |
17652 | 0 | } |
17653 | 0 | } |
17654 | |
|
17655 | 0 | if (i == 0) { |
17656 | 0 | err = RNG_FAILURE_E; |
17657 | 0 | } |
17658 | |
|
17659 | 0 | if (err == MP_OKAY) { |
17660 | 0 | err = sp_256_to_mp(r, rm); |
17661 | 0 | } |
17662 | 0 | if (err == MP_OKAY) { |
17663 | 0 | err = sp_256_to_mp(s, sm); |
17664 | 0 | } |
17665 | |
|
17666 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17667 | 0 | if (d != NULL) { |
17668 | 0 | XMEMSET(d, 0, sizeof(sp_digit) * 8 * 4); |
17669 | 0 | XFREE(d, heap, DYNAMIC_TYPE_ECC); |
17670 | 0 | } |
17671 | 0 | if (point != NULL) { |
17672 | 0 | XFREE(point, heap, DYNAMIC_TYPE_ECC); |
17673 | 0 | } |
17674 | | #else |
17675 | | XMEMSET(e, 0, sizeof(sp_digit) * 2U * 4U); |
17676 | | XMEMSET(x, 0, sizeof(sp_digit) * 2U * 4U); |
17677 | | XMEMSET(k, 0, sizeof(sp_digit) * 2U * 4U); |
17678 | | XMEMSET(r, 0, sizeof(sp_digit) * 2U * 4U); |
17679 | | XMEMSET(r, 0, sizeof(sp_digit) * 2U * 4U); |
17680 | | XMEMSET(tmp, 0, sizeof(sp_digit) * 4U * 2U * 4U); |
17681 | | #endif |
17682 | |
|
17683 | 0 | return err; |
17684 | 0 | } |
17685 | | #endif /* HAVE_ECC_SIGN */ |
17686 | | |
17687 | | #ifdef HAVE_ECC_VERIFY |
17688 | | int sp_ecc_verify_sm2_256(const byte* hash, word32 hashLen, const mp_int* pX, |
17689 | | const mp_int* pY, const mp_int* pZ, const mp_int* rm, const mp_int* sm, |
17690 | | int* res, void* heap) |
17691 | 0 | { |
17692 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17693 | 0 | sp_digit* d = NULL; |
17694 | 0 | sp_point_256* p1 = NULL; |
17695 | | #else |
17696 | | sp_digit d[8*4 * 7]; |
17697 | | sp_point_256 p1[2]; |
17698 | | #endif |
17699 | 0 | sp_digit* e = NULL; |
17700 | 0 | sp_digit* r = NULL; |
17701 | 0 | sp_digit* s = NULL; |
17702 | 0 | sp_digit* tmp = NULL; |
17703 | 0 | sp_point_256* p2 = NULL; |
17704 | 0 | sp_digit carry; |
17705 | 0 | int err = MP_OKAY; |
17706 | 0 | int done = 0; |
17707 | 0 | #ifdef HAVE_INTEL_AVX2 |
17708 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
17709 | 0 | #endif |
17710 | |
|
17711 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17712 | 0 | if (err == MP_OKAY) { |
17713 | 0 | d = (sp_digit*)XMALLOC(sizeof(sp_digit) * 20 * 4, heap, |
17714 | 0 | DYNAMIC_TYPE_ECC); |
17715 | 0 | if (d == NULL) { |
17716 | 0 | err = MEMORY_E; |
17717 | 0 | } |
17718 | 0 | } |
17719 | |
|
17720 | 0 | if (err == MP_OKAY) { |
17721 | 0 | p1 = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
17722 | 0 | DYNAMIC_TYPE_ECC); |
17723 | 0 | if (p1 == NULL) { |
17724 | 0 | err = MEMORY_E; |
17725 | 0 | } |
17726 | 0 | } |
17727 | 0 | #endif |
17728 | |
|
17729 | 0 | if (err == MP_OKAY) { |
17730 | 0 | e = d + 0 * 4; |
17731 | 0 | r = d + 2 * 4; |
17732 | 0 | s = d + 4 * 4; |
17733 | 0 | tmp = d + 6 * 4; |
17734 | 0 | p2 = p1 + 1; |
17735 | |
|
17736 | 0 | if (hashLen > 32U) { |
17737 | 0 | hashLen = 32U; |
17738 | 0 | } |
17739 | |
|
17740 | 0 | sp_256_from_mp(r, 4, rm); |
17741 | 0 | sp_256_from_mp(s, 4, sm); |
17742 | 0 | sp_256_from_mp(p2->x, 4, pX); |
17743 | 0 | sp_256_from_mp(p2->y, 4, pY); |
17744 | 0 | sp_256_from_mp(p2->z, 4, pZ); |
17745 | | |
17746 | |
|
17747 | 0 | if (sp_256_iszero_4(r) || |
17748 | 0 | sp_256_iszero_4(s) || |
17749 | 0 | (sp_256_cmp_sm2_4(r, p256_sm2_order) >= 0) || |
17750 | 0 | (sp_256_cmp_sm2_4(s, p256_sm2_order) >= 0)) { |
17751 | 0 | *res = 0; |
17752 | 0 | done = 1; |
17753 | 0 | } |
17754 | 0 | } |
17755 | |
|
17756 | 0 | if ((err == MP_OKAY) && (!done)) { |
17757 | 0 | carry = sp_256_add_sm2_4(e, r, s); |
17758 | 0 | sp_256_norm_4(e); |
17759 | 0 | if (carry || sp_256_cmp_sm2_4(e, p256_sm2_order) >= 0) { |
17760 | 0 | sp_256_sub_sm2_4(e, e, p256_sm2_order); sp_256_norm_4(e); |
17761 | 0 | } |
17762 | |
|
17763 | 0 | if (sp_256_iszero_4(e)) { |
17764 | 0 | *res = 0; |
17765 | 0 | done = 1; |
17766 | 0 | } |
17767 | 0 | } |
17768 | 0 | if ((err == MP_OKAY) && (!done)) { |
17769 | 0 | #ifdef HAVE_INTEL_AVX2 |
17770 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) |
17771 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(p1, s, 0, 0, heap); |
17772 | 0 | else |
17773 | 0 | #endif |
17774 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(p1, s, 0, 0, heap); |
17775 | 0 | } |
17776 | 0 | if ((err == MP_OKAY) && (!done)) { |
17777 | 0 | #ifdef HAVE_INTEL_AVX2 |
17778 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) { |
17779 | 0 | err = sp_256_ecc_mulmod_avx2_sm2_4(p2, p2, e, 0, 0, heap); |
17780 | 0 | } |
17781 | 0 | else |
17782 | 0 | #endif |
17783 | 0 | { |
17784 | 0 | err = sp_256_ecc_mulmod_sm2_4(p2, p2, e, 0, 0, heap); |
17785 | 0 | } |
17786 | 0 | } |
17787 | |
|
17788 | 0 | if ((err == MP_OKAY) && (!done)) { |
17789 | 0 | #ifdef HAVE_INTEL_AVX2 |
17790 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) { |
17791 | 0 | sp_256_proj_point_add_avx2_sm2_4(p1, p1, p2, tmp); |
17792 | 0 | if (sp_256_iszero_4(p1->z)) { |
17793 | 0 | if (sp_256_iszero_4(p1->x) && sp_256_iszero_4(p1->y)) { |
17794 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(p1, p2, tmp); |
17795 | 0 | } |
17796 | 0 | else { |
17797 | | /* Y ordinate is not used from here - don't set. */ |
17798 | 0 | p1->x[0] = 0; |
17799 | 0 | p1->x[1] = 0; |
17800 | 0 | p1->x[2] = 0; |
17801 | 0 | p1->x[3] = 0; |
17802 | 0 | XMEMCPY(p1->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
17803 | 0 | } |
17804 | 0 | } |
17805 | 0 | } |
17806 | 0 | else |
17807 | 0 | #endif |
17808 | 0 | { |
17809 | 0 | sp_256_proj_point_add_sm2_4(p1, p1, p2, tmp); |
17810 | 0 | if (sp_256_iszero_4(p1->z)) { |
17811 | 0 | if (sp_256_iszero_4(p1->x) && sp_256_iszero_4(p1->y)) { |
17812 | 0 | sp_256_proj_point_dbl_sm2_4(p1, p2, tmp); |
17813 | 0 | } |
17814 | 0 | else { |
17815 | | /* Y ordinate is not used from here - don't set. */ |
17816 | 0 | p1->x[0] = 0; |
17817 | 0 | p1->x[1] = 0; |
17818 | 0 | p1->x[2] = 0; |
17819 | 0 | p1->x[3] = 0; |
17820 | 0 | XMEMCPY(p1->z, p256_sm2_norm_mod, sizeof(p256_sm2_norm_mod)); |
17821 | 0 | } |
17822 | 0 | } |
17823 | 0 | } |
17824 | | |
17825 | | /* z' = z'.z' */ |
17826 | 0 | sp_256_mont_sqr_sm2_4(p1->z, p1->z, p256_sm2_mod, p256_sm2_mp_mod); |
17827 | 0 | XMEMSET(p1->x + 4, 0, 4U * sizeof(sp_digit)); |
17828 | 0 | sp_256_mont_reduce_sm2_4(p1->x, p256_sm2_mod, p256_sm2_mp_mod); |
17829 | | /* (r - e + n*order).z'.z' mod prime == (s.G + t.Q)->x' */ |
17830 | | /* Load e, subtract from r. */ |
17831 | 0 | sp_256_from_bin(e, 4, hash, (int)hashLen); |
17832 | 0 | if (sp_256_cmp_sm2_4(r, e) < 0) { |
17833 | 0 | (void)sp_256_add_sm2_4(r, r, p256_sm2_order); |
17834 | 0 | } |
17835 | 0 | sp_256_sub_sm2_4(e, r, e); |
17836 | 0 | sp_256_norm_4(e); |
17837 | | /* x' == (r - e).z'.z' mod prime */ |
17838 | 0 | sp_256_mont_mul_sm2_4(s, e, p1->z, p256_sm2_mod, p256_sm2_mp_mod); |
17839 | 0 | *res = (int)(sp_256_cmp_sm2_4(p1->x, s) == 0); |
17840 | 0 | if (*res == 0) { |
17841 | 0 | carry = sp_256_add_sm2_4(e, e, p256_sm2_order); |
17842 | 0 | if (!carry && sp_256_cmp_sm2_4(e, p256_sm2_mod) < 0) { |
17843 | | /* x' == (r - e + order).z'.z' mod prime */ |
17844 | 0 | sp_256_mont_mul_sm2_4(s, e, p1->z, p256_sm2_mod, p256_sm2_mp_mod); |
17845 | 0 | *res = (int)(sp_256_cmp_sm2_4(p1->x, s) == 0); |
17846 | 0 | } |
17847 | 0 | } |
17848 | 0 | } |
17849 | |
|
17850 | 0 | #if (defined(WOLFSSL_SP_SMALL) || defined(WOLFSSL_SMALL_STACK)) && !defined(WOLFSSL_SP_NO_MALLOC) |
17851 | 0 | if (d != NULL) |
17852 | 0 | XFREE(d, heap, DYNAMIC_TYPE_ECC); |
17853 | 0 | if (p1 != NULL) |
17854 | 0 | XFREE(p1, heap, DYNAMIC_TYPE_ECC); |
17855 | 0 | #endif |
17856 | |
|
17857 | 0 | return err; |
17858 | 0 | } |
17859 | | #endif /* HAVE_ECC_VERIFY */ |
17860 | | |
17861 | | #ifdef HAVE_ECC_CHECK_KEY |
17862 | | /* Check that the x and y ordinates are a valid point on the curve. |
17863 | | * |
17864 | | * point EC point. |
17865 | | * heap Heap to use if dynamically allocating. |
17866 | | * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is |
17867 | | * not on the curve and MP_OKAY otherwise. |
17868 | | */ |
17869 | | static int sp_256_ecc_is_point_sm2_4(const sp_point_256* point, |
17870 | | void* heap) |
17871 | 0 | { |
17872 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17873 | 0 | sp_digit* t1 = NULL; |
17874 | | #else |
17875 | | sp_digit t1[4 * 4]; |
17876 | | #endif |
17877 | 0 | sp_digit* t2 = NULL; |
17878 | 0 | int err = MP_OKAY; |
17879 | |
|
17880 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17881 | 0 | t1 = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, heap, DYNAMIC_TYPE_ECC); |
17882 | 0 | if (t1 == NULL) |
17883 | 0 | err = MEMORY_E; |
17884 | 0 | #endif |
17885 | 0 | (void)heap; |
17886 | |
|
17887 | 0 | if (err == MP_OKAY) { |
17888 | 0 | t2 = t1 + 2 * 4; |
17889 | | |
17890 | | /* y^2 - x^3 - a.x = b */ |
17891 | 0 | sp_256_sqr_sm2_4(t1, point->y); |
17892 | 0 | (void)sp_256_mod_sm2_4(t1, t1, p256_sm2_mod); |
17893 | 0 | sp_256_sqr_sm2_4(t2, point->x); |
17894 | 0 | (void)sp_256_mod_sm2_4(t2, t2, p256_sm2_mod); |
17895 | 0 | sp_256_mul_sm2_4(t2, t2, point->x); |
17896 | 0 | (void)sp_256_mod_sm2_4(t2, t2, p256_sm2_mod); |
17897 | 0 | sp_256_mont_sub_sm2_4(t1, t1, t2, p256_sm2_mod); |
17898 | | |
17899 | | /* y^2 - x^3 + 3.x = b, when a = -3 */ |
17900 | 0 | sp_256_mont_add_sm2_4(t1, t1, point->x, p256_sm2_mod); |
17901 | 0 | sp_256_mont_add_sm2_4(t1, t1, point->x, p256_sm2_mod); |
17902 | 0 | sp_256_mont_add_sm2_4(t1, t1, point->x, p256_sm2_mod); |
17903 | | |
17904 | |
|
17905 | 0 | if (sp_256_cmp_sm2_4(t1, p256_sm2_b) != 0) { |
17906 | 0 | err = MP_VAL; |
17907 | 0 | } |
17908 | 0 | } |
17909 | |
|
17910 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17911 | 0 | XFREE(t1, heap, DYNAMIC_TYPE_ECC); |
17912 | 0 | #endif |
17913 | |
|
17914 | 0 | return err; |
17915 | 0 | } |
17916 | | |
17917 | | /* Check that the x and y ordinates are a valid point on the curve. |
17918 | | * |
17919 | | * pX X ordinate of EC point. |
17920 | | * pY Y ordinate of EC point. |
17921 | | * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is |
17922 | | * not on the curve and MP_OKAY otherwise. |
17923 | | */ |
17924 | | int sp_ecc_is_point_sm2_256(const mp_int* pX, const mp_int* pY) |
17925 | 0 | { |
17926 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17927 | 0 | sp_point_256* pub = NULL; |
17928 | | #else |
17929 | | sp_point_256 pub[1]; |
17930 | | #endif |
17931 | 0 | const byte one[1] = { 1 }; |
17932 | 0 | int err = MP_OKAY; |
17933 | |
|
17934 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17935 | 0 | pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL, |
17936 | 0 | DYNAMIC_TYPE_ECC); |
17937 | 0 | if (pub == NULL) |
17938 | 0 | err = MEMORY_E; |
17939 | 0 | #endif |
17940 | |
|
17941 | 0 | if (err == MP_OKAY) { |
17942 | 0 | sp_256_from_mp(pub->x, 4, pX); |
17943 | 0 | sp_256_from_mp(pub->y, 4, pY); |
17944 | 0 | sp_256_from_bin(pub->z, 4, one, (int)sizeof(one)); |
17945 | |
|
17946 | 0 | err = sp_256_ecc_is_point_sm2_4(pub, NULL); |
17947 | 0 | } |
17948 | |
|
17949 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17950 | 0 | XFREE(pub, NULL, DYNAMIC_TYPE_ECC); |
17951 | 0 | #endif |
17952 | |
|
17953 | 0 | return err; |
17954 | 0 | } |
17955 | | |
17956 | | /* Check that the private scalar generates the EC point (px, py), the point is |
17957 | | * on the curve and the point has the correct order. |
17958 | | * |
17959 | | * pX X ordinate of EC point. |
17960 | | * pY Y ordinate of EC point. |
17961 | | * privm Private scalar that generates EC point. |
17962 | | * returns MEMORY_E if dynamic memory allocation fails, MP_VAL if the point is |
17963 | | * not on the curve, ECC_INF_E if the point does not have the correct order, |
17964 | | * ECC_PRIV_KEY_E when the private scalar doesn't generate the EC point and |
17965 | | * MP_OKAY otherwise. |
17966 | | */ |
17967 | | int sp_ecc_check_key_sm2_256(const mp_int* pX, const mp_int* pY, |
17968 | | const mp_int* privm, void* heap) |
17969 | 0 | { |
17970 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17971 | 0 | sp_digit* priv = NULL; |
17972 | 0 | sp_point_256* pub = NULL; |
17973 | | #else |
17974 | | sp_digit priv[4]; |
17975 | | sp_point_256 pub[2]; |
17976 | | #endif |
17977 | 0 | sp_point_256* p = NULL; |
17978 | 0 | const byte one[1] = { 1 }; |
17979 | 0 | int err = MP_OKAY; |
17980 | 0 | #ifdef HAVE_INTEL_AVX2 |
17981 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
17982 | 0 | #endif |
17983 | | |
17984 | | |
17985 | | /* Quick check the lengs of public key ordinates and private key are in |
17986 | | * range. Proper check later. |
17987 | | */ |
17988 | 0 | if (((mp_count_bits(pX) > 256) || |
17989 | 0 | (mp_count_bits(pY) > 256) || |
17990 | 0 | ((privm != NULL) && (mp_count_bits(privm) > 256)))) { |
17991 | 0 | err = ECC_OUT_OF_RANGE_E; |
17992 | 0 | } |
17993 | |
|
17994 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
17995 | 0 | if (err == MP_OKAY) { |
17996 | 0 | pub = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, heap, |
17997 | 0 | DYNAMIC_TYPE_ECC); |
17998 | 0 | if (pub == NULL) |
17999 | 0 | err = MEMORY_E; |
18000 | 0 | } |
18001 | 0 | if (err == MP_OKAY && privm) { |
18002 | 0 | priv = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4, heap, |
18003 | 0 | DYNAMIC_TYPE_ECC); |
18004 | 0 | if (priv == NULL) |
18005 | 0 | err = MEMORY_E; |
18006 | 0 | } |
18007 | 0 | #endif |
18008 | |
|
18009 | 0 | if (err == MP_OKAY) { |
18010 | 0 | p = pub + 1; |
18011 | |
|
18012 | 0 | sp_256_from_mp(pub->x, 4, pX); |
18013 | 0 | sp_256_from_mp(pub->y, 4, pY); |
18014 | 0 | sp_256_from_bin(pub->z, 4, one, (int)sizeof(one)); |
18015 | 0 | if (privm) |
18016 | 0 | sp_256_from_mp(priv, 4, privm); |
18017 | | |
18018 | | /* Check point at infinitiy. */ |
18019 | 0 | if ((sp_256_iszero_4(pub->x) != 0) && |
18020 | 0 | (sp_256_iszero_4(pub->y) != 0)) { |
18021 | 0 | err = ECC_INF_E; |
18022 | 0 | } |
18023 | 0 | } |
18024 | | |
18025 | | /* Check range of X and Y */ |
18026 | 0 | if ((err == MP_OKAY) && |
18027 | 0 | ((sp_256_cmp_sm2_4(pub->x, p256_sm2_mod) >= 0) || |
18028 | 0 | (sp_256_cmp_sm2_4(pub->y, p256_sm2_mod) >= 0))) { |
18029 | 0 | err = ECC_OUT_OF_RANGE_E; |
18030 | 0 | } |
18031 | |
|
18032 | 0 | if (err == MP_OKAY) { |
18033 | | /* Check point is on curve */ |
18034 | 0 | err = sp_256_ecc_is_point_sm2_4(pub, heap); |
18035 | 0 | } |
18036 | |
|
18037 | 0 | if (err == MP_OKAY) { |
18038 | | /* Point * order = infinity */ |
18039 | 0 | #ifdef HAVE_INTEL_AVX2 |
18040 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18041 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18042 | 0 | err = sp_256_ecc_mulmod_avx2_sm2_4(p, pub, p256_sm2_order, 1, 1, heap); |
18043 | 0 | } |
18044 | 0 | else |
18045 | 0 | #endif |
18046 | 0 | err = sp_256_ecc_mulmod_sm2_4(p, pub, p256_sm2_order, 1, 1, heap); |
18047 | 0 | } |
18048 | | /* Check result is infinity */ |
18049 | 0 | if ((err == MP_OKAY) && ((sp_256_iszero_4(p->x) == 0) || |
18050 | 0 | (sp_256_iszero_4(p->y) == 0))) { |
18051 | 0 | err = ECC_INF_E; |
18052 | 0 | } |
18053 | |
|
18054 | 0 | if (privm) { |
18055 | 0 | if (err == MP_OKAY) { |
18056 | | /* Base * private = point */ |
18057 | 0 | #ifdef HAVE_INTEL_AVX2 |
18058 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18059 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18060 | 0 | err = sp_256_ecc_mulmod_base_avx2_sm2_4(p, priv, 1, 1, heap); |
18061 | 0 | } |
18062 | 0 | else |
18063 | 0 | #endif |
18064 | 0 | err = sp_256_ecc_mulmod_base_sm2_4(p, priv, 1, 1, heap); |
18065 | 0 | } |
18066 | | /* Check result is public key */ |
18067 | 0 | if ((err == MP_OKAY) && |
18068 | 0 | ((sp_256_cmp_sm2_4(p->x, pub->x) != 0) || |
18069 | 0 | (sp_256_cmp_sm2_4(p->y, pub->y) != 0))) { |
18070 | 0 | err = ECC_PRIV_KEY_E; |
18071 | 0 | } |
18072 | 0 | } |
18073 | |
|
18074 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18075 | 0 | XFREE(pub, heap, DYNAMIC_TYPE_ECC); |
18076 | 0 | XFREE(priv, heap, DYNAMIC_TYPE_ECC); |
18077 | 0 | #endif |
18078 | |
|
18079 | 0 | return err; |
18080 | 0 | } |
18081 | | #endif |
18082 | | #ifdef WOLFSSL_PUBLIC_ECC_ADD_DBL |
18083 | | /* Add two projective EC points together. |
18084 | | * (pX, pY, pZ) + (qX, qY, qZ) = (rX, rY, rZ) |
18085 | | * |
18086 | | * pX First EC point's X ordinate. |
18087 | | * pY First EC point's Y ordinate. |
18088 | | * pZ First EC point's Z ordinate. |
18089 | | * qX Second EC point's X ordinate. |
18090 | | * qY Second EC point's Y ordinate. |
18091 | | * qZ Second EC point's Z ordinate. |
18092 | | * rX Resultant EC point's X ordinate. |
18093 | | * rY Resultant EC point's Y ordinate. |
18094 | | * rZ Resultant EC point's Z ordinate. |
18095 | | * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise. |
18096 | | */ |
18097 | | int sp_ecc_proj_add_point_sm2_256(mp_int* pX, mp_int* pY, mp_int* pZ, |
18098 | | mp_int* qX, mp_int* qY, mp_int* qZ, |
18099 | | mp_int* rX, mp_int* rY, mp_int* rZ) |
18100 | 0 | { |
18101 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18102 | 0 | sp_digit* tmp = NULL; |
18103 | 0 | sp_point_256* p = NULL; |
18104 | | #else |
18105 | | sp_digit tmp[2 * 4 * 6]; |
18106 | | sp_point_256 p[2]; |
18107 | | #endif |
18108 | 0 | sp_point_256* q = NULL; |
18109 | 0 | int err = MP_OKAY; |
18110 | 0 | #ifdef HAVE_INTEL_AVX2 |
18111 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
18112 | 0 | #endif |
18113 | |
|
18114 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18115 | 0 | if (err == MP_OKAY) { |
18116 | 0 | p = (sp_point_256*)XMALLOC(sizeof(sp_point_256) * 2, NULL, |
18117 | 0 | DYNAMIC_TYPE_ECC); |
18118 | 0 | if (p == NULL) |
18119 | 0 | err = MEMORY_E; |
18120 | 0 | } |
18121 | 0 | if (err == MP_OKAY) { |
18122 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 6, NULL, |
18123 | 0 | DYNAMIC_TYPE_ECC); |
18124 | 0 | if (tmp == NULL) { |
18125 | 0 | err = MEMORY_E; |
18126 | 0 | } |
18127 | 0 | } |
18128 | 0 | #endif |
18129 | |
|
18130 | 0 | if (err == MP_OKAY) { |
18131 | 0 | q = p + 1; |
18132 | |
|
18133 | 0 | sp_256_from_mp(p->x, 4, pX); |
18134 | 0 | sp_256_from_mp(p->y, 4, pY); |
18135 | 0 | sp_256_from_mp(p->z, 4, pZ); |
18136 | 0 | sp_256_from_mp(q->x, 4, qX); |
18137 | 0 | sp_256_from_mp(q->y, 4, qY); |
18138 | 0 | sp_256_from_mp(q->z, 4, qZ); |
18139 | 0 | p->infinity = sp_256_iszero_4(p->x) & |
18140 | 0 | sp_256_iszero_4(p->y); |
18141 | 0 | q->infinity = sp_256_iszero_4(q->x) & |
18142 | 0 | sp_256_iszero_4(q->y); |
18143 | |
|
18144 | 0 | #ifdef HAVE_INTEL_AVX2 |
18145 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18146 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18147 | 0 | sp_256_proj_point_add_avx2_sm2_4(p, p, q, tmp); |
18148 | 0 | } |
18149 | 0 | else |
18150 | 0 | #endif |
18151 | 0 | sp_256_proj_point_add_sm2_4(p, p, q, tmp); |
18152 | 0 | } |
18153 | |
|
18154 | 0 | if (err == MP_OKAY) { |
18155 | 0 | err = sp_256_to_mp(p->x, rX); |
18156 | 0 | } |
18157 | 0 | if (err == MP_OKAY) { |
18158 | 0 | err = sp_256_to_mp(p->y, rY); |
18159 | 0 | } |
18160 | 0 | if (err == MP_OKAY) { |
18161 | 0 | err = sp_256_to_mp(p->z, rZ); |
18162 | 0 | } |
18163 | |
|
18164 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18165 | 0 | XFREE(tmp, NULL, DYNAMIC_TYPE_ECC); |
18166 | 0 | XFREE(p, NULL, DYNAMIC_TYPE_ECC); |
18167 | 0 | #endif |
18168 | |
|
18169 | 0 | return err; |
18170 | 0 | } |
18171 | | |
18172 | | /* Double a projective EC point. |
18173 | | * (pX, pY, pZ) + (pX, pY, pZ) = (rX, rY, rZ) |
18174 | | * |
18175 | | * pX EC point's X ordinate. |
18176 | | * pY EC point's Y ordinate. |
18177 | | * pZ EC point's Z ordinate. |
18178 | | * rX Resultant EC point's X ordinate. |
18179 | | * rY Resultant EC point's Y ordinate. |
18180 | | * rZ Resultant EC point's Z ordinate. |
18181 | | * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise. |
18182 | | */ |
18183 | | int sp_ecc_proj_dbl_point_sm2_256(mp_int* pX, mp_int* pY, mp_int* pZ, |
18184 | | mp_int* rX, mp_int* rY, mp_int* rZ) |
18185 | 0 | { |
18186 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18187 | 0 | sp_digit* tmp = NULL; |
18188 | 0 | sp_point_256* p = NULL; |
18189 | | #else |
18190 | | sp_digit tmp[2 * 4 * 2]; |
18191 | | sp_point_256 p[1]; |
18192 | | #endif |
18193 | 0 | int err = MP_OKAY; |
18194 | 0 | #ifdef HAVE_INTEL_AVX2 |
18195 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
18196 | 0 | #endif |
18197 | |
|
18198 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18199 | 0 | if (err == MP_OKAY) { |
18200 | 0 | p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL, |
18201 | 0 | DYNAMIC_TYPE_ECC); |
18202 | 0 | if (p == NULL) |
18203 | 0 | err = MEMORY_E; |
18204 | 0 | } |
18205 | 0 | if (err == MP_OKAY) { |
18206 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 2, NULL, |
18207 | 0 | DYNAMIC_TYPE_ECC); |
18208 | 0 | if (tmp == NULL) |
18209 | 0 | err = MEMORY_E; |
18210 | 0 | } |
18211 | 0 | #endif |
18212 | |
|
18213 | 0 | if (err == MP_OKAY) { |
18214 | 0 | sp_256_from_mp(p->x, 4, pX); |
18215 | 0 | sp_256_from_mp(p->y, 4, pY); |
18216 | 0 | sp_256_from_mp(p->z, 4, pZ); |
18217 | 0 | p->infinity = sp_256_iszero_4(p->x) & |
18218 | 0 | sp_256_iszero_4(p->y); |
18219 | |
|
18220 | 0 | #ifdef HAVE_INTEL_AVX2 |
18221 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18222 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18223 | 0 | sp_256_proj_point_dbl_avx2_sm2_4(p, p, tmp); |
18224 | 0 | } |
18225 | 0 | else |
18226 | 0 | #endif |
18227 | 0 | sp_256_proj_point_dbl_sm2_4(p, p, tmp); |
18228 | 0 | } |
18229 | |
|
18230 | 0 | if (err == MP_OKAY) { |
18231 | 0 | err = sp_256_to_mp(p->x, rX); |
18232 | 0 | } |
18233 | 0 | if (err == MP_OKAY) { |
18234 | 0 | err = sp_256_to_mp(p->y, rY); |
18235 | 0 | } |
18236 | 0 | if (err == MP_OKAY) { |
18237 | 0 | err = sp_256_to_mp(p->z, rZ); |
18238 | 0 | } |
18239 | |
|
18240 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18241 | 0 | XFREE(tmp, NULL, DYNAMIC_TYPE_ECC); |
18242 | 0 | XFREE(p, NULL, DYNAMIC_TYPE_ECC); |
18243 | 0 | #endif |
18244 | |
|
18245 | 0 | return err; |
18246 | 0 | } |
18247 | | |
18248 | | /* Map a projective EC point to affine in place. |
18249 | | * pZ will be one. |
18250 | | * |
18251 | | * pX EC point's X ordinate. |
18252 | | * pY EC point's Y ordinate. |
18253 | | * pZ EC point's Z ordinate. |
18254 | | * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise. |
18255 | | */ |
18256 | | int sp_ecc_map_sm2_256(mp_int* pX, mp_int* pY, mp_int* pZ) |
18257 | 0 | { |
18258 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18259 | 0 | sp_digit* tmp = NULL; |
18260 | 0 | sp_point_256* p = NULL; |
18261 | | #else |
18262 | | sp_digit tmp[2 * 4 * 5]; |
18263 | | sp_point_256 p[1]; |
18264 | | #endif |
18265 | 0 | int err = MP_OKAY; |
18266 | |
|
18267 | 0 | #ifdef HAVE_INTEL_AVX2 |
18268 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
18269 | 0 | #endif |
18270 | |
|
18271 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18272 | 0 | if (err == MP_OKAY) { |
18273 | 0 | p = (sp_point_256*)XMALLOC(sizeof(sp_point_256), NULL, |
18274 | 0 | DYNAMIC_TYPE_ECC); |
18275 | 0 | if (p == NULL) |
18276 | 0 | err = MEMORY_E; |
18277 | 0 | } |
18278 | 0 | if (err == MP_OKAY) { |
18279 | 0 | tmp = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4 * 5, NULL, |
18280 | 0 | DYNAMIC_TYPE_ECC); |
18281 | 0 | if (tmp == NULL) |
18282 | 0 | err = MEMORY_E; |
18283 | 0 | } |
18284 | 0 | #endif |
18285 | 0 | if (err == MP_OKAY) { |
18286 | 0 | sp_256_from_mp(p->x, 4, pX); |
18287 | 0 | sp_256_from_mp(p->y, 4, pY); |
18288 | 0 | sp_256_from_mp(p->z, 4, pZ); |
18289 | 0 | p->infinity = sp_256_iszero_4(p->x) & |
18290 | 0 | sp_256_iszero_4(p->y); |
18291 | |
|
18292 | 0 | #ifdef HAVE_INTEL_AVX2 |
18293 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18294 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18295 | 0 | sp_256_map_avx2_sm2_4(p, p, tmp); |
18296 | 0 | } |
18297 | 0 | else |
18298 | 0 | #endif |
18299 | 0 | sp_256_map_sm2_4(p, p, tmp); |
18300 | 0 | } |
18301 | |
|
18302 | 0 | if (err == MP_OKAY) { |
18303 | 0 | err = sp_256_to_mp(p->x, pX); |
18304 | 0 | } |
18305 | 0 | if (err == MP_OKAY) { |
18306 | 0 | err = sp_256_to_mp(p->y, pY); |
18307 | 0 | } |
18308 | 0 | if (err == MP_OKAY) { |
18309 | 0 | err = sp_256_to_mp(p->z, pZ); |
18310 | 0 | } |
18311 | |
|
18312 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18313 | 0 | XFREE(tmp, NULL, DYNAMIC_TYPE_ECC); |
18314 | 0 | XFREE(p, NULL, DYNAMIC_TYPE_ECC); |
18315 | 0 | #endif |
18316 | |
|
18317 | 0 | return err; |
18318 | 0 | } |
18319 | | #endif /* WOLFSSL_PUBLIC_ECC_ADD_DBL */ |
18320 | | #ifdef HAVE_COMP_KEY |
18321 | | /* Square root power for the P256 curve. */ |
18322 | | static const word64 p256_sm2_sqrt_power[4] = { |
18323 | | 0x4000000000000000,0xffffffffc0000000,0xffffffffffffffff, |
18324 | | 0x3fffffffbfffffff |
18325 | | }; |
18326 | | |
18327 | | /* Find the square root of a number mod the prime of the curve. |
18328 | | * |
18329 | | * y The number to operate on and the result. |
18330 | | * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise. |
18331 | | */ |
18332 | | static int sp_256_mont_sqrt_sm2_4(sp_digit* y) |
18333 | 0 | { |
18334 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18335 | 0 | sp_digit* t = NULL; |
18336 | | #else |
18337 | | sp_digit t[2 * 4]; |
18338 | | #endif |
18339 | 0 | int err = MP_OKAY; |
18340 | 0 | #ifdef HAVE_INTEL_AVX2 |
18341 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
18342 | 0 | #endif |
18343 | |
|
18344 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18345 | 0 | t = (sp_digit*)XMALLOC(sizeof(sp_digit) * 2 * 4, NULL, DYNAMIC_TYPE_ECC); |
18346 | 0 | if (t == NULL) |
18347 | 0 | err = MEMORY_E; |
18348 | 0 | #endif |
18349 | |
|
18350 | 0 | if (err == MP_OKAY) { |
18351 | |
|
18352 | 0 | #ifdef HAVE_INTEL_AVX2 |
18353 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags)) { |
18354 | 0 | int i; |
18355 | |
|
18356 | 0 | XMEMCPY(t, y, sizeof(sp_digit) * 4); |
18357 | 0 | for (i=252; i>=0; i--) { |
18358 | 0 | sp_256_mont_sqr_avx2_sm2_4(t, t, p256_sm2_mod, p256_sm2_mp_mod); |
18359 | 0 | if (p256_sm2_sqrt_power[i / 64] & ((sp_digit)1 << (i % 64))) |
18360 | 0 | sp_256_mont_mul_avx2_sm2_4(t, t, y, p256_sm2_mod, p256_sm2_mp_mod); |
18361 | 0 | } |
18362 | 0 | XMEMCPY(y, t, sizeof(sp_digit) * 4); |
18363 | 0 | } |
18364 | 0 | else |
18365 | 0 | #endif |
18366 | 0 | { |
18367 | 0 | int i; |
18368 | |
|
18369 | 0 | XMEMCPY(t, y, sizeof(sp_digit) * 4); |
18370 | 0 | for (i=252; i>=0; i--) { |
18371 | 0 | sp_256_mont_sqr_sm2_4(t, t, p256_sm2_mod, p256_sm2_mp_mod); |
18372 | 0 | if (p256_sm2_sqrt_power[i / 64] & ((sp_digit)1 << (i % 64))) |
18373 | 0 | sp_256_mont_mul_sm2_4(t, t, y, p256_sm2_mod, p256_sm2_mp_mod); |
18374 | 0 | } |
18375 | 0 | XMEMCPY(y, t, sizeof(sp_digit) * 4); |
18376 | 0 | } |
18377 | 0 | } |
18378 | |
|
18379 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18380 | 0 | if (t != NULL) |
18381 | 0 | XFREE(t, NULL, DYNAMIC_TYPE_ECC); |
18382 | 0 | #endif |
18383 | |
|
18384 | 0 | return err; |
18385 | 0 | } |
18386 | | |
18387 | | |
18388 | | /* Uncompress the point given the X ordinate. |
18389 | | * |
18390 | | * xm X ordinate. |
18391 | | * odd Whether the Y ordinate is odd. |
18392 | | * ym Calculated Y ordinate. |
18393 | | * returns MEMORY_E if dynamic memory allocation fails and MP_OKAY otherwise. |
18394 | | */ |
18395 | | int sp_ecc_uncompress_sm2_256(mp_int* xm, int odd, mp_int* ym) |
18396 | 0 | { |
18397 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18398 | 0 | sp_digit* x = NULL; |
18399 | | #else |
18400 | | sp_digit x[4 * 4]; |
18401 | | #endif |
18402 | 0 | sp_digit* y = NULL; |
18403 | 0 | int err = MP_OKAY; |
18404 | 0 | #ifdef HAVE_INTEL_AVX2 |
18405 | 0 | word32 cpuid_flags = cpuid_get_flags(); |
18406 | 0 | #endif |
18407 | |
|
18408 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18409 | 0 | x = (sp_digit*)XMALLOC(sizeof(sp_digit) * 4 * 4, NULL, DYNAMIC_TYPE_ECC); |
18410 | 0 | if (x == NULL) |
18411 | 0 | err = MEMORY_E; |
18412 | 0 | #endif |
18413 | |
|
18414 | 0 | if (err == MP_OKAY) { |
18415 | 0 | y = x + 2 * 4; |
18416 | |
|
18417 | 0 | sp_256_from_mp(x, 4, xm); |
18418 | 0 | err = sp_256_mod_mul_norm_sm2_4(x, x, p256_sm2_mod); |
18419 | 0 | } |
18420 | 0 | if (err == MP_OKAY) { |
18421 | | /* y = x^3 */ |
18422 | 0 | #ifdef HAVE_INTEL_AVX2 |
18423 | 0 | if (IS_INTEL_BMI2(cpuid_flags) && IS_INTEL_ADX(cpuid_flags) && |
18424 | 0 | IS_INTEL_AVX2(cpuid_flags)) { |
18425 | 0 | sp_256_mont_sqr_avx2_sm2_4(y, x, p256_sm2_mod, p256_sm2_mp_mod); |
18426 | 0 | sp_256_mont_mul_avx2_sm2_4(y, y, x, p256_sm2_mod, p256_sm2_mp_mod); |
18427 | 0 | } |
18428 | 0 | else |
18429 | 0 | #endif |
18430 | 0 | { |
18431 | 0 | sp_256_mont_sqr_sm2_4(y, x, p256_sm2_mod, p256_sm2_mp_mod); |
18432 | 0 | sp_256_mont_mul_sm2_4(y, y, x, p256_sm2_mod, p256_sm2_mp_mod); |
18433 | 0 | } |
18434 | | /* y = x^3 - 3x */ |
18435 | 0 | sp_256_mont_sub_sm2_4(y, y, x, p256_sm2_mod); |
18436 | 0 | sp_256_mont_sub_sm2_4(y, y, x, p256_sm2_mod); |
18437 | 0 | sp_256_mont_sub_sm2_4(y, y, x, p256_sm2_mod); |
18438 | | /* y = x^3 - 3x + b */ |
18439 | 0 | err = sp_256_mod_mul_norm_sm2_4(x, p256_sm2_b, p256_sm2_mod); |
18440 | 0 | } |
18441 | 0 | if (err == MP_OKAY) { |
18442 | 0 | sp_256_mont_add_sm2_4(y, y, x, p256_sm2_mod); |
18443 | | /* y = sqrt(x^3 - 3x + b) */ |
18444 | 0 | err = sp_256_mont_sqrt_sm2_4(y); |
18445 | 0 | } |
18446 | 0 | if (err == MP_OKAY) { |
18447 | 0 | XMEMSET(y + 4, 0, 4U * sizeof(sp_digit)); |
18448 | 0 | sp_256_mont_reduce_sm2_4(y, p256_sm2_mod, p256_sm2_mp_mod); |
18449 | 0 | if ((((word32)y[0] ^ (word32)odd) & 1U) != 0U) { |
18450 | 0 | sp_256_mont_sub_sm2_4(y, p256_sm2_mod, y, p256_sm2_mod); |
18451 | 0 | } |
18452 | |
|
18453 | 0 | err = sp_256_to_mp(y, ym); |
18454 | 0 | } |
18455 | |
|
18456 | 0 | #ifdef WOLFSSL_SP_SMALL_STACK |
18457 | 0 | XFREE(x, NULL, DYNAMIC_TYPE_ECC); |
18458 | 0 | #endif |
18459 | |
|
18460 | 0 | return err; |
18461 | 0 | } |
18462 | | #endif |
18463 | | #endif /* WOLFSSL_SP_SM2 */ |
18464 | | #endif /* WOLFSSL_HAVE_SP_ECC */ |
18465 | | #endif /* WOLFSSL_SP_X86_64_ASM */ |
18466 | | #endif /* WOLFSSL_HAVE_SP_RSA | WOLFSSL_HAVE_SP_DH | WOLFSSL_HAVE_SP_ECC */ |